MjAwOS0wOS0yMyAxNDoxMyAgemFjaC5tdWxsZW4KCgkqIFRlc3RzL0NNYWtlTGlzdHMudHh0OiBVbmNvbW1lbnRlZCB0aGUgZGVwZW5kZW5jeSBvZgoJICBDVGVzdFRlc3ROb0V4ZSBvbiBDVGVzdFRlc3ROb0J1aWxkIHNvIHRoYXQgaXQgd2lsbCB3b3JrIGluCgkgIHBhcmFsbGVsIG5vdy4KCjIwMDktMDktMjMgMTQ6MTAgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogQWRkIFhjb2RlIFNZTVJPT1Qgc2V0dGluZyBmb3IKCSAgY3VzdG9tIHRhcmdldHMKCgkgIFhjb2RlIDEuNSB3cml0ZXMgaGVscGVyIHNjcmlwdHMgYXQgdGhlIHByb2plY3REaXJQYXRoIGxvY2F0aW9uCgkgIGZvciB0YXJnZXRzIHRoYXQgZG8gbm90IHNldCBTWU1ST09ULglXZSBub3cgYWRkIFNZTVJPT1QgdG8KCSAgY3VzdG9tIHRhcmdldHMgc28gdGhhdCBhbGwgdGFyZ2V0cyBzZXQgaXQuICBUaGlzIHByZXZlbnRzIFhjb2RlCgkgIDEuNSBmcm9tIHRvdWNoaW5nIHRoZSBzb3VyY2UgZGlyZWN0b3J5IG5vdyB0aGF0IHdlIGFsd2F5cyBzZXQKCSAgcHJvamVjdERpclBhdGguCgoJICBTZWUgaXNzdWUgIzg0ODEuCgoyMDA5LTA5LTIzIDE0OjA3ICB6YWNoLm11bGxlbgoKCSogVGVzdHMvQ1Rlc3RUZXN0UGFyYWxsZWwvbG9ja0ZpbGUuYzogTWFrZSBwb3J0YWJsZSBjIGZvciBQYXJhbGxlbAoJICB0ZXN0CgoyMDA5LTA5LTIzIDE0OjAxICBhbGV4CgoJKiBTb3VyY2UvOiBjbURlcGVuZHMuY3h4LCBjbURlcGVuZHMuaCwgY21EZXBlbmRzQy5jeHgsCgkgIGNtRGVwZW5kc0MuaCwgY21EZXBlbmRzSmF2YS5jeHgsIGNtRGVwZW5kc0phdmEuaCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oOiBNYWpvciBvcHRpbWl6YXRpb24gb2YgQy9DKysKCSAgZGVwZW5kZW5jeSBzY2FubmluZy4KCgkgIE5vdyBvbmx5IHRoZSBkZXBlbmRlbmNpZXMgZm9yIHRoZSBmaWxlIHdoZXJlIHRoZSBkZXBlbmRlbmNpZXMKCSAgYWN0dWFsbHkgbWF5IGhhdmUgY2hhbmdlZCBhcmUgcmVzY2FubmVkLCBiZWZvcmUgdGhhdCB0aGlzIHdhcwoJICBkb25lIGZvciBhbGwgc291cmNlIGZpbGVzIGV2ZW4gaWYgb25seSBvbmUgc291cmNlIGZpbGUgaGFkCgkgIGNoYW5nZWQuICBUaGlzIHJlZHVjZXMgZS5nLiBvbiBteSBtYWNoaW5lIHRoZSB0aW1lIGZvciBzY2FubmluZwoJICB0aGUgZGVwZW5kZW5jaWVzIG9mIGtkZWxpYnMva2h0bWwvIHdoZW4gb25seSBvbmUgZmlsZQoJICAoa2h0bWxfZ2xvYmFsLmNwcCkgaGFzIGNoYW5nZWQgZnJvbSBhcm91bmQgNy41IHNlY29uZHMgdG8gMS4yCgkgIHNlY29uZHMuCgoJICBUaGUgdGVzdHMgc3VjY2VlZCwgaXQgZG9lcyB3aGF0IEkgZXhwZWN0ZWQgaXQgdG8gZG8gb24ga2RlbGlicywKCSAgYW5kIEJyYWQgYWxzbyByZXZpZXdlZCB0aGUgcGF0Y2gsIHNvIEkgdGhpbmsgaXQgc2hvdWxkIGJlIG9rLgoKCSAgQWxleAoKMjAwOS0wOS0yMyAxMzowOSAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nLzogQ01ha2VTZXR1cERpYWxvZy5jeHgsIFFDTWFrZUNhY2hlVmlldy5jeHgsCgkgIFFDTWFrZUNhY2hlVmlldy5oOiBmaXggY29tcGlsZSB3YXJuaW5ncwoKMjAwOS0wOS0yMyAxMjo0NiAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL1JlbGVhc2UvOiBtYWdyYXRoZWFfcmVsZWFzZS5jbWFrZSwgcmVsZWFzZV9jbWFrZS5jbWFrZToKCSAgSGFuZGxlIG9sZGVyIGN2cyBjbGllbnRzIHRoYXQgZG8gbm90IGFsbG93IGZvciB0aGUgcGFzc3dvcmQgdG8gYmUKCSAgaW4gdGhlIENWU1JPT1QuCgoyMDA5LTA5LTIzIDEyOjQ1ICBob2ZmbWFuCgoJKiBUZXN0cy9DTWFrZUxpc3RzLnR4dDogQWRkIG5pZ2h0bHkgYnVpbGRzIGZvciBsaW51eCB3aW5kb3dzIGFuZAoJICBtYWMuCgoyMDA5LTA5LTIzIDExOjM4ICB6YWNoLm11bGxlbgoKCSogVGVzdHMvOiBDTWFrZUxpc3RzLnR4dCwgQ1Rlc3RUZXN0UGFyYWxsZWwvQ01ha2VMaXN0cy50eHQsCgkgIENUZXN0VGVzdFBhcmFsbGVsL2xvY2tGaWxlLmMsIENUZXN0VGVzdFBhcmFsbGVsL2xvY2tGaWxlLmN4eDogU2V0CgkgIG5ldyBjdGVzdCB0ZXN0cyB0byBhbHdheXMgcnVuLCB3aGV0aGVyIENURVNUX1RFU1RfQ1RFU1QgaXMKCSAgZW5hYmxlZCBvciBub3QuICBDaGFuZ2VkIHBhcmFsbGVsIHRlc3QgdG8gYmUgcG9ydGFibGUuCgoyMDA5LTA5LTIzIDEwOjQ1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBGaXggS1dTeXMgU3lzdGVtVG9vbHMgYnVpbGQgb24KCSAgY3lnd2luIHdpdGggLW13aW4zMgoKCSAgQ29tbWl0ICJPcHRpbWl6ZSBLV1N5cyBTeXN0ZW1Ub29sczo6RmlsZUV4aXN0cyBvbiBXaW5kb3dzIgoJICBhY2NpZGVudGFsbHkgYWRkZWQgIiN1bmRlZiBfV0lOMzIiIHdoZW4gaW5jbHVkaW5nIDx3aW5kb3dzLmg+IG9uCgkgIGN5Z3dpbiwgd2hpY2ggYnJlYWtzIGJ1aWxkcyB1c2luZyB0aGUgLW13aW4zMiBmbGFnLiAgVGhpcyBjb21taXQKCSAgcmVtb3ZlcyB0aGF0IGxpbmUgYW5kIGZpeGVzIHRoZSByZWFsIGVycm9yIGl0IHdhcyBpbnRlbmRlZCB0bwoJICBhdm9pZC4KCjIwMDktMDktMjMgMDk6MDAgIHphY2gubXVsbGVuCgoJKiBUZXN0cy9DVGVzdFRlc3RQYXJhbGxlbC90ZXN0LmNtYWtlLmluOiBDVGVzdFRlc3RQYXJhbGxlbCBub3cKCSAgc3VibWl0cyB0byBwdWJsaWMgZGFzaGJvYXJkIGZvciBlYXNpZXIgZGVidWdnaW5nCgoyMDA5LTA5LTIzIDA4OjQ4ICBraW5nCgoJKiBTb3VyY2UvY21Eb2N1bWVudFZhcmlhYmxlcy5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuaCwKCSAgVGVzdHMvU3lzdGVtSW5mb3JtYXRpb24vU3lzdGVtSW5mb3JtYXRpb24uaW46IFRlYWNoIFhjb2RlCgkgIGdlbmVyYXRvciB0byBzZXQgWENPREVfVkVSU0lPTgoKCSAgV2Ugc2V0IHRoZSB2YXJpYWJsZSAnWENPREVfVkVSU0lPTicgaW4gdGhlIENNYWtlIGxhbmd1YWdlIHRvIHRoZQoJICBYY29kZSB2ZXJzaW9uIHN0cmluZyAoZS5nLiAiMy4xLjIiKS4JUGxhdGZvcm0gY29uZmlnIGZpbGVzIG1heQoJICB1c2UgaXQgbGF0ZXIuCgoyMDA5LTA5LTIzIDAxOjAxICBiaWdsZXIKCgkqIE1vZHVsZXMvRmluZENVREEuY21ha2U6IFVwZGF0ZWQgZm9ybWF0dGluZyBvZiBkb2N1bWVudGF0aW9uIHBsdXMKCSAgYSBsaXR0bGUgcmVvcmdhbml6YXRpb24uCgoyMDA5LTA5LTIzIDAwOjUwICBiaWdsZXIKCgkqIE1vZHVsZXMvRmluZENVREEvcnVuX252Y2MuY21ha2U6IEFkZGVkIGEgY29tbWFuZCB0byBtYWtlIHRoZQoJICBvdXRwdXQgZGlyZWN0b3J5LiAgVGhpcyBpcyB0byBmaXggdGhlIFhDb2RlIGJ1aWxkIHRoYXQgdXNlcyBhCgkgIGRpZmZlcmVudCBvdXRwdXQgZGlyZWN0b3J5IHRoYW4gb3RoZXIgc3lzdGVtcywgYW5kIHJhdGhlciB0aGFuCgkgIHRyeSB0byBtYXRjaCB0aGF0IHdlJ2xsIGp1c3QgbWFrZSBpdC4KCjIwMDktMDktMjMgMDA6MDEgIGt3cm9ib3QKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogS1dTeXMgTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA5LTIyIDE4OjQ0ICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IGFkZCBzdXBwb3J0IGZvciBmaW5kaW5nCgkgIHFjb2xsZWN0aW9uZ2VuZXJhdG9yIGV4ZWN1dGFibGUuICBmaXhlcyAjOTI0OC4KCjIwMDktMDktMjIgMTg6MjkgIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy86IENNYWtlU2V0dXAuY3h4LCBDTWFrZVNldHVwRGlhbG9nLmN4eDogZml4IGlzc3VlCgkgIDkzNDYuICBhZGQgYmluYXJ5IGRpcmVjdG9yeSB0byB3aW5kb3cgdGl0bGUgdG8gbWFrZSBpdCBlYXNpZXIgdG8KCSAgZGVhbCB3aXRoIG11bHRpcGxlIGNtYWtlLWd1aSBpbnN0YW5jZXMKCjIwMDktMDktMjIgMTc6MDggIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlL2Rhc2gyd2luNjRfcmVsZWFzZS5jbWFrZTogbmV3IHdpbmRvd3MgYnVpbGQKCSAgbWFjaGluZSBmb3IgY21ha2UKCjIwMDktMDktMjIgMTc6MDcgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlL3ZvZ29uX2N5Z3dpbi5jbWFrZTogZGlzYWJsZSBzdm4KCjIwMDktMDktMjIgMTY6MjggIGNsaW50b24KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogQWRkIHN1cHBvcnQgZm9yIFF0IGNvbmZpZ3VyZWQgd2l0aCBjdXN0b20KCSAgcXRsaWJpbmZpeCAoc2VlIGlzc3VlIDk1NzEpLglBbHNvIGZpeCBDTVAgMTUgd2FybmluZ3MuCgoyMDA5LTA5LTIyIDE2OjE4ICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5oOgoJICBGaXggWGNvZGUgcHJvamVjdCByZWZlcmVuY2VzIHRvIHRoZSBzb3VyY2UgdHJlZQoKCSAgWGNvZGUgcHJvamVjdCBzb3VyY2UgZmlsZSByZWZlcmVuY2VzIG5lZWQgdG8gYWx3YXlzIGJlIHJlbGF0aXZlCgkgIHRvIHRoZSB0b3Agb2YgdGhlIHNvdXJjZSB0cmVlIGluIG9yZGVyIGZvciBTQ00gYW5kIGRlYnVnIHN5bWJvbHMKCSAgdG8gd29yayByaWdodC4gIFdlIG11c3QgZXZlbiBhbGxvdyB0aGUgcmVsYXRpdmUgcGF0aHMgdG8gY3Jvc3MKCSAgb3V0c2lkZSBvZiB0aGUgdG9wIHNvdXJjZSBvciBidWlsZCBkaXJlY3Rvcmllcy4KCgkgIEZvciBzdWJkaXJlY3RvcnkgcHJvamVjdCgpIGNvbW1hbmQgWGNvZGUgcHJvamVjdHMgd2UgdXNlIHRoZQoJICBzb3VyY2UgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHByb2plY3QoKSBjb21tYW5kIGFzIHRoZSB0b3AuCgkgIFJlbGF0aXZlIHBhdGhzIGFyZSBnZW5lcmF0ZWQgYWNjb3JkaW5nbHkgZm9yIGVhY2ggc3VicHJvamVjdC4KCgkgIFNlZSBpc3N1ZSAjODQ4MS4KCjIwMDktMDktMjIgMTY6MTYgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBjbUxvY2FsR2VuZXJhdG9yLmg6IE9wdGlvbmFsbHkKCSAgZm9yY2UgY29udmVyc2lvbiB0byByZWxhdGl2ZSBwYXRoCgoJICBJbiBjbUxvY2FsR2VuZXJhdG9yOjpDb252ZXJ0VG9SZWxhdGl2ZVBhdGggd2Ugbm9ybWFsbHkgY29udmVydCB0bwoJICByZWxhdGl2ZSBwYXRoIG9ubHkgaWYgdGhlIGxvY2FsIGFuZCByZW1vdGUgcGF0aHMgYm90aCBsaWUgaW5zaWRlCgkgIHRoZSBzb3VyY2UgdHJlZSBvciBib3RoIGxpZSBpbnNpZGUgdGhlIGJ1aWxkIHRyZWUuICBUaGlzIGNvbW1pdAoJICBhZGRzIGFuIG9wdGlvbmFsICdmb3JjZScgYXJndW1lbnQgdG8gYWxsb3cgY29udmVyc2lvbiBldmVuIHdoZW4KCSAgdGhpcyBydWxlIGlzIHZpb2xhdGVkLgoKMjAwOS0wOS0yMiAxNjoxMiAgaG9mZm1hbgoKCSogYm9vdHN0cmFwOiBNYWtlIHN1cmUgS1dTWVNfRE9fTk9UX0NMRUFOX1BVVEVOViBpcyBkZWZpbmVkIGF0CgkgIGJvb3RzdHJhcCB0aW1lIGZvciBjbWFrZSBpbiB0aGUgYm9vdHN0cmFwIHNjcmlwdC4KCjIwMDktMDktMjIgMTY6MDIgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDb21waWxlckFCSS5jbWFrZTogU2tpcCBpbXBsaWNpdCBsaW5rIGluZm8KCSAgZm9yIG11bHRpcGxlIE9TIFggYXJjaHMKCgkgIEltcGxpY2l0IGxpbmsgaW5mb3JtYXRpb24gY29udGFpbnMgYXJjaGl0ZWN0dXJlLXNwZWNpZmljCgkgIGxpYnJhcmllcyBhbmQgZGlyZWN0b3JpZXMuICBUaGUgbGluayBpbmZvcm1hdGlvbiBjYW5ub3QgYmUKCSAgZXhwbGljaXRseSBzcGVjaWZpZWQgc2FmZWx5IHdoZW4gQ01BS0VfT1NYX0FSQ0hJVEVDVFVSRVMgY29udGFpbnMKCSAgbW9yZSB0aGFuIG9uZSBhcmNoaXRlY3R1cmUuCgoJICBBcyBhIHJlc3VsdCwgd2UgY3VycmVudGx5IGNhbm5vdCBzdXBwb3J0IG1peGVkLWxhbmd1YWdlCgkgIEMrKy9Gb3J0cmFuIHRhcmdldHMgYW5kIE9TIFggdW5pdmVyc2FsIGJpbmFyaWVzIHNpbXVsdGFuZW91c2x5LgoJICBJbiBvcmRlciB0byBhdm9pZCBjb25mbGljdHMgZm9yIHNpbXBsZSBDL0MrKyBjYXNlcywgd2Ugbm93IHNpbXBseQoJICBza2lwIGRldGVjdGlvbiBvZiBpbXBsaWNpdCBsaW5rIGluZm9ybWF0aW9uIGluIHRoaXMgY2FzZS4KCjIwMDktMDktMjIgMTU6NTggIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy86IENNYWtlTGlzdHMudHh0LCBDb25maWd1cmUuaHh4LmluOiBDYW4gbm90IHVzZQoJICBjbWFrZWRlZmluZSBpbiBrd3N5cyBiZWNhdXNlIGJvb3RzdHJhcCBvZiBjbWFrZSBkb2VzIG5vdCBzdXBwb3J0CgkgIGl0LgoKMjAwOS0wOS0yMiAxNDo1NiAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzLzogQ29uZmlndXJlLmh4eC5pbiwgU3lzdGVtVG9vbHMuY3h4OiBQdXQgYSBmbGFnIGluCgkgIHRoYXQgd2lsbCBzdG9wIHN5c3RlbSB0b29scyBmcm9tIGRlbGV0aW5nIHN5c3RlbSBlbnZpcm9ubWVudAoJICBtZW1vcnkgb24gZXhpdCwgYXMgaXQgY2FuIGNhdXNlIGdjb3YgdG8gY3Jhc2ggdGhlIHByb2dyYW1zLgoKMjAwOS0wOS0yMiAxNDo0MCAgYWxleAoKCSogU291cmNlLzogY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBSZXNjYW4gZGVwZW5kZW5jaWVzIGFsc28gaWYKCSAgQ01ha2VEaXJlY3RvcnlJbmZvcm1hdGlvbi5jbWFrZSBoYXMgY2hhbmdlZC4KCgkgIElmIENNYWtlRGlyZWN0b3J5SW5mb3JtYXRpb24uY21ha2UgaXMgbmV3ZXIgdGhhbiBkZXBlbmQuaW50ZXJuYWwKCSAgdGhlIGluY2x1ZGUgZGlyZWN0b3JpZXMgbWF5IGhhdmUgY2hhbmdlZCwgc28gZGVwZW5kZW5jaWVzIG5lZWQgdG8KCSAgYmUgc2Nhbm5lZCBhZ2Fpbi4gIE9rIGJ5IEJyYWQuCgoJICBBbGV4CgoyMDA5LTA5LTIyIDEzOjAyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBTeXN0ZW1Ub29scy5jeHgsIFN5c3RlbVRvb2xzLmh4eC5pbjogT3B0aW1pemUKCSAgS1dTeXMgU3lzdGVtVG9vbHM6OkZpbGVFeGlzdHMgb24gV2luZG93cwoKCSAgV2Ugb3B0aW1pemUgdGhpcyBtZXRob2QgYnkgdXNpbmcgdGhlIEdldEZpbGVBdHRyaWJ1dGVzRXhBIG5hdGl2ZQoJICBXaW5kb3dzIEFQSSB0byBjaGVjayBmb3IgZmlsZSBleGlzdGVuY2Ugd2hlbiBwb3NzaWJsZS4gIEZvciByZWFsCgkgIFdpbmRvd3MgYnVpbGRzIHdlIGFsd2F5cyB1c2UgaXQuICBGb3IgQ3lnd2luIHdlIHVzZQoJICBjeWd3aW5fY29udl90b193aW4zMl9wYXRoIHRvIGdldCBhIG5hdGl2ZSBXaW5kb3dzIHBhdGggaWYKCSAgcG9zc2libGUgYW5kIG90aGVyd2lzZSBmYWxsIGJhY2sgdG8gJ2FjY2VzcycuCgoJICBDeWd3aW4tdG8tV2luZG93cyBwYXRoIGNvbnZlcnNpb24gYW5kIGNhY2hlIGJ5IFdvamNpZWNoIE1pZ2RhLgoJICBTZWUgaXNzdWUgIzg4MjYuCgoyMDA5LTA5LTIyIDEyOjA1ICB6YWNoLm11bGxlbgoKCSogVGVzdHMvOiBDTWFrZUxpc3RzLnR4dCwgQ1Rlc3RUZXN0UGFyYWxsZWwvQ01ha2VMaXN0cy50eHQsCgkgIENUZXN0VGVzdFBhcmFsbGVsL0NUZXN0Q29uZmlnLmNtYWtlLAoJICBDVGVzdFRlc3RQYXJhbGxlbC9sb2NrRmlsZS5jeHgsIENUZXN0VGVzdFBhcmFsbGVsL3Rlc3QuY21ha2UuaW46CgkgIEFkZGVkIHRlc3RzIGZvciBjdGVzdCBwYXJhbGxlbCBvcHRpb25zIChQQVJBTExFTF9MRVZFTCwKCSAgUFJPQ0VTU09SUywgUlVOX1NFUklBTCkKCjIwMDktMDktMjIgMDA6MDEgIGt3cm9ib3QKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogS1dTeXMgTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA5LTIxIDIzOjQyICBsb3dtYW4KCgkqIE1vZHVsZXMvRmluZEJvb3N0LmNtYWtlOiBNYWtlIEJvb3N0IGVhc2llciB0byBmaW5kCgoyMDA5LTA5LTIxIDIzOjA3ICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEZpeCBpc3N1ZSA5NTgxLiAgUXQgNC41KyBuZWVkcwoJICBnb2JqZWN0LTIuMC4KCjIwMDktMDktMjEgMjI6MzggIGxvd21hbgoKCSogTW9kdWxlcy86IEZpbmRDeHhUZXN0LmNtYWtlLCBGaW5kR1RLMi5jbWFrZSwKCSAgRmluZE9wZW5TY2VuZUdyYXBoLmNtYWtlLCBGaW5kUHJvdG9idWYuY21ha2U6IEFkZCBhIGJsYW5rIGxpbmUgdG8KCSAgbXkgY29udHJpYnV0ZWQgZmluZCBtb2R1bGVzIHRvIHByZXZlbnQgY29weXJpZ2h0IGluZm8gZnJvbQoJICBzaG93aW5nIHVwIGluIENNYWtlIGRvY3MKCjIwMDktMDktMjEgMjI6MjEgIGxvd21hbgoKCSogTW9kdWxlcy9GaW5kQm9vc3QuY21ha2U6IEZpeCBCdWcgIzkxNTg6IEZpbmRCb29zdC5jbWFrZSBkb2VzIG5vdAoJICB3b3JrIHByb3Blcmx5IHdpdGggbm1ha2UgYW5kIGljbAoKMjAwOS0wOS0yMSAxNzoyMiAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL1JlbGVhc2UvcmVsZWFzZV9jbWFrZS5zaC5pbjogVXNlIGN0ZXN0IC1qIHRvIHNwZWVkIHVwCgkgIHRlc3RzIGZvciByZWxlYXNlIGJ1aWxkcy4KCjIwMDktMDktMjEgMTc6MTkgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlL3JlbGVhc2VfY21ha2UuY21ha2U6IERvIG5vdCByZXF1aXJlIGEgY3ZzIGxvZ2luCgkgIGZvciBjaGVja291dC4KCjIwMDktMDktMjEgMTU6MjkgIHphY2gubXVsbGVuCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJhdGNoVGVzdEhhbmRsZXIuY3h4OiBNb3JlIFNMVVJNCgkgIGV4cGVyaW1lbnRhdGlvbiAoY3Rlc3QgYmF0Y2ggbW9kZSkKCjIwMDktMDktMjEgMTU6MjYgIGhvZmZtYW4KCgkqIFRlc3RzL0NNYWtlTGlzdHMudHh0OiBGb3IgdGhlIGNvbXBsZXggdGVzdHMgc2luY2UgdGhleSBsaW5rIHRvCgkgIHRoZSBDTWFrZSBsaWJyYXJ5IG1ha2Ugc3VyZSB0aGF0IHRoZXkgYXJlIGJ1aWx0IHdpdGggdGhlIHR5cGUgb2YKCSAgYnVpbGQuCgoyMDA5LTA5LTIxIDE0OjU4ICB6YWNoLm11bGxlbgoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RCYXRjaFRlc3RIYW5kbGVyLmN4eDogRml4ZWQgYSBzbHVybSBiYXRjaAoJICBhcmd1bWVudCBpZGVudGlmaWVyLgoKMjAwOS0wOS0yMSAxNDoyMSAgemFjaC5tdWxsZW4KCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RCYXRjaFRlc3RIYW5kbGVyLmN4eCwKCSAgY21DVGVzdEJhdGNoVGVzdEhhbmRsZXIuaDogTmVlZCB0byBxdW90ZSBhcmdzIHdoZW4gZ2VuZXJhdGluZwoJICBiYXRjaCBzY3JpcHRzIGZyb20gY3Rlc3QKCjIwMDktMDktMjEgMTM6NDAgIHphY2gubXVsbGVuCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHgsIFRlc3RzL0NNYWtlTGlzdHMudHh0OgoJICBSZS1lbmFibGVkIGZhaWxpbmcgdGVzdHM7IGZpeGVkIGN0ZXN0X2J1aWxkIG91dHB1dCB0byBiZQoJICBjb25zaXN0ZW50IGluIHRoZSBlcnJvciBjb25kaXRpb24gYWNyb3NzIGRpZmZlcmVudCBtYWtlIHByb2dyYW1zCgkgIHNvIHRoYXQgdGhlc2UgdGVzdHMgd291bGQgcGFzcy4KCjIwMDktMDktMjEgMTM6MTggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogRml4IEJ1ZyAjODMzMiwgYWRkIHN1cHBvcnQgZm9yCgkgIC5wY2ggZmlsZXMgZm9yIFhjb2RlLgoKMjAwOS0wOS0yMSAxMzoxNSAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBGaXggQnVnICM4OTI4LCBhZGQgc3VwcG9ydCBmb3IKCSAgLnhpYiBmaWxlcyBmb3IgWGNvZGUuCgoyMDA5LTA5LTIxIDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IEtXU3lzIE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wOS0yMCAyMzo1NSAgbG93bWFuCgoJKiBNb2R1bGVzL0ZpbmRQcm90b2J1Zi5jbWFrZTogRml4IGdsaXRjaCB3aGVyZSB3ZSB3ZXJlIGFjY2lkZW50bHkKCSAgdW5zZXR0aW5nIENNQUtFX0ZJTkRfTElCUkFSWV9QUkVGSVhFUwoKMjAwOS0wOS0yMCAyMToxNSAgbG93bWFuCgoJKiBNb2R1bGVzL0ZpbmRQcm90b2J1Zi5jbWFrZTogRm9yZ290IHRvIG1hcmsgUHJvdG9idWYgY2FjaGUKCSAgdmFyaWFibGVzIGFzIGFkdmFuY2VkCgoyMDA5LTA5LTIwIDIwOjIwICBsb3dtYW4KCgkqIE1vZHVsZXMvRmluZEFMU0EuY21ha2U6IFtORVcgTW9kdWxlXSBGaW5kQWxzYSBhdWRpbyBsaWJyYXJ5CgkgIChBZHZhbmNlZCBMaW51eCBTb3VuZCBBcmNoaXRlY3R1cmUpCgoyMDA5LTA5LTIwIDIwOjEyICBsb3dtYW4KCgkqIE1vZHVsZXMvRmluZFByb3RvYnVmLmNtYWtlOiBbTkVXIE1vZHVsZV0gRmluZCBhbmQgdXNlIEdvb2dsZSdzCgkgIFByb3RvY29sIEJ1ZmZlcnMgbGlicmFyeSAmIGNvbXBpbGVyCgoyMDA5LTA5LTIwIDExOjMzICBsb3dtYW4KCgkqIE1vZHVsZXMvRmluZEJvb3N0LmNtYWtlOiBGaXggYm9vc3QgbGlicmFyeSBkZXRlY3Rpb24gd2l0aCBTdW4KCSAgU3R1ZGlvIGNvbXBpbGVyIChJc3N1ZSAjOTE1MykKCjIwMDktMDktMjAgMDk6NDIgIGhvZmZtYW4KCgkqIFRlc3RzL0NNYWtlTGlzdHMudHh0OiBEaXNhYmxlIHRlc3QgYXMgaXQgZmFpbHMgb24gZXZlcnkgc3lzdGVtLgoKMjAwOS0wOS0yMCAwODowMyAgbG93bWFuCgoJKiBNb2R1bGVzL0ZpbmRUaHJlYWRzLmNtYWtlOiBJbXByb3ZlIHJlYWRhYmlsaXR5CgoyMDA5LTA5LTIwIDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IEtXU3lzIE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wOS0xOSAxMzowMiAgYWxleAoKCSogU291cmNlL2NtRGVwZW5kcy5jeHg6IE1pbm9yIG9wdGltaXphdGlvbiBpbiBkZXBlbmRlbmN5IGNoZWNraW5nLgoKCSAgV2hlbiByZWFkaW5nIHRoZSBkZXBlbmQuaW50ZXJuYWwgZmlsZSwgY2hlY2sgb25seSBvbmNlIGZvciBldmVyeQoJICBkZXBlbmRlciB3aGV0aGVyIGl0IGV4aXN0cywgaW5zdGVhZCBvZiByZXBlYXRlZGx5IGluIGEgbG9vcCBmb3IKCSAgZWFjaCBkZXBlbmRlZS4gV2l0aGluIHRoYXQgZnVuY3Rpb24gaXQgY2FuIG9ubHkgY2hhbmdlIG9mIHRoZQoJICBkZXBlbmRlciBpcyByZW1vdmVkLiBUaGlzIGlzIHRha2VuIGNhcmUgb2YuICBUaGlzIHJlZHVjZXMgdGhlCgkgIG51bWJlciBvZiBhY2Nlc3MoKSBjYWxscyBpbiBrZGVsaWJzL2todG1sIGZyb20gMTgwMDAwIHRvIDkwMDAwCgkgIChpLmUuIDUwJSksIGFuZCByZWR1Y2VzIHRoZSB0aW1lIGZvciB0aGF0ICh3aXRob3V0IHRoZSBhY3R1YWwKCSAgc2Nhbm5pbmcpIGZyb20gMC4zIHMgdG8gMC4yMSBzIG9uIG15IHN5c3RlbS4KCgkgIEFsZXgKCjIwMDktMDktMTkgMTI6MDAgIGtpbmcKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUdsb2JhbFhDb2RlMjFHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFhDb2RlMjFHZW5lcmF0b3IuaCwgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuaDogUmVtb3ZlIGNtR2xvYmFsWENvZGUyMUdlbmVyYXRvcgoJICBzdWJjbGFzcwoKCSAgVGhpcyBzdWJjbGFzcyBvZiBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yIG9ubHkgcHJvdmlkZWQgdHdvIHZpcnR1YWwKCSAgbWV0aG9kIG92ZXJyaWRlcywgYW5kIGl0IG1hZGUgY29uc3RydWN0aW9uIG9mIHRoZSBYY29kZSBnZW5lcmF0b3IKCSAgaW5zdGFuY2UgY29tcGxpY2F0ZWQuICBUaGlzIGNvbW1pdCByZW1vdmVzIGl0IGFuZCByZXBsYWNlcyB0aGUKCSAgdmlydHVhbCBtZXRob2RzIHdpdGggdGVzdHMgb2YgdGhlIFhjb2RlIHZlcnNpb24uICBUaGUgY2hhbmdlCgkgIHJlbW92ZXMgZHVwbGljYXRlIGNvZGUuCgoyMDA5LTA5LTE5IDEwOjE0ICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlQ0NvbXBpbGVyLmNtYWtlLmluLAoJICBNb2R1bGVzL0NNYWtlQ1hYQ29tcGlsZXIuY21ha2UuaW4sCgkgIE1vZHVsZXMvUGxhdGZvcm0vRGFyd2luLUdOVS1DLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL0Rhcndpbi1HTlUtQ1hYLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL0Rhcndpbi1HTlUuY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vRGFyd2luLmNtYWtlLAoJICBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEZpeCBjaGVjayBmb3IgLWlzeXNyb290IG9uIE9TIFgKCgkgIFByZXZpb3VzbHkgd2UgY2hlY2tlZCBmb3IgdGhpcyBmbGFnIGJ5IHBhcnNpbmcgdGhlIHZlcnNpb24gbnVtYmVyCgkgIG9mIEdDQyBvdXQgb2YgJ2djYyAtLXZlcnNpb24nLCBidXQgdGhpcyBpcyBub3QgcmVsaWFibGUgYmVjYXVzZQoJICB0aGUgZm9ybWF0IGNhbiB2YXJ5IGdyZWF0bHkuCU5vdyB3ZSBydW4gJ2djYyAtdiAtLWhlbHAnIGFuZCBsb29rCgkgIGZvciAnLWlzeXNyb290JyBpbiB0aGUgbGlzdCBvZiBvcHRpb25zLgoKCSAgV2UgYWxzbyBub3cgc3RvcmUgdGhlIHJlc3VsdCBvbiBhIHBlci1sYW5ndWFnZSBiYXNpcyBpbiB0aGUKCSAgcGVyLWNvbXBpbGVyIGluZm8gZmlsZSAiQ01ha2U8TEFORz5Db21waWxlci5jbWFrZSIuICBUaGlzIGlzCgkgIG5lY2Vzc2FyeSB0byBtYWtlIGl0IGFjY2Vzc2libGUgZnJvbSB0cnktY29tcGlsZSBwcm9qZWN0cyBzbyB0aGF0CgkgIHRoZXkgZ2VuZXJhdGUgY29ycmVjdGx5LgoKMjAwOS0wOS0xOSAwNDozMyAgYWxleAoKCSogTW9kdWxlcy9Db21waWxlci86IEludGVsLUMuY21ha2UsIEludGVsLUNYWC5jbWFrZTogVGhlCgkgIHByZXByb2Nlc3NpbmcgYW5kIGFzc2VtYmx5IHJ1bGVzIGFsc28gbmVlZCB0aGUgPERFRklORVM+LAoJICBvdGhlcndpc2UgZGlmZmVyZW50IHJldWx0cyBhcmUgY3JlYXRlZC4KCgkgIEFsZXgKCjIwMDktMDktMTkgMDA6MDEgIGt3cm9ib3QKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogS1dTeXMgTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA5LTE4IDE1OjE2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IE9ubHkgZG8gdGhlIE9TWCBhcmNoIHN0dWZmIG9uIE9TWC4KCjIwMDktMDktMTggMTU6MDEgIHphY2gubXVsbGVuCgoJKiBUZXN0cy9DTWFrZUxpc3RzLnR4dDogRGlzYWJsaW5nIENUZXN0VGVzdE5vQnVpbGQgcGVuZGluZwoJICBpbnZlc3RpZ2F0aW9uIG9mIG9kZCBnKysgb3V0cHV0IGlzc3Vlcy4KCjIwMDktMDktMTggMTQ6MjIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vRGFyd2luLmNtYWtlLCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEFkZAoJICBkZXRlY3Rpb24gb2YgZ2NjIHZlcnNpb25zIHRoYXQgZG8gbm90IHN1cHBvcnQgaXN5c3Jvb3Qgb3B0aW9uIGFuZAoJICBkbyBub3QgdXNlIGl0IGZvciB0aGVtLgoKMjAwOS0wOS0xOCAxNDowMiAgemFjaC5tdWxsZW4KCgkqIFRlc3RzL0NNYWtlTGlzdHMudHh0OiBBcHBhcmVudGx5LCBvbiBGYXJBd2F5IHRoZSBwcmVzZW5jZSBvZgoJICBlcnJvcnMgZHVyaW5nIGN0ZXN0X2J1aWxkIGRvZXMgbm90IGNhdXNlIHRoZSBjYWxsaW5nIGN0ZXN0IHRvCgkgIHJldHVybiBhbiBlcnJvciBjb25kaXRpb24uCgoyMDA5LTA5LTE4IDEzOjM0ICB6YWNoLm11bGxlbgoKCSogVGVzdHMvQ01ha2VMaXN0cy50eHQ6IENvc21ldGljIGNoYW5nZSB0byB0ZXN0IENNYWtlTGlzdHMKCjIwMDktMDktMTggMTI6NTYgIGRhdmlkLmNvbGUKCgkqIE1vZHVsZXMvRXh0ZXJuYWxQcm9qZWN0LmNtYWtlOiBCZXR0ZXIgZXJyb3IgbWVzc2FnZSB0ZWxscyB1c2VyCgkgIHBvc3NpYmxlIHdheXMgdG8gcmVzb2x2ZSB0aGUgZXJyb3IuCgoyMDA5LTA5LTE4IDEyOjE2ICB6YWNoLm11bGxlbgoKCSogVGVzdHMvOiBDTWFrZUxpc3RzLnR4dCwgQ1Rlc3RUZXN0Q3Jhc2gvQ01ha2VMaXN0cy50eHQsCgkgIENUZXN0VGVzdENyYXNoL0NUZXN0Q29uZmlnLmNtYWtlLCBDVGVzdFRlc3RDcmFzaC9jcmFzaC5jeHgsCgkgIENUZXN0VGVzdENyYXNoL3Rlc3QuY21ha2UuaW4sIENUZXN0VGVzdEZhaWx1cmUvQ01ha2VMaXN0cy50eHQsCgkgIENUZXN0VGVzdEZhaWx1cmUvQ1Rlc3RDb25maWcuY21ha2UsIENUZXN0VGVzdEZhaWx1cmUvYmFkQ29kZS5jeHgsCgkgIENUZXN0VGVzdEZhaWx1cmUvdGVzdE5vQnVpbGQuY21ha2UuaW4sCgkgIENUZXN0VGVzdEZhaWx1cmUvdGVzdE5vRXhlLmNtYWtlLmluOiBBZGRlZCB0ZXN0IGNvdmVyYWdlIGZvcgoJICBjdGVzdC4gIENvdmVycyBXSUxMX0ZBSUwgY29uZGl0aW9uLCB0ZXN0cyB0aGF0IGRvIG5vdCBidWlsZCwKCSAgdGVzdHMgdGhhdCBzZWdmYXVsdCwgYW5kIHRlc3QgZXhlY3V0YWJsZSBub3QgZm91bmQgKGJhZCBjb21tYW5kKSwKCSAgYXMgd2VsbCBhcyBzb21lIHBhc3MgYW5kIGZhaWwgcmVndWxhciBleHByZXNzaW9ucy4KCjIwMDktMDktMTggMTA6MjggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogRml4IHRoZSBidWlsZCBmb3IgdmVyc2lvbiAyLjUKCSAgb2YgWGNvZGUuCgoyMDA5LTA5LTE4IDA5OjQ5ICBraW5nCgoJKiBUZXN0cy9UcnlDb21waWxlL0NNYWtlTGlzdHMudHh0OiBGaXggQ0hFQ0tfKEN8Q1hYKV9DT01QSUxFUl9GTEFHCgkgIG1hY3JvIHRlc3QKCgkgIFRoZSBmbGFnICItX3RoaXNfaXNfbm90X2FfZmxhZ18iIHdhcyBub3QgcmVqZWN0ZWQgYnkgR0NDIDQuMCBvbgoJICBvbGRlciBNYWMgT1MgWC4gIFdlIG5vdyB1c2UgIi0tLV90aGlzX2lzX25vdF9hX2ZsYWdfIiBpbnN0ZWFkLAoJICB3aGljaCB3aWxsIGhvcGVmdWxseSBiZSByZWplY3RlZCBieSBhbGwgY29tcGlsZXJzLgoKMjAwOS0wOS0xOCAwOTo0OSAga2luZwoKCSogTW9kdWxlcy86IENoZWNrQ0NvbXBpbGVyRmxhZy5jbWFrZSwgQ2hlY2tDWFhDb21waWxlckZsYWcuY21ha2U6CgkgIEZpeCBDSEVDS18oQ3xDWFgpX0NPTVBJTEVSX0ZMQUcgZm9yIFhMIGFuZCBTdW5Qcm8KCgkgIFRoZXNlIGNvbXBpbGVycyB3YXJuIGFuZCByZXR1cm4gMCBmb3IgdW5yZWNvZ25pemVkIGZsYWdzLiAgV2UgZml4CgkgIHRoZSBjb21waWxlciBmbGFnIGNoZWNrIG1hY3JvcyBieSBsb29raW5nIGZvciBhIHdhcm5pbmcgaW4gdGhlCgkgIG91dHB1dC4gIFdlIGFsc28gdXBkYXRlIHRoZSByZWdleCBmb3IgR05VIG9uIG9sZGVyIE1hY3MuICBTZWUKCSAgaXNzdWUgIzk1MTYuCgoyMDA5LTA5LTE4IDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IEtXU3lzIE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wOS0xNyAxNzoxNiAga2luZwoKCSogTW9kdWxlcy86IENoZWNrQ0NvbXBpbGVyRmxhZy5jbWFrZSwgQ2hlY2tDWFhDb21waWxlckZsYWcuY21ha2U6CgkgIEZpeCBDSEVDS18oQ3xDWFgpX0NPTVBJTEVSX0ZMQUcgZm9yIEhQCgoJICBUaGlzIGNvbXBpbGVyIHdhcm5zIGFuZCByZXR1cm5zIDAgZm9yIHVucmVjb2duaXplZCBmbGFncy4gIFdlIGZpeAoJICB0aGUgY29tcGlsZXIgZmxhZyBjaGVjayBtYWNyb3MgYnkgbG9va2luZyBmb3IgYSB3YXJuaW5nIGluIHRoZQoJICBvdXRwdXQuICBTZWUgaXNzdWUgIzk1MTYuCgoyMDA5LTA5LTE3IDE2OjA5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEZpeCBjYXNlIHdoZXJlIG5vIGFyY2hzIGFyZSBmb3VuZCBvbgoJICBvbGRlciBtYWNzLgoKMjAwOS0wOS0xNyAxNTozMyAga2luZwoKCSogVGVzdHMvVHJ5Q29tcGlsZS9DTWFrZUxpc3RzLnR4dDogVGVzdCBDSEVDS18oQ3xDWFgpX0NPTVBJTEVSX0ZMQUcKCSAgbWFjcm9zCgoJICBUaGlzIHRlYWNoZXMgdGhlIFRyeUNvbXBpbGUgdGVzdCB0byBjaGVjayB0aGF0IHRoZSBjb21waWxlciBmbGFnCgkgIGNoZWNrIG1hY3JvcyBjb3JyZWN0bHkgcmVqZWN0IGEgYmFkIGZsYWcuICBTZWUgaXNzdWUgIzk1MTYuCgoyMDA5LTA5LTE3IDE1OjMyICBraW5nCgoJKiBNb2R1bGVzLzogQ2hlY2tDQ29tcGlsZXJGbGFnLmNtYWtlLCBDaGVja0NYWENvbXBpbGVyRmxhZy5jbWFrZToKCSAgRml4IENIRUNLXyhDfENYWClfQ09NUElMRVJfRkxBRyBmb3IgR05VIGFuZCBNU1ZDCgoJICBUaGVzZSBjb21waWxlcnMgd2FybiBhbmQgcmV0dXJuIDAgZm9yIHVucmVjb2duaXplZCBmbGFncy4gIFdlIGZpeAoJICB0aGUgY29tcGlsZXIgZmxhZyBjaGVjayBtYWNyb3MgYnkgbG9va2luZyBmb3IgYSB3YXJuaW5nIGluIHRoZQoJICBvdXRwdXQuICBTZWUgaXNzdWUgIzk1MTYuCgoyMDA5LTA5LTE3IDE1OjI5ICBraW5nCgoJKiBNb2R1bGVzLzogQ2hlY2tDU291cmNlQ29tcGlsZXMuY21ha2UsCgkgIENoZWNrQ1hYU291cmNlQ29tcGlsZXMuY21ha2U6IEFkZCBGQUlMX1JFR0VYIHRvCgkgIENIRUNLXyhDfENYWClfU09VUkNFX0NPTVBJTEVTCgoJICBUaGlzIHRlYWNoZXMgdGhlIENIRUNLX0NfU09VUkNFX0NPTVBJTEVTIGFuZAoJICBDSEVDS19DWFhfU09VUkNFX0NPTVBJTEVTIG1hY3JvcyB0byByZWNvZ25pemUgYSBGQUlMX1JFR0VYCgkgIG9wdGlvbi4gIElmIHRoZXkgc2VlIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gaW4gdGhlIG91dHB1dCBvZiB0aGUKCSAgdGVzdCBjb21waWxhdGlvbiwgdGhlIGNoZWNrIGZhaWxzLgoKMjAwOS0wOS0xNyAxNToyOCAga2luZwoKCSogTW9kdWxlcy86IENoZWNrQ0NvbXBpbGVyRmxhZy5jbWFrZSwgQ2hlY2tDU291cmNlQ29tcGlsZXMuY21ha2UsCgkgIENoZWNrQ1NvdXJjZVJ1bnMuY21ha2UsIENoZWNrQ1hYQ29tcGlsZXJGbGFnLmNtYWtlLAoJICBDaGVja0NYWFNvdXJjZUNvbXBpbGVzLmNtYWtlLCBDaGVja0NYWFNvdXJjZVJ1bnMuY21ha2U6IENsZWFudXAKCSAgZ2VuZXJpYyBjb21waWxlciBjaGVjayBtYWNybyBkb2N1bWVudGF0aW9uCgoJICBUaGlzIGNvbW1pdCBpbXByb3ZlcyBmb3JtYXR0aW5nIGFuZCBzdHlsZSBvZiB0aGUgZG9jdW1lbnRhdGlvbgoJICBmb3IgdGhlIGdlbmVyYWwtcHVycG9zZSBjb21waWxlciBjaGVjayBtYWNyb3M6CgoJICAgIENIRUNLX0NfQ09NUElMRVJfRkxBRwoJICAgIENIRUNLX0NfU09VUkNFX0NPTVBJTEVTCgkgICAgQ0hFQ0tfQ19TT1VSQ0VfUlVOUwoJICAgIENIRUNLX0NYWF9DT01QSUxFUl9GTEFHCgkgICAgQ0hFQ0tfQ1hYX1NPVVJDRV9DT01QSUxFUwoJICAgIENIRUNLX0NYWF9TT1VSQ0VfUlVOUwoKCSAgVGhpcyBzeXRsZSBpcyBtb3JlIGNvbnNpc3RlbnQgd2l0aCBDTWFrZSBjb21tYW5kIGRvY3VtZW50YXRpb24uCgkgIEl0IGFsc28gbG9va3MgbmljZXIgaW4gdGhlIGdlbmVyYXRlZCBkb2N1bWVudGF0aW9uIHRleHQgZmlsZXMuCgoyMDA5LTA5LTE3IDEzOjA4ICBhbGV4CgoJKiBNb2R1bGVzL0NNYWtlRmluZEVjbGlwc2VDRFQ0LmNtYWtlOiBUaGUgY2hlY2sgZm9yIGluY2x1ZGUgZGlycwoJICBhbmQgYnVpbHRpbiBtYWNyb3MgYWxzbyB3b3JrcyB3aXRoIHRoZSBJbnRlbCBjb21waWxlcgoKCSAgQWxleAoKMjAwOS0wOS0xNyAxMTo1MiAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9EYXJ3aW4uY21ha2UsIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBGaXggZm9yIGJ1ZyAjOTQ2Ni4gIENoYW5nZSB0aGUKCSAgaW1wbGVtZW50YXRpb24gb2YgT1NYIGFyY2ggbGlzdHMuICBJZiBubyBBUkNIcyBhcmUgc3BlY2lmaWVkIGJ5CgkgIHRoZSB1c2VyIHRoZW4gbm8gZmxhZ3MgYXJlIHNldC4gICBXZSBubyBsb25nZXIgdXNlCgkgIENNQUtFX09TWF9BUkNISVRFQ1RVUkVTX0RFRkFVTFQuCgoyMDA5LTA5LTE3IDA5OjE4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCdWcgIzk0MzAsIHJlY29nbml6ZQoJICB0aGUgRlIgZmxhZwoKMjAwOS0wOS0xNyAwODo0MiAga2luZwoKCSogU291cmNlLzogY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4OiBEbyBub3QgY2FsbCBDb2xsYXBzZUZ1bGxQYXRoIGZvcgoJICBQREIgZmlsZSBuYW1lcwoKCSAgU29tZSB2ZW5kb3IgdG9vbHMgY29udmVydCBQREIgZmlsZSBuYW1lcyBnaXZlbiBvbiB0aGUgY29tbWFuZAoJICBsaW5lIHRvIGxvd2VyLWNhc2UgYmVmb3JlIGNyZWF0aW5nIHRoZSBmaWxlLglXaGVuIENNYWtlIHBsYWNlcyBhCgkgIG1peGVkLWNhc2UgUERCIGZpbGUgbmFtZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0sIHRoZSBmaWxlIGRvZXMgbm90CgkgIGV4aXN0IHRoZSBmaXJzdCB0aW1lIGFuZCBpdCBpcyB3cml0dGVuIHdpdGggbWl4ZWQgY2FzZS4gIEFmdGVyCgkgIHRoZSBmaXJzdCBidWlsZCB0aG91Z2ggdGhlIG5hdGl2ZSB0b29sIGhhcyBjcmVhdGVkIGEgbG93ZXItY2FzZQoJICB2ZXJzaW9uIG9mIHRoZSBmaWxlLglJZiBDTWFrZSBkb2VzIENvbGxhcHNlRnVsbFBhdGggYWdhaW4sIHRoZQoJICBmaWxlIGV4aXN0cyBzbyB0aGUgYWN0dWFsLWNhc2UgbG9va3VwIGdldHMgdGhlIGxvd2VyLWNhc2UgbmFtZS4KCSAgVGhpcyBjYXVzZXMgdGhlIGJ1aWxkIGZpbGVzIHRvIGNoYW5nZSBzbyB0aGUgcHJvamVjdCByZWJ1aWxkcy4KCgkgIFRoZSBzb2x1dGlvbiBpcyB0byBhdm9pZCBjYWxsaW5nIENvbGxhcHNlRnVsbFBhdGggZm9yIGZpbGVzCgkgIGdlbmVyYXRlZCBieSB0aGUgYnVpbGQuICBJbiB0aGUgY2FzZSBvZiBQREIgZmlsZXMgd2UgYWxyZWFkeQoJICBjb25zdHJ1Y3QgdGhlbSBmcm9tIHBhdGhzIHRoYXQgaGF2ZSBiZWVuIGNvbGxhcHNlZCwgc28gd2UgY2FuCgkgIGp1c3Qgc2tpcCB0aGUgY2FsbCBhbHRvZ2V0aGVyLiAgU2VlIGlzc3VlICM5MzUwLgoKMjAwOS0wOS0xNyAwODoyNSAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBSZW1vdmUgb2xkIGNoZWNrIGZvciBkdXBsaWNhdGUKCSAgc3ViZGlyZWN0b3JpZXMKCgkgIEluIGNtTWFrZWZpbGU6OkFkZFN1YkRpcmVjdG9yeSB3ZSB3ZXJlIGNoZWNraW5nIGZvciBhZGRpdGlvbiBvZgoJICB0aGUgc2FtZSBzb3VyY2UgZGlyZWN0b3J5IG11bHRpcGxlIHRpbWVzLiAgSG93ZXZlciwgdGhlIGNoZWNrCgkgIGNvZGUgd2FzIGluY29ycmVjdCBiZWNhdXNlIGl0IGNvbXBhcmVkIHBvaW50ZXJzIGluc3RldGFkIG9mCgkgIHBvaW50ZWQtdG8gc3RyaW5ncy4gIFNpbmNlIHRoZSBjaGVjayB3YXMgd3JpdHRlbiwgYSBiZXR0ZXIgY2hlY2sKCSAgd2FzIGFkZGVkIHJpZ2h0IGFmdGVyIGl0IHRvIGVuZm9yY2UgdW5pcXVlIGJpbmFyeSBkaXJlY3RvcmllcyAoaW4KCSAgd2hpY2ggY2FzZSBkdXBsaWNhdGUgc291cmNlcyBhcmUgZmluZSkuICBUaGlzIGNvbW1pdCBzaW1wbHkKCSAgcmVtb3ZlcyB0aGUgb2xkLXN0eWxlIGNoZWNrIGNvZGUuCgoyMDA5LTA5LTE3IDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IEtXU3lzIE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wOS0xNiAyMTowMiAgaG9mZm1hbgoKCSogU291cmNlL2NtYWtlLmN4eDogRml4IHR5cG8gaW4gbmFtZQoKMjAwOS0wOS0xNiAxODowMSAgYWxleAoKCSogU291cmNlLzogY21FeHRyYUVjbGlwc2VDRFQ0R2VuZXJhdG9yLmgsCgkgIGNtRXh0cmFFY2xpcHNlQ0RUNEdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaDogTWFqb3IgaW1wcm92ZW1lbnQgb2YgdGhlCgkgIGdlbmVyYXRlZCB0YXJnZXRzIGluIEVjbGlwc2UuCgoJICBCZWZvcmUgdGhpcyBjaGFuZ2UgYWxsIHRhcmdldHMgd2VyZSBkaXNwbGF5ZWQgaW4gdGhlIHRvcCBsZXZlbAoJICBkaXJlY3Rvcnkgb2YgdGhlIHByb2plY3QuIE5vdyB0aGUgdGFyZ2V0cyBhcmUgZGlzcGxheWVkIGluIHRoZQoJICBjb3JyZWN0IGRpcmVjdG9yeS4gIFRoZSB0YXJnZXRzICJjbGVhbiIgYW5kICJhbGwiIGFyZSBub3cgY3JlYXRlZAoJICBpbiBldmVyeSBzdWJkaXJlY3RvcnkuICBBbHNvIG5vdyB0aGUgdGFyZ2V0cyBmb3IganVzdCBjb21waWxpbmcKCSAgb25lIGZpbGUsIHByZXByb2Nlc3Npbmcgb25lIGZpbGUsIGFzc2VtYmxpbmcgb25lIGZpbGUgYXJlIGFyZQoJICBjcmVhdGVkIGZvciBFY2xpcHNlLglBZGRpdGlvbmFsbHkgYWxsIHRhcmdldHMgZ2V0IGEgcHJlZml4IG5vdwoJICBpbiBlY2xpcHNlLCBzbyB0aGF0IHRoZXkgYXJlIHNvcnRlZCBpbiBhIHdheSB3aGljaCBtYWtlcyBzZW5zZQoJICAoZ2xvYmFsIHRhcmdldHMgZmlyc3QsIHRoZW4gZXhlY3V0YWJsZSBhbmQgbGlicmFyaWVzLCB0aGVuIG9iamVjdAoJICBmaWxlcywgdGhlbiBwcmVwcm9jZXNzZWQsIHRoZW4gYXNzZW1ibHkpLiBBbHNvIHRoaXMgcHJlZml4IGdpdmVzCgkgIHRoZSB1c2VyIGEgaGludCB3aGF0IHRoZSB0YXJnZXQgaXMsIGkuZS4gd2hldGhlciBpdCdzIGEgbGlicmFyeQoJICBvciBhbiBleGVjdXRhYmxlIG9yIHNvbWV0aGluZyBlbHNlLgoKCSAgQWxleAoKMjAwOS0wOS0xNiAxNTowOSAga2luZwoKCSogVGVzdHMvQ01ha2VUZXN0cy86IENNYWtlTGlzdHMudHh0LCBDb25maWd1cmVGaWxlLUJhZEFyZy5jbWFrZSwKCSAgQ29uZmlndXJlRmlsZS1EaXJJbnB1dC5jbWFrZSwgQ29uZmlndXJlRmlsZS1EaXJPdXRwdXQuY21ha2UsCgkgIENvbmZpZ3VyZUZpbGUtUmVsYXRpdmUuY21ha2UsIENvbmZpZ3VyZUZpbGVUZXN0LmNtYWtlLmluOiBDcmVhdGUKCSAgQ01ha2UuQ29uZmlndXJlRmlsZSB0ZXN0IGZvciBjb25maWd1cmVfZmlsZQoKCSAgVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvbmZpZ3VyZV9maWxlKCkgaGFuZGxlcyBpbnB1dCBhbmQgb3V0cHV0CgkgIGZpbGUgYXJndW1lbnRzIGFzIGRvY3VtZW50ZWQuCgoyMDA5LTA5LTE2IDE1OjA5ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmN4eCwgY21Db25maWd1cmVGaWxlQ29tbWFuZC5oOgoJICBUZWFjaCBjb25maWd1cmVfZmlsZSB0byBoYW5kbGUgZGlyZWN0b3J5IG5hbWVzCgoJICBUaGlzIGNvbW1pdCB0ZWFjaGVzIGNvbmZpZ3VyZV9maWxlIGhvdyB0byBoYW5kbGUgZGlyZWN0b3JpZXMgZm9yCgkgIGlucHV0IGFuZCBvdXRwdXQuICBJdCBpcyBhbiBlcnJvciBpZiB0aGUgaW5wdXQgaXMgYSBkaXJlY3RvcnkuCgkgIElmIHRoZSBvdXRwdXQgaXMgYSBkaXJlY3Rvcnkgd2UgcHV0IHRoZSBjb25maWd1cmVkIGNvcHkgb2YgdGhlCgkgIGlucHV0IGZpbGUgaW4gaXQgd2l0aCB0aGUgc2FtZSBuYW1lLglTZWUgaXNzdWUgIzk1MzcuCgoyMDA5LTA5LTE2IDE1OjA5ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmN4eCwgY21Db25maWd1cmVGaWxlQ29tbWFuZC5oOgoJICBUZWFjaCBjb25maWd1cmVfZmlsZSB0byBoYW5kbGUgcmVsYXRpdmUgcGF0aHMKCgkgIFRoZSBjb25maWd1cmVfZmlsZSgpIGNvbW1hbmQgbm93IGNvbnZlcnRzIHJlbGF0aXZlIG91dHB1dCBwYXRocwoJICB0byBmdWxsIHBhdGhzIHVzaW5nIHRoZSBjdXJyZW50IGJpbmFyeSBkaXJlY3RvcnkuICBJbnB1dCByZWxhdGl2ZQoJICBwYXRocyB3ZXJlIGFscmVhZHkgY29udmVydGVkIHVzaW5nIHRoZSBjdXJyZW50IHNvdXJjZSBkaXJlY3RvcnksCgkgIGJ1dCB0aGlzIGJlaGF2aW9yIHdhcyBub3QgcHJldmlvdXNseSBkb2N1bWVudGVkLgoKMjAwOS0wOS0xNiAxNTowOSAga2luZwoKCSogU291cmNlLzogY21Db25maWd1cmVGaWxlQ29tbWFuZC5jeHgsIGNtQ29uZmlndXJlRmlsZUNvbW1hbmQuaDoKCSAgRml4IHR5cG8gaW4gY21Db25maWd1cmVGaWxlQ29tbWFuZCBpdmFyIG5hbWUKCgkgIFJlbmFtZSAnT3VwdXRGaWxlJyB0byAnT3V0cHV0RmlsZScuCgoyMDA5LTA5LTE2IDE1OjA5ICBraW5nCgoJKiBUZXN0cy9DTWFrZVRlc3RzLzogQ2hlY2tDTWFrZVRlc3QuY21ha2UsIEZpbGVUZXN0LmNtYWtlLmluOgoJICBGYWN0b3Igb3V0IENNYWtlLkZpbGUgdGVzdCByZXN1bHQgY2hlY2sgZm9yIHJlLXVzZQoKCSAgVGhlIENNYWtlLkZpbGUgdGVzdCBydW5zIHNldmVyYWwgc2NyaXB0cyB0aHJvdWdoICJjbWFrZSAtUCIgYW5kCgkgIGNoZWNrcyB0aGUgb3V0cHV0IGFuZCByZXN1bHQgYWdhaW5zdCBrbm93biBnb29kIHZhbHVlcy4gIFRoaXMKCSAgY29tbWl0IGZhY3RvcnMgb3V0IHRoZSBjaGVja2luZyBjb2RlIGludG8gYSBzZXBhcmF0ZQoJICBDTWFrZUNoZWNrVGVzdCBtb2R1bGUuICBUaGUgbW9kdWxlIG1heSBiZSB1c2VkIGJ5IG5ldyB0ZXN0cy4KCjIwMDktMDktMTYgMTQ6MzcgIGFsZXgKCgkqIFNvdXJjZS9jbUV4dHJhRWNsaXBzZUNEVDRHZW5lcmF0b3IuY3h4LAoJICBNb2R1bGVzL0NNYWtlRmluZEVjbGlwc2VDRFQ0LmNtYWtlOiBQdXQgY29tcGlsZXIgZGVmaW5lZCBtYWNyb3MKCSAgaW50byBlY2xpcHNlIHByb2plY3QgZmlsZXMKCgkgIE5vdyBnY2MgaXMgcXVlcmllZCBhbHNvIGZvciB0aGUgYnVpbHRpbiBkZWZpbml0aW9ucywgYW5kIHRoZXkgYXJlCgkgIHRoZW4gYWRkZWQgdG8gdGhlIC5jcHJvamVjdCBmaWxlLiBUaGlzIHNob3VsZCBtYWtlIHRoZQoJICBwcmVwcm9jZXNzb3IgaGlnaGxpZ2h0aW5nIGluIGVjbGlwc2Ugd29yayBiZXR0ZXIgKCM5MjcyKSBQYXRjaAoJICBtb3N0bHkgZnJvbSBNaWd1ZWwuCgoJICBBbGV4CgoyMDA5LTA5LTE2IDE0OjIwICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRKTkkuY21ha2U6IEJ1ZyAjMDk0NzYsIGFkZCBtb3JlIHNlYXJjaCBwYXRocyBmb3Igam5pLgoKMjAwOS0wOS0xNiAxMjo0MCAgaG9mZm1hbgoKCSogTW9kdWxlcy9Vc2VQa2dDb25maWcuY21ha2U6IEZpeCBmb3IgYnVnIzk1NTMsIHByaW50IGEgd2FybmluZyBpZgoJICBwa2ctY29uZmlnIGlzIG5vdCBmb3VuZC4KCjIwMDktMDktMTYgMTI6MzMgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vOiBMaW51eC1WaXN1YWxBZ2UtQ1hYLmNtYWtlLCBMaW51eC1YTC1DWFguY21ha2U6CgkgIEZpeCBYTCBDKysgY29tcGlsZXIgZmxhZ3Mgb24gTGludXgKCgkgIEluIFBsYXRmb3JtL0xpbnV4LmNtYWtlIHdlIGFkZCBHTlUgZmxhZ3MgYXMgZGVmYXVsdCBmb3IgdGhlCgkgIHBsYXRmb3JtIHdoaWNoIGJyZWFrcyBub24tR05VIGNvbXBpbGVycy4gIExhdGVyIHdlIHNob3VsZAoJICByZWZhY3RvciB0aGVzZSBmbGFnIGZpbGVzIHRvIHB1dCBjb21waWxlci1zcGVjaWZpYyBmbGFncyBvbmx5IGluCgkgIGZpbGVzIGxvYWRlZCBmb3IgZWFjaCBjb21waWxlci4gIFVudGlsIHRoZW4gdGhpcyBjb21taXQgZml4ZXMgdGhlCgkgIFhMIEMrKyBjb21waWxlciBmbGFncyBvbiBMaW51eCBieSBlcmFzaW5nIHRoZSBHTlUgZmxhZ3MuICBTZWUKCSAgaXNzdWUgIzk0NjkuCgoyMDA5LTA5LTE2IDExOjQ5ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFJ1blRlc3QuY3h4OiBGaXggdW5pbml0aWFsaXplZCBlcnJvcnMuCgoyMDA5LTA5LTE2IDExOjQ0ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBHZW5lcmF0ZSBwcm9wZXIgSW50ZWwKCSAgRm9ydHJhbiBwcm9qZWN0IHZlcnNpb24KCgkgIFRoZSBJbnRlbCBWaXN1YWwgRm9ydHJhbiBjb21waWxlciBwbHVnaW4gZm9yIE1TIFZpc3VhbCBTdHVkaW8gbWF5CgkgIGJlIG9uZSBvZiBzZXZlcmFsIHZlcnNpb25zIG9mIHRoZSBJbnRlbCBjb21waWxlci4gIFRoaXMgY29tbWl0CgkgIHRlYWNoZXMgQ01ha2UgdG8gZGV0ZWN0IHRoZSBwbHVnaW4gdmVyc2lvbiBhbmQgc2V0IHRoZSB2ZXJzaW9uCgkgIG51bWJlciBpbiAudmZwcm9qIGZpbGVzLiAgU2VlIGlzc3VlICM5MTY5LgoKMjAwOS0wOS0xNiAxMTo0NCAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxWaXN1YWxTdHVkaW8xMEdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvOUdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvR2VuZXJhdG9yLmg6IENyZWF0ZSBWUyBnZW5lcmF0b3IKCSAgR2V0UmVnaXN0cnlCYXNlIG1ldGhvZAoKCSAgVGhpcyBtZXRob2QgcmV0dXJucyB0aGUgcmVnaXN0cnkga2V5CgoJICAgIEhLRVlfTE9DQUxfTUFDSElORVxTT0ZUV0FSRVxNaWNyb3NvZnRcVmlzdWFsU3R1ZGlvXDx2ZXJzaW9uPgoKCSAgQSBwcm90ZWN0ZWQgR2V0SURFVmVyc2lvbiBtZXRob2QgcmV0cmlldmVzIHRoZSB2ZXJzaW9uLXNwZWNpZmljCgkgIHBhcnQgb2YgdGhlIGtleSBuYW1lLgoKMjAwOS0wOS0xNiAwOTo1MiAga2luZwoKCSogVGVzdHMvRnVuY3Rpb25UZXN0L0NNYWtlTGlzdHMudHh0OiBUZXN0IGFkZF9zdWJkaXJlY3RvcnkgaW5zaWRlCgkgIGZ1bmN0aW9uCgoJICBUaGlzIGNvbW1pdCB0ZWFjaGVzIHRoZSBGdW5jdGlvblRlc3QgdG8gY2hlY2sgdmFyaWFibGUgc2NvcGUKCSAgYmVoYXZpb3Igd2hlbiBhIHN1YmRpcmVjdG9yeSBpcyBhZGRlZCBpbnNpZGUgYSBmdW5jdGlvbiBjYWxsLgoJICBBbnkgUEFSRU5UX1NDT1BFIHNldHMgaW4gdGhlIHN1YmRpcmVjdG9yeSBzaG91bGQgYWZmZWN0IG9ubHkgdGhlCgkgIGZ1bmN0aW9uIHNjb3BlIHdoaWNoIGNhbGxlZCBhZGRfc3ViZGlyZWN0b3J5IGFuZCBub3QgaXRzIHBhcmVudAoJICBzY29wZS4KCjIwMDktMDktMTYgMDk6NTEgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogSW5pdGlhbGl6ZSBkaXJlY3Rvcnkgc2NvcGUgd2l0aCBjbG9zdXJlIG9mCgkgIHBhcmVudAoKCSAgVGhlIGNvbW1pdCAiSW1wcm92ZSBkeW5hbWljIHZhcmlhYmxlIHNjb3BlIGltcGxlbWVudGF0aW9uIgoJICBvcHRpbWl6ZWQgZnVuY3Rpb24gc2NvcGVzIHVzaW5nIGFuIGVmZmljaWVudCBwYXJlbnQgc2NvcGUKCSAgcG9pbnRlci4gIEhvd2V2ZXIsIHRoZSBwYXJlbnQgc2NvcGUgdXNlZCB0byBpbml0aWFsaXplIGEgbmV3CgkgIGRpcmVjdG9yeSBtaWdodCBub3QgZXhpc3QgbGF0ZXIgKGxpa2UgYWRkX3N1YmRpcmVjdG9yeSBjYWxsZWQKCSAgaW5zaWRlIGEgZnVuY3Rpb24gb2YgdGhlIHBhcmVudCBzY29wZSkuICBUaGlzIGNhdXNlZCBDTWFrZSB0bwoJICBjcmFzaCB3aGVuIGZvbGxvd2luZyB0aGUgZGFuZ2xpbmcgcG9pbnRlciB0byB0aGUgb3JpZ2luYWwgcGFyZW50CgkgIHNjb3BlLgoKCSAgV2UgZml4IHRoZSBwcm9ibGVtIGluIHRoaXMgY29tbWl0IGJ5IGFsd2F5cyBjb21wdXRpbmcgdGhlIGNsb3N1cmUKCSAgb2YgdGhlIHBhcmVudCBzY29wZSBhdCBkaXJlY3RvcnkgaW5pdGlhbGl6YXRpb24gdGltZSBzbyB0aGF0IG5vCgkgIHBhcmVudCBzY29wZSBwb2ludGVyIGlzIG5lZWRlZC4gIFNlZSBpc3N1ZSAjOTUzOC4KCjIwMDktMDktMTYgMDA6MDEgIGt3cm9ib3QKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogS1dTeXMgTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA5LTE1IDAyOjM4ICBiaWdsZXIKCgkqIE1vZHVsZXMvOiBGaW5kQ1VEQS5jbWFrZSwgRmluZENVREEvbWFrZTJjbWFrZS5jbWFrZSwKCSAgRmluZENVREEvcGFyc2VfY3ViaW4uY21ha2UsIEZpbmRDVURBL3J1bl9udmNjLmNtYWtlOiBJbml0aWFsCgkgIHZlcnNpb24gb2YgRmluZENVREEgc2NyaXB0LiAgU3RpbGwgbmVlZHMgZG9jdW1lbnRhdGlvbgoJICBmb3JtYXR0aW5nLgoKMjAwOS0wOS0xNSAwMDowMSAga3dyb2JvdAoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBLV1N5cyBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDktMTQgMjI6MTYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEZpeCBmb3IgYnVnICM4OTY5LCBwaWNrIGEgYmV0dGVyIGRlZmF1bHQKCSAgdmVyc2lvbiBmb3IgVlMsIGFuZCBtYWtlIGl0IGVhc2llciB0byBhZGQgbmV3IHZlcnNpb25zIG9mIFZTIHRvCgkgIGxvb2sgZm9yLgoKMjAwOS0wOS0xNCAyMDo1NCAgaG9mZm1hbgoKCSogU291cmNlL2NtRG9jdW1lbnRhdGlvbkZvcm1hdHRlckhUTUwuY3h4OiBGaXggZm9yIGJ1ZyMgNTM3MywKCSAgaW5jbHVkZSBDTWFrZSB2ZXJpc29uIGluIGdlbmVyYXRlZCBkb2NzLgoKMjAwOS0wOS0xNCAxNTo1MyAgYWxleAoKCSogTW9kdWxlcy9GaW5kUE5HLmNtYWtlOiBmaXggIzkxNTI6IGZpbmQgWkxJQiBxdWlldGx5IGlmIFBORyBpcwoJICBzZWFyY2hlZCBRVUlFVExZCgoJICBBbGV4CgoyMDA5LTA5LTE0IDE1OjIwICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEJ1ZyAjODM1NiwgYWRkIHN1cHBvcnQgZm9yCgkgIGltYWdlIHR5cGVzIGluIFhjb2RlIGZpbGVzLgoKMjAwOS0wOS0xNCAxNDo1OSAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBGaXggZm9yIGJ1ZyAjODgwNywgYWRkIHN1cHBvcnQKCSAgZm9yIENNQUtFX0VYRV9MSU5LRVJfRkxBR1NfKGNvbmZpZykgdG8gWGNvZGUgZ2VuZXJhdG9yLgoKMjAwOS0wOS0xNCAxMzo0NSAgaG9mZm1hbgoKCSogU291cmNlLzogY21ha2UuY3h4LCBrd3N5cy9HbG9iLmN4eCwga3dzeXMvR2xvYi5oeHguaW46IEZpeCBmb3IKCSAgQnVnICM5MTkwLCAtVSBkaWQgbm90IHdvcmsgb24gY2FzZSBpbnNlbnNpdGl2ZSBmaWxlIHN5c3RlbXMKCSAgYmVjYXVzZSBvZiBjYWxsIHRvIGdsb2IgY29udmVydCB0byByZWdleCB0aGF0IGV4cGVjdGVkIHRvIHdvcmsKCSAgd2l0aCBmaWxlcy4KCjIwMDktMDktMTQgMTM6NDIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUlmQ29tbWFuZC5oOiBDbGFyaWZ5IGRvY3VtZW50YXRpb24gZm9yIGlmLgoKMjAwOS0wOS0xNCAxMToyMyAgemFjaC5tdWxsZW4KCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RCYXRjaFRlc3RIYW5kbGVyLmN4eCwgY21DVGVzdFJ1blRlc3QuY3h4OgoJICBSZW1vdmVkIGZvcmstYW5kLWNvbnRpbnVlIG9wdGlvbiBmcm9tIGN0ZXN0IGdlbmVyYXRlZCBiYXRjaAoJICBzY3JpcHQgZW50cmllcwoKMjAwOS0wOS0xNCAxMDozMSAgaG9mZm1hbgoKCSogU291cmNlLzogY21EZXBlbmRzSmF2YVBhcnNlckhlbHBlci5jeHgsCgkgIGNtRGVwZW5kc0phdmFQYXJzZXJIZWxwZXIuaDogRml4IG9wZW4gc29sYXJpcyBidWlsZCBpc3N1ZSB3aXRoCgkgIGNvbmNlcHQgY2hlY2tpbmcgdGhhdCBicmVha3Mgc3RkIHZlY3RvciBmb3IgYSBjbGFzcyBvZiBpdHNlbGYuCgkgIEJ1ZyAjOTUyMy4KCjIwMDktMDktMTQgMDk6MzQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFB5dGhvbkxpYnMuY21ha2U6IENoYW5nZSBGaW5kUHl0aG9uTGlicyB0byB1c2UgdGhlCgkgIHN0YW5kYXJkIF9ESVIgaW5zdGVhZCBvZiBfUEFUSCBidXQgc3RheSBiYWNrd2FyZHMgY29tcGF0aWJsZQoKMjAwOS0wOS0xNCAwMDowMSAga3dyb2JvdAoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBLV1N5cyBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDktMTMgMDA6MDEgIGt3cm9ib3QKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogS1dTeXMgTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA5LTEyIDEwOjIwICBraW5nCgoJKiBTb3VyY2UvQ1Rlc3QvY21Qcm9jZXNzLmN4eDogQXZvaWQgc2hhZG93aW5nIHN0ZDo6dmVjdG9yIG1lbWJlcgoKCSAgVGhlIGNtUHJvY2Vzczo6QnVmZmVyIGNsYXNzIGRlcml2ZXMgZnJvbSBzdGQ6OnZlY3Rvci4gIFdlIHdlcmUKCSAgdXNpbmcgbG9jYWwgdmFyaWFibGUgJ2RhdGEnIGluIHRoZSBHZXRMaW5lIG1ldGhvZCBidXQgdGhpcyBuYW1lCgkgIHNoYWRvd2VkIGEgbWVtYmVyIG9mIHZlY3RvciB3aXRoIEdOVS4gIFRoaXMgcmVuYW1lcyBpdCB0byAndGV4dCcuCgoyMDA5LTA5LTEyIDA2OjI1ICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRSdWJ5LmNtYWtlOiBtYWpvciBpbXByb3ZlbWVudCBvZiBGaW5kUnVieS5jbWFrZQoKCSAgLW5vdyBzdXBwb3J0cyBzcGVjaWZ5aW5nIG1pbmltdW0gcmVxdWlyZWQgdmVyc2lvbiAtbm93IHN1cHBvcnRzCgkgIHJ1YnkgMS44IGFuZCAxLjkgLXVzZXMgZmluZF9wYWNrYWdlX2hhbmRsZV9zdGFuZGFyZF9hcmdzKCkgbm93CgkgIC1maXggIzYyMTIgYW5kIHVzaW5nIGEgbG90IG9mIGlkZWFzIGZyb20gdGhlIGZpbGUgYXR0YWNoZWQgdGhlcmUKCgkgIEFsZXgKCjIwMDktMDktMTIgMDQ6MzggIGFsZXgKCgkqIE1vZHVsZXMvRmluZFJ1YnkuY21ha2U6IHVzZSBISU5UUyBpbnN0ZWFkIG9mIFBBVEhTIGFuZCBhbHNvIGxvb2sKCSAgZm9yIGxpYnJ1Ynktc3RhdGljLmEgKHdoaWNoIGlzIGJ1aWx0IGJ5IGRlZmF1bHQpCgoJICBBbGV4CgoyMDA5LTA5LTEyIDAyOjE1ICBhbGV4CgoJKiBNb2R1bGVzL0NNYWtlQVNNLUFUVEluZm9ybWF0aW9uLmNtYWtlOiBEb24ndCBwYXNzICouUyBmaWxlcyB0bwoJICB0aGUgYXNzZW1ibGVyLCB0aGV5IG11c3QgZ28gdGhyb3VnaCBnY2MsIGJlY2F1c2UgdGhleSBtdXN0IGJlCgkgIHByZXByb2Nlc3NlZAoKCSAgQWxleAoKMjAwOS0wOS0xMiAwMDowMSAga3dyb2JvdAoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBLV1N5cyBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDktMTEgMTc6MTUgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0SGFuZGxlckNvbW1hbmQuY3h4OiBGaXggZm9yIGJ1ZyM5NDQyLCBjdGVzdAoJICBjcmFzaCBpZiBDVEVTVF9TT1VSQ0VfRElSRUNUT1JZIHdhcyBub3Qgc2V0LgoKMjAwOS0wOS0xMSAxNjozOSAga2luZwoKCSogVGVzdHMvQ01ha2VMaXN0cy50eHQ6IFRlc3QgdGhhdCBDVGVzdCBjYW4gaGFuZGxlIG1pc3NpbmcgbmV3bGluZXMKCgkgIFdlIGNyZWF0ZSB0ZXN0ICdDVGVzdC5Ob05ld2xpbmUnIHRvIHByaW50IG91dHB1dCB3aXRoIG5vIG5ld2xpbmUuCgkgICBUaGlzIHRlc3RzIENUZXN0J3MgYWJpbGl0eSB0byBoYW5kbGUgYSBtaXNzaW5nIG5ld2xpbmUuCgoyMDA5LTA5LTExIDE2OjIwICBraW5nCgoJKiBTb3VyY2UvQ1Rlc3QvY21Qcm9jZXNzLmN4eDogRml4IG5ldyBDVGVzdCBvdXRwdXQgaGFuZGxpbmcgZm9yIG5vCgkgIG5ld2xpbmUKCgkgIFdoZW4gd2UgY2xlYXIgdGhlIGJ1ZmZlciBmb3IgYW4gb3V0cHV0IHBpcGUgYWZ0ZXIgcmV0dXJuaW5nIHRoZQoJICBsYXN0IHBhcnRpYWwgbGluZSAod2l0aG91dCBhIG5ld2xpbmUpIHdlIG5lZWQgdG8gc2V0IHRoZSBwYXJ0aWFsCgkgIGxpbmUgcmFuZ2UgdG8gZW1wdHkuCU90aGVyd2lzZSB0aGUgYnVmZmVyIG9iamVjdCBpcyBsZWZ0IGluIGFuCgkgIGluY29uc2lzdGVudCBzdGF0ZS4KCjIwMDktMDktMTEgMTM6MzQgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0LmgsIGN0ZXN0LmN4eCwKCSAgQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eDogQWRkIGxhYmVsIHN1bW1hcnkgdGltZXMgdG8gY3Rlc3QKCSAgZGVmYXVsdCBvdXRwdXQuICBBbHNvLCByZW1vdmUgcGFyYWxsZWwgdGltZSBvdXRwdXQuICBBZGQgZmxhZyB0bwoJICBkaXNhYmxlIGxhYmVsIHN1bW1hcnkuCgoyMDA5LTA5LTExIDEyOjI2ICBraW5nCgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0TXVsdGlQcm9jZXNzSGFuZGxlci5jeHgsCgkgIGNtQ1Rlc3RSdW5UZXN0LmN4eCwgY21DVGVzdFJ1blRlc3QuaCwgY21Qcm9jZXNzLmN4eCwgY21Qcm9jZXNzLmg6CgkgIFJld3JpdGUgQ1Rlc3QgY2hpbGQgb3V0cHV0IGhhbmRsaW5nCgoJICBUaGlzIGNvbW1pdCBmaXhlcyBjbUNUZXN0UnVuVGVzdCBhbmQgY21Qcm9jZXNzIHRvIG1vcmUKCSAgZWZmaWNpZW50bHkgaGFuZGxlIGNoaWxkIG91dHB1dC4gIFdlIG5vdyB1c2UgdGhlIGJ1ZmZlciBmb3IgZWFjaAoJICBjaGlsZCBvdXRwdXQgcGlwZSB0byBob2xkIGF0IG1vc3QgYSBwYXJ0aWFsIGxpbmUgcGx1cyBvbmUgbmV3CgkgIGJsb2NrIG9mIGRhdGEgYXQgYSB0aW1lLiAgQWxsIGNvbXBsZXRlIGxpbmVzIGFyZSBzY2FubmVkCgkgIGluLXBsYWNlLCBhbmQgdGhlbiBvbmx5IHRoZSBwYXJ0aWFsIGxpbmUgYXQgdGhlIGVuZCBvZiB0aGUgYnVmZmVyCgkgIGlzIG1vdmVkIGJhY2sgdG8gdGhlIGJlZ2lubmluZyBiZWZvcmUgYXBwZW5kaW5nIG5ldyBkYXRhLgoKCSAgV2UgYWxzbyBzaW1wbGlmeSB0aGUgY21Qcm9jZXNzIGludGVyZmFjZSBieSBtYWtpbmcKCSAgR2V0TmV4dE91dHB1dExpbmUgdGhlIG9ubHkgbWV0aG9kIHRoYXQgbmVlZHMgdG8gYmUgY2FsbGVkIHdoaWxlCgkgIHRoZSBwcm9jZXNzIGlzIHJ1bm5pbmcuICBUaGlzIHNpbXBsaWZpZXMgY21DVGVzdFJ1blRlc3Qgc28gdGhhdAoJICBDaGVja091dHB1dCBjYW4gYmUgY2FsbGVkIHVudGlsIGl0IHJldHVybnMgZmFsc2Ugd2hlbiB0aGUgcHJvY2VzcwoJICBpcyBkb25lLgoKMjAwOS0wOS0xMSAxMDowOSAga2luZwoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdE11bHRpUHJvY2Vzc0hhbmRsZXIuY3h4LAoJICBjbUNUZXN0UnVuVGVzdC5jeHgsIGNtQ1Rlc3RSdW5UZXN0Lmg6IEluaXRpYWxpemUgY21DVGVzdFJ1blRlc3QKCSAgaW5zdGFuY2VzIHJvYnVzdGx5CgoJICBBbGwgaW5zdGFuY2VzIG9mIHRoaXMgY2xhc3MgbmVlZCBhIGNtQ1Rlc3RUZXN0SGFuZGxlciwgc28gd2Ugbm93CgkgIHJlcXVpcmUgb25lIHRvIGNvbnN0cnVjdCBpdC4JVGhlIGluc3RhbmNlIGFsc28gcHJvdmlkZXMgdGhlCgkgIGNtQ1Rlc3QgaW5zdGFuY2UgdG9vLgoKMjAwOS0wOS0xMSAxMDowNCAga2luZwoKCSogU291cmNlLzogY21DYWNoZU1hbmFnZXIuY3h4LCBjbUNhY2hlTWFuYWdlci5oLCBjbWFrZS5jeHg6IFJlbW92ZQoJICBiYXJlbHktdXNlZCBjbUNhY2hlTWFuYWdlcjo6QWRkQ2FjaGVFbnRyeQoKCSAgVGhlIGNvbW1pdCAiUmVtb3ZlIGJhcmVseS11c2VkIGNtTWFrZWZpbGU6OkFkZENhY2hlRGVmaW5pdGlvbiIKCSAgcmVtb3ZlZCBhbGwgYnV0IG9uZSB1c2Ugb2YgdGhlIGNtQ2FjaGVNYW5hZ2VyIG1ldGhvZCAnYm9vbCcKCSAgb3ZlcmxvYWQuICBUaGlzIGNvbW1pdCByZW1vdmVzIHRoZSBvdGhlciB1c2UgYW5kIHRoZSBlbnRpcmUKCSAgbWV0aG9kLCB0aHVzIHJlZHVjaW5nIGNvZGUgZHVwbGljYXRpb24uCgoyMDA5LTA5LTExIDEwOjAzICBraW5nCgoJKiBTb3VyY2UvY21PcHRpb25Db21tYW5kLmN4eDogRml4IG9wdGlvbigpIGludGVycHJldGF0aW9uIG9mCgkgIG5vbi1ib29sZWFuIHZhbHVlcwoKCSAgVGhlIGNvbW1pdCAiUmVtb3ZlIGJhcmVseS11c2VkIGNtTWFrZWZpbGU6OkFkZENhY2hlRGVmaW5pdGlvbiIKCSAgYnJva2Ugb3B0aW9uKCkgY2FsbHMgdGhhdCBwYXNzIGEgbm9uLWJvb2xlYW4gZGVmYXVsdCB2YWx1ZS4gIFdlCgkgIHJlc3RvcmUgdGhlIG9sZCBiZWhhdmlvciBieSBhbHdheXMgY29lcmNpbmcgdGhlIHZhbHVlIHRvICdPTicgb3IKCSAgJ09GRicuCgoyMDA5LTA5LTExIDA4OjE3ICBraW5nCgoJKiBTb3VyY2UvOiBDUGFjay9jcGFjay5jeHgsIENUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4LAoJICBDdXJzZXNEaWFsb2cvY21DdXJzZXNNYWluRm9ybS5jeHgsIGNtQ01ha2VNaW5pbXVtUmVxdWlyZWQuY3h4LAoJICBjbUV4ZWN1dGVQcm9jZXNzQ29tbWFuZC5jeHgsIGNtRmlsZUNvbW1hbmQuY3h4LAoJICBjbUZpbmRQYWNrYWdlQ29tbWFuZC5jeHgsIGNtUG9saWNpZXMuY3h4LCBjbVNldENvbW1hbmQuY3h4LAoJICBjbVN5c3RlbVRvb2xzLmN4eCwgY21VdGlsaXR5U291cmNlQ29tbWFuZC5jeHg6IEFkZCBwYXJlbnRoZXNlcwoJICBhcm91bmQgJyYmJyBiZXR3ZWVuICd8fCcgZm9yIGdjYwoKCSAgVGhlIEdOVSBjb21waWxlciB3YXJucyBhYm91dCBwb3NzaWJsZSBvcGVyYXRvciBwcmVjZWRlbmNlCgkgIG1pc3Rha2VzIGFuZCBhc2tzIGZvciBleHBsaWNpdCBwYXJlbnRoZXNlcyAoLVdwYXJlbnRoZXNlcykuICBXZQoJICBhZGQgdGhlIHBhcmVudGhlc2VzIHRvIHNpbGVuY2UgdGhlIHdhcm5pbmcuICBUaGlzIGFsc28gZml4ZXMgb25lCgkgIHJlYWwgbG9naWMgZXJyb3IgaW4gdGhlIGZpbmRfcGFja2FnZSgpIGltcGxlbWVudGF0aW9uIGJ5CgkgIGNvcnJlY3RpbmcgZXhwcmVzc2lvbiBldmFsdWF0aW9uIG9yZGVyLgoKMjAwOS0wOS0xMSAwMDowMSAga3dyb2JvdAoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBLV1N5cyBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDktMTAgMTY6NTkgIGtpbmcKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsIGNtT3B0aW9uQ29tbWFuZC5jeHgsCgkgIGNtUG9saWNpZXMuY3h4LCBjbVBvbGljaWVzLmgsIGNtU2V0Q29tbWFuZC5jeHgsIGNtU2V0Q29tbWFuZC5oOgoJICBDcmVhdGUgQ01ha2UgUG9saWN5IENNUDAwMTUgdG8gZml4IHNldChDQUNIRSkKCgkgIFRoZSBzZXQoQ0FDSEUpIGFuZCBvcHRpb24oKSBjb21tYW5kcyBzaG91bGQgYWx3YXlzIGV4cG9zZSB0aGUKCSAgY2FjaGUgdmFsdWUuCVByZXZpb3VzbHkgd2UgZmFpbGVkIHRvIGV4cG9zZSB0aGUgdmFsdWUgd2hlbiBpdAoJICB3YXMgYWxyZWFkeSBzZXQgaWYgYSBsb2NhbCB2YXJpYWJsZSBkZWZpbml0aW9uIGhpZCBpdC4gIFdoZW4gc2V0CgkgIHRvIE5FVywgdGhpcyBwb2xpY3kgdGVsbHMgdGhlIGNvbW1hbmRzIHRvIGFsd2F5cyByZW1vdmUgdGhlIGxvY2FsCgkgIHZhcmlhYmxlIGRlZmluaXRpb24gdG8gZXhwb3NlIHRoZSBjYWNoZSB2YWx1ZS4gIFNlZSBpc3N1ZSAjOTAwOC4KCjIwMDktMDktMTAgMTY6NTkgIGtpbmcKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsIGNtT3B0aW9uQ29tbWFuZC5jeHg6CgkgIFJlbW92ZSBiYXJlbHktdXNlZCBjbU1ha2VmaWxlOjpBZGRDYWNoZURlZmluaXRpb24KCgkgIFRoZSBib29sZWFuIG92ZXJsb2FkIG9mIHRoaXMgbWV0aG9kIHdhcyB1c2VkIG9ubHkgdG8gaW1wbGVtZW50CgkgIG9wdGlvbigpLiAgV2UgcmUtaW1wbGVtZW50IG9wdGlvbigpIGluIHRlcm1zIG9mIHRoZSBtYWluIG1ldGhvZAoJICBhbmQgcmVtb3ZlcyB0aGUgbm93LXVudXNlZCBzaWduYXR1cmUuICBUaGlzIHJlbW92ZXMgc29tZQoJICBkdXBsaWNhdGUgY29kZSB0aGF0IGhhZCBhbHJlYWR5IGZhbGxlbiBiZWhpbmQgb24gY2hhbmdlcyAoaXQgd2FzCgkgIG5vdCByZW1vdmluZyB0aGUgbG9jYWwgZGVmaW5pdGlvbiBpbnN0ZWFkIG9mIHNldHRpbmcgaXQpLgoKMjAwOS0wOS0xMCAxMzo0OSAgYWxleAoKCSogU291cmNlLzogY21FeHRyYUVjbGlwc2VDRFQ0R2VuZXJhdG9yLmN4eCwKCSAgY21FeHRyYUVjbGlwc2VDRFQ0R2VuZXJhdG9yLmg6IHN5bmMgdGFyZ2V0IGdlbmVyYXRpb24gd2l0aCB0aGUKCSAgQ29kZUJsb2NrcyBnZW5lcmF0b3IKCgkgIEJhc2ljYWxseSB0aGUgY29kZSBpcyBub3cgYSBjb3B5IG9mIHRoZSBvbmUgZnJvbSB0aGUgQ29kZUJsb2NrcwoJICBnZW5lcmF0b3IsIG1heWJlIHRoaXMgY291bGQgbW92ZSBpbnRvIGEgY29tbW9uIGhlbHBlciBmdW5jdGlvbgoJICBzb21ld2hlcmU6IC1vbmx5IGluc2VydCBHTE9CQUwgdGFyZ2V0cyBmcm9tIHRoZSB0b3BsZXZlbAoJICBkaXJlY3RvcnkgLWRvbid0IGluc2VydCB0aGUgZWRpdF9jYWNoZSB0YXJnZXQgaWYgaXQgY2FsbHMgY2NtYWtlLAoJICBzaW5jZSB0aGlzIGRvZXNuJ3Qgd29yayBpbiB0aGUgb3V0cHV0IHRhYiBvZiBFY2xpcHNlIC1hZGQgdGhlCgkgIC9mYXN0IHRhcmdldHMKCgkgIEFsZXgKCjIwMDktMDktMTAgMTM6NDQgIGFsZXgKCgkqIFNvdXJjZS9jbUV4dHJhQ29kZUJsb2Nrc0dlbmVyYXRvci5jeHg6IEFzIGluIHRoZSBFY2xpcHNlCgkgIGdlbmVyYXRvcjogZG9uJ3QgaW5zZXJ0IHRoZSBlZGl0X2NhY2hlIHRhcmdldCBpZiBpdCBpcyBjY21ha2UsCgkgIHNpbmNlIHRoaXMgZG9lc24ndCB3b3JrIGluIHRoZSBvdXRwdXQgdGFiIG9mIHRoZSBJREUKCjIwMDktMDktMTAgMTE6MTggIHphY2gubXVsbGVuCgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0QmF0Y2hUZXN0SGFuZGxlci5jeHgsCgkgIGNtQ1Rlc3RCYXRjaFRlc3RIYW5kbGVyLmg6IEFkZGVkIHNvbWUgY3Rlc3QgYmF0Y2ggY2FwYWJpbGl0aWVzCgoyMDA5LTA5LTEwIDExOjE2ICB6YWNoLm11bGxlbgoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIENUZXN0L2NtQ1Rlc3RNdWx0aVByb2Nlc3NIYW5kbGVyLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdE11bHRpUHJvY2Vzc0hhbmRsZXIuaCwgQ1Rlc3QvY21DVGVzdFJ1blRlc3QuY3h4LAoJICBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4LCBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuaDogQlVHOgoJICBGaXhlZCBzZWdmYXVsdCBhbmQgYmFkIHJlcG9ydGluZyBpZiBhIGN0ZXN0IGV4ZWN1dGFibGUgY291bGQgbm90CgkgIGJlIGZvdW5kLiAgQWxzbyBhZGRlZCBzb21lIGJhdGNoIHRlc3RpbmcgY29kZSB0aGF0IGlzIG5vdCB5ZXQKCSAgY29tcGxldGUuCgoyMDA5LTA5LTEwIDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IEtXU3lzIE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wOS0wOSAxNjozOSAga2luZwoKCSogVGVzdHMvRm9ydHJhbi9DTWFrZUxpc3RzLnR4dDogRW5hYmxlIEMgYW5kIEMrKyBmaXJzdCBpbiBGb3J0cmFuCgkgIHRlc3QKCgkgIENNYWtlIG5vdyBsb29rcyBmb3IgYSBGb3J0cmFuIGNvbXBpbGVyIG1hdGNoaW5nIGFueSBDIG9yIEMrKwoJICBjb21waWxlciBhbHJlYWR5IGVuYWJsZWQuICBXZSB0ZXN0IHRoaXMgYnkgZW5hYmxpbmcgQyBhbmQgQysrCgkgIGZpcnN0IGluIHRoZSBGb3J0cmFuIHRlc3QsIHdoaWNoIGlzIHdoYXQgdXNlciBwcm9qZWN0cyB3aWxsCgkgIGxpa2VseSBkby4KCjIwMDktMDktMDkgMTY6MzkgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVGb3J0cmFuQ29tcGlsZXIuY21ha2U6IEJpYXMgRm9ydHJhbgoJICBjb21waWxlciBzZWFyY2ggd2l0aCBDL0MrKyBjb21waWxlcnMKCgkgIFdoZW4gQ01BS0VfRm9ydHJhbl9DT01QSUxFUiBhbmQgRU5We0ZDfSBhcmUgbm90IGRlZmluZWQgQ01ha2UKCSAgc2VhcmNoZXMgZm9yIGFuIGF2YWlsYWJsZSBGb3J0cmFuIGNvbXBpbGVyLiAgVGhpcyBjb21taXQgdGVhY2hlcwoJICB0aGUgc2VhcmNoIGNvZGUgdG8gbG9vayBmb3IgY29tcGlsZXIgZXhlY3V0YWJsZXMgbmV4dCB0byB0aGUgQwoJICBhbmQgQysrIGNvbXBpbGVycyBpZiB0aGV5IGFyZSBhbHJlYWR5IGZvdW5kLglGdXJ0aGVybW9yZSwgd2UKCSAgYmlhcyB0aGUgY29tcGlsZXIgZXhlY3V0YWJsZSBuYW1lIHByZWZlcmVuY2Ugb3JkZXIgYmFzZWQgb24gdGhlCgkgIHZlbmRvciBvZiB0aGUgQyBhbmQgQysrIGNvbXBpbGVycywgd2hpY2ggaW5jcmVhc2VzIHRoZSBjaGFuY2Ugb2YKCSAgZmluZGluZyBhIGNvbXBhdGlibGUgY29tcGlsZXIgYnkgZGVmYXVsdC4KCjIwMDktMDktMDkgMDA6MDEgIGt3cm9ib3QKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogS1dTeXMgTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA5LTA4IDE3OjI4ICBkYXZpZC5jb2xlCgoJKiBNb2R1bGVzL0V4dGVybmFsUHJvamVjdC5jbWFrZTogTWlzc2VkIGFub3RoZXIgQ01BS0VfQ0ZHX0lOVERJUgoJICByZWZlcmVuY2UgaW4gdGhlIHByZXZpb3VzbHkgcHJldmlvdXMgY29tbWl0LgoKMjAwOS0wOS0wOCAxNzoxMCAgemFjaC5tdWxsZW4KCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RNdWx0aVByb2Nlc3NIYW5kbGVyLmN4eCwKCSAgY21DVGVzdE11bHRpUHJvY2Vzc0hhbmRsZXIuaCwgY21DVGVzdFRlc3RIYW5kbGVyLmN4eDogRU5IOiBjdGVzdAoJICBub3cgd3JpdGVzIHRpbWUgY29zdCBkYXRhIHRvIGEgZmlsZSBhZnRlciBhIHRlc3Qgc2V0IGlzIHJ1biwgYW5kCgkgIHVzZXMgdGhlc2UgdGltZSBjb3N0cyB0byBzY2hlZHVsZSB0aGUgcHJvY2Vzc2VzIHRoZSBuZXh0IHRpbWUKCSAgY3Rlc3QgaXMgcnVuIGluIHRoYXQgYnVpbGQgdHJlZS4KCjIwMDktMDktMDggMTY6MTEgIGRhdmlkLmNvbGUKCgkqIE1vZHVsZXMvRXh0ZXJuYWxQcm9qZWN0LmNtYWtlOiBNaXNzZWQgYSBDTUFLRV9DRkdfSU5URElSCgkgIHJlZmVyZW5jZSBpbiB0aGUgcHJldmlvdXMgY29tbWl0LgoKMjAwOS0wOS0wOCAxNTo1NSAga2luZwoKCSogTW9kdWxlcy86IENNYWtlQnVpbGRTZXR0aW5ncy5jbWFrZS5pbiwKCSAgQ01ha2VFeHBvcnRCdWlsZFNldHRpbmdzLmNtYWtlLCBDTWFrZUltcG9ydEJ1aWxkU2V0dGluZ3MuY21ha2UsCgkgIFVzZVZUSzQwLmNtYWtlOiBEcm9wIG9sZCBDTWFrZSAiYnVpbGQgc2V0dGluZ3MiIGV4cG9ydC9pbXBvcnQKCgkgIFRoZSBDTWFrZUV4cG9ydEJ1aWxkU2V0dGluZ3MgYW5kIENNYWtlSW1wb3J0QnVpbGRTZXR0aW5ncyBtb2R1bGVzCgkgIHVzZWQgdG8gZXhwb3J0IGNvbXBpbGVyIHBhdGhzIGFuZCBmbGFncyBmcm9tIG9uZSBwcm9qZWN0IGFuZAoJICBpbXBvcnQgdGhlbSBpbnRvIGFub3RoZXIuICBUaGUgaW1wb3J0IHByb2Nlc3Mgd291bGQgZm9yY2UgdGhlCgkgIHNldHRpbmdzIG9uIHRoZSBpbmNsdWRpbmcgcHJvamVjdC4KCgkgIEZvcmNpbmcgc2V0dGluZ3MgaGVscGVkIGxvbmcgYWdvIHdoZW4gY29tcGlsZXIgQUJJcyBjaGFuZ2VkCgkgIGZyZXF1ZW50bHkgYnV0IGlzIG5vdyBqdXN0IGEgbnVpc2FuY2UuICBXZSd2ZSBkZWVtZWQgdGhlIGJlaGF2aW9yCgkgIGhhcm1mdWwgc28gdGhpcyBjb21taXQgc2ltcGx5IHJlbW92ZXMgaXQuICBUaGUgbW9kdWxlcyBhbmQgbWFjcm9zCgkgIG5vdyBlcnJvciBvdXQgaWYgaW5jbHVkZWQgb3IgY2FsbGVkIGZyb20gYSBwcm9qZWN0IHRoYXQgcmVxdWlyZXMKCSAgQ01ha2UgMi44IG9yIGhpZ2hlci4KCjIwMDktMDktMDggMTU6MzcgIGRhdmlkLmNvbGUKCgkqIE1vZHVsZXMvRXh0ZXJuYWxQcm9qZWN0LmNtYWtlLAoJICBUZXN0cy9FeHRlcm5hbFByb2plY3QvQ01ha2VMaXN0cy50eHQ6IFVzZSBtb3JlCgkgIHZlcmJvc2UvZGVzY3JpcHRpdmUgbmFtZXMgZm9yIHRoZSAicHVibGljIEFQSSIgZnVuY3Rpb25zIGluIHRoZQoJICBFeHRlcm5hbFByb2plY3QuY21ha2UgbW9kdWxlLiBGb2xsb3cgdGhlIGNtYWtlIGZ1bmN0aW9uIG5hbWluZwoJICBjb252ZW50aW9uLCB1c2luZyBhIE1vZHVsZUZpbGVOYW1lXyBwcmVmaXguIExvY2F0ZSBzdGFtcCBmaWxlcwoJICB1bmRlciBhIENNQUtFX0NGR19JTlRESVIgc3ViZGlyIG9mIHRoZSBzdGFtcCBkaXIgc28gdGhhdCBkZWJ1ZwoJICBhbmQgcmVsZWFzZSBidWlsZHMgaGF2ZSBzZXBhcmF0ZSBzdGFtcCBmaWxlcyBmb3IgVmlzdWFsIFN0dWRpbwoJICBidWlsZHMuIElmIG5vIENNQUtFX0dFTkVSQVRPUiBhcmd1bWVudCBpcyBnaXZlbiB0bwoJICBFeHRlcm5hbFByb2plY3RfQWRkLCBkZWZhdWx0IHRvIHVzaW5nIHRoZSBwYXJlbnQgcHJvamVjdCdzIGNtYWtlCgkgIGdlbmVyYXRvci4KCjIwMDktMDktMDggMTQ6NDggIHphY2gubXVsbGVuCgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0TXVsdGlQcm9jZXNzSGFuZGxlci5jeHgsIGNtUHJvY2Vzcy5jeHg6CgkgIEJVRzogRml4ZWQgZXh0cmFuZW91cyBuZXdsaW5lcyBmcm9tIGN0ZXN0IHByb2Nlc3Mgb3V0cHV0CgoyMDA5LTA5LTA4IDEzOjM5ICB6YWNoLm11bGxlbgoKCSogU291cmNlLzogQ1Rlc3QvY21DVGVzdE11bHRpUHJvY2Vzc0hhbmRsZXIuY3h4LAoJICBjbVNldFRlc3RzUHJvcGVydGllc0NvbW1hbmQuaCwKCSAgQ1Rlc3QvY21DVGVzdE11bHRpUHJvY2Vzc0hhbmRsZXIuaCwgQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmg6IEVOSDogUmVwbGFjZWQgdGhlIEVYUEVOU0lWRSB0ZXN0CgkgIHByb3BlcnR5IHdpdGggYSBDT1NUIHRlc3QgcHJvcGVydHkgdGFraW5nIGEgZmxvYXRpbmcgcG9pbnQgdmFsdWUuCgkgIFRlc3RzIGFyZSBub3cgc3RhcnRlZCBpbiBkZXNjZW5kaW5nIG9yZGVyIG9mIHRoZWlyIGNvc3QsIHdoaWNoCgkgIGRlZmF1bHRzIHRvIDAgaWYgbm9uZSBpcyBzcGVjaWZpZWQuCgoyMDA5LTA5LTA4IDEwOjE2ICB6YWNoLm11bGxlbgoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdFJ1blRlc3QuY3h4LCBjbVByb2Nlc3MuY3h4LCBjbVByb2Nlc3MuaDoKCSAgQlVHOiBGaXhlZCBpc3N1ZSB3aGVyZSBjdGVzdCB3b3VsZCBoYW5nIGlmIGEgcHJvY2VzcyB0ZXJtaW5hdGVkCgkgIHdpdGggb3V0cHV0IGluIGl0cyBidWZmZXJzIGJ1dCBubyBuZXdsaW5lCgoyMDA5LTA5LTA4IDA5OjEyICB6YWNoLm11bGxlbgoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RSdW5UZXN0Lmg6IEZpeGVkIHdhcm5pbmcKCjIwMDktMDktMDggMDA6MDEgIGt3cm9ib3QKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogS1dTeXMgTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA5LTA3IDEwOjI2ICB6YWNoLm11bGxlbgoKCSogU291cmNlLzogQ1Rlc3QvY21DVGVzdE11bHRpUHJvY2Vzc0hhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0TXVsdGlQcm9jZXNzSGFuZGxlci5oLCBDVGVzdC9jbUNUZXN0UnVuVGVzdC5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHgsIENUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5oLAoJICBjbVNldFRlc3RzUHJvcGVydGllc0NvbW1hbmQuaDogRU5IOiBBZGRlZCBjdGVzdCB0ZXN0IG9wdGlvbnMKCSAgUFJPQ0VTU09SUyBhbmQgUlVOX1NFUklBTC4gIFRoZXNlIGFsbG93IHNwZWNpZmljYXRpb24gb2YgcmVzb3VyY2UKCSAgYWxsb2NhdGlvbiBmb3IgZ2l2ZW4gdGVzdHMgcnVubmluZyB3aXRoIHRoZSBjdGVzdCAtaiBOIG9wdGlvbi4KCSAgUlVOX1NFUklBTCBlbnN1cmVzIHRoYXQgYSBnaXZlbiB0ZXN0IGRvZXMgbm90IHJ1biBpbiBwYXJhbGxlbAoJICB3aXRoIGFueSBvdGhlciB0ZXN0LglBbHNvIGZvcmNlZCBhcHBlbmRpbmcgb2YgIi4uLiIgdG8gdGhlCgkgIGxvbmdlc3QgdGVzdCBuYW1lIGluIGN0ZXN0LgoKMjAwOS0wOS0wNyAxMDoxMiAga2luZwoKCSogU291cmNlL2NtVmlzdWFsU3R1ZGlvMTBUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21WaXN1YWxTdHVkaW8xMFRhcmdldEdlbmVyYXRvci5oLCBUZXN0cy9DTWFrZUxpc3RzLnR4dDoKCSAgUHV0IGN1c3RvbSBjb21tYW5kcyBpbiB0b3BvbG9naWNhbCBvcmRlciBmb3IgVlMgMTAKCgkgIFZpc3VhbCBTdHVkaW8gMTAgdXNlcyBNU0J1aWxkIHRvIGRyaXZlIHRoZSBidWlsZC4gIEN1c3RvbQoJICBjb21tYW5kcyBhcHBlYXIgaW4gTVNCdWlsZCBmaWxlcyBpbnNpZGUgQ3VzdG9tQnVpbGQgZWxlbWVudHMsCgkgIHdoaWNoIGFwcGVhciBpbnNpZGUgSXRlbUdyb3VwIGVsZW1lbnRzLiAgVGhlIE91dHB1dHMgYW5kCgkgIEFkZGl0aW9uYWxJbnB1dHMgZWxlbWVudHMgb2YgZWFjaCBDdXN0b21CdWlsZCBlbGVtZW50IGFyZQoJICBldmFsdWF0ZWQgYWNjb3JkaW5nIHRvIHRpbWVzdGFtcHMgb24gZGlzay4KCgkgIE1TQnVpbGQgZG9lcyBub3QgdXNlIGlucHV0cy9vdXRwdXRzIHRvIG9yZGVyIEN1c3RvbUJ1aWxkIHN0ZXBzCgkgIHdpdGhpbiBhIHNpbmdsZSBJdGVtR3JvdXAgb3IgYWNyb3NzIG11bHRpcGxlIEl0ZW1Hcm91cCBlbGVtZW50cy4KCSAgSW5zdGVhZCB3ZSBtdXN0IHB1dCBvbmx5IHVucmVsYXRlZCBDdXN0b21CdWlsZCBlbGVtZW50cyBpbiBhCgkgIHNpbmdsZSBJdGVtR3JvdXAgYW5kIG9yZGVyIHRoZSBpdGVtIGdyb3VwcyBmcm9tIHRvcCB0byBib3R0b20KCSAgdXNpbmcgYSB0b3BvbG9naWNhbCBvcmRlciBvZiB0aGUgY3VzdG9tIGNvbW1hbmQgZGVwZW5kZW5jeSBncmFwaC4KCgkgIFRoaXMgZml4ZXMgQ3VzdG9tQ29tbWFuZCBhbmQgRXh0ZXJuYWxQcm9qZWN0IHRlc3QgZmFpbHVyZXMsIHNvIHdlCgkgIHJlbW92ZSB0aGUgZXhwZWN0YXRpb24gb2YgdGhlc2UgZmFpbHVyZXMuCgoyMDA5LTA5LTA3IDEwOjExICBraW5nCgoJKiBTb3VyY2UvOiBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0Lmg6IFNhdmUgc291cmNlIGRlcGVuZGVuY2llcyBmcm9tCgkgIGN1c3RvbSBjb21tYW5kIHRyYWNlCgoJICBJbiBlYWNoIHRhcmdldCB3ZSB0cmFjZSBkZXBlbmRlbmNpZXMgYW1vbmcgY3VzdG9tIGNvbW1hbmRzIHRvCgkgIHB1bGwgaW4gYWxsIHNvdXJjZSBmaWxlcyBhbmQgYnVpbGQgcnVsZXMgbmVjZXNzYXJ5IHRvIGNvbXBsZXRlCgkgIHRoZSB0YXJnZXQuICBUaGlzIGNvbW1pdCB0ZWFjaGVzIGNtVGFyZ2V0IHRvIHNhdmUgdGhlCgkgIGludGVyLXNvdXJjZSBkZXBlbmRlbmNpZXMgZm91bmQgZHVyaW5nIGl0cyBhbmFseXNpcy4JTGF0ZXIgdGhpcwoJICBjYW4gYmUgdXNlZCBieSBnZW5lcmF0b3JzIHRoYXQgbmVlZCB0byB0b3BvbG9naWNhbGx5IG9yZGVyIGN1c3RvbQoJICBjb21tYW5kIHJ1bGVzLgoKMjAwOS0wOS0wNyAxMDoxMSAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFZpc3VhbFN0dWRpbzEwR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5jeHgsIGNtTG9jYWxWaXN1YWxTdHVkaW9HZW5lcmF0b3IuaCwKCSAgY21WaXN1YWxTdHVkaW8xMFRhcmdldEdlbmVyYXRvci5jeHg6IERvIFdpbmRvd3MgY29tbWFuZCBsaW5lCgkgIGVzY2FwZXMgZm9yIFZTIDEwIHRvbwoKCSAgVW50aWwgbm93IHRoZSBWUyAxMCBnZW5lcmF0b3IgZGlkIG5vIFdpbmRvd3MgY29tbWFuZC1saW5lCgkgIGVzY2FwaW5nIGFuZCBqdXN0IGRpZCBYTUwgZXNjYXBlcy4gIFRoaXMgY29tbWl0IHRlYWNoZXMgdGhlCgkgIGdlbmVyYXRvciB0byB1c2UgdGhlIHNhbWUgY29tbWFuZC1saW5lIGVzY2FwZSBhZGRpdGlvbiBjb2RlIHVzZWQKCSAgYnkgb3RoZXIgZ2VuZXJhdG9ycy4JVGhlIHNjcmlwdCBjb25zdHJ1Y3Rpb24gbWV0aG9kCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW9HZW5lcmF0b3I6OkNvbnN0cnVjdFNjcmlwdCBuZWVkIG5vdCBkbyBYTUwKCSAgZXNjYXBlcy4gIEVhY2ggVlMgZ2VuZXJhdG9yIHZlcnNpb24gYWRkcyB0aGUgWE1MIGVzY2FwZXMKCSAgbmVjZXNzYXJ5IGZvciB0aGF0IHZlcnNpb24uCgoyMDA5LTA5LTA3IDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IEtXU3lzIE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wOS0wNiAxMzoyNCAgYWxleAoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4OiBUcnkgdG8gZml4IHRoZSBmYWlsaW5nIG5ldwoJICBTdHJpbmdGaWxlVGVzdCBvbiBIUC1VWAoKCSAgSXQgc2VlbXMgdGhhdCB3aGlsZShpPWZpbGUuZ2V0KCksIGZpbGUpIGl0ZXJhdGVzIG9uZSBjaGFyYWN0ZXIKCSAgdG9vIG11Y2ggb24gSFAtVVgsIGxldCdzIHNlZSB3aGV0aGVyIHdoaWxlKGZpbGUuZ2V0KGMpKSB3b3JrcywgYXQKCSAgbGVhc3QgdGhpcyBpcyBnaXZlbiBhcyBleGFtcGxlIG9uCgkgIGh0dHA6Ly9oMzAwOTcud3d3My5ocC5jb20vY3BsdXMvaWZzdHJlYW1fM2NfX3N0ZC5odG0KCgkgIEFsZXgKCjIwMDktMDktMDYgMTA6MjYgIGFsZXgKCgkqIFRlc3RzL1N0cmluZ0ZpbGVUZXN0LzogQ01ha2VMaXN0cy50eHQsIHRlc3QuYmluOiBBZGQgYSB0ZXN0IGZvcgoJICBGSUxFKFJFQUQgLi4uIEhFWCkgdG9nZXRoZXIgd2l0aCBhIHRpbnkgYmluYXJ5IGZpbGUuCgoJICBBbGV4CgoyMDA5LTA5LTA2IDA5OjQ5ICBhbGV4CgoJKiBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHg6IGZpeCAjOTMxNjogd2hlbiBjb252ZXJ0aW5nIGJpbmFyeSBkYXRhCgkgIHRvIGhleCwgYWxzbyBwcmludCB0aGUgbGVhZGluZyAwJ3MKCgkgIEFsZXgKCjIwMDktMDktMDYgMDU6NDMgIGFsZXgKCgkqIFNvdXJjZS9jbUV4dHJhQ29kZUJsb2Nrc0dlbmVyYXRvci5jeHg6IEltcHJvdmUgdGhlIGFsZ29yaXRobQoJICB3aGljaCBza2lwcyB0YXJnZXRzIHNvIHRoZXkgYXJlIG5vdCBhZGRlZCB0byB0aGUgY29kZWJsb2NrcyBHVUkuCgoJICAtYWRkIGFsbCBnbG9iYWwgdGFyZ2V0cyBmcm9tIENNQUtFX0JJTkFSWV9ESVIgdG8gdGhlIG1lbnUsIGJ1dAoJICBub3QgZnJvbSB0aGUgc3ViZGlycyAtYWRkIGFsbCB1dGlsaXR5IHRhcmdldHMgdG8gdGhlIG1lbnUsIGV4Y2VwdAoJICB0aGUgTmlnaHRseS9FeHBlcmltZW50YWwvQ29udGludW91cy0ic3ViInRhcmdldHMgYXMgZS4KCgkgIEFsZXgKCjIwMDktMDktMDYgMDA6MDEgIGt3cm9ib3QKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogS1dTeXMgTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA5LTA1IDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IEtXU3lzIE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wOS0wNCAxODoxOSAgZGF2aWQuY29sZQoKCSogTW9kdWxlcy9GaW5kTVBJLmNtYWtlOiBPb3BzLiBDbG9zZSBzdHJpbmdzIHdpdGggZG91YmxlIHF1b3Rlcy4KCSAgV2hlcmUgdGhleSdyZSBzdXBwb3NlZCB0byBiZS4KCjIwMDktMDktMDQgMTg6MDIgIGRhdmlkLmNvbGUKCgkqIE1vZHVsZXMvRmluZE1QSS5jbWFrZTogQWRkIE1QSUNIMiBhbmQgTWljcm9zb2Z0IEhQQyBwYXRocywgYWRkCgkgIHBhdGhzIHRvIGZpbmQgbXBpZXhlYy4gTm93IGl0IHdvcmtzIGJldHRlciBhdXRvbWF0aWNhbGx5IG9uCgkgIFdpbmRvd3MuIFRoYW5rcyB0byBEYXZlIFBhcnR5a2EgZm9yIGRldmVsb3BpbmcgdGhlIHBhdGNoLgoKMjAwOS0wOS0wNCAxNzowMSAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eDogRml4IG1lbW9yeSBhbmQgcHJvY2VzcwoJICBsZWFrIGluIGN0ZXN0X3J1bl9zY3JpcHQuCgoyMDA5LTA5LTA0IDE2OjQzICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvOiBDTWFrZVNldHVwRGlhbG9nLmN4eCwgQ01ha2VTZXR1cERpYWxvZy5oOiBmaXgKCSAgZm9jdXMgZmlnaHRpbmcgYmV0d2VlbiBzZWFyY2ggZmllbGQgYW5kIGNhY2hlIHZhbHVlIGVkaXRvcnMKCjIwMDktMDktMDQgMTQ6MDAgIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3VibWl0SGFuZGxlci5jeHg6IEluY3JlYXNlIGN1cmwgc3VibWl0CgkgIHRpbWVvdXQuIEEgc3VibWl0IHdpbGwgdGltZW91dCBpZiB0aGVyZSBhcmUgMTIwIHNlY29uZHMgb2YgdmVyeQoJICBsaXR0bGUgYWN0aXZpdHkuIDMwIHNlY29uZHMgd2FzIHRvbyBzaG9ydC4KCjIwMDktMDktMDQgMTM6NTAgIHphY2gubXVsbGVuCgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0UnVuVGVzdC5jeHgsIGNtUHJvY2Vzcy5jeHgsIGNtUHJvY2Vzcy5oOgoJICBGaXhlZCBjdGVzdCBvdXRwdXQgcHJvY2Vzc2luZy4gIFNob3VsZCBub3cgZGlzcGxheSBvdXRwdXQgYXMgaXQKCSAgb2NjdXJzLCBhcyB3ZWxsIGFzIGJlIGFibGUgdG8gY29uc3VtZSBtdWx0aXBsZSBsaW5lcyBpZiB0aGV5CgkgIGV4aXN0IHdpdGhpbiB0aGUgdGltZW91dC4KCjIwMDktMDktMDQgMTM6MjQgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RSdW5TY3JpcHRDb21tYW5kLmN4eCwKCSAgY21DVGVzdFJ1blNjcmlwdENvbW1hbmQuaCwgY21DVGVzdFNjcmlwdEhhbmRsZXIuY3h4LAoJICBjbUNUZXN0U2NyaXB0SGFuZGxlci5oOiBDaGFuZ2UgcnVuX2N0ZXN0X3NjcmlwdCBpbiBjdGVzdCB0byBub3QKCSAgc3RvcCBwcm9jZXNzaW5nIHdoZW4gdGhlcmUgaXMgYW4gZXJyb3IgaW4gdGhlIHNjcmlwdCBiZWluZyBydW4uCgkgIEFsc28sIGFkZCBhIFJFVFVSTl9WQUxVRSBvcHRpb24gc28gdGhhdCB5b3UgY2FuIGZpbmQgb3V0IGlmIHRoZQoJICBzY3JpcHQgZmFpbGVkCgoyMDA5LTA5LTA0IDEyOjM5ICBraW5nCgoJKiBTb3VyY2UvY21UYXJnZXQuY3h4OiBDbGVhbnVwIHNvdXJjZSBmaWxlIGRlcGVuZGVuY3kgdHJhY2luZyBsb2dpYwoKCSAgSW4gY21UYXJnZXQgd2UgdHJhY2UgdGhlIGRlcGVuZGVuY2llcyBvZiBzb3VyY2UgZmlsZXMgaW4gdGhlCgkgIHRhcmdldCB0byBicmluZyBpbiBhbGwgY3VzdG9tIGNvbW1hbmRzIG5lZWRlZCB0byBnZW5lcmF0ZSB0aGVtLgoJICBXZSBjbGVhbiB1cCB0aGUgaW1wbGVtZW50YXRpb24gdG8gdXNlIHNpbXBsZXIgbG9naWMgYW5kIGJldHRlcgoJICBtZXRob2QgbmFtZXMuICBUaGUgbmV3IGFwcHJvYWNoIGlzIGJhc2VkIG9uIHRoZSBvYnNlcnZhdGlvbiB0aGF0CgkgIGEgc291cmNlIGZpbGUgaXMgYWN0dWFsbHkgYW4gaW5wdXQgKGRlcGVuZGVuY3kpIG9mIHRoZSBydWxlIHRoYXQKCSAgaXQgcnVucyAoY29tcGlsZXIgb3IgY3VzdG9tKSBldmVuIGluIHRoZSBjYXNlIHRoYXQgaXQgaXMKCSAgZ2VuZXJhdGVkIChhbm90aGVyIC5ydWxlIGZpbGUgaGFzIHRoZSBydWxlIHRvIGdlbmVyYXRlIGl0KS4KCjIwMDktMDktMDQgMTI6MzkgIGtpbmcKCgkqIFNvdXJjZS86IGNtVGFyZ2V0LmN4eCwgY21UYXJnZXQuaDogQ2xlYW51cCBjbVRhcmdldCBzb3VyY2UgZmlsZQoJICBsaXN0IHJlcHJlc2VudGF0aW9uCgoJICBUaGlzIHRlYWNoZXMgY21UYXJnZXQgdG8gdXNlIGEgc2V0IG9mIGNtU291cmNlRmlsZSBwb2ludGVycyB0bwoJICBndWFyYW50ZWUgdW5pcXVlIGluc2VydGlvbiBvZiBzb3VyY2UgZmlsZXMgaW4gYSB0YXJnZXQuICBUaGUKCSAgb3JkZXIgb2YgaW5zZXJ0aW9uIGlzIHN0aWxsIHByZXNlcnZlZCBpbiB0aGUgU291cmNlRmlsZXMgdmVjdG9yLgoKMjAwOS0wOS0wNCAxMjozOCAga2luZwoKCSogU291cmNlL2NtYWtlLmN4eDogU2ltcGxpZnkgVlMgQ01ha2UgcmUtcnVuIGNoZWNrCgoJICBXaGVuIENNYWtlIGlzIGludm9rZWQgYnkgdGhlIFZTIElERSByZS1ydW4gcnVsZSB3ZSBjb21wdXRlCgkgIHdoZXRoZXIgb3Igbm90IENNYWtlIHJlYWxseSBuZWVkcyB0byByZS1ydW4gYmFzZWQgb24gc29tZQoJICB0aW1lc3RhbXAgaGVscGVyIGZpbGVzLiAgUHJldmlvdXNseSB3ZSBhc3N1bWVkIHRoYXQgaWYgdGhlIG1haW4KCSAgZ2VuZXJhdGUuc3RhbXAgZmlsZSBleGlzdHMgdGhlbiBWUyBoYXMgY29ycmVjdGx5IGRldGVjdGVkIHRoYXQKCSAgdGhlIGZpbGUgaXMgb3V0IG9mIGRhdGUuICBIb3dldmVyLCB0aGlzIGFzc3VtcHRpb24gaXMgdG9vCgkgIGFnZ3Jlc3NpdmUgYW5kIHJlLXJ1bnMgQ01ha2UgdW5uZWNlc3NhcmlseSBzb21ldGltZXMuCgoJICBUaGlzIGNvbW1pdCByZW1vdmVzIHRoZSBhc3N1bXB0aW9uIGFuZCBhbHdheXMgY2hlY2tzIHRpbWVzdGFtcHMKCSAgaXRzZWxmLiAgVGhlIGNoYW5nZSBicmVha3MgdGhlIGV4cGxpY2l0IHVzZXIgcmUtcnVuIHJlcXVlc3QKCSAgKFItY2xpY2sgLT4gQ29tcGlsZSkgYnV0IG9ubHkgaW4gY2FzZXMgd2hlbiB0aGUgYnVpbGQgc3lzdGVtIGlzCgkgIGFscmVhZHkgdXAgdG8gZGF0ZS4KCjIwMDktMDktMDQgMTI6MzcgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsVmlzdWFsU3R1ZGlvOEdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvOEdlbmVyYXRvci5oOiBTaW1wbGlmeSBWUyBnZW5lcmF0b3IKCSAgWkVST19DSEVDSyBkZXBlbmRlbmN5CgoJICBUaGUgVlMgZ2VuZXJhdG9ycyB1c2UgYSBaRVJPX0NIRUNLIHRhcmdldCBvbiB3aGljaCBhbGwgb3RoZXIKCSAgdGFyZ2V0cyBkZXBlbmQgdG8gY2hlY2sgd2hldGhlciBDTWFrZSBuZWVkcyB0byByZS1ydW4uICBUaGlzCgkgIGNvbW1pdCBzaW1wbGlmaWVzIHRoZSBhZGRpdGlvbiBvZiBhIGRlcGVuZGVuY3kgb24gdGhlIHRhcmdldCB0bwoJICBhbGwgb3RoZXIgdGFyZ2V0cy4KCgkgIFdlIGFsc28gbW92ZSBhZGRpdGlvbiBvZiBkZXBlbmRlbmNpZXMgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUKCSAgR2VuZXJhdGUgc3RlcC4gIFRoaXMgYWxsb3dzIHRoZSBkZXBlbmRlbmN5IG9uIFpFUk9fQ0hFQ0sgdG8gYmUKCSAgaW5jbHVkZWQgaW4gdGhlIGdsb2JhbCBpbnRlci10YXJnZXQgZGVwZW5kZW5jeSBhbmFseXNpcy4KCjIwMDktMDktMDQgMTE6MjMgIHphY2gubXVsbGVuCgoJKiBTb3VyY2UvQ1Rlc3QvY21Qcm9jZXNzLmN4eDogRml4ZWQgb3V0cHV0IGFzLWl0LWhhcHBlbnMgaXNzdWUuCgkgIE5vdyBkaXNwbGF5cyBvdXRwdXQgYXMgaXQgcmVjZWl2ZXMgZWFjaCBuZXdsaW5lLgoKMjAwOS0wOS0wNCAxMDoxNiAgemFjaC5tdWxsZW4KCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RNdWx0aVByb2Nlc3NIYW5kbGVyLmN4eCwKCSAgY21DVGVzdE11bHRpUHJvY2Vzc0hhbmRsZXIuaCwgY21DVGVzdFRlc3RIYW5kbGVyLmN4eCwKCSAgY21Qcm9jZXNzLmN4eDogQWRkZWQgdGhlIHRlc3QgcHJvcGVydHkgRVhQRU5TSVZFLCB3aGljaCBkZW5vdGVzCgkgIHRoYXQgdGhlIGdpdmVuIHRlc3Qocykgc2hvdWxkIGJlIHN0YXJ0ZWQgcHJpb3IgdG8gdGVzdHMgdGhhdCBhcmUKCSAgbm90IG1hcmtlZCBhcyBzdWNoLiBBbHNvIGZpeGVkIHRlc3QgZGVwZW5kZW5jaWVzLCBhbmQgYSBmZXcKCSAgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgaW4gY21Qcm9jZXNzLgoKMjAwOS0wOS0wNCAwMDowMSAga3dyb2JvdAoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBLV1N5cyBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDktMDMgMTc6MDEgIGhvZmZtYW4KCgkqIENNYWtlQ1BhY2tPcHRpb25zLmNtYWtlLmluLCBDTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL0NNYWtlTGlzdHMudHh0LCBTb3VyY2UvY21Eb2N1bWVudFZhcmlhYmxlcy5jeHgsCgkgIFNvdXJjZS9jbWFrZS5jeHg6IFJlbW92ZSBDTWFrZVNldHVwLiBMb25nIGxpdmUgY21ha2UtZ3VpLCBzdGFydAoJICBidWlsZGluZyBRdCBub3cuCgoyMDA5LTA5LTAzIDE1OjU4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21TdWJkaXJDb21tYW5kLmg6IHNvbWUgd2hpdGUgc3BhY2UgZml4ZXMgZm9yIHRoZSBib29rCgoyMDA5LTA5LTAzIDE1OjUwICB6YWNoLm11bGxlbgoKCSogU291cmNlL0NUZXN0L2NtUHJvY2Vzcy5jeHg6IEZpeGVkIDIgdW51c2VkIHZhcmlhYmxlIHdhcm5pbmdzCgoyMDA5LTA5LTAzIDE1OjMzICB6YWNoLm11bGxlbgoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdE11bHRpUHJvY2Vzc0hhbmRsZXIuY3h4LAoJICBjbUNUZXN0UnVuVGVzdC5jeHgsIGNtQ1Rlc3RSdW5UZXN0LmgsIGNtUHJvY2Vzcy5jeHgsIGNtUHJvY2Vzcy5oOgoJICBBbGxvd2VkIHRlc3RzIHRvIHB1bGwgbW9yZSB0aGFuIG9uZSBsaW5lIG9mIG91dHB1dCBpbiB0aGVpcgoJICBxdWFudHVtLiAgRml4ZWQgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgaW4gdGhlIGNhc2UgdGhhdCB0aGUgdGVzdAoJICBwcm9jZXNzIGNvdWxkIG5vdCBzdGFydC4KCjIwMDktMDktMDMgMTU6MjkgIG1hcnRpbmsKCgkqIE1vZHVsZXMvQ1BhY2suY21ha2UsIE1vZHVsZXMvRmVhdHVyZVN1bW1hcnkuY21ha2UsCgkgIFNvdXJjZS9jbUFkZEV4ZWN1dGFibGVDb21tYW5kLmgsIFNvdXJjZS9jbUFkZExpYnJhcnlDb21tYW5kLmgsCgkgIFNvdXJjZS9jbURlZmluZVByb3BlcnR5Q29tbWFuZC5oLCBTb3VyY2UvY21Eb2N1bWVudFZhcmlhYmxlcy5jeHgsCgkgIFNvdXJjZS9jbUVuYWJsZUxhbmd1YWdlQ29tbWFuZC5oLCBTb3VyY2UvY21GaW5kQ29tbW9uLmN4eCwKCSAgU291cmNlL2NtTGlzdENvbW1hbmQuaCwgU291cmNlL2NtU2V0Q29tbWFuZC5oLAoJICBTb3VyY2UvY21TZXREaXJlY3RvcnlQcm9wZXJ0aWVzQ29tbWFuZC5oLAoJICBTb3VyY2UvY21TdWJkaXJDb21tYW5kLmgsIFNvdXJjZS9jbVRyeVJ1bkNvbW1hbmQuaDogc29tZSB3aGl0ZQoJICBzcGFjZSBmaXhlcyBmb3IgdGhlIGJvb2sKCjIwMDktMDktMDMgMTI6MTEgIGRhdmlkLmNvbGUKCgkqIE1vZHVsZXMvRXh0ZXJuYWxQcm9qZWN0LmNtYWtlLAoJICBUZXN0cy9FeHRlcm5hbFByb2plY3QvQ01ha2VMaXN0cy50eHQ6IEFkZCB0ZXN0IHN0ZXAgdG8KCSAgRXh0ZXJuYWxQcm9qZWN0IGJ1aWxkcy4gUmVuYW1lIFNWTl9UQUcgdG8gU1ZOX1JFVklTSU9OIHNpbmNlIGl0CgkgIGlzIGEgbW9yZSBhY2N1cmF0ZSBuYW1lLgoKMjAwOS0wOS0wMyAxMToxNCAgemFjaC5tdWxsZW4KCgkqIFNvdXJjZS86IENUZXN0L2NtQ1Rlc3RNdWx0aVByb2Nlc3NIYW5kbGVyLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdFRlc3RDb21tYW5kLmgsIENUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5oLCBjbVNldFRlc3RzUHJvcGVydGllc0NvbW1hbmQuaDogRml4ZWQKCSAgd2FybmluZ3MKCjIwMDktMDktMDMgMTE6MTAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9SZWd1bGFyRXhwcmVzc2lvbi5oeHguaW46IENPTVA6IFNpbGVuY2UgdXNlbGVzcwoJICBCb3JsYW5kIGlubGluaW5nIHdhcm5pbmcKCgkgIEtXU3lzIHRyaWVzIG5vdCB0byBmb3JjZSBhbnl0aGluZyBvbiBzb3VyY2UgZmlsZXMgdGhhdCBpbmNsdWRlCgkgIGl0cyBoZWFkZXJzLCBidXQgQm9ybGFuZCB3YXJuaW5nIDgwMjcgbGVhdmVzIHVzIG5vIGNob2ljZSB3aGVuIHdlCgkgIHdhbnQgdG8gaGF2ZSBpbmxpbmUgZnVuY3Rpb24gZGVmaW5pdGlvbnMuICBUaGlzIGNvbW1pdCBkaXNhYmxlcwoJICB0aGUgd2FybmluZyBmb3IgdGhlIFJlZ3VsYXJFeHByZXNzaW9uIGhlYWRlciBhbmQgYW55IGZpbGUgdGhhdAoJICBpbmNsdWRlcyBpdC4KCjIwMDktMDktMDMgMTA6NDcgIHphY2gubXVsbGVuCgoJKiBTb3VyY2UvY21TZXRUZXN0c1Byb3BlcnRpZXNDb21tYW5kLmgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0TWVtQ2hlY2tDb21tYW5kLmgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0TXVsdGlQcm9jZXNzSGFuZGxlci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0UnVuVGVzdC5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmgsCgkgIFRlc3RzL0NUZXN0VGVzdDMvdGVzdC5jbWFrZS5pbjogRU5IOiBBZGRlZCBQQVJBTExFTF9MRVZFTCBvcHRpb24KCSAgZm9yIGN0ZXN0X21lbWNoZWNrKCkuICBBZGRlZCBQUk9DRVNTT1JTIG9wdGlvbiB0bwoJICBzZXRfdGVzdHNfcHJvcGVydGllcyAoaW1wbGVtZW50YXRpb24gdG8gY29tZSkuCgoyMDA5LTA5LTAzIDA4OjI3ICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21Qb2xpY2llcy5jeHgsIGNtUG9saWNpZXMuaDoKCSAgQ3JlYXRlIENNUDAwMTQgdG8gcmVxdWlyZSBDTWFrZUxpc3RzLnR4dCBmaWxlcwoKCSAgVW50aWwgbm93IENNYWtlIGFjY2lkZW50YWxseSBhY2NlcHRlZCBhZGRfc3ViZGlyZWN0b3J5KCkgYW5kCgkgIHN1YmRpcnMoKSBjYWxscyByZWZlcnJpbmcgdG8gZGlyZWN0b3JpZXMgdGhhdCBkbyBub3QgY29udGFpbiBhCgkgIENNYWtlTGlzdHMudHh0IGZpbGUuCVdlIGludHJvZHVjZSBDTWFrZSBQb2xpY3kgQ01QMDAxNCB0byBtYWtlCgkgIHRoaXMgY2FzZSBhbiBlcnJvci4KCjIwMDktMDktMDMgMDg6MjYgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBjbUxvY2FsR2VuZXJhdG9yLmg6IEZhY3RvcgoJICBjbUxvY2FsR2VuZXJhdG9yOjpDb25maWd1cmUgaW5wdXQgZmlsZSByZWFkCgoJICBUaGlzIG1ldGhvZCB0ZWxscyB0aGUgY21NYWtlZmlsZSB0byByZWFkIHRoZSBpbnB1dCBDTWFrZUxpc3RzLnR4dAoJICBmaWxlLiAgV2UgZmFjdG9yIG91dCB0aGUgY2FsbCBpbnRvIGEgUmVhZElucHV0RmlsZSBtZXRob2Qgc28gaXQKCSAgY2FuIGJlIGV4dGVuZGVkIHdpdGhvdXQgcG9sbHV0aW5nIHRoZSBDb25maWd1cmUgbWV0aG9kLgoKMjAwOS0wOS0wMyAwODoyNiAga2luZwoKCSogU291cmNlLzogY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtTG9jYWxHZW5lcmF0b3IuaDogRmFjdG9yCgkgIGNtTG9jYWxHZW5lcmF0b3I6OkNvbmZpZ3VyZSBvYmplY3QgbWF4IHBhdGgKCgkgIE11Y2ggb2YgdGhlIGNvZGUgaW4gdGhpcyBtZXRob2Qgd2FzIGRlZGljYXRlZCB0byBjb21wdXRpbmcKCSAgT2JqZWN0TWF4UGF0aCBhZnRlciBjb25maWd1cmluZyB0aGUgZGlyZWN0b3J5LiAgV2UgbW92ZSB0aGlzIGxhc3QKCSAgc3RlcCBpbnRvIGl0cyBvd24gQ29tcHV0ZU9iamVjdE1heFBhdGggbWV0aG9kIGZvciBiZXR0ZXIKCSAgb3JnYW5pemF0aW9uLgoKMjAwOS0wOS0wMyAwODoyNiAga2luZwoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBNYW5hZ2UgY3VycmVudCBsb2NhbCBnZW5lcmF0b3Igd2l0aAoJICBhdXRvbWF0aWMgdmFyCgoJICBUaGUgY21Mb2NhbEdlbmVyYXRvcjo6Q29uZmlndXJlIG1ldGhvZCBzZXRzIGl0cyBjbUxvY2FsR2VuZXJhdG9yCgkgIGluc3RhbmNlIGFzIHRoZSBnbG9iYWwgZ2VuZXJhdG9yJ3MgY3VycmVudCBsb2NhbCBnZW5lcmF0b3IgZHVyaW5nCgkgIGNvbmZpZ3VyYXRpb24uICBUaGlzIGNvbW1pdCByZWZhY3RvcnMgbWFuYWdlbWVudCBvZiB0aGUgY3VycmVudAoJICBsb2NhbCBnZW5lcmF0b3IgdG8gdXNlIGFuIGF1dG9tYXRpYyB2YXJpYWJsZS4gIFRoaXMgd2lsbCBhbGxvdwoJICBlYXJseSByZXR1cm5zIGZyb20gdGhlIG1ldGhvZC4KCjIwMDktMDktMDMgMDg6MjYgIGtpbmcKCgkqIFNvdXJjZS9jbVBvbGljaWVzLmN4eDogRml4IHR5cG8gaW4gUkVRVUlSRURfQUxXQVlTIHBvbGljeSBlcnJvcgoJICBtZXNzYWdlCgoyMDA5LTA5LTAzIDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IEtXU3lzIE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wOS0wMiAxNjozMiAgemFjaC5tdWxsZW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0TXVsdGlQcm9jZXNzSGFuZGxlci5jeHg6IFNUWUxFOiBsaW5lIGxlbmd0aAoKMjAwOS0wOS0wMiAxNjowNyAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IFNpbGVuY2UgVlMgZ2VuZXJhdG9yIGZvcgoJICBtaXNzaW5nIENNYWtlTGlzdHMudHh0CgoJICBDTWFrZSBNYWtlZmlsZSBnZW5lcmF0b3JzIHNpbGVudGx5IGlnbm9yZSBtaXNzaW5nIENNYWtlTGlzdHMudHh0CgkgIGZpbGVzIGFuZCBqdXN0IHRyZWF0IHRoZSBzb3VyY2UgZGlyZWN0b3J5IGFzIGlmIGl0IGhhZCBhbiBlbXB0eQoJICBpbnB1dCBmaWxlLiAgVGhpcyB3aWxsIGJlIGFkZHJlc3NlZCB3aXRoIGEgbmV3IENNYWtlIFBvbGljeSwgYnV0CgkgIGZvciBub3cgd2UgbWFrZSB0aGUgVlMgZ2VuZXJhdG9yIGNvbnNpc3RlbnQgd2l0aCB0aGUgTWFrZWZpbGUKCSAgZ2VuZXJhdG9yIGJlaGF2aW9yLiAgVGhlIFZTIGdlbmVyYXRvciB3aWxsIG5lZWQgdG8gaGFuZGxlIHRoZSBPTEQKCSAgYmVoYXZpb3Igb2YgdGhlIHBvbGljeSBhbnl3YXkuCgoyMDA5LTA5LTAyIDE2OjA2ICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBTcGVlZCB1cCBncmFwaCB0cmF2ZXJzYWwgZm9yCgkgIHByb2plY3QtPnRhcmdldHMgbWFwCgoJICBUaGUgY21HbG9iYWxHZW5lcmF0b3I6OkFkZFRhcmdldERlcGVuZHMgbWV0aG9kIHRyYWNlcyB0aGUKCSAgZGVwZW5kZW5jaWVzIG9mIHRhcmdldHMgcmVjdXJzaXZlbHkgdG8gY29sbGVjdCB0aGUgY29tcGxldGUgc2V0CgkgIG9mIHRhcmdldHMgbmVlZGVkIGZvciBhIGdpdmVuIHByb2plY3QgKGZvciBWUyAuc2xuIGZpbGVzKS4gIFRoaXMKCSAgY29tbWl0IHRlYWNoZXMgdGhlIG1ldGhvZCB0byBhdm9pZCB0cmFjaW5nIGl0cyBkZXBlbmRlbmNpZXMgbW9yZQoJICB0aGFuIG9uY2UuICBPdGhlcndpc2UgdGhlIGNvZGUgZG9lcyBhbiBhbGwtcGF0aHMgd2FsayBuZWVkbGVzc2x5LgoKMjAwOS0wOS0wMiAxMjozNSAgemFjaC5tdWxsZW4KCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RUZXN0Q29tbWFuZC5jeHgsIGNtQ1Rlc3RUZXN0Q29tbWFuZC5oLAoJICBjbUNUZXN0VGVzdEhhbmRsZXIuY3h4OiBFTkg6IEFkZGVkIFBBUkFMTEVMX0xFVkVMIG9wdGlvbiB0bwoJICBjdGVzdF90ZXN0KCkgY29tbWFuZC4KCjIwMDktMDktMDIgMTA6MDggIHphY2gubXVsbGVuCgoJKiBNb2R1bGVzL0NUZXN0LmNtYWtlLCBNb2R1bGVzL0RhcnRDb25maWd1cmF0aW9uLnRjbC5pbiwKCSAgU291cmNlL2NtQ1Rlc3QuY3h4LCBTb3VyY2UvQ1Rlc3QvY21DVGVzdE11bHRpUHJvY2Vzc0hhbmRsZXIuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdE11bHRpUHJvY2Vzc0hhbmRsZXIuaCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RSdW5UZXN0LmN4eCwgU291cmNlL0NUZXN0L2NtQ1Rlc3RSdW5UZXN0LmgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuaCwgU291cmNlL2NtQ1Rlc3QuaDogRml4ZWQgY3Rlc3QKCSAgb3V0cHV0IHdoZXJlIG1heCB0ZXN0IGluZGV4IGlzIG5vdCB0aGUgc2FtZSB3aWR0aCBhcyB0aGUgdG90YWwKCSAgbnVtYmVyIG9mIHRlc3RzLiAgQWxzbyBzb21lIHByZWxpbWluYXJ5IGNoYW5nZXMgZm9yIGJhdGNoaW5nCgkgIGN0ZXN0IGpvYnMKCjIwMDktMDktMDIgMDA6MDEgIGt3cm9ib3QKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogS1dTeXMgTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA5LTAxIDE3OjIzICBkYXZpZC5jb2xlCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN1Ym1pdEhhbmRsZXIuY3h4OiBBZGQgY3VybCB0aW1lb3V0IG9wdGlvbnMKCSAgdG8gdGhlIFN1Ym1pdFVzaW5nSFRUUCBtZXRob2QuIFRoZXkgd2VyZSBvbmx5IGluIHRoZQoJICBTdWJtaXRVc2luZ0ZUUCBtZXRob2QuCgoyMDA5LTA5LTAxIDE2OjMzICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtLzogV2luZG93cy1pY2wuY21ha2UsIFdpbmRvd3MtaWZvcnQuY21ha2U6IEFkZAoJICBzdXBwb3J0IGZvciBlbWJlZGVkIG1hbmlmZXN0cyBmb3IgSW50ZWwgQy9DKysvRm9ydHJhbiBjb21waWxlcnMKCjIwMDktMDktMDEgMTY6MjMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1JbnRlbC5jbWFrZTogQWRkIGEgbW9kdWxlIHRvIGRldGVybWluZQoJICBpZiB0aGUgaW50ZWwgbGlua2VyIHN1cHBvcnRzIG1hbmlmZXN0IGNyZWF0aW9uCgoyMDA5LTA5LTAxIDE1OjQxICBraW5nCgoJKiBUZXN0cy9DVGVzdFVwZGF0ZUdJVC5jbWFrZS5pbjogTWFrZSBDVGVzdC5VcGRhdGVHSVQgcm9idXN0IHRvCgkgIHVzZXIgZ2l0IGNvbmZpZwoKCSAgUGFydCBvZiB0aGlzIHRlc3QgZG9lcyAiZ2l0IHB1bGwiIG9uIGEgZGlydHkgd29yayB0cmVlLiAgV2UgbmVlZAoJICB0byBtYWtlIHN1cmUgdGhhdCAnYnJhbmNoLm1hc3Rlci5yZWJhc2UnIGlzIGZhbHNlIGZvciB0aGUgdGVzdAoJICByZXBvc2l0b3J5LiAgT3RoZXJ3aXNlIGlmIGl0IGlzIHRydWUgaW4gdGhlIHVzZXIgY29uZmlndXJhdGlvbgoJICB0aGVuIHB1bGwgd2lsbCByZWZ1c2UgdG8gcmViYXNlIGFuZCB0aGUgdGVzdCB3aWxsIGZhaWwuCgoyMDA5LTA5LTAxIDE1OjIxICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IHVzZSAtbyBmbGFnIGluc3RlYWQgb2YgPiBmb3IgcWRidXNjcHAyeG1sCgoyMDA5LTA5LTAxIDE1OjA4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBVc2UgdGhlIE1BTklGRVNUIGZsYWcgZm9yIG5vbiBpbmNyZW1lbnRhbAoJICBsaW5raW5nIGFzIHdlbGwuCgoyMDA5LTA5LTAxIDE0OjMzICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2UsIFNvdXJjZS9jbWFrZS5jeHg6IE1vdmUKCSAgL01BTklGRVNUIGZsYWcgaW50byAtRSB2c19saW5rLiAgVGhpcyBpcyBzbyBpdCBjYW4gYmUgdXNlZCBieSB0aGUKCSAgaW50ZWwgY29tcGlsZXJzIHdpdGhvdXQgaGF2aW5nIHRvIHNwZWNpZml5IGl0IGluIHRoZSBpbnRlbAoJICBjb21waWxlciBmaWxlcwoKMjAwOS0wOS0wMSAxNDoxMCAgaG9mZm1hbgoKCSogU291cmNlL2NtYWtlLmN4eDogSGFuZGxlIGVtYmVkZWQgbWFuaWZlc3RzIHdpdGggaWZvcnQuCgoyMDA5LTA5LTAxIDE0OjA1ICBraW5nCgoJKiBUZXN0cy9GaW5kUGFja2FnZVRlc3QvOiBDTWFrZUxpc3RzLnR4dCwgRXhwb3J0ZXIvQ01ha2VMaXN0cy50eHQsCgkgIEV4cG9ydGVyL0NNYWtlVGVzdEV4cG9ydFBhY2thZ2VDb25maWcuY21ha2UuaW4sCgkgIEV4cG9ydGVyL0NNYWtlVGVzdEV4cG9ydFBhY2thZ2VDb25maWdWZXJzaW9uLmNtYWtlLmluLAoJICBFeHBvcnRlci9kdW1teS5jOiBUZXN0IHRoZSB1c2VyIHBhY2thZ2UgcmVnaXN0cnkKCgkgIFdlIHRlYWNoIHRoZSBGaW5kUGFja2FnZVRlc3QgdG8gYnVpbGQgYSBzYW1wbGUgcHJvamVjdCB0aGF0CgkgIHN0b3JlcyBpdHMgYnVpbGQgdHJlZSBpbiB0aGUgdXNlciBwYWNrYWdlIHJlZ2lzdHJ5IHVzaW5nCgkgIGV4cG9ydChQQUNLQUdFKSwgYW5kIHRoZW4gZmluZCBpdCB3aXRoIGZpbmRfcGFja2FnZS4KCjIwMDktMDktMDEgMTQ6MDQgIGtpbmcKCgkqIFNvdXJjZS86IGNtRXhwb3J0Q29tbWFuZC5jeHgsIGNtRXhwb3J0Q29tbWFuZC5oOiBUZWFjaAoJICBleHBvcnQoUEFDS0FHRSkgdG8gZmlsbCB0aGUgcGFja2FnZSByZWdpc3RyeQoKCSAgV2UgZGVmaW5lIHRoZSBleHBvcnQoUEFDS0FHRSkgY29tbWFuZCBtb2RlIHRvIHN0b3JlIHRoZSBsb2NhdGlvbgoJICBvZiB0aGUgYnVpbGQgdHJlZSBpbiB0aGUgdXNlciBwYWNrYWdlIHJlZ2lzdHJ5LiAgVGhpcyB3aWxsIGhlbHAKCSAgZmluZF9wYWNrYWdlIGxvY2F0ZSB0aGUgcGFja2FnZSBpbiB0aGUgYnVpbGQgdHJlZS4gIEl0IHNpbXBsaWVzCgkgIHVzZXIgd29ya2Zsb3cgZm9yIG1hbnVhbGx5IGJ1aWxkaW5nIGEgc2VyaWVzIG9mIGRlcGVuZGVudAoJICBwcm9qZWN0cy4KCjIwMDktMDktMDEgMTQ6MDQgIGtpbmcKCgkqIFNvdXJjZS86IGNtRmluZFBhY2thZ2VDb21tYW5kLmN4eCwgY21GaW5kUGFja2FnZUNvbW1hbmQuaDogVGVhY2gKCSAgZmluZF9wYWNrYWdlIHRvIHNlYXJjaCBhICJwYWNrYWdlIHJlZ2lzdHJ5IgoKCSAgQSBjb21tb24gdXNlciB3b3JrZmxvdyBpcyB0byBidWlsZCBhIHNlcmllcyBvZiBkZXBlbmRlbnQgcHJvamVjdHMKCSAgaW4gb3JkZXIuICBFYWNoIHByb2plY3QgbG9jYXRlcyBpdHMgZGVwZW5kZW5jaWVzIHdpdGgKCSAgZmluZF9wYWNrYWdlLiAgV2UgaW50cm9kdWNlIGEgInVzZXIgcGFja2FnZSByZWdpc3RyeSIgdG8gaGVscAoJICBmaW5kX3BhY2thZ2UgbG9jYXRlIHBhY2thZ2VzIGJ1aWx0IGluIG5vbi1zdGFuZGFyZCBzZWFyY2gKCSAgbG9jYXRpb25zLgoKCSAgVGhlIHJlZ2lzdHJ5IGV4cGxpY2l0bHkgc3RvcmVzIGxvY2F0aW9ucyBvZiBidWlsZCB0cmVlcyBwcm92aWRpbmcKCSAgaW5zdGFuY2VzIG9mIGEgZ2l2ZW4gcGFja2FnZS4gIFRoZXJlIGlzIG5vIGRlZmluZWQgb3JkZXIgYW1vbmcKCSAgdGhlIGxvY2F0aW9ucyBzcGVjaWZpZWQuICBUaGVzZSBsb2NhdGlvbnMgc2hvdWxkIHByb3ZpZGUgcGFja2FnZQoJICBjb25maWd1cmF0aW9uIGZpbGVzICg8cGFja2FnZT4tY29uZmlnLmNtYWtlKSBhbmQgcGFja2FnZSB2ZXJzaW9uCgkgIGZpbGVzICg8cGFja2FnZT4tY29uZmlnLXZlcnNpb24uY21ha2UpIHNvIHRoYXQgZmluZF9wYWNrYWdlIHdpbGwKCSAgcmVjb2duaXplIHRoZSBwYWNrYWdlcyBhbmQgdGVzdCB2ZXJzaW9uIG51bWJlcnMuCgoyMDA5LTA5LTAxIDEzOjU1ICBraW5nCgoJKiBNb2R1bGVzLzogQ29tcGlsZXIvSW50ZWwtQy5jbWFrZSwgQ29tcGlsZXIvSW50ZWwtQ1hYLmNtYWtlLAoJICBDb21waWxlci9JbnRlbC1Gb3J0cmFuLmNtYWtlLCBDb21waWxlci9JbnRlbC5jbWFrZSwKCSAgUGxhdGZvcm0vTGludXgtSW50ZWwtQy5jbWFrZSwgUGxhdGZvcm0vTGludXgtSW50ZWwtQ1hYLmNtYWtlLAoJICBQbGF0Zm9ybS9MaW51eC1JbnRlbC1Gb3J0cmFuLmNtYWtlLCBQbGF0Zm9ybS9MaW51eC1JbnRlbC5jbWFrZToKCSAgVXNlIEludGVsIGZvciBMaW51eCBmbGFncyBvbmx5IG9uIExpbnV4CgoJICBUaGUgY29tbWl0ICJTcGxpdCBJbnRlbCBjb21waWxlciBpbmZvcm1hdGlvbiBmaWxlcyIgbW92ZWQgc29tZQoJICBMaW51eCBzcGVjaWZpYyBmbGFncyBpbnRvIHRoZSBwbGF0Zm9ybS1pbmRlcGVuZGVudCBJbnRlbCBjb21waWxlcgoJICBpbmZvIGZpbGVzLiAgVGhpcyBtb3ZlcyB0aGVtIGJhY2suCgoyMDA5LTA5LTAxIDEzOjAzICBraW5nCgoJKiBNb2R1bGVzL0ZvcnRyYW5DSW50ZXJmYWNlL1ZlcmlmeS9DTWFrZUxpc3RzLnR4dDogRml4CgkgIEZvcnRyYW5DSW50ZXJmYWNlX1ZFUklGWSBmb3Igbm9uLUMrKyBjYXNlCgoJICBUaGUgdmVyaWZpY2F0aW9uIHByb2dyYW0gZW50cnkgcG9pbnQgKG1haW4pIGlzIGRlZmluZWQgaW4gYSBDCgkgIHNvdXJjZSBmaWxlLCBzbyB0aGUgQyBjb21waWxlciBzaG91bGQgYmUgdXNlZCB0byBsaW5rIHdoZW4gb25seQoJICBGb3J0cmFuIGFuZCBDIGFyZSBpbnZvbHZlZC4gIFRoZSBDKysgY29tcGlsZXIgc2hvdWxkIHN0aWxsIGJlCgkgIHVzZWQgd2hlbiB0aGUgQ1hYIG9wdGlvbiBpcyBlbmFibGVkLgoKMjAwOS0wOS0wMSAxMTo1OCAgemFjaC5tdWxsZW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0UnVuVGVzdC5jeHg6IEVOSDogSW1wcm92ZWQgdGVzdCByZXBvcnRpbmcKCSAgb3V0cHV0CgoyMDA5LTA5LTAxIDEwOjM4ICBraW5nCgoJKiBUZXN0cy9FeHBvcnRJbXBvcnQvOiBFeHBvcnQvQ01ha2VMaXN0cy50eHQsCgkgIEV4cG9ydC90ZXN0TGliQ3ljbGVBMS5jLCBFeHBvcnQvdGVzdExpYkN5Y2xlQTIuYywKCSAgRXhwb3J0L3Rlc3RMaWJDeWNsZUEzLmMsIEV4cG9ydC90ZXN0TGliQ3ljbGVCMS5jLAoJICBFeHBvcnQvdGVzdExpYkN5Y2xlQjIuYywgRXhwb3J0L3Rlc3RMaWJDeWNsZUIzLmMsCgkgIEltcG9ydC9BL0NNYWtlTGlzdHMudHh0LCBJbXBvcnQvQS9pbXBfdGVzdEV4ZTEuYzogVGVzdCBsaW5rCgkgIG11bHRpcGxpY2l0eSBleHBvcnQvaW1wb3J0CgoJICBXZSB0ZXN0IHRoYXQgTElOS19JTlRFUkZBQ0VfTVVMVElQTElDSVRZIHByb3BhZ2F0ZXMgdGhyb3VnaAoJICBleHBvcnQoKSBhbmQgaW5zdGFsbChFWFBPUlQpIGludG8gZGVwZW5kZW50IHByb2plY3RzLiAgQSBzaW1wbGUKCSAgY3ljbGUgb2YgdHdvIGFyY2hpdmVzIHRoYXQgbmVlZCB0byBiZSBzY2FubmVkIHRocmVlIHRpbWVzIGVuc3VyZXMKCSAgdGhhdCB0aGUgaW1wb3J0aW5nIHByb2plY3QgdXNlcyB0aGUgbXVsdGlwbGljaXR5IGNvcnJlY3RseS4KCjIwMDktMDktMDEgMTA6MzggIGtpbmcKCgkqIFRlc3RzL0RlcGVuZGVuY3kvQ2FzZTIvOiBDTWFrZUxpc3RzLnR4dCwgZm9vMWMuYywgZm9vMmMuYywKCSAgZm9vM2IuYywgZm9vM2MuYzogVGVzdCBsaW5rIG11bHRpcGxpY2l0eQoKCSAgVGhpcyB0ZXN0cyB0aGUgTElOS19JTlRFUkZBQ0VfTVVMVElQTElDSVRZIHByb3BlcnR5IGZvciBhIGN5Y2xlCgkgIG9mIHRocmVlIHN0YXRpYyBsaWJyYXJpZXMgdGhhdCBtdXN0IGJlIHNjYW5uZWQgdGhyZWUgdGltZXMgdG8KCSAgbGluayBwcm9wZXJseS4KCjIwMDktMDktMDEgMTA6MzcgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ29tcHV0ZUxpbmtEZXBlbmRzLmN4eCwgY21Db21wdXRlTGlua0RlcGVuZHMuaCwKCSAgY21FeHBvcnRGaWxlR2VuZXJhdG9yLmN4eCwgY21UYXJnZXQuY3h4LCBjbVRhcmdldC5oOiBEZWZpbmUKCSAgJ211bHRpcGxpY2l0eScgZm9yIGN5Y2xpYyBkZXBlbmRlbmNpZXMKCgkgIFdlIGNyZWF0ZSB0YXJnZXQgcHJvcGVydHkgIkxJTktfSU5URVJGQUNFX01VTFRJUExJQ0lUWSIgYW5kIGEKCSAgcGVyLWNvbmZpZyB2ZXJzaW9uICJMSU5LX0lOVEVSRkFDRV9NVUxUSVBMSUNJVFlfPENPTkZJRz4iLiAgSXQKCSAgc2V0cyB0aGUgbnVtYmVyIG9mIHRpbWVzIGEgbGlua2VyIHNob3VsZCBzY2FuIHRocm91Z2ggYSBtdXR1YWxseQoJICBkZXBlbmRlbnQgZ3JvdXAgb2Ygc3RhdGljIGxpYnJhcmllcy4JVGhlIGxhcmdlc3QgdmFsdWUgb2YgdGhpcwoJICBwcm9wZXJ0eSBvbiBhbnkgdGFyZ2V0IGluIHRoZSBncm91cCBpcyB1c2VkLglUaGlzIHdpbGwgaGVscAoJICBwcm9qZWN0cyBsaW5rIGV2ZW4gZm9yIGV4dHJlbWUgY2FzZXMgb2YgY3ljbGljIGludGVyLXRhcmdldAoJICBkZXBlbmRlbmNpZXMuCgoyMDA5LTA5LTAxIDA4OjUyICBraW5nCgoJKiBNb2R1bGVzL0ZvcnRyYW5DSW50ZXJmYWNlLmNtYWtlOiBNYWtlIEZvcnRyYW5DSW50ZXJmYWNlX1ZFUklGWQoJICB2ZXJib3NlIG9uIGZhaWx1cmUKCgkgIFdlIGVuYWJsZSB2ZXJib3NlIGJ1aWxkIG91dHB1dCBpbiB0aGUgdHJ5X2NvbXBpbGUgb2YgdGhlIHNpbXBsZQoJICBwcm9qZWN0LiAgVGhpcyBtYWtlcyB2YWx1YWJsZSBpbmZvcm1hdGlvbiBhdmFpbGFibGUgaW4gdGhlIGNhc2UKCSAgb2YgZmFpbHVyZS4KCjIwMDktMDktMDEgMDA6MDEgIGt3cm9ib3QKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogS1dTeXMgTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA4LTMxIDE4OjE4ICB3ZGljaGFycnkKCgkqIE1vZHVsZXMvRmluZEhERjUuY21ha2U6IEZpeGVkIGxpbmsgb3JkZXIgZGVwZW5kZW5jZSBpbiBGaW5kSERGNQoJICBtb2R1bGUgZm9yIHN0YXRpYyBsaW5rLgoKMjAwOS0wOC0zMSAxMzoyNSAga2luZwoKCSogYm9vdHN0cmFwOiBUZXN0IEtXU1lTX0lPU19IQVZFX0JJTkFSWSBkdXJpbmcgYm9vdHN0cmFwCgoJICBXZSBuZWVkIHRvIGRvIHRoaXMgS1dTeXMgY29uZmlndXJhdGlvbiB0ZXN0IGluIHRoZSBDTWFrZQoJICBib290c3RyYXAgc2NyaXB0IHRvIGNyZWF0ZSBhIHByb3BlciBjbXN5cy9Db25maWd1cmUuaHh4IGZpbGUuCgkgIFRoaXMgZml4ZXMgdGhlIGJvb3RzdHJhcCBzY3JpcHQgd2hpY2ggd2FzIGJyb2tlbiBieSB0aGUgYWRkaXRpb24KCSAgb2YgdGhlIHRlc3QgdG8gS1dTeXMuCgoyMDA5LTA4LTMxIDEzOjAwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBDTWFrZUxpc3RzLnR4dCwgQ29uZmlndXJlLmh4eC5pbiwKCSAga3dzeXNQbGF0Zm9ybVRlc3RzQ1hYLmN4eCwgdGVzdElPUy5jeHg6IERlZmluZSBrd3N5c19pb3NfYmluYXJ5CgkgIG1hY3JvIGZvciBzdGQ6Omlvczo6YmluYXJ5CgoJICBUaGUgJ2JpbmFyeScgb3Blbm1vZGUgZG9lcyBub3QgZXhpc3Qgb24gYWxsIGNvbXBpbGVycy4gIFdlIGRlZmluZQoJICBtYWNybyA8a3dzeXM+X2lvc19iaW5hcnksIHdoZXJlIDxrd3N5cz4gaXMgdGhlIEtXU3lzIG5hbWVzcGFjZSwKCSAgdG8gcmVmZXIgdG8gc3RkOjppb3M6OmJpbmFyeSBpZiBpdCBleGlzdHMgYW5kIDAgb3RoZXJ3aXNlLgoJICBTYW1wbGUgdXNhZ2U6CgoJICAgIGt3c3lzX2lvczo6aWZzdHJlYW0gZmluKGZuLCBrd3N5c19pb3M6Omlvczo6aW4gfAoJICBrd3N5c19pb3NfYmluYXJ5KTsKCjIwMDktMDgtMzEgMTE6MzIgIHphY2gubXVsbGVuCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdE1lbUNoZWNrQ29tbWFuZC5oOiBGaXhlZCBjdGVzdF9tZW1jaGVjayBkb2NzCgkgIChodHRwOi8vd3d3LmNtYWtlLm9yZy9CdWcvdmlldy5waHA/aWQ9OTI0MikKCjIwMDktMDgtMzEgMTA6MzIgIHdkaWNoYXJyeQoKCSogTW9kdWxlcy9GaW5kSERGNS5jbWFrZTogSW4gRmluZEhERjUsIGFkZGVkIEMgbGlicmFyeSBuYW1lcyB0byBDWFgKCSAgc2VhcmNoIGxpYnJhcmllcy4KCjIwMDktMDgtMzEgMTA6MjggIHphY2gubXVsbGVuCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eDogRml4ZWQgRGFydCB0aW1lIHJlY29yZGluZwoJICBmb3IgY3Rlc3QKCjIwMDktMDgtMzEgMDk6NTAgIHphY2gubXVsbGVuCgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0TXVsdGlQcm9jZXNzSGFuZGxlci5oLCBjbUNUZXN0UnVuVGVzdC5jeHgsCgkgIGNtQ1Rlc3RSdW5UZXN0LmgsIGNtQ1Rlc3RUZXN0SGFuZGxlci5jeHg6IEZpeGVkIGNvbnZlcnNpb24KCSAgd2FybmluZyBvbiA2NCBiaXQgbWFjaGluZXMKCjIwMDktMDgtMzEgMDA6MDEgIGt3cm9ib3QKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogS1dTeXMgTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA4LTMwIDEwOjU3ICB6YWNoLm11bGxlbgoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RSdW5UZXN0LmN4eDogRml4ZWQgbGluZSBsZW5ndGggaXNzdWUKCjIwMDktMDgtMzAgMDA6MDEgIGt3cm9ib3QKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogS1dTeXMgTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA4LTI5IDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IEtXU3lzIE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wOC0yOCAxNTowOCAgemFjaC5tdWxsZW4KCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RNZW1DaGVja0hhbmRsZXIuY3h4LAoJICBjbUNUZXN0TWVtQ2hlY2tIYW5kbGVyLmgsIGNtQ1Rlc3RNdWx0aVByb2Nlc3NIYW5kbGVyLmN4eCwKCSAgY21DVGVzdFJ1blRlc3QuY3h4LCBjbUNUZXN0UnVuVGVzdC5oLCBjbUNUZXN0VGVzdEhhbmRsZXIuY3h4LAoJICBjbUNUZXN0VGVzdEhhbmRsZXIuaDogTWVtQ2hlY2sgc2hvdWxkIG5vdyB3b3JrIGFnYWluIGluIGN0ZXN0CgoyMDA5LTA4LTI4IDExOjQwICB6YWNoLm11bGxlbgoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RSdW5UZXN0LmN4eDogUmVwbGFjZWQgc3RkOjpzdHJpbmdzdHJlYW0gd2l0aAoJICBjbU9TdHJpbmdTdHJlYW0KCjIwMDktMDgtMjggMTE6MDggIHphY2gubXVsbGVuCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdE1lbUNoZWNrSGFuZGxlci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0TXVsdGlQcm9jZXNzSGFuZGxlci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0TXVsdGlQcm9jZXNzSGFuZGxlci5oLAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFJ1blRlc3QuY3h4LCBTb3VyY2UvQ1Rlc3QvY21DVGVzdFJ1blRlc3QuaCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuaCwgVGVzdHMvQ01ha2VMaXN0cy50eHQ6IEFkZGVkCgkgIGN0ZXN0IC1OIHRlc3QuICBGaXhlZCBjdGVzdCB3b3JraW5nIGRpcmVjdG9yeSBidWcuICBNZW1DaGVjayBmaXgKCSAgY29taW5nIHNvb24uLi4KCjIwMDktMDgtMjggMDA6MDEgIGt3cm9ib3QKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogS1dTeXMgTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA4LTI3IDEwOjM3ICB6YWNoLm11bGxlbgoKCSogU291cmNlLzogQ1Rlc3QvY21DVGVzdEdlbmVyaWNIYW5kbGVyLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdE11bHRpUHJvY2Vzc0hhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0TXVsdGlQcm9jZXNzSGFuZGxlci5oLCBDVGVzdC9jbUNUZXN0UnVuVGVzdC5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RSdW5UZXN0LmgsIENUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5oLCBjbUNUZXN0LmN4eCwgY21DVGVzdC5oLCBjdGVzdC5jeHg6CgkgIEZpeGVkIGN0ZXN0IC1OIHNlZ2ZhdWx0IGlzc3VlLiAgRnVydGhlciByZWZhY3RvcmVkIGN0ZXN0LgoJICBFbmFibGVkIGZhaWxvdmVyIGZvciBjdGVzdAoKMjAwOS0wOC0yNyAwMDowMSAga3dyb2JvdAoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBLV1N5cyBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDgtMjYgMTI6MDkgIHphY2gubXVsbGVuCgoJKiBTb3VyY2UvOiBDVGVzdC9jbUNUZXN0TXVsdGlQcm9jZXNzSGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RNdWx0aVByb2Nlc3NIYW5kbGVyLmgsIENUZXN0L2NtQ1Rlc3RSdW5UZXN0LmN4eCwKCSAgY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaCwgQ1Rlc3QvY21DVGVzdFJ1blRlc3QuaCwKCSAgQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eCwgQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmg6IEVOSDoKCSAgcmVmYWN0b3JlZCBjdGVzdC4gIEFsbCB0ZXN0aW5nIGlzIG5vdyBwYXJhbGxlbC4gIElmIG5vIC1qIG9wdGlvbgoJICBpcyBzcGVjaWZpZWQsIGRlZmF1bHRzIHRvIGEgTVAgbGV2ZWwgb2YgMSAobm9uIHBhcmFsbGVsKQoKMjAwOS0wOC0yNiAwNjo1MiAgZGF2aWQuY29sZQoKCSogTW9kdWxlcy9FeHRlcm5hbFByb2plY3QuY21ha2U6IEFkZCBtaXNzaW5nIGFyZ3VtZW50IHRvCgkgIF9lcF93cml0ZV9kb3dubG9hZGZpbGVfc2NyaXB0LgoKMjAwOS0wOC0yNiAwMDowMSAga3dyb2JvdAoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBLV1N5cyBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDgtMjUgMDA6MDEgIGt3cm9ib3QKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogS1dTeXMgTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA4LTI0IDEzOjI0ICB3ZGljaGFycnkKCgkqIE1vZHVsZXMvRmluZEhERjUuY21ha2U6IEZpeGVkIEhERjUgRmluZCBtb2R1bGUgZXJyb3IgdGhhdCBjYXVzZWQKCSAgbm8gbGlzdCB0byBiZSBwYXNzZWQgaW50byByZW1vdmUgZHVwbGljYXRlcyB3aGVuIEhERjUgaXMgbm90CgkgIGZvdW5kLgoKMjAwOS0wOC0yNCAxMzoxNSAga2luZwoKCSogU291cmNlLzogY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmN4eCwKCSAgY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmg6IEZhY3RvciBpbXBsaWNpdCBsaW5rIGluZm8gYWRkaXRpb24KCSAgaW50byBtZXRob2RzCgoJICBJbiBjbUNvbXB1dGVMaW5rSW5mb3JtYXRpb246OkNvbXB1dGUgd2UgYWRkIGltcGxpY2l0IGxpbmsKCSAgaW5mb3JtYXRpb24gZnJvbSBsYW5ndWFnZXMgb3RoZXIgdGhhbiB0aGUgbGlua2VyIGxhbmd1YWdlIHRvIHRoZQoJICBlbmQgb2YgdGhlIGxpbmsgbGluZS4gIFRoaXMgZmFjdG9ycyBvdXQgdGhhdCBjb2RlIGludG8gc2VwYXJhdGUKCSAgbWV0aG9kcyB0byBpbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBvcmdhbml6YXRpb24uCgoyMDA5LTA4LTI0IDEzOjA3ICBraW5nCgoJKiBUZXN0cy9Gb3J0cmFuL0NNYWtlTGlzdHMudHh0OiBFbmZvcmNlIEZvcnRyYW5DSW50ZXJmYWNlX1ZFUklGWSBpbgoJICBGb3J0cmFuIHRlc3QKCgkgIFRoaXMgcmVtb3ZlcyB0aGUgUVVJRVQgb3B0aW9uIGZyb20gRm9ydHJhbkNJbnRlcmZhY2VfVkVSSUZZIGluCgkgIHRoZSBGb3J0cmFuIHRlc3QgdG8gcmVhbGx5IHRlc3QgdGhlIGRldGVjdGVkIGludGVyZmFjZQoJICBldmVyeXdoZXJlLgoKMjAwOS0wOC0yNCAxMjowNCAgd2RpY2hhcnJ5CgoJKiBNb2R1bGVzLzogU2VsZWN0TGlicmFyeUNvbmZpZ3VyYXRpb25zLmNtYWtlLCBGaW5kSERGNS5jbWFrZTogQWRkCgkgIEhERjUgZmluZCBtb2R1bGUgYW5kIHNlbGVjdF9saWJyYXJ5X2NvbmZpZ3VyYXRpb25zIG1vZHVsZS4KCjIwMDktMDgtMjQgMDk6NTQgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ29tcHV0ZVRhcmdldERlcGVuZHMuY3h4LCBjbUNvbXB1dGVUYXJnZXREZXBlbmRzLmgsCgkgIGNtYWtlLmN4eDogQ3JlYXRlIEdMT0JBTF9ERVBFTkRTX05PX0NZQ0xFUyBwcm9wZXJ0eQoKCSAgVGhpcyBnbG9iYWwgcHJvcGVydHkgZGlzYWxsb3dzIGN5Y2xlcyBpbiB0aGUgaW50ZXItdGFyZ2V0CgkgIGRlcGVuZGVuY3kgZ3JhcGggZXZlbiBhbW9uZyBTVEFUSUMgbGlicmFyaWVzLiAgU2VlIGlzc3VlICM5NDQ0LgoKMjAwOS0wOC0yNCAwODo0OSAga2luZwoKCSogTW9kdWxlcy9Gb3J0cmFuQ0ludGVyZmFjZS5jbWFrZSwKCSAgTW9kdWxlcy9Gb3J0cmFuQ0ludGVyZmFjZS9EZXRlY3QuY21ha2UsCgkgIE1vZHVsZXMvRm9ydHJhbkNJbnRlcmZhY2UvVmVyaWZ5L0NNYWtlTGlzdHMudHh0LAoJICBNb2R1bGVzL0ZvcnRyYW5DSW50ZXJmYWNlL1ZlcmlmeS9WZXJpZnlDLmMsCgkgIE1vZHVsZXMvRm9ydHJhbkNJbnRlcmZhY2UvVmVyaWZ5L1ZlcmlmeUNYWC5jeHgsCgkgIE1vZHVsZXMvRm9ydHJhbkNJbnRlcmZhY2UvVmVyaWZ5L1ZlcmlmeUZvcnRyYW4uZiwKCSAgTW9kdWxlcy9Gb3J0cmFuQ0ludGVyZmFjZS9WZXJpZnkvbWFpbi5jLAoJICBUZXN0cy9Gb3J0cmFuL0NNYWtlTGlzdHMudHh0OiBDcmVhdGUgRm9ydHJhbkNJbnRlcmZhY2VfVkVSSUZZCgkgIGZ1bmN0aW9uCgoJICBUaGlzIGZ1bmN0aW9uIGJ1aWxkcyBhIHNpbXBsZSB0ZXN0IHByb2plY3QgdXNpbmcgYSBjb21iaW5hdGlvbiBvZgoJICBGb3J0cmFuIGFuZCBDIChhbmQgb3B0aW9uYWxseSBDKyspIHRvIHZlcmlmeSB0aGF0IHRoZSBjb21waWxlcnMKCSAgYXJlIGNvbXBhdGlibGUuICBUaGUgaWRlYSBpcyB0byBoZWxwIHByb2plY3RzIHJlcG9ydCB2ZXJ5IGVhcmx5CgkgIHRvIHVzZXJzIHRoYXQgdGhlIGNvbXBpbGVycyBzcGVjaWZpZWQgY2Fubm90IG1peCBsYW5ndWFnZXMuCgoyMDA5LTA4LTI0IDA4OjQ5ICBraW5nCgoJKiBNb2R1bGVzLzogRm9ydHJhbkNJbnRlcmZhY2UuY21ha2UsCgkgIEZvcnRyYW5DSW50ZXJmYWNlL0RldGVjdC5jbWFrZTogVGVhY2ggRm9ydHJhbkNJbnRlcmZhY2UgdG8gbG9hZAoJICBvdXRzaWRlIHJlc3VsdHMKCgkgIFdlIHNwbGl0IHRoZSBtYWluIGRldGVjdGlvbiBsb2dpYyBpbnRvIGEgRGV0ZWN0LmNtYWtlIHN1cHBvcnQKCSAgbW9kdWxlIGFuZCBsb2FkIGl0IG9ubHkgd2hlbiBkZXRlY3Rpb24gcmVzdWx0cyBhcmUgbm90IGFscmVhZHkKCSAgYXZhaWxhYmxlLiAgVGhpcyBhbGxvd3MgcmVzdWx0cyBjb21wdXRlZCBieSB0aGUgbWFpbiBwcm9qZWN0IHRvCgkgIGJlIHVzZWQgaW4gdHJ5LWNvbXBpbGUgcHJvamVjdHMgd2l0aG91dCByZWNvbXB1dGluZyB0aGVtLiAgVGhlCgkgIGNhbGwgdG8gdHJ5X2NvbXBpbGUoKSBuZWVkIG9ubHkgdG8gcGFzcwoJICBGb3J0cmFuQ0ludGVyZmFjZV9CSU5BUllfRElSIHRocm91Z2ggdGhlIENNQUtFX0ZMQUdTIG9wdGlvbi4KCjIwMDktMDgtMjQgMDA6MDEgIGt3cm9ib3QKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogS1dTeXMgTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA4LTIzIDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IEtXU3lzIE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wOC0yMiAwMDowMSAga3dyb2JvdAoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBLV1N5cyBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDgtMjEgMTA6MzIgIGtpbmcKCgkqIE1vZHVsZXMvOiBDb21waWxlci9TdW5Qcm8tQy5jbWFrZSwgQ29tcGlsZXIvU3VuUHJvLUNYWC5jbWFrZSwKCSAgQ29tcGlsZXIvU3VuUHJvLUZvcnRyYW4uY21ha2UsIFBsYXRmb3JtL0xpbnV4LVN1blByby1DLmNtYWtlLAoJICBQbGF0Zm9ybS9MaW51eC1TdW5Qcm8tQ1hYLmNtYWtlLAoJICBQbGF0Zm9ybS9MaW51eC1TdW5Qcm8tRm9ydHJhbi5jbWFrZSwKCSAgUGxhdGZvcm0vU3VuT1MtU3VuUHJvLUZvcnRyYW4uY21ha2UsIFBsYXRmb3JtL1N1bk9TLmNtYWtlOiBTcGxpdAoJICBTdW5Qcm8gY29tcGlsZXIgaW5mb3JtYXRpb24gZmlsZXMKCgkgIFRoaXMgbW92ZXMgcGxhdGZvcm0taW5kZXBlbmRlbnQgU3VuUHJvIGNvbXBpbGVyIGZsYWdzIGludG8KCSAgc2VwYXJhdGUgIkNvbXBpbGVyL1N1blByby08bGFuZz4uY21ha2UiIG1vZHVsZXMuCgkgIFBsYXRmb3JtLXNwZWNpZmljIGZsYWdzIGFyZSBsZWZ0IHVudG91Y2hlZC4KCjIwMDktMDgtMjEgMDk6NTQgIGtpbmcKCgkqIE1vZHVsZXMvOiBDb21waWxlci9JbnRlbC1DLmNtYWtlLCBDb21waWxlci9JbnRlbC1DWFguY21ha2UsCgkgIENvbXBpbGVyL0ludGVsLUZvcnRyYW4uY21ha2UsIENvbXBpbGVyL0ludGVsLmNtYWtlLAoJICBQbGF0Zm9ybS9MaW51eC1JbnRlbC1DLmNtYWtlLCBQbGF0Zm9ybS9MaW51eC1JbnRlbC1DWFguY21ha2UsCgkgIFBsYXRmb3JtL0xpbnV4LUludGVsLUZvcnRyYW4uY21ha2U6IFNwbGl0IEludGVsIGNvbXBpbGVyCgkgIGluZm9ybWF0aW9uIGZpbGVzCgoJICBUaGlzIG1vdmVzIHBsYXRmb3JtLWluZGVwZW5kZW50IEludGVsIGNvbXBpbGVyIGZsYWdzIGludG8KCSAgc2VwYXJhdGUgIkNvbXBpbGVyL0ludGVsLTxsYW5nPi5jbWFrZSIgbW9kdWxlcy4KCSAgUGxhdGZvcm0tc3BlY2lmaWMgZmxhZ3MgYXJlIGxlZnQgdW50b3VjaGVkLgoKMjAwOS0wOC0yMSAwMDowMSAga3dyb2JvdAoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBLV1N5cyBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDgtMjAgMTY6MjEgIGtpbmcKCgkqIE1vZHVsZXMvRm9ydHJhbkNJbnRlcmZhY2UuY21ha2U6IFRlYWNoIEZvcnRyYW5DSW50ZXJmYWNlIHRvCgkgIHZlcmlmeSBsYW5ndWFnZXMKCgkgIFRoaXMgbW9kdWxlIHJlcXVpcmVzIGJvdGggQyBhbmQgRm9ydHJhbiB0byBiZSBlbmFibGVkLCBzbwoJICBlcnJvci1vdXQgaWYgdGhleSBhcmUgbm90LgoKMjAwOS0wOC0yMCAxNjoyMSAga2luZwoKCSogU291cmNlL2NtRG9jdW1lbnRWYXJpYWJsZXMuY3h4OiBEb2N1bWVudAoJICBDTUFLRV88TEFORz5fQ09NUElMRVJfTE9BREVEIHZhcmlhYmxlCgoyMDA5LTA4LTIwIDA5OjQ2ICB6YWNoLm11bGxlbgoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RSdW5UZXN0LmN4eDogRml4ZWQgbGluZSBsZW5ndGggb3ZlciA4MAoKMjAwOS0wOC0yMCAwMDowMSAga3dyb2JvdAoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBLV1N5cyBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDgtMTkgMjI6MjggIGxvd21hbgoKCSogTW9kdWxlcy9GaW5kQm9vc3QuY21ha2U6IEFkZCBCb29zdCAxLjM5ICYgMS40MC4gIE1vdmUKCSAgJHtCb29zdF9JTkNMVURFX0RJUn0vbGliIHRvIGZyb250IG9mIGxpYnJhcnkgc2VhcmNoLgoKMjAwOS0wOC0xOSAxMjoxOSAgZGF2aWQuY29sZQoKCSogTW9kdWxlcy86IERvd25sb2FkRmlsZS5jbWFrZSwgRXh0ZXJuYWxQcm9qZWN0LmNtYWtlLAoJICBVbnRhckZpbGUuY21ha2U6IFJlbW92ZSBEb3dubG9hZEZpbGUuY21ha2UgYW5kIFVudGFyRmlsZS5jbWFrZQoJICBmcm9tIHRoZSBNb2R1bGVzIGRpcmVjdG9yeS4gUHV0IGZ1bmN0aW9uYWxpdHkgZGlyZWN0bHkgaW50bwoJICBFeHRlcm5hbFByb2plY3QuY21ha2UgaXRzZWxmIHNvIHRoYXQgdGhlc2UgbW9kdWxlcyBkbyBub3QgZW5kIHVwCgkgIGluIHRoZSB1cGNvbWluZyByZWxlYXNlIG9mIENNYWtlLgoKMjAwOS0wOC0xOSAwOToyNCAgemFjaC5tdWxsZW4KCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuaDogRml4ZWQgb3ZlcndyaXRpbmcgb2YgYSBwcmV2aW91cwoJICBjaGFuZ2Ugc2V0CgoyMDA5LTA4LTE5IDA4OjU4ICB6YWNoLm11bGxlbgoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIGNtQ1Rlc3QuY3h4LCBjbUNUZXN0LmgsCgkgIENUZXN0L2NtQ1Rlc3RSdW5UZXN0LmN4eCwgQ1Rlc3QvY21DVGVzdFJ1blRlc3QuaCwKCSAgQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eCwgQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmg6IEVOSDoKCSAgUmVmYWN0b3JlZCBDVGVzdCB0ZXN0IGV4ZWN1dGlvbiBjb2RlIGludG8gYW4gb2JqZWN0CgoyMDA5LTA4LTE5IDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IEtXU3lzIE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wOC0xOCAxNDowMyAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHg6IEFkZCB0ZXN0IHRpbWVzIHRvIGxvZyBmaWxlCgkgIGFzIHdlbGwgYXMgdGhlIHN0ZG91dC4KCjIwMDktMDgtMTggMTM6MzQgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RUZXN0SGFuZGxlci5jeHgsIGNtQ1Rlc3RUZXN0SGFuZGxlci5oOiBJZgoJICBsYWJlbHMgYXJlIGZvdW5kIG9uIHRoZSB0ZXN0cywgdGhlbiBwcmludCBhIHRpbWUgc3VtbWFyeSBmb3IgYWxsCgkgIHRoZSB0ZXN0cyBydW4gd2l0aCBlYWNoIGxhYmVsLgoKMjAwOS0wOC0xOCAwMDowMSAga3dyb2JvdAoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBLV1N5cyBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDgtMTcgMDA6MDEgIGt3cm9ib3QKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogS1dTeXMgTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA4LTE2IDIzOjA3ICBsb3dtYW4KCgkqIE1vZHVsZXMvRmluZEJ1bGxldC5jbWFrZTogRmluZCBtb2R1bGUgZm9yIHRoZSBCdWxsZXQgcGh5c2ljcwoJICBlbmdpbmUKCjIwMDktMDgtMTYgMjI6MTIgIGxvd21hbgoKCSogTW9kdWxlcy9GaW5kR1Rlc3QuY21ha2U6IEEgZmluZCBtb2R1bGUgZm9yIHRoZSBHb29nbGUgQysrIFRlc3RpbmcKCSAgRnJhbWV3b3JrCgoyMDA5LTA4LTE2IDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IEtXU3lzIE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wOC0xNSAwMDowMSAga3dyb2JvdAoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBLV1N5cyBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDgtMTQgMDA6MDEgIGt3cm9ib3QKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogS1dTeXMgTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA4LTEzIDAwOjExICBsb3dtYW4KCgkqIE1vZHVsZXMvOiBGaW5kQklTT04uY21ha2UsIEZpbmRGTEVYLmNtYWtlOiBDaGVja2luZyBpbiB0aGUKCSAgRmluZEZMRVguY21ha2UgJiBGaW5kQklTT04uY21ha2UgYXR0YWNoZWQgdG8gSXNzdWUgIzQwMTggYWZ0ZXIKCSAgc29tZSBtaW5vciBpbXByb3ZlbWVudHMKCgkgICogSW1wcm92ZWQgZXhhbXBsZXMgKiBTd2l0Y2hlZCB0byBGaW5kUGFja2FnZUhhbmRsZVN0YW5kYXJkQXJncyAqCgkgIENsZWFuZWQgdXAgaW5kZW50YXRpb24gKiBTYW5pdGl6ZWQgZWxzZSgpL2VuZGlmKCkgYmxvY2tzCgoyMDA5LTA4LTEzIDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IEtXU3lzIE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wOC0xMiAyMjo0MCAgbG93bWFuCgoJKiBNb2R1bGVzL0ZpbmREZXZJTC5jbWFrZTogRml4ZXMgSXNzdWUgIzg5OTQKCjIwMDktMDgtMTIgMjI6MjUgIGxvd21hbgoKCSogTW9kdWxlcy9GaW5kR251VExTLmNtYWtlOiBGaW5kIG1vZHVsZSBmb3IgR251VExTLCB0aGUgR05VCgkgIFRyYW5zcG9ydCBMYXllciBTZWN1cml0eSBsaWJyYXJ5IChJc3N1ZSAjOTIyOCkKCjIwMDktMDgtMTIgMjE6NTggIGxvd21hbgoKCSogTW9kdWxlcy9GaW5kT3BlblNjZW5lR3JhcGguY21ha2U6IEltcHJvdmVkIGVycm9yIG91dHB1dCBhbmQKCSAgZG9jdW1lbnRhdGlvbgoKCSAgKiBGaXhlZCBlcnJhbnQgb3V0cHV0IHdoZW4gdmVyc2lvbiBudW1iZXIgbm90IGZvdW5kICogSW1wcm92ZWQKCSAgZXJyb3Igb3V0cHV0IHdoZW4gUkVRVUlSRUQgaXMgcGFzc2VkICogSW1wcm92ZWQgZG9jcyBhbmQgZXhhbXBsZQoKMjAwOS0wOC0xMiAwOTowOSAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWJjYzMyLmNtYWtlOiBRdW90ZSB0aGUgdGFyZ2V0IG5hbWUgZm9yCgkgIEJvcmxhbmQgdGxpYiB0b29sCgoJICBUaGUgQm9ybGFuZCBsaWJyYXJpYW4gdG9vbCAidGxpYiIgcmVxdWlyZXMgdGhhdCB0aGUgb3V0cHV0IHRhcmdldAoJICBuYW1lIGJlIHF1b3RlZCBpZiBpdCBjb250YWlucyB0aGUgY2hhcmFjdGVyICctJyAoYW5kIHBlcmhhcHMgYQoJICBmZXcgb3RoZXJzKS4JVGhpcyBjb21taXQgcmVzdG9yZXMgdGhlIHVzZSBvZiB0aGUgVEFSR0VUX1FVT1RFRAoJICBydWxlIHZhcmlhYmxlIHJlcGxhY2VtZW50IGZvciB0aGlzIHB1cnBvc2UuICBPdGhlcndpc2Ugbm8gc3RhdGljCgkgIGxpYnJhcnkgY2FuIGhhdmUgYSAnLScgaW4gaXRzIG5hbWUuCgoJICBUaGlzIHByb2JsZW0gd2FzIGV4cG9zZWQgYnkgdGhlICdUZXN0aW5nJyB0ZXN0IHdoZW4gaXQgYnVpbGRzIHRoZQoJICBwY1N0YXRpYyBsaWJyYXJ5IHdpdGggdGhlICctZGJnJyBzdWZmaXguCgoyMDA5LTA4LTEyIDA4OjA2ICBraW5nCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFNWTi5jeHg6IEZpeCBjbGFzc2lmaWNhdGlvbiBvZiBleHRlcm5hbHMgaW4KCSAgc3ZuIHN0YXR1cwoKCSAgQ1Rlc3QgcnVucyAnc3ZuIHN0YXR1cycgdG8gaWRlbnRpZnkgbW9kaWZpZWQgYW5kIGNvbmZsaWN0aW5nCgkgIGZpbGVzIGluIHRoZSB3b3JraW5nIGRpcmVjdG9yeS4gIFRoaXMgY29tbWl0IGZpeGVzIHRoZQoJICBpbnRlcnByZXRhdGlvbiBvZiB0aGUgJ1gnIHN0YXR1cywgd2hpY2ggY29ycmVzcG9uZHMgdG8gc3ZuCgkgIGVYdGVybmFscy4gIFRoaXMgc3RhdHVzIHNob3VsZCBiZSBpZ25vcmVkIHJhdGhlciB0aGFuIHRyZWF0ZWQgYXMKCSAgYSBsb2NhbCBtb2RpZmljYXRpb24uCgoyMDA5LTA4LTEyIDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IEtXU3lzIE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wOC0xMSAyMjowMiAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdE11bHRpUHJvY2Vzc0hhbmRsZXIuY3h4LAoJICBjbUNUZXN0VGVzdEhhbmRsZXIuY3h4LCBjbVByb2Nlc3MuaDogT3V0cHV0IHRvdGFsIHRpbWUgd2hlbiB1c2luZwoJICAtaiBOCgoyMDA5LTA4LTExIDIyOjAxICBob2ZmbWFuCgoJKiBUZXN0cy9DVGVzdFVwZGF0ZUNvbW1vbi5jbWFrZTogT3V0cHV0IGNvbW1hbmQgdGhhdCBmYWlsZWQsIGlmIGl0CgkgIGZhaWxzLgoKMjAwOS0wOC0xMSAxNjoyNSAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RDVlMuY3h4OiBGaXggZmFpbGluZyB0ZXN0IG9uIHJlbGVhc2UgYnVpbGQKCSAgZm9yIFZTIDEwIGNtU3lzdGVtVG9vbHM6OkdldExpbmVGcm9tU3RyZWFtIGNyYXNoZXMgaWYgdGhlIHN0cmVhbQoJICBpcyBub3Qgb3BlbiBpbiB0aGF0IGNhc2UuCgoyMDA5LTA4LTExIDA5OjU1ICBraW5nCgoJKiBUZXN0cy9UZXN0aW5nLzogQ01ha2VMaXN0cy50eHQsIGRyaXZlci5jbWFrZSwgcGNTaGFyZWQuYywKCSAgcGNTaGFyZWQuaCwgcGNTdGF0aWMuYywgcGVyY29uZmlnLmM6IFRlc3QgYWRkX3Rlc3QoKSBnZW5lcmF0b3IKCSAgZXhwcmVzc2lvbnMKCgkgIFRoaXMgdGVhY2hlcyB0aGUgJ3Rlc3RpbmcnIHRlc3QgdG8gdHJ5IGdlbmVyYXRvciBleHByZXNzaW9ucyBpbgoJICBhcmd1bWVudHMgdG8gYWRkX3Rlc3QoTkFNRSkuCVRoaXMgdGVzdCBjYXNlIG1pbWljcyBhIGNvbW1vbgoJICB1c2UtY2FzZSBvZiBwYXNzaW5nIGV4ZWN1dGFibGVzIHRvIHRlc3QgZHJpdmVyIHNjcmlwdHMuICBXZQoJICBleGNlcmNpc2UgdGhlIHN5bnRheCBmb3IgcGVyLWNvbmZpZ3VyYXRpb24gdGFyZ2V0IGZpbGUgbmFtZXMuCgoyMDA5LTA4LTExIDA5OjU0ICBraW5nCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbUFkZFRlc3RDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUdlbmVyYXRvckV4cHJlc3Npb24uY3h4LCBTb3VyY2UvY21HZW5lcmF0b3JFeHByZXNzaW9uLmgsCgkgIFNvdXJjZS9jbVRlc3RHZW5lcmF0b3IuY3h4LCBib290c3RyYXA6IEludHJvZHVjZSAiZ2VuZXJhdG9yCgkgIGV4cHJlc3Npb25zIiB0byBhZGRfdGVzdCgpCgoJICBUaGlzIGludHJvZHVjZXMgYSBuZXcgc3ludGF4IGNhbGxlZCAiZ2VuZXJhdG9yIGV4cHJlc3Npb25zIiB0bwoJICB0aGUgdGVzdCBDT01NQU5EIG9wdGlvbiBvZiB0aGUgYWRkX3Rlc3QoTkFNRSkgY29tbWFuZCBtb2RlLgoJICBUaGVzZSBleHByZXNzaW9ucyBoYXZlIGEgc3ludGF4IGxpa2UgJDxUQVJHRVRfRklMRTpteXRhcmdldD4gYW5kCgkgIGFyZSBldmFsdWF0ZWQgZHVyaW5nIGJ1aWxkIHN5c3RlbSBnZW5lcmF0aW9uLiAgVGhpcyBzeW50YXggYWxsb3dzCgkgIHBlci1jb25maWd1cmF0aW9uIHRhcmdldCBvdXRwdXQgZmlsZXMgdG8gYmUgcmVmZXJlbmNlZCBpbiB0ZXN0CgkgIGNvbW1hbmRzIGFuZCBhcmd1bWVudHMuCgoyMDA5LTA4LTExIDA5OjA3ICBraW5nCgoJKiBTb3VyY2UvOiBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0Lmg6IENyZWF0ZSBjbVRhcmdldCBETEwgcXVlcnkKCSAgbWV0aG9kcwoKCSAgV2UgY3JlYXRlcyBtZXRob2RzIElzRExMUGxhdGZvcm0oKSBhbmQgSGFzSW1wb3J0TGlicmFyeSgpLiAgVGhlCgkgIGZvcm1lciByZXR1cm5zIHRydWUgb24gV2luZG93cy4gIFRoZSBsYXR0ZXIgcmV0dXJucyB3aGV0aGVyIHRoZQoJICB0YXJnZXQgaGFzIGEgRExMIGltcG9ydCBsaWJyYXJ5LiAgSXQgaXMgdHJ1ZSBvbiBXaW5kb3dzIGZvcgoJICBzaGFyZWQgbGlicmFyaWVzIGFuZCBleGVjdXRhYmxlcyB3aXRoIGV4cG9ydHMuCgoyMDA5LTA4LTExIDA5OjA3ICBraW5nCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmN4eCwgY21UZXN0LmN4eCwgY21UZXN0Lmg6IFJlY29yZCBiYWNrdHJhY2UKCSAgZm9yIGV2ZXJ5IGFkZF90ZXN0IGNvbW1hbmQKCgkgIFdlIHRlYWNoIGNtVGVzdCB0byBob2xkIGEgYmFja3RyYWNlIGZvciB0aGUgYWRkX3Rlc3QgY29tbWFuZCB0aGF0CgkgIGNyZWF0ZWQgaXQuICBUaGlzIHdpbGwgYmUgdXNlZCBsYXRlciB0byByZXBvcnQgY29udGV4dCBmb3IgZXJyb3JzCgkgIGF0IGdlbmVyYXRlIHRpbWUuCgoyMDA5LTA4LTExIDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IEtXU3lzIE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wOC0xMCAxNDozMiAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nL1FDTWFrZS5jeHg6IEVOSDogIFBhdGNoIGZyb20gQWxleGFuZGVyIE5ldW5kb3JmCgkgIHRvIHJlbW92ZSAiS0RldmVsb3AzIiBmcm9tIGxpc3Qgb2YgZ2VuZXJhdG9ycy4gICJLRGV2ZWxvcDMgLSBVbml4CgkgIE1ha2VmaWxlcyIgc2hvdWxkIGJlIHVzZWQgaW5zdGVhZC4KCjIwMDktMDgtMTAgMTM6MjUgIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy86IFFDTWFrZUNhY2hlVmlldy5jeHgsIFFDTWFrZUNhY2hlVmlldy5oOiBFTkg6CgkgIEFsbG93IGVkaXQgb24gc2luZ2xlIGNsaWNrLiAgRml4ZXMgIzkzOTMuICBBbHNvIGZpeCByb3cgaGVpZ2h0cwoJICB0byBiZSBjb25zaXN0ZW50LgoKMjAwOS0wOC0xMCAwOTowNyAga2luZwoKCSogU291cmNlL2NtVGVzdEdlbmVyYXRvci5jeHg6IENsZWFudXAgdGVzdCBwcm9wZXJ0eSBzY3JpcHQgY29kZQoJICBnZW5lcmF0aW9uCgoJICBXZSB0ZWFjaCBjbVRlc3RHZW5lcmF0b3I6OkdlbmVyYXRlU2NyaXB0Q29uZmlncyB0byB1c2UgdGhlCgkgIGdlbmVyYWwgY21Mb2NhbEdlbmVyYXRvcjo6RXNjYXBlRm9yQ01ha2UgbWV0aG9kIHRvIHdyaXRlIGVzY2FwZWQKCSAgdGVzdCBwcm9wZXJ0eSB2YWx1ZXMgaW50byB0ZXN0IHNjcmlwdHMuICBUaGlzIGVsaW1pbmF0ZXMgdGhlCgkgIHByZXZpb3VzIGhhbmQtY29kZWQgZXNjYXBpbmcgaW1wbGVtZW50YXRpb24uCgoyMDA5LTA4LTEwIDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IEtXU3lzIE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wOC0wOSAwMDowMSAga3dyb2JvdAoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBLV1N5cyBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDgtMDggMDA6MDEgIGt3cm9ib3QKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogS1dTeXMgTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA4LTA3IDEwOjEzICBraW5nCgoJKiBNb2R1bGVzLzogQ01ha2VDQ29tcGlsZXJJZC5jLmluLCBDTWFrZUNYWENvbXBpbGVySWQuY3BwLmluLAoJICBDTWFrZUZvcnRyYW5Db21waWxlcklkLkYuaW4sIENvbXBpbGVyL1Zpc3VhbEFnZS1DLmNtYWtlLAoJICBDb21waWxlci9WaXN1YWxBZ2UtQ1hYLmNtYWtlLCBDb21waWxlci9WaXN1YWxBZ2UtRm9ydHJhbi5jbWFrZSwKCSAgQ29tcGlsZXIvWEwtQy5jbWFrZSwgQ29tcGlsZXIvWEwtQ1hYLmNtYWtlLAoJICBDb21waWxlci9YTC1Gb3J0cmFuLmNtYWtlLCBQbGF0Zm9ybS9MaW51eC1WaXN1YWxBZ2UtQy5jbWFrZSwKCSAgUGxhdGZvcm0vTGludXgtVmlzdWFsQWdlLUZvcnRyYW4uY21ha2UsCgkgIFBsYXRmb3JtL0xpbnV4LVhMLUMuY21ha2UsIFBsYXRmb3JtL0xpbnV4LVhMLUZvcnRyYW4uY21ha2U6IFRlYWNoCgkgIGNvbXBpbGVyIGlkIGFib3V0IFZpc3VhbEFnZSAtPiBYTCByZWJyYW5kaW5nCgoJICBJQk0gcmVicmFuZGVkIGl0cyBWaXN1YWxBZ2UgY29tcGlsZXIgdG8gWEwgc3RhcnRpbmcgYXQgdmVyc2lvbgoJICA4LjAuCVdlIHVzZSB0aGUgY29tcGlsZXIgaWQgIlhMIiBmb3IgbmV3ZXIgdmVyc2lvbnMgYW5kCgkgICJWaXN1YWxBZ2UiIGZvciBvbGRlciB2ZXJzaW9ucy4gIFdlIG5vdyBhbHNvIHJlY29nbml6ZSB0aGUgInovT1MiCgkgIGNvbXBpbGVyLCB3aGljaCBpcyBkaXN0aW5jdCBmcm9tIFhMLgoKMjAwOS0wOC0wNyAxMDoxMiAga2luZwoKCSogTW9kdWxlcy86IENvbXBpbGVyL1Zpc3VhbEFnZS1Gb3J0cmFuLmNtYWtlLAoJICBQbGF0Zm9ybS9BSVgtVmlzdWFsQWdlLUZvcnRyYW4uY21ha2UsCgkgIFBsYXRmb3JtL0xpbnV4LVZpc3VhbEFnZS1Gb3J0cmFuLmNtYWtlLCBQbGF0Zm9ybS94bGYuY21ha2U6IE1vdmUKCSAgZmxhZyB0byBDb21waWxlci9WaXN1YWxBZ2UtRm9ydHJhbiBtb2R1bGUKCgkgIFRoZSBDTUFLRV9Gb3J0cmFuX0RFRklORV9GTEFHIHZhbHVlIGFwcGxpZXMgdG8gdGhlIElCTSBGb3J0cmFuCgkgIGNvbXBpbGVycyBvbiBhbGwgcGxhdGZvcm1zLiAgVGhpcyBtb3ZlcyB0aGUgc2V0dGluZyB0byB0aGUKCSAgcGxhdGZvcm0taW5kZXBlbmRlbnQgY29tcGlsZXIgaW5mb3JtYXRpb24gZmlsZS4KCjIwMDktMDgtMDcgMDk6NTYgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vT3BlbkJTRC5jbWFrZTogVXNlIE5ldEJTRCB0byBpbml0aWFsaXplIE9wZW5CU0QKCSAgY29uZmlndXJhdGlvbgoKCSAgV2UgdGVhY2ggTW9kdWxlcy9QbGF0Zm9ybS9PcGVuQlNELmNtYWtlIHRvIGxvYWQgTmV0QlNEIGZpcnN0CgkgIHNpbmNlIHRoZSBwbGF0Zm9ybXMgYXJlIHNvIHNpbWlsYXIuICBUaGlzIGVuYWJsZXMgUlBBVEggc3VwcG9ydAoJICBvbiBPcGVuQlNELgoKMjAwOS0wOC0wNyAwMDowMSAga3dyb2JvdAoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBLV1N5cyBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDgtMDYgMTk6MDEgIHBhcnR5ZAoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQ09NUDogYXR0ZW1wdCB0byBmaXggbW9yZSAnaGlkZGVuCgkgIGJ5JyB3YXJuaW5ncy4KCjIwMDktMDgtMDYgMDc6NTMgIGtpbmcKCgkqIE1vZHVsZXMvRm9ydHJhbkNJbnRlcmZhY2UvQ01ha2VMaXN0cy50eHQ6IFRlYWNoIEZvcnRyYW5DSW50ZXJmYWNlCgkgIGFib3V0IGc3NyBtYW5nbGluZwoKCSAgVGhlIG9sZCBHTlUgZzc3IEZvcnRyYW4gY29tcGlsZXIgdXNlcyB0aGUgc3VmZml4ICdfXycgZm9yIHN5bWJvbHMKCSAgY29udGFpbmluZyBhbiB1bmRlcnNjb3JlIGluIHRoZWlyIG5hbWUuCgoyMDA5LTA4LTA2IDA3OjUzICBraW5nCgoJKiBNb2R1bGVzL0ZvcnRyYW5DSW50ZXJmYWNlL0NNYWtlTGlzdHMudHh0OiBTb3J0IEZvcnRyYW5DSW50ZXJmYWNlCgkgIGdsb2JhbCBtYW5nbGluZyBzeW1ib2xzCgoJICBUaGlzIGp1c3QgY2xlYW5zIHVwIHRoZSBsaXN0IG9yZGVyaW5nIHNvIG1vcmUgZW50cmllcyBjYW4gYmUKCSAgYWRkZWQgd2hpbGUga2VlcGluZyBldmVyeXRoaW5nIG9yZ2FuaXplZC4KCjIwMDktMDgtMDYgMDA6MDEgIGt3cm9ib3QKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogS1dTeXMgTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA4LTA1IDE3OjA3ICBraW5nCgoJKiBNb2R1bGVzL0ZvcnRyYW5DSW50ZXJmYWNlLzogQ01ha2VMaXN0cy50eHQsIG15X21vZHVsZV8uYywKCSAgbXltb2R1bGVfLmM6IENsZWFudXAgRm9ydHJhbkNJbnRlcmZhY2UgZm9yIFBHSSBhbmQgR0NDIDQuMgoKCSAgVGhpcyBkb2N1bWVudHMgdGhlIHB1cnBvc2Ugb2YgdGhlIGV4dHJhIG15X21vZHVsZV8uYyBhbmQKCSAgbXltb2R1bGUuYyBzb3VyY2UgZmlsZXMsIGFuZCBzb3J0cyB0aGUgc3ltYm9scy4KCjIwMDktMDgtMDUgMTY6NTUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRm9ydHJhbkNJbnRlcmZhY2UvOiBDTWFrZUxpc3RzLnR4dCwgbXlfbW9kdWxlXy5jLAoJICBteW1vZHVsZV8uYzogVGVhY2ggRm9ydHJhbkMgaW50ZXJmYWNlIGZvciBJbnRlbCwgUEdJLCBhbmQgZ2NjIDQuMgoKMjAwOS0wOC0wNSAxNTozOSAgZGF2aWQuY29sZQoKCSogTW9kdWxlcy9BZGRFeHRlcm5hbFByb2plY3QuY21ha2U6IFJlbW92ZQoJICBBZGRFeHRlcm5hbFByb2plY3QuY21ha2UuIEV4dGVybmFsUHJvamVjdC5jbWFrZQoJICBzdXBlcmNlZGVzL3JlcGxhY2VzIGl0LgoKMjAwOS0wOC0wNSAxNDo1OSAgZGF2aWQuY29sZQoKCSogTW9kdWxlcy86IEJ1bmRsZVV0aWxpdGllcy5jbWFrZSwgR2V0UHJlcmVxdWlzaXRlcy5jbWFrZTogT3ZlcmhhdWwKCSAgR2V0UHJlcmVxdWlzaXRlcyBhbmQgQnVuZGxlVXRpbGl0aWVzOiBtYWtlIGZpeHVwX2J1bmRsZSBkbwoJICBzb21ldGhpbmcgdXNlZnVsIG9uIFdpbmRvd3MgYW5kIExpbnV4LgoKCSAgRm9ybWVybHksIGZpeHVwX2J1bmRsZSB3YXMgdXNlZnVsIG9ubHkgb24gdGhlIE1hYyBmb3IgbWFraW5nCgkgIHN0YW5kYWxvbmUgYnVuZGxlIGFwcGxpY2F0aW9ucyB0aGF0IGNvdWxkIGJlIGRyYWctbi1kcm9wIG1vdmVkIHRvCgkgIGFueXBsYWNlIGluIHRoZSBmaWxlIHN5c3RlbS4gZml4dXBfYnVuZGxlIGlzIG5vdCBqdXN0IGZvciB0aGUgTWFjCgkgIGFueSBtb3JlLiBJdCB3aWxsIG5vdyBhbmFseXplIGV4ZWN1dGFibGUgZmlsZXMgb24gV2luZG93cyBhbmQKCSAgTGludXgsIHRvbywgYW5kIGNvcHkgbmVjZXNzYXJ5IG5vbi1zeXN0ZW0gZGxscyB0byB0aGUgc2FtZSBmb2xkZXIKCSAgdGhhdCB0aGUgZXhlY3V0YWJsZSBpcyBpbi4gVGhpcyBzaG91bGQgd29yayB3aXRoIGRsbHMgdGhhdCB5b3UKCSAgYnVpbGQgYXMgcGFydCBvZiB5b3VyIGJ1aWxkIGFuZCBhbHNvIHdpdGggM3JkLXBhcnR5IGRsbHMgYXMgbG9uZwoJICBhcyB5b3UgZ2l2ZSBmaXh1cF9idW5kbGUgdGhlIHJpZ2h0IGxpc3Qgb2YgZGlyZWN0b3JpZXMgdG8gc2VhcmNoCgkgIGZvciB0aG9zZSBkbGxzLiBNYW55IHRoYW5rcyB0byBDbGludG9uIFN0aW1wc29uIGZvciBoaXMgaGVscCBpbgoJICBpcm9uaW5nIG91dCB0aGUgZGV0YWlscyBpbnZvbHZlZCBpbiBtYWtpbmcgdGhpcyB3b3JrLgoKMjAwOS0wOC0wNSAxMzo0MCAga2luZwoKCSogTW9kdWxlcy9Gb3J0cmFuQ0ludGVyZmFjZS5jbWFrZSwgTW9kdWxlcy9Gb3J0cmFuQ0ludGVyZmFjZS5oLmluLAoJICBNb2R1bGVzL0ZvcnRyYW5DSW50ZXJmYWNlL0NNYWtlTGlzdHMudHh0LAoJICBNb2R1bGVzL0ZvcnRyYW5DSW50ZXJmYWNlL0lucHV0LmNtYWtlLmluLAoJICBNb2R1bGVzL0ZvcnRyYW5DSW50ZXJmYWNlL01hY3JvLmguaW4sCgkgIE1vZHVsZXMvRm9ydHJhbkNJbnRlcmZhY2UvT3V0cHV0LmNtYWtlLmluLAoJICBNb2R1bGVzL0ZvcnRyYW5DSW50ZXJmYWNlL2NhbGxfbW9kLmY5MCwKCSAgTW9kdWxlcy9Gb3J0cmFuQ0ludGVyZmFjZS9jYWxsX3N1Yi5mLAoJICBNb2R1bGVzL0ZvcnRyYW5DSW50ZXJmYWNlL21haW4uRiwKCSAgTW9kdWxlcy9Gb3J0cmFuQ0ludGVyZmFjZS9teV9tb2R1bGUuZjkwLAoJICBNb2R1bGVzL0ZvcnRyYW5DSW50ZXJmYWNlL215X3N1Yi5mLAoJICBNb2R1bGVzL0ZvcnRyYW5DSW50ZXJmYWNlL215bW9kdWxlLmY5MCwKCSAgTW9kdWxlcy9Gb3J0cmFuQ0ludGVyZmFjZS9teXN1Yi5mLAoJICBNb2R1bGVzL0ZvcnRyYW5DSW50ZXJmYWNlL3N5bWJvbC5jLmluLAoJICBUZXN0cy9Gb3J0cmFuL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9Gb3J0cmFuL215Yy5jOiBSZXdyaXRlCgkgIEZvcnRyYW5DSW50ZXJmYWNlIG1vZHVsZQoKCSAgVGhpcyBpcyBhIG5ldyBGb3J0cmFuQ0ludGVyZmFjZS5jbWFrZSBtb2R1bGUgdG8gcmVwbGFjZSB0aGUKCSAgcHJldmlvdXMgcHJvdG90eXBlLiAgQWxsIG1vZHVsZSBzdXBwb3J0IGZpbGVzIGxpZSBpbiBhCgkgIEZvcnRyYW5DSW50ZXJmYWNlIGRpcmVjdG9yeSBuZXh0IHRvIGl0LgoKCSAgVGhpcyBtb2R1bGUgdXNlcyBhIG5ldyBhcHByb2FjaCB0byBkZXRlY3QgRm9ydHJhbiBzeW1ib2wKCSAgbWFuZ2xpbmcuICBXZSBidWlsZCBhIHNpbmdsZSB0ZXN0IHByb2plY3Qgd2hpY2ggZGVmaW5lcyBzeW1ib2xzCgkgIGluIGEgRm9ydHJhbiBsaWJyYXJ5IChvbmUgcGVyIG9iamVjdC1maWxlKSBhbmQgY2FsbHMgdGhlbSBmcm9tIGEKCSAgRm9ydHJhbiBleGVjdXRhYmxlLiAgVGhlIGV4ZWN1dGFibGUgbGlua3MgdG8gYSBDIGxpYnJhcnkgd2hpY2gKCSAgZGVmaW5lcyBzeW1ib2xzIGVuY29kaW5nIGFsbCBrbm93biBtYW5nbGluZ3MgKG9uZSBwZXIKCSAgb2JqZWN0LWZpbGUpLiAgVGhlIEMgbGlicmFyeSBmYWxscyBiYWNrIHRvIHRoZSBGb3J0cmFuIGxpYnJhcnkKCSAgZm9yIHN5bWJvbHMgaXQgY2Fubm90IHByb3ZpZGUuICBUaGVyZWZvcmUgdGhlIGV4ZWN1dGFibGUgd2lsbAoJICBhbHdheXMgbGluaywgYnV0IHByZWZlcnMgdGhlIEMtaW1wbGVtZW50ZWQgc3ltYm9scyB3aGVuIHRoZXkKCSAgbWF0Y2guICBUaGVzZSBzeW1ib2xzIHN0b3JlIHN0cmluZyBsaXRlcmFscyBvZiB0aGUgZm9ybQoJICBJTkZPOnN5bWJvbFs8bmFtZT5dIHNvIHdlIGNhbiBwYXJzZSB0aGVtIG91dCBvZiB0aGUgZXhlY3V0YWJsZS4KCgkgIFRoaXMgbW9kdWxlIGFsc28gcHJvdmlkZXMgYSBzaW1wbGVyIGludGVyZmFjZS4gIEl0IGFsd2F5cyBkZXRlY3RzCgkgIHRoZSBtYW5nbGluZyBhcyBzb29uIGFzIGl0IGlzIGluY2x1ZGVkLiAgQSBzaW5nbGUgbWFjcm8gaXMKCSAgcHJvdmlkZWQgdG8gZ2VuZXJhdGUgbWFuZ2xpbmcgbWFjcm9zIGFuZCBvcHRpb25hbGx5IHByZS1tYW5nbGVkCgkgIHN5bWJvbHMuCgoyMDA5LTA4LTA1IDEwOjQ1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21WaXN1YWxTdHVkaW8xMFRhcmdldEdlbmVyYXRvci5jeHg6IEFsbG93IGZvciBzdGF0aWMKCSAgbGlicmFyaWVzIHRvIGRlcGVuZCBvbiBvdGhlciB0YXJnZXRzIHNvIHRoYXQgdGhlIE1TQnVpbGQgcnVucwoJICBidWlsZCB0aGluZ3MgaW4gdGhlIGNvcnJlY3Qgb3JkZXIKCjIwMDktMDgtMDUgMTA6MTQgIGtpbmcKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvQ01ha2VMaXN0cy50eHQsCgkgIFV0aWxpdGllcy9Eb3h5Z2VuL2RveHlmaWxlLmluOiBSZW1vdmUgV1hEaWFsb2cgc291cmNlIGNvZGUKCgkgIFRoZSBRdERpYWxvZyBpcyBvdXIgc3VwcG9ydGVkIGNyb3NzLXBsYXRmb3JtIEdVSSwgc28gdGhlIFdYRGlhbG9nCgkgIHNvdXJjZSBpcyBubyBsb25nZXIgbmVlZGVkLgoKMjAwOS0wOC0wNSAxMDoxMyAga2luZwoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBSZW1vdmUgRkxUS0RpYWxvZyBzb3VyY2UgY29kZQoKCSAgVGhlIFF0RGlhbG9nIGlzIG91ciBzdXBwb3J0ZWQgY3Jvc3MtcGxhdGZvcm0gR1VJLCBzbyB0aGUKCSAgRkxUS0RpYWxvZyBzb3VyY2UgaXMgbm8gbG9uZ2VyIG5lZWRlZC4KCjIwMDktMDgtMDUgMDk6NTYgIGtpbmcKCgkqIFNvdXJjZS9jbUZpbmRQYWNrYWdlQ29tbWFuZC5jeHg6IEZpeCBmaW5kX3BhY2thZ2UgZm9yIGNtYWtlLWd1aQoJICByZWdpc3RyeSBlbnRyeQoKCSAgVGhlIGZpbmRfcGFja2FnZSBjb21tYW5kcyBsb29rcyBhdCB0aGUgIldoZXJlQnVpbGQiIHJlZ2lzdHJ5CgkgIGVudHJpZXMgY3JlYXRlZCBieSBDTWFrZVNldHVwIGFuZCBjbWFrZS1ndWkgaG9waW5nIHRoYXQgdGhlCgkgIHByb2plY3Qgd2FzIHJlY2VudGx5IGJ1aWx0LiAgQ01ha2VTZXR1cCBjcmVhdGVkCgkgIFdoZXJlQnVpbGQxLi5XaGVyZUJ1aWxkMTAgYnV0IGNtYWtlLWd1aSBjcmVhdGVzCgkgIFdoZXJlQnVpbGQwLVdoZXJlQnVpbGQ5LgoKCSAgVGhpcyBmaXhlcyBmaW5kX3BhY2thZ2UgdG8gbG9vayBhdCBXaGVyZUJ1aWxkMCBzbyB0aGF0IHRoZSBtb3N0CgkgIHJlY2VudGx5IGNvbmZpZ3VyZWQgcHJvamVjdCBjYW4gYmUgZm91bmQuICBJdCBpcyBpbXBvcnRhbnQgaW4gdGhlCgkgIGNhc2UgdGhhdCB0aGUgcGFja2FnZSB0byBiZSBmb3VuZCB3YXMgdGhlIGxhc3Qgb25lIGNvbmZpZ3VyZWQgaW4KCSAgY21ha2UtZ3VpIGJ1dCB0aGUgY3VycmVudCBwcm9qZWN0IHRoYXQgaXMgZmluZGluZyBpdCBpcwoJICBjb25maWd1cmVkIGZyb20gdGhlIGNvbW1hbmQgbGluZS4KCjIwMDktMDgtMDUgMDA6MDEgIGt3cm9ib3QKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogS1dTeXMgTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA4LTA0IDE1OjQxICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEVOSDogbWlub3IgY2xlYW51cCBvZiB0ZXN0CgoyMDA5LTA4LTA0IDE0OjM3ICBraW5nCgoJKiBTb3VyY2UvY21Db3JlVHJ5Q29tcGlsZS5jeHgsIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5oLCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmgsIFRlc3RzL1RyeUNvbXBpbGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1RyeUNvbXBpbGUvSW5uZXIvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1RyeUNvbXBpbGUvSW5uZXIvaW5uZXJleGUuYywKCSAgVGVzdHMvVHJ5Q29tcGlsZS9Jbm5lci9pbm5lcmxpYi5jOiBObyAvZmFzdCB0YXJnZXRzIGluCgkgIHRyeV9jb21waWxlIHByb2plY3QgbW9kZQoKCSAgVGhlIHRyeV9jb21waWxlIGNvbW1hbmQgYnVpbGRzIHRoZSBjbVRyeUNvbXBpbGVFeGVjIGV4ZWN1dGFibGUKCSAgdXNpbmcgdGhlIGNtVHJ5Q29tcGlsZUV4ZWMvZmFzdCB0YXJnZXQgd2l0aCBNYWtlZmlsZSBnZW5lcmF0b3JzCgkgIGluIG9yZGVyIHRvIHNhdmUgdGltZSBzaW5jZSBkZXBlbmRlbmNpZXMgYXJlIG5vdCBuZWVkZWQuCgkgIEhvd2V2ZXIsIGluIHByb2plY3QgbW9kZSB0aGUgY29tbWFuZCBidWlsZHMgYW4gZW50aXJlIHNvdXJjZSB0cmVlCgkgIHRoYXQgbWF5IGhhdmUgZGVwZW5kZW5jaWVzLiAgVGhlcmVmb3JlIHdlIGNhbiB1c2UgdGhlIC9mYXN0CgkgIHRhcmdldCBhcHByb2FjaCBvbmx5IGluIG9uZS1zb3VyY2UgbW9kZS4KCjIwMDktMDgtMDQgMTQ6MDYgIGtpbmcKCgkqIFRlc3RzL0ZvcnRyYW4vOiBDTWFrZUxpc3RzLnR4dCwgZm9vLmMsIGZvby5jeHgsIG1haW5jLmMsCgkgIG1haW5jeHguYywgbXljLmMsIG15Y3h4LmN4eDogVGVzdCBDLCBDKyssIEZvcnRyYW4gaW50ZXJmYWNlCgkgIGNvbWJpbmF0aW9ucwoKCSAgUHJldmlvdXNseSB0aGUgRm9ydHJhbiB0ZXN0IGNyZWF0ZWQgYSBzaW5nbGUgZXhlY3V0YWJsZQoJICBjb250YWluaW5nIEMsIEMrKywgYW5kIEZvcnRyYW4gc291cmNlcy4gIFRoaXMgY29tbWl0IGRpdmlkZXMgdGhlCgkgIGV4ZWN1dGFibGUgaW50byB0aHJlZSBsaWJyYXJpZXMgY29ycmVzcG9uZGluZyB0byBlYWNoIGxhbmd1YWdlLAoJICBhbmQgdHdvIGV4ZWN1dGFibGVzIHRlc3RpbmcgRm9ydHJhbi9DIG9ubHkgYW5kIEZvcnRyYW4vQy9DKysKCSAgdG9nZXRoZXIuICBUaGUgcmVzdWx0IHRlc3RzIG1vcmUgY29tYmluYXRpb25zIG9mIHVzaW5nIHRoZQoJICBsYW5ndWFnZXMgdG9nZXRoZXIsIGFuZCB0aGF0IGxhbmd1YWdlIHJlcXVpcmVtZW50cyBwcm9wYWdhdGUKCSAgdGhyb3VnaCBsaW5raW5nLgoKMjAwOS0wOC0wNCAxMzoxNiAgbWFydGluawoKCSogU291cmNlL2NtVGVzdC5jeHg6IEVOSDogY2hhbmdlIHRvIENEQVNICgoyMDA5LTA4LTA0IDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IEtXU3lzIE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wOC0wMyAxMzozNyAga2luZwoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIFRlc3RzL1RyeUNvbXBpbGUvSW5uZXIvQ01ha2VMaXN0cy50eHQ6IEZpeCByZWN1cnNpdmUgdHJ5X2NvbXBpbGUKCSAgY2FsbHMKCgkgIFdoZW4gYnVpbGRpbmcgYW4gZW50aXJlIHNvdXJjZSB0cmVlIHdpdGggdHJ5X2NvbXBpbGUgaW5zdGVhZCBvZgoJICBqdXN0IGEgc2luZ2xlIHNvdXJjZSBmaWxlLCBpdCBpcyBwb3NzaWJsZSB0aGF0IHRoZSBDTWFrZUxpc3RzLnR4dAoJICBmaWxlIGluIHRoZSB0cnktY29tcGlsZWQgcHJvamVjdCBpbnZva2VzIHRyeV9jb21waWxlLiAgVGhpcwoJICBjb21taXQgZml4ZXMgcHJvcGFnYXRpb24gb2YgbGFuZ3VhZ2UtaW5pdGlhbGl6YXRpb24gcmVzdWx0cyBmcm9tCgkgIHRoZSBvdXRlci1tb3N0IHByb2plY3QgaW50byBhbnkgbnVtYmVyIG9mIHRyeS1jb21waWxlIGxldmVscy4KCjIwMDktMDgtMDMgMTM6MzcgIGtpbmcKCgkqIFRlc3RzL1RyeUNvbXBpbGUvOiBDTWFrZUxpc3RzLnR4dCwgSW5uZXIvQ01ha2VMaXN0cy50eHQ6IFRlc3QKCSAgdHJ5X2NvbXBpbGUgcHJvamVjdCBtb2RlCgoJICBUaGUgdHJ5X2NvbXBpbGUgY29tbWFuZCBwcm9qZWN0IG1vZGUgYnVpbGRzIGFuIGVudGlyZSBzb3VyY2UgdHJlZQoJICBpbnN0ZWFkIG9mIG9uZSBzb3VyY2UgZmlsZS4gIEl0IHVzZXMgYW4gZXhpc3RpbmcgQ01ha2VMaXN0cy50eHQKCSAgZmlsZSBpbiB0aGUgZ2l2ZW4gc291cmNlIHRyZWUgaW5zdGVhZCBvZiBnZW5lcmF0aW5nIG9uZS4gIFRoaXMKCSAgY29tbWl0IGNyZWF0ZXMgYSB0ZXN0IGZvciB0aGUgbW9kZSBpbiB0aGUgVHJ5Q29tcGlsZSB0ZXN0LgoKMjAwOS0wOC0wMyAwMDowMSAga3dyb2JvdAoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBLV1N5cyBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDgtMDIgMDA6MDEgIGt3cm9ib3QKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogS1dTeXMgTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA4LTAxIDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IEtXU3lzIE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNy0zMSAxNjoxMSAgYWxleAoKCSogU291cmNlL2NtYWtlLmN4eDogRE9DUzogZml4IHR5cG8gKCM5MjMxKQoKCSAgQWxleAoKMjAwOS0wNy0zMSAwOToxOSAga2luZwoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eDogU2V0IGN1cnJlbnQgZGlyZWN0b3J5CgkgIHZhcmlhYmxlcyBpbiBDVGVzdCBzY3JpcHRzCgoJICBUaGUgY29tbWl0ICJGaXggZ2V0X2ZpbGVuYW1lX2NvbXBvbmVudCBBQlNPTFVURSBtb2RlIiBicm9rZSB0aGUKCSAgY29kZQoKCSAgICBnZXRfZmlsZW5hbWVfY29tcG9uZW50KGN3ZCAuIEFCU09MVVRFKQoKCSAgYmVjYXVzZSBDVGVzdCBzY3JpcHRzIGRpZCBub3QgbWFrZQoJICBjbU1ha2VmaWxlOjpHZXRDdXJyZW50RGlyZWN0b3J5KCkgYXZhaWxhYmxlLglUaGlzIGNvbW1pdCBmaXhlcwoJICB0aGUgcHJvYmxlbSBieSBzZXR0aW5nIHRoZSBwcm9wZXIgaW5mb3JtYXRpb24gb24gQ1Rlc3Qgc2NyaXB0CgkgIGluc3RhbmNlcyBvZiBjbU1ha2VmaWxlLgoKCSAgVGhpcyBhbHNvIG1ha2VzIENNQUtFX0NVUlJFTlRfU09VUkNFX0RJUiBhbmQKCSAgQ01BS0VfQ1VSUkVOVF9CSU5BUllfRElSIGF2YWlsYWJsZSB0byBDVGVzdCBzY3JpcHRzLglUaGV5IGFyZQoJICBzZXQgdG8gdGhlIHdvcmtpbmcgZGlyZWN0b3J5IGF0IHNjcmlwdCBzdGFydHVwLgoKMjAwOS0wNy0zMSAwODoyNyAga2luZwoKCSogQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9RdERpYWxvZy9DTWFrZUxpc3RzLnR4dDogRml4IGluc3RhbGxhdGlvbgoJICB3aGVuIGJ1aWx0IGJ5IENNYWtlIDIuNAoKCSAgQ01ha2UgMi40IGdlbmVyYXRlcyBvbGQtc3R5bGUgY21ha2VfaW5zdGFsbC5jbWFrZSBjb2RlIGluY2x1ZGluZwoJICBjYWxscyB0byB0aGUgZmlsZShJTlNUQUxMKSBjb21tYW5kIHdpdGggdGhlIENPTVBPTkVOVFMgYXJndW1lbnQuCgkgIFdlIG5lZWQgdG8gc2V0IENNQUtFX0lOU1RBTExfU0VMRl8yXzQgZm9yIHRoZSB3aG9sZSBpbnN0YWxsIHRyZWUKCSAgdG8gcHJldmVudCB0aGUgY29tbWFuZCBmcm9tIGNvbXBsYWluaW5nIGluIHRoaXMgc3BlY2lhbCBjYXNlLgoJICBQcmV2aW91c2x5IHRoaXMgd2FzIG5lZWRlZCBvbmx5IGluIHRoZSBRdERpYWxvZyBkaXJlY3RvcnksIGJ1dAoJICBub3cgaXQgaXMgbmVlZGVkIGluIHRoZSBlbnRpcmUgdHJlZS4KCjIwMDktMDctMzEgMDY6MjIgIGFsZXgKCgkqIFNvdXJjZS86IGNtRnVuY3Rpb25Db21tYW5kLmgsIGNtTWFjcm9Db21tYW5kLmg6IERPQ1M6IGZpeCB0eXBvCgkgIChzZWUgIzkzMDgpCgoJICBBbGV4CgoyMDA5LTA3LTMxIDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IEtXU3lzIE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNy0zMCAxMzo0NiAga2luZwoKCSogTW9kdWxlcy86IENNYWtlRm9ydHJhbkNvbXBpbGVyLmNtYWtlLmluLAoJICBDTWFrZVRlc3RGb3J0cmFuQ29tcGlsZXIuY21ha2U6IFBhc3MgRm9ydHJhbjkwIHRlc3QgcmVzdWx0IHRvCgkgIHRyeS1jb21waWxlCgoJICBUaGlzIHN0b3JlcyBDTUFLRV9Gb3J0cmFuX0NPTVBJTEVSX1NVUFBPUlRTX0Y5MCBpbiB0aGUgRm9ydHJhbgoJICBjb21waWxlciBpbmZvcm1hdGlvbiBmaWxlIENNYWtlRmlsZXMvQ01ha2VGb3J0cmFuQ29tcGlsZXIuY21ha2UKCSAgaW5zdGVhZCBvZiBpbiBDTWFrZUNhY2hlLnR4dC4gIFRoaXMgZmlsZSBtYWtlcyB0aGUgcmVzdWx0CgkgIGF2YWlsYWJsZSB0byB0cnktY29tcGlsZSBwcm9qZWN0cy4KCjIwMDktMDctMzAgMTA6NTkgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VDWFhDb21waWxlci5jbWFrZS5pbiwKCSAgU291cmNlL2NtRG9jdW1lbnRWYXJpYWJsZXMuY3h4LCBTb3VyY2UvY21UYXJnZXQuY3h4OiBEbyBub3QKCSAgYWx3YXlzIHByb3BhZ2F0ZSBsaW5rZXIgbGFuZ3VhZ2UgcHJlZmVyZW5jZQoKCSAgVGhlIGNvbW1pdCAiQ29uc2lkZXIgbGluayBkZXBlbmRlbmNpZXMgZm9yIGxpbmsgbGFuZ3VhZ2UiIHRhdWdodAoJICBDTWFrZSB0byBwcm9wYWdhdGUgbGlua2VyIGxhbmd1YWdlIHByZWZlcmVuY2UgZnJvbSBsYW5ndWFnZXMKCSAgY29tcGlsZWQgaW50byBsaWJyYXJpZXMgbGlua2VkIGJ5IGEgdGFyZ2V0LiAgSXQgdHVybnMgb3V0IHRoaXMKCSAgc2hvdWxkIG9ubHkgYmUgZG9uZSBmb3Igc29tZSBsYW5ndWFnZXMsIHN1Y2ggYXMgQysrLCBiZWNhdXNlCgkgIG5vcm1hbGx5IHRoZSBsYW5ndWFnZSBvZiB0aGUgcHJvZ3JhbSBlbnRyeSBwb2ludCAobWFpbikgc2hvdWxkIGJlCgkgIHVzZWQuCgoJICBXZSBpbnRyb2R1Y2UgdmFyaWFibGUgQ01BS0VfPExBTkc+X0xJTktFUl9QUkVGRVJFTkNFX1BST1BBR0FURVMKCSAgdG8gdGVsbCBDTWFrZSB3aGV0aGVyIGEgbGFuZ3VhZ2Ugc2hvdWxkIHByb3BhZ2F0ZSBpdHMgbGlua2VyCgkgIHByZWZlcmVuY2UgYWNyb3NzIHRhcmdldHMuICBDdXJyZW50bHkgaXQgaXMgdHJ1ZSBvbmx5IGZvciBDKysuCgoyMDA5LTA3LTMwIDEwOjU5ICBraW5nCgoJKiBTb3VyY2UvY21UYXJnZXQuY3h4OiBSZWZhY3RvciB0YXJnZXQgbGlua2VyIGxhbmd1YWdlIHNlbGVjdGlvbgoKCSAgVGhpcyBmYWN0b3JzIHRoZSBkZWNpc2lvbiBsb2dpYyBvdXQgb2YKCSAgY21UYXJnZXQ6OkNvbXB1dGVMaW5rQ2xvc3VyZSBpbnRvIGRlZGljYXRlZCBjbGFzcwoJICBjbVRhcmdldFNlbGVjdExpbmtlci4gIFdlIHJlcGxhY2Ugc2V2ZXJhbCBsb2NhbCB2YXJpYWJsZXMgd2l0aCBhCgkgIHNpbmdsZSBvYmplY3QgaW5zdGFuY2UsIGFuZCBvcmdhbml6ZSBjb2RlIGludG8gbWV0aG9kcy4KCjIwMDktMDctMzAgMDA6MDEgIGt3cm9ib3QKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNy0yOSAxNjo0MCAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuaDoKCSAgU2VwYXJhdGUgWGNvZGUgZmxhZyBlc2NhcGluZyBjb2RlIGZyb20gZGVmaW5lcwoKCSAgR2VuZXJhbGl6ZSB0aGUgY29yZSBYY29kZSBnZW5lcmF0b3IgcHJlcHJvY2Vzc29yIGZsYWcgZXNjYXBpbmcKCSAgY29kZSB0byBiZSB1c2VmdWwgZm9yIGVzY2FwaW5nIGFsbCBmbGFncy4KCjIwMDktMDctMjkgMTY6MzkgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogUmUtb3JkZXIKCSAgY21HbG9iYWxYQ29kZUdlbmVyYXRvciBpbXBsZW1lbnRhdGlvbgoKCSAgVGhpcyBkZWZpbmVzIGNsYXNzCgkgIGNtR2xvYmFsWENvZGVHZW5lcmF0b3I6OkJ1aWxkT2JqZWN0TGlzdE9yU3RyaW5nIGVhcmx5IGluIHRoZQoJICBzb3VyY2UgZmlsZSBzbyBpdCBjYW4gYmUgdXNlZCBpbiBtb3JlIHBsYWNlcy4KCjIwMDktMDctMjkgMTY6MzggIGtpbmcKCgkqIFRlc3RzL0NNYWtlVGVzdHMvSW1wbGljaXRMaW5rSW5mb1Rlc3QuY21ha2UuaW46IENoZWNrIFBHSSBsaW5rZXIKCSAgbGluZXMgaW4gSW1wbGljaXRMaW5rSW5mbyB0ZXN0CgoJICBUaGlzIGFkZHMgc2FtcGxlIGxpbmtlciBpbnZvY2F0aW9uIGxpbmVzIGZvciB0aGUgUEdJIGNvbXBpbGVyIG9uCgkgIExpbnV4LgoKMjAwOS0wNy0yOSAxNjozOCAga2luZwoKCSogTW9kdWxlcy9Db21waWxlci86IFBHSS1DLmNtYWtlLCBQR0ktQ1hYLmNtYWtlLCBQR0ktRm9ydHJhbi5jbWFrZToKCSAgU2V0IENNQUtFXzxMQU5HPl9WRVJCT1NFX0ZMQUcgdmFyaWFibGVzIGZvciBQR0kKCgkgIFdlIHNldCB0aGUgdmFyaWFibGVzIHRvIGNvbnRhaW4gIi12IiwgdGhlIHZlcmJvc2UgZnJvbnQtZW5kCgkgIG91dHB1dCBvcHRpb24gZm9yIFBHSSBjb21waWxlcnMuICBUaGlzIGVuYWJsZXMgZGV0ZWN0aW9uIG9mCgkgIGltcGxpY2l0IGxpbmsgbGlicmFyaWVzIGFuZCBkaXJlY3RvcmllcyBmb3IgdGhlc2UgY29tcGlsZXJzLgoKMjAwOS0wNy0yOSAxNjowNyAga2luZwoKCSogVGVzdHMvQ01ha2VUZXN0cy9JbXBsaWNpdExpbmtJbmZvVGVzdC5jbWFrZS5pbjogQ2hlY2sgSW50ZWwKCSAgbGlua2VyIGxpbmVzIGluIEltcGxpY2l0TGlua0luZm8gdGVzdAoKCSAgVGhpcyBhZGRzIHNhbXBsZSBsaW5rZXIgaW52b2NhdGlvbiBsaW5lcyBmb3IgdGhlIEludGVsIGNvbXBpbGVyCgkgIG9uIExpbnV4LiAgSW4gcGFydGljdWxhciwgdGhpcyBleGVyY2lzZXMgdGhlIGNhc2Ugd2hlbiAibGQiCgkgIGFwcGVhcnMgd2l0aG91dCBhIGZ1bGwgcGF0aC4KCjIwMDktMDctMjkgMTY6MDcgIGtpbmcKCgkqIE1vZHVsZXMvQ29tcGlsZXIvOiBJbnRlbC1DLmNtYWtlLCBJbnRlbC1DWFguY21ha2UsCgkgIEludGVsLUZvcnRyYW4uY21ha2U6IFNldCBDTUFLRV88TEFORz5fVkVSQk9TRV9GTEFHIHZhcmlhYmxlcyBmb3IKCSAgSW50ZWwKCgkgIFdlIHNldCB0aGUgdmFyaWFibGVzIHRvIGNvbnRhaW4gIi12IiwgdGhlIHZlcmJvc2UgZnJvbnQtZW5kCgkgIG91dHB1dCBvcHRpb24gZm9yIEludGVsIGNvbXBpbGVycy4gIFRoaXMgZW5hYmxlcyBkZXRlY3Rpb24gb2YKCSAgaW1wbGljaXQgbGluayBsaWJyYXJpZXMgYW5kIGRpcmVjdG9yaWVzIGZvciB0aGVzZSBjb21waWxlcnMuCgoyMDA5LTA3LTI5IDE2OjA3ICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlUGFyc2VJbXBsaWNpdExpbmtJbmZvLmNtYWtlOiBSZWNvZ25pemUgbGlua2VyCgkgIGNvbW1hbmRzIHdpdGhvdXQgcGF0aHMKCgkgIFRoaXMgdGVhY2hlcyB0aGUgaW1wbGljaXQgbGluayBsaW5lIHBhcnNpbmcgY29kZSB0byByZWNvZ25pemUKCSAgbGluayBsaW5lcyB0aGF0IGRvIG5vdCBoYXZlIGEgZnVsbCBwYXRoIHRvIHRoZSBsaW5rZXIgZXhlY3V0YWJsZS4KCSAgIEF0IGxlYXN0IG9uZSB2ZXJzaW9uIG9mIHRoZSBJbnRlbCBjb21waWxlciBvbiBMaW51eCBpbnZva2VzIHRoZQoJICBsaW5rZXIgYXMganVzdCAibGQiIGluc3RlYWQgb2YgIi91c3IvYmluL2xkIi4KCjIwMDktMDctMjkgMTE6MjkgIGtpbmcKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUlERU9wdGlvbnMuY3h4LCBjbUlERU9wdGlvbnMuaCwKCSAgY21WaXN1YWxTdHVkaW9HZW5lcmF0b3JPcHRpb25zLmN4eCwKCSAgY21WaXN1YWxTdHVkaW9HZW5lcmF0b3JPcHRpb25zLmg6IEVOSDogU2VwYXJhdGUgb3B0aW9uIG1hcHBpbmcKCSAgZnJvbSBWUyBnZW5lcmF0b3JzCgoJICBTcGxpdCBjbVZpc3VhbFN0dWRpb0dlbmVyYXRvck9wdGlvbnMgY29yZSBmdW5jdGlvbmFsaXR5IG91dCBpbnRvCgkgIGEgYmFzZSBjbGFzcyBjbUlERU9wdGlvbnMuICBJdCB3aWxsIGJlIHVzZWZ1bCBmb3Igb3RoZXIKCSAgZ2VuZXJhdG9ycy4KCjIwMDktMDctMjkgMTE6MjggIGtpbmcKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmgsIGNtSURFRmxhZ1RhYmxlLmgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsCgkgIGNtVmlzdWFsU3R1ZGlvR2VuZXJhdG9yT3B0aW9ucy5oOiBFTkg6IFNlcGFyYXRlIFZTIGZsYWcgdGFibGUKCSAgdHlwZQoKCSAgTW92ZSB0aGUgY21WUzdGbGFnVGFibGUgdHlwZSBvdXQgb2YgdGhlIFZTIGdlbmVyYXRvcnMgYW5kIHJlbmFtZQoJICBpdCB0byBjbUlERUZsYWdUYWJsZS4gIEl0IHdpbGwgYmUgdXNlZnVsIGZvciBvdGhlciBnZW5lcmF0b3JzLgoKMjAwOS0wNy0yOSAwODozOSAga2luZwoKCSogVGVzdHMvUHJvcGVydGllcy9DTWFrZUxpc3RzLnR4dDogVGVzdCBjYWNoZSBlbnRyeSBwcm9wZXJ0eQoJICAiU1RSSU5HUyIKCgkgIFRoZSBTVFJJTkdTIHByb3BlcnR5IHRlbGxzIGNtYWtlLWd1aSB0byBjcmVhdGUgYSBkcm9wLWRvd24KCSAgc2VsZWN0aW9uIGxpc3QuICBUaGlzIHRlYWNoZXMgdGhlIFByb3BlcnRpZXMgdGVzdCB0byBzZXQgYW5kCgkgIHZlcmlmeSBpdHMgdmFsdWUuCgoyMDA5LTA3LTI5IDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDctMjggMTQ6MzAgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaDogRU5IOiByZW1vdmUgY29kZSBkdXBsaWNhdGlvbiBhbmQKCSAgdXNlIGNtVmlzdWFsU3R1ZGlvR2VuZXJhdG9yT3B0aW9ucyBmb3IgYWxsIHZlcnNpb25zIG9mIHZzIDcgYW5kCgkgIGdyZWF0ZXIuCgoyMDA5LTA3LTI4IDEwOjQ2ICBraW5nCgoJKiBTb3VyY2UvOiBDUGFjay9jbUNQYWNrR2VuZXJhdG9yLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdFNjcmlwdEhhbmRsZXIuY3h4LCBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4LAoJICBjbUNUZXN0LmN4eCwgY21ha2UuY3h4OiBCVUc6IERvIG5vdCBkb3VibGUtaW5pdGlhbGl6ZSBsb2NhbAoJICBnZW5lcmF0b3JzCgoJICBBbGwgZ2xvYmFsIGdlbmVyYXRvciBDcmVhdGVMb2NhbEdlbmVyYXRvciBtZXRob2RzIGF1dG9tYXRpY2FsbHkKCSAgaW5pdGlhbGl6ZSB0aGUgbG9jYWwgZ2VuZXJhdG9yIGluc3RhbmNlcyB3aXRoIFNldEdsb2JhbEdlbmVyYXRvci4KCSAgIEluIHNldmVyYWwgcGxhY2VzIHdlIHdlcmUgY2FsbGluZyBTZXRHbG9iYWxHZW5lcmF0b3IgYWdhaW4gYWZ0ZXIKCSAgcmVjZWl2aW5nIHRoZSByZXR1cm4gdmFsdWUgZnJvbSBDcmVhdGVMb2NhbEdlbmVyYXRvci4gIFRoZQoJICBkb3VibGUtaW5pdGlhbGl6YXRpb25zIGxlYWtlZCB0aGUgcmVzb3VyY2VzIGFsbG9jYXRlZCBieSB0aGUKCSAgZmlyc3QgY2FsbCB0byBTZXRHbG9iYWxHZW5lcmF0b3IuICBUaGlzIGZpeCByZW1vdmVzIHRoZQoJICB1bm5lY2Vzc2FyeSBjYWxscy4KCjIwMDktMDctMjggMDg6MzYgIGtpbmcKCgkqIFNvdXJjZS9jbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uY3h4OiBCVUc6IERvIG5vdCBmaWx0ZXIKCSAgbm9uLWxpYnJhcnkgaW1wbGljaXQgbGluayBpdGVtcwoKCSAgV2UgbGlzdCBpbXBsaWNpdCBsaW5rIGl0ZW1zIG9mIGxhbmd1YWdlcyBsaW5rZWQgaW50byBhIHRhcmdldCBidXQKCSAgZmlsdGVyIHRoZW0gYnkgdGhlIGltcGxpY2l0IGxpYnJhcmllcyBrbm93biB0byBiZSBwYXNzZWQgYnkgdGhlCgkgIG1haW4gbGlua2VyIGxhbmd1YWdlLiAgSW1wbGljaXQgbGluayBmbGFncyBsaWtlICItei4uLiIgc2hvdWxkCgkgIG5vdCBiZSBmaWx0ZXJlZCBvdXQgYmVjYXVzZSB0aGV5IGFyZSBub3QgbGlicmFyaWVzLgoKMjAwOS0wNy0yOCAwODozNiAga2luZwoKCSogTW9kdWxlcy9DTWFrZVBhcnNlSW1wbGljaXRMaW5rSW5mby5jbWFrZSwKCSAgVGVzdHMvQ01ha2VUZXN0cy9JbXBsaWNpdExpbmtJbmZvVGVzdC5jbWFrZS5pbjogQlVHOiBQYXJzZQoJICBpbXBsaWNpdCBsaW5rIGVkaXRvciAteipleHRyYWN0IG9wdGlvbnMKCgkgIFRoZSBTdW4gRm9ydHJhbiBjb21waWxlciBwYXNzZXMgLXphbGxleHRyYWN0IGFuZCAtemRlZmF1bHRleHRyYWN0CgkgIHRvIHRoZSBsaW5rZXIgc28gdGhhdCBhbGwgb2JqZWN0cyBmcm9tIG9uZSBvZiBpdHMgYXJjaGl2ZXMgYXJlCgkgIGluY2x1ZGVkIGluIHRoZSBsaW5rLiAgVGhpcyB0ZWFjaGVzIHRoZSBpbXBsaWNpdCBvcHRpb25zIHBhcnNlcgoJICB0byByZWNvZ25pemUgdGhlIGZsYWdzLiAgV2UgbmVlZCB0byBwYXNzIHRoZW0gZXhwbGljaXRseSBvbiBDKysKCSAgbGluayBsaW5lcyB3aGVuIEZvcnRyYW4gY29kZSBpcyBsaW5rZWQuCgoyMDA5LTA3LTI4IDA4OjA4ICBraW5nCgoJKiBTb3VyY2UvY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmN4eDogQlVHOiBBbHdheXMgcGFzcyBsaW5rZXIKCSAgZmxhZ3MgdW50b3VjaGVkCgoJICBJbiBjbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24gd2UgcmVjb2duaXplIGxpbmsgb3B0aW9ucyB0aGF0IGxvb2sKCSAgbGlrZSBsaWJyYXJ5IGZpbGUgbmFtZXMsIGJ1dCBwYXNzIGZsYWdzIHN0YXJ0aW5nIGluICctJyB0aHJvdWdoCgkgIHVudG91Y2hlZC4gIFRoaXMgZml4ZXMgdGhlIG9yZGVyaW5nIG9mIHRoZSBjaGVjayB0byByZWNvZ25pemUgJy0nCgkgIGZsYWdzIGZpcnN0IGluIGNhc2UgdGhlIHJlc3Qgb2YgdGhlIG9wdGlvbiBsb29rcyBsaWtlIGEgbGlicmFyeQoJICBmaWxlIG5hbWUsIGFzIGluIHRoZSBjYXNlIG9mICItbDpsaWJmb28uYSIuCgoyMDA5LTA3LTI4IDA4OjA3ICBraW5nCgoJKiBTb3VyY2UvY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmN4eDogQlVHOiBEbyBub3QgcmVjb2duaXplICc6JyBpbgoJICBhIGxpYnJhcnkgbmFtZQoKCSAgSW4gY21Db21wdXRlTGlua0luZm9ybWF0aW9uIHdlIGNvbnN0cnVjdCByZWd1bGFyIGV4cHJlc3Npb25zIHRvCgkgIHJlY29nbml6ZSBsaWJyYXJ5IGZpbGUgbmFtZXMuICBUaGlzIGZpeGVzIHRoZSBleHByZXNzaW9ucyB0byBub3QKCSAgYWxsb3cgYSBjb2xvbiAoJzonKSBpbiB0aGUgZmlsZSBuYW1lIHNvIHRoYXQgIi1sOmxpYmZvby5hIiBpcwoJICBsZWZ0IGFsb25lLgoKMjAwOS0wNy0yOCAwMDowMSAga3dyb2JvdAoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA3LTI3IDE2OjQ1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBDTWFrZUxpc3RzLnR4dCwga3dzeXNQbGF0Zm9ybVRlc3RzQ1hYLmN4eDogQlVHOgoJICBFbmFibGUgbGFyZ2UgZmlsZXMgb25seSBpZiA8Y3N0ZGlvPiB3b3JrcwoKCSAgU29tZSBBSVgvZ2NjIHZlcnNpb24gY29tYmluYXRpb25zIHRoZSA8Y3N0ZGlvPiBoZWFkZXIgYnJlYWtzIHdoZW4KCSAgbGFyZ2UgZmlsZSBzdXBwb3J0IGlzIGVuYWJsZWQuICBTZWUgdGhpcyBHQ0MgaXNzdWUgZm9yIGRldGFpbHM6CgoJICAgIGh0dHA6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MjAzNjYKCgkgIFdlIHdvcmsgYXJvdW5kIHRoZSBwcm9ibGVtIGJ5IGVuaGFuY2luZyB0aGUgY29uZmlndXJhdGlvbiBjaGVjawoJICBmb3IgbGFyZ2UgZmlsZSBzdXBwb3J0IHRvIGluY2x1ZGUgPGNzdGRpbz4gd2hlbiBhdmFpbGFibGUuICBUaGlzCgkgIHdpbGwgY2F1c2UgTEZTIHRvIGJlIGRpc2FibGVkIHdoZW4gdGhlIGFib3ZlIHByb2JsZW0gb2NjdXJzLgoKMjAwOS0wNy0yNyAxNDoxNyAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHg6IEVOSDogYWRkIHRlc3QgdGltZXMgYW5kIGEKCSAgdG90YWwgdGltZSB0byB0aGUgb3V0cHV0IG9mIGNvbW1hbmQgbGluZSBjdGVzdAoKMjAwOS0wNy0yNyAxMjo0MyAga2luZwoKCSogVGVzdHMvRm9ydHJhbi86IENNYWtlTGlzdHMudHh0LCBmb28uYywgZm9vLmN4eDogRU5IOiBUZXN0IEZvcnRyYW4KCSAgYW5kIEMrKyBpbiBvbmUgZXhlY3V0YWJsZQoKCSAgVGhpcyBleHRlbmRzIHRoZSBGb3J0cmFuLXRvLUMgaW50ZXJmYWNlIHRlc3QgdG8gYWRkIGEgQysrIHNvdXJjZQoJICBmaWxlLiAgVGhlIGV4ZWN1dGFibGUgY2FuIG9ubHkgbGluayB3aXRoIHRoZSBDKysgbGlua2VyIGFuZCB3aXRoCgkgIHRoZSBwcm9wZXIgRm9ydHJhbiBydW50aW1lIGxpYnJhcmllcy4gIFRoZXNlIGxpYnJhcmllcyBzaG91bGQgYmUKCSAgZGV0ZWN0ZWQgYnkgQ01ha2UgYXV0b21hdGljYWxseSwgc28gdGhpcyB0ZXN0cyB2ZXJpZmllcyB0aGUKCSAgZGV0ZWN0aW9uIGZ1bmN0aW9uYWxpdHkuCgoyMDA5LTA3LTI3IDEyOjQzICBraW5nCgoJKiBUZXN0cy9Gb3J0cmFuL0NNYWtlTGlzdHMudHh0OiBFTkg6IFJlbW92ZSBFWFRSQV9GT1JUUkFOX0NfTElCUwoJICBGb3J0cmFuIHRlc3QgaGFjawoKCSAgVGhpcyBoYWNrIHdhcyBjcmVhdGVkIHRvIGhlbHAgdGhlIEZvcnRyYW4gdGVzdCBleGVjdXRhYmxlcyBsaW5rCgkgIHRvIHRoZSBpbXBsaWNpdCBDIGxpYnJhcmllcyBhZGRlZCBieSBCdWxsc0V5ZS4gIE5vdyB0aGF0IGltcGxpY2l0CgkgIGxpYnJhcmllcyBmcm9tIGFsbCBsYW5ndWFnZXMgYXJlIGRldGVjdGVkIGFuZCBpbmNsdWRlZAoJICBhdXRvbWF0aWNhbGx5IHRoZSBoYWNrIGlzIG5vIGxvbmdlciBuZWVkZWQuCgoyMDA5LTA3LTI3IDEyOjQzICBraW5nCgoJKiBTb3VyY2UvOiBjbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uY3h4LAoJICBjbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uaCwgY21PcmRlckRpcmVjdG9yaWVzLmN4eCwKCSAgY21PcmRlckRpcmVjdG9yaWVzLmg6IEVOSDogTGluayBydW50aW1lIGxpYnJhcmllcyBvZiBhbGwKCSAgbGFuZ3VhZ2VzCgoJICBUaGlzIGFkZHMgaW1wbGljaXQgbGlicmFyaWVzIGFuZCBzZWFyY2ggZGlyZWN0b3JpZXMgZm9yIGxhbmd1YWdlcwoJICBsaW5rZWQgaW50byBhIHRhcmdldCBvdGhlciB0aGFuIHRoZSBsaW5rZXIgbGFuZ3VhZ2UgdG8gaXRzIGxpbmsKCSAgbGluZS4gIEZvciBleGFtcGxlLCB3aGVuIGxpbmtpbmcgYW4gZXhlY3V0YWJsZSBjb250YWluaW5nIGJvdGgKCSAgQysrIGFuZCBGb3J0cmFuIGNvZGUgdGhlIEMrKyBsaW5rZXIgaXMgdXNlZCBidXQgd2UgbmVlZCB0byBhZGQKCSAgdGhlIEZvcnRyYW4gbGlicmFyaWVzLgoKCSAgVGhlIHZhcmlhYmxlcwoKCSAgICBDTUFLRV88TEFORz5fSU1QTElDSVRfTElOS19MSUJSQVJJRVMKCSAgICBDTUFLRV88TEFORz5fSU1QTElDSVRfTElOS19ESVJFQ1RPUklFUwoKCSAgY29udGFpbiB0aGUgaW1wbGljaXQgbGlicmFyaWVzIGFuZCBkaXJlY3RvcmllcyBmb3IgZWFjaCBsYW5ndWFnZS4KCSAgIEVudHJpZXMgZm9yIHRoZSBsaW5rZXIgbGFuZ3VhZ2UgYXJlIGtub3duIHRvIGJlIGltcGxpY2l0IGluIHRoZQoJICBnZW5lcmF0ZWQgbGluayBsaW5lLglFbnRyaWVzIGZvciBvdGhlciBsYW5ndWFnZXMgdGhhdCBkbyBub3QKCSAgYXBwZWFyIGluIHRoZSBrbm93biBpbXBsaWNpdCBzZXQgYXJlIGxpc3RlZCBleHBsaWNpdGx5IGF0IHRoZSBlbmQKCSAgb2YgdGhlIGxpbmsgbGluZS4KCjIwMDktMDctMjcgMTI6MzUgIGtpbmcKCgkqIFRlc3RzL1N5c3RlbUluZm9ybWF0aW9uL0R1bXBJbmZvcm1hdGlvbi5jeHg6IEVOSDogUmVwb3J0IENNYWtlCgkgIGxvZ3MgaW4gU3lzdGVtSW5mb3JtYXRpb24gdGVzdAoKCSAgVGhpcyB0ZWFjaGVzIHRoZSBTeXN0ZW1JbmZvcm1hdGlvbiB0ZXN0IHRvIHJlcG9ydCB0aGUgQ01ha2UgbG9nCgkgIGZpbGVzIENNYWtlT3V0cHV0LmxvZyBhbmQgQ01ha2VFcnJvci5sb2cgZnJvbSB0aGUgQ01ha2UgYnVpbGQKCSAgdHJlZSBhbmQgZnJvbSB0aGUgU3lzdGVtSW5mb3JtYXRpb24gdGVzdCBidWlsZCB0cmVlLglUaGVzZSBsb2dzCgkgIG1heSBoZWxwIGRpYWdub3NlIGRhc2hib2FyZCBwcm9ibGVtcyByZW1vdGVseS4KCjIwMDktMDctMjcgMTI6MDQgIGRhdmlkLmNvbGUKCgkqIFRlc3RzL0NNYWtlVGVzdHMvOiBDTWFrZUxpc3RzLnR4dCwgQ2hlY2tTb3VyY2VUcmVlVGVzdC5jbWFrZS5pbjoKCSAgRU5IOiBNYWtlIHRoZSBDaGVja1NvdXJjZVRyZWUgdGVzdCBlbWl0IGEgd2FybmluZyAoYnV0IHBhc3MKCSAgaW5zdGVhZCBvZiBmYWlsKSB3aGVuIHRoZXJlIGlzIGFuIGluLXNvdXJjZSBidWlsZCBvbiBhIGRhc2hib2FyZAoJICBtYWNoaW5lLgoKMjAwOS0wNy0yNyAxMTo1NiAga2luZwoKCSogVGVzdHMvRm9ydHJhbi9teXN1Yi5mOiBFTkg6IFJlcXVpcmUgbGFuZ3VhZ2UgbGlicyBpbiBGb3J0cmFuL0MKCSAgdGVzdAoKCSAgVGhpcyBleHRlbmRzIHRoZSBGb3J0cmFuL0MgaW50ZXJmYWNlIHRlc3QgdG8gcmVxdWlyZSB0aGF0IHRoZQoJICBleGVjdXRhYmxlIGxpbmsgdG8gdGhlIGZvcnRyYW4gbGFuZ3VhZ2UgcnVudGltZSBsaWJyYXJpZXMuICBXZQoJICBtdXN0IHZlcmlmeSB0aGF0IHRoZSBwcm9wZXIgbGlua2VyIGlzIGNob3Nlbi4KCjIwMDktMDctMjcgMDA6MDEgIGt3cm9ib3QKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNy0yNiAwMTowMSAgcGFydHlkCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFTkg6IHRyeSBhbmQgc2VlIGlmIHVzaW5nCgkgIHN0cmluZy5hcHBlbmQgaW5zdGVhZCBvZiArPSB3aWxsIG1ha2UgdmFsZ3JpbmQgbm90IGNvbXBsYWluZyB0aGF0CgkgIEpvaW5QYXRoIGlzIGxlYWtpbmcuCgoyMDA5LTA3LTI2IDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDctMjUgMTM6MzIgIGRhdmlkLmNvbGUKCgkqIFRlc3RzL0NNYWtlVGVzdHMvQ2hlY2tTb3VyY2VUcmVlVGVzdC5jbWFrZS5pbjogRU5IOiBJbXByb3ZlbWVudHMKCSAgdG8gdGhlIG5ldyBDaGVja1NvdXJjZVRyZWUgdGVzdDogaWdub3JlIFRodW1icy5kYiBhbmQgLkRTX1N0b3JlCgkgIGZpbGVzLiBGb3JjZSBhbGwgb3V0cHV0IHRvIHN0ZGVyciBieSBub3QgdXNpbmcgU1RBVFVTIHdpdGgKCSAgbWVzc2FnZS4gQmV0dGVyIGVycm9yIHRleHQuCgoyMDA5LTA3LTI1IDA4OjExICBraW5nCgoJKiBUZXN0cy9DTWFrZVRlc3RzL0ltcGxpY2l0TGlua0luZm9UZXN0LmNtYWtlLmluOiBCVUc6IEZ1cnRoZXIKCSAgYXZvaWQgSW1wbGljaXRMaW5rSW5mbyBjYXNlIGNoYW5nZQoKCSAgVGhlIGNvbW1pdCAiQXZvaWQgY2FzZSBjaGFuZ2UgaW4gSW1wbGljaXRMaW5rSW5mbyB0ZXN0IiBkaWQgbm90CgkgIGNoYW5nZSBhbGwgb2YgdGhlIHBhdGhzIHRvIG1pbmd3LCBzbyBzb21lIGNhc2UgY2hhbmdlIHN0aWxsCgkgIG9jY3Vycy4gIFRoaXMgY2hhbmdlcyBtb3JlIG9mIHRoZW0uCgoyMDA5LTA3LTI1IDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDctMjQgMTg6MzAgIGRhdmlkLmNvbGUKCgkqIFRlc3RzL0NNYWtlTGlzdHMudHh0OiBCVUc6IE9uZSBsYXN0IGF0dGVtcHQgZm9yIHRvZGF5IHRvIGdldCB0aGUKCSAgbmV3IENoZWNrU291cmNlVHJlZSB0ZXN0IHJ1bm5pbmcgb24gZGFzaGJvYXJkcyBkcml2ZW4gYnkgQ01ha2UKCSAgMi40Li4uIEdvb2QgbmlnaHQgbm93LgoKMjAwOS0wNy0yNCAxNzozMyAga2luZwoKCSogQ01ha2VMaXN0cy50eHQ6IEVOSDogQWxsb3cgZW1wdHkgZW5kaWYoKSBhbmQgc3VjaCB3aXRoIENNYWtlIDIuNAoKCSAgVGhpcyBhbGxvd3MgdXMgdG8gdXNlIGVtcHR5IGVuZGlmKCkgYW5kIHNpbWlsYXIgYmxvY2sgdGVybWluYXRvcnMKCSAgd2hlbiBidWlsZGluZyB3aXRoIENNYWtlIDIuNC4gIEl0IGlzIGFsbG93ZWQgYnkgZGVmYXVsdCB3aXRoIDIuNgoJICBhbHJlYWR5LgoKMjAwOS0wNy0yNCAxNzoyOCAgZGF2aWQuY29sZQoKCSogVGVzdHMvQ01ha2VUZXN0cy9DTWFrZUxpc3RzLnR4dDogQlVHOiBDbG9zZSBlbmRpZiBzdGF0ZW1lbnRzIHdpdGgKCSAgc2FtZSBzdHJpbmcgYXMgaWYgc28gdGhhdCBpdCBzdGlsbCBjb25maWd1cmVzIHdpdGggQ01ha2UgMi40LiBPbmUKCSAgbW9yZSB0aW1lLiBFbmNvcmUsIGVuY29yZS4KCjIwMDktMDctMjQgMTc6MTIgIGRhdmlkLmNvbGUKCgkqIFRlc3RzL0NNYWtlVGVzdHMvQ2hlY2tTb3VyY2VUcmVlVGVzdC5jbWFrZS5pbjogQlVHOiBJbXByb3ZlCgkgIENoZWNrU291cmNlVHJlZSB0ZXN0IHNvIHRoYXQgaXQgaWdub3JlcyAnVSAnIG91dHB1dCBmcm9tIGN2cwoJICB1cGRhdGUuIEFsc286IGltcHJvdmUgZmFpbHVyZSBsb2dpYyBmb3IgZGFzaGJvYXJkIHJ1bnMgYW5kCgkgIGRldmVsb3BlciBydW5zLgoKMjAwOS0wNy0yNCAxNjo1NyAga2luZwoKCSogVGVzdHMvQ01ha2VUZXN0cy9WYXJpYWJsZVdhdGNoVGVzdC5jbWFrZS5pbjogQlVHOiBUZWFjaAoJICBWYXJpYWJsZVdhdGNoIHRlc3QgdG8gY2hlY2sgcmVzdWx0cwoKCSAgUHJldmlvdXNseSB0aGlzIHRlc3Qgd2FzIG9ubHkgYSBzbW9rZSB0ZXN0IGZvciBtYW51YWwKCSAgdmVyaWZpY2F0aW9uLiAgVGhpcyB0ZWFjaGVzIHRoZSB0ZXN0IHRvIGFjdHVhbGx5IGNoZWNrIHRoYXQgdGhlCgkgIHZhcmlhYmxlIHdhdGNoIHN1Y2NlZWRzLgoKMjAwOS0wNy0yNCAxNjo1MyAga2luZwoKCSogU291cmNlL2NtVmFyaWFibGVXYXRjaENvbW1hbmQuaDogQlVHOiBLZWVwIHZhcmlhYmxlX3dhdGNoKCkKCSAgY29tbWFuZHMgaW4gbWVtb3J5CgoJICBUaGUgIktlZXAgb25seSBGaW5hbFBhc3MgY29tbWFuZHMgaW4gbWVtb3J5IiBjb21taXQgY2F1c2VkCgkgIGluc3RhbmNlcyBvZiB0aGlzIGNvbW1hbmQgdG8gYmUgZGVsZXRlZCBhZnRlciB0aGUgSW5pdGlhbFBhc3MuCgkgIEV2ZW4gdGhvdWdoIHRoZSB2YXJpYWJsZV93YXRjaCBjb21tYW5kIGRvZXMgbm90IGhhdmUgYSBmaW5hbAoJICBwYXNzLCBpdCBkb2VzIG5lZWQgdG8gc3RheSBhbGl2ZSBiZWNhdXNlIGl0IG93bnMgdGhlIGNhbGxiYWNrCgkgIGluZm9ybWF0aW9uLgoKMjAwOS0wNy0yNCAxNjozMSAgZGF2aWQuY29sZQoKCSogVGVzdHMvQ01ha2VMaXN0cy50eHQ6IEJVRzogQ2xvc2UgZW5kaWYgc3RhdGVtZW50cyB3aXRoIHNhbWUKCSAgc3RyaW5nIGFzIGlmIHNvIHRoYXQgaXQgc3RpbGwgY29uZmlndXJlcyB3aXRoIENNYWtlIDIuNCAtLSBhbHNvCgkgIGNoZWNrIGZvciBleGlzdGVuY2Ugb2YgRmluZENWUy5jbWFrZSBiZWZvcmUgZG9pbmcKCSAgZmluZF9wYWNrYWdlKENWUyBRVUlFVCkgYWxzbyBmb3IgQ01ha2UgMi40IHNha2UuLi4KCjIwMDktMDctMjQgMTY6MTUgIGRhdmlkLmNvbGUKCgkqIFRlc3RzL0NNYWtlTGlzdHMudHh0OiBCVUc6IE9vcHMuIExlZnQgY2h1bmsgb2YganVuayBhdCB0aGUgYm90dG9tCgkgIG9mIHRoZSBtYWluIFRlc3RzIENNYWtlTGlzdHMudHh0IGZpbGUgd2l0aCB0aGUgbGFzdCBjb21taXQuLi4KCSAgU29ycnkuCgoyMDA5LTA3LTI0IDE1OjU4ICBkYXZpZC5jb2xlCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIFRlc3RzL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9DTWFrZVRlc3RzL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9DTWFrZVRlc3RzL0NoZWNrU291cmNlVHJlZVRlc3QuY21ha2UuaW46IEJVRzogQWRkaXRpb25hbAoJICBmaXggbmVjZXNzYXJ5IGZvciBpc3N1ZSAjODQ4MSBzbyB0aGF0IFhjb2RlIGJ1aWxkcyBkbyBub3Qgd3JpdGUKCSAgZmlsZXMgaW50byB0aGUgc291cmNlIHRyZWUuIEFsc28gYWRkIGEgdGVzdCB0aGF0IHJ1bnMgbGFzdCB0bwoJICBjaGVjayBmb3IgbG9jYWwgbW9kaWZpY2F0aW9ucyBpbiBDTWFrZV9TT1VSQ0VfRElSIGJhc2VkIG9uCgkgIHdoZXRoZXIgJ2N2cyAtcSAtbiB1cCAtZFAnIG91dHB1dCBpcyBlbXB0eS4gVGVzdCBmYWlscyBvbgoJICBkYXNoYm9hcmQgcnVucyB3aGVuIHRoZXJlIGFyZSBsb2NhbCBtb2RpZmljYXRpb25zLiBUZXN0IHBhc3NlcyBvbgoJICBub24tZGFzaGJvYXJkIHJ1bnMgd2l0aCBsb2NhbCBtb2RpZmljYXRpb25zIHNvIHRoYXQgQ01ha2UKCSAgZGV2ZWxvcGVycyBtYXkgaGF2ZSBtb2RzIHdoZW4gcnVubmluZyB0aGUgdGVzdCBsb2NhbGx5LgoKMjAwOS0wNy0yNCAxMzozMSAga2luZwoKCSogU291cmNlLzogY21Db21tYW5kLmgsIGNtQ29uZmlndXJlRmlsZUNvbW1hbmQuaCwKCSAgY21FeHBvcnRMaWJyYXJ5RGVwZW5kZW5jaWVzLmgsIGNtRkxUS1dyYXBVSUNvbW1hbmQuaCwKCSAgY21JbnN0YWxsRmlsZXNDb21tYW5kLmgsIGNtSW5zdGFsbFByb2dyYW1zQ29tbWFuZC5oLAoJICBjbUxvYWRDb21tYW5kQ29tbWFuZC5jeHgsIGNtTWFrZWZpbGUuY3h4OiBFTkg6IEtlZXAgb25seQoJICBGaW5hbFBhc3MgY29tbWFuZHMgaW4gbWVtb3J5CgoJICBJbiBjbU1ha2VmaWxlIHdlIHNhdmUgYWxsIGludm9rZWQgY29tbWFuZHMgc28gdGhhdCBGaW5hbFBhc3MgY2FuCgkgIGJlIGNhbGxlZCBvbiB0aGVtIGxhdGVyLiAgTW9zdCBjb21tYW5kcyBoYXZlIG5vIGZpbmFsIHBhc3MsIHNvIHdlCgkgIHNob3VsZCBrZWVwIG9ubHkgdGhlIGZldyB0aGF0IGRvLgoKMjAwOS0wNy0yNCAxMzoxNyAga2luZwoKCSogQ01ha2VMaXN0cy50eHQsIE1vZHVsZXMvQ01ha2VMaXN0cy50eHQsCgkgIE1vZHVsZXMvUGxhdGZvcm0vQ01ha2VMaXN0cy50eHQsIFRlbXBsYXRlcy9DTWFrZUxpc3RzLnR4dDogRU5IOgoJICBJbnN0YWxsIGFsbCBNb2R1bGVzIGFuZCBUZW1wbGF0ZXMKCgkgIFRoaXMgcmVtb3ZlcyB0aGUgZmlsZS13aXNlIGluc3RhbGxhdGlvbiBydWxlcyBmb3IgTW9kdWxlcyBhbmQKCSAgVGVtcGxhdGVzIGFuZCBpbnN0ZWFkIGluc3RhbGxzIHRoZSB3aG9sZSBkaXJlY3Rvcmllcy4gIFRoaXMKCSAgYXBwcm9hY2ggaXMgbXVjaCBsZXNzIGVycm9yLXByb25lLiAgVGhlIG9sZCBhcHByb2FjaCB3YXMgbGVmdAoJICBmcm9tIGJlZm9yZSBDTWFrZSBoYWQgdGhlIGluc3RhbGwoRElSRUNUT1JZKSBjb21tYW5kLgoKMjAwOS0wNy0yNCAxMjo1NSAga2luZwoKCSogTW9kdWxlcy9DTWFrZUxpc3RzLnR4dDogQlVHOiBJbnN0YWxsIG5ldyBmb3J0cmFuIGNvbXBpbGVyIGlkCgkgIHNvdXJjZS4KCgkgIFRoZSBleHRlbnNpb24gb2YgdGhlIGlkIHNvdXJjZSBmaWxlIHdhcyBjaGFuZ2VkIGZyb20gLkY5MCB0byAuRgoJICBzbyB0aGlzIGZpeGVzIHRoZSBpbnN0YWxsIHJ1bGUuCgoyMDA5LTA3LTI0IDEyOjE1ICBtYWxhdGVycmUKCgkqIFNvdXJjZS9rd3N5cy9TaGFyZWRGb3J3YXJkLmguaW46IENPTVA6IEZpeCBjb21waWxhdGlvbiBvZiBWVEsgb24KCSAgZGViaWFuL3NwYXJjIChzcGFyYyBpcyBhIENQVSBub3QgYW4gT1MpCgoyMDA5LTA3LTI0IDA3OjM0ICBraW5nCgoJKiBUZXN0cy9DTWFrZVRlc3RzL0ltcGxpY2l0TGlua0luZm9UZXN0LmNtYWtlLmluOiBCVUc6IEF2b2lkIGNhc2UKCSAgY2hhbmdlIGluIEltcGxpY2l0TGlua0luZm8gdGVzdAoKCSAgU2luY2UgImdldF9maWxlbmFtZV9jb21wb25lbnQoLi4uIEFCU09MVVRFKSIgcmV0cmlldmVzIHRoZSBhY3R1YWwKCSAgY2FzZSBmb3IgZXhpc3RpbmcgcGF0aHMgb24gd2luZG93cywgd2UgbmVlZCB0byB1c2UgYW4gb2JzY3VyZQoJICBwYXRoIGZvciBtaW5ndy4gIE90aGVyd2lzZSB0aGUgdGVzdCBjYW4gZmFpbCBqdXN0IGJlY2F1c2UgdGhlCgkgIGNhc2Ugb2YgdGhlIHBhdGhzIGNoYW5nZXMuCgoyMDA5LTA3LTI0IDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDctMjMgMTY6MTkgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDb21waWxlckFCSS5jbWFrZTogQlVHOiBTa2lwIGltcGxpY2l0IGxpbmsKCSAgaW5mb3JtYXRpb24gb24gWGNvZGUKCgkgIFhjb2RlIGFkZHMgZXh0cmEgbGluayBkaXJlY3RvcmllcyB0aGF0IHBvaW50IGF0IHRoZSBidWlsZCB0cmVlLAoJICBzbyBkZXRlY3Rpb24gb2YgaW1wbGljaXQgbGluayBkaXJlY3RvcmllcyBpcyBub3QgcmVsaWFibGUuICBTaW5jZQoJICBGb3J0cmFuIGlzIG5vdCBzdXBwb3J0ZWQgaW4gWGNvZGUgd2Ugd2lsbCBub3QgbmVlZCBpbXBsaWNpdCBsaW5rCgkgIGluZm9ybWF0aW9uIHlldCBhbnl3YXkuCgoyMDA5LTA3LTIzIDEwOjA3ICBraW5nCgoJKiBUZXN0cy9DTWFrZVRlc3RzLzogQ01ha2VMaXN0cy50eHQsIEltcGxpY2l0TGlua0luZm9UZXN0LmNtYWtlLmluOgoJICBFTkg6IENyZWF0ZSBJbXBsaWNpdExpbmtJbmZvIHRlc3QKCgkgIFRoaXMgdGVzdHMgdGhlIGludGVybmFsIENNYWtlUGFyc2VJbXBsaWNpdExpbmtJbmZvLmNtYWtlIG1vZHVsZQoJICB0byBlbnN1cmUgdGhhdCBpbXBsaWNpdCBsaW5rIGluZm9ybWF0aW9uIGlzIGV4dHJhY3RlZCBjb3JyZWN0bHkuCgkgIFRoZSB0ZXN0IGNvbnRhaW5zIG1hbnkgbWFudWFsbHkgdmVyaWZpZWQgZXhhbXBsZXMgZnJvbSBhIHZhcmlldHkKCSAgb2Ygc3lzdGVtcy4KCjIwMDktMDctMjMgMTA6MDcgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VDQ29tcGlsZXIuY21ha2UuaW4sCgkgIE1vZHVsZXMvQ01ha2VDWFhDb21waWxlci5jbWFrZS5pbiwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNvbXBpbGVyQUJJLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRm9ydHJhbkNvbXBpbGVyLmNtYWtlLmluLAoJICBNb2R1bGVzL0NNYWtlUGFyc2VJbXBsaWNpdExpbmtJbmZvLmNtYWtlLAoJICBNb2R1bGVzL0NvbXBpbGVyL0dOVS1DLmNtYWtlLCBNb2R1bGVzL0NvbXBpbGVyL0dOVS1DWFguY21ha2UsCgkgIE1vZHVsZXMvQ29tcGlsZXIvR05VLUZvcnRyYW4uY21ha2UsIE1vZHVsZXMvQ29tcGlsZXIvSFAtQy5jbWFrZSwKCSAgTW9kdWxlcy9Db21waWxlci9IUC1DWFguY21ha2UsIE1vZHVsZXMvQ29tcGlsZXIvSFAtRm9ydHJhbi5jbWFrZSwKCSAgTW9kdWxlcy9Db21waWxlci9NSVBTcHJvLUMuY21ha2UsCgkgIE1vZHVsZXMvQ29tcGlsZXIvTUlQU3Byby1DWFguY21ha2UsCgkgIE1vZHVsZXMvQ29tcGlsZXIvTUlQU3Byby1Gb3J0cmFuLmNtYWtlLAoJICBNb2R1bGVzL0NvbXBpbGVyL1N1blByby1DLmNtYWtlLAoJICBNb2R1bGVzL0NvbXBpbGVyL1N1blByby1DWFguY21ha2UsCgkgIE1vZHVsZXMvQ29tcGlsZXIvU3VuUHJvLUZvcnRyYW4uY21ha2UsCgkgIE1vZHVsZXMvQ29tcGlsZXIvVmlzdWFsQWdlLUMuY21ha2UsCgkgIE1vZHVsZXMvQ29tcGlsZXIvVmlzdWFsQWdlLUNYWC5jbWFrZSwKCSAgTW9kdWxlcy9Db21waWxlci9WaXN1YWxBZ2UtRm9ydHJhbi5jbWFrZSwKCSAgU291cmNlL2NtRG9jdW1lbnRWYXJpYWJsZXMuY3h4LAoJICBUZXN0cy9TeXN0ZW1JbmZvcm1hdGlvbi9TeXN0ZW1JbmZvcm1hdGlvbi5pbjogRU5IOiBJbXBsaWNpdCBsaW5rCgkgIGluZm8gZm9yIEMsIENYWCwgYW5kIEZvcnRyYW4KCgkgIFRoaXMgdGVhY2hlcyBDTWFrZSB0byBkZXRlY3QgaW1wbGljaXQgbGluayBpbmZvcm1hdGlvbiBmb3IgQywKCSAgQysrLCBhbmQgRm9ydHJhbiBjb21waWxlcnMuICBXZSBkZXRlY3QgdGhlIGltcGxpY2l0IGxpbmtlciBzZWFyY2gKCSAgZGlyZWN0b3JpZXMgYW5kIGltcGxpY2l0IGxpbmtlciBvcHRpb25zIGZvciBVTklYLWxpa2UKCSAgZW52aXJvbm1lbnRzIHVzaW5nIHZlcmJvc2Ugb3V0cHV0IGZyb20gY29tcGlsZXIgZnJvbnQtZW5kcy4gIFdlCgkgIHN0b3JlIHJlc3VsdHMgaW4gbmV3IHZhcmlhYmxlcyBjYWxsZWQKCgkgICAgQ01BS0VfPExBTkc+X0lNUExJQ0lUX0xJTktfTElCUkFSSUVTCgkgICAgQ01BS0VfPExBTkc+X0lNUExJQ0lUX0xJTktfRElSRUNUT1JJRVMKCgkgIFRoZSBpbXBsaWNpdCBsaWJyYXJpZXMgY2FuIGNvbnRhaW4gbGlua2VyIGZsYWdzIGFzIHdlbGwgYXMKCSAgbGlicmFyeSBuYW1lcy4KCjIwMDktMDctMjMgMTA6MDYgIGtpbmcKCgkqIE1vZHVsZXMvOiBDTWFrZUNJbmZvcm1hdGlvbi5jbWFrZSwgQ01ha2VDWFhJbmZvcm1hdGlvbi5jbWFrZSwKCSAgQ01ha2VGb3J0cmFuSW5mb3JtYXRpb24uY21ha2U6IEVOSDogTG9hZCBwbGF0Zm9ybS1pbmRlcGVuZGVudAoJICBwZXItY29tcGlsZXIgZmlsZXMKCgkgIFRoaXMgdGVhY2hlcyB0aGUgbGFuZ3VhZ2UgY29uZmlndXJhdGlvbiBtb2R1bGVzIHRvIGxvYWQKCSAgcGVyLWNvbXBpbGVyIGluZm9ybWF0aW9uIGZvciBlYWNoIGxhbmd1YWdlIHVzaW5nIHRoZSBjb21waWxlciBpZAoJICBidXQgbm8gc3lzdGVtIG5hbWUuICBUaGV5IGxvb2sgZm9yIG1vZHVsZXMgbmFtZWQKCSAgIkNvbXBpbGVyLzxpZD4tPGxhbmc+LmNtYWtlIi4gIFN1Y2ggbW9kdWxlcyBtYXkgc3BlY2lmeSBjb21waWxlcgoJICBmbGFncyB0aGF0IGRvIG5vdCBkZXBlbmQgb24gdGhlIHBsYXRmb3JtLgoKMjAwOS0wNy0yMyAwODoxMCAga2luZwoKCSogU291cmNlL2NtR2V0RmlsZW5hbWVDb21wb25lbnRDb21tYW5kLmN4eDogQlVHOiBGaXgKCSAgZ2V0X2ZpbGVuYW1lX2NvbXBvbmVudCBBQlNPTFVURSBtb2RlCgoJICBUaGlzIHRlYWNoZXMgdGhlIGNvbW1hbmQgdG8gcmVjb2duaXplIGZ1bGwgd2luZG93cyBwYXRocyB3aGVuCgkgIGJ1aWx0IG9uIFVOSVguICBDb2xsYXBzZUZ1bGxQYXRoIGtub3dzIHdoZW4gdGhlIGlucHV0IHBhdGggaXMKCSAgcmVsYXRpdmUgYmV0dGVyIHRoYW4gRmlsZUlzRnVsbFBhdGggYmVjYXVzZSB0aGUgbGF0dGVyIGlzIG9ubHkKCSAgbWVhbnQgZm9yIHBhdGhzIGZyb20gdGhlIGhvc3QgcGxhdGZvcm0uCgoyMDA5LTA3LTIzIDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDctMjIgMTQ6MjIgIGtpbmcKCgkqIGJvb3RzdHJhcCwgU291cmNlL0NNYWtlTGlzdHMudHh0LCBTb3VyY2UvY21EZWZpbml0aW9ucy5jeHgsCgkgIFNvdXJjZS9jbURlZmluaXRpb25zLmgsIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGUuaDogRU5IOiBJbXByb3ZlIGR5bmFtaWMgdmFyaWFibGUgc2NvcGUKCSAgaW1wbGVtZW50YXRpb24KCgkgIFByZXZpb3VzbHkgZWFjaCBuZXcgdmFyaWFibGUgc2NvcGUgKHN1YmRpcmVjdG9yeSBvciBmdW5jdGlvbgoJICBjYWxsKSBpbiB0aGUgQ01ha2UgbGFuZ3VhZ2UgY3JlYXRlZCBhIGNvbXBsZXRlIGNvcHkgb2YgdGhlCgkgIGtleS0+dmFsdWUgZGVmaW5pdGlvbiBtYXAuICBUaGlzIGF2b2lkcyB0aGUgY29weSB1c2luZyB0cmFuc2l0aXZlCgkgIGxvb2t1cHMgdXAgdGhlIHNjb3BlIHN0YWNrLiAgUmVzdWx0cyBvZiBxdWVyaWVzIGFuc3dlcmVkIGJ5CgkgIHBhcmVudHMgYXJlIHN0b3JlZCBsb2NhbGx5IHRvIG1haW50YWluIGxvY2FsaXR5IG9mIHJlZmVyZW5jZS4KCgkgIFRoZSBjbGFzcyBjbURlZmluaXRpb25zIHJlcGxhY2VzIGNtTWFrZWZpbGU6OkRlZmluaXRpb25zTWFwLCBhbmQKCSAgaXMgYXdhcmUgb2YgaXRzIGVuY2xvc2luZyBzY29wZS4gIEVhY2ggc2NvcGUgc3RvcmVzIG9ubHkgdGhlCgkgIGRlZmluaXRpb25zIHNldCAob3IgdW5zZXQhKSBpbnNpZGUgaXQgcmVsYXRpdmUgdG8gdGhlIGVuY2xvc2luZwoJICBzY29wZS4KCjIwMDktMDctMjIgMTM6NDIgIGtpbmcKCgkqIFRlc3RzL0Z1bmN0aW9uVGVzdC9TdWJEaXJTY29wZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBJbXByb3ZlCgkgIHN0cmljdG5lc3Mgb2YgRnVuY3Rpb24gdGVzdAoKCSAgVGhlIGNvbW1hbmQgInNldCguLi4gUEFSRU5UX1NDT1BFKSIgc2hvdWxkIG5ldmVyIGFmZmVjdCB0aGUKCSAgY2FsbGluZyBzY29wZS4gIFRoaXMgaW1wcm92ZXMgdGhlIEZ1bmN0aW9uIHRlc3QgdG8gY2hlY2sgdGhhdAoJICBzdWNoIGNhbGxzIGluIGEgc3ViZGlyZWN0b3J5IHNjb3BlIGFmZmVjdCB0aGUgcGFyZW50IGJ1dCBub3QgdGhlCgkgIGNoaWxkLgoKMjAwOS0wNy0yMiAxMjowNiAgZGF2aWQuY29sZQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBCVUc6IEZpeCB0eXBvIHBvaW50ZWQgb3V0IGJ5IE1vbnNpZXVyCgkgIEZyYW5jb2lzIEJlcnRlbC4gTWVyY2ksIEZyYW5jb2lzLgoKMjAwOS0wNy0yMiAxMToxNCAgZGF2aWQuY29sZQoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBCVUc6IEZpeCBpc3N1ZSAjODQ4MSAtCgkgIGdlbmVyYXRlIFhjb2RlIHByb2plY3RzIHN1Y2ggdGhhdCBicmVha3BvaW50cyBtYXkgYmUgdXNlZCBmcm9tCgkgIHRoZSBYY29kZSBkZWJ1Z2dlciB3aXRob3V0IGFkanVzdGluZyBhbnkgc2V0dGluZ3Mgd2l0aGluIHRoZQoJICBYY29kZSBHVUkgZmlyc3QuLi4gVGhhbmtzIHRvIERvdWcgR3JlZ29yIGZvciB0aGUgcGF0Y2guCgoyMDA5LTA3LTIyIDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDctMjEgMTI6NDUgIG1hcnRpbmsKCgkqIE1vZHVsZXMvRmluZFBORy5jbWFrZTogRU5IOiBqdXN0IGNvbnZlcnRlZCBjYXNlIHRvIGxvd2VyIGZvciB0aGUKCSAgYm9vawoKMjAwOS0wNy0yMSAxMTo1OCAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBEaXNhYmxlIGNvbG9yCgkgIG1ha2VmaWxlIGluc2lkZSB0cnktY29tcGlsZQoKCSAgR2VuZXJhdGVkIG1ha2VmaWxlcyBmb3IgdHJ5LWNvbXBpbGUgcHJvamVjdHMgc2hvdWxkIG5ldmVyIHVzZQoJICBjb2xvciBvdXRwdXQuICBPbiBNU1lTIHRoZSBjb2xvciBlc2NhcGVzIGVuZCB1cCBpbiB0aGUKCSAgdHJ5LWNvbXBpbGUgb3V0cHV0IHRleHQgYmVjYXVzZSB0aGVyZSBpcyBubyB3YXkgdG8gaWRlbnRpZnkKCSAgd2hldGhlciB0aGUgb3V0cHV0IGlzIGdvaW5nIHRvIGEgY29sb3ItY2FwYWJsZSB0ZXJtaW5hbC4gIEluc3RlYWQKCSAgd2Ugc2hvdWxkIGp1c3QgYWx3YXlzIHNraXAgY29sb3IgZm9yIHRyeS1jb21waWxlIHByb2plY3RzLgoKMjAwOS0wNy0yMSAxMDo1NiAga2luZwoKCSogVGVzdHMvU3lzdGVtSW5mb3JtYXRpb24vRHVtcEluZm9ybWF0aW9uLmguaW46IEJVRzogRml4CgkgIFN5c3RlbUluZm9ybWF0aW9uIGR1bXAgb3V0cHV0CgoJICBXaGVuIHRoaXMgdGVzdCB3YXMgcmVuYW1lZCBmcm9tIER1bXBJbmZvcm1hdGlvbiB0bwoJICBTeXN0ZW1JbmZvcm1hdGlvbiB0aGUgY29uZmlndXJlZCBoZWFkZXIgdGhhdCBwb2ludHMgdGhlIGR1bXAKCSAgZXhlY3V0YWJsZSB0byB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gZmlsZXMgd2FzCgkgIGJyb2tlbi4gIE5vIGluZm9ybWF0aW9uIGhhcyBiZWVuIGR1bXBlZCBieSB0aGlzIHRlc3QgZm9yIDIgeWVhcnMhCgkgICBUaGlzIGZpeGVzIGl0LgoKMjAwOS0wNy0yMSAwMDowMSAga3dyb2JvdAoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA3LTIwIDEyOjA4ICBkYXZpZC5jb2xlCgoJKiBDTWFrZUNQYWNrT3B0aW9ucy5jbWFrZS5pbjogQlVHOiBBZGQgQ1BBQ0tfTlNJU19QQUNLQUdFX05BTUUgdG8KCSAgdGhlIGxpc3Qgb2YgQ1BhY2sgdmFyaWFibGVzIHRoYXQgQ01ha2Ugb3ZlcnJpZGVzLiBXZSB1c2UgdGhlIHNhbWUKCSAgdmFsdWUgYXMgdGhlIENQYWNrLXByb3ZpZGVkIGRlZmF1bHQsIGJ1dCBkbyBpdCBoZXJlIHN1Y2ggdGhhdAoJICBjb25maWd1cmluZyB3aXRoIGFuIG9sZGVyIENNYWtlIHdpbGwgc3RpbGwgZ2l2ZSB1cyB0aGlzIG5ldwoJICB2YXJpYWJsZS4gTmVjZXNzYXJ5IHNvIHRoYXQgdGhlIENNYWtlIHJlbGVhc2UgcHJvY2VzcyB3b3JrcyB3aXRoCgkgIHRoZSBuZXcgdmFyaWFibGU6IENNYWtlIGlzIGNvbmZpZ3VyZWQgd2l0aCBhIHByZXZpb3VzIENNYWtlLCBidXQKCSAgcGFja2FnZWQgd2l0aCB0aGUgZnJlc2hseSBidWlsdCBDUGFjay4gKFRoaXMgZml4IGlzIG5lY2Vzc2FyeQoJICBiZWNhdXNlIHRoZSBmaXggZm9yIGlzc3VlICM4NjgyIGNhdXNlZCB0aGUgc2lkZSBlZmZlY3Qgb2YgaGF2aW5nCgkgIGFuIGVtcHR5IENQQUNLX05TSVNfUEFDS0FHRV9OQU1FIGZvciB0aGUgQ01ha2UgbmlnaHRseSBwYWNrYWdlLikKCjIwMDktMDctMjAgMTA6NTggIGhvZmZtYW4KCgkqIFRlc3RzL0NNYWtlTGlzdHMudHh0OiBFTkg6IHNldCBleHBlY3RlZCBmYWlsdXJlIGZvciB0ZXN0cwoKMjAwOS0wNy0yMCAwMDowMSAga3dyb2JvdAoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA3LTE5IDEzOjQwICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eDogRU5IOiBmaXggd2FybmluZwoKMjAwOS0wNy0xOSAwMDowMSAga3dyb2JvdAoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA3LTE4IDAxOjA1ICBsb3dtYW4KCgkqIE1vZHVsZXMvRmluZFNETC5jbWFrZTogQlVHOiBGaXggaW5jbHVkZSBwYXRoIGRldGVjdGlvbiB3aXRoCgkgIFNETERJUiBlbnYgdmFyIChpc3N1ZSAjOTA4NikuICBBbHNvIHJlbW92ZWQgc29tZSBzdXBlcmZsdW91cwoJICBzZWFyY2ggcGF0aHMuCgoyMDA5LTA3LTE4IDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDctMTcgMjM6NTEgIGxvd21hbgoKCSogTW9kdWxlcy9GaW5kUGVybExpYnMuY21ha2U6IEVOSDogQWxzbyBhZGQgQVJDSExJQi9DT1JFIHRvIGluY2x1ZGUKCSAgc2VhcmNoIHBhdGhzIHNvIHBlcmwuaCBjYW4gYmUgZm91bmQgb24gbm9uLXN0YW5kYXJkIGluc3RhbGwKCSAgcHJlZml4ZXMKCjIwMDktMDctMTcgMjM6MzEgIGxvd21hbgoKCSogTW9kdWxlcy9GaW5kUGVybExpYnMuY21ha2U6IEVOSDogSW1wcm92ZSBkZXRlY3Rpb24gb2YKCSAgcGVybC5oL2xpYnBlcmwsIGlzc3VlICM3ODk4CgoyMDA5LTA3LTE3IDE2OjE1ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eDogRU5IOiBmaXggd2FybmluZwoKMjAwOS0wNy0xNyAxNDo1MSAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nL0NNYWtlU2V0dXBEaWFsb2cuY3h4OiBFTkg6ICBFZGl0IGJ1dHRvbiBsYWJlbCBmb3IKCSAgbmV3IGNoYW5nZXMgZGlhbG9nLgoKMjAwOS0wNy0xNyAxNDozOCAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nLzogQ01ha2VTZXR1cERpYWxvZy5jeHgsIENNYWtlU2V0dXBEaWFsb2cuaCwKCSAgUUNNYWtlQ2FjaGVWaWV3LmN4eCwgUUNNYWtlQ2FjaGVWaWV3Lmg6CgkgIEVOSDoJQWRkIGEgIlNob3cgbXkgY2hhbmdlcyIgdG8gdGhlIFRvb2xzIG1lbnUuCSAgQ2hhbmdlcwoJICBieSB0aGUgdXNlciBhcmUgcmVjb3JkZWQgYW5kIHdoZW4gcmVxdWVzdGVkLCBpdCBzaG93cyAgICAgICAgLUQKCSAgYXJndW1lbnRzIGZvciBjb21tYW5kbGluZSBvciBjb250ZW50cyBmb3IgYSBjYWNoZSBmaWxlLgoKMjAwOS0wNy0xNyAxMDowNiAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHg6IEVOSDogY29tcHV0ZSB0aGUgbWF4IHRlc3QKCSAgbmFtZSB3aWR0aCBiYXNlZCBvbiB0aGUgbGVuZ3RoIG9mIHRoZSB0ZXN0cwoKMjAwOS0wNy0xNyAxMDowNSAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuaCwgY21HbG9iYWxWaXN1YWxTdHVkaW9HZW5lcmF0b3IuaCwKCSAgY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtTWFrZWZpbGUuY3h4OiBFTkg6IG1ha2Ugc3VyZSBHVUlEcyBmb3IKCSAgZmlsdGVycyBhcmUgY2FjaGVkCgoyMDA5LTA3LTE3IDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDctMTYgMTg6NTMgIGNsaW50b24KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogQlVHOiBmaXggcmVsYXRpdmUgcGF0aHMgZnJvbSBkaWZmZXJlbnQKCSAgZHJpdmVzIG9uIFdpbmRvd3MKCjIwMDktMDctMTYgMTE6NDggIGRhdmlkLmNvbGUKCgkqIE1vZHVsZXMvOiBDUGFjay5jbWFrZSwgTlNJUy50ZW1wbGF0ZS5pbjogQlVHOiBSZS1maXggaXNzdWUgIzg2ODIuCgkgIFVzZSBuZXcgdmFyaWFibGUgQ1BBQ0tfTlNJU19QQUNLQUdFX05BTUUgaW4gYXBwcm9wcmlhdGUgcGxhY2VzCgkgIHJhdGhlciB0aGFuIENQQUNLX05TSVNfRElTUExBWV9OQU1FLiBDUEFDS19OU0lTX0RJU1BMQVlfTkFNRSBpcwoJICB0aGUgQWRkL1JlbW92ZSBjb250cm9sIHBhbmVsJ3MgZGVzY3JpcHRpb24gc3RyaW5nIGZvciB0aGUKCSAgaW5zdGFsbGVkIHBhY2thZ2UuIFVzaW5nIGl0IGFzIHRoZSAiTmFtZSIgb2YgdGhlIE5TSVMgaW5zdGFsbGVyCgkgIHBhY2thZ2UgbWFkZSB0aGUgQ01ha2UgaW5zdGFsbGVyIGl0c2VsZiB1c2UgcmVhbGx5IGxvbmcgc3RyaW5ncwoJICBpbiB0aGUgaW5zdGFsbGVyIEdVSS4gVGhpcyBmaXggc3RpbGwgYWxsb3dzIGZvciB0aGUgb3JpZ2luYWwKCSAgaW50ZW50IG9mIHRoZSBmaXJzdCBmaXggZm9yICM4NjgyIC0tIHRoZSBhYmlsaXR5IHRvIHNlcGFyYXRlIHRoZQoJICBpbnN0YWxsZXIgbmFtZSBmcm9tIHRoZSBkZWZhdWx0IGluc3RhbGwgZGlyZWN0b3J5LCBidXQgaXQgdXNlcyBhCgkgIG5ldy9kaWZmZXJlbnQgdmFyaWFibGUgdG8gYWNoaWV2ZSB0aGUgc2VwYXJhdGlvbi4KCjIwMDktMDctMTYgMDA6MDEgIGt3cm9ib3QKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNy0xNSAxMjo0MyAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlOiBFTkg6IHJlbW92ZSBkZWJ1ZyBtZXNzYWdlCgoyMDA5LTA3LTE1IDEyOjE4ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2U6IEVOSDogZG8gbm90IHVzZQoJICAvSU5DUkVNRU5UQUw6WUVTIHdpdGggVlMgMTAgY29tcGlsZXIKCjIwMDktMDctMTUgMDA6MDEgIGt3cm9ib3QKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNy0xNCAxOTozNCAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nL0NNYWtlU2V0dXAuY3h4OgoJICBCVUc6CURvbid0IGxldCBRdCBzdXBwcmVzcyBlcnJvciBkaWFsb2dzLiAgQWRkIGNhbGwgdG8KCSAgU2V0RXJyb3JNb2RlKDApOyAgIFNlZSAjOTI1OC4KCjIwMDktMDctMTQgMTY6MDYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUluY2x1ZGVFeHRlcm5hbE1TUHJvamVjdENvbW1hbmQuY3h4OiBFTkg6IGZpeCB2c2V4dGVybmFsCgkgIHRlc3Qgb24gdnMgNzEKCjIwMDktMDctMTQgMTU6MTcgIGtpbmcKCgkqIE1vZHVsZXMvOiBDTWFrZUNDb21waWxlcklkLmMuaW4sIENNYWtlQ1hYQ29tcGlsZXJJZC5jcHAuaW4sCgkgIENNYWtlRm9ydHJhbkNvbXBpbGVySWQuRi5pbjogRU5IOiBDaGVjayBfU0dJX0NPTVBJTEVSX1ZFUlNJT04gZm9yCgkgIGNvbXBpbGVyIGlkCgoJICBTb21lIFNHSSBjb21waWxlcnMgZGVmaW5lIF9TR0lfQ09NUElMRVJfVkVSU0lPTiBpbiBhZGRpdGlvbiB0bwoJICB0aGUgb2xkIF9DT01QSUxFUl9WRVJTSU9OIHByZXByb2Nlc3NvciBzeW1ib2wuICBJdCBpcyBtb3JlCgkgIGRpc3RpbmN0aXZlLCBzbyB3ZSBzaG91bGQgY2hlY2sgaXQgaW4gY2FzZSB0aGUgb2xkIG9uZSBpcyBldmVyCgkgIHJlbW92ZWQuCgoyMDA5LTA3LTE0IDE1OjE2ICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlRm9ydHJhbkNvbXBpbGVySWQuRi5pbjogQlVHOiBBdm9pZCBTR0kgcHJlcHJvY2Vzc29yCgkgIGJ1ZyBmb3IgRm9ydHJhbiBJZAoKCSAgVGhlIFNHSSBwcmVwcm9jZXNzb3IgL3Vzci9saWIvY3BwIHByb2R1Y2VzIGJhZCBvdXRwdXQgb24gdGhpcwoJICBjb2RlOgoKCSAgICAjaWYgMQoJICAgIEEKCSAgICAjZWxpZiAxCgkgICAgQgoJICAgICNlbHNlCgkgICAgQwoJICAgICNlbmRpZgoKCSAgQm90aCAnQScgYW5kICdDJyBhcHBlYXIgaW4gdGhlIG91dHB1dCEgIFdlIHdvcmsgYXJvdW5kIHRoZQoJICBwcm9ibGVtIGJ5IHVzaW5nICcjZWxpZiAxJyBpbnN0ZWFkIG9mICcjZWxzZScuCgoJICBUaGlzIGZpeGVzIGRldGVjdGlvbiBvZiB0aGUgU0dJIEZvcnRyYW4gY29tcGlsZXIgaWQgaW4gLW8zMiBtb2RlLgoKMjAwOS0wNy0xNCAxNDo0NCAgYWxleAoKCSogTW9kdWxlcy9NYWNyb0FkZEZpbGVEZXBlbmRlbmNpZXMuY21ha2U6IFNUWUxFOiBhZGQgZG9jdW1lbnRhdGlvbgoJICBmb3IgTUFDUk9fQUREX0ZJTEVfREVQRU5ERU5DSUVTKCkKCgkgIEFsZXgKCjIwMDktMDctMTQgMTQ6MTYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUluY2x1ZGVFeHRlcm5hbE1TUHJvamVjdENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvMTBHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21WaXN1YWxTdHVkaW8xMFRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFRlc3RzL1ZTRXh0ZXJuYWxJbmNsdWRlL0NNYWtlTGlzdHMudHh0OiBFTkg6IHJlbW92ZQoJICBJTkNMVURFX0VYVEVSTkFMX01TUFJPSkVDVCBuYW1lIGhhY2ssIGFuZCB1c2UgdGFyZ2V0IHByb3BlcnRpZXMKCSAgaW5zdGVhZCwgZml4IFZYRXh0ZXJuYWxJbmNsdWRlIHRlc3QgZm9yIFZTMTAKCjIwMDktMDctMTQgMTA6MTUgIGtpbmcKCgkqIFNvdXJjZS9jbVNlcGFyYXRlQXJndW1lbnRzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVNlcGFyYXRlQXJndW1lbnRzQ29tbWFuZC5oLAoJICBUZXN0cy9DTWFrZVRlc3RzL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9DTWFrZVRlc3RzL1NlcGFyYXRlQXJndW1lbnRzVGVzdC5jbWFrZS5pbjogRU5IOiBUZWFjaAoJICBzZXBhcmF0ZV9hcmd1bWVudHMoKSB0byBwYXJzZSBjb21tYW5kcwoKCSAgVGhpcyBhZGRzIFVOSVhfQ09NTUFORCBhbmQgV0lORE9XU19DT01NQU5EIG1vZGVzIHRvIHRoZSBjb21tYW5kLgoJICBUaGVzZSBtb2RlcyBwYXJzZSB1bml4LSBhbmQgd2luZG93cy1zdHlsZSBjb21tYW5kIGxpbmVzLgoKMjAwOS0wNy0xNCAxMDoxNCAga2luZwoKCSogU291cmNlLzogY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmN4eCwKCSAgY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmg6IFNUWUxFOiBGYWN0b3IKCSAgY21Db21wdXRlTGlua0luZm9ybWF0aW9uIGNvbnN0cnVjdG9yCgoJICBUaGlzIGZhY3RvcnMgc29tZSBjb2RlIG91dCBvZiB0aGUgY29uc3RydWN0b3IgaW50byBhIG5ldyBtZXRob2QKCSAgY21Db21wdXRlTGlua0luZm9ybWF0aW9uOjpMb2FkSW1wbGljaXRMaW5rSW5mbyBmb3IgcmVhZGFiaWxpdHkuCgoyMDA5LTA3LTE0IDEwOjE0ICBraW5nCgoJKiBTb3VyY2UvOiBjbU9yZGVyRGlyZWN0b3JpZXMuY3h4LCBjbU9yZGVyRGlyZWN0b3JpZXMuaDogU1RZTEU6CgkgIEZhY3RvciBDb2xsZWN0T3JpZ2luYWxEaXJlY3RvcmllcyBjb2RlCgoJICBUaGlzIGZhY3RvcnMgY29kZSBvdXQgb2YKCSAgY21PcmRlckRpcmVjdG9yaWVzOjpDb2xsZWN0T3JpZ2luYWxEaXJlY3RvcmllcyBpbnRvCgkgIGNtT3JkZXJEaXJlY3Rvcmllczo6QWRkT3JpZ2luYWxEaXJlY3Rvcmllcy4gIExhdGVyIGEgbmV3IGNhbGwKCSAgd2lsbCBiZSBhZGRlZCwgYW5kIHRoaXMgaXMgbW9yZSByZWFkYWJsZSBhbnl3YXkuCgoyMDA5LTA3LTE0IDA4OjM4ICBraW5nCgoJKiBUZXN0cy9FeHBvcnRJbXBvcnQvOiBDTWFrZUxpc3RzLnR4dCwgSW5pdGlhbENhY2hlLmNtYWtlLmluOiBDT01QOgoJICBTaG9ydGVuIEV4cG9ydEltcG9ydCB0ZXN0IGNvbW1hbmQgbGluZXMKCgkgIFRoZSBFeHBvcnRJbXBvcnQgdGVzdCBkcml2ZXMgaXRzIEV4cG9ydCBhbmQgSW1wb3J0IHByb2plY3RzIHVzaW5nCgkgIHRoZSBzYW1lIGNvbXBpbGVyIGFuZCBmbGFncy4JVGhpcyBjb252ZXJ0cyB0aGUgY3Rlc3QKCSAgLS1idWlsZC1hbmQtdGVzdCBjb21tYW5kIGxpbmVzIHRvIHVzZSBhbiBpbml0aWFsIGNhY2hlIGZpbGUKCSAgaW5zdGVhZCBvZiBwYXNzaW5nIGFsbCBzZXR0aW5ncyBvbiB0aGUgY29tbWFuZCBsaW5lLgoKCSAgV2UgbmVlZCBhIHNob3J0ZXIgY29tbWFuZCBsaW5lIHRvIHBhc3MgdGhyb3VnaCBWUyA2IG9uIFdpbjk4LgoJICBUaGlzIGFwcHJvYWNoIHJlZHVjZXMgZHVwbGljYXRlIGNvZGUgYW55d2F5LgoKMjAwOS0wNy0xNCAwMDowMSAga3dyb2JvdAoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA3LTEzIDE3OjM1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtLmM6IEJVRzogUGFyc2UgZXNjYXBlcyBpbiBzaW5nbGUtcXVvdGVkIHVuaXgKCSAgYXJndW1lbnRzCgoJICBUaGlzIGZpeGVzIEtXU3lzJ3MgdW5peC1zdHlsZSBjb21tYW5kLWxpbmUgcGFyc2luZyB0byBpbnRlcnByZXQKCSAgYmFja3NsYXNoIGVzY2FwZXMgaW5zaWRlIHNpbmdsZS1xdW90ZWQgc3RyaW5ncy4KCjIwMDktMDctMTMgMTc6MDggIGtpbmcKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQ09NUDogSW5jbHVkZSA8bWFsbG9jLmg+IGZvciAnZnJlZScgb24KCSAgUU5YCgoyMDA5LTA3LTEzIDE2OjU4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzEwR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW8xMEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtVmlzdWFsU3R1ZGlvMTBUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21WaXN1YWxTdHVkaW8xMFRhcmdldEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21WaXN1YWxTdHVkaW9HZW5lcmF0b3JPcHRpb25zLmN4eCwKCSAgVGVzdHMvUHJlY29tcGlsZWRIZWFkZXIvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1ByZXByb2Nlc3MvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1ZTRXh0ZXJuYWxJbmNsdWRlL0NNYWtlTGlzdHMudHh0OiBFTkg6CWFsbW9zdCBhbGwgdGVzdHMKCSAgcGFzc2luZyBpbiB2cyAxMCwgY29tbWl0IGZpeGVzIHByZXByb2Nlc3MgYW5kIHN0YXJ0cyB2cyBleHRlcm5hbAoJICBwcm9qZWN0CgoyMDA5LTA3LTEzIDE2OjQ2ICBraW5nCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IENPTVA6IEluY2x1ZGUgPHN0ZGxpYi5oPiBmb3IgJ2ZyZWUnCgoyMDA5LTA3LTEzIDE2OjIyICBraW5nCgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oOiBFTkg6IEFkZAoJICBjbVN5c3RlbVRvb2xzOjpQYXJzZVVuaXhDb21tYW5kTGluZQoKCSAgVGhpcyBtZXRob2QgaXMgYSBDKysgd3JhcHBlciBhcm91bmQgdGhlIEtXU3lzIFN5c3RlbSBsaWJyYXJ5CgkgIGZ1bmN0aW9uIHRvIHBhcnNlIHVuaXgtc3R5bGUgY29tbWFuZCBsaW5lcy4KCjIwMDktMDctMTMgMTY6MjIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IFByb2Nlc3NVTklYLmMsIFN5c3RlbS5jLCBTeXN0ZW0uaC5pbjogRU5IOiBQcm92aWRlCgkgIHVuaXgtc3l0bGUgY29tbWFuZCBsaW5lIHBhcnNpbmcKCgkgIEFkZCBTeXN0ZW1fUGFyc2VfQ29tbWFuZEZvclVuaXggdG8gdGhlIEtXU3lzIFN5c3RlbSBpbnRlcmZhY2UgYXMKCSAgYSB1dGlsaXR5IHRvIHBhcnNlIGEgdW5peC1zdHlsZSBjb21tYW5kIGxpbmUuICBNb3ZlIHRoZSBleGlzdGluZwoJICBpbXBsZW1lbnRhdGlvbiBvdXQgb2YgUHJvY2Vzc1VOSVguICBBZGQgYSBmbGFncyBhcmd1bWVudCByZXNlcnZlZAoJICBmb3IgZnV0dXJlIHVzZSBpbiBwcm92aWRpbmcgYWRkaXRpb25hbCBiZWhhdmlvci4KCjIwMDktMDctMTMgMTE6MjQgIGtpbmcKCgkqIE1vZHVsZXMvOiBDTWFrZUZvcnRyYW5Db21waWxlckFCSS5GLAoJICBDTWFrZVRlc3RGb3J0cmFuQ29tcGlsZXIuY21ha2U6IEVOSDogQ3JlYXRlIEZvcnRyYW4gQUJJIGRldGVjdGlvbgoJICBmcmFtZXdvcmsKCgkgIFRoaXMgaW52b2tlcyBDTWFrZURldGVybWluZUNvbXBpbGVyQUJJLmNtYWtlIGZvciBGb3J0cmFuIGF0IHRoZQoJICBzYW1lIHBsYWNlIGl0IGlzIGFscmVhZHkgZG9uZSBmb3IgQyBhbmQgQ1hYLgoKMjAwOS0wNy0xMyAxMDo0NiAga2luZwoKCSogTW9kdWxlcy9FeHRlcm5hbFByb2plY3QuY21ha2U6IEVOSDogQ2hlY2sgdGFyYmFsbCBmaWxlbmFtZSBpbgoJICBlcF9hZGQKCgkgIFRoaXMgdGVhY2hlcyB0aGUgRXh0ZXJuYWxQcm9qZWN0IG1vZHVsZSB0byBjaGVjayB0aGUgZG93bmxvYWQgVVJMCgkgIGZpbGUgbmFtZS4gIElmIGl0IGlzIG5vdCBhIHRhcmJhbGwgKC50YXIsIC50Z3osIC50YXIuZ3opIGl0IGlzIGFuCgkgIGVycm9yIGJlY2F1c2UgVW50YXJGaWxlIGRvZXMgbm90IHlldCB1bmRlcnN0YW5kIG90aGVyIGFyY2hpdmUKCSAgZm9ybWF0cy4KCjIwMDktMDctMTMgMTA6NDYgIGtpbmcKCgkqIE1vZHVsZXMvVW50YXJGaWxlLmNtYWtlOiBCVUc6IFRlYWNoIFVudGFyRmlsZSB0byBkZWxldGUgZGlyIG9uCgkgIGVycm9yCgoJICBXaGVuIHRhcmJhbGwgZXh0cmFjdGlvbiBmYWlscyB3ZSBzaG91bGQgc3RpbGwgY2xlYW51cCB0aGUKCSAgdGVtcG9yYXJ5IGV4dHJhY3Rpb24gZGlyZWN0b3J5LiAgT3RoZXJ3aXNlIHRoZSBuZXh0IGF0dGVtcHQgd2lsbAoJICBjcmVhdGUgYSBuZXcgZGlyZWN0b3J5IGFuZCB0aGUgZmlyc3Qgb25lIHdpbGwgbmV2ZXIgYmUgcmVtb3ZlZC4KCjIwMDktMDctMTMgMTA6NDAgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vTGludXgtU3VuUHJvLUNYWC5jbWFrZTogQlVHOiBGaXggcnBhdGgtbGluayBmbGFnCgkgIGZvciBTdW5Qcm8gQysrIG9uIExpbnV4CgoJICBUaGlzIHRlYWNoZXMgTW9kdWxlcy9QbGF0Zm9ybS9MaW51eC1TdW5Qcm8tQ1hYLmNtYWtlIHRoZQoJICAtcnBhdGgtbGluayBmbGFnLiAgVGhlIFN1blBybyBDKysgY29tcGlsZXIgZG9lcyBub3QgaGF2ZSBhICctV2wsJwoJICBvcHRpb24sIHNvIHdlIGp1c3QgcGFzcyB0aGUgZmxhZyBkaXJlY3RseS4KCgkgIFRoaXMgcHJvYmxlbSB3YXMgZXhwb3NlZCBieSB0aGUgRXhwb3J0SW1wb3J0IHRlc3Qgbm93IHRoYXQgaXQKCSAgbGlua3MgYW4gZXhlY3V0YWJsZSB0aHJvdWdoIHRoZSBDKysgY29tcGlsZXIgd2l0aCB0aGUgLXJwYXRoLWxpbmsKCSAgZmxhZy4KCjIwMDktMDctMTMgMDk6MjAgIGtpbmcKCgkqIFRlc3RzL0V4cG9ydEltcG9ydC9FeHBvcnQvOiBDTWFrZUxpc3RzLnR4dCwgdGVzdExpYjYuYywKCSAgdGVzdExpYjZjLmM6IENPTVA6IEZpeCBFeHBvcnRJbXBvcnQgdGVzdExpYjYgb24gVlM2CgoJICBUaGUgY29tcGlsZXIgZG9lcyBub3Qgc3VwcG9ydCBtdWx0aXBsZSBzb3VyY2UgZmlsZXMgZGlmZmVyaW5nCgkgIG9ubHkgYnkgZXh0ZW5zaW9uIGluIG9uZSB0YXJnZXQuICBUaGlzIHJlbmFtZXMgdGhlIEMgc291cmNlIGZpbGUKCSAgaW4gdGhlIHRlc3QuCgoyMDA5LTA3LTEzIDAwOjAxICBrd3JvYm90CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDctMTIgMTQ6NTIgIGFsZXgKCgkqIFRlc3RzL0NNYWtlTGlzdHMudHh0OiBCVUc6IGRpc2FibGUgdGhlIHRlc3QgZm9yIG5vdywgd2lsbCBtYWtlIGl0CgkgIHdvcmsgY29ycmVjdGx5IGxhdGVyCgoJICBBbGV4CgoyMDA5LTA3LTEyIDA0OjUxICBhbGV4CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFNjcmlwdEhhbmRsZXIuY3h4LCBUZXN0cy9DTWFrZUxpc3RzLnR4dCwKCSAgTW9kdWxlcy9DVGVzdFNjcmlwdE1vZGUuY21ha2UsCgkgIFRlc3RzL0NUZXN0U2NyaXB0TW9kZS9DVGVzdFRlc3RTY3JpcHRNb2RlLmNtYWtlLmluOiBTVFlMRTogZG9uJ3QKCSAgbG9hZCBDTWFrZURldGVybWluZVN5c3RlbSBhbmQgQ01ha2VTeXN0ZW1TcGVjaWZpYyBkaXJlY3RseSBmcm9tCgkgIGNtQ1Rlc3RTY3JpcHRIYW5kbGVyLCBidXQgaGF2ZSBpdCBsb2FkIHRoZSBuZXcgc2NyaXB0CgkgIENUZXN0U2NyaXB0TW9kZS5jbWFrZSAtPiB0aGF0IG1ha2VzIGl0IG1vcmUgZmxleGlibGUsIGFsc28gYWRkIGEKCSAgc2ltcGxlIHRlc3QgdGhhdCB0aGUgc3lzdGVtIG5hbWUgaGFzIGJlZW4gZGV0ZXJtaW5lZCBjb3JyZWN0bHkKCgkgIEFsZXgKCjIwMDktMDctMTIgMDA6MDEgIGt3cm9ib3QKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNy0xMSAxNjozMCAgYWxleAoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdFNjcmlwdEhhbmRsZXIuY3h4LCBjbUNUZXN0U2NyaXB0SGFuZGxlci5oOgoJICBTVFlMRTogbW92ZSB0aGUgY29kZSBmb3Igd3JpdGluZyB0aGUgaW5pdGlhbCBjYWNoZSBpbnRvIGl0cyBvd24KCSAgc2VwYXJhdGUgZnVuY3Rpb24sIG1ha2VzIHRoZSBsb25nIFByb2Nlc3NIYW5kbGVyKCkgYSBsaXR0bGUgYml0CgkgIHNob3J0ZXIKCgkgIEFsZXgKCjIwMDktMDctMTEgMTY6MjcgIGFsZXgKCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eCwgY21DVGVzdFNjcmlwdEhhbmRsZXIuaDoKCSAgU1RZTEU6IHJlbmFtZSBJbml0Q2FjaGUgdG8gSW5pdGlhbENhY2hlLCBzaW5jZSBpdCBjb250YWlucyB0aGUKCSAgY29udGVudHMgZm9yIHRoZSBpbml0aWFsIGNhY2hlIGFuZCBpcyBub3QgZS5nLiBhIGZsYWcgd2hpY2ggc2hvd3MKCSAgd2hldGhlciB0aGUgY2FjaGUgc2hvdWxkIGJlIGluaXRpYWxpemVkCgoJICBBbGV4CgoyMDA5LTA3LTExIDEwOjEyICBraW5nCgoJKiBTb3VyY2UvOiBjbUV4cG9ydEZpbGVHZW5lcmF0b3IuY3h4LCBjbVRhcmdldC5jeHg6IEVOSDogRXhwb3J0IGFuZAoJICBpbXBvcnQgbGluayBpbnRlcmZhY2UgbGFuZ3VhZ2VzCgoJICBOb3cgdGhhdCBsYW5ndWFnZXMgYXJlIHBhcnQgb2YgdGhlIGxpbmsgaW50ZXJmYWNlIG9mIGEgdGFyZ2V0IHdlCgkgIG5lZWQgdG8gZXhwb3J0L2ltcG9ydCB0aGUgaW5mb3JtYXRpb24uICBBIG5ldwoJICBJTVBPUlRFRF9MSU5LX0lOVEVSRkFDRV9MQU5HVUFHRVMgcHJvcGVydHkgYW5kIHBlci1jb25maWcKCSAgSU1QT1JURURfTElOS19JTlRFUkZBQ0VfTEFOR1VBR0VTXzxDT05GSUc+IHByb3BlcnR5IHNwZWNpZnkgdGhlCgkgIGluZm9ybWF0aW9uIGZvciBpbXBvcnRlZCB0YXJnZXRzLiAgVGhlIGV4cG9ydCgpIGFuZAoJICBpbnN0YWxsKEVYUE9SVCkgY29tbWFuZHMgYXV0b21hdGljYWxseSBzZXQgdGhlIHByb3BlcnRpZXMuCgoyMDA5LTA3LTExIDEwOjEwICBraW5nCgoJKiBUZXN0cy9FeHBvcnRJbXBvcnQvOiBDTWFrZUxpc3RzLnR4dCwgRXhwb3J0L0NNYWtlTGlzdHMudHh0LAoJICBFeHBvcnQvdGVzdExpYjYuYywgRXhwb3J0L3Rlc3RMaWI2LmN4eCwgSW1wb3J0L0NNYWtlTGlzdHMudHh0LAoJICBJbXBvcnQvQS9DTWFrZUxpc3RzLnR4dCwgSW1wb3J0L0EvaW1wX3Rlc3RFeGUxLmM6IEVOSDogVGVzdAoJICBleHBvcnQvaW1wb3J0IG9mIGxpbmsgaW50ZXJmYWNlIGxhbmd1YWdlcwoKCSAgVGhpcyBleHRlbmRzIHRoZSBFeHBvcnRJbXBvcnQgdGVzdC4gIFRoZSBFeHBvcnQgcHJvamVjdCBjcmVhdGVzIGEKCSAgQysrIHN0YXRpYyBsaWJyYXJ5IGFuZCBleHBvcnRzIGl0LiAgVGhlbiB0aGUgSW1wb3J0IHByb2plY3QgbGlua3MKCSAgdGhlIGxpYnJhcnkgaW50byBhIEMgZXhlY3V0YWJsZS4gIE9uIG1vc3QgcGxhdGZvcm1zIHRoZQoJICBleGVjdXRhYmxlIHdpbGwgbGluayBvbmx5IGlmIHRoZSBDKysgbGlua2VyIGlzIGNob3NlbiBjb3JyZWN0bHkuCgoyMDA5LTA3LTExIDAwOjA1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5oLCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbVNvdXJjZUdyb3VwLmN4eCwgU291cmNlL2NtU291cmNlR3JvdXAuaCwKCSAgU291cmNlL2NtVmlzdWFsU3R1ZGlvMTBUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21WaXN1YWxTdHVkaW8xMFRhcmdldEdlbmVyYXRvci5oLAoJICBUZXN0cy9Tb3VyY2VHcm91cHMvQ01ha2VMaXN0cy50eHQsIFRlc3RzL1NvdXJjZUdyb3Vwcy9SRUFETUUudHh0OgoJICBFTkg6IGFkZCBncm91cCBzdXBwb3J0IGFuZCBmaXggYm9ybGFuZCBlcnJvcgoKMjAwOS0wNy0xMSAwMDowMSAga3dyb2JvdAoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA3LTEwIDE2OjUxICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbEdlbmVyYXRvci5oLCBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5oOiBCVUc6IEZpeCBYY29kZSBsaW5rZXIgbGFuZ3VhZ2UKCgkgIFhjb2RlIGRvZXMgbm90IHNlZW0gdG8gc3VwcG9ydCBkaXJlY3QgcmVxdWVzdHMgZm9yIHVzaW5nIHRoZQoJICBsaW5rZXIgZm9yIGEgcGFydGljdWxhciBsYW5ndWFnZS4gIEl0IGFsd2F5cyBpbmZlcnMgdGhlIGxpbmtlcgoJICB1c2luZyB0aGUgbGFuZ3VhZ2VzIGluIHRoZSBzb3VyY2UgZmlsZXMuICBXaGVuIG5vIHVzZXIgc291cmNlCgkgIGZpbGVzIGNvbXBpbGUgd2l0aCB0YXJnZXQncyBsaW5rZXIgbGFuZ3VhZ2Ugd2UgYWRkIG9uZSB0byBoZWxwCgkgIFhjb2RlIHBpY2sgdGhlIGxpbmtlci4KCgkgIEEgdHlwaWNhbCB1c2UgY2FzZSBpcyB3aGVuIGEgQyBleGVjdXRhYmxlIGxpbmtzIHRvIGEgQysrIGFyY2hpdmUuCgkgICBUaGUgZXhlY3V0YWJsZSBoYXMgbm8gQysrIHNvdXJjZSBmaWxlcyBidXQgd2UgbmVlZCB0byB1c2UgdGhlCgkgIEMrKyBsaW5rZXIuCgoyMDA5LTA3LTEwIDEzOjUzICBraW5nCgoJKiBTb3VyY2UvY21UYXJnZXQuY3h4OiBFTkg6IFVwZGF0ZSBMSU5LRVJfTEFOR1VBR0UgYW5kIEhBU19DWFggZG9jcwoKCSAgVGhpcyB1cGRhdGVzIHRoZSBkb2N1bWVudGF0aW9uIG9mIHRoZXNlIHByb3BlcnRpZXMgdG8gYWNjb3VudCBmb3IKCSAgdGhlIG5ldyBhdXRvbWF0aWMgbGlua2VyIGxhbmd1YWdlIGNvbXB1dGF0aW9uLgoKMjAwOS0wNy0xMCAxMzo1MyAga2luZwoKCSogVGVzdHMvOiBDTWFrZUxpc3RzLnR4dCwgTGlua0xhbmd1YWdlL0NNYWtlTGlzdHMudHh0LAoJICBMaW5rTGFuZ3VhZ2UvTGlua0xhbmd1YWdlLmMsIExpbmtMYW5ndWFnZS9mb28uY3h4OiBFTkg6IFRlc3QKCSAgdHJhbnNpdGl2ZSBsaW5rIGxhbmd1YWdlcwoKCSAgVGhpcyB0ZXN0IGNyZWF0ZXMgYSBDIGV4ZWN1dGFibGUgdGhhdCBsaW5rcyB0byBhIEMrKyBzdGF0aWMKCSAgbGlicmFyeS4gIE9uIG1vc3QgcGxhdGZvcm1zIHRoZSBleGVjdXRhYmxlIHdpbGwgbm90IGxpbmsgdW5sZXNzCgkgIHRoZSBDKysgbGlua2VyIGlzIGNob3NlbiBjb3JyZWN0bHkuCgoyMDA5LTA3LTEwIDEzOjUzICBraW5nCgoJKiBTb3VyY2UvOiBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0Lmg6IEVOSDogQ29uc2lkZXIgbGluawoJICBkZXBlbmRlbmNpZXMgZm9yIGxpbmsgbGFuZ3VhZ2UKCgkgIFRoaXMgdGVhY2hlcyBjbVRhcmdldCB0byBhY2NvdW50IGZvciB0aGUgbGFuZ3VhZ2VzIGNvbXBpbGVkIGludG8KCSAgbGluayBkZXBlbmRlbmNpZXMgd2hlbiBkZXRlcm1pbmluZyB0aGUgbGlua2VyIGxhbmd1YWdlIGZvciBpdHMKCSAgdGFyZ2V0LgoKCSAgV2UgbGlzdCB0aGUgbGFuZ3VhZ2VzIGNvbXBpbGVkIGludG8gYSBzdGF0aWMgYXJjaGl2ZSBpbiBpdHMgbGluawoJICBpbnRlcmZhY2UuICBBbnkgdGFyZ2V0IGxpbmtpbmcgdG8gaXQga25vd3MgdGhhdCB0aGUgcnVudGltZQoJICBsaWJyYXJpZXMgZm9yIHRoZSBzdGF0aWMgYXJjaGl2ZSdzIGxhbmd1YWdlcyBtdXN0IGJlIGF2YWlsYWJsZSBhdAoJICBsaW5rIHRpbWUuICBGb3Igbm93IHRoaXMgYWZmZWN0cyBvbmx5IHRoZSBsaW5rZXIgbGFuZ3VhZ2UKCSAgc2VsZWN0aW9uLCBidXQgbGF0ZXIgaXQgd2lsbCBhbGxvdyBDTWFrZSB0byBhdXRvbWF0aWNhbGx5IGxpc3QKCSAgdGhlIGxhbmd1YWdlIHJ1bnRpbWUgbGlicmFyaWVzLgoKMjAwOS0wNy0xMCAxMzowOCAga2luZwoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RIRy5jeHg6IENPTVA6IEZpeCBjbUNUZXN0SEcgZm9yIG9sZCBIUAoJICBjb21waWxlcgoKCSAgVGhlIGNvbXBpbGVyIGRvZXMgbm90IGhhdmUgYSBmdWxseSBjb21wbGlhbnQgc3RkOjpzdHJpbmcuCgoyMDA5LTA3LTEwIDEyOjI2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21WaXN1YWxTdHVkaW8xMFRhcmdldEdlbmVyYXRvci5jeHg6IEVOSDogY2hhbmdlIHNvIHJ1bGVzCgkgIHNob3cgdXAgaW4gR1VJLCBtdXN0IGJlIHdpbmRvd3MgcGF0aAoKMjAwOS0wNy0xMCAxMTowNyAga2luZwoKCSogTW9kdWxlcy9DVGVzdC5jbWFrZSwgU291cmNlL0NNYWtlTGlzdHMudHh0LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdEhHLmN4eCwgU291cmNlL0NUZXN0L2NtQ1Rlc3RIRy5oLAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFVwZGF0ZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFVwZGF0ZUhhbmRsZXIuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFVwZGF0ZUhhbmRsZXIuaCwgVGVzdHMvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NUZXN0VXBkYXRlSEcuY21ha2UuaW46IEVOSDogVGVhY2ggQ1Rlc3QgdG8gaGFuZGxlCgkgIE1lcmN1cmlhbCByZXBvc2l0b3JpZXMKCgkgIFRoaXMgY3JlYXRlcyBjbUNUZXN0SEcgdG8gZHJpdmUgQ1Rlc3QgVXBkYXRlIGhhbmRsaW5nIG9uIGhnLWJhc2VkCgkgIHdvcmsgdHJlZXMuICBDdXJyZW50bHkgd2UgYWx3YXlzIHVwZGF0ZSB0byB0aGUgaGVhZCBvZiB0aGUgcmVtb3RlCgkgIHRyYWNraW5nIGJyYW5jaCAoaGcgcHVsbCksIHNvIHRoZSBuaWdodGx5IHN0YXJ0IHRpbWUgaXMgaWdub3JlZAoJICBmb3IgTmlnaHRseSBidWlsZHMuICBBIGxhdGVyIGNoYW5nZSB3aWxsIGFkZHJlc3MgdGhpcy4KCgkgIFNlZSBpc3N1ZSAjNzg3OS4gIFBhdGNoIGZyb20gRW1tYW51ZWwgQ2hyaXN0b3BoZS4gIEkgbW9kaWZpZWQgdGhlCgkgIHBhdGNoIHNsaWdodGx5IGZvciBjb2RlIHN0eWxlLCB0byBmaW5pc2ggdXAgc29tZSBwYXJzaW5nIGRldGFpbHMsCgkgIGFuZCB0byBmaXggdGhlIHRlc3QuCgoyMDA5LTA3LTEwIDExOjA3ICBraW5nCgoJKiBTb3VyY2UvY21Qcm9jZXNzVG9vbHMuaDogRU5IOiBOZXcgT3V0cHV0UGFyc2VyOjpQcm9jZXNzKCkKCSAgc2lnbmF0dXJlCgoJICBUaGlzIG92ZXJsb2FkIGFjY2VwdHMgYSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nIGluc3RlYWQgb2YKCSAgcmVxdWlyaW5nIGEgbGVuZ3RoLiAgSXQgaXMgdXNlZnVsIHRvIHBhc3Mgc29tZSBmYWtlIHByb2Nlc3MKCSAgb3V0cHV0IGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIHJlYWwgcHJvY2VzcyBvdXRwdXQuCgoyMDA5LTA3LTEwIDA5OjUzICBkYXZpZC5jb2xlCgoJKiBDVGVzdEN1c3RvbS5jbWFrZS5pbjogQ09NUDogTWFzayBvdXQgc2hhZG93ZWQgZGVjbGFyYXRpb24KCSAgd2FybmluZ3MgdGhhdCBhbHdheXMgZm9sbG93IGFscmVhZHkgbWFza2VkIFV0aWxpdGllcy9jbXRhcgoJICB3YXJuaW5ncy4KCjIwMDktMDctMTAgMDk6MTIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VWUzEwRmluZE1ha2UuY21ha2UsIFNvdXJjZS9jbUNUZXN0LmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvMTBHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW8xMEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvMTBHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW9HZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5oLCBTb3VyY2UvY21UYXJnZXQuY3h4LAoJICBTb3VyY2UvY21WaXN1YWxTdHVkaW8xMFRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbVZpc3VhbFN0dWRpbzEwVGFyZ2V0R2VuZXJhdG9yLmgsCgkgIFRlc3RzL0NvbXBsZXgvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0OiBFTkg6IG9ubHkgNQoJICBmYWlsaW5nIHRlc3RzIGZvciBWUyAxMAoKMjAwOS0wNy0xMCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA3LTA5IDE0OjE1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU2hhcmVkRm9yd2FyZC5oLmluOiBDT01QOiBNb3JlIEtXU3lzIFNoYXJlZEZvcndhcmQKCSAgcG9pbnRlciBjb25zdC1uZXNzCgoJICBUaGlzIGFkZHMgYW5vdGhlciBjYXN0IHRvIGF2b2lkIHBvaW50ZXIgY29udmVyc2lvbiB3YXJuaW5ncy4KCSAgVW5mb3J0dW5hdGVseSBDIGRvZXMgbm90IHJlY29nbml6ZSBpbXBsaWNpdCBjb252ZXJzaW9ucyB0aGF0IGFkZAoJICBjdi1xdWFsaWZpZXJzIGFzIHdlbGwgYXMgQysrIGRvZXMuCgoyMDA5LTA3LTA5IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDctMDggMTY6MTggIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS9rd3N5cy9NRDUuYzogQ09NUDogRWxpbWluYXRlICJjb252ZXJzaW9uIG1heSBjaGFuZ2Ugc2lnbgoJICBvZiByZXN1bHQiIHdhcm5pbmdzIGJ5IHVzaW5nIHNpemVfdCB3aGVyZSBhcHByb3ByaWF0ZS4gKE1pc3NlZAoJICBvbmUgd2FybmluZyB3aXRoIGxhc3QgY29tbWl0OiBhZGQgYSBjYXN0IHRvIG1kNV93b3JkX3QuKQoKMjAwOS0wNy0wOCAxNjoxNSAgZGF2aWQuY29sZQoKCSogU291cmNlL2t3c3lzL01ENS5jOiBDT01QOiBFbGltaW5hdGUgImNvbnZlcnNpb24gbWF5IGNoYW5nZSBzaWduCgkgIG9mIHJlc3VsdCIgd2FybmluZ3MgYnkgdXNpbmcgc2l6ZV90IHdoZXJlIGFwcHJvcHJpYXRlLgoKMjAwOS0wNy0wOCAxNTowOSAga2luZwoKCSogU291cmNlL2t3c3lzL1NoYXJlZEZvcndhcmQuaC5pbjogQ09NUDogRml4IEtXU3lzIFNoYXJlZEZvcndhcmQKCSAgc2lnbiBjb252ZXJzaW9uCgoJICBUaGlzIHVzZXMgc2l6ZV90IHdoZXJlIG5lY2Vzc2FyeSB0byBhdm9pZCBzaXplX3QvaW50IGNvbnZlcnNpb24KCSAgd2FybmluZ3MuCgoyMDA5LTA3LTA4IDE1OjA5ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU2hhcmVkRm9yd2FyZC5oLmluOiBDT01QOiBGaXggS1dTeXMgU2hhcmVkRm9yd2FyZAoJICBwb2ludGVyIGNvbnN0LW5lc3MKCgkgIFRoaXMgYWRkcyBjb25zdC1uZXNzIGFuZCBjYXN0cyB3aGVyZSBuZWNlc3NhcnkgdG8gYXZvaWQgcG9pbnRlcgoJICBjb252ZXJzaW9uIHdhcm5pbmdzLgoKMjAwOS0wNy0wOCAxNDo0MyAgZGF2aWQuY29sZQoKCSogQ1Rlc3RDdXN0b20uY21ha2UuaW46IENPTVA6IFN1cHByZXNzIHdhcm5pbmdzIGZyb20gdGhlCgkgIFV0aWxpdGllcy9jbXRhciBjb2RlIGluIGRhc2hib2FyZCByZXN1bHRzLgoKMjAwOS0wNy0wOCAxNDozMyAga2luZwoKCSogU291cmNlLzogY21Eb2N1bWVudFZhcmlhYmxlcy5jeHgsIGNtVGFyZ2V0LmN4eDogQlVHOiBVc2UgbGluawoJICBsYW5ndWFnZSBmb3IgdGFyZ2V0IG5hbWUgY29tcHV0YXRpb24KCgkgIFRoZSBjb21taXQgIkRvIG5vdCBjb21wdXRlIGxpbmsgbGFuZ3VhZ2UgZm9yIExPQ0FUSU9OIiB3YXMgd3JvbmcuCgkgICBUaGUgdmFyaWFibGVzCgoJICAgIENNQUtFX1NUQVRJQ19MSUJSQVJZX1BSRUZJWF9KYXZhCgkgICAgQ01BS0VfU1RBVElDX0xJQlJBUllfU1VGRklYX0phdmEKCgkgIGFyZSB1c2VkIGZvciBidWlsZGluZyBKYXZhIC5qYXIgZmlsZXMuICBUaGlzIGNvbW1pdCByZS1lbmFibGVzCgkgIHRoZSBmZWF0dXJlIGFuZCBkb2N1bWVudHMgdGhlIHZhcmlhYmxlczoKCgkgICAgQ01BS0VfRVhFQ1VUQUJMRV9TVUZGSVhfPExBTkc+CgkgICAgQ01BS0VfSU1QT1JUX0xJQlJBUllfUFJFRklYXzxMQU5HPgoJICAgIENNQUtFX0lNUE9SVF9MSUJSQVJZX1NVRkZJWF88TEFORz4KCSAgICBDTUFLRV9TSEFSRURfTElCUkFSWV9QUkVGSVhfPExBTkc+CgkgICAgQ01BS0VfU0hBUkVEX0xJQlJBUllfU1VGRklYXzxMQU5HPgoJICAgIENNQUtFX1NIQVJFRF9NT0RVTEVfUFJFRklYXzxMQU5HPgoJICAgIENNQUtFX1NIQVJFRF9NT0RVTEVfU1VGRklYXzxMQU5HPgoJICAgIENNQUtFX1NUQVRJQ19MSUJSQVJZX1BSRUZJWF88TEFORz4KCSAgICBDTUFLRV9TVEFUSUNfTElCUkFSWV9TVUZGSVhfPExBTkc+CgoJICBJbnN0ZWFkIG9mIG1ha2luZyBzZXBhcmF0ZSwgcmVwZXRpdGl2ZSBlbnRyaWVzIGZvciB0aGUgXzxMQU5HPgoJICB2YXJpYWJsZSBkb2N1bWVudGF0aW9uLCB3ZSBqdXN0IG1lbnRpb24gdGhlIHBlci1sYW5ndWFnZSBuYW1lIGluCgkgIHRoZSB0ZXh0IG9mIHRoZSBwbGF0Zm9ybS13aWRlIHZhcmlhYmxlIGRvY3VtZW50YXRpb24uICBJbnRlcm5hbGx5CgkgIHdlIGtlZXAgdW5kb2N1bWVudGVkIGRlZmluaXRpb25zIG9mIHRoZXNlIHByb3BlcnRpZXMgdG8gc2F0aXNmeQoJICBDTUFLRV9TVFJJQ1QgbW9kZS4KCjIwMDktMDctMDggMTM6MDMgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5jeHgsCgkgIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LCBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVFeGVjdXRhYmxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LCBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0LmgsCgkgIGNtVmlzdWFsU3R1ZGlvMTBUYXJnZXRHZW5lcmF0b3IuY3h4OiBFTkg6IFBhc3MgY29uZmlnIHRvCgkgIGNtVGFyZ2V0OjpHZXRMaW5rZXJMYW5ndWFnZQoKCSAgVGhpcyBwYXNzZXMgdGhlIGJ1aWxkIGNvbmZpZ3VyYXRpb24gdG8gbW9zdCBHZXRMaW5rZXJMYW5ndWFnZQoJICBjYWxscy4gIEluIHRoZSBmdXR1cmUgdGhlIGxpbmtlciBsYW5ndWFnZSB3aWxsIGFjY291bnQgZm9yCgkgIHRhcmdldHMgbGlua2VkIGluIGVhY2ggY29uZmlndXJhdGlvbi4KCjIwMDktMDctMDggMTM6MDMgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5jeHgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsIGNtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsIGNtVGFyZ2V0LmN4eCwgY21UYXJnZXQuaDoKCSAgRU5IOiBQYXNzIGNvbmZpZyB0byBjbVRhcmdldCBSUEFUSCBpbnN0YWxsIG1ldGhvZHMKCgkgIFRoaXMgcGFzc2VzIHRoZSBidWlsZCBjb25maWd1cmF0aW9uIHRvIGNtVGFyZ2V0IG1ldGhvZHMKCSAgSXNDaHJwYXRoVXNlZCBhbmQgTmVlZFJlbGlua0JlZm9yZUluc3RhbGwuICBMYXRlciB0aGVzZSBtZXRob2RzCgkgIHdpbGwgdXNlIHRoZSB2YWx1ZS4KCjIwMDktMDctMDggMTM6MDMgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogRU5IOiBVc2UgZml4ZWQgaGVhZGVyIGZpbGUKCSAgdHlwZSBtYXBwaW5nIGZvciBYY29kZQoKCSAgVGhpcyBzaW1wbGlmaWVzIGNvbXB1dGF0aW9uIG9mIHRoZSBsYXN0S25vd25GaWxlVHlwZSBhdHRyaWJ1dGUKCSAgZm9yIGhlYWRlciBmaWxlcyBpbiBYY29kZSBwcm9qZWN0cy4gIFdlIG5vdyB1c2UgYSBmaXhlZCBtYXBwaW5nCgkgIGZyb20gaGVhZGVyIGZpbGUgZXh0ZW5zaW9uIHRvIGF0dHJpYnV0ZSB2YWx1ZS4gIFRoZSB2YWx1ZSBpcyBqdXN0CgkgIGEgaGludCB0byB0aGUgWGNvZGUgZWRpdG9yLCBzbyBjb21wdXRpbmcgdGhlIHRhcmdldCBsaW5rZXIKCSAgbGFuZ3VhZ2UgaXMgb3ZlcmtpbGwuCgoyMDA5LTA3LTA4IDEzOjAzICBraW5nCgoJKiBTb3VyY2UvOiBjbURvY3VtZW50VmFyaWFibGVzLmN4eCwgY21UYXJnZXQuY3h4OiBFTkg6IERvIG5vdAoJICBjb21wdXRlIGxpbmsgbGFuZ3VhZ2UgZm9yIExPQ0FUSU9OCgoJICBUaGUgTE9DQVRJT04gcHJvcGVydHkgcmVxdWlyZXMgdGhlIGZ1bGwgZmlsZSBuYW1lIG9mIGEgdGFyZ2V0IHRvCgkgIGJlIGNvbXB1dGVkLglQcmV2aW91c2x5IHdlIGNvbXB1dGVkIHRoZSBsaW5rZXIgbGFuZ3VhZ2UgZm9yIGEKCSAgdGFyZ2V0IHRvIGxvb2sgdXAgdmFyaWFibGVzIHN1Y2ggYXMKCSAgQ01BS0VfU0hBUkVEX0xJQlJBUllfU1VGRklYXzxMQU5HPi4gIFRoaXMgbGVkIHRvIGxvY2F0aW5nIGFsbCB0aGUKCSAgc291cmNlIGZpbGVzIGltbWVkaWF0ZWx5IGluc3RlYWQgb2YgZGVsYXlpbmcgdGhlIHNlYXJjaCB0bwoJICBnZW5lcmF0aW9uIHRpbWUuICBJbiB0aGUgZnV0dXJlIGV2ZW4gbW9yZSBjb21wdXRhdGlvbiB3aWxsIGJlCgkgIG5lZWRlZCB0byBnZXQgdGhlIGxpbmtlciBsYW5ndWFnZSwgc28gaXQgaXMgYmV0dGVyIHRvIGF2b2lkIGl0LgoKCSAgVGhlIF88TEFORz4gdmVyc2lvbnMgb2YgdGhlc2UgdmFyaWFibGVzIGFyZSB1bmRvY3VtZW50ZWQsIG5vdCBzZXQKCSAgaW4gYW55IHBsYXRmb3JtIGZpbGUgd2UgcHJvdmlkZSwgYW5kIGRvIG5vdCBwcm9kdWNlIGhpdHMgaW4KCSAgZ29vZ2xlLiAgVGhpcyBjaGFuZ2UganVzdCByZW1vdmVzIHRoZSB1bnVzZWQgZmVhdHVyZSBvdXRyaWdodC4KCjIwMDktMDctMDggMTI6MDQgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ29tcHV0ZUxpbmtEZXBlbmRzLmN4eCwgY21UYXJnZXQuY3h4LCBjbVRhcmdldC5oOiBFTkg6CgkgIEludHJvZHVjZSBjbVRhcmdldDo6TGlua0ltcGxlbWVudGF0aW9uIEFQSQoKCSAgVGhlIG5ldyBtZXRob2QgY2VudHJhbGl6ZXMgbG9vcHMgdGhhdCBwcm9jZXNzIHJhdwoJICBPcmlnaW5hbExpbmtMaWJyYXJpZXMgdG8gZXh0cmFjdCB0aGUgbGluayBpbXBsZW1lbnRhdGlvbgoJICAobGlicmFyaWVzIGxpbmtlZCBpbnRvIHRoZSB0YXJnZXQpIGZvciBlYWNoIGNvbmZpZ3VyYXRpb24uCgkgIFJlc3VsdHMgYXJlIGNvbXB1dGVkIG9uIGRlbWFuZCBhbmQgdGhlbiBjYWNoZWQuICBUaGlzIHNpbXBsaWZpZXMKCSAgbGluayBpbnRlcmZhY2UgY29tcHV0YXRpb24gYmVjYXVzZSB0aGUgZGVmYXVsdCBjYXNlIHRyaXZpYWxseQoJICBjb3BpZXMgdGhlIGxpbmsgaW1wbGVtZW50YXRpb24uCgoyMDA5LTA3LTA4IDExOjQxICBraW5nCgoJKiBUZXN0cy86IENvbXBsZXgvQ01ha2VMaXN0cy50eHQsIENvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ3VzdG9tQ29tbWFuZC9DTWFrZUxpc3RzLnR4dCwgRGVwZW5kZW5jeS9DTWFrZUxpc3RzLnR4dCwKCSAgRGVwZW5kZW5jeS9DYXNlNC9DTWFrZUxpc3RzLnR4dCwKCSAgRXhwb3J0SW1wb3J0L0V4cG9ydC9DTWFrZUxpc3RzLnR4dCwKCSAgRXhwb3J0SW1wb3J0L0ltcG9ydC9DTWFrZUxpc3RzLnR4dCwgRnVuY3Rpb25UZXN0L0NNYWtlTGlzdHMudHh0LAoJICBMb2FkQ29tbWFuZC9DTWFrZUNvbW1hbmRzL0NNYWtlTGlzdHMudHh0LAoJICBMb2FkQ29tbWFuZE9uZUNvbmZpZy9DTWFrZUNvbW1hbmRzL0NNYWtlTGlzdHMudHh0LAoJICBNYWNyb1Rlc3QvQ01ha2VMaXN0cy50eHQsIE1ha2VDbGVhbi9DTWFrZUxpc3RzLnR4dCwKCSAgUGx1Z2luL0NNYWtlTGlzdHMudHh0LCBQcmVwcm9jZXNzL0NNYWtlTGlzdHMudHh0LAoJICBSZXR1cm5UZXN0L0NNYWtlTGlzdHMudHh0LCBSdW50aW1lUGF0aC9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlR3JvdXBzL0NNYWtlTGlzdHMudHh0OiBFTkg6IFJlbW92ZSBDTUFLRV9BTlNJX0NGTEFHUyBmcm9tCgkgIHRlc3RzCgoJICBBcyBvZiBDTWFrZSAyLjYgdGhpcyB2YXJpYWJsZSBpcyBub3QgZGVmaW5lZCwgYW5kIHRoZSBBTlNJIGZsYWdzCgkgIGZvciB0aGUgSFAgY29tcGlsZXIgYXJlIHNpbXBseSBoYXJkLWNvZGVkIGluIHRoZSBkZWZhdWx0IEMgZmxhZ3MuCgoyMDA5LTA3LTA4IDA5OjE0ICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlOiBFTkg6IElkZW50aWZ5IEhQIEMKCSAgY29tcGlsZXIKCgkgIFRoaXMgY29tcGlsZXIgZG9lcyBub3QgZW5hYmxlIEFOU0kgbW9kZSBieSBkZWZhdWx0LiAgV2hlbgoJICBpZGVudGlmeWluZyB0aGUgQyBjb21waWxlciB3ZSB0cnkgcGFzc2luZyAtQWEgaW4gY2FzZSBpdCBpcyB0aGUKCSAgSFAgY29tcGlsZXIuCgoyMDA5LTA3LTA4IDA4OjMxICBraW5nCgoJKiBTb3VyY2UvOiBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0Lmg6IENPTVA6IFBpbXBsaXplIGNtVGFyZ2V0CgkgIEltcG9ydEluZm8gYW5kIE91dHB1dEluZm8KCgkgIFRoZXNlIG1lbWJlciBzdHJ1Y3R1cmVzIGFyZSBhY2Nlc3NlZCBvbmx5IGluIHRoZSBjbVRhcmdldAoJICBpbXBsZW1lbnRhdGlvbiBzbyB0aGV5IGRvIG5vdCBuZWVkIHRvIGJlIGRlZmluZWQgaW4gdGhlIGhlYWRlci4KCSAgVGhpcyBjbGVhbnVwIGFsc28gYWlkcyBWaXN1YWwgU3R1ZGlvIDYgaW4gY29tcGlsaW5nIHRoZW0uCgoyMDA5LTA3LTA4IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDctMDcgMTQ6MDIgIGFsZXgKCgkqIFNvdXJjZS9jbUV4dHJhQ29kZUJsb2Nrc0dlbmVyYXRvci5jeHg6IEVOSDogZ2V0IHRoZSBidWlsZCB0eXBlCgkgIHNwZWNpZmljIGxvY2F0aW9uCgoJICBBbGV4CgoyMDA5LTA3LTA3IDExOjMwICBraW5nCgoJKiBTb3VyY2UvY21UYXJnZXQuY3h4OiBCVUc6IERvIG5vdCByZWNvbXB1dGUgbGluayBpbnRlcmZhY2VzCgoJICBUaGUgY29uZmlnLXRvLWludGVyZmFjZSBtYXAgaW4gY21UYXJnZXQgc2hvdWxkIHVzZQoJICBjYXNlLWluc2Vuc2l0aXZlIGNvbmZpZ3VyYXRpb24gbmFtZXMuICBUaGUgY2hhbmdlIGF2b2lkcwoJICByZXBlYXRpbmcgd29yayBpZiB0aGUgZ2l2ZW4gY29uZmlndXJhdGlvbiBoYXMgYSBkaWZmZXJlbnQgY2FzZQoJICB0aGFuIG9uZSBhbHJlYWR5IGNvbXB1dGVkLgoKMjAwOS0wNy0wNyAxMDo1NyAga2luZwoKCSogU291cmNlL2NtVGFyZ2V0LmN4eDogQlVHOiBGaXggQ01QMDAwMyB3cm9uZy1jb25maWcgbGluayBkaXIKCSAgc3VwcG9ydAoKCSAgVGhpcyBmaXhlcyBhIGR1bWIgbG9naWMgZXJyb3IgaW50cm9kdWNlZCBieSB0aGUgY2VudHJhbGl6YXRpb24gb2YKCSAgbGluayBpbnRlcmZhY2UgY29tcHV0YXRpb24uICBJdCBwcmV2ZW50ZWQgbGluayBkaXJlY3RvcmllcyBmcm9tCgkgIGFsdGVybmF0ZSBjb25maWd1cmF0aW9ucyBmcm9tIGdldHRpbmcgbGlzdGVkIGJ5IHRoZSBPTEQgYmVoYXZpb3IKCSAgb2YgQ01QMDAwMyBmb3IgdGFyZ2V0cyBsaW5rZWQgYXMgdHJhbnNpdGl2ZSBkZXBlbmRlbmNpZXMuCgoyMDA5LTA3LTA3IDEwOjU2ICBraW5nCgoJKiBTb3VyY2UvY21UYXJnZXQuaDogU1RZTEU6IEZpeCBjb21tZW50IG9uIGNtVGFyZ2V0OjpMaW5rSW50ZXJmYWNlCgoJICBUaGUgY29tbWVudCBoYWQgYSB0eXBvIGFuZCB3YXMgbG9uZ2VyIHRoYW4gbmVjZXNzYXJ5LgoKMjAwOS0wNy0wNyAwOTo0NSAga2luZwoKCSogU291cmNlLzogY21Db21wdXRlTGlua0RlcGVuZHMuY3h4LCBjbUV4cG9ydEZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0Lmg6IEVOSDogU2ltcGxpZnkgY21UYXJnZXQgbGluayBpbnRlcmZhY2UKCSAgc3RvcmFnZQoKCSAgVGhpcyBtYWtlcyB0aGUgTGlua0ludGVyZmFjZSBzdHJ1Y3QgYSBtZW1iZXIgb2YgY21UYXJnZXQsCgkgIHBpbXBsaXplcyB0aGUgY29uZmlnLXRvLWludGVyZmFjZSBtYXAsIGFuZCBzdG9yZXMgaW50ZXJmYWNlCgkgIGluc3RhbmNlcyBieSB2YWx1ZS4KCjIwMDktMDctMDcgMDc6NDQgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5jeHgsCgkgIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LCBjbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVFeGVjdXRhYmxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LCBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0LmgsCgkgIGNtVmlzdWFsU3R1ZGlvMTBUYXJnZXRHZW5lcmF0b3IuY3h4OiBFTkg6IFNpbXBsZXIKCSAgY21UYXJnZXQ6OkdldExpbmtlckxhbmd1YWdlIHNpZ25hdHVyZQoKCSAgVGhpcyBtZXRob2QgcHJldmlvdXNseSByZXF1aXJlZCB0aGUgZ2xvYmFsIGdlbmVyYXRvciB0byBiZQoJICBwYXNzZWQsIGJ1dCB0aGF0IHdhcyBsZWZ0IGZyb20gYmVmb3JlIGNtVGFyZ2V0IGhhZCBpdHMgTWFrZWZpbGUKCSAgbWVtYmVyLiAgTm93IHRoZSBnbG9iYWwgZ2VuZXJhdG9yIGNhbiBiZSByZXRyaWV2ZWQgYXV0b21hdGljYWxseSwKCSAgc28gd2UgY2FuIGRyb3AgdGhlIG1ldGhvZCBhcmd1bWVudC4KCjIwMDktMDctMDcgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNy0wNiAxNjoyNSAga2luZwoKCSogU291cmNlLzogY21Db21wdXRlTGlua0RlcGVuZHMuY3h4LCBjbUNvbXB1dGVMaW5rRGVwZW5kcy5oLAoJICBjbUV4cG9ydEZpbGVHZW5lcmF0b3IuY3h4LCBjbUV4cG9ydEZpbGVHZW5lcmF0b3IuaCwgY21UYXJnZXQuY3h4LAoJICBjbVRhcmdldC5oOiBFTkg6IENlbnRyYWxpemUgZGVmYXVsdCBsaW5rIGludGVyZmFjZSBjb21wdXRhdGlvbgoKCSAgV2hlbiBMSU5LX0lOVEVSRkFDRV9MSUJSQVJJRVMgaXMgbm90IHNldCB3ZSB1c2UgdGhlIGxpbmsKCSAgaW1wbGVtZW50YXRpb24gdG8gaW1wbGljaXRseSBkZWZpbmUgdGhlIGxpbmsgaW50ZXJmYWNlLiAgVGhlc2UKCSAgY2hhbmdlcyBjZW50cmFsaXplIHRoZSBkZWNpc2lvbiBzbyB0aGF0IGFsbCBsaW5rYWJsZSB0YXJnZXRzCgkgIGludGVybmFsbHkgaGF2ZSBhIGxpbmsgaW50ZXJmYWNlLgoKMjAwOS0wNy0wNiAxNjoyNCAga2luZwoKCSogU291cmNlLzogY21Db21wdXRlTGlua0RlcGVuZHMuY3h4LCBjbUNvbXB1dGVMaW5rRGVwZW5kcy5oLAoJICBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0Lmg6IEVOSDogTW92ZSBDTVAwMDA0IGNoZWNrIGludG8gY21UYXJnZXQKCgkgIFRoaXMgbW92ZXMgY29kZSBpbXBsZW1lbnRpbmcgcG9saWN5IENNUDAwMDQgaW50bwoJICBjbVRhcmdldDo6Q2hlY2tDTVAwMDA0LiAgVGhlIGltcGxlbWVudGF0aW9uIGlzIHNsaWdodGx5IHNpbXBsZXIKCSAgYW5kIGNhbiBiZSByZS11c2VkIG91dHNpZGUgb2YgY21Db21wdXRlTGlua0RlcGVuZHMuCgoyMDA5LTA3LTA2IDE2OjI0ICBraW5nCgoJKiBTb3VyY2UvOiBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0Lmg6IEVOSDogRXhjZXB0aW9uIHNhZmUgbGluawoJICBpbnRlcmZhY2UgY29tcHV0YXRpb24KCgkgIFRoaXMgZml4ZXMgY21UYXJnZXQ6OkdldExpbmtJbnRlcmZhY2UgdG8gY29tcHV0ZSBhbmQgcmV0dXJuIHRoZQoJICBsaW5rIGludGVyZmFjZSBpbiBhbiBleGNlcHRpb24tc2FmZSBtYW5uZXIuICBXZSBtYW5hZ2UgdGhlIGxpbmsKCSAgaW50ZXJmYWNlIHJldHVybmVkIGJ5IGNtVGFyZ2V0OjpDb21wdXRlTGlua0ludGVyZmFjZSB1c2luZwoJICBhdXRvX3B0ci4KCjIwMDktMDctMDYgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNy0wNSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA3LTA0IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDctMDMgMTA6MzQgIGtpbmcKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGVFeGVjdXRhYmxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eDogRU5IOiBQYXNzIGNvbmZpZyB0bwoJICBjbVRhcmdldDo6R2V0RGlyZWN0b3J5KCkKCgkgIFRoaXMgdGVhY2hlcyB0aGUgbWFrZWZpbGUgZ2VuZXJhdG9ycyB0byBhbHdheXMgcGFzcyB0aGUKCSAgY29uZmlndXJhdGlvbiBuYW1lIHRvIHRoZSBjbVRhcmdldDo6R2V0RGlyZWN0b3J5IG1ldGhvZC4gIExhdGVyCgkgIHRoaXMgd2lsbCBhbGxvdyBwZXItY29uZmlndXJhdGlvbiB0YXJnZXQgb3V0cHV0IGRpcmVjdG9yaWVzLCBhbmQKCSAgaXQgY2xlYW5zIHVwIHVzZSBvZiB0aGUgY3VycmVudCBBUEkuCgoyMDA5LTA3LTAzIDEwOjMzICBraW5nCgoJKiBTb3VyY2UvOiBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0Lmg6IEVOSDogUmVmYWN0b3IgdGFyZ2V0IG91dHB1dAoJICBkaXIgY29tcHV0YXRpb24KCgkgIFRoaXMgY3JlYXRlcyBjbVRhcmdldDo6R2V0T3V0cHV0SW5mbyB0byBjb21wdXRlLCBjYWNoZSwgYW5kCgkgIGxvb2t1cCB0YXJnZXQgb3V0cHV0IGRpcmVjdG9yeSBpbmZvcm1hdGlvbiBvbiBhIHBlci1jb25maWd1cmF0aW9uCgkgIGJhc2lzLiAgSXQgYXZvaWRzIHJlLWNvbXB1dGluZyB0aGUgaW5mb3JtYXRpb24gZXZlcnkgdGltZSBpdCBpcwoJICBuZWVkZWQuCgoyMDA5LTA3LTAzIDEwOjMzICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBUZW1wbGF0ZXMvVXRpbGl0eUhlYWRlci5kc3B0ZW1wbGF0ZTogQlVHOiBBdm9pZAoJICBjbVRhcmdldDo6R2V0RGlyZWN0b3J5IGZvciB1dGlsaXRpZXMKCgkgIFNpbmNlIHV0aWxpdHkgdGFyZ2V0cyBoYXZlIG5vIG1haW4gb3V0cHV0IGZpbGVzIGxpa2UgZXhlY3V0YWJsZXMKCSAgb3IgbGlicmFyaWVzLCB0aGV5IGRvIG5vdCBkZWZpbmUgYW4gb3V0cHV0IGRpcmVjdG9yeS4gIFRoaXMKCSAgcmVtb3ZlcyBhIGNhbGwgdG8gY21UYXJnZXQ6OkdldERpcmVjdG9yeSBmcm9tCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW97Niw3fUdlbmVyYXRvciBmb3Igc3VjaCB0YXJnZXRzLgoKMjAwOS0wNy0wMyAxMDozMyAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IFNUWUxFOiBSZXBsYWNlIGxhcmdlIGlmKCkgd2l0aAoJICBuYW1lZCBib29sZWFuCgoJICBJbiBjbUxvY2FsVmlzdWFsU3R1ZGlvezYsN31HZW5lcmF0b3IgdGhpcyByZXBsYWNlcyBhIGxhcmdlIGlmKCkKCSAgdGVzdCB3aXRoIGEgcmUtdXNhYmxlIHJlc3VsdCBzdG9yZWQgaW4gYSBib29sZWFuIHZhcmlhYmxlIG5hbWVkCgkgIGFjY29yZGluZ2x5LgoKMjAwOS0wNy0wMyAwODo0MSAga2luZwoKCSogU291cmNlLzogY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LCBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmg6IEVOSDoKCSAgQ3JlYXRlIGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3I6OkNvbmZpZ05hbWUKCgkgIFRoaXMgbWVtYmVyIHN0b3JlcyB0aGUgYnVpbGQgY29uZmlndXJhdGlvbiBmb3Igd2hpY2ggTWFrZWZpbGVzCgkgIGFyZSBiZWluZyBnZW5lcmF0ZWQuCUl0IHNhdmVzIHJlcGVhdGVkIGxvb2t1cCBvZiB0aGUgZXF1aXZhbGVudAoJICBtZW1iZXIgZnJvbSBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMywgbWFraW5nIGNvZGUgc2hvcnRlcgoJICBhbmQgbW9yZSByZWFkYWJsZS4KCjIwMDktMDctMDMgMDg6NDAgIGtpbmcKCgkqIFNvdXJjZS86IGNtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5oOiBFTkg6IENsZWFudXAgcGVyLWNvbmZpZyB0YXJnZXQKCSAgaW5zdGFsbCBnZW5lcmF0aW9uCgoJICBUaGlzIGNsZWFucyB1cCBjbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IncyBjb2RlIHRoYXQgY29tcHV0ZXMgdGhlCgkgIGJ1aWxkIHRyZWUgbG9jYXRpb24gb2YgYSB0YXJnZXQgdW5kZXIgZWFjaCBjb25maWd1cmF0aW9uLgoKMjAwOS0wNy0wMyAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA3LTAyIDE3OjM4ICBkYXZpZC5jb2xlCgoJKiBNb2R1bGVzL0V4dGVybmFsUHJvamVjdC5jbWFrZTogQlVHOiBBbGxvdyBhcmJpdHJhcnkgdGV4dCBpbgoJICB2YWx1ZXMgZm9yIHNvbWUga2V5d29yZHMuIChBbmQgYXZvaWQgd2FybmluZyB0aGF0IHRoZSBhcmJpdHJhcnkKCSAgdGV4dCBpcyBhbiB1bmtub3duIGtleXdvcmQuKQoKMjAwOS0wNy0wMiAxNjoxMyAga2luZwoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHg6IEVOSDogUmVwb3J0cyAiUGFzc2VkIiBmb3IKCSAgV0lMTF9GQUlMIHRlc3RzCgoJICBQcmV2aW91c2x5IHRlc3RzIG1hcmtlZCB3aXRoIFdJTExfRkFJTCBoYXZlIGJlZW4gcmVwb3J0ZWQgYnkKCSAgQ1Rlc3QgYXMKCgkgICAgLi4uLi4uLi4uLi4uLi4uKioqRmFpbGVkICAtIHN1cHBvc2VkIHRvIGZhaWwKCgkgIHdoZW4gdGhleSBjb3JyZWN0bHkgZmFpbGVkLiAgTm93IHdlIGp1c3QgcmVwb3J0ICIuLi4uLlBhc3NlZCIKCSAgYmVjYXVzZSB0aGVyZSBpcyBubyByZWFzb24gdG8gZHJhdyBhdHRlbnRpb24gdG8gc29tZXRoaW5nIHRoYXQKCSAgd29ya3MgYXMgZXhwZWN0ZWQuCgoyMDA5LTA3LTAyIDE0OjE0ICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5oOgoJICBCVUc6IERvIG5vdCBnZW5lcmF0ZSAiZ2xvYmFsIiBYY29kZSBjb25maWcKCgkgIFhjb2RlIDIuMCBhbmQgYmVsb3cgc3VwcG9ydGVkIG9ubHkgb25lIGNvbmZpZ3VyYXRpb24sIGJ1dCAyLjEgYW5kCgkgIGFib3ZlIHN1cHBvcnQgbXVsdGlwbGUgY29uZmlndXJhdGlvbnMuICBJbiBwcm9qZWN0cyBmb3IgdGhlCgkgIGxhdHRlciB2ZXJzaW9uIHdlIGhhdmUgYmVlbiBnZW5lcmF0aW5nIGEgImdsb2JhbCIgc2V0IG9mCgkgIGJ1aWxkU2V0dGluZ3MgZm9yIGVhY2ggdGFyZ2V0IGluIGFkZGl0aW9uIHRvIHRoZQoJICBwZXItY29uZmlndXJhdGlvbiBzZXR0aW5ncy4gIFRoZXNlIGdsb2JhbCBzZXR0aW5ncyBhcmUgbm90IHVzZWQKCSAgYnkgWGNvZGUgMi4xIGFuZCBhYm92ZSwgc28gd2Ugc2hvdWxkIG5vdCBnZW5lcmF0ZSB0aGVtLgoKMjAwOS0wNy0wMiAxNDoxMyAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuaDoKCSAgRU5IOiBTaW1wbGlmeSBYY29kZSBDcmVhdGVCdWlsZFNldHRpbmdzIG1ldGhvZAoKCSAgVGhlIGNtR2xvYmFsWENvZGVHZW5lcmF0b3I6OkNyZWF0ZUJ1aWxkU2V0dGluZ3MgaGFkIHRoZSB0aHJlZQoJICBhcmd1bWVudHMgcHJvZHVjdE5hbWUsIHByb2R1Y3RUeXBlLCBhbmQgZmlsZVR5cGUgdGhhdCByZXR1cm5lZAoJICBpbmZvcm1hdGlvbiB1c2VkIGJ5IG9ubHkgb25lIG9mIHRoZSBjYWxsIHNpdGVzLiAgVGhpcyBjaGFuZ2UKCSAgcmVmYWN0b3JzIHRoYXQgaW5mb3JtYXRpb24gaW50byBzZXBhcmF0ZSBtZXRob2RzIG5hbWVkCgkgIGFjY29yZGluZ2x5LgoKMjAwOS0wNy0wMiAxNDoxMyAga2luZwoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBFTkg6IFVzZSBsb2dpY2FsIHRhcmdldCBuYW1lcwoJICBpbiBYY29kZSBwcm9qZWN0cwoKCSAgUHJldmlvdXNseSB3ZSBuYW1lZCBYY29kZSB0YXJnZXRzIHVzaW5nIHRoZSBvdXRwdXQgZmlsZSBuYW1lIGZyb20KCSAgb25lIG9mIHRoZSBjb25maWd1cmF0aW9ucy4gIFRoaXMgaXMgbm90IHZlcnkgZnJpZW5kbHksIGVzcGVjaWFsbHkKCSAgYmVjYXVzZSBpdCBjaGFuZ2VzIHdpdGggQ01BS0VfQlVJTERfVFlQRS4gIEluc3RlYWQgd2Ugc2hvdWxkIHVzZQoJICB0aGUgb3JpZ2luYWwgbG9naWNhbCB0YXJnZXQgbmFtZXMgZm9yIHRoZSBYY29kZSB0YXJnZXQgbmFtZXMuCgkgIFRoaXMgaXMgYWxzbyBjb25zaXN0ZW50IHdpdGggdGhlIHdheSB0aGUgb3RoZXIgSURFIGdlbmVyYXRvcnMKCSAgd29yay4KCjIwMDktMDctMDIgMTM6MTcgIGRhdmlkLmNvbGUKCgkqIE1vZHVsZXMvRXh0ZXJuYWxQcm9qZWN0LmNtYWtlOiBCVUc6IGNtZF9zZXQgbG9naWMgd2FzIG1pc3NpbmcKCSAgZnJvbSB1cGRhdGUgYW5kIHBhdGNoIHN0ZXBzLiBGaXggaXQgc28gdGhhdCBVUERBVEVfQ09NTUFORCAiIgoJICBtZWFucyAibm8gdXBkYXRlIHN0ZXAgZXZlbiB0aG91Z2ggdGhpcyBpcyBhIENWUy9TVk4KCSAgcmVwb3NpdG9yeS4uLiIKCjIwMDktMDctMDIgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNy0wMSAxNDoyOSAga2luZwoKCSogVGVzdHMvQ01ha2VMaXN0cy50eHQ6IEJVRzogU2tpcCBDVGVzdC5VcGRhdGUqIGZvciBjeWd3aW4gdG9vbHMgb24KCSAgV2luZG93cwoKCSAgVGhlc2UgdGVzdHMgY2Fubm90IHJ1biB3aXRoIGN5Z3dpbiB0b29scyB1bmxlc3MgdGVzdGluZyBjeWd3aW4KCSAgQ1Rlc3QuICBUaGUgdmVyc2lvbiBjb250cm9sIHRvb2xzIGRvIG5vdCB1bmRlcnN0YW5kIGFsbCBXaW5kb3dzCgkgIHBhdGhzLgoKMjAwOS0wNy0wMSAxMzo0OCAgZGF2aWQuY29sZQoKCSogVGVzdHMvRXh0ZXJuYWxQcm9qZWN0L0NNYWtlTGlzdHMudHh0OiBCVUc6IEV4Y2x1ZGUgc3ZuIHBvcnRpb25zCgkgIG9mIEV4dGVybmFsUHJvamVjdCB0ZXN0IHdoZW46IHN2biBjbGllbnQgdmVyc2lvbiBpcyBsZXNzIHRoYW4gMS4yCgkgIG9yIGN5Z3dpbi9ub24tY3lnd2luIG1pc21hdGNoIGRldGVjdGVkIC0tIGF2b2lkcyBFeHRlcm5hbFByb2plY3QKCSAgdGVzdCBmYWlsdXJlcyBvbiBkYXNoNSBhbmQgZGFzaDIyLWN5Z3dpbi4gQWxzbywgbm9uLWNvZGUgY2hhbmdlOgoJICBhbGxvdyBjdnNsb2NrIHRocm91Z2ggV2luZG93cyBmaXJld2FsbCB0byBwcmV2ZW50IEV4dGVybmFsUHJvamVjdAoJICB0ZXN0IGZhaWx1cmUgb24gZGFzaDF2aXN0YTMyLgoKMjAwOS0wNy0wMSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA2LTMwIDA5OjEwICBraW5nCgoJKiBTb3VyY2UvY21WUzEwQ0xGbGFnVGFibGUuaDogU1RZTEU6IEZpeCBsaW5lLXRvby1sb25nIHN0eWxlCgkgIHZpb2xhdGlvbi4KCjIwMDktMDYtMzAgMDk6MDUgIGtpbmcKCgkqIFNvdXJjZS9jbURvY3VtZW50VmFyaWFibGVzLmN4eDogQlVHOiBGaXggZG9jdW1lbnRhdGlvbiBvZgoJICBDTUFLRV9DRkdfSU5URElSCgoJICBUaGUgZG9jdW1lbnRhdGlvbiBvZiB0aGlzIHZhcmlhYmxlIHdhcyBvdXQtZGF0ZWQgYW5kIG1pc2xlYWRpbmcuCgkgIFNlZSBpc3N1ZSAjOTIxOS4KCjIwMDktMDYtMzAgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNi0yOSAxNDoyNyAgYWxleAoKCSogU291cmNlL2NtRXh0cmFDb2RlQmxvY2tzR2VuZXJhdG9yLmN4eDogQ09NUDogZG9uJ3QgdXNlCgkgIHZlY3Rvcjo6YXQoKSwgdGhpcyBkb2Vzbid0IHNlZW0gdG8gZXhpc3QgZXZlcnlod2VyZQoJICAoaHR0cDovL3d3dy5jZGFzaC5vcmcvQ0Rhc2gvdmlld0J1aWxkRXJyb3IucGhwP2J1aWxkaWQ9MzY2Mzc1KQoKCSAgQWxleAoKMjAwOS0wNi0yOSAxMzowMiAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxYQ29kZTIxR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuaDogRU5IOgoJICBHZW5lcmF0ZSBuYXRpdmUgWGNvZGUgMy4wIGFuZCAzLjEgcHJvamVjdHMKCgkgIENNYWtlIHByZXZpb3VzbHkgZ2VuZXJhdGVkIFhjb2RlIHByb2plY3QgZmlsZXMgbGFiZWxlZCBhcwoJICAyLjQtY29tcGF0aWJsZSBieSByZWNlbnQgdmVyc2lvbnMgb2YgWGNvZGUgKDMuMCBhbmQgMy4xKS4gIEl0IGlzCgkgIGJldHRlciB0byBnZW5lcmF0ZSBuYXRpdmUgWGNvZGUgMy4wIGFuZCAzLjEgcHJvamVjdHMuICBJbgoJICBwYXJ0aWN1bGFyLCB0aGlzIGNhbiBpbXByb3ZlIGJ1aWxkIHRpbWVzIGJ5IHVzaW5nIHRoZSAiQnVpbGQKCSAgaW5kZXBlbmRlbnQgdGFyZ2V0cyBpbiBwYXJhbGxlbCIgZmVhdHVyZS4KCgkgIFBhdGNoIGZyb20gRG91ZyBHcmVnb3IuICBTZWUgaXNzdWUgIzkyMTYuCgoyMDA5LTA2LTI5IDEwOjQ2ICBkYXZpZC5jb2xlCgoJKiBUZXN0cy9FeHRlcm5hbFByb2plY3QvQ01ha2VMaXN0cy50eHQ6IEJVRzogQXZvaWQgcnVubmluZyB0aGUgY3ZzCgkgIHBvcnRpb25zIG9mIHRoZSBFeHRlcm5hbFByb2plY3QgdGVzdCBvbiBub24tY3lnd2luIGJ1aWxkcyB0aGF0CgkgIGFyZSB1c2luZyBjeWd3aW4gY3ZzLmV4ZS4KCjIwMDktMDYtMjkgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNi0yOCAwOTo0NiAgaG9mZm1hbgoKCSogU291cmNlL2NtVmlzdWFsU3R1ZGlvMTBUYXJnZXRHZW5lcmF0b3IuaDogRU5IOiBhZGQgcmVzdCBvZiBsaWIKCSAgY2hlY2sKCjIwMDktMDYtMjggMDg6NTkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVZpc3VhbFN0dWRpbzEwVGFyZ2V0R2VuZXJhdG9yLmN4eDogRU5IOiBmaXggbGluZSBsZW5ndGgKCjIwMDktMDYtMjggMDg6MDYgIGFsZXgKCgkqIFNvdXJjZS9jbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmg6IFNUWUxFOiBkb2N1bWVudCAjY21ha2VkZWZpbmUwMQoJICAoc2VlICM5MTg5ICwgdGhlcmUncyBhbHNvIGEgdGVzdCBmb3IgaXQgaW4gVGVzdHMvQ29tcGxleC8gKQoKCSAgQWxleAoKMjAwOS0wNi0yOCAwODowNSAgYWxleAoKCSogU291cmNlL2NtRG9jdW1lbnRhdGlvbkZvcm1hdHRlclRleHQuY3h4OiBTVFlMRTogZG9uJ3QgcHJpbnQgdGhlCgkgIHNlY3Rpb24gbmFtZSAiU2luZ2xlSXRlbSIgaWYgdGhlIGRvY3VtZW50YXRpb24gZm9yIGp1c3QgYSBzaW5nbGUKCSAgaXRlbSBpcyBwcmludGVkCgoJICBBbGV4CgoyMDA5LTA2LTI4IDA1OjU5ICBhbGV4CgoJKiBNb2R1bGVzL0NNYWtlRmluZEVjbGlwc2VDRFQ0LmNtYWtlOiBCVUc6IHJlY29nbml6ZSBzeXN0ZW0gaW5jbHVkZQoJICBwYXRocyBhbHNvIHdoZW4gdGhlIGxhbmd1YWdlcyBhcmUgc2V0IHRvIHNvbWV0aGluZyBkaWZmZXJlbnQgZnJvbQoJICAiQyIsIGJ5IHJlc2V0dGluZyB0aGVtIHRvICJDIiAoIzkxMjIpCgoJICBBbGV4CgoyMDA5LTA2LTI4IDA0OjU4ICBhbGV4CgoJKiBTb3VyY2UvY21FeHRyYUNvZGVCbG9ja3NHZW5lcmF0b3IuY3h4OiBFTkg6IGNyZWF0ZSBhICJWaXJ0dWFsCgkgIEZvbGRlciIgaW4gQ29kZUJsb2Nrcywgd2hpY2ggY29udGFpbnMgYWxsIHRoZSBjbWFrZSBmaWxlcyBvZiB0aGUKCSAgcHJvamVjdCwgaS5lLiB0aGVyZSBpcyBub3cgYSAiQ01ha2UgRmlsZXMiIGZvbGRlciBhZGRpdGlvbmFsbHkgdG8KCSAgdGhlICJTb3VyY2VzIiwgIkhlYWRlcnMiIGFuZCAiT3RoZXJzIiBmb2xkZXJzIHdoaWNoIGFscmVhZHkKCSAgZXhpc3RlZC4gIFBhdGNoIGJ5IERhbmllbCBUZXNrZS4KCgkgIEFsZXgKCjIwMDktMDYtMjggMDQ6MzAgIGFsZXgKCgkqIFNvdXJjZS9jbUV4dHJhQ29kZUJsb2Nrc0dlbmVyYXRvci5jeHg6IEVOSDogYWxzbyBzdXBwb3J0IG5tYWtlCgkgIGFuZCBtc3ZjIGZvciB1c2Ugd2l0aCBDb2RlQmxvY2tzIHVuZGVyIFdpbmRvd3MsIHBhdGNoIGJ5IERhbmllbAoJICBUZXNrZQoKCSAgQWxleAoKMjAwOS0wNi0yOCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA2LTI3IDExOjE3ICBhbGV4CgoJKiBTb3VyY2UvY21Eb2N1bWVudFZhcmlhYmxlcy5jeHg6IFNUWUxFOiBkb2N1bWVudAoJICBDTUFLRV9TS0lQX0lOU1RBTExfQUxMX0RFUEVOREVOQ1kgdmFyaWFibGUKCgkgIEFsZXgKCjIwMDktMDYtMjcgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNi0yNiAxMzowMCAgZGF2aWQuY29sZQoKCSogVGVzdHMvRXh0ZXJuYWxQcm9qZWN0LzogQ01ha2VMaXN0cy50eHQsIHN2bnJlcG8udGd6OiBCVUc6CgkgIERvd25ncmFkZSBzdm4gcmVwb3NpdG9yeSB0byBiZSBjcmVhdGVkIHdpdGggYW4gc3ZuIDEuMgoJICBpbnN0YWxsYXRpb24gKHJhdGhlciB0aGFuIDEuNCkgc28gdGhhdCBpdCB3b3JrcyAoaG9wZWZ1bGx5KSB3aXRoCgkgIG1vcmUgc3ZuIGNsaWVudHMgaW4gdGhlIHdpbGQuIENoYW5nZSB0aW1lIHN0YW1wcyBvZiB0ZXN0IHByb2plY3RzCgkgIGluIENNYWtlTGlzdHMudHh0IHRvIHJlZmxlY3QgdGltZXMgYXZhaWxhYmxlIGluIG5ld2x5IGNyZWF0ZWQKCSAgcmVwb3NpdG9yeS4gQWRkIFVQREFURV9DT01NQU5EICIiIGZvciBjaGVja291dHMgdGhhdCBhcmUKCSAgdGFnLWJhc2VkIG9yIGRhdGUtc3RhbXAtYmFzZWQgdG8gYXZvaWQgdW5uZWNlc3NhcnkgdXBkYXRlIHN0ZXBzLgoKMjAwOS0wNi0yNiAxMTo1MCAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxWaXN1YWxTdHVkaW8xMEdlbmVyYXRvci5oLCBjbVZTMTBDTEZsYWdUYWJsZS5oLAoJICBjbVZTMTBMaWJGbGFnVGFibGUuaCwgY21WUzEwTGlua0ZsYWdUYWJsZS5oLAoJICBjbVZpc3VhbFN0dWRpbzEwVGFyZ2V0R2VuZXJhdG9yLmN4eCwgY21wYXJzZU1TQnVpbGRYTUwucHk6IEVOSDoKCSAgZml4IGxpbmUgbGVuZ3RoIGlzc3VlcwoKMjAwOS0wNi0yNiAxMTozMiAgZGF2aWQuY29sZQoKCSogVGVzdHMvRXh0ZXJuYWxQcm9qZWN0L0NNYWtlTGlzdHMudHh0OiBFTkg6IERvIG5vdCB1bnppcCB0aGUgbG9jYWwKCSAgcmVwb3NpdG9yaWVzIHVubGVzcyBDVlMgYW5kIFNWTiBleGVjdXRhYmxlcyBhcmUgYXZhaWxhYmxlLiBBZGQKCSAgJ2NvbmZpZ3VyZScgc3RlcCB0byB0aGUgcmVwb3NpdG9yeSBleHRyYWN0aW9uICdwcm9qZWN0cycgdG8gcHJpbnQKCSAgdGhlIHZlcnNpb24gbnVtYmVyIG9mIENWUyBhbmQgU1ZOIGluIHRoZSBkYXNoYm9hcmQgdGVzdC9idWlsZAoJICBvdXRwdXQuCgoyMDA5LTA2LTI2IDEwOjE4ICBob2ZmbWFuCgoJKiBDTWFrZUNQYWNrT3B0aW9ucy5jbWFrZS5pbiwKCSAgU291cmNlL1F0RGlhbG9nL1F0RGlhbG9nQ1BhY2suY21ha2UuaW46IEVOSDogZG8gbm90IGNyZWF0ZSBhCgkgIGRlc2t0b3AgbGluayBmb3IgQ01ha2VTZXR1cAoKMjAwOS0wNi0yNiAxMDowMCAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL0tXU3R5bGUvQ01ha2Uua3dzLnhtbC5pbjogRU5IOiA4MCBpcyBmaW5lLCBpIGd1ZXNzIG5vdAoKMjAwOS0wNi0yNiAwOTo1OSAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL0tXU3R5bGUvQ01ha2Uua3dzLnhtbC5pbjogRU5IOiA4MCBpcyBmaW5lCgoyMDA5LTA2LTI2IDA5OjU1ICBkYXZpZC5jb2xlCgoJKiBUZXN0cy9FeHRlcm5hbFByb2plY3QvQ01ha2VMaXN0cy50eHQ6IEVOSDogUmV2aXNlIHRoZQoJICBFeHRlcm5hbFByb2plY3QgdGVzdCB0byB1c2UgbG9jYWwgQ1ZTIGFuZCBTVk4gcmVwb3NpdG9yaWVzIHRvCgkgIGF2b2lkIG5ldHdvcmsgYWN0aXZpdHkuIEFsc286IHN0b3AgYnVpbGRpbmcgS1dTdHlsZSBhbmQga3dzeXMgYXMKCSAgcGFydCBvZiB0aGlzIHRlc3QgdG8gcmVkdWNlIHRoZSBhbW91bnQgb2YgdGltZSBzcGVudCBydW5uaW5nIHRoZQoJICB0ZXN0LiBJbnN0ZWFkLCBidWlsZCBUdXRvcmlhbFN0ZXAxIGFzIHJldHJpZXZlZCBmcm9tIHRoZSBuZXcKCSAgbG9jYWwgcmVwb3NpdG9yaWVzIHdpdGggdmFyaW91cyB0YWdzLCBkYXRlIHN0YW1wcyBhbmQgcmV2aXNpb24KCSAgbnVtYmVycy4KCjIwMDktMDYtMjYgMDA6MDcgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVZpc3VhbFN0dWRpbzEwVGFyZ2V0R2VuZXJhdG9yLmN4eDogRU5IOiByZW1vdmUgZGVidWcKCSAgcHJpbnQKCjIwMDktMDYtMjYgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNi0yNSAyMjo1MyAgaG9mZm1hbgoKCSogU291cmNlLzogY21WaXN1YWxTdHVkaW8xMFRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtVmlzdWFsU3R1ZGlvMTBUYXJnZXRHZW5lcmF0b3IuaDogRU5IOiBhZGQgb2JqIGZpbGUgc3VwcG9ydCBhbmQKCSAgcmVtb3ZlIGEgd2FybmluZwoKMjAwOS0wNi0yNSAxNjo0MSAgaG9mZm1hbgoKCSogQ29tcGlsZUZsYWdzLmNtYWtlLCBNb2R1bGVzL0NNYWtlVlMxMEZpbmRNYWtlLmNtYWtlLAoJICBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzEwR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvMTBHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21MaXN0RmlsZUxleGVyLmMsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvMTBHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzEwR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5oLCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbVZTMTBDTEZsYWdUYWJsZS5oLCBTb3VyY2UvY21WUzEwTGliRmxhZ1RhYmxlLmgsCgkgIFNvdXJjZS9jbVZTMTBMaW5rRmxhZ1RhYmxlLmgsCgkgIFNvdXJjZS9jbVZpc3VhbFN0dWRpbzEwVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtVmlzdWFsU3R1ZGlvMTBUYXJnZXRHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtVmlzdWFsU3R1ZGlvR2VuZXJhdG9yT3B0aW9ucy5jeHgsCgkgIFNvdXJjZS9jbVZpc3VhbFN0dWRpb0dlbmVyYXRvck9wdGlvbnMuaCwgU291cmNlL2NtYWtlLmN4eCwKCSAgU291cmNlL2NtcGFyc2VNU0J1aWxkWE1MLnB5LCBTb3VyY2Uva3dzeXMvUHJvY2Vzc1dpbjMyLmM6IEVOSDoKCSAgZmlyc3QgcGFzcyBhdCBWUyAxMCwgY2FuIGJvb3RzdHJhcCBDTWFrZSwgYnV0IG1hbnkgdGVzdHMgc3RpbGwKCSAgZmFpbAoKMjAwOS0wNi0yNSAxNjozOSAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eDogRU5IOiBhZGQgcmVtaW5kZXIgY29tbWVudAoKMjAwOS0wNi0yNSAxNjozOCAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXRIYW5kbGVyLmN4eDogRU5IOiBzZXQgYW4gdXBsb2FkIHNwZWVkCgkgIGxpbWl0IGZvciBjdGVzdAoKMjAwOS0wNi0yNSAxMjowMyAgZGF2aWQuY29sZQoKCSogVGVzdHMvRXh0ZXJuYWxQcm9qZWN0LzogY3ZzcmVwby50Z3osIHN2bnJlcG8udGd6OiBFTkg6IEFkZCAqLnRnegoJICBmaWxlcyBvZiBjdnMgYW5kIHN2biByZXBvc2l0b3JpZXMgY29udGFpbmluZyB0aGUgVHV0b3JpYWxTdGVwMQoJICBwcm9qZWN0IHRvIHRlc3QgY3ZzIGFuZCBzdm4gY2FwYWJpbGl0aWVzIG9mIEV4dGVybmFsUHJvamVjdAoJICB3aXRob3V0IHJlcXVpcmluZyBuZXR3b3JrIGFjdGl2aXR5LgoKMjAwOS0wNi0yNSAxMDo1MSAga2luZwoKCSogVGVzdHMvQ01ha2VMaXN0cy50eHQ6IEJVRzogRml4IENUZXN0LlVwZGF0ZUJaUiB0ZXN0cyB0byBydW4gaW4KCSAgcGFyYWxsZWwKCgkgIFRoZSBVcGRhdGVCWlIgYW5kIFVwZGF0ZUJaUi5DTG9jYWxlIHRlc3RzIHNob3VsZCBydW4gaW4gZGlmZmVyZW50CgkgIGRpcmVjdG9yaWVzIHNvIHRoYXQgdGhleSBjYW4gYmUgZXhlY3V0ZWQgaW4gcGFyYWxsZWwuCgoyMDA5LTA2LTI1IDA5OjU4ICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLCBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5oOiBFTkg6IENsZWFudXAgbWFrZSBwcm9ncmVzcyBydWxlCgkgIGdlbmVyYXRpb24gY29kZQoKCSAgVGhpcyBjbGVhbnMgdXAgdGhlIE1ha2VmaWxlIGdlbmVyYXRvcidzIHByb2dyZXNzIHJ1bGUgY29kZS4KCSAgSW5zdGVhZCBvZiBrZWVwaW5nIGV2ZXJ5IGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IgaW5zdGFuY2UgYWxpdmUKCSAgdG8gZ2VuZXJhdGUgcHJvZ3Jlc3MsIHdlIGtlZXAgb25seSB0aGUgaW5mb3JtYXRpb24gbmVjZXNzYXJ5IGluIGEKCSAgc2luZ2xlIHRhYmxlLiAgVGhpcyBhcHByb2FjaCBrZWVwcyBtb3N0IG9mIHRoZSBjb2RlIGluCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMywgdGh1cyBzaW1wbGlmeWluZyBpdHMgcHVibGljCgkgIGludGVyZmFjZS4KCjIwMDktMDYtMjUgMDk6NDMgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IFNUWUxFOiBSZW1vdmUgdW51c2VkCgkgIHZhcmlhYmxlCgoyMDA5LTA2LTI1IDA4OjQ1ICBraW5nCgoJKiBNb2R1bGVzLzogQ01ha2VEZXRlcm1pbmVGb3J0cmFuQ29tcGlsZXIuY21ha2UsCgkgIENNYWtlRm9ydHJhbkNvbXBpbGVySWQuRi5pbiwgQ01ha2VGb3J0cmFuQ29tcGlsZXJJZC5GOTAuaW46IEVOSDoKCSAgSWRlbnRpZnkgRm9ydHJhbiBjb21waWxlcnMgd2l0aCBmaXhlZCBmb3JtYXQKCgkgIFRoaXMgZW5oYW5jZXMgdGhlIEZvcnRyYW4gY29tcGlsZXIgaWQgZGV0ZWN0aW9uIGJ5IHVzaW5nIGEgc291cmNlCgkgIHRoYXQgY2FuIGNvbXBpbGUgZWl0aGVyIGFzIGZyZWUgb3IgZml4ZWQgZm9ybWF0LiAgQXMgbG9uZyBhcyB0aGUKCSAgY29tcGlsZXIga25vd3MgaXQgc2hvdWxkIHByZXByb2Nlc3MgdGhlIHNvdXJjZSBmaWxlICguRikgdGhlCgkgIGlkZW50aWZpY2F0aW9uIGNhbiB3b3JrLiAgRXZlbiBmcmVlLWZvcm1hdCBjb21waWxlcnMgbWF5IHRyeQoJICBmaXhlZC1mb3JtYXQgcGFyc2luZyBpZiB0aGUgdXNlciBzcGVjaWZpZXMgY2VydGFpbiBmbGFncywgc28gd2UKCSAgbXVzdCBzdXBwb3J0IGJvdGguCgoyMDA5LTA2LTI1IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDYtMjQgMTY6NTAgIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy9DTWFrZVNldHVwRGlhbG9nLmN4eDoKCSAgRU5IOglTYXZlL3Jlc3RvcmUgc3BsaXR0ZXIgc2l6ZXMuICBGaXhlcyAjOTA3MC4KCjIwMDktMDYtMjQgMTU6MDkgIGtpbmcKCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmg6IEVOSDogUmVtb3ZlIHVudXNlZAoJICBjbVN5c3RlbVRvb2xzOjpSZW1vdmVFc2NhcGVzCgoJICBUaGUgUmVtb3ZlRXNjYXBlcyBtZXRob2QgaXMgbm8gbG9uZ2VyIHVzZWQgYW55d2hlcmUuCUFsbCB1c2VzIG9mCgkgIGl0IGhhdmUgYmVlbiByZXBsYWNlZCBieSBhIHJlYWwgbGV4ZXIuICBXZSBjYW4gcmVtb3ZlIHRoZSBtZXRob2QuCgoyMDA5LTA2LTI0IDE1OjAzICBraW5nCgoJKiBNb2R1bGVzL0V4dGVybmFsUHJvamVjdC5jbWFrZSwKCSAgVGVzdHMvRXh0ZXJuYWxQcm9qZWN0L0NNYWtlTGlzdHMudHh0OiBFTkg6IE5ldwoJICBFeHRlcm5hbFByb2plY3QuY21ha2UgbW9kdWxlIGludGVyZmFjZQoKCSAgVGhpcyBjcmVhdGVzIG5ldyBtb2R1bGUgRXh0ZXJuYWxQcm9qZWN0LmNtYWtlIHRvIHJlcGxhY2UgdGhlCgkgIHByb3RvdHlwZSBBZGRFeHRlcm5hbFByb2plY3QuY21ha2UgbW9kdWxlLiAgVGhlIGludGVyZmFjZSBpcyBtb3JlCgkgIHJlZmluZWQsIG1vcmUgZmxleGlibGUsIGFuZCBiZXR0ZXIgZG9jdW1lbnRlZCB0aGFuIHRoZSBwcm90b3R5cGUuCgoJICBUaGlzIGFsc28gY29udmVydHMgdGhlIEV4dGVybmFsUHJvamVjdCB0ZXN0IHRvIHVzZSB0aGUgbmV3CgkgIG1vZHVsZS4gIFRoZSBvbGQgbW9kdWxlIHdpbGwgYmUgcmVtb3ZlZCAoaXQgd2FzIG5ldmVyIGluIGEgQ01ha2UKCSAgcmVsZWFzZSkgYWZ0ZXIgcHJvamVjdHMgdXNpbmcgaXQgaGF2ZSBiZWVuIGNvbnZlcnRlZCB0byB0aGUgbmV3CgkgIG1vZHVsZS4KCjIwMDktMDYtMjQgMTQ6NDggIGtpbmcKCgkqIFRlc3RzL0NNYWtlTGlzdHMudHh0OiBCVUc6IEV4dGVuZCB0aW1lb3V0IG9mIEV4dGVybmFsUHJvamVjdCB0ZXN0CgoJICBUaGlzIHRlc3QgcmVxdWlyZXMgYSBsb25nIHRpbWUgb24gc2xvd2VyIG1hY2hpbmVzLCBzbyB3ZSBuZWVkIHRvCgkgIGV4dGVuZCBpdHMgdGltZW91dC4gIEl0IGlzIGFuIGltcG9ydGFudCB0ZXN0LCBzbyBpdCBkb2VzIG5vdCBmYWxsCgkgIHVuZGVyIHRoZSBDTUFLRV9SVU5fTE9OR19URVNUUyBvcHRpb24uICBJbiB0aGUgZnV0dXJlIHdlIHNob3VsZAoJICB0cnkgdG8gc2hvcnRlbiB0aGUgdGVzdCBieSBidWlsZGluZyBzaW1wbGVyIGV4dGVybmFsIHByb2plY3RzLgoKMjAwOS0wNi0yNCAxMzoyNCAga2luZwoKCSogU291cmNlL2NtVGFyZ2V0TGlua0xpYnJhcmllc0NvbW1hbmQuaDogRU5IOiBNZW50aW9uIGN5Y2xlcyBpbgoJICB0YXJnZXRfbGlua19saWJyYXJpZXMgZG9jcwoKCSAgVGhpcyBkb2N1bWVudHMgQ01ha2UncyBzdXBwb3J0IGZvciBjeWNsZXMgaW4gdGhlIGRlcGVuZGVuY3kgZ3JhcGgKCSAgb2YgU1RBVElDIGxpYnJhcmllcy4KCjIwMDktMDYtMjQgMDk6MzYgIGtpbmcKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbVNvdXJjZUZpbGUuY3h4LCBjbVRhcmdldC5jeHg6IEVOSDoKCSAgQ2xhcmlmeSBDT01QSUxFX0RFRklOSVRJT05TIHNlcGFyYXRvciBpbiBkb2NzCgoJICBUaGUgQ09NUElMRV9ERUZJTklUSU9OUyBwcm9wZXJ0aWVzIGFyZSBzZW1pY29sb24tc2VwYXJhdGVkIGxpc3RzLgoJICAgTWFrZSB0aGlzIGNsZWFyIGluIHRoZSBkb2N1bWVudGF0aW9uLiAgU2VlIGlzc3VlICM5MTk5LgoKMjAwOS0wNi0yNCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA2LTIzIDE2OjQwICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRCb29zdC5jbWFrZTogRU5IOiBib29zdCBsaWIgaXMgb2Z0ZW4gZm91bmQgdW5kZXIgdGhlCgkgIGJvb3N0IGluY2x1ZGUgZGlyCgoyMDA5LTA2LTIzIDE2OjMxICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRCb29zdC5jbWFrZTogRU5IOiBhZGQgYWRkaXRpb25hbCBwbGFjZSB0byBsb29rIGZvcgoJICBib29zdCBzbyBpdCB3b3JrcyBvdXQgb2YgdGhlIGJveCBvbiB3aW5kb3dzCgoyMDA5LTA2LTIzIDEyOjU4ICBtYXJ0aW5rCgoJKiBUZXN0cy9UdXRvcmlhbC86IFN0ZXA1L01hdGhGdW5jdGlvbnMvTWFrZVRhYmxlLmN4eCwKCSAgU3RlcDYvTWF0aEZ1bmN0aW9ucy9NYWtlVGFibGUuY3h4LAoJICBTdGVwNy9NYXRoRnVuY3Rpb25zL01ha2VUYWJsZS5jeHg6IEVOSDogZml4IHNwZWxsaW5nIG1pc3Rha2UKCjIwMDktMDYtMjMgMDk6MDYgIGtpbmcKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0Q1ZTLmN4eDogQlVHOiBGaXggQ1ZTIHVwZGF0ZSBwYXJzaW5nIGZvcgoJICBUb3J0b2lzZUNWUwoKCSAgVGhlIFRvcnRvaXNlQ1ZTIHZlcnNpb24gb2YgY3ZzLmV4ZSBpbmNsdWRlcyB0aGUgJy5leGUnIGluIGN2cwoJICB1cGRhdGUgbWVzc2FnZXMgZm9yIGZpbGVzIHJlbW92ZWQgZnJvbSB0aGUgcmVwb3NpdG9yeS4gIFRoaXMKCSAgY2hhbmdlIGFjY291bnRzIGZvciBpdCBpbiB0aGUgcmVndWxhciBleHByZXNzaW9ucyB0aGF0IG1hdGNoIHN1Y2gKCSAgbGluZXMuICBOb3cgcmVtb3ZlZCBmaWxlcyBhcmUgcHJvcGVybHkgcmVwb3J0ZWQgYnkgY3Rlc3RfdXBkYXRlKCkKCSAgd2hlbiB1c2luZyBUb3J0b2lzZUNWUy4KCjIwMDktMDYtMjMgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNi0yMiAxNjoyNSAga2luZwoKCSogVGVzdHMvOiBDTWFrZUxpc3RzLnR4dCwgQ1Rlc3RVcGRhdGVDVlMuY21ha2UuaW46IEVOSDogQXV0by1lbmFibGUKCSAgQ1Rlc3QuVXBkYXRlQ1ZTIHRlc3Qgb24gV2luZG93cwoKCSAgVGhlIHRlc3QgbmVlZHMgdG8gY3JlYXRlIGEgY3ZzIHJlcG9zaXRvcnkgd2l0aCAnY3ZzIGluaXQnLCBidXQKCSAgdGhlIENWU05UIGNsaWVudCBvbiBXaW5kb3dzIG5lZWRzICdjdnMgaW5pdCAtbicgdG8gYXZvaWQKCSAgYWRtaW5pc3RyYXRvciBhY2Nlc3MuICBQcmV2aW91c2x5IHdlIHJlcXVpcmVkIHVzZXJzIHRvIGV4cGxpY2l0bHkKCSAgZW5hYmxlIENURVNUX1RFU1RfVVBEQVRFX0NWUyB0byBhY3RpdmF0ZSB0aGUgdGVzdCBvbiBXaW5kb3dzLgoKCSAgVGhpcyB0ZWFjaGVzIHRoZSB0ZXN0IHRvIHVzZSB0aGUgJy1uJyBvcHRpb24gd2hlbiBuZWNlc3NhcnkuCU5vdwoJICB3ZSBjYW4gZW5hYmxlIHRoZSB0ZXN0IGluIGFsbCBjYXNlcyBleGNlcHQgd2hlbiB0cnlpbmcgdG8gdXNlIGEKCSAgY3lnd2luIGN2cy5leGUgd2l0aG91dCBjeWd3aW4gcGF0aHMuCgoyMDA5LTA2LTIyIDE0OjE5ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvQ29uZmlndXJlLmguaW46IENPTVA6IFF1aWV0IGFnZ3Jlc3NpdmUgQm9ybGFuZAoJICB3YXJuaW5ncyBpbiBLV1N5cwoKCSAgVGhpcyBkaXNhYmxlcyBCb3JsYW5kIHdhcm5pbmcgODAyNyB3aGlsZSBjb21waWxpbmcgS1dTeXMgc291cmNlCgkgIGZpbGVzLiAgSXQgcHJvdmlkZXMgbm8gdXNlZnVsIGluZm9ybWF0aW9uLgoKMjAwOS0wNi0yMiAxNDoxOSAga2luZwoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQ09NUDogUmVtb3ZlIHVzZWxlc3MgdmFyaWFibGUKCSAgYXNzaWdubWVudAoKCSAgVGhpcyByZW1vdmVzIGFuIGFzc2lnbm1lbnQgd2hvc2UgcmVzdWx0IGlzIG5ldmVyIHVzZWQsIHRodXMKCSAgcXVpZXRpbmcgYSB3YXJuaW5nIGZyb20gQm9ybGFuZC4KCjIwMDktMDYtMjIgMTA6MDIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VUZXN0Q0NvbXBpbGVyLmNtYWtlOiBCVUc6IHJlbW92ZSB3YXJuaW5nIGluIHRlc3Qgb2YKCSAgY29tcGlsZXIgc28gLVdlcnJvciBkb2VzIG5vdCBmYWlsCgoyMDA5LTA2LTIyIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDYtMjEgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNi0yMCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA2LTE5IDE3OjA5ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0hQLVVYLmNtYWtlOiBCVUc6IExvb2sgaW4gYXJjaC1zcGVjaWZpYyBIUFVYCgkgIGltcGxpY2l0IGxpbmsgZGlycwoKCSAgT24gSFAtVVggbWFjaGluZXMgc29tZSBzeXN0ZW0gbGlicmFyaWVzIGFwcGVhciBpbgoJICBhcmNoaXRlY3R1cmUtc3BlY2lmaWMgaW1wbGljaXQgbGlua2VyIHNlYXJjaCBwYXRocy4gIFdlIG5lZWQgdG8KCSAgYWRkIHRoZXNlIHBhdGhzIHRvIG91ciBzeXN0ZW0gbGlicmFyeSBzZWFyY2ggcGF0aC4gIEhvd2V2ZXIsIGF0CgkgIHRoZSB0aW1lIHdlIGNvbnN0cnVjdCB0aGUgc2VhcmNoIHBhdGggd2UgZG8gbm90IGtub3cgdGhlIHRhcmdldAoJICBhcmNoaXRlY3R1cmUuCgoJICBBIGZ1bGwgc29sdXRpb24gcmVxdWlyZXMgcmUtb3JnYW5pemluZyBwbGF0Zm9ybSBjb25maWd1cmF0aW9uCgkgIGZpbGVzIHNvIHRoYXQgdGhlIHRhcmdldCBhcmNoaXRlY3R1cmUgY2FuIGJlIGtub3duIHdoZW4gbmVlZGVkLgoJICBVbnRpbCB0aGF0IGhhcHBlbnMgd2UgY2FuIGF2b2lkIHRoZSBwcm9ibGVtIGJ5IHNlYXJjaGluZyBpbiBib3RoCgkgIDMyLWJpdCBhbmQgNjQtYml0IGltcGxpY2l0IGxpbmsgZGlyZWN0b3JpZXMuCUJ5IHRlbGxpbmcgQ01ha2UKCSAgdGhhdCB0aGV5IGFyZSBpbXBsaWNpdCBkaXJlY3RvcmllcyB0aGUgZ2VuZXJhdGVkIGxpbmsgbGluZXMgd2lsbAoJICBuZXZlciBwYXNzIHRoZSBwYXRocywgbGVhdmluZyB0aGUgbGlua2VyIGZyZWUgdG8gZmluZCB0aGUgbGlicmFyeQoJICBvZiB0aGUgcHJvcGVyIGFyY2hpdGVjdHVyZSBldmVuIGlmIHRoZSBmaW5kX2xpYnJhcnkgY2FsbCBmaW5kcwoJICB0aGUgd3Jvbmcgb25lLgoKMjAwOS0wNi0xOSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA2LTE4IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDYtMTcgMTQ6MTggIGtpbmcKCgkqIFNvdXJjZS9jbVBvbGljaWVzLmN4eDogRU5IOiBJbXByb3ZlIENNUDAwMTIgZG9jIGFuZCBtZXNzYWdlCgkgIGZvcm1hdHRpbmcKCgkgIFRoaXMgZml4ZXMgdGhlIENNUDAwMTIgZGVzY3JpcHRpb24gdG8gaGF2ZSBhIG9uZS1saW5lIHN1bW1hcnkgaW4KCSAgdGhlICdicmllZicgc2VjdGlvbiBhbmQgdGhlIHJlc3Qgb2YgdGhlIGV4cGxhbmF0aW9uIGluIHRoZSAnZnVsbCcKCSAgc2VjdGlvbi4gIEl0IG1ha2VzIHRoZSB3YXJuaW5nIG1lc3NhZ2Ugc2hvcnRlciBhbmQgaW1wcm92ZXMKCSAgZm9ybWF0dGluZyBvZiB0aGUgcG9saWN5IGRvY3VtZW50YXRpb24sIGVzcGVjaWFsbHkgaW4gdGhlIEhUTUwKCSAgcGFnZXMuICBUaGUgY29udmVudGlvbiBpcyBhbHJlYWR5IHVzZWQgYnkgYWxsIG90aGVyIHBvbGljaWVzLgoKMjAwOS0wNi0xNyAxNDoxOCAga2luZwoKCSogU291cmNlL2NtSWZDb21tYW5kLmN4eDogRU5IOiBJbXByb3ZlIGZvcm1hdCBvZiBpZigpIGNvbW1hbmQKCSAgbWVzc2FnZXMKCgkgIEVycm9ycyBhbmQgd2FybmluZ3MgZnJvbSB0aGUgaWYoKSBjb21tYW5kIGFsd2F5cyBkaXNwbGF5IHRoZQoJICBhcmd1bWVudCBsaXN0IGdpdmVuIHRvIHRoZSBjb21tYW5kIGZvbGxvd2VkIGJ5IGFuIGV4cGxhbmF0aW9uIG9mCgkgIHRoZSBwcm9ibGVtLglUaGlzIG1vdmVzIHRoZSBhcmd1bWVudCBsaXN0IGludG8gYSBwcmUtZm9ybWF0dGVkCgkgIGJsb2NrIGFuZCBmb2xsb3dzIGl0IHdpdGggYSBwYXJhZ3JhcGgtZm9ybSBleHBsYW5hdGlvbi4gIFRoZQoJICByZXN1bHQgbG9va3MgY2xlYW5lci4KCjIwMDktMDYtMTcgMTM6NDAgIGtpbmcKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsIGNtUG9saWNpZXMuY3h4LAoJICBjbVBvbGljaWVzLmg6IEVOSDogQ3JlYXRlIENNUDAwMTMgdG8gZGlzYWxsb3cgZHVwbGljYXRlIGRpcnMKCgkgIEluIENNYWtlIDIuNi4zIGFuZCBiZWxvdyB3ZSBzaWxlbnRseSBhY2NlcHRlZCBkdXBsaWNhdGUgYnVpbGQKCSAgZGlyZWN0b3JpZXMgd2hvc2UgYnVpbGQgZmlsZXMgd291bGQgdGhlbiBjb25mbGljdC4gIEF0IGZpcnN0IHRoaXMKCSAgd2FzIGNvbnNpZHVyZWQgcHVyZWx5IGEgYnVnIHRoYXQgY29uZnVzZWQgYmVnaW5uZXJzIGJ1dCB3b3VsZCBub3QKCSAgYmUgdXNlZCBpbiBhIHJlYWwgcHJvamVjdC4gIEluIENNYWtlIDIuNi40IHdlIGV4cGxpY2l0bHkgbWFkZSBpdAoJICBhbiBlcnJvci4KCgkgIEhvd2V2ZXIsIHNvbWUgcmVhbCBwcm9qZWN0cyB0b29rIGFkdmFudGFnZSBvZiB0aGlzIGFzIGEgImZlYXR1cmUiCgkgIGFuZCBnb3QgbHVja3kgdGhhdCB0aGUgc3VidGxlIGJ1aWxkIGVycm9ycyBpdCBjYW4gY2F1c2UgZGlkIG5vdAoJICBvY2N1ci4gIFRoZXJlZm9yZSB3ZSBuZWVkIGEgcG9saWN5IHRvIGRlYWwgd2l0aCB0aGUgY2FzZSBtb3JlCgkgIGdyYWNlZnVsbHkuICBTZWUgaXNzdWUgIzkxNzMuCgoyMDA5LTA2LTE3IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDYtMTYgMTE6NTcgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHg6IEJVRzogQ3JlYXRlIGFuIGV4ZSdzCgkgIGltcGxpYiBvdXRwdXQgZGlyIGZvciBWUyA2CgoJICBWUyA2IGZvcmdldHMgdG8gY3JlYXRlIHRoZSBvdXRwdXQgZGlyZWN0b3J5IGZvciBhbiBleGVjdXRhYmxlJ3MKCSAgaW1wb3J0IGxpYnJhcnkgaW4gY2FzZSB0aGUgZXhlIGRsbGV4cG9ydC1zIHN5bWJvbHMuICBXZSB3b3JrCgkgIGFyb3VuZCB0aGlzIFZTIGJ1ZyBieSBjcmVhdGluZyBhIHByZS1saW5rIGV2ZW50IG9uIHRoZSBleGVjdXRhYmxlCgkgIHRhcmdldCB0byBtYWtlIHRoZSBkaXJlY3RvcnkuCgoyMDA5LTA2LTE2IDExOjU3ICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmg6IEVOSDogUmVmYWN0b3IgVlMgNiBidWlsZCBldmVudAoJICBnZW5lcmF0aW9uCgoJICBJbiBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvciB3ZSBnZW5lcmF0ZSBwcmUtYnVpbGQsIHByZS1saW5rLAoJICBhbmQgcG9zdC1idWlsZCBldmVudHMgaW50byBwcm9qZWN0IGZpbGVzLiAgVGhpcyByZWZhY3RvcnMgdGhlCgkgIGdlbmVyYXRpb24gY29kZSBmb3IgdGhlIHRocmVlIGV2ZW50IHR5cGVzIGludG8gYSBwcml2YXRlCgkgIEV2ZW50V3JpdGVyIGNsYXNzIHRvIGF2b2lkIGR1cGxpY2F0ZSBjb2RlLgoKMjAwOS0wNi0xNiAxMTo0NCAga2luZwoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogRU5IOiBDcmVhdGUgZXhlIGltcGxpYgoJICBkaXIgaW4gVlMgcHJlLWxpbmsgcnVsZQoKCSAgVGhpcyBtb3ZlcyBjcmVhdGlvbiBvZiBhbiBleGVjdXRhYmxlJ3MgaW1wb3J0IGxpYnJhcnkgZGlyZWN0b3J5CgkgIGluIFZTIHByb2plY3RzIGZyb20gdGhlIHByZS1idWlsZCBzdGVwIHRvIHRoZSBwcmUtbGluayBzdGVwLglJdAoJICBtYWtlcyBzZW5zZSB0byBjcmVhdGUgdGhlIGRpcmVjdG9yeSBhdCB0aGUgbGFzdCBtb21lbnQuCgoyMDA5LTA2LTE2IDExOjQ0ICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW9HZW5lcmF0b3IuY3h4LCBjbUxvY2FsVmlzdWFsU3R1ZGlvR2VuZXJhdG9yLmg6CgkgIEVOSDogR2VuZXJhbGl6ZSBleGUgaW1wbGliIGRpciBjcmVhdGlvbiBmb3IgVlMKCgkgIEluIFZTIDcsOCw5IGV4ZWN1dGFibGUgdGFyZ2V0cyB3ZSBnZW5lcmF0ZSBhIGJ1aWxkIGV2ZW50IHRvCgkgIGNyZWF0ZSB0aGUgb3V0cHV0IGRpcmVjdG9yeSBmb3IgdGhlIGltcG9ydCBsaWJyYXJ5IGluIGNhc2UgdGhlCgkgIGV4ZWN1dGFibGUgbWFya3Mgc3ltYm9scyB3aXRoIGRsbGV4cG9ydCAoVlMgZm9yZ2V0cyB0byBjcmVhdGUKCSAgdGhpcyBkaXJlY3RvcnkpLiAgVGhpcyBnZW5lcmFsaXplcyBjb21wdXRhdGlvbiBvZiB0aGUgY3VzdG9tCgkgIGNvbW1hbmQgbGluZSB0byBzdXBwb3J0IGZ1dHVyZSB1c2Ugd2l0aCBvdGhlciBWUyB2ZXJzaW9ucy4KCjIwMDktMDYtMTYgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNi0xNSAxNjoxMiAga2luZwoKCSogU291cmNlLzogY21EZWZpbmVQcm9wZXJ0eUNvbW1hbmQuY3h4LCBjbURlZmluZVByb3BlcnR5Q29tbWFuZC5oOgoJICBFTkg6IFNpbXBsaWZ5IGRvY3MgYXJncyBmb3IgZGVmaW5lX3Byb3BlcnR5CgoJICBUaGlzIHRlYWNoZXMgdGhlIGRlZmluZV9wcm9wZXJ0eSBjb21tYW5kIHNpZ25hdHVyZSB0byBhY2NlcHQKCSAgbXVsdGlwbGUgYXJndW1lbnRzIGFmdGVyIHRoZSBCUklFRl9ET0NTIGFuZCBGVUxMX0RPQ1Mga2V5d29yZHMuCgkgIFdlIGFwcGVuZCB0aGUgYXJndW1lbnRzIHRvZ2V0aGVyLCBtYWtpbmcgc3BlY2lmaWNhdGlvbiBvZiBsb25nCgkgIGRvY3VtZW50YXRpb24gZWFzaWVyLgoKMjAwOS0wNi0xNSAxNDoyMiAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RCdWlsZEFuZFRlc3RIYW5kbGVyLmN4eDogU1RZTEU6IGZpeCB3YXJuaW5nCgoyMDA5LTA2LTE1IDEzOjUxICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkQW5kVGVzdEhhbmRsZXIuY3h4OiBCVUc6IGZpeCBjcmFzaCB3aGVuCgkgIHJ1bm5pbmcgY3Rlc3QgY292ZXJhZ2UgZm9yIFZUSwoKMjAwOS0wNi0xNSAxMzoyMiAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kT3BlbkdMLmNtYWtlOiBFTkg6IGFkZCBwYXRoIGZvciA2NCBiaXQgb24gb2xkIGhwCgoyMDA5LTA2LTE1IDEzOjE3ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0hQLVVYLmNtYWtlOiBFTkg6IHB1dCB0aGUgNjQgYml0IHBhdGhzIGZpcnN0CgoyMDA5LTA2LTE1IDEyOjM5ICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogUGxhdGZvcm0vSFAtVVguY21ha2UsIEZpbmRPcGVuR0wuY21ha2U6IEVOSDogYWRkIG1vcmUKCSAgc2VhcmNoIHBhdGhzIG9uIEhQVVgKCjIwMDktMDYtMTUgMTI6MzMgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVBvbGljaWVzLmN4eDogQ09NUDogZml4IGxpbmUgbGVuZ3RoCgoyMDA5LTA2LTE1IDEwOjU1ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwKCSAgVGVzdHMvUGx1Z2luL0NNYWtlTGlzdHMudHh0OiBCVUc6IENyZWF0ZSBhbiBleGUncyBpbXBsaWIgb3V0cHV0CgkgIGRpciBmb3IgVlMKCgkgIElmIGFuIGV4ZWN1dGFibGUgbWFya3Mgc3ltYm9scyB3aXRoIF9fZGVjbHNwZWMoZGxsZXhwb3J0KSB0aGVuIFZTCgkgIGNyZWF0ZXMgYW4gaW1wb3J0IGxpYnJhcnkgZm9yIGl0LiAgSG93ZXZlciwgaXQgZm9yZ2V0cyB0byBjcmVhdGUKCSAgdGhlIGRpcmVjdG9yeSB0aGF0IHdpbGwgY29udGFpbiB0aGUgaW1wb3J0IGxpYnJhcnkgaWYgaXQgaXMKCSAgZGlmZmVyZW50IGZyb20gdGhlIGxvY2F0aW9uIG9mIHRoZSBleGVjdXRhYmxlLiAgV2Ugd29yayBhcm91bmQKCSAgdGhpcyBWUyBidWcgYnkgY3JlYXRpbmcgYSBwcmUtYnVpbGQgZXZlbnQgb24gdGhlIGV4ZWN1dGFibGUKCSAgdGFyZ2V0IHRvIG1ha2UgdGhlIGRpcmVjdG9yeS4KCjIwMDktMDYtMTUgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNi0xNCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA2LTEzIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDYtMTIgMTU6NDQgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jOiBDT01QOiBEbyBub3QgY29tcGlsZSBWTVMtc3BlY2lmaWMKCSAgY29kZSBvbiBub24tVk1TCgoJICBUaGlzIGhlbHBzIGF2b2lkIGZpeGluZyBWTVMtc3BlY2lmaWMgY29kZSBmb3Igbm9uLVZNUyBjb21waWxlcnMKCSAgd2hlcmUgaXQgaXNuJ3QgbmVlZGVkIGFueXdheS4KCjIwMDktMDYtMTIgMTU6MjggIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaDogRU5IOiBSZWZhY3RvciBWUyA3LDgsOSBidWlsZAoJICBldmVudCBnZW5lcmF0aW9uCgoJICBJbiBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvciB3ZSBnZW5lcmF0ZSBwcmUtYnVpbGQsIHByZS1saW5rLAoJICBhbmQgcG9zdC1idWlsZCBldmVudHMgaW50byBwcm9qZWN0IGZpbGVzLiAgVGhpcyByZWZhY3RvcnMgdGhlCgkgIGdlbmVyYXRpb24gY29kZSBmb3IgdGhlIHRocmVlIGV2ZW50IHR5cGVzIGludG8gYSBwcml2YXRlCgkgIEV2ZW50V3JpdGVyIGNsYXNzIHRvIGF2b2lkIGR1cGxpY2F0ZSBjb2RlLgoKMjAwOS0wNi0xMiAxMzozMyAgZmJlcnRlbAoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NVTklYLmM6IENPTVA6Rml4ZWQgd2FybmluZyB3aXRoIGdjYyA0LjMuMzoKCSAgcGFzc2luZyBhcmd1bWVudCAxIG9mIGt3c3lzUHJvY2Vzc1NldFZNU0ZlYXR1cmUgZGlzY2FyZHMKCSAgcXVhbGlmaWVycyBmcm9tIHBvaW50ZXIgdGFyZ2V0IHR5cGUuCgoyMDA5LTA2LTEyIDEzOjI1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUlmQ29tbWFuZC5oLCBjbVBvbGljaWVzLmN4eDogRU5IOiBjbGVhbiB1cCBzb21lIGhlbHAKCSAgdGV4dAoKMjAwOS0wNi0xMiAxMToxMCAgbWFydGluawoKCSogU291cmNlL2NtSWZDb21tYW5kLmN4eDogRU5IOiB3YXJuaW5nIGZpeAoKMjAwOS0wNi0xMiAxMTowNSAga2luZwoKCSogU291cmNlL2NtU3RhbmRhcmRJbmNsdWRlcy5oOiBDT01QOiBCbG9jayB3YXJuaW5ncyBpbiBCb3JsYW5kCgkgIHN5c3RlbSBoZWFkZXJzCgoJICBJbiBSZWxlYXNlIGJ1aWxkcyB0aGUgQm9ybGFuZCBjb21waWxlciB3YXJucyBhYm91dCBjb2RlIGluIGl0cwoJICBvd24gc3lzdGVtIGhlYWRlcnMuICBUaGlzIGJsb2NrcyB0aGUgd2FybmluZ3MgYnkgZGlzYWJsaW5nIHRoZW0KCSAgd2hlcmUgdGhlIGhlYWRlcnMgYXJlIGluY2x1ZGVkLgoKMjAwOS0wNi0xMiAxMDo0NiAga2luZwoKCSogU291cmNlLzogY21EZXBlbmRzRm9ydHJhblBhcnNlci5jeHgsIGNtRGVwZW5kc0ZvcnRyYW5QYXJzZXIueSwKCSAgY21EZXBlbmRzRm9ydHJhblBhcnNlclRva2Vucy5oOiBFTkg6IFVzZSBLV1N5cyBTdHJpbmcgc3RyY2FzZWNtcAoJICB0byBwYXJzZSBGb3J0cmFuCgoJICBUaGlzIHJlcGxhY2VzIHRoZSBGb3J0cmFuIGRlcGVuZGVuY3kgcGFyc2VyIHNvdXJjZSdzIGN1c3RvbQoJICBzdHJjYXNlY21wIGltcGxlbWVudGF0aW9uIHdpdGggb25lIGZyb20gS1dTeXMgU3RyaW5nLiAgSXQgcmVtb3ZlcwoJICBkdXBsaWNhdGUgY29kZSBhbmQgYXZvaWRzIGEgQm9ybGFuZCB3YXJuaW5nIGFib3V0IGlubGluaW5nCgkgIGZ1bmN0aW9ucyB3aXRoICd3aGlsZScuCgoyMDA5LTA2LTEyIDEwOjQ2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3RyaW5nLmM6IENPTVA6IEF2b2lkIGRvdWJsZS1pbml0aWFsaXphdGlvbiBpbiBLV1N5cwoJICBTdHJpbmcKCgkgIFRoZSBLV1N5cyBTdHJpbmcgaW1wbGVtZW50YXRpb24gb2Ygc3RyY2FzZWNtcCBpbml0aWFsaXplZAoJICAncmVzdWx0JyBpbW1lZGlhdGVseSBiZWZvcmUgYXNzaWduaW5nIHRvIGl0LglCb3JsYW5kIHByb2R1Y2VzIGEKCSAgd2FybmluZyBpbiB0aGlzIGNhc2UsIHNvIHRoaXMgY29tbWl0IHJlbW92ZXMgdGhlIGV4dHJhCgkgIGluaXRpYWxpemF0aW9uLgoKMjAwOS0wNi0xMiAxMDo0NiAga2luZwoKCSogU291cmNlLzogY21EZXBlbmRzRm9ydHJhbkxleGVyLmN4eCwgY21EZXBlbmRzRm9ydHJhbkxleGVyLmluLmw6CgkgIENPTVA6IFJlbW92ZSB1c2VsZXNzIGFzc2lnbm1lbnQgaW4gRm9ydHJhbiBsZXhlcgoKCSAgVGhlIGdlbmVyYXRlZCBGb3J0cmFuIGRlcGVuZGVuY3kgc2Nhbm5pbmcgbGV4ZXIgaW5jbHVkZXMgYW4KCSAgYXNzaWdubWVudCB0byBhIGxvY2FsIHZhcmlhYmxlIHRoYXQgaXMgdW51c2VkLiAgQm9ybGFuZCB3YXJucywgc28KCSAgd2UgcmVtb3ZlIHRoZSBhc3NpZ25tZW50LgoKMjAwOS0wNi0xMiAxMDowNyAgbWFydGluawoKCSogU291cmNlLzogY21JZkNvbW1hbmQuY3h4LCBjbUlmQ29tbWFuZC5oLCBjbVBvbGljaWVzLmN4eCwKCSAgY21Qb2xpY2llcy5oLCBjbVdoaWxlQ29tbWFuZC5jeHg6IEVOSDogbW9kaWZpZWQgdGhlIGlmIGNvbW1hbmQgdG8KCSAgYWRkcmVzcyBidWcgOTEyMyBzb21lCgoyMDA5LTA2LTEyIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDYtMTEgMTU6MjUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vT3BlblZNUy5jbWFrZSwgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDoKCSAgRU5IOiB1c2UgLmV4ZSBvbiB2bXMKCjIwMDktMDYtMTEgMTU6MTggIGtpbmcKCgkqIENNYWtlTGlzdHMudHh0OiBDT01QOiBXZSBub3cgcmVxdWlyZSBDTWFrZSAyLjQuNSBvciBoaWdoZXIgdG8KCSAgYnVpbGQKCgkgIFdlIHVzZSB0aGUgQ01ha2VEZXBlbmRlbnRPcHRpb24gbW9kdWxlIHVuY29uZGl0aW9uYWxseSwgc28gd2UKCSAgbXVzdCByZXF1aXJlIGEgdmVyc2lvbiBvZiBDTWFrZSBuZXcgZW5vdWdoIHRvIHByb3ZpZGUgaXQuCgoyMDA5LTA2LTExIDE0OjU3ICBraW5nCgoJKiBTb3VyY2UvY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmN4eDogQlVHOiBEbyBub3QgY3JlYXRlIGVtcHR5CgkgIGJ1aWxkLXRyZWUgUlBBVEgKCgkgIFRoZSBmaXggZm9yIGlzc3VlICM5MTMwIGFwcGVuZHMgJzonIHRvIHRoZSBlbmQgb2YgdGhlIGJ1aWxkLXRyZWUKCSAgUlBBVEggdW5jb25kaXRpb25hbGx5LiAgVGhpcyBjaGFuZ2VzIHRoZSBmaXggdG8gYWRkICc6JyBvbmx5IHdoZW4KCSAgdGhlIFJQQVRIIGlzIG5vdCBlbXB0eSBzbyB0aGF0IHdlIGRvIG5vdCBjcmVhdGUgYSBidWlsZC10cmVlCgkgIFJQQVRIIHdpdGgganVzdCAnOicuCUFuIGVtcHR5IFJQQVRIIHByb2R1Y2VzIG5vIHN0cmluZyBhdCBhbGwsCgkgIHNvIHRoZXJlIGlzIG5vIGNoYW5jZSBvZiBtZXJnaW5nIHdpdGggYSBzeW1ib2wgbmFtZSBhbnl3YXkuCgoyMDA5LTA2LTExIDExOjI0ICBraW5nCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ1Rlc3RDdXN0b20uY21ha2UuaW4sCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3VibWl0SGFuZGxlci5jeHgsCgkgIFV0aWxpdGllcy9jbVRoaXJkUGFydHkuaC5pbiwgVXRpbGl0aWVzL2NtX3htbHJwYy5oOiBFTkg6IERpc2FibGUKCSAgdGhlIHhtbHJwYyBkcm9wIG1ldGhvZCBieSBkZWZhdWx0CgoJICBXZSd2ZSBjaG9zZW4gdG8gZHJvcCBvdXIgZGVmYXVsdCBkZXBlbmRlbmNlIG9uIHhtbHJwYy4gIFRodXMgd2UKCSAgZGlzYWJsZSB0aGUgY29ycmVzcG9uZGluZyBDVGVzdCBzdWJtaXNzaW9uIG1ldGhvZCBhbmQgcmVtb3ZlIHRoZQoJICBzb3VyY2VzIGZvciBidWlsZGluZyB4bWxycGMgbG9jYWxseS4JVXNlcnMgY2FuIHJlLWVuYWJsZSB0aGUKCSAgbWV0aG9kIGJ5IHNldHRpbmcgdGhlIENURVNUX1VTRV9YTUxSUEMgb3B0aW9uIHRvIHVzZSBhCgkgIHN5c3RlbS1pbnN0YWxsZWQgeG1scnBjIGxpYnJhcnkuCgoyMDA5LTA2LTExIDA5OjA0ICBraW5nCgoJKiBDTWFrZUxpc3RzLnR4dCwgVXRpbGl0aWVzL2NtVGhpcmRQYXJ0eS5oLmluLCBVdGlsaXRpZXMvY21fY3VybC5oOgoJICBFTkg6IFJlbW92ZSBvcHRpb24gdG8gYnVpbGQgY21jdXJsLTcuMTkuMAoKCSAgVGhpcyB2ZXJzaW9uIG9mIGN1cmwgd2FzIGFkZGVkIGV4cGVyaW1lbnRhbGx5IGJ1dCBkb2VzIG5vdAoJICBhZGRyZXNzIHRoZSBwcm9ibGVtIHdlIHdlcmUgaG9waW5nIGl0IGZpeGVkIChhbiBvY2Nhc2lvbmFsIHVwbG9hZAoJICBoYW5nKS4gIEltcG9ydGluZyBhIG5ldyBjdXJsIGNhbiB3YWl0IHVudGlsIHRoZSBwcm9ibGVtIGlzIGZ1bGx5CgkgIGRpYWdub3NlZCBhbmQgYWRkcmVzc2VkLgoKMjAwOS0wNi0xMSAwOTowNCAga2luZwoKCSogQ01ha2VMaXN0cy50eHQ6IEVOSDogU2ltcGxpZnkgZGVjaXNpb24gdG8gdXNlIHN5c3RlbSBsaWJyYXJpZXMKCgkgIFByZXZpb3VzbHkgd2UgZGlzYWxsb3dlZCB1c2Ugb2Ygc3lzdGVtIGxpYnJhcmllcyBpZgoJICBGaW5kWE1MUlBDLmNtYWtlIHdhcyBub3QgYXZhaWxhYmxlLiAgTm93IHRoYXQgQ01ha2UgMi40IGlzCgkgIHJlcXVpcmVkIHRvIGJ1aWxkLCB0aGUgbW9kdWxlIGlzIGFsd2F5cyBhdmFpbGFibGUuICBUaGlzIGNoYW5nZQoJICBzaW1wbGlmaWVzIHRoZSBsb2dpYyBhY2NvcmRpbmdseS4KCjIwMDktMDYtMTEgMDk6MDMgIGtpbmcKCgkqIFNvdXJjZS9jbVhNTFBhcnNlci5jeHg6IENPTVA6IEZpeCBidWlsZCB3aXRoIHN5c3RlbS1pbnN0YWxsZWQKCSAgZXhwYXQgMi4wLjEKCgkgIEluIGNtWE1MUGFyc2VyOjpSZXBvcnRYbWxQYXJzZUVycm9yIHdlIHdlcmUgYWNjaWRlbnRhbGx5IHBhc3NpbmcKCSAgYSB2YWx1ZSBvZiB0eXBlICdYTUxfUGFyc2VyKicgdG8gZXhwYXQgbWV0aG9kcyBpbnN0ZWFkIG9mCgkgICdYTUxfUGFyc2VyJy4gIEl0IHdhcyBub3QgY2F1Z2h0IGJlY2F1c2UgWE1MX1BhcnNlciB3YXMganVzdAoJICAndm9pZConIGluIHRoZSBjbWV4cGF0IHZlcnNpb24uICBOZXdlciBzeXN0ZW0taW5zdGFsbGVkIGV4cGF0CgkgIHZlcnNpb25zIGNhdGNoIHRoZSBlcnJvciBiZWNhdXNlIFhNTF9QYXJzZXIgaXMgbm93IGEgcG9pbnRlciB0byBhCgkgIHJlYWwgdHlwZS4gIFRoaXMgY29ycmVjdCB0aGUgdHlwZS4KCjIwMDktMDYtMTEgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNi0xMCAxNDoxMSAga2luZwoKCSogU291cmNlL2NtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5jeHg6IEJVRzogRG8gbm90IG1hbmdsZSBzeW1ib2xzCgkgIHdoZW4gZWRpdGluZyBSUEFUSHMKCgkgIEluIEVMRiBiaW5hcmllcyB0aGUgLmR5bnN0ciBzdHJpbmcgdGFibGUgaXMgdXNlZCBib3RoIGZvciB0aGUKCSAgUlBBVEggc3RyaW5nIGFuZCBmb3IgcHJvZ3JhbSBzeW1ib2xzLiAgSWYgYSBzeW1ib2wgbmFtZSBoYXBwZW5zCgkgIHRvIG1hdGNoIHRoZSBlbmQgb2YgdGhlIGJ1aWxkLXRyZWUgUlBBVEggc3RyaW5nIHRoZSBsaW5rZXIgaXMKCSAgYWxsb3dlZCB0byBtZXJnZSB0aGUgc3ltYm9scy4KCgkgIFdlIG11c3Qgbm90IGFsbG93IHRoaXMgd2hlbiB0aGUgUlBBVEggc3RyaW5nIHdpbGwgYmUgcmVwbGFjZWQKCSAgZHVyaW5nIGluc3RhbGxhdGlvbiBiZWNhdXNlIGl0IHdpbGwgbWFuZ2xlIHRoZSBzeW1ib2wuICBUaGVyZWZvcmUKCSAgd2UgYWx3YXlzIHBhZCB0aGUgZW5kIG9mIHRoZSBidWlsZC10cmVlIFJQQVRIIHdpdGggJzonIGlmIGl0IHdpbGwKCSAgYmUgcmVwbGFjZWQuCVRvb2xzIHRlbmQgbm90IHRvIHVzZSAnOicgYXQgdGhlIGVuZCBvZiBzeW1ib2wKCSAgbmFtZXMsIHNvIGl0IGlzIHVubGlrZWx5IHRvIGNvbmZsaWN0LiAgU2VlIGlzc3VlICM5MTMwLgoKMjAwOS0wNi0xMCAxNDoxMSAga2luZwoKCSogU291cmNlL2NtRG9jdW1lbnRWYXJpYWJsZXMuY3h4OiBFTkg6IERvY3VtZW50IHZhcmlhYmxlCgkgIENNQUtFX05PX0JVSUxUSU5fQ0hSUEFUSAoKCSAgVGhpcyBhZGRzIGRvY3VtZW50YXRpb24gZm9yIHRoZSB2YXJpYWJsZSB3aGljaCB3YXMgcHJldmlvdXNseQoJICBtaXNzaW5nLiAgU2VlIGlzc3VlICM5MTMwLgoKMjAwOS0wNi0xMCAxMzozOSAga2luZwoKCSogYm9vdHN0cmFwOiBCVUc6IEZpeCBib290c3RyYXAgZm9yIERlYmlhbiBBbG1xdWlzdCBTaGVsbAoKCSAgVGhlIERlYmlhbiBBbG1xdWlzdCBTaGVsbCAoZGFzaCkgcHJvdmlkZXMgbWluaW1hbCBQT1NJWAoJICBjb21wbGlhbmNlIGluc3RlYWQgb2YgdGhlIHBvd2VyIG9mIGJhc2guICBJdCBjb252ZXJ0cyBsaXRlcmFsCgkgICdcbicgdG8gYSByZWFsIG5ld2xpbmUgZXZlbiBpbiBhIHNpbmdsZS1xdW90ZWQgc3RyaW5nLiAgVGhpcwoJICB3b3JrcyBhcm91bmQgdGhlIHByb2JsZW0gYnkgYXZvaWRpbmcgdGhlIGxpdGVyYWwuICBXZSBjYW4gbm8KCSAgbG9uZ2VyIHVzZSBIRVJFRE9DLgoKMjAwOS0wNi0xMCAxMzowNCAga2luZwoKCSogYm9vdHN0cmFwOiBFTkg6IE1ha2UgYm9vdHN0cmFwIHNjcmlwdCB3b3JrIG9uIFZNUyBiYXNoCgoJICBBIGZldyBzd2VlcGluZyBjaGFuZ2VzIHdlcmUgbmVlZGVkOgoKCSAgICAtIEF2b2lkIHVzZSBvZiBIRVJFRE9DLCB3aGljaCBkb2VzIG5vdCBzZWVtIHRvIHdvcmsuCgkgICAgLSBBdm9pZCBleHRyYSAnLicgaW4gcGF0aHMgYnkgdXNpbmcgJ19jbWsnIGFuZCAnX3RtcCcKCSAgICAgIGluc3RlYWQgb2YgJy5jbWsnIGFuZCAnLnRtcCcuCgoyMDA5LTA2LTEwIDEzOjA0ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL09wZW5WTVMuY21ha2UsCgkgIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBFTkg6IEVuYWJsZSBiYXNpYwoJICBPcGVuVk1TIHBsYXRmb3JtIHN1cHBvcnQKCgkgIFRoaXMgYWRkcyB0aGUgTW9kdWxlcy9QbGF0Zm9ybS9PcGVuVk1TLmNtYWtlIHBsYXRmb3JtIGZpbGUgZm9yCgkgIE9wZW5WTVMuICBXZSBqdXN0IHVzZSBVbml4LWxpa2UgcnVsZXMgdG8gd29yayB3aXRoIHRoZSBHTlYKCSAgY29tcGlsZXIgZnJvbnQtZW5kLgoKCSAgQSBwcm9ibGVtIHdpdGggcHJvY2VzcyBleGVjdXRpb24gY3VycmVudGx5IHByZXZlbnRzIENNYWtlIGxpbmsKCSAgc2NyaXB0cyBmcm9tIHdvcmtpbmcsIHNvIHdlIGF2b2lkIHVzaW5nIHRoZW0uCgoyMDA5LTA2LTEwIDEzOjAzICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBFTkg6IFNraXAgJ1NIRUxMID0KCSAgL2Jpbi9zaCcgaW4gTWFrZWZpbGVzIG9uIFZNUwoKCSAgVGhpcyBzaGVsbCBkb2VzIG5vdCBleGlzdCBvbiBWTVMsIHNvIHdlIGxlYXZlIGl0IG91dC4KCjIwMDktMDYtMTAgMTM6MDMgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2VuZXJhdGVkRmlsZVN0cmVhbS5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwgY21UYXJnZXQuY3h4OiBFTkg6IE9uIFZNUyB1c2UKCSAgX2RpciBhbmQgX3RtcCwgbm90IC5kaXIgYW5kIC50bXAKCgkgIFRoZSBWTVMgcG9zaXggcGF0aCBlbXVsYXRpb24gZG9lcyBub3QgaGFuZGxlIG11bHRpcGxlICcuJwoJICBjaGFyYWN0ZXJzIGluIGZpbGUgbmFtZXMgaW4gYWxsIGNhc2VzLiAgVGhpcyBhdm9pZHMgYWRkaW5nIGV4dHJhCgkgICcuJ3MgdG8gZmlsZSBhbmQgZGlyZWN0b3J5IG5hbWVzIGZvciB0YXJnZXQgZGlyZWN0b3JpZXMgYW5kCgkgIGdlbmVyYXRlZCBmaWxlcy4KCjIwMDktMDYtMTAgMTM6MDIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEVOSDogVGVhY2ggS1dTeXMgU3lzdGVtVG9vbHMgYWJvdXQKCSAgVk1TIHBhdGhzCgoJICBUaGlzIHRlYWNoZXMgQ29udmVydFRvVW5peFNsYXNoZXMgdG8gY29udmVydCBWTVMgcGF0aHMgaW50bwoJICBwb3NpeC1zdHlsZSBwYXRocy4gIFdlIGFsc28gc2V0IHRoZSBERUNDJEZJTEVOQU1FX1VOSVhfT05MWQoJICBmZWF0dXJlIHNvIHRoZSBwcm9jZXNzIGFsd2F5cyBzZWVzIHBvc2l4LXN0eWxlIHBhdGhzIG9uIGRpc2suCgoyMDA5LTA2LTEwIDEzOjAyICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBBdm9pZCBzdGQ6OnVuaXF1ZQoJICBhbGdvcml0aG0gb24gVk1TCgoJICBUaGUgQ29tcGFxIGNvbXBpbGVyJ3Mgc3RkOjp1bmlxdWUgYWxnb3JpdGhtIGZvbGxvd2VkIGJ5IGRlbGV0aW9uCgkgIG9mIHRoZSBleHRyYSBlbGVtZW50cyBzZWVtcyB0byBjcmFzaC4gIEZvciBub3cgd2UnbGwgYWNjZXB0IHRoZQoJICBkdXBsaWNhdGUgZGVwZW5kZW5jaWVzIG9uIHRoaXMgcGxhdGZvcm0uCgoyMDA5LTA2LTEwIDExOjQ5ICBraW5nCgoJKiBVdGlsaXRpZXMvY210YXIvZXh0cmFjdC5jOiBDT01QOiBGaXggY210YXIgYnVpbGQgb24gVk1TCgoJICBUaGUgbWtub2QgYW5kIG1rZmlmbyBmdW5jdGlvbnMgYXJlIG5vdCBhdmFpbGFibGUgb24gVk1TLgoKMjAwOS0wNi0xMCAxMTo0OSAga2luZwoKCSogVXRpbGl0aWVzL2NtY3VybC9zZXR1cC5oOiBDT01QOiBGaXggY21jdXJsIGJ1aWxkIG9uIFZNUwoKCSAgVGhpcyBkZWZpbmVzIElPQ1RMXzNfQVJHUyBpbiAnY21jdXJsL3NldHVwLmgnIHRvIHRlYWNoIGN1cmwKCSAgc291cmNlcyBhYm91dCB0aGUgdGhyZWUtYXJndW1lbnQgaW9jdGwoKSBvbiBWTVMuCgoyMDA5LTA2LTEwIDExOjQ5ICBraW5nCgoJKiBVdGlsaXRpZXMvY210YXIvOiBhcHBlbmQuYywgZGVjb2RlLmMsIGV4dHJhY3QuYywgbGlidGFyLmMsCgkgIHV0aWwuYywgd3JhcHBlci5jOiBDT01QOiBVc2UgSEFWRV9TWVNfUEFSQU1fSCBwcm9wZXJseSBpbiBsaWJ0YXIKCgkgIFRoZSB2YWx1ZSBpcyBjb21wdXRlZCBieSBhIHRyeS1jb21waWxlIGZvciBsaWJ0YXIuICBUaGlzIHRlYWNoZXMKCSAgdGhlIHNvdXJjZXMgdG8gYWN0dWFsbHkgdXNlIHRoZSByZXN1bHQuCgoyMDA5LTA2LTEwIDExOjQ4ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYzogRU5IOiBUZWFjaCBLV1N5cyBQcm9jZXNzIGJhc2ljIFZNUwoJICBzdXBwb3J0CgoJICBUaGlzIGFjaGlldmVzIGJhc2ljIHByb2Nlc3MgZXhlY3V0aW9uIG9uIE9wZW5WTVMuICBXZSB1c2UKCSAgd29yay1hcm91bmRzIGZvciBkaWZmZXJlbnQgZm9yaygpL2V4ZWMoKSBiZWhhdmlvciBhbmQgYSBsYWNrIG9mCgkgIHNlbGVjdCgpLgoKCSAgVk1TIGVtdWxhdGVzIGZvcmsvZXhlYyB1c2luZyBzZXRqbXAvbG9uZ2ptcCB0byBldmFsdWF0ZSB0aGUgY2hpbGQKCSAgYW5kIHBhcmVudCByZXR1cm4gY2FzZXMgZnJvbSBmb3JrLiAgVGhlcmVmb3JlIGJvdGggbXVzdCBiZQoJICBpbnZva2VkIGZyb20gdGhlIHNhbWUgZnVuY3Rpb24uCgoJICBTaW5jZSBzZWxlY3QoKSB3b3JrcyBvbmx5IGZvciBzb2NrZXRzIHdlIHVzZSB0aGUgQmVPUy1zdHlsZQoJICBwb2xsaW5nIGltcGxlbWVudGF0aW9uLiAgSG93ZXZlciwgbm9uLWJsb2NraW5nIHJlYWRzIG9uIGVtcHR5CgkgIHBpcGVzIGNhbm5vdCBiZSBkaXN0aW5ndWlzaGVkIGVhc2lseSBmcm9tIHRoZSBsYXN0IHJlYWQgb24gYQoJICBjbG9zZWQgcGlwZS4JVGhlcmVmb3JlIHdlIGlkZW50aWZ5IGVuZCBvZiBkYXRhIGJ5IGFuIGVtcHR5IHJlYWQKCSAgYWZ0ZXIgdGhlIGNoaWxkIHRlcm1pbmF0ZXMuCgoyMDA5LTA2LTEwIDExOjQ2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYzogQlVHOiBGaXggbm9uLXNlbGVjdCBwcm9jZXNzIGltcGwKCSAgd2l0aG91dCB0aW1lb3V0CgoJICBUaGlzIGF2b2lkcyB1c2Ugb2YgYW4gdW5pbml0aWFsaXplZCB2YWx1ZSBpbiB0aGUgS1dTeXMKCSAgUHJvY2Vzc1VOSVggcG9sbGluZyBpbXBsZW1lbnRhdGlvbiB3aGVuIG5vIHRpbWVvdXQgaXMgZ2l2ZW4uCgoyMDA5LTA2LTEwIDExOjQ2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQsIGJvb3RzdHJhcCwgU291cmNlL2t3c3lzL1N0cmluZy5jLAoJICBTb3VyY2Uva3dzeXMva3dzeXNQcml2YXRlLmg6IENPTVA6IEF2b2lkIFN0cmluZy5jIGluY2x1c2lvbiBieQoJICBDb21wYXEgdGVtcGxhdGVzCgoJICBUaGUgQ29tcGFxIGNvbXBpbGVyIChvbiBWTVMpIGluY2x1ZGVzICdTdHJpbmcuYycgaW4gc291cmNlIGZpbGVzCgkgIHRoYXQgdXNlIHRoZSBzdGwgc3RyaW5nIHdoaWxlIGxvb2tpbmcgZm9yIHRlbXBsYXRlIGRlZmluaXRpb25zLgoJICBUaGlzIHdhcyB0aGUgdHJ1ZSBjYXVzZSBvZiBkb3VibGUtaW5jbHVzaW9uIG9mIHRoZQoJICAna3dzeXNQcml2YXRlLmgnIGhlYWRlci4gIFdlIHdvcmsgYXJvdW5kIHRoZSBwcm9ibGVtIGJ5CgkgIGNvbmRpdGlvbmFsbHkgY29tcGlsaW5nIHRoZSBlbnRpcmUgc291cmNlIGZpbGUgb24gYSBjb25kaXRpb24KCSAgb25seSB0cnVlIHdoZW4gcmVhbGx5IGJ1aWxkaW5nIHRoZSBzb3VyY2UuCgoyMDA5LTA2LTEwIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDYtMDkgMTU6NTggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVN0YW5kYXJkSW5jbHVkZXMuaDogU1RZTEU6IHN1cHByZXNzIHdhcm5pbmdzIGZvciBib3JsYW5kCgoyMDA5LTA2LTA5IDE1OjQ0ICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvdGVzdEF1dG9QdHIuY3h4OiBTVFlMRTogc3VwcHJlc3Mgd2FybmluZ3MgZm9yCgkgIGJvcmxhbmQKCjIwMDktMDYtMDkgMTU6MTggIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtU3RhbmRhcmRJbmNsdWRlcy5oLCBrd3N5cy9oYXNodGFibGUuaHh4LmluLAoJICBrd3N5cy90ZXN0QXV0b1B0ci5jeHg6IFNUWUxFOiBzdXBwcmVzcyB3YXJuaW5ncyBmb3IgYm9ybGFuZAoKMjAwOS0wNi0wOSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA2LTA4IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDYtMDcgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNi0wNiAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA2LTA1IDE0OjU5ICBwYXJ0eWQKCgkqIFNvdXJjZS9rd3N5cy9oYXNodGFibGUuaHh4LmluOiBDT01QOiBIb3BlZnVsbHkgZml4IGhhc2htYXAgb24KCSAgVlM2LCBUaGFua3MgQnJhZCBLIQoKMjAwOS0wNi0wNSAxMzoxNyAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogRU5IOiBmaXggd2FybmluZyBvbiBib3JsYW5kCgoyMDA5LTA2LTA1IDEyOjAxICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oLAoJICBrd3N5cy9TeXN0ZW1Ub29scy5oeHguaW4sIGt3c3lzL1N5c3RlbVRvb2xzLmN4eDogRU5IOiBtb3ZlIFB1dEVudgoJICB0byBTeXN0ZW1Ub29scwoKMjAwOS0wNi0wNSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA2LTA0IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDYtMDMgMTU6MDggIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vSFAtVVguY21ha2UsCgkgIFNvdXJjZS9jbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uY3h4LAoJICBTb3VyY2UvY21Eb2N1bWVudFZhcmlhYmxlcy5jeHg6IEJVRzogUmVjb2duaXplIC5zbyBzaGFyZWQKCSAgbGlicmFyaWVzIG9uIEhQLVVYCgoJICBIUC1VWCB1c2VzIGJvdGggLnNsIGFuZCAuc28gYXMgZXh0ZW5zaW9ucyBmb3Igc2hhcmVkIGxpYnJhcmllcy4KCSAgVGhpcyB0ZWFjaGVzIENNYWtlIHRvIHJlY29nbml6ZSAuc28gc2hhcmVkIGxpYnJhcmllcyBzbyB0aGV5IGFyZQoJICB0cmVhdGVkIHByb3Blcmx5IGR1cmluZyBsaW5rIGRlcGVuZGVuY3kgYW5hbHlzaXMuCgoyMDA5LTA2LTAzIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDYtMDIgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNi0wMSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA1LTMxIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDUtMzAgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNS0yOSAxNjowOSAgYWxleAoKCSogTW9kdWxlcy9DUGFja1JQTS5jbWFrZTogQlVHOiBmaXggIzkwMzE6IG5ld2VyIHJwbSB2ZXJzaW9ucwoJICBjb21wbGFpbiBhYm91dCB0aGUgIiMlIiBsaW5lcwoKCSAgQWxleAoKMjAwOS0wNS0yOSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA1LTI4IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDUtMjcgMTE6MzMgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vQ1lHV0lOLmNtYWtlLCBib290c3RyYXA6IEVOSDogQXV0by1pbXBvcnQKCSAgc3ltYm9scyBmb3IgY3lnd2luIGV4ZWN1dGFibGVzCgoJICBUaGlzIGVuYWJsZXMgdGhlIC0tZW5hYmxlLWF1dG8taW1wb3J0IGxpbmtlciBmbGFnIG9uIEN5Z3dpbiB3aGVuCgkgIGxpbmtpbmcgZXhlY3V0YWJsZXMuCUl0IHdvcmtzIHdpdGggdGhlIG9sZCBnY2MgMy54IGNvbXBpbGVyIGFuZAoJICBpcyBuZWNlc3NhcnkgZm9yIHRoZSBuZXcgZ2NjIDQueCBjb21waWxlci4gIFNlZSBpc3N1ZSAjOTA3MS4KCjIwMDktMDUtMjcgMTE6MTQgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0TWVtQ2hlY2tIYW5kbGVyLmN4eDogQlVHOiBmaXggZm9yIGJ1ZyAjODE1MwoJICBhZGQgcHVyaWZ5IHN1cHByZXNzaW9uIGZpbGUgYW5kIGZpeCBvdXRwdXQgdG8gbm90IGJlIG9uZSBiaWcgbGluZQoKMjAwOS0wNS0yNyAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA1LTI2IDA5OjU1ICBkYXZpZC5jb2xlCgoJKiBNb2R1bGVzLzogQ01ha2VWUzhGaW5kTWFrZS5jbWFrZSwgQ01ha2VWUzlGaW5kTWFrZS5jbWFrZTogQlVHOgoJICBSZWFycmFuZ2UgcGF0aHMgdG8gZmluZCBjb3JyZWN0IGluc3RhbGxhdGlvbnMgb2YgVmlzdWFsIFN0dWRpby4KCSAgUGF0Y2ggZGV2ZW52Lm1vZGlmaWVkX3NlYXJjaF9vcmRlci5wYXRjaCBjYW1lIGZyb20gaXNzdWUgIzc5MTkuCgoyMDA5LTA1LTI2IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDUtMjUgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNS0yNCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA1LTIzIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDUtMjIgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNS0yMSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA1LTIwIDA5OjUwICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtSW5mb3JtYXRpb24uY3h4OiBFTkg6IG1ha2UgdGhpcyB3b3JrIGZvciBvbGRlcgoJICB2ZXJzaW9ucyBvZiBPU1gKCjIwMDktMDUtMjAgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNS0xOSAyMTo1MCAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbUluZm9ybWF0aW9uLmN4eDogRU5IOiByZXZlcnQgYmFjayBiZWNhdXNlIGl0CgkgIGRvZXMgbm90IGJ1aWxkIG9uIG9sZGVyIG1hY3MgZm9yIG5vdwoKMjAwOS0wNS0xOSAxNjo1NiAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbUluZm9ybWF0aW9uLmN4eDogRU5IOiByZW1vdmUgd2FybmluZwoKMjAwOS0wNS0xOSAxNjo0NiAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbUluZm9ybWF0aW9uLmN4eDogRU5IOiBtYWtlIHRoaXMgYnVpbGQgb24gb3RoZXIKCSAgbWFjaGluZXMgYmVzaWRlcyB0aGUgbWFjCgoyMDA5LTA1LTE5IDE2OjM1ICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvOiBTeXN0ZW1JbmZvcm1hdGlvbi5jeHgsIHRlc3RTeXN0ZW1JbmZvcm1hdGlvbi5jeHg6CgkgIEVOSDogZml4IHN5c3RlbSBpbmZvIGZvciBtYWMKCjIwMDktMDUtMTkgMTE6MzggIGNsaW50b24KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogRU5IOiAgQmV0dGVyIGVycm9yIG1lc3NhZ2UgZm9yIHRob3NlIHdobwoJICBzd2l0Y2ggZnJvbSBRdDMgdG8gUXQ0IGFuZCBkb24ndCBjbGVhbiB0aGVpciBjYWNoZSBmaWxlLgoKMjAwOS0wNS0xOSAxMToyNSAgaG9mZm1hbgoKCSogU291cmNlL2NtQ29yZVRyeUNvbXBpbGUuY3h4OiBCVUc6IGZpeCBmb3IgIzAwMDkwNTEgQ01ha2UgZG9lcyBub3QKCSAgcGFzcyBDTUFLRV9PU1hfU1lTUk9PVCBhbmQgQ01BS0VfT1NYX0RFUExPWU1FTlRfVEFSR0VUIHdoZW4KCSAgcnVubmluZyBUUllfQ09NUElMRQoKMjAwOS0wNS0xOSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA1LTE4IDE1OjI3ICBhbGV4CgoJKiBTb3VyY2UvY21GaW5kRmlsZUNvbW1hbmQuY3h4OiBTVFlMRTogZml4IGRvY3M6IGl0IG11c3QgcmVwbGFjZQoJICAiZmluZF9wYXRoIiBpbnN0ZWFkIG9mICJGSU5EX1BBVEgiIHdpdGggImZpbmRfZmlsZSIsIG90aGVyd2lzZQoJICB0aGUgZG9jcyB0YWxrIGFib3V0IGZpbmRfcGF0aCgpIGluc3RlYWQgb2YgZmluZF9maWxlIChwYXRjaCBmcm9tCgkgIE1pY2hhZWwgV2lsZCwgIzkwNDcpCgoJICBBbGV4CgoyMDA5LTA1LTE4IDEwOjM0ICBraW5nCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJaUi5jeHgsIFRlc3RzL0NNYWtlTGlzdHMudHh0OiBCVUc6IFBhcnNlCgkgIG1vcmUgYnpyIHhtbCBvdXRwdXQgZW5jb2RpbmdzCgoJICBUaGUgQlpSIHhtbCBvdXRwdXQgcGx1Z2luIGNhbiB1c2Ugc29tZSBlbmNvZGluZ3MgdGhhdCBhcmUgbm90CgkgIHJlY29nbml6ZWQgYnkgZXhwYXQsIHdoaWNoIGxlYWRzIHRvICJFcnJvciBwYXJzaW5nIGJ6ciBsb2cgeG1sOgoJICB1bmtub3duIGVuY29kaW5nIi4gIFRoaXMgd29ya3MgYXJvdW5kIHRoZSBwcm9ibGVtIGJ5IGdpdmluZyBleHBhdAoJICBhIG1hcHBpbmcsIGFuZCBhZGRzIGEgdGVzdC4gIFBhdGNoIGZyb20gVG9tIFZlcmNhdXRlcmVuLiAgU2VlCgkgIGlzc3VlICM2ODU3LgoKMjAwOS0wNS0xOCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA1LTE3IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDUtMTYgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNS0xNSAxNTozOSAga2luZwoKCSogTW9kdWxlcy9DVGVzdC5jbWFrZSwgU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXRDb21tYW5kLmN4eDogRU5IOgoJICBSZW1vdmUgQ1Rlc3QgcHVibGljLmtpdHdhcmUuY29tIGRyb3AgZGVmYXVsdAoKCSAgUHJldmlvdXNseSBDVGVzdCB3b3VsZCBkcm9wIGRhc2hib2FyZCBzdWJtaXNzaW9ucyBhdAoJICBwdWJsaWMua2l0d2FyZS5jb20gb24gdGhlIFB1YmxpY0Rhc2hib2FyZCBwcm9qZWN0IGlmIHRoZXJlIHdhcyBubwoJICBjb25maWd1cmF0aW9uLiAgVGhlIHNlcnZlciBubyBsb25nZXIgc3VwcG9ydHMgZm9yd2FyZGluZyB0bwoJICBjZGFzaC5vcmcsIHNvIHRoZXJlIGlzIG5vIHBvaW50IGluIHRoaXMgZGVmYXVsdC4gIEZ1cnRoZXJtb3JlLAoJICB0aGVyZSBzaG91bGQgYmUgbm8gZGVmYXVsdCBhdCBhbGwgYmVjYXVzZSBpdCBjb3VsZCBsZWFrCgkgIGluZm9ybWF0aW9uIGFib3V0IHByb3ByaWV0YXJ5IHByb2plY3RzIHRoYXQgYXJlIG5vdCBjb25maWd1cmVkCgkgIGNvcnJlY3RseS4KCjIwMDktMDUtMTUgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNS0xNCAxNjoxMyAga2luZwoKCSogTW9kdWxlcy9DVGVzdC5jbWFrZSwgU291cmNlL0NNYWtlTGlzdHMudHh0LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJaUi5jeHgsIFNvdXJjZS9DVGVzdC9jbUNUZXN0QlpSLmgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0VXBkYXRlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0VXBkYXRlSGFuZGxlci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0VXBkYXRlSGFuZGxlci5oLCBUZXN0cy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ1Rlc3RVcGRhdGVCWlIuY21ha2UuaW46IEVOSDogVGVhY2ggQ1Rlc3QgdG8gaGFuZGxlIEJhemFhcgoJICByZXBvc2l0b3JpZXMKCgkgIFRoaXMgY3JlYXRlcyBjbUNUZXN0QlpSIHRvIGRyaXZlIENUZXN0IFVwZGF0ZSBoYW5kbGluZyBvbgoJICBienItYmFzZWQgd29yayB0cmVlcy4gIEN1cnJlbnRseSB3ZSBhbHdheXMgdXBkYXRlIHRvIHRoZSBoZWFkIG9mCgkgIHRoZSByZW1vdGUgdHJhY2tpbmcgYnJhbmNoIChienIgcHVsbCksIHNvIHRoZSBuaWdodGx5IHN0YXJ0IHRpbWUKCSAgaXMgaWdub3JlZCBmb3IgTmlnaHRseSBidWlsZHMuICBBIGxhdGVyIGNoYW5nZSB3aWxsIGFkZHJlc3MgdGhpcy4KCSAgIFBhdGNoIGZyb20gVG9tIFZlcmNhdXRlcmVuLglTZWUgaXNzdWUgIzY4NTcuCgoyMDA5LTA1LTE0IDE1OjMxICBhbGV4CgoJKiBNb2R1bGVzL0NQYWNrUlBNLmNtYWtlOiBTVFlMRTogYWRkIGRvY3VtZW50YXRpb24gZm9yIENQYWNrUlBNCgkgICgjOTAyOSkKCgkgIEFsZXgKCjIwMDktMDUtMTQgMDk6MjcgIGtpbmcKCgkqIFNvdXJjZS9jbURvY3VtZW50VmFyaWFibGVzLmN4eDogRU5IOiBNYWtlCgkgIENNQUtFXzxMQU5HPl9TSVpFT0ZfREFUQV9QVFIgcHVibGljCgoJICBUaGUgdmFyaWFibGUgd2FzIHByZXZpb3VzbHkgZG9jdW1lbnRlZCBmb3IgaW50ZXJuYWwtdXNlIG9ubHkuCgkgIFRoaXMgb2ZmaWNpYWxseSBkb2N1bWVudHMgaXQgZm9yIGdlbmVyYWwgdXNlIGJ5IHByb2plY3RzLgoKMjAwOS0wNS0xNCAwOToyNyAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzUHJpdmF0ZS5oOiBTVFlMRTogU2ltcGxpZnkgYW5kIGRvY3VtZW50IFZNUwoJICB3b3JrYXJvdW5kcwoKCSAgVGhlIGt3c3lzUHJpdmF0ZSBoZWFkZXIgZG91YmxlLWluY2x1c2lvbiBjaGVjayBoaXRzIGEgZmFsc2UKCSAgcG9zaXRpdmUgb24gVk1TIGZvciBhbiB1bmRldGVybWluZWQgcmVhc29uLiAgVGhpcyBzaW1wbGlmaWVzIHRoZQoJICB3b3JrYXJvdW5kIGFuZCBkb2N1bWVudHMgaXQuCgoyMDA5LTA1LTE0IDA5OjI2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNQcml2YXRlLmg6IFNUWUxFOiBSZW1vdmUgdHJhaWxpbmcgd2hpdGVzcGFjZQoKMjAwOS0wNS0xNCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA1LTEzIDExOjA4ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUZvckVhY2hDb21tYW5kLmN4eCwgY21XaGlsZUNvbW1hbmQuY3h4OiBCVUc6IGZpeCBmb3IKCSAgIzkwMTQsIEZBVEFMX0VSUk9SIG5vdCBlbmRpbmcgbG9vcHMKCjIwMDktMDUtMTMgMTA6MzAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEJVRzogRml4IHJlbW92YWwgb2YgcmVhZC1vbmx5CgkgIGRpcmVjdG9yaWVzCgoJICBSZWFkLW9ubHkgZGlyZWN0b3JpZXMgbXVzdCBiZSBnaXZlbiB3cml0ZSBwZXJtaXNzaW9uIGJlZm9yZSB3ZQoJICBjYW4gcmVtb3ZlIGZpbGVzIGFuZCBzdWJkaXJlY3RvcmllcyBmcm9tIHRoZW0uCgoyMDA5LTA1LTEzIDEwOjMwICBraW5nCgoJKiBUZXN0cy9TdHJpbmdGaWxlVGVzdC9DTWFrZUxpc3RzLnR4dDogQlVHOiBmaWxlKENPUFkpIHRlc3Qgc2hvdWxkCgkgIG5vdCBtYWtlIHJlYWQtb25seSBkaXIKCgkgIENNYWtlIGRpcmVjdG9yeSByZW1vdmFsIGNvZGUgY2Fubm90IHJlbW92ZSBjb250ZW50IGZyb20gcmVhZC1vbmx5CgkgIGRpcmVjdG9yaWVzIChhIHNlcGFyYXRlIGJ1ZyB3aGljaCB3aWxsIGJlIGZpeGVkKS4gIFRoZXJlZm9yZSB3ZQoJICBzaG91bGQgbm90IGNyZWF0ZSB0aGVtIGluIHRoZSBTdHJpbmdGaWxlVGVzdC4gIFRoaXMgdHdlYWtzIHRoZQoJICBmaWxlKENPUFkpIGNhbGwgdG8gdGVzdCBub3QgZ2l2aW5nIE9XTkVSX1dSSVRFIHRvIGZpbGVzIHJhdGhlcgoJICB0aGFuIGRpcmVjdG9yaWVzLgoKMjAwOS0wNS0xMyAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA1LTEyIDE1OjE3ICBhbGV4CgoJKiBNb2R1bGVzLzogQ01ha2VFY2xpcHNlQ0RUNC5jbWFrZSwgQ01ha2VDb2RlQmxvY2tzLmNtYWtlLAoJICBDTWFrZUtEZXZlbG9wMy5jbWFrZTogU1RZTEU6IHJlbW92ZSB0aGVzZSBmaWxlcyBub3cgdGhhdCBJIGFkZGVkCgkgIHRoZW0gd2l0aCBhIG1vcmUgY29uc2lzdGVudCBuYW1lIGFzIENNYWtlRmluZDxHRU5FUkFUT1I+LmNtYWtlCgkgIChzaG91bGQgaGF2ZSBiZWVuIGluIHRoZSBzYW1lIGNvbW1pdC4uLikKCgkgIEFsZXgKCjIwMDktMDUtMTIgMTU6MTMgIGFsZXgKCgkqIE1vZHVsZXMvQ1BhY2tSUE0uY21ha2U6IEJVRzogYXBwbHkgcGF0Y2ggZnJvbSBFcmljIE5vdWxhcmQsIHNvCgkgIGNwYWNrIHdvcmtzIHdpdGggcnBtYnVpbGQgNC42LjAsICM4OTY3CgoJICBBbGV4CgoyMDA5LTA1LTEyIDE1OjExICBhbGV4CgoJKiBNb2R1bGVzLzogQ01ha2VGaW5kQ29kZUJsb2Nrcy5jbWFrZSwgQ01ha2VGaW5kRWNsaXBzZUNEVDQuY21ha2UsCgkgIENNYWtlRmluZEtEZXZlbG9wMy5jbWFrZSwgQ01ha2VMaXN0cy50eHQsCgkgIENNYWtlU3lzdGVtU3BlY2lmaWNJbmZvcm1hdGlvbi5jbWFrZTogU1RZTEU6IHJlbmFtZSB0aGUgZmlsZXMKCSAgZnJvbSBDTWFrZTxHRU5FUkFUT1I+LmNtYWtlIHRvIENNYWtlRmluZDxHRU5FUkFUT1I+LmNtYWtlLCBzbyBpdAoJICBpcyBtb3JlIGNvbnNpc3RlbnQgZS5nLiB3aXRoIENNYWtlRmluZFhjb2RlLmNtYWtlCgoJICBBbGV4CgoyMDA5LTA1LTEyIDE1OjA2ICBraW5nCgoJKiBSZWFkbWUudHh0OiBTVFlMRTogUmVtb3ZlIHRyYWlsaW5nIHdoaXRlc3BhY2UKCjIwMDktMDUtMTIgMTU6MDMgIGtpbmcKCgkqIGNtYWtlLjE6IEJVRzogUmVtb3ZlIG1hbnVhbCBtYW4tcGFnZSBmcm9tIENNYWtlLVNvdXJjZUZpbGUyLWIKCSAgYnJhbmNoCgoyMDA5LTA1LTEyIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDUtMTEgMTM6NTggIGtpbmcKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogQ09NUDogQXZvaWQgb3BlcmF0b3IgcHJlY2VkZW5jZSB3YXJuaW5nCgoJICBHQ0Mgd2FybnMgdGhhdCBwYXJlbnMgc2hvdWxkIGJlIHVzZWQgZm9yIG5lc3RlZCBhbmQvb3Igb3BlcmF0b3JzLgoKMjAwOS0wNS0xMSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA1LTEwIDE2OjA3ICBhbGV4CgoJKiBTb3VyY2UvY21TZXRDb21tYW5kLmN4eDogU1RZTEU6IGNhY2hlU3RhcnQgaXMgdXNlZCBvbmx5IGxvY2FsbHkKCSAgaW4gdGhlIGlmLWJyYW5jaAoKCSAgQWxleAoKMjAwOS0wNS0xMCAwNjowMSAgYWxleAoKCSogTW9kdWxlcy9DVGVzdC5jbWFrZTogU1RZTEU6IGZpcnN0IGxvd2VyLWNhc2luZyB0aGUgc3RyaW5nIG1ha2VzCgkgIGNvbXBhcmluZyBpdHMgY29udGVudHMgZWFzaWVyCgoJICBBbGV4CgoyMDA5LTA1LTEwIDA2OjAwICBhbGV4CgoJKiBNb2R1bGVzLzogQ01ha2VDb2RlQmxvY2tzLmNtYWtlLCBDTWFrZUVjbGlwc2VDRFQ0LmNtYWtlLAoJICBDTWFrZUtEZXZlbG9wMy5jbWFrZSwgQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlOiBFTkg6CgkgIG1vdmUgdGhlIGNvZGUgd2hpY2ggcXVlcmllcyBnY2MgZm9yIHRoZSBzeXN0ZW0gaW5jbHVkZSBkaXJzIGZyb20KCSAgQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlIGludG8gYSBzZXBhcmF0ZSBmaWxlLAoJICBDTWFrZUVjbGlwc2VDRFQ0LmNtYWtlIC1pZiBDTUFLRV9FWFRSQV9HRU5FUkFUT1IgaXMgc2V0LCBpLmUuCgkgIGVpdGhlciBDb2RlQmxvY2tzIG9yIEtEZXZlbG9wMyBvciBFY2xpcHNlQ0RUNCwgbG9hZCBhIG1hdGNoaW5nCgkgIGNtYWtlIHNjcmlwdCBmaWxlLCB3aGljaCBjYW4gZG8gdGhpbmdzIHNwZWNpZmljIGZvciB0aGlzCgkgIGdlbmVyYXRvciAtIGFkZGVkIHN1Y2ggZmlsZXMgZm9yIEVjbGlwc2UsIEtEZXZlbG9wIGFuZAoJICBDb2RlQmxvY2tzLCBvbmUgdGhpbmcgdGhleSBhbGwgZG8gaXMgdGhleSB0cnkgdG8gZmluZCB0aGUKCSAgcmVzcGVjdGl2ZSBJREUgYW5kIHN0b3JlIGl0IGluIHRoZQoJICBDTUFLRV8oS0RFVkVMT1AzfENPREVCTE9DS1N8RUNMSVBTRSlfRVhFQ1VUQUJMRSB2YXJpYWJsZS4gIFRoaXMKCSAgY291bGQgYmUgdXNlZCBieSBjbWFrZS1ndWkgdG8gb3BlbiB0aGUgcHJvamVjdCBpdCBqdXN0IGdlbmVyYXRlZAoJICB3aXRoIHRoZSBndWkgKG5vdCBzdXJlIHRoaXMgaXMgcG9zc2libGUgd2l0aCBlY2xpcHNlKS4KCgkgIEFsZXgKCjIwMDktMDUtMTAgMDU6MjkgIGFsZXgKCgkqIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBCVUc6IGRvbid0IHJlcG9ydAoJICBjaGFuZ2VkIGNvbXBpbGVyIHZhcmlhYmxlcyBpZiB0aGUgcGF0aCB0byB0aGUgY29tcGlsZXIgZGlmZmVycwoJICBvbmx5IGUuZy4gYSBkb3VibGUgc2xhc2ggc29tZXdoZXJlIGluc3RlYWQgb25seSBvbmUgc2xhc2ggYXMKCSAgZGlyZWN0b3J5IHNlcGFyYXRvciAoIzg4OTApCgoJICBBbGV4CgoyMDA5LTA1LTEwIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDUtMDkgMTc6MjUgIGFsZXgKCgkqIFNvdXJjZS9jbURvY3VtZW50VmFyaWFibGVzLmN4eDogU1RZTEU6IGRvY3VtZW50CgkgIENNQUtFX0lOQ0xVREVfQ1VSUkVOVF9ESVIKCgkgIEFsZXgKCjIwMDktMDUtMDkgMDg6MTUgIGFsZXgKCgkqIE1vZHVsZXMvOiBDTWFrZVZTOEZpbmRNYWtlLmNtYWtlLCBDTWFrZVZTOUZpbmRNYWtlLmNtYWtlOiBFTkg6CgkgIHdoZW4gY3Jvc3MgY29tcGlsaW5nLCBlLmcuIGZvciBXaW5DRSwgZG9uJ3QgdXNlIFZDRXhwcmVzcywgc2luY2UKCSAgdGhpcyBkb2Vzbid0IHN1cHBvcnQgaXQgVGhpcyBpcyB0aGUgZmlyc3QgcGF0Y2ggdG8gYWRkIHN1cHBvcnQKCSAgZm9yIFdpbkNFIHRvIGNtYWtlICgjNzkxOSkKCgkgIEFsZXgKCjIwMDktMDUtMDkgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNS0wOCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA1LTA3IDE4OjIyICBob2ZmbWFuCgoJKiBTb3VyY2UvY3Rlc3QuY3h4OiBFTkg6IGFkZCBkb2NzIGZvciBjb21tYW5kIGxpbmUgY3Rlc3QKCjIwMDktMDUtMDcgMTg6MjAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogQlVHOiA4ODk4IGZpeCBkYXRlIGluIGN0ZXN0IG5pZ2h0bHkgdGltZQoKMjAwOS0wNS0wNyAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA1LTA2IDExOjIxICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEJVRzogIEZpeCBzcGFjZXMgaW4gZmlsZSBwYXRocyBmb3IgbHVwZGF0ZQoJICBjb21tYW5kCgoyMDA5LTA1LTA2IDA5OjQyICBjbGludG9uCgoJKiBNb2R1bGVzLzogRmluZFF0NC5jbWFrZSwgVXNlUXQ0LmNtYWtlOgoJICBFTkg6CUFkZCBzdXBwb3J0IGZvciBRdFNjcmlwdFRvb2xzIGluIFF0IDQuNS4KCjIwMDktMDUtMDYgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNS0wNSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA1LTA0IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDUtMDMgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNS0wMiAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA1LTAxIDEwOjM5ICBraW5nCgoJKiBTb3VyY2UvOiBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0Lmg6IEVOSDogUmVtb3ZlIGNtVGFyZ2V0IGludGVybmFsCgkgIHR5cGUgYXJndW1lbnRzCgoJICBJbnRlcm5hbGx5IGNtVGFyZ2V0IHdhcyBwYXNzaW5nIHRoZSB0YXJnZXQgdHlwZSBpbiBzZXZlcmFsIG5hbWUKCSAgY29tcHV0YXRpb24gc2lnbmF0dXJlcyB0byBzdXBwb3J0IGNvbXB1dGF0aW9uIG9mIGJvdGggc2hhcmVkIGFuZAoJICBzdGF0aWMgbGlicmFyeSBuYW1lcyBmb3Igb25lIHRhcmdldC4JV2Ugbm8gbG9uZ2VyIG5lZWQgdG8KCSAgY29tcHV0ZSBib3RoIG5hbWVzLCBzbyB0aGlzIGNoYW5nZSBzaW1wbGlmaWVzIHRoZSBpbnRlcm5hbHMgYnkKCSAgdXNpbmcgdGhlIEdldFR5cGUgbWV0aG9kIGFuZCBkcm9wcGluZyB0aGUgdHlwZSBmcm9tIG1ldGhvZAoJICBzaWduYXR1cmVzLgoKMjAwOS0wNS0wMSAxMDozOSAga2luZwoKCSogU291cmNlLzogY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuY3h4LCBjbVRhcmdldC5jeHgsCgkgIGNtVGFyZ2V0Lmg6IEVOSDogUmVtb3ZlIGNtVGFyZ2V0OjpHZXRFeGVjdXRhYmxlQ2xlYW5OYW1lcwoKCSAgVGhpcyBtZXRob2Qgd2FzIHJlZHVuZGFudCB3aXRoIEdldEV4ZWN1dGFibGVOYW1lcy4KCjIwMDktMDUtMDEgMTA6MzggIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbVNldFRhcmdldFByb3BlcnRpZXNDb21tYW5kLmgsIFNvdXJjZS9jbVRhcmdldC5jeHgsCgkgIFNvdXJjZS9jbVRhcmdldC5oLCBUZXN0cy9Db21wbGV4L0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9DTWFrZUxpc3RzLnR4dDogRU5IOiBBbHdheXMKCSAgaW1wbHkgQ0xFQU5fRElSRUNUX09VVFBVVCB0YXJnZXQgcHJvcAoKCSAgVGhpcyBwcm9wZXJ0eSB3YXMgbGVmdCBmcm9tIGJlZm9yZSBDTWFrZSBhbHdheXMgbGlua2VkIHVzaW5nIGZ1bGwKCSAgcGF0aCBsaWJyYXJ5IG5hbWVzIGZvciB0YXJnZXRzIGl0IGJ1aWxkcy4gIEluIG9yZGVyIHRvIHNhZmVseQoJICBsaW5rIHdpdGggIi1sZm9vIiB3ZSBuZWVkZWQgdG8gYXZvaWQgaGF2aW5nIGJvdGggc2hhcmVkIGFuZAoJICBzdGF0aWMgbGlicmFyaWVzIGluIHRoZSBidWlsZCB0cmVlIGZvciB0YXJnZXRzIHRoYXQgc3dpdGNoIG9uCgkgIEJVSUxEX1NIQVJFRF9MSUJTLiAgVGhpcyBtZWFudCBjbGVhbmluZyBib3RoIHNoYXJlZCBhbmQgc3RhdGljCgkgIG5hbWVzIGJlZm9yZSBjcmVhdGluZyB0aGUgbGlicmFyeSwgd2hpY2ggbGVkIHRvIHRoZSBjcmVhdGlvbiBvZgoJICBDTEVBTl9ESVJFQ1RfT1VUUFVUIHRvIGRpc2FibGUgdGhlIGJlaGF2aW9yLgoKCSAgTm93IHRoYXQgd2UgYWx3YXlzIGxpbmsgd2l0aCBhIGZ1bGwgcGF0aCB3ZSBkbyBub3QgbmVlZCB0byBjbGVhbgoJICBvbGQgbGlicmFyeSBuYW1lcyBsZWZ0IGZyb20gYW4gYWx0ZXJuYXRlIHNldHRpbmcgb2YKCSAgQlVJTERfU0hBUkVEX0xJQlMuICBUaGlzIGNoYW5nZSByZW1vdmVzIHRoZSBDTEVBTl9ESVJFQ1RfT1VUUFVUCgkgIHByb3BlcnR5IGFuZCBpbnN0ZWFkIHVzZXMgaXRzIGJlaGF2aW9yIGFsd2F5cy4gIEl0IHJlbW92ZXMgc29tZQoJICBjb21wbGV4aXR5IGZyb20gY21UYXJnZXQgaW50ZXJuYWxseS4KCjIwMDktMDUtMDEgMDk6NDUgIGtpbmcKCgkqIFNvdXJjZS9jbVRhcmdldC5jeHgsIFNvdXJjZS9jbVRhcmdldC5oLAoJICBUZXN0cy9FeHBvcnRJbXBvcnQvRXhwb3J0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWxsb3cgbW9yZQoJICBzcGVjaWZpY2F0aW9uIG9mIHRhcmdldCBmaWxlIG5hbWVzCgoJICBUaGlzIGNyZWF0ZXMgdGFyZ2V0IHByb3BlcnRpZXMgQVJDSElWRV9PVVRQVVRfTkFNRSwKCSAgTElCUkFSWV9PVVRQVVRfTkFNRSwgYW5kIFJVTlRJTUVfT1VUUFVUX05BTUUsIGFuZAoJICBwZXItY29uZmlndXJhdGlvbiBlcXVpdmFsZW50IHByb3BlcnRpZXMKCSAgQVJDSElWRV9PVVRQVVRfTkFNRV88Q09ORklHPiwgTElCUkFSWV9PVVRQVVRfTkFNRV88Q09ORklHPiwgYW5kCgkgIFJVTlRJTUVfT1VUUFVUX05BTUVfPENPTkZJRz4uICBUaGV5IGFsbG93IHNwZWNpZmljYXRpb24gb2YgdGFyZ2V0CgkgIG91dHB1dCBmaWxlIG5hbWVzIG9uIGEgcGVyLXR5cGUsIHBlci1jb25maWd1cmF0aW9uIGJhc2lzLiAgRm9yCgkgIGV4YW1wbGUsIGEgLmRsbCBhbmQgaXRzIC5saWIgaW1wb3J0IGxpYnJhcnkgbWF5IGhhdmUgZGlmZmVyZW50CgkgIGJhc2UgbmFtZXMuCgoJICBGb3IgY29uc2lzdGVuY3kgYW5kIHRvIGF2b2lkIGFtYmlndWl0eSwgdGhlIG9sZAoJICA8Q09ORklHPl9PVVRQVVRfTkFNRSBwcm9wZXJ0eSBpcyBub3cgYWxzbyBhdmFpbGFibGUgYXMKCSAgT1VUUFVUX05BTUVfPENPTkZJRz4uCgoJICBTZWUgaXNzdWUgIzg5MjAuCgoyMDA5LTA1LTAxIDA5OjQ1ICBraW5nCgoJKiBTb3VyY2UvOiBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0Lmg6IEVOSDogUmVmYWN0b3IgdGFyZ2V0IG91dHB1dAoJICBmaWxlIHR5cGUgY29tcHV0YXRpb24KCgkgIFRoaXMgY3JlYXRlcyBtZXRob2QgY21UYXJnZXQ6OkdldE91dHB1dFRhcmdldFR5cGUgdG8gY29tcHV0ZSB0aGUKCSAgb3V0cHV0IGZpbGUgdHlwZSAnQVJDSElWRScsICdMSUJSQVJZJywgb3IgJ1JVTlRJTUUnIGZyb20gdGhlCgkgIHBsYXRmb3JtIGFuZCB0YXJnZXQgdHlwZS4gIEl0IGZhY3RvcnMgb3V0IGxvZ2ljIGZyb20gdGhlIHRhcmdldAoJICBvdXRwdXQgZGlyZWN0b3J5IGNvbXB1dGF0aW9uIGNvZGUgZm9yIGxhdGVyIHJlLXVzZS4KCjIwMDktMDUtMDEgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNC0zMCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA0LTI5IDE1OjA3ICBraW5nCgoJKiBNb2R1bGVzL1VudGFyRmlsZS5jbWFrZTogRU5IOiBUZWFjaCBVbnRhckZpbGUgdG8gcHJlc2VydmUgZmlsZQoJICB0aW1lc3RhbXBzCgoJICBBZnRlciBleHRyYWN0aW5nIHRoZSB0YXJiYWxsIGluIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSB3ZSBjb3B5IHRoZQoJICB0cmVlIHRvIHRoZSBkZXN0aW5hdGlvbiBkaXJlY3RvcnkuICBUaGUgJ2NtYWtlIC1FIGNvcHlfZGlyZWN0b3J5JwoJICBjb21tYW5kIGRvZXMgbm90IHByZXNlcnZlIGZpbGUgdGltZXN0YW1wcywgc28gd2UgdXNlIGZpbGUoQ09QWSkKCSAgaW5zdGVhZC4KCjIwMDktMDQtMjkgMTQ6NTAgIGtpbmcKCgkqIFNvdXJjZS9jbUZpbGVDb21tYW5kLmN4eDogQ09NUDogQXZvaWQgdW51c2VkIGFyZyB3YXJuaW5ncyBpbgoJICBjbUZpbGVDb21tYW5kCgoJICBUaGUgZGVmYXVsdCBjbUZpbGVDb3BpZXI6OlJlcG9ydENvcHkgaW1wbGVtZW50YXRpb24gaXMgZW1wdHksIHNvCgkgIHdlIHNob3VsZCBsZWF2ZSBvdXQgdGhlIGFyZ3VtZW50IG5hbWVzLgoKMjAwOS0wNC0yOSAxNDoyMCAga2luZwoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RDVlMuY3h4OiBCVUc6IFJlbW92ZSAnLWQ8bm93JyBmcm9tICdjdnMgbG9nJwoJICBjb21tYW5kcwoKCSAgV2hlbiBDVGVzdCBydW5zICdjdnMgbG9nJyB0byBnZXQgcmV2aXNpb24gaW5mb3JtYXRpb24gZm9yIHVwZGF0ZWQKCSAgZmlsZXMsIHdlIHdlcmUgcGFzc2luZyAnLWQ8bm93Jy4gIFRoZSBvcHRpb24gc2VlbXMgdXNlbGVzcyBzaW5jZQoJICByZXZpc2lvbnMgY2Fubm90IGJlIGNyZWF0ZWQgaW4gdGhlIGZ1dHVyZSwgYW5kIGNhbiBsb3NlIHJldmlzaW9ucwoJICBpZiB0aGUgY2xpZW50IG1hY2hpbmUgY2xvY2sgaXMgYmVoaW5kIHRoZSBzZXJ2ZXIuCgoyMDA5LTA0LTI5IDE0OjAyICBraW5nCgoJKiBUZXN0cy9DTWFrZVRlc3RzL0ZpbGVUZXN0LmNtYWtlLmluOiBCVUc6IEZpeCBDTWFrZS5GaWxlIHRlc3QgZm9yCgkgIGRlZXAgZGlyIG5hbWUKCgkgIFRoaXMgZml4ZXMgdGhlIHJlZ2V4IGNoZWNraW5nIGV4cGVjdGVkIG91dHB1dCBvZiBDb3B5LU5vRmlsZSB0bwoJICBhY2NvdW50IGZvciBsaW5lIHdyYXBwaW5nIHdoZW4gdGhlIGlucHV0IGRpcmVjdG9yeSBuYW1lIGlzIGxvbmcuCgoyMDA5LTA0LTI5IDEzOjU3ICBraW5nCgoJKiBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHg6IENPTVA6IEZpeCBuZXN0ZWQgY2xhc3MgbWVtYmVyIGFjY2VzcwoKCSAgTmVzdGVkIGNsYXNzZXMgaGF2ZSBubyBzcGVjaWFsIGFjY2VzcyB0byBvdGhlciBtZW1iZXJzIG9mIHRoZWlyCgkgIGVuY2xvc2luZyBjbGFzcy4gIEluIGNtRmlsZUNvcGllciB0aGUgbmVzdGVkIGNsYXNzIE1hdGNoUnVsZSBtdXN0CgkgIHVzZSBNYXRjaFByb3BlcnRpZXMsIHNvIHdlIGdyYW50IGZyaWVuZHNoaXAgdG8gaXQuCgoyMDA5LTA0LTI5IDEzOjMzICBraW5nCgoJKiBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHg6IENPTVA6IEZpeCBub24tdmlydHVhbCBkZXN0cnVjdG9yCgkgIHdhcm5pbmcKCgkgIFRoaXMgZ2l2ZXMgY21GaWxlQ29waWVyIGEgdmlydHVhbCBkZXN0cnVjdG9yIHNpbmNlIGl0IGhhcyB2aXJ0dWFsCgkgIG1ldGhvZHMuICBXaGlsZSB3ZSBuZXZlciBhY3R1YWxseSBkZWxldGUgdGhyb3VnaCBhIGJhc2UgcG9pbnRlcgoJICAob3IgZHluYW1pY2FsbHkgYXQgYWxsKSwgdGhlIGNvbXBpbGVyIGRvZXNuJ3Qga25vdyBhbmQgd2FybnMKCSAgYW55d2F5LgoKMjAwOS0wNC0yOSAxMzoxMyAga2luZwoKCSogVGVzdHMvQ01ha2VUZXN0cy86IENNYWtlTGlzdHMudHh0LCBGaWxlLUNvcHktQmFkQXJnLmNtYWtlLAoJICBGaWxlLUNvcHktQmFkUGVybS5jbWFrZSwgRmlsZS1Db3B5LUJhZFJlZ2V4LmNtYWtlLAoJICBGaWxlLUNvcHktRWFybHlBcmcuY21ha2UsIEZpbGUtQ29weS1MYXRlQXJnLmNtYWtlLAoJICBGaWxlLUNvcHktTm9EZXN0LmNtYWtlLCBGaWxlLUNvcHktTm9GaWxlLmNtYWtlLAoJICBGaWxlVGVzdC5jbWFrZS5pbjogRU5IOiBUZXN0IGZpbGUoQ09QWSkgZmFpbHVyZSBjYXNlcwoKCSAgVGhpcyB0ZXN0cyBzb21lIGNhc2VzIG9mIGJhZCBhcmd1bWVudHMgdG8gdGhlIGZpbGUoQ09QWSkKCSAgc2lnbmF0dXJlLiAgSXQgY2hlY2tzIHRoYXQgdGhlIHByb3BlciBlcnJvciBtZXNzYWdlcyBhcmUKCSAgcHJvZHVjZWQuCgoyMDA5LTA0LTI5IDEzOjEzICBraW5nCgoJKiBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUZpbGVDb21tYW5kLmgsCgkgIFRlc3RzL1N0cmluZ0ZpbGVUZXN0L0NNYWtlTGlzdHMudHh0OiBFTkg6IENyZWF0ZSBmaWxlKENPUFkpCgkgIGNvbW1hbmQgc2lnbmF0dXJlCgoJICBUaGUgZmlsZShJTlNUQUxMKSBjb21tYW5kIGhhcyBsb25nIGJlZW4gdW5kb2N1bWVudGVkIGFuZCB1c2VkCgkgIG9ubHkgdG8gaW1wbGVtZW50IGluc3RhbGwoKSBzY3JpcHRzLglXZSBub3cgZG9jdW1lbnQgaXQgYW5kCgkgIHByb3ZpZGUgYSBzaW1pbGFyIGZpbGUoQ09QWSkgc2lnbmF0dXJlIHdoaWNoIGlzIHVzZWZ1bCBpbgoJICBnZW5lcmFsLXB1cnBvc2Ugc2NyaXB0cy4gIEl0IHByb3ZpZGVzIHRoZSBjYXBhYmlsaXRpZXMgb2YKCSAgaW5zdGFsbChESVJFQ1RPUlkpIGFuZCBpbnN0YWxsKEZJTEVTKSBidXQgb3BlcmF0ZXMgaW1tZWRpYXRlbHkKCSAgaW5zdGVhZCBvZiBjb250cmlidXRpbmcgdG8gaW5zdGFsbCBzY3JpcHRzLgoKMjAwOS0wNC0yOSAxMzoxMyAga2luZwoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4OiBFTkg6IFRlYWNoIGZpbGUoSU5TVEFMTCkgcmVsYXRpdmUgcGF0aHMKCgkgIFRoaXMgdGVhY2hlcyB0aGUgdW5kb2N1bWVudGVkIGZpbGUoSU5TVEFMTCkgY29tbWFuZCB0byBkZWFsIHdpdGgKCSAgcmVsYXRpdmUgcGF0aHMuICBSZWxhdGl2ZSBpbnB1dCBmaWxlIHBhdGhzIGFyZSBldmFsdWF0ZWQgd2l0aAoJICByZXNwZWN0IHRvIHRoZSBjdXJyZW50IHNvdXJjZSBkaXJlY3RvcnkuICBSZWxhdGl2ZSBvdXRwdXQgZmlsZQoJICBwYXRocyBhcmUgZXZhbHVhdGVkIHdpdGggcmVzcGVjdCB0byB0aGUgY3VycmVudCBiaW5hcnkgZGlyZWN0b3J5LgoKCSAgV2hpbGUgdGhpcyBjb21tYW5kIGlzIGN1cnJlbnRseSB1c2VkIG9ubHkgaW4gY21ha2VfaW5zdGFsbC5jbWFrZQoJICBzY3JpcHRzIChpbiAtUCBzY3JpcHQgbW9kZSksIHRoaXMgY2xlYW5zIHVwIGl0cyBpbnRlcmZhY2UgaW4KCSAgcHJlcGFyYXRpb24gZm9yIGEgZG9jdW1lbnRlZCBzaWduYXR1cmUuCgoyMDA5LTA0LTI5IDEzOjEyICBraW5nCgoJKiBTb3VyY2UvOiBjbUZpbGVDb21tYW5kLmN4eCwgY21GaWxlQ29tbWFuZC5oOiBFTkg6IFJlZmFjdG9yCgkgIGZpbGUoSU5TVEFMTCkgaW1wbGVtZW50YXRpb24KCgkgIFRoZSB1bmRvY3VtZW50ZWQgZmlsZShJTlNUQUxMKSBpcyBpbXBsZW1lbnRlZCBieSBhCgkgIGNtRmlsZUluc3RhbGxlciBjbGFzcyBpbnNpZGUgY21GaWxlQ29tbWFuZC4gIFRoaXMgcmVmYWN0b3JzIHRoZQoJICBjbGFzcyB0byBzcGxpdCBvdXQgY29kZSBub3Qgc3BlY2lmaWMgdG8gaW5zdGFsbGF0aW9uIGludG8gYQoJICBjbUZpbGVDb3BpZXIgYmFzZSBjbGFzcy4KCjIwMDktMDQtMjkgMDg6NDcgIGtpbmcKCgkqIFNvdXJjZS86IGNtRmlsZUNvbW1hbmQuY3h4LCBjbUZpbGVDb21tYW5kLmg6IEVOSDogU2VuZCBhbGwgZmlsZQoJICBpbnN0YWxsYXRpb25zIHRocm91Z2ggb25lIHBhdGgKCgkgIFRoaXMgY3JlYXRlcyBhIHNpbmdsZSBjbUZpbGVJbnN0YWxsZXIgbWV0aG9kIHRvIGRpc3BhdGNoCgkgIGluc3RhbGxhdGlvbiBvZiBzeW1saW5rcywgZGlyZWN0b3JpZXMsIGFuZCBmaWxlcy4gIFRoZSBjaGFuZ2UKCSAgcmVtb3ZlcyBkdXBsaWNhdGUgdGVzdHMgb2YgaW5wdXQgZmlsZSB0eXBlIGFuZCBtYWtlcyB0aGUgZGVjaXNpb24KCSAgbW9yZSBjb25zaXN0ZW50LgoKMjAwOS0wNC0yOSAwODo0NyAga2luZwoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4OiBFTkg6IEJldHRlciBlcnJvciBvbiBmaWxlIHBlcm0gb3IgdGltZQoJICBmYWlsdXJlCgoJICBUaGlzIGltcHJvdmVzIHRoZSBlcnJvciBtZXNzYWdlIHByb2R1Y2VkIGR1cmluZyBpbnN0YWxsYXRpb24gd2hlbgoJICBDTWFrZSBjYW5ub3Qgc2V0IGZpbGUgbW9kaWZpY2F0aW9uIHRpbWUgb3IgcGVybWlzc2lvbnMuCgoyMDA5LTA0LTI5IDA4OjQ2ICBraW5nCgoJKiBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHg6IEJVRzogRXJyb3Igd2hlbiBpbnN0YWxsIGRpciBjYW5ub3QgYmUKCSAgY3JlYXRlZAoKCSAgVGhpcyB0ZWFjaGVzIHRoZSB1bmRvY3VtZW50ZWQgZmlsZShJTlNUQUxMKSBjb21tYW5kIHRvIHJlcG9ydCBhbgoJICBlcnJvciB3aGVuIGl0IGNhbm5vdCBjcmVhdGUgdGhlIGRlc3RpbmF0aW9uIGRpcmVjdG9yeS4KCjIwMDktMDQtMjkgMDg6NDYgIGtpbmcKCgkqIFNvdXJjZS9jbUZpbGVDb21tYW5kLmN4eDogRU5IOiBTaW1wbGlmeSBDTUFLRV9JTlNUQUxMX0FMV0FZUwoJICBpbXBsZW1lbnRhdGlvbgoKCSAgVGhpcyBzaW1wbGlmaWVzIGNtRmlsZUluc3RhbGxlciBpbnRlcm5hbGx5IGJ5IHN0b3JpbmcgdGhlCgkgICdhbHdheXMnIG1hcmsgYXMgYW4gaW5zdGFuY2UgdmFyaWFibGUgaW5zdGVhZCBvZiBwYXNzaW5nIGl0CgkgIHRocm91Z2ggYWxsIG1ldGhvZCBzaWduYXR1cmVzLgoKMjAwOS0wNC0yOSAwODo0NiAga2luZwoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4OiBFTkg6IFNpbXBsaWZ5IGNvbnN0cnVjdGlvbiBvZgoJICBjbUZpbGVJbnN0YWxsZXIKCgkgIFRoaXMgY2xlYW5zIHVwIHRoZSBjbUZpbGVJbnN0YWxsZXIgY29uc3RydWN0b3Igc2lnbmF0dXJlLgoKMjAwOS0wNC0yOSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA0LTI4IDE0OjU4ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dDogRU5IOiBmaW5hbCAyLjYuNCByZWxlYXNlCgoyMDA5LTA0LTI4IDA4OjE5ICBraW5nCgoJKiBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHg6IEJVRzogRml4IHJlcXVpcmVkIHBlcm1pc3Npb25zIGNoZWNrCgkgIGFnYWluCgoJICBXaGlsZSBjb3B5aW5nIGEgZGlyZWN0b3J5IHRoZSBkZXN0aW5hdGlvbiBtdXN0IGhhdmUgb3duZXIgcnd4CgkgIHBlcm1pc3Npb25zLglUaGlzIGNvcnJlY3RzIG91ciBjaGVjaywgdGhpcyB0aW1lIHdpdGggY29ycmVjdAoJICBvcGVyYXRvciBwcmVjZWRlbmNlIHVzaW5nIHBhcmVudGhlc2lzLgoKMjAwOS0wNC0yOCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA0LTI3IDEzOjIwICBraW5nCgoJKiBTb3VyY2UvOiBjbUZpbGVDb21tYW5kLmN4eCwgY21GaWxlQ29tbWFuZC5oLAoJICBjbUluc3RhbGxEaXJlY3RvcnlHZW5lcmF0b3IuY3h4LCBjbUluc3RhbGxFeHBvcnRHZW5lcmF0b3IuY3h4LAoJICBjbUluc3RhbGxGaWxlc0dlbmVyYXRvci5jeHgsIGNtSW5zdGFsbEdlbmVyYXRvci5jeHgsCgkgIGNtSW5zdGFsbEdlbmVyYXRvci5oLCBjbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuY3h4OiBFTkg6IFJlbW92ZQoJICB1bnVzZWQgUFJPUEVSVElFUyBmcm9tIGZpbGUoSU5TVEFMTCkKCgkgIFRoZSB1bmRvY3VtZW50ZWQgZmlsZShJTlNUQUxMKSBjb21tYW5kIHVzZWQgdG8gc3VwcG9ydCBhCgkgIFBST1BFUlRJRVMgb3B0aW9uLCBidXQgbm8gaW5zdGFsbCBjb2RlIHN0aWxsIHVzZXMgaXQuICBUaGlzCgkgIHJlbW92ZXMgdGhlIG9wdGlvbi4KCjIwMDktMDQtMjcgMTM6MjAgIGtpbmcKCgkqIFNvdXJjZS9jbUZpbGVDb21tYW5kLmN4eDogQlVHOiBGaXggcmVxdWlyZWQgcGVybWlzc2lvbnMgY2hlY2sgZm9yCgkgIGRpciBjb3B5CgoJICBXaGlsZSBjb3B5aW5nIGEgZGlyZWN0b3J5IHRoZSBkZXN0aW5hdGlvbiBtdXN0IGhhdmUgb3duZXIgcnd4CgkgIHBlcm1pc3Npb25zLglUaGlzIGNvcnJlY3RzIG91ciBjaGVjay4KCjIwMDktMDQtMjcgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNC0yNiAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA0LTI1IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDQtMjQgMTE6NDQgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogRU5IOiB2bXMgZml4CgoyMDA5LTA0LTI0IDExOjIxICBraW5nCgoJKiBUZXN0cy9QcmVwcm9jZXNzL0NNYWtlTGlzdHMudHh0OiBFTkg6IFRlc3Qgc3BhY2VzIGluIG5vbi1zdHJpbmcKCSAgcHJlcHJvY2Vzc29yIHZhbHVlcwoKCSAgVGhpcyBleHRlbmRzIHRoZSBQcmVwcm9jZXNzb3IgdGVzdCB0byBwdXQgc3BhY2VzIGluIHRoZSB2YWx1ZSBvZgoJICBhIGRlZmluaXRpb24gdGhhdCBpcyBub3QgYSBxdW90ZWQgc3RyaW5nLiAgSW4gcGFydGljdWxhciB0aGlzCgkgIHRlc3RzIHRoYXQgVlM2IHN1cHBvcnRzIHZhbHVlcyB3aXRoIHNwYWNlcyBpZiB0aGV5IGRvIG5vdCBoYXZlCgkgICciJywgJyQnLCBvciAnOycuICBTZWUgaXNzdWUgIzg3NzkuCgoyMDA5LTA0LTI0IDExOjE3ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwKCSAgVGVzdHMvUHJlcHJvY2Vzcy9DTWFrZUxpc3RzLnR4dDogRU5IOiBTdXBwb3J0IG1vcmUgcHJlcHJvY2Vzc29yCgkgIHZhbHVlcyBpbiBWUzYKCgkgIFByZXZpb3VzbHkgd2UgcmVqZWN0ZWQgYWxsIHByZXByb2Nlc3NvciBkZWZpbml0aW9uIHZhbHVlcwoJICBjb250YWluaW5nIHNwYWNlcyBmb3IgdGhlIFZTNiBJREUgZ2VuZXJhdG9yLglJbiBmYWN0IFZTNiBkb2VzCgkgIHN1cHBvcnQgc3BhY2VzIGJ1dCBub3QgaW4gY29tYmluYXRpb24gd2l0aCAnIicsICckJywgb3IgJzsnLCBhbmQKCSAgb25seSBpZiB3ZSB1c2UgdGhlIHN5dG5heCAnLUROQU1FPSJ2YWx1ZSB3aXRoIHNwYWNlcyInIGluc3RlYWQgb2YKCSAgJy1EIk5BTUU9dmFsdWUgd2l0aCBzcGFjZXMiJy4gIE5vdyB3ZSBzdXBwb3J0IGFsbCBkZWZpbml0aW9uCgkgIHZhbHVlcyB0aGF0IGRvIG5vdCBoYXZlIG9uZSBvZiB0aGVzZSBpbnZhbGlkIHBhaXJzLiAgU2VlIGlzc3VlCgkgICM4Nzc5LgoKMjAwOS0wNC0yNCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA0LTIzIDExOjA5ICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvOiBQcm9jZXNzVU5JWC5jLCBTeXN0ZW0uaC5pbiwgU3lzdGVtVG9vbHMuY3h4LAoJICBrd3N5c1ByaXZhdGUuaDogRU5IOiBjaGVjayBpbiBhbG1vc3QgYnVpbGRpbmcgVk1TIHN0dWZmIHdpdGgKCSAgVk1TQnVpbGQgZGlyZWN0b3J5IHNpbmNlIHRoZSBib290c3RyYXAgc2NyaXB0IHdpbGwgbm90IHdvcmsgb24KCSAgVk1TCgoyMDA5LTA0LTIzIDA5OjEwICBraW5nCgoJKiBUZXN0cy9DVGVzdFVwZGF0ZUdJVC5jbWFrZS5pbjogQlVHOiBGaXggQ1Rlc3QuVXBkYXRlR0lUIHRlc3QgZm9yCgkgIG9sZGVyIGdpdAoKCSAgT2xkZXIgZ2l0IHZlcnNpb25zIGRvIG5vdCBzdXBwb3J0ICdnaXQgaW5pdCAtLWJhcmUnLCBzbyB3ZQoJICBpbnN0ZWFkIHVzZSB0aGUgbW9yZSBwcm9wZXIgJ2dpdCAtLWJhcmUgaW5pdCcuCgoyMDA5LTA0LTIzIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDQtMjIgMTA6MjIgIGtpbmcKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0R0lULmN4eDogQ09NUDogRml4IGNsYXNzIHJlZmVyZW5jZSBmb3IgSFAgYUNDCgoyMDA5LTA0LTIyIDA5OjE4ICBraW5nCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9DVGVzdC9jbUNUZXN0R0lULmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RHSVQuaCwgU291cmNlL0NUZXN0L2NtQ1Rlc3RVcGRhdGVDb21tYW5kLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmgsIFRlc3RzL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9DVGVzdFVwZGF0ZUdJVC5jbWFrZS5pbjogRU5IOiBUZWFjaCBDVGVzdCB0byBoYW5kbGUgZ2l0CgkgIHJlcG9zaXRvcmllcwoKCSAgVGhpcyBjcmVhdGVzIGNtQ1Rlc3RHSVQgdG8gZHJpdmUgQ1Rlc3QgVXBkYXRlIGhhbmRsaW5nIG9uCgkgIGdpdC1iYXNlZCB3b3JrIHRyZWVzLiAgQ3VycmVudGx5IHdlIGFsd2F5cyB1cGRhdGUgdG8gdGhlIGhlYWQgb2YKCSAgdGhlIHJlbW90ZSB0cmFja2luZyBicmFuY2ggKGdpdCBwdWxsKSwgc28gdGhlIG5pZ2h0bHkgc3RhcnQgdGltZQoJICBpcyBpZ25vcmVkIGZvciBOaWdodGx5IGJ1aWxkcy4gIEEgbGF0ZXIgY2hhbmdlIHdpbGwgYWRkcmVzcyB0aGlzLgoJICAgU2VlIGlzc3VlICM2OTk0LgoKMjAwOS0wNC0yMiAwOToxOCAga2luZwoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIENUZXN0L2NtQ1Rlc3RHbG9iYWxWQy5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RHbG9iYWxWQy5oLCBDVGVzdC9jbUNUZXN0U1ZOLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdFNWTi5oOiBFTkg6IEZhY3RvciBnbG9iYWwtVkMgcGFydHMgb3V0IG9mIGNtQ1Rlc3RTVk4KCgkgIFRoaXMgZmFjdG9ycyBwYXJ0cyBvZiB0aGUgc3ZuIHVwZGF0ZSBpbXBsZW1lbnRhdGlvbiB0aGF0IGFyZQoJICB1c2VmdWwgZm9yIGFueSBnbG9iYWxseS12ZXJzaW9uaW5nIHZjcyB0b29sIGludG8gY21DVGVzdEdsb2JhbFZDLgoJICAgSXQgd2lsbCBhbGxvdyB0aGUgY29kZSB0byBiZSBzaGFyZWQgYW1vbmcgdGhlIHN1cHBvcnQgY2xhc3NlcwoJICBmb3IgbW9zdCB2Y3MgdG9vbHMuCgoyMDA5LTA0LTIyIDA5OjExICBraW5nCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IENPTVA6IEZpeCBjYWxscyB0byBzdXBlcmNsYXNzIG1ldGhvZHMKCSAgZm9yIEJvcmxhbmQKCgkgIFRoZSBzdXBlcmNsYXNzIG9mIGNtU3lzdGVtVG9vbHMgaXMgY21zeXM6OlN5c3RlbVRvb2xzLCB3aGljaAoJICBzaG91bGQgYmUgcmVmZXJlbmNhYmxlIGJ5IGp1c3QgU3lzdGVtVG9vbHMgZnJvbSBpbnNpZGUgdGhlIGNsYXNzLgoJICAgQm9ybGFuZCBDKysgZG9lcyBub3Qgc2VlbSB0byBzdXBwb3J0IHRoaXMsIHNvIHdlIHVzZQoJICBjbVN5c3RlbVRvb2xzIGluc3RlYWQuCgoyMDA5LTA0LTIyIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDQtMjEgMTg6MjMgIGFsZXgKCgkqIFNvdXJjZS9rd3N5cy9UZXJtaW5hbC5jOiBFTkg6IGFsc28gcmVjb2duaXplIHJ4dnQtMjU2Y29sb3IgYXMgYQoJICBjb2xvciB0ZXJtaW5hbCAoIzg5MTMsIHBhdGNoIGZyb20gRGVld2lhbnQpCgoJICBBbGV4CgoyMDA5LTA0LTIxIDE4OjE4ICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRNUEVHMi5jbWFrZTogRU5IOiBzZWFyY2ggYWxzbyBmb3IgbXBlZzJkZWMvbXBlZzIuaCwKCSAgYXMgdGhlIGRvY3VtZW50YXRpb24gc2F5cywgYW5kIGFzIGl0IGlzIGFsc28gaW5zdGFsbGVkIGJ5IHBsYWluCgkgIGxpYm1wZWcyICgjODQ1NSkgQWxzbyBtYXJrIHRoZSB2YXJpYWJsZXMgYXMgYWR2YW5jZWQuCgoJICBBbGV4CgoyMDA5LTA0LTIxIDE3OjE4ICBob2ZmbWFuCgoJKiBUZXN0cy9YMTEvQ01ha2VMaXN0cy50eHQ6IEVOSDogc25lYWsgYSB0ZXN0IGludG8gUkMgNQoKMjAwOS0wNC0yMSAxNzoxNSAgaG9mZm1hbgoKCSogVGVzdHMvWDExL0NNYWtlTGlzdHMudHh0OiBFTkg6IG1ha2Ugc3VyZSB0ZXN0cyBmb3IgY3BhY2sgYXJlIHJ1bgoJICBjb3JyZWN0bHkKCjIwMDktMDQtMjEgMTc6MTIgIGhvZmZtYW4KCgkqIFRlc3RzL1gxMS86IENNYWtlTGlzdHMudHh0OiBFTkg6IG1ha2Ugc3VyZSB0ZXN0cyBmb3IgY3BhY2sgYXJlCgkgIHJ1biBjb3JyZWN0bHkKCjIwMDktMDQtMjEgMTc6MTIgIGFsZXgKCgkqIE1vZHVsZXMvRmluZEpOSS5jbWFrZTogRU5IOiBhZGQgZXZlbiBtb3JlIHNlYXJjaCBkaXJlY3RvcmllcyBmb3IKCSAgZGViaWFuLWxpa2Ugc3lzdGVtcyAoc2VlICM4ODIxKQoKCSAgQWxleAoKMjAwOS0wNC0yMSAxNzowOSAgYWxleAoKCSogTW9kdWxlcy9GaW5kSk5JLmNtYWtlOiBFTkg6IGFkZCBvbmUgbW9yZSBzZWFyY2ggZGlyZWN0b3J5IChzZWUKCSAgIzg5MTkpCgoJICBBbGV4CgoyMDA5LTA0LTIxIDE2OjQ4ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwKCSAgTW9kdWxlcy9DUGFjay5PU1hTY3JpcHRMYXVuY2hlci5pbiwKCSAgTW9kdWxlcy9DUGFjay5PU1hTY3JpcHRMYXVuY2hlci5yc3JjLmluLAoJICBNb2R1bGVzL0NQYWNrLk9TWFgxMS5tYWluLnNjcHQuaW4sCgkgIE1vZHVsZXMvQ1BhY2suYmFja2dyb3VuZC5wbmcuaW4sIE1vZHVsZXMvQ1BhY2suY21ha2U6IEVOSDogbW92ZQoJICBvdmVyIG1vcmUgQ1BhY2sgZmlsZXMgaW50byAyLjYKCjIwMDktMDQtMjEgMTQ6MTIgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLAoJICBNb2R1bGVzL0NQYWNrLk9TWFgxMS5tYWluLnNjcHQuaW4sCgkgIFNvdXJjZS9RdERpYWxvZy9DTWFrZVNldHVwRGlhbG9nLnVpOiBFTkg6IG1lcmdlIGluIGNoYW5nZXMgYW5kCgkgIGNyZWF0ZSBSQyA1CgoyMDA5LTA0LTIxIDExOjM3ICBraW5nCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEJVRzogQXZvaWQgaW5maW5pdGUgbG9vcCBhdCBkaXJlY3RvcnkKCSAgdHJlZSByb290CgoJICBUaGUgc3lzdGVtIHRvb2xzIEdldFBhcmVudERpcmVjdG9yeSBtZXRob2Qgbm8gbG9uZ2VyIHJlbW92ZXMgdGhlCgkgIHJvb3QgcGF0aCBjb21wb25lbnQuCVRoaXMgZml4ZXMKCSAgY21TeXN0ZW1Ub29sczo6RmlsZUV4aXN0c0luUGFyZW50RGlyZWN0b3JpZXMgdG8gbm90IGluZmluaXRlbHkKCSAgbG9vcCBhdCB3aGVuIEdldFBhcmVudERpcmVjdG9yeSBzdG9wcyBhdCB0aGUgcm9vdC4KCjIwMDktMDQtMjEgMTE6MzYgIGtpbmcKCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmgsCgkgIGt3c3lzL1N5c3RlbVRvb2xzLmN4eCwga3dzeXMvU3lzdGVtVG9vbHMuaHh4LmluOiBFTkg6IFJlbW92ZQoJICBvYnNjdXJlIG1ldGhvZCBmcm9tIEtXU3lzIFN5c3RlbVRvb2xzCgoJICBUaGlzIHJlbW92ZXMgU3lzdGVtVG9vbHM6OkZpbGVFeGlzdHNJblBhcmVudERpcmVjdG9yaWVzIGZyb20KCSAgS1dTeXMgc2luY2UgaXQgaXMgYSBzcGVjaWFsLXB1cnBvc2UgbWV0aG9kIHRoYXQgaXMgbm90IGdlbmVyYWxseQoJICB1c2VmdWwuCgoyMDA5LTA0LTIxIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDQtMjAgMDg6NDIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEJVRzogRml4CgkgIFN5c3RlbVRvb2xzOjpJc1N1YkRpcmVjdG9yeSBvbiBiYWQgaW5wdXQKCgkgIFdoZW4gU3lzdGVtVG9vbHM6OkdldFBhcmVudERpcmVjdG9yeSB3YXMgZml4ZWQgdG8gbmV2ZXIgcmVtb3ZlCgkgIHRoZSByb290IHBhdGggY29tcG9uZW50IGZyb20gYSBmdWxsIHBhdGggd2UgdmlvbGF0ZWQgYW4KCSAgYXNzdW1wdGlvbiBtYWRlIGJ5IElzU3ViRGlyZWN0b3J5IHRoYXQgZXZlbnR1YWxseQoJICBHZXRQYXJlbnREaXJlY3RvcnkgcmV0dXJucyBhbiBlbXB0eSBzdHJpbmcuICBUaGlzIGxlZCB0byBhbgoJICBpbmZpbml0ZSBsb29wIGlmIHRoZSBwb3RlbnRpYWwgcGFyZW50IGRpcmVjdG9yeSBpcyBlbXB0eSwgc28gd2UKCSAgZXhwbGljaXRseSBhdm9pZCB0aGF0IGNhc2UuCgoyMDA5LTA0LTIwIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDQtMTkgMTI6NDYgIGFsZXgKCgkqIE1vZHVsZXMvRmluZEJMQVMuY21ha2UsIE1vZHVsZXMvRmluZEJvb3N0LmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRMQVBBQ0suY21ha2UsIE1vZHVsZXMvRmluZE1vdGlmLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRSVEkuY21ha2UsIE1vZHVsZXMvRmluZHd4V2lkZ2V0cy5jbWFrZSwKCSAgTW9kdWxlcy9TcXVpc2hUZXN0U2NyaXB0LmNtYWtlLCBNb2R1bGVzL1VzZV93eFdpbmRvd3MuY21ha2UsCgkgIFNvdXJjZS9jbURvY3VtZW50VmFyaWFibGVzLmN4eCwgU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtYWtlLmN4eCwgU291cmNlL2NtYWtlbWFpbi5jeHg6IFNUWUxFOiBmaXggdHlwb3MgaW4gdGhlCgkgIGRvY3MKCgkgIEFsZXgKCjIwMDktMDQtMTkgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNC0xOCAxNDozNyAgaG9mZm1hbgoKCSogTW9kdWxlcy86IENNYWtlVGVzdENDb21waWxlci5jbWFrZSwgQ01ha2VUZXN0Q1hYQ29tcGlsZXIuY21ha2U6CgkgIEJVRzogZml4IGNtYWtlIHNvIHRoYXQgaWYgeW91IGNvbmZpZ3VyZSB3aXRoIGEgYmFkIGVudiBmb3IgY2wsCgkgIHRoZW4gd2l0aCBhIGdvb2QgcGF0aCwgaXQgd2lsbCBjb25maWd1cmUgY29ycmVjdGx5CgoyMDA5LTA0LTE4IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDQtMTcgMTQ6NDQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRGFydENvbmZpZ3VyYXRpb24udGNsLmluLAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN1Ym1pdENvbW1hbmQuY3h4OiBFTkg6IG1ha2Ugc3VyZQoJICBDVEVTVF9DVVJMX09QVElPTlMgd29yayBmcm9tIHNjcmlwdCBtb2RlCgoyMDA5LTA0LTE3IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDQtMTYgMTI6MjUgIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy9DTWFrZVNldHVwRGlhbG9nLnVpOgoJICBCVUc6CVBhdGggbGVuZ3RocyBpbiBjb21ibyBib3ggZm9yIGJpbmFyeSBkaXJlY3Rvcnkgd2FzIGZvcmNpbmcKCSAgYSBtaW5pbXVtIHNpemUgICAgICAgb24gdGhlIG1haW4gd2luZG93LiAgRml4ZWQgdGhhdC4KCjIwMDktMDQtMTYgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNC0xNSAxMzowMyAga2luZwoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQlVHOiBSZXBsYWNlIGJyaXR0bGUKCSAgR2V0UGFyZW50RGlyZWN0b3J5IGltcGwKCgkgIFRoZSBwcmV2aW91cyBjaGFuZ2UgdG8gdGhpcyBtZXRob2QgYnJva2UgY2FzZXMgd2hlcmUgdGhlIGlucHV0CgkgIHBhdGggZG9lcyBub3QgZXhpc3QuCVRoZSBTeXN0ZW1Ub29sczo6R2V0UGFyZW50RGlyZWN0b3J5IG1ldGhvZAoJICBpcyByZWR1bmRhbnQgd2l0aCB0aGUgbW9yZSByb2J1c3QgU3lzdGVtVG9vbHM6OkdldEZpbGVuYW1lUGF0aC4KCSAgVGhpcyByZXBsYWNlcyBpdHMgaW1wbGVtZW50YXRpb24gdG8ganVzdCBjYWxsIEdldEZpbGVuYW1lUGF0aC4KCjIwMDktMDQtMTUgMTE6MDAgIGtpbmcKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQ09NUDogRml4IEJPT0wgdG8gYm9vbCBjb252ZXJzaW9uCgkgIHdhcm5pbmcKCgkgIFRoZSBjbVN5c3RlbVRvb2xzOjpSZW5hbWVGaWxlIG1ldGhvZCByZXR1cm5zIHR5cGUgYm9vbCwgYnV0IGl0cwoJICBpbXBsZW1lbnRhdGlvbiBvbiBXaW5kb3dzIHJldHVybnMgdGhlIHJlc3VsdCBvZiBhbiBBUEkgZnVuY3Rpb24KCSAgdGhhdCByZXR1cm5zIEJPT0wuICBUaGlzIGNoYW5nZSBhdm9pZHMgdGhlIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA5LTA0LTE1IDEwOjQ1ICB5dW1pbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQlVHOgoJICBTeXN0ZW1Ub29sczo6R2V0UGFyZW50RGlyZWN0b3J5KCkgd2lsbCBjcmFzaCBpZiAiLyIgaXMgcGFzc2VkIGluCgkgIGFzIGFyZ2VtZW50LiBWYWxpZCBjaGVjayBpcyBhZGRlZCB0byBtYWtlIHN1cmUgdGhlIGlucHV0IGFyZ21lbnQKCSAgZXhpc3RzLCBhbmQgaWYgIi8iIGlzIHBhc3NlZCBpbiwgZW1wdHkgc3RyaW5nIHdpbGwgYmUgcmV0dXJuZWQuCgoyMDA5LTA0LTE1IDA5OjU4ICBraW5nCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IENyZWF0ZSBjb21tYW5kIGxpbmUgYXBpICJjbWFrZSAtRSByZW5hbWUiCgoJICBUaGlzIGV4dGVuZHMgdGhlICItRSIgY29tbWFuZCBsaW5lIG1vZGUgd2l0aCBhICJyZW5hbWUgb2xkIG5ldyIKCSAgc2lnbmF0dXJlLiAgVGhlIG5ldyBjb21tYW5kIGF0b21pY2FsbHkgcmVuYW1lcyBhIGZpbGUgb3IKCSAgZGlyZWN0b3J5IHdpdGhpbiBhIHNpbmdsZSBkaXNrIHZvbHVtZS4KCjIwMDktMDQtMTUgMDk6NTggIGtpbmcKCgkqIFNvdXJjZS9jbUZpbGVDb21tYW5kLmN4eCwgU291cmNlL2NtRmlsZUNvbW1hbmQuaCwKCSAgVGVzdHMvU3RyaW5nRmlsZVRlc3QvQ01ha2VMaXN0cy50eHQ6IEVOSDogQ3JlYXRlIGZpbGUoUkVOQU1FKQoJICBjb21tYW5kIG1vZGUKCgkgIFRoaXMgY3JlYXRlcyBjb21tYW5kICJmaWxlKFJFTkFNRSA8b2xkbmFtZT4gPG5ld25hbWU+KSIgdG8gcmVuYW1lCgkgIGEgZmlsZSBvciBkaXJlY3Rvcnkgd2l0aGluIGEgc2luZ2xlIGRpc2sgdm9sdW1lLgoKMjAwOS0wNC0xNSAwOTo1NyAga2luZwoKCSogU291cmNlLzogY21HZW5lcmF0ZWRGaWxlU3RyZWFtLmN4eCwgY21TeXN0ZW1Ub29scy5jeHgsCgkgIGNtU3lzdGVtVG9vbHMuaDogRU5IOiBNb3ZlIFJlbmFtZUZpbGUgdG8gY21TeXN0ZW1Ub29scwoKCSAgVGhpcyBtb3ZlcyB0aGUgY21HZW5lcmF0ZWRGaWxlU3RyZWFtOjpSZW5hbWVGaWxlIG1ldGhvZAoJICBpbXBsZW1lbnRhdGlvbiBpbnRvIGNtU3lzdGVtVG9vbHMuICBJdCB3b3JrcyBvbmx5IHdpdGhpbiBhIHNpbmdsZQoJICBmaWxlc3lzdGVtIHZvbHVtZSwgYnV0IGlzIGF0b21pYyB3aGVuIHRoZSBvcGVyYXRpbmcgc3lzdGVtCgkgIHBlcm1pdHMuCgoyMDA5LTA0LTE1IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDQtMTQgMDk6MzUgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IEJhc2U2NC5oLmluLCBDb25maWd1cmUuaC5pbiwgQ29uZmlndXJlLmh4eC5pbiwKCSAgRnVuZGFtZW50YWxUeXBlLmguaW4sIE1ENS5oLmluLCBQcm9jZXNzLmguaW4sIFN0cmluZy5oLmluLAoJICBTeXN0ZW0uaC5pbiwgVGVybWluYWwuaC5pbjogRU5IOiBTa2lwIEtXU3lzIG5hbWUgbWFyb3MgaW4gY2FzZSBvZgoJICBpZGVudGl0eQoKCSAgQWxsIEtXU3lzIEMgc3ltYm9sIG5hbWVzIGJlZ2luIHdpdGggdGhlIEtXU1lTX05BTUVTUEFDRSBkZWZpbmVkCgkgIGF0IGNvbmZpZ3VyYXRpb24gdGltZS4gIEZvciBlYXNlIG9mIGVkaXRpbmcgd2Ugd3JpdGUgY2Fub25pY2FsCgkgIG5hbWVzIHdpdGggdGhlIHByZWZpeCAna3dzeXMnIGFuZCB1c2UgbWFjcm9zIHRvIG1hcCB0aGVtIHRvIHRoZQoJICBjb25maWd1cmVkIHByZWZpeCBhdCBwcmVwcm9jZXNzaW5nIHRpbWUuICBJbiB0aGUgY2FzZSBvZgoJICBzdGFuZGFsb25lIEtXU3lzLCB0aGUgcHJlZml4IGlzICdrd3N5cycsIHNvIHRoZSBtYWNyb3Mgd2VyZQoJICBwcmV2aW91c2x5IGRlZmluZWQgdG8gdGhlaXIgb3duIG5hbWVzLgoKCSAgV2Ugbm93IHNraXAgZGVmaW5pbmcgdGhlIG1hY3JvcyBpbiB0aGUgaWRlbnRpdHkgY2FzZSBzbyB0aGF0IHRoZQoJICBmaW5hbCBzeW1ib2wgbmFtZXMgYXJlIG5ldmVyIHRoZW1zZWx2ZXMgbWFjcm9zLiAgVGhpcyB3aWxsIGFsbG93CgkgIHRoZSBzeW1ib2xzIHRvIGJlIGZ1cnRoZXIgdHJhbnNmb3JtZWQgYmVoaW5kIHRoZSBzY2VuZXMgdG8gaGVscAoJICBsaW5rZXJzIGluIHNwZWNpYWwgY2FzZXMgb24gc29tZSBwbGF0Zm9ybXMuCgoyMDA5LTA0LTE0IDAwOjUwICBsb3dtYW4KCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVWU1NlcnZpY2VQYWNrLmNtYWtlOiBFTkg6IE5ldyBmdW5jdGlvbiBmb3IKCSAgZGV0ZXJtaW5pbmcgVmlzdWFsIFN0dWRpbyBzZXJ2aWNlIHBhY2sKCjIwMDktMDQtMTQgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNC0xMyAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA0LTEyIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDQtMTEgMDk6MjkgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3VibWl0SGFuZGxlci5jeHg6IEVOSDogcmVtb3ZlIHdhcm5pbmcgYW5kCgkgIGltcHJvdmUgbWVzc2FnZQoKMjAwOS0wNC0xMSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA0LTEwIDEzOjAwICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN1Ym1pdEhhbmRsZXIuY3h4OiBFTkg6IHJlbW92ZSBjZXJyIGNhbGwKCjIwMDktMDQtMTAgMTI6MTUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRGFydENvbmZpZ3VyYXRpb24udGNsLmluLAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN1Ym1pdEhhbmRsZXIuY3h4OiBFTkg6IGFkZCBhYmlsaXR5IHRvCgkgIGNvbnRyb2wgc3NsIGNlcnQgY2hlY2tpbmcKCjIwMDktMDQtMTAgMTE6NTkgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBVdGlsaXRpZXMvY21jdXJsL0NNYWtlTGlzdHMudHh0OiBFTkg6IGFsbG93IGZvcgoJICBzaGFyZWQgYnVpbGQgb2YgbGliY3VybCBhbmQgZml4IGJ1aWxkIHdpdGggb3BlbnNzbCBvcHRpb24gKHNzbAoJICB0ZXN0ZWQgb24gbGludXggYW5kIHdpbmRvd3MKCjIwMDktMDQtMTAgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNC0wOSAxMzo1NiAga2luZwoKCSogTW9kdWxlcy9BZGRFeHRlcm5hbFByb2plY3QuY21ha2UsCgkgIFRlc3RzL0V4dGVybmFsUHJvamVjdC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRXh0ZXJuYWxQcm9qZWN0L1N0ZXAxUGF0Y2guY21ha2U6IEVOSDogQWxsb3cgbGlzdHMgaW4KCSAgQWRkRXh0ZXJuYWxQcm9qZWN0IGFyZ3VtZW50cwoKCSAgVGhlIGFkZF9leHRlcm5hbF9wcm9qZWN0IGZ1bmN0aW9uIHNlcGFyYXRlcyBpdHMgYXJndW1lbnRzIHdpdGgKCSAgJzsnIHNlcGFyYXRvcnMsIHNvIHByZXZpb3VzbHkgbm8gY29tbWFuZCBsaW5lIGFyZ3VtZW50IGNvdWxkCgkgIGNvbnRhaW4gb25lLglXaGVuIHNwZWNpZnlpbmcgQ01BS0VfQVJHUywgc29tZSAtRCBhcmd1bWVudCB2YWx1ZXMKCSAgbWF5IG5lZWQgdG8gY29udGFpbiBhIHNlbWljb2xvbiB0byBmb3JtIGxpc3RzIGluIHRoZSBleHRlcm5hbAoJICBwcm9qZWN0IGNhY2hlLgoKCSAgVGhpcyBhZGRzIGFkZF9leHRlcm5hbF9wcm9qZWN0IGFyZ3VtZW50IExJU1RfU0VQQVJBVE9SIHRvIHNwZWNpZnkKCSAgYSBsaXN0IHNlcGFyYXRvciBzdHJpbmcuICBUaGUgc2VwYXJhdG9yIGlzIHJlcGxhY2VkIGJ5ICc7JyBpbgoJICBhcmd1bWVudHMgdG8gYW55IGNvbW1hbmQgY3JlYXRlZCB0byBkcml2ZSB0aGUgZXh0ZXJuYWwgcHJvamVjdC4KCSAgRm9yIGV4YW1wbGU6CgoJICAgIGFkZF9leHRlcm5hbF9wcm9qZWN0KC4uLgoJICAgICAgTElTVF9TRVBBUkFUT1IgOjoKCSAgICAgIENNQUtFX0FSR1MgLURTT01FX0xJU1Q6U1RSSU5HPUE6OkI6OkMKCSAgICAgIC4uLikKCgkgIHBhc3NlcyAiLURTT01FX0xJU1Q6U1RSSU5HPUE7QjtDIiB0byBDTWFrZSBmb3IgdGhlIGV4dGVybmFsCgkgIHByb2plY3QuCgoyMDA5LTA0LTA5IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDQtMDggMTY6MjkgIGtpbmcKCgkqIFNvdXJjZS9jbVRhcmdldC5jeHgsIFRlc3RzL0V4cG9ydEltcG9ydC9FeHBvcnQvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0V4cG9ydEltcG9ydC9FeHBvcnQvdGVzdExpYjUuYywKCSAgVGVzdHMvRXhwb3J0SW1wb3J0L0ltcG9ydC9BL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9FeHBvcnRJbXBvcnQvSW1wb3J0L0EvaW1wX3Rlc3RFeGUxLmM6IEVOSDogQWxsb3cKCSAgSU1QT1JURURfSU1QTElCIHcvbyBJTVBPUlRFRF9MT0NBVElPTgoKCSAgTGlua2luZyB0byBhIFdpbmRvd3Mgc2hhcmVkIGxpYnJhcnkgKC5kbGwpIHJlcXVpcmVzIG9ubHkgaXRzCgkgIGltcG9ydCBsaWJyYXJ5ICgubGliKS4gIFRoaXMgdGVhY2hlcyBDTWFrZSB0byByZWNvZ25pemUgU0hBUkVECgkgIElNUE9SVEVEIGxpYnJhcnkgdGFyZ2V0cyB0aGF0IHNldCBvbmx5IElNUE9SVEVEX0lNUExJQiBhbmQgbm90CgkgIElNUE9SVEVEX0xPQ0FUSU9OLgoKMjAwOS0wNC0wOCAxNjoyOCAga2luZwoKCSogU291cmNlL2NtVGFyZ2V0LmN4eDogQlVHOiBGaXggaW1wb3J0ZWQgdGFyZ2V0IGNvbmZpZyBndWVzcwoKCSAgV2hlbiBhbiBJTVBPUlRFRCB0YXJnZXQgcHJvdmlkZXMgbm8gZ2VuZXJpYyBjb25maWd1cmF0aW9uIGFuZCBubwoJICBtYXRjaCBmb3IgYSBkZXNpcmVkIGNvbmZpZ3VyYXRpb24gdGhlbiB3ZSBjaG9vc2UgYW55IGF2YWlsYWJsZQoJICBjb25maWd1cmF0aW9uLiAgVGhpcyBjaGFuZ2UgY29ycmVjdHMgdGhlIGNob2ljZSB3aGVuIHRoZSBmaXJzdAoJICBsaXN0ZWQgYXZhaWxhYmxlIGNvbmZpZ3VyYXRpb24gZG9lcyBub3QgcmVhbGx5IGhhdmUgYSBsb2NhdGlvbi4KCjIwMDktMDQtMDggMDk6MjIgIGtpbmcKCgkqIFRlc3RzLzogQ1Rlc3RVcGRhdGVDVlMuY21ha2UuaW4sIENUZXN0VXBkYXRlU1ZOLmNtYWtlLmluOiBFTkg6CgkgIFRlYWNoIFVwZGF0ZSogdGVzdHMgdG8gcmVwb3J0IGxvY2FsIG1vZCBzdGVwCgoJICBUaGUgQ1Rlc3QuVXBkYXRlQ1ZTL1NWTiB0ZXN0cyByZXBvcnQgZXZlcnkgc3RlcCB3aXRoIGEgbWVzc2FnZS4KCSAgVGhpcyBhZGRzIGEgbWVzc2FnZSBmb3IgdGhlIGxvY2FsIG1vZGlmaWNhdGlvbiBzdGVwLgoKMjAwOS0wNC0wOCAwOToyMSAga2luZwoKCSogVGVzdHMvQ1Rlc3RVcGRhdGVDVlMuY21ha2UuaW46IEVOSDogTWFrZSBVcGRhdGVDVlMgdGVzdCByb2J1c3QgdG8KCSAgMXMgZmlsZSB0aW1lIHJlcwoKCSAgQ1ZTIGNsaWVudHMgcmVjb2duaXplIGZpbGUgbW9kaWZpY2F0aW9ucyBvbmx5IGlmIGEgZmlsZSdzCgkgIHRpbWVzdGFtcCBpcyBuZXdlciB0aGFuIGl0cyBDVlMvRW50cmllcyBsaW5lLiAgVGhpcyBmaXhlcwoJICBpbnRlcm1pdHRlbnQgZmFpbHVyZSBvZiB0aGUgdGVzdCBvbiBmaWxlc3lzdGVtcyB3aXRoIGxvdwoJICB0aW1lc3RhbXAgcmVzb2x1dGlvbiBieSBkZWxheWluZyBiZWZvcmUgY3JlYXRpbmcgYSBsb2NhbAoJICBtb2RpZmljYXRpb24uCgoyMDA5LTA0LTA4IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDQtMDcgMTU6MzIgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLAoJICBTb3VyY2UvY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5oLAoJICBTb3VyY2UvY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUNvbXB1dGVMaW5rRGVwZW5kcy5jeHgsIFNvdXJjZS9jbUNvbXB1dGVMaW5rRGVwZW5kcy5oLAoJICBTb3VyY2Uva3dzeXMvU3lzdGVtSW5mb3JtYXRpb24uY3h4LAoJICBUZXN0cy9FeHBvcnRJbXBvcnQvSW1wb3J0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9FeHBvcnRJbXBvcnQvSW1wb3J0L2ltcF9tb2QxLmMsCgkgIFRlc3RzL0V4cG9ydEltcG9ydC9JbXBvcnQvaW1wX3Rlc3RFeGUxLmMsCgkgIFRlc3RzL0V4cG9ydEltcG9ydC9JbXBvcnQvaW1wX3Rlc3RUcmFuc0V4ZTEuYywKCSAgVGVzdHMvRXhwb3J0SW1wb3J0L0ltcG9ydC9BL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9FeHBvcnRJbXBvcnQvSW1wb3J0L0EvaW1wX2xpYjEuYywKCSAgVGVzdHMvRXhwb3J0SW1wb3J0L0ltcG9ydC9BL2ltcF9tb2QxLmMsCgkgIFRlc3RzL0V4cG9ydEltcG9ydC9JbXBvcnQvQS9pbXBfdGVzdEV4ZTEuYzogRU5IOiBtZXJnZSBpbiBjaGFuZ2VzCgkgIGZvciBSQyA0CgoyMDA5LTA0LTA3IDE1OjMxICBkYXZpZC5jb2xlCgoJKiBNb2R1bGVzL05TSVMudGVtcGxhdGUuaW46IEJVRzogRml4IGlzc3VlICM4NjgyLiBVc2UKCSAgQ1BBQ0tfTlNJU19ESVNQTEFZX05BTUUgaW4gYXBwcm9wcmlhdGUgcGxhY2VzIHJhdGhlciB0aGFuCgkgIENQQUNLX1BBQ0tBR0VfSU5TVEFMTF9ESVJFQ1RPUlkuIENsZWFuIHNlcGFyYXRpb24gb2YgdGhlc2UgdHdvCgkgIHZhcmlhYmxlcyAod2hpY2ggaGF2ZSB0aGUgc2FtZSB2YWx1ZSBieSBkZWZhdWx0KSBhbGxvd3MgYW4gZWFzeQoJICB3b3JrYXJvdW5kIGZvciBpc3N1ZSAjNzg4MSwgdG9vLgoKMjAwOS0wNC0wNyAxNToxMyAgZGF2aWQuY29sZQoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBCVUc6IEZpeCBpbnZhbGlkIGFycmF5IGFjY2VzcwoJICBkaXNjb3ZlcmVkIGR1cmluZyBpbnZlc3RpZ2F0aW9uIG9mIGlzc3VlICM3ODMyLgoKMjAwOS0wNC0wNyAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA0LTA2IDE0OjU1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtSW5mb3JtYXRpb24uY3h4OiBCVUc6IEZpeCBwYXJzaW5nIG9mIGxpbnV4IDIuNgoJICAvcHJvYy9tZW1pbmZvIGZvcm1hdAoKCSAgUHJldmlvdXNseSBLV1N5cyBTeXN0ZW1JbmZvcm1hdGlvbiBwYXJzZWQgdGhpcyBmaWxlIGFzc3VtaW5nIGEKCSAgc3RyaWN0IG9yZGVyIGFuZCBzZXQgb2YgZmllbGRzLCBidXQgdGhlIG9yZGVyIGlzIG5vdCByZWxpYWJsZS4KCSAgVGhpcyBnZW5lcmFsaXplcyB0aGUgaW1wbGVtZW50YXRpb24gdG8gc3VwcG9ydCBhbnkgb3JkZXIgYW5kCgkgIGV4dHJhIGZpZWxkcy4KCjIwMDktMDQtMDYgMTE6MTEgIGhvZmZtYW4KCgkqIFRlc3RzL0V4cG9ydEltcG9ydC9JbXBvcnQvaW1wX3Rlc3RUcmFuc0V4ZTEuYzogZmlsZQoJICBpbXBfdGVzdFRyYW5zRXhlMS5jIHdhcyBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDktMDQtMDcKCSAgMTk6MzI6MDggKzAwMDAKCjIwMDktMDQtMDYgMTE6MTEgIGhvZmZtYW4KCgkqIFRlc3RzL0V4cG9ydEltcG9ydC9JbXBvcnQvQS9pbXBfdGVzdEV4ZTEuYzogZmlsZSBpbXBfdGVzdEV4ZTEuYwoJICB3YXMgYWRkZWQgb24gYnJhbmNoIENNYWtlLTItNiBvbiAyMDA5LTA0LTA3IDE5OjMyOjA4ICswMDAwCgoyMDA5LTA0LTA2IDExOjExICBob2ZmbWFuCgoJKiBUZXN0cy9FeHBvcnRJbXBvcnQvSW1wb3J0L0EvaW1wX21vZDEuYzogZmlsZSBpbXBfbW9kMS5jIHdhcyBhZGRlZAoJICBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDktMDQtMDcgMTk6MzI6MDggKzAwMDAKCjIwMDktMDQtMDYgMTE6MTEgIGhvZmZtYW4KCgkqIFRlc3RzL0V4cG9ydEltcG9ydC9JbXBvcnQvQS9pbXBfbGliMS5jOiBmaWxlIGltcF9saWIxLmMgd2FzIGFkZGVkCgkgIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24gMjAwOS0wNC0wNyAxOTozMjowOCArMDAwMAoKMjAwOS0wNC0wNiAxMToxMSAgaG9mZm1hbgoKCSogVGVzdHMvRXhwb3J0SW1wb3J0L0ltcG9ydC9BL0NNYWtlTGlzdHMudHh0OiBmaWxlIENNYWtlTGlzdHMudHh0CgkgIHdhcyBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDktMDQtMDcgMTk6MzI6MDggKzAwMDAKCjIwMDktMDQtMDYgMTE6MTEgIGtpbmcKCgkqIFRlc3RzL0V4cG9ydEltcG9ydC9JbXBvcnQvOiBBL0NNYWtlTGlzdHMudHh0LCBBL2ltcF9saWIxLmMsCgkgIEEvaW1wX21vZDEuYywgQS9pbXBfdGVzdEV4ZTEuYywgQ01ha2VMaXN0cy50eHQsIGltcF9tb2QxLmMsCgkgIGltcF90ZXN0RXhlMS5jLCBpbXBfdGVzdFRyYW5zRXhlMS5jOiBFTkg6IFRlc3QgdHJhbnNpdGl2ZSBsaW5rIHRvCgkgIHN1YmRpci1pbXBvcnRlZCBsaWIKCgkgIFRoaXMgdGVzdHMgbGlua2luZyB0byBhbiBpbXBvcnRlZCB0YXJnZXQgdGhhdCBpcyBub3QgdmlzaWJsZSBidXQKCSAgaXMgYSB0cmFuc2l0aXZlIGRlcGVuZGVuY3kgb2YgYSB0YXJnZXQgdGhhdCBpcyB2aXNpYmxlLiAgU2VlCgkgIGlzc3VlICM4ODQzLgoKMjAwOS0wNC0wNiAxMToxMCAga2luZwoKCSogU291cmNlLzogY21Db21wdXRlTGlua0RlcGVuZHMuY3h4LCBjbUNvbXB1dGVMaW5rRGVwZW5kcy5oOiBCVUc6CgkgIExvb2t1cCB0cmFuc2l0aXZlIGxpbmsgZGVwcyBpbiBkZXBlbmRlciBzY29wZQoKCSAgVGhlIHRyYW5zaXRpdmUgbGluayBkZXBlbmRlbmNpZXMgb2YgYSBsaW5rZWQgdGFyZ2V0IG11c3QgYmUKCSAgZm9sbG93ZWQgaW4gaXRzIG93biBzY29wZSwgbm90IGluIHRoZSBzY29wZSBvZiB0aGUgb3JpZ2luYWwKCSAgdGFyZ2V0IHRoYXQgZGVwZW5kcyBvbiBpdC4gIFRoaXMgaXMgbmVjZXNzYXJ5IHNpbmNlIGltcG9ydGVkCgkgIHRhcmdldHMgZG8gbm90IGhhdmUgZ2xvYmFsIHNjb3BlLiAgU2VlIGlzc3VlICM4ODQzLgoKMjAwOS0wNC0wNiAwMzozOSAgbWFsYXRlcnJlCgoJKiBTb3VyY2Uva3dzeXMvdGVzdElPUy5jeHg6IEJVRzogY29tbWVudCBvdXQgZmF1bHR5IHNlZWtwIHdoaWNoCgkgIG1ha2Uga3dzeXM6OipzdHJpbmdzdHJlYW0gZmFpbHMgb24gcGxhdGZvcm0gd2l0aCBubwoJICBzdGQ6OipzdHJpbmdzdHJlYW0gaW1wbGVtZW50YXRpb24KCjIwMDktMDQtMDYgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNC0wNSAwNjo1NSAgbWFsYXRlcnJlCgoJKiBTb3VyY2Uva3dzeXMvdGVzdElPUy5jeHg6IEVOSDogaG9wZWZ1bGx5IHNlZWtwIGlzIHRoZSBjYWxsIG1ha2luZwoJICBrd3N5czo6c3RyaW5nc3RyZWFtIGJlaGF2ZXMgb2RkbHkgb24gc3Vub3MKCjIwMDktMDQtMDUgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNC0wNCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA0LTAzIDEzOjEyICBkYXZpZC5jb2xlCgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja0RyYWdORHJvcEdlbmVyYXRvci5jeHg6IEJVRzogRml4IGlzc3VlICM4NzU5CgkgIC0gYWRkIHN1cHBvcnQgZm9yIHNldHRpbmcgZG1nIHZvbHVtZSBuYW1lIGFuZCBjb21wcmVzc2lvbiB0eXBlIGJ5CgkgIENQYWNrIHZhcmlhYmxlcy4gQWxzbyBhZGQgY3VzdG9tIC5EU19TdG9yZSBhbmQgYmFja2dyb3VuZCBpbWFnZQoJICBzdXBwb3J0LiBUaGFua3MgdG8gTWlrZSBBcnRodXIgZm9yIHRoZSBwYXRjaGVzLgoKMjAwOS0wNC0wMyAxMTo0MSAgZGF2aWQuY29sZQoKCSogU291cmNlL2NtVGVzdC5jeHg6IEJVRzogRml4IGRvY3VtZW50YXRpb24gZGVmaWNpZW5jeSBub3RlZCBpbgoJICBpc3N1ZSAjNzg4NS4gVGhhbmtzIHRvIFBoaWxpcCBMb3dtYW4gZm9yIHRoZSBnaXN0IG9mIHRoZSBwYXRjaC4KCjIwMDktMDQtMDMgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wNC0wMiAwNjoxMiAgbWFsYXRlcnJlCgoJKiBTb3VyY2Uva3dzeXMvdGVzdElPUy5jeHg6IEVOSDogdHJ5aW5nIHRvIHJlcHJvZHVjZSBpc3N1ZSBvbiBzdW5vcwoKMjAwOS0wNC0wMiAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTA0LTAxIDEwOjMxICBraW5nCgoJKiBTb3VyY2UvOiBjbUFkZEN1c3RvbUNvbW1hbmRDb21tYW5kLmgsIGNtQWRkQ3VzdG9tVGFyZ2V0Q29tbWFuZC5oOgoJICBFTkg6IENsYXJpZnkgVkVSQkFUSU0gb3B0aW9uIGRvY3VtZW50YXRpb24KCgkgIFRoZSBwcmV2aW91cyB3b3JkaW5nIG9mIHRoZSBWRVJCQVRJTSBvcHRpb24gZG9jdW1lbnRhdGlvbiBpbiB0aGUKCSAgYWRkX2N1c3RvbV9jb21tYW5kIGFuZCBhZGRfY3VzdG9tX3RhcmdldCBjb21tYW5kcyB3YXMgY29uZnVzaW5nLgoJICBJdCBjb3VsZCBiZSBpbnRlcnByZXRlZCBhcyB0aGUgb3Bwb3NpdGUgb2Ygd2hhdCB0aGUgb3B0aW9uIG1lYW5zCgkgIChubyBlc2NhcGluZyBpbnN0ZWFkIG9mIGVzY2FwaW5nKS4gIFRoaXMgY2xhcmlmaWVzIHRoZQoJICBkb2N1bWVudGF0aW9uIHRvIGV4cGxpY2l0bHkgc3RhdGUgdGhhdCBpdCBlc2NhcGVzLgoKMjAwOS0wNC0wMSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAzLTMxIDE2OjE1ICBkYXZpZC5jb2xlCgoJKiBNb2R1bGVzL0ZpbmRWVEsuY21ha2U6IEJVRzogRml4IGlzc3VlICM4ODA0LiBBZGQgdnRrLTUuNCBsaWIgcGF0aAoJICB0byB0aGUgRmluZFZUSy5jbWFrZSBtb2R1bGUuCgoyMDA5LTAzLTMxIDE1OjMwICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN1Ym1pdEhhbmRsZXIuY3h4OiBFTkg6IHVzZSAwIG5vdCBGQUxTRQoKMjAwOS0wMy0zMSAxNToyNCAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdFN1Ym1pdEhhbmRsZXIuY3h4LCBjbUNUZXN0U3VibWl0SGFuZGxlci5oOgoJICBFTkg6IGFkZCBzdWJtaXQgdmlhIGNwIG1vZGUKCjIwMDktMDMtMzEgMTM6NTAgIGRhdmlkLmNvbGUKCgkqIFRlc3RzL0NNYWtlVGVzdHMvR2V0UHJlcmVxdWlzaXRlc1Rlc3QuY21ha2UuaW46IFNUWUxFOiBXaGl0ZQoJICBzcGFjZSBvbmx5IGNoYW5nZSB0byBzZWUgaWYgY29udGludW91cyBpcyB3b3JraW5nIG9uIG5ldwoJICBkYXNoYm9hcmQgbWFjaGluZS4uLgoKMjAwOS0wMy0zMSAxMzoxNiAgZGF2aWQuY29sZQoKCSogVGVzdHMvQ01ha2VUZXN0cy9HZXRQcmVyZXF1aXNpdGVzVGVzdC5jbWFrZS5pbjogU1RZTEU6IFdoaXRlCgkgIHNwYWNlIG9ubHkgY2hhbmdlIHRvIHNlZSBpZiBjb250aW51b3VzIGlzIHdvcmtpbmcgb24gbmV3CgkgIGRhc2hib2FyZCBtYWNoaW5lLi4uCgoyMDA5LTAzLTMxIDEwOjI4ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwgTW9kdWxlcy9GaW5kUXQ0LmNtYWtlLAoJICBTb3VyY2UvY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5oLAoJICBTb3VyY2UvY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3VibWl0Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9RdERpYWxvZy9DTWFrZVNldHVwRGlhbG9nLmN4eCwKCSAgU291cmNlL1F0RGlhbG9nL1FDTWFrZUNhY2hlVmlldy5jeHg6IEVOSDogbmV4dCBSQwoKMjAwOS0wMy0zMSAxMDoyNyAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL1JlbGVhc2Uvdm9nb25fcmVsZWFzZS5jbWFrZTogRU5IOiB1c2UgYSBuZXdlciBjbWFrZQoKMjAwOS0wMy0zMSAxMDoxMyAga2luZwoKCSogTW9kdWxlcy9BZGRFeHRlcm5hbFByb2plY3QuY21ha2U6IEJVRzogRml4IEFkZEV4dGVybmFsUHJvamVjdAoJICBjb25maWcgY29tbWFuZCBpZAoKCSAgVGhpcyBmaXhlcyB0aGUgZ2V0X2NvbmZpZ3VyZV9jb21tYW5kX2lkIGZ1bmN0aW9uIHRvIG5vdCBtaXN0YWtlCgkgIENPTkZJR1VSRV9DT01NQU5EIHZhbHVlcyB0aGF0IHJ1biAiY21ha2UgLVAiIG9yICJjbWFrZSAtRSIgZm9yIGEKCSAgQ01ha2UgcHJvamVjdCBjb25maWd1cmF0aW9uLglUaGVzZSB2YWx1ZXMganVzdCBoZWxwIHJ1biBzY3JpcHRzLgoKMjAwOS0wMy0zMSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAzLTMwIDE2OjM0ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvUUNNYWtlLmN4eDoKCSAgQlVHOglGaXggaW5jb25zaXN0ZW5jeSB3aXRoIGxvd2VyY2FzZSBkcml2ZSBsZXR0ZXJzIG9uIFdpbmRvd3MuCgoyMDA5LTAzLTMwIDExOjM4ICBraW5nCgoJKiBNb2R1bGVzL0FkZEV4dGVybmFsUHJvamVjdC5jbWFrZTogRU5IOiBTaW1wbGVyIEFkZEV4dGVybmFsUHJvamVjdAoJICBpbnN0YWxsIHN0ZXAKCgkgIFRoaXMgc2ltcGxpZmllcyB0aGUgaW1wbGVtZW50YXRpb24gd2l0aAoJICBhZGRfZXh0ZXJuYWxfcHJvamVjdF9zdGVwLgoKMjAwOS0wMy0zMCAxMTozOCAga2luZwoKCSogTW9kdWxlcy9BZGRFeHRlcm5hbFByb2plY3QuY21ha2U6IEVOSDogU2ltcGxlciBBZGRFeHRlcm5hbFByb2plY3QKCSAgYnVpbGQgc3RlcAoKCSAgVGhpcyBzaW1wbGlmaWVzIHRoZSBpbXBsZW1lbnRhdGlvbiB3aXRoCgkgIGFkZF9leHRlcm5hbF9wcm9qZWN0X3N0ZXAuCgoyMDA5LTAzLTMwIDExOjM4ICBraW5nCgoJKiBNb2R1bGVzL0FkZEV4dGVybmFsUHJvamVjdC5jbWFrZTogRU5IOiBTaW1wbGVyIEFkZEV4dGVybmFsUHJvamVjdAoJICBjb25maWd1cmUgc3RlcAoKCSAgVGhpcyBzaW1wbGlmaWVzIHRoZSBpbXBsZW1lbnRhdGlvbiB3aXRoCgkgIGFkZF9leHRlcm5hbF9wcm9qZWN0X3N0ZXAuCgoyMDA5LTAzLTMwIDExOjM3ICBraW5nCgoJKiBNb2R1bGVzL0FkZEV4dGVybmFsUHJvamVjdC5jbWFrZTogRU5IOiBTaW1wbGVyIEFkZEV4dGVybmFsUHJvamVjdAoJICBwYXRjaCBzdGVwCgoJICBUaGlzIHNpbXBsaWZpZXMgdGhlIGltcGxlbWVudGF0aW9uIHdpdGgKCSAgYWRkX2V4dGVybmFsX3Byb2plY3Rfc3RlcC4KCjIwMDktMDMtMzAgMTE6MzcgIGtpbmcKCgkqIE1vZHVsZXMvQWRkRXh0ZXJuYWxQcm9qZWN0LmNtYWtlOiBFTkg6IFNpbXBsZXIgQWRkRXh0ZXJuYWxQcm9qZWN0CgkgIHVwZGF0ZSBzdGVwCgoJICBUaGlzIHNpbXBsaWZpZXMgdGhlIGltcGxlbWVudGF0aW9uIHdpdGgKCSAgYWRkX2V4dGVybmFsX3Byb2plY3Rfc3RlcC4KCjIwMDktMDMtMzAgMTE6MzcgIGtpbmcKCgkqIE1vZHVsZXMvQWRkRXh0ZXJuYWxQcm9qZWN0LmNtYWtlOiBFTkg6IFNpbXBsZXIgQWRkRXh0ZXJuYWxQcm9qZWN0CgkgIGRvd25sb2FkIHN0ZXAKCgkgIFRoaXMgc2ltcGxpZmllcyB0aGUgaW1wbGVtZW50YXRpb24gd2l0aAoJICBhZGRfZXh0ZXJuYWxfcHJvamVjdF9zdGVwLgoKMjAwOS0wMy0zMCAxMTozNiAga2luZwoKCSogTW9kdWxlcy9BZGRFeHRlcm5hbFByb2plY3QuY21ha2UsCgkgIFRlc3RzL0V4dGVybmFsUHJvamVjdC9DTWFrZUxpc3RzLnR4dDogRU5IOiBHZW5lcmFsaXplCgkgIEFkZEV4dGVybmFsUHJvamVjdCBzdGVwIGNyZWF0aW9uCgoJICBUaGlzIGNyZWF0ZXMgZnVuY3Rpb24gJ2FkZF9leHRlcm5hbF9wcm9qZWN0X3N0ZXAnIHRvIGNlbnRyYWxpemUKCSAgY3JlYXRpb24gb2YgZXh0ZXJuYWwgcHJvamVjdCBzdGVwcy4gIFVzZXJzIG1heSBjYWxsIGl0IHRvIGFkZAoJICBjdXN0b20gc3RlcHMgdG8gZXh0ZXJuYWwgcHJvamVjdCBidWlsZHMuCgoyMDA5LTAzLTMwIDExOjM1ICBraW5nCgoJKiBNb2R1bGVzL0FkZEV4dGVybmFsUHJvamVjdC5jbWFrZTogRU5IOiBGYWN0b3IgYXJndW1lbnQgcGFyc2luZyBpbgoJICBBZGRFeHRlcm5hbFByb2plY3QKCgkgIFRoZSBhZGRfZXh0ZXJuYWxfcHJvamVjdCBmdW5jdGlvbiBwYXJzZXMgaXRzIGFyZ3VtZW50cyBhbmQgcHV0cwoJICB0aGVtIGluIHByb3BlcnRpZXMgb2YgdGhlIHRhcmdldCBpdCBjcmVhdGVzLglUaGlzIGZhY3RvcnMgb3V0CgkgIGltcGxlbWVudGF0aW9uIG9mIHRoZSBiZWhhdmlvciBmb3IgdXNlIGJ5IG90aGVyIGZ1bmN0aW9ucyBpbiB0aGUKCSAgbW9kdWxlLgoKMjAwOS0wMy0zMCAxMTozNSAga2luZwoKCSogTW9kdWxlcy9BZGRFeHRlcm5hbFByb2plY3QuY21ha2U6IEVOSDogVGVhY2ggQWRkRXh0ZXJuYWxQcm9qZWN0IGEKCSAgJ2NvbXBsZXRlJyBzdGVwCgoJICBUaGlzIHNlcGFyYXRlcyBjcmVhdGlvbiBvZiB0aGUgcHJvamVjdCBjb21wbGV0aW9uIHNlbnRpbmVsIGZpbGUKCSAgZnJvbSB0aGUgJ2luc3RhbGwnIHN0ZXAgdG8gYWxsb3cgbW9yZSBzdGVwcyB0byBiZSBhZGRlZCBpbgoJICBiZXR3ZWVuIGxhdGVyLgoKMjAwOS0wMy0zMCAxMDo1NiAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nL0NNYWtlU2V0dXBEaWFsb2cuY3h4OgoJICBFTkg6CUFkZCB2ZXJzaW9uIGluZm8gdG8gYWJvdXQgZGlhbG9nLCBpbmNsdWRpbmcgUXQgdmVyc2lvbi4KCjIwMDktMDMtMzAgMDg6MjcgIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzL3Rlc3RJT1MuY3h4OiBDT01QOiBtaXNzaW5nIHN0cmluZy5oIGhlYWRlciBmb3IKCSAgc3RybGVuLgoKMjAwOS0wMy0zMCAwODoyNyAga2luZwoKCSogU291cmNlLzogY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5oLCBjbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuaDoKCSAgRU5IOiBEb2N1bWVudCBzY29wZSBvZiBhZGRfY3VzdG9tX2NvbW1hbmQgb3V0cHV0cwoKCSAgVGhpcyBleHBsaWNpdGx5IHN0YXRlcyB0aGUgc2NvcGUgb2YgYWRkX2N1c3RvbV9jb21tYW5kIHJ1bGVzIGluCgkgIHRoZSBkb2N1bWVudGF0aW9uIG9mIGFkZF9jdXN0b21fY29tbWFuZCBhbmQgYWRkX2N1c3RvbV90YXJnZXQuCgkgIFNlZSBpc3N1ZSAjODgxNS4KCjIwMDktMDMtMzAgMDQ6MTAgIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzL3Rlc3RJT1MuY3h4OiBFTkg6IHJlbW90ZSBkZWJ1Z2dpbmcgb2Ygc3Vub3MKCjIwMDktMDMtMzAgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMy0yOSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAzLTI4IDEzOjAyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBTVFlMRTogZml4IGxpbmUgbGVuZ2h0CgoyMDA5LTAzLTI4IDEwOjIzICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS86IHZvZ29uX3JlbGVhc2UuY21ha2UsIHZvZ29uX3JlbGVhc2VfcXQuY21ha2U6CgkgIEVOSDogY2hhbmdlIHF0IHRvIDQuNQoKMjAwOS0wMy0yOCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAzLTI3IDIxOjU3ICBob2ZmbWFuCgoJKiBUZXN0cy9NYWNyb1Rlc3QvY29udGV4dC5jbWFrZTogRU5IOiBhZGQgbWlzc2luZyBmaWxlIHRvIGJyYW5jaAoKMjAwOS0wMy0yNyAxNzoxMSAgYWxleAoKCSogTW9kdWxlcy9GaW5kQVZJRmlsZS5jbWFrZTogRU5IOiBtYXJrIHRoZSB0d28gdmFyaWFibGVzIGFzCgkgIGFkdmFuY2VkIC1yZW1vdmUgdW5uZWNlc3NhcnkgZGVhdWx0IHNlYXJjaCBkaXJzCgoJICBBbGV4CgoyMDA5LTAzLTI3IDEyOjMzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeCBmb3IgIzg2ODYgYWRkCgkgIHNvbWUgbW9yZSBjb21waWxlciBmbGFncwoKMjAwOS0wMy0yNyAxMTo1NSAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWwsCgkgIE1vZHVsZXMvQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrQ1NvdXJjZUNvbXBpbGVzLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrQ1NvdXJjZVJ1bnMuY21ha2UsCgkgIE1vZHVsZXMvQ2hlY2tDWFhTb3VyY2VDb21waWxlcy5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja0NYWFNvdXJjZVJ1bnMuY21ha2UsIE1vZHVsZXMvRmluZEJvb3N0LmNtYWtlLAoJICBTb3VyY2UvY21Db21tYW5kQXJndW1lbnRQYXJzZXJIZWxwZXIuY3h4LAoJICBTb3VyY2UvY21FeHRyYUNvZGVCbG9ja3NHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21FeHRyYUVjbGlwc2VDRFQ0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtRXh0cmFFY2xpcHNlQ0RUNEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxOTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLAoJICBTb3VyY2UvY21JbmNsdWRlRGlyZWN0b3J5Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbVByb2plY3RDb21tYW5kLmgsIFNvdXJjZS9jbVNvdXJjZUZpbGUuY3h4LAoJICBTb3VyY2UvY21TdHJpbmdDb21tYW5kLmgsIFNvdXJjZS9jbVRhcmdldC5jeHgsCgkgIFRlc3RzL01hY3JvVGVzdC9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvUHJlcHJvY2Vzcy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvUHJlcHJvY2Vzcy9wcmVwcm9jZXNzLmMsIFRlc3RzL1ByZXByb2Nlc3MvcHJlcHJvY2Vzcy5jeHg6CgkgIEVOSDogbWVyZ2UgaW4gZnJvbSBtYWluIHRyZWUgdG8gY3JlYXRlIFJDIDIKCjIwMDktMDMtMjcgMTE6MTggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IExJQlBBVEggaXMgbm90CgkgIHJlcXVpcmVkIGZvciBjbCB0byB3b3JrCgoyMDA5LTAzLTI3IDEwOjQ5ICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS92b2dvbl9yZWxlYXNlLmNtYWtlOiBFTkg6IGZpeCBzcGFjZXMgaW4gcGF0aAoJICBlc2NhcGUKCjIwMDktMDMtMjcgMTA6MzcgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlL3ZvZ29uX3JlbGVhc2UuY21ha2U6IEVOSDogdXNlIGEgZGlmZmVyZW50IGNtYWtlCgoyMDA5LTAzLTI3IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDMtMjYgMTE6NDIgIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy9RQ01ha2VDYWNoZVZpZXcuY3h4OgoJICBCVUc6CURvbid0IHJldHVybiBjaGVja2FibGUgZmxhZyBmb3IgaXRlbSB3aGVuIGluIHRoZSBtaWRkbGUgb2YKCSAgY29uZmlndXJlL2dlbmVyYXRlLgoKMjAwOS0wMy0yNiAxMTowNCAgY2xpbnRvbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOgoJICBFTkg6CURvIGEgcmVjaGVjayBvZiBRVF9NQUNfVVNFX0NPQ09BIHdoZW4gcW1ha2UgZXhlY3V0YWJsZQoJICBjaGFuZ2VzLgoKMjAwOS0wMy0yNiAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAzLTI1IDE1OjI5ICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6CgkgIEVOSDoJU3VwcG9ydCBPVVRQVVRfTE9DQVRJT04gcHJvcGVydHkgZm9yIHFtIGZpbGVzLgkgICAgICBGaXhlcwoJICAjODQ5Mi4KCjIwMDktMDMtMjUgMTA6MzcgIGhvZmZtYW4KCgkqIFRlc3RzL01hY3JvVGVzdC9jb250ZXh0LmNtYWtlOiBmaWxlIGNvbnRleHQuY21ha2Ugd2FzIGFkZGVkIG9uCgkgIGJyYW5jaCBDTWFrZS0yLTYgb24gMjAwOS0wMy0yOCAwMTo1NzozNCArMDAwMAoKMjAwOS0wMy0yNSAxMDozNiAga2luZwoKCSogU291cmNlL2NtQ29tbWFuZEFyZ3VtZW50UGFyc2VySGVscGVyLmN4eCwKCSAgVGVzdHMvTWFjcm9UZXN0L0NNYWtlTGlzdHMudHh0LCBUZXN0cy9NYWNyb1Rlc3QvY29udGV4dC5jbWFrZToKCSAgQlVHOiBGaXggQ01BS0VfQ1VSUkVOVF9MSVNUX0ZJTEUgaW4gbWFjcm9zCgoJICBUaGUgdmFsdWUgb2YgQ01BS0VfQ1VSUkVOVF9MSVNUX0ZJTEUgaXMgc3VwcG9zZWQgdG8gYmUgdGhlIGxpc3QKCSAgZmlsZSBjdXJyZW50bHkgYmVpbmcgZXhlY3V0ZWQuICBCZWZvcmUgbWFjcm9zIHdlcmUgaW50cm9kdWNlZAoJICB0aGlzIHdhcyBhbHdheXMgdGhlIGNvbnRleHQgb2YgdGhlIGFyZ3VtZW50IHJlZmVyZW5jaW5nIHRoZQoJICB2YXJpYWJsZS4KCgkgIE91ciBvcmlnaW5hbCBpbXBsZW1lbnRhdGlvbiBvZiBtYWNyb3MgcmVwbGFjZWQgdGhlIGNvbnRleHQgb2YKCSAgY29tbWFuZCBhcmd1bWVudHMgaW5zaWRlIHRoZSBtYWNybyB3aXRoIHRoYXQgb2YgdGhlIGFyZ3VtZW50cyBvZgoJICB0aGUgY2FsbGluZyBjb250ZXh0LglUaGlzIHdvcmtlZCByZWN1cnNpdmVseSwgYnV0IG9ubHkgd29ya2VkCgkgIHdoZW4gbWFjcm9zIGhhZCBhdCBsZWFzdCBvbmUgYXJndW1lbnQuICBGdXJ0aGVybW9yZSwgaXQgY2F1c2VkCgkgIHBhcnNpbmcgZXJyb3JzIG9mIHRoZSBhcmd1bWVudHMgdG8gcmVwb3J0IHRoZSB3cm9uZyBsb2NhdGlvbgoJICAoY2FsbGluZyBjb250ZXh0IGluc3RlYWQgb2YgbGluZSB3aXRoIGVycm9yKS4KCgkgIFRoZSBjb21taXQgIkltcHJvdmUgY29udGV4dCBmb3IgZXJyb3JzIGluIG1hY3JvcyIgZml4ZWQgdGhlCgkgIGxhdHRlciBidWcgYnkga2VlcGluZyB0aGUgbGV4aWNhbCBjb250ZXh0IG9mIGNvbW1hbmQgYXJndW1lbnRzIGluCgkgIG1hY3Jvcy4gIEl0IGJyb2tlIGV2YWx1YXRpb24gb2YgQ01BS0VfQ1VSUkVOVF9MSVNUX0ZJTEUgYmVjYXVzZQoJICB0aGUgY2FsbGluZyBjb250ZXh0IHdhcyBubyBsb25nZXIgcHJlc2VydmVkIGluIHRoZSBhcmd1bWVudAoJICByZWZlcmVuY2luZyB0aGUgdmFyaWFibGUuICBIb3dldmVyLCBzaW5jZSBvdXIgbGlzdCBmaWxlCgkgIHByb2Nlc3Npbmcgbm93IG1haW50YWlucyB0aGUgcHJvcGVyIHZhbHVlIG9mCgkgIENNQUtFX0NVUlJFTlRfTElTVF9GSUxFIHdpdGggZHluYW1pYyBzY29wZSB3ZSBubyBsb25nZXIgbmVlZCB0aGUKCSAgY29udGV4dCBvZiB0aGUgYXJndW1lbnQgYW5kIGNhbiBqdXN0IGV2YWx1YXRlIHRoZSB2YXJpYWJsZQoJICBub3JtYWxseS4KCjIwMDktMDMtMjUgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMy0yNCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAzLTIzIDE1OjQ2ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dDogRU5IOiBwdXQgYW4gcmMgbnVtYmVyIG90aGVyIHRoYW4gMCBpbgoKMjAwOS0wMy0yMyAxNDo0OCAga2luZwoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21Tb3VyY2VGaWxlLmN4eCwgU291cmNlL2NtVGFyZ2V0LmN4eCwKCSAgVGVzdHMvUHJlcHJvY2Vzcy9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvUHJlcHJvY2Vzcy9wcmVwcm9jZXNzLmMsCgkgIFRlc3RzL1ByZXByb2Nlc3MvcHJlcHJvY2Vzcy5jeHg6IEVOSDogU3VwcG9ydCBwcmVwcm9jZXNzb3IgZGVmCgkgIHZhbHVlcyBpbiBWUzYKCgkgIFRoZSBhZGRfZGVmaW5pdGlvbnMoKSBjb21tYW5kIGFuZCBDT01QSUxFX0RFRklOSVRJT05TIGRpci90Z3Qvc3JjCgkgIHByb3BlcnRpZXMgc3VwcG9ydCBwcmVwcm9jZXNzb3IgZGVmaW5pdGlvbnMgd2l0aCB2YWx1ZXMuCgkgIFByZXZpb3VzbHkgdmFsdWVzIHdlcmUgbm90IHN1cHBvcnRlZCBpbiB0aGUgVlM2IGdlbmVyYXRvciBldmVuCgkgIHRob3VnaCB0aGUgbmF0aXZlIHRvb2wgc3VwcG9ydHMgdGhlbS4gIEl0IGlzIG9ubHkgdmFsdWVzIHdpdGgKCSAgc3BhY2VzIHRoYXQgVlM2IGRvZXMgbm90IHN1cHBvcnQuICBUaGlzIGVuYWJsZXMgc3VwcG9ydCBhbmQKCSAgaW5zdGVhZCBjb21wbGFpbnMgb25seSBmb3IgdmFsdWVzIHdpdGggc3BhY2VzLiAgU2VlIGlzc3VlICM4Nzc5LgoKMjAwOS0wMy0yMyAxNDowNCAgaG9mZm1hbgoKCSogVGVzdHMvOiBDTWFrZVRlc3RzL0dldEZpbGVuYW1lQ29tcG9uZW50UmVhbHBhdGhUZXN0LmNtYWtlLmluLAoJICBGb3J0cmFuL2luY2x1ZGUvdGVzdF9wcmVwcm9jZXNzLmg6IEVOSDogYWRkIG1pc3NpbmcgZmlsZXMKCjIwMDktMDMtMjMgMTM6NTggIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLCBEb2NzL2NtYWtlLW1vZGUuZWwsCgkgIE1vZHVsZXMvQ01ha2VBU01JbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9EYXJ3aW4taWNjLmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL0Rhcndpbi5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9Vbml4UGF0aHMuY21ha2UsIFNvdXJjZS9jbUNQbHVnaW5BUEkuY3h4LAoJICBTb3VyY2UvY21EZXBlbmRzRm9ydHJhbi5jeHgsIFNvdXJjZS9jbURlcGVuZHNGb3J0cmFuUGFyc2VyLmN4eCwKCSAgU291cmNlL2NtRGVwZW5kc0ZvcnRyYW5QYXJzZXIueSwgU291cmNlL2NtRG9jdW1lbnRWYXJpYWJsZXMuY3h4LAoJICBTb3VyY2UvY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVyTWFuLmN4eCwgU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21HZXRGaWxlbmFtZUNvbXBvbmVudENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21HZXRGaWxlbmFtZUNvbXBvbmVudENvbW1hbmQuaCwKCSAgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuaCwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBTb3VyY2UvY21NYWtlRGVwZW5kLmN4eCwgU291cmNlL2NtTWFrZURlcGVuZC5oLAoJICBTb3VyY2UvY21NYWtlZmlsZS5jeHgsIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtU291cmNlRmlsZS5jeHgsIFNvdXJjZS9jbVRhcmdldC5jeHgsIFNvdXJjZS9jbWFrZS5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0VXBkYXRlSGFuZGxlci5jeHgsCgkgIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHgsIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5oeHguaW4sCgkgIFRlc3RzL0NNYWtlVGVzdHMvQ01ha2VMaXN0cy50eHQsIFRlc3RzL0ZvcnRyYW4vQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0ZvcnRyYW4vdGVzdF9wcmVwcm9jZXNzLkY5MDogRU5IOiBjaGVjayBpbiBjaGFuZ2VzIHRvCgkgIGJyYW5jaCwgbW9zdCBpbXBvcnRhbnRseSB0aGUgaGVhZGVyIGZpbGUgZG8gbm90IGNvbXBpbGUgZml4CgoyMDA5LTAzLTIzIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDMtMjIgMTc6MTMgIGxvd21hbgoKCSogTW9kdWxlcy9GaW5kR1RLMi5jbWFrZTogRU5IOiBORVc6IEZpbmRHVEsyIG1vZHVsZQoKMjAwOS0wMy0yMiAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAzLTIxIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDMtMjAgMjM6NTIgIGxvd21hbgoKCSogTW9kdWxlcy9GaW5kQm9vc3QuY21ha2U6IEJVRzogTElTVChSRU1PVkVfSVRFTS4uLikgd2FzIGJlaW5nCgkgIGNhbGxlZCBvbiBhIHZhcmlhYmxlIHRoYXQgY291bGQgYmUgZW1wdHkuCgoyMDA5LTAzLTIwIDE0OjE5ICBraW5nCgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0VXBkYXRlQ29tbWFuZC5oLCBjbUNUZXN0VXBkYXRlSGFuZGxlci5jeHg6CgkgIEJVRzogRml4IHJldHVybiB2YWx1ZSBvZiBjdGVzdF91cGRhdGUKCgkgIFRoZSBDVGVzdCB2ZXJzaW9uIGNvbnRyb2wgcmVmYWN0b3JpbmcgYnJva2UgdGhlIHZhbHVlIHJldHVybmVkCgkgIGZvciB0aGUgY3Rlc3RfdXBkYXRlIGNvbW1hbmQncyBSRVRVUk5fVkFMVUUgYXJndW1lbnQuICBUaGUgdmFsdWUKCSAgaXMgc3VwcG9zZWQgdG8gYmUgdGhlIG51bWJlciBvZiBmaWxlcyB1cGRhdGVkLCBidXQgdGhlCgkgIHJlZmFjdG9yaW5nIGFjY2lkZW50YWxseSBtYWRlIGl0IHRoZSBudW1iZXIgb2YgbG9jYWxseSBtb2RpZmllZAoJICBmaWxlcyBhZnRlciB0aGUgdXBkYXRlLgoKMjAwOS0wMy0yMCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAzLTE5IDIyOjQ4ICBmYmVydGVsCgoJKiBTb3VyY2Uva3dzeXMvOiBTeXN0ZW1JbmZvcm1hdGlvbi5jeHgsIFN5c3RlbUluZm9ybWF0aW9uLmh4eC5pbjoKCSAgQ09NUDpGaXhlZCB3YXJuaW5ncyB3aXRoIGdjYyA0LjMuMi4KCjIwMDktMDMtMTkgMTU6NDQgIGNsaW50b24KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZToKCSAgQlVHOglOZWVkIHRvIGZpeCBmaW5kIG9mIHF0bWFpbiBsaWJyYXJ5IHdoZW4gcW1ha2UgZXhlY3V0YWJsZSBpcwoJICBjaGFuZ2VkLgoKMjAwOS0wMy0xOSAxMTo0OCAgZmJlcnRlbAoKCSogU291cmNlL2t3c3lzL0NvbW1hbmRMaW5lQXJndW1lbnRzLmN4eDogQ09NUDpUcnkgdG8gZml4IGVycm9yIG9uCgkgIEhQLgoKMjAwOS0wMy0xOSAxMDo1MyAga2luZwoKCSogU291cmNlL2NtVGFyZ2V0LmN4eDogRU5IOiBNZW50aW9uIENNQUtFXyogdmFyaWFibGVzIGluIFJQQVRICgkgIHByb3BlcnRpZXMKCgkgIFRoZSBSUEFUSCB0YXJnZXQgcHJvcGVydGllcyBhcmUgaW5pdGlhbGl6ZWQgYnkgQ01BS0VfPHByb3A+CgkgIHZhcmlhYmxlcyBhdCB0YXJnZXQgY3JlYXRpb24gdGltZS4gIFRoaXMgbm90ZXMgdGhlIGZlYXR1cmUgaW4gdGhlCgkgIHByb3BlcnR5IGRvY3VtZW50YXRpb24uICBJdCBpcyBhbHJlYWR5IG5vdGVkIGluIHRoZSB2YXJpYWJsZQoJICBkb2N1bWVudGF0aW9uLgoKMjAwOS0wMy0xOSAxMDowMyAgZmJlcnRlbAoKCSogU291cmNlL2t3c3lzL1JlZ3VsYXJFeHByZXNzaW9uLmh4eC5pbjogQ09NUDp0cnkgdG8gZml4IGVycm9yIG9uCgkgIHFueC1WMy4zLjUtZ2NjX250b3g4Ni4KCjIwMDktMDMtMTkgMDk6MjAgIGZiZXJ0ZWwKCgkqIFNvdXJjZS9rd3N5cy9Db21tYW5kTGluZUFyZ3VtZW50cy5jeHg6IENPTVA6Rml4ZWQgd2FybmluZ3MuCgoyMDA5LTAzLTE5IDA5OjA5ICBmYmVydGVsCgoJKiBTb3VyY2Uva3dzeXMvUmVndWxhckV4cHJlc3Npb24uaHh4LmluOiBDT01QOkZpeGVkIFZTIDY0LWJpdAoJICB3YXJuaW5nIEM0MjY3IGxpbmUgNDMyIG9mIFJlZ3VsYXJFeHByZXNzaW9uLmN4eAoKMjAwOS0wMy0xOSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAzLTE4IDExOjAxICBraW5nCgoJKiBNb2R1bGVzL0FkZEV4dGVybmFsUHJvamVjdC5jbWFrZTogU1RZTEU6IFJlbWluZGVyIG5vdGUgZm9yCgkgIGFkZF9leHRlcm5hbF9wcm9qZWN0IHdvcmsKCjIwMDktMDMtMTggMTE6MDAgIGtpbmcKCgkqIE1vZHVsZXMvQWRkRXh0ZXJuYWxQcm9qZWN0LmNtYWtlLAoJICBUZXN0cy9FeHRlcm5hbFByb2plY3QvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0V4dGVybmFsUHJvamVjdC9TdGVwMVBhdGNoLmNtYWtlOiBFTkg6IEFkZCBwYXRjaCBzdGVwIGZvcgoJICBhZGRfZXh0ZXJuYWxfcHJvamVjdAoKCSAgVGhlIHBhdGNoIHN0ZXAgcnVucyBwYXJhbGxlbCB0byB0aGUgdXBkYXRlIHN0ZXAgc2luY2UgaXQgZG9lcyBub3QKCSAgbWFrZSBzZW5zZSB0byBoYXZlIGJvdGguICBDb25maWd1cmF0aW9uIG9mIHRoZSBzdGVwIHJlcXVpcmVzCgkgIHNwZWNpZmljYXRpb24gb2YgYSBQQVRDSF9DT01NQU5EIGFyZ3VtZW50IHRvCgkgIGFkZF9leHRlcm5hbF9wcm9qZWN0LgoKMjAwOS0wMy0xOCAxMTowMCAga2luZwoKCSogTW9kdWxlcy9BZGRFeHRlcm5hbFByb2plY3QuY21ha2UsCgkgIFRlc3RzL0V4dGVybmFsUHJvamVjdC9DTWFrZUxpc3RzLnR4dDogRU5IOiBJbXByb3ZlCgkgIGFkZF9leHRlcm5hbF9wcm9qZWN0IGludGVyZmFjZQoKCSAgVGhpcyByZXdyaXRlcyB0aGUga2V5d29yZC9hcmd1bWVudCBwYXJzaW5nIGFuZCBoYW5kbGluZyBpbiB0aGUKCSAgQWRkRXh0ZXJuYWxQcm9qZWN0IG1vZHVsZSB0byB1c2UgYXJndW1lbnRzIG1vcmUgbGl0ZXJhbGx5OgoKCSAgICAtIFRoZSBzdHJpY3Qga2V5d29yZC12YWx1ZSBwYWlyaW5nIGlzIGdvbmUgaW4gZmF2b3Igb2Yga2V5d29yZHMKCSAgd2l0aAoJICAgICAgYXJiaXRyYXJ5IG5vbi1rZXl3b3JkIHZhbHVlcy4gIFRoaXMgYXZvaWRzIHJlcXVpcmluZyB1c2VycyB0bwoJICBlc2NhcGUKCSAgICAgIHNwYWNlcyBhbmQgcXVvdGVzIGluIGNvbW1hbmQgbGluZXMuCgoJICAgIC0gQ3VzdG9taXplZCBzdGVwIGNvbW1hbmQgbGluZXMgYXJlIG5vdyBzcGVjaWZpZWQgd2l0aCBhIHNpbmdsZQoJICAgICAga2V5d29yZCA8c3RlcD5fQ09NTUFORCBpbnN0ZWFkIG9mIHB1dHRpbmcgdGhlIGFyZ3VtZW50cyBpbiBhCgkgICAgICBzZXBhcmF0ZSBlbnRyeSAocHJldmlvdXNseSBjYWxsZWQgPHN0ZXA+X0FSR1MpLgoKCSAgICAtIEJ1aWxkIHN0ZXAgY3VzdG9tIGNvbW1hbmRzIG5vdyB1c2UgVkVSQkFUSU0gbW9kZSBzbyB0aGF0CgkgIGFyZ3VtZW50cwoJICAgICAgYXJlIGNvcnJlY3RseSBlc2NhcGVkIG9uIHRoZSBjb21tYW5kIGxpbmUgZHVyaW5nIGJ1aWxkcy4KCjIwMDktMDMtMTggMDg6NTAgIGZiZXJ0ZWwKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IENPTVA6Rml4ZWQgd2FybmluZ3MuCgoyMDA5LTAzLTE4IDA3OjU3ICBmYmVydGVsCgoJKiBTb3VyY2Uva3dzeXMvUmVndWxhckV4cHJlc3Npb24uY3h4OiBTVFlMRTpFbXB0eSBjb21taXQganVzdCBhZGQKCSAgaW5mb3JtYXRpb24gYWJvdXQgcmV2IDEuMTU6IHRoZSByZWFzb24gaXMgdGhhdCBsb25nIGlzIDY0LWJpdCBvbgoJICBnY2Mgb24gTGludXggYmVjYXVzZSBpdCB1c2VzIHRoZSBMUDY0IGRhdGEgbW9kZWwgd2hlcmVhcyBsb25nIGlzCgkgIDMyLWJpdCBvbiBWUyA2NC1iaXQgYmVjYXVzZSBpdCB1c2VzIHRoZSBMTFA2NCBtb2RlbCAocmVmOgoJICBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLzY0LWJpdCM2NC1iaXRfZGF0YV9tb2RlbHMgKQoKMjAwOS0wMy0xOCAwNzozMiAgZmJlcnRlbAoKCSogU291cmNlL2t3c3lzL1JlZ3VsYXJFeHByZXNzaW9uLmN4eDogQ09NUDpGaXggd2FybmluZyBvbiBWUyA2NGJpdC4KCSAgRG9uJ3Qgd2h5IGdjYyA0LjMuMiBkaWRuJ3QgY2F0Y2ggdGhpcyBvbmUgb24gYSA2NGJpdCBtYWNoaW5lIHdpdGgKCSAgLVdjb252ZXJzaW9uIG9uLgoKMjAwOS0wMy0xOCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAzLTE3IDE1OjExICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEJVRzogQWxsb3cgbW9yZSBzaGVsbCBvcHMgaW4gY3VzdG9tCgkgIGNvbW1hbmRzCgoJICBUaGlzIGV4dGVuZHMgdGhlIHNldCBvZiBjb21tb24gc2hlbGwgb3BlcmF0b3JzIHRvIGluY2x1ZGUgInx8IiwKCSAgIiYmIiwgIjE+IiwgYW5kICIyPiIuICBTZWUgaXNzdWUgIzY4NjguCgoyMDA5LTAzLTE3IDE1OjEwICBraW5nCgoJKiBTb3VyY2UvY21Gb3JFYWNoQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUZvckVhY2hDb21tYW5kLmgsCgkgIFRlc3RzL1N0cmluZ0ZpbGVUZXN0L0NNYWtlTGlzdHMudHh0OiBFTkg6IE5ldyBmb3JlYWNoKDx2YXI+IElOCgkgIC4uLikgbW9kZQoKCSAgVGhpcyBjcmVhdGVzIGEgbmV3IG1vZGUgb2YgdGhlIGZvcmVhY2ggY29tbWFuZCB3aGljaCBhbGxvd3MKCSAgcHJlY2lzZSBpdGVyYXRpb24gZXZlbiBvdmVyIGVtcHR5IGVsZW1lbnRzLiAgVGhpcyBtb2RlIG1heSBiZQoJICBzYWZlbHkgZXh0ZW5kZWQgd2l0aCBtb3JlIGtleXdvcmQgYXJndW1lbnRzIGluIHRoZSBmdXR1cmUuICBUaGUKCSAgY29zdCBub3cgaXMgcG9zc2libHkgYnJlYWtpbmcgc2NyaXB0cyB0aGF0IGl0ZXJhdGUgb3ZlciBhIGxpc3Qgb2YKCSAgaXRlbXMgYmVnaW5uaW5nIHdpdGggJ0lOJywgYnV0IHRoZXJlIGlzIG5vIG90aGVyIHdheSB0byBleHRlbmQKCSAgdGhlIHN5bnRheCBpbiBhIHJlYWRhYmxlIHdheS4KCjIwMDktMDMtMTcgMTA6NDggIGZiZXJ0ZWwKCgkqIFNvdXJjZS9rd3N5cy86IEdsb2IuY3h4LCBSZWd1bGFyRXhwcmVzc2lvbi5jeHgsCgkgIFJlZ3VsYXJFeHByZXNzaW9uLmh4eC5pbjogQ09NUDpGaXhlZCB3YXJuaW5ncy4KCjIwMDktMDMtMTcgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMy0xNiAyMjoyOCAgbG93bWFuCgoJKiBNb2R1bGVzL0ZpbmRCb29zdC5jbWFrZTogQlVHOiBFbGltaW5hdGVzIGRldGVjdGlvbiBvZiBCb29zdAoJICBzeXN0ZW0gbGlicmFyeSBwcmlvciB0byAxLjM1IChzZWUgaXNzdWUgIzg3MzQpCgoyMDA5LTAzLTE2IDE3OjM4ICBmYmVydGVsCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYzogQ09NUDpUcnkgdG8gZml4IGNvbXBpbGUgZXJyb3Igd2l0aAoJICBxbnggZ2NjLgoKMjAwOS0wMy0xNiAxNzoxMyAgZmJlcnRlbAoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NVTklYLmM6IENPTVA6Rml4ZWQgZ2NjIDQuMy4yIHdhcm5pbmcgd2l0aCAtTzEKCSAgYW5kIGFib3ZlOiBpZ25vcmluZyByZXR1cm4gdmFsdWUgb2YgcmVhZCcpLCBkZWNsYXJlZCB3aXRoCgkgIGF0dHJpYnV0ZSB3YXJuX3VudXNlZF9yZXN1bHQKCjIwMDktMDMtMTYgMTY6NTUgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VHZW5lcmljU3lzdGVtLmNtYWtlLAoJICBTb3VyY2UvY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmgsIFNvdXJjZS9jbWFrZS5jeHgsCgkgIFRlc3RzL0NvbXBsZXgvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFsbG93IHByb2plY3RzIHRvCgkgIGRpc2FibGUgcGVyLXJ1bGUgZWNobyBsaW5lcwoKCSAgVGhpcyBjcmVhdGVzIGdsb2JhbCBwcm9wZXJ0eSBSVUxFX01FU1NBR0VTIHdoaWNoIGNhbiBiZSBzZXQgdG8KCSAgZGlzYmFsZSBwZXItcnVsZSBwcm9ncmVzcyBhbmQgYWN0aW9uIHJlcG9ydGluZy4gIE9uIFdpbmRvd3MsCgkgIHRoZXNlIHJlcG9ydHMgbWF5IGNhdXNlIGEgbm90aWNhYmxlIGRlbGF5IGR1ZSB0byB0aGUgY29zdCBvZgoJICBzdGFydGluZyBleHRyYSBwcm9jZXNzZXMuICBUaGlzIGZlYXR1cmUgd2lsbCBhbGxvdyBzY3JpcHRlZAoJICBidWlsZHMgdG8gYXZvaWQgdGhlIGNvc3Qgc2luY2UgdGhleSBkbyBub3QgbmVlZCBkZXRhaWxlZAoJICBpbmZvcm1hdGlvbiBhbnl3YXkuICBUaGlzIHJlcGxhY2VzIHRoZSBSVUxFX1BST0dSRVNTIHByb3BlcnR5CgkgIGNyZWF0ZWQgZWFybGllciBhcyBpdCBpcyBtb3JlIGNvbXBsZXRlLiAgU2VlIGlzc3VlICM4NzI2LgoKMjAwOS0wMy0xNiAxNjo1NSAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eDogU1RZTEU6IFNlcGFyYXRlCgkgIHVucmVsYXRlZCBsb2dpYwoKCSAgVGhpcyBzZXBhcmF0ZXMgdW5yZWxhdGVkIHVzZXMgb2YgYSBsaWJyYXJ5LXR5cGUgc3dpdGNoIGludG8KCSAgc2VwYXJhdGUgc3dpdGNoZXMuICBBbiB1cGNvbWluZyBjb21taXQgd2lsbCBjb25kaXRpb25hbGx5IGVudGVyCgkgIG9uZSBvZiB0aGUgc3dpdGNoZXMuCgoyMDA5LTAzLTE2IDE2OjIyICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlR2VuZXJpY1N5c3RlbS5jbWFrZSwKCSAgU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5oLCBTb3VyY2UvY21ha2UuY3h4LAoJICBUZXN0cy9Db21wbGV4L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dDogRU5IOiBBbGxvdyBwcm9qZWN0cyB0bwoJICBkaXNhYmxlIHBlci1ydWxlIHByb2dyZXNzCgoJICBUaGlzIGNyZWF0ZXMgZ2xvYmFsIHByb3BlcnR5IFJVTEVfUFJPR1JFU1Mgd2hpY2ggY2FuIGJlIHNldCB0bwoJICBkaXNiYWxlIHBlci1ydWxlIHByb2dyZXNzIHJlcG9ydGluZy4JT24gV2luZG93cywgcHJvZ3Jlc3MKCSAgcmVwb3J0cyBtYXkgY2F1c2UgYSBub3RpY2FibGUgZGVsYXkgZHVlIHRvIHRoZSBjb3N0IG9mIHN0YXJ0aW5nCgkgIGFuIGV4dHJhIHByb2Nlc3MuICBUaGlzIGZlYXR1cmUgd2lsbCBhbGxvdyBzY3JpcHRlZCBidWlsZHMgdG8KCSAgYXZvaWQgdGhlIGNvc3Qgc2luY2UgdGhleSBkbyBub3QgbmVlZCBkZXRhaWxlZCBwcm9ncmVzcyBhbnl3YXkuCgkgIFNlZSBpc3N1ZSAjODcyNi4KCjIwMDktMDMtMTYgMTY6MjIgIGtpbmcKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmg6IEVOSDogRmFjdG9yIG91dCBtYWtlZmlsZSBwcm9ncmVzcwoJICBydWxlIGNvbW1hbmRzCgoJICBUaGlzIGZhY3RvcnMgZHVwbGljYXRlIHByb2dyZXNzIHJ1bGUgY29kZSBpbnRvIGEgY29tbW9uIG1ldGhvZC4KCjIwMDktMDMtMTYgMTU6MDIgIGZiZXJ0ZWwKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jOiBDT01QOkZpeGVkIHdhcm5pbmdzLgoKMjAwOS0wMy0xNiAxNDozMCAga2luZwoKCSogU291cmNlLzogY21DUGx1Z2luQVBJLmN4eCwgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuaCwgY21Tb3VyY2VGaWxlLmN4eDogQlVHOiBEbyBub3QKCSAgYXV0b21hdGljYWxseSBzZXQgSEVBREVSX0ZJTEVfT05MWQoKCSAgTG9uZyBhZ28gdGhlIG5hdGl2ZSBidWlsZCBzeXN0ZW0gZ2VuZXJhdG9ycyBuZWVkZWQKCSAgSEVBREVSX0ZJTEVfT05MWSB0byBiZSBzZXQgb24gaGVhZGVyIGZpbGVzIHRvIHN0b3AgdGhlbSBmcm9tCgkgIGJ1aWxkaW5nLiAgVGhlIG1vZGVybiBnZW5lcmF0b3JzIGNvcnJlY3RseSBoYW5kbGUgaGVhZGVycyB3aXRob3V0CgkgIHRoZSBoZWxwIG9mIHRoaXMgcHJvcGVydHkuICBUaGlzIHJlbW92ZXMgYXV0b21hdGljIHNldHRpbmcgb2YgdGhlCgkgIHByb3BlcnR5IHNvIHRoYXQgaXQgY2FuIGJlIHVzZWQgcmVsaWFibHkgYXMgYW4gaW5kaWNhdG9yIG9mCgkgIHByb2plY3QgYXV0aG9yIGludGVudGlvbi4gIEl0IGZpeGVzIFZTIElERSBwcm9qZWN0IGZpbGVzIHRvIHNob3cKCSAgaGVhZGVyIGZpbGVzIG5vcm1hbGx5IGluc3RlYWQgb2YgZXhjbHVkZWQgKGJyb2tlbiBieSB0aGUgZml4IGZvcgoJICBpc3N1ZSAjNzg0NSkuCgoyMDA5LTAzLTE2IDE0OjMwICBraW5nCgoJKiBTb3VyY2UvOiBjbU1ha2VEZXBlbmQuY3h4LCBjbU1ha2VEZXBlbmQuaDogRU5IOiBSZW1vdmUgdW51c2VkCgkgIGNvZGUgZnJvbSBjbU1ha2VEZXBlbmQKCgkgIFRoaXMgY2xhc3MgaXMgdGhlIG9sZC1zdHlsZSBkZXBlbmRlbmN5IHNjYW5uZXIuICBJdCBpcyBuZWVkZWQKCSAgb25seSB0byBpbXBsZW1lbnQgdGhlIG91dHB1dF9yZXF1aXJlZF9maWxlcyBjb21tYW5kLglUaGlzIGNoYW5nZQoJICByZW1vdmVzIHNvbWUgY29kZSBub3QgbmVlZGVkIGZvciB0aGF0IHB1cnBvc2UsIGluY2x1ZGluZyBhCgkgIHJlZmVyZW5jZSB0byB0aGUgSEVBREVSX0ZJTEVfT05MWSBwcm9wZXJ0eS4KCjIwMDktMDMtMTYgMTA6NTEgIGtpbmcKCgkqIFNvdXJjZS9jbUFkZFRlc3RDb21tYW5kLmN4eCwgU291cmNlL2NtQWRkVGVzdENvbW1hbmQuaCwKCSAgU291cmNlL2NtVGVzdC5jeHgsIFNvdXJjZS9jbVRlc3QuaCwgU291cmNlL2NtVGVzdEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbVRlc3RHZW5lcmF0b3IuaCwgVGVzdHMvVGVzdGluZy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvVGVzdGluZy9wZXJjb25maWcuYzogRU5IOiBBZGQgTkFNRSBtb2RlIHRvIEFERF9URVNUIGNvbW1hbmQKCgkgIFRoaXMgY3JlYXRlcyBjb21tYW5kIG1vZGUgYWRkX3Rlc3QoTkFNRSAuLi4pLiAgVGhpcyBzaWduYXR1cmUgaXMKCSAgZXh0ZW5zaWJsZSB3aXRoIG1vcmUga2V5d29yZCBhcmd1bWVudHMgbGF0ZXIuICBUaGUgbWFpbiBwdXJwb3NlCgkgIGlzIHRvIGVuYWJsZSBhdXRvbWF0aWMgcmVwbGFjZW1lbnQgb2YgdGFyZ2V0IG5hbWVzIHdpdGggYnVpbHQKCSAgdGFyZ2V0IGZpbGUgbG9jYXRpb25zLiAgQSBzaWRlIGVmZmVjdCBvZiB0aGlzIGZlYXR1cmUgaXMgc3VwcG9ydAoJICBmb3IgdGVzdHMgdGhhdCBvbmx5IHJ1biB1bmRlciBzcGVjaWZpYyBjb25maWd1cmF0aW9ucy4KCjIwMDktMDMtMTYgMTA6NDIgIGtpbmcKCgkqIFNvdXJjZS86IGNtQWRkVGVzdENvbW1hbmQuY3h4LCBjbVRlc3QuY3h4LCBjbVRlc3QuaCwKCSAgY21UZXN0R2VuZXJhdG9yLmN4eDogRU5IOiBSZWZhY3RvciBzdG9yYWdlIG9mIHRlc3QgY29tbWFuZCBsaW5lcwoKCSAgV2UgdXNlZCB0byBzZXBhcmF0ZSB0aGUgY29tbWFuZCBleGVjdXRhYmxlIGZyb20gaXRzIGFyZ3VtZW50CgkgIHZlY3Rvci4gIEl0IGlzIHNpbXBsZXIgdG8ganVzdCBzdG9yZSB0aGUgd2hvbGUgY29tbWFuZCBsaW5lIGluCgkgIG9uZSB2ZWN0b3IuCgoyMDA5LTAzLTE2IDEwOjQwICBraW5nCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbUFkZFRlc3RDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmgsIFNvdXJjZS9jbVRlc3RHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21UZXN0R2VuZXJhdG9yLmgsIGJvb3RzdHJhcDogRU5IOiBSZWZhY3RvciBnZW5lcmF0aW9uIG9mCgkgIENUZXN0VGVzdGZpbGUgY29udGVudAoKCSAgVGhpcyBtb3ZlcyBjb2RlIHdoaWNoIGdlbmVyYXRlcyBBRERfVEVTVCBhbmQgU0VUX1RFU1RTX1BST1BFUlRJRVMKCSAgY2FsbHMgaW50byBDVGVzdFRlc3RmaWxlLmNtYWtlIGZpbGVzIG91dCBvZiBjbUxvY2FsR2VuZXJhdG9yIGFuZAoJICBpbnRvIGEgY21UZXN0R2VuZXJhdG9yIGNsYXNzLiAgVGhpcyB3aWxsIGFsbG93IG1vcmUgYWR2YW5jZWQKCSAgZ2VuZXJhdGlvbiB3aXRob3V0IGNsdXR0ZXJpbmcgY21Mb2NhbEdlbmVyYXRvci4gIFRoZQoJICBjbVRlc3RHZW5lcmF0b3IgY2xhc3MgZGVyaXZlcyBmcm9tIGNtU2NyaXB0R2VuZXJhdG9yIHRvIGdldAoJICBzdXBwb3J0IGZvciBwZXItY29uZmlndXJhdGlvbiBzY3JpcHQgZ2VuZXJhdGlvbiAobm90IHlldAoJICBlbmFibGVkKS4KCjIwMDktMDMtMTYgMTA6MzkgIGtpbmcKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgU291cmNlL2NtSW5zdGFsbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUluc3RhbGxHZW5lcmF0b3IuaCwgU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuaCwgU291cmNlL2NtU2NyaXB0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtU2NyaXB0R2VuZXJhdG9yLmgsIGJvb3RzdHJhcDogRU5IOiBSZWZhY3RvcgoJICBjbUluc3RhbGxHZW5lcmF0b3IgZm9yIHJlLXVzZQoKCSAgQSBuZXcgY21TY3JpcHRHZW5lcmF0b3IgYmFzZSBjbGFzcyBmYWN0b3JzIG91dCB0aGUKCSAgbm9uLWluc3RhbGwtc3BlY2lmaWMgcGFydCBvZiBjbUluc3RhbGxHZW5lcmF0b3IuICBUaGlzIHdpbGwgYmUKCSAgdXNlZnVsIGZvciBvdGhlciBnZW5lcmF0b3JzIHRoYXQgd2FudCBwZXItY29uZmlndXJhdGlvbgoJICBmdW5jdGlvbmFsaXR5LgoKMjAwOS0wMy0xNiAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAzLTE1IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDMtMTQgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMy0xMyAxNzowNCAgYWxleAoKCSogU291cmNlL2NtRXh0cmFFY2xpcHNlQ0RUNEdlbmVyYXRvci5jeHg6IEVOSDogZG9uJ3QgZW5mb3JjZQoJICBWRVJCT1NFIE1ha2VmaWxlcywgYnV0IHNldCB0aGUgZW52LiB2YXIgVkVSQk9TRSB0byAxIGluIHdoZW4gbWFrZQoJICBpcyBleGVjdXRlZCBmcm9tIHdpdGhpbiBFY2xpcHNlLiBUaGlzIHdheSB3aGVuIGJ1aWxkaW5nIGZyb20gdGhlCgkgIGNvbW1hbmQgbGluZSBvbmUgY2FuIGJ1aWxkIGFsc28gaW4gbm9uLXZlcmJvc2UgbW9kZS4KCgkgIEFsZXgKCjIwMDktMDMtMTMgMTY6NTIgIGFsZXgKCgkqIE1vZHVsZXMvQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlLAoJICBTb3VyY2UvY21FeHRyYUVjbGlwc2VDRFQ0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtRXh0cmFFY2xpcHNlQ0RUNEdlbmVyYXRvci5oOiBFTkg6IHdoZW4gdXNpbmcgdGhlIEVjbGlwc2UKCSAgcHJvamVjdCBnZW5lcmF0b3IsIHJ1biBnY2Mgc28gdGhhdCBpdCB0ZWxscyB1cyBpdHMgc3lzdGVtIGluY2x1ZGUKCSAgZGlyZWN0b3JpZXMuIFRoZXNlIGFyZSBjYXRjaGVkIGluCgkgIENNYWtlU3lzdGVtU3BlY2lmaWNJbmZvcm1hdGlvbi5jbWFrZSAob25seSB3aXRoIHRoZSBFY2xpcHNlCgkgIGdlbmVyYXRvcikgYW5kIHRoZW4gd3JpdHRlbiBieSB0aGUgRWNsaXBzZSBnZW5lcmF0b3IgaW4gdGhlCgkgIEVjbGlwc2UgcHJvamVjdCBmaWxlLiBUaGlzIHdheSBFY2xpcHNlIGNhbiBmaW5kIHRoZSBzdGFuZGFyZAoJICBoZWFkZXJzICgjNzU4NSkgTm90IHN1cmUgQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlIGlzCgkgIHRoZSBiZXN0IHBsYWNlIHRvIGRvIHRoaXMuCgoJICBBbGV4CgoyMDA5LTAzLTEzIDE0OjU4ICBhbGV4CgoJKiBTb3VyY2UvY21TdHJpbmdDb21tYW5kLmg6IFNUWUxFOiBhZGQgbGluZSBicmVha3MgdG8gdGhlCgkgIGRvY3VtZW50YXRpb24gZm9yIENNQUtFX01BVENIXygwLi45KSwgb3RoZXJ3aXNlIG9uZSBtaWdodCBtaXNzCgkgIHRoaXMgaW5mb3JtYXRpb24KCgkgIEFsZXgKCjIwMDktMDMtMTMgMTA6NTMgIGtpbmcKCgkqIFNvdXJjZS9jbUNhY2hlTWFuYWdlci5jeHg6IEJVRzogRG9jdW1lbnQgaW50ZXJuYWwgY2FjaGUgcHJvcGVydHkKCSAgTU9ESUZJRUQKCgkgIEFsbCBjbWFrZS1kZWZpbmVkIHByb3BlcnRpZXMgc2hvdWxkIGJlIGRvY3VtZW50ZWQsIGV2ZW4gaWYgdGhleQoJICBhcmUgaW50ZXJuYWwuICBUaGlzIGZpeGVzIHRoZSBEb2NUZXN0IHdoZW4gQ01BS0VfU1RSSUNUIGlzCgkgIGVuYWJsZWQuCgoyMDA5LTAzLTEzIDEwOjUzICBraW5nCgoJKiBTb3VyY2UvOiBjbUNhY2hlTWFuYWdlci5jeHgsIGNtQ2FjaGVNYW5hZ2VyLmgsIGNtYWtlLmN4eDogQlVHOgoJICBGaXggY2FjaGUgcHJvcGVydGllcyBmb3IgQ01BS0VfU1RSSUNUIGJ1aWxkCgoJICBBbGwgY21Qcm9wZXJ0eU1hcCBpbnN0YW5jZXMgbXVzdCBoYXZlIENNYWtlSW5zdGFuY2Ugc2V0LiAgVGhpcwoJICB0ZWFjaGVzIGNtQ2FjaGVNYW5hZ2VyIHRvIHNldCBpdCBvbiBjYWNoZSBlbnRyaWVzLgoKMjAwOS0wMy0xMyAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAzLTEyIDIxOjA2ICBsb3dtYW4KCgkqIE1vZHVsZXMvRmluZEJvb3N0LmNtYWtlOiBTVFlMRTogTW92ZWQgZnVuY3Rpb25zL21hY3JvcyB0byB0b3Agb2YKCSAgZmlsZSBzbyBtYWluIGlzIG1vcmUgcmVhZGFibGUuCgoyMDA5LTAzLTEyIDE5OjI0ICBhbGV4CgoJKiBTb3VyY2UvY21JbmNsdWRlRGlyZWN0b3J5Q29tbWFuZC5jeHg6IEJVRzogZml4ICM4NzA0LCBzb21ldGltZXMKCSAgY3Jhc2ggaWYgaW5jbHVkZV9kaXJlY3RvcmllcygpIGlzIGNhbGxlZCB3aXRoIGEgd2hpdGVzcGFjZSBzdHJpbmcKCgkgIEFsZXgKCjIwMDktMDMtMTIgMTg6NDMgIGFsZXgKCgkqIFNvdXJjZS9jbVByb2plY3RDb21tYW5kLmg6IFNUWUxFOiBkb2N1bWVudCBOT05FIGZvciBkaXNhYmxpbmcgYW55CgkgIGxhbmd1YWdlcywgc2xpZ2h0bHkgY2hhbmdlIHdvcmRpbmcgb2YgdGhlIHJlc3Qgb2YgdGhlCgkgIGRvY3VtZW50YXRpb24sIHNvIGl0IGlzIG1vcmUgc2ltaWxhciB0byBFTkFCTEVfTEFOR1VBR0UoKSAoIzg3MTgpCgoJICBBbGV4CgoyMDA5LTAzLTEyIDE0OjU0ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN1Ym1pdEhhbmRsZXIuY3h4OiBFTkg6IGFsbG93IGZvciBodHRwcwoJICBzdWJtaXNzaW9uIGlmIGN0ZXN0IGlzIGJ1aWx0IHdpdGggYSBjdXJsIHRoYXQgc3VwcG9ydHMgaXQKCjIwMDktMDMtMTIgMTM6MTEgIGtpbmcKCgkqIFNvdXJjZS9jbUNhY2hlTWFuYWdlci5jeHg6IENPTVA6IERvIG5vdCB1c2Ugdm9pZCByZXR1cm5zCgoJICBWUyA2IGRvZXMgbm90IHN1cHBvcnQgdGhlIEMrKyB2b2lkIHJldHVybnMgZmVhdHVyZS4gIFRoaXMgcmVtb3ZlcwoJICBhbiBhY2NpZGVudGFsIHVzZSBvZiBpdC4KCjIwMDktMDMtMTIgMTE6MTkgIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy86IFFDTWFrZS5jeHgsIFFDTWFrZS5oLCBRQ01ha2VDYWNoZVZpZXcuY3h4LAoJICBRQ01ha2VDYWNoZVZpZXcuaCwgUUNNYWtlV2lkZ2V0cy5oOgoJICBFTkg6CUFkZCBzdXBwb3J0IGZvciBzaG93aW5nIGNvbWJvIGJveCBmb3IgY2hvb3NpbmcgZnJvbSBhIGxpc3QKCSAgb2Ygc3RyaW5ncyB0aGF0IGEgY2FjaGUgcHJvcGVydHkgY2FuIGhhdmUuCgoyMDA5LTAzLTEyIDEwOjUyICBraW5nCgoJKiBTb3VyY2UvOiBjbUNhY2hlTWFuYWdlci5jeHgsIGNtU2V0UHJvcGVydHlDb21tYW5kLmN4eDogRU5IOgoJICBEZWZpbmUgU1RSSU5HUyBjYWNoZSBlbnRyeSBwcm9wZXJ0eQoKCSAgVGhpcyBwcm9wZXJ0eSBkZWZpbmVzIGEgbGlzdCBvZiB2YWx1ZXMgZm9yIGEgY2FjaGUgZW50cnkgb2YgdHlwZQoJICBTVFJJTkcuICBBIENNYWtlIEdVSSBtYXkgb3B0aW9uYWxseSB1c2UgYSBkcm9wLWRvd24gc2VsZWN0aW9uCgkgIHdpZGdldCBmb3IgdGhlIGVudHJ5IGluc3RlYWQgb2YgYSBnZW5lcmljIHRleHQgZW50cnkgZmllbGQuICBXZQoJICBkbyBub3QgZW5mb3JjZSB0aGF0IHRoZSB2YWx1ZSBvZiB0aGUgZW50cnkgbWF0Y2ggb25lIG9mIHRoZQoJICBzdHJpbmdzIGxpc3RlZC4KCjIwMDktMDMtMTIgMTA6NDkgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ2FjaGVNYW5hZ2VyLmN4eCwgY21DYWNoZU1hbmFnZXIuaDogRU5IOiBSZWZhY3RvcgoJICBjYWNoZSBlbnRyeSB3cml0aW5nIGFuZCByZWFkaW5nCgoJICBUaGlzIGZhY3RvcnMgb3V0IGR1cGxpY2F0ZWQgY29kZSBpbnRvIHJldXNhYmxlIG1ldGhvZHMsIHRodXMKCSAgc2ltcGxpZnlpbmcgd3JpdGluZyBhbmQgcmVhZGluZyBvZiBjYWNoZSBlbnRyeSBoZWxwIHN0cmluZ3MsCgkgIGtleXMsIHZhbHVlcywgYW5kIHByb3BlcnRpZXMuCgoyMDA5LTAzLTEyIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDMtMTEgMTg6MTMgIGFsZXgKCgkqIE1vZHVsZXMvOiBDaGVja0NTb3VyY2VDb21waWxlcy5jbWFrZSwgQ2hlY2tDU291cmNlUnVucy5jbWFrZSwKCSAgQ2hlY2tDWFhTb3VyY2VDb21waWxlcy5jbWFrZSwgQ2hlY2tDWFhTb3VyY2VSdW5zLmNtYWtlOiBTVFlMRToKCSAgZml4IGRvY3VtZW50YXRpb246IHRoZSBzZWNvbmQgc2hvcnQgZGVzY3JpcHRpb24gZGlzY2FyZGVkIHRoZQoJICBmaXJzdCBvbmUsIGJ1dCB0aGUgZmlyc3Qgb25lIHdhcyB0aGUgY29ycmVjdCBvbmUgKGkuZS4gdGhlIG9uZQoJICB3aGljaCBtZW50aW9uZWQgdGhhdCBDaGVja0NbWFhdU291cmNlUnVucy5jbWFrZSBhbHNvIHRyaWVzIHRvIHJ1bgoJICB0aGUgZXhlY3V0YWJsZSkKCgkgIEFsZXgKCjIwMDktMDMtMTEgMTM6MzEgIGtpbmcKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eDogQlVHOiBEbyBub3QgcHJvZHVjZQoJICBlbXB0eSBjb3ZlcmFnZSBsb2cgZmlsZXMKCgkgIFRoaXMgbW92ZXMgdGhlIGZpbHRlcmluZyBvZiBzb3VyY2UgZmlsZXMgdG8gYmVmb3JlIHRoZSBwcm9kdWN0aW9uCgkgIG9mIGNvdmVyYWdlIGxvZyBmaWxlcyBpbiBvcmRlciB0byBhdm9pZCBwcm9kdWNpbmcgYQoJICBDb3ZlcmFnZUxvZy0qLnhtbCBmaWxlIGZvciAxMDAgZmlsdGVyZWQtb3V0IGZpbGVzLiAgVGhlIGNoYW5nZQoJICBncmVhdGx5IHJlZHVjZXMgdGhlIG51bWJlciBvZiBzdWJtaXR0ZWQgY292ZXJhZ2UgZmlsZXMgd2hlbiB1c2luZwoJICBsYWJlbCBmaWx0ZXJzLgoKMjAwOS0wMy0xMSAxMzozMSAga2luZwoKCSogU291cmNlLzogQ1Rlc3QvY21DVGVzdENvdmVyYWdlSGFuZGxlci5jeHgsIGNtQ1Rlc3QuaDogQlVHOiBEbyBub3QKCSAgY2Fycnkgb3ZlciBmaWxlIGxpc3QgYmV0d2VlbiBjb3ZlcmFnZQoKCSAgV2hlbiBwZXJmb3JtaW5nIG11bHRpcGxlIGN0ZXN0X2NvdmVyYWdlKCkgY29tbWFuZHMgaW4gYSBzaW5nbGUKCSAgQ1Rlc3QgaW5zdGFuY2Ugd2UgbmVlZCB0byBjbGVhciB0aGUgbGlzdCBvZiBDb3ZlcmFnZUxvZy0qLnhtbAoJICBmaWxlcyBmb3Igc3VibWlzc2lvbi4gIE90aGVyd2lzZSBpZiB0aGUgY3VycmVudCBjb3ZlcmFnZSBydW4KCSAgcHJvZHVjZXMgZmV3ZXIgbG9nIGZpbGVzIHRoYW4gdGhlIHByZXZpb3VzIHJ1biBDVGVzdCB3aWxsIGF0dGVtcHQKCSAgdG8gc3VibWl0IG5vbi1leGlzdGluZyBmaWxlcy4KCjIwMDktMDMtMTEgMTI6MDMgIGtpbmcKCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4LAoJICBjbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmg6IEJVRzogQXZvaWQgZHVwbGljYXRlIENUZXN0IGNvdmVyYWdlCgkgIHN1Ym1pc3Npb24KCgkgIFRoaXMgdGVhY2hlcyBjdGVzdF9jb3ZlcmFnZSgpIHRvIHJlbW92ZSBhbnkgZXhpc3RpbmcKCSAgQ292ZXJhZ2VMb2ctKi54bWwgd2hlbiBpdCBjcmVhdGVzIG5ldyBjb3ZlcmFnZSByZXN1bHRzLgoJICBPdGhlcndpc2UgdGhlIG5leHQgY3Rlc3Rfc3VibWl0KCkgbWF5IHN1Ym1pdCBvbGQgY292ZXJhZ2UgbG9nCgkgIGZpbGVzIHdoaWNoIHVubmVjZXNzYXJpbHkuCgoyMDA5LTAzLTExIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDMtMTAgMTc6MzQgIGFsZXgKCgkqIFNvdXJjZS9jbUV4dHJhQ29kZUJsb2Nrc0dlbmVyYXRvci5jeHg6IEVOSDogb25seSBjaGVjayBmb3IgdGhlCgkgIGV4aXN0YW5jZSBvZiBhIGhlYWRlciBmaWxlIGlmOiAtdGhlIG9yaWdpbmFsIGZpbGUgaXMgYSBDL0MrKwoJICBpbXBsZW1lbnRhdGlvbiBmaWxlIC10aGUgaGVhZGVyIGZpbGUgaXMgbm90IGFscmVhZHkgcGFydCBvZiB0aGUKCSAgc291cmNlcwoKCSAgQWxleAoKMjAwOS0wMy0xMCAxMToxMSAga2luZwoKCSogU291cmNlLzogY21DYWNoZU1hbmFnZXIuY3h4LCBjbUNhY2hlTWFuYWdlci5oLAoJICBjbURvY3VtZW50YXRpb24uY3h4LCBjbWFrZS5jeHg6IEVOSDogRG9jdW1lbnQgQ0FDSEUgZW50cnkKCSAgcHJvcGVydGllcwoKCSAgVGhpcyBhZGRzIGEgcHJvcGVydHkgZG9jdW1lbnRhdGlvbiBzZWN0aW9uIGZvciBDQUNIRSBwcm9wZXJ0aWVzLgoJICBXZSBkb2N1bWVudCB0aGUgQURWQU5DRUQsIEhFTFBTVFJJTkcsIFRZUEUsIGFuZCBWQUxVRSBwcm9wZXJ0aWVzLgoKMjAwOS0wMy0xMCAxMToxMCAga2luZwoKCSogU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmN4eCwgU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmgsCgkgIFNvdXJjZS9jbUdldFByb3BlcnR5Q29tbWFuZC5jeHgsIFNvdXJjZS9jbUdldFByb3BlcnR5Q29tbWFuZC5oLAoJICBTb3VyY2UvY21TZXRQcm9wZXJ0eUNvbW1hbmQuY3h4LCBTb3VyY2UvY21TZXRQcm9wZXJ0eUNvbW1hbmQuaCwKCSAgVGVzdHMvUHJvcGVydGllcy9DTWFrZUxpc3RzLnR4dDogRU5IOiBUZWFjaCBzZXQvZ2V0X3Byb3BlcnR5CgkgIGFib3V0IENBQ0hFIHByb3BlcnRpZXMKCgkgIFRoaXMgYWRkcyB0aGUgQ0FDSEUgb3B0aW9uIHRvIHNldF9wcm9wZXJ0eSBhbmQgZ2V0X3Byb3BlcnR5CgkgIGNvbW1hbmRzLiAgVGhpcyBhbGxvd3MgZnVsbCBjb250cm9sIG92ZXIgY2FjaGUgZW50cnkgaW5mb3JtYXRpb24sCgkgIHNvIGFkdmFuY2VkIHVzZXJzIGNhbiB0d2VhayB0aGVpciBwcm9qZWN0IGNhY2hlIGFzIGRlc2lyZWQuICBUaGUKCSAgc2V0X3Byb3BlcnR5IGNvbW1hbmQgYWxsb3dzIG9ubHkgcHJlLWRlZmluZWQgQ0FDSEUgcHJvcGVydGllcyB0bwoJICBiZSBzZXQgc2luY2Ugb3RoZXJzIHdvdWxkIG5vdCBwZXJzaXN0IGFueXdheS4KCjIwMDktMDMtMTAgMTE6MTAgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ2FjaGVNYW5hZ2VyLmN4eCwgY21DYWNoZU1hbmFnZXIuaCwgY21Qcm9wZXJ0eS5oLAoJICBjbVByb3BlcnR5RGVmaW5pdGlvbk1hcC5jeHg6IEVOSDogVXNlIGNtUHJvcGVydHlNYXAgZm9yIGNhY2hlCgkgIHByb3BlcnRpZXMKCgkgIFRoaXMgcmUtaW1wbGVtZW50cyBjYWNoZSBlbnRyeSBwcm9wZXJ0eSBzdG9yYWdlIGluIGNtQ2FjaGVNYW5hZ2VyCgkgIHRvIHVzZSBjbVByb3BlcnR5TWFwIHNvIGl0IGNhbiBzaGFyZSB0aGUgc3RhbmRhcmQgcHJvcGVydHkKCSAgaW1wbGVtZW50YXRpb24uCgoyMDA5LTAzLTEwIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDMtMDkgMTc6NTcgIGtpbmcKCgkqIFNvdXJjZS9jbUdldFByb3BlcnR5Q29tbWFuZC5jeHg6IEJVRzogRml4IGdldF9wcm9wZXJ0eSByZXN1bHQgZm9yCgkgIGJhZCBwcm9wZXJ0eQoKCSAgV2hlbiBhIHByb3BlcnR5IGRvZXMgbm90IGV4aXN0IHdlIGFyZSBzdXBwb3NlZCB0byByZXR1cm4gYW4gZW1wdHkKCSAgdmFsdWUuICBQcmV2aW91c2x5IGlmIGEgcHJvcGVydHkgZGlkIG5vdCBleGlzdCB3ZSBqdXN0IGxlZnQgdGhlCgkgIHZhbHVlIG9mIHRoZSBvdXRwdXQgdmFyaWFibGUgdW5jaGFuZ2VkLiAgVGhpcyB0ZWFjaGVzIENNYWtlIHRvCgkgIHJlbW92ZSB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgb3V0cHV0IHZhcmlhYmxlIGluIHRoaXMgY2FzZS4KCjIwMDktMDMtMDkgMTI6MTkgIGtpbmcKCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4LAoJICBjbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmg6IEVOSDogRWZmaWNpZW50bHkgZmlsdGVyIENUZXN0IGNvdmVyYWdlCgkgIGJ5IGxhYmVsCgoJICBUaGlzIHRlYWNoZXMgQ1Rlc3QgdG8gcHJvY2VzcyBjb3ZlcmFnZSBpbmZvcm1hdGlvbiBvbmx5IGZvcgoJICBvYmplY3QgZmlsZXMgaW4gdGFyZ2V0cyBjb250YWluaW5nIGxhYmVscyBvZiBpbnRlcmVzdC4gIFRoaXMKCSAgY2hhbmdlIGFsc28gaW1wcm92ZXMgbG9hZGluZyBvZiBnbG9iYWwgY292ZXJhZ2UgaW5mb3JtYXRpb24gYnkKCSAgZ2xvYmJpbmcgb25seSBpbiBlYWNoIHRhcmdldCBzdXBwb3J0IGRpcmVjdG9yeSBpbnN0ZWFkIG9mIHRoZQoJICBlbnRpcmUgYnVpbGQgdHJlZS4KCjIwMDktMDMtMDkgMTI6MTkgIGtpbmcKCgkqIFNvdXJjZS86IENUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsR2VuZXJhdG9yLmgsIENUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuaDogRU5IOgoJICBHZW5lcmF0ZSBhIGNlbnRyYWwgbGlzdCBvZiB0YXJnZXQgZGlyZWN0b3JpZXMKCgkgIFRoaXMgZ2VuZXJhbGl6ZXMgdGhlIHByZXZpb3VzIENNYWtlRmlsZXMvTGFiZWxGaWxlcy50eHQgY3JlYXRlZAoJICBhdCB0aGUgdG9wIG9mIHRoZSBidWlsZCB0cmVlIHRvIGEKCSAgQ01ha2VGaWxlcy9UYXJnZXREaXJlY3Rvcmllcy50eHQgZmlsZS4gIEl0IGxpc3RzIHRoZSB0YXJnZXQKCSAgc3VwcG9ydCBkaXJlY3RvcmllcyBmb3IgYWxsIHRhcmdldHMgaW4gdGhlIHByb2plY3QuICBMYWJlbHMgY2FuCgkgIHN0aWxsIGJlIGxvYWRlZCBieSBsb29raW5nIGZvciBMYWJlbHMudHh0IGZpbGVzIGluIGVhY2ggdGFyZ2V0CgkgIGRpcmVjdG9yeS4KCjIwMDktMDMtMDkgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMy0wOCAxNTozMyAgYWxleAoKCSogU291cmNlL2NtRXh0cmFDb2RlQmxvY2tzR2VuZXJhdG9yLmN4eDoKCSAgRU5IOiBhdXRvbWF0aWNhbGx5IGFkZCBoZWFkZXJzIG9mIGltcGxlbWVudGF0aW9uIGZpbGUgdG8gdGhlCgkgIGNvZGVibG9ja3MgcHJvamVjdCBmaWxlCgoJICBBbGV4CgoyMDA5LTAzLTA4IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDMtMDcgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMy0wNiAxNDoyOSAgZGF2aWQuY29sZQoKCSogVGVzdHMvQ01ha2VUZXN0cy9HZXRQcmVyZXF1aXNpdGVzVGVzdC5jbWFrZS5pbjogU1RZTEU6IFdoaXRlCgkgIHNwYWNlIG9ubHkgY2hhbmdlIHRvIHNlZSBpZiBjb250aW51b3VzIGlzIHdvcmtpbmcgb24gbmV3CgkgIGRhc2hib2FyZCBtYWNoaW5lLi4uCgoyMDA5LTAzLTA2IDEyOjA2ICBraW5nCgoJKiBTb3VyY2UvOiBjbU1lc3NhZ2VDb21tYW5kLmN4eCwgY21NZXNzYWdlQ29tbWFuZC5oOiBCVUc6IEZpeAoJICBtZXNzYWdlKFNFTkRfRVJST1IpIHRvIGNvbnRpbnVlCgoJICBEdXJpbmcgdGVzdGluZyBvZiB0aGUgbmV3IG1lc3NhZ2UoKSBzaWduYXR1cmVzIEkgbWlzdGFrZW5seQoJICBjb25jbHVkZWQgdGhhdCBTRU5EX0VSUk9SIHN0b3BzIHByb2Nlc3NpbmcuICBUaGUgY29ycmVzcG9uZGluZwoJICBjb21taXQgZW5mb3JjZWQgdGhpcyB3cm9uZyBiZWhhdmlvci4JVGhpcyByZXN0b3JlcyB0aGUgY29ycmVjdAoJICBiZWhhdmlvciBhbmQgZml4ZXMgdGhlIGRvY3VtZW50YXRpb24gYWNjb3JkaW5nbHkuCgoyMDA5LTAzLTA2IDEwOjA0ICBraW5nCgoJKiBTb3VyY2UvY21NZXNzYWdlQ29tbWFuZC5jeHgsIFNvdXJjZS9jbU1lc3NhZ2VDb21tYW5kLmgsCgkgIFRlc3RzL0NNYWtlVGVzdHMvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NNYWtlVGVzdHMvTWVzc2FnZVRlc3QuY21ha2UuaW4sCgkgIFRlc3RzL0NNYWtlVGVzdHMvTWVzc2FnZVRlc3RTY3JpcHQuY21ha2U6IEVOSDogVGVhY2ggbWVzc2FnZSgpCgkgIGhvdyB0byBkaXNwbGF5IHdhcm5pbmdzCgoJICBUaGlzIGFkZHMgbWVzc2FnZShXQVJOSU5HKSBhbmQgbWVzc2FnZShBVVRIT1JfV0FSTklORykgY29tbWFuZAoJICBtb2RlcyBhbmQgZnVsbHkgZG9jdW1lbnRzIHRoZSBjb21tYW5kIGJlaGF2aW9yIGluIGFsbCBtb2Rlcy4KCjIwMDktMDMtMDYgMTA6MDEgIGtpbmcKCgkqIFNvdXJjZS9jbURvY3VtZW50YXRpb25Gb3JtYXR0ZXJNYW4uY3h4OiBCVUc6IEZpeCBtYW4tcGFnZQoJICBwcmVmb3JtYXR0ZWQgdGV4dCBwYXJhZ3JhcGhpbmcKCgkgIE1hbiBwYWdlIHByZWZvcm1hdHRlZCB0ZXh0IG5lZWRzIGFuIGV4dHJhIG5ld2xpbmUgYWZ0ZXIgdGhlCgkgIGVuZGluZyBtYXJrZXIgdG8gY3JlYXRlIGEgcGFyYWdyYXBoIGJyZWFrLiAgVGhpcyBidWcgd2FzCgkgIGludHJvZHVjZWQgYnkgdGhlIHBhdGNoIGZyb20gaXNzdWUgIzc3OTcgdG8gcGxhY2UgZXhwbGljaXQgIi5uZiIKCSAgYW5kICIuZmkiIG1hcmtlcnMgYXJvdW5kIHByZWZvcm1hdHRlZCBibG9ja3MuCgoyMDA5LTAzLTA2IDA5OjE0ICBraW5nCgoJKiBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHg6IEVOSDogVGVhY2ggZmlsZShSRU1PVkUpIGhvdyB0byB1c2UKCSAgcmVsYXRpdmUgcGF0aHMKCgkgIFRoaXMgdGVhY2hlcyB0aGUgY29tbWFuZCB0byBpbnRlcnByZXQgcmVsYXRpdmUgcGF0aHMgd2l0aCByZXNwZWN0CgkgIHRvIHRoZSBsb2NhdGlvbiBvZiB0aGUgaW52b2tpbmcgQ01ha2VMaXN0cy50eHQgZmlsZS4JVGhlCgkgIGNvbnZlbnRpb24gaXMgYWxyZWFkeSB1c2VkIGJ5IG1vc3QgY29tbWFuZHMgYW5kIHdvbid0IGNoYW5nZSB0aGUKCSAgYmVoYXZpb3IgaW4gc2NyaXB0IG1vZGUuCgoyMDA5LTAzLTA2IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDMtMDUgMTU6MTcgIGtpbmcKCgkqIENNYWtlQ1BhY2suY21ha2UsIENNYWtlTGlzdHMudHh0LCBib290c3RyYXAsCgkgIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgU291cmNlL2NtQ1Rlc3QuY3h4LAoJICBTb3VyY2UvY21DYWNoZU1hbmFnZXIuY3h4LCBTb3VyY2UvY21Db25maWd1cmUuY21ha2UuaC5pbiwKCSAgU291cmNlL2NtRG9jdW1lbnRWYXJpYWJsZXMuY3h4LCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbVN0YW5kYXJkSW5jbHVkZXMuaCwgU291cmNlL2NtVmVyc2lvbi5jeHgsCgkgIFNvdXJjZS9jbVZlcnNpb24uaCwgU291cmNlL2NtVmVyc2lvbkNvbmZpZy5oLmluLAoJICBTb3VyY2UvY21WZXJzaW9uTWFjcm9zLmgsIFNvdXJjZS9jbWFrZS5jeHgsCgkgIFNvdXJjZS9DdXJzZXNEaWFsb2cvY21DdXJzZXNMb25nTWVzc2FnZUZvcm0uY3h4LAoJICBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTWFpbkZvcm0uY3h4LAoJICBTb3VyY2UvUXREaWFsb2cvQ01ha2VTZXR1cC5jeHgsIFRlc3RzL0NNYWtlVGVzdHMvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NNYWtlVGVzdHMvVmVyc2lvblRlc3QuY21ha2UuaW46IEVOSDogT3ZlcmhhdWwgQ01ha2UKCSAgdmVyc2lvbiBudW1iZXJpbmcKCgkgIFRoaXMgbW92ZXMgdGhlIHZlcnNpb24gbnVtYmVycyBpbnRvIGFuIGlzb2xhdGVkIGNvbmZpZ3VyZWQgaGVhZGVyCgkgIHNvIHRoYXQgbm90IGFsbCBvZiBDTWFrZSBuZWVkcyB0byByZWJ1aWxkIHdoZW4gdGhlIHZlcnNpb24KCSAgY2hhbmdlcy4KCgkgIFByZXZpb3VzbHkgd2UgaGFkIHNwYWNlcywgZGFzaGVzIGFuZC9vciB0aGUgd29yZCAncGF0Y2gnIHJhbmRvbWx5CgkgIGNob3NlbiBiZWZvcmUgdGhlIHBhdGNoIG51bWJlci4gIE5vdyB3ZSBhbHdheXMgcmVwb3J0IHZlcnNpb24KCSAgbnVtYmVycyBpbiB0aGUgdHJhZGl0aW9uYWwgZm9ybWF0CgkgICI8bWFqb3I+LjxtaW5vcj4uPHBhdGNoPlstcmM8cmM+XSIuCgoJICBXZSBzdGlsbCB1c2Ugb2RkIG1pbm9yIG51bWJlcnMgZm9yIGRldmVsb3BtZW50IHZlcnNpb25zLiAgTm93IHdlCgkgIGFsc28gdXNlIHRoZSBDQ1lZTU1ERCBkYXRlIGFzIHRoZSBwYXRjaCBudW1iZXIgb2YgZGV2ZWxvcG1lbnQKCSAgdmVyc2lvbnMsIHRodXMgYWxsb3dpbmcgdGVzdHMgZm9yIGV4YWN0IENNYWtlIHZlcnNpb25zLgoKMjAwOS0wMy0wNSAxMzo1NyAga2luZwoKCSogU291cmNlLzogY21ha2UuY3h4LCBjbWFrZS5oOiBTVFlMRTogUmVtb3ZlIHVudXNlZAoJICBjbWFrZTo6Q2FjaGVWZXJzaW9uTWF0Y2hlcwoKCSAgVGhpcyByZW1vdmUgdGhlIG1ldGhvZCBjb21wbGV0ZWx5IHNpbmNlIG5vdGhpbmcgdXNlcyBpdC4KCjIwMDktMDMtMDUgMTA6MTcgIGtpbmcKCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RDb3ZlcmFnZUNvbW1hbmQuY3h4LAoJICBjbUNUZXN0Q292ZXJhZ2VDb21tYW5kLmg6IEJVRzogSW5pdGlhbGl6ZSBjdGVzdF9jb3ZlcmFnZSBjb21tYW5kCgkgIGl2YXIKCgkgIFRoaXMgaW5pdGlhbGl6ZXMgdGhlIExhYmVsc01lbnRpb25lZCBpdmFyIGluCgkgIGNtQ1Rlc3RDb3ZlcmFnZUNvbW1hbmQuCgoyMDA5LTAzLTA1IDEwOjA4ICBkYXZpZC5jb2xlCgoJKiBNb2R1bGVzL0NQYWNrLmNtYWtlOiBTVFlMRTogVXNlICQgc3R5bGUgdmFyaWFibGUgZGVyZWZlcmVuY2UKCSAgaW5zdGVhZCBvZiBAIHN0eWxlLgoKMjAwOS0wMy0wNSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAzLTA0IDE1OjM5ICBraW5nCgoJKiBTb3VyY2UvY21ha2UuY3h4LCBTb3VyY2UvY21ha2UuaCwgU291cmNlL2NtYWtlbWFpbi5jeHgsCgkgIFRlc3RzL0NNYWtlQnVpbGRUZXN0LmNtYWtlLmluOiBFTkg6IENsZWFudXAgY21ha2UgLS1idWlsZAoJICBpbnRlcmZhY2UuCgoJICBUaGlzIGNsZWFucyB1cCB0aGUgJ2NtYWtlIC0tYnVpbGQnIGNvbW1hbmQtbGluZSBpbnRlcmZhY2U6ICAgLQoJICBSZW5hbWUgLS1jbGVhbiB0byAtLWNsZWFuLWZpcnN0IHRvIGJldHRlciBkZXNjcmliZSBpdC4gICAgLQoJICBSZXBsYWNlIC0tZXh0cmEtb3B0aW9ucyB3aXRoIGEgLS0gc2VwYXJhdG9yIHRvIHNpbXBsaWZ5IHBhc3NpbmcKCSAgb2YJICBtdWx0aXBsZSBuYXRpdmUgYnVpbGQgdG9vbCBvcHRpb25zLgkgLSBEb2N1bWVudCB0aGUKCSAgb3B0aW9ucyBpbiB0aGUgbWFpbiBDTWFrZSBtYW4gcGFnZSBkZXNjcmlwdGlvbiBvZiB0aGUKCSAgLS1idWlsZCBvcHRpb24sIGFuZCBzaGFyZXMgdGhpcyB3aXRoIHRoZSB1c2FnZSBtZXNzYWdlLiAgICAtCgkgIFJlcXVpcmUgLS1idWlsZCB0byBiZSB0aGUgZmlyc3QgYXJndW1lbnQgd2hlbiBwcmVzZW50LiAgICAtIE1vdmUKCSAgaW1wbGVtZW50YXRpb24gaW50byBjbWFrZW1haW4gd2hlcmUgaXQgYmVsb25ncy4KCjIwMDktMDMtMDQgMTU6MzggIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuaDogRU5IOiBFeHRlbmQKCSAgR0c6OkJ1aWxkIG1ldGhvZCBmb3IgcHJlLXBhcnNlZCBhcmdzCgoJICBUaGlzIGFkZHMgYW4gYXJndW1lbnQgdG8gdGhlIGNtR2xvYmFsR2VuZXJhdG9yOjpCdWlsZCBtZXRob2QgdG8KCSAgcGFzcyBhIHZlY3RvciBvZiBhcmd1bWVudHMgZm9yIHRoZSBuYXRpdmUgYnVpbGQgdG9vbAoJICBwcm9ncmFtYXRpY2FsbHkuCgoyMDA5LTAzLTA0IDEyOjMwICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NQYWNrLmJhY2tncm91bmQucG5nLmluOiBFTkg6IGFkZCBmaWxlIGJhY2sgYnVnIHVzZSBjbWFrZQoJICBpbWFnZQoKMjAwOS0wMy0wNCAxMTo0NSAga2luZwoKCSogTW9kdWxlcy9BZGRFeHRlcm5hbFByb2plY3QuY21ha2UsCgkgIFRlc3RzL0V4dGVybmFsUHJvamVjdC9DTWFrZUxpc3RzLnR4dDogRU5IOiBCZXR0ZXIgcmVjdXJzaXZlIG1ha2UKCSAgaW4gQWRkRXh0ZXJuYWxQcm9qZWN0CgoJICBUaGlzIHRlYWNoZXMgQWRkRXh0ZXJuYWxQcm9qZWN0IHRvIHJ1biAiJChNQUtFKSIgZm9yIGJ1aWxkIGFuZAoJICBpbnN0YWxsIHN0ZXBzIG9mIENNYWtlLWJhc2VkIGV4dGVybmFsIHByb2plY3RzIHdoZW4gdXNpbmcgYQoJICBNYWtlZmlsZSBnZW5lcmF0b3IuICBJdCBhbGxvd3MgdGhlIGV4dGVybmFsIHByb2plY3QgdG8KCSAgcGFydGljaXBhdGUgaW4gYSBwYXJhbGxlbCBtYWtlIGludm9rZWQgb24gdGhlIHN1cGVycHJvamVjdC4KCjIwMDktMDMtMDQgMTE6MjQgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0U2NyaXB0SGFuZGxlci5jeHg6IEJVRzogbWFrZSBzdXJlIGVycm9yCgkgIGNvbmRpdGlvbiBpcyByZXNldCBiZWZvcmUgbG9hZGluZyBzY3JpcHRzCgoyMDA5LTAzLTA0IDA5OjIxICBraW5nCgoJKiBNb2R1bGVzL0FkZEV4dGVybmFsUHJvamVjdC5jbWFrZTogRU5IOiBBbGxvdyBlbXB0eSBhcmd1bWVudHMgaW4KCSAgZXh0ZXJuYWwgcHJvamVjdCBBUEkKCgkgIFRoaXMgdXNlcyB0aGUgZ2V0X3Byb3BlcnR5IGNvbW1hbmQgdG8gc2ltcGxpZnkgcHJvcGVydHkgbG9va3VwIGluCgkgIHRoZSBBZGRFeHRlcm5hbFByb2plY3QgbW9kdWxlLiAgSXQgZGlzdGluZ3Vpc2hlcyBmb3IgYnVpbGQgYW5kCgkgIGluc3RhbGwgYXJndW1lbnQgcHJvcGVydGllcyB0aGUgY2FzZXMgb2YgdW5zZXQgYW5kIHNldCB0byBlbXB0eS4KCjIwMDktMDMtMDQgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMy0wMyAwNzo1NiAgaG9mZm1hbgoKCSogTW9kdWxlcy9DUGFjay5iYWNrZ3JvdW5kLnBuZy5pbjogRU5IOiByZW1vdmUgdW51c2VkIGZpbGUKCjIwMDktMDMtMDMgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMy0wMiAyMTowOSAgbG93bWFuCgoJKiBNb2R1bGVzL0ZpbmRCb29zdC5jbWFrZTogU1RZTEU6IEZpeCBkb2N1bWVudGF0aW9uIGJ1ZyByZWdhcmRpbmcKCSAgQm9vc3RfPENPTVBPTkVOVD5fTElCUkFSWSAoQ09NUE9ORU5UIHNob3VsZCBiZSB1cHBlcmNhc2UpLgoKMjAwOS0wMy0wMiAyMDoyOSAgbG93bWFuCgoJKiBNb2R1bGVzL0ZpbmRDeHhUZXN0LmNtYWtlOiBFTkg6IERldGVjdCBwZXJsICYgcHl0aG9uIHNjcmlwdHMKCSAgYmFzZWQgb24gQ1hYVEVTVF9JTkNMVURFX0RJUiAocGF0Y2ggZnJvbSBUeWxlciBSb3Njb2Ugb24gbWFpbGluZwoJICBsaXN0KS4KCjIwMDktMDMtMDIgMTY6MjcgIGtpbmcKCgkqIFNvdXJjZS9jbVhNTFNhZmUuY3h4OiBCVUc6IEF2b2lkIGVuY29kaW5nIGludmFsaWQgWE1MIGNoYXJzIGluCgkgIENUZXN0CgoJICBDVGVzdCBlbmNvZGVzIHRlc3QgYW5kIHRvb2wgb3V0cHV0IGluIFhNTCBmb3IgZGFzaGJvYXJkCgkgIHN1Ym1pc3Npb24uICBUaGlzIGZpeGVzIHRoZSBYTUwgZW5jb2RpbmcgaW1wbGVtZW50YXRpb24gdG8gbm90CgkgIGVuY29kZSBhbiBpbnZhbGlkIGNoYXJhY3RlciBhbmQgaW5zdGVhZCBwdXQgYSBodW1hbi1yZWFkYWJsZSB0YWcKCSAgaW4gaXRzIHBsYWNlLiAgU2VlIGlzc3VlICM4NjQ3LgoKMjAwOS0wMy0wMiAxNjowMiAga2luZwoKCSogU291cmNlL2NtYWtlLmN4eDogQlVHOiBHcmFjZWZ1bGx5IGhhbmRsZSBicm9rZW4gdmVyc2lvbiBzeW1saW5rcwoKCSAgVGhpcyB0ZWFjaGVzIHRoZSBoZWxwZXIgY29tbWFuZHMgJ2NtYWtlIC1FCgkgIGNtYWtlX3N5bWxpbmtfZXhlY3V0YWJsZScgYW5kICdjbWFrZSAtRSBjbWFrZV9zeW1saW5rX2xpYnJhcnknIHRvCgkgIHJlbW92ZSBicm9rZW4gc3ltbGlua3MgYmVmb3JlIGNyZWF0aW5nIGEgc3ltbGluayBhbmQgcmVwb3J0IGFuCgkgIGVycm9yIHdoZW4gdGhlIHN5bWxpbmsgY2Fubm90IGJlIGNyZWF0ZWQuICBTZWUgaXNzdWUgIzg2NTQuCgoyMDA5LTAzLTAyIDE1OjMzICBraW5nCgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0Q292ZXJhZ2VDb21tYW5kLmN4eCwKCSAgY21DVGVzdENvdmVyYWdlQ29tbWFuZC5oLCBjbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eCwKCSAgY21DVGVzdENvdmVyYWdlSGFuZGxlci5oOiBFTkg6IFRlYWNoIGN0ZXN0X2NvdmVyYWdlIHRvIGZpbHRlcgoJICB3aXRoIExBQkVMUwoKCSAgVGhpcyB0ZWFjaGVzIGN0ZXN0X2NvdmVyYWdlKCkgdG8gcmVwb3J0IG9ubHkgY292ZXJhZ2Ugb2YgZmlsZXMKCSAgbGFiZWxlZCB3aXRoIGF0IGxlYXN0IG9uZSBsYWJlbCBnaXZlbiBieSBhIG5ldyBMQUJFTFMgb3B0aW9uLgoKMjAwOS0wMy0wMiAxNTozMyAga2luZwoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4OiBCVUc6IEZpeCBjb3ZlcmFnZSBsYWJlbAoJICByZXBvcnRzIGZvciBCdWxsc2V5ZQoKCSAgVGhpcyB0ZWFjaGVzIENUZXN0IHRvIHJlcG9ydCBMYWJlbHMgZWxlbWVudHMgaW4gdGhlIENvdmVyYWdlLnhtbAoJICBmaWxlIGZvciBCdWxsc2V5ZSBjb3ZlcmFnZSByZXN1bHRzLgoKMjAwOS0wMy0wMiAxNTozMiAga2luZwoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4OiBCVUc6IEZpeCBjb3ZlcmFnZQoJICBoYW5kbGVyIGluaXRpYWxpemF0aW9uCgoJICBUaGlzIHJlc2V0cyBjb3ZlcmFnZSBoYW5kbGVyIGludGVybmFsIHN0YXRlIG9uIGluaXRpYWxpemF0aW9uIHNvCgkgIHRoYXQgbXVsdGlwbGUgY292ZXJhZ2UgcnVucyBhcmUgaW5kZXBlbmRlbnQuCgoyMDA5LTAzLTAyIDA5OjU5ICBraW5nCgoJKiBTb3VyY2UvY21YTUxTYWZlLmN4eDogQlVHOiBIYWNrIGZvciBpc3N1ZSAjODY0NwoKMjAwOS0wMy0wMiAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAzLTAxIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDItMjggMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMi0yNyAxNjoyOCAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHg6IEJVRzogIzg2MTEgYWRkIHBhc3MgZmFpbAoJICByZWFzb25zIGludG8gbG9nIGZpbGUKCjIwMDktMDItMjcgMTM6MDggIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VBU01JbmZvcm1hdGlvbi5jbWFrZTogQlVHOiBGaXggQVNNIHNvdXJjZSBmaWxlCgkgIGV4dGVuc2lvbiBkZWZhdWx0IGxpc3QKCgkgIFRoaXMgcmVwbGFjZXMgQEFTTV9ESUFMRUNUQCBzeW50YXggd2l0aCAke0FTTV9ESUFMRUNUfSBzeW50YXggc28KCSAgaXQgd2lsbCBiZSByZXBsYWNlZCBjb3JyZWN0bHkuICBQYXRjaCBmcm9tIERlcmVrIEJydWVuaW5nLiAgU2VlCgkgIGlzc3VlICM4NjM5LgoKMjAwOS0wMi0yNyAxMjo1OSAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4OiBCVUc6IFBhc3Mgc2hhcmVkIGxpYnJhcnkKCSAgZXhwb3J0IHN5bWJvbCBpbiBERUZJTkVTCgoJICBUaGUgPHRhcmdldD5fRVhQT1JUUyBtYWNybyBkZWZpbmVkIGZvciBvYmplY3QgZmlsZXMgd2hlbiBidWlsdCBpbgoJICBhIHNoYXJlZCBsaWJyYXJ5IDx0YXJnZXQ+IHNob3VsZCBiZSBwdXQgaW4gdGhlIDxERUZJTkVTPiBtYWtlCgkgIHJ1bGUgcmVwbGFjZW1lbnQgYW5kIG5vdCA8RkxBR1M+LiAgQWxzbywgaXQgc2hvdWxkIGhvbm9yIHRoZQoJICBwbGF0Zm9ybSB2YXJpYWJsZSBDTUFLRV88TEFORz5fREVGSU5FX0ZMQUcuICBTZWUgaXNzdWUgIzgxMDcuCgoyMDA5LTAyLTI3IDExOjIzICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIGNtTWFrZWZpbGUuY3h4OiBFTkg6IEVuZm9yY2UgdW5pcXVlIGJpbmFyeSBkaXJlY3RvcmllcwoKCSAgVGhlIHNlY29uZCBhcmd1bWVudCBvZiBhZGRfc3ViZGlyZWN0b3J5IG11c3QgbmFtZSBhIHVuaXF1ZSBiaW5hcnkKCSAgZGlyZWN0b3J5IG9yIHRoZSBidWlsZCBmaWxlcyB3aWxsIGNsb2JiZXIgZWFjaCBvdGhlci4gIFRoaXMKCSAgZW5mb3JjZXMgdW5pcXVlbmVzcyB3aXRoIGFuIGVycm9yIG1lc3NhZ2UuCgoyMDA5LTAyLTI3IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDItMjYgMTM6MjggIGtpbmcKCgkqIERvY3MvY21ha2UtbW9kZS5lbDogQlVHOiBGaXggY21ha2UtbW9kZS5lbCBpbmRlbnRhdGlvbiBjdXJzb3IKCSAgbW90aW9uCgoJICBUaGlzIG1ha2VzIGN1cnNvciBtb3Rpb24gaW4gdGhlIGluZGVudCBmdW5jdGlvbiBjb25zaXN0ZW50IHdpdGgKCSAgZW1hY3MgY29udmVudGlvbnMuICBQYXRjaCBmcm9tIE1pa2UgV2l0dG1hbi4JU2VlIGlzc3VlICM4NjI1LgoKMjAwOS0wMi0yNiAwOToyMiAga2luZwoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdFVwZGF0ZUhhbmRsZXIuY3h4LCBjbUNUZXN0VkMuY3h4LAoJICBjbUNUZXN0VkMuaDogRU5IOiBSZWZhY3RvciBpbml0aWFsIGNoZWNrb3V0IGludG8gY21DVGVzdFZDCgoJICBUaGlzIGFkZHMgY21DVGVzdFZDOjpJbml0aWFsQ2hlY2tvdXQgYW5kIHVzZXMgaXQgaW4KCSAgY21DVGVzdFVwZGF0ZUhhbmRsZXIgdG8gcnVuIHRoZSBpbml0aWFsIGNoZWNrb3V0IGNvbW1hbmQuICBUaGUKCSAgbmV3IGltcGxlbWVudGF0aW9uIGxvZ3MgdGhlIGNvbW1hbmQgaW4gdGhlIHVwZGF0ZSBsb2cKCSAgY29uc2lzdGVudGx5IHdpdGggdGhlIHJlc3Qgb2YgdGhlIG5ldyB1cGRhdGUgaW1wbGVtZW50YXRpb24uCgoyMDA5LTAyLTI2IDA5OjIyICBraW5nCgoJKiBUZXN0cy86IENUZXN0VXBkYXRlQ1ZTLmNtYWtlLmluLCBDVGVzdFVwZGF0ZUNvbW1vbi5jbWFrZSwKCSAgQ1Rlc3RVcGRhdGVTVk4uY21ha2UuaW46IEVOSDogRXh0ZW5kIENUZXN0LlVwZGF0ZVNWTiB0byB0ZXN0CgkgIGxvY2FsIG1vZHMKCgkgIFRoaXMgdGVhY2hlcyB0aGUgdGVzdCB0byBjcmVhdGUgbG9jYWwgbW9kaWZpY2F0aW9ucyBpbiB0aGUgd29yawoJICB0cmVlIGJlZm9yZSB1cGRhdGluZy4KCjIwMDktMDItMjYgMDk6MTYgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBjbUxvY2FsR2VuZXJhdG9yLmg6IEJVRzogVXNlIG5ldwoJICBpbmNsdWRlIGRpciBzdXBwcmVzc29uIGZvciBhbGwgZ2VucwoKCSAgVGhpcyBmaXhlcyBDTUFLRV88TEFORz5fSU1QTElDSVRfSU5DTFVERV9ESVJFQ1RPUklFUyB0byBiZSB1c2VkCgkgIGZvciBhbGwgZ2VuZXJhdG9ycyBpbnN0ZWFkIG9mIGp1c3QgdGhvc2UgdGhhdCBjb25zdHJ1Y3QgdGhlaXIgb3duCgkgIGNvbXBpbGVyIGNvbW1hbmQgbGluZXMgZGlyZWN0bHkuICBTZWUgaXNzdWUgIzg1OTguCgoyMDA5LTAyLTI2IDA4OjQ5ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEVOSDogU2ltcGxpZnkgcmV2ZXJzZQoJICBjbUxvY2FsR2VuZXJhdG9yOjpDb252ZXJ0CgoJICBJdCBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvIGNhbGwgdGhlIHJldmVyc2UgQ29udmVydCBzaWduYXR1cmUgKGZvcgoJICByZW1vdGUgcGF0aHMgY29ycmVzcG9uZGluZyB0byBDTWFrZS1tYW5hZ2VkIGRpcmVjdG9yaWVzKSB3aXRoCgkgIE5PTkUgb3IgRlVMTCBzaW5jZSB0aGV5IGhhdmUgbm8gcGF0aC4gIFBhdGNoIGZyb20gTW9kZXN0YXMKCSAgVmFpbml1cy4gIFNlZSBpc3N1ZSAjNzc3OS4KCjIwMDktMDItMjYgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMi0yNSAxNzoxNyAgbWlndWVsZgoKCSogTW9kdWxlcy9GaW5kd3hXaWRnZXRzLmNtYWtlOiBCVUc6IEZpeCBjb3B5L3Bhc3RlIGVycm9yIGluCgkgIHByZXZpb3VzIGNvbW1pdCB0aGF0IHJlZmVyZW5jZXMgd3JvbmcgdmFyaWFibGUKCSAgKHd4V2lkZ2V0c19JTkNMVURFX0RJUlMgaW5zdGVhZCBvZiB3eFdpZGdldHNfREVGSU5JVElPTlMpLgoKMjAwOS0wMi0yNSAxNjoyOSAgYWxleAoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOiBFTkg6IGFkZCBwYXRjaCBmcm9tIERlYmlhbiwgd2hpY2ggYWRkcwoJICBzdXBwb3J0IGxyZWxlYXNlLXF0NCBhbmQgbHVwZGF0ZS1xdDQKCSAgaHR0cDovL3BhdGNoLXRyYWNraW5nLmRlYmlhbi5uZXQvcGF0Y2gvc2VyaWVzL3ZpZXcvY21ha2UvMi42LjMtMS9GaW5kUXQ0X3F0NF9sdXBkYXRlX2xyZWxlYXNlLmRpZmYKCgkgIEFsZXgKCjIwMDktMDItMjUgMTU6NDUgIGtpbmcKCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RTVk4uY3h4LCBjbUNUZXN0VkMuaDogQ09NUDogRml4IGNtQ1Rlc3RWQwoJICBtZW1iZXIgYWNjZXNzIGZvciBIUCBjb21waWxlcgoKCSAgVGhlIEhQIEMrKyBjb21waWxlciBuZWVkcyBzb21lIGhlbHAgdG8gYWxsb3cgYWNjZXNzIHRvIHNvbWUKCSAgbWVtYmVyIGNsYXNzZXMgb2YgY21DVGVzdFZDLgoKMjAwOS0wMi0yNSAxNDo0MiAga2luZwoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdENWUy5jeHgsIGNtQ1Rlc3RDVlMuaCwgY21DVGVzdFNWTi5jeHgsCgkgIGNtQ1Rlc3RTVk4uaCwgY21DVGVzdFVwZGF0ZUhhbmRsZXIuY3h4LCBjbUNUZXN0VkMuY3h4LAoJICBjbUNUZXN0VkMuaDogRU5IOiBSZXdyaXRlIENUZXN0IFVwZGF0ZSBpbXBsZW1lbnRhdGlvbgoKCSAgVGhpcyBhZGRzIGEgbmV3IFZDUyB1cGRhdGUgaW1wbGVtZW50YXRpb24gdG8gdGhlIGNtQ1Rlc3RWQwoJICBoaWVyYXJjaHkgYW5kIHJlbW92ZXMgaXQgZnJvbSBjbUNUZXN0VXBkYXRlSGFuZGxlci4gIFRoZSBuZXcKCSAgaW1wbGVtZW50YXRpb24gaGFzIHRoZSBmb2xsb3dpbmcgYWR2YW50YWdlczoKCgkgICAgLSBGYWN0b3JpemVkIGltcGxlbWVudGF0aW9uIGluc3RlYWQgb2YgbW9ub2xpdGhpYyBmdW5jdGlvbgoJICAgIC0gTG9ncyB2Y3MgdG9vbCBvdXRwdXQgYXMgaXQgaXMgcGFyc2VkIChsZXNzIG1lbW9yeSwgaW5saW5lCgkgIG1lc3NhZ2VzKQoJICAgIC0gVXNlcyBvbmUgZ2xvYmFsIHN2biBsb2cgaW5zdGVhZCBvZiBvbmUgbG9nIHBlciBmaWxlCgkgICAgLSBSZXBvcnRzIGNoYW5nZXMgb24gY3ZzIGJyYW5jaGVzIChpbnN0ZWFkIG9mIGxhdGVzdCB0cnVuawoJICBjaGFuZ2UpCgkgICAgLSBHZW5lcmF0ZXMgc2ltcGxlciBVcGRhdGUueG1sIChvbmx5IG9uZSBEaXJlY3RvcnkgZWxlbWVudCBwZXIKCSAgZGlyKQoKCSAgU2hhcmVkIGNvbXBvbmVudHMgb2YgdGhlIG5ldyBpbXBsZW1lbnRhdGlvbiBhcHBlYXIgaW4gY21DVGVzdFZDCgkgIGFuZCBtYXkgYmUgcmUtdXNlZCBieSBzdWJjbGFzc2VzIGZvciBvdGhlciBWQ1MgdG9vbHMgaW4gdGhlCgkgIGZ1dHVyZS4KCjIwMDktMDItMjUgMTE6NDQgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vVW5peFBhdGhzLmNtYWtlLCBTb3VyY2UvY21Eb2N1bWVudFZhcmlhYmxlcy5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogRU5IOiBSZS1lbmFibGUgc3lzdGVtIGluY2x1ZGUgZGlyCgkgIHN1cHByZXNzaW9uCgoJICBUaGlzIGNyZWF0ZXMgdmFyaWFibGUgQ01BS0VfPExBTkc+X0lNUExJQ0lUX0lOQ0xVREVfRElSRUNUT1JJRVMKCSAgdG8gc3BlY2lmeSBpbXBsaWNpdCBpbmNsdWRlIGRpcmVjdG9yaWVzIG9uIGEgcGVyLWxhbmd1YWdlIGJhc2lzLgoJICBUaGlzIHJlcGxhY2VzIHRoZSBwcmV2aW91cyBwbGF0Zm9ybS13aWRlIHZhcmlhYmxlLiAgSXQgaXMKCSAgbmVjZXNzYXJ5IHRvIGF2b2lkIGV4cGxpY2l0IHNwZWNpZmljYXRpb24gb2YgLUkvdXNyL2luY2x1ZGUgb24KCSAgc29tZSBjb21waWxlcnMgKHN1Y2ggYXMgSFAgYUNDKSBiZWNhdXNlOgoKCSAgICAxLikgSXQgbWF5IGJyZWFrIG9yZGVyaW5nIGFtb25nIHN5c3RlbSBpbmNsdWRlIGRpcmVjdG9yaWVzCgkgIGRlZmluZWQKCQlpbnRlcm5hbGx5IGJ5IHRoZSBjb21waWxlciwgdGh1cyBnZXR0aW5nIHdyb25nIHN5c3RlbQoJICBoZWFkZXJzLgoJICAgIDIuKSBJdCB0ZWxscyB0aGUgY29tcGlsZXIgdG8gdHJlYXQgdGhlIHN5c3RlbSBpbmNsdWRlIGRpcmVjdG9yeQoJCWFzIGEgdXNlciBpbmNsdWRlIGRpcmVjdG9yeSwgZW5hYmxpbmcgd2FybmluZ3MgaW4gdGhlCgkgIGhlYWRlcnMuCgoJICBTZWUgaXNzdWUgIzg1OTguCgoyMDA5LTAyLTI1IDA5OjIwICBraW5nCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFZDLmN4eDogQ09NUDogRml4IGNtQ1Rlc3RWQyBjaGFyW10tPnN0cmluZwoJICBCb3JsYW5kIHdhcm5pbmcKCgkgIFRoZSBCb3JsYW5kIGNvbXBpbGVyIHdhcm5zIGFib3V0IHJldHVybmluZyBhIGNoYXJbXSBmcm9tIGEKCSAgZnVuY3Rpb24gd2l0aCByZXR1cm4gdHlwZSBzdGQ6OnN0cmluZyB3aXRob3V0IGFuIGV4cGxpY2l0CgkgIGNvbnN0cnVjdGlvbi4KCjIwMDktMDItMjUgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMi0yNCAxNzoyMyAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdE11bHRpUHJvY2Vzc0hhbmRsZXIuY3h4LAoJICBjbUNUZXN0VGVzdEhhbmRsZXIuY3h4LCBjbUNUZXN0VGVzdEhhbmRsZXIuaDogRU5IOiBhZGQgYSBDRGFzaAoJICBtZWFzdXJlZCB2YWx1ZSBzaG93aW5nIHRoZSByZWFzb24gZm9yIHBhc3NlZCBhbmQgZmFpbGVkIHRlc3RzCgkgIGJhc2VkIG9uIHJlZ3VsYXIgZXhwcmVzc2lvbnMKCjIwMDktMDItMjQgMTc6MDcgIGtpbmcKCgkqIFV0aWxpdGllcy9DTWFrZUxpc3RzLnR4dDogQlVHOiBGaXggY21ha2UtZ3VpIGRvY3MgZ2VuZXJhdGlvbiBQQVRICgkgIGZlYXR1cmUKCgkgIEF1dG9tYXRpYyBhZGRpdGlvbiBvZiB0aGUgUXQgRExMIGxvY2F0aW9uIHRvIFBBVEggY2FuIGJlIGRvbmUKCSAgb25seSBmb3IgZ2VuZXJhdG9ycyB0aGF0IHVzZSBhIFdpbmRvd3Mgc2hlbGwuCgoyMDA5LTAyLTI0IDE2OjQ5ICBtaWd1ZWxmCgoJKiBNb2R1bGVzLzogRmluZHd4V2lkZ2V0cy5jbWFrZSwgVXNld3hXaWRnZXRzLmNtYWtlOiBCVUc6IFVzaW5nCgkgIFBST1BFUlRZIENPTVBJTEVfREVGSU5JVElPTlNfREVCVUcgdG8gc3VwcG9ydCBEZWJ1ZyBvbmx5CgkgIHByZXByb2Nlc3NvciBvcHRpb25zIChlLmcuLCBfREVCVUcgX19XWERFQlVHX18pLgoKMjAwOS0wMi0yNCAxNTo0MyAga2luZwoKCSogU291cmNlLzogY21YTUxQYXJzZXIuY3h4LCBjbVhNTFBhcnNlci5oOiBFTkg6IEFkZGVkCgkgIGNtWE1MUGFyc2VyOjpGaW5kQXR0cmlidXRlIG1ldGhvZAoKCSAgVGhpcyBtZXRob2Qgd2lsbCBoZWxwIHN1YmNsYXNzZXMgbG9vayBmb3IgZWxlbWVudCBhdHRyaWJ1dGVzIGluCgkgIHRoZWlyIFN0YXJ0RWxlbWVudCBtZXRob2RzLgoKMjAwOS0wMi0yNCAxNTo0MyAga2luZwoKCSogU291cmNlLzogY21YTUxQYXJzZXIuY3h4LCBjbVhNTFBhcnNlci5oOiBFTkg6IEFsbG93IGNtWE1MUGFyc2VyCgkgIHN1YmNsYXNzZXMgdG8gcmVwb3J0IGVycm9ycwoKCSAgVGhpcyB0ZWxscyBjbVhNTFBhcnNlciB0byByZXBvcnQgZXJyb3IgbWVzc2FnZXMgdGhyb3VnaCB2aXJ0dWFsCgkgIG1ldGhvZCBjbVhNTFBhcnNlcjo6UmVwb3J0RXJyb3Igc28gdGhhdCBzdWJjbGFzc2VzIGNhbiBvdmVycmlkZQoJICB0aGUgZGVmYXVsdCByZXBvcnQuCgoyMDA5LTAyLTI0IDE1OjQzICBraW5nCgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0U1ZOLmN4eCwgY21DVGVzdFNWTi5oOiBFTkg6IFRlYWNoCgkgIGNtQ1Rlc3RTVk4gdG8gbG9hZCByZXBvL3RyZWUgcmVsYXRpb24KCgkgIFRoaXMgdGVhY2hlcyBjbUNUZXN0U1ZOOjpOb3RlTmV3UmV2aXNpb24gdG8gc2F2ZSB0aGUgcmVwb3NpdG9yeQoJICBVUkwgY2hlY2tlZCBvdXQgaW4gdGhlIHdvcmsgdHJlZSwgdGhlIHJlcG9zaXRvcnkgcm9vdCwgYW5kIHRoZQoJICBwYXRoIGJlbG93IHRoZSByb290IHRvIHJlYWNoIHRoZSBmdWxsIFVSTC4KCjIwMDktMDItMjQgMTU6NDMgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0Lmg6IEVOSDogQWRkIGNtQ1Rlc3Q6OkRlY29kZVVSTAoJICBtZXRob2QKCgkgIFRoaXMgbmV3IG1ldGhvZCBkZWNvZGVzIHRoZSAicGVyY2VudC1lbmNvZGluZyIgdXNlZCBpbiBVUkwKCSAgc3ludGF4LgoKMjAwOS0wMi0yNCAxNTozNyAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9EYXJ3aW4taWNjLmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL0Rhcndpbi5jbWFrZSwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBCVUc6IFJlbW92ZSBpbXBsaWNpdAoJICBpbmNsdWRlIGRpciBzdXBwcmVzc2lvbgoKCSAgV2UgdXNlZCB0byBzdXBwcmVzcyBnZW5lcmF0aW9uIG9mIC1JL3Vzci9pbmNsdWRlIChhbmQgb24gT1NYIGFsc28KCSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUpLiAgVGhpcyBiZWhhdmlvciBzZWVtcyB0byBjYXVzZSBtb3JlIHRyb3VibGUKCSAgdGhhbiBpdCdzIHdvcnRoLCBzbyBJJ20gcmVtb3ZpbmcgaXQgdW50aWwgc29tZW9uZSBlbmNvdW50ZXJzIHRoZQoJICBvcmlnaW5hbCBwcm9ibGVtIGl0IGZpeGVkLiAgU2VlIGlzc3VlICM4NTk4LgoKMjAwOS0wMi0yNCAxNDozMiAgaG9mZm1hbgoKCSogVGVzdHMvRm9ydHJhbi9pbmNsdWRlL3Rlc3RfcHJlcHJvY2Vzcy5oOiBmaWxlIHRlc3RfcHJlcHJvY2Vzcy5oCgkgIHdhcyBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDktMDMtMjMgMTg6MDQ6MTIgKzAwMDAKCjIwMDktMDItMjQgMTQ6MzIgIGtpbmcKCgkqIFRlc3RzL0ZvcnRyYW4vOiBDTWFrZUxpc3RzLnR4dCwgdGVzdF9wcmVwcm9jZXNzLkY5MCwKCSAgaW5jbHVkZS90ZXN0X3ByZXByb2Nlc3MuaDogRU5IOiBUZXN0IGluY2x1ZGVkIGhlYWRlciBpbiBGb3J0cmFuCgkgIHByZXByb2Nlc3NpbmcKCgkgIFRoaXMgZXh0ZW5kcyB0aGUgRm9ydHJhbiBwcmVwcm9jZXNzaW5nIHRlc3QgdG8gaW5jbHVkZSBhIGhlYWRlcgoJICBmaWxlIHRocm91Z2ggYSBwcmVwcm9jZXNzb3IgZGlyZWN0aXZlLgoKMjAwOS0wMi0yNCAxNDozMiAga2luZwoKCSogU291cmNlL2NtRGVwZW5kc0ZvcnRyYW4uY3h4OiBCVUc6IEZpeCBGb3J0cmFuIGltcGxpY2l0IGRlcGVuZGVuY3kKCSAgaW5jbHVkZSBwYXRoCgoJICBUaGUgcHJldmlvdXMgY2hhbmdlIHRvIFNvdXJjZS9jbURlcGVuZHNGb3J0cmFuLmN4eCB3aGlsZQoJICByZWZhY3RvcmluZyBpbXBsaWNpdCBkZXBlbmRlbmN5IHNjYW5uaW5nIGNvbmZpZ3VyYXRpb24gcnVsZXMKCSAgY29tcGxldGVseSBicm9rZSBsb2FkaW5nIG9mIHRoZSBpbmNsdWRlIGZpbGUgc2VhcmNoIHBhdGggd2hpbGUKCSAgc2Nhbm5pbmcgRm9ydHJhbiBkZXBlbmRlbmNpZXMuICBUaGlzIGFkZHMgdGhlIGxpbmUgdGhhdCBzaG91bGQKCSAgaGF2ZSBiZWVuIGFkZGVkIGR1cmluZyB0aGUgcHJldmlvdXMgY2hhbmdlIHRvIGxvYWQgdGhlIGluY2x1ZGUKCSAgcGF0aCBjb3JyZWN0bHkuCgoyMDA5LTAyLTI0IDEyOjUyICBraW5nCgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0U1ZOLmN4eCwgY21DVGVzdFNWTi5oLAoJICBjbUNUZXN0VXBkYXRlSGFuZGxlci5jeHgsIGNtQ1Rlc3RWQy5jeHgsIGNtQ1Rlc3RWQy5oOiBFTkg6IEZhY3RvcgoJICBvdXQgVkNTIHdvcmsgdHJlZSByZXZpc2lvbiBjaGVja3MKCgkgIFRoaXMgbW92ZXMgY2hlY2tzIG9mIHRoZSB3b3JrIHRyZWUgcmV2aXNpb24gYmVmb3JlIGFuZCBhZnRlcgoJICB1cGRhdGUgZnJvbSBjbUNUZXN0VXBkYXRlSGFuZGxlcjo6UHJvY2Vzc0hhbmRsZXIgaW50byB0aGUKCSAgY21DVGVzdFZDIGhpZXJhcmNoeS4KCjIwMDktMDItMjQgMTI6NTAgIGtpbmcKCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eCwgY21DVGVzdFZDLmN4eCwKCSAgY21DVGVzdFZDLmg6IEVOSDogRmFjdG9yIG91dCBuaWdodGx5IHN0YXJ0IHRpbWUgY29tcHV0YXRpb24KCgkgIE1vdmUgZ2VuZXJhdGlvbiBvZiB0aGUgbmlnaHRseSBzdGFydCB0aW1lIHN0cmluZyBmcm9tCgkgIGNtQ1Rlc3RVcGRhdGVIYW5kbGVyOjpQcm9jZXNzSGFuZGxlciBpbnRvIGNtQ1Rlc3RWQy4KCjIwMDktMDItMjQgMTI6NTAgIGtpbmcKCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RTVk4uY3h4LCBjbUNUZXN0U1ZOLmgsCgkgIGNtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eCwgY21DVGVzdFZDLmN4eCwgY21DVGVzdFZDLmg6IEVOSDogRmFjdG9yCgkgIG91dCBzdm4gd29yayB0cmVlIGNsZWFudXAKCgkgIFRoaXMgcmVtb3ZlcyB3b3JrIHRyZWUgY2xlYW51cCBmcm9tIGNtQ1Rlc3RVcGRhdGVIYW5kbGVyIGFuZCBhZGRzCgkgIGFuIGludGVyZmFjZSBmb3IgaXQgaW4gY21DVGVzdFZDIHdpdGggYW4gaW1wbGVtZW50YXRpb24gaW4KCSAgY21DVGVzdFNWTi4KCjIwMDktMDItMjQgMTI6NDkgIGtpbmcKCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RWQy5jeHgsIGNtQ1Rlc3RWQy5oOiBFTkg6IENyZWF0ZQoJICBjbUNUZXN0VkM6OlJ1bkNoaWxkIGFuZCBwYXJzZSBoZWxwZXJzCgoJICBUaGlzIG1ldGhvZCB3aWxsIGhlbHAgVkNTIHRvb2wgc3ViY2xhc3NlcyBydW4gY2hpbGQgcHJvY2Vzc2VzIGFuZAoJICBsb2cgdGhlIG91dHB1dCB3aGlsZSBwYXJzaW5nIGl0LgoKMjAwOS0wMi0yNCAxMTo0MSAga2luZwoKCSogU291cmNlL2NtSW5zdGFsbENvbW1hbmQuY3h4LCBTb3VyY2UvY21JbnN0YWxsQ29tbWFuZC5oLAoJICBTb3VyY2UvY21JbnN0YWxsRGlyZWN0b3J5R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbERpcmVjdG9yeUdlbmVyYXRvci5oLAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkIGluc3RhbGwoRElSRUNUT1JZKQoJICBvcHRpb24gJ09QVElPTkFMJwoKCSAgVGhpcyBhZGRzIHRoZSBPUFRJT05BTCBvcHRpb24gdG8gdGhlIGluc3RhbGwoRElSRUNUT1JZKSBjb21tYW5kLgoJICBJdCB0ZWxscyB0aGUgaW5zdGFsbGF0aW9uIHJ1bGUgdGhhdCBpdCBpcyBub3QgYW4gZXJyb3IgaWYgdGhlCgkgIHNvdXJjZSBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QuICBTZWUgaXNzdWUgIzgzOTQuCgoyMDA5LTAyLTI0IDExOjQxICBraW5nCgoJKiBTb3VyY2UvY21JbnN0YWxsQ29tbWFuZC5jeHg6IEVOSDogUmVmYWN0b3IgaW5zdGFsbChESVJFQ1RPUlkpCgkgIGFyZ3VtZW50IHBhcnNpbmcKCgkgIFdlIHByZXZpb3VzbHkgdXNlZCBzZXZlcmFsIGJvb2xlYW5zIHdpdGggYXQgbW9zdCBvbmUgc2V0IHRvIHRydWUKCSAgYXQgYSB0aW1lIHRvIHRyYWNrIGFyZ3VtZW50IHBhcnNpbmcgc3RhdGUuICBUaGlzIHJlZmFjdG9ycyBpdCB0bwoJICB1c2Ugb25lIGVudW1lcmF0aW9uLgoKMjAwOS0wMi0yNCAxMTowOCAga2luZwoKCSogU291cmNlL2NtUHJvY2Vzc1Rvb2xzLmg6IENPTVA6IGNtUHJvY2Vzc1Rvb2xzOjpPdXRwdXRQYXJzZXIKCSAgdmlydHVhbCBkdG9yCgoJICBUaGlzIGNsYXNzIGhhcyB2aXJ0dWFsIG1ldGhvZHMgYW5kIHRoZXJlZm9yZSBzaG91bGQgaGF2ZSBhCgkgIHZpcnR1YWwgZGVzdHJ1Y3Rvci4KCjIwMDktMDItMjQgMTA6NDAgIGtpbmcKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbVByb2Nlc3NUb29scy5jeHgsIGNtUHJvY2Vzc1Rvb2xzLmg6CgkgIEVOSDogQ3JlYXRlIGNtUHJvY2Vzc1Rvb2xzIHRvIHBhcnNlIGNoaWxkIG91dHB1dAoKCSAgVGhpcyBjbGFzcyBwcm92aWRlcyBhIFJ1blByb2Nlc3MgbWV0aG9kIHRvIHJ1biBhIGNoaWxkIHByb2Nlc3MKCSAgYW5kIHNlbmQgaXRzIG91dHB1dCB0byBhbiBhYnN0cmFjdCBwYXJzaW5nIGludGVyZmFjZS4gIFRoaXMgYWxzbwoJICBwcm92aWRlcyBhIHNpbXBsZSBsaW5lIHBhcnNlciBhbmQgbG9nZ2VyIGltcGxlbWVudGluZyB0aGUgcGFyc2luZwoJICBpbnRlcmZhY2UuCgoyMDA5LTAyLTI0IDEwOjM5ICBraW5nCgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgQ1Rlc3QvY21DVGVzdENWUy5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RDVlMuaCwgQ1Rlc3QvY21DVGVzdFNWTi5jeHgsIENUZXN0L2NtQ1Rlc3RTVk4uaCwKCSAgQ1Rlc3QvY21DVGVzdFVwZGF0ZUhhbmRsZXIuY3h4OiBFTkg6IEFkZCBjbUNUZXN0Q1ZTIGFuZAoJICBjbUNUZXN0U1ZOCgoJICBUaGVzZSBjbUNUZXN0VkMgc3ViY2xhc3NlcyB3aWxsIGltcGxlbWVudCBpbnRlcmFjdGlvbiB3aXRoIENWUwoJICBhbmQgU1ZOIHRvb2xzLgoKMjAwOS0wMi0yNCAxMDozOSAga2luZwoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIENUZXN0L2NtQ1Rlc3RWQy5jeHgsIENUZXN0L2NtQ1Rlc3RWQy5oOgoJICBFTkg6IENyZWF0ZSBjbUNUZXN0VkMgZm9yIFZDUyBpbnRlcmFjdGlvbgoKCSAgVGhpcyBjcmVhdGVzIGNtQ1Rlc3RWQywgdGhlIGJhc2UgZm9yIGEgZm9ydGhjb21pbmcgY2xhc3MKCSAgaGllcmFyY2h5IHRvIGludGVyYWN0IHdpdGggdmVyc2lvbiBjb250cm9sIHN5c3RlbXMuCgoyMDA5LTAyLTI0IDA5OjM0ICBkYXZpZC5jb2xlCgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja0RyYWdORHJvcEdlbmVyYXRvci5jeHg6IFNUWUxFOiBGaXggbGluZQoJICBsZW5ndGggdmlvbGF0aW9uLgoKMjAwOS0wMi0yNCAwOTowOSAga2luZwoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdFVwZGF0ZUhhbmRsZXIuY3h4LCBjbUNUZXN0VXBkYXRlSGFuZGxlci5oOgoJICBFTkg6IEZhY3RvciBvdXQgVkNTIHRvb2wgZGV0ZWN0aW9uCgoJICBJbiBjbUNUZXN0VXBkYXRlSGFuZGxlciwgdGhpcyBmYWN0b3JzIG91dCB2ZXJzaW9uIGNvbnRyb2wgdG9vbAoJICBkZXRlY3Rpb24gZnJvbSB0aGUgbW9ub2xpdGhpYwoJICBjbUNUZXN0VXBkYXRlSGFuZGxlcjo6UHJvY2Vzc0hhbmRsZXIgdG8gc2VwYXJhdGUgbWV0aG9kcy4gIFRoaXMKCSAgYWxzbyBwbGFjZXMgcHJpb3JpdHkgb24gZGV0ZWN0aW9uIG9mIHRoZSB0b29sIG1hbmFnaW5nIHRoZSBzb3VyY2UKCSAgdHJlZSBzaW5jZSB1c2luZyBhbnkgb3RoZXIgdG9vbCB3aWxsIGNhdXNlIGVycm9ycy4KCjIwMDktMDItMjQgMDk6MDkgIGtpbmcKCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eCwgY21DVGVzdFVwZGF0ZUhhbmRsZXIuaDoKCSAgRU5IOiBGYWN0b3Igb3V0IGluaXRpYWwgY2hlY2tvdXQgbWV0aG9kCgoJICBUaGlzIG1vdmVzIHRoZSBpbml0aWFsIGNoZWNrb3V0IGNvZGUgZnJvbSB0aGUgbW9ub2xpdGhpYwoJICBjbUNUZXN0VXBkYXRlSGFuZGxlcjo6UHJvY2Vzc0hhbmRsZXIgdG8gYSBzZXBhcmF0ZSBtZXRob2QKCSAgY21DVGVzdFVwZGF0ZUhhbmRsZXI6OkluaXRpYWxDaGVja291dC4KCjIwMDktMDItMjQgMDk6MDAgIGtpbmcKCgkqIFV0aWxpdGllcy9DTWFrZUxpc3RzLnR4dDogRU5IOiBIZWxwIGNtYWtlLWd1aSBkb2NzIGdlbmVyYXRpb24gb24KCSAgV2luZG93cwoKCSAgV2UgdXNlIGEgY3VzdG9tIGNvbW1hbmQgdG8gcnVuICdjbWFrZS1ndWkgLS1oZWxwLi4uJyB0byBnZW5lcmF0ZQoJICB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGFwcGxpY2F0aW9uLiAgU2luY2UgdGhpcyBpcyBhIFF0CgkgIGFwcGxpY2F0aW9uLCB0aGUgZXhlY3V0YWJsZSBtdXN0IGZpbmQgdGhlIFF0IERMTHMgaW4gb3JkZXIgdG8KCSAgcnVuLglBcyBhIGNvbnZlbmllbmNlLCBpZiBRdENvcmU0LmRsbCBhcHBlYXJzIG5leHQgdG8gcW1ha2UuZXhlLAoJICB3ZSBwdXQgaXRzIGxvY2F0aW9uIGluIHRoZSBQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIHdoZW4gcnVubmluZwoJICB0aGUgY3VzdG9tIGNvbW1hbmQgb24gV2luZG93cy4KCjIwMDktMDItMjQgMDA6NDkgIGxvd21hbgoKCSogTW9kdWxlcy9GaW5kQm9vc3QuY21ha2U6IEJVRzogRml4IGlzc3VlICM4NTc2IEZpbmRCb29zdAoJICByZWdyZXNzaW9uIGZpbmRpbmcgc3RhdGljIGxpYnMsIGltcGFjdHMgTWluR1cgYW5kIEludGVsL1dpbmRvd3MKCSAgY29tcGlsZXJzLgoKMjAwOS0wMi0yNCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAyLTIzIDE2OjU0ICBraW5nCgoJKiBUZXN0cy9DVGVzdFVwZGF0ZUNvbW1vbi5jbWFrZTogQlVHOiBGaXggQ1Rlc3QuVXBkYXRlQ1ZTL1NWTiB0ZXN0cwoJICBmb3Igd2luIHNsYXNoZXMKCgkgIFRoaXMgZml4ZXMgdGhlIHRlc3RzIHRvIGFsbG93IHdpbmRvd3Mgc2xhc2hlcyBpbiByZXBvcnRlZCBmaWxlCgkgIG5hbWVzIGluIHRoZSBnZW5lcmF0ZWQgVXBkYXRlLnhtbCBmaWxlLgoKMjAwOS0wMi0yMyAxNTo1OSAga2luZwoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eDogRU5IOiBSZWZhY3RvciBxdW90aW5nIG9mCgkgIFZDUyB0b29sIGNvbW1hbmQKCgkgIFByZXZpb3VzbHkgd2UgcHJlLXF1b3RlZCB0aGUgY29tbWFuZCBsaW5lIHRvb2wgcGF0aC4JVGhpcyBhdm9pZHMKCSAgaXQgYnkgcXVvdGluZyB0aGUgY29tbWFuZCBldmVyeXdoZXJlIGl0IGlzIHVzZWQsIHRodXMgcHJlc2VydmluZwoJICBhY2Nlc3MgdG8gdGhlIG9yaWdpbmFsLCB1bnF1b3RlZCBjb21tYW5kLgoKMjAwOS0wMi0yMyAxNTo1OSAga2luZwoKCSogVGVzdHMvQ1Rlc3RVcGRhdGVTVk4uY21ha2UuaW46IEVOSDogVGVzdCBzdm4gdXBkYXRlcyB3aXRoIHNwYWNlCgkgIGluIGF1dGhvciBuYW1lCgoJICBUaGlzIGVuaGFuY2VzIHRoZSBDVGVzdC5VcGRhdGVTVk4gdGVzdCB3aXRoIGEgc3BhY2UgaW4gdGhlIHRlc3QKCSAgYXV0aG9yIG5hbWUuCUl0IHdpbGwgY2hlY2sgdGhhdCBhdXRob3IgbmFtZSBwYXJzaW5nIHdvcmtzCgkgIGNvcnJlY3RseS4KCjIwMDktMDItMjMgMTU6NTkgIGtpbmcKCgkqIFRlc3RzLzogQ1Rlc3RVcGRhdGVDVlMuY21ha2UuaW4sIENUZXN0VXBkYXRlQ29tbW9uLmNtYWtlLAoJICBDVGVzdFVwZGF0ZVNWTi5jbWFrZS5pbjogRU5IOiBFbmhhbmNlIENUZXN0LlVwZGF0ZUNWUy9TVk4gdGVzdHMKCgkgIFRoaXMgYWRkcyBhIHNvdXJjZSB0cmVlIHN1YmRpcmVjdG9yeSB0byB0aGUgY29udGVudCBvZiB0aGUgdGVzdAoJICBwcm9qZWN0cy4gIEl0IGFsc28gc21va2UgdGVzdHMgbW9yZSB0aGFuIG9uZSByZXZpc2lvbiB3b3J0aCBvZgoJICBjaGFuZ2VzLgoKMjAwOS0wMi0yMyAxNTo1OCAga2luZwoKCSogVGVzdHMvQ1Rlc3RVcGRhdGVDb21tb24uY21ha2U6IEVOSDogQmV0dGVyIGZhaWx1cmUgb3V0cHV0IGZyb20KCSAgQ1Rlc3QuVXBkYXRlKgoKCSAgVGhpcyB0ZWFjaGVzIENUZXN0VXBkYXRlQ29tbW9uIHRvIHJlcG9ydCB0aGUgcHJvY2VzcyBleGl0CgkgIGNvbmRpdGlvbiBmcm9tIGZhaWxlZCBjaGlsZCBwcm9jZXNzZXMgZXhlY3V0ZWQgZHVyaW5nIHRlc3RzLgoKMjAwOS0wMi0yMyAxMzoyNSAgZGF2aWQuY29sZQoKCSogU291cmNlL0NQYWNrL2NtQ1BhY2tEcmFnTkRyb3BHZW5lcmF0b3IuY3h4OiBFTkg6IEFkZCBsaWNlbnNlIGZpbGUKCSAgcHJlc2VudGF0aW9uIHRvIHRoZSBEcmFnLU4tRHJvcCBkbWcgZmlsZSBDUGFjayBnZW5lcmF0b3IuIEZpeGVzCgkgIGlzc3VlICM4NDQyLiBUaGFua3MgdG8gQ2xpbnRvbiBTdGltcHNvbiBmb3IgdGhlIHBhdGNoLgoKMjAwOS0wMi0yMyAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAyLTIyIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDItMjEgMTQ6NDMgIGhvZmZtYW4KCgkqIFNvdXJjZS9RdERpYWxvZy9DTWFrZVNldHVwLmN4eDogQlVHOiBtYWtlIHN1cmUgeW91IGNhbiBidWlsZAoJICBjbWFrZSB3aXRob3V0IGFuIFggc2VydmVyCgoyMDA5LTAyLTIxIDE0OjM4ICBob2ZmbWFuCgoJKiBTb3VyY2UvUXREaWFsb2cvQ01ha2VTZXR1cC5jeHg6IEJVRzogbWFrZSBzdXJlIHRoZSBndWkgc3RpbGwKCSAgcnVucy4uLgoKMjAwOS0wMi0yMSAxNDoyMyAgaG9mZm1hbgoKCSogU291cmNlL1F0RGlhbG9nL0NNYWtlU2V0dXAuY3h4OiBCVUc6IG1ha2Ugc3VyZSBhbiB4IHNlcnZlciBpcyBub3QKCSAgcmVxdWlyZWQgZm9yIHRoZSBidWlsZAoKMjAwOS0wMi0yMSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAyLTIwIDE1OjUxICBraW5nCgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0QnVpbGRDb21tYW5kLmgsIGNtQ1Rlc3RDb25maWd1cmVDb21tYW5kLmgsCgkgIGNtQ1Rlc3RDb3ZlcmFnZUNvbW1hbmQuaCwgY21DVGVzdEhhbmRsZXJDb21tYW5kLmgsCgkgIGNtQ1Rlc3RNZW1DaGVja0NvbW1hbmQuaCwgY21DVGVzdFRlc3RDb21tYW5kLmg6IEVOSDogRG9jdW1lbnQKCSAgQVBQRU5EIG9wdGlvbiBpbiBjdGVzdF8qIGNvbW1hbmRzCgoJICBUaGlzIGFkZHMgZG9jdW1lbnRhdGlvbiBvZiB0aGUgQVBQRU5EIG9wdGlvbiB0byB0aGUgY29uZmlndXJlLAoJICBidWlsZCwgdGVzdCwgbWVtY2hlY2ssIGFuZCBjb3ZlcmFnZSBjb21tYW5kcy4gIFRoZSBkb2NzIGxlYXZlCgkgIHNwZWNpZmljIHNlbWFudGljcyBmb3IgdGhlIGRhc2hib2FyZCBzZXJ2ZXIgdG8gZGVmaW5lLgoKMjAwOS0wMi0yMCAxNTo1MCAga2luZwoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdEJ1aWxkQ29tbWFuZC5oLCBjbUNUZXN0Q29uZmlndXJlQ29tbWFuZC5oLAoJICBjbUNUZXN0Q292ZXJhZ2VDb21tYW5kLmgsIGNtQ1Rlc3RNZW1DaGVja0NvbW1hbmQuaCwKCSAgY21DVGVzdFRlc3RDb21tYW5kLmgsIGNtQ1Rlc3RVcGRhdGVDb21tYW5kLmg6IEVOSDogSW1wcm92ZQoJICBjdGVzdF8qIGNvbW1hbmQgZG9jdW1lbnRhdGlvbgoKCSAgVGhpcyBjb3JyZWN0cyB0aGUgdGVyc2UgZG9jdW1lbnRhdGlvbiBhbmQgYWRkcyBkZXRhaWwgdG8gdGhlIGZ1bGwKCSAgZG9jdW1lbnRhdGlvbiBvZiBzb21lIGNvbW1hbmRzLiAgSXQgYWxzbyBub3JtYWxpemVzIHRoZSBsYXlvdXQgb2YKCSAgdGhlIGRvY3VtZW50YXRpb24gc3RyaW5nIGVuZGluZ3MgdG8gbWFrZSBhZGRpbmcgbGluZXMgZWFzaWVyLgoKMjAwOS0wMi0yMCAxNTo1MCAga2luZwoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXRDb21tYW5kLmg6IEVOSDogTW9yZSBkb2N1bWVudGF0aW9uIGZvcgoJICBjdGVzdF9zdWJtaXQgY29tbWFuZAoKCSAgVGhpcyBjbGFyaWZpZXMgdGhlIHRlcnNlIGRvY3VtZW50YXRpb24gYW5kIGxpc3RzIHZhbGlkIHZhbHVlcyBmb3IKCSAgUEFSVFMuCgoyMDA5LTAyLTIwIDE0OjAzICBraW5nCgoJKiBTb3VyY2UvY21Eb2N1bWVudFZhcmlhYmxlcy5jeHg6IEVOSDogQ2xhcmlmeSBkb2NzIG9mIG9sZAoJICAqX09VVFBVVF9QQVRIIHZhcnMKCgkgIFRoaXMgY2xhcmlmaWVzIHRoZSBkb2N1bWVudGF0aW9uIG9mIEVYRUNVVEFCTEVfT1VUUFVUX1BBVEggYW5kCgkgIExJQlJBUllfT1VUUFVUX1BBVEggdG8gc291bmQgbGVzcyBsaWtlIGRlcHJlY2F0aW9uLgoKMjAwOS0wMi0yMCAxMToxMCAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWw6IEVOSDogZmluYWwgMi42LjMgY29tbWl0IHJlbW92ZQoJICBSQyBhbmQgY2xlYW4gY2hhbmdlbG9nIGEgYml0CgoyMDA5LTAyLTIwIDEwOjE0ICBkYXZpZC5jb2xlCgoJKiBTb3VyY2UvQ1BhY2svOiBjbUNQYWNrRHJhZ05Ecm9wR2VuZXJhdG9yLmN4eCwKCSAgY21DUGFja0RyYWdORHJvcEdlbmVyYXRvci5oOiBTVFlMRTogRml4IHN0eWxlIGxpbmUtdG9vLWxvbmcKCSAgdmlvbGF0aW9ucy4KCjIwMDktMDItMjAgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMi0xOSAxNjowNCAgY2xpbnRvbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOgoJICBFTkg6CVN1cHBvcnQgQ09NUE9ORU5UUyBhcmd1bWVudCB0byBmaW5kX3BhY2thZ2UoKS4JICAgICAgU2VlCgkgIGJ1ZyAjODU0Mi4KCjIwMDktMDItMTkgMTY6MDIgIGhvZmZtYW4KCgkqIFRlc3RzL0J1aWxkRGVwZW5kcy9Qcm9qZWN0L0NNYWtlTGlzdHMudHh0OiBFTkg6IG1lcmdlIGluIGZpeCBmb3IKCSAgdGVzdCBvbiBvbGRlciBtYWNzCgoyMDA5LTAyLTE5IDE1OjUxICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6CgkgIEVOSDoJU3VwcG9ydCB2ZXJzaW9uIGFyZ3VtZW50IGluIGZpbmRfcGFja2FnZSgpLgkgICBTZWUgYnVnCgkgICM4NTQyLgoKMjAwOS0wMi0xOSAxNToyNCAgaG9mZm1hbgoKCSogVGVzdHMvQnVpbGREZXBlbmRzL1Byb2plY3QvQ01ha2VMaXN0cy50eHQ6IEVOSDogbWFrZSBzdXJlCgkgIG11bHRpcGxlIGFyY2hzIGFyZSBvbmx5IHRlc3RlZCB3aGVuIHRoZSB3b3JrCgoyMDA5LTAyLTE5IDExOjUzICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwKCSAgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBUZXN0cy9CdWlsZERlcGVuZHMvUHJvamVjdC9DTWFrZUxpc3RzLnR4dDogQlVHOiBmaXggeGNvZGUgZGVwZW5kCgkgIGlzc3VlIGFnYWluIHdpdGggYSB0ZXN0CgoyMDA5LTAyLTE5IDExOjUxICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsCgkgIFRlc3RzL0J1aWxkRGVwZW5kcy9Qcm9qZWN0L0NNYWtlTGlzdHMudHh0OiBCVUc6IGZpeCB4Y29kZSBkZXBlbmQKCSAgaXNzdWUgYW5kIGFkZCBhIHRlc3QgZm9yIGl0CgoyMDA5LTAyLTE5IDExOjIwICBkYXZpZC5jb2xlCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEJVRzogRml4IGlzc3VlICM4MjUzIC0gaGFuZGxlCgkgIHhpYiBmaWxlIGV4dGVuc2lvbiBpbiBYY29kZSBwcm9qZWN0cyBzbyB0aGF0IGRvdWJsZSBjbGlja2luZyBvbgoJICB4aWIgZmlsZXMgb3BlbnMgdGhlbSB1cCBpbiBJbnRlcmZhY2UgQnVpbGRlci4gVGhhbmtzIHRvCgkgIGJhcm9uX3JvYmVydHMgZm9yIHRoZSBwYXRjaC4KCjIwMDktMDItMTkgMTE6MTcgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLAoJICBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEJVRzogZml4IHhjb2RlIGRlcGVuZCBpc3N1ZQoJICBhZ2FpbiBvbiBicmFuY2gKCjIwMDktMDItMTkgMTA6MzkgIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS9DUGFjay86IGNtQ1BhY2tCdW5kbGVHZW5lcmF0b3IuY3h4LAoJICBjbUNQYWNrRHJhZ05Ecm9wR2VuZXJhdG9yLmN4eCwgY21DUGFja0RyYWdORHJvcEdlbmVyYXRvci5oOiBCVUc6CgkgIEEgbGl0dGxlIGJpdCBtb3JlIHJlZmFjdG9yaW5nIGZyb20gQnVuZGxlR2VuZXJhdG9yIHRvCgkgIERyYWdORHJvcEdlbmVyYXRvci4gU2VlIGlzc3VlICM4NTU2LiBUaGFua3MgZm9yIENsaW50b24gU3RpbXBzb24KCSAgZm9yIHRoZSBwYXRjaC4KCjIwMDktMDItMTkgMTA6MzEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogQlVHOiBmaXggZGVwZW5kIGJ1ZyBhZ2FpbiBmb3IKCSAgWGNvZGUKCjIwMDktMDItMTkgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMi0xOCAxMjo0MCAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWwsCgkgIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogRU5IOiBwdXQgaW4gZml4IGZvciBYY29kZQoJICByZWJ1aWxkIGlzc3VlIG9uIGJyYW5jaAoKMjAwOS0wMi0xOCAxMjowOSAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBCVUc6IHVzZSB0aGUgdG9wIGxldmVsIHByb2plY3QKCSAgbmFtZSBmb3IgdGhlIHhjb2RlIGRlcGVuZCBoZWxwZXIgZGlyZWN0b3J5IG5hbWVzCgoyMDA5LTAyLTE4IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDItMTcgMTY6NTkgIGRhdmlkLmNvbGUKCgkqIE1vZHVsZXMvUGxhdGZvcm0vRGFyd2luLmNtYWtlOiBCVUc6IEFsbG93IHRoaXJkIGNvbXBvbmVudCBvZiBNYWMKCSAgT1NYIHN3X3ZlcnMgb3V0cHV0IHRvIGJlIGVtcHR5LiBNYWMgT1NYIDEwLjUgd2FzIHJlY2VudGx5CgkgIHJlaW5zdGFsbGVkIG9uIGRhc2htYWNtaW5pMyBhbmQgcG9pbnRlZCBvdXQgdGhlIGZhY3QgdGhhdCB0aGlzCgkgIGV4cHJlc3Npb24gaXMgZmF1bHR5IHdoZW4gdGhlIHJlcG9ydGVkIHZlcnNpb24gaXMgc2ltcGx5IDEwLjUKCSAgcmF0aGVyIHRoYW4gMTAuNS54Li4uIGZvciBleGFtcGxlLiBUaGlzIGZpeGVzIGl0LgoKMjAwOS0wMi0xNyAxMTo1MyAga2luZwoKCSogU291cmNlLzogY21EZXBlbmRzRm9ydHJhblBhcnNlci5jeHgsIGNtRGVwZW5kc0ZvcnRyYW5QYXJzZXIueToKCSAgQlVHOiBEbyBub3QgdXNlICdjaGFyJyB0eXBlIGFzIGFycmF5IHN1YnNjcmlwdAoKCSAgVGhpcyBjb252ZXJ0cyB1c2VzIG9mICdjaGFyJyBhcyBhbiBhcnJheSBzdWJzY3JpcHQgdG8gJ3Vuc2lnbmVkCgkgIGNoYXInIHRvIGhlZWQgdGhlIHdhcm5pbmcgZnJvbSBnY2MuICBUaGUgc3Vic2NyaXB0IG11c3QgYmUgYW4KCSAgdW5zaWduZWQgdHlwZSB0byBhdm9pZCBpbmRleGluZyBiZWZvcmUgdGhlIGJlZ2lubmluZyBvZiB0aGUKCSAgYXJyYXkuICBUaGlzIGNoYW5nZSBhdm9pZHMgYSBwb3RlbnRpYWwgY3Jhc2ggaWYgaW5wdXQgdGV4dAoJICBjb250YWlucyBhIGJ5dGUgdmFsdWUgYmV5b25kIDB4N2YuCgoyMDA5LTAyLTE3IDExOjM3ICBraW5nCgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0VXBkYXRlSGFuZGxlci5jeHgsIGNtQ1Rlc3RVcGRhdGVIYW5kbGVyLmg6CgkgIEVOSDogUmVtb3ZlIGdlbmVyYXRpb24gb2YgdW51c2VkIFVwZGF0ZS54bWwgcGFydHMKCgkgIFRoaXMgcmVtb3ZlcyBnZW5lcmF0aW9uIG9mIHNvbWUgVXBkYXRlLnhtbCBjb250ZW50IHRoYXQgaXMgbm90CgkgIHVzZWQgYnkgYW55IERhcnQxLCBEYXJ0Miwgb3IgQ0Rhc2ggc2VydmVyczoJLSBSZXZpc2lvbnMKCSAgZWxlbWVudHMgICAtIERpcmVjdG9yeSBhdHRyaWJ1dGUgb2YgRmlsZSBlbGVtZW50cyAgIC0gRmlsZQoJICBlbGVtZW50cyB3aXRoaW4gQXV0aG9yIGVsZW1lbnRzIFRoZSBjb250ZW50IHdhcyBnZW5lcmF0ZWQgb25seQoJICBiZWNhdXNlIHRoZSBvcmlnaW5hbCBEYXJ0MSBUY2wgY2xpZW50IGdlbmVyYXRlZCBpdCwgYnV0IHRoZQoJICBjb250ZW50IHdhcyBuZXZlciB1c2VkLgoKMjAwOS0wMi0xNyAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAyLTE2IDE4OjA5ICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvQ01ha2VMaXN0cy50eHQ6IEVOSDogYWRkIG1pc3Npb25nIGluc3RhbGwgZG9jcyBmb3IKCSAgY21ha2UtZ3VpCgoyMDA5LTAyLTE2IDE0OjA2ICBob2ZmbWFuCgoJKiBDTWFrZUNQYWNrT3B0aW9ucy5jbWFrZS5pbiwgQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWwsCgkgIFNvdXJjZS9RdERpYWxvZy9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL1F0RGlhbG9nL1F0RGlhbG9nQ1BhY2suY21ha2UuaW46IEVOSDogbWVyZ2UgaW4gYSBmZXcgbW9yZQoJICBjaGFuZ2VzIGZvciBpbnN0YWxsZXIgb24gd2luZG93cyBhbmQgY21ha2UtZ3VpCgoyMDA5LTAyLTE2IDEzOjU2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21JZkNvbW1hbmQuaDogRU5IOiBmaXggc3R5bGUKCjIwMDktMDItMTYgMTE6MTcgIGhvZmZtYW4KCgkqIFNvdXJjZS9RdERpYWxvZy9RdERpYWxvZ0NQYWNrLmNtYWtlLmluOiBFTkg6IGNoYW5nZSBuYW1lIGZvcgoJICBzdGFydCBtZW51IGVudHJ5CgoyMDA5LTAyLTE2IDEwOjMzICBraW5nCgoJKiBNb2R1bGVzL3JlYWRtZS50eHQ6IFNUWUxFOiBOb3RlIGZpbmRfcGFja2FnZSBDT01QT05FTlRTIGluCgkgIG1vZHVsZXMgZG9jCgoJICBUaGlzIG1lbnRpb25zIHRoZSBDT01QT05FTlRTIG9wdGlvbiBvZiBmaW5kX3BhY2thZ2UgaW4gdGhlIG1vZHVsZQoJICBhdXRob3IgZG9jdW1lbnRhdGlvbiBmaWxlICJNb2R1bGVzL3JlYWRtZS50eHQiLiAgU2VlIGlzc3VlICM4NTM5LgoKMjAwOS0wMi0xNiAxMDowMSAga2luZwoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eDogQlVHOiBGaXggc3ZuIHVwZGF0ZSBsb2dpYwoJICBmb3IgbW9kaWZpZWQgZmlsZXMKCgkgIFRoZSBtYWluIHN2biB1cGRhdGUgcGFyc2luZyBsb29wIGluIGNtQ1Rlc3RVcGRhdGVIYW5kbGVyCgkgIHByZXZpb3VzbHkgaGFkIGEgbG9naWMgZXJyb3IgYmVjYXVzZSB0aGUgdmFyaWFibGUgJ3Jlcycgd2FzIG5vdAoJICByZXNldCBmb3IgZWFjaCBpdGVyYXRpb24uICBGb3IgYSBsb2NhbGx5IG1vZGlmaWVkIGZpbGUgaXQgd291bGQKCSAgcmVwb3J0IHRoZSB1cGRhdGUgaW5mbyBmb3IgdGhlIHByZXZpb3VzIG5vbi1tb2RpZmllZCBmaWxlLCBvcgoJICBub3RoaW5nIGlmIHRoZXJlIHdhcyBubyBwcmV2aW91cyBmaWxlLiAgVGhpcyBmaXhlcyB0aGUgbG9naWMgYnkKCSAgc2V0dGluZyB2YXJpYWJsZSAncmVzJyBpbiBib3RoIGNvbnRyb2wgcGF0aHMgZm9yIGVhY2ggaXRlcmF0aW9uLgoJICBTZWUgaXNzdWUgIzgxNjguCgoyMDA5LTAyLTE2IDEwOjAwICBraW5nCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFVwZGF0ZUhhbmRsZXIuY3h4OiBTVFlMRTogRml4IHNwZWxsaW5nIGluCgkgIGNtQ1Rlc3RVcGRhdGVIYW5kbGVyCgoJICBUaGlzIHJlbmFtZXMgdGhlIHZhcmlhYmxlICdudW1Nb2RpZWZpZWQnIHRvICdudW1Nb2RpZmllZCcgdG8gZml4CgkgIGl0cyBzcGVsbGluZy4gIEl0IGFsc28gcmVuYW1lcyAnbW9kaWZpZWRPckNvbmZsaWN0JyB0bwoJICAnbm90TG9jYWxseU1vZGlmaWVkJyB0byBkZXNjcmliZSBpdHMgcHVycG9zZSAocmF0aGVyIHRoYW4gdGhlCgkgIG9wcG9zaXRlIG9mIGl0cyBwdXJwb3NlKS4gIFNlZSBpc3N1ZSAjODE2OC4KCjIwMDktMDItMTYgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMi0xNSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAyLTE0IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDItMTMgMjE6NTEgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9DTWFrZUxpc3RzLnR4dCwgQ01ha2VDUGFja09wdGlvbnMuY21ha2UuaW46IEVOSDogYWRkCgkgIGNtYWtlIGd1aSBkb2NzCgoyMDA5LTAyLTEzIDE4OjUyICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6CgkgIEVOSDoJQWxsb3dpbmcgZmluZGluZyBhIHJlbG9jYXRlZCBRdCBpbnN0YWxsYXRpb24gd2hpY2ggY29udGFpbnMKCSAgYSBxdC5jb25mIHRvIG92ZXJyaWRlIHRoZSBoYXJkY29kZWQgcGF0aHMgaW4gcW1ha2UuCSAgICAgRml4ZXMKCSAgIzg1MzIuCgoyMDA5LTAyLTEzIDE2OjI5ICBob2ZmbWFuCgoJKiBDTWFrZUNQYWNrT3B0aW9ucy5jbWFrZS5pbjogRU5IOiBkZXByZWNhdGUgQ01ha2VTZXR1cAoKMjAwOS0wMi0xMyAxNjoyOCAgaG9mZm1hbgoKCSogU291cmNlL1F0RGlhbG9nLzogQ01ha2VMaXN0cy50eHQsIFF0RGlhbG9nQ1BhY2suY21ha2UuaW46IEVOSDoKCSAgdGFrZSBjbWFrZS1ndWkgb3V0IG9mIGJldGEKCjIwMDktMDItMTMgMTU6NDkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dDogRU5IOiBPcHRpb25hbGx5IGxhYmVsIEtXU3lzIHRhcmdldHMKCSAgYW5kIHRlc3RzCgoJICBUaGlzIHByb3ZpZGVzIGFuIEFQSSBmb3IgcGFyZW50IHByb2plY3RzIHRvIHVzZSB0byBzcGVjaWZ5IHZhbHVlcwoJICB0byBiZSBzZXQgaW4gdGhlIExBQkVMUyBwcm9wZXJ0aWVzIG9mIEtXU3lzIGxpYnJhcmllcywKCSAgZXhlY3V0YWJsZXMsIGFuZCB0ZXN0cy4KCjIwMDktMDItMTMgMTU6NDkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dDogRU5IOiBBZGQgS1dTeXMgaGVhZGVyIGZpbGVzIHRvCgkgIGxpYnJhcnkgdGFyZ2V0cwoKCSAgVGhpcyBhZGRzIHRoZSBjb25maWd1cmVkIEtXU3lzIGhlYWRlciBmaWxlcyB0byB0aGUgbGlicmFyeQoJICB0YXJnZXRzIHRoYXQgaW1wbGVtZW50IHRoZWlyIEFQSXMgc28gdGhhdCB0aGV5IHNob3cgdXAgaW4gSURFCgkgIHByb2plY3QgZmlsZXMuCgoyMDA5LTAyLTEzIDE1OjE3ICBraW5nCgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eCwKCSAgY21DVGVzdENvdmVyYWdlSGFuZGxlci5oOiBFTkg6IFRlYWNoIENUZXN0IHRvIHB1dCBsYWJlbHMgaW4KCSAgY292ZXJhZ2UgcmVzdWx0cwoKCSAgVGhpcyB0ZWFjaGVzIENUZXN0IHRvIGluY2x1ZGUgc291cmNlIGZpbGUgbGFiZWxzIGluIGNvdmVyYWdlCgkgIGRhc2hib2FyZCBzdWJtaXNzaW9ucy4gIFRoZSBsYWJlbHMgZm9yIGVhY2ggc291cmNlIGFyZSB0aGUgdW5pb24KCSAgb2YgdGhlIExBQkVMUyBwcm9wZXJ0eSBmcm9tIHRoZSBzb3VyY2UgZmlsZSBhbmQgYWxsIHRoZSB0YXJnZXRzCgkgIGluIHdoaWNoIGl0IGlzIGJ1aWx0LgoKMjAwOS0wMi0xMyAxNToxNiAga2luZwoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4OiBTVFlMRTogUmVtb3ZlIHVudXNlZAoJICB2YXJpYWJsZQoKMjAwOS0wMi0xMyAxMTo0OSAga2luZwoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RCdWlsZENvbW1hbmQuY3h4OiBCVUc6IEZpeAoJICBDVEVTVF9VU0VfTEFVTkNIRVJTIGluIGRhc2hib2FyZCBzY3JpcHRzCgoJICBTaW5jZSBDVGVzdCBkb2VzIG5vdCBjdXJyZW50bHkgbG9hZCBjb25maWd1cmF0aW9uIHNldHRpbmdzCgkgIGNvbXB1dGVkIGF0IENNYWtlIENvbmZpZ3VyZSB0aW1lIHdoaWxlIHJ1bm5pbmcgZGFzaGJvYXJkIHNjcmlwdHMsCgkgIHRoZSBjdGVzdF9idWlsZCBjb21tYW5kIG11c3QgaG9ub3IgdGhlIENURVNUX1VTRV9MQVVOQ0hFUlMgb3B0aW9uCgkgIGRpcmVjdGx5LgoKMjAwOS0wMi0xMyAxMTo0OSAga2luZwoKCSogU291cmNlL2NtQ1Rlc3QuaDogU1RZTEU6IEFkZCBUT0RPIGNvbW1lbnQgYWJvdXQgQ1Rlc3QKCSAgY29uZmlndXJhdGlvbgoKCSAgQ3VycmVudGx5IENUZXN0IGRvZXMgbm90IGxvYWQgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBjb21wdXRlZCBhdAoJICBDTWFrZSBDb25maWd1cmUgdGltZSB3aGVuIHJ1bm5pbmcgYSBkYXNoYm9hcmQgc2NyaXB0LiAgVGhpcyBhZGRzCgkgIGEgY29tbWVudCBkZXNjcmliaW5nIHJlZmFjdG9yaW5nIHRoYXQgbWlnaHQgaGVscCByZXNvbHZlIHRoZQoJICBwcm9ibGVtLgoKMjAwOS0wMi0xMyAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAyLTEyIDEzOjI1ICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBCVUc6IEZpeCBsb2dpYyBvZiBMYWJlbEZpbGVzLnR4dAoJICBnZW5lcmF0aW9uCgoJICBUaGlzIGZpeGVzIGEgZHVtYiBsb2dpYyBlcnJvciB3aGljaCBjYXVzZXMgZ2VuZXJhdGlvbiBvZgoJICBMYWJlbEZpbGVzLnR4dCB0byB0cnkgdG8gb3BlbiB0aGUgZmlsZSBvbmNlIGZvciBldmVyeSB0YXJnZXQgd2l0aAoJICBsYWJlbHMuCgoyMDA5LTAyLTEyIDEzOjAwICBraW5nCgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0QnVpbGRIYW5kbGVyLmN4eCwgY21DVGVzdExhdW5jaC5jeHgsCgkgIGNtQ1Rlc3RMYXVuY2guaDogRU5IOiBSZXBvcnQgZmlsZSBuYW1lcyByZWxhdGl2ZSB0byBzb3VyY2UgZGlyCgoJICBUaGlzIHRlYWNoZXMgY21DVGVzdExhdW5jaCB0byByZXBvcnQgc291cmNlIGZpbGVzIHRoYXQgbGllIHVuZGVyCgkgIHRoZSB0b3Agc291cmNlIGRpcmVjdG9yeSByZWxhdGl2ZSB0byB0aGUgdG9wLgoKMjAwOS0wMi0xMiAxMjo1MCAgbWFydGluawoKCSogU291cmNlL2NtSWZDb21tYW5kLmg6IEVOSDogZml4IGRvY3VtZW50YXRpb24gYW5kIGFkZCBkb2NzIG9uCgkgIHBhcmVudGhldGljYWwgZXhwcmVzc2lvbnMKCjIwMDktMDItMTIgMTA6MDggIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1JbmZvcm1hdGlvbi5jeHg6IEJVRzogIzg0OTYgYWRkIHN1cHBvcnQgZm9yCgkgIHN5c3RlbSBpbmZvIG9uIGhhaWt1CgoyMDA5LTAyLTEyIDEwOjAxICBraW5nCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHg6IEJVRzogRG8gbm90IGRyb3AgYnVpbGQKCSAgZnJhZ21lbnRzIHdpdGggc2FtZSB0aW1lCgoJICBXaGVuIHdlIGNvbGxlY3QgQnVpbGQueG1sIGZyYWdtZW50cyBnZW5lcmF0ZWQgYnkgJ2N0ZXN0CgkgIC0tbGF1bmNoJywgdGhpcyBsZXhpY29ncmFwaGljYWxseSBvcmRlcnMgZnJhZ21lbnRzIHdpdGggdGhlIHNhbWUKCSAgdGltZSBzdGFtcCBvbiBkaXNrIGluc3RlYWQgb2YgaW5jb3JyZWN0bHkgZHJvcHBpbmcgZHVwbGljYXRlcy4KCjIwMDktMDItMTIgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMi0xMSAxNToxOCAga2luZwoKCSogTW9kdWxlcy86IENUZXN0LmNtYWtlLCBEYXJ0Q29uZmlndXJhdGlvbi50Y2wuaW46IEVOSDogQ3JlYXRlCgkgIGluY2x1ZGUoQ1Rlc3QpIGxhdW5jaGVyIGludGVyZmFjZQoKCSAgVGhpcyBkZWZpbmVzIGEgbmV3IENUZXN0IGNvbmZpZ3VyYXRpb24gdmFyaWFibGUKCSAgQ1RFU1RfVVNFX0xBVU5DSEVSUy4JV2hlbiBzZXQgdG8gdHJ1ZSBpdCBwdXRzICdjdGVzdCAtLWxhdW5jaCcKCSAgaW4gUlVMRV9MQVVOQ0hfKiBwcm9wZXJ0aWVzIGFuZCBlbmFibGVzIHRoZSBDVGVzdCBjb25maWd1cmF0aW9uCgkgIG9wdGlvbiAnVXNlTGF1bmNoZXJzJy4gIEN1cnJlbnRseSB0aGlzIHdvcmtzIG9ubHkgZm9yIE1ha2VmaWxlCgkgIGdlbmVyYXRvcnMuCgoyMDA5LTAyLTExIDE1OjE4ICBraW5nCgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0QnVpbGRIYW5kbGVyLmN4eCwgY21DVGVzdEJ1aWxkSGFuZGxlci5oOgoJICBFTkg6IFRlYWNoIENUZXN0IGRhc2hib2FyZCBidWlsZHMgdG8gdXNlIGxhdW5jaGVycwoKCSAgVGhpcyBkZWZpbmVzIGEgJ1VzZUxhdW5jaGVycycgQ1Rlc3QgY29uZmlndXJhdGlvbiBvcHRpb24uICBXaGVuCgkgIGVuYWJsZWQsIENUZXN0IHNraXBzIGxvZyBzY3JhcGluZyBmcm9tIHRoZSBCdWlsZCBzdGVwIG91dHB1dC4KCSAgSW5zdGVhZCBpdCBkZWZpbmVzIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBDVEVTVF9MQVVOQ0hfTE9HUyB0bwoJICBhIGxvZyBkaXJlY3RvcnkgZHVyaW5nIHRoZSBidWlsZC4gIEFmdGVyIHRoZSBidWlsZCBpdCBsb29rcyBmb3IKCSAgZXJyb3ItKi54bWwgYW5kIHdhcm5pbmctKi54bWwgZmlsZXMgY29udGFpbmluZyBmcmFnbWVudHMgZm9yCgkgIGluY2x1c2lvbiBpbiBCdWlsZC54bWwgYW5kIHN1Ym1pc3Npb24uCgoJICBUaGlzIGlzIHVzZWZ1bCBpbiBjb25qdWN0aW9uIHdpdGggJ2N0ZXN0IC0tbGF1bmNoJyBhbmQgdGhlCgkgIFJVTEVfTEFVTkNIXyogcHJvcGVydGllcyB0byBnZXQgcmVsaWFibGUsIGhpZ2hseS1ncmFudWxhciBidWlsZAoJICBmYWlsdXJlIHJlcG9ydHMuCgoyMDA5LTAyLTExIDEzOjA1ICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS86IGZlcnJhcmlfc2dpNjRfcmVsZWFzZS5jbWFrZSwKCSAgcmVsZWFzZV9jbWFrZS5zaC5pbjogRU5IOiBhZGQgRkZMQUdTIGJhY2sgaW50byByZWxlYXNlIHNjcmlwdAoKMjAwOS0wMi0xMSAxMTo1NyAga2luZwoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RMYXVuY2guY3h4OiBDT01QOiBEbyBub3QgdXNlIG1vZGVybiBlbXB0eQoJICBpbml0IGxpc3Qgc3ludGF4CgoJICBjbUNUZXN0TGF1bmNoIGZpcnN0IHVzZWQgYW4gZW1wdHkgaW5pdGlhbGl6ZXIgbGlzdCB0bwoJICB6ZXJvLWluaXRpYWxpemUgYSBidWZmZXIsIGJ1dCB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQgb24gb2xkZXIKCSAgY29tcGlsZXJzLiAgSW5zdGVhZCB3ZSBhdm9pZCB0aGUgbmVlZCBmb3IgaW5pdGlhbGl6YXRpb24KCSAgYWx0b2dldGhlci4KCjIwMDktMDItMTEgMTE6MzEgIGtpbmcKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjdGVzdC5jeHgsIENUZXN0L2NtQ1Rlc3RMYXVuY2guY3h4LAoJICBDVGVzdC9jbUNUZXN0TGF1bmNoLmg6IEVOSDogQ3JlYXRlIGludGVybmFsICdjdGVzdCAtLWxhdW5jaCcgdG9vbAoKCSAgVGhpcyBjcmVhdGVzIGFuIHVuZG9jdW1lbnRlZCAnY3Rlc3QgLS1sYXVuY2gnIG1vZGUuICBJdCBsYXVuY2hlcwoJICBhIHNwZWNpZmllZCBjb21tYW5kIGFuZCBvcHRpb25hbGx5IHJlY29yZHMgYSBmYWlsdXJlIGluIGFuIHhtbAoJICBmcmFnbWVudC4gIFdlIHdpbGwgb3B0aW9uYWxseSB1c2UgdGhpcyBpbiBDVGVzdCdzIEJ1aWxkIHN0YWdlIHRvCgkgIHJlY29yZCBwZXItcnVsZSBidWlsZCBmYWlsdXJlIGluZm9ybWF0aW9uIHdoZW4gdXNpbmcgTWFrZWZpbGUKCSAgZ2VuZXJhdG9ycy4KCjIwMDktMDItMTEgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMi0xMCAxODoxMyAgY2xpbnRvbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOgoJICBFTkg6CUNoYW5nZSBGSUxFUEFUSCB0byBTVFJJTkcgZm9yIGEgbGlzdCBvZiBsaWJyYXJpZXMuCgoyMDA5LTAyLTEwIDE3OjI4ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwgTW9kdWxlcy9GaW5kQm9vc3QuY21ha2UsCgkgIE1vZHVsZXMvRmluZFF0NC5jbWFrZSwgU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmN4eCwKCSAgU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IG1lcmdlIGluIHNvbWUgbW9yZSBmaXhlcyBmb3IgUkMgMTMKCjIwMDktMDItMTAgMTc6MjUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNhY2hlTWFuYWdlci5jeHg6IEVOSDogZml4IGZpeCBmb3IgdW5jIHBhdGhzCgoyMDA5LTAyLTEwIDE2OjA4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogYWRkIGxhYmVsIGdsb2JhbCBwcm9wZXJ0eSB0byBjdGVzdAoJICBzY3JpcHRzCgoyMDA5LTAyLTEwIDE0OjI0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgQ1Rlc3QvY21DVGVzdFRlc3RDb21tYW5kLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdFRlc3RDb21tYW5kLmgsIENUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5oOiBFTkg6IGFkZCB0aGUgYWJpbGl0eSB0byBydW4gdGVzdHMgYnkKCSAgbGFiZWxzCgoyMDA5LTAyLTEwIDE0OjE5ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdE11bHRpUHJvY2Vzc0hhbmRsZXIuY3h4OiBCVUc6IHBhcnRpYWwgZml4IGZvcgoJICA4MDU2IC1XIG5vdyB3b3JrcyB3aXRoIC1qCgoyMDA5LTAyLTEwIDEyOjU2ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRGTFRLLmNtYWtlOiBFTkg6IGNoYW5nZSBpbmNsdWRlIGNvbW1hbmQKCjIwMDktMDItMTAgMDg6NTIgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBjbUxvY2FsR2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogRU5IOiBBZGQgcnVsZSBzdWJzdGl0dXRpb25zCgkgIHVzZWZ1bCBmb3IgbGF1bmNoZXJzCgoJICBUaGlzIGRlZmluZXMgbWFrZSBydWxlIHN1YnN0aXR1dGlvbnMgPExBTkdVQUdFPiwgPFRBUkdFVF9OQU1FPiwKCSAgPFRBUkdFVF9UWVBFPiwgYW5kIDxPVVRQVVQ+LglUaGV5IHdpbGwgYmUgdXNlZnVsIGZvcgoJICBSVUxFX0xBVU5DSF8qIHByb3BlcnR5IHZhbHVlcy4KCjIwMDktMDItMTAgMDg6NTEgIGtpbmcKCgkqIE1vZHVsZXMvQ1Rlc3RUYXJnZXRzLmNtYWtlLCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwgU291cmNlL2NtVGFyZ2V0LmN4eCwKCSAgU291cmNlL2NtYWtlLmN4eDogRU5IOiBEZWZpbmUgUlVMRV9MQVVOQ0hfKiBwcm9wZXJ0aWVzCgoJICBUaGlzIGRlZmluZXMgZ2xvYmFsLCBkaXJlY3RvcnksIGFuZCB0YXJnZXQgcHJvcGVydGllcwoJICBSVUxFX0xBVU5DSF9DT01QSUxFLCBSVUxFX0xBVU5DSF9MSU5LLCBhbmQgUlVMRV9MQVVOQ0hfQ1VTVE9NLgoJICBUaGVpciB2YWx1ZXMgc3BlY2lmeSAnbGF1bmNoZXInIGNvbW1hbmQgbGluZXMgd2hpY2ggYXJlIHByZWZpeGVkCgkgIHRvIGNvbXBpbGUsIGxpbmssIGFuZCBjdXN0b20gYnVpbGQgcnVsZXMgYnkgTWFrZWZpbGUgZ2VuZXJhdG9ycy4KCjIwMDktMDItMTAgMDg6NTAgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwKCSAgY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlVXRpbGl0eVRhcmdldEdlbmVyYXRvci5jeHg6IEVOSDogR2l2ZSB0YXJnZXQgaW4gd2hpY2gKCSAgY3VzdG9tIGNvbW1hbmRzIGJ1aWxkCgoJICBUaGlzIGdpdmVzIHRoZSBjbVRhcmdldCBpbnN0YW5jZSBmb3Igd2hpY2ggY3VzdG9tIGNvbW1hbmQgcnVsZXMKCSAgYXJlIGJlaW5nIGdlbmVyYXRlZCB0bwoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMzo6QXBwZW5kQ3VzdG9tQ29tbWFuZHMuCUl0IHdpbGwgYmUKCSAgdXNlZnVsIGluIHRoZSBmdXR1cmUuCgoyMDA5LTAyLTEwIDA4OjUwICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIGNtU291cmNlRmlsZS5jeHgsIGNtVGFyZ2V0LmN4eDogRU5IOiBEZWZpbmUgdGFyZ2V0IGFuZCBzb3VyY2UKCSAgcHJvcGVydHkgTEFCRUxTCgoJICBUaGlzIGNyZWF0ZXMgYSBuZXcgTEFCRUxTIHByb3BlcnR5IGZvciB0YXJnZXRzIGFuZCBzb3VyY2UgZmlsZXMuCgkgIFdlIHdyaXRlIHRoZSBsYWJlbHMgb2YgZWFjaCB0YXJnZXQgYW5kIGl0cyBzb3VyY2UgZmlsZXMgaW4KCSAgdGFyZ2V0LXNwZWNpZmljIGxvY2F0aW9ucyBpbiB0aGUgYnVpbGQgdHJlZSBmb3IgZnV0dXJlIHVzZS4KCjIwMDktMDItMTAgMDg6NTAgIGtpbmcKCgkqIFNvdXJjZS86IGNtVGFyZ2V0LmN4eCwgY21UYXJnZXQuaDogRU5IOiBEZWZpbmUgdGFyZ2V0LXNwZWNpZmljCgkgIHN1cHBvcnQgZGlyZWN0b3JpZXMKCgkgIFRoaXMgY3JlYXRlcyBtZXRob2QgY21UYXJnZXQ6OkdldFN1cHBvcnREaXJlY3RvcnkgdG8gY29tcHV0ZSBhCgkgIHRhcmdldC1zcGVjaWZpYyBzdXBwb3J0IGRpcmVjdG9yeSBpbiB0aGUgYnVpbGQgdHJlZS4JSXQgdXNlcyB0aGUKCSAgIkNNYWtlRmlsZXMvPG5hbWU+LmRpciIgY29udmVudGlvbiBhbHJlYWR5IHVzZWQgYnkgdGhlIE1ha2VmaWxlCgkgIGdlbmVyYXRvcnMuICBUaGUgbWV0aG9kIHdpbGwgYmUgdXNlZnVsIGZvciBhbnkgY29kZSB0aGF0IG5lZWRzIHRvCgkgIGdlbmVyYXRlIHBlci10YXJnZXQgaW5mb3JtYXRpb24gaW50byB0aGUgYnVpbGQgdHJlZSBmb3IgdXNlIGJ5CgkgIENNYWtlIHRvb2xzIHRoYXQgZG8gbm90IHJ1biBhdCBnZW5lcmF0ZSB0aW1lLgoKMjAwOS0wMi0xMCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAyLTA5IDIzOjA1ICBsb3dtYW4KCgkqIE1vZHVsZXMvRmluZEN4eFRlc3QuY21ha2U6IFNUWUxFOiBDbGFyaWZpZWQgZXhhbXBsZSB0byBpbGx1c3RyYXRlCgkgIG5lZWQgdG8gY2FsbCB0YXJnZXRfbGlua19saWJyYXJpZXMoKSBpbiByZXNwb25zZSB0byBJc3N1ZSAjODQ4NS4KCSAgQ2hhbmdlZCBDTWFrZSBjb21tYW5kcyB0byBsb3dlcmNhc2UuCUFkZGVkIGxpY2Vuc2luZyBpbmZvIHRvCgkgIGNvcHlyaWdodAoKMjAwOS0wMi0wOSAyMjozOSAgbG93bWFuCgoJKiBNb2R1bGVzL0ZpbmRCb29zdC5jbWFrZTogQlVHOiBSZXNvbHZlcyBJc3N1ZSAjODM5MywgUmVtb3ZlCgkgIHdvcmthcm91bmRzIGluIEZpbmRCb29zdCBvbmNlIFVOQy1QYXRoIGJ1ZyBpcyBmaXhlZAoKMjAwOS0wMi0wOSAyMjozNCAgbG93bWFuCgoJKiBNb2R1bGVzL0ZpbmRCb29zdC5jbWFrZTogU1RZTEU6IEltcHJvdmVkIGV4YW1wbGVzLCBzcGVsbGluZyAmCgkgIGdyYW1tYXIgaW4gZG9jdW1lbnRhdGlvbgoKMjAwOS0wMi0wOSAxNjo0NSAgYWxleAoKCSogU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oOiBDT01QOiByZW1vdmUgdW51c2VkCgkgIHZhcmlhYmxlIFRhcmdldFNvdXJjZUZpbGVDb3VudCwgaXQgc2VlbXMgaXQgaXMgdW51c2VkIHNpbmNlCgkgIHZlcnNpb24gMS44OCBvZiBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4IHBhdGNoIGJ5CgkgIERhbmllbCBET1QgVGVza2UgQVQgTm9raWEgRE9UIGNvbQoKCSAgQWxleAoKMjAwOS0wMi0wOSAxNjo0NSAga2luZwoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQlVHOiBXb3JrIGFyb3VuZCBicm9rZW4KCSAgR2V0TG9uZ1BhdGhOYW1lIGNhc2UKCgkgIE9uIFdpbmRvd3MgdGhlIEdldExvbmdQYXRoTmFtZSBBUEkgZnVuY3Rpb24gZG9lcyBub3Qgd29yayBvbiBzb21lCgkgIGZpbGVzeXN0ZW1zIGV2ZW4gaWYgdGhlIGZpbGUgZXhpc3RzLglJbiB0aGlzIGNhc2Ugd2Ugc2hvdWxkIGp1c3QKCSAgdXNlIHRoZSBvcmlnaW5hbCBsb25nIHBhdGggbmFtZSBhbmQgbm90IHRoZSBHZXRTaG9ydFBhdGhOYW1lCgkgIHJlc3VsdC4gIFNlZSBpc3N1ZSAjODQ4MC4KCjIwMDktMDItMDkgMTY6NDIgIGNsaW50b24KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZToKCSAgRU5IOglTdXBwb3J0IC5ocHAgd2l0aCBhdXRvbW9jLgoKMjAwOS0wMi0wOSAxNjozNiAgYWxleAoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oOiBTVFlMRTogZml4IHR3byB0eXBvcyBpbiB0aGUKCSAgY29tbWVudHMsIHBhdGNoIGZyb20gRGFuaWVsIERPVCBUZXNrZSBBVCBOb2tpYSBET1QgY29tLCBRdENyZWF0b3IKCSAgZGV2ZWxvcGVyCgoJICBBbGV4CgoyMDA5LTAyLTA5IDE2OjI1ICBjaHJpcwoKCSogTW9kdWxlcy9GaW5kRGV2SUwuY21ha2U6IEVOSDogTWFkZSB0aGUgZG9jdW1lbnRhdGlvbiBmb3IKCSAgRmluZERldklMLmNtYWtlIGNsZWFuZXIuIENoYW5nZWQgdGhlIFhYWF9MSUJSQVJZcyB0bwoJICBYWFhfTElCUkFSSUVTLgoKMjAwOS0wMi0wOSAwOToyMyAgaG9mZm1hbgoKCSogVGVzdHMvQ01ha2VUZXN0cy9HZXRGaWxlbmFtZUNvbXBvbmVudFJlYWxwYXRoVGVzdC5jbWFrZS5pbjogZmlsZQoJICBHZXRGaWxlbmFtZUNvbXBvbmVudFJlYWxwYXRoVGVzdC5jbWFrZS5pbiB3YXMgYWRkZWQgb24gYnJhbmNoCgkgIENNYWtlLTItNiBvbiAyMDA5LTAzLTIzIDE4OjA0OjEyICswMDAwCgoyMDA5LTAyLTA5IDA5OjIzICBraW5nCgoJKiBTb3VyY2UvY21HZXRGaWxlbmFtZUNvbXBvbmVudENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21HZXRGaWxlbmFtZUNvbXBvbmVudENvbW1hbmQuaCwKCSAgVGVzdHMvQ01ha2VUZXN0cy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ01ha2VUZXN0cy9HZXRGaWxlbmFtZUNvbXBvbmVudFJlYWxwYXRoVGVzdC5jbWFrZS5pbjogRU5IOgoJICBBZGQgZ2V0X2ZpbGVuYW1lX2NvbXBvbmVudCguLi4gUkVBTFBBVEgpCgoJICBUaGlzIHBhdGNoIGZyb20gUGhpbGlwIExvd21hbiBjcmVhdGVzIGEgUkVBTFBBVEggbW9kZSBpbiB0aGUKCSAgZ2V0X2ZpbGVuYW1lX2NvbXBvbmVudCBjb21tYW5kLiAgSXQgaXMgbGlrZSBBQlNPTFVURSwgYnV0IHdpbGwKCSAgYWxzbyByZXNvbHZlIHN5bWxpbmtzICh3aGljaCBBQlNPTFVURSBvbmNlIGRpZCBidXQgd2FzIGJyb2tlbgoJICBsb25nIGFnbykuICBTZWUgaXNzdWUgIzg0MjMuCgoyMDA5LTAyLTA5IDA5OjIzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBTeXN0ZW1Ub29scy5jeHgsIFN5c3RlbVRvb2xzLmh4eC5pbjogQlVHOiBGaXgKCSAgR2V0UmVhbFBhdGggd2hlbiByZWFscGF0aCBmYWlscwoKCSAgVGhpcyBwYXRjaCBmcm9tIFBoaWxpcCBMb3dtYW4gdGVhY2hlcyBTeXN0ZW1Ub29sczo6R2V0UmVhbFBhdGggdG8KCSAgZGVhbCB3aXRoIHBhdGhzIHRoYXQgZG8gbm90IGV4aXN0IGJ5IGRlYWxpbmcgd2l0aCB0aGUgY2FzZSB0aGF0CgkgIHJlYWxwYXRoIHJldHVybnMgTlVMTC4gIFNlZSBpc3N1ZSAjODQyMy4KCjIwMDktMDItMDkgMDg6MjUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNhY2hlTWFuYWdlci5jeHg6IEJVRzogZml4IGZvciAwMDA4Mzc4LCBsaXN0cyB3aXRoCgkgIEZJTEVQQVRIIGFuZCBVTkMgLy9zZXJ2ZXIvcGF0aCBmYWlsCgoyMDA5LTAyLTA5IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDItMDggMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMi0wNyAxMjoyMyAgY2xpbnRvbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOgoJICBCVUc6CVdoZW4gZGV0ZWN0aW5nIGlmIHFtYWtlIGV4ZWN1dGFibGUgaXMgY2hhbmdlZCwgZG9uJ3QgZXJyb3IKCSAgaWYgcGF0aAljb250YWlucyByZWdleCBjaGFycy4KCjIwMDktMDItMDcgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMi0wNiAxNjoxNiAgaG9mZm1hbgoKCSogQ2hhbmdlTG9nLm1hbnVhbDogRU5IOiBmaXggY29tbWVudAoKMjAwOS0wMi0wNiAxNjoxNSAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWwsIE1vZHVsZXMvRmluZFF0NC5jbWFrZSwKCSAgTW9kdWxlcy9Vc2VRdDQuY21ha2UsIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21ha2UuY3h4OgoJICBFTkg6IGZpeCBvc3ggYnVuZGxlIHJlLWNvbmZpZyBpc3N1ZSBvbiBicmFuY2ggUkMgMTIKCjIwMDktMDItMDYgMTE6NDkgIGtpbmcKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEJVRzogRml4IE9TIFggRlcgc3ltbGluayBieXByb2R1Y3QgZGVwZW5kZW5jaWVzCgoJICBXaGVuIHRlc3Rpbmcgd2hldGhlciB0byByZS1ydW4gQ01ha2UsIGEgYnlwcm9kdWN0IG1heSBiZSBhCgkgIHN5bWxpbmsuICBJZiBzbywgdGhlIGV4aXN0ZW5jZSBvZiB0aGUgbGluayBpcyBpbXBvcnRhbnQgcmF0aGVyCgkgIHRoYW4gdGhlIGxpbmsncyB0YXJnZXQuICBTZWUgaXNzdWUgIzg0NjUuCgoyMDA5LTAyLTA2IDExOjE4ICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LCBjbWFrZS5jeHg6IEJVRzogRml4CgkgIE9TIFggQXBwQnVuZGxlL0ZXIGJ5cHJvZHVjdHMgZGVwZW5kZW5jaWVzCgoJICBBcHAgQnVuZGxlIGFuZCBGcmFtZXdvcmsgZGlyZWN0b3JpZXMsIHN5bWxpbmtzLCBhbmQgSW5mby5wbGlzdAoJICBmaWxlcyB3ZSBjcmVhdGUgZHVyaW5nIGdlbmVyYXRpb24gYXJlIGJ5cHJvZHVjdHMsIG5vdCBvdXRwdXRzLgoJICBXZSBzaG91bGQgcmUtcnVuIENNYWtlIG9ubHkgd2hlbiB0aGV5IGFyZSBtaXNzaW5nLCBub3Qgd2hlbiB0aGV5CgkgIGFyZSBvbGQuICBTZWUgaXNzdWUgIzg0NjUuCgoyMDA5LTAyLTA2IDA5OjA4ICBraW5nCgoJKiBTb3VyY2UvOiBjbVhNTFNhZmUuY3h4LCBjbVhNTFNhZmUuaDogQ09NUDogQXZvaWQgcGFyYW1ldGVyL21lbWJlcgoJICBzaGFkb3cgaW4gY21YTUxTYWZlCgoJICBBIGNtWE1MU2FmZSBjb25zdHJ1Y3RvciBuYW1lZCBpdHMgcGFyYW1ldGVyICdzdHInIHdoaWNoIHNoYWRvd2VkCgkgIHRoZSBuYW1lIG9mIHRoZSAnc3RyJyBtZXRob2QuICBUaGlzIHJlbmFtZXMgdGhlIHBhcmFtZXRlciB0bwoJICBhdm9pZCB0aGUgY29uZmxpY3Qgd2FybmluZy4KCjIwMDktMDItMDYgMDk6MDMgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5jeHg6IEJVRzogRG8gbm90CgkgIHJlLWdlbmVyYXRlIGFmdGVyIGEgQXBwQnVuZGxlIGJ1aWxkCgoJICBBIHByZXZpb3VzIGNoYW5nZSBhY2NpZGVudGFsbHkgYWRkZWQgdGhlIE1hY09TIGNvbnRlbnQgZGlyZWN0b3J5CgkgIGFuZCBJbmZvLnBsaXN0IGZpbGVzIGNyZWF0ZWQgZm9yIE1BQ09TWF9CVU5ETEUgZXhlY3V0YWJsZXMgdG8gdGhlCgkgIGxpc3Qgb2YgQ01ha2UgaW5wdXQgZmlsZXMuICBUaGlzIGNhdXNlcyBDTWFrZSB0byByZS1nZW5lcmF0ZSB0aGUKCSAgcHJvamVjdCB0b28gb2Z0ZW4uICBUaGVzZSBpdGVtcyBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGxpc3Qgb2YKCSAgQ01ha2Ugb3V0cHV0IGZpbGVzLgoKMjAwOS0wMi0wNiAwODozMyAga2luZwoKCSogU291cmNlL2NtR2V0RmlsZW5hbWVDb21wb25lbnRDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtR2V0RmlsZW5hbWVDb21wb25lbnRDb21tYW5kLmgsCgkgIFRlc3RzL0NNYWtlVGVzdHMvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NNYWtlVGVzdHMvR2V0RmlsZW5hbWVDb21wb25lbnRTeW1saW5rc1Rlc3QuY21ha2UuaW46IEJVRzoKCSAgQWx0ZXJuYXRpdmUgZml4IHRvIGJ1ZyAjODQyMwoKCSAgVGhlIHBhdGNoIHVzZWQgdG8gZml4IHRoaXMgYnVnIHVzZWQgU3lzdGVtVG9vbHM6OkdldFJlYWxQYXRoCgkgIHdoaWNoIHdvcmtzIG9ubHkgZm9yIGV4aXN0aW5nIGZpbGVzLglJdCBicm9rZSB0aGUgY2FzZSBvZiB1c2luZwoJICB0aGUgY29tbWFuZCBnZXRfZmlsZW5hbWVfY29tcG9uZW50IGZvciBhIG5vbi1leGlzdGluZyBmaWxlLgoJICBBbHNvLCBpdCBjaGFuZ2VkIGxvbmctc3RhbmRpbmcgYmVoYXZpb3IgaW4gYSBwb3NzaWJseQoJICBpbmNvbXBhdGlibGUgd2F5IGV2ZW4gZm9yIGV4aXN0aW5nIGZpbGVzLiAgVGhpcyByZXZlcnRzIHRoZQoJICBvcmlnaW5hbCBmaXggYW5kIGluc3RlYWQgdXBkYXRlcyB0aGUgZG9jdW1lbnRhdGlvbiB0byBiZQoJICBjb25zaXN0ZW50IHdpdGggdGhlIGJlaGF2aW9yLgoKMjAwOS0wMi0wNiAwODoxNSAga2luZwoKCSogU291cmNlL2NtQ01ha2VQb2xpY3lDb21tYW5kLmg6IEVOSDogQ2xhcmlmeSBjbWFrZV9wb2xpY3koVkVSU0lPTikKCSAgZG9jdW1lbnRhdGlvbgoKCSAgVGhlIHByZXZpb3VzIGRvY3VtZW50YXRpb24gY291bGQgYmUgaW50ZXJwcmV0ZWQgYXMgc2V0dGluZwoJICBwb2xpY2llcyBuZXdlciB0aGFuIHRoZSBnaXZlbiB2ZXJzaW9uIHRvIE9MRCBpbnN0ZWFkIG9mIHVuc2V0LgoJICBUaGlzIGNsYXJpZmllcyBpdC4KCjIwMDktMDItMDYgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMi0wNSAyMzowMSAgY2xpbnRvbgoKCSogTW9kdWxlcy86IEZpbmRRdDQuY21ha2UsIFVzZVF0NC5jbWFrZToKCSAgRU5IOglBZGQgc3VwcG9ydCBmb3IgYnVpbGRpbmcgd2l0aCBRdCdzIEFjdGl2ZVggc3VwcG9ydCBvbgoJICBXaW5kb3dzLgoKMjAwOS0wMi0wNSAxNzowOSAga2luZwoKCSogU291cmNlL2NtWE1MU2FmZS5jeHg6IENPTVA6IEF2b2lkIHdhcm5pbmcgYWJvdXQgc2lnbmVkLWNoYXIKCSAgY29tcGFyaXNvbgoKCSAgT24gc29tZSBjb21waWxlcnMgJ2NoYXInIGlzIHNpZ25lZCBhbmQgaXMgdGhlcmVmb3JlIGFsd2F5cyBlcXVhbAoJICB0byBvciBsZXNzIHRoYW4gMHg3Zi4gIEluIG9yZGVyIHRvIGF2b2lkIHRoZSBjb21waWxlciB3YXJuaW5nIHdlCgkgIHBlcmZvcm0gdGhlIGNvbXBhcmlzb24gd2l0aCBhbiB1bnNpZ25lZCBjaGFyIHR5cGUuCgoyMDA5LTAyLTA1IDE2OjMxICBraW5nCgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaCwKCSAgY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaCwgY21YTUxTYWZlLmN4eCwgY21YTUxTYWZlLmgsCgkgIENQYWNrL2NtQ1BhY2tHZW5lcmF0b3IuY3h4LCBDVGVzdC9jbUNUZXN0QnVpbGRIYW5kbGVyLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdENvbmZpZ3VyZUhhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdE1lbUNoZWNrSGFuZGxlci5jeHgsIENUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eDogRU5IOiBDcmVhdGUgY21YTUxTYWZlIHRvIGhlbHAKCSAgZXNjYXBlcyBpbiBYTUwKCgkgIFRoaXMgY2xhc3MgcHJvdmlkZXMgZWFzeSBzeW50YXggdG8gZWZmaWNpZW50bHkgaW5zZXJ0IGJsb2NrcyBvZgoJICBkYXRhIGludG8gWE1MIGRvY3VtZW50cyB3aXRoIHByb3BlciBlc2NhcGVzLglJdCByZXBsYWNlcyB0aGUgb2xkCgkgIGNtQ1Rlc3Q6Ok1ha2VYTUxTYWZlIGFuZCBjbVN5c3RlbVRvb2xzOjpNYWtlWE1MU2FmZSBtZXRob2RzIHdoaWNoCgkgIGFsbG9jYXRlZCBleHRyYSBtZW1vcnkgaW5zdGVhZCBvZiBkaXJlY3RseSBzdHJlYW1pbmcgdGhlIGRhdGEuCgoyMDA5LTAyLTA1IDExOjA0ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogbWVyZ2UgaW4gY21ha2VsaXN0IGZpbGUgdGhhdCB1c2VzCgkgIGRyYWcgbiBkcm9wCgoyMDA5LTAyLTA1IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDItMDQgMjI6MDQgIGhvZmZtYW4KCgkqIFNvdXJjZS9DUGFjay86IGNtQ1BhY2tEcmFnTkRyb3BHZW5lcmF0b3IuY3h4LAoJICBjbUNQYWNrRHJhZ05Ecm9wR2VuZXJhdG9yLmg6IEVOSDogYWRkIG1pc3NpbmcgZmlsZXMKCjIwMDktMDItMDQgMTg6MjQgIGRhdmlkLmNvbGUKCgkqIE1vZHVsZXMvVW50YXJGaWxlLmNtYWtlOiBCVUc6IEFkZCBkZWJ1ZyBtZXNzYWdlIGNhbGxzIHRvIGZpZ3VyZQoJICBvdXQgRXh0ZXJuYWxQcm9qZWN0IHRlc3QgZmFpbHVyZSBvbiBBSVggZGFzaGJvYXJkLgoKMjAwOS0wMi0wNCAxNzowNCAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWwsIE1vZHVsZXMvRmluZERveHlnZW4uY21ha2UsCgkgIE1vZHVsZXMvRmluZEdEQUwuY21ha2UsIE1vZHVsZXMvRmluZEx1YTUwLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRMdWE1MS5jbWFrZSwgTW9kdWxlcy9GaW5kTVBFRzIuY21ha2UsCgkgIE1vZHVsZXMvRmluZE9wZW5TY2VuZUdyYXBoLmNtYWtlLCBNb2R1bGVzL0ZpbmRPcGVuVGhyZWFkcy5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kUHJvZHVjZXIuY21ha2UsIE1vZHVsZXMvRmluZFF0NC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kb3NnLmNtYWtlLCBNb2R1bGVzL0ZpbmRvc2dBbmltYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvRmluZG9zZ0RCLmNtYWtlLCBNb2R1bGVzL0ZpbmRvc2dGWC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kb3NnR0EuY21ha2UsIE1vZHVsZXMvRmluZG9zZ0ludHJvc3BlY3Rpb24uY21ha2UsCgkgIE1vZHVsZXMvRmluZG9zZ01hbmlwdWxhdG9yLmNtYWtlLCBNb2R1bGVzL0ZpbmRvc2dQYXJ0aWNsZS5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kb3NnUHJvZHVjZXIuY21ha2UsIE1vZHVsZXMvRmluZG9zZ1NoYWRvdy5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kb3NnU2ltLmNtYWtlLCBNb2R1bGVzL0ZpbmRvc2dUZXJyYWluLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRvc2dUZXh0LmNtYWtlLCBNb2R1bGVzL0ZpbmRvc2dVdGlsLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRvc2dWaWV3ZXIuY21ha2UsIE1vZHVsZXMvRmluZG9zZ1ZvbHVtZS5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kb3NnV2lkZ2V0LmNtYWtlLCBNb2R1bGVzL0ZpbmRvc2dfZnVuY3Rpb25zLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL0Rhcndpbi5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9IYWlrdS5jbWFrZSwKCSAgU291cmNlL2NtSW5zdGFsbEZpbGVzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUluc3RhbGxQcm9ncmFtc0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21MaW5rRGlyZWN0b3JpZXNDb21tYW5kLmgsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2t3c3lzL0R5bmFtaWNMb2FkZXIuY3h4LAoJICBTb3VyY2Uva3dzeXMvRHluYW1pY0xvYWRlci5oeHguaW46IEVOSDogbWVyZ2UgaW4gYSBmZXcgbW9yZQoJICBjaGFuZ2VzIGZvciBSQyAxMQoKMjAwOS0wMi0wNCAxNDozNCAga2luZwoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4OiBFTkg6IFJlLW9yZGVyIGdlbmVyYXRpb24gb2YKCSAgYnVpbGQgc3VtbWFyeSBhbmQgeG1sCgoJICBUaGlzIG1vdmVzIHRoZSBlcnJvci93YXJuaW5nIGNvdW50IHN1bW1hcnkgcHJpbnRlZCBieQoJICBjbUNUZXN0QnVpbGRIYW5kbGVyIHRvIGFmdGVyIEJ1aWxkLnhtbCBpcyBnZW5lcmF0ZWQuCUxhdGVyIHdlCgkgIHdpbGwgY29tcHV0ZSB0aGUgY291bnRzIGR1cmluZyBnZW5lcmF0aW9uIG9mIHRoZSB4bWwuCgoyMDA5LTAyLTA0IDE0OjM0ICBraW5nCgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0QnVpbGRIYW5kbGVyLmN4eCwgY21DVGVzdEJ1aWxkSGFuZGxlci5oOgoJICBFTkg6IFJlZmFjdG9yIEJ1aWxkLnhtbCBnZW5lcmF0aW9uCgoJICBUaGlzIGRpdmlkZXMgY21DVGVzdEJ1aWxkSGFuZGxlcjo6R2VuZXJhdGVEYXJ0QnVpbGRPdXRwdXQgaW50bwoJICB0aHJlZSBtZXRob2RzIHRvIGdlbmVyYXRlIHRoZSBoZWFkZXIsIGNvbnRlbnQsIGFuZCBmb290ZXIKCSAgY29tcG9uZW50cyBvZiBCdWlsZC54bWwgZmlsZXMuICBJdCB3aWxsIGFsbG93IHRoZSBjb250ZW50CgkgIGdlbmVyYXRpb24gdG8gYmUgcmVwbGFjZWQgbGF0ZXIuCgoyMDA5LTAyLTA0IDEyOjM4ICBkYXZpZC5jb2xlCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN1Ym1pdEhhbmRsZXIuY3h4OiBDT01QOiBJdGVyYXRvciB2ZXJzaW9uIG9mCgkgIHN0ZDo6c2V0IG5vdCBhdmFpbGFibGUgd2l0aCB2czYgaW1wbGVtZW50YXRpb24gb2YgU1RMLiBVc2UKCSAgZXhwbGljaXQgaXRlcmF0aW9uIHRvIGluc2VydCBpbmRpdmlkdWFsIGVsZW1lbnRzIG9uZSBhdCBhIHRpbWUuCgkgIFNpZ2guCgoyMDA5LTAyLTA0IDExOjQ0ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ1Rlc3RDb25maWcuY21ha2UsIENUZXN0Q3VzdG9tLmNtYWtlLmluLAoJICBDaGFuZ2VMb2cubWFudWFsLCBNb2R1bGVzL0NQYWNrLk9TWFgxMS5JbmZvLnBsaXN0LmluLAoJICBNb2R1bGVzL0NQYWNrLlJ1bnRpbWVTY3JpcHQuaW4sIE1vZHVsZXMvQ1BhY2suY21ha2UsCgkgIE1vZHVsZXMvRmluZEJvb3N0LmNtYWtlLCBNb2R1bGVzL0ZpbmRDeHhUZXN0LmNtYWtlLAoJICBNb2R1bGVzL0ZpbmREZXZJTC5jbWFrZSwgTW9kdWxlcy9GaW5kRG94eWdlbi5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kRkxUSy5jbWFrZSwgTW9kdWxlcy9GaW5kS0RFMy5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kS0RFNC5jbWFrZSwgTW9kdWxlcy9GaW5kT3Blbk1QLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRPcGVuVGhyZWFkcy5jbWFrZSwgTW9kdWxlcy9GaW5kUXQ0LmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRSVEkuY21ha2UsIE1vZHVsZXMvRmluZG9zZy5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kb3NnQW5pbWF0aW9uLmNtYWtlLCBNb2R1bGVzL0ZpbmRvc2dEQi5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kb3NnRlguY21ha2UsIE1vZHVsZXMvRmluZG9zZ0dBLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRvc2dJbnRyb3NwZWN0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRvc2dNYW5pcHVsYXRvci5jbWFrZSwgTW9kdWxlcy9GaW5kb3NnUGFydGljbGUuY21ha2UsCgkgIE1vZHVsZXMvRmluZG9zZ1Byb2R1Y2VyLmNtYWtlLCBNb2R1bGVzL0ZpbmRvc2dTaGFkb3cuY21ha2UsCgkgIE1vZHVsZXMvRmluZG9zZ1NpbS5jbWFrZSwgTW9kdWxlcy9GaW5kb3NnVGVycmFpbi5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kb3NnVGV4dC5jbWFrZSwgTW9kdWxlcy9GaW5kb3NnVXRpbC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kb3NnVmlld2VyLmNtYWtlLCBNb2R1bGVzL0ZpbmRvc2dWb2x1bWUuY21ha2UsCgkgIE1vZHVsZXMvRmluZG9zZ1dpZGdldC5jbWFrZSwgTW9kdWxlcy9GaW5kb3NnX2Z1bmN0aW9ucy5jbWFrZSwKCSAgTW9kdWxlcy9Vc2VRdDQuY21ha2UsIFNvdXJjZS9jbUJvb3RzdHJhcENvbW1hbmRzLmN4eCwKCSAgU291cmNlL2NtQ01ha2VQb2xpY3lDb21tYW5kLmN4eCwgU291cmNlL2NtQ01ha2VQb2xpY3lDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUNvcmVUcnlDb21waWxlLmN4eCwKCSAgU291cmNlL2NtRXhwb3J0QnVpbGRGaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmN4eCwgU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUZvckVhY2hDb21tYW5kLmN4eCwgU291cmNlL2NtRm9yRWFjaENvbW1hbmQuaCwKCSAgU291cmNlL2NtRnVuY3Rpb25CbG9ja2VyLmgsIFNvdXJjZS9jbUZ1bmN0aW9uQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUZ1bmN0aW9uQ29tbWFuZC5oLAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtSWZDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtSWZDb21tYW5kLmgsIFNvdXJjZS9jbUluY2x1ZGVDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtSW5jbHVkZUNvbW1hbmQuaCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFjcm9Db21tYW5kLmN4eCwgU291cmNlL2NtTWFjcm9Db21tYW5kLmgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuaCwKCSAgU291cmNlL2NtUG9saWNpZXMuY3h4LCBTb3VyY2UvY21Qb2xpY2llcy5oLCBTb3VyY2UvY21UYXJnZXQuY3h4LAoJICBTb3VyY2UvY21VbnNldENvbW1hbmQuY3h4LCBTb3VyY2UvY21VbnNldENvbW1hbmQuaCwKCSAgU291cmNlL2NtV2hpbGVDb21tYW5kLmN4eCwgU291cmNlL2NtV2hpbGVDb21tYW5kLmgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrQnVuZGxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tCdW5kbGVHZW5lcmF0b3IuaCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tHZW5lcmF0b3JGYWN0b3J5LmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tMb2cuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja05TSVNHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja09TWFgxMUdlbmVyYXRvci5jeHgsIFNvdXJjZS9DUGFjay9jcGFjay5jeHgsCgkgIFRlc3RzL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9Qb2xpY3lTY29wZS9CYXIuY21ha2UsCgkgIFRlc3RzL1BvbGljeVNjb3BlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Qb2xpY3lTY29wZS9GaW5kRm9vLmNtYWtlLCBUZXN0cy9Qb2xpY3lTY29wZS9tYWluLmMsCgkgIFRlc3RzL1Vuc2V0L0NNYWtlTGlzdHMudHh0LCBUZXN0cy9VbnNldC91bnNldC5jOiBFTkg6IG1lcmdlIGluCgkgIGNoYW5nZXMgdG8gMi42IFJDIDEwCgoyMDA5LTAyLTA0IDEwOjM0ICBraW5nCgoJKiBTb3VyY2UvOiBjbUluc3RhbGxGaWxlc0NvbW1hbmQuY3h4LCBjbUluc3RhbGxQcm9ncmFtc0NvbW1hbmQuY3h4LAoJICBjbUxvY2FsR2VuZXJhdG9yLmN4eDogQlVHOiBGaXggb2xkLXN0eWxlIGluc3RhbGwgdG8gcHJlZml4IHRvcAoKCSAgVGhlIG9sZCBpbnN0YWxsX2ZpbGVzLCBpbnN0YWxsX3Byb2dyYW1zLCBhbmQgaW5zdGFsbF90YXJnZXRzCgkgIGNvbW1hbmRzIHVzZWQgdG8gcGVybWl0IGluc3RhbGxhdGlvbiB0byB0aGUgdG9wIG9mIHRoZSBwcmVmaXggYnkKCSAgc3BlY2lmeWluZyBkZXN0aW5hdGlvbiAnLycuICBUaGlzIHdhcyBicm9rZW4gaW4gMi42LjAgdG8gMi42LjIgYnkKCSAgY2hhbmdlcyB0byBlbmZvcmNlIHZhbGlkIGRlc3RpbmF0aW9ucyB0aGF0IGRpZCBub3QgYWNjb3VudCBmb3IKCSAgdGhpcyBjYXNlLiAgVGhpcyBjaGFuZ2UgZml4ZXMgdGhlIGNhc2UgYnkgY29udmVydGluZyB0aGUgaW5zdGFsbAoJICBkZXN0aW5hdGlvbiB0byAnLicgd2hpY2ggaXMgdGhlIG5ldy1zdHlsZSB3YXkgdG8gc3BlY2lmeSB0aGUgdG9wCgkgIG9mIHRoZSBpbnN0YWxsYXRpb24gcHJlZml4LgoKMjAwOS0wMi0wNCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAyLTAzIDExOjUyICBkYXZpZC5jb2xlCgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0U3VibWl0Q29tbWFuZC5jeHgsIGNtQ1Rlc3RTdWJtaXRDb21tYW5kLmgsCgkgIGNtQ1Rlc3RTdWJtaXRIYW5kbGVyLmN4eCwgY21DVGVzdFN1Ym1pdEhhbmRsZXIuaDogRU5IOiBBZGQgRklMRVMKCSAgYXJnIHRvIHRoZSBjdGVzdF9zdWJtaXQgY29tbWFuZC4gQlVHOiBQcm9wYWdhdGUgdGhlIElzQ0Rhc2gKCSAgc2V0dGluZyBwcm9wZXJseSB0byB0aGUgY3Rlc3QgY29uZmlndXJhdGlvbiBkdXJpbmcgYSBzdWJtaXQuCgkgIEFsc28sIGRvIG5vdCBwcm9wYWdhdGUgVHJpZ2dlclNpdGUgZm9yIHByb2plY3RzIHN1Ym1pdHRpbmcgdG8KCSAgQ0Rhc2guIE5vIHRyaWdnZXJzIGFyZSBuZWNlc3Nhcnkgd2l0aCBDRGFzaC4KCjIwMDktMDItMDMgMTE6MjcgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy86IER5bmFtaWNMb2FkZXIuY3h4LCBEeW5hbWljTG9hZGVyLmh4eC5pbjogRU5IOiBmaXgKCSAgZHluYW1pYyBsb2FkaW5nIG9uIGhhaWt1CgoyMDA5LTAyLTAzIDA4OjM4ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRLREUzLmNtYWtlOiBCVUc6IGZpeCBwb3RlbnRpYWwgaXNzdWUgd2l0aCBlbXB0eQoJICBzdHJpbmdzCgoyMDA5LTAyLTAzIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDItMDIgMTY6MzAgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZE1QRUcyLmNtYWtlOiBCVUc6IGluY2x1ZGUgc2hvdWxkIG5vdCBoYXZlIC5jbWFrZQoKMjAwOS0wMi0wMiAxNDozNiAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4OiBCVUc6IEZpeCBwcmVwcm9jZXNzIGFuZAoJICBhc3NlbWJseSBydWxlIGV4cGFuc2lvbgoKCSAgVGhlIHJlY2VudCBjaGFuZ2UgdG8gYXZvaWQgZXhwYW5kaW5nIHJ1bGUgdmFyaWFibGVzIGluCgkgIGluZm9ybWF0aW9uYWwgYW5kICdjZCcgY29tbWFuZHMgYnJva2UgdGhlIGxvZ2ljYWwgb3JkZXIgaW4KCSAgZ2VuZXJhdGlvbiBvZiBwcmVwcm9jZXNzIGFuZCBhc3NlbWJseSBydWxlcy4JVGhpcyBjb3JyZWN0cyB0aGUKCSAgb3JkZXIuCgoyMDA5LTAyLTAyIDE0OjM2ICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBDT01QOiBGaXggcnVsZSBoYXNoIGNvZGUgZHVyaW5nCgkgIGJvb3RzdHJhcAoKCSAgRHVyaW5nIGJvb3RzdHJhcCB3ZSBkbyBub3QgYm90aGVyIHdpdGggcnVsZSBoYXNoaW5nLglUaGlzCgkgIHVwZGF0ZXMgdGhlIGR1bW15IGltcGxlbWVudGF0aW9uIHRvIGFjY291bnQgZm9yIHRoZSByZWNlbnQgY2hhbmdlCgkgIGluIHJ1bGUgaGFzaCBtZXRob2Qgc2lnbmF0dXJlcy4KCjIwMDktMDItMDIgMTM6MjggIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eDogQlVHOiBEbyBub3QgZXhwYW5kIHJ1bGUKCSAgdmFyaWFibGVzIGluIGluZm8gcnVsZXMKCgkgIFByZXZpb3VzbHkgdGhlIG1ha2VmaWxlIGdlbmVyYXRvciB3b3VsZCBleHBhbmQgcnVsZSB2YXJpYWJsZXMKCSAgZXZlbiBvbiBpdHMgcHJvZ3Jlc3MgYW5kIGVjaG8gY29tbWFuZHMgZm9yIG9iamVjdCBjb21waWxhdGlvbgoJICBydWxlcyAoYnV0IG5vdCBmb3IgbGluayBydWxlcykuICBUaGlzIGZpeGVzIHRoZSBpbXBsZW1lbnRhdGlvbiB0bwoJICBvbmx5IGV4cGFuZCBydWxlIHZhcmlhYmxlcyBvbiB1c2VyLXNwZWNpZmllZCBydWxlcy4KCjIwMDktMDItMDIgMTM6MjggIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLCBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eDoKCSAgRU5IOiBSZWZhY3RvciBjdXN0b20gY29tbWFuZCBydWxlIGhhc2hpbmcKCgkgIFRoaXMgc2ltcGxpZmllcyBjb21wdXRhdGlvbiBvZiBjdXN0b20gY29tbWFuZCBydWxlIGhhc2hlcyB0byBoYXNoCgkgIGNvbnRlbnQgZXhhY3RseSBjaG9zZW4gYXMgdGhlIGN1c3RvbSBjb21tYW5kcyBhcmUgZ2VuZXJhdGVkLgoJICBVbmZvcnR1bmF0ZWx5IHRoaXMgd2lsbCBjaGFuZ2UgdGhlIGhhc2hlcyBvZiBleGlzdGluZyBidWlsZCB0cmVlcwoJICBmcm9tIGVhcmxpZXIgQ01ha2UgdmVyc2lvbnMsIGJ1dCB0aGlzIGlzIG5vdCBhIGJpZyBkZWFsLiAgVGhlCgkgIGNoYW5nZSBpcyBuZWNlc3Nhcnkgc28gdGhhdCBpbiB0aGUgZnV0dXJlIHdlIGNhbiBtYWtlIG9wdGlvbmFsCgkgIGFkanVzdG1lbnRzIHRvIGN1c3RvbSBjb21tYW5kIGxpbmVzIGF0IGdlbmVyYXRlIHRpbWUgd2l0aG91dAoJICBjaGFuZ2luZyB0aGUgaGFzaGVzIGV2ZXJ5IHRpbWUgdGhlIG9wdGlvbiBpcyBjaGFuZ2VkLgoKMjAwOS0wMi0wMiAxMzoyNyAga2luZwoKCSogU291cmNlLzogY21NYWtlZmlsZS5jeHgsIGNtYWtlLmN4eDogRU5IOiBNb3JlIHJvYnVzdCBwcm9wZXJ0eQoJICBsb29rdXAKCgkgIFRoaXMgdGVhY2hlcyBjbU1ha2VmaWxlOjpHZXRQcm9wZXJ0eSBhbmQgY21ha2U6OkdldFByb3BlcnR5CgkgIG1ldGhvZHMgdG8gcmV0dXJuIE5VTEwgd2hlbiB0aGUgcHJvcGVydHkgbmFtZSBpcyBOVUxMLCBtYWtpbmcKCSAgdGhlbSBtb3JlIHJvYnVzdCBhbmQgY29uc2lzdGVudCB3aXRoIHRoZSBiZWhhdmlvciBvZgoJICBjbVRhcmdldDo6R2V0UHJvcGVydHkuCgoyMDA5LTAyLTAyIDEzOjI0ICBraW5nCgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0TWVtQ2hlY2tIYW5kbGVyLmN4eCwKCSAgY21DVGVzdFRlc3RIYW5kbGVyLmN4eCwgY21DVGVzdFRlc3RIYW5kbGVyLmg6IEVOSDogUHV0IHRlc3QKCSAgbGFiZWxzIGluIE1lbUNoZWNrIHJlc3VsdHMKCgkgIFRoaXMgcmVmYWN0b3JzIGdlbmVyYXRpb24gb2YgPFRlc3Q+IGVsZW1lbnQgaGVhZGVycyBhbmQgZm9vdGVycwoJICBpbiBjbUNUZXN0VGVzdEhhbmRsZXIgYW5kIHJlLXVzZXMgaXQgaW4gY21DVGVzdE1lbUNoZWNrSGFuZGxlci4KCSAgVGhlIGNoYW5nZSByZW1vdmVzIGR1cGxpY2F0ZSBjb2RlIGFuZCBlbmFibGVzIHRoZSBuZXcgPExhYmVscz4KCSAgZWxlbWVudCBmb3IgTWVtQ2hlY2sgcmVzdWx0cy4KCjIwMDktMDItMDIgMDk6NDIgIGtpbmcKCgkqIFNvdXJjZS9jbVRhcmdldExpbmtMaWJyYXJpZXNDb21tYW5kLmg6IEVOSDogQ2xhcmlmeQoJICB0YXJnZXRfbGlua19saWJyYXJpZXMgZG9jcwoKCSAgVGhlIHRhcmdldF9saW5rX2xpYnJhcmllcyBjb21tYW5kIHN1cHBvcnRzIGZsYWdzIGFzIHdlbGwgYXMKCSAgbGlicmFyaWVzLiAgVGhpcyBtYWtlcyB0aGUgc3VwcG9ydCBleHBsaWNpdCBpbiB0aGUgZG9jdW1lbnRhdGlvbi4KCjIwMDktMDItMDIgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMi0wMSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAxLTMxIDEzOjU3ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRPcGVuU2NlbmVHcmFwaC5jbWFrZTogZmlsZSBGaW5kT3BlblNjZW5lR3JhcGguY21ha2UKCSAgd2FzIGFkZGVkIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24gMjAwOS0wMi0wNCAyMjowNDo0OCArMDAwMAoKMjAwOS0wMS0zMSAxMzo1NyAgbG93bWFuCgoJKiBNb2R1bGVzL0ZpbmRPcGVuU2NlbmVHcmFwaC5jbWFrZTogQlVHOiBGaXhlcyBjb25maWd1cmUgZXJyb3IgaWYKCSAgeW91IGRvbid0IHNwZWNpZnkgYSB2ZXJzaW9uIHdpdGggZmluZF9wYWNrYWdlKCkKCjIwMDktMDEtMzEgMDE6NTAgIGxvd21hbgoKCSogTW9kdWxlcy9GaW5kR0RBTC5jbWFrZTogQlVHOiBGaXggbGlicmFyeSBkZXRlY3Rpb24gZm9yIEdEQUwgb24KCSAgbW9zdCBMaW51eCBkaXN0cmlidXRpb25zIChJc3N1ZSAjNzQ0NSkKCjIwMDktMDEtMzEgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMS0zMCAyMDowOSAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kb3NnX2Z1bmN0aW9ucy5jbWFrZTogZmlsZSBGaW5kb3NnX2Z1bmN0aW9ucy5jbWFrZSB3YXMKCSAgYWRkZWQgb24gYnJhbmNoIENNYWtlLTItNiBvbiAyMDA5LTAyLTA0IDE2OjQ0OjE2ICswMDAwCgoyMDA5LTAxLTMwIDIwOjA5ICBsb3dtYW4KCgkqIE1vZHVsZXMvOiBGaW5kT3BlblNjZW5lR3JhcGguY21ha2UsIEZpbmRvc2cuY21ha2UsCgkgIEZpbmRvc2dfZnVuY3Rpb25zLmNtYWtlOiBFTkg6IEFkZGVkIEZpbmRPcGVuU2NlbmVHcmFwaC5jbWFrZQoJICB3aGljaCBpcyBpbnRlbmRlZCB0byB3cmFwIGFueSBvZiB0aGUgZXhpc3RpbmcgRmluZG9zZyogbW9kdWxlcwoJICAob3IgZXZlbiB1c2VyIHNwZWNpZmllZCBtb2R1bGVzIGluIENNQUtFX01PRFVMRV9QQVRIKSBhbmQKCSAgYWdncmVnYXRlIHRoZSBpbmNsdWRlIGRpcnMgJiBsaWJyYXJpZXMgd2hpbGUgcHJvdmlkaW5nIGEKCSAgQ09NUE9ORU5UIGZyb250ZW5kIGFuZCB2ZXJzaW9uIGNoZWNraW5nIChGaXhlcyBJc3N1ZSAjNjk3MykuCgkgIEFsc28gYWRkZWQgYSBub3RlIHRvIEZpbmRvc2cuY21ha2UgdG8gcmVmZXIgbmV3IHVzZXJzIHRvIHRoZQoJICBtb2R1bGUuCgoyMDA5LTAxLTMwIDE2OjU1ICBsb3dtYW4KCgkqIE1vZHVsZXMvOiBGaW5kT3BlblRocmVhZHMuY21ha2UsIEZpbmRvc2dfZnVuY3Rpb25zLmNtYWtlOiBFTkg6CgkgIEFkZGVkIE9TR19ST09UIGFzIHN1cHBvcnRlZCBlbnYgdmFyIChpdCdzIGluIHRoZSB3aWxkIGFscmVhZHkpLgoJICBDbGVhbmVkIHVwIEZpbmRPcGVuVGhyZWFkcyB0byBzdXBwb3J0IFBBVEhfU1VGRklYRVMuCVJlbW92ZWQKCSAgc3VwZXJmbHVvdXMgV0lOMzIgcmVnaXN0cnkgY2hlY2tzIHdoaWNoIHNob3VsZCBoYXZlIGJlZW4gJEVOVnt9CgkgIGNoZWNrcy4KCjIwMDktMDEtMzAgMTU6MTMgIGxvd21hbgoKCSogTW9kdWxlcy86IEZpbmREb3h5Z2VuLmNtYWtlLCBGaW5kT3BlblRocmVhZHMuY21ha2UsCgkgIEZpbmRQcm9kdWNlci5jbWFrZTogQlVHOiBGaXggb3RoZXIgbW9kdWxlcyBub3QgcmVzcGVjdGluZyBRVUlFVAoJICBhbmQgUkVRVUlSRUQKCjIwMDktMDEtMzAgMTQ6MzMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZG9zZ1ZvbHVtZS5jbWFrZTogZmlsZSBGaW5kb3NnVm9sdW1lLmNtYWtlIHdhcyBhZGRlZAoJICBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDktMDItMDQgMTY6NDQ6MTYgKzAwMDAKCjIwMDktMDEtMzAgMTQ6MzMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZG9zZ1dpZGdldC5jbWFrZTogZmlsZSBGaW5kb3NnV2lkZ2V0LmNtYWtlIHdhcyBhZGRlZAoJICBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDktMDItMDQgMTY6NDQ6MTYgKzAwMDAKCjIwMDktMDEtMzAgMTQ6MzMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZG9zZ0FuaW1hdGlvbi5jbWFrZTogZmlsZSBGaW5kb3NnQW5pbWF0aW9uLmNtYWtlIHdhcwoJICBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDktMDItMDQgMTY6NDQ6MTMgKzAwMDAKCjIwMDktMDEtMzAgMTQ6MzMgIGxvd21hbgoKCSogTW9kdWxlcy86IEZpbmRvc2cuY21ha2UsIEZpbmRvc2dBbmltYXRpb24uY21ha2UsIEZpbmRvc2dEQi5jbWFrZSwKCSAgRmluZG9zZ0ZYLmNtYWtlLCBGaW5kb3NnR0EuY21ha2UsIEZpbmRvc2dJbnRyb3NwZWN0aW9uLmNtYWtlLAoJICBGaW5kb3NnTWFuaXB1bGF0b3IuY21ha2UsIEZpbmRvc2dQYXJ0aWNsZS5jbWFrZSwKCSAgRmluZG9zZ1Byb2R1Y2VyLmNtYWtlLCBGaW5kb3NnU2hhZG93LmNtYWtlLCBGaW5kb3NnU2ltLmNtYWtlLAoJICBGaW5kb3NnVGVycmFpbi5jbWFrZSwgRmluZG9zZ1RleHQuY21ha2UsIEZpbmRvc2dVdGlsLmNtYWtlLAoJICBGaW5kb3NnVmlld2VyLmNtYWtlLCBGaW5kb3NnVm9sdW1lLmNtYWtlLCBGaW5kb3NnV2lkZ2V0LmNtYWtlOgoJICBCVUc6IFRoZSBRVUlFVCBhbmQgUkVRVUlSRUQgZmluZCBhdHRyaWJ1dGVzIG9uIGVhY2ggRmluZG9zZyoKCSAgbW9kdWxlIHdlcmUgbm90IGJlaW5nIHJlc3BlY3RlZC4KCjIwMDktMDEtMzAgMTQ6MjkgIGxvd21hbgoKCSogTW9kdWxlcy9GaW5kb3NnX2Z1bmN0aW9ucy5jbWFrZTogRU5IOiBBZGRlZCBhIG1hcmtfYXNfYWR2YW5jZWQoKQoJICB3cmFwcGVyIGZ1bmN0aW9uLgoKMjAwOS0wMS0zMCAwMzowMiAgbG93bWFuCgoJKiBNb2R1bGVzLzogRmluZEx1YTUwLmNtYWtlLCBGaW5kTHVhNTEuY21ha2U6IEJVRzogRml4ZXMgZGV0ZWN0aW9uCgkgIG9mIGx1YSBsaWJyYXJpZXMgaW5zdGFsbGVkIGZyb20gRnJlZUJTRCBwb3J0cyAoSXNzdWUgIzg0MjEpCgoyMDA5LTAxLTMwIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDEtMjkgMTU6MjMgIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS9jbUNvcmVUcnlDb21waWxlLmN4eDogRU5IOiBFbWl0IGEgbGl0dGxlIG1vcmUgaW5mb3JtYXRpb24KCSAgaW4gdGhlIGVycm9yIG1lc3NhZ2Ugd2hlbiB0aGUgb3V0cHV0IGZpbGUgaXMgbm90IGZvdW5kIGR1cmluZyBhCgkgIGNvcmUgdHJ5IGNvbXBpbGUuCgoyMDA5LTAxLTI5IDE0OjU3ICBkYXZpZC5jb2xlCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0Rhcndpbi5jbWFrZTogQlVHOiBSZW1vdmUgdW5uZWNlc3NhcnkgZG91YmxlCgkgIHF1b3RlcyBmcm9tIFNFVCBzdGF0ZW1lbnRzLiBIb3BlZnVsbHkgcmVzb2x2ZXMgdGhlIHN0cmFuZ2UgYW5kCgkgIGRpZmZpY3VsdCB0byBkaWFnbm9zZSAob3IgcmVwcm9kdWNlKSB0ZXN0IGZhaWx1cmVzIG9uIHRoZQoJICBkYXNobWFjbWluaTIgQ29udGludW91cyBkYXNoYm9hcmQuCgoyMDA5LTAxLTI5IDE0OjMxICBob2ZmbWFuCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBCVUc6IGZpeCBmb3IgIzg0MTggLUUgY2hkaXIgc2hvdWxkIHJldHVybiBmYWlsCgkgIG9mIGRpciBkb2VzIG5vdCBleGlzdAoKMjAwOS0wMS0yOSAxNDoxNCAga2luZwoKCSogU291cmNlL2NtTGlua0RpcmVjdG9yaWVzQ29tbWFuZC5oOiBFTkg6IERvY3MgZm9yIHJlbGF0aXZlIHBhdGhzCgkgIGluIGxpbmtfZGlyZWN0b3JpZXMKCgkgIFRoZSBsaW5rX2RpcmVjdG9yaWVzIGNvbW1hbmQgdHJlYXRzIHJlbGF0aXZlIHBhdGhzIGRpZmZlcmVudGx5CgkgIGZyb20gbW9zdCBDTWFrZSBjb21tYW5kcy4gIFRoaXMgbm90ZXMgdGhlIGRpZmZlcmVuY2UgaW4gdGhlCgkgIGRvY3VtZW50YXRpb24uICBTZWUgaXNzdWUgIzgzNzcuCgoyMDA5LTAxLTI5IDEzOjQxICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0Rhcndpbi5jbWFrZTogQlVHOiBGaXggT1MgWCBkeWxpYiB2ZXJzaW9uIGZsYWdzCgkgIGZvciBtb3JlIGxpbmtlcnMKCgkgIFNvbWUgT1MgWCBsaW5rZXJzIHdhbnQgYSAnZHlsaWJfJyBwcmVmaXggb24gdGhlCgkgIC1jb21wYXRpYmxpdHlfdmVyc2lvbiBhbmQgLWN1cnJlbnRfdmVyc2lvbiBmbGFncyB3aGlsZSBvdGhlcnMgZG8KCSAgbm90LglUaGlzIHBhc3NlcyB0aGUgZmxhZ3MgdGhyb3VnaCBnY2MgaW5zdGVhZCBzaW5jZSBpdCBuZXZlcgoJICB3YW50cyB0aGUgcHJlZml4IGFuZCB0cmFuc2xhdGVzIHRoZSBmbGFncyBmb3IgdGhlIGxpbmtlcgoJICBjb3JyZWN0bHkuCgoyMDA5LTAxLTI5IDEzOjI2ICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6CgkgIEVOSDoJQWxzbyBmaW5kIC5tb2MgZmlsZXMgaWYgdGhlcmUgYXJlIHNwYWNlcyBiZXR3ZWVuICMgYW5kCgkgIGluY2x1ZGUuCSAgRml4ZXMgIzg0MzMuCgoyMDA5LTAxLTI5IDExOjU3ICBob2ZmbWFuCgoJKiBUZXN0cy9DTWFrZVRlc3RzL0dldEZpbGVuYW1lQ29tcG9uZW50U3ltbGlua3NUZXN0LmNtYWtlLmluOiBFTkg6CgkgIGFkZCBtaXNzaW5nIGZpbGUKCjIwMDktMDEtMjkgMTE6NDIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vSGFpa3UuY21ha2U6IEJVRzogZml4IGZvciAjIDg0MTMgYWRkIG1vcmUgaGFpa3UKCSAgc2VhcmNoaW5nCgoyMDA5LTAxLTI5IDExOjM5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HZXRGaWxlbmFtZUNvbXBvbmVudENvbW1hbmQuY3h4LAoJICBUZXN0cy9DTWFrZVRlc3RzL0NNYWtlTGlzdHMudHh0OiBCVUc6IGZpeCBmb3IgIzg0MjMKCjIwMDktMDEtMjkgMDk6MjYgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eDogU1RZTEU6IGZpeCB3YXJuaW5nCgoyMDA5LTAxLTI5IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDEtMjggMjI6NTYgIGxvd21hbgoKCSogTW9kdWxlcy9GaW5kRG94eWdlbi5jbWFrZTogU1RZTEU6IFJld29yZGVkIHNvbWUgb2YgdGhlIE9TLVggY29kZQoJICBjb21tZW50cwoKMjAwOS0wMS0yOCAxNjo1NiAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4OiBTVFlMRTogZml4IHdhcm5pbmcKCjIwMDktMDEtMjggMTU6MDQgIGNsaW50b24KCgkqIE1vZHVsZXMvVXNlUXQ0LmNtYWtlOgoJICBFTkg6CUJldHRlciB3YXkgdG8gYWRkIGZyYW1ld29yayBpbmNsdWRlcy4KCjIwMDktMDEtMjggMTI6NTUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZE9wZW5NUC5jbWFrZTogRU5IOiBjbGVhbiB1cCBzdGF0dXMgYW5kIGNoYW5nZSBvcmRlcgoJICBmb3IgbW9yZSBjb21tb24gY29tcGlsZXJzIGZpcnN0CgoyMDA5LTAxLTI4IDEyOjU1ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRPcGVuTVAuY21ha2U6IGZpbGUgRmluZE9wZW5NUC5jbWFrZSB3YXMgYWRkZWQgb24KCSAgYnJhbmNoIENNYWtlLTItNiBvbiAyMDA5LTAyLTA0IDE2OjQ0OjAyICswMDAwCgoyMDA5LTAxLTI4IDEyOjQ1ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRPcGVuTVAuY21ha2U6IEVOSDogYWRkIG9wZW5tcCBzdXBwb3J0CgoyMDA5LTAxLTI4IDA2OjEwICBkYXZpZC5jb2xlCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0Rhcndpbi5jbWFrZTogQlVHOiBGaXggY2FyZWxlc3MgdHlwbyB0aGF0IG9ubHkKCSAgY2F1c2VkIHRlc3QgZmFpbHVyZXMgb24gY2xlYW4gYnVpbGRzLi4uCgoyMDA5LTAxLTI4IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDEtMjcgMTU6NTEgIGRhdmlkLmNvbGUKCgkqIE1vZHVsZXMvUGxhdGZvcm0vRGFyd2luLmNtYWtlOiBCVUc6IFRyeSB0byBmaXggdGhlIHVuaXZlcnNhbAoJICBiaW5hcnkgY29udGludW91cyBkYXNoYm9hcmQgb24gZGFzaG1hY21pbmkyLiBJIGFtIGRlZHVjaW5nIHRoYXQKCSAgdGhlIHZhbHVlIG9mIENNQUtFX09TWF9BUkNISVRFQ1RVUkVTX0RFRkFVTFQgaXMgcmVzcG9uc2libGUgZm9yCgkgIHRoZSBmYWlsdXJlLCBhbHRob3VnaCBJIGNhbm5vdCByZXByb2R1Y2UgaXQgb24gb3RoZXIgYnVpbGRzIG9yCgkgIGV2ZW4gYnkgcnVubmluZyB0aGUgdGVzdCB2aWEgY3Rlc3QgaW50ZXJhY3RpdmVseSAqb24qIHRoZQoJICBjb250aW51b3VzIGRhc2hib2FyZCdzIGJ1aWxkLi4uCgoyMDA5LTAxLTI3IDExOjUwICBkYXZpZC5jb2xlCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0Rhcndpbi5jbWFrZTogQlVHOiBPbmx5IHNldAoJICBDTUFLRV9PU1hfREVQTE9ZTUVOVF9UQVJHRVQgb24gTWFjIE9TWCAxMC40IG9yIGxhdGVyLiBUaGUgZ2NjCgkgIHRoYXQgcnVucyBvbiAxMC4zIGFuZCBlYXJsaWVyIGRvZXMgbm90IHVuZGVyc3RhbmQgdGhlIGNvbXBpbGVyCgkgIGZsYWcgaXQgbWFwcyB0by4uLgoKMjAwOS0wMS0yNyAxMTozNSAgZGF2aWQuY29sZQoKCSogU291cmNlL2NtQ29yZVRyeUNvbXBpbGUuY3h4OiBTVFlMRTogRW1pdCBmaWxlbmFtZXMgaW4gdHJ5X2NvbXBpbGUKCSAgZXJyb3IgbWVzc2FnZSB0byBnZXQgbW9yZSBpbmZvcm1hdGlvbiBmcm9tIHRoZSBDb250aW51b3VzCgkgIGRhc2hib2FyZCB0ZXN0IHRoYXQgaXMgZmFpbGluZy4KCjIwMDktMDEtMjcgMTA6NTggIGtpbmcKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0Lmg6IEJVRzogUmVzZXQgZmlsZSBzdWJtaXNzaW9uIGxpc3QKCSAgb24gdGVzdCByZXN0YXJ0CgoJICBXaGVuIHJ1bm5pbmcgaW4gc2NyaXB0IG1vZGUgaXQgaXMgcG9zc2libGUgdG8gcnVuIG11bHRpcGxlCgkgIHNlcGFyYXRlIGRhc2hib2FyZCBzdWJtaXNzaW9ucyBpbiBvbmUgY21DVGVzdCBpbnN0YW5jZS4gIFRoZQoJICByZWNlbnQgcmVmYWN0b3Jpbmcgb2YgZmlsZSBzdWJtaXNzaW9uIGxpc3RzIGludG8gcGFydHMgZmFpbGVkIHRvCgkgIGNsZWFyIHRoZSBzdWJtaXNzaW9uIGxpc3RzIHdoZW4gc3RhcnRpbmcgYSBuZXcgZGFzaGJvYXJkCgkgIChjdGVzdF9zdGFydCBvciBjdGVzdF91cGRhdGUpLiAgT25seSB0aGUgdW51c2VkIG9sZCBzdWJtaXNzaW9uCgkgIHNldCB3YXMgY2xlYXJlZC4gIFRoaXMgZml4ZXMgdGhlIHJlZmFjdG9yZWQgdmVyc2lvbiB0byByZW1vdmUgdGhlCgkgIG9sZCBzdWJtaXNzaW9uIHNldCBjb21wbGV0ZWx5IGFuZCBhbHNvIGNsZWFyIHRoZSBwYXJ0LXdpc2UgbGlzdHMuCgoyMDA5LTAxLTI3IDEwOjU4ICBraW5nCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN1Ym1pdEhhbmRsZXIuY3h4OiBCVUc6IEZpeCBDVGVzdCBzdWJtaXQtb25seQoJICBvcGVyYXRpb24KCgkgIFdlIG5lZWQgdG8gaW5pdGlhbGl6ZSBjbUNUZXN0U3VibWl0SGFuZGxlciBvbiBjb25zdHJ1Y3Rpb24gdG8KCSAgbWFrZSBzdXJlIGFsbCBwYXJ0cyBnZXQgZW5hYmxlZCBieSBkZWZhdWx0LiAgVGhlIHJlY2VudCBmaXggdG8KCSAgcmUtZW5hYmxlIGFsbCBwYXJ0cyBvbiBpbml0aWFsaXphdGlvbiBicm9rZSBzdWJtaXQtb25seQoJICBvcGVyYXRpb25zIGJlY2F1c2UgdGhlIGhhbmRsZXIgZGlkIG5vdCBpbml0aWFsaXplIG9uCgkgIGNvbnN0cnVjdGlvbi4gIFRoaXMgYWxzbyByZW1vdmVzIGR1cGxpY2F0ZSBpbml0aWFsaXphdGlvbiBjb2RlLgoKMjAwOS0wMS0yNyAxMDozNCAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL1JlbGVhc2UvUkVBRE1FLAoJICBVdGlsaXRpZXMvUmVsZWFzZS9jcmVhdGUtY21ha2UtcmVsZWFzZS5jbWFrZSwKCSAgVXRpbGl0aWVzL1JlbGVhc2UvcmVsZWFzZV9jbWFrZS5jbWFrZSwKCSAgVXRpbGl0aWVzL1JlbGVhc2UvcmVsZWFzZV9jbWFrZS5zaC5pbiwgVGVzdHMvQ01ha2VMaXN0cy50eHQ6IEVOSDoKCSAgY2hhbmdlIHRvIHVzZSBDTUFLRV9DUkVBVEVfVkVSU0lPTiBmcm9tIENNQUtFX1ZFUlNJT04gYXMKCSAgQ01BS0VfVkVSU0lPTiBpcyBhdXRvLWRlZmluZWQgbm93CgoyMDA5LTAxLTI3IDEwOjMwICBkYXZpZC5jb2xlCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0Rhcndpbi5jbWFrZSwgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEJVRzogRml4IGlzc3VlICM2MTk1LiBBZGQKCSAgQ01BS0VfT1NYX0RFUExPWU1FTlRfVEFSR0VUIGNhY2hlIHZhcmlhYmxlIHRvIHNwZWNpZnkgdGhlIHRhcmdldAoJICBkZXBsb3ltZW50IHJ1bnRpbWUgT1MgdmVyc2lvbiBvZiB0aGUgYnVpbHQgZXhlY3V0YWJsZXMgb24gTWFjCgkgIE9TWC4gVGhhbmtzIHRvIE1pa2UgSmFja3NvbiBmb3IgdGhlIHBhdGNoLgoKMjAwOS0wMS0yNyAxMDoyNiAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBmaXggZm9yIDc4NDUsIGlkbAoJICBmaWxlcyBjb21waWxlIGV2ZW4gd2l0aCBoZWFkZXJmaWxlIG9ubHkgb24KCjIwMDktMDEtMjcgMDA6MDIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMS0yNiAxMDoxMiAgY2xpbnRvbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOgoJICBCVUc6CUZpeGVkIHJlY2VudCByZWdyZXNzaW9uIHdoZW4gZmluZGluZyBzb21lIGluY2x1ZGVzLgoKMjAwOS0wMS0yNiAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAxLTI1IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDEtMjQgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMS0yMyAxNzozNyAgY2xpbnRvbgoKCSogTW9kdWxlcy9Vc2VRdDQuY21ha2U6CgkgIEVOSDoJU2hvdWxkIGhhdmUgYSAtRiBmb3IgZnJhbWV3b3JrIGluY2x1ZGVzIG9uIE1hYy4gIEZpeGVzCgkgIFBhcmFWaWV3IGJ1aWxkIHdpdGggUXQgNC41IG9uIE1hYy4KCjIwMDktMDEtMjMgMTY6NTIgIGNsaW50b24KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZToKCSAgRU5IOglBZGQgY29udmVuaWVuY2UgZm9yIGlkZW50aWZ5aW5nIENvY29hIGJhc2VkIFF0LgoKMjAwOS0wMS0yMyAxMzozNiAgZGF2aWQuY29sZQoKCSogTW9kdWxlcy9DUGFjay5jbWFrZTogRU5IOiBUdXJuIG9mZiBDUEFDS19CSU5BUllfVEJaMiBhbmQKCSAgQ1BBQ0tfQklOQVJZX1pJUCBieSBkZWZhdWx0LiBTdHJpY3RseSBzcGVha2luZywgdGhpcyBjaGFuZ2VzCgkgIGJlaGF2aW9yIGZyb20gY3BhY2sgMi42LCBidXQgbm93IHRoYXQgY3BhY2sgcmV0dXJucyBhIG5vbi16ZXJvCgkgIGV4aXQgY29kZSB3aGVuIGl0IGVuY291bnRlcnMgYW4gZXJyb3IsIGFuZCBpdCBpcyBhbiBlcnJvciB0byB0cnkKCSAgdG8gdXNlIGEgZ2VuZXJhdG9yIHRoYXQgaXMgbm90IGF2YWlsYWJsZS4uLiBJdCBtYWtlcyBzZW5zZSB0bwoJICB0dXJuIHRoZXNlIG9mZiBieSBkZWZhdWx0IHNpbmNlIG5vdCBldmVyeWJvZHkgaGFzIHRoZXNlCgkgIGdlbmVyYXRvcnMgaW5zdGFsbGVkLiBJdCBpcyBlYXN5IGZvciBhIHByb2plY3QgdG8gdHVybiB0aGVzZQoJICBvcHRpb25zIGJhY2sgb24gaWYgdGhleSBuZWVkIHRvOiBzaW1wbHkgc2V0KENQQUNLX0JJTkFSWV9UQloyIE9OKQoJICBvciBzZXQoQ1BBQ0tfQklOQVJZX1pJUCBPTikgYmVmb3JlIGluY2x1ZGUoQ1BhY2spIGluIHlvdXIKCSAgQ01ha2VMaXN0cy50eHQuLi4KCjIwMDktMDEtMjMgMTI6MjAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVBvbGljaWVzLmg6IEVOSDogdHJ5IHRvIGZpeCB2czYgYnVpbGQKCjIwMDktMDEtMjMgMDA6MzAgIGxvd21hbgoKCSogTW9kdWxlcy9GaW5kRkxUSy5jbWFrZTogRU5IOiBCZXR0ZXIgc3VwcG9ydCBmb3IgImZsdGstY29uZmlnIgoJICBiaW5hcnksIGFkZGVkIG9wdGlvbnMgc28gdGhlIHVzZXIgZG9lc24ndCBoYXZlIHRvIGhhdmUgZXZlcnl0aGluZwoJICBpbiBvcmRlciBmb3IgRkxUS19GT1VORCB0byBiZSB0cnVlLiAgIzc4MDkKCjIwMDktMDEtMjMgMDA6MDIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMS0yMiAxNDoyMyAgZGF2aWQuY29sZQoKCSogU291cmNlL0NQYWNrL2NtQ1BhY2tCdW5kbGVHZW5lcmF0b3IuaDogQlVHOiBGb3Jnb3QgdG8gY2hhbmdlCgkgIHBhcmVudCBjbGFzcyBpbiBjbUNQYWNrVHlwZU1hY3JvIHdoZW4gSSBhZGRlZAoJICBjbUNQYWNrRHJhZ05Ecm9wR2VuZXJhdG9yLiBGaXggaXQgbm93IHRoYXQgaXQgcmVhbGx5IG1hdHRlcnMuCgkgIChUaGUgQnVuZGxlR2VuZXJhdG9yIHRlc3Qgc3RhcnRlZCBmYWlsaW5nIGFmdGVyIHRoZSBsYXN0IGNvbW1pdC4KCSAgVGhpcyBmaXhlcyBpdC4pCgoyMDA5LTAxLTIyIDEzOjU2ICBkYXZpZC5jb2xlCgoJKiBTb3VyY2UvQ1BhY2svOiBjbUNQYWNrQnVuZGxlR2VuZXJhdG9yLmN4eCwKCSAgY21DUGFja0J1bmRsZUdlbmVyYXRvci5oLCBjbUNQYWNrTG9nLmN4eCwgY3BhY2suY3h4OiBCVUc6IEZpeAoJICBpc3N1ZSAjODM4My4gQXZvaWQgY3Jhc2hpbmcgd2hlbiB1c2luZyB0aGUgQnVuZGxlIENQYWNrIGdlbmVyYXRvcgoJICBhbmQgQ1BBQ0tfQlVORExFX05BTUUgaXMgbm90IHNldC4gSW5zdGVhZCwgZmFpbCBncmFjZWZ1bGx5IGdpdmluZwoJICBhbiBpbmZvcm1hdGl2ZSBlcnJvciBtZXNzYWdlIGFuZCBub24temVybyBleGl0IGNvZGUuCgoyMDA5LTAxLTIyIDEzOjE4ICBob2ZmbWFuCgoJKiBUZXN0cy9Qb2xpY3lTY29wZS9CYXIuY21ha2U6IGZpbGUgQmFyLmNtYWtlIHdhcyBhZGRlZCBvbiBicmFuY2gKCSAgQ01ha2UtMi02IG9uIDIwMDktMDItMDQgMTY6NDQ6MTggKzAwMDAKCjIwMDktMDEtMjIgMTM6MTggIGhvZmZtYW4KCgkqIFRlc3RzL1BvbGljeVNjb3BlL0NNYWtlTGlzdHMudHh0OiBmaWxlIENNYWtlTGlzdHMudHh0IHdhcyBhZGRlZAoJICBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDktMDItMDQgMTY6NDQ6MTggKzAwMDAKCjIwMDktMDEtMjIgMTM6MTggIGhvZmZtYW4KCgkqIFRlc3RzL1BvbGljeVNjb3BlL0ZpbmRGb28uY21ha2U6IGZpbGUgRmluZEZvby5jbWFrZSB3YXMgYWRkZWQgb24KCSAgYnJhbmNoIENNYWtlLTItNiBvbiAyMDA5LTAyLTA0IDE2OjQ0OjE5ICswMDAwCgoyMDA5LTAxLTIyIDEzOjE4ICBraW5nCgoJKiBTb3VyY2UvY21DTWFrZVBvbGljeUNvbW1hbmQuaCwgU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmgsIFNvdXJjZS9jbUluY2x1ZGVDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtSW5jbHVkZUNvbW1hbmQuaCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZS5oLCBTb3VyY2UvY21Qb2xpY2llcy5jeHgsIFNvdXJjZS9jbVBvbGljaWVzLmgsCgkgIFRlc3RzL1BvbGljeVNjb3BlL0Jhci5jbWFrZSwgVGVzdHMvUG9saWN5U2NvcGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1BvbGljeVNjb3BlL0ZpbmRGb28uY21ha2U6IEVOSDogSXNvbGF0ZSBwb2xpY3kgY2hhbmdlcyBpbgoJICBpbmNsdWRlZCBzY3JpcHRzCgoJICBJc29sYXRpb24gb2YgcG9saWN5IGNoYW5nZXMgaW5zaWRlIHNjcmlwdHMgaXMgaW1wb3J0YW50IGZvcgoJICBwcm90ZWN0aW5nIHRoZSBpbmNsdWRpbmcgY29udGV4dC4gIFRoaXMgdGVhY2hlcyBpbmNsdWRlKCkgYW5kCgkgIGZpbmRfcGFja2FnZSgpIHRvIGltcGx5IGEgY21ha2VfcG9saWN5KFBVU0gpIGFuZAoJICBjbWFrZV9wb2xpY3koUE9QKSBhcm91bmQgdGhlIHNjcmlwdHMgdGhleSBsb2FkLCB3aXRoIGEKCSAgTk9fUE9MSUNZX1NDT1BFIG9wdGlvbiB0byBkaXNhYmxlIHRoZSBiZWhhdmlvci4gIFRoaXMgYWxzbwoJICBjcmVhdGVzIENNYWtlIFBvbGljeSBDTVAwMDExIHRvIHByb3ZpZGUgY29tcGF0aWJpbGl0eS4gIFNlZSBpc3N1ZQoJICAjODE5Mi4KCjIwMDktMDEtMjIgMTM6MTYgIGhvZmZtYW4KCgkqIFRlc3RzL1BvbGljeVNjb3BlL21haW4uYzogZmlsZSBtYWluLmMgd2FzIGFkZGVkIG9uIGJyYW5jaAoJICBDTWFrZS0yLTYgb24gMjAwOS0wMi0wNCAxNjo0NDoxOSArMDAwMAoKMjAwOS0wMS0yMiAxMzoxNiAga2luZwoKCSogU291cmNlL2NtQ01ha2VQb2xpY3lDb21tYW5kLmgsIFNvdXJjZS9jbUZ1bmN0aW9uQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUZ1bmN0aW9uQ29tbWFuZC5oLCBTb3VyY2UvY21NYWNyb0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21NYWNyb0NvbW1hbmQuaCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZS5oLCBUZXN0cy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvUG9saWN5U2NvcGUvQ01ha2VMaXN0cy50eHQsIFRlc3RzL1BvbGljeVNjb3BlL21haW4uYzogRU5IOgoJICBCZXR0ZXIgcG9saWNpZXMgZm9yIGZ1bmN0aW9ucyBhbmQgbWFjcm9zCgoJICBUaGlzIHRlYWNoZXMgZnVuY3Rpb25zIGFuZCBtYWNyb3MgdG8gdXNlIHBvbGljaWVzIHJlY29yZGVkIGF0CgkgIGNyZWF0aW9uIHRpbWUgd2hlbiB0aGV5IGFyZSBpbnZva2VkLglJdCByZXN0b3JlcyB0aGUgcG9saWNpZXMgYXMKCSAgYSB3ZWFrIHBvbGljeSBzdGFjayBlbnRyeSBzbyB0aGF0IGFueSBwb2xpY2llcyBzZXQgYnkgYSBmdW5jdGlvbgoJICBlc2NhcGUgdG8gaXRzIGNhbGxlciBhcyBiZWZvcmUuCgoyMDA5LTAxLTIyIDEzOjE2ICBraW5nCgoJKiBTb3VyY2UvY21DTWFrZVBvbGljeUNvbW1hbmQuaDogRU5IOiBJbXByb3ZlIHN0YWNrIGRpc2N1c3Npb24gaW4KCSAgY21ha2VfcG9saWN5CgoJICBUaGlzIHJlLW9yZ2FuaXplcyB0aGUgZGlzY3Vzc2lvbiBvZiB0aGUgcG9saWN5IHN0YWNrIGluCgkgIGRvY3VtZW50YXRpb24gb2YgdGhlIGNtYWtlX3BvbGljeSgpIGNvbW1hbmQuCVRoZSBuZXcKCSAgb3JnYW5pemF0aW9uIGNsZWFyZXIgYW5kIGVhc2llciB0byBleHRlbmQgd2l0aCBuZXcgaW5mb3JtYXRpb24uCgoyMDA5LTAxLTIyIDEzOjE2ICBraW5nCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oOiBFTkg6IENyZWF0ZSBub3Rpb24gb2YgYQoJICAnd2VhaycgcG9saWN5IHN0YWNrIGVudHJ5CgoJICBBICd3ZWFrJyBwb2lsY3kgc3RhY2sgZW50cnkgcmVzcG9uZHMgbm9ybWFsbHkgdG8gcXVlcmllcy4KCSAgSG93ZXZlciwgc2V0dGluZyBhIHBvbGljeSBpbiBhIHdlYWsgZW50cnkgd2lsbCByZWN1cnNpdmVseSBzZXQKCSAgdGhlIHBvbGljeSBpbiB0aGUgbmV4dCBlbnRyeSB0b28uICBUaGlzIGFsc28gZ2l2ZXMgdGhlIGludGVybmFsCgkgIGludGVyZmFjZSB0byBjcmVhdGUgYSB3ZWFrIGVudHJ5IHRoZSBvcHRpb24gdG8gcHJvdmlkZSBhbiBpbml0aWFsCgkgIFBvbGljeU1hcCBmb3IgaXQuCgoyMDA5LTAxLTIyIDEyOjEyICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja0RyYWdORHJvcEdlbmVyYXRvci5jeHg6IGZpbGUKCSAgY21DUGFja0RyYWdORHJvcEdlbmVyYXRvci5jeHggd2FzIGFkZGVkIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24KCSAgMjAwOS0wMi0wNSAwMzowNDowOSArMDAwMAoKMjAwOS0wMS0yMiAxMjoxMiAgaG9mZm1hbgoKCSogU291cmNlL0NQYWNrL2NtQ1BhY2tEcmFnTkRyb3BHZW5lcmF0b3IuaDogZmlsZQoJICBjbUNQYWNrRHJhZ05Ecm9wR2VuZXJhdG9yLmggd2FzIGFkZGVkIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24KCSAgMjAwOS0wMi0wNSAwMzowNDoxOCArMDAwMAoKMjAwOS0wMS0yMiAxMjoxMiAgZGF2aWQuY29sZQoKCSogTW9kdWxlcy9DUGFjay5jbWFrZSwgU291cmNlL0NNYWtlTGlzdHMudHh0LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja0J1bmRsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrQnVuZGxlR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrRHJhZ05Ecm9wR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tEcmFnTkRyb3BHZW5lcmF0b3IuaCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tHZW5lcmF0b3JGYWN0b3J5LmN4eCwgVGVzdHMvQ01ha2VMaXN0cy50eHQ6CgkgIEJVRzogRml4IGlzc3VlICM4NDAyLiBBZGQgYSBkcmFnIGFuZCBkcm9wIGJ1bmRsZSBnZW5lcmF0b3IgdG8gdGhlCgkgIE1hYyBidWlsZCBvZiBDUGFjay4gQWRkIGEgdGVzdCBvZiBpdCBpbiB0aGUgQ1BhY2tDb21wb25lbnRzIHRlc3QuCgkgIFRoYW5rcyB0byBDbGludG9uIFN0aW1wc29uIGZvciB0aGUgcGF0Y2guCgoyMDA5LTAxLTIyIDEwOjU3ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNNYWtlUG9saWN5Q29tbWFuZC5jeHgsIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmg6CgkgIEVOSDogQ3JlYXRlIHBvbGljeSBzY29wZSBiYXJyaWVycwoKCSAgVGhpcyBjcmVhdGVzIGEgYmFycmllciBtZWNoYW5pc20gdG8gcHJldmVudCB1c2VyIGNvZGUgZnJvbSB1c2luZwoJICBjbWFrZV9wb2xpY3koUE9QKSB0byBwb3AgYSBzY29wZSBpdCBkaWRuJ3QgcHVzaCB3aXRoCgkgIGNtYWtlX3BvbGljeShQVVNIKS4KCjIwMDktMDEtMjIgMTA6NTcgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmg6IEVOSDogTWFrZSBwb2xpY3kgcHVzaC9wb3AgbWV0aG9kcyBwcml2YXRlCgoJICBUaGlzIG1ha2VzIGNtTWFrZWZpbGU6OlB1c2hQb2xpY3kgYW5kIGNtTWFrZWZpbGU6OlBvcFBvbGljeQoJICBwcml2YXRlIHNvIHRoYXQgYW55IG91dHNpZGUgcGxhY2UgdGhhdCB1c2VzIHRoZW0gbmVlZHMgdG8gdXNlIHRoZQoJICBQb2xpY3lQdXNoUG9wIGhlbHBlciBpbiBhbiBhdXRvbWF0aWMgdmFyaWFibGUuICBXZSBncmFudCBhbgoJICBleGNlcHRpb24gdG8gY21DTWFrZVBvbGljeUNvbW1hbmQgc28gaXQgY2FuIGltcGxlbWVudAoJICBjbWFrZV9wb2xpY3koUFVTSCkgYW5kIGNtYWtlX3BvbGljeShQT1ApLgoKMjAwOS0wMS0yMiAxMDo1NiAga2luZwoKCSogU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmN4eDogRU5IOiBSZWZhY3RvciBmaW5kX3BhY2thZ2UKCSAgdmVyc2lvbiBmaWxlIHNjb3BpbmcKCgkgIFRoaXMgY29udmVydHMgdGhlIHZhcmlhYmxlIGFuZCBwb2xpY3kgc2NvcGUgcHJvdGVjdGlvbgoJICBmaW5kX3BhY2thZ2UoKSB1c2VzIHdoZW4gbG9hZGluZyB2ZXJzaW9uIGZpbGVzIHRvIHVzZSBhdXRvbWF0aWMKCSAgdmFyaWFibGVzLgoKMjAwOS0wMS0yMiAxMDo1NiAga2luZwoKCSogU291cmNlLzogY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaDogRU5IOiBDcmVhdGUgYXV0b21hdGljCgkgIHBvbGljeSBwdXNoL3BvcCBoZWxwZXIKCgkgIFRoaXMgY3JlYXRlcyBjbU1ha2VmaWxlOjpQb2xpY3lQdXNoUG9wIHRvIHB1c2ggYW5kIHBvcCBwb2xpY3kKCSAgc2NvcGUgYXV0b21hdGljYWxseS4JSXQgYWxzbyBlbmZvcmNlcyBiYWxhbmNlZCBwdXNoL3BvcCBwYWlycwoJICBpbnNpZGUgdGhlIHNjb3BlIGl0IGhhbmRsZXMuCgoyMDA5LTAxLTIyIDEwOjU2ICBraW5nCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oLCBjbVBvbGljaWVzLmg6IEVOSDoKCSAgUmVmYWN0b3IgcG9saWN5IHN0YWNrIHJlcHJlc2VudGF0aW9uCgoJICBUaGlzIGRlZmluZXMgUG9saWN5TWFwIGFzIGEgcHVibGljIG1lbWJlciBvZiBjbVBvbGljaWVzLiAgSXRzCgkgIHByZXZpb3VzIHJvbGUgYXMgYSBwb2xpY3kgc3RhY2sgZW50cnkgaXMgbm93IGNhbGxlZAoJICBQb2xpY3lTdGFja0VudHJ5IGFuZCByZXByZXNlbnRlZCBhcyBhIGNsYXNzIHRvIHdoaWNoIG1vcmUKCSAgaW5mb3JtYXRpb24gY2FuIGJlIGFkZGVkIGxhdGVyLgoKMjAwOS0wMS0yMiAxMDoyMiAgZGF2aWQuY29sZQoKCSogVGVzdHMvQ01ha2VMaXN0cy50eHQ6IEJVRzogQXZvaWQgdHJ5aW5nIHRvIHBhY2thZ2UgdGhlIFgxMSB0ZXN0CgkgIG9uIFdpbmRvd3Mgd2hlbiB0aGVyZSBpcyBubyBOU0lTIGluc3RhbGxlciBhdmFpbGFibGUuCgoyMDA5LTAxLTIyIDA3OjE2ICBkYXZpZC5jb2xlCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eDogQlVHOiBGaXggaXNzdWUgIzgzNjMuIFdyYXAKCSAgb3V0cHV0IHdpdGggTWFrZVhNTFNhZmUgY2FsbHMgc28gdGhhdCB0aGUgZ2VuZXJhdGVkIFhNTCBmaWxlcyBhcmUKCSAgdmFsaWQsIHBhcnNlLWFibGUgWE1MLgoKMjAwOS0wMS0yMiAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAxLTIxIDIzOjUyICBsb3dtYW4KCgkqIE1vZHVsZXMvRmluZEZMVEsuY21ha2U6IEJVRzogRml4ZXMgZGV0ZWN0aW9uIG9mIEZMVEsgb24gR2VudG9vCgkgIChJc3N1ZSAjNzgwOSkKCjIwMDktMDEtMjEgMjI6NDMgIGxvd21hbgoKCSogTW9kdWxlcy9GaW5kRkxUSy5jbWFrZTogQlVHOiBGaXhlcyAjODM3NjogRmluZEZMVEsgZmFpbHMgYmVjYXVzZQoJICBpbmNsdWRlIGZpbGUgY2FuIGJlIEZML0ZsLkggYW5kIENNYWtlIG9ubHkgbG9va3MgZm9yIEZML0ZsLmguCgkgIFZlcmlmaWVkOiBhbGwgRkxUSyBoZWFkZXIgZmlsZXMgaW4gMS4xLjkgYXJlIC5IIC4uLiAgaG93IGJpemFycmUuCgoyMDA5LTAxLTIxIDE3OjM2ICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmg6IEJVRzogRml4IFZTIElERSBzb2x1dGlvbgoJICBmaWxlcyBvcmRlciBhZ2FpbgoKCSAgVGhlIHByZXZpb3VzIGNoYW5nZSB0byBvcmRlciBwcm9qZWN0cyBpbiB0aGUgVlMgSURFIGRpZCBub3QKCSAgYWNjb3VudCBmb3IgZHVwbGljYXRlIHRhcmdldCBuYW1lcyAoc3VjaCBhcyBBTExfQlVJTEQgYW5kCgkgIFpFUk9fQ0hFQ0spIGFtb25nIHRoZSBpbnB1dCBzZXQuICBXaGlsZSB3ZSBzdXBwcmVzcyBnZW5lcmF0aW9uIG9mCgkgIHRoZSBkdXBsaWNhdGUgcHJvamVjdCBlbnRyaWVzLCB3ZSBuZWVkIHRvIHVzZSBhIG11bHRpc2V0IHRvIHN0b3JlCgkgIG9yZGVyZWQgZHVwbGljYXRlcy4KCjIwMDktMDEtMjEgMTc6MjQgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUc6IEZpeCBBTExfQlVJTEQKCSAgb3JkZXJpbmcgZW5mb3JjZW1lbnQKCgkgIFRoZSBwcmV2aW91cyBjaGFuZ2UgdG8gbWFrZSBBTExfQlVJTEQgY29tZSBmaXJzdCBhbW9uZyB0YXJnZXRzCgkgIGRpZCBub3QgYWNjb3VudCBmb3IgY29tcGFyaW5nIHRoZSB0YXJnZXQgbmFtZSBhZ2FpbnN0IGl0c2VsZi4KCSAgVGhpcyBsZWQgdG8gYW4gaW52YWxpZCBvcmRlcmluZyBvZiB0aGUgdGFyZ2V0IHNldC4gIFRoaXMgY2hhbmdlCgkgIGZpeGVzIGl0LgoKMjAwOS0wMS0yMSAxNzowNiAga2luZwoKCSogU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEVOSDogTWFrZSBBTExfQlVJTEQKCSAgYWx3YXlzIHRoZSBkZWZhdWx0IHByb2plY3QKCgkgIFRoaXMgdGVhY2hlcyB0aGUgVlMgSURFIGdlbmVyYXRvcnMgdG8gd3JpdGUgQUxMX0JVSUxEIGludG8KCSAgc29sdXRpb24gZmlsZXMgZmlyc3Qgc28gdGhhdCBpdCBpcyBhbHdheXMgdGhlIGRlZmF1bHQgYWN0aXZlCgkgIHByb2plY3QuICBQcmV2aW91c2x5IGl0IHdhcyBmaXJzdCBvbmx5IGlmIG5vIHRhcmdldCBuYW1lIHNvcnRlZAoJICBsZXhpY29ncmFwaGljYWxseSBlYXJsaWVyLiAgU2VlIGlzc3VlICM4MTcyLgoKMjAwOS0wMS0yMSAxNjozOSAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oOiBCVUc6IEZpeCBWUyBJREUgcHJvamVjdCBvcmRlcgoKCSAgT3VyIGltcGxlbWVudGF0aW9uIG9mIHRoZSBmZWF0dXJlIHRvIHB1bGwgaW4gZGVwZW5kZW50IHRhcmdldHMgaW4KCSAgVlMgc29sdXRpb24gZmlsZXMgZm9yIHN1YnByb2plY3RzIGNhdXNlZCB0aGUgb3JkZXIgb2YgcHJvamVjdAoJICBmaWxlcyBpbiB0aGUgc29sdXRpb24gdG8gYmUgYXJiaXRyYXJ5IChiYXNlZCBvbiBwb2ludGVyIHZhbHVlIGluCgkgIHRoZSByZXByZXNlbnRhdGlvbikuCVRhcmdldCBvcmRlcmluZyBpbiBzb2x1dGlvbiBmaWxlcyBpcwoJICBpbXBvcnRhbnQgdG8gcHJldmVudCB1bm5lY2Vzc2FyeSBjaGFuZ2luZyBvZiB0aGUgZmlsZXMgYW5kCgkgIGJlY2F1c2UgdGhlIFZTIElERSBzZWxlY3RzIHRoZSBmaXJzdCBwcm9qZWN0IGxpc3RlZCBhcyB0aGUKCSAgZGVmYXVsdCBhY3RpdmUgdGFyZ2V0LiAgVGhpcyBjaGFuZ2UgcmVzdG9yZXMgbGV4aWNvZ3JhcGhpYyBvcmRlcgoJICBieSB0YXJnZXQgbmFtZS4KCjIwMDktMDEtMjEgMTM6MzkgIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrQnVuZGxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tCdW5kbGVHZW5lcmF0b3IuaCwKCSAgVGVzdHMvQnVuZGxlR2VuZXJhdG9yVGVzdC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQnVuZGxlR2VuZXJhdG9yVGVzdC9DdXN0b21Wb2x1bWVJY29uLmljbnM6IEJVRzogRml4IGlzc3VlCgkgICM3NTIzOiBBbmFseXplIG91dHB1dCBvZiAnaGRpdXRpbCBhdHRhY2gnIHRvIGdldCB0aGUgbmFtZSBvZiB0aGUKCSAgdm9sdW1lIHRoYXQgd2FzIG1vdW50ZWQuIEVsaW1pbmF0ZXMgdGhlIG5lZWQgdG8gdXNlIHRoZQoJICAtbW91bnRwb2ludCBhcmcgb2YgaGRpdXRpbCB3aGljaCBoYXMgYSBzaWxseSA5MCBjaGFyYWN0ZXIgbGltaXQKCSAgb24gdGhlIG5hbWUgb2YgdGhlIG1vdW50IHBvaW50LiBBbHNvIGFkZCBhIGN1c3RvbSB2b2x1bWUgaWNvbiB0bwoJICB0aGUgQnVuZGxlR2VuZXJhdG9yVGVzdCB0byBjb3ZlciB0aGlzIGNvZGUuCgoyMDA5LTAxLTIxIDEzOjIwICBkYXZpZC5jb2xlCgoJKiBTb3VyY2UvUXREaWFsb2cvQ01ha2VTZXR1cC5pY25zOiBFTkg6IFVzZSB0aGUgbGF0ZXN0CgkgIENNYWtlLWxvZ28tdHJpYW5nbGUtaGlnaC1yZXMucG5nIHRvIGltcHJvdmUgdGhlIGxvb2sgb2YKCSAgQ01ha2VTZXR1cC5pY25zIG9uIHRoZSBNYWMuCgoyMDA5LTAxLTIxIDExOjU0ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NQYWNrLk9TWFNjcmlwdExhdW5jaGVyLnJzcmMuaW46IGZpbGUKCSAgQ1BhY2suT1NYU2NyaXB0TGF1bmNoZXIucnNyYy5pbiB3YXMgYWRkZWQgb24gYnJhbmNoIENNYWtlLTItNiBvbgoJICAyMDA5LTA0LTIxIDIwOjQ4OjU0ICswMDAwCgoyMDA5LTAxLTIxIDExOjU0ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NQYWNrLk9TWFgxMS5tYWluLnNjcHQuaW46IGZpbGUgQ1BhY2suT1NYWDExLm1haW4uc2NwdC5pbgoJICB3YXMgYWRkZWQgb24gYnJhbmNoIENNYWtlLTItNiBvbiAyMDA5LTA0LTIxIDE4OjEyOjQ3ICswMDAwCgoyMDA5LTAxLTIxIDExOjU0ICBkYXZpZC5jb2xlCgoJKiBNb2R1bGVzL0NQYWNrLk9TWFNjcmlwdExhdW5jaGVyLmluLAoJICBNb2R1bGVzL0NQYWNrLk9TWFNjcmlwdExhdW5jaGVyLnJzcmMuaW4sCgkgIE1vZHVsZXMvQ1BhY2suT1NYWDExLkluZm8ucGxpc3QuaW4sCgkgIE1vZHVsZXMvQ1BhY2suT1NYWDExLm1haW4uc2NwdC5pbiwKCSAgTW9kdWxlcy9DUGFjay5SdW50aW1lU2NyaXB0LmluLAoJICBTb3VyY2UvQ1BhY2svT1NYTGF1bmNoZXJTY3JpcHQuc2NwdCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tPU1hYMTFHZW5lcmF0b3IuY3h4LCBUZXN0cy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvWDExL0NNYWtlTGlzdHMudHh0OiBCVUc6IEZpeCBpc3N1ZSAjNzgzMzogQWRkIGZpbGUKCSAgZXh0ZW5zaW9uIGhhbmRsaW5nIHRvIENQYWNrIGdlbmVyYXRlZCBpbnN0YWxsZXJzIGZvciBPU1hYMTEKCSAgYXBwbGljYXRpb25zLiBBbHNvIG1vZGlmeSB0aGUgWDExIHRlc3QgdG8gYnVpbGQgc3VjaCBhbiBpbnN0YWxsZXIKCSAgb24gTWFjIGJ1aWxkcyB0aGF0IHRlc3QgQ1BhY2sgYW5kIGhhdmUgWDExIGF2YWlsYWJsZS4gVGhhbmtzIHRvCgkgIFdlcyBUdXJuZXIgZm9yIHRoZSBwYXRjaC4KCjIwMDktMDEtMjEgMDk6NDkgIGtpbmcKCgkqIE1vZHVsZXMvRmluZEtERTQuY21ha2U6IFNUWUxFOiBGaXggaWYvZW5kaWYgbWlzbWF0Y2ggaW4gRmluZEtERTQKCjIwMDktMDEtMjEgMDk6NDkgIGtpbmcKCgkqIFNvdXJjZS86IGNtRnVuY3Rpb25Db21tYW5kLmN4eCwgY21NYWNyb0NvbW1hbmQuY3h4OiBFTkg6IEVuZm9yY2UKCSAgbG9naWNhbCBibG9ja3MgaW4gZnVuY3Rpb25zL21hY3JvcwoKCSAgVGhpcyB0ZWFjaGVzIGZ1bmN0aW9uKCkgYW5kIG1hY3JvKCkgdG8gZW5mb3JjZSBtYXRjaGluZyBsb2dpY2FsCgkgIGJsb2NrcyBpbnNpZGUgdGhlIHJlY29yZGVkIGJvZGllcy4gIFRoaXMgbWFrZXMgdGhlIGVycm9yIG1lc3NhZ2UKCSAgbW9yZSBzcGVjaWZpYy4KCjIwMDktMDEtMjEgMDk6NDkgIGtpbmcKCgkqIFNvdXJjZS86IGNtRm9yRWFjaENvbW1hbmQuY3h4LCBjbUZ1bmN0aW9uQ29tbWFuZC5jeHgsCgkgIGNtSWZDb21tYW5kLmN4eCwgY21NYWNyb0NvbW1hbmQuY3h4LCBjbU1ha2VmaWxlLmN4eCwKCSAgY21NYWtlZmlsZS5oLCBjbVdoaWxlQ29tbWFuZC5jeHg6IEVOSDogQmV0dGVyIGhhbmRsaW5nIG9mCgkgIG1pc21hdGNoZWQgYmxvY2tzCgoJICBJZiBhIGxvZ2ljYWwgYmxvY2sgdGVybWluYXRlcyB3aXRoIG1pc21hdGNoaW5nIGFyZ3VtZW50cyB3ZQoJICBwcmV2aW91c2x5IGZhaWxlZCB0byByZW1vdmUgdGhlIGZ1bmN0aW9uIGJsb2NrZXIgYnV0IHJlcGxheWVkIHRoZQoJICBjb21tYW5kcyBhbnl3YXksIHdoaWNoIGxlZCB0byBjYXNlcyBpbiB3aGljaCB3ZSBmYWlsZWQgdG8gcmVwb3J0CgkgIHRoZSBtaXNtYXRjaCAocmV0dXJuIHNob3J0bHkgYWZ0ZXIgdGhlIGVuZGluZyBjb21tYW5kKS4gIFRoZQoJICByZWNlbnQgcmVmYWN0b3Jpbmcgb2YgZnVuY3Rpb24gYmxvY2tlciBkZWxldGlvbiBjaGFuZ2VkIHRoaXMKCSAgYmVoYXZpb3IgdG8gcHJvZHVjZSBhbiBlcnJvciBvbiB0aGUgZW5kaW5nIGxpbmUgYnkgbm90IGJsb2NraW5nCgkgIHRoZSBjb21tYW5kLglGdXJ0aGVybW9yZSwgdGhlIGZ1bmN0aW9uIGJsb2NrZXIgd291bGQgc3RheSBpbgoJICBwbGFjZSBhbmQgY29tcGxhaW4gYXQgdGhlIGVuZCBvZiBldmVyeSBlcXVhbC1sZXZlbCBibG9jayBvZiB0aGUKCSAgc2FtZSB0eXBlLgoKCSAgVGhpcyB0ZWFjaGVzIENNYWtlIHRvIHRyZWF0IHRoZSBiZWdpbi9lbmQgY29tbWFuZHMgKGlmL2VuZGlmLAoJICBldGMuKSBhcyBjb3JyZWN0IGFuZCBqdXN0IHdhcm5zIHdoZW4gdGhlIGFyZ3VtZW50cyBtaXNtYXRjaC4JVGhlCgkgIGNoYW5nZSBhbGxvd3MgY2FzZXMgaW4gd2hpY2ggQ01ha2UgMi42LjIgc2lsZW50bHkgaWdub3JlZCBhCgkgIG1pc21hdGNoIHRvIHJ1biBhcyBiZWZvcmUgYnV0IHdpdGggYSB3YXJuaW5nLgoKMjAwOS0wMS0yMSAwOTo0OCAga2luZwoKCSogU291cmNlLzogY21Gb3JFYWNoQ29tbWFuZC5jeHgsIGNtRm9yRWFjaENvbW1hbmQuaCwKCSAgY21GdW5jdGlvbkJsb2NrZXIuaCwgY21GdW5jdGlvbkNvbW1hbmQuY3h4LCBjbUZ1bmN0aW9uQ29tbWFuZC5oLAoJICBjbUlmQ29tbWFuZC5jeHgsIGNtSWZDb21tYW5kLmgsIGNtTWFjcm9Db21tYW5kLmN4eCwKCSAgY21NYWNyb0NvbW1hbmQuaCwgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaCwKCSAgY21XaGlsZUNvbW1hbmQuY3h4LCBjbVdoaWxlQ29tbWFuZC5oOiBFTkg6IEJldHRlciBlcnJvciBtZXNzYWdlCgkgIGZvciB1bmNsb3NlZCBibG9ja3MKCgkgIFRoaXMgY2VudHJhbGl6ZXMgY29uc3RydWN0aW9uIG9mIHRoZSBlcnJvciBtZXNzYWdlIGZvciBhbgoJICB1bmNsb3NlZCBsb2dpY2FsIGJsb2NrIChpZiwgZm9yZWFjaCwgZXRjLikuICBXZSByZWNvcmQgdGhlIGxpbmUKCSAgYXQgd2hpY2ggZWFjaCBibG9jayBpcyBvcGVuZWQgc28gaXQgY2FuIGJlIHJlcG9ydGVkIGluIHRoZSBlcnJvcgoJICBtZXNzYWdlLgoKMjAwOS0wMS0yMSAwOTo0OCAga2luZwoKCSogU291cmNlLzogY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaDogRU5IOiBSZWZhY3RvciBsb2dpY2FsCgkgIGJsb2NrIGVuZm9yY2VtZW50CgoJICBUaGlzIHVzZXMgYSBzdGFjayBvZiAnYmFycmllcnMnIHRvIGVmZmljaWVudGx5IGRpdmlkZSBmdW5jdGlvbgoJICBibG9ja2VycyBpbnRvIGdyb3VwcyBjb3JyZXNwb25kaW5nIHRvIGVhY2ggaW5wdXQgZmlsZS4gIEl0CgkgIHNpbXBsaWZpZXMgZGV0ZWN0aW9uIG9mIG1pc3NpbmcgYmxvY2sgY2xvc2UgY29tbWFuZHMgYW5kIGZhY3RvcnMKCSAgaXQgb3V0IG9mIFJlYWRMaXN0RmlsZS4KCjIwMDktMDEtMjEgMDA6MDIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMS0yMCAxNTo0OSAga2luZwoKCSogU291cmNlLzogY21FeHBvcnRCdWlsZEZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgY21UYXJnZXQuY3h4OiBCVUc6IEZpeCBMT0NBVElPTgoJICBwcm9wZXJ0eSBmb3IgTWFjIEFwcEJ1bmRsZXMKCgkgIFByZXZpb3VzbHkgY21UYXJnZXQ6OkdldExvY2F0aW9uIGFuZCBjbVRhcmdldDo6R2V0RnVsbFBhdGggd291bGQKCSAgcmV0dXJuIGZvciBNYWMgQXBwQnVuZGxlcyB0aGUgdG9wLWxldmVsIGJ1bmRsZSBkaXJlY3RvcnkgYnV0CgkgIHdpdGhvdXQgdGhlIC5hcHAgZXh0ZW5zaW9uLiAgV2Ugd29ya2VkIGFyb3VuZCB0aGlzIGF0IHRoZSBjYWxsCgkgIHNpdGVzLiAgVGhpcyBmaXhlcyB0aGUgbWV0aG9kcyBhbmQgcmVtb3ZlcyB0aGUgd29yay1hcm91bmRzLglTZWUKCSAgaXNzdWUgIzg0MDYuCgoyMDA5LTAxLTIwIDE0OjM2ICBraW5nCgoJKiBTb3VyY2UvOiBjbUZvckVhY2hDb21tYW5kLmN4eCwgY21Gb3JFYWNoQ29tbWFuZC5oLAoJICBjbUlmQ29tbWFuZC5jeHgsIGNtSWZDb21tYW5kLmgsIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsCgkgIGNtV2hpbGVDb21tYW5kLmN4eCwgY21XaGlsZUNvbW1hbmQuaDogRU5IOiBSZWZhY3RvciBmdW5jdGlvbgoJICBibG9ja2VyIGRlbGV0aW9uCgoJICBXaGVuIGEgZnVuY3Rpb24gYmxvY2tlciBkZWNpZGVzIHRvIHJlbW92ZSBpdHNlbGYgd2UgcHJldmlvdXNseQoJICByZW1vdmVkIGl0IGF0IGV2ZXJ5IHJldHVybiBwb2ludCBmcm9tIHRoZSBDKysgc2NvcGUgaW4gd2hpY2ggaXRzCgkgIHJlbW92YWwgaXMgbmVlZGVkLiAgVGhpcyB0ZWFjaGVzIGZ1bmN0aW9uIGJsb2NrZXJzIHRvIHRyYW5zZmVyCgkgIG93bmVyc2hpcCBvZiB0aGVtc2VsdmVzIGZyb20gY21NYWtlZmlsZSB0byBhbiBhdXRvbWF0aWMgdmFyaWFibGUKCSAgZm9yIGRlbGV0aW9uIG9uIHJldHVybi4gIFNpbmNlIHRoaXMgcmVtb3ZlcyBibG9ja2VycyBiZWZvcmUgdGhleQoJICByZXBsYXkgdGhlaXIgY29tbWFuZHMsIHdlIG5vIGxvbmdlciBuZWVkIHRvIGF2b2lkIHJ1bm5pbmcKCSAgYmxvY2tlcnMgb24gdGhlaXIgb3duIGNvbW1hbmRzLgoKMjAwOS0wMS0yMCAxNDozNSAga2luZwoKCSogU291cmNlLzogY21JZkNvbW1hbmQuY3h4LCBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oOiBFTkg6CgkgIEltcHJvdmUgcmVzcG9uc2UgdG8gYmFkIGlmIG9yIGVsc2VpZgoKCSAgUHJldmlvdXNseSBiYWQgYXJndW1lbnRzIHRvIGFuIGlmKCkgb3IgZWxzZWlmKCkgd291bGQgY2F1c2Ugc29tZQoJICBzdWJzZXF1ZW50IHN0YXRlbWVudHMgaW4gdGhlIGNvcnJlc3BvbmRpbmcgYmxvY2sgdG8gZXhlY3V0ZS4KCSAgVGhpcyB0ZWFjaGVzIENNYWtlIHRvIHN0b3AgcHJvY2Vzc2luZyBjb21tYW5kcyB3aXRoIGEgZmF0YWwKCSAgZXJyb3IuICBJdCBhbHNvIHByb3ZpZGVzIGNvbnRleHQgdG8gYmFkIGVsc2VpZigpIGVycm9yIG1lc3NhZ2VzLgoKMjAwOS0wMS0yMCAxNDoyOSAgZGF2aWQuY29sZQoKCSogU291cmNlL0NQYWNrL2NtQ1BhY2tOU0lTR2VuZXJhdG9yLmN4eCwKCSAgVGVzdHMvQ1BhY2tDb21wb25lbnRzL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9DUGFja0NvbXBvbmVudHMvSXNzdWUKCSAgNzQ3MC5odG1sOiBCVUc6IEZpeCBmb3IgaXNzdWUgIzc0NzAuIEFsbG93IHNwYWNlcyBpbiB0aGUgcGF0aAoJICBuYW1lcyBvZiBpbnN0YWxsZWQgZmlsZXMgd2l0aCB0aGUgTlNJUyBDUGFjayBnZW5lcmF0b3IgYW5kCgkgIGNvbXBvbmVudC1iYXNlZCBpbnN0YWxscy4gQWRkIGFuIGluc3RhbGxlZCBmaWxlIHRvIHRoZQoJICBDUGFja0NvbXBvbmVudHMgdGVzdDogaXQgZmFpbGVkIGJlZm9yZSB0aGUgZml4OyBub3cgaXQgcGFzc2VzLgoKMjAwOS0wMS0yMCAxMDowNiAgaG9mZm1hbgoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBCVUc6IGZpeCBjcmFzaCB3aXRoIGNtZC5leGUgc2hlbGwgYW5kCgkgIGNtYWtlIGluIHRoZSBwYXRoCgoyMDA5LTAxLTIwIDAwOjAyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDEtMTkgMjI6NTEgIGxvd21hbgoKCSogTW9kdWxlcy9GaW5kQm9vc3QuY21ha2U6IEJVRzogRml4IGRldGVjdGlvbiBvZiBib29zdCBsaWJyYXJpZXMKCSAgd2l0aG91dCBhbnkgY29tcGlsZXIgZW5jb2RpbmcgKGUuZy4gIEdlbnRvbyAxLjM3IHN5c3RlbSBpbnN0YWxsZWQKCSAgYm9vc3QpLiAgRml4ZXMgaXNzdWUgIzg0MDQgcmVwb3J0ZWQgb24gbWFpbGluZyBsaXN0LgoKMjAwOS0wMS0xOSAyMjoyOCAgbG93bWFuCgoJKiBNb2R1bGVzL0ZpbmREb3h5Z2VuLmNtYWtlOiBCVUc6IEZpeGVzIElzc3VlICM4MDU0IGFuZCBtb3JlLgoJICBET1hZR0VOX0RPVF9GT1VORCBub3cgZXhpc3RzLCBlcnJhbnQgbWFya19hc19hZHZhbmNlZCB2YXJpYWJsZXMKCSAgcmVtb3ZlZCwgZG9jdW1lbnRhdGlvbiBjbGVhbmVkIHVwIGFuZCBPU1ggc3R1ZmYgaXNvbGF0ZWQgdG8gaXQncwoJICBvd24gc2VjdGlvbiwgc3VwcG9ydCBhZGRlZCBmb3IgRE9YWUdFTl9TS0lQX0RPVCwgc3VwcG9ydCBhZGRlZCB0bwoJICBjYWxsIEZpbmRQYWNrYWdlSGFuZGxlU3RhbmRhcmRBcmdzIHRvIGF2b2lkIG91dHB1dCBvbiBldmVyeSBDTWFrZQoJICBydW4uCgoyMDA5LTAxLTE5IDIxOjMwICBsb3dtYW4KCgkqIE1vZHVsZXMvRmluZEJvb3N0LmNtYWtlOiBCVUc6IE1pc3NpbmcgImljcGMiIGFzIGEgcG9zc2libGUgQ1hYCgkgIGNvbXBpbGVyIGZvciBJbnRlbCBDKysuICBBbHNvIHJlZmFjdG9yZWQgZ2NjIC1kdW1wdmVyc2lvbiBjb2RlCgkgIGFuZCByZWdleCB0byBhIGZ1bmN0aW9uLgoKMjAwOS0wMS0xOSAxOToyMSAgbG93bWFuCgoJKiBNb2R1bGVzL0ZpbmRCb29zdC5jbWFrZTogQlVHOiBTd2l0Y2ggRmluZEJvb3N0LmNtYWtlIHRvIHVzZQoJICBDTUFLRV9DT01QSUxFUl9JU19HTlVDWFggKElzc3VlICM4Mzk4KQoKMjAwOS0wMS0xOSAxMzozMyAgbG93bWFuCgoJKiBNb2R1bGVzLzogRmluZE9wZW5UaHJlYWRzLmNtYWtlLCBGaW5kb3NnLmNtYWtlLAoJICBGaW5kb3NnQW5pbWF0aW9uLmNtYWtlLCBGaW5kb3NnREIuY21ha2UsIEZpbmRvc2dGWC5jbWFrZSwKCSAgRmluZG9zZ0dBLmNtYWtlLCBGaW5kb3NnSW50cm9zcGVjdGlvbi5jbWFrZSwKCSAgRmluZG9zZ01hbmlwdWxhdG9yLmNtYWtlLCBGaW5kb3NnUGFydGljbGUuY21ha2UsCgkgIEZpbmRvc2dQcm9kdWNlci5jbWFrZSwgRmluZG9zZ1NoYWRvdy5jbWFrZSwgRmluZG9zZ1NpbS5jbWFrZSwKCSAgRmluZG9zZ1RlcnJhaW4uY21ha2UsIEZpbmRvc2dUZXh0LmNtYWtlLCBGaW5kb3NnVXRpbC5jbWFrZSwKCSAgRmluZG9zZ1ZpZXdlci5jbWFrZSwgRmluZG9zZ1ZvbHVtZS5jbWFrZSwgRmluZG9zZ1dpZGdldC5jbWFrZSwKCSAgRmluZG9zZ19mdW5jdGlvbnMuY21ha2U6IEJVRzogRml4ZWQgSXNzdWUgIzczMzEgQnVncyBpbgoJICBGaW5kb3NnKi5jbWFrZS4gIEFsc28gYWRkZWQgT1BFTlRIUkVBRFNfTElCUkFSSUVTLgoKMjAwOS0wMS0xOSAwNToxNCAgbG93bWFuCgoJKiBNb2R1bGVzL0ZpbmRCb29zdC5jbWFrZTogQlVHOiBSZXZlcnRlZCBjaGFuZ2UgbWFkZSBpbiAxLjI3LAoJICBzaG91bGQgYmUgdW5uZWNlc3NhcnkgKElzc3VlICM3NTA4KQoKMjAwOS0wMS0xOSAwMjozNSAgbG93bWFuCgoJKiBNb2R1bGVzL0ZpbmRCb29zdC5jbWFrZTogQlVHOiBSZXNvbHZlIElzc3VlICM3NTA4LCBGaW5kQm9vc3QKCSAgZmFpbHMgdG8gZmluZCBib29zdCBvbiBTdVNFIDEwLjMKCjIwMDktMDEtMTkgMDI6MjcgIGxvd21hbgoKCSogTW9kdWxlcy9GaW5kQm9vc3QuY21ha2U6IEVOSDogQWRkZWQgMS4zOCBzaW5jZSBpdCdsbCBiZSBvdXQgc29vbi4KCSAgTW9yZSBkb2N1bWVudGF0aW9uIGFuZCBjbGFyaWZpZWQgZXhhbXBsZXMsIGFkZHJlc3NlZCBhdXRvbGlua2luZwoJICBpc3N1ZSBvbiBNU1ZDCgoyMDA5LTAxLTE5IDAxOjAyICBsb3dtYW4KCgkqIE1vZHVsZXMvRmluZEJvb3N0LmNtYWtlOiBCVUc6IERvIG5vdCBjaGVjayBmb3IgR0NDIHZlcnNpb24KCSAgZW5jb2RpbmcgaW4gZmlsZW5hbWVzIG9uIEJvb3N0IGxpYnJhcmllcyBwcmlvciB0byAxLjM1LgoJICBFbGltaW5hdGUgImxpYiIgcHJlZml4IGV4Y2VwdCBvbiBNU1ZDLgoKMjAwOS0wMS0xOSAwMDowMiAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAxLTE4IDE3OjE5ICBsb3dtYW4KCgkqIE1vZHVsZXMvRmluZEJvb3N0LmNtYWtlOiBCVUc6IEZpeGVkIGFkZGl0aW9uYWwgaXNzdWVzIHdpdGgKCSAgYXV0b2RldGVjdGluZyBjb21waWxlciB0YWdzIHByb3Blcmx5IGluY2x1ZGluZyBJc3N1ZSAjNjkyNgoKMjAwOS0wMS0xOCAxNjo0MCAgbG93bWFuCgoJKiBNb2R1bGVzL0ZpbmRCb29zdC5jbWFrZTogQlVHOiBGaXhlcyBwcm9ibGVtIHdpdGggX2Jvb3N0X0FCSV9UQUcKCSAgYXBwZW5kaW5nIHRvIGl0c2VsZiBpZiBGaW5kQm9vc3QgaXMgY2FsbGVkIG1vcmUgdGhhbiBvbmNlIChJc3N1ZQoJICAjNzQ2MCkKCjIwMDktMDEtMTggMTU6NTMgIGxvd21hbgoKCSogTW9kdWxlcy9GaW5kQm9vc3QuY21ha2U6IFNUWUxFOiBtaW5vciBjbGVhbnVwCgoyMDA5LTAxLTE4IDE1OjQxICBsb3dtYW4KCgkqIE1vZHVsZXMvRmluZEJvb3N0LmNtYWtlOiBCVUc6IFJlbW92ZWQgc29tZSBjb2RlIHdoaWNoIHdhcwoJICBzcXVhc2hpbmcgQm9vc3RfTElCUkFSSUVTIG9uIFdJTjMyIHVuZGVyIHRoZSBhdXNwaWNlcyBvZiBmb3JjaW5nCgkgIHRoZSB1c2VyIHRvIHVzZSBhdXRvbGlua2luZywgYnV0IGl0IG9ubHkgZGlkIHRoaXMgc3F1YXNoaW5nIG9uCgkgIHRoZSBmaXJzdCBjYWxsIHRvIEZpbmRCb29zdC4JU3Vic2VxdWVudCBjYWxscyB0byBGaW5kQm9vc3Qgd291bGQKCSAgbm90IGhhdmUgQm9vc3RfTElCUkFSSUVTIHNxdWFzaGVkIHNvIHRoaXMgY29kZSB3YXMgZG9pbmcgbm90aGluZy4KCSAgSWYgeW91IGxpbmsgeW91ciB0YXJnZXRfbGlua19saWJyYXJpZXMoKSBhZ2FpbnN0IGR5bmFtaWMgYm9vc3QKCSAgbGlicmFyaWVzIGl0IGFwcGVhcnMgZnJvbSB0b29scyBsaWtlIERlcGVuZGVuY3kgV2Fsa2VyIHRoYXQgdGhlCgkgIHByYWdtYSBjYWxscyB0byBhdXRvbGluayB0byB0aGUgc3RhdGljIGJvb3N0IGxpYnJhcmllcyBhcmUKCSAgaWdub3JlZC4gIEl0J3MgdGhlcmVmb3JlIHRvbyBsYXRlIHRvIG1ha2UgdGhpcyBzcXVhc2ggYXBwbHkgdG8KCSAgYWxsIGNhbGxzIHRvIEZpbmRCb29zdCBiZWNhdXNlIHRoYXQgd291bGQgYnJlYWsgdXNlcnMgdGhhdCBoYXZlCgkgIG5vdCBzZXR1cCBhdXRvbGlua2luZyBwcm9wZXJseS4gICBGb3Igbm93IHRoaXMgZml4IGlzIGxhcmdlbHkKCSAgY29zbWV0aWMgc2luY2UgdGhlIG9yaWdpbmFsIGNvZGUgbmV2ZXIgd29ya2VkIGFueXdheXMgKHNlZQoJICB2ZXJzaW9uIDEuNSBpbnRyb2R1Y2VkIG9uIDQvMjIvMDgpLgoKMjAwOS0wMS0xOCAxNToxNyAgbG93bWFuCgoJKiBNb2R1bGVzL0ZpbmRCb29zdC5jbWFrZTogQlVHOiBGaXhlZCBkb2N1bWVudGF0aW9uIGJ1ZyB3aXRoCgkgIEJvb3N0X1VTRV9NVUxUSVRIUkVBREVELCByZW1vdmVkIE9QVElPTigpIGNhbGwgc2luY2UgaXQgd291bGQgYmUKCSAgdXNlbGVzcyBhbmQgY29uZnVzaW5nIGFmdGVyIGFuIGluaXRpYWwgY29uZmlndXJlLgoKMjAwOS0wMS0xOCAxNDo0MCAgbG93bWFuCgoJKiBNb2R1bGVzL0ZpbmRCb29zdC5jbWFrZTogQlVHOiBGaXhlZCBzdXBlcmZsdW91cyBhbmQgZHVwbGljYXRlCgkgIGRpcnMgaW4gQm9vc3RfTElCUkFSWV9ESVIuICBFbXBsb3llZCB3b3JrYXJvdW5kIGZvciBJc3N1ZSAjODM3OC4KCSAgUmVzb2x2ZXMgSXNzdWUgIzgwOTkKCjIwMDktMDEtMTggMTM6MDMgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ1Rlc3QuaCwgY21DVGVzdC5jeHgsIGN0ZXN0LmN4eDogQlVHOiBhZGQgb3V0cHV0IG9uCgkgIGZhaWx1cmUgdG8gY3Rlc3QgIzgyNTUKCjIwMDktMDEtMTggMTI6MDUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogQlVHOiBmaXggY3Jhc2ggd2l0aCBlbXB0eSBwcm9wZXJ0aWVzCgoyMDA5LTAxLTE4IDAwOjAyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDEtMTcgMDA6MDIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMS0xNiAwNDowNyAgbG93bWFuCgoJKiBNb2R1bGVzL0ZpbmRCb29zdC5jbWFrZTogQlVHOiBGaXhlZCBpc3N1ZXMgdXNpbmcgRmluZEJvb3N0IHdpdGgKCSAgQm9vc3RQcm8gcGFja2FnZWQgcmVsZWFzZXMuICBGaXhlZCByZWdyZXNzaW9uIGZvciBiamFtIHVzZXJzIG9uCgkgIFdpbjMyIGludHJvZHVjZWQgaW4gMS40LjIuNCAoNy8xMy8wOCkuICBUaGlzIGNvbW1pdCBwYXJ0aWFsbHkgb3IKCSAgY29tcGxldGVseSByZXNvbHZlcyBJc3N1ZXMgIzgxNzMsICM4MzI2LCAjNzk0MywgIzc3MjUhCgoyMDA5LTAxLTE2IDAwOjAyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDEtMTUgMTY6MTYgIGtpbmcKCgkqIFNvdXJjZS9jbUZpbmRQYWNrYWdlQ29tbWFuZC5jeHg6IEJVRzogRml4IGZpbmRfcGFja2FnZSBkb2NzIGZvcgoJICByZWZpbmQgZmVhdHVyZQoKCSAgUmVjZW50bHkgd2UgdGF1Z2h0IGZpbmRfcGFja2FnZSB0byByZS1maW5kIGEgcGFja2FnZQoJICBjb25maWd1cmF0aW9uIGZpbGUgaWYgaXQgaXMgZ2l2ZW4gYSB3cm9uZyBhbnN3ZXIuICBUaGlzIGZpeGVzIHRoZQoJICBkb2N1bWVudGF0aW9uIHRvIHJlZmxlY3QgdGhlIGNoYW5nZS4KCjIwMDktMDEtMTUgMTQ6MzcgIGtpbmcKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmg6IEJVRzogRW5mb3JjZSBtYXRjaGluZwoJICBwb2xpY3kgUFVTSC9QT1AgaW4gYWxsIGZpbGVzCgoJICBUaGUgZG9jdW1lbnRhdGlvbiBvZiBjbWFrZV9wb2xpY3kgUFVTSCBhbmQgUE9QIHN0YXRlcyB0aGF0IHRoZXkKCSAgbXVzdCBhbHdheXMgbWF0Y2guICBQcmV2aW91c2x5IHdlIGVuZm9yY2VkIHRoaXMgb25seSBmb3IgdGhlIHRvcAoJICBzY29wZSBvZiBlYWNoIENNYWtlTGlzdHMudHh0IGZpbGUuICBUaGlzIGVuZm9yY2VzIHRoZSByZXF1aXJlbWVudAoJICBmb3IgYWxsIGZpbGVzLgoKMjAwOS0wMS0xNSAxMzoyNCAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdEdlbmVyaWNIYW5kbGVyLmN4eCwKCSAgY21DVGVzdFN1Ym1pdEhhbmRsZXIuY3h4OiBFTkg6IGZpeCBwYXJ0IHN1Ym1pc3Npb24gdG8gbm90IGhhdmUKCSAgbWVtb3J5IG9mIHRoZSBsYXN0IHBhcnQgc3VibWlzc2lvbgoKMjAwOS0wMS0xNSAxMDozMiAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdFRlc3RIYW5kbGVyLmN4eCwgY21DVGVzdFRlc3RIYW5kbGVyLmg6IEJVRzoKCSAgZml4IGZvciBidWcgIzgxNzQKCjIwMDktMDEtMTUgMDk6MTcgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLCBTb3VyY2UvY21Eb2N1bWVudFZhcmlhYmxlcy5jeHgsCgkgIFNvdXJjZS9jbUV4dHJhRWNsaXBzZUNEVDRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21GdW5jdGlvbkNvbW1hbmQuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmgsIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9DTWFrZUxpc3RzLnR4dDogRU5IOgoJICBtZXJnZSBpbiBjaGFuZ2VzIGZyb20gbWFpbiB0cmVlLCBmaXggYm9ybGFuZCBidWlsZAoKMjAwOS0wMS0xNSAwODo1NyAga2luZwoKCSogU291cmNlLzogY21Eb2N1bWVudFZhcmlhYmxlcy5jeHgsIGNtTWFrZWZpbGUuY3h4OiBFTkg6IFByb3ZpZGUKCSAgdmFyaWFibGUgQ01BS0VfVkVSU0lPTgoKCSAgVGhpcyBjcmVhdGVzIHRoZSB2YXJpYWJsZSBDTUFLRV9WRVJTSU9OIGNvbnRhaW5pbmcgdGhlIGZ1bGwKCSAgdmVyc2lvbiBvZiBjbWFrZSBpbiAibWFqb3IubWlub3IucGF0Y2giIGZvcm1hdC4gIEl0IGlzCgkgIHBhcnRpY3VsYXJseSB1c2VmdWwgd2l0aCB0aGUgY29tcG9uZW50LXdpc2UgdmVyc2lvbiBjb21wYXJpc29uCgkgIHByb3ZpZGVkIGJ5IHRoZSBpZigpIGNvbW1hbmQuCgoyMDA5LTAxLTE1IDA4OjU3ICBraW5nCgoJKiBTb3VyY2UvY21Eb2N1bWVudFZhcmlhYmxlcy5jeHg6IEVOSDogRG9jdW1lbnQgdmFyaWFibGUKCSAgQ01BS0VfUEFUQ0hfVkVSU0lPTgoKCSAgVGhpcyBhZGRzIGRvY3VtZW50YXRpb24gb2YgQ01BS0VfUEFUQ0hfVkVSU0lPTiB0byB0aGUgZ2VuZXJhdGVkCgkgIHZhcmlhYmxlcyBkb2N1bWVudGF0aW9uLgoKMjAwOS0wMS0xNSAwMjowNyAgbG93bWFuCgoJKiBNb2R1bGVzL0ZpbmRCb29zdC5jbWFrZTogQlVHOiBmaXhlZCBidWcgIzc1Mjk6IEZpbmRCb29zdCBmYWlscyB0bwoJICBmaW5kIGJvb3N0IG9uIFN1U0UgMTEuMCBkdWUgdG8gR0NDIHJlcG9ydGluZyB2ZXJzaW9uIHgueSBhbmQgbm90CgkgIHgueS56CgoyMDA5LTAxLTE1IDAxOjIyICBsb3dtYW4KCgkqIE1vZHVsZXMvRmluZEJvb3N0LmNtYWtlOiBCVUc6IEZpeGVzIGJ1ZyAjODA1OS4gIEFsc28gYWRkZWQKCSAgQm9vc3RfREVCVUcgdmFyaWFibGUgZm9yIHRyb3VibGVzaG9vdGluZy4KCjIwMDktMDEtMTUgMDA6MDIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMS0xNCAxNToxNCAga2luZwoKCSogU291cmNlLzogY21GdW5jdGlvbkNvbW1hbmQuY3h4LCBjbU1ha2VmaWxlLmg6IEJVRzogUG9wIGEgZnVuY3Rpb24KCSAgc2NvcGUgZXZlbiBvbiBlcnJvcgoKCSAgVGhpcyB1c2VzIGFuIGF1dG9tYXRpYyB2YXJpYWJsZSB0byBwdXNoIGFuZCBwb3AgdmFyaWFibGUgc2NvcGUKCSAgaW5zaWRlIGEgZnVuY3Rpb24gY2FsbC4gIFByZXZpb3VzbHkgaWYgdGhlIGZ1bmN0aW9uIGZhaWxlZCBpdHMKCSAgc2NvcGUgd291bGQgbm90IGJlIHBvcHBlZC4gIFRoaXMgYXBwcm9hY2ggZ3VhcmFudGVlcyBhIGJhbGFuY2VkCgkgIHB1c2gvcG9wLgoKMjAwOS0wMS0xNCAxMzo0OCAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdEJ1aWxkSGFuZGxlci5jeHgsIGNtUHJvY2Vzcy5jeHg6IEVOSDogZml4CgkgIHJldHVybiB2YWx1ZSB0byBjdGVzdF9idWlsZCBhbmQgcmVtb3ZlIGRlYnVnIHByaW50IGluIGNtUHJvY2VzcwoKMjAwOS0wMS0xNCAxMzowMSAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdEJ1aWxkQ29tbWFuZC5jeHgsIGNtQ1Rlc3RCdWlsZENvbW1hbmQuaCwKCSAgY21DVGVzdEJ1aWxkSGFuZGxlci5jeHgsIGNtQ1Rlc3RCdWlsZEhhbmRsZXIuaCwgY21Qcm9jZXNzLmN4eDoKCSAgRU5IOiBhbGxvdyBjdGVzdF9idWlsZCB0byByZXR1cm4gZXJyb3IgYW5kIHdhcm5pbmcgY291bnRzCgoyMDA5LTAxLTE0IDA5OjUxICBraW5nCgoJKiBTb3VyY2UvOiBjbUV4dHJhRWNsaXBzZUNEVDRHZW5lcmF0b3IuY3h4LAoJICBDVGVzdC9jbUNUZXN0U3VibWl0SGFuZGxlci5jeHg6IENPTVA6IEZpeCBjb25zdCBzZXQgZmluZCBmb3IKCSAgQm9ybGFuZCA1LjUKCgkgIFRoZSBCb3JsYW5kIDUuNSBjb21waWxlcidzIFNUTCBzZXQgZG9lcyBub3QgZGVmaW5lIGNvcnJlY3QKCSAgc2lnbmF0dXJlcyBmb3IgaXRzIGZpbmQoKSBtZW1iZXJzLCBsZWFkaW5nIHRvIGJ1aWxkIGVycm9ycy4gIFRoaXMKCSAgd29ya3MgYXJvdW5kIHRoZSBwcm9ibGVtLgoKMjAwOS0wMS0xNCAwOTozNCAga2luZwoKCSogVGVzdHMvRmluZFBhY2thZ2VUZXN0L0NNYWtlTGlzdHMudHh0OiBFTkg6IFRlc3QgZmluZF9wYWNrYWdlCgkgIHJlLWZpbmQgZmVhdHVyZQoKCSAgUmVjZW50bHkgd2UgdGF1Z2h0IGZpbmRfcGFja2FnZSB0byByZS1maW5kIGEgcGFja2FnZSBpZiBpdHMKCSAgPHBhY2thZ2U+X0RJUiByZXN1bHQgdmFyaWFibGUgd2FzIHNldCB0byBhIGxvY2F0aW9uIG5vdAoJICBjb250YWluaW5nIHRoZSBwYWNrYWdlIChpbnN0ZWFkIG9mIHJlcG9ydGluZyBhbiBlcnJvciBhcyBiZWZvcmUpLgoJICAgVGhpcyB0ZXN0cyB0aGUgZmVhdHVyZS4KCjIwMDktMDEtMTQgMDA6MDIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMS0xMyAxMzowMyAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWwsCgkgIE1vZHVsZXMvQ01ha2VHZW5lcmljU3lzdGVtLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlU3lzdGVtU3BlY2lmaWNJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kR2V0dGV4dC5jbWFrZSwgTW9kdWxlcy9GaW5kUHl0aG9uSW50ZXJwLmNtYWtlLAoJICBTb3VyY2UvY21DTWFrZU1pbmltdW1SZXF1aXJlZC5jeHgsCgkgIFNvdXJjZS9jbUNNYWtlTWluaW11bVJlcXVpcmVkLmgsIFNvdXJjZS9jbUNvbXB1dGVMaW5rRGVwZW5kcy5jeHgsCgkgIFNvdXJjZS9jbUNvbXB1dGVMaW5rRGVwZW5kcy5oLCBTb3VyY2UvY21Eb2N1bWVudFZhcmlhYmxlcy5jeHgsCgkgIFNvdXJjZS9jbURvY3VtZW50YXRpb25Gb3JtYXR0ZXJEb2Nib29rLmN4eCwKCSAgU291cmNlL2NtRXhwb3J0RmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUV4cG9ydEluc3RhbGxGaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtRXhwb3J0SW5zdGFsbEZpbGVHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtRXh0cmFDb2RlQmxvY2tzR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtRXh0cmFFY2xpcHNlQ0RUNEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUV4dHJhRWNsaXBzZUNEVDRHZW5lcmF0b3IuaCwgU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21GaWxlQ29tbWFuZC5oLCBTb3VyY2UvY21GaW5kUGFja2FnZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21GaW5kUGFja2FnZUNvbW1hbmQuaCwKCSAgU291cmNlL2NtR2V0VGFyZ2V0UHJvcGVydHlDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsRXhwb3J0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbEV4cG9ydEdlbmVyYXRvci5oLCBTb3VyY2UvY21JbnN0YWxsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5oLCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbVNldENvbW1hbmQuY3h4LCBTb3VyY2UvY21UYXJnZXQuY3h4LCBTb3VyY2UvY21UYXJnZXQuaCwKCSAgU291cmNlL2NtVGFyZ2V0TGlua0xpYnJhcmllc0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21UYXJnZXRMaW5rTGlicmFyaWVzQ29tbWFuZC5oLCBTb3VyY2UvY21ha2UuY3h4LAoJICBTb3VyY2UvY21ha2UuaCwgU291cmNlL0NUZXN0L2NtQ1Rlc3RCdWlsZEFuZFRlc3RIYW5kbGVyLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFVwZGF0ZUhhbmRsZXIuY3h4LAoJICBTb3VyY2UvUXREaWFsb2cvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9RdERpYWxvZy9Dcm9zc0NvbXBpbGVyLnVpLAoJICBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4LCBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuaHh4LmluLAoJICBTb3VyY2Uva3dzeXMvdGVzdFByb2Nlc3MuYywgVGVtcGxhdGVzL0RMTEhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVtcGxhdGVzL0VYRUhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVtcGxhdGVzL0VYRVdpbkhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVtcGxhdGVzL3N0YXRpY0xpYkhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVzdHMvQ3VzdG9tQ29tbWFuZC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRXhwb3J0SW1wb3J0L0V4cG9ydC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRXhwb3J0SW1wb3J0L0ltcG9ydC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRmluZFBhY2thZ2VUZXN0L0NNYWtlTGlzdHMudHh0LCBUZXN0cy9GaW5kUGFja2FnZVRlc3QvQmF6CgkgIDEuMS9CYXpDb25maWcuY21ha2UsIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9CYXoKCSAgMS4xL0JhekNvbmZpZ1ZlcnNpb24uY21ha2UsIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9CYXoKCSAgMS4yL0NNYWtlL0JhekNvbmZpZy5jbWFrZSwgVGVzdHMvRmluZFBhY2thZ2VUZXN0L0JhegoJICAxLjIvQ01ha2UvQmF6Q29uZmlnVmVyc2lvbi5jbWFrZSwKCSAgVGVzdHMvRmluZFBhY2thZ2VUZXN0L2xpYi9jbWFrZS96b3QtNC4wL3pvdC1jb25maWctdmVyc2lvbi5jbWFrZSwKCSAgVGVzdHMvRmluZFBhY2thZ2VUZXN0L2xpYi9jbWFrZS96b3QtNC4wL3pvdC1jb25maWcuY21ha2UsCgkgIFRlc3RzL1N0cmluZ0ZpbGVUZXN0L0NNYWtlTGlzdHMudHh0OiBFTkg6IG1lcmdlIGluIGNoYW5nZXMgZnJvbQoJICBDVlMgdG8gYnJhbmNoIGZvciAyLjYuMyBSQyA4CgoyMDA5LTAxLTEzIDAwOjAyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDEtMTIgMTE6MTAgIGtpbmcKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogQ09NUDogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAwOS0wMS0xMiAxMDozOCAga2luZwoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXRDb21tYW5kLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXRDb21tYW5kLmgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3VibWl0SGFuZGxlci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3VibWl0SGFuZGxlci5oLAoJICBUZXN0cy9DVGVzdFRlc3QyL3Rlc3QuY21ha2UuaW46IEVOSDogVGVhY2ggY3Rlc3Rfc3VibWl0IGFib3V0CgkgIHBhcnRzCgoJICBUaGlzIGFkZHMgYSBQQVJUUyBvcHRpb24gdG8gdGhlIGN0ZXN0X3N1Ym1pdCBjb21tYW5kIHdoaWNoIHRlbGxzCgkgIGl0IHRvIHN1Ym1pdCBvbmx5IHBhcnRzIHdob3NlIG5hbWVzIGFyZSBsaXN0ZWQgd2l0aCB0aGUgb3B0aW9uLgoKMjAwOS0wMS0xMiAxMDozNyAga2luZwoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaCwgQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RDb25maWd1cmVIYW5kbGVyLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdENvdmVyYWdlSGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RHZW5lcmljSGFuZGxlci5jeHgsIENUZXN0L2NtQ1Rlc3RHZW5lcmljSGFuZGxlci5oLAoJICBDVGVzdC9jbUNUZXN0U3VibWl0SGFuZGxlci5jeHgsIENUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eDogRU5IOiBEaXZpZGUgQ1Rlc3QgZmlsZSBzdWJtaXNzaW9uCgkgIGxpc3QgYnkgcGFydAoKCSAgVGhpcyBzcGxpdHMgdGhlIGxpc3Qgb2YgZmlsZXMgZm9yIENUZXN0IHRvIHN1Ym1pdCBpbnRvIHRob3NlCgkgIGJlbG9uZ2luZyB0byBlYWNoIHBhcnQuICBUaGUgc2V0IGlzIHJlY29tYmluZWQganVzdCBiZWZvcmUKCSAgc3VibWlzc2lvbi4gIExhdGVyIHRoaXMgd2lsbCBhbGxvdyBwaWVjZXdpc2Ugc3VibWlzc2lvbnMuCgoyMDA5LTAxLTEyIDEwOjM3ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21DVGVzdC5oOiBFTkg6IFJlZmFjdG9yIGNtQ1Rlc3QgdGVzdCBwYXJ0CgkgIHJlcHJlc2VudGF0aW9uCgoJICBUaGlzIGludHJvZHVjZXMgdGhlIG5hbWUgInBhcnQiIHRvIGRlbm90ZSBhIHBvcnRpb24gb2YgdGhlCgkgIHRlc3RpbmcgYW5kIHN1Ym1pc3Npb24gcHJvY2VzcyBwZXJmb3JtZWQgYnkgY3Rlc3QuICBXZSBnZW5lcmFsaXplCgkgIHRoZSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciBlYWNoIHBhcnQgaXMgZW5hYmxlZCBpbnRvIGEKCSAgc3RydWN0dXJlIHRvIHdoaWNoIG1vcmUgaW5mb3JtYXRpb24gY2FuIGJlIGFkZGVkIGxhdGVyLiAgV2UKCSAgcHJvdmlkZSBiaS1kaXJlY3Rpb25hbCBtYXBwaW5nIGJldHdlZW4gcGFydCBpZCBhbmQgcGFydCBuYW1lcy4KCjIwMDktMDEtMTIgMDk6MTEgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0LmgsIENUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0Q29uZmlndXJlSGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0R2VuZXJpY0hhbmRsZXIuY3h4LCBDVGVzdC9jbUNUZXN0R2VuZXJpY0hhbmRsZXIuaCwKCSAgQ1Rlc3QvY21DVGVzdEhhbmRsZXJDb21tYW5kLmN4eCwgQ1Rlc3QvY21DVGVzdEhhbmRsZXJDb21tYW5kLmgsCgkgIENUZXN0L2NtQ1Rlc3RNZW1DaGVja0hhbmRsZXIuY3h4LCBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4OgoJICBFTkg6IFRlYWNoIGN0ZXN0XyogdG8gY3JlYXRlIGFwcGVuZGluZyBYTUwgZmlsZXMKCgkgIFRoaXMgYWRkcyBhbiBBUFBFTkQgb3B0aW9uIHRvIHRoZSBjdGVzdF8qIGNvbW1hbmRzIHdoaWNoIHRlbGxzCgkgIHRoZW0gdG8gcHV0IHRoZSBBcHBlbmQ9InRydWUiIGF0dHJpYnV0ZSBpbiB0aGUgU2l0ZSBlbGVtZW50IG9mCgkgIHRoZWlyIFhNTCBmaWxlLgoKMjAwOS0wMS0xMiAwOToxMCAga2luZwoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdEhhbmRsZXJDb21tYW5kLmN4eCwKCSAgY21DVGVzdEhhbmRsZXJDb21tYW5kLmg6IEVOSDogUmVmYWN0b3IgQ1Rlc3QgY29tbWFuZCBhcmd1bWVudAoJICBoYW5kbGluZwoKCSAgVGhlIHByZXZpb3VzIGFwcHJvYWNoIHRvIGhhbmRsaW5nIG9mIGFyZ3VtZW50cyB0byBjdGVzdF8qCgkgIGNvbW1hbmRzIHdvcmtlZCBvbmx5IGZvciBrZXl3b3JkL3ZhbHVlIGFyZ3VtZW50cyB3aXRoIGEgc2luZ2xlCgkgIHZhbHVlLiAgVGhpcyByZWZhY3RvcnMgdGhlIGFwcHJvYWNoIHRvIGFsbG93IHNvbWUgY29tbWFuZHMgdG8KCSAgZGVmaW5lIGFsdGVybmF0aXZlIGFyZ3VtZW50IGZvcm1zLgoKMjAwOS0wMS0xMiAwMDowMiAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAxLTExIDEyOjE4ICBhbGV4CgoJKiBTb3VyY2UvOiBjbUV4dHJhRWNsaXBzZUNEVDRHZW5lcmF0b3IuY3h4LAoJICBjbUV4dHJhRWNsaXBzZUNEVDRHZW5lcmF0b3IuaDogRU5IOiBwYXRjaCBmcm9tIE1pZ3VlbCwgQXMgaXQgaXMKCSAgdG9kYXkgdGhlIGdlbmVyYXRvciBjcmVhdGVzIGxpbmtlZCByZXNvdXJjZXMgdG8KCSAgTElCUkFSWV9PVVRQVVRfUEFUSCBhbmQgRVhFQ1VUQUJMRV9PVVRQVVRfUEFUSCBpZiB0aGV5IGFyZSBub3QgYQoJICBzdWJkaXJlY3Rvcnkgb2YgdGhlIGJpbmFyeSBkaXIsIHNvIHRoYXQgdGhlIElERSBjYW4gZGV0ZWN0IHRoZQoJICBCaW5hcmllcyAodGhpcyB3YXMgYWRkcmVzc2VkIHByZXZpb3VzbHkgYXMgYSByZXN1bHQgb2YgYSBidWcKCSAgcmVwb3J0KS4KCgkgIFJlZHVjZXMgY29kZSByZWR1bmRhbmN5IGJ5IGVuY2Fwc3VsYXRpbmcgY29tbW9uIGJlaGF2aW91ciBmb3IKCSAgTElCUkFSWV9PVVRQVVRfUEFUSCBhbmQgRVhFQ1VUQUJMRV9PVVRQVVRfUEFUSCBpbgoJICBBcHBlbmRMaW5rZWRSZXNvdXJjZS4KCgkgIEFkZHJlc3NlcyB0aGUgdHdvIG5ldyB2YXJpYWJsZSBuYW1lcyBmb3IgdGhlc2UgbG9jYXRpb25zLAoJICBDTUFLRV9MSUJSQVJZX09VVFBVVF9ESVJFQ1RPUlkgYW5kIENNQUtFX1JVTlRJTUVfT1VUUFVUX0RJUkVDVE9SWQoJICByZXNwZWN0aXZlbHkuCgoJICBGaW5hbGx5LCBpdCBpcyBhZGRyZXNzaW5nIGEgYnVnIGluIHRoZSBjdXJyZW50IGNvZGUgZm9yIHJlbGF0aXZlCgkgIHBhdGhzIGluIHRoZXNlIHZhcmlhYmxlcy4gSWYgaXQgaXMgYSByZWxhdGl2ZSBwYXRoIHRvIHRoZSBiaW5hcnkKCSAgZGlyLCB0aGUgSXNTdWJkaXJlY3RvcnkgY2FsbCByZXR1cm5zIGZhbHNlIGFuZCBzbyBpdCBjcmVhdGVzIHRoZQoJICBsaW5rZWQgcmVzb3VyY2UuIFRoZSBjcmVhdGVkIGxpbmtlZCByZXNvdXJjZSBwcm9kdWNlcyBhbiBlcnJvciBpbgoJICB0aGUgRWNsaXBzZSBJREUgYmVjYXVzZSB0aGUgSURFIGV4cGVjdHMgaXQgdG8gYmUgYSBmdWxsIHBhdGguIFRoZQoJICBwYXRjaCBub3cgYWRkcmVzc2VzIHRoaXMgYnkgY29uY2F0ZW5hdGluZyB0aGUgYmluYXJ5IGRpciBpZiBpdCBpcwoJICBhIHJlbGF0aXZlIHBhdGguCgoyMDA5LTAxLTExIDAwOjAyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDEtMTAgMDk6MDEgIGFsZXgKCgkqIFNvdXJjZS9jbURvY3VtZW50YXRpb25Gb3JtYXR0ZXJEb2Nib29rLmN4eDogQlVHOiBkb24ndCBjcmVhdGUKCSAgZW1wdHkgPGl0ZW1pemVkbGlzdD5zICgjNzI4OSksIGRibGF0ZXggZGlkbid0IGxpa2UgdGhhdAoKCSAgQWxleAoKMjAwOS0wMS0xMCAwODo0NiAgYWxleAoKCSogTW9kdWxlcy9GaW5kUHl0aG9uSW50ZXJwLmNtYWtlOiBFTkg6IGZpeCAjNzkxMzogZmluZCBhbHNvIHB5dGhvbgoJICAyLjYgb24gd2luZG93cwoKCSAgQWxleAoKMjAwOS0wMS0xMCAwODozOSAgYWxleAoKCSogTW9kdWxlcy9GaW5kR2V0dGV4dC5jbWFrZTogQlVHOiBmaXggIzgxMjIsIF9maXJzdFBvRmlsZSB3YXMgbm90CgkgIGVtcHR5IGJlY2F1c2UgaXQgd2FzIG5vIHJlYWwgdmFyaWFibGUgYnV0IGp1c3QgYSBtYWNybyBhcmd1bWVudAoJICAtPiBtYWtlIGl0IGEgcmVhbCB2YXJpYWJsZQoKCSAgQWxleAoKMjAwOS0wMS0xMCAwODoxNiAgYWxleAoKCSogU291cmNlL2NtRG9jdW1lbnRWYXJpYWJsZXMuY3h4OiBTVFlMRTogZG9jdW1lbnQKCSAgQ01BS0VfQ09MT1JfTUFLRUZJTEUgKCM3ODc4KQoKCSAgQWxleAoKMjAwOS0wMS0xMCAwMDowMiAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAxLTA5IDIwOjM1ICBhbGV4CgoJKiBTb3VyY2UvY21FeHRyYUVjbGlwc2VDRFQ0R2VuZXJhdG9yLmg6IENPTVA6IGZvcmdvdCB0byBjb21taXQgdGhpcwoJICBmaWxlCgoJICBBbGV4CgoyMDA5LTAxLTA5IDIwOjI2ICBhbGV4CgoJKiBNb2R1bGVzL0NNYWtlU3lzdGVtU3BlY2lmaWNJbmZvcm1hdGlvbi5jbWFrZTogU1RZTEU6IGZpeCB0eXBvCgoJICBBbGV4CgoyMDA5LTAxLTA5IDIwOjE4ICBhbGV4CgoJKiBNb2R1bGVzL0NNYWtlR2VuZXJpY1N5c3RlbS5jbWFrZTogU1RZTEU6IHRoaXMgaXMgbm90IG5lY2Vzc2FyeQoJICBhbnltb3JlIGZvciBrZGV2ZWxvcCwgdGhlIGtkZXZlbG9wIGdlbmVyYXRvciBub3cgZ2VuZXJhdGVzIHRoZQoJICBwcm9qZWN0IHNvIHRoYXQgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIFZFUkJPU0UgaXMgc2V0IHRvIDEgd2hlbgoJICBtYWtlIGlzIGV4ZWN1dGVkIGJ5IGtkZXZlbG9wIChhbmQgYWRkaXRpb25hbGx5IHRoaXMgZGlkbid0IHdvcmssCgkgIHNpbmNlIENNQUtFX0dFTkVSQVRPUiBuZXZlciBtYXRjaGVzIEtEZXZlbG9wMywgdGhpcyBpcyBub3cgaW4KCSAgQ01BS0VfRVhUUkFfR0VORVJBVE9SKQoKCSAgQWxleAoKMjAwOS0wMS0wOSAyMDowOSAgYWxleAoKCSogU291cmNlL2NtRXh0cmFFY2xpcHNlQ0RUNEdlbmVyYXRvci5jeHg6IFNUWUxFOiByZW1vdmUgZGVidWcKCSAgb3V0cHV0CgoJICBBbGV4CgoyMDA5LTAxLTA5IDE5OjUyICBhbGV4CgoJKiBTb3VyY2UvY21FeHRyYUVjbGlwc2VDRFQ0R2VuZXJhdG9yLmN4eDogQlVHOiBmaXggIzgwNzM6IGFsc28gc2hvdwoJICB0YXJnZXRzIGNyZWF0ZWQgdXNpbmcgYWRkX2N1c3RvbV90YXJnZXRzKCkgLWFkZGl0aW9uYWxseSBhbHNvCgkgIGNyZWF0ZSB0aGUgdGFyZ2V0L2Zhc3QgdGFyZ2V0cyBmb3IgRWNsaXBzZSAtc2tpcCBwcmVpbnN0YWxsIGFuZAoJICBpbnN0YWxsL2xvY2FsLCB0aGV5IHNob3VsZCBiZSBvbmx5IHJhcmVseSB1c2VkCgoJICBBbGV4CgoyMDA5LTAxLTA5IDE5OjA4ICBhbGV4CgoJKiBTb3VyY2UvY21FeHRyYUVjbGlwc2VDRFQ0R2VuZXJhdG9yLmN4eDogQlVHOiByZW1vdmUgdGhlIGNhbGwgdG8KCSAgRW5hYmxlSW5zdGFsbFRhcmdldCgpLCBkb24ndCBrbm93IHdoeSBpdCB3YXMgdGhlcmUuICBUaGlzIGNhdXNlZAoJICB0aGF0IGFsd2F5cyBhbiBpbnN0YWxsIHRhcmdldCB3YXMgY3JlYXRlZCB3aGljaCBpbnN0YWxsZWQKCSAgbm90aGluZywgZXZlbiBpZiB0aGVyZSB3YXMgbm8gaW5zdGFsbCBydWxlIGluIHRoZSBwcm9qZWN0LgoKCSAgQWxleAoKMjAwOS0wMS0wOSAxODo1OCAgYWxleAoKCSogU291cmNlLzogY21FeHRyYUVjbGlwc2VDRFQ0R2VuZXJhdG9yLmN4eCwKCSAgY21FeHRyYUVjbGlwc2VDRFQ0R2VuZXJhdG9yLmg6IEJVRzogZml4ICM4MTA1OiBkb24ndCBoYXJkY29kZQoJICAiZ2NjIiBhbmQgIm1ha2UiIGJ1dCB1c2UgQ01BS0VfQ19DT01QSUxFUiBhbmQgQ01BS0VfTUFLRV9QUk9HUkFNCgkgIGluc3RlYWQKCgkgIEFsZXgKCjIwMDktMDEtMDkgMTg6MDQgIGFsZXgKCgkqIFNvdXJjZS9jbUV4dHJhQ29kZUJsb2Nrc0dlbmVyYXRvci5jeHg6IEJVRzogZml4ICM4MjAzOiBjb2RlYmxvY2tzCgkgICsgbWluZ3cgZG9lc24ndCBsaWtlIHRoZSBleHRyYSBxdW90ZXMgYXJvdW5kIHRoZSBwYXRoIHRvIHRoZQoJICBtYWtlZmlsZSBpZiBpdCBjb250YWlucyBzcGFjZXMsIHVuZGVyIExpbnV4IGl0IHdvcmtzIHdpdGggc3BhY2VzCgoJICBBbGV4CgoyMDA5LTAxLTA5IDE2OjQ0ICBraW5nCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogQWRkIG1pc3NpbmcgbmV3bGluZSB0byBDVGVzdC1nZW5lcmF0ZWQKCSAgeG1sCgoJICBUaGUgR2VuZXJhdG9yPSJjdGVzdC4uLiIgYXR0cmlidXRlIG9mIFNpdGUgZWxlbWVudHMgaW4KCSAgQ1Rlc3QtZ2VuZXJhdGVkIFhNTCBmaWxlcyB3YXMgbWlzc2luZyBhIG5ld2xpbmUsIGNhdXNpbmcgdGhlIG5leHQKCSAgYXR0cmlidXRlIHRvIGFwcGVhciBvbiB0aGUgc2FtZSBsaW5lLiAgVGhpcyBhZGRzIHRoZSBuZXdsaW5lLgoKMjAwOS0wMS0wOSAxMjo1NiAgaG9mZm1hbgoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFTkg6IGZpeCBjcmFzaCBmb3Igb2xkIHN0eWxlIHNjcmlwdHMKCjIwMDktMDEtMDkgMTI6MzIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNUZXN0Lmg6IEVOSDogZml4IHJldHVybiB0eXBlCgoyMDA5LTAxLTA5IDEyOjA1ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21DVGVzdC5oLCBDVGVzdC9jbUNUZXN0U2NyaXB0SGFuZGxlci5oOgoJICBFTkg6IGFkZCBzdWJwcm9qZWN0IHRhZyBwcm9wZXJ0eSBmb3IgY3Rlc3QKCjIwMDktMDEtMDkgMTE6NDQgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy90ZXN0UHJvY2Vzcy5jOiBFTkg6IEV4dGVuZCBrd3N5cy50ZXN0UHJvY2Vzcy00CgkgIHRpbWVvdXQKCgkgIFRoZSB0ZXN0IGlzIHN1cHBvc2VkIHRvIHRlcm1pbmF0ZSBxdWlja2x5IHdoZW4gaXRzIGNoaWxkIGNyYXNoZXMsCgkgIGJ1dCB0aGF0IHNlZW1zIHRvIHRha2Ugb3ZlciAxMHMgb24gYnVzeSBzeXN0ZW1zLiAgVGhpcyBleHRlbmRzCgkgIHRoZSB0ZXN0J3MgdGltZW91dCB0byAzMHMgdG8gaGVscCBpdCBwYXNzIHdoZW4gcnVubmluZyBvbiBhIGJ1c3kKCSAgc3lzdGVtLgoKMjAwOS0wMS0wOSAwMDowMiAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAxLTA4IDE4OjA5ICBhbGV4CgoJKiBTb3VyY2UvOiBjbUV4dHJhRWNsaXBzZUNEVDRHZW5lcmF0b3IuaCwKCSAgY21FeHRyYUVjbGlwc2VDRFQ0R2VuZXJhdG9yLmN4eDogQlVHOiBhcHBseSBwYXRjaCBmcm9tICM4MjA1LAoJICBhbHNvIGZpeGVzICM4MjEyOiBlc2NhcGUgY2hhcmFjdGVycyBmb3IgWE1MIHdoZW4gd3JpdGluZyB0aGUKCSAgZWNsaXBzZSBwcm9qZWN0IGZpbGVzCgoJICBBbGV4CgoyMDA5LTAxLTA4IDE3OjU3ICBhbGV4CgoJKiBTb3VyY2UvOiBjbUZpbmRQYWNrYWdlQ29tbWFuZC5jeHgsIGNtRmluZFBhY2thZ2VDb21tYW5kLmg6IEVOSDoKCSAgd2hlbiB0cnlpbmcgdG8gZmluZCBhIEZvb0NvbmZpZy5jbWFrZSBmaWxlLCBpZiBpbiB0aGUgZGlyZWN0b3J5CgkgIHBvaW50ZWQgdG8gYnkgdGhlIEZvb19ESVIgdmFyaWFibGUgdGhlcmUgaXMgbm8gRm9vQ29uZmlnLmNtYWtlCgkgIGZpbGUsIHRoZW4gaW5zdGVhZCBvZiBhYm9ydCBhbmQgY29tcGxhaW4gdGhhdCB0aGUgdXNlciBzaG91bGQgc2V0CgkgIG9yIGNsZWFyIHRoZSBGb29fRElSIHZhcmlhYmxlcywganVzdCBzZWFyY2ggZm9yIHRoZSBmaWxlIGFuZAoJICBkaXNjYXJkIHRoZSBvbGQgRm9vX0RJUiBjb250ZW50cwoKCSAgVGhlIHRlc3RzIHN1Y2NlZWQsIG9rIGJ5IEJyYWQuCgoJICBBbGV4CgoyMDA5LTAxLTA4IDA0OjQ3ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRDeHhUZXN0LmNtYWtlOiBmaWxlIEZpbmRDeHhUZXN0LmNtYWtlIHdhcyBhZGRlZCBvbgoJICBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDktMDItMDQgMTY6NDQ6MDEgKzAwMDAKCjIwMDktMDEtMDggMDQ6NDcgIGxvd21hbgoKCSogTW9kdWxlcy9GaW5kQ3h4VGVzdC5jbWFrZTogQlVHOiBGaXhlZCBDWFhURVNUX0lOQ0xVREVfRElSUyBzbyBpdAoJICB3aWxsIHdvcmsgcHJvcGVybHkgd2l0aCBOT1RGT1VORC4KCgkgIEFsc28gZWxpbWluYXRlZCBzdXBlcmZsdW91cyBDWFhURVNUX0ZPVU5EIGFzc2lnbm1lbnQgYW5kIGNsZWFuZWQKCSAgdXAgdGhlIGNvZGUgYW5kIGFkZGVkIGFkZGl0aW9uYWwgZG9jdW1lbnRhdGlvbi4gVGFnZ2VkIHYxLjAuCgoyMDA5LTAxLTA4IDAwOjAzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDEtMDcgMTc6MjggIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy9Dcm9zc0NvbXBpbGVyLnVpOgoJICBFTkg6CVR3ZWFrIFN5c3RlbSBOYW1lIGZpZWxkIGZvciBjcm9zcyBjb21waWxpbmcsIHNvIGl0IGRvZXNuJ3QKCSAgaGF2ZSBhIGZpbGUgY2hvb3NlciBidXR0b24uCgoyMDA5LTAxLTA3IDE0OjE2ICBraW5nCgoJKiBTb3VyY2UvY21JbnN0YWxsRXhwb3J0R2VuZXJhdG9yLmN4eDogRU5IOiBDbGVhbiBwZXItY29uZmlnIGV4cG9ydAoJICBmaWxlcyBkdXJpbmcgaW5zdGFsbAoKCSAgV2hlbiBpbnN0YWxsaW5nIHRoZSBtYWluIGV4cG9ydCBmaWxlIHRoZSBpbnN0YWxsIHRyZWUgbWF5IGJlCgkgIGRpcnR5LiAgSWYgb3V0LWRhdGVkIHBlci1jb25maWcgZmlsZXMgZXhpc3QgdGhleSBtYXkgYnJlYWsgdGhlCgkgIG5ld2x5IGluc3RhbGxlZCBtYWluIGZpbGUgd2hpY2ggd2hlbiBpdCBnbG9icyB0aGVtLiAgVGhpcyB0ZWFjaGVzCgkgIHRoZSBpbnN0YWxsYXRpb24gc2NyaXB0IHRvIGRldGVjdCB3aGVuIGl0IGlzIGFib3V0IHRvIHJlcGxhY2UgdGhlCgkgIG1haW4gZXhwb3J0IGZpbGUgd2l0aCBhIGRpZmZlcmVudCBvbmUgYW5kIGNsZWFucyBvdXQgYW55IGV4aXN0aW5nCgkgIHBlci1jb25maWcgZmlsZXMuCgoyMDA5LTAxLTA3IDE0OjE2ICBraW5nCgoJKiBTb3VyY2UvOiBjbUZpbGVDb21tYW5kLmN4eCwgY21GaWxlQ29tbWFuZC5oOiBFTkg6IEFkZAoJICB1bmRvY3VtZW50ZWQgZmlsZShESUZGRVJFTlQpIGNvbW1hbmQKCgkgIFRoaXMgbmV3IGNvbW1hbmQgd2lsbCBiZSB1c2VkIGJ5IGdlbmVyYXRlZCBpbnN0YWxsYXRpb24gc2NyaXB0cwoJICB0byBkZXRlcm1pbmUgd2hldGhlciBhbiBhbHJlYWR5LWluc3RhbGxlZCBleHBvcnQgZmlsZSBoYXMKCSAgY2hhbmdlZC4KCjIwMDktMDEtMDcgMTQ6MTYgIGtpbmcKCgkqIFNvdXJjZS86IGNtRXhwb3J0SW5zdGFsbEZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUV4cG9ydEluc3RhbGxGaWxlR2VuZXJhdG9yLmg6IEVOSDogUmVmYWN0b3IgY29tcHV0YXRpb24gb2YKCSAgaW1wb3J0IGZpbGUgZ2xvYgoKCSAgTmV3IG1ldGhvZCBjbUV4cG9ydEluc3RhbGxGaWxlR2VuZXJhdG9yOjpHZXRDb25maWdJbXBvcnRGaWxlR2xvYgoJICBjb21wdXRlcyB0aGUgZ2xvYmJpbmcgZXhwcmVzc2lvbiB0aGF0IGFuIGluc3RhbGxlZCBleHBvcnQgZmlsZQoJICB1c2VzIHRvIGxvYWQgaXRzIHBlci1jb25maWd1cmF0aW9uIHN1cHBvcnQgZmlsZXMuCgoyMDA5LTAxLTA3IDEwOjQxICBraW5nCgoJKiBTb3VyY2UvOiBjbVRlc3QuY3h4LCBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuaDogRU5IOiBUZWFjaCBDVGVzdCB0byBzdWJtaXQgdGVzdAoJICBwcm9wZXJ0eSBMQUJFTFMKCgkgIFRoaXMgdGVhY2hlcyBDVGVzdCB0byBzZW5kIHRoZSB0ZXN0IHByb3BlcnR5ICJMQUJFTFMiIGluIFRlc3QueG1sCgkgIGRhc2hib2FyZCBzdWJtaXNzaW9ucyBhcyBMYWJlbCBlbGVtZW50cyBpbnNpZGUgYSBMYWJlbHMgZWxlbWVudC4KCjIwMDktMDEtMDcgMDA6MDIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMS0wNiAxNTowNSAga2luZwoKCSogQ1Rlc3RDdXN0b20uY21ha2UuaW46IENPTVA6IElnbm9yZSB3YXJuaW5nIExOSzQyMDQgZm9yIENNYWtlCgkgIGRhc2hib2FyZAoKCSAgVGhpcyB3YXJuaW5nIGFwcGVhcnMgZm9yIGxpYnRhci5vYmosIGN1cmx0ZXN0Lm9iaiwgYW5kCgkgIHN5bmNoX2NsaWVudC5vYmogcmVndWxhcmx5IG9uIENNYWtlIGRhc2hib2FyZCBzdWJtaXNzaW9ucyBmcm9tIFZTCgkgIGJ1aWxkcy4gIFRoZXkgc2VlbSB0byBvY2N1ciBkdWUgdG8gc29tZSBraW5kIG9mIHJhY2UgY29uZGl0aW9uCgkgIGZvciBvYmplY3RzIGluIHNtYWxsIHRhcmdldHMuICBUaGVyZSBpcyBub3RoaW5nIHdyb25nIHdpdGggdGhlCgkgIGNvZGUsIHNvIHRoaXMganVzdCBzdXBwcmVzc2VzIHRoZSB3YXJuaW5ncy4KCjIwMDktMDEtMDYgMTQ6NTggIGtpbmcKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0VXBkYXRlSGFuZGxlci5jeHg6IEJVRzogTWFuYWdlIExDX01FU1NBR0VTCgkgIHdpdGggYW4gb2JqZWN0CgoJICBUaGlzIG1vdmVzIG1hbmFnZW1lbnQgb2YgdGhlIExDX01FU1NBR0VTIGVudmlyb25tZW50IHZhcmlhYmxlCgkgIGludG8gYW4gYXV0b21hdGljIHZhcmlhYmxlLiAgUHJldmlvdXNseSBpZiBhbiBlcnJvciBvY2N1cnJlZCB0aGUKCSAgb3JpZ2luYWwgZW52aXJvbm1lbnQgdmFsdWUgd2FzIG5vdCByZXN0b3JlZC4JVGhpcyBtYWtlcyB0aGUgZml4CgkgIHRvIGlzc3VlICM1OTM2IG1vcmUgcm9idXN0LgoKMjAwOS0wMS0wNiAxNDo0MSAga2luZwoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eDogU1RZTEU6IFJlbW92ZSB0cmFpbGluZwoJICB3aGl0ZXNwYWNlCgoyMDA5LTAxLTA2IDAwOjAzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDEtMDUgMTU6MDAgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2V0UHJvcGVydHlDb21tYW5kLmN4eCwgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaCwKCSAgY21TZXRQcm9wZXJ0eUNvbW1hbmQuY3h4LCBjbVNldFRlc3RzUHJvcGVydGllc0NvbW1hbmQuY3h4OiBFTkg6CgkgIEltcHJvdmUgdGVzdCBwcm9wZXJ0eSBzcGVlZCB3aXRoIGEgbWFwCgoJICBQcmV2aW91c2x5IHdlIHN0b3JlZCBhIHZlY3RvciBvZiB0ZXN0cyB0byBwcmVzZXJ2ZSB0aGVpciBvcmRlci4KCSAgUHJvcGVydHkgc2V0L2dldCBvcGVyYXRpb25zIHdvdWxkIGRvIGEgbGluZWFyIHNlYXJjaCBmb3IgbWF0Y2hpbmcKCSAgdGVzdHMuICBUaGlzIHVzZXMgYSBtYXAgdG8gZWZmaWNpZW50bHkgbG9vayB1cCB0ZXN0cyB3aGlsZQoJICBrZWVwaW5nIHRoZSBvcmlnaW5hbCBvcmRlciB3aXRoIGEgdmVjdG9yIGZvciB0ZXN0IGZpbGUKCSAgZ2VuZXJhdGlvbi4KCjIwMDktMDEtMDUgMTQ6MTQgIGtpbmcKCgkqIFRlc3RzLzogQ01ha2VMaXN0cy50eHQsIEVuZm9yY2VDb25maWcuY21ha2UsCgkgIEVuZm9yY2VDb25maWcuY21ha2UuaW46IEVOSDogUmUtZW5hYmxlIG5ldyAndGVzdGluZycgdGVzdCBtb2RlCgoJICBUaGlzIGZpeGVzIHNlbGVjdGlvbiBvZiBhIGNvbmZpZ3VyYXRpb24gd2hlbiBub25lIGlzIHNwZWNpZmllZCB0bwoJICBmaW5kIGFuIGF2YWlsYWJsZSBjb25maWd1cmF0aW9uIG9mIHRoZSBjdGVzdCB0ZXN0LWNvbW1hbmQuCgoyMDA5LTAxLTA1IDE0OjE0ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21DVGVzdC5oOiBCVUc6IENhcHR1cmUgY291dCBhbmQgY2VyciBmcm9tCgkgIGludGVybmFsIGN0ZXN0CgoJICBXaGVuIENUZXN0IGRldGVjdHMgdGhhdCBhIHRlc3QgaXMgcnVubmluZyBpdHMgb3duIGV4ZWN1dGFibGUgaXQKCSAgb3B0aW1pemVzIHRoZSB0ZXN0IGJ5IHVzaW5nIGFuIGludGVybmFsIGluc3RhbmNlIG9mIGNtQ1Rlc3QKCSAgaW5zdGVhZCBvZiBjcmVhdGluZyBhIG5ldyBwcm9jZXNzLiAgSG93ZXZlciwgdGhlIGludGVybmFsCgkgIGluc3RhbmNlIHdhcyB1c2luZyBjb3V0IGFuZCBjZXJyIGRpcmVjdGx5LiAgVGhpcyByZWRpcmVjdHMgdGhlCgkgIG91dHB1dCB0byBhIHN0cmluZyBzdHJlYW0gdG8gYXZvaWQgZGlyZWN0IGRpc3BsYXkgb2YgdGhlIGludGVybmFsCgkgIHRlc3QncyBvdXRwdXQuCgoyMDA5LTAxLTA1IDExOjA1ICBraW5nCgoJKiBTb3VyY2UvOiBjbUZpbGVDb21tYW5kLmN4eCwgUXREaWFsb2cvQ01ha2VMaXN0cy50eHQ6IENPTVA6IEZpeAoJICBpbnN0YWxsYXRpb24gb2YgY21ha2UtZ3VpIGJ5IENNYWtlIDIuNAoKCSAgV2hlbiBDTWFrZSAyLjQgZ2VuZXJhdGVzIHRoZSBidWlsZCB0cmVlIGZvciBDTWFrZSBpdHNlbGYgaXQgYXNrcwoJICB0aGUgYnVpbHQgQ01ha2UgdG8gaW5zdGFsbCBpdHNlbGYgdXNpbmcgdGhlIHJ1bGVzIHRoYXQgMi40CgkgIGdlbmVyYXRlZC4gIFNpbmNlIHRoZSBpbnN0YWxsIHJ1bGVzIHVzZSB1bmRvY3VtZW50ZWQgY29tbWFuZHMKCSAgdGhhdCBhcmUgbm90IGNvbXBhdGlibGUgZnJvbSAyLjQgdG8gMi42IHdlIG5lZWQgYSBzcGVjaWFsIGNhc2UgdG8KCSAgYXZvaWQgZmFpbHVyZS4gIFRoaXMgc2V0cyBhIHNwZWNpYWwgaW5kaWNhdG9yIHZhcmlhYmxlIGluIHRoZQoJICBpbnN0YWxsIHJ1bGVzIHRoYXQgZW5hYmxlcyBhIGNvbXBhdGliaWxpdHkgaGFjayB0byBzdXBwb3J0IHRoZQoJICBvbGQgaW5zdGFsbCBydWxlIGZvcm1hdC4KCjIwMDktMDEtMDUgMTE6MDMgIGtpbmcKCgkqIFNvdXJjZS9jbUZpbGVDb21tYW5kLmN4eDogRU5IOiBSZWZhY3RvciBpbnRlcm5hbCBmaWxlKElOU1RBTEwpCgkgIGFyZyBwYXJzaW5nCgoJICBUaGUgaW50ZXJuYWwgZmlsZShJTlNUQUxMKSBjb21tYW5kIGFyZ3VtZW50IHBhcnNpbmcgdXNlZCBzZXZlcmFsCgkgIGJvb2xlYW5zIHdpdGggYXQgbW9zdCBvbmUgc2V0IHRvIHRydWUgYXQgYSB0aW1lIHRvIHRyYWNrIGFyZ3VtZW50CgkgIHBhcnNpbmcgc3RhdGUuICBUaGlzIHJlZmFjdG9ycyBpdCB0byB1c2Ugb25lIGVudW1lcmF0aW9uLgoKMjAwOS0wMS0wNSAwOTo1MyAga2luZwoKCSogU291cmNlL2NtR2V0VGFyZ2V0UHJvcGVydHlDb21tYW5kLmg6IEJVRzogUmVtb3ZlIG9sZAoJICBnZXRfdGFyZ2V0X3Byb3BlcnR5IGRvY3MKCgkgIFRoZSBnZXRfdGFyZ2V0X3Byb3BlcnR5IGNvbW1hbmQgY29udGFpbmVkIHNvbWUgb3V0ZGF0ZWQKCSAgZG9jdW1lbnRhdGlvbiBvZiB0aGUgTE9DQVRJT04gYW5kIFRZUEUgcHJvcGVydGllcy4gIFRoaXMgcmVtb3ZlcwoJICBpdCBzaW5jZSB0aGV5IGFyZSBub3cgZG9jdW1lbnRlZCBpbiB0aGUgcHJvcGVydGllcyBsaXN0IHNlY3Rpb24KCSAgb2YgdGhlIGRvY3VtZW50YXRpb24uCgoyMDA5LTAxLTA1IDA5OjUzICBraW5nCgoJKiBTb3VyY2UvY21UYXJnZXQuY3h4OiBFTkg6IEVuYWJsZSBMT0NBVElPTiBwcm9wZXJ0eSBmb3IgaW1wb3J0ZWQKCSAgdGFyZ2V0cwoKCSAgUHJldmlvdXNseSB3ZSBsZWZ0IHRoZSBMT0NBVElPTiBwcm9wZXJ0eSB1bmRlZmluZWQgZm9yIGltcG9ydGVkCgkgIHRhcmdldHMgc2luY2UgaXQgc2hvdWxkIG5vIGxvbmdlciBiZSB1c2VkIGZvciBub24taW1wb3J0ZWQKCSAgdGFyZ2V0cy4gIEhvd2V2ZXIsIGluIHRoZSBjYXNlIHdlIGRvIG5vdCBrbm93IHRoZSBuYW1lIG9mIGFuCgkgIGF2YWlsYWJsZSBpbXBvcnRlZCBjb25maWd1cmF0aW9uLCBpdCBpcyBtb3JlIHJlYWRhYmxlIHRvIGdldCB0aGUKCSAgTE9DQVRJT04gcHJvcGVydHkgdGhhbiBMT0NBVElPTl88Q09ORklHPiBmb3IgYSBib2d1cwoJICBjb25maWd1cmF0aW9uIDxDT05GSUc+LiAgVGhpcyBlbmFibGVzIExPQ0FUSU9OIGZvciBpbXBvcnRlZAoJICB0YXJnZXRzIGFuZCByZXR1cm5zIGFuIHVuc3BlY2lmaWVkIGF2YWlsYWJsZSBpbXBvcnRlZAoJICBjb25maWd1cmF0aW9uLgoKMjAwOS0wMS0wNSAwMDowMyAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAxLTA0IDA0OjEyICBhbGV4CgoJKiBTb3VyY2UvY21DTWFrZU1pbmltdW1SZXF1aXJlZC5oOiBTVFlMRTogY2hhbmdlZCAib25lIG1heSIgaW50bwoJICAiaXQgc2hvdWxkIiB0byBtYWtlIGl0IHN0cm9uZ2VyCgoJICBBbGV4CgoyMDA5LTAxLTA0IDAwOjAzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDktMDEtMDMgMTU6NDggIGtpbmcKCgkqIFNvdXJjZS9jbUNNYWtlTWluaW11bVJlcXVpcmVkLmg6IEVOSDogQ2xhcmlmeSBGQVRBTF9FUlJPUiBvcHRpb24KCSAgdG8gbWluLXJlcSBjb21tYW5kCgoJICBUaGUgRkFUQUxfRVJST1IgdG8gY21ha2VfbWluaW11bV9yZXF1aXJlZCBpcyB1c2VmdWwgZm9yIHByb2plY3RzCgkgIHRoYXQgcmVxdWlyZSAyLjYgdG8gY29udmluY2UgQ01ha2UgMi40IHRvIGVycm9yIG91dC4JVGhpcwoJICBjbGFyaWZpZXMgaXRzIHVzZWZ1bG5lc3MgaW4gdGhlIGRvY3VtZW50YXRpb24uCgoyMDA5LTAxLTAzIDE1OjQ3ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNNYWtlTWluaW11bVJlcXVpcmVkLmN4eCwgY21DTWFrZU1pbmltdW1SZXF1aXJlZC5oOgoJICBFTkg6IElnbm9yZSB1bmtub3duIGNtYWtlX21pbmltdW1fcmVxdWlyZWQgYXJncwoKCSAgV2hlbiBjbWFrZV9taW5pbXVtX3JlcXVpcmVkIGlzIGNhbGxlZCB3aXRoIGFuIHVua25vd24gYXJndW1lbnQgaXQKCSAgc2hvdWxkIG5vdCBjb21wbGFpbiBhYm91dCBpdCBpZiB0aGUgdmVyc2lvbiBzcGVjaWZpZWQgaXMgaW4gdGhlCgkgIGZ1dHVyZS4gIFRoaXMgYWxsb3dzIHRoZSBwcm9wZXIgZXJyb3IgdG8gYmUgc2hvd24gYWJvdXQgdGhlCgkgIGN1cnJlbnQgQ01ha2UgYmVpbmcgdG9vIG9sZC4KCjIwMDktMDEtMDMgMDA6MDMgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOS0wMS0wMiAwMDowMyAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA5LTAxLTAxIDEyOjQ5ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwgU291cmNlL2NtQ1Rlc3QuY3h4LAoJICBTb3VyY2UvY21Db21tYW5kQXJndW1lbnRMZXhlci5jeHgsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudExleGVyLmgsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudExleGVyLmluLmwsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudFBhcnNlci5jeHgsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudFBhcnNlci55LAoJICBTb3VyY2UvY21Db21tYW5kQXJndW1lbnRQYXJzZXJIZWxwZXIuY3h4LAoJICBTb3VyY2UvY21Db21tYW5kQXJndW1lbnRQYXJzZXJIZWxwZXIuaCwKCSAgU291cmNlL2NtQ29tbWFuZEFyZ3VtZW50UGFyc2VyVG9rZW5zLmg6IEVOSDogUkMgNyBtZXJnZSBmaXgKCSAgbWlzc2luZyBzdHVmZiBmcm9tIFJDIDYgYW5kIGZpeCBjaGFuZ2UgbG9nCgoyMDA5LTAxLTAxIDAwOjAzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTItMzEgMTA6MTQgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLAoJICBNb2R1bGVzL0NNYWtlQVNNX01BU01JbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUFTTV9NQVNNQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VUZXN0QVNNX01BU01Db21waWxlci5jbWFrZSwgTW9kdWxlcy9DUGFja1JQTS5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kQ3Vyc2VzLmNtYWtlLCBNb2R1bGVzL0ZpbmREb3h5Z2VuLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRFWFBBVC5jbWFrZSwgTW9kdWxlcy9GaW5kTGliWG1sMi5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kUXQ0LmNtYWtlLCBNb2R1bGVzL0ZpbmRTcXVpc2guY21ha2UsCgkgIE1vZHVsZXMvRmluZHd4V2lkZ2V0cy5jbWFrZSwgTW9kdWxlcy9HZXRQcmVyZXF1aXNpdGVzLmNtYWtlLAoJICBNb2R1bGVzL1NxdWlzaFJ1blRlc3RDYXNlLmJhdCwgTW9kdWxlcy9TcXVpc2hSdW5UZXN0Q2FzZS5zaCwKCSAgTW9kdWxlcy9TcXVpc2hUZXN0U2NyaXB0LmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL0Rhcndpbi5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9IYWlrdS5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzUGF0aHMuY21ha2UsIFNvdXJjZS9jbUZpbGVDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUZpbmRQYWNrYWdlQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUZpbmRQYWNrYWdlQ29tbWFuZC5oLAoJICBTb3VyY2UvY21HbG9iYWxNU1lTTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21PcmRlckRpcmVjdG9yaWVzLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tCdW5kbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvUXREaWFsb2cvQ01ha2UuZGVza3RvcCwgU291cmNlL1F0RGlhbG9nL0NNYWtlTGlzdHMudHh0LAoJICBTb3VyY2UvUXREaWFsb2cvQ01ha2VTZXR1cERpYWxvZy5jeHgsCgkgIFNvdXJjZS9RdERpYWxvZy9Db21waWxlcnMuaCwgU291cmNlL1F0RGlhbG9nL0NvbXBpbGVycy51aSwKCSAgU291cmNlL1F0RGlhbG9nL0Nyb3NzQ29tcGlsZXIudWksCgkgIFNvdXJjZS9RdERpYWxvZy9GaXJzdENvbmZpZ3VyZS5jeHgsCgkgIFNvdXJjZS9RdERpYWxvZy9GaXJzdENvbmZpZ3VyZS5oLAoJICBTb3VyY2UvUXREaWFsb2cvUUNNYWtlV2lkZ2V0cy5jeHgsIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jLAoJICBTb3VyY2Uva3dzeXMvU3lzdGVtLmMsIFNvdXJjZS9rd3N5cy9TeXN0ZW1JbmZvcm1hdGlvbi5jeHgsCgkgIFRlbXBsYXRlcy9UZXN0RHJpdmVyLmN4eC5pbjogRU5IOiBtZXJnZSBmaXhlcyBmb3IgUkMgNgoKMjAwOC0xMi0zMSAwMDowMyAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTEyLTMwIDA5OjEzICBkYXZpZC5jb2xlCgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0Q29uZmlndXJlQ29tbWFuZC5jeHgsCgkgIGNtQ1Rlc3RDb25maWd1cmVDb21tYW5kLmgsIGNtQ1Rlc3RDb25maWd1cmVIYW5kbGVyLmN4eCwKCSAgY21DVGVzdEdlbmVyaWNIYW5kbGVyLmN4eDogRU5IOiBBZGQgT1BUSU9OUyBhcmd1bWVudCB0byB0aGUKCSAgY3Rlc3RfY29uZmlndXJlIGNvbW1hbmQgc28gdGhhdCB5b3UgY2FuIHBhc3MgLUQgYXJndW1lbnRzIHRvIHRoZQoJICBjbWFrZSBjb25maWd1cmUgc3RlcCBmcm9tIGEgY3Rlc3QgLVMgc2NyaXB0LiBBbHNvIGNsYXJpZnkvY29ycmVjdAoJICBzb21lIG5vdCBzbyBoZWxwZnVsIGVycm9yIG1lc3NhZ2VzLgoKMjAwOC0xMi0zMCAwOToxMSAgZGF2aWQuY29sZQoKCSogTW9kdWxlcy9QbGF0Zm9ybS9EYXJ3aW4uY21ha2U6IEJVRzogRml4IGluc3RhbGxfbmFtZV90b29sIHByb2JsZW0KCSAgb24gdGhlIE1hYyB3aGVuIGEgUFJPSkVDVCguLi4gTk9ORSkgaXMgZm9sbG93ZWQgYnkgbXVsdGlwbGUgY2FsbHMKCSAgdG8gRU5BQkxFX0xBTkdVQUdFLiBVc2UgZmluZF9wcm9ncmFtIHRvIHNldCB0aGUKCSAgQ01BS0VfSU5TVEFMTF9OQU1FX1RPT0wgdmFyaWFibGUgc28gaXQgZ2V0cyBzYXZlZCBpbiB0aGUgY2FjaGUgYXMKCSAgYSBmdWxsIHBhdGggdG8gdGhlIGluc3RhbGxfbmFtZV90b29sIGV4ZWN1dGFibGUgcmF0aGVyIHRoYW4gYQoJICBzaW1wbGUgc2V0IHdoaWNoIGV2ZW50dWFsbHkgZ29lcyBvdXQgb2Ygc2NvcGUuCgoyMDA4LTEyLTMwIDAwOjAzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTItMjkgMTg6MTEgIGhvZmZtYW4KCgkqIFRlc3RzL0pDVGVzdC9DTWFrZUxpc3RzLnR4dDogRU5IOiBtYWtlIGl0IHRha2UgbG9uZ2VyCgoyMDA4LTEyLTI5IDE3OjQ5ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbVByb2Nlc3MuY3h4LCBjbVByb2Nlc3MuaDogRU5IOiBhZGQgc3RhcnQgZW5kCgkgIHRpbWUgZm9yIHByb2NzCgoyMDA4LTEyLTI5IDE3OjQzICBob2ZmbWFuCgoJKiBUZXN0cy9KQ1Rlc3QvOiBDTWFrZUxpc3RzLnR4dCwgVGVzdFRpbWUuY3h4OiBFTkg6IGFkZCB0ZXN0IGZvciAtagoJICBOIGN0ZXN0IHN0dWZmCgoyMDA4LTEyLTI5IDAwOjAzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTItMjggMDA6MDMgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMi0yNyAwMDowMyAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTEyLTI2IDE1OjI3ICBkYXZpZC5jb2xlCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEhhbmRsZXJDb21tYW5kLmN4eDogU1RZTEU6IEZpeCBsaW5lIGxlbmd0aAoJICB2aW9sYXRpb24uCgoyMDA4LTEyLTI2IDEzOjI4ICBraW5nCgoJKiBTb3VyY2UvY21PcmRlckRpcmVjdG9yaWVzLmN4eDogQlVHOiBGaXggc2FtZS1maWxlIGNoZWNrIGZvcgoJICBkaXJlY3Rvcnkgb3JkZXJpbmcKCgkgIFdoZW4gY29tcHV0aW5nIHJ1bnRpbWUgc2VhcmNoIHBhdGggb3JkZXJpbmcgYSBjb25zdHJhaW50IGV4aXN0cwoJICB3aGVuIGEgZmlsZSB0aGF0IG1heSBiZSBmb3VuZCBieSB0aGUgcnVudGltZSBzZWFyY2ggZXhpc3RzIGluIGEKCSAgZGlyZWN0b3J5IG90aGVyIHRoYW4gdGhhdCBjb250YWluaW5nIHRoZSBkZXNpcmVkIGZpbGUuICBXZSB0ZXN0CgkgIHdoZXRoZXIgYSBwb3RlbnRpYWwgY29uZmxpY3QgaXMgcmVhbGx5IHRoZSBzYW1lIGR1ZSB0byBhIHN5bWxpbmsuCgkgICBSZWNlbnRseSB0aGUgY2hhbmdlIHRvIGNtRmluZExpYnJhcnlDb21tYW5kIHRvIGxvYWQgZGlyZWN0b3J5CgkgIGNvbnRlbnQgY3JlYXRlZCBhIGNhc2UgaW4gd2hpY2ggdGhlIHNhbWUtZmlsZSBjaGVjayB3b3VsZCBiZQoJICBpbmNvcnJlY3RseSBza2lwcGVkLglUaGlzIGF2b2lkcyBza2lwcGluZyB0aGUgY2hlY2suCgoyMDA4LTEyLTI2IDEyOjA2ICBkYXZpZC5jb2xlCgoJKiBNb2R1bGVzL0ZpbmREb3h5Z2VuLmNtYWtlOiBFTkg6IE5ldyBsb2NhdGlvbiB0byBsb29rIGZvciAiZG90IgoKMjAwOC0xMi0yNiAwMDowMyAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTEyLTI1IDAwOjAzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTItMjQgMTA6MTAgIGRhdmlkLmNvbGUKCgkqIE1vZHVsZXMvQWRkRXh0ZXJuYWxQcm9qZWN0LmNtYWtlLAoJICBUZXN0cy9FeHRlcm5hbFByb2plY3QvQ01ha2VMaXN0cy50eHQ6IEVOSDogUmUtd29yayBvZiBmaXgKCSAgY29tbWl0dGVkIHllc3RlcmRheSBmb3IgdGhlIFdhdGNvbSBXTWFrZSBkYXNoYm9hcmQuIEZpeCBpdAoJICBwcm9wZXJseSBieSB1c2luZyB0aGUgU1lNQk9MSUMgc291cmNlIGZpbGUgcHJvcGVydHkgdG8gaW5kaWNhdGUKCSAgdG8gV01ha2Ugd2hlbiB0aGUgc2VudGluZWwgZmlsZSBpcyBub3QgYWN0dWFsbHkgd3JpdHRlbiBieSB0aGUKCSAgdXBkYXRlIHN0ZXAuCgoyMDA4LTEyLTI0IDA0OjMxICBtaWd1ZWxmCgoJKiBNb2R1bGVzL0ZpbmR3eFdpZGdldHMuY21ha2U6IEJVRzogRml4ZWQgcGxhY2VtZW50IG9mIGluaXRpYWwKCSAgd3hXaWRnZXRzX0ZPVU5EPVRSVUUgc3RhdGVtZW50LCB3aGljaCBhbGxvd2VkIHNvbWUgY2FzZXMgdG8KCSAgYnJlYWthd2F5IGZyb20gdGVzdHMgd2l0aG91dCByZXNldHRpbmcgdG8gRkFMU0UgKEJVRzogODE4OCkuCgoyMDA4LTEyLTI0IDAwOjAzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTItMjMgMTA6MDEgIGRhdmlkLmNvbGUKCgkqIFRlc3RzL0V4dGVybmFsUHJvamVjdC9DTWFrZUxpc3RzLnR4dDogQlVHOiBXb3JrYXJvdW5kIGZvciBXYXRjb20KCSAgV01ha2Ugbm90IGhhbmRsaW5nICJhbHdheXMgb3V0IG9mIGRhdGUiIGN1c3RvbSBjb21tYW5kcyB0byBmaXgKCSAgdGhlIGZhaWxpbmcgRXh0ZXJuYWxQcm9qZWN0IHRlc3Qgb24gdGhlIENNYWtlIG5pZ2h0bHkgZGFzaGJvYXJkLgoKMjAwOC0xMi0yMyAwMDowMyAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTEyLTIyIDAzOjAwICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRMaWJYbWwyLmNtYWtlOiBCVUc6IHVzZSBGaW5kUGtnQ29uZmlnLmNtYWtlIGluc3RlYWQKCSAgb2YgVXNlUGtnQ29uZmlnLmNtYWtlLCBzeW5jIHdpdGggS0RFIHN2biBhbmQgZml4IGJ1ZyAjODI5MAoKCSAgQWxleAoKMjAwOC0xMi0yMiAwMDowMyAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTEyLTIxIDAwOjAzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTItMjAgMDA6MDQgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMi0xOSAxMDozNSAgZGF2aWQuY29sZQoKCSogTW9kdWxlcy9BZGRFeHRlcm5hbFByb2plY3QuY21ha2U6IEVOSDogQWRkIHRoZSB1cGRhdGUgc3RlcCBpbgoJICBiZXR3ZWVuIGRvd25sb2FkIGFuZCBidWlsZC4gQWRkIFVQREFURV9BUkdTIGFuZCBVUERBVEVfQ09NTUFORAoJICBoYW5kbGluZy4gT3V0cHV0IGEgLWNvbXBsZXRlIHNlbnRpbmVsIGluIHN5bmNoIHdpdGggdGhlIC1pbnN0YWxsCgkgIHNlbnRpbmVsLCBidXQgZG8gbm90IGxpc3QgaXQgYXMgYW4gT1VUUFVUIG9mIHRoZSBjdXN0b20gY29tbWFuZC4KCSAgVGhhdCBicmVha3MgdGhlIGNoYWluaW5nIG9mIGFkZF9jdXN0b21fY29tbWFuZHMgYmV0d2VlbiBjdXN0b20KCSAgdGFyZ2V0cywgYnV0IGFsbG93cyBmb3IgYSBmaWxlLWxldmVsIGRlcGVuZGVuY3kgZXhwcmVzc2lvbiB0aGF0CgkgIHdpbGwgY2F1c2UgcHJvcGVyIGluY3JlbWVudGFsIHJlYnVpbGRzLiBXaGVuIGVhcmxpZXIgdGFyZ2V0cwoJICByZWJ1aWxkLCBzdWJzZXF1ZW50IGRlcGVuZGVudCB0YXJnZXRzIHdpbGwgYWxzbyByZWJ1aWxkLiBDVlMgYW5kCgkgIFNWTiB1cGRhdGUgY29tbWFuZHMgYXJlIGFsd2F5cyBvdXQtb2YtZGF0ZSBzbyB0aGF0IHRoZXkgYWx3YXlzCgkgIHJ1biB0byBnZXQgdGhlIGxhdGVzdCBzb3VyY2UuIFRvIHN1cHByZXNzIHRoYXQgYmVoYXZpb3Igb24gYQoJICBwZXItZXh0ZXJuYWwgcHJvamVjdCBiYXNpcyB1c2UgYW4gZXhwbGljaXQgZW1wdHkgc3RyaW5nIGZvcgoJICBVUERBVEVfQ09NTUFORC4gVGhlIHNvdXJjZSB3aWxsIHN0aWxsIGJlIGNoZWNrZWQgb3V0IGZyb20gdGhlCgkgIHJlcG9zaXRvcnkgcHJpb3IgdG8gdGhlIHVwZGF0ZSBzdGVwIGJ5IHRoZSBkb3dubG9hZCBzdGVwLgoKMjAwOC0xMi0xOSAxMDoxOSAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHg6IFNUWUxFOiBmaXggc2hhZG93IHdhcm5pbmcKCjIwMDgtMTItMTkgMDA6MDQgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMi0xOCAyMTo1OSAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdFRlc3RIYW5kbGVyLmN4eCwgY21DVGVzdFRlc3RIYW5kbGVyLmg6IEJVRzoKCSAgcGFydGlhbCBmaXggZm9yICM4MDU2CgoyMDA4LTEyLTE4IDIxOjU3ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0SGFuZGxlckNvbW1hbmQuY3h4LAoJICBjbUNUZXN0U2NyaXB0SGFuZGxlci5jeHg6IEJVRzogZml4IGZvciBidWcgIzgyMjQgZml4IGNyYXNoCgoyMDA4LTEyLTE4IDIxOjUzICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRFWFBBVC5jbWFrZTogQlVHOiBmaXggZm9yICM4Mjk4IGxvb2sgZm9yIGxpYmV4cGF0IGFzCgkgIHdlbGwKCjIwMDgtMTItMTggMjE6NTIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUZpbGVDb21tYW5kLmg6IEJVRzogZml4IHNwZWxsaW5nCgoyMDA4LTEyLTE4IDE3OjE1ICBraW5nCgoJKiBUZXN0cy9DTWFrZUxpc3RzLnR4dDogQlVHOiBEaXNhYmxlIG5ldyAndGVzdGluZycgdGVzdCBtb2RlIGZvcgoJICBub3cKCgkgIFRoZSBuZXcgJ3Rlc3RpbmcnIHRlc3QgYmVoYXZpb3Igb2YgYWN0dWFsbHkgcnVubmluZyB0aGUgdGVzdHMKCSAgZ2VuZXJhdGVkIGJ5IHRoZSBwcm9qZWN0IHN0aWxsIGZhaWxzIHdoZW4gdGhlIHRlc3Qgc2NyaXB0IGd1ZXNzZXMKCSAgdGhlIERlYnVnIGNvbmZpZ3VyYXRpb24gYnV0IHRoZSBDTWFrZSBidWlsZCB0cmVlIHdhcyBvbmx5IGJ1aWx0CgkgIFJlbGVhc2UuICBUaGUgaW5uZXIgY3Rlc3QgbmVlZHMgdG8gZmluZCB0aGUgY3Rlc3QgZXhlY3V0YWJsZSBidXQKCSAgaXMgZ2l2ZW4gdGhlIHdyb25nIGNvbmZpZ3VyYXRpb24uCgoyMDA4LTEyLTE4IDE0OjU2ICBraW5nCgoJKiBTb3VyY2UvOiBjbUJvb3RzdHJhcENvbW1hbmRzLmN4eCwgY21Db21tYW5kcy5jeHg6IENPTVA6IEFkZAoJICBzZXRfZGlyZWN0b3J5X3Byb3BlcnRpZXMgdG8gYm9vdHN0cmFwCgoJICBXZSBub3cgbmVlZCB0aGlzIGNvbW1hbmQgaW4gdGhlIFRlc3RzL0NNYWtlTGlzdHMudHh0IGZpbGUuCgoyMDA4LTEyLTE4IDE0OjI2ICBraW5nCgoJKiBUZXN0cy86IENNYWtlTGlzdHMudHh0LCBFbmZvcmNlQ29uZmlnLmNtYWtlOiBCVUc6IEZpeCBuZXcKCSAgJ3Rlc3RpbmcnIHRlc3QgZm9yIENNYWtlIHJlbGVhc2VzCgoJICBUaGUgcmVjZW50IGNoYW5nZSBvZiB0aGUgJ3Rlc3RpbmcnIHRlc3QgdG8gYWN0dWFsbHkgZHJpdmUgdGhlCgkgIHRlc3RzIHdpdGhpbiBpdCBkb2VzIG5vdCB3b3JrIG9uIFdpbmRvd3Mgd2l0aCByZWxlYXNlZCBDTWFrZXMKCSAgMi42LjIgYW5kIGxvd2VyIGlmIG5vIGNvbmZpZ3VyYXRpb24gaXMgZ2l2ZW4gdG8gY3Rlc3Qgd2l0aCBhIC1DCgkgIG9wdGlvbi4gIFRoaXMgd29ya3MgYXJvdW5kIHRoZSBwcm9ibGVtIGJ5IGRldGVjdGluZyB0aGUgY2FzZSBhbmQKCSAgY2hhbmdpbmcgdGhlIGVtcHR5IGNvbmZpZ3VyYXRpb24gdG8gRGVidWcuCgoyMDA4LTEyLTE4IDEzOjM2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtLmMsIFRlc3RzL0N1c3RvbUNvbW1hbmQvQ01ha2VMaXN0cy50eHQ6IEJVRzoKCSAgRml4IHdpbmRvd3MgY29tbWFuZCBsaW5lIGVzY2FwZSBmb3IgZW1wdHkgYXJnCgoJICBPbiBXaW5kb3dzIHRoZSBLV1N5cyBTeXN0ZW0gcGFja2FnZSBnZW5lcmF0ZXMgZXNjYXBlcyBmb3IKCSAgY29tbWFuZC1saW5lIGFyZ3VtZW50cy4gIFRoaXMgZml4IGVuYWJsZXMgcXVvdGluZyBvZiB0aGUgZW1wdHkKCSAgc3RyaW5nIGFzIGFuIGFyZ3VtZW50LiAgVGhpcyBhbHNvIGFkZHMgYSB0ZXN0IHRvIHBhc3MgYW4gZW1wdHkKCSAgYXJndW1lbnQgdG8gYSBjdXN0b20gY29tbWFuZC4KCjIwMDgtMTItMTggMTI6MjggIGtpbmcKCgkqIFRlc3RzLzogQ01ha2VMaXN0cy50eHQsIFRlc3RpbmcvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RpbmcvU3ViL1N1YjIvQ01ha2VMaXN0cy50eHQ6IEVOSDogSW1wcm92ZSAndGVzdGluZycgdGVzdCB0bwoJICBhY3R1YWxseSB0ZXN0CgoJICBUaGUgJ3Rlc3RpbmcnIENNYWtlIHRlc3QgYnVpbGRzIGEgcHJvamVjdCB0aGF0IHVzZXMgYWRkX3Rlc3QuCgkgIFRoaXMgc3RyZW5ndGhlbnMgdGhlIHRlc3QgdG8gYWN0dWFsbHkgcnVuIENUZXN0IG9uIHRoZSBwcm9qZWN0CgkgIGJ1aWxkIHRyZWUgYWZ0ZXIgYnVpbGRpbmcgaXQuCgoyMDA4LTEyLTE4IDEyOjI3ICBraW5nCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkQW5kVGVzdEhhbmRsZXIuY3h4OiBFTkg6IE1pbm9yCgkgIHJlYWRhYmlsaXR5IGltcHJvdmVtZW50IGluIENUZXN0IG91dHB1dAoKCSAgV2hlbiBjdGVzdCAtLWJ1aWxkLWFuZC10ZXN0IHJ1bnMgdGhlIC0tdGVzdC1jb21tYW5kIGl0cyBvdXRwdXQKCSAgZGlkIG5vdCBxdW90ZSB0aGUgYXJndW1lbnRzIG9mIHRoZSBjb21tYW5kIGJlaW5nIHRlc3RlZCBtYWtpbmcgaXQKCSAgZGlmZmljdWx0IHRvIHJlYWQuICBUaGlzIGFkZHMgdGhlIHF1b3Rlcy4gIFRoaXMgYWxzbyBjaGFuZ2VzIHRoZQoJICB3b3JkaW5nIG9mIHRoZSBmYWlsdXJlIGNhc2UgdG8gbm90IHNvdW5kIGxpa2UgQ1Rlc3QgY291bGQgbm90IHJ1bgoJICB0aGUgZXhlY3V0YWJsZSB3aGVuIGluIGZhY3QgaXQgcmFuIGFuZCByZXR1cm5lZCBmYWlsdXJlLgoKMjAwOC0xMi0xOCAxMjoyNyAga2luZwoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBCVUc6IEZpeCBjcmFzaCB3aGVuIHJ1bm5pbmcgaW50ZXJuYWwgQ1Rlc3QKCgkgIFdoZW4gQ1Rlc3QgZW5jb3VudGVycyBhIHRlc3Qgd2hvc2UgZXhlY3V0YWJsZSBpcyB0aGUgY3Rlc3QKCSAgZXhlY3V0YWJsZSBpdGVzbGYsIGl0IGp1c3QgaW52b2tlcyBjb2RlIGluc2lkZSBpdHNlbGYgdG8gYXZvaWQKCSAgc3RhcnRpbmcgYSBuZXcgcHJvY2Vzcy4gIFRoaXMgZml4ZXMgYSBudWxsLXBvaW50ZXIgZGVyZWZlcmVuY2UgaW4KCSAgdGhlIGxvZ2dpbmcgY29kZSBvZiB0aGF0IGNhc2UuCgoyMDA4LTEyLTE4IDEwOjQzICBkYXZpZC5jb2xlCgoJKiBTb3VyY2UvOiBjbUZpbGVDb21tYW5kLmN4eCwga3dzeXMvU3lzdGVtVG9vbHMuY3h4LAoJICBrd3N5cy9TeXN0ZW1Ub29scy5oeHguaW46IEJVRzogRG8gbm90IGNvcHkgcGVybWlzc2lvbnMgb2YgZmlsZXMKCSAgd2hlbiBtYWtpbmcgdGhlIGNvcHkgaW4gYW4gaW5zdGFsbCBydWxlLiBJZiB0aGUgc291cmNlIGZpbGUgd2FzCgkgIHJlYWQtb25seSwgdGhpcyBwcmV2ZW50cyB0aGUgc3Vic2VxdWVudCBzZXQgb2YgdGhlIGRlc3RpbmF0aW9uCgkgIGZpbGUncyBtb2RpZmljYXRpb24gdGltZSwgbWFraW5nIHRoZSBjb3BpZWQgZmlsZSBhbHdheXMgZGlmZmVyZW50CgkgIGluIHRpbWUtc3RhbXAgdGhhbiB0aGUgb3JpZ2luYWwgYW5kIGFsd2F5cyBpbnN0YWxsaW5nIGEgbmV3IGZpbGUKCSAgd2l0aCBhIG5ldyB0aW1lIHN0YW1wIChidXQgdGhlIHNhbWUgY29udGVudCkgY2F1c2luZyB1bm5lY2Vzc2FyeQoJICBkb3duc3RyZWFtIGluY3JlbWVudGFsIHJlYnVpbGRzLiBBcyBwYXJ0IG9mIHRoaXMgZml4LCBhZGQgYW4KCSAgb3B0aW9uYWwgY29weVBlcm1pc3Npb25zIHBhcmFtZXRlciB0byB0aGUgU3lzdGVtVG9vbHMgcm91dGluZXMKCSAgQ29weUZpbGVJZkRpZmZlcmVudCwgQ29weUZpbGVBbHdheXMsIENvcHlBRmlsZSBhbmQKCSAgQ29weUFEaXJlY3RvcnkuIFRoZSBjb3B5UGVybWlzc2lvbnMgcGFyYW1ldGVyIGRlZmF1bHRzIHRvIHRydWUgdG8KCSAgcHJlc2VydmUgdGhlIGJlaGF2aW9yIG9mIHRoZXNlIHJvdXRpbmVzIGZvciBleGlzdGluZyBjYWxsZXJzLgoKMjAwOC0xMi0xOCAxMDowNiAga2luZwoKCSogU291cmNlLzogY21JbnN0YWxsRGlyZWN0b3J5R2VuZXJhdG9yLmgsCgkgIGNtSW5zdGFsbEV4cG9ydEdlbmVyYXRvci5oLCBjbUluc3RhbGxGaWxlc0dlbmVyYXRvci5oLAoJICBjbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuaDogU1RZTEU6IFJlbW92ZSB1c2VsZXNzIGluc3RhbGwKCSAgZ2VuZXJhdG9yIHR5cGVkZWZzCgoJICBUaGUgY21JbnN0YWxsKkdlbmVyYXRvciBjbGFzc2VzIGFsbCBkZXJpdmUgZnJvbQoJICBjbUluc3RhbGxHZW5lcmF0b3Igd2hpY2ggcHJvdmlkZXMgdGhlIEluZGVudCB0eXBlZGVmIHNvIHRoZXkgZG8KCSAgbm90IG5lZWQgdG8gcHJvdmlkZSBpdAoKMjAwOC0xMi0xOCAwOTo1OCAga2luZwoKCSogU291cmNlLzogY21Db21tYW5kQXJndW1lbnRMZXhlci5jeHgsIGNtQ29tbWFuZEFyZ3VtZW50TGV4ZXIuaW4ubDoKCSAgQ09NUDogUmVzdG9yZSBmaXhlcyB0byBnZW5lcmF0ZWQgbGV4ZXIKCgkgIFRoZSBjb21tYW5kIGFyZ3VtZW50IGxleGVyIHdhcyByZWNlbnRseSByZWdlbmVyYXRlZCB3aGljaCBlcmFzZWQKCSAgc29tZSBmaXhlcyB0aGF0IGhhZCBiZWVuIGFwcGxpZWQgZGlyZWN0bHkgdG8gdGhlIG91dHB1dC4gIFRoaXMKCSAgcmVzdG9yZXMgdGhlIGZpeGVzIGFuZCBhZGRzIHJlbWluZGVyIG5vdGVzIGluIHRoZSBnZW5lcmF0aW9uCgkgIGluc3RydWN0aW9ucy4KCjIwMDgtMTItMTggMDk6NTggIGtpbmcKCgkqIFNvdXJjZS86IGNtQ29tbWFuZEFyZ3VtZW50UGFyc2VyLmN4eCwgY21Db21tYW5kQXJndW1lbnRQYXJzZXIueToKCSAgQlVHOiBNb3ZlIHByZXZpb3VzIHBhcnNlciBidWdmaXhlcyBpbnRvIGlucHV0IGZpbGUKCgkgIFRoZSBjb21tYW5kIGFyZ3VtZW50IHBhcnNlciBjb2RlIGlzIGdlbmVyYXRlZCBieSBiaXNvbi4gIFRoaXMKCSAgY2hhbmdlIHJlc3RvcmVzIHNvbWUgZml4ZXMgcHJldmlvdXNseSBhcHBsaWVkIHRvIHRoZSBnZW5lcmF0ZWQKCSAgb3V0cHV0IHRoYXQgd2VyZSBkZXN0cm95ZWQgYnkgcmVnZW5lcmF0aW5nIHRoZSBwYXJzZXIgc291cmNlLgoJICBUaGlzIHRpbWUgdGhlIGZpeGVzIGhhdmUgYmVlbiBwdXQgaW4gdGhlIGlucHV0IGZpbGUgc28KCSAgcmVnZW5lcmF0aW5nIHRoZSBwYXJzZXIgd2lsbCBub3QgZGVzdHJveSB0aGVtIGFnYWluLgoKMjAwOC0xMi0xOCAwOTozNyAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nL0NNYWtlLmRlc2t0b3A6CgkgIEVOSDoJUmVtb3ZlIEFwcGxpY2F0aW9uIGNhdGVnb3J5LiAgU2VlICM4MTUxLgoKMjAwOC0xMi0xOCAwMDowNCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTEyLTE3IDA5OjMzICBraW5nCgoJKiBTb3VyY2UvOiBjbUNvbW1hbmRBcmd1bWVudExleGVyLmN4eCwgY21Db21tYW5kQXJndW1lbnRMZXhlci5pbi5sOgoJICBDT01QOiBGaXggdW51c2VkIHl5dW5wdXQgd2FybmluZyBpbiBsZXhlcgoKCSAgVGhpcyBhZGRzIHRoZSAibm91bnB1dCIgb3B0aW9uIHRvIHRoZSBmbGV4IGlucHV0IGZpbGUgc28gdGhhdAoJICB5eXVucHV0IGlzIG5vdCBnZW5lcmF0ZWQuICBUaGUgZnVuY3Rpb24gaXMgc3RhdGljIGJ1dCBub3QgdXNlZCBzbwoJICBzb21lIGNvbXBpbGVycyB3YXJuLgoKMjAwOC0xMi0xNyAwOToyNCAgaG9mZm1hbgoKCSogVGVzdHMvRmluZFBhY2thZ2VUZXN0L0JheiAxLjEvQmF6Q29uZmlnLmNtYWtlOiBmaWxlCgkgIEJhekNvbmZpZy5jbWFrZSB3YXMgYWRkZWQgb24gYnJhbmNoIENNYWtlLTItNiBvbiAyMDA5LTAxLTEzCgkgIDE4OjAzOjU1ICswMDAwCgoyMDA4LTEyLTE3IDA5OjI0ICBob2ZmbWFuCgoJKiBUZXN0cy9GaW5kUGFja2FnZVRlc3QvQmF6IDEuMi9DTWFrZS9CYXpDb25maWcuY21ha2U6IGZpbGUKCSAgQmF6Q29uZmlnLmNtYWtlIHdhcyBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDktMDEtMTMKCSAgMTg6MDM6NTYgKzAwMDAKCjIwMDgtMTItMTcgMDk6MjQgIGhvZmZtYW4KCgkqIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9CYXogMS4xL0JhekNvbmZpZ1ZlcnNpb24uY21ha2U6IGZpbGUKCSAgQmF6Q29uZmlnVmVyc2lvbi5jbWFrZSB3YXMgYWRkZWQgb24gYnJhbmNoIENNYWtlLTItNiBvbgoJICAyMDA5LTAxLTEzIDE4OjAzOjU1ICswMDAwCgoyMDA4LTEyLTE3IDA5OjI0ICBob2ZmbWFuCgoJKiBUZXN0cy9GaW5kUGFja2FnZVRlc3QvQmF6IDEuMi9DTWFrZS9CYXpDb25maWdWZXJzaW9uLmNtYWtlOiBmaWxlCgkgIEJhekNvbmZpZ1ZlcnNpb24uY21ha2Ugd2FzIGFkZGVkIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24KCSAgMjAwOS0wMS0xMyAxODowMzo1NiArMDAwMAoKMjAwOC0xMi0xNyAwOToyNCAga2luZwoKCSogU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmN4eCwKCSAgVGVzdHMvRmluZFBhY2thZ2VUZXN0L0NNYWtlTGlzdHMudHh0LCBUZXN0cy9GaW5kUGFja2FnZVRlc3QvQmF6CgkgIDEuMS9CYXpDb25maWcuY21ha2UsIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9CYXoKCSAgMS4xL0JhekNvbmZpZ1ZlcnNpb24uY21ha2UsIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9CYXoKCSAgMS4yL0NNYWtlL0JhekNvbmZpZy5jbWFrZSwgVGVzdHMvRmluZFBhY2thZ2VUZXN0L0JhegoJICAxLjIvQ01ha2UvQmF6Q29uZmlnVmVyc2lvbi5jbWFrZTogRU5IOiBUZWFjaCBmaW5kX3BhY2thZ2UgYWJvdXQKCSAgbW9yZSBpbnN0YWxsIGRpcnMKCgkgIFdlIG5vdyBzZWFyY2ggaW4KCgkgICAgPHByZWZpeD4vPG5hbWU+Ki8KCSAgICA8cHJlZml4Pi88bmFtZT4qLyhjbWFrZXxDTWFrZSkKCgkgIHdoZW4gbG9va2luZyBmb3IgcGFja2FnZSBjb25maWd1cmF0aW9uIGZpbGVzLiAgVGhpcyBpcyB1c2VmdWwgb24KCSAgV2luZG93cyBzaW5jZSB0aGUgUHJvZ3JhbSBGaWxlcyBmb2xkZXIgaXMgaW4KCSAgQ01BS0VfU1lTVEVNX1BSRUZJWF9QQVRILiAgVGhlc2UgcGF0aHMgYXJlIHRoZSBXaW5kb3dzIGVxdWl2YWxlbnQKCSAgdG8gdGhlIEFwcGxlIGNvbnZlbnRpb24gYXBwbGljYXRpb24gYW5kIGZyYW1ld29yayBwYXRocyB3ZQoJICBhbHJlYWR5IHNlYXJjaC4gIFNlZSBpc3N1ZSAjODI2NC4KCjIwMDgtMTItMTcgMDk6MjMgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93c1BhdGhzLmNtYWtlOiBFTkg6IFVzZSAzMi1iaXQgYW5kIDY0LWJpdAoJICBQcm9ncmFtIEZpbGVzIGZvbGRlcnMKCgkgIE9uIDY0LWJpdCBXaW5kb3dzIHRoZXJlIG1heSBiZSB0d28gUHJvZ3JhbSBGaWxlcyBmb2xkZXJzLCBvbmUgZm9yCgkgIDMyLWJpdCBiaW5hcmllcyBhbmQgb25lIGZvciA2NC1iaXQgYmluYXJpZXMuCVdoZW4gd2UgY29tcHV0ZQoJICBDTUFLRV9TWVNURU1fUFJFRklYX1BBVEggd2Ugc2hvdWxkIHB1dCBib3RoIGZvbGRlcnMgaW4gdGhlIHBhdGguCgoyMDA4LTEyLTE3IDA4OjI0ICBraW5nCgoJKiBTb3VyY2UvY21Db21tYW5kQXJndW1lbnRMZXhlci5jeHgsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudExleGVyLmgsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudExleGVyLmluLmwsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudFBhcnNlci5jeHgsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudFBhcnNlci55LAoJICBTb3VyY2UvY21Db21tYW5kQXJndW1lbnRQYXJzZXJUb2tlbnMuaCwKCSAgVGVzdHMvU3RyaW5nRmlsZVRlc3QvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWxsb3cgbW9zdCBjaGFyYWN0ZXJzCgkgIGluIEVOViB2YXJpYWJsZSByZWZzCgoJICBUaGUgJEVOVntWQVJ9IHN5bnRheCBwZXJtaXRzIGFjY2VzcyB0byBlbnZpcm9ubWVudCB2YXJpYWJsZXMuCgkgIFRoaXMgdGVhY2hlcyBDTWFrZSB0byByZWNvZ25pemUgbW9zdCBjaGFyYWN0ZXJzIGluIHRoZSBWQVIgbmFtZQoJICBzaW5jZSBzb21lIGVudmlyb25tZW50cyBtYXkgaGF2ZSB2YXJpYWJsZXMgd2l0aCBub24tQy1pZGVudGlmaWVyCgkgIGNoYXJhY3RlcnMuCgoyMDA4LTEyLTE3IDAwOjA0ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTItMTYgMTU6MTUgIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy9RQ01ha2VXaWRnZXRzLmN4eDoKCSAgRU5IOglJbXByb3ZlIHBlcmZvcm1hbmNlIHdpdGggZmlsZSBjb21wbGV0aW9uLiAgRml4IGZvciAjODI5Mi4KCjIwMDgtMTItMTYgMTU6MDAgIGhvZmZtYW4KCgkqIFNvdXJjZS9RdERpYWxvZy9Db21waWxlcnMuaDogZmlsZSBDb21waWxlcnMuaCB3YXMgYWRkZWQgb24gYnJhbmNoCgkgIENNYWtlLTItNiBvbiAyMDA4LTEyLTMxIDE1OjE0OjMwICswMDAwCgoyMDA4LTEyLTE2IDE1OjAwICBob2ZmbWFuCgoJKiBTb3VyY2UvUXREaWFsb2cvQ29tcGlsZXJzLnVpOiBmaWxlIENvbXBpbGVycy51aSB3YXMgYWRkZWQgb24KCSAgYnJhbmNoIENNYWtlLTItNiBvbiAyMDA4LTEyLTMxIDE1OjE0OjMwICswMDAwCgoyMDA4LTEyLTE2IDE1OjAwICBob2ZmbWFuCgoJKiBTb3VyY2UvUXREaWFsb2cvQ3Jvc3NDb21waWxlci51aTogZmlsZSBDcm9zc0NvbXBpbGVyLnVpIHdhcyBhZGRlZAoJICBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDgtMTItMzEgMTU6MTQ6MzAgKzAwMDAKCjIwMDgtMTItMTYgMTU6MDAgIGhvZmZtYW4KCgkqIFNvdXJjZS9RdERpYWxvZy9GaXJzdENvbmZpZ3VyZS5jeHg6IGZpbGUgRmlyc3RDb25maWd1cmUuY3h4IHdhcwoJICBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDgtMTItMzEgMTU6MTQ6MzAgKzAwMDAKCjIwMDgtMTItMTYgMTU6MDAgIGhvZmZtYW4KCgkqIFNvdXJjZS9RdERpYWxvZy9GaXJzdENvbmZpZ3VyZS5oOiBmaWxlIEZpcnN0Q29uZmlndXJlLmggd2FzIGFkZGVkCgkgIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24gMjAwOC0xMi0zMSAxNToxNDozMCArMDAwMAoKMjAwOC0xMi0xNiAxNTowMCAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nLzogQ01ha2VGaXJzdENvbmZpZ3VyZS5jeHgsIENNYWtlRmlyc3RDb25maWd1cmUuaCwKCSAgQ01ha2VGaXJzdENvbmZpZ3VyZS51aSwgQ01ha2VMaXN0cy50eHQsIENNYWtlU2V0dXBEaWFsb2cuY3h4LAoJICBDb21waWxlcnMuaCwgQ29tcGlsZXJzLnVpLCBDcm9zc0NvbXBpbGVyLnVpLCBGaXJzdENvbmZpZ3VyZS5jeHgsCgkgIEZpcnN0Q29uZmlndXJlLmg6CgkgIEVOSDoKCgkgIEZvciBidWcgIzcxOTEuICBJbXByb3ZlbWVudHMgdG8gdGhlIGRpYWxvZyB0aGF0IHNldHMgdXAgdGhlIGZpcnN0CgkgIGNvbmZpZ3VyZS4gIEZpeGluZyB0aGUgbGFyZ2Ugc2l6ZSBvZiBpdCBieSBicmVha2luZyBpdCB1cCBpbnRvIGEKCSAgd2l6YXJkLiAgQWxzbyBpbmNvcnBvcmF0ZWQgc3VnZ2VzdGlvbnMgZnJvbSBidWcgcmVwb3J0LgoKMjAwOC0xMi0xNiAwOToyMyAga2luZwoKCSogU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmN4eDogQlVHOiBmaW5kX3BhY2thZ2UgbXVzdCBwdXNoL3BvcAoJICBwb2xpY2llcwoKCSAgV2hlbiB0aGUgZmluZF9wYWNrYWdlIGNvbW1hbmQgbG9hZHMgYSA8bmFtZT4tdmVyc2lvbi5jbWFrZSBmaWxlCgkgIHRvIHRlc3QgdGhlIHBhY2thZ2UgdmVyc2lvbiBpdCBtdXN0IHByZXZlbnQgdGhlIHZlcnNpb24gZmlsZSBmcm9tCgkgIGFmZmVjdGluZyBwb2xpY3kgc2V0dGluZ3MuICBUaGVyZWZvcmUgdGhlIHBvbGljeSBzZXR0aW5ncyBtdXN0IGJlCgkgIHB1c2hlZCBhbmQgcG9wcGVkLgoKMjAwOC0xMi0xNiAwOToyMCAga2luZwoKCSogU291cmNlL2NtSW5zdGFsbEdlbmVyYXRvci5jeHg6IEJVRzogRml4IGNvbXBvbmVudC1uYW1lIHRlc3Qgb24KCSAgaW5zdGFsbGF0aW9uCgoJICBHZW5lcmF0ZWQgY21ha2VfaW5zdGFsbC5jbWFrZSBzY3JpcHQgY29kZSB1c2VkIE1BVENIRVMgdG8gY29tcGFyZQoJICBjb21wb25lbnQgbmFtZXMuICBUaGlzIGRvZXMgbm90IHN1cHBvcnQgY2hhcmFjdGVycyBjb25zaWRlcmVkCgkgIHNwZWNpYWwgYnkgcmVndWxhciBleHByZXNzaW9uIHN5bnRheCBpbiBjb21wb25lbnQgbmFtZXMuICBUaGlzCgkgIGNoYW5nZSB1c2VzIFNUUkVRVUFMIGluc3RlYWQuICBTZWUgaXNzdWUgIzgyNTYuCgoyMDA4LTEyLTE2IDA5OjE1ICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5oOiBFTkg6IFdhcm4gaWYKCSAgYnVpbGQgZGlyIGlzIHRvbyBsb25nIGZvciBmaWxlc3lzdGVtCgoJICBXaGVuIGFuIG9iamVjdCBmaWxlIGRpcmVjdG9yeSBpcyB0b28gZGVlcCB0byBwbGFjZSBhbiBvYmplY3QgZmlsZQoJICB3aXRob3V0IGV4Y2VlZGluZyBDTUFLRV9PQkpFQ1RfUEFUSF9NQVgsIHRoaXMgaXNzdWVzIGEgd2FybmluZy4KCSAgUHJldmlvdXNseSB3ZSBzaWxlbnRseSBpZ25vcmVkIHRoZSBwcm9ibGVtLiAgU2VlIGlzc3VlICM3ODYwLgoKMjAwOC0xMi0xNiAwOToxNCAga2luZwoKCSogU291cmNlLzogY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtTG9jYWxHZW5lcmF0b3IuaCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogRU5IOiBSZWZhY3RvciBwYXNzaW5nIG9mIG1heAoJICBsZW5ndGggb2JqZWN0IGRpcgoKCSAgV2hlbiBjb21wdXRpbmcgdGhlIG1heGltdW0gbGVuZ3RoIGZ1bGwgcGF0aCB0byB0aGUgYnVpbGQKCSAgZGlyZWN0b3J5IHVuZGVyIHdoaWNoIG9iamVjdCBmaWxlcyB3aWxsIGJlIHBsYWNlZCwgcGFzcyB0aGUKCSAgYWN0dWFsIHBhdGggaW5zdGVhZCBvZiBqdXN0IGl0cyBsZW5ndGguICBUaGlzIHdpbGwgYmUgdXNlZnVsIGZvcgoJICBlcnJvciBtZXNzYWdlIGdlbmVyYXRpb24uCgoyMDA4LTEyLTE2IDA5OjEzICBob2ZmbWFuCgoJKiBUZXN0cy9GaW5kUGFja2FnZVRlc3QvbGliL2NtYWtlL3pvdC00LjAvem90LWNvbmZpZy12ZXJzaW9uLmNtYWtlOgoJICBmaWxlIHpvdC1jb25maWctdmVyc2lvbi5jbWFrZSB3YXMgYWRkZWQgb24gYnJhbmNoIENNYWtlLTItNiBvbgoJICAyMDA5LTAxLTEzIDE4OjAzOjU2ICswMDAwCgoyMDA4LTEyLTE2IDA5OjEzICBob2ZmbWFuCgoJKiBUZXN0cy9GaW5kUGFja2FnZVRlc3QvbGliL2NtYWtlL3pvdC00LjAvem90LWNvbmZpZy5jbWFrZTogZmlsZQoJICB6b3QtY29uZmlnLmNtYWtlIHdhcyBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDktMDEtMTMKCSAgMTg6MDM6NTYgKzAwMDAKCjIwMDgtMTItMTYgMDk6MTMgIGtpbmcKCgkqIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC86IENNYWtlTGlzdHMudHh0LAoJICBsaWIvY21ha2Uvem90LTQuMC96b3QtY29uZmlnLXZlcnNpb24uY21ha2UsCgkgIGxpYi9jbWFrZS96b3QtNC4wL3pvdC1jb25maWcuY21ha2UsCgkgIGxpYi96b3QtMy4xL3pvdC1jb25maWctdmVyc2lvbi5jbWFrZSwKCSAgbGliL3pvdC0zLjEvem90LWNvbmZpZy5jbWFrZTogRU5IOiBTdHJlbmd0aGVuIEZpbmRQYWNrYWdlVGVzdAoJICB2ZXJzaW9uIGNoZWNrCgoJICBUaGUgcHJldmlvdXMgY2hhbmdlIHRvIHRlc3QgZmluZGluZyBpbiBsaWIvY21ha2UvPG5hbWU+KiB3ZWFrZW5lZAoJICB0aGUgdmVyc2lvbmVkIGZpbmQgdGVzdHMuICBTaW5jZSB0aGUgbGliL2NtYWtlIHBhdGhzIGFyZSBzZWFyY2hlZAoJICBiZWZvcmUgbGliLzxuYW1lPiogcGF0aHMgdGhlIHByZXZpb3VzIGNoYW5nZSBza2lwcGVkIHJlcXVpcmluZwoJICB0aGUgY29tbWFuZCB0byBpZ25vcmUgem90LTMuMCB3aGVuIGZpbmRpbmcgem90LTMuMS4gIFRoaXMgY2hhbmdlCgkgIHJlc3RvcmVzIHRoYXQgYW5kIGFkZHMgem90LTQuMCB0byB0ZXN0IHRoZSBsaWIvY21ha2UgcGF0aC4KCjIwMDgtMTItMTYgMDA6MDQgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMi0xNSAxODo0OCAgY2xpbnRvbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOgoJICBCVUc6CUZpeCBmb3IgIzgyNDcuCSAgICAgIEFkZCBRVF9UUkFOU0xBVElPTlNfRElSIHBvaW50aW5nIHRvCgkgIHRoZSBRdCB0cmFuc2xhdGlvbiBmaWxlcywgYW5kIGRvY3MgZm9yIGl0LgkgICAgQWxzbyBhZGQgZG9jcwoJICBmb3IgUVRfQklOQVJZX0RJUi4KCjIwMDgtMTItMTUgMTc6MTkgIGZiZXJ0ZWwKCgkqIFNvdXJjZS9rd3N5cy86IFByb2Nlc3NVTklYLmMsIFN5c3RlbUluZm9ybWF0aW9uLmN4eDogQ09NUDpGaXhlZAoJICB3YXJuaW5ncy4KCjIwMDgtMTItMTUgMTM6MzAgIGtpbmcKCgkqIFNvdXJjZS86IGNtRG9jdW1lbnRWYXJpYWJsZXMuY3h4LCBjbVRhcmdldC5jeHg6IEJVRzogRml4CgkgIDxDT05GSUc+X1BPU1RGSVggcHJvcGVydHkvdmFyaWFibGUgZG9jcwoKCSAgVGhlIENNQUtFXzxDT05GSUc+X1BPU1RGSVggdmFyaWFibGUgYW5kIDxDT05GSUc+X1BPU1RGSVggcHJvcGVydHkKCSAgd2VyZSBub3QgZG9jdW1lbnRlZC4JVGhpcyB1cGRhdGVzIHRoZSBDTUFLRV9ERUJVR19QT1NURklYIGFuZAoJICBERUJVR19QT1NURklYIGRvY3VtZW50YXRpb24gdG8gcmVmZXIgdG8gdGhlIG1vcmUgZ2VuZXJhbAoJICB2YXJpYWJsZS9wcm9wZXJ0eS4gIEl0IGFsc28gY2xhcmlmaWVzIHRoYXQgdGhlIHZhcmlhYmxlIGlzIHVzZWQKCSAgYXMgdGhlIHByb3BlcnR5IGRlZmF1bHQgb25seSBmb3Igbm9uLWV4ZWN1dGFibGUgdGFyZ2V0cy4gIFNlZQoJICBpc3N1ZSAjNzg2OC4KCjIwMDgtMTItMTQgMDA6MDQgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMi0xMiAwMDowMCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTEyLTExIDIyOjA1ICBsb3dtYW4KCgkqIE1vZHVsZXMvRmluZEN4eFRlc3QuY21ha2U6IEVOSDogQWRkZWQgRmluZEN4eFRlc3QgbW9kdWxlIHRvCgkgIGFzc2lzdCBvdGhlcnMgaW4gdXNpbmcgdGhlIEN4eFRlc3QgdW5pdCB0ZXN0aW5nIGZyYW1ld29yayB3aXRoaW4KCSAgQ1Rlc3QKCjIwMDgtMTItMTEgMTU6NTUgIGRhdmlkLmNvbGUKCgkqIFRlc3RzL0V4dGVybmFsUHJvamVjdC9DTWFrZUxpc3RzLnR4dDogQlVHOiBPbmUgbW9yZSBjb25kaXRpb25hbAoJICBpbiB0aGUgRXh0ZXJuYWxQcm9qZWN0IHRlc3QgdG8gcHJldmVudCBidWlsZCBlcnJvcnMgb2YgVHV0b3JpYWwKCSAgU3RlcDUgb24gV2luOTggdXNpbmcgVmlzdWFsIFN0dWRpbyA2IHdoZW4gdGhlIHBhdGggbGVuZ3RoIG9mIGl0cwoJICBidWlsZCB0cmVlIGV4Y2VlZHMgNzIgY2hhcmFjdGVycy4gQ3JhenksIHBlcmhhcHMuIEJ1dCB0aGlzIGZpeGVzCgkgIHRoZSBsYXN0IHJlYWwgZGFzaGJvYXJkIGZhaWx1cmUgb2YgdGhlIEV4dGVybmFsUHJvamVjdCB0ZXN0LgoKMjAwOC0xMi0xMSAxNDozNSAgaG9mZm1hbgoKCSogVGVzdHMvQ01ha2VMaXN0cy50eHQ6IEVOSDogcmVtb3ZlIHNvbWUgdmVyYm9zaXR5IHRvIHJlZHVjZSB0ZXN0CgkgIHRpbWUKCjIwMDgtMTItMTEgMDA6MDAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMi0xMCAxMTozMCAgZGF2aWQuY29sZQoKCSogVGVzdHMvRXh0ZXJuYWxQcm9qZWN0L0NNYWtlTGlzdHMudHh0OiBCVUc6IFByZXZlbnQgS1dTdHlsZQoJICBwb3J0aW9uIG9mIEV4dGVybmFsUHJvamVjdCB0ZXN0IGZyb20gY29uZmlndXJpbmcsIGJ1aWxkaW5nLAoJICBpbnN0YWxsaW5nIGFuZCB0ZXN0aW5nIG9uIFdBVENPTSBkYXNoYm9hcmRzLiBXQVRDT00gU1RMIHN1cHBvcnQKCSAgaXMgc3RpbGwgdW5kZXIgZGV2ZWxvcG1lbnQuCgoyMDA4LTEyLTEwIDEwOjUwICBkYXZpZC5jb2xlCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHg6IFNUWUxFOiBGaXggbGluZSBsZW5ndGggc3R5bGUKCSAgdmlvbGF0aW9ucy4KCjIwMDgtMTItMTAgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMi0wOSAxNjowNyAgZGF2aWQuY29sZQoKCSogU291cmNlLzogY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LCBjbWFrZS5jeHg6IENPTVA6IEZpeCB0aGUKCSAgRXh0ZXJuYWxQcm9qZWN0IHRlc3QgZm9yIFZpc3VhbCBTdHVkaW8gNi4gVmlzdWFsIFN0dWRpbyA2ICouZHNwCgkgIGZpbGVzIGNhbm5vdCBoYXZlIGh5cGhlbnMgaW4gdGhlbS4gQWRkIHV0aWxpdHkgZnVuY3Rpb24KCSAgR2V0VlM2VGFyZ2V0TmFtZSB0byByZXBsYWNlIGh5cGhlbnMgd2l0aCB1bmRlcnNjb3JlcyB3aGVuCgkgIGdlbmVyYXRpbmcgKi5kc3AgZmlsZSBuYW1lcy4gVXNlIHRoZSBmdW5jdGlvbiBldmVyeXdoZXJlCgkgIG5lY2Vzc2FyeSBpbiB0aGUgVlM2IGdlbmVyYXRvcnMuIEFuZCwgYSB3b3JrYXJvdW5kOiBWUzYgdXNlcwoJICAiLlxEZWJ1ZyIgKGZvciBleGFtcGxlKSBhcyBhbiAiJChJbnREaXIpIiB2YWx1ZSAtIHN0cmlwIGFueQoJICBsZWFkaW5nICIuXCIgd2hlbiBwcm9jZXNzaW5nIGEgLS1jb25maWcgYXJndW1lbnQgaW4gdGhlIGNtYWtlCgkgIC0tYnVpbGQgaGFuZGxpbmcgY29kZS4KCjIwMDgtMTItMDkgMTU6MzEgIGRhdmlkLmNvbGUKCgkqIE1vZHVsZXMvQWRkRXh0ZXJuYWxQcm9qZWN0LmNtYWtlOiBFTkg6IERlZmF1bHQgdG8gdGhlIHNhbWUgY21ha2UKCSAgdXNlZCBmb3IgY29uZmlndXJpbmcgd2hlbiBidWlsZGluZyBhbmQgaW5zdGFsbGluZy4gSWYgbm9uZQoJICBzcGVjaWZpZWQgZGVmYXVsdCB0byB0aGUgY21ha2UgdXNlZCB0byBjb25maWd1cmUgdGhlCgkgIG91dGVyL2FnZ3JlZ2F0aW5nIHByb2plY3QuCgoyMDA4LTEyLTA5IDE0OjA3ICBraW5nCgoJKiBTb3VyY2UvY21GaW5kUGFja2FnZUNvbW1hbmQuY3h4LAoJICBUZXN0cy9GaW5kUGFja2FnZVRlc3QvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9saWIvem90LTMuMS96b3QtY29uZmlnLXZlcnNpb24uY21ha2UsCgkgIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9saWIvem90LTMuMS96b3QtY29uZmlnLmNtYWtlOiBFTkg6IEFkZAoJICB1c2VmdWwgc2VhcmNoIGxvY2F0aW9ucyB0byBmaW5kX3BhY2thZ2UKCgkgIFRoaXMgdGVhY2hlcyBmaW5kX3BhY2thZ2UgdG8gc2VhcmNoCgoJICAgIDxwcmVmaXg+LyhzaGFyZXxsaWIpL2NtYWtlLzxuYW1lPiovCgoJICBmb3IgcGFja2FnZSBjb25maWd1cmF0aW9uIGZpbGVzLiAgUGFja2FnZXMgdGhhdCBkbyBub3QgYWxyZWFkeQoJICBoYXZlIGZpbGVzIGluIGEgPHByZWZpeD4vbGliLzxuYW1lPiogZGlyZWN0b3J5IGNhbiB1c2UgdGhpcwoJICBsb2NhdGlvbiB0byBhdm9pZCBjbHV0dGVyaW5nIHRoZSBsaWIgZGlyZWN0b3J5LgoKMjAwOC0xMi0wOSAxNDowNyAga2luZwoKCSogU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmN4eDogU1RZTEU6IFJlbW92ZSBvbGQgVE9ETyBjb21tZW50CgkgIGluIGZpbmRfcGFja2FnZQoKCSAgVmVyc2lvbmluZyBoYXMgYmVlbiBpbnRyb2R1Y2VkIHRvIGZpbmRfcGFja2FnZSwgc28gdGhlIGNvbW1lbnQKCSAgYWJvdXQgaXQgaXMgb3V0IG9mIGRhdGUuCgoyMDA4LTEyLTA5IDEwOjU2ICBkYXZpZC5jb2xlCgoJKiBUZW1wbGF0ZXMvVGVzdERyaXZlci5jeHguaW46IENPTVA6IERvbid0IGVtaXQgb2xkIHN0eWxlIGNhc3QKCSAgd2FybmluZyB3aGVuIGNvbmZpZ3VyZWQgYXMgQysrIGJ1dCBzdGlsbCBhbGxvdyBiZWluZyBjb25maWd1cmVkCgkgIGFzIEMuIFRoYW5rcyB0byBNb25zaWV1ciBGcmFuY29pcyBCZXJ0ZWwgZm9yIHRoZSBwYXRjaC4KCjIwMDgtMTItMDkgMTA6MDggIGtpbmcKCgkqIFNvdXJjZS86IGNtRmluZFBhY2thZ2VDb21tYW5kLmN4eCwgY21GaW5kUGFja2FnZUNvbW1hbmQuaDogRU5IOgoJICBQcmVzZXJ2ZSA8cGtnPl9GSU5EX1hYWCB2YXJzIGluIGZpbmRfcGFja2FnZQoKCSAgV2hlbiB0aGUgZmluZF9wYWNrYWdlIGNvbW1hbmQgbG9hZHMgYSBtb2R1bGUgaXQgc2V0cyBzZXZlcmFsCgkgIDxwa2c+X0ZJTkRfWFhYIHZhcmlhYmxlcyB0byBjb21tdW5pY2F0ZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUKCSAgY29tbWFuZCBpbnZvY2F0aW9uIHRvIHRoZSBtb2R1bGUuICBUaGlzIHJlc3RvcmVzIHRoZSBvcmlnaW5hbAoJICBzdGF0ZSBvZiB0aGUgdmFyaWFibGVzIHdoZW4gdGhlIGNvbW1hbmQgcmV0dXJucy4gIFRoaXMgYmVoYXZpb3IKCSAgaXMgdXNlZnVsIHdoZW4gYSBmaW5kLW1vZHVsZSByZWN1cnNpdmVseSBjYWxscyBmaW5kX3BhY2thZ2Ugd2l0aAoJICBOT19NT0RVTEUgc28gdGhhdCB0aGUgaW5uZXIgY2FsbCBkb2VzIG5vdCBjaGFuZ2UgdGhlIHZhbHVlcyBpbgoJICB0aGUgZmluZC1tb2R1bGUuCgoyMDA4LTEyLTA5IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTItMDggMTc6MzkgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFNxdWlzaC5jbWFrZTogZmlsZSBGaW5kU3F1aXNoLmNtYWtlIHdhcyBhZGRlZCBvbgoJICBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDgtMTItMzEgMTU6MTQ6MjUgKzAwMDAKCjIwMDgtMTItMDggMTc6MzkgIGhvZmZtYW4KCgkqIE1vZHVsZXMvU3F1aXNoUnVuVGVzdENhc2UuYmF0OiBmaWxlIFNxdWlzaFJ1blRlc3RDYXNlLmJhdCB3YXMKCSAgYWRkZWQgb24gYnJhbmNoIENNYWtlLTItNiBvbiAyMDA4LTEyLTMxIDE1OjE0OjI4ICswMDAwCgoyMDA4LTEyLTA4IDE3OjM5ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1NxdWlzaFJ1blRlc3RDYXNlLnNoOiBmaWxlIFNxdWlzaFJ1blRlc3RDYXNlLnNoIHdhcyBhZGRlZAoJICBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDgtMTItMzEgMTU6MTQ6MjkgKzAwMDAKCjIwMDgtMTItMDggMTc6MzkgIGhvZmZtYW4KCgkqIE1vZHVsZXMvU3F1aXNoVGVzdFNjcmlwdC5jbWFrZTogZmlsZSBTcXVpc2hUZXN0U2NyaXB0LmNtYWtlIHdhcwoJICBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDgtMTItMzEgMTU6MTQ6MjkgKzAwMDAKCjIwMDgtMTItMDggMTc6MzkgIGRhdmlzYgoKCSogTW9kdWxlcy86IEZpbmRTcXVpc2guY21ha2UsIFNxdWlzaFJ1blRlc3RDYXNlLmJhdCwKCSAgU3F1aXNoUnVuVGVzdENhc2Uuc2gsIFNxdWlzaFRlc3RTY3JpcHQuY21ha2U6IEVOSDogYWRkaW5nCgkgIGZ1bmN0aW9uYWxpdHkgZm9yIGZpbmRpbmcgU3F1aXNoLCBhZGRpbmcgU3F1aXNoIHRlc3RzIGZyb20gQ01ha2UsCgkgIGFuZCBydW5uaW5nIFNxdWlzaCB0ZXN0cyBmcm9tIGN0ZXN0CgoyMDA4LTEyLTA4IDE0OjU4ICBkYXZpZC5jb2xlCgoJKiBNb2R1bGVzL0FkZEV4dGVybmFsUHJvamVjdC5jbWFrZTogQlVHOiBNYWtlIHN1cmUgYWxsIGRpcmVjdG9yaWVzCgkgIHVzZWQgYXMgd29ya2luZyBkaXJlY3RvcmllcyBleGlzdCBhdCBDTWFrZSBjb25maWd1cmUgdGltZSBhcyB3ZWxsCgkgIGFzIGhhdmluZyBjdXN0b20gY29tbWFuZHMgdGhhdCBjcmVhdGUgdGhlbS4gTmVjZXNzYXJ5IGZvciB0aGUKCSAgQm9ybGFuZCBNYWtlZmlsZXMgZ2VuZXJhdG9yIHRvIGdlbmVyYXRlIHNob3J0IHBhdGggbmFtZXMgaW4gdGhlCgkgIG1ha2VmaWxlIGJ1aWxkIHJ1bGVzLiBBbHNvLCBtYWtlIHN1cmUgYWxsIGN1c3RvbSBjb21tYW5kcyBjaGFpbgoJICB0b2dldGhlciBwcm9wZXJseSB0aHJvdWdoIHRoZSB1c2Ugb2YgdGhlIHNlbnRpbmVsIGZpbGVzLgoKMjAwOC0xMi0wOCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTEyLTA3IDE5OjM2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4OiBTVFlMRTogZml4IGxpbmsgbGVuZ3RoCgkgIGlzc3VlcwoKMjAwOC0xMi0wNyAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTEyLTA2IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTItMDUgMTc6NTQgIGRhdmlkLmNvbGUKCgkqIFRlc3RzL0V4dGVybmFsUHJvamVjdC9DTWFrZUxpc3RzLnR4dDogQ09NUDogTm8tb3AuIFdoaXRlIHNwYWNlCgkgIG9ubHkgY2hhbmdlIHRvIHRyaWdnZXIgYSByZS1ydW4gb2YgdGhlIEV4dGVybmFsUHJvamVjdCB0ZXN0IG9uCgkgIHRoZSBRTlggY29udGludW91cyBkYXNoYm9hcmQgdG8gcGljayB1cCB0aGUgbGF0ZXN0IEtXU3R5bGUKCSAgY2hhbmdlcy4KCjIwMDgtMTItMDUgMTc6MTggIGRhdmlkLmNvbGUKCgkqIFRlc3RzL0V4dGVybmFsUHJvamVjdC9DTWFrZUxpc3RzLnR4dDogQ09NUDogTm8tb3AuIFdoaXRlIHNwYWNlCgkgIG9ubHkgY2hhbmdlIHRvIHRyaWdnZXIgYSByZS1ydW4gb2YgdGhlIEV4dGVybmFsUHJvamVjdCB0ZXN0IG9uCgkgIHRoZSBRTlggY29udGludW91cyBkYXNoYm9hcmQgdG8gcGljayB1cCB0aGUgbGF0ZXN0IEtXU3R5bGUKCSAgY2hhbmdlcy4KCjIwMDgtMTItMDUgMTY6NDYgIGRhdmlkLmNvbGUKCgkqIFRlc3RzL0V4dGVybmFsUHJvamVjdC9DTWFrZUxpc3RzLnR4dDogQ09NUDogTm8tb3AuIFdoaXRlIHNwYWNlCgkgIG9ubHkgY2hhbmdlIHRvIHRyaWdnZXIgYSByZS1ydW4gb2YgdGhlIEV4dGVybmFsUHJvamVjdCB0ZXN0IG9uCgkgIHRoZSBRTlggY29udGludW91cyBkYXNoYm9hcmQgdG8gcGljayB1cCB0aGUgbGF0ZXN0IEtXU3R5bGUKCSAgY2hhbmdlcy4KCjIwMDgtMTItMDUgMTY6MTMgIGRhdmlkLmNvbGUKCgkqIFRlc3RzL0V4dGVybmFsUHJvamVjdC9DTWFrZUxpc3RzLnR4dDogQ09NUDogTm8tb3AuIFdoaXRlIHNwYWNlCgkgIG9ubHkgY2hhbmdlIHRvIHRyaWdnZXIgYSByZS1ydW4gb2YgdGhlIEV4dGVybmFsUHJvamVjdCB0ZXN0IG9uCgkgIHRoZSBRTlggY29udGludW91cyBkYXNoYm9hcmQgdG8gcGljayB1cCB0aGUgbGF0ZXN0IEtXU3R5bGUKCSAgY2hhbmdlcy4KCjIwMDgtMTItMDUgMTU6MTggIGRhdmlkLmNvbGUKCgkqIE1vZHVsZXMvQWRkRXh0ZXJuYWxQcm9qZWN0LmNtYWtlLAoJICBUZXN0cy9FeHRlcm5hbFByb2plY3QvQ01ha2VMaXN0cy50eHQ6IEVOSDogTWFrZSBpdCBlYXNpZXIgdG8gdXNlCgkgIGNvbmZpZ3VyZS9tYWtlL21ha2UtaW5zdGFsbCBhcyB0aGUgYnVpbGQgc3RlcHMgZm9yIGFuIGV4dGVybmFsCgkgIHByb2plY3QuIEFkZCBjYXBhYmlsaXR5IG9mIGN1c3RvbWl6aW5nIHRoZSBkb3dubG9hZCBzdGVwLiBBZGQKCSAgdGVzdHMgb2YgZW1wdHkgcHJvamVjdHMuIEJldHRlciBjb21tZW50cyBhbmQgZXJyb3IgY2hlY2tpbmcgaW4KCSAgQWRkRXh0ZXJuYWxQcm9qZWN0LmNtYWtlLiBJbiB0ZXN0cywgdXNlIEtXU3R5bGUgZnJvbSBDVlNIRUFEIHRvCgkgIHNlZSBpZiBRTlggY29udGludW91cyBjYW4gYnVpbGQgdGhlIGxhdGVzdCBLV1N0eWxlLiBNYWtlIEtXU3R5bGUKCSAgdGVzdCBkZXBlbmQgb24gYWxsIHByZXZpb3VzIHRlc3QgZXh0ZXJuYWwgcHJvamVjdHMgc28gaXQgYnVpbGRzCgkgIGxhc3QgdG8gY2F0Y2ggb3RoZXIgaXNzdWVzIGJlZm9yZSBhbnkgS1dTdHlsZSBjb21waWxlIGVycm9ycy4KCjIwMDgtMTItMDUgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMi0wNCAxNTozMCAgZGF2aWQuY29sZQoKCSogVGVzdHMvRXh0ZXJuYWxQcm9qZWN0LzogQ01ha2VMaXN0cy50eHQsIFRyeUNoZWNrb3V0LmNtYWtlOiBFTkg6CgkgIFVzZSBhIFRyeUNoZWNrb3V0IHRlY2huaXF1ZSB0byBkZWNpZGUgd2hldGhlciBvciBub3QgdG8gYXR0ZW1wdAoJICBidWlsZGluZyB0aGUgcHJvamVjdHMgdGhhdCBkZXBlbmQgb24gYSBjdnMgb3Igc3ZuIGRvd25sb2FkCgkgIG1ldGhvZC4KCjIwMDgtMTItMDQgMTM6MjcgIGRhdmlkLmNvbGUKCgkqIE1vZHVsZXMvQWRkRXh0ZXJuYWxQcm9qZWN0LmNtYWtlLCBNb2R1bGVzL0Rvd25sb2FkRmlsZS5jbWFrZSwKCSAgTW9kdWxlcy9SZXBvc2l0b3J5SW5mby50eHQuaW4sIE1vZHVsZXMvVW50YXJGaWxlLmNtYWtlLAoJICBUZXN0cy9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvRXh0ZXJuYWxQcm9qZWN0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9FeHRlcm5hbFByb2plY3QvU3RlcDEudGFyLCBUZXN0cy9FeHRlcm5hbFByb2plY3QvU3RlcDEudGd6LAoJICBUZXN0cy9FeHRlcm5hbFByb2plY3QvU3RlcDFOb0Rpci50YXIsCgkgIFRlc3RzL0V4dGVybmFsUHJvamVjdC9TdGVwMU5vRGlyLnRnejogRU5IOiBGaXJzdCBkcmFmdCBvZgoJICBhZGRfZXh0ZXJuYWxfcHJvamVjdCBmdW5jdGlvbmFsaXR5LiBUd2Vha3MsIGRhc2hib2FyZCBmaXhpbmcsCgkgIG1vcmUgdGVzdHMgYW5kIGRvY3VtZW50YXRpb24gY2VydGFpbiB0byBmb2xsb3cgYXMgaXQgZ2V0cyB1c2VkIGJ5CgkgIG90aGVycy4uLgoKMjAwOC0xMi0wNCAxMDo1MSAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbUluZm9ybWF0aW9uLmN4eDogQlVHOiBmaXggY3B1IGluZm8gc3RyaW5nCgoyMDA4LTEyLTA0IDA5OjEyICBob2ZmbWFuCgoJKiBNb2R1bGVzL0dldFByZXJlcXVpc2l0ZXMuY21ha2U6IEJVRzogbWFrZSBzdXJlIGxpc3QgaXMgbm90IHNpemUgMAoJICBiZWZvcmUgc29ydAoKMjAwOC0xMi0wNCAwOTowOSAgaG9mZm1hbgoKCSogU291cmNlL0NQYWNrL2NtQ1BhY2tCdW5kbGVHZW5lcmF0b3IuY3h4OiBFTkg6IGFsbG93IHN0YXJ0dXAKCSAgY29tbWFuZCB0byBiZSBvcHRpb25hbAoKMjAwOC0xMi0wNCAwODo1NyAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eDogQlVHOiBmaXggZm9yIGJ1ZyAjODIxNgoKMjAwOC0xMi0wNCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTEyLTAzIDE2OjEzICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogRmluZEN1cnNlcy5jbWFrZSwgUGxhdGZvcm0vSGFpa3UuY21ha2U6IEVOSDogZml4IGN1cnNlcwoJICBvbiBoYWlrdQoKMjAwOC0xMi0wMyAxNTozNSAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgVGVtcGxhdGVzL0RMTEhlYWRlci5kc3B0ZW1wbGF0ZSwgVGVtcGxhdGVzL0VYRUhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVtcGxhdGVzL0VYRVdpbkhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVtcGxhdGVzL3N0YXRpY0xpYkhlYWRlci5kc3B0ZW1wbGF0ZTogQlVHOiBmaXggZm9yIHJjIGFuZCB2czYKCjIwMDgtMTItMDMgMTQ6MzcgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ1BhY2tSUE0uY21ha2U6IEJVRzogIzc5MDQgIGFkZCBycG0gcGFja2FnZSBkZXBlbmQKCjIwMDgtMTItMDMgMTE6MjEgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9jbWN1cmwvVGVzdGluZy9jdXJsdGVzdC5jOiBFTkg6IGRpc2FibGUgZnRwIHRlc3Qgb24KCSAgYnJhbmNoCgoyMDA4LTEyLTAzIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTItMDIgMjE6NDQgIGhvZmZtYW4KCgkqIFRlc3RzL0ZvcnRyYW4vOiBmb28uYywgZm9vLmYsIG15c3ViLmY6IEVOSDogYWRkIG1pc3NpbmcgZmlsZXMKCjIwMDgtMTItMDIgMTY6NDAgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9jbWN1cmwvVGVzdGluZy9jdXJsdGVzdC5jOiBFTkg6IGRpc2FibGUgZnRwIGNoZWNrCgkgIGJlY2F1c2UgaXQgaXMgbm8gbG9uZ2VyIGFjdGl2ZSBvbiBwdWJsaWMKCjIwMDgtMTItMDIgMDc6MDcgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLAoJICBNb2R1bGVzL0NNYWtlQVNNLUFUVEluZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQVNNLUFUVENvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQVNNQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVGb3J0cmFuQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VUZXN0QVNNLUFUVENvbXBpbGVyLmNtYWtlLCBNb2R1bGVzL0NUZXN0LmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRRdDQuY21ha2UsIE1vZHVsZXMvRm9ydHJhbkNJbnRlcmZhY2UuY21ha2UsCgkgIE1vZHVsZXMvRm9ydHJhbkNJbnRlcmZhY2UuaC5pbiwKCSAgTW9kdWxlcy9JbnN0YWxsUmVxdWlyZWRTeXN0ZW1MaWJyYXJpZXMuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vU3VuT1MtU3VuUHJvLUZvcnRyYW4uY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1nNzcuY21ha2UsCgkgIFNvdXJjZS9jbUluY2x1ZGVFeHRlcm5hbE1TUHJvamVjdENvbW1hbmQuaCwKCSAgU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGUuaCwgU291cmNlL2NtYWtlLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdENvbW1hbmQuaCwKCSAgU291cmNlL2t3c3lzL0NUZXN0Q29uZmlnLmNtYWtlLCBUZW1wbGF0ZXMvVGVzdERyaXZlci5jeHguaW4sCgkgIFRlc3RzL0ZvcnRyYW4vQ01ha2VMaXN0cy50eHQsIFV0aWxpdGllcy9jbWN1cmwvQ01ha2VMaXN0cy50eHQ6CgkgIEVOSDogbWVyZ2UgaW4gUkMgNQoKMjAwOC0xMi0wMiAwMDowMiAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTEyLTAxIDE0OjQxICBkYXZpZC5jb2xlCgoJKiBTb3VyY2UvY21HbG9iYWxNU1lTTWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IERvIG5vdCByZXF1aXJlCgkgIENNQUtFX0FSIGluIHRoZSBNU1lTIE1ha2VmaWxlcyBnZW5lcmF0b3Igd2hlbiBlbmFibGluZyBsYW5ndWFnZQoJICAiTk9ORSIuCgoyMDA4LTEyLTAxIDAwOjAyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTEtMzAgMDA6MDIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMS0yOSAwMDowNSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTExLTI4IDEwOjUwICBkYXZpZC5jb2xlCgoJKiBTb3VyY2UvY21DVGVzdC5oOiBTVFlMRTogRml4IGxpbmUgbGVuZ3RoIHN0eWxlIHZpb2xhdGlvbi4KCjIwMDgtMTEtMjggMDA6MDIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMS0yNyAwMDowMiAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTExLTI2IDE2OjE5ICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvY21jdXJsL0NNYWtlTGlzdHMudHh0OiBFTkg6IGZpeCB3YXJuaW5nIG9uIEhQVVgKCjIwMDgtMTEtMjYgMTU6NDEgIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQ09NUDogVXNpbmcgdGhlIHByb3BlciB0eXBlIGZvciBsb2NhbAoJICB2YXJpYWJsZXMgY2FuIGVsaW1pbmF0ZSBjb21waWxlciB3YXJuaW5ncy4KCjIwMDgtMTEtMjYgMTQ6MzggIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eCwgU291cmNlL2NtQ1Rlc3QuaCwgU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4LAoJICBTb3VyY2UvY21TeXN0ZW1Ub29scy5oLAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkQW5kVGVzdEhhbmRsZXIuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5oLCBUZXN0cy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRW52aXJvbm1lbnQvQ01ha2VMaXN0cy50eHQsIFRlc3RzL0Vudmlyb25tZW50L21haW4uY3h4OgoJICBFTkg6IEltcGxlbWVudCBmZWF0dXJlIHJlcXVlc3QgZnJvbSBpc3N1ZSA3ODg1LiBBbGxvdyBzZXR0aW5nCgkgIGVudmlyb25tZW50IHZhcmlhYmxlcyBvbiBhIHBlci10ZXN0IGJhc2lzIGZvciBjdGVzdCB1c2luZwoJICBzZXRfdGVzdF9wcm9wZXJ0aWVzIEVOVklST05NRU5ULgoKMjAwOC0xMS0yNiAwMDowMiAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTExLTI1IDE2OjU2ICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6CgkgIEJVRzoJUmV2ZXJ0IDEuMTM4LgoKMjAwOC0xMS0yNSAxNjo1MCAga2luZwoKCSogU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHg6IEJVRzogRG8gbm90IG1hcCBpbnN0YWxsX25hbWUKCSAgb2YgaW1wb3J0ZWQgdGFyZ2V0cwoKCSAgV2hlbiB3ZSBpbnN0YWxsIGEgdGFyZ2V0IG9uIE1hYywgd2UgZ2VuZXJhdGUgYSBjYWxsIHRvCgkgIGluc3RhbGxfbmFtZV90b29sIHRvIGZpeCBpbnN0YWxsX25hbWUgZW50cmllcyBpbiB0aGUgdGFyZ2V0IGZvcgoJICBzaGFyZWQgbGlicmFyaWVzIGl0IGxpbmtzLiAgVGhpcyBjaGFuZ2UgbWFrZXMgdGhlIHN0ZXAgaWdub3JlCgkgIGVudHJpZXMgZm9yIGltcG9ydGVkIHRhcmdldHMgc2luY2UgdGhlaXIgaW5zdGFsbF9uYW1lIHdpbGwgbm90CgkgIGNoYW5nZSBhbmQgY21UYXJnZXQgY2Fubm90IHByb2R1Y2UgYSBtYXBwaW5nIGZvciB0aGVtLiAgVGhpcwoJICBmaXhlcyB0aGUgZXJyb3IKCgkgICAgR2V0TGlicmFyeU5hbWVzSW50ZXJuYWwgY2FsbGVkIG9uIGltcG9ydGVkIHRhcmdldDoga2RlbGlicwoKCSAgc2VlbiBieSBrZGUgZm9sa3MuCgoyMDA4LTExLTI1IDA5OjUyICBwZXJlcmEKCgkqIFRlbXBsYXRlcy9UZXN0RHJpdmVyLmN4eC5pbjogQlVHOiB0aGUgcmV0dXJuIHZhbHVlIG9mIHNjYW5mCgkgIHNob3VsZCBub3QgYmUgaWdub3JlZAoKMjAwOC0xMS0yNSAwMDowMiAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTExLTI0IDAwOjAzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTEtMjMgMjI6MDcgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy9DVGVzdENvbmZpZy5jbWFrZTogRU5IOiBtYWtlIGl0IHN1Ym1pdCB0byBjZGFzaAoKMjAwOC0xMS0yMyAxMDo0OSAgaG9mZm1hbgoKCSogU291cmNlL2NtQ1Rlc3QuY3h4LCBTb3VyY2UvQ1Rlc3QvY21DVGVzdENvdmVyYWdlSGFuZGxlci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0U2NyaXB0SGFuZGxlci5jeHgsIFRlc3RzL0NNYWtlTGlzdHMudHh0OiBFTkg6CgkgIGFkZCBtb3JlIGRlYnVnIHN0dWZmIHRvIENUZXN0Q1Rlc3QyICBzbyBJIGNhbiBmaWd1cmUgb3V0IHJlZHdhbGwKCjIwMDgtMTEtMjMgMDA6MDMgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMS0yMiAwMDowMyAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTExLTIxIDE2OjM3ICBob2ZmbWFuCgoJKiBUZXN0cy9DTWFrZUxpc3RzLnR4dDogRU5IOiBtYWtlIGN0ZXN0IG1vcmUgdmVyYm9zZSBzbyB0aGF0IHdlIGNhbgoJICBzZWUgZmFpbHVyZSBvbiByZWR3YWxsCgoyMDA4LTExLTIxIDE2OjMyICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oLCBjbVNldENvbW1hbmQuY3h4OiBCVUc6IGZpeAoJICBpc3N1ZSB3aXRoIC1EIGFuZCBjYWNoZSBmb3JjZQoKMjAwOC0xMS0yMSAxNjoxMCAgaG9mZm1hbgoKCSogVGVzdHMvOiBDb21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBtYWtlIHRoaXMKCSAgdGVzdCBwYXNzIGlmIG5ldyBjdXJsIGlzIG9uCgoyMDA4LTExLTIxIDE0OjU3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21JbmNsdWRlRXh0ZXJuYWxNU1Byb2plY3RDb21tYW5kLmg6IEJVRzogZml4IGZvciA4MTIzCgkgIGRvY3VtZW50YXRpb24gaXNzdWUKCjIwMDgtMTEtMjEgMDA6MDMgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMS0yMCAxNDowNiAgaG9mZm1hbgoKCSogVGVzdHMvOiBDb21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBvbmx5IGxpbmsgaW4KCSAgY3VybCBkaXJlY3RvcmllcyB0aGF0IGV4aXN0LCB0aGlzIHdpbGwgaGVscCB3aXRoIHZzNiBubWFrZQoKMjAwOC0xMS0yMCAwMDowMyAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTExLTE5IDAxOjE1ICBob2ZmbWFuCgoJKiBUZXN0cy86IENvbXBsZXgvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0OiBFTkg6IG1ha2UgaXQgd29yawoJICBpZiBuZXcgY3VybCBpcyBvbgoKMjAwOC0xMS0xOSAwMDowMyAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTExLTE4IDA5OjM3ICBob2ZmbWFuCgoJKiBUZXN0cy86IENvbXBsZXgvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0OiBFTkg6IG1ha2UgaXQgd29yawoJICBpZiBuZXcgY3VybCBpcyBvbgoKMjAwOC0xMS0xOCAwOTozNyAgaG9mZm1hbgoKCSogVGVzdHMvQ01ha2VMaXN0cy50eHQ6IEVOSDogYWRkIGdmb3J0cmFuLTQKCjIwMDgtMTEtMTggMDA6MDMgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMS0xNyAwMDowMyAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTExLTE2IDAwOjAzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTEtMTUgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMS0xNCAxNzo0NSAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZURldGVybWluZUZvcnRyYW5Db21waWxlci5jbWFrZTogQlVHOiBmaXggZm9yICM4MDg5LAoJICBmaXggcmVidWlsZCB3aXRoIGZvcnRyYW4gYW5kIC1ECgoyMDA4LTExLTE0IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTEtMTMgMTc6MTIgIGRhdmlkLmNvbGUKCgkqIE1vZHVsZXMvSW5zdGFsbFJlcXVpcmVkU3lzdGVtTGlicmFyaWVzLmNtYWtlOiBCVUc6IEJlY2F1c2Ugb2YKCSAgV2luZG93cyByZWdpc3RyeSBtYWRuZXNzLCB3ZSBjb3VsZCBub3QgZmluZCB0aGUgcmVkaXN0cmlidXRhYmxlcwoJICBkaXJlY3Rvcnkgb24gV2luNjQgYnVpbGRzLi4uIEFkZCBhIHNlYXJjaCBkaXJlY3RvcnkgYmFzZWQgb24KCSAgZGV2ZW52IChDTUFLRV9NQUtFX1BST0dSQU0pIGxvY2F0aW9uIHNvIHdlIGNhbiBmaW5kIGl0IGRlc3BpdGUKCSAgdGhlIG1hZG5lc3MuCgoyMDA4LTExLTEzIDE2OjQ2ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmREZXZJTC5jbWFrZTogZmlsZSBGaW5kRGV2SUwuY21ha2Ugd2FzIGFkZGVkIG9uIGJyYW5jaAoJICBDTWFrZS0yLTYgb24gMjAwOS0wMi0wNCAxNjo0NDowMSArMDAwMAoKMjAwOC0xMS0xMyAxNjo0NiAgYWxleAoKCSogTW9kdWxlcy9GaW5kRGV2SUwuY21ha2U6IEJVRzogdGhlIG1vZHVsZXMgc2hpcHBlZCB3aXRoIGNtYWtlCgkgIGRvbid0IG5lZWQgQ01BS0VfTUlOSU1VTV9SRVFVSVJFRChWRVJTSU9OKSwgYmVjYXVzZSB0aGUgY21ha2UKCSAgdGhleSBhcmUgc2hpcHBlZCB3aXRoIGlzIGFsd2F5cyBvay4gQWRkaXRpb25hbGx5LCBpZiBhCgkgIEZpbmQtbW9kdWxlIGRvZXMgQ01BS0VfTUlOSU1VTV9SRVFVSVJFRCgpLCBpdCBjaGFuZ2VzIHRoZQoJICBwb2xpY2llcyBhcyB0aGV5IG1heSBiZSBzZXQgdXAgYnkgdGhlIHByb2plY3QuIFNvIHRoaXMgc2hvdWxkbid0CgkgIGJlIGRvbmUgaW4gYSBGaW5kLW1vZHVsZSAob3Igc3Vycm91bmRlZCBieSBwb2xpY3ktcHVzaC9wb3AKCSAgY29tbWFuZHMpCgoJICBBbGV4CgoyMDA4LTExLTEzIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTEtMTIgMTI6MjYgIGNocmlzCgoJKiBNb2R1bGVzL0ZpbmREZXZJTC5jbWFrZTogRU5IOiBBZGRlZCBGaXJzdCByZXZpc2lvbiBvZgoJICBGaW5kRGV2SUwuY21ha2UKCjIwMDgtMTEtMTIgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMS0xMSAxNjo1MiAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWwsIE1vZHVsZXMvR2V0UHJlcmVxdWlzaXRlcy5jbWFrZSwKCSAgTW9kdWxlcy9Vc2VRdDQuY21ha2UsIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9rd3N5cy9EeW5hbWljTG9hZGVyLmh4eC5pbjogRU5IOiBtZXJnZSBpbiBmaXhlcyBmcm9tIGhlYWQKCSAgUkMgNAoKMjAwOC0xMS0xMSAxNDowMyAgaG9mZm1hbgoKCSogVGVzdHMvRm9ydHJhbi9DTWFrZUxpc3RzLnR4dDogRU5IOiBmaXggZ2NjIHN1biBmb3J0cmFuIG1peAoKMjAwOC0xMS0xMSAxMzo1OCAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWc3Ny5jbWFrZTogRU5IOiBmaXggZm9ydHJhbiBmbGFncyBvbiBnNzcKCSAgd2luZG93cwoKMjAwOC0xMS0xMSAxMzo1OCAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9TdW5PUy1TdW5Qcm8tRm9ydHJhbi5jbWFrZTogRU5IOiBmaXggZm9ydHJhbgoJICBmbGFncyBvbiBzdW4KCjIwMDgtMTEtMTEgMDA6MDIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMS0xMCAxMzo0MiAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogQlVHOiBmaXggcGFja2FnZV9zb3VyY2UgdGFyZ2V0CgoyMDA4LTExLTEwIDEwOjUzICBob2ZmbWFuCgoJKiBUZXN0cy9Gb3J0cmFuL0NNYWtlTGlzdHMudHh0OiBFTkg6IHB1dCBhIGNoZWNrIGluIGZvciB0aGUgZ251CgkgIHN1bnBybyBjYXNlCgoyMDA4LTExLTEwIDAwOjAyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTEtMDkgMDA6MDIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMS0wOCAwMDowMiAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTExLTA3IDE2OjQwICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvRHluYW1pY0xvYWRlci5oeHguaW46IEJVRzogZml4IGZvciBidWcgODA2MCBIYWlrdQoJICBidWlsZAoKMjAwOC0xMS0wNyAxNTo1NiAgYWxleAoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eDogRU5IOiBsb2FkCgkgIENNYWtlRGV0ZXJtaW5lU3lzdGVtIGFuZCBDTWFrZVN5c3RlbVNwZWNpZmljSW5mb3JtYXRpb24gd2hlbgoJICBleGVjdXRpbmcgYSBjdGVzdCBzY3JpcHQgc28gdGhlIHNlYXJjaCBwYXRocyBhcmUgZnVsbHkgc2V0IHVwIGFuZAoJICB2YXJpYWJsZXMgbGlrZSBDTUFLRV9TWVNURU0gYXJlIGF2YWlsYWJsZS4gVGhpcyBpcyB1c2VmdWwgZS5nLgoJICBmb3IgbmV3LXN0eWxlIGN0ZXN0IHNjcmlwdGluZy4gICh0aGVzZSBmaWxlcyBhcmUgYWxzbyBsb2FkZWQgb24KCSAgc3RhcnR1cCBieSBjcGFjaywgc28gbm93IHRoZXkgYmVoYXZlIHNpbWlsYXIpLiAgSG1tbSwgbWF5YmUgdGhleQoJICBzaG91bGQgYmUgYWxzbyBsb2FkZWQgYnkgY21ha2UgLVAgPwoKCSAgQWxleAoKMjAwOC0xMS0wNyAwMDowMiAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTExLTA2IDE3OjMzICBob2ZmbWFuCgoJKiBUZXN0cy9Gb3J0cmFuL0NNYWtlTGlzdHMudHh0OiBFTkg6IG1ha2UgdGhlIHRlc3QgcGFzcyB3aGVuCgkgIGZvcnRyYW4gaXMgZ251IGFuZCBjIGlzIGNsCgoyMDA4LTExLTA2IDEwOjU0ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwKCSAgVXRpbGl0aWVzL2NtY3VybC9DTWFrZUxpc3RzLnR4dDogRU5IOiBtZXJnZSBpbiBoYWlrdSBidWlsZCBjaGFuZ2UKCSAgZnJvbSBoZWFkLCBhZ2Fpbi4uLgoKMjAwOC0xMS0wNiAwOTo0MSAgaG9mZm1hbgoKCSogVGVzdHMvRm9ydHJhbi9DTWFrZUxpc3RzLnR4dDogRU5IOiBhZGQgYSB3YXkgdG8gZml4IGJ1bGxzZXllIGxpbmsKCSAgd2l0aCBmb3J0cmFuCgoyMDA4LTExLTA2IDAwOjAyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTEtMDUgMTg6NTEgIGFsZXgKCgkqIE1vZHVsZXMvQ01ha2VBU00tQVRUSW5mb3JtYXRpb24uY21ha2U6IFNUWUxFOiBhZGQgc29tZSBjb21tZW50LAoJICBzbyBpdCBzYXlzIGF0IGxlYXN0IGEgYml0IHdoYXQgaXQgaXMgZ29vZCBmb3IKCgkgIEFsZXgKCjIwMDgtMTEtMDUgMTc6NTYgIGNsaW50b24KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZToKCSAgQlVHOglGaXggIzc5NjkuICBGaXggbW9jIG91dHB1dCBmaWxlcyBpZiBzb3VyY2UgZGlyIGNvbnRhaW5zCgkgIHJlZ2V4IGNoYXJhY3RlcnMuCgoyMDA4LTExLTA1IDE3OjI3ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlQVNNX01BU01JbmZvcm1hdGlvbi5jbWFrZTogZmlsZQoJICBDTWFrZUFTTV9NQVNNSW5mb3JtYXRpb24uY21ha2Ugd2FzIGFkZGVkIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24KCSAgMjAwOC0xMi0zMSAxNToxNDoxOCArMDAwMAoKMjAwOC0xMS0wNSAxNzoyNyAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZURldGVybWluZUFTTV9NQVNNQ29tcGlsZXIuY21ha2U6IGZpbGUKCSAgQ01ha2VEZXRlcm1pbmVBU01fTUFTTUNvbXBpbGVyLmNtYWtlIHdhcyBhZGRlZCBvbiBicmFuY2gKCSAgQ01ha2UtMi02IG9uIDIwMDgtMTItMzEgMTU6MTQ6MTggKzAwMDAKCjIwMDgtMTEtMDUgMTc6MjcgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VUZXN0QVNNX01BU01Db21waWxlci5jbWFrZTogZmlsZQoJICBDTWFrZVRlc3RBU01fTUFTTUNvbXBpbGVyLmNtYWtlIHdhcyBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uCgkgIDIwMDgtMTItMzEgMTU6MTQ6MTkgKzAwMDAKCjIwMDgtMTEtMDUgMTc6MjcgIGFsZXgKCgkqIE1vZHVsZXMvOiBDTWFrZUFTTV9NQVNNSW5mb3JtYXRpb24uY21ha2UsCgkgIENNYWtlRGV0ZXJtaW5lQVNNLUFUVENvbXBpbGVyLmNtYWtlLAoJICBDTWFrZURldGVybWluZUFTTUNvbXBpbGVyLmNtYWtlLAoJICBDTWFrZURldGVybWluZUFTTV9NQVNNQ29tcGlsZXIuY21ha2UsCgkgIENNYWtlVGVzdEFTTS1BVFRDb21waWxlci5jbWFrZSwgQ01ha2VUZXN0QVNNX01BU01Db21waWxlci5jbWFrZToKCSAgRU5IOiBhZGQgc3VwcG9ydCBmb3IgdGhlIE1TIG1hc20gYW5kIG1hc202NCBhc3NlbWJsZXJzLCB3b3JrcwoJICB3aXRoIG5tYWtlLCBub3QgKHlldCkgd2l0aCB0aGUgVmlzdWFsIFN0dWRpbyBnZW5lcmF0b3JzCgoJICBBbGV4CgoyMDA4LTExLTA1IDE2OjU0ICBjbGludG9uCgoJKiBNb2R1bGVzL1VzZVF0NC5jbWFrZToKCSAgQlVHOglGaXggIzc5MzQuICBwaG9ub24gZG9lc24ndCBhbHdheXMgZGVwZW5kIG9uIFF0REJ1cy4KCjIwMDgtMTEtMDUgMTA6MjAgIGhvZmZtYW4KCgkqIFRlc3RzL0ZvcnRyYW4vQ01ha2VMaXN0cy50eHQ6IEVOSDogb25seSBjYWxsIHRoZSBmb3J0cmFuIGMKCSAgaW50ZXJmYWNlIHRlc3Qgd2hlbiBjb21waWxlcnMgbWF0Y2gKCjIwMDgtMTEtMDUgMDA6MDIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMS0wNCAxNToxNiAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWwsIFV0aWxpdGllcy9jbWN1cmwvc2VsZWN0LmMsCgkgIFV0aWxpdGllcy9jbWN1cmwvQ01ha2UvQ3VybFRlc3RzLmMsIFV0aWxpdGllcy9jbWN1cmwvY3VybC9jdXJsLmgsCgkgIFV0aWxpdGllcy9jbXRhci91dGlsLmMsIFV0aWxpdGllcy9jbXpsaWIvemNvbmYuaCwKCSAgVXRpbGl0aWVzL2NtemxpYi96dXRpbC5oOiBFTkg6IG1lcmdlIGluIHRoZSByZXN0IG9mIHRoZSBoYWlrdQoJICBjaGFuZ2VzCgoyMDA4LTExLTA0IDAwOjAyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTEtMDMgMTY6MjMgIGFsZXgKCgkqIE1vZHVsZXMvQ1Rlc3QuY21ha2U6IFNUWUxFOiBtZW50aW9uIGNkYXNoIChub3Qgb25seSBkYXJ0KQoKCSAgQWxleAoKMjAwOC0xMS0wMyAxMjoxNSAgaG9mZm1hbgoKCSogVGVzdHMvRm9ydHJhbi9DTWFrZUxpc3RzLnR4dDogRU5IOiBvbmx5IGFsbG93IG1hdGNoaW5nIGZvcnRyYW4gYQoJICBjIGNvbXBpbGVycyB0byBiZSB1c2VkCgoyMDA4LTExLTAzIDAwOjAyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTEtMDIgMDA6MDIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMS0wMSAwMDowMyAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTEwLTMxIDE2OjA4ICBob2ZmbWFuCgoJKiBUZXN0cy9Gb3J0cmFuLzogQ01ha2VMaXN0cy50eHQ6IEVOSDogZG8gbm90IGVycm9yIHdoZW4gc3VucHJvIG9yCgkgIG1pcHNwcm8gZm9ydHJhbiB1c2VkCgoyMDA4LTEwLTMxIDA3OjUwICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZvcnRyYW5DSW50ZXJmYWNlLmNtYWtlOiBFTkg6IGZpeCBmb3IgaW50ZWwgbW9kdWxlIG9uCgkgIGxpbnV4CgoyMDA4LTEwLTMxIDA3OjUwICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZvcnRyYW5DSW50ZXJmYWNlLmNtYWtlOiBmaWxlIEZvcnRyYW5DSW50ZXJmYWNlLmNtYWtlIHdhcwoJICBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDgtMTItMDIgMTI6MDc6MzcgKzAwMDAKCjIwMDgtMTAtMzEgMDA6MDMgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMC0zMCAxNzo0OCAgaG9mZm1hbgoKCSogTW9kdWxlcy9Gb3J0cmFuQ0ludGVyZmFjZS5jbWFrZTogRU5IOiBiZXR0ZXIgb3V0cHV0IGlmIG1vZHVsZQoJICBsaW5rYWdlIGlzIG5vdCBmb3VuZAoKMjAwOC0xMC0zMCAxNzozMiAgaG9mZm1hbgoKCSogVGVzdHMvRm9ydHJhbi9DTWFrZUxpc3RzLnR4dDogRU5IOiBhZGQgc29tZSBkZWJ1ZyBzdHVmZiBmb3IgdGhlCgkgIGRhc2hib2FyZHMKCjIwMDgtMTAtMzAgMTY6NTAgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRm9ydHJhbkNJbnRlcmZhY2UuY21ha2U6IEVOSDogZml4IHVwcGVyY2FzZSB2ZXJzaW9uIHNvCgkgIGRlZmluZXMgYXJlIG5vdCB1cHBlciBhcyB3ZWxsCgoyMDA4LTEwLTMwIDAwOjAzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTAtMjkgMTk6NDkgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRm9ydHJhbkNJbnRlcmZhY2UuY21ha2U6IEVOSDogZml4IGNoZWNrIGZvciBpbnRlbCB3aW5kb3dzCgkgIG1vZHVsZSBtYW5nbGluZwoKMjAwOC0xMC0yOSAxOTozNCAgaG9mZm1hbgoKCSogTW9kdWxlcy9Gb3J0cmFuQ0ludGVyZmFjZS5jbWFrZTogRU5IOiBmaXggY2hlY2sgZm9yIGludGVsIHdpbmRvd3MKCSAgbW9kdWxlIG1hbmdsaW5nCgoyMDA4LTEwLTI5IDE3OjQwICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogRm9ydHJhbkNJbnRlcmZhY2UuY21ha2U6IEVOSDogYWRkIGNoZWNrIGZvciBpbnRlbAoJICB3aW5kb3dzIG1vZHVsZSBtYW5nbGluZwoKMjAwOC0xMC0yOSAxNzozNyAgaG9mZm1hbgoKCSogTW9kdWxlcy9Gb3J0cmFuQ0ludGVyZmFjZS5jbWFrZTogRU5IOiBmaXggdXBwZXIgY2FzZQoKMjAwOC0xMC0yOSAxMjoyNyAgZGF2aWQuY29sZQoKCSogVGVzdHMvOiBDTWFrZUxpc3RzLnR4dCwgQ1BhY2tDb21wb25lbnRzL0NNYWtlTGlzdHMudHh0OiBFTkg6IFVzZQoJICBzZXR0aW5ncyBmb3IgQ1BhY2tDb21wb25lbnRzIHRlc3QgdG8gbWFrZSBpdCBmYWlsIGlmIHRoZSByZWNlbnQKCSAgZml4IG9mIGNtQ1BhY2tHZW5lcmF0b3IuY3h4IHJldmlzaW9uIDEuMTYgZXZlciBlbmNvdW50ZXJzIGFub3RoZXIKCSAgcmVncmVzc2lvbi4KCjIwMDgtMTAtMjkgMTI6MjQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRm9ydHJhbkNJbnRlcmZhY2UuY21ha2U6IEVOSDogb25seSBjaGVjayBmb3IgbW9kdWxlCgkgIGxpbmthZ2UgaWYgZjkwIGlzIGF2YWlsYWJsZQoKMjAwOC0xMC0yOSAxMTo1MCAgaG9mZm1hbgoKCSogTW9kdWxlcy9Gb3J0cmFuQ0ludGVyZmFjZS5jbWFrZTogRU5IOiBmaXggZm9yIHhsZiBtb2R1bGUgbGlua2FnZQoKMjAwOC0xMC0yOSAxMDo1OCAgaG9mZm1hbgoKCSogTW9kdWxlcy9Gb3J0cmFuQ0ludGVyZmFjZS5jbWFrZSwgVGVzdHMvRm9ydHJhbi9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRm9ydHJhbi9mb28uYywgVGVzdHMvRm9ydHJhbi9mb28uZiwgVGVzdHMvRm9ydHJhbi9teXN1Yi5mOgoJICBFTkg6IGFkZCB0ZXN0IGZvciBGb3J0cmFuQ0ludGVyZmFjZQoKMjAwOC0xMC0yOSAxMDo1OCAgaG9mZm1hbgoKCSogVGVzdHMvRm9ydHJhbi9mb28uYzogZmlsZSBmb28uYyB3YXMgYWRkZWQgb24gYnJhbmNoIENNYWtlLTItNiBvbgoJICAyMDA4LTEyLTAzIDAyOjQ0OjI1ICswMDAwCgoyMDA4LTEwLTI5IDEwOjU4ICBob2ZmbWFuCgoJKiBUZXN0cy9Gb3J0cmFuL2Zvby5mOiBmaWxlIGZvby5mIHdhcyBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uCgkgIDIwMDgtMTItMDMgMDI6NDQ6MjUgKzAwMDAKCjIwMDgtMTAtMjkgMTA6NTggIGhvZmZtYW4KCgkqIFRlc3RzL0ZvcnRyYW4vbXlzdWIuZjogZmlsZSBteXN1Yi5mIHdhcyBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02CgkgIG9uIDIwMDgtMTItMDMgMDI6NDQ6MjUgKzAwMDAKCjIwMDgtMTAtMjkgMDA6MDMgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMC0yOCAxOTo1MyAgaG9mZm1hbgoKCSogTW9kdWxlcy9Gb3J0cmFuQ0ludGVyZmFjZS5jbWFrZTogRU5IOiBhZGQgc3VwcG9ydCBmb3IgZzc3IGV4dHJhIF8KCSAgYXQgdGhlIGVuZCBvZiBmdW5jdGlvbnMgdGhhdCBoYXZlIGFuIF8gaW4gdGhlIG5hbWUuLi4KCjIwMDgtMTAtMjggMDA6MDMgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMC0yNyAyMTo0MiAgaG9mZm1hbgoKCSogTW9kdWxlcy9Gb3J0cmFuQ0ludGVyZmFjZS5jbWFrZTogRU5IOiBhZGQgc3VwcG9ydCBmb3IgbW9kdWxlCgkgIGZ1bmN0aW9ucwoKMjAwOC0xMC0yNyAxNTozMSAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogRU5IOiBtYWtlIHRoZSBzY2MKCSAgb3B0aW9uYWwKCjIwMDgtMTAtMjcgMTU6MjMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBGb3J0cmFuQ0ludGVyZmFjZS5jbWFrZSwgRm9ydHJhbkNJbnRlcmZhY2UuaC5pbjogRU5IOgoJICBhZGQgZm9ydHJhbiBsaW5rIGRpc2NvdmVyeSBtb2R1bGUKCjIwMDgtMTAtMjcgMTU6MjMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRm9ydHJhbkNJbnRlcmZhY2UuaC5pbjogZmlsZSBGb3J0cmFuQ0ludGVyZmFjZS5oLmluIHdhcwoJICBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDgtMTItMDIgMTI6MDc6MzcgKzAwMDAKCjIwMDgtMTAtMjcgMTM6NTEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogZml4IGZvciA3ODM5IGFuZAoJICA0NTI0CgoyMDA4LTEwLTI3IDA1OjIzICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRSVEkuY21ha2U6IGZpbGUgRmluZFJUSS5jbWFrZSB3YXMgYWRkZWQgb24gYnJhbmNoCgkgIENNYWtlLTItNiBvbiAyMDA5LTAyLTA0IDE2OjQ0OjEyICswMDAwCgoyMDA4LTEwLTI3IDA1OjIzICBnb3R0aGFyZHAKCgkqIE1vZHVsZXMvRmluZFJUSS5jbWFrZTogQlVHOiBGaXhlZCBDTUFLRV9GSU5EX0xJQlJBUllfUFJFRklYRVMKCSAgcmVsYXRlZCBlcnJvciBvbiBXaW4zMiBzeXN0ZW1zLgoKMjAwOC0xMC0yNSAxNDoyNSAgZ290dGhhcmRwCgoJKiBNb2R1bGVzL0ZpbmRSVEkuY21ha2U6IEJVRzogcmVtb3ZlZCB1bnVzZWQgQ01ha2VGaW5kRnJhbWV3b3JrcwoJICBpbmNsdWRlCgoyMDA4LTEwLTI1IDEyOjIwICBnb3R0aGFyZHAKCgkqIE1vZHVsZXMvRmluZFJUSS5jbWFrZTogRU5IOiBhZGRlZCBhIG1vZHVsZSB0byBmaW5kIE0mUyBITEEgUlRJCgoyMDA4LTEwLTI0IDIzOjUzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTAtMjQgMTc6NDggIGNsaW50b24KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZToKCSAgQlVHOglGaXggZmluZCBvZiBhc3Npc3RhbnQgb24gTWFjLgoKMjAwOC0xMC0yNCAxMTozOSAgZGF2aWQuY29sZQoKCSogTW9kdWxlcy9HZXRQcmVyZXF1aXNpdGVzLmNtYWtlLCBUZXN0cy9DTWFrZVRlc3RzL0NNYWtlTGlzdHMudHh0OgoJICBFTkg6IEFjdGl2YXRlIEdldFByZXJlcXVpc2l0ZXMgY29kZSBvbiBMaW51eC4gVGhhbmtzIHRvIE1pa2UKCSAgQXJ0aHVyIGZvciBmaW5pc2hpbmcgaXQgb2ZmLgoKMjAwOC0xMC0yNCAxMToxOCAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWwsIGJvb3RzdHJhcCwKCSAgTW9kdWxlcy9DTWFrZUFTTUluZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlQ0luZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlQ1hYSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VGb3J0cmFuQ29tcGlsZXJJZC5GOTAuaW4sCgkgIE1vZHVsZXMvQ01ha2VGb3J0cmFuSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VQbGF0Zm9ybUlkLmguaW4sIE1vZHVsZXMvQ01ha2VSQ0luZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrRm9yUHRocmVhZHMuYywgTW9kdWxlcy9GaW5kQm9vc3QuY21ha2UsCgkgIE1vZHVsZXMvRmluZEdMVVQuY21ha2UsIE1vZHVsZXMvRmluZE1GQy5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kUGVybExpYnMuY21ha2UsIE1vZHVsZXMvRmluZFF0NC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kVGNsU3R1Yi5jbWFrZSwgTW9kdWxlcy9GaW5kd3hXaWRnZXRzLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL0xpbnV4LmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL09wZW5CU0QuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1nY2MuY21ha2UsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL2NtQWRkQ3VzdG9tVGFyZ2V0Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuaCwgU291cmNlL2NtQ1Rlc3QuY3h4LAoJICBTb3VyY2UvY21DYWxsVmlzdWFsU3R1ZGlvTWFjcm8uY3h4LCBTb3VyY2UvY21Db21tYW5kLmgsCgkgIFNvdXJjZS9jbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uY3h4LAoJICBTb3VyY2UvY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmgsIFNvdXJjZS9jbURlcGVuZHNKYXZhTGV4ZXIuY3h4LAoJICBTb3VyY2UvY21EZXBlbmRzSmF2YUxleGVyLmgsIFNvdXJjZS9jbURvY3VtZW50YXRpb24uY3h4LAoJICBTb3VyY2UvY21Eb2N1bWVudGF0aW9uLmgsIFNvdXJjZS9jbURvY3VtZW50YXRpb25Gb3JtYXR0ZXIuY3h4LAoJICBTb3VyY2UvY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVyLmgsCgkgIFNvdXJjZS9jbURvY3VtZW50YXRpb25Gb3JtYXR0ZXJEb2Nib29rLmN4eCwKCSAgU291cmNlL2NtRG9jdW1lbnRhdGlvbkZvcm1hdHRlckRvY2Jvb2suaCwKCSAgU291cmNlL2NtRG9jdW1lbnRhdGlvbkZvcm1hdHRlckhUTUwuY3h4LAoJICBTb3VyY2UvY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVySFRNTC5oLAoJICBTb3VyY2UvY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVyTWFuLmN4eCwKCSAgU291cmNlL2NtRG9jdW1lbnRhdGlvbkZvcm1hdHRlck1hbi5oLAoJICBTb3VyY2UvY21FbmFibGVMYW5ndWFnZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21GaW5kQmFzZS5jeHgsCgkgIFNvdXJjZS9jbUZpbmRDb21tb24uY3h4LCBTb3VyY2UvY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21GaW5kUGFja2FnZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuaCwgU291cmNlL2NtSWZDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtSWZDb21tYW5kLmgsIFNvdXJjZS9jbUluc3RhbGxDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuaCwgU291cmNlL2NtTGlzdEZpbGVDYWNoZS5jeHgsCgkgIFNvdXJjZS9jbUxpc3RGaWxlQ2FjaGUuaCwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFjcm9Db21tYW5kLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZS5oLAoJICBTb3VyY2UvY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbU91dHB1dFJlcXVpcmVkRmlsZXNDb21tYW5kLmN4eCwgU291cmNlL2NtUG9saWNpZXMuY3h4LAoJICBTb3VyY2UvY21Qb2xpY2llcy5oLCBTb3VyY2UvY21TZXRUYXJnZXRQcm9wZXJ0aWVzQ29tbWFuZC5oLAoJICBTb3VyY2UvY21Tb3VyY2VGaWxlLmN4eCwgU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4LAoJICBTb3VyY2UvY21UYXJnZXQuY3h4LCBTb3VyY2UvY21XaGlsZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21ha2UuY3h4LAoJICBTb3VyY2UvY21ha2VtYWluLmN4eCwgU291cmNlL0NQYWNrL2NtQ1BhY2tCdW5kbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrTlNJU0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrTlNJU0dlbmVyYXRvci5oLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja1BhY2thZ2VNYWtlckdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0VXBkYXRlSGFuZGxlci5jeHgsCgkgIFNvdXJjZS9DdXJzZXNEaWFsb2cvY21DdXJzZXNNYWluRm9ybS5jeHgsCgkgIFNvdXJjZS9rd3N5cy9EeW5hbWljTG9hZGVyLmN4eCwKCSAgU291cmNlL2t3c3lzL0R5bmFtaWNMb2FkZXIuaHh4LmluLCBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYywKCSAgU291cmNlL2t3c3lzL1N5c3RlbUluZm9ybWF0aW9uLmN4eCwgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eCwKCSAgU291cmNlL2t3c3lzL3Rlc3REeW5hbWljTG9hZGVyLmN4eCwgU291cmNlL2t3c3lzL3Rlc3RQcm9jZXNzLmMsCgkgIFRlc3RzL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9DVGVzdFVwZGF0ZUNWUy5jbWFrZS5pbiwKCSAgVGVzdHMvQ1Rlc3RVcGRhdGVDb21tb24uY21ha2UsIFRlc3RzL0NUZXN0VXBkYXRlU1ZOLmNtYWtlLmluLAoJICBUZXN0cy9Db21wbGV4L0NNYWtlTGlzdHMudHh0LCBUZXN0cy9Db21wbGV4L2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9DdXN0b21Db21tYW5kL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9GaW5kUGFja2FnZVRlc3QvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9saWIvUmVjdXJzaXZlQS9yZWN1cnNpdmVhLWNvbmZpZy5jbWFrZSwKCSAgVGVzdHMvRmluZFBhY2thZ2VUZXN0L2xpYi96b3Qvem90LWNvbmZpZy12ZXJzaW9uLmNtYWtlLAoJICBUZXN0cy9GaW5kUGFja2FnZVRlc3QvbGliL3pvdC96b3QtY29uZmlnLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRDb2luM0QuY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vSGFpa3UuY21ha2UsCgkgIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9GaW5kUmVjdXJzaXZlQS5jbWFrZSwKCSAgVGVzdHMvRmluZFBhY2thZ2VUZXN0L0ZpbmRSZWN1cnNpdmVCLmNtYWtlLAoJICBUZXN0cy9GaW5kUGFja2FnZVRlc3QvRmluZFJlY3Vyc2l2ZUMuY21ha2U6IEVOSDogbWVyZ2UgaW4gY2hhbmdlcwoJICBmb3IgMi42LjMgUkMgMQoKMjAwOC0xMC0yMyAyMzo1MyAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTEwLTIyIDIzOjUzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTAtMjEgMjM6NTQgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMC0yMCAyMzo1NCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTEwLTIwIDEzOjMxICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6CgkgIEJVRzoJRml4IHJlZ3Jlc3Npb24gaW4gZmluZGluZyBRdEFzc2lzdGFudAoKMjAwOC0xMC0yMCAxMTo1MCAgbWlndWVsZgoKCSogTW9kdWxlcy9GaW5kd3hXaWRnZXRzLmNtYWtlOiBCVUc6IEZpeCB0byBmaW5kIHd4V2lkZ2V0c19MSUJfRElSCgkgIGZvciB3aW5kb3dzIHBsYXRmb3JtIG1vcmUgZ2VuZXJhbGx5OwkgICAgc3VwcG9ydHMgZ2NjLCBubWFrZSwKCSAgYW5kIHZpc3VhbCBzdHVkaW8gaW4gYWxsIGNvbmZpZ3VyYXRpb25zLgoKMjAwOC0xMC0xOSAyMzo1NCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTEwLTE5IDIxOjE0ICBtaWd1ZWxmCgoJKiBNb2R1bGVzL0ZpbmR3eFdpZGdldHMuY21ha2U6IEJVRzogQWRkZWQgdW5pY29kZSBwYXRocyBmb3IKCSAgd3hXaWRnZXRzX0xJQl9ESVIgc2VhcmNoIGFuZCB0aGUgMi44Ljkgc3VmZml4IGZvcgoJICB3eFdpZGdldHNfUk9PVF9ESVIgc2VhcmNoLgoKMjAwOC0xMC0xOSAxNjoxNiAga2luZwoKCSogVGVzdHMvQ01ha2VMaXN0cy50eHQ6IEVOSDogRW5hYmxlIGN2cyB1cGRhdGUgdGVzdCB3aXRoIENNYWtlCgkgIGJlZm9yZSAyLjYKCgkgIFdoZW4gQ01ha2UgaXMgYnVpbHQgYnkgQ01ha2UgMi40IG9yIGxvd2VyIHRoZSBGaW5kQ1ZTIG1vZHVsZSBpcwoJICBub3QgYXZhaWxhYmxlLiAgSW4gdGhhdCBjYXNlIHdlIGFjdGl2aWF0ZSBDVGVzdC5VcGRhdGVDVlMgYnkKCSAgc2VhcmNoaW5nIGZvciB0aGUgY3ZzIGNvbW1hbmQgZGlyZWN0bHkuCgoyMDA4LTEwLTE5IDExOjUzICBob2ZmbWFuCgoJKiBUZXN0cy9DVGVzdFVwZGF0ZUNWUy5jbWFrZS5pbjogZmlsZSBDVGVzdFVwZGF0ZUNWUy5jbWFrZS5pbiB3YXMKCSAgYWRkZWQgb24gYnJhbmNoIENNYWtlLTItNiBvbiAyMDA4LTEwLTI0IDE1OjE4OjU2ICswMDAwCgoyMDA4LTEwLTE5IDExOjUzICBob2ZmbWFuCgoJKiBUZXN0cy9DVGVzdFVwZGF0ZUNvbW1vbi5jbWFrZTogZmlsZSBDVGVzdFVwZGF0ZUNvbW1vbi5jbWFrZSB3YXMKCSAgYWRkZWQgb24gYnJhbmNoIENNYWtlLTItNiBvbiAyMDA4LTEwLTI0IDE1OjE4OjU2ICswMDAwCgoyMDA4LTEwLTE5IDExOjUzICBob2ZmbWFuCgoJKiBUZXN0cy9DVGVzdFVwZGF0ZVNWTi5jbWFrZS5pbjogZmlsZSBDVGVzdFVwZGF0ZVNWTi5jbWFrZS5pbiB3YXMKCSAgYWRkZWQgb24gYnJhbmNoIENNYWtlLTItNiBvbiAyMDA4LTEwLTI0IDE1OjE4OjU2ICswMDAwCgoyMDA4LTEwLTE5IDExOjUzICBraW5nCgoJKiBUZXN0cy86IENNYWtlTGlzdHMudHh0LCBDVGVzdFVwZGF0ZUNWUy5jbWFrZS5pbiwKCSAgQ1Rlc3RVcGRhdGVDb21tb24uY21ha2UsIENUZXN0VXBkYXRlU1ZOLmNtYWtlLmluOiBFTkg6IFRlc3QgQ1Rlc3QKCSAgdXBkYXRlIGxvZ2ljIHdpdGggVkNTIHRvb2xzCgoJICBUaGlzIGNyZWF0ZXMgbmV3IHRlc3RzICJDVGVzdC5VcGRhdGVTVk4iIGFuZCAiQ1Rlc3QuVXBkYXRlQ1ZTIi4KCSAgVGhleSB0ZXN0IHRoYXQgdGhlIFVwZGF0ZS54bWwgcHJvZHVjZWQgYnkgQ1Rlc3QgZm9yIGEKCSAgdmVyc2lvbi1jb250cm9sbGVkIHByb2plY3QgY29udGFpbnMgZW50cmllcyBmb3IgZmlsZXMgYWRkZWQsCgkgIGNoYW5nZWQsIGFuZCByZW1vdmVkLgoKMjAwOC0xMC0xOSAxMDo0NCAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eDogQlVHOiB1c2UgTENfTUVTU0FHRVMgPSBDCgkgIGluc3RlYWQgb2YgZW5fRU4KCjIwMDgtMTAtMTggMjM6NTQgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMC0xOCAxMjowNyAga2luZwoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eDogQlVHOiBGaXggcmVjb2duaXRpb24gb2YKCSAgZmlsZXMgZGVsZXRlZCBmcm9tIENWUwoKCSAgVGhlIG91dHB1dCBvZiAiY3ZzIHVwZGF0ZSIgY29udGFpbnMgYSBsaW5lIHN1Y2ggYXMgb25lIG9mCgoJICAgIGN2cyB1cGRhdGU6IGBmb28udHh0JyBpcyBubyBsb25nZXIgaW4gdGhlIHJlcG9zaXRvcnkKCSAgICBjdnMgdXBkYXRlOiBmb28udHh0IGlzIG5vIGxvbmdlciBpbiB0aGUgcmVwb3NpdG9yeQoJICAgIGN2cyB1cGRhdGU6IHdhcm5pbmc6IGZvby50eHQgaXMgbm90IChhbnkgbG9uZ2VyKSBwZXJ0aW5lbnQKCgkgIHdoZW4gZmlsZSAiZm9vLnR4dCIgaGFzIGJlZW4gcmVtb3ZlZCBpbiB0aGUgdmVyc2lvbiB0byB3aGljaCB0aGUKCSAgdXBkYXRlIG9jY3Vycy4gIFByZXZpb3VzbHkgb25seSB0aGUgZmlyc3QgY2FzZSB3b3VsZCBiZQoJICByZWNvZ25pemVkLiAgVGhpcyBmaXhlcyB0aGUgcmVndWxhciBleHByZXNzaW9uIHRvIG1hdGNoIGFsbCB0aGVzZQoJICBjYXNlcy4KCjIwMDgtMTAtMTggMTA6MzEgIGhvZmZtYW4KCgkqIFRlc3RzL0NNYWtlQnVpbGRUZXN0LmNtYWtlLmluOiBFTkg6IGZpeCB0ZXN0IHRvIHdvcmsgd2l0aAoJICBpbi1zb3VyY2UgdGVzdGluZyBvZiBDTWFrZQoKMjAwOC0xMC0xNyAyMzo1NCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTEwLTE3IDEyOjUyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQ6IEJVRzogRml4IEtXU3lzIFN5c3RlbUluZm9ybWF0aW9uCgkgIGRlcGVuZGVuY2llcwoKCSAgVGhlIFN5c3RlbUluZm9ybWF0aW9uIGNvbXBvbmVudCBvZiBLV1N5cyByZXF1aXJlcyBQcm9jZXNzIGFuZAoJICBGdW5kYW1lbnRhbFR5cGUuCgoyMDA4LTEwLTE3IDEyOjUxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQ6IEJVRzogRW5mb3JjZSBLV1N5cyBjb21wb25lbnQKCSAgZGVwZW5kZW5jaWVzIGVhcmx5CgoJICBLV1N5cyBjb21wb25lbnQgZGVwZW5kZW5jaWVzIG11c3QgYmUgZW5mb3JjZWQgYmVmb3JlIGFueSB0ZXN0cwoJICBmb3IgZW5hYmxlZCBjb21wb25lbnRzIGFyZSBkb25lLiAgVGhpcyBtb3ZlcyB0aGUgZGVwZW5kZW5jeQoJICBlbmZvcmNlbWVudCBjb2RlIHRvIGJlIGFzIGVhcmx5IGFzIHBvc3NpYmxlLgoKMjAwOC0xMC0xNyAxMToyOSAgYmFycmUKCgkqIFNvdXJjZS9rd3N5cy86IFN5c3RlbUluZm9ybWF0aW9uLmN4eDogRU5IOiBmaXggZm9yIFZTNiBhbmQgQ3lnd2luCgoyMDA4LTEwLTE2IDIzOjU0ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTAtMTYgMTk6MzAgIGJhcnJlCgoJKiBTb3VyY2Uva3dzeXMvOiBTeXN0ZW1JbmZvcm1hdGlvbi5jeHgsIFN5c3RlbVRvb2xzLmN4eCwKCSAgU3lzdGVtVG9vbHMuaHh4LmluOiBFTkg6IGZpeCBmb3IgVmlzdGEKCjIwMDgtMTAtMTYgMTE6MzQgIGJhcnJlCgoJKiBTb3VyY2Uva3dzeXMvOiBTeXN0ZW1Ub29scy5jeHg6IEVOSDogb29wcwoKMjAwOC0xMC0xNSAyMzo1NCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTEwLTE1IDIzOjI0ICBiYXJyZQoKCSogU291cmNlL2t3c3lzLzogU3lzdGVtVG9vbHMuY3h4OiBFTkg6IGZpeCBmb3IgV2luZG93cyBWaXN0YQoKMjAwOC0xMC0xNSAxODowNSAgY2xpbnRvbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOgoJICBFTkg6CWJldHRlciB3YXkgdG8gZmluZCB1aWMgYW5kIG1vYy4KCjIwMDgtMTAtMTUgMTY6NTYgIGhvZmZtYW4KCgkqIFRlc3RzL0NNYWtlQnVpbGRUZXN0LmNtYWtlLmluOiBFTkg6IHJ1biB0aGUgcmlnaHQgY21ha2UKCjIwMDgtMTAtMTUgMTY6NTAgIGhvZmZtYW4KCgkqIFRlc3RzL0NNYWtlQnVpbGRUZXN0LmNtYWtlLmluOiBFTkg6IHJ1biB0aGUgcmlnaHQgY21ha2UKCjIwMDgtMTAtMTUgMTU6MTMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEVOSDogZml4IGJvb3RzdHJhcCB0ZXN0IGFuZCB3YXJuaW5nCgoyMDA4LTEwLTE1IDEzOjU2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtUHJvamVjdENvbW1hbmQuY3h4LCBTb3VyY2UvY21ha2UuY3h4LCBTb3VyY2UvY21ha2UuaCwKCSAgU291cmNlL2NtYWtlbWFpbi5jeHgsIFRlc3RzL0NNYWtlQnVpbGRUZXN0LmNtYWtlLmluLAoJICBUZXN0cy9DTWFrZUxpc3RzLnR4dDogQlVHOiA0MjQ0LCBhZGQgYSAtLWJ1aWxkIG9wdGlvbiB0byBjbWFrZQoJICB0aGF0IGNhbiBidWlsZCBwcm9qZWN0cyBjb25maWd1cmVkIGJ5IENNYWtlCgoyMDA4LTEwLTE1IDEwOjQ5ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lUkNDb21waWxlci5jbWFrZTogRU5IOiByZW1vdmUgZXh0cmEgc2V0CgoyMDA4LTEwLTE1IDEwOjQwICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLAoJICBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eDogQlVHOiBGaXggY29sb3IgY2hlY2sgZm9yCgkgIGRlcGVuZGVuY3kgc2Nhbm5pbmcKCgkgIEdlbmVyYXRpb24gb2YgY29sb3IgcnVsZXMgZm9yIGRlcGVuZGVuY3kgc2Nhbm5pbmcgbWVzc2FnZXMgZGlkCgkgIG5vdCBhY2NvdW50IGZvciBkaXNhYmxpbmcgY29sb3IgYXQgZ2VuZXJhdGlvbiB0aW1lLiAgU2VlIGlzc3VlCgkgICM3ODE0LgoKMjAwOC0xMC0xNSAxMDoyMSAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4OiBFTkg6IFN1cHBvcnQgb2JqZWN0IGxpc3RzCgkgIGxvbmdlciB0aGFuIDEyOEsgb24gTVNWQwoKCSAgV2UgdXNlIHJlc3BvbnNlIGZpbGVzIHRvIGxpc3Qgb2JqZWN0IGZpbGVzIGZvciB0aGUgTVNWQyBsaW5rZXIuCgkgIFRoZSBsaW5rZXIgY29tcGxhaW5zIGlmIGFueSByZXNwb25zZSBmaWxlIGlzIGdyZWF0ZXIgdGhhbiAxMjhLLAoJICBzbyB3ZSBzcGxpdCB0aGUgb2JqZWN0IGZpbGUgbGlzdHMgaW50byBtdWx0aXBsZSByZXNwb25zZSBmaWxlcy4KCjIwMDgtMTAtMTUgMTA6MjEgIGtpbmcKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGVFeGVjdXRhYmxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwgY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5oOiBFTkg6CgkgIEZhY3RvciBvdXQgbGlzdGluZyBvZiBvYmplY3RzIG9uIGNvbW1hbmQgbGluZQoKCSAgUHJldmlvdXNseSBnZW5lcmF0aW9uIG9mIG9iamVjdCBmaWxlIGxpc3RzIGZvciBsaW5rZXIgYW5kCgkgIGNsZWFuaW5nIGNvbW1hbmQgbGluZXMgd2FzIGR1cGxpY2F0ZWQgZm9yIGxpYnJhcnkgYW5kIGV4ZWN1dGFibGUKCSAgdGFyZ2V0IGdlbmVyYXRvcnMuICBUaGlzIGNvbWJpbmVzIHRoZSBpbXBsZW1lbnRhdGlvbnMuCgoyMDA4LTEwLTE1IDEwOjIxICBraW5nCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eDogU1RZTEU6IFJlbW92ZSBjb21wdXRlZCBidXQKCSAgdW51c2VkIHZhcmlhYmxlLgoKCSAgQW4gb2xkIGxpc3Qgb2Ygb2JqZWN0IGZpbGVzIGZvciBjbGVhbmluZyBzZWVtcyB0byBoYXZlIGJlZW4gbGVmdAoJICBiZWhpbmQuICBUaGlzIHJlbW92ZXMgaXQuCgoyMDA4LTEwLTE1IDA5OjM1ICBkYXZpZC5jb2xlCgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyYXRvci5jeHg6IEJVRzogVXNlIHRoZSBERVNURElSIHByZWZpeAoJICB3aGVuIGNyZWF0aW5nIHRoZSBkaXJlY3RvcnkgaW4gQ1BhY2sgd2hlbiBDUEFDS19TRVRfREVTVERJUiBpcwoJICBPTi4gVGhhbmtzIHRvIFBldHJpIEhvZGp1IGZvciByZXBvcnRpbmcgdGhpcyByZWdyZXNzaW9uIHRvIHRoZQoJICBDTWFrZSBtYWlsaW5nIGxpc3Q6CgkgIGh0dHA6Ly93d3cuY21ha2Uub3JnL3BpcGVybWFpbC9jbWFrZS8yMDA4LU9jdG9iZXIvMDI0NTYzLmh0bWwuCgoyMDA4LTEwLTE0IDIzOjU0ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTAtMTQgMTY6MDcgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBDTWFrZUFTTUluZm9ybWF0aW9uLmNtYWtlLCBDTWFrZUNJbmZvcm1hdGlvbi5jbWFrZSwKCSAgQ01ha2VDWFhJbmZvcm1hdGlvbi5jbWFrZSwgQ01ha2VEZXRlcm1pbmVSQ0NvbXBpbGVyLmNtYWtlLAoJICBDTWFrZUZvcnRyYW5JbmZvcm1hdGlvbi5jbWFrZSwgQ01ha2VSQ0luZm9ybWF0aW9uLmNtYWtlLAoJICBQbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlOiBFTkg6IGZpeCBwcm9ibGVtIHdoZXJlIHJjIGxhbmd1YWdlCgkgIHJlY3Vyc2l2ZWx5IGluY2x1ZGVkIGl0c2VsZiBiZWNhdXNlIENNQUtFX0JBU0VfTkFNRSB3YXMgdXNlZCBmcm9tCgkgIGMgY29tcGlsZXIsIGRvIHRoZSBzYW1lIGZpeCBmb3Igb3RoZXIgdXNlcyBvZiBDTUFLRV9CQVNFX05BTUUKCjIwMDgtMTAtMTQgMTM6NTYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUVuYWJsZUxhbmd1YWdlQ29tbWFuZC5jeHg6IEVOSDogcmV2ZXJ0IGxhc3QgY2hhbmdlLCBhcwoJICBpdCBmYWlscyB0ZXN0cwoKMjAwOC0xMC0xNCAxMTo0MiAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlLAoJICBTb3VyY2UvY21HbG9iYWxOTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtRW5hYmxlTGFuZ3VhZ2VDb21tYW5kLmN4eDogRU5IOiBiZXR0ZXIgZXJyb3IgbWVzc2FnZSBmb3IKCSAgbWlzLWNvbmZpZ3VyZWQgbm1ha2UgZW52aXJvbm1lbnQKCjIwMDgtMTAtMTQgMDg6NDMgIGtpbmcKCgkqIFNvdXJjZS9jbUZpbmRCYXNlLmN4eDogRU5IOiBDbGFyaWZ5IFBBVEhfU1VGRklYRVMgZG9jdW1lbnRhdGlvbgoKCSAgVGhpcyBjbGFyaWZpZXMgZG9jdW1lbnRhdGlvbiBvZiB0aGUgZmluZF8qIGNvbW1hbmRzJwoJICBQQVRIX1NVRkZJWEVTIG9wdGlvbi4gIFRoZSBvcHRpb24gYWRkcyBwYXRocyB3aXRoIHRoZSBzdWZmaXhlcwoJICBidXQgZG9lcyBub3QgcmVtb3ZlIHRoZSBwYXRocyB3aXRob3V0IHRoZSBzdWZmaXhlcy4KCjIwMDgtMTAtMTMgMjM6NTQgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMC0xMyAyMjoxMiAgY2xpbnRvbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOgoJICBFTkg6CVdoZW4gY2hhbmdpbmcgdGhlIHFtYWtlIHBvaW50ZWQgdG8sIHJlLWZpbmQgYWxsIG9mIFF0J3MKCSAgaW5jbHVkZXMsIGxpYnJhcmllcywgZXRjLi4uCSAgICAgVGhpcyBtYWtlcyBpdCBtdWNoIGVhc2llciB0bwoJICBzd2l0Y2ggYmV0d2VlbiBRdCB2ZXJzaW9ucy4KCjIwMDgtMTAtMTMgMTk6MzkgIGNsaW50b24KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZToKCSAgQlVHOglGaXggZmluZCBvZiBkYnVzIGRlcGVuZGVuY3kgaW4gUXQgNC40CgoyMDA4LTEwLTEzIDA5OjU4ICBraW5nCgoJKiBTb3VyY2UvY21GaW5kQmFzZS5jeHg6IEJVRzogRml4IGZpbmRfKiBzZWFyY2ggb3JkZXIgd2l0aCBwYXRoCgkgIHN1ZmZpeGVzCgoJICBJbiBjbUZpbmRCYXNlIHdlIHdlcmUgc2VhcmNoaW5nIGFsbCBwYXRoIHN1ZmZpeGVzIGFwcGVuZGVkIHRvIGFsbAoJICBwYXRocyBiZWZvcmUgY29uc2lkZXJpbmcgdGhlIHBhdGhzIHdpdGhvdXQgYW55IHN1ZmZpeGVzLiAgSW5zdGVhZAoJICB3ZSBzaG91bGQgY29uc2lkZXIgZWFjaCBwYXRoIHdpdGggYW5kIHdpdGhvdXQgc3VmZml4ZXMgYmVmb3JlCgkgIG1vdmluZyB0byB0aGUgbmV4dCBwYXRoLiAgU2VlIGlzc3VlICM3NzgzLgoKMjAwOC0xMC0xMiAyMzo1NCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTEwLTExIDIzOjU1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTAtMTEgMTU6MzUgIGtpbmcKCgkqIFNvdXJjZS9jbURvY3VtZW50YXRpb24uY3h4OiBDT01QOiBGaXggYXNzaWdubWVudCBpbnNpZGUgY29uZGl0aW9uCgoyMDA4LTEwLTExIDEyOjAyICBraW5nCgoJKiBTb3VyY2UvY21MaXN0RmlsZUNhY2hlLmg6IEJVRzogTWFrZSBzdXJlIGNvbnRleHQgaW5mbyBpcyBhbHdheXMKCSAgaW5pdGlhbGl6ZWQKCgkgIFRoaXMgYWRkcyBhIG1pc3NpbmcgZGVmYXVsdCBjb25zdHJ1Y3RvciB0byBjbUxpc3RGaWxlQ29udGV4dCB0aGF0CgkgIG1ha2VzIHN1cmUgdGhlIGxpbmUgbnVtYmVyIGlzIGluaXRpYWxpemVkIHRvIHplcm8uICBBIHplcm8gbGluZQoJICBudW1iZXIgd2lsbCBpbmRpY2F0ZSBhIGdlbmVyYXRlZCBjb250ZXh0LgoKMjAwOC0xMC0xMCAyMzo1NSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTEwLTEwIDE3OjQzICBkYXZpZC5jb2xlCgoJKiBNb2R1bGVzL0ZpbmRNRkMuY21ha2U6IEJVRzogRml4IGZvciBpc3N1ZSAjNTE5My4gQmFzZSByZXN1bHQgb2YKCSAgRmluZE1GQy5jbWFrZSBtb3N0bHkgb24gYSBUUllfQ09NUElMRSByZXN1bHQuIEdpdmVzIGFjY3VyYXRlCgkgIGFuc3dlciBhYm91dCB3aGV0aGVyIE1GQyBpcyBhdmFpbGFibGUuCgoyMDA4LTEwLTEwIDE3OjA4ICBkYXZpZC5jb2xlCgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja05TSVNHZW5lcmF0b3IuY3h4OiBCVUc6IEZpeCBpc3N1ZSAjNzgwMC4KCSAgRW5hYmxlIENQYWNrIHRvIGZpbmQgdGhlIE5TSVMgaW5zdGFsbGVyIG9uIFdpbmRvd3MgMjAwMC4KCjIwMDgtMTAtMTAgMTE6MjMgIGtpbmcKCgkqIFNvdXJjZS86IGNtRG9jdW1lbnRhdGlvbi5jeHgsIGNtRG9jdW1lbnRhdGlvbi5oLAoJICBjbURvY3VtZW50YXRpb25Gb3JtYXR0ZXIuY3h4LCBjbURvY3VtZW50YXRpb25Gb3JtYXR0ZXIuaCwKCSAgY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVyRG9jYm9vay5jeHgsCgkgIGNtRG9jdW1lbnRhdGlvbkZvcm1hdHRlckRvY2Jvb2suaCwKCSAgY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVySFRNTC5jeHgsIGNtRG9jdW1lbnRhdGlvbkZvcm1hdHRlckhUTUwuaCwKCSAgY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVyTWFuLmN4eCwgY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVyTWFuLmg6CgkgIEVOSDogSW1wcm92ZSBnZW5lcmF0ZWQgZG9jdW1lbnRhdGlvbiBmb3JtYXR0aW5nCgoJICBBcHBseWluZyBwYXRjaCBwcm92aWRlZCBpbiBpc3N1ZSAjNzc5Ny4KCgkgIEZpeGVzIHRvIG1hbi1wYWdlczoJLSBDaGFyYWN0ZXIgJy0nIG11c3QgYmUgZXNwYWNlZCBhcyAnXC0nICAgLQoJICBTdXJyb3VuZCBwcmVmb3JtYXR0ZWQgdGV4dCB3aXRoICcubmYnIGFuZCAnLmZpJyB0byBhZGp1c3QgZmlsbGluZwoJICAgIC0gR2l2ZSBldmVyeSBwYWdlIGEgTkFNRSBzZWN0aW9uIGZvciBpbmRleGluZyBieSBtYW5kYiAgIC0gUGFzcwoJICB0aGUgbWFuIHBhZ2UgZmlsZW5hbWUgd2l0aG91dCBleHRlbnNpb24gdG8gLlRIIGluIGl0cyBoZWFkZXIKCgkgIEFsc28gYWRkZWQgYSB0aXRsZSB0byB0aGUgSFRNTCBoZWFkZXIuCgoyMDA4LTEwLTEwIDExOjIzICBraW5nCgoJKiBTb3VyY2UvY21Eb2N1bWVudGF0aW9uLmN4eDogQlVHOiBGaXggaGVscCB0eXBlIGZvciBmaWxlbmFtZXMgd2l0aAoJICBtYW55IGRvdHMKCgkgIFRoZSBoZWxwIHBhZ2UgdHlwZSBzaG91bGQgYmUgZGV0ZXJtaW5lZCB1c2luZyBvbmx5IHRoZSBleHRlbnNpb24KCSAgYWZ0ZXIgdGhlIGxhc3QgZG90LiAgU2VlIGlzc3VlICM3Nzk3LgoKMjAwOC0xMC0xMCAxMToyMyAga2luZwoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogU1RZTEU6IEZpeCB0eXBvIGluCgkgIEdldEZpbGVuYW1lTGFzdEV4dGVuc2lvbiBkb2NzCgoJICBTZWUgaXNzdWUgIzc3OTcuCgoyMDA4LTEwLTEwIDEwOjQ4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21PdXRwdXRSZXF1aXJlZEZpbGVzQ29tbWFuZC5jeHg6IEJVRzogZml4IGZvciA1MDcxLAoJICByZXBvcnQgZXJyb3IgaWYgb3V0cHV0IGZpbGUgY2FuIG5vdCBiZSBvcGVuZWQKCjIwMDgtMTAtMTAgMTA6MjAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbWFrZW1haW4uY3h4OiBCVUc6IGZpeCBmb3IgMzc3OCwgYmV0dGVyIGRvY3MgZm9yIC1FCgoyMDA4LTEwLTEwIDA5OjM2ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFVwZGF0ZUhhbmRsZXIuY3h4OiBFTkg6IHBsYXkgaXQgc2FmZSBhbmQKCSAgcmVzdG9yZSB0aGUgdmFsdWUgb2YgTENfTUVTU0FHRVMKCjIwMDgtMTAtMTAgMDk6MjMgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0VXBkYXRlSGFuZGxlci5jeHg6IEVOSDogbWFrZSBzdXJlIExDX01FU1NBR0VTCgkgIGlzIGVuX0VOIHNvIHRoYXQgd2UgY2FuIHBhcnNlIHRoZSBvdXRwdXQgb2Ygc3ZuIGFuZCBjdnMKCjIwMDgtMTAtMTAgMDg6MTEgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmg6IFNUWUxFOiBGaXggbGluZS10b28tbG9uZwoKMjAwOC0xMC0wOSAyMzo1NSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTEwLTA5IDE3OjA0ICBraW5nCgoJKiBNb2R1bGVzL0ZpbmRCb29zdC5jbWFrZTogQlVHOiBBdm9pZCBib29zdCB2ZXJzaW9ucyBsZXNzIHRoYW4KCSAgcmVxdWlyZWQKCgkgIENvbnN0cnVjdGlvbiBvZiBhIGxpc3Qgb2YgY2FuZGlkYXRlIHZlcnNpb25zIHVzZWQgdG8gcHJvZHVjZQoJICBzZWFyY2ggcGF0aHMgbm93IGRpc2NhcmRzIHZlcnNpb25zIGxlc3MgdGhhbiByZXF1ZXN0ZWQgYnkgdGhlCgkgIHVzZXIuICBTZWUgaXNzdWUgIzc3ODMuCgoyMDA4LTEwLTA5IDE1OjMwICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5oLAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsCgkgIGNtTWFrZWZpbGVFeGVjdXRhYmxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eDogRU5IOiBGaXggb3B0aW9uYWwgdXNlIG9mIHJlbGF0aXZlCgkgIHBhdGhzLgoKCSAgVGhlc2UgY2hhbmdlcyByZWZhY3RvciBjbUxvY2FsR2VuZXJhdG9yIG1ldGhvZHMgQ29udmVydCBhbmQKCSAgQ29udmVydFRvT3V0cHV0Rm9yRXhpc3RpbmcgdG8gc3VwcG9ydCByZWZlcmVuY2VzIGluc2lkZSB0aGUgYnVpbGQKCSAgdHJlZSB1c2luZyByZWxhdGl2ZSBwYXRocy4gIEFmdGVyIHRoaXMgY29tbWl0LCBhbGwgdGVzdHMgcGFzcwoJICB3aXRoIE1ha2VmaWxlIGdlbmVyYXRvcnMgd2hlbiByZWxhdGl2ZSBwYXRocyBhcmUgZW5hYmxlZCBieQoJICBkZWZhdWx0LiAgU2VlIGlzc3VlICM3Nzc5LgoKMjAwOC0xMC0wOSAxNTowOCAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogRU5IOiBTaW1wbGlmeSBtYWtlZmlsZQoJICByZWYgdG8gaW50ZXJhY3RpdmUgZWRpdG9yCgoJICBUaGUgQ01BS0VfRURJVF9DT01NQU5EIG1ha2UgdmFyaWFibGUgbmVlZCBub3QgYmUgY29uc3RydWN0ZWQgd2l0aAoJICBDb252ZXJ0VG9PdXRwdXRGb3JFeGlzdGluZy4gIFRoZSBDTUFLRV9DT01NQU5EIHZhcmlhYmxlIHdvcmtzCgkgIGZpbmUgd2l0aG91dCBpdC4KCjIwMDgtMTAtMDkgMTU6MDcgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eDoKCSAgRU5IOiBTaW1wbGlmeSBmcmFtZXdvcmsgLUYgZmxhZyBnZW5lcmF0aW9uCgoJICBUaGlzIHJlbW92ZXMgYW4gdW5uZWNlc3NhcnkgdXNlIG9mIENvbnZlcnRUb091dHB1dEZvckV4aXN0aW5nCgkgIHdoaWNoIGlzIG5lZWRlZCBvbmx5IG9uIFdpbmRvd3MgdG8gY29uc2lkZXIgc2hvcnQtcGF0aGluZy4KCjIwMDgtMTAtMDkgMTM6NTIgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VSQ0luZm9ybWF0aW9uLmNtYWtlOiBCVUc6IFBhc3MgZGVmaW5pdGlvbnMgdG8gcmMKCSAgd2l0aCBNYWtlZmlsZXMKCgkgIFRoZSBidWlsZCBydWxlIHRvIHJ1biB0aGUgcmVzb3VyY2UgY29tcGlsZXIgb24gV2luZG93cyB3aXRoIGEKCSAgTWFrZWZpbGVzIGdlbmVyYXRvciBzaG91bGQgaW5jbHVkZSB0aGUgcGxhY2Vob2xkZXIgdG8gYWRkIHRoZQoJICBkZWZpbml0aW9uIGZsYWdzLiAgU2VlIGlzc3VlICM3NzY5LgoKMjAwOC0xMC0wOSAxMzo1MiAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBCVUc6IEZpbmlzaCBmaXggdG8gb2xkIERFRklOSVRJT05TCgkgIHByb3BlcnR5CgoJICBUaGUgY21NYWtlZmlsZTo6RGVmaW5lRmxhZ3NPcmlnIGl2YXIgd2FzIGNyZWF0ZWQgdG8gaGVscCBwcmVzZXJ2ZQoJICB0aGUgb2xkIERFRklOSVRJT05TIHByb3BlcnR5IGJlaGF2aW9yIG5vdyB0aGF0IGRlZmluaXRpb25zIGFyZQoJICBtb3ZlZCBmcm9tIERlZmluZUZsYWdzIHRvIHRoZSBDT01QSUxFX0RFRklOSVRJT05TIGRpcmVjdG9yeQoJICBwcm9wZXJ0eS4gIFRoaXMgZml4ZXMgcHJvcGFnYXRpb24gb2YgdGhlIG9yaWdpbmFsIHZhbHVlIGludG8KCSAgc3ViZGlyZWN0b3JpZXMuCgoyMDA4LTEwLTA5IDEzOjAwICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHg6IEJVRzogZml4IGZvciA1MjE4IEVycm9yCgkgIG1lc3NhZ2UgcGF0dGVybiBtYXRjaCBmb3IgVlM4CgoyMDA4LTEwLTA5IDEyOjQ5ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTWFpbkZvcm0uY3h4OiBCVUc6IGZpeCBmb3IgNDAyNiwKCSAgZGlzcGxheSBhIG1lc3NhZ2UgaWYgY2NtYWtlIGhhcyBlcnJvcnMKCjIwMDgtMTAtMDkgMTE6MDEgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmg6CgkgIEVOSDogUHV0IGN1c3RvbSB0YXJnZXQgc291cmNlcyBpbiBYY29kZSBwcm9qZWN0cwoKCSAgU291cmNlIGZpbGVzIGluIGN1c3RvbSB0YXJnZXRzIGFyZSBub3cgcGxhY2VkIGluIHRoZSBYY29kZQoJICBwcm9qZWN0IGZvciBjb252ZW5pZW50IGVkaXRpbmcuICBTZWUgaXNzdWUgIzU4NDguCgoyMDA4LTEwLTA5IDExOjAxICBraW5nCgoJKiBTb3VyY2UvY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtQWRkQ3VzdG9tVGFyZ2V0Q29tbWFuZC5oLAoJICBUZXN0cy9DdXN0b21Db21tYW5kL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFsbG93IGN1c3RvbSBzb3VyY2VzIGluCgkgIGN1c3RvbSB0YXJnZXRzCgoJICBUaGlzIGFkZHMgYSBTT1VSQ0VTIG9wdGlvbiB0byBBRERfQ1VTVE9NX1RBUkdFVCwgZW5hYmxpbmcgdXNlcnMKCSAgdG8gc3BlY2lmeSBleHRyYSBzb3VyY2VzIGZvciBpbmNsdXNpb24gaW4gdGhlIHRhcmdldC4gIFN1Y2gKCSAgc291cmNlcyBtYXkgbm90IGJ1aWxkLCBidXQgd2lsbCBzaG93IHVwIGluIHRoZSBJREUgcHJvamVjdCBmaWxlcwoJICBmb3IgY29udmVuaWVudCBlZGl0aW5nLiAgU2VlIGlzc3VlICM1ODQ4LgoKMjAwOC0xMC0wOSAxMTowMCAga2luZwoKCSogU291cmNlLzogY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaDogRU5IOiBSZXR1cm4gdXRpbGl0eSB0YXJnZXQKCSAgYWZ0ZXIgY3JlYXRpb24KCgkgIEFmdGVyIGNyZWF0aW5nIGEgdXRpbGl0eSB0YXJnZXQgd2l0aCBBZGRVdGlsaXR5Q29tbWFuZCwgcmV0dXJuIGEKCSAgcG9pbnRlciB0byB0aGUgY21UYXJnZXQgaW5zdGFuY2Ugc28gdGhlIGNhbGxlciBtYXkgZnVydGhlciBtb2RpZnkKCSAgdGhlIHRhcmdldCBhcyBuZWVkZWQuCgoyMDA4LTEwLTA4IDIzOjU1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTAtMDggMTc6NTggIGFsZXgKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdENvbW1hbmQuaDogU1RZTEU6IGxvd2VyY2FzZSBjdGVzdF90ZXN0KCkKCSAgaW4gdGhlIGRvY3VtZW50YXRpb24KCgkgIEFsZXgKCjIwMDgtMTAtMDggMTQ6MTkgIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUNhbGxWaXN1YWxTdHVkaW9NYWNyby5jeHg6IEJVRzogRml4CgkgIGlzc3VlICM3NTMzLiBSZXZpc2UgZml4IGZvciBpc3N1ZSAjNzA1OCB0byB1c2UgcHJhZ21hIGNvbW1lbnQKCSAgbGlicyBpbiB0aGUgc291cmNlIGZpbGUgcmF0aGVyIHRoYW4gdXNpbmcgVEFSR0VUX0xJTktfTElCUkFSSUVTCgkgIGluIENNYWtlTGlzdHMudHh0IGJlY2F1c2Ugb2YgdGhlIGNvbXBsZXggaWZkZWYgbG9naWMgdXNlZCBpbgoJICBjb3JyZWN0IGNvcGllcyBvZiBjb21kZWYuaC4KCjIwMDgtMTAtMDggMTA6NTYgIGhvZmZtYW4KCgkqIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9GaW5kUmVjdXJzaXZlQS5jbWFrZTogZmlsZQoJICBGaW5kUmVjdXJzaXZlQS5jbWFrZSB3YXMgYWRkZWQgb24gYnJhbmNoIENNYWtlLTItNiBvbiAyMDA4LTEwLTI0CgkgIDE1OjIwOjM1ICswMDAwCgoyMDA4LTEwLTA4IDEwOjU2ICBraW5nCgoJKiBTb3VyY2UvY21GaW5kUGFja2FnZUNvbW1hbmQuY3h4LAoJICBUZXN0cy9GaW5kUGFja2FnZVRlc3QvRmluZFJlY3Vyc2l2ZUEuY21ha2U6IEVOSDogUmVtb3ZlIGltcGxpY2l0CgkgIE5PX01PRFVMRSB3aGVuIHJlY3Vyc2luZwoKCSAgUmVjZW50bHkgd2UgdGF1Z2h0IGZpbmRfcGFja2FnZSB0aGF0IHRoZSBOT19NT0RVTEUgb3B0aW9uIGlzCgkgIGltcGxpZWQgd2hlbiBpdCBpcyByZWN1cnNpdmVseSBpbnZva2VkIGluIGEgZmluZC1tb2R1bGUuICBUaGlzCgkgIGJlaGF2aW9yIG1heSBiZSBjb25mdXNpbmcgYmVjYXVzZSB0d28gaWRlbnRpY2FsIGNhbGxzIG1heSBlbnRlcgoJICBkaWZmZXJlbnQgbW9kZXMgZGVwZW5kaW5nIG9uIGNvbnRleHQuICBJdCBhbHNvIGRpc2FsbG93cyB0aGUKCSAgcG9zc2liaWxpdHkgdGhhdCBvbmUgZmluZC1tb2R1bGUgZGVmZXJzIHRvIGFub3RoZXIgZmluZC1tb2R1bGUgYnkKCSAgY2hhbmdpbmcgQ01BS0VfTU9EVUxFX1BBVEggYW5kIHJlY3Vyc2l2ZWx5IGludm9raW5nIGZpbmRfcGFja2FnZS4KCSAgIFRoaXMgY2hhbmdlIHJldmVydHMgdGhlIGZlYXR1cmUuCgoyMDA4LTEwLTA3IDIzOjU1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTAtMDcgMTY6NDYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVRhcmdldC5jeHg6IEVOSDogYWRkIG1pc3NpbmcgcHJvcGVydHkgZGVmaW5pdGlvbnMKCjIwMDgtMTAtMDcgMTY6MjMgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21TZXRUYXJnZXRQcm9wZXJ0aWVzQ29tbWFuZC5oOiBCVUc6IGZpeCBmb3IgNDUyNCwgYWRkIHN1cHBvcnQKCSAgZm9yIHRhcmdldCBwcm9wZXJ0aWVzIHRvIHNldCB2cyBzb3VyY2UgY29kZSBjb250cm9sIGluZm9ybWF0aW9uCgoyMDA4LTEwLTA3IDEwOjM1ICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6CgkgIEVOSDoJRml4ICM3Nzg0LiAgRml4IGxpbmsgb2YgZ2xpYiB3aGVuIG5lZWRlZC4KCjIwMDgtMTAtMDYgMjM6NTUgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMC0wNiAxMTowNCAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBGaXggY29udmVuaWVuY2UKCSAgcnVsZSB3b3JraW5nIGRpcmVjdG9yeQoKCSAgV2UgZ2VuZXJhdGUgY29udmVuaWVuY2UgcnVsZXMgdG8gYnVpbGQgb2JqZWN0IGZpbGVzLCBwcmVwcm9jZXNzZWQKCSAgb3V0cHV0cywgYW5kIGFzc2VtYmx5IG91dHB1dHMgb2Ygc291cmNlIGZpbGVzIGluZGl2aWR1YWxseSB3aXRoCgkgIG1ha2UgcnVsZXMuICBUaGlzIHJlbW92ZXMgYSByZWR1bmRhbnQgd29ya2luZyBkaXJlY3RvcnkgY2hhbmdlCgkgIHdoZW4gbW9yZSB0aGFuIG9uZSB0YXJnZXQgYnVpbGRzIHRoZSBzYW1lIHNvdXJjZSBmaWxlLgoKMjAwOC0xMC0wNSAyMzo1NSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTEwLTA0IDIzOjU1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTAtMDMgMjM6NTUgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMC0wMyAxMDo0MSAgaG9mZm1hbgoKCSogVGVzdHMvRmluZFBhY2thZ2VUZXN0L2xpYi96b3Qvem90LWNvbmZpZy12ZXJzaW9uLmNtYWtlOiBmaWxlCgkgIHpvdC1jb25maWctdmVyc2lvbi5jbWFrZSB3YXMgYWRkZWQgb24gYnJhbmNoIENNYWtlLTItNiBvbgoJICAyMDA4LTEwLTI0IDE1OjE5OjAzICswMDAwCgoyMDA4LTEwLTAzIDEwOjQxICBob2ZmbWFuCgoJKiBUZXN0cy9GaW5kUGFja2FnZVRlc3QvbGliL3pvdC96b3QtY29uZmlnLmNtYWtlOiBmaWxlCgkgIHpvdC1jb25maWcuY21ha2Ugd2FzIGFkZGVkIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24gMjAwOC0xMC0yNAoJICAxNToxOTowNiArMDAwMAoKMjAwOC0xMC0wMyAxMDo0MSAga2luZwoKCSogU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmN4eCwKCSAgVGVzdHMvRmluZFBhY2thZ2VUZXN0L2xpYi96b3Qvem90LWNvbmZpZy12ZXJzaW9uLmNtYWtlLAoJICBUZXN0cy9GaW5kUGFja2FnZVRlc3QvbGliL3pvdC96b3QtY29uZmlnLmNtYWtlOiBFTkg6IEFkZAoJICBVTlNVSVRBQkxFIHJlc3VsdCB0byBwYWNrYWdlIHZlcnNpb24gdGVzdAoKCSAgUGFja2FnZSB2ZXJzaW9uIHRlc3QgZmlsZXMgbWF5IG5vdyBkZWNsYXJlIHRoYXQgdGhleSBhcmUKCSAgdW5zdWl0YWJsZSBmb3IgdXNlIHdpdGggdGhlIHByb2plY3QgdGVzdGluZyB0aGVtLiAgVGhpcyBpcwoJICBpbXBvcnRhbnQgd2hlbiB0aGUgdmVyc2lvbiBiZWluZyB0ZXN0ZWQgZG9lcyBub3QgcHJvdmlkZSBhCgkgIGNvbXBhdGlibGUgQUJJIHdpdGggdGhlIHByb2plY3QgdGFyZ2V0IGVudmlyb25tZW50LgoKMjAwOC0xMC0wMyAxMDo0MCAgaG9mZm1hbgoKCSogVGVzdHMvRmluZFBhY2thZ2VUZXN0L2xpYi9SZWN1cnNpdmVBL3JlY3Vyc2l2ZWEtY29uZmlnLmNtYWtlOgoJICBmaWxlIHJlY3Vyc2l2ZWEtY29uZmlnLmNtYWtlIHdhcyBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uCgkgIDIwMDgtMTAtMjQgMTU6MTk6MDEgKzAwMDAKCjIwMDgtMTAtMDMgMTA6NDAgIGhvZmZtYW4KCgkqIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9GaW5kUmVjdXJzaXZlQi5jbWFrZTogZmlsZQoJICBGaW5kUmVjdXJzaXZlQi5jbWFrZSB3YXMgYWRkZWQgb24gYnJhbmNoIENNYWtlLTItNiBvbiAyMDA4LTEwLTI0CgkgIDE1OjIwOjM1ICswMDAwCgoyMDA4LTEwLTAzIDEwOjQwICBob2ZmbWFuCgoJKiBUZXN0cy9GaW5kUGFja2FnZVRlc3QvRmluZFJlY3Vyc2l2ZUMuY21ha2U6IGZpbGUKCSAgRmluZFJlY3Vyc2l2ZUMuY21ha2Ugd2FzIGFkZGVkIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24gMjAwOC0xMC0yNAoJICAxNToyMDozNSArMDAwMAoKMjAwOC0xMC0wMyAxMDo0MCAga2luZwoKCSogU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmN4eCwKCSAgVGVzdHMvRmluZFBhY2thZ2VUZXN0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9GaW5kUGFja2FnZVRlc3QvRmluZFJlY3Vyc2l2ZUEuY21ha2UsCgkgIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9GaW5kUmVjdXJzaXZlQi5jbWFrZSwKCSAgVGVzdHMvRmluZFBhY2thZ2VUZXN0L0ZpbmRSZWN1cnNpdmVDLmNtYWtlLAoJICBUZXN0cy9GaW5kUGFja2FnZVRlc3QvbGliL1JlY3Vyc2l2ZUEvcmVjdXJzaXZlYS1jb25maWcuY21ha2U6CgkgIEVOSDogSGVscCByZWN1cnNpdmUgZmluZF9wYWNrYWdlIGNhbGxzIGluIG1vZHVsZXMKCgkgIFRoZXNlIGNoYW5nZXMgdGVhY2ggZmluZF9wYWNrYWdlIHRvIGJlaGF2ZSBuaWNlbHkgd2hlbiBpbnZva2VkCgkgIHJlY3Vyc2l2ZWx5IGluc2lkZSBhIGZpbmQtbW9kdWxlIGZvciB0aGUgc2FtZSBwYWNrYWdlLiAgVGhlCgkgIG1vZHVsZSB3aWxsIG5ldmVyIGJlIHJlY3Vyc2l2ZWx5IGxvYWRlZCBhZ2Fpbi4gIFZlcnNpb24gYXJndW1lbnRzCgkgIGFyZSBhdXRvbWF0aWNhbGx5IGZvcndhcmRlZC4KCjIwMDgtMTAtMDMgMTA6MzkgIGtpbmcKCgkqIFNvdXJjZS9jbUZpbmRQYWNrYWdlQ29tbWFuZC5jeHg6IEVOSDogV2FybiBhbmQgaWdub3JlIEVYQUNUCgkgIHdpdGhvdXQgdmVyc2lvbgoKCSAgSWYgdGhlIGZpbmRfcGFja2FnZSBjb21tYW5kIGlzIGludm9rZWQgd2l0aCB0aGUgRVhBQ1Qgb3B0aW9uIGJ1dAoJICB3aXRob3V0IGEgdmVyc2lvbiwgd2FybiBhbmQgaWdub3JlIHRoZSBvcHRpb24uCgoyMDA4LTEwLTAzIDEwOjExICBraW5nCgoJKiBTb3VyY2UvOiBjbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuaDogQlVHOiBGaXggY29uZmlnIHRlc3QgZm9yIHRhcmdldAoJICBpbnN0YWxsIHJ1bGVzCgoJICBJbiBzaW5nbGUtY29uZmlndXJhdGlvbiBnZW5lcmF0b3JzIGEgdGFyZ2V0IGluc3RhbGxhdGlvbiBydWxlCgkgIHNob3VsZCBhcHBseSB0byBhbGwgY29uZmlndXJhdGlvbnMgZm9yIHdoaWNoIHRoZSBJTlNUQUxMIGNvbW1hbmQKCSAgd2FzIHNwZWNpZmllZC4gIFRoZSBjb25maWd1cmF0aW9uIGluIHdoaWNoIHRoZSB0YXJnZXQgaXMgYnVpbHQKCSAgZG9lcyBub3QgbWF0dGVyLgoKCSAgSW4gbXVsdGktY29uZmlndXJhdGlvbiBnZW5lcmF0b3JzIGVhY2ggaW5zdGFsbGF0aW9uIHJ1bGUgbXVzdCBiZQoJICBhc3NvY2lhdGVkIHdpdGggYSBwYXJ0aWN1bGFyIGJ1aWxkIGNvbmZpZ3VyYXRpb24gdG8gaW5zdGFsbCB0aGUKCSAgcHJvcGVyIGZpbGUuCVRoZSBzZXQgb2YgY29uZmlndXJhdGlvbnMgZm9yIHdoaWNoIHJ1bGVzIGFyZQoJICBnZW5lcmF0ZWQgaXMgdGhlIGludGVyc2VjdGlvbiBvZiB0aGUgYnVpbGQgY29uZmlndXJhdGlvbnMgYW5kCgkgIHRob3NlIGZvciB3aGljaCB0aGUgSU5TVEFMTCBjb21tYW5kIHdhcyBzcGVjaWZpZWQuCgoyMDA4LTEwLTAzIDA4OjE2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21GaW5kQ29tbW9uLmN4eDogRU5IOiB1bmRvIGJhZCBjaGVja2luCgoyMDA4LTEwLTAyIDIzOjU1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMTAtMDIgMTg6NDggIGFsZXgKCgkqIFNvdXJjZS9jbVRhcmdldC5jeHg6IFNUWUxFOiBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgdGhlICJUWVBFIgoJICB0YXJnZXQgcHJvcGVydHkKCgkgIEFsZXgKCjIwMDgtMTAtMDIgMTM6NDkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogQlVHOiA3NzYzIGZpeCwgT1BUSU1JWkFUSU9OCgkgIHdhcyBub3Qgc2V0IHJpZ2h0LiAgQWxzbyBmaXggZm9yIEJVRyA3NzY0LCBwdXQgWENPREVfQVRUUklCVVRFU18KCSAgbGFzdAoKMjAwOC0xMC0wMiAxMjoxMSAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWdjYy5jbWFrZTogQlVHOiBmaXggZm9yIDU3MDUsIGxpbmsgaW4KCSAgc3RhbmRhcmQgbGlicyBmb3IgbWluZ3cKCjIwMDgtMTAtMDIgMDk6MTggIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtRmluZENvbW1vbi5jeHgsIENQYWNrL2NtQ1BhY2tCdW5kbGVHZW5lcmF0b3IuY3h4LAoJICBDUGFjay9jbUNQYWNrR2VuZXJhdG9yLmN4eCwgQ1Rlc3QvY21Qcm9jZXNzLmN4eDogU1RZTEU6IGZpeCBsaW5lCgkgIGxlbmd0aCBpc3N1ZXMKCjIwMDgtMTAtMDEgMjM6NTYgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0xMC0wMSAxNjoxNiAgaG9mZm1hbgoKCSogU291cmNlL2NtYWtlLmN4eDogQlVHOiBmaXggZm9yIDYyODAsIC1FIHRpbWUgd2FzIG5vdCBzZW5kaW5nIGJhY2sKCSAgcmV0dXJuIHZhbHVlCgoyMDA4LTEwLTAxIDE2OjEwICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRQZXJsTGlicy5jbWFrZTogRU5IOiBmaW5kIHBlcmwgd2l0aCBGaW5kUGVybCBub3QKCSAgZmluZF9wcm9ncmFtLCBidWc6IDYyNDMKCjIwMDgtMTAtMDEgMTQ6MTkgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFRjbFN0dWIuY21ha2U6IEJVRzogZml4IGZvciA3NDUxCgoyMDA4LTEwLTAxIDEzOjI0ICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogQ01ha2VDSW5mb3JtYXRpb24uY21ha2UsIFBsYXRmb3JtL0xpbnV4LmNtYWtlOiBCVUc6IGZpeAoJICBmb3IgYnVnIDQ3NzIsIGVuYWJsZV9sYW5ndWFnZSBzaG91bGQgbm93IHdvcmsgb24gbGludXggd2l0aAoJICBjb3JyZWN0IGZsYWdzCgoyMDA4LTEwLTAxIDEzOjEzICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS86IGZlcnJhcmlfc2dpNjRfcmVsZWFzZS5jbWFrZSwKCSAgZmVycmFyaV9zZ2lfcmVsZWFzZS5jbWFrZTogRU5IOiBhZGQgbmV3IHNnaSByZWxlYXNlIHNjcmlwdHMKCjIwMDgtMTAtMDEgMTI6NDYgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0VXBkYXRlSGFuZGxlci5jeHg6IEJVRzogdW5kbyBmaXggZm9yIDcyOTIKCSAgYmVjYXVzZSBhIHN3aXRjaGVkIGZpbGUgc2hvdWxkIHNob3cgdXAgYXMgYW4gb2RkIHRoaW5nIG9uIHRoZQoJICBkYXNoYmFvcmQKCjIwMDgtMTAtMDEgMTI6NDUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHg6IFNUWUxFOiBmaXggaGlkZGVuIHZhcmlhYmxlIHdhcm5pbmcKCjIwMDgtMTAtMDEgMDk6NTAgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuaDogQlVHOiBmaXggZm9yCgkgIDc3MzgsIGFsbG93IGZvciBzcGFjZXMgaW4gdGhlIHBhY2thZ2UgdGFyZ2V0IHBhdGggdG8gQ1BhY2tDb25maWcKCSAgZmlsZXMKCjIwMDgtMTAtMDEgMDk6MDQgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwgY21JZkNvbW1hbmQuY3h4LAoJICBjbUluc3RhbGxDb21tYW5kLmN4eCwgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlLmN4eCwgY21ha2UuY3h4LCBDUGFjay9jbUNQYWNrQnVuZGxlR2VuZXJhdG9yLmN4eCwKCSAgQ1BhY2svY21DUGFja0dlbmVyYXRvci5jeHgsIENQYWNrL2NtQ1BhY2tHZW5lcmF0b3IuaCwKCSAgQ1BhY2svY21DUGFja05TSVNHZW5lcmF0b3IuY3h4LCBDUGFjay9jbUNQYWNrTlNJU0dlbmVyYXRvci5oLAoJICBDUGFjay9jbUNQYWNrUGFja2FnZU1ha2VyR2VuZXJhdG9yLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eDogU1RZTEU6IGZpeCBsaW5lIGxlbmd0aCBzdHVmZiBmb3IKCSAgS1dTdHlsZQoKMjAwOC0wOS0zMCAyMzo1NiAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA5LTI5IDIzOjU2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDktMjkgMTY6MDkgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9jbV9jdXJsLmg6IEVOSDogZml4IHN5bnRheCBlcnJvcgoKMjAwOC0wOS0yOSAxNTo0NyAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIFV0aWxpdGllcy9jbVRoaXJkUGFydHkuaC5pbiwgVXRpbGl0aWVzL2NtX2N1cmwuaDoKCSAgRU5IOiBjaGVjayBpbiBhYmlsaXR5IHRvIGJ1aWxkIHdpdGggbmV3IGN1cmwgLWYKCSAgLURDTUFLRV9VU0VfTkVXX0NVUkwgaXMgc2V0CgoyMDA4LTA5LTI4IDIzOjU2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDktMjcgMjM6NTYgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wOS0yNyAwODowNCAga2luZwoKCSogU291cmNlL2t3c3lzL1NoYXJlZEZvcndhcmQuaC5pbjogQ09NUDogQXZvaWQgaW5jb21wYXRpYmxlIHBvaW50ZXIKCSAgd2FybmluZwoKCSAgSW4gU2hhcmVkRm9yd2FyZCwgdGhlIGNhbGwgdG8gZXhlY3ZwIHdhcm5lZCBvbiBNaW5HVyBiZWNhdXNlIHRoZQoJICBzaWduYXR1cmUgZGVjbGFyZWQgaW4gcHJvY2Vzcy5oIGhhcyBhbiBleHRyYSBjb25zdC4gIFdlIHVzZSBhbgoJICBleHBsaWNpdCBjYXN0IHRvIGNvbnZlcnQgdGhlIHBvaW50ZXIgdHlwZS4KCjIwMDgtMDktMjYgMjM6NTYgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wOS0yNiAyMDowOSAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kR0xVVC5jbWFrZTogQlVHOiBmaXggZm9yIDc3NDYKCjIwMDgtMDktMjYgMTI6MDggIGJhcnJlCgoJKiBTb3VyY2Uva3dzeXMvU2hhcmVkRm9yd2FyZC5oLmluOiBFTkg6IGZpeCBidWcgd2hlcmUgc2hhcmVkZm9yd2FyZAoJICB3b3VsZCBub3Qgd29yayBpZiB0aGVyZSB3YXMgYSBzcGFjZSBpbiB0aGUgcGF0aCAoaXQgd291bGQgYnV0CgkgIHdvdWxkIGludGVycHJldCB0aGUgc3BhY2UgYXMgdGhlIHNlcGFyYXRpb24gYmV0d2VlbiB0d28KCSAgYXJndW1lbnRzLCBhbmQgd291bGQgdGhlcmVmb3JlIHBhc3MgYW4gZXh0cmEgYXJnIHRoYXQgd291bGQgdGhyb3cKCSAgc29tZSBhcHBzIG9mZikuIFRoYW5rcyB0byBCcmFkIEtpbmcuCgoyMDA4LTA5LTI2IDA4OjI0ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBDTWFrZUxpc3RzLnR4dCwgdGVzdFNoYXJlZEZvcndhcmQuYy5pbjogRU5IOiBBZGQKCSAgdGVzdCBmb3IgS1dTeXMgU2hhcmVkRm9yd2FyZAoKCSAgVGhpcyB0ZXN0cyB0aGUgYmFzaWMgY2FwYWJpbGl0eSBvZiBydW5uaW5nIGFub3RoZXIgZXhlY3V0YWJsZQoJICBmcm9tIHRoZSBidWlsZCB0cmVlLgoKMjAwOC0wOS0yNiAwODoyNCAga2luZwoKCSogU291cmNlL2t3c3lzL1NoYXJlZEZvcndhcmQuaC5pbjogQlVHOiBGaXggU2hhcmVkRm9yd2FyZCB3aXRoCgkgIHNwYWNlcyBvbiB3aW5kb3dzCgoJICBUaGUgd2luZG93cyBleGVjdnAgZnVuY3Rpb24gZG9lcyBub3QgcmUtZXNjYXBlIGFyZ3VtZW50cwoJICBjb3JyZWN0bHkuICBJbnN0ZWFkIHdlIGdlbmVyYXRlIHRoZSBlc2NhcGUgc2VxdWVuY2VzIGJlZm9yZQoJICBjYWxsaW5nIGl0LgoKMjAwOC0wOS0yNiAwODoyNCAga2luZwoKCSogU291cmNlL2t3c3lzL1NoYXJlZEZvcndhcmQuaC5pbjogQlVHOiBGaXggU2hhcmVkRm9yd2FyZCBpbi10cmVlCgkgIGRldGVjdGlvbgoKCSAgVG8gZGV0ZWN0IHdoZW4gdGhlIGxhdW5jaGVyIGlzIHJ1bm5pbmcgZnJvbSB0aGUgYnVpbGQgdHJlZSB3ZSBub3cKCSAgdGVzdCBpZiB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgaXQgaXMgdGhlIHNhbWUgYXMgdGhlIGJ1aWxkLXRyZWUKCSAgZGlyZWN0b3J5IHVzaW5nIGFuIGlub2RlIHRlc3QgaW5zdGVhZCBvZiBzdHJpbmcgY29tcGFyaXNvbi4gIFRoaXMKCSAgbWFrZXMgaXQgbW9yZSByb2J1c3Qgb24gY2FzZS1pbnNlbnNpdGl2ZSBmaWxlc3lzdGVtcyBhbmQgb3RoZXIKCSAgcXVpcmt5IHNpdHVhdGlvbnMuCgoyMDA4LTA5LTI2IDA4OjI0ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU2hhcmVkRm9yd2FyZC5oLmluOiBDT01QOiBBdm9pZCA2NC10by0zMi1iaXQgaW50ZWdlcgoJICBjb252ZXJzaW9uIHdhcm5pbmcKCgkgIEluIFNoYXJlZEZvcndhcmQgd2UgYXJlIG9ubHkgZGVhbGluZyB3aXRoIGNvbW1hbmQtbGluZS1sZW5ndGgKCSAgc3RyaW5ncyBzbyB3ZSBuZWVkIG5vdCB3b3JyeSBhYm91dCBpbnRlZ2VyIG92ZXJmbG93LgoKMjAwOC0wOS0yNSAyMzo1NiAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA5LTI1IDE3OjAyICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtZ2NjLmNtYWtlOiBCVUc6IGZpeCBmb3IgNzcwNAoKMjAwOC0wOS0yNSAxNjo1MiAgaG9mZm1hbgoKCSogU291cmNlL2NtYWtlbWFpbi5jeHg6IEJVRzogZml4IGZvciBidWcgNzczMywgZG9jdW1lbnQgdGhhdCBkZWJ1ZwoJICB0cnkgY29tcGlsZSBtYXkgYnJlYWsgdGhlIGJ1aWxkCgoyMDA4LTA5LTI1IDEwOjIxICBob2ZmbWFuCgoJKiBUZXN0cy9VbnNldC9DTWFrZUxpc3RzLnR4dDogZmlsZSBDTWFrZUxpc3RzLnR4dCB3YXMgYWRkZWQgb24KCSAgYnJhbmNoIENNYWtlLTItNiBvbiAyMDA5LTAyLTA0IDE2OjQ0OjE5ICswMDAwCgoyMDA4LTA5LTI1IDEwOjIxICBraW5nCgoJKiBTb3VyY2UvY21Db21tYW5kQXJndW1lbnRQYXJzZXJIZWxwZXIuY3h4LAoJICBUZXN0cy9VbnNldC9DTWFrZUxpc3RzLnR4dDogRU5IOiBDcmVhdGUgJENBQ0hFe1ZBUn0gc3ludGF4CgoJICBUaGlzIHN5bnRheCBhbGxvd3MgcmVhZGluZyBvZiBjYWNoZSBlbnRyaWVzIGV2ZW4gd2hlbiB2YXJpYWJsZXMKCSAgb2YgdGhlIHNhbWUgbmFtZSBoYXZlIGJlZW4gZGVmaW5lZCBpbiB0aGUgbG9jYWwgc2NvcGUuICBTZWUgaXNzdWUKCSAgIzc3MTUuCgoyMDA4LTA5LTI0IDIzOjU2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDktMjQgMTM6NTMgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlL1JFQURNRTogRU5IOiBhZGQgY29tbWVudCBhYm91dCBmaXhpbmcgUkMKCjIwMDgtMDktMjQgMTM6NTIgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0OiBFTkg6IHJlbW92ZSBSQyAyLjYuMiBpcyByZWFkeQoKMjAwOC0wOS0yNCAxMDowNyAgaG9mZm1hbgoKCSogU291cmNlL0NQYWNrLzogY21DUGFja0dlbmVyYXRvci5jeHgsIGNtQ1BhY2tHZW5lcmF0b3IuaCwKCSAgY3BhY2suY3h4OiBTVFlMRTogcmVtb3ZlIHdhcm5pbmcgZnJvbSBicmFuY2gKCjIwMDgtMDktMjQgMTA6MDEgIGhvZmZtYW4KCgkqIFNvdXJjZS9DUGFjay9jcGFjay5jeHg6IEVOSDogbWlzc2VkIG9uZQoKMjAwOC0wOS0yNCAwOTo1NyAgaG9mZm1hbgoKCSogU291cmNlL0NQYWNrLzogY21DUGFja0dlbmVyYXRvci5jeHgsIGNtQ1BhY2tHZW5lcmF0b3IuaDogU1RZTEU6CgkgIGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDA4LTA5LTI0IDA4OjUxICBraW5nCgoJKiBTb3VyY2UvOiBjbUNvbW1hbmQuaCwgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaDogQlVHOiBTa2lwIGEKCSAgY29tbWFuZCBpZiBpdHMgYXJndW1lbnRzIGZhaWwgdG8gcGFyc2UKCgkgIElmIHRoZSBhcmd1bWVudHMgdG8gYSBjb21tYW5kIGZhaWwgdG8gcGFyc2UgY29ycmVjdGx5IGR1ZSB0byBhCgkgIHN5bnRheCBlcnJvciwgdGhlIGNvbW1hbmQgc2hvdWxkIG5vdCBiZSBpbnZva2VkLiAgVGhpcyBhdm9pZHMKCSAgcHJvYmxlbXMgY3JlYXRlZCBieSBwcm9jZXNzaW5nIG9mIGNvbW1hbmRzIHdpdGggYmFkIGFyZ3VtZW50cy4KCSAgRXZlbiB0aG91Z2ggdGhlIGJ1aWxkIHN5c3RlbSB3aWxsIG5vdCBiZSBnZW5lcmF0ZWQsIHRoZSBjb21tYW5kCgkgIG1heSBhZmZlY3QgZmlsZXMgb24gZGlzayB0aGF0IHBlcnNpc3QgYWNyb3NzIENNYWtlIHJ1bnMuCgoyMDA4LTA5LTI0IDA4OjUxICBraW5nCgoJKiBTb3VyY2UvY21NYWNyb0NvbW1hbmQuY3h4OiBFTkg6IEltcHJvdmUgY29udGV4dCBmb3IgZXJyb3JzIGluCgkgIG1hY3JvcwoKCSAgV2Ugbm93IHByb3Blcmx5IHJlcG9ydCB0aGUgc291cmNlIGxvY2F0aW9uIG9mIGNvbW1hbmQgYXJndW1lbnRzCgkgIGluc2lkZSBtYWNyb3MgaW5zdGVhZCBvZiB1c2luZyB0aGUgbWFjcm8gaW52b2NhdGlvbiBzaXRlLiAgTm8KCSAgaW5mb3JtYXRpb24gaXMgbG9zdCBiZWNhdXNlIGZ1bGwgY2FsbC1zdGFjayBpbmZvcm1hdGlvbiBpcwoJICBhbHJlYWR5IHJlcG9ydGVkLgoKMjAwOC0wOS0yNCAwODo1MSAga2luZwoKCSogU291cmNlLzogY21Db21tYW5kQXJndW1lbnRQYXJzZXJIZWxwZXIuY3h4LAoJICBjbUNvbW1hbmRBcmd1bWVudFBhcnNlckhlbHBlci5oLCBjbU1ha2VmaWxlLmN4eCwgY21Qb2xpY2llcy5jeHgsCgkgIGNtUG9saWNpZXMuaDogRU5IOiBJbXByb3ZlIGFyZ3VtZW50IHBhcnNpbmcgZXJyb3IgbWVzc2FnZXMKCgkgIFByZXZpb3VzbHkgZXJyb3IgbWVzc2FnZXMgcHJvZHVjZWQgYnkgcGFyc2luZyBvZiBjb21tYW5kIGFyZ3VtZW50CgkgIHZhcmlhYmxlIHJlZmVyZW5jZXMsIHN1Y2ggYXMgYmFkICRLRVl7VkFSfSBzeW50YXggb3IgYSBiYWQgZXNjYXBlCgkgIHNlcXVlbmNlLCBkaWQgbm90IHByb3ZpZGUgZ29vZCBjb250ZXh0IGluZm9ybWF0aW9uLiAgRXJyb3JzCgkgIHBhcnNpbmcgYXJndW1lbnRzIGluc2lkZSBtYWNybyBpbnZvY2F0aW9ucyBnYXZlIG5vIGNvbnRleHQgYXQKCSAgYWxsLglGdXJ0aGVybW9yZSwgc29tZSBlcnJvcnMgc3VjaCBhcyBhIG1pc3NpbmcgY2xvc2UgY3VybHkKCSAgIiR7VkFSIiB3b3VsZCBiZSByZXBvcnRlZCBidXQgYnVpbGQgZmlsZXMgd291bGQgc3RpbGwgYmUKCSAgZ2VuZXJhdGVkLgoKCSAgVGhlc2UgY2hhbmdlcyB0ZWFjaCBDTWFrZSB0byByZXBvcnQgZXJyb3JzIHdpdGggZ29vZCBjb250ZXh0CgkgIGluZm9ybWF0aW9uIGZvciBhbGwgY29tbWFuZCBhcmd1bWVudCBwYXJzaW5nIHByb2JsZW1zLiAgUG9saWN5CgkgIENNUDAwMTAgaXMgaW50cm9kdWNlZCBzbyB0aGF0IGV4aXN0aW5nIHByb2plY3RzIHRoYXQgYnVpbHQKCSAgZGVzcGl0ZSBzdWNoIGVycm9ycyB3aWxsIGNvbnRpbnVlIHRvIHdvcmsuCgoyMDA4LTA5LTIzIDIzOjU2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDktMjMgMTM6MzQgIGtpbmcKCgkqIFNvdXJjZS9jbUZpbmRMaWJyYXJ5Q29tbWFuZC5jeHg6IEJVRzogRml4IGxpYi8gdG8gbGliLzY0LyBzZWFyY2gKCSAgcGF0aCBjb252ZXJzaW9uCgoJICBBdXRvbWF0aWMgZ2VuZXJhdGlvbiBvZiA2NC1iaXQgbGlicmFyeSBzZWFyY2ggcGF0aHMgbXVzdCBwcmVzZXJ2ZQoJICB0cmFpbGluZyBzbGFzaGVzLiAgVGhpcyBmaXhlcyBhIGZhaWx1cmUgY2FzZSBleHBvc2VkIGJ5IHRoZQoJICByZWNlbnQgcmV3cml0ZSBvZiBmaW5kX2xpYnJhcnksIHdoaWNoIGFzc3VtZXMgdHJhaWxpbmcgc2xhc2hlcwoJICBvY2N1ciBvbiBhbGwgc2VhcmNoIHBhdGhzLgoKMjAwOC0wOS0yMyAxMjowNCAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL3Rlc3REeW5hbWljTG9hZGVyLmN4eDogRU5IOiBvbmUgbW9yZSBmaXggZm9yIEhBSUtVCgoyMDA4LTA5LTIzIDExOjMyICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyYXRvci5oOiBFTkg6IG1lcmdlIGluIGNoYW5nZXMgZm9yIFJDIDYsCgkgIGZpeCBjcGFjayB3b3JraW5nIGZyb20gc3ltbGluayBpcyB0aGUgb25seSBjaGFuZ2UKCjIwMDgtMDktMjMgMTA6MTUgIGhvZmZtYW4KCgkqIFNvdXJjZS9DUGFjay86IGNtQ1BhY2tHZW5lcmF0b3IuY3h4LCBjbUNQYWNrR2VuZXJhdG9yLmg6IFNUWUxFOgoJICBmaXggd2FybmluZyBhbmQgcmVuYW1lIG1ldGhvZAoKMjAwOC0wOS0yMiAyMzo1NiAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA5LTIyIDE4OjEyICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyYXRvci5jeHg6IEJVRzogZml4IDc2NjksIGNwYWNrIGRpZCBub3QKCSAgd29yayB3aXRoIHN5bWxpbmtzCgoyMDA4LTA5LTIyIDE1OjAwICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6CgkgIEVOSDoJRml4ICM3NDMzLiAgUHV0IGxpc3Qgb2YgZmlsZXMgaW4gYSAucHJvIGZpbGUgYW5kIGNhbGwKCSAgbHVwZGF0ZSBvbiBpdCwJCSAgIGluc3RlYWQgb2YgcHV0dGluZyB0aGUgbGlzdCBvZgoJICBmaWxlcyBvbiB0aGUgY29tbWFuZCBsaW5lLgoKMjAwOC0wOS0yMiAxNDowNSAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzLzogRHluYW1pY0xvYWRlci5oeHguaW4sIFByb2Nlc3NVTklYLmMsCgkgIHRlc3RQcm9jZXNzLmM6IEVOSDogYSBmZXcgbW9yZSBoYWlrdSBmaXhlcywgc3RvcCB0aGUgZGVidWdnZXIKCSAgZnJvbSBjb21pbmcgdXAgZm9yIHRlc3RzCgoyMDA4LTA5LTIyIDE0OjA0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21DVGVzdC5oLCBjdGVzdC5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHg6IEVOSDogYWRkIG1heCB3aWR0aCBvcHRpb24gdG8gY3Rlc3QKCSAgb3VwdHV0CgoyMDA4LTA5LTIyIDE0OjAwICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6CgkgIEJVRzoJcmVtb3ZlIGRlYnVnIHN0YXRlbWVudHMuCgoyMDA4LTA5LTIyIDExOjA4ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL09wZW5CU0QuY21ha2UsIFNvdXJjZS9jbUZpbmRMaWJyYXJ5Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbWFrZS5jeHg6IEVOSDogVGVhY2ggZmluZF9saWJyYXJ5IHRvIGZpbmQgT3BlbkJTRC1zdHlsZQoJICBsaWJzCgoJICBPcGVuQlNEIHNoYXJlZCBsaWJyYXJpZXMgdXNlIGEgIi5zby48bWFqb3I+LjxtaW5vcj4iIGV4dGVuc2lvbgoJICBhbmQgZG8gbm90IGhhdmUgYSBzeW1saW5rIHdpdGgganVzdCBhICIuc28iIGV4dGVuc2lvbi4gIEl0cyAibGQiCgkgIGlzIGNhcGFibGUgb2YgZmluZGluZyB0aGUgbGlicmFyeSB3aXRoIHRoZSBiZXN0IHZlcnNpb24uICBUaGlzCgkgIGNoYW5nZSBhZGRzIHN1cHBvcnQgZm9yIGZpbmRpbmcgc3VjaCBsaWJyYXJpZXMuICBTZWUgaXNzdWUgIzM0NzAuCgoyMDA4LTA5LTIyIDEwOjU5ICBraW5nCgoJKiBTb3VyY2UvY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4OiBFTkg6IFJlZmFjdG9yIGZpbmRfbGlicmFyeQoJICBzZWFyY2ggbG9naWMKCgkgIFByZXZpb3VzbHkgd2Ugc2VhcmNoZWQgZm9yIGxpYnJhcnkgZmlsZXMgYnkgZW51bWVyYXRpbmcgZXZlcnkKCSAgcG9zc2libGUgY29tYmluYXRpb24gb2YgcHJlZml4IGFuZCBzdWZmaXguICBOb3cgd2UgbG9hZCAoYW5kCgkgIGNhY2hlKSBkaXJlY3RvcnkgY29udGVudCBmcm9tIGRpc2sgYW5kIHNlYXJjaCBmb3IgbWF0Y2hpbmcgZmlsZQoJICBuYW1lcy4gIFRoaXMgc2hvdWxkIHJlZHVjZSBkaXNrIGFjY2Vzcy4gIEl0IHdpbGwgYWxzbyBhbGxvdyBtb3JlCgkgIGFkdmFuY2VkIG1hdGNoaW5nIHJ1bGVzIGluIHRoZSBmdXR1cmUuICBTZWUgaXNzdWUgIzM0NzAuCgoyMDA4LTA5LTIyIDEwOjU2ICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmg6IEVOSDogTWFrZQoJICBkaXIgY29udGVudCBjYWNoZSB3b3JrIGR1cmluZyBjb25maWd1cmUKCgkgIFByZXZpb3VzbHkgdGhlIGNtR2xvYmFsR2VuZXJhdG9yOjpHZXREaXJlY3RvcnlDb250ZW50IG1ldGhvZAoJICB3b3VsZCB3b3JrIHNhZmVseSBvbmx5IGR1cmluZyBidWlsZCBzeXN0ZW0gZ2VuZXJhdGlvbi4gIFRoZXNlCgkgIGNoYW5nZXMgbWFrZSBpdCBzYWZlIHRvIHVzZSBkdXJpbmcgZWFjaCBjb25maWd1cmUgc3RlcCBieQoJICBmbHVzaGluZyBpdCBhdCB0aGUgYmVnaW5uaW5nLgoKMjAwOC0wOS0yMiAxMDowNSAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWwsIE1vZHVsZXMvQnVuZGxlVXRpbGl0aWVzLmNtYWtlLAoJICBNb2R1bGVzL0NQYWNrUlBNLmNtYWtlLCBNb2R1bGVzL0ZpbmRCb29zdC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kQ3Vyc2VzLmNtYWtlLCBNb2R1bGVzL0ZpbmRRdDQuY21ha2UsCgkgIE1vZHVsZXMvR2V0UHJlcmVxdWlzaXRlcy5jbWFrZTogRU5IOiBtZXJnZSBpbiBjaGFuZ2VzIGZvciBSQyA1CgoyMDA4LTA5LTIyIDA5OjU2ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NQYWNrUlBNLmNtYWtlOiBCVUc6IDc0MzUsIHJlbW92ZSB3YXJuaW5nIGZvciBub3Qgc2V0dGluZwoJICBERVNURElSCgoyMDA4LTA5LTIyIDA5OjQyICBraW5nCgoJKiBTb3VyY2UvY21Tb3VyY2VGaWxlLmN4eDogRU5IOiBJbXByb3ZlIGRvY3Mgb2YgT0JKRUNUX0RFUEVORFMKCSAgcHJvcGVydHkKCgkgIFNwZWNpZnkgZXhhY3RseSB3aGF0IHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgc2hvdWxkIGNvbnRhaW4gYW5kCgkgIHRoZSByZXN1bHRpbmcgYmVoYXZpb3IuICBOb3RlIGFsdGVybmF0aXZlcyBmb3IgYSBjb21tb24gb3V0LWRhdGVkCgkgIHVzYWdlLgoKMjAwOC0wOS0yMSAyMzo1NiAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA5LTIwIDIzOjU3ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDktMTkgMjM6NTcgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wOS0xOSAxNzo0NSAgaG9mZm1hbgoKCSogTW9kdWxlcy9DUGFja1JQTS5jbWFrZTogQlVHOiA3NDM1IGZpeGVzIHRvIGFkZCBvcHRpb25hbAoJICBwb3N0LWluc3RhbGwKCjIwMDgtMDktMTggMjM6NTcgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wOS0xOCAxNToyMyAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kQ3Vyc2VzLmNtYWtlOiBFTkg6IHRyeSB0byBtYWtlIHRoaXMgd29yayBpZiBuY3Vyc2VzCgkgIGxpYiBpcyBmb3VuZCBidWcgbm90IHRoZSBuY3Vyc2VzIGhlYWRlcgoKMjAwOC0wOS0xOCAxMDo1NiAgY2xpbnRvbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOgoJICBFTkg6CUZvciAjNzQzMywgYWRkIGEgYml0IG1vcmUgZG9jdW1lbnRhdGlvbiBhbmQgYWRkIGFiaWxpdHkKCSAgdG8gc3BlY2lmeSBleHRyYSBmbGFncyB0byBsdXBkYXRlLgoKMjAwOC0wOS0xNyAyMzo1NyAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA5LTE3IDE0OjI5ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRDb2luM0QuY21ha2U6IGZpbGUgRmluZENvaW4zRC5jbWFrZSB3YXMgYWRkZWQgb24KCSAgYnJhbmNoIENNYWtlLTItNiBvbiAyMDA4LTEwLTI0IDE1OjIwOjM1ICswMDAwCgoyMDA4LTA5LTE3IDE0OjI5ICBtbGVvdHRhCgoJKiBNb2R1bGVzL0ZpbmRDb2luM0QuY21ha2U6IEVOSDogYWRkZWQgYSBtb2R1bGUgdG8gZmluZCBDb2luM0QKCjIwMDgtMDktMTYgMjM6NTcgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wOS0xNiAxNzo0MCAgYmFycmUKCgkqIFV0aWxpdGllcy9jbXRhci91dGlsLmM6IEVOSDogd293LiBPbiBzb21lIFdpbmRvd3MgbWFjaGluZSwgdHJ5aW5nCgkgIHRvIG1rZGlyKCJDOiIpIHdvdWxkIGZhaWwgbWlzZXJhYmx5LiBXSHkgbm90IGluIGRlYnVnIG1vZGU/IFdoeQoJICBub3Qgb24gb3RoZXIgd2luMzIgbWFjaGluZXMuIFdobyBrbm93cy4KCjIwMDgtMDktMTYgMTA6MzAgIGtpbmcKCgkqIE1vZHVsZXMvRmluZEJvb3N0LmNtYWtlOiBCVUc6IEZpeCBGaW5kQm9vc3QgdmVyc2lvbmVkIGZpbmQKCgkgIFRvIGxvY2F0ZSB0aGUgYm9vc3QgaW5jbHVkZSBkaXJlY3RvcnksIGFsbCBzZWFyY2ggcGF0aHMgYW5kCgkgIHZlcnNpb25lZCBwYXRoIHN1ZmZpeGVzIHNob3VsZCBiZSBwYXNzZWQgdG8gb25lIGNhbGwgb2YKCSAgRklORF9QQVRILiAgUHJldmlvdXNseSB0aGUgdGVzdCBmb3Igb25lIHZlcnNpb24gd291bGQgZmluZCBhbgoJICB1bnZlcnNpb25lZCBzeXN0ZW0gYm9vc3QgZXZlbiB3aGVuIHRoZSB1c2VyIHNldCBCT09TVF9ST09UIChzaW5jZQoJICB0aGUgTk9fREVGQVVMVF9QQVRIIG9wdGlvbiBpcyBub3QgdXNlZCkuICBTZWUgaXNzdWUgIzc0NTYuCgoyMDA4LTA5LTE1IDIzOjU3ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDktMTUgMTg6MjMgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9jbWN1cmwvc2VsZWN0LmM6IEVOSDogbWlzc2VkIHRoaXMgb25lLCBjbWFrZSBub3cKCSAgYm9vdHN0cmFwcyBvbiBIQUlLVQoKMjAwOC0wOS0xNSAxNzo1MyAgaG9mZm1hbgoKCSogYm9vdHN0cmFwLCBNb2R1bGVzL0NNYWtlRm9ydHJhbkNvbXBpbGVySWQuRjkwLmluLAoJICBNb2R1bGVzL0NNYWtlUGxhdGZvcm1JZC5oLmluLCBNb2R1bGVzL0NoZWNrRm9yUHRocmVhZHMuYywKCSAgTW9kdWxlcy9QbGF0Zm9ybS9IYWlrdS5jbWFrZSwgU291cmNlL2NtQ1Rlc3QuY3h4LAoJICBTb3VyY2UvY21EZXBlbmRzSmF2YUxleGVyLmN4eCwgU291cmNlL2NtRGVwZW5kc0phdmFMZXhlci5oLAoJICBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHgsIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4LAoJICBTb3VyY2Uva3dzeXMvRHluYW1pY0xvYWRlci5jeHgsIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jLAoJICBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4LCBTb3VyY2Uva3dzeXMvdGVzdER5bmFtaWNMb2FkZXIuY3h4LAoJICBTb3VyY2Uva3dzeXMvdGVzdFByb2Nlc3MuYywgVXRpbGl0aWVzL2NtY3VybC9DTWFrZUxpc3RzLnR4dCwKCSAgVXRpbGl0aWVzL2NtY3VybC9DTWFrZS9DdXJsVGVzdHMuYywgVXRpbGl0aWVzL2NtY3VybC9jdXJsL2N1cmwuaCwKCSAgVXRpbGl0aWVzL2NtemxpYi96Y29uZi5oLCBVdGlsaXRpZXMvY216bGliL3p1dGlsLmg6IEVOSDogYWRkCgkgIGluaXRpYWwgc3VwcG9ydCBmb3IgSEFJS1UgT1MgZnJvbSBidWcjIDc0MjUKCjIwMDgtMDktMTUgMTc6NTMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vSGFpa3UuY21ha2U6IGZpbGUgSGFpa3UuY21ha2Ugd2FzIGFkZGVkIG9uCgkgIGJyYW5jaCBDTWFrZS0yLTYgb24gMjAwOC0xMC0yNCAxNToyMDozNSArMDAwMAoKMjAwOC0wOS0xNSAxMzo0NiAga2luZwoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogRU5IOiBTaW1wbGlmeSBOT1RGT1VORCB2YXJpYWJsZQoJICBjaGVjawoKCSAgV2hlbiBsb29raW5nIGZvciBOT1RGT1VORCBsaWJyYXJpZXMsIHVzZSB0aGUgZGlyZWN0IGRlcGVuZGVuY2llcwoJICBvZiBhIHRhcmdldCBpbnN0ZWFkIG9mIGFsbCBkZXBlbmRlbmNpZXMuICBBdCBsZWFzdCBvbmUgdGFyZ2V0CgkgIHdpbGwgdHJpZ2dlciB0aGUgTk9URk9VTkQgZXJyb3IgYW55d2F5IGJlY2F1c2UgYXQgbGVhc3Qgb25lIG11c3QKCSAgZGlyZWN0bHkgbGluayBpdC4gIFRoaXMgcmVtb3ZlcyBhbm90aGVyIHVzZSBvZiB0aGUgb2xkLXN0eWxlIGxpbmsKCSAgbGluZSBjb21wdXRhdGlvbi4KCjIwMDgtMDktMTUgMTM6MzAgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eDogRU5IOiBVc2UgbmV3IGxpbmsgaW5mbwoJICBkdXJpbmcgZGVwZW5kZW5jeSBzY2FubmluZwoKCSAgVGhpcyByZW1vdmVzIGFub3RoZXIgdXNlIG9mIHRoZSBvbGQtc3R5bGUgbGluayBsaW5lIGNvbXB1dGF0aW9uLgoKMjAwOC0wOS0xNSAxMzozMCAga2luZwoKCSogU291cmNlL2NtVGFyZ2V0LmN4eDogRU5IOiBBbGxvdyBsaW5rIGxpbmUgY29tcHV0YXRpb24gZm9yIHN0YXRpYwoJICBsaWJzCgoJICBJbiBzb21lIGNhc2VzIGl0IG1heSBiZSB1c2VmdWwgdG8gY29tcHV0ZSBhICJsaW5rIiBsaW5lIGZvciBhCgkgIHN0YXRpYyBsaWJyYXJ5IGV2ZW4gdGhvdWdoIGl0IHdpbGwgbm90IGJlIHB1dCBpbiB0aGUgZ2VuZXJhdGVkCgkgIGJ1aWxkIHN5c3RlbS4gIFRoaXMgcmVtb3ZlcyB0aGUgYXNzZXJ0aW9uIHdoaWNoIHByZXZpb3VzbHkKCSAgZGlhbGxvd2VkIHRoZSBjYXNlLgoKMjAwOC0wOS0xNSAxMzozMCAga2luZwoKCSogU291cmNlLzogY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmN4eCwKCSAgY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmg6IEVOSDogS2VlcCB0YXJnZXQgaW5mb3JtYXRpb24gaW4gZmluYWwKCSAgbGluayBsaW5lCgoJICBJbiBjbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24gaXRlbXMgaW4gdGhlIGZpbmFsIGxpbmsgbGluZSByZXR1cm5lZAoJICBieSBHZXRJdGVtcyBub3cgY29udGFpbiBhIHBvaW50ZXIgdG8gdGhlaXIgY29ycmVzcG9uZGluZyBjbVRhcmdldAoJICBpZiB0aGV5IHdlcmUgcHJvZHVjZWQgYnkgYSB0YXJnZXQuICBUaGlzIG1ha2VzIGF2YWlsYWJsZSB0aGUgc2V0CgkgIG9mIGFsbCB0YXJnZXRzIGxpbmtlZC4KCjIwMDgtMDktMTUgMDk6NTEgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogRU5IOiBVc2UgaW1wcm92ZWQgdGFyZ2V0CgkgIGRlcGVuZGVuY2llcyBmb3IgWGNvZGUKCgkgIEluIGNtR2xvYmFsR2VuZXJhdG9yIHdlIHVzZSBjbUNvbXB1dGVUYXJnZXREZXBlbmRzIHRvIGNvbnN0cnVjdCBhCgkgIHNhZmUsIG5vbi1jaXJjdWxhciBzZXQgb2YgaW50ZXItdGFyZ2V0IGRlcGVuZGVuY2llcy4JVGhpcyBjaGFuZ2UKCSAgZW5hYmxlcyB1c2Ugb2YgdGhlIHJlc3VsdHMgYnkgdGhlIFhjb2RlIGdlbmVyYXRvci4gIEl0IGFsc28KCSAgcmVtb3ZlcyBhIGxvdCBvZiBvbGQgY29kZSBhbmQgYW5vdGhlciB1c2Ugb2YgdGhlIG9sZC1zdHlsZQoJICBsaW5raW5nIGxvZ2ljLiAgU2VlIGlzc3VlICM3NjUyLgoKMjAwOC0wOS0xNCAyMzo1NyAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA5LTEzIDIzOjU3ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDktMTIgMjM6NTcgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wOS0xMiAxMzoyOSAgaG9mZm1hbgoKCSogVGVzdHMvQ01ha2VUZXN0cy9Ub29sY2hhaW5UZXN0LmNtYWtlLmluOiBFTkg6IG1lcmdlIGluIGZyb20gbWFpbgoJICB0cmVlCgoyMDA4LTA5LTEyIDEwOjU2ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrQ0NvbXBpbGVyRmxhZy5jbWFrZSwgTW9kdWxlcy9GaW5kVGhyZWFkcy5jbWFrZSwKCSAgTW9kdWxlcy9yZWFkbWUudHh0LCBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUZpbGVDb21tYW5kLmgsIFNvdXJjZS9jbUZpbmRQYWNrYWdlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUZpbmRQYWNrYWdlQ29tbWFuZC5oLCBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUlmQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUlmQ29tbWFuZC5oLAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21Qb2xpY2llcy5jeHgsCgkgIFNvdXJjZS9jbVBvbGljaWVzLmgsIFNvdXJjZS9DUGFjay9jbUNQYWNrRGViR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2t3c3lzL0dsb2IuY3h4LCBTb3VyY2Uva3dzeXMvR2xvYi5oeHguaW4sCgkgIFRlbXBsYXRlcy9ETExIZWFkZXIuZHNwdGVtcGxhdGUsIFRlbXBsYXRlcy9FWEVIZWFkZXIuZHNwdGVtcGxhdGUsCgkgIFRlbXBsYXRlcy9FWEVXaW5IZWFkZXIuZHNwdGVtcGxhdGUsCgkgIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRmluZFBhY2thZ2VUZXN0L0ZpbmRWZXJzaW9uVGVzdEEuY21ha2UsCgkgIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9GaW5kVmVyc2lvblRlc3RCLmNtYWtlLAoJICBUZXN0cy9GaW5kUGFja2FnZVRlc3QvRmluZFZlcnNpb25UZXN0Qy5jbWFrZSwKCSAgVGVzdHMvRmluZFBhY2thZ2VUZXN0L0ZpbmRWZXJzaW9uVGVzdEQuY21ha2UsCgkgIFRlc3RzL0ZyYW1ld29yay9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRnJhbWV3b3JrL2Zvb0V4dGVuc2lvbmxlc3NSZXNvdXJjZSwKCSAgVGVzdHMvRnJhbWV3b3JrL2Zvb1ByaXZhdGVFeHRlbnNpb25sZXNzSGVhZGVyLAoJICBUZXN0cy9GcmFtZXdvcmsvZm9vUHVibGljRXh0ZW5zaW9ubGVzc0hlYWRlcjogRU5IOiAyLjYuMiBSQyA0CgkgIG1lcmdlIGludG8gbWFpbiB0cmVlCgoyMDA4LTA5LTExIDIzOjU3ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDktMTEgMTQ6NTAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogQlVHOiBtYWtlIHN1cmUgZmxhZyBpcyBmb3VuZAoJICBldmVuIHdpdGggZXh0cmEgc3BhY2VzIGF0IHRoZSBzdGFydAoKMjAwOC0wOS0xMSAxNDozNCAgZGF2aWQuY29sZQoKCSogU291cmNlLzogY21GaWxlQ29tbWFuZC5jeHgsIGNtRmlsZUNvbW1hbmQuaCwgY21Qb2xpY2llcy5jeHgsCgkgIGNtUG9saWNpZXMuaCwga3dzeXMvR2xvYi5jeHgsIGt3c3lzL0dsb2IuaHh4LmluOiBFTkg6IEltcHJvdmUKCSAgRklMRSBHTE9CX1JFQ1VSU0UgaGFuZGxpbmcgb2Ygc3ltbGlua3Mgd2l0aCBhIG5ldyBDTWFrZSBwb2xpY3kuCgkgIENNUDAwMDkgZXN0YWJsaXNoZXMgTkVXIGRlZmF1bHQgYmVoYXZpb3Igb2Ygbm90IHJlY3Vyc2luZyB0aHJvdWdoCgkgIHN5bWxpbmtzLiBPTEQgZGVmYXVsdCBiZWhhdmlvciBvciBleHBsaWNpdCBGT0xMT1dfU1lNTElOS1MKCSAgYXJndW1lbnQgdG8gRklMRSBHTE9CX1JFQ1VSU0Ugd2lsbCBzdGlsbCByZWN1cnNlIHRocm91Z2gKCSAgc3ltbGlua3MuCgoyMDA4LTA5LTExIDExOjQxICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRUaHJlYWRzLmNtYWtlOiBCVUc6IGZpeCBmb3IgNjU4Niwgc2V0IFRIUkVBRFNfRk9VTkQKCjIwMDgtMDktMTEgMTA6NDggIGhvZmZtYW4KCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrRGViR2VuZXJhdG9yLmN4eDogRU5IOiBhZGQgaW5zdGFsbGVkIHNpemUgdG8KCSAgZGViIHBhY2thZ2UKCjIwMDgtMDktMTAgMjM6NTggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wOS0xMCAxMTo1OCAga2luZwoKCSogU291cmNlL2NtSWZDb21tYW5kLmN4eCwgU291cmNlL2NtSWZDb21tYW5kLmgsCgkgIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9DTWFrZUxpc3RzLnR4dDogRU5IOiBBZGQgdmVyc2lvbiBjb21wYXJpc29uCgkgIHRvIGlmKCkgY29tbWFuZAoKCSAgUHJvdmlkZSBWRVJTSU9OX0xFU1MsIFZFUlNJT05fRVFVQUwsIGFuZCBWRVJTSU9OX0dSRUFURVIKCSAgb3BlcmF0b3JzIGluIHRoZSBpZigpIGNvbW1hbmQuICBUaGlzIHNpbXBsaWZpZXMgY29tcG9uZW50LXdpc2UKCSAgY29tcGFyaXNvbiBvZiB2ZXJzaW9uIG51bWJlcnMgaW4gdGhlIGZvcm0KCSAgIm1ham9yWy5taW5vclsucGF0Y2hbLnR3ZWFrXV1dIi4KCjIwMDgtMDktMTAgMTA6MzYgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy9ETExIZWFkZXIuZHNwdGVtcGxhdGU6IEVOSDogZml4IGZhaWxpbmcgdGVzdHMKCjIwMDgtMDktMTAgMTA6MTEgIGhvZmZtYW4KCgkqIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9GaW5kVmVyc2lvblRlc3RELmNtYWtlOiBmaWxlCgkgIEZpbmRWZXJzaW9uVGVzdEQuY21ha2Ugd2FzIGFkZGVkIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24KCSAgMjAwOC0wOS0xMiAxNDo1NjoyMSArMDAwMAoKMjAwOC0wOS0xMCAxMDoxMSAga2luZwoKCSogTW9kdWxlcy9yZWFkbWUudHh0LCBTb3VyY2UvY21GaW5kUGFja2FnZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21GaW5kUGFja2FnZUNvbW1hbmQuaCwKCSAgVGVzdHMvRmluZFBhY2thZ2VUZXN0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9GaW5kUGFja2FnZVRlc3QvRmluZFZlcnNpb25UZXN0QS5jbWFrZSwKCSAgVGVzdHMvRmluZFBhY2thZ2VUZXN0L0ZpbmRWZXJzaW9uVGVzdEIuY21ha2UsCgkgIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9GaW5kVmVyc2lvblRlc3RDLmNtYWtlLAoJICBUZXN0cy9GaW5kUGFja2FnZVRlc3QvRmluZFZlcnNpb25UZXN0RC5jbWFrZTogRU5IOiBJbXByb3ZlCgkgIGZpbmRfcGFja2FnZSB2ZXJzaW9uIG51bWJlcmluZwoKCSAgTWFrZSB0aGUgbnVtYmVyIG9mIHZlcnNpb24gY29tcG9uZW50cyBzcGVjaWZpZWQgZXhwbGljaXRseQoJICBhdmFpbGFibGUuICBTZXQgdmFyaWFibGVzIGZvciB1bnNwZWNpZmllZCB2ZXJzaW9uIGNvbXBvbmVudHMgdG8KCSAgIjAiIGluc3RlYWQgb2YgbGVhdmluZyB0aGVtIHVuc2V0LiAgVGhpcyBzaW1wbGlmaWVzIHZlcnNpb24KCSAgbnVtYmVyIGhhbmRsaW5nIGZvciBmaW5kLSBhbmQgY29uZmlnLW1vZHVsZXMuICBBbHNvIHN1cHBvcnQgYQoJICBmb3VydGggInR3ZWFrIiB2ZXJzaW9uIGNvbXBvbmVudCBzaW5jZSBzb21lIHBhY2thZ2VzIHVzZSB0aGVtLgoKMjAwOC0wOS0xMCAxMDoxMCAgaG9mZm1hbgoKCSogVGVtcGxhdGVzLzogRExMSGVhZGVyLmRzcHRlbXBsYXRlLCBFWEVXaW5IZWFkZXIuZHNwdGVtcGxhdGU6IEJVRzoKCSAgZml4IGJ1ZyBPVVRQVVRfTElCTkFNRV9FWFBPUlRTIGRvbmUgZGlmZmVyZW50bHkgbm93CgoyMDA4LTA5LTA5IDIzOjU4ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDktMDkgMTQ6MTIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ2hlY2tDQ29tcGlsZXJGbGFnLmNtYWtlOiBFTkg6IGZpeCBkb2NzLCBidWcgNzU5MAoKMjAwOC0wOS0wOSAxMzoxMiAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eDogQlVHOiBmaXggZm9yIGJ1ZyA3MjkyLCBzdm4KCSAgcGFyc2luZyBmbGFnZ2VkIGVycm9ycyBvciBjb25mbGljdHMgZm9yIHN3aXRjaGVkIG9yIGxvY2tlZCBmaWxlcwoKMjAwOC0wOS0wOSAxMzowNCAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgVGVtcGxhdGVzL0VYRUhlYWRlci5kc3B0ZW1wbGF0ZTogQlVHOiBmaXggZW1wdHkgL0Qgb3B0aW9uIGZvcgoJICB2czYsIGZpeCBmb3IgNzU4MAoKMjAwOC0wOS0wOSAxMzowMSAgaG9mZm1hbgoKCSogQ1Rlc3RDb25maWcuY21ha2U6IEVOSDogc3VwcG9ydCBvbGQgY21ha2UgZm9yIGRhc2hib2FyZHMKCjIwMDgtMDktMDkgMTI6NDggIGRhdmlkLmNvbGUKCgkqIFRlc3RzL0NNYWtlVGVzdHMvR2V0UHJlcmVxdWlzaXRlc1Rlc3QuY21ha2UuaW46IFBFUkY6IFRlc3QgdGFrZXMKCSAgdG9vIGxvbmcgd2hlbiByZWN1cnNpbmcgZm9yIGV4ZWN1dGFibGUgZmlsZXMgYW5kIHdoZW4gZG9pbmcKCSAgcmVjdXJzaXZlIHByZXJlcXVpc2l0ZSBhbmFseXNpcy4gUHV0IGl0IGJhY2sgdGhlIHdheSBpdCB3YXMuIEFkZAoJICBhbm90aGVyIHRlc3QgbGF0ZXIgdG8gZG8gdGhlIHJlY3Vyc2l2ZSBwcmVyZXF1aXNpdGUgYW5hbHlzaXMuCgoyMDA4LTA5LTA5IDExOjQ0ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0VGVzdENvbW1hbmQuY3h4LCBjbUNUZXN0VGVzdENvbW1hbmQuaDogQlVHOgoJICAwMDA3NTY5IGFkZCBhYmlsaXR5IHRvIGRvIC1SLy1FIGluIGN0ZXN0X3Rlc3QgY29tbWFuZAoKMjAwOC0wOS0wOCAyMzo1OCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA5LTA4IDIwOjIxICBob2ZmbWFuCgoJKiBUZXN0cy9DTWFrZVRlc3RzL1Rvb2xjaGFpblRlc3QuY21ha2UuaW46IEJVRzogZml4IHRlc3QgdG8gd29yawoJICB3aXRoIG5ldyByZXN0cmljdGlvbnMgdGhhdCBjcm9zcyBjb21waWxpbmcgbXVzdCBiZSBvbgoKMjAwOC0wOS0wOCAxNzo1MyAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBmaXggZm9yIDc2MjQsIHZzNwoJICBmbGFnIHRhYmxlIG1pc3NpbmcgL01BUAoKMjAwOC0wOS0wOCAxNzo0MyAgYWxleAoKCSogTW9kdWxlcy86IENNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLAoJICBDTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlOiBCVUc6IG9ubHkgY2hlY2sgZm9yIGEgdG9vbGNoYWluCgkgIHByZWZpeCAoZS5nLiAiYXJtLWxpbnV4LSIgaW4gImFybS1saW51eC1nY2MiKSBpZiB3ZSBhcmUgY3Jvc3MKCSAgY29tcGlsaW5nIGFuZCB0aGUgY29tcGlsZXIgaXMgZ2NjCgoJICBBbGV4CgoyMDA4LTA5LTA4IDExOjIzICBob2ZmbWFuCgoJKiBNb2R1bGVzL0dldFByZXJlcXVpc2l0ZXMuY21ha2U6IEVOSDogZG8gbm90IGFkZCB0aGUgc2FtZSB0aGluZyB0bwoJICB0aGUgUEFUSCBhZ2FpbiBhbmQgYWdhaW4KCjIwMDgtMDktMDggMTA6MDggIGtpbmcKCgkqIFNvdXJjZS9jbUZpbmRQYWNrYWdlQ29tbWFuZC5jeHg6IEVOSDogSW1wcm92ZSBtZXNzYWdlIGZvciBiYWQKCSAgZmluZF9wYWNrYWdlIGNhbGwKCgkgIFVzZSB0aGUgbmV3LXN0eWxlIGVycm9yIHJlcG9ydGluZyBtZWNoYW5pc20gdG8gcHJvdmlkZSBtb3JlCgkgIGNvbnRleHQgaW5mb3JtYXRpb24gZm9yIGEgZmluZF9wYWNrYWdlIGNhbGwgd2l0aCBhIGJhZCBwYWNrYWdlCgkgIG5hbWUuICBXaGVuIHRoZSBwYWNrYWdlIGlzIG5vdCByZXF1aXJlZCwgaXNzdWUgYSB3YXJuaW5nIGluc3RlYWQKCSAgb2YgYW4gZXJyb3IuCgoyMDA4LTA5LTA3IDIzOjU4ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDktMDcgMTY6NTQgIGFsZXgKCgkqIE1vZHVsZXMvOiBDTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgQ01ha2VEZXRlcm1pbmVDWFhDb21waWxlci5jbWFrZTogQlVHOiAjNzM1OSBtYWtlIGxsdm0tZ2NjIHdvcmssCgkgIGJ5IGV4cGxpY2l0ZWx5IGV4Y2x1ZGluZyAibGx2bS0iIGZyb20gX0NNQUtFX1RPT0xDSEFJTl9QUkVGSVgKCSAgKHVzZSB0aGUgKHJlbGF0aXZlbHkpIG5ldyBDTUFLRV9NQVRDSF94IHZhcmlhYmxlcyBzZXQgYnkgYWxsCgkgIHJlZ2V4IG9wZXJhdGlvbnMpCgoJICBBbGV4CgoyMDA4LTA5LTA3IDA2OjUyICBhbGV4CgoJKiBTb3VyY2UvOiBjbUZpbmRQYWNrYWdlQ29tbWFuZC5jeHgsIGNtRmluZFBhY2thZ2VDb21tYW5kLmg6IENPTVA6CgkgIGZpeCBjb21waWxlIHdhcm5pbmcvZXJyb3IgKG5vbi12b2lkIGZ1bmN0aW9uIHJldHVybmluZyB2b2lkKQoKCSAgQWxleAoKMjAwOC0wOS0wNiAyMzo1OCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA5LTA2IDE5OjEwICBhbGV4CgoJKiBTb3VyY2UvOiBjbUZpbmRQYWNrYWdlQ29tbWFuZC5jeHgsIGNtRmluZFBhY2thZ2VDb21tYW5kLmg6IEVOSDoKCSAgcHJvdmlkZSB0aGUgeHh4X0ZJTkRfUVVJRVRMWSwgeHh4X0ZJTkRfUkVRVUlSRUQgYW5kCgkgIHh4eF9GSU5EX1ZFUlNJT05fIHZhcmlhYmxlcyBhbHNvIGluIENvbmZpZyBtb2RlLCBzbyB0aGUKCSAgeHh4Q29uZmlnLmNtYWtlIGZpbGVzIGNhbiBlLmcuIHRlc3QgdGhlIFFVSUVUTFkgcGFyYW1ldGVyIGFuZAoJICBwcmludCBzb21ldGhpbmcgb3Igbm90CgoJICBBbGV4CgoyMDA4LTA5LTA2IDEyOjIwICBob2ZmbWFuCgoJKiBNb2R1bGVzL0J1bmRsZVV0aWxpdGllcy5jbWFrZTogZmlsZSBCdW5kbGVVdGlsaXRpZXMuY21ha2Ugd2FzCgkgIGFkZGVkIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24gMjAwOC0wOS0yMiAxNDowNToxNiArMDAwMAoKMjAwOC0wOS0wNiAxMjoyMCAgZGF2aWQuY29sZQoKCSogTW9kdWxlcy9CdW5kbGVVdGlsaXRpZXMuY21ha2UsIE1vZHVsZXMvR2V0UHJlcmVxdWlzaXRlcy5jbWFrZSwKCSAgVGVzdHMvQ01ha2VUZXN0cy9HZXRQcmVyZXF1aXNpdGVzVGVzdC5jbWFrZS5pbjogRU5IOiBBZGQKCSAgQnVuZGxlVXRpbGl0aWVzLmNtYWtlIGFuZCBzdXBwb3J0aW5nIGNoYW5nZXMgdG8KCSAgR2V0UHJlcmVxdWlzaXRlcy5jbWFrZS4gRnVuY3Rpb24gY29weV9hbmRfZml4dXBfYnVuZGxlIGluCgkgIEJ1bmRsZVV0aWxpdGllcyBoZWxwcyB0byBtYWtlIHN0YW5kYWxvbmUgYnVuZGxlIGFwcGxpY2F0aW9ucyBvbgoJICB0aGUgTWFjIGJ5IHB1bGxpbmcgaW4gcHJlcmVxdWlzaXRlIG5vbi1zeXN0ZW0gbGlicmFyaWVzIGFuZAoJICBmcmFtZXdvcmtzIGFzIG5lZWRlZC4gVXNlcyBvdG9vbCBhbmQgaW5zdGFsbF9uYW1lX3Rvb2wgdG8gZG8KCSAgYW5hbHlzaXMgYW5kIGZpeHVwcy4gUHJvamVjdC1zcGVjaWZpYyBob29rcyBmb3IgZGVjaWRpbmcgd2hlcmUgdG8KCSAgZW1iZWQgbGlicmFyaWVzIGFuZCBmb3IgcmVzb2x2aW5nIGl0ZW0gbmFtZXMgaW50byBmdWxsIHBhdGggZmlsZQoJICBuYW1lcyBhcmUgYWxzbyBwcm92aWRlZC4KCjIwMDgtMDktMDUgMjM6NTggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wOS0wNSAxNTo1MSAgaG9mZm1hbgoKCSogVGVzdHMvRnJhbWV3b3JrL2Zvb0V4dGVuc2lvbmxlc3NSZXNvdXJjZTogZmlsZQoJICBmb29FeHRlbnNpb25sZXNzUmVzb3VyY2Ugd2FzIGFkZGVkIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24KCSAgMjAwOC0wOS0xMiAxNDo1NjoyMSArMDAwMAoKMjAwOC0wOS0wNSAxNTo1MSAgaG9mZm1hbgoKCSogVGVzdHMvRnJhbWV3b3JrL2Zvb1ByaXZhdGVFeHRlbnNpb25sZXNzSGVhZGVyOiBmaWxlCgkgIGZvb1ByaXZhdGVFeHRlbnNpb25sZXNzSGVhZGVyIHdhcyBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uCgkgIDIwMDgtMDktMTIgMTQ6NTY6MjEgKzAwMDAKCjIwMDgtMDktMDUgMTU6NTEgIGhvZmZtYW4KCgkqIFRlc3RzL0ZyYW1ld29yay9mb29QdWJsaWNFeHRlbnNpb25sZXNzSGVhZGVyOiBmaWxlCgkgIGZvb1B1YmxpY0V4dGVuc2lvbmxlc3NIZWFkZXIgd2FzIGFkZGVkIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24KCSAgMjAwOC0wOS0xMiAxNDo1NjoyMSArMDAwMAoKMjAwOC0wOS0wNSAxNTo1MSAgZGF2aWQuY29sZQoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBUZXN0cy9GcmFtZXdvcmsvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0ZyYW1ld29yay9mb29FeHRlbnNpb25sZXNzUmVzb3VyY2UsCgkgIFRlc3RzL0ZyYW1ld29yay9mb29Qcml2YXRlRXh0ZW5zaW9ubGVzc0hlYWRlciwKCSAgVGVzdHMvRnJhbWV3b3JrL2Zvb1B1YmxpY0V4dGVuc2lvbmxlc3NIZWFkZXI6IEJVRzogRml4IGlzc3VlCgkgICM3MDQ2IC0gbWFrZSBzdXJlIGV4dGVuc2lvbmxlc3MgaGVhZGVycyBhbmQgcmVzb3VyY2UgZmlsZXMgd29yawoJICB3aXRoIHRoZSBYY29kZSBnZW5lcmF0b3IuIEFsc28gZml4IGluY29ycmVjdCBtYXBwaW5ncyBpbiB0aGUKCSAgbGFzdEtub3duRmlsZVR5cGUgY29kZS4gQWRkIHNvbWUgZXh0ZW5zaW9ubGVzcyBmaWxlcyB0byB0aGUKCSAgRnJhbWV3b3JrIHRlc3QuCgoyMDA4LTA5LTA0IDIzOjU4ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDktMDQgMTc6MzQgIGtpbmcKCgkqIFNvdXJjZS9jbUNvbXB1dGVMaW5rRGVwZW5kcy5jeHgsIFNvdXJjZS9jbUNvbXB1dGVMaW5rRGVwZW5kcy5oLAoJICBTb3VyY2UvY21FeHBvcnRGaWxlR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtVGFyZ2V0LmN4eCwKCSAgU291cmNlL2NtVGFyZ2V0LmgsIFNvdXJjZS9jbVRhcmdldExpbmtMaWJyYXJpZXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtVGFyZ2V0TGlua0xpYnJhcmllc0NvbW1hbmQuaCwgU291cmNlL2NtYWtlLmN4eCwKCSAgU291cmNlL2NtYWtlLmgsIFRlc3RzL0V4cG9ydEltcG9ydC9FeHBvcnQvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0V4cG9ydEltcG9ydC9JbXBvcnQvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWxsb3cgYSBjdXN0b20KCSAgbGlzdCBvZiBkZWJ1ZyBjb25maWd1cmF0aW9ucwoKCSAgQ3JlYXRlIGEgREVCVUdfQ09ORklHVVJBVElPTlMgZ2xvYmFsIHByb3BlcnR5IGFzIGEgd2F5IGZvcgoJICBwcm9qZWN0cyB0byBzcGVjaWZ5IHdoaWNoIGNvbmZpZ3VyYXRpb24gbmFtZXMgYXJlIGNvbnNpZGVyZWQgdG8KCSAgYmUgJ2RlYnVnJyBjb25maWd1cmF0aW9ucy4KCjIwMDgtMDktMDQgMTc6MTAgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLCBTb3VyY2UvY21HZXRQcm9wZXJ0eUNvbW1hbmQuaCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtV2luMzJQcm9jZXNzRXhlY3V0aW9uLmN4eCwgU291cmNlL2NtYWtlLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RCdWlsZEFuZFRlc3RIYW5kbGVyLmN4eDogRU5IOiAyLjYuMiBSQyAzLAoJICBtZXJnZSBpbiBjaGFuZ2VzIGZyb20gbWFpbiB0cmVlCgoyMDA4LTA5LTA0IDE3OjAyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21XaW4zMlByb2Nlc3NFeGVjdXRpb24uY3h4OiBCVUc6IGZpeCBleHRyYSBjbG9zZSB0aGF0CgkgIGtpbGxlZCBjbWFrZSB3aGVuIGJlaW5nIGRlYnVnZ2VkCgoyMDA4LTA5LTA0IDEzOjE1ICBraW5nCgoJKiBTb3VyY2UvY21HZXRQcm9wZXJ0eUNvbW1hbmQuaDogQlVHOiBGaXggdHlwbyBpbiBnZXRfcHJvcGVydHkKCSAgZG9jdW1lbnRhdGlvbgoKCSAgQWRkIHNvbWUgbWlzc2luZyB3aGl0ZXNwYWNlIHRvIGZpeCBmb3JtYXR0aW5nIG9mIHRoZQoJICBkb2N1bWVudGF0aW9uLgoKMjAwOC0wOS0wNCAxMzoxNSAga2luZwoKCSogU291cmNlL2NtYWtlLmN4eDogQlVHOiBGaXggdW5zZXR0aW5nIG9mIGdsb2JhbCBwcm9wZXJ0aWVzCgoJICBUaGUgc2V0X3Byb3BlcnR5IGNvbW1hbmQgdW5zZXRzIGEgcHJvcGVydHkgaWYgaXQgaXMgZ2l2ZW4gbm8KCSAgdmFsdWUuICBJbiB0aGUgY2FzZSBvZiBHTE9CQUwgcHJvcGVydGllcywgdGhlIGNtYWtlOjpTZXRQcm9wZXJ0eQoJICBtZXRob2Qgd291bGQgcmVwbGFjZSBhIE5VTEwgdmFsdWUgd2l0aCAiTk9URk9VTkQiLiAgSW5zdGVhZCBpdAoJICBzaG91bGQgYmUgbGVmdCBhcyBOVUxMIHNvIHRoYXQgdGhlIHByb3BlcnR5IGlzIHVuc2V0IGFzIGV4cGVjdGVkLgoJICAgT25jZSBpdCBpcyB1bnNldCB0aGUgZ2V0X2NtYWtlX3Byb3BlcnR5IGNvbW1hbmQgd2lsbCBzdGlsbAoJICByZXBvcnQgTk9URk9VTkQgd2hpbGUgdGhlIGdldF9wcm9wZXJ0eSBjb21tYW5kIHdpbGwgcmV0dXJuIHRoZQoJICBlbXB0eSBzdHJpbmcgYXMgZG9jdW1lbnRlZC4KCjIwMDgtMDktMDQgMTE6MzEgIGtpbmcKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0QnVpbGRBbmRUZXN0SGFuZGxlci5jeHg6IEJVRzogTWFrZSBDVGVzdAoJICBob25vciB1c2VyLXNwZWNpZmllZCBjb25maWcKCgkgIFdoZW4gdGhlIC1DIG9yIC0tYnVpbGQtY29uZmlnIG9wdGlvbiBpcyB1c2VkIHRvIHNwZWNpZnkgdGhlCgkgIGNvbmZpZ3VyYXRpb24gdG8gYmUgdGVzdGVkIGJ5IENUZXN0LCBkbyBub3Qgb3ZlcnJpZGUgaXQgd2l0aCB0aGUKCSAgY29uZmlndXJhdGlvbiBpbiB3aGljaCBDVGVzdCBpcyBidWlsdC4KCjIwMDgtMDktMDMgMjM6NTggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wOS0wMyAxNjoyMiAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBmaXggZm9yIDc1MTkgZXh0cmEKCSAgY2xvc2luZyA+IGluIGZvcnRyYW4gcHJvamVjdHMKCjIwMDgtMDktMDMgMDk6NDMgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLCBEb2NzL2NtYWtlLXN5bnRheC52aW0sCgkgIE1vZHVsZXMvQ01ha2VDQ29tcGlsZXJBQkkuYywgTW9kdWxlcy9DTWFrZUNDb21waWxlcklkLmMuaW4sCgkgIE1vZHVsZXMvQ01ha2VDWFhDb21waWxlckFCSS5jcHAsCgkgIE1vZHVsZXMvQ01ha2VDWFhDb21waWxlcklkLmNwcC5pbiwgTW9kdWxlcy9DaGVja1R5cGVTaXplQy5jLmluLAoJICBNb2R1bGVzL0ZpbmRLREUzLmNtYWtlLCBNb2R1bGVzL0ZpbmRLREU0LmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRMaWJYbWwyLmNtYWtlLCBNb2R1bGVzL0ZpbmRMdWE1MC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kTHVhNTEuY21ha2UsIE1vZHVsZXMvRmluZE9wZW5HTC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kUEhQNC5jbWFrZSwgTW9kdWxlcy9GaW5kUE5HLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRRdDMuY21ha2UsIE1vZHVsZXMvRmluZFF0NC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kVElGRi5jbWFrZSwgTW9kdWxlcy9GaW5kWDExLmNtYWtlLAoJICBNb2R1bGVzL01hY09TWEZyYW1ld29ya0luZm8ucGxpc3QuaW4sIE1vZHVsZXMvTlNJUy50ZW1wbGF0ZS5pbiwKCSAgTW9kdWxlcy9UZXN0RW5kaWFuZXNzLmMuaW4sIE1vZHVsZXMvVXNlUGtnQ29uZmlnLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL0Rhcndpbi5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWljbC5jbWFrZSwKCSAgU291cmNlL2NtQWRkTGlicmFyeUNvbW1hbmQuY3h4LCBTb3VyY2UvY21BZGRMaWJyYXJ5Q29tbWFuZC5oLAoJICBTb3VyY2UvY21BZGRTdWJEaXJlY3RvcnlDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUNNYWtlUG9saWN5Q29tbWFuZC5jeHgsIFNvdXJjZS9jbUNNYWtlUG9saWN5Q29tbWFuZC5oLAoJICBTb3VyY2UvY21DYWNoZU1hbmFnZXIuY3h4LCBTb3VyY2UvY21Db21wdXRlTGlua0RlcGVuZHMuY3h4LAoJICBTb3VyY2UvY21Db21wdXRlTGlua0RlcGVuZHMuaCwKCSAgU291cmNlL2NtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5jeHgsCgkgIFNvdXJjZS9jbUNvbXB1dGVUYXJnZXREZXBlbmRzLmN4eCwKCSAgU291cmNlL2NtQ29tcHV0ZVRhcmdldERlcGVuZHMuaCwgU291cmNlL2NtRG9jdW1lbnRWYXJpYWJsZXMuY3h4LAoJICBTb3VyY2UvY21Eb2N1bWVudGF0aW9uLmN4eCwgU291cmNlL2NtRG9jdW1lbnRhdGlvbi5oLAoJICBTb3VyY2UvY21FeHRyYUNvZGVCbG9ja3NHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUZpbGVDb21tYW5kLmgsIFNvdXJjZS9jbUZpbmRQYWNrYWdlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUZpbmRQYWNrYWdlQ29tbWFuZC5oLCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxLZGV2ZWxvcEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbUlmQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUlmQ29tbWFuZC5oLCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmgsIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGUuaCwKCSAgU291cmNlL2NtTWFrZWZpbGVFeGVjdXRhYmxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmgsIFNvdXJjZS9jbVBvbGljaWVzLmN4eCwKCSAgU291cmNlL2NtUG9saWNpZXMuaCwgU291cmNlL2NtUmV0dXJuQ29tbWFuZC5oLAoJICBTb3VyY2UvY21TZXRQcm9wZXJ0eUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21TZXRUYXJnZXRQcm9wZXJ0aWVzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVN0cmluZ0NvbW1hbmQuY3h4LCBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHgsCgkgIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmgsIFNvdXJjZS9jbVRhcmdldC5jeHgsIFNvdXJjZS9jbVRhcmdldC5oLAoJICBTb3VyY2UvY21UYXJnZXRMaW5rTGlicmFyaWVzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVRhcmdldExpbmtMaWJyYXJpZXNDb21tYW5kLmgsIFNvdXJjZS9jbVhDb2RlT2JqZWN0LmN4eCwKCSAgU291cmNlL2NtWENvZGVPYmplY3QuaCwgU291cmNlL2NtYWtlLmN4eCwgU291cmNlL2NtYWtlbWFpbi5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eCwKCSAgU291cmNlL0N1cnNlc0RpYWxvZy9jbUN1cnNlc1N0cmluZ1dpZGdldC5jeHgsCgkgIFNvdXJjZS9rd3N5cy9HbG9iLmN4eCwgU291cmNlL2t3c3lzL0dsb2IuaHh4LmluLAoJICBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYywgVGVzdHMvQnVuZGxlVGVzdC9CdW5kbGVMaWIuY3h4LAoJICBUZXN0cy9CdW5kbGVUZXN0L0J1bmRsZVRlc3QuY3h4LCBUZXN0cy9CdW5kbGVUZXN0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9CdW5kbGVUZXN0L0J1bmRsZVN1YkRpci9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleC9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ3VzdG9tQ29tbWFuZC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRGVwZW5kZW5jeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRGVwZW5kZW5jeS9DYXNlNC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRGVwZW5kZW5jeS9DYXNlNC9iYXIuYywgVGVzdHMvRGVwZW5kZW5jeS9DYXNlNC9mb28uYywKCSAgVGVzdHMvRXhwb3J0SW1wb3J0L0V4cG9ydC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRXhwb3J0SW1wb3J0L0V4cG9ydC90ZXN0TGliNGxpYi5jLAoJICBUZXN0cy9FeHBvcnRJbXBvcnQvRXhwb3J0L3Rlc3RMaWI0bGliZGJnLmMsCgkgIFRlc3RzL0V4cG9ydEltcG9ydC9FeHBvcnQvdGVzdExpYjRsaWJkYmcxLmMsCgkgIFRlc3RzL0V4cG9ydEltcG9ydC9FeHBvcnQvdGVzdExpYjRsaWJvcHQuYywKCSAgVGVzdHMvRXhwb3J0SW1wb3J0L0V4cG9ydC90ZXN0TGliNGxpYm9wdDEuYywKCSAgVGVzdHMvRXhwb3J0SW1wb3J0L0ltcG9ydC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRXhwb3J0SW1wb3J0L0ltcG9ydC9pbXBfdGVzdEV4ZTEuYywKCSAgVGVzdHMvT3V0T2ZTb3VyY2UvT3V0T2ZTb3VyY2VTdWJkaXIvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1JldHVyblRlc3QvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1JldHVyblRlc3QvaW5jbHVkZV9yZXR1cm4uY21ha2UsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dDogRU5IOiAyLjYuMiByYyAyIG1lcmdlIGZyb20KCSAgbWFpbiB0cmVlCgoyMDA4LTA5LTAyIDIzOjU4ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDktMDIgMTQ6NDcgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1pY2wuY21ha2U6IEJVRzogbWFrZSBzdXJlIHRoZSBpbnRlbAoJICBjb21waWxlciB1c2VzIHRoZSBpbnRlbCBsaW5rZXIKCjIwMDgtMDktMDIgMTQ6NDYgIGhvZmZtYW4KCgkqIE1vZHVsZXMvTlNJUy50ZW1wbGF0ZS5pbjogQlVHOiByZW1vdmUgQ2F0YWxhbiBhcyAyLjI5IGRvZXMgbm90CgkgIGhhdmUgaXQKCjIwMDgtMDktMDIgMTI6NDMgIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS9jbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5jeHg6IEJVRzogRml4IGlzc3VlCgkgICMzNjQ4IC0gbWFrZSBzdXJlIENNYWtlIHJlcnVucyBpZiBhIEJ1bmRsZSBhcHBsaWNhdGlvbidzCgkgIGRpcmVjdG9yeSBpcyByZW1vdmVkIG9yIGlmIGl0J3MgSW5mby5wbGlzdCBmaWxlIGRpc2FwcGVhcnMgc2luY2UKCSAgdGhvc2UgZWxlbWVudHMgYXJlIHB1dCBpbiBwbGFjZSBhdCBDTWFrZSBjb25maWd1cmUgdGltZS4KCjIwMDgtMDktMDIgMTI6MDYgIGhvZmZtYW4KCgkqIE1vZHVsZXMvTWFjT1NYRnJhbWV3b3JrSW5mby5wbGlzdC5pbjogZmlsZQoJICBNYWNPU1hGcmFtZXdvcmtJbmZvLnBsaXN0LmluIHdhcyBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uCgkgIDIwMDgtMDktMDMgMTM6NDM6MTYgKzAwMDAKCjIwMDgtMDktMDIgMTI6MDYgIGtpbmcKCgkqIE1vZHVsZXMvTWFjT1NYRnJhbWV3b3JrSW5mby5wbGlzdC5pbiwKCSAgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5oLCBTb3VyY2UvY21UYXJnZXQuY3h4OgoJICBFTkg6IENyZWF0ZSBJbmZvLnBsaXN0IGZpbGVzIGluIE9TIFggRnJhbWV3b3JrcwoKCSAgQSBNYWMgT1MgWCBGcmFtZXdvcmsgc2hvdWxkIHByb3ZpZGUgYSBSZXNvdXJjZXMvSW5mby5wbGlzdCBmaWxlCgkgIGNvbnRhaW5pbmcgbWV0YS1kYXRhIGFib3V0IHRoZSBmcmFtZXdvcmsuICBUaGlzIGNoYW5nZSBnZW5lcmF0ZXMKCSAgYSBkZWZhdWx0IEluZm8ucGxpc3QgZm9yIGZyYW1ld29ya3MgYW5kIHByb3ZpZGVzIGFuIGludGVyZmFjZSBmb3IKCSAgdXNlcnMgdG8gY3VzdG9taXplIGl0LgoKMjAwOC0wOS0wMiAxMTowNiAgZGF2aWQuY29sZQoKCSogVGVzdHMvQnVuZGxlVGVzdC86IEJ1bmRsZUxpYi5jeHgsIEJ1bmRsZVRlc3QuY3h4LCBDTWFrZUxpc3RzLnR4dDoKCSAgRU5IOiBBZGQgaW5kaXJlY3QgZGVwZW5kZW5jeSB0byBDYXJib24gYW5kIGNhbGwgYSBDYXJib24gZnVuY3Rpb24KCSAgZnJvbSBleGVjdXRhYmxlLiBUaGlzIHdpbGwgYWxsb3cgZGV0ZWN0aW5nIGJyb2tlbiBkZXBlbmRlbmN5CgkgIGNoYWluaW5nIGZvciAnLWZyYW1ld29yayBibGFoJyBzdHlsZSBsaWIgZGVwZW5kZW5jaWVzLgoKMjAwOC0wOS0wMiAxMDoyNyAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIGNtWENvZGVPYmplY3QuY3h4LAoJICBjbVhDb2RlT2JqZWN0Lmg6IEVOSDogU2ltcGxpZnkgc3RyaW5nIGF0dHJpYnV0ZXMgaW4gWGNvZGUKCSAgZ2VuZXJhdG9yCgoJICBUaGlzIGNoYW5nZSBjbGVhbnMgdXAgdGhlIGltcGxlbWVudGF0aW9uIG9mIGNtWENvZGVPYmplY3QgdG8KCSAgYXZvaWQgdW4tZXNjYXBpbmcgYW5kIHJlLWVzY2FwaW5nIHN0cmluZyB2YWx1ZXMuICBUaGVyZSBpcyBubwoJICBuZWVkIHRvIHN0b3JlIHRoZSBzdHJpbmcgaW4gZXNjYXBlZCBmb3JtLiAgSXQgY2FuIGJlIGVzY2FwZWQgb25jZQoJICB3aGVuIGl0IGlzIHByaW50ZWQgb3V0IHRvIHRoZSBnZW5lcmF0ZWQgcHJvamVjdCBmaWxlLgoKMjAwOC0wOS0wMSAyMzo1OSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA4LTMxIDIzOjU5ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDgtMzAgMjM6NTkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wOC0zMCAxMDozMiAgaG9mZm1hbgoKCSogVGVzdHMvVW5zZXQvdW5zZXQuYzogZmlsZSB1bnNldC5jIHdhcyBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02CgkgIG9uIDIwMDktMDItMDQgMTY6NDQ6MTkgKzAwMDAKCjIwMDgtMDgtMzAgMTA6MzIgIGtpbmcKCgkqIFRlc3RzL1Vuc2V0LzogQ01ha2VMaXN0cy50eHQsIHVuc2V0LmMsIHVuc2V0LmNjOiBCVUc6IEZpeCBVbnNldAoJICB0ZXN0IG9uIFZTIDYKCgkgIFZpc3VhbCBTdHVkaW8gNiBkb2VzIG5vdCByZWNvZ25pemUgLmNjIGFzIGEgQysrIGV4dGVuc2lvbiBieQoJICBkZWZhdWx0LiAgU2ltcGxpZnkgdGhlIHRlc3QgdG8gYmUgQy1vbmx5IGFuZCB1c2UgYSAuYyBleHRlbnNpb24uCgoyMDA4LTA4LTMwIDA5OjM5ICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6CgkgIEVOSDoJRm9yICM3NDMzLCBhZGQgZG9jdW1lbnRhdGlvbiB0aGF0IGRpcmVjdG9yaWVzIGFsc28gY2FuIGJlCgkgIHNwZWNpZmllZCB0bwkgICAgIHVwZGF0ZSB0aGUgdHJhbnNsYXRpb24gZmlsZXMuCgoyMDA4LTA4LTI5IDIzOjU5ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDgtMjkgMTM6MjIgIGtpbmcKCgkqIFNvdXJjZS9jbUNvbXB1dGVMaW5rRGVwZW5kcy5jeHg6IEJVRzogTGluayBmbGFncyBzaG91bGQgc3RpbGwgYmUKCSAgY2hhaW5lZAoKCSAgVGhlIHJlY2VudCBmaXggdG8gYXZvaWQgaW5jbHVkaW5nIGZsYWdzIGluIGRlcGVuZGVuY3kgaW5mZXJyYWwKCSAgYWxzbyBkcm9wcGVkIHRoZW0gZnJvbSBjaGFpbmluZyBvZiBkZXBlbmRlbmNpZXMgdGhyb3VnaCB0YXJnZXRzLgoJICBUaGlzIGZpeCByZXN0b3JlcyBjaGFpbmluZyBvZiBmbGFncyB0aHJvdWdoIGtub3duIGRlcGVuZGVuY3kKCSAgbGlzdHMgd2hpbGUgc3RpbGwgbGVhdmluZyB0aGVtIG91dCBvZiBpbmZlcnJlZCBkZXBlbmRlbmN5IGxpc3RzLgoKMjAwOC0wOC0yOCAyMzo1OSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA4LTI4IDIyOjI1ICBraW5nCgoJKiBTb3VyY2UvY21Db21wdXRlTGlua0RlcGVuZHMuY3h4OiBCVUc6IEEgLWZyYW1ld29yayBGb28gaXMgYWxzbyBhCgkgIGxpYgoKMjAwOC0wOC0yOCAyMjoxMiAga2luZwoKCSogU291cmNlL2NtQ29tcHV0ZUxpbmtEZXBlbmRzLmN4eDogQlVHOiBGaXggcHJldmlvdXMgZml4LgoKMjAwOC0wOC0yOCAyMjowNyAga2luZwoKCSogU291cmNlL2NtQ29tcHV0ZUxpbmtEZXBlbmRzLmN4eDogQlVHOiBXaGVuIHJlY29nbml6aW5nIGZsYWdzIG9uCgkgIGxpbmsgbGluZXMsIHdlIG11c3Qgc3RpbGwgdHJlYXQgLWwgYXMgYSBsaWJyYXJ5LgoKMjAwOC0wOC0yNyAyMzo1OSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA4LTI3IDEyOjUzICBkYXZpZC5jb2xlCgoJKiBUZXN0cy9CdW5kbGVUZXN0LzogQ01ha2VMaXN0cy50eHQsIEJ1bmRsZVN1YkRpci9DTWFrZUxpc3RzLnR4dDoKCSAgRU5IOiBDaGFuZ2VzIHRoYXQgYWxsb3cgY29uZmlndXJpbmcvYnVpbGRpbmcgQnVuZGxlVGVzdCB0ZXN0CgkgIHNlcGFyYXRlbHkgZnJvbSB0aGUgbWFpbiBDTWFrZSBidWlsZC4gKEVsaW1pbmF0ZSByZWZlcmVuY2UgdG8KCSAgQ01ha2VfU09VUkVfRElSLikKCjIwMDgtMDgtMjcgMTA6MzUgIGtpbmcKCgkqIFNvdXJjZS9jbUNvbXB1dGVMaW5rRGVwZW5kcy5oOiBDT01QOiBEbyBub3QgdXNlIHByaXZhdGUgdHlwZWRlZgoJICBmcm9tIG91dHNpZGUgY2xhc3MuCgoyMDA4LTA4LTI3IDEwOjIxICBraW5nCgoJKiBTb3VyY2UvOiBjbUNvbXB1dGVMaW5rRGVwZW5kcy5jeHgsIGNtQ29tcHV0ZUxpbmtEZXBlbmRzLmg6IEVOSDoKCSAgTmV3IGxpbmsgbGluZSBpdGVtIG9yZGVyaW5nIGFsZ29yaXRobQoKCSAgVGhpcyBjaGFuZ2UgaW50cm9kdWNlcyBhIG5ldyBhbGdvcml0aG0gZm9yIGxpbmsgbGluZQoJICBjb25zdHJ1Y3Rpb24uICBUaGUgb3JkZXIgaXQgY29tcHV0ZXMgYWx3YXlzIGJlZ2lucyB3aXRoIHRoZSBleGFjdAoJICBsaW5rIGxpbmUgc3BlY2lmaWVkIGJ5IHRoZSB1c2VyLiAgRGVwZW5kZW5jaWVzIG9mIGl0ZW1zIHNwZWNpZmllZAoJICBieSB0aGUgdXNlciBhcmUgdHJhY2tlZCwgYW5kIHRob3NlIHRoYXQgYXJlIG5vdCBhbHJlYWR5CgkgIHNhdGlzaWZpZWQgYnkgdGhlIGxpbmUgYXJlIGFwcGVuZGVkIHRvIGl0IGF0IHRoZSBlbmQgd2l0aCBtaW5pbWFsCgkgIHJlcGVhdHMuICBUaGlzIHJlc3RvcmVzIHRoZSBiZWhhdmlvciBvZiBDTWFrZSAyLjQgYW5kIGJlbG93IHdoaWxlCgkgIHN0aWxsIGZpeGluZyBzb21lIG9mIGl0cyBidWdzLiAgU2VlIGlzc3VlICM3NTQ2LgoKMjAwOC0wOC0yNyAxMDoyMSAga2luZwoKCSogU291cmNlLzogY21Db21wdXRlTGlua0RlcGVuZHMuY3h4LCBjbUNvbXB1dGVMaW5rRGVwZW5kcy5oOiBCVUc6CgkgIERvIG5vdCBpbmZlciBkZXBlbmRlbmNpZXMgb2YgbGluayBmbGFncwoKCSAgSW4gY21Db21wdXRlTGlua0RlcGVuZHMgbGluayBpdGVtcyB0aGF0IGxvb2sgbGlrZSBmbGFncyAoc3RhcnRpbmcKCSAgaW4gJy0nKSBzaG91bGQgbm90IGJlIGluY2x1ZGVkIGluIGRlcGVuZGVuY3kgaW5mZXJyYWwuICBUaGV5IGFyZQoJICBub3QgbGlicmFyaWVzIGFuZCB0aGVyZWZvcmUgaGF2ZSBubyBkZXBlbmRlbmNpZXMuICBUaGV5IHNob3VsZAoJICBqdXN0IGJlIHBhc3NlZCB0aHJvdWdoIHRvIHRoZSBmaW5hbCBsaW5rIGxpbmUgdW5jaGFuZ2VkLiAgU2VlCgkgIGlzc3VlICM3NTQ2LgoKMjAwOC0wOC0yNyAxMDoyMSAga2luZwoKCSogU291cmNlL2NtQ29tcHV0ZUxpbmtEZXBlbmRzLmN4eDogQlVHOiBUcmVhdCBlbXB0eSBjb25maWcgbmFtZSBhcwoJICBubyBjb25maWd1cmF0aW9uCgoJICBJbiBjbUNvbXB1dGVMaW5rRGVwZW5kcyB3ZSBzaG91bGQgdHJlYXQgYW4gZW1wdHkgY29uZmlndXJhdGlvbgoJICBuYW1lIGFzIGVxdWl2YWxlbnQgdG8gbm8gc3BlY2lmaWMgY29uZmlndXJhdGlvbiBhdCBhbGwuCgoyMDA4LTA4LTI2IDIzOjU5ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDgtMjYgMTY6NDMgIGRhdmlkLmNvbGUKCgkqIE1vZHVsZXMvTlNJUy50ZW1wbGF0ZS5pbjogQlVHOiBEbyBub3QgdXNlICJEZWZhdWx0IiBhcyBhCgkgIGxhbmd1YWdlLCByZW1vdmUgMm5kIG9jY3VyZW5jZSBvZiAiRW5nbGlzaCIsIGFuZCByZW1vdmUgdGhyZWUKCSAgb3RoZXIgbGFuZ3VhZ2VzIG5vdCBzdXBwb3J0ZWQgYnkgb2xkZXIgdmVyc2lvbnMgb2YgTlNJUy4gVGVzdGVkCgkgIHdpdGggdmVyc2lvbiAyLjE4IG9mIE5TSVMgb24gZ2FpYS5raXR3YXJlLgoKMjAwOC0wOC0yNiAxNjowNCAgY2xpbnRvbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOgoJICBFTkg6CUFkZCBjb21tZW50cyBhYm91dCBwcmUtcHJvY2Vzc29yIGRlZmluZXMgYW5kIG1vYy4KCjIwMDgtMDgtMjYgMTI6NTQgIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS9jbVN0cmluZ0NvbW1hbmQuY3h4OiBCVUc6IENvcnJlY3QgdHlwbyBpbiBlcnJvciBtZXNzYWdlLgoKMjAwOC0wOC0yNiAxMTo1MCAgY2xpbnRvbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOgoJICBFTkg6CVVzZSBDT01QSUxFX0RFRklOVElPTlMgaW5zdGVhZCBvZiBERUZJTklUSU9OUy4KCjIwMDgtMDgtMjYgMTE6MjIgIGNsaW50b24KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZToKCSAgRU5IOglBZGQgLURXSU4zMiBmb3IgbW9jIG9uIFdpbmRvd3MuICBGaW5hbCBmaXggZm9yICM3NDY1LgoKMjAwOC0wOC0yNSAyMzo1OSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA4LTI1IDE5OjQxICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6CgkgIEVOSDoJQWRkIC1EIHByZXByb2Nlc3NvciBkZWZpbmVzIHRvIHRoZSBtb2MgY29tbWFuZHMuCgkgIE5lZWRlZCB0byBmaXggIzc0NjUuCgoyMDA4LTA4LTI1IDEwOjMxICBob2ZmbWFuCgoJKiBTb3VyY2UvY21VbnNldENvbW1hbmQuY3h4OiBmaWxlIGNtVW5zZXRDb21tYW5kLmN4eCB3YXMgYWRkZWQgb24KCSAgYnJhbmNoIENNYWtlLTItNiBvbiAyMDA5LTAyLTA0IDE2OjQ0OjE3ICswMDAwCgoyMDA4LTA4LTI1IDEwOjMxICBob2ZmbWFuCgoJKiBTb3VyY2UvY21VbnNldENvbW1hbmQuaDogZmlsZSBjbVVuc2V0Q29tbWFuZC5oIHdhcyBhZGRlZCBvbgoJICBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDktMDItMDQgMTY6NDQ6MTcgKzAwMDAKCjIwMDgtMDgtMjUgMTA6MzEgIGtpbmcKCgkqIERvY3MvY21ha2Utc3ludGF4LnZpbSwgU291cmNlL2NtQm9vdHN0cmFwQ29tbWFuZHMuY3h4LAoJICBTb3VyY2UvY21DYWNoZU1hbmFnZXIuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmgsIFNvdXJjZS9jbVNldENvbW1hbmQuaCwKCSAgU291cmNlL2NtVW5zZXRDb21tYW5kLmN4eCwgU291cmNlL2NtVW5zZXRDb21tYW5kLmgsCgkgIFRlc3RzL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9VbnNldC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvVW5zZXQvdW5zZXQuY2M6IEVOSDogQWRkIHVuc2V0KCkgY29tbWFuZC4KCgkgIFRoaXMgaW50cm9kdWNlcyB0aGUgdW5zZXQoKSBjb21tYW5kIHRvIG1ha2UgaXQgZWFzeSB0byB1bnNldAoJICBDTWFrZSB2YXJpYWJsZXMsIGVudmlyb25tZW50IHZhcmlhYmxlcywgYW5kIENNYWtlIGNhY2hlCgkgIHZhcmlhYmxlcy4gIFByZXZpb3VzbHkgaXQgd2FzIG5vdCBldmVuIHBvc3NpYmxlIHRvIHVuc2V0IEVOViBvcgoJICBDQUNIRSB2YXJpYWJsZXMgKGFzIGluIGNvbXBsZXRlbHkgcmVtb3ZlIHRoZW0pLiAgQ2hhbmdlcyBiYXNlZCBvbgoJICBwYXRjaCBmcm9tIFBoaWxpcCBMb3dtYW4uICBTZWUgaXNzdWUgIzc1MDcuCgoyMDA4LTA4LTI0IDIzOjU5ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDgtMjMgMjM6NTkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wOC0yMyAxMzo0NyAgZGF2aWQuY29sZQoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuaDogQlVHOiBDb3JyZWN0IHR5cG8gaW4gZG9jdW1lbnRhdGlvbjogb3IgLT4KCSAgb2YKCjIwMDgtMDgtMjMgMTM6MzMgIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS86IGNtRmlsZUNvbW1hbmQuY3h4LCBjbUZpbGVDb21tYW5kLmg6IEVOSDogQWRkIHRoZQoJICBSRUNVUlNFX1NZTUxJTktTX09GRiBmbGFnIHRvIHRoZSBGSUxFIEdMT0JfUkVDVVJTRSBjb21tYW5kLgoJICBFeHBvc2VzIHRoZSByZWNlbnRseSBhZGRlZCBrd3N5cyBjYXBhYmlsaXR5IHRoYXQgcHJldmVudHMKCSAgcmVjdXJzaW5nIHRocm91Z2ggc3ltbGlua3MgdG8gQ01ha2Ugc2NyaXB0cy4KCjIwMDgtMDgtMjIgMjM6NTkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wOC0yMiAwNjo1NiAgaG9mZm1hbgoKCSogTW9kdWxlcy9OU0lTLnRlbXBsYXRlLmluOiBCVUc6IHJlbW92ZSBleHRlbnNpb24gZnJvbSBpbnNlcnRzCgoyMDA4LTA4LTIyIDAwOjAwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDgtMjEgMTU6MTMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvTlNJUy50ZW1wbGF0ZS5pbjogRU5IOiBzb3J0IGxhbmd1YWdlcyBhbmQgdXNlIGxpc3QgZnJvbQoJICBOU0lTIDIuMjIKCjIwMDgtMDgtMjEgMTM6NTUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvTlNJUy50ZW1wbGF0ZS5pbjogQlVHOiByZW1vdmUgc29tZSBsYW5ndWFnZXMgdGhhdCBhcmUgbm90CgkgIHN1cHBvcnRlZCBpbiBvbGRlciB2ZXJzaW9ucyBvZiBOU0lTCgoyMDA4LTA4LTIxIDA5OjU0ICBraW5nCgoJKiBTb3VyY2UvY21Eb2N1bWVudFZhcmlhYmxlcy5jeHgsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuaCwKCSAgVGVzdHMvT3V0T2ZTb3VyY2UvT3V0T2ZTb3VyY2VTdWJkaXIvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWxsb3cKCSAgY3VzdG9tIGxpbWl0IG9uIG9iamVjdCBmaWxlIHBhdGggbGVuZ3RoCgoJICBTb21lIG5hdGl2ZSBidWlsZCB0b29scywgcGFydGljdWxhcmx5IHRob3NlIGZvciBjcm9zcyBjb21waWxpbmcsCgkgIG1heSBoYXZlIGEgbGltaXQgb24gdGhlIGxlbmd0aCBvZiB0aGUgZnVsbCBwYXRoIHRvIGFuIG9iamVjdCBmaWxlCgkgIG5hbWUgdGhhdCBpcyBsb3dlciB0aGFuIHRoZSBwbGF0Zm9ybSBvdGhlcndpc2Ugc3VwcG9ydHMuICBUaGlzCgkgIGNoYW5nZSBhbGxvd3MgdGhlIGxpbWl0IHRvIGJlIHNldCBieSB0aGUgcHJvamVjdCB0b29sY2hhaW4gZmlsZQoJICB0aHJvdWdoIHRoZSB2YXJpYWJsZSBDTUFLRV9PQkpFQ1RfUEFUSF9NQVguCgoyMDA4LTA4LTIxIDAwOjAwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDgtMjAgMTg6MDAgIGhvZmZtYW4KCgkqIE1vZHVsZXMvTlNJUy50ZW1wbGF0ZS5pbjogRU5IOiB0cnkgdG8gZml4IGVycm9yCgoyMDA4LTA4LTIwIDEzOjI0ICBkYXZpZC5jb2xlCgoJKiBTb3VyY2UvOiBDVGVzdC9jbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eCwga3dzeXMvR2xvYi5jeHgsCgkgIGt3c3lzL0dsb2IuaHh4LmluOiBFTkg6IEFkZCBSZWN1cnNlVGhyb3VnaFN5bWxpbmtzIGRhdGEgbWVtYmVyIHRvCgkgIGt3c3lzOjpHbG9iLiBBbGxvd3MgcmVjdXJzaXZlIGdsb2JzIHRvIHNraXAgc3ltbGlua3Mgd2hlbgoJICBuZWNlc3NhcnkuIERlZmF1bHQgdG8gdHJ1ZSBmb3IgYmFja3dhcmRzIGNvbXBhdGlibGUgYmVoYXZpb3IuCgkgIFVzZWQgZnJvbSB0aGUgY3Rlc3QgY292ZXJhZ2UgaGFuZGxlciB0byBhdm9pZCByZWN1cnNpbmcgdGhyb3VnaAoJICB0aGUgJy9BcHBsaWNhdGlvbnMnIGRpcmVjdG9yeSBvbiB0aGUgTWFjIGxvb2tpbmcgZm9yICouZGEKCSAgZmlsZXMuLi4gU2hvdWxkIGZpeCB0aGUgaGFuZ3MgcmVwb3J0ZWQgcmVjZW50bHkgYnkgTWFjIENNYWtlCgkgIGRhc2hib2FyZCBzdWJtaXR0ZXJzLgoKMjAwOC0wOC0yMCAxMTo0NSAga2luZwoKCSogU291cmNlL2NtSWZDb21tYW5kLmN4eCwgU291cmNlL2NtSWZDb21tYW5kLmgsCgkgIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleC9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9DTWFrZUxpc3RzLnR4dDogRU5IOiBBZGQKCSAgaWYoVEFSR0VUKSBjb21tYW5kCgoJICBJdCBpcyB1c2VmdWwgdG8gYmUgYWJsZSB0byB0ZXN0IGlmIGEgdGFyZ2V0IGhhcyBiZWVuIGNyZWF0ZWQuCgkgIE9mdGVuIHRhcmdldHMgYXJlIGNyZWF0ZWQgb25seSBpbnNpZGUgY29uZGl0aW9ucy4gIFJhdGhlciB0aGFuCgkgIHN0b3JpbmcgdGhlIHJlc3VsdCBvZiB0aGUgY29uZGl0aW9uIG1hbnVhbGx5IGZvciB0ZXN0aW5nIGJ5IG90aGVyCgkgIHBhcnRzIG9mIHRoZSBwcm9qZWN0LCBpdCBpcyBtdWNoIGVhc2llciBmb3IgdGhlIG90aGVyIHBhcnRzIHRvCgkgIGp1c3QgdGVzdCBmb3IgdGhlIHRhcmdldCdzIGV4aXN0ZW5jZS4gIFRoaXMgd2lsbCBhbHNvIGJlIHVzZWZ1bAoJICB3aGVuIGZpbmQtbW9kdWxlcyBzdGFydCByZXBvcnRpbmcgcmVzdWx0cyB3aXRoIElNUE9SVEVEIHRhcmdldHMKCSAgYW5kIHByb2plY3RzIHdhbnQgdG8gdGVzdCBpZiBhIGNlcnRhaW4gdGFyZ2V0IGlzIGF2YWlsYWJsZS4KCjIwMDgtMDgtMjAgMDk6NTcgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jOiBCVUc6IEhhbmRsZSBjYXNlIHdoZW4gc2VsZWN0KCkgbGllcwoKCSAgQWNjb3JkaW5nIHRvICJtYW4gc2VsZWN0IiBvbiBMaW51eCBpdCBpcyBwb3NzaWJsZSB0aGF0IHNlbGVjdCgpCgkgIGxpZXMgYWJvdXQgZGF0YSBiZWluZyByZWFkeSBvbiBhIHBpcGUgaW4gc29tZSBzdWJ0bGUgY2FzZXMuICBXZQoJICBkZWFsIHdpdGggdGhpcyBieSBzd2l0Y2hpbmcgdG8gbm9uLWJsb2NraW5nIGkvbyBhbmQgY2hlY2tpbmcgZm9yCgkgIEVBR0FJTi4gIFNlZSBpc3N1ZSAjNzE4MC4KCjIwMDgtMDgtMjAgMDA6MDAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wOC0xOSAxNjo0MCAgaG9mZm1hbgoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9jbUN1cnNlc1N0cmluZ1dpZGdldC5jeHg6IEJVRzogZml4IGZvciA2NDYyLAoJICBkZWxldGUga2V5IHNob3VsZCBkZWxldGUgdGhlIGN1cnJlbnQgY2hhcgoKMjAwOC0wOC0xOSAxNTo1OSAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kT3BlbkdMLmNtYWtlOiBCVUc6IGZpeCBmb3IgYnVnIDcxMDQgbG9vayBmb3IgR0wgaW4KCSAgWDExUjYgZGlycwoKMjAwOC0wOC0xOSAxNTo1NSAgaG9mZm1hbgoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBCVUc6IGZpeCBmb3IgNzA0NSwgdXNlIGdjYyBmb3IgLm0KCjIwMDgtMDgtMTkgMTU6NDIgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtRG9jdW1lbnRhdGlvbi5jeHgsIGNtRG9jdW1lbnRhdGlvbi5oLCBjbWFrZW1haW4uY3h4OgoJICBCVUc6IGZpeCA2NjQ3IGFyZ3VtZW50cyBhZnRlciAtRSBzaG91bGQgbm90IGJlIHBhcnNlZCBieSBDTWFrZQoKMjAwOC0wOC0xOSAxNTowNyAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogZml4IGZvciA2Nzk0CgkgIHN1cHBvcnQgZm9yIExUQ0cgV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uLCB3aGljaCBpcyBub3QgYXZhaWxhYmxlCgkgIGluIFZTIDggYW5kIG5ld2VyLgoKMjAwOC0wOC0xOSAxNDoyOCAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kUEhQNC5jbWFrZTogQlVHOiBmaXggZm9yIGJ1ZyA2Nzc1LCBGaW5kUEhQNCBkaWQgbm90CgkgIGhvbm9yIHJlcXVpcmVkCgoyMDA4LTA4LTE5IDE0OjIzICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0Rhcndpbi5jbWFrZTogQlVHOiBmaXggZm9yIDY3MTAKCSAgQ01BS0VfT1NYX1NZU1JPT1Qgc2hvdWxkIGJlIGEgUEFUSAoKMjAwOC0wOC0xOSAxNDowNyAgaG9mZm1hbgoKCSogTW9kdWxlcy9OU0lTLnRlbXBsYXRlLmluOiBCVUc6IGZpeCBmb3IgNzQ0NiBOU0lTIHN1cHBvcnQgZm9yCgkgIG90aGVyIGxhbmd1YWdlcwoKMjAwOC0wOC0xOSAxMzo1OSAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL1JlbGVhc2UvOiBjcmVhdGUtY21ha2UtcmVsZWFzZS5jbWFrZSwKCSAgbWFncmF0aGVhX3JlbGVhc2UuY21ha2UsIHVwbG9hZF9yZWxlYXNlLmNtYWtlLAoJICB2MjBuMTdfYWl4X3JlbGVhc2UuY21ha2U6IEVOSDogY2hlY2sgaW4gY3VycmVudCBidWlsZCBzY3JpcHRzCgoyMDA4LTA4LTE5IDEzOjQ4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeCBmb3IgNzQ5NiwgZG8gbm90IGp1c3QKCSAgcmVwb3J0IGNvbmZpZ3VyZSBkb25lIHdoZW4gdGhlcmUgaXMgYW4gZXJyb3IgZHVyaW5nIGNvbmZpZ3VyZQoKMjAwOC0wOC0xOSAxMzozMSAgaG9mZm1hbgoKCSogU291cmNlL2NtYWtlLmN4eDogQlVHOiA3NDQ4IGZpeCBjcmFzaCBpbiBjY21ha2Ugd2hlbiBjb21waWxlciBpcwoJICBjaGFuZ2VkCgoyMDA4LTA4LTE5IDExOjQzICBraW5nCgoJKiBUZXN0cy86IENNYWtlTGlzdHMudHh0LCB0ZXN0X2NsZWFuLmNtYWtlLmluOiBFTkg6IEFkZCB0ZXN0X2NsZWFuCgkgIHRhcmdldCB0byB3aXBlIG91dCB0ZXN0cwoKCSAgV2UgZnJlcXVlbnRseSBuZWVkIHRvIHdpcGUgb3V0IGFsbCB0aGUgQ01ha2UgdGVzdCBidWlsZAoJICBkaXJlY3RvcmllcyBpbiBvcmRlciB0byBydW4gdGVzdHMgZnJvbSBzY3JhdGNoLiAgVGhpcyBjaGFuZ2UgYWRkcwoJICBhIHRlc3RfY2xlYW4gY3VzdG9tIHRhcmdldCB0byByZW1vdmUgYWxsIHRoZXNlIGRpcmVjdG9yaWVzIGZvcgoJICBvdXQtb2Ytc291cmNlIGJ1aWxkcy4KCjIwMDgtMDgtMTkgMTE6NDMgIGtpbmcKCgkqIFNvdXJjZS86IGNtU2V0UHJvcGVydHlDb21tYW5kLmN4eCwKCSAgY21TZXRUYXJnZXRQcm9wZXJ0aWVzQ29tbWFuZC5jeHgsIGNtVGFyZ2V0LmN4eCwgY21UYXJnZXQuaDogRU5IOgoJICBEaXNhbGxvdyBsaW5rLXR5cGUga2V5d29yZHMgaW4gbGluayBpbnRlcmZhY2UKCgkgIFRoZSBMSU5LX0lOVEVSRkFDRV9MSUJSQVJJRVMgdGFyZ2V0IHByb3BlcnR5IG1heSBub3QgY29udGFpbiB0aGUKCSAgImRlYnVnIiwgIm9wdGltaXplZCIsIG9yICJnZW5lcmFsIiBrZXl3b3Jkcy4JVGhlc2Uga2V5d29yZHMgYXJlCgkgIHN1cHBvcnRlZCBvbmx5IGJ5IHRoZSB0YXJnZXRfbGlua19saWJyYXJpZXMgKGFuZCBsaW5rX2xpYnJhcmllcykKCSAgY29tbWFuZCBhbmQgYXJlIG5vdCBhIGdlbmVyaWMgbGlicmFyeSBsaXN0IGZlYXR1cmUgaW4gQ01ha2UuCgkgIFdoZW4gYSB1c2VyIGF0dGVtcHRzIHRvIGFkZCBvbmUgb2YgdGhlc2Uga2V5d29yZHMgdG8gdGhlIHByb3BlcnR5CgkgIHZhbHVlLCB3ZSBub3cgcHJvZHVjZSBhbiBlcnJvciBtZXNzYWdlIHRoYXQgcmVmZXJzIHVzZXJzIHRvCgkgIGFsdGVybmF0aXZlIG1lYW5zLgoKMjAwOC0wOC0xOSAxMDoyOSAga2luZwoKCSogU291cmNlL2NtVGFyZ2V0LmN4eDogRU5IOiBDbGFyaWZ5IGxpbmsgaW50ZXJmYWNlIGRvY3VtZW50YXRpb24KCgkgIFRoZSBMSU5LX0lOVEVSRkFDRV9MSUJSQVJJRVMgcHJvcGVydHkgZG9lcyBub3QgYXBwbHkgZm9yIFNUQVRJQwoJICBsaWJyYXJpZXMuICBUaGUgSU1QT1JURURfTElOS19JTlRFUkZBQ0VfTElCUkFSSUVTIHByb3BlcnR5IGRvZXMKCSAgYXBwbHkgZm9yIFNUQVRJQyBsaWJyYXJpZXMuICBTdGF0ZSBib3RoIGV4cGxpY2l0bHkgaW4gdGhlCgkgIGRvY3VtZW50YXRpb24uICBBbHNvLCBjbGFyaWZ5IHRoYXQgdGhlIHBlci1jb25maWd1cmF0aW9uIHZlcnNpb24KCSAgb2YgdGhlc2UgcHJvcGVydGllcyBjb21wbGV0ZWx5IG92ZXJyaWRzIHRoZSBnZW5lcmljIHZlcnNpb24uCgoyMDA4LTA4LTE5IDEwOjI4ICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEJVRzogTGlua2luZyB0byBtb2R1bGVzIGlzIGZvciAyLjIgY29tcGF0CgkgIG9ubHkKCgkgIFRoZSBjb21wYXRpYmlsaXR5IGNoZWNrIHRvIGFsbG93IGxpbmtpbmcgdG8gbW9kdWxlcyBzaG91bGQgdGVzdAoJICBmb3IgQ01ha2UgMi4yLCBub3QgdGhlIHVucmVsZWFzZWQgMi4zLiAgU2VlIGlzc3VlICM3NTAwLgoJICBGdXJ0aGVybW9yZSwgdGhlIG1lc3NhZ2Ugc2hvdWxkIGJlIG1vcmUgY2xlYXIgYWJvdXQgZml4aW5nIHRoZQoJICBjb2RlIGluc3RlYWQgb2Ygc2V0dGluZyBDTUFLRV9CQUNLV0FSRFNfQ09NUEFUSUJJTElUWSB1bmxlc3Mgb25lCgkgIGlzIGp1c3QgdHJ5aW5nIHRvIGJ1aWxkIGFuIGV4aXN0aW5nIHByb2plY3QuCgoyMDA4LTA4LTE5IDAwOjAwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDgtMTggMTY6MjkgIGtpbmcKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsIGNtUG9saWNpZXMuY3h4LAoJICBjbVBvbGljaWVzLmg6IEVOSDogSW1wcm92ZSBlcnJvcnMgd2hlbiBhIHBvbGljeSBpcyBSRVFVSVJFRAoKCSAgSW4gdGhlIGZ1dHVyZSBzb21lIHBvbGljaWVzIG1heSBiZSBzZXQgdG8gUkVRVUlSRURfSUZfVVNFRCBvcgoJICBSRVFVSVJFRF9BTFdBWVMuICBUaGlzIGNoYW5nZSBjbGFyaWZpZXMgdGhlIGVycm9yIG1lc3NhZ2VzIHVzZXJzCgkgIHJlY2VpdmUgd2hlbiB2aW9sYXRpbmcgdGhlIHJlcXVpcmVtZW50cy4KCjIwMDgtMDgtMTggMTE6MzkgIGtpbmcKCgkqIFNvdXJjZS9jbUFkZExpYnJhcnlDb21tYW5kLmN4eCwgU291cmNlL2NtQWRkTGlicmFyeUNvbW1hbmQuaCwKCSAgU291cmNlL2NtQ29tcHV0ZUxpbmtEZXBlbmRzLmN4eCwKCSAgU291cmNlL2NtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5jeHgsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtVGFyZ2V0LmN4eCwgU291cmNlL2NtVGFyZ2V0LmgsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dDogRU5IOiBBZGQgVU5LTk9XTiB0eXBlIGZvcgoJICBJTVBPUlRFRCBsaWJyYXJpZXMKCgkgIFdoZW4gY3JlYXRpbmcgYW4gSU1QT1JURUQgdGFyZ2V0IGZvciBhIGxpYnJhcnkgdGhhdCBoYXMgYmVlbgoJICBmb3VuZCBvbiBkaXNrLCBpdCBtYXkgbm90IGJlIGtub3duIHdoZXRoZXIgdGhlIGxpYnJhcnkgaXMgU1RBVElDCgkgIG9yIFNIQVJFRC4gIEhvd2V2ZXIsIHRoZSBsaWJyYXJ5IG1heSBzdGlsbCBiZSBsaW5rZWQgdXNpbmcgdGhlCgkgIGZpbGUgZm91bmQgZnJvbSBkaXNrLiAgVXNlIG9mIGFuIElNUE9SVEVEIHRhcmdldCBpcyBzdGlsbAoJICBpbXBvcnRhbnQgdG8gYWxsb3cgcGVyLWNvbmZpZ3VyYXRpb24gZmlsZXMgdG8gYmUgc3BlY2lmaWVkIGZvcgoJICB0aGUgbGlicmFyeS4KCgkgIFRoaXMgY2hhbmdlIGNyZWF0ZXMgYW4gVU5LTk9XTiB0eXBlIGZvciBJTVBPUlRFRCBsaWJyYXJ5IHRhcmdldHMuCgkgICBUaGUgSU1QT1JURURfTE9DQVRJT04gcHJvcGVydHkgKGFuZCBpdHMgcGVyLWNvbmZpZyBlcXVpdmFsZW50cykKCSAgc3BlY2lmaWVzIHRoZSBsb2NhdGlvbiBvZiB0aGUgbGlicmFyeS4gIENNYWtlIG1ha2VzIG5vCgkgIGFzc3VtcHRpb25zIGFib3V0IHRoZSBsaWJyYXJ5IHRoYXQgY2Fubm90IGJlIGluZmVycmVkIGZyb20gdGhlCgkgIGZpbGUgb24gZGlzay4gIFRoaXMgd2lsbCBoZWxwIHByb2plY3RzIGFuZCBmaW5kLW1vZHVsZXMgaW1wb3J0CgkgIHRhcmdldHMgZm91bmQgb24gZGlzayBvciBzcGVjaWZpZWQgYnkgdGhlIHVzZXIuCgoyMDA4LTA4LTE4IDExOjI2ICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21UYXJnZXQuY3h4OiBTVFlMRTogQ29udmVydAoJICB1bnVzZWQgdGFyZ2V0IHR5cGUgY2FzZXMgdG8gZGVmYXVsdAoKCSAgSW4gc3dpdGNoIHN0YXRlbWVudHMgdGhhdCBkZWFsIHdpdGggb25seSBhIGZldyB0YXJnZXQgdHlwZXMsIHVzZQoJICBhICdkZWZhdWx0JyBjYXNlIGZvciB0aGUgcmVtYWluaW5nIHRhcmdldCB0eXBlcyBpbnN0ZWFkIG9mCgkgIGxpc3RpbmcgdGhlbSBleHBsaWNpdGx5LiAgVGhpcyB3aWxsIG1ha2UgaXQgZWFzaWVyIHRvIGFkZCBtb3JlCgkgIHR5cGVzIGluIHRoZSBmdXR1cmUuCgoyMDA4LTA4LTE4IDEwOjExICBraW5nCgoJKiBTb3VyY2UvY21UYXJnZXRMaW5rTGlicmFyaWVzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVRhcmdldExpbmtMaWJyYXJpZXNDb21tYW5kLmgsCgkgIFRlc3RzL0V4cG9ydEltcG9ydC9FeHBvcnQvQ01ha2VMaXN0cy50eHQ6IEVOSDogTWFrZSBsaW5rCgkgIGludGVyZmFjZSBtb2RlIG1vcmUgZGlzdGluY3QKCgkgIFJlbmFtZSB0aGUgcmVjZW50bHkgYWRkZWQgSU5URVJGQUNFIG1vZGUgb2YgdGhlCgkgIHRhcmdldF9saW5rX2xpYnJhcmllcygpIGNvbW1hbmQgdG8gTElOS19JTlRFUkZBQ0VfTElCUkFSSUVTLgoJICBUaGlzIG1ha2VzIGl0IG11Y2ggbW9yZSBkaXN0aW5jdCBmcm9tIGEgbm9ybWFsIGNhbGwgdG8gdGhlCgkgIGNvbW1hbmQsIGFuZCBjbGVhcmx5IHN0YXRlcyBpdHMgY29ubmVjdGlvbiB0byB0aGUgcHJvcGVydHkgb2YgdGhlCgkgIHNhbWUgbmFtZS4gIEFsc28gcmVxdWlyZSB0aGUgb3B0aW9uIHRvIGFwcGVhciBpbW1lZGlhdGVseSBhZnRlcgoJICB0aGUgdGFyZ2V0IG5hbWUgdG8gbWFrZSBpdCBhIG1vZGUgcmF0aGVyIHRoYW4gYW4gb3B0aW9uLgoKMjAwOC0wOC0xOCAwOTo1MyAga2luZwoKCSogU291cmNlL2NtQ01ha2VQb2xpY3lDb21tYW5kLmN4eCwgU291cmNlL2NtQ01ha2VQb2xpY3lDb21tYW5kLmgsCgkgIFRlc3RzL0NvbXBsZXgvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZAoJICBjbWFrZV9wb2xpY3koR0VUKSBjb21tYW5kIG1vZGUKCgkgIEl0IGlzIGxpa2VseSB0aGF0IHByb2plY3RzIG9yIENNYWtlIG1vZHVsZXMgaW4gdGhlIGZ1dHVyZSB3aWxsCgkgIG5lZWQgdG8gY2hlY2sgdGhlIHZhbHVlIG9mIGEgcG9saWN5IHNldHRpbmcuCUZvciBleGFtcGxlLCBpZiB3ZQoJICBhZGQgYSBwb2xpY3kgdGhhdCBhZmZlY3RzIHRoZSByZXN1bHRzIG9mIEZpbmRYWVouY21ha2UgbW9kdWxlcywKCSAgdGhlIG1vZHVsZSBjb2RlIHdpbGwgbmVlZCB0byBiZSBhYmxlIHRvIGNoZWNrIHRoZSBwb2xpY3kuCgoyMDA4LTA4LTE4IDAwOjAwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDgtMTcgMDU6MzggIGFsZXgKCgkqIE1vZHVsZXMvRmluZEtERTQuY21ha2U6IEJVRzogZml4IGNsb3NpbmcgRU5ESUYoKQoKCSAgQWxleAoKMjAwOC0wOC0xNyAwNToxMSAgYWxleAoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOiBCVUc6IGZpeCBjbG9zaW5nIElGKCkKCgkgIEFsZXgKCjIwMDgtMDgtMTcgMDA6MDAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wOC0xNiAxOToxMSAgYWxleAoKCSogTW9kdWxlcy86IEZpbmRLREUzLmNtYWtlLCBGaW5kS0RFNC5jbWFrZSwgRmluZFF0My5jbWFrZSwKCSAgRmluZFF0NC5jbWFrZTogQlVHOiBmaXggIzc0NDcsIEZpbmRNb2R1bGVzRXhlY3V0ZUFsbCB0ZXN0IGZhaWxzCgkgIGlmIGJvdGggUXQzIGFuZCBLREU0IGNhbiBiZSBmb3VuZCBpbiB0aGUgc3lzdGVtCgoJICBRdDMgYW5kIFF0NCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciBpbiBvbmUgcHJvamVjdC4gIE5vdyBRdDMvS0RFMwoJICBhbmQgUXQ0L0tERTQgaGFuZGxlIHRoZSBjYXNlIHRoYXQgdGhpcyBpcyBkb25lIG5ldmVydGhlbGVzcwoJICBwcm9wZXJseSwgaS5lLiB0aGV5IGZhaWwgd2l0aCBGQVRBTF9FUlJPUiBpZiBpdCB3YXMgUkVRVUlSRUQgYW5kCgkgIHRoZXkgZmFpbCB3aXRoIGp1c3QgTUVTU0FHRShTVEFUVVMgLi4uKSBhbmQgUkVUVVJOKCkgaWYgaXQgd2FzCgkgIG5vdCBSRVFVSVJFRAoKCSAgQlVHOiBtYWtlIEZpbmRRdDQgZXJyb3Igb3V0IHdpdGggRkFUQUxfRVJST1IgYWxzbyBpZiBpdCB3YXMKCSAgc2VhcmNoZWQgUVVJRVQKCgkgIEFsZXgKCjIwMDgtMDgtMTYgMTg6MDYgIGhvZmZtYW4KCgkqIFRlc3RzL1JldHVyblRlc3QvaW5jbHVkZV9yZXR1cm4uY21ha2U6IGZpbGUgaW5jbHVkZV9yZXR1cm4uY21ha2UKCSAgd2FzIGFkZGVkIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24gMjAwOC0wOS0wMyAxMzo0MzozMSArMDAwMAoKMjAwOC0wOC0xNiAxODowNiAgYWxleAoKCSogU291cmNlL2NtUmV0dXJuQ29tbWFuZC5oLCBUZXN0cy9SZXR1cm5UZXN0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9SZXR1cm5UZXN0L2luY2x1ZGVfcmV0dXJuLmNtYWtlOiBTVFlMRTogZXh0ZW5kCgkgIGRvY3VtZW50YXRpb24gZm9yIFJFVFVSTigpIGEgYml0IEVOSDogYWRkIGEgdGVzdCBmb3IgY2FsbGluZwoJICBSRVRVUk4oKSBpbiBhbiBpbmNsdWRlZCBmaWxlCgoJICBBbGV4CgoyMDA4LTA4LTE2IDE3OjE0ICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRRdDMuY21ha2U6IFNUWUxFOiByZW1vdmUgc29tZSB1bm5lY2Vzc2FyeSBsaW5lcwoJICBTVFlMRTogZXZlcnl0aGluZyB1cHBlcmNhc2UgaW4gdGhpcyBmaWxlCgoJICBBbGV4CgoyMDA4LTA4LTE2IDE2OjU4ICBhbGV4CgoJKiBTb3VyY2UvY21HbG9iYWxLZGV2ZWxvcEdlbmVyYXRvci5jeHg6IEJVRzogZml4ICM3NDc3LCBzZXQKCSAgVkVSQk9TRT0xIGluIHRoZSBrZGV2ZWxvcCBzZXR0aW5nIGZvciB0aGUgZW52aXJvbm1lbnQsIG5vdAoJICB0b2dldGhlciB3aXRoIHRoZSBtYWtlIGV4ZWN1dGFibGUKCgkgIEFsZXgKCjIwMDgtMDgtMTYgMTY6NDggIGFsZXgKCgkqIFNvdXJjZS9jbUV4dHJhQ29kZUJsb2Nrc0dlbmVyYXRvci5jeHg6IFNUWUxFOiByZW1vdmUgc29tZQoJICBjb21tZW50ZWQgY29kZQoKCSAgQWxleAoKMjAwOC0wOC0xNiAxNjozMyAgYWxleAoKCSogU291cmNlL2NtR2xvYmFsS2RldmVsb3BHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeCAjNzQ3MSwgb25seSBwdXQKCSAgYnVpbGQgZGlyZWN0b3JpZXMgYW5kIENNYWtlRmlsZXMvIGluIHRoZSBibGFja2xpc3QKCgkgIEFsZXgKCjIwMDgtMDgtMTYgMDc6MzggIGFsZXgKCgkqIE1vZHVsZXMvRmluZFgxMS5jbWFrZTogRU5IOiBhbHNvIHNlYXJjaCBpbiAvdXNyL1gxMVI3LCByZW1vdmUKCSAgL3Vzci9saWIgYW5kIC91c3IvbG9jYWwvbGliLCB0aGV5IGFyZSBwYXJ0IG9mIHRoZSBzdGFuZGFyZCBzZWFyY2gKCSAgcGF0aHMgKHBhcnRseSBzeW5jIHdpaCBLREUpCgoJICBBbGV4CgoyMDA4LTA4LTE2IDA3OjI5ICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRUSUZGLmNtYWtlOiBFTkg6IGFkZCBtb3JlIG5hbWVzIGZvciBsaWJ0aWZmLCBtYXJrCgkgIFRJRkZfSU5DTFVERV9ESVIgYW5kIFRJRkZfTElCUkFSWSBhcyBhZHZhbmNlZCAoc3luYyB3aXRoIEtERSkKCgkgIEFsZXgKCjIwMDgtMDgtMTYgMDc6MjIgIGFsZXgKCgkqIE1vZHVsZXMvRmluZExpYlhtbDIuY21ha2U6IEVOSDogYWxzbyBzZWFyY2ggZm9yIHhtbGxpbnQsIHdoaWNoCgkgIGNvbWVzIHdpdGggbGlieG1sMiAoc3luYyB3aXRoIEZpbmRMaWJYbWwyLmNtYWtlIGZyb20gS0RFKQoKCSAgQWxleAoKMjAwOC0wOC0xNiAwNzoxMCAgYWxleAoKCSogTW9kdWxlcy9GaW5kUE5HLmNtYWtlOiBFTkg6IGFkZCBtb3JlIG5hbWVzIG9mIGxpbnBuZyAoc3luYyB3aXRoCgkgIHRoZSBLREUgdmVyc2lvbikKCgkgIEFsZXgKCjIwMDgtMDgtMTYgMDc6MDEgIGFsZXgKCgkqIE1vZHVsZXMvVXNlUGtnQ29uZmlnLmNtYWtlOiBTVFlMRTogL3Vzci9sb2NhbC9iaW4gaXMgaW4gdGhlIHBhdGgKCSAgYW55d2F5IFNUWUxFOiB0aGlzIGZpbGUgaXMgbW9zdGx5IHVwcGVyY2FzZSBjb21tYW5kcywgc28gbWFrZSBhbGwKCSAgY29tbWFuZHMgdXBwZXJjYXNlIEVOSDogYWRkIGEgc3RhdHVzIG1lc3NhZ2UgaW4gY2FzZSBwa2djb25maWcKCSAgZGlkbid0IGZpbmQgdGhlIHBhY2thZ2UgKHN5bmMgd2l0aCB0aGUgb25lIGZyb20gS0RFKQoKCSAgQWxleAoKMjAwOC0wOC0xNiAwMDowMCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA4LTE1IDE1OjA3ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtTk1jbC5jbWFrZTogRU5IOiBhZGQgcGxhdGZvcm0gZmlsZSBmb3IKCSAgYm91bmRzIGNoZWNrZXIKCjIwMDgtMDgtMTUgMDk6NDcgIGtpbmcKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQ09NUDogV29yay1hcm91bmQgYm9ndXMgY29tcGlsZXIKCSAgd2FybmluZy4KCjIwMDgtMDgtMTUgMDA6MDAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wOC0xNCAxNTozNCAgYWxleAoKCSogTW9kdWxlcy86IEZpbmRMdWE1MC5jbWFrZSwgRmluZEx1YTUxLmNtYWtlOiBCVUc6IGZpeAoJICBkb2N1bWVudGF0aW9uLCB0aGUgdmFyaWFibGVzIGFyZSBuYW1lZCBMVUE1MF9GT1VORCBhbmQKCSAgTFVBNTFfRk9VTkQgKGluIGFsbCByZWxlYXNlZCB2ZXJzaW9ucykKCgkgIEFsZXgKCjIwMDgtMDgtMTQgMDk6NTMgIGtpbmcKCgkqIFNvdXJjZS86IGNtRmlsZUNvbW1hbmQuY3h4LCBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oOgoJICBFTkg6IEluZm9ybSB1c2VyIHdoZW4gUlBBVEggb3IgUlVOUEFUSCBpcyByZW1vdmVkCgoyMDA4LTA4LTE0IDA5OjUzICBraW5nCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEJVRzogVXBkYXRlIGJvdGggUlBBVEggYW5kIFJVTlBBVEgKCSAgZW50cmllcwoKCSAgRHVyaW5nIGluc3RhbGxhdGlvbiB0aGUgUlBBVEggYW5kIFJVTlBBVEggZW50cmllcyBvZiBFTEYgYmluYXJpZXMKCSAgYXJlIGVkaXRlZCB0byBtYXRjaCB0aGUgdXNlciBzcGVjaWZpY2F0aW9uLiAgVXN1YWxseSBlaXRoZXIgb25lCgkgIGVudHJ5IGlzIHByZXNlbnQgb3IgYm90aCBlbnRyaWVzIHJlZmVyIHRvIHRoZSBzYW1lIHN0cmluZwoJICBsaXRlcmFsLiAgSW4gdGhlIGNhc2UgdGhhdCB0aGV5IGFyZSBib3RoIHByZXNlbnQgYW5kIHJlZmVyIHRvCgkgIHNlcGFyYXRlIHN0cmluZyBsaXRlcmFscyB3ZSBuZWVkIHRvIHVwZGF0ZSBib3RoLiAgSSBoYXZlIG5ldmVyCgkgIHNlZW4gdGhpcyBjYXNlIGluIHByYWN0aWNlLCBidXQgd2Ugc2hvdWxkIGRvIHRoaXMganVzdCBpbiBjYXNlLgoKMjAwOC0wOC0xNCAwOTo1MyAga2luZwoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBCVUc6IFJlbW92ZSBib3RoIFJQQVRIIGFuZCBSVU5QQVRICgkgIGVudHJpZXMKCgkgIFJlbW92YWwgb2YgdGhlIFJQQVRIIGFuZCBSVU5QQVRIIGZyb20gRUxGIGJpbmFyaWVzIG11c3Qgd29yayB3aGVuCgkgIGJvdGggZW50cmllcyBhcmUgcHJlc2VudC4gIEJvdGggZW50cmllcyBzaG91bGQgYmUgcmVtb3ZlZC4KCSAgUHJldmlvdXNseSBvbmx5IG9uZSB3b3VsZCBiZSByZW1vdmVkIGFuZCB0aGUgb3RoZXIgd291bGQgYmUKCSAgYmxhbmtlZCBiZWNhdXNlIGl0IHBvaW50ZWQgYXQgdGhlIHNhbWUgc3RyaW5nIHdoaWNoIHdhcyB6ZXJvZWQuCgkgIFRoaXMgZml4ZXMgZ2VudG9vIGJ1ZyBudW1iZXIgMjI0OTAxLgoKMjAwOC0wOC0xNCAwMDowMCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA4LTEzIDAwOjAwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDgtMTIgMTk6MDEgIGtpbmcKCgkqIFNvdXJjZS86IGNtRmluZFBhY2thZ2VDb21tYW5kLmN4eCwgY21GaW5kUGFja2FnZUNvbW1hbmQuaDogRU5IOgoJICBUZWFjaCBmaW5kX3BhY2thZ2UgYWJvdXQgbGliNjQgcGF0aHMKCgkgIFdoZW4gZmluZF9wYWNrYWdlIGlzIGFib3V0IHRvIGxvb2sgaW4gPHByZWZpeD4vbGliLCBzZWFyY2ggZmlyc3QKCSAgaW4gPHByZWZpeD4vbGliNjQgaW4gY2FzZXMgdGhhdCBmaW5kX2xpYnJhcnkgd291bGQgdXNlIGxpYjY0CgkgIHBhdGhzLgoKMjAwOC0wOC0xMiAxNzoyNyAgaG9mZm1hbgoKCSogVGVzdHMvRXhwb3J0SW1wb3J0L0V4cG9ydC90ZXN0TGliNGxpYmRiZzEuYzogZmlsZQoJICB0ZXN0TGliNGxpYmRiZzEuYyB3YXMgYWRkZWQgb24gYnJhbmNoIENNYWtlLTItNiBvbiAyMDA4LTA5LTAzCgkgIDEzOjQzOjI4ICswMDAwCgoyMDA4LTA4LTEyIDE3OjI3ICBob2ZmbWFuCgoJKiBUZXN0cy9FeHBvcnRJbXBvcnQvRXhwb3J0L3Rlc3RMaWI0bGlib3B0MS5jOiBmaWxlCgkgIHRlc3RMaWI0bGlib3B0MS5jIHdhcyBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDgtMDktMDMKCSAgMTM6NDM6MjggKzAwMDAKCjIwMDgtMDgtMTIgMTc6MjcgIGtpbmcKCgkqIFRlc3RzL0V4cG9ydEltcG9ydC9FeHBvcnQvOiBDTWFrZUxpc3RzLnR4dCwgdGVzdExpYjRsaWJkYmcxLmMsCgkgIHRlc3RMaWI0bGlib3B0MS5jOiBCVUc6IEZpeCBFeHBvcnRJbXBvcnQgdGVzdCBvbiBWUzYKCgkgIFZpc3VhbCBTdHVkaW8gNiBkb2VzIG5vdCBzdXBwb3J0IHBlci10YXJnZXQgb2JqZWN0IGZpbGVzLCBzbyBqdXN0CgkgIHVzZSB0d28gc2VwYXJhdGUgc291cmNlIGZpbGUgbmFtZXMgaW4gdGhpcyBjYXNlLgoKMjAwOC0wOC0xMiAwNzowMSAgYWxleAoKCSogU291cmNlL2NtYWtlbWFpbi5jeHg6IFNUWUxFOiBvbmUgaWZkZWYgYmxvY2sgbGVzcywgdGhlCgkgIGRvY3VtZW50YXRpb24gb2JqZWN0IGNhbiBiZSBjcmVhdGVkIGEgYml0IGxhdGVyCgoJICBBbGV4CgoyMDA4LTA4LTEyIDAwOjAwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDgtMTEgMTY6MjMgIGhvZmZtYW4KCgkqIFRlc3RzL0V4cG9ydEltcG9ydC9FeHBvcnQvdGVzdExpYjRsaWIuYzogZmlsZSB0ZXN0TGliNGxpYi5jIHdhcwoJICBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDgtMDktMDMgMTM6NDM6MjggKzAwMDAKCjIwMDgtMDgtMTEgMTY6MjMgIGhvZmZtYW4KCgkqIFRlc3RzL0V4cG9ydEltcG9ydC9FeHBvcnQvdGVzdExpYjRsaWJkYmcuYzogZmlsZSB0ZXN0TGliNGxpYmRiZy5jCgkgIHdhcyBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDgtMDktMDMgMTM6NDM6MjggKzAwMDAKCjIwMDgtMDgtMTEgMTY6MjMgIGhvZmZtYW4KCgkqIFRlc3RzL0V4cG9ydEltcG9ydC9FeHBvcnQvdGVzdExpYjRsaWJvcHQuYzogZmlsZSB0ZXN0TGliNGxpYm9wdC5jCgkgIHdhcyBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDgtMDktMDMgMTM6NDM6MjggKzAwMDAKCjIwMDgtMDgtMTEgMTY6MjMgIGtpbmcKCgkqIFRlc3RzL0V4cG9ydEltcG9ydC86IEV4cG9ydC9DTWFrZUxpc3RzLnR4dCwgRXhwb3J0L3Rlc3RMaWI0bGliLmMsCgkgIEV4cG9ydC90ZXN0TGliNGxpYmRiZy5jLCBFeHBvcnQvdGVzdExpYjRsaWJvcHQuYywKCSAgSW1wb3J0L0NNYWtlTGlzdHMudHh0LCBJbXBvcnQvaW1wX3Rlc3RFeGUxLmM6IEVOSDogVGVzdAoJICB0YXJnZXRfbGlua19saWJyYXJpZXMgSU5URVJGQUNFIG9wdGlvbgoKMjAwOC0wOC0xMSAxNjoyMyAga2luZwoKCSogU291cmNlLzogY21UYXJnZXRMaW5rTGlicmFyaWVzQ29tbWFuZC5jeHgsCgkgIGNtVGFyZ2V0TGlua0xpYnJhcmllc0NvbW1hbmQuaDogRU5IOiBTaW1wbGUgc3BlY2lmaWNhdGlvbiBvZiBsaW5rCgkgIGludGVyZmFjZXMKCgkgIENyZWF0ZSBhbiBJTlRFUkZBQ0Ugb3B0aW9uIHRvIHRoZSB0YXJnZXRfbGlua19saWJyYXJpZXMgY29tbWFuZAoJICB0byBoZWxwIHNldCB0aGUgTElOS19JTlRFUkZBQ0VfTElCUkFSSUVTIGFuZAoJICBMSU5LX0lOVEVSRkFDRV9MSUJSQVJJRVNfREVCVUcgcHJvcGVydGllcy4gIFRoaXMgd2lsbCBoZWxwIHVzZXJzCgkgIHNwZWNpZnkgbGluayBpbnRlcmZhY2VzIHVzaW5nIHZhcmlhYmxlcyBmcm9tIEZpbmQqLmNtYWtlIG1vZHVsZXMKCSAgdGhhdCBpbmNsdWRlIHRoZSAnZGVidWcnIGFuZCAnb3B0aW1pemVkJyBrZXl3b3Jkcy4KCjIwMDgtMDgtMTEgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wOC0xMCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA4LTA5IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDgtMDggMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wOC0wNyAxNzo1MSAga2luZwoKCSogU291cmNlLzogY21UYXJnZXRMaW5rTGlicmFyaWVzQ29tbWFuZC5jeHgsCgkgIGNtVGFyZ2V0TGlua0xpYnJhcmllc0NvbW1hbmQuaDogRU5IOiBUb2xlcmF0ZSByZXBlYXRlZCBsaW5rCgkgIGxpYnJhcnkgdHlwZXMKCgkgIFRoZSAiZGVidWciLCAib3B0aW1pemVkIiwgYW5kICJnZW5lcmFsIiBsaW5rIGxpYnJhcnkgdHlwZQoJICBzcGVjaWZpZXIgYXJndW1lbnRzIHRvIHRoZSB0YXJnZXRfbGlua19saWJyYXJ5IGNvbW1hbmRzIGFyZQoJICBzb21ldGltZXMgcmVwZWF0ZWQgaW4gdXNlciBjb2RlIGR1ZSB0byB2YXJpYWJsZSBleHBhbnNpb24gYW5kCgkgIG90aGVyIGNvbXBsaWNhdGlvbnMuCUluc3RlYWQgb2Ygc2lsZW50bHkgYWNjZXB0aW5nIHRoZQoJICBkdXBsaWNhdGVzIGFuZCB0cnlpbmcgdG8gbGluayB0byBhIGJvZ3VzIGxpYnJhcnkgbGlrZQoJICAib3B0aW1pemVkLmxpYiIsIHdhcm4gYW5kIGlnbm9yZSB0aGUgZWFybGllciBzcGVjaWZpZXJzLgoKMjAwOC0wOC0wNyAxNzoxMiAga2luZwoKCSogU291cmNlL2NtQWRkU3ViRGlyZWN0b3J5Q29tbWFuZC5oOiBFTkg6IENsYXJpZnkgZG9jdW1lbnRhdGlvbiBvZgoJICBFWENMVURFX0ZST01fQUxMCgoJICBUaGUgYWRkX3N1YmRpcmVjdG9yeSgpIGNvbW1hbmQncyBFWENMVURFX0ZST01fQUxMIG9wdGlvbiBkb2VzIG5vdAoJICBvdmVycmlkZSBpbnRlci10YXJnZXQgZGVwZW5kZW5jaWVzLiAgVGhpcyBjaGFuZ2UgY2xhcmlmaWVzIHRoZQoJICBkb2N1bWVudGF0aW9uIGFjY29yZGluZ2x5LgoKMjAwOC0wOC0wNyAxMDoxMyAgaG9mZm1hbgoKCSogVGVzdHMvRGVwZW5kZW5jeS9DYXNlNC9DTWFrZUxpc3RzLnR4dDogZmlsZSBDTWFrZUxpc3RzLnR4dCB3YXMKCSAgYWRkZWQgb24gYnJhbmNoIENNYWtlLTItNiBvbiAyMDA4LTA5LTAzIDEzOjQzOjI3ICswMDAwCgoyMDA4LTA4LTA3IDEwOjEzICBob2ZmbWFuCgoJKiBUZXN0cy9EZXBlbmRlbmN5L0Nhc2U0L2Jhci5jOiBmaWxlIGJhci5jIHdhcyBhZGRlZCBvbiBicmFuY2gKCSAgQ01ha2UtMi02IG9uIDIwMDgtMDktMDMgMTM6NDM6MjcgKzAwMDAKCjIwMDgtMDgtMDcgMTA6MTMgIGhvZmZtYW4KCgkqIFRlc3RzL0RlcGVuZGVuY3kvQ2FzZTQvZm9vLmM6IGZpbGUgZm9vLmMgd2FzIGFkZGVkIG9uIGJyYW5jaAoJICBDTWFrZS0yLTYgb24gMjAwOC0wOS0wMyAxMzo0MzoyNyArMDAwMAoKMjAwOC0wOC0wNyAxMDoxMyAga2luZwoKCSogVGVzdHMvRGVwZW5kZW5jeS86IENNYWtlTGlzdHMudHh0LCBDYXNlNC9DTWFrZUxpc3RzLnR4dCwKCSAgQ2FzZTQvYmFyLmMsIENhc2U0L2Zvby5jOiBFTkg6IFRlc3QgZmFrZSBjaXJjdWxhciBkZXBlbmRlbmN5IGNhc2UKCgkgIEEgcmVjZW50IGNoYW5nZSBmaXhlZCBhIGNhc2UgaW4gd2hpY2ggQ01ha2UgaW5jb3JyZWN0bHkgZGlhZ25vc2VkCgkgIGEgY2lyY3VsYXIgZGVwZW5kZW5jeSBpbnZvbHZpbmcgYSBub24tbGlua2FibGUgZXhlY3V0YWJsZSB0YXJnZXQuCgkgICBUaGlzIGFkZHMgYSB0ZXN0IGZvciB0aGF0IGNhc2UuCgoyMDA4LTA4LTA3IDA5OjA5ICBraW5nCgoJKiBNb2R1bGVzLzogQ01ha2VDQ29tcGlsZXJBQkkuYywgQ01ha2VDQ29tcGlsZXJJZC5jLmluLAoJICBDTWFrZUNYWENvbXBpbGVyQUJJLmNwcCwgQ01ha2VDWFhDb21waWxlcklkLmNwcC5pbiwKCSAgQ2hlY2tUeXBlU2l6ZUMuYy5pbiwgVGVzdEVuZGlhbmVzcy5jLmluOiBFTkg6IEltcHJvdmUgcm9idXN0bmVzcwoJICBvZiBjb21waWxlciBJTkZPIHN0cmluZ3MKCgkgIENvbXBpbGVyIElORk8gc3RyaW5ncyBidWlsdCBhdCBwcmVwcm9jZXNzaW5nIHRpbWUgZW5jb2RlCgkgIGluZm9ybWF0aW9uIHRoYXQgbXVzdCBhcHBlYXIgYXMgYSBzdHJpbmcgbGl0ZXJhbCBpbiB0aGUgcmVzdWx0aW5nCgkgIGJpbmFyeS4gIFdlIG11c3QgbWFrZSBzdXJlIHRoZSBzdHJpbmdzIGFwcGVhciBpbiB0aGUgZmluYWwgYmluYXJ5CgkgIG5vIG1hdHRlciB3aGF0IGNvbXBpbGVyIGFuZCBmbGFncyBhcmUgdXNlZC4gIFRoZSBwcmV2aW91cwoJICBpbXBsZW1lbnRhdGlvbiB3b3JrZWQgaW4gbW9zdCBwbGFjZXMgYnV0IGZhaWxlZCB3aXRoIHRoZSBHTlUKCSAgbGlua2VyJ3MgLS1nYy1zZWN0aW9ucyBvcHRpb24gd2hpY2ggbWFuYWdlZCB0byBkaXNjYXJkIHRoZQoJICBzdHJpbmcuICBJbnN0ZWFkIHdlIG1ha2UgdGhlIHByb2dyYW0gcmV0dXJuIHZhbHVlIGRlcGVuZCBvbiBhbgoJICBlbGVtZW50IG9mIHRoZSBzdHJpbmcgaW5kZXhlZCBieSBhIHJ1bnRpbWUgcHJvZ3JhbSBwYXJhbWV0ZXIsCgkgIHdoaWNoIGFic29sdXRlbHkgcmVxdWlyZXMgdGhlIHN0cmluZyB0byBiZSBwcmVzZW50LgoKMjAwOC0wOC0wNyAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA4LTA2IDE3OjQ4ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNvbXB1dGVMaW5rRGVwZW5kcy5jeHgsIGNtQ29tcHV0ZUxpbmtEZXBlbmRzLmgsCgkgIGNtQ29tcHV0ZVRhcmdldERlcGVuZHMuY3h4LCBjbUNvbXB1dGVUYXJnZXREZXBlbmRzLmg6IEJVRzogQXZvaWQKCSAgYm9ndXMgZGVwZW5kZW5jeSBvbiBleGVjdXRhYmxlIHRhcmdldHMKCgkgIFdoZW4gYW4gZXhlY3V0YWJsZSB0YXJnZXQgd2l0aGluIHRoZSBwcm9qZWN0IGlzIG5hbWVkIGluCgkgIHRhcmdldF9saW5rX2xpYnJhcmllcyBmb3IgYW5vdGhlciB0YXJnZXQsIGJ1dCB0aGUgZXhlY3V0YWJsZSBkb2VzCgkgIG5vdCBoYXZlIHRoZSBFTkFCTEVfRVhQT1JUUyBwcm9wZXJ0eSBzZXQsIHRoZW4gdGhlIGV4ZWN1dGFibGUKCSAgY2Fubm90IHJlYWxseSBiZSBsaW5rZWQuICBUaGlzIGlzIHByb2JhYmx5IGEgY2FzZSB3aGVyZSB0aGUgdXNlcgoJICBpbnRlbmRzIHRvIGxpbmsgdG8gYSB0aGlyZC1wYXJ0eSBsaWJyYXJ5IHRoYXQgaGFwcGVucyB0byBoYXZlIHRoZQoJICBzYW1lIG5hbWUgYXMgYW4gZXhlY3V0YWJsZSB0YXJnZXQgaW4gdGhlIHByb2plY3QgKG9yIGVsc2Ugd2lsbAoJICBnZXQgYW4gZXJyb3IgYXQgYnVpbGQgdGltZSkuCVdlIG5lZWQgdG8gYXZvaWQgbWFraW5nIHRoZSBvdGhlcgoJICB0YXJnZXQgZGVwZW5kIG9uIHRoZSBleGVjdXRhYmxlIHRhcmdldCBpbmNvcnJlY3RseSwgc2luY2UgdGhlCgkgIGV4ZWN1dGFibGUgbWF5IGFjdHVhbGx5IHdhbnQgdG8gbGluayB0byB0aGF0IHRhcmdldCBhbmQgdGhpcyBpcwoJICBub3QgYSBjaXJjdWxhciBkZXBlbmVuY3kuCgoyMDA4LTA4LTA2IDE3OjQ4ICBraW5nCgoJKiBTb3VyY2UvY21Db21wdXRlVGFyZ2V0RGVwZW5kcy5jeHg6IEVOSDogSW1wcm92ZSByZWFkYWJpbGl0eSBvZgoJICBjaXJjdWxhciBkZXBlbmRzIGVycm9yCgoJICBXaGVuIHJlcG9ydGluZyB0aGUgZGVwZW5kZW5jaWVzIGluIGEgc3Ryb25nbHkgY29ubmVjdGVkIGNvbXBvbmVudAoJICBxdW90ZSB0aGUgdGFyZ2V0IG5hbWVzIHRvIG1ha2UgdGhlIG1lc3NhZ2UgbW9yZSByZWFkYWJsZSBubwoJICBtYXR0ZXIgdGhlIHRhcmdldCBuYW1lLgoKMjAwOC0wOC0wNiAxNzo0OCAga2luZwoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogQlVHOiBGaXggY3Jhc2ggb24gY2lyY3VsYXIgdGFyZ2V0CgkgIGRlcGVuZGVuY2llcwoKCSAgQWZ0ZXIgcmVwb3J0aW5nIGFuIGVycm9yIGFib3V0IGNpcmN1bGFyIHRhcmdldCBkZXBlbmRlbmNpZXMgZG8KCSAgbm90IHRyeSB0byBjb250aW51ZSBnZW5lcmF0aW9uIGJlY2F1c2UgdGhlIGRlcGVuZGVuY3kgY29tcHV0YXRpb24KCSAgb2JqZWN0IGlzIG5vdCBpbiBhIHVzZWZ1bCBzdGF0ZS4KCjIwMDgtMDgtMDYgMTc6NDMgIGFsZXgKCgkqIFRlc3RzL0NNYWtlTGlzdHMudHh0OiBCVUc6IGZpeCBlbmRpZigpCgoJICBBbGV4CgoyMDA4LTA4LTA2IDE3OjA0ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwKCSAgTW9kdWxlcy9DTWFrZUNJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUNYWEluZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRm9ydHJhbkluZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRJbWFnZU1hZ2ljay5jbWFrZSwgTW9kdWxlcy9GaW5kS0RFMy5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9EYXJ3aW4uY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vTGludXgtSW50ZWwtQy5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9MaW51eC1JbnRlbC1DWFguY21ha2UsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL2NtRUxGLmN4eCwgU291cmNlL2NtRXh0cmFFY2xpcHNlQ0RUNEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtU291cmNlRmlsZUxvY2F0aW9uLmN4eCwgU291cmNlL2NtU291cmNlRmlsZUxvY2F0aW9uLmgsCgkgIFNvdXJjZS9jbVRhcmdldC5jeHgsIFNvdXJjZS9jbVRhcmdldC5oLCBTb3VyY2UvY21ha2UuY3h4LAoJICBTb3VyY2UvY21ha2UuaCwgU291cmNlL2NtYWtlbWFpbi5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eCwKCSAgVGVzdHMvQ3VzdG9tQ29tbWFuZC9DTWFrZUxpc3RzLnR4dDogRU5IOiBtZXJnZSBpbiBmaXhlcyBmcm9tIG1haW4KCSAgdHJlZSAyLjYuMiBSQyAxCgoyMDA4LTA4LTA2IDE2OjE2ICBhbGV4CgoJKiBUZXN0cy9DTWFrZUxpc3RzLnR4dDogRU5IOiBhZGQgc2ltcGxlIHRlc3RzIHRvIHRlc3QgdGhhdCB0aGUKCSAgZXh0cmEgZ2VuZXJhdG9ycyBkb24ndCBjcmFzaAoKCSAgQWxleAoKMjAwOC0wOC0wNiAxNjowNSAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS86IExpbnV4LUludGVsLUMuY21ha2UsIExpbnV4LUludGVsLUNYWC5jbWFrZToKCSAgRU5IOiBBZGQgcHJlcHJvY2Vzc29yIGFuZCBhc3NlbWJseSBydWxlcyBmb3IgSW50ZWwKCjIwMDgtMDgtMDYgMTU6MzUgIGFsZXgKCgkqIFNvdXJjZS9jbUV4dHJhRWNsaXBzZUNEVDRHZW5lcmF0b3IuY3h4OiBCVUc6IGRvbid0IGNyYXNoIGluIHRoZQoJICBnZW5lcmF0b3IgaXMgRVhFQ1VUQUJMRV9PVVRQVVRfUEFUSCBvciBMSUJSQVJZX09VVFBVVF9QQVRIIGFyZQoJICBlbXB0eQoKCSAgQWxleAoKMjAwOC0wOC0wNiAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA4LTA1IDE2OjA2ICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRLREUzLmNtYWtlOiBCVUc6IGZpeCAjNzQ1MiwgYmFkIGNsb3NpbmcgRU5ESUYoKQoJICBzdGF0ZW1lbnQKCgkgIEFsZXgKCjIwMDgtMDgtMDUgMTM6MjcgIGtpbmcKCgkqIFRlc3RzL0N1c3RvbUNvbW1hbmQvQ01ha2VMaXN0cy50eHQ6IEVOSDogVGVzdCByZWxhdGl2ZSBwYXRoCgkgIGN1c3RvbSBjb21tYW5kIG91dHB1dAoKCSAgQXMgb2YgQ01ha2UgMi42IGEgY3VzdG9tIGNvbW1hbmQgb3V0cHV0IHNwZWNpZmllZCBieSByZWxhdGl2ZQoJICBwYXRoIGlzIHBsYWNlZCBpbiB0aGUgYnVpbGQgdHJlZS4gIFRoaXMgYWRkcyBhIHRlc3QgdG8gbWFrZSBzdXJlCgkgIG90aGVyIHJlZmVyZW5jZXMgdG8gdGhlIG91dHB1dCBhcmUgaG9va2VkIHVwIGNvcnJlY3RseSwgZml4aW5nIGEKCSAgYnVnIGluIENNYWtlIDIuNi4xLgoKMjAwOC0wOC0wNSAxMzoyNyAga2luZwoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBCVUc6IEN1c3RvbSBjb21tYW5kIGRlcGVuZHMgbWF5CgkgIG1hdGNoIHNvdXJjZXMKCgkgIEN1c3RvbSBjb21tYW5kIGRlcGVuZGVuY2llcyB0aGF0IGFyZSBub3QgZnVsbCBwYXRocyBvciB0YXJnZXRzCgkgIG1heSBhbHNvIG1hdGNoIHNvdXJjZSBmaWxlcy4JV2hlbiBvbmUgZG9lcywgdGhlIGZ1bGwgaW5mb3JtYXRpb24KCSAgYWJvdXQgdGhlIHNvdXJjZSBmaWxlJ3MgbG9jYXRpb24gYW5kIG5hbWUgbWF5IGJlIHVzZWQuICBUaGlzCgkgIGZpeGVzIHRoZSBjYXNlIHdoZW4gYSBjdXN0b20gY29tbWFuZHMgZGVwZW5kcyBieSByZWxhdGl2ZSBwYXRoIG9uCgkgIGEgc291cmNlIGZpbGUgZ2VuZXJhdGVkIGJ5IGFub3RoZXIgY3VzdG9tIGNvbW1hbmQgc3BlY2lmeWluZyBpdHMKCSAgb3V0cHV0IGJ5IHJlbGF0aXZlIHBhdGguCgoyMDA4LTA4LTA1IDEzOjI3ICBraW5nCgoJKiBTb3VyY2UvOiBjbVNvdXJjZUZpbGVMb2NhdGlvbi5jeHgsIGNtU291cmNlRmlsZUxvY2F0aW9uLmg6IEJVRzoKCSAgRml4IG1hdGNoaW5nIG9mIGFtYmlndW91cyBzZiBleHRlbnNpb25zLgoKCSAgQSBuYW1lIHdpdGggYW4gYW1iaWd1b3VzIGV4dGVuc2lvbiBtYXkgb25seSBtYXRjaCBhbiB1bmFtYmlndW91cwoJICBuYW1lIHRoYXQgaXMgZXh0ZW5kZWQgYnkgb25lIG9mIHRoZSBmaXhlZCBzZXQgb2YgZXh0ZW5zaW9ucyB0cmllZAoJICB3aGVuIGZpbmRpbmcgdGhlIHNvdXJjZSBmaWxlIG9uIGRpc2suICBUaGlzIHJ1bGUgbWFrZXMgbWF0Y2hpbmcKCSAgb2Ygc291cmNlIGZpbGVzIHdpdGggYW1iaWd1b3VzIGV4dGVuc2lvbnMgbXVjaCBsZXNzIGFnZ3Jlc3NpdmUKCSAgYnV0IHN0aWxsIHN1ZmZpY2llbnQuCgoyMDA4LTA4LTA1IDA5OjU1ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEJVRzogRG8gbm90IGNvbnZlcnQgUlBBVEggZW50cmllcyB0bwoJICBmdWxsIHBhdGguCgoJICBXaGVuIGdlbmVyYXRpbmcgUlBBVEggZW50cmllcyBvbiB0aGUgbGluayBsaW5lIHVzaW5nIGEgcmVwZWF0ZWQKCSAgbGlua2VyIGZsYWcgKC1SIC4uLiAtUiAuLi4gc3R5bGUpIGRvIG5vdCBjb252ZXJ0IGluZGl2aWR1YWwKCSAgZW50cmllcyB0byBhIGZ1bGwgcGF0aC4gIFdlIG5lZWQgdG8gcHJlc2VydmUgd2hhdCB0aGUgdXNlcgoJICByZXF1ZXN0ZWQuCgoyMDA4LTA4LTA1IDA5OjU1ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEJVRzogRml4IGVzY2FwaW5nIGluIGxpbmsgc2NyaXB0cwoKCSAgV2hlbiBnZW5lcmF0aW5nIGVzY2FwZSBzZXF1ZW5jZXMgZm9yIHRoZSBuYXRpdmUgYnVpbGQgdG9vbCBkbyBub3QKCSAgcHV0IGluIE1ha2VmaWxlIGVzY2FwZXMgZm9yIHBhdGhzIGdlbmVyYXRlZCBpbnRvIGxpbmsgc2NyaXB0cy4KCSAgVGhpcyBmaXhlcyBwdXR0aW5nICIkT1JJR0lOIiBpbnRvIHRoZSBSUEFUSCwgYW5kIHByb2JhYmx5IHNvbWUKCSAgb3RoZXIgc3VidGxlIHByb2JsZW1zLgoKMjAwOC0wOC0wNSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA4LTA0IDExOjM3ICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlQ0luZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlQ1hYSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VGb3J0cmFuSW5mb3JtYXRpb24uY21ha2UsCgkgIFNvdXJjZS9jbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHg6IEVOSDogQnVpbGQgbGFyZ2UKCSAgYXJjaGl2ZXMgaW5jcmVtZW50YWxseQoKCSAgQ3JlYXRpb24gb2YgYXJjaGl2ZSBsaWJyYXJpZXMgd2l0aCB0aGUgdW5peCAnYXInIHRvb2wgc2hvdWxkIGJlCgkgIGRvbmUgaW5jcmVtZW50YWxseSB3aGVuIHRoZSBudW1iZXIgb2Ygb2JqZWN0IGZpbGVzIGlzIGxhcmdlLgoJICBUaGlzIGF2b2lkcyBwcm9ibGVtcyB3aXRoIHRoZSBjb21tYW5kIGxpbmUgZ2V0dGluZyB0b28gbWFueQoJICBhcmd1bWVudHMuCgoyMDA4LTA4LTA0IDA5OjM4ICBraW5nCgoJKiBTb3VyY2UvY21FTEYuY3h4OiBCVUc6IEZpeCBvcGVyYXRvciBwcmVjZWRlbmNlIGVycm9yIGluIGNtRUxGCgoJICBXaGVuIGF0dGVtcHRpbmcgdG8gbG9hZCB0aGUgUlBBVEggb3V0IG9mIGEgbm9uLUVMRiBmaWxlIGNtRUxGCgkgIHdvdWxkIGNyYXNoIGJlY2F1c2UgdGhlIGNoZWNrIGZvciBhIHZhbGlkIGZpbGUgd2FzIGRvbmUgd2l0aCBpbgoJICBjb3JyZWN0IG9wZXJhdG9yIHByZWNlZGVuY2UuCVNlZSBidWcjNzM5Mi4KCjIwMDgtMDgtMDQgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wOC0wMyAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA4LTAyIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDgtMDEgMjA6MzggIG1pZ3VlbGYKCgkqIE1vZHVsZXMvRmluZEltYWdlTWFnaWNrLmNtYWtlOiBTVFlMRTogRml4ZWQgbW9kdWxlIGxpc3QgaW4KCSAgZG9jdW1lbnRhdGlvbjsgTWFnaWNrIHNob3VsZCBiZSBNYWdpY2tDb3JlLgoKMjAwOC0wOC0wMSAxMjoxMCAgZGF2aWQuY29sZQoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBCVUc6IEltcHJvdmUgZml4IGZvciBpc3N1ZSAjNzA1OCAtCgkgIGNvbXN1cHBkIGRpZCBub3QgeWV0IGV4aXN0IGluIFZDNi4KCjIwMDgtMDgtMDEgMTE6MDMgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0OiBFTkg6IGZpbmFsIDIuNi4xCgoyMDA4LTA4LTAxIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDctMzEgMTQ6MTYgIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eDogQlVHOiBGaXggaXNzdWUjNDc5MiAtCgkgIGltcHJvdmUgdmVyYm9zZSBhbmQgbG9nIG91dHB1dCB3aGVuIGN0ZXN0IGNhbm5vdCBmaW5kIGEgZmlsZQoJICBkdXJpbmcgY292ZXJhZ2UgYW5hbHlzaXMuCgoyMDA4LTA3LTMxIDEzOjQ2ICBkYXZpZC5jb2xlCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEJVRzogRml4IGlzc3VlICM3MDU4IC0gbGluayB0aGUgY29tbXN1cAoJICBsaWIgZXhwbGljaXRseSBmb3IgdXNlIG9uIHNvbWUgVmlzdWFsIFN0dWRpbyArIFNESyBjb21iaW5hdGlvbnMKCjIwMDgtMDctMzEgMTM6MzYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEJVRzogZml4IGZvciA3NDI2IGJhZCBjaGVjayBmb3IgY3BhY2sKCjIwMDgtMDctMzEgMTI6NTQgIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogRml4IGlzc3VlICM1NzczIC0KCSAgYWRkIHRhYmxlIGVudHJ5IHRvIG1hcCAvVzAgdG8gV2FybmluZ0xldmVsPSIwIgoKMjAwOC0wNy0zMSAxMjowMCAgaG9mZm1hbgoKCSogVGVzdHMvQnVuZGxlR2VuZXJhdG9yVGVzdC9DTWFrZUxpc3RzLnR4dDogRU5IOiBmaXggZm9yIGJyYW5jaAoKMjAwOC0wNy0zMSAxMTo1MiAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWwsCgkgIE1vZHVsZXMvSW5zdGFsbFJlcXVpcmVkU3lzdGVtTGlicmFyaWVzLmNtYWtlLAoJICBTb3VyY2UvY21DYWxsVmlzdWFsU3R1ZGlvTWFjcm8uY3h4LAoJICBTb3VyY2UvY21DYWxsVmlzdWFsU3R1ZGlvTWFjcm8uaCwgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtYWtlLmN4eCwKCSAgVGVzdHMvQ01ha2VMaXN0cy50eHQsIFRlc3RzL0J1bmRsZUdlbmVyYXRvclRlc3QvQnVuZGxlSWNvbi5pY25zLAoJICBUZXN0cy9CdW5kbGVHZW5lcmF0b3JUZXN0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9CdW5kbGVHZW5lcmF0b3JUZXN0L0V4ZWN1dGFibGUuY3h4LAoJICBUZXN0cy9CdW5kbGVHZW5lcmF0b3JUZXN0L0luZm8ucGxpc3QsCgkgIFRlc3RzL0J1bmRsZUdlbmVyYXRvclRlc3QvTGlicmFyeS5jeHgsCgkgIFRlc3RzL0J1bmRsZUdlbmVyYXRvclRlc3QvU3RhcnR1cENvbW1hbmQ6IEVOSDogbWVyZ2UgaW4gc3R1ZmYKCSAgZnJvbSBjdnMgaGVhZCBSQyAxNgoKMjAwOC0wNy0zMSAxMToyOCAgZGF2aWQuY29sZQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4OiBCVUc6IEZpeCBpc3N1ZSAjNDk3MSAtCgkgIHVzZSBsb3dlciBjYXNlIHdoZW4gY29tcGFyaW5nIGZpbGUgbmFtZXMgZnJvbSBnY292IG91dHB1dCBvbgoJICBfV0lOMzIgc2luY2Ugc29tZXRpbWVzIHRoZSBkcml2ZSBsZXR0ZXJzIGhhdmUgZGlmZmVyZW50IGNhc2UuCgoyMDA4LTA3LTMxIDEwOjU0ICBob2ZmbWFuCgoJKiBUZXN0cy9DTWFrZUxpc3RzLnR4dDogRU5IOiBmaXggYnVpbGQgd2l0aCBYY29kZSBwcm9qZWN0IHdhcwoJICBtaXNzaW5nCgoyMDA4LTA3LTMxIDEwOjMzICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmN4eCwgY21ha2UuY3h4LCBjbWFrZS5oLCBjbWFrZW1haW4uY3h4OiBFTkg6CgkgIGFkZCBhIC0tdHJhY2Ugb3B0aW9uCgoyMDA4LTA3LTMxIDAwOjAyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDctMzAgMTY6MzYgIGhvZmZtYW4KCgkqIFRlc3RzL0J1bmRsZUdlbmVyYXRvclRlc3QvQnVuZGxlSWNvbi5pY25zOiBmaWxlIEJ1bmRsZUljb24uaWNucwoJICB3YXMgYWRkZWQgb24gYnJhbmNoIENNYWtlLTItNiBvbiAyMDA4LTA3LTMxIDE1OjUyOjI0ICswMDAwCgoyMDA4LTA3LTMwIDE2OjM2ICBob2ZmbWFuCgoJKiBUZXN0cy9CdW5kbGVHZW5lcmF0b3JUZXN0L0NNYWtlTGlzdHMudHh0OiBmaWxlIENNYWtlTGlzdHMudHh0IHdhcwoJICBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDgtMDctMzEgMTU6NTI6MjUgKzAwMDAKCjIwMDgtMDctMzAgMTY6MzYgIGhvZmZtYW4KCgkqIFRlc3RzL0J1bmRsZUdlbmVyYXRvclRlc3QvRXhlY3V0YWJsZS5jeHg6IGZpbGUgRXhlY3V0YWJsZS5jeHggd2FzCgkgIGFkZGVkIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24gMjAwOC0wNy0zMSAxNTo1MjoyNSArMDAwMAoKMjAwOC0wNy0zMCAxNjozNiAgaG9mZm1hbgoKCSogVGVzdHMvQnVuZGxlR2VuZXJhdG9yVGVzdC9JbmZvLnBsaXN0OiBmaWxlIEluZm8ucGxpc3Qgd2FzIGFkZGVkCgkgIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24gMjAwOC0wNy0zMSAxNTo1MjoyNSArMDAwMAoKMjAwOC0wNy0zMCAxNjozNiAgaG9mZm1hbgoKCSogVGVzdHMvQnVuZGxlR2VuZXJhdG9yVGVzdC9MaWJyYXJ5LmN4eDogZmlsZSBMaWJyYXJ5LmN4eCB3YXMgYWRkZWQKCSAgb24gYnJhbmNoIENNYWtlLTItNiBvbiAyMDA4LTA3LTMxIDE1OjUyOjI1ICswMDAwCgoyMDA4LTA3LTMwIDE2OjM2ICBob2ZmbWFuCgoJKiBUZXN0cy9CdW5kbGVHZW5lcmF0b3JUZXN0L1N0YXJ0dXBDb21tYW5kOiBmaWxlIFN0YXJ0dXBDb21tYW5kIHdhcwoJICBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDgtMDctMzEgMTU6NTI6MjUgKzAwMDAKCjIwMDgtMDctMzAgMTY6MzYgIGRhdmlkLmNvbGUKCgkqIFRlc3RzLzogQ01ha2VMaXN0cy50eHQsIEJ1bmRsZUdlbmVyYXRvclRlc3QvQnVuZGxlSWNvbi5pY25zLAoJICBCdW5kbGVHZW5lcmF0b3JUZXN0L0NNYWtlTGlzdHMudHh0LAoJICBCdW5kbGVHZW5lcmF0b3JUZXN0L0V4ZWN1dGFibGUuY3h4LAoJICBCdW5kbGVHZW5lcmF0b3JUZXN0L0luZm8ucGxpc3QsIEJ1bmRsZUdlbmVyYXRvclRlc3QvTGlicmFyeS5jeHgsCgkgIEJ1bmRsZUdlbmVyYXRvclRlc3QvU3RhcnR1cENvbW1hbmQ6IEVOSDogQWRkIHRlc3QgZm9yIHRoZSBuZXcKCSAgQ1BhY2sgQnVuZGxlR2VuZXJhdG9yLiBUaGFua3MgdG8gVGltIFNoZWFkIGZvciB0aGUgcGF0Y2guIFNlZQoJICBpc3N1ZSAjNzE3MCBmb3IgbW9yZSBkZXRhaWxzLgoKMjAwOC0wNy0zMCAxNTo0MyAgZGF2aWQuY29sZQoKCSogTW9kdWxlcy9JbnN0YWxsUmVxdWlyZWRTeXN0ZW1MaWJyYXJpZXMuY21ha2U6IEJVRzogRml4IGlzc3VlCgkgICM2NjEwLiBVc2UgNjQtYml0IHN5c3RlbSBiaW5hcmllcyB3aGVuIHVzaW5nIHRoZSA2NC1iaXQgTVNWQwoJICBjb21waWxlci4gVGhhbmtzIHRvIENsaW50b24gU3RpbXBzb24gZm9yIHRoZSBwYXRjaC4KCjIwMDgtMDctMzAgMTU6MjYgIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS86IGNtQ2FsbFZpc3VhbFN0dWRpb01hY3JvLmN4eCwgY21DYWxsVmlzdWFsU3R1ZGlvTWFjcm8uaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW9HZW5lcmF0b3IuY3h4LCBjbWFrZS5jeHg6IEJVRzogRml4IGlzc3VlCgkgICM3MDg4IC0gZG8gbm90IGVtaXQgZXJyb3IgbWVzc2FnZXMgd2hlbiBhdHRlbXB0cyB0byBydW4gVmlzdWFsCgkgIFN0dWRpbyBtYWNyb3MgZmFpbC4gWW91IGNhbiBzdGlsbCBnZXQgdGhlIGVycm9yIG91dHB1dCBhcwoJICBtZXNzYWdlcyBpZiB5b3Ugd2FudCB1c2luZyAtLWRlYnVnLW91dHB1dCBmcm9tIHRoZSBjbWFrZSBjb21tYW5kCgkgIGxpbmUuCgoyMDA4LTA3LTMwIDE1OjE4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeCBmb3IgYnVnIDc0MjcsIHByZWluc3RhbGwKCSAgdGFyZ2V0IG5hbWUgaGFyZCBjb2RlZAoKMjAwOC0wNy0zMCAxNDo1NCAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWwsIE1vZHVsZXMvRmluZEJvb3N0LmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRJbWFnZU1hZ2ljay5jbWFrZSwgTW9kdWxlcy9GaW5kSlBFRy5jbWFrZSwKCSAgU291cmNlL2NtQ29tcHV0ZUxpbmtEZXBlbmRzLmN4eCwgU291cmNlL2NtQ29tcHV0ZUxpbmtEZXBlbmRzLmgsCgkgIFNvdXJjZS9jbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uY3h4LCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU9yZGVyRGlyZWN0b3JpZXMuY3h4LCBTb3VyY2UvY21PcmRlckRpcmVjdG9yaWVzLmgsCgkgIFNvdXJjZS9jbVNvdXJjZUZpbGVMb2NhdGlvbi5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrUGFja2FnZU1ha2VyR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tQYWNrYWdlTWFrZXJHZW5lcmF0b3IuaDogRU5IOiBtZXJnZSBpbiBmcm9tCgkgIG1haW4gdHJlZSBSQyAxNQoKMjAwOC0wNy0zMCAxMzoyOCAgZGF2aWQuY29sZQoKCSogU291cmNlL0NQYWNrLzogY21DUGFja1BhY2thZ2VNYWtlckdlbmVyYXRvci5jeHgsCgkgIGNtQ1BhY2tQYWNrYWdlTWFrZXJHZW5lcmF0b3IuaDogQlVHOiBGaXggaXNzdWUgIzc0MTQgLSBkbyBub3QKCSAgY3Jhc2ggd2hlbiBnaXZlbiBjb21wb25lbnRzIHdpdGggY2lyY3VsYXIgZGVwZW5kZW5jaWVzLiBUaGFua3MgdG8KCSAgRG91ZyBHcmVnb3IgZm9yIHRoZSBwYXRjaC4KCjIwMDgtMDctMzAgMTE6MDYgIGtpbmcKCgkqIFNvdXJjZS9jbVNvdXJjZUZpbGVMb2NhdGlvbi5jeHg6IEVOSDogUmVjb2duaXplIHNyYyBleHRlbnNpb25zIG9mCgkgIGFsbCBlbmFibGVkIGxhbmdzCgoJICBGb3IgaGlzdG9yaWNhbCByZWFzb25zIHdlIHN0aWxsIHN1cHBvcnQgbmFtaW5nIG9mIHNvdXJjZSBmaWxlcwoJICB3aXRob3V0IHRoZWlyIGV4dGVuc2lvbi4gIFNvdXJjZXMgd2l0aG91dCBrbm93biBleHRlbnNpb25zIGFyZQoJICBsb2NhdGVkIG9uIGRpc2sgYnkgaXRlcmF0aW5nIHRocm91Z2ggYSBmaXhlZCBzZXQgb2YgcG9zc2libGUKCSAgZXh0ZW5zaW9ucy4gIFdlIG5vdyB3YW50IHVzZXJzIHRvIGFsd2F5cyBzcGVjaWZ5IHRoZSBleHRlbnNpb24sCgkgIHNvIHRoZSBmaXhlZCBzZXQgd2lsbCBub3QgYmUgZXhwYW5kZWQgYW5kIGlzIHByZXNlcnZlZCBmb3IKCSAgY29tcGF0aWJpbGl0eSB3aXRoIG9sZGVyIHByb2plY3RzLgoKCSAgVGhpcyBjaGFuZ2UgYWRkcyByZWNvZ25pdGlvbiBvZiBleHRlbnNpb25zIG9mIGFsbCBlbmFibGVkCgkgIGxhbmd1YWdlcyB0byBhdm9pZCBjaGVja2luZyB0aGUgZGlzayBmb3IgZmlsZXMgd2hvc2UgZXh0ZW5zaW9ucwoJICBhcmUgdW5hbWJpZ3VvdXMgYnV0IG5vdCBpbiB0aGUgb3JpZ2luYWwgZml4ZWQgc2V0LgoKMjAwOC0wNy0zMCAxMTowNiAga2luZwoKCSogU291cmNlL2NtU291cmNlRmlsZUxvY2F0aW9uLmN4eDogQlVHOiBBdm9pZCBkb3VibGUtc2xhc2ggaW4gY2hlY2sKCSAgZm9yIHNvdXJjZSBmaWxlCgoyMDA4LTA3LTMwIDEwOjQ0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEJVRzogZml4IGZvciBidWcgNzQyMSwgZm9ydHJhbiBkaWQKCSAgbm90IGdldCBhcmNoIGZsYWdzIG9uIHRoZSBtYWMKCjIwMDgtMDctMzAgMTA6MjMgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ29tcHV0ZUxpbmtEZXBlbmRzLmN4eCwgY21Db21wdXRlTGlua0RlcGVuZHMuaCwKCSAgY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmN4eDogQlVHOiBQcmVzZXJ2ZSBhbGwgbm9uLXRhcmdldHMgb24KCSAgdXNlciBsaW5rIGxpbmVzCgoJICBJbiBDTWFrZSAyLjQgdGhlIGdlbmVyYXRlZCBsaW5rIGxpbmUgZm9yIGEgdGFyZ2V0IGFsd2F5cwoJICBwcmVzZXJ2ZWQgdGhlIG9yaWdpbmFsbHkgc3BlY2lmaWVkIGxpYnJhcmllcyBpbiB0aGVpciBvcmlnaW5hbAoJICBvcmRlci4gIERlcGVuZGVuY2llcyB3ZXJlIHNhdGlzZmllZCBieSBpbnNlcnRpbmcgZXh0cmEgbGlicmFyaWVzCgkgIGludG8gdGhlIGxpbmUsIHRob3VnaCBpdCBoYWQgc29tZSBidWdzLiAgSW4gQ01ha2UgMi42LjAgd2UKCSAgcHJlc2VydmVkIG9ubHkgdGhlIGl0ZW1zIG9uIHRoZSBsaW5rIGxpbmUgdGhhdCBhcmUgbm90IGtub3duIHRvCgkgIGJlIHNoYXJlZCBsaWJyYXJpZXMuCVRoaXMgcmVkdWNlZCBleGNlc3MgbGlicmFyaWVzIG9uIHRoZSBsaW5rCgkgIGxpbmUuICBIb3dldmVyLCBzaW5jZSB3ZSBsaW5rIHRvIHN5c3RlbSBsaWJyYXJpZXMgKHN1Y2ggYXMKCSAgL3Vzci9saWIvbGlibS5zbykgYnkgYXNraW5nIHRoZSBsaW5rZXIgdG8gc2VhcmNoICgtbG0pLCBzb21lCgkgIGxpbmtlcnMgc2VjcmV0bHkgcmVwbGFjZSB0aGUgbGlicmFyeSB3aXRoIGEgc3RhdGljIGxpYnJhcnkgaW4KCSAgYW5vdGhlciBpbXBsaWNpdCBzZWFyY2ggZGlyZWN0b3J5IChkZXZlbG9wZXJzIGNhbiBvdmVycmlkZSB0aGlzCgkgIGJ5IHVzaW5nIGFuIGltcG9ydGVkIHRhcmdldCB0byBmb3JjZSBsaW5raW5nIGJ5IGZ1bGwgcGF0aCkuICBXaGVuCgkgIHRoaXMgaGFwcGVucyB0aGUgb3JkZXIgc3RpbGwgbWF0dGVycy4KCgkgIFRvIGF2b2lkIHRoaXMgYW5kIG90aGVyIHBvdGVudGlhbCBzdWJ0bGUgaXNzdWVzIHRoaXMgY29tbWl0CgkgIHJlc3RvcmVzIHByZXNlcnZhdGlvbiBvZiBhbGwgbm9uLXRhcmdldCBpdGVtcyBhbmQgc3RhdGljIGxpYnJhcnkKCSAgdGFyZ2V0cy4gIFRoaXMgd2lsbCBjcmVhdGUgY2FzZXMgb2YgdW5uZWNlc3NhcnksIGR1cGxpY2F0ZSBzaGFyZWQKCSAgbGlicmFyaWVzIG9uIHRoZSBsaW5rIGxpbmUgaWYgdGhlIHVzZXIgc3BlY2lmaWVzIHRoZW0sIGJ1dCBhdAoJICBsZWFzdCBpdCB3aWxsIHdvcmsuICBJbiB0aGUgZnV0dXJlIHdlIGNhbiBhdHRlbXB0IGEgbW9yZSBhZHZhbmNlZAoJICBhbmFseXNpcyB0byBzYWZlbHkgcmVtb3ZlIGR1cGxpY2F0ZSBzaGFyZWQgbGlicmFyaWVzIGZyb20gdGhlCgkgIGxpbmsgbGluZS4KCjIwMDgtMDctMzAgMDk6MjUgIGtpbmcKCgkqIFNvdXJjZS9jbUNvbXB1dGVMaW5rRGVwZW5kcy5jeHg6IEJVRzogUHJlc2VydmUgc2hhcmVkIGxpYiBvcmRlcgoJICBmb3IgMi40IGNvbXBhdGliaWxpdHkKCgkgIFdlIHByZXNlcnZlIHRoZSBvcmRlciBhbmQgbXVsdGlwbGljaXR5IG9mIGxpYnJhcmllcyBkaXJlY3RseQoJICBsaW5rZWQgYnkgYSB0YXJnZXQgYXMgc3BlY2lmaWVkIGJ5IHRoZSB1c2VyLglJdGVtcyBrbm93biB0byBiZQoJICBzaGFyZWQgbGlicmFyaWVzIG1heSBiZSBzYWZlbHkgc2tpcHBlZCBiZWNhdXNlIG9yZGVyIHByZXNlcnZhdGlvbgoJICBpcyBvbmx5IG5lZWRlZCBmb3Igc3RhdGljIGxpYnJhcmllcy4JSG93ZXZlciwgQ01ha2UgMi40IGRpZCBub3QKCSAgc2tpcCBzaGFyZWQgbGlicywgc28gd2UgZG8gdGhlIHNhbWUgd2hlbiBpbiAyLjQgY29tcGF0aWJpbGl0eQoJICBtb2RlLgoKMjAwOC0wNy0zMCAwMDowMiAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA3LTI5IDE2OjQxICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRKUEVHLmNtYWtlOiBCVUc6ICM3NDE2ICBmaXggZXJyb3Igd2hlbiBqcGVnIGlzIG5vdAoJICBmb3VuZAoKMjAwOC0wNy0yOSAxNDo1NyAga2luZwoKCSogU291cmNlLzogY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmN4eCwgY21PcmRlckRpcmVjdG9yaWVzLmN4eCwKCSAgY21PcmRlckRpcmVjdG9yaWVzLmg6IEVOSDogV2FybiB3aGVuIHN5c3RlbSBsaWJyYXJpZXMgbWF5IGJlCgkgIGhpZGRlbi4KCgkgIFdlIG5ldmVyIGV4cGxpY2l0bHkgc3BlY2lmeSBzeXN0ZW0gbGlicmFyeSBkaXJlY3RvcmllcyBpbiBsaW5rZXIKCSAgb3IgcnVudGltZSBzZWFyY2ggcGF0aHMuICBGdXJ0aGVybW9yZSwgbGlicmFyaWVzIGluIHRoZXNlCgkgIGRpcmVjdG9yaWVzIGFyZSBhbHdheXMgbGlua2VkIGJ5IGFza2luZyB0aGUgbGlua2VyIHRvIHNlYXJjaCBmb3IKCSAgdGhlbS4gIFdlIG5lZWQgdG8gZ2VuZXJhdGUgYSB3YXJuaW5nIHdoZW4gZXhwbGljaXRseSBzcGVjaWZpZWQKCSAgc2VhcmNoIGRpcmVjdG9yaWVzIGNvbnRhaW4gZmlsZXMgdGhhdCBtYXkgaGlkZSB0aGUgc3lzdGVtCgkgIGxpYnJhcmllcyBkdXJpbmcgdGhlIHNlYXJjaC4KCjIwMDgtMDctMjkgMTQ6MDEgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5jeHgsIGNtT3JkZXJEaXJlY3Rvcmllcy5jeHgsCgkgIGNtT3JkZXJEaXJlY3Rvcmllcy5oOiBFTkg6IFByb3ZpZGUgY29udGV4dCBpbiBwYXRoIG9yZGVyaW5nCgkgIHdhcm5pbmdzCgoyMDA4LTA3LTI5IDE0OjAwICBraW5nCgoJKiBTb3VyY2UvY21PcmRlckRpcmVjdG9yaWVzLmN4eDogU1RZTEU6IEZpeCB0eXBvIGluIGNvbW1lbnQgaW4KCSAgY21PcmRlckRpcmVjdG9yaWVzCgoyMDA4LTA3LTI5IDEwOjUxICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmN4eDogRU5IOiBkbyBub3QgZGVwZW5kIG9uIGZpbGVzCgkgIHRoYXQgZG8gbm90IGV4aXN0CgoyMDA4LTA3LTI5IDAwOjAyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDctMjggMTU6NDAgIGRncmVnb3IKCgkqIE1vZHVsZXMvRmluZEJvb3N0LmNtYWtlOiBCVUc6IEJlIG1vcmUgY2FyZWZ1bCB3aXRoCgkgIEJvb3N0X01JTk9SX1ZFUlNJT04gaW4gRmluZEJvb3N0IG1vZHVsZQoKMjAwOC0wNy0yOCAxNDozMyAgZGdyZWdvcgoKCSogTW9kdWxlcy9GaW5kQm9vc3QuY21ha2U6IEJVRzogV29yayBhcm91bmQgQm9vc3QgMS4zNi4wIGJ1ZyBmaXggb24KCSAgRGFyd2luIGJ5IHNldHRpbmcgdGhlIG1hbmdsZWQgY29tcGlsZXIgbmFtZSB0byAteGdjY1ZFUlNJT04KCjIwMDgtMDctMjggMTE6MzEgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDVGVzdENvbmZpZy5jbWFrZSwgQ2hhbmdlTG9nLm1hbnVhbCwKCSAgRGFydENvbmZpZy5jbWFrZSwgU291cmNlL2NtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5jeHgsCgkgIFNvdXJjZS9jbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uaCwgU291cmNlL2NtUG9saWNpZXMuY3h4LAoJICBTb3VyY2UvY21Qb2xpY2llcy5oLCBTb3VyY2UvY21UYXJnZXQuY3h4LCBTb3VyY2UvY21UYXJnZXQuaDogRU5IOgoJICBtZXJnZSBpbiBwb2xpY3kgMDAwOCBhbmQgY2Rhc2ggZGlyZWN0IHN1Ym1pc3Npb24KCjIwMDgtMDctMjggMDA6MDIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNy0yNyAwMDowMiAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA3LTI2IDAwOjAyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDctMjUgMjM6MjMgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLCBNb2R1bGVzL0ZpbmRKTkkuY21ha2UsCgkgIFNvdXJjZS9jbVNvdXJjZUZpbGVMb2NhdGlvbi5jeHg6IEVOSDogbWVyZ2UgaW4gZnJvbSBtYWluIHRyZWUgYW5kCgkgIGZpeCBidWcgZm9yIGZsZXggYW5kIHlhY2Mgc3R1ZmYgaW4gU2Vjb25kTGlmZQoKMjAwOC0wNy0yNSAxODowMCAgaG9mZm1hbgoKCSogU291cmNlL2NtU291cmNlRmlsZUxvY2F0aW9uLmN4eDogQlVHOiBmaXggc291cmNlIGZpbGUgZXh0ZW5zaW9uCgkgIGJ1ZyB0aGF0IGJyb2tlIFNlY29uZCBsaWZlIGJ1aWxkCgoyMDA4LTA3LTI1IDAwOjAyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDctMjQgMDA6MDIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNy0yMyAxMjo1OSAga2luZwoKCSogU291cmNlLzogY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmN4eCwKCSAgY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmgsIGNtUG9saWNpZXMuY3h4LCBjbVBvbGljaWVzLmgsCgkgIGNtVGFyZ2V0LmN4eCwgY21UYXJnZXQuaDogRU5IOiBTdXBwb3J0IGZ1bGwtcGF0aCBsaWJzIHcvb3V0IHZhbGlkCgkgIG5hbWVzLgoKCSAgVGhpcyBjaGFuZ2UgaW50cm9kdWNlcyBwb2xpY3kgQ01QMDAwOCB0byBkZWNpZGUgaG93IHRvIHRyZWF0IGZ1bGwKCSAgcGF0aCBsaWJyYXJpZXMgdGhhdCBkbyBub3QgYXBwZWFyIHRvIGJlIHZhbGlkIGxpYnJhcnkgZmlsZSBuYW1lcy4KCSAgIFN1Y2ggbGlicmFyaWVzIHdvcmtlZCBieSBhY2NpZGVudCBpbiB0aGUgVlMgSURFIGFuZCBYY29kZQoJICBnZW5lcmF0b3JzIHdpdGggQ01ha2UgMi40IGFuZCBiZWxvdy4JV2Ugc3VwcG9ydCB0aGVtIGluIENNYWtlCgkgIDIuNiBieSBpbnRyb2R1Y2luZyB0aGlzIHBvbGljeS4gIFNlZSBwb2xpY3kgZG9jdW1lbnRhdGlvbiBhZGRlZAoJICBieSB0aGlzIGNoYW5nZSBmb3IgZGV0YWlscy4KCjIwMDgtMDctMjMgMTI6MTkgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5jeHgsCgkgIGNtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5oOiBFTkg6IFNraXAgbGlicyBpbiBrbm93biBkaXJzIGZvcgoJICBDTVAwMDAzIHdhcm5pbmdzLgoKCSAgU29tZXRpbWVzIHdlIGFzayB0aGUgbGlua2VyIHRvIHNlYXJjaCBmb3IgYSBsaWJyYXJ5IGZvciB3aGljaCB0aGUKCSAgcGF0aCBpcyBrbm93biBidXQgZm9yIHNvbWUgcmVhc29uIGNhbm5vdCBiZSBzcGVjaWZpZWQgYnkgZnVsbAoJICBwYXRoLiAgSW4gdGhlc2UgY2FzZXMgZG8gbm90IGluY2x1ZGUgdGhlIGxpYnJhcnkgaW4gQ01QMDAwMwoJICB3YXJuaW5ncyBiZWNhdXNlIHdlIGtub3cgdGhlIGV4dHJhIHBhdGhzIGFyZSBub3QgbmVlZGVkIGZvciBpdC4KCjIwMDgtMDctMjMgMDI6NDcgIG1pZ3VlbGYKCgkqIE1vZHVsZXMvRmluZEltYWdlTWFnaWNrLmNtYWtlOiBFTkg6IFVwZGF0ZWQgRmluZEltYWdlTWFnaWNrIHRvOiAtCgkgIEZpbmQgbmV3ZXIgYWRkaXRpb25zIHN1Y2ggYXMgYW5pbWF0ZSwgY29tcGFyZSwgZXRjLiAgLSBGaW5kCgkgIGRldmVsb3BtZW50IGFwaTogTWFnaWNrKyssIE1hZ2lja0NvcmUsIE1hZ2lja1dhbmQgLSBVc2UKCSAgRmluZFBhY2thZ2VIYW5kbGVTdGFuZGFyZEFyZ3MgdG8gb3V0cHV0IHN0YW5kYXJkIG1lc3NhZ2VzLgoKMjAwOC0wNy0yMyAwMDowMiAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA3LTIyIDE0OjA0ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwKCSAgTW9kdWxlcy9DaGVja0ZvcnRyYW5GdW5jdGlvbkV4aXN0cy5jbWFrZSwgTW9kdWxlcy9GaW5kQkxBUy5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kTEFQQUNLLmNtYWtlLCBNb2R1bGVzL0ZpbmRNUEkuY21ha2UsCgkgIE1vZHVsZXMvRmluZHd4V2lkZ2V0cy5jbWFrZSwgU291cmNlL2NtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5jeHgsCgkgIFNvdXJjZS9jbURvY3VtZW50VmFyaWFibGVzLmN4eCwgU291cmNlL2NtRG9jdW1lbnRhdGlvbi5jeHgsCgkgIFNvdXJjZS9jbURvY3VtZW50YXRpb25Gb3JtYXR0ZXIuY3h4LAoJICBTb3VyY2UvY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVySFRNTC5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tCdW5kbGVHZW5lcmF0b3IuY3h4OiBFTkg6IG1lcmdlIGluIGNoYW5nZXMKCSAgZnJvbSBtYWluIHRyZWUgZm9yIFJDMTIKCjIwMDgtMDctMjIgMTM6MzQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBGaW5kQkxBUy5jbWFrZSwgRmluZExBUEFDSy5jbWFrZSwgRmluZE9wZW5TU0wuY21ha2U6CgkgIEVOSDogY2hhbmdlIHRvIGNvcnJlY3QgbGluZSBmZWVkCgoyMDA4LTA3LTIyIDEzOjMyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IENPTVA6IGZpeCBjb21waWxlciB3YXJuaW5nIGFuZAoJICBmb2xsb3cgc3R5bGUKCjIwMDgtMDctMjIgMDc6MTUgIGFsaW4uZWxlbmEKCgkqIE1vZHVsZXMvOiBDaGVja0ZvcnRyYW5GdW5jdGlvbkV4aXN0cy5jbWFrZSwgRmluZEJMQVMuY21ha2UsCgkgIEZpbmRMQVBBQ0suY21ha2U6CgkgIEVOSDoJRmluZEJMQVMuY21ha2UsIEZpbmRMQVBBQ0suY21ha2UgbW9kdWxlcyB3ZXJlIHJlZGVzaWduZWQgc28KCSAgbm93IHlvdSBoYXZlIHRocmVlIG5ldyB2YXJpYWJsZXMgQkxBX1ZFTkRPUiAoeW91IGNhbiBzcGVjaWZ5IHRoZQoJICBWRU5ET1IpLCBCTEFfU1RBVElDIChnZXRzIHRoZSBzdGF0aWMgdmVyc2lvbiBvZiBsaWJzKSwgQkxBX0Y5NQoJICAoZ2V0cyB0aGUgZm9ydHJhbiA5NSBpbnRlcmZhY2UpLiBCTEFfVkVORE9SIGNhbiBiZSBzcGVjaWZpZWQgYXMKCSAgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUuIEludGVsIG1rbHMgbGlicyBuZWVkIEZpbmRUaHJlYWRzIHRvIGJlCgkgIGZvdW5kIGNvcnJlY3RseSBzbyB5b3Ugd2lsbCBuZWVkIHRvIGVuYWJsZSB0aGUgQy9DWFgKCjIwMDgtMDctMjIgMDA6MDIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNy0yMSAxNzo1MiAgYWxleAoKCSogU291cmNlLzogY21Eb2N1bWVudGF0aW9uLmN4eCwgY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVyLmN4eCwKCSAgY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVySFRNTC5jeHg6IEVOSDogaGFuZGxlIEhUTUwgZG9jdW1lbnRhdGlvbgoJICBmb3Igc2luZ2xlIGl0ZW1zIGJldHRlcjogbm8gd2FybmluZyBhYm91dAoJICBDb21wdXRlU2VjdGlvbkxpbmtQcmVmaXgsIGRvbid0IGNyZWF0ZSBhbiBpbmRleCBmb3Igb25seSBvbmUgaXRlbQoKCSAgQWxleAoKMjAwOC0wNy0yMSAxNTo0NCAgaG9mZm1hbgoKCSogQ1Rlc3RDb25maWcuY21ha2UsIERhcnRDb25maWcuY21ha2U6IEVOSDogc3dpdGNoIHRvIHVzaW5nIGNkYXNoCgkgIGZvciBzdWJtaXNzaW9ucwoKMjAwOC0wNy0yMSAxNTozNCAgaG9mZm1hbgoKCSogTW9kdWxlcy86IEZpbmRCTEFTLmNtYWtlLCBGaW5kTEFQQUNLLmNtYWtlOiBFTkg6IGdldCBvdXQgb2YKCSAgbW9kdWxlIGlmIG5vIGZvcnRyYW4KCjIwMDgtMDctMjEgMTU6MTEgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBGaW5kQkxBUy5jbWFrZSwgRmluZExBUEFDSy5jbWFrZTogRU5IOiB0aGlzIHNob3VsZCBmYWlsCgkgIG9ubHkgaWYgcmVxdWlyZWQgaXMgc2VudCB0byBmaW5kIHBhY2thZ2UKCjIwMDgtMDctMjEgMTM6NDAgIGFsaW4uZWxlbmEKCgkqIE1vZHVsZXMvOiBGaW5kQkxBUy5jbWFrZSwgRmluZExBUEFDSy5jbWFrZToKCSAgRU5IOiBjaGVja3MgaWYgRm9ydHJhbiBpcyBlbmJhbGVkLiBJZiBub3QgYW4gZXJyb3IgbWVzc2FnZSBpcwoJICBwcm9kdWNlZC4KCjIwMDgtMDctMjEgMTA6MDcgIGtpbmcKCgkqIFNvdXJjZS9jbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uY3h4OiBFTkg6IFN1cHBvcnQgZnVsbC1wYXRoIGxpYnMKCSAgdy9vdXQgZXh0ZW5zaW9uIGluIFZTIElERS4KCgkgICAgLSBUaGlzIGNhc2Ugd29ya2VkIGFjY2lkZW50YWxseSBpbiBDTWFrZSAyLjQsIHRob3VnaCBub3QgaW4KCSAgTWFrZWZpbGVzLgoJICAgIC0gU29tZSBwcm9qZWN0cyBidWlsZCBvbmx5IHdpdGggdGhlIFZTIElERSBvbiB3aW5kb3dzIGFuZCBoYXZlCgkgIHRoaXMKCSAgICAgIG1pc3Rha2UuCgkgICAgLSBTdXBwb3J0IHRoZW0gd2hlbiAyLjQgY29tcGF0aWJpbGl0eSBpcyBlbmFibGVkIGJ5IGFkZGluZyB0aGUKCSAgZXh0ZW5zaW9uLgoKMjAwOC0wNy0yMSAwNDo1NiAgYWxpbi5lbGVuYQoKCSogTW9kdWxlcy86IENoZWNrRm9ydHJhbkZ1bmN0aW9uRXhpc3RzLmNtYWtlLCBGaW5kTEFQQUNLLmNtYWtlOgoJICBFTkg6IE1vZHVsZXMvQ2hlY2tGb3J0cmFuRnVuY3Rpb25FeGlzdHMuY21ha2UgaGVscHMgZ2ZvcnRyYW4gdG8KCSAgY2hlY2sgdGhlIGV4aXN0ZW5jZSBvZiBhIGZpbGUgRU5IOiBNb2R1bGVzL0ZpbmRMQVBBQ0suY21ha2UKCSAgcmV0dXJucyB0aGUgZnVsbCBsaXN0IG9mIGxpYnJhcmllcyByZXF1aXJlZCB0byBsaW5rIGFnYWluc3QKCSAgTGFwYWNrCgoyMDA4LTA3LTIxIDAwOjAyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDctMjAgMTc6MTQgIGFsZXgKCgkqIFNvdXJjZS9jbURvY3VtZW50VmFyaWFibGVzLmN4eDogU1RZTEU6IGZpeCAjNzE0NiwgYWRkCgkgIGRvY3VtZW50YXRpb24gZm9yCgkgIENNQUtFW19TWVNURU1dXyhMSUJSQVJZfFBST0dSQU18SU5DTFVERXxQUkVGSVgpX1BBVEggdmFyaWFibGVzCgkgIC1tb3ZlZCBDTUFLRV9DUk9TU0NPTVBJTElORyBmcm9tICJWYXJpYWJsZXMgdGhhdCBtb2RpZnkKCSAgYmVoYXZpb3VyIiB0byAidmFyaWFibGVzIHRoYXQgUHJvdmlkZSBJbmZvcm1hdGlvbiIsIHNpbmNlIGl0CgkgIHNob3VsZCBiZSB1c2VkIG9ubHkgZm9yIHRlc3Rpbmcgd2hldGhlciB3ZSBhcmUgY3VycmVudGx5IGluIGNyb3NzCgkgIGNvbXBpbGluZyBtb2RlLCBub3QgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIHRoZSBtb2Rlcy4KCgkgIEFsZXgKCjIwMDgtMDctMjAgMTU6NTAgIGFsZXgKCgkqIE1vZHVsZXMvRmluZEpOSS5jbWFrZTogQlVHOiAjNzMzMywgc2VhcmNoIGRpcnMgZm9yIEZlZG9yYQoKCSAgQWxleAoKMjAwOC0wNy0yMCAxNTo0NSAgYWxleAoKCSogTW9kdWxlcy9GaW5kSk5JLmNtYWtlOiBCVUc6ICM3MzYwOiBhZGQgc3VwcG9ydCBmb3IgRnJlZUJTRCBCVUc6CgkgICM3MzQ1OiBhZGQgc3VwcG9ydCBmb3IgcHBjCgoJICBBbGV4CgoyMDA4LTA3LTIwIDE1OjM5ICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRKTkkuY21ha2U6IEJVRzogZml4ICM2NDE2OiBwcm92aWRlIEpOSV9MSUJSQVJJRVMgYW5kCgkgIEpOSV9JTkNMVURFX0RJUlMKCgkgIEFsZXgKCjIwMDgtMDctMTkgMjM6NTIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNy0xOCAyMzo1MiAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA3LTE4IDE2OjEyICBkYXZpZC5jb2xlCgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja0J1bmRsZUdlbmVyYXRvci5jeHg6IEVOSDogSW1wcm92ZW1lbnRzIHRvIHRoZQoJICBidW5kbGUgY3BhY2sgZ2VuZXJhdG9yIGZyb20gc2Vjb25kIHBhdGNoIGF0dGFjaGVkIHRvIGZlYXR1cmUKCSAgcmVxdWVzdCAjNzE3MC4gVGhhbmtzIHRvIFRpbSBTaGVhZC4KCjIwMDgtMDctMTggMTE6MjQgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLAoJICBVdGlsaXRpZXMvY21jdXJsL0NNYWtlTGlzdHMudHh0LAoJICBVdGlsaXRpZXMvY21jdXJsL0NNYWtlL0NoZWNrQ1NvdXJjZUNvbXBpbGVzLmNtYWtlLAoJICBVdGlsaXRpZXMvY21jdXJsL0NNYWtlL0NoZWNrQ1NvdXJjZVJ1bnMuY21ha2UsCgkgIFV0aWxpdGllcy9jbWN1cmwvQ01ha2UvQ3VybENoZWNrQ1NvdXJjZUNvbXBpbGVzLmNtYWtlLAoJICBVdGlsaXRpZXMvY21jdXJsL0NNYWtlL0N1cmxDaGVja0NTb3VyY2VSdW5zLmNtYWtlLAoJICBVdGlsaXRpZXMvY21jdXJsL0NNYWtlL090aGVyVGVzdHMuY21ha2U6IEVOSDogbWVyZ2UgaW4gZml4IGZvcgoJICB4Y29kZSAzLjEgYnVpbGQgZnJvbSBtYWluIHRyZWUKCjIwMDgtMDctMTggMDg6MTcgIGRncmVnb3IKCgkqIE1vZHVsZXMvRmluZE1QSS5jbWFrZTogRU5IOiBVc2UgdGhlIEhJTlRTIGZlYXR1cmUgb2YgZmluZF9saWJyYXJ5CgkgIHRvIGZpbmQgdGhlIHJpZ2h0IGxpYnJhcmllcyBmb3IgICBNUEksIGFuZCBhY3QgYSBiaXQgbW9yZQoJICBpbnRlbGxpZ2VudGx5IHdoZW4gTVBJIGNhbm5vdCBiZSBmb3VuZC4KCjIwMDgtMDctMTcgMjM6NTIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNy0xNyAxNToxOSAga2luZwoKCSogVXRpbGl0aWVzL2NtY3VybC9DTWFrZUxpc3RzLnR4dDogQ09NUDogQ2hlY2sgZm9yIC1Xbm8tbG9uZy1kb3VibGUKCSAgYmVmb3JlIHVzaW5nCgoJICBPbGRlciBHQ0Mgb24gdGhlIE1hYyB3YXJucyBmb3IgdXNlIG9mIGxvbmcgZG91YmxlLCBzbyB3ZSB1c2UKCSAgLVduby1sb25nLWRvdWJsZS4gIE5ld2VyIEdDQyBvbiB0aGUgTWFjIGRvZXMgbm90IGhhdmUgdGhpcyBmbGFnCgkgIGFuZCBnaXZlcyBhbiBlcnJvci4gIFdlIG5vdyBjaGVjayBmb3IgdGhlIGZsYWcgYmVmb3JlIHVzaW5nIGl0LgoJICBTZWUgYnVnICM3MzU3LgoKMjAwOC0wNy0xNyAxNToxOSAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL2NtY3VybC9DTWFrZS9DdXJsQ2hlY2tDU291cmNlQ29tcGlsZXMuY21ha2U6IGZpbGUKCSAgQ3VybENoZWNrQ1NvdXJjZUNvbXBpbGVzLmNtYWtlIHdhcyBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uCgkgIDIwMDgtMDctMTggMTU6MjQ6MjYgKzAwMDAKCjIwMDgtMDctMTcgMTU6MTkgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9jbWN1cmwvQ01ha2UvQ3VybENoZWNrQ1NvdXJjZVJ1bnMuY21ha2U6IGZpbGUKCSAgQ3VybENoZWNrQ1NvdXJjZVJ1bnMuY21ha2Ugd2FzIGFkZGVkIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24KCSAgMjAwOC0wNy0xOCAxNToyNDoyNiArMDAwMAoKMjAwOC0wNy0xNyAxNToxOSAga2luZwoKCSogVXRpbGl0aWVzL2NtY3VybC9DTWFrZS86IENoZWNrQ1NvdXJjZUNvbXBpbGVzLmNtYWtlLAoJICBDaGVja0NTb3VyY2VSdW5zLmNtYWtlLCBDdXJsQ2hlY2tDU291cmNlQ29tcGlsZXMuY21ha2UsCgkgIEN1cmxDaGVja0NTb3VyY2VSdW5zLmNtYWtlLCBPdGhlclRlc3RzLmNtYWtlOiBFTkg6IEF2b2lkIGNtY3VybAoJICBDTWFrZSBtYWNybyBuYW1lIGNvbmZsaWN0cwoKCSAgVXRpbGl0aWVzL2NtY3VybC9DTWFrZSBwcm92aWRlcyBtYWNyb3Mgd2l0aCB0aGUgc2FtZSBmaWxlIG5hbWVzCgkgIGFuZCBtYWNybyBuYW1lcyBhcyBvdGhlcnMgaW4gTW9kdWxlcywgYnV0IHdpdGggZGlmZmVyZW50CgkgIGludGVyZmFjZXMuICBXZSByZW5hbWUgdGhlIGN1cmwgb25lcyB0byBhdm9pZCBjb25mbGljdC4KCjIwMDgtMDctMTcgMTA6MTQgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuaCwgVGVzdHMvVHJ5Q29tcGlsZS9DTWFrZUxpc3RzLnR4dDogRU5IOgoJICBtZXJnZSBpbiB0d28gYnVnIGZpeGVzIHRvIDI2CgoyMDA4LTA3LTE2IDIzOjUyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDctMTYgMTE6MDMgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuaDogQlVHOiBGaXgKCSAgdHJ5X2NvbXBpbGUgZHVyaW5nIEVuYWJsZUxhbmd1YWdlCgoJICAgIC0gVGhlIHNvdXJjZS1maWxlIHNpZ25hdHVyZSBvZiB0cnlfY29tcGlsZSBsb29rcyB1cCB0aGUKCSAgbGFuZ3VhZ2UKCSAgICAgIG9mIHRoZSBzb3VyY2UgZmlsZSB1c2luZyB0aGUgZXh0ZW5zaW9uLXRvLWxhbmd1YWdlIG1hcCBzbwoJICB0aGF0CgkgICAgICBpdCBrbm93cyB3aGF0IGxhbmd1YWdlIHRvIGVuYWJsZSBpbiB0aGUgZ2VuZXJhdGVkIHByb2plY3QuCgkgICAgLSBUaGlzIG1hcCBuZWVkcyB0byBiZSBmaWxsZWQgYmVmb3JlIGxvYWRpbmcgYSBmaWxlIHNwZWNpZmllZAoJICBieQoJCUNNQUtFX1VTRVJfTUFLRV9SVUxFU19PVkVSUklERQoJCUNNQUtFX1VTRVJfTUFLRV9SVUxFU19PVkVSUklERV88TEFORz4KCSAgICAgIHNvIHRoYXQgdGhlIHVzZXIgZmlsZSBtYXkgY2FsbCB0aGUgdHJ5X2NvbXBpbGUoKSBzb3VyY2UtZmlsZQoJICAgICAgc2lnbmF0dXJlLgoJICAgIC0gSXQgbXVzdCBzdGlsbCBiZSByZS1maWxsZWQgYWZ0ZXIgbG9hZGluZwoJICBDTWFrZTxMQU5HPkluZm9ybWF0aW9uLmNtYWtlCgkgICAgICBpbiBjYXNlIHRoZSBjb21waWxlci0gb3IgcGxhdGZvcm0tc3BlY2lmaWMgZmlsZXMgYWRkZWQKCSAgYW55dGhpbmcuCgkgICAgLSBTZWUgYnVnICM3MzQwLgoKMjAwOC0wNy0xNiAwOToyOSAgaG9mZm1hbgoKCSogVGVzdHMvVHJ5Q29tcGlsZS9DTWFrZUxpc3RzLnR4dDogRU5IOiByZW1vdmUgdGVzdCB0aGF0IGRvZXMgbm90CgkgIHdvcmsgb24gYWxsIGNvbXBpbGVycwoKMjAwOC0wNy0xNSAyMzo1MiAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA3LTE1IDExOjM1ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwgTW9kdWxlcy9GaW5kQm9vc3QuY21ha2UsCgkgIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwKCSAgVGVzdHMvVHJ5Q29tcGlsZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBtZXJnZSBpbiBmaXggZm9yIHhjb2RlIGFuZAoJICBuZXcgdmVyc2lvbiBvZiBmaW5kIGJvb3N0CgoyMDA4LTA3LTE1IDEwOjA0ICBob2ZmbWFuCgoJKiBUZXN0cy9UcnlDb21waWxlL0NNYWtlTGlzdHMudHh0OiBFTkg6IGFkZCBhIHRlc3QgZm9yIGJ1ZyA3MzE2CgoyMDA4LTA3LTE0IDIzOjUzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDctMTQgMTg6NTEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogQlVHOiBmaXggZm9yIGJ1ZyA3MzE2CgoyMDA4LTA3LTE0IDEzOjUyICBkZ3JlZ29yCgoJKiBNb2R1bGVzL0ZpbmRCb29zdC5jbWFrZTogRU5IOiBGaW5kQm9vc3QgY2FuIG5vdyBmaW5kIHRoZSB1cGNvbWluZwoJICBCb29zdCAxLjQ2CgoyMDA4LTA3LTE0IDEyOjI0ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwgU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IGFkZAoJICBjbUNQYWNrQ29tcG9uZW50R3JvdXAgdG8gYnVpbGQKCjIwMDgtMDctMTQgMDk6MjIgIGhvZmZtYW4KCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrQ29tcG9uZW50R3JvdXAuY3h4OiBFTkg6IGFkZCBtaXNzaW5nIG1lcmdlZAoJICBmaWxlCgoyMDA4LTA3LTEzIDIzOjUzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDctMTMgMTg6MDYgIG1pZ3VlbGYKCgkqIE1vZHVsZXMvRmluZHd4V2lkZ2V0cy5jbWFrZTogRU5IOiBJbXByb3ZlZCBzdXBwb3J0IGZvciBmaW5kaW5nCgkgIHd4V2lkZ2V0cyBpbiBNaW5HVyBlbnZpcm9ubWVudC4KCjIwMDgtMDctMTMgMTc6NTUgIGhvZmZtYW4KCgkqIENNYWtlQ1BhY2tPcHRpb25zLmNtYWtlLmluLCBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwKCSAgTW9kdWxlcy9DUGFjay5JbmZvLnBsaXN0LmluLCBNb2R1bGVzL0NQYWNrLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRCb29zdC5jbWFrZSwgTW9kdWxlcy9GaW5kUXQ0LmNtYWtlLAoJICBNb2R1bGVzL0ZpbmR3eFdpZGdldHMuY21ha2UsIE1vZHVsZXMvTlNJUy50ZW1wbGF0ZS5pbiwKCSAgU291cmNlL2NtQm9vdHN0cmFwQ29tbWFuZHMuY3h4LCBTb3VyY2UvY21Db21tYW5kcy5jeHgsCgkgIFNvdXJjZS9jbUdldENNYWtlUHJvcGVydHlDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtR2V0Q01ha2VQcm9wZXJ0eUNvbW1hbmQuaCwgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuaCwgU291cmNlL2NtSW5zdGFsbENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsRmlsZXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbFByb2dyYW1zQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtSW5zdGFsbFRhcmdldHNDb21tYW5kLmN4eCwgU291cmNlL2NtYWtlLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tDb21wb25lbnRHcm91cC5oLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrTlNJU0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrTlNJU0dlbmVyYXRvci5oLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja1BhY2thZ2VNYWtlckdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrUGFja2FnZU1ha2VyR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9RdERpYWxvZy9DTWFrZVNldHVwRGlhbG9nLmN4eCwKCSAgU291cmNlL1F0RGlhbG9nL0NNYWtlU2V0dXBEaWFsb2cuaCwKCSAgU291cmNlL1F0RGlhbG9nL0NNYWtlU2V0dXBEaWFsb2cudWksCgkgIFNvdXJjZS9RdERpYWxvZy9RQ01ha2VDYWNoZVZpZXcuY3h4LAoJICBTb3VyY2Uva3dzeXMvUmVndWxhckV4cHJlc3Npb24uY3h4LAoJICBUZXN0cy9DUGFja0NvbXBvbmVudHMvQ01ha2VMaXN0cy50eHQ6IEVOSDogTWVyZ2UgZnJvbSBoZWFkIGNyZWF0ZQoJICBSQzcKCjIwMDgtMDctMTIgMjM6NTMgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNy0xMSAyMzo1MyAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA3LTEwIDIzOjUzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDctMTAgMTc6MjAgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy9SZWd1bGFyRXhwcmVzc2lvbi5jeHg6IENPTVA6IHJlbW92ZSB3YXJuaW5nIGFuZAoJICBjaGVjayBmb3IgYXNzaWdubWVudCB0byBpdHNlbGYgaW4gb3BlcmF0b3I9CgoyMDA4LTA3LTA5IDIzOjUzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDctMDkgMTc6NDUgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vRGFyd2luLmNtYWtlOiBCVUc6IEZpeCBkeWxpYiB2ZXJzaW9uaW5nIGZsYWdzCgkgIGZvciBvbGQgT1NYLgoKCSAgICAtIGxkIGZsYWdzIC1keWxpYl9jb21wYXRpYmlsaXR5X3ZlcnNpb24gYW5kCgkgIC1keWxpYl9jdXJyZW50X3ZlcnNpb24KCSAgICAgIGFyZSBsaWJ0b29sIGZsYWdzIC1jb21wYXRpYmlsaXR5X3ZlcnNpb24gYW5kIC1jdXJyZW50X3ZlcnNpb24KCSAgICAtIE9TWCAxMC4zIGRvZXMgbm90IGxpa2UgdGhlIGR5bGliXyBwcmVmaXhlcy4KCjIwMDgtMDctMDkgMTY6MzAgIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrQ29tcG9uZW50R3JvdXAuaDogQ09NUDogRml4IEhQIGNvbnRpbnVvdXMuCgkgIFB1bGwgc3RsIGhlYWRlcnMgaW50byBDTWFrZSBoZWFkZXIgZmlsZXMgdXNpbmcKCSAgY21TdGFuZGFyZEluY2x1ZGVzLmgKCjIwMDgtMDctMDkgMTM6MzggIGhvZmZtYW4KCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrQ29tcG9uZW50R3JvdXAuY3h4OiBmaWxlCgkgIGNtQ1BhY2tDb21wb25lbnRHcm91cC5jeHggd2FzIGFkZGVkIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24KCSAgMjAwOC0wNy0xNCAxMzoyMjo0NSArMDAwMAoKMjAwOC0wNy0wOSAxMzozOCAgZGF2aWQuY29sZQoKCSogTW9kdWxlcy9DUGFjay5JbmZvLnBsaXN0LmluLCBNb2R1bGVzL0NQYWNrLmNtYWtlLAoJICBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9DUGFjay9jbUNQYWNrQ29tcG9uZW50R3JvdXAuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja0NvbXBvbmVudEdyb3VwLmgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrUGFja2FnZU1ha2VyR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tQYWNrYWdlTWFrZXJHZW5lcmF0b3IuaDogRU5IOiBPbmUgbW9yZSBwYXRjaAoJICBmcm9tIERvdWcgR3JlZ29yIGluY2x1ZGluZyBQYWNrYWdlTWFrZXIgZnVuY3Rpb25hbGl0eSBmb3IKCSAgY29tcG9uZW50aXplZC1mb3ItdGhlLWVuZC11c2VyIGFuZCBkb3dubG9hZC1zb21lLWJpdC1vbi1kZW1hbmQKCSAgaW5zdGFsbGVycy4KCjIwMDgtMDctMDkgMTE6NDYgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy9SZWd1bGFyRXhwcmVzc2lvbi5jeHg6IEVOSDogZml4IG1lbW9yeSBsZWFrCgoyMDA4LTA3LTA5IDEwOjA5ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0Rhcndpbi5jbWFrZSwgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuaDogRU5IOiBTZXQgdmVyc2lvbiBpbmZvCgkgIGZvciBzaGFyZWQgbGlicyBvbiBPU1guCgoJICAgIC0gTWFwIFNPVkVSU0lPTiBtYWpvci5taW5vci5wYXRjaCB0byBjb21wYXRpYmlsaXR5X3ZlcnNpb24KCSAgICAtIE1hcCBWRVJTSU9OIG1ham9yLm1pbm9yLnBhdGNoIHRvIGN1cnJlbnRfdmVyc2lvbgoJICAgIC0gU2VlIGlzc3VlICM0MzgzLgoKMjAwOC0wNy0wOSAxMDowOSAga2luZwoKCSogU291cmNlLzogY21UYXJnZXQuY3h4LCBjbVRhcmdldC5oOiBFTkg6IEFkZCBmdWxsIHRhcmdldCB2ZXJzaW9uCgkgIHNpZ25hdHVyZSBjbVRhcmdldDo6R2V0VGFyZ2V0VmVyc2lvbi4KCjIwMDgtMDctMDggMjM6NTMgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNy0wOCAxNzo0NyAgZGF2aWQuY29sZQoKCSogVGVzdHMvQ1BhY2tDb21wb25lbnRzL0NNYWtlTGlzdHMudHh0OiBFTkg6IFVzZSBuZXcKCSAgY3BhY2tfYWRkX2NvbXBvbmVudCBtYWNybyAoYW5kIGZyaWVuZHMpIGZyb20gdGhlIENQYWNrQ29tcG9uZW50cwoJICB0ZXN0LiBUaGFua3MgYWdhaW4gdG8gRG91ZyBHcmVnb3IhCgoyMDA4LTA3LTA4IDExOjUyICBkYXZpZC5jb2xlCgoJKiBNb2R1bGVzL0NQYWNrLmNtYWtlLCBNb2R1bGVzL05TSVMudGVtcGxhdGUuaW4sCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrQ29tcG9uZW50R3JvdXAuaCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja05TSVNHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja05TSVNHZW5lcmF0b3IuaCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tQYWNrYWdlTWFrZXJHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HZXRDTWFrZVByb3BlcnR5Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUdldENNYWtlUHJvcGVydHlDb21tYW5kLmgsIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21JbnN0YWxsQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUluc3RhbGxGaWxlc0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsUHJvZ3JhbXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21JbnN0YWxsVGFyZ2V0c0NvbW1hbmQuY3h4OiBFTkg6IEZ1cnRoZXIgcmVmaW5lbWVudCBvZgoJICB0aGUgQ1BhY2sgY29tcG9uZW50cyBmdW5jdGlvbmFsaXR5IGZyb20gRG91ZyBHcmVnb3IuCgoJICBEZXRhaWxzOiA9PT09PT09PT09CgoJICAgLSBOZXcgY3BhY2tfYWRkX2NvbXBvbmVudCwgY3BhY2tfYWRkX2NvbXBvbmVudF9ncm91cCwgYW5kCgkgIGNwYWNrX2FkZF9pbnN0YWxsX3R5cGUgImNvbW1hbmRzIiBkZWZpbmVkIGFzIG1hY3JvcyBpbiB0aGUgQ1BhY2sKCSAgbW9kdWxlLiAgIC0gRG9jdW1lbnRhdGlvbiBmb3IgYWxsIG9mIHRoZSB2YXJpYWJsZXMgYW5kIGNvbW1hbmRzCgkgIGluIHRoZSBDUGFjayBtb2R1bGUuCSAtIEFkZGVkIGdldF9jbWFrZV9wcm9wZXJ0eSguLi4gQ09NUE9ORU5UUykKCSAgdG8gQ01ha2UgdG8gYXNrIGZvciB0aGUgIG5hbWVzIG9mIGFsbCBjb21wb25lbnRzLiBVc2VkIGluIHRoZQoJICBDUGFjayBtb2R1bGUgdG8gYXV0b21hdGljYWxseSBidWlsZCBjb21wb25lbnQtYmFzZWQgaW5zdGFsbGVycy4KCSAgKFNldCBDUEFDS19NT05PTElUSElDX0lOU1RBTEwgdG8gdHVybiBvZmYgY29tcG9uZW50LWJhc2VkCgkgIGluc3RhbGxhdGlvbikuICAgLSBBIGdyb3VwIGNhbiBkZWNsYXJlIGl0cyBQQVJFTlRfR1JPVVAsIHRvIGJ1aWxkCgkgIGFuIGFyYml0cmFyeQloaWVyYXJjaHkgb2YgZ3JvdXBzLiAgIC0gTmV3IENQYWNrIGNvbW1hbmQKCSAgY3BhY2tfY29uZmlndXJlX2Rvd25sb2Fkcywgd2hpY2ggY3JlYXRlcyBhbiAgaW5zdGFsbGVyIHRoYXQKCSAgZG93bmxvYWRzIG9ubHkgdGhlIHNlbGVjdGVkIGNvbXBvbmVudHMgb24tdGhlLWZseS4gIFRob3NlCgkgIGNvbXBvbmVudHMgbWFya2VkIERPV05MT0FERUQgd2lsbCBiZSBzZXBhcmF0ZSBwYWNrYWdlcyBkb3dubG9hZGVkCgkgIG9uLXRoZS1mbHkgKG9yLCBhbGwgcGFja2FnZXMgY2FuIGJlIG1hcmtlZCBhcyBzdWNoIHdpdGggdGhlIEFMTAoJICBvcHRpb24gdG8gY3BhY2tfY29uZmlndXJlX2Rvd25sb2FkcykuIEluZGl2aWR1YWwgY29tcG9uZW50cyBhcmUKCSAgY29tcHJlc3NlZCB3aXRoIFpJUCBhdCBpbnN0YWxsZXItY3JlYXRpb24gdGltZSBhbmQKCSAgZG93bmxvYWRlZC91bmNvbXByZXNzZWQgYnkgdGhlIGluc3RhbGxlciBhcyBuZWVkZWQuIFRoaXMgZmVhdHVyZQoJICBpcyBvbmx5IGF2YWlsYWJsZSBvbiBXaW5kb3dzIHdpdGggTlNJUyBhdCB0aGUgbW9tZW50LiAgIC0gTlNJUwoJICBpbnN0YWxsZXJzIGNhbiBpbnN0YWxsIHRoZW1zZWx2ZXMgYW5kIGVuYWJsZSB0aGUgIkNoYW5nZSIgIGJ1dHRvbgoJICBpbiBBZGQvUmVtb3ZlIHByb2dyYW1zLCBhbGxvd2luZyB1c2VycyB0byBnbyBiYWNrIGFuZCBpbnN0YWxsIG9yCgkgIHJlbW92ZSBjb21wb25lbnRzLiBUaGlzIGNhbiBiZSBkaXNhYmxlZCB0aHJvdWdoCgkgIGNwYWNrX2NvbmZpZ3VyZV9kb3dubG9hZHMsIGJlY2F1c2UgaXQncyBvbmx5IHJlYWxseSB1c2VmdWwgaXMKCSAgbW9zdCBvZiB0aGUgYXBwbGljYXRpb24ncyBmdW5jdGlvbmFsaXR5IGlzIGluIGRvd25sb2FkZWQKCSAgY29tcG9uZW50cy4JLSBCdWcgZml4OiBhdXRvbWF0aWNhbGx5IGluc3RhbGwgZXZlcnl0aGluZyB3aG9zZQoJICBDT01QT05FTlQgd2FzIG5vdCAgc3BlY2lmaWVkIChpdCdzIGEgaGlkZGVuLCByZXF1aXJlZCBncm91cCkJLQoJICBCdWcgZml4OiBmaXhlZCByZW1vdmFsIG9mIGNvbXBvbmVudHMgd2hlbiByZS1ydW5uaW5nIHRoZSBOU0lTCgkgIGluc3RhbGxlciBhbmQgdW5jaGVja2luZyBjb21wb25lbnRzICAtIEJ1ZyBmaXg6IE5TSVMgaW5zdGFsbGVycwoJICBub3cgb25seSBpbnN0YWxsL3JlbW92ZSB0aGUgbWluaW1hbCBudW1iZXIgb2YgZmlsZXMgd2hlbiByZS1ydW4KCSAgdG8gdXBkYXRlIHRoZSBpbnN0YWxsYXRpb24gKG9yIGJ5IGNsaWNraW5nICJDaGFuZ2UiIGluIEFkZC9SZW1vdmUKCSAgcHJvZ3JhbXMpCgoyMDA4LTA3LTA3IDIzOjUzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDctMDcgMTU6MDcgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUJvb3RzdHJhcENvbW1hbmRzLmN4eCwgU291cmNlL2NtQ29tbWFuZHMuY3h4LAoJICBUZXN0cy9DTWFrZUxpc3RzLnR4dDogRU5IOiBhZGQgZ2V0X3Rlc3RfcHJvcGVydHkgdG8gYm9vdHN0cmFwIHNvCgkgIGJvb3RzdHJhcCBidWlsZHMgdGVzdCB0aGUgc2FtZSBhcyBub24tYm9vdHN0cmFwIGJ1aWxkcwoKMjAwOC0wNy0wNyAxMzoxMiAga2luZwoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBCVUc6IERvIG5vdCBidWlsZAoJICBodW1hbi1yZWZlcmVuY2UgZmlsZXMgaW4gWGNvZGUKCgkgICAgLSBUaGUgSW5mby5wbGlzdCBmaWxlIGluIGFwcCBidW5kbGVzIHNob3VsZCBub3QgYmUgYnVpbHQuCgkgICAgLSBVc2VyLXNwZWNpZmllZCBmaWxlcyBzdWNoIGFzIGZvby50eHQgc2hvdWxkIG5vdCBiZSBidWlsdC4KCSAgICAtIE9ubHkgZmlsZXMgd2l0aCBhIHJlY29nbml6ZWQgbGFuZ3VhZ2Ugc2hvdWxkIGJlIGJ1aWx0LAoJICAgICAganVzdCBhcyBpbiB0aGUgTWFrZWZpbGVzIGdlbmVyYXRvcnMuCgkgICAgLSBTZWUgYnVnICM3Mjc3LgoKMjAwOC0wNy0wNyAxMDo1NyAga2luZwoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBFTkg6IEFkZCBwcm9qZWN0Um9vdCB0byBYY29kZQoJICBwcm9qZWN0cwoKCSAgICAtIFRoaXMgYXR0cmlidXRlIHBvaW50cyBYY29kZSBhdCB0aGUgc291cmNlIHRyZWUuCgkgICAgLSBYY29kZSAzIHdhbnRzIHRoaXMgdG8gYmUgc2V0IGFsd2F5cy4KCSAgICAtIFNlZSBidWcgIzcwNDQuCgoyMDA4LTA3LTA3IDEwOjA1ICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEJVRzogRml4IEFwcEJ1bmRsZT0+TGlicmFyeQoJICBkZXBlbmRzIGluIFhjb2RlCgoJICAgIC0gVGhlIFhjb2RlIGdlbmVyYXRvciB4Y29kZS1kZXBlbmQtaGVscGVyIG5lZWRzIHRvIGFjY291bnQKCSAgICAgIGZvciB0aGUgcGF0aHMgb2YgZXhlY3V0YWJsZXMgd2l0aGluIGFwcGxpY2F0aW9uIGJ1bmRsZXMuCgkgICAgLSBTZWUgYnVnICM3Mjc4LgoKMjAwOC0wNy0wNiAyMzo1NCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA3LTA2IDIyOjA2ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eDogQ09NUDogZml4IHdhcm5pbmcKCjIwMDgtMDctMDYgMjA6MDMgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0TXVsdGlQcm9jZXNzSGFuZGxlci5oOiBDT01QOiBmaXggc29tZSBtb3JlCgkgIHdhcm5pbmdzCgoyMDA4LTA3LTA2IDE5OjU4ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0VGVzdEhhbmRsZXIuY3h4LCBjbUNUZXN0VGVzdEhhbmRsZXIuaDoKCSAgQ09NUDogZml4IGEgZmV3IG1vcmUgd2FybmluZ3MKCjIwMDgtMDctMDYgMDQ6NTcgIG1pZ3VlbGYKCgkqIE1vZHVsZXMvRmluZHd4V2lkZ2V0cy5jbWFrZTogQlVHOiBBZGQgbmV3IGxpYnJhcnkgcmljaHRleHQuCgkgIFJlcG9ydGVkIGluICM3Mjg0IHRoYW5rcyB0byBlYXJpdGguCgoyMDA4LTA3LTA1IDIzOjU0ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDctMDUgMTM6MjUgIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy86IENNYWtlU2V0dXBEaWFsb2cuY3h4LCBDTWFrZVNldHVwRGlhbG9nLmgsCgkgIENNYWtlU2V0dXBEaWFsb2cudWk6CgkgIEVOSDoJUmVwbGFjZSBBZHZhbmNlZCBjaGVja2JveCBhbmQgZ3JvdXAgb3B0aW9uIGluIG1lbnUgd2l0aCBhCgkgIGNvbWJvIGJveCB0bwkgICAgIGNob29zZSB2aWV3IHR5cGUuCgoyMDA4LTA3LTA1IDExOjU3ICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6CgkgIEJVRzoJV2F0Y2ggZm9yIGVtcHR5IHFjb25maWcucHJpIGZpbGVzLiAgRml4ZXMgIzcyODcuCgoyMDA4LTA3LTA1IDA5OjI5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBDT01QOiBmaXggd2FybmluZwoKMjAwOC0wNy0wNCAyMzo1NCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA3LTA0IDEwOjI4ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0TXVsdGlQcm9jZXNzSGFuZGxlci5jeHgsCgkgIGNtQ1Rlc3RNdWx0aVByb2Nlc3NIYW5kbGVyLmgsIGNtQ1Rlc3RUZXN0SGFuZGxlci5jeHg6IENPTVA6IHRyeQoJICB0byBmaXggc2dpIGNvbXBpbGVyIHByb2JsZW0gd2l0aCBzZXQgYW5kIGFsc28gc2hvcnRlbiBzeW1ib2wKCSAgbGVuZ3RocyBmb3Igc2V0IGNsYXNzCgoyMDA4LTA3LTA0IDEwOjEwICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eDogQ09NUDogZml4IG1vcmUgd2FybmluZ3MKCjIwMDgtMDctMDQgMDk6NTUgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4OiBDT01QOiBmaXggd2FybmluZwoKMjAwOC0wNy0wNCAwOTo1MCAgaG9mZm1hbgoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIENUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHg6IENPTVA6IGZpeAoJICBzb21lIHdhcm5pbmdzCgoyMDA4LTA3LTAzIDIzOjU0ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDctMDMgMTg6MTkgIGRncmVnb3IKCgkqIE1vZHVsZXMvRmluZEJvb3N0LmNtYWtlOiBDT01QOiBGaW5kIEJvb3N0IGFzIGluc3RhbGxlZCBieSB0aGUKCSAgQm9vc3RQcm8vQm9vc3QgQ29uc3VsdGluZyBpbnN0YWxsZXJzIG9uIFdpbmRvd3MKCjIwMDgtMDctMDMgMTY6MjYgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0TXVsdGlQcm9jZXNzSGFuZGxlci5jeHg6IEVOSDogb25lIG1vcmUgZml4CgkgIGZvciB0aGUgb2xkIGhwIGMrKyBjb21waWxlcgoKMjAwOC0wNy0wMyAxNTo0OSAgZGdyZWdvcgoKCSogTW9kdWxlcy9GaW5kQm9vc3QuY21ha2U6IEVOSDogQ2xlYW51cCBGaW5kQm9vc3QgbW9kdWxlLCBmaXhpbmcKCSAgc2V2ZXJhbCBzbWFsbCBidWdzIGFuZCBwcm92aWRpbmcgYmV0dGVyIGRpYWdub3N0aWMgaW5mb3JtYXRpb24KCSAgd2hlbiB0aGluZ3MgZ28gd3JvbmcKCjIwMDgtMDctMDMgMTU6NDYgIGtpbmcKCgkqIFRlc3RzL0NNYWtlTGlzdHMudHh0OiBCVUc6IFJlcGxhY2Ugbm9uLWJvb3RzdHJhcCBjb21tYW5kIHdpdGgKCSAgbWFjcm8KCgkgICAgLSBUaGUgR0VUX1RFU1RfUFJPUEVSVFkgY29tbWFuZCBkb2VzIG5vdCBleGlzdCBkdXJpbmcKCSAgYm9vdHN0cmFwLgoJICAgIC0gSW5zdGVhZCBvZiBsb3RzIG9mIGNvbmRpdGlvbmFscywgcmVwbGFjZSBpdCB3aXRoIGEgbWFjcm8uCgoyMDA4LTA3LTAzIDE1OjAyICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1Rlc3QvY21Qcm9jZXNzLmN4eDogRU5IOiBvbmUgbW9yZSBmaXggZm9yIGhwCgoyMDA4LTA3LTAzIDE0OjM4ICBraW5nCgoJKiBUZXN0cy9DTWFrZUxpc3RzLnR4dDogRU5IOiBSZW1vdmUgY29uZGl0aW9uIG9uIHVzZSBvZiBDTWFrZSAyLjQKCSAgY29tbWFuZHMKCgkgICAgLSBDb21tYW5kcyBTRVRfVEVTVFNfUFJPUEVSVElFUyBhbmQgR0VUX1RFU1RfUFJPUEVSVFkgZXhpc3QKCSAgICAgIGluIENNYWtlIDIuNCwgd2hpY2ggaXMgbm93IHJlcXVpcmVkLgoJICAgIC0gVGhlcmVmb3JlIHdlIG5lZWQgbm90IGNoZWNrIGJlZm9yZSB1c2luZyB0aGVtLgoKMjAwOC0wNy0wMyAxNDozNCAga2luZwoKCSogVGVzdHMvQ01ha2VMaXN0cy50eHQ6IENPTVA6IERvbid0IHNldCBwcm9wZXJ0aWVzIG9uIGEKCSAgbm9uLWV4aXN0aW5nIHRlc3QKCgkgICAgLSBUZXN0IFN1YlByb2plY3QtU3RhZ2UyIGlzIGNvbmRpdGlvbmFsbHkgY3JlYXRlZC4KCSAgICAtIFNldCBwcm9wZXJ0aWVzIG9uIGl0IG9ubHkgaWYgaXQgZXhpc3RzLgoKMjAwOC0wNy0wMyAxMzo1NSAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0L2NtUHJvY2Vzcy5oOiBFTkg6IGZpeCBmb3Igb2xkIGhwIGNvbXBpbGVyCgoyMDA4LTA3LTAzIDEzOjU1ICBraW5nCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IERvIG5vdCBhdXRvLWNyZWF0ZSBvdXQtZGF0ZWQgY2FjaGUKCSAgdmFyaWFibGVzCgoJICAgIC0gV2UgdXNlZCB0byBhbHdheXMgcHV0IExJQlJBUllfT1VUUFVUX1BBVEggYW5kCgkgIEVYRUNVVEFCTEVfT1VUUFVUX1BBVEgKCSAgICAgIGluIHRoZSBjYWNoZSBpZiB0aGUgcHJvamVjdCBkaWQgbm90LgoJICAgIC0gSW4gQ01ha2UgMi42IHRoZXNlIHZhcmlhYmxlcyBzaG91bGQgbm8gbG9uZ2VyIGJlIHVzZWQuCgkgICAgLSBOb3cgYWRkIHRoZW0gb25seSBpZiBDTUFLRV9CQUNLV0FSRFNfQ09NUEFUSUJJTElUWSBpcyBhbHNvCgkgIGNhY2hlZC4KCSAgICAtIFRoaXMgaGFwcGVucyBvbmx5IHdoZW4gQ01QMDAwMSBpcyBzZXQgdG8gT0xEIG9yIFdBUk4gb3IgaWYKCSAgICAgIHRoZSB1c2VyIG9yIHByb2plY3Qgc2V0cyBpdC4gIEluIGFueSBjYXNlIGNvbXBhdGliaWxpdHkgaXMKCSAgbmVlZGVkLgoJICAgIC0gUmVwb3J0ZWQgYnkgTWlndWVsIEEuIEZpZ3Vlcm9hLVZpbGxhbnVldmEgYW5kIFBoaWxpcCBMb3dtYW4uCgoyMDA4LTA3LTAzIDEzOjI4ICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5oOgoJICBCVUc6IEZpeCBYY29kZSByZWZlcmVuY2UgdG8gSW5mby5wbGlzdCByZXNvdXJjZQoKCSAgICAtIEdlbmVyYXRlZCBYY29kZSBwcm9qZWN0cyBmb3IgYXBwbGljYXRpb24gYnVuZGxlcyBsaXN0IHRoZQoJICAgICAgQ01ha2UtZ2VuZXJhdGVkIEluZm8ucGxpc3QgaW5wdXQgZmlsZSBhcyBhIHJlc291cmNlLgoJICAgIC0gVGhlIGxvY2F0aW9uIG9mIHRoZSBpbnB1dCBmaWxlIHdhcyBtb3ZlZCBieSBhIHByZXZpb3VzCgkgIGNvbW1pdCwKCSAgICAgIGJ1dCB0aGUgcmVmZXJlbmNlIHRvIGl0IGFzIGEgcmVzb3VyY2UgZmlsZSB3YXMgbm90IHVwZGF0ZWQuCgkgICAgLSBUaGlzIGNoYW5nZSBtb3ZlcyB0aGUgZmlsZSB0byBDTWFrZUZpbGVzLzx0Z3Q+LmRpci9JbmZvLnBsaXN0CgkgICAgICB0byBnaXZlIGl0IGEgbW9yZSBpbnR1aXRpdmUgbmFtZSBpbiB0aGUgWGNvZGUgcHJvamVjdC4KCSAgICAtIFdlIGFsc28gdXBkYXRlIHRoZSByZWZlcmVuY2UgdG8gcG9pbnQgYXQgdGhlIGNvcnJlY3QKCSAgbG9jYXRpb24uCgkgICAgLSBTZWUgYnVnICM3Mjc3LgoKMjAwOC0wNy0wMyAxMzoyOCAga2luZwoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBCVUc6IEZpeCBYY29kZSBwZXItY29uZmlnCgkgIGJ1bmRsZSBuYW1lIGluIEluZm8ucGxpc3QKCgkgICAgLSBUaGUgWGNvZGUgZ2VuZXJhdG9yIGNyZWF0ZXMgb25lIEluZm8ucGxpc3QgaW5wdXQgZmlsZSB3aGljaAoJICBpcwoJICAgICAgY29udmVydGVkIGF0IGJ1aWxkIHRpbWUgYnkgWGNvZGUgYW5kIHBsYWNlZCBpbiB0aGUgZmluYWwKCSAgYnVuZGxlLgoJICAgIC0gVGhlIDxDT05GSUc+X09VVFBVVF9OQU1FIHRhcmdldCBwcm9wZXJ0eSBjYW4gcGxhY2UgZGlmZmVyZW50CgkgIGNvbnRlbnQKCSAgICAgIGZvciB0aGUgZXhlIG5hbWUgaW4gSW5mby5wbGlzdCBvbiBhIHBlci1jb25maWd1cmF0aW9uIGJhc2lzLgoJICAgIC0gSW5zdGVhZCBvZiBnZW5lcmF0aW5nIGEgcGVyLWNvbmZpZyBJbmZvLnBsaXN0IGlucHV0IGZpbGUganVzdAoJICBsZXQKCSAgICAgIFhjb2RlIHB1dCB0aGUgbmFtZSBpbiBhdCBidWlsZCB0aW1lIHVzaW5nIHRoZQoJICAkKEVYRUNVVEFCTEVfTkFNRSkgdmFyLgoKMjAwOC0wNy0wMyAwOTo0OSAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0LzogY21Qcm9jZXNzLmN4eCwgY21Qcm9jZXNzLmg6IEVOSDogYWRkIG1pc3NpbmcgZmlsZQoKMjAwOC0wNy0wMyAwOTozMSAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0LCBTb3VyY2UvY21DVGVzdC5jeHgsIFNvdXJjZS9jbUNUZXN0LmgsCgkgIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdEdlbmVyaWNIYW5kbGVyLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RNdWx0aVByb2Nlc3NIYW5kbGVyLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RNdWx0aVByb2Nlc3NIYW5kbGVyLmgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmgsIFRlc3RzL0NNYWtlTGlzdHMudHh0OiBFTkg6IGFkZAoJICBpbml0aWFsIGN0ZXN0IC1qIGZlYXR1cmUKCjIwMDgtMDctMDIgMjM6NTQgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNy0wMSAyMzo1NCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA3LTAxIDEwOjU4ICBob2ZmbWFuCgoJKiBDTWFrZUNQYWNrT3B0aW9ucy5jbWFrZS5pbjogRU5IOiBmaXggaW5zdGFsbCBpbiBhZGQvcmVtb3ZlCgkgIHByb2dyYW1zLCBhZ2Fpbi4uLgoKMjAwOC0wNi0zMCAyMzo1NSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA2LTMwIDE2OjEwICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwgTW9kdWxlcy9GaW5kR2V0dGV4dC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kS0RFNC5jbWFrZSwgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGUuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5oOiBFTkg6IGNoZWNrIGluIFJDIDYKCSAgbWVyZ2VzIGZyb20gdHJ1bmsKCjIwMDgtMDYtMzAgMTQ6MjkgIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy9RQ01ha2VDYWNoZVZpZXcuY3h4OgoJICBCVUc6CUZpeCBjb2x1bW4gd2lkdGhzIG9uIHNvbWUgc3lzdGVtcy4KCjIwMDgtMDYtMzAgMDk6NTcgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogRG8gbm90IGVzY2FwZSBtYWtlCgkgIHZhcmlhYmxlIHJlZmVyZW5jZXMgaW4gVlMgYWRkaXRpb25hbCBvcHRpb25zLgoKMjAwOC0wNi0yOSAyMzo1NSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA2LTI5IDE4OjU4ICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRHZXR0ZXh0LmNtYWtlOiBCVUc6IGZpeCA3MjMwOiBkb24ndCBpZ25vcmUgZmlyc3QKCSAgcGFyYW1ldGVyIGlmIGl0J3Mgbm90IEFMTAoKCSAgQWxleAoKMjAwOC0wNi0yOCAyMzo1NSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA2LTI4IDExOjE2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUlmQ29tbWFuZC5jeHgsIGNtSWZDb21tYW5kLmgsIGNtV2hpbGVDb21tYW5kLmN4eDogQlVHOgoJICBmaXggbWVtb3J5IGxlYWsgYW5kIGNsZWFudXAgZXJyb3Igc3RyaW5nIGNvZGUKCjIwMDgtMDYtMjcgMjM6NTUgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNi0yNiAyMzo1NSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA2LTI2IDEzOjMwICBraW5nCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oOiBCVUc6IEZpeCBjb21wdXRlZAoJICBkaXJlY3RvcnkgcHJvcGVydHkgREVGSU5JVElPTlMuCgoJICAgIC0gVGhlIHByb3BlcnR5IHRyYWNrcyB0aGUgdmFsdWUgZm9ybWVkIGJ5IGFkZF9kZWZpbml0aW9ucwoJICAgICAgYW5kIHJlbW92ZV9kZWZpbml0aW9ucyBjb21tYW5kIGludm9jYXRpb25zLgoJICAgIC0gVGhlIHN0cmluZyBzaG91bGQgYmUgbWFpbnRhaW5lZCBmb3IgdXNlIGluIHJldHVybmluZyBmb3IgdGhlCgkgICAgICBERUZJTklUSU9OUyBwcm9wZXJ0eSB2YWx1ZS4KCSAgICAtIEl0IGlzIG5vIGxvbmdlciB1c2VkIGZvciBhbnkgb3RoZXIgcHVycG9zZS4KCSAgICAtIFRoZSBERUZJTklUSU9OUyBwcm9wZXJ0eSB3YXMgcmVjZW50bHkgZG9jdW1lbnRlZCBhcwoJICBkZXByZWNhdGVkLgoJICAgIC0gU2VlIGJ1ZyAjNzIzOS4KCjIwMDgtMDYtMjYgMTM6MTQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZEtERTQuY21ha2U6IEJVRzogZG9uJ3QgcnVuIEtERTRfS0RFQ09ORklHX0VYRUNVVEFCTEUKCSAgaWYgaXQgaXMgbm90Zm91bmQKCjIwMDgtMDYtMjYgMTM6MDEgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUlmQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUxpc3RGaWxlQ2FjaGUuY3h4LAoJICBUZXN0cy9Db21wbGV4L0NNYWtlTGlzdHMudHh0LCBUZXN0cy9Db21wbGV4L2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4OiBFTkg6IHN1cHBvcnQKCSAgcGFyZW50aGVzaXMgYXMgYXJndW1lbnRzIGFuZCBpbiBjb25kaXRpb25hbHMgZmVhdHVyZSByZXF1ZXN0CgkgICM2MTkxCgoyMDA4LTA2LTI2IDEwOjU4ICBraW5nCgoJKiBTb3VyY2UvOiBjbUdldERpcmVjdG9yeVByb3BlcnR5Q29tbWFuZC5oLCBjbU1ha2VmaWxlLmN4eDogRU5IOgoJICBVcGRhdGUgZG9jdW1lbnRhdGlvbiBvZiBjb21wdXRlZCBkaXJlY3RvcnkgcHJvcGVyaXRlcy4KCgkgICAgLSBGaXggZG9jdW1lbnRhdGlvbiBvZiBnZXRfZGlyZWN0b3J5X3Byb3BlcnR5IGNvbW1hbmQuCgkgICAgLSBDb252ZXJ0IGl0cyBsaXN0IG9mIGNvbXB1dGVkIGRpcmVjdG9yeSBwcm9wZXJ0aWVzIHRvIGJlCgkgICAgICBkZWZpbmVkL2RvY3VtZW50ZWQgZGlyZWN0b3J5IHByb3BlcnRpZXMuCgoyMDA4LTA2LTI2IDEwOjU4ICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEJVRzogRml4IFBBUkVOVF9ESVJFQ1RPUlkgcHJvcGVydHkgaW4KCSAgdG9wLWxldmVsIHRvIG5vdCBjcmFzaC4KCjIwMDgtMDYtMjUgMjM6NTUgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNi0yNSAwOTo1MSAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWwsIE1vZHVsZXMvQ1BhY2suSW5mby5wbGlzdC5pbiwKCSAgTW9kdWxlcy9DUGFjay5jbWFrZSwgTW9kdWxlcy9DUGFjay5kaXN0cmlidXRpb24uZGlzdC5pbiwKCSAgTW9kdWxlcy9GaW5kQkxBUy5jbWFrZSwgTW9kdWxlcy9GaW5kRkxUSy5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kS0RFMy5jbWFrZSwgTW9kdWxlcy9GaW5kTWF0bGFiLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRPcGVuU1NMLmNtYWtlLCBNb2R1bGVzL0ZpbmRRdDMuY21ha2UsCgkgIE1vZHVsZXMvRmluZFNXSUcuY21ha2UsIE1vZHVsZXMvRmluZHd4V2lkZ2V0cy5jbWFrZSwKCSAgTW9kdWxlcy9OU0lTLnRlbXBsYXRlLmluLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9jbUZMVEtXcmFwVUlDb21tYW5kLmN4eCwgU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwgU291cmNlL2NtYWtlLmN4eCwKCSAgU291cmNlL2NtYWtlLmgsIFNvdXJjZS9DUGFjay9jbUNQYWNrQnVuZGxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tCdW5kbGVHZW5lcmF0b3IuaCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tDb21wb25lbnRHcm91cC5oLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJhdG9yRmFjdG9yeS5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrTlNJU0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrTlNJU0dlbmVyYXRvci5oLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja1BhY2thZ2VNYWtlckdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrUGFja2FnZU1ha2VyR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0QnVpbGRBbmRUZXN0SGFuZGxlci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4LAoJICBTb3VyY2UvUXREaWFsb2cvQ01ha2VTZXR1cERpYWxvZy5jeHgsCgkgIFNvdXJjZS9RdERpYWxvZy9DTWFrZVNldHVwRGlhbG9nLmgsCgkgIFNvdXJjZS9RdERpYWxvZy9DTWFrZVNldHVwRGlhbG9nLnVpLAoJICBTb3VyY2UvUXREaWFsb2cvUUNNYWtlQ2FjaGVWaWV3LmN4eCwKCSAgU291cmNlL1F0RGlhbG9nL1FDTWFrZUNhY2hlVmlldy5oLCBUZXN0cy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ1BhY2tDb21wb25lbnRzL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9DUGFja0NvbXBvbmVudHMvVmVyaWZ5UmVzdWx0LmNtYWtlLAoJICBUZXN0cy9DUGFja0NvbXBvbmVudHMvbXlsaWIuY3BwLCBUZXN0cy9DUGFja0NvbXBvbmVudHMvbXlsaWIuaCwKCSAgVGVzdHMvQ1BhY2tDb21wb25lbnRzL215bGliYXBwLmNwcCwKCSAgVGVzdHMvRmluZE1vZHVsZXNFeGVjdXRlQWxsL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9GaW5kTW9kdWxlc0V4ZWN1dGVBbGwvbWFpbi5jLAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEVOSDogbWVyZ2UgaW4gY2hhbmdlcyBmcm9tCgkgIG1haW4gdHJlZQoKMjAwOC0wNi0yNSAwOTo0NCAgaG9mZm1hbgoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBCVUc6IGZpeCBmb3IgYnVnIDcyMzksIERFRklOSVRJT05TCgkgIHByb3BlcnR5IG5vdCBiYWNrd2FyZHMgY29tcGF0aWJsZSB0byAyLjQKCjIwMDgtMDYtMjQgMjM6NTYgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNi0yNCAxNjo0NyAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlOiBFTkg6IHVuZG8gb3B0aW9uYWwgYmVjYXVzZSB3ZQoJICBuZWVkIGl0CgoyMDA4LTA2LTI0IDE1OjUwICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2U6IEVOSDogcmMgaXMgbm90IHNvIG9wdGlvbmFsIGF0CgkgIGxlYXN0IHdpdGggMjAwNSBhbmQgbmV3ZXIsIGFzIGl0IGlzIHVzZWQgdG8gZW1iZWQgdGhlIG1hbmlmZXN0CgkgIGZpbGVzCgoyMDA4LTA2LTI0IDAwOjAwICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvUUNNYWtlQ2FjaGVWaWV3LmN4eDoKCSAgQlVHOglEb24ndCBjcmVhdGUgZW1wdHkgcHJvcGVydHkuICBGaXhlcyBidWcgIzcxOTMuCgoyMDA4LTA2LTIzIDIzOjU1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDYtMjMgMTM6MzcgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZTogRU5IOiBtYWtlIHJjIG9wdGlvbmFsCgoyMDA4LTA2LTIzIDExOjA4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21GTFRLV3JhcFVJQ29tbWFuZC5jeHg6IEJVRzogZml4IGZvciBidWcgNzIyOAoJICBGTFRLX1dSQVBfVUkgc2VnZmF1bHQgZml4ZWQKCjIwMDgtMDYtMjIgMjM6NTUgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNi0yMSAyMzo1NiAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA2LTIwIDIzOjU2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDYtMjAgMTY6MjUgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtYWtlLmgsIGNtYWtlLmN4eDogQlVHOiBmaXggZm9yIGJ1ZyA3MjIyIG1hbmlmZXN0Om5vCgkgIG5vdCB3b3JraW5nIGZvciBtYWtlZmlsZXMKCjIwMDgtMDYtMTkgMjM6NTYgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNi0xOSAxMTowOCAgZGF2aWQuY29sZQoKCSogVGVzdHMvQ01ha2VMaXN0cy50eHQ6IEJVRzogQXZvaWQgcnVubmluZyB0aGUgbmV3IENQYWNrQ29tcG9uZW50cwoJICB0ZXN0IG9uIFdpbmRvd3MgdW5sZXNzIHRoZSBOU0lTIGluc3RhbGxlciBpcyBhdmFpbGFibGUuCgoyMDA4LTA2LTE5IDA2OjE3ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja0J1bmRsZUdlbmVyYXRvci5jeHg6IGZpbGUKCSAgY21DUGFja0J1bmRsZUdlbmVyYXRvci5jeHggd2FzIGFkZGVkIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24KCSAgMjAwOC0wNi0yNSAxMzo1MTozMiArMDAwMAoKMjAwOC0wNi0xOSAwNjoxNyAgZGF2aWQuY29sZQoKCSogU291cmNlL0NQYWNrL2NtQ1BhY2tCdW5kbGVHZW5lcmF0b3IuY3h4OiBDT01QOiBFbGltaW5hdGUKCSAgdW5yZWZlcmVuY2VkIHZhcmlhYmxlIHdhcm5pbmcKCjIwMDgtMDYtMTggMjM6NTYgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNi0xOCAxOTowMiAgYWxleAoKCSogTW9kdWxlcy9GaW5kS0RFMy5jbWFrZTogQlVHOiBtb2RpZnkgdGhlIGNvbXBpbGVyIGZsYWdzIG9ubHkgaWYKCSAgS0RFMyBoYXMgYWN0dWFsbHkgYmVlbiBmb3VuZAoKCSAgQWxleAoKMjAwOC0wNi0xOCAxODo1NyAgYWxleAoKCSogTW9kdWxlcy9GaW5kS0RFMy5jbWFrZTogU1RZTEU6IHVzZSB1cHBlcmNhc2UgdG8gYmUgY29uc2lzdGVudAoJICB3aXRoIHRoZSByZXN0IG9mIHRoZSBmaWxlCgoJICBBbGV4CgoyMDA4LTA2LTE4IDE2OjM5ICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRLREUzLmNtYWtlOiBCVUc6IHRoZSB2YXJpYWJsZSBpcyBfS0RFNF9VU0VfRkxBR1MgRU5IOgoJICBJIGd1ZXNzIHRoaXMgaXMgYWxzbyB0cnVlIGZvciBnY2MgMi45NSA/CgoJICBBbGV4CgoyMDA4LTA2LTE4IDE2OjAwICBkYXZpZC5jb2xlCgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyYXRvci5jeHg6IENPTVA6IEVsaW1pbmF0ZSBjb21waWxlcgoJICB3YXJuaW5nIG9uIDY0LWJpdCBidWlsZC4KCjIwMDgtMDYtMTggMTQ6MjUgIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrTlNJU0dlbmVyYXRvci5jeHg6IEJVRzogQWx3YXlzIGxvb2sgZm9yIHRoZQoJICBOU0lTIHJlZyB2YWx1ZSBpbiB0aGUgMzItYml0IGhpdmUgZXZlbiBpbiA2NC1iaXQgYnVpbGRzIG9mIENQYWNrLgoKMjAwOC0wNi0xOCAxMzoyOCAgaG9mZm1hbgoKCSogU291cmNlL2NtYWtlLmN4eDogRU5IOiBzdXBwb3J0IGxhcmdlIG9iamVjdCBmaWxlIGxpc3RzIHdpdGgKCSAgaW5jcmVtZW50YWwgdmlzdWFsIHN0dWRpbyBsaW5raW5nCgoyMDA4LTA2LTE4IDEyOjIzICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRLREUzLmNtYWtlOiBFTkg6IHVzZSBjb3JyZWN0IHZhcmlhYmxlCgoyMDA4LTA2LTE4IDA5OjUzICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja0J1bmRsZUdlbmVyYXRvci5oOiBmaWxlCgkgIGNtQ1BhY2tCdW5kbGVHZW5lcmF0b3IuaCB3YXMgYWRkZWQgb24gYnJhbmNoIENNYWtlLTItNiBvbgoJICAyMDA4LTA2LTI1IDEzOjUxOjMzICswMDAwCgoyMDA4LTA2LTE4IDA5OjUzICBkYXZpZC5jb2xlCgoJKiBNb2R1bGVzL0NQYWNrLmNtYWtlLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrQnVuZGxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tCdW5kbGVHZW5lcmF0b3IuaCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tHZW5lcmF0b3JGYWN0b3J5LmN4eDogRU5IOiBBcHBseSBwYXRjaCBmb3IKCSAgZmVhdHVyZSByZXF1ZXN0ICM3MTcwLiBUaGFua3MgdG8gVGltIFNoZWFkIGZvciBjb250cmlidXRpbmcuLi4KCjIwMDgtMDYtMTggMDk6MjggIGhvZmZtYW4KCgkqIFRlc3RzL0NQYWNrQ29tcG9uZW50cy9WZXJpZnlSZXN1bHQuY21ha2U6IGZpbGUgVmVyaWZ5UmVzdWx0LmNtYWtlCgkgIHdhcyBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDgtMDYtMjUgMTM6NTE6NTggKzAwMDAKCjIwMDgtMDYtMTggMDk6MjggIGRhdmlkLmNvbGUKCgkqIFRlc3RzL0NQYWNrQ29tcG9uZW50cy9WZXJpZnlSZXN1bHQuY21ha2U6IEJVRzogQmUgbW9yZSBzcGVjaWZpYwoJICBhYm91dCB0aGUgZXhwZWN0ZWQgZmlsZSBuYW1lIG9mIHRoZSBpbnN0YWxsZXIuIChTbyB3ZSBkb24ndCBnZXQKCSAgbXlsaWJhcHAuZXhlIGluIG91ciBHTE9CIHJlc3VsdHMgaW4gbWFrZSBiYXNlZCBidWlsZCB0cmVlcyB3aGVyZQoJICB0aGUgYnVpbHQgZXhlcyBlbmQgdXAgaW4gdGhlIHNhbWUgZGlyZWN0b3J5IGFzIHRoZSBDUGFjawoJICBpbnN0YWxsZXJzLi4uKQoKMjAwOC0wNi0xOCAwOToyMiAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kS0RFMy5jbWFrZTogRU5IOiBmaXggZm9yIGZpbmRhbGwKCjIwMDgtMDYtMTggMDk6MDcgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0QnVpbGRBbmRUZXN0SGFuZGxlci5jeHg6IEJVRzogbWFrZSBzdXJlIGN0ZXN0CgkgIHNlZXMgdGhlIG91dHB1dCBvZiB0aGUgY21ha2UgcnVuIGluIGJ1aWxkIGFuZCB0ZXN0IGNhc2VzLCBpdCB3YXMKCSAgbm90Li4uCgoyMDA4LTA2LTE4IDA4OjQyICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRLREUzLmNtYWtlOiBFTkg6IHRyeSB0byBtb2R1bGUgcnVuIHRlc3QKCjIwMDgtMDYtMTggMDg6MzcgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBGaW5kS0RFMy5jbWFrZSwgRmluZFF0My5jbWFrZTogRU5IOiB0cnkgdG8gbW9kdWxlIHJ1bgoJICB0ZXN0CgoyMDA4LTA2LTE4IDA3OjA4ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NQYWNrLmRpc3RyaWJ1dGlvbi5kaXN0LmluOiBmaWxlCgkgIENQYWNrLmRpc3RyaWJ1dGlvbi5kaXN0LmluIHdhcyBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uCgkgIDIwMDgtMDYtMjUgMTM6NTE6MzEgKzAwMDAKCjIwMDgtMDYtMTggMDc6MDggIGRhdmlkLmNvbGUKCgkqIE1vZHVsZXMvQ1BhY2suZGlzdHJpYnV0aW9uLmRpc3QuaW4sCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrUGFja2FnZU1ha2VyR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tQYWNrYWdlTWFrZXJHZW5lcmF0b3IuaDogQlVHOiBXb3JrYXJvdW5kCgkgIFBhY2thZ2VNYWtlciAzLjAgaXNzdWUgZm9yIG5ldyBDUGFjayBjb21wb25lbnRzIGZlYXR1cmUuIFRoYW5rcwoJICBhZ2FpbiB0byBEb3VnIEdyZWdvciBmb3IgdGhlIHBhdGNoLgoKMjAwOC0wNi0xNyAyMzo1NiAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA2LTE3IDIxOjQ2ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRTV0lHLmNtYWtlOiBFTkg6IG5vIGZhdGFsIGVycm9yIGlmIG5vdCByZXF1aXJlZAoKMjAwOC0wNi0xNyAxODowMiAgbWlndWVsZgoKCSogTW9kdWxlcy9GaW5kd3hXaWRnZXRzLmNtYWtlOiBFTkg6IEFkZGVkIHN1cHBvcnQgZm9yIE1TWVMgYXMgYQoJICB1bml4IHN0eWxlIHNlYXJjaC4KCjIwMDgtMDYtMTcgMTQ6MDcgIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrTlNJU0dlbmVyYXRvci5jeHg6IENPTVA6IFVzZSBjbU9TdHJpbmdTdHJlYW0KCSAgaW5zdGVhZCBvZiBzdGQ6Om9zdHJpbmdzdHJlYW0gZm9yIHRoZSBIUCBjb21waWxlci4KCjIwMDgtMDYtMTcgMTQ6MDMgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4OiBCVUc6IGZpeCBmb3IgYnVnIDcxMzYKCjIwMDgtMDYtMTcgMTM6MjcgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZEJMQVMuY21ha2U6IEVOSDogbWFrZSBmaW5kIGJsYXMgd29yayBpZiB0aGVyZSBpcyBubwoJICBmb3J0cmFuIGNvbXBpbGVyCgoyMDA4LTA2LTE3IDEzOjEzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IGFkZCBhbiBlbmFibGVkIGxhbmd1YWdlIHByb3BlcnR5CgoyMDA4LTA2LTE3IDEyOjQ0ICBkYXZpZC5jb2xlCgoJKiBTb3VyY2UvQ1BhY2svOiBjbUNQYWNrR2VuZXJhdG9yLmN4eCwgY21DUGFja05TSVNHZW5lcmF0b3IuY3h4OgoJICBDT01QOiBGaXggZXJyb3JzIGFuZCB3YXJuaW5ncyBmcm9tIGNvbnRpbnVvdXMgZGFzaGJvYXJkcyBydW5uaW5nCgkgIGRpZmZlcmVudCBjb21waWxlcnMuLi4KCjIwMDgtMDYtMTcgMTI6MDkgIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJhdG9yLmg6IENPTVA6IEluY2x1ZGUgZnVsbCBjbGFzcwoJICBkZWZpbml0aW9ucyBvZiBjbGFzc2VzIHVzZWQgaW4gc3RkOjptYXAgZGF0YSBtZW1iZXJzLgoKMjAwOC0wNi0xNyAxMTozOSAgaG9mZm1hbgoKCSogVGVzdHMvQ1BhY2tDb21wb25lbnRzL0NNYWtlTGlzdHMudHh0OiBmaWxlIENNYWtlTGlzdHMudHh0IHdhcwoJICBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDgtMDYtMjUgMTM6NTE6NTggKzAwMDAKCjIwMDgtMDYtMTcgMTE6MzkgIGhvZmZtYW4KCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrQ29tcG9uZW50R3JvdXAuaDogZmlsZQoJICBjbUNQYWNrQ29tcG9uZW50R3JvdXAuaCB3YXMgYWRkZWQgb24gYnJhbmNoIENNYWtlLTItNiBvbgoJICAyMDA4LTA2LTI1IDEzOjUxOjM1ICswMDAwCgoyMDA4LTA2LTE3IDExOjM5ICBob2ZmbWFuCgoJKiBUZXN0cy9DUGFja0NvbXBvbmVudHMvbXlsaWIuY3BwOiBmaWxlIG15bGliLmNwcCB3YXMgYWRkZWQgb24KCSAgYnJhbmNoIENNYWtlLTItNiBvbiAyMDA4LTA2LTI1IDEzOjUxOjU4ICswMDAwCgoyMDA4LTA2LTE3IDExOjM5ICBob2ZmbWFuCgoJKiBUZXN0cy9DUGFja0NvbXBvbmVudHMvbXlsaWIuaDogZmlsZSBteWxpYi5oIHdhcyBhZGRlZCBvbiBicmFuY2gKCSAgQ01ha2UtMi02IG9uIDIwMDgtMDYtMjUgMTM6NTE6NTggKzAwMDAKCjIwMDgtMDYtMTcgMTE6MzkgIGhvZmZtYW4KCgkqIFRlc3RzL0NQYWNrQ29tcG9uZW50cy9teWxpYmFwcC5jcHA6IGZpbGUgbXlsaWJhcHAuY3BwIHdhcyBhZGRlZAoJICBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDgtMDYtMjUgMTM6NTE6NTggKzAwMDAKCjIwMDgtMDYtMTcgMTE6MzkgIGRhdmlkLmNvbGUKCgkqIE1vZHVsZXMvQ1BhY2suSW5mby5wbGlzdC5pbiwgTW9kdWxlcy9DUGFjay5kaXN0cmlidXRpb24uZGlzdC5pbiwKCSAgTW9kdWxlcy9OU0lTLnRlbXBsYXRlLmluLCBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrQ29tcG9uZW50R3JvdXAuaCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tOU0lTR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tOU0lTR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrUGFja2FnZU1ha2VyR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tQYWNrYWdlTWFrZXJHZW5lcmF0b3IuaCwKCSAgVGVzdHMvQ01ha2VMaXN0cy50eHQsIFRlc3RzL0NQYWNrQ29tcG9uZW50cy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ1BhY2tDb21wb25lbnRzL1ZlcmlmeVJlc3VsdC5jbWFrZSwKCSAgVGVzdHMvQ1BhY2tDb21wb25lbnRzL215bGliLmNwcCwgVGVzdHMvQ1BhY2tDb21wb25lbnRzL215bGliLmgsCgkgIFRlc3RzL0NQYWNrQ29tcG9uZW50cy9teWxpYmFwcC5jcHAsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dDogRU5IOiBBZGQgcGF0Y2ggZm9yIGZlYXR1cmUKCSAgcmVxdWVzdCAjNjg0NyAtIENQYWNrIGNvbXBvbmVudHMgZm9yIE5TSVMgYW5kIFBhY2thZ2VNYWtlcgoJICBpbnN0YWxsZXJzLiBUaGFua3MgdG8gRG91ZyBHcmVnb3IgZm9yIGFsbCB0aGUgaGFyZCB3b3JrIGludm9sdmVkCgkgIHdpdGggaW1wbGVtZW50aW5nIHRoaXMgcGF0Y2ghIEFsc28gYWRkZWQgbmV3IHRlc3QgQ1BhY2tDb21wb25lbnRzCgkgIHRoYXQgaXMgY29uZGl0aW9uYWxseSBleGVjdXRlZCBvbmx5IHdoZW4gTlNJUyBvciBQYWNrYWdlTWFrZXIKCSAgaW5zdGFsbGVyIGJ1aWxkZXJzIGFyZSBhdmFpbGFibGUuCgoyMDA4LTA2LTE3IDExOjI5ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRCTEFTLmNtYWtlOiBTVFlMRTogZml4IGluZGVudCBmb3IgZmlsZQoKMjAwOC0wNi0xNyAxMDo1OCAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBmaXggZm9yIGJ1ZyA2NjE5CgoyMDA4LTA2LTE3IDEwOjUxICBob2ZmbWFuCgoJKiBUZXN0cy9DTWFrZUxpc3RzLnR4dDogRU5IOiB0cnkgdHVybmluZyB0aGlzIG9uIGFnYWluCgoyMDA4LTA2LTE2IDIzOjU2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDYtMTYgMjA6MTAgIGhvZmZtYW4KCgkqIFRlc3RzL0NNYWtlTGlzdHMudHh0OiBFTkg6IHR1cm4gdGhpcyBvZmYgdW50aWwgaXQgcGFzc2VzIG9uIGFsbAoJICBzeXN0ZW1zCgoyMDA4LTA2LTE2IDIwOjA1ICBob2ZmbWFuCgoJKiBUZXN0cy9GaW5kTW9kdWxlc0V4ZWN1dGVBbGwvQ01ha2VMaXN0cy50eHQ6IEVOSDogYWRkIGEgcHJvamVjdAoJICBuYW1lCgoyMDA4LTA2LTE2IDIwOjA1ICBob2ZmbWFuCgoJKiBUZXN0cy9GaW5kTW9kdWxlc0V4ZWN1dGVBbGwvQ01ha2VMaXN0cy50eHQ6IGZpbGUgQ01ha2VMaXN0cy50eHQKCSAgd2FzIGFkZGVkIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24gMjAwOC0wNi0yNSAxMzo1MTo1OCArMDAwMAoKMjAwOC0wNi0xNiAxODozNyAgYWxleAoKCSogTW9kdWxlcy9GaW5kT3BlblNTTC5jbWFrZTogQlVHOiBkb24ndCBmYWlsIHdpdGggRkFUQUxfRVJST1IgaWYKCSAgUkVRVUlSRUQgd2FzIG5vdCB1c2VkCgoJICBBbGV4CgoyMDA4LTA2LTE2IDE1OjE5ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRGTFRLLmNtYWtlLCBNb2R1bGVzL0ZpbmRLREUzLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRNYXRsYWIuY21ha2UsCgkgIFRlc3RzL0ZpbmRNb2R1bGVzRXhlY3V0ZUFsbC9DTWFrZUxpc3RzLnR4dDogRU5IOiBmaXggZmluZCBtb2R1bGUKCSAgc3R1ZmYgZm9yIHRlc3QKCjIwMDgtMDYtMTYgMTQ6MTUgIG1pZ3VlbGYKCgkqIE1vZHVsZXMvRmluZHd4V2lkZ2V0cy5jbWFrZTogQlVHOiBGaXggc28gdGhhdCBNaW5HVyB1c2UKCSAgd2luMzJfZmluZF9zdHlsZSAoNjQ3OCkuIEFsc28sIGNvbnNvbGlkYXRlZCBzZWFyY2ggc3R5bGVzCgkgIHNlbGVjdGlvbiBpbnRvIGEgc2luZ2xlIHZhcmlhYmxlLCBzbyB0aGF0IHRoZXkgYXJlIG11dHVhbGx5CgkgIGV4Y2x1c2l2ZS4KCjIwMDgtMDYtMTYgMTQ6MDMgIGhvZmZtYW4KCgkqIFRlc3RzL0ZpbmRNb2R1bGVzRXhlY3V0ZUFsbC9tYWluLmM6IGZpbGUgbWFpbi5jIHdhcyBhZGRlZCBvbgoJICBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDgtMDYtMjUgMTM6NTI6MDAgKzAwMDAKCjIwMDgtMDYtMTYgMTQ6MDMgIGFsZXgKCgkqIFRlc3RzLzogQ01ha2VMaXN0cy50eHQsIEZpbmRNb2R1bGVzRXhlY3V0ZUFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgRmluZE1vZHVsZXNFeGVjdXRlQWxsL21haW4uYzogRU5IOiBhZGQgdGVzdCB3aGljaCBleGVjdXRlcyBhbGwKCSAgRmluZFhYWC5jbWFrZSBtb2R1bGVzCgoJICBBbGV4CgoyMDA4LTA2LTE1IDIzOjU2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDYtMTQgMjM6NTYgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNi0xMyAyMzo1NiAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA2LTEzIDE2OjU3ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvUUNNYWtlQ2FjaGVWaWV3LmN4eDoKCSAgRU5IOiByZW1vdmUgcmVkIGJsZW5kaW5nLiAgSXQgZGlkbid0IGxvb2sgZ29vZCBvbiBzb21lIHN5c3RlbXMuCgoyMDA4LTA2LTEzIDE2OjMzICBtaWd1ZWxmCgoJKiBNb2R1bGVzL0ZpbmR3eFdpZGdldHMuY21ha2U6IEJVRzogRml4ZWQgaW5jb3JyZWN0bHkgbWF0Y2hlZAoJICBGT1JFQUNIICg3MDA4KS4KCjIwMDgtMDYtMTMgMTU6MjkgIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy9RQ01ha2VDYWNoZVZpZXcuY3h4OgoJICBFTkg6CWluc3RlYWQgb2Ygc29saWQgcmVkIGZvciBuZXcgZW50cmllcywgYmxlbmQgaXQgd2l0aCB0aGUKCSAgYWx0ZXJuYXRpbmcJICAgIHdoaXRlL2dyYXkgKGRlcGVuZGluZyBvbiBzdHlsZSkuCgoyMDA4LTA2LTEzIDExOjE5ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvOiBDTWFrZVNldHVwRGlhbG9nLmN4eCwgQ01ha2VTZXR1cERpYWxvZy5oLAoJICBRQ01ha2VDYWNoZVZpZXcuY3h4LCBRQ01ha2VDYWNoZVZpZXcuaDoKCSAgRU5IOglNYWtlIG9yaWdpbmFsIGZsYXQgdmlldyB0aGUgZGVmYXVsdC4JICAgIEFkZCBvcHRpb24gdG8KCSAgc3dpdGNoIHRvIGdyb3VwZWQgdmlldyAoYW5kIHJlbWVtYmVyIGl0KS4KCjIwMDgtMDYtMTMgMTA6MTUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBFTkg6IHJlbW92ZSBiZXRhIHN0dWZmIGZyb20gdmVyc2lvbgoKMjAwOC0wNi0xMyAwODo1NSAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWwsCgkgIE1vZHVsZXMvQ01ha2VGaW5kQmluVXRpbHMuY21ha2UsIE1vZHVsZXMvQ1BhY2suUnVudGltZVNjcmlwdC5pbiwKCSAgTW9kdWxlcy9GaW5kQ3Vyc2VzLmNtYWtlLCBNb2R1bGVzL0ZpbmRGcmVldHlwZS5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kR0RBTC5jbWFrZSwgTW9kdWxlcy9GaW5kR0lGLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRLREUzLmNtYWtlLCBNb2R1bGVzL0ZpbmRLREU0LmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRMdWE1MC5jbWFrZSwgTW9kdWxlcy9GaW5kTHVhNTEuY21ha2UsCgkgIE1vZHVsZXMvRmluZE9wZW5BTC5jbWFrZSwgTW9kdWxlcy9GaW5kT3BlblRocmVhZHMuY21ha2UsCgkgIE1vZHVsZXMvRmluZFBoeXNGUy5jbWFrZSwgTW9kdWxlcy9GaW5kUHJvZHVjZXIuY21ha2UsCgkgIE1vZHVsZXMvRmluZFF0My5jbWFrZSwgTW9kdWxlcy9GaW5kUXQ0LmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRRdWlja1RpbWUuY21ha2UsIE1vZHVsZXMvRmluZFNETC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kU0RMX2ltYWdlLmNtYWtlLCBNb2R1bGVzL0ZpbmRTRExfbWl4ZXIuY21ha2UsCgkgIE1vZHVsZXMvRmluZFNETF9uZXQuY21ha2UsIE1vZHVsZXMvRmluZFNETF9zb3VuZC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kU0RMX3R0Zi5jbWFrZSwgTW9kdWxlcy9GaW5kVENMLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRUY2xzaC5jbWFrZSwgTW9kdWxlcy9GaW5kV2lzaC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kWE1MUlBDLmNtYWtlLCBNb2R1bGVzL0ZpbmRvc2cuY21ha2UsCgkgIE1vZHVsZXMvRmluZG9zZ0RCLmNtYWtlLCBNb2R1bGVzL0ZpbmRvc2dGWC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kb3NnR0EuY21ha2UsIE1vZHVsZXMvRmluZG9zZ0ludHJvc3BlY3Rpb24uY21ha2UsCgkgIE1vZHVsZXMvRmluZG9zZ01hbmlwdWxhdG9yLmNtYWtlLCBNb2R1bGVzL0ZpbmRvc2dQYXJ0aWNsZS5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kb3NnUHJvZHVjZXIuY21ha2UsIE1vZHVsZXMvRmluZG9zZ1NoYWRvdy5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kb3NnU2ltLmNtYWtlLCBNb2R1bGVzL0ZpbmRvc2dUZXJyYWluLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRvc2dUZXh0LmNtYWtlLCBNb2R1bGVzL0ZpbmRvc2dVdGlsLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRvc2dWaWV3ZXIuY21ha2UsCgkgIFNvdXJjZS9jbUFkZEN1c3RvbUNvbW1hbmRDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuaCwgU291cmNlL2NtQ3VzdG9tQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUN1c3RvbUNvbW1hbmQuaCwgU291cmNlL2NtRmluZEJhc2UuY3h4LAoJICBTb3VyY2UvY21GaW5kQmFzZS5oLCBTb3VyY2UvY21GaW5kQ29tbW9uLmN4eCwKCSAgU291cmNlL2NtRmluZENvbW1vbi5oLCBTb3VyY2UvY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21GaW5kTGlicmFyeUNvbW1hbmQuaCwgU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmgsIFNvdXJjZS9jbUZpbmRQYXRoQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUZpbmRQYXRoQ29tbWFuZC5oLCBTb3VyY2UvY21GaW5kUHJvZ3JhbUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwKCSAgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwgU291cmNlL2NtYWtlLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHgsCgkgIFNvdXJjZS9rd3N5cy9EeW5hbWljTG9hZGVyLmN4eCwKCSAgU291cmNlL2t3c3lzL1N5c3RlbUluZm9ybWF0aW9uLmN4eCwgU291cmNlL2t3c3lzL1Rlcm1pbmFsLmMsCgkgIFRlc3RzL0NNYWtlVGVzdHMvRmluZEJhc2VUZXN0LmNtYWtlLmluLAoJICBUZXN0cy9DTWFrZVRlc3RzL0EvaW5jbHVkZS9jbWFrZV9pX2RvX25vdF9leGlzdF9pbl90aGVfc3lzdGVtLmgsCgkgIFRlc3RzL0N1c3RvbUNvbW1hbmQvQ01ha2VMaXN0cy50eHQsIFRlc3RzL0N1c3RvbUNvbW1hbmQvZm9vLmluLAoJICBUZXN0cy9DdXN0b21Db21tYW5kL2dlbl9vbmNlLmMuaW4sCgkgIFRlc3RzL0N1c3RvbUNvbW1hbmQvd3JhcHBlci5jeHgsCgkgIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRmluZFBhY2thZ2VUZXN0L0Evd2liYmxlLWNvbmZpZy5jbWFrZSwKCSAgVGVzdHMvRmluZFBhY2thZ2VUZXN0L0Ivd2liYmxlLWNvbmZpZy5jbWFrZTogRU5IOiBtZXJnZSBpbgoJICBjaGFuZ2VzIGZyb20gaGVhZAoKMjAwOC0wNi0xMiAyMzo1NyAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA2LTExIDIzOjU3ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDYtMTEgMTU6MDggIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy9RQ01ha2VDYWNoZVZpZXcuY3h4OiBFTkg6ICBiZXR0ZXIgbmFtZSBmb3IKCSAgdW5ncm91cGVkIGVudHJpZXMuCgoyMDA4LTA2LTExIDE0OjQ3ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvUUNNYWtlQ2FjaGVWaWV3LmN4eDoKCSAgQlVHOgluZWVkIHRvIGludmFsaWRhdGUgZmlsdGVyaW5nIHdoZW4gdXNpbmcgUXQgNC4zKy4KCjIwMDgtMDYtMTAgMjM6NTkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNi0xMCAyMjoxOSAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nL0NNYWtlU2V0dXBEaWFsb2cuY3h4OgoJICBFTkg6CUFkZCBpdGVtcyB1bmRlciB0aGUgT3B0aW9ucyBtZW51IGZvciBjb2xsYXBzaW5nIGFuZAoJICBleHBhbmRpbmcgdGhlIHZhcmlhYmxlICAgICAgIHRyZWUuCgoyMDA4LTA2LTEwIDIwOjE3ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvUUNNYWtlQ2FjaGVWaWV3LmN4eDogRU5IOiAgR2l2ZSBhIGxhYmVsIGZvciB0aGUKCSAgZ3JvdXAgb2YgcHJvcGVydGllcyB0aGF0IGRpZG4ndCBnZXQgcHV0IGludG8gYW5vdGhlcgkgICAgIGdyb3VwLgoKMjAwOC0wNi0xMCAxODo1MyAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nL1FDTWFrZUNhY2hlVmlldy5jeHg6CgkgIEVOSDoJZ3JvdXAgdG9nZXRoZXIgaXRlbXMgd2l0aCBubyBwcmVmaXggYW5kIGl0ZW1zIHRoYXQgd29uJ3QgYmUKCQlncm91cGVkIHdpdGggb3RoZXJzLgoKMjAwOC0wNi0xMCAxODoyOCAgYWxleAoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogQlVHOiAtZmFpbCB3aXRoIGVycm9yIGlmIHRoZQoJICBDTWFrZTxMQU5HPkluZm9ybWF0aW9uLmNtYWtlIGZpbGUgd2Fzbid0IGZvdW5kIEVOSDogLWlmIG5vCgkgIGNvbXBpbGVyIGhhcyBiZWVuIGZvdW5kLCBkb24ndCB0ZXN0IGl0LCBhbmQgYWxzbyByZW1vdmUgdGhlCgkgIGNvbXBpbGVyIGluZm9ybWF0aW9uIGZpbGUgYWdhaW4uIFRoaXMgbWFrZXMgb3B0aW9uYWxseSBlbmFibGluZyBhCgkgIGxhbmd1YWdlIHdvcmsgYmV0dGVyLgoKCSAgQWxleAoKMjAwOC0wNi0xMCAxMzoyMiAga2luZwoKCSogU291cmNlL2NtRmluZEJhc2UuY3h4OiBCVUc6IEluIGZpbmRfKiBjb21tYW5kcyBzdXBwb3J0IE5PXyoKCSAgb3B0aW9ucyBpbiBzaG9ydC1oYW5kCgoJICAgIC0gVGhlIHNob3J0LWhhbmQgZm9ybXMgZG8gbm90IGRvY3VtZW50IHRoZSBOT18qIG9wdGlvbnMuCgkgICAgLSBDTWFrZSAyLjQgYW5kIDIuNi4wIGFjY2VwdGVkIHRoZW0gYWNjaWRlbnRhbGx5LCBidXQgYWxzbwoJICAgICAgdHJlYXRlZCB0aGUgb3B0aW9ucyBhcyBwYXRocy4KCSAgICAtIE5vdyB0aGUgb3B0aW9ucyBhcmUgYWNjZXB0ZWQgYnV0IGRvIG5vdCBiZWNvbWUgcGF0aHMuCgoyMDA4LTA2LTEwIDAwOjE3ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvOiBDTWFrZVNldHVwRGlhbG9nLmN4eCwgQ01ha2VTZXR1cERpYWxvZy51aSwKCSAgUUNNYWtlQ2FjaGVWaWV3LmN4eCwgUUNNYWtlQ2FjaGVWaWV3Lmg6CgkgIEVOSDoJVXNlIGEgdHJlZSB2aWV3IG9mIHRoZSBwcm9wZXJ0aWVzIGluc3RlYWQgb2YgYSBmbGF0IGxpc3QKCSAgdmlldy4gICAgICAgIFByb3BlcnRpZXMgYXJlIGdyb3VwZWQgYnkgYSBwcmVmaXggKHVwIHRvIGZpcnN0ICJfIikKCSAgYW5kIGNhbiBiZSBleHBhbmRlZAkgICAgIG9yIGNvbGxhcHNlZC4KCgkJRml4ZXMgIzYzNTkuCgoyMDA4LTA2LTA5IDIzOjU3ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDYtMDkgMTY6MDQgIGtpbmcKCgkqIE1vZHVsZXMvOiBDTWFrZUZpbmRCaW5VdGlscy5jbWFrZSwgRmluZEN1cnNlcy5jbWFrZSwKCSAgRmluZEZyZWV0eXBlLmNtYWtlLCBGaW5kR0RBTC5jbWFrZSwgRmluZEdJRi5jbWFrZSwKCSAgRmluZEtERTMuY21ha2UsIEZpbmRLREU0LmNtYWtlLCBGaW5kTHVhNTAuY21ha2UsIEZpbmRMdWE1MS5jbWFrZSwKCSAgRmluZE9wZW5BTC5jbWFrZSwgRmluZE9wZW5UaHJlYWRzLmNtYWtlLCBGaW5kUGh5c0ZTLmNtYWtlLAoJICBGaW5kUHJvZHVjZXIuY21ha2UsIEZpbmRRdDMuY21ha2UsIEZpbmRRdWlja1RpbWUuY21ha2UsCgkgIEZpbmRTREwuY21ha2UsIEZpbmRTRExfaW1hZ2UuY21ha2UsIEZpbmRTRExfbWl4ZXIuY21ha2UsCgkgIEZpbmRTRExfbmV0LmNtYWtlLCBGaW5kU0RMX3NvdW5kLmNtYWtlLCBGaW5kU0RMX3R0Zi5jbWFrZSwKCSAgRmluZFRDTC5jbWFrZSwgRmluZFRjbHNoLmNtYWtlLCBGaW5kV2lzaC5jbWFrZSwgRmluZFhNTFJQQy5jbWFrZSwKCSAgRmluZG9zZy5jbWFrZSwgRmluZG9zZ0RCLmNtYWtlLCBGaW5kb3NnRlguY21ha2UsIEZpbmRvc2dHQS5jbWFrZSwKCSAgRmluZG9zZ0ludHJvc3BlY3Rpb24uY21ha2UsIEZpbmRvc2dNYW5pcHVsYXRvci5jbWFrZSwKCSAgRmluZG9zZ1BhcnRpY2xlLmNtYWtlLCBGaW5kb3NnUHJvZHVjZXIuY21ha2UsCgkgIEZpbmRvc2dTaGFkb3cuY21ha2UsIEZpbmRvc2dTaW0uY21ha2UsIEZpbmRvc2dUZXJyYWluLmNtYWtlLAoJICBGaW5kb3NnVGV4dC5jbWFrZSwgRmluZG9zZ1V0aWwuY21ha2UsIEZpbmRvc2dWaWV3ZXIuY21ha2U6IEVOSDoKCSAgQ2xlYW51cCBGaW5kKiBtb2R1bGVzIHdpdGggbmV3IEhJTlRTIGZlYXR1cmUKCgkgICAgLSBUaGUgZmluZF8qIGNvbW1hbmRzIG5vdyBwcm92aWRlIGEgSElOVFMgb3B0aW9uLgoJICAgIC0gVGhlIG9wdGlvbiBzcGVjaWZpZXMgcGF0aHMgdG8gYmUgcHJlZmVycmVkIG92ZXIgdGhlIHN5c3RlbQoJICBwYXRocy4KCSAgICAtIE1hbnkgRmluZCogbW9kdWxlcyB3ZXJlIHVzaW5nIHR3byBmaW5kIGNhbGxzIHdpdGgKCSAgTk9fREVGQVVMVF9QQVRICgkgICAgICB0byBhcHByb3hpbWF0ZSB0aGUgYmVoYXZpb3IsIGJ1dCB0aGF0IGJsb2NrZWQgdXNlcnMgZnJvbQoJICBvdmVycmlkaW5nCgkgICAgICB0aGluZ3Mgd2l0aCBDTUFLRV9QUkVGSVhfUEFUSC4KCSAgICAtIFRoaXMgY29tbWl0IHVzZXMgdGhlIEhJTlRTIGZlYXR1cmUgdG8gZ2V0IGRlc2lyZWQgYmVoYXZpb3IgaW4KCSAgICAgIG9ubHkgb25lIGZpbmQgY29tbWFuZCBjYWxsLgoKMjAwOC0wNi0wOSAxNTo1MCAgYWxleAoKCSogTW9kdWxlcy9DUGFjay5SdW50aW1lU2NyaXB0LmluOiBTVFlMRTogYXBwbHkgcGF0Y2ggZnJvbSBUaG9tYXMKCSAgS2xhdXNuZXIgKE5ldEJTRCk6IHVzZSAiPSIgZm9yIHRlc3Rpbmcgc3RyaW5ncyBmb3IgZXF1YWxpdHkKCSAgaW5zdGVhZCBvZiAiPT0iCgoJICBUaGlzIGFsc28gbWF0Y2hlcyB3aGF0IHRoZSBtYW4gcGFnZSBmb3IgdGVzdCBzYXlzICJzMSA9IHMyCgkgIFRydWUgaWYgdGhlIHN0cmluZ3MgczEgYW5kIHMyIGFyZSBpZGVudGljYWwuIgoKCSAgQWxleAoKMjAwOC0wNi0wOSAxNToyMiAga2luZwoKCSogU291cmNlLzogY21GaW5kQmFzZS5jeHgsIGNtRmluZFBhY2thZ2VDb21tYW5kLmN4eDogRU5IOiBNYWtlCgkgIGZpbmRfKiBjb21tYW5kIHNlYXJjaCBvcmRlciBtb3JlIGludHVpdGl2ZS4KCgkgICAgLSBUaGUgQ01BS0VfUFJFRklYX1BBVEggYW5kIHNpbWlsYXIgdmFyaWFibGVzIGhhdmUgYm90aAoJICAgICAgZW52aXJvbm1lbnQgYW5kIENNYWtlIGNhY2hlIHZlcnNpb25zLgoJICAgIC0gUHJldmlvdXNseSB0aGUgZW52aXJvbm1lbnQgdmFsdWUgd2FzIGNoZWNrZWQgYmVmb3JlIHRoZQoJICAgICAgY2FjaGUgdmFsdWUuCgkgICAgLSBOb3cgdGhlIGNhY2hlIHZhbHVlIGlzIGZhdm9yZWQgYmVjYXVzZSBpdCBpcyBtb3JlIHNwZWNpZmljLgoKMjAwOC0wNi0wOSAxNTowOSAgaG9mZm1hbgoKCSogVGVzdHMvRmluZFBhY2thZ2VUZXN0LzogQS93aWJibGUtY29uZmlnLmNtYWtlLAoJICBCL3dpYmJsZS1jb25maWcuY21ha2U6IGZpbGUgd2liYmxlLWNvbmZpZy5jbWFrZSB3YXMgYWRkZWQgb24KCSAgYnJhbmNoIENNYWtlLTItNiBvbiAyMDA4LTA2LTEzIDEyOjU1OjE5ICswMDAwCgoyMDA4LTA2LTA5IDE1OjA5ICBob2ZmbWFuCgoJKiBUZXN0cy9DTWFrZVRlc3RzL0EvaW5jbHVkZS9jbWFrZV9pX2RvX25vdF9leGlzdF9pbl90aGVfc3lzdGVtLmg6CgkgIGZpbGUgY21ha2VfaV9kb19ub3RfZXhpc3RfaW5fdGhlX3N5c3RlbS5oIHdhcyBhZGRlZCBvbiBicmFuY2gKCSAgQ01ha2UtMi02IG9uIDIwMDgtMDYtMTMgMTI6NTU6MTggKzAwMDAKCjIwMDgtMDYtMDkgMTU6MDkgIGtpbmcKCgkqIFRlc3RzLzoKCSAgQ01ha2VUZXN0cy9BL2luY2x1ZGUvY21ha2VfaV9kb19ub3RfZXhpc3RfaW5fdGhlX3N5c3RlbS5oLAoJICBDTWFrZVRlc3RzL0ZpbmRCYXNlVGVzdC5jbWFrZS5pbiwgRmluZFBhY2thZ2VUZXN0L0NNYWtlTGlzdHMudHh0LAoJICBGaW5kUGFja2FnZVRlc3QvQS93aWJibGUtY29uZmlnLmNtYWtlLAoJICBGaW5kUGFja2FnZVRlc3QvQi93aWJibGUtY29uZmlnLmNtYWtlOiBFTkg6IEFkZCB0ZXN0IGZvciBuZXcKCSAgZmluZF8qIGNvbW1hbmQgSElOVFMgb3B0aW9uLgoKMjAwOC0wNi0wOSAxNTowOCAga2luZwoKCSogU291cmNlLzogY21GaW5kQmFzZS5jeHgsIGNtRmluZEJhc2UuaCwgY21GaW5kQ29tbW9uLmN4eCwKCSAgY21GaW5kQ29tbW9uLmgsIGNtRmluZFBhY2thZ2VDb21tYW5kLmN4eCwgY21GaW5kUGFja2FnZUNvbW1hbmQuaDoKCSAgRU5IOiBBZGQgSElOVFMgb3B0aW9uIHRvIGZpbmRfKiBjb21tYW5kcy4KCgkgICAgLSBIaW50cyBhcmUgc2VhcmNoZWQgYWZ0ZXIgdXNlciBsb2NhdGlvbnMgYnV0IGJlZm9yZSBzeXN0ZW0KCSAgbG9jYXRpb25zCgkgICAgLSBUaGUgSElOVFMgb3B0aW9uIHNob3VsZCBoYXZlIHBhdGhzIHByb3ZpZGVkIGJ5IHN5c3RlbQoJICBpbnRyb3NwZWN0aW9uCgkgICAgLSBUaGUgUEFUSFMgb3B0aW9uIHNob3VsZCBoYXZlIHBhdGhzIHRoYXQgYXJlIGhhcmQtY29kZWQKCSAgZ3Vlc3NlcwoKMjAwOC0wNi0wOSAxMjo1MSAga2luZwoKCSogU291cmNlL2NtRmluZFBhdGhDb21tYW5kLmN4eDogRU5IOiBJbXByb3ZlIGZyYW1ld29yayBzZWFyY2ggc3BlZWQKCSAgZm9yIGZpbmRfZmlsZSBhbmQgZmluZF9wYXRoCgoJICAgIC0gTG9jYXRpbmcgYSBoZWFkZXIgaW5zaWRlIGEgZnJhbWV3b3JrIG9mdGVuIHJlcXVpcmVzIGdsb2JiaW5nCgkgICAgLSBQcmV2aW91c2x5IHRoZSBnbG9iIHdhcyA8ZGlyPi8qL0hlYWRlcnMvPG5hbWU+CgkgICAgLSBOb3cgdGhlIGdsb2IgaXMgPGRpcj4vKi5mcmFtZXdvcmsvSGVhZGVycy88bmFtZT4KCSAgICAtIFRoaXMgaXMgbXVjaCBmYXN0ZXIgd2hlbiA8ZGlyPiBpcyBub3QgcmVhbGx5IGEgZnJhbWV3b3JrIGRpcgoKMjAwOC0wNi0wOSAxMTo1OCAga2luZwoKCSogU291cmNlLzogY21GaW5kQmFzZS5jeHgsIGNtRmluZEJhc2UuaCwgY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4LAoJICBjbUZpbmRMaWJyYXJ5Q29tbWFuZC5oLCBjbUZpbmRQYXRoQ29tbWFuZC5jeHgsCgkgIGNtRmluZFBhdGhDb21tYW5kLmgsIGNtRmluZFByb2dyYW1Db21tYW5kLmN4eDogRU5IOiBSZWZhY3RvcgoJICBmaW5kXyogY29tbWFuZCBmcmFtZXdvcmsvYXBwYnVuZGxlIHNlYXJjaCBvcmRlciBpbXBsLgoKCSAgICAtIENNQUtFX0ZJTkRfRlJBTUVXT1JLIGFuZCBDTUFLRV9GSU5EX0FQUEJVTkRMRSBhcmUgc3VwcG9zZWQgdG8KCSAgc3BlY2lmeQoJICAgICAgd2hldGhlciB0byBmaW5kIGZyYW1ld29ya3MvYXBwYnVuZGxlcyBGSVJTVCwgTEFTVCwgT05MWSwgb3IKCSAgTkVWRVIuCgkgICAgLSBQcmV2aW91c2x5IHRoaXMgYWZmZWN0ZWQgb25seSB0aGUgcGxhY2VtZW50IG9mCgkgIENNQUtFX0ZSQU1FV09SS19QQVRICgkgICAgICBhbmQgQ01BS0VfQVBQQlVORExFX1BBVEggd2l0aCByZXNwZWN0IHRvIHRoZSBvdGhlciBwYXRoCgkgIHNwZWNpZmllcnMuCgkgICAgLSBOb3cgaXQgYmVoYXZlcyBhcyBkb2N1bWVudGVkLiAgVGhlIGVudGlyZSBzZWFyY2ggcGF0aCBpcwoJICBpbnNwZWN0ZWQgZm9yCgkgICAgICBlYWNoIGtpbmQgb2YgcHJvZ3JhbSwgbGlicmFyeSwgb3IgaGVhZGVyIGJlZm9yZSB0cnlpbmcgdGhlCgkgIG5leHQga2luZC4KCSAgICAtIEFkZGl0aW9uYWxseSB0aGUgT05MWSBtb2RlIGlzIG5vdyBob25vcmVkIGZvciBoZWFkZXJzIHNvIHRoYXQKCSAgdXNlcnMKCSAgICAgIGRvIG5vdCBlbmQgdXAgd2l0aCBhIGxpYnJhcnkgaW4gZnJhbWV3b3JrIGFuZCBhIGhlYWRlciBmcm9tCgkgIGVsc2V3aGVyZS4KCjIwMDgtMDYtMDkgMTE6NTcgIGtpbmcKCgkqIFNvdXJjZS86IGNtRmluZEJhc2UuY3h4LCBjbUZpbmRDb21tb24uY3h4LCBjbUZpbmRDb21tb24uaCwKCSAgY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4LCBjbUZpbmRQYWNrYWdlQ29tbWFuZC5jeHgsCgkgIGNtRmluZFBhdGhDb21tYW5kLmN4eDogRU5IOiBJbiBmaW5kXyogaW1wbGVtZW50YXRpb24gY2VudHJhbGl6ZQoJICBhZGRpdGlvbiBvZiB0cmFpbGluZyBzbGFzaGVzCgoJICAgIC0gQ3JlYXRlIGNtRmluZENvbW1vbjo6QWRkVHJhaWxpbmdTbGFzaGVzCgkgICAgLSBVc2UgaXQgaW4gY21GaW5kQmFzZSBhbmQgY21GaW5kUGFja2FnZUNvbW1hbmQKCSAgICAtIFJlbW92ZSBkdXBsaWNhdGlvbiBmcm9tIG90aGVyIGZpbmQgY29tbWFuZHMKCjIwMDgtMDYtMDggMjM6NTcgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNi0wOCAxMTo0MSAga2luZwoKCSogU291cmNlL2NtYWtlLmN4eDogRU5IOiBXaGVuZXZlciBDTWFrZSByZS1ydW5zIGZyb20gaW5zaWRlIHRoZSBWUwoJICBJREUgaW5mb3JtIHRoZSB1c2VyIHdoeS4KCjIwMDgtMDYtMDggMTE6NDEgIGtpbmcKCgkqIFRlc3RzL0NNYWtlVGVzdHMvRmluZEJhc2VUZXN0LmNtYWtlLmluOiBCVUc6IEZpeCBDTWFrZS5GaW5kQmFzZQoJICB0ZXN0IHRvIG5vcm1hbGl6ZSBwYXRocyBiZWZvcmUgY29tcGFyaW5nLgoKCSAgICAtIFByZXZpb3VzbHkgdGhlIGZpbmRfKiBjb21tYW5kcyBkaWQgbm90IG5vcm1hbGl6ZSB0aGUgc2VhcmNoCgkgIHBhdGhzCgkgICAgLSBUaGUgcmVjZW50IHJlZmFjdG9yaW5nIGVuYWJsZWQgc3VjaCBub3JtYWxpemF0aW9uCgkgICAgLSBUaGUgRmluZEJhc2UgdGVzdCBtdXN0IGFsc28gbm9ybWFsaXplIGJlZm9yZSBjb21wYXJpbmcgcGF0aHMKCjIwMDgtMDYtMDggMTE6NDEgIGtpbmcKCgkqIFNvdXJjZS9jbUZpbmRCYXNlLmN4eDogQlVHOiBGaXggZmluZF8qIGNvbW1hbmQgY2FsbHMgd2l0aCBubwoJICBQQVRIUyBidXQgbmV3LXN0eWxlIG9wdGlvbnMuCgoJICAgIC0gSW4gY21GaW5kQmFzZSB3aGVuIENoZWNrQ29tbW9uQXJndW1lbnQgcmV0dXJucyB0cnVlLCBzZXQKCSAgbmV3U3R5bGUKCSAgICAtIE90aGVyd2lzZSBpZiB0aGVyZSBhcmUgbm8gUEFUSFMgdGhlbiB0aGUgYW5jaWVudC1zdHlsZQoJICBjb21wYXRpYmlsaXR5CgkgICAgICBtb2RlIGlzIGVuYWJsZWQgYW5kIHRoZSBjb21tb24gYXJndW1lbnQgaXMgdHJlYXRlZCBhcyBhIHBhdGguCgoyMDA4LTA2LTA3IDIzOjU3ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDYtMDYgMjM6NTggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNi0wNiAxMTo1MiAga2luZwoKCSogU291cmNlL2t3c3lzL1Rlcm1pbmFsLmM6IEVOSDogUmVjb2duaXplIG1vcmUgY29sb3IgdGVybWluYWxzLgoKCSAgICAtIFBhdGNoIGZyb20gTWF0dGhldyBNY0Nvcm1pY2ssIHNsaWdodGx5IHR3ZWFrZWQKCSAgICAtIFNlZSBpc3N1ZSAjNjgzMwoKMjAwOC0wNi0wNiAxMTo0OSAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBFTkg6IGZpeCBmb3IgZmxhZ3MgdGhhdCBoYXZlCgkgIHN1Yi1zdHJpbmcgbWF0Y2hlcwoKMjAwOC0wNi0wNiAxMDoyMiAgbWFydGluawoKCSogU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEVOSDogZml4IGZvciBidWcgNjM2NCwKCSAgZXh0cmEgaGVscCB0YXJnZXRzIHdoZW4gdGhlcmUgYXJlIHN1YmRpcmVjdG9yaWVzIG9mIHRoZSB0b3AgbGV2ZWwKCjIwMDgtMDYtMDYgMDk6MDYgIGtpbmcKCgkqIFNvdXJjZS9jbUZpbmRCYXNlLmN4eDogQlVHOiBGaXggY21GaW5kQmFzZTo6QWRkTWFjUGF0aCB0bwoJICBhY3R1YWxseSB1c2UgaXRzIGFyZ3VtZW50cyBhZnRlciBwcmV2aW91cyByZWZhY3RvcmluZyBjb21taXQuCgoyMDA4LTA2LTA2IDAxOjM2ICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6CgkgIEJVRzoJRml4IGZvciAjNzExOC4JICAgICAgUmVsYXRpdmUgcGF0aHMgZ29pbmcgb3V0c2lkZSB0aGUKCSAgY3VycmVudCBzb3VyY2UgZGlyIHJlc3VsdGVkIGluIGJhZGx5CSAgICAgIHBsYWNlZCBtb2Mgc291cmNlCgkgIGZpbGVzIGluIHRoZSBidWlsZCBkaXIgKG9yIG91dCBvZiB0aGUgYnVpbGQgZGlyKS4KCjIwMDgtMDYtMDUgMjM6NTcgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNi0wNSAxODoyMCAga2luZwoKCSogU291cmNlLzogY21GaW5kQmFzZS5jeHgsIGNtRmluZEJhc2UuaCwgY21GaW5kQ29tbW9uLmN4eCwKCSAgY21GaW5kQ29tbW9uLmgsIGNtRmluZFBhY2thZ2VDb21tYW5kLmN4eCwgY21GaW5kUGFja2FnZUNvbW1hbmQuaDoKCSAgRU5IOiBSZWZhY3RvciBjbUZpbmRDb21tb24sIGNtRmluZEJhc2UsIGFuZCBjbUZpbmRQYWNrYWdlQ29tbWFuZAoKCSAgICAtIEFkZCBlYWNoIHBhcnQgb2YgdGhlIHNlYXJjaCBvcmRlciBpbiBhIHNlcGFyYXRlIG1ldGhvZC4KCSAgICAtIENvbGxlY3QgYWRkZWQgcGF0aHMgaW4gYW4gaXZhciBpbiBjbUZpbmRDb21tb24uCgkgICAgLSBNb3ZlIHVzZXIgcGF0aCBzdG9yYWdlIHVwIHRvIGNtRmluZENvbW1vbiBhbmQgc2hhcmUKCSAgICAgIGJldHdlZW4gY21GaW5kQmFzZSBhbmQgY21GaW5kUGFja2FnZUNvbW1hbmQuCgkgICAgLSBFeHBhbmQgdXNlciBwYXRoIHJlZ2lzdHJ5IHZhbHVlcyB1cCBpbiBjbUZpbmRDb21tb24KCSAgICAgIC0gRW5hYmxlcyAzMi0vNjQtYml0IHJlZ2lzdHJ5IHZpZXcgZm9yIGZpbmRfcGFja2FnZQoJICAgICAgLSBEaXNhYmxlcyByZWdpc3RyeSBleHBhbnNpb24gZm9yIHBhdGhzIG5vdCBzcGVjaWZpZWQKCQl3aXRoIHRoZSBQQVRIUyBhcmd1bWVudCwgd2hpY2ggaXMgbm90IGV4cGVjdGVkLgoKMjAwOC0wNi0wNSAxMDowMSAga2luZwoKCSogVGVzdHMvQ3VzdG9tQ29tbWFuZC93cmFwcGVyLmN4eDogQlVHOiBGaXggbmV3IGN1c3RvbSBjb21tYW5kIHdpdGgKCSAgbWFrZS12YXIgZXhwYW5zaW9uIHRlc3Qgb24gVlM2LiAgVGhlIFZTNiBJREUgYWRkcyBzb21lIGV4dHJhCgkgIGNoYXJhY3RlcnMgdG8gdGhlIHZhcmlhYmxlIHZhbHVlIGR1cmluZyBleHBhbnNpb24uCgoyMDA4LTA2LTA1IDA5OjU0ICBraW5nCgoJKiBTb3VyY2UvY21GaW5kQmFzZS5jeHg6IEJVRzogRml4IDY0LWJpdCBidWlsZCBvZiBDTWFrZSBzbyBpdCBjYW4KCSAgZmluZCAzMi1iaXQgVlMgaW5zdGFsbC4KCgkgICAgLSBjbUZpbmRCYXNlIHNob3VsZCBzZWFyY2ggYm90aCAzMi1iaXQgYW5kIDY0LWJpdCByZWdpc3RyeQoJICB2aWV3cwoJICAgICAgZm9yIEZJTkRfUFJPR1JBTSBldmVuIGlmIENNQUtFX1NJWkVPRl9WT0lEX1AgaXMgbm90IHNldC4KCSAgICAtIE5lZWRlZCBiZWNhdXNlIHRoZSB2YXJpYWJsZSBpcyBub3QgYXZhaWxhYmxlIHdoZW4KCSAgQ01BS0VfTUFLRV9QUk9HUkFNCgkgICAgICBpcyB0byBiZSBmb3VuZC4KCjIwMDgtMDYtMDQgMjM6NTggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNi0wNCAxMjoxMCAga2luZwoKCSogVGVzdHMvQ3VzdG9tQ29tbWFuZC86IENNYWtlTGlzdHMudHh0LCB3cmFwcGVyLmN4eDogRU5IOiBBZGQgdGVzdAoJICBmb3IgbWFrZSB2YXJpYWJsZSByZXBsYWNlbWVudCBpbiBhIGN1c3RvbSBjb21tYW5kIHdpdGggdGhlCgkgIFZFUkJBVElNIG9wdGlvbi4KCjIwMDgtMDYtMDQgMTI6MTAgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogRU5IOiBBbGxvdyBjdXN0b20gY29tbWFuZHMgd2l0aCBWRVJCQVRJTQoJICBvcHRpb24gdG8gaGF2ZSAkKFNvbWVWYXIpIG1ha2UgdmFyaWFibGUgcmVwbGFjZW1lbnQuCgoyMDA4LTA2LTAzIDIzOjU4ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDYtMDMgMTA6MjkgIGNsaW50b24KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZToKCSAgRU5IOglTb21lIExpbnV4IGRpc3Ryb3MgZG9uJ3QgaW5zdGFsbCB4b3JnLWRldmVsLCBwbmctZGV2ZWwsCgkgIGV0Yy4uLiB3aGVuCSAgICBxdDQtZGV2ZWwgaXMgaW5zdGFsbGVkLiAgRmluZGluZyB0aGVtIHdhcwoJICByZXF1aXJlZCB0byBzdXBwb3J0IGJ1aWxkaW5nCSAgICAgYWdhaW5zdCBzdGF0aWMgUXQuICBDaGFuZ2luZwoJICBpdCBzbyB0aGV5IGFyZSBpZ25vcmVkIGlmIG5vdCBmb3VuZC4KCjIwMDgtMDYtMDMgMTA6MDIgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHg6IENPTVA6IEZpeCBib290c3RyYXAgYnVpbGQgYWZ0ZXIKCSAgcHJldmlvdXMgY2hhbmdlIHRvIHNpZ25hdHVyZSBvZiBBZGRSdWxlSGFzaC4KCjIwMDgtMDYtMDMgMDk6NTUgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHg6IEJVRzogSW5jbHVkZSBsZXNzIGNvbnRlbnQgYXMgaW5wdXQKCSAgdG8gInJ1bGUgaGFzaCIgY29tcHV0YXRpb24uCgoJICAgIC0gVGhlIHJ1bGUgaGFzaCBzaG91bGQgdXNlIG9ubHkgY29tbWFuZHMgc3BlY2lmaWVkIGJ5IHRoZSB1c2VyLgoJICAgIC0gTm8gbWFrZSBvdXRwdXQgKGVjaG8gYW5kIHByb2dyZXNzKSBydWxlcyBzaG91bGQgYmUgaW5jbHVkZWQuCgkgICAgLSBObyBvdXRwdXRzIG9yIGRlcGVuZGVuY2llcyBuZWVkIGJlIGluY2x1ZGVkLiAgVGhlIG5hdGl2ZQoJICBidWlsZCB0b29sCgkgICAgICB3aWxsIHRha2UgY2FyZSBvZiB0aGVtLgoKMjAwOC0wNi0wMiAyMzo1OCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA2LTAyIDE5OjQ0ICBjbGludG9uCgoJKiBTb3VyY2Uva3dzeXMvRHluYW1pY0xvYWRlci5jeHg6CgkgIEJVRzoJRm9ybWF0TWVzc2FnZSBjYW4gcmV0dXJuIGEgTlVMTCBtZXNzYWdlLiAgQWRkIGNoZWNrIGZvcgoJICBOVUxMIHBvaW50ZXIuCgoyMDA4LTA2LTAyIDE2OjQ1ICBraW5nCgoJKiBTb3VyY2UvY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUFkZEN1c3RvbUNvbW1hbmRDb21tYW5kLmgsIFNvdXJjZS9jbUN1c3RvbUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21DdXN0b21Db21tYW5kLmgsIFRlc3RzL0N1c3RvbUNvbW1hbmQvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0N1c3RvbUNvbW1hbmQvZm9vLmluLCBUZXN0cy9DdXN0b21Db21tYW5kL2dlbl9vbmNlLmMuaW46CgkgIEVOSDogUmVtb3ZlIFNLSVBfUlVMRV9ERVBFTkRTIG9wdGlvbiBmcm9tIGFkZF9jdXN0b21fY29tbWFuZCgpCgoJICAgIC0gT3B0aW9uIHdhcyByZWNlbnRseSBhZGRlZCBidXQgbmV2ZXIgcmVsZWFzZWQuCgkgICAgLSBDdXN0b20gY29tbWFuZHMgbm8gbG9uZ2VyIGRlcGVuZCBvbiBidWlsZC5tYWtlIHNvIHdlIGRvCgkgICAgICBub3QgbmVlZCB0aGUgb3B0aW9uLgoJICAgIC0gUnVsZSBoYXNoZXMgbm93IHRha2UgY2FyZSBvZiByZWJ1aWxkaW5nIHdoZW4gcnVsZXMgY2hhbmdlCgkgICAgICBzbyB0aGUgZGVwZW5kZW5jeSBpcyBub3QgbmVlZGVkLgoKMjAwOC0wNi0wMiAxNjo0NCAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5oLAoJICBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eDogRU5IOiBJbnRyb2R1Y2UgInJ1bGUgaGFzaGVzIiB0bwoJICBoZWxwIHJlYnVpbGQgZmlsZXMgd2hlbiBydWxlcyBjaGFuZ2UuCgoJICAgIC0gSW4gQ01ha2UgMi40IGN1c3RvbSBjb21tYW5kcyB3b3VsZCBub3QgcmVidWlsZCB3aGVuIHJ1bGVzCgkgIGNoYW5nZWQuCgkgICAgLSBJbiBDTWFrZSAyLjYuMCBjdXN0b20gY29tbWFuZHMgaGF2ZSBhIGRlcGVuZGVuY3kgb24KCSAgYnVpbGQubWFrZQoJICAgICAgd2hpY2ggY2F1c2VzIHRoZW0gdG8gcmVidWlsZCB3aGVuIGNoYW5nZWQsIGJ1dCBhbHNvIHdoZW4gYW55CgkgICAgICBzb3VyY2UgaXMgYWRkZWQgb3IgcmVtb3ZlZC4gIFRoaXMgaXMgdG9vIG9mdGVuLgoJICAgIC0gV2UgY2Fubm90IGhhdmUgYSBwZXItcnVsZSBmaWxlIGJlY2F1c2UgV2luZG93cyBmaWxlc3lzdGVtcwoJICAgICAgZG8gbm90IGRlYWwgd2VsbCB3aXRoIGxvdHMgb2Ygc21hbGwgZmlsZXMuCgkgICAgLSBJbnN0ZWFkIHdlIGFkZCBhIHBlcnNpc3RlbnQgQ01ha2VGaWxlcy9DTWFrZVJ1bGVIYXNoZXMudHh0CgkgIGZpbGUKCSAgICAgIGF0IHRoZSB0b3Agb2YgdGhlIGJ1aWxkIHRyZWUgdGhhdCBpcyB1cGRhdGVkIGR1cmluZyBlYWNoCgkgICAgICBDTWFrZSBHZW5lcmF0ZSBzdGVwLiAgSXQgcmVjb3JkcyBhIGhhc2ggb2YgdGhlIGJ1aWxkIHJ1bGUgZm9yCgkgICAgICBlYWNoIGZpbGUgdG8gYmUgYnVpbHQuICBXaGVuIHRoZSBoYXNoIGNoYW5nZXMgdGhlIGZpbGUgaXMKCSAgICAgIHJlbW92ZWQgc28gdGhhdCBpdCB3aWxsIGJlIHJlYnVpbHQuCgoyMDA4LTA2LTAyIDE0OjUzICBld2luZwoKCSogTW9kdWxlcy9GaW5kTHVhNTEuY21ha2U6IEJVRzogZml4ZWQgTHVhNTAgdG8gYmUgTHVhNTEgaW4KCSAgRklORF9QQUNLQUdFX0hBTkRMRV9TVEFOREFSRF9BUkdTIGNhbGwuCgoyMDA4LTA2LTAyIDA5OjM5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IENPTVA6IGZpeCB3YXJuaW5nCgoyMDA4LTA2LTAxIDIzOjU4ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDYtMDEgMjM6NDAgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1JbmZvcm1hdGlvbi5jeHg6IEVOSDogZml4IGNyYXNoIG9uIGRhc2gxNwoJICBsaW51eCB3aGVyZSB0aGUgcGFyc2luZyBvZiB0aGUgcHJvYyBmaWxlIG11c3Qgbm90IGhhdmUgd29ya2VkCgkgIHJpZ2h0CgoyMDA4LTA2LTAxIDE2OjExICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtSW5mb3JtYXRpb24uY3h4OiBFTkg6IGZpeCBjcmFzaCBvbiBjeWd3aW4KCjIwMDgtMDYtMDEgMTQ6NDAgIGZiZXJ0ZWwKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1JbmZvcm1hdGlvbi5jeHg6IEJVRzpjcHVpbmZvIGZvcm1hdCBhcmUKCSAgZGlmZmVyZW50IGJldHdlZW4gTGludXggYW5kIEN5Z3dpbi4gQ3lnd2luIGRvZXMgbm90IGhhdmUgcGh5c2ljYWwKCSAgaWQgdGFnIG9yIGNwdSBjb3JlcyB0YWcuCgoyMDA4LTA2LTAxIDExOjIzICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtSW5mb3JtYXRpb24uY3h4OiBFTkg6IGF2b2lkIGRpdmlkZSBieSB6ZXJvLAoJICB0ZW1wb3JhcnkgZml4IHVudGlsIGN5Z3dpbiBjcHUgZmlsZSBpcyByZWFkIGJldHRlciwgYmFkIGNwdSBpbmZvCgkgIGlzIGJldHRlciB0aGFuIGEgY3Jhc2gKCjIwMDgtMDUtMzEgMjM6NTggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNS0zMSAxMToyMyAgZmJlcnRlbAoKCSogU291cmNlL2t3c3lzL1N5c3RlbUluZm9ybWF0aW9uLmN4eDogQlVHOkZpeGVkIE51bWJlck9mTG9naWNhbENQVSwKCSAgTnVtYmVyT2ZQaHlzaWNhbENQVSBhbmQgTG9naWNhbFByb2Nlc3NvcnNQZXJQaHlzaWNhbCB1bmRlciBMaW51eC4KCSAgU29tZSBwYXJ0IHdhcyBqdXN0IHdyb25nLiBTb21lIG90aGVyIHBhcnQgbWlzc2VkIHRvIHRha2UgdGhlCgkgIG11bHRpY29yZSB2YWx1ZSBpbnRvIGFjY291bnQuCgoyMDA4LTA1LTMxIDA4OjE1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEVOSDogbWFrZSBlbmQgb2YgZmlsZSBjaGVja2luZyBmb3IgY2xvc2UKCSAgaWYsIGZvcmVhY2gsIG1hY3JvLCBmdW5jdGlvbnMgZXRjIGVuYWJsZWQuIE5vdCBzdXJlIHdoeSBpdCB3YXMKCSAgZGlzYWJsZWQgdG8gc3RhcnQgd2l0aCwgYnV0IEkgc3VzcGVjdCBJIHdpbGwgZmluZCBvdXQuIEluIHJlcG9uc2UKCSAgdG8gQmlsbCBlbWFpbCBhYm91dCBhIGN0ZXN0IC1TIHNjcmlwdCB3aXRoIGEgZnVuY3Rpb24gdGhhdCB3YXFzCgkgIG5vdCBjbG9zZWQuIENsb3N1cmUgd2FzIG9ubHkgY2hlY2tlZCBmb3IgcmVndWxhciBsaXN0ZmlsZXMgbm90CgkgIG90aGVyIGZpbGVzLgoKMjAwOC0wNS0zMCAyMzo1OSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA1LTMwIDA5OjE0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eDogRU5IOiBtYWtlIHRlcyB0ZXN0IGZpbmRpbmcKCSAgbG9naWMgYWxzbyB0cnkgZnVsbCBwYXRocyBhcyByZWxhdGl2ZSBwYXRocyBiZWNhdXNlIHNvbWUgZm9sa3MKCSAgaGF2ZSBiZWVuIGRvaW5nIHRoYXQgYW5kIDIuNCBoYW5kbGVkIGl0CgoyMDA4LTA1LTI5IDIzOjU4ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDUtMjkgMTE6NTAgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oOiBCVUc6IGltcHJvdmUgcHJvZ3Jlc3MgcmVwb3J0aW5nCgkgIHdoZW4gdGhlcmUgYXJlIG11bHRpcGxlIHRhcmdldHMgd2l0aCB0aGUgc2FtZSBuYW1lLCBidWcjIDcwNDIKCjIwMDgtMDUtMjkgMDk6MTUgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLCBNb2R1bGVzL0ZpbmRRdDQuY21ha2UsCgkgIFNvdXJjZS9jbUZpbGVDb21tYW5kLmN4eCwgU291cmNlL2NtRmluZEJhc2UuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbVNvdXJjZUZpbGUuY3h4LAoJICBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHgsIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmgsCgkgIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHgsIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5oeHguaW46CgkgIEVOSDogbWVyZ2UgaW4gY2hhbmdlcyBmcm9tIGhlYWQgZm9yIFJDIDMKCjIwMDgtMDUtMjggMjM6NTkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNS0yNyAyMzo1OSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA1LTI3IDE2OjUwICBraW5nCgoJKiBTb3VyY2UvY21GaW5kQmFzZS5jeHg6IEJVRzogRml4IHByZXZpb3VzIHJlZ2lzdHJ5IGxvb2t1cCBjaGFuZ2UKCSAgZm9yIGV4ZWN1dGFibGVzLgoKCSAgICAtIFRoZSB0YXJnZXQgcGxhdGZvcm0gZG9lcyBub3QgbWF0dGVyIGZvciBmaW5kaW5nIGV4ZWN1dGFibGVzCgkgICAgICBzbyBmaW5kX3Byb2dyYW0gc2hvdWxkIGV4cGFuZCB0byBib3RoIDMyLWJpdCBhbmQgNjQtYml0CgkgIHJlZ2lzdHJ5CgkgICAgICB2YWx1ZXMuCgkgICAgLSBTZWUgaXNzdWUgIzcwOTUuCgoyMDA4LTA1LTI3IDE0OjQ3ICBraW5nCgoJKiBTb3VyY2UvY21GaW5kQmFzZS5jeHg6IEJVRzogRml4IHJlZ2lzdHJ5IGxvb2t1cHMgZm9yIEZJTkQKCSAgY29tbWFuZHMgdG8gdXNlIHZpZXcgb2YgdGFyZ2V0IHBsYXRmb3JtLgoKCSAgICAtIFNlZSBpc3N1ZSAjNzA5NS4KCjIwMDgtMDUtMjcgMTQ6NDYgIGtpbmcKCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmgsCgkgIGt3c3lzL1N5c3RlbVRvb2xzLmN4eCwga3dzeXMvU3lzdGVtVG9vbHMuaHh4LmluOiBFTkg6IEFkZGVkIFdPVzY0CgkgIGtleSB2aWV3IHN1cHBvcnQgdG8gS1dTeXMgU3lzdGVtVG9vbHMnIHdpbmRvd3MgcmVnaXN0cnkgQVBJLgoKCSAgICAtIEFkZCBhbiBhcmd1bWVudCB0byByZWdpc3RyeSByZWFkL3dyaXRlL2RlbGV0ZSBtZXRob2RzIHRvCgkgIHNwZWNpZnkKCSAgICAgIGEgMzItYml0IG9yIDY0LWJpdCB2aWV3LgoJICAgIC0gRGVmYXVsdCBpcyB0aGUgYml0LW5lc3Mgb2YgdGhlIHJ1bm5pbmcgcHJvZ3JhbS4KCSAgICAtIFNlZSBpc3N1ZSAjNzA5NS4KCjIwMDgtMDUtMjcgMTM6MTAgIGtpbmcKCgkqIFNvdXJjZS9jbVNvdXJjZUZpbGUuY3h4OiBFTkg6IENhdGNoIG1pc3Npbmcgc291cmNlIGZpbGVzCgkgIHNwZWNpZmllZCBieSBmdWxsIHBhdGggZWFybGllci4KCgkgICAgLSBSZXZlcnQgcHJldmlvdXMgY2hhbmdlIHRvIHRydXN0IHVzZXItcHJvdmlkZWQgZnVsbCBwYXRocy4KCSAgICAtIEluc3RlYWQgdHJ1c3QgdGhlbSBvbmx5IGZhciBlbm91Z2ggdG8gZGV0ZXJtaW5lIHRoZSBzb3VyY2UKCSAgbGFuZ3VhZ2UKCSAgICAgIGJ1dCBzdGlsbCBjaGVjayBmb3IgZXhpc3RlbmNlIGZvciBub24tZ2VuZXJhdGVkIHNvdXJjZXMuCgoyMDA4LTA1LTI3IDExOjE4ICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmg6IEJVRzogRml4CgkgIGNyYXNoIG9uIHJlcGVhdGVkIGNvbmZpZ3VyZSBzdGVwcyBhbmQgZXhwb3J0ZWQgdGFyZ2V0cy4KCgkgICAgLSBJbiBjbUdsb2JhbEdlbmVyYXRvciB0aGUgRXhwb3J0U2V0cyBpdmFyIG11c3QgYmUgY2xlYXJlZCBhdAoJICAgICAgdGhlIGJlZ2lubmluZyBvZiBlYWNoIENvbmZpZ3VyZS4KCSAgICAtIFNlZSBpc3N1ZSAjNzEwMS4KCjIwMDgtMDUtMjcgMTA6MjIgIGtpbmcKCgkqIFNvdXJjZS86IGNtRmlsZUNvbW1hbmQuY3h4LCBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oOgoJICBFTkg6IEluZm9ybSB1c2VyIHdoZW4gUlBBVEggaXMgc2V0IGR1cmluZyBpbnN0YWxsYXRpb24uCgoJICAgIC0gT3JpZ2luYWwgcGF0Y2ggZnJvbSBBbGV4LgoJICAgIC0gTW9kaWZpZWQgdG8gcHJpbnQgb25seSB3aGVuIFJQQVRIIGlzIGFjdHVhbGx5IHNldC4KCjIwMDgtMDUtMjcgMTA6MjEgIGtpbmcKCgkqIFNvdXJjZS9jbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuY3h4OiBCVUc6IFJQQVRIIGFkanVzdG1lbnQgb2YKCSAgdmVyc2lvbmVkIGV4ZWN1dGFibGVzIHNob3VsZCBvcGVyYXRlIG9uIHRoZSBmaWxlIGFuZCBub3QgdGhlCgkgIHN5bWxpbmsuCgoyMDA4LTA1LTI2IDIzOjU5ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDUtMjYgMTE6MTcgIGNsaW50b24KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZToKCSAgRU5IOglGaW5kIGRlYnVnIGxpYnMgZnJvbSBzdGF0aWMgUXQgb24gV2luZG93cy4KCjIwMDgtMDUtMjUgMjM6NTkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNS0yNCAyMzo1OSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA1LTIzIDIzOjU5ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDUtMjMgMTY6MDkgIGhvZmZtYW4KCgkqIENNYWtlQ1BhY2suY21ha2UsIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQVNNQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDWFhDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUZvcnRyYW5Db21waWxlcklkLkY5MC5pbiwKCSAgTW9kdWxlcy9DTWFrZUltcG9ydEJ1aWxkU2V0dGluZ3MuY21ha2UsIE1vZHVsZXMvRmluZFF0NC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kU3VidmVyc2lvbi5jbWFrZSwgTW9kdWxlcy9NYWNPU1hCdW5kbGVJbmZvLnBsaXN0LmluLAoJICBNb2R1bGVzL1VzZVF0NC5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9MaW51eC1QR0ktRm9ydHJhbi5jbWFrZSwKCSAgU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21GaW5kQmFzZS5jeHgsCgkgIFNvdXJjZS9jbUxpc3RDb21tYW5kLmN4eCwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbVNvdXJjZUdyb3VwLmN4eCwKCSAgU291cmNlL2NtU291cmNlR3JvdXAuaCwgU291cmNlL2NtVGFyZ2V0LmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHgsCgkgIFNvdXJjZS9RdERpYWxvZy9BZGRDYWNoZUVudHJ5LmN4eCwKCSAgU291cmNlL1F0RGlhbG9nL0FkZENhY2hlRW50cnkuaCwKCSAgU291cmNlL1F0RGlhbG9nL0FkZENhY2hlRW50cnkudWksCgkgIFNvdXJjZS9RdERpYWxvZy9DTWFrZUZpcnN0Q29uZmlndXJlLmN4eCwKCSAgU291cmNlL1F0RGlhbG9nL0NNYWtlRmlyc3RDb25maWd1cmUuaCwKCSAgU291cmNlL1F0RGlhbG9nL0NNYWtlRmlyc3RDb25maWd1cmUudWksCgkgIFNvdXJjZS9RdERpYWxvZy9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL1F0RGlhbG9nL0NNYWtlU2V0dXBEaWFsb2cuY3h4LAoJICBTb3VyY2UvUXREaWFsb2cvQ01ha2VTZXR1cERpYWxvZy5oLCBTb3VyY2UvUXREaWFsb2cvUUNNYWtlLmN4eCwKCSAgU291cmNlL1F0RGlhbG9nL1FDTWFrZS5oLCBTb3VyY2UvUXREaWFsb2cvUUNNYWtlQ2FjaGVWaWV3LmN4eCwKCSAgU291cmNlL1F0RGlhbG9nL1FDTWFrZUNhY2hlVmlldy5oLAoJICBTb3VyY2UvUXREaWFsb2cvUUNNYWtlV2lkZ2V0cy5jeHgsCgkgIFNvdXJjZS9RdERpYWxvZy9RQ01ha2VXaWRnZXRzLmgsCgkgIFNvdXJjZS9rd3N5cy9SZWd1bGFyRXhwcmVzc2lvbi5jeHgsCgkgIFNvdXJjZS9rd3N5cy9SZWd1bGFyRXhwcmVzc2lvbi5oeHguaW46IEVOSDogcHVzaCBpbiBjaGFuZ2VzIGZyb20KCSAgaGVhZAoKMjAwOC0wNS0yMyAxNTo1MiAgaG9mZm1hbgoKCSogU291cmNlL2NtRmluZEJhc2UuY3h4OiBFTkg6IGJldHRlciBmaXggZm9yIG5vdCBhZGRpbmcgLwoKMjAwOC0wNS0yMyAxNToyNSAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOiBFTkg6IHVzZSBQQVRIUyBrZXl3b3JkCgoyMDA4LTA1LTIzIDE1OjI1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21GaW5kQmFzZS5jeHg6IEJVRzogNzAxMSBmaW5kcXQgaGFuZ3MgYmVjYXVzZSBvZiBnbG9iCgkgIHdpdGggZmluZF9wYXRoIGFuZCBmcmFtZXdvcmsgaGVhZGVyIHNlcmFjaAoKMjAwOC0wNS0yMyAxMTo0NyAgaG9mZm1hbgoKCSogQ01ha2VDUGFjay5jbWFrZTogRU5IOiBkbyBub3QgcHV0IHN5c3RlbSBuYW1lIGludG8gY3lnd2luIHBhY2thZ2UKCjIwMDgtMDUtMjMgMTE6MjggIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4OiBCVUc6IGZpeCBmb3IgYnVnIDcwNzcgaGFuZGxlCgkgIERhcnRNZWFzdXJlbWVudCB0YWdzIHdpdGggdHllcCB0ZXh0L2h0bWwKCjIwMDgtMDUtMjIgMjM6NTkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNS0yMSAyMzo1OSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA1LTIxIDE5OjU3ICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHg6IEJVRzogRml4IG1ha2VmaWxlIGdlbmVyYXRvcgoJICB0byBoYXZlIGxpbmsgcnVsZXMgZGVwZW5kIG9uIGFsbCBmdWxsIHBhdGggbGlicmFyaWVzIHRoYXQgYXBwZWFyCgkgIG9uIHRoZSBsaW5rIGxpbmUuICBUaGlzIGFsbG93cyBwcm9qZWN0cyB0byByZWxpbmsgd2hlbiBpbXBvcnRlZAoJICB0YXJnZXRzIGhhdmUgY2hhbmdlZC4KCjIwMDgtMDUtMjEgMTQ6MDIgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VJbXBvcnRCdWlsZFNldHRpbmdzLmNtYWtlOiBFTkg6IEV4dGVuZCBwcmV2aW91cwoJICBwYXRjaCBmcm9tIE1hdGhpZXUgTWFsYXRlcnJlIHRvIGFwcGx5IG92ZXJyaWRlIHRvIHRoZSBidWlsZCB0b29sCgkgIGFsc28uCgoyMDA4LTA1LTIxIDEzOjM2ICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6CgkgIEVOSDoJTWFrZSBRdCBub3QgZm91bmQgaWYgdGhlIFF0Q29yZSBsaWJyYXJ5IGNhbid0IGJlIGZvdW5kLgoJICBBbHNvIHJlcG9ydCBhbiBlcnJvciB3aGVuIHRyeWluZyB0byB1c2UgTVNWQyB3aXRoIFF0IGJ1aWx0IGJ5CgkgIG1pbmd3LgoKMjAwOC0wNS0yMSAxMDo1MCAgaG9mZm1hbgoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IEVOSDogZml4IHZlcnNpb24gdG8gbm90IHJlcG9ydCBiZXRhIGZvciAxCgoyMDA4LTA1LTIxIDAwOjAwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDUtMjAgMTI6MzUgIGhvZmZtYW4KCgkqIENNYWtlQ1BhY2suY21ha2U6IEVOSDogbWFrZSBzdXJlIEN5Z3dpbi1Vbmtub3duIGlzIG5vdCB0aGUgbmFtZQoJICBmb3IgdGhlIHBhY2thZ2UKCjIwMDgtMDUtMjAgMTI6MTUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxpc3RDb21tYW5kLmN4eDogQlVHOiBmaXggZmFpbGluZyB0ZXN0CgoyMDA4LTA1LTIwIDExOjMwICBob2ZmbWFuCgoJKiBTb3VyY2UvY21MaXN0Q29tbWFuZC5jeHg6IEJVRzogZml4IGJ1Z3MgaW4gbmV3IHN0eWxlIGxpc3QgY29tbWFuZAoJICB0aGF0IGhhbmRsZXMgZW1wdHkgc3R1ZmYKCjIwMDgtMDUtMjAgMDA6MDAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNS0xOSAxODowNyAgY2xpbnRvbgoKCSogTW9kdWxlcy9Vc2VRdDQuY21ha2U6CgkgIEVOSDoJU2ltaWxhciB0byBob3cgcW1ha2UgZG9lcyBpdC4uLiAgICAgICAgRG9uJ3QgYWRkIGNvbXBpbGUKCSAgZmxhZ3MgZm9yIGRlcGVuZGVudCBtb2R1bGVzIHRoZSB1c2VyIGRpZG4ndCBzcGVjaWZ5LgkgICAgICBCdXQKCSAgc3RpbGwgYWRkIHRoZSBsaW5rIGxpYnMuICBUaGlzIHJlZHVjZXMgdGhlIG51bWJlciBvZgoJICB1bmVjZXNzYXJ5IGNvbXBpbGUgZmxhZ3MuCgoyMDA4LTA1LTE5IDEwOjAzICBraW5nCgoJKiBNb2R1bGVzL0ZpbmRTdWJ2ZXJzaW9uLmNtYWtlOiBCVUc6IEZpeGVzIGZvciBGaW5kU3VidmVyc2lvbgoKCSAgICAtIFNwbGl0IGxvZyBvdXQgZnJvbSBTdWJ2ZXJzaW9uX1dDX0lORk8gaW50byBTdWJ2ZXJzaW9uX1dDX0xPRwoJICAgIC0gRml4IHJlcG9ydCBvZiBsb2cgaW5mbyB0byBiZSBpbgoJICA8dmFyLXByZWZpeD5fV0NfTEFTVF9DSEFOR0VEX0xPRwoJICAgICAgYXMgZG9jdW1lbnRlZCAoaW5zdGVhZCBvZiBTdWJ2ZXJzaW9uX0xBU1RfQ0hBTkdFRF9MT0cpCgkgICAgLSBGaXggc2V0dGluZyBvZiBMQ19BTEwgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gYmUgaW5zaWRlIG1hY3JvCgkgICAgLSBQYXRjaCBmcm9tIFRhbmd1eSBLcm90b2ZmCgkgICAgLSBTZWUgaXNzdWUgIzcwNDcKCjIwMDgtMDUtMTkgMDA6MDAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNS0xOCAwMDowMCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA1LTE3IDE3OjM1ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0xpbnV4LVBHSS1Gb3J0cmFuLmNtYWtlOiBmaWxlCgkgIExpbnV4LVBHSS1Gb3J0cmFuLmNtYWtlIHdhcyBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uCgkgIDIwMDgtMDUtMjMgMjA6MDk6MzUgKzAwMDAKCjIwMDgtMDUtMTcgMTc6MzUgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vTGludXgtUEdJLUZvcnRyYW4uY21ha2U6IEVOSDogQWRkIGJhc2ljIGZsYWdzCgkgIGZvciBQb3J0bGFuZCBHcm91cCBmb3J0cmFuIGNvbXBpbGVyLgoKMjAwOC0wNS0xNyAxMjo1MyAgaG9mZm1hbgoKCSogTW9kdWxlcy9NYWNPU1hCdW5kbGVJbmZvLnBsaXN0LmluOiBmaWxlIE1hY09TWEJ1bmRsZUluZm8ucGxpc3QuaW4KCSAgd2FzIGFkZGVkIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24gMjAwOC0wNS0yMyAyMDowOTozNSArMDAwMAoKMjAwOC0wNS0xNyAxMjo1MyAga2luZwoKCSogTW9kdWxlcy9NYWNPU1hCdW5kbGVJbmZvLnBsaXN0LmluLCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbVRhcmdldC5jeHg6IEVOSDogQWxsb3cgdXNlcnMgdG8gc3BlY2lmeSBhIGN1c3RvbQoJICBJbmZvLnBsaXN0IHRlbXBsYXRlCgoJICAgIC0gQ3JlYXRlIE1BQ09TWF9CVU5ETEVfSU5GT19QTElTVCB0YXJnZXQgcHJvcGVydHkgdG8gc3BlY2lmeQoJICB0ZW1wbGF0ZS4KCSAgICAtIExvb2sgZm9yIE1hY09TWEJ1bmRsZUluZm8ucGxpc3QuaW4gaW4gQ01BS0VfTU9EVUxFX1BBVEggYnkKCSAgZGVmYXVsdC4KCSAgICAtIFNlZSBpc3N1ZSAjNjk4My4KCjIwMDgtMDUtMTcgMTE6NDIgIGtpbmcKCgkqIFNvdXJjZS9jbUZpbGVDb21tYW5kLmN4eDogQlVHOiBGaXggcHJldmlvdXMgY2hhbmdlIHRvCgkgIGZpbGUoU1RSSU5HUykgY29tbWFuZC4KCgkgICAgLSBQcmV2aW91cyBjaGFuZ2UgYWRkZWQgZm9ybS1mZWVkIGFzIGEgc3RyaW5nIHRlcm1pbmF0b3IuCgkgICAgLSBJbnN0ZWFkIGl0IHNob3VsZCBqdXN0IGJlIHJlY29nbml6ZWQgYXMgYSB2YWxpZCBzdHJpbmcKCSAgY2hhcmFjdGVyLgoKMjAwOC0wNS0xNyAwMDowMCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA1LTE2IDE3OjU2ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0xpbnV4LVBHSS1Gb3J0cmFuLmNtYWtlOiBFTkg6IEFkZAoJICBMaW51eC1QR0ktRm9ydHJhbiBwbGF0Zm9ybSBmaWxlIHRvIHN1cHBvcnQgdGhlIFBvcnRsYW5kIEdyb3VwCgkgIEZvcnRyYW4gY29tcGlsZXIgKFBHSSkuCgoyMDA4LTA1LTE2IDE3OjUwICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlRm9ydHJhbkNvbXBpbGVySWQuRjkwLmluLCBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHg6CgkgIEVOSDogVGVhY2ggRm9ydHJhbiBjb21waWxlciBpZGVudGlmaWNhdGlvbiBhYm91dCB0aGUgUG9ydGxhbmQKCSAgR3JvdXAgY29tcGlsZXIgKFBHSSkuCgoyMDA4LTA1LTE2IDE2OjU2ICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwgY21Tb3VyY2VHcm91cC5jeHgsCgkgIGNtU291cmNlR3JvdXAuaDogQ09NUDogRml4IGJ1aWxkIHdpdGggY29uY2VwdCBjaGVja2luZyBvZiBTVEwuCgoJICAgIC0gRml4IGNtU291cmNlR3JvdXAgdG8gbm90IHVzZSBzdGQ6OnZlY3RvciB3aXRoIGFuIGluY29tcGxldGUKCSAgdHlwZS4KCjIwMDgtMDUtMTYgMTE6MDYgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IFJlZ3VsYXJFeHByZXNzaW9uLmN4eCwgUmVndWxhckV4cHJlc3Npb24uaHh4LmluOgoJICBFTkg6IEFkZCBhc3NpZ25tZW50IG9wZXJhdG9yIHRvIEtXU3lzIFJlZ3VsYXJFeHByZXNzaW9uLgoKMjAwOC0wNS0xNiAwMDowMCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA1LTE1IDE5OjIxICBob2ZmbWFuCgoJKiBTb3VyY2UvUXREaWFsb2cvQ01ha2VGaXJzdENvbmZpZ3VyZS5jeHg6IGZpbGUKCSAgQ01ha2VGaXJzdENvbmZpZ3VyZS5jeHggd2FzIGFkZGVkIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24KCSAgMjAwOC0wNS0yMyAyMDowOTo0MiArMDAwMAoKMjAwOC0wNS0xNSAxOToyMSAgaG9mZm1hbgoKCSogU291cmNlL1F0RGlhbG9nL0NNYWtlRmlyc3RDb25maWd1cmUuaDogZmlsZSBDTWFrZUZpcnN0Q29uZmlndXJlLmgKCSAgd2FzIGFkZGVkIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24gMjAwOC0wNS0yMyAyMDowOTo0MyArMDAwMAoKMjAwOC0wNS0xNSAxOToyMSAgaG9mZm1hbgoKCSogU291cmNlL1F0RGlhbG9nL0NNYWtlRmlyc3RDb25maWd1cmUudWk6IGZpbGUKCSAgQ01ha2VGaXJzdENvbmZpZ3VyZS51aSB3YXMgYWRkZWQgb24gYnJhbmNoIENNYWtlLTItNiBvbgoJICAyMDA4LTA1LTIzIDIwOjA5OjQzICswMDAwCgoyMDA4LTA1LTE1IDE5OjIxICBob2ZmbWFuCgoJKiBTb3VyY2UvUXREaWFsb2cvUUNNYWtlV2lkZ2V0cy5jeHg6IGZpbGUgUUNNYWtlV2lkZ2V0cy5jeHggd2FzCgkgIGFkZGVkIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24gMjAwOC0wNS0yMyAyMDowOTo0NCArMDAwMAoKMjAwOC0wNS0xNSAxOToyMSAgaG9mZm1hbgoKCSogU291cmNlL1F0RGlhbG9nL1FDTWFrZVdpZGdldHMuaDogZmlsZSBRQ01ha2VXaWRnZXRzLmggd2FzIGFkZGVkCgkgIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24gMjAwOC0wNS0yMyAyMDowOTo0NCArMDAwMAoKMjAwOC0wNS0xNSAxOToyMSAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nLzogQWRkQ2FjaGVFbnRyeS5jeHgsIEFkZENhY2hlRW50cnkuaCwKCSAgQWRkQ2FjaGVFbnRyeS51aSwgQ01ha2VGaXJzdENvbmZpZ3VyZS5jeHgsIENNYWtlRmlyc3RDb25maWd1cmUuaCwKCSAgQ01ha2VGaXJzdENvbmZpZ3VyZS51aSwgQ01ha2VMaXN0cy50eHQsIENNYWtlU2V0dXBEaWFsb2cuY3h4LAoJICBDTWFrZVNldHVwRGlhbG9nLmgsIFFDTWFrZS5jeHgsIFFDTWFrZS5oLCBRQ01ha2VDYWNoZVZpZXcuY3h4LAoJICBRQ01ha2VDYWNoZVZpZXcuaCwgUUNNYWtlV2lkZ2V0cy5jeHgsIFFDTWFrZVdpZGdldHMuaDoKCSAgRU5IOglBZGQgY3Jvc3MgY29tcGlsaW5nIHN1cHBvcnQgaW4gdGhlIEdVSSBpbiB0aGUgc2FtZSBkaWFsb2cKCSAgdGhhdCBwcm9tcHRzIGZvcgkgdGhlIGdlbmVyYXRvciBvbiB0aGUgZmlyc3QgY29uZmlndXJlLglJdAoJICBlaXRoZXIgYXNrIGZvciBhIHRvb2xjaGFpbiBmaWxlCW9yIGFza3MgZm9yIGFsbCB0aGUKCSAgaW5mb3JtYXRpb24gYSB0b29sY2hhaW4gZmlsZSBtaWdodCBjb250YWluLgoKCQlBbHNvIGFkZGVkIG9wdGlvbiBmb3Igc2V0dGluZyBub24tZGVmYXVsdCBjb21waWxlcnMgaWYgbm90CgkgIGNyb3NzIGNvbXBpbGluZy4KCQlGaXhlcyAjNjg0OS4KCgkJQWxzbyBhIGJpdCBvZiBjb2RlIGNsZWFudXAgYW5kIHJlLW9yZ2FuaXppbmcuCgoyMDA4LTA1LTE1IDE1OjM5ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwKCSAgTW9kdWxlcy9DTWFrZVRlc3RGb3J0cmFuQ29tcGlsZXIuY21ha2UsIE1vZHVsZXMvRmluZEJvb3N0LmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRDdXJzZXMuY21ha2UsCgkgIE1vZHVsZXMvRmluZFBhY2thZ2VIYW5kbGVTdGFuZGFyZEFyZ3MuY21ha2UsCgkgIE1vZHVsZXMvRmluZFF0NC5jbWFrZSwgTW9kdWxlcy9OU0lTLnRlbXBsYXRlLmluLAoJICBTb3VyY2UvY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUFkZEN1c3RvbUNvbW1hbmRDb21tYW5kLmgsIFNvdXJjZS9jbUN1c3RvbUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21DdXN0b21Db21tYW5kLmgsIFNvdXJjZS9jbURlcGVuZHMuY3h4LAoJICBTb3VyY2UvY21EZXBlbmRzLmgsIFNvdXJjZS9jbURlcGVuZHNDLmN4eCwgU291cmNlL2NtRGVwZW5kc0MuaCwKCSAgU291cmNlL2NtRGVwZW5kc0ZvcnRyYW4uY3h4LCBTb3VyY2UvY21EZXBlbmRzRm9ydHJhbi5oLAoJICBTb3VyY2UvY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVyRG9jYm9vay5jeHgsIFNvdXJjZS9jbUVMRi5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtTGlzdENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtU2V0U291cmNlRmlsZXNQcm9wZXJ0aWVzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVRhcmdldC5jeHgsIFNvdXJjZS9jbVRhcmdldC5oLCBTb3VyY2UvY21YQ29kZU9iamVjdC5jeHgsCgkgIFNvdXJjZS9jbWFrZS5jeHgsIFNvdXJjZS9jbWFrZW1haW4uY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkQ29tbWFuZC5oLAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdENvbmZpZ3VyZUNvbW1hbmQuaCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUNvbW1hbmQuaCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdEVtcHR5QmluYXJ5RGlyZWN0b3J5Q29tbWFuZC5oLAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdE1lbUNoZWNrQ29tbWFuZC5oLAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFJlYWRDdXN0b21GaWxlc0NvbW1hbmQuaCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RSdW5TY3JpcHRDb21tYW5kLmgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0U2xlZXBDb21tYW5kLmgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3RhcnRDb21tYW5kLmgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3VibWl0Q29tbWFuZC5oLAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFVwZGF0ZUNvbW1hbmQuaCwgU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0LAoJICBTb3VyY2Uva3dzeXMvQ1BVLmguaW4sIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jLAoJICBTb3VyY2Uva3dzeXMvUHJvY2Vzc1dpbjMyLmMsIFNvdXJjZS9rd3N5cy9TeXN0ZW1JbmZvcm1hdGlvbi5jeHgsCgkgIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHgsIFRlc3RzL0J1aWxkRGVwZW5kcy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQnVpbGREZXBlbmRzL1Byb2plY3QvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0J1aWxkRGVwZW5kcy9Qcm9qZWN0L3pvdC5jeHgsCgkgIFRlc3RzL0J1aWxkRGVwZW5kcy9Qcm9qZWN0L3pvdF9tYWNyb19kaXIuY3h4LAoJICBUZXN0cy9CdWlsZERlcGVuZHMvUHJvamVjdC96b3RfbWFjcm9fdGd0LmN4eCwKCSAgVGVzdHMvQ3VzdG9tQ29tbWFuZC9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvQ3VzdG9tQ29tbWFuZC9mb28uaW4sCgkgIFRlc3RzL0N1c3RvbUNvbW1hbmQvZ2VuX29uY2UuYy5pbiwgVXRpbGl0aWVzL0NNYWtlTGlzdHMudHh0LAoJICBVdGlsaXRpZXMvY210YXIvQ01ha2VMaXN0cy50eHQ6IEVOSDogbWVyZ2UgaW4gZnJvbSBtYWluIHRyZWUKCjIwMDgtMDUtMTUgMTI6MDcgIGFsZXgKCgkqIE1vZHVsZXMvOiBDTWFrZURldGVybWluZUFTTUNvbXBpbGVyLmNtYWtlLAoJICBDTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwgQ01ha2VEZXRlcm1pbmVDWFhDb21waWxlci5jbWFrZToKCSAgQlVHOiBtYWtlIHRoZSB0b29sY2hhaW4tcHJlZml4IHJlY29nbml0aW9uIHdvcmsgd2l0aCBwcmVmaXhlcwoJICB3aGljaCBjb250YWluIGRvdHMgKGFzIGluIGFybS11bmtub3duLW50by1xbng2LjMuMC1nY2MuZXhlKSwKCSAgTkFNRV9XRSByZXR1cm5zIG9ubHkgdXAgdG8gdGhlIDYsIGluc3RlYWQgb2YgZXZlcnl0aGluZyBpbiBmcm9udAoJICBvZiB0aGUgLmV4ZQoKCSAgQWxleAoKMjAwOC0wNS0xNSAwMDowMCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA1LTE0IDExOjU1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQ6IEVOSDogSW4gS1dTeXMgc2V0IHRoZQoJICBJTVBMSUNJVF9ERVBFTkRTX0lOQ0xVREVfVFJBTlNGT1JNIHByb3BlcnR5LgoKCSAgICAtIFRlbGxzIENNYWtlIGFib3V0IHRoZSBLV1NZU19IRUFERVIgbWFjcm8uCgkgICAgLSBFbmFibGVzIGltcGxpY2l0IGRlcGVuZGVuY2llcyBvZiBwcml2YXRlIHNvdXJjZSBmaWxlcy4KCSAgICAtIFdoZW4gYSBDTWFrZSBuZXcgZW5vdWdoIHRvIHN1cHBvcnQgdGhlIHByb3BlcnR5IGlzIHJlcXVpcmVkCgkgICAgICB0aGUgIiNpZiAwIiBoYWNrIGNhbiBiZSByZW1vdmVkIGZyb20gdGhlIHNvdXJjZSBmaWxlcy4KCjIwMDgtMDUtMTQgMTE6NTUgIGhvZmZtYW4KCgkqIFRlc3RzL0J1aWxkRGVwZW5kcy9Qcm9qZWN0L3pvdF9tYWNyb19kaXIuY3h4OiBmaWxlCgkgIHpvdF9tYWNyb19kaXIuY3h4IHdhcyBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDgtMDUtMTUKCSAgMTk6NDA6MDEgKzAwMDAKCjIwMDgtMDUtMTQgMTE6NTUgIGhvZmZtYW4KCgkqIFRlc3RzL0J1aWxkRGVwZW5kcy9Qcm9qZWN0L3pvdF9tYWNyb190Z3QuY3h4OiBmaWxlCgkgIHpvdF9tYWNyb190Z3QuY3h4IHdhcyBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uIDIwMDgtMDUtMTUKCSAgMTk6NDA6MDEgKzAwMDAKCjIwMDgtMDUtMTQgMTE6NTUgIGtpbmcKCgkqIFRlc3RzL0J1aWxkRGVwZW5kcy86IENNYWtlTGlzdHMudHh0LCBQcm9qZWN0L0NNYWtlTGlzdHMudHh0LAoJICBQcm9qZWN0L3pvdC5jeHgsIFByb2plY3Qvem90X21hY3JvX2Rpci5jeHgsCgkgIFByb2plY3Qvem90X21hY3JvX3RndC5jeHg6IEVOSDogVXBkYXRlIEJ1aWxkRGVwZW5kcyB0ZXN0IHRvIGNoZWNrCgkgICNpbmNsdWRlIGxpbmVzIHdpdGggbWFjcm9zLgoKCSAgICAtIFRlc3RzIElNUExJQ0lUX0RFUEVORFNfSU5DTFVERV9UUkFOU0ZPUk0gcHJvcGVydGllcy4KCSAgICAtIFNlZSBpc3N1ZSAjNjY0OC4KCSAgICAtIFdvcmtzIHdpdGhvdXQgaGVscCBpbiBWUyBJREVzIGR1ZSB0byBuYXRpdmUgZGVwZW5kZW5jeQoJICBoYW5kbGluZy4KCSAgICAtIFhjb2RlIG5lZWRzIGhlbHAgdG8gcmVidWlsZCBjb3JyZWN0bHkuCgoyMDA4LTA1LTE0IDExOjU0ICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsIGNtTWFrZWZpbGUuY3h4LAoJICBjbVRhcmdldC5jeHg6IEVOSDogQWxsb3cgdXNlcnMgdG8gc3BlY2lmeSBtYWNyby1saWtlICNpbmNsdWRlCgkgIGxpbmUgdHJhbnNmb3JtcyBmb3IgZGVwZW5kZW5jeSBzY2FubmluZy4KCgkgICAgLSBEZWZpbmUgSU1QTElDSVRfREVQRU5EU19JTkNMVURFX1RSQU5TRk9STSBwcm9wZXJ0eSBvbiB0YXJnZXRzCgkgIGFuZCBkaXJlY3Rvcmllcy4KCSAgICAtIE1ha2UgdGhlIGRpcmVjdG9yeSB2ZXJzaW9uIGluaGVyaXRlZC4KCSAgICAtIFNlZSBpc3N1ZSAjNjY0OC4KCjIwMDgtMDUtMTQgMTE6NTQgIGtpbmcKCgkqIFNvdXJjZS86IGNtRGVwZW5kc0MuY3h4LCBjbURlcGVuZHNDLmg6IEVOSDogVGVhY2ggY21EZXBlbmRzQwoJICBhYm91dCB1c2VyLWNvbmZpZ3VyZWQgbWFjcm8gdHJhbnNmb3JtYXRpb25zLgoKCSAgICAtIFN5bnRheCBpcyBTT01FX01BQ1JPKCUpPXZhbHVlLXdpdGgtJQoJICAgIC0gTGF0ZXIgd2Ugd2lsbCBjb25maWd1cmUgdGhlc2Ugd2l0aCB0YXJnZXQgYW5kIGRpcmVjdG9yeQoJICBwcm9wZXJ0aWVzLgoJICAgIC0gU2VlIGlzc3VlICM2NjQ4LgoKMjAwOC0wNS0xNCAxMTozOCAgaG9mZm1hbgoKCSogVGVzdHMvQ3VzdG9tQ29tbWFuZC9nZW5fb25jZS5jLmluOiBmaWxlIGdlbl9vbmNlLmMuaW4gd2FzIGFkZGVkCgkgIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24gMjAwOC0wNS0xNSAxOTo0MDowMSArMDAwMAoKMjAwOC0wNS0xNCAxMTozOCAga2luZwoKCSogU291cmNlL2NtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5oLCBTb3VyY2UvY21DdXN0b21Db21tYW5kLmN4eCwKCSAgU291cmNlL2NtQ3VzdG9tQ29tbWFuZC5oLCBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFRlc3RzL0N1c3RvbUNvbW1hbmQvQ01ha2VMaXN0cy50eHQsIFRlc3RzL0N1c3RvbUNvbW1hbmQvZm9vLmluLAoJICBUZXN0cy9DdXN0b21Db21tYW5kL2dlbl9vbmNlLmMuaW46IEVOSDogQWRkIFNLSVBfUlVMRV9ERVBFTkRTCgkgIG9wdGlvbiBmb3IgYWRkX2N1c3RvbV9jb21tYW5kKCkKCgkgICAgLSBBbGxvd3MgbWFrZSBydWxlcyB0byBiZSBjcmVhdGVkIHdpdGggbm8gZGVwZW5kZW5jaWVzLgoJICAgIC0gU3VjaCBydWxlcyB3aWxsIG5vdCByZS1ydW4gZXZlbiBpZiB0aGUgY29tbWFuZHMgdGhlbXNlbHZlcwoJICBjaGFuZ2UuCgkgICAgLSBVc2VmdWwgdG8gY3JlYXRlIHJ1bGVzIHRoYXQgcnVuIG9ubHkgaWYgdGhlIG91dHB1dCBpcwoJICBtaXNzaW5nLgoKMjAwOC0wNS0xNCAwMDowMCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA1LTEzIDE2OjU3ICBob2ZmbWFuCgoJKiBNb2R1bGVzL05TSVMudGVtcGxhdGUuaW46IEJVRzogaWYgQ1BBQ0tfTlNJU19NT0RJRllfUEFUSCB3YXMgT0ZGCgkgIHRoZW4gdGhlIFBBVEggd2FzIGF1dG9tYXRpY2FsbHkgbW9kaWZpZWQKCjIwMDgtMDUtMTMgMTU6NDMgIGFsZXgKCgkqIFNvdXJjZS9jbWFrZW1haW4uY3h4LCBVdGlsaXRpZXMvQ01ha2VMaXN0cy50eHQ6IFNUWUxFOiBhZGQKCSAgIi0taGVscC1wb2xpY3kiIGFuZCAiLS1oZWxwLXBvbGljaWVzIiB0byB0aGUgZG9jdW1lbnRhdGlvbgoJICAtZ2VuZXJhdGUgYW5kIGluc3RhbGwgdGhlIHBvbGljeSBkb2N1bWVudGF0aW9uIGZpbGVzIC1nZW5lcmF0ZQoJICBhbmQgaW5zdGFsbCB0aGUgZG9jYm9vayBmaWxlcyBmb3IgY21ha2UsIGN0ZXN0LCBjcGFjaywgY2NtYWtlCgkgIChjbWFrZS1ndWkgbm90IHlldCA/KQoKCSAgQWxleAoKMjAwOC0wNS0xMyAxMDozNCAga2luZwoKCSogU291cmNlL2NtRUxGLmN4eDogQlVHOiBXaGVuIGJ5dGUgb3JkZXIgaXMgbm90IGtub3duIGF0IGNvbXBpbGUKCSAgdGltZSBtYWtlIHN1cmUgTmVlZFN3YXAgaW4gY21FTEYgaXMgc3RpbGwgaW5pdGlhbGl6ZWQuCgoyMDA4LTA1LTEzIDEwOjI0ICBraW5nCgoJKiBTb3VyY2UvY21FTEYuY3h4OiBFTkg6IEluIGNtRUxGIGl0IGlzIG9rYXkgaWYgdGhlIGJ5dGUgb3JkZXIgaXMKCSAgbm90IGtub3duIGF0IGNvbXBpbGUgdGltZS4KCgkgICAgLSBXZSBwZXJmb3JtIGEgcnVudGltZSBjaGVjayBvZiB0aGUgaW5wdXQgZmlsZSBhbnl3YXkuCgoyMDA4LTA1LTEzIDEwOjI0ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvQ1BVLmguaW46IEVOSDogQWRkIEFSTSBzdXBwb3J0IHRvIEtXU3lzIENQVSBoZWFkZXIuCgoJICAgIC0gUGF0Y2ggZnJvbSBQaWVycmUgSGFib3V6aXQKCjIwMDgtMDUtMTMgMDU6MTggIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NVTklYLmM6IEVOSDogYWxsIGN0eXBlIGZ1bmN0aW9uIGhhdmUgdGhlIHNhbWUKCSAgaXNzdWU6IGNoYXIgY2FuIGJlIHNpZ25lZCBvciB1bnNpZ25lZCwgc2luY2UgaXNzcGFjZSBvbmx5IGRlYWwKCSAgd2l0aCA+PTAgdmFsdWUgKGV4Y2VwdCBFT0YpIG9uZSBoYXMgdG8gZmlyc3QgY2FzdCBpdCB0byB1bnNpZ25lZAoJICBjaGFyCgoyMDA4LTA1LTEzIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDUtMTIgMTg6MzMgIGFsZXgKCgkqIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBCVUc6IG1ha2UKCSAgRU5BQkxFX0xBTkdVQUdFKEFTTS1BVFQgT1BUSU9OQUwpIHdvcmsgYWdhaW46IGlmIGl0IGRpZG4ndCB3b3JrCgkgIGJ1dCB3YXMgb3B0aW9uYWwsIGRvbid0IGRlbGV0ZSB0aGUgY2FjaGUKCgkgIEFsZXgKCjIwMDgtMDUtMTIgMTg6MTEgIGFsZXgKCgkqIE1vZHVsZXMvQ01ha2VUZXN0Rm9ydHJhbkNvbXBpbGVyLmNtYWtlOiBTVFlMRTogdXNlIElGKE5PVCAuLi4pCgkgIGluc3RlYWQgb2YgSUYoKSBFTFNFKCkgLi4uIEVORElGKCkKCgkgIEFsZXgKCjIwMDgtMDUtMTIgMTc6NDMgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgY21UYXJnZXQuY3h4LCBjbVRhcmdldC5oOiBCVUc6IE1ha2Ugc3VyZSBhbGwgc291cmNlIGZpbGVzIGFyZQoJICBmb3VuZCBiZWZvcmUgZ2VuZXJhdGluZy4KCgkgICAgLSBQcmV2aW91c2x5IHRoaXMgd2FzIGRvbmUgaW1wbGljaXRseSBieSB0aGUgY2hlY2sgZm9yIGEgdGFyZ2V0CgkgICAgICBsaW5rIGxhbmd1YWdlIHdoaWNoIGNoZWNrZWQgYWxsIHNvdXJjZSBmdWxsIHBhdGhzLgoJICAgIC0gVGhlIHJlY2VudCBjaGFuZ2UgdG8gc3VwcG9ydCBjb21wdXRpbmcgYSBsaW5rIGxhbmd1YWdlCgkgIHdpdGhvdXQKCSAgICAgIGZpbmRpbmcgYWxsIHRoZSBzb3VyY2UgZmlsZXMgc2tpcHBlZCB0aGUgaW1wbGljaXQgY2hlY2suCgkgICAgLSBUaGlzIGNoYW5nZSBhZGRzIGFuIGV4cGxpY2l0IGNoZWNrIHRvIGZpbmQgYWxsIHNvdXJjZSBmaWxlcy4KCjIwMDgtMDUtMTIgMTY6NTQgIGFsZXgKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEJVRzogbWFrZSAiY21ha2UgLVduby1kZXYgLi4vc3JjZGlyIiB3b3JrLAoJICBhZHZhbmNpbmcgaSBoYWQgdGhlIGVmZmVjdCB0aGF0IHRoZSBhcmd1bWVudCBhZnRlciAtV25vLWRldiB3YXMKCSAgc2tpcHBlZCwgd2hpY2ggaGFwcGVuZWQgdG8gYmUgdGhlIHNvdXJjZSBkaXJlY3RvcnksIGFuZCBzbyB0aGUKCSAgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSB3YXMgYXNzdW1lZCBhcyBzb3VyY2UgZGlyZWN0b3J5LAoJICBhbHRob3VnaCBpdCB3YXMgdGhlIGJ1aWxkIGRpcmVjdG9yeSAobWF5YmUgdGhpcyBkaWRuJ3QgaGF2ZSBhbgoJICBlZmZlY3QgaWYgdGhlcmUgd2FzIGFscmVhZHkgYSBDTWFrZUNhY2hlLnR4dCBpbiB0aGUgYnVpbGQgZGlyKQoKCSAgQWxleAoKMjAwOC0wNS0xMiAxMjowMSAgbG9yZW5zZW4KCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jOiBDT01QOiB3YXJuaW5nLCBpc3ByaW50IGFuZCBpc3NwYWNlCgkgIHRha2UgaW50IGFyZ3MuCgoyMDA4LTA1LTEyIDA5OjExICBhbGV4CgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0QnVpbGRDb21tYW5kLmgsIGNtQ1Rlc3RDb25maWd1cmVDb21tYW5kLmgsCgkgIGNtQ1Rlc3RDb3ZlcmFnZUNvbW1hbmQuaCwgY21DVGVzdEVtcHR5QmluYXJ5RGlyZWN0b3J5Q29tbWFuZC5oLAoJICBjbUNUZXN0TWVtQ2hlY2tDb21tYW5kLmgsIGNtQ1Rlc3RSZWFkQ3VzdG9tRmlsZXNDb21tYW5kLmgsCgkgIGNtQ1Rlc3RSdW5TY3JpcHRDb21tYW5kLmgsIGNtQ1Rlc3RTbGVlcENvbW1hbmQuaCwKCSAgY21DVGVzdFN0YXJ0Q29tbWFuZC5oLCBjbUNUZXN0U3VibWl0Q29tbWFuZC5oLAoJICBjbUNUZXN0VXBkYXRlQ29tbWFuZC5oOiBTVFlMRTogdXNlIGxvd2VyIGNhc2UgYWxzbyBmb3IgdGhlCgkgIGN0ZXN0LXNwZWNpZmljIGNvbW1hbmRzLCBhcyBpbiBjbWFrZQoKCSAgSSBob3BlIEkgZGlkbid0IG1ha2UgYSB0eXBvIGFueXdoZXJlLCBhdCBsZWFzdCB0aGUgdGVzdHMgc3RpbGwKCSAgc3VjY2VlZAoKCSAgQWxleAoKMjAwOC0wNS0xMiAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA1LTExIDA1OjEyICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRQYWNrYWdlSGFuZGxlU3RhbmRhcmRBcmdzLmNtYWtlOiBCVUc6IGZpeCAjNjM3NToKCSAgcHJpbnQgdGhlIHZhcmlhYmxlcyB3aGljaCB3ZXJlIG5vdCBmb3VuZCwgc28gaXQncyBlYXNpZXIgdG8gc2VlCgkgIHdoYXQgd2VudCB3cm9uZwoKCSAgQWxleAoKMjAwOC0wNS0xMSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA1LTEwIDIyOjQ4ICBsb3JlbnNlbgoKCSogU291cmNlL2t3c3lzLzogUHJvY2Vzc1dpbjMyLmMsIFN5c3RlbUluZm9ybWF0aW9uLmN4eCwKCSAgU3lzdGVtVG9vbHMuY3h4OiBDT01QOiBzcHJpbnRmIHdhcm5pbmdzLiBEV09SRCBzaG91bGQgdXNlICVsZAoJICByYXRoZXIgdGhhbiAlZC4gQWxzbywgY29uc3QgY2hhciAqcCwgYSBzaGFkb3dlZCB2YXJpYWJsZSB3YXJuaW5nLgoKMjAwOC0wNS0xMCAxOTowNyAgYWxleAoKCSogTW9kdWxlcy9GaW5kQ3Vyc2VzLmNtYWtlOiBCVUc6IGZpeCAjNjk5MyBGaW5kQ3Vyc2VzLmNtYWtlIGlzIG5vdwoJICBhbG1vc3QgZXhhY3RseSByZXZlcnRlZCBiYWNrIHRvIHRoZSBzdGF0ZSB3aGVuIENVUlNFU19MSUJSQVJZIGFuZAoJICBDVVJTRVNfSU5DTFVERV9QQVRIIHdoZXJlIHNldCBmb3IgY29tcGF0aWJpbGl0eSBidXQgbm90IGluIHRoZQoJICBjYWNoZS4gSXQgaXMgaW1wb3J0YW50IHRoYXQgQ1VSU0VTX0NVUlNFU19MSUJSQVJZIGFuZAoJICBDVVJTRVNfTkNVUlNFU19MSUJSQVJZIHJlYWxseSBjb250YWluIHRoZSBwYXRoIHRvIHRoZXNlIGZpbGVzLgoJICBMYXRlciBvbiBDVVJTRVNfTElCUkFSWSBpcyBzZXQgdG8gdGhlIG9uZSBvZiB0aGUgdHdvIHdoaWNoIHdpbGwKCSAgYmUgdXNlZCBhcyBjdXJzZXMgbGlicmFyeS4gVGhpcyBpcyBub3cgZG9uZSBpbiB0aGUgY2FjaGUsIHdpdGhvdXQKCSAgRk9SQ0UuICBTbyBwcmVsb2FkaW5nIHRoZSBjYWNoZSBzdGlsbCBzZWVtcyB0byB3b3JrIChhdCBsZWFzdAoJICB3aGF0IEkgdGVzdGVkKS4KCgkgIEFsZXgKCjIwMDgtMDUtMTAgMTg6MzkgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHg6IEJVRzogRml4IGdlbmVyYXRpb24gb2Ygc29tZSBwYXRocwoJICBpbnRvIC5jbWFrZSBmaWxlcyBpbiB0aGUgYnVpbGQgdHJlZSB0byBlc2NhcGUgc3RyaW5ncyBmb3IgdGhlCgkgIENNYWtlIGxhbmd1YWdlLiAgVGhpcyBmaXggYWxsb3dzIHVzZXJzIHRvIHB1dCBkb3VibGUgcXVvdGVzIGluCgkgIHRoZSBTT1ZFUlNJT04gb2YgYSBzaGFyZWQgbGlicmFyeS4KCjIwMDgtMDUtMTAgMTg6MzkgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogRml4IGxvZ2ljIHRoYXQKCSAgbG9vcHMgb3ZlciBtdWx0aXBsZSBvdXRwdXQgcGFpcnMgdG8gbm90IGxvb3AgYmV5b25kIHRoZSB2ZWN0b3IKCSAgd2hlbiB0aGVyZSBhcmUgYW4gb2RkIG51bWJlciBvZiBlbnRyaWVzLgoKMjAwOC0wNS0xMCAxMToxMiAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4OiBFTkg6IG1ha2Ugc3VyZSBlbmdsaXNoCgkgIGlzIHVzZWQgZm9yIG91dHB1dCBvZiBnY292CgoyMDA4LTA1LTEwIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDUtMDkgMjE6MjYgIGRncmVnb3IKCgkqIE1vZHVsZXMvRmluZEJvb3N0LmNtYWtlOiBCVUc6IEZpeCBGaW5kQm9vc3QgdmVyc2lvbiB2YXJpYWJsZQoJICBuYW1lcyB0byBjb3JyZWN0IGJ1ZyBpbiBCb29zdCB2ZXJzaW9uIGRldGVjdGlvbgoKMjAwOC0wNS0wOSAxNzo1MCAgYWxleAoKCSogU291cmNlL2NtRG9jdW1lbnRhdGlvbkZvcm1hdHRlckRvY2Jvb2suY3h4OiBTVFlMRTogaW5zZXJ0CgkgIG5ld2xpbmVzIGFmdGVyIGxpc3RpdGVtIHNvIHRoZSBnZW5lcmF0ZWQgbGluZXMgZG9uJ3QgZ2V0IHNldmVyYWwKCSAgdGhvdXNhbmQgY2hhcmFjdGVycyBsb25nCgoJICBBbGV4CgoyMDA4LTA1LTA5IDExOjUwICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6CgkgIEVOSDoJUXQvTWFjIGJpbmFyeSBpbnN0YWxsIHB1dHMgUXRDTHVjZW5lIGxpYnJhcnkgaW4gYSBkaWZmZXJlbnQKCSAgcGxhY2UgdGhhbiB0aGUgICAgICAgbm9ybWFsIFF0IGZyYW1ld29ya3MuICBMZXQncyBmaW5kIGl0LgoKMjAwOC0wNS0wOSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA1LTA4IDIxOjE0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21YQ29kZU9iamVjdC5jeHg6IEVOSDogZml4IGZvciA2NCBiaXQgY21ha2Ugb24gbWFjCgoyMDA4LTA1LTA4IDE1OjQ5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21TZXRTb3VyY2VGaWxlc1Byb3BlcnRpZXNDb21tYW5kLmN4eDogQlVHOjY5OTAgZml4IGNyYXNoCgkgIHdpdGggc2V0X3NvdXJjZV9maWxlc19wcm9wZXJ0aWVzCgoyMDA4LTA1LTA4IDEyOjQ3ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdENvdmVyYWdlSGFuZGxlci5jeHg6IEJVRzogMDAwNjk4OCBkbyBub3Qgc2V0CgkgIGNvdmVyYWdlIHRvIGZhbHNlIHdoZW4gaXQgaXMgbm90CgoyMDA4LTA1LTA4IDEwOjA5ICBraW5nCgoJKiBTb3VyY2UvOiBjbURlcGVuZHMuY3h4LCBjbURlcGVuZHMuaCwgY21EZXBlbmRzQy5jeHgsCgkgIGNtRGVwZW5kc0MuaCwgY21EZXBlbmRzRm9ydHJhbi5jeHgsIGNtRGVwZW5kc0ZvcnRyYW4uaCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBFTkg6IExpZ2h0IHJlZmFjdG9yaW5nIG9mCgkgIGltcGxpY2l0IGRlcGVuZGVuY3kgc2Nhbm5pbmcgY29uZmlndXJhdGlvbiBpbXBsZW1lbnRhdGlvbi4KCgkgICAgLSBNb3ZlIGxvb2t1cCBvZiBjb25maWcgdmFyaWFibGVzIGZyb20KCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMgdG8gY21EZXBlbmRzIGhpZXJhcmNoeS4KCjIwMDgtMDUtMDggMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNS0wNyAxNzoyNSAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBGaXggcmVwZWF0ZWQKCSAgcmUtc2Nhbm5pbmcgb2YgZGVwZW5kZW5jaWVzIHdoZW4gdGhlIHJlc3VsdHMgZG8gbm90IGNoYW5nZS4KCgkgICAgLSBXZSByZS1zY2FuIGRlcHMgd2hlbiBEZXBlbmRJbmZvLmNtYWtlIGlzIG5ld2VyIHRoYW4KCSAgZGVwZW5kLmludGVybmFsCgkgICAgLSBUaGVyZWZvcmUgZGVwZW5kLmludGVybmFsIHNob3VsZCBub3QgYmUgY29weS1pZi1kaWZmZXJlbnQKCjIwMDgtMDUtMDcgMTQ6NTcgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxpc3RDb21tYW5kLmN4eDogRU5IOiBmaXggc29ydCB0byB3b3JrIHdpdGggQ01QMDAwNwoKMjAwOC0wNS0wNyAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA1LTA2IDEyOjU2ICBiYXJyZQoKCSogVXRpbGl0aWVzL2NtdGFyL0NNYWtlTGlzdHMudHh0OiBFTkg6IHVwZGF0ZSBmb3IgQ01ha2UgMi42CgoyMDA4LTA1LTA2IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDUtMDUgMTM6MzggIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWwsIFNvdXJjZS9jbURvY3VtZW50YXRpb25Gb3JtYXR0ZXIuY3h4LAoJICBTb3VyY2UvY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVyLmgsCgkgIFNvdXJjZS9jbURvY3VtZW50YXRpb25Gb3JtYXR0ZXJEb2Nib29rLmN4eCwKCSAgU291cmNlL2NtRG9jdW1lbnRhdGlvbkZvcm1hdHRlckhUTUwuY3h4OiBFTkg6IG1lcmdlIGluIGNoYW5nZXMKCSAgZm9yIGdlbmVyYXRlZCBkb2NzCgoyMDA4LTA1LTA1IDEyOjM4ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dDogRU5IOiB0cnkgZm9yIDIuNi4wCgoyMDA4LTA1LTA1IDEyOjAyICBraW5nCgoJKiBTb3VyY2UvOiBjbURvY3VtZW50YXRpb25Gb3JtYXR0ZXIuY3h4LAoJICBjbURvY3VtZW50YXRpb25Gb3JtYXR0ZXIuaCwgY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVyRG9jYm9vay5jeHgsCgkgIGNtRG9jdW1lbnRhdGlvbkZvcm1hdHRlckhUTUwuY3h4OiBFTkg6IEZpeCBnZW5lcmF0ZWQKCSAgZG9jdW1lbnRhdGlvbiBpbnRlcm5hbCBsaW5rcy4KCgkgICAgLSBQcmV2aW91c2x5IGFsbCBsaW5rcyBzdGFydGVkIGluICdjb21tYW5kXycgd2hpY2ggbGVkIHRvCgkgIGNvbmZsaWN0cwoJICAgICAgYW5kIHdhcyBjb25mdXNpbmcgZm9yIG5vbi1jb21tYW5kIGl0ZW1zLgoJICAgIC0gVXNlIGEgcGVyLXNlY3Rpb24gbmFtZSB0aGF0IGlzIG1lYW5pbmdmdWwgdG8gaHVtYW5zLgoJICAgIC0gRml4IGxpbmsgaWQgbmFtZXMgdG8gYmUgdmFsaWQgSFRNTC4KCjIwMDgtMDUtMDUgMDA6MDAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNS0wNCAxODowNyAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWwsIE1vZHVsZXMvQ1Rlc3QuY21ha2UsCgkgIE1vZHVsZXMvRmluZFF0NC5jbWFrZSwgTW9kdWxlcy9GaW5kWDExLmNtYWtlLAoJICBNb2R1bGVzL0dldFByZXJlcXVpc2l0ZXMuY21ha2UsCgkgIFNvdXJjZS9rd3N5cy9TeXN0ZW1JbmZvcm1hdGlvbi5jeHg6IEVOSDogbWVyZ2UgZnJvbSBtYWluIHRyZWUKCjIwMDgtMDUtMDQgMDA6MDAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNS0wMyAxNzo1NSAgY2xpbnRvbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOgoJICBFTkg6CUFsbG93IGZpbmRpbmcgcGhvbm9uIGFuZCBRdERCdXMgb24gTWFjLiAgRml4ZXMgIzY5NTAuCgoyMDA4LTA1LTAzIDE1OjI3ICBiYXJyZQoKCSogTW9kdWxlcy9GaW5kWDExLmNtYWtlOiBFTkg6IFgxMV9TTV9MSUIgc2hvdWxkIGJlIGFkdmFuY2VkIGFzIHdlbGwKCjIwMDgtMDUtMDMgMDA6MDAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNS0wMiAxNzozNiAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbUluZm9ybWF0aW9uLmN4eDogQlVHOiByZWFsbHkgZml4IGJ1aWxkIG9uIHZzNgoKMjAwOC0wNS0wMiAxNzoyMiAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbUluZm9ybWF0aW9uLmN4eDogQlVHOiBmaXggYnVpbGQgb24gdnM2CgoyMDA4LTA1LTAyIDExOjQ0ICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtSW5mb3JtYXRpb24uY3h4OiBFTkg6IHVzZSBHbG9iYWxNZW1vcnlTdGF0dXNFeAoJICBhcyBpdCBpcyBhYmxlIHRvIHJlcG9ydCBtb3JlIHRoYW4gMmdpZ3MKCjIwMDgtMDUtMDIgMTE6MjUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ1Rlc3QuY21ha2U6IEVOSDogcmVjb2duaXplIHZzIDkgYW5kIHBvc3NpYmxlIDEwIG9yCgkgIGdyZWF0ZXIgd2hlbiB0aGV5IGNvbWUgb3V0Li4uCgoyMDA4LTA1LTAyIDA5OjE0ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtSW5mb3JtYXRpb24uY3h4OiBDT01QOiBGaXggd2FybmluZ3MgaW4gS1dTeXMKCSAgU3lzdGVtSW5mb3JtYXRpb24gb24gQm9ybGFuZCBjb21waWxlci4KCgkgICAgLSBSZW1vdmUgdHdvIHVudXNlZCB2YXJpYWJsZXMuCgkgICAgLSBSZXBsYWNlIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBhcnJheSB3aXRoIHN0YXRpYy4KCjIwMDgtMDUtMDIgMDA6MDAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNS0wMSAxODo0OSAga2luZwoKCSogTW9kdWxlcy9HZXRQcmVyZXF1aXNpdGVzLmNtYWtlOiBFTkg6IFdoZW4gR2V0UHJlcmVxdWlzaXRlcy5jbWFrZQoJICBydW5zIGR1bXBiaW4gd2hpbGUgcnVubmluZyBpbnNpZGUgdGhlIFZTIElERSBlbnZpcm9ubWVudCBtYWtlCgkgIHN1cmUgdGhlIHRvb2wgZG9lcyBub3QgcHJvZHVjZSBleHRyYSBvdXRwdXQuCgoyMDA4LTA1LTAxIDEyOjM1ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwgTW9kdWxlcy9DaGVja1R5cGVTaXplLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRCb29zdC5jbWFrZSwgTW9kdWxlcy9GaW5kQ3Vyc2VzLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRLREUuY21ha2UsIE1vZHVsZXMvRmluZFNETC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kU0RMX3NvdW5kLmNtYWtlLCBNb2R1bGVzL0ZpbmRWVEsuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vRGFyd2luLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL0xpbnV4LUludGVsLUMuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vTGludXgtSW50ZWwtQ1hYLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL0xpbnV4LUludGVsLUZvcnRyYW4uY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vU3VuT1MuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1pZm9ydC5jbWFrZSwKCSAgU291cmNlL2NtQXV4U291cmNlRGlyZWN0b3J5Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUNvbXB1dGVMaW5rRGVwZW5kcy5jeHgsIFNvdXJjZS9jbUNvbXB1dGVMaW5rRGVwZW5kcy5oLAoJICBTb3VyY2UvY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmN4eCwKCSAgU291cmNlL2NtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5oLAoJICBTb3VyY2UvY21FeHBvcnRGaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtRXhwb3J0TGlicmFyeURlcGVuZGVuY2llcy5jeHgsIFNvdXJjZS9jbUZpbGVDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtRmlsZUNvbW1hbmQuaCwgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTGlzdEZpbGVDYWNoZS5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGUuaCwgU291cmNlL2NtU291cmNlRmlsZS5jeHgsCgkgIFNvdXJjZS9jbVNvdXJjZUZpbGUuaCwgU291cmNlL2NtV3JpdGVGaWxlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbWFrZS5jeHgsIFNvdXJjZS9jbWFrZS5oLCBTb3VyY2Uva3dzeXMvU3lzdGVtLmMsCgkgIFNvdXJjZS9rd3N5cy9TeXN0ZW1JbmZvcm1hdGlvbi5jeHgsCgkgIFRlc3RzL0N1c3RvbUNvbW1hbmQvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0N1c3RvbUNvbW1hbmQvZ2VuX3JlZGlyZWN0X2luLmMsCgkgIFRlc3RzL0N1c3RvbUNvbW1hbmQvZ2VuZXJhdG9yLmN4eCwgVGVzdHMvQ3VzdG9tQ29tbWFuZC90Y2F0LmN4eCwKCSAgVGVzdHMvQ3VzdG9tQ29tbWFuZC9HZW5lcmF0b3JJbkV4dHJhRGlyL0NNYWtlTGlzdHMudHh0OiBFTkg6CgkgIG1lcmdlIGZyb20gY3ZzIGNyZWF0ZSB5aWtlcyBSQyAxMCEgKEkgaG9wZSB0aGlzIGlzIHRoZSBsYXN0CgkgIFJDLi4uKQoKMjAwOC0wNS0wMSAwMDowMCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA0LTMwIDIyOjE3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW9HZW5lcmF0b3IuY3h4OiBTVFlMRTogZml4IHdhcm5pbmcKCjIwMDgtMDQtMzAgMTg6MDQgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ29tcHV0ZUxpbmtEZXBlbmRzLmN4eCwgY21Db21wdXRlTGlua0RlcGVuZHMuaCwKCSAgY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmN4eCwgY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmg6IEVOSDoKCSAgV2hlbiBwcmVzZXJ2aW5nIHBvdGVudGlhbGx5IHN0YXRpYyBwb3J0aW9ucyBvZiBvcmlnaW5hbCB1c2VyIGxpbmsKCSAgbGluZXMgcmVjb2duaXplIHNoYXJlZCBsaWJyYXJ5IG5hbWVzIGJ5IHRoZWlyIGV4dGVuc2lvbiBhbmQgc2tpcAoJICB0aGVtLgoKMjAwOC0wNC0zMCAxNTo1OCAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBGb3IgV2F0Y29tIFdNYWtlCgkgIHVzZSB0aGUgc2hvcnQgcGF0aCB0byBhdm9pZCBxdW90aW5nIHByb2JsZW1zIGluIGN1c3RvbSBjb21tYW5kcwoJICB3aXRoIHNoZWxsIHJlZGlyZWN0aW9ucy4KCjIwMDgtMDQtMzAgMTU6NTggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW0uYywgVGVzdHMvQ3VzdG9tQ29tbWFuZC9DTWFrZUxpc3RzLnR4dDogQlVHOgoJICBGaXggZXNjYXBpbmcgb2YgbW9yZSBjaGFyYWN0ZXJzIG9uIFdpbmRvd3Mgc2hlbGxzLgoKMjAwOC0wNC0zMCAxNTo1MyAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kQ3Vyc2VzLmNtYWtlOiBCVUc6IHJlbW92ZSB0eXBvCgoyMDA4LTA0LTMwIDE1OjQyICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRDdXJzZXMuY21ha2U6IEJVRzogZml4IGZvciA2OTE4IG5jdXJzZXMgc2hvdWxkIHdvcmsKCSAgd2l0aG91dCBjdXJzZXMKCjIwMDgtMDQtMzAgMTQ6MTMgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vU3VuT1MuY21ha2U6IEVOSDogTWFrZSAvb3B0L1NVTldzcHJvL2xpYiwKCSAgL29wdC9TVU5Xc3Byby9wcm9kL2xpYiwgYW5kIC91c3IvY2NzL2xpYiBpbXBsaWNpdCBsaW5rCgkgIGRpcmVjdG9yaWVzIG9uIHRoZSBTdW4gd2hlbiB1c2luZyB0aGUgU3VuUHJvIGNvbXBpbGVyLgoKMjAwOC0wNC0zMCAxMzo0MiAga2luZwoKCSogU291cmNlLzogY21GaWxlQ29tbWFuZC5jeHgsIGNtRmlsZUNvbW1hbmQuaCwKCSAgY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oLAoJICBjbVdyaXRlRmlsZUNvbW1hbmQuY3h4LCBjbWFrZS5jeHgsIGNtYWtlLmg6IEJVRzogUmVtb3ZlIGNoZWNrIGZvcgoJICBmaWxlcyB3cml0dGVuIGJ5IGZpbGUoV1JJVEUpIGJlaW5nIGxvYWRlZC4KCgkgICAgLSBDTWFrZSAxLjggYW5kIGJlbG93IGRpZCBub3QgZG8gdGhlIGNoZWNrIGJ1dCBjb3VsZCBnZXQgaW4KCSAgICAgIGluZmluaXRlIGxvb3BzIGR1ZSB0byB0aGUgbG9jYWwgZ2VuZXJhdGUgc3RlcC4KCSAgICAtIENNYWtlIDIuMCBhZGRlZCB0aGUgY2hlY2sgYnV0IGZhaWxlZCB0byBwZXJmb3JtIGl0IGluCgkgIGRpcmVjdG9yaWVzCgkgICAgICB3aXRoIG5vIHRhcmdldHMgKHNlZSBidWcgIzY3OCkuCgkgICAgLSBDTWFrZSAyLjIgcmVtb3ZlZCB0aGUgbG9jYWwgZ2VuZXJhdGUgd2hpY2ggZml4ZWQgdGhlIHByb2JsZW0KCSAgYnV0CgkgICAgICBkaWQgbm90IHJlbW92ZSB0aGUgY2hlY2suCgkgICAgLSBCZXR3ZWVuIENNYWtlIDIuNCBhbmQgMi42LjByYzYgdGhlIGNoZWNrIHdhcyBmaXhlZCB0byB3b3JrCgkgIGV2ZW4KCSAgICAgIHdoZW4gbm8gdGFyZ2V0cyBhcHBlYXIgaW4gYSBkaXJlY3RvcnkgKHNlZSBidWcgIzY5MjMpLgoJICAgIC0gQm90dG9tIGxpbmU6IHRoZSBjaGVjayBpcyBubyBsb25nZXIgbmVlZGVkLgoKMjAwOC0wNC0zMCAxMzoyNiAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW9HZW5lcmF0b3IuaCwgY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwgY21NYWtlZmlsZS5jeHg6IEVOSDogYWRkIHN1cHBvcnQKCSAgZm9yIEludGVsIEZvcnRyYW4gVmlzdWFsIHN0dWRpbyBJREUKCjIwMDgtMDQtMzAgMTE6MzMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1pZm9ydC5jbWFrZTogRU5IOiBhZGQgbW9yZSBmb3J0cmFuIGZsYWdzCgoyMDA4LTA0LTMwIDEwOjAyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtLmM6IEJVRzogRml4CgkgIGt3c3lzU3lzdGVtX1NoZWxsX0dldEFyZ3VtZW50Rm9yV2luZG93cyB0byByZXNldCB0aGUgd2luZG93cwoJICB0cmFpbGluZyBiYWNrc2xhc2ggY291bnQgdG8gemVybyB3aGVuIGEgbWFrZSB2YXJpYWJsZSByZWZlcmVuY2UKCSAgaXMgZW5jb3VudGVyZWQuCgoyMDA4LTA0LTMwIDAwOjAwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDQtMjkgMTU6MzQgIGhvZmZtYW4KCgkqIFRlc3RzL0N1c3RvbUNvbW1hbmQvdGNhdC5jeHg6IGZpbGUgdGNhdC5jeHggd2FzIGFkZGVkIG9uIGJyYW5jaAoJICBDTWFrZS0yLTYgb24gMjAwOC0wNS0wMSAxNjozNTo0MCArMDAwMAoKMjAwOC0wNC0yOSAxNTozNCAgaG9mZm1hbgoKCSogVGVzdHMvQ3VzdG9tQ29tbWFuZC9nZW5fcmVkaXJlY3RfaW4uYzogZmlsZSBnZW5fcmVkaXJlY3RfaW4uYyB3YXMKCSAgYWRkZWQgb24gYnJhbmNoIENNYWtlLTItNiBvbiAyMDA4LTA1LTAxIDE2OjM1OjQwICswMDAwCgoyMDA4LTA0LTI5IDE1OjM0ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsIFRlc3RzL0N1c3RvbUNvbW1hbmQvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0N1c3RvbUNvbW1hbmQvZ2VuX3JlZGlyZWN0X2luLmMsCgkgIFRlc3RzL0N1c3RvbUNvbW1hbmQvZ2VuZXJhdG9yLmN4eCwgVGVzdHMvQ3VzdG9tQ29tbWFuZC90Y2F0LmN4eCwKCSAgVGVzdHMvQ3VzdG9tQ29tbWFuZC9HZW5lcmF0b3JJbkV4dHJhRGlyL0NNYWtlTGlzdHMudHh0OiBCVUc6IERvCgkgIG5vdCBlc2NhcGUgc2hlbGwgb3BlcmF0b3JzIHdoZW4gZ2VuZXJhdGluZyBjb21tYW5kIGxpbmVzLgoKCSAgICAtIFNlZSBidWcjNjg2OC4KCSAgICAtIFVwZGF0ZSBDdXN0b21Db21tYW5kIHRlc3QgdG8gY2hlY2suCgoyMDA4LTA0LTI5IDE0OjE3ICBraW5nCgoJKiBTb3VyY2UvOiBjbVNvdXJjZUZpbGUuY3h4LCBjbVNvdXJjZUZpbGUuaDogRU5IOiBJbgoJICBjbVNvdXJjZUZpbGU6OkdldExhbmd1YWdlIHVzZSB0aGUgZmlsZSBleHRlbnNpb24gKGlmIG5vdAoJICBhbWJpZ3VvdXMpIHRvIGRldGVybWluZSB0aGUgbGFuZ3VhZ2Ugd2l0aG91dCByZXF1aXJpbmcgdGhlIHNvdXJjZQoJICBmaWxlIHRvIGV4aXN0LgoKMjAwOC0wNC0yOSAxNDoxNyAga2luZwoKCSogU291cmNlL2NtU291cmNlRmlsZS5jeHg6IEVOSDogQWRkIGNvbnRleHQgaW5mb3JtYXRpb24gd2hlbiBhCgkgIHNvdXJjZSBmaWxlIGNhbm5vdCBiZSBmb3VuZC4KCjIwMDgtMDQtMjkgMTQ6MTcgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogRU5IOiBJbiBjbU1ha2VmaWxlOjpJc3N1ZU1lc3NhZ2UgcmVwb3J0CgkgIHRoZSBkaXJlY3RvcnktbGV2ZWwgY29udGV4dCBldmVuIGlmIG5vIGxpc3QgZmlsZSBpcyBjdXJyZW50bHkKCSAgYmVpbmcgcHJvY2Vzc2VkLgoKMjAwOC0wNC0yOSAxMjoxMCAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBCVUc6IG1vdmUgdGhpcyBiYWNrIG91dCBvZiB0aGUgaWYKCSAgc3RhdGVtdG4KCjIwMDgtMDQtMjkgMDA6MDAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNC0yOCAxMzo1MyAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9EYXJ3aW4uY21ha2UsIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBFTkg6IGFsbG93IHVzZXJzIHRvIHNldCBzeXNyb290CgoyMDA4LTA0LTI4IDAwOjAwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDQtMjcgMTE6NDEgIGFsZXgKCgkqIE1vZHVsZXMvRmluZEtERS5jbWFrZTogRU5IOiByZW1vdmUgRmluZEtERS5jbWFrZSwgd2hpY2ggd2FzCgkgIG9ic29sZXRlIChpLmUuIGRpc2FibGVkIHVzaW5nIFNFTkRfRVJST1IpIHNpbmNlIGNtYWtlIDIuNC4wLAoJICBhZ3JlZWQgYnkgQmlsbAoKCSAgQWxleAoKMjAwOC0wNC0yNyAwNzozNSAgYWxleAoKCSogTW9kdWxlcy9GaW5kVlRLLmNtYWtlOiBCVUc6IGRvbid0IGZhaWwgd2l0aCBGQVRBTF9FUlJPUiBpZgoJICBSRVFVSVJFRCB3YXMgbm90IHVzZWQKCgkgIEFsZXgKCjIwMDgtMDQtMjcgMDc6MzAgIGFsZXgKCgkqIFNvdXJjZS9jbUV4cG9ydEZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IHByb3RlY3QgdGhlIGV4cG9ydCBmaWxlcwoJICBhZ2FpbnN0IGluY2x1c2lvbiB3aXRoIGNtYWtlIDIuNAoKCSAgQWxleAoKMjAwOC0wNC0yNyAwNzowMSAgYWxleAoKCSogU291cmNlLzogY21FeHBvcnRMaWJyYXJ5RGVwZW5kZW5jaWVzLmN4eCwgY21MaXN0RmlsZUNhY2hlLmN4eDoKCSAgRU5IOiB3cml0ZSB0aGUgY21ha2UgdmVyc2lvbiBpbnRvIHRoZSBmaWxlIGNyZWF0ZWQgYnkKCSAgRVhQT1JUX0xJQlJBUllfREVQRU5ERU5DSUVTKCkgdG8gaGVscCB3aXRoIGRlYnVnZ2luZyBsYXRlciBvbi4KCSAgVGhlIHNhbWUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIGltcG9ydCB0YXJnZXQgZmlsZXMgKGJ1dCBJIGRpZG4ndAoJICBoYXZlIHRpbWUgdG8gZG8gaXQgeWV0KS4gIFNUWUxFOiBmaXggbGluZSBsZW5ndGggaW4KCSAgY21MaXN0RmlsZUNhY2hlLmN4eAoKCSAgQWxleAoKMjAwOC0wNC0yNyAwMDowMCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA0LTI2IDEzOjI1ICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRCb29zdC5jbWFrZTogQlVHOiBkb24ndCB1c2UgQ01BS0VfTUlOSU1VTV9SRVFVSVJFRCgpCgkgIGluIGZpbmQgbW9kdWxlcywgaXQgY2FuIGNoYW5nZSB0aGUgcG9saWN5IHNldHRpbmdzIGRvbmUgaW4gdGhlCgkgIHByb2plY3RzIGNtYWtlIGZpbGVzIChhbmQgaXQgZG9lc24ndCBtYWtlIHNlbnNlIHNpbmNlIGl0IGlzCgkgIGFsd2F5cyBwYXJ0IG9mIHRoZSBjb3JyZWN0IGNtYWtlIHZlcnNpb24pCgoJICBBbGV4CgoyMDA4LTA0LTI2IDA4OjM5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21BdXhTb3VyY2VEaXJlY3RvcnlDb21tYW5kLmN4eDogQlVHOiBmaXggZm9yIGJ1ZyA2OTExLAoJICBhdXggc291cmNlIGRpciB3YXMgYnJva2VuIGZyb20gYSBwcmV2aW91cyBmaXgKCjIwMDgtMDQtMjYgMDA6MDAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNC0yNSAxNTozMCAga2luZwoKCSogU291cmNlL2NtU291cmNlRmlsZS5jeHg6IEJVRzogVHJ1c3QgdXNlci1wcm92aWRlZCBzb3VyY2UgZmlsZQoJICBmdWxsIHBhdGhzLgoKMjAwOC0wNC0yNSAxMDo0NyAgaG9mZm1hbgoKCSogTW9kdWxlcy9DaGVja1R5cGVTaXplLmNtYWtlOiBFTkg6IGFsbG93IHVzZXJzIHRvIHR1cm4gb2ZmIGV4dHJhCgkgIGNoZWNrcwoKMjAwOC0wNC0yNSAwOTo0OSAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9MaW51eC1JbnRlbC1DWFguY21ha2U6IEVOSDogcmVtb3ZlIGMgZmxhZ3MgZnJvbQoJICBjeHggY29uZmlnIGZpbGUKCjIwMDgtMDQtMjUgMDk6NDkgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vTGludXgtSW50ZWwtQ1hYLmNtYWtlOiBmaWxlCgkgIExpbnV4LUludGVsLUNYWC5jbWFrZSB3YXMgYWRkZWQgb24gYnJhbmNoIENNYWtlLTItNiBvbiAyMDA4LTA1LTAxCgkgIDE2OjM1OjM5ICswMDAwCgoyMDA4LTA0LTI1IDA5OjQzICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtLzogTGludXgtSW50ZWwtRm9ydHJhbi5jbWFrZSwgTGludXgtaWZvcnQuY21ha2U6CgkgIEVOSDogcmVuYW1lIExpbnV4LWlmb3J0IHRvIExpbnV4LUludGVsLUZvcnRyYW4KCjIwMDgtMDQtMjUgMDk6NDMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vTGludXgtSW50ZWwtRm9ydHJhbi5jbWFrZTogZmlsZQoJICBMaW51eC1JbnRlbC1Gb3J0cmFuLmNtYWtlIHdhcyBhZGRlZCBvbiBicmFuY2ggQ01ha2UtMi02IG9uCgkgIDIwMDgtMDUtMDEgMTY6MzU6MzkgKzAwMDAKCjIwMDgtMDQtMjUgMDk6MDkgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ2hlY2tUeXBlU2l6ZS5jbWFrZTogRU5IOiBtYWtlIHN1cmUgYWxsIHJlcXVpcmVkIGhlYWRlcnMKCSAgYXJlIGNoZWNrZWQgYmVmb3JlIGNoZWNraW5nIHR5cGUgc2l6ZQoKMjAwOC0wNC0yNSAwOTowNyAgaG9mZm1hbgoKCSogTW9kdWxlcy86IEZpbmRTREwuY21ha2UsIEZpbmRTRExfc291bmQuY21ha2U6IEVOSDogZG8gbm90IGNsZWFyCgkgIGZpbmQgdmFyaWFibGVzCgoyMDA4LTA0LTI1IDAwOjAwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDQtMjQgMjI6MDAgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vTGludXgtSW50ZWwtQ1hYLmNtYWtlOiBFTkg6IGRvIG5vdCBmb3JjZSB0aGUKCSAgaW50ZWwgYXIgb24gQyBmcm9tIENYWAoKMjAwOC0wNC0yNCAyMTo1NCAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS86IExpbnV4LUludGVsLUMuY21ha2UsIExpbnV4LUludGVsLUNYWC5jbWFrZSwKCSAgTGludXgtaWNwYy5jbWFrZTogRU5IOiBzdXBwb3J0IGludGVsIGNvbXBpbGVyIG9uIGxpbnV4CgoyMDA4LTA0LTI0IDIxOjU0ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0xpbnV4LUludGVsLUMuY21ha2U6IGZpbGUgTGludXgtSW50ZWwtQy5jbWFrZQoJICB3YXMgYWRkZWQgb24gYnJhbmNoIENNYWtlLTItNiBvbiAyMDA4LTA1LTAxIDE2OjM1OjM4ICswMDAwCgoyMDA4LTA0LTI0IDE1OjQ3ICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtSW5mb3JtYXRpb24uY3h4OiBFTkg6IHJlbW92ZSBvZGQgY2hhcnMgZnJvbQoJICBmaWxlCgoyMDA4LTA0LTI0IDE0OjU3ICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFTkg6IG1lcmdlIGluIGNoYW5nZXMgZnJvbSBtYWluCgkgIHRyZWUsIGZvcnRyYW4gbW9kIHN0dWZmCgoyMDA4LTA0LTI0IDEyOjU2ICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cubWFudWFsLCBTb3VyY2UvY21EZXBlbmRzRm9ydHJhbkxleGVyLmN4eCwKCSAgU291cmNlL2NtRGVwZW5kc0ZvcnRyYW5MZXhlci5pbi5sLAoJICBTb3VyY2UvY21EZXBlbmRzRm9ydHJhblBhcnNlci5jeHgsCgkgIFNvdXJjZS9jbURlcGVuZHNGb3J0cmFuUGFyc2VyLnksCgkgIFNvdXJjZS9jbURlcGVuZHNGb3J0cmFuUGFyc2VyVG9rZW5zLmg6IEVOSDogbWVyZ2UgaW4gY2hhbmdlcyBmcm9tCgkgIG1haW4gdHJlZSwgZm9ydHJhbiBtb2Qgc3R1ZmYKCjIwMDgtMDQtMjQgMDA6MDAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNC0yMyAyMzo1MyAga2luZwoKCSogU291cmNlLzogY21EZXBlbmRzRm9ydHJhbkxleGVyLmN4eCwgY21EZXBlbmRzRm9ydHJhbkxleGVyLmluLmwsCgkgIGNtRGVwZW5kc0ZvcnRyYW5QYXJzZXIuY3h4LCBjbURlcGVuZHNGb3J0cmFuUGFyc2VyLnksCgkgIGNtRGVwZW5kc0ZvcnRyYW5QYXJzZXJUb2tlbnMuaDogRU5IOiBQYXRjaCBmcm9tIE1haWsgdG8gYWRkCgkgIEZvcnRyYW4wMyBVU0Ugc3ludGF4IHN1cHBvcnQuCgoJICAgIC0gSSB0d2Vha2VkIHRoZSBwYXRjaCB0byBhZGQgJ290aGVyJyBwcm9kdWN0aW9uIHJ1bGVzIGZvciBDT01NQQoJICBhbmQgRENPTE9OCgkgICAgLSBTZWUgaXNzdWUgIzY4ODQuCgoyMDA4LTA0LTIzIDE1OjAyICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbDogRU5IOiByYzkgcmVhZHkKCjIwMDgtMDQtMjMgMTI6NTEgIGplZmYKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEVOSDogQWxsb3cgbnVtYmVycyBpbiB1c2VybmFtZSBpbgoJICBVUkwgcmVnZXguCgoyMDA4LTA0LTIzIDEyOjE0ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwgU291cmNlL2NtSW5zdGFsbENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21MaXN0Q29tbWFuZC5jeHgsIFNvdXJjZS9RdERpYWxvZy9RTWFjSW5zdGFsbERpYWxvZy5jeHg6CgkgIEVOSDogbWVyZ2UgaW4gc29tZSBmaXhlcyBmcm9tIGhlYWQKCjIwMDgtMDQtMjMgMTE6MTMgIGtpbmcKCgkqIFNvdXJjZS9jbUluc3RhbGxDb21tYW5kLmN4eDogQlVHOiBGaXggaW1wbGVtZW50YXRpb24gb2YgQ01QMDAwNgoJICB0byBub3Qgb3ZlcnJpZGUgdGhlIEJVTkRMRSBkZXN0aW5hdGlvbiB3aXRoIHRoZSBSVU5USU1FCgkgIGRlc3RpbmF0aW9uLgoKMjAwOC0wNC0yMyAwOTo1OCAgaG9mZm1hbgoKCSogU291cmNlL1F0RGlhbG9nL1FNYWNJbnN0YWxsRGlhbG9nLmN4eDogRU5IOiBhZGQgYmV0dGVyIGVycm9yCgkgIGNoZWNrcyB0byBzeW1saW5rIGNyZWF0ZSBzdHVmZgoKMjAwOC0wNC0yMyAwOTo1NiAgaG9mZm1hbgoKCSogU291cmNlL2NtTGlzdENvbW1hbmQuY3h4OiBFTkg6IGhhbmRsZSBlbXB0eSBsaXN0cyBjb3JyZWN0bHkKCjIwMDgtMDQtMjMgMDg6NTAgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLAoJICBTb3VyY2UvY21Db21wdXRlTGlua0RlcGVuZHMuY3h4LCBTb3VyY2UvY21Db21wdXRlTGlua0RlcGVuZHMuaCwKCSAgVGVzdHMvRGVwZW5kZW5jeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRGVwZW5kZW5jeS9DYXNlMy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRGVwZW5kZW5jeS9DYXNlMy9iYXIuYywgVGVzdHMvRGVwZW5kZW5jeS9DYXNlMy9mb28xLmMsCgkgIFRlc3RzL0RlcGVuZGVuY3kvQ2FzZTMvZm9vMWIuYywgVGVzdHMvRGVwZW5kZW5jeS9DYXNlMy9mb28yLmM6CgkgIEVOSDogbWVyZ2UgZnJvbSBtYWluIHRyZWUKCjIwMDgtMDQtMjMgMDA6NDAgIGhvZmZtYW4KCgkqIFRlc3RzL0RlcGVuZGVuY3kvQ2FzZTMvQ01ha2VMaXN0cy50eHQ6IGZpbGUgQ01ha2VMaXN0cy50eHQgd2FzCgkgIGFkZGVkIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24gMjAwOC0wNC0yMyAxMjo1MDozNyArMDAwMAoKMjAwOC0wNC0yMyAwMDo0MCAgaG9mZm1hbgoKCSogVGVzdHMvRGVwZW5kZW5jeS9DYXNlMy9iYXIuYzogZmlsZSBiYXIuYyB3YXMgYWRkZWQgb24gYnJhbmNoCgkgIENNYWtlLTItNiBvbiAyMDA4LTA0LTIzIDEyOjUwOjM3ICswMDAwCgoyMDA4LTA0LTIzIDAwOjQwICBob2ZmbWFuCgoJKiBUZXN0cy9EZXBlbmRlbmN5L0Nhc2UzL2ZvbzEuYzogZmlsZSBmb28xLmMgd2FzIGFkZGVkIG9uIGJyYW5jaAoJICBDTWFrZS0yLTYgb24gMjAwOC0wNC0yMyAxMjo1MDozNyArMDAwMAoKMjAwOC0wNC0yMyAwMDo0MCAgaG9mZm1hbgoKCSogVGVzdHMvRGVwZW5kZW5jeS9DYXNlMy9mb28xYi5jOiBmaWxlIGZvbzFiLmMgd2FzIGFkZGVkIG9uIGJyYW5jaAoJICBDTWFrZS0yLTYgb24gMjAwOC0wNC0yMyAxMjo1MDozNyArMDAwMAoKMjAwOC0wNC0yMyAwMDo0MCAgaG9mZm1hbgoKCSogVGVzdHMvRGVwZW5kZW5jeS9DYXNlMy9mb28yLmM6IGZpbGUgZm9vMi5jIHdhcyBhZGRlZCBvbiBicmFuY2gKCSAgQ01ha2UtMi02IG9uIDIwMDgtMDQtMjMgMTI6NTA6MzcgKzAwMDAKCjIwMDgtMDQtMjMgMDA6NDAgIGtpbmcKCgkqIFRlc3RzL0RlcGVuZGVuY3kvOiBDTWFrZUxpc3RzLnR4dCwgQ2FzZTMvQ01ha2VMaXN0cy50eHQsCgkgIENhc2UzL2Jhci5jLCBDYXNlMy9mb28xLmMsIENhc2UzL2ZvbzFiLmMsIENhc2UzL2ZvbzIuYzogRU5IOiBBZGQKCSAgdGVzdCBvZiBwcmVzZXJ2YXRpb24gb2Ygc3RhdGljIGxpYnJhcmllcyBvbiBvcmlnaW5hbCBsaW5rIGxpbmVzLgoKMjAwOC0wNC0yMyAwMDo0MCAga2luZwoKCSogU291cmNlLzogY21Db21wdXRlTGlua0RlcGVuZHMuY3h4LCBjbUNvbXB1dGVMaW5rRGVwZW5kcy5oOiBCVUc6CgkgIEZpeCBwcmVzZXJ2YXRpb24gb2Ygc3RhdGljIGxpYnJhcmllcyBvbiBvcmlnaW5hbCBsaW5rIGxpbmVzLgoKMjAwOC0wNC0yMyAwMDo0MCAga2luZwoKCSogU291cmNlL2NtQ29tcHV0ZUxpbmtEZXBlbmRzLmN4eDogRU5IOiBTaW1wbGlmeSBsaW5rIGxpbmVzIGluIHNvbWUKCSAgY2FzZXMgYnkgbm90IGFsbG93aW5nIHRhcmdldHMgdG8gYmUgaW5mZXJyZWQgZGVwZW5kZWVzIG9mIGl0ZW1zCgkgIHdpdGggdW5rbm93biBkZXBlbmRlbmNpZXMuCgoyMDA4LTA0LTIzIDAwOjAwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDQtMjIgMjI6MDUgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQVNNQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VGb3J0cmFuSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VSQ0luZm9ybWF0aW9uLmNtYWtlLCBNb2R1bGVzL0ZpbmRCb29zdC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kTVBJLmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL0xpbnV4LWljcGMuY21ha2UsCgkgIFNvdXJjZS9jbUxpc3RDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21Qb2xpY2llcy5jeHgsCgkgIFNvdXJjZS9jbVBvbGljaWVzLmg6IEVOSDogbWVyZ2UgaW50byBtYWluIHRyZWUKCjIwMDgtMDQtMjIgMTM6MzIgIGRncmVnb3IKCgkqIE1vZHVsZXMvRmluZEJvb3N0LmNtYWtlOiBFTkg6IEZpbmRCb29zdCBhbHdheXMgc2V0cwoJICBCb29zdF9MSUJSQVJZX0RJUlMgd2hlbiBpdCBmaW5kcyB0aGUgQm9vc3QgbGlicmFyaWVzCgoyMDA4LTA0LTIyIDEzOjE0ICBkZ3JlZ29yCgoJKiBNb2R1bGVzL0ZpbmRCb29zdC5jbWFrZTogRU5IOiBJbnRlZ3JhdGVkIEZpbmRCb29zdCBpbXByb3ZlbWVudHMKCSAgY2hhbmdlcyBmcm9tIEFuZHJlYXMgUGFrdWxhdCwgTWlrZSBKYWNrc29uLCBhbmQgbXlzZWxmCgoyMDA4LTA0LTIyIDExOjEwICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlUkNJbmZvcm1hdGlvbi5jbWFrZSwKCSAgU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeCBmb3IgYnVnIDY4MzQgUkMKCSAgc2hvdWxkIG5vdCBnZXQgYWxsIENPTVBJTEVfRkxBR1MgZnJvbSBhIHRhcmdldCBhbmQgc2hvdWxkIHdvcmsKCSAgdGhlIHNhbWUgd2F5IGFzIGl0IGRvZXMgaW4gdGhlIHZzIGlkZQoKMjAwOC0wNC0yMiAwOTo1NCAgZGdyZWdvcgoKCSogTW9kdWxlcy9GaW5kTVBJLmNtYWtlOiBCVUc6IEFzIGEgbGFzdCByZXNvcnQsIEZpbmRNUEkgd2lsbCBsb29rCgkgIGZvciBtcGkuaCBpbiB0aGUgcGF0aAoKMjAwOC0wNC0yMiAwOTo0MSAgZGdyZWdvcgoKCSogTW9kdWxlcy9GaW5kTVBJLmNtYWtlOiBCVUc6IFVzZSAtc2hvd21lOmluY2RpcnMgYW5kCgkgIC1zaG93bWU6bGliZGlycyB3aGVuIHdlIG5lZWQgdGhlbQoKMjAwOC0wNC0yMiAwOTozNSAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZUZvcnRyYW5JbmZvcm1hdGlvbi5jbWFrZTogRU5IOiBmaXggRkZGTEFHUyB0byBiZQoJICBGTEFHUwoKMjAwOC0wNC0yMiAwMDowMCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA0LTIxIDE4OjUxICBhbGV4CgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQVNNQ29tcGlsZXIuY21ha2U6IEJVRzogZml4IGhhbmRsaW5nIG9mCgkgIGFzc2VtYmxlciBleGVjdXRhYmxlICh3aXRoIHBhdGgpICM2ODU4CgoJICBBbGV4CgoyMDA4LTA0LTIxIDE4OjI2ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0xpbnV4LWljcGMuY21ha2U6IEVOSDogdXNlIHhpYXIgZm9yIHRoZSBpbnRlbAoJICBjb21waWxlcgoKMjAwOC0wNC0yMSAxODoyNCAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eDogQlVHOiBmaXggZm9yIDY3MjAsCgkgIHNvdXJjZSBncm91cHMgb24gdnM2IG5vdCB3b3JraW5nCgoyMDA4LTA0LTIxIDE2OjU3ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUxpc3RDb21tYW5kLmN4eCwgY21Qb2xpY2llcy5jeHgsIGNtUG9saWNpZXMuaDogRU5IOgoJICBmaXggbGlzdCBjb21tYW5kIHdpdGggZW1wdHkgZWxlbWVudHMKCjIwMDgtMDQtMjEgMTU6MjEgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLAoJICBNb2R1bGVzL0NNYWtlQ0luZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlQ1hYSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VGb3J0cmFuSW5mb3JtYXRpb24uY21ha2UsCgkgIFNvdXJjZS9jbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uY3h4LCBTb3VyY2UvY21EZXBlbmRzRm9ydHJhbi5jeHgsCgkgIFNvdXJjZS9jbURlcGVuZHNGb3J0cmFuTGV4ZXIuY3h4LCBTb3VyY2UvY21EZXBlbmRzRm9ydHJhbkxleGVyLmgsCgkgIFNvdXJjZS9jbURlcGVuZHNGb3J0cmFuTGV4ZXIuaW4ubCwKCSAgU291cmNlL2NtRGVwZW5kc0ZvcnRyYW5QYXJzZXIuY3h4LAoJICBTb3VyY2UvY21EZXBlbmRzRm9ydHJhblBhcnNlci55LCBUZXN0cy9DTWFrZUxpc3RzLnR4dDogRU5IOiBtZXJnZQoJICBpbiBmcm9tIG1haW4gdHJlZQoKMjAwOC0wNC0yMSAxMzowNCAgaG9mZm1hbgoKCSogTW9kdWxlcy86IENNYWtlQ0luZm9ybWF0aW9uLmNtYWtlLCBDTWFrZUNYWEluZm9ybWF0aW9uLmNtYWtlLAoJICBDTWFrZUZvcnRyYW5JbmZvcm1hdGlvbi5jbWFrZTogRU5IOiBmaXggaW5pdCBmbGFncyBnZXR0aW5nCgkgIHN0dWZmZWQgaW50byB0aGUgY29tcGlsZSBsaW5lIGJ5IGZvcmNlLgoKMjAwOC0wNC0yMSAxMToyOCAga2luZwoKCSogU291cmNlLzogY21EZXBlbmRzRm9ydHJhbkxleGVyLmN4eCwgY21EZXBlbmRzRm9ydHJhbkxleGVyLmluLmwsCgkgIGNtRGVwZW5kc0ZvcnRyYW5QYXJzZXIuY3h4LCBjbURlcGVuZHNGb3J0cmFuUGFyc2VyLnk6IFNUWUxFOiBGaXgKCSAgcmVmZXJlbmNlIHRvIG1ha2VkZXBmOTAgcHJvamVjdC4KCjIwMDgtMDQtMjEgMTE6MTUgIGtpbmcKCgkqIFNvdXJjZS86IGNtRGVwZW5kc0ZvcnRyYW4uY3h4LCBjbURlcGVuZHNGb3J0cmFuTGV4ZXIuY3h4LAoJICBjbURlcGVuZHNGb3J0cmFuTGV4ZXIuaCwgY21EZXBlbmRzRm9ydHJhbkxleGVyLmluLmw6IEJVRzogRml4CgkgIEZvcnRyYW4gZGVwZW5kZW5jeSBwYXJzZXIgcHJlcHJvY2Vzc29yIGhhbmRsaW5nIGNyYXNoLgoKCSAgICAtIERvIG5vdCBjcmFzaCBpZiBhICNlbHNlaWYgb2NjdXJzIG91dCBvZiBvcmRlcgoJICAgIC0gUmVjb2duaXplIHByZXByb2Nlc3NvciBkaXJlY3RpdmVzIG9ubHkgYXQgdGhlIGJlZ2lubmluZyBvZgoJICBsaW5lcy4KCSAgICAtIFNlZSBpc3N1ZSAjNjg1NQoKMjAwOC0wNC0yMSAwMDowMCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA0LTIwIDIwOjQ0ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNvbXBpbGVyQUJJLmNtYWtlLAoJICBNb2R1bGVzL0NQYWNrLlJ1bnRpbWVTY3JpcHQuaW4sIE1vZHVsZXMvQ1BhY2suY21ha2UsCgkgIE1vZHVsZXMvRmluZE1QSS5jbWFrZSwgTW9kdWxlcy9GaW5kd3hXaWRnZXRzLmNtYWtlLAoJICBTb3VyY2UvY21FTEYuY3h4LCBTb3VyY2UvY21FTEYuaCwgU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21GaWxlQ29tbWFuZC5oLCBTb3VyY2UvY21JbnN0YWxsQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUluc3RhbGxDb21tYW5kLmgsIFNvdXJjZS9jbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWVzc2FnZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21Qb2xpY2llcy5jeHgsCgkgIFNvdXJjZS9jbVBvbGljaWVzLmgsIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwKCSAgU291cmNlL2NtU3lzdGVtVG9vbHMuaCwgU291cmNlL2NtVGFyZ2V0LmN4eCwKCSAgU291cmNlL0NQYWNrL2NwYWNrLmN4eCwgU291cmNlL1F0RGlhbG9nL0NNYWtlU2V0dXBEaWFsb2cuY3h4LAoJICBTb3VyY2UvUXREaWFsb2cvQ01ha2VTZXR1cERpYWxvZy5oLAoJICBUZXN0cy9GcmFtZXdvcmsvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1R1dG9yaWFsL1N0ZXA3L0NNYWtlTGlzdHMudHh0LCBUZXN0cy9YMTEvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1gxMS9IZWxsb1dvcmxkWDExLmN4eDogRU5IOiBtZXJnZSBpbiBmcm9tIG1haW4gdHJlZQoKMjAwOC0wNC0yMCAwMDowMCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA0LTE5IDEzOjM3ICBkYXZpZC5jb2xlCgoJKiBUZXN0cy9DTWFrZUxpc3RzLnR4dDogQlVHOiBBbGxvdyB0aW1lb3V0cyBsYXJnZXIgdGhhbiAxNTAwIGZvcgoJICB0ZXN0cyB0aGF0IG1heSB0YWtlIGxvbmdlciB0aGFuIDI1IG1pbnV0ZXMgb24gcmVhbGx5IHNsb3cvYnVzeQoJICBtYWNoaW5lcy4gYm9vdHN0cmFwIGhhcyBiZWVuIHRpbWluZyBvdXQgb24gdGlhbWF0LCBhIHZlcnkgb2xkCgkgIG1hY2hpbmUsIHRoaXMgc2hvdWxkIGhlbHAgaXQuLi4KCjIwMDgtMDQtMTkgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNC0xOCAxNzozMiAgaG9mZm1hbgoKCSogU291cmNlL2NtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5jeHg6IEVOSDogb25seSBjb21wbGFpbiBhYm91dCAtbAoJICBzdHVmZiBmb3IgQ01QMDAwMwoKMjAwOC0wNC0xOCAxMDo1NSAgZGF2aWQuY29sZQoKCSogU291cmNlL0NQYWNrL2NwYWNrLmN4eDogQ09NUDogYXV0b19wdHIgd2lsbCBub3QgY29tcGlsZSB3aXRob3V0CgkgIGluY2x1ZGluZyBtZW1vcnkgb24gc29tZSBwbGF0Zm9ybXMKCjIwMDgtMDQtMTggMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNC0xNyAxNzoyMyAgYWxleAoKCSogTW9kdWxlcy9DUGFjay5jbWFrZSwgVGVzdHMvVHV0b3JpYWwvU3RlcDcvQ01ha2VMaXN0cy50eHQ6IEVOSDoKCSAgdXNlIGEgY29tbW9uIENQQUNLX0JJTkFSWV8gcHJlZml4IGZvciB0aGUgYmluYXJ5IHBhY2thZ2UKCSAgZ2VuZXJhdG9ycwoKCSAgQWxleAoKMjAwOC0wNC0xNyAxMjowNiAgZGF2aWQuY29sZQoKCSogU291cmNlL0NQYWNrL2NwYWNrLmN4eDogQlVHOiBGaXggbWVtIGxlYWsuIFRoYW5rcywgTWF0aGlldS4KCjIwMDgtMDQtMTcgMTE6MTYgIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogRml4IGZvciBpc3N1ZQoJICAjNjQ0MC4gVXNlIDAgaW5zdGVhZCBvZiBGQUxTRSBmb3IgRXhjZXB0aW9uSGFuZGxpbmcgd2l0aCBWaXN1YWwKCSAgU3R1ZGlvIDIwMDUgYW5kIGxhdGVyLgoKMjAwOC0wNC0xNyAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA0LTE2IDExOjMxICBkYXZpZC5jb2xlCgoJKiBNb2R1bGVzL0ZpbmR3eFdpZGdldHMuY21ha2U6IEJVRzogVGhlcmUgYXJlIGNvbXBpbGVyIHByb2JsZW1zCgkgIHdpdGggd3hXaWRnZXRzIGFuZCBJTkNMVURFX0RJUkVDVE9SSUVTKFNZU1RFTSAuLi4pIHVzZSBvbiB0aGUKCSAgTWFjLiBTZXQgdmFyaWFibGUgd3hXaWRnZXRzX0lOQ0xVREVfRElSU19OT19TWVNURU0gb24gdGhlIE1hYyBpbgoJICBGaW5kd3hXaWRnZXRzLmNtYWtlIHRvIGF2b2lkIHRoZXNlIHByb2JsZW1zLgoKMjAwOC0wNC0xNiAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA0LTE1IDA5OjAwICBraW5nCgoJKiBTb3VyY2UvY21FTEYuY3h4OiBDT01QOiBGaXggc2lnbmVkL3Vuc2lnbmVkIGNvbXBhcmlzb24gd2FybmluZyBpbgoJICBjbUVMRi4KCjIwMDgtMDQtMTUgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNC0xNCAxODowMyAga2luZwoKCSogU291cmNlL2NtSW5zdGFsbENvbW1hbmQuaDogRU5IOiBDbGFyaWZ5IGRvY3VtZW50YXRpb24gb2YKCSAgaW5zdGFsbChUQVJHRVRTKSBjb21tYW5kIHRvIHJlZmVyIHRvIGluc3RhbGwgdGFyZ2V0IHR5cGVzIGJ5IHRoZQoJICB1cHBlci1jYXNlIGtleXdvcmRzIHVzZWQgd2hlbiBpbnZva2luZyB0aGUgY29tbWFuZC4KCjIwMDgtMDQtMTQgMTc6NTMgIGtpbmcKCgkqIFNvdXJjZS86IGNtSW5zdGFsbENvbW1hbmQuY3h4LCBjbUluc3RhbGxDb21tYW5kLmgsCgkgIGNtUG9saWNpZXMuY3h4LCBjbVBvbGljaWVzLmg6IEJVRzogRml4IGNvbXBhdGliaWxpdHkgd2l0aCBDTWFrZQoJICAyLjQgZm9yIGluc3RhbGxhdGlvbiBvZiBNQUNPU1hfQlVORExFIHRhcmdldHMKCgkgICAgLSBBZGQgcG9saWN5IENNUDAwMDYgdG8gZGVjaWRlIHdoZXRoZXIgdG8gdXNlIGNvbXBhdGliaWxpdHkKCSAgICAtIE9MRCBiZWhhdmlvciBpcyB0byBmYWxsIGJhY2sgdG8gUlVOVElNRSBydWxlcwoJICAgIC0gTkVXIGJlaGF2aW9yIGlzIHRvIHByb2R1Y2UgYW4gZXJyb3IKCjIwMDgtMDQtMTQgMTY6MTUgIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy86IENNYWtlU2V0dXBEaWFsb2cuY3h4LCBDTWFrZVNldHVwRGlhbG9nLmg6CgkgIEJVRzoJRml4IGlzc3VlIHdoZW4gbm9uLWVycm9yIG1lc3NhZ2VzIHdlcmUgaW5jb3JyZWN0bHkgY29sb3JlZAoJICByZWQuCgoyMDA4LTA0LTE0IDE1OjI3ICBraW5nCgoJKiBTb3VyY2UvY21UYXJnZXQuY3h4LCBUZXN0cy9GcmFtZXdvcmsvQ01ha2VMaXN0cy50eHQ6IEJVRzogQQoJICBwZXItY29uZmlnIHRhcmdldCBuYW1lIHBvc3RmaXggc2hvdWxkIGJlIGlnbm9yZWQgZm9yIE1hYyBidW5kbGUKCSAgYW5kIGZyYW1ld29yayBuYW1lcy4KCjIwMDgtMDQtMTQgMTU6MjUgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDb21waWxlckFCSS5jbWFrZTogRU5IOiBDbGFyaWZ5IG1lc3NhZ2UKCSAgYWJvdXQgY2hlY2tpbmcgZm9yIGNvbXBpbGVyIEFCSSBpbmZvcm1hdGlvbi4KCjIwMDgtMDQtMTQgMTU6MDIgIGtpbmcKCgkqIFNvdXJjZS86IGNtRmlsZUNvbW1hbmQuY3h4LCBjbUZpbGVDb21tYW5kLmgsCgkgIGNtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHgsIGNtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5oOiBFTkg6CgkgIEltcHJvdmUgUlBBVEggYmVoYXZpb3IgZHVyaW5nIGluc3RhbGxhdGlvbi4KCgkgICAgLSBJZiBuZXcgUlBBVEggaXMgZW1wdHkgdGhlbiByZW1vdmUgdGhlIGVudHJ5IGNvbXBsZXRlbHkKCSAgICAtIFByZXNlcnZlIGZpbGUgbW9kaWZpY2F0aW9uIHRpbWUgc28gaW5zdGFsbGF0aW9uIGlzIG5vdAoJICByZXBlYXRlZAoJICAgIC0gSWYgaW5zdGFsbGVkIGZpbGUgYWxyZWFkeSBleGlzdHMgcmVtb3ZlIGl0IGlmIGl0cyBSUEFUSAoJICAgICAgZG9lcyBub3QgbWF0Y2ggdGhhdCBleHBlY3RlZAoKMjAwOC0wNC0xNCAxNTowMiAga2luZwoKCSogU291cmNlLzogY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaDogRU5IOiBBZGRlZCBSUEFUSAoJICBtZXRob2RzIHRvIGNtU3lzdGVtVG9vbHMKCgkgICAgLSBSZW1vdmVSUGF0aCB0byByZW1vdmUgdGhlIFJQQVRIIGZyb20gYSBiaW5hcnkKCSAgICAtIENoZWNrUlBhdGggdG8gY2hlY2sgZm9yIGFuIGV4aXN0aW5nIFJQQVRIIGluIGEgYmluYXJ5CgoyMDA4LTA0LTE0IDE1OjAyICBraW5nCgoJKiBTb3VyY2UvOiBjbUVMRi5jeHgsIGNtRUxGLmg6IEVOSDogQWRkZWQgY21FTEYgbWV0aG9kcyB0byBnZXQKCSAgaW5mb3JtYXRpb24gYWJvdXQgRFlOQU1JQyBzZWN0aW9uIGVudHJpZXMuCgoyMDA4LTA0LTE0IDEyOjQ0ICBraW5nCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IENPTVA6IEZpeCBuZXcgY21TeXN0ZW1Ub29scyBmaWxlIHRpbWUKCSAgbWV0aG9kcyBvbiBXaW5kb3dzLgoKMjAwOC0wNC0xNCAxMTo0MyAga2luZwoKCSogU291cmNlLzogY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaDogRU5IOiBBZGRlZCBtZXRob2RzCgkgIHRvIGNtU3lzdGVtVG9vbHMgdG8gc2F2ZSBhbmQgcmVzdG9yZSBmaWxlIG1vZGlmaWNhdGlvbiB0aW1lcy4KCjIwMDgtMDQtMTQgMDk6MjAgIGtpbmcKCgkqIFNvdXJjZS9jbU1lc3NhZ2VDb21tYW5kLmN4eDogRU5IOiBNYWtlIG1lc3NhZ2UoU0VORF9FUlJPUikgcmVwb3J0CgkgIGNvbnRleHQuCgoyMDA4LTA0LTE0IDA5OjA4ICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHg6IEJVRzogV2hlbgoJICBNQUNPU1hfUEFDS0FHRV9MT0NBVElPTiBzcGVjaWZpZXMgSGVhZGVycy9mb28gd2UgbXVzdCBzdGlsbAoJICBjcmVhdGUgdGhlIEhlYWRlcnMgc3ltbGluay4KCjIwMDgtMDQtMTQgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNC0xMyAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA0LTEyIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDQtMTEgMTM6MTMgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHg6IEJVRzogbWFrZSBzdXJlIE9CSkVDVF9ESVIgaXMgaW4KCSAgdGhlIHBhdGggb2YgdGhlIFNIRUxMCgoyMDA4LTA0LTExIDEwOjQxICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NQYWNrLlJ1bnRpbWVTY3JpcHQuaW46IEVOSDogZml4IHgxMSBsYXVuY2ggc2NyaXB0IGZvcgoJICBsZW9wb3JkIHgxMSBpcyBhdXRvLXN0YXJ0ZWQgZm9yIHVzIG9uIHRoYXQgb3MuCgoyMDA4LTA0LTExIDEwOjIzICBob2ZmbWFuCgoJKiBUZXN0cy9YMTEvOiBDTWFrZUxpc3RzLnR4dCwgSGVsbG9Xb3JsZFgxMS5jeHg6IEVOSDogYWRkIGEgc2ltcGxlCgkgIHgxMSB0ZXN0IGZvciBwYWNrYWdpbmcKCjIwMDgtMDQtMTEgMTA6MjMgIGhvZmZtYW4KCgkqIFRlc3RzL1gxMS9IZWxsb1dvcmxkWDExLmN4eDogZmlsZSBIZWxsb1dvcmxkWDExLmN4eCB3YXMgYWRkZWQgb24KCSAgYnJhbmNoIENNYWtlLTItNiBvbiAyMDA4LTA0LTIxIDAwOjQ0OjU5ICswMDAwCgoyMDA4LTA0LTExIDA5OjUyICBob2ZmbWFuCgoJKiBUZXN0cy9YMTEvSGVsbG9Xb3JsZFgxMS5jeHg6IEVOSDogYWRkIGEgc2ltcGxlIHgxMSBwcm9ncmFtCgoyMDA4LTA0LTExIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDQtMTAgMTY6NTQgIGRncmVnb3IKCgkqIE1vZHVsZXMvRmluZE1QSS5jbWFrZTogRU5IOiBEZWFsIHdpdGggMzItYml0IGFuZCA2NC1iaXQgdmFyaWFudHMKCSAgb2YgTWljcm9zb2Z0J3MgTVBJIHByb3Blcmx5CgoyMDA4LTA0LTEwIDEyOjUwICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cubWFudWFsOiBFTkg6IGNoYW5nZSB0byBSQyA4CgoyMDA4LTA0LTEwIDEyOjQzICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwgTW9kdWxlcy9GaW5kUXQ0LmNtYWtlLAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBFTkg6IG1lcmdlIGluIGZyb20gbWFpbgoJICB0cmVlCgoyMDA4LTA0LTEwIDExOjU1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBCVUc6IHRoZSBzdW4gbWFrZSBnb2VzCgkgIGludG8gc29tZSBvZGQgbiBzcXVhcmVkIHRoaW5nIHdpdGggdGhpcyBzY2NzIGFuZCByY3Mgc3R1ZmYgZm9yCgkgIGdtYWtlLCBzbyBJIGFtIHJlbW92aW5nIHRoZW0uCgoyMDA4LTA0LTEwIDEwOjAxICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEJVRzogIEZpeCB0eXBvIHJlcG9ydGVkIGluICM2NzkwLgoKMjAwOC0wNC0xMCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA0LTA5IDE0OjU3ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwgTW9kdWxlcy9GaW5kSk5JLmNtYWtlLAoJICBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEVOSDogbWVyZ2UgZnJvbSBoZWFkIGZvciBSQzcKCjIwMDgtMDQtMDkgMDg6NDEgIGhvZmZtYW4KCgkqIFRlc3RzL0ZyYW1ld29yay9mb29EZWVwUHVibGljLmgsCgkgIE1vZHVsZXMvUGxhdGZvcm0vRGFyd2luLWljYy5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9EYXJ3aW4taWNwYy5jbWFrZTogRU5IOiBhZGQgbWlzc2luZyBmaWxlCgoyMDA4LTA0LTA5IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDQtMDggMTc6MzcgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQlVHOiB1bmRvIGNoYW5nZSBhcyBpdCBicmVha3MKCSAgcHJlcHJvY2VzcyB0ZXN0IGZvciBzb21lIHJlYXNvbj8/CgoyMDA4LTA0LTA4IDE2OjI2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21UYXJnZXQuaDogRU5IOiBtZXJnZSBmcm9tIG1haW4gdHJlZQoKMjAwOC0wNC0wOCAxNjoxMyAgaG9mZm1hbgoKCSogU291cmNlL2NtVGFyZ2V0Lmg6IEVOSDogcmVtb3ZlIHF1YWxpZmllciBmcm9tIC5oIGZpbGUKCjIwMDgtMDQtMDggMTY6MDkgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZEpOSS5jbWFrZTogRU5IOiBoYXZlIGpuaSBsb29rIG1vcmUgcGxhY2VzIG9uIGxpbnV4CgoyMDA4LTA0LTA4IDE2OjA2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEJVRzogaGFsZiBmaXggZm9yIDY2ODgsIGV4cGFuZCByZWdpc3RyeQoJICBzdHVmZiBvbiB1bml4IGp1c3QgbGlrZSBpdCB3YXMgbm90IGZvdW5kIG9uIHdpbmRvd3MKCjIwMDgtMDQtMDggMTY6MDUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogRU5IOiBoYWxmIGZpeCBmb3IgNjY4OCwgZG9uJ3QgbGV0IFsKCSAgY291bnQgZ28gbmVnYXRpdmUKCjIwMDgtMDQtMDggMTM6NDIgIGtpbmcKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogRU5IOiBVcGRhdGUgY21TeXN0ZW1Ub29sczo6Q2hhbmdlUlBhdGgKCSAgdG8gc3VwcG9ydCByZXBsYWNpbmcgcnBhdGggdmFsdWVzIGZyb20gdGhlIG1pZGRsZSBvZiB0aGUgc3RyaW5nLgoKMjAwOC0wNC0wOCAxMjoyMiAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWwsIE1vZHVsZXMvRmluZFF0NC5jbWFrZSwKCSAgTW9kdWxlcy9JbnN0YWxsUmVxdWlyZWRTeXN0ZW1MaWJyYXJpZXMuY21ha2UsCgkgIFNvdXJjZS9jbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uY3h4LAoJICBTb3VyY2UvY21FeHRyYUVjbGlwc2VDRFQ0R2VuZXJhdG9yLmN4eCwgU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21GaW5kQmFzZS5jeHgsIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmgsIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwKCSAgU291cmNlL2NtVGFyZ2V0LmN4eCwgU291cmNlL2NtVGFyZ2V0LmgsIFNvdXJjZS9jbWFrZS5jeHgsCgkgIFNvdXJjZS9jbWFrZS5oLCBTb3VyY2UvUXREaWFsb2cvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9RdERpYWxvZy9DTWFrZVNldHVwLmN4eCwKCSAgU291cmNlL1F0RGlhbG9nL0NNYWtlU2V0dXBEaWFsb2cuY3h4LAoJICBTb3VyY2UvUXREaWFsb2cvQ01ha2VTZXR1cERpYWxvZy5oLAoJICBTb3VyY2UvUXREaWFsb2cvQ01ha2VTZXR1cERpYWxvZy51aSwgU291cmNlL1F0RGlhbG9nL1FDTWFrZS5jeHgsCgkgIFNvdXJjZS9RdERpYWxvZy9RQ01ha2UuaCwgU291cmNlL1F0RGlhbG9nL1FDTWFrZUNhY2hlVmlldy5jeHgsCgkgIFNvdXJjZS9RdERpYWxvZy9RQ01ha2VDYWNoZVZpZXcuaCwKCSAgU291cmNlL1F0RGlhbG9nL1FNYWNJbnN0YWxsRGlhbG9nLmN4eCwKCSAgU291cmNlL1F0RGlhbG9nL3Bvc3RmbGlnaHQuc2guaW4sIFRlc3RzL0ZyYW1ld29yay9DTWFrZUxpc3RzLnR4dDoKCSAgRU5IOiBtZXJnZSBpbiBjaGFuZ2VzIGZyb20gbWFpbiB0cmVlCgoyMDA4LTA0LTA4IDExOjMwICBob2ZmbWFuCgoJKiBTb3VyY2UvUXREaWFsb2cvQ01ha2VMaXN0cy50eHQ6IEVOSDogbWFrZSBzdXJlIGNtYWtlLWd1aSBidWlsZHMKCSAgd2l0aCBjbWFrZSAyLjQuWAoKMjAwOC0wNC0wOCAwMDowNiAgaG9mZm1hbgoKCSogVGVzdHMvRnJhbWV3b3JrL2Zvb0RlZXBQdWJsaWMuaDogZmlsZSBmb29EZWVwUHVibGljLmggd2FzIGFkZGVkCgkgIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24gMjAwOC0wNC0wOSAxMjo0MTozNCArMDAwMAoKMjAwOC0wNC0wOCAwMDowNiAga2luZwoKCSogU291cmNlL2NtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmgsIFNvdXJjZS9jbVRhcmdldC5jeHgsCgkgIFNvdXJjZS9jbVRhcmdldC5oLCBUZXN0cy9GcmFtZXdvcmsvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0ZyYW1ld29yay9mb29EZWVwUHVibGljLmg6IEJVRzogQ29ycmVjdCBNYWMgT1MgWCBmcmFtZXdvcmsKCSAgYmVoYXZpb3IKCgkgICAgLSBQbGFjZSB0aGUgYnVpbHQgbGlicmFyeSBpbiBmb28uZnJhbWV3b3JrL1ZlcnNpb25zL0EvZm9vCgkgICAgLSBEbyBub3QgY3JlYXRlIHVudXNlZCBjb250ZW50IHN5bWxpbmtzIChsaWtlIFByaXZhdGVIZWFkZXJzKQoJICAgIC0gRG8gbm90IHVzZSBWRVJTSU9OL1NPVkVSU0lPTiBwcm9wZXJ0aWVzIGZvciBmcmFtZXdvcmtzCgkgICAgLSBNYWtlIGNtVGFyZ2V0OjpHZXREaXJlY3RvcnkgcmV0dXJuIGJ5IHZhbHVlCgkgICAgLSBSZW1vdmUgdGhlIGZvby5mcmFtZXdvcmsgcGFydCBmcm9tIGNtVGFyZ2V0OjpHZXREaXJlY3RvcnkKCSAgICAtIENvcnJlY3QgaW5zdGFsbF9uYW1lIGNvbnN0cnVjdGlvbiBhbmQgY29udmVyc2lvbiBvbiBpbnN0YWxsCgkgICAgLSBGaXggTUFDT1NYX1BBQ0tBR0VfTE9DQVRJT04gdW5kZXIgWGNvZGUgdG8gdXNlIHRoZQoJICAgICAgVmVyc2lvbnMvPHZlcnNpb24+IGRpcmVjdG9yeSBmb3IgZnJhbWV3b3JrcwoJICAgIC0gVXBkYXRlIHRoZSBGcmFtZXdvcmsgdGVzdCB0byB0cnkgdGhlc2UgdGhpbmdzCgoyMDA4LTA0LTA3IDIzOjU2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDQtMDcgMTk6NDMgIGNsaW50b24KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZToKCSAgQlVHOglGaXggcHJvYmxlbSB3aXRoIGxhc3QgcGF0Y2ggd2hlbiB0cnlpbmcgdG8gdGFrZSBzdWJzdHIgb2YKCSAgc2hvcnRlciBzdHJpbmdzCXRoYW4gZXhwZWN0ZWQuCUZpeGVzICM2NzMwLgoKMjAwOC0wNC0wNyAxOToxOSAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nLzogQ01ha2VTZXR1cERpYWxvZy5jeHgsIENNYWtlU2V0dXBEaWFsb2cuaCwKCSAgUUNNYWtlLmN4eCwgUUNNYWtlLmg6IEJVRzogIEZpeCAjNjczMy4gIEFsd2F5cyBjb252ZXJ0ICJcIiB0byAiLyIKCSAgaW4gc291cmNlICYgYmluYXJ5IGRpcmVjdG9yeSBmaWVsZHMgb24gV2luZG93cy4KCjIwMDgtMDQtMDcgMTM6MzkgIGtpbmcKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGVFeGVjdXRhYmxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LCBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0Lmg6CgkgIEJVRzogRG8gbm90IGNyZWF0ZSB0YXJnZXQgb3V0cHV0IGRpcmVjdG9yeSBpbiBjbVRhcmdldC4gIExldCB0aGUKCSAgZ2VuZXJhdG9ycyBkbyBpdC4KCjIwMDgtMDQtMDcgMTE6MjMgIGNsaW50b24KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogQlVHOiAgRml4IDY3MjYuICBDcmVhdGUgY29ycmVjdCBtb2MgcnVsZQoJICBmb3IgY29uZmlndXJlZCBoZWFkZXJzIGluIGJpbmFyeSBkaXIuCgoyMDA4LTA0LTA3IDEwOjU1ICBraW5nCgoJKiBTb3VyY2UvOiBjbUZpbGVDb21tYW5kLmN4eCwgY21TeXN0ZW1Ub29scy5jeHg6IEVOSDogSW1wcm92ZSBlcnJvcgoJICBtZXNzYWdlIHdoZW4gaW5zdGFsbGF0aW9uIGZpbGUoQ0hSUEFUSCkgY2Fubm90IGNoYW5nZSB0aGUgUlBBVEguCgoyMDA4LTA0LTA2IDIzOjU3ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDQtMDYgMjI6MTkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUZpbmRCYXNlLmN4eDogQlVHOiBmaXggbmV0d29yayBwYXRoIGJ5IG1pc3Rha2UgaW4gc2VhcmNoCgoyMDA4LTA0LTA1IDIzOjU3ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDQtMDQgMjM6NTcgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNC0wNCAxNjowMiAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbUZpbGVDb21tYW5kLmN4eCwgU291cmNlL2NtYWtlLmN4eCwKCSAgU291cmNlL1F0RGlhbG9nL0NNYWtlTGlzdHMudHh0LCBTb3VyY2UvUXREaWFsb2cvQ01ha2VTZXR1cC5jeHgsCgkgIFNvdXJjZS9RdERpYWxvZy9RTWFjSW5zdGFsbERpYWxvZy5jeHgsCgkgIFNvdXJjZS9RdERpYWxvZy9wb3N0ZmxpZ2h0LnNoLmluOiBFTkg6IGluc3RhbGwgdGhlIG1hYwoJICBhcHBsaWNhdGlvbiBidW5kbGUgaW50byAvQXBwbGljYXRpb25zIGRpcmVjdGx5IHdpdGggbm8gZW5jbG9zaW5nCgkgIGZvbGRlcgoKMjAwOC0wNC0wMyAyMzo1NyAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTA0LTAzIDE4OjQzICBhbGV4CgoJKiBTb3VyY2UvY21FeHRyYUVjbGlwc2VDRFQ0R2VuZXJhdG9yLmN4eDogRU5IOiBhZGQgZWRpdF9jYWNoZQoJICB0YXJnZXQgZm9yIEVjbGlwc2UgKGlmIGl0J3Mgbm90IGNjbWFrZSwgYmVjYXVzZSB0aGlzIGRvZXNuJ3Qgd29yawoJICBpbnNpZGUgdGhlIGxvZyB2aWV3KQoKCSAgQWxleAoKMjAwOC0wNC0wMyAxODozNSAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nLzogQ01ha2VTZXR1cERpYWxvZy5jeHgsIENNYWtlU2V0dXBEaWFsb2cudWk6IEVOSDoKCSAgRml4IGV4aXQgc2hvcnRjdXQgdG8gYmUgbW9yZSBzdGFuZGFyZCwgYW5kIGFkZCBzaG9ydGN1dCBmb3IKCSAgYWR2YW5jZWQgY2hlY2tib3guCgoyMDA4LTA0LTAzIDE3OjAyICBob2ZmbWFuCgoJKiBTb3VyY2UvUXREaWFsb2cvUU1hY0luc3RhbGxEaWFsb2cuY3h4OiBFTkg6IGRvIG5vdCBsaW5rIC4gYW5kIC4uCgkgIGR1cmluZyBpbnN0YWxsCgoyMDA4LTA0LTAzIDE2OjQ5ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvOiBDTWFrZVNldHVwRGlhbG9nLmN4eCwgQ01ha2VTZXR1cERpYWxvZy51aTogRU5IOgoJICBBZGQgbW9yZSBzaG9ydGN1dHMuCUZpeGVzIDYzNTcuCgoyMDA4LTA0LTAzIDE2OjE4ICBob2ZmbWFuCgoJKiBTb3VyY2UvUXREaWFsb2cvOiBDTWFrZVNldHVwRGlhbG9nLmN4eCwgQ01ha2VTZXR1cERpYWxvZy5oLAoJICBRTWFjSW5zdGFsbERpYWxvZy5jeHg6IEVOSDogYWRkIGFiaWxpdHkgdG8gY3JlYXRlIHN5bWxpbmtzIGZvcgoJICBjb21tYW5kIGxpbmUgb24gbWFjIGZyb20gZ3VpCgoyMDA4LTA0LTAzIDEyOjI5ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0luc3RhbGxSZXF1aXJlZFN5c3RlbUxpYnJhcmllcy5jbWFrZTogRU5IOiBhZGQgdnM5IG1mYwoJICBsaWJyYXJpZXMKCjIwMDgtMDQtMDMgMTE6MTEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eDogQlVHOiByZXNwb25zZSBmaWxlIG11c3QgYmUKCSAgYSBjb3B5IGlmIGRpZmZlcmVudCBvciB5b3UgZ2V0IHJlbGlua3MgZXZlcnkgdGltZSB5b3UgcnVuIGNtYWtlCgoyMDA4LTA0LTAyIDIzOjU3ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDQtMDIgMTc6NDEgIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy86IENNYWtlU2V0dXBEaWFsb2cuY3h4LCBDTWFrZVNldHVwRGlhbG9nLmgsCgkgIFFDTWFrZS5jeHgsIFFDTWFrZS5oOgoJICBFTkg6CUFkZCBkZWJ1ZyBvdXRwdXQgb3B0aW9uIHRvIGEgbmV3IE9wdGlvbnMgbWVudS4JICAgICAgTW92ZQoJICBkZXYgd2FybmluZ3Mgb3B0aW9uIHRvIHRoZSBuZXcgT3B0aW9ucyBtZW51LgkgICAgICBGaXhlcyAjNjMzNS4KCjIwMDgtMDQtMDIgMTc6MjkgIGFsZXgKCgkqIFNvdXJjZS86IGNtYWtlLmN4eCwgY21ha2UuaDogRU5IOiBtYWtlIGl0IHBvc3NpYmxlIHRvIGRpc2FibGUKCSAgZGVidWcgb3V0cHV0IGFnYWluCgoJICBBbGV4CgoyMDA4LTA0LTAyIDE1OjI4ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvOiBRQ01ha2VDYWNoZVZpZXcuY3h4LCBRQ01ha2VDYWNoZVZpZXcuaDoKCSAgQlVHOglLZWVwIGVkaXRvciBhbGl2ZSB3aGVuIGZpbGUgZGlhbG9nIGNvbWVzIHVwIHRvIHBpY2sgYW5vdGhlcgoJICBmaWxlIG9yIHBhdGguICAgICAgICBUaGUgZWRpdG9yIGdvaW5nIGF3YXkgcHJlbWF0dXJlbHkgU2VlbXMgdG8KCSAgb25seSBoYXBwZW4gb24gTWFjIE9TIFguCgoyMDA4LTA0LTAyIDE0OjAxICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvOiBDTWFrZVNldHVwRGlhbG9nLmN4eCwgQ01ha2VTZXR1cERpYWxvZy5oOgoJICBFTkg6CUFsbG93IGNhbmNlbGxpbmcgdGhlIGRpYWxvZyB0aGF0IHByb21wdHMgZm9yIHRoZSBnZW5lcmF0b3IuCgoyMDA4LTA0LTAyIDExOjA3ICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cubWFudWFsLCBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEVOSDogbWVyZ2UgaW4gZmluZHF0CgkgIGNoYW5nZSBmcm9tIG1haW4gdHJlZQoKMjAwOC0wNC0wMiAxMTowNSAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOiBCVUc6IG1ha2Ugc3VyZSBhbGwgcGF0aHMgZXh0cmFjdGVkIGZyb20KCSAgcW1ha2UgYXJlIGNvbnZlcnRlZCB0byBjbWFrZSBwYXRocyBiZWNhdXNlIG9uIHdpbmRvd3MgdGhleSB3aWxsCgkgIGhhdmUgXCBpbnN0ZWFkIG9mIC8gYW5kIHlvdSBjYW4gZ2V0IG9kZCBlc2NhcGluZyBlcnJvcnMKCjIwMDgtMDQtMDIgMDk6MTYgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLCBNb2R1bGVzL0NQYWNrRGViLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRRdDQuY21ha2UsIFNvdXJjZS9jbUdldFByb3BlcnR5Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUdldFByb3BlcnR5Q29tbWFuZC5oLAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtU2V0UHJvcGVydHlDb21tYW5kLmN4eCwgU291cmNlL2NtU2V0UHJvcGVydHlDb21tYW5kLmgsCgkgIFNvdXJjZS9jbVNvdXJjZUZpbGUuY3h4LCBTb3VyY2UvY21UYXJnZXQuY3h4LCBTb3VyY2UvY21UZXN0LmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tEZWJHZW5lcmF0b3IuY3h4LCBTb3VyY2Uva3dzeXMvUHJvY2Vzcy5oLmluLAoJICBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYywgVGVzdHMvUHJvcGVydGllcy9DTWFrZUxpc3RzLnR4dDogRU5IOgoJICBtZXJnZSBpbiBtYWluIHRyZWUgZm9yIFJDIDYKCjIwMDgtMDQtMDIgMDg6MzYgIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzLzogUHJvY2Vzcy5oLmluLCBQcm9jZXNzVU5JWC5jOiBTVFlMRTogbWlub3IgY29tbWVudHMKCjIwMDgtMDQtMDEgMjM6NTcgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wNC0wMSAxNzo1OSAgYWxleAoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOiBTVFlMRTogYWRkIGRvY3VtZW50YXRpb24gZm9yCgkgIFFUNF9DUkVBVEVfTU9DIGFuZCBRVDRfQVVUT01PQyAoIzY2ODcpCgoJICBBbGV4CgoyMDA4LTA0LTAxIDE3OjUxICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja0RlYkdlbmVyYXRvci5jeHgsIE1vZHVsZXMvQ1BhY2tEZWIuY21ha2U6CgkgIEVOSDogYWRkIENQQUNLX0RFQklBTl9QQUNLQUdFX0NPTlRST0xfRVhUUkEgdmFyaWFibGUKCjIwMDgtMDQtMDEgMTc6MzkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzhHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeCBsb2NhdGlvbiBvZgoJICB0bXAgZmlsZSB0byB1c2UgdGhlIGZ1bGwgcGF0aCwgY2F1c2VkIGVycm9yIG9uIHZpc3RhIG5vdCBydW5uaW5nCgkgIGFzIGFkbWluCgoyMDA4LTA0LTAxIDE1OjIyICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21HZXRQcm9wZXJ0eUNvbW1hbmQuY3h4OiBDT01QOiBmaXggd2FybmluZwoKMjAwOC0wNC0wMSAxNDoyMiAgbWFydGluawoKCSogU291cmNlL2NtR2V0UHJvcGVydHlDb21tYW5kLmN4eCwgU291cmNlL2NtR2V0UHJvcGVydHlDb21tYW5kLmgsCgkgIFNvdXJjZS9jbVNldFByb3BlcnR5Q29tbWFuZC5jeHgsIFNvdXJjZS9jbVNldFByb3BlcnR5Q29tbWFuZC5oLAoJICBTb3VyY2UvY21Tb3VyY2VGaWxlLmN4eCwgU291cmNlL2NtVGFyZ2V0LmN4eCwgU291cmNlL2NtVGVzdC5jeHgsCgkgIFRlc3RzL1Byb3BlcnRpZXMvQ01ha2VMaXN0cy50eHQ6IEVOSDogc3VwcG9ydCB1bnNldCBvZiBwcm9wZXJ0aWVzCgoyMDA4LTA0LTAxIDA5OjU2ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NQYWNrRGViLmNtYWtlOiBFTkg6IHJlbW92ZSB0cmFpbGluZyBzcGFjZQoKMjAwOC0wMy0zMSAyMzo1NyAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAzLTMxIDE3OjU3ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwgTW9kdWxlcy9GaW5kTVBJLmNtYWtlLAoJICBTb3VyY2UvY21Db21wdXRlTGlua0RlcGVuZHMuY3h4LCBTb3VyY2UvY21Db21wdXRlTGlua0RlcGVuZHMuaCwKCSAgU291cmNlL2NtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5jeHgsCgkgIFNvdXJjZS9jbUV4cG9ydEZpbGVHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21MaXN0RmlsZUNhY2hlLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZS5oLCBTb3VyY2UvY21Qb2xpY2llcy5jeHg6IEVOSDogbWVyZ2UgY2hhbmdlcwoJICBmcm9tIGhlYWQgdG8gMjYgYnJhbmNoCgoyMDA4LTAzLTMxIDEzOjQ4ICBraW5nCgoJKiBTb3VyY2UvY21FeHBvcnRGaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBHZW5lcmF0ZWQgdGFyZ2V0IGV4cG9ydAoJICBmaWxlcyBzaG91bGQgc2V0IHRoZSBwb2xpY3kgdmVyc2lvbiB0byAyLjYgaW5zdGVhZCBvZiB0aGUKCSAgY3VycmVudGx5IHJ1bm5pbmcgdmVyc2lvbiBiZWNhdXNlIHRoZXkgYXJlIDIuNiBjb21wYXRpYmxlLgoKMjAwOC0wMy0zMSAxMzozMyAga2luZwoKCSogU291cmNlLzogY21MaXN0RmlsZUNhY2hlLmN4eCwgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaCwKCSAgY21Qb2xpY2llcy5jeHg6IEVOSDogQWxsb3cgcG9saWN5IENNUDAwMDAgdG8gYmUgc2V0IGV4cGxpY2l0bHkKCgkgICAgLSBNZXNzYWdlIGZvciBtaXNzaW5nIGNtYWtlX21pbmltdW1fcmVxdWlyZWQgaXMgbm90IGlzc3VlZAoJICAgICAgdW50aWwgdGhlIGVuZCBvZiBwcm9jZXNzaW5nIHRoZSB0b3AgQ01ha2VMaXN0cy50eHQgZmlsZQoJICAgIC0gRHVyaW5nIHByb2Nlc3NpbmcgYSBjbWFrZV9wb2xpY3kgY29tbWFuZCBtYXkgc2V0IGJlaGF2aW9yCgkgICAgLSBPTEQgYmVoYXZpb3IgaXMgdG8gc2lsZW50bHkgaWdub3JlIHRoZSBwcm9ibGVtCgkgICAgLSBORVcgYmVoYXZpb3IgaXMgdG8gaXNzdWUgYW4gZXJyb3IgaW5zdGVhZCBvZiBhIHdhcm5pbmcKCjIwMDgtMDMtMzEgMTI6NDcgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ29tcHV0ZUxpbmtEZXBlbmRzLmN4eCwgY21Db21wdXRlTGlua0RlcGVuZHMuaCwKCSAgY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmN4eDogQlVHOiBGaXggYnVnIDY2MDUgbW9yZSBjb21wbGV0ZWx5CgoJICAgIC0gQ01ha2UgMi40IGFkZGVkIGxpbmsgZGlyZWN0b3JpZXMgZm9yIHRhcmdldHMgbGlua2VkCgkgICAgICBpbiB0aGUgb3B0aW1pemVkIGNvbmZpZ3VyYXRpb24gZXZlbiB3aGVuIGJ1aWxkaW5nIGRlYnVnCgkgICAgLSBPbGQgYmVoYXZpb3IgZm9yIHBvbGljeSBDTVAwMDAzIG11c3QgYWNjb3VudCBmb3IgdGhpcwoKMjAwOC0wMy0zMSAxMDo1OSAga2luZwoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogRU5IOiBJbXByb3ZlIHNwZWVkIG9mCgkgIG1hbmlmZXN0IHRvb2wgb24gVlM4IGFuZCBWUzkuCgoJICAgIC0gRGV0ZWN0IGZpbGVzeXN0ZW0gdHlwZSB3aGVyZSB0YXJnZXQgd2lsbCBiZSBsaW5rZWQKCSAgICAtIFVzZSBGQVQzMiB3b3JrYXJvdW5kIG9ubHkgd2hlbiBmcyBpcyBGQVQgb3IgRkFUMzIKCjIwMDgtMDMtMzEgMTA6NTUgIGRncmVnb3IKCgkqIE1vZHVsZXMvRmluZE1QSS5jbWFrZTogRU5IOiBFbmhhbmNlIEZpbmRNUEkgbW9kdWxlIGJ5IHByb3Blcmx5CgkgIGhhbmRsaW5nIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgb2xkZXIgbW9kdWxlLCBhZGRpbmcKCSAgZG9jdW1lbnRhdGlvbiwgYW5kIGNvcGluZyB3aXRoIG11bHRpcGxlIGluY2x1ZGUgYW5kIGxpbmtlciBwYXRocwoKMjAwOC0wMy0zMSAwODowNCAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9EYXJ3aW4taWNwYy5jbWFrZTogZmlsZSBEYXJ3aW4taWNwYy5jbWFrZSB3YXMKCSAgYWRkZWQgb24gYnJhbmNoIENNYWtlLTItNiBvbiAyMDA4LTA0LTA5IDEyOjQxOjQ3ICswMDAwCgoyMDA4LTAzLTMxIDA4OjA0ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0Rhcndpbi1pY2MuY21ha2U6IGZpbGUgRGFyd2luLWljYy5jbWFrZSB3YXMKCSAgYWRkZWQgb24gYnJhbmNoIENNYWtlLTItNiBvbiAyMDA4LTA0LTA5IDEyOjQxOjQ2ICswMDAwCgoyMDA4LTAzLTMxIDA4OjA0ICBkYXZpZC5jb2xlCgoJKiBNb2R1bGVzL1BsYXRmb3JtLzogRGFyd2luLWljYy5jbWFrZSwgRGFyd2luLWljcGMuY21ha2U6IEVOSDogQWRkCgkgIEludGVsIGNvbXBpbGVyIG1vZHVsZSBmaWxlcyBmb3IgdGhlIE1hYy4gVGhhbmtzIHRvIE1pa2UgSmFja3NvbgoJICBmb3IgY29udHJpYnV0aW5nLgoKMjAwOC0wMy0zMCAyMzo1NyAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAzLTMwIDA5OjA4ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwgQ2hhbmdlTG9nLnR4dCwKCSAgTW9kdWxlcy9DTWFrZUltcG9ydEJ1aWxkU2V0dGluZ3MuY21ha2UsIE1vZHVsZXMvQ1BhY2tEZWIuY21ha2UsCgkgIE1vZHVsZXMvRmluZEN1cnNlcy5jbWFrZSwgTW9kdWxlcy9GaW5kUXQ0LmNtYWtlLAoJICBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbUdsb2JhbEtkZXZlbG9wR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsS2RldmVsb3BHZW5lcmF0b3IuaCwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHgsIFNvdXJjZS9jbVRhcmdldC5jeHgsIFNvdXJjZS9jbWFrZS5jeHgsCgkgIFNvdXJjZS9jbWFrZS5oLCBTb3VyY2UvQ1BhY2svY21DUGFja0RlYkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9RdERpYWxvZy9DTWFrZVNldHVwRGlhbG9nLmN4eCwKCSAgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eCwgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmh4eC5pbiwKCSAgVGVzdHMvRm9ydHJhbi90ZXN0X3VzZV9pbl9jb21tZW50X2ZpeGVkZm9ybS5mOiBFTkg6IG1lcmdlIGZyb20KCSAgbWFpbiB0cmVlCgoyMDA4LTAzLTI5IDIzOjU4ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDMtMjkgMTM6MTYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbWFrZS5oOiBFTkg6IG1ha2Ugc3VyZSBndWkgbm8tZGV2IHdvcmtpcwoKMjAwOC0wMy0yOCAyMzo1OCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAzLTI4IDIwOjIzICBhbGV4CgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja0RlYkdlbmVyYXRvci5jeHg6IEJVRzogZml4IHBhY2thZ2luZyBvZiBmaWxlcwoJICBpbnN0YWxsZWQgdG8gYWJzb2x1dGUgcGF0aHMsIHdvcmtzIG9ubHkgd2hlbiB1c2VkIHdpdGgKCSAgU0VUKENQQUNLX1NFVF9ERVNURElSICJPTiIpCgoJICBBbGV4CgoyMDA4LTAzLTI4IDE5OjA5ICBhbGV4CgoJKiBNb2R1bGVzL0NQYWNrRGViLmNtYWtlOiBTVFlMRTogYWRkIGEgY29tbWEgdG8gbWFrZSBpdCBiZXR0ZXIKCSAgdW5kZXJzdGFuZGFibGUsIGFsc28gdXNlIFNUQVRVUyBhcyB0aGUgb3RoZXIgTUVTU0FHRSgpIGNhbGxzIGRvCgoJICBBbGV4CgoyMDA4LTAzLTI4IDE1OjU5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21ha2UuaDogRU5IOiByZW1vdmUgZGFuZ2Vyb3VzIGFjY2VzcyB0byBpdmFyIHRoYXQgc2hvdWxkCgkgIG5vdCBiZSB1c2VkCgoyMDA4LTAzLTI4IDE1OjU0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEVOSDogZml4IGZvciB0aGUgY29ycmVjdCBwYXRoIHRvCgkgIGNtYWtlCgoyMDA4LTAzLTI4IDE0OjI5ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21ha2UuY3h4OiBFTkg6IHRyeSB0byBmaXggbWFjCgkgIHN5bWxpbmtzIHRvIHRoZSBleGVjdXRhYmxlCgoyMDA4LTAzLTI4IDE0OjA4ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NQYWNrRGViLmNtYWtlOiBFTkg6IGFsbG93IGRlYiB0byB3b3JrIHdpdGhvdXQgZHBrZwoKMjAwOC0wMy0yOCAxNDowNyAga2luZwoKCSogTW9kdWxlcy9DTWFrZUltcG9ydEJ1aWxkU2V0dGluZ3MuY21ha2U6IEVOSDogUGF0Y2ggZnJvbSBNYXRoaWV1CgkgIE1hbGF0ZXJyZSB0byBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgaGlzIHByZXZpb3VzIHBhdGNoIGZvcgoJICBDTWFrZUltcG9ydEJ1aWxkU2V0dGluZ3MuCgoyMDA4LTAzLTI4IDE0OjA0ICBraW5nCgoJKiBUZXN0cy9Gb3J0cmFuL3Rlc3RfdXNlX2luX2NvbW1lbnRfZml4ZWRmb3JtLmY6IEJVRzogRml4IEZvcnRyYW4KCSAgdGVzdCB0byB1c2UgbW9yZSBwb3J0YWJsZSBjb21tZW50IHN5bnRheCBpbiBmaXhlZCBmb3JtYXQgc291cmNlLgoKMjAwOC0wMy0yOCAxMzoyNiAga2luZwoKCSogTW9kdWxlcy9DTWFrZUltcG9ydEJ1aWxkU2V0dGluZ3MuY21ha2U6IEVOSDogUGF0Y2ggZnJvbSBNYXRoaWV1CgkgIE1hbGF0ZXJyZSB0byBhbGxvdyB1c2VycyB0byB0ZWxsIENNYWtlSW1wb3J0QnVpbGRTZXR0aW5ncyB0byBub3QKCSAgZm9yY2UgY29tcGlsZXIgc2V0dGluZ3MuCgoyMDA4LTAzLTI4IDEzOjIyICBraW5nCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IENPTVA6IEFkZCBtaXNzaW5nIG1vZHVsZSBmb3IKCSAgQ0hFQ0tfSU5DTFVERV9GSUxFIG1hY3JvLgoKMjAwOC0wMy0yOCAxMzowNyAga2luZwoKCSogU291cmNlL2NtVGFyZ2V0LmN4eDogRU5IOiBBZGQgbm90ZSB0byBGb3J0cmFuX01PRFVMRV9ESVJFQ1RPUlkKCSAgcHJvcGVydHkgZG9jdW1lbnRhdGlvbiBhYm91dCB1c2luZyBDTUFLRV9Gb3J0cmFuX01PRFVMRV9ESVJFQ1RPUlkKCSAgdG8gaW5pdGlhbGl6ZSBpdC4KCjIwMDgtMDMtMjggMTI6NTMgIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy9DTWFrZVNldHVwRGlhbG9nLmN4eDogRU5IOiAgQmV0dGVyIGRlZmF1bHQgc2l6ZQoJICBmb3IgaGVscCBkaWFsb2cuCgoyMDA4LTAzLTI4IDExOjQ3ICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogQ1BhY2tEZWIuY21ha2U6IEVOSDogcmVtb3ZlIGhhcmQgY29kZWRlZCBhcmNoCgoyMDA4LTAzLTI4IDEwOjEyICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRDdXJzZXMuY21ha2U6IEVOSDogbWFrZSB0aGlzIGJhY2t3YXJkcyBjb21wYXRpYmxlCgkgIHdpdGggb2xkZXIgRmluZEN1cnNlcwoKMjAwOC0wMy0yOCAxMDowOCAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kQ3Vyc2VzLmNtYWtlOiBFTkg6IG1ha2UgdGhpcyBiYWNrd2FyZHMgY29tcGF0aWJsZQoJICB3aXRoIG9sZGVyIEZpbmRDdXJzZXMKCjIwMDgtMDMtMjcgMjM6NTggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wMy0yNyAyMjowMCAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBmaXggZm9yIDY2MTkKCjIwMDgtMDMtMjcgMjE6NTQgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogZml4IGZvciBidWcgNjY2MAoKMjAwOC0wMy0yNyAyMTo1MSAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBmaXggZm9yIGJ1ZyA2NjYxCgoyMDA4LTAzLTI3IDE3OjQwICBhbGV4CgoJKiBTb3VyY2UvOiBjbUdsb2JhbEtkZXZlbG9wR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxLZGV2ZWxvcEdlbmVyYXRvci5oOiBDT01QOiBmaXggd2FybmluZyBhYm91dCB1bnVzZWQgbWYKCSAgLSJtYWtlIFZFUkJPU0U9MSA8dGFyZ2V0PiIgc2hvdWxkIGJlIG1vcmUgcG9ydGFibGUgdGhhbgoJICAiVkVSQk9TRT0xIG1ha2UgPHRhcmdldD4iLCBzaW5jZSBpdCBkb2Vzbid0IHJlbHkgb24gdGhlIHNoZWxsLAoJICBzaG91bGRuJ3QgaXQgPwoKCSAgQWxleAoKMjAwOC0wMy0yNyAxNzowNSAgaG9mZm1hbgoKCSogU291cmNlLzogY21ha2UuY3h4LCBrd3N5cy9TeXN0ZW1Ub29scy5jeHgsCgkgIGt3c3lzL1N5c3RlbVRvb2xzLmh4eC5pbjogQlVHOiBmaXggaW5zdGFsbCBwcm9ibGVtIG9uIG1ha2UgYW5kCgkgIGFsbG93IHN5bWxpbmtzIHRvIGNtYWtlIGJpbiBkaXJlY3RvcnkKCjIwMDgtMDMtMjcgMTU6MzMgIGFsZXgKCgkqIFNvdXJjZS9jbUdsb2JhbEtkZXZlbG9wR2VuZXJhdG9yLmN4eDogRU5IOiAtZW5hYmxlIGNvbG9yZWQgb3V0cHV0CgkgIHdpdGggdGhlIGtkZXZlbG9wIGdlbmVyYXRvciAtY3JlYXRlIG5vbi12ZXJib3NlIG1ha2VmaWxlcyBhbmQKCSAgaGF2ZSBrZGV2ZWxvcCBjYWxsICJWRVJCT1NFPTEgbWFrZSIgaW5zdGVhZAoKCSAgQWxleAoKMjAwOC0wMy0yNyAxNToxOCAgY2xpbnRvbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOgoJICBFTkg6CUFkZCBRVF9WRVJTSU9OX01BSk9SLCBRVF9WRVJTSU9OX01JTk9SLCBRVF9WRVJTSU9OX1BBVENICgkgIHZhcmlhYmxlcy4KCjIwMDgtMDMtMjcgMTM6MzAgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy50eHQ6IEVOSDogcmVtb3ZlIERhc2hib2FyZFNjcmlwdHMgYW5kIENNYWtlV2ViIGZyb20gdGhlCgkgIGNoYW5nZSBsb2cKCjIwMDgtMDMtMjcgMTM6MjcgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy50eHQ6IEVOSDogY2hlY2sgaW4gbmV3IGNoYW5nZSBsb2cgZm9yIDIuNgoKMjAwOC0wMy0yNyAxMToxNiAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIE1vZHVsZXMvQ1BhY2suY21ha2UsCgkgIFNvdXJjZS9jbUluc3RhbGxDb21tYW5kQXJndW1lbnRzLmN4eCwgU291cmNlL2NtYWtlLmN4eDogRU5IOgoJICBtZXJnZSBpbiBmcm9tIG1haW4gdHJlZQoKMjAwOC0wMy0yNiAyMzo1OCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAzLTI2IDIyOjM0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IGNsZWFuIHVwIGFubm95aW5nIG91dHB1dCBmcm9tIHJjIHRvb2wgaW4KCSAgVlM5CgoyMDA4LTAzLTI2IDIwOjEyICBhbGV4CgoJKiBNb2R1bGVzL0NQYWNrLmNtYWtlOiBFTkg6IHVzZSBDUEFDS19QQUNLQUdFX1ZFUlNJT04gaW5zdGVhZCBvZgoJICBDUEFDS19QQUNLQUdFX1ZFUlNJT05fTUFKT1IuQ1BBQ0tfUEFDS0FHRV9WRVJTSU9OX01JTk9SLkNQQUNLX1BBQ0tBR0VfVkVSU0lPTl9QQVRDSAoJICBmb3IgY3JlYXRpbmcgdGhlIHBhY2thZ2UgZmlsZSBuYW1lCgoJICBBbGV4CgoyMDA4LTAzLTI2IDE4OjMwICBhbGV4CgoJKiBTb3VyY2UvY21JbnN0YWxsQ29tbWFuZEFyZ3VtZW50cy5jeHg6IEJVRzogZml4IHRoZSBkZWZhdWx0CgkgICJVbnNwZWNpZmllZCIgY29tcG9uZW50IHdoZW4gb25seSB0aGUgZ2VuZXJpYyAoaS5lLiBub3QgUlVOVElNRSwKCSAgQVJDSElWRSwgTElCUkFSWSwgZXRjLikgYXJndW1lbnRzIGFyZSBnaXZlbi4KCgkgIElmIHRoZSBjb21wb25lbnQgb2YgYSBwYXJ0IG9mIGEgdGFyZ2V0IGlzIHF1ZXJpZWQsIHJldHVybiB0aGUKCSAgc3BlY2lmaWMgb25lLCBpZiBhIHNwZWNpZmljIG9uZSBoYXNuJ3QgYmVlbiBzZXQsIHJldHVybiB0aGUKCSAgZ2VuZXJpYyBvbmUsIGlmIHRoYXQgaGFzbid0IGJlZW4gc2V0LCByZXR1cm4gIlVuc3BlY2lmaWVkIi4KCgkgIEFsZXgKCjIwMDgtMDMtMjYgMTU6NTUgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogdjIwbjE3X2FpeF9yZWxlYXNlLmNtYWtlLAoJICB2b2dvbl9yZWxlYXNlX3F0LmNtYWtlOiBFTkg6CgoyMDA4LTAzLTI2IDE0OjA4ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgTW9kdWxlcy9DTWFrZUphdmFJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kU3VidmVyc2lvbi5jbWFrZSwgU291cmNlL2NtQ29yZVRyeUNvbXBpbGUuY3h4OiBFTkg6CgkgIG1lcmdlIGluIGZyb20gbWFpbiB0cmVlCgoyMDA4LTAzLTI2IDEzOjUwICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Db3JlVHJ5Q29tcGlsZS5jeHg6IEVOSDogbWFrZSBzdXJlIG51bUF0dGVtcHRzIGlzCgkgIGluY3JlbWVudGVkCgoyMDA4LTAzLTI2IDEzOjE0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Db3JlVHJ5Q29tcGlsZS5jeHg6IEVOSDogdHJ5IHRvIGZpeCBkYXNoYm9hcmQgaXNzdWUgd2l0aAoJICBub3QgYmVpbmcgYWJsZSB0byByZW1vdmUgdHJ5IGNvbXBpbGUgY29kZQoKMjAwOC0wMy0yNSAyMzo1OCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAzLTI1IDE5OjU4ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgVGVzdHMvQXNzZW1ibGVyL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9CdWlsZERlcGVuZHMvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0J1bmRsZVRlc3QvQ01ha2VMaXN0cy50eHQsIFRlc3RzL0NPbmx5L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9DVGVzdFRlc3QvQ01ha2VMaXN0cy50eHQsIFRlc3RzL0NUZXN0VGVzdDIvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbW1hbmRMaW5lVGVzdC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29udkxpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0N1c3RDb21EZXBlbmQvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0N1c3RvbUNvbW1hbmQvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0N1c3RvbUNvbW1hbmRXb3JraW5nRGlyZWN0b3J5L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9EZXBlbmRlbmN5L0NNYWtlTGlzdHMudHh0LCBUZXN0cy9Eb2NUZXN0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9FeHBvcnRJbXBvcnQvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0V4cG9ydEltcG9ydC9FeHBvcnQvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0V4cG9ydEltcG9ydC9JbXBvcnQvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0V4dGVybmFsT0JKL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9FeHRlcm5hbE9CSi9PYmplY3QvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRm9ydHJhbi9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvRnJhbWV3b3JrL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9GdW5jdGlvblRlc3QvQ01ha2VMaXN0cy50eHQsIFRlc3RzL0phdmEvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0p1bXAvQ01ha2VMaXN0cy50eHQsIFRlc3RzL0xvYWRDb21tYW5kL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Mb2FkQ29tbWFuZE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvTG9hZENvbW1hbmQvQ01ha2VDb21tYW5kcy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvTG9hZENvbW1hbmRPbmVDb25maWcvQ01ha2VDb21tYW5kcy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvTWFjcm9UZXN0L0NNYWtlTGlzdHMudHh0LCBUZXN0cy9NYWtlQ2xlYW4vQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL01hdGhUZXN0L0NNYWtlTGlzdHMudHh0LCBUZXN0cy9OZXdsaW5lQXJncy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvT3V0T2ZTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFRlc3RzL1BsdWdpbi9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvUHJlY29tcGlsZWRIZWFkZXIvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1Byb3BlcnRpZXMvQ01ha2VMaXN0cy50eHQsIFRlc3RzL1JldHVyblRlc3QvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1J1bnRpbWVQYXRoL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9TYW1lTmFtZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU2V0TGFuZy9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvU2ltcGxlRXhjbHVkZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Tb3VyY2VHcm91cHMvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1N0cmluZ0ZpbGVUZXN0L0NNYWtlTGlzdHMudHh0LCBUZXN0cy9TdWJEaXIvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1N1YkRpci9FeGFtcGxlcy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU3ViRGlyL0V4YW1wbGVzL2V4YW1wbGUxL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TdWJEaXJTcGFjZXMvQ01ha2VMaXN0cy50eHQsIFRlc3RzL1N1YkRpclNwYWNlcy9Tb21lCgkgIEV4YW1wbGVzL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9TdWJEaXJTcGFjZXMvU29tZQoJICBFeGFtcGxlcy9leGFtcGxlMS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU3ViUHJvamVjdC9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvU3dpZ1Rlc3QvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1N5c3RlbUluZm9ybWF0aW9uL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9UYXJUZXN0L0NNYWtlTGlzdHMudHh0LCBUZXN0cy9UYXJnZXROYW1lL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9UZXN0RHJpdmVyL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9UZXN0aW5nL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9UcnlDb21waWxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9UdXRvcmlhbC9TdGVwMS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvVHV0b3JpYWwvU3RlcDIvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1R1dG9yaWFsL1N0ZXAzL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9UdXRvcmlhbC9TdGVwNC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvVHV0b3JpYWwvU3RlcDUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1R1dG9yaWFsL1N0ZXA2L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9UdXRvcmlhbC9TdGVwNy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvVlNFeHRlcm5hbEluY2x1ZGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1dyYXBwaW5nL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9YMTEvQ01ha2VMaXN0cy50eHQ6IEVOSDoKCSAgbWVyZ2UgaW4gZnJvbSBtYWluIHRyZWUKCjIwMDgtMDMtMjUgMTQ6MzcgIG1hcnRpbmsKCgkqIFRlc3RzL0V4dGVybmFsT0JKL0NNYWtlTGlzdHMudHh0OiBCVUc6IG1ha2UgdGVzdCBtb3JlIHJvYnVzdAoKMjAwOC0wMy0yNSAxNDoxNSAgbWFydGluawoKCSogVGVzdHMvRXh0ZXJuYWxPQkovQ01ha2VMaXN0cy50eHQ6IEJVRzogYWRkIGRlYnVnZ2luZyBpbnRvIHRvCgkgIGNoZWNrIG91dCBhIHByb2JsZW0KCjIwMDgtMDMtMjUgMTE6MjYgIG1hcnRpbmsKCgkqIFRlc3RzLzogQXNzZW1ibGVyL0NNYWtlTGlzdHMudHh0LCBCdWlsZERlcGVuZHMvQ01ha2VMaXN0cy50eHQsCgkgIEJ1bmRsZVRlc3QvQ01ha2VMaXN0cy50eHQsIENPbmx5L0NNYWtlTGlzdHMudHh0LAoJICBDVGVzdFRlc3QvQ01ha2VMaXN0cy50eHQsIENUZXN0VGVzdDIvQ01ha2VMaXN0cy50eHQsCgkgIENvbW1hbmRMaW5lVGVzdC9DTWFrZUxpc3RzLnR4dCwgQ29udkxpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIEN1c3RDb21EZXBlbmQvQ01ha2VMaXN0cy50eHQsIEN1c3RvbUNvbW1hbmQvQ01ha2VMaXN0cy50eHQsCgkgIEN1c3RvbUNvbW1hbmRXb3JraW5nRGlyZWN0b3J5L0NNYWtlTGlzdHMudHh0LAoJICBEZXBlbmRlbmN5L0NNYWtlTGlzdHMudHh0LCBEb2NUZXN0L0NNYWtlTGlzdHMudHh0LAoJICBFeHBvcnRJbXBvcnQvQ01ha2VMaXN0cy50eHQsIEV4cG9ydEltcG9ydC9FeHBvcnQvQ01ha2VMaXN0cy50eHQsCgkgIEV4cG9ydEltcG9ydC9JbXBvcnQvQ01ha2VMaXN0cy50eHQsIEV4dGVybmFsT0JKL0NNYWtlTGlzdHMudHh0LAoJICBFeHRlcm5hbE9CSi9PYmplY3QvQ01ha2VMaXN0cy50eHQsCgkgIEZpbmRQYWNrYWdlVGVzdC9DTWFrZUxpc3RzLnR4dCwgRm9ydHJhbi9DTWFrZUxpc3RzLnR4dCwKCSAgRnJhbWV3b3JrL0NNYWtlTGlzdHMudHh0LCBGdW5jdGlvblRlc3QvQ01ha2VMaXN0cy50eHQsCgkgIEphdmEvQ01ha2VMaXN0cy50eHQsIEp1bXAvQ01ha2VMaXN0cy50eHQsCgkgIExvYWRDb21tYW5kL0NNYWtlTGlzdHMudHh0LCBMb2FkQ29tbWFuZE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgTG9hZENvbW1hbmQvQ01ha2VDb21tYW5kcy9DTWFrZUxpc3RzLnR4dCwKCSAgTG9hZENvbW1hbmRPbmVDb25maWcvQ01ha2VDb21tYW5kcy9DTWFrZUxpc3RzLnR4dCwKCSAgTWFjcm9UZXN0L0NNYWtlTGlzdHMudHh0LCBNYWtlQ2xlYW4vQ01ha2VMaXN0cy50eHQsCgkgIE1hdGhUZXN0L0NNYWtlTGlzdHMudHh0LCBOZXdsaW5lQXJncy9DTWFrZUxpc3RzLnR4dCwKCSAgT3V0T2ZTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFBsdWdpbi9DTWFrZUxpc3RzLnR4dCwKCSAgUHJlY29tcGlsZWRIZWFkZXIvQ01ha2VMaXN0cy50eHQsIFByb3BlcnRpZXMvQ01ha2VMaXN0cy50eHQsCgkgIFJldHVyblRlc3QvQ01ha2VMaXN0cy50eHQsIFJ1bnRpbWVQYXRoL0NNYWtlTGlzdHMudHh0LAoJICBTYW1lTmFtZS9DTWFrZUxpc3RzLnR4dCwgU2V0TGFuZy9DTWFrZUxpc3RzLnR4dCwKCSAgU2ltcGxlRXhjbHVkZS9DTWFrZUxpc3RzLnR4dCwgU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0LCBTb3VyY2VHcm91cHMvQ01ha2VMaXN0cy50eHQsCgkgIFN0cmluZ0ZpbGVUZXN0L0NNYWtlTGlzdHMudHh0LCBTdWJEaXIvQ01ha2VMaXN0cy50eHQsCgkgIFN1YkRpci9FeGFtcGxlcy9DTWFrZUxpc3RzLnR4dCwKCSAgU3ViRGlyL0V4YW1wbGVzL2V4YW1wbGUxL0NNYWtlTGlzdHMudHh0LAoJICBTdWJEaXJTcGFjZXMvQ01ha2VMaXN0cy50eHQsIFN1YkRpclNwYWNlcy9Tb21lCgkgIEV4YW1wbGVzL0NNYWtlTGlzdHMudHh0LCBTdWJEaXJTcGFjZXMvU29tZQoJICBFeGFtcGxlcy9leGFtcGxlMS9DTWFrZUxpc3RzLnR4dCwgU3ViUHJvamVjdC9DTWFrZUxpc3RzLnR4dCwKCSAgU3dpZ1Rlc3QvQ01ha2VMaXN0cy50eHQsIFN5c3RlbUluZm9ybWF0aW9uL0NNYWtlTGlzdHMudHh0LAoJICBUYXJUZXN0L0NNYWtlTGlzdHMudHh0LCBUYXJnZXROYW1lL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0RHJpdmVyL0NNYWtlTGlzdHMudHh0LCBUZXN0aW5nL0NNYWtlTGlzdHMudHh0LAoJICBUcnlDb21waWxlL0NNYWtlTGlzdHMudHh0LCBUdXRvcmlhbC9TdGVwMS9DTWFrZUxpc3RzLnR4dCwKCSAgVHV0b3JpYWwvU3RlcDIvQ01ha2VMaXN0cy50eHQsIFR1dG9yaWFsL1N0ZXAzL0NNYWtlTGlzdHMudHh0LAoJICBUdXRvcmlhbC9TdGVwNC9DTWFrZUxpc3RzLnR4dCwgVHV0b3JpYWwvU3RlcDUvQ01ha2VMaXN0cy50eHQsCgkgIFR1dG9yaWFsL1N0ZXA2L0NNYWtlTGlzdHMudHh0LCBUdXRvcmlhbC9TdGVwNy9DTWFrZUxpc3RzLnR4dCwKCSAgVlNFeHRlcm5hbEluY2x1ZGUvQ01ha2VMaXN0cy50eHQsIFdyYXBwaW5nL0NNYWtlTGlzdHMudHh0LAoJICBYMTEvQ01ha2VMaXN0cy50eHQ6IEVOSDogcHJlY2xlYW4gc29tZSB3YXJuaW5ncwoKMjAwOC0wMy0yNSAxMDoxMSAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogRU5IOiBmaXggZm9yIHdhdGNvbQoJICBjYW4ndCB1c2UgcGhvbnkKCjIwMDgtMDMtMjQgMjM6NTggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wMy0yNCAxODoyMyAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIE1vZHVsZXMvRmluZEJMQVMuY21ha2UsIE1vZHVsZXMvRmluZEtERTQuY21ha2UsCgkgIE1vZHVsZXMvRmluZExBUEFDSy5jbWFrZSwgTW9kdWxlcy9GaW5kTVBJLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRRdDQuY21ha2UsIE1vZHVsZXMvRmluZFN1YnZlcnNpb24uY21ha2UsCgkgIFNvdXJjZS9jbUNNYWtlTWluaW11bVJlcXVpcmVkLmN4eCwKCSAgU291cmNlL2NtQ01ha2VQb2xpY3lDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5jeHgsIFNvdXJjZS9jbUNvcmVUcnlDb21waWxlLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFNvdXJjZS9jbUlmQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUlmQ29tbWFuZC5oLAoJICBTb3VyY2UvY21MaXN0RmlsZUNhY2hlLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwgU291cmNlL2NtUG9saWNpZXMuY3h4LAoJICBTb3VyY2UvY21ha2UuY3h4LCBTb3VyY2UvY21ha2UuaCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4LAoJICBUZXN0cy9Db21wbGV4L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvTWFrZUNsZWFuL1RvQ2xlYW4vQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1ByZXByb2Nlc3MvQ01ha2VMaXN0cy50eHQ6IEVOSDogbWVyZ2UgaW4gZnJvbSBDVlMKCjIwMDgtMDMtMjQgMTU6NDEgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZE1QSS5jbWFrZTogRU5IOiByZW1vdmUgdXNlIG9mIHVuZGVmaW5lZCBjZHIKCjIwMDgtMDMtMjQgMTU6NDAgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogRU5IOiBmaXggaWYKCjIwMDgtMDMtMjQgMTE6NDkgIGFsaW4uZWxlbmEKCgkqIE1vZHVsZXMvOiBGaW5kQkxBUy5jbWFrZSwgRmluZExBUEFDSy5jbWFrZTogRU5IOgoJICBGaW5kQkxBUy5jbWFrZSZGaW5kTEFQQUNLIHVwZGF0ZWQgdG8gc3VwcG9ydCBpbnRlbCBta2wgMTAKCjIwMDgtMDMtMjQgMTA6NTYgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ01ha2VNaW5pbXVtUmVxdWlyZWQuY3h4LCBjbUNNYWtlUG9saWN5Q29tbWFuZC5jeHgsCgkgIGNtUG9saWNpZXMuY3h4OiBFTkg6IENsZWFudXAgcG9saWN5IHZlcnNpb24gaW50ZXJmYWNlIHByZXNlbnRlZAoJICB0byB1c2VyLgoKCSAgICAtIEluIGNtYWtlX21pbmltdW1fcmVxdWlyZWQgZG8gbm90IHNldCBwb2xpY3kgdmVyc2lvbiBpZgoJICBjdXJyZW50CgkgICAgICBDTWFrZSBpcyB0b28gb2xkCgkgICAgLSBJbiBjbVBvbGljaWVzOjpBcHBseVBvbGljeVZlcnNpb24gcmVwb3J0IGVycm9yIGlmIHZlcnNpb24gaXMKCSAgdG9vCgkgICAgICBuZXcgb3IgY2Fubm90IGJlIHBhcnNlZAoKMjAwOC0wMy0yNCAxMDoyNiAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBFTkg6IGFkZCBQSE9OWSB0YXJnZXRzCgoyMDA4LTAzLTIzIDIzOjU4ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDMtMjIgMjM6NTggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wMy0yMiAxMDoyNCAgaG9mZm1hbgoKCSogU291cmNlLzogY21ha2UuaCwgY21ha2UuY3h4OiBFTkg6IG1ha2Ugc3VyZSAtV25vLWRldiBzdGlja3Mgc28KCSAgbWFrZSByZWJ1aWxkX2NhY2hlIHdpbGwgd29yawoKMjAwOC0wMy0yMSAyMzo1OCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAzLTIwIDIzOjU5ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDMtMjAgMjE6MTEgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5jeHgsCgkgIGNtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5oLCBjbVBvbGljaWVzLmN4eDogRU5IOiBZZXQgYW5vdGhlcgoJICBhdHRlbXB0IGF0IHdhcm5pbmcgZm9yIENNUDAwMDMuCgoJICAgIC0gR2l2ZSBleGFtcGxlIGNvZGUgdG8gYXZvaWQgdGhlIHdhcm5pbmcKCSAgICAtIE1ha2UgZXhwbGFuYXRpb24gbW9yZSBjb25zaXNlCgkgICAgLSBFeHBsaWNpdGx5IHN0YXRlIHRoaXMgaXMgZm9yIGNvbXBhdGliaWxpdHkKCSAgICAtIElzc3VlIHRoZSB3YXJuaW5nIGZvciBhdCBtb3N0IG9uZSB0YXJnZXQKCjIwMDgtMDMtMjAgMTg6MjUgIGtpbmcKCgkqIFNvdXJjZS9jbUlmQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUlmQ29tbWFuZC5oLAoJICBUZXN0cy9Db21wbGV4L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dDogRU5IOiBBZGQgImlmKFBPTElDWQoJICBwb2xpY3ktaWQpIiBvcHRpb24gZm9yIElGIGNvbW1hbmQuCgoJICAgIC0gVGhpcyB3aWxsIGhlbHAgcHJvamVjdHMgc3VwcG9ydCBtdWx0aXBsZSBDTWFrZSB2ZXJzaW9ucy4KCSAgICAtIEluIG9yZGVyIHRvIHNldCBhIHBvbGljeSB3aGVuIHVzaW5nIGEgbmV3ZXIgQ01ha2UgYnV0IHN0aWxsCgkgICAgICB3b3JraW5nIHdpdGggYW4gb2xkZXIgQ01ha2Ugb25lIG1heSB3cml0ZQoJCWlmKFBPTElDWSBDTVAxMjM0KQoJCSAgY21ha2VfcG9saWN5KFNFVCBDTVAxMjM0IE5FVykKCQllbmRpZihQT0xJQ1kgQ01QMTIzNCkKCSAgICAtIE5vdGUgdGhhdCBzaW5jZSBDTWFrZSAyLjQgZG9lcyBub3QgaGF2ZSBpZihQT0xJQ1kpIHN1cHBvcnRpbmcKCSAgICAgIGl0IHdpbGwgYWxzbyByZXF1aXJlIHVzaW5nICJpZihDT01NQU5EIGNtYWtlX3BvbGljeSkiCgoyMDA4LTAzLTIwIDE4OjI1ICBraW5nCgoJKiBUZXN0cy86IE1ha2VDbGVhbi9Ub0NsZWFuL0NNYWtlTGlzdHMudHh0LAoJICBQcmVwcm9jZXNzL0NNYWtlTGlzdHMudHh0OiBCVUc6IENvbnZlcnQgY21ha2VfcG9saWN5KFZFUlNJT04pIHRvCgkgIGNtYWtlX21pbmltdW1fcmVxdWlyZWQoVkVSU0lPTikgaW4KCSAgVGVzdHMvTWFrZUNsZWFuL1RvQ2xlYW4vQ01ha2VMaXN0cy50eHQgYW5kCgkgIFRlc3RzL1ByZXByb2Nlc3MvQ01ha2VMaXN0cy50eHQuICBDTVAwMDAwIG5vdyByZXF1aXJlcyB0aGUKCSAgY21ha2VfbWluaW11bV9yZXF1aXJlZCBjb21tYW5kLgoKMjAwOC0wMy0yMCAxMTo0NCAgZGF2aWQuY29sZQoKCSogTW9kdWxlcy9GaW5kU3VidmVyc2lvbi5jbWFrZTogQlVHOiBSZW1vdmUgcmVmZXJlbmNlIHRvCgkgIFBST0pFQ1RfU09VUkNFX0RJUiBzbyB0aGF0IHRoZSBTdWJ2ZXJzaW9uX1dDX0lORk8gbWFjcm8gbWF5IGJlCgkgIGNhbGxlZCBmcm9tIGEgY3Rlc3Qgb3IgY21ha2Ugc2NyaXB0LgoKMjAwOC0wMy0yMCAxMDo0NiAgbWFydGluawoKCSogU291cmNlL2NtTGlzdEZpbGVDYWNoZS5jeHg6IEVOSDogdGlueSBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudAoKMjAwOC0wMy0yMCAxMDo0MCAgbWFydGluawoKCSogU291cmNlL2NtTGlzdEZpbGVDYWNoZS5jeHg6IEVOSDogc21hbGwgc2ltcGxlIHByb2plY3RzIGRvIG5vdAoJICBuZWVkIHRvIHNwZWNpZnkgY21ha2UgbWluaW11bSByZXF1aXJlZAoKMjAwOC0wMy0yMCAxMDoxMSAga2luZwoKCSogU291cmNlL2NtYWtlLmN4eDogRU5IOiBDbGFyaWZ5IGVuZCBvZiAoZGV2KSB3YXJuaW5ncyB0bwoJICBleHBsaWNpdGx5IHN0YXRlIHRoZXkgYXJlIG1lYW50IGZvciBwcm9qZWN0IGRldmVsb3BlcnMuCgoyMDA4LTAzLTE5IDIzOjU5ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDMtMTkgMTY6MTQgIGNsaW50b24KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZToKCSAgQlVHOglGaXggaXNzdWUgd2hlbiBRdCBmcm9tIExpbnV4IGRpc3RybyBpcyB1c2VkCSAgYW5kIGdsaWIKCSAgYW5kIGRidXMgZGV2ZWxvcG1lbnQgcGFja2FnZXMgYXJlbid0IGluc3RhbGxlZC4KCjIwMDgtMDMtMTkgMTU6NDQgIGtpbmcKCgkqIFNvdXJjZS9jbUNvcmVUcnlDb21waWxlLmN4eDogQlVHOiBDaGFuZ2UgZ2VuZXJhdGVkIHRyeS1jb21waWxlCgkgIHByb2plY3RzIHRvIHVzZSBjbWFrZV9taW5pbXVtX3JlcXVpcmVkIGluc3RlYWQgb2YgY21ha2VfcG9saWN5IHRvCgkgIHNldCB0aGUgdmVyc2lvbiBub3cgdGhhdCBDTVAwMDAwIHJlcXVpcmVzIGl0LgoKMjAwOC0wMy0xOSAxNToyNyAgY2xpbnRvbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOiBCVUc6ICBEb24ndCBjbGVhciBvdXRwdXQgc3RyaW5ncyBiZWZvcmUKCSAgdXNpbmcuCgoyMDA4LTAzLTE5IDE1OjE4ICBraW5nCgoJKiBTb3VyY2UvOiBjbUxpc3RGaWxlQ2FjaGUuY3h4LCBjbVBvbGljaWVzLmN4eDogRU5IOiBJbXByb3ZlCgkgIHdhcm5pbmcgYWJvdXQgc3BlY2lmeWluZyBhIGNtYWtlIHZlcnNpb24KCgkgICAgLSBVcGRhdGUgcG9saWN5IENNUDAwMDAgdG8gcmVxdWlyZSB1c2Ugb2YgdGhlIGNvbW1hbmQKCSAgICAgIGNtYWtlX21pbmltdW1fcmVxdWlyZWQgYW5kIG5vdCBjbWFrZV9wb2xpY3kKCSAgICAgIHNvIHRoZXJlIGlzIG9ubHkgb25lIHdheSB0byBhdm9pZCBpdC4KCSAgICAtIEV4cGxpY2l0bHkgc3BlY2lmeSB0aGUgbGluZSB1c2VycyBzaG91bGQgYWRkLgoJICAgIC0gUmVmZXJlbmNlIHBvbGljeSBDTVAwMDAwIG9ubHkgYXQgdGhlIGVuZC4KCSAgICAtIEZpeCBwb2xpY3kgQ01QMDAwMCBkb2N1bWVudGF0aW9uIHRvIG5vdCBzdWdnZXN0CgkgICAgICB1c2Ugb2YgdGhlIGNtYWtlX3BvbGljeSBjb21tYW5kLgoKMjAwOC0wMy0xOSAxNDozMiAga2luZwoKCSogU291cmNlL2NtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5jeHg6IEVOSDogQ2xhcmlmeSB3YXJuaW5nIGZvcgoJICBwb2xpY3kgQ01QMDAwMyBmdXJ0aGVyLgoKMjAwOC0wMy0xOSAxMToxOCAgZGF2aWQuY29sZQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4OiBCVUc6IE1pc3NpbmcgYSBsaW5rZXIKCSAgY3Jhc2hlZCBlcnJvciBtYXRjaGluZyBzdHJpbmcuCgoyMDA4LTAzLTE5IDA5OjE0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmN4eDogRU5IOiBkbyBub3Qgd2FybiBhYm91dAoJICBmcmFtZXdvcmtzIGFzIHRoZXkgYXJlIG5vdCBhZmZlY3RlZCBieSAtTCBhbnl3YXkKCjIwMDgtMDMtMTggMjM6NTkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wMy0xOCAyMToyMiAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQ6IEVOSDogZm9yZ290IHRvIGNoZWNrIHRoaXMgaW4sIG5lZWQgdG8gY2hhbmdlIHRoZQoJICB2ZXJzaW9uIGluIENWUwoKMjAwOC0wMy0xOCAxODozNyAgY2xpbnRvbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOgoJICBTVFlMRTogIEltcHJvdmUgZG9jdW1lbnRhdGlvbiBieSBleHBhbmRpbmcgb24gaG93IFVzZVF0NC5jbWFrZQoJICBmaXRzIGluLgoKMjAwOC0wMy0xOCAxNzo1NCAgYWxleAoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOiBTVFlMRTogZml4IGRvY3VtZW50YXRpb24gYWdhaW46CgkgIFFUX0xJQlJBUklFUyBleGlzdHMgaWYgeW91IHVzZSBRdDQgdmlhIFVzZVF0NC5jbWFrZQoKCSAgQWxleAoKMjAwOC0wMy0xOCAxNzozMiAgaG9mZm1hbgoKCSogU291cmNlLzogY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmN4eCwKCSAgY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmg6IEVOSDogdHJ5IHRvIHJlZHVjZSB0aGUgbnVtYmVyIG9mCgkgIENNUDAwMDMgd2FybmluZ3MgdGhhdCBwZW9wbGUgc2VlLiAgT25seSByZXBvcnQgdGhlbSBmb3IgdW5pcXVlCgkgIHNldHMgb2YgbGlicmFyaWVzIHdpdGggbm8gZnVsbCBwYXRoLglBbHNvIGFkZCBhIG1lc3NhZ2UKCSAgZXhwbGFpbmluZyB0aGUgY291cnNlIG9mIGFjdGlvbiB0aGF0IHNob3VsZCBiZSB0YWtlbgoKMjAwOC0wMy0xOCAxNzoyNiAgYWxleAoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOiBTVFlMRTogZml4IGRvY3VtZW50YXRpb24sIFFUX0xJQlJBUklFUwoJICBkb2Vzbid0IGV4aXN0LCBhbmQgYWxzbyBkaWRuJ3QgZXhpc3QgaW4gY21ha2UgMi40LjMsIHRoZSBmaXJzdAoJICBzdGFibGUgY21ha2UgMi40LnggcmVsZWFzZQoKCSAgQWxleAoKMjAwOC0wMy0xOCAxNjozMCAgY2xpbnRvbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOgoJICBFTkg6CVNhdGlzZnkgUXREQnVzIGRlcGVuZGVuY2llcyBmb3IgYnVpbGRzIHdpdGggc3RhdGljIFF0LgoJICBGaW5pc2ggZml4IGZvciAjNjYwNy4KCjIwMDgtMDMtMTggMTE6NTEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEVOSDogZXhjbHVkZSBib3JsYW5kCgkgIG1ha2UgYXMgd2VsbAoKMjAwOC0wMy0xOCAxMToyOCAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogRU5IOiB0dXJuIG9mZiBleHRyYQoJICBydWxlcyBmb3Igbm1ha2UgYW5kIHdtYWtlCgoyMDA4LTAzLTE4IDExOjExICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dDogRU5IOiBzZXQgdGhlIHZlcnNpb24gb24gMi42CgoyMDA4LTAzLTE4IDEwOjIzICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgTW9kdWxlcy9DVGVzdC5jbWFrZSwgTW9kdWxlcy9GaW5kS0RFNC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kUGFja2FnZUhhbmRsZVN0YW5kYXJkQXJncy5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kUGFja2FnZU1lc3NhZ2UuY21ha2UsIE1vZHVsZXMvRmluZFF0NC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kWDExLmNtYWtlLCBNb2R1bGVzL1VzZVF0NC5jbWFrZSwKCSAgTW9kdWxlcy9WVEtDb21wYXRpYmlsaXR5LmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL0xpbnV4LUdOVS1Gb3J0cmFuLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL0xpbnV4LWlmb3J0LmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2UsCgkgIFNvdXJjZS9jbUNNYWtlTWluaW11bVJlcXVpcmVkLmgsIFNvdXJjZS9jbUNNYWtlUG9saWN5Q29tbWFuZC5oLAoJICBTb3VyY2UvY21Db21wdXRlTGlua0RlcGVuZHMuY3h4LCBTb3VyY2UvY21Db21wdXRlTGlua0RlcGVuZHMuaCwKCSAgU291cmNlL2NtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5jeHgsCgkgIFNvdXJjZS9jbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uaCwKCSAgU291cmNlL2NtRG9jdW1lbnRWYXJpYWJsZXMuY3h4LCBTb3VyY2UvY21FeHBvcnRGaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTGlzdENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbVBvbGljaWVzLmN4eCwgU291cmNlL2NtUG9saWNpZXMuaCwKCSAgU291cmNlL2NtU291cmNlRmlsZUxvY2F0aW9uLmN4eCwgU291cmNlL2NtVGFyZ2V0LmN4eCwKCSAgU291cmNlL2NtVGFyZ2V0LmgsIFNvdXJjZS9RdERpYWxvZy9DTWFrZVNldHVwLmN4eCwKCSAgU291cmNlL1F0RGlhbG9nL0NNYWtlU2V0dXBEaWFsb2cuY3h4LAoJICBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZSwKCSAgVXRpbGl0aWVzL2NtY3VybC9DTWFrZUxpc3RzLnR4dDogRU5IOiBtb3ZlIGhlYWQgdG8gYnJhbmNoCgoyMDA4LTAzLTE4IDEwOjAyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBFTkg6IHRyeSB0byBpbXByb3ZlCgkgIG1ha2Ugc3BlZWQgYnkgZ2V0dGluZyByaWQgb2Ygc29tZSBpbXBsaWNpdCBydWxlcyB0aGF0IHdlcmUgc3RpbGwKCSAgYXJvdW5kLgoKMjAwOC0wMy0xNyAyMzo1OSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAzLTE3IDIwOjMwICBraW5nCgoJKiBTb3VyY2UvY21DTWFrZVBvbGljeUNvbW1hbmQuaDogRU5IOiBJbXByb3ZlIGRvY3VtZW50YXRpb24gb2YKCSAgY21ha2VfcG9saWN5IGNvbW1hbmQuCgoJICAgIC0gQWRkIGEgcGFyYWdyYXBoIGludHJvZHVjaW5nIHRoZSBwb2xpY3kgbWVjaGFuaXNtCgkgICAgLSBFeHBsaWNpdGx5IGludHJvZHVjZSB0aGUgQ01QPE5OTk4+LCBPTEQsIGFuZCBORVcgbm90YXRpb24KCSAgICAtIE5vdGUgdGhhdCBzZXR0aW5nIHBvbGljaWVzIGJ5IENNYWtlIHZlcnNpb24gaXMgcHJlZmVycmVkCgkgICAgLSBGaXggU0VUIHNpZ25hdHVyZSB0byB1c2UgQ01QPE5OTk4+IG5vdGF0aW9uCgkgICAgLSBBZGQgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBwb2xpY3kgc3RhY2sKCjIwMDgtMDMtMTcgMTY6MjIgIGtpbmcKCgkqIENNYWtlTGlzdHMudHh0LCBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQsCgkgIFV0aWxpdGllcy9jbWN1cmwvQ01ha2VMaXN0cy50eHQ6IEVOSDogU2V0IENNYWtlIFBvbGljeSBDTVAwMDAzIHRvCgkgIE5FVyBiZWhhdmlvciB0byBidWlsZCB3aXRob3V0IHdhcm5pbmdzIHdpdGggdGhlIHVwY29taW5nIENNYWtlCgkgIDIuNiByZWxlYXNlLgoKMjAwOC0wMy0xNyAxNDo1MyAgY2xpbnRvbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOgoJICBFTkg6CUZvciBNYWMgT1MgWCwgcmVtb3ZlIFF1aWNrVGltZSBsaW5rIGZvciBRdCA0LjMrIGFuZCBhZGQKCSAgQXBwS2l0IGxpbmsgZm9yIFF0IDQuMisuCgoyMDA4LTAzLTE3IDExOjEwICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRQYWNrYWdlTWVzc2FnZS5jbWFrZTogZmlsZSBGaW5kUGFja2FnZU1lc3NhZ2UuY21ha2UKCSAgd2FzIGFkZGVkIG9uIGJyYW5jaCBDTWFrZS0yLTYgb24gMjAwOC0wMy0xOCAxNDoyMzo1MiArMDAwMAoKMjAwOC0wMy0xNyAxMToxMCAga2luZwoKCSogTW9kdWxlcy86IEZpbmRQYWNrYWdlSGFuZGxlU3RhbmRhcmRBcmdzLmNtYWtlLAoJICBGaW5kUGFja2FnZU1lc3NhZ2UuY21ha2UsIEZpbmRRdDQuY21ha2UsIEZpbmRYMTEuY21ha2U6IEVOSDoKCSAgQWRkZWQgRmluZFBhY2thZ2VNZXNzYWdlIG1vZHVsZQoKCSAgICAtIERlZmluZXMgRklORF9QQUNLQUdFX01FU1NBR0UgZnVuY3Rpb24gdG8gaGVscCBkaXNwbGF5CgkgICAgICBmaW5kIHJlc3VsdCBtZXNzYWdlcyBvbmx5IG9uY2UKCSAgICAtIEFkZGVkIHVzZSBvZiBpdCB0byBGaW5kUGFja2FnZUhhbmRsZVN0YW5kYXJkQXJncwoJICAgIC0gQWRkZWQgdXNlIG9mIGl0IHRvIEZpbmRRdDQsIGFuZCBGaW5kWDExCgkgICAgLSBUaGlzIGNsZWFucyB1cCByZXBlYXRlZCBtZXNzYWdlcyBpbiBiaWcgcHJvamVjdHMKCjIwMDgtMDMtMTcgMTE6MTAgIGtpbmcKCgkqIE1vZHVsZXMvQ1Rlc3QuY21ha2U6IEVOSDogQXZvaWQgcHJpbnRpbmcgbWVzc2FnZSBhYm91dCB1bmtub3duCgkgIHJlcG9zaXRvcnkgdHlwZSByZXBlYXRlZGx5IGluIENUZXN0LgoKMjAwOC0wMy0xNyAwODo1NSAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS86IExpbnV4LUdOVS1Gb3J0cmFuLmNtYWtlLCBMaW51eC1pZm9ydC5jbWFrZToKCSAgRU5IOiBQYXRjaCBmcm9tIE1haWsgdG8gYWRkIHBlci1jb25maWd1cmF0aW9uIGRlZmF1bHQgZmxhZ3MgdG8KCSAgR0NDIGFuZCBJbnRlbCBGb3J0cmFuIGNvbXBpbGVycyBvbiBMaW51eC4KCjIwMDgtMDMtMTYgMjM6NTkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wMy0xNSAyMzo1OSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAzLTE1IDIwOjEwICBkYXZpZC5jb2xlCgoJKiBNb2R1bGVzL0NNYWtlSmF2YUluZm9ybWF0aW9uLmNtYWtlOiBCVUc6IEdvIGJhY2sgdG8gdXNpbmcgIi4iIHNvCgkgIHRoZSBKYXZhIHRlc3QgcGFzc2VzIG9uIHRoZSBuaWdodGx5IG5tYWtlIGRhc2hib2FyZHMgYWdhaW4uIFN0aWxsCgkgIG5lZWQgYSBzb2x1dGlvbiB0aGF0IHdvcmtzIHdpdGggYm90aCBubWFrZSBhbmQgVmlzdWFsIFN0dWRpbwoJICBidWlsZHMuCgoyMDA4LTAzLTE1IDEwOjAwICBraW5nCgoJKiBTb3VyY2UvY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmN4eDogQ09NUDogRml4IHVucmVhY2hhYmxlIGNvZGUKCSAgd2FybmluZyBmb3IgYnJlYWsgYWZ0ZXIgcmV0dXJuIGluIHN3aXRjaCBpbiBDTVAwMDAzIGltcGwuCgoyMDA4LTAzLTE1IDEwOjAwICBraW5nCgoJKiBTb3VyY2UvOiBjbVRhcmdldC5jeHgsIGNtU291cmNlRmlsZUxvY2F0aW9uLmN4eDogU1RZTEU6IEZpeAoJICBsaW5lLXRvby1sb25nIGZvciBuZXcgSU5URVJOQUxfRVJST1IgbWVzc2FnZXMuCgoyMDA4LTAzLTE0IDIzOjU5ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDMtMTQgMTg6MTYgIGFsZXgKCgkqIE1vZHVsZXMvRmluZEtERTQuY21ha2U6IEVOSDogcHJlcGFyYXRpb25zIGZvciBjcm9zcyBjb21waWxpbmcKCSAgS0RFNAoKCSAgQWxleAoKMjAwOC0wMy0xNCAxNjozOSAgYmFycmUKCgkqIFNvdXJjZS9jbUxpc3RDb21tYW5kLmN4eDogU1RZTEU6IHllYWggeWVhaC4KCjIwMDgtMDMtMTQgMTU6MTggIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy9DTWFrZVNldHVwLmN4eDoKCSAgRU5IOglQcmV2ZW50IGxvYWRpbmcgc3RhbmRhcmQgcXQgcGx1Z2lucyBhdCBydW50aW1lICh3aGljaCB3ZQoJICBkb250JyBjYXJlIGFib3V0KS4JICAgIFRoaXMgY2FuIGNhdXNlIHByb2JsZW1zIGlmIGEgTWFjIGJ1bmRsZQoJICBkb2Vzbid0IGNvbnRhaW4gdGhlIHBsdWdpbnMuCgoyMDA4LTAzLTE0IDE0OjI4ICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEJVRzogIEZpeCB0eXBvIHRvIGZpbmQgUUFzc2lzdGFudENsaWVudAoJICBoZWFkZXIuCgoyMDA4LTAzLTE0IDE0OjIxICBraW5nCgoJKiBTb3VyY2UvY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmN4eDogRU5IOiBJbXByb3ZlIENNUDAwMDMgdG8KCSAgcHJvdmlkZSBtb3JlIGNvbXBhdGliaWxpdHkKCgkgICAgLSBUYXJnZXRzIGJ1aWx0IGluIHRoZSB0cmVlIG5vdyBhZGQgY29tcGF0aWJpbGl0eSBwYXRocyB0b28KCSAgICAtIFRoZSB3YXJuaW5nIG1lc3NhZ2UncyBmaXJzdCBsaXN0IGluY2x1ZGVzIGF0IG1vc3Qgb25lIGl0ZW0KCSAgICAgIGZvciBlYWNoIHVuaXF1ZSBjb21wYXRpYmlsaXR5IHBhdGgKCSAgICAtIENsYXJpZmllZCBlcnJvciBtZXNzYWdlIGZ1cnRoZXIKCjIwMDgtMDMtMTQgMTM6MjkgIGNsaW50b24KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZToKCSAgRU5IOglTYXRpc2Z5IFF0TmV0d29yayBhbmQgUXRPcGVuR0wgZGVwZW5kZW5jaWVzIGZvciBidWlsZHMgd2l0aAoJICBzdGF0aWMgUXQuCSAgICBQYXJ0aWFsIGZpeCBmb3IgIzY2MDcuCgoyMDA4LTAzLTE0IDEzOjE2ICBjbGludG9uCgoJKiBNb2R1bGVzLzogRmluZFF0NC5jbWFrZSwgVXNlUXQ0LmNtYWtlOgoJICBFTkg6CUF1dG9tYXRpY2FsbHkgYWRkIGRlcGVuZGVudCBtb2R1bGVzLgkgICAgRm9yIGV4YW1wbGUsIGlmCgkgIFFUX1VTRV9RVFhNTFBBVFRFUk5TIGlzIG9uLCBRVF9VU0VfUVRORVRXT1JLIGlzIHR1cm5lZCBvbi4KCSAgVGhlIGVxdWl2YWxlbnQgaGFwcGVucyBpbiBhIHFtYWtlIC5wcm8gZmlsZSB3aGVuIFFUICs9CgkgIHhtbHBhdHRlcm5zIGlzIHNwZWNpZmllZC4KCjIwMDgtMDMtMTQgMTI6MTEgIGNsaW50b24KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZToKCSAgRU5IOglTdXBwb3J0IHN0YXRpYyBRdCA0LjQgYnVpbGRzIHVzaW5nIFF0SGVscCBtb2R1bGUuCgoyMDA4LTAzLTEzIDE5OjEyICBjbGludG9uCgoJKiBNb2R1bGVzLzogRmluZFF0NC5jbWFrZSwgVXNlUXQ0LmNtYWtlOgoJICBFTkg6CUFkZCBzdXBwb3J0IGZvciBRdCA0LjQncyBwaG9ub24gbW9kdWxlLiAgICAgICAgQWRkIG5ldyBRdAoJICA0LjQgbW9kdWxlcyBpbiBVc2VRdDQuY21ha2UKCjIwMDgtMDMtMTMgMTc6MzggIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogQlVHOiBGaXggaW1wbCBvZiBDTVAwMDA1IHJlZ2V4IHRvIG1hdGNoCgkgIHZhbHVlLWxlc3MgZGVmaW5pdGlvbnMuCgoyMDA4LTAzLTEzIDE3OjMyICBraW5nCgoJKiBTb3VyY2UvOiBjbUNNYWtlTWluaW11bVJlcXVpcmVkLmgsIGNtUG9saWNpZXMuY3h4OiBFTkg6IENsYXJpZnkKCSAgZG9jdW1lbnRhdGlvbiBvZiBwb2xpY3kgQ01QMDAwMCBhbmQgaXRzIHJlbGF0aW9uc2hpcCB3aXRoCgkgIGNtYWtlX21pbmltdW1fcmVxdWlyZWQuCgoyMDA4LTAzLTEzIDE3OjExICBraW5nCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmN4eCwgY21Qb2xpY2llcy5jeHgsIGNtUG9saWNpZXMuaDogRU5IOiBBZGQKCSAgcG9saWN5IENNUDAwMDUgdG8gZGVjaWRlIHdoZXRoZXIgYWRkX2RlZmluaXRpb25zIHNob3VsZCBlc2NhcGUKCSAgZGVmcy4KCjIwMDgtMDMtMTMgMTc6MDQgIGtpbmcKCgkqIFNvdXJjZS9jbUV4cG9ydEZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IEFkZCBjbWFrZV9wb2xpY3kKCSAgcHVzaC92ZXJzaW9uL3BvcCB0byBpbXBvcnQvZXhwb3J0IGZpbGVzLgoKMjAwOC0wMy0xMyAxNjo0MiAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlOiBFTkg6IGZpeCBjIGZsYWdzIGZvciAyMDAzIGZyZWUKCSAgY29tbWFuZCBsaW5lIHRvb2xzCgoyMDA4LTAzLTEzIDE2OjM1ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNvbXB1dGVMaW5rRGVwZW5kcy5jeHgsIGNtQ29tcHV0ZUxpbmtEZXBlbmRzLmgsCgkgIGNtUG9saWNpZXMuY3h4LCBjbVBvbGljaWVzLmgsIGNtVGFyZ2V0LmN4eCwgY21UYXJnZXQuaDogRU5IOiBBZGQKCSAgcG9saWN5IENNUF8wMDA0IHRvIHJlcXVpcmUgbGlicmFyeSBuYW1lcyB0byBoYXZlIG5vIGxlYWRpbmcgb3IKCSAgdHJhaWxpbmcgd2hpdGVzcGFjZS4JUmVwbGFjZSBwcmV2aW91cyBjaGVjayBvZgoJICBDTUFLRV9CQUNLV0FSRFNfQ09NUEFUSUJJTElUWSBhZ2FpbnN0IHZlcnNpb24gMi40IHdpdGggdGhlCgkgIHBvbGljeS4KCjIwMDgtMDMtMTMgMTY6MjMgIGtpbmcKCgkqIE1vZHVsZXMvVlRLQ29tcGF0aWJpbGl0eS5jbWFrZSwKCSAgU291cmNlL2NtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5jeHgsCgkgIFNvdXJjZS9jbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uaCwKCSAgU291cmNlL2NtRG9jdW1lbnRWYXJpYWJsZXMuY3h4LCBTb3VyY2UvY21Qb2xpY2llcy5jeHgsCgkgIFNvdXJjZS9jbVBvbGljaWVzLmgsIFNvdXJjZS9jbVRhcmdldC5jeHgsIFNvdXJjZS9jbVRhcmdldC5oOiBFTkg6CgkgIENvbnZlcnQgQ01BS0VfTElOS19PTERfUEFUSFMgdG8gcG9saWN5IENNUDAwMDMuCgoJICAgIC0gUG9saWN5IGlzIFdBUk4gYnkgZGVmYXVsdCBzbyBwcm9qZWN0cyB3aWxsIGJ1aWxkCgkgICAgICBhcyB0aGV5IGRpZCBpbiAyLjQgd2l0aG91dCB1c2VyIGludGVydmVudGlvbgoJICAgIC0gUmVtb3ZlIENNQUtFX0xJTktfT0xEX1BBVEhTIHZhcmlhYmxlIHNpbmNlIGl0IHdhcwoJICAgICAgbmV2ZXIgaW4gYSByZWxlYXNlIGFuZCB0aGUgcG9saWN5IHN1cGVyY2VkZXMgaXQKCSAgICAtIFJlcG9ydCB0YXJnZXQgY3JlYXRpb24gYmFja3RyYWNlIGluIHdhcm5pbmcgbWVzc2FnZQoJICAgICAgc2luY2UgcG9saWN5IHNob3VsZCBiZSBzZXQgYnkgdGhhdCBwb2ludAoKMjAwOC0wMy0xMyAxNjoyMSAgaG9mZm1hbgoKCSogU291cmNlL1F0RGlhbG9nL0NNYWtlU2V0dXBEaWFsb2cuY3h4OiBFTkg6IG1ha2UgbWVudSBpdGVtIG1hdGNoCgkgIC1Xbm8tZGV2IGNvbW1hbmQgbGluZQoKMjAwOC0wMy0xMyAxNjoxMyAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nL0NNYWtlU2V0dXBEaWFsb2cuY3h4OiBFTkg6ICBQcmVzZXJ2ZSB3aGl0ZSBzcGFjZXMKCSAgd2hlbiBwcmludGluZyBtZXNzYWdlcy4KCjIwMDgtMDMtMTMgMTU6MzQgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEVOSDogbW92ZSB0aGUgY2xlYXIgdG8gYmVmb3JlIHRoaW5ncyBhcmUgYWRkZWQKCSAgdG8gdGhlIG1hcHMKCjIwMDgtMDMtMTMgMTU6MjkgIGNsaW50b24KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZToKCSAgRU5IOglBZGQgc3VwcG9ydCBmb3IgbmV3IG1vZHVsZXMgaW4gUXQgNC40LglGaXhlcyAjNjMxNi4KCSAgU2ltcGxpZnkgYW5kIGNsYXJpZnkgc29tZSBkb2N1bWVudGF0aW9uLgoKCSAgQlVHOglGaXggb3JkZXIgb2YgaW5jbHVkZSBwYXRocyAoZnJvbSBLREUncyBGaW5kUXQ0KSAgICAgICBGaXgKCSAgZmluZCBvZiBEZXNpZ25lciBjb21wb25lbnRzIGRlYnVnIGxpYnJhcnkgb24gV2luZG93cy4KCjIwMDgtMDMtMTMgMTU6MDYgIGtpbmcKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEVOSDogTWFrZSAoZGV2KSB3YXJuaW5ncyBzaG93IG5vdGUgYWJvdXQKCSAgLVduby1kZXYgb3B0aW9uLiAgRml4IC1XZGV2IGFuZCAtV25vLWRldiBvcHRpb25zIHRvIG5vdCBiZQoJICBtaXN0YWtlbiBmb3IgdGhlIHNvdXJjZSBkaXJlY3Rvcnkgc3BlY2lmaWNhdGlvbi4KCjIwMDgtMDMtMTMgMTU6MDMgIGRhdmlkLmNvbGUKCgkqIE1vZHVsZXMvQ01ha2VKYXZhSW5mb3JtYXRpb24uY21ha2U6IENPTVA6IENvbmRpdGlvbmFsaXplIHRoZSBsYXN0CgkgIGNoYW5nZSBzbyB0aGF0IHRoZSBmaXggb25seSBhcHBsaWVzIHRvIFdJTjMyLiBMZWF2ZSBpdCB0aGUgd2F5IGl0CgkgIHdhcyBlbHNld2hlcmUsIHRoZSBuZXcgd2F5IGRvZXMgbm90IHdvcmsgb24gdGhlIE1hYyBjb250aW51b3VzCgkgIGRhc2hib2FyZC4uLgoKMjAwOC0wMy0xMyAxNTowMSAga2luZwoKCSogU291cmNlL2NtUG9saWNpZXMuY3h4OiBFTkg6IFJlZHVjZSB3aGl0ZXNwYWNlIGluIHBvbGljeQoJICB3YXJuaW5nL2Vycm9yIG1lc3NhZ2VzLgoKMjAwOC0wMy0xMyAxNDoyOSAgZGF2aWQuY29sZQoKCSogTW9kdWxlcy9DTWFrZUphdmFJbmZvcm1hdGlvbi5jbWFrZTogQlVHOiBGaXggdGhlIEphdmEgdGVzdCBmb3IKCSAgVmlzdWFsIFN0dWRpbyBidWlsZHMuIEJlZm9yZSB0aGlzLCBpdCBoYWQgYmVlbiB0cnlpbmcgdG8gaW5jbHVkZQoJICAiQnVpbGRMb2cuaHRtIiBpbiB0aGUgLmphciBmaWxlIGJlY2F1c2UgaXQgd2FzIHVzaW5nICIuIiBhcyB0aGUKCSAgbGlzdCBvZiBmaWxlcyB0byBpbmNsdWRlIGluIHRoZSAuamFyIGZpbGUuIFVzZSAiKi5jbGFzcyIgaW5zdGVhZAoJICBvZiAiLiIgdG8gcHJldmVudCB0aGlzIHNpbGxpbmVzcy4KCjIwMDgtMDMtMTMgMTQ6MTMgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogRU5IOiBJbXByb3ZlIGVycm9yIG1lc3NhZ2Ugd2hlbiBpbnZhbGlkCgkgIHBvbGljeSBpcyBnaXZlbi4KCjIwMDgtMDMtMTMgMTM6NTIgIGtpbmcKCgkqIFNvdXJjZS9jbVNldENvbW1hbmQuY3h4OiBFTkg6IFNpbXBsaWZ5IGVycm9yIG1lc3NhZ2UgZm9yIGludmFsaWQKCSAgc2V0KC4uLiBDQUNIRSkgY2FsbHMgdG8gbWFrZSBpdCBsb29rIG5pY2VyIHdpdGggbmV3IG1lc3NhZ2UKCSAgZm9ybWF0LgoKMjAwOC0wMy0xMyAxMzo0OCAga2luZwoKCSogU291cmNlLzogY21MaXN0RmlsZUNhY2hlLmN4eCwgY21MaXN0RmlsZUNhY2hlLmgsIGNtTWFrZWZpbGUuY3h4LAoJICBjbU1ha2VmaWxlLmgsIGNtVGFyZ2V0LmN4eCwgY21UYXJnZXQuaCwgY21ha2UuY3h4LCBjbWFrZS5oOiBFTkg6CgkgIEltcHJvdmUgbmV3IGVycm9yL3dhcm5pbmcgbWVzc2FnZSBnZW5lcmF0aW9uCgoJICAgIC0gQWRkIGNtTGlzdEZpbGVCYWNrdHJhY2UgdG8gcmVjb3JkIHN0YWNrIHRyYWNlcwoJICAgIC0gTW92ZSBtYWluIElzc3VlTWVzc2FnZSBtZXRob2QgdG8gdGhlIGNtYWtlIGNsYXNzIGluc3RhbmNlCgkgICAgICAobWFrZSB0aGUgYmFja3RyYWNlIGFuIGV4cGxpY2l0IGFyZ3VtZW50KQoJICAgIC0gQ2hhbmdlIGNtTWFrZWZpbGU6Oklzc3VlTWVzc2FnZSB0byBjb25zdHJ1Y3QgYSBiYWNrdHJhY2UKCSAgICAgIGFuZCBjYWxsIHRoZSBjbWFrZSBpbnN0YW5jZSB2ZXJzaW9uCgkgICAgLSBSZWNvcmQgYSBiYWNrdHJhY2UgYXQgdGhlIHBvaW50IGEgdGFyZ2V0IGlzIGNyZWF0ZWQKCSAgICAgICh1c2VmdWwgbGF0ZXIgZm9yIG1lc3NhZ2VzIGlzc3VlZCBieSBnZW5lcmF0b3JzKQoKMjAwOC0wMy0xMyAxMTozOCAgbWFydGluawoKCSogU291cmNlLzogY21DTWFrZVBvbGljeUNvbW1hbmQuaCwgY21MaXN0RmlsZUNhY2hlLmN4eCwKCSAgY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtTWFrZWZpbGUuY3h4LCBjbVBvbGljaWVzLmN4eCwKCSAgY21Qb2xpY2llcy5oLCBjbWFrZS5jeHg6IEVOSDogY2hhbmdlIENNUF8gdG8gQ01QCgoyMDA4LTAzLTEzIDEwOjU2ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRHTFVULmNtYWtlOiBCVUc6IGZpeCBidWcgNjU5NCBsb29rIGZvciBnbHV0IGluIG1vcmUKCSAgcGxhY2VzIG9uIHdpbmRvd3MKCjIwMDgtMDMtMTMgMDk6MjggIGJhcnJlCgoJKiBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHg6IEJVRzogdGhlIGRpcmVjdG9yeSB0aGUgRklMRSBET1dOTE9BRAoJICBjb21tYW5kIGlzIHdyaXRpbmcgdG8gbWlnaHQgbm90IGV4aXN0LgoKMjAwOC0wMy0xMiAyMzo1OSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAzLTEyIDIxOjU0ICBob2ZmbWFuCgoJKiBDTWFrZUNQYWNrT3B0aW9ucy5jbWFrZS5pbiwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tDeWd3aW5CaW5hcnlHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja0N5Z3dpblNvdXJjZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJhdG9yLmN4eDogRU5IOiBmaXggY3Jhc2ggaW4gY3BhY2sgd2hlbgoJICBDUEFDS19DWUdXSU5fUEFUQ0hfTlVNQkVSIG5vdCBzcGVjaWZpZWQKCjIwMDgtMDMtMTIgMjE6MDYgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwgY21NYWtlZmlsZS5jeHgsCgkgIGNtU291cmNlRmlsZUxvY2F0aW9uLmN4eCwgY21UYXJnZXQuY3h4LCBjbWFrZS5oOiBFTkg6IHJlbW92ZQoJICBhYm9ydCBjYWxscyBhbmQgcmVwbGFjZSB3aXRoIGFuIElzc3VlTWVzc2FnZSBJTlRFUkFOTF9FUlJPUiwKCSAgYmV0dGVyIHRvIG5vdCBjcmFzaCBvbiB0aGUgZW5kIHVzZXIuCgoyMDA4LTAzLTEyIDE3OjAyICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbWFrZS5jeHgsIGNtYWtlLmg6IEVOSDogbWFrZSBzdXJlIHByb3BlcnRpZXMgYXJlIHJlLXNldAoJICBvbiBlYWNoIGNvbmZpZ3VyZQoKMjAwOC0wMy0xMiAxNzowMiAgYmFycmUKCgkqIFNvdXJjZS9jbUxpc3RDb21tYW5kLmN4eCwgU291cmNlL2NtTGlzdENvbW1hbmQuaCwKCSAgVGVzdHMvQ01ha2VUZXN0cy9MaXN0VGVzdC5jbWFrZS5pbjogRU5IOiBhZGQgUkVNT1ZFX0RVUExJQ0FURVMKCSAgc3ViY29tbWFuZCB0byBMSVNUIGNvbW1hbmQgKGFuZCB0ZXN0KS4gUmVtb3ZlIGR1cGxpY2F0ZXMgZnJvbSBhCgkgIGxpc3QgKGtlZXAgdGhlIG9yZGVyaW5nKQoKMjAwOC0wMy0xMiAxNDozNyAgbWFydGluawoKCSogU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogZml4IHNvbWUgYmFkCgkgIGNoYW5nZXMgaW4gcHJvZ3Jlc3MgY2FsYwoKMjAwOC0wMy0xMiAwOToyNSAgaG9mZm1hbgoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBTVFlMRTogZml4IGxpbmUgbGVuCgoyMDA4LTAzLTEyIDAwOjAwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDMtMTEgMjI6NTIgIGhvZmZtYW4KCgkqIFNvdXJjZS9RdERpYWxvZy9DTWFrZVNldHVwRGlhbG9nLmN4eDogRU5IOiByZW1vdmUgaW9zdHJlYW0sIG5vdAoJICB1c2VkCgoyMDA4LTAzLTExIDIyOjUwICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbWFrZS5jeHgsIGNtYWtlLmgsIFF0RGlhbG9nL0NNYWtlU2V0dXBEaWFsb2cuY3h4LAoJICBRdERpYWxvZy9DTWFrZVNldHVwRGlhbG9nLmgsIFF0RGlhbG9nL1FDTWFrZS5jeHgsCgkgIFF0RGlhbG9nL1FDTWFrZS5oOiBFTkg6IGFkZCBhYmlsaXR5IHRvIHN1cHByZXNzIGRldiB3YXJuaW5ncyB0bwoJICBndWkgY29kZQoKMjAwOC0wMy0xMSAxNzo1MyAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBGaXggc3VidGxlIGJ1ZwoJICB0aGF0IHByZXZlbnRlZCBNYWtlZmlsZSBnZW5lcmF0b3JzIGZyb20gcmVzY2FubmluZyBkZXBlbmRlbmNpZXMKCSAgd2hlbiBhIG5ldyBzb3VyY2UgZmlsZSBpcyBhZGRlZCBidXQgbm8gb3RoZXIgc291cmNlcyBhcmUgdG91Y2hlZC4KCjIwMDgtMDMtMTEgMTc6MzcgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1JbmZvcm1hdGlvbi5oeHguaW46IENPTVA6IEZpeCBzaGFyZWQgbGliIGJ1aWxkCgkgIG9uIHdpbmRvd3MgZm9yIEtXU3lzJ3MgU3lzdGVtSW5mb3JtYXRpb24gYnkgYWRkaW5nIGV4cG9ydCBtYWNyby4KCjIwMDgtMDMtMTEgMTc6MjcgIGhvZmZtYW4KCgkqIFNvdXJjZS9RdERpYWxvZy86IENNYWtlLmRlc2t0b3AsIENNYWtlTGlzdHMudHh0LCBjbWFrZWNhY2hlLnhtbDoKCSAgRU5IOiBhZGQgS0RFIGRlc2t0b3Agc3R1ZmYKCjIwMDgtMDMtMTEgMTc6MjcgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogRU5IOiBmaXggd2FybmluZyBtZXNzYWdlIGEgYml0CgoyMDA4LTAzLTExIDE3OjI1ICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFZpc3VhbFN0dWRpbzhHZW5lcmF0b3IuY3h4LCBjbWFrZS5jeHgsIGNtYWtlLmg6CgkgIEJVRzogRml4ZXMgdG8gVlM4L1ZTOSBwcm9qZWN0IHJlZ2VuZXJhdGlvbiBydWxlcwoKCSAgICAtIFpFUk9fQ0hFQ0sgc2hvdWxkIGNoZWNrIGFsbCBzdGFtcHMgaW4gY2FzZQoJICAgICAgb2YgcGFyYWxsZWwgYnVpbGQgKGZpeGVzIGNvbXBsZXggdGVzdCBmYWlsdXJlKQoJICAgIC0gWkVST19DSEVDSyBzaG91bGQgbm90IGFwcGVhciB3aGVuCgkgICAgICBDTUFLRV9TVVBQUkVTU19SRUdFTkVSQVRJT04gaXMgb24gKGZpeGVzIGJ1ZyA2NDkwKQoKMjAwOC0wMy0xMSAxNjowMiAgaG9mZm1hbgoKCSogU291cmNlLzogY21ha2UuaCwgY21ha2VtYWluLmN4eDogRU5IOiBmaXggLVduby1kZXYgZm9yIGNjbWFrZQoKMjAwOC0wMy0xMSAxNToxNyAgaG9mZm1hbgoKCSogU291cmNlLzogY21NYWtlZmlsZS5jeHgsIGNtYWtlLmN4eCwgY21ha2VtYWluLmN4eDogRU5IOiBhZGQgYSB3YXkKCSAgdG8gc3VwcHJlc3MgdGhlIG5ldyBwb2xpY3kgd2FybmluZ3MsIHN0aWxsIG5lZWQgY2NtYWtlIGFuZCBndWkncwoKMjAwOC0wMy0xMSAxMDo1NCAgYmFycmUKCgkqIERvY3MvY21ha2UtbW9kZS5lbDogRU5IOiBhZGQgc2ltcGxlIGZ1bmN0aW9uIHRvIGNvbnZlcnQgYWxsIENNYWtlCgkgIGNvbW1hbmRzIHRvIGxvd2VyY2FzZQoKMjAwOC0wMy0xMSAxMDoyOSAgaG9mZm1hbgoKCSogU291cmNlLzogY21MaXN0RmlsZUNhY2hlLmN4eCwgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaCwKCSAgY21Qb2xpY2llcy5jeHgsIGNtYWtlLmg6IEVOSDogYWRkIGVudW0gdG8gSXNzdWVNZXNzYWdlCgoyMDA4LTAzLTExIDAwOjAwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDMtMTAgMTg6NDggIGJhcnJlCgoJKiBNb2R1bGVzLzogRmluZENWUy5jbWFrZTogRU5IOiBmb3Igc29tZSByZWFzb25zIHRoZXJlIHdhcyBuZXZlciBhCgkgIEZpbmRDVlMgbW9kdWxlPwoKMjAwOC0wMy0xMCAxNTo0MSAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBFTkg6IEVuZm9yY2UgbWF0Y2hpbmcgUFVTSC9QT1AgY2FsbHMgZm9yCgkgIGNtYWtlX3BvbGljeS4KCjIwMDgtMDMtMTAgMTU6NDAgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogRU5IOiBBZGQgZGlyZWN0b3J5LWxldmVsIGNvbnRleHQKCSAgaW5mb3JtYXRpb24gdG8gZXJyb3Ivd2FybmluZyBtZXNzYWdlcyB3aGVuIG5vIGNhbGwgc3RhY2sgaXMKCSAgcHJlc2VudC4KCjIwMDgtMDMtMTAgMTM6MjYgIGFsZXgKCgkqIE1vZHVsZXMvOiBGaW5kTHVhNTAuY21ha2UsIEZpbmRMdWE1MS5jbWFrZTogRU5IOiB1c2UgdGhlIHN0YW5kYXJkCgkgIGZpbmRfcGFja2FnZV9oYW5kbGVfc3RhbmRhcmRfYXJncygpIGZvciBsdWEgNS4wIGFuZCA1LjEKCgkgIEFsZXgKCjIwMDgtMDMtMTAgMDk6MzIgIGtpbmcKCgkqIE1vZHVsZXMvOiBDTWFrZUNDb21waWxlcklkLmMuaW4sIENNYWtlQ1hYQ29tcGlsZXJJZC5jcHAuaW4sCgkgIENNYWtlUGxhdGZvcm1JZC5oLmluOiBFTkg6IE1ha2UgY29tcGlsZXIgaWQgZGV0ZWN0aW9uIG1vcmUgcm9idXN0CgoJICAgIC0gU3BsaXQgSU5GTyBzdHJpbmdzIGluIHNvdXJjZSBpbnRvIG11bHRpcGxlIHBpZWNlcwoJICAgICAgdG8gbWFrZSBzdXJlIGFzc2VtYmx5IG9yIG90aGVyIGxpc3RpbmdzIHByb2R1Y2VkCgkgICAgICBieSB0aGUgY29tcGlsZXIgYXJlIG5ldmVyIG1hdGNoZWQgYnkgdGhlIHJlZ2V4CgkgICAgLSBTdG9yZSBJTkZPIHN0cmluZ3MgdmlhIHBvaW50ZXIgaW5zdGVhZCBvZiBhcnJheQoJICAgICAgdG8gY29udmluY2Ugc29tZSBjb21waWxlcnMgdG8gc3RvcmUgdGhlIHN0cmluZwoJICAgICAgbGl0ZXJhbGx5IGluIHRoZSBiaW5hcnkKCSAgICAtIFRoaXMgc2hvdWxkIGhlbHAgbWFrZSBpdCB3b3JrIGZvciBzZGNjIDIuOC4wIFJDMQoKMjAwOC0wMy0xMCAwMDowMCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAzLTA5IDE5OjIwICBhbGV4CgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ29tcGlsZXJJZC5jbWFrZTogQlVHOiBtYWtlIGNvbXBpbGVyIGlkCgkgIGRldGVjdGlvbiAoYWxtb3N0KSB3b3JrIGFnYWluIHdpdGggc2RjYyAyLjguMCBSQzEsIG1haWwgc2VudCB0bwoJICBCcmFkIGZvciB0aGUgcmVtYWluaW5nIGlzc3VlIGRvbid0IG1hdGNoIElORk86Y29tcGlsZXJbIgoJICBDT01QSUxFUl9JRCAiXSB3aGljaCBhcHBlYXJzIGluIHRoZSBhc3NlbWJsZXIgZmlsZSBnZW5lcmF0ZWQgZnJvbQoJICB0aGUgQyBmaWxlIGJ5IHNkY2MsIGJ1dCBtYWtlIHN1cmUgdGhlIGZpcnN0IGNoYXJhY3RlciBhZnRlciB0aGUgWwoJICBpcyBubyBkb3VibGUgcXVvdGUKCgkgIEFsZXgKCjIwMDgtMDMtMDkgMDA6MDAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wMy0wOCAwOTo1MCAga2luZwoKCSogU291cmNlL2NtSW5jbHVkZURpcmVjdG9yeUNvbW1hbmQuY3h4OiBCVUc6IEZpeAoJICBpbmNsdWRlX2RpcmVjdG9yaWVzIGNvbW1hbmQgdG8gcHJvZHVjZSBhbiBpbW1lZGlhdGVseSB3aGV0aGVyIG9yCgkgIG5vdCAyLjQgY29tcGF0aWJpbGl0eSBpcyBlbmFibGVkLiAgQ01ha2UgMi40IGFscmVhZHkgcHJvZHVjZWQgYW4KCSAgZXJyb3IsIGp1c3Qgbm90IGltbWVkaWF0ZWx5LgoKMjAwOC0wMy0wOCAwOToyNyAga2luZwoKCSogU291cmNlL2NtSW5jbHVkZUNvbW1hbmQuY3h4OiBFTkg6IEltcHJvdmUgZm9ybWF0dGluZyBvZiBpbmNsdWRlCgkgIGNvbW1hbmQgZXJyb3IgbWVzc2FnZS4KCjIwMDgtMDMtMDggMDk6MjEgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogQ09NUDogQXZvaWQgdXNpbmcgb3BlcmF0b3ItPiBvbgoJICBjb25zdF9yZXZlcnNlX2l0ZXJhdG9yIHRvIGhlbHAgb2xkIGNvbXBpbGVycy4KCjIwMDgtMDMtMDggMDk6MTMgIGtpbmcKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbVBvbGljaWVzLmN4eDogRU5IOiBDbGVhbnVwIHBvbGljeQoJICBnZW5lcmljIGRvY3VtZW50YXRpb24uICBDbGVhbnVwIHNvbWUgcG9saWN5IGVycm9yL3dhcm5pbmcKCSAgbWVzc2FnZXMuCgoyMDA4LTAzLTA4IDAwOjAwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDMtMDcgMTk6NTggIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZE1QSS5jbWFrZTogRU5IOiBhZGQgbmV3IHZlcnNpb24gb2YgRmluZE1QSSwgZml4IGl0IHRvCgkgIHdvcmsgd2l0aCBNUElDSDIgb24gd2luZG93cwoKMjAwOC0wMy0wNyAxNzowNSAga2luZwoKCSogU291cmNlL2NtQWRkQ3VzdG9tVGFyZ2V0Q29tbWFuZC5jeHg6IENPTVA6IEZpeCB1bnVzZWQgcGFyYW1ldGVyCgkgIHdhcm5pbmcgaW4gY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLgoKMjAwOC0wMy0wNyAxNjozNiAga2luZwoKCSogU291cmNlLzogY21NYWtlZmlsZS5jeHgsIGNtUG9saWNpZXMuY3h4LCBjbVBvbGljaWVzLmgsIGNtYWtlLmN4eDoKCSAgRU5IOiBGaW5pc2ggY3JlYXRpbmcsIGRvY3VtZW50aW5nLCBhbmQgZW5mb3JjaW5nIHBvbGljeSBDTVBfMDAwMi4KCjIwMDgtMDMtMDcgMTY6MzIgIGhvZmZtYW4KCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvOiBjbUN1cnNlc0NhY2hlRW50cnlDb21wb3NpdGUuY3h4LAoJICBjbUN1cnNlc01haW5Gb3JtLmN4eDogRU5IOiBmaXggaXQgZm9yIHdvcmtpbmcgd2l0aCBhbiBlbXB0eSBjYWNoZQoKMjAwOC0wMy0wNyAxNjoyNiAga2luZwoKCSogYm9vdHN0cmFwOiBDT01QOiBGaXggYm9vdHN0cmFwIGJ1aWxkIGFmdGVyIHVzaW5nCgkgIGNtRG9jdW1lbnRhdGlvbkZvcm1hdHRlclRleHQgaW4gY21NYWtlZmlsZS4KCjIwMDgtMDMtMDcgMTY6MDEgIGtpbmcKCgkqIFNvdXJjZS86IGNtRG9jdW1lbnRhdGlvbkZvcm1hdHRlclRleHQuY3h4LCBjbU1ha2VmaWxlLmN4eDogRU5IOgoJICBJbiBjbU1ha2VmaWxlOjpJc3N1ZU1lc3NhZ2UgdXNlIGNtRG9jdW1lbnRhdGlvbkZvcm1hdHRlclRleHQgdG8KCSAgZm9ybWF0IHRoZSBtZXNzYWdlIG5pY2VseS4KCjIwMDgtMDMtMDcgMTU6MzAgIGtpbmcKCgkqIFNvdXJjZS9jbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21DTWFrZU1pbmltdW1SZXF1aXJlZC5oLCBTb3VyY2UvY21DTWFrZVBvbGljeUNvbW1hbmQuaCwKCSAgU291cmNlL2NtQ29uZmlndXJlRmlsZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21GaW5kQmFzZS5jeHgsCgkgIFNvdXJjZS9jbUxpc3RGaWxlQ2FjaGUuY3h4LCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwgU291cmNlL2NtUG9saWNpZXMuY3h4LAoJICBTb3VyY2UvY21Qb2xpY2llcy5oLCBTb3VyY2UvY21ha2UuY3h4LAoJICBUZXN0cy9NYWtlQ2xlYW4vVG9DbGVhbi9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvUHJlcHJvY2Vzcy9DTWFrZUxpc3RzLnR4dDogRU5IOiBJbXByb3ZlIGhhbmRsaW5nIG9mCgkgIG9sZC1zdHlsZSBjb21wYXRpYmlsaXR5LgoKCSAgICAtIFJlbW92ZSBDTVBfMDAwMSAobm8gc2xhc2ggaW4gdGFyZ2V0IG5hbWUpIGFuZCByZXN0b3JlCgkgICAgICBvbGQgQ01BS0VfQkFDS1dBUkRTX0NPTVBBVElCSUxJVFkgY2hlY2sgZm9yIGl0CgkgICAgLSBSZXBsYWNlIGFsbCBjaGVja3Mgb2YgQ01BS0VfQkFDS1dBUkRTX0NPTVBBVElCSUxJVFkKCSAgICAgIHdpdGggY21Mb2NhbEdlbmVyYXRvcjo6TmVlZEJhY2t3YXJkc0NvbXBhdGliaWxpdHkgY2FsbHMKCSAgICAtIENyZWF0ZSBuZXcgQ01QXzAwMDEgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90CgkgICAgICBDTUFLRV9CQUNLV0FSRFNfQ09NUEFUSUJJTElUWSBpcyB1c2VkLgoJICAgICAgKG9sZCA9IHVzZSwgbmV3ID0gaWdub3JlKQoJICAgIC0gU2hvdyBDTUFLRV9CQUNLV0FSRFNfQ09NUEFUSUJJTElUWSBpbiBjYWNoZSBvbmx5IHdoZW4KCSAgICAgIENNUF8wMDAxIGlzIHNldCB0byBPTEQgb3IgV0FSTgoJICAgIC0gVXBkYXRlIGRvY3VtZW50YXRpb24gb2YgY21ha2VfcG9saWN5IGFuZAoJICBjbWFrZV9taW5pbXVtX3JlcXVpcmVkCgkgICAgICB0byBpbmRpY2F0ZSB0aGVpciByZWxhdGlvbnNoaXAgYW5kIHRoZSAyLjQgdmVyc2lvbiBib3VuZGFyeQoJICAgIC0gV2hlbiBubyBjbWFrZSBwb2xpY3kgdmVyc2lvbiBpcyBzZXQgaW4gdG9wIGxldmVsIG1ha2VmaWxlCgkgICAgICBpbXBsaWNpdGx5IGNhbGwgY21ha2VfcG9saWN5KFZFUlNJT04gMi40KSB3aGljaCByZXN0b3JlcwoJICAgICAgQ01BS0VfQkFDS1dBUkRTX0NPTVBBVElCSUxJVFkgYW5kIG90aGVyIDIuNCBjb21wYXRpYmlsaXR5CgkgICAgLSBGaXggdGVzdHMgTWFrZUNsZWFuIGFuZCBQcmVwcm9jZXNzIHRvIGNhbGwKCSAgICAgIGNtYWtlX3BvbGljeShWRVJTSU9OIDIuNikgYmVjYXVzZSB0aGV5IGRlcGVuZCBvbiBuZXcgcG9saWNpZXMKCjIwMDgtMDMtMDcgMTQ6MDMgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogY3JlYXRlLWNtYWtlLXJlbGVhc2UuY21ha2UsCgkgIGRhc2htYWNtaW5pMl9yZWxlYXNlLmNtYWtlLCBtYWdyYXRoZWFfcmVsZWFzZS5jbWFrZSwKCSAgcmVsZWFzZV9jbWFrZS5zaC5pbjogRU5IOiBxdGd1aSBzdHVmZgoKMjAwOC0wMy0wNyAxMTo1MCAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nL0NNYWtlU2V0dXBEaWFsb2cuY3h4OiBFTkg6ICBVc2UgZml4ZWQgcGl0Y2ggZm9udAoJICBpbiBvdXRwdXQgd2luZG93LgoKMjAwOC0wMy0wNyAxMTo0MyAgbWFydGluawoKCSogU291cmNlLzogY21DTWFrZU1pbmltdW1SZXF1aXJlZC5jeHgsIGNtQ2FjaGVNYW5hZ2VyLmgsCgkgIGNtTGlzdEZpbGVDYWNoZS5jeHgsIGNtUG9saWNpZXMuY3h4LCBjbWFrZS5jeHg6IEVOSDogY2xlYW4gdXAKCSAgc29tZSBwb2xpY3kgc3R1ZmYgYW5kIGludGVyYWN0aW9ucyB3aXRoCgkgIENNQUtFX0JBQ0tXQVJEU19DT01QQVRJQklMSVRZIGFuZCBDTUFLRV9NSU5JTVVNX1JFUVVJUkVECgoyMDA4LTAzLTA3IDExOjA2ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1BhY2svOiBjbUNQYWNrQ3lnd2luQmluYXJ5R2VuZXJhdG9yLmN4eCwKCSAgY21DUGFja0dlbmVyYXRvci5jeHg6IEVOSDogZml4IGNyYXNoIGluIGN5Z3dpbiBwYWNrYWdlIHN0dWZmCgoyMDA4LTAzLTA3IDA5OjQxICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21MaXN0RmlsZUNhY2hlLmN4eDogU1RZTEU6IGZpeCBsaW5lIGxlbmd0aCBpc3N1ZQoKMjAwOC0wMy0wNyAwOTowOSAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBCVUc6IERvIG5vdCBwcm9kdWNlIHdoaXRlc3BhY2Utb25seSBsaW5lcwoJICB3aGVuIGluZGVudGluZyBtZXNzYWdlcyBpbiBuZXcgZXJyb3Ivd2FybmluZyBmb3JtYXQuCgoyMDA4LTAzLTA3IDA4OjUzICBraW5nCgoJKiBTb3VyY2UvY21Db3JlVHJ5Q29tcGlsZS5jeHg6IEJVRzogR2VuZXJhdGVkIHRyeS1jb21waWxlCgkgIENNYWtlTGlzdHMudHh0IGZpbGUgc2hvdWxkIGNhbGwgY21ha2VfcG9saWN5IHdpdGggdGhlIGN1cnJlbnQKCSAgdmVyc2lvbiBvZiBDTWFrZSwgbm90IGp1c3QgMi42LgoKMjAwOC0wMy0wNyAwODo0MCAga2luZwoKCSogU291cmNlLzogY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmN4eCwgY21FeGVjdXRpb25TdGF0dXMuaCwKCSAgY21GdW5jdGlvbkNvbW1hbmQuY3h4LCBjbUxpc3RGaWxlQ2FjaGUuY3h4LCBjbUxpc3RGaWxlQ2FjaGUuaCwKCSAgY21NYWNyb0NvbW1hbmQuY3h4LCBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oLCBjbVBvbGljaWVzLmN4eDoKCSAgRU5IOiBOZXcgZm9ybWF0IGZvciB3YXJuaW5nIGFuZCBlcnJvciBtZXNzYWdlcwoKCSAgICAtIEFkZCBjbU1ha2VmaWxlIG1ldGhvZHMgSXNzdWVFcnJvciBhbmQgSXNzdWVXYXJuaW5nCgkgICAgLSBNYWludGFpbiBhbiBleHBsaWNpdCBjYWxsIHN0YWNrIGluIGNtTWFrZWZpbGUKCSAgICAtIEluY2x1ZGUgY29udGV4dC9jYWxsLXN0YWNrIGluZm8gaW4gbWVzc2FnZXMKCSAgICAtIE5lc3RlZCBlcnJvcnMgbm93IHVud2luZCB0aGUgY2FsbCBzdGFjawoJICAgIC0gVXNlIG5ldyBtZWNoYW5pc20gZm9yIHBvbGljeSB3YXJuaW5ncyBhbmQgZXJyb3JzCgkgICAgLSBJbXByb3ZlIHBvbGljeSBlcnJvciBtZXNzYWdlCgkgICAgLSBJbmNsdWRlIGNtRXhlY3V0aW9uU3RhdHVzIHBvaW50ZXIgaW4gY2FsbCBzdGFjawoJICAgICAgc28gdGhhdCBlcnJvcnMgZGVlcGVyIGluIHRoZSBDKysgc3RhY2sgdW5kZXIKCSAgICAgIGEgY29tbWFuZCBpbnZvY2F0aW9uIHdpbGwgYmVjb21lIGVycm9ycyBmb3IgdGhlCgkgICAgICBjb21tYW5kCgoyMDA4LTAzLTA3IDAwOjAwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDMtMDYgMTY6MDMgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxpc3RGaWxlQ2FjaGUuY3h4OiBCVUc6IGtlZXAgQ01BS0VfQkFDS1dBUkRTX0NPTVAgYXMKCSAgaW50ZXJuYWwKCjIwMDgtMDMtMDYgMTU6NTEgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxpc3RGaWxlQ2FjaGUuY3h4OiBCVUc6IG1ha2UgZGVmYXVsdAoJICBDTUFLRV9CQUNLV0FSRFNfQ09NUEFUSUJJTElUWSAyLjUKCjIwMDgtMDMtMDYgMTU6MjAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNvcmVUcnlDb21waWxlLmN4eDogRU5IOiBtYWtlIHN1cmUgcG9saWN5IGlzIHNldCBpbgoJICBnZW5lcmF0ZWQgY21ha2VsaXN0IGZpbGVzCgoyMDA4LTAzLTA2IDE1OjA4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmN4eCwgY21MaXN0RmlsZUNhY2hlLmN4eCwKCSAgY21Qb2xpY2llcy5jeHg6IEJVRzogY2hhbmdlIGluIGhhbmRsaW5nIG9mIGNtYWtlX21pbmltdW1fcmVxdWlyZWQKCjIwMDgtMDMtMDYgMTE6MzQgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbURvY3VtZW50YXRpb25Gb3JtYXR0ZXJIVE1MLmN4eDogU1RZTEU6IGZpeCBsaW5lIGxlbmd0aAoKMjAwOC0wMy0wNiAxMDo1NyAgbWFydGluawoKCSogU291cmNlLzogY21DTWFrZU1pbmltdW1SZXF1aXJlZC5jeHgsIGNtQ29uZmlndXJlRmlsZUNvbW1hbmQuY3h4LAoJICBjbUxpc3RGaWxlQ2FjaGUuY3h4LCBjbUxpc3RGaWxlQ2FjaGUuaCwgY21NYWtlZmlsZS5jeHgsCgkgIGNtUG9saWNpZXMuY3h4OiBCVUc6IGNoYW5nZSB0aGUgaGFuZGxpbmcgb2YKCSAgQ01BS0VfTUlOSU1VTV9SRVFVSVJFRCBhbmQgQkFDS1dBUkRTX0NPTVBBVElCSUxJVFkgYW5kIGV4dGVuZCB0aGUKCSAgZG9jdW1lbnRhaXRvbiBxdWl0ZSBhIGJpdAoKMjAwOC0wMy0wNiAwMDowMCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAzLTA1IDE4OjQyICBraW5nCgoJKiBTb3VyY2UvY21Qb2xpY2llcy5jeHg6IEVOSDogRml4IHBvbGljeSB3YXJuaW5nIG1lc3NhZ2UgdG8gbm90CgkgIGdpdmUgd3JvbmcgY29kZSBhcyBleGFtcGxlLgoKMjAwOC0wMy0wNSAxODoyMSAga2luZwoKCSogU291cmNlLzogY21DTWFrZVBvbGljeUNvbW1hbmQuY3h4LCBjbUNNYWtlUG9saWN5Q29tbWFuZC5oLAoJICBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oOiBFTkg6IEltcHJvdmUgY21ha2VfcG9saWN5IGNvbW1hbmQKCSAgc2lnbmF0dXJlCgoJICAgIC0gUmVwbGFjZSBORVcgYW5kIE9MRCBtb2RlcyB3aXRoIGEgU0VUIG1vZGUgZm9yIGNsYXJpdHkKCSAgICAtIEVuZm9yY2UgVkVSU0lPTiBhcmd1bWVudCB2YWxpZGl0eSAobWFqb3IubWlub3JbLnBhdGNoXSkKCjIwMDgtMDMtMDUgMTg6MjAgIGtpbmcKCgkqIFNvdXJjZS9jbVBvbGljaWVzLmN4eDogQlVHOiBSZXF1aXJlIHBvbGljeSB2ZXJzaW9uIHRvIHNwZWNpZnkgYXQKCSAgbGVhc3QgbWFqb3IubWlub3IuICBEbyBub3Qgc3RvcmUgQ01BS0VfQkFDS1dBUkRTX0NPTVBBVElCSUxJVFkKCSAgd2l0aCBhbiBpbnZhbGlkIHZlcnNpb24gdmFsdWUuCgoyMDA4LTAzLTA1IDE3OjI2ICBraW5nCgoJKiBTb3VyY2UvY21Qb2xpY2llcy5jeHg6IEJVRzogRml4IHBhcnNpbmcgb2YgcG9saWN5IHZlcnNpb24gbnVtYmVyCgkgIGluIGNtUG9saWNpZXMuCgoyMDA4LTAzLTA1IDE1OjU1ICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlRm9ydHJhbkNvbXBpbGVyLmNtYWtlLmluOiBFTkg6IFBhdGNoIGZyb20gTWFpayB0bwoJICBhZGQgbW9yZSBmb3J0cmFuIGV4dGVuc2lvbnMuCgoyMDA4LTAzLTA1IDEyOjUzICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6CgkgIEVOSDoJQWxsb3cgdXNlcnMgdG8gcmVjb3ZlciBmcm9tIHRyeWluZyB0byB1c2UgYW4gaW1wcm9wZXJseQoJICBpbnN0YWxsZWQgUXQJICAgICB3aXRob3V0IHJlbW92aW5nIHRoZWlyIGNhY2hlLCBmaXhpbmcgdGhlaXIKCSAgZW52aXJvbm1lbnQgYW5kIHRyeWluZyBhZ2Fpbi4KCjIwMDgtMDMtMDUgMTE6NDEgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQ29uZmlndXJlRmlsZUNvbW1hbmQuY3h4LCBjbU1ha2VmaWxlLmN4eCwKCSAgY21Qb2xpY2llcy5jeHgsIGNtUG9saWNpZXMuaDogQlVHOiBzb21lIGZpeGVzLCBzdGlsbCBhIGZldyB0byBnbwoKMjAwOC0wMy0wNSAxMTowNSAgaG9mZm1hbgoKCSogU291cmNlLzogY21Eb2N1bWVudGF0aW9uLmN4eCwgY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVyLmgsCgkgIGNtRG9jdW1lbnRhdGlvbkZvcm1hdHRlckhUTUwuY3h4LCBjbURvY3VtZW50YXRpb25Gb3JtYXR0ZXJIVE1MLmg6CgkgIEVOSDogYWRkIG1hc3RlciBpbmRleCBpbnRvIGh0bWwgZnVsbCBoZWxwCgoyMDA4LTAzLTA1IDAzOjExICBld2luZwoKCSogTW9kdWxlcy9GaW5kT3BlbkFMLmNtYWtlOiBCVUc6IEZpeGVkIFBBVEhfU1VGRklYRVMgY29weS9wYXN0ZSBidWcKCSAgKDAwMDYyMDEpCgoyMDA4LTAzLTA1IDAwOjAwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDMtMDQgMTg6NTcgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogQlVHOiBNYWtlIHN1cmUgYXQgbGVhc3Qgb25lIHBvbGljeSBzdGFjawoJICBlbnRyeSBpcyBjcmVhdGVkIGZvciBldmVyeSBjbU1ha2VmaWxlIGluc3RhbmNlLgoKMjAwOC0wMy0wNCAxODo0MiAga2luZwoKCSogU291cmNlLzogY21DTWFrZU1pbmltdW1SZXF1aXJlZC5jeHgsIGNtQ01ha2VNaW5pbXVtUmVxdWlyZWQuaDoKCSAgRU5IOiBNYWtlIENNQUtFX01JTklNVU1fUkVRVUlSRUQgY29tbWFuZCBGQVRBTF9FUlJPUiBvcHRpb24KCSAgaW1wbGljaXQgKGFsd2F5cyBvbikuICBBY2NlcHQgYnV0IGlnbm9yZSB0aGUgZXhpc3Rpbmcgb3B0aW9uLgoKMjAwOC0wMy0wNCAxODo0MSAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUluY2x1ZGVEaXJlY3RvcnlDb21tYW5kLmN4eDoKCSAgQlVHOiBGaXggY3Jhc2ggd2hlbiBDTUFLRV9CQUNLV0FSRFNfQ09NUEFUSUJJTElUWSBpcyBub3Qgc2V0LgoKMjAwOC0wMy0wNCAxNDo1MSAgbWFydGluawoKCSogU291cmNlLzogY21DTWFrZU1pbmltdW1SZXF1aXJlZC5jeHgsIGNtUG9saWNpZXMuY3h4LCBjbWFrZS5jeHg6CgkgIEVOSDogbW9yZSBwb2xpY3kgY2hhbmdlcwoKMjAwOC0wMy0wNCAxMzo1MSAga2luZwoKCSogU291cmNlL2NtVGFyZ2V0LmN4eDogQlVHOiBGaXggbWVtb3J5IGxlYWsgd2hlbiBjbVRhcmdldCBpbnN0YW5jZXMKCSAgYXJlIGFzc2lnbmVkLiAgV2UgcmVhbGx5IG5lZWQgdG8gZ2V0IHJpZCBvZiBnbG9iYWwgdGFyZ2V0cyBhbmQKCSAgdGhlaXIgYXNzb2NpYXRlZCBhc3NpZ25tZW50cy4KCjIwMDgtMDMtMDQgMTM6MzQgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3VibWl0SGFuZGxlci5jeHg6IFNUWUxFOiBmaXggbGluZSBsZW4KCjIwMDgtMDMtMDQgMDk6NDAgIGtpbmcKCgkqIFNvdXJjZS9jbURvY3VtZW50VmFyaWFibGVzLmN4eDogQlVHOiBGaXggdHlwbyBpbiBkb2N1bWVudGF0aW9uIG9mCgkgIExJQlJBUllfT1VUUFVUX1BBVEguCgoyMDA4LTAzLTA0IDA5OjE2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbURvY3VtZW50YXRpb24uY3h4LCBjbURvY3VtZW50YXRpb24uaCwKCSAgY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVyLmgsIGNtUG9saWNpZXMuY3h4LCBjbVBvbGljaWVzLmgsCgkgIGNtYWtlLmN4eCwgY21ha2UuaCwgY21ha2VtYWluLmN4eDogRU5IOiBhZGQgLS1oZWxwLXBvbGljaWVzIGFuZAoJICAtLWhlbHAtcG9saWN5IGNvbW1hbmQgbGluZSBvcHRpb25zCgoyMDA4LTAzLTA0IDA5OjEwICBtYXJ0aW5rCgoJKiBDTWFrZUxpc3RzLnR4dDogQlVHOiB1bmRvIGFjY2lkZW50YWwgY29tbWl0CgoyMDA4LTAzLTA0IDA4OjE4ICBkYXZpZC5jb2xlCgoJKiBUZXN0cy9DTWFrZVRlc3RzL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9DTWFrZVRlc3RzL0dldFByZXJlcXVpc2l0ZXNUZXN0LmNtYWtlLmluLAoJICBNb2R1bGVzL0dldFByZXJlcXVpc2l0ZXMuY21ha2U6IEVOSDogQWRkIHNjcmlwdAoJICBHZXRQcmVyZXF1aXNpdGVzLmNtYWtlIHRvIGhlbHAgYW5hbHl6ZSB3aGF0IHNoYXJlZCBsaWJyYXJpZXMKCSAgZXhlY3V0YWJsZSBmaWxlcyBkZXBlbmQgb24uIFByaW1hcnkgdXNlcyBhcmUgdG8gZGV0ZXJtaW5lIHdoYXQKCSAgc2hhcmVkIGxpYnJhcmllcyBzaG91bGQgYmUgY29waWVkIGludG8gTWFjIE9TWCBidW5kbGUKCSAgYXBwbGljYXRpb25zIHRvIGNyZWF0ZSBzdGFuZGFsb25lIGJ1bmRsZXMgYXBwcyBhbmQgdG8gZGV0ZXJtaW5lCgkgIHdoYXQgc2hhcmVkIGxpYnJhcnkgZmlsZXMgbmVlZCB0byBiZSBpbnN0YWxsZWQgZm9yIGFuIGV4ZWN1dGFibGUKCSAgdG8gcnVuIG9uIGFueSBwbGF0Zm9ybS4gUmVxdWlyZXMgbmF0aXZlIHBsYXRmb3JtIHRvb2xzIGR1bXBiaW4sCgkgIG90b29sIGFuZCBsZGQgdG8gZ2VuZXJhdGUgcmVzdWx0cy4KCjIwMDgtMDMtMDQgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wMy0wMyAyMDozMSAga2luZwoKCSogTW9kdWxlcy9Vc2V3eFdpZGdldHMuY21ha2U6IFNUWUxFOiBSZW1vdmUgdHJhaWxpbmcgd2hpdGVzcGFjZS4KCjIwMDgtMDMtMDMgMjA6MjQgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VBU01JbmZvcm1hdGlvbi5jbWFrZTogU1RZTEU6IFJlbW92ZSB0cmFpbGluZwoJICB3aGl0ZXNwYWNlLgoKMjAwOC0wMy0wMyAxNTo1NiAga2luZwoKCSogTW9kdWxlcy9Vc2Vfd3hXaW5kb3dzLmNtYWtlOiBTVFlMRTogUmVtb3ZlIHRyYWlsaW5nIHdoaXRlc3BhY2UuCgoyMDA4LTAzLTAzIDExOjU3ICBraW5nCgoJKiBNb2R1bGVzL1ZUS0NvbXBhdGliaWxpdHkuY21ha2U6IFNUWUxFOiBSZW1vdmUgdHJhaWxpbmcKCSAgd2hpdGVzcGFjZS4KCjIwMDgtMDMtMDMgMTE6MjggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuY3h4OiBFTkg6IGZpeCBJQ0Ugd2l0aCBnY2MgaW4KCSAgZGFzaDgKCjIwMDgtMDMtMDMgMTE6MTggIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VGb3JjZUNvbXBpbGVyLmNtYWtlOiBTVFlMRTogRml4ZWQgZG9jcyBvZiBuZXcKCSAgQ01ha2VGb3JjZUNvbXBpbGVyCgoyMDA4LTAzLTAzIDExOjE2ICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlRm9yY2VDb21waWxlci5jbWFrZTogRU5IOiBSZXN0b3JlCgkgIENNQUtFX0ZPUkNFX0NfQ09NUElMRVIgYW5kIENNQUtFX0ZPUkNFX0NYWF9DT01QSUxFUiBtYWNyb3MgaW4KCSAgQ01ha2VGb3JjZUNvbXBpbGVyIG1vZHVsZS4KCjIwMDgtMDMtMDMgMDg6NDggIGtpbmcKCgkqIFNvdXJjZS9jbUVMRi5jeHg6IENPTVA6IEZpeCBjbUVMRiB0byBidWlsZCB3aGVuIEVUX0xPT1MsIEVUX0hJT1MsCgkgIEVUX0xPUFJPQywgRVRfSElQUk9DIG1heSBub3QgYmUgZGVmaW5lZC4KCjIwMDgtMDMtMDMgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wMy0wMiAxNjo0OCAga2luZwoKCSogU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHg6IEVOSDogRHVyaW5nIGluc3RhbGxhdGlvbiBkbwoJICBub3QgdXNlIGJ1aWx0aW4gY2hycGF0aCBpZiB0aGUgcnBhdGggd2lsbCBub3QgY2hhbmdlLgoKMjAwOC0wMy0wMiAxNjozNyAga2luZwoKCSogU291cmNlL2NtVGFyZ2V0LmN4eDogRU5IOiBBbGxvdyB1c2VycyB0byB3b3JrIGFyb3VuZCBwcm9ibGVtcwoJICB3aXRoIHRoZSBidWlsdGluIGNocnBhdGggYnkgc2V0dGluZyBDTUFLRV9OT19CVUlMVElOX0NIUlBBVEguCgoyMDA4LTAzLTAyIDE2OjMxICBraW5nCgoJKiBTb3VyY2UvY21FTEYuY3h4OiBCVUc6IEZpeCBidWcgaW50cm9kdWNlZCBieSB3b3JrYXJvdW5kIHRvCgkgIHdhcm5pbmcuCgoyMDA4LTAzLTAyIDE2OjE5ICBraW5nCgoJKiBTb3VyY2UvOiBjbUVMRi5jeHgsIGNtRUxGLmg6IEJVRzogQSBmZXcgbW9yZSBjb3JyZWN0aW9ucyBmb3IKCSAgY21FTEYKCgkgICAgLSBBZGQgb3Mtc3BlY2lmaWMgYW5kIHByb2Nlc3Nvci1zcGVjaWZpYyBmaWxlIHR5cGVzCgkgICAgLSBBZGQgbW9yZSBlcnJvciBzdHJpbmdzIGZvciBpbnZhbGlkIGZpbGVzLgoJICAgIC0gQnl0ZSBvcmRlciBvZiBoZWFkZXIgZmllbGRzIGRvZXMgbm90IGFsd2F5cyBtYXRjaCBlbmNvZGluZwoKMjAwOC0wMy0wMiAxNjoxOSAga2luZwoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IEluIGNtU3lzdGVtVG9vbHM6OkNoYW5nZVJQYXRoCgkgIGNoZWNrIGZvciB0aGUgUlVOUEFUSCBpZiBSUEFUSCBkb2VzIG5vdCBleGlzdC4KCjIwMDgtMDMtMDIgMTQ6MzUgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5jeHgsIGNtRmlsZUNvbW1hbmQuY3h4LAoJICBjbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuY3h4LCBjbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaCwgY21UYXJnZXQuY3h4OiBFTkg6IENsZWFudXAKCSAgYnVpbHRpbiBjaHJwYXRoIHN1cHBvcnQKCgkgICAgLSBNb3ZlIGNvbXB1dGF0aW9uIG9mIGV4dGVuZGVkIGJ1aWxkLXRyZWUgcnBhdGgKCSAgICAgIHRvIGNtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbgoJICAgIC0gT25seSBlbmFibGUgdGhlIGV4dGVuZGVkIGJ1aWxkLXRyZWUgcnBhdGggaWYKCSAgICAgIHRoZSB0YXJnZXQgd2lsbCBiZSBpbnN0YWxsZWQKCSAgICAtIEdlbmVyYWxpemUgdGhlIGludGVyZmFjZSBvZiBmaWxlKENIUlBBVEgpCgkgICAgLSBXaGVuIGNoYW5naW5nIHRoZSBycGF0aCBvbiBpbnN0YWxsYXRpb24gb25seQoJICAgICAgcmVwbGFjZSB0aGUgcGFydCBnZW5lcmF0ZWQgYnkgQ01ha2UgYmVjYXVzZQoJICAgICAgdGhlIG5hdGl2ZSB0b29scyAoZXggU3VuQ0Mgb24gTGludXgpIG1pZ2h0IGhhdmUKCSAgICAgIGFkZGVkIHRoZWlyIG93biBwYXJ0IHRvIHRoZSBycGF0aAoKMjAwOC0wMy0wMiAxNDozNSAga2luZwoKCSogQ01ha2VMaXN0cy50eHQ6IEVOSDogU2ltcGxpZnkgdGVzdHMgZm9yIGJ1aWxkaW5nIENNYWtlIGl0c2VsZgoJICB3aXRoIHJwYXRoIHN1cHBvcnQgbm93IHRoYXQgMi40IGlzIHJlcXVpcmVkIHRvIGJ1aWxkLgoKMjAwOC0wMy0wMiAwOToxMiAgbWFydGluawoKCSogU291cmNlL2NtUG9saWNpZXMuaDogQ09NUDogcG9zc2libGUgZml4IGZvciBWUzYsIGJ1dCBwcm9iYWJseQoJICBub3QsIHByb2JhYmx5IG5lZWQgdG9tYWtlIGl0IGludGVybmFsCgoyMDA4LTAzLTAyIDA5OjExICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IENPTVA6IGZpeCB3YXJuaW5nCgoyMDA4LTAzLTAyIDA5OjAzICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbVBvbGljaWVzLmN4eCwgY21Qb2xpY2llcy5oOiBFTkg6IHJldmVydCBkdW1iIGNoYW5nZQoKMjAwOC0wMy0wMiAwODozNiAgbWFydGluawoKCSogU291cmNlLzogY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmN4eCwgY21Qb2xpY2llcy5jeHgsCgkgIGNtUG9saWNpZXMuaDogQ09NUDogZml4IGNvbXBpbGUgZXJyb3JzIG9uIHZzNiBhbmQgYSB3YXJuaW5nCgoyMDA4LTAzLTAyIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDMtMDEgMTY6MjEgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogQlVHOiBiYWQgbG9vcCBpbmRleCB1bnNpZ25lZCBjb21wYXJlZCB0bwoJICB6ZXJvCgoyMDA4LTAzLTAxIDE1OjQ0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuY3h4LCBjbU1ha2VmaWxlLmN4eDogQ09NUDogZml4CgkgIHNvbWUgd2FybmluZ3MKCjIwMDgtMDMtMDEgMTU6MjYgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtUG9saWNpZXMuY3h4LCBjbVBvbGljaWVzLmg6IFNUWUxFOiBmaXggc29tZSBsaW5lCgkgIGxlbmd0aHMKCjIwMDgtMDMtMDEgMTU6MjAgIG1hcnRpbmsKCgkqIENNYWtlTGlzdHMudHh0LCBib290c3RyYXAsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL2NtQWRkQ3VzdG9tVGFyZ2V0Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUJvb3RzdHJhcENvbW1hbmRzLmN4eCwgU291cmNlL2NtQ29tbWFuZC5oLAoJICBTb3VyY2UvY21JbmNsdWRlRGlyZWN0b3J5Q29tbWFuZC5jeHgsIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGUuaCwgU291cmNlL2NtYWtlLmN4eCwgU291cmNlL2NtYWtlLmg6IEVOSDogYWRkCgkgIGZpcnN0IGN1dCBhbmQgcG9saWNpZXMgc3RpbGwgbmVlZCB0byBhZGQgdGhlIGRvYyBzdXBwb3J0CgoyMDA4LTAzLTAxIDE1OjE2ICBraW5nCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IENPTVA6IEZpeCB1bnVzZWQgcGFyYW1ldGVyIHdhcm5pbmcgd2hlbgoJICBjbVN5c3RlbVRvb2xzOjpDaGFuZ2VSUGF0aCBpcyBidWlsdCB3aXRob3V0IEVMRiBzdXBwb3J0LgoKMjAwOC0wMy0wMSAxMzoxNyAga2luZwoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBCVUc6IEZpeCBjbVN5c3RlbVRvb2xzOjpDaGFuZ2VSUGF0aCB0bwoJICBub3QgY29tcGxhaW4gaWYgdGhlcmUgaXMgbm8gUlBBVEggZW50cnkgaW4gdGhlIGZpbGUgYnV0IHRoZQoJICByZXF1ZXN0ZWQgbmV3IHJwYXRoIGlzIGVtcHR5LgoKMjAwOC0wMy0wMSAxMzowMiAga2luZwoKCSogU291cmNlL2NtVGFyZ2V0LmN4eDogQlVHOiBEbyBub3QgdHJ5IHRvIGNoYW5nZSB0aGUgUlBBVEggd2hlbgoJICBpbnN0YWxsaW5nIGEgdGFyZ2V0IGlmIENNQUtFX1NLSVBfUlBBVEggaXMgb24gb3IgdGhlIHBhdGggZG9lcwoJICBub3QgbmVlZCB0byBiZSBjaGFuZ2VkLgoKMjAwOC0wMy0wMSAxMjo1MSAga2luZwoKCSogTW9kdWxlcy9DTWFrZUZpbmRCaW5VdGlscy5jbWFrZSwKCSAgU291cmNlL2NtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5jeHgsCgkgIFNvdXJjZS9jbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uaCwgU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21GaWxlQ29tbWFuZC5oLCBTb3VyY2UvY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4LCBTb3VyY2UvY21TeXN0ZW1Ub29scy5oLAoJICBTb3VyY2UvY21UYXJnZXQuY3h4LCBTb3VyY2UvY21UYXJnZXQuaDogRU5IOiBVc2UgYnVpbHRpbiBjaHJwYXRoCgkgIGluc3RlYWQgb2YgcmVsaW5raW5nIEVMRiB0YXJnZXRzCgoJICAgIC0gQWRkIGNtU3lzdGVtVG9vbHM6OkNoYW5nZVJQYXRoIG1ldGhvZAoJICAgIC0gQWRkIHVuZG9jdW1lbnRlZCBmaWxlKENIUlBBVEgpIGNvbW1hbmQKCSAgICAtIFdoZW4gaW5zdGFsbGluZyB1c2UgZmlsZShDSFJQQVRIKSB0byBjaGFuZ2UgdGhlIHJwYXRoCgkgICAgICBpbnN0ZWFkIG9mIHJlbGlua2luZwoJICAgIC0gUmVtb3ZlIENNQUtFX0NIUlBBVEggbG9va3VwIGZyb20gQ01ha2VGaW5kQmluVXRpbHMKCSAgICAtIFJlbW92ZSBDTUFLRV9VU0VfQ0hSUEFUSCBvcHRpb24gc2luY2UgdGhpcyBzaG91bGQKCSAgICAgIGFsd2F5cyB3b3JrCgoyMDA4LTAzLTAxIDEyOjUwICBraW5nCgoJKiBTb3VyY2UvOiBjbUVMRi5jeHgsIGNtRUxGLmg6IEVOSDogQWRkIFNpemUgbWVtYmVyIHRvCgkgIGNtRUxGOjpTdHJpbmdFbnRyeSB0byByZXR1cm4gdGhlIGFtb3VudCBvZiBzcGFjZSBpbiB0aGUgc3RyaW5nCgkgIGVudHJ5LgoKMjAwOC0wMy0wMSAxMDo1NiAga2luZwoKCSogVGVzdHMvUHJlcHJvY2Vzcy9DTWFrZUxpc3RzLnR4dDogQlVHOiBGaXggdHlwbyBYQ29kZSAtPiBYY29kZSBpbgoJICBQcmVwcm9jZXNzIHRlc3QuCgoyMDA4LTAzLTAxIDA5OjA4ICBraW5nCgoJKiBUZXN0cy9QcmVwcm9jZXNzL0NNYWtlTGlzdHMudHh0OiBFTkg6IFVwZGF0ZSBQcmVwcm9jZXNzIHRlc3QgdG8KCSAgZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGUgbWFrZSB0b29sIG9yIGNvbXBpbGVyIHRvb2wgdGhhdCBpcyBhdAoJICBmYXVsdCBmb3Igbm90IHN1cHBvcnRpbmcgYSBwYXJ0aWN1bGFyIGNoYXJhY3RlciBpbiBkZWZpbml0aW9ucy4KCSAgTWFrZSBpdCBza2lwIHRoZSAlIGNoYXJhY3RlciB3aGVuIHRoZSBjb21waWxlciBpcyBNU1ZDIGFuZCBpdCBpcwoJICBhIG5vbi1ubWFrZSB0b29sLgoKMjAwOC0wMy0wMSAwOTowOCAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlLCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6CgkgIEJVRzogRG8gbm90IHBsYWNlICQoQ01BS0VfQ09NTUFORCkgaW4gbGluayBzY3JpcHRzLgoKMjAwOC0wMy0wMSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAyLTI5IDIxOjMzICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUlmQ29tbWFuZC5jeHgsIGNtV2hpbGVDb21tYW5kLmN4eDogRU5IOiBmaXggd2FybmluZ3MKCjIwMDgtMDItMjkgMjE6MzMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVNldFNvdXJjZUZpbGVzUHJvcGVydGllc0NvbW1hbmQuaDogRU5IOiBmaXggZG9jcwoKMjAwOC0wMi0yOSAxNTo0MiAgbWFydGluawoKCSogU291cmNlL2NtQ01ha2VQb2xpY3lDb21tYW5kLmN4eDogRU5IOiBqdXN0IGdldHRpbmcgc29tZXRobmcKCSAgY2hlY2tlZCBpbiwgc3RpbGwgd29yayB0byBkbwoKMjAwOC0wMi0yOSAxNTo0MSAgbWFydGluawoKCSogU291cmNlL2NtQ21ha2VQb2xpY3lDT21tYW5kLmN4eDogRU5IOiBjYXNlCgoyMDA4LTAyLTI5IDE1OjI4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUNNYWtlUG9saWN5Q29tbWFuZC5oLCBjbUNtYWtlUG9saWN5Q09tbWFuZC5jeHgsCgkgIGNtUG9saWNpZXMuY3h4LCBjbVBvbGljaWVzLmg6IEVOSDoganVzdCBnZXR0aW5nIHNvbWV0aG5nIGNoZWNrZWQKCSAgaW4sIHN0aWxsIHdvcmsgdG8gZG8KCjIwMDgtMDItMjkgMTQ6NTggIGhvZmZtYW4KCgkqIE1vZHVsZXMvRGFydENvbmZpZ3VyYXRpb24udGNsLmluLAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN1Ym1pdEhhbmRsZXIuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN1Ym1pdEhhbmRsZXIuaDogRU5IOiBhbGxvdyBjZGFzaCBub3QgdG8KCSAgdHJpZ2dlcgoKMjAwOC0wMi0yOSAxNDozNiAgaG9mZm1hbgoKCSogTW9kdWxlcy9JbnN0YWxsUmVxdWlyZWRTeXN0ZW1MaWJyYXJpZXMuY21ha2U6IEVOSDogYWRkIHZzOSBzdHVmZiwKCSAgc3RpbGwgbmVlZCBtc3ZjOSBtZmMKCjIwMDgtMDItMjkgMTI6MTggIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtRm9yRWFjaENvbW1hbmQuY3h4LCBjbUZ1bmN0aW9uQ29tbWFuZC5jeHgsCgkgIGNtSWZDb21tYW5kLmN4eCwgY21NYWNyb0NvbW1hbmQuY3h4LCBjbU1ha2VmaWxlLmN4eCwKCSAgY21XaGlsZUNvbW1hbmQuY3h4OiBFTkg6IG1ha2UgQ01BS0VfQUxMT1dfTE9PU0VfTE9PUF9DT05TVFJVQ1RTCgkgIHRoZSBkZWZhdWx0IGFuZCByZW1vdmUgdGhlIHByb3BlcnR5LglJZiBhbnkgdmFsdWUgaXMgc3BlY2lmaWVkCgkgIGluIGFuIGVuZGlmLCBlbmRmb3JlYWNoLCBlbmR3aGlsZSwgZXRjIHRoZW4gbWFrZSBzdXJlIGl0IG1hdGNoZXMKCSAgdGhlIHN0YXJ0IHN0cmluZy4gIElmIG5vIHZhbHVlcyBhcmUgZ2l2ZW4gdGhlbiBpdCBpcyBubyBsb25nZXIgYW4KCSAgZXJyb3IuCgoyMDA4LTAyLTI5IDExOjEyICBraW5nCgoJKiBTb3VyY2UvOiBjbUVMRi5jeHgsIGNtRUxGLmg6IEVOSDogTWFrZSBjbUVMRiBwYXJzZXIgbW9yZSBnZW5lcmFsCgkgIGFuZCBwb3dlcmZ1bAoKCSAgICAtIEFkZCBzdXBwb3J0IHRvIGdldCBSUEFUSCBhbmQgUlVOUEFUSCBlbnRyaWVzLgoJICAgIC0gQWRkIHN1cHBvcnQgdG8gZ2V0IGZpbGUgb2Zmc2V0cyB0byBzdHJpbmdzLgoJICAgIC0gQWRkIG1vcmUgRFRfKiB0YWdzIHRvIGJ5dGUgc3dhcHBpbmcuCgoyMDA4LTAyLTI5IDA5OjE1ICBraW5nCgoJKiBTb3VyY2UvY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmN4eDogQlVHOgoJICBjbUNvbXB1dGVMaW5rSW5mb3JtYXRpb246OkNoZWNrSW1wbGljaXREaXJJdGVtIG5lZWRzIHRvIGV4dHJhY3QKCSAgdGhlIGZpbGVuYW1lIHBvcnRpb24gb2YgdGhlIGxpbmsgaXRlbSB0byB0ZXN0IGFnYWluc3QgdGhlIGxpYnJhcnkKCSAgcmVnZXguCgoyMDA4LTAyLTI5IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDItMjggMDg6NDMgIGtpbmcKCgkqIFNvdXJjZS9jbUVMRi5jeHg6IENPTVA6IGNtRUxGIG5lZWRzIHRvIGluY2x1ZGUgc3lzL2xpbmsuaCB0byBnZXQKCSAgZHluYW1pYyBzZWN0aW9uIHN0cnVjdHVyZXMgb24gdGhlIFN1bi4KCjIwMDgtMDItMjggMDg6MzIgIGtpbmcKCgkqIFNvdXJjZS9jbUVMRi5jeHg6IENPTVA6IEZpeCB3YXJuaW5ncyBpbiBjbUVMRi4KCjIwMDgtMDItMjggMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wMi0yNyAxNzoxMCAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWlmb3J0LmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL2NsLmNtYWtlLAoJICBTb3VyY2UvY21Eb2N1bWVudFZhcmlhYmxlcy5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuaDogRU5IOiBIYW5kbGUgbGFyZ2Ugb2JqZWN0IGZpbGUKCSAgbGlzdHMgb24gc29tZSBwbGF0Zm9ybXMKCgkgICAgLSBVc2UgYSByZXNwb25zZSBmaWxlIHdoZW4gZW5hYmxlZCBieQoJICAgICAgQ01BS0VfPExBTkc+X1VTRV9SRVNQT05TRV9GSUxFX0ZPUl9PQkpFQ1RTCgkgICAgLSBFbmFibGUgZm9yIEMgYW5kIENYWCB3aXRoIGNsIChNU1ZDKQoJICAgIC0gRW5hYmxlIGZvciBGb3J0cmFuIHdpdGggaWZvcnQgKEludGVsIEZvcnRyYW4pCgoyMDA4LTAyLTI3IDE2OjI2ICBraW5nCgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21Db25maWd1cmUuY21ha2UuaC5pbiwgY21FTEYuY3h4LAoJICBjbUVMRi5oLCBjbVN5c3RlbVRvb2xzLmN4eDogRU5IOiBBZGQgRUxGIGZpbGUgcGFyc2luZwoKCSAgICAtIEVuYWJsZWQgd2hlbiBzeXN0ZW0gcHJvdmlkZXMgZWxmLmgKCSAgICAtIEludHJvZHVjZSBjbUVMRiBjbGFzcyB0byBwYXJzZSBFTEYgZmlsZXMKCSAgICAtIFVzZSBpbiBjbVN5c3RlbVRvb2xzOjpHdWVzc0xpYnJhcnlTT05hbWUgdG8gcmVhbGx5IGdldCBzb25hbWUKCjIwMDgtMDItMjcgMTY6MTEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9DUFUuaC5pbjogQlVHOiBGaXhlZCB0eXBvIGluIHByZXZpb3VzIGNvbW1pdCBvZgoJICBrd3N5cy9DUFUuaC5pbgoKMjAwOC0wMi0yNyAxNjowNyAga2luZwoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIENQVS5oLmluOiBFTkg6IEFkZGVkIENQVS5oIHRvCgkgIEtXU3lzIHRvIGlkZW50aWZ5IHRoZSB0YXJnZXQgQ1BVIGFuZCBpdHMgYnl0ZSBvcmRlci4KCjIwMDgtMDItMjcgMTQ6MzEgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vOiBIUC1VWC5jbWFrZSwgSVJJWDY0LmNtYWtlLCBMaW51eC1QR0ktQy5jbWFrZSwKCSAgTGludXgtUEdJLUNYWC5jbWFrZSwgU3VuT1MuY21ha2UsIFdpbmRvd3MtYmNjMzIuY21ha2UsIGdjYy5jbWFrZToKCSAgQlVHOiBBcHBseSBwYXRjaCBmcm9tIGJ1ZyM2NDQ1LiAgQWRkIHByZXByb2Nlc3NvciBkZWZpbml0aW9ucyB0bwoJICBhc3NlbWJseSBhbmQgcHJlcHJvY2Vzc2luZyBidWlsZCBydWxlcy4KCjIwMDgtMDItMjcgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wMi0yNiAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAyLTI1IDE4OjQ3ICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlQ0NvbXBpbGVySWQuYy5pbjogRU5IOiBBZGQgc3VwcG9ydCB0byBDIGNvbXBpbGVyCgkgIGlkZW50aWZpY2F0aW9uIGZvciB2b2lkIHJldHVybiB0eXBlIGZyb20gbWFpbi4gIENyb3NzLWNvbXBpbGVycwoJICBmb3IgZW1iZWRkZWQgcGxhdGZvcm1zIG1heSByZXF1aXJlIGl0LgoKMjAwOC0wMi0yNSAxNTowNyAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nL0NNYWtlU2V0dXBEaWFsb2cuY3h4OgoJICBFTkg6CUFkanVzdCB3aGVuIGxvZyBpcyBjbGVhcmVkLiAgSXRzIGtlcHQgZG9pbmcgZ2VuZXJhdGUsCgkgIGFuZCBjbGVhcmVkIHdoZW4gY2hhbmdpbmcgdGhlIHNvdXJjZSBkaXJlY3RvcnkuCSAjNjM1OC4KCjIwMDgtMDItMjUgMTQ6MjMgIGFsZXgKCgkqIE1vZHVsZXMvQ1BhY2tSUE0uY21ha2U6IEJVRzogZml4IHJwbWJ1aWxkIGJ1Zywgd2hpY2ggZXhwYW5kcwoJICB2YXJpYWJsZXMgaW4gY29tbWVudHMgOi0vIGFwcGFyZW50bHkgcnBtYnVpbGQgY2FuJ3QgaGFuZGxlIHBhdGhzCgkgIHdpdGggc3BhY2VzIGFuZCBjYW4ndCBoYW5kbGUgdmFyaWFibGVzIGluIGNvbW1lbnRzLi4uCgoJICBBbGV4CgoyMDA4LTAyLTI1IDEwOjE3ICBkYXZpZC5jb2xlCgoJKiBDVGVzdEN1c3RvbS5jbWFrZS5pbjogQlVHOiBFeGNsdWRlIHRyeV9jb21waWxlIHNvdXJjZXMgYW5kIGt3c3lzCgkgIGZpbGVzIGZyb20gQ01ha2UgY292ZXJhZ2UgcmVzdWx0cy4KCjIwMDgtMDItMjUgMDk6MjMgIGtpbmcKCgkqIE1vZHVsZXMvOiBDTWFrZUNDb21waWxlcklkLmMsIENNYWtlQ0NvbXBpbGVySWQuYy5pbiwKCSAgQ01ha2VDWFhDb21waWxlcklkLmNwcCwgQ01ha2VDWFhDb21waWxlcklkLmNwcC5pbiwKCSAgQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2UsIENNYWtlRGV0ZXJtaW5lQ1hYQ29tcGlsZXIuY21ha2UsCgkgIENNYWtlRGV0ZXJtaW5lQ29tcGlsZXJJZC5jbWFrZSwKCSAgQ01ha2VEZXRlcm1pbmVGb3J0cmFuQ29tcGlsZXIuY21ha2UsIENNYWtlRm9ydHJhbkNvbXBpbGVySWQuRjkwLAoJICBDTWFrZUZvcnRyYW5Db21waWxlcklkLkY5MC5pbiwgQ01ha2VQbGF0Zm9ybUlkLmgsCgkgIENNYWtlUGxhdGZvcm1JZC5oLmluOiBFTkg6IEltcHJvdmllZCBjb21waWxlciBpZGVudGlmaWNhdGlvbgoJICByb2J1c3RuZXNzCgoJICAgIC0gV3JpdGUgYSBzaW5nbGUgc291cmNlIGZpbGUgaW50byB0aGUgY29tcGlsZXIgaWQgZGlyZWN0b3J5CgkgICAgLSBUaGlzIGF2b2lkIHJlcXVpcmluZyB0aGUgY29tcGlsZXIgdG8gYmVoYXZlIGNvcnJlY3RseSB3aXRoCgkgICAgICByZXNwZWN0IHRvIGluY2x1ZGUgcnVsZXMgYW5kIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5CgkgICAgLSBIZWxwcyB0byBpZGVudGlmeSBjcm9zcy1jb21waWxpbmcgdG9vbGNoYWlucyB3aXRoIHVudXN1YWwKCSAgICAgIGRlZmF1bHQgYmVoYXZpb3IKCjIwMDgtMDItMjUgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wMi0yNCAxNDowNSAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWJjYzMyLmNtYWtlLAoJICBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHg6IEVOSDogU2ltcGxpZnkgbWFrZSBidWlsZAoJICBydWxlIGdlbmVyYXRpb24gYnkgcmVtb3ZpbmcgdXNlIG9mIE9CSkVDVFNfUVVPVEVEIGFuZAoJICBUQVJHRVRfUVVPVEVEIHJ1bGUgdmFyaWFibGVzIGFuZCB1cGRhdGluZyB0aGUgZ2VuZXJhdGlvbiBvZgoJICBPQkpFQ1RTIHRvIGFsd2F5cyB1c2UgdGhlIG5ld2VyIGNtTG9jYWxHZW5lcmF0b3I6OkNvbnZlcnQgbWV0aG9kLgoKMjAwOC0wMi0yNCAxNDowNSAga2luZwoKCSogU291cmNlLzogY21Db21wdXRlTGlua0RlcGVuZHMuY3h4LCBjbUV4cG9ydEZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbVN0YW5kYXJkSW5jbHVkZXMuaCwgY21UYXJnZXQuY3h4OiBDT01QOiBGaXggQm9ybGFuZCA1LjUgYnVpbGQKCgkgICAgLSBJdHMgPGlvc2Z3ZD4gaGVhZGVyIGluY2x1ZGVzIHdpbmRvd3MuaCB3aGljaAoJICAgICAgZGVmaW5lcyBHZXRDdXJyZW50RGlyZWN0b3J5CgkgICAgLSBJdCBkZWZpbmVzICdpbnRlcmZhY2UnIHNvIHdlIGNhbm5vdCB1c2UgaXQgYXMKCSAgICAgIGEgdmFyaWFibGUgbmFtZS4KCjIwMDgtMDItMjQgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wMi0yMyAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAyLTIyIDA5OjQ0ICBraW5nCgoJKiBTb3VyY2UvY21PcmRlckRpcmVjdG9yaWVzLmN4eDogQ09NUDogRml4IHVucmVhY2hhYmxlIGNvZGUgd2FybmluZwoJICBpbiBjbU9yZGVyRGlyZWN0b3JpZXMuCgoyMDA4LTAyLTIyIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDItMjEgMTM6NTkgIGtpbmcKCgkqIFNvdXJjZS9jbU9yZGVyRGlyZWN0b3JpZXMuY3h4OiBDT01QOiBSZW1vdmUgdW51c2VkIGxvY2FsIHZhcmlhYmxlCgkgIGZyb20gY21PcmRlckRpcmVjdG9yaWVzLgoKMjAwOC0wMi0yMSAxMzo1OCAga2luZwoKCSogU291cmNlLzogY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmN4eCwgY21PcmRlckRpcmVjdG9yaWVzLmN4eCwKCSAgY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaDogRU5IOiBJbXByb3ZlIGxpbmtpbmcgdG8KCSAgdGhpcmQtcGFydHkgc2hhcmVkIGxpYnJhcmllcyBvbiBzb25hbWUgcGxhdGZvcm1zCgoJICAgIC0gUmVkdWNlIGZhbHNlIHBvc2l0aXZlcyBpbiBjYXNlcyBvZiB1bmtub3duIHNvbmFtZQoJICAgIC0gTWFrZSBsaWJyYXJ5IGV4dGVuc2lvbiByZWd1bGFyIGV4cHJlc3Npb25zIG1hdGNoIG9ubHkgYXQgZW5kCgkgIG9mIHN0cmluZwoJICAgIC0gV2hlbiBsaW5raW5nIHRvIGxpYnJhcmllcyBpbiBpbXBsaWNpdCBkaXJzIGNvbnZlcnQgdG8gdGhlIC1sCgkgIG9wdGlvbgoJICAgICAgb25seSBpZiB0aGUgZmlsZSBuYW1lIGlzIG9uZSB0aGF0IGNhbiBiZSBmb3VuZCBieSB0aGUgbGlua2VyCgkgICAgICAoZXguIC91c3IvbGliL2xpYmZvby5zby4xIHNob3VsZCBiZSBsaW5rZWQgYnkgZnVsbCBwYXRoKQoJICAgIC0gQWRkIGNtU3lzdGVtVG9vbHM6Okd1ZXNzTGlicmFyeVNPTmFtZSB0byBndWVzcyB0aGUgc29uYW1lIG9mCgkgIGEKCSAgICAgIGxpYnJhcnkgYmFzZWQgb24gcHJlc2VuY2Ugb2YgYSBzeW1saW5rCgkgICAgLSBJbiBjbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24gdHJ5IHRvIGd1ZXNzIGFuIHNvbmFtZSBiZWZvcmUKCSAgYXNzdW1pbmcKCSAgICAgIHRoYXQgYSB0aGlyZC1wYXJ0eSBsaWJyYXJ5IGlzIGJ1aWx0IHdpdGhvdXQgYW4gc29uYW1lCgkgICAgLSBJbiBjbU9yZGVyRGlyZWN0b3JpZXMgZ3Vlc3MgdGhlIHNvbmFtZSBvZiBzaGFyZWQgbGlicmFyaWVzIGluCgkgIGNhc2VzCgkgICAgICBpdCBpcyBvdGhlcndpc2UgdW5rbm93bgoKMjAwOC0wMi0yMSAxMTo0MSAga2luZwoKCSogYm9vdHN0cmFwLCBNb2R1bGVzL1BsYXRmb3JtL0ZyZWVCU0QuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vSFAtVVguY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vTGludXguY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vUU5YLmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL1N1bk9TLmNtYWtlLAoJICBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uY3h4LAoJICBTb3VyY2UvY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmgsIFNvdXJjZS9jbU9yZGVyRGlyZWN0b3JpZXMuY3h4LAoJICBTb3VyY2UvY21PcmRlckRpcmVjdG9yaWVzLmgsCgkgIFNvdXJjZS9jbU9yZGVyUnVudGltZURpcmVjdG9yaWVzLmN4eCwKCSAgU291cmNlL2NtT3JkZXJSdW50aW1lRGlyZWN0b3JpZXMuaCwgU291cmNlL2NtVGFyZ2V0LmN4eCwKCSAgU291cmNlL2NtVGFyZ2V0Lmg6IEVOSDogQmV0dGVyIGxpbmtlciBzZWFyY2ggcGF0aCBjb21wdXRhdGlvbi4KCgkgICAgLSBVc2UgbGlua2VyIHNlYXJjaCBwYXRoIC1MLi4gLWxmb28gZm9yIGxpYiB3L291dCBzb25hbWUKCSAgICAgIHdoZW4gcGxhdGZvcm0gc2V0cyBDTUFLRV9QTEFURk9STV9VU0VTX1BBVEhfV0hFTl9OT19TT05BTUUKCSAgICAtIFJlbmFtZSBjbU9yZGVyUnVudGltZURpcmVjdG9yaWVzIHRvIGNtT3JkZXJEaXJlY3RvcmllcwoJICAgICAgYW5kIGdlbmVyYWxpemUgaXQgZm9yIGJvdGggc29uYW1lIGNvbnN0cmFpbnRzIGFuZCBsaW5rCgkgICAgICBsaWJyYXJ5IGNvbnN0cmFpbnRzCgkgICAgLSBVc2UgY21PcmRlckRpcmVjdG9yaWVzIHRvIG9yZGVyIC1MIGRpcmVjdG9yaWVzIGJhc2VkCgkgICAgICBvbiBhbGwgbmVlZGVkIGNvbnN0cmFpbnRzCgkgICAgLSBBdm9pZCBwcm9jZXNzaW5nIGltcGxpY2l0IGxpbmsgZGlyZWN0b3JpZXMKCSAgICAtIEZvciBDTUFLRV9PTERfTElOS19QQVRIUyBhZGQgY29uc3RyYWludHMgZnJvbSBsaWJzCgkgICAgICBwcm9kdWNpbmcgdGhlbSB0byBwcm9kdWNlIG9sZCBvcmRlcmluZwoKMjAwOC0wMi0yMSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAyLTIwIDE0OjU2ICBraW5nCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsIGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuaDogQlVHOgoJICBMaW5rIHNjcmlwdHMgc2hvdWxkIGJlIGdlbmVyYXRlZCB3aXRoIGNvcHktaWYtZGlmZmVyZW50IGFuZAoJICBpbmNsdWRlZCBhcyBhIGRlcGVuZGVuY3kgb2YgdGhlIGxpbmsgcnVsZS4KCjIwMDgtMDItMjAgMTM6MzYgIGtpbmcKCgkqIFNvdXJjZS86IGNtRXhwb3J0TGlicmFyeURlcGVuZGVuY2llcy5jeHgsCgkgIGNtRXhwb3J0TGlicmFyeURlcGVuZGVuY2llcy5oOiBFTkg6IERlcHJlY2F0ZQoJICBleHBvcnRfbGlicmFyeV9kZXBlbmRlbmNpZXMKCgkgICAgLSBSZWZlcmVuY2UgZXhwb3J0KCkgYW5kIGluc3RhbGwoRVhQT1JUKQoJICAgIC0gRml4IHRvIHN1cHBvcnQgT1VUUFVUX05BTUUgaW4gc2ltcGxlIGNhc2VzCgoyMDA4LTAyLTIwIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDItMTkgMTg6NTAgIGliYW5legoKCSogU291cmNlL2t3c3lzL3Rlc3RTeXN0ZW1JbmZvcm1hdGlvbi5jeHg6IEVOSDogTWlzc2luZyBjb3B5cmlnaHQKCSAgaGVhZGVyLgoKMjAwOC0wMi0xOSAxNjozNCAgYWxleAoKCSogU291cmNlL2NtRXh0cmFFY2xpcHNlQ0RUNEdlbmVyYXRvci5jeHg6IFNUWUxFOiBwYXRjaCBwYXJ0IDMgZnJvbQoJICBNaWd1ZWw6IGZvbGxvdyBuYW1pbmcgc3R5bGUgZm9yIHZhcmlhYmxlcwoKCSAgQWxleAoKMjAwOC0wMi0xOSAxNjoyNyAgYWxleAoKCSogU291cmNlLzogY21FeHRyYUVjbGlwc2VDRFQ0R2VuZXJhdG9yLmN4eCwKCSAgY21FeHRyYUVjbGlwc2VDRFQ0R2VuZXJhdG9yLmg6IEVOSDogcGF0Y2ggZnJvbSBNaWd1ZWwgcGFydCAyOiBpZgoJICBFQ0xJUFNFX0NEVDRfR0VORVJBVEVfU09VUkNFX1BST0pFQ1QgaXMgdHJ1ZSwgdGhlbiB0aGUgZ2VuZXJhdG9yCgkgIGFkZGl0aW9uYWxseSBnZW5lcmF0ZXMgZWNsaXBzZSBwcm9qZWN0IGZpbGVzIGluIHRoZSBzb3VyY2UgZGlyLAoJICBzaW5jZSB0aGlzIGlzIHRoZSBvbmx5IHdheSB0byBnZXQgY3ZzL3N2biB3b3JraW5nIHdpdGggZWNsaXBzZQoKCSAgVGhpcyBpcyBvZmYgYnkgZGVmYXVsdCBhbmQgdGhlIHVzZXIgaGFzIHRvIGVuYWJsZSBpdCBleHBsaWNpdGVseS4KCSAgSWYgY21ha2UgY2FuJ3Qgd3JpdGUgdGhlcmUgaXQgc3RpbGwgY29udGludWVzLgoKCSAgQWxleAoKMjAwOC0wMi0xOSAxNTowNyAgYWxleAoKCSogU291cmNlLzogY21FeHRyYUVjbGlwc2VDRFQ0R2VuZXJhdG9yLmN4eCwKCSAgY21FeHRyYUVjbGlwc2VDRFQ0R2VuZXJhdG9yLmg6IEVOSDogcGF0Y2ggcGFydCAxIGZyb20gTWlndWVsOiB1c2UKCSAgdGhlIGNtYWtlIHByb2plY3QgbmFtZSBmb3IgdGhlIGVjbGlwc2UgcHJvamVjdCBuYW1lCgoJICBBbGV4CgoyMDA4LTAyLTE5IDE0OjQ3ICBob2ZmbWFuCgoJKiBTb3VyY2UvUXREaWFsb2cvTWFjSW5zdGFsbERpYWxvZy51aTogRU5IOiBiZXR0ZXIgdWkKCjIwMDgtMDItMTkgMTQ6MzMgIGFsZXgKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbURvY3VtZW50YXRpb24uY3h4LCBjbURvY3VtZW50YXRpb24uaCwKCSAgY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVyLmgsIGNtRG9jdW1lbnRhdGlvbkZvcm1hdHRlckRvY2Jvb2suY3h4LAoJICBjbURvY3VtZW50YXRpb25Gb3JtYXR0ZXJEb2Nib29rLmgsCgkgIGNtRG9jdW1lbnRhdGlvbkZvcm1hdHRlckhUTUwuY3h4LCBjbWFrZW1haW4uY3h4OiBFTkg6IGFkZCBzdXBwb3J0CgkgIGZvciBjcmVhdGluZyB0aGUgZG9jdW1lbnRhdGlvbiBpbiBkb2Nib29rIGZvcm1hdAoJICAoaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjIvKSwgd2hpY2ggdXNlcnMgY2FuCgkgIHRoZW4gY29udmVydCB0byBvdGhlciBmb3JtYXRzLiAgVGVzdGVkIHdpdGggbWVpbnByb2MgZnJvbSBLREUsCgkgIHdoaWNoIGdlbmVyYXRlcyBIVE1MIHBhZ2VzIHdoaWNoIGxvb2sgZ29vZC4KCgkgIEFsZXgKCjIwMDgtMDItMTkgMTQ6MjYgIGhvZmZtYW4KCgkqIFNvdXJjZS86IENQYWNrL2NtQ1BhY2tQYWNrYWdlTWFrZXJHZW5lcmF0b3IuY3h4LAoJICBDUGFjay9jbUNQYWNrUGFja2FnZU1ha2VyR2VuZXJhdG9yLmgsIFF0RGlhbG9nL0NNYWtlTGlzdHMudHh0LAoJICBRdERpYWxvZy9RdERpYWxvZ0NQYWNrLmNtYWtlLmluLCBRdERpYWxvZy9wb3N0ZmxpZ2h0LnNoLmluLAoJICBRdERpYWxvZy9wb3N0dXBncmFkZS5zaC5pbjogRU5IOiBpbnN0YWxsIHdvcmtpbmcgd2l0aCBzeW1saW5rIHF0CgkgIHRvb2wKCjIwMDgtMDItMTkgMTQ6MDYgIGhvZmZtYW4KCgkqIFNvdXJjZS9RdERpYWxvZy86IENNYWtlTGlzdHMudHh0LCBDTWFrZVNldHVwLmN4eCwKCSAgTWFjSW5zdGFsbERpYWxvZy51aSwgUU1hY0luc3RhbGxEaWFsb2cuY3h4LCBRTWFjSW5zdGFsbERpYWxvZy5oOgoJICBFTkg6IGFkZCBtYWMgaW5zdGFsbCBzeW1saW5rIG9wdGlvbiB0byBkaWFsb2cKCjIwMDgtMDItMTkgMDk6MDkgIGtpbmcKCgkqIFNvdXJjZS9jbVRhcmdldC5jeHg6IENPTVA6IEZpeCBIUCB3YXJuaW5nIGFib3V0CgkgIGNtVGFyZ2V0SW50ZXJuYWxQb2ludGVyOjpvcGVyYXRvcj0gY2hlY2tpbmcgZm9yIHNlbGYtYXNzaWdubWVudC4KCjIwMDgtMDItMTkgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wMi0xOCAxNjozOCAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5oLAoJICBjbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmgsCgkgIGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LCBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmgsCgkgIGNtTWFrZWZpbGVVdGlsaXR5VGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZVV0aWxpdHlUYXJnZXRHZW5lcmF0b3IuaCwgY21Tb3VyY2VGaWxlLmN4eCwKCSAgY21UYXJnZXQuY3h4LCBjbVRhcmdldC5oOiBFTkg6IENsZWFudXAgaW1wbCBvZiBQVUJMSUNfSEVBREVSLAoJICBQUklWQVRFX0hFQURFUiwgYW5kIFJFU09VUkNFIHByb3BlcnRpZXMKCjIwMDgtMDItMTggMTU6NTAgIGhvZmZtYW4KCgkqIENNYWtlQ1BhY2tPcHRpb25zLmNtYWtlLmluLCBDTWFrZUxpc3RzLnR4dDogRU5IOiBpbnN0YWxsIHNlZW1zIHRvCgkgIGJlIHdvcmtpbmcgZm9yIGNtYWtlLWd1aQoKMjAwOC0wMi0xOCAxNTo0MiAgaG9mZm1hbgoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4OiBFTkg6IGFkZCBtb3JlIGluZm9ybWF0aW9uIHRvIG1lc3NhZ2UKCjIwMDgtMDItMTggMTQ6NTEgIGhvZmZtYW4KCgkqIFNvdXJjZS9RdERpYWxvZy9DTWFrZUluZ2VzdE9TWEJ1bmRsZUxpYnJhcmllcy5jbWFrZTogRU5IOiBtYWtlCgkgIHN1cmUgZml4dXAgaGFzIHJpZ2h0IHBhdGhzCgoyMDA4LTAyLTE4IDEzOjExICBob2ZmbWFuCgoJKiBTb3VyY2UvUXREaWFsb2cvQ01ha2VJbmdlc3RPU1hCdW5kbGVMaWJyYXJpZXMuY21ha2U6IFNUWUxFOiB1c2UKCSAgbG93ZXJjYXNlCgoyMDA4LTAyLTE4IDEzOjAzICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUNvbmZpZ3VyZS5jbWFrZS5oLmluLCBjbWFrZS5jeHg6IEVOSDogcmVtb3ZlCgkgIENNQUtFX1BSRUZJWCBzbyBjaGFuZ2luZyBpdCBkb2VzIG5vdCByZWJ1aWxkIGFsbAoKMjAwOC0wMi0xOCAxMjowMSAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9IUC1VWC5jbWFrZTogQlVHOiBGaXggcGFzc2luZyBvZiBub2RlZmF1bHRycGF0aAoJICBmbGFnIHRvIGxpbmtlciB0aHJvdWdoIGMrKyBjb21waWxlci4KCjIwMDgtMDItMTggMTE6MTAgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0OiBFTkg6IHJlcXVpcmUgMi40IHRvIGJ1aWxkIGNtYWtlCgoyMDA4LTAyLTE4IDEwOjI2ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlSW5nZXN0T1NYQnVuZGxlTGlicmFyaWVzLmNtYWtlLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9RdERpYWxvZy9DTWFrZUluZ2VzdE9TWEJ1bmRsZUxpYnJhcmllcy5jbWFrZSwKCSAgU291cmNlL1F0RGlhbG9nL0NNYWtlTGlzdHMudHh0OiBFTkg6IGhhdmUgY3BhY2sgd29yayB3aXRoIERFU1RESVIKCSAgaW5zdGFsbCBhbmQgaW5nZXN0IHF0IGZyYW1ld29yayBsaWJzIGludG8gY21ha2UtZ3VpCgoyMDA4LTAyLTE4IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDItMTcgMTc6NDAgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ2hlY2tJbmNsdWRlRmlsZXMuY21ha2U6IEJVRzogZml4IGRvdWJsZSBjbWFrZWZpbGVzCgkgIGRpcmVjdG9yeQoKMjAwOC0wMi0xNyAxNDowNCAgYWxleAoKCSogU291cmNlL2NtRG9jdW1lbnRhdGlvbi5jeHg6IEJVRzogYWN0dWFsbHkgcHJpbnQgdGhlIGRvY3MgZm9yCgkgIGN1c3RvbSBtb2R1bGVzIGlmIHRoaXMgd2FzIHJlcXVlc3RlZAoKCSAgQWxleAoKMjAwOC0wMi0xNyAxMjozMSAgYWxleAoKCSogU291cmNlL2NtRG9jdW1lbnRhdGlvbkZvcm1hdHRlckhUTUwuY3h4OiBQRVJGOiByZWR1Y2UgdGltZSBmb3IKCSAgZnVsbCBkb2NzIGFzIEhUTUwgZnJvbSAxLjQgcyB0byAwLjIgcywgdGhlIG1hcCBpcyBub3cgY3JlYXRlZCBhbmQKCSAgZmlsbGVkIG9ubHkgb25jZSBpbnN0ZWFkIGZvciBldmVyeSBjaGFyYWN0ZXIgSSBndWVzcyBhIHNpbXBsZQoJICBjYXNlLXN3aXRjaCB3b3VsZCBiZSBzdGlsbCBmYXN0ZXIuCgoJICBBbGV4CgoyMDA4LTAyLTE3IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDItMTYgMTY6MzMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VJbmdlc3RPU1hCdW5kbGVMaWJyYXJpZXMuY21ha2U6IEVOSDogYWRkIHNjcmlwdCB0bwoJICBpbmdlc3QgbGlicmFyeSBkZXBlbmRzIGludG8gYSBidW5kbGUKCjIwMDgtMDItMTYgMTM6MDUgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBib290c3RyYXAsIFNvdXJjZS9jbUJvb3RzdHJhcENvbW1hbmRzLmN4eCwKCSAgU291cmNlL2NtQ29tbWFuZHMuY3h4LCBTb3VyY2UvY21JbnN0YWxsUHJvZ3JhbXNDb21tYW5kLmN4eCwKCSAgU291cmNlL1F0RGlhbG9nL0NNYWtlTGlzdHMudHh0LCBTb3VyY2UvUXREaWFsb2cvUUNNYWtlLmN4eCwKCSAgU291cmNlL1F0RGlhbG9nL1F0RGlhbG9nQ1BhY2suY21ha2UuaW46IEVOSDogc3VwcG9ydCBmb3IgY3BhY2sKCSAgYW5kIGluc3RhbGwgb2YgY21ha2UtZ3VpIGFzIG1hYyBhcHAgYnVuZGxlCgoyMDA4LTAyLTE2IDEzOjAyICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyYXRvci5jeHg6IEVOSDogZml4IERFU1RESVIgaW5zdGFsbAoKMjAwOC0wMi0xNiAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAyLTE1IDE4OjI2ICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRQeXRob25MaWJzLmNtYWtlOiBTVFlMRTogdXNlIGdsb2JhbCBwcm9wZXJ0eSBpbnN0ZWFkCgkgIG9mIGhlbHBlciB0YXJnZXQgdG8gY29sbGVjdCBhbGwgcHl0aG9uIG1vZHVsZXMgZnJvbSBhIHNvdXJjZSB0cmVlCgoJICBBbGV4CgoyMDA4LTAyLTE1IDE1OjM2ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvUUNNYWtlLmN4eDogRU5IOiAgcmVtb3ZlIHVudXNlZCBjb2RlLgoKMjAwOC0wMi0xNSAxMjoxMiAgaG9mZm1hbgoKCSogU291cmNlL1F0RGlhbG9nL1FDTWFrZS5jeHg6IEVOSDogdXNlIHBhY2thZ2UgbmFtZSBvbiBtYWMgZm9yIGVkaXQKCSAgY2FjaGUKCjIwMDgtMDItMTUgMTE6NTYgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogQXBwbHkgcGF0Y2ggZnJvbQoJICBidWcgIzYxODAgdG8gbWFrZSBDTUFLRV9BRERJVElPTkFMX01BS0VfQ0xFQU5fRklMRVMgd29yayBmb3IKCSAgZGlyZWN0b3JpZXMuCgoyMDA4LTAyLTE1IDExOjQ5ICBkYXZpZC5jb2xlCgoJKiBTb3VyY2UvY21DYWxsVmlzdWFsU3R1ZGlvTWFjcm8uY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzhHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzlHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW85R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5oLAoJICBUZW1wbGF0ZXMvQ01ha2VWU01hY3JvczIudnNtYWNyb3M6IEVOSDogQWRkIGNvZGUgdG8gc3VwcG9ydAoJICBjYWxsaW5nIHRoZSBWUyByZWxvYWQgbWFjcm8gZnJvbSBWaXN1YWwgU3R1ZGlvIDcuMSBhbmQgOS4wIGluCgkgIGFkZGl0aW9uIHRvIDguMCBzcDEuLi4gTWFrZSBuZXcgbWFjcm9zIGZpbGUgd2l0aCBWUyA3LjEgc28gdGhhdAoJICBpdCBjYW4gYmUgcmVhZCBieSA3LjEgYW5kIGxhdGVyLiBWUyA3LjEgZG9lcyBub3QgYXBwZWFyIHRvIHJ1bgoJICB0aGUgbWFjcm9zIHdoaWxlIGEgYnVpbGQgaXMgaW4gcHJvZ3Jlc3MsIGJ1dCBkb2VzIG5vdCByZXR1cm4gYW55CgkgIGVycm9ycyBlaXRoZXIsIHNvIGZvciBub3csIHRoZSByZWxvYWQgbWFjcm8gaXMgbm90IGNhbGxlZCB3aGVuCgkgIHVzaW5nIDcuMS4gSWYgSSBjYW4gZmlndXJlIG91dCBob3cgdG8gZ2V0IDcuMSB0byBleGVjdXRlIHRoZQoJICBtYWNybywgSSB3aWxsIHVuY29tbWVudCB0aGUgY29kZSBpbgoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yOjpHZXRVc2VyTWFjcm9zRGlyZWN0b3J5KCkgdG8KCSAgYWN0aXZhdGUgZXhlY3V0aW5nIHRoZSBtYWNyb3MgaW4gVlMgNy4xLCB0b28uCgoyMDA4LTAyLTE1IDExOjIyICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0Rhcndpbi5jbWFrZSwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVFeGVjdXRhYmxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21TZXRQcm9wZXJ0eUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21TZXRTb3VyY2VGaWxlc1Byb3BlcnRpZXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtU291cmNlRmlsZS5jeHg6IEVOSDogQ2xlYW51cCBidWlsZGluZyBvZiBPUyBYIGJ1bmRsZQoJICBjb250ZW50CgoJICAgLSBGaXhlcyByZXBlYXRlZCByZWJ1aWxkIG9mIGJ1bmRsZXMgYnkgTWFrZWZpbGUgZ2VuZXJhdG9ycwoJICAgLSBBZGQgc3BlY2lhbCBydWxlcyB0byBjb3B5IHNvdXJjZXMgdG8gdGhlaXIKCSAgICAgTUFDT1NYX1BBQ0tBR0VfTE9DQVRJT04gYnVuZGxlIGRpcmVjdG9yeQoJICAgLSBSZW1vdmUgTWFjT1NYX0NvbnRlbnQgbGFuZ3VhZ2UgaGFjawoJICAgICAtIFJlbW92ZSBFWFRSQV9DT05URU5UIHByb3BlcnR5CgkgICAgIC0gUmVtb3ZlIE1BQ09TWF9DT05URU5UCgkgICAgIC0gUmVtb3ZlIGNvcnJlc3BvbmRpbmcgc3BlY2lhbCBjYXNlcyBpbiBvYmplY3QgbmFtZXMKCjIwMDgtMDItMTUgMTA6NDAgIGhvZmZtYW4KCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrTlNJU0dlbmVyYXRvci5jeHg6IEJVRzogZml4IGZvciBidWcgNjI5NCwKCSAgY29ycmVjdCB1cmwgZm9yIG5zaXMKCjIwMDgtMDItMTUgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wMi0xNCAyMDoxOCAgYWxleAoKCSogU291cmNlL2NtRXh0cmFFY2xpcHNlQ0RUNEdlbmVyYXRvci5jeHg6IEVOSDogZW5hYmxlIGNvbG9yIGluIHRoZQoJICBlY2xpcHNlIGdlbmVyYXRvciwgdGhlcmUgZG9lc24ndCBzZWVtIHRvIGJlIHByb2JsZW1zCgoJICBBbGV4CgoyMDA4LTAyLTE0IDE5OjU4ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvOiBDTWFrZVNldHVwRGlhbG9nLmN4eCwgUUNNYWtlQ2FjaGVWaWV3LmN4eCwKCSAgUUNNYWtlQ2FjaGVWaWV3Lmg6CgkgIEVOSDoJQ29udmVydCBuYXRpdmUgcGF0aHMgZnJvbSBRRmlsZURpYWxvZyBhbmQKCSAgUURpck1vZGVsL1FDb21wbGV0ZXIuICBCVUc6ICBCbG9jayBwb3NzaWJsZSBjb21wbGV0aW9uIGxvb3AuCgoyMDA4LTAyLTE0IDE4OjE4ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvOiBDTWFrZVNldHVwLmN4eCwgQ01ha2VTZXR1cERpYWxvZy5jeHgsCgkgIENNYWtlU2V0dXBEaWFsb2cuaCwgUUNNYWtlLmN4eCwgUUNNYWtlQ2FjaGVWaWV3LmN4eDoKCSAgRU5IOglBZGQgc2hvcnRjdXQgdG8gc3RhcnQgc2VhcmNoL2ZpbHRlci4JICAgIEEgYml0IG9mCgkgIGNsZWFudXAuCSAgRGlzYWJsZSB0YWIgbmF2aWdhdGlvbiBpbiBjYWNoZSB2YXJpYWJsZSBsaXN0LgoJICAgICAgRW5hYmxlIGhvbWUvZW5kIGtleXMuCgoJICBCVUc6CUVuc3VyZSBjdXJyZW50bHkgZWRpdGVkIHZhbHVlcyBhcmUgc2F2ZWQgYmVmb3JlIGRvaW5nCgkgIGNvbmZpZ3VyZS4KCjIwMDgtMDItMTQgMTY6NDIgIGtpbmcKCgkqIFNvdXJjZS86IGNtQWRkQ3VzdG9tVGFyZ2V0Q29tbWFuZC5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxHZW5lcmF0b3IuaCwgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsCgkgIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsIGNtYWtlLmN4eDogRU5IOiBBZGQgZ2xvYmFsIHByb3BlcnR5CgkgIEFMTE9XX0RVUExJQ0FURV9DVVNUT01fVEFSR0VUUyB0byBoZWxwIGV4aXN0aW5nIHByb2plY3RzIHRoYXQKCSAgZGVwZW5kIG9uIGhhdmluZyBkdXBsaWNhdGUgY3VzdG9tIHRhcmdldHMuICBJdCBpcyBhbGxvd2VkIG9ubHkKCSAgZm9yIE1ha2VmaWxlIGdlbmVyYXRvcnMuICBTZWUgYnVnIzYzNDguCgoyMDA4LTAyLTE0IDE1OjMxICBraW5nCgoJKiBNb2R1bGVzL01hY09TWEJ1bmRsZUluZm8ucGxpc3QuaW4sCgkgIE1vZHVsZXMvTWFjT1NYRnJhbWV3b3JrSW5mby5wbGlzdC5pbiwKCSAgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbVRhcmdldC5jeHg6CgkgIEVOSDogQWxsb3cgbXVsdGlwbGUgT1MgWCBhcHBsaWNhdGlvbnMgYnVuZGxlcyB0byBiZSBjcmVhdGVkIGluIGEKCSAgc2luZ2xlIGJ1aWxkIGRpcmVjdG9yeS4gIENvbnZlcnRlZCBJbmZvLnBsaXN0IGZpbGVzIHRvIGJlCgkgIGdlbmVyYXRlZCBkaXJlY3RseSBpbnN0ZWFkIG9mIGNvbmZpZ3VyZWQgd2l0aCBtYWtlIHZhcmlhYmxlcy4KCSAgVGhlIE1BQ09TWF9CVU5ETEVfKiB2YXJpYWJsZXMgYXJlIG5vdyBwcm9wZXJ0aWVzIChhbmQgdmFycyBmb3IKCSAgY29tcGF0aWJpbGl0eSkuCgoyMDA4LTAyLTE0IDE1OjA2ICBob2ZmbWFuCgoJKiBTb3VyY2UvUXREaWFsb2cvOiBDTWFrZVNldHVwRGlhbG9nLmN4eCwgQ01ha2VTZXR1cERpYWxvZy5oOiBFTkg6CgkgIG1ha2Ugc3VyZSBodG1sIDwgPiAmIHN0dWZmIGlzIGVzY2FwZWQgZm9yIHRoZSBvdXRwdXQgd2luZG93CgoyMDA4LTAyLTE0IDEzOjM2ICBraW5nCgoJKiBNb2R1bGVzL0NUZXN0VGFyZ2V0cy5jbWFrZSwgU291cmNlL2NtRGVmaW5lUHJvcGVydHlDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtRGVmaW5lUHJvcGVydHlDb21tYW5kLmgsCgkgIFRlc3RzL0NvbXBsZXgvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Qcm9wZXJ0aWVzL0NNYWtlTGlzdHMudHh0OiBFTkg6IFVwZGF0ZWQgREVGSU5FX1BST1BFUlRZCgkgIGNvbW1hbmQgdG8gYmUgbW9yZSBleHRlbmRpYmxlIGFuZCBtb3JlIGNvbnNpc3RlbnQgd2l0aCBuZXcKCSAgU0VUX1BST1BFUlRZIGFuZCBHRVRfUFJPUEVSVFkgc2lnbmF0dXJlcy4KCjIwMDgtMDItMTQgMTE6NTggIGtpbmcKCgkqIE1vZHVsZXMvQ1Rlc3RUYXJnZXRzLmNtYWtlLCBTb3VyY2UvY21Cb290c3RyYXBDb21tYW5kcy5jeHgsCgkgIFNvdXJjZS9jbUNvbW1hbmRzLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuY3h4OiBFTkg6IFJlLWVuYWJsZQoJICBkaWFnbm9zaXMgb2Ygbm9uLXVuaXF1ZSB0YXJnZXQgbmFtZXMuCgoJICAgIC0gUmUtZW5hYmxlIGVuZm9yY2VtZW50IGluIGNtTWFrZWZpbGU6OkVuZm9yY2VVbmlxdWVOYW1lCgkgICAgLSBJbXByb3ZlIGVycm9yIG1lc3NhZ2UgdG8gaGVscCB1c2VyIHJlc29sdmUgdGhlIHByb2JsZW0KCSAgICAtIEZpeCBNb2R1bGVzL0NUZXN0VGFyZ2V0cy5jbWFrZSB0byBub3QgZHVwbGljYXRlIHRlc3RpbmcKCSAgdGFyZ2V0cwoJICAgIC0gTW92ZSBjb21tYW5kcyB1c2VkIGJ5IHRoZSBjaGFuZ2VzIHRvCgkgIE1vZHVsZXMvQ1Rlc3RUYXJnZXRzLmNtYWtlCgkgICAgICB0byBidWlsZCBkdXJpbmcgYm9vdHN0cmFwOiBERUZJTkVfUFJPUEVSVFksIEdFVF9QUk9QRVJUWQoKMjAwOC0wMi0xNCAxMDo1MCAga2luZwoKCSogTW9kdWxlcy86IENNYWtlRm9yY2VDb21waWxlci5jbWFrZSwgQ01ha2VUZXN0Q0NvbXBpbGVyLmNtYWtlLAoJICBDTWFrZVRlc3RDWFhDb21waWxlci5jbWFrZTogRU5IOiBSZW1vdmUgdW5uZWNlc3NhcnkgY29tcGlsZXIKCSAgZm9yY2UgbWFjcm9zLiAgVGhlIGNvbXBpbGVyIElEIGNhbiBub3cgYmUgZGV0ZWN0ZWQgd2l0aG91dAoJICBsaW5raW5nIGFuIGV4ZWN1dGFibGUuCgoyMDA4LTAyLTE0IDA5OjE0ICBob2ZmbWFuCgoJKiBTb3VyY2UvUXREaWFsb2cvQ01ha2VTZXR1cERpYWxvZy5jeHg6IEVOSDogYWRkIGEgY2hlY2sgYmVmb3JlCgkgIGRlbGV0ZSBjYWNoZQoKMjAwOC0wMi0xNCAwODo1NSAgaG9mZm1hbgoKCSogU291cmNlL1F0RGlhbG9nL1FDTWFrZS5jeHg6IEVOSDogZG8gbm90IHNob3cgdW5pdGl0aWFsaXplZAoJICBlbnRyaWVzCgoyMDA4LTAyLTE0IDAxOjExICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6CgkgIEJVRzoJRml4IGVycm9yIHdoZW4gcGF0aHMgaGF2ZSArIGluIHRoZW0uIChzcGVjaWFsIHJlZ2V4CgkgIGNoYXJhY3RlcnMpCgoyMDA4LTAyLTE0IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDItMTMgMTc6MDAgIGJhcnJlCgoJKiBNb2R1bGVzL0ZpbmRUQ0wuY21ha2U6IEVOSDogZml4IGFkdmFuY2VkIGJ1ZwoKMjAwOC0wMi0xMyAxNToyOSAga2luZwoKCSogU291cmNlLzogY21Db21wdXRlTGlua0RlcGVuZHMuY3h4LCBjbUNvbXB1dGVMaW5rRGVwZW5kcy5oOiBCVUc6CgkgIFVwZGF0ZSBjbUNvbXB1dGVMaW5rRGVwZW5kcyB0byBzdXBwb3J0IGxlYWRpbmcvdHJhaWxpbmcKCSAgd2hpdGVzcGFjZSBzdHJpcHBpbmcgb2ZmIGxpbmsgaXRlbXMgZm9yIGNvbXBhdGliaWxpdHkuCgoyMDA4LTAyLTEzIDE0OjQ3ICBraW5nCgoJKiBib290c3RyYXAsIFNvdXJjZS9jbUJvb3RzdHJhcENvbW1hbmRzLmN4eCwgU291cmNlL2NtQ29tbWFuZHMuY3h4OgoJICBFTkg6IEFkZCBvcHRpb24gdG8gYm9vdHN0cmFwIHNjcmlwdCB0byBlbmFibGUgUXQgZGlhbG9nLgoKCSAgICAtIEFkZCAtLXF0LWd1aSBhbmQgLS1uby1xdC1ndWkgb3B0aW9ucwoJICAgIC0gQWRkIC0tcXQtcW1ha2U9PHFtYWtlPiBvcHRpb24gdG8gaGVscCBsb2NhdGUgUXQKCSAgICAtIEJ1aWxkIG1vcmUgY29tbWFuZHMgZHVyaW5nIGJvb3RzdHJhcCB0byBoZWxwIEZpbmRRdDQuY21ha2U6CgkgICAgICBNQVRILCBHRVRfRElSRUNUT1JZX1BST1BFUlRZLCBFWEVDVVRFX1BST0NFU1MsCgkgICAgICBTRVBBUkFURV9BUkdVTUVOVFMKCSAgICAtIEJvb3RzdHJhcHBpbmcgd2l0aCB0aGUgY21ha2UtZ3VpIGlzIG5vdyBwb3NzaWJsZSBpbiBNU3lzCgoyMDA4LTAyLTEzIDE0OjM1ICBraW5nCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEJVRzogRml4IEZpbmRRdDQuY21ha2UKCSAgUVQ0X0NSRUFURV9NT0NfQ09NTUFORCBtYWNybyB0byB3b3JrIHdpdGggc3BhY2VzIGluIHRoZSBwYXRoCgkgIHdoaWxlIHVzaW5nIHRoZSBAIHN5bnRheCBvbiBNU1lTIGJ1aWxkcy4KCjIwMDgtMDItMTMgMTM6NTggIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy86IENNYWtlU2V0dXBEaWFsb2cuY3h4LCBRQ01ha2VDYWNoZVZpZXcuY3h4OgoJICBFTkg6IFJlbW92ZSBDdXJyZW50Q2hhbmdlZCBmcm9tIHRoZSB0YWJsZSB2aWV3J3MgZWRpdCB0cmlnZ2Vycy4KCSAgSXQgcmVzdWx0cyBpbiBlZGl0b3IgaXNzdWVzIHdoZW4gbW9kaWZ5aW5nIHRoZSB2aWV3LgoJICBSZW1vdmUgd29ya2Fyb3VuZHMgZm9yIHNvbWUgb2YgdGhvc2UgaXNzdWVzLgoKMjAwOC0wMi0xMyAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAyLTEyIDE3OjIyICBob2ZmbWFuCgoJKiBTb3VyY2UvUXREaWFsb2cvQ01ha2VMaXN0cy50eHQ6IEVOSDogZG8gbm90IGV4cGFuZCByZWd1bGFyIHZhcnMKCSAgaGVyZQoKMjAwOC0wMi0xMiAxMDoxOSAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBCVUc6IERpc2FibGUgZW5mb3JjZW1lbnQgb2YgdW5pcXVlIHRhcmdldAoJICBuYW1lcyB1bnRpbCBDVGVzdFRhcmdldHMgY2FuIGJlIGZpeGVkLgoKMjAwOC0wMi0xMiAwOTo0OSAgaG9mZm1hbgoKCSogU291cmNlLzogY21ha2UuY3h4LCBjbWFrZS5oLCBDdXJzZXNEaWFsb2cvY21DdXJzZXNNYWluRm9ybS5jeHgsCgkgIFF0RGlhbG9nL0NNYWtlU2V0dXAuY3h4LCBRdERpYWxvZy9RQ01ha2UuY3h4OiBFTkg6IGZpeCBtYWtlCgkgIGVkaXRfY2FjaGUgZm9yIGNtYWtlLWd1aQoKMjAwOC0wMi0xMiAwOToxOCAga2luZwoKCSogU291cmNlL2NtRXhwb3J0TGlicmFyeURlcGVuZGVuY2llcy5jeHg6IFNUWUxFOiBGaXggbGluZS10b28tbG9uZwoJICBpbiBjbUV4cG9ydExpYnJhcnlEZXBlbmRlbmNpZXMuCgoyMDA4LTAyLTEyIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDItMTEgMjA6MTMgIGtpbmcKCgkqIFNvdXJjZS9jbURvY3VtZW50VmFyaWFibGVzLmN4eDogRU5IOiBVcGRhdGUgZG9jdW1lbnRhdGlvbiBvZgoJICBFWEVDVVRBQkxFX09VVFBVVF9QQVRIIGFuZCBMSUJSQVJZX09VVFBVVF9QQVRIIHRvIHJlZmVyZW5jZSB0aGVpcgoJICByZXBsYWNlbWVudHMuCgoyMDA4LTAyLTExIDE3OjMzICBraW5nCgoJKiBTb3VyY2UvOiBjbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuY3h4LAoJICBjbUFkZEV4ZWN1dGFibGVDb21tYW5kLmN4eCwgY21BZGRMaWJyYXJ5Q29tbWFuZC5jeHg6IENPTVA6IEZpeAoJICBzaGFkb3dlZCBsb2NhbCB2YXJpYWJsZSB3YXJuaW5nLgoKMjAwOC0wMi0xMSAxNzowMSAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9lQ29zLmNtYWtlOiBFTkg6IEZpeCBlQ29zLmNtYWtlIHRvIG5vdCByZXF1aXJlIGEKCSAgZm9yY2VkIGNvbXBpbGVyCgoJICAgIC0gU2VhcmNoIGZvciBsaWJ0YXJnZXQuYSBleHBsaWNpdGx5CgkgICAgLSBEbyBub3QgY29tcGxhaW4gYWJvdXQgY29tcGlsZXIgaWQgZHVyaW5nIHRyeS1jb21waWxlCgoyMDA4LTAyLTExIDE3OjAwICBraW5nCgoJKiBNb2R1bGVzLzogQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2UsCgkgIENNYWtlRGV0ZXJtaW5lQ1hYQ29tcGlsZXIuY21ha2UsCgkgIENNYWtlRGV0ZXJtaW5lRm9ydHJhbkNvbXBpbGVyLmNtYWtlOiBFTkg6IFdoZW4gZGV0ZWN0aW5nIHRoZQoJICBjb21waWxlciBpZCB0cnkgY29tcGlsaW5nIG9ubHkgdG8gYW4gb2JqZWN0IGZpbGUuCgoyMDA4LTAyLTExIDE3OjAwICBraW5nCgoJKiBTb3VyY2UvY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4OiBCVUc6IEZJTkRfTElCUkFSWSBzaG91bGQgbm90CgkgIHJlcXVpcmUgQ01BS0VfU0laRU9GX1ZPSURfUCB0byBiZSBzZXQuCgoyMDA4LTAyLTExIDE3OjAwICBraW5nCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IEFkZCBnbG9iYWwgY29tcHV0ZWQgcHJvcGVydHkKCSAgSU5fVFJZX0NPTVBJTEUuCgoyMDA4LTAyLTExIDE1OjMxICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0hQLVVYLmNtYWtlOiBFTkg6IFJlbW92ZSBDTUFLRV9BTlNJX0NGTEFHUwoJICB2YXJpYWJsZSBhbmQgaW5zdGVhZCBhbHdheXMgYWRkIGFuc2kgZmxhZ3MgdG8KCSAgQ01BS0VfQ19DT01QSUxFX09CSkVDVC4gIFdlIHNob3VsZCBub3QgcmVxdWlyZSBldmVyeSBwcm9qZWN0IHRvCgkgIHJlZmVyZW5jZSBDTUFLRV9BTlNJX0NGTEFHUy4KCjIwMDgtMDItMTEgMTM6MzUgIGtpbmcKCgkqIFNvdXJjZS86IGNtQWRkQ3VzdG9tVGFyZ2V0Q29tbWFuZC5jeHgsCgkgIGNtQWRkRXhlY3V0YWJsZUNvbW1hbmQuY3h4LCBjbUFkZEV4ZWN1dGFibGVDb21tYW5kLmgsCgkgIGNtQWRkTGlicmFyeUNvbW1hbmQuY3h4LCBjbUFkZExpYnJhcnlDb21tYW5kLmgsIGNtTWFrZWZpbGUuY3h4LAoJICBjbU1ha2VmaWxlLmgsIGNtVGFyZ2V0LmN4eDogRU5IOiBFbmZvcmNlIGdsb2JhbCB0YXJnZXQgbmFtZQoJICB1bmlxdWVuZXNzLgoKCSAgICAtIEVycm9yIGlmIGltcG9ydGVkIHRhcmdldCBpcyBpbnZvbHZlZCBpbiBjb25mbGljdAoJICAgIC0gRXJyb3IgZm9yIG5vbi1pbXBvcnRlZCB0YXJnZXQgY29uZmxpY3QgdW5sZXNzCgkgICAgICBDTUFLRV9CQUNLV0FSRFNfQ09NUEFUSUJJTElUWSA8PSAyLjQKCSAgICAtIEluY2x1ZGUgT1VUUFVUX05BTUUgcHJvcGVydHkgaW4gZXJyb3IgbWVzc2FnZQoJICAgIC0gVXBkYXRlIGFkZF9leGVjdXRhYmxlIGFuZCBhZGRfbGlicmFyeSBjb21tYW5kIGRvY3VtZW50YXRpb24KCjIwMDgtMDItMTEgMTM6MzUgIGtpbmcKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmg6IEVOSDogQWRkCgkgIGNtTWFrZWZpbGU6Ok5lZWRCYWNrd2FyZHNDb21wYXRpYmlsaXR5IG1ldGhvZCB0byBwYXNzIHRocm91Z2ggdG8KCSAgY21Mb2NhbEdlbmVyYXRvcjo6TmVlZEJhY2t3YXJkc0NvbXBhdGliaWxpdHkgZm9yIGNvbnZlbmllbmNlLgoKMjAwOC0wMi0xMSAxMDozMSAga2luZwoKCSogU291cmNlL2NtRXhwb3J0TGlicmFyeURlcGVuZGVuY2llcy5jeHg6IEJVRzogRml4CgkgIGV4cG9ydF9saWJyYXJ5X2RlcGVuZGVuY2llcyBjb21tYW5kIHRvIHByb2R1Y2UgYSBmaWxlIHRoYXQgaXMKCSAgY29tcGF0aWJsZSB3aXRoIENNYWtlIDIuNC4KCjIwMDgtMDItMTEgMTA6MzEgIGtpbmcKCgkqIFNvdXJjZS9jbUNvbXB1dGVMaW5rRGVwZW5kcy5jeHg6IEJVRzogRml4CgkgIGNtQ29tcHV0ZUxpbmtEZXBlbmRzOjpBZGRWYXJMaW5rRW50cmllcwoKCSAgICAtIFRyYWNrIGxpbmsgdHlwZSBjb3JyZWN0bHkKCSAgICAtIFVzZSBfTElOS19UWVBFIHZhcmlhYmxlcyBleHBvcnRlZCBieSBDTWFrZSAyLjQKCjIwMDgtMDItMTEgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wMi0xMCAxNzoxOSAgYWxleAoKCSogU291cmNlL2NtSWZDb21tYW5kLmg6IFNUWUxFOiBkb2N1bWVudCB0aGF0IGlmKENPTU1BTkQpIHdvcmtzIGFsc28KCSAgZm9yIG1hY3JvcyBhbmQgZnVuY3Rpb25zCgoJICBBbGV4CgoyMDA4LTAyLTEwIDExOjM3ICBraW5nCgoJKiBTb3VyY2UvY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4OiBCVUc6IEZpeCByZWNlbnQgZmluZF9saWJyYXJ5CgkgIGNoYW5nZSB0byBsb29rIGZvciB1c2VyLXNwZWNpZmllZCBuYW1lIGZpcnN0IHRvIGRvIHNvIG9ubHkgaWYgdGhlCgkgIG5hbWUgbWF0Y2hlcyBhIHZhbGlkIGxpYnJhcnkgZXh0ZW5zaW9uLgoKMjAwOC0wMi0xMCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAyLTA5IDEwOjA1ICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS92b2dvbl9yZWxlYXNlLmNtYWtlOiBFTkg6IGJ1aWxkIHRoZSBxdCBndWkKCjIwMDgtMDItMDkgMDk6NTMgIGhvZmZtYW4KCgkqIENNYWtlQ1BhY2suY21ha2UsIENNYWtlQ1BhY2tPcHRpb25zLmNtYWtlLmluLAoJICBTb3VyY2UvUXREaWFsb2cvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9RdERpYWxvZy9RdERpYWxvZ0NQYWNrLmNtYWtlLmluOiBFTkg6IG1ha2UgaXQgc28gY21ha2UtZ3VpCgkgIG9ubHkgaW5zdGFsbHMgaWYgcXQgaXMgc3RhdGljIG9uIHdpbmRvd3MKCjIwMDgtMDItMDkgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wMi0wOCAxMzo0NyAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nL0NNYWtlU2V0dXBEaWFsb2cuY3h4OiBCVUc6ICBNYWtlIHN1cmUgZWRpdG9yCgkgIGNsb3NlcyB3aGVuIGRlbGV0aW5nIGNhY2hlIGVudHJpZXMuCgoyMDA4LTAyLTA4IDEyOjAxICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEVOSDogIEJldHRlciB3YXkgdG8gaGF2ZSBlc2NhcGluZyBkb25lCgkgIGNvcnJlY3RseSBmb3IgYWxsIGdlbmVyYXRvcnMuCgoyMDA4LTAyLTA4IDExOjI2ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvUUNNYWtlLmN4eDogRU5IOiAgTmVlZCB0byBwaWNrIHVwIHRoZQoJICBQcmVMb2FkLmNtYWtlIGZpbGVzLgoKMjAwOC0wMi0wOCAxMDo0MiAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nLzogQ01ha2VTZXR1cC5jeHgsIFFDTWFrZUNhY2hlVmlldy5jeHg6IENPTVA6IEZpeAoJICBidWlsZCB3aXRoIFF0IDQuMi4gIEJVRzogIEZpeCBuZXcgZWRpdG9ycyBzdGVhbGluZyBmb2N1cyB3aGlsZQoJICB0eXBpbmcgc2VhcmNoIHRleHQuICBFTkg6ICBMb29rIGZvciB0cmFuc2xhdGlvbiBpbiBkYXRhIGRpciwgbm90CgkgIGJpbiBkaXIuCgoyMDA4LTAyLTA4IDA5OjI0ICBraW5nCgoJKiBUZXN0cy9EZXBlbmRlbmN5L0NNYWtlTGlzdHMudHh0OiBCVUc6IE5lZWQgQU5TSSBDLgoKMjAwOC0wMi0wOCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAyLTA3IDIzOjI2ICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6CgkgIEJVRzoJRml4IGFyZyBmb3IgbW9jIHBhcmFtZXRlciBmaWxlIHNvIGl0IHdvcmtzIHdpdGggdW5peAoJICBtYWtlZmlsZXMsIHdoZW4gdGhlCSAgICBidWlsZCBkaXIgaGFzIGEgc3BhY2UgaW4gaXQuCgoyMDA4LTAyLTA3IDE4OjI0ICBhbGV4CgoJKiBTb3VyY2UvY21FeHRyYUVjbGlwc2VDRFQ0R2VuZXJhdG9yLmN4eDogcGF0Y2ggZnJvbSBNaWd1ZWwgQlVHOgoJICBmaXggIzU0OTY6IGVjbGlwc2UgY2FuJ3QgbG9hZCBwcm9qZWN0cyB3aGVyZSB0aGUgYnVpbGQgZGlyIGlzIGEKCSAgc3ViZGlyIG9mIHRoZSBzcmMgZGlyCgoJICBBbGV4CgoyMDA4LTAyLTA3IDE3OjU4ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvOiBRQ01ha2VDYWNoZVZpZXcuY3h4LCBRQ01ha2VDYWNoZVZpZXcuaDoKCSAgRU5IOglTaG93IGNhY2hlIHZhcmlhYmxlIG5hbWUgaW4gdGl0bGUgb2YgZmlsZSBkaWFsb2dzLgoKMjAwOC0wMi0wNyAxNjo0OSAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eCwgY21UYXJnZXQuY3h4OiBFTkg6IEF2b2lkCgkgIGNvbXB1dGluZyBsaW5rIGluZm9ybWF0aW9uIGZvciBzdGF0aWMgbGlicmFyeSB0YXJnZXRzLiAgVGhleSBkbwoJICBub3QgbGluay4KCjIwMDgtMDItMDcgMTY6MjYgIGFsZXgKCgkqIFNvdXJjZS9jbUV4dHJhRWNsaXBzZUNEVDRHZW5lcmF0b3IuY3h4OiB0d28gcGF0Y2hlcyBmcm9tIE1pZ3VlbDoKCSAgQlVHOiBmaXggIzU4MTk6IHB1dCBjb21waWxlIGRlZmluaXRpb25zIGludG8gdGhlIGVjbGlwc2UgcHJvamVjdAoJICBmaWxlcyBzbyBlY2xpcHNlIGhhbmRsZXMgaWZkZWYgYmxjb2tzIGNvcnJlY3RseSBTVFlMRTogbWFrZSB0aGUKCSAgY29kZSBmb3IgZmlsdGVyaW5nIHNvbWUgZ2xvYmFsIHRhcmdldHMgb3V0IG5pY2VyCgoJICBBbGV4CgoyMDA4LTAyLTA3IDE2OjI0ICBraW5nCgoJKiBTb3VyY2UvY21Db21wdXRlTGlua0RlcGVuZHMuY3h4OiBDT01QOiBBZGQgbWlzc2luZyBhc3NlcnQKCSAgaW5jbHVkZS4KCjIwMDgtMDItMDcgMTY6MjIgIGFsZXgKCgkqIFNvdXJjZS9jbUluc3RhbGxDb21tYW5kLmN4eDogU1RZTEU6IGFkZCBzb21lIGNvbW1lbnRzCgoJICBBbGV4CgoyMDA4LTAyLTA3IDE2OjE0ICBraW5nCgoJKiBUZXN0cy9EZXBlbmRlbmN5L0Nhc2UyLzogQ01ha2VMaXN0cy50eHQsIGZvbzEuYywgZm9vMWIuYywKCSAgZm9vMmIuYywgZm9vMy5jLCBmb28zYi5jOiBFTkg6IE1ha2UgRGVwZW5kZW5jeSB0ZXN0IENhc2UyIHJlcXVpcmUKCSAgdHdvIHRyYXZlcnNhbHMgb2YgYSBzdGF0aWMgbGlicmFyeSBsb29wLgoKMjAwOC0wMi0wNyAxNjoxNCAga2luZwoKCSogYm9vdHN0cmFwLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9jbUNvbXB1dGVDb21wb25lbnRHcmFwaC5jeHgsCgkgIFNvdXJjZS9jbUNvbXB1dGVDb21wb25lbnRHcmFwaC5oLAoJICBTb3VyY2UvY21Db21wdXRlTGlua0RlcGVuZHMuY3h4LCBTb3VyY2UvY21Db21wdXRlTGlua0RlcGVuZHMuaCwKCSAgU291cmNlL2NtQ29tcHV0ZVRhcmdldERlcGVuZHMuY3h4LAoJICBTb3VyY2UvY21Db21wdXRlVGFyZ2V0RGVwZW5kcy5oLCBTb3VyY2UvY21HcmFwaEFkamFjZW5jeUxpc3QuaDoKCSAgRU5IOiBJbXByb3ZlIGxpbmsgbGluZSBnZW5lcmF0aW9uIGZvciBzdGF0aWMgbGlicmFyeSBjeWNsZXMuCgoJICAgIC0gTW92ZSBUYXJqYW4gYWxnb3JpdGhtIGZyb20gY21Db21wdXRlVGFyZ2V0RGVwZW5kcwoJICAgICAgaW50byBpdHMgb3duIGNsYXNzIGNtQ29tcHV0ZUNvbXBvbmVudEdyYXBoCgkgICAgLSBVc2UgY21Db21wdXRlQ29tcG9uZW50R3JhcGggdG8gaWRlbnRpZnkgdGhlIGNvbXBvbmVudCBEQUcKCSAgICAgIG9mIGxpbmsgZGVwZW5kZW5jaWVzIGluIGNtQ29tcHV0ZUxpbmtEZXBlbmRzCgkgICAgLSBFbWl0IG5vbi10cml2aWFsIGNvbXBvbmVudCBtZW1iZXJzIG1vcmUgdGhhbiBvbmNlIGJ1dCBhbHdheXMKCSAgICAgIGluIGEgY29udGlndW91cyBncm91cCBvbiB0aGUgbGluayBsaW5lCgoyMDA4LTAyLTA3IDEzOjI2ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUZpbGVDb21tYW5kLmN4eCwgY21GaWxlQ29tbWFuZC5oOiBFTkg6IG1ha2Ugc3VyZSBmaWxlcwoJICBhcmUgYmluYXJ5IGZvciBkb3dubG9hZCBhbmQgbWFrZSBzdGF0dXMgYSBwYWlyIG9mIHZhbHVlIHN0cmluZwoKMjAwOC0wMi0wNyAxMzoxOSAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kUGtnQ29uZmlnLmNtYWtlOiBCVUc6IGZpeCBmb3IgYnVnIDYxMTcgcGtnY29uZmlnCgoyMDA4LTAyLTA3IDExOjQzICBob2ZmbWFuCgoJKiBDTWFrZUNQYWNrT3B0aW9ucy5jbWFrZS5pbiwgU291cmNlL1F0RGlhbG9nL0NNYWtlTGlzdHMudHh0OiBFTkg6CgkgIGZvciB3aW5kb3dzIG9ubHkgYWxsb3cgYSBzdGF0aWMgcXQgZm9yIGluc3RhbGwgYW5kIE5TSVMgb2YKCSAgY21ha2UtZ3VpCgoyMDA4LTAyLTA3IDA4OjU1ICBob2ZmbWFuCgoJKiBUZXN0cy86IENvbXBsZXgvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0OiBFTkg6IGNvbXBsZXggbXVzdAoJICBsaW5rIHRvIGN1cmwgbm93CgoyMDA4LTAyLTA3IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDItMDYgMjA6MTQgIGtpbmcKCgkqIFNvdXJjZS9jbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uY3h4OiBCVUc6IEZpeAoJICBjbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24gdG8gaW5jbHVkZSB0aGUgdGFyZ2V0J3MgdXNlciBsaW5rCgkgIGRpcmVjdG9yaWVzIGluIHRoZSBydW50aW1lIHBhdGggY29tcHV0YXRpb24uCVRoaXMgYnVnIHdhcwoJICBpbnRyb2R1Y2VkIHdoZW4gY21PcmRlclJ1bnRpbWVEaXJlY3RvcmllcyB3YXMgaW50cm9kdWNlZC4KCjIwMDgtMDItMDYgMTc6MDIgIGFsZXgKCgkqIE1vZHVsZXMvRmluZFBhY2thZ2VIYW5kbGVTdGFuZGFyZEFyZ3MuY21ha2U6IFNUWUxFOiB1c2UgYQoJICBmdW5jdGlvbiBpbnN0ZWFkIG9mIGEgbWFjcm8sIHRvIGtlZXAgRkFJTF9NRVNTQUdFIGxvY2FsIHBhdGNoCgkgIGZyb20gTWlndWVsCgoJICBBbGV4CgoyMDA4LTAyLTA2IDE1OjI2ICBraW5nCgoJKiBTb3VyY2UvY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4OiBFTkg6IE1ha2UgZmluZF9saWJyYXJ5IHRlc3QgZm9yCgkgIHRoZSBsaWJyYXJ5IGZpbGUgYXMgbmFtZWQgYmVmb3JlIHRyeWluZyBwcmVmaXhlcyBhbmQgc3VmZml4ZXMuCgkgIFRoaXMgd2lsbCBhbGxvdyB1c2VycyB0byBleHBsaWNpdGx5IHNlYXJjaCBmb3Igc3RhdGljIGxpYnJhcmllcwoJICBvbiB1bml4LiAgU2VlIGJ1ZyAjMTY0My4KCjIwMDgtMDItMDYgMTU6MjMgIGtpbmcKCgkqIFNvdXJjZS9jbVRhcmdldExpbmtMaWJyYXJpZXNDb21tYW5kLmg6IFNUWUxFOiBJbXByb3ZlCgkgIGRvY3VtZW50YXRpb24gb2YgdGFyZ2V0X2xpbmtfbGlicmFyaWVzIGNvbW1hbmQgdG8gbWFrZQoJICB0YXJnZXQtbGV2ZWwgZGVwZW5kZW5jeSBleHBsaWNpdC4gIFNlZSBidWcgIzYwNDMuCgoyMDA4LTAyLTA2IDE1OjEwICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvQ01ha2VTZXR1cC5jeHg6IEVOSDoJVXBkYXRlIHNvbWUgc3RyaW5ncyB0bwoJICBtYXRjaCBwcm9ncmFtIG5hbWUuCgoyMDA4LTAyLTA2IDE0OjUyICBraW5nCgoJKiBUZXN0cy86IENNYWtlTGlzdHMudHh0LCBEZXBlbmRlbmN5L0NNYWtlTGlzdHMudHh0LAoJICBEZXBlbmRlbmN5L0Nhc2UxL0NNYWtlTGlzdHMudHh0LCBEZXBlbmRlbmN5L0Nhc2UxL2EuYywKCSAgRGVwZW5kZW5jeS9DYXNlMS9iLmMsIERlcGVuZGVuY3kvQ2FzZTEvYjIuYywKCSAgRGVwZW5kZW5jeS9DYXNlMS9jLmMsIERlcGVuZGVuY3kvQ2FzZTEvYzIuYywKCSAgRGVwZW5kZW5jeS9DYXNlMS9kLmMsIERlcGVuZGVuY3kvQ2FzZTEvbWFpbi5jLAoJICBEZXBlbmRlbmN5L0Nhc2UyL0NNYWtlTGlzdHMudHh0LCBEZXBlbmRlbmN5L0Nhc2UyL2JhcjEuYywKCSAgRGVwZW5kZW5jeS9DYXNlMi9iYXIyLmMsIERlcGVuZGVuY3kvQ2FzZTIvYmFyMy5jLAoJICBEZXBlbmRlbmN5L0Nhc2UyL2ZvbzEuYywgRGVwZW5kZW5jeS9DYXNlMi9mb28yLmMsCgkgIERlcGVuZGVuY3kvQ2FzZTIvZm9vMy5jLCBEZXBlbmRlbmN5L0Nhc2UyL3pvdC5jOiBFTkg6IENvbWJpbmUgYWxsCgkgIGRlcGVuZGVuY3kqIHRlc3RzIGludG8gb25lIERlcGVuZGVuY3kgdGVzdC4gIEFkZCBtb3JlIGRpZmZpY3VsdAoJICB0ZXN0IGNhc2VzLgoKMjAwOC0wMi0wNiAxNDo0NSAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nL0NNYWtlU2V0dXAuY3h4OiBCVUc6CU9uIE1hYyBPUyBYLCBnaXZlIHRoZSBDTWFrZQoJICBsaWJyYXJ5IHRoZSBjb3JyZWN0IHBhdGggdG8gdGhlIGNtYWtlICAgICAgIGV4ZWN0dWFibGVzLiAgRml4ZXMKCSAgIzYyODYuCgoyMDA4LTAyLTA2IDE0OjIwICBraW5nCgoJKiBTb3VyY2UvY21FeHBvcnRCdWlsZEZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21FeHBvcnRDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtRXhwb3J0SW5zdGFsbEZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmgsCgkgIFRlc3RzL0V4cG9ydEltcG9ydC9FeHBvcnQvQ01ha2VMaXN0cy50eHQ6IEVOSDogSW1wcm92ZQoJICBleHBvcnRpbmcvaW1wb3J0aW5nIG9mIHRhcmdldHMKCgkgICAgLSBVc2UgcmVhbCBuYW1lIGluc3RlYWQgb2YgbGluayBmb3IgbG9jYXRpb24gb2YgdmVyc2lvbmVkCgkgIHRhcmdldHMKCSAgICAtIEVycm9yIHdoZW4gYSB0YXJnZXQgaXMgZXhwb3J0ZWQgbXVsdGlwbGUgdGltZXMKCjIwMDgtMDItMDYgMTQ6MTkgIGtpbmcKCgkqIFNvdXJjZS9jbVRhcmdldC5jeHg6IEJVRzogTWFrZSBzdXJlIGxpbmtpbmcgdG8gYSBzaGFyZWQgbGliIG9uCgkgIHdpbmRvd3MgdXNlcyBpbXBvcnQgbGlicmFyeSBhbmQgbm90IHRoZSBuZXcgcmVhbG5hbWUuCgoyMDA4LTAyLTA2IDE0OjA2ICBraW5nCgoJKiBTb3VyY2UvY21UYXJnZXQuY3h4OiBCVUc6IERvIG5vdCBjcmVhdGUgdmVyc2lvbmVkIGV4ZWN1dGFibGUKCSAgbmFtZXMgb24gWGNvZGUgd2hlcmUgdGhleSBhcmUgbm90IHN1cHBvcnRlZC4KCjIwMDgtMDItMDYgMTM6MzQgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5jeHgsCgkgIGNtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5oLCBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0Lmg6IEVOSDogV2hlbgoJICBsaW5raW5nIHRvIHZlcnNpb25lZCB0YXJnZXRzIHdob3NlIHJlYWwgZmlsZSBuYW1lIGlzIGtub3duIHBhc3MKCSAgdGhlIHJlYWwgbmFtZSB0byB0aGUgbGlua2VyIGluc3RlYWQgb2YgdGhlIHN5bWxpbmsgbmFtZS4KCjIwMDgtMDItMDYgMDk6NDYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUZpbGVDb21tYW5kLmN4eDogRU5IOiByZW1vdmUgZGVidWcgcHJpbnQgc3R1ZmYKCjIwMDgtMDItMDYgMDk6MzUgIGhvZmZtYW4KCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUZpbGVDb21tYW5kLmN4eCwgY21GaWxlQ29tbWFuZC5oOiBFTkg6CgkgIGFkZCBET1dOTE9BRCBvcHRpb24gdG8gRklMRSBjb21tYW5kCgoyMDA4LTAyLTA2IDA5OjE3ICBob2ZmbWFuCgoJKiBTb3VyY2UvUXREaWFsb2cvQ01ha2VMaXN0cy50eHQ6IEVOSDogY2hhbmdlIG5hbWUgb2YgcXQtZGlhbG9nCgoyMDA4LTAyLTA2IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDItMDUgMjM6MTAgIGtpbmcKCgkqIGJvb3RzdHJhcCwgU291cmNlL0NNYWtlTGlzdHMudHh0LAoJICBTb3VyY2UvY21Db21wdXRlVGFyZ2V0RGVwZW5kcy5jeHgsCgkgIFNvdXJjZS9jbUNvbXB1dGVUYXJnZXREZXBlbmRzLmgsIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5oLCBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IEFuYWx5emUKCSAgaW50ZXItdGFyZ2V0IGRlcGVuZGVuY2llcyB0byBzYWZlbHkgZml4IGN5Y2xlcwoKCSAgICAtIEN5Y2xlcyBtYXkgYmUgZm9ybWVkIGFtb25nIHN0YXRpYyBsaWJyYXJpZXMKCSAgICAtIE5hdGl2ZSBidWlsZCBzeXN0ZW0gc2hvdWxkIG5vdCBoYXZlIGN5Y2xlcyBpbiB0YXJnZXQgZGVwcwoJICAgIC0gQ3JlYXRlIGNtQ29tcHV0ZVRhcmdldERlcGVuZHMgdG8gYW5hbHl6ZSBkZXBlbmRlbmNpZXMKCSAgICAtIElkZW50aWZ5IGNvbm5lY2VkIGNvbXBvbmVudHMgYW5kIHVzZSB0aGVtIHRvIGZpeCBkZXBzCgkgICAgLSBEaWFnbm9zZSBjeWNsZXMgY29udGFpbmluZyBub24tU1RBVElDIHRhcmdldHMKCSAgICAtIEFkZCBkZWJ1ZyBtb2RlIHByb3BlcnR5IEdMT0JBTF9ERVBFTkRTX0RFQlVHX01PREUKCSAgICAtIFVzZSByZXN1bHRzIGluIGNtR2xvYmFsR2VuZXJhdG9yIGFzIHRhcmdldCBkaXJlY3QgZGVwZW5kcwoKMjAwOC0wMi0wNSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAyLTA0IDE5OjAwICBraW5nCgoJKiBTb3VyY2UvY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eDogQ09NUDogQWRkIG1pc3NpbmcgaW5jbHVkZQoJICBmb3IgYXNzZXJ0LgoKMjAwOC0wMi0wNCAxNzowMyAga2luZwoKCSogU291cmNlLzogY21JbnN0YWxsQ29tbWFuZC5jeHgsIGNtSW5zdGFsbENvbW1hbmQuaCwKCSAgY21JbnN0YWxsQ29tbWFuZEFyZ3VtZW50cy5jeHgsIGNtSW5zdGFsbENvbW1hbmRBcmd1bWVudHMuaCwKCSAgY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eCwgY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmg6IEVOSDoKCSAgQWxsb3cgc2VwYXJhdGUgaW5zdGFsbGF0aW9uIG9mIHNoYXJlZCBsaWJzIGFuZCB0aGVpciBsaW5rcy4KCgkgICAgLSBBZGQgTkFNRUxJTktfT05MWSBhbmQgTkFNRUxJTktfU0tJUCB0byBJTlNUQUxMIGNvbW1hbmQKCSAgICAtIE9wdGlvbnMgc2VsZWN0IGEgXCJuYW1lbGlua1wiIG1vZGUKCSAgICAtIGNtSW5zdGFsbFRhcmdldEdlbmVyYXRvciBzZWxlY3RzIGZpbGVzL2xpbmsgYmFzZWQgb24gbW9kZQoJICAgIC0gU2VlIGJ1ZyAjNDQxOQoKMjAwOC0wMi0wNCAxNjowNSAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEVOSDogbWFrZSBzdXJlCgkgIEFMTF9CVUlMRCBvbmx5IHNob3dzIHVwIG9uY2UKCjIwMDgtMDItMDQgMTU6MjIgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vQUlYLmNtYWtlLCBTb3VyY2UvY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmN4eCwKCSAgU291cmNlL2NtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5oLCBTb3VyY2UvY21ha2UuY3h4OiBCVUc6IEFkZGVkCgkgIFRBUkdFVF9BUkNISVZFU19NQVlfQkVfU0hBUkVEX0xJQlMgZ2xvYmFsIHByb3BlcnR5IHRvIGhlbHAKCSAgY29tcHV0ZSBwcm9wZXIgcnBhdGggaW5mb3JtYXRpb24gb24gQUlYIHdoZW4gc2hhcmVkIGxpYnJhcmllcwoJICBoYXZlIG5hbWVzIGxpa2UgImxpYmZvby5hIi4KCjIwMDgtMDItMDQgMTA6MDQgIGtpbmcKCgkqIE1vZHVsZXMvOiBDTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgQ01ha2VEZXRlcm1pbmVDWFhDb21waWxlci5jbWFrZSwKCSAgQ01ha2VEZXRlcm1pbmVGb3J0cmFuQ29tcGlsZXIuY21ha2UsIENNYWtlVGVzdENDb21waWxlci5jbWFrZSwKCSAgQ01ha2VUZXN0Q1hYQ29tcGlsZXIuY21ha2U6IEJVRzogV2hlbiBjb25maWd1cmluZyBjb21waWxlcgoJICBpbmZvcm1hdGlvbiBmaWxlcyBpbnRvIHRoZSBDTWFrZUZpbGVzIGRpcmVjdG9yeSBpbiB0aGUgcHJvamVjdAoJICBidWlsZCB0cmVlLCB1c2UgSU1NRURJQVRFIG9wdGlvbiBmb3IgQ09ORklHVVJFX0ZJTEUgZXhwbGljaXRseS4KCSAgSXQgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHVzZXIgc2V0cyBDTUFLRV9CQUNLV0FSRFNfQ09NUEFUSUJJTElUWQoJICB0byAyLjAgb3IgbG93ZXIuCgoyMDA4LTAyLTA0IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDItMDMgMTc6MjQgIGtpbmcKCgkqIE1vZHVsZXMvOiBDTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgQ01ha2VEZXRlcm1pbmVDWFhDb21waWxlci5jbWFrZSwKCSAgQ01ha2VEZXRlcm1pbmVGb3J0cmFuQ29tcGlsZXIuY21ha2UsIENNYWtlRm9yY2VDb21waWxlci5jbWFrZSwKCSAgQ01ha2VUZXN0Q0NvbXBpbGVyLmNtYWtlLCBDTWFrZVRlc3RDWFhDb21waWxlci5jbWFrZTogQlVHOiBXaGVuCgkgIGZvcmNpbmcgdGhlIEMgYW5kIENYWCBjb21waWxlcnMgZG8gbm90IHRyeSB0byBkZXRlY3QgdGhlIEFCSQoJICBpbmZvcm1hdGlvbi4JQ2xlYW51cCBjb25maWd1cmVkIGxhbmd1YWdlIGNvbXBpbGVyIGluZm8gZmlsZXMgYnkKCSAgYWx3YXlzIHVzaW5nIEBPTkxZLiAgVGhpcyBhZGRyZXNzZXMgYnVnIzYyOTcuCgoyMDA4LTAyLTAzIDA4OjU4ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvSU9TdHJlYW0uY3h4OiBDT01QOiBBdm9pZCB3YXJuaW5nIGluIGt3c3lzCgkgIElPU3RyZWFtLmN4eCB3aGVuIHRoZSBoZWxwZXIgZnVuY3Rpb25zIGFyZSBub3QgbmVlZGVkLiAgRGVmaW5lCgkgIG9uZSBwdWJsaWMgc3ltYm9sIHRvIGF2b2lkIGNvbXBsYWludHMgZnJvbSBhcmNoaXZlcnMgYWJvdXQgZW1wdHkKCSAgb2JqZWN0IGZpbGVzLgoKMjAwOC0wMi0wMyAwODo1NyAga2luZwoKCSogVGVzdHMvRXhwb3J0SW1wb3J0L0V4cG9ydC86IHRlc3RFeGUxLmMsIHRlc3RFeGUxbGliLmMsCgkgIHRlc3RMaWIxLmMsIHRlc3RMaWIyLmM6IENPTVA6IENvbnZlcnQgQyBmdW5jdGlvbiBwcm90b3R5cGVzIHRvCgkgIHVzZSAodm9pZCkgaW5zdGVhZCBvZiAoKS4KCjIwMDgtMDItMDMgMDg6NTcgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0Lmg6IEJVRzogY21DVGVzdDo6R2V0Q29uZmlnVHlwZQoJICBzaG91bGQgcmV0dXJuIHRoZSBzdHJpbmcgYnkgcmVmZXJlbmNlLXRvLWNvbnN0IHNvIHRoYXQgY2FsbGVycwoJICBtYXkgdXNlIC5jX3N0cigpIHNhZmVseS4KCjIwMDgtMDItMDMgMDg6MjAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1JbmZvcm1hdGlvbi5jeHg6IENPTVA6IEZpeCB3YXJuaW5nIGluCgkgIFN5c3RlbUluZm9ybWF0aW9uLmN4eCBhYm91dCBwb3NzaWJseSBpbmNvcnJlY3QgYXNzaWdubWVudCBpbiBpZgoJICBjb25kaXRpb24uCgoyMDA4LTAyLTAzIDA4OjE0ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtSW5mb3JtYXRpb24uY3h4OiBDT01QOiBGaXggdW5yZWFjaGFibGUgY29kZQoJICB3YXJuaW5nLiAgUmVtb3ZlIHJ1bnRpbWUgdGVzdCBvZiBjb25zdGFudCBpbmZvcm1hdGlvbi4KCjIwMDgtMDItMDMgMDg6MDcgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9oYXNoX3NldC5oeHguaW46IENPTVA6IFJlbW92ZSBpbmxpbmUga2V5d29yZCBmcm9tCgkgIGZvcndhcmQgZGVjbGFyYXRpb24gZm9yIFZTOS4KCjIwMDgtMDItMDMgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wMi0wMiAxNjoxOCAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbUluZm9ybWF0aW9uLmN4eDogRU5IOiBmaXggaW5maW5pdGUgbG9vcCBmcm9tCgkgIHNpemVfdCBjaGFuZ2UKCjIwMDgtMDItMDIgMDg6NTggIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vOiBOZXRCU0QuY21ha2UsIGtGcmVlQlNELmNtYWtlOiBFTkg6IEVuYWJsZQoJICBkZXBlbmRlbnQgbGlicmFyeSBzZWFyY2ggcGF0aHMgb24gbW9yZSBwbGF0Zm9ybXMKCgkgICAgLSBOZXRCU0QgbmVlZHMgZGVwZW5kZW50IGxpYnJhcnkgcGF0aHMgaW4gLXJwYXRoLWxpbmsgb3B0aW9uLgoJICAgIC0ga0ZyZWVCU0QgbmVlZHMgZGVwZW5kZW50IGxpYnJhcnkgcGF0aHMgaW4gLXJwYXRoLWxpbmsgb3B0aW9uLgoKMjAwOC0wMi0wMiAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAyLTAxIDE2OjE3ICBtYXJ0aW5rCgoJKiBUZXN0cy9DTWFrZUxpc3RzLnR4dDogRU5IOiBkaXNhYmxlIHRlc3QgZm9yIHZzIDcwIGFzIGRldmVudgoJICByYW5kb21seSBzZWdmYXVsdHMgd2hlbiBidWlsZGluZyB0aGUgc3ViLXByb2plY3QKCjIwMDgtMDItMDEgMTY6MDUgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHg6IEVOSDogcmVhbGx5IEJpbGwsIHVzaW5nIEtlbidzCgkgIGNoZWNrb3V0LCBmaXggb3V0cHV0IGluIGN0ZXN0IHNvIGNsZWFuIG91dHB1dCBpbiBidWlsZCBhbmQgdGVzdAoJICBpcyBub3QgbG9zdCwgYWxzbyBkaXNwbGF5IHRoZSBjb21tYW5kIGxpbmVzIHVzZWQKCjIwMDgtMDItMDEgMTQ6MzUgIGtpbmcKCgkqIFNvdXJjZS9jbUV4cG9ydEluc3RhbGxGaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBGaXhlZCB0eXBvCgkgIHJlc3VsdGluZyBpbiBjb25mdXNpbmcgZXJyb3IgbWVzc2FnZSBmcm9tCgkgIGNtRXhwb3J0SW5zdGFsbEZpbGVHZW5lcmF0b3IuCgoyMDA4LTAyLTAxIDEzOjUyICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6CgkgIEJVRzoJV2hlbiBwcmVzZXJ2aW5nIHJlbGF0aXZlIHBhdGhzIGZvciBtb2MgZ2VuZXJhdGVkIGZpbGVzLAoJICBhbHNvIGNvbnNpZGVyIHBhdGhzIHRvIGhlYWRlcnMgaW4gdGhlIGJ1aWxkIGRpcmVjdG9yeS4KCjIwMDgtMDItMDEgMTM6MTggIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dDogRU5IOiBNZXJnZSBjaGFuZ2VzIGZyb20gbWFpbiB0cmVlCgkgIGludG8gVlRLLTUtMCBicmFuY2guIChjdnMgLXEgdXAgLWoxLjEzNSAtajEuMTM2CgkgIFV0aWxpdGllcy9rd3N5cy9DTWFrZUxpc3RzLnR4dCkKCjIwMDgtMDItMDEgMTM6MDggIGtpbmcKCgkqIFNvdXJjZS9jbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21UYXJnZXQuaCwKCSAgVGVzdHMvRXhwb3J0SW1wb3J0L0V4cG9ydC9DTWFrZUxpc3RzLnR4dDogQlVHOiBSZW1vdmUKCSAgSW5zdGFsbE5hbWVGaXh1cFBhdGggZnJvbSBjbVRhcmdldCBhbmQgY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLgoKCSAgICAtIE1vdGl2YXRpb246CgkgICAgICAtIEl0IGRlcGVuZGVkIG9uIHRoZSBvcmRlciBvZiBpbnN0YWxsYXRpb24KCSAgICAgIC0gSXQgc3VwcG9ydGVkIG9ubHkgYSBzaW5nbGUgZGVzdGluYXRpb24gZm9yIGVhY2ggdGFyZ2V0CgkgICAgICAtIEl0IGNyZWF0ZWQgZGlyZWN0b3J5IHBvcnRpb25zIG9mIGFuIGluc3RhbGwgbmFtZSB3aXRob3V0CgkgIHVzZXIgcmVxdWVzdAoJICAgIC0gVXBkYXRlZCBFeHBvcnRJbXBvcnQgdGVzdCB0byBpbnN0YWxsIHRhcmdldHMgaW4gYW4gb3JkZXIgdGhhdAoJICBleHBvZWQKCSAgICAgIHRoaXMgYnVnCgoyMDA4LTAyLTAxIDEyOjM1ICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtSW5mb3JtYXRpb24uY3h4OiBFTkg6IGZpeCB3YXJuaW5ncwoKMjAwOC0wMi0wMSAxMjowMiAgY2xpbnRvbgoKCSogTW9kdWxlcy9Vc2VRdDQuY21ha2U6IEVOSDogIFVzZSBuZXcgQ09NUElMRV9ERUZJTklUSU9OU18qIHdpdGgKCSAgc2V0X3Byb3BlcnR5IHRvCWFkZCBRdCByZWxlYXNlL2RlYnVnIGRlZmluZXMuCgoyMDA4LTAyLTAxIDExOjQ4ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvOiBDTWFrZVNldHVwLmN4eCwgQ01ha2VTZXR1cERpYWxvZy5jeHg6IEVOSDoKCSAgU2hvdyB2ZXJzaW9uIG51bWJlciBpbiB3aW5kb3cgdGl0bGUuCgoyMDA4LTAyLTAxIDExOjQwICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtSW5mb3JtYXRpb24uY3h4OiBFTkg6IGZpeCBtb3JlIHdhcm5pbmdzCgoyMDA4LTAyLTAxIDExOjMzICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvOiBTeXN0ZW1JbmZvcm1hdGlvbi5jeHg6IEVOSDogZml4IG1vcmUgd2FybmluZ3MKCjIwMDgtMDItMDEgMTE6MzAgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1JbmZvcm1hdGlvbi5jeHg6IEVOSDogZml4IHNvbWUgd2FybmluZ3MgYW5kIDY0CgkgIGJpdCBidWlsZCB3aW5kb3dzCgoyMDA4LTAyLTAxIDExOjA5ICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtSW5mb3JtYXRpb24uY3h4OiBFTkg6IGZpeCB3aW42NCBidWlsZCBhbmQgYQoJICB3YXJuaW5nCgoyMDA4LTAyLTAxIDEwOjQxICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvOiBDTWFrZVNldHVwLmN4eCwgQ01ha2VTZXR1cERpYWxvZy5jeHgsCgkgIENNYWtlU2V0dXBEaWFsb2cuaCwgUUNNYWtlLmN4eDogRU5IOglVc2UgdHJhbnNsYXRpb24gZmlsZSBpZiBpdAoJICBleGlzdHMgZm9yIHRoZSBsb2NhbGUuCUNvbnNvbGlkYXRlIHNvbWUgc3RyaW5ncy4KCgkJTW9yZSByZXNwb25zaXZlIGludGVycnVwdGluZy4gIFByb21wdCB1c2VyIGlmIHRoZXkgdHJ5IHRvCgkgIGNsb3NlIGR1cmluZwoJCWNvbmZpZ3VyZSwgYW5kIGFsbG93IHRoZW0gdG8gY2xvc2UuCgoyMDA4LTAyLTAxIDA5OjU3ICBraW5nCgoJKiBUZXN0cy9FeHBvcnRJbXBvcnQvOiBDTWFrZUxpc3RzLnR4dCwgRXhwb3J0L0NNYWtlTGlzdHMudHh0OiBFTkg6CgkgIFVwZGF0ZSBFeHBvcnRJbXBvcnQgdGVzdCB0byBlbmZvcmNlIGRlcGVuZGVudCBsaWJyYXJ5IHBhdGhzCgoJICAgIC0gQnVpbGQgd2l0aG91dCBycGF0aHMKCSAgICAtIFBsYWNlIGltcGxlbWVudGF0aW9uIGxpYnMgaW4gc2VwYXJhdGUgZGlyZWN0b3JpZXMKCjIwMDgtMDItMDEgMDk6NTcgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vOiBGcmVlQlNELmNtYWtlLCBIUC1VWC5jbWFrZSwgSVJJWC5jbWFrZSwKCSAgSVJJWDY0LmNtYWtlLCBTdW5PUy5jbWFrZTogRU5IOiBFbmFibGUgZGVwZW5kZW50IGxpYnJhcnkgc2VhcmNoCgkgIHBhdGhzIG9uIG1vcmUgcGxhdGZvcm1zCgoJICAgIC0gSFAtVVggbmVlZHMgZGVwZW5kZW50IGxpYnJhcnkgcGF0aHMgYXMgLUwgb3B0aW9ucy4KCSAgICAtIElSSVggbmVlZHMgZGVwZW5kZW50IGxpYnJhcnkgcGF0aHMgYXMgLUwgb3B0aW9ucy4KCSAgICAtIFN1biBuZWVkcyBkZXBlbmRlbnQgbGlicmFyeSBwYXRocyBhcyAtTCBvcHRpb25zLgoJICAgIC0gRnJlZUJTRCBuZWVkcyBkZXBlbmRlbnQgbGlicmFyeSBwYXRocyBpbiAtcnBhdGgtbGluayBvcHRpb24uCgoyMDA4LTAyLTAxIDA5OjM2ICBraW5nCgoJKiBUZXN0cy9DTWFrZUxpc3RzLnR4dDogQlVHOiBGaXggY29tbWl0IDEuNDEgb2YKCSAgVGVzdHMvQ01ha2VMaXN0cy50eHQgdG8gcGxhY2UgZmFrZSB0YXJnZXQgYmVmb3JlIC0tdmVyc2lvbiBmbGFnCgkgIGluc3RlYWQgb2YgYWZ0ZXIuCgoyMDA4LTAyLTAxIDA4OjU2ICBraW5nCgoJKiBib290c3RyYXAsIE1vZHVsZXMvQ01ha2VDSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VDWFhJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUZvcnRyYW5JbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9EYXJ3aW4uY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vTGludXguY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vUU5YLmNtYWtlLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9jbUNvbXB1dGVMaW5rRGVwZW5kcy5jeHgsCgkgIFNvdXJjZS9jbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uY3h4LAoJICBTb3VyY2UvY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmgsCgkgIFNvdXJjZS9jbURvY3VtZW50VmFyaWFibGVzLmN4eCwKCSAgU291cmNlL2NtRXhwb3J0QnVpbGRGaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtRXhwb3J0QnVpbGRGaWxlR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUV4cG9ydEZpbGVHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21FeHBvcnRGaWxlR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUV4cG9ydEluc3RhbGxGaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtRXhwb3J0SW5zdGFsbEZpbGVHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21PcmRlclJ1bnRpbWVEaXJlY3Rvcmllcy5jeHgsCgkgIFNvdXJjZS9jbU9yZGVyUnVudGltZURpcmVjdG9yaWVzLmgsIFNvdXJjZS9jbVRhcmdldC5jeHg6IEVOSDoKCSAgUGFzcyBkZXBlbmRlbnQgbGlicmFyeSBzZWFyY2ggcGF0aCB0byBsaW5rZXIgb24gc29tZSBwbGF0Zm9ybXMuCgoJICAgIC0gTW92ZSBydW50aW1lIHBhdGggb3JkZXJpbmcgb3V0IG9mIGNtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbgoJICAgICAgaW50byBpdHMgb3duIGNsYXNzIGNtT3JkZXJSdW50aW1lRGlyZWN0b3JpZXMuCgkgICAgLSBDcmVhdGUgYW4gaW5zdGFuY2Ugb2YgY21PcmRlclJ1bnRpbWVEaXJlY3RvcmllcyBmb3IgcnVudGltZQoJICAgICAgcGF0aCBvcmRlcmluZyBhbmQgYW5vdGhlciBpbnN0YW5jZSBmb3IgZGVwZW5kZW50IGxpYnJhcnkKCSAgICAgIHBhdGggb3JkZXJpbmcuCgkgICAgLSBSZXBsYWNlIENNQUtFX0RFUEVOREVOVF9TSEFSRURfTElCUkFSWV9NT0RFIHdpdGggZXhwbGljaXQKCSAgICAgIENNQUtFX0xJTktfREVQRU5ERU5UX0xJQlJBUllfRklMRVMgYm9vbGVhbi4KCSAgICAtIENyZWF0ZSBDTUFLRV9MSU5LX0RFUEVOREVOVF9MSUJSQVJZX0RJUlMgYm9vbGVhbi4KCSAgICAtIENyZWF0ZSB2YXJpYWJsZXMgdG8gc3BlY2lmeSAtcnBhdGgtbGluayBmbGFnczoKCQlDTUFLRV9TSEFSRURfTElCUkFSWV9SUEFUSF9MSU5LXzxMQU5HPl9GTEFHCgkJQ01BS0VfRVhFQ1VUQUJMRV9SUEFUSF9MSU5LXzxMQU5HPl9GTEFHCgkgICAgLSBFbmFibGUgLXJwYXRoLWxpbmsgZmxhZyBvbiBMaW51eCBhbmQgUU5YLgoJICAgIC0gRG9jdW1lbnRhdGlvbiBhbmQgZXJyb3IgbWVzc2FnZSB1cGRhdGVzCgoyMDA4LTAyLTAxIDA4OjU1ICBraW5nCgoJKiBTb3VyY2UvY21UYXJnZXQuY3h4OiBDT01QOiBGaXggc2hhZG93ZWQgbG9jYWwgd2FybmluZy4KCjIwMDgtMDItMDEgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wMS0zMSAyMTozMyAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbUluZm9ybWF0aW9uLmN4eDogRU5IOiB0cnkgdG8gZml4IGhwIGFuZCB2cyA2LAoJICBhZ2Fpbi4uLgoKMjAwOC0wMS0zMSAxNjozOCAgaG9mZm1hbgoKCSogU291cmNlLzogQ1Rlc3QvY21DVGVzdFVwZGF0ZUhhbmRsZXIuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaDogU1RZTEU6IGxpbmUgbGVuZ3RoCgoyMDA4LTAxLTMxIDE2OjM3ICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtSW5mb3JtYXRpb24uY3h4OiBFTkg6IGZpeGVzIGZvciBib3JsYW5kCgoyMDA4LTAxLTMxIDE2OjMzICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eDogQlVHOiBtaW5vciBmaXggZm9yIGN0ZXN0CgoyMDA4LTAxLTMxIDE2OjEwICBob2ZmbWFuCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogcmVtb3ZlIGV4dHJhIGp1bmsKCjIwMDgtMDEtMzEgMTU6NDUgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vRGFyd2luLmNtYWtlLCBTb3VyY2UvY21Db21wdXRlTGlua0RlcGVuZHMuY3h4LAoJICBTb3VyY2UvY21Db21wdXRlTGlua0RlcGVuZHMuaCwKCSAgU291cmNlL2NtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5jeHgsCgkgIFNvdXJjZS9jbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uaCwKCSAgU291cmNlL2NtRG9jdW1lbnRWYXJpYWJsZXMuY3h4LCBTb3VyY2UvY21FeHBvcnRGaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtRXhwb3J0RmlsZUdlbmVyYXRvci5oLCBTb3VyY2UvY21UYXJnZXQuY3h4LAoJICBTb3VyY2UvY21UYXJnZXQuaCwgVGVzdHMvRXhwb3J0SW1wb3J0L0V4cG9ydC9DTWFrZUxpc3RzLnR4dDogRU5IOgoJICBTdXBwb3J0IGxpbmtpbmcgdG8gc2hhcmVkIGxpYnMgd2l0aCBkZXBlbmRlbnQgbGlicwoKCSAgICAtIFNwbGl0IElNUE9SVEVEX0xJTktfTElCUkFSSUVTIGludG8gdHdvIHBhcnRzOgoJCUlNUE9SVEVEX0xJTktfSU5URVJGQUNFX0xJQlJBUklFUwoJCUlNUE9SVEVEX0xJTktfREVQRU5ERU5UX0xJQlJBUklFUwoJICAgIC0gQWRkIENNQUtFX0RFUEVOREVOVF9TSEFSRURfTElCUkFSWV9NT0RFIHRvIHNlbGVjdCBiZWhhdmlvcgoJICAgIC0gU2V0IG1vZGUgdG8gTElOSyBmb3IgRGFyd2luIChmaXhlcyB1bml2ZXJzYWwgYmluYXJ5IHByb2JsZW0pCgkgICAgLSBVcGRhdGUgRXhwb3J0SW1wb3J0IHRlc3QgdG8gYWNjb3VudCBmb3IgY2hhbmdlcwoKMjAwOC0wMS0zMSAxNTozNCAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbUluZm9ybWF0aW9uLmN4eDogRU5IOiBmaXggZm9yIHFueCwgSSBob3BlLCBhbmQKCSAgZml4IGluZGVudCBzdHVmZgoKMjAwOC0wMS0zMSAxNToxMCAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbUluZm9ybWF0aW9uLmN4eDogRU5IOiBmaXggYnVpbGQgZXJyb3JzIHdpdGgKCSAgYXNtIHN0dWZmIG9uIG1pbmd3IGFuZCBob3BlZnVsbHkgd2luNjQKCjIwMDgtMDEtMzEgMTQ6NTAgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1JbmZvcm1hdGlvbi5jeHg6IEVOSDogZml4IGJ1aWxkIGZvciBtaW5ndwoKMjAwOC0wMS0zMSAxNDozNCAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzLzogU3lzdGVtSW5mb3JtYXRpb24uY3h4LCBTeXN0ZW1JbmZvcm1hdGlvbi5oeHguaW46CgkgIEVOSDogc3BsaXQgaW50byBpbXBsZW1lbnRhdGlvbiBhbmQgaW50ZXJmYWNlIGNsYXNzIHRvIGNsZWFuIHVwCgkgIG5hbWVzcGFjZSBpc3N1ZXMgd2l0aCAjZGVmaW5lIHN0dWZmCgoyMDA4LTAxLTMxIDEzOjIzICBtYXJ0aW5rCgoJKiBNb2R1bGVzL0RhcnQuY21ha2U6IEVOSDogdXNlIGN0ZXN0IHRvIGRyaXZlIGRhc2hib2FyZHMgZm9yIG1ha2UKCSAgdGFyZ2V0cyBhcyBvcHBvc2VkIHRvIHRjbHNoCgoyMDA4LTAxLTMxIDEyOjU2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQ6IEJVRzogTmVlZCB0byBpbnN0YWxsIGNzdGRkZWYgaGVhZGVyLgoKMjAwOC0wMS0zMSAxMjoxOSAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogRU5IOiByZW1vdmUgYSBjb25zdCBjYXN0CgoyMDA4LTAxLTMxIDExOjQzICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjdGVzdC5jeHgsIENUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHg6IEVOSDogcmVhZCBpbgoJICBvbGQgZmlsZSBmb3JtYXRzIERhcnQgYXMgd2VsbAoKMjAwOC0wMS0zMSAwODozMiAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzUGxhdGZvcm1UZXN0c0NYWC5jeHg6IFNUWUxFOiBXb3JrLWFyb3VuZCBzdGQ6OgoJICBjaGVjayBzaW5jZSB0aGlzIGlzIGEgcGxhdGZvcm0gdGVzdC4KCjIwMDgtMDEtMzEgMDg6MjEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IFN0cmluZy5oeHguaW4sIFN5c3RlbVRvb2xzLmh4eC5pbiwKCSAga3dzeXNfaW9zX3NzdHJlYW0uaC5pbjogU1RZTEU6IFJlbW92ZSByZWZlcmVuY2VzIHRvIHN0ZDo6IGluc2lkZQoJICBLV1N5cywgZXZlbiBpbiBjb21tZW50cy4gIFRoaXMgd2lsbCBhbGxvdyBhIGNvbW1pdCBjaGVjayB0byBiZQoJICBhZGRlZC4KCjIwMDgtMDEtMzEgMDg6MjEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1JbmZvcm1hdGlvbi5jeHg6IENPTVA6IFJlcGxhY2Uga3dzeXNfc3RsOjoKCSAgd2l0aCBrd3N5c19pb3M6OiBmb3Igc3RyZWFtcyBhY2Nlc3MuCgoyMDA4LTAxLTMxIDA4OjA1ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uY3h4LCBjbVRhcmdldC5jeHg6IEVOSDogQWRkCgkgIHRhcmdldCBwcm9wZXJ0eSBMSU5LX1NFQVJDSF9FTkRfU1RBVElDIHRvIGhlbHAgcGVvcGxlIGJ1aWxkaW5nCgkgIHN0YXRpYyBiaW5hcmllcyBvbiBzb21lIHBsYXRmb3Jtcy4KCjIwMDgtMDEtMzEgMDc6NTAgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vSVJJWC5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9JUklYNjQuY21ha2UsCgkgIFNvdXJjZS9jbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uY3h4LAoJICBTb3VyY2UvY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmgsCgkgIFNvdXJjZS9jbUZpbmRMaWJyYXJ5Q29tbWFuZC5jeHgsIFNvdXJjZS9jbUZpbmRMaWJyYXJ5Q29tbWFuZC5oOgoJICBCVUc6IE1vdmUgZGVjaXNpb24gdG8gc3dpdGNoIGxpYnJhcnkgcGF0aHMgZm91bmQgaW4gaW1wbGljaXQgbGluawoJICBkaXJlY3RvcmllcyB0byB1c2UgLWwgb3B0aW9ucyBmcm9tIGNtRmluZExpYnJhcnlDb21tYW5kIHRvCgkgIGNtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi4gIEV4aXN0aW5nIHByb2plY3RzIG1heSBkZXBlbmQgb24KCSAgZmluZF9saWJyYXJ5IHJldHVybmluZyBhIGZ1bGwgcGF0aC4gIFRoaXMgc2xpZ2h0bHkgd2Vha2VucwoJICBjbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24gYnV0IGlzIG5lY2Vzc2FyeSBmb3IgY29tcGF0aWJpbGl0eS4KCjIwMDgtMDEtMzEgMDY6NTEgIGtpbmcKCgkqIFNvdXJjZS86IGNtRXhwb3J0RmlsZUdlbmVyYXRvci5jeHgsIGNtRXhwb3J0RmlsZUdlbmVyYXRvci5oOgoJICBDT01QOiBSZW1vdmUgdW51c2VkIHBhcmFtZXRlci4KCjIwMDgtMDEtMzEgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wMS0zMCAyMjo1NiAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaDogRU5IOiByZW1vdmUgY29uc3QKCjIwMDgtMDEtMzAgMjE6NDAgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy86IFN5c3RlbUluZm9ybWF0aW9uLmN4eCwgU3lzdGVtSW5mb3JtYXRpb24uaHh4LmluOgoJICBDT01QOiB1c2Uga3dzeXNfc3RsIGFuZCBub3Qgc3RkOjoKCjIwMDgtMDEtMzAgMTc6NTcgIGtpbmcKCgkqIFNvdXJjZS9jbUV4cG9ydEZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IEZpeGVkIHByZXZpb3VzIGNvbW1pdCBpbgoJICBjbUV4cG9ydEZpbGVHZW5lcmF0b3IgdG8gc2VwYXJhdGUgbGlicmFyaWVzIGNvcnJlY3RseSBpbiB0aGUKCSAgaW1wb3J0IGxpbmsgbGlzdC4KCjIwMDgtMDEtMzAgMTc6MjYgIGtpbmcKCgkqIFRlc3RzL0V4cG9ydEltcG9ydC86IENNYWtlTGlzdHMudHh0LCBFeHBvcnQvQ01ha2VMaXN0cy50eHQsCgkgIEV4cG9ydC90ZXN0RXhlMmxpYi5jLCBFeHBvcnQvdGVzdEV4ZTJsaWJJbXAuYywgRXhwb3J0L3Rlc3RMaWIzLmMsCgkgIEV4cG9ydC90ZXN0TGliM0ltcC5jLCBJbXBvcnQvaW1wX21vZDEuYzogRU5IOiBVcGRhdGVkCgkgIEV4cG9ydEltcG9ydCB0ZXN0IHRvIHRyeSBMSU5LX0lOVEVSRkFDRV9MSUJSQVJJRVMuCgoyMDA4LTAxLTMwIDE3OjI1ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNvbXB1dGVMaW5rRGVwZW5kcy5jeHgsCgkgIGNtRXhwb3J0QnVpbGRGaWxlR2VuZXJhdG9yLmN4eCwgY21FeHBvcnRCdWlsZEZpbGVHZW5lcmF0b3IuaCwKCSAgY21FeHBvcnRDb21tYW5kLmN4eCwgY21FeHBvcnRDb21tYW5kLmgsCgkgIGNtRXhwb3J0RmlsZUdlbmVyYXRvci5jeHgsIGNtRXhwb3J0RmlsZUdlbmVyYXRvci5oLAoJICBjbUV4cG9ydEluc3RhbGxGaWxlR2VuZXJhdG9yLmN4eCwgY21UYXJnZXQuY3h4LCBjbVRhcmdldC5oOiBFTkg6CgkgIEltcGxlbWVudGVkIGxpbmstaW50ZXJmYWNlIHNwZWNpZmljYXRpb24gZmVhdHVyZS4KCgkgICAgLSBTaGFyZWQgbGlicyBhbmQgZXhlY3V0YWJsZXMgd2l0aCBleHBvcnRzIG1heSBub3cgaGF2ZQoJICAgICAgZXhwbGljaXQgdHJhbnNpdGl2ZSBsaW5rIGRlcGVuZGVuY2llcyBzcGVjaWZpZWQKCSAgICAtIENyZWF0ZWQgTElOS19JTlRFUkZBQ0VfTElCUkFSSUVTIGFuZCByZWxhdGVkIHByb3BlcnRpZXMKCSAgICAtIEV4cG9ydGVkIHRhcmdldHMgZ2V0IHRoZSBpbnRlcmZhY2UgbGlicmFyaWVzIGFzIHRoZWlyCgkgICAgICBJTVBPUlRFRF9MSU5LX0xJQlJBUklFUyBwcm9wZXJ0eS4KCSAgICAtIFRoZSBleHBvcnQoKSBhbmQgaW5zdGFsbChFWFBPUlQpIGNvbW1hbmRzIG5vdyBnaXZlCgkgICAgICBhbiBlcnJvciB3aGVuIGEgbGlua2VkIHRhcmdldCBpcyBub3QgaW5jbHVkZWQgc2luY2UKCSAgICAgIHRoZSB1c2VyIGNhbiBjaGFuZ2UgdGhlIGludGVyZmFjZSBsaWJyYXJpZXMgaW5zdGVhZAoJICAgICAgb2YgYWRkaW5nIHRoZSB0YXJnZXQuCgoyMDA4LTAxLTMwIDE2OjIyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogRU5IOiBtYWtlIHN1cmUgZ2xvYmFsCgkgIHRhcmdldHMgYXJlIGluIHRoZSByaWdodCBwcm9qZWN0cwoKMjAwOC0wMS0zMCAxMzowMiAgaG9mZm1hbgoKCSogVGVzdHMvU3ViUHJvamVjdC9mb28vOiBDTWFrZUxpc3RzLnR4dCwgZm9vLmN4eDogRU5IOiBhZGQgbWlzc2luZwoJICBmaWxlcwoKMjAwOC0wMS0zMCAxMjo1NSAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbUluZm9ybWF0aW9uLmh4eC5pbjogRU5IOiBmaXggZm9yIHZzIDcwCgoyMDA4LTAxLTMwIDEyOjE1ICBraW5nCgoJKiBTb3VyY2UvY21Db21wdXRlTGlua0RlcGVuZHMuY3h4OiBCVUc6IGNtQ29tcHV0ZUxpbmtEZXBlbmRzIHNob3VsZAoJICBub3QgZm9sbG93IHRoZSBkZXBlbmRlbmNpZXMgb2YgZXhlY3V0YWJsZXMuCgoyMDA4LTAxLTMwIDEyOjA0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsIFRlc3RzL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TdWJQcm9qZWN0L0NNYWtlTGlzdHMudHh0LCBUZXN0cy9TdWJQcm9qZWN0L2Jhci5jeHgsCgkgIFRlc3RzL1N1YlByb2plY3QvY2FyLmN4eDogRU5IOiBmaXggZm9yIGJ1ZyAzMjE4IGRlcGVuZGFudAoJICBwcm9qZWN0cyBhcmUgd3JpdHRlbiBvdXQgYXV0b21hdGljYWxseSBpZiB0aGV5IGFyZSBpbiB0aGUKCSAgcHJvamVjdC4gIEFsc28gZml4IGJ1ZyA1ODI5LCByZW1vdmUgaGFyZCBjb2RlZAoJICBDTUFLRV9DT05GSUdVUkFUSU9OX1RZUEVTIGZyb20gdnMgNyBnZW5lcmF0b3IKCjIwMDgtMDEtMzAgMTE6NTQgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RUZXN0SGFuZGxlci5jeHgsIGNtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eDoKCSAgRU5IOiByZW1vdmUgd2FybmluZ3MKCjIwMDgtMDEtMzAgMTE6MjIgIGtpbmcKCgkqIFNvdXJjZS86IGNtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuY3h4LAoJICBjbUFkZEN1c3RvbUNvbW1hbmRDb21tYW5kLmg6IEVOSDogTWFrZSBhZGRfY3VzdG9tX2NvbW1hbmQKCSAgaW50ZXJwcmV0IHJlbGF0aXZlIE9VVFBVVCBsb2NhdGlvbnMgd2l0aCByZXNwZWN0IHRvIHRoZSBidWlsZCB0cmUKCSAgaW5zdGVhZCBvZiB0aGUgc291cmNlIHRyZWUuICBUaGlzIGNhbiBncmVhdGx5IHNpbXBsaWZ5IHVzZXIgY29kZQoJICBzaW5jZSBnZW5lcmF0aW5nIGEgZmlsZSB3aWxsIG5vdCBuZWVkIHRvIHJlZmVyZW5jZQoJICBDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVIuICBUaGUgbmV3IGJlaGF2aW9yIGlzIHdoYXQgdXNlcnMgZXhwZWN0CgkgIDk5JSBvZiB0aGUgdGltZS4KCjIwMDgtMDEtMzAgMTE6MjEgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2V0UHJvcGVydHlDb21tYW5kLmN4eCwKCSAgY21HZXRTb3VyY2VGaWxlUHJvcGVydHlDb21tYW5kLmN4eCwgY21Tb3VyY2VGaWxlLmN4eCwKCSAgY21Tb3VyY2VGaWxlLmg6IEJVRzogQWRkIGNtU291cmNlRmlsZTo6R2V0UHJvcGVydHlGb3JVc2VyIHRvCgkgIGNlbnRyYWxpemUgdGhlIExPQ0FUSU9OIHByb3BlcnR5IGhhY2suICBUaGlzIGZpeGVzIHRoZSBMT0NBVElPTgoJICBwcm9wZXJ0eSB3aGVuIHJldHJpZXZlZCB2aWEgdGhlIGdldF9wcm9wZXJ0eSBjb21tYW5kLgoKMjAwOC0wMS0zMCAxMToxNyAgaG9mZm1hbgoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIENUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0QnVpbGRIYW5kbGVyLmgsIENUZXN0L2NtQ1Rlc3RDb25maWd1cmVIYW5kbGVyLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdENvdmVyYWdlSGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RNZW1DaGVja0hhbmRsZXIuY3h4LCBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuaCwgQ1Rlc3QvY21DVGVzdFVwZGF0ZUhhbmRsZXIuY3h4LAoJICBrd3N5cy9DTWFrZUxpc3RzLnR4dCwga3dzeXMvU3lzdGVtSW5mb3JtYXRpb24uaHh4LmluOiBFTkg6CgkgIGVuaGFuY2VtZW50cyBmb3IgY2Rhc2gsIGluY2x1ZGUgc3lzdGVtIGluZm9ybWF0aW9uIGFuZCBiZXR0ZXIKCSAgdGltZSBlbnRyaWVzCgoyMDA4LTAxLTMwIDA4OjM3ICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEJVRzogRml4IG1pc3VzZSBvZiBzdGwgdmVjdG9yIHRoYXQgY2F1c2VkCgkgIGRlZmluaXRpb25zIHRvIGJlIGRyb3BwZWQgYnkgY21NYWtlZmlsZTo6UHVzaFNjb3BlLgoKMjAwOC0wMS0zMCAwNzo0NCAga2luZwoKCSogQ29tcGlsZUZsYWdzLmNtYWtlLCBTb3VyY2Uva3dzeXMvaGFzaF9tYXAuaHh4LmluOiBDT01QOiBGaXgKCSAgd2FybmluZ3Mgb24gVlM5LgoKMjAwOC0wMS0zMCAwNzoxNyAga2luZwoKCSogVXRpbGl0aWVzL2NtdGFyL0NNYWtlTGlzdHMudHh0OiBDT01QOiBGaXggd2FybmluZyBhYm91dCB0b2xvd2VyCgkgIGJ5IG1ha2luZyBzdXJlIGN0eXBlLmggaXMgaW5jbHVkZWQgaW4gY210YXIuCgoyMDA4LTAxLTMwIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDEtMjkgMjE6MTYgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBjbUxvY2FsR2VuZXJhdG9yLmgsCgkgIGNtTWFrZWZpbGVFeGVjdXRhYmxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4OiBFTkg6IEVuYWJsZSB1c2Ugb2YgbGluawoJICBzY3JpcHQgd2hlbmV2ZXIgaW5jcmVtZW50YWwgYXJjaGl2ZSBjb25zdHJ1Y3Rpb24gcnVsZXMgYXJlCgkgIGF2YWlsYWJsZS4gIEVuYWJsZSB1c2Ugb2YgYXJjaGl2ZSBjb25zdHJ1Y3Rpb24gcnVsZXMgb24gTVNZUy4KCjIwMDgtMDEtMjkgMjA6NDYgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1nY2MuY21ha2UsCgkgIFNvdXJjZS9jbURvY3VtZW50VmFyaWFibGVzLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5oOiBFTkg6IEFkZGVkIGJ1aWxkIHJ1bGUKCSAgdmFyaWFibGVzIENNQUtFXzxMQU5HPl9BUkNISVZFX0NSRUFURSwKCSAgQ01BS0VfPExBTkc+X0FSQ0hJVkVfQVBQRU5ELCBhbmQgQ01BS0VfPExBTkc+X0FSQ0hJVkVfRklOSVNIIHRvCgkgIHN1cHBvcnQgY3JlYXRpb24gb2Ygc3RhdGljIGFyY2hpdmUgbGlicmFyaWVzIG91dCBvZiBhIGxhcmdlCgkgIG51bWJlciBvZiBvYmplY3RzLiAgU2VlIGJ1ZyAjNjI4NC4KCjIwMDgtMDEtMjkgMTc6MzAgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ2FjaGVNYW5hZ2VyLmN4eCwgY21DYWNoZU1hbmFnZXIuaDogQlVHOiBGaXgKCSAgdW5pbml0aWFsemVkIG1lbWJlcnMgb2YgY21DYWNoZU1hbmFnZXIuCgoyMDA4LTAxLTI5IDE3OjMwICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwgY21UYXJnZXQuY3h4LCBjbVRhcmdldC5oOiBCVUc6CgkgIGNtVGFyZ2V0IGluc3RhbmNlcyBzaG91bGQgbm90IGJlIGNvcGllZC4gIFJlbW92ZWQgcGFzcy1ieS12YWx1ZQoJICBhcmd1bWVudHMgZnJvbSBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvcjo6V3JpdGVHcm91cCBhbmQKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3I6OldyaXRlR3JvdXAuICBVcGRhdGVkIGNtVGFyZ2V0IHRvCgkgIG1ha2UgdGhpcyBlYXNpZXIgdG8gZmluZC4KCjIwMDgtMDEtMjkgMTc6MDEgIGNsaW50b24KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogRU5IOiAgTWFrZSBsdXBkYXRlIGFuZCBscmVsZWFzZQoJICBleGVjdXRhYmxlcyBhZHZhbmNlZCB2YXJpYWJsZXMuCgoyMDA4LTAxLTI5IDE1OjU0ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvQ01ha2VTZXR1cERpYWxvZy5jeHg6IEVOSDogQ29ycmVjdGx5IGZvcm1hdAoJICBtdWx0aS1saW5lIGVycm9yIG1lc3NhZ2VzLgoKMjAwOC0wMS0yOSAxNTo0NyAga2luZwoKCSogU291cmNlLzogY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmN4eCwKCSAgY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmgsIGNtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHg6IEVOSDoKCSAgVXBkYXRlIGNtSW5zdGFsbFRhcmdldEdlbmVyYXRvciB0byBnZXQgdGhlIHNoYXJlZCBsaWJyYXJpZXMKCSAgbGlua2VkIGJ5IGEgdGFyZ2V0IGZyb20gY21Db21wdXRlTGlua0luZm9ybWF0aW9uIGluc3RlYWQgb2YKCSAgZHVwbGljYXRpbmcgdGhlIGNvbXB1dGF0aW9uLgoKMjAwOC0wMS0yOSAxNToxMCAgYmFycmUKCgkqIE1vZHVsZXMvRmluZEhUTUxIZWxwLmNtYWtlOiBFTkg6IG5lZWQgcXVvdGVzCgoyMDA4LTAxLTI5IDE1OjA3ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uY3h4LAoJICBjbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uaCwgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsCgkgIGNtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHgsIGNtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5oLAoJICBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5oLAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwgY21UYXJnZXQuY3h4LCBjbVRhcmdldC5oOiBFTkg6CgkgIEFkZCBjbVRhcmdldDo6R2V0TGlua0luZm9ybWF0aW9uIG1ldGhvZCB0byBhbGxvdyBzZXZlcmFsIHBsYWNlcwoJICBpbiB0aGUgZ2VuZXJhdG9ycyB0byBzaGFyZSBsaW5rIGluZm9ybWF0aW9uIHdoaWxlIG9ubHkgY29tcHV0aW5nCgkgIGl0IG9uY2UgcGVyIGNvbmZpZ3VyYXRpb24gZm9yIGEgdGFyZ2V0LiAgVXNlIGl0IHRvIHNpbXBsaWZ5IHRoZQoJICBjaHJwYXRoIGZlYXR1cmUuCgoyMDA4LTAxLTI5IDEzOjA3ICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6CgkgIEVOSDoJQWxsb3cgUVQ0X1dSQVBfQ1BQIHRvIHdvcmsgd2l0aCBkaXIxL215b2JqZWN0LmgKCSAgZGlyMi9teW9iamVjdC5oCUZpeGVzICM1MDY3LgoKMjAwOC0wMS0yOSAwOTo1NyAga2luZwoKCSogU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmN4eDogRU5IOiBBZGRlZCBub3QgdG8gZmluZF9wYWNrYWdlCgkgIGRvY3VtZW50YXRpb24gYWJvdXQgdW5zcGVjaWZpZWQgY2hvaWNlIGFtb25nIG11bHRpcGxlIHZlcnNpb25zLgoKMjAwOC0wMS0yOSAwODowMyAga2luZwoKCSogVGVzdHMvRXhwb3J0SW1wb3J0L0NNYWtlTGlzdHMudHh0OiBCVUc6IEN1c3RvbSBjb21tYW5kIGRyaXZlcgoJICBvdXRwdXRzIG11c3QgYmUgU1lNQk9MSUMgc2luY2Ugbm8gY29ycmVzcG9uZGluZyBmaWxlIGlzIGNyZWF0ZWQuCgoyMDA4LTAxLTI5IDA3OjU3ICBraW5nCgoJKiBUZXN0cy9FeHBvcnRJbXBvcnQvQ01ha2VMaXN0cy50eHQ6IEJVRzogTWFrZSBzdXJlCgkgIENNQUtFX0lOU1RBTExfUFJFRklYIHN0YXlzIGluIHN1YnByb2plY3QgY2FjaGVzLgoKMjAwOC0wMS0yOSAwNzo0OCAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9MaW51eC1TdW5Qcm8tQy5jbWFrZTogQlVHOiBGaXggZHluYW1pYyBleHBvcnRzCgkgIGV4ZWN1dGFibGUgbGluayBvcHRpb24gZm9yIFN1biBDIGNvbXBpbGVyIG9uIExpbnV4LgoKMjAwOC0wMS0yOSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAxLTI4IDIwOjM4ICBraW5nCgoJKiBNb2R1bGVzL3JlYWRtZS50eHQsIFNvdXJjZS9jbUZpbmRQYWNrYWdlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUZpbmRQYWNrYWdlQ29tbWFuZC5oLAoJICBUZXN0cy9GaW5kUGFja2FnZVRlc3QvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9saWIvc3VmZml4L3Rlc3QvU3VmZml4VGVzdENvbmZpZ1ZlcnNpb24uY21ha2UsCgkgIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9saWIvem90LTEuMC96b3QtY29uZmlnLmNtYWtlLAoJICBUZXN0cy9GaW5kUGFja2FnZVRlc3QvbGliL3pvdC0yLjAvem90LWNvbmZpZy12ZXJzaW9uLmNtYWtlLAoJICBUZXN0cy9GaW5kUGFja2FnZVRlc3QvbGliL3pvdC0yLjAvem90LWNvbmZpZy5jbWFrZSwKCSAgVGVzdHMvRmluZFBhY2thZ2VUZXN0L2xpYi96b3QtMy4wL3pvdC1jb25maWctdmVyc2lvbi5jbWFrZSwKCSAgVGVzdHMvRmluZFBhY2thZ2VUZXN0L2xpYi96b3QtMy4wL3pvdC1jb25maWcuY21ha2UsCgkgIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9saWIvem90LTMuMS96b3QtY29uZmlnLXZlcnNpb24uY21ha2UsCgkgIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9saWIvem90LTMuMS96b3QtY29uZmlnLmNtYWtlOiBFTkg6IEFkZGVkCgkgIHZlcnNpb24gc3VwcG9ydCB0byBDb25maWcgbW9kZSBvZiBmaW5kX3BhY2thZ2UgY29tbWFuZC4KCgkgICAgLSBBZGRlZCBFWEFDVCBvcHRpb24gdG8gcmVxdWVzdCBhbiBleGFjdCB2ZXJzaW9uLgoJICAgIC0gRW5mb3JjZSB2ZXJzaW9uIHVzaW5nIGNoZWNrIHByb3ZpZGVkIGJ5IHBhY2thZ2UuCgkgICAgLSBVcGRhdGVkIEZpbmRQYWNrYWdlVGVzdCB0byB0ZXN0IHZlcnNpb25pbmcgaW4gY29uZmlnIG1vZGUuCgoyMDA4LTAxLTI4IDE5OjIwICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6CgkgIEVOSDoJSW1wcm92ZSBmaW5kIGZvciBnbGliL2d0aHJlYWQgd2hlbiBRdCBpcyBjb25maWd1cmVkIHRvIHVzZQoJICBpdC4JICAgICBGaXhlcyAjNjIyMC4KCjIwMDgtMDEtMjggMTU6MjIgIGtpbmcKCgkqIFNvdXJjZS86IGNtRXhwb3J0QnVpbGRGaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21FeHBvcnRJbnN0YWxsRmlsZUdlbmVyYXRvci5jeHg6IFNUWUxFOiBVcGRhdGVkIFRPRE8gY29tbWVudCBmb3IKCSAgUFVCTElDX0hFQURFUl9MT0NBVElPTiBleHBvcnQuCgoyMDA4LTAxLTI4IDE1OjEyICBraW5nCgoJKiBTb3VyY2UvOiBjbUluc3RhbGxDb21tYW5kLmgsIGNtVGFyZ2V0LmN4eDogRU5IOiBEb2N1bWVudAoJICBQUklWQVRFX0hFQURFUiwgUFVCTElDX0hFQURFUiwgYW5kIFJFU09VUkNFIHRhcmdldCBwcm9wZXJ0aWVzIGFuZAoJICBjb3JyZXNwb25kaW5nIGFyZ3VtZW50cyB0byBJTlNUQUxMKFRBUkdFVFMpLgoKMjAwOC0wMS0yOCAxNDo0NiAga2luZwoKCSogVGVzdHMvRnJhbWV3b3JrL0NNYWtlTGlzdHMudHh0OiBCVUc6IEZpeCBGcmFtZXdvcmsgdGVzdCBhZnRlcgoJICBmaXhpbmcgRlJBTUVXT1JLIHRhcmdldHMgdG8gbm90IGluc3RhbGwgbGlrZSBmcmFtZXdvcmtzIG9uCgkgIG5vbi1BcHBsZSBzeXN0ZW1zLgoKMjAwOC0wMS0yOCAxNDo0NiAga2luZwoKCSogU291cmNlL2NtRXhwb3J0QnVpbGRGaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtRXhwb3J0RmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUV4cG9ydEluc3RhbGxGaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbENvbW1hbmQuY3h4LCBTb3VyY2UvY21JbnN0YWxsQ29tbWFuZC5oLAoJICBTb3VyY2UvY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eCwgU291cmNlL2NtVGFyZ2V0LmN4eCwKCSAgU291cmNlL2NtVGFyZ2V0LmgsIFRlc3RzL0V4cG9ydEltcG9ydC9FeHBvcnQvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0V4cG9ydEltcG9ydC9FeHBvcnQvdGVzdEV4ZTMuYywKCSAgVGVzdHMvRXhwb3J0SW1wb3J0L0ltcG9ydC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRXhwb3J0SW1wb3J0L0ltcG9ydC9pbXBfdGVzdEV4ZTEuYzogRU5IOiBTdXBwb3J0CgkgIGV4cG9ydGluZy9pbXBvcnRpbmcgb2YgQXBwQnVuZGxlIHRhcmdldHMuCgoJICAgIC0gSW1wb3J0ZWQgYnVuZGxlcyBoYXZlIHRoZSBNQUNPU1hfQlVORExFIHByb3BlcnR5IHNldAoJICAgIC0gQWRkZWQgY21UYXJnZXQ6OklzQXBwQnVuZGxlT25BcHBsZSBtZXRob2QgdG8gc2ltcGxpZnkgY2hlY2tzCgkgICAgLSBEb2N1bWVudCBCVU5ETEUga2V5d29yZCBpbiBJTlNUQUxMIGNvbW1hbmQKCSAgICAtIFVwZGF0ZWQgSU1QT1JURURfTE9DQVRJT04gcHJvcGVydHkgZG9jdW1lbnRhdGlvbiBmb3IgYnVuZGxlcwoJICAgIC0gVXBkYXRlZCBFeHBvcnRJbXBvcnQgdGVzdCB0byB0ZXN0IGJ1bmRsZXMKCjIwMDgtMDEtMjggMTM6MzcgIGtpbmcKCgkqIFNvdXJjZS9jbUV4cG9ydEZpbGVHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21FeHBvcnRGaWxlR2VuZXJhdG9yLmgsCgkgIFRlc3RzL0V4cG9ydEltcG9ydC9FeHBvcnQvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0V4cG9ydEltcG9ydC9FeHBvcnQvdGVzdEV4ZTEuYywKCSAgVGVzdHMvRXhwb3J0SW1wb3J0L0V4cG9ydC90ZXN0RXhlMWxpYi5jOiBCVUc6IEZpeCBleHBvcnQvaW1wb3J0CgkgIGZpbGUgZ2VuZXJhdGlvbiB0byBub3Qgc3RvcmUgbGluayBkZXBlbmRlbmNpZXMgb2YgZXhlY3V0YWJsZXMgb3IKCSAgbW9kdWxlcy4KCjIwMDgtMDEtMjggMTM6MjEgIGtpbmcKCgkqIFNvdXJjZS9jbUV4cG9ydEJ1aWxkRmlsZUdlbmVyYXRvci5oLCBTb3VyY2UvY21FeHBvcnRDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtRXhwb3J0Q29tbWFuZC5oLCBTb3VyY2UvY21FeHBvcnRGaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtRXhwb3J0RmlsZUdlbmVyYXRvci5oLAoJICBUZXN0cy9FeHBvcnRJbXBvcnQvRXhwb3J0L0NNYWtlTGlzdHMudHh0OiBFTkg6IFJlc3RvcmVkIEFQUEVORAoJICBvcHRpb24gdG8gRVhQT1JUKCkgY29tbWFuZCBpbiBuZXcgaW1wbGVtZW50YXRpb24uCgoyMDA4LTAxLTI4IDEzOjA2ICBraW5nCgoJKiBUZXN0cy9FeHBvcnRJbXBvcnQvOiBFeHBvcnQvQ01ha2VMaXN0cy50eHQsIEV4cG9ydC90ZXN0TGliNC5jLAoJICBJbXBvcnQvQ01ha2VMaXN0cy50eHQsIEltcG9ydC9pbXBfdGVzdEV4ZTEuYzogRU5IOiBBZGRlZAoJICBmcmFtZXdvcmsgdG8gRXhwb3J0SW1wb3J0IHRlc3QuCgoyMDA4LTAxLTI4IDEzOjA1ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uY3h4LCBjbUV4cG9ydEZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUV4cG9ydEluc3RhbGxGaWxlR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgY21JbnN0YWxsQ29tbWFuZC5jeHgsCgkgIGNtSW5zdGFsbENvbW1hbmQuaCwgY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LCBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0Lmg6CgkgIEVOSDogU3VwcG9ydCBleHBvcnRpbmcvaW1wb3J0aW5nIG9mIEZyYW1ld29yayB0YXJnZXRzLgoKCSAgICAtIEltcG9ydGVkIGZyYW1ld29ya3MgaGF2ZSB0aGUgRlJBTUVXT1JLIHByb3BlcnR5IHNldAoJICAgIC0gQWRkZWQgY21UYXJnZXQ6OklzRnJhbWV3b3JrT25BcHBsZSBtZXRob2QgdG8gc2ltcGxpZnkgY2hlY2tzCgkgICAgLSBBbHNvIHJlbW92ZSBzZXBhcmF0ZSBJTVBPUlRFRF9FTkFCTEVfRVhQT1JUUyBwcm9wZXJ0eSBhbmQKCSAganVzdCB1c2UgRU5BQkxFX0VYUE9SVFMgc2luY2UsIGxpa2UgRlJBTUVXT1JLLCBpdCBqdXN0IHJlcHJlc2VudHMKCSAgdGhlIHRhcmdldCB0eXBlLgoJICAgIC0gRG9jdW1lbnQgRlJBTUVXT1JLIGtleXdvcmQgaW4gSU5TVEFMTCBjb21tYW5kLgoJICAgIC0gVXBkYXRlZCBJTVBPUlRFRF9MT0NBVElPTiBwcm9wZXJ0eSBkb2N1bWVudGF0aW9uIGZvcgoJICBGcmFtZXdvcmtzCgoyMDA4LTAxLTI4IDA5OjUzICBraW5nCgoJKiBTb3VyY2UvY21FeHBvcnRGaWxlR2VuZXJhdG9yLmg6IENPTVA6IEFkZCB2aXJ0dWFsIGRlc3RydWN0b3IgdG8KCSAgY21FeHBvcnRGaWxlR2VuZXJhdG9yIHRvIGF2b2lkIHdhcm5pbmdzIGFib3V0IG90aGVyIHZpcnR1YWwKCSAgZnVuY3Rpb25zLgoKMjAwOC0wMS0yOCAwODo0MCAga2luZwoKCSogVGVzdHMvOiBDTWFrZUxpc3RzLnR4dCwgRXhwb3J0SW1wb3J0L0NNYWtlTGlzdHMudHh0LAoJICBFeHBvcnRJbXBvcnQvbWFpbi5jLCBFeHBvcnRJbXBvcnQvRXhwb3J0L0NNYWtlTGlzdHMudHh0LAoJICBFeHBvcnRJbXBvcnQvRXhwb3J0L3Rlc3RFeGUxLmMsIEV4cG9ydEltcG9ydC9FeHBvcnQvdGVzdEV4ZTIuYywKCSAgRXhwb3J0SW1wb3J0L0V4cG9ydC90ZXN0TGliMS5jLCBFeHBvcnRJbXBvcnQvRXhwb3J0L3Rlc3RMaWIyLmMsCgkgIEV4cG9ydEltcG9ydC9FeHBvcnQvdGVzdExpYjMuYywKCSAgRXhwb3J0SW1wb3J0L0ltcG9ydC9DTWFrZUxpc3RzLnR4dCwKCSAgRXhwb3J0SW1wb3J0L0ltcG9ydC9pbXBfbW9kMS5jLAoJICBFeHBvcnRJbXBvcnQvSW1wb3J0L2ltcF90ZXN0RXhlMS5jOiBFTkg6IEFkZGVkIEV4cG9ydEltcG9ydCB0ZXN0CgkgIHRvIHRlc3QgbmV3IGV4cG9ydC9pbXBvcnQgZmVhdHVyZXMuCgoyMDA4LTAxLTI4IDA4OjM5ICBraW5nCgoJKiBUZXN0cy86IFNpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFNpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dDogQlVHOiBVcGRhdGVkIFNpbXBsZUluc3RhbGwgdGVzdHMKCSAgZm9yIG5ldyBleHBvcnQvaW1wb3J0IGludGVyZmFjZS4KCjIwMDgtMDEtMjggMDg6MzggIGtpbmcKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUFkZERlcGVuZGVuY2llc0NvbW1hbmQuY3h4LAoJICBjbUFkZEV4ZWN1dGFibGVDb21tYW5kLmN4eCwgY21BZGRFeGVjdXRhYmxlQ29tbWFuZC5oLAoJICBjbUFkZExpYnJhcnlDb21tYW5kLmN4eCwgY21BZGRMaWJyYXJ5Q29tbWFuZC5oLAoJICBjbUNvbXB1dGVMaW5rRGVwZW5kcy5jeHgsIGNtQ29tcHV0ZUxpbmtEZXBlbmRzLmgsCgkgIGNtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5jeHgsIGNtRXhwb3J0QnVpbGRGaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21FeHBvcnRCdWlsZEZpbGVHZW5lcmF0b3IuaCwgY21FeHBvcnRDb21tYW5kLmN4eCwKCSAgY21FeHBvcnRDb21tYW5kLmgsIGNtRXhwb3J0RmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtRXhwb3J0RmlsZUdlbmVyYXRvci5oLCBjbUV4cG9ydEluc3RhbGxGaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21FeHBvcnRJbnN0YWxsRmlsZUdlbmVyYXRvci5oLCBjbUdldFByb3BlcnR5Q29tbWFuZC5jeHgsCgkgIGNtR2V0VGFyZ2V0UHJvcGVydHlDb21tYW5kLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbEdlbmVyYXRvci5oLCBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW9HZW5lcmF0b3IuY3h4LCBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwKCSAgY21JbmNsdWRlRXh0ZXJuYWxNU1Byb2plY3RDb21tYW5kLmN4eCwgY21JbnN0YWxsQ29tbWFuZC5jeHgsCgkgIGNtSW5zdGFsbENvbW1hbmQuaCwgY21JbnN0YWxsQ29tbWFuZEFyZ3VtZW50cy5jeHgsCgkgIGNtSW5zdGFsbENvbW1hbmRBcmd1bWVudHMuaCwgY21JbnN0YWxsRGlyZWN0b3J5R2VuZXJhdG9yLmN4eCwKCSAgY21JbnN0YWxsRXhwb3J0R2VuZXJhdG9yLmN4eCwgY21JbnN0YWxsRXhwb3J0R2VuZXJhdG9yLmgsCgkgIGNtSW5zdGFsbEZpbGVzQ29tbWFuZC5jeHgsIGNtSW5zdGFsbEZpbGVzR2VuZXJhdG9yLmN4eCwKCSAgY21JbnN0YWxsR2VuZXJhdG9yLmN4eCwgY21JbnN0YWxsR2VuZXJhdG9yLmgsCgkgIGNtSW5zdGFsbFByb2dyYW1zQ29tbWFuZC5jeHgsIGNtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5oLCBjbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LCBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oLAoJICBjbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LCBjbVNldFByb3BlcnR5Q29tbWFuZC5jeHgsCgkgIGNtU2V0VGFyZ2V0UHJvcGVydGllc0NvbW1hbmQuY3h4LCBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0Lmg6IEVOSDoKCSAgVXBkYXRlZCBleHBvcnRpbmcgYW5kIGltcG9ydGluZyBvZiB0YXJnZXRzIHRvIHN1cHBvcnQgbGlicmFyaWVzCgkgIGFuZCBjb25maWd1cmF0aW9ucy4KCgkgICAgLSBDcmVhdGVkIGNtRXhwb3J0RmlsZUdlbmVyYXRvciBoaWVyYXJjaHkgdG8gaW1wbGVtZW50IGV4cG9ydAoJICBmaWxlIGdlbmVyYXRpb24KCSAgICAtIEluc3RhbGxlZCBleHBvcnRzIHVzZSBwZXItY29uZmlnIGltcG9ydCBmaWxlcyBsb2FkZWQgYnkgYQoJICBjZW50cmFsIG9uZS4KCSAgICAtIEluY2x1ZGUgc29uYW1lIG9mIHNoYXJlZCBsaWJyYXJpZXMgaW4gaW1wb3J0IGluZm9ybWF0aW9uCgkgICAgLSBSZW5hbWVkIFBSRUZJWCB0byBOQU1FU1BBQ0UgaW4gSU5TVEFMTChFWFBPUlQpIGFuZCBFWFBPUlQoKQoJICBjb21tYW5kcwoJICAgIC0gTW92ZSBhZGRpdGlvbiBvZiBDTUFLRV9JTlNUQUxMX1BSRUZJWCB0byBkZXN0aW5hdGlvbnMgdG8KCSAgaW5zdGFsbCBnZW5lcmF0b3JzCgkgICAgLSBJbXBvcnQgZmlsZXMgY29tcHV0ZSB0aGUgaW5zdGFsbGF0aW9uIHByZWZpeCByZWxhdGl2ZSB0bwoJICB0aGVpciBsb2NhdGlvbiB3aGVuIGxvYWRlZAoJICAgIC0gQWRkIG1hcHBpbmcgb2YgaW1wb3J0ZXIgY29uZmlndXJhdGlvbnMgdG8gaW1wb3J0ZWUKCSAgY29uZmlndXJhdGlvbnMKCSAgICAtIFJlbmFtZSBJTVBPUlQgdGFyZ2V0cyB0byBJTVBPUlRFRCB0YXJnZXRzIHRvIGRpc3Rpbmd1aXNoIGZyb20KCSAgd2luZG93cyBpbXBvcnQgbGlicmFyaWVzCgkgICAgLSBTY29wZSBJTVBPUlRFRCB0YXJnZXRzIHdpdGhpbiBkaXJlY3RvcmllcyB0byBpc29sYXRlIHRoZW0KCSAgICAtIFBsYWNlIGFsbCBwcm9wZXJ0aWVzIGNyZWF0ZWQgYnkgaW1wb3J0IGZpbGVzIGluIHRoZSBJTVBPUlRFRAoJICBuYW1lc3BhY2UKCSAgICAtIERvY3VtZW50IElOU1RBTEwoRVhQT1JUKSBhbmQgRVhQT1JUKCkgY29tbWFuZHMuCgkgICAgLSBEb2N1bWVudCBJTVBPUlRFRCBzaWduYXR1cmUgb2YgYWRkX2V4ZWN1dGFibGUgYW5kIGFkZF9saWJyYXJ5CgkgICAgLSBFbmFibGUgZmluZGluZyBvZiBpbXBvcnRlZCB0YXJnZXRzIGluIGNtQ29tcHV0ZUxpbmtEZXBlbmRzCgoyMDA4LTAxLTI4IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDEtMjcgMTU6MDkgIGtpbmcKCgkqIGJvb3RzdHJhcCwgU291cmNlL2NtQ29tcHV0ZUxpbmtEZXBlbmRzLmN4eDogQ09NUDogVXNlIGt3c3lzIHRvCgkgIGdldCBTVEwgc2V0X2ludGVyc2VjdGlvbiBhbGdvcml0aG0uCgoyMDA4LTAxLTI3IDEzOjQyICBraW5nCgoJKiBib290c3RyYXAsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL2NtQ29tcHV0ZUxpbmtEZXBlbmRzLmN4eCwgU291cmNlL2NtQ29tcHV0ZUxpbmtEZXBlbmRzLmgsCgkgIFNvdXJjZS9jbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uY3h4LAoJICBTb3VyY2UvY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmgsIFNvdXJjZS9jbVRhcmdldC5jeHg6IEVOSDoKCSAgQ3JlYXRlZCBjbUNvbXB1dGVMaW5rRGVwZW5kcyB0byBjb21wdXRlIGxpbmsgZGVwZW5kZW5jaWVzLgoKCSAgICAtIFRoaXMgd2lsbCBiZSB1c2VmdWwgZm9yIGltcG9ydGVkIGxpYnJhcnkgZGVwZW5kZW5jaWVzCgkgICAgLSBSZXBsYWNlcyBvbGQgY21UYXJnZXQgYW5hbHl6ZS1saWItZGVwZW5kcyBzdHVmZiBmb3IgbGlua2luZwoJICAgIC0gRm9ybWFsaXplcyBncmFwaCBjb25zdHJ1Y3Rpb24gYW5kIGR1bXAKCSAgICAtIEV4cGxpY2l0bHkgcmVwcmVzZW50cyBkZXBlbmRlbmN5IGluZmVycmFsIHNldHMKCSAgICAtIFVzZSBCRlMgb2YgaW5pdGlhbCBkZXBlbmRlbmNpZXMgdG8gcHJlc2VydmUgb3JkZXIKCjIwMDgtMDEtMjcgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wMS0yNiAwMToxMSAgYmFycmUKCgkqIE1vZHVsZXMvOiBGaW5kVENMLmNtYWtlLCBGaW5kVGNsU3R1Yi5jbWFrZSwgRmluZFRjbHNoLmNtYWtlLAoJICBGaW5kV2lzaC5jbWFrZTogRU5IOiBVcGRhdGUgVGNsL1RrIDguNQoKMjAwOC0wMS0yNiAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAxLTI1IDEzOjA3ICBiYXJyZQoKCSogTW9kdWxlcy86IEZpbmRQZXJsLmNtYWtlLCBGaW5kVENMLmNtYWtlLCBGaW5kVGNsU3R1Yi5jbWFrZSwKCSAgRmluZFRjbHNoLmNtYWtlLCBGaW5kV2lzaC5jbWFrZTogRU5IOiB1cGRhdGUgZm9yIFRjbC9UayA4LjUKCjIwMDgtMDEtMjUgMDg6MTEgIGtpbmcKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQ09NUDogTmVlZCB0byByZXR1cm4gYSB2YWx1ZSBmcm9tIGZha2UKCSAgTUQ1IG1ldGhvZCB1bmRlciBib290c3RyYXAuCgoyMDA4LTAxLTI1IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDEtMjQgMTk6NDIgIGJhcnJlCgoJKiBNb2R1bGVzL0ZpbmRUY2xzaC5jbWFrZTogRU5IOiB0eXBvCgoyMDA4LTAxLTI0IDE5OjMxICBiYXJyZQoKCSogTW9kdWxlcy86IEZpbmRUQ0wuY21ha2UsIEZpbmRUY2xzaC5jbWFrZSwgRmluZFdpc2guY21ha2U6IEVOSDoKCSAgdXBkYXRlIGZvciBUY2wvVGsgOC41CgoyMDA4LTAxLTI0IDE2OjExICBraW5nCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IENPTVA6IENhbm5vdCBkbyBNRDUgZnJvbSBLV1N5cyBkdXJpbmcKCSAgQ01ha2UgYm9vdHN0cmFwLgoKMjAwOC0wMS0yNCAxNDo0MSAga2luZwoKCSogU291cmNlLzogY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaDogRU5IOiBBZGQKCSAgY21TeXN0ZW1Ub29sczo6Q29tcHV0ZVN0cmluZ01ENSBtZXRob2QuCgoyMDA4LTAxLTI0IDE0OjM3ICBraW5nCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBCVUc6IE1ha2UgY21ha2UgLUUgcmVtb3ZlX2RpcmVjdG9yeSB3b3JrIHdoZW4KCSAgZGlyZWN0b3J5IGlzIG5vdCBwcmVzZW50LgoKMjAwOC0wMS0yNCAwNzozNyAga2luZwoKCSogU291cmNlL2NtRmluZExpYnJhcnlDb21tYW5kLmN4eDogRU5IOiBBcHBseSBuZXcgaW1wbGljaXQgbGluawoJICBkaXJlY3RvcnkgZmluZF9saWJyYXJ5IHBvbGljeSB3aGVuIGxvYWRpbmcgYSBjYWNoZSBmcm9tIGFuCgkgIGVhcmxpZXIgQ01ha2UuCgoyMDA4LTAxLTI0IDA3OjM3ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNhY2hlTWFuYWdlci5jeHgsIGNtQ2FjaGVNYW5hZ2VyLmgsIGNtTWFrZWZpbGUuY3h4LAoJICBjbU1ha2VmaWxlLmg6IEVOSDogQWRkZWQgY21NYWtlZmlsZTo6TmVlZENhY2hlQ29tcGF0aWJpbGl0eQoJICBtZXRob2QgYW5kIHN1cHBvcnQgZm9yIGl0IGluIGNtQ2FjaGVNYW5hZ2VyLglUaGlzIHdpbGwgYWxsb3cKCSAgY29tbWFuZHMgdG8gbW9kaWZ5IHRoZWlyIGJlaGF2aW9yIHdoZW4gcnVubmluZyB3aXRoIGEgY2FjaGUKCSAgbG9hZGVkIGZyb20gYW4gZWFybGllciBDTWFrZSB2ZXJzaW9uLgoKMjAwOC0wMS0yNCAwNzozMSAga2luZwoKCSogU291cmNlL0NQYWNrL2NtQ1BhY2tEZWJHZW5lcmF0b3IuY3h4OiBDT01QOiBBZGQgaW5jbHVkZSBvZgoJICA8bGltaXRzLmg+IHRvIGdldCBVU0hSVF9NQVggY29uc3RhbnQuCgoyMDA4LTAxLTI0IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDEtMjMgMTg6MzQgIGFsZXgKCgkqIFNvdXJjZS9jbVJldHVybkNvbW1hbmQuaDogU1RZTEU6IGZpeCB0eXBvCgoJICBBbGV4CgoyMDA4LTAxLTIzIDE3OjUzICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlQ29tcGlsZXJBQkkuaCwgU291cmNlL2NtRmluZExpYnJhcnlDb21tYW5kLmN4eDogRU5IOgoJICBSZW1vdmUgc3BhcmN2OSBhcmNoaXRlY3R1cmUgc3ViZGlyIGFkZGVkIGVhcmxpZXIuICBUaGUgbmV3CgkgIGltcGxpY2l0IGxpbmsgZGlyZWN0b3J5IHBvbGljeSB0YWtlcyBjYXJlIG9mIHRoZSBwcm9ibGVtLgoKMjAwOC0wMS0yMyAxNzo0MyAga2luZwoKCSogYm9vdHN0cmFwOiBCVUc6IERvIG5vdCBoYXZlIHZhcmlhYmxlIGFuZCBmdW5jdGlvbiBvZiB0aGUgc2FtZQoJICBuYW1lLiAgT2xkIHNoZWxscyBkbyBub3QgbGlrZWl0LgoKMjAwOC0wMS0yMyAxNjo1MyAga2luZwoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9DTWFrZUxpc3RzLnR4dDogRU5IOiBTaW1wbGlmeSBjb2RlIGJ5CgkgIHJlbW92aW5nIHVubmVjZXNzYXJ5IExJTktfRElSRUNUT1JJRVMgY2FsbC4KCjIwMDgtMDEtMjMgMTY6MzUgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VDWFhJbmZvcm1hdGlvbi5jbWFrZTogQlVHOgoJICBDTUFLRV9FWEVDVVRBQkxFX1JVTlRJTUVfQ1hYX0ZMQUcgc2hvdWxkIGdldCBpdHMgZGVmYXVsdCB2YWx1ZQoJICBmcm9tIENNQUtFX1NIQVJFRF9MSUJSQVJZX1JVTlRJTUVfQ1hYX0ZMQUcsIG5vdAoJICBDTUFLRV9TSEFSRURfTElCUkFSWV9SVU5USU1FX0NfRkxBRy4KCjIwMDgtMDEtMjMgMTY6MjcgIGJhcnJlCgoJKiBNb2R1bGVzLzogRmluZFRDTC5jbWFrZSwgRmluZFRjbFN0dWIuY21ha2UsIEZpbmRUY2xzaC5jbWFrZSwKCSAgRmluZFdpc2guY21ha2U6IEVOSDogdXBkYXRlIGZvciBUY2wvVGsgOC41CgoyMDA4LTAxLTIzIDE2OjIxICBraW5nCgoJKiBTb3VyY2UvOiBjbUZpbmRMaWJyYXJ5Q29tbWFuZC5jeHgsIGNtRmluZExpYnJhcnlDb21tYW5kLmg6IEVOSDoKCSAgVGVhY2ggZmluZF9saWJyYXJ5IHRvIGF2b2lkIHJldHVybmluZyBsaWJyYXJ5IHBhdGhzIGluIHN5c3RlbQoJICBkaXJlY3RvcmllcyB0aGF0IG1heSBiZSBjb252ZXJ0ZWQgdG8gYXJjaGl0ZWN0dXJlLXNwZWNpZmljCgkgIGRpcmVjdG9yaWVzIGJ5IHRoZSBjb21waWxlciB3aGVuIGl0IGludm9rZXMgdGhlIGxpbmtlci4KCjIwMDgtMDEtMjMgMTU6NTYgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5jeHgsCgkgIGNtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5oOiBCVUc6IEZpeCBjbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24KCSAgY3ljbGUgZGV0ZWN0aW9uLgoKMjAwOC0wMS0yMyAxNToyMiAga2luZwoKCSogTW9kdWxlcy9WVEtDb21wYXRpYmlsaXR5LmNtYWtlLAoJICBTb3VyY2UvY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmN4eCwKCSAgU291cmNlL2NtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5oLAoJICBTb3VyY2UvY21Eb2N1bWVudFZhcmlhYmxlcy5jeHg6IEVOSDogQWRkZWQgQ01BS0VfTElOS19PTERfUEFUSFMKCSAgY29tcGF0aWJpbGl0eSBtb2RlIGZvciBsaW5rZXIgc2VhcmNoIHBhdGhzLgoKMjAwOC0wMS0yMyAxNDowNyAgYmFycmUKCgkqIE1vZHVsZXMvOiBGaW5kVENMLmNtYWtlLCBGaW5kVGNsU3R1Yi5jbWFrZTogRU5IOiBrZWVwIGNsZWFuaW5nIHVwCgkgIFRjbC9UayBtb2R1bGVzCgoyMDA4LTAxLTIzIDEzOjM3ICBraW5nCgoJKiBTb3VyY2UvY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmN4eDogQ09NUDogRml4IGJ1aWxkIG9uIEJvcmxhbmQKCSAgNS41LgoKMjAwOC0wMS0yMyAxMzozMCAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLXdjbDM4Ni5jbWFrZSwKCSAgU291cmNlL2NtQ29tcHV0ZUxpbmtJbmZvcm1hdGlvbi5jeHgsCgkgIFNvdXJjZS9jbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uaCwKCSAgU291cmNlL2NtRG9jdW1lbnRWYXJpYWJsZXMuY3h4LCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEJVRzoKCSAgRml4IGdlbmVyYXRpb24gb2YgV2F0Y29tIGxpbmsgbGluZXMuCgoJICAgIC0gV29yay1hcm91bmQgYnVnIGluIFdhdGNvbSBjb21tYW5kIGxpbmUgcGFyc2luZyBmb3Igc3BhY2VzIGluCgkgIHBhdGhzLgoJICAgIC0gQWRkICdsaWJyYXJ5JyBvcHRpb24gYmVmb3JlIGxpYnJhcmllcyBzcGVjaWZpZWQgYnkgZmlsZSBwYXRoLgoKMjAwOC0wMS0yMyAxMzowMyAga2luZwoKCSogU291cmNlLzogY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtTG9jYWxHZW5lcmF0b3IuaDogQlVHOgoJICBXb3JrLWFyb3VuZCBidWcgaW4gTVNWQyA2IGNvbW1hbmQgbGluZSBwYXJzaW5nLgoKMjAwOC0wMS0yMyAxMjo1MSAgbWFydGluawoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFTkg6IGxvb2sgZm9yIENUZXN0Q29uZmlndXJhdGlvbi5pbmkgZmlyc3QKCjIwMDgtMDEtMjMgMTA6MjkgIG1hcnRpbmsKCgkqIFRlc3RzLzogQ01ha2VMaXN0cy50eHQsIFJldHVyblRlc3QvQ01ha2VMaXN0cy50eHQsCgkgIFJldHVyblRlc3QvcmV0dXJuVGVzdC5jLCBSZXR1cm5UZXN0L3N1YmRpci9DTWFrZUxpc3RzLnR4dDogRU5IOgoJICBhZGQgdGVzdGluZyBmb3IgcmV0dXJuIGFuZCBicmVhayBjb21tYW5kcwoKMjAwOC0wMS0yMyAxMDoyNyAgbWFydGluawoKCSogU291cmNlLzogY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5jeHgsCgkgIGNtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuaCwgY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmN4eCwKCSAgY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmgsIGNtQWRkRGVmaW5pdGlvbnNDb21tYW5kLmN4eCwKCSAgY21BZGREZWZpbml0aW9uc0NvbW1hbmQuaCwgY21BZGREZXBlbmRlbmNpZXNDb21tYW5kLmN4eCwKCSAgY21BZGREZXBlbmRlbmNpZXNDb21tYW5kLmgsIGNtQWRkRXhlY3V0YWJsZUNvbW1hbmQuY3h4LAoJICBjbUFkZEV4ZWN1dGFibGVDb21tYW5kLmgsIGNtQWRkTGlicmFyeUNvbW1hbmQuY3h4LAoJICBjbUFkZExpYnJhcnlDb21tYW5kLmgsIGNtQWRkU3ViRGlyZWN0b3J5Q29tbWFuZC5jeHgsCgkgIGNtQWRkU3ViRGlyZWN0b3J5Q29tbWFuZC5oLCBjbUFkZFRlc3RDb21tYW5kLmN4eCwKCSAgY21BZGRUZXN0Q29tbWFuZC5oLCBjbUF1eFNvdXJjZURpcmVjdG9yeUNvbW1hbmQuY3h4LAoJICBjbUF1eFNvdXJjZURpcmVjdG9yeUNvbW1hbmQuaCwgY21Cb290c3RyYXBDb21tYW5kcy5jeHgsCgkgIGNtQnVpbGRDb21tYW5kLmN4eCwgY21CdWlsZENvbW1hbmQuaCwgY21CdWlsZE5hbWVDb21tYW5kLmN4eCwKCSAgY21CdWlsZE5hbWVDb21tYW5kLmgsIGNtQ01ha2VNaW5pbXVtUmVxdWlyZWQuY3h4LAoJICBjbUNNYWtlTWluaW11bVJlcXVpcmVkLmgsIGNtQ1BsdWdpbkFQSS5jeHgsIGNtQ29tbWFuZC5oLAoJICBjbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmN4eCwgY21Db25maWd1cmVGaWxlQ29tbWFuZC5oLAoJICBjbUNyZWF0ZVRlc3RTb3VyY2VMaXN0LmN4eCwgY21DcmVhdGVUZXN0U291cmNlTGlzdC5oLAoJICBjbURlZmluZVByb3BlcnR5Q29tbWFuZC5jeHgsIGNtRGVmaW5lUHJvcGVydHlDb21tYW5kLmgsCgkgIGNtRWxzZUNvbW1hbmQuY3h4LCBjbUVsc2VDb21tYW5kLmgsIGNtRWxzZUlmQ29tbWFuZC5jeHgsCgkgIGNtRWxzZUlmQ29tbWFuZC5oLCBjbUVuYWJsZUxhbmd1YWdlQ29tbWFuZC5jeHgsCgkgIGNtRW5hYmxlTGFuZ3VhZ2VDb21tYW5kLmgsIGNtRW5hYmxlVGVzdGluZ0NvbW1hbmQuY3h4LAoJICBjbUVuYWJsZVRlc3RpbmdDb21tYW5kLmgsIGNtRW5kRm9yRWFjaENvbW1hbmQuY3h4LAoJICBjbUVuZEZvckVhY2hDb21tYW5kLmgsIGNtRW5kRnVuY3Rpb25Db21tYW5kLmN4eCwKCSAgY21FbmRGdW5jdGlvbkNvbW1hbmQuaCwgY21FbmRJZkNvbW1hbmQuY3h4LCBjbUVuZElmQ29tbWFuZC5oLAoJICBjbUVuZE1hY3JvQ29tbWFuZC5jeHgsIGNtRW5kTWFjcm9Db21tYW5kLmgsCgkgIGNtRW5kV2hpbGVDb21tYW5kLmN4eCwgY21FbmRXaGlsZUNvbW1hbmQuaCwKCSAgY21FeGVjUHJvZ3JhbUNvbW1hbmQuY3h4LCBjbUV4ZWNQcm9ncmFtQ29tbWFuZC5oLAoJICBjbUV4ZWN1dGVQcm9jZXNzQ29tbWFuZC5jeHgsIGNtRXhlY3V0ZVByb2Nlc3NDb21tYW5kLmgsCgkgIGNtRXhwb3J0Q29tbWFuZC5jeHgsIGNtRXhwb3J0Q29tbWFuZC5oLAoJICBjbUV4cG9ydExpYnJhcnlEZXBlbmRlbmNpZXMuY3h4LCBjbUV4cG9ydExpYnJhcnlEZXBlbmRlbmNpZXMuaCwKCSAgY21GTFRLV3JhcFVJQ29tbWFuZC5jeHgsIGNtRkxUS1dyYXBVSUNvbW1hbmQuaCwKCSAgY21GaWxlQ29tbWFuZC5jeHgsIGNtRmlsZUNvbW1hbmQuaCwgY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4LAoJICBjbUZpbmRMaWJyYXJ5Q29tbWFuZC5oLCBjbUZpbmRQYWNrYWdlQ29tbWFuZC5jeHgsCgkgIGNtRmluZFBhY2thZ2VDb21tYW5kLmgsIGNtRmluZFBhdGhDb21tYW5kLmN4eCwKCSAgY21GaW5kUGF0aENvbW1hbmQuaCwgY21GaW5kUHJvZ3JhbUNvbW1hbmQuY3h4LAoJICBjbUZpbmRQcm9ncmFtQ29tbWFuZC5oLCBjbUZvckVhY2hDb21tYW5kLmN4eCwgY21Gb3JFYWNoQ29tbWFuZC5oLAoJICBjbUZ1bmN0aW9uQmxvY2tlci5oLCBjbUZ1bmN0aW9uQ29tbWFuZC5jeHgsIGNtRnVuY3Rpb25Db21tYW5kLmgsCgkgIGNtR2V0Q01ha2VQcm9wZXJ0eUNvbW1hbmQuY3h4LCBjbUdldENNYWtlUHJvcGVydHlDb21tYW5kLmgsCgkgIGNtR2V0RGlyZWN0b3J5UHJvcGVydHlDb21tYW5kLmN4eCwKCSAgY21HZXREaXJlY3RvcnlQcm9wZXJ0eUNvbW1hbmQuaCwKCSAgY21HZXRGaWxlbmFtZUNvbXBvbmVudENvbW1hbmQuY3h4LAoJICBjbUdldEZpbGVuYW1lQ29tcG9uZW50Q29tbWFuZC5oLCBjbUdldFByb3BlcnR5Q29tbWFuZC5jeHgsCgkgIGNtR2V0UHJvcGVydHlDb21tYW5kLmgsIGNtR2V0U291cmNlRmlsZVByb3BlcnR5Q29tbWFuZC5jeHgsCgkgIGNtR2V0U291cmNlRmlsZVByb3BlcnR5Q29tbWFuZC5oLCBjbUdldFRhcmdldFByb3BlcnR5Q29tbWFuZC5jeHgsCgkgIGNtR2V0VGFyZ2V0UHJvcGVydHlDb21tYW5kLmgsIGNtR2V0VGVzdFByb3BlcnR5Q29tbWFuZC5jeHgsCgkgIGNtR2V0VGVzdFByb3BlcnR5Q29tbWFuZC5oLCBjbUlmQ29tbWFuZC5jeHgsIGNtSWZDb21tYW5kLmgsCgkgIGNtSW5jbHVkZUNvbW1hbmQuY3h4LCBjbUluY2x1ZGVDb21tYW5kLmgsCgkgIGNtSW5jbHVkZURpcmVjdG9yeUNvbW1hbmQuY3h4LCBjbUluY2x1ZGVEaXJlY3RvcnlDb21tYW5kLmgsCgkgIGNtSW5jbHVkZUV4dGVybmFsTVNQcm9qZWN0Q29tbWFuZC5jeHgsCgkgIGNtSW5jbHVkZUV4dGVybmFsTVNQcm9qZWN0Q29tbWFuZC5oLAoJICBjbUluY2x1ZGVSZWd1bGFyRXhwcmVzc2lvbkNvbW1hbmQuY3h4LAoJICBjbUluY2x1ZGVSZWd1bGFyRXhwcmVzc2lvbkNvbW1hbmQuaCwgY21JbnN0YWxsQ29tbWFuZC5jeHgsCgkgIGNtSW5zdGFsbENvbW1hbmQuaCwgY21JbnN0YWxsRmlsZXNDb21tYW5kLmN4eCwKCSAgY21JbnN0YWxsRmlsZXNDb21tYW5kLmgsIGNtSW5zdGFsbFByb2dyYW1zQ29tbWFuZC5jeHgsCgkgIGNtSW5zdGFsbFByb2dyYW1zQ29tbWFuZC5oLCBjbUluc3RhbGxUYXJnZXRzQ29tbWFuZC5jeHgsCgkgIGNtSW5zdGFsbFRhcmdldHNDb21tYW5kLmgsIGNtTGlua0RpcmVjdG9yaWVzQ29tbWFuZC5jeHgsCgkgIGNtTGlua0RpcmVjdG9yaWVzQ29tbWFuZC5oLCBjbUxpbmtMaWJyYXJpZXNDb21tYW5kLmN4eCwKCSAgY21MaW5rTGlicmFyaWVzQ29tbWFuZC5oLCBjbUxpc3RDb21tYW5kLmN4eCwgY21MaXN0Q29tbWFuZC5oLAoJICBjbUxvYWRDYWNoZUNvbW1hbmQuY3h4LCBjbUxvYWRDYWNoZUNvbW1hbmQuaCwKCSAgY21Mb2FkQ29tbWFuZENvbW1hbmQuY3h4LCBjbUxvYWRDb21tYW5kQ29tbWFuZC5oLAoJICBjbU1hY3JvQ29tbWFuZC5jeHgsIGNtTWFjcm9Db21tYW5kLmgsIGNtTWFrZURpcmVjdG9yeUNvbW1hbmQuY3h4LAoJICBjbU1ha2VEaXJlY3RvcnlDb21tYW5kLmgsIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsCgkgIGNtTWFya0FzQWR2YW5jZWRDb21tYW5kLmN4eCwgY21NYXJrQXNBZHZhbmNlZENvbW1hbmQuaCwKCSAgY21NYXRoQ29tbWFuZC5jeHgsIGNtTWF0aENvbW1hbmQuaCwgY21NZXNzYWdlQ29tbWFuZC5jeHgsCgkgIGNtTWVzc2FnZUNvbW1hbmQuaCwgY21PcHRpb25Db21tYW5kLmN4eCwgY21PcHRpb25Db21tYW5kLmgsCgkgIGNtT3V0cHV0UmVxdWlyZWRGaWxlc0NvbW1hbmQuY3h4LCBjbU91dHB1dFJlcXVpcmVkRmlsZXNDb21tYW5kLmgsCgkgIGNtUHJvamVjdENvbW1hbmQuY3h4LCBjbVByb2plY3RDb21tYW5kLmgsIGNtUVRXcmFwQ1BQQ29tbWFuZC5jeHgsCgkgIGNtUVRXcmFwQ1BQQ29tbWFuZC5oLCBjbVFUV3JhcFVJQ29tbWFuZC5jeHgsIGNtUVRXcmFwVUlDb21tYW5kLmgsCgkgIGNtUmVtb3ZlQ29tbWFuZC5jeHgsIGNtUmVtb3ZlQ29tbWFuZC5oLAoJICBjbVJlbW92ZURlZmluaXRpb25zQ29tbWFuZC5jeHgsIGNtUmVtb3ZlRGVmaW5pdGlvbnNDb21tYW5kLmgsCgkgIGNtU2VwYXJhdGVBcmd1bWVudHNDb21tYW5kLmN4eCwgY21TZXBhcmF0ZUFyZ3VtZW50c0NvbW1hbmQuaCwKCSAgY21TZXRDb21tYW5kLmN4eCwgY21TZXRDb21tYW5kLmgsCgkgIGNtU2V0RGlyZWN0b3J5UHJvcGVydGllc0NvbW1hbmQuY3h4LAoJICBjbVNldERpcmVjdG9yeVByb3BlcnRpZXNDb21tYW5kLmgsIGNtU2V0UHJvcGVydHlDb21tYW5kLmN4eCwKCSAgY21TZXRQcm9wZXJ0eUNvbW1hbmQuaCwgY21TZXRTb3VyY2VGaWxlc1Byb3BlcnRpZXNDb21tYW5kLmN4eCwKCSAgY21TZXRTb3VyY2VGaWxlc1Byb3BlcnRpZXNDb21tYW5kLmgsCgkgIGNtU2V0VGFyZ2V0UHJvcGVydGllc0NvbW1hbmQuY3h4LCBjbVNldFRhcmdldFByb3BlcnRpZXNDb21tYW5kLmgsCgkgIGNtU2V0VGVzdHNQcm9wZXJ0aWVzQ29tbWFuZC5jeHgsIGNtU2V0VGVzdHNQcm9wZXJ0aWVzQ29tbWFuZC5oLAoJICBjbVNpdGVOYW1lQ29tbWFuZC5jeHgsIGNtU2l0ZU5hbWVDb21tYW5kLmgsCgkgIGNtU291cmNlR3JvdXBDb21tYW5kLmN4eCwgY21Tb3VyY2VHcm91cENvbW1hbmQuaCwKCSAgY21TdHJpbmdDb21tYW5kLmN4eCwgY21TdHJpbmdDb21tYW5kLmgsIGNtU3ViZGlyQ29tbWFuZC5jeHgsCgkgIGNtU3ViZGlyQ29tbWFuZC5oLCBjbVN1YmRpckRlcGVuZHNDb21tYW5kLmN4eCwKCSAgY21TdWJkaXJEZXBlbmRzQ29tbWFuZC5oLCBjbVRhcmdldExpbmtMaWJyYXJpZXNDb21tYW5kLmN4eCwKCSAgY21UYXJnZXRMaW5rTGlicmFyaWVzQ29tbWFuZC5oLCBjbVRyeUNvbXBpbGVDb21tYW5kLmN4eCwKCSAgY21UcnlDb21waWxlQ29tbWFuZC5oLCBjbVRyeVJ1bkNvbW1hbmQuY3h4LCBjbVRyeVJ1bkNvbW1hbmQuaCwKCSAgY21Vc2VNYW5nbGVkTWVzYUNvbW1hbmQuY3h4LCBjbVVzZU1hbmdsZWRNZXNhQ29tbWFuZC5oLAoJICBjbVV0aWxpdHlTb3VyY2VDb21tYW5kLmN4eCwgY21VdGlsaXR5U291cmNlQ29tbWFuZC5oLAoJICBjbVZhcmlhYmxlUmVxdWlyZXNDb21tYW5kLmN4eCwgY21WYXJpYWJsZVJlcXVpcmVzQ29tbWFuZC5oLAoJICBjbVZhcmlhYmxlV2F0Y2hDb21tYW5kLmN4eCwgY21WYXJpYWJsZVdhdGNoQ29tbWFuZC5oLAoJICBjbVdoaWxlQ29tbWFuZC5jeHgsIGNtV2hpbGVDb21tYW5kLmgsIGNtV3JpdGVGaWxlQ29tbWFuZC5jeHgsCgkgIGNtV3JpdGVGaWxlQ29tbWFuZC5oLAoJICBDVGVzdC9jbUNUZXN0RW1wdHlCaW5hcnlEaXJlY3RvcnlDb21tYW5kLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdEVtcHR5QmluYXJ5RGlyZWN0b3J5Q29tbWFuZC5oLAoJICBDVGVzdC9jbUNUZXN0SGFuZGxlckNvbW1hbmQuY3h4LCBDVGVzdC9jbUNUZXN0SGFuZGxlckNvbW1hbmQuaCwKCSAgQ1Rlc3QvY21DVGVzdFJlYWRDdXN0b21GaWxlc0NvbW1hbmQuY3h4LAoJICBDVGVzdC9jbUNUZXN0UmVhZEN1c3RvbUZpbGVzQ29tbWFuZC5oLAoJICBDVGVzdC9jbUNUZXN0UnVuU2NyaXB0Q29tbWFuZC5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RSdW5TY3JpcHRDb21tYW5kLmgsIENUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdFNsZWVwQ29tbWFuZC5jeHgsIENUZXN0L2NtQ1Rlc3RTbGVlcENvbW1hbmQuaCwKCSAgQ1Rlc3QvY21DVGVzdFN0YXJ0Q29tbWFuZC5jeHgsIENUZXN0L2NtQ1Rlc3RTdGFydENvbW1hbmQuaCwKCSAgQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eCwgY21CcmVha0NvbW1hbmQuY3h4LAoJICBjbUJyZWFrQ29tbWFuZC5oLCBjbUV4ZWN1dGlvblN0YXR1cy5oLCBjbVJldHVybkNvbW1hbmQuY3h4LAoJICBjbVJldHVybkNvbW1hbmQuaDogRU5IOiBhZGQgcmV0dXJuIGFuZCBicmVhayBzdXBwb3J0IHRvIGNtYWtlLAoJICBhbHNvIGNoYW5nZSBiYXNpYyBjb21tYW5kIGludm9jYXRpb24gc2lnbmF0dXJlIHRvIGJlIGFibGUgdG8KCSAgcmV0dXJuIGV4dHJhIGluZm9ybWFpdG9uIHZpYSB0aGUgY21FeGVjdXRpb25TdGF0dXMgY2xhc3MKCjIwMDgtMDEtMjMgMTA6MjEgIGtpbmcKCgkqIFNvdXJjZS9jbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uY3h4OiBCVUc6IEJlIGxlc3MgYWdncmVzc2l2ZQoJICBhYm91dCBmaW5kaW5nIGNvbmZsaWN0cyBpbiB0aGUgcnVudGltZSBwYXRoIHdoZW4gdGhlIHJlYWwgc29uYW1lCgkgIGlzIG5vdCBrbm93bi4KCjIwMDgtMDEtMjMgMDk6NTMgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VDb21waWxlckFCSS5oLCBTb3VyY2UvY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21GaW5kTGlicmFyeUNvbW1hbmQuaDogRU5IOiBFbmFibGUgbGlicmFyeSBzZWFyY2ggcGF0aAoJICBzdWZmaXggZm9yIHNwYXJjdjkgYXJjaGl0ZWN0dXJlLiAgVGhpcyBzaG91bGQgYmUgZ2VuZXJhbGl6ZWQgdG8gYQoJICBwbGF0Zm9ybSBmaWxlIGxhdGVyLgoKMjAwOC0wMS0yMyAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAxLTIyIDEwOjExICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEVOSDogIEFkZCBtYWNyb3MgdG8gaGFuZGxlIHRyYW5zbGF0aW9ucy4KCSAgRml4ZXMgIzYyMjkuCgoyMDA4LTAxLTIyIDEwOjA1ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uY3h4LAoJICBjbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uaDogQlVHOiBXaGVuIGEgbGlicmFyeSBmaWxlIG5hbWUgaXMKCSAgbGlua2VkIHdpdGhvdXQgYSBwYXRoIG1ha2Ugc3VyZSB0aGUgbGluayB0eXBlIGlzIHJlc3RvcmVkIGFmdGVyCgkgIHRoZSAtbCBvcHRpb24uCgoyMDA4LTAxLTIyIDA5OjE1ICBraW5nCgoJKiBUZXN0cy86IENNYWtlTGlzdHMudHh0LCBSdW50aW1lUGF0aC9DTWFrZUxpc3RzLnR4dCwKCSAgUnVudGltZVBhdGgvYmFyMS5jLCBSdW50aW1lUGF0aC9iYXIyLmMsIFJ1bnRpbWVQYXRoL2ZvbzEuYywKCSAgUnVudGltZVBhdGgvZm9vMi5jLCBSdW50aW1lUGF0aC9tYWluLmM6IEVOSDogQWRkZWQgUnVudGltZVBhdGgKCSAgdGVzdCB0byBtYWtlIHN1cmUgcnBhdGggZ2V0cyBjb3JyZWN0IG9yZGVyLgoKMjAwOC0wMS0yMiAwOToxMyAga2luZwoKCSogYm9vdHN0cmFwLCBNb2R1bGVzL0NNYWtlQ0luZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlQ1hYSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VGb3J0cmFuSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vQUlYLmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL0hQLVVYLmNtYWtlLAoJICBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbUNvbXB1dGVMaW5rSW5mb3JtYXRpb24uY3h4LAoJICBTb3VyY2UvY21Db21wdXRlTGlua0luZm9ybWF0aW9uLmgsCgkgIFNvdXJjZS9jbURvY3VtZW50VmFyaWFibGVzLmN4eCwgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmgsIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtT3JkZXJMaW5rRGlyZWN0b3JpZXMuY3h4LAoJICBTb3VyY2UvY21PcmRlckxpbmtEaXJlY3Rvcmllcy5oLCBTb3VyY2UvY21UYXJnZXQuY3h4LAoJICBTb3VyY2UvY21UYXJnZXQuaCwgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHg6IEVOSDogSW1wbGVtZW50CgkgIGxpbmtpbmcgd2l0aCBwYXRocyB0byBsaWJyYXJ5IGZpbGVzIGluc3RlYWQgb2YgLUwgYW5kIC1sCgkgIHNlcGFyYXRpb24uICBTZWUgYnVnICMzODMyCgoJICAgIC0gVGhpcyBpcyBwdXJlbHkgYW4gaW1wbGVtZW50YXRpb24gaW1wcm92ZW1lbnQuICBObyBpbnRlcmZhY2UKCSAgaGFzIGNoYW5nZWQuCgkgICAgLSBDcmVhdGUgY21Db21wdXRlTGlua0luZm9ybWF0aW9uIGNsYXNzCgkgICAgLSBNb3ZlIGFuZCByZS1pbXBsZW1lbnQgbG9naWMgZnJvbToKCQljbUxvY2FsR2VuZXJhdG9yOjpDb21wdXRlTGlua0luZm9ybWF0aW9uCgkJY21PcmRlckxpbmtEaXJlY3RvcmllcwoJICAgIC0gTGluayBsaWJyYXJpZXMgdG8gdGFyZ2V0cyB3aXRoIHRoZWlyIGZ1bGwgcGF0aCAoaWYgaXQgaXMKCSAga25vd24pCgkgICAgLSBEaXJzIHNwZWNpZmllZCB3aXRoIGxpbmtfZGlyZWN0b3JpZXMgY29tbWFuZCBzdGlsbCBhZGRlZCB3aXRoCgkgIC1MCgkgICAgLSBNYWtlIGxpbmsgdHlwZSBzcGVjaWZpYyB0byBsaWJyYXJ5IG5hbWVzIHdpdGhvdXQgcGF0aHMKCSAgICAgIChuYW1lIGxpYmZvby5hIHdpdGhvdXQgcGF0aCBiZWNvbWVzIC1XbCwtQnN0YXRpYyAtbGZvbykKCSAgICAtIE1ha2UgZGlyZWN0b3J5IG9yZGVyaW5nIHNwZWNpZmljIHRvIGEgcnVudGltZSBwYXRoCgkgIGNvbXB1dGF0aW9uIGZlYXR1cmUKCSAgICAgIChsb29rIGZvciBjb25mbGljdGluZyBTT05BTUVzIGluc3RlYWQgb2YgbGlicmFyeSBuYW1lcykKCSAgICAtIEltcGxlbWVudCBwcm9wZXIgcnBhdGggc3VwcG9ydCBvbiBIUC1VWCBhbmQgQUlYLgoKMjAwOC0wMS0yMiAwODo1MiAga2luZwoKCSogU291cmNlL2t3c3lzL2hhc2hfbWFwLmh4eC5pbjogQ09NUDogUmVtb3ZlIGlubGluZSBrZXl3b3JkIGZyb20KCSAgZm9yd2FyZCBkZWNsYXJhdGlvbiBmb3IgVlM5LgoKMjAwOC0wMS0yMiAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAxLTIxIDIyOjQ4ICBraW5nCgoJKiBTb3VyY2UvY21GaW5kUGFja2FnZUNvbW1hbmQuY3h4OiBFTkg6IFVwZGF0ZWQgZmluZF9wYWNrYWdlCgkgIGRvY3VtZW50YXRpb24gdG8gZGVzY3JpYmUgY29tbW9uIHVzYWdlIGZpcnN0LgoKMjAwOC0wMS0yMSAyMDo1NyAga2luZwoKCSogTW9kdWxlcy86IENNYWtlRGV0ZXJtaW5lQ29tcGlsZXJJZC5jbWFrZSwKCSAgQ01ha2VGaW5kQmluVXRpbHMuY21ha2U6IEVOSDogQ2xlYW51cCBjaHJwYXRoIGZlYXR1cmUgYnkgbm90CgkgIGRpc3BsYXlpbmcgZXhlIGZvcm1hdCBvciBwbGFjaW5nIG5vbi1hZHZhbmNlZCBvcHRpb25zIGluIGNhY2hlLgoKMjAwOC0wMS0yMSAxODozMCAga2luZwoKCSogU291cmNlLzogY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4LCBjbUZpbmRMaWJyYXJ5Q29tbWFuZC5oOiBFTkg6CgkgIEFkZCBzdXBwb3J0IHRvIGZpbmRfbGlicmFyeSB0byB0cmFuc2Zvcm0gL2xpYiB0byAvbGliMzIgb24gc29tZQoJICBhcmNoaXRlY3R1cmVzLgoKMjAwOC0wMS0yMSAxODozMCAga2luZwoKCSogTW9kdWxlcy9DTWFrZUNDb21waWxlci5jbWFrZS5pbiwgTW9kdWxlcy9DTWFrZUNDb21waWxlckFCSS5jLAoJICBNb2R1bGVzL0NNYWtlQ1hYQ29tcGlsZXIuY21ha2UuaW4sCgkgIE1vZHVsZXMvQ01ha2VDWFhDb21waWxlckFCSS5jcHAsIE1vZHVsZXMvQ01ha2VDb21waWxlckFCSS5oLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ29tcGlsZXJBQkkuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VUZXN0Q0NvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlVGVzdENYWENvbXBpbGVyLmNtYWtlLAoJICBTb3VyY2UvY21Eb2N1bWVudFZhcmlhYmxlcy5jeHg6IEVOSDogR2VuZXJhbGl6ZSB0aGUgY2hlY2sgZm9yCgkgIHNpemVvZiB2b2lkKiB0byBkZXRlY3QgbW9yZSBBQkkgaW5mb3JtYXRpb24uCgoyMDA4LTAxLTIxIDE3OjI5ICBraW5nCgoJKiBUZXN0cy9DTWFrZUxpc3RzLnR4dDogQlVHOiBEbyBub3QgZ2V0IGluIGluZmluaXRlIGxvb3Agd2hlbgoJICBjaGVja2luZyBtYWtlIHRvb2wgdmVyc2lvbiBpbiBjbWFrZSBidWlsZCB0cmVlLgoKMjAwOC0wMS0yMSAxMzo1OSAga2luZwoKCSogU291cmNlL2NtVGFyZ2V0LmN4eDogQlVHOiBBZGRlZCBtaXNzaW5nIGRvY3VtZW50YXRpb24gb2YKCSAgTElOS19GTEFHU188Q09ORklHPiBwcm9wZXJ0eS4KCjIwMDgtMDEtMjEgMTM6MDQgIGtpbmcKCgkqIFNvdXJjZS9jbUZpbmRQYWNrYWdlQ29tbWFuZC5jeHg6IENPTVA6IHNucHJpbnRmIGlzIG5vdCBwb3J0YWJsZS4KCjIwMDgtMDEtMjEgMTI6NTYgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZS5pbiwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvOUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzlHZW5lcmF0b3IuaDogRU5IOiBmaW5hbCAyLjQuOAoKMjAwOC0wMS0yMSAwODo0OCAga2luZwoKCSogTW9kdWxlcy9yZWFkbWUudHh0LCBTb3VyY2UvY21GaW5kUGFja2FnZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21GaW5kUGFja2FnZUNvbW1hbmQuaCwKCSAgVGVzdHMvRmluZFBhY2thZ2VUZXN0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9GaW5kUGFja2FnZVRlc3QvRmluZFZlcnNpb25UZXN0QS5jbWFrZSwKCSAgVGVzdHMvRmluZFBhY2thZ2VUZXN0L0ZpbmRWZXJzaW9uVGVzdEIuY21ha2UsCgkgIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9GaW5kVmVyc2lvblRlc3RDLmNtYWtlOiBFTkg6IEltcGxlbWVudAoJICB2ZXJzaW9uIHN1cHBvcnQgaW4gdGhlIGZpbmRfcGFja2FnZSBjb21tYW5kIG1vZHVsZSBtb2RlLiAgVmVyc2lvbgoJICBudW1iZXJzIHByb3ZpZGVkIHRvIHRoZSBjb21tYW5kIGFyZSBjb252ZXJ0ZWQgdG8gdmFyaWFibGUKCSAgc2V0dGluZ3MgdG8gdGVsbCB0aGUgRmluZFhYWC5jbWFrZSBtb2R1bGUgd2hhdCB2ZXJzaW9uIGlzCgkgIHJlcXVlc3RlZC4gIFRoaXMgYWRkcmVzc2VzIGlzc3VlICMxNjQ1LgoKMjAwOC0wMS0yMSAwODowMSAga2luZwoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQ09NUDogRml4IFZTNiBhbmQgb2xkIEhQIGJ1aWxkLgoJICBUaGlzIHNvdXJjZSBkb2VzIG5vdCBoYXZlIHRoZSAjZGVmaW5lIGZvciBoYWNrLgoKMjAwOC0wMS0yMSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAxLTIwIDE5OjI5ICBraW5nCgoJKiBTb3VyY2UvOiBjbUZpbmRMaWJyYXJ5Q29tbWFuZC5jeHgsIGNtRmluZFBhdGhDb21tYW5kLmN4eCwKCSAga3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBCVUc6IEZpeCBwcmV2aW91cyBjb21taXQgdG8gbm90IGFjY2VzcwoJICBlbXB0eSBzdHJpbmdzIG91dCBvZiBib3VuZHMuCgoyMDA4LTAxLTIwIDE3OjQxICBraW5nCgoJKiBTb3VyY2UvY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4OiBCVUc6IE1ha2Ugc3VyZSBzZWFyY2ggcGF0aHMKCSAgbmV2ZXIgaGF2ZSBkb3VibGUtc2xhc2hlcy4gIExlYWRpbmcgd2l0aCB0d28gc2xhc2hlcyAoLy8pIG9uCgkgIGN5Z3dpbiBsb29rcyBsaWtlIGEgbmV0d29yayBwYXRoIGFuZCBkZWxheXMgd2hpbGUgd2FpdGluZyBmb3IgYQoJICBub24tZXhpc3RlbnQgbWFjaGluZS4gIFRoaXMgZmlsZSB3YXMgbGVmdCBvdXQgb2YgdGhlIHByZXZpb3VzCgkgIGNoZWNraW4gZm9yIHRoaXMgcHJvYmxlbS4KCjIwMDgtMDEtMjAgMTc6MjQgIGtpbmcKCgkqIFNvdXJjZS86IGNtRmluZFBhdGhDb21tYW5kLmN4eCwga3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBCVUc6IE1ha2UKCSAgc3VyZSBzZWFyY2ggcGF0aHMgbmV2ZXIgaGF2ZSBkb3VibGUtc2xhc2hlcy4JTGVhZGluZyB3aXRoIHR3bwoJICBzbGFzaGVzICgvLykgb24gY3lnd2luIGxvb2tzIGxpa2UgYSBuZXR3b3JrIHBhdGggYW5kIGRlbGF5cyB3aGlsZQoJICB3YWl0aW5nIGZvciBhIG5vbi1leGlzdGVudCBtYWNoaW5lLgoKMjAwOC0wMS0yMCAxNjowMiAga2luZwoKCSogTW9kdWxlcy9GaW5kWDExLmNtYWtlOiBCVUc6IEZpbmRYMTEgbW9kdWxlIHNob3VsZCBzZWFyY2ggZm9yIFNNCgkgIGxpYnJhcnkgaW5zdGVhZCBvZiByZXR1cm5pbmcgLWxTTS4KCjIwMDgtMDEtMjAgMTM6MzYgIGtpbmcKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IENPTVA6IEZpeCBidWlsZCBkdXJpbmcgYm9vdHN0cmFwIG9uIE1TeXMuCgoyMDA4LTAxLTIwIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDEtMTkgMTU6MDkgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4OiBFTkg6CgkgIGltcHJvdmUgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkKCjIwMDgtMDEtMTkgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wMS0xOCAxOTowMiAgYmFycmUKCgkqIE1vZHVsZXMvOiBGaW5kVENMLmNtYWtlLCBGaW5kVGNsc2guY21ha2UsIEZpbmRXaXNoLmNtYWtlOiBFTkg6CgkgIFRjbC9UayA4LjYgYWxwaGEgc2NoZWR1bGUgZm9yIE1heSAyMDA4LgoKMjAwOC0wMS0xOCAxODo0MCAga2luZwoKCSogU291cmNlL2NtRGVwZW5kc0ZvcnRyYW4uY3h4OiBDT01QOiBGaXggYnVpbGQgb24gQm9ybGFuZCA1LjUuCgoyMDA4LTAxLTE4IDE3OjExICBhbGV4CgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEJVRzogZG9uJ3QgY3Jhc2ggaWYKCSAgY21NYWtlZmlsZTo6UmFpc2VTY29wZSgpIGlzIGNhbGxlZCBmcm9tIGEgY21ha2UgZmlsZSBpbiB0aGUgdG9wCgkgIGxldmVsIGRpcmVjdG9yeSBpbiBub3JtYWwgY29kZSAoaS5lLiBub3Qgd2l0aGluIGEgZnVuY3Rpb24pCgoJICBBbGV4CgoyMDA4LTAxLTE4IDE2OjA2ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2UuaW46IEVOSDogbWFrZSBzdXJlIG1zdmM5MCBnZXRzCgkgIHNldAoKMjAwOC0wMS0xOCAxNTo1MiAgYWxleAoKCSogTW9kdWxlcy9DTWFrZURldGVybWluZUNvbXBpbGVySWQuY21ha2UsCgkgIE1vZHVsZXMvRmluZHd4V2lkZ2V0cy5jbWFrZSwgU291cmNlL2NtQm9vdHN0cmFwQ29tbWFuZHMuY3h4LAoJICBTb3VyY2UvY21SYWlzZVNjb3BlQ29tbWFuZC5jeHgsIFNvdXJjZS9jbVJhaXNlU2NvcGVDb21tYW5kLmgsCgkgIFNvdXJjZS9jbVNldENvbW1hbmQuY3h4LCBTb3VyY2UvY21TZXRDb21tYW5kLmgsCgkgIFRlc3RzL0Z1bmN0aW9uVGVzdC9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvRnVuY3Rpb25UZXN0L1V0aWwuY21ha2UsCgkgIFRlc3RzL0Z1bmN0aW9uVGVzdC9TdWJEaXJTY29wZS9DTWFrZUxpc3RzLnR4dDogRU5IOiByZW1vdmUKCSAgUkFJU0VfU0NPUEUoKSBhZ2FpbiBhbmQgaW5zdGVhZCBhZGQgU0VUKDx2YXI+IDx2YWx1ZT4KCSAgUEFSRU5UX1NDT1BFKQoKCSAgQWxleAoKMjAwOC0wMS0xOCAxNToxOSAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlOiBFTkg6IG1ha2Ugc3VyZSBNU1ZDOTAgaXMgc2V0CgoyMDA4LTAxLTE4IDE0OjM0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFZpc3VhbFN0dWRpbzlHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzlHZW5lcmF0b3IuaDogRU5IOiBhZGQgTVNWQzkwIGRlZmluZSB0byB2czkKCSAgaWRlCgoyMDA4LTAxLTE4IDE0OjAyICBiYXJyZQoKCSogTW9kdWxlcy86IEZpbmRUQ0wuY21ha2UsIEZpbmRUY2xzaC5jbWFrZSwgRmluZFdpc2guY21ha2U6IEVOSDoKCSAgY2xlYW51cCBGaW5kUGVybCBhbmQgRmluZFRjbCAodXNlIEFjdGl2ZVN0YXRlIEN1cnJlbnRWZXJzaW9uLCBhbmQKCSAgc3VwcG9ydCBUY2wvVGsgOC41KQoKMjAwOC0wMS0xOCAxMzo1MSAgYmFycmUKCgkqIE1vZHVsZXMvOiBGaW5kVGNsc2guY21ha2UsIEZpbmRXaXNoLmNtYWtlOiBFTkg6IGNsZWFudXAgRmluZFBlcmwKCSAgYW5kIEZpbmRUY2wgKHVzZSBBY3RpdmVTdGF0ZSBDdXJyZW50VmVyc2lvbiwgYW5kIHN1cHBvcnQgVGNsL1RrCgkgIDguNSkKCjIwMDgtMDEtMTggMTM6NDYgIGJhcnJlCgoJKiBNb2R1bGVzLzogRmluZFRDTC5jbWFrZSwgRmluZFRjbHNoLmNtYWtlLCBGaW5kV2lzaC5jbWFrZTogRU5IOgoJICBjbGVhbnVwIEZpbmRQZXJsIGFuZCBGaW5kVGNsICh1c2UgQWN0aXZlU3RhdGUgQ3VycmVudFZlcnNpb24sIGFuZAoJICBzdXBwb3J0IFRjbC9UayA4LjUpCgoyMDA4LTAxLTE4IDEzOjE1ICBiYXJyZQoKCSogTW9kdWxlcy86IEZpbmRQZXJsLmNtYWtlLCBGaW5kVENMLmNtYWtlLCBGaW5kVGNsc2guY21ha2UsCgkgIEZpbmRXaXNoLmNtYWtlOiBFTkg6IGNsZWFudXAgRmluZFBlcmwgYW5kIEZpbmRUY2wgKHVzZQoJICBBY3RpdmVTdGF0ZSBDdXJyZW50VmVyc2lvbiwgYW5kIHN1cHBvcnQgVGNsL1RrIDguNSkKCjIwMDgtMDEtMTggMTI6MjYgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbU1hY3JvQ29tbWFuZC5oOiBTVFlMRTogZml4IGJ1ZyA1NjgyCgoyMDA4LTAxLTE4IDEwOjI1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbWFrZS5jeHgsIENUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHg6IEJVRzogZml4IGJ1Z3MgNTUzOQoJICAocHJvZ3Jlc3MgZ29pbmcgYmV5b25kIDEwMCUgd2hlbiBuZXcgZmlsZXMgYXJlIGFkZGVkKSBhbmQgNTg4OQoJICAodGVzdHMgYXJlIG5vdCBmb3VuZCBpbiBzb21lIGNhc2VzIHdoZW4gdXNpbmcgYWRkX3N1YmRpcmVjdG9yeSB0bwoJICAuLiBldGMpCgoyMDA4LTAxLTE4IDA4OjM1ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBCVUc6IENvbnN0cnVjdGlvbiBvZgoJICBDT01QSUxFX0RFRklOSVRJT05TXzxDT05GSUc+IHByb3BlcnR5IG5hbWUgbXVzdCB1c2UgdXBwZXItY2FzZQoJICBjb25maWcgbmFtZS4KCjIwMDgtMDEtMTggMDg6MTkgIGtpbmcKCgkqIFNvdXJjZS9jbUZpbmRQYWNrYWdlQ29tbWFuZC5jeHg6IFNUWUxFOiBGaXggbGluZS10b28tbG9uZy4KCjIwMDgtMDEtMTggMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wMS0xNyAyMDo1OSAga2luZwoKCSogU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmN4eDogRU5IOiBDbGFyaWZ5IGRvY3VtZW50YXRpb24gb2YKCSAgZmluZF9wYWNrYWdlIGNvbW1hbmQuCgoyMDA4LTAxLTE3IDIwOjM0ICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHgsIFRlc3RzL0NvbXBsZXgvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogRU5IOiBNYWtlCgkgIHBlci1jb25maWd1cmF0aW9uIENPTVBJTEVfREVGSU5JVElPTlNfPENPTkZJRz4gZGlyZWN0b3J5IHByb3BlcnR5CgkgIGluaXRpYWxpemVkIGZyb20gcGFyZW50LgoKMjAwOC0wMS0xNyAxOTo1OCAga2luZwoKCSogTW9kdWxlcy9DTWFrZUZvcnRyYW5JbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWlmb3J0LmNtYWtlLAoJICBTb3VyY2UvY21EZXBlbmRzRm9ydHJhbi5jeHgsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogRU5IOiBFbmFibGUgdXNlIG9mCgkgIENPTVBJTEVfREVGSU5JVElPTlMgcHJvcGVydHkgZm9yIEZvcnRyYW4gc291cmNlcy4KCjIwMDgtMDEtMTcgMTk6NTAgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogQlVHOiBDT01QSUxFX0RFRklOSVRJT05TIGRpcmVjdG9yeQoJICBwcm9wZXJ0eSBuZWVkcyB0byBiZSBpbmhlcml0ZWQgZnJvbSBwYXJlbnQgd2hlbiBhIGRpcmVjdG9yeSBpcwoJICBjcmVhdGVkLgoKMjAwOC0wMS0xNyAxOToyOSAga2luZwoKCSogU291cmNlL2NtQWRkRGVmaW5pdGlvbnNDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmgsIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtUmVtb3ZlRGVmaW5pdGlvbnNDb21tYW5kLmgsCgkgIFRlc3RzL1ByZXByb2Nlc3MvQ01ha2VMaXN0cy50eHQsIFRlc3RzL1ByZXByb2Nlc3MvcHJlcHJvY2Vzcy5jLAoJICBUZXN0cy9QcmVwcm9jZXNzL3ByZXByb2Nlc3MuY3h4OiBFTkg6IENvbnZlcnRlZCBjbU1ha2VmaWxlCgkgIERlZmluZUZsYWdzIGFkZGVkIGJ5IEFERF9ERUZJTklUSU9OUyBjb21tYW5kIGludG8gYQoJICBDT01QSUxFX0RFRklOSVRJT05TIGRpcmVjdG9yeSBwcm9wZXJ0eS4KCjIwMDgtMDEtMTcgMTg6MTMgIGtpbmcKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsIGNtUHJvcGVydHkuY3h4LAoJICBjbVByb3BlcnR5LmgsIGNtUHJvcGVydHlNYXAuY3h4LCBjbVByb3BlcnR5TWFwLmgsCgkgIGNtU2V0UHJvcGVydHlDb21tYW5kLmN4eCwgY21TZXRQcm9wZXJ0eUNvbW1hbmQuaCwKCSAgY21Tb3VyY2VGaWxlLmN4eCwgY21Tb3VyY2VGaWxlLmgsIGNtVGFyZ2V0LmN4eCwgY21UYXJnZXQuaCwKCSAgY21UZXN0LmN4eCwgY21UZXN0LmgsIGNtYWtlLmN4eCwgY21ha2UuaDogRU5IOiBBZGQgQXBwZW5kUHJvcGVydHkKCSAgbWV0aG9kcyBmb3IgdXNlIGJ5IEMrKyBjb2RlIGluIENNYWtlLiAgU2ltcGxpZnkgaW1wbGVtZW50YXRpb24gb2YKCSAgU0VUX1BST1BFUlRZIGNvbW1hbmQgYnkgdXNpbmcgdGhlbS4KCjIwMDgtMDEtMTcgMTc6NDkgIGFsZXgKCgkqIFNvdXJjZS9jbUZpbmRCYXNlLmN4eDogU1RZTEU6IFBBVEhTIGlzIG9wdGlvbmFsICgjNjI1MykKCgkgIEFsZXgKCjIwMDgtMDEtMTcgMTc6NDMgIGFsZXgKCgkqIFNvdXJjZS9jbUZpbmRCYXNlLmN4eDogU1RZTEU6IGZpeCB0eXBvICgjNjI1MikKCgkgIEFsZXgKCjIwMDgtMDEtMTcgMTc6MzQgIGtpbmcKCgkqIFRlc3RzL1ByZXByb2Nlc3MvQ01ha2VMaXN0cy50eHQ6IEVOSDogVXNlIG5ldyBzZXRfcHJvcGVydHkKCSAgc2lnbmF0dXJlIHRvIHNldCBDT01QSUxFX0RFRklOSVRJT05TIHByb3BlcnRpZXMgaW4gUHJlcHJvY2VzcwoJICB0ZXN0LgoKMjAwOC0wMS0xNyAxNzoxOSAga2luZwoKCSogTW9kdWxlcy9DUGFja0RlYi5jbWFrZSwgTW9kdWxlcy9GZWF0dXJlU3VtbWFyeS5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kUHl0aG9uTGlicy5jbWFrZSwgU291cmNlL2NtR2V0UHJvcGVydHlDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtR2V0UHJvcGVydHlDb21tYW5kLmgsIFRlc3RzL1Byb3BlcnRpZXMvQ01ha2VMaXN0cy50eHQ6CgkgIEVOSDogQ2hhbmdlZCBzaWduYXR1cmUgb2YgR0VUX1BST1BFUlRZIGNvbW1hbmQgdG8gYmUgbW9yZQoJICBwb3dlcmZ1bCBhbmQgZXh0ZW5kaWJsZS4KCjIwMDgtMDEtMTcgMTY6MjQgIGtpbmcKCgkqIFNvdXJjZS9jbVNldFByb3BlcnR5Q29tbWFuZC5jeHg6IENPTVA6IEZpeCBWUyBidWlsZC4KCjIwMDgtMDEtMTcgMTU6NTQgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VHZW5lcmljU3lzdGVtLmNtYWtlLCBNb2R1bGVzL0ZlYXR1cmVTdW1tYXJ5LmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL0JsdWVHZW5lTC5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9DYXRhbW91bnQuY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vR2VuZXJpYy5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9MaW51eC5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9Vbml4UGF0aHMuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vZUNvcy5jbWFrZSwgU291cmNlL2NtQm9vdHN0cmFwQ29tbWFuZHMuY3h4LAoJICBTb3VyY2UvY21TZXRQcm9wZXJ0aWVzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVNldFByb3BlcnRpZXNDb21tYW5kLmgsIFNvdXJjZS9jbVNldFByb3BlcnR5Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVNldFByb3BlcnR5Q29tbWFuZC5oLCBUZXN0cy9Eb2NUZXN0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Qcm9wZXJ0aWVzL0NNYWtlTGlzdHMudHh0OiBFTkg6IFJlbmFtZSBTRVRfUFJPUEVSSVRFUwoJICBjb21tYW5kIHRvIFNFVF9QUk9QRVJUWSBhbmQgZ2l2ZSBpdCBhIG1vcmUgcG93ZXJmdWwgc2lnbmF0dXJlLgoKMjAwOC0wMS0xNyAxMjo0NCAgbWFydGluawoKCSogU291cmNlLzogY21Mb2NhbEdlbmVyYXRvci5jeHgsIGN0ZXN0LmN4eCwKCSAgQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eDogRU5IOiB1c2UgQ1Rlc3RUZXN0ZmlsZS50eHQKCjIwMDgtMDEtMTcgMTI6MzUgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUVuYWJsZVRlc3RpbmdDb21tYW5kLmg6IEVOSDogcmVtb3ZlIHVudXNlZCBwcm90b3R5cGUKCjIwMDgtMDEtMTcgMTA6MzUgIGtpbmcKCgkqIGJvb3RzdHJhcDogQ09NUDogVGhlIGZpbmRfcGFja2FnZSBjb21tYW5kIG5lZWRzIG1vcmUgb2Yga3dzeXMuCgkgIEFkZGVkIFN0cmluZy5oLCBTdHJpbmcuYywgYW5kIGF1dG9fcHRyLmh4eCB0byBib290c3RyYXBwaW5nCgkgIGt3c3lzLgoKMjAwOC0wMS0xNyAxMDozMiAga2luZwoKCSogU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmN4eDogQ09NUDogRml4IHdhcm5pbmcgYWJvdXQgbWlzc2luZwoJICB2aXJ0dWFsIGRlc3RydWN0b3IuCgoyMDA4LTAxLTE3IDEwOjI2ICBtYXJ0aW5rCgoJKiBUZXN0cy9UdXRvcmlhbC9TdGVwNy86IENNYWtlTGlzdHMudHh0LCBDVGVzdENvbmZpZy5jbWFrZTogU1RZTEU6CgkgIGNoYW5nZSBjYXNlIHRvIG1hdGNoIGJvb2sKCjIwMDgtMDEtMTcgMTA6MDAgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0veGxmLmNtYWtlLCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eDogRU5IOiBFbmFibGUKCSAgQ01BS0VfPGxhbmc+X0RFRklORV9GTEFHIGZvciBDT01QSUxFX0RFRklOSVRJT05TIHByb3BlcnR5CgkgIGltcGxlbWVudGF0aW9uLgoKMjAwOC0wMS0xNyAwOTowNiAga2luZwoKCSogVGVzdHMvRmluZFBhY2thZ2VUZXN0LzogQ01ha2VMaXN0cy50eHQsCgkgIFRBcHAuYXBwL0NvbnRlbnRzL1Jlc291cmNlcy9UQXBwQ29uZmlnLmNtYWtlLAoJICBUQXBwLmFwcC9Db250ZW50cy9SZXNvdXJjZXMvY21ha2UvdGFwcC1jb25maWcuY21ha2UsCgkgIFRGcmFtZXdvcmsuZnJhbWV3b3JrL1ZlcnNpb25zL0EvUmVzb3VyY2VzL3RmcmFtZXdvcmstY29uZmlnLmNtYWtlLAoJICBURnJhbWV3b3JrLmZyYW1ld29yay9WZXJzaW9ucy9BL1Jlc291cmNlcy9DTWFrZS9URnJhbWV3b3JrQ29uZmlnLmNtYWtlLAoJICBsaWIvQmFyL0JhckNvbmZpZy5jbWFrZSwgbGliL0Jhci9jbWFrZS9iYXItY29uZmlnLmNtYWtlLAoJICBsaWIvVEFwcC9UQXBwQ29uZmlnLmNtYWtlLCBsaWIvZm9vLTEuMi9mb28tY29uZmlnLmNtYWtlLAoJICBsaWIvZm9vLTEuMi9DTWFrZS9Gb29Db25maWcuY21ha2UsCgkgIGxpYi9zdWZmaXgvdGVzdC9TdWZmaXhUZXN0Q29uZmlnLmNtYWtlOiBFTkg6IFVwZGF0ZWQKCSAgRmluZFBhY2thZ2VUZXN0IHRvIHRlc3QgbmV3IGZpbmRfcGFja2FnZSBjb21tYW5kIGZlYXR1cmVzLgoKMjAwOC0wMS0xNyAwOTowMiAga2luZwoKCSogU291cmNlLzogY21Cb290c3RyYXBDb21tYW5kcy5jeHgsIGNtRmluZEJhc2UuY3h4LCBjbUZpbmRCYXNlLmgsCgkgIGNtRmluZENvbW1vbi5jeHgsIGNtRmluZENvbW1vbi5oLCBjbUZpbmRMaWJyYXJ5Q29tbWFuZC5jeHgsCgkgIGNtRmluZFBhY2thZ2VDb21tYW5kLmN4eCwgY21GaW5kUGFja2FnZUNvbW1hbmQuaCwKCSAgY21GaW5kUGF0aENvbW1hbmQuY3h4LCBjbUZpbmRQcm9ncmFtQ29tbWFuZC5jeHg6IEVOSDogTWFqb3IKCSAgaW1wcm92ZW1lbnRzIHRvIHRoZSBGSU5EX1BBQ0tBR0UgY29tbWFuZC4gIFNlZSBidWcgIzM2NTkuCgoJICAgIC0gVXNlIENNQUtFX1BSRUZJWF9QQVRIIGFuZCBDTUFLRV9TWVNURU1fUFJFRklYX1BBVEggYW1vbmcKCSAgb3RoZXIgbWVhbnMKCSAgICAgIHRvIGxvY2F0ZSBwYWNrYWdlIGNvbmZpZ3VyYXRpb24gZmlsZXMuCgkgICAgLSBDcmVhdGUgY21GaW5kQ29tbW9uIGFzIGJhc2UgZm9yIGNtRmluZEJhc2UgYW5kCgkgIGNtRmluZFBhY2thZ2VDb21tYW5kCgkgICAgLSBNb3ZlIGNvbW1vbiBmdW5jdGlvbmFsaXR5IHVwIHRvIGNtRmluZENvbW1vbgoJICAgIC0gSW1wcm92ZSBkb2N1bWVudGF0aW9uIG9mIEZJTkRfKiBjb21tYW5kcy4KCSAgICAtIEZpeCBGSU5EXyogY29tbWFuZHMgdG8gbm90IGFkZCBmcmFtZXdvcmsvYXBwIHBhdGhzIGluIHdyb25nCgkgIHBsYWNlLgoKMjAwOC0wMS0xNyAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAxLTE2IDExOjUzICBrYXJ0aGlrCgoJKiBEb2NzLzogY21ha2UtaW5kZW50LnZpbSwgY21ha2Utc3ludGF4LnZpbTogRU5IOgoKCgkJCX4vQ01ha2Uvc3JjL0RvY3MgKiBBZGRpdGlvbnMgZm9yIGNtYWtlLWNvbW1hbmQKCSAgaGlnaGxpZ3RpbmcuCSogQWRkaXRpb25zIGZvciBvcGVyYXRvci1oaWdobGlnaHRpbmcKCjIwMDgtMDEtMTYgMTE6MjQgIGtpbmcKCgkqIFNvdXJjZS9jbUxpc3RDb21tYW5kLmN4eDogRU5IOiBBbGxvdyBMSVNUKEFQUEVORCkgY29tbWFuZCB0bwoJICBhcHBlbmQgbm90aGluZy4KCjIwMDgtMDEtMTYgMTA6MDQgIGRhdmlkLmNvbGUKCgkqIE1vZHVsZXMvRmluZEpOSS5jbWFrZTogQlVHOiBFbGltaW5hdGUgbWVzc2FnZSAtIGl0IHBvcHMgdXAgYW4KCSAgYW5ub3lpbmcgZGlhbG9nIHdoZW5ldmVyIHlvdSBydW4gQ01ha2VTZXR1cCBpbiBhIHByb2plY3Qgd2l0aAoJICBqYXZhIHdyYXBwaW5nIHR1cm5lZCBvbi4KCjIwMDgtMDEtMTYgMDk6NTEgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vOiBEYXJ3aW4uY21ha2UsIFVuaXhQYXRocy5jbWFrZSwKCSAgV2luZG93c1BhdGhzLmNtYWtlLCBzeWxsYWJsZS5jbWFrZTogRU5IOiBDb252ZXJ0IE1vZHVsZXMvUGxhdGZvcm0KCSAgc3BlY2lmaWNhdGlvbiBvZiBzeXN0ZW0gc2VhcmNoIHBhdGhzIHRvIHVzZQoJICBDTUFLRV9TWVNURU1fUFJFRklYX1BBVEggd2hlbiBwb3NzaWJsZS4KCjIwMDgtMDEtMTYgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wMS0xNSAyMToyMCAga2luZwoKCSogTW9kdWxlcy86IEZpbmRGcmVldHlwZS5jbWFrZSwgRmluZEdEQUwuY21ha2UsIEZpbmRHSUYuY21ha2UsCgkgIEZpbmRMdWE1MC5jbWFrZSwgRmluZEx1YTUxLmNtYWtlLCBGaW5kT3BlbkFMLmNtYWtlLAoJICBGaW5kT3BlblRocmVhZHMuY21ha2UsIEZpbmRQaHlzRlMuY21ha2UsIEZpbmRQcm9kdWNlci5jbWFrZSwKCSAgRmluZFF1aWNrVGltZS5jbWFrZSwgRmluZFNETC5jbWFrZSwgRmluZFNETF9pbWFnZS5jbWFrZSwKCSAgRmluZFNETF9taXhlci5jbWFrZSwgRmluZFNETF9uZXQuY21ha2UsIEZpbmRTRExfdHRmLmNtYWtlLAoJICBGaW5kb3NnLmNtYWtlLCBGaW5kb3NnREIuY21ha2UsIEZpbmRvc2dGWC5jbWFrZSwgRmluZG9zZ0dBLmNtYWtlLAoJICBGaW5kb3NnSW50cm9zcGVjdGlvbi5jbWFrZSwgRmluZG9zZ01hbmlwdWxhdG9yLmNtYWtlLAoJICBGaW5kb3NnUGFydGljbGUuY21ha2UsIEZpbmRvc2dQcm9kdWNlci5jbWFrZSwKCSAgRmluZG9zZ1NoYWRvdy5jbWFrZSwgRmluZG9zZ1NpbS5jbWFrZSwgRmluZG9zZ1RlcnJhaW4uY21ha2UsCgkgIEZpbmRvc2dUZXh0LmNtYWtlLCBGaW5kb3NnVXRpbC5jbWFrZSwgRmluZG9zZ1ZpZXdlci5jbWFrZTogQlVHOgoJICBSZW1vdmUgcmVmZXJlbmNlcyB0byBDTUFLRV9QUkVGSVhfUEFUSCB2YXJpYWJsZS4gIEl0IHNob3VsZCBub3QKCSAgYmUgcmVmZXJlbmNlZCBkaXJlY3RseSBieSBGSU5EXyogY29tbWFuZCBjYWxscy4gIFRoZSBjb21tYW5kcwoJICBzZWFyY2ggaXQgYXV0b21hdGljYWxseS4KCjIwMDgtMDEtMTUgMjE6MDIgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21Tb3VyY2VGaWxlLmN4eCwKCSAgU291cmNlL2NtVGFyZ2V0LmN4eCwgVGVzdHMvUHJlcHJvY2Vzcy9DTWFrZUxpc3RzLnR4dDogRU5IOgoJICBSZW5hbWVkIDxDT05GSUc+X0NPTVBJTEVfREVGSU5JVElPTlMgdG8KCSAgQ09NUElMRV9ERUZJTklUSU9OU188Q09ORklHPiBmb3IgYmV0dGVyIGRvY3VtZW50YXRpb24gY2xhcml0eS4KCjIwMDgtMDEtMTUgMTk6NTYgIGFsZXgKCgkqIE1vZHVsZXMvQ01ha2VGaW5kQmluVXRpbHMuY21ha2U6IFNUWUxFOiBmaXggaW5maW5pc2hlZCBjb21tZW50CgoJICBBbGV4CgoyMDA4LTAxLTE1IDE3OjAyICBob2ZmbWFuCgoJKiBDTWFrZUNQYWNrT3B0aW9ucy5jbWFrZS5pbjogRU5IOiBmaXggYWRkL3JlbW92ZSBwcm9ncmFtIG5hbWUKCjIwMDgtMDEtMTUgMTY6MDIgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5jeHg6IEVOSDogbW92ZSBtb3JlIHN0dWZmCgkgIG92ZXIgYW5kIGdldCB2cyA5IHdvcmtpbmcKCjIwMDgtMDEtMTUgMTQ6MTkgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vU3VuT1MuY21ha2U6IEJVRzogZml4IGZvciBidWcgNjIzMSwgYmFkIHJlZ2V4CgkgIGZvciBzdW5vcywgd29ya2VkIGJ5IGNoYW5jZSwgYnV0IGJldHRlciB0byBoYXZlIGl0IHJpZ2h0CgoyMDA4LTAxLTE1IDE0OjAwICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvR2VuZXJhdG9yLmN4eCwgUXREaWFsb2cvUkVBRE1FOiBFTkg6IHJlbW92ZQoJICBwYXRjaCBhcyBkaXJlY3RvcnkgY2hhbmdlIHdhcyBhbHJlYWR5IGZpeGVkCgoyMDA4LTAxLTE1IDExOjU2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5jeHg6IEJVRzogZml4IGZvciBidWcgNjIzNCwKCSAgdXNlIGNkIC9kIHNvIHRoYXQgZHJpdmVzIGNhbiBiZSBjaGFuZ2VkLgoKMjAwOC0wMS0xNSAxMDo0OSAga2luZwoKCSogU291cmNlL2NtYWtlLmN4eDogRU5IOiBBZGRlZCBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mCgkgIHJlY29nbml6aW5nIHBlci1jb25maWdyYXRpb24gcHJvcGVydGllcy4KCjIwMDgtMDEtMTUgMTA6NDkgIGtpbmcKCgkqIFNvdXJjZS86IGNtU291cmNlRmlsZS5jeHgsIGNtVGFyZ2V0LmN4eDogRU5IOiBBZGQgZXhwbGljaXQKCSAgZG9jdW1lbnRhdGlvbiBlbnRyeSBmb3IgY29uZmlndXJhdGlvbi1zcGVjaWZpYwoJICA8Q09ORklHPl9DT01QSUxFX0RFRklOSVRJT05TLgoKMjAwOC0wMS0xNSAxMDozOCAga2luZwoKCSogVGVzdHMvRG9jVGVzdC9Eb2NUZXN0LmN4eDogQlVHOiBBZGQgbmV3bGluZSBiZXR3ZWVuIHByb3BlcnRpZXMuCgoyMDA4LTAxLTE1IDA5OjA5ICBraW5nCgoJKiBUZXN0cy9QcmVwcm9jZXNzL0NNYWtlTGlzdHMudHh0OiBCVUc6IFRlc3QgbmVlZHMgYW5zaSBDIGNvZGUKCSAgc3VwcG9ydC4KCjIwMDgtMDEtMTUgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwOC0wMS0xNCAxOToyMCAgYWxleAoKCSogRG9jcy86IGNtYWtlLWluZGVudC52aW0sIGNtYWtlLXN5bnRheC52aW06IEJVRzogZml4IHZpbQoJICBoaWdobGlnaHRpbmcsIHNlZSAjNjIzOAoKCSAgQWxleAoKMjAwOC0wMS0xNCAxOTowMiAgYWxleAoKCSogTW9kdWxlcy9DTWFrZUZpbmRCaW5VdGlscy5jbWFrZTogQlVHOiBhY2NvcmRpbmcgdG8gdGhlIGJpbnV0aWxzCgkgIG1haWxpbmcgbGlzdCBjaHJwYXRoIGRvZXNuJ3Qgd29yayB3aGVuIGNyb3NzIGNvbXBpbGluZwoKCSAgQWxleAoKMjAwOC0wMS0xNCAxNzoxOSAgYWxleAoKCSogTW9kdWxlcy9GaW5kU3VidmVyc2lvbi5jbWFrZTogQlVHOiBzZXQgTENfQUxMIHRvIEMsIHNvIG1lc3NhZ2UKCSAgZnJvbSBzdm4gYXJlIG5vdCB0cmFuc2xhdGVkLCB3aGljaCBjYW4gbGVhZCB0byBwcm9ibGVtcyAoc2luY2UKCSAgdGhlIG91dHB1dCBpcyBwYXJzZWQsIHdoaWNoIGZhaWxzIHRoZW4pCgoJICBCcmFkLCBCaWxsLCBjYW4geW91IHRoaW5rIG9mIGFueSByZWFzb25zIHRoaXMgY2hhbmdlIG1pZ2h0IGNyZWF0ZQoJICBwcm9ibGVtcyA/CgoJICBBbGV4CgoyMDA4LTAxLTE0IDE3OjA1ICBhbGV4CgoJKiBTb3VyY2UvY21Eb2N1bWVudGF0aW9uLmN4eDogQlVHOiBtYWtlIC1oZWxwLW1vZHVsZS1saXN0IHdvcmsgYnkKCSAgZmlsbGluZyB0aGUgbW9kdWxlcyBzZWN0aW9uIGZpcnN0LCBhbHNvIGZvciBjdXN0b20gbW9kdWxlcwoKCSAgQWxleAoKMjAwOC0wMS0xNCAxMToyMSAga2luZwoKCSogVGVzdHMvUHJlcHJvY2Vzcy9DTWFrZUxpc3RzLnR4dDogQlVHOiBEaXNhYmxlIHNlbWljb2xvbiB0ZXN0IG9uCgkgIFZTIDcuMC4KCjIwMDgtMDEtMTQgMTE6MDcgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogQ09NUDogRml4IHdhcm5pbmcgYWJvdXQKCSAgYmFja3NsYXNoIGF0IGVuZCBvZiBjKysgY29tbWVudC4KCjIwMDgtMDEtMTQgMDk6MjAgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VDSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VDWFhJbmZvcm1hdGlvbi5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9BSVguY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vR2VuZXJpYy1TRENDLUMuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vUU5YLmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtYmNjMzIuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1pY2wuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy13Y2wzODYuY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vY2wuY21ha2UsCgkgIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuaCwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwgU291cmNlL2NtU291cmNlRmlsZS5jeHgsCgkgIFNvdXJjZS9jbVRhcmdldC5jeHgsIFRlc3RzL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9QcmVwcm9jZXNzL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9QcmVwcm9jZXNzL2ZpbGVfZGVmLmgsCgkgIFRlc3RzL1ByZXByb2Nlc3MvcHJlcHJvY2Vzcy5jLCBUZXN0cy9QcmVwcm9jZXNzL3ByZXByb2Nlc3MuY3h4LAoJICBUZXN0cy9QcmVwcm9jZXNzL3ByZXByb2Nlc3MuaC5pbiwKCSAgVGVzdHMvUHJlcHJvY2Vzcy9wcmVwcm9jZXNzX3ZzNi5jeHgsCgkgIFRlc3RzL1ByZXByb2Nlc3MvdGFyZ2V0X2RlZi5oOiBFTkg6IENyZWF0ZSBDT01QSUxFX0RFRklOSVRJT05TCgkgIHByb3BlcnR5IGZvciB0YXJnZXRzIGFuZCBzb3VyY2UgZmlsZXMuICBDcmVhdGUKCSAgPGNvbmZpZz5fQ09NUElMRV9ERUZJTklUSU9OUyBwcm9wZXJ0eSBhcyBwZXItY29uZmlndXJhdGlvbgoJICB2ZXJzaW9uLiAgQWRkIFByZXByb2Nlc3MgdGVzdCB0byB0ZXN0IHRoZSBmZWF0dXJlLiAgRG9jdW1lbnQKCSAgbGltaXRhdGlvbnMgb24gWGNvZGUgYW5kIFZTNiBnZW5lcmF0b3JzLgoKMjAwOC0wMS0xNCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAxLTEzIDE2OjU5ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEJVRzogUmVtb3ZlZCBzdHJheSBkZWJ1Z2dpbmcKCSAgc3RhdGVtZW50LgoKMjAwOC0wMS0xMyAxNjozNiAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxOTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtTG9jYWxHZW5lcmF0b3IuaCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LCBrd3N5cy9TeXN0ZW0uYywKCSAga3dzeXMvU3lzdGVtLmguaW46IEVOSDogSW1wcm92ZWQgZXNjYXBpbmcgaW4ga3dzeXMvU3lzdGVtLiAgQWRkZWQKCSAgZXNjYXBlIG9mICUgZm9yIE5NYWtlLiAgQWRkZWQgZXNjYXBlIG9mIDsgZm9yIHRoZSBWUyBJREUuCgoyMDA4LTAxLTEzIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDEtMTIgMDk6NTIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IENPTVA6IEZpeCBidWlsZCBvbiBib3JsYW5kLgoKMjAwOC0wMS0xMiAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAxLTExIDE3OjM3ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtLzogQUlYLVZpc3VhbEFnZS1Gb3J0cmFuLmNtYWtlLAoJICBMaW51eC1WaXN1YWxBZ2UtRm9ydHJhbi5jbWFrZSwgeGxmLmNtYWtlOiBFTkg6IGFkZCBzdXBwb3J0IGZvcgoJICB4bGYgd2l0aCAtV0YsLUQgZm9yIC1ECgoyMDA4LTAxLTExIDEzOjAwICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5oOiBFTkg6IGFkZAoJICBDTUFLRV9ERUZJTkVfRkxBR18oTEFORykgdGhhdCBjYW4gcmVwbGFjZSAtRCBmbGFncyB3aXRoIHdoYXQgdGhlCgkgIGNvbXBpbGVyIGFjdHVhbGx5IHVzZXMKCjIwMDgtMDEtMTEgMTI6NDAgIGNsaW50b24KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogRU5IOiAgRm9yIG1vYyBjb21tYW5kcyBvbiBXaW5kb3dzLCB1c2UKCSAgQHBhcmFtX2ZpbGUgbWV0aG9kIHRvIGFsbG93IGFyZ3VtZW50cyAgICAgICBsb25nZXIgdGhhbiBXaW5kb3dzJwoJICBjb21tYW5kIGxlbmd0aCBsaW1pdGF0aW9uLgkgICAgRml4ZXMgIzYyMjEuCgoyMDA4LTAxLTExIDEwOjM2ICBkYXZpZC5jb2xlCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFTkg6IE1lcmdlIGNoYW5nZXMgZnJvbSBtYWluIHRyZWUKCSAgaW50byBWVEstNS0wIGJyYW5jaC4gKFNlbGVjdGVkIFV0aWxpdGllcy9rd3N5cy9TeXN0ZW1Ub29scy5jeHgKCSAgZml4ZXMgZm9yIEtXV2lkZ2V0cyBmaWxlIGJyb3dzZXIgZGlhbG9nKQoKMjAwOC0wMS0xMSAwODozMyAga2luZwoKCSogU291cmNlL2t3c3lzLzogU3lzdGVtVG9vbHMuY3h4LCBTeXN0ZW1Ub29scy5oeHguaW46IEVOSDogQWRkCgkgIFN5c3RlbVRvb2xzOjpTcGxpdFBhdGhSb290Q29tcG9uZW50IGFuZCByZS1pbXBsZW1lbnQgU3BsaXRQYXRoIHRvCgkgIHVzZSBpdC4gIEFkZCBiZXR0ZXIgdHJlYXRtZW50IG9mIHVzZXIgaG9tZSBkaXJlY3RvcnkgcGF0aHMuCgoyMDA4LTAxLTExIDA4OjMwICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwgTW9kdWxlcy9DTWFrZVZTOUZpbmRNYWtlLmNtYWtlLAoJICBTb3VyY2UvY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eDogRU5IOiBwdXNoIGEgZmV3IG1vcmUgY2hhbmdlcwoJICB0byAyLjQuOAoKMjAwOC0wMS0xMSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAxLTEwIDIxOjQyICBkYXZpZC5jb2xlCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFTkg6IE1lcmdlIGNoYW5nZXMgZnJvbSBtYWluIHRyZWUKCSAgaW50byBWVEstNS0wIGJyYW5jaC4gKGN2cyAtcSB1cCAtajEuMjA1IC1qMS4yMDYKCSAgVXRpbGl0aWVzL2t3c3lzL1N5c3RlbVRvb2xzLmN4eCkKCjIwMDgtMDEtMTAgMTg6NTIgIGFsZXgKCgkqIE1vZHVsZXMvRmluZEJvb3N0LmNtYWtlOiBCVUc6IGl0IHNlZW1zIG9uIHNvbWUgaW5zdGFsbGF0aW9ucwoJICBib29zdCBpcyBpbnN0YWxsZWQgdW5kZXIgYm9vc3QtMV8zNCAsIHNlZSAjNTAzMAoKCSAgRmluZEJvb3N0LmNtYWtlIHJlY29tbWVuZHMgdXNpbmcgTElOS19ESVJFQ1RPUklFUygpLCBpcyB0aGlzCgkgIHJlYWxseSBnb29kID8KCgkgIEFsZXgKCjIwMDgtMDEtMTAgMTg6MzIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jOiBCVUc6IEZpeCBoYW5nIGluIFByb2Nlc3NfS2lsbCBvbiBPUyBYCgkgIGNhdXNlZCBieSBhbiBPUyBidWcgaW4gd2hpY2ggYSBwaXBlIHJlYWQgZW5kIGNhbm5vdCBiZSBjbG9zZWQgaWYKCSAgdGhlIHBpcGUgd3JpdGUgZW5kIGlzIG9wZW4sIHRoZSBwaXBlIGlzIGZ1bGwsIGFuZCBhbm90aGVyIHByb2Nlc3MKCSAgaXMgYmxvY2tpbmcgd2FpdGluZyB0byB3cml0ZS4gIFdvcmsgYXJvdW5kIHRoZSBwcm9ibGVtIGJ5IGtpbGxpbmcKCSAgdGhlIGNoaWxkcmVuIGJlZm9yZSBjbG9zaW5nIHRoZSBwaXBlcy4KCjIwMDgtMDEtMTAgMTY6MjIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFNXSUcuY21ha2U6IEJVRzogZml4IGZvciBidWcgNDE0NSBtdWNoIGJldHRlcgoJICBmaW5kU3dpZwoKMjAwOC0wMS0xMCAxNToxNyAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsCgkgIGNtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHg6IEJVRzogZml4IGZvciBidWcgNjE5MywgZml4IHhjb2RlCgkgIGRlcGVuZCBoZWxwZXIKCjIwMDgtMDEtMTAgMTQ6NDcgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vTGludXgtVmlzdWFsQWdlLUMuY21ha2U6IEJVRzogUmVtb3ZlZCBzdHJheQoJICBkZWJ1Z2dpbmcgbWVzc2FnZS4KCjIwMDgtMDEtMTAgMTQ6NDcgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VMaXN0cy50eHQ6IEJVRzogTmVlZCB0byBpbnN0YWxsIGZvcnRyYW4gY29tcGlsZXIgaWQKCSAgc291cmNlLgoKMjAwOC0wMS0xMCAxMTo1OCAga2luZwoKCSogTW9kdWxlcy9DTWFrZUZvcnRyYW5Db21waWxlcklkLkY5MDogU1RZTEU6IE1vdmUgVmlzdWFsQWdlIGlkCgkgIG1hY3JvIHRvIGNvcnJlY3QgYmxvY2suCgoyMDA4LTAxLTEwIDEwOjUwICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogQ01ha2VGb3J0cmFuQ29tcGlsZXJJZC5GOTAsCgkgIFBsYXRmb3JtL0xpbnV4LVZpc3VhbEFnZS1DLmNtYWtlLAoJICBQbGF0Zm9ybS9MaW51eC1WaXN1YWxBZ2UtRm9ydHJhbi5jbWFrZTogRU5IOiBhZGQgc3VwcG9ydCBmb3IKCSAgdmlzdWFsIGFnZSBmb3J0cmFuIG9uIGxpbnV4CgoyMDA4LTAxLTEwIDA5OjQ2ICBraW5nCgoJKiBTb3VyY2UvY21EZXBlbmRzRm9ydHJhbi5jeHg6IENPTVA6IEZpeCBidWlsZCBvbiBWUzYuCgoyMDA4LTAxLTEwIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDEtMDkgMjI6MDkgIHBlcmVyYQoKCSogU291cmNlLzogY21BZGRFeGVjdXRhYmxlQ29tbWFuZC5oLCBjbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmgsCgkgIGNtRG9jdW1lbnRhdGlvbi5jeHgsIGNtRW5hYmxlTGFuZ3VhZ2VDb21tYW5kLmgsIGNtRmluZEJhc2UuY3h4LAoJICBjbU1ha2VmaWxlLmN4eCwgY21Tb3VyY2VGaWxlLmN4eCwgY21TdHJpbmdDb21tYW5kLmgsCgkgIGNtVGFyZ2V0LmN4eCwgY21UZXN0LmN4eCwgY21UcnlDb21waWxlQ29tbWFuZC5oLAoJICBjbVZhcmlhYmxlV2F0Y2hDb21tYW5kLmgsIGNtV2hpbGVDb21tYW5kLmg6IFNUWUxFOiBTcGVsbGluZyBmaXhlcwoJICBvbiBkb2N1bWVudGF0aW9uCgoyMDA4LTAxLTA5IDE2OjU5ICBhbGV4CgoJKiBTb3VyY2UvY21Eb2N1bWVudGF0aW9uLmN4eDogRU5IOiBzb3J0IHRoZSBtb2R1bGUgZmlsZXMKCSAgYWxwaGFiZXRpY2FsbHkgd2hlbiBnZW5lcmF0aW5nIHRoZSBkb2N1bWVudGF0aW9uIG9mIHJodCBtb2R1bGVzCgoJICBBbGV4CgoyMDA4LTAxLTA5IDEwOjMwICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtaWZvcnQuY21ha2UsCgkgIFNvdXJjZS9jbURlcGVuZHNGb3J0cmFuLmN4eCwgU291cmNlL2NtRGVwZW5kc0ZvcnRyYW4uaCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgVGVzdHMvRm9ydHJhbi9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvRm9ydHJhbi90ZXN0X3ByZXByb2Nlc3MuRjkwOgoJICBFTkg6IFBhdGNoIGZyb20gTWFpayB0byBhZGQgcHJlcHJvY2Vzc29yIGRpcmVjdGl2ZSBoYW5kbGluZyB0bwoJICBGb3J0cmFuIGRlcGVuZGVuY3kgc2Nhbm5pbmcuCUFsc28gYWRkZWQgLWZwcCBmbGFnIHRvIEludGVsCgkgIEZvcnRyYW4gY29tcGlsZXIgb24gV2luZG93cyBieSBkZWZhdWx0LgoKMjAwOC0wMS0wOSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAxLTA4IDE3OjUxICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvOiBTeXN0ZW1JbmZvcm1hdGlvbi5jeHgsIFN5c3RlbUluZm9ybWF0aW9uLmh4eC5pbjoKCSAgRU5IOiBmaWd1cmUgb3V0IGxvbmcgbG9uZyB2YWx1ZQoKMjAwOC0wMS0wOCAxNzoyMCAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbUluZm9ybWF0aW9uLmN4eDogRU5IOiBmaXggbG90cyBvZiB3YXJuaW5ncwoKMjAwOC0wMS0wOCAxNjo0MCAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWwsIE1vZHVsZXMvQ1BhY2suY21ha2U6IEVOSDoKCSAgcmVtb3ZlIHJlbG9jYXRlIG9wdGlvbiBpbiBtYWMgaW5zdGFsbGVyIGFzIGl0IGlzIGJyb2tlbgoKMjAwOC0wMS0wOCAxNjoyOCAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0OiBFTkg6IHR1cm4gb2ZmIGZvciBub3cKCjIwMDgtMDEtMDggMTQ6NTkgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy86IENNYWtlTGlzdHMudHh0LCBTeXN0ZW1JbmZvcm1hdGlvbi5jeHgsCgkgIFN5c3RlbUluZm9ybWF0aW9uLmh4eC5pbjogRU5IOiBmaXggbGVha3MgYW5kIHR1cm4gb24gYnkgZGVmYXVsdAoKMjAwOC0wMS0wOCAxMTo0MyAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIHRlc3RTeXN0ZW1JbmZvcm1hdGlvbi5jeHg6IEVOSDoKCSAgYWRkIG1pc3NpbmcgZmlsZQoKMjAwOC0wMS0wOCAxMTozOCAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIFN5c3RlbUluZm9ybWF0aW9uLmN4eCwKCSAgU3lzdGVtSW5mb3JtYXRpb24uaHh4LmluOiBFTkg6IGFkZCBuZXcgc3lzdGVtIGluZm9ybWF0aW9uIGNsYXNzCgkgIGZvciB1c2UgaW4gY3Rlc3QKCjIwMDgtMDEtMDggMTE6MDYgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLCBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEVOSDoKCSAgbGFzdCBjaGFuZ2UgZm9yIDIuNC44IGJyYW5jaCwgSSBob3BlLCBmaXggZm9yIGZpbmRxdAoKMjAwOC0wMS0wOCAwODoyNSAgaG9mZm1hbgoKCSogU291cmNlL2NtRGVwZW5kc0ZvcnRyYW4uY3h4OiBCVUc6IG1ha2UgaXQgY29tcGlsZSBvbiB2cyA2CgoyMDA4LTAxLTA4IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDEtMDcgMjM6MDggIGtpbmcKCgkqIFNvdXJjZS86IGNtRGVwZW5kc0ZvcnRyYW5QYXJzZXIuY3h4LCBjbURlcGVuZHNGb3J0cmFuUGFyc2VyLnk6CgkgIEJVRzogRml4IHBhcnNpbmcgb2YgZm9ydHJhbiBpbmNsdWRlIGRpcmVjdGl2ZXMgZHVyaW5nIGRlcGVuZGVuY3kKCSAgc2Nhbm5pbmcuICBQcmV2aW91c2x5IG9ubHkgI2luY2x1ZGUgd29ya2VkIGJ1dCBub3QganVzdCBpbmNsdWRlLgoKMjAwOC0wMS0wNyAxNjoxMiAga2luZwoKCSogTW9kdWxlcy9DTWFrZUphdmFDb21waWxlci5jbWFrZS5pbiwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwKCSAgU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4OiBCVUc6IFJlc3RvcmUgb2xkIGludGVyZmFjZQoJICBvZiAibWFrZSBmb28ubyIgYW5kICJtYWtlIGZvby5pIiBldmVuIHRob3VnaCBvYmplY3QgZmlsZSBuYW1lcwoJICBub3cgaW5jbHVkZSBzb3VyY2UgZXh0ZW5zaW9ucy4gIEZvciBKYXZhIHdlIGFsc28gbmVlZCB0byBhbHdheXMKCSAgcmVtb3ZlIHRoZSBzb3VyY2UgZXh0ZW5zaW9uICguamF2YSAtPiAuY2xhc3MpLiAgVGhpcyBmaXhlcyB0aGUKCSAgcmUtb3BlbmluZyBvZiBidWcgIzYxNjkuCgoyMDA4LTAxLTA3IDE0OjUyICBhbGV4CgoJKiBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHg6IEJVRzogd2l0aCBjbWFrZSAyLjQgSU5TVEFMTF9GSUxFUygpCgkgIHdpdGggbm8gZmlsZXMgd2FzIGFjY2VwdGVkIGJ5IGNtYWtlLCB3aXRoIGNtYWtlIGN2cyB3aXRob3V0IHRoaXMKCSAgcGF0Y2ggYW4gaW52YWxpZCBjbWFrZV9pbnN0YWxsLmNtYWtlIHNjcmlwdCB3YXMgZ2VuZXJhdGVkIGluIHRoaXMKCSAgY2FzZSwgaXQgZmFpbGVkIHdpdGggYW4gZXJyb3IgaWYgbm8gZmlsZXMgd2VyZSBnaXZlbi4gU28ganVzdCBkbwoJICBub3RoaW5nIGlmIG5vIGZpbGVzIGFyZSBsaXN0ZWQgdG8gbWFrZSBpdCBjb21wYXRpYmxlLgoKCSAgaHR0cDovL2xpc3RzLmtkZS5vcmcvP2w9a2RlLWNvbW1pdHMmbT0xMTk5NjUxODUxMTQ0Nzgmdz0yCgoJICBBbGV4CgoyMDA4LTAxLTA3IDExOjM2ICBraW5nCgoJKiBTb3VyY2UvY21EZXBlbmRzRm9ydHJhbi5jeHg6IEVOSDogQ2hhbmdlcyBiYXNlZCBvbiBwYXRjaCBmcm9tCgkgIE1haWsgZm9yIGJldHRlciBjbURlcGVuZHNGb3J0cmFuOjpNb2R1bGVzRGlmZmVyLgoKMjAwOC0wMS0wNyAxMDoyNyAga2luZwoKCSogTW9kdWxlcy86IENNYWtlRGV0ZXJtaW5lQ29tcGlsZXJJZC5jbWFrZSwKCSAgQ01ha2VEZXRlcm1pbmVGb3J0cmFuQ29tcGlsZXIuY21ha2U6IEVOSDogQWRkIHN1cHBvcnQgdG8KCSAgQ01BS0VfREVURVJNSU5FX0NPTVBJTEVSX0lEIG1hY3JvIHRvIHRyeSBidWlsZGluZyB0aGUgaWQgc291cmNlCgkgIG1vcmUgdGhhbiBvbmNlIHdpdGggZGlmZmVyZW50IGV4dHJhIGZsYWdzIGFkZGVkIHRvIHRoZSBjb21waWxlci4KCSAgVXNlIHRoZSBzdXBwb3J0IHRvIGNvcnJlY3RseSBpZGVudGlmeSB0aGUgSW50ZWwgRm9ydHJhbiBjb21waWxlcgoJICBvbiB3aW5kb3dzIHdoaWNoIGRvZXMgbm90IHByZXByb2Nlc3MgYnkgZGVmYXVsdCB3aXRob3V0IHNwZWNpYWwKCSAgZmxhZ3MuCgoyMDA4LTAxLTA3IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDEtMDYgMTc6MTggIGFsZXgKCgkqIFNvdXJjZS9jbUZpbmRCYXNlLmN4eDogQlVHOiBmaXggIzYxMDUsIGlmIGEgZGlyZWN0b3J5IGluc2lkZQoJICBDTUFLRV9GSU5EX1JPT1RfUEFUSCBpcyBnaXZlbiB0byBhIEZJTkRfWFhYKCkgY29tbWFuZCwgZG9uJ3QKCSAgcHJlcGVuZCB0aGUgcm9vdCB0byBpdCAoc2luY2UgaXQgaXMgYWxyZWFkeSBpbiB0aGlzIHJvb3QpCgoJICBBbGV4CgoyMDA4LTAxLTA2IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDEtMDUgMjA6MzcgIG1pZ3VlbGYKCgkqIE1vZHVsZXMvRmluZHd4V2lkZ2V0cy5jbWFrZTogQlVHOiBTdXBwb3J0IGNyb3NzLWNvbXBpbGluZzsKCSAgd3gtY29uZmlnIHNob3VsZCBiZSBzZWFyY2hlZCBmb3IgaW4gdGFyZ2V0IHBsYXRmb3JtIE9OTFkgKGJ1ZwoJICA2MTg3KS4KCjIwMDgtMDEtMDUgMTE6MTkgIG1pZ3VlbGYKCgkqIE1vZHVsZXMvRmluZHd4V2lkZ2V0cy5jbWFrZTogRU5IOiBHZW5lcmFsaXplZCB0aGUKCSAgV1hXSURHRVRTX0FERF9SRVNPVVJDRVMgdG8gc3VwcG9ydCBoZWFkZXIgZ2VuZXJhdGlvbiwgeHJzIGZpbGUKCSAgZ2VuZXJhdGlvbiwgYW5kIG90aGVyIG9wdGlvbnMgKEJVRzogNjE2MikuCgoyMDA4LTAxLTA1IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDgtMDEtMDQgMTQ6MjIgIGtpbmcKCgkqIFNvdXJjZS9jbUZpbGVDb21tYW5kLmN4eDogQlVHOiBGaWxlIGluc3RhbGxhdGlvbiBzaG91bGQgb3ZlcndyaXRlCgkgIHRoZSBkZXN0aW5hdGlvbiBpZiB0aGUgZmlsZSB0aW1lcyBkaWZmZXIgYXQgYWxsIHJhdGhlciB0aGFuIG9ubHkKCSAgaWYgdGhlIHNvdXJjZSBmaWxlIGlzIG5ld2VyLglVc2VycyBleHBlY3QgaW5zdGFsbGF0aW9uIHRvCgkgIG92ZXJ3cml0ZSBkZXN0aW5hdGlvbiBmaWxlcy4JVGhpcyBhZGRyZXNzZXMgdGhlIHJlLW9wZW5pbmcgb2YKCSAgYnVnIzMzNDkuCgoyMDA4LTAxLTA0IDEyOjM4ICBhbGV4CgoJKiBNb2R1bGVzLzogRmluZEZyZWV0eXBlLmNtYWtlLCBGaW5kR0lGLmNtYWtlOiBFTkg6IHJlbmFtZQoJICB2YXJpYWJsZXMgZnJvbSBHSUZMSUJfKiB0byBHSUZfKiAtYWRkIHN0YW5kYXJkIFFVSUVUIGFuZCBSRVFVSVJFRAoJICBoYW5kbGluZyAtYWRkIEdJRl9MSUJSQVJJRVMgdmFyaWFibGUgYXMgcmVhZG1lLnR4dCBzYXlzIC1hZGQgbmFtZQoJICBnaWZsaWIgdG8gdGhlIG5hbWVzIGZvciB0aGUgZ2lmIGxpYnJhcnkgLXJlbW92ZSBzb21lIHVubmVjZXNzYXJ5CgkgIHNlYXJjaCBwYXRocyBmb3IgdGhlIGxpYiAodGhleSBhcmUgYWxyZWFkeSBwYXJ0IG9mIHRoZSBzdGFuZGFyZAoJICBzZWFyY2ggcGF0aHMsIHNlZSBNb2R1bGVzL1BsYXRmb3JtL1VuaXhQYXRocy5jbWFrZSkKCSAgLUZpbmRGcmVldHlwZS5jbWFrZTogdXNlIFBBVEhfU1VGRklYRVMgaW5jbHVkZSBhZ2FpbiBmb3IgdGhlCgkgIGhlYWRlcnMgd2l0aCB0aGUgQ01BS0VfUFJFRklYX1BBVEggdmFyaWFibGUKCgkgIEFsZXgKCjIwMDgtMDEtMDQgMTI6MjkgIGFsZXgKCgkqIE1vZHVsZXMvOiBGaW5kR0lGLmNtYWtlLCBGaW5kR0lGTElCLmNtYWtlOiBTVFlMRTogcmVuYW1lCgkgIEZpbmRHSUZMSUIuY21ha2UgdG8gRmluZEdJRi5jbWFrZSwgYXMgZGlzY3Vzc2VkIHdpdGggRXJpYwoKCSAgQWxleAoKMjAwOC0wMS0wNCAxMTo1NiAgYWxleAoKCSogTW9kdWxlcy9GaW5kWDExLmNtYWtlOiBCVUc6IGZpeCBzcGVsbGluZyBvZiB0aGUgeGY4Nm1pc2MgYW5kCgkgIHhmODZ2bW9kZSB2YXJpYWJsZXMKCgkgIEFsZXgKCjIwMDgtMDEtMDQgMTE6NDIgIGV3aW5nCgoJKiBNb2R1bGVzL0ZpbmRPcGVuQUwuY21ha2U6IEVOSDogQWRkZWQgYWxsIGxvd2VyY2FzZSAnb3BlbmFsJyB0bwoJICBsaWJyYXJ5IHNlYXJjaCBuYW1lcyBpbiBob3BlcyBvZiBhZGRyZXNzaW5nICBidWcgNjIwMSAod29uJ3QKCSAgZGV0ZWN0IG9uIEdlbnRvbykuCgoyMDA4LTAxLTA0IDA3OjI5ICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRGcmVldHlwZS5jbWFrZTogU1RZTEU6IHVzZQoJICBGSU5EX1BBQ0tBR0VfSEFORExFX1NUQU5EQVJEX0FSR1MoKSB0byBoYW5kbGUgUVVJRVQgYW5kIFJFUVVJUkVECgkgIC1yZW1vdmUgc29tZSB1bm5lY2Vzc2FyeSBzZWFyY2ggcGF0aHMgKHRoZXkgYXJlIHBhcnQgb2YgdGhlCgkgIGRlZmF1bHQgcGF0aHMpIC1kb24ndCB1c2UgUEFUSF9TVUZGSVhFUyBmb3IgaW5jbHVkZS8gd2hlbgoJICBzZWFyY2hpbmcgZm9yIGEgaGVhZGVyLCB0aGF0J3MgdmVyeSB1bmNvbW1vbiBzdHlsZSAtYWRkCgkgIEZSRUVUWVBFX0xJQlJBUklFUyBhcyB0aGUgdmFyaWFibGUgd2hpY2ggc2hvdWxkIGJlIHVzZWQgYnkgdGhlCgkgIHVzZXIgKGFzIGRvY3VtZW50ZWQgaW4gcmVhZG1lLnR4dCkKCgkgIEFsZXgKCjIwMDgtMDEtMDQgMDc6MjUgIGFsZXgKCgkqIE1vZHVsZXMvOiBGaW5kRnJlZVR5cGUuY21ha2UsIEZpbmRGcmVldHlwZS5jbWFrZTogU1RZTEU6IHJlbmFtZWQKCSAgRmluZEZyZWVUeXBlLmNtYWtlIHRvIEZpbmRGcmVldHlwZS5jbWFrZSB0byBtYWtlIGl0IG1vcmUKCSAgY29tcGF0aWJsZSB3aXRoIHRoZSBvbmUgaW4gS0RFNAoKCSAgQWxleAoKMjAwOC0wMS0wNCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAxLTAzIDExOjIxICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHgsIFNvdXJjZS9jbU1ha2VmaWxlLmgsCgkgIFNvdXJjZS9jbVJhaXNlU2NvcGVDb21tYW5kLmN4eCwgU291cmNlL2NtUmFpc2VTY29wZUNvbW1hbmQuaCwKCSAgVGVzdHMvRnVuY3Rpb25UZXN0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9GdW5jdGlvblRlc3QvU3ViRGlyU2NvcGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0Z1bmN0aW9uVGVzdC9VdGlsLmNtYWtlOiBFTkg6IGNoYW5nZSByYWlzZV9zY29wZSBzaWduYXR1cmUKCSAgdG8gYmUgc2FmZXIgZm9yIHJldHVybmVkIHZhcnVhYmxlcwoKMjAwOC0wMS0wMyAwOTo0MCAga2luZwoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4OiBTVFlMRTogRml4IGxpbmUtdG9vLWxvbmcuCgoyMDA4LTAxLTAzIDA3OjI4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBCVUc6IGZpeCByZXNvdXJjZSBmaWxlIHdpdGggYSBmdWxsIHBhdGgKCjIwMDgtMDEtMDMgMDQ6MTkgIGFsZXgKCgkqIFNvdXJjZS9jbUZpbGVDb21tYW5kLmN4eDogQ09NUDogZml4IGJ1aWxkIG9uIFdpbmRvd3Mgd2l0aCBnY2MsCgkgIHBhdGNoIGZyb20gTWFpayBCZWNrbWFubgoKCSAgQWxleAoKMjAwOC0wMS0wMyAwMDowMSAga2luZwoKCSogU291cmNlLzogY21GaWxlVGltZUNvbXBhcmlzb24uY3h4LCBjbUZpbGVUaW1lQ29tcGFyaXNvbi5oOiBFTkg6CgkgIEFkZCBtZXRob2QgY21GaWxlVGltZUNvbXBhcmlzb246OkZpbGVUaW1lc0RpZmZlciB0byBjaGVjayBpZiBmaWxlCgkgIHRpbWVzIGRpZmZlciBieSAxIHNlY29uZCBvciBtb3JlLgoKMjAwOC0wMS0wMyAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAxLTAyIDE4OjMwICBraW5nCgoJKiBTb3VyY2UvY21EZXBlbmRzRm9ydHJhbi5jeHg6IEVOSDogQ2xlYW51cCBGb3J0cmFuIGJ1aWxkCgkgIGRpcmVjdG9yaWVzIGJ5IHBsYWNpbmcgbW9kdWxlIHN0YW1wIGZpbGVzIGluIHRoZSB0YXJnZXQgZGlyZWN0b3J5CgkgIHRoYXQgYnVpbGRzIHRoZW0uICBUaGlzIGlzIGFjdHVhbGx5IGEgc2ltcGxlciBpbXBsZW1lbnRhdGlvbgoJICBhbnl3YXkuCgoyMDA4LTAxLTAyIDE4OjAwICBraW5nCgoJKiBUZXN0cy9TdHJpbmdGaWxlVGVzdC9DTWFrZUxpc3RzLnR4dDogRU5IOiBBZGQgdGVzdCBmb3IgRklMRShSRUFECgkgIC4uLkhFWCkuCgoyMDA4LTAxLTAyIDE3OjQ5ICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHgsIFRlc3RzL0Z1bmN0aW9uVGVzdC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRnVuY3Rpb25UZXN0L1N1YkRpclNjb3BlL0NNYWtlTGlzdHMudHh0OiBCVUc6IE1ha2UKCSAgUkFJU0VfU0NPUEUgZnVuY3Rpb24gd29yayB3aGVuIHZhcmlhYmxlIGlzIG5vdCBkZWZpbmVkLgoKMjAwOC0wMS0wMiAxNzozMiAga2luZwoKCSogRG9jcy9jbWFrZS1tb2RlLmVsOiBFTkg6IEVuYWJsZSBpbmRlbnRhdGlvbiBvZgoJICBGVU5DVElPTi9FTkRGVU5DVElPTiBibG9ja3MgaW4gZW1hY3MuCgoyMDA4LTAxLTAyIDE3OjEyICBob2ZmbWFuCgoJKiBNb2R1bGVzL1VzZVNXSUcuY21ha2U6IEJVRzogZml4IGZvciBidWcgNjE1MQoKMjAwOC0wMS0wMiAxNjo1MyAgYWxleAoKCSogU291cmNlL2NtVGFyZ2V0LmN4eDogRU5IOiBvbmx5IGFsbG93IHVzYWdlIG9mIGNocnBhdGggaWYgdGhlCgkgIGV4ZWN1dGFibGUgZmlsZSBmb3JtYXQgaXMgRUxGCgoJICBBbGV4CgoyMDA4LTAxLTAyIDE2OjUyICBhbGV4CgoJKiBNb2R1bGVzLzogQ01ha2VEZXRlcm1pbmVDb21waWxlcklkLmNtYWtlLAoJICBDTWFrZUZpbmRCaW5VdGlscy5jbWFrZTogRU5IOiBjaGVjayB0aGUgbWFnaWMgY29kZSBvZiB0aGUKCSAgZXhlY3V0YWJsZSBmaWxlIHRvIGRldGVybWluZSB0aGUgZXhlY3V0YWJsZSBmaWxlIGZvcm1hdC4gVGVzdGVkCgkgIGZvciBFTEYgb24geDg2IExpbnV4LCBDT0ZGIGFuZCBNYWNoLU8gcHJlcGFyZWQgYnV0IGNvbW1lbnRlZCBvdXQKCSAgc2luY2UgSSBkb24ndCBoYXZlIHN1Y2ggc3lzdGVtcyBhdmFpbGFibGUuIFBsZWFzZSBoYXZlIGEgbG9vayBhCgkgIENNYWtlRGV0ZXJtaW5lQ29tcGlsZXJJZC5jbWFrZSBhbmQgZW5hYmxlIHRoZSB0ZXN0IGZvciB0aGVtIHRvby4KCgkgIE9ubHkgYWRkIHRoZSBvcHRpb24gZm9yIHVzaW5nIGNocnBhdGggaWYgdGhlIGV4ZWN1dGFibGUgZm9ybWF0IGlzCgkgIEVMRgoKCSAgQWxleAoKMjAwOC0wMS0wMiAxNjo0NiAgYWxleAoKCSogU291cmNlLzogY21GaWxlQ29tbWFuZC5jeHgsIGNtRmlsZUNvbW1hbmQuaDogRU5IOiBhZGQgdGhlCgkgIGtleXdvcmRzIE9GRlNFVCBhbmQgSEVYIHRvIHRoZSBGSUxFKCkgY29tbWFuZCwgdXNpbmcgT0ZGU0VUIGFuCgkgIG9mZnNldCBjYW4gYmUgc3BlY2lmaWVkIHdoZXJlIHRoZSByZWFkaW5nIHN0YXJ0cywgYW5kIHVzaW5nIEhFWAoJICB0aGUgZGF0YSBjYW4gYmUgY29udmVydGVkIGludG8gYSBoZXggc3RyaW5nLCBzbyBiaW5hcnkgZGF0YSBjYW4KCSAgYmUgY29tcGFyZWQgd2l0aCB0ZXh0IGZ1bmN0aW9ucyAtYWRkIGRvY3MgZm9yIExJTUlULCBPRkZTRVQgYW5kCgkgIEhFWAoKCSAgQWxleAoKMjAwOC0wMS0wMiAxNTo1NSAga2luZwoKCSogU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvOEdlbmVyYXRvci5jeHg6IFNUWUxFOiBGaXhlZAoJICBsaW5lLXRvby1sb25nLgoKMjAwOC0wMS0wMiAxNTo1MyAga2luZwoKCSogU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvOEdlbmVyYXRvci5jeHg6IEJVRzogRG8gbm90IHVzZQoJICBWU01hY3JvcyBzdHVmZiBmb3IgVlM4c3AwIGJlY2F1c2UgbWFjcm9zIGRvIG5vdCB3b3JrIGluIHRoYXQKCSAgdmVyc2lvbi4KCjIwMDgtMDEtMDIgMTU6MTcgIGtpbmcKCgkqIFNvdXJjZS9jbUZpbGVDb21tYW5kLmN4eCwgU291cmNlL2NtSW5zdGFsbENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsQ29tbWFuZC5oLCBUZXN0cy9TaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkZWQgRklMRVNfTUFUQ0hJTkcKCSAgb3B0aW9uIHRvIElOU1RBTEwoRElSRUNUT1JZKS4gIFRoaXMgd2lsbCBoZWxwIGluc3RhbGwgYSB0cmVlIG9mCgkgIGhlYWRlciBmaWxlcyB3aGlsZSBpZ25vcmluZyBub24taGVhZGVycy4KCjIwMDgtMDEtMDIgMTI6MzIgIGFsZXgKCgkqIE1vZHVsZXMvRmluZFJ1YnkuY21ha2U6IEVOSDogYWRkIG1vcmUgcnVieSBwYXRoczogc2l0ZWFyY2gsCgkgIHNpdGVsaWIsIHZlbmRvcmFyY2gsIHZlbmRvcmxpYiAoIzU1MzEpIC1tYWtlIHRoZXNlIHZhcmlhYmxlcwoJICBjYWNoZWQgYW5kIEFEVkFOQ0VEIC1yZW1vdmUgdW51c2VkIFFVSUVUTFkgY29kZSAtZG9jdW1lbnQKCSAgUlVCWV9MSUJSQVJZCgoJICBBbGV4CgoyMDA4LTAxLTAyIDExOjQzICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRSdWJ5LmNtYWtlOiBCVUc6IG1ha2UgRmluZFJ1Ynkgd29yayB3aXRoIHRoZSBsaWJzIGZvcgoJICBNU1ZDLCB3aGljaCBjYW4gaGF2ZSBhZGRpdGlvbmFsIHByZS0gYW5kIHN1ZmZpeGVzICgjNTY0MikKCgkgIEFsZXgKCjIwMDgtMDEtMDIgMTE6MDggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUF1eFNvdXJjZURpcmVjdG9yeUNvbW1hbmQuY3h4OiBCVUc6IGZpeCBmb3IgYnVnIDYxOTcsCgkgIGFic29sdXRlIHBhdGhzIHdlcmUgbm90IHN1cHBvcnRlZAoKMjAwOC0wMS0wMiAxMTowNCAga2luZwoKCSogU291cmNlLzogY21EZXBlbmRzRm9ydHJhbi5jeHgsIGNtRGVwZW5kc0ZvcnRyYW4uaCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBFTkg6IE1ha2UgdGhlIEZvcnRyYW4gY29tcGlsZXIKCSAgaWQgYXZhaWxhYmxlIHRvIGNtRGVwZW5kc0ZvcnRyYW4gYXQgc2Nhbm5pbmcgYW5kIG1vZHVsZSB0aW1lc3RhbXAKCSAgY29weSB0aW1lLgoKMjAwOC0wMS0wMiAxMDo1NiAgaG9mZm1hbgoKCSogU291cmNlL2NtTGlzdENvbW1hbmQuaDogQlVHOiBmaXggZm9yIGJ1ZyA2MjA3IGV4cGxhaW4gbGlzdCBpbmRleAoJICB2YWx1ZXMgYmV0dGVyCgoyMDA4LTAxLTAyIDA5OjMyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IGZpeCBuZXcgaW5jcmVtZW50YWwgbGluayBzdHVmZiB0byB3b3JrCgkgIHdpdGggbm1ha2UgQCBmaWxlcwoKMjAwOC0wMS0wMiAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA4LTAxLTAxIDE3OjE5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IHJlbW92ZSB3YXJuaW5nCgoyMDA4LTAxLTAxIDE1OjEzICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlVkNNYW5pZmVzdC5jbWFrZSwgTW9kdWxlcy9DTWFrZVZDTWFuaWZlc3RFeGUuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZSwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHgsIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmgsCgkgIFNvdXJjZS9jbWFrZS5jeHgsIFNvdXJjZS9jbWFrZS5oOiBFTkg6IGFkZCBhYmlsaXR5IHRvIGhhdmUKCSAgbWFuaWZlc3QgZmlsZXMgYW5kIGluY3JlbWVudGFsIGxpbmtpbmcgd2l0aCBtYWtlIGFuZCBubWFrZQoKMjAwOC0wMS0wMSAxMDo1NCAga2luZwoKCSogVGVzdHMvOiBTaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBTaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEJVRzogRml4IFNpbXBsZUluc3RhbGwgdGVzdCB0bwoJICB3b3JrIHdpdGggbmV3IGRlcGVuZGVuY3kgb2YgcGFja2FnZSBvbiBhbGwuCgoyMDA4LTAxLTAxIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDctMTItMzEgMTc6MjkgIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHg6IEVOSDogQWRkIGEgZGVwZW5kZW5jeSBmcm9tIHRoZQoJICBQQUNLQUdFIHRhcmdldCB0byB0aGUgQUxMIHRhcmdldCBzbyB0aGF0ICJtYWtlIHBhY2thZ2UiIHdpbGwKCSAgZmlyc3QgKGVzc2VudGlhbGx5KSBkbyBhICJtYWtlIGFsbCIuLi4gQSBzaW1pbGFyIGNodW5rIG9mIGNvZGUKCSAgYWxyZWFkeSBleGlzdGVkIGZvciB0aGUgbWFrZSBpbnN0YWxsIHRhcmdldC4gVGhpcyBjaGFuZ2UgbWFrZXMgaXQKCSAgZWFzeSB0byBidWlsZCBhbiBpbnN0YWxsZXIgcGFja2FnZSBhcyBwYXJ0IG9mIGEgZGFzaGJvYXJkIHJ1bgoJICBzaW1wbHkgYnkgc2V0dGluZyBDVEVTVF9CVUlMRF9UQVJHRVQgdG8gInBhY2thZ2UiLgoKMjAwNy0xMi0zMSAxMToyNSAga2luZwoKCSogU291cmNlLzogY21EZXBlbmRzRm9ydHJhbi5jeHgsIGNtRGVwZW5kc0ZvcnRyYW4uaDogRU5IOiBDaGFuZ2VzCgkgIGJhc2VkIG9uIHBhdGNoIGZyb20gTWFpayBCZWNrbWFubiB0byBjb3B5IGZvcnRyYW4gbW9kdWxlcyB0bwoJICB0aW1lc3RhbXBzIG9ubHkgaWYgdGhleSBoYXZlIHJlYWxseSBjaGFuZ2VkLglUaGlzIG9wdGltaXphdGlvbgoJICBzaG91bGQgcmVkdWNlIGV4dHJhIHJlYnVpbGRzIGNhdXNlZCBieSBkZXBlbmRlbmNpZXMgb24gbW9kdWxlcwoJICB3aG9zZSBwcm92aWRlcnMgaGF2ZSByZWNvbXBpbGVkIGJ1dCB3aG9zZSBpbnRlcmZhY2VzIGhhdmUgbm90CgkgIGNoYW5nZWQuCgoyMDA3LTEyLTMxIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDctMTItMzAgMTY6MzQgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vU3VuT1MtU3VuUHJvLUZvcnRyYW4uY21ha2U6IEVOSDogQWRkIFN1blBybwoJICBmb3J0cmFuIG1vZHVsZSBmbGFncyBvbiBTdW5PUy4KCjIwMDctMTItMzAgMTY6MTEgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vTGludXgtR05VLUZvcnRyYW4uY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vTGludXgtU3VuUHJvLUZvcnRyYW4uY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vTGludXgtaWZvcnQuY21ha2UsIFNvdXJjZS9jbURlcGVuZHNGb3J0cmFuLmN4eCwKCSAgU291cmNlL2NtRGVwZW5kc0ZvcnRyYW4uaCwgU291cmNlL2NtRG9jdW1lbnRWYXJpYWJsZXMuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmgsIFNvdXJjZS9jbVRhcmdldC5jeHgsCgkgIFRlc3RzL0ZvcnRyYW4vQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0ZvcnRyYW4vRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRm9ydHJhbi9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0OiBFTkg6IEltcGxlbWVudGVkIEZvcnRyYW4KCSAgbW9kdWxlIG91dHB1dCBkaXJlY3RvcnkgYW5kIHNlYXJjaCBwYXRoIGZsYWdzLgoKMjAwNy0xMi0zMCAxMjoyMyAga2luZwoKCSogU291cmNlL2NtRGVwZW5kc0ZvcnRyYW4uY3h4OiBFTkg6IFNpbXBsaWZ5IEZvcnRyYW4gbW9kdWxlIHByb3h5CgkgIGRlcGVuZGVuY3kgaW1wbGVtZW50YXRpb24gYnkgcmVtb3ZpbmcgdW5uZWNlc3NhcnkgdGFyZ2V0LgoKMjAwNy0xMi0zMCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA3LTEyLTI5IDExOjUzICBhbGV4CgoJKiBTb3VyY2UvY21Eb2N1bWVudGF0aW9uLmN4eDogQlVHOiBjcmVhdGUgbW9kdWxlcyBkb2N1bWVudGF0aW9uIG5vdAoJICBvbmx5IGZvciB0aGUgZmlyc3QgZG9jdW1lbnRhdGlvbiBjcmVhdGlvbiBzdGVwIGluIGNtYWtlICh0aGUgc2V0CgkgIE1vZHVsZXNGb3VuZCB3YXNuJ3QgY2xlYXJlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIGVhY2gKCSAgUHJpbnREb2N1bWVudGF0aW9uKCkgZnVuY3Rpb24sIHNvIHdoZW4gZG9jdW1lbnRhdGlvbiBmb3IgbW9kdWxlcwoJICB3YXMgZXhlY3V0ZWQgdGhlIHNlY29uZCB0aW1lLCBNb2R1bGVzRm91bmQgYWxyZWFkeSBjb250YWluZWQgYWxsCgkgIG1vZHVsZXMgYW5kIHNvIG5vIG1vZHVsZSB3YXMgZG9jdW1lbnRlZCkKCgkgIEFsZXgKCjIwMDctMTItMjkgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwNy0xMi0yOCAyMzowNyAga2luZwoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LCBUZXN0cy9FeHRlcm5hbE9CSi9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvTWFrZUNsZWFuL1RvQ2xlYW4vQ01ha2VMaXN0cy50eHQ6IEJVRzogRG8gbm90IHJlbW92ZSB0aGUKCSAgc291cmNlIGZpbGUgZXh0ZW5zaW9uIHdoZW4gY29tcHV0aW5nIGFuIG9iamVjdCBmaWxlIG5hbWUuICBUaGlzCgkgIGFkZHJlc3NlcyBidWcgIzYxNjkuCUlmIENNQUtFX0JBQ0tXQVJEU19DT01QQVRJQklMSVRZIGlzIDIuNCBvcgoJICBsb3dlciBtYWludGFpbiB0aGUgb2xkIGJlaGF2aW9yIHNvIHRoYXQgZXhpc3RpbmcgYnVpbGQgdHJlZXMgYW5kCgkgIG9sZCBwcm9qZWN0IHJlbGVhc2VzIGFyZSBub3QgYWZmZWN0ZWQuCgoyMDA3LTEyLTI4IDIzOjA3ICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5oLAoJICBjbVN0YW5kYXJkSW5jbHVkZXMuaDogRU5IOiBBZGRlZCBtZXRob2QKCSAgY21Mb2NhbEdlbmVyYXRvcjo6R2V0QmFja3dhcmRzQ29tcGF0aWJpbGl0eSB0byByZWR1Y2UgcGFyc2luZyBvZgoJICBDTUFLRV9CQUNLV0FSRFNfQ09NUEFUSUJJTElUWSB2YXJpYWJsZS4gIEFkZAoJICBjbUxvY2FsR2VuZXJhdG9yOjpOZWVkQmFja3dhcmRzQ29tcGF0aWJpbGl0eSB0byBzaW1wbGlmeSBjaGVja3MKCSAgZm9yIGNvbXBhdGliaWxpdHkgcmVxdWlyZW1lbnRzLgoKMjAwNy0xMi0yOCAyMjo1MyAga2luZwoKCSogVGVzdHMvRm9ydHJhbi9DTWFrZUxpc3RzLnR4dDogQlVHOiBEaXNhYmxlIHRlc3Qgb2YgZm9ydHJhbiBtb2R1bGUKCSAgZGVwZW5kZW5jaWVzIGV4Y2VwdCBvbiBHTlUgZm9yIG5vdy4gIEEgbW9kdWxlIHBhdGggZmVhdHVyZSBpcwoJICBuZWVkZWQgZm9yIFN1biBzdXBwb3J0IGJlY2F1c2UgaXQgdXNlcyAtTSBpbnN0ZWFkIG9mIC1JIGZvciB0aGUKCSAgbW9kdWxlIHNlYXJjaCBwYXRoLgoKMjAwNy0xMi0yOCAyMjoyOSAga2luZwoKCSogU291cmNlL2NtRGVwZW5kc0ZvcnRyYW4uY3h4OiBDT01QOiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBhbmQKCSAgdW51c2VkIHBhcmFtZXRlciB3YXJuaW5ncy4KCjIwMDctMTItMjggMTQ6NTkgIGtpbmcKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGVFeGVjdXRhYmxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwgY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5oOiBFTkg6CgkgIFNpbXBsaWZpZWQgYW5kIG1vdmVkIGxpbmsgc2NyaXB0IGltcGxlbWVudGF0aW9uIHVwIGZyb20KCSAgY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IgdG8gY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvciBhbmQKCSAgdXNlIGZvciBjbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvciB0b28uICBUaGlzIGFkZHJlc3NlcwoJICBidWcgIzYxOTIuCgoyMDA3LTEyLTI4IDEzOjIwICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwgTWFjSW5zdGFsbFJlYWRtZS50eHQ6IEVOSDogYWRkCgkgIHNvbWUgZGVzY3JpcHRpdmUgdGV4dCBmb3IgbWFjIGluc3RhbGxlcgoKMjAwNy0xMi0yOCAxMjowMSAga2luZwoKCSogU291cmNlL2NtRmluZEJhc2UuY3h4OiBFTkg6IE1ha2UgRklORF8qIGNvbW1hbmRzIGxvb2sgaW4gdGhlCgkgIENNQUtFX1BSRUZJWF9QQVRIIGRpcmVjdG9yaWVzIGRpcmVjdGx5IGFmdGVyIGxvb2tpbmcgaW4gZWFjaAoJICBjb21tYW5kJ3Mgc3BlY2lmaWMgc3ViZGlyZWN0b3J5ICgvaW5jbHVkZSwgL2xpYiwgb3IgL2JpbikuICBUaGlzCgkgIG1heSBiZSB1c2VmdWwgb24gV2luZG93cyB3aGVyZSBwcm9qZWN0cyBjb3VsZCBiZSBpbnN0YWxsZWQgaW4gYQoJICBzaW5nbGUgZGlyZWN0b3J5LiAgU2VlIGlzc3VlICM0OTQ3LgoKMjAwNy0xMi0yOCAxMTo1MCAga2luZwoKCSogVGVzdHMvRm9ydHJhbi86IENNYWtlTGlzdHMudHh0LCBFeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBFeGVjdXRhYmxlL21haW4uZjkwLCBFeHRlcm5hbC9DTWFrZUxpc3RzLnR4dCwgRXh0ZXJuYWwvYS5mOTA6CgkgIEVOSDogQWRkIHRlc3RzIG9mIEZvcnRyYW4gbW9kdWxlIGRlcGVuZGVuY2llcyBhY3Jvc3MgZGlyZWN0b3JpZXMKCSAgYW5kIG9uIGV4dGVybmFsIG1vZHVsZXMuICBUZXN0cyBiYXNlZCBvbiBjYXNlcyBwcm92aWRlZCBieSBNYWlrCgkgIGluIGlzc3VlICM1ODA5LgoKMjAwNy0xMi0yOCAxMTo1MCAga2luZwoKCSogU291cmNlLzogY21EZXBlbmRzRm9ydHJhbi5jeHgsIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDoKCSAgRU5IOiBBZGQgcGVyLWxhbmd1YWdlIGNsZWFuIHJ1bGUgZ2VuZXJhdGlvbiB0byBjbWFrZV9jbGVhbi5jbWFrZQoJICBmaWxlcyB0byBpbmNsdWRlIGNtYWtlX2NsZWFuXzxsYW5nPi5jbWFrZSBmaWxlcyBnZW5lcmF0ZWQgYnkKCSAgZGVwZW5kZW5jeSBzY2FubmluZy4JQWRkIEZvcnRyYW4gbW9kdWxlIGZpbGUgYW5kIHRpbWVzdGFtcAoJICBjbGVhbmluZyBydWxlcy4KCjIwMDctMTItMjggMTE6NDkgIGtpbmcKCgkqIFNvdXJjZS86IGNtRGVwZW5kcy5jeHgsIGNtRGVwZW5kcy5oLCBjbURlcGVuZHNGb3J0cmFuLmN4eCwKCSAgY21EZXBlbmRzRm9ydHJhbi5oOiBFTkg6IEltcGxlbWVudCBGb3J0cmFuIG1vZHVsZSBkZXBlbmRlbmNpZXMKCSAgYWNyb3NzIHRhcmdldHMgYW5kIGRpcmVjdG9yaWVzLiAgICAtIFNlZSBpc3N1ZSAjNTgwOQkgIC0gS2VlcAoJICBpbmZvcm1hdGlvbiBhYm91dCBhbGwgc291cmNlcyBpbiB0aGUgdGFyZ2V0IHVudGlsIGRlcHMgYXJlCgkgIHdyaXR0ZW4gICAgLSBDcmVhdGUgYSBmb3J0cmFuLmludGVybmFsIGZpbGUgYWZ0ZXIgc2Nhbm5pbmcgdGhhdAoJICBsaXN0cyBtb2R1bGVzIHByb3ZpZGVkICAgIC0gTG9hZCBmb3J0cmFuLmludGVybmFsIGZpbGVzIGZyb20KCSAgbGlua2VkIHRhcmdldHMgdG8gZmluZCBtb2R1bGVzICAgIC0gU2VhcmNoIHRoZSBpbmNsdWRlIHBhdGggZm9yCgkgIGV4dGVybmFsIG1vZHVsZXMgICAgLSBDcmVhdGUgZmlsZS1sZXZlbCBkZXBzIG9uIGluLXByb2plY3QgbW9kdWxlCgkgIHRpbWVzdGFtcHMgb3IgZXh0ZXJuYWwgbW9kcwoKMjAwNy0xMi0yOCAxMTo0OSAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4OiBFTkg6IFN0b3JlIGluCgkgIERlcGVuZEluZm8uY21ha2UgZmlsZXMgYSBsaXN0IG9mIHRoZSBjb3JyZXNwb25kaW5nIGZpbGVzIGZvciB0aGUKCSAgdGFyZ2V0cyB0byB3aGljaCBhIHRhcmdldCBsaW5rcy4gIFRoaXMgaXMgdXNlZnVsIGZvciBsb2NhdGluZwoJICBGb3J0cmFuIG1vZHVsZXMgcHJvdmlkZWQgYnkgbGlua2VkIHRhcmdldHMuICBTZWUgaXNzdWUgIzU4MDkuCgoyMDA3LTEyLTI4IDA5OjQ5ICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cubWFudWFsLCBNb2R1bGVzL0NQYWNrLkluZm8ucGxpc3QuaW4sCgkgIE1vZHVsZXMvQ1BhY2suY21ha2U6IEVOSDogbW92ZSBvdmVyIG1hYyBwYWNrYWdlIGNoYW5nZQoKMjAwNy0xMi0yOCAwOTozNCAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWw6IEVOSDogb29wcHNzIHRoZXJlIGlzIG5vIDIuNC45CgoyMDA3LTEyLTI4IDA5OjExICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbDogRU5IOiBtYWtlIGEgbmV3IHZlcnNpb24gbnVtYmVyCgoyMDA3LTEyLTI4IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDctMTItMjcgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwNy0xMi0yNiAxNjo1NyAgZGF2aWQuY29sZQoKCSogQ01ha2VDUGFja09wdGlvbnMuY21ha2UuaW4sIE1vZHVsZXMvQ1BhY2suSW5mby5wbGlzdC5pbiwKCSAgTW9kdWxlcy9DUGFjay5jbWFrZTogRU5IOiBHaXZlIE1hYyBpbnN0YWxsZXJzIHBhY2thZ2UgcmVsb2NhdGlvbgoJICBjYXBhYmlsaXR5LiBEZWZhdWx0IGxvY2F0aW9uIGlzIHN0aWxsIHRoZSBzYW1lIGZvciBiYWNrd2FyZHMKCSAgY29tcGF0aWJpbGl0eSwgYnV0IHBhY2thZ2VzIHdpbGwgbm93IGJlIHJlbG9jYXRhYmxlIGJ5IGRlZmF1bHQKCSAgbGlrZSB0aGV5IGFyZSBvbiBXaW5kb3dzIHZpYSB0aGUgTlNJUyBpbnN0YWxsZXIuIE5ldyBDUGFjawoJICB2YXJpYWJsZXMgZm9yIGNvbnRyb2xsaW5nIHRoaXMgZnVuY3Rpb25hbGl0eSBhcmUKCSAgQ1BBQ0tfUEFDS0FHRV9ERUZBVUxUX0xPQ0FUSU9OIGFuZCBDUEFDS19QQUNLQUdFX1JFTE9DQVRBQkxFLgoKMjAwNy0xMi0yNiAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA3LTEyLTI1IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDctMTItMjQgMTE6MTUgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHg6IENPTVA6IEZpeCBidWlsZCBvbiBWUzYuCgoyMDA3LTEyLTI0IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDctMTItMjMgMTk6MDMgIGtpbmcKCgkqIFNvdXJjZS9jbUxpbmtEaXJlY3Rvcmllc0NvbW1hbmQuaDogRU5IOiBDbGFyaWZ5IGRvY3VtZW50YXRpb24gb2YKCSAgbGlua19kaXJlY3RvcmllcyBjb21tYW5kIGZvciBidWcjNjE5OS4KCjIwMDctMTItMjMgMTU6MDMgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwgY21UYXJnZXQuaDogRU5IOiBNb3ZlZCBnbG9iYWwKCSAgaW50ZXItdGFyZ2V0IGRlcGVuZGVuY3kgYW5hbHlzaXMgYW5kIGN5Y2xlLXByZXZlbnRpb24gY29kZSB1cAoJICBmcm9tIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMyB0byBjbUdsb2JhbEdlbmVyYXRvci4KCSAgU2ltcGxpZmllZCBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMgdG8gdXNlIGl0LglMYXRlciBvdGhlcgoJICBnZW5lcmF0b3JzIG1heSBiZSBtb2RpZmllZCB0byB1c2UgaXQgYWxzby4KCjIwMDctMTItMjMgMTM6MTYgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogQlVHOiBSZXZlcnQgcHJldmlvdXMgY2hhbmdlCgkgIHVudGlsIGl0IHdvcmtzIG9uIGFsbCBPU1ggdmVyc2lvbnMuCgoyMDA3LTEyLTIzIDEzOjEzICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHg6IEJVRzogRGlzYWJsZSBzdGF0aWMKCSAgbGliIGRlcHMgdW50aWwgYSBnbG9iYWwgY3ljbGUgcmVtb3ZhbCBjYW4gYmUgZG9uZS4KCjIwMDctMTItMjMgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwNy0xMi0yMiAyMjo0MSAga2luZwoKCSogU291cmNlLzogY21EZXBlbmRzLmN4eCwgY21EZXBlbmRzLmgsIGNtRGVwZW5kc0ZvcnRyYW4uY3h4LAoJICBjbURlcGVuZHNGb3J0cmFuLmgsIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogRU5IOgoJICBDb252ZXJ0IGNtRGVwZW5kcyBvYmplY3QgaW50ZXJmYWNlIHRvIHNjYW4gYW4gZW50aXJlIHRhcmdldCBhdAoJICBvbmNlLgoKMjAwNy0xMi0yMiAxNDoxNyAga2luZwoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBFTkg6IFNpbXBsaWZ5IHRhcmdldC1sZXZlbAoJICBkZXBlbmRlbmNpZXMgYnkgZGVwZW5kaW5nIG9ubHkgb24gZGlyZWN0bHkgbGlua2VkIHRhcmdldHMgaW5zdGVhZAoJICBvZiB0aG9zZSBjaGFpbmVkLgoKMjAwNy0xMi0yMiAxMzowOCAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmg6IEJVRzogU3VwcG9ydCBjeWNsaWMKCSAgZGVwZW5kZW5jaWVzIGFtb25nIFNUQVRJQyBsaWJyYXJpZXMgYnkgcmVtb3Zpbmcgb25lIGZyb20gdGhlCgkgIGdlbmVyYXRlZCBNYWtlZmlsZSBydWxlcy4KCjIwMDctMTItMjIgMTA6MTUgIG1pZ3VlbGYKCgkqIE1vZHVsZXMvRmluZHd4V2lkZ2V0cy5jbWFrZTogU1RZTEU6IFJlZmFjdG9yZWQgY29tbW9uIGxpYnMgaW50byBhCgkgIHZhcmlhYmxlLCBtb2RpZmllZCBjb21tZW50cywgYW5kIGNsZWFuZWQgdXNlIG9mIG1vbm9saXRoaWMgYnVpbGQuCgoyMDA3LTEyLTIyIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDctMTItMjEgMjA6MTkgIGtpbmcKCgkqIFRlc3RzL0J1aWxkRGVwZW5kcy9DTWFrZUxpc3RzLnR4dDogQlVHOiBFbmFibGUKCSAgQ01BS0VfU1VQUFJFU1NfUkVHRU5FUkFUSU9OIGJlY2F1c2UgdGhlIGVudGlyZSB0ZXN0IHJ1bnMgZHVyaW5nCgkgIHRoZSBpbml0YWwgY29uZmlndXJhdGlvbi4KCjIwMDctMTItMjEgMTg6MzIgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oOiBDT01QOiBSZW1vdmUgdW51c2VkIHBhcmFtZXRlcgoJICBvZiBtZXRob2QuCgoyMDA3LTEyLTIxIDE2OjQ2ICBpYmFuZXoKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEJVRzogRml4IGJ1ZyM1NTkwLgkgV2hlbgoJICBjb252ZXJ0aW5nIGEgcmVsYXRpdmUgcGF0aCBiZXR3ZWVuIHR3byBmdWxsIHBhdGhzIG9uIGRpZmZlcmVudAoJICB3aW5kb3dzIGRyaXZlIGxldHRlcnMgZG8gbm90IGNyZWF0ZSBhIC4uLy4uL2Q6L2Zvby9iYXIgcGF0aAoJICBhbmQganVzdAkgcmV0dXJuIHRoZSBmdWxsIHBhdGggdG8gdGhlIGRlc3RpbmF0aW9uLgoKMjAwNy0xMi0yMSAxNTowNCAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvOEdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvR2VuZXJhdG9yLmgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBFTkg6CgkgIE1ha2Ugc3RhdGljIGxpYnJhcnkgdGFyZ2V0cyBkZXBlbmQgb24gdGFyZ2V0cyB0byB3aGljaCB0aGV5CgkgICJsaW5rIiBmb3IgdGhlIHB1cnBvc2Ugb2YgYnVpbGQgb3JkZXJpbmcuICBUaGlzIG1ha2VzIHRoZSBidWlsZAoJICBvcmRlciBjb25zaXN0ZW50IGZvciBzdGF0aWMgYW5kIHNoYXJlZCBsaWJyYXJ5IGJ1aWxkcy4gIEl0IGlzCgkgIGFsc28gdXNlZnVsIHdoZW4gY3VzdG9tIGNvbW1hbmQgaW5wdXRzIG9mIG9uZSBsaWJyYXJ5IGFyZQoJICBnZW5lcmF0ZWQgYXMgY3VzdG9tIGNvbW1hbmRzIG91dHB1dHMgb2YgYW5vdGhlci4gIEl0IG1heSBiZQoJICB1c2VmdWwgaW4gdGhlIGZ1dHVyZSBmb3IgRm9ydHJhbiBtb2R1bGUgZGVwZW5kZW5jaWVzLgoJICBJbXBsZW1lbnRlZCBmb3IgTWFrZWZpbGVzLCBYY29kZSwgYW5kIFZTIDggYW5kIGFib3ZlLiAgQWRkZWQKCSAgc2FtcGxlIGNvZGUgdG8gZG8gaXQgZm9yIFZTIDcuMSBhbmQgYmVsb3csIGJ1dCBsZWZ0IGl0IGRpc2FibGVkCgkgIHdpdGggY29tbWVudHMgZXhwbGFpbmluZyB3aHkuICBMaWtlbHkgaXQgd2lsbCBuZXZlciBiZSBuZWVkZWQgb24KCSAgVlMgNy4xIG9yIGJlbG93IGFueXdheS4KCjIwMDctMTItMjEgMTM6MTAgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBCVUc6IE5vdyB0aGF0IGN1c3RvbQoJICB0YXJnZXRzIGhhdmUgZGVwZW5kZW5jaWVzIHRoZWlyIERlcGVuZEluZm8gZmlsZXMgc2hvdWxkIGJlIGxpc3RlZAoJICBpbiBNYWtlZmlsZS5jbWFrZS4KCjIwMDctMTItMjEgMTI6MjIgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwKCSAgU291cmNlL2NtTWFrZWZpbGVFeGVjdXRhYmxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21NYWtlZmlsZVV0aWxpdHlUYXJnZXRHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21ha2UuY3h4LAoJICBUZXN0cy9CdWlsZERlcGVuZHMvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0J1aWxkRGVwZW5kcy9Qcm9qZWN0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9CdWlsZERlcGVuZHMvUHJvamVjdC9kZXBfY3VzdG9tLmN4eCwKCSAgVGVzdHMvQnVpbGREZXBlbmRzL1Byb2plY3Qvem90LmN4eDogRU5IOiBBZGQgYSBkZXBlbmRzIGNoZWNrIHN0ZXAKCSAgdG8gY3VzdG9tIHRhcmdldHMuICBBZGQgc3VwcG9ydCBmb3IgdGhlIElNUExJQ0lUX0RFUEVORFMgZmVhdHVyZQoJICBvZiBjdXN0b20gY29tbWFuZHMgd2hlbiBidWlsZGluZyBpbiBjdXN0b20gdGFyZ2V0cy4gIENvbnZlcnQKCSAgbXVsdGlwbGUtb3V0cHV0IHBhaXIgY2hlY2tzIHRvIGJlIHBlci10YXJnZXQgaW5zdGVhZCBvZiBnbG9iYWwuCgoyMDA3LTEyLTIxIDExOjAwICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHg6IEJVRzogVGhlIGRlcGVuZGVuY3kKCSAgc2Nhbm5pbmcgdGFyZ2V0IHNob3VsZCBiZSBzeW1ib2xpYy4KCjIwMDctMTItMjEgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwNy0xMi0yMCAyMDo1OSAgZXdpbmcKCgkqIE1vZHVsZXMvOiBGaW5kRnJlZVR5cGUuY21ha2UsIEZpbmRHREFMLmNtYWtlLCBGaW5kR0lGTElCLmNtYWtlLAoJICBGaW5kTHVhNTAuY21ha2UsIEZpbmRMdWE1MS5jbWFrZSwgRmluZE9wZW5BTC5jbWFrZSwKCSAgRmluZE9wZW5UaHJlYWRzLmNtYWtlLCBGaW5kUGh5c0ZTLmNtYWtlLCBGaW5kUHJvZHVjZXIuY21ha2UsCgkgIEZpbmRRdWlja1RpbWUuY21ha2UsIEZpbmRTREwuY21ha2UsIEZpbmRTRExfaW1hZ2UuY21ha2UsCgkgIEZpbmRTRExfbWl4ZXIuY21ha2UsIEZpbmRTRExfbmV0LmNtYWtlLCBGaW5kU0RMX3NvdW5kLmNtYWtlLAoJICBGaW5kU0RMX3R0Zi5jbWFrZSwgRmluZG9zZy5jbWFrZSwgRmluZG9zZ0RCLmNtYWtlLAoJICBGaW5kb3NnRlguY21ha2UsIEZpbmRvc2dHQS5jbWFrZSwgRmluZG9zZ0ludHJvc3BlY3Rpb24uY21ha2UsCgkgIEZpbmRvc2dNYW5pcHVsYXRvci5jbWFrZSwgRmluZG9zZ1BhcnRpY2xlLmNtYWtlLAoJICBGaW5kb3NnUHJvZHVjZXIuY21ha2UsIEZpbmRvc2dTaGFkb3cuY21ha2UsIEZpbmRvc2dTaW0uY21ha2UsCgkgIEZpbmRvc2dUZXJyYWluLmNtYWtlLCBGaW5kb3NnVGV4dC5jbWFrZSwgRmluZG9zZ1V0aWwuY21ha2UsCgkgIEZpbmRvc2dWaWV3ZXIuY21ha2U6IEJVRzogRml4ZWQgbW9kdWxlcyB0byBzZXQgRk9PX0ZPVU5EIHdoZW4KCSAgYm90aCBoZWFkZXJzIGFuZCBsaWJyYXJpZXMgYXJlIGZvdW5kLiAgQlVHOiBGaW5kU0RMIG5vdyBoYXMgZmxhZwoJICBpdCByZXNwb25kcyB0byBzbyBpdCB3aWxsIG5vdCBmaW5kL2xpbmsgYWdhaW5zdCBTRExtYWluLiBUaGlzIGlzCgkgIHJlcXVpcmVkIHRvIGJ1aWxkIGxpYnJhcmllcyBpbnN0ZWFkIG9mIGFwcGxpY2F0aW9ucyBzaW5jZSB0aGV5CgkgIGRvbid0IGhhdmUgbWFpbigpLiAgRU5IOiBBbGwgbW9kdWxlcyBoYXZlIGEgcHJlZGljdGFibGUgc2VhcmNoCgkgIG9yZGVyLCB3aGVyZSBlbnZpcm9ubWVudGFsIHZhcmlhYmxlcyBhcmUgc2VhcmNoZWQgYmVmb3JlIHN5c3RlbQoJICBwYXRocy4gVGhpcyBpcyBkZXNpZ25lZCB0byBtYWtlIGF1dG9tYXRpb24gZWFzaWVyIGZvciB0aG9zZSB0aGF0CgkgIG5lZWQgdG8gYXV0b21hdGljYWxseSBidWlsZCBwcm9qZWN0cyB3aXRob3V0IGludGVydmVudGlvbiBidXQgbWF5CgkgIGJlIHVzaW5nIGFsdGVybmF0aXZlIGluc3RhbGwgbG9jYXRpb25zIGZvciBpc29sYXRlZCB0ZXN0aW5nLgoJICBFTkg6IE5ldyBtb2R1bGVzIGZvciBPcGVuU2NlbmVHcmFwaCwgRnJlZXR5cGUsIEdEQUwsIEx1YSwKCSAgUXVpY2tUaW1lLCBHSUZMSUIsIFByb2R1Y2VyLCBPcGVuVGhyZWFkcy4gIFNUWUxFOiBBZGRlZAoJICBkb2N1bWVudGF0aW9uIGV4cGxhaW5pbmcgcGVjdWx1YXIgU0RMX0xJQlJBUllfVEVNUCB2YXJpYWJsZSBpbgoJICBTREwJbW9kdWxlIHdoZW4gbGlicmFyeSBmaW5kIGlzIGluY29tcGxldGUuCgoyMDA3LTEyLTIwIDE3OjQ5ICBhbGV4CgoJKiBTb3VyY2UvOiBjbUF1eFNvdXJjZURpcmVjdG9yeUNvbW1hbmQuaCwgY21CdWlsZENvbW1hbmQuaCwKCSAgY21DcmVhdGVUZXN0U291cmNlTGlzdC5oLCBjbUV4cG9ydENvbW1hbmQuaCwKCSAgY21FeHBvcnRMaWJyYXJ5RGVwZW5kZW5jaWVzLmgsIGNtT3B0aW9uQ29tbWFuZC5oLCBjbVNldENvbW1hbmQuaDoKCSAgU1RZTEU6IG1ha2UgZm9ybWF0dGluZyBvZiBoZWxwIGEgYml0IG1vcmUgY29uc2lzdGVudAoKCSAgQWxleAoKMjAwNy0xMi0yMCAxMDowNSAgbWFydGluawoKCSogU291cmNlL2NtRnVuY3Rpb25Db21tYW5kLmN4eDogQlVHOiBmaXggaXNzdWUgd2l0aAoJICBDTUFLRV9DVVJFTlRfTElTVF9GSUxFIHJlcG9ydGluZyBpbiBmdW5jaXRvbnMKCjIwMDctMTItMjAgMDk6MzUgIGtpbmcKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmg6IENPTVA6IEZpeGVkIGVycm9yIG9uIEhQIGR1ZSB0byBuZXdsaW5lCgkgIG1hY3JvLgoKMjAwNy0xMi0yMCAwOToyNyAga2luZwoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBDT01QOiBGaXhlZCBkYXRhIGxvc3Mgd2FybmluZy4KCjIwMDctMTItMjAgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwNy0xMi0xOSAxNzo1NCAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBGaXggbWFrZSBkZXBlbmQKCSAgdGFyZ2V0IGluIHN1YmRpcmVjdG9yeSBNYWtlZmlsZSBpbnRlcmZhY2UuCgoyMDA3LTEyLTE5IDE3OjE1ICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsR2VuZXJhdG9yLmgsIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwgY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmgsIGNtYWtlLmN4eDogRU5IOiBFbmFibGVkIGNvbG9yCgkgIHByaW50aW5nIG9mICJTY2FubmluZyBkZXBlbmRlbmNpZXMgb2YgdGFyZ2V0IC4uLiIgbWVzc2FnZS4KCjIwMDctMTItMTkgMTY6NTMgIGFsZXgKCgkqIFNvdXJjZS9jbU9wdGlvbkNvbW1hbmQuaDogRU5IOiBvcHRpb25zKCkgaXMgbm93IHNjcmlwdGFibGUsIHNldCgpCgkgIGlzIHNjcmlwdGFibGUgdG9vLCBJIGRvbid0IHNlZSBhIGJpZyBkaWZmZXJlbmNlCgoJICBBbGV4CgoyMDA3LTEyLTE5IDE2OjQ4ICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEVOSDogIEJldHRlciBRVDRfRVhUUkFDVF9PUFRJT05TIG1hY3JvLgoKMjAwNy0xMi0xOSAxNjo0NiAgYWxleAoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBTVFlMRTogbmljZXIgZXJyb3IgbWVzc2FnZTogIkNvbW1hbmQKCSAgb3B0aW9ucygpIGlzIG5vdCBzY3JpcHRhYmxlIiBpcyBJTU8gYmV0dGVyIHRvIHVuZGVyc3RhbmQgdGhhbgoJICAiQ29tbWFuZCBvcHRpb25zIG5vdCBzY3JpcHRhYmxlIiAod2l0aCBhbGwgdXBwZXJjYXNlIGNvbW1hbmRzIGl0CgkgIHdhcyBlYXNpZXIgdG8gc2VlKQoKCSAgQWxleAoKMjAwNy0xMi0xOSAxNjozNiAga2luZwoKCSogU291cmNlLzogY21EZXBlbmRzLmN4eCwgY21EZXBlbmRzLmgsIGNtTG9jYWxHZW5lcmF0b3IuaCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLCBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21ha2UuY3h4OiBFTkg6IE1vdmVkIGRlcGVuZGVuY3kgaW50ZWdyaXR5IGNoZWNrIGZyb20KCSAgQ2hlY2tCdWlsZFN5c3RlbSBvdmVyIHRvIGEgcGVyLXRhcmdldCBVcGRhdGVEZXBlbmRlbmNpZXMgc3RlcC4KCSAgVGhpcyBncmVhdGx5IHJlZHVjZXMgdGhlIHN0YXJ0dXAgdGltZSBmb3IgbWFrZSBwcm9jZXNzZXMgYW5kCgkgIGFsbG93cyBpbmRpdmlkdWFsIHRhcmdldHMgdG8gYmUgYnVpbHQgd2l0aG91dCBhIGdsb2JhbCBkZXBlbmRlbmN5CgkgIGNoZWNrLgoKMjAwNy0xMi0xOSAxNjozNSAga2luZwoKCSogU291cmNlL2NtRGVwZW5kc0ZvcnRyYW4uY3h4OiBCVUc6IGNtRGVwZW5kc0ZvcnRyYW4gc2hvdWxkIHN0b3JlCgkgIHRoZSBzb3VyY2UgZmlsZSBhcyBhIGRlcGVuZGVuY3kgb2YgdGhlIG9iamVjdCBmaWxlIHdoZW4gc2Nhbm5pbmcKCSAgZm9yIGRlcGVuZGVuY2llcy4KCjIwMDctMTItMTkgMTQ6MjggIGtpbmcKCgkqIFNvdXJjZS86IGNtRGVwZW5kc0ZvcnRyYW4uY3h4LCBjbURlcGVuZHNGb3J0cmFuLmgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogRU5IOiBQYXNzIHRhcmdldCBkaXJlY3RvcnkgdG8KCSAgY21EZXBlbmRzRm9ydHJhbiBzY2FubmluZyBpbnN0YW5jZXMuCgoyMDA3LTEyLTE5IDExOjUxICBraW5nCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IEltcHJvdmVkIHNwZWVkIG9mIGNtYWtlOjpDaGVja0J1aWxkU3lzdGVtCgkgIHdoZW4gY2hlY2tpbmcgYnVpbGQgc3lzdGVtIG91dHB1dHMgdmVyc3VzIGRlcGVuZGVuY2llcy4gIEluc3RlYWQKCSAgb2YgZG9pbmcgYW4gTyhtKm4pIGNvbXBhcmlzb24gb2YgZXZlcnkgcGFpciwganVzdCBsb2NhdGUgdGhlCgkgIG9sZGVzdCBvdXRwdXQgYW5kIHRoZSBuZXdlc3QgaW5wdXQgYW5kIGNvbXBhcmUgdGhlbSB3aGljaCBpcyBub3cKCSAgTyhtK24pLgoKMjAwNy0xMi0xOSAxMTowNiAga2luZwoKCSogU291cmNlL2NtRmluZEJhc2UuY3h4LCBUZXN0cy9GaW5kUGFja2FnZVRlc3QvQ01ha2VMaXN0cy50eHQ6IEVOSDoKCSAgUmVuYW1lZCBDTUFLRV9GSU5EX1BSRUZJWF9QQVRIIHRvIENNQUtFX1BSRUZJWF9QQVRIIGZvciBicmV2aXR5CgkgIGFuZCBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIGZpbmQgcGF0aCB2YXJpYWJsZSBuYW1lcy4KCjIwMDctMTItMTkgMTA6NDMgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTGlzdENvbW1hbmQuY3h4LCBjbUxpc3RDb21tYW5kLmg6IEVOSDogbWVyZ2UgaW4gbGlzdAoJICBmaW5kIHRvIHN1cHBvcnQgRmluZHF0CgoyMDA3LTEyLTE5IDEwOjM0ICBraW5nCgoJKiBTb3VyY2UvY21GaW5kQmFzZS5jeHg6IEVOSDogQWRkZWQgQ01BS0VfU1lTVEVNX1BSRUZJWF9QQVRICgkgIHZhcmlhYmxlLgoKMjAwNy0xMi0xOSAwMzo1NiAgYWxleAoKCSogU291cmNlLzogY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmgsIGNtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsR2VuZXJhdG9yLmg6CgkgIFNUWUxFOiBmaXggd2FybmluZ3M6IGNvbXBhcmlzb24gc2lnbmVkL3Vuc2lnbmVkLCB1bnVzZWQgdmFyaWFibGUKCgkgIEFsZXgKCjIwMDctMTItMTkgMDM6NTUgIGFsZXgKCgkqIE1vZHVsZXMvQ01ha2VGaW5kQmluVXRpbHMuY21ha2U6CgkgIEJVRzogbWFrZSBDTUFLRV9VU0VfQ0hSUEFUSCBhIHNpbXBsZSB2YXJpYWJsZSBpbnN0ZWFkIGFuIG9wdGlvbiwKCSAgc2luY2UgYW4gb3B0aW9uIGlzIG5vdCBzY3JpcHRhYmxlIGFuZCBzbyBicmVha3MgdGhlIHRvb2xjaGFpbgoJICB0ZXN0IG9yIG1heWJlIG9wdGlvbigpIHNob3VsZCBiZSBtYWRlIHNjcmlwdGFibGUgPwoKCSAgQWxleAoKMjAwNy0xMi0xOSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA3LTEyLTE4IDE3OjUwICBhbGV4CgoJKiBNb2R1bGVzL0NNYWtlRmluZEJpblV0aWxzLmNtYWtlLAoJICBTb3VyY2UvY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5oLCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmgsIFNvdXJjZS9jbVRhcmdldC5jeHgsCgkgIFNvdXJjZS9jbVRhcmdldC5oOiBFTkg6IGFkZCBzdXBwb3J0IGZvciBjaHJwYXRoLCBzbyB0aGUgUlBBVEggaW4KCSAgRUxGIGZpbGVzIGNhbiBiZSBjaGFuZ2VkIHdoZW4gaW5zdGFsbGluZyB3aXRob3V0IGhhdmluZyB0byBsaW5rCgkgIHRoZSB0YXJnZXQgYWdhaW4gLT4gY2FuIHNhdmUgYSBsb3Qgb2YgdGltZQoKCSAgY2hycGF0aCBpcyBoYW5kbGVkIHZlcnkgc2ltaWxhciB0byBpbnN0YWxsX25hbWVfdG9vbCBvbiB0aGUgbWFjLgoJICBJZiB0aGUgUlBBVEggaW4gdGhlIGJ1aWxkIHRyZWUgZmlsZSBpcyB0byBzaG9ydCwgaXQgaXMgcGFkZGVkCgkgIHVzaW5nIHRoZSBzZXBhcmF0b3IgY2hhcmFjdGVyLiAgVGhpcyBpcyBjdXJyZW50bHkgZGlzYWJsZWQgYnkKCSAgZGVmYXVsdCwgaXQgY2FuIGJlIGVuYWJsZWQgdXNpbmcgdGhlIG9wdGlvbiBDTUFLRV9VU0VfQ0hSUEFUSC4KCSAgVGhlcmUgYXJlIGFkZGl0aW9uYWwgY2hlY2tzIHdoZXRoZXIgaXQgaXMgc2FmZSB0byBlbmFibGUgaXQuIEkKCSAgd2lsbCByZXdvcmsgdGhlbSBhbmQgdXNlIEZJTEUoUkVBRCkgaW5zdGVhZCB0byBkZXRlY3Qgd2hldGhlciB0aGUKCSAgYmluYXJpZXMgYXJlIGFjdHVhbGx5IEVMRiBmaWxlcy4KCgkgIGNocnBhdGggaXMgYXZhaWxhYmxlIGhlcmUKCSAgaHR0cDovL3d3dy50dXgub3JnL3B1Yi9YLVdpbmRvd3MvZnRwLmh1bmdyeS5jb20vY2hycGF0aC8gb3Iga2RlCgkgIHN2biAoc2luY2UgYSBmZXcgZGF5cyk6CgkgIGh0dHA6Ly93ZWJzdm4ua2RlLm9yZy90cnVuay9rZGVzdXBwb3J0L2NocnBhdGgvCgoJICBBbGV4CgoyMDA3LTEyLTE4IDE1OjU4ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFZpc3VhbFN0dWRpbzlHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzlHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW85V2luNjRHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzlXaW42NEdlbmVyYXRvci5oOiBFTkg6IG1lcmdlIGZyb20gbWFpbiB0cmVlCgoyMDA3LTEyLTE4IDE1OjAyICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwgTW9kdWxlcy9GaW5kUGtnQ29uZmlnLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL0xpbnV4LWlmb3J0LmNtYWtlLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLCBTb3VyY2UvY21ha2UuY3h4LAoJICBVdGlsaXRpZXMvY210YXIvZW5jb2RlLmM6IEVOSDogbWVyZ2UgaW4gZnJvbSBtYWluIHRyZWUKCjIwMDctMTItMTggMTQ6NTAgIGNsaW50b24KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogRU5IOiBzaG91bGQgZGVmaW5lIFFUX0RMTCBpbnN0ZWFkIG9mCgkgIFFUX1NIQVJFRAoKMjAwNy0xMi0xOCAxMzowNSAgY2xpbnRvbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOiBFTkg6ICBJbXByb3ZlIGRvY3VtZW50YXRpb24gb2YgbmV3CgkgIGZlYXR1cmVzLgoKMjAwNy0xMi0xOCAxMDowMiAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kQm9vc3QuY21ha2U6IEJVRzogZml4IGZvciBidWcgNTQ2NCBiZXR0ZXIgZmluZCBib29zdAoJICBmb3Igd2luZG93cwoKMjAwNy0xMi0xOCAwOTo1NyAgaG9mZm1hbgoKCSogU291cmNlL2NtR2V0U291cmNlRmlsZVByb3BlcnR5Q29tbWFuZC5jeHgsCgkgIFRlc3RzL0NPbmx5L0NNYWtlTGlzdHMudHh0OiBCVUc6IGZpeCBmb3IgYnVnIDYxNzIgYWRkIGdldCBzb3VyY2UKCSAgZmlsZSBwcm9wIExBTkdVQUdFCgoyMDA3LTEyLTE4IDA5OjUwICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBUZXN0cy9DdXN0b21Db21tYW5kL0NNYWtlTGlzdHMudHh0OiBFTkg6IEltcGxlbWVudGVkIGdlbmVyYXRpb24KCSAgb2YgZGlzcGxheSBmb3IgcHJlLWJ1aWxkLCBwcmUtbGluaywgYW5kIHBvc3QtYnVpbGQgY3VzdG9tIGNvbW1hbmQKCSAgY29tbWVudHMgZHVyaW5nIHRoZSBidWlsZC4gIFRoaXMgYWRkcmVzc2VzIGlzc3VlICM1MzUzLgoKMjAwNy0xMi0xOCAwODo1MyAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvOEdlbmVyYXRvci5jeHg6IFNUWUxFOiBmaXggbGluZSBsZW4KCjIwMDctMTItMTggMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwNy0xMi0xNyAyMTozNyAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kUGtnQ29uZmlnLmNtYWtlOiBCVUc6IGZpeCBmb3IgNTcyMgoKMjAwNy0xMi0xNyAxOTo0OCAga2luZwoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBCVUc6IFJlbW92ZSBzdHJheSBkZWJ1Z2dpbmcKCSAgbWVzc2FnZS4KCjIwMDctMTItMTcgMTg6MzggIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvR2VuZXJhdG9yLmN4eDogQlVHOiBXaGVuIHRoZSB3b3JraW5nCgkgIGRpcmVjdG9yeSBmb3IgYSBjdXN0b20gY29tbWFuZCBpcyBvbiBhbm90aGVyIGRyaXZlIGxldHRlciB3ZSBuZWVkCgkgIHRvIGNoYW5nZSB0byB0aGF0IGRyaXZlIGxldHRlciBhZnRlciBjaGFuZ2luZyBpdHMgd29ya2luZwoJICBkaXJlY3RvcnkuICBGaXhlcyBpc3N1ZSAjNjE1MC4KCjIwMDctMTItMTcgMTc6NTcgIGhvZmZtYW4KCgkqIE1vZHVsZXMvVGVzdEZvckFOU0lGb3JTY29wZS5jbWFrZTogU1RZTEU6IGZpeCBkb2Mgc3RyaW5nCgoyMDA3LTEyLTE3IDE3OjU1ICBraW5nCgoJKiBTb3VyY2UvOiBjbURlcGVuZHNGb3J0cmFuUGFyc2VyLmN4eCwgY21EZXBlbmRzRm9ydHJhblBhcnNlci55OgoJICBCVUc6IEZpeGVkIG1lbW9yeS1sZWFrcyBpbiBmb3J0cmFuIHBhcnNlci4KCjIwMDctMTItMTcgMTc6NTUgIGtpbmcKCgkqIFNvdXJjZS86IGNtRGVwZW5kc0ZvcnRyYW5QYXJzZXIuY3h4LCBjbURlcGVuZHNGb3J0cmFuUGFyc2VyLnk6CgkgIEJVRzogRml4IHBhcnNpbmcgb2YgI2luY2x1ZGUgcHJlcHJvY2Vzc29yIGRpcmVjdGl2ZXMuCgoyMDA3LTEyLTE3IDE3OjU0ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBFTkg6IEZvcnRyYW4gaW5jbHVkZQoJICBwYXRoIGlzIHRoZSBzYW1lIGFzIEMgYW5kIENYWCBpbmNsdWRlIHBhdGhzLgoKMjAwNy0xMi0xNyAxNzo1MCAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL2NtdGFyL2VuY29kZS5jOiBCVUc6IGZpeCBmb3IgYnVnIDU4MzcsIGxpYnRhciBhbmQgbG9uZwoJICBwYXRoIG5hbWVzCgoyMDA3LTEyLTE3IDE3OjQwICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwgTW9kdWxlcy9GaW5kUGtnQ29uZmlnLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRRdDMuY21ha2UsIE1vZHVsZXMvRmluZFF0NC5jbWFrZSwKCSAgTW9kdWxlcy9Vc2VRdDQuY21ha2UsIFNvdXJjZS9jbURlcGVuZHNGb3J0cmFuLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbENvbW1hbmQuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbWFrZS5jeHgsIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHgsCgkgIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5oeHguaW4sCgkgIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5oeHguaW4uYmFrOiBFTkg6IG1vdmUgY2hhbmdlcyBmcm9tIG1haW4KCSAgdHJlZQoKMjAwNy0xMi0xNyAxNzoyOCAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvOEdlbmVyYXRvci5jeHg6IEJVRzogZml4IGZvciBidWcgNTkzMQoJICBhZGQgc29tZSBtb3JlIGZsYWdzIGZvciB0aGUgZ3VpCgoyMDA3LTEyLTE3IDE3OjIyICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRKTkkuY21ha2U6IEJVRzogZml4IGZvciA1OTMzLCBsb29rIGZvciBqYXZhIGluIG1vcmUKCSAgcmVnIGVudHJpZXMKCjIwMDctMTItMTcgMTc6MDUgIGFsZXgKCgkqIE1vZHVsZXMvQ1Rlc3QuY21ha2U6IFNUWUxFOiB1c2UgSUYoTk9UICkgaW5zdGVhZCBvZiBJRigpIEVMU0UoKQoJICB3aXRoIGVtcHR5IElGKCkgYnJhbmNoCgoJICBBbGV4CgoyMDA3LTEyLTE3IDE2OjE1ICBhbGV4CgoJKiBEb2NzL2NtYWtlLXN5bnRheC52aW06IFNUWUxFOiBhcHBseSBwYXRjaCBmcm9tICM2MTY2LCBiZXR0ZXIKCSAgY21ha2Ugc3ludGF4IGhpZ2hsaWdodGluZyBpbiB2aW0sIHNlZW1zIHRvIGZpeCB0aGUgaXNzdWVzCgkgIG1lbnRpb25lZCBpbiB0aGUgYnVnIHJlcG9ydCBhbmQgdGhlIHJlc3QgYWxzbyBzdGlsbCBzZWVtcyB0byBiZQoJICBvawoKCSAgQWxleAoKMjAwNy0xMi0xNyAxNToyNyAgaG9mZm1hbgoKCSogU291cmNlL0NQYWNrL2NtQ1BhY2tQYWNrYWdlTWFrZXJHZW5lcmF0b3IuY3h4OiBFTkg6IHRyeSB0byBmaXgKCSAgZGFzaGJvYXJkCgoyMDA3LTEyLTE3IDE1OjIwICBraW5nCgoJKiBTb3VyY2UvY21JbnN0YWxsQ29tbWFuZC5jeHg6IEJVRzogQXBwbHkgcGF0Y2ggZnJvbSBpc3N1ZSAjNjAwNi4KCjIwMDctMTItMTcgMTQ6NDMgIGhvZmZtYW4KCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUdsb2JhbFZpc3VhbFN0dWRpbzlXaW42NEdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvOVdpbjY0R2VuZXJhdG9yLmgsIGNtYWtlLmN4eDogRU5IOiBhZGQKCSAgc3VwcG9ydCBmb3IgdnMgOSB3aW42NAoKMjAwNy0xMi0xNyAxMjowNCAgaG9mZm1hbgoKCSogTW9kdWxlcy86IENNYWtlQ0luZm9ybWF0aW9uLmNtYWtlLCBDTWFrZUNYWEluZm9ybWF0aW9uLmNtYWtlLAoJICBDTWFrZUZvcnRyYW5JbmZvcm1hdGlvbi5jbWFrZTogQlVHOiBmaXggZm9yIGJ1ZyA2MTY3IGdldCByaWQgb2YKCSAgZXh0cmEgc3BhY2UgaW4gZmxhZ3MKCjIwMDctMTItMTcgMTA6MTIgIGtpbmcKCgkqIFNvdXJjZS9jbVRhcmdldC5jeHgsIFRlc3RzL1Byb3BlcnRpZXMvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkZWQKCSAgU09VUkNFUyBwcm9wZXJ0eSB0byB0YXJnZXRzLglUaGlzIGlzIGJhc2VkIG9uIHBhdGNoIGZyb20gaXNzdWVzCgkgICM2MTM3LgoKMjAwNy0xMi0xNyAxMDoxMiAga2luZwoKCSogU291cmNlLzogY21Tb3VyY2VGaWxlLmN4eCwgY21Tb3VyY2VGaWxlLmg6IEVOSDogQWRkZWQKCSAgY21Tb3VyY2VGaWxlOjpHZXRMb2NhdGlvbiBtZXRob2QgdG8gZ2V0IGEgcmVhZC1vbmx5IHJlZmVyZW5jZSB0bwoJICB0aGUgTG9jYXRpb24gaXZhci4gIFRoaXMgcGFydGlhbGx5IGFkZHJlc3NlcyBpc3N1ZSAjNjEzNy4KCjIwMDctMTItMTcgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwNy0xMi0xNiAwNzo1NiAgYWxleAoKCSogU291cmNlL2NtU3RyaW5nQ29tbWFuZC5jeHg6IEJVRzogZml4IFNUUklORyhTVFJJUCAuLi4pIGlmIG5vCgkgIG5vbi1zcGFjZSBpcyBjb250YWluZWQgaW4gdGhlIGlucHV0IHN0cmluZywgdGhpcyBzaG91bGQgZml4IHRoZQoJICBkYXNoYm9hcmQKCgkgIEFsZXgKCjIwMDctMTItMTYgMDU6NDkgIGFsZXgKCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogU1RZTEU6IHNvbWUgd2hpdGVzcGFjZSBzeW5jaW5nIHdpdGgKCSAgRmluZFF0NC5jbWFrZSBpbiBLREUgc3ZuCgoJICBBbGV4CgoyMDA3LTEyLTE2IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDctMTItMTUgMTY6MDMgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDb21waWxlcklkLmNtYWtlOiBCVUc6IE5lZWQgdG8gc3RyaXAKCSAgbGVhZGluZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZSBvZmYgdGhlIGNvbXBpbGVyICdBUkcxJy4gIFRoaXMKCSAgZml4ZXMgYnVnIzYxNDEuCgoyMDA3LTEyLTE1IDE1OjM2ICBraW5nCgoJKiBUZXN0cy9Gb3J0cmFuLzogQ01ha2VMaXN0cy50eHQsIExpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIExpYnJhcnkvYS5mOTAsIExpYnJhcnkvYi5mOTAsIExpYnJhcnkvbWFpbi5mOTA6IEVOSDogQWRkZWQgdGVzdAoJICBmb3IgRm9ydHJhbjkwIG1vZHVsZXMgaW4gc3ViZGlyZWN0b3JpZXMuCgoyMDA3LTEyLTE1IDE1OjM1ICBraW5nCgoJKiBTb3VyY2UvY21EZXBlbmRzRm9ydHJhbi5jeHg6IEVOSDogTWFrZSBtb2R1bGUgdGltZXN0YW1wcyB3b3JrIGZvcgoJICBtb2R1bGVzIGluIHN1YmRpcmVjdG9yaWVzLiAgTWFrZSBzdXJlIHRpbWVzdGFtcHMgZm9yIGFsbCBtb2R1bGVzCgkgIHByb3ZpZGVkIGJ5IGEgdGFyZ2V0IGFyZSBjcmVhdGVkIHdoZW4gdGhlIHRhcmdldCBpcyBkb25lCgkgIGJ1aWxkaW5nLgoKMjAwNy0xMi0xNSAxNDoxNiAga2luZwoKCSogU291cmNlLzogY21GaW5kUGFja2FnZUNvbW1hbmQuY3h4LCBjbUZpbmRQYWNrYWdlQ29tbWFuZC5oOiBTVFlMRToKCSAgUmVtb3ZlZCB0cmFpbGluZyB3aGl0ZXNwYWNlLgoKMjAwNy0xMi0xNSAxNDoxNCAga2luZwoKCSogU291cmNlL2NtRmluZEJhc2UuY3h4OiBTVFlMRTogRml4ZWQgdGVybWlub2xvZ3kgdG8gYXZvaWQKCSAgY29uZnVzaW9uIGJldHdlZW4gcm9vdHMgYW5kIHByZWZpeGVzLgoKMjAwNy0xMi0xNSAxNDoxMyAga2luZwoKCSogU291cmNlL2NtYWtlLmN4eDogU1RZTEU6IEZpeGVkIGxpbmUtdG9vLWxvbmcuCgoyMDA3LTEyLTE1IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDctMTItMTQgMjA6NDYgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtRmluZExpYnJhcnlDb21tYW5kLmN4eCwgY21GaW5kUGF0aENvbW1hbmQuY3h4OiBCVUc6CgkgIGZpeCBmb3IgYnVnIDYwMzkgTElCIGFuZCBJTkNMVURFIG5vdCB1c2VkIGZvciBmaW5kIHN0dWZmCgoyMDA3LTEyLTE0IDIwOjMxICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbURlcGVuZHNDLmN4eCwgY21EZXBlbmRzRm9ydHJhbi5jeHgsIGNtTWFrZURlcGVuZC5jeHgsCgkgIGt3c3lzL1N5c3RlbVRvb2xzLmN4eCwga3dzeXMvU3lzdGVtVG9vbHMuaHh4LmluOiBCVUc6IGZpeCBmb3IgYnVnCgkgIDYxMzYgbWFrZSBzdXJlIGluY2x1ZGVzIGFyZSBub3QgZGlyZWN0b3JpZXMKCjIwMDctMTItMTQgMTY6NTYgIGNsaW50b24KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogRU5IOiAgQWRkIE9QVElPTlMgYXJndW1lbnQgdG8gc29tZSBRdDQKCSAgbWFjcm9zLgkgQWRkcmVzc2VzICM2MTI1LgoKMjAwNy0xMi0xNCAxNTo1MCAgaG9mZm1hbgoKCSogU291cmNlL2NtTGlzdENvbW1hbmQuaDogQlVHOiBmaXggYnVnIDYwODEKCjIwMDctMTItMTQgMTQ6NTggIGhvZmZtYW4KCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrTlNJU0dlbmVyYXRvci5jeHg6IEJVRzogZml4IGZvciA2MDg2CgkgIHVuaW5zdGFsbCBpY29uIG5vdCBzZXQgcmlnaHQKCjIwMDctMTItMTQgMTI6NTEgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFBrZ0NvbmZpZy5jbWFrZTogQlVHOiBmaXggZm9yIDYxMTcsIGZpeCBmb3Igc2Vjb25kCgkgIHJ1bgoKMjAwNy0xMi0xNCAxMjo0OSAgaG9mZm1hbgoKCSogU291cmNlL2NtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuaDogU1RZTEU6IGxpbmUgbGVuZ3RoCgoyMDA3LTEyLTE0IDExOjAwICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvY21jdXJsL2N1cmwvbXByaW50Zi5oOiBCVUc6IGZpeCBmb3IgYnVnIDYwNTQgcmVtb3ZlCgkgIHNvbWUgd2FybmluZ3MKCjIwMDctMTItMTQgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwNy0xMi0xMyAxODozMCAga2luZwoKCSogU291cmNlL2NtYWtlLmN4eDogQ09NUDogQWRkIG1pc3NpbmcgcmV0dXJuIHZhbHVlIGZyb20gQmlsbCdzCgkgIGNoYW5nZS4KCjIwMDctMTItMTMgMTc6NTYgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0LmgsIGNtRHVtcERvY3VtZW50YXRpb24uY3h4LAoJICBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oLCBjbWFrZS5jeHgsIGNtYWtlLmgsCgkgIGNtYWtlbWFpbi5jeHgsIGN0ZXN0LmN4eCwgQ1BhY2svY3BhY2suY3h4LAoJICBDVGVzdC9jbUNUZXN0U2NyaXB0SGFuZGxlci5jeHgsIEN1cnNlc0RpYWxvZy9jY21ha2UuY3h4LAoJICBRdERpYWxvZy9DTWFrZVNldHVwLmN4eDogRU5IOiBDZW50cmFsaXplZCBhbmQgZ2xvYmFsaXplZAoJICBjb21wdXRhdGlvbiBvZiBDTWFrZSBwcm9ncmFtIGxvY2F0aW9ucy4gIFRoaXMgZWxpbWluYXRlcyBzdGFydHVwCgkgIHBhdGhzIHRoYXQgZmFpbGVkIHRvIHByb2R1Y2UgdGhpcyBpbmZvcm1hdGlvbi4KCjIwMDctMTItMTMgMTc6MzkgIGtpbmcKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEJVRzogRml4ZWQgdHlwbyBpbnRyb2R1Y2VkIGJ5IHByZXZpb3VzIGNvbW1pdC4KCjIwMDctMTItMTMgMTU6NTQgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LCBjbWFrZS5jeHgsIGNtYWtlLmg6IEVOSDogZml4IGZvcgoJICBidWcgNjEwMiwgYWxsb3cgdXNlcnMgdG8gY2hhbmdlIHRoZSBjb21waWxlcgoKMjAwNy0xMi0xMyAxNTo0MiAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogU1RZTEU6IGZpeCBpbmRlbnQKCjIwMDctMTItMTMgMTU6NDEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNyZWF0ZVRlc3RTb3VyY2VMaXN0Lmg6IEVOSDogZml4IGRvY3MKCjIwMDctMTItMTMgMTU6MTEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbWFrZW1haW4uY3h4OiBFTkg6IGZpeCBkb2NzCgoyMDA3LTEyLTEzIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDctMTItMTIgMTM6MjUgIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy9DTWFrZVNldHVwRGlhbG9nLmN4eDogQlVHOiAgRml4IGxvZ2ljIHRvIGFjY2VwdAoJICBkcm9wIGV2ZW50cy4KCjIwMDctMTItMTIgMDc6MjYgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFBlcmxMaWJzLmNtYWtlOiBCVUc6ICBGaXggYnVnIDYxMDYgRmluZFBlcmxMaWJzLmNtYWtlCgkgIG1pc3NpbmcgZXNjYXBlZCAkCgoyMDA3LTEyLTEyIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDctMTItMTEgMjI6MjggIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLCBNb2R1bGVzL0ZpbmRKTkkuY21ha2UsCgkgIE1vZHVsZXMvRmluZFBlcmxMaWJzLmNtYWtlLAoJICBNb2R1bGVzL0luc3RhbGxSZXF1aXJlZFN5c3RlbUxpYnJhcmllcy5jbWFrZSwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbVRyeUNvbXBpbGVDb21tYW5kLmN4eDogRU5IOiBjaGFuZ2VzIGZvciBSQzUKCjIwMDctMTItMTEgMTI6NTcgIGNsaW50b24KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogRU5IOiAgQ29ycmVjdGx5IGZpbmQgVWlUb29scyBsaWJyYXJ5IG9uCgkgIE1hYyB3LyBiaW5hcnkgaW5zdGFsbCBvZiBRdC4JICAgICAgRml4ZXMgIzQ1NTQuCgoyMDA3LTEyLTExIDExOjM2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBDTWFrZUxpc3RzLnR4dCwgU3RyaW5nLmMsIFN0cmluZy5oLmluOiBFTkg6IEFkZGVkCgkgIEMgU3RyaW5nIHV0aWxpdGllcyB0byBLV1N5cy4JSW1wbGVtZW50ZWQgc3RyY2FzZWNtcCBhbmQKCSAgc3RybmNhc2VjbXAuCgoyMDA3LTEyLTExIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDctMTItMTAgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwNy0xMi0wOSAxOTo1OCAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmg6IFNUWUxFOiBmaXggbGluZSBsZW4gZXJyb3IKCjIwMDctMTItMDkgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwNy0xMi0wOCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA3LTEyLTA3IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDctMTItMDYgMjI6MzggIGhvZmZtYW4KCgkqIFRlc3RzL0NPbmx5L0NNYWtlTGlzdHMudHh0OiBFTkg6IGNoYW5nZSB0byBsaWJzIHRoYXQgYXJlIG5vdCByZWFsCgoyMDA3LTEyLTA2IDE2OjQzICBwcHBlYmF5CgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBCVUc6IGZpeGVkIGFuIGluY29tcGxldGUgcmVnZXhwCgoyMDA3LTEyLTA2IDE0OjA3ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvQ01ha2VTZXR1cERpYWxvZy5jeHg6IEJVRzogIFByZXZlbnQgbWFwcGluZyBvZgoJICBDb25maWd1cmUgdG8gUHJlZmVyZW5jZXMgd2hlbiBRdCBtZXJnZXMgbWVudSBpdGVtcyB3aXRoCXRoZQoJICBzdGFuZGFyZCBNYWMgT1MgWCBhcHBsaWNhdGlvbiBtZW51LgoKMjAwNy0xMi0wNiAwOTo1NiAgaG9mZm1hbgoKCSogU291cmNlL2NtQ29yZVRyeUNvbXBpbGUuY3h4OiBFTkg6IGZvciB0cnkgY29tcGlsZSBkbyBub3QgcHV0IHRoZQoJICBydWxlcyB0byByZWJ1aWxkIHRoZSBwcm9qZWN0IHdpdGggY21ha2UgaW5zaWRlIGl0LiAgVGhpcyBoYXMKCSAgY2F1c2VkIGluZmluaXRlIGxvb3BzIG9mIGJ1aWxkcyBpbiBzb21lIGNhc2VzLCBhbmQgaXQgaXMganVzdCBhCgkgIHdhc3RlIG9mIHRpbWUgYW55d2F5LgoKMjAwNy0xMi0wNiAwODo0MCAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsCgkgIFRlc3RzL0NPbmx5L0NNYWtlTGlzdHMudHh0OiBCVUc6IGZpeCBmb3IgYnVnIDU0NTUsIGhhbmRsZQoJICBub2RlZmF1bHRsaWIgd2l0aCBtb3JlIHRoYW4gb25lIGxpYgoKMjAwNy0xMi0wNiAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA3LTEyLTA1IDEzOjEzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBDT01QOiBSZW1vdmUgcmVmZXJlbmNlIHRvIHZ0a3N5cy4KCSAgVGhlIHVubWFuZ2xlZCBrd3N5cyBuYW1lIHNob3VsZCBiZSB1c2VkIGluIHRoaXMgc291cmNlLgoKMjAwNy0xMi0wNSAxMjoyNCAgcHBwZWJheQoKCSogU291cmNlL2t3c3lzLzogU3lzdGVtVG9vbHMuY3h4LCBTeXN0ZW1Ub29scy5oeHguaW46IEVOSDogYWRkZWQKCSAgdHdvIGZ1bmN0aW9ucyBmb3IgVVJMIHBhcnNpbmc6ICAgICAgMS4gYW4gImFicmlkZ2VkIiB2ZXJzaW9uIHRoYXQKCSAgc2VwYXJhdGVzIHByb3RvY29sIGZyb20gZGF0YWdsb20gaW4JICAgICAgYW4gZXhwcmVzc2lvbiB3aXRoCgkgIHRoZSBmb3JtIHByb3RvY29sOi8vZGF0YWdsb20JICAgIDIuIGEgImZ1bGwiIHZlcnNpb24gdGhhdCBwYXJzZXMKCSAgcHJvdG9jb2wsIHVzZXJuYW1lLCBwYXNzd29yZCwgCWhvc3RuYW1lLCBwb3J0LCBhbmQgcGF0aCBpbgoJICBhIHN0YW5kYXJkIFVSTCAoYWxsIG9mIHRoZXNlIHZhcmlhYmxlcwkgYXJlIG9wdGlvbmFsLAoJICBleGNlcHQgZm9yIHByb3RvY29sIGFuZCBob3N0bmFtZSkuCgoyMDA3LTEyLTA1IDEwOjQwICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dDogRU5IOiBtb3ZlIHVwIHRvIHJjIDQKCjIwMDctMTItMDUgMTA6NDAgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWwsIE1vZHVsZXMvTlNJUy50ZW1wbGF0ZS5pbjogRU5IOiBtb3ZlIGZpeCBmb3IKCSAgbnNpcyB0byBicmFuY2gKCjIwMDctMTItMDUgMDk6MTcgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbURlcGVuZHNGb3J0cmFuLmN4eDogU1RZTEU6IGZpeCBsaW5lIGxlbgoKMjAwNy0xMi0wNSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA3LTEyLTA0IDE3OjE0ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwgU291cmNlL2NtQ1Rlc3QuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzhHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21UYXJnZXQuY3h4OgoJICBFTkg6IG1lcmdlIGluIGZpeGVzIGZyb20gbWFpbiB0cmVlCgoyMDA3LTEyLTA0IDE3OjAwICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFTkg6IHJlbW92ZSB3YXJuaW5nCgoyMDA3LTEyLTA0IDE2OjA5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21EZXBlbmRzRm9ydHJhbi5jeHg6IEVOSDogZG8gbm90IGRlcGVuZCBvbiB0b3VjaCBiZWluZyBvbgoJICB0aGUgc3lzdGVtCgoyMDA3LTEyLTA0IDE2OjAzICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbWFrZS5jeHgsIGt3c3lzL1N5c3RlbVRvb2xzLmN4eCwKCSAga3dzeXMvU3lzdGVtVG9vbHMuaHh4LmluOiBFTkg6IGFkZCBhIHRvdWNoIC1FIGNvbW1hbmQgdG8gY21ha2UKCjIwMDctMTItMDQgMTA6NDMgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtRnVuY3Rpb25Db21tYW5kLmN4eCwgY21GdW5jdGlvbkNvbW1hbmQuaDogQ09NUDogZml4CgkgIHN0eWxlIGFuZCB3b3JrIGFyb3VuZCBvbGQgY29tcGlsZXJzCgoyMDA3LTEyLTA0IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDctMTItMDMgMjA6NDQgIGhvZmZtYW4KCgkqIERhcnRMb2NhbC5jb25mLmluOiBFTkg6IHJlbW92ZSBzdXBlcmlvciBkZWFuIGksIG5vIGxvbmdlciB1c2VzCgkgIGJvcmxhbmQKCjIwMDctMTItMDMgMTM6MzUgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUJvb3RzdHJhcENvbW1hbmRzLmN4eCwgU291cmNlL2NtQ29tbWFuZHMuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZS5jeHgsIFNvdXJjZS9jbU1ha2VmaWxlLmgsIFNvdXJjZS9jbWFrZS5jeHgsCgkgIFRlc3RzL0NNYWtlTGlzdHMudHh0OiBFTkg6IGFkZCBmdW5jdGlvbnMgYW5kIHJhaXNlIHNjb3BlCgoyMDA3LTEyLTAzIDEyOjQ3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUVuZEZ1bmN0aW9uQ29tbWFuZC5jeHgsIGNtRW5kRnVuY3Rpb25Db21tYW5kLmg6IEVOSDoKCSAgYWRkIGZ1bmN0aW9ucwoKMjAwNy0xMi0wMyAxMjo0MyAgbWFydGluawoKCSogU291cmNlL2NtRnVuY3Rpb25Db21tYW5kLmN4eCwgU291cmNlL2NtRnVuY3Rpb25Db21tYW5kLmgsCgkgIFNvdXJjZS9jbVJhaXNlU2NvcGVDb21tYW5kLmN4eCwgU291cmNlL2NtUmFpc2VTY29wZUNvbW1hbmQuaCwKCSAgVGVzdHMvRnVuY3Rpb25UZXN0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9GdW5jdGlvblRlc3QvZnVuY3Rpb25UZXN0LmM6IEVOSDogYWRkIGZ1bmN0aW9ucyBhbmQgcmFpc2UKCSAgc2NvcGUgdG8gY21ha2UKCjIwMDctMTItMDMgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwNy0xMi0wMiAxMTo1MSAgaG9mZm1hbgoKCSogRGFydExvY2FsLmNvbmYuaW46IEVOSDogZml4IHVwIHNvbWUgc3R1ZmYKCjIwMDctMTItMDIgMDk6MTUgIG1pZ3VlbGYKCgkqIE1vZHVsZXMvRmluZHd4V2lkZ2V0cy5jbWFrZTogU1RZTEU6IENsYXJpZmllZCB1c2FnZSBkb2N1bWVudGF0aW9uCgkgIGZvciBjbWFrZSAtLWhlbHAtbW9kdWxlIEZpbmR3eFdpZGdldHMuCgoyMDA3LTEyLTAyIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDctMTItMDEgMjI6NTEgIG1pZ3VlbGYKCgkqIE1vZHVsZXMvRmluZHd4V2lkZ2V0cy5jbWFrZTogU1RZTEU6IFVzZSBMSVNUKEFQUEVORCAuLi4pIGluc3RlYWQKCSAgb2YgU0VUKC4uLikKCjIwMDctMTItMDEgMjA6NTggIG1pZ3VlbGYKCgkqIE1vZHVsZXMvRmluZHd4V2lkZ2V0cy5jbWFrZTogRU5IOiBBZGRlZCBzZWFyY2ggZW50cnkgZm9yIHRoZSBuZXcKCSAgcmVsZWFzZTogd3hXaWRnZXRzLTIuOC43LgoKMjAwNy0xMi0wMSAyMDozNSAgbWlndWVsZgoKCSogTW9kdWxlcy9GaW5kd3hXaWRnZXRzLmNtYWtlOiBFTkg6IEFkZGVkIHN1cHBvcnQgZm9yIHNlbGVjdGluZwoJICBkaWZmZXJlbnQgY29uZmlndXJhdGlvbnMgaW4gVU5JWF9TVFlMRTogZGVidWcvcmVsZWFzZSwKCSAgc3RhdGljL3NoYXJlZCwgdW5pY29kZS9hbnNpLCBhbmQgcmVndWxhci91bml2ZXJzYWwuCgoyMDA3LTEyLTAxIDE5OjMwICBtaWd1ZWxmCgoJKiBNb2R1bGVzL0ZpbmR3eFdpZGdldHMuY21ha2U6IEVOSDogQWRkZWQgbWFjcm8gc3VwcG9ydCBmb3IKCSAgY29tcGlsaW5nIHhyYyByZXNvdXJjZXMgdG8gY3BwIGNvZGUuCgoyMDA3LTEyLTAxIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDctMTEtMzAgMTk6MTEgIGNsaW50b24KCgkqIE1vZHVsZXMvVXNlUXQ0LmNtYWtlOiBFTkg6ICBEZWZpbmUgUVRfTk9fREVCVUcgd2hlbiBidWlsZGluZyB3aXRoCgkgIHJlbGVhc2UgUXQgbGlicy4JICBGaXhlcyAjNjEwNC4KCjIwMDctMTEtMzAgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwNy0xMS0yOSAxMDoyMyAgbWFydGluawoKCSogU291cmNlL2NtRG9jdW1lbnRhdGlvbi5jeHg6IEJVRzogZml4IHNpbmdsZSBtb2R1bGUgZ2VuZXJhdGlvbgoKMjAwNy0xMS0yOSAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA3LTExLTI4IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDctMTEtMjcgMTU6NTkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbURvY3VtZW50YXRpb25Gb3JtYXR0ZXJIVE1MLmN4eDogRU5IOiBiZXR0ZXIgb3V0cHV0IGZvcgoJICBxdCBhc3Npc3RhbnQKCjIwMDctMTEtMjcgMDE6MDQgIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy9DTWFrZVNldHVwLmN4eDogRU5IOglBZGQgaGFuZGxpbmcgb2YgLS1oZWxwIGFuZAoJICByZWxhdGVkIGFyZ3VtZW50cy4KCjIwMDctMTEtMjcgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwNy0xMS0yNiAxNzo1NyAgYWxleAoKCSogU291cmNlLzogY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtTG9jYWxHZW5lcmF0b3IuaDogU1RZTEU6CgkgIHJlc3RydWN0dXJlIE91dHB1dExpbmtMaWJyYXJpZXMoKSBhIGJpdCwgc28gdGhhdCBuZXcgdGhlcmUgaXMgYQoJICBmdW5jdGlvbiB3aGljaCByZXR1cm5zIHRoZSBSUEFUSCwgc28gZS5nLiB0aGUgaW5zdGFsbCBycGF0aCBjYW4KCSAgYmUgcXVlcmllZCB3aGVuIHRoZSBjb21tYW5kIGZvciB0aGUgYnVpbGQgcnBhdGggaXMgY3JlYXRlZC4gVGhpcwoJICBpcyBhIGZpcnN0IHN0ZXAgZm9yIHN1cHBvcnRpbmcgY2hycGF0aC4KCgkgIEFsZXgKCjIwMDctMTEtMjYgMTM6MjEgIGJhcnJlCgoJKiBDTWFrZUxvZ28uZ2lmOiBFTkg6IGZhbmNpZXIgbG9nbwoKMjAwNy0xMS0yNiAxMDowMSAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBGaXhlZCBjb21wdXRhdGlvbgoJICBvZiAnb2JqZWN0JyBuYW1lIGZvciBNQUNPU1hfUEFDS0FHRV9MT0NBVElPTiBzb3VyY2UgZmlsZXMuCgoyMDA3LTExLTI2IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDctMTEtMjUgMTc6MTEgIGhvZmZtYW4KCgkqIFRlc3RzL0NNYWtlTGlzdHMudHh0OiBCVUc6IHRyeSB0byBmaXggIGNvbmZpZ3VyZSBlcnJvciBvbgoJICBkYXNoYm9hcmQKCjIwMDctMTEtMjUgMDg6MjAgIGFsZXgKCgkqIE1vZHVsZXMvRmluZEVYUEFULmNtYWtlOiBCVUc6IHVzZSB0aGUgY29ycmVjdCB2YXJpYWJsZSBmb3IKCSAgY2hlY2tpbmcgdGhlIHN1Y2Nlc3MgKCM2MDYyKQoKCSAgQWxleAoKMjAwNy0xMS0yNSAwNzo0NSAgYWxleAoKCSogU291cmNlLzogY21FeHRyYUNvZGVCbG9ja3NHZW5lcmF0b3IuY3h4LAoJICBjbUV4dHJhQ29kZUJsb2Nrc0dlbmVyYXRvci5oOiBTVFlMRTogbW92ZSB0aGUgY29kZSBmb3IgZ2VuZXJhdGluZwoJICB0aGUgWE1MIGZvciBvbmUgdGFyZ2V0IGluIGEgc2VwYXJhdGUgZnVuY3Rpb24gQXBwZW5kVGFyZ2V0KCkgLWFkZAoJICAiYWxsIiB0YXJnZXQgLXNvbWUgc3luY2luZyB3aXRoIHRoZSBFY2xpcHNlIGdlbmVyYXRvcgoKCSAgQWxleAoKMjAwNy0xMS0yNSAwNzo0MCAgYWxleAoKCSogU291cmNlL2NtRXh0cmFFY2xpcHNlQ0RUNEdlbmVyYXRvci5jeHg6IEVOSDogYWRkIHRoZSAiY2xlYW4iCgkgIHRhcmdldCBkb24ndCBhZGQgKmFsbCBleGlzdGluZyogdGFyZ2V0cyBhcyBFY2xpcHNlIHRhcmdldHMsIGJ1dAoJICBvbmx5IGEgc3Vic2V0ICh0aGUgc2FtZSBhcyBmb3IgQ29kZUJsb2NrcyksIGUuZy4gZXhjbHVkZSB0aGUKCSAgc3VidGFyZ2V0cyBvZiBFeHBlcmltZW50YWwsIGFuZCBhbHNvIGVkaXRfY2FjaGUsIGNjbWFrZSBkb2Vzbid0CgkgIHdvcmsgZnJvbSB3aXRoaW4gYW4gSURFCgoJICBBbGV4CgoyMDA3LTExLTI1IDA3OjM0ICBhbGV4CgoJKiBTb3VyY2UvOiBjbUdsb2JhbEdlbmVyYXRvci5oLCBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaDoKCSAgRU5IOiBhZGQgR2V0Q2xlYW5UYXJnZXROYW1lKCkgd2hpY2ggcmV0dXJucyAiY2xlYW4iIGZvcgoJICBtYWtlZmlsZXMsIHNvIGl0IGNhbiBiZSB1c2VkIGJ5IHRoZSBlY2xpcHNlIGdlbmVyYXRvcgoKCSAgQWxleAoKMjAwNy0xMS0yNSAwNjoyMSAgYWxleAoKCSogU291cmNlL2NtRXh0cmFDb2RlQmxvY2tzR2VuZXJhdG9yLmN4eDogRU5IOiBhbHNvIGFkZCB0aGUKCSAgZXhwZXJpbWVudGFsLCBuaWdodGx5LCBwYWNrYWdlX3NvdXJjZSwgcHJlaW5zdGFsbCBhbmQKCSAgcmVidWlsZF9jYWNoZSB0YXJnZXRzCgoJICBBbGV4CgoyMDA3LTExLTI1IDA1OjI2ICBhbGV4CgoJKiBTb3VyY2UvY21FeHRyYUNvZGVCbG9ja3NHZW5lcmF0b3IuY3h4OiBTVFlMRTogYWRkIHNvbWUgY29tbWVudHMKCgkgIEFsZXgKCjIwMDctMTEtMjUgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwNy0xMS0yNCAwMzo1MSAgYWxleAoKCSogU291cmNlLzogY21RVFdyYXBDUFBDb21tYW5kLmgsIGNtUVRXcmFwVUlDb21tYW5kLmg6IFNUWUxFOiBRVCAtPgoJICBRdCBpbiB0aGUgZG9jcwoKCSAgQWxleAoKMjAwNy0xMS0yNCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA3LTExLTIzIDIwOjQ1ICBhbGV4CgoJKiBDTWFrZUxpc3RzLnR4dCwgTW9kdWxlcy9QbGF0Zm9ybS9zeWxsYWJsZS5jbWFrZSwKCSAgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eCwgU291cmNlL2t3c3lzL3Rlc3REeW5hbWljTG9hZGVyLmN4eCwKCSAgVGVzdHMvQ01ha2VMaXN0cy50eHQsIFV0aWxpdGllcy9jbXRhci9DTWFrZUxpc3RzLnR4dDogRU5IOiBhZGQKCSAgc3VwcG9ydCBmb3IgdGhlIFN5bGxhYmxlIE9TIChodHRwOi8vd3d3LnN5bGxhYmxlLm9yZykgbWFqb3IKCSAgaXNzdWVzOiAtYWNjZXNzKCkgZG9lc24ndCByZXR1cm4gZmFsc2UgZm9yIGFuIGVtcHR5IHN0cmluZwoJICAoI2lmZGVmZWQgaW4gY21ha2UpIC1kbG9wZW4oKSBkb2Vzbid0IHJldHVybiAwIG9uIGZhaWx1cmUKCSAgKCNpZmRlZmVkIGluIGNtYWtlIGFuZCBmaXhlZCBub3cgaW4gU3lsbGFibGUpIC10aGUga3dzeXMgYW5kCgkgIEJvb3RzdHJhcCB0ZXN0cyBmYWlsIHdpdGggdGltZW91dCBkdWUgdG8gdGhlIGZhY3QgdGhhdCBJJ20gZG9pbmcKCSAgYWxsIHRoYXQgaW4gcWVtdSwgd2hpY2ggaXMgcXVpdGUgc2xvdyAtUlBBVEggaXMgbm93IHN1cHBvcnRlZCwgc28KCSAgd2l0aG91dCBtb2RpZnlpbmcgdGhlIHRlc3QgYWRhcHRpbmcgRExMX1BBVEggaW4gU3lsbGFibGUgaXMKCSAgcmVxdWlyZWQgZm9yIHRoZSB0ZXN0cyB0byBzdWNjZWVkIC10aGUgUGx1Z2luIHRlc3QgZmFpbHMgd2l0aCBhbgoJICB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGV4YW1wbGVfZXhlX2Z1bmN0aW9uKCkgaW4gZXhhbXBsZV9tb2RfMSwKCSAgaXQgc2VlbXMgdGhpcyBpc24ndCBzdXBwb3J0ZWQgdW5kZXIgU3lsbGFibGUKCgkgIEFsZXgKCjIwMDctMTEtMjMgMTQ6NTMgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eDogU1RZTEU6IEZpeGVkIGxpbmUtdG9vLWxvbmcuCgoyMDA3LTExLTIzIDExOjMwICBhbGV4CgoJKiBTb3VyY2UvY21RVFdyYXBDUFBDb21tYW5kLmN4eDogU1RZTEU6IFFUIGlzIHF1aWNrdGltZSwgUXQgaXMgUXQsCgkgIGFzIHBvaW50ZWQgb3V0IGJ5IERhdmlkIEZhdXJlCgoJICBBbGV4CgoyMDA3LTExLTIzIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDctMTEtMjIgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwNy0xMS0yMSAxNzowOSAgZGF2aWQuY29sZQoKCSogRGFydExvY2FsLmNvbmYuaW46IFNUWUxFOiBVcGRhdGVkIGFuZCBhbHBoYWJldGl6ZWQgZXhwZWN0ZWQKCSAgYnVpbGRzIGxpc3QuIE1hbnkgbmV3IE1hYyBMZW9wYXJkIGVudHJpZXMgZnJvbSBSb2d1ZSAtLSB0aGFua3MKCSAgZ3V5cyEKCjIwMDctMTEtMjEgMTU6MzMgIGRhdmlkLmNvbGUKCgkqIFRlbXBsYXRlcy9DTWFrZUxpc3RzLnR4dDogQlVHOiBJbnN0YWxsIHRoZSB2c21hY3JvcyBmaWxlLgoKMjAwNy0xMS0yMSAxMzozNyAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4OiBFTkg6IENoYW5nZSBjb21waWxlcgoJICB3b3JraW5nIGRpcmVjdG9yeSB0byB0aGUgbG9jYWwgYnVpbGQgdHJlZSBsb2NhdGlvbiB3aGVuIGNvbXBpbGluZwoJICBvYmplY3QgZmlsZXMuICBUaGlzIHNpbXBsaWZpZXMgdGhlIGNvbXBpbGVyIGNvbW1hbmQgbGluZSBhbmQgdGhlCgkgIHVzYWdlIG9mIHRoZSA8b2JqQmFzZT4ucyBhbmQgPG9iakJhc2U+LmkgdGFyZ2V0cy4gIEl0IGFsc28gaGVscHMKCSAgZm9ydHJhbiBjb21waWxlcnMgcHV0IHRoZWlyIG1vZHVsZXMgaW4gdGhlIGNvcnJlY3QgcGxhY2UuCgoyMDA3LTExLTIxIDEyOjU1ICBraW5nCgoJKiBDTWFrZUxpc3RzLnR4dDogQlVHOiBGaXhlZCBjb25zdHJ1Y3Rpb24gb2YgQ01ha2VfVkVSU0lPTl9EQVRFIHRvCgkgIHVzZSBLV1N5cyBEYXRlU3RhbXAgZmVhdHVyZSBub3cgdGhhdCBjbVZlcnNpb24uY3h4IGlzIG5vdCB1cGRhdGVkCgkgIG5pZ2h0bHkgYW55bW9yZS4KCjIwMDctMTEtMjEgMTA6MDcgIGtpbmcKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogQlVHOiBEbyBub3QgcmVxdWlyZSBhIG5pZ2h0bHkgc3RhcnQgdGltZSBmb3IKCSAgYW4gZXhwZXJpbWVudGFsIG9yIGNvbnRpbnVvdXMgdGVzdCBtb2RlbC4KCjIwMDctMTEtMjEgMDg6NTkgIGtpbmcKCgkqIFNvdXJjZS9jbVRhcmdldC5jeHg6IEJVRzogRm9yIGltcG9ydGVkIHRhcmdldCBkaXJlY3RvcnksIGRvIG5vdAoJICByZXR1cm4gcG9pbnRlciB0byBmcmVlZCBtZW1vcnkuCgoyMDA3LTExLTIxIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDctMTEtMjAgMTE6MTggIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHg6IEJVRzogTmVlZCB0byBob25vcgoJICBIRUFERVJfRklMRV9PTkxZIHNvdXJjZSBmaWxlIHByb3BlcnR5IGFuZCBleGNsdWRlIHRoZSBzb3VyY2UgZnJvbQoJICB0aGUgYnVpbGQuCgoyMDA3LTExLTIwIDExOjEwICBraW5nCgoJKiBTb3VyY2UvOiBjbUNhbGxWaXN1YWxTdHVkaW9NYWNyby5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW85R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW9HZW5lcmF0b3IuY3h4OiBTVFlMRTogRml4ZWQgbGluZS10b28tbG9uZy4KCSAgQ09NUDogRml4ZWQgd2FybmluZ3MgYWJvdXQgbG9zc3kgY29udmVyc2lvbnMuCgoyMDA3LTExLTIwIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDctMTEtMTkgMTQ6MjcgIGtpbmcKCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4L0V4ZWN1dGFibGUvY29tcGxleF9ub2J1aWxkLmN4eCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleF9ub2J1aWxkLmN4eCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4X25vYnVpbGQuY3h4OiBFTkg6IEFkZGluZwoJICB0ZXN0IGZvciB1c2luZyBIRUFERVJfRklMRV9PTkxZIHRvIGF2b2lkIGJ1aWxkaW5nIGEgLmN4eCBmaWxlLgoKMjAwNy0xMS0xOSAxNDoyNyAga2luZwoKCSogU291cmNlL2NtU291cmNlRmlsZS5jeHg6IEJVRzogRG8gbm90IGZvcmNlIEhFQURFUl9GSUxFX09OTFkgb2ZmCgkgIGlmIHRoZSB1c2VyIGhhcyBhbHJlYWR5IHNldCBpdCBvbi4KCjIwMDctMTEtMTkgMTQ6MjIgIGtpbmcKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IENPTVA6IERvIG5vdCBidWlsZCBWUy1zcGVjaWZpYyBjb2RlIHdoZW4KCSAgZ2VuZXJhdG9ycyBhcmUgbm90IGluY2x1ZGVkLgoKMjAwNy0xMS0xOSAxNDowOCAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nL0NNYWtlTGlzdHMudHh0OiBFTkg6CUFkZCBpbnN0YWxsIGNvbW1hbmQgZm9yCgkgIGV4ZWN1dGFibGUuCgoyMDA3LTExLTE5IDEzOjQ1ICBraW5nCgoJKiBTb3VyY2UvOiBjbWFrZS5jeHgsIGNtYWtlLmg6IEVOSDogQWRkZWQgY2FsbCB0byBTdG9wQnVpbGQgVlMKCSAgbWFjcm8gd2hlbiBwcm9qZWN0cyBmYWlsIHRvIHJlZ2VuZXJhdGUgZHVyaW5nIGEgYnVpbGQuCgoyMDA3LTExLTE5IDEzOjQ0ICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzhHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvR2VuZXJhdG9yLmg6IEVOSDogUmVuYW1lZAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpb0dlbmVyYXRvcjo6Q2FsbFZpc3VhbFN0dWRpb1JlbG9hZE1hY3JvIG1ldGhvZAoJICB0byBDYWxsVmlzdWFsU3R1ZGlvTWFjcm8gYW5kIGFkZGVkIGFyZ3VtZW50cyB0byBzZWxlY3Qgd2hpY2gKCSAgbWFjcm8gdG8gY2FsbCBhbmQgb3B0aW9uYWxseSBwYXNzIHRoZSBzb2x1dGlvbiBmaWxlIG5hbWUuICBBZGRlZAoJICBvcHRpb24gdG8gY2FsbCB0byBuZXcgU3RvcEJ1aWxkIG1hY3JvLiAgVXBkYXRlZCBsb2dpYyBmb3IKCSAgcmVwbGFjaW5nIHRoZSBtYWNybyBmaWxlIGluIHVzZXIgZGlyZWN0b3JpZXMgd2hlbiB0aGUgZGlzdHJpYnV0ZWQKCSAgdmVyc2lvbiBpcyBuZXdlci4KCjIwMDctMTEtMTkgMTM6NDQgIGtpbmcKCgkqIFRlbXBsYXRlcy9DTWFrZVZTTWFjcm9zMS52c21hY3JvczogRU5IOiBBZGRlZCBTdG9wQnVpbGQgbWFjcm8uCgoyMDA3LTExLTE5IDEzOjQyICBraW5nCgoJKiBTb3VyY2UvY21ha2VtYWluLmN4eDogQlVHOiBBbHdheXMgcmV0dXJuIHBvc2l0aXZlIGludGVnZXJzIHRvIHRoZQoJICBPUyBvbiBlcnJvci4JV2luZG93cyBlcnJvciBlbmNvZGluZyBpcyBjb25mdXNlZCBieSBuZWdhdGl2ZQoJICByZXR1cm4gdmFsdWVzLgoKMjAwNy0xMS0xOSAxMzo0MiAga2luZwoKCSogU291cmNlL2NtTGlzdEZpbGVDYWNoZS5jeHg6IEJVRzogUGFyc2VGaWxlIHNob3VsZCByZXR1cm4gZmFsc2UgaWYKCSAgdGhlcmUgd2FzIGEgcGFyc2UgZXJyb3IuCgoyMDA3LTExLTE5IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDctMTEtMTggMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwNy0xMS0xNyAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBTVFlMRTogTmlnaHRseSBEYXRlIFN0YW1wCgoyMDA3LTExLTE2IDIxOjE4ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvQWRkQ2FjaGVFbnRyeS5jeHg6IEVOSDogIFJlbW92ZSBkZWJ1ZyBwcmludGYKCjIwMDctMTEtMTYgMTM6NTQgIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5jeHg6IEVOSDogQWRkIG1vcmUKCSAgY29uZGl0aW9ucyBmb3IgYXR0ZW1wdGluZyB0byBjYWxsIHRoZSBuZXcgVmlzdWFsIFN0dWRpbyBtYWNyb3MuCgkgIE9ubHkgdHJ5IHRvIGNhbGwgdGhlbSBpZiB0aGUgdnNtYWNyb3MgZmlsZSBleGlzdHMgYW5kIGlzCgkgIHJlZ2lzdGVyZWQuIENvdW50IFZTIGluc3RhbmNlcyBhZ2FpbiBhZnRlciB3YXJuaW5nIGFib3V0IHJ1bm5pbmcKCSAgaW5zdGFuY2VzLiBJZiB1c2VyIGNsb3NlZCB0aGVtIGluIHJlc3BvbnNlIHRvIHRoZSB3YXJuaW5nLCBpdCdzCgkgIE9LIHRvIHJlZ2lzdGVyIHRoZSBtYWNyb3Mgbm93IHJhdGhlciB0aGFuIHdhaXRpbmcgdGlsbCB0aGUgbmV4dAoJICBDTWFrZSBnZW5lcmF0ZS4KCjIwMDctMTEtMTYgMTE6MzIgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eDogRU5IOiBhZGQgc3VwcG9ydCBmb3IKCSAgQ0Rhc2ggYnVsbHNleWUgY292ZXJhZ2UKCjIwMDctMTEtMTYgMTE6MDEgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvOEdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBGaXggZXhjZXB0aW9uIGhhbmRsaW5nCgkgIGZsYWcgdHJhbnNsYXRpb24gdG8gYmUgc3BlY2lmaWMgdG8gZWFjaCBWUyB2ZXJzaW9uLiAgVGhpcyBhbGxvd3MKCSAgL0VIYSB0byBiZSBoYW5kbGVkIGNvcnJlY3RseSBmb3IgVlMgMjAwMy4KCjIwMDctMTEtMTYgMTA6NDAgIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy9RQ01ha2VDYWNoZVZpZXcuY3h4OiBFTkg6ICBtb3JlIHJvYnVzdCBzZWFyY2gKCSAgZmlsdGVyLgoKMjAwNy0xMS0xNiAwNzowMSAgZGF2aWQuY29sZQoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0LCBTb3VyY2UvY21DYWxsVmlzdWFsU3R1ZGlvTWFjcm8uY3h4LAoJICBTb3VyY2UvY21DYWxsVmlzdWFsU3R1ZGlvTWFjcm8uaCwKCSAgU291cmNlL2NtR2VuZXJhdGVkRmlsZVN0cmVhbS5jeHgsIFNvdXJjZS9jbUdlbmVyYXRlZEZpbGVTdHJlYW0uaCwKCSAgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvOEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW85R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvOUdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW9HZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW9HZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwgU291cmNlL2NtYWtlLmN4eCwKCSAgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eCwgVGVtcGxhdGVzL0NNYWtlVlNNYWNyb3MxLnZzbWFjcm9zOgoJICBFTkg6IEFkZCBhYmlsaXR5IHRvIGNhbGwgVmlzdWFsIFN0dWRpbyBtYWNyb3MgZnJvbSBDTWFrZS4gQWRkIGEKCSAgQ01ha2UgVmlzdWFsIFN0dWRpbyBtYWNybyB0byByZWxvYWQgYSBzb2x1dGlvbiBmaWxlIGF1dG9tYXRpY2FsbHkKCSAgaWYgQ01ha2UgbWFrZXMgY2hhbmdlcyB0byAuc2xuIGZpbGVzIG9yIC52Y3Byb2ogZmlsZXMuIEFkZCBjb2RlCgkgIHRvIGNhbGwgdGhlIG1hY3JvIGF1dG9tYXRpY2FsbHkgZm9yIGFueSBydW5uaW5nIFZpc3VhbCBTdHVkaW8KCSAgaW5zdGFuY2VzIHdpdGggdGhlIC5zbG4gZmlsZSBvcGVuIGF0IHRoZSBlbmQgb2YgdGhlIFZpc3VhbCBTdHVkaW8KCSAgR2VuZXJhdGUgY2FsbC4gT25seSBjYWxsIHRoZSBtYWNybyBpZiBzb21lIC5zbG4gb3IgLnZjcHJvaiBmaWxlCgkgIGNoYW5nZWQgZHVyaW5nIEdlbmVyYXRlLiBBbHNvLCBhZGQgaGFuZGxpbmcgZm9yIFJFR19FWFBBTkRfU1oKCSAgdHlwZSB0byBTeXN0ZW1Ub29sczo6UmVhZFJlZ2lzdHJ5VmFsdWUgLSByZXR1cm5lZCBzdHJpbmcgaGFzCgkgIGVudmlyb25tZW50IHZhcmlhYmxlIHJlZmVyZW5jZXMgZXhwYW5kZWQuCgoyMDA3LTExLTE2IDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IFNUWUxFOiBOaWdodGx5IERhdGUgU3RhbXAKCjIwMDctMTEtMTUgMTM6MTQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vRGFyd2luLmNtYWtlOiBFTkg6IGFkZCBzdXBwb3J0IGZvciBlbnYgdmFyIGFuZAoJICBiZXR0ZXIgZGVmYXVsdCBmb3IgQ01BS0VfT1NYX1NZU1JPT1QKCjIwMDctMTEtMTUgMDA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogU1RZTEU6IE5pZ2h0bHkgRGF0ZSBTdGFtcAoKMjAwNy0xMS0xNCAyMzozMCAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nL1FDTWFrZUNhY2hlVmlldy5jeHg6IENPTVA6ICBGaXggd2FybmluZy4KCjIwMDctMTEtMTQgMjE6MTcgIGtpbmcKCgkqIGJvb3RzdHJhcCwgU291cmNlL2NtVmVyc2lvbi5jeHg6IEVOSDogU2ltcGxpZmllZCBDTWFrZSB2ZXJzaW9uCgkgIGluZm9ybWF0aW9uIHVzaW5nIEtXU3lzIERhdGVTdGFtcCBmZWF0dXJlLiAgUmVkdWNlZCBkdXBsaWNhdGUKCSAgY29kZSBpbiBib290c3RyYXAgc2NyaXB0LgoKMjAwNy0xMS0xNCAxODowOCAgY2xpbnRvbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOiBFTkg6ICBGaXggY2FzZSBvZiB3aW5kb3dzIGxpYnJhcnkgbmFtZXMgdG8KCSAgc3VwcG9ydAljcm9zcyBjb21waWxpbmcgdy8gUXQgb24gY2FzZSBzZW5zaXRpdmUgcGxhdGZvcm1zLgoKMjAwNy0xMS0xNCAwMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzRGF0ZVN0YW1wLmNtYWtlOiBkYWlseSB2ZXJzaW9uIG51bWJlcgoKMjAwNy0xMS0xMyAyMzoxMyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTExLTEzIDE2OjI1ICBhbGV4CgoJKiBTb3VyY2UvUXREaWFsb2cvQ01ha2VTZXR1cERpYWxvZy5jeHg6IEVOSDogYWRkIGNvbXBsZXRlciBmb3IgdGhlCgkgIHNvdXJjZSBhbmQgYmluYXJ5IGRpciBsaW5lZWRpdHMKCgkgIENsaW50b246IGRvIEkgYWN0dWFsbHkgaGF2ZSB0byBjcmVhdGUgc2VwYXJhdGUgbW9kZWxzIGZvciBlYWNoCgkgIGNvbXBsZXRlciwgYW5kIGEgc2VwYXJhdGUgY29tcGxldGVyIGZvciBlYWNoIHdpZGdldCwgb3IgY291bGQgdGhlCgkgIG1vZGVscy9jb21wbGV0ZXJzIGJlIHVzZWQgZm9yIG11bHRpcGxlIHdpZGdldHMgPwoKCSAgQWxleAoKMjAwNy0xMS0xMyAxMjo1MyAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nL1FDTWFrZUNhY2hlVmlldy5jeHg6IEVOSDogIHNpbmdsZSBjbGljayBjYW4gc3RhcnQKCSAgZWRpdGluZyBjYWNoZSB2YWx1ZXMuCgoyMDA3LTExLTEzIDExOjIxICBtYXJ0aW5rCgoJKiBUZXN0cy9UdXRvcmlhbC9TdGVwNi9DTWFrZUxpc3RzLnR4dDogRU5IOiBzd2l0Y2ggdG8gbmV3IGluc3RhbGwKCSAgY29tbWFuZHMgdG8gbWF0Y2ggYm9vayB0ZXh0CgoyMDA3LTExLTEzIDExOjE4ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvUUNNYWtlQ2FjaGVWaWV3LmN4eDogQlVHOiAgVGhlIHNlYXJjaCBpcyBzZXQgdG8KCSAgYXBwbHkgdG8gYWxsIGNvbHVtbnMsIGJ1dCBpbiBRdCA0LjIsIHRoYXQgYnJlYWtzCSB0aGUgc2VhcmNoCgkgIGVudGlyZWx5LiAgU2VhcmNoIG9uIHRoZSBmaXJzdCBjb2x1bW4gb25seSB3aGVuIHVzaW5nIFF0IDQuMi4KCjIwMDctMTEtMTMgMTE6MTEgIG1hcnRpbmsKCgkqIFRlc3RzL1R1dG9yaWFsLzogU3RlcDMvQ01ha2VMaXN0cy50eHQsCgkgIFN0ZXAzL01hdGhGdW5jdGlvbnMvQ01ha2VMaXN0cy50eHQsIFN0ZXA0L0NNYWtlTGlzdHMudHh0LAoJICBTdGVwNC9NYXRoRnVuY3Rpb25zL0NNYWtlTGlzdHMudHh0LCBTdGVwNS9DTWFrZUxpc3RzLnR4dCwKCSAgU3RlcDUvTWF0aEZ1bmN0aW9ucy9DTWFrZUxpc3RzLnR4dCwgU3RlcDYvQ01ha2VMaXN0cy50eHQsCgkgIFN0ZXA2L01hdGhGdW5jdGlvbnMvQ01ha2VMaXN0cy50eHQsIFN0ZXA3L0NNYWtlTGlzdHMudHh0LAoJICBTdGVwNy9NYXRoRnVuY3Rpb25zL0NNYWtlTGlzdHMudHh0OiBFTkg6IHN3aXRjaCB0byBuZXcgaW5zdGFsbAoJICBjb21tYW5kcyB0byBtYXRjaCBib29rIHRleHQKCjIwMDctMTEtMTMgMDA6MzMgIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy86IENNYWtlU2V0dXAuY3h4LCBDTWFrZVNldHVwRGlhbG9nLmN4eDogRU5IOgoJICBzdXBwb3J0IHNwZWNpZnlpbmcgYnVpbGQgb3Igc291cmNlIGRpcmVjdG9yeSBhdCBjb21tYW5kIGxpbmUuCgoyMDA3LTExLTEzIDAwOjE3ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvOiBRQ01ha2VDYWNoZVZpZXcuY3h4LCBRQ01ha2VDYWNoZVZpZXcuaDogRU5IOgoJICBBbGxvdyBjbGlja2luZyBhbnl3aGVyZSBpbiBmaWVsZCB0byB0b2dnbGUgY2hlY2sgYm94ZXMuCgoyMDA3LTExLTEzIDAwOjAxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNEYXRlU3RhbXAuY21ha2U6IGRhaWx5IHZlcnNpb24gbnVtYmVyCgoyMDA3LTExLTEyIDIzOjU5ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvOiBBZGRDYWNoZUVudHJ5LmN4eCwgQWRkQ2FjaGVFbnRyeS5oOiBTVFlMRToJYWRkCgkgIGxpY2Vuc2UuCgoyMDA3LTExLTEyIDIzOjU0ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvOiBBZGRDYWNoZUVudHJ5LmN4eCwgQWRkQ2FjaGVFbnRyeS5oLAoJICBBZGRDYWNoZUVudHJ5LnVpLCBDTWFrZUxpc3RzLnR4dCwgQ01ha2VTZXR1cC5xcmMsCgkgIENNYWtlU2V0dXBEaWFsb2cuY3h4LCBDTWFrZVNldHVwRGlhbG9nLmgsIENNYWtlU2V0dXBEaWFsb2cudWksCgkgIFBsdXMxNi5wbmcsIFFDTWFrZS5jeHgsIFFDTWFrZUNhY2hlVmlldy5jeHgsIFFDTWFrZUNhY2hlVmlldy5oOgoJICBFTkg6CUFkZCBhYmlsaXR5IHRvIGFkZCBjYWNoZSBlbnRyaWVzIChldmVuIGJlZm9yZSBmaXJzdAoJICBjb25maWd1cmUpLgoKMjAwNy0xMS0xMiAyMzowMyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTExLTEyIDIyOjM2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBFTkg6IGFkZCBmIHN0dWZmIHRvIGF2b2lkIHdhcm5pbmdzCgoyMDA3LTExLTEyIDIyOjMzICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmg6IEVOSDogYWRkCgkgIGd1ZXNzIHByb2dyZXNzIGZvciBmaXJzdCB0aW1lIGNvbmZpZ3VyaW5nIGEgcHJvamVjdC4KCjIwMDctMTEtMTIgMTg6MjIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0RhdGVTdGFtcC5jbWFrZTogZGFpbHkgdmVyc2lvbiBudW1iZXIKCjIwMDctMTEtMTIgMTg6MjIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IERhdGVTdGFtcC5oLmluLCBrd3N5c0RhdGVTdGFtcC5weTogRU5IOiBDcmVhdGVkCgkgIGJldHRlciBuYW1lcyBhbmQgYSBtb3JlIGNvbnZlbmllbnQgc2V0IG9mIHZlcnNpb24gZGF0ZSBzdGFtcAoJICBtYWNyb3MuCgoyMDA3LTExLTEyIDE4OjA2ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvOiBDTWFrZVNldHVwRGlhbG9nLmN4eCwgQ01ha2VTZXR1cERpYWxvZy51aTogRU5IOgoJICBGaXggbGF5b3V0IHdpdGggUXQgNC4yLiAgQlVHOiAgRml4IGhlbHAgY29tbWVudHMgdG8gbWF0Y2ggd2hhdAoJICB0aGlzIEdVSSBkb2VzLgoKMjAwNy0xMS0xMiAxNzo1MSAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nL0NNYWtlU2V0dXBEaWFsb2cuY3h4OiBCVUc6ICBGaXggcHJvbXB0IGZvcgoJICBjaGFuZ2VzIGlmIHRoZXkgaGF2ZW4ndCBiZWVuIHNhdmVkLgoKMjAwNy0xMS0xMiAxNzo0MSAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nLzogQ01ha2VTZXR1cERpYWxvZy5jeHgsIENNYWtlU2V0dXBEaWFsb2cuaCwKCSAgQ01ha2VTZXR1cERpYWxvZy51aToKCSAgQlVHOiBGaXggcGF1c2UgYXQgc2h1dGRvd24uICBFTkg6IFJlbW92ZSBpbnRlcnJ1cHQgYnV0dG9uIGFuZAoJICBtYWtlIGNvbmZpZ3VyZS9nZW5lcmF0ZSB0dXJuIHRvIHN0b3AgZHVyaW5nIHJ1bnMuICBFTkg6IEFkZCB0ZXh0CgkgIHRvIHJlbW92ZSBjYWNoZSBlbnRyeSBidXR0b24uCgoyMDA3LTExLTEyIDE3OjM4ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQ6IEJVRzogRml4ZWQgdHlwbyBpbiBwcmV2aW91cyBjb21taXQuCgoyMDA3LTExLTEyIDE3OjM0ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBDTWFrZUxpc3RzLnR4dCwgRGF0ZVN0YW1wLmguaW4sCgkgIGt3c3lzRGF0ZVN0YW1wLmNtYWtlLCBrd3N5c0RhdGVTdGFtcC5weTogRU5IOiBBZGRpbmcgRGF0ZVN0YW1wCgkgIGZlYXR1cmUgdG8gS1dTeXMuICBUaGlzIHByb3ZpZGVzIGEgaGVhZGVyIGZpbGUgZ2l2aW5nCgkgIHByZXByb2Nlc3NvciBhY2Nlc3MgdG8gYSBkYXRlZCB2ZXJzaW9uLiAgVGhlICdkYXRlc3RhbXAnIHdpbGwgYmUKCSAgdXBkYXRlZCBhdXRvbWF0aWNhbGx5IGV2ZXJ5IGRheSBieSBhIHNjcmlwdC4KCjIwMDctMTEtMTIgMTY6NTggIGtpbmcKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEJVRzogRml4IG1lc3NhZ2VzIGZvciB0aW1lIHN0YW1wIGZpbGUKCSAgcmVjcmVhdGlvbi4KCjIwMDctMTEtMTIgMTU6NDIgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsVmlzdWFsU3R1ZGlvOEdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaDogQlVHOiBDb252ZXJ0ZWQgcGVyLXZjcHJvagoJICB0aW1lc3RhbXAgdG8gYSBzaW5nbGUgZGlyZWN0b3J5LWxldmVsIENNYWtlRmlsZXMvZ2VuZXJhdGUuc3RhbXAKCSAgZmlsZSBzaGFyZWQgYnkgYWxsIHRhcmdldHMgaW4gZWFjaCBkaXJlY3RvcnkuICBUaGlzIGF2b2lkcyBoYXZpbmcKCSAgYWxsIHRhcmdldHMgb3ZlcndyaXRlIGVhY2ggb3RoZXJzIHRpbWVzdGFtcCBjaGVjayBydWxlcyBhbmQKCSAgaW5zdGVhZCBoYXMgb25lIHNpbmdsZSBydWxlLgoKMjAwNy0xMS0xMiAxMzo1NCAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nLzogQ01ha2VMaXN0cy50eHQsIENNYWtlU2V0dXBEaWFsb2cudWk6IEVOSDoKCSAgQWxsb3cgYnVpbGQgd2l0aCBRdCA0LjIuCgoJCTQuMyBkZXBlbmRlbmNlIGZlbGwgb3V0IHdoZW4gZXJyb3JzIGdvIHRvIG91dHB1dAoJCXdpbmRvdyBpbnN0ZWFkIG9mIG1lc3NhZ2UgYm94IGJsb2NraW5nIGNtYWtlIHRocmVhZC4KCjIwMDctMTEtMTIgMTM6NTIgIG1pZ3VlbGYKCgkqIE1vZHVsZXMvRmluZHd4V2lkZ2V0cy5jbWFrZTogQlVHOiBGaXggdG8gc3VwcG9ydCBhcmNoIGFuZAoJICBpc3lzcm9vdCBjb21waWxhdGlvbiBvcHRpb25zIG9uIE1BQyAoQnVnIDUwMDcpLgoKMjAwNy0xMS0xMiAxMjowNCAgbWFydGluawoKCSogU291cmNlL2NtQ1BsdWdpbkFQSS5jeHg6IEJVRzogYmV0dGVyIHNldHVwIG9mIHByb3BlcnRpZXMgZm9yCgkgIGxvYWRlZCBjb21tYW5kcwoKMjAwNy0xMS0xMSAyMzowNSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTExLTEwIDIzOjExICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMTEtMTAgMTc6MzEgIGtpbmcKCgkqIFRlc3RzL1dyYXBwaW5nLzogQ01ha2VMaXN0cy50eHQsIGZha2VmbHVpZC5jeHg6IEJVRzogRml4ZWQgZmFrZQoJICBnZW5lcmF0aW9uIG9mIGZpbGVzIHRvIGJlaGF2ZSBtb3JlIGxpa2UgZmx1aWQuCgoyMDA3LTExLTEwIDExOjM2ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvOiBDTWFrZVNldHVwLnFyYywgQ01ha2VTZXR1cERpYWxvZy5jeHgsCgkgIENNYWtlU2V0dXBEaWFsb2cuaCwgQ01ha2VTZXR1cERpYWxvZy51aSwgRGVsZXRlMTYucG5nLAoJICBRQ01ha2VDYWNoZVZpZXcuY3h4LCBRQ01ha2VDYWNoZVZpZXcuaDoKCSAgRU5IOglSZS1hcnJhbmdlIFVJIGEgYml0LiAgQlVHOiAgUHJvcGVybHkgdXBkYXRlIHdoZW4gdmFsdWVzCgkgIHRoYXQgY2hhbmdlZCBzaW5jZSB0aGUgbGFzdCBjb25maWd1cmUuCgoyMDA3LTExLTEwIDA4OjE1ICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFZpc3VhbFN0dWRpbzhHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsIGNtYWtlLmN4eCwgY21ha2UuaDogRU5IOiBBbGxvdwoJICBWUyA3IHByb2plY3QgUmVidWlsZCBhbmQgU29sdXRpb24gUmVidWlsZCB0byB3b3JrIHdpdGhvdXQKCSAgcmUtcnVubmluZyBDTWFrZSBmb3IgZXZlcnkgcHJvamVjdCBkdXJpbmcgdGhlIHJlYnVpbGQuCgoyMDA3LTExLTEwIDA4OjE0ICBraW5nCgoJKiBTb3VyY2UvY21Eb2N1bWVudFZhcmlhYmxlcy5jeHg6IFNUWUxFOiBGaXhlZCBsaW5lLXRvby1sb25nIGZvcgoJICB1bmRvY3VtZW50ZWQgdmFyaWFibGUgZW50cmllcy4KCjIwMDctMTEtMTAgMDY6NTQgIGRhdmlkLmNvbGUKCgkqIFRlc3RzLzogU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OiBCVUc6IE5lZWQgZXh0cmEgcmVnZXggdG8gcGFyc2UKCSAgc3dfdmVycyBvdXRwdXQgb24gTWFjIE9TWCAxMC4yIChhbmQgcHJlc3VtYWJseSBlYXJsaWVyKSB0byBhdm9pZAoJICBydW5uaW5nIFBhY2thZ2VNYWtlciBkdXJpbmcgdGhlIFNpbXBsZUluc3RhbGwqIHRlc3RzLiBTZWUgY29tbWVudAoJICBpbiBDTWFrZS9UZXN0cy9TaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0IGZvciBtb3JlIGluZm8uCgoyMDA3LTExLTA5IDIzOjE2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMTEtMDkgMTU6MTggIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy86IENNYWtlU2V0dXBEaWFsb2cuY3h4LCBDTWFrZVNldHVwRGlhbG9nLmgsCgkgIFFDTWFrZS5jeHgsIFFDTWFrZS5oLCBRQ01ha2VDYWNoZVZpZXcuY3h4LCBRQ01ha2VDYWNoZVZpZXcuaDoKCSAgQlVHOglEb24ndCBwcm9tcHQgZm9yIHVuc2F2ZWQgY2hhbmdlcyBpZiBubyBjaGFuZ2VzIHdlcmUgbWFkZS4KCSAgRU5IOglFcnJvciBtZXNzYWdlcyBnbyB0byBvdXRwdXQgd2luZG93IGluc3RlYWQgb2YgbWVzc2FnZQoJICBib3hlcy4KCjIwMDctMTEtMDkgMTU6MDggIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFRlbXBsYXRlcy9DTWFrZVdpbmRvd3NTeXN0ZW1Db25maWcuY21ha2U6IEVOSDogUmVtb3ZlZCBkZXBlbmRlbmN5CgkgIG9uIFRlbXBsYXRlcy9DTWFrZVdpbmRvd3NTeXN0ZW1Db25maWcuY21ha2Ugd2hpY2ggaXMgbm8gbG9uZ2VyCgkgIHVzZWQuICBBbHNvIHJlbW92ZWQgdGhlIGZpbGUgaXRzZWxmLgoKMjAwNy0xMS0wOSAxMjoxOCAgaG9mZm1hbgoKCSogTW9kdWxlcy9JbnN0YWxsUmVxdWlyZWRTeXN0ZW1MaWJyYXJpZXMuY21ha2U6IEVOSDogY2hhbmdlIG5hbWUKCjIwMDctMTEtMDkgMTI6MDUgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsVmlzdWFsU3R1ZGlvOEdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogRU5IOiBDb252ZXJ0ZWQgdmNwcm9qIGZpbGUKCSAgZ2VuZXJhdGlvbiB0byB1c2UgY21HZW5lcmF0ZWRGaWxlU3RyZWFtIGZvciBhdG9taWMgcmVwbGFjZW1lbnQuCgkgIFJlcGxhY2VkIHRoZSB2Y3Byb2ouY21ha2UgY29weSBvZiB0aGUgZmlsZSB3aXRoIGEgc2ltcGxlCgkgIHZjcHJvai5zdGFtcCB0aW1lc3RhbXAgZmlsZSB0byBwcmVzZXJ2ZSBwcmV2aW91cwoJICByZXJ1bi13aXRob3V0LXJlbG9hZCBiZWhhdmlvci4KCjIwMDctMTEtMDkgMDE6MTQgIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy9RQ01ha2VDYWNoZVZpZXcuY3h4OiBFTkg6ICBBZGQgY29tcGxldGlvbiB0bwoJICBlZGl0b3IgZm9yIGZpbGVzIGFuZCBmaWxlIHBhdGhzLgoKMjAwNy0xMS0wOCAyMzowMyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTExLTA4IDIwOjM3ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0luc3RhbGxSZXF1aXJlZFN5c3RlbUxpYnJhcmllcy5jbWFrZTogRU5IOiBhZGQgYWJpbGl0eSB0bwoJICB1c2UgeW91ciBvd24gaW5zdGFsbCBkaXJlY3RvcmllcwoKMjAwNy0xMS0wOCAxNjo0NyAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nLzogQ01ha2VTZXR1cERpYWxvZy5jeHgsIFFDTWFrZS5jeHg6IEJVRzogIERvbid0CgkgIGVuYWJsZSBnZW5lcmF0ZSBpZiBjb25maWd1cmUgY29tcGxldGVkIHdpdGggZXJyb3JzLiAgRU5IOiAgQWxsb3cKCSAgYnVpbGQgdy8gUXQgY29uZmlndXJlZCB3aXRoIG5vIFNUTCBzdXBwb3J0LgoKMjAwNy0xMS0wOCAxNTo1NCAgZGF2aWQuY29sZQoKCSogU291cmNlL1F0RGlhbG9nL0NNYWtlU2V0dXAuaWNvLCBVdGlsaXRpZXMvUmVsZWFzZS9DTWFrZUxvZ28uaWNvOgoJICBFTkg6IFB1dCBibGFjayBvdXRsaW5lIGFyb3VuZCBhbGwgcmVzb2x1dGlvbnMgb2YgdGhlIG5ldyBpY28KCSAgZmlsZXMuIExvb2tzIGJldHRlciBvbiBhIGRhcmsgYmFja2dyb3VuZCB0aGFuIHRoZSBsaWdodGVyCgkgIG91dGxpbmUuLi4KCjIwMDctMTEtMDggMTQ6MzEgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vRGFyd2luLmNtYWtlOiBFTkg6IGZpeCBidWcgaW4gZGVmYXVsdCBhcmNoLCBpdAoJICB3YXMgdXNpbmcgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIHdoaWNoIGlzIG5vdCBhIGRlZmF1bHQKCjIwMDctMTEtMDggMTM6MDMgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4OiBCVUc6IHRyeSB0byBmaXggY3Jhc2gKCjIwMDctMTEtMDggMTI6MjcgIGNsaW50b24KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogQlVHOiAgaGFuZGxlIHFtYWtlIHJldHVybmluZyBtdWx0aXBsZQoJICBwYXRocyBmb3IgbWtzcGVjcy4gIEZpeGVzICM1OTM1CgoyMDA3LTExLTA4IDEwOjU2ICBjbGludG9uCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEVOSDogIEFkZCBzdXBwb3J0IGZvciBzdGF0aWMgUXQgNC4zCgkgIGJ1aWxkcy4KCjIwMDctMTEtMDggMTA6MzggIGRhdmlkLmNvbGUKCgkqIFRlc3RzLzogQ01ha2VMaXN0cy50eHQsIFR1dG9yaWFsL1N0ZXA2L0NNYWtlTGlzdHMudHh0LAoJICBUdXRvcmlhbC9TdGVwNi9MaWNlbnNlLnR4dCwgVHV0b3JpYWwvU3RlcDYvVHV0b3JpYWxDb25maWcuaC5pbiwKCSAgVHV0b3JpYWwvU3RlcDYvdHV0b3JpYWwuY3h4LAoJICBUdXRvcmlhbC9TdGVwNi9NYXRoRnVuY3Rpb25zL0NNYWtlTGlzdHMudHh0LAoJICBUdXRvcmlhbC9TdGVwNi9NYXRoRnVuY3Rpb25zL01ha2VUYWJsZS5jeHgsCgkgIFR1dG9yaWFsL1N0ZXA2L01hdGhGdW5jdGlvbnMvTWF0aEZ1bmN0aW9ucy5oLAoJICBUdXRvcmlhbC9TdGVwNi9NYXRoRnVuY3Rpb25zL215c3FydC5jeHgsCgkgIFR1dG9yaWFsL1N0ZXA3L0NNYWtlTGlzdHMudHh0LCBUdXRvcmlhbC9TdGVwNy9DVGVzdENvbmZpZy5jbWFrZSwKCSAgVHV0b3JpYWwvU3RlcDcvTGljZW5zZS50eHQsIFR1dG9yaWFsL1N0ZXA3L1R1dG9yaWFsQ29uZmlnLmguaW4sCgkgIFR1dG9yaWFsL1N0ZXA3L2J1aWxkMS5jbWFrZSwgVHV0b3JpYWwvU3RlcDcvYnVpbGQyLmNtYWtlLAoJICBUdXRvcmlhbC9TdGVwNy90dXRvcmlhbC5jeHgsCgkgIFR1dG9yaWFsL1N0ZXA3L01hdGhGdW5jdGlvbnMvQ01ha2VMaXN0cy50eHQsCgkgIFR1dG9yaWFsL1N0ZXA3L01hdGhGdW5jdGlvbnMvTWFrZVRhYmxlLmN4eCwKCSAgVHV0b3JpYWwvU3RlcDcvTWF0aEZ1bmN0aW9ucy9NYXRoRnVuY3Rpb25zLmgsCgkgIFR1dG9yaWFsL1N0ZXA3L01hdGhGdW5jdGlvbnMvbXlzcXJ0LmN4eDogRU5IOiBBZGQgbmV3IFR1dG9yaWFsCgkgIHN0ZXBzLiBEaWZmIGJldHdlZW4gU3RlcDUgYW5kIFN0ZXA2IHNob3dzIGhvdyB0byBhZGQgYSBjcGFjawoJICBkcml2ZW4gaW5zdGFsbGVyIHRvIHlvdXIgcHJvamVjdC4gRGlmZiBiZXR3ZWVuIFN0ZXA2IGFuZCBTdGVwNwoJICBzaG93cyBob3cgdG8gYWRkIGN0ZXN0IGRhc2hib2FyZCBzY3JpcHRpbmcgY2FwYWJpbGl0eS4KCjIwMDctMTEtMDggMTA6MjIgIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy9RQ01ha2VDYWNoZVZpZXcuY3h4OiBDT01QOiBGaXggd2FybmluZ3MuCgoyMDA3LTExLTA4IDEwOjE3ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvOiBDTWFrZVNldHVwRGlhbG9nLmN4eCwgQ01ha2VTZXR1cERpYWxvZy51aSwKCSAgUUNNYWtlLmN4eCwgUUNNYWtlQ2FjaGVWaWV3LmN4eCwgUUNNYWtlQ2FjaGVWaWV3Lmg6CgkgIEVOSDoJYWRkIGNvbnRleHQgbWVudSBmb3IgZGVsZXRpbmcsIGlnbm9yaW5nLCBhbmQgZ2V0dGluZyBoZWxwCgkgIGZvciBjYWNoZSBlbnRyaWVzLiAgRU5IOiAgYWRkIGRlbGV0ZSBjYWNoZSBidXR0b24gRU5IOiAgYWRkCgkgIGluZm9ybWF0aW9uIHN0cmluZyBhYm92ZSBjb25maWd1cmUvZ2VuZXJhdGUgYnV0dG9ucyBFTkg6ICBjaGFuZ2UKCSAgc2VhcmNoIHRvIHNlYXJjaCBib3RoIGNvbHVtbnMsIGFuZCBmcm9tIHJlZ2V4IHRvIHBsYWluIHN0cmluZwoJICBzZWFyY2ggRU5IOiAgYWRkIGJ1ZGR5IGluZm8gaW4gY2FjaGUgZW50cnkgdmlldywgc28gZG91YmxlCgkgIGNsaWNraW5nIGluIHRoZSBsZWZ0IGNvbHVtbgkgICAgc3RhcnRzIGVkaXRpbmcgdGhlIGFzc29jaWF0ZWQKCSAgdmFsdWUuICBCVUc6CWZpeCBmaWxlIHBhdGggZWRpdG9yIHNvIGl0IGdvZXMgYXdheSB3aGVuIGZvY3VzIGlzCgkgIGxvc3QKCjIwMDctMTEtMDggMDk6MDkgIGRhdmlkLmNvbGUKCgkqIE1vZHVsZXMvUGxhdGZvcm0vRGFyd2luLmNtYWtlOiBCVUc6IERvIG5vdCB1cyB0aGUKCSAgc2VhcmNoX3BhdGhzX2ZpcnN0IGZsYWcgb24gb2xkZXIgTWFjIE9TWCAoMTAuMiBhbmQgZWFybGllcikKCSAgc3lzdGVtcy4KCjIwMDctMTEtMDcgMjM6MDggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0xMS0wNyAxNzo0MyAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL1JlbGVhc2Uvdm9nb25fcmVsZWFzZS5jbWFrZTogRU5IOiBhZGQgbXQgdG8gdm9nb24KCSAgcmVsZWFzZQoKMjAwNy0xMS0wNyAxNDozNSAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL2NtY3VybC9DTWFrZUxpc3RzLnR4dDogRU5IOiByZW1vdmUgbWVtZGVidWcuYyBmcm9tIGxpc3QKCjIwMDctMTEtMDcgMTM6MTEgIGhvZmZtYW4KCgkqIENNYWtlQ1BhY2suY21ha2UsIENNYWtlQ1BhY2tPcHRpb25zLmNtYWtlLmluLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja05TSVNHZW5lcmF0b3IuY3h4OiBFTkg6IGNoYW5nZQoJICBDUEFDS19DUkVBVEVfREVTS1RPUF9MSU5LUyB0byBzb21ldGhpbmcgdGhhdCBjYW4gaGFuZGxlIHNwYWNlcyBpbgoJICB0aGUgbmFtZSBvZiB0aGUgZXhlY3R1YWJsZQoKMjAwNy0xMS0wNyAxMTozMSAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nLzogQ01ha2VTZXR1cERpYWxvZy5jeHgsIENNYWtlU2V0dXBEaWFsb2cuaCwKCSAgQ01ha2VTZXR1cERpYWxvZy51aToKCSAgRU5IOiByZW1vdmUgc3RhdHVzIGJhciBhbmQgbW92ZSBpbnRlcnJ1cHQvcHJvZ3Jlc3MgbmV4dCB0bwoJICBjb25maWd1cmUvZ2VuZXJhdGUuCgoyMDA3LTExLTA3IDEwOjA5ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvOiBDTWFrZVNldHVwRGlhbG9nLmN4eCwgQ01ha2VTZXR1cERpYWxvZy5oLAoJICBDTWFrZVNldHVwRGlhbG9nLnVpLCBRQ01ha2VDYWNoZVZpZXcuY3h4LCBRQ01ha2VDYWNoZVZpZXcuaDoKCSAgQlVHOglGaXggYmVoYXZpb3Igb2YKCSAgQ01ha2VTZXR1cERpYWxvZzo6c2V0e0JpbmFyeXxTb3VyY2V9RGlyZWN0b3J5ICAgICAgIHNvIHRoZXkgd29yawoJICByaWdodCB3aGVuIGNhbGxlZCBleHRlcm5hbGx5LiAgICAgICAgRGlzYWJsZSB0aGUgZ2VuZXJhdGUgYnV0dG9uCgkgIHdoZW4gb25lIGhpdHMgY29uZmlndXJlIGFnYWluLiAgRU5IOglTb21lIFVJIHR3ZWFrcyBmb3Igc3BhY2luZy4KCQkgQWxsb3cgdmlld2luZyBjYWNoZSB2YWx1ZXMgd2hpbGUgY29uZmlndXJlL2dlbmVyYXRlIChidXQKCSAgbm90IGVkaXQpLgoKMjAwNy0xMS0wNyAwOToxMiAga2luZwoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXRIYW5kbGVyLmN4eDogQ09NUDogRml4IGNoZWNrIGZvcgoJICBmaWxlLXRvby1iaWcgdG8gYXZvaWQgd2FybmluZ3MuCgoyMDA3LTExLTA3IDA4OjU5ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBDT01QOiBGaXggd2FybmluZyB3aGVuIGdjb3VudAoJICBzdHJlYW0gbWV0aG9kIGRvZXMgbm90IHJlYWxseSByZXR1cm4gc3RkOjpzdHJlYW1zaXplLgoKMjAwNy0xMS0wNiAyMzowMCAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nLzogQ01ha2VMaXN0cy50eHQsIENNYWtlU2V0dXAuaWNucywgUUNNYWtlLmN4eDoKCSAgRU5IOglGb3IgTWFjIE9TWCAtLSBhZGQgYXBwIGljb24sIGFuZCBpbXBsZW1lbnQgZmluZCBvZiBjbWFrZQoJICBleGVjdXRhYmxlLgoKMjAwNy0xMS0wNiAyMjo1NSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTExLTA2IDIyOjI3ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvQ01ha2VTZXR1cERpYWxvZy5jeHg6IEJVRzogIGRpc2FibGUgZHJhZyAmIGRyb3AKCSAgd2hpbGUgYnVzeS4KCjIwMDctMTEtMDYgMjE6NTEgIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy9DTWFrZVNldHVwRGlhbG9nLmN4eDogQlVHOiBvbmx5IGhhbmRsZSBkcm9wCgkgIGV2ZW50cyBpZiB0aGV5J2xsIHJlYWxseSBjaGFuZ2Ugc29tZXRoaW5nLgoKMjAwNy0xMS0wNiAyMToyNyAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nLzogQ01ha2VTZXR1cERpYWxvZy5jeHgsIENNYWtlU2V0dXBEaWFsb2cuaDoKCSAgQlVHOglQdXQgYmFjayByZWFkL3dyaXRlIG9mIG9yaWdpbmFsIFdoZXJlQnVpbGQqIHNldHRpbmdzLiAgRU5IOgoJICBNYWtlIHB1YmxpYyBhIGNvdXBsZSBmdW5jdGlvbnMgdG8gc3VwcG9ydCBjb21tYW5kIGxpbmUgYXJncy4KCSAgVHJ5IHJlbW92aW5nIGV4aXQgYWZ0ZXIgZ2VuZXJhdGUgdG8gc2VlIGlmIG90aGVycyBsaWtlIGl0LgoJICBDT01QOiAgRml4IHdhcm5pbmdzLgoKMjAwNy0xMS0wNiAxOToyNSAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nLzogQ01ha2VTZXR1cC5jeHgsIENNYWtlU2V0dXBEaWFsb2cuY3h4LAoJICBDTWFrZVNldHVwRGlhbG9nLmgsIENNYWtlU2V0dXBEaWFsb2cudWksIFFDTWFrZS5jeHgsCgkgIFFDTWFrZUNhY2hlVmlldy5jeHgsIFFDTWFrZUNhY2hlVmlldy5oOgoJICBFTkg6CURpc2FibGUgbWVudS9idXR0b25zIHdoZW4gZG9pbmcgY29uZmlndXJlLgkgIEFsc28KCSAgZGlzYWJsZSBnZW5lcmF0ZSB1bnRpbCBjb25maWd1cmUgaXMgZG9uZS4JICAgU2F2ZSBtb3JlCgkgIHNldHRpbmdzIChsYXN0IDEwIGJpbmFyeSBkaXJlY3RvcmllcywgZXhpdCBhZnRlciBnZW5lcmF0ZSwKCQkJICAgICAgbGFzdCBnZW5lcmF0b3IpCSAgICAgU29tZSBVSSB0d2Vha3MgZm9yCgkgIGJldHRlciBsYXlvdXQuCVN1cHBvcnQgZHJhZyAmIGRyb3Agb2YKCSAgQ01ha2VMaXN0cy50eHQvQ01ha2VDYWNoZS50eHQgZmlsZXMuCgoyMDA3LTExLTA2IDE0OjE2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbURvY3VtZW50VmFyaWFibGVzLmN4eCwgY21NYWtlZmlsZS5jeHgsCgkgIGNtUHJvcGVydHlNYXAuY3h4LCBjbWFrZS5jeHgsIGNtYWtlLmg6IEVOSDogZGlmZmVyZW50IHdheSBvZgoJICB0ZXN0aW5nIHByb3BlcnRpZXMKCjIwMDctMTEtMDYgMTQ6MTQgIG1hcnRpbmsKCgkqIENNYWtlTGlzdHMudHh0LCBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogbW92ZSBDTUFLRV9TVFJJQ1QKCSAgb3B0aW9uIHRvIHRoZSB0b3AKCjIwMDctMTEtMDYgMTQ6MTEgIG1hcnRpbmsKCgkqIFRlc3RzL0NNYWtlTGlzdHMudHh0OiBFTkg6IGFkZCBkb2MgdGVzdCBmb3Igc3RyaWN0IGJ1aWxkcwoKMjAwNy0xMS0wNiAxNDoxMCAgbWFydGluawoKCSogVGVzdHMvRG9jVGVzdC86IENNYWtlTGlzdHMudHh0LCBEb2NUZXN0LmN4eDogRU5IOiBhZGQgYSBldHN0IHRvCgkgIHZlcmlmeSBwcm9wcyBhcmUgZG9jdW1lbnRlZAoKMjAwNy0xMS0wNiAwODoyOCAgaG9mZm1hbgoKCSogU291cmNlL0NQYWNrLzogY21DUGFja0dlbmVyYXRvci5jeHgsIGNtQ1BhY2tHZW5lcmF0b3IuaCwKCSAgY3BhY2suY3h4OiBFTkg6IGNoYW5nbmUgUHJvY2Vzc0dlbmVydG9yIHRvIERvUGFja2FnZQoKMjAwNy0xMS0wNiAwODoyNyAgaG9mZm1hbgoKCSogU291cmNlL0NQYWNrL2NtQ1BhY2tEZWJHZW5lcmF0b3IuY3h4OiBTVFlMRTogZml4IGxpbmUgbGVuZ3RoCgkgIGlzc3VlCgoyMDA3LTExLTA2IDAxOjE2ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvOiBDTWFrZVNldHVwRGlhbG9nLmN4eCwgQ01ha2VTZXR1cERpYWxvZy5oLAoJICBDTWFrZVNldHVwRGlhbG9nLnVpLCBRQ01ha2UuY3h4LCBRQ01ha2UuaDogRU5IOiAgQWRkIG1lbnVzIGluCgkgIG1lbnUgYmFyLgkgICBBZGQgcmVsb2FkICYgZGVsZXRlIGNhY2hlIG9wdGlvbnMuCSAgICAgQWRkCgkgIG9wdGlvbiB0byBxdWl0IGFmdGVyIGdlbmVyYXRpb24gc3RlcCAobm90IHlldCByZW1lbWJlcmVkIGJldHdlZW4KCSAgc2Vzc2lvbnMpLgkgICAgQWRkIEhlbHAgLT4gQWJvdXQJICAgICBSZW1vdmUgSGVscCBidXR0b24gKGluCgkgIG1lbnUgbm93KQkgICBSZW1vdmUgQ2FuY2VsIGJ1dHRvbiAoRmlsZSAtPiBFeGl0IGFuZCB0aGUKCSAgV2luZG93ICdYJyBidXR0b24gZXhpc3QpCgoyMDA3LTExLTA2IDAwOjA0ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvOiBDTWFrZVNldHVwRGlhbG9nLmN4eCwgQ01ha2VTZXR1cERpYWxvZy51aTogRU5IOgoJICBjbGFyaWZ5IGxhYmVsIGZvciBjdXJyZW50IGdlbmVyYXRvci4KCjIwMDctMTEtMDYgMDA6MDIgIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy86IENNYWtlU2V0dXBEaWFsb2cuY3h4LCBDTWFrZVNldHVwRGlhbG9nLmgsCgkgIENNYWtlU2V0dXBEaWFsb2cudWksIFFDTWFrZUNhY2hlVmlldy5jeHg6IEVOSDogIHNlYXJjaCBpcyBjYXNlCgkgIGluc2Vuc2l0aXZlIEVOSDogIHB1dCBiYWNrIHByb21wdCBmb3IgZ2VuZXJhdG9yLCBhbmQgY2hhbmdlIGNvbWJvCgkgIHRvIGxhYmVsCSBzaG93aW5nIGN1cnJlbnQgZ2VuZXJhdG9yLgoKMjAwNy0xMS0wNSAyMjozMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTExLTA1IDE5OjI2ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvOiBDTWFrZVNldHVwRGlhbG9nLmN4eCwgQ01ha2VTZXR1cERpYWxvZy5oLAoJICBDTWFrZVNldHVwRGlhbG9nLnVpLCBRQ01ha2VDYWNoZVZpZXcuY3h4LCBRQ01ha2VDYWNoZVZpZXcuaDoKCSAgRU5IOglSZXBsYWNlIHByb21wdCBmb3IgZ2VuZXJhdG9yIHdpdGggY29tYm9ib3ggaW4gVUkuICBFTkg6CgkgIE1ha2UgIlNob3cgQWR2YW5jZWQiIHRvZ2dsZSB3b3JrLiAgRU5IOiAgQWRkIHJlZ2V4IHNlYXJjaAoJICBjYXBhYmlsaXRpZXMuICBFTkg6ICBSZWFkIGV4aXN0aW5nIHJlZ2lzdHJ5IGVudHJpZXMgZnJvbSBNRkMKCSAgQ01ha2VTZXR1cC5leGUgKHdpbGwgc2F2ZSBsYXRlcikuCgoyMDA3LTExLTA1IDE4OjA2ICBhbGV4CgoJKiBDTWFrZUxpc3RzLnR4dDogQ09NUDogdXNlIFJQQVRIIGlzIGJ1aWxkaW5nIFF0RGlhbG9nIGFuZCB0aGUgUXQKCSAgbGlicyBhcmUgbm90IGluIC9saWIgb3IgL3Vzci9saWIgKHNhbWUgbG9naWMgYXMgZm9yIGNjbWFrZSkKCgkgIEFsZXgKCjIwMDctMTEtMDUgMTc6NDQgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c19pb3NfaW9zdHJlYW0uaC5pbjogQ09NUDogQWRkIHN0cmVhbXNpemUgYW5kCgkgIHN0cmVhbW9mZiB0byBrd3N5c19pb3MgbmFtZXNwYWNlIGZvciBhbmNpZW50IHN0cmVhbXMuCgoyMDA3LTExLTA1IDE2OjU3ICBkYXZpZC5jb2xlCgoJKiBEYXJ0TG9jYWwuY29uZi5pbjogU1RZTEU6IFRyYWRlIGluIGV4cGVjdGVkIGFycmFraXMgZGFzaGJvYXJkcwoJICBmb3IgcmVzdXJyZWN0ZWQgZXF1aXZhbGVudCBvbmVzIG9uIGRhc2gxNC4KCjIwMDctMTEtMDUgMTY6NTUgIGhvZmZtYW4KCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBDUGFjay9jbUNQYWNrRGViR2VuZXJhdG9yLmgsCgkgIENQYWNrL2NtQ1BhY2tHZW5lcmF0b3IuY3h4LCBDUGFjay9jbUNQYWNrR2VuZXJhdG9yLmgsCgkgIENQYWNrL2NtQ1BhY2tHZW5lcmF0b3JGYWN0b3J5LmN4eCwKCSAgQ1BhY2svY21DUGFja0dlbmVyYXRvckZhY3RvcnkuaCwKCSAgQ1BhY2svY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4LAoJICBDUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5oLCBDUGFjay9jbUNQYWNrTlNJU0dlbmVyYXRvci5oLAoJICBDUGFjay9jbUNQYWNrT1NYWDExR2VuZXJhdG9yLmgsCgkgIENQYWNrL2NtQ1BhY2tQYWNrYWdlTWFrZXJHZW5lcmF0b3IuaCwKCSAgQ1BhY2svY21DUGFja1JQTUdlbmVyYXRvci5oLCBDUGFjay9jbUNQYWNrVEdaR2VuZXJhdG9yLmgsCgkgIENQYWNrL2NtQ1BhY2taSVBHZW5lcmF0b3IuaCwgQ1BhY2svY3BhY2suY3h4OiBFTkg6IGNoYW5nZSBuYW1lCgoyMDA3LTExLTA1IDE2OjMzICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgQ1BhY2svY21DUGFja0dlbmVyYXRvckZhY3RvcnkuY3h4LAoJICBDUGFjay9jbUNQYWNrR2VuZXJhdG9yRmFjdG9yeS5oLCBDUGFjay9jbUNQYWNrR2VuZXJhdG9ycy5jeHgsCgkgIENQYWNrL2NtQ1BhY2tHZW5lcmF0b3JzLmgsIENQYWNrL2NwYWNrLmN4eDogRU5IOiBjaGFuZ2UgbmFtZSBvZgoJICBjbGFzcwoKMjAwNy0xMS0wNSAxNDozNCAga2luZwoKCSogU291cmNlL2NtYWtlLmN4eCwgU291cmNlL0NQYWNrL2NtQ1BhY2tEZWJHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja05TSVNHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja1BhY2thZ2VNYWtlckdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrUGFja2FnZU1ha2VyR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXRIYW5kbGVyLmN4eCwKCSAgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eCwgVXRpbGl0aWVzL2NtY3VybC9mdHAuYzogQ09NUDogRml4CgkgIHdhcm5pbmdzIG9uIDY0LWJpdCBNYWMgT1MgWCBidWlsZC4gIFBhdGNoIGZyb20gaXNzdWUgIzM2OTcuCgoyMDA3LTExLTA1IDEzOjIwICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvOiBDTWFrZVNldHVwLmN4eCwgQ01ha2VTZXR1cERpYWxvZy5jeHgsCgkgIENNYWtlU2V0dXBEaWFsb2cuaCwgUUNNYWtlLmN4eCwgUUNNYWtlLmgsIFFDTWFrZUNhY2hlVmlldy5jeHgsCgkgIFFDTWFrZUNhY2hlVmlldy5oOgoJICBFTkg6CVByb21wdCB1c2VyIGZvciBnZW5lcmF0b3Igd2hlbiB0aGVyZSBpcyBub25lLgkgICAgIE1hbnkKCSAgbWlub3IgaW1wcm92ZW1lbnRzLCBidWcgZml4ZXMsIGFuZCBzdHlsZSBmaXhlcy4KCjIwMDctMTEtMDQgMjI6MDAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0xMS0wNCAwMToyMCAgbWlndWVsZgoKCSogTW9kdWxlcy9GaW5kd3hXaWRnZXRzLmNtYWtlOiBCVUc6IEZpeGVkIGVycm9yIHJlbGF0ZWQgdG8gbWlzc2luZwoJICBxdW90ZXMgYXJvdW5kIHZhcmlhYmxlLgoKMjAwNy0xMS0wMyAyMzowNCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTExLTAzIDE5OjQ4ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvOiBDTWFrZVNldHVwRGlhbG9nLmN4eCwgQ01ha2VTZXR1cERpYWxvZy5oLAoJICBDTWFrZVNldHVwRGlhbG9nLnVpLCBRQ01ha2UuY3h4LCBRQ01ha2UuaCwgUUNNYWtlQ2FjaGVWaWV3LmN4eCwKCSAgUUNNYWtlQ2FjaGVWaWV3Lmg6CgkgIEVOSDoJQWxsb3cgd29ya2luZyB3aXRoIGVtcHR5IGJ1aWxkIGRpcmVjdG9yaWVzLgkgICBNYWtlCgkgIG91dHB1dCB3aW5kb3cgYSBiaXQgc21hbGxlciBjb21wYXJlZCB0byBjYWNoZSB2aWV3LgkgICAgIFByb21wdAoJICBvbiBYJ2luZyB3aW5kb3cgYXMgd2VsbCBhcyBoaXR0aW5nIGNhbmNlbC4JICAgIENvbG9yIG5ldyBjYWNoZQoJICB2YWx1ZXMgcmVkLCBhbmQgcHV0IHRoZW0gZmlyc3QuCgoyMDA3LTExLTAzIDEzOjI4ICBjbGludG9uCgoJKiBTb3VyY2UvUXREaWFsb2cvUUNNYWtlQ2FjaGVWaWV3LmN4eDogQ09NUDogIEZpeCBzb21lIGNvbXBpbGUKCSAgd2FybmluZ3MuICBTVFlMRTogTWFrZSBzdHlsZSBhIGJpdCBtb3JlIGNvbnNpc3RlbnQuCgoyMDA3LTExLTAzIDEyOjUwICBob2ZmbWFuCgoJKiBTb3VyY2UvUXREaWFsb2cvOiBDTWFrZVNldHVwLmN4eCwgQ01ha2VTZXR1cERpYWxvZy5oLCBRQ01ha2UuaCwKCSAgUUNNYWtlQ2FjaGVWaWV3Lmg6IEVOSDogcmVtb3ZlIHF0IHdhcm5pbmdzIGZyb20gcXQgd2l0aCBNUwoJICBjb21waWxlcgoKMjAwNy0xMS0wMyAxMjowNyAgaG9mZm1hbgoKCSogU291cmNlL1F0RGlhbG9nL1FDTWFrZUNhY2hlVmlldy5oOiBFTkg6IGZpeCBjb21waWxlIGVycm9yIG9uCgkgIHdpbmRvd3MKCjIwMDctMTEtMDMgMTA6MzAgIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy86IENNYWtlTGlzdHMudHh0LCBDTWFrZVNldHVwLmN4eCwgQ01ha2VTZXR1cC5pY28sCgkgIENNYWtlU2V0dXAucG5nLCBDTWFrZVNldHVwLnFyYywgQ01ha2VTZXR1cC5yYywKCSAgQ01ha2VTZXR1cERpYWxvZy5jeHgsIENNYWtlU2V0dXBEaWFsb2cuaCwgQ01ha2VTZXR1cERpYWxvZy5wbmcsCgkgIENNYWtlU2V0dXBEaWFsb2cudWksIFFDTWFrZS5jeHgsIFFDTWFrZS5oLCBRQ01ha2VDYWNoZVZpZXcuY3h4LAoJICBRQ01ha2VDYWNoZVZpZXcuaDoKCSAgRU5IOglBZGQgaW50ZXJydXB0IGJ1dHRvbiBuZWFyIHByb2dyZXNzIGJhci4gICAgICAgIEltcGxlbWVudAoJICBoZWxwIGJ1dHRvbi4JICAgICAgSW1wbGVtZW50IGNhbmNlbCBidXR0b24uCSAgICAgIEFkZAoJICBzY3JvbGxhYmxlIG91dHB1dCB3aW5kb3cuCSAgIFJlcGxhY2UgT04vT0ZGICYgY29tYm9ib3gKCSAgZWRpdG9ycyB3aXRoIGNoZWNrYm94ZXMuCSAgVGFiL2JhY2t0YWIgaW4gY2FjaGUgdGFibGUganVtcHMKCSAgYmV0d2VlbiB2YWx1ZXMgKG5vdCBuYW1lcyBhbmQgdmFsdWVzKSAgICAgICAgQWRkIHRvb2x0aXBzIHRvIHNob3cKCSAgaGVscCBzdHJpbmdzLiAgICAgICAgQWRkIGFwcGxpY2F0aW9uIGljb24gYW5kIHF0bWFpbiBmb3IgV2luZG93cy4KCgkgIEJVRzoJRml4IHNhdmUgb2YgY2FjaGUgdmFsdWVzIG9uIGNvbmZpZ3VyZS4KCjIwMDctMTEtMDIgMjM6MDAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0xMS0wMiAxNDoxMiAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nL0NNYWtlTGlzdHMudHh0OiBDT01QOiBGaXggYnVpbGQgb24gV2luZG93cy4KCjIwMDctMTEtMDIgMTI6MDMgIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBhZGQgb3B0aW9uIGZvciBxdCBkaWFsb2cKCjIwMDctMTEtMDIgMTE6NTUgIGNsaW50b24KCgkqIFNvdXJjZS9RdERpYWxvZy86IENNYWtlU2V0dXAuY3h4LCBDTWFrZVNldHVwRGlhbG9nLmN4eCwKCSAgQ01ha2VTZXR1cERpYWxvZy5oLCBRQ01ha2UuY3h4LCBRQ01ha2UuaCwgUUNNYWtlQ2FjaGVWaWV3LmN4eCwKCSAgUUNNYWtlQ2FjaGVWaWV3Lmg6IFNUWUxFOiAgQWRkIGxpY2Vuc2UgaW5mbyB0byBjb2RlLgoKMjAwNy0xMS0wMiAxMTo1MCAgY2xpbnRvbgoKCSogU291cmNlL1F0RGlhbG9nLzogQ01ha2VMaXN0cy50eHQsIENNYWtlU2V0dXAuY3h4LCBDTWFrZVNldHVwLnFyYywKCSAgQ01ha2VTZXR1cERpYWxvZy5jeHgsIENNYWtlU2V0dXBEaWFsb2cuaCwgQ01ha2VTZXR1cERpYWxvZy5wbmcsCgkgIENNYWtlU2V0dXBEaWFsb2cudWksIFFDTWFrZS5jeHgsIFFDTWFrZS5oLCBRQ01ha2VDYWNoZVZpZXcuY3h4LAoJICBRQ01ha2VDYWNoZVZpZXcuaDogRU5IOiAgQmVnaW5uaW5ncyBvZiBhIFF0IFVJIGZvciBDTWFrZS4KCjIwMDctMTEtMDIgMTA6NDYgIGhvZmZtYW4KCgkqIFRlc3RzLzogQ01ha2VMaXN0cy50eHQsIFdyYXBwaW5nL0NNYWtlTGlzdHMudHh0LAoJICBXcmFwcGluZy9xdG5vcXRtYWluLmN4eDogRU5IOiByZW1vdmUgZmluZHF0MyBmcm9tIGNtYWtlJ3MKCSAgY21ha2VsaXN0IGZpbGVzCgoyMDA3LTExLTAxIDIyOjUwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMTEtMDEgMTY6MjEgIGhvZmZtYW4KCgkqIFNvdXJjZS9RdERpYWxvZy9SRUFETUU6IEVOSDogY3JlYXRlIGEgZGlyZWN0b3J5IGZvciBxdCBpbnRlcmZhY2UKCSAgdG8gY21ha2UKCjIwMDctMTEtMDEgMDk6NTIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ1BhY2tSUE0uY21ha2U6IEVOSDogZml4IGZvciBSUE0gZ2VuZXJhdG9yIGZyb20gRXJpYwoKMjAwNy0xMS0wMSAwODozNiAgZGF2aWQuY29sZQoKCSogVXRpbGl0aWVzL1JlbGVhc2UvQ01ha2VMb2dvLmljbzogRU5IOiBBZGQgbW9yZSByZXNvbHV0aW9ucyBmb3IKCSAgQ01ha2UgaWNvbnMgdG8gYXZvaWQgdGhhdCBibG9hdGVkIGNodW5reSBibG93biB1cCBpY29uIGxvb2suLi4KCjIwMDctMTAtMzEgMjI6NDggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0xMC0zMSAxMzo1NyAgbWFydGluawoKCSogU291cmNlL2NtRG9jdW1lbnRWYXJpYWJsZXMuY3h4OiBFTkg6IG1pbm9yIGZpeAoKMjAwNy0xMC0zMSAxMzozOCAgbWFydGluawoKCSogU291cmNlL2NtRG9jdW1lbnRWYXJpYWJsZXMuY3h4OiBFTkg6IGFkZGVkIGRvY3VtZW50YXRpb24gZm9yIG1vcmUKCSAgdmFyaWFibGVzCgoyMDA3LTEwLTMxIDEyOjU1ICBob2ZmbWFuCgoJKiBDTWFrZUNQYWNrLmNtYWtlLCBDTWFrZUNQYWNrT3B0aW9ucy5jbWFrZS5pbiwKCSAgQ1BhY2tDb25maWcuY21ha2UuaW4sIENQYWNrU291cmNlQ29uZmlnLmNtYWtlLmluLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4OiBFTkg6IGFkZAoJICBDUEFDS19QUk9KRUNUX0NPTkZJR19GSUxFIG9wdGlvbiB0byBDUGFjawoKMjAwNy0xMC0zMSAxMDo0OSAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL1JlbGVhc2UvQ01ha2VMb2dvLmljbzogRU5IOiBhZGQgaWNvbiBmb3IgaW5zdGFsbGVyCgoyMDA3LTEwLTMxIDA5OjM5ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBCVUc6IE1lcmdlIGNoYW5nZXMgZnJvbSAxLjIwNS0xLjIwNwoJICBmcm9tIHRydW5rIHRvIGdjY3htbC1nY2M0MiBicmFuY2guCgoyMDA3LTEwLTMxIDA5OjM3ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuaHh4LmluOiBTVFlMRTogRml4IGRvY3VtZW50YXRpb24gKG1lcmdlCgkgIGZyb20gdHJ1bmspCgoyMDA3LTEwLTMxIDA5OjAzICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja05TSVNHZW5lcmF0b3IuY3h4OiBFTkg6IGZpeCBsaW5lIGxlbmd0aAoKMjAwNy0xMC0zMSAwODo1MCAgZGF2aWQuY29sZQoKCSogTW9kdWxlcy9DUGFjay5jbWFrZSwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tDeWd3aW5CaW5hcnlHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja0N5Z3dpbkJpbmFyeUdlbmVyYXRvci5oLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja0N5Z3dpblNvdXJjZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrQ3lnd2luU291cmNlR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrRGViR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tEZWJHZW5lcmF0b3IuaCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrT1NYWDExR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tPU1hYMTFHZW5lcmF0b3IuaCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tQYWNrYWdlTWFrZXJHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja1BhY2thZ2VNYWtlckdlbmVyYXRvci5oLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja1JQTUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrUlBNR2VuZXJhdG9yLmg6IEVOSDogQWRkIENQQUNLX1NFVF9ERVNURElSCgkgIGhhbmRsaW5nIHRvIGVuYWJsZSBwYWNrYWdpbmcgb2YgaW5zdGFsbGVkIGZpbGVzIGluIGFic29sdXRlCgkgIGxvY2F0aW9ucy4gV2l0aCB0aGlzIHNldHRpbmcgb24sIGNwYWNrIHdpbGwgc2V0IHRoZSBERVNURElSIGVudgoJICB2YXIgd2hlbiBidWlsZGluZyB0aGUgcGFja2FnZSBzbyB0aGF0IGZpbGVzIGVuZCB1cCBpbiB0aGVpcgoJICBpbnRlbmRlZCBsb2NhdGlvbnMuIERlZmF1bHQgYmVoYXZpb3IgaXMgbm90IHRvIHNldCBERVNURElSIGZvcgoJICBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4gSGVscHMgYWRkcmVzcyBpc3N1ZSAjNDk5MyBhbmQgaXNzdWUKCSAgIzUyNTcuIEFsc28sIHJlbW92ZSB1bnVzZWQgQ1BBQ0tfVVNFX0RFU1RESVIgdmFyaWFibGUuIEVOSDogQWRkCgkgIHZhcmlhYmxlIENQQUNLX1BBQ0tBR0lOR19JTlNUQUxMX1BSRUZJWCB0byBhbGxvdyBvdmVycmlkaW5nIHRoZQoJICBDUGFjayBHZXRQYWNrYWdpbmdJbnN0YWxsUHJlZml4IGZyb20gYSBwcm9qZWN0J3MgQ01ha2VMaXN0cyBmaWxlCgkgIGlmIG5lY2Vzc2FyeS4gQ291bGQgYmUgdXNlZCB0byByZW1vdmUgdGhlIGFubm95aW5nIC91c3IgcHJlZml4CgkgIHN0aWxsIHVzZWQgYnkgZGVmYXVsdCBpbiB0aGUgTWFjIFBhY2thZ2VNYWtlciBnZW5lcmF0b3IuCgoyMDA3LTEwLTMwIDIzOjA0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMTAtMzAgMjM6MDIgIGhvZmZtYW4KCgkqIENNYWtlQ1BhY2suY21ha2UsIENQYWNrQ29uZmlnLmNtYWtlLmluLAoJICBDUGFja1NvdXJjZUNvbmZpZy5jbWFrZS5pbiwgTW9kdWxlcy9DUGFjay5jbWFrZSwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tOU0lTR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tSUE1HZW5lcmF0b3IuY3h4OiBFTkg6IGNwYWNrIGNoYW5nZXMsIHJlbW92ZQoJICB0aGUgZXNjYXBlIHZhcmlhYmxlIHN0dWZmIGFzIGl0IGlzIG5vdCBuZWVkZWQgaWYgeW91IHByb3ZpZGUgYQoJICBjb25maWcgZmlsZSBmb3IgY3BhY2sKCjIwMDctMTAtMzAgMTE6MDMgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVRhcmdldC5jeHg6IEJVRzogZml4IHVuZGVmaW5lZCBwcm9wZXJ0eSBGUkFNRVdPUksKCjIwMDctMTAtMzAgMTA6NTcgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEJVRzogZml4IGJhZCBzZXQgcHJvcGVydHkgY29kZSBpbiBjbWFrZQoKMjAwNy0xMC0zMCAxMDoxNiAgaG9mZm1hbgoKCSogTW9kdWxlcy9DUGFja1JQTS5jbWFrZTogRU5IOiB1c2UgY3BhY2sgZ2VuZXJpYyB2YXJpYWJsZSBpZiBycG0KCSAgb25lIGlzIG5vdCBzZXQKCjIwMDctMTAtMzAgMTA6MTYgIGhvZmZtYW4KCgkqIENNYWtlQ1BhY2suY21ha2U6IEVOSDogZml4IGZvciBjeWd3aW4gcGFja2FnZQoKMjAwNy0xMC0yOSAyMjo1OCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTEwLTI5IDIxOjEwICBob2ZmbWFuCgoJKiBUZW1wbGF0ZXMvY3lnd2luLXBhY2thZ2Uuc2guaW46IEVOSDogYWRkIHBhY2thZ2Ugc2NyaXB0IGZvciBjbWFrZQoJICBwcm9qZWN0CgoyMDA3LTEwLTI5IDEyOjIxICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUJvb3RzdHJhcENvbW1hbmRzLmN4eCwgY21Db21tYW5kcy5jeHg6IEVOSDogbW92ZSBsaXN0CgkgIGNvbW1hbmQgdG8gYm9vdHN0cmFwIGNvbW1hbmRzCgoyMDA3LTEwLTI5IDA4OjExICBob2ZmbWFuCgoJKiBDTWFrZUNQYWNrLmNtYWtlLCBNb2R1bGVzL0NQYWNrLmNtYWtlLCBNb2R1bGVzL05TSVMudGVtcGxhdGUuaW4sCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrTlNJU0dlbmVyYXRvci5jeHg6IEVOSDogYWRkIGFiaWxpdHkgdG8gc2V0CgkgIGluc3RhbGxlciBpY29ucywgbGlua3MgdG8gd2ViIHBhZ2VzLCBuc2lzIGNvZGUgaW4gdGhlIGljb24KCSAgc2VjdGlvbiBvZiB0aGUgdGVtcGxhdGUsIGFuZCBhYmlsaXR5IHRvIGVzY2FwZSB2YXJpYWJsZXMKCSAgY29ycmVjdGx5CgoyMDA3LTEwLTI4IDIyOjU4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMTAtMjcgMjM6MDUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0xMC0yNiAyMzoxMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTEwLTI2IDIyOjU3ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwgU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja1RHWkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrVGFyQ29tcHJlc3NHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFTkg6IG1vdmUgY2hhbmdlcyBmcm9tIGhlYWQKCjIwMDctMTAtMjYgMTM6MzYgIGFsZXgKCgkqIFNvdXJjZS9jbUZpbmRCYXNlLmN4eDogU1RZTEU6IGNoYW5nZSB3b3JkaW5nIG9mIEZJTkRfWFhYKCkgZG9jcwoJICB0byBiZSBtb3JlIGNvcnJlY3QKCgkgIEFsZXgKCjIwMDctMTAtMjYgMTI6MTMgIHNlYW5tY2JyaWRlCgoJKiBTb3VyY2Uva3dzeXMvOiBTeXN0ZW1Ub29scy5jeHgsIFN5c3RlbVRvb2xzLmh4eC5pbjogU1RZTEU6IGZpeGVkCgkgIG1pc3NwZWxsaW5ncyBvZiBNYWMgT1MgWAoKMjAwNy0xMC0yNiAwOTo1NSAgYWxleAoKCSogU291cmNlL2NtRmluZEJhc2UuY3h4LCBTb3VyY2UvY21GaW5kQmFzZS5oLAoJICBTb3VyY2UvY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4LCBTb3VyY2UvY21GaW5kUGF0aENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21GaW5kUHJvZ3JhbUNvbW1hbmQuY3h4LAoJICBUZXN0cy9GaW5kUGFja2FnZVRlc3QvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9pbmNsdWRlL2Zvby5oOiBFTkg6IGFkZCBzdXBwb3J0IGZvcgoJICBDTUFLRV9GSU5EX1BSRUZJWF9QQVRIIGFzIGRpc2N1c3NlZCB3aXRoIEJyYWQuCgkgIENNQUtFX0ZJTkRfUFJFRklYX1BBVEggaXMgYm90aCBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBhbmQgYQoJICBjbWFrZSB2YXJpYWJsZSwgd2hpY2ggaXMgYSBsaXN0IG9mIGJhc2UgZGlyZWN0b3JpZXMgd2hlcmUKCSAgRklORF9QQVRILCBGSU5EX0ZJTEUsIEZJTkRfUFJPR1JBTSBhbmQgRklORF9MSUJSQVJZIHdpbGwgc2VhcmNoCgkgIGluIHRoZSByZXNwZWN0aXZlIHN1YmRpcmVjdG9yaWVzCgoJICBBbGV4CgoyMDA3LTEwLTI1IDIyOjUzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMTAtMjUgMTQ6MDMgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLAoJICBNb2R1bGVzL0NQYWNrLlNUR1pfSGVhZGVyLnNoLmluLCBNb2R1bGVzL0ZpbmRLREUzLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRLREU0LmNtYWtlLCBNb2R1bGVzL0ZpbmRQeXRob25JbnRlcnAuY21ha2UsCgkgIE1vZHVsZXMvS0RFM01hY3Jvcy5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9EcmFnb25GbHkuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vR05VLmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL05ldEJTRC5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9Vbml4UGF0aHMuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3NQYXRocy5jbWFrZSwgU291cmNlL2NtRGVwZW5kc0ZvcnRyYW4uY3h4LAoJICBTb3VyY2UvY21GaWxlQ29tbWFuZC5oLCBTb3VyY2UvY21GaW5kUGFja2FnZUNvbW1hbmQuaCwKCSAgU291cmNlL2NtSWZDb21tYW5kLmN4eCwgU291cmNlL2NtSWZDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUluc3RhbGxDb21tYW5kLmN4eCwgU291cmNlL2NtSW5zdGFsbENvbW1hbmQuaCwKCSAgU291cmNlL2NtTWFrZWZpbGUuY3h4LCBTb3VyY2UvY21SZW1vdmVEZWZpbml0aW9uc0NvbW1hbmQuaCwKCSAgU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4LCBTb3VyY2UvY21UcnlSdW5Db21tYW5kLmgsCgkgIFNvdXJjZS9jbWFrZS5jeHgsIFNvdXJjZS9jbWFrZW1haW4uY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja1RHWkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrVGFyQ29tcHJlc3NHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY3BhY2suY3h4OiBFTkg6IG1lcmdlIGluIHN0dWZmIGZyb20gaGVhZAoKMjAwNy0xMC0yNSAxMzoyOSAga2luZwoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQlVHOiBGaXggYnVnIzU1OTAuICBXaGVuIGNvbnZlcnRpbmcKCSAgYSByZWxhdGl2ZSBwYXRoIGJldHdlZW4gdHdvIGZ1bGwgcGF0aHMgb24gZGlmZmVyZW50IHdpbmRvd3MgZHJpdmUKCSAgbGV0dGVycyBkbyBub3QgY3JlYXRlIGEgLi4vLi4vZDovZm9vL2JhciBwYXRoIGFuZCBqdXN0IHJldHVybiB0aGUKCSAgZnVsbCBwYXRoIHRvIHRoZSBkZXN0aW5hdGlvbi4KCjIwMDctMTAtMjUgMTM6MjYgIGFsZXgKCgkqIE1vZHVsZXMvQ1BhY2tEZWIuY21ha2UsIFNvdXJjZS9DUGFjay9jbUNQYWNrRGViR2VuZXJhdG9yLmN4eDoKCSAgQlVHOiByZW5hbWUgREVCSUFOX1BBQ0tBR0VfKiB2YXJpYWJsZXMgdG8gQ1BBQ0tfREVCSUFOX1BBQ0tBR0VfKgoJICB2YXJpYWJsZXMgdG8gbWFrZSB0aGVtIGFjdHVhbGx5IHdvcmsKCgkgIEFsZXgKCjIwMDctMTAtMjQgMjM6MjAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0xMC0yNCAxNDo0MyAgbWFydGluawoKCSogU291cmNlLzogY21HZXRQcm9wZXJ0eUNvbW1hbmQuY3h4LCBjbUdldFByb3BlcnR5Q29tbWFuZC5oLAoJICBjbVByb3BlcnR5RGVmaW5pdGlvbi5oLCBjbWFrZS5jeHgsIGNtYWtlLmg6IEVOSDogYWRkIGFiaWxpdHkgdG8KCSAgZ2V0IGRvY3VtZW50YWl0b24gb2YgYSBwcm9wZXJ0eSBmcm9tIGEgc2NyaXB0CgoyMDA3LTEwLTI0IDExOjM2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Eb2N1bWVudGF0aW9uLmN4eCwgU291cmNlL2NtRG9jdW1lbnRhdGlvbi5oLAoJICBTb3VyY2UvY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVyLmgsCgkgIFNvdXJjZS9jbURvY3VtZW50YXRpb25Gb3JtYXR0ZXJIVE1MLmN4eCwKCSAgU291cmNlL2NtRG9jdW1lbnRhdGlvblNlY3Rpb24uaCwgU291cmNlL2NtYWtlbWFpbi5jeHgsCgkgIFV0aWxpdGllcy9DTWFrZUxpc3RzLnR4dDogRU5IOiBzb21lIG1vcmUgY2xlYW51cCwgZml4ZXMsIGFuZAoJICBwYXRjaCBmb3IgSFRNTCBvdXRwdXQKCjIwMDctMTAtMjMgMjM6MDcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0xMC0yMyAxMDo0MCAgbWFydGluawoKCSogU291cmNlLzogY21NYWtlZmlsZS5jeHgsIGNtUHJvcGVydHlEZWZpbml0aW9uTWFwLmN4eDogQ09NUDogZml4CgkgIGZvciB3aGVuIFNUUklDVCBpcyBkZWZpbmVkLCBhbmQgZml4IGZvciBwcm9wcyB0aGF0IGhhdmUgbm8gZG9jcwoKMjAwNy0xMC0yMyAxMDowOCAgbWFydGluawoKCSogU291cmNlL2NtRG9jdW1lbnRWYXJpYWJsZXMuY3h4OiBTVFlMRTogZml4IHNvbWUgbG9uZyBsaW5lcwoKMjAwNy0xMC0yMyAxMDowNyAgbWFydGluawoKCSogU291cmNlL2NtRG9jdW1lbnRhdGlvbi5jeHg6IENPTVA6IGZpeCBhIHByb2JsZW0gd2l0aCBhIHNoYWRvd2VkCgkgIHZhcgoKMjAwNy0xMC0yMiAyMzoxMCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTEwLTIyIDE3OjE2ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NQYWNrLmNtYWtlOiBFTkg6IGZpeCBiaXRtYXAgZXNjYXBlcwoKMjAwNy0xMC0yMiAxNjo0MSAgbWFydGluawoKCSogU291cmNlLzogY21Eb2N1bWVudGF0aW9uLmN4eCwgY21ha2VtYWluLmN4eDogQ09NUDogZml4IHNvbWUKCSAgd2FybmluZ3MgYW5kIGFkZCBzb21lIGRvYyBzdHJpbmdzIGJhY2sgaW4KCjIwMDctMTAtMjIgMTU6MzMgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtRG9jdW1lbnRhdGlvbi5jeHgsIGNtRG9jdW1lbnRhdGlvbi5oLAoJICBjbURvY3VtZW50YXRpb25TZWN0aW9uLmN4eCwgY21Eb2N1bWVudGF0aW9uU2VjdGlvbi5oLAoJICBjbWFrZW1haW4uY3h4OiBDT01QOiBmaXggc29tZSB3YXJuaW5ncyBhbmQgYWRkIHNvbWUgZG9jIHN0cmluZ3MKCSAgYmFjayBpbgoKMjAwNy0xMC0yMiAxNDowMSAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9EYXJ3aW4uY21ha2UsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogRU5IOgoJICBmaXggc3BlbGxpbmcgZXJyb3IKCjIwMDctMTAtMjIgMTM6MjggIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtR2xvYmFsS2RldmVsb3BHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogRU5IOiBjaGFuZ2UgdG8gbWFrZSB0aGUgZG9jdW1lbnRhdGlvbgoJICBjbGFzcyBtb3JlIGdlbmVyaWMsIGFib3V0IGhhbGZ3YXkgdGhlcmUsIGFsc28gcHJvdmlkZXMgc2VjaXRvbnMKCSAgZm9yIFZhcmlhYmxlcyBub3cKCjIwMDctMTAtMjIgMTI6NDggIG1hcnRpbmsKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbURvY3VtZW50VmFyaWFibGVzLmN4eCwKCSAgY21Eb2N1bWVudGF0aW9uLmN4eCwgY21Eb2N1bWVudGF0aW9uLmgsCgkgIGNtRG9jdW1lbnRhdGlvbkZvcm1hdHRlci5oLCBjbURvY3VtZW50YXRpb25Gb3JtYXR0ZXJIVE1MLmN4eCwKCSAgY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVySFRNTC5oLCBjbURvY3VtZW50YXRpb25Gb3JtYXR0ZXJNYW4uY3h4LAoJICBjbURvY3VtZW50YXRpb25Gb3JtYXR0ZXJNYW4uaCwgY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVyVGV4dC5jeHgsCgkgIGNtRG9jdW1lbnRhdGlvbkZvcm1hdHRlclRleHQuaCwKCSAgY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVyVXNhZ2UuY3h4LAoJICBjbURvY3VtZW50YXRpb25Gb3JtYXR0ZXJVc2FnZS5oLCBjbUR1bXBEb2N1bWVudGF0aW9uLmN4eCwKCSAgY21FeHRyYUNvZGVCbG9ja3NHZW5lcmF0b3IuY3h4LCBjbUV4dHJhRWNsaXBzZUNEVDRHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbEJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxNU1lTTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbE1pbkdXTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW84V2luNjRHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzlHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFdhdGNvbVdNYWtlR2VuZXJhdG9yLmN4eCwgY21NYWtlZmlsZS5jeHgsCgkgIGNtUHJvcGVydHlEZWZpbml0aW9uLmN4eCwgY21Qcm9wZXJ0eURlZmluaXRpb24uaCwKCSAgY21Qcm9wZXJ0eURlZmluaXRpb25NYXAuY3h4LCBjbVByb3BlcnR5RGVmaW5pdGlvbk1hcC5oLAoJICBjbVN0YW5kYXJkSW5jbHVkZXMuaCwgY21ha2UuY3h4LCBjbWFrZS5oLCBjbWFrZW1haW4uY3h4LAoJICBjdGVzdC5jeHgsIENQYWNrL2NwYWNrLmN4eCwgQ3Vyc2VzRGlhbG9nL2NjbWFrZS5jeHgsCgkgIGNtRG9jdW1lbnRhdGlvblNlY3Rpb24uY3h4LCBjbURvY3VtZW50YXRpb25TZWN0aW9uLmg6IEVOSDogY2hhbmdlCgkgIHRvIG1ha2UgdGhlIGRvY3VtZW50YXRpb24gY2xhc3MgbW9yZSBnZW5lcmljLCBhYm91dCBoYWxmd2F5CgkgIHRoZXJlLCBhbHNvIHByb3ZpZGVzIHNlY2l0b25zIGZvciBWYXJpYWJsZXMgbm93CgoyMDA3LTEwLTIyIDExOjQwICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogQ1BhY2suY21ha2UsIE5TSVMudGVtcGxhdGUuaW46IEVOSDogYWxsb3cKCSAgQ1BBQ0tfUEFDS0FHRV9JQ09OIHRvIGJlIG5vdCBzZXQKCjIwMDctMTAtMjIgMTA6MTcgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vRGFyd2luLmNtYWtlOiBFTkg6IHRyeSB0byBmaXggYm9vc3RyYXAgb24gMTAuNQoKMjAwNy0xMC0yMSAyMzozOSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTEwLTIwIDIzOjA0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMTAtMTkgMjM6MDMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0xMC0xOSAyMjoyNCAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9EYXJ3aW4uY21ha2UsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogRU5IOgoJICBkbyBub3QgYWx3YXlzIGFkZCAtYXJjaCBmbGFncwoKMjAwNy0xMC0xOSAxMjowMyAgaG9mZm1hbgoKCSogU291cmNlL0NQYWNrL2NtQ1BhY2tOU0lTR2VuZXJhdG9yLmN4eDogRU5IOiBmaXggbGluZSBsZW5ndGggZXJyb3IKCjIwMDctMTAtMTggMjI6NTkgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0xMC0xOCAxMToxMSAga2luZwoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQlVHOiBNZXJnZSBidWcgZml4ZXMgZnJvbSBIRUFELgoKMjAwNy0xMC0xOCAwOTo0MCAgaG9mZm1hbgoKCSogQ01ha2VDUGFjay5jbWFrZSwgTW9kdWxlcy9OU0lTLnRlbXBsYXRlLmluLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja05TSVNHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja05TSVNHZW5lcmF0b3IuaDogRU5IOiBhZGQgYWJpbGl0eSB0byBjcmVhdGUKCSAgbGlua3Mgb24gdGhlIHN0YXJ0IG1lbnUKCjIwMDctMTAtMTggMDk6MzkgIGhvZmZtYW4KCgkqIGJvb3RzdHJhcDogRU5IOiBhZGQgbmV3IGZpbGUKCjIwMDctMTAtMTggMDk6MzggIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTWFrZWZpbGVFeGVjdXRhYmxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4OiBFTkg6IGRvIG5vdCByZW1vdmUKCSAgZXhlY3V0YWJsZXMgYW5kIGRsbCdzIGJlZm9yZSBsaW5raW5nIHRoZW0gc28gdGhhdCBpbmNyZW1lbnRhbAoJICBsaW5rcyB3b3JrLCBpbmNyZW1lbnRhbCBsaW5rcyBhcmUgc3RpbGwgYnJva2VuIGZvciB2cyAyMDA1IGFuZAoJICBncmVhdGVyIGJlY2F1c2Ugb2YgdGhlIG1hbmlmZXN0IHN0dWZmCgoyMDA3LTEwLTE4IDA5OjEwICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21Eb2N1bWVudFZhcmlhYmxlcy5jeHgsCgkgIGNtRG9jdW1lbnRWYXJpYWJsZXMuaCwgY21ha2UuY3h4OiBFTkg6IGFkZCBkb2NzIGZvciB2YXJpYWJsZXMKCjIwMDctMTAtMTcgMjI6NTUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0xMC0xNyAwOTozOCAgbWlndWVsZgoKCSogTW9kdWxlcy9GaW5kd3hXaWRnZXRzLmNtYWtlOiBFTkg6IEFkZGVkIHN1cHBvcnQgZm9yIGZpbmRpbmcKCSAgd3hXaWRnZXRzLTIuOS4gVGhhbmtzIHRvIEpvc2h1YSBKZW5zZW4gYW5kIFN0ZXZlbi4KCjIwMDctMTAtMTYgMjI6NTEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0xMC0xNiAxNDoyNyAgbWFydGluawoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIGNtQ29uZmlndXJlLmNtYWtlLmguaW4sCgkgIGNtUHJvcGVydHlNYXAuY3h4OiBFTkg6IGFkZGVkIENNQUtFX1NUUklDVCBvcHRpb24gZm9yIHZhciBhbmQKCSAgcHJvcGVydHkgY2hlY2tpbmcKCjIwMDctMTAtMTYgMTA6MTkgIGtpbmcKCgkqIFNvdXJjZS86IGNtRGVwZW5kc0ZvcnRyYW4uY3h4LCBjbUluc3RhbGxDb21tYW5kLmN4eDogU1RZTEU6IEZpeGVkCgkgIGxpbmUtdG9vLWxvbmcuCgoyMDA3LTEwLTE1IDIyOjQzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMTAtMTUgMTc6MzggIGtpbmcKCgkqIFNvdXJjZS9jbUV4ZWN1dGVQcm9jZXNzQ29tbWFuZC5jeHg6IEJVRzogV29yayBhcm91bmQgYnVnIHdoZW4KCSAgY2FsbGluZyBpbnNlcnQgb24gYW4gZW1wdHkgdmVjdG9yIG9mIGNoYXIgb24gbWlkd29ybGQuIFNob3VsZAoJICBlbGltaW5hdGUgdGhlIHNwb3JhZGljIGZhaWx1cmUgb2YgRVhFQ1VURV9QUk9DRVNTIGR1cmluZyB0aGUKCSAgU2ltcGxlSW5zdGFsbC1TdGFnZTIgdGVzdC4gKGRhdmlkLmNvbGUgZnJvbSBCcmFkJ3MgY2hlY2tvdXQgb24KCSAgbWlkd29ybGQpCgoyMDA3LTEwLTE1IDE0OjUwICBtYXJ0aW5rCgoJKiBNb2R1bGVzL1Rlc3RGb3JTU1RSRUFNLmNtYWtlLCBTb3VyY2UvY21Gb3JFYWNoQ29tbWFuZC5oLAoJICBTb3VyY2UvY21XaGlsZUNvbW1hbmQuaCwgU291cmNlL2NtYWtlLmN4eDogRU5IOiBtaW5vciBkb2MKCSAgY2xlYW51cHMgYW5kIGFuIGV4YW1wbGUgb2YgZG9jdW1lbnRpbmcgYSB2YXJpYWJsZQoKMjAwNy0xMC0xNSAwNzowOCAgZGF2aWQuY29sZQoKCSogU291cmNlL2NtSW5zdGFsbENvbW1hbmQuY3h4LCBTb3VyY2UvY21JbnN0YWxsU2NyaXB0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbFNjcmlwdEdlbmVyYXRvci5oLCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGwvSW5zdGFsbFNjcmlwdDMuY21ha2UsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGwvSW5zdGFsbFNjcmlwdDQuY21ha2UsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL0luc3RhbGxTY3JpcHQzLmNtYWtlLAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvSW5zdGFsbFNjcmlwdDQuY21ha2U6IEJVRzogRml4ICM1ODY4IC0gYWRkCgkgIENPTVBPTkVOVCBoYW5kbGluZyB0byB0aGUgU0NSSVBUIGFuZCBDT0RFIHNpZ25hdHVyZXMgb2YgdGhlCgkgIElOU1RBTEwgY29tbWFuZC4KCjIwMDctMTAtMTQgMjI6NDAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0xMC0xNCAwODoxNSAgYWxleAoKCSogU291cmNlL2NtRXhwb3J0Q29tbWFuZC5jeHg6CgkgIEJVRzogZml4ICM1ODA2LCB3cm9uZyBxdW90ZXMgdXNlZCBpbiB0aGUgZXhwb3J0ZWQgZmlsZQoKCSAgQWxleAoKMjAwNy0xMC0xMyAyMjo0OCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTEwLTEyIDIyOjQ1ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMTAtMTIgMjE6MzAgIG1pZ3VlbGYKCgkqIE1vZHVsZXMvRmluZHd4V2lkZ2V0cy5jbWFrZTogQlVHOiBBZGRlZCBzdXBwb3J0IGZvciB0aGUgQVVJCgkgIGxpYnJhcnkgbW9kdWxlIChidWcgNDMzOCkuIEFsc28gYXBwbGllZCBzb21lIFNUWUxFIGNoYW5nZXMKCSAgaW5jbHVkaW5nOiBkZXByZWNhdGlvbiBvZiB3eFdpZGdldHNfVVNFX0xJQlMgaW4gZmF2b3Igb2YgdXNpbmcKCSAgc3RhbmRhcmQgRklORF9QQUNLQUdFIENPTVBPTkVOVFMsIHJlbW92ZWQgc29tZSBDTWFrZSAyLjQuMgoJICBjb21wYXRpYmlsaXR5IHBhdGNoZXMsIHVzZSBvZiBleGVjdXRlX3Byb2Nlc3MgaW5zdGVhZCBvZgoJICBleGVjX3Byb2dyYW0sIGV0Yy4KCjIwMDctMTAtMTIgMTk6MzMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ1BhY2tSUE0uY21ha2U6IEJVRzogZml4IGZvciBidWcgNTg3OAoKMjAwNy0xMC0xMiAxMTo0MyAgZGF2aWQuY29sZQoKCSogU291cmNlL2NtVGFyZ2V0LmN4eDogQlVHOiBGaXggdGhlIGRhc2hib2FyZHMhIFB1dCBpdCBiYWNrIHRoZSB3YXkKCSAgaXQgd2FzIHNvIGl0IGFsd2F5cyBjcmVhdGVzIHRoZSB0YXJnZXQgZGlyZWN0b3J5IGF0IGNvbmZpZ3VyZQoJICB0aW1lLiBGaWd1cmUgb3V0IGhvdyB0byBhdm9pZCBpdCBmb3IgdGhlIGZyYW1ld29yayBjYXNlIG9uIHRoZQoJICBNYWMvWGNvZGUgbGF0ZXIuLi4KCjIwMDctMTAtMTIgMTE6MzQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZEZMVEsyLmNtYWtlOiBFTkg6IGFkZCBmcm9tIGJ1ZyAwMDA0MjE5CgoyMDA3LTEwLTEyIDExOjAwICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRBU1BFTEwuY21ha2U6IEJVRzogZml4IGZvciBidWcgMDAwNTg3MQoKMjAwNy0xMC0xMiAxMDo1OCAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeCBmb3IgYnVnIDAwMDM2MTggLCBhbGxvdyBvbmUKCSAgYXJjaCBpbiBPU1hfQVJDSFMgdG8gd29yawoKMjAwNy0xMC0xMiAwOTo1OCAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQlVHOiBmaXggZm9yIGJ1ZyAwMDA1NzY3IGhhbmcgZm9yCgkgIHJlcGxhY2Ugc3RyaW5nIHdpdGggZW1wdHkKCjIwMDctMTAtMTIgMDk6NTEgIGtpbmcKCgkqIFNvdXJjZS9jbURlcGVuZHNGb3J0cmFuLmN4eDogRU5IOiBXaGVuIGFuIG9iamVjdCBmaWxlIHJlcXVpcmVzIGEKCSAgbW9kdWxlIGFkZCB0aGUgZmlsZS1sZXZlbCBkZXBlbmRlbmN5IGJldHdlZW4gdGhlIG9iamVjdCBmaWxlIGFuZAoJICB0aGUgbW9kdWxlIHRpbWVzdGFtcCBmaWxlLiAgQ3JlYXRlIGEgZHVtbXkgdGltZXN0YW1wIGZpbGUgaW4gY2FzZQoJICBub3RoaW5nIGluIHRoZSBwcm9qZWN0IGFjdHVhbGx5IGNyZWF0ZXMgdGhlIG1vZHVsZS4gIFNlZQoJICBidWcjNTgwOS4KCjIwMDctMTAtMTIgMDk6MzIgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogRGVwZW5kZW5jeQoJICBzY2FubmVycyBzaG91bGQgaGF2ZSBsb2NhbCBnZW5lcmF0b3JzIHNldCBhbHdheXMuCgoyMDA3LTEwLTExIDIyOjQ1ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMTAtMTAgMjI6MzIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0xMC0xMCAxNzo0NyAgYWxpbi5lbGVuYQoKCSogTW9kdWxlcy86IENoZWNrRm9ydHJhbkZ1bmN0aW9uRXhpc3RzLmNtYWtlLCBGaW5kQkxBUy5jbWFrZSwKCSAgRmluZExBUEFDSy5jbWFrZSwgUGxhdGZvcm0vTGludXgtaWZvcnQuY21ha2U6CgkgIEVOSDogRmluZEJMQVMuY21ha2UgYW5kIEZpbmRMQVBBQ0suY21ha2UgbW9kdWxlcyBhZGRlZC4gVGhleQoJICBsb2NhdGUgdmFyaW91cyBpbXBsZW1lbnRhdGlvbnMgb2YgYmxhcyBhbmQgbGFwYWNrIGxpYnJhcmllcy4KCSAgQ2hlY2tGb3J0cmFuRnVuY3Rpb25FeGlzdHMuY21ha2UgcHJvdmlkZXMgYSB0ZXN0IGZ1bmN0aW9uIHRvCgkgIGNoZWNrIGlmIHRoZSBsaWJyYXJ5IGlzIHVzYWJhbGUuIEkgaGF2ZSBhbHNvIGNoYW5nZWQgdGhlIC1LUElDCgkgIGZsYWcgdG8gLWZQSUMgaW4gTGludXgtaWZvcnQuY21ha2UuCgoyMDA3LTEwLTEwIDExOjQ3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5oLAoJICBTb3VyY2UvY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUFkZERlZmluaXRpb25zQ29tbWFuZC5oLAoJICBTb3VyY2UvY21BZGREZXBlbmRlbmNpZXNDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUFkZEV4ZWN1dGFibGVDb21tYW5kLmgsIFNvdXJjZS9jbUFkZExpYnJhcnlDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUFkZFN1YkRpcmVjdG9yeUNvbW1hbmQuaCwgU291cmNlL2NtQWRkVGVzdENvbW1hbmQuaCwKCSAgU291cmNlL2NtQXV4U291cmNlRGlyZWN0b3J5Q29tbWFuZC5oLCBTb3VyY2UvY21CdWlsZENvbW1hbmQuaCwKCSAgU291cmNlL2NtQnVpbGROYW1lQ29tbWFuZC5oLCBTb3VyY2UvY21DTWFrZU1pbmltdW1SZXF1aXJlZC5oLAoJICBTb3VyY2UvY21Db25maWd1cmVGaWxlQ29tbWFuZC5oLCBTb3VyY2UvY21DcmVhdGVUZXN0U291cmNlTGlzdC5oLAoJICBTb3VyY2UvY21EZWZpbmVQcm9wZXJ0eUNvbW1hbmQuaCwgU291cmNlL2NtRG9jdW1lbnRhdGlvbi5jeHgsCgkgIFNvdXJjZS9jbUVsc2VDb21tYW5kLmgsIFNvdXJjZS9jbUVsc2VJZkNvbW1hbmQuaCwKCSAgU291cmNlL2NtRW5hYmxlTGFuZ3VhZ2VDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUVuYWJsZVRlc3RpbmdDb21tYW5kLmgsIFNvdXJjZS9jbUVuZEZvckVhY2hDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUVuZElmQ29tbWFuZC5oLCBTb3VyY2UvY21FbmRNYWNyb0NvbW1hbmQuaCwKCSAgU291cmNlL2NtRW5kV2hpbGVDb21tYW5kLmgsIFNvdXJjZS9jbUV4ZWNQcm9ncmFtQ29tbWFuZC5oLAoJICBTb3VyY2UvY21FeGVjdXRlUHJvY2Vzc0NvbW1hbmQuaCwgU291cmNlL2NtRXhwb3J0Q29tbWFuZC5oLAoJICBTb3VyY2UvY21FeHBvcnRMaWJyYXJ5RGVwZW5kZW5jaWVzLmgsCgkgIFNvdXJjZS9jbUZMVEtXcmFwVUlDb21tYW5kLmgsIFNvdXJjZS9jbUZpbGVDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUZpbmRGaWxlQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUZpbmRGaWxlQ29tbWFuZC5oLAoJICBTb3VyY2UvY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4LCBTb3VyY2UvY21GaW5kTGlicmFyeUNvbW1hbmQuaCwKCSAgU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmgsIFNvdXJjZS9jbUZpbmRQYXRoQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUZpbmRQYXRoQ29tbWFuZC5oLCBTb3VyY2UvY21GaW5kUHJvZ3JhbUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21GaW5kUHJvZ3JhbUNvbW1hbmQuaCwgU291cmNlL2NtRm9yRWFjaENvbW1hbmQuaCwKCSAgU291cmNlL2NtR2V0Q01ha2VQcm9wZXJ0eUNvbW1hbmQuaCwKCSAgU291cmNlL2NtR2V0RGlyZWN0b3J5UHJvcGVydHlDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUdldEZpbGVuYW1lQ29tcG9uZW50Q29tbWFuZC5oLAoJICBTb3VyY2UvY21HZXRQcm9wZXJ0eUNvbW1hbmQuaCwKCSAgU291cmNlL2NtR2V0U291cmNlRmlsZVByb3BlcnR5Q29tbWFuZC5oLAoJICBTb3VyY2UvY21HZXRUYXJnZXRQcm9wZXJ0eUNvbW1hbmQuaCwKCSAgU291cmNlL2NtR2V0VGVzdFByb3BlcnR5Q29tbWFuZC5oLCBTb3VyY2UvY21JZkNvbW1hbmQuaCwKCSAgU291cmNlL2NtSW5jbHVkZUNvbW1hbmQuaCwgU291cmNlL2NtSW5jbHVkZURpcmVjdG9yeUNvbW1hbmQuaCwKCSAgU291cmNlL2NtSW5jbHVkZUV4dGVybmFsTVNQcm9qZWN0Q29tbWFuZC5oLAoJICBTb3VyY2UvY21JbmNsdWRlUmVndWxhckV4cHJlc3Npb25Db21tYW5kLmgsCgkgIFNvdXJjZS9jbUluc3RhbGxDb21tYW5kLmgsIFNvdXJjZS9jbUluc3RhbGxGaWxlc0NvbW1hbmQuaCwKCSAgU291cmNlL2NtSW5zdGFsbFByb2dyYW1zQ29tbWFuZC5oLAoJICBTb3VyY2UvY21JbnN0YWxsVGFyZ2V0c0NvbW1hbmQuaCwKCSAgU291cmNlL2NtTGlua0RpcmVjdG9yaWVzQ29tbWFuZC5oLAoJICBTb3VyY2UvY21MaW5rTGlicmFyaWVzQ29tbWFuZC5oLCBTb3VyY2UvY21MaXN0Q29tbWFuZC5oLAoJICBTb3VyY2UvY21Mb2FkQ2FjaGVDb21tYW5kLmgsIFNvdXJjZS9jbUxvYWRDb21tYW5kQ29tbWFuZC5oLAoJICBTb3VyY2UvY21NYWNyb0NvbW1hbmQuaCwgU291cmNlL2NtTWFrZURpcmVjdG9yeUNvbW1hbmQuaCwKCSAgU291cmNlL2NtTWFya0FzQWR2YW5jZWRDb21tYW5kLmgsIFNvdXJjZS9jbU1hdGhDb21tYW5kLmgsCgkgIFNvdXJjZS9jbU1lc3NhZ2VDb21tYW5kLmgsIFNvdXJjZS9jbU9wdGlvbkNvbW1hbmQuaCwKCSAgU291cmNlL2NtT3V0cHV0UmVxdWlyZWRGaWxlc0NvbW1hbmQuaCwgU291cmNlL2NtUHJvamVjdENvbW1hbmQuaCwKCSAgU291cmNlL2NtUVRXcmFwQ1BQQ29tbWFuZC5oLCBTb3VyY2UvY21RVFdyYXBVSUNvbW1hbmQuaCwKCSAgU291cmNlL2NtUmVtb3ZlQ29tbWFuZC5oLCBTb3VyY2UvY21SZW1vdmVEZWZpbml0aW9uc0NvbW1hbmQuaCwKCSAgU291cmNlL2NtU2VwYXJhdGVBcmd1bWVudHNDb21tYW5kLmgsIFNvdXJjZS9jbVNldENvbW1hbmQuaCwKCSAgU291cmNlL2NtU2V0RGlyZWN0b3J5UHJvcGVydGllc0NvbW1hbmQuaCwKCSAgU291cmNlL2NtU2V0UHJvcGVydGllc0NvbW1hbmQuaCwKCSAgU291cmNlL2NtU2V0U291cmNlRmlsZXNQcm9wZXJ0aWVzQ29tbWFuZC5oLAoJICBTb3VyY2UvY21TZXRUYXJnZXRQcm9wZXJ0aWVzQ29tbWFuZC5oLAoJICBTb3VyY2UvY21TZXRUZXN0c1Byb3BlcnRpZXNDb21tYW5kLmgsIFNvdXJjZS9jbVNpdGVOYW1lQ29tbWFuZC5oLAoJICBTb3VyY2UvY21Tb3VyY2VHcm91cENvbW1hbmQuaCwgU291cmNlL2NtU3RyaW5nQ29tbWFuZC5oLAoJICBTb3VyY2UvY21TdWJkaXJDb21tYW5kLmgsIFNvdXJjZS9jbVN1YmRpckRlcGVuZHNDb21tYW5kLmgsCgkgIFNvdXJjZS9jbVRhcmdldExpbmtMaWJyYXJpZXNDb21tYW5kLmgsCgkgIFNvdXJjZS9jbVRyeUNvbXBpbGVDb21tYW5kLmgsIFNvdXJjZS9jbVRyeVJ1bkNvbW1hbmQuaCwKCSAgU291cmNlL2NtVXNlTWFuZ2xlZE1lc2FDb21tYW5kLmgsCgkgIFNvdXJjZS9jbVV0aWxpdHlTb3VyY2VDb21tYW5kLmgsCgkgIFNvdXJjZS9jbVZhcmlhYmxlUmVxdWlyZXNDb21tYW5kLmgsCgkgIFNvdXJjZS9jbVZhcmlhYmxlV2F0Y2hDb21tYW5kLmgsIFNvdXJjZS9jbVdoaWxlQ29tbWFuZC5oLAoJICBTb3VyY2UvY21Xcml0ZUZpbGVDb21tYW5kLmgsCgkgIFRlc3RzL0NvbW1hbmRMaW5lVGVzdC9DTWFrZUxpc3RzLnR4dDogRU5IOiBtYWtlIGNvbW1hbmRzIGxvd2VyCgkgIGNhc2UgYnkgZGVmYXVsdAoKMjAwNy0xMC0xMCAxMTowNiAgZGF2aWQuY29sZQoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtSW5zdGFsbENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21PcmRlckxpbmtEaXJlY3Rvcmllcy5jeHgsIFNvdXJjZS9jbVRhcmdldC5jeHgsCgkgIFNvdXJjZS9jbVRhcmdldC5oLCBUZXN0cy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRnJhbWV3b3JrL0NNYWtlTGlzdHMudHh0OiBFTkg6IEZpbmlzaCB1cCB0aGUgRnJhbWV3b3JrCgkgIGNyZWF0aW9uIGNvZGUgcmVzdHJ1Y3R1cmluZy4gRnJhbWV3b3JrcyBidWlsZCBhbmQgaW5zdGFsbCBub3cuCgkgIE1vcmUgd29yayBuZWVkZWQgb24gdGhlIHBhY2thZ2luZyBzdGVwLiBTZWUgVGVzdHMvRnJhbWV3b3JrIGZvcgoJICBleGFtcGxlIHVzZS4KCjIwMDctMTAtMTAgMDk6MDkgIGtpbmcKCgkqIFRlc3RzL0ZvcnRyYW4vOiBDTWFrZUxpc3RzLnR4dCwgdGVzdF91c2VfaW5fY29tbWVudF9maXhlZGZvcm0uZiwKCSAgdGVzdF91c2VfaW5fY29tbWVudF9mcmVlZm9ybS5mOTAsIGluX2ludGVyZmFjZS9tYWluLmY5MCwKCSAgaW5faW50ZXJmYWNlL21vZHVsZS5mOTA6IEVOSDogQWRkZWQgdGVzdCBmb3IgJ3VzZScga2V5d29yZCBpbiBhCgkgIGNvbW1lbnQuICBQYXRjaCBmcm9tIE1haWsgQmVja21hbm4uICBTZWUgYnVnIzU4MDkuCgoyMDA3LTEwLTEwIDA5OjA3ICBraW5nCgoJKiBTb3VyY2UvY21EZXBlbmRzRm9ydHJhbi5jeHg6IEJVRzogRml4IGluLWludGVyZmFjZSBtb2RlLiAgUGF0Y2gKCSAgZnJvbSBNYWlrIEJlY2ttYW5uLiAgU2VlIGJ1ZyM1ODA5LgoKMjAwNy0xMC0wOSAyMjozNiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTEwLTA5IDE1OjIwICBiYXJyZQoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogRU5IOiBiYWQgYnVnIGJhZAoKMjAwNy0xMC0wOSAxNDozNSAgbWFydGluawoKCSogU291cmNlLzogY21Eb2N1bWVudGF0aW9uLmN4eCwgY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVySFRNTC5jeHgsCgkgIGNtRG9jdW1lbnRhdGlvbkZvcm1hdHRlck1hbi5jeHgsCgkgIGNtRG9jdW1lbnRhdGlvbkZvcm1hdHRlclRleHQuY3h4LAoJICBjbURvY3VtZW50YXRpb25Gb3JtYXR0ZXJVc2FnZS5jeHgsIGNtRHVtcERvY3VtZW50YXRpb24uY3h4LAoJICBjbVByb3BlcnR5RGVmaW5pdGlvbi5jeHgsIGNtUHJvcGVydHlEZWZpbml0aW9uTWFwLmN4eCwKCSAgY21TdGFuZGFyZEluY2x1ZGVzLmgsIGNtYWtlLmN4eCwgY21ha2UuaCwgY21ha2VtYWluLmN4eCwKCSAgY3Rlc3QuY3h4LCBDUGFjay9jcGFjay5jeHg6IEJVRzogcmV2ZXJ0IGRvYyBjaGFuZ2VzIHNpbmNlIFZTNwoJICBjYW5ub3QgY29tcGlsZSB0aGVtLCB3aWxsIGltcGxlbWVudCB0aGVtIGluIGEgZGlmZmVyZW50IG1hbm5lcgoKMjAwNy0xMC0wOSAwOTo1NSAgbWFydGluawoKCSogU291cmNlLzogY21Eb2N1bWVudGF0aW9uLmN4eCwgY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVySFRNTC5jeHgsCgkgIGNtRG9jdW1lbnRhdGlvbkZvcm1hdHRlck1hbi5jeHgsCgkgIGNtRG9jdW1lbnRhdGlvbkZvcm1hdHRlclRleHQuY3h4LAoJICBjbURvY3VtZW50YXRpb25Gb3JtYXR0ZXJVc2FnZS5jeHgsIGNtRHVtcERvY3VtZW50YXRpb24uY3h4LAoJICBjbVByb3BlcnR5RGVmaW5pdGlvbi5jeHgsIGNtUHJvcGVydHlEZWZpbml0aW9uTWFwLmN4eCwKCSAgY21TdGFuZGFyZEluY2x1ZGVzLmgsIGNtYWtlLmN4eCwgY21ha2UuaCwgY21ha2VtYWluLmN4eCwKCSAgY3Rlc3QuY3h4LCBDUGFjay9jcGFjay5jeHg6IEVOSDogbWFrZSBkb2N1bWVudGF0aW9uIGVudHJpZXMKCSAgYWN0dWFsbHkgc3RvcmUgdGhlaXIgZGF0YQoKMjAwNy0xMC0wOCAyMjozOSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTEwLTA4IDEwOjA1ICBraW5nCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IFNUWUxFOiBGaXhlZCBsaW5lLXRvby1sb25nLgoKMjAwNy0xMC0wOCAxMDowMyAga2luZwoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBDT01QOiBBZGRlZCBpbmFkdmVydGFudGx5IHJlbW92ZWQKCSAgaW5jbHVkZS4KCjIwMDctMTAtMDcgMjI6MzUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0xMC0wNyAxNjoyMiAga2luZwoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBDT01QOiBTaW1wbGlmaWVkIGluY2x1ZGUgZmlsZSBsb2dpYy4KCSAgVGhlIHdpbmRvd3MuaCBoZWFkZXIgc2hvdWxkIGJlIGluY2x1ZGVkIGZvciBhbGwgY29tcGlsZXJzIG9uCgkgIHdpbmRvd3MuCgoyMDA3LTEwLTA2IDIyOjQyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMTAtMDUgMjI6MzEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0xMC0wNSAxNTo1MSAgbWFydGluawoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBDT01QOiBmaXggdG8gY29tcGlsZSBvbiBWUyA4CgoyMDA3LTEwLTA1IDEzOjE1ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtYmNjMzIuY21ha2U6IEVOSDogYWRkIHN1cHBvcnQgZm9yCgkgIHByZXByb2Nlc3NlZCBmaWxlcyBpbiBib3JsYW5kCgoyMDA3LTEwLTA1IDEzOjE0ICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvS1dTdHlsZS9DTWFrZUZpbGVzLnR4dC5pbjogRU5IOiBhZGQgbW9yZSBleGNsdXNpb25zIGZvcgoJICBrd3N0eWxlCgoyMDA3LTEwLTA1IDEwOjAzICBraW5nCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEJVRzogRml4IGNhbGwgdG8gU2V0RmlsZVRpbWUgdG8gc2V0IGl0CgkgIG9uIHRoZSBwcm9wZXIgZmlsZS4KCjIwMDctMTAtMDUgMTA6MDIgIGtpbmcKCgkqIFNvdXJjZS86IGNtRGVwZW5kc0ZvcnRyYW5QYXJzZXIuY3h4LCBjbURlcGVuZHNGb3J0cmFuUGFyc2VyLnk6CgkgIENPTVA6IERpc2FibGUgc29tZSB3YXJuaW5ncyBpbiBnZW5lcmF0ZWQgY29kZS4gIERpc2FibGUKCSAgY29tcGlsYXRpb24gb2YgdW51c2VkIGdvdG8gYmxvY2suCgoyMDA3LTEwLTA1IDA5OjQ2ICBraW5nCgoJKiBTb3VyY2UvOiBjbUZpbGVDb21tYW5kLmN4eCwgY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaDoKCSAgRU5IOiBEdXJpbmcgZmlsZSBpbnN0YWxsYXRpb24gdHJlYXQgdGhlIHNvdXJjZSBmaWxlIGFzIGEKCSAgZGVwZW5kZW5jeSBvZiB0aGUgaW5zdGFsbGVkIGZpbGUuICBJbnN0YWxsIHRoZSBmaWxlIG9ubHkgaWYgdGhlCgkgIGRlc3RpbmF0aW9uIGlzIG9sZGVyIHRoYW4gdGhlIHNvdXJjZS4gIFNldCB0aGUgZmlsZSB0aW1lcyBvbiB0aGUKCSAgaW5zdGFsbGVkIGZpbGUgdG8gbWF0Y2ggdGhvc2Ugb2YgdGhlIHNvdXJjZSBmaWxlLiAgVGhpcyBzaG91bGQKCSAgZ3JlYXRseSBpbXByb3ZlIHRoZSBzcGVlZCBvZiByZXBlYXRlZCBpbnN0YWxsYXRpb25zIGJlY2F1c2UgaXQKCSAgcmVtb3ZlcyB0aGUgY29tcGFyaXNvbiBvZiBmaWxlIGNvbnRlbnRzLiAgVGhpcyBhZGRyZXNzZXMKCSAgYnVnIzMzNDkuCgoyMDA3LTEwLTA0IDIyOjQzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMTAtMDQgMTU6MzEgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtRGVwZW5kc0ZvcnRyYW5QYXJzZXIuY3h4LCBjbURlcGVuZHNGb3J0cmFuUGFyc2VyLnk6CgkgIEVOSDogdXBkYXRlIC55IGZpbGUgd2l0aCBib3JsYW5kIGZpeCwgYW5kIHVzZSBhIHRhYmxlIGJhc2VkCgkgIHN0cmNhc2VjbXAKCjIwMDctMTAtMDQgMTQ6NDcgIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS9jbURlcGVuZHNGb3J0cmFuUGFyc2VyLmN4eDogQ09NUDogR2V0IGl0IHRvIGNvbXBpbGUgb24KCSAgQm9ybGFuZCA1LjUsIHRvby4gSW5jbHVkaW5nIHN0bCBoZWFkZXJzIGhlcmUgZG9lcyBub3Qgd29yaywKCSAgYmVjYXVzZSB3aXRoIEJvcmxhbmQgNS41IHN0bCBoZWFkZXJzIHB1bGwgaW4gd2luZGVmLmggd2hpY2gKCSAgdHlwZWRlZnMgV09SRCB3aGljaCBpcyBpbiB0aGUgZm9ydHJhbiB0b2tlbnMgbGlzdC4uLgoKMjAwNy0xMC0wNCAwOTo0OSAga2luZwoKCSogU291cmNlL2NtRGVwZW5kc0ZvcnRyYW5QYXJzZXIuY3h4OiBTVFlMRTogUmVtb3ZlZCByZWZlcmVuY2UgdG8gbXkKCSAgaG9tZSBkaXJlY3RvcnkgZnJvbSAjbGluZSBjYWxscy4KCjIwMDctMTAtMDMgMjI6MzYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0xMC0wMyAxNzowMSAga2luZwoKCSogU291cmNlLzogY21EZXBlbmRzRm9ydHJhblBhcnNlci5jeHgsIGNtRGVwZW5kc0ZvcnRyYW5QYXJzZXIueToKCSAgQ09NUDogRG8gbm90IHVzZSBub24tcG9ydGFibGUgc3RyY2FzZWNtcC4KCjIwMDctMTAtMDMgMTY6MTkgIGtpbmcKCgkqIFNvdXJjZS9jbURlcGVuZHNGb3J0cmFuLmN4eDogQlVHOiBXaGVuIHJlcXVpcmluZyBhIG1vZHVsZSB0aHJvdWdoCgkgIGEgLnByb3h5IHJ1bGUgYWRkIGFuIGVtcHR5IC5wcm94eSBydWxlIGluIGNhc2Ugbm8gb3RoZXIgc291cmNlIGluCgkgIHRoZSB0YXJnZXQgcHJvdmlkZXMgaXQuICBTaW5jZSBpdCBpcyBub3QgYSBmaWxlLWxldmVsIGRlcGVuZGVuY3kKCSAgdGhlcmUgZG9lcyBub3QgbmVlZCB0byBiZSBhIHJ1bGUgdG8gY3JlYXRlIHRoZSAucHJveHkgYXMgYSBmaWxlLgoJICBUaGlzIGFkZHJlc3NlcyBidWcjMzk4NC4KCjIwMDctMTAtMDMgMTU6NDEgIGtpbmcKCgkqIFNvdXJjZS86IGNtRGVwZW5kc0ZvcnRyYW4uY3h4LCBjbURlcGVuZHNGb3J0cmFuTGV4ZXIuY3h4LAoJICBjbURlcGVuZHNGb3J0cmFuTGV4ZXIuaCwgY21EZXBlbmRzRm9ydHJhbkxleGVyLmluLmwsCgkgIGNtRGVwZW5kc0ZvcnRyYW5QYXJzZXIuY3h4LCBjbURlcGVuZHNGb3J0cmFuUGFyc2VyLmgsCgkgIGNtRGVwZW5kc0ZvcnRyYW5QYXJzZXIueSwgY21EZXBlbmRzRm9ydHJhblBhcnNlclRva2Vucy5oOiBCVUc6CgkgIEZpeCBmb3IgYnVnIzU4MDkuICBBcHBsaWVkIHBhdGNoIHN1cHBsaWVkIGluIHRoZSBidWcgcmVwb3J0LgoJICBVcGRhdGVkIHByZS1nZW5lcmF0ZWQgbGV4ZXIgYW5kIHBhcnNlciBzb3VyY2VzLiAgVGhpcyB1cGRhdGVzIHRoZQoJICBtYWtlZGVwZjkwIHZlcnNpb24gdG8gMi44LjguCVRoZSBwYXJzZXIgYWN0aW9ucyBoYXZlIGJlZW4KCSAgdXBkYXRlZCB0byBpZ25vcmUgInVzZSIgaW4gY29tbWVudHMgcHJvcGVybHkuCgoyMDA3LTEwLTAzIDE1OjIzICBraW5nCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogVXBkYXRlZCBDTUFLRV9SRUdFTkVSQVRFX1lBQ0NMRVgKCSAgb3B0aW9uIHRvIHN1cHBvcnQgY21EZXBlbmRzRm9ydHJhbi4gIEZpeGVkIHRvIHdvcmsgd2l0aCBzcGFjZXMgaW4KCSAgcGF0aC4KCjIwMDctMTAtMDIgMjI6MjcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0xMC0wMiAxNTo0OCAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzLzogU3lzdGVtVG9vbHMuY3h4LCBTeXN0ZW1Ub29scy5oeHguaW46IEVOSDogc3BlZWQgdXAKCSAgYWN0dWFsIHBhdGggbmFtZSBieSBjYWNoZSBvbiB3aW5kb3dzCgoyMDA3LTEwLTAxIDIyOjMxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMTAtMDEgMTU6NTcgIGRhdmlkLmNvbGUKCgkqIFRlc3RzLzogQ01ha2VMaXN0cy50eHQsIFNpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFNpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dDogQ09NUDogUmVuYW1lIHRoZSBleGVjdXRhYmxlcyBmb3IKCSAgdGhlIFNpbXBsZUluc3RhbGwgdGVzdHMgc28gdGhhdCB0aGUgZXhlY3V0YWJsZSBmaWxlcyB0aGF0IHJ1bgoJICBkdXJpbmcgdGhlIHRlc3QgZG8gbm90IGhhdmUgdGhlIHdvcmQgaW5zdGFsbCBpbiB0aGVpciBmaWxlIG5hbWVzLgoJICBUaGlzIGFsbG93cyBydW5uaW5nIHRoZSB0ZXN0cyBvbiBXaW5kb3dzIFZpc3RhIHdpdGhvdXQgYWRtaW4KCSAgcHJpdmlsZWdlcyBhbmQgd2l0aG91dCBhZGRpbmcgYSBtYW5pZmVzdCBjb250YWluaW5nIHRoZSBhc0ludm9rZXIKCSAgcmVxdWVzdGVkRXhlY3V0aW9uTGV2ZWwgZWxlbWVudC4KCjIwMDctMDktMzAgMjI6MjggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wOS0yOSAyMjozNiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA5LTI4IDIyOjQ5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDktMjcgMjM6MDIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wOS0yNyAxNDo0NCAgaG9mZm1hbgoKCSogU291cmNlL2NtR2VuZXJhdGVkRmlsZVN0cmVhbS5jeHgsIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tUR1pHZW5lcmF0b3IuY3h4LCBVdGlsaXRpZXMvY210YXIvbGlidGFyLmM6CgkgIENPTVA6IHJlbW92ZSB3YXJuaW5ncwoKMjAwNy0wOS0yNyAxNDoyMCAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOiBFTkg6IHNldCAgUVRfRURJVElPTl9ERVNLVE9QTElHSFQgYW5kIGRvCgkgIG5vdCBkaXNhYmxlIG1vZHVsZXMKCjIwMDctMDktMjcgMTQ6MTggIGhvZmZtYW4KCgkqIERhcnRMb2NhbC5jb25mLmluOiBFTkg6IGZpeCBzcGFjZQoKMjAwNy0wOS0yNyAxNDoxNiAgaG9mZm1hbgoKCSogU291cmNlL2NtV2luMzJQcm9jZXNzRXhlY3V0aW9uLmN4eDogRU5IOiByZW1vdmUganVuayBmcm9tIG91dHB1dAoKMjAwNy0wOS0yNyAwODo1MyAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL2NtY3VybC9DTWFrZUxpc3RzLnR4dDogRU5IOiBhZGQgYSBjaGVjayBmb3IgYmFzZW5hbWUgdG8KCSAgY21jdXJsCgoyMDA3LTA5LTI2IDIyOjU5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDktMjYgMjA6NTMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogRU5IOiBsb29rIGZvciBxdCBpbiBhIGJldGVyIHJlZ2lzdHJ5IHBsYWNlCgkgIGFuZCBkaXNhYmxlIG1vZHVsZXMgdGhhdCB3b24ndCB3b3JrIHdpdGggRGVza3RvcExpZ2h0LCBhbHNvIHNldAoJICBRVF9FRElUSU9OIHZhcmlhYmxlCgoyMDA3LTA5LTI1IDIzOjA2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDktMjUgMTA6NTcgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQlVHOiBmaXggcHJvYmxlbSB3aXRoIHN0ZG91dCBhbmQgc3RkZXJyCgkgIG5vdCBzaG93aW5nIHVwIGluIG1zIGRvcyBzaGVsbHMKCjIwMDctMDktMjUgMDg6MzYgIGhvZmZtYW4KCgkqIFRlc3RzL0NNYWtlTGlzdHMudHh0OiBFTkg6IGluY3JlYXNlIHRpbWVvdXQKCjIwMDctMDktMjUgMDg6MzAgIGhvZmZtYW4KCgkqIERhcnRMb2NhbC5jb25mLmluOiBFTkg6IHJlbW92ZSBleHRyYSBzcGFjZQoKMjAwNy0wOS0yNCAyMzoxMyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA5LTI0IDEzOjE5ICBob2ZmbWFuCgoJKiBEYXJ0TG9jYWwuY29uZi5pbiwgU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IGFkZCBuZXcKCSAgbWFjaGluZXMKCjIwMDctMDktMjQgMTE6MTggIGhvZmZtYW4KCgkqIENUZXN0Q3VzdG9tLmNtYWtlLmluOiBDT01QOiBleGNsdWRlIHNvbWUgd2FybmluZ3Mgb24gaHAKCjIwMDctMDktMjQgMTE6MTYgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ29tbWFuZEFyZ3VtZW50TGV4ZXIuY3h4LCBjbURlcGVuZHNKYXZhTGV4ZXIuY3h4LAoJICBjbUV4cHJMZXhlci5jeHg6IENPTVA6IGZpeCB3YXJuaW5ncyBvbiBocAoKMjAwNy0wOS0yNCAxMToxMCAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdFRlc3RIYW5kbGVyLmN4eCwgY21DVGVzdFRlc3RIYW5kbGVyLmg6IEVOSDoKCSAgZml4IGxpbmUgbGVuZ3RoIGlzc3VlcwoKMjAwNy0wOS0yNCAwOTo1MyAga2luZwoKCSogTW9kdWxlcy9GaW5kVGhyZWFkcy5jbWFrZTogQlVHOiBFbmFibGUgQ01BS0VfSFBfUFRIUkVBRFMgb25seQoJICB3aGVuIHRoZSBvbGQgQ01BIHRocmVhZHMgYXJlIGF2YWlsYWJsZS4gIE1vZGVybiBIUCBwdGhyZWFkcyBhcmUKCSAganVzdCBub3JtYWwgcHRocmVhZHMuCgoyMDA3LTA5LTIzIDIzOjA5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDktMjIgMjI6NDcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wOS0yMSAyMjo0NiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA5LTIxIDEzOjM3ICBhbGV4CgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja0RlYkdlbmVyYXRvci5jeHg6CgkgIFNUWUxFOiB1c2UgJS0xMGxsZCBpbnN0ZWFkIG9mICUtMTBxZCBmb3IgcHJpbnRpbmcgYSA2NGJpdCBpbnQsCgkgIG1heWJlIHRoaXMgc2lsZW5jZXMgdGhlIHdhcm5pbmcgb2YgdGhlIEhQIGNvbXBpbGVyCgoJICBBbGV4CgoyMDA3LTA5LTIxIDExOjQyICBhbGV4CgoJKiBTb3VyY2UvY21GaW5kUGFja2FnZUNvbW1hbmQuY3h4OgoJICBTVFlMRTogaW1wcm92ZWQgZXJyb3IgbWVzc2FnZSBmb3IgdGhlIGNhc2UgdGhhdCBuZWl0aGVyCgkgIEZpbmRGb28uY21ha2Ugbm9yIEZvb0NvbmZpZy5jbWFrZSB3ZXJlIGZvdW5kCgoJICBBbGV4CgoyMDA3LTA5LTIxIDExOjQyICBob2ZmbWFuCgoJKiBNb2R1bGVzL0luc3RhbGxSZXF1aXJlZFN5c3RlbUxpYnJhcmllcy5jbWFrZTogRU5IOiByZW1vdmUgbWVzc2FnZQoKMjAwNy0wOS0yMCAyMjo0NCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA5LTIwIDE3OjIxICBraW5nCgoJKiBNb2R1bGVzL0ZpbmRUaHJlYWRzLmNtYWtlOiBCVUc6IERvIG5vdCB1c2UgQ01BIHRocmVhZHMgb24gSFAgaWYKCSAgdGhleSBkbyBub3QgZXhpc3QuCgoyMDA3LTA5LTIwIDE2OjQ4ICBob2ZmbWFuCgoJKiBUZXN0cy9DTWFrZUxpc3RzLnR4dDogRU5IOiBWViBtYWtlIHRvbyBtdWNoIGRhdGEgZm9yIHRoZQoJICBkYXNoYm9hcmQKCjIwMDctMDktMjAgMTE6NTcgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy90ZXN0UmVnaXN0cnkuY3h4OiBDT01QOiByZW1vdmUgd2FybmluZyBvbiBuZXcgSFBVWAoJICBjb21waWxlcgoKMjAwNy0wOS0yMCAxMDo1NiAga2luZwoKCSogVGVzdHMvOiBTaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBTaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEVOSDogRGlzYWJsZSBwYWNrYWdlIHRlc3Qgb25seSBvbgoJICBPU1ggPCAxMC40LiAgQWRkZWQgY29tbWVudCBleHBsYWluaW5nIHJlYXNvbiBmb3IgdGltZW91dC4KCjIwMDctMDktMjAgMTA6NDcgIGtpbmcKCgkqIFRlc3RzL0NNYWtlTGlzdHMudHh0OiBFTkg6IFJlc3RvcmUgc2hvcnRlciB0aW1lb3V0IGZvcgoJICBTaW1wbGVJbnN0YWxsLVN0YWdlMi4KCjIwMDctMDktMjAgMDk6MzYgIGFsZXgKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6CgkgIENPTVA6IFRJT0NHV0lOU1ogYW5kIHN0cnVjdCB3aW5zaXplIGFsc28gZG9lc24ndCBleGlzdCBvbiBDcmF5CgkgIENhdGFtb3VudAoKCSAgQWxleAoKMjAwNy0wOS0yMCAwOTozMCAgYWxleAoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDoKCSAgQ09NUDogbWFrZSBTeXN0ZW1Ub29scy5jeHggYnVpbGQgb24gQ3JheSBYdDMKCgkgIEFsZXgKCjIwMDctMDktMjAgMDg6MzMgIGFsZXgKCgkqIFNvdXJjZS9jbURvY3VtZW50YXRpb24uY3h4OgoJICBTVFlMRTogZml4IGxpbmUgbGVuZ3RocwoKCSAgQWxleAoKMjAwNy0wOS0xOSAyMjozMyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA5LTE5IDEzOjE0ICBhbGV4CgoJKiBTb3VyY2UvOiBjbURvY3VtZW50YXRpb24uY3h4LCBjbURvY3VtZW50YXRpb24uaCwKCSAgY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVyLmgsIGNtYWtlbWFpbi5jeHg6CgkgIEVOSDogYWRkIG5ldyBoZWxwIG9wdGlvbiAtLWhlbHAtY3VzdG9tLW1vZHVsZXMsIHdoaWNoIGdlbmVyYXRlcwoJICBkb2N1bWVudGF0aW9uIGZvciBhbGwgbW9kdWxlcyBmb3VuZCBpbiBDTUFLRV9NT0RVTEVfUEFUSCwgd2hpY2gKCSAgY3VycmVudGx5IGhhcyB0byBiZSBzcGVjaWZpZWQgdmlhIC1ELCB0aGlzIGNhbiBsYXRlciBvbiBiZQoJICBpbXByb3ZlZCBlLmcuIGJ5IHJlYWRpbmcgYSBzcGVjaWFsICh0by1iZS1jcmVhdGVkKSBmaWxlIGxpa2UKCSAgQ01ha2VGaWxlcy9Nb2R1bGVQYXRoLmNtYWtlIGluIHRoZSBidWlsZCB0cmVlIHNvIHRoYXQgcnVubmluZwoJICBjbWFrZSBoZWxwIGluIHRoZSBidWlsZCB0cmVlIG9mIGEgcHJvamVjdCB3aWxsIGFsd2F5cyBnaXZlIHlvdQoJICB0aGUgY3VycmVudCBtb2R1bGUgcGF0aC4gKFRoaXMgY291bGQgYWN0dWFsbHkgYWxzbyBoZWxwIElERXMKCSAgd2hpY2ggd291bGQgbGlrZSB0byBzdXBwb3J0IGNtYWtlIGZvciBwcm9qZWN0cy4uLikKCgkgIEFsZXgKCjIwMDctMDktMTkgMTE6NDIgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9jbWN1cmwvQ01ha2VMaXN0cy50eHQ6IEVOSDogYWRkIHRlc3QgZm9yIEhBVkVfQkFTRU5BTUUKCSAgc2luY2UgaXQgaXMgdXNlZAoKMjAwNy0wOS0xOSAxMToxNiAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuaCwgU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9DTWFrZUxpc3RzLnR4dDogRU5IOiBmaXggZmFpbGluZyB0ZXN0IHdoZW4gdmFsZ3JpbmQgaXMgb24KCjIwMDctMDktMTkgMTE6MTAgIGtpbmcKCgkqIFRlc3RzLzogQ01ha2VMaXN0cy50eHQsIFNpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFNpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dDogRU5IOiBSZS1lbmFibGUgcGFja2FnaW5nIHBhcnQgb2YKCSAgU2ltcGxlSW5zdGFsbC1TdGFnZTIgdGVzdCBvbiBBcHBsZS4gIEdpdmUgaXQgYSBsb25nIHRpbWVvdXQgdG8KCSAgc2VlIHdoYXQgaXMgZ29pbmcgb24uCgoyMDA3LTA5LTE5IDEwOjQ2ICBhbGV4CgoJKiBTb3VyY2UvOiBjbURvY3VtZW50YXRpb25Gb3JtYXR0ZXIuaCwKCSAgY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVySFRNTC5jeHg6CgkgIENPTVA6IGZpeCB3YXJuaW5nIGFib3V0IHVudXNlZCBwYXJhbWV0ZXJzCgoJICBBbGV4CgoyMDA3LTA5LTE5IDA5OjU5ICBhbGV4CgoJKiBTb3VyY2UvY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVyTWFuLmN4eDoKCSAgQlVHOiBjb3JyZWN0IG5hbWUgZm9yIHRoZSBtYW4gcGFnZQoKCSAgQWxleAoKMjAwNy0wOS0xOSAwOTozNSAgYWxleAoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOgoJICBCVUc6IGlmIFF0IGlzIGluc3RhbGxlZCBhcyBhIGZyYW1ld29yaywgYWRkIC1GIHRvIHRoZSBjb21tYW5kCgkgIGxpbmUgc28gUV9XU19NQUMgY2FuIGJlIGRldGVjdGVkIGNvcnJlY3RseQoKCSAgQWxleAoKMjAwNy0wOS0xOSAwOTowNSAgYWxleAoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIGNtRG9jdW1lbnRhdGlvbi5jeHgsIGNtRG9jdW1lbnRhdGlvbi5oLAoJICBjbURvY3VtZW50YXRpb25Gb3JtYXR0ZXIuY3h4LCBjbURvY3VtZW50YXRpb25Gb3JtYXR0ZXIuaCwKCSAgY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVySFRNTC5jeHgsIGNtRG9jdW1lbnRhdGlvbkZvcm1hdHRlckhUTUwuaCwKCSAgY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVyTWFuLmN4eCwgY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVyTWFuLmgsCgkgIGNtRG9jdW1lbnRhdGlvbkZvcm1hdHRlclRleHQuY3h4LCBjbURvY3VtZW50YXRpb25Gb3JtYXR0ZXJUZXh0LmgsCgkgIGNtRG9jdW1lbnRhdGlvbkZvcm1hdHRlclVzYWdlLmN4eCwKCSAgY21Eb2N1bWVudGF0aW9uRm9ybWF0dGVyVXNhZ2UuaDoKCSAgU1RZTEU6IG1vdmUgdGhlIGNvZGUgZm9yIHRoZSBkaWZmZXJlbnQgZm9ybWF0cyBvZiB0aGUgZ2VuZXJhdGVkCgkgIGhlbHAgaW50byB0aGVpciBvd24gY2xhc3NlcywgbWFraW5nIGNtRG9jdW1lbnRhdGlvbiBzbWFsbGVyIGFuZAoJICBhbHNvIG1ha2luZyBpdCBlYXNpZXIgdG8gZXZlbnR1YWxseSBhZGQgYW5vdGhlciBmb3JtYXQKCgkgIEFsZXgKCjIwMDctMDktMTkgMDk6MDQgIGFsZXgKCgkqIFRlc3RzLzogU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OgoJICBDT01QOiByZWVuYWJsZSB0aGUgaW5zdGFsbGF0aW9uIG9mIHRoZSBQVUJMSUNfSEVBREVScwoKCSAgQWxleAoKMjAwNy0wOS0xOCAyMjo0MyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA5LTE4IDE3OjA1ICBhbGV4CgoJKiBTb3VyY2UvY21FeHRyYUNvZGVCbG9ja3NHZW5lcmF0b3IuY3h4OgoJICBTVFlMRTogZml4IGxpbmUgbGVuZ3RocwoKCSAgQWxleAoKMjAwNy0wOS0xOCAxNToxNiAgaG9mZm1hbgoKCSogQ01ha2VDUGFjay5jbWFrZSwgTW9kdWxlcy9OU0lTLkluc3RhbGxPcHRpb25zLmluaS5pbiwKCSAgTW9kdWxlcy9OU0lTLnRlbXBsYXRlLmluLCBTb3VyY2UvQ1BhY2svY21DUGFja05TSVNHZW5lcmF0b3IuY3h4OgoJICBFTkg6IGFsbG93IGZvciBkZXNrdG9wIGxpbmsgdG8gYmUgY3JlYXRlZCBhbmQgZml4IGNob3Agb2YgbGFzdAoJICBjaGFyIGluIFBBVEggb24gdW5pbnN0YWxsCgoyMDA3LTA5LTE4IDE1OjEzICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRQeXRob25MaWJzLmNtYWtlOgoJICBCVUc6IG1ha2UgdGhlIHN0cmluZyBzdGF0aWMsIG90aGVyd2lzZSB0aGUgY29udGVudHMgYXJlIGdvbmUgd2hlbgoJICB3ZSBleGl0IHRoZSBmdW5jdGlvbiAoc2FtZSBmaXggYXMgaW4gVlRLL0NNYWtlLykKCgkgIEFsZXgKCjIwMDctMDktMTggMTE6MzUgIGhvZmZtYW4KCgkqIFRlc3RzL0NNYWtlTGlzdHMudHh0OiBFTkg6IGluY3JlYXNlIHRpbWVvdXQgZm9yIGxvbmcgdGVzdAoKMjAwNy0wOS0xOCAxMTozNCAgaG9mZm1hbgoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFTkg6IGFsbG93IHRlc3QgcHJvcGVydGllcyB0byBzZXQgYSB0aW1lb3V0CgkgIHRoYXQgaXMgbG9uZ2VyIHRoYW4gdGhlIGRlZmF1bHQgdGltZW91dCwgYnV0IG5vdCBsb25nZXIgdGhhbgoJICBDVEVTVF9USU1FX0xJTUlUIGZvciBhIHNjcmlwdAoKMjAwNy0wOS0xOCAwOTo1NCAgYWxleAoKCSogU291cmNlL2NtRXh0cmFDb2RlQmxvY2tzR2VuZXJhdG9yLmN4eDoKCSAgRU5IOiB1c2UgdGhlIG91YmplY3Rfb3V0cHV0IG9wdGlvbiB0byB0cnkgdG8gdGVsbCBDb2RlQmxvY2tzCgkgIHdoZXJlIHRoZSBvYmplY3QgZmlsZXMgYXJlIGxvY2F0ZWQgKHRvIG1ha2UgImNvbXBpbGUgZmlsZSIgd29yaykuCgkgIERvZXNuJ3Qgd29yayB5ZXQsIGJ1dCBhdCBsZWFzdCB0aGUgLm9ianMvIGlzIG5vdyByZW1vdmVkIGZyb20gdGhlCgkgIHBhdGguCgoJICBBbGV4CgoyMDA3LTA5LTE3IDIyOjM4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDktMTcgMTY6MjEgIGFsZXgKCgkqIFRlc3RzLzogU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OgoJICBDT01QOiBkaXNhYmxlIHBhY2thZ2luZyB0ZXN0IG9uIEFwcGxlLCBzZWUgaWYgdGhpcyBmaXhlcyB0aGUKCSAgdGltZW91dHMKCgkgIEFsZXgKCjIwMDctMDktMTcgMTU6NTkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEVOSDogZml4IGZvciB2cyA4CgoyMDA3LTA5LTE3IDE1OjU1ICBhbGV4CgoJKiBDTWFrZUxpc3RzLnR4dCwgTW9kdWxlcy9DTWFrZUNDb21waWxlcklkLmMsCgkgIE1vZHVsZXMvQ01ha2VDWFhDb21waWxlcklkLmNwcCwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9MaW51eC1QR0ktQy5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9MaW51eC1QR0ktQ1hYLmNtYWtlLCBTb3VyY2Uva3dzeXMvRGlyZWN0b3J5LmN4eDoKCgkgIEVOSDogYWRkIHN1cHBvcnQgZm9yIHRoZSBQb3J0bGFuZCBDb21waWxlciB0byBDTWFrZSwgY2FuIGJ1aWxkCgkgIGNtYWtlIGFuZCB0aGUgdGVzdHMgcGFzcyAoZXhjZXB0IHRoZSB3cmFwcGluZyB0ZXN0cywgd2hpY2ggZmFpbAoJICB0byBsaW5rIHRvIHRoZSBnKystY29tcGlsZWQgUXQpCgoJICBBbGV4CgoyMDA3LTA5LTE3IDE1OjQwICBhbGV4CgoJKiBVdGlsaXRpZXMvY210YXIvbGlidGFyLmM6CgkgIENPTVA6IHVzZSBDLXN0eWxlIGNvbW1lbnRzIGluIEMgY29kZQoKCSAgQWxleAoKMjAwNy0wOS0xNyAxNToyNyAgaG9mZm1hbgoKCSogVGVzdHMvOiBTaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBTaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEVOSDogdGVzdCBpbnN0YWxsIG9mIGRlYnVnIGxpYnMKCjIwMDctMDktMTcgMTU6MjYgIGhvZmZtYW4KCgkqIE1vZHVsZXMvSW5zdGFsbFJlcXVpcmVkU3lzdGVtTGlicmFyaWVzLmNtYWtlOiBFTkg6IGFsbG93IGZvcgoJICBpbnN0YWxsYXRpb24gb2YgZGVidWcgbGlicwoKMjAwNy0wOS0xNyAxNToyMCAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZVZTOEZpbmRNYWtlLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2UsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvOUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzlHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsIFNvdXJjZS9jbWFrZS5jeHgsCgkgIFV0aWxpdGllcy9jbWN1cmwvc2VsZWN0LmgsIFV0aWxpdGllcy9jbWN1cmwvQ01ha2UvQ3VybFRlc3RzLmMsCgkgIFV0aWxpdGllcy9jbWN1cmwvUGxhdGZvcm1zL1dpbmRvd3NDYWNoZS5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVZTOUZpbmRNYWtlLmNtYWtlOiBFTkg6IGFkZCBzdXBwb3J0IGZvciB2cyAyMDA4IGJldGEKCSAgMgoKMjAwNy0wOS0xNyAxNToxOCAgYWxleAoKCSogVXRpbGl0aWVzL2NtdGFyLzogQ01ha2VMaXN0cy50eHQsIGNvbmZpZy5oLmluLCBpbnRlcm5hbC5oOgoJICBDT01QOiBhZGQgYSBjaGVjayBmb3IgbWFrZWRldiwgd2hpY2ggaXNuJ3QgYXZhaWxhYmxlIHdpdGggdGhlIFBHSQoJICBjb21waWxlciBvbiBDcmF5IFhUMwoKCSAgQWxleAoKMjAwNy0wOS0xNyAxMToxNyAgaG9mZm1hbgoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IGZpeCB3YXJuaW5nCgoyMDA3LTA5LTE3IDEwOjUzICBhbGV4CgoJKiBTb3VyY2UvY21UcnlSdW5Db21tYW5kLmN4eDoKCSAgU1RZTEU6IGNvcHkgdGhlIGV4ZWN1dGFibGVzIGZyb20gVFJZX1JVTigpIHRvCgkgICR7Q01BS0VfQklOQVJZX0RJUn0vQ01ha2VGaWxlcy8gaW5zdGVhZCB0byAke0NNQUtFX0JJTkFSWV9ESVJ9CgoJICBBbGV4CgoyMDA3LTA5LTE3IDEwOjUxICBraW5nCgoJKiBUZXN0cy9CdWlsZERlcGVuZHMvOiBDTWFrZUxpc3RzLnR4dCwgUHJvamVjdC9DTWFrZUxpc3RzLnR4dCwKCSAgUHJvamVjdC9kZXAuY3h4LCBQcm9qZWN0L3pvdC5jeHg6IEVOSDogQWRkaW5nIHRlc3QgZm9yCgkgIEFERF9DVVNUT01fQ09NTUFORCdzIG5ldyBJTVBMSUNJVF9ERVBFTkRTIGZlYXR1cmUuCgoyMDA3LTA5LTE3IDEwOjUwICBraW5nCgoJKiBTb3VyY2UvOiBjbUFkZEN1c3RvbUNvbW1hbmRDb21tYW5kLmN4eCwKCSAgY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5oLCBjbUN1c3RvbUNvbW1hbmQuY3h4LAoJICBjbUN1c3RvbUNvbW1hbmQuaCwgY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHg6IEVOSDogQWRkZWQKCSAgSU1QTElDSVRfREVQRU5EUyBvcHRpb24gdG8gQUREX0NVU1RPTV9DT01NQU5ELiAgSXQgY3VycmVudGx5CgkgIHdvcmtzIG9ubHkgZm9yIE1ha2VmaWxlIGdlbmVyYXRvcnMuICBJdCBhbGxvd3MgYSBjdXN0b20gY29tbWFuZAoJICB0byBoYXZlIGltcGxpY2l0IGRlcGVuZGVuY2llcyBpbiB0aGUgZm9ybSBvZiBDIG9yIENYWCBzb3VyY2VzLgoKMjAwNy0wOS0xNyAxMDo0MCAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RCdWlsZEFuZFRlc3RIYW5kbGVyLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdEJ1aWxkQ29tbWFuZC5jeHgsIENUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHg6IEVOSDoKCSAgZml4IGJ1aWxkIGlzc3VlIHdpdGggY29uZmlnIHR5cGUgbm90IGJlaW5nIHNwZWNpZmllZCBieSBjdGVzdAoKMjAwNy0wOS0xNiAyMjo0NiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA5LTE1IDIyOjU4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDktMTQgMjI6NTkgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wOS0xMyAyMjo1MyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA5LTEzIDEzOjM3ICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbVNvdXJjZUZpbGUuY3h4LAoJICBUZXN0cy9QcmVjb21waWxlZEhlYWRlci9DTWFrZUxpc3RzLnR4dDogRU5IOiBBZGRlZCBPQkpFQ1RfT1VUUFVUUwoJICBzb3VyY2UgZmlsZSBwcm9wZXJ0eS4gIFVwZGF0ZWQgUHJlY29tcGlsZWRIZWFkZXIgdGVzdCB0byB1c2UgaXQKCSAgKG1ha2luZyB0aGUgdGVzdCBzaW1wbGVyKS4KCjIwMDctMDktMTMgMDk6MTQgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogQ09NUDogRml4IHNoYWRvd2VkIGxvY2FsCgkgIHdhcm5pbmcgYnkgc2NvcGluZyB0aGUgcHJldmlvdXMgZGVjbCBwcm9wZXJseS4KCjIwMDctMDktMTIgMjI6NTQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wOS0xMSAyMjo0OSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA5LTExIDE1OjIxICBkYXZpZC5jb2xlCgoJKiBDVGVzdEN1c3RvbS5jbWFrZS5pbjogRU5IOiBBdm9pZCBwcm9tcHRpbmcgZm9yIGFkbWluIHByaXZpbGVnZXMKCSAgd2hlbiBydW5uaW5nIENNYWtlU2V0dXAuZXhlIG9uIFZpc3RhIGJ5IGFkZGluZyBhCgkgIHJlcXVlc3RlZEV4ZWN1dGlvbkxldmVsIGVsZW1lbnQgdG8gaXRzIG1hbmlmZXN0LgoKMjAwNy0wOS0xMSAxNDo0MyAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RCdWlsZEFuZFRlc3RIYW5kbGVyLmN4eDogRU5IOiBmb3IgYnVpbGQgYW5kCgkgIHRlc3QgZGVmYXVsdCB0aGUgY29uZmlnIHR5cGUgdG8gdGhlIG9uZSB0aGF0IGN0ZXN0IHdhcyBidWlsdAoJICB3aXRoLCBpdCBpcyBnb29kIGZvciB0aGUgY3VycmVudCBjdGVzdCBzZXR1cCwgYW5kIG90aGVyIHByb2plY3RzCgkgIGNhbiBhbHdheXMgc3BlY2lmeSBhIHZhbHVlIG9uIHRoZSBjb21tYW5kIGxpbmUKCjIwMDctMDktMTEgMTI6MjMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogRU5IOiBvcHBzCgoyMDA3LTA5LTExIDExOjIyICBkYXZpZC5jb2xlCgoJKiBVdGlsaXRpZXMvY216bGliLzogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZywgRkFRLCBJTkRFWCwgUkVBRE1FLAoJICBSRUFETUUuS2l0d2FyZS50eHQsIGFkbGVyMzIuYywgY21femxpYl9tYW5nbGUuaCwgY29tcHJlc3MuYywKCSAgY3JjMzIuYywgY3JjMzIuaCwgZGVmbGF0ZS5jLCBkZWZsYXRlLmgsIGV4YW1wbGUuYywgZ3ppby5jLAoJICBpbmZibG9jay5jLCBpbmZibG9jay5oLCBpbmZjb2Rlcy5jLCBpbmZjb2Rlcy5oLCBpbmZmYXN0LmMsCgkgIGluZmZhc3QuaCwgaW5mZml4ZWQuaCwgaW5mbGF0ZS5jLCBpbmZsYXRlLmgsIGluZnRyZWVzLmMsCgkgIGluZnRyZWVzLmgsIGluZnV0aWwuYywgaW5mdXRpbC5oLCBtYWtldHJlZS5jLCBtaW5pZ3ppcC5jLAoJICB0cmVlcy5jLCB1bmNvbXByLmMsIHpjb25mLmgsIHpsaWIuZGVmLCB6bGliLmgsIHpsaWIucmMsIHp1dGlsLmMsCgkgIHp1dGlsLmg6IEVOSDogVXBkYXRlIHpsaWIgdG8gMS4yLjMuIEFkZHJlc3NlcyBidWdzICM1NDQ1IGFuZAoJICAjMzQ3My4KCjIwMDctMDktMTEgMTE6MjEgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oLAoJICBjdGVzdC5jeHgsIENUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHg6IEVOSDogZml4IDIgY3Rlc3QgaXNzdWVzLAoJICBkbyBub3QgdXNlIHRoZSBidWlsZCB0eXBlIG9mIGN0ZXN0IHRvIGxvb2sgZm9yIGNvbmZpZyB0eXBlcywgZG8KCSAgbm90IGluaGVyaXQgcGlwZXMgaW4gY2hpbGQgcHJvY3MgZm9yIGN0ZXN0IHNvIGl0IGNhbiBraWxsIHRoZW0KCjIwMDctMDktMTEgMTA6MDEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1hdGhDb21tYW5kLmg6IEVOSDogaW1wcm92ZSBkb2NzCgoyMDA3LTA5LTEwIDIyOjUwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDktMTAgMTc6MzkgIGhvZmZtYW4KCgkqIFRlc3RzLzogU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OiBFTkg6IHR1cm4gdGhpcyBzdHVmZiBvZmYgdG8gc2VlCgkgIGlmIGl0IGZpeGVzIHRoZSBkYXNoYm9hcmQgb24gbWlkd29ybGQKCjIwMDctMDktMTAgMTc6MTAgIGhvZmZtYW4KCgkqIFRlc3RzL1BsdWdpbi9zcmMvZXhhbXBsZV9leGUuY3h4OiBFTkg6IGZpeCBtZW1vcnkgbGVhawoKMjAwNy0wOS0xMCAxMDo0OSAgaG9mZm1hbgoKCSogVGVzdHMvQ01ha2VMaXN0cy50eHQsIFV0aWxpdGllcy9SZWxlYXNlL1JFQURNRSwKCSAgVXRpbGl0aWVzL1JlbGVhc2UvY3JlYXRlLWNtYWtlLXJlbGVhc2UuY21ha2UsCgkgIFV0aWxpdGllcy9SZWxlYXNlL3VwbG9hZF9yZWxlYXNlLmNtYWtlOiBFTkg6IGFkZCB0ZXN0IHRoYXQgYnVpbGRzCgkgIGEgbmlnaHRseSB3aW5kb3dzIGNtYWtlIGJpbmFyeQoKMjAwNy0wOS0xMCAxMDoyMiAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIGNtVGFyZ2V0LmN4eDogRU5IOiBBZGRlZAoJICBYQ09ERV9BVFRSSUJVVEVfPGFuLWF0dHJpYnV0ZT4gcHJvcGVydHkgdG8gYWxsb3cgZGlyZWN0IHNldHRpbmcKCSAgb2YgWGNvZGUgdGFyZ2V0IGF0dHJpYnV0ZXMgaW4gZ2VuZXJhdGVkIHByb2plY3RzLiAgRm9yIGV4YW1wbGUsCgkgIG9uZSBtYXkgc2V0IHRoZSBwcmVmaXggaGVhZGVyIHByb3BlcnR5IGFuZCB0aGUgY29ycmVzcG9uZGluZwoJICBwcmVjb21waWxlZCBvcHRpb24gdG8gZG8gcHJlY29tcGlsZWQgaGVhZGVycy4KCjIwMDctMDktMDkgMjM6MDMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wOS0wOSAxMzoxOCAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQ6IEVOSDogcmVtb3ZlIGRlYnVnIHByaW50CgoyMDA3LTA5LTA4IDIzOjA5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDktMDcgMjI6NDkgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wOS0wNyAxNzowMCAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQ6IEVOSDogTUFUSCBpcyBub3QgaW4gYm9vdHN0cmFwIGNtYWtlCgoyMDA3LTA5LTA3IDE0OjIwICBob2ZmbWFuCgoJKiBDTWFrZUNQYWNrLmNtYWtlLCBDTWFrZUxpc3RzLnR4dDogRU5IOiBmb3IgQ1ZTIENNYWtlIGhhdmUgY3BhY2sKCSAgdXNlIHRoZSB2ZXJzaW9uIGRhdGUgaW4gdGhlIG5hbWUgb2YgdGhlIHBhY2thZ2UKCjIwMDctMDktMDcgMTE6MTAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNhY2hlTWFuYWdlci5jeHg6IEVOSDogZml4IHNwZWxsaW5nIGVycm9yCgoyMDA3LTA5LTA2IDIyOjU3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDktMDYgMTc6NDcgIGRhdmlkLmNvbGUKCgkqIFV0aWxpdGllcy9SZWxlYXNlL0NNYWtlSW5zdGFsbC5ibXA6IEJVRzogUHV0IGJhY2sKCSAgQ01ha2VJbnN0YWxsLmJtcCBpbiBvcmRlciB0byBidWlsZCBhIHBhY2thZ2Ugd2l0aCBOU0lTIG9uCgkgIFdpbmRvd3MuIEl0IHdhcyBpbmFkdmVydGVudGx5IHJlbW92ZWQuCgoyMDA3LTA5LTA2IDEwOjA2ICBob2ZmbWFuCgoJKiBEYXJ0TG9jYWwuY29uZi5pbjogRU5IOiBhY2RjIGlzIGRlYWQKCjIwMDctMDktMDUgMjM6MDEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wOS0wNCAxMTo0NSAgemFjay5nYWxicmVhdGgKCgkqIFNvdXJjZS90ZW1wLnR4dDogRU5IOiByZW1vdmluZyB0ZW1wb3JhcnkgdGVzdGluZyBmaWxlCgoyMDA3LTA5LTA0IDExOjA1ICB6YWNrLmdhbGJyZWF0aAoKCSogU291cmNlL3RlbXAudHh0OiBFTkg6IHRlc3RpbmcgYnJhbmNoUmVzdHJpY3QKCjIwMDctMDgtMzEgMTY6NTIgIGFsZXgKCgkqIFNvdXJjZS86IGNtSW5zdGFsbENvbW1hbmQuY3h4LCBjbUluc3RhbGxDb21tYW5kQXJndW1lbnRzLmg6CgkgIFNUWUxFOiBmaXggbGluZSBsZW5ndGhzCgoJICBBbGV4CgoyMDA3LTA4LTMxIDE2OjI3ICBhbGV4CgoJKiBNb2R1bGVzL0NQYWNrLmNtYWtlOgoJICBTVFlMRTogbWFyayB0aGUgZ2VuZXJhdG9yIG9wdGlvbnMgYXMgYWR2YW5jZWQKCgkgIEFsZXgKCjIwMDctMDgtMzEgMTU6MDUgIGFsZXgKCgkqIFV0aWxpdGllcy9LV1N0eWxlL0NNYWtlLmt3cy54bWwuaW46CgkgIFNUWUxFOiBkaXNhYmxlIGhlYWRlciBjaGVjawoKCSAgQWxleAoKMjAwNy0wOC0zMSAxNDo1MSAga2luZwoKCSogQ01ha2VMaXN0cy50eHQsIENUZXN0Q3VzdG9tLmNtYWtlLmluLCBDVGVzdEN1c3RvbS5jdGVzdC5pbjogRU5IOgoJICBDcmVhdGUgQ1Rlc3RDdXN0b20uY21ha2UgaW5zdGVhZCBvZiBDVGVzdEN1c3RvbS5jdGVzdC4gIENyZWF0ZQoJICB0aGUgb2xkIGZpbGUgdG8gaW5jbHVkZSB0aGUgbmV3IG9uZSBmb3IgY29tcGF0aWJpbGl0eS4gIFRoaXMKCSAgc2hvdWxkIHByZXZlbnQgdGhlIGxvbmcgZGVsYXlzIG9mIENUZXN0IHRyYXZlcnNpbmcgdGhlIHdob2xlIHRyZWUKCSAgbG9va2luZyBmb3IgQ1Rlc3RDdXN0b20uY3Rlc3QgZmlsZXMuCgoyMDA3LTA4LTMxIDE0OjA3ICBhbGV4CgoJKiBVdGlsaXRpZXMvS1dTdHlsZS86IENNYWtlTGlzdHMudHh0LCBDTWFrZU1vcmVDaGVja3Mua3dzLnhtbC5pbjoKCSAgU1RZTEU6IGFkZCBtYWtlZmlsZSB0YXJnZXQgTW9yZVN0eWxlQ2hlY2tzLCB3aGljaCBydW5zIEtXU3R5bGUKCSAgd2l0aCBtb3JlIGNoZWNrcyBlbmFibGVkIGFuZCBjcmVhdGVzIHRoZSBodG1sIGZpbGVzLgoKCSAgQWxleAoKMjAwNy0wOC0zMSAxMzo0NSAgYWxleAoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDoKCSAgU1RZTEU6IHRoZSB0ZW1wb3JhcnkgdmFyaWFibGUgaXMgbm90IG5lY2Vzc2FyeQoKCSAgQWxleAoKMjAwNy0wOC0zMSAxMzo0MiAgYWxleAoKCSogU291cmNlLzogY21FeHRyYUNvZGVCbG9ja3NHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsR2VuZXJhdG9yLmgsIGNtR2xvYmFsS2RldmVsb3BHZW5lcmF0b3IuY3h4OgoJICBFTkg6IGFkZCBzdXBwb3J0IGZvciBGb3J0cmFuIHRvIHRoZSBLRGV2ZWxvcCBnZW5lcmF0b3IgLW1pbm9yCgkgIG9wdGltaXphdGlvbiBmb3IgR2V0TGFuZ3VhZ2VFbmFibGVkKCkKCgkgIEFsZXgKCjIwMDctMDgtMzEgMDk6MTQgIGtpbmcKCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrRGViR2VuZXJhdG9yLmN4eDogQlVHOiBBbm90aGVyIHNwYWNlLWluLXBhdGgKCSAgZml4LgoKMjAwNy0wOC0zMSAwOTowOSAga2luZwoKCSogU291cmNlL2NtYWtlLmN4eDogQlVHOiBGaXggcGF0aCB0byBDTWFrZSBleGVjdXRhYmxlcyB3aGVuIHJ1bgoJICBmcm9tIGJvb3RzdHJhcCBidWlsZC4KCjIwMDctMDgtMzAgMTY6MjMgIGFsZXgKCgkqIFRlc3RzLzogU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OgoJICBTVFlMRTogYWRhcHQgdGhlIHRlc3QgdG8gdGhlIGNoYW5nZSBmcm9tIEZJTEVOQU1FIHRvIEZJTEUgLWFkZCBhCgkgIGNhbGwgdG8gdGhlIEVYUE9SVCgpIGNvbW1hbmQKCgkgIEFsZXgKCjIwMDctMDgtMzAgMTY6MjIgIGFsZXgKCgkqIFNvdXJjZS86IGNtSW5zdGFsbENvbW1hbmQuY3h4LCBjbUluc3RhbGxFeHBvcnRHZW5lcmF0b3IuY3h4OgoJICBTVFlMRTogcmVuYW1lIEZJTEVOQU1FIGtleXdvcmQgdG8gRklMRSwgYmVjYXVzZSBGSUxFTkFNRSBpcyB1c2VkCgkgIGluIG5vIG90aGVyIHBsYWNlCgoJICBBbGV4CgoyMDA3LTA4LTMwIDEzOjM1ICBhbGV4CgoJKiBNb2R1bGVzLzogRmluZFB5dGhvbkludGVycC5jbWFrZSwgRmluZFB5dGhvbkxpYnMuY21ha2U6CgkgIEVOSDogYWRkIHN1cHBvcnQgZm9yIHRoZSBuZXh0IHB5dGhvbiByZWxlYXNlLCBweXRob24gMi42CgoJICBBbGV4CgoyMDA3LTA4LTMwIDExOjM2ICBhbGV4CgoJKiBTb3VyY2UvY21FeHRyYUNvZGVCbG9ja3NHZW5lcmF0b3IuY3h4OgoJICBTVFlMRTogIkJ1aWxkIGZpbGUiIHN0aWxsIGRvZXNuJ3Qgd29yaywgYnV0IG5vdyBpdCBpcyBhdCBsZWFzdCBhCgkgIGJpdCBjbG9zZXIsIGl0IG5lZWRzIHNvbWUgbW9yZSBzdXBwb3J0IGZyb20gQ0IKCgkgIEFsZXgKCjIwMDctMDgtMzAgMTA6MjYgIGFsZXgKCgkqIFNvdXJjZS9jbVN0cmluZ0NvbW1hbmQuaDoKCSAgU1RZTEU6IGFkZCB0aGUgfCB0byB0aGUgZG9jcwoKCSAgQWxleAoKMjAwNy0wOC0yOSAxNjozMiAgYWxleAoKCSogU291cmNlL0NQYWNrL2NtQ1BhY2tEZWJHZW5lcmF0b3IuY3h4OgoJICBCVUc6IHdvcmsgaWYgdGhlcmUgYXJlIHNwYWNlcyBpbiB0aGUgcGF0aCB0byBjbWFrZQoKCSAgQWxleAoKMjAwNy0wOC0yOSAxNjozMSAgYWxleAoKCSogTW9kdWxlcy9DUGFja1JQTS5jbWFrZToKCSAgRU5IOiBmYWlsIHdpdGggZXJyb3IgaWYgdHJ5aW5nIHRvIGNyZWF0ZSBhIFJQTSBzdGF0aW5nIHRoYXQKCSAgcnBtYnVpbGQgY2FuJ3QgaGFuZGxlIHNwYWNlcwoKCSAgQWxleAoKMjAwNy0wOC0yOSAxNToxOSAgYWxleAoKCSogU291cmNlL2NtRXh0cmFDb2RlQmxvY2tzR2VuZXJhdG9yLmN4eDoKCSAgQlVHOiBtYWtlIHBhdGhzIHdpdGggc3BhY2VzIHdvcmsgaW4gQ29kZUJsb2NrcyAtZ2NjIGlzIGFsd2F5cyBnY2MKCSAgYW5kIG5vdCBtaW5ndwoKCSAgQWxleAoKMjAwNy0wOC0yOSAxNDozNSAgYWxleAoKCSogU291cmNlL2NtSWZDb21tYW5kLmN4eDogQlVHOiB0aGlzIHNlZW1zIHRvIGZpeCB0aGUgcmVnZXhwCgkgIHJlc3VsdC1zdG9yYWdlIHByb2JsZW0sIG5vdyBpdCBzZWVtcyB0aGUgYWN0dWFsIHJlc3VsdCBpcyB0b3JlZAoJICBpbnN0ZWFkIG9mICIxIiAsIGFzIGl0IGhhcHBlbmVkIGZvciBTdHJpbmdGaWxlVGVzdCBvbiBXaW5kb3dzCgoJICBBbGV4CgoyMDA3LTA4LTI5IDE0OjA1ICBhbGV4CgoJKiBTb3VyY2UvY21TdHJpbmdDb21tYW5kLmg6CgkgIFNUWUxFOiBhZGQgZG9jcyBhYm91dCB0aGUgc3VwcG9ydGVkIHJlZ2V4cCBjaGFyYWN0ZXJzIGFuZAoJICBDTUFLRV9NQVRDSF8oMC4uOSkKCgkgIEFsZXgKCjIwMDctMDgtMjkgMTI6MDEgIGFsZXgKCgkqIFRlc3RzL1N0cmluZ0ZpbGVUZXN0L0NNYWtlTGlzdHMudHh0OgoJICBFTkg6IGFkZGVkIHRlc3RzIGZvciB0aGUgQ01BS0VfTUFUQ0hfKDAuLjkpIHZhcmlhYmxlcywgd2hpY2ggZ2V0CgkgIHNldCBieSByZWdleCBtYXRjaGVzIChTVFJJTkcoUkVHRVgpLCBJRihNQVRDSEVTKSkKCgkgIEFsZXgKCjIwMDctMDgtMjkgMTE6NTggIGFsZXgKCgkqIFNvdXJjZS86IGNtSWZDb21tYW5kLmN4eCwgY21JZkNvbW1hbmQuaCwgY21TdHJpbmdDb21tYW5kLmN4eCwKCSAgY21TdHJpbmdDb21tYW5kLmg6CgkgIEVOSDogYWxzbyBzdG9yZSB0aGUgZ3JvdXAgbWF0Y2hlcyBmcm9tIElGKCBNQVRDSEVTKSBpbgoJICBDTUFLRV9NQVRDSF8oMC4uOSkKCgkgIEFsZXgKCjIwMDctMDgtMjkgMTE6MzAgIGtpbmcKCgkqIFNvdXJjZS9jbURlcGVuZHNGb3J0cmFuLmN4eDogQlVHOiBEbyBub3Qgd3JpdGUgc3ltYm9saWMgbWFrZQoJICBkZXBlbmRlbmNpZXMgaW50byBkZXBlbmRzLmludGVybmFsLgoKMjAwNy0wOC0yOSAxMDoxMiAgYWxleAoKCSogU291cmNlLzogY21FeHRyYUNvZGVCbG9ja3NHZW5lcmF0b3IuY3h4LAoJICBjbUV4dHJhQ29kZUJsb2Nrc0dlbmVyYXRvci5oOgoJICBFTkg6IGRvbid0IGhhcmRjb2RlIGdjYyAtcHV0IHRoZSBpbmNsdWRlIGRpcnMgaW4gdGhlIHByb2plY3QgZmlsZQoJICB0byBlbmFibGUgYXV0b2NvbXBsZXRpb24gLXByZXBhcmUgZm9yIG5tYWtlCgoJICBBbGV4CgoyMDA3LTA4LTI4IDE2OjI3ICBhbGV4CgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6CgkgIENPTVA6IGV4cGxpY2l0ZWx5IGNhc3QgdG8gaW50IHRvIHNpbGVuY2Ugd2FybmluZyB3aXRoIG1zdmM4CgoJICBBbGV4CgoyMDA3LTA4LTI4IDE2OjE5ICBhbGV4CgoJKiBNb2R1bGVzL0NNYWtlR2VuZXJpY1N5c3RlbS5jbWFrZSwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OgoJICBFTkg6IGFkZCBmbGFnIHNvIGEgdGVybWluYXRpbmcgc2xhc2ggZm9yIHRoZSBsaW5rIHBhdGggY2FuIGJlCgkgIHNwZWNpZmllZCAobmVlZGVkIGJ5IHRoZSBEaWdpdGFsIE1hcnMgRCBjb21waWxlcikKCgkgIEFsZXgKCjIwMDctMDgtMjggMTU6MTMgIGFsZXgKCgkqIFNvdXJjZS9jbUV4dHJhQ29kZUJsb2Nrc0dlbmVyYXRvci5jeHg6CgkgIFNUWUxFOiBhZGQgbGlua3MgdG8gZG9jcwoKCSAgQWxleAoKMjAwNy0wOC0yOCAxMzo0NiAgYWxleAoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RHZW5lcmljSGFuZGxlci5jeHg6CgkgIFNUWUxFOiBmaXggdHlwbwoKCSAgQWxleAoKMjAwNy0wOC0yOCAxMTowMiAgYWxleAoKCSogQ01ha2VMaXN0cy50eHQ6CgkgIENPTVA6IGVuYWJsZSBSUEFUSCBpZiBhbnkgb2YgdGhlIENNQUtFX1VTRV9TWVNURU1fWFhYIHZhcmlhYmxlcwoJICBpcyBlbmFibGVkIG9yIGlmIHRoZSBjdXJzZXMgbGlicmFyeSBpcyBuZWl0aGVyIGluIC9saWIgbm9yIGluCgkgIC91c3IvbGliIC4gVGhpcyBtYWtlcyBpdCBidWlsZCBvbiBOZXRCU0QuIEZvciBtb3JlIGNvbW1lbnRzIHNlZQoJICBDTWFrZUxpc3RzLnR4dAoKCSAgQWxleAoKMjAwNy0wOC0yOCAxMDo1OSAgYWxleAoKCSogVGVzdHMvU291cmNlR3JvdXBzLzogQ01ha2VMaXN0cy50eHQsIG1haW4uYzoKCSAgQ09NUDogZW5hYmxlIEFOU0kgQywgdGhpcyBzaG91bGQgbWFrZSBpdCB3b3JrIHdpdGggdGhlIEhQLVVYCgkgIGNvbXBpbGVyCgoJICBBbGV4CgoyMDA3LTA4LTI4IDEwOjUyICBhbGV4CgoJKiBNb2R1bGVzLzogQ2hlY2tDU291cmNlUnVucy5jbWFrZSwgQ2hlY2tDWFhTb3VyY2VSdW5zLmNtYWtlOgoJICBFTkg6IHVzZSB0aGUgc2FtZSBDTUFLRV9TS0lQX1JQQVRIIHNldHRpbmcgaW4KCSAgQ0hFQ0tfQy9DWFhfU09VUkNFX1JVTlMgYXMgaW4gdGhlIG1haW4gcHJvamVjdC4gSSB0aGluayBpdAoJICBkb2Vzbid0IG1ha2Ugc2Vuc2UgaWYgYSBwcm9qZWN0IGRpc2FibGVzIFJQQVRILCB1c2VzCgkgIENIRUNLX0NfU09VUkNFX1JVTlMoKSB0byBzZWUgaWYgc29tZXRoaW5nIGlzIGFibGUgdG8gcnVuLCBhbmQKCSAgdGhpcyBzdWNjZWVkcyBiZWNhdXNlIGl0IGhhcyBiZWVuIGJ1aWx0IHdpdGggUlBBVEgsIGJ1dCBhbgoJICBleGVjdXRhYmxlIGJ1aWx0IHdpdGhpbiB0aGUgcHJvamVjdCB3b24ndCBiZSBhYmxlIHRvIHJ1biBzaW5jZSBpdAoJICBoYXMgYmVlbiBidWlsdCB3aXRob3V0IFJQQVRILgoKCSAgQWxleAoKMjAwNy0wOC0yOCAwODozNiAgYWxleAoKCSogVGVzdHMvU291cmNlR3JvdXBzL21haW4uYzoKCSAgQ09NUDogbWF5YmUgaXQgY29tcGlsZXMgdGhpcyB3YXkgd2l0aCB0aGUgSFAtVVggY29tcGlsZXIKCgkgIEFsZXgKCjIwMDctMDgtMjcgMjM6MTIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wOC0yNyAxNzowNSAgYWxleAoKCSogU291cmNlLzogY21Mb2NhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW9HZW5lcmF0b3IuaDogQlVHOiBmaXggIzUzMjY6IHNvdXJjZSBmaWxlcyB3aXRoCgkgIHRoZSBzYW1lIG5hbWUgaW4gZGlmZmVyZW50IGdyb3VwcyBsZWFkIHRvIGNvbGxpZGluZyBvYmplY3QgZmlsZQoJICBuYW1lcwoKCSAgQWxleAoKMjAwNy0wOC0yNyAxNjowNSAgYWxleAoKCSogVGVzdHMvOiBTaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBTaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6CgkgIEVOSDogYWRkIHRlc3QgZm9yIGluc3RhbGxpbmcgYSBoZWFkZXIgbWFya2VkIGFzIFBVQkxJQ19IRUFERVIgb2YKCSAgYSBsaWJyYXJ5CgoJICBBbGV4CgoyMDA3LTA4LTI3IDE2OjA0ICBhbGV4CgoJKiBTb3VyY2UvOiBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIGNtSW5zdGFsbENvbW1hbmQuY3h4LCBjbUluc3RhbGxDb21tYW5kLmgsCgkgIGNtSW5zdGFsbEV4cG9ydEdlbmVyYXRvci5jeHgsIGNtSW5zdGFsbEV4cG9ydEdlbmVyYXRvci5oOgoJICBFTkg6IGFkZCBpbnN0YWxsIGZpbGVzIGdlbmVyYXRvcnMgZm9yIHRhcmdldHMgd2hpY2ggaGF2ZQoJICBQVUJMSUNfSEVBREVSLCBQUklWQVRFX0hFQURFUiBvciBSRVNPVVJDRV9GSUxFUyBwcm9wZXJ0eSwgdXNlIHRoZQoJICBkZXN0aW5hdGlvbiBmb3IgdGhlIHB1YmxpYyBoZWFkZXJzIGFzIGluY2x1ZGUgZGlyZWN0b3J5IHByb3BlcnR5CgkgIGZvciBleHBvcnRlZCBsaWJyYXJpZXMKCgkgIEFsZXgKCjIwMDctMDgtMjcgMTU6MTUgIGFsZXgKCgkqIFRlc3RzLzogU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OgoJICBDT01QOiBhZGQgYSB0ZXN0IGZvciBleHBvcnRpbmcgYW5kIGltcG9ydGluZyB0YXJnZXRzCgoJICBBbGV4CgoyMDA3LTA4LTI3IDE0OjQ0ICBhbGV4CgoJKiBUZXN0cy86IFNpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFNpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dDoKCSAgQ09NUDogdGhlIFNpbXBsZUluc3RhbGwgdGVzdCBhbHNvIHN1Y2NlZWRzIG9uIHRoZSBNYWMsIHNvIG1heWJlCgkgIEFuZHlzIGNvbW1lbnQgaXMgbm90IHZhbGlkIGFueW1vcmUKCgkgIEFsZXgKCjIwMDctMDgtMjcgMTQ6MTcgIGFsZXgKCgkqIFRlc3RzLzogQ01ha2VMaXN0cy50eHQsIFNvdXJjZUdyb3Vwcy9DTWFrZUxpc3RzLnR4dDoKCSAgRU5IOiBhZGQgdGhlIHNvdXJjZV9ncm91cCgpIGRlbW8gdG8gdGhlIHRlc3RzCgoJICBBbGV4CgoyMDA3LTA4LTI3IDEzOjIzICBhbGV4CgoJKiBTb3VyY2UvY21FeHRyYUNvZGVCbG9ja3NHZW5lcmF0b3IuY3h4OgoJICBDT01QOiBkaXNhYmxlIG5tYWtlIHN1cHBvcnQgdW50aWwgc29tZWJvZHkgdGVzdHMgaXQKCgkgIEFsZXgKCjIwMDctMDgtMjcgMDk6MDEgIGFsZXgKCgkqIE1vZHVsZXMvRmluZEN1cnNlcy5jbWFrZSwgU291cmNlL0N1cnNlc0RpYWxvZy9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL0N1cnNlc0RpYWxvZy9jY21ha2UuY3h4LAoJICBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzU3RhbmRhcmRJbmNsdWRlcy5oLAoJICBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2Zvcm0vQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9DdXJzZXNEaWFsb2cvZm9ybS9jbUZvcm1Db25maWd1cmUuaC5pbiwKCSAgU291cmNlL0N1cnNlc0RpYWxvZy9mb3JtL2Zvcm0uaDoKCSAgQ09NUDogbWFrZSBpdCBidWlsZCBvbiBOZXRCU0QsIHdoaWNoIGhhcyBzZXBhcmF0ZSBjdXJzZXMgYW5kCgkgIG5jdXJzZXMsIHNvIGl0IGhhcyB0byBiZSBkZXRlY3RlZCB0aGF0IGN1cnNlcyBpc24ndCBnb29kIGVub3VnaCwKCSAgYnV0IG5jdXJzZXMgaXMsIGFuZCB0aGF0IG5jdXJzZXMuaCBpbnN0ZWFkIG9mIGN1cnNlcy5oIGlzCgkgIGluY2x1ZGVkCgoJICBBbGV4CgoyMDA3LTA4LTI3IDA4OjQ5ICBhbGV4CgoJKiBTb3VyY2UvY21HbG9iYWxLZGV2ZWxvcEdlbmVyYXRvci5jeHg6CgkgIENPTVA6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCgkgIEFsZXgKCjIwMDctMDgtMjYgMjM6MjAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wOC0yNiAxOToyNyAgYWxleAoKCSogU291cmNlLzogY21HbG9iYWxLZGV2ZWxvcEdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsS2RldmVsb3BHZW5lcmF0b3IuaDoKCSAgRU5IOiBhZGQgYWxsIHN1YmRpcnMgb2YgdGhlIHByb2plY3QgdG8gdGhlIGtkZXZlbG9wIGJsYWNrbGlzdCwgc28KCSAga2RldmVsb3AgZG9lc24ndCB3YXRjaCB0aGVzZSBkaXJzIGZvciBhZGRlZCBvciByZW12ZWQgZmlsZXMKCSAgZXZlcnl0aW1lIGl0IGlzIHN0YXJ0ZWQKCgkgIEFsZXgKCjIwMDctMDgtMjYgMDM6MjkgIGFsZXgKCgkqIE1vZHVsZXMvRmluZEtERTQuY21ha2U6CgkgIEJVRzogS0RFRElSUyBjb250YWlucyB0aGUga2RlIGluc3RhbGwgbG9jYXRpb25zLCBub3QgdGhlIGJpbmFyeQoJICBkaXJzLCBzbyBtYWtlIEtERURJUlMgYWN0dWFsbHkgd29yayBpbiBGaW5kS0RFNC5jbWFrZQoKCSAgQWxleAoKMjAwNy0wOC0yNiAwMzoxNyAgYWxleAoKCSogU291cmNlLzogY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaCwgY21Tb3VyY2VHcm91cENvbW1hbmQuY3h4OgoJICBDT01QOiBwYXJlbnQgaXMgbm90IHVzZWQgYW55bW9yZSB3aXRoIHRoaXMgcGF0Y2gsIHNpbmNlIG5vdyB0aGUKCSAgbmFtZSBpcyBnaXZlbiBhcyBhIHZlY3RvciBvZiBjb21wb25lbnRzCgoJICBBbGV4CgoyMDA3LTA4LTI2IDAyOjQyICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRQa2dDb25maWcuY21ha2U6CgkgIFNUWUxFOiBmaXggdHlwbwoKCSAgQWxleAoKMjAwNy0wOC0yNSAyMzozNyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA4LTI0IDIzOjE1ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDgtMjQgMTQ6MzkgIGFsZXgKCgkqIFRlc3RzL1NvdXJjZUdyb3Vwcy86IENNYWtlTGlzdHMudHh0LCBiYXouYywgbWFpbi5jOiBCVUc6IGRlbW8KCSAgKG5vdCByZWFsbHkgdGVzdCkgZm9yIHRoZSBzb3VyY2VfZ3JvdXAoKSBjb21tYW5kCgoJICBBbGV4CgoyMDA3LTA4LTI0IDE0OjI3ICBhbGV4CgoJKiBTb3VyY2UvOiBjbUluc3RhbGxDb21tYW5kLmN4eCwgY21JbnN0YWxsQ29tbWFuZEFyZ3VtZW50cy5jeHgsCgkgIGNtSW5zdGFsbENvbW1hbmRBcmd1bWVudHMuaDoKCSAgU1RZTEU6IGZpeCBNU1ZDIHdhcm5pbmdzIGJ5IG1ha2luZyB0aGUgY21Db21tYW5kQXJndW1lbnRzSGVscGVyIGEKCSAgbWVtYmVyIG9mIGNtSW5zdGFsbENvbW1hbmRBcmd1bWVudHMgaW5zdGVhZCBvZiBkZXJpdmluZyBmcm9tIGl0CgoJICBBbGV4CgoyMDA3LTA4LTI0IDE0OjIxICBhbGV4CgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oLCBjbVNvdXJjZUdyb3VwLmN4eCwKCSAgY21Tb3VyY2VHcm91cENvbW1hbmQuY3h4OiBCVUc6IGZpeCAjNDA1NyAod2hpY2ggaGFkIHNldmVyYWwKCSAgZHVwbGljYXRlcyk6IGhhbmRsZSByZWN1cnNpdmV3IHNvdXJjZSBncm91cHMgYmV0dGVyLCBpLmUuCgkgIG11bHRpcGxlIHNvdXJjZWdyb3VwcyB3aXRoIHRoZSBzYW1lIGVuZCBjb21wb25lbnQgd29yayBub3cKCgkgIEFsZXgKCjIwMDctMDgtMjQgMTM6MzAgIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS9jbUluc3RhbGxDb21tYW5kLmN4eCwgU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuaCwgU291cmNlL2NtVGFyZ2V0LmgsCgkgIFRlc3RzL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9CdW5kbGVUZXN0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9CdW5kbGVUZXN0L0J1bmRsZVN1YkRpci9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRnJhbWV3b3JrL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZCBJbnN0YWxsTmFtZUZpeHVwUGF0aCB0bwoJICBzdXBwb3J0IGluc3RhbGxpbmcgYnVpbHQgZnJhbWV3b3JrcyBvbiB0aGUgTWFjLiBDaGFuZ2UKCSAgQXBwbGljYXRpb24gdG8gQXBwbGljYXRpb25zIGluIHRoZSBCdW5kbGVUZXN0LiBBbHNvIGNvcnJlY3Qgc21hbGwKCSAgdHlwbyAodGNsLT5UY2wpIG5vdGVkIGluIGJ1ZyA0NTcyLgoKMjAwNy0wOC0yNCAxMDo1OCAgYWxleAoKCSogU291cmNlL2NtU291cmNlR3JvdXBDb21tYW5kLmN4eDogQlVHOiBoYW5kbGUgc291cmNlX2dyb3VwIG5hbWVzCgkgIHdoaWNoIGNvbnNpc3Qgb25seSBvZiB0aGUgZGVsaW1pdGVyIHRoZSBzYW1lIHdhcyBhcyBlbXB0eSBzb3VyY2UKCSAgZ3JvdXAgbmFtZXMKCgkgIEFsZXgKCjIwMDctMDgtMjQgMTA6MzkgIGFsZXgKCgkqIFRlc3RzL1NvdXJjZUdyb3Vwcy86IENNYWtlTGlzdHMudHh0LCBiYXIuYywgZm9vLmMsIG1haW4uYywKCSAgc3ViMS9mb28uYywgc3ViMS9mb29iYXIuYzoKCSAgRU5IOiBhZGQgdGVzdCBmb3Igc291cmNlX2dyb3VwCgoJICBBbGV4CgoyMDA3LTA4LTI0IDA4OjU1ICBhbGV4CgoJKiBTb3VyY2UvY21JbnN0YWxsQ29tbWFuZC5jeHg6CgkgIEVOSDogdXNlIGNtQ29tbWFuZEFyZ3VtZW50SGVscGVyIGZvciBJTlNUQUxMKFRBUkdFVFMsIEZJTEVTLAoJICBQUk9HUkFNUywgRVhQT1JUUyksIHNhdmVzIGEgbG90IG9mIGNvZGUuIElOU1RBTEwoRElSRUNUT1JZKSBpcwoJICBzdGlsbCBkb25lIHRoZSBvbGQgd2F5LCBzaW5jZSB0aGlzIHNlZW1zIHRvIGJlIHF1aXRlIGNvbXBsaWNhdGVkCgkgIC1mb3IgSU5TVEFMTChUQVJHRVRTICk6IGFsc28gcGFyc2UgUFVCTElDX0hFQURFUiwgUFJJVkFURV9IRUFERVIsCgkgIFJFU09VUkNFCgoJICBBbGV4CgoyMDA3LTA4LTI0IDA4OjQwICBhbGV4CgoJKiBNb2R1bGVzL0NNYWtlRm9yY2VDb21waWxlci5jbWFrZToKCSAgU1RZTEU6IGZpeCB0eXBvIGluIHRoZSBkb2NzCgoJICBBbGV4CgoyMDA3LTA4LTIzIDIzOjIxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDgtMjMgMTY6MTQgIGFsZXgKCgkqIFNvdXJjZS86IGNtQ29tbWFuZHMuY3h4LCBjbUluc3RhbGxDb21tYW5kQXJndW1lbnRzLmN4eCwKCSAgY21JbnN0YWxsQ29tbWFuZEFyZ3VtZW50cy5oOgoJICBFTkg6IGNsYXNzIGZvciBwYXJzaW5nIHRoZSBhcmd1bWVudHMgZm9yIElOU1RBTEwoKQoKCSAgQWxleAoKMjAwNy0wOC0yMyAxNjoxMyAgYWxleAoKCSogU291cmNlLzogY21Db21tYW5kQXJndW1lbnRzSGVscGVyLmN4eCwKCSAgY21Db21tYW5kQXJndW1lbnRzSGVscGVyLmg6CgkgIEVOSDogYWRkIHN1cHBvcnQgZm9yIGEgZGVmYXVsdCB2YWx1ZSwgZml4IGNhc2Ugd2hlbiB0aGVyZSBpcyBubwoJICBpdGVtIGV4Y2VwdCB0aGUgb3duIGdyb3VwCgoJICBBbGV4CgoyMDA3LTA4LTIyIDIzOjE3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDgtMjIgMTE6MzIgIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgY21JbnN0YWxsQ29tbWFuZC5jeHgsIGNtSW5zdGFsbEV4cG9ydEdlbmVyYXRvci5jeHgsCgkgIGNtSW5zdGFsbEV4cG9ydEdlbmVyYXRvci5oOiBFTkg6IEhhbmRsZSBGUkFNRVdPUksgYW5kIEJVTkRMRQoJICBhcmd1bWVudHMgaW4gdGhlIElOU1RBTEwgVEFSR0VUUyBjb21tYW5kLiBXb3JrIGluIHByb2dyZXNzLi4uCgkgIE1vcmUgdG8gY29tZS4KCjIwMDctMDgtMjIgMDk6MjUgIGFsZXgKCgkqIFNvdXJjZS9rd3N5cy9SZWd1bGFyRXhwcmVzc2lvbi5oeHguaW46CgkgIEJVRzogaWYgdGhlcmUgaXMgbm8gbWF0Y2gsIGRvbid0IGNvbnN0cnVjdCB0aGUgc3RsIHN0cmluZyBmcm9tIGEKCSAgTlVMTCBwb2ludGVyCgoJICBBbGV4CgoyMDA3LTA4LTIxIDIzOjE1ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDgtMjEgMTY6NTEgIGFsZXgKCgkqIE1vZHVsZXMvVXNlUXQ0LmNtYWtlOgoJICBFTkg6IHN1cHBvcnQgUXRTY3JpcHQKCgkgIEFsZXgKCjIwMDctMDgtMjEgMTY6NTAgIGFsZXgKCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZToKCSAgRU5IOiBzdXBwb3J0IFF0U2NyaXB0IChzaW5jZSBRdCA0LjMpLCAjNDYzMgoKCSAgQWxleAoKMjAwNy0wOC0yMSAxNjoyMiAgYWxleAoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OgoJICBTVFlMRTogbW9yZSBzcGFjZSBpbiB0aGUgY21ha2VfaW5zdGFsbC5jbWFrZSBzY3JpcHQgKGVhc2llciB0bwoJICByZWFkKQoKCSAgQWxleAoKMjAwNy0wOC0yMSAxNjoyMSAgYWxleAoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OgoJICBDT01QOiBtYWtlIGl0IGJ1aWxkIG9uIExpbnV4CgoJICBBbGV4CgoyMDA3LTA4LTIxIDE1OjMwICBhbGV4CgoJKiBTb3VyY2Uva3dzeXMvR2xvYi5jeHg6CgkgIEJVRzogZml4IHNlZ2ZhdWx0IGlmIEZpbmRGaWxlcygpIGlzIGNhbGxlZCB3aXRob3V0IGFjdHVhbCBtYXRjaAoJICBwYXR0ZXJuIChlLmcuIEZJTEUoR0xPQiAvdXNyL2luY2x1ZGUpIGluc3RlYWQgb2YgRklMRShHTE9CCgkgIC91c3IvaW5jbHVkZS8qICkgIzQ2MjAKCgkgIEFsZXgKCjIwMDctMDgtMjEgMTM6NDcgIGFsZXgKCgkqIFNvdXJjZS9jbUdsb2JhbEtkZXZlbG9wR2VuZXJhdG9yLmN4eDoKCSAgRU5IOiBhbHNvIGNoZWNrIGZvciAuaHBwIGFuZCAuY3h4IGZpbGVzCgoJICBBbGV4CgoyMDA3LTA4LTIxIDEyOjM0ICBhbGV4CgoJKiBTb3VyY2UvY21TdHJpbmdDb21tYW5kLmg6CgkgIENPTVA6IGhlYWRlciB3YXMgbWlzc2luZy4uLgoKCSAgQWxleAoKMjAwNy0wOC0yMSAxMjozMSAgaG9mZm1hbgoKCSogVGVzdHMvOiBDb21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogRU5IOiBmaXggbGVhawoKMjAwNy0wOC0yMSAxMTozMCAgYWxleAoKCSogU291cmNlL2NtU3RyaW5nQ29tbWFuZC5jeHg6CgkgIEVOSDogc3RvcmUgdGhlIG1hdGNoZXMgZm9yIHBhcmVuLWRlbGltaXRlZCBzdWJleHByZXNzaW9uIGluCgkgIENNQUtFX01BVENIX1swLi45XSB2YXJpYWJsZXMsIHNvIHRvIGdldCBtdWx0aXBsZSBzdWJleHByZXNzaW9ucwoJICBmcm9tIG9uZSBzdHJpbmcgU1RSSU5HKFJFR0VYIE1BVENIKSBoYXMgdG8gYmUgZXhlY3V0ZWQgb25seSBvbmNlCgoJICBBbGV4CgoyMDA3LTA4LTIxIDEwOjU2ICBhbGV4CgoJKiBTb3VyY2UvY21TdHJpbmdDb21tYW5kLmg6CgkgIFNUWUxFOiBmaXggZG9jdW1lbnRhdGlvbiBmb3IgU1RSSU5HKFJFUExBQ0UpICM1NTM2CgoJICBBbGV4CgoyMDA3LTA4LTIwIDIzOjE3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDgtMjAgMTY6NTkgIGFsZXgKCgkqIFNvdXJjZS86IGNtRmluZExpYnJhcnlDb21tYW5kLmN4eCwgY21JbnN0YWxsR2VuZXJhdG9yLmN4eCwKCSAgY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eDoKCSAgU1RZTEU6IGFkZCBzb21lIG5ld2xpbmVzIHRvIGNtYWtlX2luc3RhbGwuY21ha2UsIHNvIGl0J3MgZWFzaWVyCgkgIHRvIHJlYWQgLW1vdmUgdGhlIGFycmF5IGJlaGluZCB0aGUgaWYsIGl0J3MgdW51c2VkIGJlZm9yZSBpdAoKCSAgQWxleAoKMjAwNy0wOC0yMCAxMTowMyAgZGF2aWQuY29sZQoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBTVFlMRTogRml4IGxpbmUgbGVuZ3RoIHN0eWxlCgkgIGVycm9ycyBpbnRyb2R1Y2VkIGxhc3Qgd2Vlay4KCjIwMDctMDgtMjAgMDg6NDkgIGFsZXgKCgkqIFNvdXJjZS9jbUZpbmRQYWNrYWdlQ29tbWFuZC5jeHg6CgkgIEVOSDogYWxzbyBwcm9jZXNzICJ+IiBhbmQgcGF0aHMgcmVsYXRpdmUgdG8KCSAgQ01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSIGluIEZvb19ESVIKCgkgIEFsZXgKCjIwMDctMDgtMTkgMjM6MTcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wOC0xOCAyMzoxNSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA4LTE3IDIzOjE3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDgtMTcgMTA6NDEgIGFsZXgKCgkqIE1vZHVsZXMvUGxhdGZvcm0vQmx1ZUdlbmVMLmNtYWtlOgoJICBDT01QOiBhbHNvIHVzZSAtV2wsLXJlbGF4IGFuZCAtbGMgLWxuc3MgZXRjLiB3aGVuIHVzaW5nIHRoZSBJQk0KCSAgY29tcGlsZXIKCgkgIEFsZXgKCjIwMDctMDgtMTcgMTA6MTQgIGFsZXgKCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHg6CgkgIENPTVA6IGluY2x1ZGUgd2luZG93cy5oIGZpcnN0LCBhcyBpdCBpcyBkb25lIGluIHRoZSBvdGhlciBzb3VyY2UKCSAgZmlsZXMKCgkgIEFsZXgKCjIwMDctMDgtMTcgMTA6MDUgIGFsZXgKCgkqIFNvdXJjZS86IGNtRXh0cmFFY2xpcHNlQ0RUNEdlbmVyYXRvci5jeHgsCgkgIGNtRXh0cmFFY2xpcHNlQ0RUNEdlbmVyYXRvci5oOgoJICBFTkg6IHBhdGNoIGZyb20gTWlndWVsIC0gY2xlYW5pbmcgdXAgYSBiaXQ6IHN0YXRpYyBoZWxwZXIKCSAgZnVuY3Rpb25zLCByZW1vdmUgdW51c2VkIHNjYW5uZXIgcHJvZmlsZXMsIHJlbW92ZSB1bnVzZWQKCSAgdmFyaWFibGVzLCBldGMuICAtIGNvcnJlY3QgPG5hbWU+IGVudHJ5IGluIC5wcm9qZWN0IGZpbGUgLQoJICBjb252ZXJ0cyB0aGUgbWFrZSBjb21tYW5kIGFuZCBvdGhlciBwYXRocyBvYnRhaW5lZCBmcm9tIGN5Z3dpbgoJICBjbWFrZSB0byB3aW5kb3dzIHN0eWxlIHBhdGhzIC0gcHJvdmlkZSBlbnZpcm9ubWVudCBzZXR1cCBmb3IKCSAgY29tcGlsaW5nIHdpdGggbm1ha2UgLSBjcmVhdGUgbGlua2VkIHJlc291cmNlcyBhbmQgcGF0aCBlbnRyaWVzCgkgIGZvciBleGVjdXRhYmxlL2xpYnJhcnlfb3V0cHV0X3BhdGgncyBub3Qgc3ViZGlycyBvZiBiaW5hcnkgcGF0aCAtCgkgIGZpeGVzIGluY29ycmVjdCBleGNsdXNpb25zIG9mIG91dHB1dCBkaXJzIHdoZW4gbmFtZWQgdGhlIHNhbWUgYXMKCSAgc291cmNlIGRpciAtIGV4Y2x1ZGVzIHRoZSBDTWFrZUZpbGVzIHN1YmRpcnMgZnJvbSB0aGUgZGlyZWN0b3JpZXMKCSAgdG8gc2NhbiBmb3Igb3V0cHV0IHRhcmdldHMgLSByZW1vdmVzIHBvc3NpYmxlIHJlZHVuZGFudCBlbnRyaWVzCgkgIGluIDxwYXRoZW50cnkgaW5jbHVkZSAuLi4+IC0gYWRkcyB0aGUgYWxsIGFuZCBwcmVpbnN0YWxsIHRhcmdldHMKCSAgdG8gdGhlIHRhcmdldCBsaXN0IC0gcmVtb3ZlcyB0aGUgbGlua2VkIHJlc291cmNlcyBmb3Igbm9uCgkgIG91dC1vZi1zb3VyY2UgYnVpbGRzIGFuZCBjb25mbGljdGluZyBkaXJzCgoJICBBbGV4CgoyMDA3LTA4LTE3IDA5OjMzICBhbGV4CgoJKiBTb3VyY2UvQ1BhY2svOiBjbUNQYWNrUlBNR2VuZXJhdG9yLmN4eCwgY21DUGFja1JQTUdlbmVyYXRvci5oOgoJICBTVFlMRTogSW5pdGlhbGl6ZUludGVybmFsKCkgaXMgdW51c2VkCgoJICBBbGV4CgoyMDA3LTA4LTE3IDA5OjEzICBhbGV4CgoJKiBNb2R1bGVzL0NQYWNrUlBNLmNtYWtlLCBTb3VyY2UvQ1BhY2svY21DUGFja1JQTUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrUlBNR2VuZXJhdG9yLmg6CgkgIEVOSDogcGF0Y2ggZnJvbSBFcmljIE5vdWxhcmQgZm9yIGFuIFJQTSBwYWNrYWdlIGdlbmVyYXRvciBJdAoJICBzZWVtcyBycG1idWlsZCBjYW4ndCBoYW5kbGUgcGF0aHMgd2l0aCBzcGFjZXMsIGl0IGNvbXBsYWlucyB0aGF0CgkgIEJ1aWxkcm9vdCB0YWtlcyBvbmx5IG9uZSB0YWcgKG9yIHNvbWV0aGluZyBsaWtlIHRoaXMpLCBxdW90aW5nCgkgIGFuZCBlc2NhcGluZyBkb24ndCBzZWVtIHRvIGhlbHAuCgoJICBBbGV4CgoyMDA3LTA4LTE3IDA5OjAwICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0Rhcndpbi5jbWFrZTogRU5IOiB1c2UgdGhlIGNvcnJlY3QgZmxhZyBmb3IgdGhlCgkgIGxpbmtlcgoKMjAwNy0wOC0xNiAyMzoyNCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA4LTE2IDE2OjUwICBhbGV4CgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBDT01QOiBxdWljayB3aW5kb3dzIG5hbWUgbWFuZ2xpbmcKCSAgZml4IChvdGhlcndpc2UgdGhlIGNvbXBpbGVyIGNvbXBsYWlucyBhYm91dAoJICBjbU1ha2VmaWxlOjpHZXRDdXJyZW50RGlyZWN0b3J5QSgpLCB3aGljaCBkb2Vzbid0IGV4aXN0KQoKCSAgQWxleAoKMjAwNy0wOC0xNiAxNTozMyAgYWxleAoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5oOgoJICBFTkg6IG1vdmUgdGhlIGNvZGUgZm9yIHRoZSBOT1RGT1VORCBjaGVja2luZyBpbnRvIGl0cyBvd24KCSAgZnVuY3Rpb24sIHNvIENvbmZpZ3VyZSgpIGdldHMgZWFzaWVyIHRvIG92ZXJ2aWV3IC1pbXByb3ZlIHRoZQoJICBlcnJvciBtZXNzYWdlLCBub3cgaXQgYWxzbyBzYXlzIGluIHdoaWNoIGRpcmVjdG9yaWVzIGFuZCBmb3IKCSAgd2hpY2ggdGFyZ2V0cyB0aGUgbWlzc2luZyB2YXJpYWJsZXMgYXJlIHVzZWQgLW1pbm9yIHNwZWVkdXA6IHRoZQoJICBpbmNsdWRlIGRpcmVjdG9yaWVzIGRvbid0IGhhdmUgdG8gYmUgY2hlY2tlZCBwZXIgdGFyZ2V0LCBwZXIKCSAgZGlyZWN0b3J5IGlzIGVub3VnaAoKCSAgQWxleAoKMjAwNy0wOC0xNiAxNTowMyAgYWxleAoKCSogTW9kdWxlcy9GaW5kUHl0aG9uTGlicy5jbWFrZToKCSAgU1RZTEU6IHRoaXMgd2Fzbid0IGludGVuZGVkIHRvIGJlIGNvbW1pdHRlZAoKCSAgQWxleAoKMjAwNy0wOC0xNiAxNTowMiAgYWxleAoKCSogTW9kdWxlcy86IEZpbmRQeXRob25MaWJzLmNtYWtlLCBQbGF0Zm9ybS9CbHVlR2VuZUwuY21ha2U6CgkgIEVOSDogYWRkIC1XbCwtcmVsYXggdG8gdGhlIGRlZmF1bHQgbGlua2VyIGZsYWdzIGZvciBCbHVlR2VuZSwKCSAgb3RoZXJ3aXNlIHlvdSBjYW4gZ2V0ICJyZWxvY2F0aW9uIHRydW5jYXRlZCB0byBmaXQiIGVycm9ycwoKCSAgQWxleAoKMjAwNy0wOC0xNiAxMDoxNCAga2luZwoKCSogRGFydExvY2FsLmNvbmYuaW46IEVOSDogQWRkZWQgZGFzaDF3aW45OCBleHBlY3RlZCBuaWdodGx5LgoKMjAwNy0wOC0xNiAwOToyMiAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9EYXJ3aW4uY21ha2U6IEVOSDogbWFrZSBzdXJlIG9zeCBzZWFyY2hlcyBzdGF0aWMKCSAgYW5kIHNoYXJlZCBsaWJzIGxpa2Ugb3RoZXIgcGxhdGZvcm1zCgoyMDA3LTA4LTE2IDA4OjM3ICBhbGV4CgoJKiBNb2R1bGVzL1BsYXRmb3JtL0dlbmVyaWMtU0RDQy1DLmNtYWtlOgoJICBDT01QOiBmaXggYXJndW1lbnRzCgoJICBBbGV4CgoyMDA3LTA4LTE2IDA3OjM4ICBtYWxhdGVycmUKCgkqIFNvdXJjZS9rd3N5cy86IERpcmVjdG9yeS5oeHguaW4sIEdsb2IuaHh4LmluOiBDT01QOiBEaXJlY3RvcnkgYW5kCgkgIEdsb2IgaGF2ZSBwb2ludGVyIGRhdGEgbWVtYmVycwoKMjAwNy0wOC0xNSAyMzowOSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA4LTE1IDE0OjI2ICBhbGV4CgoJKiBNb2R1bGVzLzogQ01ha2VEZXRlcm1pbmVTeXN0ZW0uY21ha2UsIENNYWtlRmluZEJpblV0aWxzLmNtYWtlLAoJICBDTWFrZVN5c3RlbS5jbWFrZS5pbiwgQ01ha2VTeXN0ZW1XaXRoVG9vbGNoYWluRmlsZS5jbWFrZS5pbjoKCSAgU1RZTEU6IGRvbid0IHVzZSBhbiBleHRyYSBmaWxlIHRvIGdlbmVyYXRlIENNYWtlU3lzdGVtLmNtYWtlIGJ1dAoJICBpbnN0ZWFkIGNvbmZpZ3VyZSB0aGUgdG9vbGNoYWluIGZpbGUgaW50byBpdCBpZiByZXF1aXJlZCAtYWxzbwoJICBzZWFyY2ggZm9yIG5tLCBvYmpkdW1wIGFuZCBvYmpjcHksIHNvIHRoZXNlIGNhbiBiZSB1c2VkIGluIG1hY3JvcwoKCSAgQWxleAoKMjAwNy0wOC0xNSAxNDoyMiAgYWxleAoKCSogTW9kdWxlcy9QbGF0Zm9ybS9HZW5lcmljLVNEQ0MtQy5jbWFrZToKCSAgU1RZTEU6IGV4cGxpY2l0ZWx5IHNldCBkZWZhdWx0IG9wdGlvbnMgZm9yIHNkY2MsIHNvIGl0IGlzIHZpc2libGUKCSAgZm9yIHdoaWNoIHByb2Nlc3NvciBpdCBjdXJyZW50bHkgY29tcGlsZXMsIHVzZSAtLW91dC1mbXQtaWh4IHRvCgkgIGVuZm9yY2UgLmloeCBmaWxlcwoKCSAgQWxleAoKMjAwNy0wOC0xNSAxMTozOCAgZGF2aWQuY29sZQoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIENvbmZpZ3VyZS5oLmluOiBDT01QOiBTZWNvbmQgdHJ5CgkgIGdldHRpbmcgcmlkIG9mIE1pY3Jvc29mdCBkZXByZWNhdGlvbiB3YXJuaW5ncy4gVGhpcyB0aW1lIHRlc3RlZAoJICBmcm9tIEtXU3R5bGUgd2l0aCB2czggdG8gbWFrZSBzdXJlIHRoZSB3YXJuaW5ncyBhcmUgcmVhbGx5IGdvbmUuCgkgIFJlbW92ZSB0aGUgZGVwcmVjYXRpb24gZGVmcyBmcm9tIENNYWtlTGlzdHMgYW5kIGd1YXJkIHRoZSBkZWZzIGluCgkgIHRoZSBoZWFkZXIgc28gd2UgZG8gbm90IHJlZGVmaW5lIHRoZW0gaWYgdGhleSBhcmUgYWxyZWFkeQoJICBkZWZpbmVkLgoKMjAwNy0wOC0xNSAxMDoyNiAgYWxleAoKCSogU291cmNlL2NtTGlzdENvbW1hbmQuY3h4LCBTb3VyY2UvY21MaXN0Q29tbWFuZC5oLAoJICBUZXN0cy9DTWFrZVRlc3RzL0xpc3RUZXN0LmNtYWtlLmluOgoJICBFTkg6IGNoYW5nZSBMSVNUKENPTlRBSU5TIC4uLikgVE8gTElTVChGSU5EIC4uLiksIHdoaWNoIHJldHVybnMKCSAgdGhlIGluZGV4IGFuZCB3aGljaCBpcyBtb3JlIHVzZWZ1bCwgYmVjYXVzZSB0aGVuIHlvdSBjYW4gYWxzbwoJICBhY2Nlc3MgdGhlIGl0ZW0gYmVoaW5kIHRoZSBvbmUgeW91IHdlcmUgbG9va2luZywgdXNlZnVsIGZvcgoJICB3cml0aW5nIG1hY3JvcyB3aXRoIG9wdGlvbmFsIGtleXdvcmRzIHdpdGggcGFyYW1ldGVycwoKCSAgQWxleAoKMjAwNy0wOC0xNSAwOTo0MyAgYWxleAoKCSogQ01ha2VMaXN0cy50eHQsIE1vZHVsZXMvRmluZEN1cnNlcy5jbWFrZToKCSAgQ09NUDogY2NtYWtlIHJlcXVpcmVzIG5jdXJzZXMsIGFjY29yZGluZyB0byBCZXJrIGFuZCBzaW5jZSBpdAoJICBkb2Vzbid0IGJ1aWxkIG9uIE5ldEJTRCB3aGVyZSB0aGVyZSBhcmUgc2VwYXJhdGUgY3Vyc2VzIGFuZAoJICBuY3Vyc2VzIGxpYnJhcmllcywgYW5kIHdoZXJlIHRoZSBjdXJzZXMgbGlicmFyeSBpcyBmb3VuZCwgd2hpY2gKCSAgZG9lc24ndCB3b3JrIGZvciBjY21ha2Ugd2hpbGUgdGhlIGV4aXN0aW5nIG5jdXJzZXMgbGlicmFyeSB3b3VsZAoJICB3b3JrLiAgV2l0aCB0aGlzIGNoYW5nZSBpdCBzaG91bGQgYmUgcG9zc2libGUgdG8gdGVzdCB3aGV0aGVyIHRoZQoJICBmb3VuZCBjdXJzZXMgbGliIHByb3ZpZGVzIG5jdXJzZXMgZnVuY3Rpb25hbGl0eS4KCgkgIEFsZXgKCjIwMDctMDgtMTUgMDk6MjUgIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS9rd3N5cy9Db25maWd1cmUuaC5pbjogQ09NUDogU3VwcHJlc3MgTWljcm9zb2Z0IGRlcHJlY2F0aW9uCgkgIHdhcm5pbmdzIHdoZW4gYnVpbGRpbmcga3dzeXMgLmMgYW5kIC5jeHggZmlsZXMuIFRoaXMgd2F5LCBvdGhlcgoJICBwcm9qZWN0cyB0aGF0IGluY2x1ZGUga3dzeXMgd2lsbCBub3Qgc2VlIHRoZSB3YXJuaW5ncyBpbiBrd3N5cyAuYwoJICBhbmQgLmN4eCBmaWxlcywgYnV0IHRoZXkgY2FuIHN0aWxsIHNlZSB0aGUgd2FybmluZ3MgaW4gdGhlaXIgb3duCgkgIHNvdXJjZSBmaWxlcyBpZiB0aGV5IHdhbnQgdG8uLi4KCjIwMDctMDgtMTUgMDg6NDcgIGFsZXgKCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrRGViR2VuZXJhdG9yLmN4eDoKCSAgQ09NUDogZml4IHdhcm5pbmcgYWJvdXQgY29tcGFyaXNvbiBzaWduZWQgLSB1bnNpZ25lZAoKCSAgQWxleAoKMjAwNy0wOC0xNSAwODoyOCAgYWxleAoKCSogU291cmNlL0NQYWNrL2NtQ1BhY2tEZWJHZW5lcmF0b3IuY3h4OgoJICBDT01QOiBmaXggYnVpbGQgb24gSFBVWCwgc25wcmludGYgYXBwYXJlbnRseSBkb2Vzbid0IHdvcmsgdGhlcmUKCgkgIEFsZXgKCjIwMDctMDgtMTQgMjM6MTUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wOC0xNCAxNDoxMiAgZGF2aWQuY29sZQoKCSogU291cmNlLzogY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5oOiBFTkg6IEltcHJvdmUgZnJhbWV3b3JrCgkgIHN1cHBvcnQgaW4gdGhlIG1ha2VmaWxlIGdlbmVyYXRvciB0byBtYXRjaCB0aGUgc3VwcG9ydCBqdXN0IGFkZGVkCgkgIHRvIHRoZSBYY29kZSBnZW5lcmF0b3IuIEJVRzogUmVtb3ZlIHNwdXJpb3VzIHdhcm5pbmcgYW5kCgkgIGVsaW1pbmF0ZSBlbXB0eSBMaWJyYXJpZXMgc3ViZGlyIGluc2lkZSBidWlsdCBmcmFtZXdvcmsuCgoyMDA3LTA4LTE0IDExOjU4ICBhbGV4CgoJKiBTb3VyY2UvY21VdGlsaXR5U291cmNlQ29tbWFuZC5oOgoJICBTVFlMRTogZG9jdW1lbnQgdGhlIGJlaGF2aW91ciBvZiBVVElMSVRZX1NPVVJDRSBpbiBjcm9zcwoJICBjb21waWxpbmcgbW9kZQoKCSAgQWxleAoKMjAwNy0wOC0xNCAxMTo0NSAgZGF2aWQuY29sZQoKCSogU291cmNlL2NtR2xvYmFsWENvZGUyMUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtTG9jYWxYQ29kZUdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbVhDb2RlMjFPYmplY3QuY3h4LAoJICBTb3VyY2UvY21YQ29kZTIxT2JqZWN0LmgsIFNvdXJjZS9jbVhDb2RlT2JqZWN0LmN4eCwKCSAgVGVzdHMvRnJhbWV3b3JrL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9GcmFtZXdvcmsvZm9vQm90aC5oLAoJICBUZXN0cy9GcmFtZXdvcmsvZm9vTmVpdGhlci5oLCBUZXN0cy9GcmFtZXdvcmsvZm9vUHJpdmF0ZS5oLAoJICBUZXN0cy9GcmFtZXdvcmsvZm9vUHVibGljLmgsIFRlc3RzL0ZyYW1ld29yay90ZXN0Lmx1YTogRU5IOgoJICBJbXByb3ZlbWVudHMgdG8gdGhlIFhjb2RlIGdlbmVyYXRvci4gQnVpbGQgZnJhbWV3b3JrcyB1c2luZwoJICBuYXRpdmUgQ29weSBIZWFkZXJzIGFuZCBDb3B5IEJ1bmRsZSBSZXNvdXJjZXMgcGhhc2VzLiBGaXggYnVnczoKCSAgZWxpbWluYXRlIGZvbGRlcnMgd2l0aCBubyBuYW1lcywgZW5zdXJlIHNvdXJjZSBmaWxlcyBzaG93IHVwIGluCgkgIG11bHRpcGxlIHRhcmdldHMsIHJlbW92ZSBlbXB0eSB1dGlsaXR5IHRhcmdldHMgZnJvbSBTb3VyY2VzCgkgIHN1YnRyZWVzLCBlbnN1cmUgdGhhdCBmaWxlUmVmcyBvbmx5IHNob3cgdXAgb25jZSBpbiBlYWNoIGdyb3VwaW5nCgkgIGZvbGRlci4KCjIwMDctMDgtMTQgMTA6MjcgIGFsZXgKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDoKCSAgQ09NUDogcGF0Y2ggZnJvbSBNYXRoaWV1OiBmaXggd2FybmluZyBhYm91dCB1bnVzZWQgdmFyaWFibGVzIGluCgkgIGJvb3RzdHJhcCBtb2RlCgoJICBBbGV4CgoyMDA3LTA4LTE0IDEwOjI1ICBhbGV4CgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja0RlYkdlbmVyYXRvci5jeHg6CgkgIFNUWUxFOiBhbm90aGVyIHBhdGNoIGZyb20gTWF0aGlldSB3aXRoIHNvbWUgY29tbWVudHMKCgkgIEFsZXgKCjIwMDctMDgtMTQgMTA6MjAgIGFsZXgKCgkqIE1vZHVsZXMvQ1BhY2tEZWIuY21ha2U6CgkgIEJVRzogZml4IHR5cG8KCgkgIEFsZXgKCjIwMDctMDgtMTQgMDg6NDAgIGFsZXgKCgkqIE1vZHVsZXMvQ1BhY2tEZWIuY21ha2UsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tEZWJHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja0RlYkdlbmVyYXRvci5oOgoJICBFTkg6IGRlYiBnZW5lcmF0b3I6IGRvbid0IHVzZSB0aGUgc3lzdGVtIHByb3ZpZGVkIGFyLCBidXQgZG8gaXQKCSAgeW91cnNlbGYgdXNpbmcgdGhlIGNvZGUgZnJvbSBPcGVuQlNEIGFyIENPTVA6IGRvbid0IGJ1aWxkIGFsbAoJICBwYWNrYWdlIGdlbmVyYXRvcnMgb24gYWxsIHBsYXRmb3JtcwoKCSAgQWxleAoKMjAwNy0wOC0xMyAyMzoxMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA4LTEzIDExOjA0ICBhbGV4CgoJKiBNb2R1bGVzL1Rlc3RCaWdFbmRpYW4uY21ha2U6CgkgIEVOSDogZm9yIHVuaXZlcnNhbCBiaW5hcmllcyByZXR1cm4gdGhlIGVuZGlhbmVzcyBiYXNlZCBvbiB0aGUKCSAgcHJvY2Vzc29yCgoJICBBbGV4CgoyMDA3LTA4LTEyIDIzOjExICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDgtMTIgMjE6MDggIGFsZXgKCgkqIE1vZHVsZXMvVGVzdEJpZ0VuZGlhbi5jbWFrZToKCSAgQ09NUDogdHVybiBlcnJvciBpbnRvIHdhcm5pbmcgZm9yIG5vdwoKCSAgQWxleAoKMjAwNy0wOC0xMSAyMzoyMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA4LTEwIDIzOjE3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDgtMTAgMTY6MjggIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0TWVtQ2hlY2tIYW5kbGVyLmN4eDogRU5IOiBmaXggb3V0cHV0IGFuZAoJICB2YWxncmluZCB0cnVuY2F0aW9uIGlzc3VlCgoyMDA3LTA4LTEwIDE1OjAyICBhbGV4CgoJKiBTb3VyY2UvY21VdGlsaXR5U291cmNlQ29tbWFuZC5jeHg6CgkgIEVOSDogcHJpbnQgYSB3YXJuaW5nIGlmIFVUSUxJVFlfU09VUkNFIGlzIHVzZWQgaW4gY3Jvc3MgY29tcGlsaW5nCgkgIG1vZGUgLW1ha2UgaXQgcG9zc2libGUgdG8gcHJlbG9hZCB0aGUgY2FjaGUgd2l0aCB0aGUgY29tbWFuZCBpbgoJICBjcm9zcyBjb21waWxpbmcgbW9kZQoKCSAgQWxleAoKMjAwNy0wOC0xMCAxMzoxNCAgYWxleAoKCSogTW9kdWxlcy86IENoZWNrVHlwZVNpemUuYy5pbiwgQ2hlY2tUeXBlU2l6ZS5jbWFrZSwKCSAgVGVzdEJpZ0VuZGlhbi5jLCBUZXN0QmlnRW5kaWFuLmNtYWtlLCBUZXN0RW5kaWFuZXNzLmMuaW46CgkgIFNUWUxFOiByZW1vdmUgdW51c2VkIENoZWNrVHlwZVNpemUuYy5pbiBFTkg6IGNoYW5nZSB0ZXN0IGZvcgoJICBlbmRpYW5lc3MgZnJvbSBUUllfUlVOKCkgdG8gVFJZX0NPTVBJTEUoKSBieSB0ZXN0aW5nIHRoZSBiaW5hcnkKCSAgaW1hZ2Ugb2YgYSAxNmJpdCBpbnRlZ2VyIGFycmF5LCB0ZXN0ZWQgb24gTGludXggeDg2LCBJbnRlbCBNYWMKCSAgYW5kIFN1biAoYmlnIGVuZGlhbikKCgkgIEFsZXgKCjIwMDctMDgtMTAgMTM6MDIgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuaDogQlVHOiBGaXhlZCBwYXNzaW5nIG9mCgkgIGNvbmZpZ3VyYXRpb24gbmFtZXMgdG8gR2V0UmVhbERlcGVuZGVuY3kgYW5kIENvbnN0cnVjdFNjcmlwdC4KCSAgQWRkZWQgR2V0Q29uZmlnTmFtZSBoZWxwZXIgbWV0aG9kIHRvIGRvIHRoaXMuCgoyMDA3LTA4LTEwIDExOjM3ICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRPcGVuR0wuY21ha2U6CgkgIFNUWUxFOiByZW1vdmUgdW5uZWNlc3NhcnkgZGVmYXVsdCBzZWFyY2ggcGF0aHMKCgkgIEFsZXgKCjIwMDctMDgtMTAgMTE6MTUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEVOSDogZml4IG1lbW9yeSBsZWFrCgoyMDA3LTA4LTEwIDA5OjIwICBhbGV4CgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ29tcGlsZXJJZC5jbWFrZToKCSAgQlVHOiBmaXggY29tcGlsZXIgaWQgdGVzdCBvbiBjeWd3aW4KCgkgIEFsZXgKCjIwMDctMDgtMTAgMDk6MDcgIGFsZXgKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwgTW9kdWxlcy9DTWFrZURldGVybWluZVN5c3RlbS5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVN5c3RlbVNwZWNpZmljSW5mb3JtYXRpb24uY21ha2U6CgkgIEVOSDogc2V0IFVOSVgsIFdJTjMyIGFuZCBBUFBMRSBpbiBjbU1ha2VmaWxlLmN4eCBhcyBpdCB3YXMKCSAgYmVmb3JlLCBzbyBpdCB3b3JrcyBmb3Igc2NyaXB0cywgdGhlbiByZXNldCB0aGVtIGluCgkgIENNYWtlU3lzdGVtU3BlY2lmaWNJbmZvcm1hdGlvbi5jeHgsIHNvIHRoZSBwbGF0Zm9ybSBtb2R1bGVzIGNhbgoJICBzZXQgdGhlbSBhZ2FpbiBmb3IgdGhlIHRhcmdldCBzeXN0ZW0KCgkgIEFsZXgKCjIwMDctMDgtMTAgMDg6NTQgIGFsZXgKCgkqIE1vZHVsZXMvUGxhdGZvcm0vOiBBSVguY21ha2UsIEJTRE9TLmNtYWtlLCBCZU9TLmNtYWtlLAoJICBNUC1SQVMuY21ha2UsIFFOWC5jbWFrZSwgUklTQ29zLmNtYWtlOgoJICBCVUc6IGFsc28gaW5jbHVkZSBVbml4UGF0aHMuY21ha2Ugb24gdGhlc2UgcGxhdGZvcm1zLCB0aGlzIGFsc28KCSAgc2V0cyBVTklYIHRvIDEKCgkgIEFsZXgKCjIwMDctMDgtMDkgMjM6MTcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wOC0wOSAxNjo1NCAgYWxleAoKCSogVGVzdHMvQ01ha2VMaXN0cy50eHQ6CgkgIFNUWUxFOiBtYXJrIHRoZXNlIHZhcmlhYmxlcyBhcyBhZHZhbmNlZCwgdGhleSBhcmUgb25seSB1c2VkIGZvcgoJICB0ZXN0aW5nIHdoZXRoZXIgdGhlIHRlc3RzIHNob3VsZCBiZSBhZGRlZCBvciBub3QKCgkgIEFsZXgKCjIwMDctMDgtMDkgMTY6NDcgIGFsZXgKCgkqIE1vZHVsZXMvQ01ha2VHZW5lcmljU3lzdGVtLmNtYWtlOgoJICBCVUc6IHVzZSBDTUFLRV9IT1NUX1VOSVggaGVyZSBpbnN0ZWFkIG9mIFVOSVgKCgkgIEFsZXgKCjIwMDctMDgtMDkgMTU6NTcgIGFsZXgKCgkqIFNvdXJjZS86IGNtRXhwb3J0Q29tbWFuZC5jeHgsIGNtR2xvYmFsTVNZU01ha2VmaWxlR2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsTWluR1dNYWtlZmlsZUdlbmVyYXRvci5oLAoJICBjbUdsb2JhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuaCwgY21HbG9iYWxXYXRjb21XTWFrZUdlbmVyYXRvci5oOgoKCSAgU1RZTEU6IHVzZSBjb3JyZWN0IGNhc2UgZm9yIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMyBtYWtlCgkgIGV4cG9ydCgpIHdvcmsgd2l0aCBzcGFjZXMgaW4gdGhlIHBhdGgKCgkgIEFsZXgKCjIwMDctMDgtMDkgMTU6MzEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVNldFNvdXJjZUZpbGVzUHJvcGVydGllc0NvbW1hbmQuaDogRU5IOiBtZXJnZSBpbiBkb2MKCSAgY2hhbmdlIGZyb20gaGVhZAoKMjAwNy0wOC0wOSAxNDo1NSAgYWxleAoKCSogVXRpbGl0aWVzL2NtY3VybC86IENNYWtlTGlzdHMudHh0LCBDTWFrZS9DdXJsVGVzdHMuYywKCSAgQ01ha2UvT3RoZXJUZXN0cy5jbWFrZToKCSAgU1RZTEU6IEhBVkVfTE9OR19MT05HX0NPTlNUIHdhcyBjb21wbGV0ZWx5IHVudXNlZCBoZXJlIChpdCB3YXMKCSAgdXNlZCBpbiB0aGUgKHVudXNlZCkgY29weSBvZiBjdXJsIHVuZGVyIENNYWtlL0NUZXN0L0N1cmwvICkKCgkgIEFsZXgKCjIwMDctMDgtMDkgMTQ6NDUgIGFsZXgKCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDb21waWxlcklkLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lU3lzdGVtLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlU3lzdGVtU3BlY2lmaWNJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9CZU9TLmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL0NZR1dJTi5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9EYXJ3aW4uY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vUU5YLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1VuaXhQYXRocy5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLmNtYWtlLAoJICBTb3VyY2UvY21NYWtlZmlsZS5jeHg6CgkgIEVOSDogVU5JWCwgQ1lHV0lOLCBXSU4zMiwgQVBQTEUsIFFOWE5UTyBhbmQgQkVPUyBhcmUgbm90IGxvbmdlcgoJICBzZXQgaW4gY21NYWtlZmlsZS5jeHgsIGJ1dCBub3cgaW4gdGhlIHBsYXRmb3JtIGZpbGVzIGFuZCBhcmUgbm93CgkgIHZhbGlkIGZvciB0aGUgdGFyZ2V0IHBsYXRmb3JtLCBub3QgdGhlIGhvc3QgcGxhdGZvcm0uICBOZXcKCSAgdmFyaWFibGVzIENNQUtFX0hPU1RfV0lOMzIsIENNQUtFX0hPU1RfVU5JWCwgQ01BS0VfSE9TVF9BUFBMRSBhbmQKCSAgQ01BS0VfSE9TVF9DWUdXSU4gaGF2ZSBiZWVuIGFkZGVkIGluIGNtTWFrZWZpbGUuY3h4ICguLi5hbmQgaGF2ZQoJICBub3cgdG8gYmUgdXNlZCBpbiBhbGwgY21ha2UgZmlsZXMgd2hpY2ggYXJlIGV4ZWN1dGVkIGJlZm9yZQoJICBDTWFrZVN5c3RlbVNwZWNpZmljSW5mb3JtYXRpb24uY21ha2UgaXMgbG9hZGVkKS4gRm9yCgkgIGNvbXBhdGliaWxpdHkgdGhlIG9sZCBzZXQgaXMgc2V0IHRvIHRoZSBuZXcgb25lIGluCgkgIENNYWtlRGV0ZXJtaW5lU3lzdGVtLmNtYWtlIGFuZCByZXNldCBiZWZvcmUgdGhlIHN5c3RlbSBwbGF0Zm9ybQoJICBmaWxlcyBhcmUgbG9hZGVkLCBzbyBjdXN0b20gbGFuZ3VhZ2Ugb3IgY29tcGlsZXIgbW9kdWxlcyB3aGljaAoJICB1c2UgdGhlc2Ugc2hvdWxkIHN0aWxsIHdvcmsuCgoJICBBbGV4CgoyMDA3LTA4LTA5IDE0OjI2ICBhbGV4CgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgQ1Rlc3QvQ01ha2VMaXN0cy50eHQ6CgkgIENPTVA6IHRoaXMgY29weSBvZiBjdXJsIGlzIHVudXNlZCwgdGhlIG9uZSBpbiBVdGlsaXRpZXMvY21jdXJsLwoJICBpcyB1c2VkCgoJICBBbGV4CgoyMDA3LTA4LTA5IDExOjA1ICBhbGV4CgoJKiBNb2R1bGVzL0NNYWtlU3lzdGVtV2l0aFRvb2xjaGFpbkZpbGUuY21ha2UuaW46CgkgIEJVRzogd29yayB3aXRoIHNwYWNlcyBpbiB0aGUgcGF0aAoKCSAgQWxleAoKMjAwNy0wOC0wOSAwOTo1NyAgYWxleAoKCSogVGVzdHMvQ01ha2VMaXN0cy50eHQ6CgkgIENPTVA6IGxldHMgc2VlIGlmIHRoaXMgc2V0cyB0aGUgdGltZW91dCBiYWNrIHRvIDU0MDAKCgkgIEFsZXgKCjIwMDctMDgtMDkgMDk6MDMgIGFsZXgKCgkqIFNvdXJjZS9rd3N5cy9Db21tYW5kTGluZUFyZ3VtZW50cy5oeHguaW46CgkgIFNUWUxFOiBmaXggdHlwbwoKCSAgQWxleAoKMjAwNy0wOC0wOSAwODo0OSAgYWxleAoKCSogU291cmNlL2NtVGFyZ2V0LmN4eDoKCSAgU1RZTEU6IGZpeCB0eXBvCgoJICBBbGV4CgoyMDA3LTA4LTA5IDA4OjQ4ICBhbGV4CgoJKiBTb3VyY2UvY21Eb2N1bWVudGF0aW9uLmN4eDoKCSAgQlVHOiBwcm9wZXJ0aWVzIGFuZCBtb2R1bGUgbmFtZXMgYXJlIGNhc2Ugc2Vuc2l0aXZlCgoJICBBbGV4CgoyMDA3LTA4LTA4IDIzOjE1ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDgtMDggMTU6NDQgIGFsZXgKCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrUlBNR2VuZXJhdG9yLmN4eDoKCSAgQ09NUDogc2lsZW5jZSB3YXJuaW5ncwoKCSAgQWxleAoKMjAwNy0wOC0wOCAxNDo0NCAgYWxleAoKCSogU291cmNlL0NQYWNrL2NtQ1BhY2tHZW5lcmF0b3JzLmN4eDoKCSAgQlVHOiByZWdpc3RlciB0aGUgcnBtIGdlbmVyYXRvciBmb3IgUlBNCgoJICBBbGV4CgoyMDA3LTA4LTA4IDE0OjE4ICBhbGV4CgoJKiBNb2R1bGVzL0NQYWNrRGViLmNtYWtlLCBTb3VyY2UvQ1BhY2svY21DUGFja0RlYkdlbmVyYXRvci5jeHg6CgkgIEVOSDogcGF0Y2ggZnJvbSBNYXRoaWV1OiBtb3JlIGVudHJpZXMgaW4gdGhlIGRlYmlhbiBjb250cm9sIGZpbGUKCgkgIEFsZXgKCjIwMDctMDgtMDggMTM6MDUgIGFsZXgKCgkqIFNvdXJjZS9jbUZpbmRQYWNrYWdlQ29tbWFuZC5jeHgsCgkgIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9DTWFrZUxpc3RzLnR4dDoKCSAgRU5IOiByZW1vdmUgdGhlIHdhdGNoIGZvciB0aGUgdXBwZXIgY2FzZSB2YXJpYWJsZSBuYW1lLCBpdCBicmVha3MKCSAgdGhlIGZlYXR1cmUgc3VtbWFyeSwgd2hpY2ggbmVlZHMgdG8gY2hlY2sgZm9yIGJvdGggdGhlIHVwcGVyIGNhc2UKCSAgYW5kIG9yaWdpbmFsIGNhc2UgX0ZPVU5EIHZhcmlhYmxlcwoKCSAgQWxleAoKMjAwNy0wOC0wOCAxMTozMyAgYWxleAoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0LCBNb2R1bGVzL0NQYWNrLmNtYWtlLAoJICBNb2R1bGVzL0NQYWNrUlBNLmNtYWtlLCBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyYXRvcnMuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja1JQTUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrUlBNR2VuZXJhdG9yLmg6CgkgIEVOSDogYWRkIGVtcHR5IFJQTSBwYWNrYWdlIGdlbmVyYXRvciwgRXJpYyBOb3VsYXJkIHdhbnRzIHRvIHdvcmsKCSAgb24gaXQKCgkgIEFsZXgKCjIwMDctMDgtMDggMTA6MDUgIGFsZXgKCgkqIFRlc3RzL0NNYWtlTGlzdHMudHh0OgoJICBDT01QOiBjaGFuZ2UgdGhlIG9yZGVyIG9mIHRoZSB0ZXN0cywgc28gbWF5YmUgdGhlIHRpbWVvdXQgd29ya3MKCgkgIEFsZXgKCjIwMDctMDgtMDggMDk6MzIgIGFsZXgKCgkqIFRlc3RzL0NNYWtlTGlzdHMudHh0OgoJICBFTkg6IGFsc28gc3BlY2lmeSB0aGUgQysrIGNvbXBpbGVyIGZvciBtaW5ndwoKCSAgQWxleAoKMjAwNy0wOC0wOCAwODo0MSAgbWFsYXRlcnJlCgoJKiBTb3VyY2Uva3dzeXMvQ29tbWFuZExpbmVBcmd1bWVudHMuY3h4OiBFTkg6IFJlbW92ZSBleHRyYSA7CgoyMDA3LTA4LTA3IDIzOjEwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDgtMDcgMTg6MDIgIGFsZXgKCgkqIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9DTWFrZUxpc3RzLnR4dDoKCSAgQlVHOiBkaXNhYmxlIHRoaXMgdGVzdCB0ZW1wb3JhcmlseQoKCSAgQWxleAoKMjAwNy0wOC0wNyAxNjoyNiAgYWxleAoKCSogU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmg6CgkgIENPTVA6IGFsc28gY29tbWl0IHRoZSBoZWFkZXIuLi4KCgkgIEFsZXgKCjIwMDctMDgtMDcgMTU6NDIgIGFsZXgKCgkqIE1vZHVsZXMvRGFydC5jbWFrZToKCSAgU1RZTEU6IGZpbmQgRGFydCBxdWlldGx5IChzbyBpdCBkb2Vzbid0IGdvIGluIHRoZSBmZWF0dXJlIGxvZykKCgkgIEFsZXgKCjIwMDctMDgtMDcgMTU6NDEgIGFsZXgKCgkqIE1vZHVsZXMvRmVhdHVyZVN1bW1hcnkuY21ha2UsIFNvdXJjZS9jbUZpbmRQYWNrYWdlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbWFrZS5jeHg6CgkgIEVOSDogYWRkIGdsb2JhbCBwcm9wZXJ0aWVzIGZvciBjb2xsZWN0aW5nIGVuYWJsZWQvZGlzYWJsZWQKCSAgZmVhdHVyZXMgZHVyaW5nIHRoZSBjbWFrZSBydW4gYW5kIGFkZCBtYWNyb3MKCSAgcHJpbnRfZW5hYmxlZC9kaXNhYmxlZF9mZWF0dXJlcygpIGFuZCBzZXRfZmVhdHVyZV9pbmZvKCksIHNvCgkgIHByb2plY3RzIGNhbiBnZXQgYSBuaWNlIG92ZXJ2aWV3IGF0IHRoZSBlbmQgb2YgdGhlIGNtYWtlIHJ1biB3aGF0CgkgIGhhcyBiZWVuIGZvdW5kIGFuZCB3aGF0IGhhc24ndCBGSU5EX1BBQ0tBR0UoKSBhdXRvbWF0aWNhbGx5IGFkZHMKCSAgdGhlIHBhY2thZ2VzIHRvIHRoZXNlIGdsb2JhbCBwcm9wZXJ0aWVzLCBleGNlcHQgd2hlbiB1c2VkIHdpdGgKCSAgUVVJRVQgTWF5YmUgdGhpcyBjYW4gYWxzbyBiZSB1c2VmdWwgZm9yIHBhY2thZ2VycyB0byBmaW5kIG91dAoJICBkZXBlbmRlbmNpZXMgb2YgcHJvamVjdHMuCgoJICBBbGV4CgoyMDA3LTA4LTA3IDE1OjM2ICBob2ZmbWFuCgoJKiBEYXJ0TG9jYWwuY29uZi5pbjogRU5IOiBjaGFuZ2UgaWJtIG1hY2hpbmUgYWdhaW4KCjIwMDctMDgtMDcgMTU6MDkgIGFsZXgKCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHg6CgkgIFNUWUxFOiBJIHRoaW5rIHRoZSBjb21tZW50IChhbmQgdGhlIGJvb2spIHdlcmUgd3JvbmcgYWJvdXQgdGhlCgkgIG5hbWluZyBvZiB0aGlzIGZpbGUKCgkgIEFsZXgKCjIwMDctMDgtMDcgMTM6NTcgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwgY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHg6CgkgIEVOSDogUmVwbGFjZWQgZGVwZW5kZW5jeSBpbnRlZ3JpdHkgbWFwIHdpdGggYW4gZXhwbGljaXQgbWFwIGZyb20KCSAgb2JqZWN0IGZpbGUgdG8gc291cmNlIGZpbGUgZm9yIGVhY2ggbGFuZ3VhZ2UgaW4gZWFjaCB0YXJnZXQuCgkgIFRoaXMgc2ltcGxpZmllcyBjcmVhdGlvbiBvZiBpbXBsaWNpdCBkZXBlbmRlbmN5IHNjYW5uaW5nIHJ1bGVzCgkgIGFuZCBhbGxvd3MgbW9yZSB0aGFuIG9uZSBvYmplY3QgZmlsZSBpbiBhIHRhcmdldCB0byBzdGFydAoJICBkZXBlbmRlbmN5IHNjYW5uaW5nIHdpdGggdGhlIHNhbWUgc291cmNlIGZpbGUuCgoyMDA3LTA4LTA3IDEwOjEzICBhbGV4CgoJKiBUZXN0cy9DTWFrZUxpc3RzLnR4dDoKCSAgQlVHOiB0aGUgdGVzdCBmb3IgY2hpY2tlbiBzaG91bGQgYmUgbmFtZWQgQ2hpY2tlbiwgbm90IHBscGxvdAoKCSAgQWxleAoKMjAwNy0wOC0wNyAwMDowMCAgYWxleAoKCSogU291cmNlL2NtRXh0cmFDb2RlQmxvY2tzR2VuZXJhdG9yLmN4eDoKCSAgRU5IOiBkb24ndCBjcmVhdGUgYSBDb2RlQmxvY2tzIHdvcmtzcGFjZSwgdGhlIENvZGVCbG9ja3MgcHJvamVjdHMKCSAgY292ZXIgZXZlcnl0aGluZyB3aGF0J3MgbmVlZGVkCgoJICBBbGV4CgoyMDA3LTA4LTA2IDIzOjE2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDgtMDYgMjI6MDggIGFsZXgKCgkqIE1vZHVsZXMvRmluZFBhY2thZ2VIYW5kbGVTdGFuZGFyZEFyZ3MuY21ha2U6CgkgIFNUWUxFOiBmaXggdHlwbwoKCSAgQWxleAoKMjAwNy0wOC0wNiAxNzowOSAgaG9mZm1hbgoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFTkg6IGNoYW5nZSBlcnJvciB0byB3YXJuaW5nIHNvIGN0ZXN0dGVzdDMKCSAgcGFzc2VzCgoyMDA3LTA4LTA2IDE0OjQ1ICBhbGV4CgoJKiBUZXN0cy9DTWFrZUxpc3RzLnR4dDoKCSAgRU5IOiBhZGQgcGxwbG90IGFuZCBDaGlja2VuIFNjaGVtZSBidWlsZCB0ZXN0cwoKCSAgQWxleAoKMjAwNy0wOC0wNiAxMzozMSAgYWxleAoKCSogU291cmNlL0NQYWNrL2NtQ1BhY2tEZWJHZW5lcmF0b3IuY3h4OgoJICBFTkg6IGFub3RoZXIgZml4IGZvciB0aGUgZGViIGdlbmVyYXRvciBieSBNYXRoaWV1CgoJICBBbGV4CgoyMDA3LTA4LTA2IDEzOjI0ICBhbGV4CgoJKiBTb3VyY2UvOiBjbUV4dHJhQ29kZUJsb2Nrc0dlbmVyYXRvci5jeHgsCgkgIGNtRXh0cmFDb2RlQmxvY2tzR2VuZXJhdG9yLmgsIGNtRXh0cmFFY2xpcHNlQ0RUNEdlbmVyYXRvci5jeHg6CgkgIFNUWUxFOiBmaXggbGluZSBsZW5ndGhzCgoJICBBbGV4CgoyMDA3LTA4LTA2IDExOjAyICBhbGV4CgoJKiBNb2R1bGVzLzogRmluZE1QSS5jbWFrZSwgRmluZFRocmVhZHMuY21ha2U6CgkgIFNUWUxFOiB1c2UgRklORF9QQUNLQUdFX0hBTkRMRV9TVEFOREFSRF9BUkdTKCkgYWxzbyBpbgoJICBGaW5kTVBJLmNtYWtlIC1yZW1vdmUgdW5uZWNlc3NhcnkgRUxTRSgpIGluIEZpbmRUaHJlYWRzLmNtYWtlCgoJICBBbGV4CgoyMDA3LTA4LTA2IDEwOjQyICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZMVEtDb21wYXRpYmlsaXR5LmNtYWtlOiBFTkg6IHRocmVhZHMgdXNlZCB0byBpbmNsdWRlCgkgIHRoaXMKCjIwMDctMDgtMDYgMDk6MDMgIGFsZXgKCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrRGViR2VuZXJhdG9yLmN4eDoKCSAgQlVHOiBwYXRjaCBmcm9tIE1hdGhpZXU6IHRoZSBtZDVzdW1zIHdlcmUgbm90IGNvcnJlY3QKCgkgIEFsZXgKCjIwMDctMDgtMDUgMjM6MTcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wOC0wNCAyMzoxMCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA4LTAzIDIzOjA3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDgtMDMgMTY6NDQgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0R2VuZXJpY0hhbmRsZXIuY3h4OiBFTkg6IG1ha2Ugc3VyZSB0aGVyZSBpcwoJICBhbiBlcnJvciBhbmQgbm90aWZ5IHVzZXIgaWYgbmlnaHRseSBzdGFydCB0aW1lIG5vdCBzZXQKCjIwMDctMDgtMDMgMTY6NDQgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eDogRU5IOiBzaG93IGZpbGVzIGFzCgkgIHVudGVzdGVkIGlmIG5vIGxpbmVzIGFyZSBjb3ZlcmVkCgoyMDA3LTA4LTAzIDE2OjQyICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFVwZGF0ZUhhbmRsZXIuY3h4OiBFTkg6IGZhdGFsIGVycm9yIGlmIGN2cwoJICB1cGRhdGUgZmFpbHMKCjIwMDctMDgtMDMgMTY6NDEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRU5IOiBhZGQgYSBjaGVjayB0byBtYWtlIHN1cmUgbmlnaHRseSBzdGFydAoJICB0aW1lIHdhcyBzcGVjaWZpZWQKCjIwMDctMDgtMDMgMTY6MzUgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0TWVtQ2hlY2tIYW5kbGVyLmN4eDogRU5IOiBhZGQgYW5vdGhlcgoJICB2YWxncmluZCBlcnJvciB0eXBlCgoyMDA3LTA4LTAzIDE2OjMxICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LCBjbUluc3RhbGxDb21tYW5kLmgsCgkgIGNtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHgsIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21UYXJnZXQuY3h4OiBFTkg6IEFkZGVkIHdhcm5pbmcgd2hlbiBhbiBpbnN0YWxsIHJ1bGUgaXMgY3JlYXRlZAoJICBmcm9tIGFuIEVYQ0xVREVfRlJPTV9BTEwgdGFyZ2V0LiAgQWRkZWQgYSBmb28vcHJlaW5zdGFsbCB2ZXJzaW9uCgkgIG9mIHRhcmdldHMgdGhhdCBuZWVkIHJlbGlua2luZyBzbyB0aGF0IGV4Y2x1ZGUtZnJvbS1hbGwgdGFyZ2V0cwoJICBjYW4gYmUgbWFudWFsbHkgcmVsaW5rZWQgZm9yIGluc3RhbGxhdGlvbi4KCjIwMDctMDgtMDMgMTU6NDQgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsIGNtTWFrZWZpbGUuY3h4LCBjbVRhcmdldC5jeHg6CgkgIEJVRzogVGFyZ2V0IGV4Y2x1c2lvbi1mcm9tLWFsbCB0ZXN0cyBzaG91bGQgYWx3YXlzIHVzZSB0aGUgcm9vdAoJICBsb2NhbCBnZW5lcmF0b3IgYXNzb2NpYXRlZCB3aXRoIHRoZSBhbGwgdGFyZ2V0IGJlaW5nIHRlc3RlZC4KCjIwMDctMDgtMDMgMTU6NDMgIHNlYW5tY2JyaWRlCgoJKiBTb3VyY2Uva3dzeXMvQ29tbWFuZExpbmVBcmd1bWVudHMuY3h4OiBDT01QOiBmaXhlZCBjb21waWxlcgoJICB3YXJuaW5nIGluIHNwcmludGYgdXNhZ2UKCjIwMDctMDgtMDMgMTU6MjYgIGFsZXgKCgkqIE1vZHVsZXMvQ1BhY2suY21ha2UsIE1vZHVsZXMvQ1BhY2tEZWIuY21ha2UsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5jeHgsIFNvdXJjZS9DUGFjay9jcGFjay5jeHg6CgoJICBFTkg6IGJldHRlciBlcnJvciBtZXNzYWdlcyBmcm9tIHRoZSBkZWJpYW4gcGFja2FnZSBnZW5lcmF0b3IKCSAgLWRvbid0IGRpc3BsYXkgdGhlIGNwYWNrIGhlbHAgaWYgYSBnZW5lcmF0b3IgZmFpbGVkIHdpdGggc29tZQoJICBwcm9ibGVtIC1jaGVjayBmb3IgY21TeXN0ZW1Ub29sczo6R2V0RXJyb3JPY2N1cmVkRmxhZygpCgoJICBBbGV4CgoyMDA3LTA4LTAzIDA5OjM5ICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaDogRU5IOiBBZGRlZAoJICBjbVRhcmdldDo6R2V0TGFuZ3VhZ2VzIG1ldGhvZCB0byBjZW50cmFsaXplIGNvbXB1dGF0aW9uIG9mIHRoZQoJICBsaXN0IG9mIGxhbmd1YWdlcyBjb21waWxlZCBpbiBhIHRhcmdldC4gIFRyYW5zZm9ybWVkCgkgIE5lZWRSZXF1aXJlc1N0ZXAgdG8gdXNlIGl0LgoKMjAwNy0wOC0wMiAyMzoxOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA4LTAyIDE1OjQ4ICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRQeXRob25MaWJzLmNtYWtlOgoJICBFTkg6IG1ha2UgdGhlIHB5dGhvbiBtb2R1bGVzIHVzYWJsZSBmb3IgQyBhbmQgQysrIGFuZCBvbmx5IHdyaXRlCgkgIHRoZSBoZWFkZXIgaWYgaXQgaGFzIGNoYW5nZWQKCgkgIEFsZXgKCjIwMDctMDgtMDIgMTQ6MjggIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oOiBCVUc6IFJlbW92aW5nIGFjY2lkZW50YWwKCSAgY29tbWl0LgoKMjAwNy0wOC0wMiAxNDoyOCAga2luZwoKCSogU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogUXVpY2stZml4IGZvcgoJICBhY2NpZGVudGFsIGNvbW1pdC4KCjIwMDctMDgtMDIgMTQ6MjMgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oOiBFTkg6IEFkZGVkCgkgIGNtVGFyZ2V0OjpHZXRMYW5ndWFnZXMgbWV0aG9kIHRvIGNlbnRyYWxpemUgY29tcHV0YXRpb24gb2YgdGhlCgkgIGxpc3Qgb2YgbGFuZ3VhZ2VzIGNvbXBpbGVkIGluIGEgdGFyZ2V0LgoKMjAwNy0wOC0wMiAxMzozOCAga2luZwoKCSogU291cmNlLzogY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsIGNtVGFyZ2V0LmN4eCwgY21UYXJnZXQuaDoKCSAgRU5IOiBBZGRlZCBjbVRhcmdldDo6R2V0TGFuZ3VhZ2VzIG1ldGhvZCB0byBjZW50cmFsaXplCgkgIGNvbXB1dGF0aW9uIG9mIHRoZSBsaXN0IG9mIGxhbmd1YWdlcyBjb21waWxlZCBpbiBhIHRhcmdldC4KCjIwMDctMDgtMDIgMTE6MTcgIGFsZXgKCgkqIE1vZHVsZXMvUGxhdGZvcm0vOiBXaW5kb3dzLWNsLmNtYWtlLCBXaW5kb3dzLmNtYWtlLAoJICBXaW5kb3dzUGF0aHMuY21ha2U6CgkgIEVOSDogdXNlIFdpbmRvd3NQYXRocy5jbWFrZSBvbiBhbGwgV2luZG93cyBwbGF0Zm9ybXMsIG5vdCBvbmx5CgkgIGZvciBjbCwgbWFrZXMgdGhlIG1pbmd3IGNyb3NzIGNvbXBpbGVyIHdvcmsgb3V0IG9mIHRoZSBib3ggYW5kCgkgIHNob3VsZCBoZWxwIG1pbmd3IHVzZXJzIG9uIHdpbmRvd3Mgd2l0aCBhIGNvbW1vbiBpbnN0YWxsIGRpcgoKCSAgQWxleAoKMjAwNy0wOC0wMiAwOTozNyAga2luZwoKCSogU291cmNlLzogY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4OiBFTkg6IFNpbXBsaWZ5IG1ha2VmaWxlIHRhcmdldAoJICBnZW5lcmF0b3IgbGlzdGluZyBvZiBvYmplY3QgZmlsZXMgdG8gY2xlYW4uCgoyMDA3LTA4LTAyIDA4OjI0ICBhbGV4CgoJKiBTb3VyY2UvY21FeHRyYUVjbGlwc2VDRFQ0R2VuZXJhdG9yLmN4eDoKCSAgQ09NUDogZml4IHdhcm5pbmcKCgkgIEFsZXgKCjIwMDctMDgtMDEgMjM6MTIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wOC0wMSAxNzoxMCAgYWxleAoKCSogU291cmNlLzogY21JbnN0YWxsQ29tbWFuZC5jeHgsIGNtVHJ5UnVuQ29tbWFuZC5jeHg6CgkgIEVOSDogaWYgbm8gQ09NUE9ORU5UIGlzIHNwZWNpZmllZCwgbWFrZSB0aGlzIGluc3RhbGwgaXRlbSBwYXJ0IG9mCgkgIHRoZSAiVW5zcGVjaWZpZWQiIGNvbXBvbmVudCAtPiBpZiBubyBjb21wb25lbnRzIGFyZSB1c2VkIGF0IGFsbCwKCSAgbm8gY2hhbmdlIGluIGJlaGF2aW91ciwgaWYgY29tcG9uZW50cyBhcmUgdXNlZCBjb21wbGV0ZWx5LCBubwoJICBjaGFuZ2UgaW4gYmVoYXZpb3VyLCBzaW5jZSB0aGlzIGRlZmF1bHQgd2lsbCBiZSBvdmVycmlkZGVuCgkgIGV2ZXJ5d2hlcmUsIGlmIGNvbXBvbmVudHMgd2hlcmUgdXNlZCBwYXJ0bHksIGl0IGlzIG5vdyBwb3NzaWJsZQoJICB0byBpbnN0YWxsIG9ubHkgdGhlIHVuc3BlY2lmaWVkIGl0ZW1zIChlLmcuIGV2ZXJ5dGhpbmcgd2hpY2gKCSAgd2Fzbid0IG1hcmtlZCBhcyAiRGV2ZWxvcG1lbnQiKQoKCSAgQWxleAoKCSAgQWxleAoKMjAwNy0wOC0wMSAxNjoxNSAgZGF2aWQuY29sZQoKCSogVGVzdHMvRnJhbWV3b3JrLzogYmFyLmN4eCwgZm9vLmN4eDogQlVHOiBGaXggdGVzdCB0aGF0IGJyb2tlIG9uCgkgIFdpbmRvd3MgLSBzaGFyaW5nIHNvdXJjZXMgYmV0d2VlbiBTSEFSRUQgYW5kIFNUQVRJQyBsaWJyYXJpZXMKCSAgcmVxdWlyZXMgY29ycmVjdCBleHBvcnQgYW5kIGltcG9ydCBkZWNvcmF0aW9ucyBpbiB0aGUgc291cmNlCgkgIGNvZGUuLi4KCjIwMDctMDgtMDEgMTU6MjUgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBjbUxvY2FsR2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5oLAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsIGNtTG9jYWxYQ29kZUdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxYQ29kZUdlbmVyYXRvci5oOiBFTkg6IE1vdmVkIEdldFRhcmdldERpcmVjdG9yeSBtZXRob2QgdXAKCSAgdG8gY21Mb2NhbEdlbmVyYXRvci4JVGhpcyBwcm92aWRlcyBhIGNvbW1vbiBpbnRlcmZhY2UgdG8KCSAgc29tZXRoaW5nIHRoYXQgd2FzIGltcGxlbWVudGVkIGluIG1vc3QgbG9jYWwgZ2VuZXJhdG9ycyBhbnl3YXkuCgoyMDA3LTA4LTAxIDE0OjU4ICBhbGV4CgoJKiBTb3VyY2UvOiBjbUV4dHJhQ29kZUJsb2Nrc0dlbmVyYXRvci5jeHgsIGNtYWtlLmN4eDogQlVHOiBhbHNvCgkgIG9mZmVyIHRoZSBleHRyYSBnZW5lcmF0b3JzIGluIENNYWtlU2V0dXAKCgkgIEFsZXgKCjIwMDctMDgtMDEgMTM6MDQgIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21UYXJnZXQuY3h4LAoJICBUZXN0cy9GcmFtZXdvcmsvQ01ha2VMaXN0cy50eHQ6IEJVRzogT25seSBwYXkgYXR0ZW50aW9uIHRvIHRoZQoJICBGUkFNRVdPUksgdGFyZ2V0IHByb3BlcnR5IGZvciBTSEFSRUQgbGlicmFyeSB0YXJnZXRzCgoyMDA3LTA4LTAxIDExOjU5ICBhbGV4CgoJKiBTb3VyY2UvY21UcnlSdW5Db21tYW5kLmN4eDoKCSAgU1RZTEU6IHNvbWUgbW9yZSB0dW5pbmcgZm9yIHRoZSBjb21tZW50IHRleHQKCgkgIEFsZXgKCjIwMDctMDgtMDEgMTE6NTAgIGFsZXgKCgkqIFNvdXJjZS9jbUV4dHJhRWNsaXBzZUNEVDRHZW5lcmF0b3IuY3h4OgoJICBFTkg6IHdvcmtzIGFsc28gd2l0aCBubWFrZSwgdGVzdGVkIGJ5IEplZmYKCgkgIEFsZXgKCjIwMDctMDgtMDEgMTE6MzkgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogRG8gbm90IHJlY29nbml6ZQoJICBwcmVwcm9jZXNzb3IgZGVmaW5pdGlvbiBmbGFncyBmb3IgdGhlIGxpbmtlciB3aGljaCBoYXMgbm8KCSAgcHJlcHJvY2Vzc29yIGJ1dCBkb2VzIGhhdmUgZmxhZ3Mgc3RhcnRpbmcgd2l0aCAvRC4KCjIwMDctMDgtMDEgMTE6MzYgIGtpbmcKCgkqIFNvdXJjZS9jbVRhcmdldC5jeHg6IEJVRzogPENPTkZJRz5fTE9DQVRJT04gcHJvcGVydHkgc2hvdWxkIHVzZQoJICB0aGUgY29uZmlnIG5hbWUgaW4gdGhlIGRpcmVjdG9yeSBhbmQgbm90ICQoT3V0RGlyKS4gIFRoaXMKCSAgYWRkcmVzc2VzIGJ1ZyM1MzYzLgoKMjAwNy0wOC0wMSAxMDo1MyAga2luZwoKCSogU291cmNlL2NtR2VuZXJhdGVkRmlsZVN0cmVhbS5oOiBDT01QOiBGaXggd2FybmluZyBhYm91dCBub3QgYmVpbmcKCSAgYWJsZSB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29weSBjb25zdHJ1Y3Rvci4KCjIwMDctMDgtMDEgMTA6MDcgIGFsZXgKCgkqIFNvdXJjZS9rd3N5cy9EeW5hbWljTG9hZGVyLmN4eDoKCSAgQ09NUDogYWxzbyBidWlsZCB0aGUgc3RhdGljIGR1bW15IGxvYWRlciBvbiBDcmF5IENhdGFtb3VudAoKCSAgQWxleAoKMjAwNy0wOC0wMSAwOToxOCAgYWxleAoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIGNtRXh0cmFFY2xpcHNlQ0RUNEdlbmVyYXRvci5jeHgsCgkgIGNtRXh0cmFFY2xpcHNlQ0RUNEdlbmVyYXRvci5oLCBjbWFrZS5jeHg6CgkgIEVOSDogYWRkIEVjbGlwc2UgQ0RUNCBnZW5lcmF0b3IsIHBhdGNoIGZyb20gTWlndWVsIEEuCgkgIEZpZ3Vlcm9hLVZpbGxhbnVldmEKCgkgIEFsZXgKCjIwMDctMDgtMDEgMDk6MTQgIGFsZXgKCgkqIE1vZHVsZXMvUGxhdGZvcm0vQ2F0YW1vdW50LmNtYWtlOgoJICBFTkg6IGFkZCBzdXBwb3J0IGZvciBDYXRhbW91bnQsIHRoZSBPUyBydW5uaW5nIG9uIHRoZSBjb21wdXRlCgkgIG5vZGVzIG9mIENyYXkgc3VwZXIgY29tcHV0ZXJzCgoJICBBbGV4CgoyMDA3LTA3LTMxIDIzOjE2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDctMzEgMTQ6NTIgIGFsZXgKCgkqIFNvdXJjZS9jbVRyeVJ1bkNvbW1hbmQuY3h4LCBUZXN0cy9UcnlDb21waWxlL0NNYWtlTGlzdHMudHh0OgoJICBFTkg6IGFkZCB0ZXN0cyBmb3IgY2hlY2tfY19zb3VyY2VfcnVucygpLAoJICBjaGVja19jeHhfc291cmNlX3J1bnMoKSwgY2hlY2tfY19zb3VyY2VfY29tcGlsZXMoKSBhbmQKCSAgY2hlY2tfY3h4X3NvdXJjZV9jb21waWxlcygpIC1UUllfUlVOIGluIGNyb3NzY29tcGlsaW5nIG1vZGU6IGNvcHkKCSAgdGhlIGNyZWF0ZWQgZXhlY3V0YWJsZXMgdG8gQ01BS0VfQklOQVJZX0RJUiBzbyB0aGUgdXNlciBjYW4gcnVuCgkgIHRoZW0gbWFudWFsbHkgb24gdGhlIHRhcmdldAoKCSAgQWxleAoKMjAwNy0wNy0zMSAxMzozMCAgYWxleAoKCSogTW9kdWxlcy86IENoZWNrQ1NvdXJjZVJ1bnMuY21ha2UsIENoZWNrQ1hYU291cmNlUnVucy5jbWFrZSwKCSAgRmluZFRocmVhZHMuY21ha2U6CgkgIFNUWUxFOiBkb24ndCB1c2UgRklORF9JTkNMVURFX0ZJTEUoKSBidXQgb25seQoJICBGSU5EX0lOQ0xVREVfRklMRVMoKSBpbiBGaW5kVGhyZWFkcy5oCgoJICBCVUc6IGltcHJvdmUgQ2hlY2tDKFhYKVNvdXJjZVJ1bnMuY21ha2Ugc28gdGhhdCBpdCB3b3JrcyB3aXRoCgkgIGNyb3NzIGNvbXBpbGluZywgdGhlIHJldHVybiB2YWx1ZSBoYXMgdG8gZ28gaW4gdGhlIGNhY2hlIGJ1dAoJICBzaG91bGRuJ3Qgb3ZlcndyaXRlIHRoZSBhY3R1YWwgcmV0dXJuIHZhbHVlLCBhbmQgaXQgc2hvdWxkIGdvCgkgIG9ubHkgaW4gdGhlIGNhY2hlIGlmIHdlIGhhdmUgYSByZXN1bHQgZnJvbSB0cnlfcnVuKCkgb3RoZXJ3aXNlIHdlCgkgIHdvbid0IGdldCBoZXJlIGFnYWluIGlmIHdlIGhhdmUgYSByZXN1bHQgbGF0ZXIgb24KCgkgIEFsZXgKCjIwMDctMDctMzEgMTE6MjMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogZml4IERMTCBhbmQgREVGCgkgIGJlaW5nIGxvc3QgYW5kIGFkZCByZWFsIHN1cHBvcnQgZm9yIC9ERUY6IC9ETEwgZG9lcyBub3QgaGF2ZSBhbgoJICBlbnRyeSBzbyBqdXN0IGxldCBpdCBwYXNzIHRvIGFkdmFuY2VkIGNvbW1hbmQgbGluZQoKMjAwNy0wNy0zMCAyMzowNyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA3LTMwIDIyOjUxICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgQ1BhY2svY21DUGFja1RHWkdlbmVyYXRvci5jeHgsCgkgIENQYWNrL2NtQ1BhY2tUYXJDb21wcmVzc0dlbmVyYXRvci5jeHg6IEVOSDogdXNlIGdudSB0YXIgZm9yCgkgIGN5Z3dpbgoKMjAwNy0wNy0zMCAyMTozOCAgaG9mZm1hbgoKCSogU291cmNlL2NtWE1MUGFyc2VyLmN4eDogU1RZTEU6IGZpeCB3YXJuaW5nCgoyMDA3LTA3LTMwIDE1OjUyICBhbGV4CgoJKiBTb3VyY2Uva3dzeXMvRHluYW1pY0xvYWRlci5jeHg6CgkgIENPTVA6IGFkZCBhIGR5bmFtaWMgbG9hZGVyIGZvciBzeXN0ZW1zIHdoaWNoIGRvbid0IHN1cHBvcnQKCSAgZHluYW1pYyBsb2FkaW5nLCBzbyB0aGlzIGlzIGhhbmRsZWQgaW4ga3dzeXMgYW5kIG5vdCBldmVyeQoJICBwcm9qZWN0IHVzaW5nIHRoaXMgaGFzIHRvIGNhcmUgZm9yIGl0CgoJICBBbGV4CgoyMDA3LTA3LTMwIDE0OjQ2ICBhbGV4CgoJKiBTb3VyY2UvY21UcnlSdW5Db21tYW5kLmN4eDoKCSAgRU5IOiBGT1JDRSB0aGUgdmFsdWVzIGluIHRoZSBjYWNoZSwgb3RoZXJ3aXNlIHRoZSBmaWxlIGlzIHVzZWxlc3MKCgkgIEFsZXgKCjIwMDctMDctMjkgMjM6MTMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNy0yOCAyMzozMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA3LTI4IDAwOjMzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDctMjcgMTM6MTIgIGFsZXgKCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrRGViR2VuZXJhdG9yLmN4eDoKCSAgU1RZTEU6IGZpeCBsaW5lIGxlbmd0aAoKCSAgQWxleAoKMjAwNy0wNy0yNyAxMTo1NyAgYWxleAoKCSogTW9kdWxlcy9QbGF0Zm9ybS86IFVuaXhQYXRocy5jbWFrZSwgV2luZG93c1BhdGhzLmNtYWtlOgoJICBFTkg6IC1hZGQgL3Vzci9vcGVud2luL2luY2x1ZGUgYW5kIC91c3Ivb3Blbndpbi9saWIgdG8gdGhlCgkgIGRlZmF1bHQgc2VhcmNoIHBhdGhzIC1hZGQKCSAgLyR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9LyhsaWJ8YmlufGluY2x1ZGUpIHRvIHRoZSBkZWZhdWx0IGNtYWtlCgkgIHNlYXJjaCBwYXRocyAtPiB0aGlzIHNob3VsZCBoZWxwIHVzZXJzIHdobyBpbnN0YWxsIHN0dWZmIGluIHRoZWlyCgkgIGhvbWUKCgkgIEFsZXgKCjIwMDctMDctMjcgMTA6NTUgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ29tbWFuZEFyZ3VtZW50TGV4ZXIuaCwgY21Db21tYW5kQXJndW1lbnRQYXJzZXIuY3h4LAoJICBjbUNvbW1hbmRBcmd1bWVudFBhcnNlclRva2Vucy5oLCBjbUNvbmZpZ3VyZS5jbWFrZS5oLmluLAoJICBjbUNvcmVUcnlDb21waWxlLmN4eCwgY21EZXBlbmRzRm9ydHJhbkxleGVyLmgsCgkgIGNtRGVwZW5kc0phdmFMZXhlci5oLCBjbUV4cHJMZXhlci5oLCBjbVhDb2RlT2JqZWN0LmN4eCwKCSAgY21YQ29kZU9iamVjdC5oLCBjbWFrZXRlc3QuaC5pbiwgY21ha2V4YnVpbGQuY3h4LAoJICBDUGFjay9PU1hTY3JpcHRMYXVuY2hlci5jeHgsIENQYWNrL2NtQ1BhY2tDb25maWd1cmUuaC5pbiwKCSAgQ1BhY2svY21DUGFja0dlbmVyYXRvcnMuY3h4LCBDUGFjay9jbUNQYWNrWklQR2VuZXJhdG9yLmN4eCwKCSAgQ1BhY2svY3BhY2suY3h4LCBDVGVzdC9jbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdE1lbUNoZWNrSGFuZGxlci5jeHg6IFNUWUxFOiBmaXggc29tZSBrd3N0eWxlIGVycm9ycwoKMjAwNy0wNy0yNyAwODo1OSAgYWxleAoKCSogQ01ha2VDUGFjay5jbWFrZSwgU291cmNlL2NtU2V0UHJvcGVydGllc0NvbW1hbmQuaCwKCSAgU291cmNlL2NtYWtlLmN4eCwgU291cmNlL2NtYWtlLmgsIE1vZHVsZXMvQ1BhY2tEZWIuY21ha2UsCgkgIE1vZHVsZXMvRmluZFB5dGhvbkxpYnMuY21ha2UsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrRGViR2VuZXJhdG9yLmN4eCwgU291cmNlL0NQYWNrL2NwYWNrLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eDoKCSAgRU5IOiBkZWIgZ2VuZXJhdG9yIGNhbiBub3cgZ2VuZXJhdGUgZGViIHBhY2thZ2VzIC1yZW1vdmUgdGhlCgkgIHVuc2NyaXB0YWJsZSBjb21tYW5kcyBhbHNvIGZyb20gdGhlIGNwYWNrIGNtYWtlIC11c2UKCSAgQ1BBQ0tfUEFDS0FHRV9DT05UQUNUIGluIENNYWtlQ1BhY2suY21ha2UsIGl0J3MgdXNlZCBpbiB0aGUgbnNpcwoJICBhbmQgdGhlIGRlYiBnZW5lcmF0b3IgLW1ha2Ugc2V0X3Byb3BlcnRpZXMoKSBzY3JpcHRhYmxlIC11c2UgYQoJICBub24tY29uc3QgY2hhciBhcnJheSBmb3IgYWRkaW5nIHRoZSBweXRob24gbW9kdWxlcwoKCSAgQWxleAoKMjAwNy0wNy0yNyAwNDoyMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA3LTI2IDE2OjM4ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdE1lbUNoZWNrSGFuZGxlci5jeHg6IEVOSDogYWRkIHRlc3Qgb3V0cHV0IHRvCgkgIHZhbGdyaW5kIG91dHB1dCBhbmQgdHJ1bmNhdGUgb3V0cHV0IGZvciB2YWxncmluZAoKMjAwNy0wNy0yNiAxNDozNiAgaG9mZm1hbgoKCSogU291cmNlLzogY21YTUxQYXJzZXIuY3h4LCBjbVhNTFBhcnNlci5oOiBFTkg6IGZpeCB3YXJuaW5nIG9uCgkgIHdpbjY0CgoyMDA3LTA3LTI2IDExOjIxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDctMjYgMDg6NDAgIGFsZXgKCgkqIFNvdXJjZS86IGNtVHJ5UnVuQ29tbWFuZC5jeHgsIENQYWNrL2NtQ1BhY2tHZW5lcmF0b3JzLmN4eCwKCSAgQ1BhY2svY21DUGFja1pJUEdlbmVyYXRvci5jeHgsIENQYWNrL2NwYWNrLmN4eDoKCSAgU1RZTEU6IGZpeCBsaW5lIGxlbmd0aHMKCgkgIEFsZXgKCjIwMDctMDctMjYgMDA6MDggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNy0yNSAxNjozNyAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHg6IEVOSDogZml4IGJ1ZyB3aXRoIHZhbGdyaW5kCgkgIG91dHB1dCBiZWluZyB0cnVuY2F0ZWQKCjIwMDctMDctMjUgMTU6MDggIGFsZXgKCgkqIE1vZHVsZXMvRmluZFB5dGhvbkxpYnMuY21ha2U6CgkgIENPTVA6IHNhbWUgYXMgaW4gVlRLLCBidWlsZCBtb2R1bGVzIGJ5IGRlZmF1bHQgYXMgc2hhcmVkIGlmIHRoZQoJICBwbGF0Zm9ybSBzdXBwb3J0cyB0aGlzLCBkb24ndCBpbmNsdWRlIHNoYXJlZCBtb2R1bGVzIGluIHRoZQoJICBnZW5lcmF0ZWQgaGVhZGVyCgoJICBBbGV4CgoyMDA3LTA3LTI1IDEzOjA4ICBhbGV4CgoJKiBTb3VyY2UvQ1BhY2svOiBjbUNQYWNrRGViR2VuZXJhdG9yLmN4eCwgY21DUGFja0dlbmVyYXRvcnMuY3h4OgoJICBFTkg6IGFwcGx5IHBhdGNoIGZyb20gTWF0aGlldSB3aGljaCBjcmVhdGVzIGEgZGViIGZpbGUgKG5vdAoJICBmaW5pc2hzZWQgeWV0KQoKCSAgQWxleAoKMjAwNy0wNy0yNSAxMTo0MSAgYWxleAoKCSogU291cmNlL0NQYWNrL2NtQ1BhY2tEZWJHZW5lcmF0b3IuY3h4OgoJICBDT01QOiBzaWxlbmNlIHdhcm5pbmdzCgoJICBBbGV4CgoyMDA3LTA3LTI1IDEwOjU3ICBhbGV4CgoJKiBNb2R1bGVzL0NQYWNrRGViLmNtYWtlLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbWFrZS5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrRGViR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tEZWJHZW5lcmF0b3IuaCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tHZW5lcmF0b3JzLmN4eDoKCSAgRU5IOiBhZGQgYW4gZW1wdHkgZGViaWFuIHBhY2thZ2UgZ2VuZXJhdG9yLCBNYXRoaWV1IHZvbHVudGVlcmVkCgkgIHRvIGZpbGwgaXQgOi0pCgoJICBBbGV4CgoyMDA3LTA3LTI1IDA5OjIyICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbVhNTFBhcnNlci5jeHgsIGNtWE1MUGFyc2VyLmg6IFNUWUxFOiBmaXggY29tcGlsZXIKCSAgd2FybmluZwoKMjAwNy0wNy0yNSAwNDoxOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA3LTI0IDE1OjU1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21XaW4zMlByb2Nlc3NFeGVjdXRpb24uY3h4OiBFTkg6IGZpeCByZXNvdXJjZSBsZWFrCgoyMDA3LTA3LTI0IDE1OjI3ICBob2ZmbWFuCgoJKiBEYXJ0TG9jYWwuY29uZi5pbjogRU5IOiBjbGVhbiB1cCBzb21lIG1pc3NpbmcgZGFzaGJvYXJkcwoKMjAwNy0wNy0yNCAxNDo1MCAgYWxleAoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NVTklYLmM6CgkgIENPTVA6IHN5bmMgd2l0aCBIRUFECgoJICBBbGV4CgoyMDA3LTA3LTI0IDE0OjQzICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0TWVtQ2hlY2tIYW5kbGVyLmN4eCwKCSAgY21DVGVzdE1lbUNoZWNrSGFuZGxlci5oLCBjbUNUZXN0VGVzdEhhbmRsZXIuaDogRU5IOiBhZGQgc3VwcG9ydAoJICBmb3IgYm91bmRzIGNoZWNrZXIKCjIwMDctMDctMjQgMTQ6MTQgIGFsZXgKCgkqIFNvdXJjZS9rd3N5cy9EeW5hbWljTG9hZGVyLmN4eDoKCSAgRU5IOiBkaXNhYmxlIGR5bmFtaWMgbG9hZGVyIGlmIHNoYXJlZCBsaWJyYXJpZXMgYXJlIG5vdCBzdXBwb3J0ZWQKCSAgaW5zdGVhZCBvZiBoYWNraW5nIGFyb3VuZCBpdAoKCSAgQWxleAoKMjAwNy0wNy0yNCAxMjo1MiAgYWxleAoKCSogU291cmNlL0NQYWNrL2NtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrWklQR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2taSVBHZW5lcmF0b3IuaCwgTW9kdWxlcy9DUGFja1pJUC5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9CbHVlR2VuZUwuY21ha2U6CgkgIEVOSDogYWRkIFJlYWRMaXN0RmlsZSgpIHRvIGNtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLCBzbyBjbU1ha2VmaWxlCgkgIGNhbiBiZSBwcml2YXRlIGFnYWluIC1jb252ZXJ0IHRoZSBaSVAgZ2VuZXJhdG9yIHRvIHVzZSBhIGNtYWtlCgkgIHNjcmlwdCBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgZXZlcnl0aGluZyAoQ1BhY2taSVAuY21ha2UpCgoJICBBbGV4CgoyMDA3LTA3LTI0IDEwOjA1ICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1dpbjMyLmM6IEVOSDogZml4IHJlc291cmNlIGxlYWsKCjIwMDctMDctMjQgMTA6MDAgIGFsZXgKCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVTeXN0ZW0uY21ha2UsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5oLCBTb3VyY2UvQ1BhY2svY3BhY2suY3h4OgoJICBFTkg6IGRldGVybWluZSB0aGUgY3VycmVudCBzeXN0ZW0gYWxzbyBpbiBjcGFjaywgc28gdGhlIHNlYXJjaAoJICBwYXRocyBhcmUgbG9hZGVkIEFkZGl0aW9uYWxseSB0aGUgbWFrZWZpbGUgaW4KCSAgY21DUGFja0dlbmVyaWNHZW5lcmF0b3IgaXMgbm93IHByb3RlY3RlZCBpbnN0ZWFkIG9mIHByaXZhdGUsIHNvCgkgIHdpdGggdGhlc2UgdHdvIGNoYW5nZXMgdGhlIGNwYWNrIGdlbmVyYXRvcnMgc2hvdWxkIG5vdyBiZSBhYmxlIHRvCgkgIGZpbmQgdGhlaXIgdG9vbHMgYW5kIGhvdyB0byBjYWxsIHRoZXNlIHRvb2xzIGZyb20gY21ha2Ugc2NyaXB0cywKCSAgaW5zdGVhZCBvZiBoYXJkY29kaW5nIHRoZSBzZWFyY2ggb3JkZXIgYW5kIGNvbW1hbmQgbGluZSAoYXMgZG9uZQoJICBlLmcuIGluIGNtQ1BhY2taSVBHZW5lcmF0b3IuY3h4KQoKCSAgQWxleAoKMjAwNy0wNy0yNCAwMjoyOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA3LTIzIDEzOjEzICBhbGV4CgoJKiBTb3VyY2UvY21UcnlSdW5Db21tYW5kLmN4eDoKCSAgU1RZTEU6IHB1dCBhIGxvdCBvZiBjb21tZW50cyBpbnRvIHRoZSBnZW5lcmF0ZWQgY21ha2UtY2FjaGUKCSAgcHJlbG9hZGluZyBmaWxlIHRvIGFpZCB0aGUgdXNlciB3aXRoIHVzaW5nIGl0CgoJICBBbGV4CgoyMDA3LTA3LTIzIDExOjIyICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRQeXRob25JbnRlcnAuY21ha2U6CgkgIFNUWUxFOiBtYXJrIHRoZSB2YXJpYWJsZSBhcyBhZHZhbmNlZAoKCSAgQWxleAoKMjAwNy0wNy0yMyAxMDo0NyAgYWxleAoKCSogU291cmNlL2NtVHJ5UnVuQ29tbWFuZC5jeHg6CgkgIEVOSDogdHJ5IHRvIGNyZWF0ZSBhIGZpbGUgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIHByZXNldHRpbmcgdGhlCgkgIGNhY2hlIHZhbHVlcyBvZiB0aGUgVFJZX1JVTigpIHJlc3VsdHMgd2hlbiBjcm9zc2NvbXBpbGluZwoKCSAgQWxleAoKMjAwNy0wNy0yMyAwOTo0OSAgYWxleAoKCSogTW9kdWxlcy86IEZpbmRBU1BFTEwuY21ha2UsIEZpbmRCWmlwMi5jbWFrZSwgRmluZEJvb3N0LmNtYWtlLAoJICBGaW5kQ1VSTC5jbWFrZSwgRmluZEN1cnNlcy5jbWFrZSwgRmluZEVYUEFULmNtYWtlLAoJICBGaW5kR251cGxvdC5jbWFrZSwgRmluZEhTUEVMTC5jbWFrZSwgRmluZEpQRUcuY21ha2UsCgkgIEZpbmRKYXNwZXIuY21ha2UsIEZpbmRMaWJYbWwyLmNtYWtlLCBGaW5kTGliWHNsdC5jbWFrZSwKCSAgRmluZE1QRUcuY21ha2UsIEZpbmRNUEVHMi5jbWFrZSwgRmluZE1vdGlmLmNtYWtlLAoJICBGaW5kT3BlbkFMLmNtYWtlLCBGaW5kUE5HLmNtYWtlLAoJICBGaW5kUGFja2FnZUhhbmRsZVN0YW5kYXJkQXJncy5jbWFrZSwgRmluZFBlcmwuY21ha2UsCgkgIEZpbmRQZXJsTGlicy5jbWFrZSwgRmluZFBoeXNGUy5jbWFrZSwgRmluZFB5dGhvbkludGVycC5jbWFrZSwKCSAgRmluZFB5dGhvbkxpYnMuY21ha2UsIEZpbmRTREwuY21ha2UsIEZpbmRUQ0wuY21ha2UsCgkgIEZpbmRUSUZGLmNtYWtlLCBGaW5kVGNsc2guY21ha2UsIEZpbmRXZ2V0LmNtYWtlLCBGaW5kWkxJQi5jbWFrZToKCSAgRU5IOiBhZGQgc2Vjb25kIGZhaWx1cmUgbWVzc2FnZSBwYXJhbWV0ZXIgdG8KCSAgRklORF9QQUNLQUdFX0hBTkRMRV9TVEFOREFSRF9BUkdTKCksIHNvIGNtYWtlIG1vZHVsZXMgY2FuIHNwZWNpZnkKCSAgdGhlaXIgb3duIGJldHRlciBmYWlsdXJlIG1lc3NhZ2VzLiBJZiB0aGUgZGVmYXVsdCBpcyBvayB1c2UKCSAgIkRFRkFVTFRfTVNHIi4gIERvIHRoaXMgYWxzbyBmb3IgRmluZEJvb3N0LmNtYWtlICgjNTM0OSkKCgkgIEFsZXgKCjIwMDctMDctMjMgMDk6MDYgIGFsZXgKCgkqIFNvdXJjZS86IGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBrd3N5cy9TeXN0ZW1Ub29scy5jeHg6CgkgIFBFUkY6IG1pY3JvIG9wdGltaXphdGlvbjogdGhlICgqcG9zMSkgJiYgKCpwb3MxPT0nLycpIHdlcmUKCSAgcmVkdW5kYW50LCBhbmQgaGFzRG91YmxlU2xhc2ggaXMgZmFsc2UgaW4gbW9zdCBjYXNlcywgc28gaW4gbW9zdAoJICBjYXNlcyAzIGNvbXBhcmlzb25zIHdlcmUgZG9uZSwgbm93IG9ubHkgb25lCgoJICBBbGV4CgoyMDA3LTA3LTIzIDAwOjQxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDctMjEgMjM6MjYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNy0yMCAyMjo0NiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA3LTIwIDE2OjMxICBhbGV4CgoJKiBVdGlsaXRpZXMvS1dTdHlsZS9DTWFrZUZpbGVzLnR4dC5pbjoKCSAgRU5IOiBhZGQgcXVvdGVzIGFyb3VuZCB0aGUgZmlsZSBuYW1lcywgc28ga3dzdHlsZSBjYW4gaGFuZGxlIGl0CgkgIGlmIHRoZXJlIGFyZSBzcGFjZXMgaW4gdGhlIHBhdGgKCgkgIEFsZXgKCjIwMDctMDctMjAgMTQ6MDggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudFBhcnNlci5jeHgsIFRlc3RzL0NvbXBsZXgvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0OiBFTkg6IHVzZXIgbW9yZSBtZW1vcnkKCSAgZm9yIHBhcnNlciBhbmQgYWRkIHRlc3QgdG8gY29tcGxleCB0aGF0IHNldHMgYSBodWdlIHN0cmluZwoKMjAwNy0wNy0yMCAxMzowMyAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4OiBFTkg6IGZpeCBkaXYgYnkgMAoKMjAwNy0wNy0yMCAxMjoyNSAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL2NtY3VybC9DTWFrZS9PdGhlclRlc3RzLmNtYWtlOiBFTkg6IGNoYW5nZSBvcmRlciBzbwoJICB3aW5kb3dzIGZ1bmN0aW9ucyBhcmUgZm91bmQgZmlyc3Qgc2luY2UgdHJ5IGNvbXBpbGUgaXMgc2xvdyBvbgoJICB3aW5kb3dzCgoyMDA3LTA3LTIwIDEwOjA3ICBob2ZmbWFuCgoJKiBEYXJ0TG9jYWwuY29uZi5pbjogRU5IOiBjaGFuZ2UgbmFtZQoKMjAwNy0wNy0yMCAwODo0OCAgYWxleAoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OgoJICBTVFlMRTogZXZlbiBtb3JlIG91dHB1dCB3aGVuIC0tZGVidWctb3V0cHV0IGlzIHVzZWQKCgkgIEFsZXgKCjIwMDctMDctMjAgMDg6MzYgIGFsZXgKCgkqIFNvdXJjZS86IGNtRG9jdW1lbnRhdGlvbi5jeHgsIGNtRXhwb3J0Q29tbWFuZC5oLAoJICBjbUV4dHJhQ29kZUJsb2Nrc0dlbmVyYXRvci5jeHgsIGNtRXh0cmFDb2RlQmxvY2tzR2VuZXJhdG9yLmgsCgkgIGNtRmlsZUNvbW1hbmQuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIGNtSGV4RmlsZUNvbnZlcnRlci5jeHgsIGNtSW5jbHVkZUV4dGVybmFsTVNQcm9qZWN0Q29tbWFuZC5jeHgsCgkgIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsIGNtVHJ5Q29tcGlsZUNvbW1hbmQuaCwKCSAgY21UcnlSdW5Db21tYW5kLmgsIGNtYWtlLmgsIENUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eDoKCSAgU1RZTEU6IGZpeCBsaW5lIGxlbmd0aHMKCgkgIEFsZXgKCjIwMDctMDctMTkgMjE6MDIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNy0xOSAxNTozOSAgYWxleAoKCSogTW9kdWxlcy9DUGFjay5TVEdaX0hlYWRlci5zaC5pbjoKCSAgRU5IOiB0cnkgaWYgdGFpbCB3b3JrcyB3aXRoIHRoZSAtbiArPG51bWJlcj4gc3ludGF4LCBpZiBub3QgdXNlCgkgIG9ubHkgIis8bnVtYmVyPiIgKEdOVSB0YWlsIHdhcm5zIHRoYXQgdGhpcyBpcyBkZXByZWNhdGVkKQoKCSAgQWxleAoKMjAwNy0wNy0xOSAxMzo0MCAgYWxleAoKCSogTW9kdWxlcy9GaW5kVENMLmNtYWtlOgoJICBFTkg6IGFkZCBUS19GT1VORCBhbmQgVENMVEtfRk9VTkQgVENMX0ZPVU5EIGlzIG5vdyBUUlVFIGlmIFRjbAoJICB3YXMgZm91bmQsIGJlZm9yZSBpdCB3YXMgb25seSBUUlVFIGlmIFRjbCBhbmQgVGsgd2VyZSBmb3VuZAoKCSAgQWxleAoKMjAwNy0wNy0xOSAxMTo1OSAgYWxleAoKCSogTW9kdWxlcy9GaW5kUHl0aG9uTGlicy5jbWFrZToKCSAgQlVHOiBmaXggdHlwbwoKCSAgQWxleAoKMjAwNy0wNy0xOSAxMTo0NyAgYWxleAoKCSogTW9kdWxlcy9GaW5kUHl0aG9uTGlicy5jbWFrZToKCSAgRU5IOiBtYWtlIHRoZSBsaXN0IG9mIG1vZHVsZXMgZ2xvYmFsCgoJICBBbGV4CgoyMDA3LTA3LTE5IDExOjEzICBhbGV4CgoJKiBTb3VyY2UvOiBjbUZpbmRQYWNrYWdlQ29tbWFuZC5oLCBjbU1ha2VmaWxlLmN4eCwgY21ha2VtYWluLmN4eCwKCSAgQ1BhY2svY3BhY2suY3h4OgoJICBTVFlMRTogZml4IHNvbWUgdHlwb3MsIG5pY2VyIGRlYnVnIG91dHB1dAoKCSAgQWxleAoKMjAwNy0wNy0xOSAxMDoyMCAgYWxleAoKCSogTW9kdWxlcy9GaW5kUHl0aG9uTGlicy5jbWFrZToKCSAgRU5IOiBvbmx5IGxvYWQgdGhlIHN0YXRpYyBtb2R1bGVzIGluIHRoZSBMb2FkQWxsIGZ1bmN0aW9uCgoJICBBbGV4CgoyMDA3LTA3LTE5IDA5OjQyICBhbGV4CgoJKiBNb2R1bGVzLzogQ1BhY2suU1RHWl9IZWFkZXIuc2guaW4sIEZpbmRQSFA0LmNtYWtlOgoJICBCVUc6IGZpeCAjNTMyOSwgaWYgL3Vzci94cGc0L2Jpbi90YWlsIGV4aXN0cywgdXNlIHRoaXMgb25lIC0+IG9uCgkgIFN1bk9TIC91c3IvYmluL3RhaWwgZG9lc24ndCB1bmRlcnN0YW5kIHRoZSAtbiArPG51bWJlcj4gc3ludGF4CgkgIC1yZW1vdmUgc3RhbmRhcmQgc2VhcmNoZCBkaXJzIGZyb20gRmluZFBIUDQuY21ha2UKCgkgIEFsZXgKCjIwMDctMDctMTkgMDk6MDAgIGFsZXgKCgkqIE1vZHVsZXMvOiBGaW5kQVNQRUxMLmNtYWtlLCBGaW5kQ1VSTC5jbWFrZSwgRmluZEN1cnNlcy5jbWFrZSwKCSAgRmluZERDTVRLLmNtYWtlLCBGaW5kRVhQQVQuY21ha2UsIEZpbmRHTFVULmNtYWtlLCBGaW5kR1RLLmNtYWtlLAoJICBGaW5kR251cGxvdC5jbWFrZSwgRmluZEhTUEVMTC5jbWFrZSwgRmluZE1QRUcuY21ha2UsCgkgIEZpbmRNUEVHMi5jbWFrZSwgRmluZE1vdGlmLmNtYWtlLCBGaW5kUGVybC5jbWFrZSwKCSAgRmluZFBoeXNGUy5jbWFrZSwgRmluZFBpa2UuY21ha2UsIEZpbmRQeXRob25MaWJzLmNtYWtlLAoJICBGaW5kU0RMLmNtYWtlLCBGaW5kVENMLmNtYWtlLCBGaW5kVGNsc2guY21ha2UsIEZpbmRXZ2V0LmNtYWtlLAoJICByZWFkbWUudHh0OgoJICBFTkg6IHVzZSB0aGUgbmV3IEZJTkRfUEFDS0FHRV9IQU5ETEVfU1RBTkRBUkRfQVJHUygpIG1hY3JvIGluCgkgIG1vc3Qgb2YgdGhlIG5vdC10b28tY29tcGxpY2F0ZWQgbW9kdWxlcyAtcmVtb3ZlIHVubmVjZXNzYXJ5CgkgIGRlZmF1bHQgc2VhcmNoIHBhdGhzIHVzZWQgaW4gdGhlIEZJTkRfWFhYKCkgY2FsbHMKCgkgIEFsZXgKCjIwMDctMDctMTggMTQ6MzggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNy0xOCAxMzo1NiAgYWxleAoKCSogTW9kdWxlcy86IEZpbmRCWmlwMi5jbWFrZSwgRmluZEN1cHMuY21ha2UsIEZpbmRKUEVHLmNtYWtlLAoJICBGaW5kSmFzcGVyLmNtYWtlLCBGaW5kTGliWHNsdC5jbWFrZSwgRmluZE9wZW5BTC5jbWFrZSwKCSAgRmluZFBORy5jbWFrZSwgRmluZFBlcmxMaWJzLmNtYWtlLCBGaW5kUHl0aG9uSW50ZXJwLmNtYWtlLAoJICBGaW5kVENMLmNtYWtlLCBGaW5kVElGRi5jbWFrZSwgRmluZFpMSUIuY21ha2U6CgkgIEVOSDogdXNlIHRoZSBuZXcgRklORF9QQUNLQUdFX0hBTkRMRV9TVEFOREFSRF9BUkdTIGluIHNvbWUgb2YgdGhlCgkgIEZpbmRYWFggbW9kdWxlcywgcmVtb3ZlIHNvbWUgb2YgdGhlIGV4dHJhIHNlYXJjaCBwYXRocyB3aGljaCBhcmUKCSAgYWxzbyBzZWFyY2hlZCBieSBkZWZhdWx0CgoJICBBbGV4CgoyMDA3LTA3LTE4IDEzOjI2ICBhbGV4CgoJKiBNb2R1bGVzLzogQ01ha2VMaXN0cy50eHQsIEZpbmRMaWJYbWwyLmNtYWtlLAoJICBGaW5kUGFja2FnZUhhbmRsZVN0YW5kYXJkQXJncy5jbWFrZSwgRmluZFB5dGhvbkxpYnMuY21ha2U6CgkgIEVOSDogYWRkIGEgbWFjcm8gRklORF9QQUNLQUdFX0hBTkRMRV9TVEFOREFSRF9BUkdTKExpYlhtbDIKCSAgTElCWE1MMl9MSUJSQVJJRVMgTElCWE1MMl9JTkNMVURFX0RJUikgd2hpY2ggaGFuZGxlcyB0aGUgcmVxdWlyZWQKCSAgYW5kIFFVSUVUIGFyZ3VtZW50cyBhbmQgc2V0cyA8TkFNRT5fRk9VTkQKCgkgIEFsZXgKCjIwMDctMDctMTggMTA6NTIgIGFsZXgKCgkqIE1vZHVsZXMvOiBDTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgQ01ha2VEZXRlcm1pbmVDWFhDb21waWxlci5jbWFrZToKCSAgRU5IOiBpZiBDTUFLRV8oQ3xDWFgpX0NPTVBJTEVSIGlzIHByZXNldCB0byBhIGxpc3Qgb2YgdHdvCgkgIGVsZW1lbnRzLCB1c2UgdGhlIGZpcnN0IG9uZSBhcyB0aGUgY29tcGlsZXIgYW5kIHRoZSBzZWNvbmQgb25lIGFzCgkgIEFSRzEgZm9yIHRoZSBjb21waWxlcgoKCSAgQWxleAoKMjAwNy0wNy0xOCAxMDoxOSAgYWxleAoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIGNtRXh0cmFDb2RlQmxvY2tzR2VuZXJhdG9yLmN4eCwKCSAgY21ha2UuY3h4OgoJICBFTkg6IGJ1aWxkIGNvZGVibG9ja3MgZ2VuZXJhdG9yIGFsc28gb24gV2luZG93cwoKCSAgQWxleAoKMjAwNy0wNy0xNyAxMzo0MyAgaG9mZm1hbgoKCSogU291cmNlL2NtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuaDogU1RZTEU6IGFkZCBtb3JlIGRvY3MKCjIwMDctMDctMTcgMTM6MTAgIGFsZXgKCgkqIFNvdXJjZS9jbWFrZW1haW4uY3h4OgoJICBDT01QOiBmaXggd2FybmluZyBhYm91dCB1bnVzZWQgdmFyaWFibGUKCgkgIEFsZXgKCjIwMDctMDctMTcgMTI6MDEgIGFsZXgKCgkqIFNvdXJjZS86IGNtYWtlLmN4eCwgY21ha2VtYWluLmN4eDoKCSAgQ09NUDogZml4IGJ1aWxkIG9uIFdpbmRvd3MsIHdoZXJlIEdldEN1cnJlbnREaXJlY3R5KCkgaXMKCSAgcmVkZWZpbmVkIHRvIEdldEN1cnJlbnREaXJlY3RvcnlBKCkgLWNvcnJlY3QgcmV0dXJuIHZhbHVlIGZvcgoJICBtZDVzdW0KCgkgIEFsZXgKCjIwMDctMDctMTcgMTA6NDQgIGFsZXgKCgkqIFNvdXJjZS86IGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBjbWFrZS5jeHgsIGNtYWtlbWFpbi5jeHg6CgkgIFNUWUxFOiBmaXggbGluZSBsZW5ndGhzIGFuZCBhZGQgInJlbW92ZSAtZiIgdG8gdGhlIGRvY3MKCgkgIEFsZXgKCjIwMDctMDctMTcgMDk6MjUgIGFsZXgKCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtTWFrZWZpbGUuY3h4LCBjbU1lc3NhZ2VDb21tYW5kLmN4eCwKCSAgY21ha2VtYWluLmN4eDoKCSAgRU5IOiBwcm9kdWNlIGEgbG90IG1vcmUgb3V0cHV0IHdoZW4gcnVubmluZyB3aXRoIC0tZGVidWctb3V0cHV0CgkgIC10cnkgdG8gZml4IGJ1aWxkIGVycm9yIG9uIEhQVVgKCgkgIEFsZXgKCjIwMDctMDctMTcgMDg6NTEgIGFsZXgKCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93c1BhdGhzLmNtYWtlOgoJICBFTkg6IGFsc28gbG9vayBpbiB0aGUgaW5jbHVkZS8sIGxpYi8gYW5kIGJpbi8gZGlyZWN0b3JpZXMgaW4gdGhlCgkgIGNtYWtlIGluc3RhbGwgZGlyIHVuZGVyIHdpbmRvd3MsIHRoaXMgd2lsbCBoZWxwIGUuZy4gcGVvcGxlIHVzaW5nCgkgIGtkZXdpbmluc3RhbGxlciBhbmQgc2ltaWxhciBzZXR1cHMKCgkgIEFsZXgKCjIwMDctMDctMTcgMDg6NDEgIGFsZXgKCgkqIE1vZHVsZXMvOiBLREUzTWFjcm9zLmNtYWtlLCBGaW5kS0RFMy5jbWFrZToKCSAgRU5IOiBkb24ndCBoYXJkY29kZSB0aGUgL2xpYi9rZGUzLyBkaXJlY3RvcnkgZm9yIHRoZSBsaWJ0b29sCgkgIGZpbGVzLCBidXQgbWFrZSBpdCBhZGp1c3RhYmxlIGFuZCBkZXRlY3QgaWYgbGlia2RlY29yZS5zbyBpcyBhCgkgIDY0Yml0IGxpYnJhcnkKCgkgIEFsZXgKCjIwMDctMDctMTYgMTU6MTAgIGFsZXgKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDoKCSAgQlVHOiBmaXggYm9vdHN0cmFwcGluZywgbWQ1c3VtIGRpc2FibGVkIGluIGJvb3RzdHJhcHBpbmcgbW9kZQoKCSAgQWxleAoKMjAwNy0wNy0xNiAxMzoyOSAgYWxleAoKCSogVGVzdHMvT3V0T2ZTb3VyY2UvT3V0T2ZTb3VyY2VTdWJkaXIvQ01ha2VMaXN0cy50eHQ6CgkgIFNUWUxFOiByZW1vdmUgZGVidWcgb3V0cHV0CgoyMDA3LTA3LTE2IDEzOjI2ICBhbGV4CgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFRlc3RzL091dE9mU291cmNlL091dE9mU291cmNlU3ViZGlyL0NNYWtlTGlzdHMudHh0OgoJICBCVUc6IEdFVF9ESVJFQ1RPUllfUFJPUEVSVFkoSU5DTFVERV9ESVJFQ1RPUklFU3xMSU5LX0RJUkVDVE9SSUVTKQoJICB3YXNuJ3Qgd29ya2luZywgZm9yIGJvdGggdGhlIHJlc3VsdCB3YXMgYWx3YXlzIGVtcHR5LCBzaW5jZQoJICBjbU1ha2VmaWxlOjpHZXRQcm9wZXJ0eSgpIHJlY29nbml6ZWQgaXQgYXMgYSBzcGVjaWFsIHByb3BlcnR5LAoJICBjb25zdHJ1Y3RlZCBhIGNvcnJlY3QgcmV0dXJuIHZhbHVlIGFuZCBjYWxsZWQKCSAgY21NYWtlZmlsZTo6U2V0UHJvcGVydHkoKSB3aXRoIHRoaXMgbGlzdCBvZiBkaXJlY3Rvcmllcywgd2hpY2gKCSAgdGhlbiBkaWRuJ3QgYWN0dWFsbHkgc2V0IHRoZSBwcm9wZXJ0eSwgYnV0IGFwcGxpZWQgaXQgdG8gdGhlCgkgIGludGVybmFsIHZlY3RvciBvZiBpbmNsdWRlL2xpbmsgZGlyZWN0b3JpZXMuIFRoZSBmb2xsb3dpbmcKCSAgZ2V0UHJvcGVydHlWYWx1ZSBpbiBjbU1ha2VmaWxlOjpHZXRQcm9wZXJ0eSgpIHRoZW4gc3RpbGwgZGlkbid0CgkgIGZpbmQgaXQgYW5kIHJldHVybmVkIG5vdGhpbmcuIE5vdyBmb3IgYWxsIHNwZWNpYWwgcHJvcGVydHkgdGhlCgkgIHN0YXRpYyBzdHJpbmcgb3V0cHV0IGlzIHVzZWQgYW5kIGl0cyBjb250ZW50IGlzIHJldHVybmVkLiBJJ20gbm90CgkgIHN1cmUgaXQgaXMgdGhlIHJpZ2h0IHdheSB0byBmaXggdGhpcyBwcm9ibGVtIGJ1dCBhdCBsZWFzdCBpdAoJICBzZWVtcyB0byB3b3JrIGFuZCBpdCBmaXhlcyB0aGUgUGFyYXZpZXczIGJ1aWxkCgoJICBBbGV4CgoyMDA3LTA3LTE2IDEwOjU5ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgUmVhZG1lLnR4dDogRU5IOiBmaW5hbCAyLjQuNwljb21taXQKCjIwMDctMDctMTYgMTA6NTQgIGFsZXgKCgkqIFNvdXJjZS86IGNtYWtlLmN4eCwgY21TeXN0ZW1Ub29scy5oLCBjbVN5c3RlbVRvb2xzLmN4eDoKCSAgRU5IOiBhcHBseSBwYXRjaCBmcm9tIE1hdGhpZXUsIGFkZCBhcmd1bWVudCAtRSBtZDVzdW0gdG8gY29tcHV0ZQoJICBtZDVzdW1zIG9mIGZpbGVzLCBjb21wYXRpYmxlIHRvIG1kNXN1bSBvdXRwdXQKCgkgIEFsZXgKCjIwMDctMDctMTYgMTA6NTQgIGhvZmZtYW4KCgkqIFJlYWRtZS50eHQ6IEVOSDoKCjIwMDctMDctMTYgMTA6NTMgIGhvZmZtYW4KCgkqIFJlYWRtZS50eHQ6IEVOSDogY2xlYW4gdXAgYSBiaXQKCjIwMDctMDctMTYgMTA6MTMgIGFsZXgKCgkqIE1vZHVsZXMvUGxhdGZvcm0vTmV0QlNELmNtYWtlOgoJICBCVUc6IHRoZSBQbHVnaW4gdGVzdCBmYWlscyBvbiBOZXRCU0QsIGxldCdzIHNlZSBpZiB0aGlzIGZpeGVzIGl0CgoJICBBbGV4CgoyMDA3LTA3LTE2IDA5OjA4ICBhbGV4CgoJKiBNb2R1bGVzL1BsYXRmb3JtL1VuaXhQYXRocy5jbWFrZToKCSAgRU5IOiBhbHNvIGFkZCB0aGUgaW5zdGFsbCBiYXNlIGRpciBvZiB0aGUgcnVubmluZyBjbWFrZSB0byB0aGUKCSAgc2VhcmNoIGRpcmVjdG9yaWVzIGZvciB0aGUgRklORF9YWFgoKSBjb21tYW5kcywgZm9yIHRoZSBjYXNlIHRoYXQKCSAgc29tZWJvZHkgaGFzIGl0cyBvd24gaW5zdGFsbCB0cmVlCgoJICBBbGV4CgoyMDA3LTA3LTEzIDEyOjAzICBhbGV4CgoJKiBTb3VyY2UvY21BZGRMaWJyYXJ5Q29tbWFuZC5jeHgsIFV0aWxpdGllcy9DTWFrZUxpc3RzLnR4dDoKCSAgU1RZTEU6IGJldHRlciBlcnJvciBtZXNzYWdlLCBuYW1lIHRoZSBuZXcgbWFucGFnZXMgY21ha2Vjb21tYW5kcywKCSAgY21ha2Vjb21wYXQsIGNtYWtlcHJvcHMgYW5kIGNtYWtlbW9kdWxlcwoKCSAgQWxleAoKMjAwNy0wNy0xMyAxMToyMCAgYWxleAoKCSogTW9kdWxlcy9QbGF0Zm9ybS9EcmFnb25GbHkuY21ha2U6CgkgIEVOSDogYWRkIERyYWdvbkZseSBCU0QsIHdoaWNoIGlzIHZlcnkgY2xvc2UgdG8gRnJlZUJTRCAoIzQ1MDApCgoJICBBbGV4CgoyMDA3LTA3LTEzIDEwOjI5ICBhbGV4CgoJKiBNb2R1bGVzLzogQ2hlY2tDU291cmNlUnVucy5jbWFrZSwgQ2hlY2tDWFhTb3VyY2VSdW5zLmNtYWtlOgoJICBCVUc6IHRoZSBTRVQoIC4uLiBDQUNIRSBJTlRFUk5BTCkgZGlkbid0IHdvcmsgYXMgZXhwZWN0ZWQsIHNpbmNlCgkgIHRoZSB2YXJpYWJsZSBpcyBhbHJlYWR5IGFkZGVkIHRvIHRoZSBjYWNoZSBpbnNpZGUKCSAgY21UcnlSdW5Db21tYW5kLmN4eCwgc28gdGhlIHZhbHVlIHVzZWQgaGVyZSB3YXMgaWdub3JlZC4KCSAgQWRkaXRpb25hbGx5IHRoZSBJTlRFUk5BTCBtYWRlIGl0IGludGVybmFsLCB3aGljaCBzaG91bGRuJ3QgYmUKCSAgZG9uZSB3aGVuIGNyb3NzIGNvbXBpbGluZywgc2luY2UgaGVyZSB0aGUgdXNlciBpcyByZXF1aXJlZCB0bwoJICBlZGl0IHRoaXMgdmFyaWFibGUgbWFudWFsbHkgZS5nLiB1c2luZyBjY21ha2UuCgoJICBBbGV4CgoyMDA3LTA3LTEzIDAwOjU4ICBhbGV4CgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21FeHRyYUNvZGVCbG9ja3NHZW5lcmF0b3IuY3h4LAoJICBjbUV4dHJhQ29kZUJsb2Nrc0dlbmVyYXRvci5oLCBjbWFrZS5jeHg6CgkgIEVOSDogYWRkIGEgc2ltcGxlIENvZGVCbG9ja3MgZXh0cmEgZ2VuZXJhdG9yLCBlYXJseSBhbHBoYSBzdGFnZSwKCSAgdGhlcmUgc2VlbXMgdG8gYmUgaW50ZXJlc3QgaW4gaXQKCgkgIEFsZXgKCjIwMDctMDctMTIgMTY6MTUgIGFsZXgKCgkqIE1vZHVsZXMvUGxhdGZvcm0vQmx1ZUdlbmVMLmNtYWtlOgoJICBFTkg6IGFkZCB0aGUgc3RhdGljIGxpYnMgYWx3YXlzIHRvIHRoZSBsaW5rIGxpYnMsIGlmIHRoZXkgYXJlIG5vdAoJICB1c2VkIGl0IHNob3VsZG4ndCBodXJ0CgoJICBBbGV4CgoyMDA3LTA3LTEyIDE1OjAwICBhbGV4CgoJKiBNb2R1bGVzLzogQ01ha2VMaXN0cy50eHQsIENoZWNrU3RydWN0SGFzTWVtYmVyLmNtYWtlOgoJICBFTkg6IGFkZCBtYWNybyB0byB0ZXN0IGlmIGEgbWVtYmVyIGhhcyBzcGVjaWZpZWQgc3RydWN0LCBlLmcuCgkgIGNoZWNrX3N0cnVjdF9oYXNfbWVtYmVyKCJzdHJ1Y3Qgc3RhdCIgc3RfcmRldiAgICAiJHtDRkdfSEVBREVSU30iCgkgIEhBVkVfU1RSVUNUX1NUQVRfU1RfUkRFVikKCgkgIEFsZXgKCjIwMDctMDctMTIgMTM6NDEgIGFsZXgKCgkqIE1vZHVsZXMvOiBDTWFrZUNDb21waWxlcklkLmMsIENNYWtlQ1hYQ29tcGlsZXJJZC5jcHAsCgkgIFBsYXRmb3JtL0dlbmVyaWMtQURTUC1BU00uY21ha2UsIFBsYXRmb3JtL0dlbmVyaWMtQURTUC1DLmNtYWtlLAoJICBQbGF0Zm9ybS9HZW5lcmljLUFEU1AtQ1hYLmNtYWtlLAoJICBQbGF0Zm9ybS9HZW5lcmljLUFEU1AtQ29tbW9uLmNtYWtlOgoJICBFTkg6IGFkZCBzdXBwb3J0IGZvciB0aGUgQURTUCB0b29sY2hhaW5zIGZvciBCbGFja2ZpbiwgU2hhcmsgYW5kCgkgIFRpZ2VyU2hhcmsgRFNQcywgcGF0Y2ggZnJvbSBSYXBoYWVsIENvdHR5CgoJICBBbGV4CgoyMDA3LTA3LTEyIDExOjU2ICBhbGV4CgoJKiBTb3VyY2UvY21MaXN0Q29tbWFuZC5jeHgsIFNvdXJjZS9jbUxpc3RDb21tYW5kLmgsCgkgIFRlc3RzL0NNYWtlVGVzdHMvTGlzdFRlc3QuY21ha2UuaW46CgkgIEVOSDogYWRkIExJU1QoQ09OVEFJTlMgLi4uKSBwYXRjaCBmcm9tICJNaWd1ZWwgQS4KCSAgRmlndWVyb2EtVmlsbGFudWV2YSwgbWlndWVsZiAoQVQpIGllZWUub3JnIGFkZGVkIHRlc3RzIGZvcgoJICBMSVNUKENPTlRBSU5TLCBTT1JULCBSRVZFUlNFKQoKCSAgQWxleAoKMjAwNy0wNy0xMiAxMTowNSAgYWxleAoKCSogTW9kdWxlcy9GaW5kQ1VSTC5jbWFrZToKCSAgQlVHOiBob25vciBSRVFVSVJFRCBhbmQgUVVJRVRMWSAoIzUzMTIpCgoJICBBbGV4CgoyMDA3LTA3LTEyIDEwOjM4ICBhbGV4CgoJKiBSZWFkbWUudHh0OgoJICBTVFlMRTogYWRkIFJlYWRtZS50eHQgd2l0aCBpbnN0cnVjdGlvbnMgaG93IHRvIGJ1aWxkIGNtYWtlLCBmaXgKCSAgIzUyOTYKCgkgIEFsZXgKCjIwMDctMDctMTIgMTA6MTcgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUdldERpcmVjdG9yeVByb3BlcnR5Q29tbWFuZC5jeHg6IEJVRzogZml4IHNjcmV3dXAgaW4KCSAgR2V0RGlyZWN0b3J5UHJvcC4uLgoKMjAwNy0wNy0xMiAwODozNyAgYWxleAoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbVRhcmdldC5jeHgsIE1vZHVsZXMvQ01ha2VBU01Db21waWxlci5jbWFrZS5pbiwKCSAgTW9kdWxlcy9DTWFrZUNDb21waWxlci5jbWFrZS5pbiwKCSAgTW9kdWxlcy9DTWFrZUNYWENvbXBpbGVyLmNtYWtlLmluLAoJICBNb2R1bGVzL0NNYWtlRm9yY2VDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUZvcnRyYW5Db21waWxlci5jbWFrZS5pbiwKCSAgTW9kdWxlcy9DTWFrZUphdmFDb21waWxlci5jbWFrZS5pbjogRU5IOiBzZWNvbmQgdHJ5IGZvciBoYW5kbGluZwoJICB0aGUgbGlua2VyIGxhbmd1YWdlIHdpdGggaW50ZWdlciBwcmlvcml0eSB2YWx1ZXMgKHJldHVybmluZyBhCgkgIHBvaW50ZXIgdG8gYSBzdHJpbmcgb24gdGhlIHN0YWNrIGlzIG5vIGdvb2QgaWRlYSkKCgkgIEFsZXgKCjIwMDctMDctMTEgMTc6MjkgIGFsZXgKCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21UYXJnZXQuY3h4LCBNb2R1bGVzL0NNYWtlQVNNQ29tcGlsZXIuY21ha2UuaW4sCgkgIE1vZHVsZXMvQ01ha2VDQ29tcGlsZXIuY21ha2UuaW4sCgkgIE1vZHVsZXMvQ01ha2VDWFhDb21waWxlci5jbWFrZS5pbiwKCSAgTW9kdWxlcy9DTWFrZUZvcmNlQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VGb3J0cmFuQ29tcGlsZXIuY21ha2UuaW4sCgkgIE1vZHVsZXMvQ01ha2VKYXZhQ29tcGlsZXIuY21ha2UuaW46IENPTVA6IHJldmVydCBsYXN0IGNvbW1pdCBmb3IKCSAgbm93LCBicm9rZSBWaXN1YWwgU3R1ZGlvCgoJICBBbGV4CgoyMDA3LTA3LTExIDE2OjIyICBhbGV4CgoJKiBNb2R1bGVzL0NNYWtlQVNNQ29tcGlsZXIuY21ha2UuaW4sCgkgIE1vZHVsZXMvQ01ha2VDQ29tcGlsZXIuY21ha2UuaW4sCgkgIE1vZHVsZXMvQ01ha2VDWFhDb21waWxlci5jbWFrZS5pbiwKCSAgTW9kdWxlcy9DTWFrZUZvcmNlQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VGb3J0cmFuQ29tcGlsZXIuY21ha2UuaW4sCgkgIE1vZHVsZXMvQ01ha2VKYXZhQ29tcGlsZXIuY21ha2UuaW4sIE1vZHVsZXMvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21UYXJnZXQuY3h4OgoJICBFTkg6IENNQUtFXzxMQU5HPl9MSU5LRVJfUFJFRkVSRU5DRSBpcyBub3cgYW4gaW50ZWdlciBwcmlvcml0eSwKCSAgbm90IGEgdHdvLXN0ZXAgcHJpb3JpdHkgKE5vbmUgb3IgUHJlZmVyZWQpIEN1cnJlbnQgb3JkZXI6IEFTTSAwLAoJICBDIDEwLCBGb3J0cmFuIDIwLCBDWFggMzAsIEphdmEgNDAgVGhpcyBpcyB0aGUgc2FtZSBvcmRlciBhcwoJICBhdXRvbWFrZSBjaG9zZXM6CgkgIGh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9hdXRvbWFrZS9tYW51YWwvaHRtbF9ub2RlL0hvdy10aGUtTGlua2VyLWlzLUNob3Nlbi5odG1sCgoJICBUaGlzIGNoYW5nZSBzaG91bGQgYmUgYmFja3dhcmQgY29tcGF0aWJsZTogaWYgdGhlcmUgaXMgYSBwcm9qZWN0CgkgIHVzaW5nIGZvcnRyYW4gYW5kIENYWCwgdGhleSBoYWQgdG8gc2V0IHRoZSBMSU5LRVJfTEFOR1VBR0UKCSAgZXhwbGljaXRlbHksIG90aGVyd2lzZSBjbWFrZSBjb21wbGFpbmVkIChidXQgc3RpbGwgZ2VuZXJhdGVkIHRoZQoJICBwcm9qZWN0IGZpbGVzKS4gRXhwbGljaXRlbHkgc2V0dGluZyB0aGUgbGlua2VyIGxhbmd1YWdlIHN0aWxsCgkgIG92ZXJyaWRlcyBhdXRvbWF0aWMgZGV0ZWN0aW9uLiAgSWYgc29tZWJvZHkgaGFzIGEgY3VzdG9tIGxhbmd1YWdlCgkgIGZvciBjbWFrZSBhbmQgdGhlIFBSRUZFUkVOQ0Ugc3RhcnRzIHdpdGggIlAiLCBpdHMgY2hhbmdlZCB0byAxMDAsCgkgIHdoaWNoIGdpdmVzIGl0IHByZWZlcmVuY2Ugb3ZlciBhbGwgb3RoZXIgbGFuZ3VhZ2VzIChleGNlcHQgdGhlCgkgIG90aGVyIGN1c3RvbSBsYW5ndWFnZXMgd2hpY2ggaGF2ZSBhbHNvICJQcmVmZXJlZCIpLiAiTm9uZSIgaXMKCSAgY29udmVydGVkIHRvIDAuCgoJICBBbGV4CgoyMDA3LTA3LTExIDE1OjUzICBhbGV4CgoJKiBTb3VyY2UvOiBjbURvY3VtZW50YXRpb24uY3h4LCBjbURvY3VtZW50YXRpb24uaCwKCSAgY21Qcm9wZXJ0eURlZmluaXRpb24uY3h4LCBjbVByb3BlcnR5RGVmaW5pdGlvbi5oLCBjbWFrZS5jeHgsCgkgIGNtYWtlLmgsIGNtYWtlbWFpbi5jeHg6CgkgIFNUWUxFOiBzb3J0IHRoZSBwcm9wZXJ0eSBkb2N1bWVudGF0aW9uIGludG8KCSAgZ2xvYmFsL2RpcmVjdG9yeS90YXJnZXQvdGVzdC9zb3VyY2VmaWxlIGFuZCB2YXJpYWJsZSBzZWN0aW9ucwoKCSAgQWxleAoKMjAwNy0wNy0xMSAxNTo1MCAgYWxleAoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OgoJICBFTkg6IGNoYW5nZSB0aGUgd2F5ICNjbWFrZWRlZmluZSBpcyBjaGFuZ2VkIHRvICN1bmRlZiwgc28gaXQgaXMKCSAgc2ltaWxhciB0byB3aGF0IGF1dG9jb25mIGRvZXMuIFRoaXMgbWFrZXMgcG9ydGluZyBzb2Z0d2FyZSBmcm9tCgkgIGF1dG9jb25mIHRvIGNtYWtlIGVhc2llciwgc2luY2UgaXQncyBlYXNpZXIgdG8gZGlmZiB0aGUgcmVzdWx0aW5nCgkgIGNvbmZpZyBoZWFkZXJzLgoKCSAgTm93IHRoZSBmb2xsb3dpbmcgI2NtYWtlZGVmaW5lIEhBVkVfU1RSSU5HX0ggMSAjY21ha2VkZWZpbmUKCSAgSEFWRV9TVFJMQ0FUIDEKCgkgIHByb2R1Y2U6CgoJICAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMSAvKiAjdW5kZWYgSEFWRV9TVFJMQ0FUICovCgoJICB3aGVyZWFzIGJlZm9yZSB0aGV5IHByb2R1Y2VkOgoKCSAgI2RlZmluZSBIQVZFX1NUUklOR19IIDEgLyogI3VuZGVmIEhBVkVfU1RSTENBVCAxICovCgoJICBTaW5jZSBpdCdzIGNvbW1lbnRlZCBvdXQgYW55d2F5LCBpdCdzIG5vdyBjaGFuZ2UgaW4gYmVoYXZpb3VyLgoKCSAgQWxleAoKMjAwNy0wNy0xMSAxMzozOSAgYWxleAoKCSogTW9kdWxlcy9DTWFrZUFTTUluZm9ybWF0aW9uLmNtYWtlOgoJICBFTkg6IGFkZCBDTUFLRV9JTkNMVURFX0ZMQUdfQVNNJHtBU01fRElBTEVDVH0gYW5kIGRvbid0IGFsbG93CgkgIHByZXNldCBDTUFLRV94eHhfSU5GT1JNQVRJT04gZmlsZXMKCgkgIEFsZXgKCjIwMDctMDctMTAgMjE6MzggIGFsZXgKCgkqIE1vZHVsZXMvRmluZEtERTQuY21ha2U6CgkgIFNUWUxFOiB1c2UgRVhFQ1VURV9QUk9DRVNTKCkgaW5zdGVhZCBvZiBFWEVDX1BST0dSQU0oKQoKCSAgQWxleAoKMjAwNy0wNy0xMCAxNzoxMSAgYWxleAoKCSogTW9kdWxlcy9QbGF0Zm9ybS9lQ29zLmNtYWtlOgoJICBFTkg6IGFkZCB0aGUgZWNvcyBpbmNsdWRlIGRpciBhbmQgdGhlIGVjb3MgZGVmaW5pdGlvbnMgYnkgZGVmYXVsdAoKCSAgQWxleAoKMjAwNy0wNy0xMCAxNDowNSAgbWFydGluawoKCSogU291cmNlL2NtR2V0U291cmNlRmlsZVByb3BlcnR5Q29tbWFuZC5jeHg6IEVOSDogYWRkZWQgc29tZQoJICBkb2N1bWVudGF0aW9uIHRvIGV4cGxhaW4gYSBzZWN0aW9uIG9mIGNvZGUgYSBiaXQgYmV0dGVyCgoyMDA3LTA3LTEwIDEzOjUyICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmN4eCwgY21HZXREaXJlY3RvcnlQcm9wZXJ0eUNvbW1hbmQuY3h4OiBFTkg6CgkgIHNvbWUgY2xlYW51cCBvZiBnZXQgcHJvcGVydHkgY29tbWFuZHMKCjIwMDctMDctMDkgMTQ6MzAgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvR2VuZXJhdG9yLmg6IFNUWUxFOiBSZW1vdmVkIHN0cmF5CgkgIGNvbW1lbnQuCgoyMDA3LTA3LTA5IDEzOjA3ICBhbGV4CgoJKiBNb2R1bGVzL1BsYXRmb3JtL2VDb3MuY21ha2U6CgkgIEVOSDogYWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nIGVDb3MgYXBwbGljYXRpb25zIG5hdGl2ZWx5CgoJICBBbGV4CgoyMDA3LTA3LTA5IDA4OjE2ICBhbGV4CgoJKiBUZXN0cy9Bc3NlbWJsZXIvbWFpbi5jOiBDT01QOiBob3BlZnVsbHkgZml4IHRlc3QsIGZpbmFsbHkKCgkgIEFsZXgKCjIwMDctMDctMDkgMDU6NTAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNy0wOSAwMDo0NCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA3LTA4IDIyOjA2ICBhbGV4CgoJKiBUZXN0cy9Bc3NlbWJsZXIvbWFpbi5jOiBDT01QOiBmaXggdGVzdAoKCSAgQWxleAoKMjAwNy0wNy0wNyAxNzoyMyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA3LTA2IDE5OjA5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDctMDYgMTQ6MDIgIGFsZXgKCgkqIFRlc3RzL0Fzc2VtYmxlci9DTWFrZUxpc3RzLnR4dDoKCSAgQlVHOiBmaXggdGVzdAoKCSAgQWxleAoKMjAwNy0wNy0wNiAxMzowOCAgYWxleAoKCSogVXRpbGl0aWVzL0NNYWtlTGlzdHMudHh0OgoJICBCVUc6IHRoZSBjbWFrZSBkZXBzIGRlcGVuZCBvbiBjbWFrZQoKCSAgQWxleAoKMjAwNy0wNy0wNiAwODo1MyAgYWxleAoKCSogVGVzdHMvQXNzZW1ibGVyLzogQ01ha2VMaXN0cy50eHQsIG1haW4uYzoKCSAgQ09NUDogT1BUSU9OQUwgd2FzIG1pc3NpbmcgaW4gRU5BQkxFX0xBTkdVQUdFKCkgLXRoZSBhc3NlbWJsZXIKCSAgZmlsZSBzZWVtcyB0byB3b3JrIGZvciBMaW51eCBhbmQgRnJlZUJTRCAtdHJ5IHRvIGZpeCBtYWluKCkgZm9yCgkgIEhQLVVYIGNvbXBpbGVyCgoJICBBbGV4CgoyMDA3LTA3LTA1IDE2OjM4ICBhbGV4CgoJKiBUZXN0cy9Bc3NlbWJsZXIvQ01ha2VMaXN0cy50eHQ6CgkgIFNUWUxFOiBzb21lIG1vcmUgb3V0cHV0CgoJICBBbGV4CgoyMDA3LTA3LTA1IDE2OjMyICBhbGV4CgoJKiBUZXN0cy9Bc3NlbWJsZXIvOiBDTWFrZUxpc3RzLnR4dCwgbWFpbi1saW51eC14ODYtZ2FzLnM6CgkgIENPTVA6IHNraXAgQVBQTEUsIHNpbmNlIHRoZXJlIHdpdGggdW5pdmVyc2FsIGJpbmFyaWVzIHRoZQoJICBhc3NlbWJsZXIgZmlsZSB3b3VsZCBiZSBidWlsdCBmb3IgYm90aCBhcmNoaXRlY3R1cmVzCgoJICBBbGV4CgoyMDA3LTA3LTA1IDE2OjExICBhbGV4CgoJKiBUZXN0cy9Bc3NlbWJsZXIvQ01ha2VMaXN0cy50eHQ6CgkgIENPTVA6IGxldCdzIHNlZSBpZiB0aGlzIGFzc2VtYmxlciBmaWxlIHdvcmtzIGFsc28gb24gb3RoZXIKCSAgcGxhdGZvcm1zIHRoYW4gbGludXguLi4KCgkgIEFsZXgKCjIwMDctMDctMDUgMTU6NTAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNy0wNSAwOTowNSAgYWxleAoKCSogVGVzdHMvOiBDTWFrZUxpc3RzLnR4dCwgQXNzZW1ibGVyL0NNYWtlTGlzdHMudHh0LAoJICBBc3NlbWJsZXIvbWFpbi1saW51eC14ODYtZ2FzLnMsIEFzc2VtYmxlci9tYWluLmM6CgkgIEVOSDogYWRkIGEgc2ltcGxlIGFzc2VtYmxlciB0ZXN0CgoJICBBbGV4CgoyMDA3LTA3LTA0IDA4OjIxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDctMDMgMTY6MTAgIGFsZXgKCgkqIFNvdXJjZS86IGNtQ29tbWFuZEFyZ3VtZW50c0hlbHBlci5jeHgsCgkgIGNtRXh0ZXJuYWxNYWtlZmlsZVByb2plY3RHZW5lcmF0b3IuY3h4LCBjbWFrZS5jeHg6CgkgIFNUWUxFOiBuYW1lIHRoZSBleHRlcm5hbCBnZW5lcmF0b3IgIktEZXZlbG9wMyAtIFVuaXggTWFrZWZpbGVzIgoJICBpbnN0ZWFkIG9mICJVbml4IE1ha2VmaWxlcyAtIEtEZXZlbG9wMyIgLWluaXRpYWxpemUgSWdub3JlIHRvIDAsCgkgIGNyYXNoZXMgb3RoZXJ3aXNlCgoJICBBbGV4CgoyMDA3LTA3LTAzIDExOjQxICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRPcGVuR0wuY21ha2U6CgkgIFNUWUxFOiBkb24ndCB0ZXN0IHR3aWNlIGZvciBBUFBMRQoKCSAgQWxleAoKMjAwNy0wNy0wMyAwOTo0NSAga2luZwoKCSogRGFydExvY2FsLmNvbmYuaW46IEVOSDogQWRkaW5nIGh5dGhsb3RoIGV4cGVjdGVkIG5pZ2h0bHkKCSAgc3VibWlzc2lvbnMuCgoyMDA3LTA3LTAzIDA4OjI2ICBhbGV4CgoJKiBTb3VyY2UvOiBjbURvY3VtZW50YXRpb24uY3h4LCBjbURvY3VtZW50YXRpb24uaDoKCSAgQ09NUDogZml4IGNvbXBpbGUgb24gSFAtVVggd2l0aCBhQ0MsIHJldXNpbmcgdGhlIHNhbWUgaWRlbnRpZmllcgoJICBmb3IgYSB2YXJpYWJsZSBhcyBmb3IgdGhlIGVudW0gdHlwZSBkb2Vzbid0IHdvcmsgaGVyZQoKCSAgQWxleAoKMjAwNy0wNy0wMyAwMzo1OCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA3LTAyIDE2OjQ2ICBhbGV4CgoJKiBTb3VyY2UvOiBjbUNvbW1hbmRBcmd1bWVudHNIZWxwZXIuY3h4LCBjbUV4cG9ydENvbW1hbmQuY3h4OgoJICBDT01QOiBmaXggd2FybmluZ3MKCgkgIEFsZXgKCjIwMDctMDctMDIgMTY6MDQgIGtpbmcKCgkqIFNvdXJjZS86IGNtRmlsZUNvbW1hbmQuY3h4LCBjbUZpbGVDb21tYW5kLmg6IENPTVA6IFJlbW92ZSB1bnVzZWQKCSAgYXJndW1lbnQuCgoyMDA3LTA3LTAyIDE2OjA0ICBraW5nCgoJKiBTb3VyY2UvY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eDogQ09NUDogUmVtb3ZlIHNoYWRvd2VkIGxvY2FsLgoKMjAwNy0wNy0wMiAxNTo1NCAgYWxleAoKCSogTW9kdWxlcy9DTWFrZUZpbmRCaW5VdGlscy5jbWFrZToKCSAgQ09NUDogd2l0aCB2aXN1YWwgc3R1ZGlvIGl0J3Mgbm8gZXJyb3IgaWYgbGluayBpc24ndCBmb3VuZAoKCSAgQWxleAoKMjAwNy0wNy0wMiAxNTo0MyAgYWxleAoKCSogU291cmNlLzogY21Cb290c3RyYXBDb21tYW5kcy5jeHgsIGNtQ29tbWFuZC5oLAoJICBjbUNvbW1hbmRBcmd1bWVudHNIZWxwZXIuY3h4LCBjbUNvbW1hbmRBcmd1bWVudHNIZWxwZXIuaCwKCSAgY21FeHBvcnRDb21tYW5kLmN4eCwgY21FeHBvcnRDb21tYW5kLmg6CgkgIEVOSDogYWRkIGZyYW1ld29yayBmb3IgdW5pZmllZCBoYW5kbGluZyBvZiBhcmd1bWVudHMgdG8gY21ha2UKCSAgY29tbWFuZHMsIGV4YW1wbGUgc2VlIGNtRXhwb3J0Q29tbWFuZC5jeHgKCgkgIEFsZXgKCjIwMDctMDctMDIgMTQ6NTYgIGtpbmcKCgkqIFNvdXJjZS86IGNtRmlsZUNvbW1hbmQuY3h4LCBjbUZpbGVDb21tYW5kLmgsCgkgIGNtSW5zdGFsbENvbW1hbmQuY3h4LCBjbUluc3RhbGxEaXJlY3RvcnlHZW5lcmF0b3IuY3h4LAoJICBjbUluc3RhbGxEaXJlY3RvcnlHZW5lcmF0b3IuaCwgY21JbnN0YWxsRXhwb3J0R2VuZXJhdG9yLmN4eCwKCSAgY21JbnN0YWxsRXhwb3J0R2VuZXJhdG9yLmgsIGNtSW5zdGFsbEZpbGVzR2VuZXJhdG9yLmN4eCwKCSAgY21JbnN0YWxsRmlsZXNHZW5lcmF0b3IuaCwgY21JbnN0YWxsR2VuZXJhdG9yLmN4eCwKCSAgY21JbnN0YWxsR2VuZXJhdG9yLmgsIGNtSW5zdGFsbFNjcmlwdEdlbmVyYXRvci5jeHgsCgkgIGNtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHgsIGNtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5oOiBFTkg6CgkgIEZ1cnRoZXIgY2xlYW51cCBvZiBpbnN0YWxsYXRpb24gc2NyaXB0IGdlbmVyYXRpb24uICBUaGUKCSAgcGVyLWNvbXBvbmVudCBhbmQgcGVyLWNvbmZpZ3VyYXRpb24gdGVzdGluZyBpcyBub3cgZG9uZSBpbiBjbWFrZQoJICBjb2RlIGluc3RlYWQgb2YgaW4gdGhlIEZJTEUoSU5TVEFMTCkgY29tbWFuZC4gIFRoZSBnZW5lcmF0aW9uIG9mCgkgIHRoZSBjbWFrZSBjb2RlIHRvIGRvIHRoZXNlIHRlc3RzIGlzIGNlbnRyYWxpemVkIGluCgkgIGNtSW5zdGFsbEdlbmVyYXRvci4gIE9sZC1zdHlsZSBzaGFyZWQgbGlicmFyeSB2ZXJzaW9uaW5nIGFuZAoJICBjb21wb25lbnQvY29uZmlnIHN1cHBvcnQgY29kZSBoYXMgYmVlbiByZW1vdmVkIGZyb20KCSAgRklMRShJTlNUQUxMKS4gIFRoaXMgY29tbWl0IGlzIHN1cnJvdW5kZWQgYnkgdGhlIHRhZ3MKCSAgQ01ha2UtSW5zdGFsbEdlbmVyYXRvckNsZWFudXAyLXByZSBhbmQKCSAgQ01ha2UtSW5zdGFsbEdlbmVyYXRvckNsZWFudXAyLXBvc3QuCgoyMDA3LTA3LTAyIDE0OjE4ICBhbGV4CgoJKiBNb2R1bGVzL0NNYWtlRm9yY2VDb21waWxlci5jbWFrZToKCSAgRU5IOiBtYWtlIHN1cHBvcnRpbmcgZW1iZWRkZWQgY29tcGlsZXJzIG5lZWQgYSB1c2VyIHNwZWNpZmljCgkgIGxpbmtlciBmaWxlIGZvciBjb21waWxpbmcgYW4gZXhlY3V0YWJsZSAoYW1kIHRodXMgY2Fubm90IGJ1aWxkCgkgIHRoZSBjb21waWxlci1pZCBwcm9ncmFtKSBlYXNpZXIgYnkgcHJvdmlkaW5nIENNQUtFX0ZPUkNFX1hYWCgpCgkgIG1hY3JvcyB3aGljaCBmb3JjZSBjbWFrZSB0byB1c2UgdGhlIGdpdmVuIGNvbXBpbGVycyBhbnl3YXkKCgkgIEFsZXgKCjIwMDctMDctMDIgMTM6MzIgIGtpbmcKCgkqIFNvdXJjZS86IGNtVGFyZ2V0LmN4eCwgY21UYXJnZXQuaDogU1RZTEU6IEZpeGVkIGxpbmUtdG9vLWxvbmcsCgkgIGZpeGVkIGluZGVudGF0aW9uLCByZW1vdmVkIHRyYWlsaW5nIHdoaXRlc3BhY2UsIGFkZGVkIGZ1bmN0aW9uCgkgIHNlcGFyYXRvciBjb21tZW50IGxpbmVzLgoKMjAwNy0wNy0wMiAxMzoyOSAgYWxleAoKCSogTW9kdWxlcy9DTWFrZUNJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUNYWEluZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ1hYQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlLAoJICBUZXN0cy9DTWFrZVRlc3RzL0R1bW15VG9vbGNoYWluLmNtYWtlLAoJICBUZXN0cy9DTWFrZVRlc3RzL1Rvb2xjaGFpblRlc3QuY21ha2UuaW46CgkgIEVOSDogcmVtb3ZlIHN1cHBvcnQgZm9yIHByZXNldHRpbmcgQ01BS0VfU1lTVEVNX0lORk9fRklMRSwKCSAgQ01BS0VfU1lTVEVNX0FORF9DX0NPTVBJTEVSX0lORk9fRklMRSwKCSAgQ01BS0VfU1lTVEVNX0FORF9DWFhfQ09NUElMRVJfSU5GT19GSUxFLAoJICBDTUFLRV9TWVNURU1fQU5EX0NfQ09NUElMRVJfQU5EX1BST0NFU1NPUl9JTkZPX0ZJTEUgYW5kCgkgIENNQUtFX1NZU1RFTV9BTkRfQ1hYX0NPTVBJTEVSX0FORF9QUk9DRVNTT1JfSU5GT19GSUxFCgoJICBJbnN0ZWFkIG9mIHByZXNldHRpbmcgdGhlc2UgdmFyaWFibGVzIHRvIGFyYml0cmFyeSBmaWxlbmFtZXMsCgkgIHVzZXJzIHNob3VsZCBzZXQgdXAgQ01BS0VfU1lTVEVNX05BTUUgYW5kIHRoZSBjb21waWxlcnMgY29ycmVjdGx5CgkgIGFuZCBhbHNvIGNyZWF0ZSBhIFBsYXRmb3JtLyBkaXJlY3Rvcnkgc28gdGhlc2UgZmlsZXMgd2lsbCBhbGwKCSAgZm9sbG93IHRoZSBvZmZpY2lhbCBjbWFrZSBzdHlsZSwgd2hpY2ggc2hvdWxkIG1ha2UgaXQgZWFzaWVyIHRvCgkgIHVuZGVyc3RhbmQgYW5kIGRlYnVnIHByb2plY3Qgd2hpY2ggaGF2ZSB0aGVpciBvd24KCSAgcGxhdGZvcm0vdG9vbGNoYWluIHN1cHBvcnQgZmlsZXMuCgoJICAtcmVtb3ZlIHN1cHBvcnQgZm9yIGEgc3VmZml4IHRvIE1TIGNyb3NzY29tcGlsZXJzLCBzaW5jZSB0aGlzIGlzCgkgIG5vdCAoeWV0KSBzdXBwb3J0ZWQgYnkgY21ha2UgYW5kIG1pZ2h0IGNvbmZ1c2UgdXNlcnMKCgkgIEFsZXgKCjIwMDctMDctMDIgMTI6NDYgIGFsZXgKCgkqIE1vZHVsZXMvQ01ha2VGaW5kQmluVXRpbHMuY21ha2U6CgkgIEJVRzogd2l0aCBNUyBWaXN1YWwgU3R1ZGlvIGN1cnJlbnRseSB0aGVyZSBpcyBubyBjb21waWxlciBpZCwgc28KCSAgY2hlY2sgdGhlIGdlbmVyYXRvciB0b28KCgkgIEFsZXgKCjIwMDctMDctMDIgMTE6MzEgIGtpbmcKCgkqIFNvdXJjZS9jbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuY3h4OiBCVUc6IEZpeCBpbnN0YWxsX25hbWVfdG9vbAoJICB1cGRhdGUgb2YgdGhlIGV4ZWN1dGFibGUgaW4gYW4gaW5zdGFsbGVkIGJ1bmRsZSBvbiBPU1guICBUaGlzCgkgIGFkZHJlc3NlcyBidWcjNDUzNC4KCjIwMDctMDctMDIgMTE6MjQgIGFsZXgKCgkqIFNvdXJjZS9jbURvY3VtZW50YXRpb24uaDoKCSAgQ09NUDogZml4IGJ1aWxkIHdpdGggbXN2YyA2LCB0aGUgZW51bXMgYXJlIG5vdyBwYXJ0IG9mIGEgY2xhc3MKCSAgd2hpY2ggaXMgYWxyZWFkeSBjb21wbGV0ZWx5IHBhcnNlZAoKCSAgQWxleAoKMjAwNy0wNy0wMiAxMTowNSAgYWxleAoKCSogVXRpbGl0aWVzL0NNYWtlTGlzdHMudHh0OgoJICBCVUc6IGZpeCBidWlsZCB3aXRoIGNtYWtlIDwgMi40CgoJICBBbGV4CgoyMDA3LTA3LTAyIDExOjAyICBraW5nCgoJKiBTb3VyY2UvOiBjbUluc3RhbGxHZW5lcmF0b3IuY3h4LCBjbUluc3RhbGxHZW5lcmF0b3IuaCwKCSAgY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eCwgY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmg6IEVOSDoKCSAgSW1wcm92ZWQgaW5kZW50YXRpb24gb2YgZ2VuZXJhdGVkIGNtYWtlX2luc3RhbGwuY21ha2UgY29kZS4KCjIwMDctMDctMDIgMDk6NTggIGtpbmcKCgkqIFRlc3RzLzogU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OiBFTkg6IEVuYWJsZSB2ZXJzaW9uZWQgZXhlY3V0YWJsZQoJICB0ZXN0IGV2ZXJ5d2hlcmUgYnV0IFhDb2RlLgoKMjAwNy0wNy0wMSAyMjo1NSAgaG9mZm1hbgoKCSogU291cmNlLzogY21Db21tYW5kQXJndW1lbnRQYXJzZXJIZWxwZXIuY3h4LAoJICBjbUNvbW1hbmRBcmd1bWVudFBhcnNlckhlbHBlci5oOiBDT01QOiBmaXggd2FybmluZyBpbiByZWxlYXNlCgkgIGJyYW5jaAoKMjAwNy0wNy0wMSAxNjo1MyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA2LTMwIDIyOjMzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDYtMzAgMjE6MDYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNi0yOSAxNjoyOSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA2LTI5IDEyOjU4ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwgTW9kdWxlcy9QbGF0Zm9ybS9MaW51eC5jbWFrZSwKCSAgU291cmNlL2NtQ29tbWFuZEFyZ3VtZW50UGFyc2VySGVscGVyLmN4eCwKCSAgU291cmNlL2NtQ29tbWFuZEFyZ3VtZW50UGFyc2VySGVscGVyLmgsIFNvdXJjZS9jbUZpbGVDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtRmlsZUNvbW1hbmQuaCwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZS5jeHgsIFNvdXJjZS9jbU1ha2VmaWxlLmgsIFNvdXJjZS9jbWFrZS5jeHgsCgkgIFRlc3RzL1N0cmluZ0ZpbGVUZXN0L0lucHV0RmlsZS5oLmluLAoJICBUZXN0cy9TdHJpbmdGaWxlVGVzdC9TdHJpbmdGaWxlLmN4eDogRU5IOiBSQyAxMQoKMjAwNy0wNi0yOSAxMTozMCAgaG9mZm1hbgoKCSogRGFydExvY2FsLmNvbmYuaW46IEVOSDogcmVtb3ZlIG1vcmUgbWFjaGluZXMKCjIwMDctMDYtMjkgMTE6MTggIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBEYXJ0TG9jYWwuY29uZi5pbjogRU5IOiBtYWtlIERhcnRMb2NhbC5jb25mIHBhcnQKCSAgb2YgcHJvamVjdAoKMjAwNy0wNi0yOCAxNjoxMSAga2luZwoKCSogU291cmNlLzogY21JbnN0YWxsRGlyZWN0b3J5R2VuZXJhdG9yLmN4eCwKCSAgY21JbnN0YWxsRXhwb3J0R2VuZXJhdG9yLmN4eCwgY21JbnN0YWxsRmlsZXNHZW5lcmF0b3IuY3h4LAoJICBjbUluc3RhbGxHZW5lcmF0b3IuY3h4LCBjbUluc3RhbGxHZW5lcmF0b3IuaCwKCSAgY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eCwgY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmg6IEVOSDoKCSAgRmlyc3Qgc3RlcCBvZiBpbnN0YWxsIHNjcmlwdCBnZW5lcmF0b3IgY2xlYW51cC4gIEVhY2gKCSAgY29uZmlndXJhdGlvbiB0byBiZSBpbnN0YWxsZWQgaXMgbm93IHNlcGFyYXRlbHkgaGFuZGxlZCBpbnN0ZWFkCgkgIG9mIHVzaW5nIHZhcmlhYmxlcyB0byBzdG9yZSBwZXItY29uZmlndXJhdGlvbiBuYW1lcy4JRm9yIHRhcmdldHMKCSAgdGhlIGNvbXBvbmVudCBhbmQgY29uZmlndXJhdGlvbiBpbnN0YWxsLXRpbWUgdGVzdHMgYXJlIG5vdyBkb25lCgkgIGluIHRoZSBpbnN0YWxsIHNjcmlwdCBpbnN0ZWFkIG9mIGluIHRoZSBGSUxFKElOU1RBTEwpIGNvbW1hbmQuCgkgIFRoaXMgY2xlYW5zIHRoaW5ncyB1cCBsaWtlIG5vdCB0cnlpbmcgdG8gc3RyaXAgYSBmaWxlIHRoYXQgd2FzCgkgIG9wdGlvbmFsbHkgbm90IGluc3RhbGxlZC4gIEl0IGFsc28gc2ltcGxpZmllcyB0aGUgY29kZSBmb3IKCSAgaW5zdGFsbF9uYW1lIGFkanVzdG1lbnQgb24gT1NYLiAgVGhpcyBjb21taXQgaXMgc3Vycm91bmRlZCBieSB0aGUKCSAgdGFncyBDTWFrZS1JbnN0YWxsR2VuZXJhdG9yQ2xlYW51cDEtcHJlIGFuZAoJICBDTWFrZS1JbnN0YWxsR2VuZXJhdG9yQ2xlYW51cDEtcG9zdC4KCjIwMDctMDYtMjggMTU6MjggIGFsZXgKCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHg6CgkgIENPTVA6IGZpeCB3YXJuaW5nIGFib3V0IHVudXNlZCBwYXJhbWV0ZXIKCgkgIEFsZXgKCjIwMDctMDYtMjggMTU6MDQgIGFsZXgKCgkqIFNvdXJjZS9jbURvY3VtZW50YXRpb24uY3h4LCBTb3VyY2UvY21Eb2N1bWVudGF0aW9uLmgsCgkgIFNvdXJjZS9jbWFrZW1haW4uY3h4LCBVdGlsaXRpZXMvQ01ha2VMaXN0cy50eHQ6CgkgIEVOSDogZ2VuZXJhdGUgc2VwYXJhdGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGNvbW1hbmRzLAoJICBjb21wYXRpYmxpdHkgY29tbWFuZHMsIG1vZHVsZXMgYW5kIHByb3BlcnRpZXMgYXMgaHRtbCwgdGV4dCBhbmQKCSAgbWFuIHBhZ2VzLiAgVGhlIG5hbWVzIG9mIHRoZSBtYW4gcGFnZXMgYXJlIGNtY29tbWFuZHMsIGNtY29tcGF0LAoJICBjbXByb3BzIGFuZCBjbW1vZHVsZXMsIHNvIHRoZXkgYXJlIGVhc3kgdG8gdHlwZS4KCgkgIEFsZXgKCjIwMDctMDYtMjggMTM6MDggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNi0yOCAxMTowMCAgYWxleAoKCSogU291cmNlL2NtRG9jdW1lbnRhdGlvbi5jeHgsIFNvdXJjZS9jbURvY3VtZW50YXRpb24uaCwKCSAgU291cmNlL2NtRHVtcERvY3VtZW50YXRpb24uY3h4LCBTb3VyY2UvY21ha2VtYWluLmN4eCwKCSAgU291cmNlL0N1cnNlc0RpYWxvZy9jY21ha2UuY3h4LCBVdGlsaXRpZXMvQ01ha2VMaXN0cy50eHQ6CgkgIEVOSDogLWluIHRoZSBmdWxsIGRvY3VtZW50YXRpb24gdGhlcmUgaXMgbm93IGFuIGV4dHJhIHNlY3Rpb24gZm9yCgkgIGNvbXBhdGliaWxpdHkgY29tbWFuZHMsIHNvIHVzZXJzIHNlZSB3aGljaCBjb21tYW5kcyB0aGV5CgkgIHNob3VsZG4ndCB1c2UgLWNtYWtlIC1oIDxjb21tYW5kPiBub3cgYWxzbyB3b3JrcyB3aXRoIGxvd2VyIGNhc2UKCSAgY29tbWFuZHMgLS1oZWxwLWZ1bGxtIC0taGVscC1jb21tYW5kLCAtLWhlbHAtbW9kdWxlIGFuZAoJICAtLWhlbHAtcHJvcGVydHkgbm93IGRldGVybWluZSB0aGUgb3V0cHV0IGZvcm1hdCBmcm9tIHRoZQoJICBleHRlbnNpb24gb2YgdGhlIGdpdmVuIGZpbGVuYW1lCgoJICBMZXQgbWUga25vdyBpZiB0aGVyZSBhcmUgc29tZSB0aGluZ3MgSSBvdmVybG9va2VkLgoKCSAgQWxleAoKMjAwNy0wNi0yOCAxMDoyMiAgYWxleAoKCSogU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHg6CgkgIENPTVA6IGZpeCB0eXBvCgoJICBBbGV4CgoyMDA3LTA2LTI4IDA5OjE0ICBhbGV4CgoJKiBNb2R1bGVzLzogQ01ha2VBU00tQVRUSW5mb3JtYXRpb24uY21ha2UsCgkgIENNYWtlQVNNQ29tcGlsZXIuY21ha2UuaW4sIENNYWtlQVNNSW5mb3JtYXRpb24uY21ha2UsCgkgIENNYWtlRGV0ZXJtaW5lQVNNLUFUVENvbXBpbGVyLmNtYWtlLAoJICBDTWFrZURldGVybWluZUFTTUNvbXBpbGVyLmNtYWtlLCBDTWFrZVRlc3RBU00tQVRUQ29tcGlsZXIuY21ha2UsCgkgIENNYWtlVGVzdEFTTUNvbXBpbGVyLmNtYWtlLCBQbGF0Zm9ybS9nYXMuY21ha2U6CgkgIEVOSDogaW5pdGlhbCBzdXBwb3J0IGZvciBhc3NlbWJsZXIgaW4gY21ha2UsIG5lZWRzIHRlc3RpbmcgYnkgb3VyCgkgIHVzZXJzCgoJICBBbGV4CgoyMDA3LTA2LTI4IDA5OjA5ICBhbGV4CgoJKiBTb3VyY2UvOiBjbUdsb2JhbEJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtRW5hYmxlTGFuZ3VhZ2VDb21tYW5kLmN4eCwgY21FbmFibGVMYW5ndWFnZUNvbW1hbmQuaCwKCSAgY21HbG9iYWxCb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuaCwgY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbEdlbmVyYXRvci5oLCBjbUdsb2JhbE1TWVNNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsTVNZU01ha2VmaWxlR2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsTWluR1dNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsTWluR1dNYWtlZmlsZUdlbmVyYXRvci5oLAoJICBjbUdsb2JhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW84V2luNjRHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzhXaW42NEdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFdhdGNvbVdNYWtlR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxXYXRjb21XTWFrZUdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5oLAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsCgkgIGNtUHJvamVjdENvbW1hbmQuY3h4OgoJICBFTkg6IGFkZCBPUFRJT05BTCBrZXl3b3JkIHRvIEVOQUJMRV9MQU5HVUFHRSwgc28gaXQgd2lsbCBiZQoJICBwb3NzaWJsZSB0byBkbyBzb21ldGhpbmcgbGlrZSB0aGlzOgoKCSAgRU5BQkxFX0xBTkdVQUdFKEFTTS1BVFQpIElGKENNQUtFX0FTTS1BVFRfQ09NUElMRVJfV09SS1MpICAgLi4uCgkgIGRvIGFzc2VtYmxlciBzdHVmZmYgRUxTRShDTUFLRV9BU00tQVRUX0NPTVBJTEVSX1dPUktTKSAgIC4uLgoJICBmYWxsYmFjayB0byBnZW5lcmljIEMvQysrIEVORElGKENNQUtFX0FTTS1BVFRfQ09NUElMRVJfV09SS1MpCgoJICBBbGV4CgoyMDA3LTA2LTI3IDE2OjI4ICBhbGV4CgoJKiBTb3VyY2Uva3dzeXMvOiBEeW5hbWljTG9hZGVyLmN4eCwgUHJvY2Vzc1VOSVguYzoKCSAgRU5IOiBidWlsZCBvbiBCbHVlR2VuZS9MOiAtYWRkIHN0YXRpYyByZXNvbHYsIG5zc19maWxlcyBhbmQKCSAgbnNzX2RucyBsaWJzIHRvIHRoZSBkZWZhdWx0IHNldCBvZiBsaWJzLCBvdGhlcndpc2Ugd2UgZ2V0CgkgIHVuZGVmaW5lZCByZWZlcmVuY2VzIG91dCBvZiBsaWJjIHRvIHNldmVyYWwgZnVuY3Rpb25zIC1hZGQgYQoJICBkdW1teSBEeW5hbWljTG9hZGVyIGluIGt3c3lzIGZvciBzeXN0ZW1zIHdpdGhvdXQgc2hhcmVkIGxpYnMKCSAgLUJsdWVHZW5lIGRvZXNuJ3QgaGF2ZSBTQV9TSUdJTkZPCgoJICBBbGV4CgoyMDA3LTA2LTI3IDE2OjE0ICBraW5nCgoJKiBTb3VyY2UvY21JbnN0YWxsQ29tbWFuZC5jeHg6IEJVRzogRG8gbm90IGluc3RhbGwgdGhlIGltcG9ydAoJICBsaWJyYXJ5IGZvciBhbiBleGVjdXRhYmxlIHRoYXQgZG9lcyBub3QgaGF2ZSBFTkFCTEVfRVhQT1JUUyBzZXQuCgoyMDA3LTA2LTI3IDE2OjEwICBraW5nCgoJKiBTb3VyY2UvOiBjbUZpbGVDb21tYW5kLmN4eCwgY21GaWxlQ29tbWFuZC5oOiBCVUc6IE5lZWQgdG8gY29tcHV0ZQoJICB0aGUgY29ycmVjdCB2ZXJzaW9uZWQgbmFtZSBmb3IgZXhlY3V0YWJsZXMgb24gY3lnd2luLiAgVGhpcwoJICBhZGRyZXNzZXMgYnVnIzUyMzguCgoyMDA3LTA2LTI3IDE1OjQyICBhbGV4CgoJKiBTb3VyY2UvY21UYXJnZXQuY3h4OgoJICBFTkg6IGhlcmUgd2UgcmVhbGx5IHdhbnQgb25seSBub24taW1wb3J0ZWQgdGFyZ2V0cywgYXMgZGlzY3Vzc2VkCgkgIHdpdGggQnJhZAoKCSAgQWxleAoKMjAwNy0wNi0yNyAxNDo1NSAgYWxleAoKCSogTW9kdWxlcy9DTWFrZURldGVybWluZUNvbXBpbGVySWQuY21ha2U6CgkgIEJVRzogdXNlICR7TEFOR31fQ09NUElMRVJfQVJHMSBhbHNvIGhlcmUsIG90aGVyd2lzZSBzb21lCgkgIGNvbXBpbGVycyB3b24ndCBiZSBhYmxlIHRvIGNvbXBpbGUgZS5nLiB0aGUgQysrIHNvdXJjZSBmaWxlIChlLmcuCgkgIHRoZSBBRFNQIGNvbXBpbGVyIG5lZWRzIC1jKysgZm9yIGNvbXBpbGluZyBDKysgZmlsZXMpCgoJICBBbGV4CgoyMDA3LTA2LTI3IDEzOjIyICBraW5nCgoJKiBUZXN0cy9KYXZhL0NNYWtlTGlzdHMudHh0OiBCVUc6IEZvciBpbi1zb3VyY2UgdmVyc2lvbiBkbyBub3QgdXNlCgkgIGEgY3VzdG9tIGNvbW1hbmQgb3V0cHV0IGFuZCBjdXN0b20gdGFyZ2V0IHdpdGggdGhlIHNhbWUgbmFtZS4KCSAgVGhpcyBhY2NpZGVudGFsbHkgd29ya2VkIGJlZm9yZSBidXQgd2l0aCBhIGNpcmN1bGFyIGRlcGVuZGVuY3kuCgoyMDA3LTA2LTI3IDEyOjA3ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0xpbnV4LmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL1VuaXhQYXRocy5jbWFrZSwKCSAgU291cmNlL2NtRmluZExpYnJhcnlDb21tYW5kLmN4eCwgU291cmNlL2NtYWtlLmN4eDogRU5IOiBBZGRlZAoJICBnbG9iYWwgcHJvcGVydHkgRklORF9MSUJSQVJZX1VTRV9MSUI2NF9QQVRIUyB0byBhbGxvdyBsaWI2NCBwYXRocwoJICB0byBiZSBzZWFyY2hlZCBvcHRpb25hbGx5LiAgVHVybiBvZmYgdGhlIGZlYXR1cmUgb24gZGViaWFuCgkgIHN5c3RlbXMuICBUaGlzIGFkZHJlc3NlcyBkZWJpYW4gcmVwb3J0IDQxOTAwNy4KCjIwMDctMDYtMjcgMTI6MDUgIGtpbmcKCgkqIFNvdXJjZS9jbVByb3BlcnR5RGVmaW5pdGlvbi5jeHg6IEJVRzogRml4ZWQgc3BlbGxpbmcgb2YgZ2xvYmFsbHkKCSAgaW4gZ2xvYmFsIHByb3BlcnR5IG5hbWVzLgoKMjAwNy0wNi0yNyAxMTo0MiAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9HTlUuY21ha2U6IEVOSDogQWRkZWQgR05VL0h1cmQgcGxhdGZvcm0uICBUYWtlbgoJICBmcm9tIGRlYmlhbiBwYXRjaCA0MDcxNTUuCgoyMDA3LTA2LTI3IDExOjM5ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYzogQ09NUDogRml4IGZvciBwbGF0Zm9ybXMgdGhhdCBkbyBub3QKCSAgaGF2ZSBzaWdpbmZvIG9uIHRoZWlyIHNpZ25hbCBoYW5kbGVycy4KCjIwMDctMDYtMjcgMDg6NDMgIGFsZXgKCgkqIFRlc3RzL0NNYWtlTGlzdHMudHh0OgoJICBDT01QOiBmaXggdGVzdHMgd2hlcmUgdGhlIGJ1aWxkaW5nIGNtYWtlIGRvZXNuJ3QgaGF2ZQoJICBHRVRfVEVTVF9QUk9QRVJUWQoKCSAgQWxleAoKMjAwNy0wNi0yNyAwNDo0OSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA2LTI2IDE5OjU0ICBhbGV4CgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OgoJICBFTkg6IHVzZSBDTUFLRV9TWVNURU0gaW5zdGVhZCBvZiBDTUFLRV9TWVNURU1fTkFNRSwgc2luY2UKCSAgQ01BS0VfU1lTVEVNX05BTUUgbWF5IGFscmVhZHkgaGF2ZSBiZWVuIHNldCB3aGVuIGNyb3NzY29tcGlsaW5nCgoJICBBbGV4CgoyMDA3LTA2LTI2IDE3OjE0ICBhbGV4CgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OgoJICBDT01QOiBmaXggYnJva2VuIHRlc3RzIGZvciBub3cKCgkgIEFsZXgKCjIwMDctMDYtMjYgMTc6MDggIGFsZXgKCgkqIFNvdXJjZS86IGNtQm9vdHN0cmFwQ29tbWFuZHMuY3h4LCBjbUNvbW1hbmRzLmN4eDoKCSAgQ09NUDogZml4IGJvb3RzdHJhcHBpbmcKCgkgIEFsZXgKCjIwMDctMDYtMjYgMTU6MzAgIGFsZXgKCgkqIFRlc3RzLzogQ01ha2VMaXN0cy50eHQsIFNpbXBsZUNPbmx5L0NNYWtlTGlzdHMudHh0LAoJICBTaW1wbGVDT25seS9iYXIuYywgU2ltcGxlQ09ubHkvZm9vLmMsIFNpbXBsZUNPbmx5L21haW4uYzoKCSAgRU5IOiBhZGQgYSBTaW1wbGVDT25seSB0ZXN0LCB0aGlzIGlzIG5lZWRlZCBlLmcuIGZvciB0ZXN0aW5nIHNkY2MKCSAgc2luY2UgdGhpcyBkb2Vzbid0IHN1cHBvcnQgQysrIGFuZCBhbHNvIGRvZXNuJ3QgaGF2ZSBhIHByaW50ZigpCgkgIGltcGxlbWVudGF0aW9uIGJ5IGRlZmF1bHQgLWFkZCBhIHRlc3QgZm9yIG1pbmd3IGNyb3NzIGNvbXBpbGVyCgoJICBBbGV4CgoyMDA3LTA2LTI2IDE1OjE1ICBhbGV4CgoJKiBUZXN0cy9DTWFrZUxpc3RzLnR4dCwgTW9kdWxlcy9QbGF0Zm9ybS9HZW5lcmljLVNEQ0MtQy5jbWFrZToKCSAgRU5IOgoKMjAwNy0wNi0yNiAxNDo0OCAgbWFydGluawoKCSogU291cmNlLzogY21Cb290c3RyYXBDb21tYW5kcy5jeHgsIGNtQ29tbWFuZHMuY3h4OiBFTkg6IGFkZAoJICBTZXRQcm9wZXJ0aWVzIGludG8gYm9vdHN0cmFwCgoyMDA3LTA2LTI2IDEzOjUwICBhbGV4CgoJKiBTb3VyY2UvOiBjbURlZmluZVByb3BlcnR5Q29tbWFuZC5oLCBjbUdldFByb3BlcnR5Q29tbWFuZC5oLAoJICBjbVNldFByb3BlcnRpZXNDb21tYW5kLmg6CgkgIFNUWUxFOiByZW5hbWUgY2hhaW4gdG8gaW5oZXJpdCBpbiB0aGUgZG9jcwoKCSAgQWxleAoKMjAwNy0wNi0yNiAxMzoxOSAgYWxleAoKCSogTW9kdWxlcy86IENNYWtlQ0NvbXBpbGVySWQuYywgUGxhdGZvcm0vR2VuZXJpYy1TRENDLUMuY21ha2U6CgkgIEVOSDogYWRkIGJhc2ljIHN1cHBvcnQgZm9yIHNkY2MgKGh0dHA6Ly9zZGNjLnNvdXJjZWZvcmdlLm5ldCksCgkgIG5lZWRzIHNkY2MgKHNkY2NsaWIpIGN2cyBmb3IgY3JlYXRpbmcgbGlicmFyaWVzKQoKCSAgQWxleAoKMjAwNy0wNi0yNiAxMzowNSAgYWxleAoKCSogTW9kdWxlcy9QbGF0Zm9ybS9HZW5lcmljLmNtYWtlLCBTb3VyY2UvY21BZGRMaWJyYXJ5Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbWFrZS5jeHgsIFNvdXJjZS9jbWFrZS5oLAoJICBNb2R1bGVzL0NNYWtlR2VuZXJpY1N5c3RlbS5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9CbHVlR2VuZUwuY21ha2U6CgkgIFNUWUxFOiBjaGFuZ2UgZ2xvYmFsIGNtYWtlIHZhcmlhYmxlCgkgIENNQUtFX1RBUkdFVF9TVVBQT1JUU19PTkxZX1NUQVRJQ19MSUJTIHRvIHRoZSBmaXJzdCBnbG9iYWwgY21ha2UKCSAgcHJvcGVydHkgVEFSR0VUX1NVUFBPUlRTX1NIQVJFRF9MSUJTCgoJICBBbGV4CgoyMDA3LTA2LTI2IDEzOjAwICBhbGV4CgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ1hYQ29tcGlsZXIuY21ha2UsCgkgIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHg6CgkgIEVOSDogY2hlY2sgZm9yIENNQUtFX0hPU1RfU1lTVEVNX05BTUUgdG8gZGVjaWRlIHdoZXRoZXIgdG8gbG9hZAoJICBDTWFrZURldGVybWluZVN5c3RlbS5jbWFrZSwgc2luY2UgQ01BS0VfU1lTVEVNX05BTUUgbWlnaHQgYWxyZWFkeQoJICBiZSBwcmVzZXQgd2hlbiB1c2luZyBjbWFrZSBmb3IgY3Jvc3MgY29tcGlsaW5nIHVzZSB0eXBlIFNUUklORwoJICBpbnN0ZWFkIG9mIEZJTEVQQVRIIHNpbmNlIG90aGVyd2lzZSBhIHN0cmFuZ2UgZmlsZW5hbWUgd2FzCgkgIGdlbmVyYXRlZAoKCSAgQWxleAoKMjAwNy0wNi0yNiAwNDo1NSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA2LTI1IDEyOjUwICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUdldFByb3BlcnR5Q29tbWFuZC5jeHgsIGNtU2V0UHJvcGVydGllc0NvbW1hbmQuY3h4OgoJICBDT01QOiBmaXggd2FybmluZ3MKCjIwMDctMDYtMjUgMTI6MDcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNi0yNSAxMDozNCAgbWFydGluawoKCSogU291cmNlLzogY21EZWZpbmVQcm9wZXJ0eUNvbW1hbmQuY3h4LCBjbURlZmluZVByb3BlcnR5Q29tbWFuZC5oLAoJICBjbVByb3BlcnR5LmgsIGNtUHJvcGVydHlEZWZpbml0aW9uLmN4eCwgY21Qcm9wZXJ0eU1hcC5jeHgsCgkgIGNtYWtlLmN4eCwgY21ha2UuaDogRU5IOiBhZGRlZCB0aGUgYWJpbGl0eSB0byBkb2N1bWVudCB2YXJpYWJsZXMKCSAgYW5kIGNhY2hlZF92YXJpYWJsZXMKCjIwMDctMDYtMjUgMTA6MzMgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtR2V0UHJvcGVydHlDb21tYW5kLmN4eCwgY21HZXRQcm9wZXJ0eUNvbW1hbmQuaDogRU5IOgoJICBhZGRlZCAgY21HZXRQcm9wZXJ0eUNvbW1hbmQKCjIwMDctMDYtMjUgMDk6NTEgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUNvbW1hbmRzLmN4eCwgU291cmNlL2NtR2V0Q01ha2VQcm9wZXJ0eUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbVNldERpcmVjdG9yeVByb3BlcnRpZXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtU2V0UHJvcGVydGllc0NvbW1hbmQuY3h4LCBTb3VyY2UvY21ha2UuY3h4LAoJICBUZXN0cy9Qcm9wZXJ0aWVzL0NNYWtlTGlzdHMudHh0OiBFTkg6IHNvbWUgcHJvcGVydHkgY2xlYW51cCBhbmQKCSAgYWRkZWQgR2V0UHJvcGVydHkKCjIwMDctMDYtMjQgMDY6MzggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNi0yMyAwMTowMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA2LTIyIDExOjMxICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgVXRpbGl0aWVzL1JlbGVhc2UvQ01ha2UubnNpLmluLAoJICBVdGlsaXRpZXMvUmVsZWFzZS9DTWFrZUluc3RhbGwuYm1wLAoJICBVdGlsaXRpZXMvUmVsZWFzZS9NYWtlUmVsZWFzZS5jbWFrZS5pbiwgVXRpbGl0aWVzL1JlbGVhc2UvUkVBRE1FLAoJICBVdGlsaXRpZXMvUmVsZWFzZS9SZWxlYXNlLmNtYWtlLCBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9sb2dpbiwKCSAgVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaC5pbiwKCSAgVXRpbGl0aWVzL1JlbGVhc2UvY29uZmlnX0FJWCwKCSAgVXRpbGl0aWVzL1JlbGVhc2UvY29uZmlnX0NZR1dJTl9OVC01LjEsCgkgIFV0aWxpdGllcy9SZWxlYXNlL2NvbmZpZ19EYXJ3aW4sIFV0aWxpdGllcy9SZWxlYXNlL2NvbmZpZ19IUC1VWCwKCSAgVXRpbGl0aWVzL1JlbGVhc2UvY29uZmlnX0lSSVg2NCwgVXRpbGl0aWVzL1JlbGVhc2UvY29uZmlnX0xpbnV4LAoJICBVdGlsaXRpZXMvUmVsZWFzZS9jb25maWdfT1NGMSwgVXRpbGl0aWVzL1JlbGVhc2UvY29uZmlnX1N1bk9TLAoJICBVdGlsaXRpZXMvUmVsZWFzZS9jeWd3aW4tcGFja2FnZS5zaC5pbiwKCSAgVXRpbGl0aWVzL1JlbGVhc2UvcmVsZWFzZV9kaXNwYXRjaC5zaDogRU5IOiByZW1vdmUgb2xkIHN0eWxlCgkgIHJlbGVhc2Ugc3R1ZmYKCjIwMDctMDYtMjIgMTA6MjIgIGFsZXgKCgkqIE1vZHVsZXMvOiBDTWFrZUxpc3RzLnR4dCwgRmluZE1QSS5jbWFrZSwKCSAgUGxhdGZvcm0vQmx1ZUdlbmVMLmNtYWtlOgoJICBFTkg6IGFkZCBzdXBwb3J0IGZvciBCbHVlR2VuZS9MCgoJICBBbGV4CgoyMDA3LTA2LTIyIDA5OjU4ICBhbGV4CgoJKiBTb3VyY2UvOiBjbUFkZExpYnJhcnlDb21tYW5kLmN4eCwgY21BZGRMaWJyYXJ5Q29tbWFuZC5oLAoJICBjbUNQbHVnaW5BUEkuY3h4LCBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oOgoJICBFTkg6IGFkZCBJTVBPUlQga2V5d29yZCB0byBBRERfTElCUkFSWSwgZGVwZW5kZW5jaWVzIGFyZSBub3QgeWV0CgkgIHdvcmtpbmcgU1RZTEU6IGZpeCBsaW5lIGxlbmd0aHMgYW5kIGluZGVudGF0aW9uLCB1c2UgZW51bSBhcwoJICBhcmd1bWVudCB0byBBZGRMaWJyYXJ5KCkgaW5zdGVhZCBvZiBpbnQgKHdoaWNoIHdhcyBpbml0aWFsaXplZAoJICBmcm9tIGEgYm9vbCBpbiBzb21lIGNhc2VzKQoKCSAgQWxleAoKMjAwNy0wNi0yMiAwODo0NCAgYWxleAoKCSogU291cmNlLzogY21Eb2N1bWVudGF0aW9uLmN4eCwgY21Eb2N1bWVudGF0aW9uLmgsIGNtYWtlLmN4eCwKCSAgY21ha2UuaDoKCSAgRU5IOiBwdXQgY29tcGF0aWJpbGl0eSBjb21tYW5kcyBpbiBleHRyYSBzZWN0aW9uIGFuZCBwcmVwYXJlIGZvcgoJICBjcmVhdGluZyBzZXBhcmF0ZSBtYW4gcGFnZXMgZm9yIHByb3BlcnRpZXMsIG1vZHVsZXMsIGNvbW1hbmRzIGFuZAoJICBjb21wYXRpYmlsaXR5IGNvbW1hbmRzCgoJICBBbGV4CgoyMDA3LTA2LTIxIDE2OjIzICBhbGV4CgoJKiBNb2R1bGVzL0NNYWtlR2VuZXJpY1N5c3RlbS5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9HZW5lcmljLmNtYWtlLAoJICBTb3VyY2UvY21BZGRMaWJyYXJ5Q29tbWFuZC5jeHg6CgkgIEVOSDogcHJpbnQgYSB3YXJuaW5nIGlmIEFERF9MSUJSQVJZKCBTSEFSRUQvTU9EVUxFICkgaXMgdXNlZCBhbmQKCSAgdGhlIHRhcmdldCBwbGF0Zm9ybSBkb2Vzbid0IHN1cHBvcnQgc2hhcmVkIGxpYnJhcmllcwoKCSAgQWxleAoKMjAwNy0wNi0yMSAxNDowNiAgYWxleAoKCSogVGVzdHMvSmF2YS9DTWFrZUxpc3RzLnR4dDoKCSAgU1RZTEU6IGFkZCBzb21lIG1vcmUgb3V0cHV0LCBzbyBpdCBpcyBlYXNpZXIgdG8gdW5kZXJzdGFuZAoKCSAgQWxleAoKMjAwNy0wNi0yMSAxMzowOCAgYWxleAoKCSogU291cmNlLzogY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtVGFyZ2V0LmN4eDoKCSAgQlVHOiBoYW5kbGUgZGVwZW5kZW5jaWVzIHRvIGltcG9ydGVkIHRhcmdldHMgYmV0dGVyOiBkb24ndCBjcmVhdGUKCSAgYSBkZXBlbmRlbmN5IGlmIHRoZSB0YXJnZXQgbmFtZSB3YXMgbm90IGxpc3RlZCBpbiBERVBFTkRTLCBpZiBpdAoJICB3YXMgbGlzdGVkIGluIERFUEVORFMsIGNyZWF0ZSBhIGRlcGVuZGVuY3kgdG8gdGhlIGZpbGUKCgkgIFNlZW1zIHRvIHdvcmssIGJ1dCBoYXZlIHRvIGNoZWNrIHdpdGggQnJhZC4KCgkgIEFsZXgKCjIwMDctMDYtMjEgMDY6MzIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNi0yMSAwNDo0NyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA2LTIwIDIzOjAxICBhbGV4CgoJKiBTb3VyY2UvY21NYWtlZmlsZS5oOgoJICBTVFlMRTogR2V0UHJvamVjdE5hbWUoKSBpcyBjb25zdAoKCSAgQWxleAoKMjAwNy0wNi0yMCAwMzowOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA2LTE5IDE0OjU3ICBhbGV4CgoJKiBTb3VyY2UvY21JbnN0YWxsRXhwb3J0R2VuZXJhdG9yLmN4eDoKCSAgQ09NUDogZml4IGJ1aWxkIHVuZGVyIHdpbmRvd3MKCgkgIEFsZXgKCjIwMDctMDYtMTkgMTM6MTAgIGFsZXgKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUdsb2JhbEdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsR2VuZXJhdG9yLmgsIGNtSW5zdGFsbENvbW1hbmQuY3h4LCBjbUluc3RhbGxDb21tYW5kLmgsCgkgIGNtSW5zdGFsbEV4cG9ydEdlbmVyYXRvci5jeHgsIGNtSW5zdGFsbEV4cG9ydEdlbmVyYXRvci5oOgoJICBFTkg6IGFkZCBJTlNUQUxMKEVYUE9SVCAuLi4pIG1vZGUgYW5kIElOU1RBTEwoIFRBUkdFVFMgLi4uIEVYUE9SVAoJICA8c2V0PiApICwgdGVzdHMgc3RpbGwgaGF2ZSB0byBiZSBhZGRlZAoKCSAgQWxleAoKMjAwNy0wNi0xOSAxMToxMSAgYWxleAoKCSogU291cmNlLzogY21JbnN0YWxsQ29tbWFuZC5jeHgsIGNtSW5zdGFsbENvbW1hbmQuaCwKCSAgY21JbnN0YWxsRGlyZWN0b3J5R2VuZXJhdG9yLmN4eCwgY21JbnN0YWxsRGlyZWN0b3J5R2VuZXJhdG9yLmgsCgkgIGNtSW5zdGFsbEZpbGVzR2VuZXJhdG9yLmN4eCwgY21JbnN0YWxsRmlsZXNHZW5lcmF0b3IuaCwKCSAgY21JbnN0YWxsR2VuZXJhdG9yLmgsIGNtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5oOgoJICBTVFlMRTogcHJlcGFyYXRpb25zIGZvciB0aGUgSU5TVEFMTChFWFBPUlQgLi4uKSBnZW5lcmF0b3IgLW1vdmUKCSAgc3RkOjpzdHJpbmcgRGVzdGluYXRpb24gdG8gY21JbnN0YWxsR2VuZXJhdG9yLCBzaW5jZSBhbGwgKGV4Y2VwdAoJICB0aGUgc2NyaXB0IG9uZSkgaGF2ZSBpdCBhbmQgYWRkIGEgY29uc3QgYWNjZXNzb3Igc28gaXQgY2FuIGJlCgkgIHF1ZXJpZWQgLXVzZSB0ZW1wb3JhcnkgdmFyaWFibGVzIGluIGNtSW5zdGFsbENvbW1hbmQgZm9yIHRoZQoJICBnZW5lcmF0b3JzIHNvIHRoZXkgY2FuIGJlIHJldXNlZCBlYXNpZXIgLXNvbWUgbW9yZSBjb25zdAoKCSAgQWxleAoKMjAwNy0wNi0xOSAwOToxOCAga2luZwoKCSogU291cmNlL2NtQ1BsdWdpbkFQSS5jeHg6IENPTVA6IFdvcmstYXJvdW5kIHdhcm5pbmcgYWJvdXQgc3RhdGljCgkgIHNwZWNpZmllciBvbiBIUCBjb21waWxlci4KCjIwMDctMDYtMTggMTg6MDEgIGFsZXgKCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVKYXZhQ29tcGlsZXIuY21ha2U6CgkgIFNUWUxFOiB1c2UgSUYoTk9UIC4uLikgYW5kIHJlbW92ZSBNQVJLX0FTX0FEVkFOQ0VEKCkgZm9yCgkgIHZhcmlhYmxlcyB3aGljaCBhcmUgbm90IGRlZmluZWQgaGVyZQoKCSAgQWxleAoKMjAwNy0wNi0xOCAxNzoxNCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA2LTE4IDExOjU5ICBraW5nCgoJKiBib290c3RyYXAsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL2NtQXV4U291cmNlRGlyZWN0b3J5Q29tbWFuZC5jeHgsIFNvdXJjZS9jbUNQbHVnaW5BUEkuY3h4LAoJICBTb3VyY2UvY21Db21tYW5kcy5jeHgsIFNvdXJjZS9jbUNyZWF0ZVRlc3RTb3VyY2VMaXN0LmN4eCwKCSAgU291cmNlL2NtRkxUS1dyYXBVSUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21HZXRTb3VyY2VGaWxlUHJvcGVydHlDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW9HZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFhDb2RlR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTG9jYWxYQ29kZUdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21NYWtlRGVwZW5kLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZS5oLCBTb3VyY2UvY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU91dHB1dFJlcXVpcmVkRmlsZXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtUVRXcmFwQ1BQQ29tbWFuZC5jeHgsIFNvdXJjZS9jbVFUV3JhcENQUENvbW1hbmQuaCwKCSAgU291cmNlL2NtUVRXcmFwVUlDb21tYW5kLmN4eCwgU291cmNlL2NtUVRXcmFwVUlDb21tYW5kLmgsCgkgIFNvdXJjZS9jbVNvdXJjZUZpbGUuY3h4LCBTb3VyY2UvY21Tb3VyY2VGaWxlLmgsCgkgIFNvdXJjZS9jbVNvdXJjZUZpbGVMb2NhdGlvbi5jeHgsIFNvdXJjZS9jbVNvdXJjZUZpbGVMb2NhdGlvbi5oLAoJICBTb3VyY2UvY21UYXJnZXQuY3h4LCBTb3VyY2UvY21UYXJnZXQuaDogRU5IOiBNZXJnaW5nIGNoYW5nZXMgZnJvbQoJICBicmFuY2ggQ01ha2UtU291cmNlRmlsZTItYiBiZXR3ZWVuIHRhZ3MgQ01ha2UtU291cmNlRmlsZTItYnAgYW5kCgkgIENNYWtlLVNvdXJjZUZpbGUyLWItbXAxIHRvIHRydW5rLiAgVGhpcyBjb21taXQgaXMgc3Vycm91bmRlZCBieQoJICB0YWdzIENNYWtlLVNvdXJjZUZpbGUyLWItbXAxLXByZSBhbmQgQ01ha2UtU291cmNlRmlsZTItYi1tcDEtcG9zdAoJICBvbiB0aGUgdHJ1bmsuCgoJICBUaGUgY2hhbmdlcyByZS1pbXBsZW1lbnQgY21Tb3VyY2VGaWxlIGFuZCB0aGUgdXNlIG9mIGl0IHRvIGFsbG93CgkgIGluc3RhbmNlcyB0byBiZSBjcmVhdGVkIG11Y2ggZWFybGllci4gIFRoZSB1c2Ugb2YKCSAgY21Tb3VyY2VGaWxlTG9jYXRpb24gYWxsb3dzIGxvY2F0aW5nIGEgc291cmNlIGZpbGUgcmVmZXJlbmNlZCBieQoJICBhIHVzZXIgdG8gYmUgbXVjaCBzaW1wbGVyIGFuZCBtb3JlIHJvYnVzdC4gIFRoZSB0d28gU2V0TmFtZQoJICBtZXRob2RzIGFyZSBubyBsb25nZXIgbmVlZGVkIHNvIHNvbWUgZHVwbGljYXRlIGNvZGUgaGFzIGJlZW4KCSAgcmVtb3ZlZC4gIFRoZSBzdHJhbmdlICJTb3VyY2VOYW1lIiBzdHVmZiBpcyBnb25lLiAgQ29kZSB0aGF0CgkgIGNyZWF0ZWQgY21Tb3VyY2VGaWxlIGluc3RhbmNlcyBvbiB0aGUgc3RhY2sgYW5kIHRoZW4gc2VudCB0aGVtIHRvCgkgIGNtTWFrZWZpbGU6OkFkZFNvdXJjZSBoYXMgYmVlbiBzaW1wbGlmaWVkIGFuZCBjb252ZXJ0ZWQgdG8KCSAgZ2V0dGluZyBjbVNvdXJjZUZpbGUgaW5zdGFuY2VzIGZyb20gY21NYWtlZmlsZS4gIFRoZSBDUGx1Z2luQVBJCgkgIGhhcyBwcmVzZXJ2ZWQgdGhlIG9sZCBBUEkgdGhyb3VnaCBhIGNvbXBhdGliaWxpdHkgaW50ZXJmYWNlLgoKCSAgU291cmNlIGxpc3RzIGFyZSBnb25lLiAgVGFyZ2V0cyBub3cgZ2V0IHJlYWwgaW5zdGFuY2VzIG9mCgkgIGNtU291cmNlRmlsZSByaWdodCBhd2F5IGluc3RlYWQgb2Ygc3RvcmluZyBhIGxpc3Qgb2Ygc3RyaW5ncwoJICB1bnRpbCB0aGUgZmluYWwgcGFzcy4KCgkgIFRyYWNlVlNEZXBlbmRlbmNpZXMgaGFzIGJlZW4gcmUtd3JpdHRlbiB0byBhdm9pZCB0aGUgdXNlIG9mCgkgIFNvdXJjZU5hbWUuICBJdCBpcyBub3cgY2FsbGVkIFRyYWNlRGVwZW5kZW5jaWVzIHNpbmNlIGl0IGlzIG5vdAoJICBqdXN0IGZvciBWUy4JSXQgaXMgbm93IGltcGxlbWVudGVkIHdpdGggYSBoZWxwZXIgb2JqZWN0IHdoaWNoCgkgIG1ha2VzIHRoZSBjb2RlIHNpbXBsZXIuCgoyMDA3LTA2LTE4IDA5OjAwICBhbGV4CgoJKiBTb3VyY2UvQ1BhY2svOiBjbUNQYWNrR2VuZXJhdG9ycy5jeHgsIGNtQ1BhY2tOU0lTR2VuZXJhdG9yLmN4eDoKCSAgRU5IOiBOU0lTIGV4aXN0cyBhbHNvIGZvciBMaW51eCwgbm90IG9ubHkgV2luZG93cywgc28gZW5hYmxlIGl0CgkgIHRoZXJlIHRvbyBwYXRjaCBieSAgIE1pY2hhbCDEjGloYcWZIDxtaWNoYWwgKEFUKSBjaWhhci5jb20+CgoJICBBbGV4CgoyMDA3LTA2LTE3IDIwOjUwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDYtMTcgMDg6MjQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNi0xNiAxNzozNSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA2LTE1IDE2OjA5ICBhbGV4CgoJKiBTb3VyY2UvY21ha2UuY3h4OgoJICBDT01QOiBpbmNsdWRlIGNtRXh0ZXJuYWxNYWtlZmlsZVByb2plY3RHZW5lcmF0b3IuaAoKCSAgQWxleAoKMjAwNy0wNi0xNSAxNjowNyAgYWxleAoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5oLAoJICBjbU1ha2VmaWxlLmgsIGNtYWtlLmN4eDoKCSAgU1RZTEU6IG1pbm9yIGZpeGVzCgoJICBBbGV4CgoyMDA3LTA2LTE1IDE1OjMzICBhbGV4CgoJKiBTb3VyY2UvY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmg6CgkgIENPTVA6IGZvcmdvdCB0byBjb21taXQgdGhpcyBvbmUKCgkgIEFsZXgKCjIwMDctMDYtMTUgMTQ6MjcgIGFsZXgKCgkqIFNvdXJjZS9jbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuY3h4OgoJICBTVFlMRTogcmVtb3ZlIGNvZGUgZHVwbGljYXRpb24gYmV0d2VlbiBQcmVwYXJlU2NyaXB0UmVmZXJlbmNlIGFuZAoJICBHZXRTY3JpcHRSZWZlcmVuY2UsIGFuZCBtYWtlIHRoZSBsb2dpYyBmb3IgZ2V0dGluZyB0aGUgZmlsZW5hbWUKCSAgcHVibGljLCBzbyBpdCBjYW4gYmUgdXNlZCBlLmcuIGZvciBleHBvcnRpbmcKCgkgIEFsZXgKCjIwMDctMDYtMTUgMTM6MDAgIGFsZXgKCgkqIFNvdXJjZS86IGNtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5oOgoJICBCVUc6IGRvbid0IHN0cmlwIHN0YXRpYyBsaWJyYXJpZXMsIGl0IHJlbW92ZXMgdGhlaXIgc3ltYm9sIHRhYmxlLAoJICBkeW5hbWljIGxpYnMgaGF2ZSBhbiBleHRyYSBzeW1ib2wgdGFibGUgc28gdGhleSBzdGlsbCB3b3JrCgkgIHN0cmlwcGVkCgoJICBBbGV4CgoyMDA3LTA2LTE1IDExOjEyICBhbGV4CgoJKiBTb3VyY2UvOiBjbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuaCwKCSAgY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eDoKCSAgQlVHOiBkb24ndCBydW4gc3RyaXAgb24gT1BUSU9OQUwgaW5zdGFsbCB0YXJnZXRzIGlmIHRoZSBmaWxlCgkgIGRvZXNuJ3QgZXhpc3QKCgkgIEFsZXgKCjIwMDctMDYtMTUgMTA6MzQgIGFsZXgKCgkqIFNvdXJjZS9jbUluc3RhbGxDb21tYW5kLmg6CgkgIFNUWUxFOiBhZGQgc29tZSBtb3JlIGxpbmUgYnJlYWtzIHNvIGl0IHNob3VsZCBiZSBlYXNpZXIgdG8gcmVhZAoKCSAgQWxleAoKMjAwNy0wNi0xNSAxMDoxMCAgYWxleAoKCSogU291cmNlLzogY21FeHBvcnRMaWJyYXJ5RGVwZW5kZW5jaWVzLmN4eCwKCSAgY21FeHBvcnRMaWJyYXJ5RGVwZW5kZW5jaWVzLmgsIGNtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxHZW5lcmF0b3IuaCwgY21NYWtlZmlsZS5oLCBjbVRhcmdldC5oLCBjbWFrZS5jeHgsIGNtYWtlLmg6CgoJICBTVFlMRTogcmVtb3ZlIGR1cGxpY2F0ZSBub24tY29uc3QgYWNjZXNzb3JzCgkgIEdldExvY2FsR2VuZXJhdG9yKGludCkgYW5kIEdldExvY2FHZW5lcmF0b3JzKGNtTG9jYWxHZW5lcmF0b3JzKQoJICBmcm9tIGNtR2xvYmFsR2VuZXJhdG9yKCkuIE5vdyB0aGVyZSBpcyBvbmUgY29uc3QgYWNjZXNzb3Igd2hpY2gKCSAgaXMgZXZlbiBmYXN0ZXIgc2luY2UgaXQgcmV0dXJucyBhIHJlZmVyZW5jZSAoaW5zdGVhZCBvZiBjb3B5aW5nIGEKCSAgdmVjdG9yKSAtbW9yZSBjb25zdCB0byBlbnN1cmUgdGhhdCB0aGlzIHRoZSByZXR1cm5lZCBsb2NhbAoJICBnZW5lcmF0b3JzIGRvbid0IGFjdHVhbGx5IGdldCBtb2RpZmllZCAtcmVtb3ZlZCBkdXBsaWNhdGVkIGNvZGUKCSAgaW4gR2V0Q1Rlc3RDb21tYW5kKCkgYW5kIEdldENQYWNrQ29tbWFuZCgpIC1hZGRlZCBzb21lIGNvbnN0CgkgIGFjY2Vzc29ycwoKCSAgQWxleAoKMjAwNy0wNi0xNSAwODo1MyAgYWxleAoKCSogVXRpbGl0aWVzL0NNYWtlTGlzdHMudHh0OgoJICBTVFlMRTogdXNlIGEgbWFjcm8gZm9yIGdlbmVyYXRpbmcgdGhlIGRvY3VtZW50YXRpb24KCgkgIEFsZXgKCjIwMDctMDYtMTUgMDg6NDIgIGFsZXgKCgkqIFRlc3RzL0NNYWtlTGlzdHMudHh0OgoJICBDT01QOiBiaWcgdGltZW91dCBmb3IgYnVpbGRpbmcga2RlbGlicwoKCSAgQWxleAoKMjAwNy0wNi0xNSAwODoxOSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA2LTE0IDEzOjU3ICBhbGV4CgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja1pJUEdlbmVyYXRvci5jeHg6CgkgIFNUWUxFOiBmaXggdHlwbwoKCSAgQWxleAoKMjAwNy0wNi0xNCAxMzo1NSAgYWxleAoKCSogVGVzdHMvQ01ha2VMaXN0cy50eHQ6CgkgIEVOSDogYWRkIHRlc3QgZm9yIGJ1aWxkaW5nbiBrZGVsaWJzIGFscGhhMQoJICAoaHR0cDovL3dlYnN2bi5rZGUub3JnL3RhZ3MvS0RFLzMuOTAuMSkgd2l0aCBjbWFrZSByZXF1aXJlcyBRdCA+PQoJICA0LjMuMCwgREJ1cywga2Rlc3VwcG9ydCAoaHR0cDovL3dlYnN2bi5rZGUub3JnL3RydW5rL2tkZXN1cHBvcnQvKQoJICBhbmQgdGhlIEVhc3lEYXNoYm9hcmQgc2NyaXB0cy4KCgkgIEFsZXgKCjIwMDctMDYtMTQgMTM6MDUgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBDVGVzdC9jbUNUZXN0QnVpbGRDb21tYW5kLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHg6IEVOSDogYWRkIG1vcmUgdmVyYm9zZSBvdXRwdXQKCjIwMDctMDYtMTQgMTI6MDMgIGFsZXgKCgkqIFNvdXJjZS9DUGFjay86IGNtQ1BhY2taSVBHZW5lcmF0b3IuY3h4LCBjbUNQYWNrWklQR2VuZXJhdG9yLmg6CgkgIEVOSDogc3VwcG9ydCA3emlwIGZvciBjcmVhdGluZyB6aXAgZmlsZXMgKG5vdCA3eiBmaWxlcykKCgkgIEFsZXgKCjIwMDctMDYtMTQgMTE6MTcgIGFsZXgKCgkqIFV0aWxpdGllcy9DTWFrZUxpc3RzLnR4dDoKCSAgU1RZTEU6IGFkZCBtYW4gcGFnZSBmb3IgY3BhY2sKCgkgIEFsZXgKCjIwMDctMDYtMTQgMDg6NDkgIGFsZXgKCgkqIFNvdXJjZS86IGNtUmVtb3ZlRGVmaW5pdGlvbnNDb21tYW5kLmgsIGNtYWtlbWFpbi5jeHg6CgkgIFNUWUxFOiBhZGQgY29tbWVudCBhYm91dCB0aGUgLUQgLVAgb3JkZXIgYW5kIGZpeCB0eXBvIGluIGRvYwoKCSAgQWxleAoKMjAwNy0wNi0xNCAwODozMyAgYWxleAoKCSogVGVzdHMvQnVpbGREZXBlbmRzL0NNYWtlTGlzdHMudHh0OgoJICBDT01QOiByZW1vdmluZyB0aGUgZGlyZWN0b3J5IGF0IHRoZSBiZWdpbm5pbmcgYnJlYWtzIHRoZSB0ZXN0IGZvcgoJICBpbi1zb3VyY2UgYnVpbGRzCgoJICBBbGV4CgoyMDA3LTA2LTE0IDA3OjA4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDYtMTQgMDE6MjEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNi0xMyAxNzowNiAga2luZwoKCSogU291cmNlLzogY21Tb3VyY2VGaWxlLmN4eCwgY21Tb3VyY2VGaWxlLmg6IEVOSDogTWFrZSBzdXJlCgkgIEZpbmRGdWxsUGF0aCBkb2VzIG5vdCBjb21wbGFpbiBtb3JlIHRoYW4gb25jZSBhYm91dCBub3QgZmluZGluZwoJICB0aGUgZmlsZSBpZiBpdCBmYWlscy4KCjIwMDctMDYtMTMgMTY6NTggIGtpbmcKCgkqIFNvdXJjZS86IGNtU291cmNlRmlsZS5jeHgsIGNtU291cmNlRmlsZS5oOiBFTkg6IFVzZQoJICBub24tY29uc3Q9PT5sb2NhdGUgcG9saWN5IGZvciBHZXRMYW5ndWFnZSgpIG1ldGhvZC4KCjIwMDctMDYtMTMgMTY6MzMgIGtpbmcKCgkqIFNvdXJjZS9jbVNvdXJjZUZpbGVMb2NhdGlvbi5oOiBTVFlMRTogQWRkZWQgaW50ZXJmYWNlCgkgIGRvY3VtZW50YXRpb24uCgoyMDA3LTA2LTEzIDE2OjI2ICBhbGV4CgoJKiBUZXN0cy9CdWlsZERlcGVuZHMvOiBDTWFrZUxpc3RzLnR4dCwgUHJvamVjdC9iYXIuY3h4OgoJICBDT01QOiBmaXggdGVzdCwgaW4gc29tZSBjYXNlcyBzdGRvdXQgZnJvbSBiYXIgd2FzIG5vdCBjYXB0dXJlZAoJICBjb3JyZWN0bHksIHByb2JhYmx5IGJlY2F1c2UgdGhlIHByb2Nlc3Mgd2FzIGtpbGxlZCBiZWZvcmUgdGhlCgkgIGZmbHVzaCgpIHdvcmtlZCBiZWNhdXNlIHRoZSBidXN5IGxvb3AgYmxvY2tlZCB0aGUgcHJvY2Vzc29yCgkgIChmYWlsaW5nIG1pZHdvcmxkIHRlc3QpCgoJICBBbGV4CgoyMDA3LTA2LTEzIDE2OjIyICBraW5nCgoJKiBTb3VyY2UvY21Tb3VyY2VGaWxlLmN4eDogQlVHOiBEbyBub3QgYWJvcnQgd2hlbiBmaWxlIGNhbm5vdCBiZQoJICBmb3VuZC4KCjIwMDctMDYtMTMgMTY6MTIgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2V0U291cmNlRmlsZVByb3BlcnR5Q29tbWFuZC5jeHgsIGNtU291cmNlRmlsZS5jeHgsCgkgIGNtU291cmNlRmlsZS5oOiBFTkg6IEltcHJvdmVkIGNvbnN0LWNvcnJlY3RuZXNzIG9mIGNtU291cmNlRmlsZQoJICBBUEkuCU9uLWRlbWFuZCBjb21wdXRhdGlvbiBvZiB0aGUgZnVsbCBwYXRoIGlzIG5vdyBkb25lIG9ubHkgZm9yCgkgIG5vbi1jb25zdCBjbVNvdXJjZUZpbGUgaW5zdGFuY2VzLgoKMjAwNy0wNi0xMyAxNTozMiAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIGNtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsIGNtTWFrZURlcGVuZC5jeHgsCgkgIGNtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eCwgY21Tb3VyY2VGaWxlLmN4eCwKCSAgY21Tb3VyY2VGaWxlLmg6IEVOSDogQ2hhbmdlZCBzaWduYXR1cmUgb2YKCSAgY21Tb3VyY2VGaWxlOjpHZXRGdWxsUGF0aCgpIGJhY2sgdG8gcmV0dXJuaW5nIGEgcmVmZXJlbmNlIHRvIGEKCSAgc3RyaW5nLgoKMjAwNy0wNi0xMyAxNToyMSAga2luZwoKCSogU291cmNlLzogY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaCwgY21Tb3VyY2VGaWxlLmg6IFNUWUxFOgoJICBSZW1vdmVkIGNvbW1lbnRlZC1vdXQgY29kZSB0aGF0IGlzIG5vIGxvbmdlciBuZWVkZWQuCgoyMDA3LTA2LTEzIDE1OjIxICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IENPTVA6IEZpeGVkIGZvciBuZXcKCSAgY21Tb3VyY2VGaWxlIGludGVyZmFjZS4KCjIwMDctMDYtMTMgMTU6MjAgIGtpbmcKCgkqIFNvdXJjZS9jbVNvdXJjZUZpbGUuY3h4OiBCVUc6IE5ldmVyIHJldHVybiBhIG51bGwgcG9pbnRlciBmcm9tCgkgIEdldEZ1bGxQYXRoLglUb28gbWFueSBwbGFjZXMgY29uc3RydWN0IGEgc3RyaW5nIHdpdGggdGhlIHJlc3VsdC4KCjIwMDctMDYtMTMgMTQ6MzYgIGFsZXgKCgkqIFNvdXJjZS9jbUZpbGVDb21tYW5kLmg6CgkgIFNUWUxFOiBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgRklMRShSRU1PVkUgLi4uKSBhbmQKCSAgRklMRShSRU1PVkVfUkVDVVJTRSAuLi4pIEZJTEUoUkVNT1ZFIC4uLikgd29ya3Mgb25seSBmb3IgZmlsZXMsCgkgIG5vdCBmb3IgZGlyZWN0b3JpZXMsIFJFTU9WRV9SRUNVUlNFIHdvcmtzIGZvciBib3RoLCBpdCBzZWVtcwoJICBoYXZpbmcgYm90aCBpcyBub3QgbmVjZXNzYXJ5CgoJICBBbGV4CgoyMDA3LTA2LTEzIDEzOjQ0ICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5jeHg6IENPTVA6IEZpeCBmb3IgbmV3IGNtU291cmNlRmlsZQoJICBpbnRlcmZhY2UuCgoyMDA3LTA2LTEzIDEzOjQ0ICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IENPTVA6IEZpeCBmb3IgYnVpbGQgb24gVlMuCgoyMDA3LTA2LTEzIDEyOjUyICBhbGV4CgoJKiBTb3VyY2UvY21FeHRlcm5hbE1ha2VmaWxlUHJvamVjdEdlbmVyYXRvci5oOgoJICBDT01QOiBpbmNsdWRlIGNtU3RhbmRhcmRJbmNsdWRlcy5oIGluc3RlYWQgb2YgPHZlY3Rvcj4gYW5kCgkgIDxzdHJpbmc+LCB0aGlzIHNob3VsZCBmaXggdGhlIGJ1aWxkIHByb2JsZW0gb24gQUlYCgoJICBBbGV4CgoyMDA3LTA2LTEzIDExOjU1ICBraW5nCgoJKiBTb3VyY2UvY21Tb3VyY2VGaWxlTG9jYXRpb24uY3h4OiBCVUc6IFdoZW4gdXBkYXRpbmcgdGhlIGRpcmVjdG9yeQoJICBvciBleHRlbnNpb24gZnJvbSBhbiB1bmFtYmlndW91cyBsb2NhdGlvbiB3ZSBuZWVkIHRvIG1hcmsgdGhlIG5ldwoJICBjb3B5IGFzIHVuYW1iaWd1b3VzIHRvby4KCjIwMDctMDYtMTMgMTE6MTcgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ1BsdWdpbkFQSS5jeHgsIGNtQ29tbWFuZHMuY3h4OiBFTkg6IEltcGxlbWVudGVkCgkgIGNvbXBhdGliaWxpdHkgaW50ZXJmYWNlIGluIGNtQ1BsdWdpbkFQSSB0byBwcmVzZXJ2ZSBvbGQgQVBJIGZvcgoJICBsb2FkZWQgY29tbWFkbnMuCgoyMDA3LTA2LTEzIDEwOjU0ICBhbGV4CgoJKiBTb3VyY2UvY21NYXJrQXNBZHZhbmNlZENvbW1hbmQuaDoKCSAgQlVHOiBtYWtlIE1BUktfQVNfQURWQU5DRUQoKSBzY3JpcHRhYmxlLCBiZWNhdXNlIHRoaXMgaXMgdGhlIG9ubHkKCSAgcmVhc29uIG1hbnkgY21ha2UgRmluZFhYWC5jbWFrZSBtb2R1bGVzIGNhbid0IGJlIHVzZWQgaW4gc2NyaXB0CgkgIG1vZGUgYW5kIGFsc28gRmluZFVuaXhNYWtlLmNtYWtlLCB3aGljaCBpcyByZXF1aXJlZCBieSB0aGUKCSAgQ1RFU1RfQlVJTEQoKSBjb21tYW5kCgoJICBBbGV4CgoyMDA3LTA2LTEyIDE3OjAyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDYtMTIgMTY6NDEgIGFsZXgKCgkqIE1vZHVsZXMvOiBDTWFrZUNJbmZvcm1hdGlvbi5jbWFrZSwgQ01ha2VDWFhJbmZvcm1hdGlvbi5jbWFrZToKCSAgRU5IOiBmaXJzdCBpbmNsdWRlIHRoZSBwcm9jZXNzb3Igc3BlY2lmaWMgZmlsZSwgdGhlbiB0aGUgY29tcGlsZXIKCSAgZmlsZSwgdGhpcyB3YXkgdGhlIHNwZWNpZmljIGhhcmR3YXJlIGZpbGUgY2FuIHNldCB2YXJpYWJsZXMgd2hpY2gKCSAgY2FuIGJlIHVzZWQgaW4gdGhlIHRvb2xjaGFpbiBydWxlcyAobGlrZSBDTUFLRV9DX0NPTVBJTEVfT0JKRUNUCgkgIGV0Yy4pCgoJICBBbGV4CgoyMDA3LTA2LTEyIDExOjExICBkYXZpZC5jb2xlCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEJVRzogTmV2ZXIgcmV0dXJuIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBzcGFjZQoJICAiICIgZnJvbSBjbUNUZXN0OjpHZXRTaG9ydFBhdGhUb0ZpbGUgLSByZXBsYWNlIHRoZW0gd2l0aCAiXyIuCgkgIERBUlQgY2Fubm90IGNvbnN0cnVjdCB2YWxpZCBmaWxlIG5hbWVzIGR1cmluZyBkYXNoYm9hcmQgcm9sbHVwCgkgIHdpdGggc3BhY2UgIiAiIGluIHRoZSBzaG9ydCBwYXRoLgoKMjAwNy0wNi0xMiAxMDo1NiAgYWxleAoKCSogU291cmNlLzogY21ha2UuY3h4LCBjbWFrZS5oLCBDVGVzdC9jbUNUZXN0U2NyaXB0SGFuZGxlci5jeHg6CgkgIEVOSDogcmVtb3ZlIG5vbi9zY3JpcHRhYmxlIGNtYWtlIGNvbW1hbmRzIGZyb20gdGhlIHNjcmlwdCBoYW5kbGVyCgkgIGluIGN0ZXN0LCBhcyBkaXNjdXNzZWQgd2l0aCBEYXZpZC4gVGhpcyBhbHNvIGdpdmVzIGEgYmV0dGVyIGN0ZXN0CgkgIG1hbiBwYWdlIHdpdGgganVzdCB0aGUgY29tbWFuZHMgeW91IHNob3VsZCBhY3R1YWxseSB1c2UgaW4gY3Rlc3QKCSAgc2NyaXB0cy4gIFVudGlsIG5vdyB0aGVzZSBjb21tYW5kcyB3ZXJlIG1vcmUgb3IgbGVzcyBleGVjdXRlZCwKCSAgYnV0IGUuZy4gYWRkX2V4ZWN1dGFibGUoKSBkaWRuJ3QgY3JlYXRlIGFuIGV4ZWN1dGFibGUsIHByb2plY3QoKQoJICBmYWlsZWQgd2l0aCBhbiBlcnJvci4gTm93IHlvdSBnZXQgYW4gZXJyb3IgaW5zdGFudGx5IGlmIHVzaW5nIG9uZQoJICBvZiB0aGVzZSBjb21tYW5kcy4KCgkgIEFsZXgKCjIwMDctMDYtMTIgMTA6MTkgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eDogRU5IOiBtYWtlIHN1cmUgd29ya2luZwoJICBkaXJlY3RvcnkgaXMgc2V0CgoyMDA3LTA2LTEyIDA5OjQwICBhbGV4CgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21DVGVzdC5oOgoJICBTVFlMRTogcmVtb3ZlIGFyZ3VtZW50IGJvb2wgZmFzdCwgaXQgd2FzIHVudXNlZAoKCSAgQWxleAoKMjAwNy0wNi0xMiAwODoyMyAgYWxleAoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDoKCSAgQ09NUDogcmVtb3ZlIHdhcm5pbmcgYWJvdXQgdW51c2VkIHZhcmlhYmxlCgoJICBBbGV4CgoyMDA3LTA2LTExIDE4OjIzICBraW5nCgoJKiBib290c3RyYXAsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL2NtQXV4U291cmNlRGlyZWN0b3J5Q29tbWFuZC5jeHgsIFNvdXJjZS9jbUNvbW1hbmRzLmN4eCwKCSAgU291cmNlL2NtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuY3h4LAoJICBTb3VyY2UvY21GTFRLV3JhcFVJQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5oLCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFhDb2RlR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTG9jYWxYQ29kZUdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21NYWtlRGVwZW5kLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZS5oLCBTb3VyY2UvY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU91dHB1dFJlcXVpcmVkRmlsZXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtUVRXcmFwQ1BQQ29tbWFuZC5jeHgsIFNvdXJjZS9jbVFUV3JhcENQUENvbW1hbmQuaCwKCSAgU291cmNlL2NtUVRXcmFwVUlDb21tYW5kLmN4eCwgU291cmNlL2NtUVRXcmFwVUlDb21tYW5kLmgsCgkgIFNvdXJjZS9jbVNvdXJjZUZpbGUuY3h4LCBTb3VyY2UvY21Tb3VyY2VGaWxlLmgsCgkgIFNvdXJjZS9jbVNvdXJjZUZpbGVMb2NhdGlvbi5jeHgsIFNvdXJjZS9jbVNvdXJjZUZpbGVMb2NhdGlvbi5oLAoJICBTb3VyY2UvY21UYXJnZXQuY3h4LCBTb3VyY2UvY21UYXJnZXQuaDogRU5IOiBJbml0aWFsIHN3ZWVwIGZvcgoJICBuZXctc3l0bGUgY3JlYXRpb24gb2YgY21Tb3VyY2VGaWxlIGluc3RhbmNlcy4gIENvbW1pdHRpbmcgb24KCSAgYnJhbmNoIENNYWtlLVNvdXJjZUZpbGUyLWIuCgoyMDA3LTA2LTExIDE3OjE1ICBob2ZmbWFuCgoJKiBUZXN0cy9DTWFrZUxpc3RzLnR4dDogRU5IOiByZW1vdmUgdGVzdAoKMjAwNy0wNi0xMSAxNzowMCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA2LTExIDE1OjQ3ICBhbGV4CgoJKiBNb2R1bGVzL1BsYXRmb3JtL0dlbmVyaWMuY21ha2UsIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHg6CgkgIFNUWUxFOiBhZGQgYSBjb21tZW50IGFib3V0IFNldExhbmd1YWdlRW5hYmxlZCgpIC1hZGQgYQoJICBHZW5lcmljLmNtYWtlIGZvciB0YXJnZXQgcGxhdGZvcm1zIHdpdGhvdXQgb3BlcmF0aW5nIHN5c3RlbQoKCSAgQWxleAoKMjAwNy0wNi0xMSAxNTozNiAgZGF2aWQuY29sZQoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIENUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4OiBCVUc6CgkgIE5ldmVyIHJldHVybiBhIHN0cmluZyBjb250YWluaW5nIGEgIjoiIGZyb20KCSAgY21DVGVzdDo6R2V0U2hvcnRQYXRoVG9GaWxlIC0gcmVwbGFjZSB0aGVtIHdpdGggIl8iLiBEQVJUIGNhbm5vdAoJICBjb25zdHJ1Y3QgdmFsaWQgZmlsZSBuYW1lcyBkdXJpbmcgZGFzaGJvYXJkIHJvbGx1cCB3aXRoICI6IiBpbgoJICB0aGUgc2hvcnQgcGF0aC4gQWxzbywgZml4IHRoZSBCdWxsc2V5ZSBjb3ZlcmFnZSBoYW5kbGVyIHNvIHRoYXQKCSAgdGhlIGZpbGUgbmFtZXMgYW5kIHBhdGhzIG1hdGNoIGluIGJvdGggdGhlIGNvdmVyYWdlIHN1bW1hcnkgYW5kCgkgIHRoZSBpbmRpdmlkdWFsIGNvdmVyYWdlIGxvZ3MuCgoyMDA3LTA2LTExIDE1OjMxICBhbGV4CgoJKiBNb2R1bGVzL0NNYWtlQ0NvbXBpbGVyLmNtYWtlLmluLCBNb2R1bGVzL0NNYWtlQ0luZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlQ1hYQ29tcGlsZXIuY21ha2UuaW4sCgkgIE1vZHVsZXMvQ01ha2VDWFhJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlLAoJICBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuaDoKCSAgRU5IOiBzcGxpdCBjbUdsb2JhbEdlbmVyYXRvcjo6U2V0TGFuZ3VhZ2VFbmFibGVkKCkgaW4gdHdvIHBhcnRzLAoJICB3aGVyZSB0aGUgc2Vjb25kIHBhcnQgY29waWVzIHRoZSB2YWx1ZXMgZnJvbSB0aGUgY21ha2UgdmFyaWFibGVzCgkgIGludG8gaW50ZXJuYWwgbWFwcy4gIFNvIHRoaXMgY2FuIG5vdyBiZSBkb25lIGFmdGVyIHRoZQoJICBjb21waWxlci1zcGVjaWZpYyBpbmZvcm1hdGlvbiBoYXMgYmVlbiBsb2FkZWQsIHdoaWNoIGNhbiBub3cKCSAgb3ZlcndyaXRlIG1vcmUgc2V0dGluZ3MuCgoJICBBbGV4CgoyMDA3LTA2LTExIDE1OjAyICBraW5nCgoJKiBNb2R1bGVzL0ZpbmRRdDMuY21ha2U6IEJVRzogRml4ZWQgbmFtZSBvZiB2YXJpYWJsZSB1c2VkIHRvIGNoZWNrCgkgIHZlcnNpb24gb2YgdWljIGV4ZWN1dGFibGUuCgoyMDA3LTA2LTExIDE1OjAwICBob2ZmbWFuCgoJKiBUZXN0cy9DTWFrZUxpc3RzLnR4dDogRU5IOiBhZGQgQ29udkxpYiB0ZXN0IGJhY2sgZm9yIHNvbWUgdGltZQoKMjAwNy0wNi0xMSAxNDoyOCAgYWxleAoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDoKCSAgU1RZTEU6IGRldGVybWluZUxhbmd1YWdlQ2FsbGVkIHJlbW92ZWQsIG5vdyB0aGUgY29uZGl0aW9uYWwgY29kZQoJICBpcyBkaXJlY3RseSBjYWxsZWQgaW4gdGhlIG9ubHkgcGxhY2Ugd2hlcmUgaXQgY291bGQgYmUgc2V0IHRvCgkgIHRydWUKCgkgIEFsZXgKCjIwMDctMDYtMTEgMTM6MjIgIGtpbmcKCgkqIFRlc3RzL0N1c3RvbUNvbW1hbmQvQ01ha2VMaXN0cy50eHQ6IEVOSDogUmUtYXJyYW5nZWQgY29kZSB0byB0ZXN0CgkgIGFkZGluZyBhIGN1c3RvbSBjb21tYW5kIHRvIGdlbmVyYXRlIGEgc291cmNlIGZpbGUgYWZ0ZXIgdGhlIGZpbGUKCSAgaGFzIGJlZW4gYWRkZWQgdG8gYSB0YXJnZXQuICBUaGlzIGlzIHN1cHBvcnRlZCBieSB0aGUgY3VycmVudAoJICBpbXBsZW1lbnRhdGlvbiBiZWNhdXNlIG9mIHRoZSB1c2Ugb2Ygc291cmNlIGxpc3RzIGluIHRoZSB0YXJnZXQKCSAgaW1wbGVtZW50YXRpb24uICBXaGVuIHdlIGxhdGVyIGNvbnZlcnQgdG8gY3JlYXRpbmcgY21Tb3VyY2VGaWxlCgkgIGluc3RhbmNlcyBpbW1lZGlhdGVseSBmb3IgdGhlIHRhcmdldCB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGUKCSAgbWVudGlvbmVkIGNhc2Ugc3RpbGwgd29ya3MuCgoyMDA3LTA2LTExIDEyOjQwICBraW5nCgoJKiBTb3VyY2UvOiBjbUluY2x1ZGVSZWd1bGFyRXhwcmVzc2lvbkNvbW1hbmQuaCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwgY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuaCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwgY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5oOgoJICBTVFlMRTogUmVtb3ZlZCB1bnVzZWQgcmVmZXJlbmNlIHRvIGNtTWFrZURlcGVuZC4KCjIwMDctMDYtMTEgMTA6MjUgIGtpbmcKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmg6IEJVRzogTW9yZSBwcm9ibGVtcyB3aXRoCgkgIGNtTWFrZWZpbGUgY29weS1jb25zdHJ1Y3Rvci4JSXQgc2VlbXMgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbgoJICBjbGFzcyBjYW5ub3QgYmUgYXNzaWduZWQgYnV0IGRvZXMgbm90IGVuZm9yY2UgdGhpcyBsaW1pdGF0aW9uIGF0CgkgIGNvbXBpbGUgdGltZS4KCjIwMDctMDYtMTAgMTk6NTEgIGFsZXgKCgkqIFNvdXJjZS9jbUdsb2JhbEtkZXZlbG9wR2VuZXJhdG9yLmN4eDoKCSAgRU5IOiBlbmFibGUgY3ZzIG9yIHN2biBzdXBwb3J0IGlmIHRoZSBzb3VyY2UgaGFzIHRoZSBDVlMvLnN2bgoJICBzdWJkaXJzCgoJICBBbGV4CgoyMDA3LTA2LTEwIDE1OjU2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDYtMDkgMDI6MzkgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNi0wOCAxNzo0NCAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBCVUc6IENvcHkgY29uc3RydWN0b3IgbmVlZHMgdG8gY29weQoJICByZWd1bGFyIGV4cHJlc3Npb24gbWVtYmVycy4KCjIwMDctMDYtMDggMTY6MTkgIGFsZXgKCgkqIFNvdXJjZS9jbUV4cG9ydENvbW1hbmQuY3h4OgoJICBFTkg6IGZhaWwgaWYgYW4gdW5rbm93biB0YXJnZXQgaXMgbGlzdGVkCgoJICBBbGV4CgoyMDA3LTA2LTA4IDE2OjA2ICBhbGV4CgoJKiBTb3VyY2UvOiBjbURvY3VtZW50YXRpb24uY3h4LCBjdGVzdC5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eCwgQ1Rlc3QvY21DVGVzdFNjcmlwdEhhbmRsZXIuaDoKCSAgU1RZTEU6IGNyZWF0ZSBjb21tYW5kIGRvY3VtZW50YXRpb24gZm9yIGN0ZXN0CgoJICBJIHRoaW5rIHNvbWUgb2YgdGhlIGNtYWtlIGNvbW1hbmRzIHNob3VsZCBiZSByZW1vdmVkIGZyb20gY3Rlc3QKCSAgaWYgcG9zc2libGUsIGxpa2UgYWRkX2V4ZWN1dGFibGUgZXRjLgoKCSAgQWxleAoKMjAwNy0wNi0wOCAxNDoxNiAgbWFydGluawoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBCVUc6IGZpeCB0aW1lb3V0IGJ1ZyB3aXRoIGdsb2JhbCB0aW1lb3V0cwoJICBzdWNoIGFzIERBUlRfVEVTVElOR19USU1FT1VUCgoyMDA3LTA2LTA4IDEzOjQzICBraW5nCgoJKiBTb3VyY2UvY21GaW5kQmFzZS5jeHg6IEJVRzogRml4ZWQgc3BlbGxpbmcgYW5kIGZvcm1hdHRpbmcgb2YgbmV3CgkgIGRvY3VtZW50YXRpb24uCgoyMDA3LTA2LTA4IDEyOjQyICBhbGV4CgoJKiBTb3VyY2UvOiBjbUV4dGVybmFsTWFrZWZpbGVQcm9qZWN0R2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsR2VuZXJhdG9yLmg6CgkgIENPTVA6IGxlc3Mgd2FybmluZ3MKCgkgIEFsZXgKCjIwMDctMDYtMDggMTI6MjkgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4LAoJICBjbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmg6IEVOSDogdXNlIG5ldyBjb3ZiciB0aGF0IGRvZXMgbm90IHN0b3AKCSAgb24gZXJyb3IKCjIwMDctMDYtMDggMTE6NTcgIGFsZXgKCgkqIFNvdXJjZS86IGNtQm9vdHN0cmFwQ29tbWFuZHMuY3h4LCBjbUNvbW1hbmRzLmN4eCwKCSAgY21FeHBvcnRDb21tYW5kLmN4eCwgY21FeHBvcnRDb21tYW5kLmgsCgkgIGNtRXh0ZXJuYWxNYWtlZmlsZVByb2plY3RHZW5lcmF0b3IuY3h4LAoJICBjbUV4dGVybmFsTWFrZWZpbGVQcm9qZWN0R2VuZXJhdG9yLmgsIGNtRmluZExpYnJhcnlDb21tYW5kLmN4eCwKCSAgY21GaW5kUGF0aENvbW1hbmQuY3h4LCBjbUZpbmRQcm9ncmFtQ29tbWFuZC5jeHgsCgkgIGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxLZGV2ZWxvcEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsS2RldmVsb3BHZW5lcmF0b3IuaCwKCSAgY21NYWtlZmlsZS5jeHgsIGNtYWtlLmN4eCwgY21ha2UuaDoKCSAgRU5IOiBhZGQgY21FeHRlcm5hbE1ha2VmaWxlUHJvamVjdEdlbmVyYXRvciwgd2hpY2ggc2hvdWxkIG1ha2UgaXQKCSAgZWFzaWVyIHRvIHdyaXRlIGdlbmVyYXRvcnMgZm9yIElERSBwcm9qZWN0cywgd2hpY2ggdXNlIGFscmVhZHkKCSAgZXhpc3RpbmcgbWFrZWZpbGVzIChjdXJyZW50IHRoZSBrZGV2ZWxvcCBnZW5lcmF0b3IpIC1maXJzdCBzdGVwdAoJICBvZiB0aGUgZXhwb3J0IGludGVyZmFjZSwgaW5paXRpYWwgZXhwb3J0KCkgY29tbWFuZCAtbW9yZQoJICByZXBsYWNlbWVudHMgZm9yIHRoZSBGSU5EX1hYWCBkb2NzCgoJICBBbGV4CgoyMDA3LTA2LTA4IDEwOjI4ICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRYMTEuY21ha2U6CgkgIEVOSDogbW9yZSBjb25zaXN0ZW5jZSBhbW9uZyB0aGUgWDExIGNvbXBvbmVudHMKCgkgIEFsZXgKCjIwMDctMDYtMDggMDk6MjkgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNi0wOCAwOToyOCAgYWxleAoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOgoJICBFTkg6IHBhdGNoIGZyb20gIzUwNTQ6IGFsc28gc2VhcmNoIGZvciBRdFVpdG9vbHNkIGxpYgoKCSAgQWxleAoKMjAwNy0wNi0wOCAwOToxOSAgYWxleAoKCSogU291cmNlL2NtRXhlY1Byb2dyYW1Db21tYW5kLmg6CgkgIFNUWUxFOiBmaXggdHlwbyAoYnVnICM1MTE1KQoKCSAgQWxleAoKMjAwNy0wNi0wNyAxNDo1NyAgYWxleAoKCSogU291cmNlL2NtRmluZEJhc2UuY3h4OgoJICBTVFlMRTogYWRkIGRvY3VtZW50YXRpb24gZm9yIENNQUtFX0ZJTkRfUk9PVF9QQVRICgoJICBBbGV4CgoyMDA3LTA2LTA3IDE0OjMxICBhbGV4CgoJKiBTb3VyY2UvOiBjbUJvb3RzdHJhcENvbW1hbmRzLmN4eCwgY21Db21tYW5kcy5jeHg6CgkgIEJVRzogZml4IEJvb3RzdHJhcCB0ZXN0CgoJICBBbGV4CgoyMDA3LTA2LTA3IDEzOjUxICBhbGV4CgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ29tcGlsZXJJZC5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja1R5cGVTaXplLmNtYWtlLCBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUZpbGVDb21tYW5kLmg6CgkgIFNUWUxFOiByZW1vdmUgb3V0IGNvbW1lbnRlZCBjb2RlCgoJICBBbGV4CgoyMDA3LTA2LTA3IDEzOjA1ICBhbGV4CgoJKiBVdGlsaXRpZXMvQ01ha2VMaXN0cy50eHQ6CgkgIFNUWUxFOiB1c2UgR0VUX1RBUkdFVF9QUk9QRVJUWShMT0NBVElPTikgaW5zdGVhZCBvZiBtYW51YWxseQoJICBidWlsZGluZyB0aGUgcGF0aCB0byB0aGUgZXhlY3V0YWJsZXMgKHRlc3RlZCB3aXRoIGNtYWtlIDIuMi4zKQoKCSAgQWxleAoKMjAwNy0wNi0wNyAxMDo0MSAgYWxleAoKCSogU291cmNlL2NtYWtlLmN4eDoKCSAgRU5IOiBhbHNvIHJlbW92ZSB1bmluaXRpYWxpemVkIGZyb20gdGhlIGNhY2hlCgoJICBBbGV4CgoyMDA3LTA2LTA3IDA5OjM3ICBhbGV4CgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OgoJICBCVUc6IGZpeCAjNTEzNywgbm93IHdpdGggdGhlIG1vZGlmaWVkIENNYWtlRGV0ZXJtaW5lU3lzdGVtLmNtYWtlCgkgIHRoZSBDTUFLRV9IT1NUX1NZU1RFTV94eHggdmFyaWFibGVzIGhhdmUgdG8gYmUgcHJlc2V0LCBub3QgdGhlCgkgIENNQUtFX1NZU1RFTV94eHggb25lcwoKCSAgQWxleAoKMjAwNy0wNi0wNyAwODoyOSAgYWxleAoKCSogU291cmNlL2NtRXhwb3J0TGlicmFyeURlcGVuZGVuY2llcy5jeHg6CgkgIFNUWUxFOiByZW1vdmUgd3JvbmcgY29tbWVudHMKCgkgIEFsZXgKCjIwMDctMDYtMDYgMTY6MjAgIGtpbmcKCgkqIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudFBhcnNlckhlbHBlci5jeHgsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudFBhcnNlckhlbHBlci5oLCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmgsIFRlc3RzL1N0cmluZ0ZpbGVUZXN0L0lucHV0RmlsZS5oLmluLAoJICBUZXN0cy9TdHJpbmdGaWxlVGVzdC9TdHJpbmdGaWxlLmN4eDogQlVHOiBGaXhlZCBAT05MWQoJICBjb25maWd1cmF0aW9uIHRvIG5vdCB0cnkgdG8gcGFyc2UgJHt9IHN5bnRheCBhdCBhbGwuCVRoaXMgZml4ZXMKCSAgdGhlIG9yaWdpbmFsIGZpeCB0byBidWcjNDM5MyBhbmQgYWRkcyBhIHRlc3QuCgoyMDA3LTA2LTA2IDE1OjA1ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDYtMDYgMTM6NDMgIGhvZmZtYW4KCgkqIFRlc3RzL0NNYWtlVGVzdHMvOiBJbmNsdWRlVGVzdC5jbWFrZS5pbiwgVG9vbGNoYWluVGVzdC5jbWFrZS5pbjoKCSAgRU5IOiBmaXggaXQKCjIwMDctMDYtMDYgMTM6MzIgIGhvZmZtYW4KCgkqIFRlc3RzL0NNYWtlVGVzdHMvOiBJbmNsdWRlVGVzdC5jbWFrZS5pbiwgVG9vbGNoYWluVGVzdC5jbWFrZS5pbjoKCSAgRU5IOiB1c2UgbG93ZXIgY2FzZSBmb3IgZmlsZSBjb21wYXJlIG9uIHdpbmRvd3MKCjIwMDctMDYtMDYgMTE6NDYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNi0wNiAxMToyNiAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzLzogRHluYW1pY0xvYWRlci5jeHgsIER5bmFtaWNMb2FkZXIuaHh4LmluOiBFTkg6CgkgIHJlbW92ZSBzb21lIHN0dWZmIHRvIGltcHJvdmUgY292ZXJhZ2UKCjIwMDctMDYtMDYgMTE6MDIgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBDVGVzdC9jbUNUZXN0QnVpbGRBbmRUZXN0SGFuZGxlci5jeHg6IEJVRzoKCSAgYmV0dGVyIHBhc3Npbmcgb2YgZ2xvYmFsIFRJTUVPVVQgdG8gaW50ZXJuYWwgY3Rlc3QgaW52b2NhaXRvbnMKCjIwMDctMDYtMDYgMTA6NDQgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEVOSDogZml4IGNhc2UgcHJvYmxlbSB3aXRoIGRyaXZlCgkgIGxldHRlcnMgYW5kIGNtYWtlIHZzIENNYWtlU2V0dXAgYnVpbGQubWFrZSBjaGFuZ2luZwoKMjAwNy0wNi0wNiAxMDo0MSAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWwsIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6CgkgIEVOSDogbW92ZSB0byBSQyAxMAoKMjAwNy0wNi0wNiAwODo0OSAgYWxleAoKCSogU291cmNlLzogY21JZkNvbW1hbmQuY3h4LCBjbUlmQ29tbWFuZC5oOgoJICBFTkg6IGFkZCBJRihJU19BQlNPTFVURSBwYXRoKSwgc28gbm8gcmVnZXggbWF0Y2hpbmcgaXMgcmVxdWlyZWQKCSAgaW4gdGhlIGNtYWtlIHNjcmlwdHMKCgkgIEFsZXgKCjIwMDctMDYtMDUgMTY6MzcgIGFsZXgKCgkqIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaDoKCSAgU1RZTEU6IGZpeCBjb21tZW50CgoJICBBbGV4CgoyMDA3LTA2LTA1IDE2OjM1ICBhbGV4CgoJKiBTb3VyY2UvOiBjbUdsb2JhbEtkZXZlbG9wR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxLZGV2ZWxvcEdlbmVyYXRvci5oLCBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oOgoJICBTVFlMRTogbW92ZSBGb3JjZVZlcmJvc2VNYWtlZmlsZXMgdG8KCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLCBzbyB0aGUga2RldmVsb3AgZ2VuZXJhdG9yIGRvZXNuJ3QKCSAgbmVlZCBpdHMgb3duIENyZWF0ZUxvY2FsR2VuZXJhdG9yKCkgYW55bW9yZQoKCSAgQWxleAoKMjAwNy0wNi0wNSAxMDoyOCAgYWxleAoKCSogTW9kdWxlcy86IENNYWtlQ0NvbXBpbGVySWQuYywgQ01ha2VDSW5mb3JtYXRpb24uY21ha2UsCgkgIENNYWtlQ1hYSW5mb3JtYXRpb24uY21ha2UsIENNYWtlRGV0ZXJtaW5lU3lzdGVtLmNtYWtlLAoJICBDTWFrZVN5c3RlbVdpdGhUb29sY2hhaW5GaWxlLmNtYWtlLmluOgoJICBFTkg6IGFsc28gbG9hZCBhIHByb2Nlc3Nvci1zcGVjaWZpYyBmaWxlIGlmIGV4aXN0cyAtYWxzbyB0cnkgdGhlCgkgIGJhc2VuYW1lIGZpbGUgaWYgdGhlIGNvbXBpbGVyIGlkIGZpbGUgZG9lc24ndCBleGlzdCAtZG9uJ3QgcmVseQoJICBzbyBtdWNoIG9uIHRoZSBDTUFLRV9UT09MQ0hBSU5fRklMRQoKCSAgQWxleAoKMjAwNy0wNi0wNSAxMDoyMCAgYWxleAoKCSogTW9kdWxlcy9DaGVja1R5cGVTaXplQy5jLmluOgoJICBDT01QOiBkb24ndCB1c2Ugc3RkaW8sIGl0IGNhbiBmYWlsIG9uIHNvbWUgZW1iZWRkZWQgdGFyZ2V0cwoJICAoc2RjYykKCgkgIEFsZXgKCjIwMDctMDYtMDUgMDk6MzAgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLAoJICBTb3VyY2UvY21Db21tYW5kQXJndW1lbnRMZXhlci5jeHgsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudExleGVyLmgsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudExleGVyLmluLmwsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudFBhcnNlckhlbHBlci5jeHg6IEVOSDogbWVyZ2UgaW4gY2hhbmdlcwoJICBmcm9tIG1haW4gdHJlZSB0aGF0IGZpeCBhdCBvbmx5IHBhcnNpbmcKCjIwMDctMDYtMDUgMDk6MTkgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ29tbWFuZEFyZ3VtZW50TGV4ZXIuY3h4LCBjbUNvbW1hbmRBcmd1bWVudExleGVyLmluLmw6CgkgIEVOSDogZml4IGZvciBhaXgKCjIwMDctMDYtMDUgMDk6MDUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNi0wNSAwODozMCAgYWxleAoKCSogTW9kdWxlcy9DaGVja1R5cGVTaXplQy5jLmluOgoJICBDT01QOiBtYWtlIHRoZSBuZXcgY2hlY2tfdHlwZV9zaXplIHdvcmsgd2l0aCB0aGUgSFBVWCBjYwoJICBjb21waWxlcjogY29uc3QgZG9lc24ndCBleGlzdCB0aGVyZQoKCSAgQWxleAoKMjAwNy0wNi0wNCAxNzoxOCAgaG9mZm1hbgoKCSogVGVzdHMvRnJhbWV3b3JrL3Rlc3QubHVhOiBFTkg6IGFkZCBtaXNzaW5nIGZpbGUKCjIwMDctMDYtMDQgMTc6MTcgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHg6IEVOSDogcHJldmVudCBjcmFzaAoKMjAwNy0wNi0wNCAxNzoxNiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA2LTA0IDE3OjA4ICBhbGV4CgoJKiBNb2R1bGVzL0NoZWNrVHlwZVNpemUuY21ha2UsIE1vZHVsZXMvQ2hlY2tUeXBlU2l6ZUMuYy5pbiwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9EYXJ3aW4uY21ha2UsIFNvdXJjZS9jbUNvcmVUcnlDb21waWxlLmN4eCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBFTkg6IGRldGVybWluZSB0eXBlc2l6ZSBieSBjb21waWxpbmcKCSAgYSBmaWxlIGFuZCByZWFkaW5nIHN0cmluZ3MgZnJvbSB0aGUgY29tcGlsZWQgb3V0cHV0LglUZXN0ZWQgd2l0aAoJICB2YXJpb3VzIGdjYywgWENvZGUsIE1TVkM3LCBzZGNjIEZvciBPU1ggd2hlbiBkb2luZyBUUllfQ09NUElMRSgpCgkgIENNQUtFX09TWF9BUkNISVRFQ1RVUkVTIGlzIHVzZWQsIGlmIHRoZXJlIGFyZSBkaWZmZXJlbnQgcmVzdWx0cwoJICBhbiBlcnJvciBpcyBnZW5lcmF0ZWQuIENNQUtFX09TWF9BUkNISVRFQ1RVUkVTIGNhbiBiZSBvdmVyd3JpdHRlbgoJICBmb3IgdGhlIFRSWV9DT01QSUxFUyB3aXRoIENNQUtFX1RSWV9DT01QSUxFX09TWF9BUkNISVRFQ1RVUkVTLgoKCSAgQWxleAoKMjAwNy0wNi0wNCAxNTo1NyAga2luZwoKCSogU291cmNlLzogY21Db21tYW5kQXJndW1lbnRMZXhlci5jeHgsIGNtQ29tbWFuZEFyZ3VtZW50TGV4ZXIuaCwKCSAgY21Db21tYW5kQXJndW1lbnRMZXhlci5pbi5sLCBjbUNvbW1hbmRBcmd1bWVudFBhcnNlckhlbHBlci5jeHg6CgkgIEJVRzogRml4ZWQgY21Db21tYW5kQXJndW1lbnRMZXhlciBuby1lc2NhcGUgbW9kZSB0byBub3QgbWF0Y2gKCSAgYmFja3NsYXNoLWVzY2FwZSBzZXF1ZW5jZXMgYXMgbGV4aWNhbCB0b2tlbnMgYXQgYWxsLglOZWVkZWQgdG8KCSAgY29uZmlndXJlIGZpbGVzIHdpdGggYmFja3NsYXNoZXMgcHJlY2VkaW5nIGFuIEBWQVJAIHJlcGxhY2VtZW50LgoJICBUaGlzIGZpeGVzIGJ1ZyM1MTMwLgoKMjAwNy0wNi0wNCAxNToyOCAgaG9mZm1hbgoKCSogVGVzdHMvRnJhbWV3b3JrL0NNYWtlTGlzdHMudHh0OiBFTkg6IGFkZCBvbmUgb2YgdGhlIGhlYWRlcnMgdG8KCSAgdGhlIHJlZ3VsYXIgc291cmNlcwoKMjAwNy0wNi0wNCAxMzo1MCAgYWxleAoKCSogU291cmNlL2NtYWtlLmN4eDoKCSAgU1RZTEU6IGZpeCB0eXBvOiBub3cgZG91YmxlIHNwYWNlIGFmdGVyIC1ECgoJICBBbGV4CgoyMDA3LTA2LTA0IDEzOjQ4ICBhbGV4CgoJKiBTb3VyY2UvOiBjbUNhY2hlTWFuYWdlci5jeHgsIGNtYWtlLmN4eCwgY21ha2UuaDoKCSAgRU5IOiAtVSBmb3IgcmVtb3ZpbmcgdmFyaWFibGVzIG5vdyB1c2VzIGdsb2JiaW5nIGV4cHJlc3Npb25zCgkgIC1jbUNhY2hlTWFuYWdlcjogbm93IGFsc28gdmFyaWFibGVzIHdpdGggdHlwZSBVTklOSVRJQUxJWkVEIGFyZQoJICBzYXZlZCBpbiBDTWFrZUNhY2hlLnR4dCwgdGhlc2UgYXJlIHRoZSB2YXJzIGRlZmluZWQgdXNpbmcKCSAgLURGT089Zm9vIGJ1dCB3aXRob3V0IHR5cGUKCgkgIEFsZXgKCjIwMDctMDYtMDQgMTM6MzkgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBDVGVzdC9jbUNUZXN0QnVpbGRBbmRUZXN0SGFuZGxlci5jeHg6IEVOSDoKCSAgZml4IHBhc3Npbmcgb2YgdGltZSBsaW1pdCB0byBzb21lIGN0ZXN0IGludm9jYXRpb25zIHRoYXQgYWxzbyB1c2UKCSAgYnVpbGQtb3B0aW9ucwoKMjAwNy0wNi0wMyAxMDo0OCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA2LTAyIDE2OjE1ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdENvdmVyYWdlSGFuZGxlci5jeHg6IEVOSDogcmVtb3ZlIGRlYnVnIHRoYXQKCSAgY2F1c2VkIHRlc3RzIHRvIGZhaWwKCjIwMDctMDYtMDIgMDY6MzMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNi0wMSAyMzowNiAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4OiBFTkg6IG9wcHMKCjIwMDctMDYtMDEgMTU6NDAgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4LAoJICBjbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmg6IEVOSDogaW5pdGlhbCBidWxsc2V5ZSBzdHVmZgoKMjAwNy0wNi0wMSAxNDoxNiAgYWxleAoKCSogU291cmNlLzogY21ha2UuY3h4LCBjbWFrZS5oOgoJICBCVUc6IGFsc28gcHV0IGEgdmFyaWFibGUgaW50byB0aGUgY2FjaGUgd2hlbiBkZWZpbmVkIHVzaW5nIC1EIGlmCgkgIG5vIHR5cGUgaXMgZ2l2ZW4sIHRoZW4gU1RSSU5HIGlzIHVzZWQuIEFsc28gYWRkIGNvbW1hbmQgbGluZQoJICBvcHRpb24gLVUgYXMgc3VnZ2VzdGVkIGZvciB1bmRlZmluaW5nIGNhY2hlIHZhcmlhYmxlcy4gVGhpcyBmaXhlcwoJICAjNDg5NiBhbmQgIzQyNjQuCgoJICBBbGV4CgoyMDA3LTA2LTAxIDEzOjE3ICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRYMTEuY21ha2U6CgkgIENPTVA6IGZpeCB3YXJuaW5ncyBvbiBzb21lIG1hY2hpbmVzIHdoZXJlIHNvbWUgWCBsaWJzIGFwcGFyZW50bHkKCSAgZG9uJ3QgcmVhbGx5IHdvcmsgYnkgcmV2ZXJ0aW5nIFgxMV9MSUJSQVJJRVMgYmFjayB0byB0aGUgb2xkCgkgIHZlcnNpb24gLWFkZCBzb21lIG1vcmUgWDExX3h4eF9GT1VORCB2YXJpYWJsZXMgLXJlZm9ybWF0IGNvbW1lbnRzCgkgIGF0IHRoZSB0b3AgLWFsd2F5cyB1c2UgSUYoSU5DTFVERV9ESVIgYW5kIExJQikgZm9yIHNldHRpbmcgRk9VTkQKCSAgdG8gVFJVRQoKCSAgQWxleAoKMjAwNy0wNi0wMSAxMToxOCAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWwsIFNvdXJjZS9jbUFkZExpYnJhcnlDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogRU5IOiBtZXJnZSBpbiBhIGZldyBtb3JlIGZpeGVzIGZyb20KCSAgdGhlIG1haW4gdHJlZQoKMjAwNy0wNi0wMSAxMToxNiAgYWxleAoKCSogTW9kdWxlcy9DaGVja0NTb3VyY2VSdW5zLmNtYWtlLCBNb2R1bGVzL0NoZWNrQ1hYU291cmNlUnVucy5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kVGhyZWFkcy5jbWFrZSwgTW9kdWxlcy9UZXN0QmlnRW5kaWFuLmNtYWtlLAoJICBTb3VyY2UvY21UcnlSdW5Db21tYW5kLmN4eCwgU291cmNlL2NtVHJ5UnVuQ29tbWFuZC5oLAoJICBUZXN0cy9UcnlDb21waWxlL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9UcnlDb21waWxlL2V4aXRfc3VjY2Vzcy5jLAoJICBUZXN0cy9UcnlDb21waWxlL2V4aXRfd2l0aF9lcnJvci5jOgoJICBFTkg6IGltcHJvdmUgVFJZX1JVTigpIGZvciBjcm9zc2NvbXBpbGluZzogaW5zdGVhZCBvZiBqdXN0CgkgIGZhaWxpbmcsIGl0IG5vdyBjcmVhdGVzIHR3byBjYWNoZSB2YXJpYWJsZXMsIG9uZSBmb3IgdGhlCgkgIFJVTl9SRVNVTFQsIG9uZSBmb3IgdGhlIFJVTl9PVVRQVVQgKGlmIHJlcXVpcmVkKSwgd2hpY2ggY2FuIGJlCgkgIHNldCBvciBwcmVzZXQgYnkgdGhlIHVzZXIuIEl0IGhhcyBub3cgYWxzbyB0d28gbmV3IGFyZ3VtZW50czoKCSAgUlVOX09VVFBVVF9WQVJJQUJMRSBhbmQgQ09NUElMRV9PVVRQVVRfVkFSSUFCTEUgKHRoZSBvbGQKCSAgT1VUUFVUX1ZBUklBQkxFIG1lcmdlcyBib3RoKSwgc28gaWYgb25seSBDT01QSUxFX09VVFBVVF9WQVJJQUJMRQoJICBpcyB1c2VkIHRoZSBydW4gdGltZSBvdXRwdXQgb2YgdGhlIFRSWV9SVU4gaXMgdW51c2VkIGFuZCB0aGUgdXNlcgoJICBkb2Vzbid0IGhhdmUgdG8gY2FyZSBhYm91dCB0aGUgb3V0cHV0IHdoZW4gY3Jvc3Njb21waWxpbmcuIFRoaXMKCSAgaXMgbm93IHVzZWQgaW4gRmluZFRocmVhZHMuY21ha2UsIENoZWNrQy9DWFhTb3VyY2VSdW5zLmNtYWtlIGFuZAoJICBUZXN0QmlnRW5kaWFuLmNtYWtlLCB3aGljaCB1c2VkIHRoZSBvdXRwdXQgb25seSBmb3IgdGhlIGxvZ2ZpbGUKCSAgKGNvbXBpbGUgb3V0cHV0IGlzIHN0aWxsIHRoZXJlKS4gVGVzdC9UcnlDb21waWxlLyBub3cgYWxzbyB0ZXN0cwoJICB0aGUgYmVoYXZpb3VyIG9mIE9VVFBVVF9WQVJJQUJMRSwgUlVOX09VVFBVVF9WQVJJQUJMRSBhbmQKCSAgQ09NUElMRV9PVVRQVVRfVkFSSUFCTEUuCgoJICBBbGV4CgoyMDA3LTA2LTAxIDExOjA2ICBhbGV4CgoJKiBTb3VyY2UvY21DYWNoZU1hbmFnZXIuY3h4OgoJICBFTkg6IGFsc28gaGFuZGxlIGNvbW1lbnRzIGZvciB2YXJpYWJsZXMgd2hpY2ggY29udGFpbiBuZXdsaW5lcwoKCSAgQWxleAoKMjAwNy0wNi0wMSAwOToxOCAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogQlVHOiBmaXggY3Jhc2gsIGJ1ZyA1MTIxCgoyMDA3LTA1LTMxIDIyOjA2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDUtMzEgMTY6MTggIGFsZXgKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c1BsYXRmb3JtVGVzdHMuY21ha2U6CgkgIENPTVA6IHJldmVydCBzb21lIG9mIHRoZSBjaGFuZ2VzIGZvciBjcm9zc2NvbXBpbGluZywgbm90IHJlcXVpcmVkCgkgIGFueW1vcmUgd2l0aCByZWNlbnQgY2hhbmdlcyBpbiBjbWFrZQoKCSAgQWxleAoKMjAwNy0wNS0zMSAxMjowMyAgYWxleAoKCSogU291cmNlL2NtR2V0VGFyZ2V0UHJvcGVydHlDb21tYW5kLmN4eDoKCSAgRU5IOiBpZiBnZXRfdGFyZ2V0X3Byb3BlcnR5KCkgZG9lc24ndCBmaW5kIGEgdGFyZ2V0IHdpdGggdGhlCgkgIGdpdmVuIG5hbWUsIGl0IHJldHVybnMgbm93ICI8TkFNRV9PRl9WQVI+LU5PVEZPVU5EIiBpbnN0ZWFkIG9mCgkgIGp1c3QgIk5PVEZPVU5EIiwgd2hpY2ggY2FuIGhlbHAgaW4gZmluZGluZyBwcm9ibGVtcwoKCSAgQWxleAoKMjAwNy0wNS0zMSAxMDoyOSAgbWFydGluawoKCSogVGVzdHMvOiBDTWFrZUxpc3RzLnR4dCwgUHJvcGVydGllcy9DTWFrZUxpc3RzLnR4dCwKCSAgUHJvcGVydGllcy9wcm9wZXJ0aWVzLmguaW4sIFByb3BlcnRpZXMvcHJvcGVydGllczIuaCwKCSAgUHJvcGVydGllcy9TdWJEaXIvcHJvcGVydGllczMuY3h4OiBFTkg6IGFkZGVkIG5ldyB0ZXN0IGZvcgoJICBTb3VyY2VGaWxlIG9iamVjdHMgYW5kIHByb3BlcnRpZXMKCjIwMDctMDUtMzAgMTI6MDkgIGFsZXgKCgkqIE1vZHVsZXMvRmluZFgxMS5jbWFrZToKCSAgRU5IOiBtb3N0bHkgc3luY2VkIHdpdGggRmluZFgxMS5jbWFrZSBmcm9tIEtERSBzdm46IG5vdyBhbHNvCgkgIHNlYXJjaGVzIGZvciBhIGxvdCBvZiBhZGRpdGlvbmFsIFgxMSBsaWJzLCBsaWtlIFh2LCBYYXUsIFhyYW5kcgoJICBhbmQgb3RoZXJzCgoJICBBbGV4CgoyMDA3LTA1LTMwIDEwOjQwICBhbGV4CgoJKiBTb3VyY2Uva3dzeXMva3dzeXNQbGF0Zm9ybVRlc3RzLmNtYWtlOgoJICBDT01QOiBzdGFydCBjcm9zc2NvbXBpbGluZyBQYXJhdmlldzMgKHJlcXVpcmVzIGNtYWtlIGN2cywKCSAgY3VycmVudGx5IHRvIHNjcmF0Y2hib3gpCgoJICBBbGV4CgoyMDA3LTA1LTMwIDA1OjI4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDUtMjkgMTE6MzYgIGFsZXgKCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVTeXN0ZW0uY21ha2UsIE1vZHVsZXMvQ01ha2VTeXN0ZW0uY21ha2UuaW4sCgkgIE1vZHVsZXMvQ01ha2VTeXN0ZW1XaXRoVG9vbGNoYWluRmlsZS5jbWFrZS5pbiwKCSAgVGVzdHMvQ01ha2VUZXN0cy9Ub29sY2hhaW5UZXN0LmNtYWtlLmluOgoJICBFTkg6IGFsd2F5cyBwcm92aWRlIENNQUtFX1NZU1RFTV9YWFgoKSBhbmQgTUFLRV9IT1NUX1NZU1RFTV9YWFgoKQoJICB2YXJpYWJsZXMsIHNvIHdoZW4gY3Jvc3MgY29tcGlsaW5nIHRoZSBidWlsZCBob3N0IHBsYXRmb3JtIGNhbiBiZQoJICB0ZXN0ZWQKCgkgIEFsZXgKCjIwMDctMDUtMjkgMDg6NDIgIGFsZXgKCgkqIFNvdXJjZS9jbUhleEZpbGVDb252ZXJ0ZXIuY3h4OgoJICBDT01QOiBsZXNzIHdhcm5pbmdzIHdpdGggbXN2YzgKCgkgIEFsZXgKCjIwMDctMDUtMjkgMDU6MjYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNS0yOCAxNzo0OSAga2luZwoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBCVUc6IEZpbmlzaGVkIHByZXZpb3VzIGZpeC4KCjIwMDctMDUtMjggMTM6NDYgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogQ09NUDogRml4ZWQgc2hhZG93ZWQgbG9jYWwKCSAgd2FybmluZy4KCjIwMDctMDUtMjggMTM6MzIgIGtpbmcKCgkqIFNvdXJjZS9jbVNvdXJjZUZpbGUuaDogRU5IOiBSZW1vdmVkIHVudXNlZCBtZXRob2RzIHRoYXQgc2hvdWxkCgkgIG5ldmVyIGJlIHVzZWQgYW55d2F5LgoKMjAwNy0wNS0yOCAxMjoyMyAga2luZwoKCSogU291cmNlL2NtYWtlLmg6IFNUWUxFOiBGaXhlZCBjb21tZW50IGZvciBHZW5lcmF0ZSgpIG1ldGhvZC4KCjIwMDctMDUtMjggMTI6MDUgIGtpbmcKCgkqIFNvdXJjZS9jbVRhcmdldC5jeHg6IEVOSDogTW92ZWQgbGluayBsaWJyYXJ5IHJlbGF0ZWQgY29kZSBmcm9tCgkgIEdlbmVyYXRlU291cmNlRmlsZXNGcm9tU291cmNlTGlzdHMgdG8gQW5hbHl6ZUxpYkRlcGVuZGVuY2llcyB0bwoJICBtYWtlIHRoZSBmb3JtZXIgZG8gbm8gbW9yZSB0aGFuIHdoYXQgaXRzIG5hbWUgc2F5cy4KCjIwMDctMDUtMjggMTE6NDEgIGtpbmcKCgkqIFRlc3RzLzogU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZGVkIG1vcmUgaW5zdGFsbCBydWxlcyB0bwoJICBpbmNyZWFzZSBjb3ZlcmFnZSBvZiB0aGUgY29tbWFuZC4KCjIwMDctMDUtMjggMTE6MTggIGtpbmcKCgkqIFNvdXJjZS86IGNtQ3VzdG9tQ29tbWFuZC5jeHgsIGNtQ3VzdG9tQ29tbWFuZC5oLCBjbVRhcmdldC5jeHg6CgkgIEVOSDogUmVtb3ZlZCAiVXNlZCIgbWFyayBmcm9tIGN1c3RvbSBjb21tYW5kcy4gIEl0IGlzIG5vIGxvbmdlcgoJICBuZWVkZWQgb3IgY2hlY2tlZCBieSBhbnkgZ2VuZXJhdG9ycy4KCjIwMDctMDUtMjggMTE6MTYgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogRU5IOiBSZW1vdmUgdW51c2VkIGJ1aWxkIHJ1bGVzCgkgIGZyb20gWGNvZGUuICBUaGlzIGNoYW5nZSB3YXMgbWFkZSBpbiB0aGUgVlMgZ2VuZXJhdG9ycyBvbgoJICAyMDA2LTAzLTIzIGFuZCBzaG91bGQgaGF2ZSBiZWVuIG1hZGUgZm9yIHRoZSBYY29kZSBnZW5lcmF0b3IgdG9vLgoJICBBbHNvIGNvbW1lbnRlZCBvdXQgc29tZSBkZWJ1ZyBwcmludCBzdGF0ZW1lbnRzLgoKMjAwNy0wNS0yOCAxMTowMyAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGVFeGVjdXRhYmxlVGFyZ2V0R2VuZXJhdG9yLmN4eDogQ09NUDogRml4IGJ1aWxkCgkgIG9uIG1hYyBhZnRlciBjaGFuZ2UgdG8gR2V0U291cmNlRmlsZXMgc2lnbmF0dXJlLgoKMjAwNy0wNS0yOCAxMTowMiAga2luZwoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBDT01QOiBGaXggYnVpbGQgb2YgWENvZGUKCSAgZ2VuZXJhdG9yIGFmdGVyIGNoYW5nZSB0byBHZXRTb3VyY2VGaWxlcyBzaWduYXR1cmUuCgoyMDA3LTA1LTI4IDExOjAyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDUtMjggMTE6MDAgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsVmlzdWFsU3R1ZGlvOEdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBDT01QOiBGaXggYnVpbGQgZm9yCgkgIHdpbmRvd3Mtb25seSBnZW5lcmF0b3JzIGFmdGVyIGNoYW5nZSB0byBHZXRTb3VyY2VGaWxlcyBzaWduYXR1cmUuCgoyMDA3LTA1LTI4IDEwOjI1ICBraW5nCgoJKiBTb3VyY2UvOiBjbUZMVEtXcmFwVUlDb21tYW5kLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIGNtVGFyZ2V0LmN4eCwgY21UYXJnZXQuaDogRU5IOiBNYWRlIGNtVGFyZ2V0OjpHZXRTb3VyY2VGaWxlcwoJICBtZXRob2QgcmV0dXJuIHJlZmVyZW5jZSB0byBjb25zdCBzbyBhZGRpdGlvbiBvZiBjbVNvdXJjZUZpbGUKCSAgcG9pbnRlcnMgbXVzdCBiZSBkb25lIHdpdGggYW4gYWNjZXNzIG1ldGhvZCBpbiBjbVRhcmdldC4KCjIwMDctMDUtMjggMTA6MTEgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ1BsdWdpbkFQSS5jeHgsIGNtRkxUS1dyYXBVSUNvbW1hbmQuY3h4LAoJICBjbVFUV3JhcENQUENvbW1hbmQuY3h4LCBjbVFUV3JhcFVJQ29tbWFuZC5jeHgsIGNtU291cmNlRmlsZS5oOgoJICBFTkg6IE1hZGUgY21Tb3VyY2VGaWxlOjpHZXREZXBlbmRzIHJldHVybiByZWZlcmVuY2UgdG8gY29uc3Qgc28KCSAgZGVwZW5kZW5jaWVzIGNhbiBiZSBhZGRlZCBvbmx5IGJ5IGFuIGFjY2VzcyBtZXRob2QgaW4KCSAgY21Tb3VyY2VGaWxlLgoKMjAwNy0wNS0yOCAxMDowNyAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWwsIE1vZHVsZXMvRmluZFBrZ0NvbmZpZy5jbWFrZSwKCSAgTW9kdWxlcy9Vc2VQa2dDb25maWcuY21ha2UsIE1vZHVsZXMvVXNlU1dJRy5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9Vbml4UGF0aHMuY21ha2UsIFNvdXJjZS9jbUZpbGVDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtTGlzdENvbW1hbmQuaCwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21UcnlDb21waWxlQ29tbWFuZC5oLCBTb3VyY2UvY21YQ29kZU9iamVjdC5jeHgsCgkgIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHgsIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5oeHguaW46CgkgIEVOSDogbWVyZ2UgaW4gY2hhbmdlcyBmcm9tIGJyYW5jaCBSQyA3CgoyMDA3LTA1LTI4IDA5OjU5ICBraW5nCgoJKiBTb3VyY2UvOiBjbUZMVEtXcmFwVUlDb21tYW5kLmN4eCwgY21NYWtlZmlsZS5jeHgsIGNtVGFyZ2V0Lmg6CgkgIEVOSDogTWFkZSBjbVRhcmdldDo6R2V0U291cmNlTGlzdHMgcmV0dXJuIGEgcmVmZXJlbmNlIHRvIGNvbnN0IHNvCgkgIHRoYXQgYWxsIGFkZGl0aW9ucyBvZiBzb3VyY2VzIG11c3QgZ28gdGhyb3VnaCBhY2Nlc3MgbWV0aG9kcyBpbgoJICBjbVRhcmdldC4KCjIwMDctMDUtMjggMDg6MzEgIGFsZXgKCgkqIFNvdXJjZS9jbUhleEZpbGVDb252ZXJ0ZXIuY3h4OgoJICBDT01QOiBmaXggd2FybmluZyBvbiBNU1ZDIDg6IGNvbnZlcnNpb24gZnJvbSAnc2l6ZV90JyB0bwoJICAndW5zaWduZWQgaW50JywgcG9zc2libGUgbG9zcyBvZiBkYXRhCgoJICBBbGV4CgoyMDA3LTA1LTI3IDE4OjQ3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDUtMjcgMTA6MzIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVhDb2RlT2JqZWN0LmN4eDogRU5IOiBAIG11c3QgYmUgZXNjYXBlZCBpbiB4Y29kZQoJICBwcm9qZWN0cwoKMjAwNy0wNS0yNyAwNDozMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA1LTI2IDE0OjI2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDUtMjUgMTY6NDYgIGFsZXgKCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDb21waWxlcklkLmNtYWtlLCBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUZpbGVDb21tYW5kLmg6CgkgIEVOSDogYWRkIG9wdGlvbiB0byBGSUxFKFNUUklOR1MgTk9fSEVYX0NPTlZFUlNJT04pIHRvIGRpc2FibGUKCSAgYXV0b21hdGljIGNvbnZlcnNpb24gb2YgaGV4IGFuZCBzcmVjIGZpbGVzIHRvIGJpbmFyeS4gIFdpdGhvdXQKCSAgdGhpcyBhdXRvbWF0aWMgY29udmVyc2lvbiwgZXZlcnl3aGVyZSB3aGVyZSBhIGNvbXBpbGVkIGZpbGUgaXMKCSAgcGFyc2VkIGZvciBzdHJpbmdzIHRoZSBhIGZpbGUoSEVYMkJJTiBzb21lZmlsZSBiaW5maWxlKSBjb21tYW5kCgkgIGhhcyB0byBiZSBhZGRlZCBvdGhlcndpc2UgaXQgd2lsbCBub3Qgd29yayBmb3IgdGhlc2UgY29tcGlsZXJzLiBJCgkgIHRyaWVkIHRoaXMgd2l0aCBEZXRlcm1pbmVDb21waWxlciBhbmQgQ2hlY2tUeXBlU2l6ZSBhbmQgbm9ib2R5CgkgIHdpbGwgZG8gdGhpcyBleGNlcHQgdGhlIHVzZXJzIHdobyB3b3JrIHdpdGggc3VjaCBjb21waWxlcnMuIEZvcgoJICB0aGVtIGl0IHdpbGwgYnJlYWsgaWYgdGhleSBkb24ndCBhZGQgdGhpcyBjb252ZXJzaW9uIGNvbW1hbmQgaW4KCSAgYWxsIHRoZXNlIHBsYWNlcy4gIElmIEZJTEUoU1RSSU5HUykgaXMgdXNlZCB3aXRoIGEgdGV4dCBmaWxlLCBpdAoJICB3aWxsIGluIG1vc3QgY2FzZXMgc3RpbGwgd29yayBhcyBleHBlY3RlZCwgc2luY2UgaXQgd2lsbCBvbmx5CgkgIGNvbnZlcnQgaGV4IGFuZCBzcmVjIGZpbGVzLiBJZiBhIHVzZXIgYWN0dWFsbHkgd2FudHMgdG8gZ2V0IHRleHQKCSAgb3V0IG9mIGhleCBmaWxlcywgaGUga25vd3Mgd2hhdCBoZSdzIGRvaW5nIGFuZCB3aWxsIHNlZSB0aGUgaGludAoJICBpbiB0aGUgZG9jdW1lbnRhdGlvbi4KCgkgIEFueXdheSwgaXQgc2hvdWxkIHdvcmsgd2l0aG91dCBoYXZpbmcgdG8gY3JlYXRlIGEgdGVtcG9yYXJ5IGZpbGUsCgkgIHdpbGwgd29yayBvbiB0aGlzIGxhdGVyLgoKCSAgQWxleAoKMjAwNy0wNS0yNSAxNjoyMyAgYWxleAoKCSogU291cmNlL2NtSGV4RmlsZUNvbnZlcnRlci5jeHg6CgkgIENPTVA6IGxlc3Mgd2FybmluZ3MgKHNpZ25lZCB2cy4gdW5zaWduZWQpCgoJICBBbGV4CgoyMDA3LTA1LTI1IDE1OjUxICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBCVUc6IE5lZWQgdG8gY3JlYXRlIGdsb2JhbCB0YXJnZXRzCgkgIGJlZm9yZSBBZGRIZWxwZXJDb21tYW5kcyBpcyBjYWxsZWQuICBXZSBzaG91bGQgaW52ZXN0aWdhdGUKCSAgY3JlYXRpbmcgZ2xvYmFsIHRhcmdldHMgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgY29uZmlndXJlIHN0ZXAKCSAgZXZlbiBpZiB0aGVpciBjb21tYW5kcyBhcmUgbm90IHBvcHVsYXRlZCBvciBpZiB0aGV5IHdpbGwgbm90CgkgIGFjdHVhbGx5IGJlIGdlbmVyYXRlZCBsYXRlci4KCjIwMDctMDUtMjUgMTU6MjIgIGFsZXgKCgkqIE1vZHVsZXMvQ01ha2VDQ29tcGlsZXJJZC5jLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ29tcGlsZXJJZC5jbWFrZSwgTW9kdWxlcy9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL2NtQm9vdHN0cmFwQ29tbWFuZHMuY3h4LCBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUZpbGVDb21tYW5kLmgsIFNvdXJjZS9jbUhleEZpbGVDb252ZXJ0ZXIuY3h4LAoJICBTb3VyY2UvY21IZXhGaWxlQ29udmVydGVyLmgsIFRlc3RzL1N0cmluZ0ZpbGVUZXN0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TdHJpbmdGaWxlVGVzdC9tYWluLmloeCwgVGVzdHMvU3RyaW5nRmlsZVRlc3QvbWFpbi5zcmVjOgoJICBFTkg6IG1ha2UgdGhlIGNvbXBpbGVyIGlkIGRldGVjdGlvbiB3b3JrLCBldmVuIGlmIHRoZSBvdXRwdXQgZmlsZQoJICBuYW1lIG9mIHRoZSBjb21waWxlciBpcyBjb21wbGV0ZWx5IHVua25vd24gYW5kIGV2ZW4gaWYgaXQKCSAgcHJvZHVjZXMgaW50ZWwgaGV4IG9yIG1vdG9yb2xhIHMtcmVjb3JkIGZpbGVzLCB3aXRoIHRlc3QKCgkgIEFsZXgKCjIwMDctMDUtMjUgMTI6MDUgIGFsZXgKCgkqIFNvdXJjZS9jbVRyeVJ1bkNvbW1hbmQuY3h4OgoJICBCVUc6IHJlbW92ZSBkZWJ1ZyBvdXRwdXQKCgkgIEFsZXgKCjIwMDctMDUtMjUgMTE6NDEgIGtpbmcKCgkqIFRlc3RzLzogU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwgU2ltcGxlSW5zdGFsbC9pbnN0LmN4eCwKCSAgU2ltcGxlSW5zdGFsbC9zY3JpcHRzL0NNYWtlTGlzdHMudHh0LAoJICBTaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQsIFNpbXBsZUluc3RhbGxTMi9pbnN0LmN4eCwKCSAgU2ltcGxlSW5zdGFsbFMyL3NjcmlwdHMvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkZWQgdGVzdGluZyBvZgoJICBSRUdFWCBvcHRpb24gdG8gSU5TVEFMTChESVJFQ1RPUlkpLiAgQWRkZWQgdGVzdHMgdG8gY292ZXIgYWxsCgkgIGZvcm1zIG9mIG9sZC1zdHlsZSBpbnN0YWxsIGNvbW1hbmRzLgoKMjAwNy0wNS0yNSAxMTowOSAga2luZwoKCSogVGVzdHMvOiBTaW1wbGVJbnN0YWxsL2luc3QuY3h4LCBTaW1wbGVJbnN0YWxsUzIvaW5zdC5jeHg6IEVOSDoKCSAgQWRkIHRlc3QgdG8gc2VlIGlmIElOU1RBTExfRklMRVMgYWN0dWFsbHkgd29ya2VkLgoKMjAwNy0wNS0yNSAxMTowOCAga2luZwoKCSogU291cmNlLzogY21JbnN0YWxsRmlsZXNDb21tYW5kLmN4eCwgY21JbnN0YWxsRmlsZXNDb21tYW5kLmg6IEJVRzoKCSAgRml4IEZJTEVTIG1vZGUgYWZ0ZXIgcmVjZW50IGNoYW5nZXMuCgoyMDA3LTA1LTI1IDExOjAxICBraW5nCgoJKiBTb3VyY2UvOiBjbUluc3RhbGxGaWxlc0NvbW1hbmQuY3h4LCBjbUluc3RhbGxQcm9ncmFtc0NvbW1hbmQuY3h4OgoJICBCVUc6IEZpeGVkIElOU1RBTExfRklMRVMgYW5kIElOU1RBTExfUFJPR1JBTVMgY29tbWFuZHMgdG8gaW5zdGFsbAoJICB1bmRlciB0aGUgcHJlZml4IGxpa2UgdGhleSBkaWQgYmVmb3JlIHRoZSByZWNlbnQgY2hhbmdlcy4KCjIwMDctMDUtMjUgMDY6NTUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNS0yNCAxNzowNiAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuaDoKCSAgRU5IOiBhZGQgY29weSBoZWFkZXIgc3R1ZmYKCjIwMDctMDUtMjQgMTY6MDMgIGFsZXgKCgkqIE1vZHVsZXMvQ01ha2VDQ29tcGlsZXJJZC5jLCBNb2R1bGVzL0NoZWNrVHlwZVNpemUuY21ha2UsCgkgIFNvdXJjZS9jbVRyeVJ1bkNvbW1hbmQuY3h4OgoJICBTVFlMRTogcmVtb3ZlIGRlYnVnIG91dHB1dCwgZml4IGluZGVudGF0aW9uIHRoZSB0ZXN0cyBydW4gYWdhaW4KCSAgc3VjY2Vzc2Z1bGx5LCBidXQgc2luY2UgQ2hlY2tUeXBlU2l6ZSB3aWxsIHN3aXRjaCB0byBhCgkgIFRSWV9DT01QSUxFIHNvb24gSSB3aWxsIGxvb2sgYXQgaXQgYWdhaW4gYWZ0ZXIgdGhpcyBjaGFuZ2UKCgkgIEFsZXgKCjIwMDctMDUtMjQgMTQ6MzAgIGFsZXgKCgkqIE1vZHVsZXMvQ2hlY2tUeXBlU2l6ZS5jbWFrZSwgU291cmNlL2NtVHJ5UnVuQ29tbWFuZC5jeHg6CgkgIENPTVA6IHRyeSB0byBmaXggdGhlIHRlc3QgZmFpbHVyZXMgb24gZGFzaDIKCgkgIEFsZXgKCjIwMDctMDUtMjQgMTI6MDYgIGFsZXgKCgkqIFNvdXJjZS9jbUNvcmVUcnlDb21waWxlLmN4eCwgU291cmNlL2NtVHJ5Q29tcGlsZUNvbW1hbmQuaCwKCSAgU291cmNlL2NtVHJ5UnVuQ29tbWFuZC5jeHgsIFRlc3RzL1RyeUNvbXBpbGUvQ01ha2VMaXN0cy50eHQ6CgkgIEVOSDogYWRkIENPUFlfRklMRSBhcmd1bWVudCB0byBUUllfQ09NUElMRSwgc28gdGhlIGNvbXBpbGVkCgkgIGV4ZWN1dGFibGUgY2FuIGJlIHVzZWQgZS5nLiBmb3IgZ2V0dGluZyBzdHJpbmdzIG91dCBvZiBpdC4KCgkgIEFsZXgKCjIwMDctMDUtMjQgMTE6MjcgIGFsZXgKCgkqIFNvdXJjZS9jbUJvb3RzdHJhcENvbW1hbmRzLmN4eCwgU291cmNlL2NtQ29yZVRyeUNvbXBpbGUuY3h4LAoJICBTb3VyY2UvY21Db3JlVHJ5Q29tcGlsZS5oLCBTb3VyY2UvY21UcnlDb21waWxlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVRyeUNvbXBpbGVDb21tYW5kLmgsIFNvdXJjZS9jbVRyeVJ1bkNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21UcnlSdW5Db21tYW5kLmgsIFRlc3RzL1RyeUNvbXBpbGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1RyeUNvbXBpbGUvZXhpdF9zdWNjZXNzLmMsCgkgIFRlc3RzL1RyeUNvbXBpbGUvZXhpdF93aXRoX2Vycm9yLmM6CgkgIEVOSDogYWRkIHR3byBzaW1wbGUgdGVzdHMgZm9yIFRSWV9SVU4oKSBTVFlMRTogY3JlYXRlIGEgbmV3IGJhc2UKCSAgY2xhc3MgY21Db3JlVHJ5Q29tcGlsZSwgZnJvbSB3aGljaCBjbVRyeUNvbXBpbGVDb21tYW5kIGFuZAoJICBjbVRyeVJ1bkNvbW1hbmQgYXJlIGRlcml2ZWQsIHNvIHRoZXJlIGFyZSBubyBwdWJsaWMgc3RhdGljCgkgIGZ1bmN0aW9ucyB3aXRoIGxvdHMgb2YgYXJndW1lbnRzIGFueW1vcmUKCgkgIEFsZXgKCjIwMDctMDUtMjQgMDk6MzUgIGFsZXgKCgkqIE1vZHVsZXMvQ01ha2VDQ29tcGlsZXJJZC5jOgoJICBFTkg6IGFkZCBjb21waWxlciBpZCBmb3Igc2RjYwoKCSAgQWxleAoKMjAwNy0wNS0yNCAwODo1NiAgYWxleAoKCSogU291cmNlLzogY21UcnlDb21waWxlQ29tbWFuZC5jeHgsIGNtVHJ5Q29tcGlsZUNvbW1hbmQuaCwKCSAgY21UcnlSdW5Db21tYW5kLmN4eDoKCSAgRU5IOiBtb3ZlIG91dHB1dCBmaWxlIHNlYXJjaCB0byBjbVRyeUNvbXBpbGVDb21tYW5kLmN4eCwgc28gaXQKCSAgY2FuIGJlIHVzZWQgdGhlcmUgdG9vLi4uIG1hbnkgcHVibGljIHN0YXRpYyBmdW5jdGlvbnMgd2l0aCBsb3RzCgkgIG9mIGFyZ3VtZW50cy4uLiA6LS8KCgkgIEFsZXgKCjIwMDctMDUtMjQgMDg6NDMgIGFsZXgKCgkqIFNvdXJjZS86IGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwgY21UYXJnZXQuY3h4OgoJICBCVUc6IGRvbid0IHVzZSBub24taW1wb3J0ZWQgdGFyZ2V0IHdoZW4gY3Jvc3MgY29tcGlsaW5nIGFzCgkgIGNvbW1hbmRzIGluIGN1c3RvbSBjb21tYW5kcyBTVFlMRTogcmVtb3ZlIG5vdyBpbnZhbGlkIGNvbW1lbnRzLAoJICB1c2UgdGhpcy0+CgoJICBBbGV4CgoyMDA3LTA1LTI0IDA4OjMzICBhbGV4CgoJKiBNb2R1bGVzLzogQ01ha2VDQ29tcGlsZXJJZC5jLCBDTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgVGVzdEJpZ0VuZGlhbi5jbWFrZToKCSAgRU5IOiBhZGQgY29tcGlsZXIgaWQgZm9yIElBUiBjb21waWxlciAoaHR0cDovL3d3dy5pYXIuY29tLykgRU5IOgoJICBkb24ndCBydW4gZW5kaWFuIHRlc3QgYWdhaW4gaWYgdGhlIHZhcmlhYmxlIGlzIGFscmVhZHkgc2V0CgoJICBBbGV4CgoyMDA3LTA1LTI0IDA4OjE4ICBhbGV4CgoJKiBTb3VyY2UvY21MaXN0Q29tbWFuZC5oOgoJICBTVFlMRTogdXNlICJpdGVtcyIgaW5zdGVhZCBvZCAiaXRlbSIKCgkgIEFsZXgKCjIwMDctMDUtMjQgMDU6MjYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNS0yMyAxODoyMiAga2luZwoKCSogU291cmNlLzogY21Mb2NhbEdlbmVyYXRvci5jeHg6IEVOSDogUmVtb3ZlZCB1bnVzZWQgY29kZSBub3cgdGhhdAoJICBJTlNUQUxMX0ZJTEVTIGFuZCBJTlNUQUxMX1BST0dSQU1TIGFyZSBub3QgdGFyZ2V0cy4KCjIwMDctMDUtMjMgMTc6NTggIGtpbmcKCgkqIFRlc3RzL0J1aWxkRGVwZW5kcy9DTWFrZUxpc3RzLnR4dDogQlVHOiBSZXBvcnQgcHJvcGVyIGVycm9yCgkgIG1lc3NhZ2Ugd2hlbiBwcm9qZWN0IGRvZXMgbm90IGJ1aWxkIHRoZSBmaXJzdCB0aW1lLiAgQWxzbyBhZGRlZAoJICBoYWNrIHRvIHJlYnVpbGQgc3VicHJvamVjdCBzZXZlcmFsIHRpbWVzIGZvciBYY29kZS4gIFRoZQoJICBnZW5lcmF0b3Igc2hvdWxkIGJlIGZpeGVkIGFuZCB0aGUgaGFjayByZW1vdmVkLgoKMjAwNy0wNS0yMyAxNzoyMSAga2luZwoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBCVUc6IE5lZWQgdG8gdXNlCgkgIEdldFJlYWxEZXBlbmRlbmN5IGZvciBjdXN0b20gY29tbWFuZCBmaWxlLWxldmVsIGRlcGVuZGVuY2llcy4KCjIwMDctMDUtMjMgMTc6MDEgIGtpbmcKCgkqIFRlc3RzL0J1aWxkRGVwZW5kcy9Qcm9qZWN0L0NNYWtlTGlzdHMudHh0OiBFTkg6IEV4ZWN1dGFibGUgYmFyCgkgIHNob3VsZCByZWJ1aWxkIHdoZW4gaXRzIGdlbmVyYXRlZCBoZWFkZXIgY2hhbmdlcy4gIEl0IGRvZXMgbm90CgkgIG5lZWQgdG8gbGluayB0byB0aGUgZm9vIGxpYnJhcnkgYW55bW9yZS4KCjIwMDctMDUtMjMgMTU6NDAgIGtpbmcKCgkqIFNvdXJjZS86IGNtRXhwb3J0TGlicmFyeURlcGVuZGVuY2llcy5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwKCSAgY21JbnN0YWxsRmlsZXNDb21tYW5kLmN4eCwgY21JbnN0YWxsRmlsZXNDb21tYW5kLmgsCgkgIGNtSW5zdGFsbFByb2dyYW1zQ29tbWFuZC5jeHgsIGNtSW5zdGFsbFByb2dyYW1zQ29tbWFuZC5oLAoJICBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsIGNtTWFrZWZpbGUuY3h4LCBjbVRhcmdldC5jeHg6CgkgIEVOSDogRml4ZWQgSU5TVEFMTF9GSUxFUyBhbmQgSU5TVEFMTF9QUk9HUkFNUyBjb21tYW5kcyB0byBub3QKCSAgY3JlYXRlIHRhcmdldHMuICBObyB0YXJnZXRzIG9mIHR5cGUgY21UYXJnZXQ6OklOU1RBTExfRklMRVMgb3IKCSAgY21UYXJnZXQ6OklOU1RBTExfUFJPR1JBTVMgYXJlIGNyZWF0ZWQsIHNvIHdlIGRvIG5vdCBuZWVkIHRvCgkgIGNoZWNrIGZvciB0aGVtIGV2ZXJ5d2hlcmUgYW55bW9yZS4KCjIwMDctMDUtMjMgMTM6MzAgIGtpbmcKCgkqIFRlc3RzL0J1aWxkRGVwZW5kcy9Qcm9qZWN0L2dlbmVyYXRvci5jeHg6IEJVRzogVGFyZ2V0IG5hbWVzIGluCgkgIHRoZSBDT01NQU5EIHBhcnQgb2YgYSBjdXN0b20gY29tbWFuZCBzaG91bGQgbm90IGNyZWF0ZSBhCgkgIGZpbGUtbGV2ZWwgZGVwZW5kZW5jeSB0aGF0IGZvcmNlcyB0aGUgY29tbWFuZCB0byByZXJ1biB3aGVuIHRoZQoJICBleGVjdXRhYmxlIHRhcmdldCByZWJ1aWxkcywgYnV0IHRoZSB0YXJnZXQtbGV2ZWwgZGVwZW5kZW5jeQoJICBzaG91bGQgc3RpbGwgYmUgY3JlYXRlZC4gIFRhcmdldCBuYW1lcyBpbiBhIERFUEVORFMgc2hvdWxkIGRvCgkgIGJvdGggYSB0YXJnZXQtbGV2ZWwgYW5kIGZpbGUtbGV2ZWwgZGVwZW5kZW5jeS4gIFVwZGF0ZWQgdGhlCgkgIEJ1aWxkRGVwZW5kcyB0ZXN0IHRvIGNoZWNrIHRoYXQgdGhpcyB3b3Jrcy4KCjIwMDctMDUtMjMgMTM6MjcgIGtpbmcKCgkqIFNvdXJjZS9jbUFkZEN1c3RvbUNvbW1hbmRDb21tYW5kLmgsIFNvdXJjZS9jbVRhcmdldC5jeHgsCgkgIFNvdXJjZS9jbVRhcmdldC5oLCBUZXN0cy9CdWlsZERlcGVuZHMvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0J1aWxkRGVwZW5kcy9Qcm9qZWN0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9CdWlsZERlcGVuZHMvUHJvamVjdC9iYXIuY3h4OiBCVUc6IFRhcmdldCBuYW1lcyBpbiB0aGUKCSAgQ09NTUFORCBwYXJ0IG9mIGEgY3VzdG9tIGNvbW1hbmQgc2hvdWxkIG5vdCBjcmVhdGUgYSBmaWxlLWxldmVsCgkgIGRlcGVuZGVuY3kgdGhhdCBmb3JjZXMgdGhlIGNvbW1hbmQgdG8gcmVydW4gd2hlbiB0aGUgZXhlY3V0YWJsZQoJICB0YXJnZXQgcmVidWlsZHMsIGJ1dCB0aGUgdGFyZ2V0LWxldmVsIGRlcGVuZGVuY3kgc2hvdWxkIHN0aWxsIGJlCgkgIGNyZWF0ZWQuICBUYXJnZXQgbmFtZXMgaW4gYSBERVBFTkRTIHNob3VsZCBkbyBib3RoIGEgdGFyZ2V0LWxldmVsCgkgIGFuZCBmaWxlLWxldmVsIGRlcGVuZGVuY3kuICBVcGRhdGVkIHRoZSBCdWlsZERlcGVuZHMgdGVzdCB0bwoJICBjaGVjayB0aGF0IHRoaXMgd29ya3MuCgoyMDA3LTA1LTIzIDEyOjA1ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBCVUc6IEFkZCAuLyB0byBjdXN0b20KCSAgY29tbWFuZCBleGVjdXRhYmxlcyBpbiB0aGUgdG9wIG9mIHRoZSBidWlsZCB0cmVlIGV2ZW4gd2hlbiB0aGUKCSAgcGF0aCBpcyBnZW5lcmF0ZWQgYnkgdGFyZ2V0IG5hbWUgcmVwbGFjZW1lbnQuCgoyMDA3LTA1LTIzIDExOjAwICBraW5nCgoJKiBNb2R1bGVzLzogQ01ha2VDQ29tcGlsZXJJZC5jLCBDTWFrZUNYWENvbXBpbGVySWQuY3BwLAoJICBDTWFrZVBsYXRmb3JtSWQuaDogRU5IOiBVbmlmeSBkZXNpZ24gb2YgQ01ha2VDQ29tcGlsZXJJZC5jLAoJICBDTWFrZUNYWENvbXBpbGVySWQuY3BwLCBhbmQgQ01ha2VQbGF0Zm9ybUlkLmguICBCVUc6IERvIG5vdAoJICB2aW9sYXRlIHN5c3RlbS1yZXNlcnZlZCBzeW1ib2wgbmFtZXNwYWNlIF9bQS1aXS4KCjIwMDctMDUtMjMgMDg6MjQgIGFsZXgKCgkqIFNvdXJjZS9jbVRhcmdldC5jeHg6CgkgIENPTVA6IGRvbid0IHVzZXIgc3RyaW5nOjpjbGVhcigpLCBmaXggd2FybmluZ3MgYWJvdXQgdW51c2VkCgkgIHZhcmlhYmxlcwoKCSAgQWxleAoKMjAwNy0wNS0yMiAxNzoxMCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA1LTIyIDEyOjQ4ICBhbGV4CgoJKiBNb2R1bGVzLzogQ01ha2VDQ29tcGlsZXJJZC5jLCBDTWFrZURldGVybWluZVN5c3RlbS5jbWFrZSwKCSAgQ01ha2VQbGF0Zm9ybUlkLmgsIENNYWtlU3lzdGVtV2l0aFRvb2xjaGFpbkZpbGUuY21ha2UuaW46CgkgIEJVRzogbm93IHRoZSB0b29sY2hhaW4gZmlsZSBpcyBjb25maWd1cmVkIGludG8gdGhlIGJ1aWxkdHJlZSwKCSAgb3RoZXJ3aXNlIGUuZy4gIENNQUtFX1NPVVJDRV9ESVIgY2FuJ3QgYmUgdXNlZCB0aGVyZSBFTkg6IG1vZGlmeQoJICBDTWFrZUNDb21waWxlcklkLmMgYW5kIC5oIHNvIHRoYXQgc2RjYyBjYW4gY29tcGlsZSB0aGVtLiBBcyB0aGV5CgkgIHdlcmUgdGhlIHByZXByb2Nlc3NvciBwcm9kdWNlZDoKCgkgICA5ICJ0ZXN0LmMiCgkgIHN0YXRpYyBjaGFyIGNvbnN0IGluZm9fY29tcGlsZXJbXSA9ICJJTkZPOmNvbXBpbGVyWyIgIyA0MAoJICAidGVzdC5jIiAiIgoKCSAgIl0iOwoKCSAgYW5kIHRoZSBtaXhpbmcgb2YgdGhlIHByZXByb2Nlc3NpbmcgZGlyZWN0aXZlcyBhbmQgdGhlIHN0cmluZwoJICBjb25zdGFudHMgZGlkbid0IHdvcmsuCgoJICBBbGV4CgoyMDA3LTA1LTIyIDExOjA1ICBhbGV4CgoJKiBTb3VyY2UvY21JbmNsdWRlRXh0ZXJuYWxNU1Byb2plY3RDb21tYW5kLmN4eDogQ09NUDogY29tcGlsZSBmaXgKCgkgIEFsZXgKCjIwMDctMDUtMjIgMTA6NDIgIGFsZXgKCgkqIFNvdXJjZS86IGNtQWRkRXhlY3V0YWJsZUNvbW1hbmQuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDoKCSAgQ09NUDogY29tcGlsZSBmaXggYW5kIHJlbW92ZSB3YXJuaW5nCgoJICBBbGV4CgoyMDA3LTA1LTIyIDEwOjI0ICBhbGV4CgoJKiBTb3VyY2UvOiBjbUFkZERlcGVuZGVuY2llc0NvbW1hbmQuY3h4LAoJICBjbUFkZEV4ZWN1dGFibGVDb21tYW5kLmN4eCwgY21HZXRUYXJnZXRQcm9wZXJ0eUNvbW1hbmQuY3h4LAoJICBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzhHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5jeHgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBjbUluY2x1ZGVFeHRlcm5hbE1TUHJvamVjdENvbW1hbmQuY3h4LCBjbUluc3RhbGxDb21tYW5kLmN4eCwKCSAgY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LCBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oLAoJICBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwgY21TZXRUYXJnZXRQcm9wZXJ0aWVzQ29tbWFuZC5jeHgsCgkgIGNtVGFyZ2V0LmN4eCwgY21UYXJnZXQuaDoKCSAgRU5IOiBhZGQgdGhlIElNUE9SVCBrZXl3b3JkIHRvIEFERF9FWEVDVVRBQkxFKCksIHdoaWNoIGdlbmVyYXRlcwoJICBhbiAiaW1wb3J0ZWQiIGV4ZWN1dGFibGUgdGFyZ2V0LiBUaGlzIGNhbiB0aGVuIGJlIHVzZWQgZS5nLiB3aXRoCgkgIEFERF9DVVNUT01fQ09NTUFORCgpIHRvIGdlbmVyYXRlIHN0dWZmLiBJdCBhZGRzIGEgc2Vjb25kCgkgIGNvbnRhaW5lciBmb3IgImltcG9ydGVkIiB0YXJnZXRzLCBhbmQgRmluZFRhcmdldCgpIG5vdyB0YWtlcyBhbgoJICBhZGRpdGlvbmFsIGFyZ3VtZW50IGJvb2wgdXNlSW1wb3J0ZWRUYXJnZXRzIHRvIHNwZWNpZnkgd2hldGhlcgoJICB5b3UgYWxzbyB3YW50IHRvIHNlYXJjaCBpbiB0aGUgaW1wb3J0ZWQgdGFyZ2V0cyBvciBvbmx5IGluIHRoZQoJICAibm9ybWFsIiB0YXJnZXRzLgoKCSAgQWxleAoKMjAwNy0wNS0yMiAwOToxNSAgYWxleAoKCSogTW9kdWxlcy86IENNYWtlR2VuZXJpY1N5c3RlbS5jbWFrZSwgUGxhdGZvcm0vZ2NjLmNtYWtlOgoJICBTVFlMRTogbW92ZSB0aGUgdHdvIENNQUtFX1NIQVJFRF9MSUJSQVJZQy9DWFhfRkxBR1MgZm9yIGdjYyBmcm9tCgkgIENNYWtlR2VuZXJpY1N5c3RlbS5jbWFrZSB0byBnY2MuY21ha2UKCgkgIEFsZXgKCjIwMDctMDUtMjIgMDQ6MTQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNS0yMSAxMToyNiAgYWxleAoKCSogTW9kdWxlcy86IENNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLAoJICBDTWFrZURldGVybWluZVN5c3RlbS5jbWFrZSwgQ01ha2VMaXN0cy50eHQsIENNYWtlU3lzdGVtLmNtYWtlLmluLAoJICBDTWFrZVN5c3RlbVdpdGhUb29sY2hhaW5GaWxlLmNtYWtlLmluOgoJICBTVFlMRTogdXNlIGEgc2VwYXJhdGUgc291cmNlIGZpbGUgZm9yIGdlbmVyYXRpbmcKCSAgQ01ha2VTeXN0ZW0uY21ha2UgaWYgQ01BS0VfVE9PTENIQUlOX0ZJTEUgaXMgdXNlZAoKCSAgQWxleAoKMjAwNy0wNS0yMSAxMDo1OCAgYWxleAoKCSogTW9kdWxlcy86IENNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLAoJICBDTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlOgoJICBCVUc6IGRvbid0IGZhaWwgaWYgYSBjb21waWxlciBpcyBnaXZlbiBpbiBDTUFLRV9DL0NYWF9DT01QSUxFUgoJICBidXQgaXQgY2FuJ3QgYmUgZm91bmQgaW4gdGhlIHBhdGgKCgkgIEFsZXgKCjIwMDctMDUtMjEgMTA6MTUgIGFsZXgKCgkqIE1vZHVsZXMvQ01ha2VGaW5kQmluVXRpbHMuY21ha2UsIFRlc3RzL0NNYWtlTGlzdHMudHh0OgoJICBCVUc6IGFsd2F5cyBzZWFyY2ggZm9yIGFyLCByYW5saWIsIGV0Yy4gZXhjZXB0IHVuZGVyIE1TVkMgLT4gdGhpcwoJICBzaG91bGQgZml4IHRoZSBtaW5ndyBmb3J0cmFuIHRlc3QgLWFsc28gZ2VuZXJhdGUgdGhlIGZvcnRyYW4gdGVzdAoJICB3aXRoIHRoZSBrZGV2ZWxvcCBnZW5lcmF0b3IKCgkgIEFsZXgKCjIwMDctMDUtMjEgMDU6MDMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNS0yMCAxMDoxMSAga2luZwoKCSogVGVzdHMvQ01ha2VMaXN0cy50eHQ6IEJVRzogRml4IG5hbWUgb2YgcHJvamVjdCB0byBidWlsZCBmb3IKCSAgTG9hZENvbW1hbmRPbmVDb25maWcgbm93IHRoYXQgaXQgaGFzIGJlZW4gcmVuYW1lZCBmb3IgbmV3IG5hbWUgb2YKCSAgTG9hZENvbW1hbmQgdGVzdC4KCjIwMDctMDUtMjAgMTA6MDggIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVTeXN0ZW0uY21ha2U6IEJVRzogVXNlIEBPTkxZIHN1YnN0aXR1dGlvbgoJICB0byBjb25maWd1cmUgQ01ha2VTeXN0ZW0uY21ha2UuCgoyMDA3LTA1LTIwIDAyOjM5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDUtMTkgMTA6MTUgIGtpbmcKCgkqIFRlc3RzLzogTG9hZENvbW1hbmQvQ01ha2VMaXN0cy50eHQsCgkgIExvYWRDb21tYW5kT25lQ29uZmlnL0NNYWtlTGlzdHMudHh0OiBCVUc6IEZpbmlzaCBmaXhpbmcgdGVzdCBmb3IKCSAgbmV3IG5hbWUuCgoyMDA3LTA1LTE5IDEwOjExICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvS1dTdHlsZS9DTWFrZS5rd3MueG1sLmluOiBFTkg6IHRyeSB0byB0b25lIGRvd24ga3dzdHlsZQoKMjAwNy0wNS0xOSAxMDoxMCAgaG9mZm1hbgoKCSogVGVzdHMvOiBMb2FkQ29tbWFuZC9DTWFrZUxpc3RzLnR4dCwKCSAgTG9hZENvbW1hbmRPbmVDb25maWcvQ01ha2VMaXN0cy50eHQ6IEJVRzogZml4IHByb2plY3QgbmFtZSBmb3IKCSAgdGVzdAoKMjAwNy0wNS0xOSAwOTo1NSAga2luZwoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4OiBDT01QOiBGaXggZm9yIGJvcmxhbmQgbm93IHRoYXQKCSAgY29tcG9uZW50cyBsaXN0IGNoZWNrIGlzIGNvbnN0LgoKMjAwNy0wNS0xOCAyMDo1MSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA1LTE4IDE1OjExICBtYXJ0aW5rCgoJKiBUZXN0cy86IENNYWtlTGlzdHMudHh0LCBFeHRlcm5hbE9CSi9DTWFrZUxpc3RzLnR4dCwKCSAgTGlua0xpbmUvQ01ha2VMaXN0cy50eHQsIE1hY3JvVGVzdC9DTWFrZUxpc3RzLnR4dDogRU5IOiBzb21lCgkgIGNsZWFudXAsIGNvbmRlbnNpbmcgc29tZSB0ZXN0cywgcmVtb3ZpbmcgYXJndW1lbnRzIHRoYXQgd2VyZSBub3QKCSAgbmVlZGVkIGJ1dCByYXRoZXIgd2VyZSBjdXQgYW5kIHBhc3RlIGNvcGllcyBldGMKCjIwMDctMDUtMTggMTQ6NDEgIGFsZXgKCgkqIFNvdXJjZS9DUGFjay86IGJpbGxzLWNvbW1lbnRzLnR4dCwgY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4OgoJICBFTkg6IDJuZCB0cnkgdG8gbW92ZSBzdHJpcHBpbmcgb3V0IG9mIGNwYWNrIGFuZCB0byBpbnN0YWxsIHRpbWUsCgkgIG5vdyBpZiBDUEFDS19TVFJJUF9GSUxFUyBpcyB0cnVlIChvciBjb250YWlucyBhIGxpc3Qgb2YgZmlsZXMpLAoJICBldmVyeXRoaW5nIHdpbGwgYmUgc3RyaXBwZWQsIGlmIGl0J3MgZW1wdHkgb3IgZmFsc2UgdGhleSB3b24ndCBiZQoJICBzdHJpcHBlZAoKCSAgQWxleAoKMjAwNy0wNS0xOCAxMzo0MyAgYWxleAoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OgoJICBFTkg6IGFkZCBpbnN0YWxsL3N0cmlwIHRhcmdldCBmb3IgbWFrZWZpbGUgZ2VuZXJhdG9ycyBpZiBzdHJpcAoJICB3YXMgZm91bmQKCgkgIEFsZXgKCjIwMDctMDUtMTggMTE6NTcgIGFsZXgKCgkqIE1vZHVsZXMvUGxhdGZvcm0vRGFyd2luLmNtYWtlLAoJICBTb3VyY2UvY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eDogRU5IOiBtb3ZlIGhhY2sgdG8gZml4ICJuZXcKCSAgY21ha2Ugb24gb2xkIGJ1aWxkIHRyZWUgb24gT1NYIGRvZXNuJ3QgaGF2ZQoJICBDTUFLRV9JTlNUQUxMX05BTUVfVE9PTCBpbiB0aGUgY2FjaGUiIGZyb20KCSAgY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eCB0byBEYXJ3aW4uY21ha2UKCgkgIEFsZXgKCjIwMDctMDUtMTggMTE6NDUgIGFsZXgKCgkqIFNvdXJjZS9DUGFjay9jcGFjay5jeHg6CgkgIENPTVA6IGZvcmNlIGEgcmVjb21waWxlIG9uIFZTNzEKCgkgIEFsZXgKCjIwMDctMDUtMTggMTE6MzYgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vVW5peFBhdGhzLmNtYWtlLCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6CgkgIEVOSDogVXNlIENNQUtFX1BMQVRGT1JNX0lNUExJQ0lUX0xJTktfRElSRUNUT1JJRVMgZnJvbSBwbGF0Zm9ybQoJICBmaWxlcyB0byBibG9jayBsaW5rIGRpcmVjdG9yaWVzLgoKMjAwNy0wNS0xOCAxMDo1NSAgYWxleAoKCSogTW9kdWxlcy86IENNYWtlRmluZEJpblV0aWxzLmNtYWtlLCBQbGF0Zm9ybS9jbC5jbWFrZTogQ09NUDogaWYgYQoJICBuZXcgY21ha2UgcnVucyBvbiBhbiBvbGQgYnVpbGQgdHJlZSwgc2V0IENNQUtFX0xJTktFUiB0byBsaW5rIHRvCgkgIG1ha2UgaXQgbGluawoKCSAgQWxleAoKMjAwNy0wNS0xOCAxMDozMiAgYWxleAoKCSogTW9kdWxlcy9QbGF0Zm9ybS9jbC5jbWFrZSwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBDT01QOiBmaXgKCSAgbGluayBydWxlcyB3aXRoIG5tYWtlLCB0aGUgbGlua2VyIGNvbW1hbmQgaGFzIHRvIGJlIGNvbnZlcnRlZCB0bwoJICBzaG9ydHBhdGggZm9ybSBmb3Igbm1ha2UKCgkgIEFsZXgKCjIwMDctMDUtMTggMDk6MzMgIGtpbmcKCgkqIFRlc3RzL0N1c3RvbUNvbW1hbmQvQ01ha2VMaXN0cy50eHQ6IEJVRzogUmVwbGFjZSAid2l0aCBzcGFjZSIgaW4KCSAgY3VzdG9tIGNvbW1hbmQgYXJndW1lbnQgdGVzdHMgd2l0aCAidyBzIiB0byBzdGlsbCBoYXZlIHdoaXRlc3BhY2UKCSAgYnV0IGJlIHNob3J0ZXIuICBUaGUgdGVzdCB3YXMgZmFpbGluZyBiZWNhdXNlIHRoZSBjdXN0b20gY29tbWFuZAoJICBsaW5lIGxlbmd0aCB3YXMgc2ltcGx5IHRvbyBsb25nIGZvciB0aGUgVlMgSURFLgoKMjAwNy0wNS0xOCAwOTozMCAgaG9mZm1hbgoKCSogU291cmNlL2NtVHJ5Q29tcGlsZUNvbW1hbmQuaDogU1RZTEU6IGZpeCBkb2N1bWVudGF0aW9uIGZvcgoJICBjb21tYW5kCgoyMDA3LTA1LTE4IDA5OjE4ICBraW5nCgoJKiBUZXN0cy9DdXN0b21Db21tYW5kLzogQ01ha2VMaXN0cy50eHQsIGNoZWNrX2NvbW1hbmRfbGluZS5jLmluOgoJICBFTkg6IEFkZGVkIHF1aWNrIG1lYW5zIHRvIHR1cm4gb24gdmVyYm9zZSBvdXRwdXQgZm9yIGRlYnVnZ2luZwoJICB0aGlzIHRlc3QuCgoyMDA3LTA1LTE4IDA5OjE3ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtLmM6IEJVRzogQWRkZWQgY2Fycm90ICheKSB0byBjaGFyYWN0ZXJzIHRoYXQKCSAgbmVlZCBxdW90aW5nLiAgVGhlIHNvbGFyaXMgc2hlbGwgbmVlZHMgaXQuCgoyMDA3LTA1LTE4IDA5OjE2ICBhbGV4CgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lRm9ydHJhbkNvbXBpbGVyLmNtYWtlOiBTVFlMRTogZn9kf2NvcnJlY3QKCSAgY29tbWVudHMgYWJvdXQgRkMvQ0MKCgkgIEFsZXgKCjIwMDctMDUtMTggMDk6MDggIGtpbmcKCgkqIE1vZHVsZXMvOiBDTWFrZURldGVybWluZUNvbXBpbGVySWQuY21ha2UsCgkgIENNYWtlRGV0ZXJtaW5lRm9ydHJhbkNvbXBpbGVyLmNtYWtlOiBCVUc6IElmIHRoZSBGb3J0cmFuCgkgIENvbXBpbGVySWQgc291cmNlIGZhaWxzIHRvIGNvbXBpbGUgaXQgc2hvdWxkIG5vdCBiZSBhIGZhaWx1cmUuCgkgIEl0IGlzIG9ubHkgZXhwZWN0ZWQgdG8gd29yayBmb3IgRm9ydHJhbjkwIGNvbXBpbGVycy4KCjIwMDctMDUtMTggMDg6NDkgIGFsZXgKCgkqIFNvdXJjZS86IGNtRmlsZUNvbW1hbmQuY3h4LCBjbUZpbmRCYXNlLmN4eCwgY21GaW5kQmFzZS5oLAoJICBjbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuY3h4LCBjbVRyeVJ1bkNvbW1hbmQuY3h4OgoJICBTVFlMRTogZml4IGxpbmUgbGVuZ3RocwoKCSAgQWxleAoKMjAwNy0wNS0xNyAxNzo0MyAga2luZwoKCSogU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHg6IEJVRzogTmVlZCB0byB1c2UKCSAgR2V0U2FmZURlZmluaXRpb24gd2hlbiBhc3NpZ25pbmcgdG8gYSBzdHJpbmcuCgoyMDA3LTA1LTE3IDE3OjQwICBraW5nCgoJKiBTb3VyY2UvOiBjbUlmQ29tbWFuZC5jeHgsIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsCgkgIGNtVmFyaWFibGVXYXRjaC5oOiBCVUc6IEFsbCB2YXJpYWJsZSBhY2Nlc3NlcyBzaG91bGQgcHJvZHVjZQoJICB3YXRjaCBjYWxsYmFja3MsIGluY2x1ZGluZyBJRihERUZJTkVEIDx2YXI+KSBvbmVzLiAgSW5zdGVhZCB3ZQoJICBkZWZpbmUgYSBuZXcgYWNjZXNzIHR5cGUgZm9yIElGKERFRklORUQpIHNvIHRoYXQgdGhlIGVycm9yIGRvZXMKCSAgbm90IHNob3cgdXAgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgdmFyaWFibGVzLgoKMjAwNy0wNS0xNyAxNzoyMSAgYWxleAoKCSogU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHg6IFNUWUxFOiBmaXggaW5kZW50YXRpb24gRU5IOgoJICBhZGQgaGFjayB0byBtYWtlIG5ldyBjbWFrZSB3b3JrIHdpdGggb2xkZXIgZXhpc3RpbmcgY21ha2UgYnVpbGQKCSAgdHJlZXMKCgkgIEFsZXgKCjIwMDctMDUtMTcgMTY6NTAgIGFsZXgKCgkqIFNvdXJjZS9jbUdsb2JhbEtkZXZlbG9wR2VuZXJhdG9yLmN4eDoKCSAgU1RZTEU6IHVzZSBicmFjZXMKCgkgIEFsZXgKCjIwMDctMDUtMTcgMTY6NDkgIGFsZXgKCgkqIE1vZHVsZXMvQ01ha2VGaW5kQmluVXRpbHMuY21ha2U6IEVOSDogZmFpbCBpZiBpbnN0YWxsX25hbWVfdG9vbAoJICB3YXNuJ3QgZm91bmQKCgkgIEFsZXgKCjIwMDctMDUtMTcgMTU6MTcgIGtpbmcKCgkqIE1vZHVsZXMvQ2hlY2tUeXBlU2l6ZS5jbWFrZSwKCSAgVXRpbGl0aWVzL2NtY3VybC9DTWFrZS9DaGVja1R5cGVTaXplLmNtYWtlOiBFTkg6IFVzZSBJRihOT1QKCSAgREVGSU5FRCkgY2hlY2sgdG8gc2hvcnQtY2lyY3VpdCBzaXplIHRlc3QuCgoyMDA3LTA1LTE3IDE1OjEyICBraW5nCgoJKiBTb3VyY2UvOiBjbUlmQ29tbWFuZC5jeHgsIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmg6IEJVRzogRG8KCSAgbm90IGNvbXBsYWluIGFib3V0IG1pc3Npbmcgd2F0Y2hlZCB2YXJpYWJsZXMgd2hlbiB0aGV5IGFyZQoJICBhY2Nlc3NkIHdpdGggSUYoREVGSU5FRCBWQVIpLgoKMjAwNy0wNS0xNyAxNDo0NyAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBDT01QOiBHQ0MgMi45NSBkb2VzIG5vdCBoYXZlCgkgIHN0ZDo6c3RyaW5nOjpjbGVhcigpIG1ldGhvZC4KCjIwMDctMDUtMTcgMTQ6NDEgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLCBTb3VyY2UvY21DVGVzdC5jeHgsCgkgIFNvdXJjZS9jbUlmQ29tbWFuZC5oLCBTb3VyY2UvY21MaXN0RmlsZUNhY2hlLmgsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja1RhckNvbXByZXNzR2VuZXJhdG9yLmN4eDogRU5IOiBtZXJnZSBpbgoJICBjaGFuZ2VzIGZyb20gbWFpbiB0cmVlCgoyMDA3LTA1LTE3IDE0OjMyICBraW5nCgoJKiBUZXN0cy9DdXN0b21Db21tYW5kL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZCB0ZXN0aW5nIG9mICogYW5kIC8KCSAgY2hhcmFjdGVyIGFyZ3VtZW50cyBleGNlcHQgb24gTWluR1cuCgoyMDA3LTA1LTE3IDE0OjAzICBraW5nCgoJKiBUZXN0cy9DdXN0b21Db21tYW5kL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZGVkIHRlc3QgZm9yIGN1c3RvbQoJICBjb21tYW5kIGxpbmVzIHdpdGggc3BlY2lhbCBzaW5nbGUtY2hhcmFjdGVyIGFyZ3VtZW50cy4KCjIwMDctMDUtMTcgMTQ6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW0uYzogQlVHOiBTb21lIHNpbmdsZS1jaGFyYWN0ZXIgYXJndW1lbnRzIG5lZWQKCSAgcXVvdGluZyBvbiB3aW5kb3dzLgoKMjAwNy0wNS0xNyAxMzoyOCAga2luZwoKCSogVGVzdHMvQ3VzdG9tQ29tbWFuZC9DTWFrZUxpc3RzLnR4dDogQlVHOiBEaXNhYmxlIHRlc3Qgb2YgYW5nbGUKCSAgYnJhY2tldCBlc2NhcGVzIHVudGlsIGl0IHdvcmtzIGV2ZXJ5d2hlcmUuCgoyMDA3LTA1LTE3IDEzOjIwICBhbGV4CgoJKiBNb2R1bGVzL0NNYWtlQ0NvbXBpbGVyLmNtYWtlLmluLCBNb2R1bGVzL0NNYWtlQ0luZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlQ1hYQ29tcGlsZXIuY21ha2UuaW4sCgkgIE1vZHVsZXMvQ01ha2VDWFhJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lRm9ydHJhbkNvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lU3lzdGVtLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRmluZEJpblV0aWxzLmNtYWtlLCBNb2R1bGVzL0NNYWtlTGlzdHMudHh0LAoJICBNb2R1bGVzL0NNYWtlU3lzdGVtLmNtYWtlLmluLAoJICBNb2R1bGVzL0NNYWtlU3lzdGVtU3BlY2lmaWNJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVRlc3RDQ29tcGlsZXIuY21ha2UsIE1vZHVsZXMvQ1Rlc3QuY21ha2UsCgkgIE1vZHVsZXMvQ2hlY2tUeXBlU2l6ZS5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL2NsLmNtYWtlLCBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUZpbGVDb21tYW5kLmgsIFNvdXJjZS9jbUZpbmRCYXNlLmN4eCwKCSAgU291cmNlL2NtRmluZEJhc2UuaCwgU291cmNlL2NtSW5jbHVkZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21JbmNsdWRlQ29tbWFuZC5oLCBTb3VyY2UvY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5oLCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmgsIFNvdXJjZS9jbVRyeVJ1bkNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21VdGlsaXR5U291cmNlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVV0aWxpdHlTb3VyY2VDb21tYW5kLmgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmgsCgkgIFRlc3RzL0NNYWtlVGVzdHMvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NNYWtlVGVzdHMvRHVtbXlUb29sY2hhaW4uY21ha2UsCgkgIFRlc3RzL0NNYWtlVGVzdHMvRmluZEJhc2VUZXN0LmNtYWtlLmluLAoJICBUZXN0cy9DTWFrZVRlc3RzL0luY2x1ZGVUZXN0LmNtYWtlLmluLAoJICBUZXN0cy9DTWFrZVRlc3RzL1Rvb2xjaGFpblRlc3QuY21ha2UuaW4sCgkgIFRlc3RzL0NNYWtlVGVzdHMvaW5jbHVkZS9jbWFrZV9pX2RvX25vdF9leGlzdF9pbl90aGVfc3lzdGVtLmg6CgkgIEVOSDogbWVyZ2UgQ01ha2UtQ3Jvc3NDb21waWxlQmFzaWMgdG8gSEVBRCAtYWRkIGEgUkVTVUxUX1ZBUklBQkxFCgkgIHRvIElOQ0xVREUoKSAtYWRkIENNQUtFX1RPT0xDSEFJTl9GSUxFIGZvciBzcGVjaWZpeWluZyB5b3VyCgkgIChwb3RlbnRpYWxseSBjcm9zc2NvbXBpbGluZykgdG9vbGNoYWluIC1oYXZlIFRSWV9SVU4oKSBjb21wbGFpbgoJICBpZiB5b3UgdHJ5IHRvIHVzZSBpdCBpbiBjcm9zc2NvbXBpbGluZyBtb2RlICh3aGljaCB3ZXJlIGNvbXBpbGVkCgkgIGJ1dCBjYW5ub3QgcnVuIG9uIHRoaXMgc3lzdGVtKSAtdXNlIENNQUtFX0VYRUNVVEFCTEVfU1VGRklYIGluCgkgIFRSWV9SVU4oKSwgcHJvYmFibHkgVFJZX1JVTiB3b24ndCBiZSBhYmxlIHRvIHJ1biB0aGUgZXhlY3V0YWJsZXMKCSAgaWYgdGhleSBoYXZlIGEgZGlmZmVyZW50IHN1ZmZpeCBiZWNhdXNlIHRoZXkgYXJlIHByb2JhYmx5CgkgIGNyb3NzY29tcGlsZWQsIGJ1dCBuZXZlcnRoZWxlc3MgaXQgc2hvdWxkIGJlIGFibGUgdG8gZmluZCB0aGVtCgkgIC1tYWtlIHNldmVyYWwgY21ha2UgdmFyaWFibGVzIHByZXNldHRhYmxlIGJ5IHRoZSB1c2VyOgoJICBDTUFLRV9DL0NYWF9DT01QSUxFUiwgQ01BS0VfQy9DWFhfT1VUUFVUX0VYVEVOU0lPTiwKCSAgQ01BS0VfU1lTVEVNX05BTUUsIENNQUtFX1NZU1RFTV9JTkZPX0ZJTEUgLXN1cHBvcnQgcHJlZml4IGZvciBHTlUKCSAgdG9vbGNoYWlucyAoYXJtLWVsZi1nY2MsIGFybS1lbGYtYXIsIGFybS1lbGYtc3RyaXAgZXRjLikgLW1vdmUKCSAgcmFubGliIG9uIE9TWCBmcm9tIHRoZSBmaWxlIGNvbW1hbmQgdG8gYSBjb21tYW5kIGluIGV4ZWN1dGVkIGluCgkgIGNtYWtlX2luc3RhbGwuY21ha2UgLWFkZCBzdXBwb3J0IGZvciBzdHJpcHBpbmcgZHVyaW5nIGluc3RhbGwgaW4KCSAgY21ha2VfaW5zdGFsbC5jbWFrZSAtc3BsaXQgb3V0IGNsLmNtYWtlIGZyb20gV2luZG93cy1jbC5jbWFrZSwKCSAgZmlyc3QgKHZlcnkgaW5jb21wbGV0ZSkgc3RlcCB0byBzdXBwb3J0IE1TIGNyb3NzY29tcGlsaW5nIHRvb2xzCgkgIC1yZW1vdmUgc3RkaW8uaCBmcm9tIHRoZSBzaW1wbGUgQyBwcm9ncmFtIHdoaWNoIGNoZWNrcyBpZiB0aGUKCSAgY29tcGlsZXIgd29ya3MsIHNpbmNlIHRoaXMgbWF5IG5vdCBleGlzdCBmb3Igc29tZSBlbWJlZGRlZAoJICBwbGF0Zm9ybXMgLWNyZWF0ZSBhIG5ldyBDTWFrZUZpbmRCaW5VdGlscy5jbWFrZSB3aGljaCBjb2xsZWN0cwoJICB0aGUgc2VhcmNoIGZybyBhciwgcmFubGliLCBzdHJpcCwgbGQsIGxpbmssIGluc3RhbGxfbmFtZV90b29sIGFuZAoJICBvdGhlciB0b29scyBsaWtlIHRoZXNlIC1hZGQgc3VwcG9ydCBmb3IgQ01BS0VfRklORF9ST09UX1BBVEggZm9yCgkgIGFsbCBGSU5EX1hYWCBjb21tYW5kcywgd2hpY2ggaXMgYSBsaXN0IG9mIGRpcmVjdG9yaWVzIHdoaWNoIHdpbGwKCSAgYmUgcHJlcGVuZGVkIHRvIGFsbCBzZWFyY2ggZGlyZWN0b3JpZXMsIHJpZ2h0IG5vdyBhcyBhIGNtYWtlCgkgIHZhcmlhYmxlLCB0dXJuaW5nIGl0IGludG8gYSBnbG9iYWwgY21ha2UgcHJvcGVydHkgbWF5IG5lZWQgc29tZQoJICBtb3JlIHdvcmsgLXJlbW92ZSBjbVRlc3RUZXN0SGFuZGxlcjo6VHJ5RXhlY3V0YWJsZSgpLCBpdCdzIHVudXNlZAoJICAtc3BsaXQgY21GaWxlQ29tbWFuZDo6SGFuZGxlSW5zdGFsbCgpIGludG8gc2xpZ2h0bHkgc21hbGxlcgoJICBmdW5jdGlvbnMKCgkgIEFsZXgKCjIwMDctMDUtMTcgMTE6MjcgIGtpbmcKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQlVHOiBGaXggRXhwYW5kTGlzdEFyZ3VtZW50IHdoZW4gdGhlCgkgIHN0cmluZyBlbmRzIGluIGEgYmFja3NsYXNoLgoKMjAwNy0wNS0xNyAxMToxOCAga2luZwoKCSogU291cmNlL2NtVGFyZ2V0LmN4eDogQlVHOiBBbiBlbXB0eSBjb25maWd1cmF0aW9uIG5hbWUgaXMKCSAgZXF1aXZhbGVudCB0byBubyBjb25maWd1cmF0aW9uLgoKMjAwNy0wNS0xNyAxMToxMiAgYWxleAoKCSogU291cmNlLzogY21GaWxlQ29tbWFuZC5oLCBjbUluY2x1ZGVDb21tYW5kLmN4eCwKCSAgY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eDogQ09NUDogbGVzcyB3YXJuaW5ncyB3aXRoIG1zdmM3CgoJICBBbGV4CgoyMDA3LTA1LTE3IDExOjA5ICBhbGV4CgoJKiBUZXN0cy9DTWFrZVRlc3RzLzogRmluZEJhc2VUZXN0LmNtYWtlLmluLCBUb29sY2hhaW5UZXN0LmNtYWtlLmluOgoJICBCVUc6IGNvcnJlY3QgcXVvdGluZyBpbiB0aGUgdGVzdHMgc28gdGhhdCB0aGUgbmV3IHRlc3RzIHBhc3MKCgkgIEFsZXgKCjIwMDctMDUtMTcgMTA6NTMgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbEJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbE1pbkdXTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLAoJICBUZXN0cy9DdXN0b21Db21tYW5kL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZGVkIHRlc3RpbmcgZm9yIGN1c3RvbQoJICBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGNvbnRhaW5pbmcgYWxsIHNwZWNpYWwgY2hhcmFjdGVycyBvbiB0aGUKCSAgVVMga2V5Ym9hcmQuCUZpeGVkIGN1cmx5IGJyYWNlIGFyZ3VtZW50cyBvbiBib3JsYW5kIGFuZCAlCgkgIGFyZ3VtZW50cyBpbiBtaW5ndzMyLW1ha2UuCgoyMDA3LTA1LTE3IDEwOjUzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBTeXN0ZW0uYywgU3lzdGVtLmguaW46IEVOSDogQWRkZWQgbW9yZSBzcGVjaWFsCgkgIHVuaXggc2hlbGwgY2hhcmFjdGVycyB0aGF0IHJlcXVpcmUgcXVvdGluZy4gIEFkZGVkIGVzY2FwaW5nIG9mICUKCSAgYXMgJSUgZm9yIHNoZWxscyBpbnNpZGUgbWluZ3czMi1tYWtlLgoKMjAwNy0wNS0xNyAxMDoyNCAgYWxleAoKCSogTW9kdWxlcy9DTWFrZUNDb21waWxlci5jbWFrZS5pbiwgTW9kdWxlcy9DTWFrZUNDb21waWxlcklkLmMsCgkgIE1vZHVsZXMvQ01ha2VDSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VDWFhDb21waWxlci5jbWFrZS5pbiwKCSAgTW9kdWxlcy9DTWFrZUNYWENvbXBpbGVySWQuY3BwLAoJICBNb2R1bGVzL0NNYWtlQ1hYSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDWFhDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNvbXBpbGVySWQuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVGb3J0cmFuQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVTeXN0ZW0uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VGaW5kQmluVXRpbHMuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VGb3J0cmFuQ29tcGlsZXIuY21ha2UuaW4sCgkgIE1vZHVsZXMvQ01ha2VGb3J0cmFuSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VHZW5lcmljU3lzdGVtLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlU3lzdGVtU3BlY2lmaWNJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DUGFjay5jbWFrZSwgTW9kdWxlcy9DVGVzdC5jbWFrZSwgTW9kdWxlcy9EYXJ0LmNtYWtlLAoJICBNb2R1bGVzL0RhcnRDb25maWd1cmF0aW9uLnRjbC5pbiwgTW9kdWxlcy9QbGF0Zm9ybS9EYXJ3aW4uY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vTGludXguY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9jbC5jbWFrZSwgU291cmNlL0NNYWtlTGlzdHMudHh0LAoJICBTb3VyY2UvY21Cb290c3RyYXBDb21tYW5kcy5jeHgsIFNvdXJjZS9jbUNvbW1hbmRzLmN4eCwKCSAgU291cmNlL2NtQ3VzdG9tQ29tbWFuZC5oLCBTb3VyY2UvY21GaW5kQmFzZS5jeHgsCgkgIFNvdXJjZS9jbUZpbmRCYXNlLmgsIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFdhdGNvbVdNYWtlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5oLCBTb3VyY2UvY21JbmNsdWRlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUluY2x1ZGVDb21tYW5kLmgsIFNvdXJjZS9jbUxpc3RGaWxlQ2FjaGUuaCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvR2VuZXJhdG9yLmgsIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVFeGVjdXRhYmxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTWFrZWZpbGVVdGlsaXR5VGFyZ2V0R2VuZXJhdG9yLmN4eCwgU291cmNlL2NtVGFyZ2V0LmN4eCwKCSAgU291cmNlL2NtVGFyZ2V0LmgsIFNvdXJjZS9jbVRyeVJ1bkNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21UcnlSdW5Db21tYW5kLmgsIFNvdXJjZS9jbVZlcnNpb24uY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eCwgU291cmNlL2t3c3lzL1Byb2Nlc3NVTklYLmMsCgkgIFNvdXJjZS9rd3N5cy9TeXN0ZW0uYywgVGVtcGxhdGVzL0RMTEhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVtcGxhdGVzL0VYRUhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVtcGxhdGVzL0VYRVdpbkhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVtcGxhdGVzL1V0aWxpdHlIZWFkZXIuZHNwdGVtcGxhdGUsCgkgIFRlbXBsYXRlcy9zdGF0aWNMaWJIZWFkZXIuZHNwdGVtcGxhdGUsCgkgIFRlc3RzL0NNYWtlVGVzdHMvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NNYWtlVGVzdHMvRHVtbXlUb29sY2hhaW4uY21ha2UsCgkgIFRlc3RzL0NNYWtlVGVzdHMvRmluZEJhc2VUZXN0LmNtYWtlLmluLAoJICBUZXN0cy9DTWFrZVRlc3RzL0luY2x1ZGVUZXN0LmNtYWtlLmluLAoJICBUZXN0cy9DTWFrZVRlc3RzL1Rvb2xjaGFpblRlc3QuY21ha2UuaW4sCgkgIFRlc3RzL0NNYWtlVGVzdHMvaW5jbHVkZS9jbWFrZV9pX2RvX25vdF9leGlzdF9pbl90aGVfc3lzdGVtLmg6CgkgIEVOSDogbWVyZ2UgY2hhbmdlcyBmcm9tIEhFQUQgaW50byB0aGUgYnJhbmNoIC1jaGFuZ2UgSU5DTFVERShmaWxlCgkgIFtPUFRJT05BTF0gW1ZBUl0pIHRvIElOQ0xVREUoZmlsZSBbT1BUSU9OQUxdIFtSRVNVTFRfVkFSSUFCTEUKCSAgVkFSXSkgLWFkZCB0ZXN0cyBmb3IgSU5DTFVERSgpLCBDTUFLRV9UT09MQ0hBSU5fRklMRSBhbmQKCSAgRklORF9YWFgoKSAta2VlcCB0aGUgc3RyaXBwaW5nIGluIENQYWNrIGZvciBub3cgLXN1cHBvcnQgYSBNUwoJICB0b29sY2hhaW4gc3VmZml4CgoJICBBbGV4CgoyMDA3LTA1LTE3IDEwOjA3ICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogQ01ha2VDQ29tcGlsZXJJZC5jLCBDTWFrZUNYWENvbXBpbGVySWQuY3BwLAoJICBDTWFrZURldGVybWluZUNvbXBpbGVySWQuY21ha2U6IEVOSDogZml4IHVwIGNvbXBpbGVyIGlkIHRvIGJlCgkgIG1vcmUgcm9idXN0CgoyMDA3LTA1LTE3IDA4OjM4ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlQ1hYQ29tcGlsZXJJZC5jcHA6IEJVRzogbWFrZSBzdXJlIHRoaXMgdGhpbmcKCSAgY29tcGlsZXMgb24gNjQgYml0IG1hY2hpbmVzCgoyMDA3LTA1LTE3IDA3OjI3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDUtMTYgMTk6NTkgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNS0xNiAxNjoxOSAga2luZwoKCSogU291cmNlL2t3c3lzL1N5c3RlbS5jOiBCVUc6IFNoZWxsIGVzY2FwaW5nIG5lZWRzIHRvIHdyaXRlICUgYXMgJSUKCSAgZm9yIFZTIElERS4KCjIwMDctMDUtMTYgMTM6MjYgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy13Y2wzODYuY21ha2U6IEVOSDogRW5hYmxlZCBwcmVwcm9jZXNzb3IKCSAgbWFrZSBydWxlcyBmb3IgV2F0Y29tLgoKMjAwNy0wNS0xNiAxMzoyNCAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsCgkgIGNtR2xvYmFsV2F0Y29tV01ha2VHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsIGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4OgoJICBCVUc6IFdhdGNvbSBXTWFrZSBuZWVkcyBlbXB0eSBydWxlIGNvbW1hbmRzIGV2ZW4gZm9yIHN5bWJvbGljCgkgIHRhcmdldHMuICBUaGlzIGZpeGVzIHRoZSBjbWFrZV9mb3JjZSB0YXJnZXQuCgoyMDA3LTA1LTE2IDEzOjEwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYzogQlVHOiBEbyBub3Qgc2VuZCBib3RoIFNJR1NUT1AgYW5kCgkgIFNJR0tJTEwgd2hlbiBraWxsaW5nIGEgcHJvY2Vzcy4gIFRoZSBTSUdTVE9QIHNlZW1zIHRvIGJlIGFibGUgdG8KCSAgYmxvY2sgdGhlIFNJR0tJTEwgb2NjYXNpb25hbGx5LiAgQWxzbyB0aGUgU0lHS0lMTCBpcyBzdWZmaWNpZW50CgkgIHNpbmNlIHRoZSBwcm9jZXNzIHRhYmxlIGVudHJ5IHdpbGwgc3RpbGwgZXhpc3QgdW50aWwgaXQgaXMgcmVhcGVkCgkgIHdpdGggd2FpdHBpZC4KCjIwMDctMDUtMTYgMTE6NDAgIGtpbmcKCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4OiBCVUc6IERpc2FibGUgdGVzdCBvZgoJICBmZWF0dXJlIHRoYXQgaXMgbm90IGRvY3VtZW50ZWQgb3IgaW1wbGVtZW50ZWQgZXZlcnl3aGVyZS4KCjIwMDctMDUtMTYgMTA6MzYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNS0xNiAwOTowNyAga2luZwoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBCVUc6IERvIG5vdCBlbWl0IC91c3IvbGliMzIgb3IKCSAgL3Vzci9saWI2NCBhcyBsaW5rZXIgcGF0aHMuICBTdWJtaXR0ZWQgYnkgRGF2aWQgRmF1cmUuCgoyMDA3LTA1LTE2IDA3OjU2ICBhbmR5CgoJKiBUZXN0cy9CdWlsZERlcGVuZHMvUHJvamVjdC9DTWFrZUxpc3RzLnR4dDogQlVHOiBjaGVjayBpbiB0aGUgcmVzdAoJICBvZiB0aGUgY2hhbmdlcyB0byBtb3ZlIGZyb20gYyB0byBjeHgKCjIwMDctMDUtMTYgMDc6NTQgIGFuZHkKCgkqIFRlc3RzL0J1aWxkRGVwZW5kcy86IENNYWtlTGlzdHMudHh0LCBQcm9qZWN0L2Jhci5jLAoJICBQcm9qZWN0L2Jhci5jeHg6IEJVRzogZml4IHRlc3QgZm9yIGhwIG1vdmUgdG8gYysrIHRvIGF2b2lkIGFuc2kKCSAgaXNzdWVzIGFuZCBwcm9kdWNlIGEgbWVzc2FnZSBpZiB0aGUgY29tcGlsZSBmYWlscywgKHJlYWxseQoJICBjaGVja2VkIGluIGJ5IEJpbGwgSC4pCgoyMDA3LTA1LTE1IDE2OjU1ICBhbGV4CgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2U6IEJVRzogbGV0IElOQ0xVREUoKSBhY3R1YWxseQoJICBmaW5kIGNsLmNtYWtlCgoJICBBbGV4CgoyMDA3LTA1LTE1IDE2OjUzICBhbGV4CgoJKiBNb2R1bGVzL1BsYXRmb3JtLzogV2luZG93cy1jbC5jbWFrZSwgY2wuY21ha2U6CgkgIEVOSDogY3JlYXRlIGEgc2VwYXJhdGUgY2wuY21ha2UgYXMgcHJlcGFyYXRpb24gZm9yIHN1cHBvcnRpbmcgdGhlCgkgIGNyb3NzLWNvbXBpbGluZyBjbCdzCgoJICBBbGV4CgoyMDA3LTA1LTE1IDE2OjA2ICBhbGV4CgoJKiBTb3VyY2UvY21UYXJnZXQuY3h4OgoJICBCVUc6IGZpeCBzZWdmYXVsdCB3aGVuIHRyeWluZyB0byBnZXQgdGhlIG9iamVjdCBmaWxlIGZvciBhCgkgIHNvdXJjZWZpbGUgaW4gYW4gdW5rbm93biBsYW5ndWFnZSB2aWEgR0VUX1RBUkdFVF9QUk9QRVJUWSgpLCBhcwoJICByZXBvcnRlZCBieSBUcmV2b3IgS2VsbGF3YXkKCgkgIEFsZXgKCjIwMDctMDUtMTUgMTM6MzAgIGFsZXgKCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDWFhDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUZpbmRCaW5VdGlscy5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUdlbmVyaWNTeXN0ZW0uY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9nY2MuY21ha2UsCgkgIFNvdXJjZS9jbUluY2x1ZGVDb21tYW5kLmN4eCwgU291cmNlL2NtSW5jbHVkZUNvbW1hbmQuaCwKCSAgU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuaDoKCSAgRU5IOiBzb21lIGFkanVzdG1lbnRzIGFzIHN1Z2dlc3RlZCBieSBCcmFkOiBvbmx5IGNoZWNrIGZvciB0aGUKCSAgdmFyaW91cyAiYmludXRpbHMiIG9uIHRoZSByZXNwZWN0aXZlIHBsYXRmb3JtLCBoYXJkY29kZSB0aGUgc3RyaXAKCSAgY29tbWFuZCwgbWFrZSB0aGUgcmV0dXJuIHZhcmlhYmxlIG9mIGluY2x1ZGUoKSBhdmFpbGFibGUgYWxzbwoJICB3aXRob3V0IE9QVElPTkFMLCBob25vciBERVNURElSIGZvciBzdHJpcCBhbmQgcmFubGliIC11c2UKCSAgRklORF9QUk9HUkFNKENNQUtFX0xJTktFUiBsaW5rKSBmb3IgdGhlIE1TVkMgbGlua2VyCgoJICBBbGV4CgoyMDA3LTA1LTE1IDEwOjIzICBraW5nCgoJKiBNb2R1bGVzLzogQ1Rlc3QuY21ha2UsIERhcnQuY21ha2U6IFNUWUxFOiBBZGRlZCBiYXNpYyB1c2FnZQoJICBkb2N1bWVudGF0aW9uLgoKMjAwNy0wNS0xNSAwMzo1OSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA1LTE0IDE3OjAyICBhbGV4CgoJKiBTb3VyY2UvOiBjbUZpbGVDb21tYW5kLmN4eCwgY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmg6CgkgIEVOSDogbW92ZSByYW5saWIgaGFuZGxpbmcgb24gX0FQUExFX0NDXyBmcm9tIHRoZSBmaWxlIGNvbW1hbmQgdG8KCSAgdGhlIEluc3RhbGxUYXJnZXRHZW5lcmF0b3IKCgkgIEFsZXgKCjIwMDctMDUtMTQgMTY6MjggIGFsZXgKCgkqIENNYWtlTGlzdHMudHh0LCBNb2R1bGVzL0NNYWtlR2VuZXJpY1N5c3RlbS5jbWFrZSwKCSAgTW9kdWxlcy9DUGFjay5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9nY2MuY21ha2UsCgkgIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmgsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmN4eDoKCSAgRU5IOiBtb3ZlIHN0cmlwcGluZyBmcm9tIGNwYWNrIHRvIGNtYWtlL2luc3RhbGwgdGltZSwgZnVsbHkKCSAgY29uZmlndXJhYmxlIHZpYSB0aGUgQ01BS0VfU1RSSVBfRklMRSBydWxlLCBjdXJyZW50bHkgb25seQoJICBpbXBsZW1lbnRlZCBmb3IgdGhlIEdOVSB0b29sY2hhaW4uICBOb3cgY3BhY2sgc2hvdWxkIHdvcmsgYWxzbwoJICBmb3IgY3Jvc3MgY29tcGlsaW5nIChzaW5jZSBpdCBkb2Vzbid0IGhhdmUgdG8ga25vdyB0aGUgZXhlY3V0YWJsZQoJICBzdWZmaXggYW55bW9yZSkuCgoJICBzdHJpcHBpbmcgY2FuIGJlIGVuYWJsZWQvZGlzYWJsZWQgdmlhIHRoZSBjYWNoZSB2YXJpYWJsZQoJICBDTUFLRV9JTlNUQUxMX0RPX1NUUklQLgoKCSAgRXZlbiBpZiB0aGlzIGlzIGRpc2FibGVkLCB0aGUgY21ha2VfaW5zdGFsbC5jbWFrZSBmaWxlcyBzdGlsbAoJICBjb250YWluIHRoZSBzdHJpcCBydWxlcywgc28gYnkgcnVubmluZyBjbWFrZQoJICAtRENNQUtFX0lOU1RBTExfRE9fU1RSSVA9MSBjbWFrZV9pbnN0YWxsLmNtYWtlIHlvdSBjYW4gaW5zdGFsbAoJICB3aXRoIHN0cmlwcGluZyBhbHNvIGluIHRoaXMgY2FzZS4KCgkgIEFsZXgKCjIwMDctMDUtMTQgMTM6NDYgIGFsZXgKCgkqIFNvdXJjZS86IGNtRmlsZUNvbW1hbmQuY3h4LCBjbUZpbGVDb21tYW5kLmg6CgkgIFNUWUxFOiBzcGxpdCB0aGUgSGFuZGxlSW5zdGFsbENvbW1hbmQoKSBpbnRvIHNob3J0ZXIgZnVuY3Rpb25zCgkgICh3aGljaCBhcmUgc3RpbGwgcXVpdGUgbG9uZykKCgkgIEFsZXgKCjIwMDctMDUtMTQgMTE6MjMgIGFsZXgKCgkqIFNvdXJjZS86IGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsIGNtVGFyZ2V0LmN4eDoKCSAgU1RZTEU6IGZpeCBsaW5lIGxlbmd0aHMKCgkgIEFsZXgKCjIwMDctMDUtMTQgMTE6MDcgIGFsZXgKCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDWFhDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUZvcnRyYW5Db21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUZpbmRCaW5VdGlscy5jbWFrZSwgTW9kdWxlcy9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHg6CgkgIEVOSDogLWFkZGVkIG5ldyBDTWFrZUZpbmRCaW5VdGlscy5jbWFrZSB0byBoYXZlIGxlc3MgY29kZQoJICBkdXBsaWNhdGlvbiBpbiBDTWFrZURldGVybWluZUMvQysrP0ZvcnRyYW5Db21waWxlci5jbWFrZSwgLWFkZGVkCgkgIENNQUtFX0lOU1RBTExfTkFNRV9UT09MIHZhcmlhYmxlLCBvbmx5IHJ1biBpbnN0YWxsX25hbWVfdG9vbAoJICBoYW5kbGluZyBpZiB0aGlzIHdhcyBmb3VuZAoKCSAgQWxleAoKMjAwNy0wNS0xNCAwOTo0NiAgYWxleAoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdFRlc3RIYW5kbGVyLmN4eCwgY21DVGVzdFRlc3RIYW5kbGVyLmg6CgkgIEVOSDogdXNlIEdldENUZXN0Q29uZmlndXJhdGlvbigiRXhlY3V0YWJsZVN1ZmZpeCIpIGluc3RlYWQKCSAgaW5zdGVhZCBvZiBjbVN5c3RlbVRvb2xzOjpHZXRFeGVjdXRhYmxlRXh0ZW5zaW9uKCkgLXJtb3ZlIHRoZQoJICB1bnVzZWQgVHJ5RXhlY3V0YWJsZSgpCgoJICBBbGV4CgoyMDA3LTA1LTE0IDA4OjU5ICBtYXJ0aW5rCgoJKiBUZXN0cy9DTWFrZUxpc3RzLnR4dDogRU5IOiByZXZlcnQgYmFjayB0byBTVUJESVJTIHNvIHRoYXQgQ01ha2UKCSAgY2FuIGJlIGJ1aWx0IHdpdGggMi4yCgoyMDA3LTA1LTE0IDA4OjMzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDUtMTMgMTA6NTkgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNS0xMyAwOToxMSAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQ6IEVOSDogcmV2ZXJ0IHRvIFNVQkRJUlMgdG8gbWFrZSBzdXJlIGNtYWtlIGNhbiBiZQoJICBidWlsdCB3aXRoIDIuMgoKMjAwNy0wNS0xMyAwNzoxNiAga2luZwoKCSogQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbUJvb3RzdHJhcENvbW1hbmRzLmN4eCwKCSAgU291cmNlL2NtQ29tbWFuZHMuY3h4OiBDT01QOiBOZWVkIENNYWtlIDIuNCBvciBhIGJvb3RzdHJhcCBjbWFrZQoJICB0aGF0IGhhcyBBRERfU1VCRElSRUNUT1JZIHRvIGJ1aWxkLgoKMjAwNy0wNS0xMiAwMjo1OCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA1LTExIDE2OjI1ICBhbGV4CgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ1hYQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVTeXN0ZW0uY21ha2UsIFNvdXJjZS9jbUZpbmRCYXNlLmN4eCwKCSAgU291cmNlL2NtSW5jbHVkZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmg6CgkgIEVOSDogLXNlYXJjaCBDTUFLRV9UT09MQ0hBSU5fRklMRSBhdCBmaXJzdCByZWxhdGl2ZSB0byB0aGUKCSAgQ01BS0VfQklOQVJZX0RJUiAtaWYgaW4gQ01BS0VfQ19DT01QSUxFUiBvbmx5IHRoZSBiYXNlbmFtZSBvZiB0aGUKCSAgY29tcGlsZXIgd2l0aG91dCBwYXRoIHdhcyBnaXZlbiB0aGVuIGZpbmQgdGhlIHBhdGgKCSAgLUNNQUtFX0ZJTkRfUFJFRklYIGNhbiBub3cgYmUgYSBsaXN0IG9mIGRpcmVjdG9yaWVzIC12aWEKCSAgQ01BS0VfUFJPR1JBTV9GSU5EX1BSRUZJWF9NT0RFLCBDTUFLRV9MSUJSQVJZX0ZJTkRfUFJFRklYX01PREUKCSAgYW5kIENNQUtFX0lOQ0xVREVfRklORF9QUkVGSVhfTU9ERSB0aGUgZGVmYXVsdCBiZWhhdmlvdXIgZm9yCgkgIHRoZXNlIDMgdHlwZXMgY2FuIGJlIGFkanVzdGVkOiAqYXQgZmlyc3QgdGhlIGRpcmVjdG9yaWVzIHdpdGggdGhlCgkgIHByZWZpeGVzLCB0aGVuIHdpdGhvdXQgcHJlZml4ZXMgKGRlZmF1bHQsIHVuc2V0KSAqb25seSB0aGUKCSAgcHJlZml4ZXMgKHVzZWZ1bCBmb3IgbGlicyBhbmQgaGVhZGVycywgIk9OTFkiKSAqb25seSB3aXRob3V0IHRoZQoJICBwcmVmaXhlcyAodXNlZnVsIGZvciBwcm9ncmFtcywgIk5FVkVSIikKCgkgIEFsZXgKCjIwMDctMDUtMTEgMTQ6MDMgIGFsZXgKCgkqIFNvdXJjZS86IGNtTGlzdEZpbGVDYWNoZS5oLCBjbVRyeVJ1bkNvbW1hbmQuY3h4LAoJICBjbVV0aWxpdHlTb3VyY2VDb21tYW5kLmN4eDoKCSAgQlVHOiBzYW1lIGFzIEhFQUQ6IHVzZSBhIHN0ZDo6c3RyaW5nIGluc3RlYWQgYSBjb25zdCBjaGFyKiBmb3IKCSAgc3RvcmluZyB0aGUgZmlsZW5hbWUKCgkgIEVOSDogdXNlIENNQUtFX0VYRUNVVEFCTEVfU1VGRklYKCkgaW4gdHJ5X3J1biBhbmQgdXRpbGl0eV9zb3VyY2UsCgkgIGFsdGhvdWdoIHVzdWFsbHkgdGhleSB3b24ndCBiZSBhYmxlIHRvIHJ1biB0aGUgZXhlY3V0YWJsZXMgKGJ1dAoJICBJTU8gdGhleSBzaG91bGRuJ3QgY29tcGxhaW4gdGhleSBjYW4ndCBmaW5kIHRoZSBleGVjdXRhYmxlcykKCgkgIEVOSDogdHJ5X3J1biBub3cgZmFpbHMgd2l0aCAiY2FudCBydW4gZXhlY3V0YWJsZXMgaWYgdXNlZCB3aXRoCgkgIHRoaXMgdG9vbGNoYWluIiBpZiB1c2VkIHdpdGggYSB1c2VyIGRlZmluZWQgdG9vbGNoYWluIHdoaWNoCgkgIGRpZG4ndCByZXNldCB0aGUgQ01BS0VfQUxJRU5fRVhFQ1VUQUJMRVMgZmxhZwoKCSAgQWxleAoKMjAwNy0wNS0xMSAxMzo1MiAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuaDoKCSAgQlVHOiBGaXhlZCBnZW5lcmF0aW9uIG9mIFhDT0RFX0RFUEVORF9IRUxQRVIubWFrZSBpbnRvIHByb3BlcgoJICBkaXJlY3RvcnkuICBDbGVhbmVkIHVwIGR1cGxpY2F0ZSBjb2RlIGNyZWF0ZWQgYnkgcmVjZW50IGNoYW5nZXMuCgoyMDA3LTA1LTExIDEzOjQ2ICBhbGV4CgoJKiBNb2R1bGVzL0NUZXN0LmNtYWtlLCBNb2R1bGVzL0RhcnRDb25maWd1cmF0aW9uLnRjbC5pbiwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHg6CgkgIEVOSDogYWxsb3cgaXQgdG8gc2V0IFVQREFURV9UWVBFIHZpYSBDVEVTVF9VUERBVEVfVFlQRSBmcm9tCgkgIENUZXN0Q29uZmlnLmNtYWtlIC1hZGQgRVhFQ1VUQUJMRV9TVUZGSVggdG8gRGFydENvbmZpZy50Y2wgc28gaXQKCSAgY2FuIGJlIHVzZWQgaW4gY3Rlc3QgLXVzZSBDUEFDS19FWEVDVVRBQkxFX1NVRkZJWCBmb3IgY3BhY2sKCSAgKHN0cmlwLCB3aGljaCBkb2Vzbid0IHdvcmsgYmVjYXVzZSBvZiB0aGUgaW5zdGFsbCBkaXIpCgoJICBBbGV4CgoyMDA3LTA1LTExIDEzOjA2ICBhbGV4CgoJKiBNb2R1bGVzLzogQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2UsCgkgIENNYWtlRGV0ZXJtaW5lQ1hYQ29tcGlsZXIuY21ha2UsCgkgIENNYWtlU3lzdGVtU3BlY2lmaWNJbmZvcm1hdGlvbi5jbWFrZSwgQ1BhY2suY21ha2U6CgkgIEVOSDogYWxzbyB1c2UgdGhlIHRhcmdldCBwbGF0Zm9ybSBzdHJpcCBhbmQgZXhlY3V0YWJsZSBzdWZmaXggaW4KCSAgY3BhY2sgdXNlIHRoZSBuZXcgaW5jbHVkZSgpIHBhcmFtZXRlciB0byBoYW5kbGUgYm90aCBmdWxsLXBhdGgKCSAgYW5kIG1vZHVsZS1uYW1lLW9ubHkgU1lTVEVNX0lORk8gZmlsZXMKCgkgIEFsZXgKCjIwMDctMDUtMTEgMTI6MTcgIG1hcnRpbmsKCgkqIENNYWtlTGlzdHMudHh0LCBUZXN0cy9DTWFrZUxpc3RzLnR4dDogRU5IOiBtaW5vciBmaXhlcwoKMjAwNy0wNS0xMSAxMTo1NSAgYWxleAoKCSogU291cmNlLzogY21JbmNsdWRlQ29tbWFuZC5jeHgsIGNtSW5jbHVkZUNvbW1hbmQuaDoKCSAgRU5IOiBpZiBPUFRJT05BTCBpcyB1c2VkLCBnaXZlIHRoZSB1c2VyIGEgd2F5IHRvIGNoZWNrIHdoZXRoZXIKCSAgdGhlIGZpbGUgd2FzIGluY2x1ZGVkIG9yIG5vdCAoYnkgc2V0dGluZyBhIHZhcmlhYmxlIHRvIHRoZSBmdWxsCgkgIHBhdGggb3IgTk9URk9VTkQpIEFkZGl0aW9uYWxseSBub3cgZmFpbCBpZiBhIHNlY29uZCBhcmd1bWVudCBpcwoJICB1c2VkIGFuZCB0aGlzIGlzIG5vdCAiT1BUSU9OQUwiCgoJICBBbGV4CgoyMDA3LTA1LTExIDEwOjM0ICBhbGV4CgoJKiBNb2R1bGVzLzogQ01ha2VEZXRlcm1pbmVTeXN0ZW0uY21ha2UsIENNYWtlU3lzdGVtLmNtYWtlLmluLAoJICBDTWFrZVN5c3RlbVNwZWNpZmljSW5mb3JtYXRpb24uY21ha2UsIENoZWNrVHlwZVNpemUuY21ha2U6CgkgIEVOSDogb25seSBjaGVjayBmb3IgdGhlIHR5cGUgc2l6ZSBpZiBpdCBoYXNuJ3QgYWxyZWFkeSBiZWVuIHNldCwKCSAgcHV0IGEgYml0IG1vcmUgaW5mb3JtYXRpb24gaW4gdGhlIENNYWtlU3lzdGVtSW5mb3JtYXRpb24uY21ha2UKCSAgZmlsZSBpZiBpdCBoYXMgYmVlbiB1c2VkIHdpdGggYSB0b29sY2hhaW4gZmlsZSwgdXNlIHRoZSBmaWxlCgkgIGdpdmVuIGluIHRoZSB0b29sY2hhaW4gZmlsZSBhcyBDTWFrZV9TWVNURU1fSU5GT19GSUxFCgoJICBBbGV4CgoyMDA3LTA1LTExIDEwOjIyICBtYXJ0aW5rCgoJKiBDTWFrZUxpc3RzLnR4dCwgVGVzdHMvQ01ha2VMaXN0cy50eHQsIFRlc3RzL0NPbmx5L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9DeHhPbmx5L0NNYWtlTGlzdHMudHh0LCBUZXN0cy9NYXRoVGVzdC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvTmV3bGluZUFyZ3MvQ01ha2VMaXN0cy50eHQsIFRlc3RzL09iakMrKy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvUHJlT3JkZXIvQ01ha2VMaXN0cy50eHQsIFRlc3RzL1NldExhbmcvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1NpbXBsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU3lzdGVtSW5mb3JtYXRpb24vQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1RhclRlc3QvQ01ha2VMaXN0cy50eHQ6IEVOSDogc29tZSBtb3JlIENNYWtlTGlzdCBjbGVhbnVwcwoKMjAwNy0wNS0xMSAwOTowMiAgbWFydGluawoKCSogQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvQ01ha2VMaXN0cy50eHQ6IEVOSDoKCSAgbW9yZSBjbGVhbnVwIG9mIHNvbWUgQ01ha2VMaXN0cyBmaWxlcwoKMjAwNy0wNS0xMSAwODozNiAgYWxleAoKCSogU291cmNlL2NtTGlzdEZpbGVDYWNoZS5oOgoJICBCVUc6IGNvbnN0IGNoYXIqIEZpbGVQYXRoIGNvdWxkIHBvaW50IHRvIGEgbm9uLWV4aXN0ZW50CgkgIHN0ZDo6c3RyaW5nIGZvciBjb21tYW5kcyB1c2VkIGluIGEgbWFjcm8sIHVzaW5nIGEgc3RkOjpzdHJpbmcKCSAgaW5zdGVhZCBjb3BpZXMgdGhlIGNvbnRlbnRzIHNvIHRoaXMgd29ya3MgKGNvcnJlY3QgZXJyb3IgbWVzc2FnZSkKCgkgIEFsZXgKCjIwMDctMDUtMTEgMDg6MTEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNS0xMCAxNToxOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA1LTEwIDE1OjEzICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvOiBDTWFrZUxpc3RzLnR4dCwgS1dTdHlsZS9DTWFrZS5rd3MueG1sLmluLAoJICBLV1N0eWxlL0NNYWtlRmlsZXMudHh0LmluLCBLV1N0eWxlL0NNYWtlTGlzdHMudHh0LAoJICBLV1N0eWxlL0NNYWtlT3ZlcndyaXRlLnR4dCwgS1dTdHlsZS9IZWFkZXJzL0NNYWtlSGVhZGVyLmg6IEVOSDoKCSAgYWRkIEtXU3R5bGUgc3VwcG9ydAoKMjAwNy0wNS0xMCAxNDo0MyAgaG9mZm1hbgoKCSogU291cmNlLzogY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtTG9jYWxHZW5lcmF0b3IuaCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oOiBCVUc6IGZpeCAtRCBlc2NhcGVkIHF1b3RlcyBmb3IKCSAgd2F0Y29tCgoyMDA3LTA1LTEwIDE0OjA4ICBtYXJ0aW5rCgoJKiBDTWFrZUNQYWNrLmNtYWtlLCBDTWFrZUxpc3RzLnR4dCwgQ29tcGlsZUZsYWdzLmNtYWtlOiBFTkg6IHN0YXJ0CgkgIHRyeWluZyB0byBjbGVhbnVwIENNYWtlTGlzdHMgZmlsZXMKCjIwMDctMDUtMTAgMTM6MDMgIGFsZXgKCgkqIFNvdXJjZS86IGNtVGFyZ2V0LmN4eCwgY21UYXJnZXQuaDoKCSAgRU5IOiByZXR1cm4gdGhlIGRlZmF1bHQgbG9jYXRpb24gZm9yIGltcG9ydGVkIHRhcmdldHMgaWYgdGhlCgkgIGNvbmZpZy1kZXBlbmRlbnQgbG9jYXRpb25zIGFyZSBub3Qgc2V0CgoJICBBbGV4CgoyMDA3LTA1LTEwIDExOjQxICBhbGV4CgoJKiBTb3VyY2UvOiBjbUFkZERlcGVuZGVuY2llc0NvbW1hbmQuY3h4LAoJICBjbUFkZEV4ZWN1dGFibGVDb21tYW5kLmN4eCwgY21HZXRUYXJnZXRQcm9wZXJ0eUNvbW1hbmQuY3h4LAoJICBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzhHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5jeHgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBjbUluY2x1ZGVFeHRlcm5hbE1TUHJvamVjdENvbW1hbmQuY3h4LCBjbUluc3RhbGxDb21tYW5kLmN4eCwKCSAgY21JbnN0YWxsRmlsZXNDb21tYW5kLmN4eCwgY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtTG9jYWxHZW5lcmF0b3IuaCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaCwKCSAgY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsIGNtU2V0VGFyZ2V0UHJvcGVydGllc0NvbW1hbmQuY3h4LAoJICBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0Lmg6CgkgIEVOSDogZmlyc3QgdHJ5IGF0ICJpbXBvcnRpbmciIHRhcmdldHMgKGZyb20gb3RoZXIgYnVpbGQgdHJlZXMpLAoJICBub3cgZG9uZSB1c2luZyBhIHNlcGFyYXRlIGNvbnRhaW5lciBmb3IgdGhlIGltcG9ydGVkIHRhcmdldHMgLWFzCgkgIGluIEhFQUQ6IG1vdmUgVHJhY2VWU0RlcGVuZGVuY2llcygpIHRvIG9uZSBjZW50cmFsIHBsYWNlLAoJICBHbG9iYWxHZW5lcmF0b3I6OkdlbmVyYXRlKCkKCgkgIEFsZXgKCjIwMDctMDUtMTAgMTE6MzggIGFsZXgKCgkqIFNvdXJjZS86IGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwgY21UYXJnZXQuY3h4OgoJICBTVFlMRTogZml4IGxpbmUgbGVuZ3RoCgoJICBBbGV4CgoyMDA3LTA1LTEwIDExOjE2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEVOSDogbWFrZSBzdXJlIGVzY2FwaW5nIGlzCgkgIGRvbmUgZm9yIHN0cmluZ3Mgb24gdGhlIGNvbW1hbmQgbGluZQoKMjAwNy0wNS0xMCAxMDozMSAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IGFkZCB0ZXN0IGZvciBhIHNpbXBsZSBkZXBlbmQgdGVzdCwKCSAgZG9lcyBhbiBleGUgcmUtbGluayBpZiBhIGxpYnJhcnkgdGhhdCBpdCB1c2VzIGNoYW5nZXMKCjIwMDctMDUtMTAgMTA6MDUgIGhvZmZtYW4KCgkqIFRlc3RzL0J1aWxkRGVwZW5kcy86IENNYWtlTGlzdHMudHh0LCBQcm9qZWN0L2Jhci5jOiBFTkg6IGFkZCB0ZXN0CgkgIGZvciBidWlsZCBkZXBlbmRzCgoyMDA3LTA1LTEwIDEwOjA1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEVOSDogZml4IGZvciBtb3ZlIG9mIHRyYWNlCgkgIGRlcGVuZHMKCjIwMDctMDUtMDkgMTU6MTAgIGhvZmZtYW4KCgkqIFRlc3RzL0J1aWxkRGVwZW5kcy86IENNYWtlTGlzdHMudHh0LCBQcm9qZWN0L0NNYWtlTGlzdHMudHh0LAoJICBQcm9qZWN0L2Jhci5jOiBFTkg6IGFkZCBhIHRlc3QgdG8gbWFrZSBzdXJlIFhjb2RlIGRvZXMgbm90IGJyZWFrCgkgIGFnYWluCgoyMDA3LTA1LTA5IDE0OjQxICBhbGV4CgoJKiBTb3VyY2UvOiBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxHZW5lcmF0b3IuaCwgY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5oLAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmg6CgkgIEJVRzogZml4IHByb2JsZW0gZm9yIG5vbi1DL0NYWCBsYW5ndWFnZXMgd2l0aCBWaXN1YWwgU3R1ZGlvLCB0aGUKCSAgZGVwZW5kZW5jaWVzIGZvciB0aGUgY3VzdG9tIGNvbW1hbmRzIGFkZGVkIGZvciBqYXZhIHdlcmUgbm90CgkgIGhhbmRsZWQgY29ycmVjdGx5LiBOZWVkcyBtb3JlIHdvcmsuCgoJICBBbGV4CgoyMDA3LTA1LTA5IDExOjQ0ICBhbGV4CgoJKiBTb3VyY2UvOiBjbUFkZEV4ZWN1dGFibGVDb21tYW5kLmN4eCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21JbmNsdWRlRXh0ZXJuYWxNU1Byb2plY3RDb21tYW5kLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LCBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oLAoJICBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwgY21UYXJnZXQuY3h4LCBjbVRhcmdldC5oOgoJICBFTkg6IGluaXRpYWwgdHJ5IGZvciBzdXBwb3J0IGZvciAiaW1wb3J0aW5nIiB0YXJnZXRzIGludG8gY21ha2UsCgkgIHNvIGUuZy4gdGhlIHN1cHBvcnQgZm9yIGxpYnMgaW4gcmVsZWFzZS0gYW5kIGRlYnVnIG1vZGUgY2FuIGJlCgkgIGRvbmUgbXVjaCBiZXR0ZXIgYW5kIGltcG9ydGVlZCBleGVjdXRhYmxlIHRhcmdldHMgY2FuIGJlIHVzZWQgaW4KCSAgY3VzdG9tIGNvbW1hbmRzICgtPiBjcm9zcyBjb21waWxpbmcpCgoJICBBbGV4CgoyMDA3LTA1LTA5IDEwOjI4ICBhbmR5CgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEVOSDogZml4IGZvciBvbGRlciB4Y29kZSBhbmQKCSAgZnJhbWV3b3JrIGNyZWF0ZQoKMjAwNy0wNS0wOSAxMDoxOCAga2luZwoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4OiBCVUc6IEZpeGVkCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yIHRvIGRlYWwgd2l0aCBxdW90ZXMgaW4gbWFjcm8KCSAgZGVmaW5pdGlvbnMgcHJvcGVybHkuICBUaGlzIGFkZHJlc3NlcyBidWcjNDk4My4KCjIwMDctMDUtMDkgMDk6MzUgIGFsZXgKCgkqIFNvdXJjZS86IGNtVGFyZ2V0LmN4eCwgY21UYXJnZXQuaDoKCSAgU1RZTEU6IGZ1bmN0aW9ucyB1c2UgdXBwZXIgY2FzZSBmb3IgdGhlIGZpcnN0IGxldHRlcgoKCSAgQWxleAoKMjAwNy0wNS0wOSAwOToxMCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA1LTA5IDA4OjI1ICBhbGV4CgoJKiBTb3VyY2UvY21DdXN0b21Db21tYW5kLmgsIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmgsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvR2VuZXJhdG9yLmgsIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwKCSAgU291cmNlL2NtVGFyZ2V0LmN4eCwgU291cmNlL2NtVGFyZ2V0LmgsCgkgIFRlbXBsYXRlcy9ETExIZWFkZXIuZHNwdGVtcGxhdGUsIFRlbXBsYXRlcy9FWEVIZWFkZXIuZHNwdGVtcGxhdGUsCgkgIFRlbXBsYXRlcy9FWEVXaW5IZWFkZXIuZHNwdGVtcGxhdGUsCgkgIFRlbXBsYXRlcy9VdGlsaXR5SGVhZGVyLmRzcHRlbXBsYXRlLAoJICBUZW1wbGF0ZXMvc3RhdGljTGliSGVhZGVyLmRzcHRlbXBsYXRlLAoJICBUZXN0cy9DdXN0b21Db21tYW5kL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9DdXN0b21Db21tYW5kL21haW4uY3h4LAoJICBUZXN0cy9DdXN0b21Db21tYW5kL0dlbmVyYXRvckluRXh0cmFEaXIvQ01ha2VMaXN0cy50eHQ6CgkgIEVOSDogbm93IHRhcmdldCBuYW1lcyBjYW4gYmUgdXNlZCBpbiBhZGRfY3VzdG9tX2NvbW1hbmQoKSBhbmQKCSAgYWRkX2N1c3RvbV90YXJnZXQoKSBhcyBDT01NQU5ELCBhbmQgY21ha2Ugd2lsbCByZWNvZ25pemUgdGhlbSBhbmQKCSAgcmVwbGFjZSB0aGVtIHdpdGggdGhlIGFjdHVhbCBvdXRwdXQgcGF0aCBvZiB0aGVzZSBleGVjdXRhYmxlcy4KCSAgQWxzbyB0aGUgZGVwZW5kZW5jeSB3aWxsIGJlIGFkZGVkIGF1dG9tYXRpY2FsbHkuIFRlc3QgaW5jbHVkZWQuCgkgIEVOSDogbW92ZWQgVHJhY2VWU0RlcGVuZGVuY2llcygpIHRvIHRoZSBlbmQgb2YKCSAgR2xvYmFsR2VuZXJhdG9yOjpDb25maWd1cmUoKSwgc28gaXQgaXMgZG9uZSBub3cgaW4gb25lIGNlbnRyYWwKCSAgcGxhY2UKCgkgIEFsZXgKCjIwMDctMDUtMDggMTY6NTggIGFsZXgKCgkqIFRlc3RzL0N1c3RvbUNvbW1hbmQvOiBDTWFrZUxpc3RzLnR4dCwKCSAgR2VuZXJhdG9ySW5FeHRyYURpci9DTWFrZUxpc3RzLnR4dDoKCSAgRU5IOiBhbHNvIHRlc3QgaWYgdGhlIGRlcGVuZGVuY3kgdG8gYSB0YXJnZXQgd29ya3Mgd2l0aCBQT1NUQlVJTEQKCgkgIEFsZXgKCjIwMDctMDUtMDggMTY6MzcgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogRU5IOiBnZXR0aW5nIGNsb3NlcgoKMjAwNy0wNS0wOCAxNTo0OSAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBFTkg6IGFkZCBpbml0aWFsIHhjb2RlCgkgIGZyYW1ld29yayBzdHVmZgoKMjAwNy0wNS0wOCAxNToyOSAgYWxleAoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQ09NUDogYSBjbG9zaW5nIGJyYWNlCgkgIHdhcyBtaXNzaW5nCgoJICBBbGV4CgoyMDA3LTA1LTA4IDE0OjQ3ICBhbGV4CgoJKiBTb3VyY2UvOiBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5oLAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OgoJICBFTkg6IG1vdmUgVHJhY2VWU0RlcGVuZGVuY2llcygpIGZyb20gZXZlcnkgZ2VuZXJhdG9yIHRvIHRoZSBlbmQKCSAgb2YgR2xvYmFsR2VuZXJhdG9yOjpDb25maWd1cmUoKSwgcmVtb3ZlcyBzb21lIGNvZGUgZHVwbGljYXRpb24KCSAgYW5kIG1ha2VzIGl0IGVhc2llciB0byBhZGQgc3VwcG9ydCBmb3IgImltcG9ydGluZyIgdGFyZ2V0cwoKCSAgQWxleAoKMjAwNy0wNS0wOCAxNDoyOCAgYWxleAoKCSogU291cmNlLzogY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDoKCSAgU1RZTEU6IHN0YW5kYXJkIGZvci1sb29wLWluaXRpYWxpemF0aW9uIGluIHRoZSBNU1ZDIGdlbmVyYXRvciwKCSAgb25lIGxldmVsIGxlc3MgZGVlcCBpZi1zdGF0ZW1lbnQgaW4gWENvZGUgZ2VuZXJhdG9yLCBvbmUgbGV2ZWwKCSAgbGVzcyBkZWVwIGZ1bmN0aW9uIGNhbGwgaW4gdGhlIGdsb2JhbCBnZW5lcmF0b3IgLT4gbWFrZXMgaXQKCSAgZWFzaWVyIHRvIHVuZGVyc3RhbmQgSU1PCgoJICBBbGV4CgoyMDA3LTA1LTA4IDE0OjEwICBhbGV4CgoJKiBTb3VyY2UvY21UYXJnZXQuaDoKCSAgU1RZTEU6IEdldE5hbWUoKSBpcyBjb25zdCwgY29tbWVudCB1cGRhdGVkCgoJICBBbGV4CgoyMDA3LTA1LTA4IDEyOjQzICBob2ZmbWFuCgoJKiBUZXN0cy9GcmFtZXdvcmsvOiBiYXIuY3h4LCBmb28uY3h4OiBFTkg6IG1ha2UgaXQgd29yayBvbiBub24KCSAgd2luZG93cwoKMjAwNy0wNS0wOCAxMTo1MyAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LCBUZXN0cy9GcmFtZXdvcmsvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0ZyYW1ld29yay9iYXIuY3h4LCBUZXN0cy9GcmFtZXdvcmsvZm9vLmN4eDogRU5IOiBmaXggaXQgc28KCSAgdGhhdCB0aGUgRlJBTUVXT1JLIHByb3BlcnR5IGRvZXMgbm90IGJyZWFrIHRoZSBidWlsZGluZyBvZiBub3JtYWwKCSAgc2hhcmVkIGxpYnMgb24gbm9uLW1hYyBwbGF0Zm9ybXMKCjIwMDctMDUtMDggMTE6MzEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNS0wOCAxMDo1OCAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9GcmFtZXdvcmsvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0ZyYW1ld29yay9iYXIuY3h4LCBUZXN0cy9GcmFtZXdvcmsvZm9vLmN4eCwKCSAgVGVzdHMvRnJhbWV3b3JrL2Zvby5oLCBUZXN0cy9GcmFtZXdvcmsvZm9vMi5oOiBFTkg6IGFkZCBhIHZlcnkKCSAgc2ltcGxlIGZyYW1ld29yayB0ZXN0CgoyMDA3LTA1LTA4IDEwOjMyICBob2ZmbWFuCgoJKiBNb2R1bGVzL01hY09TWEZyYW1ld29ya0luZm8ucGxpc3QuaW4sCgkgIE1vZHVsZXMvUGxhdGZvcm0vRGFyd2luLmNtYWtlLCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5oLCBTb3VyY2UvY21UYXJnZXQuY3h4OgoJICBFTkg6IGluaXRpYWwgc3VwcG9ydCBmb3IgY3JlYXRpb24gb2YgZnJhbWV3b3JrcyBvbiBNYWMKCjIwMDctMDUtMDggMTA6MDUgIGFsZXgKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbVRhcmdldC5jeHg6CgkgIEVOSDogYWxzbyBkZXRlY3QgdGFyZ2V0bmFtZXMtdXNlZC1hcy1jb21tYW5kcyBmb3IKCSAgUFJFQlVJTEQvUFJFTElOSy9QT1NUQlVJTEQgY3VzdG9tIGNvbW1hbmRzCgoJICBBbGV4CgoyMDA3LTA1LTA3IDE4OjE3ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0xpbnV4LmNtYWtlOiBCVUc6IERldGVjdCBkZWJpYW4gd2l0aCBleGlzdGVuY2UKCSAgb2YgL2V0Yy9kZWJpYW5fdmVyc2lvbiBzbyB0aGluZ3Mgd29yayBpbiBhIGNocm9vdCBpbnN0YWxsLiAgVGhpcwoJICBpcyBzdWdnZXN0ZWQgaW4gYnVnIzQ4MDUuCgoyMDA3LTA1LTA3IDE0OjUwICBhbGV4CgoJKiBUZXN0cy9DdXN0b21Db21tYW5kLzogQ01ha2VMaXN0cy50eHQsCgkgIEdlbmVyYXRvckluRXh0cmFEaXIvQ01ha2VMaXN0cy50eHQ6CgkgIEVOSDogYWxzbyB0ZXN0IHRoZSBhdXRvbWF0aWMgZGVwZW5kZW5jeS4gVG8gbWFrZSBpdCBhIGJpdCBoYXJkZXIKCSAgYWxzbyB1c2UgU0VUX1RBUkdFVF9QUk9QRVJUSUVTKE9VVFBVVF9OQU1FKSBmb3IgdGhlIGdlbmVyYXRvcgoJICBleGVjdXRhYmxlCgoJICBBbGV4CgoyMDA3LTA1LTA3IDE0OjQyICBhbGV4CgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsIGNtVGFyZ2V0LmN4eDoKCSAgRU5IOiBpZiBhIHRhcmdldCBuYW1lIGlzIHVzZWQgYXMgY29tbWFuZCBpbiBhZGRfY3VzdG9tX2NvbW1hbmQsCgkgIGF1dG9tYXRpY2FsbHkgYWRkIHRoZSBkZXBlbmRlbmN5IHRvIHRoaXMgdGFyZ2V0CgoJICBBbGV4CgoyMDA3LTA1LTA3IDE0OjI3ICBhbGV4CgoJKiBTb3VyY2UvY21DdXN0b21Db21tYW5kLmg6CgkgIFNUWUxFOiBJc1VzZWQoKSBpcyBjb25zdCwgc2VtaWNvbG9ucyBhcmUgbm90IHJlcXVpcmVkCgoJICBBbGV4CgoyMDA3LTA1LTA3IDExOjQzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDUtMDcgMDk6NDggIGFsZXgKCgkqIFRlc3RzL0N1c3RvbUNvbW1hbmQvQ01ha2VMaXN0cy50eHQ6CgkgIEVOSDogYWRkIHRlc3QgZm9yIHRoZSB0YXJnZXQtdG8tbG9jYXRpb24gdHJhbnNsYXRpb24gZm9yCgkgIEFERF9DVVNUT01fVEFSR0VUCgoJICBBbGV4CgoyMDA3LTA1LTA3IDA4OjQ4ICBhbGV4CgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBUZW1wbGF0ZXMvRExMSGVhZGVyLmRzcHRlbXBsYXRlLCBUZW1wbGF0ZXMvRVhFSGVhZGVyLmRzcHRlbXBsYXRlLAoJICBUZW1wbGF0ZXMvRVhFV2luSGVhZGVyLmRzcHRlbXBsYXRlLAoJICBUZW1wbGF0ZXMvVXRpbGl0eUhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVtcGxhdGVzL3N0YXRpY0xpYkhlYWRlci5kc3B0ZW1wbGF0ZToKCSAgRU5IOiBhbHNvIHN1cHBvcnQgdGFyZ2V0LWFzLWNvbW1hbmQgd2l0aCB0aGUgTVNWQzYgZ2VuZXJhdG9yCgoJICBBbGV4CgoyMDA3LTA1LTA2IDA5OjA1ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDUtMDUgMDg6NTggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNS0wNCAxNzoxNyAgYWxleAoKCSogU291cmNlLzogY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5oOgoJICBFTkg6IGFkZCBjb25maWdOYW1lIGFyZ3VtZW50IHRvIENyZWF0ZVRhcmdldFJ1bGVzIHNvIGl0IGNhbgoJICBjcmVhdGUgdGhlIHJ1bGVzIGNvcnJlY3RseSBmb3IgdGhlIGRpZmZlcmVudCBjb25maWd0eXBlcy4gSGFzIHRvCgkgIGJlIHVzZWQgZm9yIGNvbmZpZ3VyaW5nIHRoZSBwcm9qZWN0IGZpbGUgdGVtcGxhdGVzLgoKCSAgQWxleAoKMjAwNy0wNS0wNCAxNzowOSAgYWxleAoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDoKCSAgU1RZTEU6IHJlbW92ZSB0aGUgY29tbWVudGVkIGNvZGUsIHdhc24ndCBpbnRlbmRlZCB0byBiZSBjb21taXR0ZWQKCgkgIEFsZXgKCjIwMDctMDUtMDQgMTY6NDMgIGFsZXgKCgkqIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmgsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvR2VuZXJhdG9yLmgsIFNvdXJjZS9jbVRhcmdldC5jeHgsCgkgIFRlc3RzL0N1c3RvbUNvbW1hbmQvQ01ha2VMaXN0cy50eHQsIFRlc3RzL0N1c3RvbUNvbW1hbmQvbWFpbi5jeHgsCgkgIFRlc3RzL0N1c3RvbUNvbW1hbmQvR2VuZXJhdG9ySW5FeHRyYURpci9DTWFrZUxpc3RzLnR4dDoKCSAgRU5IOiB5b3UgY2FuIG5vdyB1c2UgdGhlIHRhcmdldCBuYW1lIG9mIGEgZXhlY3V0YWJsZSB0YXJnZXQgaW4KCSAgY21ha2UgYXMgY29tbWFuZCBpbiBhZGRfY3VzdG9tX2NvbW1hbmQsIGl0IHNob3VsZCBhbHNvIGhvbm9yIHRoZQoJICBidWlsZHR5cGVzLiBBIHRlc3RjYXNlIGluIFRlc3RzL0N1c3RvbUNvbW1hbmQvIGlzIGFsc28gY29taW5nCgkgIHNvb24uIFRlc3RlZCBvbiBMaW51eCB3aXRoIE1ha2VmaWxlcywgT1NYIHdpdGggWENvZGUgYW5kIE1TVkMgNy4KCSAgTVNWQyA2IGFuZCA4IGFyZSBub3QgdGVzdGVkLiBOZXh0IHdpbGwgYmUgdG8gYWxzbyBhdXRvbWF0aWNhbGx5CgkgIGFkZCB0aGUgZGVwZW5kZW5jaWVzIHRvIHRoaXMgdGFyZ2V0IGF1dG9tYXRpY2FsbHkuCgoJICBBbGV4CgoyMDA3LTA1LTA0IDE0OjA4ICBhbGV4CgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBDT01QOiByZW1vdmVkIHVudXNlZAoJICB2YXJpYWJsZSB0ZW1wCgoJICBBbGV4CgoyMDA3LTA1LTA0IDA5OjUwICBhbGV4CgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6CgkgIENPTVA6IGZpeCB3YXJuaW5nIG9uIFZTODogY29udmVyc2lvbiB1bnNpZ25lZCBpbnQgLT4gc2l6ZV90CgoJICBBbGV4CgoyMDA3LTA1LTAzIDIwOjQyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDUtMDMgMTU6MjUgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVRyeVJ1bkNvbW1hbmQuY3h4OiBFTkg6IGxvb2sgYXQKCSAgQ01BS0VfVFJZX0NPTVBJTEVfQ09ORklHVVJBVElPTiB2YXIgZm9yIFRyeVJ1biBhcyB3ZWxsCgoyMDA3LTA1LTAzIDEzOjAzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYywgVXRpbGl0aWVzL2NtY3VybC91cmwuYzogQ09NUDogRml4CgkgIGNvZGUtbm90LXJlYWNoZWQgd2FybmluZ3MgZm9yIFN1bkNDLgoKMjAwNy0wNS0wMyAwODoyNCAga2luZwoKCSogTW9kdWxlcy86IENNYWtlQ0luZm9ybWF0aW9uLmNtYWtlLCBDTWFrZUNYWEluZm9ybWF0aW9uLmNtYWtlLAoJICBDTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwgQ01ha2VEZXRlcm1pbmVDWFhDb21waWxlci5jbWFrZSwKCSAgQ01ha2VEZXRlcm1pbmVDb21waWxlcklkLmNtYWtlLAoJICBDTWFrZURldGVybWluZUZvcnRyYW5Db21waWxlci5jbWFrZSwKCSAgQ01ha2VGb3J0cmFuQ29tcGlsZXIuY21ha2UuaW4sIENNYWtlRm9ydHJhbkNvbXBpbGVySWQuRjkwLAoJICBDTWFrZUZvcnRyYW5JbmZvcm1hdGlvbi5jbWFrZSwgUGxhdGZvcm0vTGludXgtU3VuUHJvLUMuY21ha2UsCgkgIFBsYXRmb3JtL0xpbnV4LVN1blByby1DWFguY21ha2UsCgkgIFBsYXRmb3JtL0xpbnV4LVN1blByby1Gb3J0cmFuLmNtYWtlOiBFTkg6IE1lcmdpbmcgQ29tcGlsZXJJZAoJICB1cGRhdGVzIGZyb20gYnJhbmNoIENNYWtlLU1vZHVsZXMtQ29tcGlsZXJJZCB0byB0aGUgbWFpbiB0cmVlLgoJICBDaGFuZ2VzIGJldHdlZW4gQ01ha2UtTW9kdWxlcy1Db21waWxlcklkLW1wMSBhbmQKCSAgQ01ha2UtTW9kdWxlcy1Db21waWxlcklkLW1wMiBhcmUgaW5jbHVkZWQuCgoyMDA3LTA1LTAzIDA3OjExICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDUtMDIgMTQ6MTMgIGFsZXgKCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2U6CgkgIEJVRzogZml4IHR5cG8sIHVzZSBUT09MQ0hBSU5fUFJFRklYIGFzIHByZWZpeCBpbnN0ZWFkIG9mIGxvY2F0aW9uCgoJICBBbGV4CgoyMDA3LTA1LTAyIDExOjU2ICBhbGV4CgoJKiBNb2R1bGVzLzogQ01ha2VDQ29tcGlsZXIuY21ha2UuaW4sIENNYWtlQ1hYQ29tcGlsZXIuY21ha2UuaW4sCgkgIENNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLCBDTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlOgoJICBFTkg6IG1ha2UgaXQgcG9zc2libGUgdG8gc2V0IHRoZSBvYmplY3QgZmlsZSBleHRlbnNpb24KCSAgaW5kZXBlbmRlbnQgZnJvbSB0aGUgYnVpbGQgcGxhdGZvcm0gYXQgYnVpbGQgdGltZQoKCSAgQWxleAoKMjAwNy0wNS0wMiAwMTowOSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA1LTAxIDE4OjI4ICBraW5nCgoJKiBNb2R1bGVzLzogQ01ha2VEZXRlcm1pbmVGb3J0cmFuQ29tcGlsZXIuY21ha2UsCgkgIENNYWtlRm9ydHJhbkNvbXBpbGVyLmNtYWtlLmluLCBDTWFrZUZvcnRyYW5Db21waWxlcklkLkY5MCwKCSAgQ01ha2VGb3J0cmFuSW5mb3JtYXRpb24uY21ha2U6IEVOSDogVXNpbmcKCSAgQ01BS0VfREVURVJNSU5FX0NPTVBJTEVSX0lEIHRvIGRldGVybWluZSB0aGUgRm9ydHJhbiBjb21waWxlci4KCSAgVGhpcyB3b3JrcyBvbmx5IGZvciBGb3J0cmFuOTArIGNvbXBpbGVycyB0aGF0IHJ1biB0aGUKCSAgcHJlcHJvY2Vzc29yLiAgT3RoZXJ3aXNlIHdlIGZhbGwgYmFjayB0byB0aGUgb2xkIGJlaGF2aW9yLgoKMjAwNy0wNS0wMSAxODoyNyAga2luZwoKCSogTW9kdWxlcy86IENNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLAoJICBDTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlLCBDTWFrZURldGVybWluZUNvbXBpbGVySWQuY21ha2U6CgkgIEVOSDogQWRkZWQgZmxhZ3ZhciBhcmd1bWVudCB0byBDTUFLRV9ERVRFUk1JTkVfQ09NUElMRVJfSUQgdG8KCSAgY2hvb3NlIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBmcm9tIHdoaWNoIHRvIGdldCBmbGFncy4gIE1hZGUKCSAgcGFyc2luZyBvZiBJTkZPIGJsb2NrcyByb2J1c3QgdG8gaGF2aW5nIG1vcmUgdGhhbiBvbmUgaW4gYSBzaW5nbGUKCSAgc3RyaW5nLgoKMjAwNy0wNS0wMSAxODoyNiAga2luZwoKCSogTW9kdWxlcy86IENNYWtlQ0luZm9ybWF0aW9uLmNtYWtlLCBDTWFrZUNYWEluZm9ybWF0aW9uLmNtYWtlOgoJICBFTkg6IEFkZGVkIGNvZGUgdG8gbG9hZCBDb21waWxlcklkIHZlcnNpb24gb2YgcGxhdGZvcm0gZmlsZSBpZiBpdAoJICBleGlzdHMuICBTZXQgQ01BS0VfU0hBUkVEX0xJQlJBUllfTElOS19DWFhfRkxBR1Mgb25seSBpZiBpdCBpcwoJICBub3QgYWxyZWFkeSBkZWZpbmVkLgoKMjAwNy0wNS0wMSAxODoyNCAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS86IExpbnV4LVN1blByby1DLmNtYWtlLCBMaW51eC1TdW5Qcm8tQ1hYLmNtYWtlLAoJICBMaW51eC1TdW5Qcm8tRm9ydHJhbi5jbWFrZTogRU5IOiBBZGRpbmcgcGxhdGZvcm0gZmlsZSBmb3IgU3VuCgkgIFN0dWRpbyBFeHByZXNzIG9uIExpbnV4LgoKMjAwNy0wNS0wMSAxODoyMiAga2luZwoKCSogTW9kdWxlcy86IENNYWtlQ0NvbXBpbGVySWQuYywgQ01ha2VDWFhDb21waWxlcklkLmNwcCwKCSAgQ01ha2VEZXRlcm1pbmVDb21waWxlcklkLmNtYWtlLCBDTWFrZUxpc3RzLnR4dCwgRmluZE1QSS5jbWFrZSwKCSAgUGxhdGZvcm0vVW5peFBhdGhzLmNtYWtlOiBFTkg6IE1lcmdpbmcgbW9kdWxlcyBjaGFuZ2VzIGluIHJhbmdlCgkgIENNYWtlLU1vZHVsZXMtQ29tcGlsZXJJZC1tcDEtcG9zdCB0bwoJICBDTWFrZS1Nb2R1bGVzLUNvbXBpbGVySWQtdHJ1bmstbXAxIGZyb20gdHJ1bmsgdG8KCSAgQ01ha2UtTW9kdWxlcy1Db21waWxlcklkIGJyYW5jaC4KCjIwMDctMDUtMDEgMTc6MDIgIGFsZXgKCgkqIFNvdXJjZS9jbVRyeVJ1bkNvbW1hbmQuaDoKCSAgU1RZTEU6IGZpeCB0eXBvCgoJICBBbGV4CgoyMDA3LTA1LTAxIDE3OjAwICBhbGV4CgoJKiBTb3VyY2UvY21VdGlsaXR5U291cmNlQ29tbWFuZC5oOgoJICBTVFlMRTogYWNjb3JkaW5nIHRvIEJyYWQgdGhpcyBvbmUgaXMgYW5jaWVudCBhbmQgc2hvdWxkbid0IGJlCgkgIHVzZWQgZm9yIGFueSBuZXcgc3R1ZmYKCgkgIEFsZXgKCjIwMDctMDUtMDEgMTY6MzcgIGFsZXgKCgkqIE1vZHVsZXMvQ01ha2VUZXN0Q0NvbXBpbGVyLmNtYWtlOgoJICBCVUc6IGRvbid0IHVzZSBzdGRpbyBpbiB0aGUgdGVzdCBmb3IgYSBzaW1wbGUgZXhlY3V0YWJsZSwgZm9yCgkgIHNvbWUgZW1iZWRkZWQgdGFyZ2V0cy90b29sY2hhaW5zL3BsYXRmb3JtcyB0aGlzIG1pZ2h0IGFscmVhZHkgYmUKCSAgdG9vIG11Y2gKCgkgIEFsZXgKCjIwMDctMDUtMDEgMTY6MjUgIGFsZXgKCgkqIFNvdXJjZS86IGNtRmluZEJhc2UuY3h4LCBjbUZpbmRCYXNlLmg6CgkgIEVOSDogYWRkIHN1cHBvcnQgZm9yIENNQUtFX0ZJTkRfUFJFRklYLCBmb3IgcHJlcGVuZGluZyBhIHByZWZpeAoJICBiZWZvcmUgYWxsIGRpcmVjdG9yaWVzIHNlYXJjaGVkIGJ5IEZJTkRfWFhYKCksIHVzZWZ1bCBmb3IKCSAgZGVmaW5pbmcgYSBkaWZmZXJlbnQgcm9vdCBkaXJlY3RvcnkgZm9yIHRoZSBiYXNlIGRpcmVjdG9yeSBvZiB0aGUKCSAgdGFyZ2V0IHBsYXRmb3JtCgoJICBBbGV4CgoyMDA3LTA1LTAxIDE0OjM1ICBraW5nCgoJKiBNb2R1bGVzLzogQ01ha2VDQ29tcGlsZXJJZC5jLCBDTWFrZUNYWENvbXBpbGVySWQuY3BwOiBFTkg6CgkgIENoYW5nZWQgR05VQyBjb21waWxlciBpZCBuYW1lIHRvIEdOVS4KCjIwMDctMDUtMDEgMTQ6MjMgIGFsZXgKCgkqIE1vZHVsZXMvOiBDTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgQ01ha2VEZXRlcm1pbmVDWFhDb21waWxlci5jbWFrZToKCSAgRU5IOiBhZGQgdHdvIG5ldyB2YXJpYWJsZXM6IENNQUtFX1RPT0xDSEFJTl9QUkVGSVg6IHdpbGwgYmUKCSAgcHJlcGVuZGVkIHRvIGdjYywgYXIsIGcrKywgY2MsIGMrKyBhbmQgcmFubGliIGlmIGRlZmluZWQgKGdpdmVzCgkgIGUuZy4gYXJtLWVsZi1nY2MgZXRjLikgQ01BS0VfVE9PTENIQUlOX0xPQ0FUSU9OOiBpZiBkZWZpbmVkLCB0aGUKCSAgY29tcGlsZXJzIHdpbGwgYmUgc2VhcmNoZWQgb25seSB0aGVyZSwgdGhlIG90aGVyIHRvb2xzIGF0IGZpcnN0CgkgIHRoZXJlLCBhZnRlciB0aGF0IGluIG90aGVyIGxvY2F0aW9ucwoKCSAgSWYgbm90IGFscmVhZHkgZGVmaW5lZCwgYm90aCBvZiB0aGVtIHdpbGwgYmUgc2V0IGJ5CgkgIENNYWtlRGV0ZXJtaW5lWFhYQ29tcGlsZXIuY21ha2UgYW5kIHVzZWQgYnkgdGhlIG90aGVyIG9uZS4gSWYKCSAgbWl4aW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBDQy9DWFggYW5kIHRoZXNlIHZhcmlhYmxlcyB0aGlzCgkgIGNhbiBnaXZlIHdlaXJkIG1peHR1cmVzLgoKCSAgY2hhbmdlIG9yZGVyIG9mIGNvbXBpbGVyIG5hbWVzIGZvciBDWFg6IGZyb20gYysrLCBnKysgdG8gZysrLCBjKysKCSAgKHNhbWUgb3JkZXIgYXMgZm9yIEMpCgoJICBBbGV4CgoyMDA3LTA1LTAxIDE0OjEyICBraW5nCgoJKiBUZXN0cy9DdXN0b21Db21tYW5kLzogQ01ha2VMaXN0cy50eHQsIGNoZWNrX21hcmsuY21ha2U6IEVOSDoKCSAgQWRkZWQgdGVzdCB0byBtYWtlIHN1cmUgY3VzdG9tIGNvbW1hbmRzIGFyZSBub3QgYnVpbHQgbW9yZSB0aGFuCgkgIG9uY2UgaW4gYSBzaW5nbGUgYnVpbGQuICBUaGlzIHRlc3RzIGZvciBhIGJ1ZyBpbnRyb2R1Y2VkIGJ5IG9uZQoJICBmaXggYW5kIGZpeGVkIGJ5IGFub3RoZXIgZml4IGZvciBidWcjNDM3Ny4KCjIwMDctMDUtMDEgMTM6NTEgIGtpbmcKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGVFeGVjdXRhYmxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwgY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5oLAoJICBjbU1ha2VmaWxlVXRpbGl0eVRhcmdldEdlbmVyYXRvci5jeHg6IEJVRzogQSB1dGlsaXR5IHRhcmdldAoJICBzaG91bGQgbm90IHJ1biB0aGUgY3VzdG9tIGNvbW1hbmRzIGZyb20gaXRzIHNvdXJjZSBmaWxlcwoJICBkaXJlY3RseS4gIFRoZSB0YXJnZXQtbGV2ZWwgcnVsZSBtdXN0IGFkZCBkZXBlbmRlbmNpZXMgb24gdGhlCgkgIGZpbGUtbGV2ZWwgY3VzdG9tIGNvbW1hbmRzIHRvIGRyaXZlIHRoZW0uICBUaGlzIGJ1ZyB3YXMKCSAgaW50cm9kdWNlZCBieSB0aGUgImZpeCIgdG8gYnVnIDQzNzcuCVRoaXMgYWxzbyByZXN0b3JlcyB0aGUKCSAgZG9jdW1lbnRlZCBiZWhhdmlvciB0aGF0IFBSRV9CVUlMRCBydWxlcyBhcmUgdHJlYXRlZCBhcyBQUkVfTElOSwoJICBydWxlcyBvbiBub24tVlMgZ2VuZXJhdG9ycy4gIEFsc28gZml4ZWQgY3VzdG9tIGNvbW1hbmQKCSAgZGVwZW5kZW5jaWVzIG9uIHRoZSBydWxlIGZpbGUgYnVpbGQubWFrZSBzbyB0aGF0IGN1c3RvbSBjb21tYW5kcwoJICByZS1ydW4gd2hlbiB0aGUgY29tbWFuZHMgdGhlbXNlbHZlcyBjaGFuZ2UuCgoyMDA3LTA1LTAxIDEzOjEzICBhbGV4CgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lU3lzdGVtLmNtYWtlOgoJICBTVFlMRTogdGhlIHNlY29uZCBjaGVjayBmb3IgdW5hbWUgd2Fzbid0IGludGVuZGVkIHRvIGJlIGNvbW1pdHRlZAoKCSAgQWxleAoKMjAwNy0wNS0wMSAxMzoxMSAgYWxleAoKCSogTW9kdWxlcy9DTWFrZURldGVybWluZVN5c3RlbS5jbWFrZToKCSAgRU5IOiBuZXcgdmFyaWFibGUgQ01BS0VfVE9PTENIQUlOX0ZJTEUgd2hpY2ggY2FuIGJlIHVzZWQgdG8KCSAgc3BlY2lmeSBhIGNtYWtlIGZpbGUgd2hpY2ggd2lsbCBiZSBsb2FkZWQgZXZlbiBiZWZvcmUgY21ha2UgdHJpZXMKCSAgdG8gZGV0ZWN0IHRoZSBzeXN0ZW0sIHNvIHBlb3BsZSBjYW4gc2V0IGUuZy4gQ01BS0VfU1lTVEVNIHRvIHRoZQoJICB2YWx1ZSBmb3IgdGhlaXIgdGFyZ2V0IHBsYXRmb3JtLiAgT25seSBkZXRlY3QgQ01BS0VfU1lTVEVNIGlmIGl0CgkgIGlzbid0IHNldCB5ZXQuCgoJICBBbGV4CgoyMDA3LTA1LTAxIDEzOjA3ICBhbGV4CgoJKiBNb2R1bGVzLzogQ01ha2VDSW5mb3JtYXRpb24uY21ha2UsIENNYWtlQ1hYSW5mb3JtYXRpb24uY21ha2U6CgkgIEVOSDogdXNlIENNQUtFX1NZU1RFTV9BTkRfQ1tYWF1fQ09NUElMRVJfSU5GT19GSUxFIGZvciBsb2FkaW5nCgkgIHRoZSBmaWxlIGluZm8gZmlsZSwgYnV0IGRvbid0IG92ZXJ3cml0ZSBpdCBpZiBpdCBoYXMgYWxyZWFkeSBiZWVuCgkgIHNwZWNpZmllZC4gVGhpcyBpcyBuZWVkZWQgZm9yIGNyb3NzIGNvbXBpbGluZyBzbyBwZW9wbGUgY2FuCgkgIGV4cGxpY2l0ZWx5IHNheSB3aGljaCBmaWxlIHRvIHVzZSBkZXBlbmRpbmcgb24gdGhlaXIgdGFyZ2V0CgkgIHBsYXRmb3JtCgoJICBBbGV4CgoyMDA3LTA1LTAxIDExOjQ2ICBhbGV4CgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6CgkgIEJVRzogZml4IGNtYWtlIGxpc3RmaWxlIHN0YWNrOiBpZiBhIGZpbGUgY291bGQgbm90IGJlIG9wZW5lZCwKCSAgcmVtb3ZlIGl0IGZyb20gdGhlIHN0YWNrICh1c3VhbGx5IENNYWtlQ0luZm9ybWF0aW9uLmNtYWtlIGFuZAoJICBDTWFrZUNYWEluZm9ybWF0aW9uLmNtYWtlIHdoaWNoIGJvdGggcHV0IExpbnV4LWdjYy5jbWFrZSBvbiB0aGUKCSAgc3RhY2sgd2l0aG91dCByZW1vdmluZyBpdCBhZ2FpbjogSU5DTFVERSguLi4gT1BUSU9OQUwpICkgU1RZTEU6CgkgIGJldHRlciByZWFkYWJsZSBvdXRwdXQgZm9ybWF0dGluZyBvZiB0aGUgbGlzdGZpbGUgc3RhY2ssIG5vdyBpbgoJICB0aGUgc2FtZSBvcmRlciBhcyBpbiBnZGIgb3Igd2l0aCBpbmNsdWRlIGZpbGVzCgoJICBBbGV4CgoyMDA3LTA1LTAxIDA0OjIwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDQtMzAgMTg6MTAgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VDWFhDb21waWxlcklkLmNwcDogU1RZTEU6IEFkZGVkIGNvbW1lbnQgZXhwbGFpbmluZwoJICBjaG9pY2Ugb2YgZmlsZSBleHRlbnNpb24uCgoyMDA3LTA0LTMwIDE4OjA5ICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlTGlzdHMudHh0OiBCVUc6IE5lZWQgdG8gaW5zdGFsbAoJICBDTWFrZUNYWENvbXBpbGVySWQuY3BwIHNvIHRoYXQgQysrIGNvbXBpbGVyIGlkZW50aWZpY2F0aW9uIHdvcmtzCgkgIGluIGFuIGluc3RhbGwgdHJlZS4KCjIwMDctMDQtMzAgMTc6MDUgIGFsZXgKCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDb21waWxlcklkLmNtYWtlOgoJICBTVFlMRTogY29tbWVudCB3aGljaCBzYXlzIHdoaWNoIHZhcmlhYmxlcyB0aGlzIG1hY3JvIHNldHMKCgkgIEFsZXgKCjIwMDctMDQtMzAgMTc6MDMgIGFsZXgKCgkqIE1vZHVsZXMvRmluZE1QSS5jbWFrZToKCSAgU1RZTEU6IHVzZSB0aGUgbmV3ZXIgRklORF9YWFggc3ludGF4LCB3aGljaCBzaG91bGQgZmluZCBNUEkgaW4KCSAgZXZlbiBtb3JlIGRpcmVjdG9yaWVzIGFuZCBkb2Vzbid0IHJlcXVpcmUgdG8gbGlzdCBzdGFuZGFyZAoJICBkaXJlY3RvcmllcyBsaWtlIC91c3IvbGliLCBldGMuCgoJICBBbGV4CgoyMDA3LTA0LTMwIDE2OjA1ICBhbGV4CgoJKiBNb2R1bGVzL0NNYWtlTGlzdHMudHh0OgoJICBCVUc6IGFsc28gaW5zdGFsbCBDTWFrZVBsYXRmb3JtSWQuaCwgb3RoZXJ3aXNlIHRoZSBjaGVjayBmb3IgdGhlCgkgIGNvbXBpbGVyIGlkIHdvcmtzIG9ubHkgd2hlbiBidWlsZGluZyBjbWFrZSBpdHNlbGYsIGJ1dCBub3Qgd2l0aAoJICBhbiBpbnN0YWxsZWQgY21ha2UKCgkgIEFsZXgKCjIwMDctMDQtMzAgMTA6NTcgIGFsZXgKCgkqIE1vZHVsZXMvUGxhdGZvcm0vVW5peFBhdGhzLmNtYWtlOgoJICBCVUc6IGlmIC9vcHQvbGliIGFuZCAvb3B0L2Nzdy9saWIgYXJlIHNlYXJjaGVkIGZvciBsaWJzLCB0aGVuCgkgIC9vcHQvaW5jbHVkZSBhbmQgL29wdC9jc3cvaW5jbHVkZSBzaG91bGQgYWxzbyBiZSBzZWFyY2hlZCBmb3IKCSAgaGVhZGVycyAoYWNjb3JkaW5nIHRvIGdvb2dsZSB0aGV5IGFsc28gZXhpc3QpCgoJICBBbGV4CgoyMDA3LTA0LTI5IDIzOjMzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDQtMjkgMDM6MDUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNC0yOCAxMjozNSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA0LTI4IDA5OjM1ICBraW5nCgoJKiBNb2R1bGVzLzogQ01ha2VDQ29tcGlsZXIuY21ha2UuaW4sIENNYWtlQ0NvbXBpbGVySWQuYywKCSAgQ01ha2VDWFhDb21waWxlci5jbWFrZS5pbiwgQ01ha2VDWFhDb21waWxlcklkLmNwcCwKCSAgQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2UsIENNYWtlRGV0ZXJtaW5lQ1hYQ29tcGlsZXIuY21ha2UsCgkgIENNYWtlRGV0ZXJtaW5lQ29tcGlsZXJJZC5jbWFrZSwgQ01ha2VQbGF0Zm9ybUlkLmg6IEVOSDogTWVyZ2luZwoJICBDb21waWxlcklkIGltcGxlbWVudGF0aW9uIGZyb20gYnJhbmNoIENNYWtlLU1vZHVsZXMtQ29tcGlsZXJJZCB0bwoJICB0aGUgbWFpbiB0cmVlLiAgQ2hhbmdlcyBiZXR3ZWVuIENNYWtlLU1vZHVsZXMtQ29tcGlsZXJJZC1icCBhbmQKCSAgQ01ha2UtTW9kdWxlcy1Db21waWxlcklkLW1wMSBhcmUgaW5jbHVkZWQuCgoyMDA3LTA0LTI4IDA4OjI1ICBraW5nCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdENvdmVyYWdlSGFuZGxlci5jeHg6IFNUWUxFOiBGaXhlZCBsaW5lIHRvbwoJICBsb25nLgoKMjAwNy0wNC0yNyAxMDo0NCAga2luZwoKCSogTW9kdWxlcy86IENNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLAoJICBDTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlOiBFTkg6IEhhcmQtY29kZWQgcGxhdGZvcm0gZm9yCgkgIFZpc3VhbCBTdHVkaW8gZ2VuZXJhdG9ycy4gIEFkZGVkIFRPRE8gY29tbWVudCBhYm91dCBzZXR0aW5nIHRoZQoJICBjb21waWxlciBpZC4KCjIwMDctMDQtMjcgMTA6MjkgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDb21waWxlcklkLmNtYWtlOiBCVUc6IFdoZW4gcGFzc2luZyB0aGUKCSAgY29tcGlsZXIgaWQgc291cmNlIGZpbGUgdG8gdGhlIGNvbXBpbGVyLCB0aGUgbmF0aXZlIGZpbGUgcGF0aAoJICBmb3JtYXQgc2hvdWxkIGJlIHVzZWQgb24gdGhlIGNvbW1hbmQgbGluZS4KCjIwMDctMDQtMjcgMTA6MjYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNC0yNyAxMDoxOSAga2luZwoKCSogTW9kdWxlcy86IENNYWtlQ0NvbXBpbGVySWQuYywgQ01ha2VDWFhDb21waWxlcklkLmNwcDogRU5IOiBBZGRlZAoJICBXYXRjb20gY29tcGlsZXIgaWRlbnRpZmllci4KCjIwMDctMDQtMjcgMDk6NDYgIGtpbmcKCgkqIE1vZHVsZXMvOiBDTWFrZUNDb21waWxlcklkLmMsIENNYWtlQ1hYQ29tcGlsZXJJZC5jcHA6IEJVRzogRml4ZWQKCSAgZm9yIEhQIGNvbXBpbGVycy4KCjIwMDctMDQtMjcgMDk6MjAgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDb21waWxlcklkLmNtYWtlOiBCVUc6IE5lZWQgdG8gc3RyaXAgYWxsCgkgIHRleHQgYmVmb3JlIGFuZCBhZnRlciB0aGUgSU5GTyBibG9jayBiZWNhdXNlIHRoZSBiaW5hcnkgbWF5CgkgIGNvbnRhaW4gc3RyaW5nIGRhdGEgbGVhZGluZyB1cCB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzdHJpbmdzLgoKMjAwNy0wNC0yNyAwOTowOSAga2luZwoKCSogTW9kdWxlcy86IENNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLAoJICBDTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlOiBCVUc6IFN0aWxsIG5lZWQgdG8gaWRlbnRpZnkKCSAgY29tcGlsZXIgdXNpbmcgY29tbWFuZCBsaW5lIGZvciBYY29kZSBnZW5lcmF0b3IuCgoyMDA3LTA0LTI3IDA5OjAxICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdENvdmVyYWdlSGFuZGxlci5oOiBTVFlMRTogQWRkIHNvbW1lIGNvbW1lbnRzCgoyMDA3LTA0LTI3IDA4OjU3ICBraW5nCgoJKiBNb2R1bGVzLzogQ01ha2VDQ29tcGlsZXIuY21ha2UuaW4sIENNYWtlQ0NvbXBpbGVySWQuYywKCSAgQ01ha2VDWFhDb21waWxlci5jbWFrZS5pbiwgQ01ha2VDWFhDb21waWxlcklkLmNwcCwKCSAgQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2UsIENNYWtlRGV0ZXJtaW5lQ1hYQ29tcGlsZXIuY21ha2UsCgkgIENNYWtlRGV0ZXJtaW5lQ29tcGlsZXJJZC5jbWFrZSwgQ01ha2VQbGF0Zm9ybUlkLmg6IEVOSDogSW5pdGlhbAoJICBjaGVja2luIG9mIENvbXBpbGVySWQgZmVhdHVyZSBvbiBDTWFrZS1Nb2R1bGVzLUNvbXBpbGVySWQgYnJhbmNoLgoJICBUaGlzIGhlbHBzIGlkZW50aWZ5IGNvbXBpbGVycyBhbmQgcGxhdGZvcm1zIGJ5IGFjdHVhbGx5IGJ1aWxkaW5nCgkgIGEgc291cmNlIGZpbGUgYW5kIHVzaW5nIHRoZSBwcmVwcm9jZXNzb3IgZGVmaW5pdGlvbnMgdG8gcmVjb2duaXplCgkgIGtub3duIGNvbXBpbGVycy4KCjIwMDctMDQtMjYgMjM6MjAgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4LAoJICBjbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmg6IEVOSDogSW5pdGlhbCBhdHRlbXB0IHRvIGRvIHB5dGhvbgoJICBjb3ZlcmFnZS4gSG9wZWZ1bGx5IHdpbGwgbm90IGJyZWFrIGNvdmVyYWdlIG9uIEdDb3YKCjIwMDctMDQtMjYgMjE6NTAgIGFuZHkKCgkqIFNvdXJjZS9jbVN0cmluZ0NvbW1hbmQuY3h4LCBTb3VyY2UvY21TdHJpbmdDb21tYW5kLmgsCgkgIFRlc3RzL1N0cmluZ0ZpbGVUZXN0L0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZCBTVFJJTkcgU1RSSVAKCSAgY29tbWFuZAoKMjAwNy0wNC0yNiAwOTo1NiAga2luZwoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4OiBDT01QOiBBdm9pZCB3YXJuaW5nLgoKMjAwNy0wNC0yNiAwNzo1OCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA0LTI1IDE3OjQ4ICBraW5nCgoJKiBTb3VyY2UvY21TdHJpbmdDb21tYW5kLmg6IFNUWUxFOiBGaXhlZCBsaW5lLXRvby1sb25nLgoKMjAwNy0wNC0yNSAxNzoyMiAga2luZwoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21GaWxlQ29tbWFuZC5oLAoJICBUZXN0cy9TdHJpbmdGaWxlVGVzdC9DTWFrZUxpc3RzLnR4dDogRU5IOiBBZGRlZCBGSUxFKFNUUklOR1MpCgkgIGNvbW1hbmQuCgoyMDA3LTA0LTI1IDE2OjIyICBhbGV4CgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ1hYQ29tcGlsZXIuY21ha2U6CgkgIFNUWUxFOiBmaXggdHlwbyAiQ0NDIiAtPiAiQ0MiLCBhZGQgY29tbWVudHMgd2hpY2ggdmFyaWFibGVzIGl0CgkgIHNldHMKCgkgIEFsZXgKCjIwMDctMDQtMjUgMDU6MDEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNC0yNCAxNDowMyAgaG9mZm1hbgoKCSogU291cmNlL2NtRW5hYmxlTGFuZ3VhZ2VDb21tYW5kLmg6IEVOSDogZml4IGRvY3MKCjIwMDctMDQtMjQgMTI6MzAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHg6IEVOSDogZml4IHNlZyBmYXVsdCBpbiBjY21ha2Ugd2hlbgoJICBoaXR0aW5nIGNvbmZpZ3VyZSB0d2ljZQoKMjAwNy0wNC0yNCAwMTo1MiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA0LTIzIDE2OjQ4ICBraW5nCgoJKiBTb3VyY2UvY21TdHJpbmdDb21tYW5kLmN4eDogQ09NUDogQWRkZWQgbWlzc2luZyBpbmNsdWRlIGZvciB0aW1lLgoKMjAwNy0wNC0yMyAxMTowNCAgbWFydGluawoKCSogU291cmNlLzogY21TdHJpbmdDb21tYW5kLmN4eCwgY21TdHJpbmdDb21tYW5kLmg6IEVOSDogQWRkIGNvbW1hbmQKCSAgdG8gZ2VuZXJhdGUgcmFuZG9tIHN0cmluZ3MKCjIwMDctMDQtMjIgMjM6NTUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNC0yMSAxODozNyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA0LTIwIDExOjUzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNQbGF0Zm9ybVRlc3RzQ1hYLmN4eDogQ09NUDogTWFrZSBzdXJlIGdjYyAyLjk2CgkgIHNzdHJlYW0gaGVhZGVyIGlzIG5vdCB1c2VkLgoKMjAwNy0wNC0yMCAwOTo1MCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzX2lvc19zc3RyZWFtLmguaW46IENPTVA6IEFkZGVkCgkgIGlzdHJpbmdzdHJlYW06OmNsZWFyKCkgbWV0aG9kIHRvIGRpc2FtYmlndWF0ZSB0aGUgY2FsbCBmcm9tIHVzaW5nCgkgIHN0cmluZzo6Y2xlYXIgb3IgaXN0cnN0cmVhbTo6Y2xlYXIuCgoyMDA3LTA0LTIwIDA5OjQ5ICBraW5nCgoJKiBTb3VyY2UvY21Mb2FkQ29tbWFuZENvbW1hbmQuY3h4OiBCVUc6IFJldmVydGluZyBwcmV2aW91cyBjaGFuZ2UuCgkgIEl0IGRpZCBub3QgYWNjb3VudCBmb3IgdGhlIHBvc3NpYmlsaXR5IHRoYXQgdGhlIGxvYWRlZCBjb21tYW5kCgkgIHdhcyBidWlsdCB3aXRoIGEgZGlmZmVyZW50IGNvbXBpbGVyLgoKMjAwNy0wNC0yMCAwNDozMyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA0LTE5IDEyOjU2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvdGVzdElPUy5jeHg6IEJVRzogTmVlZCB0byBjbGVhciByZWFkIGZhaWx1cmUgd2hlbgoJICBzdHJpbmcgaXMgcmVzZXQuCgoyMDA3LTA0LTE5IDEyOjUzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvdGVzdElPUy5jeHg6IEVOSDogQWRkZWQgdGVzdGluZyBmb3IgaXN0cmluZ3N0cmVhbQoJICBhbmQgc3RyaW5nc3RyZWFtLgoKMjAwNy0wNC0xOSAxMjo0NCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzX3N0bF9zdHJpbmcuaHh4LmluOiBCVUc6IEZpeCBzdHJlYW0gc3RhdGUgb24KCSAgc3VjY2Vzc2Z1bGx5IHJlYWRpbmcgYSBzdHJpbmcuCgoyMDA3LTA0LTE5IDEyOjEyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBTdHJpbmcuaHh4LmluLCBrd3N5c19pb3Nfc3N0cmVhbS5oLmluOiBDT01QOiBGaXhlcwoJICBmb3IgV2F0Y29tLgoKMjAwNy0wNC0xOSAxMjoxMSAga2luZwoKCSogU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0OiBDT01QOiBTa2lwIHRlc3RBdXRvUHRyIGFuZAoJICB0ZXN0SGFzaFNUTCBvbiBXYXRjb20uICBUaGV5IGFyZSBob3BlbGVzcy4KCjIwMDctMDQtMTkgMTI6MTEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9FbmNvZGVFeGVjdXRhYmxlLmM6IENPTVA6IE5lZWQgdG8gaW5jbHVkZSBoZWFkZXIgZm9yCgkgIHVubGluayBmdW5jdGlvbi4KCjIwMDctMDQtMTkgMTE6MzIgIGtpbmcKCgkqIFRlc3RzL1BsdWdpbi9zcmMvOiBleGFtcGxlX2V4ZS5jeHgsIGV4YW1wbGVfbW9kXzEuYzogRU5IOiBBZGRlZAoJICBmdW5jdGlvbiBjYWxsIGFyZ3VtZW50IHRvIG1vZHVsZSBmdW5jdGlvbiB0byBtYWtlIHN1cmUgY2FsbGluZwoJICBjb252ZW50aW9uIG1hdGNoZXMgb24gbG9va3VwLiAgRml4ZWQgZm9yIFdhdGNvbS4KCjIwMDctMDQtMTkgMTE6MzEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9EeW5hbWljTG9hZGVyLmN4eDogRU5IOiBBZGRlZCBzdXBwb3J0IGZvciBXYXRjb20KCSAgY29tcGlsZXIuICBBZGRlZCBUT0RPIGNvbW1lbnQgYWJvdXQgY2FsbGluZyBjb252ZW50aW9ucy4KCjIwMDctMDQtMTkgMTE6MjMgIGtpbmcKCgkqIFNvdXJjZS9jbUxvYWRDb21tYW5kQ29tbWFuZC5jeHg6IEVOSDogUmVtb3ZlZCBjb2RlIHVubmVjZXNzYXJ5CgkgIG5vdyB0aGF0IER5bmFtaWNMb2FkZXIgaXMgaW1wbGVtZW50ZWQgYmV0dGVyLgoKMjAwNy0wNC0xOSAxMToyMSAga2luZwoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIGt3c3lzX3N0bF9zdHJpbmcuaHh4LmluOiBFTkg6CgkgIEZpeGVkIHN0bCBzdHJpbmcgc3RyZWFtaW5nIG9wZXJhdG9ycyBmb3IgV2F0Y29tLgoKMjAwNy0wNC0xOSAwNDowMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA0LTE4IDA5OjU2ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEJVRzogRml4IENvbXB1dGVMaW5rSW5mb3JtYXRpb24uCgkgIFdoZW4gdXNpbmcgYSBsb2FkZXJfZmxhZyBsaW5rIGl0ZW0gdGhlIGZ1bGwgcGVyLWNvbmZpZ3VyYXRpb24KCSAgcGF0aCBzaG91bGQgYmUgdXNlZC4JVGhlIGZ1bGxQYXRoTGlicyByZXR1cm5lZCBzaG91bGQgcmVmZXIgdG8KCSAgdGhlIGltcG9ydCBsaWJyYXJ5IGlmIGl0IHdhcyB1c2VkLiAgU2luY2UgdGhlIGZ1bGwgcGF0aHMgYXJlIHVzZWQKCSAgZm9yIGRlcGVuZGVuY2llcyB0aGUgZXhlY3V0YWJsZSB1c2VkIHdpdGggbG9hZGVyX2ZsYWcgc2hvdWxkIGJlCgkgIHJldHVybmVkIGFsc28uCgoyMDA3LTA0LTE4IDA0OjEyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDQtMTggMDA6MTIgIGtpbmcKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBQbHVnaW4gdGVzdCBzaG91bGQgbm93IHdvcmsgb24gUU5YLgoKMjAwNy0wNC0xOCAwMDoxMSAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9RTlguY21ha2U6IEVOSDogQWRkIENNQUtFX0VYRV9FWFBPUlRTX0NfRkxBRyBhbmQKCSAgQ01BS0VfRVhFX0VYUE9SVFNfQ1hYX0ZMQUcgdG8gc3VwcG9ydCBleGVjdXRhYmxlcyB0aGF0IGV4cG9ydAoJICBzeW1ib2xzLgoKMjAwNy0wNC0xOCAwMDowNCAga2luZwoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBCVUc6IENhbm5vdCBlc2NhcGUgbGluayBpdGVtcwoJICBiZWNhdXNlIHNvbWUgbmVlZCB0aGUgc3BhY2VzIHRvIHNlcGFyYXRlIGFyZ3VtZW50cy4gIEluc3RlYWQganVzdAoJICBlc2NhcGUgdGhlIGFyZ3VtZW50IHRvIHRoZSBsb2FkZXIgZmxhZy4KCjIwMDctMDQtMTcgMjM6NDAgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vOiBMaW51eC5jbWFrZSwgRnJlZUJTRC5jbWFrZTogRU5IOiBBZGRlZAoJICBDTUFLRV9FWEVfRVhQT1JUU19DX0ZMQUcgYW5kIENNQUtFX0VYRV9FWFBPUlRTX0NYWF9GTEFHIHRvCgkgIHN1cHBvcnQgZXhlY3V0YWJsZXMgdGhhdCBleHBvcnQgc3ltYm9scy4KCjIwMDctMDQtMTcgMjM6MzkgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5jeHg6IEVOSDogQWRkZWQKCSAgcGxhdGZvcm0gdmFyaWFibGUgQ01BS0VfRVhFX0VYUE9SVFNfPGxhbmc+X0ZMQUcgdG8gYWRkIGEgbGlua2VyCgkgIGZsYWcgd2hlbiBidWlsZGluZyBleGVjdXRhYmxlcyB0aGF0IGhhdmUgdGhlIEVOQUJMRV9FWFBPUlRTCgkgIHByb3BlcnR5IHNldC4KCjIwMDctMDQtMTcgMjM6MjcgIGtpbmcKCgkqIFRlc3RzL1BsdWdpbi9DTWFrZUxpc3RzLnR4dDogQ09NUDogTmVlZCB0byBlbmFibGUgYW5zaSBDCgkgIGZlYXR1cmVzLgoKMjAwNy0wNC0xNyAyMzoxNiAga2luZwoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBCVUc6IEZpeCBDb21wdXRlTGlua0luZm9ybWF0aW9uIGZvcgoJICBub24tbGlua2VkIHRhcmdldHMuICBXaHkgaXMgaXQgY2FsbGVkIGZvciB1dGlsaXR5IHRhcmdldHMgYW55d2F5PwoKMjAwNy0wNC0xNyAxODoxOCAga2luZwoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9QbHVnaW4vaW5jbHVkZS9leGFtcGxlLmg6IEVOSDogRml4ZWQKCSAgUGx1Z2luIHRlc3Qgb24gQ3lnd2luLgoKMjAwNy0wNC0xNyAxNjo0MiAga2luZwoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBCVUc6IERpc2FibGUgUGx1Z2luIHRlc3Qgb24gQ3lnd2luIHVudGlsCgkgIGl0IGlzIGltcGxlbWVudGVkLgoKMjAwNy0wNC0xNyAxNjozNCAga2luZwoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IFJlLWVuYWJsaW5nIFBsdWdpbiB0ZXN0IG5vdyB0aGF0IGl0CgkgIHNob3VsZCB3b3JrIG9uIE1hY09TWC4gIEkgd2lsbCBsZXQgaXQgcnVuIG9uZSBuaWdodCB0byBzZWUgd2hhdAoJICBwbGF0Zm9ybXMgYXJlIHN0aWxsIG5vdCBpbXBsZW1lbnRlZC4JQ3VycmVudGx5IGl0IGlzIG5vdCBydW4gb24KCSAgUU5YIGJlY2F1c2UgaXQgaXMga25vd24gdG8gbm90IGJlIGltcGxlbWVudGVkIHRoZXJlLgoKMjAwNy0wNC0xNyAxNjoxOSAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9EYXJ3aW4uY21ha2U6IEVOSDogQWRkZWQKCSAgQ01BS0VfU0hBUkVEX01PRFVMRV9MT0FERVJfQ19GTEFHIGFuZAoJICBDTUFLRV9TSEFSRURfTU9EVUxFX0xPQURFUl9DWFhfRkxBRyB0byBzdXBwb3J0IGxpbmtpbmcgcGx1Z2lucyB0bwoJICBleGVjdXRhYmxlcy4KCjIwMDctMDQtMTcgMTY6MTEgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogRU5IOiBBZGRlZCB1c2Ugb2YgcGxhdGZvcm0gdmFyaWFibGUKCSAgQ01BS0VfU0hBUkVEX01PRFVMRV9MT0FERVJfPGxhbmc+X0ZMQUcgdG8gYWRkIGEgc3BlY2lhbCBmbGFnIHdoZW4KCSAgbGlua2luZyBhIHBsdWdpbiB0byBhbiBleGVjdXRhYmxlIHRoYXQgbG9hZHMgaXQuCgoyMDA3LTA0LTE3IDE1OjA2ICBraW5nCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEJVRzogRGlzYWJsZSBQbHVnaW4gdGVzdCB1bnRpbCBpdCB3b3JrcwoJICBldmVyeXdoZXJlLgoKMjAwNy0wNC0xNyAxNDowOCAga2luZwoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZGVkIHRlc3QgZm9yIGV4ZWN1dGFibGVzIHdpdGgKCSAgcGx1Z2lucyB0aGF0IHVzZSBhbiBBUEkgZXhwb3J0ZWQgYnkgdGhlIGV4ZWN1dGFibGUgaXRzZWxmLgoKMjAwNy0wNC0xNyAxMzo1MiAga2luZwoKCSogVGVzdHMvUGx1Z2luLzogQ01ha2VMaXN0cy50eHQsIHNyYy9leGFtcGxlX2V4ZS5jeHgsCgkgIHNyYy9leGFtcGxlX2V4ZS5oLmluOiBFTkg6IENvbmZpZ3VyZSBsb2NhdGlvbiBvZiBwbHVnaW4gZmlsZXMgc28KCSAgdGhhdCB0aGUgZXhlY3V0YWJsZSBjYW4gcnVuIHdpdGggYW55IGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuCgoyMDA3LTA0LTE3IDEzOjQzICBraW5nCgoJKiBUZXN0cy9QbHVnaW4vOiBDTWFrZUxpc3RzLnR4dCwgaW5jbHVkZS9leGFtcGxlLmgsCgkgIHNyYy9leGFtcGxlX2V4ZS5jeHgsIHNyYy9leGFtcGxlX21vZF8xLmM6IEVOSDogQWRkZWQgdGVzdCBmb3IKCSAgZXhlY3V0YWJsZXMgd2l0aCBwbHVnaW5zIHRoYXQgdXNlIGFuIEFQSSBleHBvcnRlZCBieSB0aGUKCSAgZXhlY3V0YWJsZSBpdHNlbGYuCgoyMDA3LTA0LTE3IDA0OjQ4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDQtMTYgMDQ6MDMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNC0xNSAxMTo1NiAgYW5keQoKCSogVXRpbGl0aWVzL2NtY3VybC9UZXN0aW5nL3NlcGhlYWRlcnMuYzogRU5IOiBGaXggb2xkIGFwaQoKMjAwNy0wNC0xNSAwMzo0NiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA0LTE0IDAyOjUzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDQtMTMgMTA6MjIgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBFTkg6IGJldHRlciBwcm9ncmVzcwoJICBmb3IgYW55IGRpcmVjdG9yeSB0aGF0IGlzIGEgcHJvamVjdAoKMjAwNy0wNC0xMyAwMTowNiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA0LTEyIDE1OjUwICBhbmR5CgoJKiBTb3VyY2UvY21WYXJpYWJsZVdhdGNoQ29tbWFuZC5jeHg6IFNUWUxFOiBGaXggbGluZSBsZW5ndGhzCgoyMDA3LTA0LTEyIDE1OjQ2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oOiBFTkg6IHNvbWUgY29kZSBjb25zb2xpZGF0aW9uCgkgIGFuZCBjbGVhbnVwCgoyMDA3LTA0LTEyIDE0OjIxICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBmaXggcHJvZ3Jlc3MgZm9yCgkgIEVOQ0xVREVfRk9STV9BTEwgY2FzZXMgdXNpbmcgbmV3IHByb2plY3QgdG8gdGFyZ2V0IG1hcC4gT25seQoJICBmaXhlcyBpdCBmb3IgdGhlIHRvcCBsZXZlbCBhbGwgdGFyZ2V0CgoyMDA3LTA0LTEyIDEwOjU2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1dpbjMyLmM6IEVOSDogQWRkZWQgS1dTWVNQRV9ERUJVRyBtYWNybyB0bwoJICBwcmludCBkZWJ1Z2dpbmcgdHJhY2UgaW5mb3JtYXRpb24uICBBZGRlZCBUT0RPIGNvbW1lbnQgZXhwbGFpbmluZwoJICB3aHkgcHJvY2VzcyBleGVjdXRpb24gY2FuIHN0aWxsIGhhbmcgd2hlbiBhIGdyYW5kY2hpbGQga2VlcHMgdGhlCgkgIG91dHB1dCBwaXBlcyBvcGVuLgoKMjAwNy0wNC0xMSAxNzoyMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA0LTExIDE1OjEzICBhbmR5CgoJKiBTb3VyY2UvY21Db21tYW5kcy5jeHgsIFNvdXJjZS9jbUZpbmRQYWNrYWdlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwgU291cmNlL2NtVmFyaWFibGVXYXRjaC5jeHgsCgkgIFNvdXJjZS9jbVZhcmlhYmxlV2F0Y2guaCwgU291cmNlL2NtVmFyaWFibGVXYXRjaENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21WYXJpYWJsZVdhdGNoQ29tbWFuZC5oLCBTb3VyY2UvY21ha2UuY3h4LAoJICBUZXN0cy9DTWFrZVRlc3RzL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9DTWFrZVRlc3RzL1ZhcmlhYmxlV2F0Y2hUZXN0LmNtYWtlLmluOiBFTkg6IEFkZCB2YXJpYWJsZQoJICB3YXRjaCBjb21tYW5kCgoyMDA3LTA0LTExIDEwOjAwICBraW5nCgoJKiBTb3VyY2UvY21NYXJrQXNBZHZhbmNlZENvbW1hbmQuY3h4OiBTVFlMRTogRml4ZWQgbGluZS10b28tbG9uZy4KCjIwMDctMDQtMTAgMjE6NDcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNC0xMCAxNzoxMiAgdXRrYXJzaDEKCgkqIFV0aWxpdGllcy9jbWN1cmwvQ01ha2VMaXN0cy50eHQ6IEVOSDogTWVyZ2luZyBicmFuY2gKCSAgUFZFRS1FUkRDLVNldHVwLTQtMy0yMDA3IHRvIG1haW4gdHJlZS4gQ2hhbmdlcyBiZXR3ZWVuCgkgIFBWRUUtRVJEQy1TZXR1cC00LTMtMjAwNy1icCBhbmQgUFZFRS1FUkRDLVNldHVwLTQtMy0yMDA3LW1wMSBhcmUKCSAgaW5jbHVkZWQuCgoyMDA3LTA0LTEwIDE2OjAzICBraW5nCgoJKiBTb3VyY2UvY21DYWNoZU1hbmFnZXIuaDogQlVHOiBXaGVuIGEgbm9uLWNhY2hlIHZhcmlhYmxlIGlzIG1hcmtlZAoJICBhcyBhZHZhbmNlIGRvIG5vdCB1c2UgdGhlIGNtTWFrZWZpbGUgaW1wbGVtZW50YXRpb24gb2YKCSAgQWRkQ2FjaGVEZWZpbml0aW9uIHRvIGF2b2lkIHJlbW92aW5nIHRoZSBtYWtlZmlsZSBkZWZpbml0aW9uLgoKMjAwNy0wNC0xMCAxNTo1NSAga2luZwoKCSogU291cmNlL2NtTWFya0FzQWR2YW5jZWRDb21tYW5kLmN4eDogQlVHOiBXaGVuIGEgbm9uLWNhY2hlCgkgIHZhcmlhYmxlIGlzIG1hcmtlZCBhcyBhZHZhbmNlIGRvIG5vdCB1c2UgdGhlIGNtTWFrZWZpbGUKCSAgaW1wbGVtZW50YXRpb24gb2YgQWRkQ2FjaGVEZWZpbml0aW9uIHRvIGF2b2lkIHJlbW92aW5nIHRoZQoJICBtYWtlZmlsZSBkZWZpbml0aW9uLgoKMjAwNy0wNC0xMCAxNDo1NCAgYmFycmUKCgkqIE1vZHVsZXMvRGFydC5jbWFrZTogRU5IOiB0aGlzIHZhcmlhYmxlIG92ZXJyaWRlcyBhbGwgUFJPSkVDVF9VUkwuCgkgIENoZWNrIHRoZSBkYXNoYm9hcmQsIGFsbCBwcm9qZWN0cyBoYXZlIHRoZSB3cm9uZyBVUkwgaW4gdGhlaXIKCSAgIkhvbWUiIGJ1dHRvbi4gT3RoZXIgdmFyaWFibGVzIChsaWtlIFJPTExVUF9VUkwpIHdlcmUgbW92ZWQgYQoJICB3aGlsZSBhZ28sIGZvciBzb21lIHJlYXNvbnMgdGhpcyBvbmUgaXMgc3RpbGwgaGVyZS4KCjIwMDctMDQtMTAgMTM6MDkgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW9HZW5lcmF0b3IuaDogQlVHOiBUaGUgQUxMX0JVSUxEIHRhcmdldCBzaG91bGQKCSAgbm90IGhhdmUgYW55IGNvbW1hbmQgbGluZXMgc28gdGhhdCBpdCBpcyBub3QgYWx3YXlzIGNvbnNpZGVyZWQKCSAgb3V0IG9mIGRhdGUuCU1vdmVkIHRoZSAnQnVpbGQgYWxsIHByb2plY3RzJyBtZXNzYWdlIGludG8gdGhlCgkgIGRlc2NyaXB0aW9uIGZpZWxkIGluc3RlYWQgb2YgYW4gZWNobyBpbiB0aGUgY29tbWFuZCBmaWVsZC4gIE1vdmVkCgkgIGNvbW1vbiBpbXBsZW1lbnRhdGlvbiBvZiBHZW5lcmF0ZSBmb3IgVlM2IGFuZCBWUzcgaW50byB0aGUKCSAgc3VwZXJjbGFzcyB0byBhdm9pZCBkdXBsaWNhdGUgY29kZSBmb3IgdGhlIEFMTF9CVUlMRCB0YXJnZXQuCgkgIFRoaXMgYWRkcmVzc2VzIGJ1ZyM0NTU2LgoKMjAwNy0wNC0xMCAxMToyNiAgYW5keQoKCSogVXRpbGl0aWVzL2NtY3VybC9DTWFrZUxpc3RzLnR4dDogRU5IOiBObyByZWFzb24gdG8gc2VhcmNoIGZvcgoJICBVQ0IuIExldCBtZSBrbm93IGlmIGFueWJvZHkgc3RpbGwgaGFzIHVjYgoKMjAwNy0wNC0xMCAxMToyMiAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9MaW51eC5jbWFrZSwgU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEVOSDogQWRkZWQgb3B0aW9uCgkgIENNQUtFX0lOU1RBTExfU09fTk9fRVhFIG9uIGxpbnV4IHRvIGNob29zZSB3aGV0aGVyIHRoZSBkZWZhdWx0CgkgIHBlcm1pc3Npb25zIGZvciBzaGFyZWQgbGlicmFyaWVzIGluY2x1ZGUgdGhlIGV4ZWN1dGFibGUgYml0LgoJICBUaGlzIGlzIG5lY2Vzc2FyeSB0byBzdXBwb3J0IHRoZSBjb25mbGljdGluZyBwb2xpY2llcyBvZiBEZWJpYW4KCSAgYW5kIEZlZG9yYS4gIFRoZXNlIGNoYW5nZXMgYWRkcmVzcyBidWcjNDgwNS4KCjIwMDctMDQtMTAgMDk6NTQgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzhHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsIGNtVGFyZ2V0LmN4eDogRU5IOiBhZGRlZAoJICBpbnRlcm5hbCB0YXJnZXQgcHJvcGVydHkgZm9yIHRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0IGZpbGUKCjIwMDctMDQtMTAgMDg6NDkgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBTVFlMRTogQWRkZWQgY29tbWVudAoJICBhYm91dCB3aHkgZGVwZW5kZW5jaWVzIG5lZWQgdG8gYmUgY2hhaW5lZCB0byBjbGFyaWZ5IGNvZGUuCgoyMDA3LTA0LTEwIDA4OjM2ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL05ldEJTRC5jbWFrZTogRU5IOiBFbmFibGVkIHVzZSBvZiBzb25hbWUgYW5kCgkgIHRoZXJlZm9yZSB2ZXJzaW9uaW5nIHN5bWxpbmtzLiAgUGF0Y2ggaXMgZnJvbSBidWcjNDU1OC4KCjIwMDctMDQtMDkgMjE6MjUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNC0wOCAyMTo0NCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA0LTA3IDIxOjIzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDQtMDYgMjE6NDIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNC0wNSAyMTo1NyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA0LTA1IDA5OjE5ICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IFNUWUxFOiBGaXggbGluZS10b28tbG9uZy4KCjIwMDctMDQtMDQgMTc6MDIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNC0wNCAxNjoyOCAgYW5keQoKCSogVXRpbGl0aWVzL0RveHlnZW4vZG94eWZpbGUuaW46IFNUWUxFOiBEbyBkb3h5Z2VuIGZvciBDUGFjawoKMjAwNy0wNC0wNCAxNTo1OCAgYW5keQoKCSogTW9kdWxlcy9DaGVja0NTb3VyY2VDb21waWxlcy5jbWFrZTogQlVHOiBSZXZlcnQgYmFjayB0byAxLjE0CgoyMDA3LTA0LTA0IDE1OjU3ICBhbmR5CgoJKiBNb2R1bGVzLzogQ2hlY2tDU291cmNlQ29tcGlsZXMuY21ha2UsIENoZWNrQ1NvdXJjZVJ1bnMuY21ha2U6CgkgIEJVRzogUmV2ZXJ0IGJhY2sgdG8gMS40CgoyMDA3LTA0LTA0IDE0OjQ5ICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvOEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW9HZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW9HZW5lcmF0b3IuaCwKCSAgVGVzdHMvRGVwZW5kZW5jeS9Ud28vQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0RlcGVuZGVuY3kvVHdvL1R3b1NyYy5jLAoJICBUZXN0cy9EZXBlbmRlbmN5L1R3by9Ud29DdXN0b21TcmMuYywKCSAgVGVzdHMvRGVwZW5kZW5jeS9Ud28vdHdvLXRlc3QuaC5pbjogQlVHOiBGaXggdXRpbGl0eSBkZXBlbmRlbmNpZXMKCSAgZm9yIHN0YXRpYyBsaWJyYXJpZXMgaW4gVlMgZ2VuZXJhdG9ycy4gIFRoaXMgYWRkcmVzc2VzIGJ1ZyM0Nzg5LgoKMjAwNy0wNC0wNCAxMzo0MyAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kSk5JLmNtYWtlOiBCVUc6IGZpeCBmb3IgYnVnIDQ2MDUKCjIwMDctMDQtMDQgMTM6NDEgIGFuZHkKCgkqIGJvb3RzdHJhcDogRU5IOiBGaXggY29weXJpZ2h0IHllYXIKCjIwMDctMDQtMDQgMTM6MDYgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0QnVpbGRIYW5kbGVyLmN4eDogQ09NUDogRml4IGt3c3R5bGUKCjIwMDctMDQtMDQgMTM6MDYgIGFuZHkKCgkqIE1vZHVsZXMvOiBDaGVja0NTb3VyY2VDb21waWxlcy5jbWFrZSwgQ2hlY2tDU291cmNlUnVucy5jbWFrZToKCSAgQ09NUDogRml4IGt3c3R5bGVTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHgKCjIwMDctMDQtMDQgMTI6MDUgIGFuZHkKCgkqIFNvdXJjZS9jbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmN4eDogQlVHOiBObyBuZWVkIGZvciB0aGUgYmFja3dhcmQKCSAgY29tcGF0aWJpbGl0eSB2YXJpYWJsZSB3YXJuaW5nCgoyMDA3LTA0LTA0IDEyOjA1ICBhbmR5CgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEVOSDogQWRkIHZhcmlhYmxlIGZvciB0aGUgY3VycmVudCBsaXN0CgkgIGZpbGUKCjIwMDctMDQtMDQgMTE6MjIgIGtpbmcKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW9HZW5lcmF0b3IuaDogRU5IOiBBZGRlZAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpb0dlbmVyYXRvciBhcyBzdXBlcmNsYXNzIHRvIGFsbCBWUyBnbG9iYWwKCSAgZ2VuZXJhdG9ycy4KCjIwMDctMDQtMDMgMjM6MTggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wNC0wMyAwMzowNyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTA0LTAyIDAyOjQ0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDQtMDEgMDI6NDEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wMy0zMSAwMjo0NSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAzLTMwIDEwOjUzICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4OiBFTkg6IG1ha2Ugc3VyZSBkZWZhdWx0IC9TeXN0ZW0KCSAgZnJhbWV3b3JrIGlzIG5vdCBhZGRlZCB3aXRoIC1GCgoyMDA3LTAzLTMwIDAyOjM3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDMtMjkgMDI6NDEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wMy0yOCAxMTowNiAgbWFydGluawoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdEJ1aWxkSGFuZGxlci5jeHg6IEJVRzogZXZlbiBzYWZlciBjaGVja2luZwoJICBvZiByZXR1cm4gdmFsdWUKCjIwMDctMDMtMjggMTA6NTggIG1hcnRpbmsKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0QnVpbGRIYW5kbGVyLmN4eDogQlVHOiBmaXggY2hlY2tpbmcgb2YgdGhlCgkgIHJldHVybiB2YWx1ZSBmb3IgYSBidWlsZAoKMjAwNy0wMy0yOCAwMjo1MSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAzLTI3IDIzOjE1ICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IENPTVA6IFJlc3RvcmVkIHNoYXJlZCBsb2NhbAoJICB2YXJpYWJsZSByZW1vdmVkIGJ5IHByZXZpb3VzIGNoYW5nZS4KCjIwMDctMDMtMjcgMjM6MTMgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwgY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtVGFyZ2V0LmN4eCwgY21UYXJnZXQuaDogRU5IOiBDcmVhdGVkIG1ldGhvZAoJICBjbVRhcmdldDo6R2V0RXhwb3J0TWFjcm8gdG8gY2VudHJhbGl6ZSBjb21wdXRhdGlvbiBvZiB0aGUgZXhwb3J0CgkgIHN5bWJvbCBuYW1lLglUaGlzIHJlbW92ZXMgZHVwbGljYXRlIGNvZGUgZnJvbSBhbGwgdGhlCgkgIGdlbmVyYXRvcnMuICBBbHNvIGVuYWJsZWQgdGhlIGV4cG9ydCBkZWZpbml0aW9uIGZvciBleGVjdXRhYmxlCgkgIHRhcmdldHMgd2l0aCB0aGUgRU5BQkxFX0VYUE9SVFMgcHJvcGVydHkgc2V0LgoKMjAwNy0wMy0yNyAwMjo0NSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAzLTI2IDAyOjQzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDMtMjUgMDI6NTEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wMy0yNCAxNDoxMiAgYmFycmUKCgkqIFNvdXJjZS9rd3N5cy86IFN5c3RlbVRvb2xzLmN4eCwgU3lzdGVtVG9vbHMuaHh4LmluOiBFTkg6IG5lZWQKCSAga3dzeXMnIEdsb2IgaW4gVlRLIDUuMAoKMjAwNy0wMy0yNCAxNDowNCAgYmFycmUKCgkqIFNvdXJjZS9rd3N5cy86IENNYWtlTGlzdHMudHh0LCBHbG9iLmN4eCwgR2xvYi5oeHguaW46IEVOSDogbmVlZAoJICBrd3N5cycgR2xvYiBpbiBWVEsgNS4wCgoyMDA3LTAzLTI0IDAyOjQ3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDMtMjMgMTY6MzMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogQlVHOiBmaXggcHJvYmxlbSB3aXRoIG5ldyBjdXJsX2dldGRhdGUgYW5kCgkgIGN0ZXN0CgoyMDA3LTAzLTIzIDAyOjMzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDMtMjIgMDk6NDUgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21UYXJnZXQuY3h4LCBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtYmNjMzIuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy13Y2wzODYuY21ha2U6IEVOSDogQWRkZWQgdGFyZ2V0IHByb3BlcnR5CgkgIEVOQUJMRV9FWFBPUlRTIGZvciBleGVjdXRhYmxlIHRhcmdldHMuICBJdCBlbmFibGVzIHRoZQoJICBleGVjdXRhYmxlcyBmb3IgbGlua2luZyBieSBsb2FkYWJsZSBtb2R1bGVzIHRoYXQgaW1wb3J0IHN5bWJvbHMKCSAgZnJvbSB0aGUgZXhlY3V0YWJsZS4JVGhpcyBmaW5pc2hlcyB0aGUgZXhlY3V0YWJsZSBpbXBvcnQgbGlicmFyeQoJICBzdXBwb3J0IG1lbnRpb25lZCBpbiBidWcgIzQyMTAuCgoyMDA3LTAzLTIyIDAyOjM0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDMtMjEgMTM6NDkgIG1hcnRpbmsKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogQlVHOiB0eXBvIGluIGlmIHRlc3QKCjIwMDctMDMtMjEgMDc6MTYgIGtpbmcKCgkqIFRlc3RzL091dE9mU291cmNlL091dE9mU291cmNlU3ViZGlyLzogQ01ha2VMaXN0cy50eHQsIHNpbXBsZS5jeHg6CgkgIEJVRzogRGlzYWJsZSBkZWVwLXNvdXJjZSB0ZXN0IG9uIFdhdGNvbSB1bnRpbCBpdCBjYW4gYmUgZml4ZWQuCgkgIFRoaXMgaXMgYSBuZXcgZmVhdHVyZSBmb3Igb3RoZXIgZ2VuZXJhdG9ycyBhbnl3YXkuCgoyMDA3LTAzLTIxIDAyOjM5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDMtMjAgMTU6NTEgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9jbWN1cmwvc3RyZXF1YWwuYzogRU5IOiBzZWNvbmQgdHJ5IHRvIGZpeCBxbnggYnVpbGQKCSAgcHJvYmxlbQoKMjAwNy0wMy0yMCAxNTo0OSAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL2NtY3VybC9zdHJlcXVhbC5jOiBFTkg6IHRyeSB0byBmaXggcW54IGJ1aWxkIHByb2JsZW0KCjIwMDctMDMtMjAgMTQ6NTIgIG1hcnRpbmsKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0QnVpbGRIYW5kbGVyLmN4eDogRU5IOiB0cnkgbWFya2lnbiBub24gemVybwoJICByZXR1cm4gdmFsdWVzIGFzIHdhcm5pbmdzIGZvciBtYWtlIHByb2dyYW1zCgoyMDA3LTAzLTIwIDE0OjMxICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHg6IEVOSDogdHJ5IG1hcmtpZ24gbm9uIHplcm8KCSAgcmV0dXJuIHZhbHVlcyBhcyB3YXJuaW5ncyBmb3IgbWFrZSBwcm9ncmFtcwoKMjAwNy0wMy0yMCAxNDoxMSAgbWFydGluawoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4OiBFTkg6IGFkZCBhbm90aGVyIGVycm9yCgkgIHJlZ2V4cAoKMjAwNy0wMy0yMCAxMzozNCAga2luZwoKCSogVGVzdHMvT3V0T2ZTb3VyY2UvT3V0T2ZTb3VyY2VTdWJkaXIvQ01ha2VMaXN0cy50eHQ6IEJVRzogUmVkdWNlCgkgIGxvbmcgc291cmNlIGZpbGUgbmFtZSBsZW5ndGggZm9yIFdNYWtlLgoKMjAwNy0wMy0yMCAxMjo0NCAgaG9mZm1hbgoKCSogU291cmNlL0NQYWNrL2NtQ1BhY2tUYXJDb21wcmVzc0dlbmVyYXRvci5jeHg6IEJVRzogZml4IGNvdmVyaXR5CgkgIGVycm9yLCBudWxsIGNoZWNrIGFmdGVyIHVzYWdlIGZpeAoKMjAwNy0wMy0yMCAxMjozMiAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS86IEFJWC5jbWFrZSwgUU5YLmNtYWtlOiBFTkg6IGFkZCBjKysgZmxhZyB3aGVuCgkgIGNvbXBpbGluZyBjKysgY29kZSBtZXJnZSBmcm9tIG1haW4gdHJlZQoKMjAwNy0wMy0yMCAxMTo1MiAgbWFydGluawoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFTkg6IG1pbm9yIGFkZGl0aW9uYWwgZXJyb3Igb3V0cHV0CgoyMDA3LTAzLTIwIDA5OjUxICBtYXJ0aW5rCgoJKiBVdGlsaXRpZXMvY21jdXJsLzogQ01ha2VMaXN0cy50eHQsIGNvbmZpZy5oLmluLAoJICBQbGF0Zm9ybXMvV2luZG93c0NhY2hlLmNtYWtlOiBCVUc6IHdhcyBub3Qgc2V0dGluZyBIQVZFX1BST0NFU1NfSAoJICBwcm9wZXJseQoKMjAwNy0wMy0yMCAwOToxNCAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWJjYzMyLmNtYWtlOiBCVUc6IERpc2FibGUgY3JlYXRpb24gb2YKCSAgaW1wb3J0IGxpYnJhcmllcyBmb3IgZXhlY3V0YWJsZXMgb24gQm9ybGFuZCB1bnRpbCBpdCBjYW4gYmUgbWFkZQoJICBvcHRpb25hbC4gIE90aGVyd2lzZSBhbGwgZXhlY3V0YWJsZXMgZ2V0IGEgLmxpYiB3aXRoIHRoZSBzYW1lCgkgIG5hbWUgd2hpY2ggaXMgdW5leHBlY3RlZCBiZWhhdmlvciBmb3IgdXNlcnMuCgoyMDA3LTAzLTIwIDA4OjE2ICBraW5nCgoJKiBUZXN0cy9PdXRPZlNvdXJjZS9PdXRPZlNvdXJjZVN1YmRpci9DTWFrZUxpc3RzLnR4dDogQlVHOiBXb3JrCgkgIGFyb3VuZCBWUzggY29udmVyc2lvbiB0byBhIHJlbGF0aXZlIHBhdGggZm9yIHRoZSBsb25nIHNvdXJjZQoJICBuYW1lLiAgSXQgdGFrZXMgdGhlIG5pY2UgZnVsbCBwYXRoIHdlIGdpdmUgaXQsIGNvbnZlcnRzIHRvCgkgIHJlbGF0aXZlLCBhbmQgdGhlbiByZXBhY2tzIHJlbGF0aXZlIG9uIHRvcCBvZiB0aGUgYnVpbGQgZGlyZWN0b3J5CgkgIHJlc3VsdGluZyBpbiBhIHBhdGggbG9uZ2VyIHRoYW4gaXRzIG93biBtYXhwYXRoIGV2ZW4gdGhvdWdoIHRoZQoJICBvcmlnaW5hbCBwYXRoIGdpdmVuIHdhcyBzaG9ydCBlbm91Z2guICBFdmVuIFZTNiBkZWFsdCB3aXRoIGl0CgkgIGJldHRlci4KCjIwMDctMDMtMjAgMDI6NTAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wMy0xOSAxMzowNCAgbWFydGluawoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIGN0ZXN0LmN4eCwKCSAgQ1Rlc3QvY21DVGVzdEJ1aWxkQW5kVGVzdEhhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0QnVpbGRBbmRUZXN0SGFuZGxlci5oLCBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuaDogRU5IOiBzdXBwb3J0IGZvcgoJICAtLWJ1aWxkLWNvbmZpZy1zYW1wbGUgZmVhdHVyZSAjMTAyMgoKMjAwNy0wMy0xOSAxMDowMCAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9DWUdXSU4uY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1iY2MzMi5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtZ2NjLmNtYWtlLCBTb3VyY2UvY21JbnN0YWxsQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21UYXJnZXQuY3h4LAoJICBTb3VyY2UvY21UYXJnZXQuaCwgVGVtcGxhdGVzL0VYRUhlYWRlci5kc3B0ZW1wbGF0ZTogRU5IOiBBZGRlZAoJICBzdXBwb3J0IGZvciBpbXBvcnQgbGlicmFyaWVzIGNyZWF0ZWQgYnkgZXhlY3V0YWJsZSBhbmQgbW9kdWxlCgkgIHRhcmdldHMuICBUaGUgbW9kdWxlIGltcG9ydCBsaWJyYXJpZXMgc2hvdWxkIG5ldmVyIGJlIHVzZWQgYnV0CgkgIHNvbWUgd2luZG93cyBjb21waWxlcnMgYWx3YXlzIGNyZWF0ZSB0aGVtIGZvciAuZGxsIGZpbGVzIHNpbmNlCgkgIHRoZXJlIGlzIG5vIGRpc3RpbmN0aW9uIGZyb20gc2hhcmVkIGxpYnJhcmllcyBvbiB0aGF0IHBsYXRmb3JtLgoJICBUaGUgZXhlY3V0YWJsZSBpbXBvcnQgbGlicmFyaWVzIG1heSBiZSB1c2VkIHRvIGNyZWF0ZSBtb2R1bGVzCgkgIHRoYXQgd2hlbiBsb2FkZWQgYmluZCB0byBzeW1ib2xzIGZyb20gdGhlIGV4ZWN1dGFibGVzLiAgVGhpcyBpcwoJICBhbiBlbmhhbmNlbWVudCByZWxhdGVkIHRvIGJ1ZyM0MjEwIHRob3VnaCBub3QgcmVxdWVzdGVkIGJ5IGl0CgkgIGV4cGxpY2l0bHkuCgoyMDA3LTAzLTE5IDAyOjM1ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDMtMTggMTY6MTggIGFuZHkKCgkqIFV0aWxpdGllcy9jbWN1cmwvOiB0ZnRwLmMsIHRyYW5zZmVyLmM6IENPTVA6IFJlbW92ZSBzb21lIHdhcm5pbmdzCgoyMDA3LTAzLTE4IDAyOjAzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDMtMTcgMTM6MjMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHg6IEVOSDogZml4IGZvciBjcmFzaCBmcm9tCgkgIG1haW4gdHJlZQoKMjAwNy0wMy0xNyAxMzoxOCAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eDogRU5IOiByZW1vdmUgc2VnIGZhdWx0IEkKCSAgaG9wZQoKMjAwNy0wMy0xNyAwMDoyMCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAzLTE2IDE4OjQ0ICBraW5nCgoJKiBVdGlsaXRpZXMvY21jdXJsL2N1cmwvY3VybC5oOiBDT01QOiBEbyBub3QgI2luY2x1ZGUgZmlsZXMgaW5zaWRlCgkgIGV4dGVybiAiQyIge30gYmxvY2tzLgoKMjAwNy0wMy0xNiAxODowNSAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWwsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1iY2MzMi5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9nY2MuY21ha2UsCgkgIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgU291cmNlL2NtRmlsZUNvbW1hbmQuaCwKCSAgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzhHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzhXaW42NEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eCwKCSAgVGVzdHMvUHJlY29tcGlsZWRIZWFkZXIvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1ByZWNvbXBpbGVkSGVhZGVyL2ZvbzEuYywgVGVzdHMvUHJlY29tcGlsZWRIZWFkZXIvZm9vMi5jLAoJICBUZXN0cy9QcmVjb21waWxlZEhlYWRlci9mb29fcHJlY29tcGlsZS5jLAoJICBUZXN0cy9QcmVjb21waWxlZEhlYWRlci9pbmNsdWRlL2Zvby5oLAoJICBUZXN0cy9QcmVjb21waWxlZEhlYWRlci9pbmNsdWRlL2Zvb19wcmVjb21waWxlZC5oLAoJICBUZXN0cy9TZXRMYW5nL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9TZXRMYW5nL2Jhci5jLAoJICBUZXN0cy9TZXRMYW5nL2Zvby5jOiBFTkg6IGNoZWNrIGluIGZpeGVzIGZyb20gbWFpbiB0cmVlIHRvIGNyZWF0ZQoJICAyLjQuNyBSQyA1CgoyMDA3LTAzLTE2IDE2OjQ4ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBCVUc6IE5lZWQgdG8gaW5jbHVkZQoJICByZWxhdGl2ZSBwYXRoIHRvcCBpbmZvcm1hdGlvbiBpbiBkaXJlY3RvcnkgaW5mb3JtYXRpb24gc28gdGhhdAoJICByZWxhdGl2ZSBwYXRoIGNvbnZlcnNpb24gZHVyaW5nIGRlcGVuZGVuY3kgZ2VuZXJhdGlvbiB3b3JrcyB3aXRoCgkgIHRoZSBzYW1lIHJ1bGVzIGFzIHByb2plY3QgZ2VuZXJhdGlvbi4KCjIwMDctMDMtMTYgMTY6MjggIGtpbmcKCgkqIFNvdXJjZS9jbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuY3h4OiBCVUc6IFVzZSBHZXRFeGVjdXRhYmxlTmFtZXMKCSAgaW5zdGVhZCBvZiBHZXRMaWJyYXJ5TmFtZXMgdG8gY29tcHV0ZSB0aGUgaW5zdGFsbGF0aW9uIGZpbGUgbmFtZQoJICBmb3IgZXhlY3V0YWJsZSB0YXJnZXRzLgoKMjAwNy0wMy0xNiAxNjowNCAga2luZwoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4OiBDT01QOiBGaXggYmFkIGVzY2FwZQoJICBzZXF1ZW5jZS4KCjIwMDctMDMtMTYgMTQ6NTEgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0QnVpbGRIYW5kbGVyLmN4eDogRU5IOiBNb3JlIHJlZ3VsYXIKCSAgZXhwcmVzc2lvbnMgZm9yIHZpc3VhbCBzdHVkaW8gNgoKMjAwNy0wMy0xNiAxNDoyOCAga2luZwoKCSogVXRpbGl0aWVzL2NtY3VybC9DTWFrZUxpc3RzLnR4dDogQ09NUDogSWdub3JlIHdpbmRvd3Mgc29ja2V0cyBvbgoJICBjeWd3aW4uICBSZW1vdmUgZHVwbGljYXRlIHNvdXJjZSBlbnRyeS4KCjIwMDctMDMtMTYgMTA6MzQgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgVGVzdHMvT3V0T2ZTb3VyY2UvT3V0T2ZTb3VyY2VTdWJkaXIvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL091dE9mU291cmNlL091dE9mU291cmNlU3ViZGlyL3NpbXBsZS5jeHgsCgkgIFRlc3RzL091dE9mU291cmNlL091dE9mU291cmNlU3ViZGlyL3NpbXBsZS5jeHguaW46IEVOSDogQWRkZWQKCSAgY29tcHV0YXRpb24gb2Ygb2JqZWN0IGZpbGUgbmFtZXMgdGhhdCBhcmUgYWxtb3N0IGFsd2F5cyBzaG9ydAoJICBlbm91Z2ggdG8gbm90IGV4Y2VlZCB0aGUgZmlsZXN5c3RlbSBwYXRoIGxlbmd0aCBsaW1pdGF0aW9uLiAgVGhpcwoJICBpcyB1c2VmdWwgd2hlbiBhIHNvdXJjZSBmaWxlIGZyb20gb3V0c2lkZSB0aGUgdHJlZSBpcyByZWZlcmVuY2VkCgkgIHdpdGggYSBsb25nIGZ1bGwgcGF0aC4gIFRoZSBvYmplY3QgZmlsZSBuYW1lIHByZXZpb3VzbHkgd291bGQKCSAgY29udGFpbiB0aGUgZW50aXJlIHBhdGggd2hpY2ggd2hlbiBjb21iaW5lZCB3aXRoIHRoZSBidWlsZCBvdXRwdXQKCSAgZGlyZWN0b3J5IGNvdWxkIGV4Y2VlZCB0aGUgZmlsZXN5c3RlbSBsaW1pdC4JTm93IENNYWtlCgkgIHJlY29nbml6ZXMgdGhpcyBjYXNlIGFuZCByZXBsYWNlcyBlbm91Z2ggb2YgdGhlIGJlZ2lubmluZyBvZiB0aGUKCSAgZnVsbCBwYXRoIHRvIHRoZSBzb3VyY2UgZmlsZSB3aXRoIGFuIG1kNXN1bSBvZiB0aGUgcmVwbGFjZWQKCSAgcG9ydGlvbiB0byBtYWtlIHRoZSBuYW1lIGZpdCBvbiBkaXNrLiAgVGhpcyBhZGRyZXNzZXMgYnVnIzQ1MjAuCgoyMDA3LTAzLTE2IDA5OjM0ICBhbmR5CgoJKiBVdGlsaXRpZXMvY21jdXJsL0NNYWtlLzogQ01ha2VDb25maWd1cmFibGVGaWxlLmluLAoJICBDaGVja0NTb3VyY2VDb21waWxlcy5jbWFrZSwgQ2hlY2tDU291cmNlUnVucy5jbWFrZTogQ09NUDogRml4CgkgIHN1cHBvcnQgZm9yIG9sZCBDTWFrZSAoMi4wIGFuZCAyLjIpCgoyMDA3LTAzLTE1IDE3OjIyICBhbmR5CgoJKiBVdGlsaXRpZXMvY21jdXJsL0NNYWtlL0NoZWNrQ1NvdXJjZVJ1bnMuY21ha2U6IEVOSDogVW5pZnkgd2l0aAoJICB0aGUgY29tcGlsZSBvbmUKCjIwMDctMDMtMTUgMTU6MjIgIGFuZHkKCgkqIFV0aWxpdGllcy9jbWN1cmwvOiBDTWFrZUxpc3RzLnR4dCwgYW1pZ2Fvcy5jLCBhbWlnYW9zLmgsCgkgIGFycGFfdGVsbmV0LmgsIGJhc2U2NC5jLCBiYXNlNjQuaCwgY29uZmlnLmguaW4sIGNvbm5lY3QuYywKCSAgY29ubmVjdC5oLCBjb250ZW50X2VuY29kaW5nLmMsIGNvbnRlbnRfZW5jb2RpbmcuaCwgY29va2llLmMsCgkgIGNvb2tpZS5oLCBjdXJsLmNvcHlyaWdodCwgY3VybF9tZW1vcnkuaCwgY3VybHguaCwgZGljdC5jLCBkaWN0LmgsCgkgIGVhc3kuYywgZWFzeWlmLmgsIGVzY2FwZS5jLCBlc2NhcGUuaCwgZmlsZS5jLCBmaWxlLmgsIGZvcm1kYXRhLmMsCgkgIGZvcm1kYXRhLmgsIGZ0cC5jLCBmdHAuaCwgZ2V0ZGF0ZS5jLCBnZXRkYXRlLmgsIGdldGVudi5jLAoJICBnZXRpbmZvLmMsIGdldGluZm8uaCwgZ3Rscy5jLCBndGxzLmgsIGhhc2guYywgaGFzaC5oLCBob3N0YXJlcy5jLAoJICBob3N0YXN5bi5jLCBob3N0aXAuYywgaG9zdGlwLmgsIGhvc3RpcDQuYywgaG9zdGlwNi5jLCBob3N0c3luLmMsCgkgIGhvc3R0aHJlLmMsIGh0dHAuYywgaHR0cC5oLCBodHRwX2NodW5rcy5jLCBodHRwX2NodW5rcy5oLAoJICBodHRwX2RpZ2VzdC5jLCBodHRwX2RpZ2VzdC5oLCBodHRwX25lZ290aWF0ZS5jLCBodHRwX25lZ290aWF0ZS5oLAoJICBodHRwX250bG0uYywgaHR0cF9udGxtLmgsIGlmMmlwLmMsIGlmMmlwLmgsIGluZXRfbnRvYV9yLmgsCgkgIGluZXRfbnRvcC5jLCBpbmV0X250b3AuaCwgaW5ldF9wdG9uLmMsIGluZXRfcHRvbi5oLCBrcmI0LmMsCgkgIGtyYjQuaCwgbGRhcC5jLCBsZGFwLmgsIGxsaXN0LmMsIGxsaXN0LmgsIG1kNS5jLCBtZDUuaCwKCSAgbWVtZGVidWcuYywgbWVtZGVidWcuaCwgbWVtb3J5LmgsIG1wcmludGYuYywgbXVsdGkuYywgbXVsdGlpZi5oLAoJICBuZXRyYy5jLCBuZXRyYy5oLCBud2xpYi5jLCBwYXJzZWRhdGUuYywgcGFyc2VkYXRlLmgsIHByb2dyZXNzLmMsCgkgIHByb2dyZXNzLmgsIHNlY3VyaXR5LmMsIHNlY3VyaXR5LmgsIHNlbGVjdC5jLCBzZWxlY3QuaCwgc2VuZGYuYywKCSAgc2VuZGYuaCwgc2V0dXAuaCwgc2V0dXBfb25jZS5oLCBzaGFyZS5jLCBzaGFyZS5oLCBzb2NrYWRkci5oLAoJICBzb2Nrcy5jLCBzb2Nrcy5oLCBzcGVlZGNoZWNrLmMsIHNwZWVkY2hlY2suaCwgc3BsYXkuYywgc3BsYXkuaCwKCSAgc3NoLmMsIHNzaC5oLCBzc2xnZW4uYywgc3NsZ2VuLmgsIHNzbHVzZS5jLCBzc2x1c2UuaCwgc3RyZHVwLmMsCgkgIHN0cmR1cC5oLCBzdHJlcXVhbC5jLCBzdHJlcXVhbC5oLCBzdHJlcnJvci5jLCBzdHJlcnJvci5oLAoJICBzdHJ0b2suYywgc3RydG9rLmgsIHN0cnRvb2ZmdC5jLCBzdHJ0b29mZnQuaCwgdGVsbmV0LmMsIHRlbG5ldC5oLAoJICB0ZnRwLmMsIHRmdHAuaCwgdGltZXZhbC5jLCB0aW1ldmFsLmgsIHRyYW5zZmVyLmMsIHRyYW5zZmVyLmgsCgkgIHVybC5jLCB1cmwuaCwgdXJsZGF0YS5oLCB2ZXJzaW9uLmMsCgkgIENNYWtlL0NoZWNrQ1NvdXJjZUNvbXBpbGVzLmNtYWtlLCBDTWFrZS9DaGVja0NTb3VyY2VSdW5zLmNtYWtlLAoJICBDTWFrZS9PdGhlclRlc3RzLmNtYWtlLCBQbGF0Zm9ybXMvV2luZG93c0NhY2hlLmNtYWtlLAoJICBjdXJsL2N1cmwuaCwgY3VybC9jdXJsdmVyLmgsIGN1cmwvZWFzeS5oLCBjdXJsL21wcmludGYuaCwKCSAgY3VybC9tdWx0aS5oLCBjdXJsL3N0ZGNoZWFkZXJzLmg6IEVOSDogVXBkYXRlIEN1cmwgdG8gNy4xNi4xCgoyMDA3LTAzLTE1IDEzOjQ4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEJVRzogY2hhbmdlIGluIGhvdyBzZXQgY2FjaGUgb3ZlcnJpZGVzCgkgIGxvY2FsIGRlZmluaXRpb25zLiBTaG91bGQgbWFpbmx5IGJlIGEgTk9QIGNoYW5nZSBmb3IgbW9zdCBjYXNlcwoKMjAwNy0wMy0xNCAyMTo1MSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAzLTE0IDE2OjMwICBraW5nCgoJKiBDTWFrZUxpc3RzLnR4dDogRU5IOiBFbmFibGUgdXNlIG9mIGt3c3lzIE1ENSBpbXBsZW1lbnRhdGlvbi4KCjIwMDctMDMtMTQgMTY6MjkgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBSZXZlcnRpbmcgcHJldmlvdXMKCSAgY2hhbmdlcyByZWxhdGVkIHRvIHVzaW5nIGFuIGVtcHR5IHN0cmluZyBmb3IgYSByZWxhdGl2ZSBwYXRoIHRvCgkgIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4gIFRvbyBtYW55IHBsYWNlcyB3YW50IHRoZSAuIHZlcnNpb24uCgkgIEluc3RlYWQgd2UgY2FuIGp1c3QgY29udmVydCB0aGUgLiB0byBhbiBlbXB0eSBzdHJpbmcgaW4gdGhlIG9uZQoJICBwbGFjZSB0aGF0IG1vdGl2aWF0ZWQgdGhlIG9yaWdpbmFsIGNoYW5nZS4KCjIwMDctMDMtMTQgMTU6MzUgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogV2hlbiB0aGUgY3VycmVudAoJICBvdXRwdXQgZGlyZWN0b3J5IGlzIGEgbGluayBkaXJlY3Rvcnkgd2UgbmVlZCB0byByZWZlcmVuY2UgaXQgd2l0aAoJICB0aGUgcmVsYXRpdmUgcGF0aCAiLiIgaW5zdGVhZCBvZiBhbiBlbXB0eSByZWxhdGl2ZSBwYXRoLgoKMjAwNy0wMy0xNCAxNToxMiAga2luZwoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIE1ENS5jLCBNRDUuaC5pbiwgdGVzdEVuY29kZS5jOgoJICBFTkg6IEFkZGVkIE1ENSBpbXBsZW1lbnRhdGlvbiB0byBLV1N5cy4KCjIwMDctMDMtMTQgMTM6MzYgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogQlVHOiBEdXJpbmcgcmVsYXRpdmUgcGF0aCBjb252ZXJzaW9uCgkgIGlmIHRoZSByZW1vdGUgYW5kIHRhcmdldCBwYXRocyBhcmUgdGhlIHNhbWUgcmV0dXJuIHRoZSBlbXB0eQoJICBzdHJpbmcgaW5zdGVhZCBvZiAiLiIuCgoyMDA3LTAzLTE0IDA5OjM0ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUc6IEFsbCBleGVjdXRhYmxlIGFuZAoJICBsaWJyYXJ5IHByb2plY3QgdHlwZXMgc2hvdWxkIHNwZWNpZnkgYSBwcm9ncmFtIGRhdGFiYXNlIGZpbGUgbmFtZQoJICBmb3IgYWxsIGNvbmZpZ3VyYXRpb25zLiAgRXZlbiB3aGVuIGRlYnVnIGluZm9ybWF0aW9uIGlzIG5vdCB1c2VkCgkgIHRoZSAucGRiIGZpbGUgc3BlY2lmaWVkIGlzIHVzZWQgdG8gY29uc3RydWN0IHRoZSBuYW1lIG9mIGEgLmlkYgoJICBmaWxlIHRoYXQgZXhpc3RzIGZvciBhbGwgY29uZmlndXJhdGlvbnMgd2hlbiBidWlsZGluZyB3aXRoIHRoZSBWUwoJICBJREUuCgoyMDA3LTAzLTEzIDE1OjE4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuY3h4LCBjbUNQbHVnaW5BUEkuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzhHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaDogRU5IOiBzb21lIG1vcmUgY2xlYW51cAoKMjAwNy0wMy0xMyAxNDoyMyAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5oLAoJICBjbU1ha2VmaWxlLmN4eCwgY21Qcm9wZXJ0eU1hcC5jeHgsIGNtVGFyZ2V0LmN4eDogRU5IOiBhZGQgcHJvamVjdAoJICB0byB0YXJnZXQgbWFwLCBub3QgdXNlZCB5ZXQsIGJ1dCBjcmVhdGVkCgoyMDA3LTAzLTEzIDExOjU4ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEJVRzogRml4IGNoZWNrIG9mIEVYQ0xVREVfRlJPTV9BTEwKCSAgcHJvcGVydHkgdG8gdXNlIGJvb2xlYW4gdHlwZS4gIFRoaXMgaXMgcmVxdWlyZWQgZm9yIGluc3RhbGxhdGlvbgoJICBvZiBzdWJkaXJlY3RvcmllcyB0byB3b3JrLgoKMjAwNy0wMy0xMyAwMzo1NyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAzLTEyIDIzOjM2ICBraW5nCgoJKiBUZXN0cy86IFNpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFNpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dDogQlVHOiBSZW1vdmUgc3BhY2VzIGZyb20gdGVzdAoJICBvdXRwdXQgcGF0aHMuICBOb3QgYWxsIG1ha2UgdG9vbHMgY2FuIGhhbmRsZSBpdC4gIFRocwoJICBTdWJEaXJTcGFjZXMgdGVzdCBpcyBtZWFudCBmb3IgdGhhdCBwdXJwb3NlIGFueXdheS4KCjIwMDctMDMtMTIgMTY6MTAgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEVOSDogYWRkZWQgcmVtb3ZlX2RpcmVjdG9yeSBidWcgMjkzNwoKMjAwNy0wMy0xMiAxNDoxNSAga2luZwoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4OiBCVUc6IFByZXNlcnZlIHN5bWxpbmtzIGR1cmluZwoJICBpbnN0YWxsYXRpb24uICBUaGlzIGFkZHJlc3NlcyBidWcjNDM4NC4KCjIwMDctMDMtMTIgMTM6NTAgIGtpbmcKCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmgsCgkgIGt3c3lzL1N5c3RlbVRvb2xzLmN4eCwga3dzeXMvU3lzdGVtVG9vbHMuaHh4LmluOiBFTkg6IEFkZGVkIGt3c3lzCgkgIFN5c3RlbVRvb2xzOjpDcmVhdGVTeW1saW5rIGFuZCBTeXN0ZW1Ub29sczo6UmVhZFN5bWxpbmsuCgoyMDA3LTAzLTEyIDEzOjMwICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IHR5cG8KCjIwMDctMDMtMTIgMTM6MjggIGtpbmcKCgkqIFRlc3RzL1ByZWNvbXBpbGVkSGVhZGVyL0NNYWtlTGlzdHMudHh0OiBCVUc6IERvIG5vdCB1c2UgL0kgbW9kZQoJICBpbiBWUzYuCgoyMDA3LTAzLTEyIDEyOjQ0ICBraW5nCgoJKiBUZXN0cy9QcmVjb21waWxlZEhlYWRlci9DTWFrZUxpc3RzLnR4dDogQlVHOiBDbGVhbiB0aGUgcGNoIGR1cmluZwoJICBtYWtlIGNsZWFuIHNvIHRoYXQgdGhlIHRlc3QgcGFzc2VzIHdoZW4gcnVuIG1vcmUgdGhhbiBvbmNlLgoKMjAwNy0wMy0xMiAxMjo0MCAgbWFydGluawoKCSogU291cmNlL2NtYWtlLmN4eDogRU5IOiBzbWFsbCBlbmNoYW5jZW1lbnQgZm9yIGJ1ZyAzNzc2LgoKMjAwNy0wMy0xMiAxMjozNSAga2luZwoKCSogU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvOEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW84V2luNjRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwKCSAgVGVzdHMvUHJlY29tcGlsZWRIZWFkZXIvQ01ha2VMaXN0cy50eHQ6IEJVRzogU3BsaXQgcHJlY29tcGlsZWQKCSAgaGVhZGVyIGZsYWdzIGludG8gYSBzZXBhcmF0ZSBwZXItZ2xvYmFsLWdlbmVyYXRvciBmbGFnIG1hcC4gIFRoaXMKCSAgaXMgbmVlZGVkIGJlY2F1c2UgdGhlIGZsYWcgbWFwcGluZ3MgZGlmZmVyIGFjcm9zcyBWUyBJREUKCSAgdmVyc2lvbnMuICBUaGlzIGZpeGVzIGJ1ZyMzNTEyIGZvciBWUzggd2hlcmUgYXMgdGhlIHByZXZpb3VzIGZpeAoJICBvbmx5IHdvcmtlZCBmb3IgVlM3LgoKMjAwNy0wMy0xMiAxMTozMiAgbWFydGluawoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBDT01QOiBYQ29kZSBmaXgKCjIwMDctMDMtMTIgMTA6MjYgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQWRkRXhlY3V0YWJsZUNvbW1hbmQuY3h4LCBjbUFkZExpYnJhcnlDb21tYW5kLmN4eCwKCSAgY21BZGRTdWJEaXJlY3RvcnlDb21tYW5kLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21JbmNsdWRlRXh0ZXJuYWxNU1Byb2plY3RDb21tYW5kLmN4eCwgY21JbnN0YWxsRmlsZXNDb21tYW5kLmN4eCwKCSAgY21JbnN0YWxsUHJvZ3JhbXNDb21tYW5kLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxHZW5lcmF0b3IuaCwgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaCwKCSAgY21TdWJkaXJDb21tYW5kLmN4eCwgY21UYXJnZXQuaDogRU5IOiBzb21lIGNvZGUgY2xlYW51cAoKMjAwNy0wMy0xMiAxMDoyMyAga2luZwoKCSogVGVzdHMvOiBDb21wbGV4L0NNYWtlTGlzdHMudHh0LCBDb21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXgvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBTaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LCBTaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6CgkgIEVOSDogVGVzdGluZyBuZXcgdGFyZ2V0IHByb3BlcnRpZXMgUlVOVElNRV9PVVRQVVRfRElSRUNUT1JZLAoJICBMSUJSQVJZX09VVFBVVF9ESVJFQ1RPUlksIGFuZCBBUkNISVZFX09VVFBVVF9ESVJFQ1RPUlkuICBUaGlzIGlzCgkgIGFuIGluY3JlbWVudGFsIGZpeCBmb3IgYnVnIzIyNDAgYW5kIGJ1ZyM0MjEwLgoKMjAwNy0wMy0xMSAwMTo1MCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAzLTEwIDA3OjQ5ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3Mtd2NsMzg2LmNtYWtlOiBCVUc6IERvIG5vdCBjcmVhdGUgaW1wb3J0CgkgIGxpYnJhcnkgZm9yIE1PRFVMRXMuCVRoaXMgaXMgYW4gaW5jcmVtZW50YWwgZml4IGZvciBidWcjNDIxMC4KCjIwMDctMDMtMTAgMDc6MzcgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZTogQlVHOiBGaXhlZCBNU1ZDOCBtb2R1bGUgYnVpbGQKCSAgcnVsZSB0byBub3QgdXNlIC9pbXBsaWIgb3B0aW9uLiAgVGhpcyBpcyBhbiBpbmNyZW1lbnRhbCBmaXggZm9yCgkgIGJ1ZyM0MjEwLgoKMjAwNy0wMy0xMCAwNjo1NiAga2luZwoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eDogU1RZTEU6IEZpeAoJICBsaW5lLXRvby1sb25nLgoKMjAwNy0wMy0xMCAwMTozMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAzLTA5IDE3OjE1ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEJVRzogVXNlIHJlYWwgcGF0aCBzdWJkaXJlY3RvcnkKCSAgY2hlY2sgaW5zdGVhZCBvZiBzdWJzdHJpbmcgY29tcGFyaXNvbiB0byBpZGVudGlmeSB3aGVuIHBhdGhzIGFyZQoJICBiZWxvdyB0aGUgcmVsYXRpdmUgcGF0aCB0b3BzLiAgT3RoZXJ3aXNlIHdoZW4gdGhlIGJ1aWxkIHRyZWUgaXMKCSAgbmV4dCB0byB0aGUgc291cmNlIHRyZWUgd2l0aCB0aGUgc2FtZSBuYW1lIHBsdXMgYSBzdWZmaXggdGhlCgkgIHJlbGF0aXZlIHBhdGggZnJvbSB0aGUgYmluYXJ5IHRvIHNvdXJjZSB0cmVlIGlzIGFsbG93ZWQgZXZlbgoJICB0aG91Z2ggaXQgZ29lcyBvdXRzaWRlIGNtYWtlLW1hbmFnZWQgZGlyZWN0b3JpZXMuCgoyMDA3LTAzLTA5IDE2OjU4ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvYXV0b19wdHIuaHh4LmluOiBDT01QOiBGaXggd2FybmluZyBhYm91dCBiaW5kaW5nCgkgIHJlZmVyZW5jZS10by1ub24tY29uc3QgdG8gYW4gcnZhbHVlIG9uIFZTNi4gIEl0IGRvZXMgbm90IHNlZW0gdG8KCSAgYmUgZG9pbmcgdGhlIHByb3BlciBhdXRvX3B0cl9yZWYgY29udmVyc2lvbnMuICBJbnN0ZWFkIHVzZSB0aGUKCSAgY29uc3RfY2FzdCB3b3JrLWFyb3VuZCBvbiB0aGlzIHBsYXRmb3JtLgoKMjAwNy0wMy0wOSAxNjoyNyAga2luZwoKCSogU291cmNlL2t3c3lzL2hhc2h0YWJsZS5oeHguaW46IENPTVA6IEZpeGVkIHVucmVmZXJlbmNlZCBwYXJhbWV0ZXIKCSAgd2FybmluZyBmb3IgVlM2IHdpdGggL1c0LgoKMjAwNy0wMy0wOSAxNjoyNiAga2luZwoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eDogQlVHOiBSZS1lbmFibGUgYmFja3dhcmQKCSAgY29tcGF0aWJpbGl0eSByZXBsYWNlbWVudHMgaW4gdXNlci1wcm92aWRlZCBWUzYgRFNQIHRlbXBsYXRlCgkgIGZpbGVzLgoKMjAwNy0wMy0wOSAxNjoyNSAga2luZwoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgVGVtcGxhdGVzL0RMTEhlYWRlci5kc3B0ZW1wbGF0ZSwgVGVtcGxhdGVzL0VYRUhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVtcGxhdGVzL0VYRVdpbkhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVtcGxhdGVzL1V0aWxpdHlIZWFkZXIuZHNwdGVtcGxhdGUsCgkgIFRlbXBsYXRlcy9zdGF0aWNMaWJIZWFkZXIuZHNwdGVtcGxhdGU6IEVOSDogSW1wbGVtZW50ZWQgdXNlIG9mCgkgIGNtVGFyZ2V0OjpHZXREaXJlY3RvcnkoKSBpbiBWaXN1YWwgU3R1ZGlvIDYgZ2VuZXJhdG9yLiAgVGhpcyBpcwoJICBhbiBpbmNyZW1lbnRhbCBmaXggZm9yIGJ1ZyM0MjEwLgoKMjAwNy0wMy0wOSAxNToxNCAga2luZwoKCSogU291cmNlLzogY21UYXJnZXQuY3h4LCBjbVRhcmdldC5oOiBFTkg6IEFkZGVkIHRhcmdldCBwcm9wZXJ0aWVzCgkgIEFSQ0hJVkVfT1VUUFVUX0RJUkVDVE9SWSwgTElCUkFSWV9PVVRQVVRfRElSRUNUT1JZLCBhbmQKCSAgUlVOVElNRV9PVVRQVVRfRElSRUNUT1JZLiAgSWYgc2V0IHRoZXNlIG92ZXJyaWRlCgkgIEVYRUNVVEFCTEVfT1VUUFVUX1BBVEggYW5kIExJQlJBUllfT1VUUFVUX1BBVEggZm9yIGEgc3BlY2lmaWMKCSAgdGFyZ2V0LiAgVGhleSBjYW4gYmUgdXNlZCB0byBkaXN0cmlidXRlIHRhcmdldCBmaWxlcyBpbiB0aGUgYnVpbGQKCSAgdHJlZSB3aXRoIHRoZSBzYW1lIGdyYW51bGFyaXR5IHRoYXQgdGhlIElOU1RBTEwgY29tbWFuZCBwcm92aWRlcwoJICBmb3IgdGhlIGluc3RhbGwgdHJlZS4gIFRoaXMgYWRkcmVzc2VzIGJ1ZyMyMjQwIGFuZCBidWcjNDIxMC4KCjIwMDctMDMtMDkgMTQ6NTAgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5jeHg6IEJVRzogRml4ZWQgT1NYCgkgIGJ1bmRsZXMgdG8gYmUgYnVpbHQgaW4gdGhlIGRpcmVjdG9yeSBzcGVjaWZpZWQgYnkKCSAgY21UYXJnZXQ6OkdldERpcmVjdG9yeSgpLiAgVGhpcyBpcyBhbiBpbmNyZW1lbnRhbCBzdGVwIGZvcgoJICBidWcjMjI0MC4KCjIwMDctMDMtMDkgMTM6NTkgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZTogQlVHOiBTaGFyZWQgbGlicmFyeSBjcmVhdGlvbgoJICBzaG91bGQgdXNlIC9pbXBsaWIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIG5hbWUgb2YgdGhlIGltcG9ydAoJICBsaWJyYXJ5IGV4cGxpY2l0bHkuICBUaGlzIGlzIGFuIGluY3JlbWVudGFsIHN0ZXAgZm9yIGJ1ZyAjNDIxMC4KCjIwMDctMDMtMDkgMTM6NTYgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHg6IEVOSDogRG8gbm90IGNvbXB1dGUKCSAgYSBwYXRoIG5hbWUgZm9yIHRoZSBpbXBvcnQgbGlicmFyeSBpZiB0aGVyZSBpcyBubyBpbXBvcnQgbGlicmFyeS4KCSAgVGhpcyBzaW1wbGlmaWVzIHRyYWNraW5nIGRvd24gcHJvYmxlbXMgd2l0aCB0cnlpbmcgdG8gY3JlYXRlCgkgIGltcG9ydCBsaWJyYXJpZXMgZm9yIE1PRFVMRXMuCgoyMDA3LTAzLTA5IDExOjM1ICBhbmR5CgoJKiBDTWFrZUxpc3RzLnR4dDogRU5IOiBQcmVwYXJlIGZvciB0aGUgbmV3IGN1cmwuIEN1cmwgaXMgYnVpbGQKCSAgc3RhdGljLCBzbyBzZXQgZGVmaW5lIHRvIG9uCgoyMDA3LTAzLTA5IDExOjM1ICBhbmR5CgoJKiBVdGlsaXRpZXMvY21jdXJsLzogQ01ha2VMaXN0cy50eHQsIHNldHVwLmgsCgkgIENNYWtlL090aGVyVGVzdHMuY21ha2UsIFBsYXRmb3Jtcy9XaW5kb3dzQ2FjaGUuY21ha2U6IEVOSDoKCSAgU2V2ZXJhbCB3aW5kb3dzIGZpeGVzCgoyMDA3LTAzLTA5IDExOjI5ICBraW5nCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LCBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmg6IEVOSDoKCSAgQWRkZWQgY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvcjo6R2VuZXJhdGVFeHRyYU91dHB1dCB0byB3cmFwIHVwCgkgIGNyZWF0aW9uIG9mIHJ1bGVzIHRvIGRyaXZlIGNyZWF0aW9uIG9mIGV4dHJhIG91dHB1dHMgZ2VuZXJhdGVkIGFzCgkgIHNpZGUgZWZmZWN0cyBvZiBhbm90aGVyIHJ1bGUuICBSZWltcGxlbWVudGVkIGdlbmVyYXRpb24gb2YgY3VzdG9tCgkgIGNvbW1hbmQgbXVsdGlwbGUgb3V0cHV0IHJ1bGVzIHRvIHVzZSBpdC4gIFJlaW1wbGVtZW50ZWQgc29uYW1lCgkgIHN5bWxpbmsgb3V0cHV0IGRlcGVuZGVuY2llcyB0byB1c2UgaXQuICBOb3cgaWYgYSBzeW1saW5rIGlzCgkgIGRlbGV0ZWQgdGhlIGxpYnJhcnkgd2lsbCBiZSByZWNyZWF0ZWQgd2l0aCB0aGUgc3ltbGluay4KCjIwMDctMDMtMDkgMTE6MjYgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHg6IEJVRzogTmVlZCB0byBhY2NvdW50CgkgIGZvciBpbXBvcnQgbGlicmFyeSBkaXJlY3Rvcnkgd2hlbiBjb25zdHJ1Y3RpbmcgdGhlIGNsZWFuIHJ1bGUgZm9yCgkgIHRoZSBpbXBvcnQgbGlicmFyeS4gIFRoaXMgaXMgYW4gaW5jcmVtZW50YWwgZml4IGZvciBidWcgIzQyMTAuCgoyMDA3LTAzLTA5IDEwOjMwICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEVOSDogSW1wbGVtZW50ZWQgbmV3IHBvbGljeSB0bwoJICBjaG9vc2UgdGhlIGRpcmVjdG9yeSBwYXJ0IG9mIHRoZSBvYmplY3QgZmlsZSBuYW1lLiAgVGhpcyBzaG91bGQKCSAga2VlcCB0aGUgbmFtZXMgbG9va2luZyBhcyBuaWNlIGFuZCBzaG9ydCBhcyBwb3NzaWJsZS4gIFRoaXMKCSAgcGFydGlhbGx5IGFkZHJlc3NlcyBidWcjNDUyMC4KCjIwMDctMDMtMDkgMDk6MzAgIGtpbmcKCgkqIFNvdXJjZS86IGNtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHgsIGNtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eCwgY21UYXJnZXQuY3h4LCBjbVRhcmdldC5oOgoJICBFTkg6IEFkZGVkIGltcGxpYiBvcHRpb24gdG8gY21UYXJnZXQ6OkdldERpcmVjdG9yeSB0byBzdXBwb3J0IGEKCSAgc2VwYXJhdGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIGltcG9ydCBsaWJyYXJ5LiAgVGhpcyBpcyBhbgoJICBpbmNyZW1lbnRhbCBzdGVwIGZvciBidWcjNDIxMC4KCjIwMDctMDMtMDggMjM6NTYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wMy0wOCAxNTozMyAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsIGNtVGFyZ2V0LmN4eCwgY21UYXJnZXQuaDogRU5IOgoJICBDb21iaW5lZCBjbVRhcmdldDo6R2V0RGlyZWN0b3J5IGFuZCBjbVRhcmdldDo6R2V0T3V0cHV0RGlyIHNpbmNlCgkgIHRoZXkgYXJlIG5lYXJseSB0aGUgc2FtZS4gIFRoaXMgaXMgYW5vdGhlciBzdGVwIGZvciBidWcjMjI0MC4KCjIwMDctMDMtMDggMTU6MjQgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmg6CgkgIEVOSDogUmVtb3ZlZCB1bnVzZWQgdmFyaWFibGVzIExpYnJhcnlPdXRwdXRQYXRoIGFuZAoJICBFeGVjdXRhYmxlT3V0cHV0UGF0aC4gIEVhY2ggdGFyZ2V0IGlzIGFza2VkIGZvciBpdHMgb3duIG91dHB1dAoJICBkaXJlY3RvcnkuICBUaGlzIGlzIGEgc3RlcCB0b3dhcmRzIGJ1ZyMyMjQwLgoKMjAwNy0wMy0wOCAxNToxMCAga2luZwoKCSogU291cmNlL2NtVGFyZ2V0LmN4eDogQ09NUDogRml4ZWQgZW51bWVyYXRpb24tbm90LXVzZWQgd2FybmluZyBpbgoJICBzd2l0Y2guCgoyMDA3LTAzLTA4IDE0OjU3ICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwKCSAgY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LCBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0Lmg6IEVOSDoKCSAgUmVwbGFjZWQgTGlicmFyeU91dHB1dFBhdGggYW5kIEV4ZWN1dGFibGVPdXRwdXRQYXRoIHZhcmlhYmxlcyBpbgoJICBNYWtlZmlsZSBhbmQgVlMgZ2VuZXJhdG9ycyB0byBpbnN0ZWFkIGFzayBlYWNoIHRhcmdldCBmb3IgaXRzCgkgIG91dHB1dCBwYXRoLglUaGlzIHNpZ25pZmljYW50bHkgcmVkdWNlcyB0b3RhbCBjb2RlIHNpemUgYW5kCgkgIGNlbnRyYWxpemVzIHByZXZpb3VzbHkgZHVwbGljYXRlIGNvZGUuICBJdCBpcyBhbHNvIGEgc3RlcCB0b3dhcmRzCgkgIGJ1ZyMyMjQwLgoKMjAwNy0wMy0wOCAxNDoxNSAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogRU5IOiBBc2sgdGhlIHRhcmdldCBmb3IKCSAgaXRzIG93biBkaXJlY3RvcnkgaW4gY2FzZSBvZiBidW5kbGUgaW5zdGVhZCBvZiBkaXJlY3RseSB1c2luZwoJICBFeGVjdXRhYmxlT3V0cHV0UGF0aC4KCjIwMDctMDMtMDggMTQ6MTEgIGFuZHkKCgkqIFV0aWxpdGllcy9jbWN1cmwvOiBDTWFrZUxpc3RzLnR4dCwgQ01ha2UvT3RoZXJUZXN0cy5jbWFrZTogRU5IOgoJICBBZGQgc29tZSBtaXNzaW5nIGhlYWRlcnMgYW5kIGZpeCBPdGhlclRlc3RzLmNtYWtlIG1hY3JvcwoKMjAwNy0wMy0wOCAxMzoxOSAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBDb21wdXRlCgkgIEhvbWVSZWxhdGl2ZU91dHB1dFBhdGggZm9sbG93aW5nIHRoZSBydWxlcyBvZgoJICBSZWxhdGl2ZVBhdGhUb3BCaW5hcnkgYnkgZ29pbmcgdGhyb3VnaCB0aGUgQ29udmVydCgpIG1ldGhvZC4KCSAgVGhpcyBzdXBwb3J0cyBvdXQtb2YtYmluYXJ5IGJ1aWxkIHRyZWVzIHdpdGhvdXQgdXNpbmcgcmVsYXRpdmUKCSAgcGF0aHMgdGhhdCBnbyBvdXRzaWRlIHRyZWVzIG1hbmFnZWQgYnkgQ01ha2UuCgoyMDA3LTAzLTA4IDEzOjEzICBraW5nCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogRW5hYmxlIFN1YkRpclNwYWNlcyB0ZXN0IHdoZW4KCSAgYnVpbGRpbmcgd2l0aCBib290c3RyYXBwZWQgY21ha2UuCgoyMDA3LTAzLTA4IDEzOjA1ICBraW5nCgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21HbG9iYWxCb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmg6IEVOSDogRml4ZWQgcmVjdXJzaXZlIG1ha2UgY2FsbAoJICB0YXJnZXQgZXNjYXBpbmcgZm9yIEJvcmxhbmQgdG8gc3VwcG9ydCBTdWJEaXJTcGFjZXMgdGVzdC4KCjIwMDctMDMtMDggMTE6NDkgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEVOSDogVXBkYXRlZAoJICBHZXRSZWN1cnNpdmVNYWtlQ2FsbCB0byB1c2UgRXNjYXBlRm9yU2hlbGwgaW5zdGVhZCBvZiBNQUtFRklMRQoJICBjb252ZXJzaW9uLiAgVGhpcyBjb2RlIGlzIHNwZWNpYWwgYmVjYXVzZSBpdCBpcyB0aGUgb25seSBwbGFjZQoJICB0aGF0IGEgbWFrZSB0YXJnZXQgbmFtZSBpcyBwYXNzZWQgb24gYSBjb21tYW5kIGxpbmUuCgoyMDA3LTAzLTA4IDExOjQ5ICBraW5nCgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oOiBFTkg6IEFkZGVkCgkgIENvbnZlcnRUb091dHB1dFNsYXNoZXMgbWV0aG9kIHRvIGNvbnZlcnQgc2xhc2hlcyB3aXRoIHRoZSBzYW1lCgkgIHBvbGljeSBhcyBDb252ZXJ0VG9PdXRwdXRQYXRoIGJ1dCB3aXRob3V0IGVzY2FwaW5nLgoKMjAwNy0wMy0wOCAxMToxMCAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oOiBFTkg6IFJlbW92ZWQgdXNlbGVzcyBtZXRob2QKCSAgQ29udmVydFRvTWFrZVRhcmdldCBhbmQgYWxsIGNhbGxzIHRvIGl0LiAgSXQgaGFkIGEgYnVnZ3kKCSAgaW1wbGVtZW50YXRpb24gdGhhdCBjYXVzZWQgaXQgdG8gZG8gbm90aGluZy4KCjIwMDctMDMtMDggMTA6MzEgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHg6IEJVRzogU29tZSBjYWxscyB0byBDb252ZXJ0KCkgd2VyZQoJICBjb252ZXJ0aW5nIGZvciBNQUtFRklMRSBidXQgdGhlbiBwYXNzaW5nIHRoZSBvdXRwdXQgdG8gdGhlIGJ1aWxkCgkgIHNoZWxsLiAgVGhlIGNhbGxzIGhhdmUgbm93IGJlZW4gY29udmVydGVkIHRvIGNhbGwgQ29udmVydCgpIHdpdGgKCSAgU0hFTEwuCgoyMDA3LTAzLTA4IDEwOjE5ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBTVFlMRTogUmVtb3ZlZCB1bnVzZWQKCSAgY2FsbHMgdG8gQ29udmVydC4KCjIwMDctMDMtMDggMDk6NDggIGtpbmcKCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmg6IFNUWUxFOiBSZW1vdmluZwoJICB1bnVzZWQgbWV0aG9kcyBDb252ZXJ0VG9TaGVsbFBhdGggYW5kIEVzY2FwZUZvclVuaXhTaGVsbC4KCjIwMDctMDMtMDggMDg6NTAgIGFuZHkKCgkqIFV0aWxpdGllcy9jbWN1cmwvOiBDTWFrZUxpc3RzLnR4dCwgYW1pZ2Fvcy5jLCBhbWlnYW9zLmgsCgkgIGFycGFfdGVsbmV0LmgsIGJhc2U2NC5jLCBiYXNlNjQuaCwgY29uZmlnLmguaW4sIGNvbm5lY3QuYywKCSAgY29ubmVjdC5oLCBjb250ZW50X2VuY29kaW5nLmMsIGNvbnRlbnRfZW5jb2RpbmcuaCwgY29va2llLmMsCgkgIGNvb2tpZS5oLCBjdXJsLmNvcHlyaWdodCwgY3VybHguaCwgZGljdC5jLCBkaWN0LmgsIGVhc3kuYywKCSAgZWFzeWlmLmgsIGVzY2FwZS5jLCBlc2NhcGUuaCwgZmlsZS5jLCBmaWxlLmgsIGZvcm1kYXRhLmMsCgkgIGZvcm1kYXRhLmgsIGZ0cC5jLCBmdHAuaCwgZ2V0ZW52LmMsIGdldGluZm8uYywgZ2V0aW5mby5oLCBndGxzLmMsCgkgIGd0bHMuaCwgaGFzaC5jLCBoYXNoLmgsIGhvc3RhcmVzLmMsIGhvc3Rhc3luLmMsIGhvc3RpcC5jLAoJICBob3N0aXAuaCwgaG9zdGlwNC5jLCBob3N0aXA2LmMsIGhvc3RzeW4uYywgaG9zdHRocmUuYywgaHR0cC5jLAoJICBodHRwLmgsIGh0dHBfY2h1bmtzLmMsIGh0dHBfY2h1bmtzLmgsIGh0dHBfZGlnZXN0LmMsCgkgIGh0dHBfZGlnZXN0LmgsIGh0dHBfbmVnb3RpYXRlLmMsIGh0dHBfbmVnb3RpYXRlLmgsIGh0dHBfbnRsbS5jLAoJICBodHRwX250bG0uaCwgaWYyaXAuYywgaWYyaXAuaCwgaW5ldF9udG9hX3IuaCwgaW5ldF9udG9wLmMsCgkgIGluZXRfbnRvcC5oLCBpbmV0X3B0b24uYywgaW5ldF9wdG9uLmgsIGtyYjQuYywga3JiNC5oLCBsZGFwLmMsCgkgIGxkYXAuaCwgbGxpc3QuYywgbGxpc3QuaCwgbWQ1LmMsIG1kNS5oLCBtZW1kZWJ1Zy5jLCBtZW1kZWJ1Zy5oLAoJICBtZW1vcnkuaCwgbXByaW50Zi5jLCBtdWx0aS5jLCBtdWx0aWlmLmgsIG5ldHJjLmMsIG5ldHJjLmgsCgkgIG53bGliLmMsIHBhcnNlZGF0ZS5jLCBwYXJzZWRhdGUuaCwgcHJvZ3Jlc3MuYywgcHJvZ3Jlc3MuaCwKCSAgc2VjdXJpdHkuYywgc2VsZWN0LmMsIHNlbGVjdC5oLCBzZW5kZi5jLCBzZW5kZi5oLCBzZXR1cC5oLAoJICBzZXR1cF9vbmNlLmgsIHNoYXJlLmMsIHNoYXJlLmgsIHNvY2thZGRyLmgsIHNvY2tzLmMsIHNvY2tzLmgsCgkgIHNwZWVkY2hlY2suYywgc3BlZWRjaGVjay5oLCBzcGxheS5jLCBzcGxheS5oLCBzc2guYywgc3NoLmgsCgkgIHNzbGdlbi5jLCBzc2xnZW4uaCwgc3NsdXNlLmMsIHNzbHVzZS5oLCBzdHJkdXAuYywgc3RyZHVwLmgsCgkgIHN0cmVxdWFsLmMsIHN0cmVxdWFsLmgsIHN0cmVycm9yLmMsIHN0cmVycm9yLmgsIHN0cnRvay5jLAoJICBzdHJ0b2suaCwgc3RydG9vZmZ0LmMsIHN0cnRvb2ZmdC5oLCB0ZWxuZXQuYywgdGVsbmV0LmgsIHRmdHAuYywKCSAgdGZ0cC5oLCB0aW1ldmFsLmMsIHRpbWV2YWwuaCwgdHJhbnNmZXIuYywgdHJhbnNmZXIuaCwgdXJsLmMsCgkgIHVybC5oLCB1cmxkYXRhLmgsIHZlcnNpb24uYywgQ01ha2UvQ2hlY2tDU291cmNlQ29tcGlsZXMuY21ha2UsCgkgIENNYWtlL0NoZWNrQ1NvdXJjZVJ1bnMuY21ha2UsIENNYWtlL090aGVyVGVzdHMuY21ha2UsCgkgIGN1cmwvY3VybC5oLCBjdXJsL2N1cmx2ZXIuaCwgY3VybC9lYXN5LmgsIGN1cmwvbXByaW50Zi5oLAoJICBjdXJsL211bHRpLmgsIGN1cmwvc3RkY2hlYWRlcnMuaDogRU5IOiBVcGRhdGUgdG8gNy4xNi4xCgoyMDA3LTAzLTA4IDA4OjQ2ICBraW5nCgoJKiBTb3VyY2UvY21JbmNsdWRlRGlyZWN0b3J5Q29tbWFuZC5jeHg6IFNUWUxFOiBGaXggbGluZS10b28tbG9uZy4KCjIwMDctMDMtMDggMDg6MzggIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBjbUxvY2FsR2VuZXJhdG9yLmgsIGNtYWtlLmN4eDogRU5IOgoJICBTZXR1cFBhdGhDb252ZXJzaW9ucyBpcyBub3cgY2FsbGVkIGF1dG9tYXRpY2FsbHkgb24gZGVtYW5kLgoKMjAwNy0wMy0wNyAyMjoxMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAzLTA3IDE3OjM5ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEVOSDogTW9kaWZpZWQKCSAgR2V0T2JqZWN0RmlsZU5hbWVXaXRob3V0VGFyZ2V0IHRvIHVzZSByZWxhdGl2ZSBwYXRocyBmb3Igb2JqZWN0CgkgIGZpbGUgbmFtZXMgd2l0aCBzb3VyY2VzIGFib3ZlIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBzbyBsb25nIGFzCgkgIHRoZSByZWxhdGl2ZSBwYXRoIGNvbnZlcnNpb24gd29ya3MuCgoyMDA3LTAzLTA3IDE3OjMyICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5oOiBFTkg6IEltcHJvdmVkCgkgIGNvbXB1dGF0aW9uIG9mIFJlbGF0aXZlUGF0aFRvcFNvdXJjZSBhbmQgUmVsYXRpdmVQYXRoVG9wQmluYXJ5IHRvCgkgIHVzZSBoaWdoZXIgcmVsYXRpdmUgcGF0aCB0b3BzIHdoZW4gdGhlIHNvdXJjZSBkaXJlY3RvcmllcyBqdW1wCgkgIGFyb3VuZCBpbiBhIHRyZWUgYmVsb3cgdGhlIG9yaWdpbmFsIHNvdXJjZSB0b3AuCgoyMDA3LTAzLTA3IDE2OjM1ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEVOSDogU2V0IFJlbGF0aXZlUGF0aFRvcFNvdXJjZSBhbmQKCSAgUmVsYXRpdmVQYXRoVG9wQmluYXJ5IGluZGVwZW5kZW50bHkgZm9yIGVhY2ggbG9jYWwgZ2VuZXJhdG9yLgoJICBSZWxhdGl2ZSBwYXRoIGNvbnZlcnNpb24gaXMgc2FmZSB3aXRoaW4gYSB0cmVlIGFzIGxvbmcgYXMgaXQgZG9lcwoJICBub3QgZ28gYWJvdmUgdGhlIGhpZ2hlc3QgcGFyZW50IGRpcmVjdG9yeSBzdGlsbCBtYW5hZ2VkIGJ5IENNYWtlLgoKMjAwNy0wMy0wNyAxNjozMiAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIGNtTG9jYWxHZW5lcmF0b3IuaDogQ09NUDoKCSAgRml4IENvbnZlcnRUb1JlbGF0aXZlUGF0aCBjaGFuZ2UgZm9yIFhjb2RlIGdlbmVyYXRvci4KCjIwMDctMDMtMDcgMTY6MDAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9oYXNodGFibGUuaHh4LmluOiBTVFlMRTogTW92ZSB3YXJuaW5nIGRpc2FibGUgcHJhZ21hCgkgIGludG8gcHVzaC9wb3AgYmxvY2suCgoyMDA3LTAzLTA3IDE1OjU3ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2UsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogR2V0IHJpZCBvZiBhbmNpZW50CgkgIHZhcmlhYmxlcyBDTUFLRV9DWFhfV0FSTklOR19MRVZFTCwgQ01BS0VfQ1hYX1VTRV9SVFRJLAoJICBDTUFLRV9DWFhfU1RBQ0tfU0laRSB3aGljaCBhcmUgb25seSBwYXJ0aWFsbHkgaW1wbGVtZW50ZWQgYW5kIG5vdwoJICB0YWtlbiBjYXJlIG9mIGJ5IGZsYWcgbWFwcGluZyBhbnl3YXkuCgoyMDA3LTAzLTA3IDE1OjM2ICBtYXJ0aW5rCgoJKiBNb2R1bGVzL1VzZVBrZ0NvbmZpZy5jbWFrZTogQlVHOiB1bnRlc3RlZCBmaXggZm9yIG5ld2xpbmVzIGluIHRoZQoJICBvdXRwdXQgb2YgcGtnIGNvbmZpZwoKMjAwNy0wMy0wNyAxNTozMCAga2luZwoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBDT01QOiBBZGQgbWlzc2luZyBpbmNsdWRlIGZvcgoJICBhc3NlcnQuCgoyMDA3LTAzLTA3IDE1OjE1ICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBjbUxvY2FsR2VuZXJhdG9yLmg6IEVOSDogTW92ZWQKCSAgQ29udmVydFRvUmVsYXRpdmVQYXRoIGZyb20gY21HbG9iYWxHZW5lcmF0b3IgdG8gY21Mb2NhbEdlbmVyYXRvci4KCSAgVGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3Igc2V0dGluZyB1cCBlYWNoIGxvY2FsIGdlbmVyYXRvciB0bwoJICBoYXZlIGl0cyBvd24gUmVsYXRpdmVQYXRoVG9wU291cmNlIGFuZCBSZWxhdGl2ZVBhdGhUb3BCaW5hcnkKCSAgYmFzZWQgb24gaXRzIGFuY2VzdG9yIGRpcmVjdG9yaWVzLgoKMjAwNy0wMy0wNyAxMzo1MiAga2luZwoKCSogU291cmNlL2t3c3lzLzogdGVzdER5bmFtaWNMb2FkZXIuY3h4LCB0ZXN0U3lzdGVtVG9vbHMuY3h4OiBCVUc6CgkgIFVzZSBhbmdsZS1icmFja2V0cyB0byBpbmNsdWRlIHRlc3RTeXN0ZW1Ub29scy5oIHRvIGF2b2lkIHByb2JsZW1zCgkgIHdpdGggaW4tc291cmNlIGJ1aWxkcy4KCjIwMDctMDMtMDcgMTM6MDEgIG1hcnRpbmsKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogQlVHOiBvb3BzIGJhZCBhcmcgZm9yIG5ldyB0ZXN0CgoyMDA3LTAzLTA3IDExOjAzICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbUluY2x1ZGVEaXJlY3RvcnlDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtSW5jbHVkZURpcmVjdG9yeUNvbW1hbmQuaCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21TZXBhcmF0ZUFyZ3VtZW50c0NvbW1hbmQuY3h4LAoJICBUZXN0cy9OZXdsaW5lQXJncy9DTWFrZUxpc3RzLnR4dDogQlVHOiBpbXByb3ZlIGJhZCBhcmd1bWVudAoJICBoYW5kbGluZyBmb3IgSU5DTFVERV9ESVJFQ1RPUklFUyBhbmQgQUREX0RFRklOSVRJT05TIGJ1ZyA0MzY0CgoyMDA3LTAzLTA3IDA5OjI2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBhdXRvX3B0ci5oeHguaW4sIHRlc3RBdXRvUHRyLmN4eDogRU5IOiBFbmFibGVkCgkgIHN1cHBvcnQgZm9yIHVzZV9hdXRvX3B0cihnZXRfYXV0b19wdHIoKSkgc3ludGF4IG9uIEhQIGNvbXBpbGVyLgoKMjAwNy0wMy0wNiAyMToyMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAzLTA2IDE0OjUyICBtYXJ0aW5rCgoJKiBUZXN0cy9OZXdsaW5lQXJncy86IENNYWtlTGlzdHMudHh0LCBjeHhvbmx5LmN4eCwgbGliY3h4MS5jeHgsCgkgIGxpYmN4eDEuaCwgbGliY3h4Mi5oLmluOiBFTkg6IGFkZGVkIGEgdGV0cyBmb3IgbmV3bGluZXMgaW4gc29tZQoJICBjb21tYW5kcwoKMjAwNy0wMy0wNiAxMDo1NiAgbWFydGluawoKCSogU291cmNlL2t3c3lzL2hhc2h0YWJsZS5oeHguaW46IENPTVA6IHNodXQgdXAgdzQgd2FybmluZwoKMjAwNy0wMy0wNiAwOToxNiAgYW5keQoKCSogTW9kdWxlcy9DUGFjay5TVEdaX0hlYWRlci5zaC5pbjogU1RZTEU6IERlZmF1dGwgYW5zd2VyIGZvciB0aGUKCSAgbGljZW5zZSBpcyBubwoKMjAwNy0wMy0wNSAyMToyMyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAzLTA1IDE1OjIxICBtYXJ0aW5rCgoJKiBNb2R1bGVzL1VzZVNXSUcuY21ha2U6IEVOSDogcGF0Y2ggYXBwbGllZCBmb3IgYnVnIDQ1MTcKCjIwMDctMDMtMDUgMTM6MDEgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBSZW1vdmVkIGxlZ2FjeQoJICBTZXR1cFRlc3RzIG1ldGhvZCB0aGF0IHdhcyBjYXVzaW5nIFJVTl9URVNUUyB0byB0ZXN0IHR3aWNlLgoKMjAwNy0wMy0wNSAxMDozNiAgbWFydGluawoKCSogU291cmNlLzogY21Db21tYW5kQXJndW1lbnRQYXJzZXIuY3h4LCBjbURlcGVuZHNGb3J0cmFuUGFyc2VyLmN4eCwKCSAgY21EZXBlbmRzSmF2YVBhcnNlci5jeHgsIGNtRXhwclBhcnNlci5jeHg6IENPTVA6IHNodXQgdXAgd2FybmluZ3MKCjIwMDctMDMtMDUgMDk6NTAgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVRyeUNvbXBpbGVDb21tYW5kLmN4eDogU1RZTEU6IGxvbmcgbGluZQoKMjAwNy0wMy0wNCAyMTozMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAzLTAzIDIzOjQ2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvdGVzdEF1dG9QdHIuY3h4OiBDT01QOiBEaXNhYmxlIGZ1bmN0aW9uIGNhbGwgd2l0aAoJICBmdW5jdGlvbiByZXR1cm4gdGVzdCBmb3IgSFAgdW50aWwgaXQgaXMgaW1wbGVtZW50ZWQuCgoyMDA3LTAzLTAzIDIxOjI2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDMtMDMgMTU6NDMgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IENNYWtlTGlzdHMudHh0LCBhdXRvX3B0ci5oeHguaW46IENPTVA6IEFsbCBrd3N5cwoJICAuaHh4IGhlYWRlcnMgc2hvdWxkIGluY2x1ZGUgQ29uZmlndXJlLmh4eC4gIFJlLWVuYWJsaW5nCgkgIHRlc3RBdXRvUHRyLgoKMjAwNy0wMy0wMyAxNTozMiAga2luZwoKCSogU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0OiBDT01QOiBEaXNhYmxlIGF1dG9fcHRyIHRlc3QgZm9yIG5vdy4KCjIwMDctMDMtMDMgMTU6MDUgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IGF1dG9fcHRyLmh4eC5pbiwgdGVzdEF1dG9QdHIuY3h4OiBFTkg6IEltcGxlbWVudGVkCgkgIGF1dG9fcHRyX3JlZiBpbiBhIHdheSB0aGF0IGFsbG93cyBjb252ZXJzaW9uIG9mIHRoZSBwb2ludGVkLXRvCgkgIHR5cGUuCgoyMDA3LTAzLTAzIDE0OjUxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvdGVzdEF1dG9QdHIuY3h4OiBDT01QOiBSZW1vdmUgb25lIGNvbnZlcnNpb24gdGVzdAoJICB1bnRpbCBpdCBpcyBpbXBsZW1lbnRlZC4KCjIwMDctMDMtMDMgMTQ6NDggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IENNYWtlTGlzdHMudHh0LCBhdXRvX3B0ci5oeHguaW4sIHRlc3RBdXRvUHRyLmN4eDoKCSAgRU5IOiBBZGRlZCB0ZXN0IGZvciBhdXRvX3B0ci4gIERvY3VtZW50ZWQgYXV0X3B0ciB0ZW1wbGF0ZQoJICBpbXBsZW1lbnRhdGlvbi4KCjIwMDctMDMtMDMgMTI6MTYgIGtpbmcKCgkqIFNvdXJjZS86IGNtQm9vdHN0cmFwQ29tbWFuZHMuY3h4LCBjbUNvbW1hbmRzLmN4eDogQlVHOgoJICBjbUNyZWF0ZVRlc3RTb3VyY2VMaXN0IGNvbW1hbmQgaXMgbmVlZGVkIGF0IGJvb3N0cmFwIHRpbWUgYmVjYXVzZQoJICBLV1N5cyBub3cgdXNlcyB0ZXN0IGRyaXZlcnMuCgoyMDA3LTAzLTAzIDEwOjQ3ICBraW5nCgoJKiBTb3VyY2UvOiBrd3N5cy9DTWFrZUxpc3RzLnR4dCwKCSAga3dzeXMvdGVzdENvbW1hbmRMaW5lQXJndW1lbnRzLmN4eCwKCSAga3dzeXMvdGVzdENvbW1hbmRMaW5lQXJndW1lbnRzMS5jeHgsIGt3c3lzL3Rlc3REeW5hbWljTG9hZGVyLmN4eCwKCSAga3dzeXMvdGVzdEZhaWwuYywga3dzeXMvdGVzdEhhc2hTVEwuY3h4LCBrd3N5cy90ZXN0SU9TLmN4eCwKCSAga3dzeXMvdGVzdFJlZ2lzdHJ5LmN4eCwga3dzeXMvdGVzdFN5c3RlbVRvb2xzLmN4eCwKCSAga3dzeXMvdGVzdFRlcm1pbmFsLmMsIENNYWtlTGlzdHMudHh0OiBFTkg6IENsZWFuZWQgdXAgS1dTeXMgdGVzdHMKCSAgdG8gdXNlIHRlc3QgZHJpdmVycy4KCjIwMDctMDMtMDMgMTA6MDkgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1iY2MzMi5jbWFrZTogQlVHOiBEbyBub3QgY3JlYXRlIGltcG9ydAoJICBsaWJyYXJ5IGZvciBNT0RVTEVzLglUaGUgVEFSR0VUX0lNUExJQiBuYW1lIGlzIG5vdCBzZXQgY29ycmVjdGx5CgkgIGZvciBNT0RVTEUgcnVsZXMgYW55d2F5LgoKMjAwNy0wMy0wMiAyMToxMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAzLTAyIDE0OjMxICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlVXRpbGl0eVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVVdGlsaXR5VGFyZ2V0R2VuZXJhdG9yLmg6IEJVRzogZml4IGZvciBidWlsZCBvcmRlcgoKMjAwNy0wMy0wMiAxMTozMyAgYW5keQoKCSogTW9kdWxlcy9QbGF0Zm9ybS9EYXJ3aW4uY21ha2UsIFNvdXJjZS9jbVRyeUNvbXBpbGVDb21tYW5kLmN4eDoKCSAgQlVHOiBQcm9wYWdhdGUgcGxhdGZvcm0gc2V0dGluZ3Mgc3VjaCBhcyBDTUFLRV9PU1hfQVJDSElURUNUVVJFUwoJICB0byB0aGUgdHJ5IGNvbXBpbGUKCjIwMDctMDMtMDIgMTA6NTcgIG1hcnRpbmsKCgkqIE1vZHVsZXMvU3lzdGVtSW5mb3JtYXRpb24uY21ha2U6IEVOSDogbGltaXQgdGhlIG91dHB1dCBvZiBzeXN0ZW0KCSAgaW5mb3JtYXRpb24gdG8gbm8gbW9yZSB0aGFuIDUwSyBwZXIgZmlsZQoKMjAwNy0wMy0wMiAxMDo1MCAgbWFydGluawoKCSogU291cmNlLzogY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbVdpbjMyUHJvY2Vzc0V4ZWN1dGlvbi5jeHg6IENPTVA6IGZpeCBzb21lIHc0IHdhcm5pbmdzCgoyMDA3LTAzLTAyIDEwOjQ5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDA3LTAzLTAyIDEwOjQ4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBrd3N5cy9TeXN0ZW1Ub29scy5jeHgsIGNtRmlsZUNvbW1hbmQuY3h4OiBDT01QOiBmaXgKCSAgd2FybmluZ3MKCjIwMDctMDMtMDEgMjM6MjggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9hdXRvX3B0ci5oeHguaW46IENPTVA6IE1vcmUgd29ya2Fyb3VuZHMgZm9yIEJvcmxhbmQuCgoyMDA3LTAzLTAxIDIxOjE1ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDMtMDEgMTY6NDQgIGtpbmcKCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogQlVHOiBGaXggYnVnIGludHJvZHVjZWQgYnkgcmV2aXNpb24gMS42Ny4KCSAgVGhlIHFtYWtlIHF1ZXJ5IG1vZGUgcHJpbnRzIGluZm9ybWF0aW9uIHRvIHN0ZGVyciBvbiBzb21lCgkgIHBsYXRmb3Jtcy4gIFRoZSBPVVRQVVRfVkFSSUFCTEUgYW5kIEVSUk9SX1ZBUklBQkxFIG11c3QgYmUgdGhlCgkgIHNhbWUgdmFyaWFibGUgdG8gZ2V0IGFsbCB0aGUgb3V0cHV0LgoKMjAwNy0wMy0wMSAxNjoyMyAgbWFydGluawoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4OiBDT01QOiBmaXggYSBjb21waWVsIHdhcm5pbmcKCjIwMDctMDMtMDEgMTU6NTMgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtRmlsZUNvbW1hbmQuY3h4LCBjbUZpbGVDb21tYW5kLmg6IEVOSDogYWRkZWQgTElNSVQgb24KCSAgZmlsZSByZWFkCgoyMDA3LTAzLTAxIDE0OjUyICBtYXJ0aW5rCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBDT01QOiBmaXggd2FybmluZwoKMjAwNy0wMy0wMSAxNDozMCAgbWFydGluawoKCSogU291cmNlL2t3c3lzLzogU3lzdGVtVG9vbHMuY3h4LCBTeXN0ZW1Ub29scy5oeHguaW46IEVOSDogYWRkZWQgYQoJICBsaW1pdCB0byB0aGUgZ2V0bGluZSBtZXRob2QKCjIwMDctMDMtMDEgMTA6NTMgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEJVRzogYSBjb3VwbGUgYnVncyBpbiBzeXN0ZW0gaW5mb3JtYWl0b24KCjIwMDctMDMtMDEgMTA6MzMgIG1hcnRpbmsKCgkqIENNYWtlTGlzdHMudHh0OiBCVUc6IGJhZCBjb21tYW5kIGxpbmUKCjIwMDctMDItMjggMjE6MDcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wMi0yOCAxNzoyNiAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBFTkg6IHJlbW92ZSBxbnggc3BlY2lhbCBzdHVmZiB0aGF0CgkgIGRvZXMgbm90IHdvcmsKCjIwMDctMDItMjggMTQ6NDUgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogQlVHOiBjbGVhbnVwIHBhdGhzIGluIEdldFNvdXJjZUZpbGUgdG8KCSAgaGFuZGxlIGJ1ZyAyNzI0CgoyMDA3LTAyLTI4IDE0OjI5ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OgoJICBFTkg6IG9uZSBtb3JlIHBhc3MgYXQgcGF0aHMgd2l0aCBzcGFjZXMgYW5kIHBhcmVucwoKMjAwNy0wMi0yOCAxMjoyNSAgbWFydGluawoKCSogQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgU291cmNlL2NtYWtlLmN4eDogQlVHOgoJICBhbGxvdyBzeXN0ZW0gaW5mb3JtYXRpb24gdG8gYWNjZXB0IHRoZSAtRyBvcHRpb24KCjIwMDctMDItMjggMDk6MzYgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9hdXRvX3B0ci5oeHguaW46IEJVRzogQXNzaWdubWVudCBzaG91bGQgYWx3YXlzIHVzZQoJICByZXNldCgpLgoKMjAwNy0wMi0yOCAwOTozNSAga2luZwoKCSogU291cmNlL2t3c3lzL2F1dG9fcHRyLmh4eC5pbjogQ09NUDogRml4IGZvciBhdXRvX3B0cl9yZWYgb24KCSAgQm9ybGFuZCA1LjguCgoyMDA3LTAyLTI4IDA5OjMzICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBCVUc6IEZpeCBmb3IKCSAgY21ha2VfZm9yY2UgdGFyZ2V0IGluIEJvcmxhbmQgTWFrZWZpbGVzLgoKMjAwNy0wMi0yNyAxNjo0MSAgbWFydGluawoKCSogU291cmNlL2NtYWtlLmN4eDogQlVHOiBmaXggdG8gbmFtaW5nIG9mIHJlc3VsdHMgZmlsZQoKMjAwNy0wMi0yNyAxNToxMSAgaG9mZm1hbgoKCSogVGVzdHMvU3ViRGlyU3BhY2VzLzogQ01ha2VMaXN0cy50eHQsCgkgIFRoaXJkU3ViRGlyL3Rlc3Rmcm9tYXV4c3ViZGlyLmM6IEVOSDogd2F0Y29tIHdtYWtlIGNhbiBub3QgaGFuZGxlCgkgICgpIGluIHRoZSBwYXRoIHdpdGggY2QgY29tbWFuZAoKMjAwNy0wMi0yNyAxMzozNCAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogRU5IOiBhZGQgYSBmaXggZm9yCgkgIHNwYWNlcyBpbiB0aGUgcGF0aCBhZ2Fpbi4uLgoKMjAwNy0wMi0yNyAxMzowNCAgbWFydGluawoKCSogQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogQlVHOiBwb3NzaWJsZSBmaXggZm9yIG5ldwoJICBTeXN0ZW1JbmZvIHRlc3QKCjIwMDctMDItMjcgMTI6NDcgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEJVRzogZml4IGZvciB1bnVzZWQgdmFyaWFibGUKCjIwMDctMDItMjcgMTI6MTAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEVOSDogZml4IGZvciBzcGFjZXMgaW4KCSAgdGhlIHBhdGggYW5kIG1pbmd3CgoyMDA3LTAyLTI3IDExOjU5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEJVRzogcG9zc2libGUgZml4IGZvciBuZXcgU3lzdGVtSW5mbyB0ZXN0CgoyMDA3LTAyLTI3IDEwOjEwICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21ha2UuY3h4LCBjbWFrZS5oLCBjbWFrZW1haW4uY3h4OiBFTkg6CgkgIGFkZGVkIC0tc3lzdGVtLWluZm9ybWF0aW9uIG9wdGlvbiB0byBDTWFrZQoKMjAwNy0wMi0yNyAwOTo0MyAgbWFydGluawoKCSogTW9kdWxlcy86IFN5c3RlbUluZm9ybWF0aW9uLmNtYWtlLCBTeXN0ZW1JbmZvcm1hdGlvbi5pbjogRU5IOgoJICBpbXByb3ZlbWVudHMKCjIwMDctMDItMjYgMTM6NDAgIG1hcnRpbmsKCgkqIE1vZHVsZXMvOiBTeXN0ZW1JbmZvcm1hdGlvbi5jbWFrZSwgU3lzdGVtSW5mb3JtYXRpb24uaW46IEVOSDoKCSAgYWRkZWQgZm9yIHN5c3RlbSBpbmZvcm1hdGlvbiBjb21tYW5kIGxpbmUgb3B0aW9uCgoyMDA3LTAyLTI2IDEyOjA4ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvYXV0b19wdHIuaHh4LmluOiBDT01QOiBBZGRlZCBsaW5lIGFjY2lkZW50YWxseQoJICByZW1vdmVkLgoKMjAwNy0wMi0yNiAxMjowNiAga2luZwoKCSogU291cmNlL2t3c3lzL2F1dG9fcHRyLmh4eC5pbjogQlVHOiBGaXhlZCBpbXBsZW1lbnRhdGlvbiBvZgoJICBhdXRvX3B0cl9yZWYuCgoyMDA3LTAyLTI2IDExOjU2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEVOSDogZ28gYmFjayB0byBcIGVzY2FwZXMgZm9yIHFueAoKMjAwNy0wMi0yNiAxMTo0MSAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBFTkg6IGdvIGJhY2sgdG8gRXNjYXBlRm9yU2hlbGwKCSAgdmVyc2lvbgoKMjAwNy0wMi0yNiAxMDo0NiAga2luZwoKCSogVGVzdHMvU3ViRGlyU3BhY2VzL0NNYWtlTGlzdHMudHh0OiBDT01QOiBEaXNhYmxlIHJwYXRoIHdpdGgKCSAgc3BhY2VzIG9uIHNvbWUgc3lzdGVtcy4KCjIwMDctMDItMjUgMjE6MDIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wMi0yNSAxOToyMiAgYWxleAoKCSogTW9kdWxlcy9GaW5kR2V0dGV4dC5jbWFrZTogQlVHOiBmaXggdHlwbyByZXBvcnRlZCBieSBEdW5jYW4gTWFjCgkgIFZpY2FyCgoJICBBbGV4CgoyMDA3LTAyLTI1IDE2OjEzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEVOSDogdHJ5IGFuZCB1c2UgXCBmb3Igc3BhY2UgYW5kICgpCgkgIGVzY2FwZXMKCjIwMDctMDItMjMgMjA6MzcgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogRU5IOiB0cnkgYW5vdGhlciB0aGluZyAzCgoyMDA3LTAyLTIzIDE3OjM4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEVOSDogdHJ5IGFub3RoZXIgdGhpbmcKCjIwMDctMDItMjMgMTc6MDcgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogRU5IOiBhZGQgc29tZSBkZWJ1ZyBzdHVmZgoKMjAwNy0wMi0yMyAxNjo0NCAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBFTkg6IGFkZCBzb21lIGRlYnVnIHN0dWZmCgoyMDA3LTAyLTIzIDE0OjM3ICBhbmR5CgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IENPTVA6IERpc2FibGUgdGVzdCB1bnRpbCBnZW5lcmF0b3JzIGFyZQoJICBmaXhlZAoKMjAwNy0wMi0yMyAxMTozMCAgYW5keQoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IFRyeSB0byBmaXggc3BhY2VzIGluIHRoZSBwYXRoIHByb2JsZW0KCjIwMDctMDItMjMgMTE6MTcgIGFuZHkKCgkqIFRlc3RzL1NpbXBsZUV4Y2x1ZGUvcnVuLmNtYWtlLmluOiBFTkg6IFRyeSB0byBmaXggc3BhY2VzIGluIHRoZQoJICBwYXRoIHByb2JsZW0KCjIwMDctMDItMjMgMTA6MzEgIGFuZHkKCgkqIFRlc3RzL1NpbXBsZUV4Y2x1ZGUvOiBkaXJDL2RpckEvQ01ha2VMaXN0cy50eHQsCgkgIGRpckMvZGlyQi9DTWFrZUxpc3RzLnR4dCwgZGlyRC9DTWFrZUxpc3RzLnR4dDogRU5IOiBGb3JjZQoJICBsaWJyYXJpZXMgdG8gYmUgc3RhdGljCgoyMDA3LTAyLTIzIDA5OjU0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21HZXRUZXN0UHJvcGVydHlDb21tYW5kLmg6IEVOSDogYWRkZWQgc29tZSBkb2N1bWVudGF0aW9uCgkgIG9uIGhvdyB0byBmaW5kIHRoZSBkZWZhdWx0IHByb3BlcnRpZXMgb2YgYSB0ZXN0CgoyMDA3LTAyLTIzIDA5OjQ2ICBhbmR5CgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxHZW5lcmF0b3IuaCwgY21NYWtlZmlsZS5jeHgsIGNtVGFyZ2V0LmN4eCwgY21UYXJnZXQuaDoKCSAgRU5IOiBNYWtlIEVYQ0xVREVfRlJPTV9BTEwgYSB0YXJnZXQgYW5kIGRpcmVjdG9yeSBwcm9wZXJ0aWVzLgoJICBBbHNvLCBtYWtlIElzSW5BbGwgdXNlIEVYQ0xVREVfRlJPTV9BTEwuIEFsc28sIGVuYWJsZSB0aGUgdGVzdAoJICB0aGF0IHRlc3RzIHRoaXMKCjIwMDctMDItMjMgMDk6NDUgIGFuZHkKCgkqIFNvdXJjZS9jbUluY2x1ZGVEaXJlY3RvcnlDb21tYW5kLmN4eDogQlVHOiBQcm9kdWNlIGVycm9yIHdoZW4KCSAgaW5jbHVkZSBkaXJlY3RvcmllcyBpcyBpbnZva2VkIHdpdGggYW4gZW1wdHkgbGlzdAoKMjAwNy0wMi0yMiAxNzozNCAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBFTkg6IGhhY2sgcHV0IHRoZSBoYWNrIGJhY2sgZm9yIHFueAoJICB0byB0cnkgYW5kIGZpeCBzcGFjZXMgaW4gdGhlIHBhdGgKCjIwMDctMDItMjIgMTc6MjYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogRU5IOiB1bmRvIGhhY2sgYW5kIHRyeSB0byBnZXQKCSAgZGFzaGJvYXJkIGJhY2sKCjIwMDctMDItMjIgMTc6MTUgIGhvZmZtYW4KCgkqIFRlc3RzL1N1YkRpclNwYWNlcy9DTWFrZUxpc3RzLnR4dDogRU5IOiBhZGQgYSBjb21tZW50CgoyMDA3LTAyLTIyIDE2OjIzICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEJVRzogSGFjayB0byB0cnkgd29ya2luZyBhcm91bmQgYQoJICBwcm9ibGVtIHdpdGggc3BhY2VzIGluIGFuIHJwYXRoIG9uIFFOWC4KCjIwMDctMDItMjIgMTU6NDMgIGhvZmZtYW4KCgkqIFRlc3RzL1N1YkRpclNwYWNlcy9DTWFrZUxpc3RzLnR4dDogRU5IOiBzaG93IG1ha2UgcmVzdWx0cyBvbiB0aGUKCSAgZGFzaGJvYXJkCgoyMDA3LTAyLTIyIDE1OjMzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEVOSDogYWRkIG5ldyBlc2NhcGUgc3R1ZmYKCjIwMDctMDItMjIgMTU6MjcgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEJVRzogRml4IGJ1ZyM0NDgyLgoKMjAwNy0wMi0yMiAxNToxNiAgYW5keQoKCSogVGVzdHMvU2ltcGxlRXhjbHVkZS9ydW4uY21ha2UuaW46IENPTVA6IFVzZSBleGVjX3Byb2dyYW0gaW5zdGVhZAoJICBvZiBleGVjdXRlX3Byb2Nlc3MKCjIwMDctMDItMjIgMTE6NDIgIGFuZHkKCgkqIFRlc3RzL1NpbXBsZUV4Y2x1ZGUvOiBDTWFrZUxpc3RzLnR4dCwgcnVuLmNtYWtlLmluOiBFTkg6IEltcHJvdmUKCSAgdGVzdAoKMjAwNy0wMi0yMiAxMDozMSAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IGFjdHVhbGx5IGtlZXAgdGhlIG91dHB1dAoKMjAwNy0wMi0yMiAxMDowNSAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IG1ha2Ugc3VyZSBFWEVDVVRFX1BST0NFU1MgaXMgdGhlcmUKCSAgYmVjYXVzZSBpbiBib290c3RyYXAgaXQgaXMgbm90CgoyMDA3LTAyLTIyIDA5OjQ4ICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBDT01QOiByZW1vdmUgd2FybmluZwoKMjAwNy0wMi0yMiAwOTo0NCAgbWFydGluawoKCSogU291cmNlL0NQYWNrL2NtQ1BhY2tPU1hYMTFHZW5lcmF0b3IuY3h4OiBTVFlMRTogZml4IHNvbWVvbmVzIGxpbmUKCSAgbGVuZ3RoCgoyMDA3LTAyLTIyIDA5OjEwICBhbmR5CgoJKiBTb3VyY2UvY21ha2UuY3h4OiBCVUc6IFByb2R1Y2UgYW4gZXJyb3Igd2hlbiB0aGUgc2NyaXB0IGlzIG5vdAoJICBmb3VuZAoKMjAwNy0wMi0yMiAwODozOSAgYW5keQoKCSogVGVzdHMvU2ltcGxlRXhjbHVkZS86IENNYWtlTGlzdHMudHh0LCBkaXJDL0NNYWtlTGlzdHMudHh0LAoJICBkaXJDL2RpckEvQ01ha2VMaXN0cy50eHQsIGRpckMvZGlyQS90MS5jLCBkaXJDL2RpckEvdDIuYywKCSAgZGlyQy9kaXJBL3QzLmMsIGRpckMvZGlyQS90NC5jLCBkaXJDL2RpckEvdDUuYywKCSAgZGlyQy9kaXJCL0NNYWtlTGlzdHMudHh0LCBkaXJDL2RpckIvdDYuYywgZGlyQy9kaXJCL3Q3LmMsCgkgIGRpckQvQ01ha2VMaXN0cy50eHQsIGRpckQvdDguYywgZGlyRC90OS5jOiBFTkg6IEFkZCBzaW1wbGUKCSAgZXhjbHVzaW9uIHRlc3QgZm9yIHN1YmRpcmVjdG9yaWVzCgoyMDA3LTAyLTIxIDIxOjI0ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4LCBTb3VyY2UvY21TeXN0ZW1Ub29scy5oLAoJICBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4LCBUZXN0cy9TdWJEaXJTcGFjZXMvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1N1YkRpclNwYWNlcy9Tb21lKHg4NikgU291cmNlcy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU3ViRGlyU3BhY2VzL1NvbWUoeDg2KSBTb3VyY2VzL3Rlc3QuYywKCSAgVGVzdHMvU3ViRGlyU3BhY2VzL1RoaXJkU3ViRGlyL3Rlc3Rmcm9tYXV4c3ViZGlyLmM6IEVOSDogZml4CgkgIHBhcmVucyBpbiB0aGUgcGF0aCB3aXRoIHNwYWNlcyBpbiB0aGUgcGF0aAoKMjAwNy0wMi0yMSAxNDo1OCAgbWFydGluawoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IHR1cm4gb24gc3BhY2VzIHRlc3QgZm9yIG1vcmUKCSAgcGxhdGZvcm1zCgoyMDA3LTAyLTIxIDE0OjA3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBFTkg6IGdldCByaWQgb2Ygc29tZSBleHRyYSBlcmFzZQoJICBjYWxscwoKMjAwNy0wMi0yMSAxNDowNyAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogU1RZTEU6IGZpeCBsaW5lIGxlbmd0aAoKMjAwNy0wMi0yMSAxNDowMSAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIGNtWENvZGVPYmplY3QuY3h4OiBCVUc6IGZpeAoJICBmb3IgcXVvdGVzIGluIHN0cmluZ3MgZm9yIGZsYWdzICM0MDIyCgoyMDA3LTAyLTIxIDEzOjMzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQ6IENPTVA6IERpc2FibGUgTEZTIG9uIEFJWC4KCjIwMDctMDItMjEgMTI6MTkgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUdsb2JhbFdhdGNvbVdNYWtlR2VuZXJhdG9yLmN4eDogRU5IOiByZW1vdmUgdW51c2VkCgkgIHZhcmlhYmxlCgoyMDA3LTAyLTIxIDExOjU4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogdHVybiBvbiBzcGFjZXMgdGVzdCBmb3IgbW9yZQoJICBwbGF0Zm9ybXMKCjIwMDctMDItMjEgMTE6NDUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vQUlYLmNtYWtlOiBFTkg6IGZvcmNlIGMrKyB3aGVuIGJ1aWxkaW5nIGMrKwoJICBvYmplY3RzCgoyMDA3LTAyLTIxIDEwOjI5ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lU3lzdGVtLmNtYWtlOiBFTkg6IGJldHRlciBwcm9jZXNzb3IKCSAgZGV0ZWN0aW9uIG9uIGxpbnV4CgoyMDA3LTAyLTIxIDEwOjAzICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lRm9ydHJhbkNvbXBpbGVyLmNtYWtlOiBFTkg6IHJlbW92ZSBkZgoJICBiZWNhdXNlIGRmIGlzIGEgdW5peCB1dGlsaXRpeQoKMjAwNy0wMi0yMCAxNjo0MyAgaG9mZm1hbgoKCSogTW9kdWxlcy86IENNYWtlRGV0ZXJtaW5lRm9ydHJhbkNvbXBpbGVyLmNtYWtlLAoJICBQbGF0Zm9ybS9XaW5kb3dzLWRmLmNtYWtlOiBCVUc6IGZpeCBmb3IgYnVnIDM5NTAgYWRkIHN1cHBvcnQgZm9yCgkgIGRmIGNvbXBpbGVyIG9uIHdpbmRvd3MKCjIwMDctMDItMjAgMTY6MzUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogQlVHOiBmaXggZm9yIGJ1ZyAjIDM5NTQgZ2xpYiB3aXRoIHF0CgoyMDA3LTAyLTIwIDE2OjA1ICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRLREU0LmNtYWtlOiBTVFlMRTogZml4IGRvY3MgZm9yIEZpbmRLREU0LmNtYWtlCgoJICBBbGV4CgoyMDA3LTAyLTIwIDE2OjAyICBhbGV4CgoJKiBNb2R1bGVzLzogRmluZEtERTMuY21ha2UsIEtERTNNYWNyb3MuY21ha2U6IEJVRzogcmVtb3ZlCgkgIEtERTNfRU5BQkxFX0ZJTkFMICgjNDE0MCk6IGl0IGRvZXNuJ3Qgd29yayBjdXJyZW50bHkgYW5kIEkgZG9uJ3QKCSAgaGF2ZSB0aGUgdGltZSB0byBmaXggdGhpcyBzaW5jZSBpdCB3b3VsZCByZXF1aXJlIGJpZ2dlciBjaGFuZ2VzLgoJICBNYXliZSBJJ2xsIGRvIHRoaXMgaWYgdGhlIEtERTMgc3VwcG9ydCBvZiBDTWFrZSBiZWNvbWVzIG1vcmUKCSAgd2lkZWx5IHVzZWQuCgoJICBBbGV4CgoyMDA3LTAyLTIwIDE2OjAwICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRMaWJYbWwyLmNtYWtlOiBTVFlMRTogZG9uJ3QgcHV0IHRoZSBjb3B5cmlnaHQgbm90aWNlCgkgIHR3aWNlIGluIHRoZSBmaWxlCgoJICBBbGV4CgoyMDA3LTAyLTIwIDE1OjE1ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEJVRzogZml4IGZvciBidWcgNDE4NyBmaXggdHlwbyBpbiBkb2NzCgoyMDA3LTAyLTIwIDE1OjE0ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlVW5peEZpbmRNYWtlLmNtYWtlOiBCVUc6IGZpeCBmb3IgNDE4OCBsb29rIGZvciBzbWFrZQoJICBhcyB3ZWxsIGFzIGdtYWtlIGFuZCBtYWtlCgoyMDA3LTAyLTIwIDE1OjA5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21GaWxlQ29tbWFuZC5oOiBFTkg6IGZpeCBzcGVsbGluZyBlcnJvciBidWcgIyA0MjMzCgoyMDA3LTAyLTIwIDE1OjAzICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogb25seSBhZGQgdGhlIHRlc3QgZm9yIHNvbWUgcGxhdGZvcm1zCgoyMDA3LTAyLTIwIDEzOjUyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEVOSDogZml4IHNvdXJjZSBleHRlbnNpb25zCgkgIGZyb3IgdHh0IG9uIHhjb2RlCgoyMDA3LTAyLTIwIDEyOjI4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHg6IEVOSDogZml4IGZvciBXYXRjb20KCjIwMDctMDItMjAgMTE6MzMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vUU5YLmNtYWtlOiBFTkg6IHRyeSB0byBmb3JjZSBjKysgb24gcW54CgoyMDA3LTAyLTIwIDExOjE0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEVOSDogZml4IGZvciBmb3JjZSBsYW5ndWFnZQoJICBzdHVmZgoKMjAwNy0wMi0yMCAxMDo1NyAgaG9mZm1hbgoKCSogVGVzdHMvU2V0TGFuZy9DTWFrZUxpc3RzLnR4dDogRU5IOiB2ZXJib3NlCgoyMDA3LTAyLTIwIDEwOjUyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4OiBFTkg6IGZpeCBjcmFzaAoKMjAwNy0wMi0yMCAwOTo1NCAgaG9mZm1hbgoKCSogTW9kdWxlcy9JbnN0YWxsUmVxdWlyZWRTeXN0ZW1MaWJyYXJpZXMuY21ha2U6IEJVRzogZml4IGZvciBidWcKCSAgNDQyMCBhZGQgbGFuZ3VhZ2UgZGxsJ3MgdG8gbWZjIGluc3RhbGwKCjIwMDctMDItMjAgMDk6MzUgIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgVGVzdHMvU2V0TGFuZy9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvU2V0TGFuZy9iYXIuYywKCSAgVGVzdHMvU2V0TGFuZy9mb28uYzogQlVHOiBmaXggZm9yIGJ1ZyA0NDIzIHNldCBsYW5ndWFnZSBmaXhlcwoKMjAwNy0wMi0xOSAxNjozNCAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IHJlbW92ZSBDb252TGliIHRlc3QgZm9yIG5vdwoKMjAwNy0wMi0xOSAxNToxMiAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IHVzZSBjb3JyZWN0IG5hbWUKCjIwMDctMDItMTkgMTU6MDcgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogRU5IOiB1c2UgcHJvamVjdCBub3QgdGFyZ2V0CgkgIG5hbWUKCjIwMDctMDItMTkgMTQ6NDggIG1hcnRpbmsKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvU3ViRGlyU3BhY2VzL0NNYWtlTGlzdHMudHh0OiBFTkg6CgkgIG1ha2UgdGhlIHRlc3QgcmVhbGx5IHRlc3QgdGFyZ2V0cyB3aXRoIHNwYWNlcwoKMjAwNy0wMi0xOSAxNDozMiAgbWFydGluawoKCSogU291cmNlLzogY21UYXJnZXQuY3h4LCBjbVRhcmdldC5oOiBCVUc6IGZpeCBhY2NpZGVudGFsIGNoZWNraW4KCjIwMDctMDItMTkgMTQ6MjYgIG1hcnRpbmsKCgkqIFRlc3RzL1N1YkRpclNwYWNlcy9FeGVjdXRhYmxlIFNvdXJjZXMvOiBDTWFrZUxpc3RzLnR4dCwgdGVzdC5jeHg6CgkgIEVOSDogYWRkZWQgdXNlZCBzb3VyY2VzIHdpdGggYSBwYXRoIHRoYXQgaGFzIHNwYWNlcwoKMjAwNy0wMi0xOSAxNDoyNSAgbWFydGluawoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eDogRU5IOiBmaXhlZCBtb3JlIGJ1Z3Mgd2l0aCBzcGFjZXMKCSAgaW4gdGhlIHBhdGgKCjIwMDctMDItMTkgMTM6NTMgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vZ2NjLmNtYWtlOiBCVUc6IEFwcGxpZWQgcGF0Y2ggZnJvbSBidWcjNDQ2Mi4KCjIwMDctMDItMTkgMTM6NDQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogQlVHOiBmaXggZm9yIGJ1ZyA0NDY0IGhhbmRsZSBxbWFrZSBlcnJvcnMKCSAgYmV0dGVyCgoyMDA3LTAyLTE5IDEzOjI2ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFRlc3RzL0NvbnZMaWJyYXJ5L0NNYWtlTGlzdHMudHh0OiBFTkg6IGFkZAoJICB0ZXN0IGZvciBjb252IGxpYnJhcmllcwoKMjAwNy0wMi0xOSAxMzoyMCAgbWFydGluawoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIGNtVGFyZ2V0LmN4eCwgY21UYXJnZXQuaDogRU5IOiB0dXJuIG9uCgkgIHNwYWNlcyBpbiBwYXRoIHRlc3QKCjIwMDctMDItMTkgMTI6MjUgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogZml4IGZvciBzcGFjZXMgaW4gcGF0aAoJICBmb3Igbm1ha2UKCjIwMDctMDItMTkgMTI6MjEgIG1hcnRpbmsKCgkqIFRlc3RzL1N1YkRpclNwYWNlcy86IENNYWtlTGlzdHMudHh0LAoJICB2Y2xfYWxnb3JpdGhtK3ZjbF9wYWlyK2RvdWJsZS5mb28uYywKCSAgdmNsX2FsZ29yaXRobV92Y2xfcGFpcl9kb3VibGUuZm9vLmMsIEFub3RoZXIKCSAgU3ViZGlyL3BhaXIraW50LmludC5jLCBBbm90aGVyIFN1YmRpci9wYWlyX2ludC5pbnQuYywgQW5vdGhlcgoJICBTdWJkaXIvc2Vjb25kb25lLmMsIEFub3RoZXIgU3ViZGlyL3Rlc3Rmcm9tc3ViZGlyLmMsCgkgIEV4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsIEV4ZWN1dGFibGUvdGVzdC5jeHgsIFNvbWUKCSAgRXhhbXBsZXMvQ01ha2VMaXN0cy50eHQsIFNvbWUgRXhhbXBsZXMvZXhhbXBsZTEvQ01ha2VMaXN0cy50eHQsCgkgIFNvbWUgRXhhbXBsZXMvZXhhbXBsZTEvZXhhbXBsZTEuY3h4LCBTb21lCgkgIEV4YW1wbGVzL2V4YW1wbGUyL0NNYWtlTGlzdHMudHh0LCBTb21lCgkgIEV4YW1wbGVzL2V4YW1wbGUyL2V4YW1wbGUyLmN4eCwgVGhpcmRTdWJEaXIvcGFpcitpbnQuaW50MS5jLAoJICBUaGlyZFN1YkRpci9wYWlyX2ludC5pbnQxLmMsIFRoaXJkU3ViRGlyL3BhaXJfcF9pbnQuaW50MS5jLAoJICBUaGlyZFN1YkRpci90ZXN0ZnJvbWF1eHN1YmRpci5jLCBUaGlyZFN1YkRpci90aGlyZG9uZS5jOiBFTkg6IG5ldwoJICB0ZXN0IGZvciBzcGFjZXMgaW4gdGhlIHRyZWUgc3RydWN0dXJlCgoyMDA3LTAyLTE4IDIxOjQ0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDItMTggMDk6MzEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHg6IFNUWUxFOiBmaXggd2FybmluZwoKMjAwNy0wMi0xNyAyMjo0MyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAyLTE3IDExOjQzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEVOSDogZml4IGZvciBleHRlcm5hbCBvYmplY3QKCSAgdGVzdAoKMjAwNy0wMi0xNyAwODo0NiAgaG9mZm1hbgoKCSogU291cmNlLzogY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFhDb2RlR2VuZXJhdG9yLmN4eCwgY21UYXJnZXQuY3h4LAoJICBDUGFjay9jbUNQYWNrT1NYWDExR2VuZXJhdG9yLmN4eDogU1RZTEU6IGZpeCBsaW5lIGxlbmd0aCBpc3N1ZXMKCjIwMDctMDItMTcgMDg6MzggIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LCBjbUxvY2FsR2VuZXJhdG9yLmN4eDogRU5IOgoJICByZW1vdmUgd2FybmluZ3MgYW5kIGRlYnVnIHN0YXRlbWVudAoKMjAwNy0wMi0xNiAxNjo0NSAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsCgkgIFRlc3RzL0NvbnZMaWJyYXJ5L2JhcnRlc3QuY3h4OiBFTkg6IGZpeCBmb3IgdnMgaWRlCgoyMDA3LTAyLTE2IDE2OjEyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmgsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW9HZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFhDb2RlR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTG9jYWxYQ29kZUdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmgsIFNvdXJjZS9jbVRhcmdldC5jeHgsCgkgIFNvdXJjZS9jbVRhcmdldC5oLCBUZXN0cy9Db252TGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29udkxpYnJhcnkvYmFyLmMsIFRlc3RzL0NvbnZMaWJyYXJ5L2JhcnRlc3QuY3h4LAoJICBUZXN0cy9Db252TGlicmFyeS9mb28uY3h4LCBUZXN0cy9Db252TGlicmFyeS9zdWIxL2Nhci5jeHg6IEVOSDoKCSAgY2hlY2sgaW4gaW5pdGlhbCBjb252IGxpYnJhcnkgc3R1ZmYKCjIwMDctMDItMTYgMTU6MjQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wMi0xNSAxNTowNyAgYW5keQoKCSogU291cmNlL2NtYWtlLmN4eDogQlVHOiBPdmVyd3JpdGUgdGhlIHN5bWxpbmsgaWYgaXQgYWxyZWFkeQoJICBleGlzdHMuIENsb3NlIEJ1ZyAjNDQxOCAtIGNtYWtlIC1jcmVhdGUtc3ltbGluayBkb2Vzbid0IG92ZXJ3cml0ZQoJICBleGlzdGluZyBzeW1saW5rcwoKMjAwNy0wMi0xNSAxMzozNiAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWwsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudFBhcnNlckhlbHBlci5jeHgsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudFBhcnNlckhlbHBlci5oLCBTb3VyY2UvY21NYWtlZmlsZS5jeHg6CgkgIEVOSDogbW92ZSBAQCBmaXggZnJvbSBtYWluIHRyZWUKCjIwMDctMDItMTUgMTI6NDUgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLCBNb2R1bGVzL0ZpbmRRdDQuY21ha2UsCgkgIE1vZHVsZXMvSW5zdGFsbFJlcXVpcmVkU3lzdGVtTGlicmFyaWVzLmNtYWtlLAoJICBTb3VyY2UvY21BZGREZXBlbmRlbmNpZXNDb21tYW5kLmN4eCwgU291cmNlL2NtSWZDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtSWZDb21tYW5kLmgsIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbVNldFRhcmdldFByb3BlcnRpZXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eCwgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eC5iYWs6CgkgIEVOSDogbWVyZ2UgaW4gY2hhbmdlcyBmcm9tIG1haW4gdHJlZSwgaW5jbHVkaW5nIGZpeCBmb3IgZXhjZXB0aW9uCgkgIHN0dWZmIGluIHZzIDcKCjIwMDctMDItMTUgMTI6MjMgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogRG8gbm90IGhhY2sgdGhlCgkgIGV4Y2VwdGlvbiBoYW5kbGluZyBkZWZhdWx0IGZvciBsaW5rZXIgZmxhZ3Mgb3IgZm9yCgkgIHBlci1zb3VyY2UtZmlsZSBmbGFncy4KCjIwMDctMDItMTQgMjI6MjQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wMi0xMyAyMjo0NCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAyLTEzIDE0OjEyICBhbmR5CgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja09TWFgxMUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrT1NYWDExR2VuZXJhdG9yLmgsIE1vZHVsZXMvQ1BhY2suRFNfU3RvcmUuaW4sCgkgIE1vZHVsZXMvQ1BhY2suVm9sdW1lSWNvbi5pY25zLmluLAoJICBNb2R1bGVzL0NQYWNrLmJhY2tncm91bmQucG5nLmluLCBNb2R1bGVzL0NQYWNrLmNtYWtlOiBFTkg6IE1vcmUKCSAgd29yayBvbiB0aGUgcGFja2FnaW5nLiBBZGQgQXBwbGljYWl0b25zLCBhZGQgaWNvbnMsIGV0YwoKMjAwNy0wMi0xMiAyMzoxNiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAyLTEyIDEyOjA2ICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS86IGNyZWF0ZS1jbWFrZS1yZWxlYXNlLmNtYWtlLAoJICByZWxlYXNlX2NtYWtlLmNtYWtlOiBFTkg6IGFkZCBjeWd3aW4gY3BhY2sgc3R1ZmYgdG8gcmVsZWFzZQoJICBzY3JpcHRzCgoyMDA3LTAyLTEyIDA5OjE1ICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS92b2dvbl9jeWd3aW4uY21ha2U6IEVOSDogYWRkIGN5Z3dpbiBvbiB2b2dvbgoKMjAwNy0wMi0xMSAyMjozNCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAyLTEwIDIyOjIzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDItMTAgMDk6NTIgIGFsZXgKCgkqIE1vZHVsZXMvRmluZFBORy5jbWFrZTogU1RZTEU6IHJlbW92ZSBlbXB0eSBsaW5lLCBzbyB0aGUKCSAgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIG1vZHVsZSBpcyBjb21wbGV0ZSBhZ2FpbgoKCSAgQWxleAoKMjAwNy0wMi0wOSAyMjoxNCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAyLTA5IDEzOjQ0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUNvbW1hbmRBcmd1bWVudFBhcnNlckhlbHBlci5jeHgsCgkgIGNtQ29tbWFuZEFyZ3VtZW50UGFyc2VySGVscGVyLmgsIGNtTWFrZWZpbGUuY3h4OiBFTkg6IGFkZCBhdG9ubHkKCSAgc3VwcG9ydCB0byBjbUNvbW1hbmRBcmd1bWVudFBhcnNlckhlbHBlci5jeHggYW5kIHJlbW92ZSBvbGQKCSAgbm9uLXlhY2MgcGFyc2VyIGNvZGUgZnJvbSBjbU1ha2VmaWxlLmN4eAoKMjAwNy0wMi0wOCAyMjowOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAyLTA4IDE2OjE4ICBraW5nCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFRlc3RzL1ByZWNvbXBpbGVkSGVhZGVyL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9QcmVjb21waWxlZEhlYWRlci9mb28xLmMsIFRlc3RzL1ByZWNvbXBpbGVkSGVhZGVyL2ZvbzIuYywKCSAgVGVzdHMvUHJlY29tcGlsZWRIZWFkZXIvZm9vX3ByZWNvbXBpbGUuYywKCSAgVGVzdHMvUHJlY29tcGlsZWRIZWFkZXIvaW5jbHVkZS9mb28uaCwKCSAgVGVzdHMvUHJlY29tcGlsZWRIZWFkZXIvaW5jbHVkZS9mb29fcHJlY29tcGlsZWQuaDogRU5IOiBBZGRlZAoJICBQcmVjb21waWxlZEhlYWRlciB0ZXN0IGZvciBNU1ZDIGNvbXBpbGVycy4KCjIwMDctMDItMDcgMjI6MDIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wMi0wNyAxNDo1MCAgYWxleAoKCSogTW9kdWxlcy86IFVzZUVjb3MuY21ha2UsIGVjb3NfY2xlYW4uY21ha2U6IEVOSDogbm93IGFsc28gdGhlCgkgICJlY29zY2xlYW4iIHRhcmdldCB3b3JrcyB3aXRoIE1TIG5tYWtlCgoJICBBbGV4CgoyMDA3LTAyLTA3IDExOjUwICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEJVRzogZml4IGZvciBidWcgNDM5OQoKMjAwNy0wMi0wNyAxMTo0OSAgaG9mZm1hbgoKCSogU291cmNlLzogY21BZGREZXBlbmRlbmNpZXNDb21tYW5kLmN4eCwKCSAgY21TZXRUYXJnZXRQcm9wZXJ0aWVzQ29tbWFuZC5jeHg6IEJVRzogZml4IGZvciBidWcgNDQxNCwgZmluZAoJICB0YXJnZXRzIGluIHRoZSBnbG9iYWwgZ2VuZXJhdG9yIGZvciBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMgYW5kCgkgIGFkZF9kZXBlbmRlbmNpZXMKCjIwMDctMDItMDcgMTA6MjYgIGhvZmZtYW4KCgkqIE1vZHVsZXMvSW5zdGFsbFJlcXVpcmVkU3lzdGVtTGlicmFyaWVzLmNtYWtlOiBCVUc6IGZpeCBmb3IgNDQyMAoJICBVbmljb2RlIGFuZCBNQkMgdmVyc2lvbnMgb2YgdGhlIE1GQwoKMjAwNy0wMi0wNyAwOToyMyAga2luZwoKCSogU291cmNlL2NtRGVwZW5kc0MuY3h4OiBTVFlMRTogRml4ZWQgbGluZS10b28tbG9uZy4KCjIwMDctMDItMDYgMjE6NTYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wMi0wNiAxNjowMyAgaG9mZm1hbgoKCSogU291cmNlL2NtU2V0U291cmNlRmlsZXNQcm9wZXJ0aWVzQ29tbWFuZC5oOiBFTkg6IGZpeAoJICBkb2N1bWVudGF0aW9uIHRvIGluY2x1ZGUgc291cmNlIGxhbmd1YWdlIHByb3BlcnR5CgoyMDA3LTAyLTA2IDE1OjA1ICBraW5nCgoJKiBTb3VyY2UvY21Eb2N1bWVudGF0aW9uLmN4eDogQlVHOiBQYXRjaCBmcm9tIEFsZXggdG8gZml4CgkgIHNpbmdsZS1jb21tYW5kIGhlbHAgYnJva2VuIGJ5IHByZXZpb3VzIHBhdGNoLgoKMjAwNy0wMi0wNiAxMDowMSAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJhdG9ycy5jeHg6IEVOSDogZml4CgkgIHJlbGVhc2UgdHJlZSB0byBidWlsZCBvbiBtYWMKCjIwMDctMDItMDUgMjE6NTMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wMi0wNSAxNDowNSAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmg6IEVOSDogbWVyZ2UgY2hhbmdlcyBmcm9tCgkgIG1haW4gdHJ1bmsKCjIwMDctMDItMDUgMTM6MjEgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLCBjbWFrZV91bmluc3RhbGwuY21ha2UuaW4sCgkgIE1vZHVsZXMvQ1BhY2suY21ha2UsIE1vZHVsZXMvRmluZEtERTQuY21ha2UsCgkgIE1vZHVsZXMvRmluZFhNTFJQQy5jbWFrZSwgU291cmNlL0NNYWtlTGlzdHMudHh0LAoJICBTb3VyY2UvY21HbG9iYWxLZGV2ZWxvcEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbEtkZXZlbG9wR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxLZGV2ZWxvcEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW9HZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwKCSAgU291cmNlL2NtU3lzdGVtVG9vbHMuaCwgU291cmNlL2NtVGFyZ2V0LmN4eCwgU291cmNlL2NtVGFyZ2V0LmgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJhdG9ycy5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5oLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja05TSVNHZW5lcmF0b3IuaCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tQYWNrYWdlTWFrZXJHZW5lcmF0b3IuaCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tTVEdaR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrVEdaR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrVGFyQlppcDJHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja1RhckJaaXAyR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrVGFyQ29tcHJlc3NHZW5lcmF0b3IuaCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2taSVBHZW5lcmF0b3IuaCwgU291cmNlL2t3c3lzL1N5c3RlbS5oLmluLAoJICBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4LAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVXRpbGl0aWVzL1JlbGVhc2UvQ3lnd2luL0NNYWtlTGlzdHMudHh0LAoJICBVdGlsaXRpZXMvUmVsZWFzZS9DeWd3aW4vUkVBRE1FLmN5Z3dpbi5pbiwKCSAgVXRpbGl0aWVzL1JlbGVhc2UvQ3lnd2luL2N5Z3dpbi1wYWNrYWdlLnNoLmluLAoJICBVdGlsaXRpZXMvUmVsZWFzZS9DeWd3aW4vY3lnd2luLXBhdGNoLmRpZmYuaW4sCgkgIFV0aWxpdGllcy9SZWxlYXNlL0N5Z3dpbi9jeWd3aW4tc2V0dXAuaGludC5pbiwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tDeWd3aW5CaW5hcnlHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja0N5Z3dpbkJpbmFyeUdlbmVyYXRvci5oLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja0N5Z3dpblNvdXJjZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrQ3lnd2luU291cmNlR2VuZXJhdG9yLmg6IEVOSDogbWVyZ2UgaW4KCSAgY2hhbmdlcyBmcm9tIGJyYW5jaAoKMjAwNy0wMi0wNSAxMToxMyAgbWFydGluawoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IGFkZCBtb3JlIHRpbWUgdG8gYm9vdHN0cmFwIHRlc3QKCjIwMDctMDItMDUgMDk6NDggIGtpbmcKCgkqIFNvdXJjZS86IGNtRGVwZW5kc0MuY3h4LCBjbURlcGVuZHNDLmg6IEJVRzogUGF0Y2ggZnJvbSBBbGV4IHRvCgkgIHJlY29tcHV0ZSBkZXBlbmRlbmNpZXMgd2hlbiB0aGUgaW5jbHVkZSByZWdleCBjaGFuZ2VzLiAgVGhpcwoJICBhZGRyZXNzZXMgYnVnIzQxNjguCgoyMDA3LTAyLTA0IDIxOjQ3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDItMDMgMjE6NDEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wMi0wMiAyMToyOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAyLTAyIDE2OjUyICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1BhY2svOiBjbUNQYWNrQ3lnd2luU291cmNlR2VuZXJhdG9yLmN4eCwKCSAgY21DUGFja1RhckJaaXAyR2VuZXJhdG9yLmN4eDogU1RZTEU6IGZpeCB3YXJuaW5ncwoKMjAwNy0wMi0wMiAxNjo1MSAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOiBFTkg6IGZpeCBkZXBlbmQgYnVnIGluIHF0CgoyMDA3LTAyLTAyIDE0OjQwICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgTW9kdWxlcy9DUGFjay5jbWFrZSwgU291cmNlL0NNYWtlTGlzdHMudHh0LAoJICBTb3VyY2UvQ1BhY2svYmlsbHMtY29tbWVudHMudHh0LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja0N5Z3dpbkJpbmFyeUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrQ3lnd2luQmluYXJ5R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrQ3lnd2luU291cmNlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tDeWd3aW5Tb3VyY2VHZW5lcmF0b3IuaCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tHZW5lcmF0b3JzLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrTlNJU0dlbmVyYXRvci5oLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja09TWFgxMUdlbmVyYXRvci5oLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja1BhY2thZ2VNYWtlckdlbmVyYXRvci5oLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja1NUR1pHZW5lcmF0b3IuaCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tUR1pHZW5lcmF0b3IuaCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tUYXJCWmlwMkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrVGFyQlppcDJHZW5lcmF0b3IuaCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tUYXJDb21wcmVzc0dlbmVyYXRvci5oLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja1pJUEdlbmVyYXRvci5oLCBTb3VyY2UvQ1BhY2svY3lnd2luLnJlYWRtZSwKCSAgVXRpbGl0aWVzL1JlbGVhc2UvY3JlYXRlLWNtYWtlLXJlbGVhc2UuY21ha2UsCgkgIFV0aWxpdGllcy9SZWxlYXNlL3JlbGVhc2VfY21ha2UuY21ha2UsCgkgIFV0aWxpdGllcy9SZWxlYXNlL0N5Z3dpbi9DTWFrZUxpc3RzLnR4dCwKCSAgVXRpbGl0aWVzL1JlbGVhc2UvQ3lnd2luL1JFQURNRS5jeWd3aW4uaW4sCgkgIFV0aWxpdGllcy9SZWxlYXNlL0N5Z3dpbi9jeWd3aW4tcGFja2FnZS5zaC5pbjogRU5IOiBhZGQgc3VwcG9ydAoJICBmb3IgY3lnd2luIHNvdXJjZSBhbmQgYmluYXJ5IHBhY2thZ2luZwoKMjAwNy0wMi0wMiAxNDoxMyAga2luZwoKCSogU291cmNlL2NtRG9jdW1lbnRhdGlvbi5oOiBDT01QOiBGaXggdm9pZCByZXR1cm4gZmFpbHVyZS4KCjIwMDctMDItMDIgMTI6NDYgIGFsZXgKCgkqIE1vZHVsZXMvRmluZEdldHRleHQuY21ha2U6IEJVRzogYWRkIGdldHRleHQgbW9kdWxlIGZvciB3b3JraW5nCgkgIHdpdGggR05VIGdldHRleHQgKCM0MDgxKQoKCSAgQWxleAoKMjAwNy0wMi0wMiAxMDoxNCAgbWFydGluawoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IGFsbG93IHRoZSBkYXNoYm9hcmQgdG8gb3ZlcnJpZGUgdGhlCgkgIHRpbWVvdXRzIGZvciBDVGVzdFRlc3QKCjIwMDctMDItMDIgMDk6MTEgIGtpbmcKCgkqIFNvdXJjZS9jbURvY3VtZW50YXRpb24uaDogU1RZTEU6IEZpeGVkIGxpbmUgbGVuZ3RoIGFuZCB0aGlzLT4KCSAgY29udmVudGlvbiB2aW9sYXRpb25zIGZyb20geWVzdGVyZGF5J3MgcGF0Y2guCgoyMDA3LTAyLTAyIDA5OjExICBraW5nCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkQ29tbWFuZC5jeHg6IFNUWUxFOiBGaXhlZCBsaW5lLXRvby1sb25nLgoKMjAwNy0wMi0wMSAyMDozOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAyLTAxIDE3OjA2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBTVFlMRTogZml4IGxpbmUgbGVuZ3RoCgoyMDA3LTAyLTAxIDE2OjU2ICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHg6IEJVRzogVXNlIHRoZSBleGUvbGliIG91dHB1dAoJICBwYXRoIGZvciAucGRiIGZpbGUgbG9jYXRpb24uCVRoaXMgYWRkcmVzc2VzIGJ1ZyMzMjc3IGFuZAoJICBidWcjNDI4Ny4KCjIwMDctMDItMDEgMTY6NTQgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwgY21UYXJnZXQuY3h4LAoJICBjbVRhcmdldC5oOiBFTkg6IEFkZGVkIGNtVGFyZ2V0OjpHZXRQREJOYW1lIG1ldGhvZCB0byBzaW1wbGlmeQoJICBjb21wdXRhdGlvbiBvZiAucGRiIGZpbGUgbmFtZSBmb3IgYSB0YXJnZXQuCgoyMDA3LTAyLTAxIDE2OjUyICBraW5nCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eDogQlVHOiBEbyBub3QgY2xlYW4gdGhlIC5wZGIKCSAgZmlsZSBmb3IgYSB0YXJnZXQganVzdCBiZWZvcmUgaXQgaXMgbGlua2VkISAgVGhpcyBmaW5pc2hlcwoJICBhZGRyZXNzaW5nIGJ1ZyM0MzQxLgoKMjAwNy0wMi0wMSAxNjowNyAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGVFeGVjdXRhYmxlVGFyZ2V0R2VuZXJhdG9yLmN4eDogQlVHOiBDbGVhbiBydWxlCgkgIGZvciBleGUgcGRiIGZpbGUgc2hvdWxkIHVzZSBmdWxsIHBhdGguCgoyMDA3LTAyLTAxIDE1OjQ0ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUc6IERvIG5vdCB1c2UgYml0d2lzZQoJICBPUiBvbiBib29sLgoKMjAwNy0wMi0wMSAxNToyMiAga2luZwoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmg6IFNUWUxFOiBSZW1vdmVkIHVudXNlZAoJICBtZXRob2QgZGVjbGFyYXRpb25zLgoKMjAwNy0wMi0wMSAxNTowMiAga2luZwoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogRU5IOiBBZGRlZCBhIHNwZWNpYWwKCSAgZmxhZ3MgaW50ZWdlciBmaWVsZCB0byB0aGUgZmxhZyBtYXAgZW50cmllcy4JQWRkZWQgZmxhZ3MgZm9yCgkgIHVzZXIgdmFsdWVzIGFuZCBvdGhlciBzcGVjaWFsIGNhc2VzLglBZGRlZCBwcmVjb21waWxlZCBoZWFkZXIKCSAgZmxhZyB0cmFuc2xhdGlvbiBlbnRyaWVzLiAgVGhpcyBhZGRyZXNzZXMgYnVnIzM1MTIuCgoyMDA3LTAyLTAxIDE0OjQ1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBTVFlMRTogUmVtb3ZlZCBvbmUgbW9yZSBzdHJheQoJICBjb21tZW50LgoKMjAwNy0wMi0wMSAxNDo0MyAgbWFydGluawoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogU1RZTEU6IHJlbW92ZWQgY29kZSBhY2NpZGVudGx5CgkgIGNoZWNrZWQgaW4KCjIwMDctMDItMDEgMTQ6MTEgIG1hcnRpbmsKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEJVRzogZml4IGZvciBidWcgbnVtYmVyIDMzMjAKCjIwMDctMDItMDEgMTM6MDQgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IENPTVA6IFJlbW92ZWQgdW51c2VkCgkgIHZhcmlhYmxlLgoKMjAwNy0wMi0wMSAxMjowMiAga2luZwoKCSogVGVzdHMvOiBDb21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBBZGRlZCBzbW9rZQoJICB0ZXN0IGZvciB1c2VyLXZhbHVlIGZsYWcgbWFwcGluZyBmb3IgVlMgSURFLgoKMjAwNy0wMi0wMSAxMjowMCAga2luZwoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogRU5IOiBBZGRlZCBtYXBwaW5nIG9mCgkgIC9OT0RFRkFVTFRMSUIgZmxhZyB3aGVuIG5vIHZhbHVlcyBhcmUgcHJvdmlkZWQuCgoyMDA3LTAyLTAxIDExOjQ5ICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmg6IEVOSDogUmVpbXBsZW1lbnRlZCBwYXJzaW5nIGFuZAoJICBtYXBwaW5nIG9mIGZsYWdzIGludG8gdmNwcm9qIGZpbGUgYXR0cmlidXRlIG9wdGlvbnMuCVRoaXMgY2xlYW5zCgkgIHVwIGFuZCBjZW50cmFsaXplcyBhIGZldyB0aGluZ3MuICBJdCBpcyBpbiBwcmVwYXJhdGlvbiBmb3IKCSAgZGVhbGluZyB3aXRoIHByZWNvbXBpbGVkIGhlYWRlciBmbGFncyBmb3IgYnVnICMzNTEyIHNpbmNlIHRoZXkKCSAgcmVxdWlyZSBzb21lIHNwZWNpYWwgaGFuZGxpbmcuCgoyMDA3LTAyLTAxIDExOjQ1ICBraW5nCgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oOiBFTkg6IEFkZGVkCgkgIEVzY2FwZVdpbmRvd3NTaGVsbEFyZ3VtZW50IGFuZCBQYXJzZVdpbmRvd3NDb21tYW5kTGluZSBtZXRob2RzIHRvCgkgIGNtU3lzdGVtVG9vbHMuCgoyMDA3LTAyLTAxIDExOjMzICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHg6IEJVRzogZml4IGZvciBidWcgbnVtYmVyCgkgIDM5NjQKCjIwMDctMDItMDEgMTA6MzggIGtpbmcKCgkqIFNvdXJjZS86IGNtRG9jdW1lbnRhdGlvbi5jeHgsIGNtRG9jdW1lbnRhdGlvbi5oOiBFTkg6IFBhdGNoIGZyb20KCSAgQWxleCB0byBpbXByb3ZlIGltcGxlbWVudGF0aW9uIGFuZCBwcmVwYXJlIGZvciBzcGxpdHRpbmcgdGhlIG1hbgoJICBwYWdlIGludG8gbW9yZSBzZWN0aW9ucy4KCjIwMDctMDItMDEgMDk6NTcgIGtpbmcKCgkqIFNvdXJjZS86IGNtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLAoJICBjbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eCwgY21UYXJnZXQuY3h4LCBjbVRhcmdldC5oOgoJICBCVUc6IFRoZSAucGRiIGZpbGUgZ2VuZXJhdGVkIGZvciBhIGxpYnJhcnkgb3IgZXhlY3V0YWJsZSBzaG91bGQKCSAgbWF0Y2ggdGhlIHJlYWwgZmlsZSBuYW1lIHVzZWQgZm9yIHRoZSB0YXJnZXQuICBUaGlzIGFkZHJlc3NlcwoJICBidWcjMzI3Ny4KCjIwMDctMDEtMzEgMjA6MDcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wMS0zMSAxNjo1MCAgaG9mZm1hbgoKCSogU291cmNlL0NQYWNrLzogY21DUGFja0N5Z3dpblNvdXJjZUdlbmVyYXRvci5jeHgsCgkgIGNtQ1BhY2tDeWd3aW5Tb3VyY2VHZW5lcmF0b3IuaDogRU5IOiBjb21taXQgY3lnd2luIHNvdXJjZQoJICBnZW5lcmF0b3IgZmlsZXMsIG5vdCB1c2VkIHlldAoKMjAwNy0wMS0zMSAxNjo0OSAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBFTkg6IGRvIG5vdCB1c2UgY3JhenkgbG9uZyBwYXRocyB0bwoJICBvYmplY3QgZmlsZXMgZm9yIHRyeSBjb21waWxlCgoyMDA3LTAxLTMxIDE2OjQ4ICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9DeWd3aW4vOiBDTWFrZUxpc3RzLnR4dCwgUkVBRE1FLmN5Z3dpbi5pbiwKCSAgY3lnd2luLXBhY2thZ2Uuc2guaW4sIGN5Z3dpbi1wYXRjaC5kaWZmLmluLCBjeWd3aW4tc2V0dXAuaGludC5pbjoKCSAgRU5IOiBhZGQgc3VwcG9ydCBmaWxlcyBmb3IgY3BhY2sgY3lnd2luIHNldHVwIHBhY2thZ2Ugc3R1ZmYKCjIwMDctMDEtMzEgMTU6MDYgIGFsZXgKCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogQlVHOiBmaW5hbGx5IGZpeCAjNDMzMSwgdGhlIHByZXZpb3VzCgkgIHZlcnNpb24ganVzdCBjYXVnaHQgdGhlIHRhZywgdGhlIGZpbGVuYW1lIG5vdCBhdCBhbGwKCgkgIEFsZXgKCjIwMDctMDEtMzEgMTQ6MDAgIGhvZmZtYW4KCgkqIFRlc3RzL1RyeUNvbXBpbGUvQ01ha2VMaXN0cy50eHQ6IEVOSDogYWRkIG1vcmUgb3V0cHV0IHdoZW4gdGVzdAoJICBmYWlscwoKMjAwNy0wMS0zMSAxMzo1NCAgYW5keQoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBDT01QOiBSZW1vdmUgb3N4IGJ1bmRsZSBmcm9tCgkgIE9TWFNjcmlwdExhdW5jaGVyCgoyMDA3LTAxLTMxIDEzOjUzICBhbmR5CgoJKiBTb3VyY2UvQ1BhY2svT1NYU2NyaXB0TGF1bmNoZXIuY3h4OiBDT01QOiBVc2UgbmV3IEFQSQoKMjAwNy0wMS0zMSAxMzozNyAgYW5keQoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBDT01QOiBBZGQgbWlzc2luZyBmaWxlIGluIHRoZSBpbnN0YWxsYXRpb24KCjIwMDctMDEtMzEgMTM6MzQgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaDogQlVHOiBtYWtlIHN1cmUgZXh0ZXJuYWwgdnMKCSAgcHJvamVjdHMgdXNlIHRoZSBHVUlEIGluIHRoZSBwcm9qZWN0IGlmIGl0IGhhcyBvbmUuCgoyMDA3LTAxLTMwIDIwOjE0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDEtMzAgMTU6NDMgIGFsZXgKCgkqIE1vZHVsZXMvRmluZEtERTQuY21ha2U6IFNUWUxFOiBLREVESVIgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQsCgkgIHNvIGFsc28gZG9jdW1lbnQgdGhhdCBLREVESVJTIGlzIHVzZWQgaW5zdGVhZAoKCSAgQWxleAoKMjAwNy0wMS0zMCAxMTo0OCAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RCdWlsZENvbW1hbmQuY3h4OiBFTkg6IEFsbG93IHRvIHNwZWNpZnkgYnVpbGQKCSAgdGFyZ2V0CgoyMDA3LTAxLTMwIDExOjQ4ICBhbmR5CgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IENPTVA6IEZpeCBib290c3RyYXAKCjIwMDctMDEtMzAgMTE6MzUgIG1hcnRpbmsKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUdsb2JhbEdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsR2VuZXJhdG9yLmgsIGN0ZXN0LmN4eCwKCSAgQ1Rlc3QvY21DVGVzdEJ1aWxkQW5kVGVzdEhhbmRsZXIuY3h4OiBCVUc6IGZpeGVzIHNvIHRoYXQKCSAgLS1idWlsZC1hbmQtdGVzdCB3aWxsIGhvbm9yIHRpbWVvdXRzCgoyMDA3LTAxLTMwIDExOjMyICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFTkg6IGFsbG93IGNvcHkgaWYgZGlmZmVyZW50IGZyb20gYQoJICBmaWxlIHRvIGEgZGlyZWN0b3J5IHRvIHdvcmsKCjIwMDctMDEtMjkgMjA6MzAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wMS0yOSAxMjo0MiAgbWFydGluawoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBCVUc6IGZpeCBpbiB0aGUgdGltZW91dCBjb2RlCgoyMDA3LTAxLTI4IDIwOjA4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDEtMjcgMjA6MDkgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wMS0yNyAxNToyOSAgbWFsYXRlcnJlCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtLmguaW46IFNUWUxFOiBGaXggdHlwbwoKMjAwNy0wMS0yNiAyMDoxNCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAxLTI2IDE1OjA2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21JZkNvbW1hbmQuaDogU1RZTEU6IGltcHJvdmUgSUYgZG9jdW1lbnRhdGlvbiB0byBjb3ZlcgoJICBlbHNlaWYKCjIwMDctMDEtMjYgMTQ6MjYgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dDogQlVHOiBBZGRlZCB1c2Ugb2YKCSAgS1dTWVNfSU5TVEFMTF9DT01QT05FTlRfTkFNRV9ERVZFTE9QTUVOVCBmb3IgaGVhZGVyIGZpbGUgaW5zdGFsbAoJICBydWxlcy4KCjIwMDctMDEtMjYgMDk6MzEgIG1hcnRpbmsKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4OiBDT01QOiBmaXggd2FybmluZwoKMjAwNy0wMS0yNSAxNzowNSAgaG9mZm1hbgoKCSogU291cmNlL2NtU3ViZGlyQ29tbWFuZC5oOiBCVUc6IHJlbW92ZSBlYXJseSA7CgoyMDA3LTAxLTI1IDE1OjQ0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21HbG9iYWxLZGV2ZWxvcEdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxLZGV2ZWxvcEdlbmVyYXRvci5jeHgsIGNtTG9jYWxLZGV2ZWxvcEdlbmVyYXRvci5oLAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oOiBCVUc6IGZpeCBmb3IgNDE4Niwga2RldmVsb3AKCSAgYWRkaW5nIGZpbGUgdHdpY2UKCjIwMDctMDEtMjUgMTE6MTYgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0LmgsIGNtVGVzdC5jeHgsIGN0ZXN0LmN4eCwKCSAgQ1Rlc3QvY21DVGVzdEJ1aWxkQW5kVGVzdEhhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0QnVpbGRBbmRUZXN0SGFuZGxlci5oLCBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuaDogRU5IOiBhZGRlZCBwZXIgdGVzdCB0aW1lb3V0IHN1cHBvcnQKCjIwMDctMDEtMjQgMTM6NDUgIGtpbmcKCgkqIFNvdXJjZS86IGNtRXhlY1Byb2dyYW1Db21tYW5kLmgsIGNtSW5zdGFsbEZpbGVzQ29tbWFuZC5oLAoJICBjbUluc3RhbGxQcm9ncmFtc0NvbW1hbmQuaCwgY21JbnN0YWxsVGFyZ2V0c0NvbW1hbmQuaCwKCSAgY21MaW5rTGlicmFyaWVzQ29tbWFuZC5oLCBjbU1ha2VEaXJlY3RvcnlDb21tYW5kLmgsCgkgIGNtUmVtb3ZlQ29tbWFuZC5oLCBjbVN1YmRpckNvbW1hbmQuaCwgY21TdWJkaXJEZXBlbmRzQ29tbWFuZC5oLAoJICBjbVZhcmlhYmxlUmVxdWlyZXNDb21tYW5kLmgsIGNtV3JpdGVGaWxlQ29tbWFuZC5oOiBFTkg6IFBhdGNoCgkgIGZyb20gQWxleCB0byBtYWtlIGRlcHJlY2F0ZWQgY29tbWFuZCBkb2N1bWVudGF0aW9uIG1vcmUKCSAgY29uc2lzdGVudC4KCjIwMDctMDEtMjQgMTM6NDAgIGtpbmcKCgkqIFNvdXJjZS86IGNtVXNlTWFuZ2xlZE1lc2FDb21tYW5kLmgsIGNtVmFyaWFibGVSZXF1aXJlc0NvbW1hbmQuaDoKCSAgRU5IOiBQYXRjaCBmcm9tIEFsZXggdG8gZG9jdW1lbnQgdGhpcyBjb21tYW5kIGFzIGRpc2NvdXJhZ2VkLgoKMjAwNy0wMS0yNCAwNzo0NiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAxLTIzIDE0OjI4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEVOSDogdGhpcyBkb2VzIG5vdCBuZWVkIHRvIGJlIHNhZmUKCSAgYXMgdGhlIHZhbHVlIGlzIGNoZWNrZWQKCjIwMDctMDEtMjMgMTQ6MDcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wMS0yMyAxMzo0MSAgYWxleAoKCSogTW9kdWxlcy9Vc2VFY29zLmNtYWtlOiBCVUc6IHJlZW50LmMgd2Fzbid0IGludGVuZGVkIHRvIGJlCgkgIGNvbW1pdHRlZCwgdG9vIHNwZWNpYWwKCgkgIEFsZXgKCjIwMDctMDEtMjMgMTM6MjkgIGFsZXgKCgkqIE1vZHVsZXMvVXNlRWNvcy5jbWFrZTogU1RZTEU6IHVzZSBldmVuIG1vcmUgYWJzb2x1dGUgcGF0aHMsIGNhbid0CgkgIGh1cnQgZm9yIG91dC1vZi1zb3VyY2UgYnVpbGRzIFNUWUxFOiB1c2UKCSAgU0VUX1NPVVJDRV9GSUxFU19QUk9QRVJUSUVTKCkgb24gbXVsdGlwbGUgZmlsZXMgYXQgb25jZSBpbnN0ZWFkCgkgIG9mIGludGVyYXRpbmcgb3ZlciBlYWNoIG9uZSBvZiB0aGVtIFNUWUxFOiBubyBuZWVkIHRvIGFkZAoJICB0YXJnZXQubGQgdG8gdGhlIGNsZWFuLWZpbGVzLCB0aGlzIGlzIGRvbmUgbm93IGF1dG9tYXRpY2FsbHkgYnkKCSAgYWRkX2N1c3RvbV9jb21tYW5kKCkgRU5IOiBub3cgYWxzbyBNUyBubWFrZSBjYW4gYmUgdXNlZCB0byBidWlsZAoJICBlY29zIGFwcHMKCgkgIEFsZXgKCjIwMDctMDEtMjMgMTM6MDggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogRU5IOiBhdm9pZCBjcmFzaCwgYnV0IGRvIG5vdCBtYWtlIGl0CgkgIGFuIGVycm9yIGlmIGluY2x1ZGUgZmxhZ3MgaXMgbWlzc2luZyBmcm9tIGEgbGFuZ3VhZ2UKCjIwMDctMDEtMjMgMTE6MzkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogRU5IOiBtYWtlIHRoZSBpbmNsdWRlIGZsYWcgcmVxdWlyZWQKCSAgZm9yIGEgbGFuZ3VhZ2UgYXZvaWRzIHNlZyBmYXVsdAoKMjAwNy0wMS0yMyAxMToyNSAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eDogRU5IOiB1bmRvIGJ1ZyBmaXgKCSAgYmVjYXVzZSBvZiBmYWlsZWQgdGVzdAoKMjAwNy0wMS0yMyAxMDo1MCAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eDogRU5IOiBhZGQgbGluayBmbGFncyBmb3IKCSAgZGVidWcvcmVsZWFzZSBldGMKCjIwMDctMDEtMjIgMjA6MTQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wMS0yMiAxMDo1MiAga2luZwoKCSogU291cmNlL2NtV3JpdGVGaWxlQ29tbWFuZC5oOiBFTkg6IFBhdGNoIGZyb20gQWxleCB0byBkb2N1bWVudAoJICBXUklURV9GSUxFIGFzIGEgZGlzY291cmFnZWQgY29tbWFuZC4KCjIwMDctMDEtMjIgMTA6NTIgIGtpbmcKCgkqIFNvdXJjZS86IGNtRG9jdW1lbnRhdGlvbi5jeHgsIGNtRG9jdW1lbnRhdGlvbi5oOiBDT01QOiBQYXRjaCBmcm9tCgkgIEFsZXggZm9yIGNvbnN0IGNvcnJlY3RuZXNzLgoKMjAwNy0wMS0yMiAxMDozOSAga2luZwoKCSogY21ha2VfdW5pbnN0YWxsLmNtYWtlLmluOiBCVUc6IFBhdGNoIGZyb20gYnVnIzQzMTIgdG8gbWFrZQoJICB1bmluc3RhbGwgd29yayB3aXRoIERFU1RESVIuCgoyMDA3LTAxLTIxIDIwOjA3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDEtMjAgMjE6MDUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wMS0yMCAxMDowNSAgYW5keQoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOiBDT01QOiBGaXggdHlwbyB0aGF0IG1ha2VzIGFsbCBRdDQgYnVpbGRzCgkgIGJyZWFrCgoyMDA3LTAxLTE5IDIwOjEwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDEtMTkgMTE6NTUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogQlVHOiBmaXggZm9yIGJ1ZyA0MzMxCgoyMDA3LTAxLTE4IDIwOjM1ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEJVRzogZml4IGZvciBidWcgNDMzMQoKMjAwNy0wMS0xOCAyMDoxMCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAxLTE4IDE2OjEwICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5jeHg6IEVOSDogZG8gbm90IHVzZSByZWxhdGl2ZQoJICBwYXRocyBmb3IgY3VzdG9tIGNvbW1hbmQgY29tbWFuZHMgaWYgdGhleSB3b3JraW5nIGRpcmVjdG9yeSBpcwoJICB1c2VkCgoyMDA3LTAxLTE3IDE0OjA2ICBhbGV4CgoJKiBNb2R1bGVzL1VzZUVjb3MuY21ha2U6IEVOSDogdGhlIGVjb3MgaGVhZGVycyBhcmUgYWx3YXlzIGluIHRoZQoJICBiaW5hcnkgZGlyCgoJICBBbGV4CgoyMDA3LTAxLTE3IDEzOjU3ICBhbGV4CgoJKiBNb2R1bGVzL1VzZUVjb3MuY21ha2U6IEVOSDogYnVpbGRpbmcgZWNvcyBhcHBzIG5vdyBzZWVtcyB0byB3b3JrCgkgIGFsc28gb3V0LW9mLXNvdXJjZQoKCSAgQWxleAoKMjAwNy0wMS0xNyAxMzo0NSAgYWxleAoKCSogTW9kdWxlcy9Vc2VFY29zLmNtYWtlOiBCVUc6IGFsc28gY2hlY2sgdGhhdCB0Y2xzaCBpcyBhdmFpbGFibGUsCgkgIG90aGVyd2lzZSB5b3UgY2FuJ3QgYnVpbGQgYW55IGVDb3Mgc3R1ZmYgRU5IOiBtYWtlIHRoZSBuYW1lIG9mCgkgIHRoZSBjb25maWcgZmlsZSBlY29zLmVjYyBhZGp1c3RhYmxlIHZpYSB0aGUgbmV3IHZhcmlhYmxlCgkgIEVDT1NfQ09ORklHX0ZJTEUKCgkgIEFsZXgKCjIwMDctMDEtMTYgMTQ6MzcgIGNsaW50b24KCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEVOSDogQWRkIHN1cHBvcnQgZm9yICJ+b3RoZXJ1c2VyLyIKCjIwMDctMDEtMTUgMTI6MzEgIGFuZHkKCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5jeHg6IFNUWUxFOiBGaXgga3dzdHlsZQoKMjAwNy0wMS0xNSAxMjoxMiAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogU1RZTEU6IGZpeCBsaW5rIGxlbmdodAoJICBpc3N1ZQoKMjAwNy0wMS0xNCAyMDoxMCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAxLTEzIDIwOjEyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDEtMTIgMjA6NDAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wMS0xMiAxNjo0NyAgY2xpbnRvbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogRU5IOiAgSGFuZGxlICJ+IiBpbiBTcGxpdFBhdGguCgoyMDA3LTAxLTEyIDA5OjUzICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jeWd3aW4tcGFja2FnZS5zaC5pbjogRU5IOiBicmVhayBpdCBhZ2FpbgoKMjAwNy0wMS0xMiAwOTo0NiAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY3lnd2luLXBhY2thZ2Uuc2guaW46IEVOSDogZml4IGZvciBuZXdlciBjeWd3aW4KCjIwMDctMDEtMTIgMDk6MTggIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IEVOSDogY2hhbmdlIHZlcnNpb24gb2YgY3Vyc2VzCgoyMDA3LTAxLTExIDIxOjAyICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmg6IEJVRzogZml4IGZvciBidWcgNDIzOSwKCSAgTk9ERUZBVUxUTElCIGZsYWcgc3VwcG9ydCBpbiBpZGUKCjIwMDctMDEtMTEgMjA6NTQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wMS0xMSAxMDo0OSAgYW5keQoKCSogU291cmNlL0NQYWNrLzogY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4LAoJICBjbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5oOiBTVFlMRTogRml4IGt3c3R5bGUgaXNzdWVzCgoyMDA3LTAxLTEwIDIwOjU0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDEtMTAgMTk6NTkgIGhvZmZtYW4KCgkqIFNvdXJjZS9DUGFjay9PU1hTY3JpcHRMYXVuY2hlci5jeHg6IEVOSDogZml4IHdhcm5pbmcgYW5kIGNvZGUKCSAgc3R5bGUKCjIwMDctMDEtMTAgMTg6MzMgIGFuZHkKCgkqIE1vZHVsZXMvQ1BhY2suUnVudGltZVNjcmlwdC5pbjogRU5IOiBDaGFuZ2UgcGVybWlzc2lvbiBmb3IKCSAgZ2V0ZGlzcGxheS5zaCB0byBtYWtlIHRoZSBydW50aW1lc2NyaXB0IHdvcmsKCjIwMDctMDEtMTAgMTU6NDEgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlL2N5Z3dpbi1wYWNrYWdlLnNoLmluOiBFTkg6IHJlbW92ZSBvbGQgZG9jcwoKMjAwNy0wMS0xMCAxNTozMCAgYW5keQoKCSogTW9kdWxlcy9DUGFjay5PU1hTY3JpcHRMYXVuY2hlci5pbiwKCSAgTW9kdWxlcy9DUGFjay5PU1hYMTEuSW5mby5wbGlzdC5pbiwKCSAgTW9kdWxlcy9DUGFjay5SdW50aW1lU2NyaXB0LmluLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9DUGFjay9PU1hTY3JpcHRMYXVuY2hlci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJhdG9ycy5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5oLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja09TWFgxMUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrT1NYWDExR2VuZXJhdG9yLmg6IEVOSDogRmlyc3QgcGFzcyBhdCBDUGFjawoJICBnZW5lcmF0b3IgZm9yIE9TWCBYMTEgYXBwbGljYXRpb25zLiBUaGlzIGFyZSBhcHBsaWNhdGlvbnMgdGhhdAoJICByZXF1aXJlIFgxMSB0byB3b3JrLiBUaGlzIGlzIG5vdCByZWFsbHkgaW5zdGFsbGVkIGJ1dCBhIGJ1bmRsZQoJICBwYWNrYWdlcgoKMjAwNy0wMS0xMCAxNDoyNyAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogRU5IOiBjcmVhdGUgY3lnd2luCgoyMDA3LTAxLTEwIDEyOjM5ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dDogRU5IOiBtYWtlIHRoaXMgdGhlIGZpbmFsIDIuNC42CgoyMDA3LTAxLTA5IDIxOjAyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDEtMDggMjE6MDEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wMS0wOCAxNToxMiAga2luZwoKCSogU291cmNlL2t3c3lzL1NoYXJlZEZvcndhcmQuaC5pbjogU1RZTEU6IEZpeGVkIGRvY3VtZW50YXRpb24gb2YKCSAgaG93IHRvIHByb2R1Y2UgZm9yd2FyZGluZyBleGVjdXRhYmxlcyBmb3IgbXVsdGktY29uZmlndXJhdGlvbgoJICBidWlsZHMgd2l0aCBDTUFLRV9JTlRESVIuCgoyMDA3LTAxLTA3IDIxOjA1ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDEtMDYgMjI6NTYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wMS0wNiAwMDo0OSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAxLTA0IDE3OjI5ICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEVOSDogaWYgYSB3cm9uZyBxbWFrZSBoYXMgYmVlbiBmb3VuZCwgbWFyawoJICBpdCBhcyBpbnZhbGlkIGluIHRoZSBjYWNoZSwgc28gdGhhdCBpdCBpcyBzZWFyY2hlZCBhZ2FpbiB0aGUgbmV4dAoJICB0aW1lIGNtYWtlIHJ1bnMgVGVzdGVkIGluIEtERSBzaW5jZSBKdWwgNXRoOgoJICBodHRwOi8vd2Vic3ZuLmtkZS5vcmcvdHJ1bmsvS0RFL2tkZWxpYnMvY21ha2UvbW9kdWxlcy9GaW5kUXQ0LmNtYWtlP3Jldj01NTgzMTgmdmlldz1yZXYKCgkgIEFsZXgKCjIwMDctMDEtMDQgMTY6NTAgIGFsZXgKCgkqIE1vZHVsZXMvOiBGaW5kUXQ0LmNtYWtlLCBVc2VRdDQuY21ha2U6IEVOSDogYWRkIFFUX1VTRV9RVERCVVMgYXMKCSAgaXQgZXhpc3RzIGZvciBhbGwgb3RoZXIgbW9kdWxlcyB0b28KCgkgIEFsZXgKCjIwMDctMDEtMDQgMTY6MzUgIGFsZXgKCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogQlVHOiBhbHNvIGxvb2sgZm9yIHFtYWtlNCwgYXMgaXQgaXMgbmFtZWQKCSAgb24gT3BlbkJTRAoKCSAgQWxleAoKMjAwNy0wMS0wNCAxNjowMyAgbWFydGluawoKCSogU291cmNlL2NtQWRkTGlicmFyeUNvbW1hbmQuY3h4OiBCVUc6IGZpeCBmb3IgYmFkIGFyZ3VtZW50CgkgIGhhbmRsaW5nCgoyMDA3LTAxLTA0IDE0OjU0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDEtMDQgMTM6MDIgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVByb3BlcnR5TWFwLmN4eDogRU5IOiBjaGFuZ2UgU1RSSUNUIHRvIENNQUtFX1NUUklDVAoKMjAwNy0wMS0wNCAxMDoxOCAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQ6IEVOSDogYWRkIFJDIHN0dWZmIHRvIG1haW4gdHJlZQoKMjAwNy0wMS0wNCAwMzo1MyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA3LTAxLTAzIDE4OjIwICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEVOSDogcGFydGx5IHN5bmMgd2l0aCBLREUgc3ZuOiBhZGQgdGhlCgkgIG1hY3JvcyBmb3IgZ2VuZXJhdGluZyB0aGUgZGJ1cyBmaWxlcwoKCSAgQWxleAoKMjAwNy0wMS0wMyAxNzo1MCAgYWxleAoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOiBFTkg6IG1hcmsgbW9yZSB2YXJpYWJsZXMgQURWQU5DRUQKCgkgIEFsZXgKCjIwMDctMDEtMDMgMTc6MzIgIGFsZXgKCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogRU5IOiBwYXJ0bHkgc3luYyB3aXRoIEtERSBzdm46IGhhbmRsZQoJICBRdE1haW4gbW9yZSBsaWtlIHRoZSBvdGhlciBsaWJzCgoJICBBbGV4CgoyMDA3LTAxLTAzIDE3OjAwICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEJVRzogYXJndW1lbnQgbmFtZXMgaW4gbWFjcm9zIGFyZSBub3QgcmVhbAoJICB2YXJpYWJsZXMsIHdoaWNoIGNhbiBsZWFkIHRvIHByb2JsZW1zLCB3aGljaCB3ZSBmaXhlZCBmb3IgS0RFIGluCgkgIFRyeXNpbDoKCSAgaHR0cDovL3dlYnN2bi5rZGUub3JnL3RydW5rL0tERS9rZGVsaWJzL2NtYWtlL21vZHVsZXMvRmluZFF0NC5jbWFrZT9yZXY9NTU3NDcwJnIxPTU1NzI0MSZyMj01NTc0NzAKCgkgIEFsZXgKCjIwMDctMDEtMDMgMTY6NDggIGFsZXgKCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogU1RZTEU6IHNvbWUgbW9yZSBzcGFjZSB0byBtYWtlIGl0IGVhc2llcgoJICB0byByZWFkCgoJICBBbGV4CgoyMDA3LTAxLTAzIDE2OjM4ICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEVOSDogcGFydGx5IHN5bmMgd2l0aCBLREUgc3ZuOiBhbHNvIGZpbmQKCSAgdGhlIFF0REJ1cyBhbmQgdGhlIFF0RGVzaWduZXJDb21wb25lbnRzIGxpYnJhcmllcwoKCSAgQWxleAoKMjAwNy0wMS0wMyAxNjowOSAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWwsCgkgIE1vZHVsZXMvQ1BhY2suU1RHWl9IZWFkZXIuc2guaW4sIE1vZHVsZXMvRmluZERveHlnZW4uY21ha2UsCgkgIE1vZHVsZXMvRmluZEpOSS5jbWFrZSwgTW9kdWxlcy9GaW5kUnVieS5jbWFrZSwKCSAgU291cmNlL2NtRmluZEJhc2UuY3h4LCBTb3VyY2UvY21GaW5kQmFzZS5oLAoJICBUZXN0cy9DVGVzdFRlc3QzL3Rlc3QuY21ha2UuaW4sCgkgIFRlc3RzL0N1c3RDb21EZXBlbmQvQ01ha2VMaXN0cy50eHQsIFRlc3RzL0N1c3RDb21EZXBlbmQvYmFyLmgsCgkgIFRlc3RzL0N1c3RDb21EZXBlbmQvZm9vLmN4eDogRU5IOiBtZXJnZSBmcm9tIG1haW4gdHJlZQoKMjAwNy0wMS0wMyAxNjowMSAgYWxleAoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOiBFTkg6IHBhcnRseSBzeW5jIHdpdGggdGhlIEtERSB2ZXNpb246IGZpbmQKCSAgdGhlIGRidXMgdG9vbHMgY29taW5nIHdpdGggUXQgc2luY2UgNC4yCgoJICBBbGV4CgoyMDA3LTAxLTAzIDEwOjE5ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwgU291cmNlL0NNYWtlTGlzdHMudHh0LAoJICBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVFeGVjdXRhYmxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21NYWtlZmlsZVV0aWxpdHlUYXJnZXRHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21UYXJnZXQuY3h4OgoJICBFTkg6IG1lcmdlIGluIGZpeGVzIGZyb20gbWFpbiB0cmVlCgoyMDA3LTAxLTAzIDA0OjIwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDctMDEtMDIgMDA6MDggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNy0wMS0wMSAwNDowMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTEyLTMxIDAzOjI5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMTItMzAgMDM6MjQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0xMi0yOSAxOToyMCAgaG9mZm1hbgoKCSogVGVzdHMvQ3VzdENvbURlcGVuZC86IENNYWtlTGlzdHMudHh0LCBiYXIuaCwgZm9vLmN4eDogRU5IOiB0cnkgdG8KCSAgZml4IHRlc3Qgb24gd2F0Y29tCgoyMDA2LTEyLTI5IDAzOjI5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMTItMjggMTU6MzEgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtRmluZEJhc2UuY3h4LCBjbUZpbmRCYXNlLmg6IEJVRzogZml4IHByb2JsZW0gd2l0aCBwYXRoCgkgIHN1ZmZpeCBhbmQgbWFjIGZyYW1ld29ya3MgYW5kIGZpbmQgc3R1ZmYsIHNob3dlZCB1cCBpbgoJICBGaW5kUHl0aG9uTGlicy5jbWFrZQoKMjAwNi0xMi0yOCAwMzoyMyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTEyLTI3IDAzOjI3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMTItMjYgMDg6NDcgIGFuZHkKCgkqIE1vZHVsZXMvRmluZEpOSS5jbWFrZTogRU5IOiBTdXBwb3J0IEpWTSBvbiBNYWMKCjIwMDYtMTItMjYgMDM6MjcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0xMi0yNSAwMzoyNSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTEyLTI0IDAzOjI0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMTItMjMgMDM6MzggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0xMi0yMiAwMzozNiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTEyLTIxIDEwOjI0ICB1dGthcnNoCgoJKiBTb3VyY2Uva3dzeXMvQ29tbWFuZExpbmVBcmd1bWVudHMuY3h4OiBCVUc6IHJldmVydGluZyBwcmV2aW91cwoJICBjaGFuZ2UuCgoyMDA2LTEyLTIxIDA5OjUyICB1dGthcnNoCgoJKiBTb3VyY2Uva3dzeXMvQ29tbWFuZExpbmVBcmd1bWVudHMuY3h4OiBCVUc6IFdoZW4gYSAid3JvbmcKCSAgYXJndW1lbnQiIHdhcyBkZXRlY3RlZCwgd2UgY2FsbCB0aGUgV3JvbmdBcmd1bWVudCBoYW5kbGVyLiBJZiB0aGUKCSAgaGFuZGxlciByZXR1cm5zIHN1Y2Nlc3MsIHRoZSBhcmd1bWVudCBwYXJzaW5nIHNob3VsZCBjb250aW51ZS4KCSAgQ3VycmVudGx5LCBpdCB3YXMgc3RvcHBpbmcgcGFyc2luZyBpbW1lZGlhdGVseSBhZnRlciB0aGUgd3JvbmcKCSAgYXJndW1lbnQgd2FzIHByb2Nlc3NlZCwgaXJyZXNwZWN0aXZlIG9mIHRoZSBXcm9uZ0FyZ3VtZW50IGhhbmRsZXIKCSAgc3RhdHVzLiBGaXhlZCB0aGF0LgoKMjAwNi0xMi0yMSAwNDoxMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTEyLTIwIDAzOjI4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMTItMTkgMDM6MjkgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0xMi0xOCAxMTozMCAgdXRrYXJzaAoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQlVHOiBGaWxlSXNEaXJlY3Rvcnkgd291bGQgcmVtb3ZlCgkgIHRoZSB0cmFpbGluZyAnLycgZXZlbiB3aGVuIHRoZSBwYXRoIGlzIGluZGVlZCB0aGUgcm9vdCBpLmUuICcvJy4KCSAgSGVuY2UgdGhlIHRlc3Qgd291bGQgYmUgaW5jb3JyZWN0IGZvciByb290IGRpcmVjdG9yeS4gRml4ZWQgdGhhdC4KCjIwMDYtMTItMTggMTE6MDQgIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzL2t3c3lzX2lvc19zc3RyZWFtLmguaW46IENPTVA6IEZpeCBjb21waWxhdGlvbiB3aGVuCgkgIFZTNiBpcyB1c2luZyB0aGUgbmV3IEFOU0kgc3RkbGliCgoyMDA2LTEyLTE4IDAzOjI0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMTItMTcgMDM6MjUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0xMi0xNiAwMzoyNiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTEyLTE1IDEwOjMwICBtYWxhdGVycmUKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c19pb3Nfc3N0cmVhbS5oLmluOiBDT01QOiBUcnkgdG8gZ2V0CgkgIHN0cmluZ3N0cmVhbSBlbXVsYXRpb24gd29ya2luZwoKMjAwNi0xMi0xNSAwMzozMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTEyLTE0IDE0OjMwICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwKCSAgY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVVdGlsaXR5VGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsIGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuaDogRU5IOgoJICBNYWRlIGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3I6Okdsb2JhbEdlbmVyYXRvciBoYXZlIGZ1bGwgdHlwZQoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMgdG8gZ2l2ZSBhY2Nlc3MgdG8gYWxsIG1ldGhvZHMuCgkgIEZpeGVkIGJyb2tlbiBjdXN0b20gdGFyZ2V0cyB3aXRoIG5vIGNvbW1hbmRzIGZvciBCb3JsYW5kCgkgIG1ha2VmaWxlcyB3aGVuIENNQUtFX1NLSVBfUlVMRV9ERVBFTkRFTkNZIGlzIHNldC4KCjIwMDYtMTItMTQgMTM6MTggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c19pb3Nfc3N0cmVhbS5oLmluOiBFTkg6IEFkZGluZyBzdHJpbmdzdHJlYW0KCSAgY29tcGF0aWJpbGl0eSBpbXBsZW1lbnRhdGlvbi4gIEl0IGlzIGN1cnJlbnRseSBpZGVudGljYWwgdG8KCSAgb3N0cmluZ3N0cmVhbS4gIEZpeGVkIGxvY2FsIHZhcmlhYmxlIHBjb3VudCBoaWRpbmcgbWV0aG9kCgkgIHdhcm5pbmcuCgoyMDA2LTEyLTE0IDExOjQxICBtYWxhdGVycmUKCgkqIFNvdXJjZS9rd3N5cy86IGt3c3lzX2lvc19zc3RyZWFtLmguaW4sIHRlc3RJT1MuY3h4OiBCVUc6IFJlbW92ZQoJICBzdHJpbmdzdHJlYW0gaW1wbGVtZW50YXRpb24sIHRoaXMgd2FzIGEgd3JvbmcgaW50ZXJmYWNlIGFueXdheS4KCjIwMDYtMTItMTQgMTE6MDIgIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzL3Rlc3RJT1MuY3h4OiBCVUc6IGRpc2FibGUgdGVzdCBmb3Igbm93CgoyMDA2LTEyLTE0IDEwOjAzICBraW5nCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEVOSDogQ2hhbmdlcyBmcm9tIFJ5YW4gQy4gR29yZG9uIHRvIGZpeAoJICBvbGQgcHJvY2VzcyBleGVjdXRpb24gb24gQmVPUy4KCjIwMDYtMTItMTQgMDM6MjYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0xMi0xMyAxNjo0NCAgYW5keQoKCSogTW9kdWxlcy9DUGFjay5TVEdaX0hlYWRlci5zaC5pbjogQlVHOiBGaXhlcyBmb3IgZGFzaAoKMjAwNi0xMi0xMyAxMzoyNCAgbWFydGluawoKCSogU291cmNlL2NtUHJvcGVydHlNYXAuY3h4OiBDT01QOiBvb3BzIHJlYWxseSBkaWQgbm90IG1lYW4gdG8gY2hlY2sKCSAgaW4gdGhhdCBjaGFuZ2UKCjIwMDYtMTItMTMgMTI6MTkgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQXV4U291cmNlRGlyZWN0b3J5Q29tbWFuZC5jeHgsIGNtQ1BsdWdpbkFQSS5jeHgsCgkgIGNtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuY3h4LCBjbUZMVEtXcmFwVUlDb21tYW5kLmN4eCwKCSAgY21NYWtlZmlsZS5jeHgsIGNtUHJvcGVydHlNYXAuY3h4LCBjbVNvdXJjZUZpbGUuY3h4LAoJICBjbVNvdXJjZUZpbGUuaDogRU5IOiBhbGxvdyBzb3VyY2UgZmlsZSBwcm9wZXJ0aWVzIHRvIGNoYWluIHRvCgkgIERpcmVjdG9yaWVzIGFuZCB1cAoKMjAwNi0xMi0xMyAxMjoxMSAgbWFydGluawoKCSogTW9kdWxlcy9WVEtDb21wYXRpYmlsaXR5LmNtYWtlOiBFTkg6IGZpeCBmb3IgYmFjayBWVEsgZXJyb3IKCSAgbWVzc2FnZQoKMjAwNi0xMi0xMyAwODo1MiAgbWFsYXRlcnJlCgoJKiBTb3VyY2Uva3dzeXMvOiBrd3N5c19pb3Nfc3N0cmVhbS5oLmluLCB0ZXN0SU9TLmN4eDogRU5IOiBwcm92aWRlCgkgIHN0cmluZ3N0cmVhbSB0b28uIEZJWDogd2FybmluZyBzaGFkb3cgdmFyCgoyMDA2LTEyLTEzIDAzOjIzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMTItMTIgMTQ6MzkgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQ29tbWFuZHMuY3h4LCBjbVZUS01ha2VJbnN0YW50aWF0b3JDb21tYW5kLmN4eCwKCSAgY21WVEtNYWtlSW5zdGFudGlhdG9yQ29tbWFuZC5oLCBjbVZUS1dyYXBKYXZhQ29tbWFuZC5jeHgsCgkgIGNtVlRLV3JhcEphdmFDb21tYW5kLmgsIGNtVlRLV3JhcFB5dGhvbkNvbW1hbmQuY3h4LAoJICBjbVZUS1dyYXBQeXRob25Db21tYW5kLmgsIGNtVlRLV3JhcFRjbENvbW1hbmQuY3h4LAoJICBjbVZUS1dyYXBUY2xDb21tYW5kLmg6IEVOSDogcmVtb3ZlIG9sZCBjb21tYW5kcwoKMjAwNi0xMi0xMiAxMzo1OSAgbWFydGluawoKCSogTW9kdWxlcy9WVEtDb21wYXRpYmlsaXR5LmNtYWtlOiBFTkg6IHB1dCBpbiBhIGJldHRlciBlcnJvcgoJICBtZXNzYWdlIGZvciBWVEsgNC4wCgoyMDA2LTEyLTEyIDEzOjU5ICBtYXJ0aW5rCgoJKiBUZXN0cy9XcmFwcGluZy9DTWFrZUxpc3RzLnR4dDogRU5IOiByZW1vdmVkIG9sZCBWVEsgdGVzdHMKCjIwMDYtMTItMTIgMTE6MTcgIG1hcnRpbmsKCgkqIE1vZHVsZXMvVlRLQ29tcGF0aWJpbGl0eS5jbWFrZTogRU5IOiBtaW5vciBjbGVhbnVwCgoyMDA2LTEyLTEyIDExOjA2ICBob2ZmbWFuCgoJKiBUZXN0cy9DVGVzdFRlc3QzL3Rlc3QuY21ha2UuaW46IEVOSDogZG8gbm90IHVzZSBzdm4gdW50aWwgaXQgaXMKCSAgd29ya2luZyBhZ2FpbgoKMjAwNi0xMi0xMiAxMDowNyAgbWFydGluawoKCSogU291cmNlLzogY21JZkNvbW1hbmQuY3h4LCBjbUlmQ29tbWFuZC5oLAoJICBjbVNldFByb3BlcnRpZXNDb21tYW5kLmN4eDogRU5IOiBmaXggYSB3YXJuaW5nIGFuZCBhIG5pY2UgZml4IHRvCgkgIHRoZSBJRiBjb21tYW5kCgoyMDA2LTEyLTEyIDAzOjI5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMTItMTEgMTA6MjYgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtU2V0UHJvcGVydGllc0NvbW1hbmQuY3h4LCBjbVNldFByb3BlcnRpZXNDb21tYW5kLmgsCgkgIGNtU2V0U291cmNlRmlsZXNQcm9wZXJ0aWVzQ29tbWFuZC5jeHgsCgkgIGNtU2V0U291cmNlRmlsZXNQcm9wZXJ0aWVzQ29tbWFuZC5oLCBjbWFrZS5jeHg6IEVOSDogaW1wcm92ZQoJICBTZXRQcm9wZXJ0aWVzIGFuZCBmaXggYSBjb3VwbGUgd2FybmluZ3MKCjIwMDYtMTItMTEgMDM6MjAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0xMi0xMCAwMzoxOSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTEyLTA5IDE1OjAyICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogRmluZFBrZ0NvbmZpZy5jbWFrZSwgVXNlUGtnQ29uZmlnLmNtYWtlOiBFTkg6IGJldHRlcgoJICBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgYW5kIGRlcHJlY2F0ZSBQS0dDT05GSUcKCjIwMDYtMTItMDkgMTE6MjUgIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIER5bmFtaWNMb2FkZXIuY3h4LAoJICBEeW5hbWljTG9hZGVyLmh4eC5pbjogQlVHOiByZXZlcnQgeWVzdGVyZGF5IHBhdGNoLiBUaGUKCSAgaW1wbGVtZW50YXRpb24gd2FzIGNvcnJlY3QuIFRoZSBwcm9ibGVtIHdhcyB0aGF0IF9XSU4zMiB3YXMKCSAgZm9yY2VkIHRvIGJlICNkZWZpbmUgb24gY3lnd2luIHdoZW4gaW5jbHVkZWQgZnJvbSBJVEssIHdoaWNoIHdhcwoJICBtaXNzIG1hdGNoaW5nIHRoZSBpbXBsZW1lbnRhdGlvbiBmcm9tIHRoZSBkZWNsYXJhdGlvbi4gUHV0IGV4dHJhCgkgIGNvbmRpdGlvbiBmb3IgQ1lHV0lOIHN5c3RlbQoKMjAwNi0xMi0wOSAwMzozMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTEyLTA4IDE1OjUyICBtYWxhdGVycmUKCgkqIFNvdXJjZS9rd3N5cy86IENNYWtlTGlzdHMudHh0LCBEeW5hbWljTG9hZGVyLmN4eCwKCSAgRHluYW1pY0xvYWRlci5oeHguaW46IEJVRzogTWFrZSBzdXJlIHRvIHVzZSB0aGUgV2luMzIgaW50ZXJmYWNlCgkgIChISU5TVEFOQ0UpIGZvciBoYW5kbGluZyBzaGFyZWQgbGliIG9uIGN5Z3dpbiBhbmQgbWluZ3cgc3lzdGVtCgoyMDA2LTEyLTA4IDA5OjI3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbURvY3VtZW50YXRpb24uY3h4LCBjbVNldFByb3BlcnRpZXNDb21tYW5kLmN4eCwKCSAgY21UYXJnZXQuY3h4LCBjbWFrZS5jeHg6IENPTVA6IGZpeCBzb21lIHdhcm5pbmdzIGFuZCBzdHlsZSBpc3N1ZXMKCjIwMDYtMTItMDggMDM6MjYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0xMi0wNyAxNzozNyAgYWxleAoKCSogTW9kdWxlcy9GaW5kUnVieS5jbWFrZTogQlVHOiBmaXggNDE2NCwgYWxzbyBzZWFyY2ggZm9yCgkgIGxpYnJ1YnkxLjguc28sIEkgZ3Vlc3MgaXQgc2hvdWxkIGJlIHN5bmNlZCB3aXRoIHRoZSBLREUgdmVyc2lvbgoJICBvZiBGaW5kUlVCWS5jbWFrZQoKCSAgQWxleAoKMjAwNi0xMi0wNyAxNjozMSAgbWFydGluawoKCSogU291cmNlL2NtU2V0VGVzdHNQcm9wZXJ0aWVzQ29tbWFuZC5jeHg6IEJVRzogZml4IGJhZCBjb21wYXJpc29uCgoyMDA2LTEyLTA3IDE2OjE0ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0JlT1MuY21ha2U6IEVOSDogYWRkIGJlb3MgZmlsZQoKMjAwNi0xMi0wNyAxNToyMyAgbWFydGluawoKCSogU291cmNlL2NtU2V0VGVzdHNQcm9wZXJ0aWVzQ29tbWFuZC5jeHg6IENPTVA6IGZpeCBhIHdhcm5pbmcKCjIwMDYtMTItMDcgMTQ6NTQgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtU2V0UHJvcGVydGllc0NvbW1hbmQuY3h4LCBjbVNldFByb3BlcnRpZXNDb21tYW5kLmgsCgkgIGNtU2V0VGVzdHNQcm9wZXJ0aWVzQ29tbWFuZC5jeHgsIGNtU2V0VGVzdHNQcm9wZXJ0aWVzQ29tbWFuZC5oOgoJICBFTkg6IGltcGxlbWVudHMgU2V0UHJvcGVydGllcyBmb3IgVEVTVAoKMjAwNi0xMi0wNyAxMTozOCAgaG9mZm1hbgoKCSogVGVzdHMvQ3VzdENvbURlcGVuZC9DTWFrZUxpc3RzLnR4dDogRU5IOiBmaXggdGVzdCBmb3IgY29uZmlnIGRpcgoJICBiYXNlZCBzdHVmZgoKMjAwNi0xMi0wNyAxMDo0OCAgbWFydGluawoKCSogYm9vdHN0cmFwOiBDT01QOiBmaXggYm9vdHN0cmFwIG1heWJlCgoyMDA2LTEyLTA3IDEwOjMzICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbVByb3BlcnR5TWFwLmN4eCwgY21TZXRQcm9wZXJ0aWVzQ29tbWFuZC5jeHg6IENPTVA6IGZpeAoJICB3YXJuaW5nCgoyMDA2LTEyLTA3IDEwOjI2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21TZXRQcm9wZXJ0aWVzQ29tbWFuZC5jeHg6IENPTVA6IGZpeCB3YXJuaW5nIHJpZ2h0IG5vdwoKMjAwNi0xMi0wNyAxMDoyMiAgbWFydGluawoKCSogU291cmNlL2NtVGVzdC5jeHg6IEJVRzogZml4IG1pc3NpbmcgcmV0dXJuIHZhbHVlCgoyMDA2LTEyLTA3IDEwOjE1ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogYWRkIHRlc3QgSSByZW1vdmVkIGJ5IG1pc3Rha2UKCjIwMDYtMTItMDcgMDk6NTEgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUNQbHVnaW5BUEkuY3h4OiBDT01QOiBmaXggd2FybmluZwoKMjAwNi0xMi0wNyAwOTo0NCAgbWFydGluawoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0LCBTb3VyY2UvY21BdXhTb3VyY2VEaXJlY3RvcnlDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtQ1BsdWdpbkFQSS5jeHgsIFNvdXJjZS9jbUNQbHVnaW5BUEkuaCwKCSAgU291cmNlL2NtQ29tbWFuZHMuY3h4LCBTb3VyY2UvY21DcmVhdGVUZXN0U291cmNlTGlzdC5jeHgsCgkgIFNvdXJjZS9jbURvY3VtZW50YXRpb24uY3h4LCBTb3VyY2UvY21Eb2N1bWVudGF0aW9uLmgsCgkgIFNvdXJjZS9jbUZMVEtXcmFwVUlDb21tYW5kLmN4eCwgU291cmNlL2NtRm9yRWFjaENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21JZkNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsRmlsZXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbFByb2dyYW1zQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFjcm9Db21tYW5kLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZS5oLCBTb3VyY2UvY21Qcm9wZXJ0eU1hcC5jeHgsCgkgIFNvdXJjZS9jbVNldERpcmVjdG9yeVByb3BlcnRpZXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtU2V0RGlyZWN0b3J5UHJvcGVydGllc0NvbW1hbmQuaCwKCSAgU291cmNlL2NtU2V0VGFyZ2V0UHJvcGVydGllc0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21TZXRUYXJnZXRQcm9wZXJ0aWVzQ29tbWFuZC5oLCBTb3VyY2UvY21Tb3VyY2VGaWxlLmN4eCwKCSAgU291cmNlL2NtU291cmNlRmlsZS5oLCBTb3VyY2UvY21UYXJnZXQuY3h4LCBTb3VyY2UvY21UYXJnZXQuaCwKCSAgU291cmNlL2NtVGVzdC5jeHgsIFNvdXJjZS9jbVRlc3QuaCwKCSAgU291cmNlL2NtVlRLTWFrZUluc3RhbnRpYXRvckNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21WVEtXcmFwSmF2YUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21WVEtXcmFwUHl0aG9uQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVZUS1dyYXBUY2xDb21tYW5kLmN4eCwgU291cmNlL2NtV2hpbGVDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtYWtlLmN4eCwgU291cmNlL2NtYWtlLmgsIFNvdXJjZS9jbWFrZW1haW4uY3h4LAoJICBUZXN0cy9Db21wbGV4L0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvTG9hZENvbW1hbmQvQ01ha2VDb21tYW5kcy9jbVRlc3RDb21tYW5kLmMsCgkgIFRlc3RzL0xvYWRDb21tYW5kT25lQ29uZmlnL0NNYWtlQ29tbWFuZHMvY21UZXN0Q29tbWFuZC5jLAoJICBTb3VyY2UvY21EZWZpbmVQcm9wZXJ0eUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21EZWZpbmVQcm9wZXJ0eUNvbW1hbmQuaDogRU5IOiBtYWtlIHByb3BlcnRpZXMgYSBiaXQgbW9yZQoJICBmb3JtYWwgd2l0aCBkb2N1bWVudGF0aW9uIGFuZCBjaGFpbmluZwoKMjAwNi0xMi0wNyAwMjowNCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTEyLTA2IDIzOjA1ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtVGFyZ2V0LmN4eCwgVGVzdHMvQ3VzdENvbURlcGVuZC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ3VzdENvbURlcGVuZC9mb28uY3h4OiBFTkg6IGZpeCBidWcgaW4gZnVsbCBwYXRoIHRvIHRhcmdldAoJICBkZXBlbmRzIHN0dWZmCgoyMDA2LTEyLTA2IDAwOjQzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMTItMDUgMTA6MzYgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtUHJvcGVydHlEZWZpbml0aW9uLmN4eDogRU5IOiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAwNi0xMi0wNSAwOToxNCAgaG9mZm1hbgoKCSogU291cmNlLzogY21TeXN0ZW1Ub29scy5jeHgsIENUZXN0L2NtQ1Rlc3RTdWJtaXRIYW5kbGVyLmN4eDogQ09NUDoKCSAgZml4IGxpbmUgbGVuZ3RoIHN0eWxlIGVycm9yCgoyMDA2LTEyLTA1IDA5OjAyICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYzogQ09NUDogcmVtb3ZlIHdhcm5pbmcKCjIwMDYtMTItMDUgMDg6NDcgIGhvZmZtYW4KCgkqIGJvb3RzdHJhcDogRU5IOiBmaXggYm9vdHN0cmFwIGZvciBtYWMKCjIwMDYtMTItMDUgMDg6MzkgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jOiBFTkg6IGZpeCBidWlsZCBlcnJvciBvbiBJUklYCgoyMDA2LTEyLTA0IDE5OjM3ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmREb3h5Z2VuLmNtYWtlOiBFTkg6IGZpeCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkKCjIwMDYtMTItMDQgMTc6MjYgIGhvZmZtYW4KCgkqIGJvb3RzdHJhcCwgTW9kdWxlcy9DTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrRm9yUHRocmVhZHMuYywgU291cmNlL2NtQ1Rlc3QuY3h4LAoJICBTb3VyY2UvY21EZXBlbmRzSmF2YUxleGVyLmN4eCwgU291cmNlL2NtRGVwZW5kc0phdmFMZXhlci5oLAoJICBTb3VyY2UvY21NYWtlZmlsZS5jeHgsIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwKCSAgU291cmNlL2t3c3lzL0R5bmFtaWNMb2FkZXIuY3h4LAoJICBTb3VyY2Uva3dzeXMvRHluYW1pY0xvYWRlci5oeHguaW4sIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHgsCgkgIFNvdXJjZS9rd3N5cy90ZXN0RHluYW1pY0xvYWRlci5jeHgsCgkgIFRlc3RzL0NvbXBsZXgvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBVdGlsaXRpZXMvY21jdXJsL0NNYWtlTGlzdHMudHh0LCBVdGlsaXRpZXMvY210YXIvZW5jb2RlLmMsCgkgIFV0aWxpdGllcy9jbXRhci9leHRyYWN0LmMsIFV0aWxpdGllcy9jbXRhci9saWJ0YXIuYywKCSAgVXRpbGl0aWVzL2NtdGFyL3V0aWwuYzogRU5IOiBtZXJnZSBpbiBjaGFuZ2VzIGZvciBiZW9zIHN1cHBvcnQKCjIwMDYtMTItMDQgMTQ6NDIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IFByb2Nlc3NVTklYLmMsIHRlc3RQcm9jZXNzLmM6IEVOSDogQ2hhbmdlcyBiYXNlZAoJICBvbiBwYXRjaCBmcm9tIFJ5YW4gQy4gR29yZG9uIHRvIGVuYWJsZSBwcm9jZXNzIGV4ZWN1dGlvbiBvbiBCZU9TLgoJICBUaGVyZSBzZWVtcyB0byBiZSBubyB3YXkgdG8gaW1wbGVtZW50IGl0IHdpdGhvdXQgcG9sbGluZyAob3IKCSAgdGhyZWFkcykuCgoyMDA2LTEyLTA0IDEzOjU0ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEJVRzogRG8gbm90IHByaW50IGVtcHR5IGluc3RhbGwKCSAgY29uZmlndXJhdGlvbiByZXBlYXRlZGx5LgoKMjAwNi0xMi0wNCAxMTo1MiAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kRG94eWdlbi5jbWFrZTogQlVHOiBmaXggZm9yIGJ1ZyA0MTAyCgoyMDA2LTEyLTA0IDExOjQ0ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRYTUxSUEMuY21ha2U6IEJVRzogZml4IGZvciBidWcgNDEyMywgZmluZCB4bWxycGMgaW4KCSAgc3RhbmRhcmQgbG9jYXRpb25zCgoyMDA2LTEyLTA0IDExOjE5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogYWRkZWQgcHJvcGVydGllcyBpbnRvIHRoZSBjb21waWxlLAoJICBidXQgbm90IHRoYXQgbWFueQoKMjAwNi0xMi0wNCAxMTowNSAgbWFydGluawoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IGFkZGVkIHByb3BlcnRpZXMgaW50byB0aGUgY29tcGlsZQoKMjAwNi0xMi0wNCAxMTowNCAgbWFydGluawoKCSogU291cmNlL2NtUHJvcGVydHlEZWZpbml0aW9uTWFwLmg6IFNUWUxFOiBmaXggbGluZSBsZW5ndGgKCjIwMDYtMTItMDQgMDk6NTggIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0OiBFTkg6IG1vdmUgdG8gYWN0dWFsIHJlbGVhc2UKCjIwMDYtMTItMDIgMTM6MTcgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3VibWl0SGFuZGxlci5jeHg6IEVOSDogcHV0IGNoZWNrcyBvbiB2ZWN0b3IKCSAgYmVmb3JlIHJlZmVyZW5jaW5nIGJlZ2luIGl0ZXJhdG9yCgoyMDA2LTEyLTAxIDIyOjU0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMTItMDEgMTU6MzIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1hY3JvQ29tbWFuZC5jeHg6IEVOSDogZml4IHdhcm5pbmcKCjIwMDYtMTItMDEgMTU6MjggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1hY3JvQ29tbWFuZC5jeHg6IEVOSDogZml4IHdhcm5pbmcKCjIwMDYtMTItMDEgMTM6MzUgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtUHJvcGVydHkuY3h4LCBjbVByb3BlcnR5LmgsIGNtUHJvcGVydHlEZWZpbml0aW9uLmN4eCwKCSAgY21Qcm9wZXJ0eURlZmluaXRpb24uaCwgY21Qcm9wZXJ0eURlZmluaXRpb25NYXAuY3h4LAoJICBjbVByb3BlcnR5RGVmaW5pdGlvbk1hcC5oLCBjbVByb3BlcnR5TWFwLmN4eCwgY21Qcm9wZXJ0eU1hcC5oLAoJICBjbVNldFByb3BlcnRpZXNDb21tYW5kLmN4eCwgY21TZXRQcm9wZXJ0aWVzQ29tbWFuZC5oOiBFTkg6CgkgIGdldHRpbmcgc29tZSBvZiB0aGUgcHJvcGVydHkgY2hhbmdlZCBjaGV3Y2tlZCBpbnRvIENWUyBhdCBsZWFzdAoKMjAwNi0xMi0wMSAxMTowNCAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWwsIFNvdXJjZS9jbU1hY3JvQ29tbWFuZC5jeHg6IEVOSDoKCSAgbWVyZ2UgaW4gZml4IGZvciBzZWcgZmF1bHQgYW5kIG1vdmUgdG8gUkMgNAoKMjAwNi0xMi0wMSAxMDozMCAgaG9mZm1hbgoKCSogU291cmNlL2NtTWFjcm9Db21tYW5kLmN4eDogQlVHOiBmaXggZm9yIDM4MTUgc2VnIGZhdWx0CgoyMDA2LTEyLTAxIDAxOjQwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMTEtMzAgMTg6MjcgIGliYW5legoKCSogU291cmNlL2t3c3lzLzogRHluYW1pY0xvYWRlci5jeHgsIER5bmFtaWNMb2FkZXIuaHh4LmluOiBCVUc6CgkgIDQxMDAuIEZpeGluZyB0aGUgTWFjIE9TL1ggdmVyc2lvbiBpbiB0aGUgRHluYW1pYyBsb2FkZXIgaW4ga3dzeXMsCgkgIGFuZCByZXBsYWNpbmcgY29weS9wYXN0ZWQgY29kZSBpbiB0aGUgaXRrRHluYW1pY0xvYWRlciB3aXRoCgkgIHVzYWdlICAgICAgb2YgdGhlIGt3c3lzIGxvYWRlci4gVGhpcyB3YXMgZml4ZWQgaW4gdGhlIEhFQUQgYnkKCSAgTWF0aGlldSBNYWxhdGVycmUJIGFuZCBOZWlsIFdlaXNlbmZlbGQuIFRoaXMgY2hhbmdlcyBpbiB0aGUKCSAgYnJhbmNoIGFyZSBqdXN0IHRoZSBwb3J0CW9mIHRoZSBidWcgZml4IGZyb20gdGhlIEhFQUQuCgoyMDA2LTExLTMwIDE4OjEzICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwKCSAgU291cmNlL2NtT3JkZXJMaW5rRGlyZWN0b3JpZXMuY3h4LCBTb3VyY2UvY21UYXJnZXQuY3h4LAoJICBUZXN0cy9MaWJOYW1lL0NNYWtlTGlzdHMudHh0OiBFTkg6IG1vdmUgdG8gUkMgMyBhbmQgYWRkIGEgZml4IGZvcgoJICAtTC9wYXRoIGluIGxpbmsgY29tbWFuZHMgdGhhdCB3YXMgYnJva2VuIGJ5IHRoZSAuZGxsLmxpYiBmaXgKCjIwMDYtMTEtMzAgMTc6NTAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU9yZGVyTGlua0RpcmVjdG9yaWVzLmN4eDogRU5IOiBjbGVhbiB1cCBjb21tZW50IGFuZAoJICBhdm9pZCBzb21lIHZlY3RvciBhY2Nlc3MgY2FsbGVzCgoyMDA2LTExLTMwIDE3OjMyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21PcmRlckxpbmtEaXJlY3Rvcmllcy5jeHgsIFNvdXJjZS9jbVRhcmdldC5jeHgsCgkgIFRlc3RzL0xpYk5hbWUvQ01ha2VMaXN0cy50eHQ6IEJVRzogYmV0dGVyIGZpeCBmb3IgLmRsbC5saWIKCSAgcHJvYmxlbQoKMjAwNi0xMS0zMCAxNjoyMyAgYWxleAoKCSogTW9kdWxlcy9GaW5kQ3Vwcy5jbWFrZTogRU5IOiBhZGQgYSBtb2R1bGUgdG8gZmluZCBDdXBzICgjMzA4MSksCgkgIHRha2VuIGZyb20gS0RFIHN2bgoKCSAgQWxleAoKMjAwNi0xMS0zMCAxMDoxMiAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWwsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL2NtT3JkZXJMaW5rRGlyZWN0b3JpZXMuY3h4LCBUZXN0cy9MaWJOYW1lL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9MaWJOYW1lL2Jhci5jLCBUZXN0cy9MaWJOYW1lL2Zvby5jLCBUZXN0cy9MaWJOYW1lL2Zvb2Jhci5jOgoJICBFTkg6IHB1dCBmaXggZm9yIGZvby5kbGwubGliIHByb2JsZW0gb24gYnJhbmNoIHdpdGggdGVzdAoKMjAwNi0xMS0zMCAwOTo1MSAgaG9mZm1hbgoKCSogVGVzdHMvTGliTmFtZS9mb29iYXIuYzogRU5IOiBtYWtlIGl0IHdvcmsgZm9yIGhwCgoyMDA2LTExLTMwIDAxOjI5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMTEtMjkgMjE6NTMgIGhvZmZtYW4KCgkqIFRlc3RzL0xpYk5hbWUvOiBiYXIuYywgZm9vLmMsIGZvb2Jhci5jOiBFTkg6IGFkZCBleHRlcm4gZm9yIGhwIGMKCSAgY29tcGlsZXIKCjIwMDYtMTEtMjkgMjE6MzYgIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvTGliTmFtZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBmaXgKCSAgdGVzdCB0byBydW4gd2l0aCBkZWJ1ZyBvciByZWxlYXNlIGFuZCBwdXQgdGhlIGV4ZSBuZXh0IHRvIHRoZQoJICBkbGwsIHN0aWxsIHNob3dzIHRoZSBidWcgdGhpcyBpcyB0ZXN0aW5nIGZvcgoKMjAwNi0xMS0yOSAxNzo0NSAgaG9mZm1hbgoKCSogYm9vdHN0cmFwLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbWFrZS5jeHgsCgkgIFRlc3RzL0xpYk5hbWUvYmFyLmMsIFRlc3RzL0xpYk5hbWUvZm9vLmMsIFRlc3RzL0xpYk5hbWUvZm9vYmFyLmM6CgkgIEVOSDogZml4IGVycm9ycyBmb3IgdW5peCBidWlsZHMKCjIwMDYtMTEtMjkgMTc6MjUgIGhvZmZtYW4KCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvY21DdXJzZXNMb25nTWVzc2FnZUZvcm0uY3h4OiBFTkg6IGZpeCB3YXJuaW5nCgoyMDA2LTExLTI5IDE3OjE3ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nLzogY21DdXJzZXNMb25nTWVzc2FnZUZvcm0uY3h4LAoJICBjbUN1cnNlc01haW5Gb3JtLmN4eDogRU5IOiB0aGVyZSBjYW4gYmUgb25seSBvbmUgdmVyc2lvbgoKMjAwNi0xMS0yOSAxNzoxMCAgbWFydGluawoKCSogU291cmNlLzogY21NYWtlZmlsZS5jeHgsIGNtVGFyZ2V0LmN4eDogQ09NUDogZml4IGNvbXBpbGUgaXNzdWUgb24KCSAgU3VuIGhvcGVmdWxseQoKMjAwNi0xMS0yOSAxNzowMiAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IGZpeCB0ZXN0IGZvciBjb25maWd1cmF0aW9uIHR5cGUKCSAgYnVpbGRzCgoyMDA2LTExLTI5IDE2OjQzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21PcmRlckxpbmtEaXJlY3Rvcmllcy5jeHg6IEVOSDogZml4IGNvbXBpbGUgZXJyb3Igb24gbWFjCgoyMDA2LTExLTI5IDE2OjEyICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogRmluZFBrZ0NvbmZpZy5jbWFrZSwgVXNlUGtnQ29uZmlnLmNtYWtlOiBFTkg6IG1haW50YWluCgkgIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGluIFVzZVBrZ0NvbmZpZwoKMjAwNi0xMS0yOSAxNTo1OSAgaG9mZm1hbgoKCSogU291cmNlLzogY21DTWFrZU1pbmltdW1SZXF1aXJlZC5jeHgsIGNtQ1BsdWdpbkFQSS5jeHgsCgkgIGNtQ2FjaGVNYW5hZ2VyLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LCBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oLAoJICBjbWFrZS5jeHgsIGNtYWtlLmg6IEVOSDogdW5pZnkgdmVyc2lvbiBzdHVmZiwgZ2V0IHJpZCBvZiBpdCBvdXQKCSAgb2YgY21ha2UgYW5kIGNtTWFrZWZpbGUgYW5kIG9ubHkgdXNlIGNtVmVyc2lvbgoKMjAwNi0xMS0yOSAxNTo1NyAgaG9mZm1hbgoKCSogU291cmNlL2NtT3JkZXJMaW5rRGlyZWN0b3JpZXMuY3h4LCBUZXN0cy9MaWJOYW1lL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9MaWJOYW1lL2Jhci5jLCBUZXN0cy9MaWJOYW1lL2Zvby5jLCBUZXN0cy9MaWJOYW1lL2Zvb2Jhci5jLAoJICBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEJVRzogZml4IGEgcHJvYmxlbSB3aGVyZSBpdCB0cmllZCB0byBsaW5rCgkgIC5kbGwubGliIGZpbGVzCgoyMDA2LTExLTI5IDE1OjQ1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmN4eCwgY21UYXJnZXQuY3h4OiBDT01QOiBmaXggY29tcGlsZSBpc3N1ZSBvbgoJICBTdW4KCjIwMDYtMTEtMjkgMTI6NTYgIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzLzogRHluYW1pY0xvYWRlci5jeHgsIER5bmFtaWNMb2FkZXIuaHh4LmluOiBCVUc6IEZpeAoJICBwcm9ibGVtIHdpdGggbG9hZGluZyBkeWxpYiBvbiBUaWdlciAoMTAuNCkgeDg2LiBXZSBuZWVkIHRvIGJlCgkgIHVzaW5nIHRoZSBkbG9wZW4vZGxjbG9zZSBpbnN0ZWFkIG9mIHRoZSBvbGQgTlNNb2R1bGUKCjIwMDYtMTEtMjkgMTE6MDAgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0LmgsCgkgIGNtVGFyZ2V0TGlua0xpYnJhcmllc0NvbW1hbmQuY3h4LCBjbVRhcmdldExpbmtMaWJyYXJpZXNDb21tYW5kLmg6CgkgIEVOSDogdXBkYXRlZCBoYW5kbGluZyBvZiBkZWJ1ZyBhbmQgb3B0aW1pemVkIHRhcmdldCBsaW5rCgkgIGxpYnJhcmllcwoKMjAwNi0xMS0yOCAxNjowOSAgaG9mZm1hbgoKCSogU291cmNlLzogY21Db25maWd1cmUuY21ha2UuaC5pbiwgY21NYWtlZmlsZS5jeHgsIGNtVmVyc2lvbi5jeHg6CgkgIEVOSDogYWRkIHJjIHRvIHZlcnNpb24gc3R1ZmYKCjIwMDYtMTEtMjggMTY6MDMgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBTb3VyY2UvY21Db25maWd1cmUuY21ha2UuaC5pbiwKCSAgU291cmNlL2NtTWFrZWZpbGUuY3h4LCBTb3VyY2UvY21WZXJzaW9uLmN4eDogRU5IOiBhZGQgcmVsZWFzZQoJICBjYW5kaWRhdGUgdG8gdmVyc2lvbnMKCjIwMDYtMTEtMjggMTQ6NDUgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogY3JlYXRlLWNtYWtlLXJlbGVhc2UuY21ha2UsCgkgIHIxNW42NV9haXhfcmVsZWFzZS5jbWFrZTogRU5IOiB1c2Ugb2xkZXIgb3MgZm9yIEFJWCByZWxlYXNlCgoyMDA2LTExLTI4IDE0OjE5ICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cubWFudWFsLCBNb2R1bGVzL0ZpbmRLREU0LmNtYWtlLCBNb2R1bGVzL0ZpbmRRdDMuY21ha2UsCgkgIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbVRhcmdldC5jeHgsCgkgIFRlc3RzL1NpbXBsZS9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvVGFyZ2V0TmFtZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvVGFyZ2V0TmFtZS9leGVjdXRhYmxlcy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvVGFyZ2V0TmFtZS9leGVjdXRhYmxlcy9oZWxsb193b3JsZC5jLAoJICBUZXN0cy9UYXJnZXROYW1lL3NjcmlwdHMvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1RhcmdldE5hbWUvc2NyaXB0cy9oZWxsb193b3JsZCwKCSAgVGVzdHMvV3JhcHBpbmcvQ01ha2VMaXN0cy50eHQsIFV0aWxpdGllcy9jbWN1cmwvQ01ha2VMaXN0cy50eHQ6CgkgIEVOSDogbWVyZ2UgaW4gY2hhbmdlcyBmcm9tIHRoZSBtYWluIHRyZWUKCjIwMDYtMTEtMjggMDk6NDkgIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogRU5IOiB1c2UgdGhlIGJ1aWx0IGNtYWtlIGZvciBmaWxlIGNvbXBhcmUKCSAgYXMgb2xkZXIgdmVyc2lvbnMgb2YgY21ha2UgbWF5IG5vdCBzdXBwb3J0IHRoaXMKCjIwMDYtMTEtMjggMDA6MDUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0xMS0yNyAxNjoxNSAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IHVzZSBjb3JyZWN0IHByb2plY3QgbmFtZQoKMjAwNi0xMS0yNyAxNjoxMyAgaG9mZm1hbgoKCSogU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBUZXN0cy9TaW1wbGUvQ01ha2VMaXN0cy50eHQ6IEVOSDogbWFrZSBzdXJlIHRoaW5ncyBkbyBub3QgZGVwZW5kCgkgIG9uIG9wdGltaXplZCBsaWJyYXJpZXMgaWYgdGhleSBhcmUgZGVidWcsIGFuZCB0aGUgb3RoZXIgd2F5CgkgIGFyb3VuZCBhcyB3ZWxsCgoyMDA2LTExLTI3IDE1OjE0ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFRlc3RzL1RhcmdldE5hbWUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1RhcmdldE5hbWUvZXhlY3V0YWJsZXMvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1RhcmdldE5hbWUvZXhlY3V0YWJsZXMvaGVsbG9fd29ybGQuYywKCSAgVGVzdHMvVGFyZ2V0TmFtZS9zY3JpcHRzL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9UYXJnZXROYW1lL3NjcmlwdHMvaGVsbG9fd29ybGQ6IEVOSDogYWRkIGEgdGVzdCBmb3IgYQoJICB0YXJnZXQgbmFtZSB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgdGhlIG91dHB1dCBvZiBhIGN1c3RvbSBjb21tYW5kCgoyMDA2LTExLTI3IDEyOjE0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21UYXJnZXQuY3h4OiBFTkg6IGZpeCBsaW5lIGxlbmd0aCBwcm9ibGVtCgoyMDA2LTExLTI3IDEyOjExICBob2ZmbWFuCgoJKiBTb3VyY2UvY21UYXJnZXQuY3h4OiBFTkg6IGZpeCBjcmFzaCBpbiBwbHBsb3QgYnVpbGQKCjIwMDYtMTEtMjcgMTA6NDIgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9jbWN1cmwvQ01ha2VMaXN0cy50eHQ6IEVOSDogc2F2ZSBsb2dzIG9mIHBhc3NlZCB0cnkKCSAgY29tcGlsZSBzdHVmZiBhcyB3ZWxsCgoyMDA2LTExLTI2IDA3OjEyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMTEtMjUgMjE6NDMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0xMS0yNSAyMTowOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTExLTI1IDEwOjU5ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21UYXJnZXQuY3h4OiBCVUc6IGZpeCBwcm9ibGVtCgkgIHdoZW4gYSB0YXJnZXQgbmFtZSBpcyB0aGUgc2FtZSBhcyB0aGUgb3V0cHV0IG9mIGEgY3VzdG9tIGNvbW1hbmQKCjIwMDYtMTEtMjUgMDc6NTkgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0xMS0yMyAwNzozNyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTExLTIyIDE5OjI4ICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRLREU0LmNtYWtlOiBFTkg6IGtkZS1jb25maWcgaGFzIGJlZW4gcmVuYW1lZCB0bwoJICBrZGU0LWNvbmZpZyBzZXZlcmFsIHdlZWtzIGFnbywgc28gaXQncyBub3QgbmVjZXNzYXJ5IGFueW1vcmUgdG8KCSAgdXNlICJrZGUtY29uZmlnIiBhcyBmYWxsYmFjaywgc2luY2UgdGhpcyB3aWxsIHN1cmVseSBiZSBhIHdyb25nCgkgIHZlcnNpb24KCgkgIEFsZXgKCjIwMDYtMTEtMjIgMTQ6MjYgIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBtYWtlIHN1cmUgaXQgaXMgcXQzIGJlZm9yZSBydW5uaW5nCgkgIHRlc3QKCjIwMDYtMTEtMjIgMTQ6MjIgIGhvZmZtYW4KCgkqIFRlc3RzL1dyYXBwaW5nL0NNYWtlTGlzdHMudHh0OiBFTkg6IG1ha2Ugc3VyZSBpdCBpcyBxdDMgYmVmb3JlCgkgIHJ1bm5pbmcgdGVzdAoKMjAwNi0xMS0yMiAxMzo0NCAgaG9mZm1hbgoKCSogTW9kdWxlcy86IEZpbmRQa2dDb25maWcuY21ha2UsIFVzZVBrZ0NvbmZpZy5jbWFrZTogRU5IOiBjaGVjayBpbgoJICBuZXcgcGtnY29uZmlnIHN0dWZmIGZyb20gRW5yaWNvIFNjaG9segoKMjAwNi0xMS0yMiAxMzozMCAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kUXQzLmNtYWtlLCBUZXN0cy9XcmFwcGluZy9DTWFrZUxpc3RzLnR4dDogRU5IOiBtYWtlCgkgIHN1cmUgZmluZHF0MyBmaW5kcyBxdDMgYW5kIG5vdCBxdDQKCjIwMDYtMTEtMjIgMDk6NTggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0xMS0yMSAxMzoyNSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTExLTIxIDA3OjA3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMTEtMjAgMTQ6MjMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogRU5IOiBmaXggZnJvbSBtYWluIHRyZWUKCjIwMDYtMTEtMjAgMTM6NTcgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogRU5IOiBmaXggZm9yIHdoZW4gYSBsaWJyYXJ5IGlzIHRhZ2dlZCBib3RoCgkgIGRlYnVnIGFuZCBvcHRpbWl6ZWQKCjIwMDYtMTEtMjAgMDg6MTYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0xMS0xOSAwODowOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTExLTE4IDA4OjA4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMTEtMTcgMTU6NTUgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBDUGFjay9jbUNQYWNrTlNJU0dlbmVyYXRvci5jeHg6IEVOSDoKCSAgbW92ZSBmaXggZm9yIHJlcGxhY2Ugb2YgQHZhckAgaW4gY21ha2UgZmlsZXMgZnJvbSBtYWluIHRyZWUgYW5kIGEKCSAgYmV0dGVyIG1lc3NhZ2UgZm9yIGNwYWNrIGFuZCBuc2lzCgoyMDA2LTExLTE3IDE1OjM1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEJVRzogdW5kbyBidWcgZml4IDI3MjIsIHN0aWxsIHJlcGxhY2UKCSAgQGZvb0AgaW4gY21ha2UgZmlsZXMKCjIwMDYtMTEtMTcgMTE6MTQgIG1hcnRpbmsKCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrTlNJU0dlbmVyYXRvci5jeHg6IFNUWUxFOiBmaXggYSBsb25nIGxpbmUKCjIwMDYtMTEtMTcgMDg6MTEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0xMS0xNiAxNTo1NyAgaG9mZm1hbgoKCSogQ2hhbmdlTG9nLm1hbnVhbCwgU291cmNlL2NtTWFrZWZpbGUuY3h4OiBFTkg6IG1vdmUgZml4IGZyb20gbWFpbgoJICB0cmVlCgoyMDA2LTExLTE2IDE1OjMxICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21JZkNvbW1hbmQuY3h4OiBFTkg6IHJlbW92ZSBvbGQgaGFjayBub3cgdGhhdCBwcm9qZWN0CgkgIGxldmVsIGNvbXBhdGliaWxpdHkgZmlsZXMgYXJlIHN1cHBvcnRlZAoKMjAwNi0xMS0xNiAxNToyOSAgbWFydGluawoKCSogTW9kdWxlcy9WVEtDb21wYXRpYmlsaXR5LmNtYWtlOiBFTkg6IGFkZGVkIHRvIGhhbmRsZSBjYXNlIGluIHZlcnkKCSAgb2xkIG9kZCB2ZXJzaW9ucyBvZiBWVEsKCjIwMDYtMTEtMTYgMTU6MjggIG1hcnRpbmsKCgkqIE1vZHVsZXMvSVRLQ29tcGF0aWJpbGl0eS5jbWFrZTogRU5IOiBhZGRlZCB0byBoYW5kbGUgY2FzZSBpbiBJVEsKCSAgMi44IGFuZCBlYXJsaWVyCgoyMDA2LTExLTE2IDEwOjU3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmN4eCwgY21UYXJnZXQuY3h4OiBFTkg6IGZpeCBhIGJ1ZyB3aXRoIHVzZWluZwoJICBkZWJ1ZiBvcHRpbWl6ZWQgbGlicyBmcm9tIG90aGVyIGJ1aWxkcwoKMjAwNi0xMS0xNiAwODoxMCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTExLTE1IDA4OjA4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMTEtMTQgMDk6MDMgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0OiBFTkg6IHRyeSBhZ2FpbiBmb3IgMi40LjQKCjIwMDYtMTEtMTQgMDg6MDkgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0xMS0xMyAyMjowOCAgYW5keQoKCSogU291cmNlL0NQYWNrL2NtQ1BhY2tOU0lTR2VuZXJhdG9yLmN4eDogRU5IOiBFeHBhbmQgY29tbWVudAoKMjAwNi0xMS0xMyAxNToyNSAgaG9mZm1hbgoKCSogQ2hhbmdlTG9nLm1hbnVhbCwgTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOiBFTkg6IG1vdmUgZnJvbSBtYWluIHRyZWUKCjIwMDYtMTEtMTMgMTQ6MjIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogRU5IOiBhZGQgZGVwZW5kIGluZm9ybWF0aW9uIGZyb20gcXJjIGZpbGVzCgoyMDA2LTExLTEzIDEyOjU5ICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cubWFudWFsLCBNb2R1bGVzL0NNYWtlVkNNYW5pZmVzdEV4ZS5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kU3VidmVyc2lvbi5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlLAoJICBTb3VyY2UvY21GaW5kQmFzZS5jeHg6IEVOSDogbWVyZ2UgY2hhbmdlcyBpbiBmcm9tIG1haW4gdHJlZQoKMjAwNi0xMS0xMyAwODoxMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTExLTEyIDA4OjA4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMTEtMTEgMTQ6MDYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUZpbmRCYXNlLmN4eDogQlVHOiBmaXggZm9yIDQwMDkgbGliNjQgc2hvdWxkIHdvcmsgd2l0aAoJICBwYXRoIHN1ZmZpeAoKMjAwNi0xMS0xMSAxNDowNCAgaG9mZm1hbgoKCSogTW9kdWxlcy86IENNYWtlVkNNYW5pZmVzdEV4ZS5jbWFrZSwgUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZToKCSAgQlVHOiB1c2UgZGlmZmVyZW50IGNvbW1hbmRzIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBleGUgZm9yCgkgIG1hbmlmZXN0IHN0dWZmIGZpeCBmb3IgYnVnIzQwMzkKCjIwMDYtMTEtMTEgMDg6MTEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0xMS0xMCAxMDo1NCAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogRU5IOiBtb3ZlIGZyb20gbWFpbiB0cmVlCgoyMDA2LTExLTEwIDEwOjEyICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRNUEkuY21ha2UsIE1vZHVsZXMvRmluZFF0NC5jbWFrZSwgTW9kdWxlcy9yZWFkbWUudHh0LAoJICBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvOEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21TZXRUYXJnZXRQcm9wZXJ0aWVzQ29tbWFuZC5oLCBTb3VyY2UvY21ha2UuY3h4LAoJICBTb3VyY2UvY21ha2UuaCwgU291cmNlL0NUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4LAoJICBUZXN0cy9Db21wbGV4L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dDogRU5IOiBtZXJnZSBmcm9tIG1haW4KCSAgdHJlZSBmaXggZm9yIHZzIGFsbCBidWlsZCBxdCBhbmQgbXBpMgoKMjAwNi0xMS0xMCAwOTozMiAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogRU5IOiByZW1vdmUgd2FybmluZwoKMjAwNi0xMS0xMCAwODoxMSAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogQlVHOiBmaXggZm9yIGJyb2tlbiBib3JsYW5kCgkgIGNvbXBpbGVyCgoyMDA2LTExLTEwIDA4OjA3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMTEtMDkgMTY6MDcgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0QnVpbGRIYW5kbGVyLmN4eDogRU5IOiBmaXggaXQgdG8gd29yayB3aXRoCgkgIHN0bCBkZWJ1ZyBtb2RlIG9uIG1hYwoKMjAwNi0xMS0wOSAwOTo1NyAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmgsIGNtU2V0VGFyZ2V0UHJvcGVydGllc0NvbW1hbmQuaDoKCSAgRU5IOiBjb21taXQgZml4IGZvciBwdXR0aW5nIGV2ZXJ5dGhpbmcgaW4gdGhlIGJ1aWxkIG9uIHZzCgoyMDA2LTExLTA5IDA4OjA5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMTEtMDggMDg6MTAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0xMS0wNyAwODowOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTExLTA2IDA4OjA5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMTEtMDUgMDg6MDcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0xMS0wNCAwODowNiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTExLTAzIDA4OjA3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMTEtMDIgMTk6NTggIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZE1QSS5jbWFrZTogRU5IOiBhZGQgc3VwcG9ydCBmb3IgZmluZGluZyBtcGljaDIgb24KCSAgd2luZG93cwoKMjAwNi0xMS0wMiAxNzo1MSAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOiBFTkg6IGxvb2sgZm9yIFF0QXNzaXN0YW50Q2xpZW50NAoKMjAwNi0xMS0wMiAxNzoxNiAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQ6IEVOSDogYWJvcnQgMi40LjQgZm9yIG5vdwoKMjAwNi0xMS0wMiAwODowOSAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQ6IEVOSDogdGhpcyBpcyAyLjQuNAoKMjAwNi0xMS0wMiAwODowOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTExLTAxIDA5OjA2ICBraW5nCgoJKiBNb2R1bGVzL3JlYWRtZS50eHQ6IEVOSDogQWRkZWQgWFhYX1JVTlRJTUVfTElCUkFSWV9ESVJTIGFzIGEKCSAgc3VnZ2VzdGVkIHZhcmlhYmxlLgoKMjAwNi0xMS0wMSAwODowNyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTEwLTMxIDE0OjI4ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtYWtlLmN4eCwgY21ha2UuaDogRU5IOiBDbGVhbnVwIG9mIGluc3RhbGwgY29tcG9uZW50IGxpc3QuIFRoZXJlCgkgIHdhcyBhbHJlYWR5IHRoZSBsaXN0IGluIHRoZSBnbG9iYWwgZ2VuZXJhdG9yLiBVc2UgdGhhdCBvbmUKCjIwMDYtMTAtMzEgMDY6NDMgIGFuZHkKCgkqIFNvdXJjZS9jbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuY3h4OiBTVFlMRTogRml4IGt3c3R5bGUKCjIwMDYtMTAtMzAgMTU6NTkgIGFuZHkKCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21ha2UuY3h4LCBjbWFrZS5oOiBFTkg6IEFkZCBzdXBwb3J0IGZvciBkaXNwbGF5aW5nIHRoZSBsaXN0IG9mCgkgIGNvbXBvbmVudHMKCjIwMDYtMTAtMzAgMTU6MzAgIGtpbmcKCgkqIE1vZHVsZXMvRmluZFN1YnZlcnNpb24uY21ha2U6IEVOSDogQWRkaW5nIEZpbmRTdWJ2ZXJzaW9uIG1vZHVsZQoJICBmcm9tIFRyaXN0YW4gQ2FyZWwuICBUaGlzIGFkZHJlc3NlcyBidWcjMzk4Ny4KCjIwMDYtMTAtMzAgMTE6MzYgIGhvZmZtYW4KCgkqIFNvdXJjZS9DUGFjay86IGNtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmN4eCwKCSAgY21DUGFja1BhY2thZ2VNYWtlckdlbmVyYXRvci5jeHgsIGNtQ1BhY2tUR1pHZW5lcmF0b3IuY3h4LAoJICBjbUNQYWNrVGFyQlppcDJHZW5lcmF0b3IuY3h4LCBjbUNQYWNrVGFyQ29tcHJlc3NHZW5lcmF0b3IuY3h4OgoJICBFTkg6IG1lcmdlIGZpeCBmb3IgY3BhY2sgY3Jhc2ggaW50byBtYWluIHRyZWUKCjIwMDYtMTAtMzAgMTE6MjIgIGhvZmZtYW4KCgkqIFNvdXJjZS9DUGFjay86IGNtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmN4eCwKCSAgY21DUGFja1BhY2thZ2VNYWtlckdlbmVyYXRvci5jeHgsIGNtQ1BhY2tUR1pHZW5lcmF0b3IuY3h4LAoJICBjbUNQYWNrVGFyQlppcDJHZW5lcmF0b3IuY3h4LCBjbUNQYWNrVGFyQ29tcHJlc3NHZW5lcmF0b3IuY3h4OgoJICBFTkg6IG1ha2Ugc3VyZSBudWxsIGNvbnN0IGNoYXIqIGlzIG5vdCBwdXQgaW50byBvc3N0dHJpbmdzdHJlYW0KCSAgdG8gYXZvaWQgc2VnIGZhdWx0cwoKMjAwNi0xMC0zMCAxMDozOCAga2luZwoKCSogVGVzdHMvOiBDb21wbGV4L0NNYWtlTGlzdHMudHh0LCBDb21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dDogRU5IOiBBZGRlZCB0ZXN0IGNhc2UgZm9yCgkgIGJ1ZyMzOTY2LgoKMjAwNi0xMC0zMCAwOTo1NCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTEwLTMwIDA5OjE3ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRKTkkuY21ha2U6IEVOSDogbW92ZSBmcm9tIG1haW4gdHJlZQoKMjAwNi0xMC0yNyAxNzozMCAgYW5keQoKCSogTW9kdWxlcy9GaW5kSk5JLmNtYWtlOiBFTkg6IE1vcmUgZG9jdW1lbnRhdGlvbgoKMjAwNi0xMC0yNyAxNzoyOSAgYW5keQoKCSogTW9kdWxlcy9GaW5kSk5JLmNtYWtlOiBFTkg6IEFkZCBzdXBwb3J0IGZvciBsaWJqdm0KCjIwMDYtMTAtMjcgMTY6MDMgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9jbVRoaXJkUGFydHkuaC5pbiwgVXRpbGl0aWVzL2NtX2N1cmwuaCwKCSAgVXRpbGl0aWVzL2NtX2V4cGF0LmgsIFV0aWxpdGllcy9jbV94bWxycGMuaCwgVXRpbGl0aWVzL2NtX3psaWIuaCwKCSAgTW9kdWxlcy9DTWFrZURlcGVuZGVudE9wdGlvbi5jbWFrZSwgTW9kdWxlcy9GaW5kQ1VSTC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kRVhQQVQuY21ha2UsIE1vZHVsZXMvRmluZFhNTFJQQy5jbWFrZSwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbC9QYWNrYWdlU2NyaXB0LmNtYWtlLAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvUGFja2FnZVNjcmlwdC5jbWFrZTogRU5IOiBtb3ZlIGZyb20gbWFpbgoJICB0cmVlCgoyMDA2LTEwLTI3IDE2OjAxICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ1Rlc3RDdXN0b20uY3Rlc3QuaW4sIENoYW5nZUxvZy5tYW51YWwsCgkgIGJvb3RzdHJhcCwgZG94eWdlbi5jb25maWcsIE1vZHVsZXMvQ01ha2VHZW5lcmljU3lzdGVtLmNtYWtlLAoJICBNb2R1bGVzL0NQYWNrLmNtYWtlLCBNb2R1bGVzL0NUZXN0VGFyZ2V0cy5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kRG94eWdlbi5jbWFrZSwgTW9kdWxlcy9GaW5kSk5JLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRKYXZhLmNtYWtlLCBNb2R1bGVzL0ZpbmRLREUzLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRQZXJsLmNtYWtlLCBNb2R1bGVzL0ZpbmRRdDQuY21ha2UsCgkgIE1vZHVsZXMvRmluZFRjbHNoLmNtYWtlLCBNb2R1bGVzL0ZpbmRXaXNoLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmR3eFdpZGdldHMuY21ha2UsIE1vZHVsZXMvTlNJUy50ZW1wbGF0ZS5pbiwKCSAgTW9kdWxlcy9Vc2V3eFdpZGdldHMuY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vQ1lHV0lOLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1nY2MuY21ha2UsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL2NtQ1Rlc3QuY3h4LCBTb3VyY2UvY21DVGVzdC5oLCBTb3VyY2UvY21Eb2N1bWVudGF0aW9uLmN4eCwKCSAgU291cmNlL2NtRXhlY3V0ZVByb2Nlc3NDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtRXhlY3V0ZVByb2Nlc3NDb21tYW5kLmgsIFNvdXJjZS9jbUZpbmRCYXNlLmN4eCwKCSAgU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmN4eCwgU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUdlbmVyYXRlZEZpbGVTdHJlYW0uY3h4LAoJICBTb3VyY2UvY21HZXREaXJlY3RvcnlQcm9wZXJ0eUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxNaW5HV01ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsV2F0Y29tV01ha2VHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbUlmQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUlmQ29tbWFuZC5oLCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW9HZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21TZXRUYXJnZXRQcm9wZXJ0aWVzQ29tbWFuZC5oLCBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHgsCgkgIFNvdXJjZS9jbVRhcmdldC5jeHgsIFNvdXJjZS9jbVRhcmdldC5oLCBTb3VyY2UvY21YTUxQYXJzZXIuY3h4LAoJICBTb3VyY2UvY21ha2UuY3h4LCBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuaCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tOU0lTR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tUR1pHZW5lcmF0b3IuY3h4LCBTb3VyY2UvQ1BhY2svY3BhY2suY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RNZW1DaGVja0hhbmRsZXIuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFNjcmlwdEhhbmRsZXIuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFNjcmlwdEhhbmRsZXIuaCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXRIYW5kbGVyLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuaCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eCwKCSAgU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0LCBTb3VyY2Uva3dzeXMvU3lzdGVtLmMsCgkgIFNvdXJjZS9rd3N5cy9TeXN0ZW0uaC5pbiwgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eCwKCSAgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eC5iYWssCgkgIFNvdXJjZS9rd3N5cy9rd3N5c1BsYXRmb3JtQ3h4VGVzdHMuY21ha2UsCgkgIFNvdXJjZS9rd3N5cy9rd3N5c1BsYXRmb3JtQ3h4VGVzdHMuY3h4LAoJICBUZW1wbGF0ZXMvRExMSGVhZGVyLmRzcHRlbXBsYXRlLCBUZW1wbGF0ZXMvRVhFSGVhZGVyLmRzcHRlbXBsYXRlLAoJICBUZXN0cy9DVGVzdFRlc3QyL3Rlc3QuY21ha2UuaW4sIFRlc3RzL0NUZXN0VGVzdDMvdGVzdC5jbWFrZS5pbiwKCSAgVGVzdHMvQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvQ29tcGxleC9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0N1c3RvbUNvbW1hbmQvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL01hY3JvVGVzdC9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvT3V0T2ZTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU3RyaW5nRmlsZVRlc3QvQ01ha2VMaXN0cy50eHQsCgkgIFV0aWxpdGllcy9jbXRhci9DTWFrZUxpc3RzLnR4dCwgVXRpbGl0aWVzL2NtdGFyL2NvbmZpZy5oLmluLAoJICBVdGlsaXRpZXMvY210YXIvbGlidGFyLmM6IEVOSDogbW92ZSBjaGFuZ2VzIGZyb20gbWFpbiB0cmVlCgoyMDA2LTEwLTI3IDE1OjU5ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRKTkkuY21ha2U6IEVOSDogcmVtb3ZlIEphdmFFbWJlZGRpbmcKCjIwMDYtMTAtMjcgMTU6NTUgIGhvZmZtYW4KCgkqIENUZXN0Q3VzdG9tLmN0ZXN0LmluOiBFTkg6IGZpeCB3YXJuaW5ncyBvbiB3aW5kb3dzIHBhdGhzCgoyMDA2LTEwLTI2IDExOjM5ICBraW5nCgoJKiBTb3VyY2UvOiBjbUZpbmRQYWNrYWdlQ29tbWFuZC5jeHgsIGNtRmluZFBhY2thZ2VDb21tYW5kLmg6IEVOSDoKCSAgQWRkZWQgTk9fTU9EVUxFIGFuZCBDT01QT05FTlRTIG9wdGlvbnMgdG8gaW1wcm92ZSBmbGV4aWJpbGl0eSBvZgoJICB0aGUgY29tbWFuZC4JUmUtaW1wbGVtZW50ZWQgYXJndW1lbnQgcGFyc2luZyB0byBiZSBzaW1wbGVyIGFuZAoJICBtb3JlIHJvYnVzdC4KCjIwMDYtMTAtMjYgMTE6MDEgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0VXBkYXRlSGFuZGxlci5jeHg6IFNUWUxFOiBGaXggdHlwbwoKMjAwNi0xMC0yNiAxMDo0OSAga2luZwoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBXaGVuIHdyaXRpbmcKCSAgbmV3bGluZXMgYmV0d2VlbiBzY3JpcHQgcG9ydGlvbnMgaW4gcHJlYnVpbGQsIHByZWxpbmssIGFuZAoJICBwb3N0YnVpbGQgY29tbWFuZCBsaW5lcyB0aGV5IG11c3QgYmUgZXNjYXBlZCBmb3IgWE1MIHNvIHRoYXQgdGhlCgkgIElERSByZWNlaXZlcyB0aGVtLiAgVGhpcyBmaXhlcyB0aGUgZml4IGZvciBidWcgIzM5NzcuCgoyMDA2LTEwLTI1IDE0OjAzICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4OiBDT01QOiBSZW1vdmUgdW51c2VkCgkgIHZhcmlhYmxlLgoKMjAwNi0xMC0yNSAxMjo0OSAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogQWRqdXN0CgkgIHByZWJ1aWxkL3ByZWxpbmsvcG9zdGJ1aWxkIHNjcmlwdCBjb25zdHJ1Y3Rpb24gdG8gYWNjb3VudCBmb3IKCSAgQ29uc3RydWN0U2NyaXB0IG5vIGxvbmdlciBwcm9kdWNpbmcgdHJhaWxpbmcgbmV3bGluZXMuICBUaGlzCgkgIGFkZHJlc3NlcyBidWcjMzk3Ny4KCjIwMDYtMTAtMjUgMTI6MjcgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvR2VuZXJhdG9yLmN4eDogQlVHOiBBdm9pZCBsZWFkaW5nIGFuZAoJICB0cmFpbGluZyBuZXdsaW5lcyBpbiBjdXN0b20gY29tbWFuZCBzY3JpcHRzIGJlY2F1c2Ugc29tZSBWUzYKCSAgdmVyc2lvbnMgZG8gbm90IGxpa2UgdGhlIHRyYWlsaW5nIGJhY2tzbGFzaCB0aGlzIHByb2R1Y2VzLiAgVGhpcwoJICBhZGRyZXNzZXMgYnVnIzM5NzcuCgoyMDA2LTEwLTI1IDExOjIzICBraW5nCgoJKiBUZXN0cy9DdXN0b21Db21tYW5kL0NNYWtlTGlzdHMudHh0OiBFTkg6IFJlLWVuYWJsaW5nICMgZXNjYXBlCgkgIHRlc3Qgbm93IHRoYXQgaXQgaXMgaW1wbGVtZW50ZWQgZXZlcnl3aGVyZS4KCjIwMDYtMTAtMjUgMTE6MjMgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsV2F0Y29tV01ha2VHZW5lcmF0b3IuY3h4LCBjbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbEdlbmVyYXRvci5oLCBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLAoJICBrd3N5cy9TeXN0ZW0uYywga3dzeXMvU3lzdGVtLmguaW46IEVOSDogQWRkaW5nIHN1cHBvcnQgZm9yICMKCSAgZXNjYXBlIGluIFdhdGNvbSBXTWFrZS4KCjIwMDYtMTAtMjUgMTA6NTggIGtpbmcKCgkqIFRlc3RzL01hY3JvVGVzdC9DTWFrZUxpc3RzLnR4dDogQlVHOiBFUVVBTCAtPiBTVFJFUVVBTCBmb3Igc3RyaW5nCgkgIGNvbXBhcmlzb24uCgoyMDA2LTEwLTI1IDEwOjU3ICBraW5nCgoJKiBTb3VyY2UvY21JZkNvbW1hbmQuY3h4OiBCVUc6IEl0IGNhbm5vdCBiZSBhbiBlcnJvciBpZiB0aGUgdmFsdWVzCgkgIGRvIG5vdCBjb252ZXJ0LiAgVGhlIGRvY3Mgc2F5IHRoYXQgaWYgdGhlIHZhbHVlcyBkbyBub3QgY29udmVydAoJICB0aGUgdGVzdCBpcyBmYWxzZS4KCjIwMDYtMTAtMjUgMTA6MzEgIGtpbmcKCgkqIFNvdXJjZS9jbUlmQ29tbWFuZC5jeHg6IEJVRzogRm9yIExFU1MsIEdSRUFURVIsIGFuZCBFUVVBTCBjaGVjawoJICB0aGF0IHRoZSBhcmd1bWVudHMgY2FuIGFjdHVhbGx5IGJlIGNvbnZlcnRlZCB0byBudW1iZXJzLiAgQWxzbwoJICBmb3JjZSB0aGUgY29udmVyc2lvbiByZXN1bHRzIHRvIGJlIHN0b3JlZCBpbiBtZW1vcnkgdG8gbWFrZSBzdXJlCgkgIHRoZXkgYm90aCB1c2UgdGhlIHNhbWUgcHJlY2lzaW9uLiAgVGhpcyBhZGRyZXNzZXMgYnVnIzM5NjYuCgoyMDA2LTEwLTI1IDA5OjU0ICBhbmR5CgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IENPTVA6IFJlbW92ZSB1bm5lY2Vzc2FyeSBwcm92b2NhdGlvbgoKMjAwNi0xMC0yNSAwOTo1NCAgYW5keQoKCSogVGVzdHMvQ1Rlc3RUZXN0My90ZXN0LmNtYWtlLmluOiBCVUc6IEF0dGVtcHQgdG8gZml4IHRoZSB0ZXN0CgoyMDA2LTEwLTI1IDA4OjU2ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdENvdmVyYWdlSGFuZGxlci5jeHg6IFNUWUxFOiBGaXggbGluZSBsZW5ndGgKCjIwMDYtMTAtMjQgMTc6NTYgIGFsZXgKCgkqIE1vZHVsZXMvRmluZFBlcmwuY21ha2U6IEJVRzogaG9ub3IgdGhlIFJFUVVJUkVEIGZsYWcgZm9yIFBlcmwsCgkgIHBsZWFzZSBiYWNrcG9ydCB0byAyLjQgYnJhbmNoIHNvIHRoYXQgaXQgd2lsbCBiZSBpbiAyLjQuNAoKCSAgQWxleAoKMjAwNi0xMC0yNCAxMjo0NCAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4OiBCVUc6IExvb2tzIGxpa2UgZ2NvdgoJICBwcm9kdWNlcyBsaW5lcyB3aXRoIHN0cmluZyAvKkVPRiovIG9uIHRoZW0gaWYgdGhlcmUgaXMgbm8gbGluZSBhdAoJICB0aGUgZW5kIG9mIHRoZSBmaWxlLiBUaGlzIHdpbGwgZml4IHRoZSBjb3ZlcmFnZSBjb2RlIGNvbXBsYWluaW5nCgkgIGFib3V0IGl0CgoyMDA2LTEwLTI0IDExOjA2ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogcmVtb3ZlIGZhaWxpbmcgdGVzdAoKMjAwNi0xMC0yNCAxMDowMyAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kRG94eWdlbi5jbWFrZTogRU5IOiBmaXggbW9yZSBkb3h5Z2VuIGlzc3VlcwoKMjAwNi0xMC0yNCAxMDowMyAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kSk5JLmNtYWtlOiBFTkg6IHJlbW92ZSBKYXZhRW1iZWRkaW5nIGZyYW1ld29yawoKMjAwNi0xMC0yNCAwOTo0NyAga2luZwoKCSogVGVzdHMvQ3VzdG9tQ29tbWFuZC9DTWFrZUxpc3RzLnR4dDogQlVHOiBEaXNhYmxlIHRlc3Rpbmcgb2YgIwoJICBlc2NhcGVzIHVudGlsIGl0IGNhbiBiZSBpbXBsZW1lbnRlZCBmb3IgV2F0Y29tIFdNYWtlLgoKMjAwNi0xMC0yMyAxOTowNCAgYWxleAoKCSogTW9kdWxlcy9GaW5kS0RFMy5jbWFrZTogQlVHOiBmaXggIzM5NTU6IGFkZCAtTzIgYnkgZGVmYXVsdCBidXQKCSAgb25seSBpZiBubyBzcGVjaWFsIGJ1aWxkdHlwZSBpcyBzZXQKCgkgIEFsZXgKCjIwMDYtMTAtMjMgMTc6MjAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW0uYywgVGVzdHMvQ3VzdG9tQ29tbWFuZC9DTWFrZUxpc3RzLnR4dDogRU5IOgoJICBBZGRlZCAjIGNoYXJhY3RlciBmb3Igc2hlbGwgZXNjYXBpbmcuCgoyMDA2LTEwLTIzIDE3OjE0ICBraW5nCgoJKiBTb3VyY2UvY21JZkNvbW1hbmQuY3h4LCBTb3VyY2UvY21JZkNvbW1hbmQuaCwKCSAgVGVzdHMvU3RyaW5nRmlsZVRlc3QvQ01ha2VMaXN0cy50eHQ6IEVOSDogUmVtb3ZlIG9sZAoJICBJRihGSUxFX0lTX05FV0VSKSBzeW50YXguICBJdCB3YXMgbmV2ZXIgaW4gYSByZWxlYXNlIGFueXdheS4KCjIwMDYtMTAtMjMgMTY6MTYgIGtpbmcKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEJVRzogRG8gbm90IGRpc3BsYXkgY21ha2UgLUUgdXNhZ2Ugd2hlbiBhbnkgb2xkCgkgIGNvbW1hbmQgbGluZSBlcnJvciBvY2N1cnMuCgoyMDA2LTEwLTIzIDE0OjUxICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmREb3h5Z2VuLmNtYWtlOiBFTkg6IHB1dCBpbiBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQoJICBmb3Igb2xkZXIgY21ha2UKCjIwMDYtMTAtMjMgMTM6MzYgIGtpbmcKCgkqIFRlc3RzL1N0cmluZ0ZpbGVUZXN0L0NNYWtlTGlzdHMudHh0LCBTb3VyY2UvY21JZkNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21JZkNvbW1hbmQuaDogRU5IOiBQYXRjaCBmcm9tIEFsZXggdG8gcHJvdmlkZSBuaWNlcgoJICBzeW50YXggZm9yIEZJTEVfSVNfTkVXRVIuICBVc2luZyBuYW1lIElTX05FV0VSX1RIQU4gc28gb2xkIHN5bnRheAoJICB3aWxsIGNvbnRpbnVlIHRvIHdvcmsuCgoyMDA2LTEwLTIyIDE5OjIxICBob2ZmbWFuCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogcmVtb3ZlIGJyb2tlbiB0ZXN0CgoyMDA2LTEwLTIyIDExOjU3ICBraW5nCgoJKiBUZXN0cy86IENvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4OiBDT01QOiBGaXhlZCB0eXBvOgoJICBDTUFLRV9URVNUX0NNQUtFTElCIC0+IENPTVBMRVhfVEVTVF9DTUFLRUxJQi4KCjIwMDYtMTAtMTkgMTU6NDUgIGtpbmcKCgkqIFV0aWxpdGllcy9jbXRhci9DTWFrZUxpc3RzLnR4dDogRU5IOiBSZW1vdmUgb2xkIGluY2x1ZGUgZGlycy4KCjIwMDYtMTAtMTkgMTU6MTcgIGtpbmcKCgkqIGJvb3RzdHJhcDogRU5IOiBBZGRpbmcgb3B0aW9uIHRvIHVzZSBzeXN0ZW0taW5zdGFsbGVkIHRoaXJkLXBhcnR5CgkgIGxpYnJhcmllcy4gIFRoaXMgYWRkcmVzc2VzIGJ1ZyMzNjUzLgoKMjAwNi0xMC0xOSAxNTowMCAga2luZwoKCSogQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgU291cmNlL2NtQ1Rlc3QuY3h4LAoJICBTb3VyY2UvY21HZW5lcmF0ZWRGaWxlU3RyZWFtLmN4eCwgU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4LAoJICBTb3VyY2UvY21YTUxQYXJzZXIuY3h4LCBTb3VyY2UvQ1BhY2svY21DUGFja1RHWkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3VibWl0SGFuZGxlci5jeHgsCgkgIFV0aWxpdGllcy9jbVRoaXJkUGFydHkuaC5pbiwgVXRpbGl0aWVzL2NtX2N1cmwuaCwKCSAgVXRpbGl0aWVzL2NtX2V4cGF0LmgsIFV0aWxpdGllcy9jbV94bWxycGMuaCwgVXRpbGl0aWVzL2NtX3psaWIuaCwKCSAgVXRpbGl0aWVzL2NtdGFyL0NNYWtlTGlzdHMudHh0LCBVdGlsaXRpZXMvY210YXIvY29uZmlnLmguaW4sCgkgIFV0aWxpdGllcy9jbXRhci9saWJ0YXIuYzogRU5IOiBBZGQgb3B0aW9ucyB0byBidWlsZCB3aXRoIHN5c3RlbQoJICB1dGlsaXR5IGxpYnJhcmllcy4gIE9yZ2FuaXplIGluY2x1c2lvbiBvZiB0aGlyZCBwYXJ0eSBsaWJyYXJpZXMKCSAgaW50byBhIHNpbmdsZSBoZWFkZXIgcGVyIGxpYnJhcnkuICBUaGlzIGFkZHJlc3NlcyBidWcjMzY1My4KCjIwMDYtMTAtMTkgMTQ6NDggIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VEZXBlbmRlbnRPcHRpb24uY21ha2U6IEVOSDogQWRkaW5nCgkgIENNQUtFX0RFUEVOREVOVF9PUFRJT04gbWFjcm8uCgoyMDA2LTEwLTE5IDE0OjQ1ICBraW5nCgoJKiBUZXN0cy86IENvbXBsZXgvQ01ha2VMaXN0cy50eHQsIENvbXBsZXgvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIENvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4OiBFTkg6IEFkZGVkIGV4cGxpY2l0CgkgIG5hbWUgZm9yIG9wdGlvbiB0byB0ZXN0IENNYWtlTGliLiAgQWRkZWQgb3B0aW9uIHRvIGRpc2FibGUKCSAgdGVzdGluZyBvZiBDTWFrZUxpYiBpZiBzeXN0ZW0gdXRpbGl0eSBsaWJyYXJpZXMgYXJlIHVzZWQgdW50aWwKCSAgbGlua2luZyBtYWRlIGVhc2llci4KCjIwMDYtMTAtMTkgMTI6NTggIGtpbmcKCgkqIE1vZHVsZXMvRmluZFhNTFJQQy5jbWFrZTogRU5IOiBGaW5kIG1vZHVsZSBmb3IgWE1MUlBDIGxpYnJhcmllcy4KCjIwMDYtMTAtMTkgMTI6NTcgIGtpbmcKCgkqIE1vZHVsZXMvRmluZEVYUEFULmNtYWtlOiBFTkg6IEZpbmQgbW9kdWxlIGZvciBFWFBBVCBsaWJyYXJ5LgoKMjAwNi0xMC0xOSAxMjo1NSAga2luZwoKCSogTW9kdWxlcy9GaW5kQ1VSTC5jbWFrZTogRU5IOiBGaW5kIG1vZHVsZSBmb3IgQ1VSTCBsaWJyYXJ5LgoKMjAwNi0xMC0xOSAxMDo0NSAgbWFydGluawoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaCwgQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4LCBDVGVzdC9jbUNUZXN0U2NyaXB0SGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmgsIENUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHg6IEVOSDoKCSAgYWRkZWQgdG90YWwgdGltZSBsaW1pdCBmb3IgYSBDVGVzdCBydW4gYnVnIDEyMDcKCjIwMDYtMTAtMTkgMTA6MDcgIGtpbmcKCgkqIE1vZHVsZXMvOiBGaW5kd3hXaWRnZXRzLmNtYWtlLCBVc2V3eFdpZGdldHMuY21ha2U6IEVOSDogUGF0Y2gKCSAgZnJvbSBKYW4gZm9yIGJ1ZyMzNDUzLiAgQ2xlYW5zIHVwIGZpbmQgc2NyaXB0IGFuZCBlbmFibGVzCgkgIC1pc3lzdGVtIGZlYXR1cmUgZm9yIHVzZSBzY3JpcHQuCgoyMDA2LTEwLTE5IDA5OjE4ICBraW5nCgoJKiBTb3VyY2UvY21GaW5kQmFzZS5jeHg6IEVOSDogQ2xhcmlmaWVkIHNlYXJjaCBiZWhhdmlvciB3aGVuIHRoZQoJICBvYmplY3RpdmUgaXMgbm90IGZvdW5kLgoKMjAwNi0xMC0xOCAyMzoyNyAgZGF2aWQuY29sZQoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQlVHOiBDb3JyZWN0IHRoZQoJICBTeXN0ZW1SZXBvcnREZWJ1Z0hvb2sgZnVuY3Rpb24uIEl0IHNob3VsZCBub3QgY2FsbCBleGl0LiBJdCBnZXRzCgkgIGNhbGxlZCBtdWx0aXBsZSB0aW1lcyBhdCBzaHV0ZG93biBpbiBhIG1lbW9yeSBsZWFrIHJlcG9ydGluZwoJICBzY2VuYXJpby4uLiBUaGlzIGlzIHRoZSBzb3VyY2Ugb2YgdGhlIGxvbmcgc3RhbmRpbmcgS1dXaWRnZXRzVG91cgoJICBkZWJ1ZyBidWlsZCBkYXNoYm9hcmQgZmFpbHVyZS4KCjIwMDYtMTAtMTcgMDk6MzQgIGtpbmcKCgkqIFNvdXJjZS9DUGFjay9jcGFjay5jeHg6IFNUWUxFOiBGaXhlZCBsaW5lLXRvby1sb25nLgoKMjAwNi0xMC0xNiAxODoxNyAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9DWUdXSU4uY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWdjYy5jbWFrZSwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTWFrZWZpbGVFeGVjdXRhYmxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtU2V0VGFyZ2V0UHJvcGVydGllc0NvbW1hbmQuaCwgU291cmNlL2NtVGFyZ2V0LmN4eCwKCSAgU291cmNlL2NtVGFyZ2V0LmgsIFRlbXBsYXRlcy9ETExIZWFkZXIuZHNwdGVtcGxhdGUsCgkgIFRlbXBsYXRlcy9FWEVIZWFkZXIuZHNwdGVtcGxhdGU6IEVOSDogQWRkaW5nIGltYWdlIHZlcnNpb24gbnVtYmVyCgkgIChtYWpvci5taW5vcikgcHJvcGVydHkgdG8gd2luZG93cyBiaW5hcmllcy4gIERlZmF1bHQgaXMgMC4wLCBidXQKCSAgdGhlIFZFUlNJT04gdGFyZ2V0IHByb3BlcnR5IG1heSBjaGFuZ2UgdGhlIHZhbHVlLiAgV2luZG93cyBub3cKCSAgaGFzIGZpcnN0LWNsYXNzIHN1cHBvcnQgZm9yIGRsbCBhbmQgZXhlIHZlcnNpb25pbmcuICBUaGlzCgkgIGFkZHJlc3NlcyBidWcjMTIxOS4KCjIwMDYtMTAtMTYgMTU6MTggIGtpbmcKCgkqIFNvdXJjZS9jbUdldERpcmVjdG9yeVByb3BlcnR5Q29tbWFuZC5jeHgsCgkgIFRlc3RzL091dE9mU291cmNlL0NNYWtlTGlzdHMudHh0OiBCVUc6IE5lZWQgdG8gY29sbGFwc2UgcGF0aAoJICBhcmd1bWVudCB0byBnZXRfZGlyZWN0b3J5X3Byb3BlcnR5LiAgVGhpcyBhZGRyZXNzZXMgYnVnIzM4NDcuCgoyMDA2LTEwLTE2IDE0OjUyICBraW5nCgoJKiBTb3VyY2UvY21Eb2N1bWVudGF0aW9uLmN4eDogRU5IOiBNYWtlIGh5cGVybGlua3MgaW4gZG9jdW1lbnRhdGlvbgoJICBhY3RpdmUgd2hlbiBnZW5lcmF0ZWQgaW50byBIVE1MIGRvY3VtZW50cy4gIFRoaXMgYWRkcmVzc2VzCgkgIGJ1ZyMzOTA2LgoKMjAwNi0xMC0xNiAxMzo1OCAga2luZwoKCSogTW9kdWxlcy9DTWFrZUdlbmVyaWNTeXN0ZW0uY21ha2U6IEVOSDogQWxsb3cgdXNlciBwcm9qZWN0IGNvZGUgdG8KCSAgZGlzdGluZ3Vpc2ggYmV0d2VlbiBhbiBpbnN0YWxsIHByZWZpeCBzZXQgb24gdGhlIGNvbW1hbmQgbGluZSBhbmQKCSAgb25lIHNldCBieSBDTWFrZSBhcyBhIGRlZmF1bHQuICBUaGlzIGlzIHVzZWZ1bCBmb3IgY2hhbmdpbmcgdGhlCgkgIGRlZmF1bHQgcHJlZml4IHdoaWxlIHN0aWxsIGFsbG93aW5nIHRoZSB1c2VyIHRvIG92ZXJyaWRlIGl0LgoKMjAwNi0xMC0xNiAxMjo0OSAgbWFydGluawoKCSogU291cmNlL2NtYWtlLmN4eDogQlVHOiBwYXJ0aWFsIGZpeCBmb3IgdGhlIHByb2dyZXNzIGFmdGVyIGluc3RhbGwKCSAgYnVnCgoyMDA2LTEwLTE2IDEyOjQ3ICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS86IGNyZWF0ZS1jbWFrZS1yZWxlYXNlLmNtYWtlLAoJICBtYWdyYXRoZWFfcmVsZWFzZS5jbWFrZSwgcjM2bjExX2FpeF9yZWxlYXNlLmNtYWtlLAoJICByZWxlYXNlX2NtYWtlLnNoLmluLCB1cGxvYWRfcmVsZWFzZS5jbWFrZTogRU5IOiB1cGRhdGUgZm9yCgkgIHJlbGVhc2UKCjIwMDYtMTAtMTYgMTE6MzIgIGtpbmcKCgkqIFNvdXJjZS86IGNtRXhlY3V0ZVByb2Nlc3NDb21tYW5kLmN4eCwgY21FeGVjdXRlUHJvY2Vzc0NvbW1hbmQuaDoKCSAgRU5IOiBBZGRlZCBPVVRQVVRfU1RSSVBfVFJBSUxJTkdfV0hJVEVTUEFDRSBhbmQKCSAgRVJST1JfU1RSSVBfVFJBSUxJTkdfV0hJVEVTUEFDRSBvcHRpb25zIHRvIEVYRUNVVEVfUFJPQ0VTUwoJICBjb21tYW5kLiAgVGhlc2UgYWxsb3cgaXQgdG8gYmVoYXZlIG1vcmUgbGlrZSB0aGUgb2xkIEVYRUNfUFJPR1JBTQoJICBjb21tYW5kIHRoYXQgaXQgaXMgc3VwcG9zZWQgdG8gcmVwbGFjZS4KCjIwMDYtMTAtMTYgMTA6NDcgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZERveHlnZW4uY21ha2U6IEJVRzogZml4IGZvciBidWcjIDMzMTAKCjIwMDYtMTAtMTUgMDc6NTQgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBDUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4OiBTVFlMRTogRml4IGt3c3R5bGUKCjIwMDYtMTAtMTMgMTc6MTAgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eCwgU291cmNlL2NtQ1Rlc3QuaCwKCSAgVGVzdHMvQ1Rlc3RUZXN0Mi90ZXN0LmNtYWtlLmluOiBFTkg6IFByb3Blcmx5IHByb3BhZ2F0ZSBjb25maWcKCSAgdHlwZSB0byB0ZXN0CgoyMDA2LTEwLTEzIDE2OjEzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeCBmb3IgYnVnIzM5MDgKCSAgaWYgaGVhZGVyX2ZpbGVfb25seSBpcyBzZXQgb24gY3h4IGZpbGVzIGluIHZpc3VhbCBzdHVkaW8gZG8gbm90CgkgIGNvbXBpbGUgdGhlbQoKMjAwNi0xMC0xMyAxNTowNCAga2luZwoKCSogTW9kdWxlcy9OU0lTLnRlbXBsYXRlLmluOiBCVUc6IENvbXByZXNzaW9uIG11c3QgYmUgc2V0IGJlZm9yZSBhbnkKCSAgb3V0cHV0IGlzIGNyZWF0ZWQuCgoyMDA2LTEwLTEzIDE0OjQ0ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmg6IENPTVA6IEZpeCBTdW4gYnVpbGQKCjIwMDYtMTAtMTMgMTM6NTkgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHg6IEJVRzogV2hlbiB1c2luZyBsaW5rCgkgIHNjcmlwdHMgdXNlIG5hdGl2ZSBzaGVsbCBlc2NhcGVzIGluc3RlYWQgb2YgbWFrZWZpbGUgc2hlbGwKCSAgZXNjYXBlcyBiZWNhdXNlIHRoZSBzY3JpcHQgaXMgbm90IGludGVycHJldGVkIGJ5IGEgbWFrZSB0b29sLgoKMjAwNi0xMC0xMyAxMTo1MyAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBFTkg6IGFsbG93IGZvciAtZ2R3YXJmLTIgdG8gYmUKCSAgaW4gY2ZsYWdzIG9yIGN4eGZsYWdzIGZvciB4Y29kZQoKMjAwNi0xMC0xMyAxMToyNiAgaG9mZm1hbgoKCSogZG94eWdlbi5jb25maWc6IEJVRzogZml4IGZvciBidWcjIDM5MjEgSU5QVVQgd3JvbmcKCjIwMDYtMTAtMTMgMTE6MjUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBGaW5kVGNsc2guY21ha2UsIEZpbmRXaXNoLmNtYWtlOiBCVUc6IGZpeCBmb3IgYnVnICMzODQ2CgkgIG1vcmUgYWR2YW5jZWQgc3R1ZmYKCjIwMDYtMTAtMTMgMTE6MjMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogQlVHOiBmaXggZm9yIGJ1ZyMzODk4IGZpbmQgcXQgcGx1Z2luIGRpcgoKMjAwNi0xMC0xMyAxMDo1NyAgaG9mZm1hbgoKCSogQ01ha2UucGRmLCBDTWFrZS5ydGYsIERvY3MvQ01ha2UxMnAyLnJ0ZiwgRG9jcy9DTWFrZTE0LnJ0ZiwKCSAgRG9jcy9DTWFrZTE2LnJ0ZiwgTW9kdWxlcy9DTWFrZVZDTWFuaWZlc3QuY21ha2UsCgkgIE1vZHVsZXMvQ09QWUlORy1DTUFLRS1TQ1JJUFRTLCBNb2R1bGVzL0NoZWNrQ0NvbXBpbGVyRmxhZy5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja0NTb3VyY2VSdW5zLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrQ1hYQ29tcGlsZXJGbGFnLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrQ1hYU291cmNlUnVucy5jbWFrZSwgTW9kdWxlcy9GaW5kQVNQRUxMLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRCWmlwMi5jbWFrZSwgTW9kdWxlcy9GaW5kSFNQRUxMLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRKYXNwZXIuY21ha2UsIE1vZHVsZXMvRmluZExpYlhtbDIuY21ha2UsCgkgIE1vZHVsZXMvRmluZExpYlhzbHQuY21ha2UsIE1vZHVsZXMvRmluZE9wZW5TU0wuY21ha2UsCgkgIFNvdXJjZS9jbUVsc2VJZkNvbW1hbmQuY3h4LCBTb3VyY2UvY21FbHNlSWZDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUVuZE1hY3JvQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUVuZE1hY3JvQ29tbWFuZC5oLAoJICBTb3VyY2UvY21JbnN0YWxsRGlyZWN0b3J5R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbERpcmVjdG9yeUdlbmVyYXRvci5oLCBTb3VyY2UvY21TdGFuZGFyZExleGVyLmgsCgkgIFNvdXJjZS9rd3N5cy9DTWFrZUVtcHR5SW5wdXRGaWxlLmluLAoJICBTb3VyY2Uva3dzeXMvQ2hlY2tDWFhTb3VyY2VSdW5zLmNtYWtlLCBTb3VyY2Uva3dzeXMvSU9TdHJlYW0uY3h4LAoJICBTb3VyY2Uva3dzeXMvSU9TdHJlYW0uaHh4LmluLCBTb3VyY2Uva3dzeXMvU3lzdGVtLmMsCgkgIFNvdXJjZS9rd3N5cy9TeXN0ZW0uaC5pbiwgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eC5iYWssCgkgIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5oeHguaW4uYmFrLAoJICBTb3VyY2Uva3dzeXMva3dzeXNQbGF0Zm9ybUN4eFRlc3RzLmNtYWtlLmJhaywKCSAgU291cmNlL2t3c3lzL2t3c3lzUGxhdGZvcm1DeHhUZXN0cy5jeHguYmFrLAoJICBTb3VyY2Uva3dzeXMva3dzeXNQbGF0Zm9ybVRlc3RzLmNtYWtlLAoJICBTb3VyY2Uva3dzeXMva3dzeXNQbGF0Zm9ybVRlc3RzQy5jLAoJICBTb3VyY2Uva3dzeXMva3dzeXNQbGF0Zm9ybVRlc3RzQ1hYLmN4eCwKCSAgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL0EuY3h4LmJhaywgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL0EuaCwKCSAgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL0EuaGgsIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9BLnR4dCwKCSAgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL25vdEluQWxsRXhlLmN4eCwKCSAgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL3Rlc3RTeXN0ZW1EaXIuY3h4LAoJICBUZXN0cy9Db21wbGV4L0xpYnJhcnkvVGVzdExpbmsuYywKCSAgVGVzdHMvQ29tcGxleC9MaWJyYXJ5L25vdEluQWxsTGliLmN4eCwKCSAgVGVzdHMvQ29tcGxleC9MaWJyYXJ5L3Rlc3RfcHJlcHJvY2Vzcy5jbWFrZSwKCSAgVGVzdHMvQ29tcGxleC9MaWJyYXJ5L1N5c3RlbURpci90ZXN0U3lzdGVtRGlyLmgsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9BLmN4eC5iYWssCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9BLmgsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9BLmhoLAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQS50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9ub3RJbkFsbEV4ZS5jeHgsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS90ZXN0U3lzdGVtRGlyLmN4eCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L1Rlc3RMaW5rLmMsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvTGlicmFyeS9ub3RJbkFsbExpYi5jeHgsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvTGlicmFyeS90ZXN0X3ByZXByb2Nlc3MuY21ha2UsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvTGlicmFyeS9TeXN0ZW1EaXIvdGVzdFN5c3RlbURpci5oLAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL0EuY3h4LmJhaywKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9BLmgsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQS5oaCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9BLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9ub3RJbkFsbEV4ZS5jeHgsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvdGVzdFN5c3RlbURpci5jeHgsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvVGVzdExpbmsuYywKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9ub3RJbkFsbExpYi5jeHgsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvdGVzdF9wcmVwcm9jZXNzLmNtYWtlLAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L1N5c3RlbURpci90ZXN0U3lzdGVtRGlyLmgsCgkgIFRlc3RzL0N1c3RvbUNvbW1hbmQvY2hlY2tfY29tbWFuZF9saW5lLmMuaW4sCgkgIFRlc3RzL091dE9mQmluYXJ5L0NNYWtlTGlzdHMudHh0LCBUZXN0cy9PdXRPZkJpbmFyeS9vdXRsaWIuYywKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbC9zY3JpcHRzL3NhbXBsZV9zY3JpcHQsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGwvc2NyaXB0cy9zYW1wbGVfc2NyaXB0LmJhdCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL3NjcmlwdHMvc2FtcGxlX3NjcmlwdCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL3NjcmlwdHMvc2FtcGxlX3NjcmlwdC5iYXQsCgkgIFV0aWxpdGllcy9jbWNvbXByZXNzL0NNYWtlTGlzdHMudHh0LAoJICBVdGlsaXRpZXMvY21jb21wcmVzcy9jbWNvbXByZXNzLmMsCgkgIFV0aWxpdGllcy9jbWNvbXByZXNzL2NtY29tcHJlc3MuaDogRU5IOiBtZXJnZSBmaWxlcyBmcm9tIG1haW4KCSAgdHJlZSB0byAyLjQKCjIwMDYtMTAtMTMgMTA6NTIgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLCBib290c3RyYXAsCgkgIERvY3MvY21ha2UtaW5kZW50LnZpbSwgRG9jcy9jbWFrZS1tb2RlLmVsLCBEb2NzL2NtYWtlLXN5bnRheC52aW0sCgkgIE1vZHVsZXMvQ01ha2VDWFhJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lRm9ydHJhbkNvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lUkNDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUZvcnRyYW5JbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVN5c3RlbVNwZWNpZmljSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ2hlY2tDU291cmNlQ29tcGlsZXMuY21ha2UsCgkgIE1vZHVsZXMvQ2hlY2tDWFhTb3VyY2VDb21waWxlcy5jbWFrZSwgTW9kdWxlcy9GaW5kRG94eWdlbi5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kR0xVVC5jbWFrZSwgTW9kdWxlcy9GaW5kS0RFMy5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kUE5HLmNtYWtlLCBNb2R1bGVzL0ZpbmRQeXRob25JbnRlcnAuY21ha2UsCgkgIE1vZHVsZXMvRmluZFB5dGhvbkxpYnMuY21ha2UsIE1vZHVsZXMvRmluZFF0My5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kUXQ0LmNtYWtlLCBNb2R1bGVzL0ZpbmRSdWJ5LmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRTREwuY21ha2UsIE1vZHVsZXMvRmluZFRDTC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kd3hXaWRnZXRzLmNtYWtlLAoJICBNb2R1bGVzL0luc3RhbGxSZXF1aXJlZFN5c3RlbUxpYnJhcmllcy5jbWFrZSwKCSAgTW9kdWxlcy9LREUzTWFjcm9zLmNtYWtlLCBNb2R1bGVzL1VzZUVjb3MuY21ha2UsCgkgIE1vZHVsZXMvVXNlUXQ0LmNtYWtlLCBNb2R1bGVzL1VzZVNXSUcuY21ha2UsCgkgIE1vZHVsZXMva2RlM3VpYy5jbWFrZSwgTW9kdWxlcy9yZWFkbWUudHh0LAoJICBNb2R1bGVzL1BsYXRmb3JtL0FJWC5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9DWUdXSU4uY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vRGFyd2luLmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL0ZyZWVCU0QuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vSFAtVVguY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vSVJJWC5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9JUklYNjQuY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vTGludXguY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vUU5YLmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL1N1bk9TLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1VuaXhQYXRocy5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtZ2NjLmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL2djYy5jbWFrZSwKCSAgU291cmNlL0NNYWtlTGlzdHMudHh0LCBTb3VyY2UvY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUFkZEN1c3RvbUNvbW1hbmRDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUFkZEV4ZWN1dGFibGVDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtQWRkRXhlY3V0YWJsZUNvbW1hbmQuaCwgU291cmNlL2NtQWRkTGlicmFyeUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21BZGRMaWJyYXJ5Q29tbWFuZC5oLAoJICBTb3VyY2UvY21BZGRTdWJEaXJlY3RvcnlDb21tYW5kLmN4eCwgU291cmNlL2NtQWRkVGVzdENvbW1hbmQuaCwKCSAgU291cmNlL2NtQnVpbGROYW1lQ29tbWFuZC5oLCBTb3VyY2UvY21DUGx1Z2luQVBJLmN4eCwKCSAgU291cmNlL2NtQ29tbWFuZC5oLCBTb3VyY2UvY21Db21tYW5kQXJndW1lbnRMZXhlci5jeHgsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudExleGVyLmgsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudExleGVyLmluLmwsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudFBhcnNlci5jeHgsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudFBhcnNlci55LAoJICBTb3VyY2UvY21Db21tYW5kQXJndW1lbnRQYXJzZXJIZWxwZXIuY3h4LAoJICBTb3VyY2UvY21Db21tYW5kQXJndW1lbnRQYXJzZXJIZWxwZXIuaCwgU291cmNlL2NtQ29tbWFuZHMuY3h4LAoJICBTb3VyY2UvY21DdXN0b21Db21tYW5kLmN4eCwgU291cmNlL2NtQ3VzdG9tQ29tbWFuZC5oLAoJICBTb3VyY2UvY21EZXBlbmRzQy5jeHgsIFNvdXJjZS9jbURlcGVuZHNDLmgsCgkgIFNvdXJjZS9jbURlcGVuZHNGb3J0cmFuTGV4ZXIuY3h4LAoJICBTb3VyY2UvY21EZXBlbmRzRm9ydHJhbkxleGVyLmluLmwsCgkgIFNvdXJjZS9jbURlcGVuZHNGb3J0cmFuUGFyc2VyLmN4eCwKCSAgU291cmNlL2NtRGVwZW5kc0ZvcnRyYW5QYXJzZXIueSwgU291cmNlL2NtRGVwZW5kc0phdmFMZXhlci5jeHgsCgkgIFNvdXJjZS9jbURlcGVuZHNKYXZhTGV4ZXIuaW4ubCwgU291cmNlL2NtRGVwZW5kc0phdmFQYXJzZXIuY3h4LAoJICBTb3VyY2UvY21EZXBlbmRzSmF2YVBhcnNlci55LCBTb3VyY2UvY21Eb2N1bWVudGF0aW9uLmN4eCwKCSAgU291cmNlL2NtRXhlY1Byb2dyYW1Db21tYW5kLmgsIFNvdXJjZS9jbUV4cHJMZXhlci5jeHgsCgkgIFNvdXJjZS9jbUV4cHJMZXhlci5pbi5sLCBTb3VyY2UvY21FeHByUGFyc2VyLmN4eCwKCSAgU291cmNlL2NtRXhwclBhcnNlci55LCBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUdldFRhcmdldFByb3BlcnR5Q29tbWFuZC5oLAoJICBTb3VyY2UvY21HbG9iYWxCb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsS2RldmVsb3BHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxNU1lTTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxNaW5HV01ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzhHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFdhdGNvbVdNYWtlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21JZkNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21JZkNvbW1hbmQuaCwgU291cmNlL2NtSW5jbHVkZURpcmVjdG9yeUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21JbmNsdWRlRGlyZWN0b3J5Q29tbWFuZC5oLAoJICBTb3VyY2UvY21JbmNsdWRlRXh0ZXJuYWxNU1Byb2plY3RDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbENvbW1hbmQuY3h4LCBTb3VyY2UvY21JbnN0YWxsQ29tbWFuZC5oLAoJICBTb3VyY2UvY21JbnN0YWxsRmlsZXNDb21tYW5kLmN4eCwgU291cmNlL2NtSW5zdGFsbEZpbGVzQ29tbWFuZC5oLAoJICBTb3VyY2UvY21JbnN0YWxsRmlsZXNHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsRmlsZXNHZW5lcmF0b3IuaCwgU291cmNlL2NtSW5zdGFsbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUluc3RhbGxHZW5lcmF0b3IuaCwgU291cmNlL2NtSW5zdGFsbFByb2dyYW1zQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUluc3RhbGxQcm9ncmFtc0NvbW1hbmQuaCwKCSAgU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtSW5zdGFsbFRhcmdldHNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbFRhcmdldHNDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUxpbmtMaWJyYXJpZXNDb21tYW5kLmgsIFNvdXJjZS9jbUxpc3RDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtTGlzdENvbW1hbmQuaCwgU291cmNlL2NtTGlzdEZpbGVDYWNoZS5jeHgsCgkgIFNvdXJjZS9jbUxpc3RGaWxlTGV4ZXIuYywgU291cmNlL2NtTGlzdEZpbGVMZXhlci5pbi5sLAoJICBTb3VyY2UvY21Mb2FkQ29tbWFuZENvbW1hbmQuY3h4LCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW9HZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5oLCBTb3VyY2UvY21NYWNyb0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21NYWtlRGlyZWN0b3J5Q29tbWFuZC5oLCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5oLCBTb3VyY2UvY21NZXNzYWdlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbU9yZGVyTGlua0RpcmVjdG9yaWVzLmN4eCwKCSAgU291cmNlL2NtT3JkZXJMaW5rRGlyZWN0b3JpZXMuaCwgU291cmNlL2NtUmVtb3ZlQ29tbWFuZC5oLAoJICBTb3VyY2UvY21TZXRDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtU2V0U291cmNlRmlsZXNQcm9wZXJ0aWVzQ29tbWFuZC5oLAoJICBTb3VyY2UvY21TZXRUYXJnZXRQcm9wZXJ0aWVzQ29tbWFuZC5oLAoJICBTb3VyY2UvY21TdGFuZGFyZEluY2x1ZGVzLmgsIFNvdXJjZS9jbVN1YmRpckNvbW1hbmQuaCwKCSAgU291cmNlL2NtU3ViZGlyRGVwZW5kc0NvbW1hbmQuaCwgU291cmNlL2NtVGFyZ2V0LmN4eCwKCSAgU291cmNlL2NtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21WVEtNYWtlSW5zdGFudGlhdG9yQ29tbWFuZC5oLAoJICBTb3VyY2UvY21WVEtXcmFwSmF2YUNvbW1hbmQuY3h4LCBTb3VyY2UvY21WVEtXcmFwSmF2YUNvbW1hbmQuaCwKCSAgU291cmNlL2NtVlRLV3JhcFB5dGhvbkNvbW1hbmQuaCwgU291cmNlL2NtVlRLV3JhcFRjbENvbW1hbmQuaCwKCSAgU291cmNlL2NtV2luMzJQcm9jZXNzRXhlY3V0aW9uLmN4eCwgU291cmNlL2NtYWtlLmN4eCwKCSAgU291cmNlL2NtYWtlLmgsIFNvdXJjZS9jbWFrZW1haW4uY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja05TSVNHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja1RhckNvbXByZXNzR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tUYXJDb21wcmVzc0dlbmVyYXRvci5oLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja1pJUEdlbmVyYXRvci5jeHgsIFNvdXJjZS9DUGFjay9jcGFjay5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0QnVpbGRBbmRUZXN0SGFuZGxlci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0QnVpbGRIYW5kbGVyLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdEhhbmRsZXJDb21tYW5kLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RTdGFydENvbW1hbmQuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eCwKCSAgU291cmNlL0N1cnNlc0RpYWxvZy9jY21ha2UuY3h4LAoJICBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTWFpbkZvcm0uY3h4LAoJICBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9rd3N5cy9Db21tYW5kTGluZUFyZ3VtZW50cy5jeHgsCgkgIFNvdXJjZS9rd3N5cy9Db25maWd1cmUuaC5pbiwgU291cmNlL2t3c3lzL0RpcmVjdG9yeS5jeHgsCgkgIFNvdXJjZS9rd3N5cy9HbG9iLmN4eCwgU291cmNlL2t3c3lzL0dsb2IuaHh4LmluLAoJICBTb3VyY2Uva3dzeXMvUHJvY2Vzcy5oLmluLCBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYywKCSAgU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jLCBTb3VyY2Uva3dzeXMvUmVnaXN0cnkuY3h4LAoJICBTb3VyY2Uva3dzeXMvU2hhcmVkRm9yd2FyZC5oLmluLCBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4LAoJICBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuaHh4LmluLCBTb3VyY2Uva3dzeXMvVGVybWluYWwuYywKCSAgU291cmNlL2t3c3lzL3Rlc3RDb21tYW5kTGluZUFyZ3VtZW50cy5jeHgsCgkgIFNvdXJjZS9rd3N5cy90ZXN0Q29tbWFuZExpbmVBcmd1bWVudHMxLmN4eCwKCSAgU291cmNlL2t3c3lzL3Rlc3RQcm9jZXNzLmMsIFNvdXJjZS9rd3N5cy90ZXN0U3lzdGVtVG9vbHMuY3h4LAoJICBUZXN0cy9Db21wbGV4L0NNYWtlTGlzdHMudHh0LCBUZXN0cy9Db21wbGV4L2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvQS5jeHgsCgkgIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9Db21wbGV4L0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9BLmN4eCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL0EuY3h4LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9DdXN0b21Db21tYW5kL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9PdXRPZlNvdXJjZS9PdXRPZlNvdXJjZVN1YmRpci9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvT3V0T2ZTb3VyY2UvT3V0T2ZTb3VyY2VTdWJkaXIvc2ltcGxlLmN4eCwKCSAgVGVzdHMvT3V0T2ZTb3VyY2UvU3ViRGlyL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1N0cmluZ0ZpbGVUZXN0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TeXN0ZW1JbmZvcm1hdGlvbi9TeXN0ZW1JbmZvcm1hdGlvbi5pbiwKCSAgVXRpbGl0aWVzL1JlbGVhc2UvUkVBRE1FLCBVdGlsaXRpZXMvY21jdXJsL0NNYWtlTGlzdHMudHh0LAoJICBVdGlsaXRpZXMvY210YXIvQ01ha2VMaXN0cy50eHQsIFV0aWxpdGllcy9jbXpsaWIvQ01ha2VMaXN0cy50eHQ6CgkgIEVOSDogbWVyZ2UgY2hhbmdlcyBmcm9tIHRoZSBtYWluIHRyZWUgdG8gdGhlIDIuNCBicmFuY2gKCjIwMDYtMTAtMTMgMTA6MjcgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RNZW1DaGVja0hhbmRsZXIuY3h4LAoJICBjbUNUZXN0VXBkYXRlSGFuZGxlci5jeHg6IEJVRzogUmVwbGFjZSBzb21lIGVycm9ycyB3aXRoIHdhcm5pbmdzCgoyMDA2LTEwLTEzIDEwOjIyICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbE1pbkdXTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmg6IEJVRzogSnVzZSB1c2UgY21ha2UgLUUgZWNobwoJICBpbnN0ZWFkIG9mIHRoZSBuYXRpdmUgZWNobyBvbiBNaW5HVyBtYWtlZmlsZXMuICBUaGUgZWNobzsgaGFjawoJICBkaWQgbm90IHdvcmsgd2hlbiBydW5uaW5nIGZyb20gY3Rlc3QuCgoyMDA2LTEwLTEzIDEwOjAzICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEJVRzogRG8gbm90IHRyeSB0byBjb21wdXRlIHRoZQoJICBsb2NhdGlvbiBvZiBhIG5vbi1saWJyYXJ5IHRhcmdldCBmb3IgbGlua2luZy4KCjIwMDYtMTAtMTMgMDk6MzAgIGFuZHkKCgkqIFNvdXJjZS86IENUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5oLCBrd3N5cy9DTWFrZUxpc3RzLnR4dDogRU5IOiBSZXBvcnQKCSAgY29tbWFuZCBsaW5lIGFzIGEgbWVhc3VyZW1lbnQgYW5kIGFsbG93IHVzZXIgdG8gYWRkIGN1c3RvbQoJICBtZWFzdXJlbWVudHMKCjIwMDYtMTAtMTIgMTc6MTkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogRU5IOiB1bmRvIGJhZCBjaGFuZ2VzCgoyMDA2LTEwLTEyIDE2OjMxICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgQ1Rlc3QvY21DVGVzdENvdmVyYWdlSGFuZGxlci5jeHg6IEJVRzogVXNlCgkgIEJ1aWxkRGlyZWN0b3J5IGZyb20gdGhlIERhcnRDb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLiBBbHNvLCBNYWtlCgkgIG1pc3NpbmcgY292ZXJhZ2UgaW5mb3JtYXRpb24gbm90IG1ha2UgY3Rlc3QgZmFpbAoKMjAwNi0xMC0xMiAxNTozMCAgYW5keQoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogQlVHOiBVc2UgdmFyaWFibGUgaW5zdGVhZCBvZgoJICByZXRyaWV2aW5nIGFnYWluLiBGaXhlcyBidWc6IEJ1ZyAjMzQ3NgoKMjAwNi0xMC0xMiAxNToxMCAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eDogQlVHOiBSZXBvcnQgYW5kIGVycm9yIHdoZW4KCSAgY3Rlc3QgLVMgc2NyaXB0IGZhaWxzLi4uIEZpeGVzOiBCdWcgIzM1NDAKCjIwMDYtMTAtMTIgMTQ6NTkgIGFuZHkKCgkqIE1vZHVsZXMvTlNJUy50ZW1wbGF0ZS5pbiwgU291cmNlL0NQYWNrL2NtQ1BhY2tOU0lTR2VuZXJhdG9yLmN4eDoKCSAgRU5IOiBBZGQgTlNJUyBjb21wcmVzc2lvbgoKMjAwNi0xMC0xMiAxNDo0NyAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4OiBFTkg6IEhhbmRsZSBtb3JlIHJlZ3VsYXIKCSAgZXhwcmVzc2lvbnMKCjIwMDYtMTAtMTIgMTM6MzAgIGFuZHkKCgkqIFRlc3RzLzogU2ltcGxlSW5zdGFsbC9QYWNrYWdlU2NyaXB0LmNtYWtlLAoJICBTaW1wbGVJbnN0YWxsUzIvUGFja2FnZVNjcmlwdC5jbWFrZTogRU5IOiBTZXZlcmFsIENQYWNrIGZpeGVzLgoJICBGaXJzdCwgYWxsb3cgdXNlciB0byBzZXQgQ01BS0VfTU9EVUxFX1BBVEggZm9yIENQYWNrOyBtYWtlCgkgIFNldE9wdGlvbklmTm90U2V0IG1vcmUgcm9idXN0IHRvIGhhbmRsZSBlbXB0eSBvcHRpb25zOyBkbyB0ZXN0CgkgIFRHWiwgU1RHWiwgYW5kIFRaLCBBZGQgaGFuZGxpbmcgKGFuZCB0ZXN0KSBvZiBJbnN0YWxsIFNjcmlwdDsgc2V0CgkgIGVudmlyb25tZW50IHZhcmlhYmxlIENNQUtFX0lOU1RBTExfUFJFRklYCgoyMDA2LTEwLTEyIDEzOjE1ICBhbmR5CgoJKiBNb2R1bGVzL0NUZXN0VGFyZ2V0cy5jbWFrZTogRU5IOiBPbiBWaXN1YWwgU3R1ZGlvIGFuZCBYY29kZQoJICBoYW5kbGUgY29uZmlnIHR5cGUKCjIwMDYtMTAtMTIgMTM6MTIgIGFuZHkKCgkqIE1vZHVsZXMvOiBGaW5kSk5JLmNtYWtlLCBGaW5kSmF2YS5jbWFrZTogRU5IOiBNb3JlIGxvY2F0aW9ucyBmb3IKCSAgSmF2YQoKMjAwNi0xMC0xMiAxMzowNSAgYW5keQoKCSogTW9kdWxlcy9DUGFjay5jbWFrZSwgU291cmNlL0NQYWNrL2NtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmgsIFNvdXJjZS9DUGFjay9jcGFjay5jeHgsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dDogRU5IOiBTZXZlcmFsIENQYWNrIGZpeGVzLgoJICBGaXJzdCwgYWxsb3cgdXNlciB0byBzZXQgQ01BS0VfTU9EVUxFX1BBVEggZm9yIENQYWNrOyBtYWtlCgkgIFNldE9wdGlvbklmTm90U2V0IG1vcmUgcm9idXN0IHRvIGhhbmRsZSBlbXB0eSBvcHRpb25zOyBkbyB0ZXN0CgkgIFRHWiwgU1RHWiwgYW5kIFRaLCBBZGQgaGFuZGxpbmcgKGFuZCB0ZXN0KSBvZiBJbnN0YWxsIFNjcmlwdDsgc2V0CgkgIGVudmlyb25tZW50IHZhcmlhYmxlIENNQUtFX0lOU1RBTExfUFJFRklYCgoyMDA2LTEwLTEyIDEyOjUxICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21DVGVzdC5oOiBFTkg6IHNvbWUgY2xlYW51cCBhbmQgY29tbWVudGluZwoJICBvZiBjb2RlCgoyMDA2LTEwLTEyIDEwOjU3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEVOSDogZml4IGZvciBidWcgLWdkd2FyZgoJICBnZXR0aW5nIHJlbW92ZWQKCjIwMDYtMTAtMTEgMTI6NDEgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dDogQlVHOiBEbyBub3QgY29sbGFwc2UgdGhlCgkgIElOU1RBTExfTkFNRV9ESVIgc2V0dGluZyBiZWNhdXNlIHVzZXJzIG1heSBpbnRlbmQgdG8gaGF2ZSAuLiBpbgoJICB0aGUgcGF0aC4gIFRoaXMgbWFrZXMgdGhlIG1ha2VmaWxlIGdlbmVyYXRvciBjb25zaXN0ZW50IHdpdGggdGhlCgkgIGFscmVhZHkgd29ya2luZyBYY29kZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGZlYXR1cmUuICBBbHNvIGFkZGVkCgkgIGEgdGVzdCBmb3IgQGV4ZWN1dGFibGVfcGF0aC8uLiBzdHlsZSBzZXR0aW5ncyBmb3IgdGhpcyBwcm9wZXJ0eS4KCjIwMDYtMTAtMTEgMTI6NDEgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogRU5IOiBTaW1wbGlmeSBjb2RlIGJ5IHJlbW92aW5nCgkgIHJlZHVuZGFudCBjaGVjayBhZ2FpbnN0IEJVSUxEX1dJVEhfSU5TVEFMTF9SUEFUSC4KCjIwMDYtMTAtMTAgMTY6MDMgIGtpbmcKCgkqIE1vZHVsZXMvcmVhZG1lLnR4dDogU1RZTEU6IEZpeGVkIHR5cG86IElOQ0xVREVfRElSLT5JTkNMVURFX0RJUlMuCgoyMDA2LTEwLTEwIDE0OjEzICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEJVRzogVEFSR0VUX1FVT1RFRCBzaG91bGQgYWx3YXlzIGJlCgkgIHJlcGxhY2VkIGlmIFRhcmdldCBpcyBzZXQgaW4gdGhlIHJ1bGUgdmFyaWFibGVzLgoKMjAwNi0xMC0xMCAxMzo0NyAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBCVUc6IEF2b2lkIGR1cGxpY2F0ZQoJICBjb252ZXJzaW9uIHRvIG91dHB1dCBwYXRoLgoKMjAwNi0xMC0xMCAxMjoyNCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTEwLTA5IDIxOjQ4ICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmg6IEJVRzogRml4ZWQgcmVmZXJlbmNlcyB0bwoJICBwcm9qZWN0cyBvdXRzaWRlIHRoZSBidWlsZCB0cmVlIGFuZCBpbiBvdGhlciBsb2NhdGlvbnMgd2l0aAoJICBzcGFjZXMgaW4gdGhlIHBhdGguICBUaGlzIGlzIG5lZWRlZCBmb3IKCSAgb3V0LW9mLXNvdXJjZS9vdXQtb2YtYmluYXJ5IHN1YmRpcmVjdG9yaWVzIGluIHRoZSBidWlsZC4KCjIwMDYtMTAtMDkgMjE6MjUgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgVGVzdHMvT3V0T2ZCaW5hcnkvQ01ha2VMaXN0cy50eHQsIFRlc3RzL091dE9mQmluYXJ5L291dGxpYi5jLAoJICBUZXN0cy9PdXRPZlNvdXJjZS9PdXRPZlNvdXJjZVN1YmRpci9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvT3V0T2ZTb3VyY2UvT3V0T2ZTb3VyY2VTdWJkaXIvc2ltcGxlLmN4eCwKCSAgVGVzdHMvT3V0T2ZTb3VyY2UvU3ViRGlyL0NNYWtlTGlzdHMudHh0OiBCVUc6IEZpeGVkIG91dC1vZi1zb3VyY2UKCSAgc3ViZGlyZWN0b3JpZXMgdG8gd29yayB3aGVuIHRoZXkgYXJlIGFsc28gb3V0LW9mLWJpbmFyeS4gIFVwZGF0ZWQKCSAgdGhlIE91dE9mU291cmNlIHRlc3QgdG8gdGVzdCB0aGlzIGZlYXR1cmUuCgoyMDA2LTEwLTA5IDExOjAzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMTAtMDkgMTA6MDYgIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzV2luMzIuYzogQ09NUDogRml4IG9yIHN1cHByZXNzIHdhcm5pbmdzIG9uCgkgIEJvcmxhbmQgYW5kIE1hYyBkYXNoYm9hcmRzLiBEZWZpbml0ZWx5IGZpeCAibWF5IGJlIHVzZWQKCSAgdW5pbml0aWFsaXplZCIgd2FybmluZ3MuCgoyMDA2LTEwLTA4IDA5OjIzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMTAtMDcgMDY6MTUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0xMC0wNiAxNTozMyAgbWFydGluawoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9jbUN1cnNlc01haW5Gb3JtLmN4eDogRU5IOiByZW1vdmUgb2xkIHVudXNlZAoJICBjb2RlCgoyMDA2LTEwLTA2IDE0OjAwICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Eb2N1bWVudGF0aW9uLmN4eDogQlVHOiBwb3RlbnRpYWwgc2VnZmF1bHQKCjIwMDYtMTAtMDYgMTE6MTMgIGRhdmlkLmNvbGUKCgkqIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dDogU1RZTEU6IE1ha2UgdGhlIHNldCBvZiBzdXBwb3J0ZWQgU1RMCgkgIGhlYWRlcnMgdGhlIHNhbWUgaW4gdnRrc3RkIGFuZCB2dGtzeXMvc3RsLiAoVGhlIHVuaW9uIG9mIHRoZQoJICBwcmVzZW50IHZhbHVlcyBvZiB0aGUgdHdvIHNldHMuKQoKMjAwNi0xMC0wNiAxMToxMSAgaG9mZm1hbgoKCSogU291cmNlLzogY21NZXNzYWdlQ29tbWFuZC5jeHgsIGNtYWtlLmN4eCwgY21ha2UuaCwgY21ha2VtYWluLmN4eDoKCSAgRU5IOiBkbyBub3QgcHJpbnQgYSBjYWxsIHN0YWNrIGlmIHRoZSB1c2VyIGRvZXMgYSBtZXNzYWdlIGVycm9yCgkgIHVubGVzcyAtLWRlYnVnLW91dHB1dCBpcyB1c2VkCgoyMDA2LTEwLTA2IDA5OjE2ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0Rhcndpbi5jbWFrZTogQlVHOiBEbyBub3QgZW5hYmxlIC1pc3lzdGVtCgkgIHN1cHBvcnQgZm9yIFhjb2RlIGdlbmVyYXRvciB1bnRpbCBpdCBpcyBpbXBsZW1lbnRlZC4KCjIwMDYtMTAtMDYgMDM6MzIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0xMC0wNSAxNzo1MyAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdENvdmVyYWdlSGFuZGxlci5jeHgsCgkgIGNtQ1Rlc3RUZXN0SGFuZGxlci5jeHg6IEJVRzogZml4IGJ1ZyB3aGVyZSBjb252ZXJhZ2Ugd2FzIHJlcXVpcmVkCgkgIHRvIGdldCB2YWxncmluZCBvdXRwdXQgYmVjYXVzZSBvZiBiYWQgY3VycmVudCBkaXJlY3RvcnkKCjIwMDYtMTAtMDUgMTY6NTkgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBjbU9yZGVyTGlua0RpcmVjdG9yaWVzLmN4eDogQlVHOgoJICBOZWVkIHRvIG1hdGNoIHNoYXJlZCBsaWJyYXJ5IG5hbWVzIGJlZm9yZSBzdGF0aWMgYmVjYXVzZSBzb21lCgkgIHBsYXRmb3JtcyBoYXZlIHN0YXRpYyBuYW1lIHBhdHRlcm5zIHRoYXQgbWF0Y2ggdGhlaXIgc2hhcmVkCgkgIHBhdHRlcm5zIGJ1dCBub3QgdmljZSB2ZXJzYS4JVGhpcyBpcyBuZWVkZWQgZm9yIGltcGxlbWVudGluZwoJICBidWcjMTY0NCBvbiBjeWd3aW4uCgoyMDA2LTEwLTA1IDE2OjMwICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0NZR1dJTi5jbWFrZSwgU291cmNlL2NtVGFyZ2V0LmN4eDogRU5IOiBBZGRpbmcKCSAgdmVyc2lvbiBudW1iZXIgdG8gdGhlIG5hbWUgb2YgYSBETEwgYnVpbHQgaW4gY3lnd2luIGJ1dCBub3QgdGhlCgkgIGltcG9ydCBsaWJyYXJ5LiAgVGhpcyBhZGRyZXNzZXMgYnVnIzM1NzEuCgoyMDA2LTEwLTA1IDE1OjA4ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtLzogQ1lHV0lOLmNtYWtlLCBXaW5kb3dzLWdjYy5jbWFrZTogRU5IOiBFbmFibGluZwoJICBsaW5rLXR5cGUgc2VsZWN0aW9uIGZsYWdzIG9uIEN5Z3dpbiwgTVNZUywgYW5kIE1pbkdXLiAgVGhpcwoJICBhZGRyZXNzZXMgYnVnIzE2NDQgb24gdGhlc2UgcGxhdGZvcm1zLgoKMjAwNi0xMC0wNSAxNTowOCAga2luZwoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21PcmRlckxpbmtEaXJlY3Rvcmllcy5jeHgsCgkgIFNvdXJjZS9jbU9yZGVyTGlua0RpcmVjdG9yaWVzLmgsCgkgIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4OiBCVUc6IEZpeCBsaW5rCgkgIGZsYWdzIG9uIGN5Z3dpbiBzaGFyZWQgbGlicmFyaWVzLiAgVGhpcyByZXF1aXJlcyB0aGF0IHRoZSBzaGFyZWQKCSAgbGlicmFyeSBwcmVmaXggYmUgc3VwcG9ydGVkIGluIHRoZSBsaW5rIGxpYnJhcnkgcmVnZXguCgoyMDA2LTEwLTA1IDE0OjUxICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbE1pbkdXTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmg6IEJVRzogSGFjayB0byBtYWtlIGVjaG8gY29tbWFuZAoJICB3b3JrIHByb3Blcmx5IGluIG1pbmd3MzItbWFrZS4KCjIwMDYtMTAtMDUgMTM6NDMgIGtpbmcKCgkqIFNvdXJjZS9jbVdpbjMyUHJvY2Vzc0V4ZWN1dGlvbi5jeHg6IEJVRzogUm9idXN0bHkgaGFuZGxlIGZhaWx1cmUKCSAgb2YgRm9ybWF0TWVzc2FnZS4gIFNlZSBidWcjMzQ3MS4KCjIwMDYtMTAtMDUgMTI6MDQgIGtpbmcKCgkqIFRlc3RzLzogQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwgQ29tcGxleC9MaWJyYXJ5L3Rlc3RTeXN0ZW1EaXIuaCwKCSAgQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L3Rlc3RTeXN0ZW1EaXIuaCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvdGVzdFN5c3RlbURpci5oLAoJICBDb21wbGV4L0xpYnJhcnkvU3lzdGVtRGlyL3Rlc3RTeXN0ZW1EaXIuaCwKCSAgQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L1N5c3RlbURpci90ZXN0U3lzdGVtRGlyLmgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvU3lzdGVtRGlyL3Rlc3RTeXN0ZW1EaXIuaDogQlVHOiBUZXN0CgkgIC1pc3lzdGVtIHdpdGhvdXQgYWZmZWN0aW5nIG90aGVyIHRlc3RzLiAgTWFkZSBzZXBhcmF0ZQoJICBMaWJyYXJ5L1N5c3RlbURpciBmb3IgdGhpcyBwdXJwb3NlLgoKMjAwNi0xMC0wNSAxMTozMSAga2luZwoKCSogU291cmNlL2NtSW5zdGFsbENvbW1hbmQuY3h4LCBTb3VyY2UvY21JbnN0YWxsQ29tbWFuZC5oLAoJICBTb3VyY2UvY21JbnN0YWxsRmlsZXNHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsRmlsZXNHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuaCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZGVkIE9QVElPTkFMIG9wdGlvbgoJICB0byBJTlNUQUxMIGNvbW1hbmQgdG8gYWxsb3cgaW5zdGFsbGF0aW9uIG9mIGZpbGVzIGlmIHRoZXkgZXhpc3QKCSAgd2hpbGUgaWdub3JpbmcgdGhlbSBvdGhlcndpc2UuICBUaGlzIGFkZHJlc3NlcyBidWcjMjkyMi4KCjIwMDYtMTAtMDUgMTE6MzAgIGtpbmcKCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQ6IEJVRzogUnVuCgkgIHRlc3RTeXN0ZW1EaXIgdGVzdCBvbmx5IGlmIC1pc3lzdGVtIGZsYWcgaXMgYXZhaWxhYmxlLgoKMjAwNi0xMC0wNSAxMDo1NSAga2luZwoKCSogU291cmNlL2NtRG9jdW1lbnRhdGlvbi5jeHg6IEVOSDogQWRkaW5nIGxpbmtzIHRvIHdlYiByZXNvdXJjZXMKCSAgYW5kIEZBUSB0byBTRUUgQUxTTyBzZWN0aW9uLglUaGlzIGFkZHJlc3NlcyBidWcgIzM3NTcuCgoyMDA2LTEwLTA1IDA5OjMzICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1FOWC5jbWFrZTogQlVHOiBRTlggR0NDIGRvZXMgbm90IGhhdmUgLWlzeXN0ZW0uCgoyMDA2LTEwLTA1IDA4OjU1ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL2djYy5jbWFrZSwgU291cmNlL2NtSW5jbHVkZURpcmVjdG9yeUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21JbmNsdWRlRGlyZWN0b3J5Q29tbWFuZC5oLCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuaCwKCSAgVGVzdHMvQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvdGVzdFN5c3RlbURpci5jeHgsCgkgIFRlc3RzL0NvbXBsZXgvTGlicmFyeS90ZXN0U3lzdGVtRGlyLmgsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL3Rlc3RTeXN0ZW1EaXIuY3h4LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0xpYnJhcnkvdGVzdFN5c3RlbURpci5oLAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS90ZXN0U3lzdGVtRGlyLmN4eCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS90ZXN0U3lzdGVtRGlyLmg6IEVOSDogQWRkaW5nCgkgIFNZU1RFTSBvcHRpb24gdG8gSU5DTFVERV9ESVJFQ1RPUklFUyBjb21tYW5kLiAgVGhpcyBhZGRyZXNzZXMgYnVnCgkgICMzNDYyLgoKMjAwNi0xMC0wNSAwMzo1NyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTEwLTA0IDE5OjIxICBraW5nCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NjbWFrZS5jeHg6IEJVRzogVGhlIC0taGVscCBvcHRpb24gc2hvdWxkCgkgIGxpc3QgZ2VuZXJhdG9ycy4gIFRoaXMgYWRkcmVzc2VzIGJ1ZyAjMjQ5NC4KCjIwMDYtMTAtMDQgMTg6NTcgIGtpbmcKCgkqIFRlc3RzL0N1c3RvbUNvbW1hbmQvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkaW5nIHRlc3Qgb2Ygc3BlY2lhbAoJICBjaGFyYWN0ZXJzIGluIGN1c3RvbSBjb21tYW5kIGFuZCBjdXN0b20gdGFyZ2V0IGNvbW1lbnRzLgoKMjAwNi0xMC0wNCAxODo1MiAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxCb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFdhdGNvbVdNYWtlR2VuZXJhdG9yLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxHZW5lcmF0b3IuaCwgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oOiBCVUc6IEZpeGVkIGRpc3BsYXkgb2YgY3VzdG9tCgkgIGNvbW1hbmQgY29tbWVudHMgd2l0aCBxdW90ZXMsIGRvbGxhcnMsIGFuZCBvdGhlciBzcGVjaWFsCgkgIGNoYXJhY3RlcnMgaW4gdGhlbS4KCjIwMDYtMTAtMDQgMTg6NTIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IFN5c3RlbS5jLCBTeXN0ZW0uaC5pbjogRU5IOiBBZGRpbmcKCSAgU2hlbGxfRmxhZ19FY2hvV2luZG93cyBvcHRpb24gdG8gc2V0dXAgZXNjYXBlcyBmb3IgYXJndW1lbnRzIHRvCgkgIHRoZSBuYXRpdmUgZWNobyBjb21tYW5kIGluIGEgc2hlbGwuICBUaGlzIHNwZWNpYWwgY2FzZSBpcyBuZWVkZWQKCSAgdG8gYXZvaWQgYWRkaW5nIHF1b3RlcyB3aGVuIHBhc3NpbmcgdGV4dCB0byBlY2hvIGluIGEgbmF0aXZlCgkgIHdpbmRvd3Mgc2hlbGwgd2hpY2ggZG9lcyBubyBjb21tYW5kIGxpbmUgcGFyc2luZyBhdCBhbGwuCgoyMDA2LTEwLTA0IDE4OjEwICBraW5nCgoJKiBTb3VyY2UvY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtQWRkQ3VzdG9tVGFyZ2V0Q29tbWFuZC5oLCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmgsIFRlc3RzL0N1c3RvbUNvbW1hbmQvQ01ha2VMaXN0cy50eHQ6IEVOSDoKCSAgQWRkZWQgQ09NTUVOVCBvcHRpb24gdG8gQUREX0NVU1RPTV9UQVJHRVQuICBUaGlzIGFkZHJlc3NlcwoJICBidWcjMzQ2MS4KCjIwMDYtMTAtMDQgMTg6MDkgIGtpbmcKCgkqIFNvdXJjZS9jbUFkZEN1c3RvbUNvbW1hbmRDb21tYW5kLmg6IEJVRzogQ09NTUVOVCB3YXMgbWlzc2luZyBmcm9tCgkgIGRvY3MuCgoyMDA2LTEwLTA0IDE3OjI3ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBDTWFrZUxpc3RzLnR4dCwgUHJvY2Vzc1VOSVguYywKCSAga3dzeXNQbGF0Zm9ybVRlc3RzQy5jOiBFTkg6IEFkZGluZyB0ZXN0cyBLV1NZU19DX0hBU19QVFJESUZGX1QKCSAgYW5kIEtXU1lTX0NfSEFTX1NTSVpFX1QgdG8gaGVscCBQcm9jZXNzVU5JWC5jIGJ1aWxkIGV2ZXJ5d2hlcmUKCSAgd2l0aG91dCB3YXJuaW5ncy4KCjIwMDYtMTAtMDQgMTc6MjQgIGtpbmcKCgkqIGJvb3RzdHJhcDogRU5IOiBSZW5hbWVkIGt3c3lzUGxhdGZvcm1DeHhUZXN0cyB0bwoJICBrd3N5c1BsYXRmb3JtVGVzdHMgYW5kIGdlbmVyYWxpemVkIGl0IGZvciBtdWx0aXBsZSBsYW5ndWFnZSB0ZXN0cwoJICAoQyBhbmQgQ1hYKS4KCjIwMDYtMTAtMDQgMTc6MDggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c1BsYXRmb3JtVGVzdHMuY21ha2U6IEJVRzogTmFtZSBvZiBDIHRlc3QgZmlsZQoJICBlbmRzIGluIC5jIG5vdCAuY3h4LgoKMjAwNi0xMC0wNCAxNjo1NiAga2luZwoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIGt3c3lzUGxhdGZvcm1DeHhUZXN0cy5jbWFrZSwKCSAga3dzeXNQbGF0Zm9ybUN4eFRlc3RzLmN4eCwga3dzeXNQbGF0Zm9ybVRlc3RzLmNtYWtlLAoJICBrd3N5c1BsYXRmb3JtVGVzdHNDLmMsIGt3c3lzUGxhdGZvcm1UZXN0c0NYWC5jeHg6IEVOSDogUmVuYW1lZAoJICBrd3N5c1BsYXRmb3JtQ3h4VGVzdHMgdG8ga3dzeXNQbGF0Zm9ybVRlc3RzIGFuZCBnZW5lcmFsaXplZCBpdAoJICBmb3IgbXVsdGlwbGUgbGFuZ3VhZ2UgdGVzdHMgKEMgYW5kIENYWCkuCgoyMDA2LTEwLTA0IDE2OjMxICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmREb3h5Z2VuLmNtYWtlOiBFTkg6IHJlbW92ZSBwYXRocyB0aGF0IGNtYWtlIGFscmVhZHkKCSAgbG9va3MgYXQKCjIwMDYtMTAtMDQgMTU6NTQgIGFsZXgKCgkqIE1vZHVsZXMvRmluZFJ1YnkuY21ha2U6IEVOSDogYXBwbHkgcGF0Y2ggc28gdGhhdCB0aGUgY29uZmlnCgkgIHZhbHVlcyBmcm9tIHJ1YnkgYXJlIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBhZGRpdGlvbmFsIGxvY2F0aW9ucwoJICAoc2VlICMzMjk3KQoKCSAgQWxleAoKMjAwNi0xMC0wNCAxNToyNCAga2luZwoKCSogU291cmNlL2NtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5oLCBTb3VyY2UvY21DdXN0b21Db21tYW5kLmN4eCwKCSAgU291cmNlL2NtQ3VzdG9tQ29tbWFuZC5oLCBUZXN0cy9DdXN0b21Db21tYW5kL0NNYWtlTGlzdHMudHh0OgoJICBFTkg6IEFkZGVkIEFQUEVORCBvcHRpb24gdG8gQUREX0NVU1RPTV9DT01NQU5EIHRvIGFsbG93IGV4dHJhCgkgIGRlcGVuZGVuY2llcyB0byBiZSBjb25uZWN0ZWQgbGF0ZXIuICBUaGlzIGlzIHVzZWZ1bCB0byBjcmVhdGUgb25lCgkgIHJ1bGUgYW5kIHRoZW4gaGF2ZSBhIG1hY3JvIGFkZCB0aGluZ3MgdG8gaXQgbGF0ZXIuICBUaGlzCgkgIGFkZHJlc3NlcyBidWcjMjE1MS4KCjIwMDYtMTAtMDQgMTQ6MzcgIGtpbmcKCgkqIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudFBhcnNlci5jeHgsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudFBhcnNlci55LAoJICBTb3VyY2UvY21Db21tYW5kQXJndW1lbnRQYXJzZXJIZWxwZXIuY3h4LAoJICBTb3VyY2UvY21Db21tYW5kQXJndW1lbnRQYXJzZXJIZWxwZXIuaCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZS5oLCBUZXN0cy9DdXN0b21Db21tYW5kL0NNYWtlTGlzdHMudHh0OiBCVUc6IERvCgkgIG5vdCByZXBsYWNlIEBWQVJAIHN5bnRheCBpbiBsaXN0IGZpbGVzLiAgVGhpcyBhZGRyZXNzZXMgYnVnCgkgICMyNzIyLgoKMjAwNi0xMC0wNCAxNDowMiAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBmaXggZm9yIGZhdCBmaWxlCgkgIHN5c3RlbXMgYW5kIHZzOCAjMjYxNwoKMjAwNi0xMC0wNCAxNDowMCAga2luZwoKCSogTW9kdWxlcy9Vc2VRdDQuY21ha2U6IEJVRzogUGF0Y2ggZnJvbSBDbGludG9uIHRvIHJlc3RvcmUgcHJvcGVyCgkgIFFUM19TVVBQT1JUIG1hY3JvIGRlZmluaXRpb24uCgoyMDA2LTEwLTA0IDEzOjI3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeCBmb3IgYnVnIzMzNjIKCSAgeG1sIGVzY2FwZXMgb24gLUQgc3R1ZmYgZm9yIHZpc3VhbCBzdHVkaW8KCjIwMDYtMTAtMDQgMTM6MDUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFRDTC5jbWFrZTogQlVHOiBmaXggZm9yIGJ1ZyMgMzMxMyBzYW1lIGFkdmFuY2VkIGZvcgoJICB0Y2wgd2luIGFuZCB1bml4CgoyMDA2LTEwLTA0IDExOjMzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeCBmb3IgYnVnIyAzNjY0CgoyMDA2LTEwLTA0IDExOjExICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeCBmb3IgYnVnICMzNTE3IHNlZyBmYXVsdAoJICB3aXRoIGVuYWJsZSBsYW5ndWFnZSBiZWZvcmUgcHJvamVjdCBjb21tYW5kCgoyMDA2LTEwLTA0IDExOjA0ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmREb3h5Z2VuLmNtYWtlOiBCVUc6IGZpeCBmb3IgYnVnIzM1MjAgLSBiZXR0ZXIgZmluZAoJICBkb3h5Z2VuCgoyMDA2LTEwLTA0IDEwOjU0ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0Rhcndpbi5jbWFrZTogQlVHOiBmaXggZm9yIGJ1ZyMgMzU4NCBtaXNzaW5nCgkgIFNPTkFNRSBmb3IgZm9ydHJhbiBvbiBkYXJ3aW4KCjIwMDYtMTAtMDQgMTA6MzMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogRU5IOiBtYWtlIHFtYWtlLXF0NCByZWFsbHkgd29yayBpZiBxbWFrZQoJICBpcyBxdDMgYWxzbyBmaXggaW5kZW50IGluIGZpbGUsIGZvciBkaWZmIHVzZSBjdnMgZGlmZiAtdwoKMjAwNi0xMC0wNCAwNToyMCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTEwLTAzIDE3OjUzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBFTkg6IGZpeCBkYXNoYmFvcmQgZXJyb3IgZG8gbm90CgkgIGV4Y2x1ZGUgcm9vdCBwcm9qZWN0IGZyb20gaXRzZWxmLgoKMjAwNi0xMC0wMyAxNjoxOCAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kR0xVVC5jbWFrZTogQlVHOiBmaXggZm9yIGJ1ZyMzNjQ2IEdMVVQgbm90IEdsdXQgZm9yCgkgIGZyYW1ld29yayBuYW1lCgoyMDA2LTEwLTAzIDE2OjEyICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2U6IEJVRzogZml4IGZvciBidWcjMzY1MiB1c2UgbGluawoJICAvbGliIGluc3RlYWQgb2YgbGliCgoyMDA2LTEwLTAzIDE1OjI1ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogdXNlIGNvcmUgYW5kIG5vdCBhbGwgb2YgY2FyYm9uCgoyMDA2LTEwLTAzIDE1OjEyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeCBmb3IgYnVnIzM3MTQKCSAgZXhlY2x1ZGVfZnJvbV9hbGwgbm90IHdvcmtpbmcgb24gdnMKCjIwMDYtMTAtMDMgMTQ6NDAgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQ29tbWFuZHMuY3h4LCBjbUVuZE1hY3JvQ29tbWFuZC5jeHgsCgkgIGNtRW5kTWFjcm9Db21tYW5kLmg6IEVOSDogYWRkZWQgZW5kbWFjcm8gY29tbWFuZAoKMjAwNi0xMC0wMyAxNDozOSAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOiBCVUc6IGZpeCBmb3IgYnVnIzM3MjAKCjIwMDYtMTAtMDMgMTQ6MDMgIGFsZXgKCgkqIE1vZHVsZXMvS0RFM01hY3Jvcy5jbWFrZTogQlVHOiBmaXggIzM4MjcsIHRoZSBuYW1lIG9mIHRoZSB2YXIgaXMKCSAgX3RtcF9GSUxFIGluc3RlYWQgb2YgdG1wX0ZJTEUsIHNvIHRoZSBkY29wIHN0dWZmIHNob3VsZCB3b3JrIG5vdwoKCSAgQWxleAoKMjAwNi0xMC0wMyAxNDowMyAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBmaXggZm9yIGJ1ZyMzNzM4CgoyMDA2LTEwLTAzIDEzOjQ4ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRTREwuY21ha2U6IEJVRzogZml4IGZvciAzNzY1CgoyMDA2LTEwLTAzIDEzOjQ1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21BZGRUZXN0Q29tbWFuZC5oOiBCVUc6IGZpeCBmb3IgYnVnIzM3NzUKCjIwMDYtMTAtMDMgMTM6MzUgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEVOSDogY2hlY2sgZm9yIGVtcHR5IHBhdGgKCjIwMDYtMTAtMDMgMTM6MzUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vQUlYLmNtYWtlOiBFTkg6IGRpc2FibGUgc3RhdGljIHNoYXJlZCBzdHVmZiBvbgoJICBBSVgsIHNlZSBjb21tZW50CgoyMDA2LTEwLTAzIDEzOjM1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxNU1lTTWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IGJ1ZyMzNzg5IGFkZCBtc3lzCgkgIGZvciB0aGUgbXN5cyBnZW5lcmF0b3IKCjIwMDYtMTAtMDMgMTM6MjIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVRyeUNvbXBpbGVDb21tYW5kLmN4eDogRU5IOiBtYWtlIHN1cmUgZmlsZSBpcyBjbG9zZWQKCjIwMDYtMTAtMDMgMTI6MDkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1hY3JvQ29tbWFuZC5jeHg6IEVOSDogZml4IGNvbXBpbGUgZXJyb3IKCjIwMDYtMTAtMDMgMTE6NTUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEVOSDogZG8gbm90IGFsbG93IG51bGwgcG9pbnRlciBhY2Nlc3MKCjIwMDYtMTAtMDMgMTE6NTUgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy9SZWdpc3RyeS5jeHg6IEVOSDogbWFrZSBzdXJlIHZhbHVlIGlzIHNldCBiZWZvcmUKCSAgdXNpbmcgaXQKCjIwMDYtMTAtMDMgMTA6NTcgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1hY3JvQ29tbWFuZC5jeHg6IEJVRzogZml4IGZvciBzZWcgZmF1bHQgYnVnICMzODE1CgoyMDA2LTEwLTAzIDEwOjI2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYzogQlVHOiBOZWVkIHRvIGluaXRpYWxpemUgdG8gbm90IHVzZQoJICBuYXRpdmUgcGlwZXMuCgoyMDA2LTEwLTAzIDA5OjEyICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxLZGV2ZWxvcEdlbmVyYXRvci5jeHg6IFNUWUxFOiBGaXhlZCBsaW5lLXRvby1sb25nCgkgIHdhcm5pbmcuCgoyMDA2LTEwLTAzIDA5OjEwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBQcm9jZXNzLmguaW4sIFByb2Nlc3NVTklYLmMsIFByb2Nlc3NXaW4zMi5jOiBFTkg6CgkgIEFkZGVkIFByb2Nlc3NfU2V0UGlwZU5hdGl2ZSBtZXRob2QgdG8gYWxsb3cgdXNlciBjb2RlIHRvIG92ZXJyaWRlCgkgIHRoZSBwaXBlcyBjb25uZWN0ZWQgdG8gdGhlIGNoaWxkIHBpcGVsaW5lLgoKMjAwNi0xMC0wMyAwNTo1OSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTEwLTAyIDEyOjAxICBraW5nCgoJKiBTb3VyY2UvY21BZGRFeGVjdXRhYmxlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUFkZEV4ZWN1dGFibGVDb21tYW5kLmgsIFNvdXJjZS9jbUFkZExpYnJhcnlDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtQWRkTGlicmFyeUNvbW1hbmQuaCwKCSAgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4L0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0OiBFTkg6IFJlbmFtZWQKCSAgTk9UX0lOX0FMTCB0byBFWENMVURFX0ZST01fQUxMLgoKMjAwNi0xMC0wMiAxMToxMyAga2luZwoKCSogU291cmNlL2NtQWRkRXhlY3V0YWJsZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21BZGRFeGVjdXRhYmxlQ29tbWFuZC5oLCBTb3VyY2UvY21BZGRMaWJyYXJ5Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUFkZExpYnJhcnlDb21tYW5kLmgsIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGUuaCwgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvbm90SW5BbGxFeGUuY3h4LAoJICBUZXN0cy9Db21wbGV4L0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXgvTGlicmFyeS9ub3RJbkFsbExpYi5jeHgsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL25vdEluQWxsRXhlLmN4eCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0xpYnJhcnkvbm90SW5BbGxMaWIuY3h4LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL25vdEluQWxsRXhlLmN4eCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9ub3RJbkFsbExpYi5jeHg6IEVOSDogQWRkZWQKCSAgTk9UX0lOX0FMTCBvcHRpb24gZm9yIEFERF9MSUJSQVJZIGFuZCBBRERfRVhFQ1VUQUJMRSB0byBhdm9pZAoJICBidWlsZGluZyB0aGUgdGFyZ2V0cyBieSBkZWZhdWx0LgoKMjAwNi0xMC0wMiAxMDo0OSAga2luZwoKCSogU291cmNlL2NtR2xvYmFsS2RldmVsb3BHZW5lcmF0b3IuY3h4OiBFTkg6IFBhdGNoIGZyb20gQWxleCB0bwoJICBoZWxwIHdpdGggS0RldmVsb3AgY29kZSBjb21wbGV0aW9uIGluIGdlbmVyYXRlZCBwcm9qZWN0cy4KCjIwMDYtMTAtMDIgMTA6MjAgIGtpbmcKCgkqIFNvdXJjZS86IGNtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuaCwgY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbEdlbmVyYXRvci5oLCBjbUdsb2JhbFdhdGNvbVdNYWtlR2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbVNldFNvdXJjZUZpbGVzUHJvcGVydGllc0NvbW1hbmQuaDogRU5IOiBBZGRlZCBTWU1CT0xJQyBzb3VyY2UKCSAgZmlsZSBwcm9wZXJ0eSB0byBtYXJrIGN1c3RvbSBjb21tYW5kIG91dHB1dHMgdGhhdCBhcmUgbmV2ZXIKCSAgYWN0dWFsbHkgY3JlYXRlZCBvbiBkaXNrLiAgVGhpcyBpcyB1c2VkIGJ5IHRoZSBXYXRjb20gV01ha2UKCSAgZ2VuZXJhdG9yIHRvIGdlbmVyYXRlIHRoZSAuU1lNQk9MSUMgbWFyayBvbiB0aGUgZmlsZXMgaW4gdGhlIG1ha2UKCSAgc3lzdGVtLgoKMjAwNi0xMC0wMiAxMDoxNyAga2luZwoKCSogVGVzdHMvQ3VzdG9tQ29tbWFuZC86IENNYWtlTGlzdHMudHh0LCBjaGVja19jb21tYW5kX2xpbmUuYy5pbjoKCSAgQ09NUDogRml4IGNvbW1hbmQgbGluZSBjaGVjayB0ZXN0IGltcGxlbWVudGF0aW9uIGZvciBXYXRjb20uCgoyMDA2LTEwLTAyIDA5OjAzICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEVOSDogZml4IGZyb20gY2xpbnRvbgoKMjAwNi0xMC0wMiAwNDoyNiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTEwLTAxIDA0OjM1ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDktMzAgMDM6NTUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wOS0yOSAxNjo0MiAga2luZwoKCSogU291cmNlLzogY21HZXRUYXJnZXRQcm9wZXJ0eUNvbW1hbmQuaCwgY21UYXJnZXQuY3h4OiBFTkg6IEFkZGVkCgkgIHN1cHBvcnQgZm9yIGdldHRpbmcgYSB0YXJnZXQncyBsb2NhdGlvbiBvbiBhIHBlci1jb25maWd1cmF0aW9uCgkgIGJhc2lzIChleC4gREVCVUdfTE9DQVRJT04pLiAgVGhpcyBkb2VzIG5vdCBmaXggYnV0IGhlbHBzIHdpdGgKCSAgYnVnIzMyNTAuCgoyMDA2LTA5LTI5IDE2OjE0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEVOSDogZml4IGZhaWxpbmcgdGVzdHMgb24gbWFjCgoyMDA2LTA5LTI5IDA5OjExICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBCVUc6IEZpeGVkIGluY2x1c2lvbiBvZgoJICBwcm9ncmVzcy5tYWtlIGZyb20gc3ViZGlyZWN0b3J5IG1ha2VmaWxlcy4KCjIwMDYtMDktMjkgMDM6NTMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wOS0yOCAxNzozNSAga2luZwoKCSogU291cmNlL2NtSW5jbHVkZUV4dGVybmFsTVNQcm9qZWN0Q29tbWFuZC5jeHg6IEJVRzogTW92ZSBoYWNrIGZyb20KCSAgb2xkIGNtTWFrZWZpbGU6OkFkZFV0aWxpdHlUYXJnZXQgdG8gdGhpcyBjb21tYW5kIGRpcmVjdGx5LiAgVGhlcmUKCSAgcmVhbGx5IG5lZWRzIHRvIGJlIGEgYmV0dGVyIHdheSB0byByZXByZXNlbnQgZXh0ZXJuYWwgcHJvamVjdAoJICB0YXJnZXRzLgoKMjAwNi0wOS0yOCAxNzoyMSAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBNb3ZlZAoJICBwcm9ncmVzcy5tYWtlIGZpbGUgaW50byBDTWFrZUZpbGVzIHN1YmRpcmVjdG9yeSB0byBrZWVwIHRoaW5ncwoJICBjbGVhbi4KCjIwMDYtMDktMjggMTY6NDAgIGtpbmcKCgkqIFNvdXJjZS86IGNtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuY3h4LCBjbUN1c3RvbUNvbW1hbmQuY3h4LAoJICBjbUN1c3RvbUNvbW1hbmQuaCwgY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvOEdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvOEdlbmVyYXRvci5oLCBjbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLCBjbU1ha2VmaWxlLmN4eCwKCSAgY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5oLAoJICBjbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmgsCgkgIGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LCBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmg6IEJVRzoKCSAgRml4L2NsZWFudXAgY3VzdG9tIGNvbW1hbmRzIGFuZCBjdXN0b20gdGFyZ2V0cy4gIE1ha2UgZW1wdHkKCSAgY29tbWVudCBzdHJpbmdzIHdvcmsuICBGaXggWkVST19DSEVDSyB0YXJnZXQgYWx3YXlzIG91dCBvZiBkYXRlCgkgIGZvciBkZWJ1Z2dpbmcuICBGaXggTWFrZWZpbGUgZHJpdmluZyBvZiBjdXN0b20gY29tbWFuZHMgaW4gYQoJICBjdXN0b20gdGFyZ2V0LiAgRml4IGRlcGVuZGVuY2llcyBvbiBjdXN0b20gdGFyZ2V0cyBub3QgaW4gQUxMIGluCgkgIFZTIGdlbmVyYXRvcnMuCgoyMDA2LTA5LTI4IDEzOjU1ICBraW5nCgoJKiBTb3VyY2UvOiBjbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuY3h4LCBjbUNQbHVnaW5BUEkuY3h4LAoJICBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvOEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBjbUluY2x1ZGVFeHRlcm5hbE1TUHJvamVjdENvbW1hbmQuY3h4LCBjbU1ha2VmaWxlLmN4eCwKCSAgY21NYWtlZmlsZS5oLCBjbVZUS1dyYXBKYXZhQ29tbWFuZC5jeHg6IEVOSDogQ2xlYW5lZCB1cCBzaWduYXR1cmUKCSAgb2YgY21NYWtlZmlsZTo6QWRkVXRpbGl0eUNvbW1hbmQuICBJdCBpcyBub3QgdmFsaWQgdG8gaGF2ZSBhbgoJICBvdXRwdXQgZnJvbSBhIHV0aWxpdHkgcnVsZSBhbmQgbm8gY2FsbHMgdG8gdGhlIG1ldGhvZCBhc2tlZCBmb3IKCSAgYW4gb3V0cHV0IGFueXdheS4gIFRoZSBhcmd1bWVudCBoYXMgYmVlbiByZW1vdmVkLgoKMjAwNi0wOS0yOCAxMTo0MiAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9Vbml4UGF0aHMuY21ha2U6IEJVRzogSGVhZGVyIGFuZCBsaWJyYXJ5IHNlYXJjaAoJICBwYXRoIG9yZGVyaW5nIHNob3VsZCBiZSBjb25zaXN0ZW50LgoKMjAwNi0wOS0yOCAxMTozMCAga2luZwoKCSogU291cmNlL2NtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5oLAoJICBTb3VyY2UvY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtQWRkQ3VzdG9tVGFyZ2V0Q29tbWFuZC5oLCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmgsIFRlc3RzL0N1c3RvbUNvbW1hbmQvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0N1c3RvbUNvbW1hbmQvY2hlY2tfY29tbWFuZF9saW5lLmMuaW46IEVOSDogQWRkZWQgVkVSQkFUSU0KCSAgb3B0aW9uIHRvIEFERF9DVVNUT01fQ09NTUFORCBhbmQgQUREX0NVU1RPTV9UQVJHRVQgY29tbWFuZHMuCgkgIFRoaXMgb3B0aW9uIGVuYWJsZXMgZnVsbCBlc2NhcGluZyBvZiBjdXN0b20gY29tbWFuZCBhcmd1bWVudHMgb24KCSAgYWxsIHBsYXRmb3Jtcy4gIFNlZSBidWcjMzc4Ni4KCjIwMDYtMDktMjggMTA6NDEgIGtpbmcKCgkqIFRlc3RzLzogQ29tcGxleC9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQ6IEVOSDogUmUtZW5hYmxpbmcgLmkKCSAgcnVsZSB0ZXN0IG9uIE1TWVMgbm93IHRoYXQgaXQgd29ya3MuCgoyMDA2LTA5LTI4IDEwOjM3ICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbE1TWVNNYWtlZmlsZUdlbmVyYXRvci5jeHgsIGNtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsR2VuZXJhdG9yLmgsIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmg6IEJVRzogTVNZUwoJICBtYWtlZmlsZSBzaGVsbCBuZWVkcyBwb3NpeCBwYXRocyB0byBleGVjdXRhYmxlcyBpbiBzb21lIGNhc2VzIGFuZAoJICBpdCBkb2VzIG5vdCBodXJ0IHRvIGRvIGl0IGFsd2F5cy4KCjIwMDYtMDktMjggMDk6NDkgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBjbUxvY2FsR2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBEbyBub3QgZmlsdGVyIHN5c3RlbQoJICBkaXJlY3RvcmllcyBmb3IgaW5jbHVkZSBmaWxlIGRlcGVuZGVuY2llcy4KCjIwMDYtMDktMjggMDI6MzMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wOS0yNyAxNjoyMCAga2luZwoKCSogU291cmNlL2NtQ3VzdG9tQ29tbWFuZC5jeHg6IENPTVA6IEZpeCBpbml0IG9yZGVyLgoKMjAwNi0wOS0yNyAxNjoxNCAga2luZwoKCSogU291cmNlL2NtQ29tbWFuZEFyZ3VtZW50UGFyc2VySGVscGVyLmN4eDogQlVHOiBPbmUgc2hvdWxkIGJlIGFibGUKCSAgdG8gZXNjYXBlIHRoZSBAIHN5bWJvbC4KCjIwMDYtMDktMjcgMTU6MjYgIGtpbmcKCgkqIFNvdXJjZS9jbUN1c3RvbUNvbW1hbmQuY3h4OiBCVUc6IFRoZSBjb3B5IGNvbnN0cnVjdG9yIHNob3VsZCBjb3B5CgkgIHRoZSBlc2NhcGUgc2V0dGluZ3MuCgoyMDA2LTA5LTI3IDE0OjI3ICBraW5nCgoJKiBUZXN0cy86IENvbXBsZXgvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0OiBFTkg6IFJlLWVuYWJsZQoJICBwcmVwcm9jZXNzaW5nIHRhcmdldCB0ZXN0IGJ1dCBzcGVjaWZpY2FsbHkgZGlzYWJsZSBpdCBvbiBicm9rZW4KCSAgcGxhdGZvcm1zLgoKMjAwNi0wOS0yNyAxMzo0MyAga2luZwoKCSogU291cmNlLzogY21DdXN0b21Db21tYW5kLmN4eCwgY21DdXN0b21Db21tYW5kLmgsCgkgIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LCBjbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbEdlbmVyYXRvci5oLCBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvR2VuZXJhdG9yLmN4eCwgY21Mb2NhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5oLAoJICBrd3N5cy9Qcm9jZXNzV2luMzIuYywga3dzeXMvU3lzdGVtLmMsIGt3c3lzL1N5c3RlbS5oLmluOiBFTkg6CgkgIFJlLWltcGxlbWVudGVkIGNvbW1hbmQgbGluZSBhcmd1bWVudCBzaGVsbCBxdW90aW5nIHRvIHN1cHBvcnQKCSAgc2V2ZXJhbCBwbGF0Zm9ybXMgd2l0aCBvbmUgY29kZSBiYXNlLgoKMjAwNi0wOS0yNyAxMzozMCAgYWxleAoKCSogTW9kdWxlcy86IEZpbmRQeXRob25JbnRlcnAuY21ha2UsIEZpbmRQeXRob25MaWJzLmNtYWtlOgoJICBFTkg6IGFwcGx5IHBhdGNoIGZyb20gRGlyayBNdWVsbGVyIHRvIHN1cHBvcnQgUHl0aG9uIDIuNQoKCSAgQWxleAoKMjAwNi0wOS0yNyAxMjo1NSAga2luZwoKCSogU291cmNlL2NtRGVwZW5kc0MuY3h4OiBTVFlMRTogRml4ZWQgbGluZS10b28tbG9uZy4KCjIwMDYtMDktMjYgMDg6MDQgIGFuZHkKCgkqIFNvdXJjZS9jbURlcGVuZHNDLmN4eDogQlVHOiBIYW5kbGUgaGVhZGVyIGZpbGUgZGVwZW5kZW5jaWVzIGZvcgoJICBvYmplY3RpdmUgQwoKMjAwNi0wOS0yNiAwMjozMCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA5LTI1IDE4OjMzICBraW5nCgoJKiBTb3VyY2UvY21Db21tYW5kQXJndW1lbnRMZXhlci5jeHg6IENPTVA6IFJlbW92ZWQgeXl1bnB1dCBmdW5jdGlvbgoJICB0byBhdm9pZCB3YXJuaW5nLgoKMjAwNi0wOS0yNSAxNDowMSAga2luZwoKCSogU291cmNlL2NtQ29tbWFuZEFyZ3VtZW50TGV4ZXIuY3h4OiBDT01QOiBSZXN0b3JpbmcgcHJldmlvdXMgQUlYCgkgIGZpeC4KCjIwMDYtMDktMjUgMTA6MjIgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwgVGVzdHMvQ3VzdG9tQ29tbWFuZC9DTWFrZUxpc3RzLnR4dDoKCSAgQlVHOiBEaXNhYmxlIG5ldyBzaGVsbCBlc2NhcGUgY29kZSB1bnRpbCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5CgkgIGNhbiBiZSBlc3RhYmxpc2hlZCBpbiB0aGUgbmV3IGltcGxlbWVudGF0aW9uLgoKMjAwNi0wOS0yNSAxMDowNSAga2luZwoKCSogU291cmNlL2NtQ29tbWFuZEFyZ3VtZW50TGV4ZXIuY3h4LAoJICBTb3VyY2UvY21Db21tYW5kQXJndW1lbnRMZXhlci5oLAoJICBTb3VyY2UvY21Db21tYW5kQXJndW1lbnRMZXhlci5pbi5sLAoJICBUZXN0cy9TdHJpbmdGaWxlVGVzdC9DTWFrZUxpc3RzLnR4dDogQlVHOiBDaGFyYWN0ZXIgKyBzaG91bGQgYmUKCSAgdmFsaWQgaW4gYSB2YXJpYWJsZSBuYW1lLgoKMjAwNi0wOS0yNSAwMjozOSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA5LTI0IDEwOjI4ICBraW5nCgoJKiBUZXN0cy86IENvbXBsZXgvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0OiBCVUc6IERpc2FibGUgbmV3CgkgIHRlc3RfcHJlcHJvY2VzcyB0YXJnZXQgdW50aWwgaXQgaXMgZml4ZWQgb24gT1NYIHVuaXZlcnNhbAoJICBiaW5hcmllcyBhbmQgbWluZ3cuCgoyMDA2LTA5LTI0IDAyOjQwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDktMjMgMTc6MDkgIGtpbmcKCgkqIERvY3MvOiBjbWFrZS1pbmRlbnQudmltLCBjbWFrZS1zeW50YXgudmltOiBFTkg6IEFkZGluZyBlbHNlaWYgdG8KCSAgVklNIHN5bnRheCBhbmQgaW5kZW50YXRpb24gZmlsZXMuICBTZWUgYnVnICMzNzgxLgoKMjAwNi0wOS0yMyAxNjo1NSAga2luZwoKCSogVGVzdHMvOiBDb21wbGV4L0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXgvTGlicmFyeS90ZXN0X3ByZXByb2Nlc3MuY21ha2UsCgkgIENvbXBsZXhPbmVDb25maWcvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L3Rlc3RfcHJlcHJvY2Vzcy5jbWFrZSwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS90ZXN0X3ByZXByb2Nlc3MuY21ha2U6IEVOSDogQWRkaW5nCgkgIHRlc3QgZm9yIHJ1bm5pbmcgcHJlcHJvY2Vzc29yIHJ1bGVzLgoKMjAwNi0wOS0yMyAxNjozMiAga2luZwoKCSogRG9jcy9jbWFrZS1tb2RlLmVsOiBFTkg6IEFkZGluZyBlbHNlaWYgaW5kZW50YXRpb24uICBTZWUKCSAgYnVnIzM3ODEuCgoyMDA2LTA5LTIzIDE0OjQxICBhbmR5CgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja1pJUEdlbmVyYXRvci5jeHg6IEJVRzogQXR0ZW1wdCB0byBmaXggd2luemlwCgkgIHByb2JsZW1zCgoyMDA2LTA5LTIzIDAyOjMzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDktMjIgMTE6NDkgIG1hcnRpbmsKCgkqIFRlc3RzLzogQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwgQ29tcGxleC9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LCBDb21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogRU5IOiBhZGRlZCB0ZXN0IGZvcgoJICBlbHNlaWYKCjIwMDYtMDktMjIgMTE6MjMgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQ29tbWFuZHMuY3h4LCBjbUVsc2VJZkNvbW1hbmQuY3h4LCBjbUVsc2VJZkNvbW1hbmQuaCwKCSAgY21JZkNvbW1hbmQuY3h4LCBjbUlmQ29tbWFuZC5oOiBFTkg6IGFkZGVkIGVsc2VpZgoKMjAwNi0wOS0yMiAwODo0MiAga2luZwoKCSogVGVzdHMvQ3VzdG9tQ29tbWFuZC9DTWFrZUxpc3RzLnR4dDogQ09NUDogTmVlZCBBTlNJIEMgZmxhZ3MgdG8KCSAgYnVpbGQgY2hlY2tfY29tbWFuZF9saW5lLmMuCgoyMDA2LTA5LTIyIDAyOjE5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDktMjEgMTc6MjEgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IENPTVA6IEZpeCBzaGFkb3dlZAoJICBsb2NhbCB2YXJpYWJsZSBjcmVhdGVkIGJ5IHByZXZpb3VzIGNtYWtlX2ZvcmNlIGNoYW5nZS4KCjIwMDYtMDktMjEgMTY6MTEgIGtpbmcKCgkqIFRlc3RzL0N1c3RvbUNvbW1hbmQvOiBDTWFrZUxpc3RzLnR4dCwgY2hlY2tfY29tbWFuZF9saW5lLmMuaW46CgkgIEVOSDogQWRkaW5nIHRlc3QgZm9yIG5vbi10cml2aWFsIGN1c3RvbSBjb21tYW5kIGxpbmUgYXJndW1lbnRzLgoJICBUaGlzIGlzIGZvciBidWcjMzc4Ni4KCjIwMDYtMDktMjEgMTY6MTAgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LCBjbUxvY2FsR2VuZXJhdG9yLmg6IEJVRzoKCSAgRW5hYmxlZCB1c2Ugb2YgRXNjYXBlRm9yU2hlbGwgdG8gcHJvcGVybHkgZXNjYXBlIGN1c3RvbSBjb21tYW5kCgkgIGxpbmVzLiAgVGhpcyBhZGRyZXNzZXMgYnVnIzM3ODYgZm9yIFhjb2RlLgoKMjAwNi0wOS0yMSAxNTozNSAga2luZwoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBCVUc6IE5lZWQgdG8gZXNjYXBlIHNwYWNlcyBpbiBjdXN0b20KCSAgY29tbWFuZCBsaW5lIGFyZ3VtZW50cy4KCjIwMDYtMDktMjEgMTU6MzAgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogQlVHOiBEbyBub3QgZXNjYXBlIHBhcmVucyBiZWNhdXNlIHdlCgkgIG5lZWQgdG8gYmUgYWJsZSB0byByZWZlcmVuY2UgbWFrZSB2YXJpYWJsZXMgaW4gdGhlIHNjcmlwdHMuCgoyMDA2LTA5LTIxIDE1OjE0ICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFZpc3VhbFN0dWRpbzhHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5oLAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvR2VuZXJhdG9yLmN4eCwgY21Mb2NhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5oOgoJICBCVUc6IENlbnRyYWxpemVkIGdlbmVyYXRpb24gb2YgY29tbWFuZCBsaW5lIGFyZ3VtZW50cyBpbiBlc2NhcGVkCgkgIGZvcm0uICBUaGlzIGFkZHJlc3NlcyBidWcjMzc4NiBmb3Igc2V2ZXJhbCBwbGF0Zm9ybXMuCgoyMDA2LTA5LTIxIDE1OjA5ICBhbmR5CgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja1pJUEdlbmVyYXRvci5jeHg6IEVOSDogSGFuZGxlIHppcCAoY29tbWFuZAoJICBsaW5lIHdhcyB0b28gbG9uZykKCjIwMDYtMDktMjEgMTQ6NDYgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW0uYzogQlVHOiBXaW5kb3dzX1NoZWxsQXJndW1lbnQ6IG5lZWQgdG8gZXNjYXBlCgkgIGlmIHRoZSBzdHJpbmcgY29udGFpbnMgb25lIG9mIGEgc2V0IG9mIHNwZWNpYWwgY2hhcmFjdGVycyBhcyB3ZWxsCgkgIGFzIHNwYWNlcy4gIE1vdmVkIHRlc3QgZm9yIG5lZWRpbmcgZXNjYXBlcyB0byBhIHNlcGFyYXRlIG1ldGhvZAoJICBrd3N5c1N5c3RlbVdpbmRvd3NTaGVsbEFyZ3VtZW50TmVlZHNFc2NhcGUuCgoyMDA2LTA5LTIxIDEzOjQ3ICBraW5nCgoJKiBib290c3RyYXA6IEVOSDogQWRkZWQgU3lzdGVtIGNvbXBvbmVudCBvZiBrd3N5cy4KCjIwMDYtMDktMjEgMTE6NDkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IENNYWtlTGlzdHMudHh0LCBQcm9jZXNzV2luMzIuYywgU3lzdGVtLmMsCgkgIFN5c3RlbS5oLmluOiBFTkg6IEFkZGluZyAnU3lzdGVtJyBjb21wb25lbnQgb2YgQyBzb3VyY2VzIHRvIGhvbGQKCSAgc3lzdGVtIHRvb2xzIHdyaXR0ZW4gaW4gQy4gIE1vdmVkIHdpbmRvd3Mgc2hlbGwgY29tbWFuZCBsaW5lCgkgIGFyZ3VtZW50IGVzY2FwaW5nIGNvZGUgdG8ga3dzeXNTeXN0ZW1fV2luZG93c19TaGVsbEFyZ3VtZW50IGFuZAoJICBrd3N5c1N5c3RlbV9XaW5kb3dzX1NoZWxsQXJndW1lbnRTaXplLgoKMjAwNi0wOS0yMSAxMDowNCAga2luZwoKCSogU291cmNlL2t3c3lzL1NoYXJlZEZvcndhcmQuaC5pbjogRU5IOiBBZGRlZAoJICBLV1NZU19TSEFSRURfRk9SV0FSRF9PUFRJT05fQ09NTUFORCBvcHRpb24gdG8gYWxsb3cgdXNlcnMgdG8KCSAgcmVwbGFjZSB0aGUgY29tbWFuZCBleGVjdXRlZC4gIEV4dGVuZGVkIGRvY3VtZW50YXRpb24gYXQgdG9wIG9mCgkgIGZpbGUuCgoyMDA2LTA5LTIxIDAyOjExICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDktMjAgMTI6MTMgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogY21ha2VfZm9yY2UgbmVlZHMKCSAgdG8gYmUgd3JpdHRlbiBpbnRvIGJ1aWxkLm1ha2UgYXMgd2VsbCBhcyBNYWtlZmlsZS4KCjIwMDYtMDktMjAgMDI6MTMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wOS0xOSAxNjoxMSAgYWxleAoKCSogTW9kdWxlcy86IENPUFlJTkctQ01BS0UtU0NSSVBUUywgRmluZEFTUEVMTC5jbWFrZSwKCSAgRmluZEJaaXAyLmNtYWtlLCBGaW5kSFNQRUxMLmNtYWtlLCBGaW5kSmFzcGVyLmNtYWtlLAoJICBGaW5kTGliWG1sMi5jbWFrZSwgRmluZExpYlhzbHQuY21ha2UsIEZpbmRPcGVuU1NMLmNtYWtlOiBFTkg6IGFkZAoJICBjbWFrZSBtb2R1bGVzIGZvciBzb21lIGNvbW1vbiBsaWJyYXJpZXM6IGFzcGVsbCwgaHNwZWxsLCBiemlwMiwKCSAgamFzcGVyIChqcGVnMjAwMCksIGxpYnhtbDIgYW5kIGxpYnhzbHQgYW5kIG9wZW5zc2wgYW5kIHRoZQoJICBhY2NvbXBhbnlpbmcgbGljZW5zZSAoQlNEKQoKCSAgQWxleAoKMjAwNi0wOS0xOSAwMjoxNyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA5LTE4IDE3OjU1ICBhbGV4CgoJKiBNb2R1bGVzLzogQ2hlY2tDQ29tcGlsZXJGbGFnLmNtYWtlLCBDaGVja0NYWENvbXBpbGVyRmxhZy5jbWFrZToKCSAgRU5IOiB0d28gbWFjcm9zIHRvIGNoZWNrIHdoZXRoZXIgdGhlIEMvQ1hYIGNvbXBpbGVyIHN1cHBvcnRzIGEKCSAgZ2l2ZW4gZmxhZzogQ0hFQ0tfQ1hYX0NPTVBJTEVSX0ZMQUcoIi1XYWxsIgoJICBDT01QSUxFUl9TVVBQT1JUU19XQUxMKQoKCSAgQWxleAoKMjAwNi0wOS0xOCAwOTo0MCAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9RTlguY21ha2U6IEVOSDogRW5hYmxpbmcgbGluayB0eXBlIHNlbGVjdGlvbgoJICBmbGFncyBmb3IgdGhpcyBwbGF0Zm9ybS4gIFNlZSBidWcjMTY0NCBmb3IgZGV0YWlscy4KCjIwMDYtMDktMTggMDI6MzYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wOS0xNyAwOToyNCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA5LTE2IDExOjU0ICBraW5nCgoJKiBTb3VyY2UvY21EZXBlbmRzQy5jeHg6IFNUWUxFOiBGaXhlZCBsaW5lLXRvby1sb25nLgoKMjAwNi0wOS0xNiAxMTo1MiAga2luZwoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBCVUc6IERvIG5vdCBsb29rIGZvciBsaW5rZXIgbGFuZ3VhZ2UKCSAgdW5sZXNzIGl0IGlzIG5lZWRlZC4KCjIwMDYtMDktMTYgMTE6NDcgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vU3VuT1MuY21ha2U6IEJVRzogTmVlZCAtV2wsIHRvIHBhc3MgbGlua2VyIGZsYWdzCgkgIHdoZW4gdXNpbmcgZ2NjIG9uIFN1bi4KCjIwMDYtMDktMTYgMDk6MTkgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wOS0xNSAxNToxOSAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9BSVguY21ha2U6IEVOSDogRW5hYmxpbmcgbGluayB0eXBlIHNlbGVjdGlvbgoJICBmbGFncyBmb3IgdGhpcyBwbGF0Zm9ybS4gIFNlZSBidWcjMTY0NCBmb3IgZGV0YWlscy4KCjIwMDYtMDktMTUgMTU6MTggIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vSFAtVVguY21ha2U6IFNUWUxFOiBVcGRhdGVkIGNvbW1lbnQgYWJvdXQgbGluawoJICB0eXBlIGZsYWdzIGFuZCBwYXNzaW5nIGRpcmVjdGx5IHRvIGxkLgoKMjAwNi0wOS0xNSAxNToxNCAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9IUC1VWC5jbWFrZTogQlVHOiBGaXgKCSAgQ01BS0VfU0hBUkVEXypfTElOS18qX0NfRkxBR1MgdG8gcGFzcyBsaW5rIHR5cGUgc2VsZWN0aW9uIGZsYWdzCgkgIGRpcmVjdGx5IHRvIHRoZSBsaW5rZXIuCgoyMDA2LTA5LTE1IDE1OjA1ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1N1bk9TLmNtYWtlOiBFTkg6IEVuYWJsaW5nIGxpbmsgdHlwZSBzZWxlY3Rpb24KCSAgZmxhZ3MgZm9yIHRoaXMgcGxhdGZvcm0uICBTZWUgYnVnIzE2NDQgZm9yIGRldGFpbHMuCgoyMDA2LTA5LTE1IDE0OjU4ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtLzogRnJlZUJTRC5jbWFrZSwgSFAtVVguY21ha2U6IEVOSDogRW5hYmxpbmcgbGluawoJICB0eXBlIHNlbGVjdGlvbiBmbGFncyBmb3IgdGhpcyBwbGF0Zm9ybS4gIFNlZSBidWcjMTY0NCBmb3IKCSAgZGV0YWlscy4KCjIwMDYtMDktMTUgMTQ6MzEgIGtpbmcKCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4L0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsIENvbXBsZXgvTGlicmFyeS9UZXN0TGluay5jLAoJICBDb21wbGV4T25lQ29uZmlnL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvTGlicmFyeS9UZXN0TGluay5jLAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L1Rlc3RMaW5rLmM6IEVOSDogQWRkZWQgdGVzdCBmb3IKCSAgbGlua2luZyB0byBhIHN0YXRpYyBsaWJyYXJ5IHRoYXQgaXMgbmV4dCB0byBhIHNoYXJlZCBsaWJyYXJ5LgoJICBTZWUgYnVnIzE2NDQgZm9yIHJlbGF0ZWQgY2hhbmdlcy4KCjIwMDYtMDktMTUgMTQ6MDggIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VDWFhJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVN5c3RlbVNwZWNpZmljSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vTGludXguY21ha2UsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtT3JkZXJMaW5rRGlyZWN0b3JpZXMuY3h4LAoJICBTb3VyY2UvY21PcmRlckxpbmtEaXJlY3Rvcmllcy5oLAoJICBUZXN0cy9TeXN0ZW1JbmZvcm1hdGlvbi9TeXN0ZW1JbmZvcm1hdGlvbi5pbjogRU5IOiBBZGRpbmcgc3VwcG9ydAoJICB0byBsaW5rIHNwZWNpZmljYWxseSB0byBhbiBhcmNoaXZlIG9yIGEgc2hhcmVkIGxpYnJhcnkgYmFzZWQgb24KCSAgdGhlIGZpbGUgbmFtZSBzcGVjaWZpZWQuICBUaGlzIGZpeGVzIHRoZSBwcm9ibGVtIG9mIGhhdmluZyAtbGZvbwoJICBsaW5raW5nIHRvIGxpYmZvby5zbyBldmVuIHdoZW4gaXQgY2FtZSBmcm9tIGxpYmZvby5hIGJlaW5nCgkgIHNwZWNpZmllZC4KCjIwMDYtMDktMTUgMTQ6MDIgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VGb3J0cmFuSW5mb3JtYXRpb24uY21ha2U6IFNUWUxFOiBSZW1vdmluZyB1bnVzZWQKCSAgcGxhdGZvcm0gdmFyaWFibGUgQ01BS0VfU0hBUkVEX01PRFVMRV9MSU5LX0ZvcnRyYW5fRkxBR1MuICBJdAoJICBkb2VzIG5vdCBtYWtlIHNlbnNlIGJlY2F1c2Ugbm90aGluZyBsaW5rcyB0byBzaGFyZWQgbW9kdWxlcy4KCjIwMDYtMDktMTUgMDk6MjMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wOS0xNCAwOTowOSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA5LTEzIDEyOjQzICBraW5nCgoJKiBTb3VyY2UvOiBjbURlcGVuZHNDLmN4eCwgY21EZXBlbmRzQy5oOiBFTkg6IFBhdGNoIGZyb20gQWxleCB0bwoJICBzcGVlZCBkZXBlbmRlbmN5IHNjYW5uaW5nIGFwcHJveGltYXRlbHkgMnguCgoyMDA2LTA5LTEzIDExOjM5ICBraW5nCgoJKiBTb3VyY2UvY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmN4eDogRU5IOiBBZGRlZCBkaWFnbm9zaXMgb2YgYmFkCgkgIHRhcmdldCBuYW1lcy4KCjIwMDYtMDktMTMgMTE6MjIgIGtpbmcKCgkqIE1vZHVsZXMvRmluZHd4V2lkZ2V0cy5jbWFrZTogQlVHOiBQYXRjaCBmcm9tIFBldGVyIFZpc3NlciB0byBydW4KCSAgd3gtY29uZmlnIGZyb20gYW4gTVNZUyBwcm9tcHQuCgoyMDA2LTA5LTEzIDA4OjU1ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDktMTIgMTA6MjEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eDogRU5IOiBwdXQgdGhlIGlmIGluIHRoZQoJICByaWdodCBwbGFjZQoKMjAwNi0wOS0xMiAxMDowMyAgaG9mZm1hbgoKCSogU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4OiBFTkg6IGZpeCBmb3IgQlVHOiAjNzM5CgkgIGFnYWluLCBtYWtlZmlsZXMgZGlkIG5vdCBkZXBlbmQgb24gZXh0ZXJuYWwgZnVsbCBwYXRoIGxpYnJhcmllcwoKMjAwNi0wOS0xMiAwOToxOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA5LTEwIDIyOjI2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDktMDkgMjE6MDYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wOS0wOCAyMjo1MSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA5LTA4IDEwOjQyICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsIGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4OgoJICBCVUc6IEZpeGVkIG9yZGVyaW5nIG9mIGNvZGUgZ2VuZXJhdGVkIGluIE1ha2VmaWxlIGFuZCBidWlsZC5tYWtlCgkgIGZpbGVzIHRvIG1ha2Ugc3VyZSAuU1VGRklYRVMgcnVsZSBjb21lcyBhcyBlYXJseSBhcyBwb3NzaWJsZS4KCSAgQWxzbyBjbGVhbmVkIHVwIGRvY3VtZW50YXRpb24gaW4gZ2VuZXJhdGVkIGZpbGVzLgoKMjAwNi0wOS0wOCAxMDozOSAga2luZwoKCSogU291cmNlL2NtSW5zdGFsbENvbW1hbmQuY3h4OiBTVFlMRTogRml4ZWQgbGluZS10b28tbG9uZy4KCjIwMDYtMDktMDggMDk6NTggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wOS0wNyAxMDowNSAga2luZwoKCSogU291cmNlL2NtSW5zdGFsbENvbW1hbmQuY3h4OiBFTkg6IFBhdGNoIGZyb20gVG9uaSBUaW1vbmVuIHRvCgkgIGFsbG93IGNyb3NzLWNvbXBpbGluZyBvZiBETExzLgoKMjAwNi0wOS0wNyAwODo1OCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA5LTA2IDA5OjEwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDktMDYgMDg6MzEgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBGaW5kUXQ0LmNtYWtlLCBVc2VRdDQuY21ha2U6IEVOSDogZml4ZXMgZnJvbSBDbGludG9uIHRvCgkgIGFsbG93IHF0IHRvIHdvcmsgd2l0aCBzdGF0aWMgbGlicwoKMjAwNi0wOS0wNSAwOTowMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA5LTA0IDA5OjA0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDktMDMgMDk6MDAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wOS0wMiAxMDo1MSAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBQYXRjaCBmcm9tIEFsZXggdG8KCSAgZml4IG5hbWUgb2YgaW5jbHVkZWNhY2hlIGZpbGVzIHRvIG5vdCBsb29rIGxpa2Ugc291cmNlIGZpbGVzLgoKMjAwNi0wOS0wMiAwOTowMyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA5LTAxIDA5OjUxICBraW5nCgoJKiBTb3VyY2UvOiBjbUJ1aWxkTmFtZUNvbW1hbmQuaCwgY21FeGVjUHJvZ3JhbUNvbW1hbmQuaCwKCSAgY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUluc3RhbGxGaWxlc0NvbW1hbmQuaCwKCSAgY21JbnN0YWxsUHJvZ3JhbXNDb21tYW5kLmgsIGNtSW5zdGFsbFRhcmdldHNDb21tYW5kLmgsCgkgIGNtTGlua0xpYnJhcmllc0NvbW1hbmQuaCwgY21NYWtlRGlyZWN0b3J5Q29tbWFuZC5oLAoJICBjbVJlbW92ZUNvbW1hbmQuaCwgY21TdWJkaXJDb21tYW5kLmgsIGNtU3ViZGlyRGVwZW5kc0NvbW1hbmQuaCwKCSAgY21WVEtNYWtlSW5zdGFudGlhdG9yQ29tbWFuZC5oLCBjbVZUS1dyYXBKYXZhQ29tbWFuZC5oLAoJICBjbVZUS1dyYXBQeXRob25Db21tYW5kLmgsIGNtVlRLV3JhcFRjbENvbW1hbmQuaDogU1RZTEU6IEZpeGVkCgkgIGxpbmUtdG9vLWxvbmcgd2FybmluZy4KCjIwMDYtMDktMDEgMDg6NTggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wOC0zMSAxNjo0MCAga2luZwoKCSogU291cmNlL2NtQWRkU3ViRGlyZWN0b3J5Q29tbWFuZC5jeHg6IEJVRzogRml4IGF1dG9tYXRpYwoJICBjb21wdXRhdGlvbiBvZiBiaW5hcnkgcGF0aCB0byB3b3JrIGZvciBzdWJkaXJlY3RvcmllcyBvZiBvdXQgb2YKCSAgc291cmNlIGRpcmVjdG9yaWVzLiAgVGhpcyBhZGRyZXNzZXMgYnVnIzM1OTIuCgoyMDA2LTA4LTMxIDE0OjA5ICBraW5nCgoJKiBTb3VyY2UvOiBjbURlcGVuZHNDLmN4eCwgY21EZXBlbmRzQy5oLAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsIGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4OgoJICBFTkg6IE1ha2Ugc3VyZSBhbGwgY3VzdG9tIGNvbW1hbmQgb3V0cHV0cyBhcmUgdXAgdG8gZGF0ZSBiZWZvcmUKCSAgc2Nhbm5pbmcgZGVwZW5kZW5jaWVzLiAgVGhpcyBhdm9pZHMgdGhlIG5lZWQgdG8gcGFzcyBhIGxpc3Qgb2YKCSAgZ2VuZXJhdGVkIGZpbGVzIHRvIHRoZSBkZXBlbmRlbmN5IHNjYW5uaW5nIGNvZGUgYW5kIHRvIHJlc2NhbgoJICBhZnRlciB0aGUgZmlsZXMgaGF2ZSBiZWVuIGdlbmVyYXRlZC4JQ3VycmVudGx5IHRoZXJlIGlzIG5vCgkgIG5vdGlvbiBvZiBpbXBsaWNpdCBkZXBlbmRlbmNpZXMgb2YgdGhlIGN1c3RvbSBjb21tYW5kcyB0aGVtc2VsdmVzCgkgIHNvIHRoaXMgZGVzaWduIGlzIHNhZmUuICBXZSBvbmx5IG5lZWQgdG8gbWFrZSBzdXJlIGltcGxpY2l0CgkgIGRlcGVuZGVuY2llcyBhcmUgdXAgdG8gZGF0ZSBiZWZvcmUgdGhlIG1ha2UgcHJvY2VzcyBmb3IgdGhlCgkgIC9idWlsZCBwYXJ0IG9mIGEgdGFyZ2V0IGlzIGV4ZWN1dGVkIGJlY2F1c2Ugb25seSB0aGlzIHByb2Nlc3MKCSAgbG9hZHMgdGhlbS4gIFRoaXMgaXMgYSBzdGVwIHRvd2FyZHMgZml4aW5nIGJ1ZyMzNjU4LgoKMjAwNi0wOC0zMSAxMzoyMCAga2luZwoKCSogU291cmNlLzogY21CdWlsZE5hbWVDb21tYW5kLmgsIGNtQ29tbWFuZC5oLAoJICBjbUV4ZWNQcm9ncmFtQ29tbWFuZC5oLCBjbUluc3RhbGxGaWxlc0NvbW1hbmQuaCwKCSAgY21JbnN0YWxsUHJvZ3JhbXNDb21tYW5kLmgsIGNtSW5zdGFsbFRhcmdldHNDb21tYW5kLmgsCgkgIGNtTGlua0xpYnJhcmllc0NvbW1hbmQuaCwgY21NYWtlRGlyZWN0b3J5Q29tbWFuZC5oLAoJICBjbVJlbW92ZUNvbW1hbmQuaCwgY21TdWJkaXJDb21tYW5kLmgsIGNtU3ViZGlyRGVwZW5kc0NvbW1hbmQuaCwKCSAgY21WVEtNYWtlSW5zdGFudGlhdG9yQ29tbWFuZC5oLCBjbVZUS1dyYXBKYXZhQ29tbWFuZC5oLAoJICBjbVZUS1dyYXBQeXRob25Db21tYW5kLmgsIGNtVlRLV3JhcFRjbENvbW1hbmQuaDogRU5IOiBQYXRjaCBmcm9tCgkgIEFsZXggdG8gYWRkIElzRGlzY291cmFnZWQgbWV0aG9kIGZvciBmdXR1cmUgdXNlIGluIGdlbmVyYXRpbmcKCSAgc2VwYXJhdGUgZG9jdW1lbnRhdGlvbiBmb3Igb2xkIGNvbW1hbmRzLiAgQWxzbyBtb2RpZmllZAoJICBkb2N1bWVudGF0aW9uIG9mIE1BS0VfRElSRUNUT1JZIGFuZCBSRU1PVkUgY29tbWFuZHMgdG8gaW5kaWNhdGUKCSAgdGhleSBzaG91bGQgbm90IGJlIHVzZWQuCgoyMDA2LTA4LTMxIDEwOjQ3ICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIGNtSW5zdGFsbENvbW1hbmQuY3h4LCBjbUluc3RhbGxGaWxlc0NvbW1hbmQuY3h4LAoJICBjbUluc3RhbGxQcm9ncmFtc0NvbW1hbmQuY3h4LCBjbUluc3RhbGxUYXJnZXRzQ29tbWFuZC5jeHg6IEVOSDoKCSAgRG8gbm90IGdlbmVyYXRlIGluc3RhbGwgdGFyZ2V0IHVubGVzcyBzb21lIElOU1RBTEwgb3IgSU5TVEFMTF8qCgkgIGNvbW1hbmRzIGhhdmUgYmVlbiB1c2VkLiAgVGhpcyBhZGRyZXNzZXMgYnVnIzI4MjcuCgoyMDA2LTA4LTMxIDEwOjQ2ICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lUkNDb21waWxlci5jbWFrZTogQlVHOiBOZWVkIHRvIHNlYXJjaCBmb3IKCSAgcmMgYnkgZGVmYXVsdCwgbm90IGMrKyBjb21waWxlcnMuCgoyMDA2LTA4LTMxIDA5OjAzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDgtMzAgMTM6NTkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IENNYWtlTGlzdHMudHh0LCBrd3N5c1BsYXRmb3JtQ3h4VGVzdHMuY21ha2U6IENPTVA6CgkgIEZpeCB0cnktY29tcGlsZSB0byBmYWlsIHByb3Blcmx5IG9uIEhQLgoKMjAwNi0wOC0zMCAxMzo1MSAgYWxleAoKCSogTW9kdWxlcy9GaW5kUXQzLmNtYWtlOiBFTkg6IGF1dG9tYXRpY2FsbHkgZmluZCBRdDMgb24gU1VTRSwgcGF0Y2gKCSAgZnJvbSBEaXJrIE11ZWxsZXIgYW5kIFN0ZXBoYW4gS3Vsb3cKCgkgIEFsZXgKCjIwMDYtMDgtMzAgMTM6NDcgIGFsZXgKCgkqIE1vZHVsZXMvRmluZFBORy5jbWFrZTogRU5IOiBhbHNvIGxvb2sgaW4KCSAgL3Vzci9sb2NhbC9pbmNsdWRlL2xpYnBuZyAoT3BlbkJTRCkgRU5IOiBlcnJvciBvdXQgd2l0aAoJICBGQVRBTF9FUlJPUiBpZiBSRVFVSVJFRCB3YXMgZ2l2ZW4gYnV0IHBuZyBoYXNuJ3QgYmVlbiBmb3VuZAoKCSAgQWxleAoKMjAwNi0wOC0zMCAxMDowMCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA4LTI5IDE2OjA4ICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxLZGV2ZWxvcEdlbmVyYXRvci5jeHg6IEVOSDogUGF0Y2ggZnJvbSBBbGV4IHRvIGZpeAoJICBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IHdoZW4gcnVubmluZyBleGVjdXRhYmxlcyBidWlsdCBpbgoJICBLRGV2ZWxvcC4KCjIwMDYtMDgtMjkgMTU6MDggIGtpbmcKCgkqIFNvdXJjZS9jbUluc3RhbGxDb21tYW5kLmg6IEVOSDogQWRkIHN1cHBvcnQgdG8gSU5TVEFMTChESVJFQ1RPUlkpCgkgIHRvIGluc3RhbGwgYW4gZW1wdHkgZGlyZWN0b3J5LiAgVGhpcyBhZGRyZXNzZXMgYnVnIzM1NzIuCgoyMDA2LTA4LTI5IDE1OjA0ICBraW5nCgoJKiBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUluc3RhbGxDb21tYW5kLmN4eCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZCBzdXBwb3J0IHRvCgkgIElOU1RBTEwoRElSRUNUT1JZKSB0byBpbnN0YWxsIGFuIGVtcHR5IGRpcmVjdG9yeS4gIFRoaXMgYWRkcmVzc2VzCgkgIGJ1ZyMzNTcyLgoKMjAwNi0wOC0yOSAxMzo1OSAga2luZwoKCSogTW9kdWxlcy86IENNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLAoJICBDTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlLAoJICBDTWFrZURldGVybWluZUZvcnRyYW5Db21waWxlci5jbWFrZSwKCSAgQ01ha2VEZXRlcm1pbmVSQ0NvbXBpbGVyLmNtYWtlOiBCVUc6IFNlYXJjaCBmb3IgdGhlIGNvbXBpbGVyIG9ubHkKCSAgb25jZSBhbmQgc3RvcmUgYSBmdWxsIHBhdGggdG8gaXQgaW4gdGhlIGNhY2hlLiAgVGhpcyBhdm9pZHMKCSAgcHJvYmxlbXMgd2l0aCB0aGUgY2FzZSBvZiBsb2NhdGlvbnMgaW4gdGhlIFBBVEggdmFyaWFibGUgb24KCSAgV2luZG93cyB0aGF0IGNoYW5nZSB0aGUgY29tcGlsZXIgbmFtZSB3aGVuIENNYWtlIGlzIHJlLXJ1bi4KCSAgQ01ha2VGaWxlcy9DTWFrZSpDb21waWxlci5jbWFrZSBmaWxlcyBzaG91bGQgaG9sZCB0aGUgZnVsbCBwYXRoCgkgIHRvIHRoZSBjb21waWxlciBhbHdheXMuCgoyMDA2LTA4LTI5IDEyOjU1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaDogQlVHOiBiYWQgcHJvZ3Jlc3MgZm9yIG5hbWVkIHRvcAoJICBsZXZlbCB0YXJnZXRzCgoyMDA2LTA4LTI5IDEwOjI3ICBraW5nCgoJKiBTb3VyY2UvY21TdGFuZGFyZEluY2x1ZGVzLmg6IENPTVA6IEZpeCB3YXJuaW5ncyBpbiBzeXN0ZW0gaGVhZGVycwoJICBvbiBWUzYuCgoyMDA2LTA4LTI5IDEwOjAzICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLCBjbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBFTkg6IEFkZGluZyBpbnN0YWxsL2xvY2FsCgkgIGdsb2JhbCB0YXJnZXQgZm9yIE1ha2VmaWxlIGdlbmVyYXRvcnMuICBUaGlzIHJ1bnMgaW5zdGFsbGF0aW9uCgkgIG9ubHkgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5IGFuZCBub3Qgc3ViZGlyZWN0b3JpZXMuCgoyMDA2LTA4LTI5IDA5OjQwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDgtMjggMDg6NTUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wOC0yNyAxNTo1MiAgYWxleAoKCSogTW9kdWxlcy86IEtERTNNYWNyb3MuY21ha2UsIGtkZTN1aWMuY21ha2U6IEJVRzogZml4ICMzMzI0OgoJICBLREUzTWFjcm9zLmNtYWtlIGRpZG4ndCBmaW5kIFF0IGRlc2lnbmVyIHBsdWdpbnMgd2hlbiBydW5uaW5nIHVpYwoJICAodGhlIGtkZSBwbHVnaW4gZGlyIHdhc24ndCB1c2VkKQoKCSAgQWxleAoKMjAwNi0wOC0yNyAxNTozNCAgYWxleAoKCSogTW9kdWxlcy9GaW5kS0RFMy5jbWFrZTogU1RZTEU6IHJlbW92ZSB1bm5lY2Vzc2FyeQoJICAvdXNyL2xvY2FsL2luY2x1ZGUgc2VhcmNoIHBhdGgKCgkgIEFsZXgKCjIwMDYtMDgtMjcgMTM6NTkgIGFsZXgKCgkqIE1vZHVsZXMvRmluZFF0My5jbWFrZTogQlVHOiAjMzUxNDogcXQtbXQzLmxpYiB3YXNuJ3QgZm91bmQgb24KCSAgd2luZG93cyBTVFlMRTogcmVtb3ZlIHNvbWUgKG5vdykgdW5uZWNlc3NhcnkgL3Vzci9saWIsCgkgIC91c3IvbG9jYWwvbGliLCAvdXNyL2luY2x1ZGUgYW5kIC91c3IvbG9jYWwvaW5jbHVkZSBzZWFyY2ggcGF0aHMKCgkgIEFsZXgKCjIwMDYtMDgtMjcgMTM6MjMgIGtpbmcKCgkqIFNvdXJjZS9jbVN0YW5kYXJkSW5jbHVkZXMuaDogQ09NUDogVXNlIG5ldyBLV1N5cyBJT1N0cmVhbQoJICBjb21wb25lbnQgdG8gaGVscCBwcmludCBsYXJnZSBmaWxlIHNpemUgaW50ZWdlciB0eXBlcyB0byBzdHJlYW1zLgoKMjAwNi0wOC0yNyAxMzoxNyAga2luZwoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIElPU3RyZWFtLmN4eCwgSU9TdHJlYW0uaHh4LmluLAoJICBrd3N5c1BsYXRmb3JtQ3h4VGVzdHMuY3h4OiBFTkg6IEFkZGluZyBLV1N5cyBjb21wb25lbnQgSU9TdHJlYW0KCSAgdG8gcHJvdmlkZSBoZWxwIHdpdGggYnJva2VuIEMrKyBzdHJlYW0gbGlicmFyaWVzLgoKMjAwNi0wOC0yNyAxMzoxNSAga2luZwoKCSogU291cmNlLzogY21GaWxlQ29tbWFuZC5jeHgsIENQYWNrL2NtQ1BhY2tOU0lTR2VuZXJhdG9yLmN4eDogQ09NUDoKCSAgTmVlZCB0byB1c2UgY21zeXNfc3RsIHdoZW4gaW4gQ01ha2UgY29kZSwgbm90IGt3c3lzX3N0bC4KCjIwMDYtMDgtMjcgMTI6MzUgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9HbG9iLmh4eC5pbjogQlVHOiBOZWVkIHRvIHVuZGVmaW5lIHRlbXBvcmFyeSBtYWNyb3MKCSAgZGVmaW5lZCBhdCB0b3Agb2YgZmlsZS4KCjIwMDYtMDgtMjcgMTE6MjUgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c1BsYXRmb3JtQ3h4VGVzdHMuY21ha2U6IEJVRzogV2hlbiBhIHRyeS1ydW4KCSAgZmFpbHMgdG8gY29tcGlsZSBjcmVhdGUgdGhlIHJ1biByZXN1bHQgY2FjaGUgZW50cnkgd2l0aCBhIGJvZ3VzCgkgIG5vbi16ZXJvIHJldHVybiB2YWx1ZSB0byBhdm9pZCBydW5uaW5nIHRoZSB0ZXN0IGFnYWluLgoKMjAwNi0wOC0yNyAxMToxOSAgYWxleAoKCSogTW9kdWxlcy86IENoZWNrQ1NvdXJjZUNvbXBpbGVzLmNtYWtlLAoJICBDaGVja0NYWFNvdXJjZUNvbXBpbGVzLmNtYWtlOiBTVFlMRTogZml4ICMzNTE5IChpbmNvcnJlY3QKCSAgY29tbWVudCkKCgkgIEFsZXgKCjIwMDYtMDgtMjcgMTE6MTQgIGFsZXgKCgkqIE1vZHVsZXMvRmluZEtERTMuY21ha2U6IEJVRzogZml4IGNvbW1lbnQgKCMzNTExKQoKCSAgQWxleAoKMjAwNi0wOC0yNyAxMDoxOSAgYWxleAoKCSogTW9kdWxlcy9LREUzTWFjcm9zLmNtYWtlOiBCVUc6IGFwcGx5IHBhdGNoIGZyb20gYmVybyAoIzM1MTgpIHNvCgkgIHRoYXQgREVTVERJUiBpcyBzdXBwb3J0ZWQgZm9yIGluc3RhbGxpbmcgaWNvbnMKCgkgIEFsZXgKCjIwMDYtMDgtMjcgMDk6NTcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wOC0yNyAwOTozNCAgYWxleAoKCSogTW9kdWxlcy9GaW5kS0RFMy5jbWFrZTogRU5IOiAjMzIyNTogZmlyc3QgY2hlY2sgdGhlIHNwZWNpYWwKCSAgcGF0aHMsIHRoZSB0aGUgZGVmYXVsdCBwYXRoLCBhbHNvIGZvciBzZWFyY2hpbmcga2RlLWNvbmZpZwoKCSAgQWxleAoKMjAwNi0wOC0yNiAxNjoxNCAga2luZwoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQlVHOiBHZXRMaW5lRnJvbVN0cmVhbSBzaG91bGQKCSAgcmVtb3ZlIGNhcnJpYWdlIHJldHVybiBjaGFyYWN0ZXJzIHRvIG1ha2Ugc3VyZSBuZXdsaW5lcyBkbyBub3QKCSAgZ2V0IGR1cGxpY2F0ZXMuCgoyMDA2LTA4LTI2IDE1OjE3ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNQbGF0Zm9ybUN4eFRlc3RzLmNtYWtlOiBCVUc6IEZpeCBsb2NhdGlvbiBvZgoJICBDTWFrZU91dHB1dC5sb2cgYW5kIENNYWtlRXJyb3IubG9nLgoKMjAwNi0wOC0yNiAxNDo0MyAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBCVUc6IFJldmVydGluZyBwcmV2aW91cyBjaGFuZ2UgdW50aWwgaXQgaXMKCSAgZnVydGhlciB0ZXN0ZWQuCgoyMDA2LTA4LTI2IDE0OjM3ICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEJVRzogQ29uZmlndXJlRmlsZSBtdXN0IHJlYWQvd3JpdGUgaW4KCSAgYmluYXJ5IG1vZGUgdG8gYXZvaWQgd2luZG93cyBuZXdsaW5lIHRyb3VibGUuICBUaGUgcHJvYmxlbQoJICBvY2N1cnJlZCB3aGVuIGNvbmZpZ3VyaW5nIGEgZmlsZSBpbiBjeWd3aW4gZnJvbSBhIHBhdGggc3RhcnRpbmcKCSAgd2l0aCBhIHdpbmRvd3MgZHJpdmUgbGV0dGVyIGluc3RlYWQgb2YgYSBwb3NpeCBwYXRoLgoKMjAwNi0wOC0yNiAxMDoyOCAga2luZwoKCSogU291cmNlLzogY21JZkNvbW1hbmQuY3h4LCBjbUxpc3RDb21tYW5kLmN4eDogU1RZTEU6IEZpeGVkCgkgIGxpbmUtdG9vLWxvbmcuCgoyMDA2LTA4LTI2IDEwOjIyICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBTVFlMRTogRml4ZWQKCSAgbGluZS10b28tbG9uZy4KCjIwMDYtMDgtMjYgMDk6NDIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wOC0yNSAyMjo1NiAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oOiBCVUc6IEZpeCBmb3IgVlMuTkVUIDIwMDMgU1AxIHRvCgkgIG1ha2Ugc3VyZSBnbG9iYWwgdGFyZ2V0IGFuZCB1dGlsaXR5IHRhcmdldCBydWxlcyBydW4gZXZlcnkgdGltZS4KCjIwMDYtMDgtMjUgMjI6NTYgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHg6IEJVRzogTWFrZSBzdXJlIHRhcmdldHMgb2YgdHlwZQoJICBHTE9CQUxfVEFSR0VUIGhhdmUgYSBtYWtlZmlsZSBzZXQuCgoyMDA2LTA4LTI1IDIxOjIxICBraW5nCgoJKiBDTWFrZUxpc3RzLnR4dCwgYm9vdHN0cmFwOiBFTkg6IENoYW5naW5nIGRlZmF1bHQgZGF0YSBhbmQgZG9jCgkgIGRpcmVjdG9yaWVzIHRvIHNoYXJlL2NtYWtlLVYudiBhbmQgZG9jL2NtYWtlLVYudiBpbnN0ZWFkIG9mCgkgIHNoYXJlL0NNYWtlIGFuZCBkb2MvQ01ha2UgZm9yIGNvbnNpc3RlbmN5IHdpdGggbWFueSBsaW51eAoJICBkaXN0cmlidXRpb24gY29udmVudGlvbnMuCgoyMDA2LTA4LTI1IDIwOjUyICBraW5nCgoJKiBib290c3RyYXA6IENPTVA6IEZpeCBmb3IgbmV3IGt3c3lzIENvbmZpZ3VyZS5oLmluLgoKMjAwNi0wOC0yNSAxNjozMiAga2luZwoKCSogU291cmNlL2t3c3lzL0NvbmZpZ3VyZS5oLmluOiBDT01QOiBEaXNhYmxlIF9GSUxFX09GRlNFVF9CSVRTCgkgIGNoZWNrIHVudGlsIHN5cy90eXBlcy5oIGNoZWNrIGlzIGVuYWJsZWQuCgoyMDA2LTA4LTI1IDE2OjMxICBraW5nCgoJKiBTb3VyY2UvY21JZkNvbW1hbmQuY3h4LCBTb3VyY2UvY21JZkNvbW1hbmQuaCwKCSAgVGVzdHMvU3RyaW5nRmlsZVRlc3QvQ01ha2VMaXN0cy50eHQ6IEVOSDogUGF0Y2ggZnJvbSBBbGV4IGZvcgoJICBhZGRpbmcgSUYoRklMRV9JU19ORVdFUikuICBJIGFsc28gYWRkZWQgYSB0ZXN0LgoKMjAwNi0wOC0yNSAxNjowNyAga2luZwoKCSogU291cmNlL2t3c3lzL0NvbmZpZ3VyZS5oLmluOiBFTkg6IFNlcGFyYXRlIHRoZSBub3Rpb24gb2YgYQoJICByZXF1ZXN0IGZvciBMRlMgYW5kIGl0cyBhdmFpbGFiaWxpdHkuICBBbGxvdyB1c2VyIGNvZGUgdG8gYmxvY2sKCSAgZGVmaW5pdGlvbnMgb2YgTEZTIG1hY3Jvcy4gIEFkZGVkIGZyYW1ld29yayB0byBnaXZlIGVycm9yIGlmCgkgIHN5cy90eXBlcy5oIGlzIGluY2x1ZGVkIGJlZm9yZSB0aGlzIGhlYWRlciB3aGVuIExGUyBpcyByZXF1ZXN0ZWQKCSAgKGN1cnJlbnRseSBkaXNhYmxlZCkuCgoyMDA2LTA4LTI1IDE2OjAwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBDTWFrZUxpc3RzLnR4dCwgQ29uZmlndXJlLmguaW4sCgkgIFJlcXVpcmVMYXJnZUZpbGVzU3VwcG9ydC5jeHgsIGt3c3lzUGxhdGZvcm1DeHhUZXN0cy5jeHg6IEVOSDoKCSAgTW92ZWQgdGVzdCBmb3IgbGFyZ2UgZmlsZSBzdXBwb3J0IGludG8ga3dzeXNQbGF0Zm9ybUN4eFRlc3RzLmN4eAoJICB3aXRoIG5hbWUgS1dTWVNfTEZTX1dPUktTLgoKMjAwNi0wOC0yNSAxNTo1MyAga2luZwoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIGt3c3lzUGxhdGZvcm1DeHhUZXN0cy5jeHg6IEVOSDoKCSAgU3dpdGNoaW5nIEtXU1lTX0NIQVJfSVNfU0lHTkVEIHRlc3QgdG8gdXNlCgkgIEtXU1lTX1BMQVRGT1JNX0NYWF9URVNUX1JVTiBtYWNyby4KCjIwMDYtMDgtMjUgMTU6NTAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c1BsYXRmb3JtQ3h4VGVzdHMuY21ha2U6IEVOSDogQWRkZWQKCSAgS1dTWVNfUExBVEZPUk1fQ1hYX1RFU1RfUlVOIG1hY3JvLgoKMjAwNi0wOC0yNSAxMjoxMyAga2luZwoKCSogU291cmNlL2t3c3lzL0dsb2IuY3h4OiBFTkg6IEdsb2JiaW5nIHBhdHRlcm5zIHNob3VsZCBub3QgbWF0Y2ggYQoJICBzbGFzaCBpbnNpZGUgYSBmaWxlbmFtZSBjb21wb25lbnQuCgoyMDA2LTA4LTI1IDEyOjExICBraW5nCgoJKiBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHg6IEJVRzogQXZvaWQgcHV0dGluZyBkb3VibGUtc2xhc2hlcyBpbgoJICBmcm9tRmlsZSBkdXJpbmcgaW5zdGFsbGF0aW9uLiAgQWxzbyBhZGRlZCByZWdleCBkZWJ1Z2dpbmcgY29weSBvZgoJICB0aGUgZXhwcmVzc2lvbiBpbiBzdHJpbmcgZm9ybS4KCjIwMDYtMDgtMjUgMDk6MTQgIGtpbmcKCgkqIE1vZHVsZXMvVXNlU1dJRy5jbWFrZTogRU5IOiBBZGRlZCBpbnRlcmZhY2UgdG8gYWRkIGV4dHJhCgkgIGRlcGVuZGVuY2llcy4KCjIwMDYtMDgtMjUgMDU6MzUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wOC0yNCAxNDo1OCAga2luZwoKCSogU291cmNlLzogY21Db21tYW5kQXJndW1lbnRQYXJzZXIuY3h4LCBjbUNvbW1hbmRBcmd1bWVudFBhcnNlci55OgoJICBDT01QOiBBZGRlZCBtaXNzaW5nIGluY2x1ZGUgZm9yIG1hbGxvYyBvbiBRTlguCgoyMDA2LTA4LTI0IDEwOjU3ICBhbmR5CgoJKiBUZXN0cy86IFNpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFNpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dDogRU5IOiBBbHdheXMgZG8gdGFyLlogc2luY2Ugd2UgZG8KCSAgaGF2ZSBjb21wcmVzcyBub3cgYnVpbHRpbgoKMjAwNi0wOC0yNCAwOTo0NyAga2luZwoKCSogVGVzdHMvOiBTaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBTaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkZWQgY29kZSB0byByZW1vdmUgYW55IGJhZAoJICBpbnN0YWxsYXRpb25zIG9mIENWUyBkaXJlY3RvcmllcyBiZWZvcmUgcnVubmluZyB0aGUgdGVzdCBzbyB0aGF0CgkgIG9uZSBmYWlsdXJlIGRvZXMgbm90IG5lZWQgbWFudWFsIGFkanVzdG1lbnQgdG8gZ2V0IGl0IHRvIHBhc3MKCSAgYWdhaW4uCgoyMDA2LTA4LTI0IDA5OjM0ICBraW5nCgoJKiBTb3VyY2UvY21TdGFuZGFyZExleGVyLmg6IENPTVA6IEFkZCBtaXNzaW5nIG1hbGxvYy5oIGluY2x1ZGUgZm9yCgkgIFFOWC4KCjIwMDYtMDgtMjQgMDk6MDggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wOC0yMyAxODoxMSAgYWxleAoKCSogTW9kdWxlcy9Vc2VFY29zLmNtYWtlOiBFTkg6IGFkZCBpMzg2IHRvb2xjaGFpbiBhbmQgc29tZSBtaW5vcgoJICBpbXByb3ZlbWVudCBvZiB0aGUgY29tbWVudHMKCjIwMDYtMDgtMjMgMTI6MDIgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ29tbWFuZEFyZ3VtZW50TGV4ZXIuY3h4LCBjbUNvbW1hbmRBcmd1bWVudFBhcnNlci5jeHgsCgkgIGNtQ29tbWFuZEFyZ3VtZW50UGFyc2VyLnksIGNtRGVwZW5kc0phdmFMZXhlci5jeHgsCgkgIGNtRXhwckxleGVyLmN4eDogQ09NUDogQXR0ZW1wdCB0byBmaXggYWl4IGJ1aWxkCgoyMDA2LTA4LTIzIDEwOjIxICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21JbmNsdWRlRGlyZWN0b3J5Q29tbWFuZC5jeHg6IEVOSDogZml4IGJhZCBlcnJvcgoJICByZXBvcnRpbmcgd2l0aCBub3QgZm91bmQgcGF0aHMKCjIwMDYtMDgtMjMgMTA6MDAgIGFuZHkKCgkqIFNvdXJjZS9jbVN0YW5kYXJkSW5jbHVkZXMuaDogQ09NUDogQWRkIGxhcmdlIGZpbGVzIHN1cHBvcnQgdG8KCSAgQ01ha2UKCjIwMDYtMDgtMjMgMDk6NDcgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9UZXJtaW5hbC5jOiBFTkg6IEFkZGVkICcyNTZjb2xvcicgdGVybWluYWwgbmFtZXMuCgkgIFBhdGNoIGFwcGxpZWQgZnJvbSBidWcjMzY1MS4KCjIwMDYtMDgtMjMgMDk6NDUgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaDogRU5IOiBDZW50cmFsaXplZCBnZW5lcmF0aW9uIG9mCgkgIHRhcmdldHMgbGlzdGVkIGluIHRoZSBoZWxwIHRvIGJlIGRvbmUgYnkgdGhlIGNvZGUgdGhhdCBhY3R1YWxseQoJICB3cml0ZXMgdGhlIHRhcmdldHMuCgoyMDA2LTA4LTIzIDA5OjA0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDgtMjMgMDg6MDcgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dDogQ09NUDogU3VwcG9ydCBjbWFrZSBvbGRlciB0aGFuIDIuNAoKMjAwNi0wOC0yMiAxODozMyAgYWxleAoKCSogTW9kdWxlcy9Vc2VFY29zLmNtYWtlOiBTVFlMRTogZG9uJ3QgdXNlIHRoZSBoYWNrIHRvIGNvcHkgYW5kCgkgIHJlbmFtZSB0aGUgY3JlYXRlZCBleGVjdXRhYmxlIHVuZGVyIGN5Z3dpbiBidXQgaW5zdGVhZCB1c2UgdGhlCgkgIFNVRkZJWCB0YXJnZXQgcHJvcGVydHkgKEknbGwgcHVibGlzaCBhIHNob3J0IGFydGljbGUgYWJvdXQKCSAgZWNvcytjbWFrZSBSU04pCgoJICBBbGV4CgoyMDA2LTA4LTIyIDE2OjA3ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHg6IEVOSDogSGFuZGxlIG1vcmUgd2FybmluZ3MKCSAgcHJvcGVybHkgb24gQUlYCgoyMDA2LTA4LTIyIDE1OjUxICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvQ2hlY2tDWFhTb3VyY2VSdW5zLmNtYWtlOiBDT01QOiBPbiBzb21lIHByb2plY3QKCSAgY29uZmlndXJlIG1heSBub3QgY29weSByaWdodCBhd2F5CgoyMDA2LTA4LTIyIDE1OjQ2ICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvOiBDTWFrZUxpc3RzLnR4dCwgQ2hlY2tDWFhTb3VyY2VSdW5zLmNtYWtlLAoJICBDTWFrZUVtcHR5SW5wdXRGaWxlLmluOiBDT01QOiBBZGQgbWlzc2luZyBjbWFrZSBmaWxlCgoyMDA2LTA4LTIyIDE1OjM0ICBhbmR5CgoJKiBib290c3RyYXAsIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL2t3c3lzL0NvbmZpZ3VyZS5oLmluLAoJICBTb3VyY2Uva3dzeXMvUmVxdWlyZUxhcmdlRmlsZXNTdXBwb3J0LmN4eDogRU5IOiBTdXBwb3J0IGxhcmdlCgkgIGZpbGUgc3lzdGVtcyBpbiBrd3N5cwoKMjAwNi0wOC0yMiAxMDozOCAga2luZwoKCSogU291cmNlLzogY21Eb2N1bWVudGF0aW9uLmN4eCwgY21JbnN0YWxsQ29tbWFuZC5oOiBCVUc6IEZpeGVkIG1hbgoJICBwYWdlIGZvcm1hdHRpbmcgZm9yIElOU1RBTEwgY29tbWFuZCBkb2N1bWVudGF0aW9uLiAgRml4ZWQKCSAgbGluZS10b28tbG9uZyB3YXJuaW5nLgoKMjAwNi0wOC0yMiAxMDoxNiAgYW5keQoKCSogU291cmNlLzogY21MaXN0Q29tbWFuZC5jeHgsIGNtTGlzdENvbW1hbmQuaDogQlVHOiBBZGQgbWlzc2luZyBBUEkKCjIwMDYtMDgtMjIgMDk6NTIgIGFuZHkKCgkqIFNvdXJjZS9jbUxpc3RDb21tYW5kLmN4eDogQlVHOiBGaXggZXJyb3IgbWVzc2FnZXMgYW5kIGZpeCByZW1vdmUKCSAgaXRlbSB0byBhY3R1YWxseSByZW1vdmUgYWxsIGluc3RhbmNlcyBvZiB0aGUgaXRlbQoKMjAwNi0wOC0yMiAwOToyMCAgYW5keQoKCSogU291cmNlL0NQYWNrL2NtQ1BhY2tUYXJDb21wcmVzc0dlbmVyYXRvci5jeHg6IENPTVA6IFJlbW92ZQoJICB3YXJuaW5ncwoKMjAwNi0wOC0yMiAwODo1OCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA4LTIxIDIyOjM5ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvR2xvYi5jeHg6IEJVRzogRml4ZWQgI2lmIHRlc3QgZm9yIGNhc2UtaW5zZW5zaXRpdmUKCSAgZ2xvYiBvbiBPU1guCgoyMDA2LTA4LTIxIDE3OjUyICBraW5nCgoJKiBUZXN0cy86IFNpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFNpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dDogRU5IOiBBZGRlZCBjaGVjayBmb3IgYmFkCgkgIGluc3RhbGxhdGlvbiBvZiBhIENWUyBkaXJlY3RvcnkgdG8gdGVzdC4KCjIwMDYtMDgtMjEgMTc6NDcgIGtpbmcKCgkqIFNvdXJjZS86IGNtRmlsZUNvbW1hbmQuY3h4LCBjbUluc3RhbGxDb21tYW5kLmN4eDogQlVHOiBEaXJlY3RvcnkKCSAgaW5zdGFsbGF0aW9uIHBhdHRlcm4gbWF0Y2hpbmcgc2hvdWxkIGJlIGNhc2UgaW5zZW5zaXRpdmUgb24gc29tZQoJICBwbGF0Zm9ybXMuCgoyMDA2LTA4LTIxIDE3OjM3ICBraW5nCgoJKiBUZXN0cy86IFNpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFNpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dDogQlVHOiBOZWVkIHRvIGV4ZWN1dGUKCSAgc2FtcGxlX3NjcmlwdC5iYXQgb24gd2luZG93cyBhbmQgc2FtcGxlX3NjcmlwdCBvdGhlcndpc2UuCgoyMDA2LTA4LTIxIDE3OjM0ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBCVUc6IEZpbGVJc0RpcmVjdG9yeSBzaG91bGQgd29yawoJICB3aGVuIHRoZSBuYW1lIGNvbnRhaW5zIGEgdHJhaWxpbmcgc2xhc2guCgoyMDA2LTA4LTIxIDE2OjU1ICBraW5nCgoJKiBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUluc3RhbGxDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbENvbW1hbmQuaCwKCSAgU291cmNlL2NtSW5zdGFsbERpcmVjdG9yeUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUluc3RhbGxEaXJlY3RvcnlHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtSW5zdGFsbEdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbUluc3RhbGxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGwvc2NyaXB0cy9zYW1wbGVfc2NyaXB0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsL3NjcmlwdHMvc2FtcGxlX3NjcmlwdC5iYXQsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL3NjcmlwdHMvc2FtcGxlX3NjcmlwdCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL3NjcmlwdHMvc2FtcGxlX3NjcmlwdC5iYXQ6IEVOSDogSW1wbGVtZW50ZWQKCSAgSU5TVEFMTChESVJFQ1RPUlkpIGNvbW1hbmQgYW5kIGFkZGVkIGEgdGVzdC4JUmUtb3JnYW5pemVkCgkgIGNtRmlsZUNvbW1hbmQncyBpbXBsZW1lbnRhdGlvbiBvZiBGSUxFKElOU1RBTEwpIGEgYml0IHRvIGhlbHAKCSAgb3V0LglUaGlzIGFkZHJlc3NlcyBidWcjMTY5NCBhbmQgcGFydGlhbGx5IGFkZHJlc3NlcyBidWcjMjY5MS4KCjIwMDYtMDgtMjEgMTQ6MTcgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IEdsb2IuY3h4LCBHbG9iLmh4eC5pbjogRU5IOiBFeHBvc2VkIHBhdHRlcm4tPnJlZ2V4CgkgIEFQSS4JQ2xlYW5lZCB1cCBhbmQgY29tbWVudGVkIGltcGxlbWVudGF0aW9uIG9mIHBhdHRlcm4tPnJlZ2V4CgkgIGNvbnZlcnNpb24uCgoyMDA2LTA4LTIxIDEyOjM3ICBhbmR5CgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgQ1BhY2svY21DUGFja1RhckNvbXByZXNzR2VuZXJhdG9yLmN4eCwKCSAgQ1BhY2svY21DUGFja1RhckNvbXByZXNzR2VuZXJhdG9yLmg6IEVOSDogSW1wbGVtZW50IFRhckNvbXByZXNzCgkgIGdlbmVyYXRvciB1c2luZyBjb21wcmVzcyBsaWJyYXJ5CgoyMDA2LTA4LTIxIDEwOjQ5ICBraW5nCgoJKiBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHg6IEJVRzogUkVOQU1FIG9wdGlvbiBzaG91bGQgYmUgYWxsb3dkIGZvcgoJICBJTlNUQUxMKFBST0dSQU1TKSB0b28uCgoyMDA2LTA4LTIxIDEwOjEwICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogQ2hlY2tDU291cmNlQ29tcGlsZXMuY21ha2UsIENoZWNrQ1NvdXJjZVJ1bnMuY21ha2UsCgkgIENoZWNrQ1hYU291cmNlQ29tcGlsZXMuY21ha2UsIENoZWNrQ1hYU291cmNlUnVucy5jbWFrZTogRU5IOiBmaXhzCgkgIGZvciBjaGVjayBjb21waWxlIHN0dWZmIGZyb20gT3N3YWxkIEIuCgoyMDA2LTA4LTIxIDA4OjI5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDgtMjAgMDY6NTMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wOC0xOSAwNjo1MyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA4LTE4IDA4OjU3ICBraW5nCgoJKiBTb3VyY2UvOiBjbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuaCwgY21TdGFuZGFyZExleGVyLmg6IFNUWUxFOgoJICBGaXhlZCBsaW5lLXRvby1sb25nIHN0eWxlIGVycm9ycy4KCjIwMDYtMDgtMTggMDg6NTEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wOC0xNyAxNjo0MCAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IGZpeCBwcm9qZWN0IG5hbWVzIHRvIGJlIGNhc2UKCSAgc2Vuc2l0aXZlIGFuZCBjaGFuZ2UgbmFtZSB0byBsaW5rbGluZSBmcm9tIGlua2xpbmUKCjIwMDYtMDgtMTcgMTU6NDIgIGtpbmcKCgkqIFNvdXJjZS9jbUZpbGVDb21tYW5kLmN4eDogQlVHOiBCdW5kbGUgaW5zdGFsbGF0aW9uIG5lZWRzIGFsbCBmaWxlCgkgIHBlcm1pc3Npb25zIHRvIGJlIHByZXNlcnZlZCBmcm9tIHRoZSBidWlsZCB0cmVlLgoKMjAwNi0wOC0xNyAxNTowNiAga2luZwoKCSogU291cmNlL2NtQWRkQ3VzdG9tVGFyZ2V0Q29tbWFuZC5oOiBFTkg6IE1ha2luZyBkb2N1bWVudGF0aW9uIGV2ZW4KCSAgbGVzcyBhbWJpZ3VvdXMgc2luY2Ugc29tZSB1c2VycyBzdGlsbCB0aGluayB0aGlzIGNvbW1hbmQgY2FuCgkgIGdlbmVyYXRlIGEgZmlsZSB3aXRoIGRlcGVuZGVuY2llcy4KCjIwMDYtMDgtMTcgMTQ6NDggIGtpbmcKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUZpbGVDb21tYW5kLmN4eCwgY21JbnN0YWxsQ29tbWFuZC5jeHgsCgkgIGNtSW5zdGFsbENvbW1hbmQuaCwgY21JbnN0YWxsRGlyZWN0b3J5R2VuZXJhdG9yLmN4eCwKCSAgY21JbnN0YWxsRGlyZWN0b3J5R2VuZXJhdG9yLmgsIGNtSW5zdGFsbEZpbGVzR2VuZXJhdG9yLmN4eCwKCSAgY21JbnN0YWxsRmlsZXNHZW5lcmF0b3IuaCwgY21JbnN0YWxsR2VuZXJhdG9yLmN4eCwKCSAgY21JbnN0YWxsR2VuZXJhdG9yLmgsIGNtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5oOiBFTkg6IFN0YXJ0ZWQgaW1wbGVtZW50aW5nCgkgIElOU1RBTEwoRElSRUNUT1JZKSBjb21tYW5kIG1vZGUuICBUaGlzIGlzIG5vdCB5ZXQgZmluaXNoZWQgc28gaXQKCSAgaXMgdW5kb2N1bWVudGVkIGFuZCB0aGVyZSBpcyBubyB0ZXN0LiAgVGhlc2UgY2hhbmdlcyBhbHNvCgkgIHNlcGFyYXRlIHRoZSBub3Rpb25zIG9mIGZpbGUgYW5kIGRpcmVjdG9yeSBwZXJtaXNzaW9ucy4KCjIwMDYtMDgtMTcgMTI6MDcgIGtpbmcKCgkqIFNvdXJjZS9jbUZpbGVDb21tYW5kLmN4eDogRU5IOiBGaXggZGlyZWN0b3J5IGluc3RhbGxhdGlvbiB0bwoJICBwcm9wZXJseSBkZWFsIHdpdGggdHJhaWxpbmcgc2xhc2ggbmFtZXMgKHVzaW5nIHRoZSByc3luYwoJICBjb252ZW50aW9uIGZvciB3aGV0aGVyIHRoZSBsYXN0IGRpcmVjdG9yeSBuYW1lIGlzIGluY2x1ZGVkIGluCgkgIG5hbWluZyB0aGUgZGVzdGluYXRpb24gZGlyZWN0b3J5KS4KCjIwMDYtMDgtMTcgMTI6MDQgIG1hcnRpbmsKCgkqIFV0aWxpdGllcy9jbWNvbXByZXNzL2NtY29tcHJlc3MuYzogRU5IOiByZW9yZGVyIGNvZGUgdG8gcmVtb3ZlCgkgIGZvcndhcmQgZGVjbGFyYXRpb25zCgoyMDA2LTA4LTE3IDEyOjAyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBTeXN0ZW1Ub29scy5jeHgsIFN5c3RlbVRvb2xzLmh4eC5pbjogRU5IOiBBZGRlZAoJICBKb2luUGF0aCBvdmVybG9hZCB0aGF0IGFjY2VwdHMgYW4gaXRlcmF0b3IgcmFuZ2UuCgoyMDA2LTA4LTE3IDA5OjQ1ICBraW5nCgoJKiBVdGlsaXRpZXMvY21jb21wcmVzcy9jbWNvbXByZXNzLmM6IENPTVA6IEZpeGVkIGxpbmthZ2Ugc3BlY2lmaWVyCgkgIGNvbnNpc3RlbmN5IHdhcm5pbmcuCgoyMDA2LTA4LTE3IDA5OjM2ICBraW5nCgoJKiBNb2R1bGVzL0luc3RhbGxSZXF1aXJlZFN5c3RlbUxpYnJhcmllcy5jbWFrZTogRU5IOiBJbXBsZW1lbnRlZAoJICBzdXBwb3J0IGZvciBpbnN0YWxsaW5nIFZDOCBydW50aW1lIGxpYnJhcmllcy4KCjIwMDYtMDgtMTcgMDk6MzUgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlL1JlbGVhc2UuY21ha2U6IEJVRzogUmVtb3ZlZCBjb2RlIHRoYXQgaXMgbm93IGluCgkgIE1vZHVsZXMvSW5zdGFsbFJlcXVpcmVkU3lzdGVtTGlicmFyaWVzLmNtYWtlLgoKMjAwNi0wOC0xNyAwNzoyOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA4LTE2IDE0OjIyICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbURlcGVuZHNGb3J0cmFuTGV4ZXIuY3h4LCBjbURlcGVuZHNGb3J0cmFuTGV4ZXIuaCwKCSAgY21EZXBlbmRzRm9ydHJhbkxleGVyLmluLmw6IEVOSDogcmV2ZXJ0IGNoYW5nZSBpbiBwYXJzZXIgYXMgaXQKCSAgc2VudCB0aGUgcGFyc2VyIGludG8gYW4gaW5maW5pdGUgbG9vcAoKMjAwNi0wOC0xNiAwODoxMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA4LTE1IDE1OjMzICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlVkNNYW5pZmVzdC5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlLAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBFTkg6IEFkZGluZyBmbGFncyB0bwoJICBmb3JjZSBnZW5lcmF0aW9uIG9mIG1hbmlmZXN0IGZpbGVzIHdoZW4gYnVpbGRpbmcgd2l0aCBWQyA4LgoKMjAwNi0wOC0xNSAxNToyOCAga2luZwoKCSogU291cmNlLzogY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHg6IEJVRzogTmVlZCB0byBjbGVhbiBtYW5pZmVzdAoJICBmaWxlcyB0aGF0IG1heSBoYXZlIGJlZW4gZ2VuZXJhdGVkIGZvciAuZXhlIGFuZCAuZGxsIGZpbGVzLgoKMjAwNi0wOC0xNSAxMjowMCAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLCBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eDoKCSAgQlVHOiBBZGRlZCBvYmplY3QgbGFuZ3VhZ2UgdG8gbGlzdCBvZiBvYmplY3QgZmlsZXMgaW4gYSBsb2NhbAoJICBnZW5lcmF0b3IncyBkaXJlY3RvcnkuICBGaXhlZCBnZW5lcmF0aW9uIG9mIHByZXByb2Nlc3NpbmcgYW5kCgkgIGFzc2VtYmx5IHJ1bGVzIHRvIGJlIGRvbmUgb25seSBmb3IgQyBhbmQgQysrIG9iamVjdHMuCgoyMDA2LTA4LTE1IDEwOjU2ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbURlcGVuZHNGb3J0cmFuTGV4ZXIuY3h4LCBjbURlcGVuZHNGb3J0cmFuTGV4ZXIuaCwKCSAgY21EZXBlbmRzRm9ydHJhbkxleGVyLmluLmw6IEVOSDogY2hhbmdlIGNvbW1lbnQgZm9yIGZvcnRyYW4KCSAgZGVwZW5kIHBhcnNpbmcKCjIwMDYtMDgtMTUgMDc6NTYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wOC0xNCAxNzozMCAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL2NtY29tcHJlc3MvY21jb21wcmVzcy5jOiBFTkg6IHJlbW92ZSBjKysgY29tbWVudHMgZnJvbQoJICBjIGNvZGUKCjIwMDYtMDgtMTQgMTc6MDIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogRU5IOiBkbyBub3QgdXNlIE9CSlJPT1Qgb3IgeW91CgkgIGNhbiBnZXQgdHdvIGNvcGllcyBvZiBleGVjdXRhYmxlcwoKMjAwNi0wOC0xNCAxNDoxNiAgYW5keQoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBhZGQgbmV3bGluZSBmb3IKCSAgc29tZSB2ZXJzaW9ucyBvZiBtYWtlCgoyMDA2LTA4LTE0IDExOjMyICBhbmR5CgoJKiBVdGlsaXRpZXMvY21jb21wcmVzcy9jbWNvbXByZXNzLmM6IENPTVA6IFJlbW92ZSB3YXJuaW5ncwoKMjAwNi0wOC0xNCAxMDo1OSAgYW5keQoKCSogVXRpbGl0aWVzL2NtY29tcHJlc3MvY21jb21wcmVzcy5jOiBDT01QOiBSZW1vdmUgbW9yZSB3YXJuaW5ncwoKMjAwNi0wOC0xNCAxMDo1MSAgYW5keQoKCSogU291cmNlLzogY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eCwgQ1Rlc3QvY21DVGVzdFN0YXJ0Q29tbWFuZC5jeHg6CgkgIEVOSDogZml4IGZvciBubyBuZXdsaW5lIG9uIHNvbWUgbWFrZXMgIGZpeCBmb3IgY3Rlc3QgYW5kIHNvbWUKCSAgc3ltbGlua3MKCjIwMDYtMDgtMTQgMDk6NTggIGFuZHkKCgkqIFV0aWxpdGllcy9jbWNvbXByZXNzLzogY21jb21wcmVzcy5jLCBjbWNvbXByZXNzLmg6IENPTVA6IFJlbW92ZQoJICBzb21lIHdhcm5pbmdzIGFuZCBtYWtlIGxpYnJhcnkgcmVwb3J0IGFuIGVycm9yIGluc3RlYWQgb2YgY2FsbAoJICBleGl0CgoyMDA2LTA4LTE0IDA5OjUwICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFTkg6IHN0aWxsIGVzY2FwZSAoKSBidXQgZG8gbm90CgkgIGVzY2FwZQoKMjAwNi0wOC0xNCAwODo1NCAgYW5keQoKCSogQ01ha2VMaXN0cy50eHQ6IEVOSDogU3RhcnQgYnVpbGRpbmcgY29tcHJlc3MgbGlicmFyeQoKMjAwNi0wOC0xNCAwNzo1NiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA4LTEzIDA3OjUyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDgtMTIgMDc6NTMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wOC0xMSAxMDo1NCAgbWFydGluawoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogRU5IOiBmaXggZm9yIEFkZEtlZXBQYXRoIG5vdAoJICBjYWxsaW5nIHJlYWxwYXRoCgoyMDA2LTA4LTExIDA5OjU2ICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFTkg6IGVzY2FwZSAoIGFuZCApIGluIHVuaXggcGF0aHMKCjIwMDYtMDgtMTEgMDc6NTkgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wOC0xMCAyMzoyMCAgaG9mZm1hbgoKCSogVGVzdHMvOiBTaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBTaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEVOSDogZml4IGVycm9yIGluIGlmIHN0YXRlbWVudAoKMjAwNi0wOC0xMCAxNToxNyAgZGF2aWQuY29sZQoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQlVHOiBzdHJsZW4gbG9naWMgd2FzIGJhY2t3YXJkcwoJICByZXN1bHRpbmcgaW4gZnVuY3Rpb24gYm9keSBuZXZlciBhY3R1YWxseSBleGVjdXRpbmcuLi4gd2hlbgoJICBjYWxsZWQgd2l0aCB2YWxpZCBzdHJpbmdzLCBpdCB3YXMgYWx3YXlzIGRvaW5nIG5vdGhpbmcgYW5kCgkgIHJldHVybmluZyBmYWxzZS4uLiBub3cgaXQgd29ya3MgYXMgZXhwZWN0ZWQuCgoyMDA2LTA4LTEwIDExOjA1ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTWFpbkZvcm0uY3h4OiBFTkg6IG9ubHkgY2hhbmdlIHRoZQoJICBjYWNoZSBpZiB0aGUgdmFsdWUgd2FzIHJlYWxseSBjaGFuZ2VkCgoyMDA2LTA4LTEwIDA5OjM4ICBob2ZmbWFuCgoJKiBUZXN0cy86IFNpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFNpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dDogRU5IOiBmaXggZmFpbGluZyB0ZXN0cwoKMjAwNi0wOC0xMCAwODowOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA4LTA5IDEzOjU5ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0FJWC5jbWFrZTogRU5IOiBFbmFibGluZyBwcmVwcm9jZXNzZWQgc291cmNlIGFuZAoJICBhc2VtYmx5IHNvdXJjZSBnZW5lcmF0aW9uIHJ1bGVzIG9uIEFJWCBjb21waWxlcnMuCgoyMDA2LTA4LTA5IDEzOjQ1ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2U6IEVOSDogRW5hYmxlZCBnZW5lcmF0aW9uIG9mCgkgIHByZXByb2Nlc3NlZCBhbmQgYXNzZW1ibHkgc291cmNlIHJ1bGVzIGZvciBNU1ZDIHdpdGggTk1ha2UuCgoyMDA2LTA4LTA5IDEzOjE0ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtLzogSVJJWC5jbWFrZSwgSVJJWDY0LmNtYWtlOiBFTkg6IEVuYWJsaW5nCgkgIHByZXByb2Nlc3NlZCBzb3VyY2UgYW5kIGFzZW1ibHkgc291cmNlIGdlbmVyYXRpb24gcnVsZXMgb24gU0dJCgkgIE1JUFNwcm8gY29tcGlsZXJzLgoKMjAwNi0wOC0wOSAxMzoxMCAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9IUC1VWC5jbWFrZTogRU5IOiBFbmFibGluZyBwcmVwcm9jZXNzZWQgc291cmNlCgkgIGFuZCBhc2VtYmx5IHNvdXJjZSBnZW5lcmF0aW9uIHJ1bGVzIG9uIEhQIGFDQyBhbmQgY2MuCgoyMDA2LTA4LTA5IDExOjQ4ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1N1bk9TLmNtYWtlOiBFTkg6IEVuYWJsaW5nIHByZXByb2Nlc3NlZCBzb3VyY2UKCSAgYW5kIGFzZW1ibHkgc291cmNlIGdlbmVyYXRpb24gcnVsZXMgb24gU3VuIENDLgoKMjAwNi0wOC0wOSAxMTo0MyAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9nY2MuY21ha2UsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eDogRU5IOiBDaGFuZ2VkIHByZXByb2Nlc3NlZAoJICBzb3VyY2UgZXh0ZW5zaW9uIHRvIC5pIGFuZCBhc3NlbWJseSBleHRlbnNpb24gdG8gLnMgZm9yIG1vcmUKCSAgcG9ydGFiaWxpdHkuCgoyMDA2LTA4LTA5IDExOjMyICBob2ZmbWFuCgoJKiBUZXN0cy86IFNpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFNpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dDogRU5IOiB0cnkgdG8gZml4IGNvbXByZXNzIGZhaWx1cmUKCjIwMDYtMDgtMDkgMDk6NTYgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaDogRU5IOiBBZGRlZCBvcHRpb25zCgkgIENNQUtFX1NLSVBfUFJFUFJPQ0VTU0VEX1NPVVJDRV9SVUxFUyBhbmQKCSAgQ01BS0VfU0tJUF9BU1NFTUJMWV9TT1VSQ0VfUlVMRVMgdG8gYWxsb3cgcHJvamVjdHMgdG8gZGlzYWJsZQoJICBnZW5lcmF0aW9uIG9mIC5FIGFuZCAuUyBydWxlcy4KCjIwMDYtMDgtMDkgMDk6NDUgIGtpbmcKCgkqIFNvdXJjZS86IGNtTGlzdEZpbGVMZXhlci5jLCBjbUxpc3RGaWxlTGV4ZXIuaW4ubCwKCSAgY21TdGFuZGFyZExleGVyLmg6IENPTVA6IEZpeCB3YXJuaW5ncyBwcm9kdWNlZCBieSB0aGUgY2hhbmdlIGluCgkgIGluY2x1ZGUgb3JkZXIgZnJvbSB0aGUgcmUtb3JnYW5pemF0aW9uIG9mIGxleGVyIGNvZGUuCgoyMDA2LTA4LTA5IDA3OjQ3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDgtMDggMTU6NTUgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0QnVpbGRBbmRUZXN0SGFuZGxlci5jeHg6IEVOSDogYWRkIGNtYWtlCgkgIG91dHB1dCB0byBidWlsZCBhbmQgdGVzdAoKMjAwNi0wOC0wOCAxNDowMCAga2luZwoKCSogU291cmNlLzogY21Db21tYW5kQXJndW1lbnRMZXhlci5jeHgsIGNtQ29tbWFuZEFyZ3VtZW50TGV4ZXIuaW4ubCwKCSAgY21EZXBlbmRzRm9ydHJhbkxleGVyLmN4eCwgY21EZXBlbmRzRm9ydHJhbkxleGVyLmluLmwsCgkgIGNtRGVwZW5kc0phdmFMZXhlci5jeHgsIGNtRGVwZW5kc0phdmFMZXhlci5pbi5sLCBjbUV4cHJMZXhlci5jeHgsCgkgIGNtRXhwckxleGVyLmluLmwsIGNtTGlzdEZpbGVMZXhlci5jLCBjbUxpc3RGaWxlTGV4ZXIuaW4ubCwKCSAgY21TdGFuZGFyZExleGVyLmg6IENPTVA6IE1vdmVkIGR1cGxpY2F0ZSBmbGV4LWdlbmVyYXRlZCBsZXhlcgoJICB3YXJuaW5nIHN1cHByZXNzaW9uIGFuZCBjcm9zcy1wbGF0Zm9ybSBzdXBwb3J0IGNvZGUgdG8gYSBzaW5nbGUKCSAgY21TdGFuZGFyZExleGVyLmggaW5jbHVkZWQgYnkgYWxsIGxleGVyIHNvdXJjZXMuICBBZGRlZCBmaXggZm9yCgkgIG1hY3JvIHJlZGVmaW5pdGlvbnMgb24gQm9ybGFuZCA1LjggY29tcGlsZXIuCgoyMDA2LTA4LTA4IDEzOjQ0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5oOiBFTkg6IG1ha2Ugc3VyZQoJICBSdWxlVmFyaWFibGUgc3RydWN0IGlzIGluaXRpYWxpemVkIGNvcnJlY3RseSwgYWxzbyBtYWtlIHN1cmUKCSAgY3VzdG9tIGNvbW1hbmQgdGFyZ2V0cyBkbyBub3QgY3Jhc2ggY21ha2UKCjIwMDYtMDgtMDggMTM6MDIgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHg6IFNUWUxFOiBGaXhlZCBsaW5lCgkgIGxlbmd0aC4KCjIwMDYtMDgtMDggMTE6MjYgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvR2VuZXJhdG9yLmN4eDogQlVHOiBEdXBsaWNhdGUgb2JqZWN0CgkgIG5hbWUgZGV0ZWN0aW9uIHNob3VsZCBub3QgYmUgY2FzZSBzZW5zaXRpdmUgc2luY2UgdGhpcyBjb2RlIGlzCgkgIHVzZWQgb24gV2luZG93cyBmaWxlIHN5c3RlbXMuICBUaGlzIGFkZHJlc3NlcyBidWcjMzU4OS4KCjIwMDYtMDgtMDggMDc6MzkgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wOC0wNyAyMzoyNSAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9nY2MuY21ha2UsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eDogRU5IOiBBZGRlZCBnZW5lcmF0aW9uIG9mCgkgIHJ1bGVzIHRvIG1hbnVhbGx5IHJlcXVlc3QgcHJlcHJvY2Vzc2VkIG9yIGdlbmVyYXRlZCBhc3NlbWJseQoJICBzb3VyY2VzLgoKMjAwNi0wOC0wNyAxNzoyMiAga2luZwoKCSogU291cmNlL2NtYWtlLmN4eDogRU5IOiBBZGRlZCB1bmRvY3VtZW50ZWQgb3B0aW9uIC1FCgkgIGNtYWtlX3VuaW1wbGVtZW50ZWRfdmFyaWFibGUgdG8gaGVscCBwcmludCB1c2VmdWwgZXJyb3IgbWVzc2FnZXMKCSAgZm9yIHVuaW1wbGVtZW50ZWQgZmVhdHVyZXMgb24gYSBnaXZlbiBwbGF0Zm9ybS4KCjIwMDYtMDgtMDcgMTA6MTAgIGhvZmZtYW4KCgkqIFRlc3RzLzogU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OiBFTkg6IGZpbmFsbHkgZml4IHRoZSBmYWlsaW5nIHRlc3QKCSAgb24gdGhlIGRhc2hib2FyZCBmb3IgdGhlIHBhc3QgbW9udGggb3Igc28KCjIwMDYtMDgtMDcgMDg6MTEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wOC0wNiAwNzo1NyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA4LTA1IDA4OjA4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDgtMDQgMTA6MzUgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9jbXRhci9DTWFrZUxpc3RzLnR4dDogRU5IOiBnaXZlIHVwIG9uIHRyeSBydW4KCjIwMDYtMDgtMDQgMDg6MTIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wOC0wMyAxNToyMCAgaG9mZm1hbgoKCSogTW9kdWxlcy9DaGVja0NYWFNvdXJjZVJ1bnMuY21ha2U6IEVOSDogYWRkIGEgdHJ5IHJ1biBzb3VyY2UgY29kZQoJICBtYWNybwoKMjAwNi0wOC0wMyAxNDozOCAgaG9mZm1hbgoKCSogTW9kdWxlcy9DaGVja0NTb3VyY2VSdW5zLmNtYWtlOiBFTkg6IGZpeCBlcnJvcgoKMjAwNi0wOC0wMyAxNDozNiAgaG9mZm1hbgoKCSogTW9kdWxlcy9DaGVja0NTb3VyY2VSdW5zLmNtYWtlLCBVdGlsaXRpZXMvY210YXIvQ01ha2VMaXN0cy50eHQ6CgkgIEVOSDogZml4IGZvciBtYWtlZGV2IHRocmVlIGFyZ3MgdGVzdAoKMjAwNi0wOC0wMyAxMzo1MSAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL2NtdGFyL0NNYWtlTGlzdHMudHh0OiBFTkg6IHVzZSB0cnkgcnVuIHNvdXJjZQoKMjAwNi0wOC0wMyAxMzo0MSAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL2NtdGFyL0NNYWtlTGlzdHMudHh0OiBFTkg6IGNoYW5nZSB0byBhIHRyeSBydW4gc28gdGhhdAoJICBpdCB3aWxsIGZhaWwgb24gdGhlIHN1bgoKMjAwNi0wOC0wMyAxMzo0MSAgaG9mZm1hbgoKCSogTW9kdWxlcy86IENoZWNrQ1NvdXJjZUNvbXBpbGVzLmNtYWtlLCBDaGVja0NTb3VyY2VSdW5zLmNtYWtlOgoJICBFTkg6IGFkZCBhIGNydW4gbWFjcm8gYW5kIGZpeCB0aGUgb3V0cHV0IGxvZyBmb3IgY29tcGlsZSBjCgoyMDA2LTA4LTAzIDA5OjQyICBraW5nCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtU2V0VGFyZ2V0UHJvcGVydGllc0NvbW1hbmQuaCwgY21UYXJnZXQuY3h4OiBFTkg6IEFkZGVkIHRhcmdldAoJICBwcm9wZXJ0eSBDTEVBTl9ESVJFQ1RfT1VUUFVUIHRvIG5vdCBjbGVhbiBhbGwgZm9ybXMgb2YgYSBsaWJyYXJ5CgkgIG5hbWUgc28gdGhhdCBzdGF0aWMgYW5kIHNoYXJlZCBsaWJyYXJpZXMgb2YgdGhlIHNhbWUgbmFtZSBjYW4KCSAgY29leGlzdCBpbiBhIHNpbmdsZSBidWlsZCBkaXJlY3RvcnkuCgoyMDA2LTA4LTAzIDA5OjI2ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5jeHgsCgkgIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9BLnR4dCwKCSAgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQS50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9BLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dDogQlVHOiBNYWtlCgkgIHN1cmUgc291cmNlcyB3aXRoIHVua25vd24gZXh0ZW5zaW9ucyBhcmUgbm90IGNvbXBpbGVkIGJ5IFZTLgoKMjAwNi0wOC0wMyAwOToyNiAga2luZwoKCSogU291cmNlLzogY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtTG9jYWxHZW5lcmF0b3IuaCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oOiBFTkg6IE1vdmVkIEdldFNvdXJjZUZpbGVMYW5ndWFnZQoJICB1cCB0byBjbUxvY2FsR2VuZXJhdG9yLgoKMjAwNi0wOC0wMyAwODoxMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA4LTAyIDIxOjMwICBraW5nCgoJKiBTb3VyY2UvY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eDogU1RZTEU6IEZpeGVkIGxvbmcgbGluZS4KCjIwMDYtMDgtMDIgMjE6MjQgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9jbXRhci9DTWFrZUxpc3RzLnR4dDogRU5IOiB1c2UgZGV2X3QgaW5zdGVhZCBvZiBtYWpvcl90CgkgIGFuZCBtaW5vcl90CgoyMDA2LTA4LTAyIDEyOjUxICBkYXZpZC5jb2xlCgoJKiBVdGlsaXRpZXMvY210YXIvQ01ha2VMaXN0cy50eHQ6IENPTVA6IGxpYnRhciBzaG91bGQgYnVpbGQgd2hlbgoJICBpbmNsdWRlZCBpbiBub24tQ01ha2UgcHJvamVjdHMuLi4KCjIwMDYtMDgtMDIgMTE6MDYgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaDogRU5IOiBSZXN0b3JpbmcgcHJldmlvdXMgY2hhbmdlCgkgIHdpdGggYSBmaXguCgoyMDA2LTA4LTAyIDA3OjUxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDgtMDEgMTk6NTIgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaDogRU5IOiB1bmRvIGNoYW5nZSB0aGF0IGJyb2tlCgkgIGJvcmxhbmQgNS42IGNvbnQKCjIwMDYtMDgtMDEgMTY6MTYgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaDogRU5IOiBNb3ZlZCBnZW5lcmF0aW9uIG9mCgkgIGRpcmVjdG9yeS1sZXZlbCBvYmplY3QgY29udmVuaWVuY2UgcnVsZXMgdG8gYSBzZXBhcmF0ZSBtZXRob2QuCgkgIFRoaXMgd2lsbCBhaWQgZ2VuZXJhdGlvbiBvZiBtb3JlIHN1Y2ggcnVsZXMgbGF0ZXIuCgoyMDA2LTA4LTAxIDE2OjAxICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvY210YXIvQ01ha2VMaXN0cy50eHQ6IEVOSDogbWFrZSBjbWFrZSBidWlsZCB3aXRoIG9sZGVyCgkgIHZlcnNpb25zIG9mIGNtYWtlCgoyMDA2LTA4LTAxIDE1OjQ4ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEVOSDogZml4IGZvciBxdG1haW4KCjIwMDYtMDgtMDEgMTU6MzYgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vTGludXguY21ha2UsCgkgIFNvdXJjZS9jbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuY3h4OiBCVUc6IEZpeGVkIHNoYXJlZCBsaWJyYXJ5CgkgIHZlcnNpb24gc3VwcG9ydCBmb3IgRm9ydHJhbi4JVGhpcyBhZGRyZXNzZXMgYnVnIzM1NTguCgoyMDA2LTA4LTAxIDE1OjI2ICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvY210YXIvQ01ha2VMaXN0cy50eHQ6IEVOSDogYWRkIGEgdHJ5IGNvbXBpbGUgdGVzdCBmb3IKCSAgbWFrZWRldl90aHJlZV9hcmdzCgoyMDA2LTA4LTAxIDE1OjI0ICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogQ2hlY2tDU291cmNlQ29tcGlsZXMuY21ha2UsIEZpbmRRdDQuY21ha2U6IEVOSDogZml4IGZvcgoJICBsb2NhdGlvbiBvZiBlcnJvciBsb2cKCjIwMDYtMDgtMDEgMTU6MTYgIGdsZWhtYW5uCgoJKiBTb3VyY2Uva3dzeXMvRGlyZWN0b3J5LmN4eDogQlVHOiAjMzU2My4gU2VnbWVudGF0aW9uIGZhdWx0IHdpdGgKCSAgbm9uIGluaXRpYWxpemVkIGlucHV0IG9yIE5VTEwgcG9pbnRlcnMuCgoyMDA2LTA4LTAxIDE0OjQ1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBSZWdpc3RyeS5jeHgsIHRlc3RDb21tYW5kTGluZUFyZ3VtZW50cy5jeHgsCgkgIHRlc3RDb21tYW5kTGluZUFyZ3VtZW50czEuY3h4LCB0ZXN0U3lzdGVtVG9vbHMuY3h4OiBDT01QOiBBZGRlZAoJICBtaXNzaW5nIGhlYWRlcnMuICBUaGlzIHBhcnRpYWxseSBhZGRyZXNzZXMgYnVnIzM1NTYuCgoyMDA2LTA4LTAxIDE0OjM0ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEVOSDogYWRkIFF0Q29yZWQgYXMgYSBwb3NzaWJsZSBuYW1lIGZvcgoJICBxdGNvcmUgZGVidWcKCjIwMDYtMDgtMDEgMTQ6MzMgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogRU5IOiBBZGRlZCBwbGF0Zm9ybSBpZGVudGlmaWVyIGZvciBRTlhOVE8uCgkgIFRoaXMgcGFydGlhbGx5IGFkZHJlc3NlcyBidWcjMzU1Ni4KCjIwMDYtMDgtMDEgMTQ6MzEgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ1BsdWdpbkFQSS5jeHgsIGNtTG9hZENvbW1hbmRDb21tYW5kLmN4eDogQ09NUDogQWRkZWQKCSAgbWlzc2luZyBpbmNsdWRlcy4gIFRoaXMgcGFydGlhbGx5IGFkZHJlc3NlcyBidWcjMzU1Ni4KCjIwMDYtMDgtMDEgMTQ6MjggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jOiBDT01QOiBVc2UgU0FfUkVTVEFSVCBvbmx5IGlmIGl0IGlzCgkgIGRlZmluZWQgZm9yIHRoZSBjdXJyZW50IHBsYXRmb3JtLiAgVGhpcyBwYXJ0aWFsbHkgYWRkcmVzc2VzCgkgIGJ1ZyMzNTU2LgoKMjAwNi0wOC0wMSAxNDoxMCAga2luZwoKCSogTW9kdWxlcy9GaW5kS0RFMy5jbWFrZTogQlVHOiBGaXggdXNhZ2Ugb2YgRklORF9QUk9HUkFNIGNvbW1hbmQuCgoyMDA2LTA4LTAxIDEyOjI3ICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogRmluZFF0NC5jbWFrZSwgVXNlUXQ0LmNtYWtlOiBFTkg6IGZpeCBmb3Igb3B0aW1pemVkCgkgIGRlYnVnIHN0dWZmCgoyMDA2LTA4LTAxIDExOjM4ICBraW5nCgoJKiBTb3VyY2UvY21Db21tYW5kQXJndW1lbnRMZXhlci5jeHgsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudExleGVyLmluLmwsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudFBhcnNlci5jeHgsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudFBhcnNlci55LAoJICBTb3VyY2UvY21EZXBlbmRzRm9ydHJhbkxleGVyLmN4eCwKCSAgU291cmNlL2NtRGVwZW5kc0ZvcnRyYW5MZXhlci5pbi5sLAoJICBTb3VyY2UvY21EZXBlbmRzRm9ydHJhblBhcnNlci5jeHgsCgkgIFNvdXJjZS9jbURlcGVuZHNGb3J0cmFuUGFyc2VyLnksIFNvdXJjZS9jbURlcGVuZHNKYXZhTGV4ZXIuY3h4LAoJICBTb3VyY2UvY21EZXBlbmRzSmF2YUxleGVyLmluLmwsIFNvdXJjZS9jbURlcGVuZHNKYXZhUGFyc2VyLmN4eCwKCSAgU291cmNlL2NtRGVwZW5kc0phdmFQYXJzZXIueSwgU291cmNlL2NtRXhwckxleGVyLmN4eCwKCSAgU291cmNlL2NtRXhwckxleGVyLmluLmwsIFNvdXJjZS9jbUV4cHJQYXJzZXIuY3h4LAoJICBTb3VyY2UvY21FeHByUGFyc2VyLnksIFNvdXJjZS9jbUxpc3RGaWxlQ2FjaGUuY3h4LAoJICBTb3VyY2UvY21MaXN0RmlsZUxleGVyLmMsIFNvdXJjZS9jbUxpc3RGaWxlTGV4ZXIuaW4ubCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21TZXRDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtU3RhbmRhcmRJbmNsdWRlcy5oLCBTb3VyY2UvY21UYXJnZXQuY3h4LAoJICBTb3VyY2UvY21XaW4zMlByb2Nlc3NFeGVjdXRpb24uY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHgsCgkgIFNvdXJjZS9rd3N5cy9Db21tYW5kTGluZUFyZ3VtZW50cy5jeHgsCgkgIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHgsIFNvdXJjZS9rd3N5cy90ZXN0UHJvY2Vzcy5jLAoJICBVdGlsaXRpZXMvY21jdXJsL0NNYWtlTGlzdHMudHh0LCBVdGlsaXRpZXMvY210YXIvQ01ha2VMaXN0cy50eHQsCgkgIFV0aWxpdGllcy9jbXpsaWIvQ01ha2VMaXN0cy50eHQ6IENPTVA6IEZpeCBhbmQvb3IgZGlzYWJsZQoJICB3YXJuaW5ncyBmb3IgQm9ybGFuZCA1LjYgYnVpbGQuCgoyMDA2LTA4LTAxIDExOjI2ICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogRmluZFF0NC5jbWFrZSwgVXNlUXQ0LmNtYWtlOiBFTkg6IGZpeCBxdG1haW4gZm9yCgkgIHJlbGVhc2UKCjIwMDYtMDgtMDEgMTA6NTEgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBGaW5kUXQ0LmNtYWtlLCBVc2VRdDQuY21ha2U6IEVOSDogZml4IHF0bWFpbiBmb3IKCSAgcmVsZWFzZQoKMjAwNi0wOC0wMSAxMDo0OSAga2luZwoKCSogVGVzdHMvOiBDb21wbGV4L0V4ZWN1dGFibGUvQS5jeHgsIENvbXBsZXgvRXhlY3V0YWJsZS9BLmgsCgkgIENvbXBsZXgvRXhlY3V0YWJsZS9BLmhoLCBDb21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9BLmN4eCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL0EuaCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL0EuaGgsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9BLmN4eCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9BLmgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQS5oaCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBBZGRpbmcgdGVzdAoJICBmb3Igc291cmNlIGZpbGVzIGFuZCBoZWFkZXIgZmlsZXMgd2l0aCB0aGUgc2FtZSBiYXNlIG5hbWUgaW4gdGhlCgkgIHNhbWUgdGFyZ2V0LgoKMjAwNi0wOC0wMSAxMDo0OCAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW9HZW5lcmF0b3IuaCwgY21NYWtlZmlsZS5jeHg6IEVOSDogQWRkaW5nIC5oaAoJICBmaWxlIGFzIGEgQysrIGhlYWRlciBmaWxlIGV4dGVuc2lvbi4JUmVtb3ZlIGR1cGxpY2F0ZSBjb2RlIGZyb20KCSAgaW1wbGVtZW50YXRpb24gb2YgdW5pcXVlIG9iamVjdCBuYW1lIGNvbXB1dGF0aW9uIGZvciBWUwoJICBnZW5lcmF0b3JzLiAgVGhpcyBhZGRyZXNzZXMgYnVnIzM1NjUuCgoyMDA2LTA4LTAxIDA5OjEyICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEVOSDogcHV0IGJhY2sgZmluZCBxdG1haW4KCjIwMDYtMDgtMDEgMDc6NDIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNy0zMSAxNjo1OSAgYW5keQoKCSogVXRpbGl0aWVzL2NtY29tcHJlc3MvOiBDTWFrZUxpc3RzLnR4dCwgY21jb21wcmVzcy5jLAoJICBjbWNvbXByZXNzLmgsIGNvbXByZXNzLmMub3JpZ2luYWw6IEVOSDogSW5pdGlhbCBpbXBvcnQKCjIwMDYtMDctMzEgMTM6NTAgIG1hcnRpbmsKCgkqIFNvdXJjZS9rd3N5cy86IFN5c3RlbVRvb2xzLmh4eC5pbiwgdGVzdFN5c3RlbVRvb2xzLmN4eDogRU5IOgoJICBiZXR0ZXIgY292ZXJhZ2UKCjIwMDYtMDctMzEgMTE6MDAgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IEVOSDogbW92ZSByZWxlYXNlIGJyYW5jaAoKMjAwNi0wNy0zMSAxMDoyOCAgbWFydGluawoKCSogU291cmNlL0NQYWNrL2NwYWNrLmN4eDogRU5IOiBmaXggbGluZSBsZW5ndGhzCgoyMDA2LTA3LTMxIDA3OjE5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDctMzAgMDc6MTcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNy0yOSAwNzoyMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA3LTI4IDE0OjQ3ICBtYXJ0aW5rCgoJKiBTb3VyY2Uva3dzeXMvdGVzdFN5c3RlbVRvb2xzLmN4eDogQlVHOiBmaXggc29tZSBiYWQgY29kZSBhbmQgYWRkCgkgIGEgY291cGxlIG1vcmUgdGVzdHMKCjIwMDYtMDctMjggMTQ6MjAgIG1hcnRpbmsKCgkqIERvY3MvOiBDTWFrZTEycDIucnRmLCBDTWFrZTE0LnJ0ZiwgQ01ha2UxNi5ydGY6IEVOSDogcmVtb3ZlIG9sZAoJICBmaWxlcwoKMjAwNi0wNy0yOCAxMjowMCAgaG9mZm1hbgoKCSogQ2hhbmdlTG9nLm1hbnVhbCwgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogRU5IOgoJICBtb3ZlIHN0dWZmIGZyb20gbWFpbiB0cmVlCgoyMDA2LTA3LTI4IDExOjIxICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeCBmb3IgMzU1NwoJICBUYXJnZXRFbnZpcm9ubWVudCBmb3IgTUlETCBDb21waWxlciBzZXQgY29ycmVjdGx5IGZvciA2NCBiaXQKCjIwMDYtMDctMjggMTE6MTMgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWw6IEVOSDogY2hhbmdlcyBvbiBicmFuY2gKCjIwMDYtMDctMjggMDk6MjIgIGFuZHkKCgkqIFRlc3RzLzogU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZCB0ZXN0IGZvciBiejIgYW5kIGNoZWNrCgkgIGZvciBjb21wcmVzcwoKMjAwNi0wNy0yOCAwOToxNCAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogRU5IOiBtb3ZlIGZyb20gbWFpbiB0cmVlCgoyMDA2LTA3LTI4IDA5OjE0ICBhbmR5CgoJKiBTb3VyY2UvQ1BhY2svY3BhY2suY3h4OiBCVUc6IEJhaWwgb3V0IG9uIGdlbmVyYXRvciBpbml0aWFsaXphdGlvbgoJICBmYWlsdXJlCgoyMDA2LTA3LTI4IDA4OjU3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEVOSDogbW92ZSBmcm9tIG1haW4gdHJlZQoKMjAwNi0wNy0yOCAwODoxOSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA3LTI3IDE1OjAyICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEJVRzogU2V0CgkgIEdDQ19TWU1CT0xTX1BSSVZBVEVfRVhURVJOIGFuZCBHQ0NfSU5MSU5FU19BUkVfUFJJVkFURV9FWFRFUk4KCSAgYXR0cmlidXRlcyBvbiBhbGwgcHJvamVjdHMgdG8gcHJldmVudCAtZnZpc2liaWxpdHk9aGlkZGVuIGZsYWdzLgoJICBUaGlzIGlzIG5lZWRlZCB0byBtYWtlIFJUVEkgd29yayBieSBkZWZhdWx0LgoKMjAwNi0wNy0yNyAxMTo1NSAgYW5keQoKCSogU291cmNlL0NQYWNrL2NwYWNrLmN4eDogQlVHOiBGaXggZXhlY3V0aW5nIGFuZCBoZWxwCgoyMDA2LTA3LTI3IDExOjI3ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBCVUc6IERvIG5vdCBibG9jayBzaWduYWxzIGR1cmluZwoJICBzbGVlcC4gIExlYXZlIHRoYXQgdXAgdG8gdGhlIGFwcGxpY2F0aW9uLgoKMjAwNi0wNy0yNyAxMToyNiAgYW5keQoKCSogU291cmNlL0NQYWNrL2NwYWNrLmN4eDogQlVHOiBQcmV2ZW50IGNyYXNoIHdoZW4gbm8gaW5wdXQgZmlsZSBvcgoJICBnZW5lcmF0b3Igc3BlY2lmaWVkCgoyMDA2LTA3LTI3IDEwOjM3ICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cubWFudWFsLCBib290c3RyYXAsCgkgIE1vZHVsZXMvQ01ha2VDb21tb25MYW5ndWFnZUluY2x1ZGUuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VUZXN0Q0NvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2UsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudFBhcnNlckhlbHBlci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwgU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHgsCgkgIFRlc3RzL0xvYWRDb21tYW5kL0xvYWRlZENvbW1hbmQuY3h4LAoJICBUZXN0cy9Mb2FkQ29tbWFuZC9DTWFrZUNvbW1hbmRzL2NtVGVzdENvbW1hbmQuYywKCSAgVGVzdHMvTG9hZENvbW1hbmRPbmVDb25maWcvTG9hZGVkQ29tbWFuZC5jeHgsCgkgIFRlc3RzL0xvYWRDb21tYW5kT25lQ29uZmlnL0NNYWtlQ29tbWFuZHMvY21UZXN0Q29tbWFuZC5jOiBFTkg6CgkgIG1vdmUgY2hhbmdlcyBmcm9tIG1haW4gdHJlZSB0byBicmFuY2gKCjIwMDYtMDctMjcgMDk6NDAgIGtpbmcKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0SGFuZGxlckNvbW1hbmQuY3h4OiBCVUc6IEZpeCBlcnJvciBtZXNzYWdlCgkgIHdoZW4gaGFuZGxlciBjYW5ub3QgYmUgY3JlYXRlZC4KCjIwMDYtMDctMjcgMDg6MTAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNy0yNiAxNDo0NiAgbWFydGluawoKCSogU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogZml4IGNvbW1lbnQKCjIwMDYtMDctMjYgMTQ6MTAgIGFuZHkKCgkqIGJvb3RzdHJhcCwgTW9kdWxlcy9DTWFrZVRlc3RDQ29tcGlsZXIuY21ha2U6IENPTVA6IE1vcmUgd2FybmluZ3MKCSAgYW5kIGhwIGlzc3VlcwoKMjAwNi0wNy0yNiAxMzoxOSAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZUNvbW1vbkxhbmd1YWdlSW5jbHVkZS5jbWFrZTogQlVHOiBmaXggZm9yIDM1NTAKCSAgYWdhaW4KCjIwMDYtMDctMjYgMTE6NDYgIGFuZHkKCgkqIGJvb3RzdHJhcCwgTW9kdWxlcy9DTWFrZVRlc3RDQ29tcGlsZXIuY21ha2UsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudFBhcnNlckhlbHBlci5jeHgsCgkgIFNvdXJjZS9jbUluY2x1ZGVEaXJlY3RvcnlDb21tYW5kLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHgsIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4OgoJICBDT01QOiBIYW5kbGUgYm90aCBhbnNpIGFuZCBub24tYW5zaSBDCgoyMDA2LTA3LTI2IDExOjE1ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2U6IEJVRzogZml4IGZvciBidWcgMzU1MCwgZm9yCgkgIHJlbGVhc2UgYnVpbGRzIGRvIG5vdCBidWlsZCBpbmNyZW1lbnRhbAoKMjAwNi0wNy0yNiAxMDoxMSAgaG9mZm1hbgoKCSogYm9vdHN0cmFwOiBFTkg6IHB1dCBiYWNrIHNvIGl0IHdvcmtzIG9uIGhwCgoyMDA2LTA3LTI2IDA5OjExICBob2ZmbWFuCgoJKiBUZXN0cy86IExvYWRDb21tYW5kL0NNYWtlQ29tbWFuZHMvY21UZXN0Q29tbWFuZC5jLAoJICBMb2FkQ29tbWFuZE9uZUNvbmZpZy9DTWFrZUNvbW1hbmRzL2NtVGVzdENvbW1hbmQuYzogRU5IOiBkbyBub3QKCSAgdXNlIGMrKyBjb21tZW50cyBpbiBjIGNvZGUKCjIwMDYtMDctMjYgMDg6MzUgIGhvZmZtYW4KCgkqIENUZXN0Q3VzdG9tLmN0ZXN0LmluLCBDaGFuZ2VMb2cubWFudWFsLCBib290c3RyYXAsCgkgIE1vZHVsZXMvQ01ha2VJbXBvcnRCdWlsZFNldHRpbmdzLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2UsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHgsIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5oeHguaW4sCgkgIFNvdXJjZS9rd3N5cy90ZXN0U3lzdGVtVG9vbHMuY3h4LAoJICBUZXN0cy9Mb2FkQ29tbWFuZC9DTWFrZUNvbW1hbmRzL2NtVGVzdENvbW1hbmQuYywKCSAgVGVzdHMvTG9hZENvbW1hbmRPbmVDb25maWcvQ01ha2VDb21tYW5kcy9jbVRlc3RDb21tYW5kLmM6IEVOSDoKCSAgbW92ZSBjaGFuZ2VzIGZyb20gbWFpbiB0cmVlCgoyMDA2LTA3LTI2IDA3OjUzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDctMjUgMTU6MTggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEJVRzogTWFzayBzaWduYWxzIGR1cmluZwoJICBTeXN0ZW1Ub29sczo6RGVsYXkgdG8gYXZvaWQgaW50ZXJydXB0ZWQgc2xlZXAuCgoyMDA2LTA3LTI1IDE0OjMyICBtYXJ0aW5rCgoJKiBUZXN0cy86IExvYWRDb21tYW5kL0NNYWtlQ29tbWFuZHMvY21UZXN0Q29tbWFuZC5jLAoJICBMb2FkQ29tbWFuZE9uZUNvbmZpZy9DTWFrZUNvbW1hbmRzL2NtVGVzdENvbW1hbmQuYzogQlVHOiByZW1vdmUKCSAgY29tbWFuZCBjYXVzaW5nIGlzc3VlcyB3aXRoIG1pZCBidWlsZCByZXJ1bnMgb2YgY21ha2Ugb24gdnM3MAoKMjAwNi0wNy0yNSAxNDoxNSAgbWFydGluawoKCSogU291cmNlL2t3c3lzL3Rlc3RTeXN0ZW1Ub29scy5jeHg6IENPTVA6IGZpeCBjb21waWxlIGlzc3VlCgoyMDA2LTA3LTI1IDEyOjM4ICBtYXJ0aW5rCgoJKiBUZXN0cy86IExvYWRDb21tYW5kL0NNYWtlQ29tbWFuZHMvY21UZXN0Q29tbWFuZC5jLAoJICBMb2FkQ29tbWFuZE9uZUNvbmZpZy9DTWFrZUNvbW1hbmRzL2NtVGVzdENvbW1hbmQuYzogRU5IOiB0cnlpbmcgYQoJICBzbGlnaHQgY2hhbmdlCgoyMDA2LTA3LTI1IDEyOjA4ICBtYXJ0aW5rCgoJKiBTb3VyY2Uva3dzeXMvOiBTeXN0ZW1Ub29scy5jeHgsIFN5c3RlbVRvb2xzLmh4eC5pbiwKCSAgdGVzdFN5c3RlbVRvb2xzLmN4eDogQlVHOiBzb21lIGJ1ZyBmaXhlcywgYmV0dGVyIGRvY3MsIGFuZCBtb3JlCgkgIGNvdmVyYWdlCgoyMDA2LTA3LTI1IDExOjAwICBhbmR5CgoJKiBib290c3RyYXA6IENPTVA6IFJlbW92ZSB3YXJuaW5nCgoyMDA2LTA3LTI1IDEwOjQ2ICBtYXJ0aW5rCgoJKiBUZXN0cy86IExvYWRDb21tYW5kL0NNYWtlQ29tbWFuZHMvY21UZXN0Q29tbWFuZC5jLAoJICBMb2FkQ29tbWFuZE9uZUNvbmZpZy9DTWFrZUNvbW1hbmRzL2NtVGVzdENvbW1hbmQuYzogQlVHOiByZW1vdmUKCSAgYysrY29tbWVudHMKCjIwMDYtMDctMjUgMTA6MDEgIGhvZmZtYW4KCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJhdG9ycy5jeHg6IEVOSDogcmVtb3ZlIHVuY29tcGlsZWQgaGVhZGVyCgoyMDA2LTA3LTI1IDA4OjI3ICBob2ZmbWFuCgoJKiBDVGVzdEN1c3RvbS5jdGVzdC5pbjogRU5IOiB0cnkgdG8gZ2V0IHJpZCBvZiBjbG9jayBza2V3IHdhcm5pbmcKCjIwMDYtMDctMjUgMDg6MTMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNy0yNCAxNjo1OCAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZUltcG9ydEJ1aWxkU2V0dGluZ3MuY21ha2U6IEVOSDogZml4IGZvciBjYXNlCgkgIGRpZmZlcmVuY2Ugd2l0aCBubWFrZQoKMjAwNi0wNy0yNCAxNjozNSAgbWFydGluawoKCSogVGVzdHMvOiBMb2FkQ29tbWFuZC9DTWFrZUNvbW1hbmRzL2NtVGVzdENvbW1hbmQuYywKCSAgTG9hZENvbW1hbmRPbmVDb25maWcvQ01ha2VDb21tYW5kcy9jbVRlc3RDb21tYW5kLmM6IEJVRzogdGVtcCBmaXgKCjIwMDYtMDctMjQgMTY6MTMgIG1hcnRpbmsKCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZTogQlVHOiBmaXggZm9yIENYWCBvbmx5IHByb2plY3RzCgoyMDA2LTA3LTI0IDE1OjQwICBtYXJ0aW5rCgoJKiBUZXN0cy86IExvYWRDb21tYW5kL0NNYWtlQ29tbWFuZHMvY21UZXN0Q29tbWFuZC5jLAoJICBMb2FkQ29tbWFuZE9uZUNvbmZpZy9DTWFrZUNvbW1hbmRzL2NtVGVzdENvbW1hbmQuYzogRU5IOiBhZGQKCSAgbW9yZSBjb3ZlcmFnZQoKMjAwNi0wNy0yNCAxMToyNyAgaG9mZm1hbgoKCSogU291cmNlLzogY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBrd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEVOSDogYWxsb3cgZm9yIHNvdXJjZSB0cmVlIHRvIGJlIGluIHJvb3QKCSAgZGlyZWN0b3J5CgoyMDA2LTA3LTI0IDExOjE5ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRm9ydHJhbkNvbXBpbGVyLmNtYWtlLmluLCBNb2R1bGVzL0NQYWNrLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRCb29zdC5jbWFrZSwgTW9kdWxlcy9GaW5kS0RFNC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kT3BlbkdMLmNtYWtlLCBNb2R1bGVzL0ZpbmR3eFdpZGdldHMuY21ha2UsCgkgIE1vZHVsZXMvRmluZHd4V2luZG93cy5jbWFrZSwgTW9kdWxlcy9Vc2Vfd3hXaW5kb3dzLmNtYWtlLAoJICBNb2R1bGVzL1VzZXd4V2lkZ2V0cy5jbWFrZSwgTW9kdWxlcy9yZWFkbWUudHh0LAoJICBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbUJ1aWxkQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUNUZXN0LmN4eCwgU291cmNlL2NtRmluZEJhc2UuY3h4LCBTb3VyY2UvY21GaW5kQmFzZS5oLAoJICBTb3VyY2UvY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4LCBTb3VyY2UvY21GaW5kUGFja2FnZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21GaW5kUGF0aENvbW1hbmQuY3h4LCBTb3VyY2UvY21GaW5kUHJvZ3JhbUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLAoJICBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW9HZW5lcmF0b3IuaCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZS5oLAoJICBTb3VyY2UvY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbVNldFNvdXJjZUZpbGVzUHJvcGVydGllc0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21TdGFuZGFyZEluY2x1ZGVzLmgsIFNvdXJjZS9jbWFrZS5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5oLCBTb3VyY2UvQ1BhY2svY3BhY2suY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0Q29uZmlndXJlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0SGFuZGxlckNvbW1hbmQuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFNjcmlwdEhhbmRsZXIuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN0YXJ0Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFVwZGF0ZUNvbW1hbmQuY3h4LAoJICBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9rd3N5cy9Db21tYW5kTGluZUFyZ3VtZW50cy5jeHgsCgkgIFNvdXJjZS9rd3N5cy9Db21tYW5kTGluZUFyZ3VtZW50cy5oeHguaW4sIFNvdXJjZS9rd3N5cy9HbG9iLmN4eCwKCSAgU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jLCBTb3VyY2Uva3dzeXMvUmVnaXN0cnkuY3h4LAoJICBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4LCBTb3VyY2Uva3dzeXMvVGVybWluYWwuYywKCSAgU291cmNlL2t3c3lzL2t3c3lzX2lvc19pb3N0cmVhbS5oLmluLAoJICBTb3VyY2Uva3dzeXMvdGVzdENvbW1hbmRMaW5lQXJndW1lbnRzLmN4eCwKCSAgU291cmNlL2t3c3lzL3Rlc3RDb21tYW5kTGluZUFyZ3VtZW50czEuY3h4LAoJICBUZXN0cy9CdW5kbGVUZXN0L0J1bmRsZUxpYi5jeHgsIFRlc3RzL0J1bmRsZVRlc3QvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0J1bmRsZVRlc3QvQnVuZGxlU3ViRGlyL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9DVGVzdFRlc3QvdGVzdC5jbWFrZS5pbiwgVGVzdHMvQ3h4T25seS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ3h4T25seS9jeHhvbmx5LmN4eCwgVGVzdHMvQ3h4T25seS9saWJjeHgxLmN4eCwKCSAgVGVzdHMvQ3h4T25seS9saWJjeHgxLmgsIFRlc3RzL0N4eE9ubHkvbGliY3h4Mi5jeHgsCgkgIFRlc3RzL0N4eE9ubHkvbGliY3h4Mi5oLCBUZXN0cy9Mb2FkQ29tbWFuZC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvTG9hZENvbW1hbmQvTG9hZGVkQ29tbWFuZC5jeHguaW4sCgkgIFRlc3RzL0xvYWRDb21tYW5kL0NNYWtlQ29tbWFuZHMvY21UZXN0Q29tbWFuZC5jLAoJICBUZXN0cy9Mb2FkQ29tbWFuZE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvTG9hZENvbW1hbmRPbmVDb25maWcvTG9hZGVkQ29tbWFuZC5jeHguaW4sCgkgIFRlc3RzL0xvYWRDb21tYW5kT25lQ29uZmlnL0NNYWtlQ29tbWFuZHMvY21UZXN0Q29tbWFuZC5jLAoJICBUZXN0cy9PdXRPZlNvdXJjZS9zaW1wbGUuY3h4LAoJICBUZXN0cy9PdXRPZlNvdXJjZS9PdXRPZlNvdXJjZVN1YmRpci9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvT3V0T2ZTb3VyY2UvT3V0T2ZTb3VyY2VTdWJkaXIvc2ltcGxlLmN4eCwKCSAgVXRpbGl0aWVzL2NtY3VybC9UZXN0aW5nL2Z0cGdldC5jLAoJICBVdGlsaXRpZXMvY21jdXJsL1Rlc3RpbmcvZnRwZ2V0cmVzcC5jLAoJICBVdGlsaXRpZXMvY21jdXJsL1Rlc3RpbmcvZnRwdXBsb2FkLmMsIFV0aWxpdGllcy9jbXRhci9ibG9jay5jLAoJICBVdGlsaXRpZXMvY210YXIvbGlidGFyLmMsIFV0aWxpdGllcy9jbXRhci9jb21wYXQvc3RybGNweS5jLAoJICBVdGlsaXRpZXMvY210YXIvbGlzdGhhc2gvbGlzdC5jLmluOiBFTkg6IG1vdmUgY2hhbmdlcyBmcm9tIG1haW4KCSAgdHJlZSB0byByZWxlYXNlIGJyYW5jaAoKMjAwNi0wNy0yNCAwOTo0MyAgbWFydGluawoKCSogVGVzdHMvQ1Rlc3RUZXN0L3Rlc3QuY21ha2UuaW46IEVOSDogbW9yZSBjb3ZlcmFnZQoKMjAwNi0wNy0yNCAwODowMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA3LTIzIDA3OjQ5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDctMjIgMDg6MTEgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDWFhDb21waWxlci5jbWFrZTogQlVHOiBDTUFLRV9BUiBzaG91bGQgYmUKCSAgYWR2YW5jZWQuCgoyMDA2LTA3LTIyIDA4OjA0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDctMjEgMTU6NDMgIGtpbmcKCgkqIE1vZHVsZXMvRmluZHd4V2lkZ2V0cy5jbWFrZSwgTW9kdWxlcy9GaW5kd3hXaW5kb3dzLmNtYWtlLAoJICBNb2R1bGVzL1VzZV93eFdpbmRvd3MuY21ha2UsIE1vZHVsZXMvVXNld3hXaWRnZXRzLmNtYWtlLAoJICBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogQXBwbHlpbmcgcGF0Y2ggZnJvbSBidWcjMzQ0MyB0bwoJICBpbXBsZW1lbnQgRmluZHd4V2lkZ2V0cy5jbWFrZSBwcm9wZXJseS4gIEl0IGFsc28gdXBkYXRlcyB0aGUKCSAgVXNlV1ggdGVzdCBhbmQgV1hEaWFsb2cgc291cmNlcyB0byB1c2UgdGhlIG5ldyBmaW5kIHNjcmlwdC4KCjIwMDYtMDctMjEgMTU6MjAgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NvbmZpZ19EYXJ3aW46IEVOSDogRG8gbm90IGluY2x1ZGUgZXhwZXJpbWVudGFsCgkgIFdYRGlhbG9nIGluIHJlbGVhc2UuCgoyMDA2LTA3LTIxIDE1OjE2ICBraW5nCgoJKiBNb2R1bGVzL3JlYWRtZS50eHQ6IEVOSDogQWRkZWQgZG9jdW1lbnRhdGlvbiBhYm91dAoJICBYWFhfRklORF9DT01QT05FTlRTIGZvciBGSU5EX1BBQ0tBR0UuCgoyMDA2LTA3LTIxIDE0OjU4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21ha2UuY3h4OiBFTkg6IGZpeCBjb2xvciBvdXRwdXQgaW5zaWRlIG9mCgkgIGN0ZXN0IHJ1bnMKCjIwMDYtMDctMjEgMTQ6MDIgIG1hcnRpbmsKCgkqIFRlc3RzLzogTG9hZENvbW1hbmQvQ01ha2VMaXN0cy50eHQsCgkgIExvYWRDb21tYW5kL0xvYWRlZENvbW1hbmQuY3h4LmluLAoJICBMb2FkQ29tbWFuZE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgTG9hZENvbW1hbmRPbmVDb25maWcvTG9hZGVkQ29tbWFuZC5jeHguaW4sCgkgIExvYWRDb21tYW5kL0xvYWRlZENvbW1hbmQuY3h4LAoJICBMb2FkQ29tbWFuZE9uZUNvbmZpZy9Mb2FkZWRDb21tYW5kLmN4eCwKCSAgTG9hZENvbW1hbmQvQ01ha2VDb21tYW5kcy9jbVRlc3RDb21tYW5kLmMsCgkgIExvYWRDb21tYW5kT25lQ29uZmlnL0NNYWtlQ29tbWFuZHMvY21UZXN0Q29tbWFuZC5jOiBCVUc6IHdvcmsKCSAgYXJvdW5kIFhDb2RlIGlzc3VlCgoyMDA2LTA3LTIxIDEzOjA1ICBhbmR5CgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IENsZWFudXAuIFJlcGxhY2UgYy1zdHlsZSBjYXN0IHdpdGgKCSAgc3RhdGljX2Nhc3QgYW5kIHJlcGxhY2Ugc3ByaW50ZiB3aXRoIGNtT1N0cmluZ1N0cmVhbQoKMjAwNi0wNy0yMSAxMjowNCAga2luZwoKCSogTW9kdWxlcy9GaW5kQm9vc3QuY21ha2U6IEVOSDogQWRkaW5nIEZpbmRCb29zdC5jbWFrZSBtb2R1bGUgZnJvbQoJICBBbmRyZXcgTWFjbGVhbi4gIFRoaXMgYWRkcmVzc2VzIGJ1ZyMzNDQ3LgoKMjAwNi0wNy0yMSAxMTo1MyAga2luZwoKCSogTW9kdWxlcy9DTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6CgkgIEJVRzogRml4ZWQgYnVpbGRpbmcgb2YgQysrLW9ubHkgcHJvamVjdHMgYW5kIGFkZGVkIGEgdGVzdC4KCjIwMDYtMDctMjEgMTE6NDMgIGtpbmcKCgkqIFRlc3RzL0N4eE9ubHkvOiBDTWFrZUxpc3RzLnR4dCwgY3h4b25seS5jeHgsIGxpYmN4eDEuY3h4LAoJICBsaWJjeHgxLmgsIGxpYmN4eDIuY3h4LCBsaWJjeHgyLmg6IEVOSDogQWRkaW5nIEMrKy1vbmx5IHRlc3QuCgoyMDA2LTA3LTIxIDEwOjI2ICBtYXJ0aW5rCgoJKiBUZXN0cy86IENUZXN0VGVzdC90ZXN0LmNtYWtlLmluLCBMb2FkQ29tbWFuZC9DTWFrZUxpc3RzLnR4dCwKCSAgTG9hZENvbW1hbmQvQ01ha2VDb21tYW5kcy9jbVRlc3RDb21tYW5kLmMsCgkgIExvYWRDb21tYW5kT25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBMb2FkQ29tbWFuZE9uZUNvbmZpZy9DTWFrZUNvbW1hbmRzL2NtVGVzdENvbW1hbmQuYzogRU5IOiBpbmNyZWFzZQoJICBjb3ZlcmFnZSBpbiBhIGNvdXBsZSBwbGFjZXMKCjIwMDYtMDctMjEgMDg6MDUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNy0yMCAwOTozNSAga2luZwoKCSogU291cmNlL2t3c3lzL1Rlcm1pbmFsLmM6IEJVRzogRG8gbm90IGRpc3BsYXkgVlQxMDAgZXNjYXBlcyBpbnNpZGUKCSAgZW1hY3MgZXZlbiBpZiBURVJNIGlzIHNldCB0byB4dGVybS4KCjIwMDYtMDctMjAgMDg6MTggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNy0xOSAwODoyMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA3LTE4IDE1OjIxICBraW5nCgoJKiBTb3VyY2UvOiBjbUZpbmRCYXNlLmN4eCwgY21GaW5kQmFzZS5oLCBjbUZpbmRMaWJyYXJ5Q29tbWFuZC5jeHgsCgkgIGNtRmluZFBhdGhDb21tYW5kLmN4eCwgY21GaW5kUHJvZ3JhbUNvbW1hbmQuY3h4OiBCVUc6IElmIHRoZSB1c2VyCgkgIHNwZWNpZmllcyBhIGNhY2hlIGVudHJ5IG9uIHRoZSBjb21tYW5kIGxpbmUgd2l0aG91dCBhIHR5cGUsIHRoZQoJICBGSU5EXyogY29tbWFuZHMgc2hvdWxkIGFkZCB0aGUgdHlwZSBhbmQgZG9jc3RyaW5nIHRvIHRoZSBnaXZlbgoJICB2YWx1ZSBhbmQgcHV0IGl0IGJhY2sgaW4gdGhlIGNhY2hlLgoKMjAwNi0wNy0xOCAxMzoxNiAga2luZwoKCSogTW9kdWxlcy9yZWFkbWUudHh0OiBTVFlMRTogQWRkZWQgbm90ZSBhYm91dCBzaW5ndWxhciB2ZXJzdXMKCSAgcGx1cmFsIG5hbWUgZm9yIFhYWF9JTkNMVURFX0RJUlMuICBBZGRlZCBYWFhfTElCUkFSWV9ESVJTIGFuZAoJICBYWFhfWVlfSU5DTFVERV9ESVIgY29udmVudGlvbnMuCgoyMDA2LTA3LTE4IDEzOjAyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNfaW9zX2lvc3RyZWFtLmguaW46IENPTVA6IEZpeCByZWZlcmVuY2VzIHRvCgkgIGNpbiwgY291dCwgY2VyciwgYW5kIGNsb2cgaW4gY2FzZSBvZiBIUCBhQ0MgY29tcGlsZXIgd2l0aCAtbXQKCSAgZmxhZy4KCjIwMDYtMDctMTggMDk6MzIgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW9HZW5lcmF0b3IuY3h4OiBTVFlMRTogZml4IGxvbmcgbGluZXMKCjIwMDYtMDctMTggMDg6MTIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNy0xNyAxMzozNCAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jOiBCVUc6IFdoZW4gaGFuZGluZyB0aGUgY2hpbGQgc3RkaW4KCSAgcGlwZSBhIGZpbGUsIGFsbG93IGFub3RoZXIgcHJvY2VzcyB0byBiZSB3cml0aW5nIHRvIHRoZSBmaWxlIGF0CgkgIHRoZSBzYW1lIHRpbWUuICBUaGlzIGFsbG93cyBjaGlsZHJlbiBzdWNoIGFzIHRhaWwgLWYgdG8gZnVuY3Rpb24KCSAgcHJvcGVybHkuCgoyMDA2LTA3LTE3IDExOjA3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQ09NUDogZml4IHdhcm5pbmcKCjIwMDYtMDctMTcgMDk6MTUgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy90ZXN0Q29tbWFuZExpbmVBcmd1bWVudHMxLmN4eDogQ09NUDogT25seSBkZWxldGUKCSAgb25jZQoKMjAwNi0wNy0xNyAwODoxNCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA3LTE2IDIxOjExICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvOiB0ZXN0Q29tbWFuZExpbmVBcmd1bWVudHMuY3h4LAoJICB0ZXN0Q29tbWFuZExpbmVBcmd1bWVudHMxLmN4eDogQ09NUDogUmVtb3ZlIHNvbWUgd2FybmluZ3MKCjIwMDYtMDctMTYgMDg6MTMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNy0xNSAwODoyMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA3LTE0IDE1OjAyICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvOiBDTWFrZUxpc3RzLnR4dCwgQ29tbWFuZExpbmVBcmd1bWVudHMuY3h4LAoJICBDb21tYW5kTGluZUFyZ3VtZW50cy5oeHguaW4sIHRlc3RDb21tYW5kTGluZUFyZ3VtZW50cy5jeHgsCgkgIHRlc3RDb21tYW5kTGluZUFyZ3VtZW50czEuY3h4OiBFTkg6IEFkZCBhIHdheSB0byBnZXQgdW51c2VkCgkgIGFyZ3VtZW50cyBhbmQgYWRkIGEgdGVzdAoKMjAwNi0wNy0xNCAxMzo1OSAgYW5keQoKCSogU291cmNlL2t3c3lzL0NvbW1hbmRMaW5lQXJndW1lbnRzLmh4eC5pbjogQ09NUDogUmVtb3ZlIHdhcm5pbmcKCjIwMDYtMDctMTQgMTM6MzIgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy86IENvbW1hbmRMaW5lQXJndW1lbnRzLmN4eCwKCSAgQ29tbWFuZExpbmVBcmd1bWVudHMuaHh4LmluOiBFTkg6IEl0IGRvZXMgbm90IHJlYWxseSBtYWtlcyBzZW5zZQoJICB0byBoYXZlIEJvb2xlYW4gQXJndW1lbnQgTGlzdAoKMjAwNi0wNy0xNCAwOToxMyAgYW5keQoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIENvbW1hbmRMaW5lQXJndW1lbnRzLmN4eCwKCSAgQ29tbWFuZExpbmVBcmd1bWVudHMuaHh4LmluLCBTeXN0ZW1Ub29scy5jeHgsCgkgIHRlc3RDb21tYW5kTGluZUFyZ3VtZW50cy5jeHg6IEVOSDogQWRkIHN1cHBvcnQgZm9yCgkgIG11bHRpLWFyZ3VtZW50czogLWYgYXJnMSBhcmcyIGFyZzMgLi4uIGFuZCBzdXBwb3J0IGZvciBsaXN0czogLWYKCSAgYXJnMSAtZiBhcmcyIC1mIGFyZzMgLi4uIGFuZCBmb3IgYm9vbGVhbiB0byBiZSBzdG9yZWQgYXMgc3RyaW5ncwoJICBhbmQgZG91YmxlcwoKMjAwNi0wNy0xNCAwODowMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA3LTEzIDE0OjAzICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHg6IEVOSDogYWRkZWQgcHJvZ3Jlc3MgdG8KCSAgY3VzdG9tIGNvbW1hbmRzIHdpdGggY29tbWVudHMKCjIwMDYtMDctMTMgMTE6MzAgIGFuZHkKCgkqIFV0aWxpdGllcy9jbXRhci9saXN0aGFzaC9saXN0LmMuaW46IENPTVA6IFJlbW92ZSB3YXJuaW5nCgoyMDA2LTA3LTEzIDA5OjI2ICBhbmR5CgoJKiBVdGlsaXRpZXMvY210YXIvbGlidGFyLmMsIFV0aWxpdGllcy9jbXRhci9jb21wYXQvc3RybGNweS5jLAoJICBVdGlsaXRpZXMvY210YXIvbGlzdGhhc2gvbGlzdC5jLmluLCBTb3VyY2UvY21TdGFuZGFyZEluY2x1ZGVzLmgsCgkgIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IENPTVA6IFJlbW92ZSB3YXJuaW5ncwoKMjAwNi0wNy0xMyAwOToxMyAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHg6IFNUWUxFOiBGaXgga3dzdHlsZQoKMjAwNi0wNy0xMyAwOTowNyAgYW5keQoKCSogU291cmNlL2t3c3lzL1JlZ2lzdHJ5LmN4eDogQ09NUDogUmVtb3ZlIHdhcm5pbmdzCgoyMDA2LTA3LTEzIDA3OjQ2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDctMTIgMTY6MzAgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4LCBjbUNUZXN0VGVzdEhhbmRsZXIuY3h4OgoJICBFTkg6IFJlbW92ZSBkZWJ1ZwoKMjAwNi0wNy0xMiAxNjoyMSAgYW5keQoKCSogU291cmNlL2t3c3lzL1JlZ2lzdHJ5LmN4eDogQlVHOiBGaXggZXJyb3IgY29uZGl0aW9ucwoKMjAwNi0wNy0xMiAxNDo0MSAgbWFydGluawoKCSogU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IENPTVA6IGZpeCBvbGQgY29tcGlsZXIKCSAgaXNzdWUKCjIwMDYtMDctMTIgMTQ6MTUgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmg6IEJVRzogcmVkdWNlIHRoZSBudW1iZXIgb2YgZmlsZQoJICBoYW5kbGVzIGtlcHQgb3BlbgoKMjAwNi0wNy0xMiAxMzoxMSAgbWFydGluawoKCSogU291cmNlLzogY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oOiBFTkg6IGFkZGVkIHByb2dyZXNzIGZvciBzdWJkaXIKCSAgYWxsIHRhcmdldHMgYW5kIGZpeGVkIGNvbXBpbGVyIHdhcmluZwoKMjAwNi0wNy0xMiAwOToyMSAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHg6IFNUWUxFOiBSZW1vdmUgZGVidWcKCjIwMDYtMDctMTIgMDk6MjAgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy9Db21tYW5kTGluZUFyZ3VtZW50cy5jeHgsIFNvdXJjZS9rd3N5cy9HbG9iLmN4eCwKCSAgU291cmNlL2t3c3lzL1JlZ2lzdHJ5LmN4eCwgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eCwKCSAgVXRpbGl0aWVzL2NtdGFyL2Jsb2NrLmMsIFV0aWxpdGllcy9jbXRhci9saWJ0YXIuYywKCSAgVXRpbGl0aWVzL2NtdGFyL2NvbXBhdC9zdHJsY3B5LmMsCgkgIFV0aWxpdGllcy9jbXRhci9saXN0aGFzaC9saXN0LmMuaW46IENPTVA6IFJlbW92ZSB3YXJuaW5ncwoKMjAwNi0wNy0xMiAwODowNiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA3LTExIDE3OjEwICBraW5nCgoJKiBTb3VyY2UvY21GaW5kUGFja2FnZUNvbW1hbmQuY3h4OiBFTkg6IEFkZGVkIGNyZWF0aW9uIG9mCgkgIFhYWF9GSU5EX0NPTVBPTkVOVFMgbGlzdCBvZiBhbGwgY29tcG9uZW50cyByZXF1ZXN0ZWQgd2l0aAoJICBSRVFVSVJFRCBvcHRpb24uICBUaGlzIGFkZHJlc3NlcyB0aGUgZmVhdHVyZSByZXF1ZXN0IGluIGJ1ZyMzNDk0LgoKMjAwNi0wNy0xMSAxNjowOCAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBDT01QOiBGaXggc3RsIHN0cmluZyBhY2Nlc3MKCjIwMDYtMDctMTEgMTU6NTggIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBDVGVzdC9jbUNUZXN0Q29uZmlndXJlQ29tbWFuZC5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RIYW5kbGVyQ29tbWFuZC5jeHgsIENUZXN0L2NtQ1Rlc3RTdGFydENvbW1hbmQuY3h4LAoJICBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4LCBDVGVzdC9jbUNUZXN0VXBkYXRlQ29tbWFuZC5jeHg6CgkgIEJVRzogVHJ5IHRvIGZpeCB0aGUgcHJvYmxlbSBvZiBiYWQgdGVzdCBuYW1lcwoKMjAwNi0wNy0xMSAxMzoyMyAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5oOiBFTkg6IE1hZGUKCSAgY21Mb2NhbFZpc3VhbFN0dWRpb0dlbmVyYXRvciBhIHN1cGVyY2xhc3Mgb2YKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuICBJbXBsZW1lbnRlZCBvYmplY3QgZmlsZSB1bmlxdWUKCSAgbmFtaW5nIHdoZW4gbXVsdGlwbGUgc291cmNlcyBzaGFyZSB0aGUgc2FtZSBuYW1lLgoKMjAwNi0wNy0xMSAxMTo0MSAga2luZwoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIGNtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsR2VuZXJhdG9yLmgsIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvR2VuZXJhdG9yLmN4eCwgY21Mb2NhbFZpc3VhbFN0dWRpb0dlbmVyYXRvci5oOgoJICBFTkg6IE1vdmVkIHVuaXF1ZSBvYmplY3QgZmlsZSBuYW1lIGNvbXB1dGF0aW9uIGZyb20KCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMgdXAgdG8gY21Mb2NhbEdlbmVyYXRvciBmb3IgdXNlIGJ5CgkgIGFsbCBnZW5lcmF0b3JzLiAgQ3JlYXRlZCBjbUxvY2FsVmlzdWFsU3R1ZGlvR2VuZXJhdG9yIGFzCgkgIHN1cGVyY2xhc3MgZm9yIGFsbCBWUyBnZW5lcmF0b3JzLiAgSW1wbGVtZW50ZWQgb24tZGVtYW5kIHVuaXF1ZQoJICBvYmplY3QgZmlsZSBuYW1lIGNvbXB1dGF0aW9uIGZvciBWUyA3IGdlbmVyYXRvciB0byBhdm9pZCBzbG93CgkgIGNvbXBpbGVzIHdoZW4gYWxsIHNvdXJjZXMgYXJlIGluIHN1YmRpcmVjdG9yaWVzLgoKMjAwNi0wNy0xMSAxMTowOCAgbWFydGluawoKCSogU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4OiBFTkg6IGZpeCBjb21waWxlIHdhcm5pbmcKCjIwMDYtMDctMTEgMDk6NTUgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsIGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmg6IEJVRzogY2hhbmdlZCB0byBwcm9ncmVzcyB0byBtYWtlIGl0CgkgIG1vcmUgZmxleGlibGUgYW5kIHRvIG5vIHJlbGluayB0YXJnZXRzIGFzIG9mdGVuCgoyMDA2LTA3LTExIDA3OjU2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDctMTAgMDc6NTkgIGFuZHkKCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5jeHg6IENPTVA6IFJlbW92ZSB3YXJuaW5ncwoJICBhbmQgc3R5bGUgcHJvYmxlbXMKCjIwMDYtMDctMTAgMDc6NTMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNy0xMCAwNzo1MiAgYW5keQoKCSogU291cmNlLzogY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsIENQYWNrL2NwYWNrLmN4eDogU1RZTEU6CgkgIEZpeCBzb21lIHN0eWxlIGVycm9ycwoKMjAwNi0wNy0wOSAxMzo0OCAgYW5keQoKCSogVXRpbGl0aWVzL2NtY3VybC9UZXN0aW5nLzogZnRwZ2V0LmMsIGZ0cGdldHJlc3AuYywgZnRwdXBsb2FkLmM6CgkgIENPTVA6IFJlbW92ZSBlcnJvcnMKCjIwMDYtMDctMDkgMTM6MjAgIGFuZHkKCgkqIE1vZHVsZXMvQ1BhY2suY21ha2UsIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5oLCBTb3VyY2UvQ1BhY2svY3BhY2suY3h4OgoJICBFTkg6IFNldmVyYWwgY2xlYW51cHMgYW5kIHN1cHBvcnQgZm9yIG11bHRpcGxlIGdlbmVyYXRvcnMKCjIwMDYtMDctMDkgMTM6MTkgIGFuZHkKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmg6IEVOSDogQWRkIGEgY29weQoJICBjb25zdHJ1Y3RvciB0byBjb3B5IHRoZSB2YWx1ZXMKCjIwMDYtMDctMDkgMTM6MTggIGFuZHkKCgkqIFNvdXJjZS86IGNtQnVpbGRDb21tYW5kLmN4eCwgY21DVGVzdC5jeHg6IEVOSDogUGFzcyAtQyBmbGFnIHRvCgkgIGNtYWtlIHRvIGdlbmVyYXRlIHRoZSBhcHJvcHJpYXRlIGJ1aWxkIGNvbW1hbmQKCjIwMDYtMDctMDkgMDc6NTEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNy0wOCAwNzo1NiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA3LTA3IDEzOjU5ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFNjcmlwdEhhbmRsZXIuY3h4OiBFTkg6IEJlIG1vcmUgdmVyYm9zZQoKMjAwNi0wNy0wNyAwOTo1NCAga2luZwoKCSogVGVzdHMvT3V0T2ZTb3VyY2UvOiBzaW1wbGUuY3h4LCBPdXRPZlNvdXJjZVN1YmRpci9DTWFrZUxpc3RzLnR4dCwKCSAgT3V0T2ZTb3VyY2VTdWJkaXIvc2ltcGxlLmN4eDogRU5IOiBBZGRpbmcgdGVzdCBmb3IgbXVsdGlwbGUKCSAgc291cmNlIGZpbGVzIHdpdGggdGhlIHNhbWUgbmFtZSBidXQgZGlmZmVyZW50IGZ1bGwgcGF0aHMuCgoyMDA2LTA3LTA3IDA4OjA4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDctMDYgMTY6MDUgIGFuZHkKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvQnVuZGxlVGVzdC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQnVuZGxlVGVzdC9CdW5kbGVTdWJEaXIvQ01ha2VMaXN0cy50eHQ6IEVOSDogSW1wcm92ZSB0aGUKCSAgdGVzdCB0byBjcmVhdGUgYSBidW5kbGUgaW4gdGhlIHN1YmRpcmVjdG9yeQoKMjAwNi0wNy0wNiAxNjowNCAgYW5keQoKCSogU291cmNlLzogY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21TZXRTb3VyY2VGaWxlc1Byb3BlcnRpZXNDb21tYW5kLmN4eDogQlVHOiBTZXZlcmFsIGZpeGVzIHRvCgkgIGhhbmRsZSBidW5kbGUgY29udGVudCBvbiBNYWMgT1NYCgoyMDA2LTA3LTA2IDEzOjUyICBhbmR5CgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBCVUc6IE1ha2UgdGhlIHBhdGgKCSAgY2hhbmdlIG1vcmUgbG9jYWxpemVkIHRvIGJ1bmRsZXMgb25seQoKMjAwNi0wNy0wNiAxMTozNSAgYW5keQoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBSZXZlcnQgdGhlIGNoYW5nZQoJICAxLjE1MgoKMjAwNi0wNy0wNiAwNzo0NSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA3LTA1IDE2OjI3ICBhbmR5CgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0J1bmRsZVRlc3QvQnVuZGxlTGliLmN4eCwgVGVzdHMvQnVuZGxlVGVzdC9DTWFrZUxpc3RzLnR4dDoKCSAgQlVHOiBJZiB0aGUgc291cmNlIGZpbGUgc3BlY2lmaWVkIGlzIG5vdCBpbiBhIHNvdXJjZSB0cmVlLCBkbyBub3QKCSAgdXNlIGZ1bGwgcGF0aCB0byB0aGUgZmlsZQoKMjAwNi0wNy0wNSAxNjoyMSAgYW5keQoKCSogTW9kdWxlcy9GaW5kT3BlbkdMLmNtYWtlOiBFTkg6IE9uIGFwcGxlIGRvIG5vdCBsb29rIGZvciBYMTEKCjIwMDYtMDctMDUgMTA6MDYgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dDogRU5IOiBVcGRhdGVkIGluc3RhbGxhdGlvbiBvcHRpb25zCgkgIGFuZCBpbXBsZW1lbnRhdGlvbiB0byB1c2UgSU5TVEFMTCBjb21tYW5kIGlmIGl0IGlzIGF2YWlsYWJsZS4KCSAgVGhpcyB3aWxsIGFsbG93IGluc3RhbGxhdGlvbiBjb21wb25lbnQgYXNzaWdubWVudCBhbmQgc2VwYXJhdGUKCSAgaW5zdGFsbGF0aW9uIG9mIHRoZSAuZGxsIGFuZCAubGliIG9uIHdpbmRvd3MuCgoyMDA2LTA3LTA1IDA4OjI2ICBiZXJrCgoJKiBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkaW5nIGNtYWtlIDIuNCBzdHlsZQoJICBpbnN0YWxsYXRpb24uIE5PVEU6IFRoZXNlIGNoYW5nZXMgd2lsbCB3b3JrIG9uIGEgcGFyYXZpZXcgYnVpbGQKCSAgb25seS4gVGhpcyBmaWxlIGhhcyB0byB1cGRhdGVkIHRvIGJlIGdlbmVyYWwKCjIwMDYtMDctMDUgMDc6NDcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNy0wNCAxMTowNiAgYW5keQoKCSogTW9kdWxlcy9DTWFrZUZvcnRyYW5Db21waWxlci5jbWFrZS5pbjogRU5IOiBNZXJnZSBkZWJpYW4gY2hhbmdlcy4KCSAgU3VwcG9ydCBtb3JlIGZvcnRyYW4gZXh0ZW5zaW9ucwoKMjAwNi0wNy0wNCAwODozOCAgYWxleAoKCSogTW9kdWxlcy9GaW5kS0RFNC5jbWFrZToKCSAgRU5IOiBwcmVmZXIga2RlNC1jb25maWcgb3ZlciBrZGUtY29uZmlnLCBzaW5jZSBmb3IgS0RFIDQKCSAga2RlLWNvbmZpZyB3aWxsIGJlIHJlbmFtZWQgdG8ga2RlLWNvbmZpZywgYW5kIHNvIGNtYWtlIGhhcyB0bwoJICBwcmVmZXIgdGhpcyBvbmUgb3ZlciB0aGUgb2xkIHZlcnNpb24KCgkgIEFsZXgKCjIwMDYtMDctMDQgMDc6NTUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNy0wMyAwNzoyOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA3LTAyIDA3OjMwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDctMDEgMDc6MjcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNi0zMCAxMzo1MSAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogRU5IOiBhZGQgRUhhIG9wdGlvbgoKMjAwNi0wNi0zMCAxMzo1MCAgaG9mZm1hbgoKCSogTW9kdWxlcy9NYWNyb0FkZEZpbGVEZXBlbmRlbmNpZXMuY21ha2UsCgkgIFRlc3RzL0N1c3RvbUNvbW1hbmQvY29uZmlnLmguaW46IEVOSDogYWRkIGZpbGVzIGZyb20gbWFpbiB0cmVlCgoyMDA2LTA2LTMwIDEzOjQ4ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwgY21ha2VfdW5pbnN0YWxsLmNtYWtlLmluLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ1hYQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVGb3J0cmFuQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVKYXZhQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVSQ0NvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lU3lzdGVtLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlR2VuZXJpY1N5c3RlbS5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVRlc3RDQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VUZXN0Q1hYQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VUZXN0Rm9ydHJhbkNvbXBpbGVyLmNtYWtlLCBNb2R1bGVzL0NQYWNrLmNtYWtlLAoJICBNb2R1bGVzL0NUZXN0LmNtYWtlLCBNb2R1bGVzL0NoZWNrQ1NvdXJjZUNvbXBpbGVzLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrQ1hYU291cmNlQ29tcGlsZXMuY21ha2UsCgkgIE1vZHVsZXMvQ2hlY2tGdW5jdGlvbkV4aXN0cy5jbWFrZSwgTW9kdWxlcy9DaGVja0luY2x1ZGVGaWxlLmMuaW4sCgkgIE1vZHVsZXMvQ2hlY2tJbmNsdWRlRmlsZS5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja0luY2x1ZGVGaWxlQ1hYLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrSW5jbHVkZUZpbGVzLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrTGlicmFyeUV4aXN0cy5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja1N5bWJvbEV4aXN0cy5jbWFrZSwgTW9kdWxlcy9DaGVja1R5cGVTaXplLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrVmFyaWFibGVFeGlzdHMuY21ha2UsIE1vZHVsZXMvRmluZE9wZW5HTC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kUXQ0LmNtYWtlLCBNb2R1bGVzL0ZpbmRTRExfc291bmQuY21ha2UsCgkgIE1vZHVsZXMvRmluZFRocmVhZHMuY21ha2UsIE1vZHVsZXMvRmluZFZUSy5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kWkxJQi5jbWFrZSwgTW9kdWxlcy9LREUzTWFjcm9zLmNtYWtlLAoJICBNb2R1bGVzL1Rlc3RCaWdFbmRpYW4uY21ha2UsIE1vZHVsZXMvVGVzdENYWEFjY2VwdHNGbGFnLmNtYWtlLAoJICBNb2R1bGVzL1Rlc3RGb3JBTlNJRm9yU2NvcGUuY21ha2UsIE1vZHVsZXMvVGVzdEZvclNTVFJFQU0uY21ha2UsCgkgIE1vZHVsZXMvVGVzdEZvclNURE5hbWVzcGFjZS5jbWFrZSwgTW9kdWxlcy9rZGUzdWljLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2UsCgkgIFNvdXJjZS9jbUFkZEN1c3RvbUNvbW1hbmRDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuaCwKCSAgU291cmNlL2NtQWRkU3ViRGlyZWN0b3J5Q29tbWFuZC5jeHgsIFNvdXJjZS9jbUJ1aWxkQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUNhY2hlTWFuYWdlci5jeHgsIFNvdXJjZS9jbURlcGVuZHMuY3h4LAoJICBTb3VyY2UvY21EZXBlbmRzLmgsIFNvdXJjZS9jbURlcGVuZHNDLmN4eCwKCSAgU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21GaWxlQ29tbWFuZC5oLAoJICBTb3VyY2UvY21Gb3JFYWNoQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUZvckVhY2hDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUdsb2JhbEJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxLZGV2ZWxvcEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbE1TWVNNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbE1pbkdXTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxOTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5oLCBTb3VyY2UvY21JZkNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21JZkNvbW1hbmQuaCwgU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1hY3JvQ29tbWFuZC5jeHgsIFNvdXJjZS9jbU1hY3JvQ29tbWFuZC5oLAoJICBTb3VyY2UvY21NYWtlZmlsZS5jeHgsIFNvdXJjZS9jbU1ha2VmaWxlLmgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTWFrZWZpbGVVdGlsaXR5VGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWVzc2FnZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21TZXRUYXJnZXRQcm9wZXJ0aWVzQ29tbWFuZC5oLCBTb3VyY2UvY21UYXJnZXQuY3h4LAoJICBTb3VyY2UvY21UYXJnZXQuaCwgU291cmNlL2NtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21UcnlSdW5Db21tYW5kLmN4eCwgU291cmNlL2NtV2hpbGVDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtV2hpbGVDb21tYW5kLmgsIFNvdXJjZS9jbWFrZS5jeHgsIFNvdXJjZS9jbWFrZS5oLAoJICBTb3VyY2UvY21ha2VtYWluLmN4eCwgU291cmNlL0NQYWNrL2NtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0QnVpbGRBbmRUZXN0SGFuZGxlci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0QnVpbGRDb21tYW5kLmN4eCwKCSAgU291cmNlL0N1cnNlc0RpYWxvZy9mb3JtL2Zvcm0ucHJpdi5oLAoJICBTb3VyY2Uva3dzeXMvQ29tbWFuZExpbmVBcmd1bWVudHMuY3h4LAoJICBTb3VyY2Uva3dzeXMvRGlyZWN0b3J5LmN4eCwgU291cmNlL2t3c3lzL0RpcmVjdG9yeS5oeHguaW4sCgkgIFNvdXJjZS9rd3N5cy9Qcm9jZXNzLmguaW4sIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jLAoJICBTb3VyY2Uva3dzeXMvUHJvY2Vzc1dpbjMyLmMsIFNvdXJjZS9rd3N5cy9UZXJtaW5hbC5jLAoJICBTb3VyY2Uva3dzeXMva3dzeXNQbGF0Zm9ybUN4eFRlc3RzLmNtYWtlLAoJICBTb3VyY2Uva3dzeXMvdGVzdFByb2Nlc3MuYywKCSAgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9DdXN0b21Db21tYW5kL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9DdXN0b21Db21tYW5kL2Zvby5pbiwKCSAgVGVzdHMvTWFrZUNsZWFuL1RvQ2xlYW4vQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1RyeUNvbXBpbGUvQ01ha2VMaXN0cy50eHQsIFRlc3RzL1dyYXBwaW5nL1dyYXAuYywKCSAgVGVzdHMvV3JhcHBpbmcvZmFrZWZsdWlkLmN4eCwgVXRpbGl0aWVzL2NtY3VybC9DTWFrZUxpc3RzLnR4dCwKCSAgVXRpbGl0aWVzL2NtY3VybC9tcHJpbnRmLmMsCgkgIFV0aWxpdGllcy9jbWN1cmwvQ01ha2UvQ2hlY2tUeXBlU2l6ZS5jbWFrZSwKCSAgVXRpbGl0aWVzL2NtdGFyL0NNYWtlTGlzdHMudHh0LCBVdGlsaXRpZXMvY210YXIvYXBwZW5kLmMsCgkgIFV0aWxpdGllcy9jbXRhci9jb25maWcuaC5pbiwgVXRpbGl0aWVzL2NtdGFyL2V4dHJhY3QuYywKCSAgVXRpbGl0aWVzL2NtdGFyL2hhbmRsZS5jLCBVdGlsaXRpZXMvY210YXIvY29tcGF0L2ZubWF0Y2guYzogRU5IOgoJICBtZXJnZSBtYWluIHRyZWUgaW50byBicmFuY2gKCjIwMDYtMDYtMzAgMDc6MTYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNi0yOSAwNzoxMCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA2LTI4IDE3OjAwICBraW5nCgoJKiBNb2R1bGVzLzogQ2hlY2tDU291cmNlQ29tcGlsZXMuY21ha2UsCgkgIENoZWNrQ1hYU291cmNlQ29tcGlsZXMuY21ha2U6IEJVRzogTWFrZSBzdXJlIHRyeS1jb21waWxlIHNvdXJjZQoJICBlbmRzIGluIGEgbmV3bGluZS4KCjIwMDYtMDYtMjggMTY6MTYgIGhvZmZtYW4KCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5jeHg6IEVOSDogcmVtb3ZlIGNlcnIgb3V0cHV0CgoyMDA2LTA2LTI4IDE1OjE1ICBtYXJ0aW5rCgoJKiBNb2R1bGVzL0NUZXN0LmNtYWtlOiBCVUc6IGZpeCB0eXBvCgoyMDA2LTA2LTI4IDA3OjIxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDYtMjcgMTQ6MjYgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IENPTVA6IHdhcm5pbmcgZml4CgoyMDA2LTA2LTI3IDEwOjI0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBFTkg6IGZpeCBmb3Igc3ViZGlyIGFsbAoJICB0YXJnZXQgYWZ0ZXIgY29udHJvbCBjCgoyMDA2LTA2LTI3IDA5OjU3ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2Zvcm0vZm9ybS5wcml2Lmg6IEVOSDogZml4IGlhNjQgYnVpbGQgd2l0aAoJICBhQ0MKCjIwMDYtMDYtMjcgMDk6NTYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUZpbGVDb21tYW5kLmN4eDogRU5IOiBmaXggY3Jhc2ggd2hlbiBnbG9iIGhhcyB3cm9uZwoJICBudW1iZXIgb2YgYXJndW1lbnRzCgoyMDA2LTA2LTI3IDA3OjExICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDYtMjYgMTU6MjcgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogV2hlbiB1c2luZyBhCgkgIHdvcmtpbmcgZGlyZWN0b3J5IGZvciB0aGUgY3VzdG9tIGNvbW1hbmQgZG8gbm90IGNvbnZlcnQgcGF0aHMgdG8KCSAgYmUgcmVsYXRpdmUgdG8gdGhlIGJ1aWxkIGRpcmVjdG9yeS4KCjIwMDYtMDYtMjYgMTI6MDYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogZml4IGZvciBidWcgMzQ0NCwKCSAgcmVtb3ZlIHRyYWlsaW5nIC4gaW4gbGliIG5hbWVzCgoyMDA2LTA2LTI2IDExOjI3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEVOSDogZml4IHN1YmRpciBpc3N1ZQoKMjAwNi0wNi0yNiAxMDo1NyAga2luZwoKCSogU291cmNlL2NtSWZDb21tYW5kLmg6IEVOSDogQ2xhcmlmaWVkIGRvY3VtZW50YXRpb24gb2YgRVhJU1RTIGFuZAoJICBJU19ESVJFQ1RPUlkgbW9kZXMuCgoyMDA2LTA2LTI2IDA5OjQ2ICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9SRUFETUU6IEJVRzogQWRkZWQgbWlzc2luZyByZWxlYXNlIHN0ZXBzLgoKMjAwNi0wNi0yNiAwNzoxNSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA2LTI1IDE1OjE4ICBrYXJ0aGlrCgoJKiBTb3VyY2Uva3dzeXMvQ29tbWFuZExpbmVBcmd1bWVudHMuY3h4OiBCVUc6IFRoZSBvcGVyYXRvcgoJICBwcmVjZWRlbmNlIGlzIFtdIGZvbGxvd2VkIGJ5ICouIENhbGxpbmcgdGhpcyBtZXRob2Qgd2FzIGNhdXNpbmcKCSAgb3V0IG9mIGFycmF5IGluZGV4IHNlZ2ZhdWx0cyBib3VuZHMKCjIwMDYtMDYtMjUgMDc6MTQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNi0yNCAwNzoxOSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA2LTIzIDA3OjA4ICBhbmR5CgoJKiBNb2R1bGVzL0NUZXN0LmNtYWtlOiBFTkg6IERlZmF1bHQgZHJvcCBtZXRob2QgaHR0cAoKMjAwNi0wNi0yMiAxNTozNyAgYW5keQoKCSogU291cmNlL2NtTWVzc2FnZUNvbW1hbmQuY3h4OiBFTkg6IFVzZSBDTWFrZSdzIGVycm9yIHJlcG9ydGluZwoJICBtZWNoYW5pc20KCjIwMDYtMDYtMjIgMTU6MzEgIGFuZHkKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmg6IEVOSDogRElzcGxheSB0aGUgbGlzdCBmaWxlCgkgIHN0YWNrIHdoZW4gZGlzcGxheWluZyBlcnJvcnMKCjIwMDYtMDYtMjIgMTA6MzUgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtYWtlLmN4eCwga3dzeXMvRGlyZWN0b3J5LmN4eCwga3dzeXMvRGlyZWN0b3J5Lmh4eC5pbjoKCSAgRU5IOiBhZGQgYSBoaWdoZXIgcGVyZm9ybWFuY2UgbWV0aG9kIHRvIGdldCB0aGUgbnVtYmVyIG9mIGZpbGVzCgkgIGluIGEgZGlyZWN0b3J5CgoyMDA2LTA2LTIyIDA4OjAxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDYtMjEgMDc6NTYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNi0yMCAxMzoxMyAgaG9mZm1hbgoKCSogU291cmNlL2NtYWtlLmN4eDogRU5IOiBhdm9pZCBjcmFzaCBpbiBzcHJpbnRmCgoyMDA2LTA2LTIwIDA5OjUwICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogRU5IOiBmaXggbGluZSBsZW5ndGgKCSAgYW5kIHdhcm5pbmcKCjIwMDYtMDYtMTkgMTQ6NTcgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuaDogQlVHOiBEZWxheQoJICByZWxhdGl2ZSBwYXRoIGNvbmZpZ3VyYXRpb24gdW50aWwgYXMgbGF0ZSBhcyBwb3NzaWJsZSB0byBtYWtlCgkgIHN1cmUgdGhlIHNvdXJjZS9iaW5hcnkgZGlyIGFyZSBzZXQuICBUaGlzIGlzIGEgd29yay1hcm91bmQgZm9yCgkgIGxhY2sgb2YgYSBtb3JlIHN0cnVjdHVyZWQgd2F5IG9mIGNyZWF0aW5nIHRoZSBnbG9iYWwgZ2VuZXJhdG9yLgoKMjAwNi0wNi0xOSAxMTozNCAgbWFydGluawoKCSogU291cmNlLzogY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmg6IEVOSDogZml4IGZvciBkZXBlbmRlbnQgdGFyZ2V0cwoKMjAwNi0wNi0xOSAxMDowNyAga2luZwoKCSogTW9kdWxlcy9GaW5kT3BlbkdMLmNtYWtlOiBFTkg6IERvIG5vdCBzZWFyY2ggZm9yIFgxMSBpZiBpdCBpcwoJICBhbHJlYWR5IGZvdW5kLgoKMjAwNi0wNi0xOSAwOTo0OSAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jOiBDT01QOiBGaXggY29udmVyc2lvbiB3YXJuaW5nLgoKMjAwNi0wNi0xOCAyMDowNSAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEVOSDogZG8gbm90IHVzZSB0aGUKCSAgbGluayBzY3JpcHQgb24gd2luZG93cwoKMjAwNi0wNi0xOCAxMTo1MCAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eDogQlVHOiBEbyBub3Qgd3JpdGUKCSAgbGluayBzY3JpcHQgbGluZXMgdGhhdCB1c2UgdGhlICc6JyBjb21tYW5kIHdoaWNoIGlzIHN1cHBvc2VkIHRvCgkgIGJlIGEgbm8tb3AgYW55d2F5LgoKMjAwNi0wNi0xOCAwOToyMyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA2LTE3IDE5OjMyICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4OiBCVUc6IE5lZWQgdG8gdXNlCgkgIGRpZmZlcmVudCBsaW5rIHNjcmlwdCBuYW1lIHdoZW4gcmVsaW5raW5nLgoKMjAwNi0wNi0xNyAwNzo1NSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA2LTE2IDE2OjI5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogRU5IOiB3YXJuaW5nIGZpeAoKMjAwNi0wNi0xNiAxNToyOSAgbWFydGluawoKCSogU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEVOSDogY2xlYW51cCBob3cKCSAgcHJvZ3Jlc3MgaXMgcmVwb3J0ZWQgZm9yIGluZGl2aWR1YWwgdGFyZ2V0cyB0byBmaXggYW4gaW50ZWdlcgoJICBtYXRoIGlzc3VlCgoyMDA2LTA2LTE2IDE0OjQ1ICBhbmR5CgoJKiBNb2R1bGVzLzogRmluZFF0NC5jbWFrZSwgTWFjcm9BZGRGaWxlRGVwZW5kZW5jaWVzLmNtYWtlOiBFTkg6CgkgIFVwZGF0ZXMgZnJvbSBLREUKCjIwMDYtMDYtMTYgMTQ6MTkgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVNldFRhcmdldFByb3BlcnRpZXNDb21tYW5kLmg6IEVOSDogZml4IGxpbmUgbGVuZ3RoCgoyMDA2LTA2LTE2IDE0OjAyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEJVRzogZml4IGZvciBidWcgMzQxNwoKMjAwNi0wNi0xNiAwNzo0NCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA2LTE1IDIxOjQzICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NQYWNrLmNtYWtlOiBFTkg6IGFkZCBhIGNvbW1lbnQKCjIwMDYtMDYtMTUgMTY6NDIgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogRU5IOiBQcm92aWRlIGFjY2VzcyB0byBDTUFLRV9QQVRDSF9WRVJTSU9OCgkgIGluIENNYWtlIGNvZGUuCgoyMDA2LTA2LTE1IDE2OjM3ICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBQcmUtaW5zdGFsbCBydWxlcwoJICBmb3IgYSB0YXJnZXQgc2hvdWxkIG5vdCBoYXZlIHRhcmdldC1sZXZlbCBkZXBlbmRlbmNpZXMuICBFYWNoCgkgIHRhcmdldCBjYW4gYmUgcmUtbGlua2VkIGluZGVwZW5kZW50bHkgYXMgbG9uZyBhcyB0aGUgb3JpZ2luYWwKCSAgdGFyZ2V0cyBhcmUgdXAgdG8gZGF0ZS4KCjIwMDYtMDYtMTUgMTY6MTcgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5oLAoJICBjbUdsb2JhbE1TWVNNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsTWluR1dNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsIGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuaCwKCSAgY21ha2UuY3h4LCBjbWFrZS5oOiBFTkg6IEFkZGVkIGdlbmVyYXRpb24gb2YgbGluayBydWxlcyBpbnRvCgkgIHNjcmlwdCBmaWxlcyBleGVjdXRlZCBieSBhIGNtYWtlIC1FIGNvbW1hbmQgaW4gb3JkZXIgdG8gc3VwcG9ydAoJICBsb25nZXIgbGluayBsaW5lcy4gIFRoaXMgaXMgbmVlZGVkIG9ubHkgb24gcGxhdGZvcm1zIHdpdGhvdXQKCSAgcmVzcG9uc2UgZmlsZSBzdXBwb3J0IGFuZCB0aGF0IG1heSBoYXZlIHdlYWsgc2hlbGxzLgoKMjAwNi0wNi0xNSAxNDo0MCAga2luZwoKCSogU291cmNlL2t3c3lzLzogUHJvY2Vzcy5oLmluLCBQcm9jZXNzVU5JWC5jLCBQcm9jZXNzV2luMzIuYzogRU5IOgoJICBBZGRlZCBPcHRpb25fVmVyYmF0aW0gdG8gcnVuIHdob2xlIGNvbW1hbmQgbGluZXMgZGlyZWN0bHkuCgoyMDA2LTA2LTE1IDExOjUxICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUdsb2JhbEtkZXZlbG9wR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LCBjbWFrZS5oOiBFTkg6IGZpeCBsaW5lbGVuZ3RoCgoyMDA2LTA2LTE1IDEwOjUxICBraW5nCgoJKiBTb3VyY2UvOiBjbUFkZEN1c3RvbUNvbW1hbmRDb21tYW5kLmgsIGNtQWRkQ3VzdG9tVGFyZ2V0Q29tbWFuZC5oOgoJICBCVUc6IENsYXJpZmllZCBkb2N1bWVudGF0aW9uIGFib3V0IGN1c3RvbSBjb21tYW5kIG91dHB1dHMgYW5kCgkgIGN1c3RvbSB0YXJnZXQgZGVwZW5kZW5jaWVzLgoKMjAwNi0wNi0xNSAxMDoyNCAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBFTkg6IFVua25vd24gY29tbWFuZCBpbnZvY2F0aW9ucyBzaG91bGQgYmUKCSAgZmF0YWwgZXJyb3JzLgoKMjAwNi0wNi0xNSAxMDoxMiAga2luZwoKCSogU291cmNlLzogY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtU2V0VGFyZ2V0UHJvcGVydGllc0NvbW1hbmQuaCwKCSAgY21UYXJnZXQuY3h4OiBFTkg6IEFkZGVkIHRhcmdldCBwcm9wZXJ0eQoJICBJTlNUQUxMX1JQQVRIX1VTRV9MSU5LX1BBVEggdG8gYXBwZW5kIHRoZSBsaW5rZXIgc2VhcmNoIHBhdGgKCSAgZGlyZWN0b3JpZXMgbm90IGluc2lkZSB0aGUgcHJvamVjdCB0byB0aGUgSU5TVEFMTF9SUEFUSAoJICBhdXRvbWF0aWNhbGx5LiAgVGhlIHByb3BlcnR5IGlzIGluaXRpYWxpemVkIGJ5IHRoZSB2YXJpYWJsZQoJICBDTUFLRV9JTlNUQUxMX1JQQVRIX1VTRV9MSU5LX1BBVEggd2hlbiB0aGUgdGFyZ2V0IGlzIGNyZWF0ZWQuCgoyMDA2LTA2LTE1IDA5OjQ1ICBraW5nCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBCVUc6IEFsd2F5cyBjaGVjayBkZXBlbmRlbmN5IGludGVncml0eSB3aGV0aGVyCgkgIG9yIG5vdCBDTWFrZSB3aWxsIHJlLXJ1biBiZWNhdXNlIHRoZSBnZW5lcmF0b3Igbm8gbG9uZ2VyIGNoZWNrcwoJICBpbnRlZ3JpdHkgZHVyaW5nIGdlbmVyYXRpb24uCgoyMDA2LTA2LTE1IDA3OjQ3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDYtMTQgMTM6NDEgIGhvZmZtYW4KCgkqIERhcnRDb25maWcuY21ha2U6IEVOSDogaGFuZGxlIHRoZSBmYWN0IHRoZSBwdWJsaWMgY2FuIG5vIGxvbmdlcgoJICBkbyBmdHAKCjIwMDYtMDYtMTQgMTI6MjggIG1hcnRpbmsKCgkqIENNYWtlTGlzdHMudHh0LCBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ1hYQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVGb3J0cmFuQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVKYXZhQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVSQ0NvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lU3lzdGVtLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlVGVzdENDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVRlc3RDWFhDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVRlc3RGb3J0cmFuQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ2hlY2tDU291cmNlQ29tcGlsZXMuY21ha2UsCgkgIE1vZHVsZXMvQ2hlY2tDWFhTb3VyY2VDb21waWxlcy5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja0Z1bmN0aW9uRXhpc3RzLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrSW5jbHVkZUZpbGUuY21ha2UsCgkgIE1vZHVsZXMvQ2hlY2tJbmNsdWRlRmlsZUNYWC5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja0luY2x1ZGVGaWxlcy5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja0xpYnJhcnlFeGlzdHMuY21ha2UsCgkgIE1vZHVsZXMvQ2hlY2tTeW1ib2xFeGlzdHMuY21ha2UsIE1vZHVsZXMvQ2hlY2tUeXBlU2l6ZS5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja1ZhcmlhYmxlRXhpc3RzLmNtYWtlLCBNb2R1bGVzL0ZpbmRRdDQuY21ha2UsCgkgIE1vZHVsZXMvRmluZFNETF9zb3VuZC5jbWFrZSwgTW9kdWxlcy9GaW5kVGhyZWFkcy5jbWFrZSwKCSAgTW9kdWxlcy9UZXN0QmlnRW5kaWFuLmNtYWtlLCBNb2R1bGVzL1Rlc3RDWFhBY2NlcHRzRmxhZy5jbWFrZSwKCSAgTW9kdWxlcy9UZXN0Rm9yQU5TSUZvclNjb3BlLmNtYWtlLCBNb2R1bGVzL1Rlc3RGb3JTU1RSRUFNLmNtYWtlLAoJICBNb2R1bGVzL1Rlc3RGb3JTVEROYW1lc3BhY2UuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZSwgU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsS2RldmVsb3BHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21UcnlSdW5Db21tYW5kLmN4eCwKCSAgU291cmNlL2NtYWtlLmgsIFNvdXJjZS9rd3N5cy9rd3N5c1BsYXRmb3JtQ3h4VGVzdHMuY21ha2UsCgkgIFRlc3RzL01ha2VDbGVhbi9Ub0NsZWFuL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9UcnlDb21waWxlL0NNYWtlTGlzdHMudHh0LCBVdGlsaXRpZXMvY21jdXJsL0NNYWtlTGlzdHMudHh0LAoJICBVdGlsaXRpZXMvY21jdXJsL0NNYWtlL0NoZWNrVHlwZVNpemUuY21ha2U6IEVOSDogY2VudHJhbGl6ZWQKCSAgbG9jYWl0b24gb2YgQ01ha2VGaWxlcyBzZXR0aW5nCgoyMDA2LTA2LTEzIDEwOjI4ICBtYXJ0aW5rCgoJKiBDTWFrZS5wZGYsIENNYWtlLnJ0ZjogRU5IOiByZW1vdmVkIG9sZCBvdXQgb2YgZGF0ZSBmaWxlcywgb25saW5lCgkgIGFuZCBjb21tYW5kIGxpbmUgaGVscCBpcyBiZXR0ZXIKCjIwMDYtMDYtMTMgMDk6NDYgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEVOSDogZml4IGxpbmUgbGVuZ3RoCgoyMDA2LTA2LTEzIDA4OjA0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDYtMTIgMTU6NDQgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBFTkg6IGZpeCBsaW5lIGxlbmd0aAoKMjAwNi0wNi0xMiAxNDoyMSAgYW5keQoKCSogTW9kdWxlcy9DUGFjay5jbWFrZTogRU5IOiBBZGQgc3VwcG9ydCBmb3Igb3ZlcndyaXRpbmcgdGhlIG5hbWUgb2YKCSAgdGhlIGZpbGUgQ1BhY2tDb25maWcuY21ha2UgYW5kIENQYWNrU291cmNlQ29uZmlnLmNtYWtlCgoyMDA2LTA2LTEyIDEzOjE3ICBtYXJ0aW5rCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2U6IEVOSDogcmVtb3ZlZCBsb2dvIGluZm8gZnJvbQoJICB0aGUgbWFuaWZlc3QgdG9vbAoKMjAwNi0wNi0xMiAxMzowNSAga2luZwoKCSogU291cmNlL2NtSWZDb21tYW5kLmg6IEJVRzogUGF0Y2ggZnJvbSBNaWd1ZWwgQS4KCSAgRmlndWVyb2EtVmlsbGFudWV2YSBmb3IgZml4aW5nIGRvY3VtZW50YXRpb24uCgoyMDA2LTA2LTEyIDEyOjE4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHg6IEVOSDogY2xlYW51cAoKMjAwNi0wNi0xMiAxMTo0MCAgbWFydGluawoKCSogU291cmNlLzogY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsIGNtYWtlLmN4eDogRU5IOiBzb21lIGNsZWFudXAgdG8KCSAgcHJvZ3Jlc3MKCjIwMDYtMDYtMTIgMTA6MjIgIGFuZHkKCgkqIERhcnRDb25maWcuY21ha2U6IEVOSDogU3dpdGNoIHRvIGh0dHAgc3VibWlzc2lvbgoKMjAwNi0wNi0xMiAwNzo1OSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA2LTExIDA3OjU4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDYtMTAgMDg6MTIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNi0wOSAxNTo0OSAgYWxleAoKCSogTW9kdWxlcy9GaW5kWkxJQi5jbWFrZTogQlVHOiBkb24ndCBhcHBlbmQgdG8gWkxJQl9OQU1FUyBFTkg6IGFsc28KCSAgY2hlY2sgZm9yIHpkbGwgb24gd2luZG93cyBFTkg6IGhvbm9yIFJFUVVJUkVEIGFuZCBRVUlFVExZCgoJICBBbGV4CgoyMDA2LTA2LTA5IDEzOjQ1ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1BhY2svOiBiaWxscy1jb21tZW50cy50eHQsCgkgIGNtQ1BhY2tDeWd3aW5CaW5hcnlHZW5lcmF0b3IuY3h4LCBjbUNQYWNrQ3lnd2luQmluYXJ5R2VuZXJhdG9yLmgsCgkgIGNtQ1BhY2tHZW5lcmF0b3JzLmN4eCwgY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4LAoJICBjbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5oLCBjeWd3aW4ucmVhZG1lOiBFTkg6IGNoZWNrIGluIHBhcnRpYWwKCSAgY3lnd2luIGdlbmVyYXRvcgoKMjAwNi0wNi0wOSAwODoyOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA2LTA4IDA3OjQ5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDYtMDcgMDg6NDcgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbWFrZW1haW4uY3h4OiBFTkg6IGFkZCBkb2NzIGZvciBkZWJ1ZyB0cnljb21waWxlCgoyMDA2LTA2LTA2IDEyOjAxICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBFTkg6IGZpeCAvVFAgZm9yIGMgY29kZQoKMjAwNi0wNi0wNiAwOTozOSAgaG9mZm1hbgoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBFTkg6IGZpeCBmb3IgcmVwbGFjZW1lbnQgb2YgQHZhciBAIG9ubHkKCSAgbGVnYWwgdmFyaWFibGUgbmFtZXMgc2hvdWxkIGJlIHJlcGxhY2VkCgoyMDA2LTA2LTA2IDA3OjU5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDYtMDUgMTU6MjggIGtpbmcKCgkqIFNvdXJjZS9jbUFkZFN1YkRpcmVjdG9yeUNvbW1hbmQuY3h4OiBDT01QOiBSZW1vdmVkIHVudXNlZAoJICB2YXJpYWJsZS4KCjIwMDYtMDYtMDUgMTQ6MzggIGtpbmcKCgkqIFNvdXJjZS9jbUFkZFN1YkRpcmVjdG9yeUNvbW1hbmQuY3h4OiBCVUc6IEFsd2F5cyBjaGVjayB3aGV0aGVyIGEKCSAgc3ViZGlyZWN0b3J5IGlzIGJlbG93IHRoZSB0b3Agb2YgdGhlIHNvdXJjZSBiZWZvcmUgY29tcHV0aW5nIHRoZQoJICBiaW5hcnkgdHJlZSBhdXRvbWF0aWNhbGx5LiAgRXZlbiB3aGVuIHRoZSBzb3VyY2UgaXMgYSByZWxhdGl2ZQoJICBwYXRoIGl0IG1heSBjb250YWluIC4uLyB3aGljaCB3b3VsZCBhbGxvdyBpdCB0byBiZSBvdXRzaWRlIHRoZQoJICBzb3VyY2UgdHJlZS4KCjIwMDYtMDYtMDUgMTQ6MzIgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtRGVwZW5kc0MuY3h4LCBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eDogRU5IOiBsaW5lIGxlbmd0aHMKCjIwMDYtMDYtMDUgMTQ6MTMgIGtpbmcKCgkqIGNtYWtlX3VuaW5zdGFsbC5jbWFrZS5pbjogQlVHOiBVc2UgcHJvcGVyIHNpZ25hdHVyZSBmb3IKCSAgRVhFQ19QUk9HUkFNIHRvIGdldCByZXR1cm4gdmFsdWUgb2YgY21ha2UgLUUgcmVtb3ZlLglBbHNvIGZpeGVkCgkgIHNwZWxsaW5nIGVycm9yIGluIG1lc3NhZ2UsIGFuZCBtYWRlIG5vbi1leGlzdGluZyBmaWxlcyBub3QgYQoJICBmYXRhbCBlcnJvciBzbyB0aGF0IHRoZSByZXN0IG9mIHRoZSBmaWxlcyBhcmUgcmVtb3ZlZC4KCjIwMDYtMDYtMDUgMTM6NDUgIGtpbmcKCgkqIFNvdXJjZS86IGNtRmlsZUNvbW1hbmQuY3h4LCBjbUZpbGVDb21tYW5kLmgsIGNtVGFyZ2V0LmN4eDogRU5IOgoJICBDaGFuZ2luZyBzaGFyZWQgbGlicmFyeSB2ZXJzaW9uZWQgZmlsZSBuYW1lcyBvbiBPU1ggdG8gY29uZm9ybSB0bwoJICB0aGF0IHBsYXRmb3JtJ3MgY29udmVudGlvbi4KCjIwMDYtMDYtMDUgMTE6MjIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9UZXJtaW5hbC5jOiBFTkg6IEFkZGVkIHJ4dnQtdW5pY29kZSBhbmQgY3lnd2luCgkgIHRlcm1pbmFscyBmb3IgY29sb3Igc3VwcG9ydC4KCjIwMDYtMDYtMDUgMDc6MjUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNi0wNCAwNzoyMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA2LTAzIDE4OjQzICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvVGVybWluYWwuYzogRU5IOiBIYW5kbGUgJ3NjcmVlbicgdGVybWluYWwuIFRoYW5rIHlvdQoJICBUaG9tYXMgWi4KCjIwMDYtMDYtMDMgMTg6NDMgIGFuZHkKCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5jeHg6IENPTVA6IFJlbW92ZSB3YXJuaW5nCgoyMDA2LTA2LTAzIDA5OjQ4ICBraW5nCgoJKiBUZXN0cy9XcmFwcGluZy9XcmFwLmM6IENPTVA6IE1vcmUgZml4ZXMgZm9yIG5vbi1BTlNJIEMgY29tcGlsZXJzLgoKMjAwNi0wNi0wMyAwOTo0MiAga2luZwoKCSogVGVzdHMvV3JhcHBpbmcvV3JhcC5jOiBDT01QOiBGaXggZm9yIG5vbi1BTlNJIEMgY29tcGlsZXJzLgoKMjAwNi0wNi0wMyAwNzoyMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA2LTAyIDEyOjE5ICBraW5nCgoJKiBUZXN0cy9XcmFwcGluZy86IFdyYXAuYywgZmFrZWZsdWlkLmN4eDogQlVHOiBDdXN0b20gY29tbWFuZHMKCSAgc2hvdWxkIGFjdHVhbGx5IGdlbmVyYXRlIHRoZSBmaWxlcyB0aGV5IGNsYWltIHRvIGdlbmVyYXRlLgoKMjAwNi0wNi0wMiAxMToyNiAgYW5keQoKCSogU291cmNlL0NQYWNrLzogY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4LAoJICBjbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5oOiBFTkg6IERpc3BsYXkgY21ha2UgaW5zdGFsbCBpbmZvcm1hdGlvbgoJICB3aGVuIGluIHZlcmJvc2UgbW9kZQoKMjAwNi0wNi0wMSAxNTo1MSAga2luZwoKCSogU291cmNlLzogY21CdWlsZENvbW1hbmQuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsR2VuZXJhdG9yLmgsIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmgsIENQYWNrL2NtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdEJ1aWxkQW5kVGVzdEhhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0QnVpbGRDb21tYW5kLmN4eDogQlVHOiBjbUdsb2JhbEdlbmVyYXRvcjo6QnVpbGQKCSAgc2hvdWxkIG5vdCBhbHdheXMgdXNlIHRoZSAvZmFzdCB0YXJnZXQgbmFtZSBiZWNhdXNlIGRlcGVuZGVuY3kKCSAgY2hlY2tpbmcgaXMgb2Z0ZW4gcmVxdWlyZWQuICBJdCBub3cgdGFrZXMgYW4gYXJndW1lbnQgc3BlY2lmeWluZwoJICB3aGV0aGVyIHRvIHVzZSB0aGUgL2Zhc3QgdGFyZ2V0IG5hbWUsIGFuZCB0aGUgYXJndW1lbnQgaXMKCSAgY3VycmVudGx5IG9ubHkgdHJ1ZSBmb3IgdHJ5LWNvbXBpbGVzLgoKMjAwNi0wNi0wMSAxNTowOCAga2luZwoKCSogU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHg6IEJVRzogQWRqdXN0bWVudCBvZgoJICBpbnN0YWxsX25hbWUgd2l0aCBpbnN0YWxsX25hbWVfdG9vbCBzaG91bGQgYWNjb3VudCBmb3IgREVTVERJUgoJICB3aGVuIHNwZWNpZnlpbmcgdGhlIGZpbGUgdG8gYmUgY2hhbmdlZC4KCjIwMDYtMDYtMDEgMTQ6NDMgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogRU5IOiBNb3ZlZCBnZW5lcmF0aW9uIG9mIHRoZQoJICAvZmFzdCB2ZXJzaW9uIG9mIEdMT0JBTF9UQVJHRVQgdGFyZ2V0cyB0byB0aGUgcHJvcGVyIHBsYWNlIGluIHRoZQoJICBsb2NhbCBnZW5lcmF0b3IgaW5zdGVhZCBvZiBpbiB0aGUgZ2xvYmFsIGdlbmVyYXRvci4gIEFsc28gbWFkZQoJICB0aGUgaW5zdGFsbC9mYXN0IHRhcmdldCBub3QgZGVwZW5kIG9uIHRoZSBhbGwgdGFyZ2V0LgoKMjAwNi0wNi0wMSAxNDowOSAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBCVUc6IEFkZGVkIC9mYXN0IHRhcmdldHMgaW4KCSAgc3ViZGlyZWN0b3J5IG1ha2VmaWxlcy4gIFJlbW92ZWQgYm9ndXMgSU5TVEFMTF8qL2Zhc3QgdGFyZ2V0cy4KCSAgQWxzbyBmaXhlZCBwcmVpbnN0YWxsL2Zhc3QgdGFyZ2V0LgoKMjAwNi0wNi0wMSAxMzowMSAga2luZwoKCSogVGVzdHMvQ3VzdG9tQ29tbWFuZC86IENNYWtlTGlzdHMudHh0LCBjb25maWcuaC5pbiwgZm9vLmluOiBFTkg6CgkgIEFkZGVkIHRlc3QgZm9yIGdlbmVyYXRpb24gb2YgZmlsZXMgbGlzdGVkIGV4cGxpY2l0bHkgYXMgc291cmNlcwoJICBidXQgbm90IHVzZWQgZHVyaW5nIHRoZSBidWlsZCBvZiBhIHRhcmdldC4KCjIwMDYtMDYtMDEgMTE6NDUgIGtpbmcKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGVFeGVjdXRhYmxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwgY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5oLAoJICBjbU1ha2VmaWxlVXRpbGl0eVRhcmdldEdlbmVyYXRvci5jeHg6IEJVRzogQ3VzdG9tIGNvbW1hbmQgb3V0cHV0cwoJICBsaXN0ZWQgZXhwbGljaXRseSBhcyBzb3VyY2UgZmlsZXMgaW4gYSB0YXJnZXQgc2hvdWxkIGJlIGdlbmVyYXRlZAoJICB3aGV0aGVyIG9yIG5vdCBhbiBvYmplY3QgZmlsZSBpbiB0aGUgdGFyZ2V0IG5lZWRzIHRoZW0uICBUaGlzCgkgIHVzZWZ1bCBhbmQgbWFrZXMgTWFrZWZpbGUgYnVpbGRzIG1vcmUgY29uc2lzdGVudCB3aXRoIFZTIElERQoJICBidWlsZHMuCgoyMDA2LTA2LTAxIDA5OjM4ICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoOiBFTkg6IGNoYW5nZSB0aGUgdmVyc2lvbgoJICBudW1iZXIgdG8gbWF0Y2ggdGhlIHJlbGVhc2UgZm9yIGN5Z3dpbgoKMjAwNi0wNi0wMSAwODoxNyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA1LTMxIDExOjE5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUZvckVhY2hDb21tYW5kLmN4eCwgY21JZkNvbW1hbmQuY3h4LAoJICBjbU1hY3JvQ29tbWFuZC5jeHgsIGNtV2hpbGVDb21tYW5kLmN4eDogRU5IOiByZWR1Y2Ugc3RyaW5nCgkgIGNvbnN0cnVjdCBkZWxldGUgb3BzCgoyMDA2LTA1LTMxIDA4OjEwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDUtMzAgMTY6MjMgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBGaXggcHJvZ3Jlc3Mgd2hlbiB0b3RhbAoJICBudW1iZXIgb2Ygc291cmNlIGZpbGVzIGlzIGxlc3MgdGhhbiAxMDAuCgoyMDA2LTA1LTMwIDExOjE1ICBraW5nCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBCVUc6IEZpeGVkIGNtYWtlIC1FIHJlbW92ZSByZXR1cm4gY29kZS4KCjIwMDYtMDUtMzAgMDg6MDMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNS0yOSAwODowOSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA1LTI4IDA3OjI5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDUtMjcgMDc6NDUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNS0yNiAwNzozMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA1LTI1IDE0OjE2ICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlR2VuZXJpY1N5c3RlbS5jbWFrZTogRU5IOiBBZGRpbmcgYWR2YW5jZWQgb3B0aW9uCgkgIENNQUtFX0NPTE9SX01BS0VGSUxFIGZvciBtYWtlZmlsZSBnZW5lcmF0b3JzIHdpdGggZGVmYXVsdCBPTi4KCjIwMDYtMDUtMjUgMTQ6MTYgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaDogRU5IOiBTbGlnaHQgaW1wcm92ZW1lbnQgaW4KCSAgZ2VucmVhdGlvbiB0aW1lIGJ5IHJlY29yZGluZyB0aGUgc2V0dGluZyBvZiBDTUFLRV9DT0xPUl9NQUtFRklMRQoJICBpbiBhbiBpdmFyIG9mIGVhY2ggbG9jYWwgZ2VuZXJhdG9yIGF0IHRoZSBiZWdpbm5pbmcgb2YKCSAgZ2VuZXJhdGlvbi4gIFRoaXMgYXZvaWRzIG1hbnkgcmVwZWF0ZWQgdGFibGUgbG9va3Vwcy4KCjIwMDYtMDUtMjUgMTE6NTYgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogRU5IOiBhZGQgcXRtYWluIHRvIGZpbmRxdAoKMjAwNi0wNS0yNSAxMDo1NSAgbWFydGluawoKCSogU291cmNlLzogY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBmaXggdG8gcHJvZ3Jlc3MgZm9yIHNtYWxsCgkgIHByb2plY3RzCgoyMDA2LTA1LTI1IDEwOjIxICBtYXJ0aW5rCgoJKiBNb2R1bGVzL0NUZXN0LmNtYWtlOiBFTkg6IHJlbW92ZSBkZWJ1Z2dpbmcgb3V0cHV0CgoyMDA2LTA1LTI1IDA5OjQ3ICBraW5nCgoJKiBTb3VyY2UvOiBjbURlcGVuZHMuY3h4LCBjbURlcGVuZHMuaCwgY21EZXBlbmRzQy5jeHgsCgkgIGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuaCwgY21Mb2NhbEdlbmVyYXRvci5oLAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsIGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbWFrZS5jeHg6IEJVRzogVXBkYXRlZCBNYWtlZmlsZSBkZXBlbmRlbmN5IHNjYW5uaW5nIHRvIHByb3ZpZGUgYQoJICBmdWxsIGxvY2FsIGdlbmVyYXRvciB0byB0aGUgZGVwZW5kZW5jeSBzY2FubmVyIHRvIGRvIHByb3BlciBwYXRoCgkgIGNvbnZlcnNpb25zLglUaGlzIGFsbG93cyB0aGUgcnVsZXMgd3JpdHRlbiBpbnRvIHRoZSBkZXBlbmQubWFrZQoJICBmaWxlcyB0byB1c2UgdGhlIHNhbWUgcmVsYXRpdmUgcGF0aCBjb252ZXJzaW9uIGFzIHRob3NlIHdyaXR0ZW4KCSAgaW50byB0aGUgYnVpbGQubWFrZSBmaWxlcy4gIFNldmVyYWwgcHJldmlvdXMgY2hhbmdlcyBhZGRlZCBtb3JlCgkgIGFuZCBtb3JlIGluZm9ybWF0aW9uIGZvciB1c2UgYnkgdGhlIGRlcGVuZGVuY3kgc2Nhbm5lciBhbmQgaXQgd2FzCgkgIGNvbnZlcmdpbmcgdG8gaGF2aW5nIHRoZSBmdWxsIGxvY2FsIGdlbmVyYXRvciBhbnl3YXkuCgoyMDA2LTA1LTI1IDA3OjM0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDUtMjQgMTA6MTMgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jOiBCVUc6IERvIG5vdCBsZWFrIGdsb2JhbCB0YWJsZSBvZgoJICBwcm9jZXNzZXMuCgoyMDA2LTA1LTI0IDEwOjA5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaDogRU5IOiBmaXggY29tcGlsZXIgd2FybmluZ3MgYW5kCgkgIHBvc2libHkgamF2YSB0ZXN0CgoyMDA2LTA1LTI0IDA3OjM2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDUtMjMgMTU6MjcgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IENPTVA6IEFkZGVkIG1pc3NpbmcKCSAgaW5jbHVkZSBmb3IgaXNzcGFjZS4KCjIwMDYtMDUtMjMgMTU6MDEgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogRml4IHBhcnNpbmcgb2YKCSAgZGVmaW5pdGlvbnMgdG8gc3VwcG9ydCBSRU1PVkVfREVGSU5JVElPTlMuCgoyMDA2LTA1LTIzIDEyOjUxICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHgsIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogQlVHOiBGaXgKCSAgUkVNT1ZFX0RFRklOSVRJT05TIGNvbW1hbmQgdG8gbm90IHJlbW92ZSBzdWJzdHJpbmdzLgoKMjAwNi0wNS0yMyAxMjozOCAgZGF2aWQuY29sZQoKCSogVXRpbGl0aWVzL2NtdGFyLzogQ01ha2VMaXN0cy50eHQsIGFwcGVuZC5jLCBjb25maWcuaC5pbiwKCSAgZXh0cmFjdC5jLCBoYW5kbGUuYywgY29tcGF0L2ZubWF0Y2guYzogQ09NUDogRml4IHdhcm5pbmdzIG9uCgkgIEJvcmxhbmQgZGFzaGJvYXJkcy4uLgoKMjAwNi0wNS0yMyAxMTo0OCAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NVTklYLmM6IEVOSDogUmUtZW5hYmxpbmcgU0lHQ0hMRCBoYW5kbGluZwoJICBpbXBsZW1lbnRhdGlvbiB3aXRoIGEgZml4IGZvciBDeWd3aW4uCgoyMDA2LTA1LTIzIDEwOjQwICBraW5nCgoJKiBNb2R1bGVzL0ZpbmRWVEsuY21ha2U6IEVOSDogQWRkIGFiaWxpdHkgdG8gZmluZCBWVEsgNSB3aXRob3V0CgkgIHVzZXIgaGVscC4KCjIwMDYtMDUtMjMgMDk6NTggIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5jeHg6IEJVRzogRmluaXNoZWQgZml4CgkgIHRvIGJ1ZyMzMjI5IGFuZCBidWcjMzI3Mi4KCjIwMDYtMDUtMjMgMDk6NTggIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwgY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHg6CgkgIEJVRzogRml4IGZvciBzcGFjZXMgaW4gcGF0aCB0byBidWlsZCBkaXJlY3Rvcnkgd2l0aCBuZXcgcHJvZ3Jlc3MKCSAgc3R1ZmYuCgoyMDA2LTA1LTIzIDA5OjExICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLCBjbU1hY3JvQ29tbWFuZC5jeHgsCgkgIGNtTWFjcm9Db21tYW5kLmgsIGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LCBjbWFrZS5jeHg6IEVOSDoKCSAgYWx3YXlzIGNvbXBpbGUgcHJvZ3Jlc3MKCjIwMDYtMDUtMjMgMDc6NDAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNS0yMiAxNjoxMCAgbWFydGluawoKCSogU291cmNlL2NtYWtlLmN4eDogQ09NUDogZml4IGJvb3RzdHJhcAoKMjAwNi0wNS0yMiAxNjowNyAgbWFydGluawoKCSogU291cmNlL2NtYWtlLmN4eDogQ09NUDogZml4IG1hYyB3YXJuaW5nCgoyMDA2LTA1LTIyIDE1OjQxICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IHBhcnQgb2YgdGhlIHByb2dyZXNzIHJlcG9ydGluZyBjaGVja2luCgoyMDA2LTA1LTIyIDE1OjExICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYzogQlVHOiBSZXZlcnRpbmcgcHJldmlvdXMgY2hhbmdlIHVudGlsCgkgIGl0IGNhbiBiZSBmaXhlZCBvbiBDeWd3aW4uCgoyMDA2LTA1LTIxIDE0OjA2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEVOSDogZml4IGxpbmUgbGVuZ3RoCgoyMDA2LTA1LTIxIDEwOjI4ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvdGVzdFByb2Nlc3MuYzogRU5IOiBBZGRlZCB0ZXN0IDggdG8gdGVzdAoJICBncmFuZGNoaWxkcmVuIHJ1bm5pbmcgYWZ0ZXIgY2hpbGRyZW4gZXhpdC4KCjIwMDYtMDUtMjEgMTA6MjcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNS0yMSAxMDoyNyAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jOiBCVUc6IEZpeGVkIGRlYWRsb2NrIGNvbmRpdGlvbiB3aGVuCgkgIGdyYW5kY2hpbGRyZW4gYXJlIHJ1bm5pbmcgYWZ0ZXIgdGhlIGNoaWxkcmVuIGV4aXQuCgoyMDA2LTA1LTIxIDEwOjI2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYzogRU5IOiBJbXBsZW1lbnRlZCBoYW5kbGluZyBvZiBTSUdDSExECgkgIHRvIGRldGVjdCB0aGUgdGVybWluYXRpb24gb2YgaW1tZWRpYXRlIGNoaWxkcmVuLiAgVGhpcyBhbGxvd3MKCSAgZ3JhbmRjaGlsZHJlbiB0byByZW1haW4gcnVubmluZyBhZnRlciB0aGUgY2hpbGRyZW4gZXhpdC4KCjIwMDYtMDUtMjAgMTg6NTAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jOiBFTkg6IEVuYWJsaW5nIHByb2Nlc3MgdHJlZSBraWxsaW5nIG9uCgkgIEN5Z3dpbi4KCjIwMDYtMDUtMjAgMDg6MDYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNS0xOSAxNjo1NyAgYWxleAoKCSogTW9kdWxlcy86IEZpbmRRdDQuY21ha2UsIEtERTNNYWNyb3MuY21ha2UsIGtkZTN1aWMuY21ha2U6IEJVRzoKCSAga2RlMzogdXNlIFFUX1VJQ19FWEVDVVRBQkxFIGluc3RlYWQgb2Ygc2ltcGx5IHVpYyBCVUc6IHVzZQoJICBxb3V0aW5nIGZvciB0aGUgcGF0aCB0byBRdDQgbW9jIGFuZCB1aWMsIHNob3VsZCBoZWxwIHdpdGggcGF0aHMKCSAgd2l0aCBzcGFjZXMKCgkgIEFsZXgKCjIwMDYtMDUtMTkgMTU6NTMgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogY3JlYXRlLWNtYWtlLXJlbGVhc2UuY21ha2UsCgkgIGRhc2htYWNtaW5pMl9yZWxlYXNlLmNtYWtlOiBFTkg6IHJlbGVhc2Ugc2NyaXB0cwoKMjAwNi0wNS0xOSAxNTo1MSAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL2NtY3VybC9tcHJpbnRmLmM6IEVOSDogZml4IGZvciB1Y2xpYmMKCjIwMDYtMDUtMTkgMTM6MDIgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0Lmg6IEVOSDogZml4IGZvcgoJICB2dGsgNC40IGFuZCBvdGhlciBwcm9qZWN0cyB0aGF0IG1heSB0cnkgdG8gbGluayB0byBhIG1vZHVsZQoKMjAwNi0wNS0xOSAwOTozNiAgbWFydGluawoKCSogU291cmNlL2NtSWZDb21tYW5kLmN4eDogQ09NUDogZml4IHdhcm5pbmcKCjIwMDYtMDUtMTkgMDg6MTUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNS0xOCAyMzoyNCAgaG9mZm1hbgoKCSogU291cmNlLzogY21ha2UuY3h4LCBjbWFrZW1haW4uY3h4OiBFTkg6IGZpeCBjcmFzaGVzIHdoZW4gY29tbWFuZAoJICBsaW5lIGFyZ3VtZW50cyBhcmUgbm90IGZvbGxvd2VkIGJ5IHRoZSBjb3JyZWN0IG51bWJlciBvZgoJICBhcmd1bWVudHMKCjIwMDYtMDUtMTggMTQ6MzUgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBCVUc6IGZpeCBpc3N1ZSB3aXRoCgkgIHRvbyBtYW55IGZhc3QgdGFyZ2V0cyBiZWluZyBsaXN0ZWQKCjIwMDYtMDUtMTggMTM6NTAgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtRm9yRWFjaENvbW1hbmQuY3h4LCBjbUZvckVhY2hDb21tYW5kLmgsCgkgIGNtSWZDb21tYW5kLmN4eCwgY21XaGlsZUNvbW1hbmQuY3h4LCBjbVdoaWxlQ29tbWFuZC5oOiBFTkg6IGFsbG93CgkgIGxvb3NlIGxvb3AgY29uc3RydWN0cwoKMjAwNi0wNS0xOCAxMDoyOCAga2luZwoKCSogTW9kdWxlcy9DaGVja0luY2x1ZGVGaWxlLmMuaW46IEJVRzogRml4IHNpZ25hdHVyZSBvZiBtYWluIHRvIHdvcmsKCSAgb24gYm90aCBzdHJpY3QgQU5TSSBhbmQgbm9uLUFOU0kgQyBjb21waWxlcnMuCgoyMDA2LTA1LTE4IDA4OjAwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDUtMTcgMDg6MDcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNS0xNiAxNDowNCAgaG9mZm1hbgoKCSogQ2hhbmdlTG9nLm1hbnVhbCwgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5oLCBTb3VyY2UvY21MaXN0Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUxpc3RDb21tYW5kLmgsIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5jeHg6IEVOSDogbW92ZSBjaGFuZ2VzCgkgIGZyb20gbWFpbiB0cmVlIHRvIGJyYW5jaAoKMjAwNi0wNS0xNiAxMzo0MSAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGVFeGVjdXRhYmxlVGFyZ2V0R2VuZXJhdG9yLmN4eDogQlVHOiBBZGRlZAoJICBtaXNzaW5nIGNkIGNvbW1hbmQgYmVmb3JlIHJ1bm5pbmcgZXhlY3V0YWJsZSB2ZXJzaW9uIHN5bWxpbmsKCSAgcnVsZS4gIFRoaXMgYWRkcmVzc2VzIGJ1ZyMzMjI5LgoKMjAwNi0wNS0xNiAxMzoyMyAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBFTkg6IGZpeCB3YXJuaW5nCgoyMDA2LTA1LTE2IDA5OjU0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5oOgoJICBFTkg6IGZpeCByZWJ1aWxkIHByb2JsZW0gd2l0aCB4Y29kZSBhbmQgdW5pdmVyc2FsIGJpbmFyaWVzCgoyMDA2LTA1LTE2IDA4OjQyICBhbmR5CgoJKiBTb3VyY2UvOiBjbUxpc3RDb21tYW5kLmN4eCwgY21MaXN0Q29tbWFuZC5oOiBTVFlMRTogRml4IHN0eWxlCgoyMDA2LTA1LTE2IDA4OjAzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDUtMTUgMTg6MDUgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWwsIFNvdXJjZS9jbURlcGVuZHNGb3J0cmFuUGFyc2VyLmgsCgkgIFNvdXJjZS9jbURlcGVuZHNKYXZhUGFyc2VyLmN4eCwgU291cmNlL2NtRXhwclBhcnNlci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBTb3VyY2UvY21MaXN0Q29tbWFuZC5jeHgsIFNvdXJjZS9jbUxpc3RDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFNvdXJjZS9jbVFUV3JhcENQUENvbW1hbmQuaCwgU291cmNlL2NtYWtlLmN4eCwKCSAgVGVzdHMvQ01ha2VUZXN0cy9MaXN0VGVzdC5jbWFrZS5pbjogRU5IOiBtZXJnZSBmcm9tIG1haW4gdHJlZQoKMjAwNi0wNS0xNSAxMzo0NyAgbWFydGluawoKCSogU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IFBFUkY6IHBlcmZvcm1hbmNlCgkgIGltcHJvdmVtZW50CgoyMDA2LTA1LTE1IDEzOjAyICBhbmR5CgoJKiBTb3VyY2UvOiBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsIGNtYWtlLmN4eDogRU5IOiBBZGQgc2ltcGxlCgkgIHByb2dyZXNzIHJlcG9ydGluZyBkdXJpbmcgbWFrZQoKMjAwNi0wNS0xNSAxMDoxOSAgbWFydGluawoKCSogU291cmNlLzogY21EZXBlbmRzRm9ydHJhblBhcnNlci5oLCBjbURlcGVuZHNKYXZhUGFyc2VyLmN4eCwKCSAgY21FeHByUGFyc2VyLmN4eCwgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbVFUV3JhcENQUENvbW1hbmQuaDogU1RZTEU6IGZpeCBsaW5lIGxlbmd0aAoKMjAwNi0wNS0xNSAxMDoxNCAgYW5keQoKCSogU291cmNlL2NtTGlzdENvbW1hbmQuY3h4LCBUZXN0cy9DTWFrZVRlc3RzL0xpc3RUZXN0LmNtYWtlLmluOgoJICBFTkg6IEZpeCBJTlNFUlQgdG8gYWxsb3cgaW5zZXJ0aW5nIHRvIGVtcHR5IGxpc3QKCjIwMDYtMDUtMTUgMDk6NTcgIGFuZHkKCgkqIFNvdXJjZS9jbUxpc3RDb21tYW5kLmN4eCwgU291cmNlL2NtTGlzdENvbW1hbmQuaCwKCSAgVGVzdHMvQ01ha2VUZXN0cy9MaXN0VGVzdC5jbWFrZS5pbjogRU5IOiBDaGFuZ2UgUkVNT1ZFIGFuZAoJICBSRU1PVkVfSVRFTSB0byBSRU1PVkVfQVQgYW5kIFJFTU9WRV9JVEVNCgoyMDA2LTA1LTE1IDA5OjI1ICBhbmR5CgoJKiBTb3VyY2UvY21MaXN0Q29tbWFuZC5jeHgsIFNvdXJjZS9jbUxpc3RDb21tYW5kLmgsCgkgIFRlc3RzL0NNYWtlVGVzdHMvTGlzdFRlc3QuY21ha2UuaW46IEVOSDogUmVtb3ZlIHNvbWUgZXJyb3JzLCBmaXgKCSAgYXBwZW5kIHRvIHdvcmsgb24gbm9uZXhpc3RpbmcgbGlzdHMKCjIwMDYtMDUtMTQgMjA6MjAgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVTeXN0ZW0uY21ha2U6IEVOSDogZml4IG1vZHVsZQoKMjAwNi0wNS0xNCAyMDoxNyAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZURldGVybWluZVN5c3RlbS5jbWFrZTogRU5IOiBjaGVjayByZXR1cm4gdmFsdWUgZm9yCgkgIHVuYW1lIC1wCgoyMDA2LTA1LTE0IDE5OjE3ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lU3lzdGVtLmNtYWtlOiBFTkg6IG1vdmUgZnJvbSBtYWluIHRyZWUKCSAgaGFuZGxlIHVuYW1lIHdpdGhvdXQgLXAgY29ycmVjdGx5CgoyMDA2LTA1LTE0IDE3OjQyICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lU3lzdGVtLmNtYWtlOiBFTkg6IGNoZWNrIHJldHVybiB2YWx1ZSBmb3IKCSAgdW5hbWUgLXAKCjIwMDYtMDUtMTQgMTU6MjQgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogcmVsZWFzZV9jbWFrZS5jbWFrZSwKCSAgdjYwbjE3N19haXhfcmVsZWFzZS5jbWFrZTogRU5IOiBleHRyYSBwYXRoCgoyMDA2LTA1LTE0IDE1OjIyICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgTW9kdWxlcy9GaW5kSlBFRy5jbWFrZSwgTW9kdWxlcy9GaW5kS0RFNC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kUXQ0LmNtYWtlLCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxNU1lTTWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtSW5jbHVkZURpcmVjdG9yeUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21MaW5rRGlyZWN0b3JpZXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtTGlua0xpYnJhcmllc0NvbW1hbmQuY3h4LCBTb3VyY2UvY21MaXN0Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUxpc3RGaWxlQ2FjaGUuY3h4LCBTb3VyY2UvY21Mb2FkQ2FjaGVDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtTG9hZENvbW1hbmRDb21tYW5kLmgsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbU1hY3JvQ29tbWFuZC5jeHgsIFNvdXJjZS9jbU1ha2VEZXBlbmQuaCwKCSAgU291cmNlL2NtTWFrZWZpbGUuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5oLAoJICBTb3VyY2UvY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1hcmtBc0FkdmFuY2VkQ29tbWFuZC5jeHgsIFNvdXJjZS9jbU1hdGhDb21tYW5kLmgsCgkgIFNvdXJjZS9jbU9iamVjdC5oLCBTb3VyY2UvY21PcHRpb25Db21tYW5kLmN4eCwKCSAgU291cmNlL2NtT3JkZXJMaW5rRGlyZWN0b3JpZXMuY3h4LAoJICBTb3VyY2UvY21PcmRlckxpbmtEaXJlY3Rvcmllcy5oLAoJICBTb3VyY2UvY21PdXRwdXRSZXF1aXJlZEZpbGVzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVByb2plY3RDb21tYW5kLmN4eCwgU291cmNlL2NtUVRXcmFwQ1BQQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVFUV3JhcFVJQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVJlbW92ZURlZmluaXRpb25zQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVNlcGFyYXRlQXJndW1lbnRzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVNlcGFyYXRlQXJndW1lbnRzQ29tbWFuZC5oLAoJICBTb3VyY2UvY21TZXREaXJlY3RvcnlQcm9wZXJ0aWVzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVNldFNvdXJjZUZpbGVzUHJvcGVydGllc0NvbW1hbmQuaCwKCSAgU291cmNlL2NtU2V0VGFyZ2V0UHJvcGVydGllc0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21TZXRUYXJnZXRQcm9wZXJ0aWVzQ29tbWFuZC5oLAoJICBTb3VyY2UvY21TZXRUZXN0c1Byb3BlcnRpZXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtU2V0VGVzdHNQcm9wZXJ0aWVzQ29tbWFuZC5oLAoJICBTb3VyY2UvY21TaXRlTmFtZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21Tb3VyY2VGaWxlLmN4eCwKCSAgU291cmNlL2NtU291cmNlRmlsZS5oLCBTb3VyY2UvY21Tb3VyY2VHcm91cENvbW1hbmQuaCwKCSAgU291cmNlL2NtU3RyaW5nQ29tbWFuZC5jeHgsIFNvdXJjZS9jbVN1YmRpckNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21TdWJkaXJDb21tYW5kLmgsIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwKCSAgU291cmNlL2NtU3lzdGVtVG9vbHMuaCwgU291cmNlL2NtVGFyZ2V0LmN4eCwgU291cmNlL2NtVGFyZ2V0LmgsCgkgIFNvdXJjZS9jbVRhcmdldExpbmtMaWJyYXJpZXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21UcnlDb21waWxlQ29tbWFuZC5oLAoJICBTb3VyY2UvY21Vc2VNYW5nbGVkTWVzYUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21VdGlsaXR5U291cmNlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVZUS01ha2VJbnN0YW50aWF0b3JDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtVlRLV3JhcEphdmFDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtVlRLV3JhcFB5dGhvbkNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21WVEtXcmFwVGNsQ29tbWFuZC5jeHgsIFNvdXJjZS9jbVdpbjMyUHJvY2Vzc0V4ZWN1dGlvbi5oLAoJICBTb3VyY2UvY21Xcml0ZUZpbGVDb21tYW5kLmN4eCwgU291cmNlL2NtWENvZGUyMU9iamVjdC5jeHgsCgkgIFNvdXJjZS9jbVhDb2RlMjFPYmplY3QuaCwgU291cmNlL2NtWENvZGVPYmplY3QuY3h4LAoJICBTb3VyY2UvY21YQ29kZU9iamVjdC5oLCBTb3VyY2UvY21YTUxQYXJzZXIuaCwgU291cmNlL2NtYWtlLmN4eCwKCSAgU291cmNlL2NtYWtlLmgsIFNvdXJjZS9jbWFrZW1haW4uY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja05TSVNHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja1BhY2thZ2VNYWtlckdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrU1RHWkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrVGFyQ29tcHJlc3NHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY3BhY2suY3h4LCBUZXN0cy9Db21wbGV4L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dDogRU5IOiBtZXJnZSBmcm9tIG1haW4KCSAgdHJlZQoKMjAwNi0wNS0xNCAwOTozNiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA1LTEzIDEyOjI4ICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBCVUc6IE1ha2Ugc3VyZSBSVU5fVEVTVFMgdGFyZ2V0CgkgIHBhc3NlcyB0aGUgZGVzaXJlZCBjb25maWd1cmF0aW9uIHRvIGN0ZXN0LgoKMjAwNi0wNS0xMyAwODowMyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA1LTEyIDE0OjQ0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ1BhY2svOiBjbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5jeHgsCgkgIGNtQ1BhY2tOU0lTR2VuZXJhdG9yLmN4eCwgY21DUGFja1BhY2thZ2VNYWtlckdlbmVyYXRvci5jeHgsCgkgIGNtQ1BhY2tTVEdaR2VuZXJhdG9yLmN4eCwgY21DUGFja1RhckNvbXByZXNzR2VuZXJhdG9yLmN4eCwKCSAgY3BhY2suY3h4OiBTVFlMRTogZml4IGxpbmUgbGVuZ3RoCgoyMDA2LTA1LTEyIDE0OjM2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbVhDb2RlMjFPYmplY3QuY3h4LCBjbVhDb2RlMjFPYmplY3QuaCwKCSAgY21YQ29kZU9iamVjdC5jeHgsIGNtWENvZGVPYmplY3QuaCwgY21YTUxQYXJzZXIuaCwgY21ha2UuY3h4LAoJICBjbWFrZS5oLCBjbWFrZW1haW4uY3h4OiBTVFlMRTogZml4IGxpbmUgbGVuZ3RoCgoyMDA2LTA1LTEyIDE0OjEyICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0LmgsCgkgIGNtVGFyZ2V0TGlua0xpYnJhcmllc0NvbW1hbmQuY3h4LCBjbVRyeUNvbXBpbGVDb21tYW5kLmN4eCwKCSAgY21UcnlDb21waWxlQ29tbWFuZC5oLCBjbVVzZU1hbmdsZWRNZXNhQ29tbWFuZC5jeHgsCgkgIGNtVXRpbGl0eVNvdXJjZUNvbW1hbmQuY3h4LCBjbVZUS01ha2VJbnN0YW50aWF0b3JDb21tYW5kLmN4eCwKCSAgY21WVEtXcmFwSmF2YUNvbW1hbmQuY3h4LCBjbVZUS1dyYXBQeXRob25Db21tYW5kLmN4eCwKCSAgY21WVEtXcmFwVGNsQ29tbWFuZC5jeHgsIGNtV2luMzJQcm9jZXNzRXhlY3V0aW9uLmgsCgkgIGNtV3JpdGVGaWxlQ29tbWFuZC5jeHg6IFNUWUxFOiBmaXggbGluZSBsZW5ndGgKCjIwMDYtMDUtMTIgMTM6NTMgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtU2VwYXJhdGVBcmd1bWVudHNDb21tYW5kLmN4eCwKCSAgY21TZXBhcmF0ZUFyZ3VtZW50c0NvbW1hbmQuaCwKCSAgY21TZXREaXJlY3RvcnlQcm9wZXJ0aWVzQ29tbWFuZC5jeHgsCgkgIGNtU2V0U291cmNlRmlsZXNQcm9wZXJ0aWVzQ29tbWFuZC5oLAoJICBjbVNldFRhcmdldFByb3BlcnRpZXNDb21tYW5kLmN4eCwgY21TZXRUYXJnZXRQcm9wZXJ0aWVzQ29tbWFuZC5oLAoJICBjbVNldFRlc3RzUHJvcGVydGllc0NvbW1hbmQuY3h4LCBjbVNldFRlc3RzUHJvcGVydGllc0NvbW1hbmQuaCwKCSAgY21TaXRlTmFtZUNvbW1hbmQuY3h4LCBjbVNvdXJjZUZpbGUuY3h4LCBjbVNvdXJjZUZpbGUuaCwKCSAgY21Tb3VyY2VHcm91cENvbW1hbmQuaCwgY21TdHJpbmdDb21tYW5kLmN4eCwgY21TdWJkaXJDb21tYW5kLmN4eCwKCSAgY21TdWJkaXJDb21tYW5kLmgsIGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmg6IFNUWUxFOiBmaXgKCSAgbGluZSBsZW5ndGgKCjIwMDYtMDUtMTIgMTM6NDQgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtUHJvamVjdENvbW1hbmQuY3h4LCBjbVFUV3JhcENQUENvbW1hbmQuY3h4LAoJICBjbVFUV3JhcFVJQ29tbWFuZC5jeHgsIGNtUmVtb3ZlRGVmaW5pdGlvbnNDb21tYW5kLmN4eDogU1RZTEU6IGZpeAoJICBsaW5lIGxlbmd0aAoKMjAwNi0wNS0xMiAxMzozOSAgbWFydGluawoKCSogU291cmNlLzogY21PYmplY3QuaCwgY21PcHRpb25Db21tYW5kLmN4eCwKCSAgY21PcmRlckxpbmtEaXJlY3Rvcmllcy5jeHgsIGNtT3JkZXJMaW5rRGlyZWN0b3JpZXMuaCwKCSAgY21PdXRwdXRSZXF1aXJlZEZpbGVzQ29tbWFuZC5jeHg6IFNUWUxFOiBmaXggbGluZSBsZW5ndGgKCjIwMDYtMDUtMTIgMTI6MjkgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTWFjcm9Db21tYW5kLmN4eCwgY21NYWtlRGVwZW5kLmgsIGNtTWFrZWZpbGUuY3h4LAoJICBjbU1ha2VmaWxlLmgsIGNtTWFrZWZpbGVFeGVjdXRhYmxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwgY21NYXJrQXNBZHZhbmNlZENvbW1hbmQuY3h4LAoJICBjbU1hdGhDb21tYW5kLmg6IFNUWUxFOiBmaXggbGluZSBsZW5ndGgKCjIwMDYtMDUtMTIgMTE6NTYgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTGlua0RpcmVjdG9yaWVzQ29tbWFuZC5jeHgsCgkgIGNtTGlua0xpYnJhcmllc0NvbW1hbmQuY3h4LCBjbUxpc3RDb21tYW5kLmN4eCwKCSAgY21MaXN0RmlsZUNhY2hlLmN4eCwgY21Mb2FkQ2FjaGVDb21tYW5kLmN4eCwKCSAgY21Mb2FkQ29tbWFuZENvbW1hbmQuaCwgY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oOiBTVFlMRTogZml4IGxpbmUgbGVuZ3RoCgoyMDA2LTA1LTEyIDExOjAzICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dDogRU5IOiBhZGQgdGhlIHByb2Nlc3NvciB0byB0aGUgc3lzdGVtIG5hbWUgZm9yCgkgIGNwYWNrCgoyMDA2LTA1LTEyIDEwOjU2ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEVOSDogcmVtb3ZlIGJhZCBxdW90ZWVkIGNvZGUKCjIwMDYtMDUtMTIgMTA6NTQgIGtpbmcKCgkqIFNvdXJjZS9jbUluY2x1ZGVEaXJlY3RvcnlDb21tYW5kLmN4eCwKCSAgVGVzdHMvQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvQ01ha2VMaXN0cy50eHQ6IEJVRzoKCSAgSU5DTFVERV9ESVJFQ1RPUklFUyBzaG91bGQgaW50ZXJwcmV0IHJlbGF0aXZlIHBhdGggYXJndW1lbnRzIHdpdGgKCSAgcmVzcGVjdCB0byB0aGUgY3VycmVudCBzb3VyY2UgZGlyZWN0b3J5LgoKMjAwNi0wNS0xMiAxMDo0NiAgbWFydGluawoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbE1TWVNNYWtlZmlsZUdlbmVyYXRvci5oOgoJICBTVFlMRTogZml4IGxpbmUgbGVuZ3RoCgoyMDA2LTA1LTEyIDEwOjA5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBFTkg6IHJlbW92ZSBib2d1cwoJICBtYWNoaW5lIHNldHRpbmcKCjIwMDYtMDUtMTIgMDk6NDcgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogRU5IOiBmaXggcGF0aCBwcm9ibGVtIHdpdGggcXQKCjIwMDYtMDUtMTIgMDc6NTYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNS0xMSAxODozMiAgYWxleAoKCSogTW9kdWxlcy9GaW5kSlBFRy5jbWFrZTogRU5IOiBob25vciBSRVFVSVJFRCBmbGFnCgoJICBBbGV4CgoyMDA2LTA1LTExIDE4OjI3ICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRLREU0LmNtYWtlOiBFTkg6IHVzZSB0aGUgbmV3IEZJTEUoVE9fQ01BS0VfUEFUSCAuLi4pCgkgIGNvbW1hbmQgaW5zdGVhZCBvZiByZWdleHBzIEJVRzogYXBwZW5kIHRoZSBrZGUgNCBjbWFrZSBtb2R1bGUKCSAgcGF0aCBpbnN0ZWFkIG9mIHByZXBlbmRpbmcgaXQKCgkgIEFsZXgKCjIwMDYtMDUtMTEgMTY6MDcgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogZGFzaG1hY21pbmkyX3JlbGVhc2UuY21ha2UsCgkgIGRlc3RpbnlfcmVsZWFzZS5jbWFrZSwgcmVsZWFzZV9jbWFrZS5jbWFrZSwgcmVsZWFzZV9jbWFrZS5zaC5pbiwKCSAgdm9nb25fcmVsZWFzZS5jbWFrZTogRU5IOiB3b3JraW5nIHBhY2thZ2UgY3JlYXRvcgoKMjAwNi0wNS0xMSAxNjowNSAgaG9mZm1hbgoKCSogU291cmNlLzogY21BZGRTdWJEaXJlY3RvcnlDb21tYW5kLmN4eCwgY21FeHByUGFyc2VyLmN4eCwKCSAgY21FeHByUGFyc2VySGVscGVyLmN4eCwgY21GTFRLV3JhcFVJQ29tbWFuZC5jeHgsCgkgIGNtRmlsZUNvbW1hbmQuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsS2RldmVsb3BHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbE1TWVNNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsTWluR1dNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsTWluR1dNYWtlZmlsZUdlbmVyYXRvci5oLAoJICBjbUdsb2JhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvOFdpbjY0R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW84V2luNjRHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxXYXRjb21XTWFrZUdlbmVyYXRvci5jeHgsIGNtR2xvYmFsWENvZGUyMUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsWENvZGUyMUdlbmVyYXRvci5oLCBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5oLCBjbUlmQ29tbWFuZC5jeHgsIGNtSWZDb21tYW5kLmgsCgkgIGNtSW5jbHVkZUNvbW1hbmQuY3h4LCBjbUluY2x1ZGVEaXJlY3RvcnlDb21tYW5kLmN4eCwKCSAgY21JbmNsdWRlRXh0ZXJuYWxNU1Byb2plY3RDb21tYW5kLmN4eCwKCSAgY21JbmNsdWRlRXh0ZXJuYWxNU1Byb2plY3RDb21tYW5kLmgsCgkgIGNtSW5jbHVkZVJlZ3VsYXJFeHByZXNzaW9uQ29tbWFuZC5jeHgsCgkgIGNtSW5jbHVkZVJlZ3VsYXJFeHByZXNzaW9uQ29tbWFuZC5oLCBjbUluc3RhbGxDb21tYW5kLmgsCgkgIGNtSW5zdGFsbEZpbGVzQ29tbWFuZC5jeHgsIGNtSW5zdGFsbEdlbmVyYXRvci5jeHgsCgkgIGNtSW5zdGFsbEdlbmVyYXRvci5oLCBjbUluc3RhbGxQcm9ncmFtc0NvbW1hbmQuY3h4LAoJICBjbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuY3h4LCBjbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuaCwKCSAgY21JbnN0YWxsVGFyZ2V0c0NvbW1hbmQuY3h4LCBjbUxpc3RDb21tYW5kLmN4eCwgY21MaXN0Q29tbWFuZC5oLAoJICBDVGVzdC9jbUNUZXN0QnVpbGRIYW5kbGVyLmN4eDogRU5IOiBtZXJnZSBjaGFuZ2VzIGZyb20gbWFpbiB0cmVlCgoyMDA2LTA1LTExIDE1OjUwICBob2ZmbWFuCgoJKiBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHg6IEVOSDogZml4IGVycm9yIG1lc3NhZ2UKCjIwMDYtMDUtMTEgMTU6NTAgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtSWZDb21tYW5kLmN4eCwgY21JZkNvbW1hbmQuaCwgY21JbmNsdWRlQ29tbWFuZC5jeHgsCgkgIGNtSW5jbHVkZURpcmVjdG9yeUNvbW1hbmQuY3h4LAoJICBjbUluY2x1ZGVFeHRlcm5hbE1TUHJvamVjdENvbW1hbmQuY3h4LAoJICBjbUluY2x1ZGVFeHRlcm5hbE1TUHJvamVjdENvbW1hbmQuaCwKCSAgY21JbmNsdWRlUmVndWxhckV4cHJlc3Npb25Db21tYW5kLmN4eCwKCSAgY21JbmNsdWRlUmVndWxhckV4cHJlc3Npb25Db21tYW5kLmgsIGNtSW5zdGFsbENvbW1hbmQuaCwKCSAgY21JbnN0YWxsRmlsZXNDb21tYW5kLmN4eCwgY21JbnN0YWxsR2VuZXJhdG9yLmN4eCwKCSAgY21JbnN0YWxsR2VuZXJhdG9yLmgsIGNtSW5zdGFsbFByb2dyYW1zQ29tbWFuZC5jeHgsCgkgIGNtSW5zdGFsbFByb2dyYW1zQ29tbWFuZC5oLCBjbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuaCwgY21JbnN0YWxsVGFyZ2V0c0NvbW1hbmQuY3h4OiBTVFlMRToKCSAgZml4IGxpbmUgbGVuZ3RoCgoyMDA2LTA1LTExIDE1OjM5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5oOgoJICBTVFlMRTogZml4IGxpbmUgbGVuZ3RoCgoyMDA2LTA1LTExIDEzOjU2ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUxpc3RDb21tYW5kLmN4eCwgY21MaXN0Q29tbWFuZC5oOiBFTkg6IFNvbWUKCSAgZG9jdW1lbnRhdGlvbiBhbmQgYWRkIEFQUEVORAoKMjAwNi0wNS0xMSAxMjowMCAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4OiBCVUc6IEZpeCBzZWdmYXVsdAoKMjAwNi0wNS0xMSAxMTo0NyAgbWFydGluawoKCSogU291cmNlLzogY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzhHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzhHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW84V2luNjRHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzhXaW42NEdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFdhdGNvbVdNYWtlR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxYQ29kZTIxR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxYQ29kZTIxR2VuZXJhdG9yLmgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBTVFlMRToKCSAgZml4IGxpbmUgbGVuZ3RoCgoyMDA2LTA1LTExIDEwOjU2ICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cubWFudWFsLCBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEVOSDogbWVyZ2UgY2hhbmdzIGZyb20KCSAgbWFpbiB0cmVlCgoyMDA2LTA1LTExIDEwOjQ1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUV4cHJQYXJzZXIuY3h4LCBjbUV4cHJQYXJzZXJIZWxwZXIuY3h4LAoJICBjbUZMVEtXcmFwVUlDb21tYW5kLmN4eDogU1RZTEU6IGZpeCBsaW5lIGxlbmd0aAoKMjAwNi0wNS0xMSAxMDo0MSAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOiBFTkg6IGZpeCBmb3IgYnVnICAzMjE2IGFsbG93IGZ1bGwgcGF0aCB0bwoJICBxdCBpbnB1dCBmaWxlcwoKMjAwNi0wNS0xMSAxMDozOSAgbWFydGluawoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5oLAoJICBjbUdsb2JhbEtkZXZlbG9wR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxNU1lTTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbE1pbkdXTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbE1pbkdXTWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxOTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxOTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLCBjbUFkZFN1YkRpcmVjdG9yeUNvbW1hbmQuY3h4OgoJICBTVFlMRTogZml4IGxpbmUgbGVuZ3RoCgoyMDA2LTA1LTExIDEwOjMzICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cubWFudWFsLCBTb3VyY2UvQ1BhY2svY21DUGFja1pJUEdlbmVyYXRvci5jeHg6IEVOSDoKCSAgbWVyZ2UgY2hhbmdlcyBmcm9tIG1haW4gdHJlZQoKMjAwNi0wNS0xMSAwOTozNyAgaG9mZm1hbgoKCSogU291cmNlL0NQYWNrL2NtQ1BhY2taSVBHZW5lcmF0b3IuY3h4OiBFTkg6IHVzZSBAIGZpbGUgZm9yIHdpbnppcAoJICBvbiB3aW5kb3dzCgoyMDA2LTA1LTExIDA4OjAzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDUtMTAgMjI6MTUgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBNb2R1bGVzL0NQYWNrLmNtYWtlLAoJICBNb2R1bGVzL05TSVMuSW5zdGFsbE9wdGlvbnMuaW5pLmluLCBNb2R1bGVzL05TSVMudGVtcGxhdGUuaW4sCgkgIFNvdXJjZS9jbUFkZEV4ZWN1dGFibGVDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtQWRkU3ViRGlyZWN0b3J5Q29tbWFuZC5jeHgsIFNvdXJjZS9jbUFkZFRlc3RDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtQXV4U291cmNlRGlyZWN0b3J5Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUF1eFNvdXJjZURpcmVjdG9yeUNvbW1hbmQuaCwgU291cmNlL2NtQ1Rlc3QuY3h4LAoJICBTb3VyY2UvY21DYWNoZU1hbmFnZXIuY3h4LCBTb3VyY2UvY21Db21tYW5kQXJndW1lbnRMZXhlci5jeHgsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudFBhcnNlci5jeHgsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudFBhcnNlckhlbHBlci5jeHgsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudFBhcnNlclRva2Vucy5oLAoJICBTb3VyY2UvY21Db25maWd1cmVGaWxlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUNyZWF0ZVRlc3RTb3VyY2VMaXN0LmgsIFNvdXJjZS9jbURlcGVuZHMuY3h4LAoJICBTb3VyY2UvY21EZXBlbmRzLmgsIFNvdXJjZS9jbURlcGVuZHNDLmN4eCwKCSAgU291cmNlL2NtRGVwZW5kc0ZvcnRyYW4uY3h4LCBTb3VyY2UvY21EZXBlbmRzRm9ydHJhblBhcnNlci5jeHgsCgkgIFNvdXJjZS9jbURlcGVuZHNKYXZhUGFyc2VySGVscGVyLmN4eCwKCSAgU291cmNlL2NtRGVwZW5kc0phdmFQYXJzZXJIZWxwZXIuaCwgU291cmNlL2NtRG9jdW1lbnRhdGlvbi5jeHgsCgkgIFNvdXJjZS9jbUR1bXBEb2N1bWVudGF0aW9uLmN4eCwgU291cmNlL2NtRWxzZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21FbmFibGVMYW5ndWFnZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21FbmRGb3JFYWNoQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUVuZElmQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUVuZFdoaWxlQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUV4ZWNQcm9ncmFtQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUV4ZWN1dGVQcm9jZXNzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUV4ZWN1dGVQcm9jZXNzQ29tbWFuZC5oLAoJICBTb3VyY2UvY21FeHBvcnRMaWJyYXJ5RGVwZW5kZW5jaWVzLmN4eCwKCSAgU291cmNlL2NtRXhwb3J0TGlicmFyeURlcGVuZGVuY2llcy5oLCBTb3VyY2UvY21FeHByTGV4ZXIuY3h4LAoJICBTb3VyY2UvY21FeHByTGV4ZXIuaCwgU291cmNlL2NtRkxUS1dyYXBVSUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUZpbGVDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUZpbGVUaW1lQ29tcGFyaXNvbi5jeHgsIFNvdXJjZS9jbUZpbmRCYXNlLmN4eCwKCSAgU291cmNlL2NtRmluZEZpbGVDb21tYW5kLmN4eCwgU291cmNlL2NtRmluZExpYnJhcnlDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmN4eCwgU291cmNlL2NtRmluZFBhdGhDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtRmluZFByb2dyYW1Db21tYW5kLmN4eCwgU291cmNlL2NtRm9yRWFjaENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21HZW5lcmF0ZWRGaWxlU3RyZWFtLmN4eCwKCSAgU291cmNlL2NtR2V0RGlyZWN0b3J5UHJvcGVydHlDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtR2V0RmlsZW5hbWVDb21wb25lbnRDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtR2V0RmlsZW5hbWVDb21wb25lbnRDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUdsb2JhbEJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5jeHgsIFNvdXJjZS9DUGFjay9jcGFjay5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0R2VuZXJpY0hhbmRsZXIuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdEhhbmRsZXJDb21tYW5kLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RSZWFkQ3VzdG9tRmlsZXNDb21tYW5kLmgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0U2NyaXB0SGFuZGxlci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFVwZGF0ZUNvbW1hbmQuY3h4OiBFTkg6IG1vdmUgY2hhbmdlcyBmcm9tCgkgIG1haW4gdHJlZQoKMjAwNi0wNS0xMCAxNzoyNiAgYW5keQoKCSogQ01ha2VMaXN0cy50eHQsIE1vZHVsZXMvQ1BhY2suY21ha2U6IEJVRzogUHJldmVudCBzdHJpcHBpbmcgb2YKCSAgc291cmNlcwoKMjAwNi0wNS0xMCAxNjo0NCAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY3JlYXRlLWNtYWtlLXJlbGVhc2UuY21ha2U6IEVOSDogcmVtb3ZlIHBzCgkgIHRoaW5nCgoyMDA2LTA1LTEwIDE2OjQzICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS86IGNyZWF0ZS1jbWFrZS1yZWxlYXNlLmNtYWtlLAoJICB2b2dvbl9yZWxlYXNlLmNtYWtlOiBFTkg6IGl0IHdvcmtzCgoyMDA2LTA1LTEwIDE1OjU2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUdlbmVyYXRlZEZpbGVTdHJlYW0uY3h4LAoJICBjbUdldERpcmVjdG9yeVByb3BlcnR5Q29tbWFuZC5jeHgsCgkgIGNtR2V0RmlsZW5hbWVDb21wb25lbnRDb21tYW5kLmN4eCwKCSAgY21HZXRGaWxlbmFtZUNvbXBvbmVudENvbW1hbmQuaCwKCSAgY21HZXRTb3VyY2VGaWxlUHJvcGVydHlDb21tYW5kLmgsCgkgIGNtR2xvYmFsQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogU1RZTEU6IGZpeCBsaW5lIGxlbmd0aAoKMjAwNi0wNS0xMCAxNTo0NiAgbWFydGluawoKCSogU291cmNlLzogY21GTFRLV3JhcFVJQ29tbWFuZC5jeHgsIGNtRmlsZUNvbW1hbmQuY3h4LAoJICBjbUZpbGVDb21tYW5kLmgsIGNtRmlsZVRpbWVDb21wYXJpc29uLmN4eCwgY21GaW5kQmFzZS5jeHgsCgkgIGNtRmluZEZpbGVDb21tYW5kLmN4eCwgY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4LAoJICBjbUZpbmRQYWNrYWdlQ29tbWFuZC5jeHgsIGNtRmluZFBhdGhDb21tYW5kLmN4eCwKCSAgY21GaW5kUHJvZ3JhbUNvbW1hbmQuY3h4LCBjbUZvckVhY2hDb21tYW5kLmN4eDogU1RZTEU6IGZpeCBsaW5lCgkgIGxlbmd0aAoKMjAwNi0wNS0xMCAxNToyOSAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL1JlbGVhc2Uvdm9nb25fcmVsZWFzZS5jbWFrZTogRU5IOiBhZGQgdm9nb24KCjIwMDYtMDUtMTAgMTU6MDYgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtRWxzZUNvbW1hbmQuY3h4LCBjbUVuYWJsZUxhbmd1YWdlQ29tbWFuZC5jeHgsCgkgIGNtRW5kRm9yRWFjaENvbW1hbmQuY3h4LCBjbUVuZElmQ29tbWFuZC5jeHgsCgkgIGNtRW5kV2hpbGVDb21tYW5kLmN4eCwgY21FeGVjUHJvZ3JhbUNvbW1hbmQuY3h4LAoJICBjbUV4ZWN1dGVQcm9jZXNzQ29tbWFuZC5jeHgsIGNtRXhlY3V0ZVByb2Nlc3NDb21tYW5kLmgsCgkgIGNtRXhwb3J0TGlicmFyeURlcGVuZGVuY2llcy5jeHgsIGNtRXhwb3J0TGlicmFyeURlcGVuZGVuY2llcy5oLAoJICBjbUV4cHJMZXhlci5jeHgsIGNtRXhwckxleGVyLmg6IFNUWUxFOiBmaXggbGluZSBsZW5ndGgKCjIwMDYtMDUtMTAgMTU6MDEgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtRGVwZW5kc0phdmFQYXJzZXJIZWxwZXIuY3h4LAoJICBjbURlcGVuZHNKYXZhUGFyc2VySGVscGVyLmgsIGNtRG9jdW1lbnRhdGlvbi5jeHgsCgkgIGNtRHVtcERvY3VtZW50YXRpb24uY3h4OiBTVFlMRTogZml4IGxpbmUgbGVuZ3RoCgoyMDA2LTA1LTEwIDE0OjU0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbURlcGVuZHMuaCwgY21EZXBlbmRzQy5jeHgsIGNtRGVwZW5kc0ZvcnRyYW4uY3h4LAoJICBjbURlcGVuZHNGb3J0cmFuUGFyc2VyLmN4eDogU1RZTEU6IGZpeCBsaW5lIGxlbmd0aAoKMjAwNi0wNS0xMCAxNDoxMyAgbWFydGluawoKCSogU291cmNlLzogY21Db21tYW5kQXJndW1lbnRQYXJzZXIuY3h4LAoJICBjbUNvbW1hbmRBcmd1bWVudFBhcnNlckhlbHBlci5jeHgsCgkgIGNtQ29tbWFuZEFyZ3VtZW50UGFyc2VyVG9rZW5zLmgsIGNtQ29uZmlndXJlRmlsZUNvbW1hbmQuY3h4LAoJICBjbUNyZWF0ZVRlc3RTb3VyY2VMaXN0LmgsIGNtRGVwZW5kcy5jeHg6IFNUWUxFOiBmaXggbGluZSBsZW5ndGgKCjIwMDYtMDUtMTAgMTQ6MDcgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudExleGVyLmN4eDogU1RZTEU6IGhtbQoKMjAwNi0wNS0xMCAxNDowMyAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL1JlbGVhc2UvOiBjcmVhdGUtY21ha2UtcmVsZWFzZS5jbWFrZSwKCSAgZGFzaHNnaTFfcmVsZWFzZS5jbWFrZSwgZGFzaHNnaTFfcmVsZWFzZTY0LmNtYWtlLAoJICByZWxlYXNlX2NtYWtlLnNoLmluOiBFTkg6CgoyMDA2LTA1LTEwIDE0OjAwICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Db21tYW5kQXJndW1lbnRMZXhlci5jeHg6IFNUWUxFOiBobW0KCjIwMDYtMDUtMTAgMTM6NTYgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQXV4U291cmNlRGlyZWN0b3J5Q29tbWFuZC5oLCBjbUNUZXN0LmN4eCwKCSAgY21DYWNoZU1hbmFnZXIuY3h4OiBTVFlMRTogZml4IGxpbmUgbGVuZ3RoCgoyMDA2LTA1LTEwIDEzOjQ4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBDVGVzdC9jbUNUZXN0R2VuZXJpY0hhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0SGFuZGxlckNvbW1hbmQuY3h4LAoJICBDVGVzdC9jbUNUZXN0UmVhZEN1c3RvbUZpbGVzQ29tbWFuZC5oLAoJICBDVGVzdC9jbUNUZXN0U2NyaXB0SGFuZGxlci5jeHgsIENUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RVcGRhdGVDb21tYW5kLmN4eCwgY21BZGRFeGVjdXRhYmxlQ29tbWFuZC5jeHgsCgkgIGNtQWRkU3ViRGlyZWN0b3J5Q29tbWFuZC5jeHgsIGNtQWRkVGVzdENvbW1hbmQuY3h4LAoJICBjbUF1eFNvdXJjZURpcmVjdG9yeUNvbW1hbmQuY3h4OiBTVFlMRTogZml4IGxpbmUgbGVuZ3RoCgoyMDA2LTA1LTEwIDEyOjM5ICBhbmR5CgoJKiBTb3VyY2UvQ1BhY2svOiBjbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5jeHgsIGNwYWNrLmN4eDogQlVHOiBGaXgKCSAgcmVsYXRpdmUgcGF0aCB0byBjb25maWcgZmlsZSwgZml4IGNtYWtlX2luc3RhbGwuY21ha2UgbG9jYXRpb24KCSAgcHJvYmxlbQoKMjAwNi0wNS0xMCAxMjoxNSAgaG9mZm1hbgoKCSogTW9kdWxlcy86IE5TSVMuSW5zdGFsbE9wdGlvbnMuaW5pLmluLCBOU0lTLnRlbXBsYXRlLmluOiBFTkg6IHVzZQoJICByYWRpbyBidXR0b25zIHRvIGNob29zZSBQQVRIIG9wdGlvbnMKCjIwMDYtMDUtMTAgMDk6MjggIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0OiBFTkg6IGFsbG93IHBhY2thZ2UgbmFtZSB0byBiZSBjaGFuZ2VkIGZyb20gY21ha2UKCSAgY2FjaGUKCjIwMDYtMDUtMTAgMDk6MTUgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0OiBFTkg6IGFsbG93IGZvciBjcGFjayBzdHVmZiB0byBiZSBjaGFuZ2VkCgoyMDA2LTA1LTEwIDA3OjU4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDUtMDkgMTc6MTggIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogZGFzaHN1bjFfcmVsZWFzZS5jbWFrZSwgcmVsZWFzZV9jbWFrZS5jbWFrZSwKCSAgdjYwbjE3N19haXhfcmVsZWFzZS5jbWFrZTogRU5IOiB3b3JrcwoKMjAwNi0wNS0wOSAxNjozMCAgaG9mZm1hbgoKCSogQ2hhbmdlTG9nLm1hbnVhbCwgTW9kdWxlcy9GaW5kUXQzLmNtYWtlLAoJICBNb2R1bGVzL05TSVMudGVtcGxhdGUuaW4sIFNvdXJjZS9jbVNldFRhcmdldFByb3BlcnRpZXNDb21tYW5kLmgsCgkgIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHgsIFRlc3RzL0NvbXBsZXgvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0OiBFTkg6IG1lcmdlIGZyb20gbWFpbgoJICB0cmVlCgoyMDA2LTA1LTA5IDE0OjE0ICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS86IGNyZWF0ZS1jbWFrZS1yZWxlYXNlLmNtYWtlLAoJICByZWxlYXNlX2NtYWtlLmNtYWtlOiBFTkg6IHNlZW1zIHRvIGJlIHdvcmtpbmcKCjIwMDYtMDUtMDkgMTM6NDkgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NyZWF0ZS1jbWFrZS1yZWxlYXNlLmNtYWtlOiBFTkg6IGFkZCBhIHh0ZXJtCgkgIHNjcmlwdCBjcmVhdGUgc2NyaXB0CgoyMDA2LTA1LTA5IDEzOjQ4ICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS86IGRhc2hzdW4xX3JlbGVhc2UuY21ha2UsIG11c2VfcmVsZWFzZTY0LmNtYWtlLAoJICByZWxlYXNlX2NtYWtlLmNtYWtlLCByZWxlYXNlX2NtYWtlLnNoLmluOiBFTkg6IGFkZCA2NCBiaXQgc2dpCgoyMDA2LTA1LTA5IDEyOjIzICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9yZWxlYXNlX2NtYWtlLnNoLmluOiBFTkg6IG1hcmsgdGltZQoKMjAwNi0wNS0wOSAxMjoyMyAgYW5keQoKCSogVXRpbGl0aWVzL1JlbGVhc2UvdjYwbjE3N19haXhfcmVsZWFzZS5jbWFrZTogRU5IOiBjb3B5IHJpZ2h0CgkgIGZpbGVzCgoyMDA2LTA1LTA5IDA4OjIyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDUtMDggMTY6NTkgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogZGFzaG1hY21pbmkyX3JlbGVhc2UuY21ha2UsCgkgIGRhc2hzdW4xX3JlbGVhc2UuY21ha2UsIGRlc3RpbnlfcmVsZWFzZS5jbWFrZSwKCSAgbXVzZV9yZWxlYXNlLmNtYWtlLCB2NjBuMTc3X2FpeF9yZWxlYXNlLmNtYWtlOiBFTkg6IHNraXAKCSAgYm9vdHN0cmFwIHRlc3QgYXMgaXQgYWxyZWFkeSBkb2VzIGEgYm9vdHN0cmFwCgoyMDA2LTA1LTA4IDE2OjUwICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS86IGRhc2htYWNtaW5pMl9yZWxlYXNlLmNtYWtlLAoJICBkZXN0aW55X3JlbGVhc2UuY21ha2UsIGh5dGhsb3RoX3JlbGVhc2UuY21ha2UsCgkgIG11c2VfcmVsZWFzZS5jbWFrZSwgcmVsZWFzZV9jbWFrZS5jbWFrZSwKCSAgdjYwbjE3N19haXhfcmVsZWFzZS5jbWFrZTogRU5IOiBjaGFuZ2UgbmFtZSB0byBNQUtFX0NPTU1BTkQKCjIwMDYtMDUtMDggMTY6NDAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVNldFRhcmdldFByb3BlcnRpZXNDb21tYW5kLmg6IEVOSDogZml4IGRvY3MgdG8gaW5jbHVkZQoJICBsaW5rZXIgbGFuZwoKMjAwNi0wNS0wOCAxNjozOCAgYW5keQoKCSogVXRpbGl0aWVzL1JlbGVhc2UvcmVsZWFzZV9jbWFrZS5jbWFrZTogRU5IOiBhZGQgZXh0cmEgY29weSBmb3IKCSAgaWJtCgoyMDA2LTA1LTA4IDE2OjM2ICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS86IGRhc2htYWNtaW5pMl9yZWxlYXNlLmNtYWtlLAoJICBkZXN0aW55X3JlbGVhc2UuY21ha2UsIGh5dGhsb3RoX3JlbGVhc2UuY21ha2UsCgkgIG11c2VfcmVsZWFzZS5jbWFrZSwgcmVsZWFzZV9jbWFrZS5jbWFrZSwgcmVsZWFzZV9jbWFrZS5zaC5pbiwKCSAgdjYwbjE3N19haXhfcmVsZWFzZS5jbWFrZTogRU5IOiBhZGQgbWFrZSBwcm9ncmFtIHN0dWZmCgoyMDA2LTA1LTA4IDE0OjE4ICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFTkg6IHNlYXJjaCBmb3IgcHJvZ3JhbSB3aXRob3V0CgkgIGV4dGVuc2lvbnMKCjIwMDYtMDUtMDggMTM6MzQgIGFuZHkKCgkqIE1vZHVsZXMvTlNJUy50ZW1wbGF0ZS5pbjogRU5IOiBTb21lIGNsZWFudXBzIGFuZCBmaXggaW5zdGFsbGluZwoJICBhcyBhIG5vbi1hZG1pbgoKMjAwNi0wNS0wOCAxMDowMiAga2luZwoKCSogVGVzdHMvOiBDb21wbGV4L0NNYWtlTGlzdHMudHh0LCBDb21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dDogQlVHOiBEaXNhYmxpbmcgYW4KCSAgRVhFQ1VURV9QUk9DRVNTIHRlc3QgdW50aWwgcHJvYmxlbXMgb24gVU5JWCBzeXN0ZW1zIGFyZSBmaXhlZC4KCjIwMDYtMDUtMDcgMTM6MDQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFF0My5jbWFrZTogRU5IOiB0cnkgdG8gZmluZCBxdDMgYmV0dGVyCgoyMDA2LTA1LTA3IDEwOjU1ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DUGFjay5TVEdaX0hlYWRlci5zaC5pbiwgTW9kdWxlcy9GaW5kUXQ0LmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL0NZR1dJTi5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9TdW5PUy5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudFBhcnNlckhlbHBlci5jeHgsIFNvdXJjZS9jbURlcGVuZHMuaCwKCSAgU291cmNlL2NtRGVwZW5kc0MuY3h4LCBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzhHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUluY2x1ZGVFeHRlcm5hbE1TUHJvamVjdENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUluc3RhbGxDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUluc3RhbGxGaWxlc0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUluc3RhbGxGaWxlc0dlbmVyYXRvci5oLCBTb3VyY2UvY21JbnN0YWxsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbEdlbmVyYXRvci5oLCBTb3VyY2UvY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5oLCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwKCSAgU291cmNlL2NtU291cmNlRmlsZS5jeHgsIFNvdXJjZS9jbVNvdXJjZUZpbGUuaCwKCSAgU291cmNlL2NtU291cmNlR3JvdXBDb21tYW5kLmgsIFNvdXJjZS9jbVRhcmdldC5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJhdG9ycy5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJhdG9ycy5oLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja05TSVNHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja1BhY2thZ2VNYWtlckdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrU1RHWkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrVEdaR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tUR1pHZW5lcmF0b3IuaCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tUYXJCWmlwMkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrVGFyQlppcDJHZW5lcmF0b3IuaCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tUYXJDb21wcmVzc0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrVGFyQ29tcHJlc3NHZW5lcmF0b3IuaCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2taSVBHZW5lcmF0b3IuY3h4LCBTb3VyY2UvQ1BhY2svY3BhY2suY3h4LAoJICBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4LCBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuaHh4LmluLAoJICBUZXN0cy9DT25seS9jb25seS5jLCBUZXN0cy9TaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQsCgkgIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2guaW46IEVOSDogbW92ZSBjaGFuZ2VzIGZyb20KCSAgbWFpbiB0cmVlIGFuZCBjaGFuZ2UgdmVyc2lvbiB0byAyLjQuMgoKMjAwNi0wNS0wNyAwOToyOSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA1LTA2IDEwOjAxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDUtMDUgMjI6MDQgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogcmVsZWFzZV9jbWFrZS5zaC5pbiwKCSAgdjYwbjE3N19haXhfcmVsZWFzZS5jbWFrZTogRU5IOiBhZGQgZXh0cmEgY29weSBmb3IgYWl4CgoyMDA2LTA1LTA1IDIxOjQ5ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0NZR1dJTi5jbWFrZTogRU5IOiBhZGQgdGhlIGZsYWcgZm9yIGNyZWF0aW5nCgkgIHdpbmRvd3MgZ3VpJ3MKCjIwMDYtMDUtMDUgMjE6NDUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNvbW1hbmRBcmd1bWVudFBhcnNlckhlbHBlci5jeHg6IEVOSDogaGFuZGxlIGVtcHR5CgkgIHZhcmlhYmxlcwoKMjAwNi0wNS0wNSAyMDo1NCAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvOEdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvOEdlbmVyYXRvci5oOiBCVUc6IE1TVkMqIHZhcmlhYmxlcyBzaG91bGQgYmUKCSAgc2V0IGluIElERSBnZW5lcmF0b3JzIGluc3RlYWQgb2YganVzdCBOTWFrZS4KCjIwMDYtMDUtMDUgMTY6MTIgIGFuZHkKCgkqIFV0aWxpdGllcy9SZWxlYXNlL3Y2MG4xNzdfYWl4X3JlbGVhc2UuY21ha2U6IEVOSDogdXNlIGEgZGlyZWN0b3J5CgkgIHdpdGggc3BhY2UKCjIwMDYtMDUtMDUgMTU6NTEgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogcmVsZWFzZV9jbWFrZS5jbWFrZSwgcmVsZWFzZV9jbWFrZS5zaC5pbjoKCSAgRU5IOiBtYWtlIHJlbGVhc2UgZGlyZWN0b3J5IGEgdmFyaWFibGUKCjIwMDYtMDUtMDUgMTU6MDQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogRU5IOiBmaXggd2luZG93cyBwYXRoIGlzc3VlCgoyMDA2LTA1LTA1IDE0OjU3ICBraW5nCgoJKiBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUluc3RhbGxDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbENvbW1hbmQuaCwgU291cmNlL2NtSW5zdGFsbEZpbGVzR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbEZpbGVzR2VuZXJhdG9yLmgsIFNvdXJjZS9jbUluc3RhbGxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsR2VuZXJhdG9yLmgsIFNvdXJjZS9jbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmgsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZGVkIENPTkZJR1VSQVRJT05TCgkgIG9wdGlvbiB0byBJTlNUQUxMIGNvbW1hbmQgdG8gYWxsb3cgcGVyLWNvbmZpZ3VyYXRpb24gaW5zdGFsbAoJICBydWxlcy4KCjIwMDYtMDUtMDUgMTQ6NTMgIGFuZHkKCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogcmVsZWFzZV9jbWFrZS5zaC5pbiwKCSAgdjYwbjE3N19haXhfcmVsZWFzZS5jbWFrZTogRU5IOiBmaXggZW52IHZhcnMKCjIwMDYtMDUtMDUgMTM6NTIgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlL3JlbGVhc2VfY21ha2Uuc2guaW46IEVOSDogYWRkIGFiaWxpdHkgdG8gc2V0CgkgIENDLCBDWFggYW5kIExERkxBR1MKCjIwMDYtMDUtMDUgMTM6MTAgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlL3JlbGVhc2VfY21ha2UuY21ha2U6IEVOSDogbW92ZSBmcm9tIHRyIHRvIGNhdAoJICBzaW5jZSBpdCB3b3JrcyBmcm9tIGEgd2luZG93cyBtYWNoaW5lIGFuZCB3b3JrcyBvbiB0aGUgQUlYCgoyMDA2LTA1LTA1IDEyOjQ5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDUtMDUgMTI6MzQgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogcmVsZWFzZV9jbWFrZS5jbWFrZSwgcmVsZWFzZV9jbWFrZS5zaC5pbjoKCSAgRU5IOiBhZGQgbWlzc2luZyBxdW90ZSBhbmQgc29tZSBjb21tZW50cwoKMjAwNi0wNS0wNSAxMjoyNSAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL1JlbGVhc2UvOiByZWxlYXNlX2NtYWtlLmNtYWtlLCByZWxlYXNlX2NtYWtlLnNoLmluOgoJICBFTkg6IHJlbW92ZSBvbGQgY29weQoKMjAwNi0wNS0wNSAxMjoxNCAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL1JlbGVhc2UvOiBkZXN0aW55X3JlbGVhc2UuY21ha2UsIHJlbGVhc2VfY21ha2UuY21ha2UsCgkgIHJlbGVhc2VfY21ha2Uuc2guaW46IEVOSDogd29ya2luZyBvbiBocAoKMjAwNi0wNS0wNSAxMTo1MSAga2luZwoKCSogVGVzdHMvOiBTaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBTaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkaW5nIENPTVBPTkVOVCBvcHRpb24gdG8KCSAgYW4gSU5TVEFMTCBjb21tYW5kIGNhbGwgdG8gc21va2UtdGVzdCBpdC4KCjIwMDYtMDUtMDUgMTE6NDYgIGtpbmcKCgkqIFNvdXJjZS86IGNtU291cmNlRmlsZS5jeHgsIGNtU291cmNlRmlsZS5oLCBjbVRhcmdldC5jeHg6IEVOSDoKCSAgQWRkZWQgaW5mb3JtYXRpb24gYWJvdXQgdGFyZ2V0IG5lZWRpbmcgYSBzb3VyY2UgZmlsZSB3aGVuIG9uZQoJICBjYW5ub3QgYmUgZm91bmQuCgoyMDA2LTA1LTA1IDExOjM3ICBraW5nCgoJKiBTb3VyY2UvY21Tb3VyY2VHcm91cENvbW1hbmQuaDogRU5IOiBBZGRlZCBleGFtcGxlIG9mIHN1Yi1ncm91cCB0bwoJICBkb2NzLgoKMjAwNi0wNS0wNSAxMDozOCAga2luZwoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4OiBFTkg6IEFkZGVkIG9wdGlvbiB0byBub3QgdXNlCgkgIGNvcHktaWYtZGlmZmVyZW50IHdoZW4gaW5zdGFsbGluZy4KCjIwMDYtMDUtMDUgMTA6MzMgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogcmVsZWFzZV9jbWFrZS5jbWFrZTogRU5IOiBjcmVhdGUgc2NyaXB0IGlzCgkgIHdvcmtpbmcKCjIwMDYtMDUtMDUgMTA6MzAgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogcmVsZWFzZV9jbWFrZS5jbWFrZSwgcmVsZWFzZV9jbWFrZS5zaC5pbjoKCSAgRU5IOiBjcmVhdGUgc2NyaXB0IGlzIHdvcmtpbmcKCjIwMDYtMDUtMDUgMTA6MjkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IFN5c3RlbVRvb2xzLmN4eCwgU3lzdGVtVG9vbHMuaHh4LmluOiBFTkg6IEFkZGVkCgkgIGFsd2F5cy9pZi1kaWZmZXJlbnQgb3B0aW9uIHRvIENvcHlBRGlyZWN0b3J5LiAgQWRkZWQgQ29weUFGaWxlCgkgIHdpdGggdGhlIHNhbWUgaW50ZXJmYWNlLgoKMjAwNi0wNS0wNSAwODoxNiAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL1JlbGVhc2UvcmVsZWFzZV9jbWFrZS5jbWFrZTogRU5IOiBjaGFuZ2UgdG8gc2NyaXB0IG1vZGUKCjIwMDYtMDUtMDQgMjI6NTggIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogcmVsZWFzZV9jbWFrZS5zaC5pbjogRU5IOiBhZGQgZmlsZQoKMjAwNi0wNS0wNCAyMTo1NyAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL1JlbGVhc2UvOiBkZXN0aW55X3JlbGVhc2UuY21ha2UsIG11c2VfcmVsZWFzZS5jbWFrZToKCSAgRU5IOiBhZGQgc29tZSBtYWNoaW5lcwoKMjAwNi0wNS0wNCAxNzo1NCAgaG9mZm1hbgoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBFTkg6IGFkZCBhIGNoZWNrIHRvIG1ha2Ugc3VyZSB0YXJnZXRzIG9ubHkKCSAgbGluayB0byBsaWJyYXJpZXMgYW5kIG5vdCB1dGlsaXR5IHRhcmdldHMgdG8gYXZvaWQgc2VnIGZhdWx0cywKCSAgYnVnIDMxOTQKCjIwMDYtMDUtMDQgMTM6MzkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEVOSDogcmVtb3ZlIGRlYnVnCgkgIG91dHB1dAoKMjAwNi0wNS0wNCAxMzozNSAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwgVGVzdHMvQ09ubHkvY29ubHkuYzoKCSAgRU5IOiBmaXggYnVpbGQgYyBzdHVmZiB3aXRoIGMgYW5kIGMrKyB3aXRoIGMrKwoKMjAwNi0wNS0wNCAxMDowNyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA1LTAzIDIzOjAzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21JbmNsdWRlRXh0ZXJuYWxNU1Byb2plY3RDb21tYW5kLmN4eDogRU5IOiBtYWtlIHN1cmUgcGF0aAoJICBpcyBjb252ZXJ0ZWQgdG8gdW5peAoKMjAwNi0wNS0wMyAyMTo0MiAgYW5keQoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIENQYWNrL2NtQ1BhY2tHZW5lcmF0b3JzLmN4eCwKCSAgQ1BhY2svY21DUGFja1RhckJaaXAyR2VuZXJhdG9yLmN4eCwKCSAgQ1BhY2svY21DUGFja1RhckJaaXAyR2VuZXJhdG9yLmgsIENQYWNrL2NwYWNrLmN4eDogRU5IOiBBZGQgQlppcDIKCSAgc3VwcG9ydCwgYWRkIGJldHRlciBkb2N1bWVudGF0aW9uCgoyMDA2LTA1LTAzIDE3OjI3ICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9yZWxlYXNlX2NtYWtlLmNtYWtlOiBFTkg6IGFkZCBjdnMgY29tbWFuZAoJICB2YXJpYWJsZQoKMjAwNi0wNS0wMyAxNzoyMiAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL1JlbGVhc2UvOiByZWxlYXNlX2NtYWtlLmNtYWtlLAoJICB2NjBuMTc3X2FpeF9yZWxlYXNlLmNtYWtlOiBFTkg6IG1vcmUgYWl4IHN0dWZmCgoyMDA2LTA1LTAzIDE3OjA4ICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS86IHJlbGVhc2VfY21ha2UuY21ha2UsCgkgIHY2MG4xNzdfYWl4X3JlbGVhc2UuY21ha2U6IEVOSDogYWRkIGFpeAoKMjAwNi0wNS0wMyAxNjoyNCAgYW5keQoKCSogTW9kdWxlcy9DUGFjay5TVEdaX0hlYWRlci5zaC5pbjogRU5IOiBCZXR0ZXIgb3V0cHV0CgoyMDA2LTA1LTAzIDE1OjE3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiB1c2UgU0hFTEwgdmFyCgoyMDA2LTA1LTAzIDE1OjE3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeCBDUGFjayB0byB1c2UKCSAgY29ycmVjdCBwYXRocwoKMjAwNi0wNS0wMyAxMDowNyAga2luZwoKCSogU291cmNlLzogY21EZXBlbmRzLmgsIGNtRGVwZW5kc0MuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogRml4IHRvIGF2b2lkIHJlcGVhdGVkCgkgIGNhbGxzIHRvIENvbGxhcHNlRnVsbFBhdGggZHVyaW5nIGRlcGVuZGVuY3kgc2Nhbm5pbmcuICBUaGlzCgkgIGFkZHJlc3NlcyBidWcjMzE5MS4KCjIwMDYtMDUtMDMgMDk6MjMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vU3VuT1MuY21ha2U6IEVOSDogdXNlIGNvcnJlY3QgZmxhZ3MgZm9yCgkgIG9wdGltaXphdGlvbgoKMjAwNi0wNS0wMyAwODoxNiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA1LTAyIDIzOjIwICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS86IGRhc2htYWNtaW5pMl9yZWxlYXNlLmNtYWtlLAoJICBkYXNoc3VuMV9yZWxlYXNlLmNtYWtlLCBoeXRobG90aF9yZWxlYXNlLmNtYWtlLAoJICByZWxlYXNlX2NtYWtlLmNtYWtlOiBFTkg6IGdldHRpbmcgYmV0dGVyCgoyMDA2LTA1LTAyIDE4OjQ3ICBhbmR5CgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja1RHWkdlbmVyYXRvci5jeHg6IENPTVA6IEZpeCBjYXN0IHRvIGNoYXIqCgoyMDA2LTA1LTAyIDE4OjQzICBhbmR5CgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja1RhckNvbXByZXNzR2VuZXJhdG9yLmN4eDogQ09NUDogVHJ5IHRvIGZpeAoJICB3aW5kb3dzIGJ1aWxkcwoKMjAwNi0wNS0wMiAxNzo1MiAgYW5keQoKCSogU291cmNlL0NQYWNrLzogY21DUGFja0dlbmVyYXRvcnMuY3h4LCBjbUNQYWNrR2VuZXJhdG9ycy5oLAoJICBjcGFjay5jeHg6IEVOSDogQWRkIGdlbmVyYXRvcnMgZG9jdW1lbnRhdGlvbgoKMjAwNi0wNS0wMiAxNzozNCAgYW5keQoKCSogU291cmNlL0NQYWNrLzogY21DUGFja1RHWkdlbmVyYXRvci5jeHgsIGNtQ1BhY2tUR1pHZW5lcmF0b3IuaCwKCSAgY21DUGFja1RhckNvbXByZXNzR2VuZXJhdG9yLmN4eCwgY21DUGFja1RhckNvbXByZXNzR2VuZXJhdG9yLmg6CgkgIEVOSDogU2ltcGxpZnkgVGFyQ29tcHJlc3MgdG8gb25seSByZXF1aXJlIGNvbXByZXNzLiBVc2UgY21ha2UncwoJICB0YXIKCjIwMDYtMDUtMDIgMTc6MDcgIGFuZHkKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBDUGFjay9jbUNQYWNrR2VuZXJhdG9ycy5jeHgsCgkgIENQYWNrL2NtQ1BhY2tUYXJDb21wcmVzc0dlbmVyYXRvci5jeHgsCgkgIENQYWNrL2NtQ1BhY2tUYXJDb21wcmVzc0dlbmVyYXRvci5oOiBFTkg6IEluaXRpYWwgY3V0IGF0CgkgIFRhckNvbXByZXNzIGdlbmVyYXRvcgoKMjAwNi0wNS0wMiAxNjo0MSAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL1JlbGVhc2UvcmVsZWFzZV9jbWFrZS5jbWFrZTogRU5IOiByZW1vdmUgZGVidWcKCjIwMDYtMDUtMDIgMTY6NDEgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogY21ha2VfbG9naW4sIHJlbGVhc2VfY21ha2UuY21ha2U6IEVOSDogbW9yZQoJICBzdHVmZgoKMjAwNi0wNS0wMiAxNjozMyAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL1JlbGVhc2UvcmVsZWFzZV9jbWFrZS5jbWFrZTogRU5IOiByZW1vdmUgaWYwCgoyMDA2LTA1LTAyIDE2OjMyICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS86IGRhc2hzdW4xX3JlbGVhc2UuY21ha2UsCgkgIGh5dGhsb3RoX3JlbGVhc2UuY21ha2UsIHJlbGVhc2VfY21ha2UuY21ha2U6IEVOSDogZmlyc3QgcGFzcyBhdAoJICBjbWFrZSBzY3JpcHRzIHRvIGNyZWF0ZSB0aGUgY21ha2UgcmVsZWFzZQoKMjAwNi0wNS0wMiAxNDowNCAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOiBFTkg6IGZpeCBxdCB2ZXJzaW9uIGRldGVjdGlvbgoKMjAwNi0wNS0wMiAxMzozMSAgbWFydGluawoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBhZGQgYSBmYXN0IHZlcnNpb24KCSAgZm9yIHByZWluc3RhbGwKCjIwMDYtMDUtMDIgMTI6NDQgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBCVUc6IG5lZWQgdG8gbWFrZSBzdXJlCgkgIHBhdGhzIGFyZSBPSwoKMjAwNi0wNS0wMiAxMjo0MCAgbWFydGluawoKCSogU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogbmVlZCB0byBtYWtlIHN1cmUKCSAgcGF0aHMgYXJlIE9LCgoyMDA2LTA1LTAyIDEwOjQ4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBmaXggZm9yIHVuaXgKCjIwMDYtMDUtMDIgMDk6NTYgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZTogRU5IOiBNYWtlZmlsZSBwZXJmb3JtYW5jZQoJICBpbXByb3ZlbWVudHMKCjIwMDYtMDUtMDIgMDg6NDkgIGFuZHkKCgkqIENNYWtlTGlzdHMudHh0LCBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja05TSVNHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja1BhY2thZ2VNYWtlckdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrU1RHWkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrWklQR2VuZXJhdG9yLmN4eDogRU5IOiBBZGQgc3VwcG9ydCBmb3IKCSAgc3RpcHBpbmcgYW5kIG1ha2UgbW9yZSB0aGluZ3Mgb3ZlcndyaXRhYmxlCgoyMDA2LTA1LTAyIDA4OjE0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDUtMDEgMjI6NDAgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IEVOSDogdHJ5IGFnYWluCgoyMDA2LTA1LTAxIDIyOjMxICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoOiBFTkg6IHRyeSB0byBjYWxsIGNwYWNrIGZyb20KCSAgc2NyaXB0CgoyMDA2LTA1LTAxIDE0OjIzICBhbmR5CgoJKiBNb2R1bGVzL0NQYWNrLlNUR1pfSGVhZGVyLnNoLmluLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja1NUR1pHZW5lcmF0b3IuY3h4OiBFTkg6IEFkZCBsaWNlbnNlIGFuZCBtYWtlCgkgIGl0IG1vcmUgdmVyYm9zZQoKMjAwNi0wNS0wMSAwODowNiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA0LTMwIDEwOjU5ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ29weXJpZ2h0LnR4dCwgTW9kdWxlcy9DUGFjay5jbWFrZSwKCSAgTW9kdWxlcy9OU0lTLkluc3RhbGxPcHRpb25zLmluaS5pbiwgTW9kdWxlcy9OU0lTLnRlbXBsYXRlLmluLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja05TSVNHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdEdlbmVyaWNIYW5kbGVyLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmg6IEVOSDogbW92ZSBmaWxlcyBmcm9tIG1haW4KCSAgdHJlZSB0byAyLjQuMQoKMjAwNi0wNC0zMCAwODowNCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA0LTMwIDAzOjE2ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEdlbmVyaWNIYW5kbGVyLmN4eDogQlVHOiBNYWtlIGhhbmRsZQoJICBhcmd1bWVudHMgd29yayBhZ2FpbgoKMjAwNi0wNC0zMCAwMzoxMCAgYW5keQoKCSogTW9kdWxlcy9OU0lTLnRlbXBsYXRlLmluOiBFTkg6IEhhbmRsZSB0aGUgbm8taWNvbiBjYXNlCgoyMDA2LTA0LTI5IDIwOjEzICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0U2NyaXB0SGFuZGxlci5jeHgsIGNtQ1Rlc3RTY3JpcHRIYW5kbGVyLmg6CgkgIEVOSDogQWxsb3cgQ1RFU1RfVVBEQVRFX0NPTU1BTkQgYW5kIGZpeCB0aGUgY29tbWVudHMuIFRoaXMgc2hvdWxkCgkgIGFsbG93IFNWTiB1cGRhdGUgdG9vLCBtYXliZQoKMjAwNi0wNC0yOSAyMDowMyAgYW5keQoKCSogQ29weXJpZ2h0LnR4dDogRU5IOiBBY2tub3dsZWRnZSBOQU1JQwoKMjAwNi0wNC0yOSAyMDowMSAgYW5keQoKCSogQ01ha2VMaXN0cy50eHQsIE1vZHVsZXMvQ1BhY2suY21ha2UsIE1vZHVsZXMvTlNJUy50ZW1wbGF0ZS5pbjoKCSAgRU5IOiBBZGQgbW9yZSBpbnN0YWxsIHJlZ2lzdHJ5IG9wdGlvbnMKCjIwMDYtMDQtMjkgMTk6MjIgIGFuZHkKCgkqIENNYWtlTGlzdHMudHh0LCBNb2R1bGVzL05TSVMuSW5zdGFsbE9wdGlvbnMuaW5pLmluLAoJICBNb2R1bGVzL05TSVMudGVtcGxhdGUuaW4sIFNvdXJjZS9DUGFjay9jbUNQYWNrTlNJU0dlbmVyYXRvci5jeHg6CgkgIEVOSDogQWRkIE5TSVMgb3B0aW9ucyBwYWdlIGZvciBwYXRoIHNlbGVjdGlvbiwgZml4IGFkZGluZyBhbmQKCSAgcmVtb3ZpbmcgZnJvbSBwYXRoLCBhZGQgd2VsY29tZSBwYWdlIGFuZCBsaWNlbnNlIHBhZ2UKCjIwMDYtMDQtMjkgMTE6NDkgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDVGVzdENvbmZpZy5jbWFrZSwgQ2hhbmdlTG9nLm1hbnVhbCwKCSAgTW9kdWxlcy9DVGVzdC5jbWFrZSwgTW9kdWxlcy9GaW5kUXQ0LmNtYWtlLAoJICBNb2R1bGVzL05TSVMudGVtcGxhdGUuaW4sIFNvdXJjZS9jbUNUZXN0LmN4eCwgU291cmNlL2NtQ1Rlc3QuaCwKCSAgU291cmNlL2NtTWFrZWZpbGUuY3h4LCBTb3VyY2UvY21WZXJzaW9uLmN4eCwgU291cmNlL2N0ZXN0LmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdEdlbmVyaWNIYW5kbGVyLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RHZW5lcmljSGFuZGxlci5oLAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN0YXJ0Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3RhcnRDb21tYW5kLmgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3VibWl0SGFuZGxlci5jeHgsCgkgIFNvdXJjZS9rd3N5cy9EeW5hbWljTG9hZGVyLmN4eCwgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eCwKCSAgVGVtcGxhdGVzL0NUZXN0U2NyaXB0LmNtYWtlLmluOiBFTkg6IG1lcmdlIGluIGNoYW5nZXMgZnJvbSBtYWluCgkgIHRyZWUgYW5kIGNoYW5nZSB2ZXJzaW9uIHRvIDIuNC4xLWJldGEKCjIwMDYtMDQtMjkgMDg6MTMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNC0yOCAxMTo1OSAgYW5keQoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaCwgY3Rlc3QuY3h4LAoJICBDVGVzdC9jbUNUZXN0R2VuZXJpY0hhbmRsZXIuY3h4LCBDVGVzdC9jbUNUZXN0R2VuZXJpY0hhbmRsZXIuaCwKCSAgQ1Rlc3QvY21DVGVzdFN0YXJ0Q29tbWFuZC5jeHgsIENUZXN0L2NtQ1Rlc3RTdGFydENvbW1hbmQuaCwKCSAgQ1Rlc3QvY21DVGVzdFN1Ym1pdEhhbmRsZXIuY3h4OiBFTkg6IEFkZCBzdXBwb3J0IGZvciBzcGVjaWFsCgkgIHRyYWNrcywgZml4IG9wdGlvbnMgb2YgaGFuZGxlcnMgc28gdGhhdCB0aGUgLVIsIC1VLCBhbmQgc28gb24KCSAgd29yayBpbiAgdGhlIG5ldyBzdHlsZSBzY3JpcHRpbmcKCjIwMDYtMDQtMjggMTE6NTggIGFuZHkKCgkqIENUZXN0Q29uZmlnLmNtYWtlOiBFTkg6IEFkZCBYTUxSUEMgc3VwcG9ydAoKMjAwNi0wNC0yOCAxMTo1OCAgYW5keQoKCSogQ01ha2VMaXN0cy50eHQsIFRlbXBsYXRlcy9DVGVzdFNjcmlwdC5jbWFrZS5pbjogRU5IOiBBZGQgdGVtcGxhdGUKCSAgb2YgY3Rlc3Qgc2NyaXB0CgoyMDA2LTA0LTI4IDA5OjU4ICBhbmR5CgoJKiBNb2R1bGVzL0NUZXN0LmNtYWtlOiBFTkg6IEFsbG93IG92ZXJ3cml0aW5nIENUZXN0Q29uZmlnLmNtYWtlCgkgIGl0ZW1zCgoyMDA2LTA0LTI4IDA4OjU5ICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cubWFudWFsLCBEb2NzL2NtYWtlLW1vZGUuZWwsCgkgIE1vZHVsZXMvQ2hlY2tDU291cmNlQ29tcGlsZXMuY21ha2UsCgkgIE1vZHVsZXMvQ2hlY2tDWFhTb3VyY2VDb21waWxlcy5jbWFrZSwgTW9kdWxlcy9GaW5kUXQ0LmNtYWtlLAoJICBNb2R1bGVzL1VzZVF0NC5jbWFrZSwKCSAgU291cmNlL2NtR2xvYmFsQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbEtkZXZlbG9wR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsTVNZU01ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsTWluR1dNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFdhdGNvbVdNYWtlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbVRlc3QuY3h4LAoJICBTb3VyY2UvY21ha2UuY3h4LCBTb3VyY2UvY21ha2UuaCwgU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0LAoJICBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4LCBTb3VyY2Uva3dzeXMvVGVybWluYWwuYywKCSAgU291cmNlL2t3c3lzL1Rlcm1pbmFsLmguaW4sIFNvdXJjZS9rd3N5cy90ZXN0VGVybWluYWwuYzogRU5IOgoJICBtZXJnZSBjaGFuZ2VzIGZyb20gbWFpbiB0cmVlCgoyMDA2LTA0LTI4IDA4OjEyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDQtMjcgMTc6NTIgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEVOSDogcHV0IHRoZSBmaXggYmFjayBpbiB3aXRoIGFib3J0CgoyMDA2LTA0LTI3IDE3OjQ2ICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFTkg6IHJlbW92ZSBjb2RlIHRoYXQgZG9lcyBub3QKCSAgY29tcGlsZSwgb24gd2luZG93cyBjd2QgbXVzdCBleGlzdAoKMjAwNi0wNC0yNyAxNjoyMCAgYW5keQoKCSogTW9kdWxlcy9OU0lTLnRlbXBsYXRlLmluOiBFTkg6IEJldHRlciBzdXBwb3J0IGZvciBhZGRpbmcgYW5kCgkgIHJlbW92aW5nIHBhdGgKCjIwMDYtMDQtMjcgMTY6MDIgIG1yaWNoYXJkc29uCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBDT01QOiBGaXhpbmcgdGhlIHRoZSBidWlsZCBmb3IKCSAgd2luZG93cy4KCjIwMDYtMDQtMjcgMTU6NDggIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy9EeW5hbWljTG9hZGVyLmN4eDogRU5IOiByZW1vdmUgd2FybmluZwoKMjAwNi0wNC0yNyAxNToyNiAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogRU5IOiBoYW5kbGUgcnVubmluZyBmcm9tIGEKCSAgZGlyZWN0b3J5IHRoYXQgaGFzIGJlZW4gZGVsZXRlZAoKMjAwNi0wNC0yNyAxNToyMyAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4OiBFTkg6IEZpeCBwcm9ibGVtIHdpdGgKCSAgU291cmNlIExpbmVzIGFuZCBhZGQgZGVidWdnaW5nIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbnMKCjIwMDYtMDQtMjcgMTU6MTQgIGFsZXgKCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogRU5IOiB1c2UgdGhlIEFERF9GSUxFX0RFUEVOREVOQ0lFUygpIG1hY3JvCgkgIGNvbWluZyB3aXRoIGNtYWtlIGluc3RlYWQgYSBkdXBsaWNhdGVkIGltcGxlbWVudGF0aW9uCgkgIF9xdDRfYWRkX2ZpbGVfZGVwZW5kZW5jaWVzKCkgaGVyZQoKCSAgQWxleAoKMjAwNi0wNC0yNyAxNTowNyAgYWxleAoKCSogTW9kdWxlcy86IEZpbmRRdDQuY21ha2UsIFVzZVF0NC5jbWFrZTogRU5IOiAtYXBwbHkgdGhlIHBhdGNoZXMgYnkKCSAgQ2xpbnRvbiBTdGltcHNvbiBhbmQgS2VubmV0aCBNb3JlbGFuZCB3aGljaCBmaXggc29tZSBRdE1haW4KCSAgaXNzdWVzIG9uIFdpbmRvd3MgRU5IOiAtc3luYyB3aXRoIEtERSBzdm4gRmluZFF0NCwgd2hpY2ggZmVhdHVyZXMKCSAgYSBsb3Qgb2YgZW5oYW5jZW1lbnRzCgoJICBBbGV4CgoyMDA2LTA0LTI3IDEwOjU1ICBhbmR5CgoJKiBNb2R1bGVzLzogQ2hlY2tDU291cmNlQ29tcGlsZXMuY21ha2UsCgkgIENoZWNrQ1hYU291cmNlQ29tcGlsZXMuY21ha2U6IEJVRzogVXNlIHRoZSBleHRyYSBkZWZpbmljaW9ucwoKMjAwNi0wNC0yNyAxMDo0MSAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4OiBCVUc6IE1ha2Ugc3VyZSBlYWNoCgkgIGNtYWtlX2RlcGVuZHMgcHJvY2VzcyB1c2VzIHRoZSBzYW1lIFN5c3RlbVRvb2xzIHBhdGggdHJhbnNsYXRpb24KCSAgdGFibGUgYXMgdGhlIG9yaWdpbmFsIHByb2Nlc3MuICBUaGlzIGFkZHJlc3NlcyBwcm9ibGVtcyB3aXRoCgkgIGRlcGVuZGVuY3kgc2Nhbm5pbmcgd2hlbiBtYWtlIGlzIHJ1biBmcm9tIGEgc3ltbGluayBkaXJlY3RvcnkKCSAgcG9pbnRpbmcgYXQgdGhlIG9yaWdpbmFsIGJpbmFyeSB0cmVlLgoKMjAwNi0wNC0yNyAwODowMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA0LTI2IDIxOjUzICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsIGNtYWtlLmN4eDogQ09NUDoKCSAgRGlzYWJsZSBjb2xvciBzdXBwb3J0IGZvciBib290c3RyYXAuCgoyMDA2LTA0LTI2IDIxOjUxICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBCVUc6IERlZmF1bHQgU0hFTEwgb24KCSAgd2luZG93cyBzaG91bGQgbm90IGJlIGEgaGFyZC1jb2RlZCBwYXRoLgoKMjAwNi0wNC0yNiAyMTozMSAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxCb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsS2RldmVsb3BHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbE1TWVNNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsTWluR1dNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtR2xvYmFsV2F0Y29tV01ha2VHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsIGNtYWtlLmN4eCwgY21ha2UuaDogRU5IOgoJICBFbmFibGluZyBjb2xvciBtYWtlZmlsZSBzdXBwb3J0IHVzaW5nIGNtc3lzVGVybWluYWxfY2ZwcmludGYuCgkgIFN1cHBvcnQgZm9yIGNvbG9yIGlzIGF1dG9tYXRpY2FsbHkgZGV0ZWN0ZWQgd2hlbiBtZXNzYWdlcyBhcmUKCSAgcHJpbnRlZC4gIEFsc28gbWFkZSBjb2xvciBzY2hlbWUgbW9yZSByZWFkYWJsZSBvbiBib3RoIGJsYWNrIGFuZAoJICB3aGl0ZSBiYWNrZ3JvdW5kcy4gIFRoaXMgb3B0aW9uIGNhbiBiZSBlbmFibGVkIGJ5IHNldHRpbmcKCSAgQ01BS0VfQ09MT1JfTUFLRUZJTEUgdG8gdHJ1ZSBpbiB0aGUgcHJvamVjdC4KCjIwMDYtMDQtMjYgMTU6NTQgIGtpbmcKCgkqIERvY3MvY21ha2UtbW9kZS5lbDogQlVHOiBJbiBleGFtcGxlIC5lbWFjcyBjb2RlIHVzZSBcJyBmb3IKCSAgZW5kLW9mLXN0cmluZyBpbnN0ZWFkIG9mICQgZm9yIGVuZC1vZi1saW5lLgoKMjAwNi0wNC0yNiAxNDoyOCAga2luZwoKCSogRG9jcy9jbWFrZS1tb2RlLmVsOiBCVUc6IE1vZGUgc2hvdWxkIG9ubHkgYmUgdXNlZCBpZgoJICBDTWFrZUxpc3RzLnR4dCBpcyBhdCB0aGUgZW5kIG9mIHRoZSBidWZmZXIgbmFtZS4KCjIwMDYtMDQtMjYgMTQ6MjIgIGtpbmcKCgkqIERvY3MvY21ha2UtbW9kZS5lbDogQlVHOiBUYWJzIGFyb3VuZCBhIGZ1bmN0aW9uIG5hbWUgYXJlIGFsbG93ZWQuCgoyMDA2LTA0LTI2IDEzOjA0ICBraW5nCgoJKiBEb2NzL2NtYWtlLW1vZGUuZWw6IEVOSDogVXNpbmcgc3VnZ2VzdGlvbiBmcm9tIFN0dWFydCBIZXJyaW5nIHRvCgkgIGF2b2lkIG5lZWRpbmcgYSBsaXN0IG9mIGNvbW1hbmQgbmFtZXMgaW4gdGhlIGhpZ2hsaWdodGluZyB0YWJsZS4KCjIwMDYtMDQtMjYgMDg6MDEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNC0yNSAxNjozMSAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEVOSDogZml4IGdsb2JhbCBoZWxwCgoyMDA2LTA0LTI1IDEyOjA5ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwgRG9jcy9jbWFrZS1pbmRlbnQudmltLAoJICBNb2R1bGVzL0NQYWNrLmNtYWtlLCBNb2R1bGVzL0NUZXN0LmNtYWtlLCBNb2R1bGVzL0ZpbmRRdDMuY21ha2UsCgkgIE1vZHVsZXMvTlNJUy50ZW1wbGF0ZS5pbiwgTW9kdWxlcy9Vc2VFY29zLmNtYWtlLAoJICBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbUdsb2JhbEtkZXZlbG9wR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eCwgVGVzdHMvSmF2YS9DTWFrZUxpc3RzLnR4dDogRU5IOgoJICBtb3ZlIGZyb20gbWFpbiB0cmVlIHRvIDIuNCBicmFuY2gKCjIwMDYtMDQtMjUgMTE6NTggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogRU5IOiBtYWtlIHN1cmUgc3BlY2lhbCB2cyBpZGUgcGF0aAoJICBpcyBvbmx5IHVzZWQgZm9yIG1zdmNfaWRlIGJ1aWxkcwoKMjAwNi0wNC0yNSAxMTo1MiAga2luZwoKCSogRG9jcy9jbWFrZS1tb2RlLmVsOiBFTkg6IENsZWFuZWQtdXAgbW9kZSBpbiBwcmVwYXJhdGlvbiBmb3IKCSAgaW5jbHVzaW9uIGluIGVtYWNzIHVwc3RyZWFtLgoKMjAwNi0wNC0yNSAwOTo1NCAga2luZwoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBFTkg6IEFkZGVkIG9wdGlvbgoJICBDTUFLRV9JTkNMVURFX0RJUkVDVE9SSUVTX1BST0pFQ1RfQkVGT1JFIHRvIHB1dCBhbGwgaW4tcHJvamVjdAoJICBpbmNsdWRlIGRpcmVjdG9yaWVzIGJlZm9yZSBhbGwgb3V0LW9mLXByb2plY3QgaW5jbHVkZQoJICBkaXJlY3Rvcmllcy4KCjIwMDYtMDQtMjUgMDk6NTQgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEJVRzogSXNTdWJEaXJlY3Rvcnkgc2hvdWxkIHVzZQoJICBDb21wYXJlUGF0aCB0byBkbyBwbGF0Zm9ybS1pbmRlcGVuZGVudCBwYXRoIGNvbXBhcmlzb24uCgoyMDA2LTA0LTI1IDA5OjM4ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsR2VuZXJhdG9yLmN4eDogRU5IOiBhZGQgc3BlY2lhbCB3aW5kb3dzCgkgIENNQUtFX01TVkNJREVfUlVOX1BBVEggdmFyaWFibGUgZm9yIGFkZGluZyB0byB0aGUgcGF0aCBvZiB2cyBJREUKCSAgZm9yIHJ1bm5pbmcgY3VzdG9tIGNvbW1hbmRzIGZyb20gY21ha2UKCjIwMDYtMDQtMjUgMDg6MzQgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVRlc3QuY3h4OiBFTkg6IG1ha2Ugc3VyZSBjb21tYW5kIGlzIHVuaXggc3R5bGUgYXMgaXQgbWF5CgkgIGhhdmUgYmVlbiBzZW50IGludG8gY21ha2UgYXMgYSB3aW5kb3dzIHBhdGgKCjIwMDYtMDQtMjUgMDg6MzMgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy9UZXJtaW5hbC5oLmluOiBFTkg6IGZpeCBidWlsZCBvbiBBSVgKCjIwMDYtMDQtMjUgMDg6MDQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNC0yNCAxMjoxNSAga2luZwoKCSogU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0OiBFTkg6IEVuYWJsaW5nIGJ1aWxkL3Rlc3Qgb2YgVGVybWluYWwKCSAgY29kZSBub3cgdGhhdCBpdCBoYXMgYmVlbiBtYW51YWxseSB0ZXN0ZWQgb24gc2V2ZXJhbCBwbGF0Zm9ybXMuCgoyMDA2LTA0LTI0IDEyOjEyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21GTFRLV3JhcFVJQ29tbWFuZC5jeHg6IEVOSDogZml4IGZsdGsgZmx1aWQgb3JkZXIgb2YKCSAgYnVpbGQKCjIwMDYtMDQtMjQgMTE6MzAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUZMVEtXcmFwVUlDb21tYW5kLmN4eDogRU5IOiBtYWtlIHN1cmUgY29tbWFuZCBkZXBlbmRzIG9uCgkgIGZsdWlkCgoyMDA2LTA0LTI0IDA5OjM5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxLZGV2ZWxvcEdlbmVyYXRvci5jeHg6IEVOSDogZml4IHdhcm5pbmdzCgoyMDA2LTA0LTI0IDA3OjU2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDQtMjMgMjM6MjQgIGhvZmZtYW4KCgkqIFRlc3RzL0phdmEvQ01ha2VMaXN0cy50eHQ6IEVOSDogY3JlYXRlIHRoZSBjb3JyZWN0IGphciBuYW1lCgoyMDA2LTA0LTIzIDIxOjEyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxLZGV2ZWxvcEdlbmVyYXRvci5jeHg6IEVOSDogbWVyZ2UgaW4gQWxleCBwYXRjaGVzCgoyMDA2LTA0LTIzIDE5OjQ1ICBhbmR5CgoJKiBNb2R1bGVzLzogQ1BhY2suY21ha2UsIE5TSVMudGVtcGxhdGUuaW46IEVOSDogUHJvcGFnYXRlIHN5c3RlbQoJICBuYW1lIGFuZCBoYW5kbGUgd2luMzIvd2luNjQgbmFtZQoKMjAwNi0wNC0yMyAxODozOSAgYW5keQoKCSogQ01ha2VMaXN0cy50eHQ6IEVOSDogRW5hYmxlIHBhdGgKCjIwMDYtMDQtMjMgMTg6MjMgIGFuZHkKCgkqIE1vZHVsZXMvTlNJUy50ZW1wbGF0ZS5pbjogRU5IOiBBZGQgYSBsaW5lIHRvIEFkZC9SZW1vdmUgcHJvZ3JhbXMKCSAgdG8gdW5pbnN0YWxsCgoyMDA2LTA0LTIzIDE1OjM0ICBob2ZmbWFuCgoJKiBUZXN0cy9KYXZhL0NNYWtlTGlzdHMudHh0OiBFTkg6IHVzZSB0aGUgcmlnaHQgbmFtZSBmb3IgdGhlIHRlc3QKCjIwMDYtMDQtMjMgMTE6MTAgIGhvZmZtYW4KCgkqIFRlc3RzL0phdmEvQ01ha2VMaXN0cy50eHQ6IEVOSDogZml4IGJ1aWxkCgoyMDA2LTA0LTIzIDA4OjA4ICBhbGV4CgoJKiBNb2R1bGVzL1VzZUVjb3MuY21ha2U6IEJVRzogZmluYWxseSByZWFsbHkgZml4ICMyNTc2IGJ5IGFkZGluZwoJICBVc2VFY29zLmNtYWtlIHRvIGN2cyA6LSkKCgkgIEFsZXgKCjIwMDYtMDQtMjMgMDc6NTcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNC0yMyAwNzoyMyAgYWxleAoKCSogTW9kdWxlcy9GaW5kUXQzLmNtYWtlOiBCVUc6IGZpeCBRVF9NSU5fVkVSU0lPTiBoYW5kbGluZywgaXQKCSAgZGlkbid0IHdvcmsgYW55bW9yZSAocXRfdmVyc2lvbl9zdHIgdnMuICBxdF92ZXJzaW9uX3N0cl9saWIpCgoJICBBbGV4CgoyMDA2LTA0LTIyIDIwOjMyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvVGVybWluYWwuYzogQ09NUDogQWRkZWQgbWlzc2luZyBpbmNsdWRlIG9mIHN0cmluZy5oCgkgIGZvciBzdHJjbXAuCgoyMDA2LTA0LTIyIDIwOjI2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvVGVybWluYWwuYzogQlVHOiBGaXhlZCBidWcgaW4gY2hlY2sgZm9yIHZ0MTAwCgkgIGFzc3VtcHRpb24uCgoyMDA2LTA0LTIyIDIwOjI1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvVGVybWluYWwuYzogQlVHOiBGaXhlZCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIHdoZW4KCSAgbm90IGJ1aWxkaW5nIHdpdGggd2luZG93cyBjb25zb2xlIHN1cHBvcnQuCgoyMDA2LTA0LTIyIDIwOjIwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBDTWFrZUxpc3RzLnR4dCwgVGVybWluYWwuYywgVGVybWluYWwuaC5pbiwKCSAgdGVzdFRlcm1pbmFsLmM6IEVOSDogQWRkaW5nICdUZXJtaW5hbCcgY29tcG9uZW50IHRvIGhvbGQgc3VwcG9ydAoJICByb3V0aW5lcyBmb3IgZGVhbGluZyB3aXRoIGludGVyYWN0aXZlIHRlcm1pbmFscy4gIEN1cnJlbnRseSBvbmx5CgkgIGEgY2ZwcmludGYgZnVuY3Rpb24gaXMgcHJvdmlkZWQgdG8gcHJpbnQgY29sb3IgbWVzc2FnZXMuCgoyMDA2LTA0LTIyIDA5OjEzICBob2ZmbWFuCgoJKiBUZXN0cy9KYXZhL0NNYWtlTGlzdHMudHh0OiBFTkg6IGZpeCBpbiBzb3VyY2UgYnVpbGQgZm9yIHZzIGlkZQoKMjAwNi0wNC0yMiAwODowNyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA0LTIxIDIwOjEzICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFTkg6IGZpeCBib3JsYW5kIGJ1ZwoKMjAwNi0wNC0yMSAxNjozMyAgYW5keQoKCSogRG9jcy9jbWFrZS1pbmRlbnQudmltOiBCVUc6IEZpeCB0eXBvCgoyMDA2LTA0LTIxIDE1OjE1ICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFTkg6IHBlcmZvcm1hbmNlIGltcHJvdm1lbnRzCgoyMDA2LTA0LTIxIDE0OjM2ICBhbmR5CgoJKiBNb2R1bGVzL0NUZXN0LmNtYWtlOiBCVUc6IEZpeCB0aGUgbWlzc2luZyBuaWdodGx5IHN0YXJ0IHRpbWUgYnVnCgkgIGFuZCBkbyBzb21lIGNsZWFudXAKCjIwMDYtMDQtMjEgMTQ6MjYgIGFuZHkKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBDbGVhbnVwCgoyMDA2LTA0LTIxIDEwOjI2ICBob2ZmbWFuCgoJKiBDVGVzdEN1c3RvbS5jdGVzdC5pbiwgQ2hhbmdlTG9nLm1hbnVhbCwgRG9jcy9jbWFrZS1pbmRlbnQudmltLAoJICBEb2NzL2NtYWtlLXN5bnRheC52aW0sIE1vZHVsZXMvQ01ha2VHZW5lcmljU3lzdGVtLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL0hQLVVYLmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL0xpbnV4LWlmb3J0LmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL0xpbnV4LmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL2tGcmVlQlNELmNtYWtlLAoJICBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5oLAoJICBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbWFrZS5jeHg6IEVOSDogbW92ZQoJICBzdHVmZiBmcm9tIG1haW4gdHJlZQoKMjAwNi0wNC0yMSAwODo1OSAgaG9mZm1hbgoKCSogQ1Rlc3RDdXN0b20uY3Rlc3QuaW46IEVOSDogc3VwcmVzcyB4Y29kZSB3YXJuaW5nCgoyMDA2LTA0LTIxIDA4OjU5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBFTkg6IHVzZSBhIGJldHRlciBuYW1lCgoyMDA2LTA0LTIxIDA4OjA2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDQtMjEgMDc6MTcgIGFuZHkKCgkqIERvY3MvY21ha2UtaW5kZW50LnZpbTogRU5IOiBBZGQgV2hpbGUgc3VwcG9ydAoKMjAwNi0wNC0yMCAyMTo1NCAgaG9mZm1hbgoKCSogU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4OiBFTkg6IGlnbm9yZSBhbGwgZmlsZXMgdGhhdAoJICB3ZSBkbyBub3Qga25vdyBhYm91dCBqdXN0IGxpa2UgaW4gaWRlIGdlbmVyYXRvcnMKCjIwMDYtMDQtMjAgMjE6MzIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEVOSDogZG8gbm90IGNvbXBpbGUKCSAgaGVhZGVyIGZpbGVzCgoyMDA2LTA0LTIwIDE3OjAwICBob2ZmbWFuCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IHNhdmUgdGhlIGNhY2hlIG9uIGZhdGFsIGVycm9yIHNvIHRoYXQKCSAgdXNlcnMgY2FuIHNldCBjYWNoZSB2YWx1ZXMKCjIwMDYtMDQtMjAgMTY6MTYgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWwsIE1vZHVsZXMvQ2hlY2tDU291cmNlQ29tcGlsZXMuY21ha2UsCgkgIE1vZHVsZXMvQ2hlY2tDWFhTb3VyY2VDb21waWxlcy5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlLAoJICBTb3VyY2UvY21Cb290c3RyYXBDb21tYW5kcy5jeHgsIFNvdXJjZS9jbUNvbW1hbmRzLmN4eCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTWFrZWZpbGVFeGVjdXRhYmxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21ha2VtYWluLmN4eCwKCSAgVGVtcGxhdGVzL0NQYWNrLkdlbmVyaWNEZXNjcmlwdGlvbi50eHQsCgkgIFRlbXBsYXRlcy9DUGFjay5HZW5lcmljTGljZW5zZS50eHQsCgkgIFRlbXBsYXRlcy9DUGFjay5HZW5lcmljV2VsY29tZS50eHQsCgkgIFRlbXBsYXRlcy9ETExIZWFkZXIuZHNwdGVtcGxhdGUsIFRlbXBsYXRlcy9FWEVIZWFkZXIuZHNwdGVtcGxhdGUsCgkgIFRlbXBsYXRlcy9FWEVXaW5IZWFkZXIuZHNwdGVtcGxhdGU6IEVOSDogbWVyZ2UgY2hhbmdlcyBmcm9tIG1haW4KCSAgdHJlZQoKMjAwNi0wNC0yMCAxNTo0OSAgaG9mZm1hbgoKCSogU291cmNlL2NtTWFrZWZpbGUuaDogRU5IOiBmaXggLi4gaW4gdGhlIHBhdGggb2Ygc3ViZGlycwoKMjAwNi0wNC0yMCAxNTo0OSAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogRU5IOiBkb24ndCBhZGQgcGFja2FnZSB0YXJnZXQgaWYgbm8KCSAgcGFja2FnZSBmaWxlIGlzIGFyb3VuZAoKMjAwNi0wNC0yMCAxNToyOCAga2luZwoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBWUzcgc2VlbXMgdG8gaGF2ZQoJICBhIGxpbWl0IG9uIHRoZSBsZW5ndGggb2YgdGhlIGxpbmsgZGlyZWN0b3J5IGxpc3Qgc3RyaW5nLiAgVHJ5IHRvCgkgIG1ha2UgdGhlIHN0cmluZyBhcyBzaG9ydCBhcyBwb3NzaWJsZSBieSBhdm9pZGluZyB0cmFpbGluZyBzbGFzaGVzCgkgIGFuZCB1c2luZyBhIHJlbGF0aXZlIHBhdGggKGlmIGl0IGlzIHNob3J0ZXIpLgoKMjAwNi0wNC0yMCAxMDo1MSAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEVOSDogZml4IGhlbHAgZm9yCgkgIGdsb2JhbCB0YXJnZXRzCgoyMDA2LTA0LTIwIDEwOjIzICBhbmR5CgoJKiBNb2R1bGVzLzogQ01ha2VHZW5lcmljU3lzdGVtLmNtYWtlLCBQbGF0Zm9ybS9IUC1VWC5jbWFrZSwKCSAgUGxhdGZvcm0vTGludXgtaWZvcnQuY21ha2UsIFBsYXRmb3JtL0xpbnV4LmNtYWtlLAoJICBQbGF0Zm9ybS9rRnJlZUJTRC5jbWFrZTogRU5IOiBDbGVhbnVwIGxpbmsgbGlicmFyaWVzLiBSZW1vdmUgLWwKCSAgZnJvbSAtbGRsCgoyMDA2LTA0LTIwIDEwOjIyICBhbmR5CgoJKiBTb3VyY2UvY21ha2VtYWluLmN4eDogRU5IOiBBZGQgaGVscCBmb3IgZ3JhcGh2aXoKCjIwMDYtMDQtMjAgMTA6MjAgIGFuZHkKCgkqIERvY3MvY21ha2Utc3ludGF4LnZpbTogU1RZTEU6IEFkZCBtaXNzaW5nIGNvbW1hbmQKCjIwMDYtMDQtMjAgMDk6NTkgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogQ2hhbmdlZCBjb2xvcgoJICBzY2hlbWUgdG8gYmUgbW9yZSByZWFkYWJsZSBvbiBib3RoIHdoaXRlIGFuZCBibGFjayBiYWNrZ3JvdW5kcy4KCjIwMDYtMDQtMjAgMDk6NTQgIGFuZHkKCgkqIFRlbXBsYXRlcy86IENQYWNrLkdlbmVyaWNEZXNjcmlwdGlvbi50eHQsCgkgIENQYWNrLkdlbmVyaWNMaWNlbnNlLnR4dCwgQ1BhY2suR2VuZXJpY1dlbGNvbWUudHh0OiBFTkg6IFNpbXBsaWZ5CgkgIHRoZSBnZW5lcmljIGluc3RydWN0aW9ucwoKMjAwNi0wNC0yMCAwOTozMiAgaG9mZm1hbgoKCSogQ1Rlc3RDdXN0b20uY3Rlc3QuaW46IEVOSDogYWRkIGlnbm9yZSBmb3IgeGNvZGUKCjIwMDYtMDQtMTkgMTc6MjMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBDaGVja0NTb3VyY2VDb21waWxlcy5jbWFrZSwKCSAgQ2hlY2tDWFhTb3VyY2VDb21waWxlcy5jbWFrZTogRU5IOiBhcHBlbmQgdG8gbG9nIGZpbGVzCgoyMDA2LTA0LTE5IDE2OjUxICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dDogRU5IOiB1cGRhdGUgY3BhY2sgc3R1ZmYgdG8gbWF0Y2ggb2xkIGNtYWtlCgkgIHJlbGVhc2VzCgoyMDA2LTA0LTE5IDE2OjM2ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2UsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTWFrZWZpbGVFeGVjdXRhYmxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4OiBFTkg6IG5hbWUgcGRiIGZpbGVzIGZvcgoJICB2aXN1YWwgc3R1ZGlvIG1ha2UgYmFzZWQgYnVpbGRzCgoyMDA2LTA0LTE5IDE1OjI5ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2U6IEVOSDogdW5peCBtYWtlZmlsZXMgc2hvdWxkCgkgIHdvcmsgd2l0aCBjbAoKMjAwNi0wNC0xOSAxMjo1OCAgaG9mZm1hbgoKCSogQ2hhbmdlTG9nLnR4dDogRU5IOiBwdXQgY3ZzMmNsIGNoYW5nZWxvZyB0byBtYXRjaCBicmFuY2gKCjIwMDYtMDQtMTkgMTI6MzAgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWw6IEVOSDogYWRkIGNoYW5nZWxvZyBmb3IgMi40CgoyMDA2LTA0LTE5IDEyOjI5ICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cudHh0OiBFTkg6IGNyZWF0ZSBuZXcgY2hhbmdlIGxvZyB3aXRoIGN2czJjbAoKMjAwNi0wNC0xOSAxMToxNCAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlOiBFTkg6IGRvbid0IG5lZWQgdHdvIG9mIHRoZXNlCgoyMDA2LTA0LTE5IDEwOjU2ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2U6IEVOSDogdGVzdCBmb3IgdnM4IGNvcnJlY3RseQoKMjAwNi0wNC0xOSAxMDo1MCAga2luZwoKCSogU291cmNlLzogY21Cb290c3RyYXBDb21tYW5kcy5jeHgsIGNtQ29tbWFuZHMuY3h4OiBCVUc6IE5lZWQKCSAgQUREX0RFUEVOREVOQ0lFUyBjb21tYW5kIGZvciBNaW5HVyBib290c3RyYXAgc2luY2Uga3dzeXMgdXNlcyB0aGUKCSAgV2luMzIgaW1wbGVtZW50YXRpb24gb2YgcHJvY2VzcyBleGVjdXRpb24uCgoyMDA2LTA0LTE5IDEwOjM0ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuaCwKCSAgVGVtcGxhdGVzL0RMTEhlYWRlci5kc3B0ZW1wbGF0ZSwgVGVtcGxhdGVzL0VYRUhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVtcGxhdGVzL0VYRVdpbkhlYWRlci5kc3B0ZW1wbGF0ZTogQlVHOiBWUzYgZ2VuZXJhdG9yIG5vdyB1c2VzCgkgIENvbXB1dGVMaW5rSW5mb3JtYXRpb24ganVzdCBsaWtlIGFsbCBvdGhlciBnZW5lcmF0b3JzLgoKMjAwNi0wNC0xOSAxMDoxMSAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlOiBFTkg6IGNoZWNrIGZvciB2ZXJzaW9uIDE0MDAKCjIwMDYtMDQtMTkgMDg6MDYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNC0xOCAxNjo0MCAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQ6IEVOSDogbWFrZSBjcGFjayBuYW1lcyBtYXRjaCBvbGQgY21ha2UgcmVsZWFzZQoJICBwcm9jZXNzCgoyMDA2LTA0LTE4IDE1OjMyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogRU5IOiBwdXQgZ2xvYmFsCgkgIHRhcmdldHMgaW4gdGhlIGhlbHAKCjIwMDYtMDQtMTggMTU6MzAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBCVUc6IG1ha2Ugc3VyZSBoZWxwCgkgIGhhcyBnbG9iYWwgdGFyZ2V0cwoKMjAwNi0wNC0xOCAxNDo0OCAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbUNQbHVnaW5BUEkuaDogRU5IOiBtb3ZlIHZlcnNpb24gbnVtYmVycwoJICB0byAyLjUuMAoKMjAwNi0wNC0xOCAxNDo0OCAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbUNQbHVnaW5BUEkuaCwgVXRpbGl0aWVzL1JlbGVhc2UvUkVBRE1FOgoJICBFTkg6IG1vdmUgdmVyc2lvbiBudW1iZXJzIHRvIDIuNC4wCgoyMDA2LTA0LTE4IDExOjUzICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4OiBCVUc6IERvIG5vdCByZXF1aXJlCgkgIGxhbmd1YWdlIGZsYWdzIHZhcmlhYmxlcy4gIE90aGVyIGdlbmVyYXRvcnMgZG8gbm90LCBhbmQgaXQgYnJlYWtzCgkgIHByb2dyYW1tYWJsZSBsYW5ndWFnZSBzdXBwb3J0IChsaWtlIHRoZSBKYXZhIHRlc3QpLgoKMjAwNi0wNC0xOCAxMTo1MCAgYmFycmUKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEVOSDogdHJ5IHRvIGJ5cGFzcyBNaWNyb3NvZnQKCSAgYXNzZXJ0KCkgb24gaXNzcGFjZSwgaXNhbHBoYSwgZXRjLgoKMjAwNi0wNC0xOCAxMTo0NSAga2luZwoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgVGVtcGxhdGVzL0RMTEhlYWRlci5kc3B0ZW1wbGF0ZSwgVGVtcGxhdGVzL0VYRUhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVtcGxhdGVzL0VYRVdpbkhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVtcGxhdGVzL3N0YXRpY0xpYkhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OiBFTkg6IFVwZGF0ZWQgVlM2IGdlbmVyYXRvcgoJICB0byB1c2UgdGFyZ2V0LkdldEZ1bGxOYW1lKCkgdG8gY29tcHV0ZSB0YXJnZXQgZmlsZSBuYW1lcy4KCjIwMDYtMDQtMTggMTA6NTYgIGtpbmcKCgkqIFNvdXJjZS86IGNtU2V0VGFyZ2V0UHJvcGVydGllc0NvbW1hbmQuaCwgY21UYXJnZXQuY3h4OiBFTkg6IEFkZGVkCgkgIDxjb25maWc+X09VVFBVVF9OQU1FIHRhcmdldCBwcm9wZXJ0eSB0byBhbGxvdyB0aGUgb3V0cHV0IG5hbWUgdG8KCSAgYmUgc2V0IG9uIGEgcGVyLWNvbmZpZ3VyYXRpb24gYmFzaXMuCgoyMDA2LTA0LTE4IDEwOjMyICBhbmR5CgoJKiBEb2NzLzogY21ha2UtaW5kZW50LnZpbSwgY21ha2Utc3ludGF4LnZpbTogRU5IOiBDbGVhbnVwIGhlYWRlcgoJICBhbmQgbWFrZSBsaWNlbnNlIGNvbXBhdGlibGUgd2l0aCBWSU0KCjIwMDYtMDQtMTggMTA6MzIgIGFuZHkKCgkqIFNvdXJjZS9DUGFjay86IGNtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmN4eCwKCSAgY21DUGFja1NUR1pHZW5lcmF0b3IuY3h4OiBFTkg6IFJlbW92ZSBzb21lIGRlYnVnZ2luZwoKMjAwNi0wNC0xOCAxMDozMCAga2luZwoKCSogU291cmNlLzogY21GaWxlQ29tbWFuZC5jeHgsIGNtSW5zdGFsbENvbW1hbmQuaDogQlVHOiBVc2luZyB0aGUKCSAgc291cmNlLWZpbGUgcGVybWlzc2lvbnMgYnkgZGVmYXVsdCBmb3IgaW5zdGFsbGF0aW9uIGlzIHNvbWV3aGF0CgkgIHVucHJlZGljdGFibGUgYmVjYXVzZSB1c2VycyBjYW4gZXh0cmFjdCBzb3VyY2UgY29kZSB3aXRoIGFsbW9zdAoJICBhbnkgcGVybWlzc2lvbnMgKHVtYXNrKS4gIENoYW5naW5nIHRoZSBkZWZhdWx0IHRvIHVzZSA2NDQgZm9yCgkgIGZpbGVzIGFuZCA3NTUgZm9yIHByb2dyYW1zLiAgTm8gcmVsZWFzZSBoYXMgZG9jdW1lbnRlZCB0aGUgb2xkCgkgIGJlaGF2aW9yIHNvIHdlIGRvIG5vdCBuZWVkIGNvbXBhdGliaWxpdHkuCgoyMDA2LTA0LTE4IDEwOjI3ICBraW5nCgoJKiBTb3VyY2UvY21JZkNvbW1hbmQuaDogQlVHOiBGaXhlZCBtaXNzaW5nIGZhbHNlIHZhbHVlcyBpbgoJICBkb2N1bWVudGF0aW9uIG9mIElGIGNvbW1hbmQuCgoyMDA2LTA0LTE4IDEwOjAxICBraW5nCgoJKiBNb2R1bGVzL0NQYWNrLmNtYWtlOiBCVUc6IE5lZWQgdG8gaWdub3JlIHNvdXJjZSBwYWNrYWdpbmcgb2YgIyojCgkgIGZpbGVzIGNyZWF0ZWQgYnkgZW1hY3MgZHVyaW5nIGVkaXRpbmcuCgoyMDA2LTA0LTE4IDA5OjI0ICBhbmR5CgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja1NUR1pHZW5lcmF0b3IuY3h4OiBDT01QOiBSZW1vdmUgbm9uLWV4aXN0ZW50CgkgIGhlYWRlcgoKMjAwNi0wNC0xOCAwODoyNSAgYW5keQoKCSogTW9kdWxlcy9DUGFjay5TVEdaX0hlYWRlci5zaC5pbiwgU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuaCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tTVEdaR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tTVEdaR2VuZXJhdG9yLmgsIFNvdXJjZS9DUGFjay9jcGFjay5jeHg6IEVOSDoKCSAgTW9yZSBjbGVhbnVwcyBhbmQgYWRkIHN0Z3ogaGVhZGVyIHNjcmlwdCwgc28gaXQgZG9lcyBub3QgaGF2ZSB0bwoJICBiZSBoYXJkLWNvZGVkLiBBbHNvLCB0aGUgdXNlciBjYW4gb3ZlcndyaXRlIGl0CgoyMDA2LTA0LTE4IDA4OjE3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDQtMTcgMTk6MDIgIGFuZHkKCgkqIGJvb3RzdHJhcDogRU5IOiBGaXggY29weXJpZ2h0IHllYXIKCjIwMDYtMDQtMTcgMTg6MTAgIGhvZmZtYW4KCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4OiBFTkg6IHJlbW92ZQoJICBkdXBsaWNhdGUgZmlsZSBuYW1lIHRlc3QgYmVjYXVzZSBpdCBmYWlscyBvbiB4Y29kZQoKMjAwNi0wNC0xNyAxNjowNiAgYW5keQoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogQlVHOiBWZXJpZnkgdGhlIGdsb2JhbCB0YXJnZXQgbmFtZQoJICBleGlzdHMgYmVmb3JlIHVzaW5nIGl0LiBGaXhlcyBWUyBhbmQgWGNvZGUKCjIwMDYtMDQtMTcgMTU6NTUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFgxMS5jbWFrZTogRU5IOiBmaXggZmluZCB4MTEgb24gdGhlIG1hYwoKMjAwNi0wNC0xNyAxNTozNSAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBFTkg6IGZpeCBqYXZhIGZvciBpZGUgYnVpbGRzIGFnYWluCgoyMDA2LTA0LTE3IDE1OjI2ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oOiBFTkg6IEFkZCBwYWNrYWdpbmcgb2Ygc291cmNlCgkgIGNvZGUgKG1ha2UgcGFja2FnZV9zb3VyY2UpCgoyMDA2LTA0LTE3IDE0OjEzICBtYWxhdGVycmUKCgkqIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dDogQ09NUDogRml4IGNvbXBpbGF0aW9uIG9uIGxpbnV4CgkgIChkbG9wZW4vZGxjbG9zZSBzeW1ib2xzKQoKMjAwNi0wNC0xNyAxNDowMCAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZUphdmFJbmZvcm1hdGlvbi5jbWFrZSwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHg6IEVOSDogZml4IGphdmEgYW5kIGFkZAoJICBPQkpFQ1RfRElSIHN1cHBvcnQKCjIwMDYtMDQtMTcgMTM6NTkgIGhvZmZtYW4KCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXgvRXhlY3V0YWJsZS9TdWIxL05hbWVDb25mbGljdFRlc3QuYywKCSAgQ29tcGxleC9FeGVjdXRhYmxlL1N1YjIvTmFtZUNvbmZsaWN0VGVzdC5jLAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL1N1YjEvTmFtZUNvbmZsaWN0VGVzdC5jLAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvU3ViMi9OYW1lQ29uZmxpY3RUZXN0LmMsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvU3ViMS9OYW1lQ29uZmxpY3RUZXN0LmMsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvU3ViMi9OYW1lQ29uZmxpY3RUZXN0LmM6IEVOSDoKCSAgYWxsb3cgbXVsdGlwbGUgZmlsZXMgd2l0aCB0aGUgc2FtZSBuYW1lIGluIGRpZmZlcmVudCBzdWIgZGlycwoJICB0ZXN0CgoyMDA2LTA0LTE3IDEzOjU4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBFTkg6IGFsbG93IG11bHRpcGxlCgkgIGZpbGVzIHdpdGggdGhlIHNhbWUgbmFtZSBpbiBkaWZmZXJlbnQgc3ViZGlycwoKMjAwNi0wNC0xNyAxMzo1NyAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlOiBFTkg6IGFkZCBtaW5ndyB0ZXN0IHRvCgkgIGN4eAoKMjAwNi0wNC0xNyAxMzo1NyAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWdjYy5jbWFrZTogRU5IOiBhZGQgd2luZG93cyBhcHBzIHRvCgkgIG1pbmd3CgoyMDA2LTA0LTE3IDA3OjU2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDQtMTYgMTM6NDkgIGFuZHkKCgkqIERvY3MvY21ha2Utc3ludGF4LnZpbTogRU5IOiBDbGVhbnVwLCBtYWtlIGNhc2UgaW5zZW5zaXRpdmUsCgkgIHJlbW92ZSBtYWNybyBzaW5jZSBpdCBkb2VzIG5vdCB3b3JrIGFueXdheQoKMjAwNi0wNC0xNiAwODowOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA0LTE1IDEzOjAyICBhbmR5CgoJKiBNb2R1bGVzL0NQYWNrLmNtYWtlLCBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuaCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tOU0lTR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tOU0lTR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrUGFja2FnZU1ha2VyR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tQYWNrYWdlTWFrZXJHZW5lcmF0b3IuaCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tTVEdaR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tTVEdaR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrVEdaR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tUR1pHZW5lcmF0b3IuaCwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2taSVBHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja1pJUEdlbmVyYXRvci5oOiBFTkg6IFN1cHBvcnQgZm9yIHBhY2thZ2luZwoJICBzb3VyY2UsIHNldmVyYWwgY2xlYW51cHMgYW5kIG1vcmUgeWVlaGFhLi4uCgoyMDA2LTA0LTE1IDA4OjEyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDQtMTQgMTU6MDggIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFgxMS5jbWFrZTogRU5IOiBtYWtlIHN1cmUgZnJhbWV3b3JrcyBhcmUgbm90IHNlYXJjaGVkCgkgIGZvciB4IGhlYWRlciBmaWxlcwoKMjAwNi0wNC0xNCAwOToxMyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA0LTE0IDA5OjAyICBob2ZmbWFuCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogZml4IHN5bnRheAoKMjAwNi0wNC0xNCAwODo1OCAgYW5keQoKCSogTW9kdWxlcy9DUGFjay5jbWFrZSwgU291cmNlL0NQYWNrL2NtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmN4eCwKCSAgVGVtcGxhdGVzL0NQYWNrQ29uZmlnLmNtYWtlLmluOiBFTkg6IFN0YXJ0IGFkZGluZyBzdXBwb3J0IGZvcgoJICBwYWNrYWdpbmcgY29tcG9uZW50IGFuZCB0byBwYWNrYWdlIGludG8gYSBzdWJkaXJlY3RvcnkKCjIwMDYtMDQtMTQgMDg6NDQgIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBtYWtlIHN1cmUgY21ha2UgY2FuIGJlIGJ1aWx0IHdpdGggYW4KCSAgb2xkZXIgdmVyc2lvbiBvZiBjbWFrZQoKMjAwNi0wNC0xMyAyMzoyNCAgaG9mZm1hbgoKCSogU291cmNlL2NtRmluZFByb2dyYW1Db21tYW5kLmN4eDogRU5IOiBmaXggd2FybmluZwoKMjAwNi0wNC0xMyAyMzoxNSAgaG9mZm1hbgoKCSogU291cmNlLzogY21Eb2N1bWVudGF0aW9uLmN4eCwgY21Eb2N1bWVudGF0aW9uLmgsIGNtYWtlbWFpbi5jeHg6CgkgIEVOSDogc2VhcmNoIGZvciBoZWxwIG1vZHVsZXMgaW4gdGhlIGNvcnJlY3QgcGxhY2UgZm9yIGluc3RhbGwgYW5kCgkgIHNvdXJjZSB0cmVlIGJ1aWxkcwoKMjAwNi0wNC0xMyAyMjo1NyAga2luZwoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4OiBCVUc6IEZpeGVkIGluc3RhbGwgcnVsZXMgdG8gdXNlCgkgIGNvcHktaWYtZGlmZmVyZW50LgoKMjAwNi0wNC0xMyAyMjo1NiAga2luZwoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogRU5IOiBJbXByb3ZlZCBpbXBsZW1lbnRhdGlvbiBvZgoJICBGaWxlc0RpZmZlciB0byBhdm9pZCBhbGxvY2F0aW5nIGVub3VnaCBtZW1vcnkgZm9yIHRoZSBlbnRpcmUgZmlsZQoJICB0d2ljZS4gIEluc3RlYWQgdXNpbmcgYSBibG9jay1hdC1hLXRpbWUgY29tcGFyaXNvbi4KCjIwMDYtMDQtMTMgMTU6MjggIGtpbmcKCgkqIFRlc3RzL0N1c3RvbUNvbW1hbmQvd3JhcHBlci5jeHg6IENPTVA6IERvIG5vdCB1c2UgQU5TSSBmdW5jdGlvbgoJICBwcm90b3R5cGVzIHRvIHBhY2lmeSBIUC4KCjIwMDYtMDQtMTMgMTE6MDAgIGhvZmZtYW4KCgkqIGJvb3RzdHJhcCwgTW9kdWxlcy9QbGF0Zm9ybS9EYXJ3aW4uY21ha2UsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL2NtRmluZEJhc2UuY3h4LCBTb3VyY2UvY21GaW5kQmFzZS5oLAoJICBTb3VyY2UvY21GaW5kUHJvZ3JhbUNvbW1hbmQuY3h4LCBTb3VyY2UvY21GaW5kUHJvZ3JhbUNvbW1hbmQuaCwKCSAgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eCwgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmh4eC5pbjoKCSAgRU5IOiBhZGQgcGF0Y2ggZm9yIGZpbmRpbmcgYXBwbGljYXRpb25zIG9uIE9TWAoKMjAwNi0wNC0xMyAxMDoxNSAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsCgkgIGNtR2xvYmFsV2F0Y29tV01ha2VHZW5lcmF0b3IuY3h4LCBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eDoKCSAgQlVHOiBXb3JrLWFyb3VuZCBXYXRjb20gV01ha2UgbGltaXRhdGlvbiBmb3IgbXVsdGlwbGUtb3V0cHV0CgkgIGN1c3RvbSBjb21tYW5kIHN1cHBvcnQuCgoyMDA2LTA0LTEzIDA4OjAyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDQtMTIgMjI6MDQgIGtpbmcKCgkqIFNvdXJjZS9jbUluc3RhbGxDb21tYW5kLmN4eCwgU291cmNlL2NtSW5zdGFsbENvbW1hbmQuaCwKCSAgU291cmNlL2NtSW5zdGFsbFNjcmlwdEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUluc3RhbGxTY3JpcHRHZW5lcmF0b3IuaCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbC9JbnN0YWxsU2NyaXB0MS5jbWFrZSwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbC9JbnN0YWxsU2NyaXB0Mi5jbWFrZSwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvSW5zdGFsbFNjcmlwdDEuY21ha2UsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9JbnN0YWxsU2NyaXB0Mi5jbWFrZTogRU5IOiBBZGRlZAoJICBJTlNUQUxMKENPREUpIG1vZGUgdG8gYWxsb3cgaW5saW5lIHNwZWNpZmljYXRpb24gb2YgaW5zdGFsbAoJICBzY3JpcHQgY29kZS4JVGhpcyByZWR1Y2VzIHRoZSBuZWVkIGZvciBjb25maWd1cmluZyBhbiBpbnN0YWxsCgkgIHNjcmlwdCB0aGF0IG5lZWRzIHNvbWUgdmFyaWFibGUgc2V0dGluZ3MgYmVjYXVzZSB0aGUgaW5zdGFsbCBjb2RlCgkgIGNhbiBzZXQgdGhpbmcgdXAgZmlyc3QuCgoyMDA2LTA0LTEyIDIxOjI0ICBhbmR5CgoJKiBEb2NzL2NtYWtlLWluZGVudC52aW06IEVOSDogVW5pZnkgdGhlIGNvbW1lbnQKCjIwMDYtMDQtMTIgMjE6MjAgIGFuZHkKCgkqIERvY3MvY21ha2Utc3ludGF4LnZpbTogRU5IOiBNb3JlIHN5c3RlbSB2YXJpYWJsZXMsIG1vcmUKCSAgb3BlcmF0b3JzLCBtb3JlIGNvbW1hbmRzLCBmaXggc29tZSBzdHJpbmcgaXNzdWVzIGFuZCBzb21lIGNtYWtlCgkgIGFyZ3VtZW50cyBpc3N1ZXMKCjIwMDYtMDQtMTIgMTU6MjMgIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBsYW5nIGJ5IGN1c3RvbSBjb21tYW5kIGRvZXMgbm90IHlldAoJICB3b3JrIGZvciBYY29kZQoKMjAwNi0wNC0xMiAxMTo1NiAgbWFydGluawoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogQ09NUDogZml4IHdhcm5pbmcKCjIwMDYtMDQtMTIgMTE6MzYgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5oOiBFTkg6IGZpeCBjb21waWxlIGlzc3VlIG9uIEhQCgkgIGhvcGVmdWxseQoKMjAwNi0wNC0xMiAwOToxMiAgaG9mZm1hbgoKCSogU291cmNlL2NtRG9jdW1lbnRhdGlvbi5jeHg6IEVOSDogY2FzZSBpbnNlbnNpdGl2ZSBjb21tYW5kIGhlbHAKCjIwMDYtMDQtMTIgMDg6MTUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNC0xMSAyMjozOSAgaG9mZm1hbgoKCSogU291cmNlL2NtYWtlLmN4eDogRU5IOiBhZGQgbW9yZSB2ZXJib3NlIG91dHB1dCBpbiB2ZXJib3NlIG1vZGUKCjIwMDYtMDQtMTEgMjI6MzkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogRU5IOiBmaXggcmUtcnVuIG9mIGNtYWtlIGJhc2VkIG9uCgkgIGNvbmZpZ3VyZWQgZmlsZXMgdGhhdCBhcmUgZG9uZSB3aXRoIGNvcHkgaWYgZGlmZmVyZW50IGFuZCBuZXZlcgoJICBjaGFuZ2UKCjIwMDYtMDQtMTEgMTc6MTEgIGhvZmZtYW4KCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUxvY2FsR2VuZXJhdG9yLmN4eDogRU5IOiBlbmFibGUgdGVzdAoJICBmb3IgamF2YSB3aXRoIElERSBidWlsZHMKCjIwMDYtMDQtMTEgMTY6NTUgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VDSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VDWFhJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUZvcnRyYW5JbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWJjYzMyLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1pY2wuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1pZm9ydC5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLXdjbDM4Ni5jbWFrZSwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBFTkg6IFNwbGl0CgkgIENNQUtFX1NUQU5EQVJEX0xJQlJBUklFUyBpbnRvIHBlci1sYW5ndWFnZSB2YXJpYWJsZXMKCSAgQ01BS0VfPGxhbmc+X1NUQU5EQVJEX0xJQlJBUklFUy4gIFRoaXMgaXMgbmVlZGVkIHRvIGdldAoJICBwcm9ncmFtbWFibGUgbGFuZ3VhZ2Ugc3VwcG9ydCB3b3JraW5nIHdpdGggVmlzdWFsIFN0dWRpbwoJICBnZW5lcmF0b3JzLiAgSXQgbWFrZXMgc2Vuc2UgYW55d2F5LgoKMjAwNi0wNC0xMSAxNDo1NCAga2luZwoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBVc2UgZmxhZy1tYXAKCSAgdHJhbnNmb3JtIG9ubHkgZm9yIEMgYW5kIEMrKyBmbGFncy4KCjIwMDYtMDQtMTEgMTQ6NTMgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogRU5IOiBSZXN0b3JlZCBpbXBsZW1lbnRhdGlvbiBvZgoJICBBZGRDdXN0b21Db21tYW5kVG9DcmVhdGVPYmplY3QuICBVcGRhdGVkIGl0IHRvIHVzZSBuZXdlciBjdXN0b20KCSAgY29tbWFuZCBmdW5jdGlvbmFsaXR5LgoKMjAwNi0wNC0xMSAxMzozMiAga2luZwoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBCVUc6IEluc3RhbGwgc2NyaXB0cyBzaG91bGQgaG9ub3IKCSAgRVhDTFVERV9GUk9NX0FMTCBvcHRpb25zIGZvciBzdWJkaXJlY3Rvcmllcy4JVGhpcyBhZGRyZXNzZXMKCSAgYnVnIzMxMDAuCgoyMDA2LTA0LTExIDEyOjUxICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaDoKCSAgRU5IOiBzb21lIHBlcmZvcm1hbmNlIG9wdGltaXphdGlvbnMKCjIwMDYtMDQtMTEgMTE6NDAgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogQlVHOiBEbyBub3QgYWRkIG5vbi1wZXItY29uZmlnCgkgIHN1YmRpcmVjdG9yeSBuYW1lIG9mIGNtYWtlIHRhcmdldCBsaWJyYXJpZXMgYXMgZnVsbCBwYXRoIGxpYnMuCgoyMDA2LTA0LTExIDExOjA2ICBraW5nCgoJKiBTb3VyY2UvY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUFkZEN1c3RvbUNvbW1hbmRDb21tYW5kLmgsIFNvdXJjZS9jbUN1c3RvbUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21DdXN0b21Db21tYW5kLmgsIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZS5oLCBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbWFrZS5jeHgsIFRlc3RzL0N1c3RvbUNvbW1hbmQvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0N1c3RvbUNvbW1hbmQvd3JhcHBlci5jeHg6IEVOSDogQWRkZWQgc3VwcG9ydCBmb3IgbXVsdGlwbGUKCSAgb3V0cHV0cyBnZW5lcmF0ZWQgYnkgYSBzaW5nbGUgY3VzdG9tIGNvbW1hbmQuICBGb3IgVmlzdWFsIFN0dWRpbwoJICBnZW5lcmF0b3JzIHRoZSBuYXRpdmUgdG9vbCBwcm92aWRlcyBzdXBwb3J0LglGb3IgWGNvZGUgYW5kCgkgIE1ha2VmaWxlIGdlbmVyYXRvcnMgYSBzaW1wbGUgdHJpY2sgaXMgdXNlZC4gIFRoZSBmaXJzdCBvdXRwdXQgaXMKCSAgY29uc2lkZXJlZCBwcmltYXJ5IGFuZCBoYXMgdGhlIGJ1aWxkIHJ1bGUgYXR0YWNoZWQuICBPdGhlcgoJICBvdXRwdXRzIHNpbXBseSBkZXBlbmQgb24gdGhlIGZpcnN0IG91dHB1dCB3aXRoIG5vIGJ1aWxkIHJ1bGUuCgkgIER1cmluZyBjbWFrZV9jaGVja19idWlsZF9zeXN0ZW0gQ01ha2UgZGV0ZWN0cyB3aGVuIGEgc2Vjb25kYXJ5CgkgIG91dHB1dCBpcyBtaXNzaW5nIGFuZCByZW1vdmVzIHRoZSBwcmltYXJ5IG91dHB1dCB0byBtYWtlIHN1cmUgYWxsCgkgIG91dHB1dHMgYXJlIHJlZ2VuZXJhdGVkLiAgVGhpcyBhcHByb2FjaCBhbHdheXMgYnVpbGRzIHRoZSBjdXN0b20KCSAgY29tbWFuZCBhdCB0aGUgcmlnaHQgdGltZSBhbmQgb25seSBvbmNlIGV2ZW4gZHVyaW5nIHBhcmFsbGVsCgkgIGJ1aWxkcy4KCjIwMDYtMDQtMTEgMTA6MDQgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmg6IEJVRzogRml4ZWQgdHlwbyBpbiBuZXcgY21ha2UtcmVydW4gY29kZS4KCjIwMDYtMDQtMTEgMDg6NTYgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogQlVHOiBUaGUgZmFzdCBtb2RlIHNob3VsZCBub3QgcmVhZAoJICBDVGVzdEN1c3RvbS5jdGVzdCBmaWxlcwoKMjAwNi0wNC0xMSAwODoxNiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA0LTEwIDEzOjUyICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LCBjbU1ha2VmaWxlLmN4eCwKCSAgY21NYWtlZmlsZS5oOiBFTkg6IGFkZCBzdXBwb3J0IGZvciByZS1ydW5uaW5nIGNtYWtlIGlmIHRoZQoJICBjbWFrZWZpbGVzIGNoYW5nZQoKMjAwNi0wNC0xMCAxMzo1MiAgaG9mZm1hbgoKCSogVGVzdHMvOiBTaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBTaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEVOSDogYWRkIHRlc3QgZm9yIG1mYwoKMjAwNi0wNC0xMCAxMzo0NyAgaG9mZm1hbgoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4OiBFTkg6IGhhbmRsZSBzaW5nbGUgcGF0aAoKMjAwNi0wNC0xMCAxMzo0NiAgaG9mZm1hbgoKCSogTW9kdWxlcy86IENNYWtlVlM2RmluZE1ha2UuY21ha2UsIENNYWtlVlM3MUZpbmRNYWtlLmNtYWtlLAoJICBDTWFrZVZTN0ZpbmRNYWtlLmNtYWtlLCBDTWFrZVZTOEZpbmRNYWtlLmNtYWtlLAoJICBJbnN0YWxsUmVxdWlyZWRTeXN0ZW1MaWJyYXJpZXMuY21ha2U6IEVOSDogYWRkIGNvcnJlY3QgZmxhZ3MgZm9yCgkgIG1zdmMgZ2VuZXJhdG9ycwoKMjAwNi0wNC0xMCAxMzo0NCAgYW5keQoKCSogTW9kdWxlcy9DUGFjay5jbWFrZSwgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jdGVzdC5jeHgsIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5jeHg6IEVOSDoKCSAgQWRkIHN1cHBvcnQgZm9yIHByZWluc3RhbGwgZm9yIGNtYWtlIGdlbmVyYXRlZCBwcm9qZWN0cyB3aGVuCgkgIHBhY2thZ2luZyB0aGVtCgoyMDA2LTA0LTEwIDExOjM5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEVOSDogZml4IHNvIGFsbCBjb25maWd1cmF0aW9ucwoJICBzaG93IHVwCgoyMDA2LTA0LTEwIDExOjA5ICBhbmR5CgoJKiBNb2R1bGVzL0NQYWNrLmNtYWtlLCBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4OgoJICBFTkg6IERlcHJlY2F0ZSBDUEFDS19CSU5BUllfRElSIGFuZCBhZGQKCSAgQ1BBQ0tfSU5TVEFMTF9DTUFLRV9QUk9KRUNUUwoKMjAwNi0wNC0xMCAwOTozNiAgYW5keQoKCSogQ1Rlc3RDdXN0b20uY3Rlc3QuaW46IEVOSDogU29tZSBjdGVzdCBjdXN0b20gZml4ZXMKCjIwMDYtMDQtMTAgMDg6MTAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNC0wOSAwODoxNSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA0LTA5IDA3OjQ1ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21DVGVzdC5oLCBDVGVzdC9jbUNUZXN0QnVpbGRIYW5kbGVyLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdFJlYWRDdXN0b21GaWxlc0NvbW1hbmQuY3h4OiBCVUc6IEltcHJvdmUgdGhlCgkgIGJlaGF2aW9yIG9mIHRoZSBSZWFkQ3VzdG9tRmlsZXNDb21tYW5kCgoyMDA2LTA0LTA4IDE0OjE1ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUxvY2FsS2RldmVsb3BHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmg6IEVOSDogbWFrZSBzdXJlIHZlcmJvc2Ugb3V0cHV0IGlzCgkgIHVzZWQgZm9yIGtkZQoKMjAwNi0wNC0wOCAwODoyMyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA0LTA3IDE2OjQ2ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtLzogV2luZG93cy1jbC5jbWFrZSwgV2luZG93cy1jbC5jbWFrZS5pbjogRU5IOgoJICBhZGQgYmV0dGVyIHZhcmlhYmxlcyBmb3IgTVNWQyB2ZXJzaW9ucwoKMjAwNi0wNC0wNyAxNjozNSAgYW5keQoKCSogTW9kdWxlcy9DUGFjay5jbWFrZTogRU5IOiBBbGxvdyB0byBvdmVyd3JpdGUgQ1BBQ0tfQklOQVJZX0RJUgoKMjAwNi0wNC0wNyAwNzo0MCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA0LTA2IDA3OjM5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDQtMDUgMTE6MDcgIGtpbmcKCgkqIFNvdXJjZS9jbU9yZGVyTGlua0RpcmVjdG9yaWVzLmN4eDogQ09NUDogTW92ZWQgdmFyIGRlY2wgb3V0IG9mCgkgIF9XSU4zMiBibG9jay4KCjIwMDYtMDQtMDUgMTE6MDUgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBjbU9yZGVyTGlua0RpcmVjdG9yaWVzLmN4eDogQlVHOgoJICBGaXhlZCBjbU9yZGVyTGlua0RpcmVjdG9yaWVzIHRvIGRlYWwgd2l0aCByYXcgbGluayBpdGVtcyB0aGF0IGRvCgkgIG5vdCB5ZXQgZXhpc3QgYW5kIGNvcnJlY3QgZHJpdmUgbGV0dGVyIGNhc2UgdG8gYXZvaWQgZHVwbGljYXRlCgkgIHBhdGhzIG9uIHdpbmRvd3MuICBGaXhlZCBjbUxvY2FsR2VuZXJhdG9yIHRvIHBhc3MgQ01ha2UgdGFyZ2V0cwoJICBhcyBmdWxsIHBhdGhzIHRvIGNtT3JkZXJMaW5rRGlyZWN0b3JpZXMgdG8gbWFrZSBzdXJlIHRoZSBvcmRlcmluZwoJICB3aWxsIHBpY2sgdXAgdGhlIHByb3BlciB0YXJnZXQgbGlicmFyaWVzLgoKMjAwNi0wNC0wNSAwNzo0NiAgaG9mZm1hbgoKCSogU291cmNlLzogY21GaWxlQ29tbWFuZC5jeHgsIGNtRmlsZUNvbW1hbmQuaDogRU5IOiBhZGQgcGF0aAoJICBjb252ZXJzaW9uIHN0dWZmIGFuZCBybSBTWVNURU1fUEFUSAoKMjAwNi0wNC0wNSAwNzozMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA0LTA0IDE3OjI3ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlVlM4RmluZE1ha2UuY21ha2U6IEVOSDogYWRkIHNlYXJjaCBkaXJlY3RvcmllcyBmb3IKCSAgMzIgYml0IGRldmVudiBmcm9tIGEgNjRiaXQgY21ha2UKCjIwMDYtMDQtMDQgMTc6MTQgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogQlVHOiBSZW1vdmluZyBwYXJ0IG9mIGVhcmxpZXIgZml4CgkgIGJlY2F1c2UgaXQgZG9lcyBub3Qgd29yayB3aXRoIFZTIGdlbmVyYXRvcnMuCUl0IG1heSBiZSByZXN0b3JlZAoJICBsYXRlciBhZnRlciBjbU9yZGVyTGlua0RpcnMgaXMgZnVydGhlciBmaXhlZC4KCjIwMDYtMDQtMDQgMTQ6NTMgIGtpbmcKCgkqIFNvdXJjZS9jbVNldFRhcmdldFByb3BlcnRpZXNDb21tYW5kLmg6IEVOSDogQWRkZWQgZG9jdW1lbnRhdGlvbgoJICBmb3IgQ09NUElMRV9GTEFHUyBwcm9wZXJ0eSBhbmQgY2xhcmlmaWVkIG1lYW5pbmcgb2YKCSAgREVGSU5FX1NZTUJPTC4KCjIwMDYtMDQtMDQgMTQ6MjUgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtT3JkZXJMaW5rRGlyZWN0b3JpZXMuY3h4LAoJICBTb3VyY2UvY21PcmRlckxpbmtEaXJlY3Rvcmllcy5oLAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogQlVHOiBGaXhlZAoJICBjbU9yZGVyTGlua0RpcmVjdG9yaWVzIHRvIG1ha2Ugc3VyZSBjbWFrZS1idWlsdCBsaWJyYXJpZXMgYXJlCgkgIGZvdW5kIHByb3Blcmx5LiAgQWxzbyB0YWtpbmcgbGlicmFyaWVzIHRoYXQgd2lsbCBiZSBidWlsdCBidXQgbWF5CgkgIG5vdCB5ZXQgZXhpc3QgaW50byBhY2NvdW50LiAgVGhlIHBlci1jb25maWd1cmF0aW9uIHN1YmRpcmVjdG9yaWVzCgkgIHRoYXQgYXJlIGluY2x1ZGVkIGJ5IGdlbmVyYXRvcnMgaW4gdGhlIGxpbmsgcGF0aCBhcmUgY2hlY2tlZCBmb3IKCSAgY29uZmxpY3RpbmcgbGlicmFyaWVzIGFsc28uICBQb3RlbnRpYWxseSBjb25mbGljdGluZyBsaWJyYXJpZXMKCSAgdGhhdCBhcmUgYWN0dWFsbHkgc3ltbGlua3MgYmFjayB0byB0aGUgZGVzaXJlZCBsaWJyYXJ5IGFyZSBubwoJICBsb25nZXIgY29uc2lkZXJlZCBjb25mbGljdGluZywgd2hpY2ggYXZvaWRzIGJvZ3VzIGltcG9zc2libGUKCSAgb3JkZXJpbmcgd2FybmluZ3MuCgoyMDA2LTA0LTA0IDE0OjI1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21ha2V4YnVpbGQuY3h4OiBCVUc6IGNvbXBpbGVyIGZpeAoKMjAwNi0wNC0wNCAxMzowNCAgbWFydGluawoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaCwgY21Gb3JFYWNoQ29tbWFuZC5jeHgsCgkgIGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmgsIGNtYWtleGJ1aWxkLmN4eCwgY3Rlc3QuY3h4LAoJICBDVGVzdC9jbUNUZXN0UnVuU2NyaXB0Q29tbWFuZC5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RSdW5TY3JpcHRDb21tYW5kLmgsIENUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdFNjcmlwdEhhbmRsZXIuaDogRU5IOiBhZGRlZCBzdXBwb3J0IGZvciAtU1Agc2NyaXB0cwoJICBpbiBuZXcgcHJvY2Vzc2VzCgoyMDA2LTA0LTA0IDExOjUyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21PcmRlckxpbmtEaXJlY3Rvcmllcy5jeHgsCgkgIFNvdXJjZS9jbU9yZGVyTGlua0RpcmVjdG9yaWVzLmgsCgkgIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4OiBFTkg6IGNoYW5nZQoJICBsaWJyYXJ5IG9yZGVyIHRvIHVzZSBhIHZlY3RvcgoKMjAwNi0wNC0wNCAxMTo0OCAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5oLAoJICBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5oLCBjbVRhcmdldC5oOiBFTkg6IEFkZGVkCgkgIGdsb2JhbCBUYXJnZXRNYW5pZmVzdCBjb21wdXRhdGlvbiBiZXR3ZWVuIENvbmZpZ3VyZSBhbmQgR2VuZXJhdGUKCSAgc3RlcHMuICBUaGlzIGFsbG93cyBnZW5lcmF0b3JzIHRvIGtub3cgd2hhdCBvdGhlciB0YXJnZXRzIHdpbGwKCSAgZXhpc3Qgb24gZGlzayB3aGVuIHRoZSBidWlsZCBjb21wbGV0ZXMuCgoyMDA2LTA0LTA0IDA5OjM1ICBraW5nCgoJKiBTb3VyY2UvOiBjbUluY2x1ZGVEaXJlY3RvcnlDb21tYW5kLmN4eCwKCSAgY21JbmNsdWRlRGlyZWN0b3J5Q29tbWFuZC5oOiBFTkg6IElOQ0xVREVfRElSRUNUT1JJRVMgc2hvdWxkIGhhdmUKCSAgYmVlbiB3cml0dGVuIHRvIHByZXBlbmQgdG8gdGhlIGluY2x1ZGUgcGF0aCBzbyB0aGF0IHRoZSBtb3N0CgkgIGxvY2FsIGRpcmVjdG9yaWVzIGFyZSBpbmNsdWRlZCBmaXJzdC4gIFRoaXMgaXMgYSBwYXRjaCBmcm9tIEFsZXgKCSAgdG8gcmVzb2x2ZSB0aGUgcHJvYmxlbSBieSBhbGxvd2luZyB1c2VycyB0byBzd2l0Y2ggdGhlIGRlZmF1bHQKCSAgdXNpbmcgYSB2YXJpYWJsZSBDTUFLRV9JTkNMVURFX0RJUkVDVE9SSUVTX0JFRk9SRSBhbmQgdGhlbiBzdGlsbAoJICBleHBsaWNpdGx5IGFwcGVuZGluZyBvciBwcmVwZW5kaW5nIGJ5IHVzaW5nIEFGVEVSIG9yIEJFRk9SRQoJICBhcmd1bWVudHMgZXhwbGljaXRseS4KCjIwMDYtMDQtMDQgMDc6MzggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wNC0wMyAyMjowNSAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogRU5IOiB1c2UgY29ycmVjdCBhZGRjYWNoZSBjYWxsIHRvCgkgIGZpeCBidWlsZCB0b29scwoKMjAwNi0wNC0wMyAxNzo1NCAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBFTkg6IGZpeCBzcGFjZXMgaW4gcGF0aCBmb3IKCSAgeGNvZGUKCjIwMDYtMDQtMDMgMTY6MjAgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtSW5jbHVkZURpcmVjdG9yeUNvbW1hbmQuY3h4LAoJICBjbUxpbmtEaXJlY3Rvcmllc0NvbW1hbmQuY3h4OiBFTkg6IG1ha2Ugc3VyZSBpbmNsdWRlIGFuZCBsaWIgZGlycwoJICBhcmUgdW5peCBwYXRocwoKMjAwNi0wNC0wMyAxNTo1OSAgaG9mZm1hbgoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4OiBFTkg6IGZpeCB3YXJuaW5nLCBhbmQgcmVtb3ZlIGRlYnVnIGNvZGUKCjIwMDYtMDQtMDMgMTI6NTcgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtU2V0VGFyZ2V0UHJvcGVydGllc0NvbW1hbmQuaDogRU5IOiBhZGQgc3VwcG9ydCBmb3IgcGVyIGNvbmZpZwoJICB0YXJnZXQgTElOS19GTEFHUwoKMjAwNi0wNC0wMyAwNzozNyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA0LTAyIDExOjIwICBhbmR5CgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgQ1BhY2svY21DUGFja0dlbmVyYXRvcnMuY3h4LAoJICBDUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5jeHgsCgkgIENQYWNrL2NtQ1BhY2tOU0lTR2VuZXJhdG9yLmN4eCwKCSAgQ1BhY2svY21DUGFja1BhY2thZ2VNYWtlckdlbmVyYXRvci5jeHgsCgkgIENQYWNrL2NtQ1BhY2taSVBHZW5lcmF0b3IuY3h4LCBDUGFjay9jbUNQYWNrWklQR2VuZXJhdG9yLmgsCgkgIENQYWNrL2NwYWNrLmN4eDogRU5IOiBBZGQgWklQIGdlbmVyYXRvciBhbmQgYWRkIHN1cHBvcnQgZm9yCgkgIGluY2x1ZGluZyBvciBleGNsdWRpbmcgdGhlIHRvcGxldmVsIGRpcmVjdG9yeQoKMjAwNi0wNC0wMiAwODozNSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTA0LTAxIDA3OjM3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDMtMzEgMjE6NDMgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtT3JkZXJMaW5rRGlyZWN0b3JpZXMuY3h4LCBjbU9yZGVyTGlua0RpcmVjdG9yaWVzLmg6CgkgIEVOSDogZml4IHNwZWxsaW5nCgoyMDA2LTAzLTMxIDE3OjU5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21PcmRlckxpbmtEaXJlY3Rvcmllcy5jeHg6IEVOSDogZml4IGZvciBidWcgMzA2NyB0aGUKCSAgZmlyc3QgZnJhbWV3b3JrIGF0ZSB0aGUgcmVzdCBvZiB0aGUgbGlicmFyaWVzCgoyMDA2LTAzLTMxIDEzOjE3ICBob2ZmbWFuCgoJKiBib290c3RyYXAsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21UcnlDb21waWxlQ29tbWFuZC5jeHgsIFNvdXJjZS9jbWFrZW1haW4uY3h4LAoJICBTb3VyY2UvY21ha2V4YnVpbGQuY3h4OiBFTkg6IGFkZCBhIHdyYXBwZXIgZm9yIHhjb2RlYnVpbGQgdG8gZ2V0CgkgIGFyb3VuZCBidWcgYW5kIHZlcmJvc2Ugb3V0cHV0CgoyMDA2LTAzLTMxIDA4OjQ2ICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvY21jdXJsL2dldGRhdGUuYzogRU5IOiByZW1vdmUgYysrIGNvbW1lbnQgZnJvbSBjIGNvZGUKCjIwMDYtMDMtMzEgMDg6MTMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMy0zMCAyMzowMyAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL2NtdGFyL2FwcGVuZC5jOiBFTkg6IHJlbW92ZSB3YXJuaW5nCgoyMDA2LTAzLTMwIDE3OjI2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21ha2V4YnVpbGQuY3h4OiBFTkg6IGFkZCBwcm9ncmFtIHRvIHJ1biB4Y29kZWJ1aWxkIGFuZAoJICBnZXQgYXJvdW5kIGJ1ZwoKMjAwNi0wMy0zMCAxNjo1NSAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlOiBCVUc6IEZpeGVkIG9yZGVyIG9mIG9wdGlvbnMgdG8KCSAgY2wgZm9yIDMyLWJpdC82NC1iaXQgdGVzdCB0byB3b3JrIHdpdGggVlMgNiBOTWFrZS4KCjIwMDYtMDMtMzAgMTU6MzkgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5oLAoJICBjbUdsb2JhbEtkZXZlbG9wR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxNU1lTTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbE1pbkdXTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUdsb2JhbFdhdGNvbVdNYWtlR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLAoJICBjbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHg6IEVOSDogSW1wbGVtZW50ZWQgVlQxMDAgdGVybWluYWwKCSAgZXNjYXBlIHNlcXVlbmNlcy4gIElmIENNQUtFX0NPTE9SX01BS0VGSUxFIGlzIHNldCB0aGVuIG1lc3NhZ2VzCgkgIHByb2R1Y2VkIGJ5IG1ha2VmaWxlcyB3aWxsIGJlIGluIGNvbG9yIGlmIHRoZSBuYXRpdmUgdG9vbAoJICBzdXBwb3J0cyBpdC4JVGhpcyBhZGRyZXNzZXMgYnVnIzMwNjAuCgoyMDA2LTAzLTMwIDEzOjQ5ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZS5pbiwgU291cmNlL0NNYWtlTGlzdHMudHh0LAoJICBTb3VyY2UvY21Db21tYW5kQXJndW1lbnRQYXJzZXJIZWxwZXIuY3h4LAoJICBTb3VyY2UvY21EZXBlbmRzSmF2YVBhcnNlckhlbHBlci5jeHgsCgkgIFNvdXJjZS9jbUV4ZWN1dGVQcm9jZXNzQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzhHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzhXaW42NEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzhXaW42NEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21JZkNvbW1hbmQuY3h4LCBTb3VyY2UvY21MaXN0Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLCBTb3VyY2UvY21YTUxQYXJzZXIuY3h4LAoJICBTb3VyY2UvY21ha2UuY3h4LCBTb3VyY2UvQ1Rlc3QvY21DVGVzdEhhbmRsZXJDb21tYW5kLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RNZW1DaGVja0hhbmRsZXIuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN1Ym1pdEhhbmRsZXIuY3h4LAoJICBTb3VyY2Uva3dzeXMvQ29tbWFuZExpbmVBcmd1bWVudHMuY3h4LCBTb3VyY2Uva3dzeXMvR2xvYi5jeHgsCgkgIFNvdXJjZS9rd3N5cy9Qcm9jZXNzV2luMzIuYywgU291cmNlL2t3c3lzL1JlZ2lzdHJ5LmN4eCwKCSAgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eCwgU291cmNlL2t3c3lzL2hhc2h0YWJsZS5oeHguaW4sCgkgIFNvdXJjZS9rd3N5cy90ZXN0RHluYW1pY0xvYWRlci5jeHgsCgkgIFV0aWxpdGllcy9jbWN1cmwvQ01ha2VMaXN0cy50eHQsIFV0aWxpdGllcy9jbWN1cmwvZ2V0ZGF0ZS5jLAoJICBVdGlsaXRpZXMvY21jdXJsL2luZXRfcHRvbi5jLCBVdGlsaXRpZXMvY21jdXJsL21kNS5jLAoJICBVdGlsaXRpZXMvY21jdXJsL21wcmludGYuYywgVXRpbGl0aWVzL2NtdGFyL0NNYWtlTGlzdHMudHh0LAoJICBVdGlsaXRpZXMvY210YXIvYXBwZW5kLmMsIFV0aWxpdGllcy9jbXRhci9ibG9jay5jLAoJICBVdGlsaXRpZXMvY210YXIvZXh0cmFjdC5jLCBVdGlsaXRpZXMvY210YXIvaGFuZGxlLmMsCgkgIFV0aWxpdGllcy9jbXRhci9vdXRwdXQuYywgVXRpbGl0aWVzL2NtdGFyL2NvbXBhdC9zbnByaW50Zi5jOiBFTkg6CgkgIGFkZCBzdXBwb3J0IGZvciB3aW42NCBmb3IgdmlzdWFsIHN0dWRpbyAyMDA1IGlkZSBhbmQgbm1ha2UsIGFsc28KCSAgZml4IHdhcm5pbmdzIHByb2R1Y2VkIGJ5IGJ1aWxkaW5nIGZvciB3aW42NAoKMjAwNi0wMy0zMCAxMzozMyAga2luZwoKCSogU291cmNlLzogY21GaWxlQ29tbWFuZC5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxHZW5lcmF0b3IuaCwgY21JbnN0YWxsQ29tbWFuZC5jeHgsIGNtSW5zdGFsbENvbW1hbmQuaCwKCSAgY21JbnN0YWxsRmlsZXNHZW5lcmF0b3IuY3h4LCBjbUluc3RhbGxGaWxlc0dlbmVyYXRvci5oLAoJICBjbUluc3RhbGxHZW5lcmF0b3IuY3h4LCBjbUluc3RhbGxHZW5lcmF0b3IuaCwKCSAgY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eCwgY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxHZW5lcmF0b3IuY3h4OiBFTkg6IEFkZGVkIG5hbWVkIGNvbXBvbmVudCBpbnN0YWxsYXRpb24KCSAgaW1wbGVtZW50YXRpb24uICBJbnN0YWxsYXRpb24gYmVoYXZpb3Igc2hvdWxkIGJlIHVuY2hhbmdlZCB1bmxlc3MKCSAgLURDT01QT05FTlQ9PG5hbWU+IGlzIHNwZWNpZmllZCB3aGVuIGNtYWtlX2luc3RhbGwuY21ha2UgaXMKCSAgaW52b2tlZC4KCjIwMDYtMDMtMzAgMTE6NTUgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtRmlsZUNvbW1hbmQuY3h4LCBjbUZpbmRCYXNlLmN4eCwgY21GaW5kQmFzZS5oOiBFTkg6CgkgIG1ha2Ugc3VyZSBmcmFtZXdvcmsgc2VhcmNoIG9yZGVyIGlzIGNvcnJlY3QKCjIwMDYtMDMtMzAgMDk6MTcgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHg6IEVOSDogbW9kaWZpZWQgdGhlIHJlbGF0aXZlIHBhdGgKCSAgY29kZSB0byBub3QgZG8gcmVsYXRpdmUgcGF0aHMgYmV0d2VlbiBiaW4gYW5kIHNvdXJjZQoKMjAwNi0wMy0zMCAwODozOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTAzLTI5IDE2OjM0ICBhbmR5CgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEVOSDogVXNlCgkgIFBCWFJlc291cmNlc0J1aWxkUGhhc2UgZm9yIHJlc3JvdXJjZXMKCjIwMDYtMDMtMjkgMTY6MzQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vRGFyd2luLmNtYWtlOiBFTkg6IHVzZSBjb3JyZWN0IG5hbWUgZm9yIHBhdGgKCjIwMDYtMDMtMjkgMTY6MjUgIGFuZHkKCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogRU5IOiBTaW1wbGlmeS4gSW5zdGVhZCBvZgoJICBkb2luZyAuLi9NYWNPUyBqdXN0IGNvcHkgdG8gY3VycmVudCBkaXJlY3RvcnkKCjIwMDYtMDMtMjkgMTY6MjEgIGFuZHkKCgkqIFNvdXJjZS9jbVhDb2RlMjFPYmplY3QuY3h4OiBFTkg6IEFkZCBzdXBwb3J0IGZvciBYY29kZSAyLjEKCjIwMDYtMDMtMjkgMTU6MDIgIGFuZHkKCgkqIFNvdXJjZS86IGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LCBjbVhDb2RlT2JqZWN0LmN4eCwKCSAgY21YQ29kZU9iamVjdC5oOiBFTkg6IEFkZCBjb3B5IHN0YWdlcyBmb3IgYnVuZGxlIGZpbGVzCgoyMDA2LTAzLTI5IDEzOjMzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21GaW5kQmFzZS5jeHgsIFRlc3RzL0J1bmRsZVRlc3QvQ01ha2VMaXN0cy50eHQ6IEVOSDogYWRkCgkgIGEgdGVzdCBmb3IgZmluZCBmcmFtZXdvcmsgc3R1ZmYgaW4gZmluZF9saWJyYXJ5LCBhbmQgZml4IHRoZQoJICBmcmFtZXdvcmsgc2VhcmNoIHN0dWZmCgoyMDA2LTAzLTI5IDEzOjI2ICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQ6IEVOSDogcmVtb3ZlIHRlc3Qgb24gY3lnd2luIHNpbmNlIGl0CgkgIHJhbmRvbWx5IGZhaWxzCgoyMDA2LTAzLTI5IDEyOjMzICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0QnVpbGRDb21tYW5kLmN4eCwKCSAgY21DVGVzdENvbmZpZ3VyZUNvbW1hbmQuY3h4LCBjbUNUZXN0Q292ZXJhZ2VDb21tYW5kLmN4eCwKCSAgY21DVGVzdFN1Ym1pdENvbW1hbmQuY3h4LCBjbUNUZXN0VXBkYXRlQ29tbWFuZC5jeHg6IENPTVA6IFJldHVybgoJICAwIGluc3RlYWQgb2YgZmFsc2UKCjIwMDYtMDMtMjkgMTI6MDEgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eCwgU291cmNlL2NtQ1Rlc3QuaCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RCdWlsZENvbW1hbmQuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkQ29tbWFuZC5oLAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0Q29uZmlndXJlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0Q29uZmlndXJlQ29tbWFuZC5oLAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdENvdmVyYWdlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0Q292ZXJhZ2VDb21tYW5kLmgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RIYW5kbGVyQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0TWVtQ2hlY2tIYW5kbGVyLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXRDb21tYW5kLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXRDb21tYW5kLmgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdENvbW1hbmQuaCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0VXBkYXRlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0VXBkYXRlQ29tbWFuZC5oLAoJICBUZXN0cy9DVGVzdFRlc3QzL3Rlc3QuY21ha2UuaW46IEVOSDogU2V2ZXJhbCBjbGVhbnVwcyBhbmQgbWFrZQoJICBzdXJlIHRoaW5ncyBnZXQgcHJvcGFnYXRlZCB3aGVyZSB0aGV5IHNob3VsZC4gQWxzbywgYWxsb3cgdG8gbG9hZAoJICBDVGVzdCBjdXN0b20gZmlsZXMgdG8gdGhlIGFjdHVhbCBjdGVzdCAtUyBzY3JpcHQKCjIwMDYtMDMtMjkgMDk6MTAgIGFuZHkKCgkqIFNvdXJjZS9jbVNldFNvdXJjZUZpbGVzUHJvcGVydGllc0NvbW1hbmQuY3h4OiBDT01QOiBSZW1vdmUKCSAgd2FybmluZwoKMjAwNi0wMy0yOSAwODozMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTAzLTI4IDE2OjM2ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFJlYWRDdXN0b21GaWxlc0NvbW1hbmQuY3h4LAoJICBUZXN0cy9DVGVzdFRlc3QzL3Rlc3QuY21ha2UuaW46IEJVRzogRml4IHRoZSByZWFkIGN1c3RvbSBmaWxlcwoJICBjb21tYW5kIGFuZCBhZGQgYSBjb3ZlcmFnZSB0ZXN0CgoyMDA2LTAzLTI4IDE2OjI1ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21UYXJnZXQuY3h4OiBDT01QOiBSZW1vdmUKCSAgd2FybmluZ3MKCjIwMDYtMDMtMjggMTU6MjAgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRU5IOiBQYXNzIGhhbmRsZXIgZmxhZ3MgdG8gYm90aCB0ZXN0IGFuZAoJICBtZW1jaGVjayBoYW5kbGVyCgoyMDA2LTAzLTI4IDE1OjE5ICBhbmR5CgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21DVGVzdC5oOiBFTkg6IEFkZCBuZXcgY3Rlc3QgY29tbWFuZAoKMjAwNi0wMy0yOCAxNDo0NSAga2luZwoKCSogU291cmNlL2NtRmluZEJhc2UuY3h4OiBFTkg6IEFkZGVkIGNoZWNrIG9mCgkgIENNQUtFX0JBQ0tXQVJEU19DT01QQVRJQklMSVRZIHRvIHNraXAgdGhlIENNYWtlIHN5c3RlbSBwYXRoCgkgIHNlYXJjaCB3aGVuIHNpbXVsYXRpbmcgQ01ha2UgMi4yIGFuZCBlYXJsaWVyLgoKMjAwNi0wMy0yOCAxNDozNyAgYW5keQoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdFJlYWRDdXN0b21GaWxlc0NvbW1hbmQuY3h4LAoJICBjbUNUZXN0UmVhZEN1c3RvbUZpbGVzQ29tbWFuZC5oLCBjbUNUZXN0U2NyaXB0SGFuZGxlci5jeHg6IEVOSDoKCSAgQWRkIGNvbW1hbmQgdG8gcmVhZCBjdGVzdCBjdXN0b20gZmlsZXMKCjIwMDYtMDMtMjggMTM6NDggIGFuZHkKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogSGFuZGxlIHNwYWNlcyBpbgoJICB0aGUgcGF0aAoKMjAwNi0wMy0yOCAxMzoyMyAgYW5keQoKCSogVGVzdHMvQnVuZGxlVGVzdC86IEJ1bmRsZUxpYi5jeHgsIEJ1bmRsZVRlc3QuY3h4OiBFTkg6IENoZWNrIGlmCgkgIGZpbGVzIGV4aXN0CgoyMDA2LTAzLTI4IDEzOjE2ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUZpbGVDb21tYW5kLmN4eCwgY21JbnN0YWxsR2VuZXJhdG9yLmN4eCwKCSAgY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eCwgY21UYXJnZXQuaDogRU5IOiBBZGQgcHJvcGVyIHN1cHBvcnQKCSAgZm9yIGluc3RhbGxpbmcgYnVuZGxlcwoKMjAwNi0wMy0yOCAxMzowNyAgYWxleAoKCSogTW9kdWxlcy9GaW5kS0RFNC5jbWFrZTogU1RZTEU6IGJldHRlciBlcnJvciBtZXNzYWdlIHdoZW4gS0RFNAoJICBoYXNuJ3QgYmVlbiBmb3VuZAoKCSAgQWxleAoKMjAwNi0wMy0yOCAxMDo1OCAga2luZwoKCSogU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHg6IEJVRzogUGF5IGF0dGVudGlvbiB0byB0aGUKCSAgTUFDT1NYX0JVTkRMRSB0YXJnZXQgcHJvcGVydHkgb25seSBvbiBBUFBMRSBwbGF0Zm9ybXMuCgoyMDA2LTAzLTI4IDA4OjU0ICBhbmR5CgoJKiBNb2R1bGVzL1BsYXRmb3JtL0Rhcndpbi5jbWFrZSwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVFeGVjdXRhYmxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21TZXRTb3VyY2VGaWxlc1Byb3BlcnRpZXNDb21tYW5kLmN4eCwKCSAgVGVzdHMvQnVuZGxlVGVzdC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQnVuZGxlVGVzdC9Tb21lUmFuZG9tRmlsZS50eHQsCgkgIFRlc3RzL0J1bmRsZVRlc3QvcmFuZG9tUmVzb3VyY2VGaWxlLnBsaXN0LmluOiBFTkg6IEFkZCBzdXBwb3J0CgkgIGZvciBhZGRpbmcgY29udGVudCB0byBidW5kbGVzCgoyMDA2LTAzLTI4IDA4OjIyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDMtMjcgMTI6MjEgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vVW5peFBhdGhzLmNtYWtlOiBFTkg6IGFkZCAvb3B0L2xvY2FsL2luY2x1ZGUKCjIwMDYtMDMtMjcgMTE6MDkgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vOiBGcmVlQlNELmNtYWtlLCBPcGVuQlNELmNtYWtlOiBFTkg6IGFkZCB1bml4CgkgIHBhdGhzCgoyMDA2LTAzLTI3IDEwOjQ2ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtLzogRnJlZUJTRC5jbWFrZSwgSFAtVVguY21ha2UsIElSSVguY21ha2UsCgkgIElSSVg2NC5jbWFrZSwgTmV0QlNELmNtYWtlLCBPU0YxLmNtYWtlLCBTQ09fU1YuY21ha2UsCgkgIFNJTklYLmNtYWtlLCBUcnU2NC5jbWFrZSwgVUxUUklYLmNtYWtlLCBVTklYX1NWLmNtYWtlLAoJICBVbml4UGF0aHMuY21ha2UsIFVuaXhXYXJlLmNtYWtlLCBYZW5peC5jbWFrZSwga0ZyZWVCU0QuY21ha2U6CgkgIEVOSDogYWRkIG1vcmUgc2VhcmNoIHBhdGhzIGFuZCBhZGQgVW5peFBhdGhzIHRvIGFsbCB1bml4CgkgIHBsYXRmb3JtcwoKMjAwNi0wMy0yNyAwODoxMyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTAzLTI2IDA4OjEwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDMtMjUgMDg6MTEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMy0yNCAxNjoxMyAgaG9mZm1hbgoKCSogU291cmNlL2NtTGlzdENvbW1hbmQuY3h4OiBFTkg6IGFsbG93IHVuc2V0IHZhcnMgdG8gYmUgdXNlZCBpbgoJICBsaXN0IGxlbmd0aAoKMjAwNi0wMy0yNCAxNjoxMSAga2luZwoKCSogQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbUluc3RhbGxDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbENvbW1hbmQuaCwgVGVzdHMvU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZGVkIEFSQ0hJVkUgb3B0aW9uCgkgIHRvIHRoZSBUQVJHRVRTIG1vZGUgb2YgdGhlIElOU1RBTEwgY29tbWFuZC4gIEl0IGlzIGEgdGhpcmQgb3B0aW9uCgkgIGFkZGVkIHRvIFJVTlRJTUUgYW5kIExJQlJBUlkgcHJvcGVydHkgdHlwZXMuCVN0YXRpYyBsaWJyYXJpZXMKCSAgYW5kIGltcG9ydCBsaWJyYXJpZXMgYXJlIG5vdyB0cmVhdGVkIGFzIEFSQ0hJVkUgdGFyZ2V0cyBpbnN0ZWFkCgkgIG9mIExJQlJBUlkgdGFyZ2V0cy4gIFRoaXMgYWRkcyBhIGxldmVsIG9mIGdyYW51bGFyaXR5IG5lY2Vzc2FyeQoJICBmb3IgdXBjb21pbmcgZmVhdHVyZXMuICBBbHNvIHVwZGF0ZWQgdGhlIENWUyBDTWFrZSBwYXRjaCBsZXZlbAoJICBzZXQgaW4gQ01ha2VfVkVSU0lPTl9QQVRDSCBmcm9tIDQgdG8gNSB0byBhbGxvdyB1c2VycyBvZiB0aGlzCgkgIHZlcnNpb24gdG8ga25vdyB3aGV0aGVyIHRoaXMgaW5jb21wYXRpYmxlIGNoYW5nZSBpcyBwcmVzZW50LgoKMjAwNi0wMy0yNCAxNDo0NyAga2luZwoKCSogTW9kdWxlcy9GaW5kUHl0aG9uTGlicy5jbWFrZTogRU5IOiBVcGRhdGVkIGltcGxlbWVudGF0aW9uIHRvIHVzZQoJICBuZXcgRklORF8qIGNvbW1hbmQgcG93ZXIuICBUaGUgY29ycmVjdCBsaWJyYXJ5IGlzIG5vdyBmb3VuZCBvbgoJICBNaW5HVyBhbHNvLgoKMjAwNi0wMy0yNCAxNDoxNiAga2luZwoKCSogU291cmNlLzogY21GaW5kQmFzZS5jeHgsIGNtRmluZEJhc2UuaDogRU5IOiBBZGRlZAoJICBOT19DTUFLRV9FTlZJUk9OTUVOVF9QQVRILCBOT19DTUFLRV9QQVRILAoJICBOT19TWVNURU1fRU5WSVJPTk1FTlRfUEFUSCwgYW5kIE5PX0NNQUtFX1NZU1RFTV9QQVRIIG9wdGlvbnMgYmFjawoJICB0byBhbGxvdyBtb3JlIGdyYW51bGFyaXR5IHRoYW4gTk9fREVGQVVMVF9QQVRILgoKMjAwNi0wMy0yNCAxNDoxNSAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9Vbml4UGF0aHMuY21ha2U6IEJVRzogRml4ICcvdXNlL2xpYicgdG8gYmUKCSAgJy91c3IvbGliJy4KCjIwMDYtMDMtMjQgMTI6MjAgIG1hcnRpbmsKCgkqIFRlc3RzL0N1c3RvbUNvbW1hbmQvOiBDTWFrZUxpc3RzLnR4dCwKCSAgR2VuZXJhdGVkSGVhZGVyL0NNYWtlTGlzdHMudHh0OiBCVUc6IGZpeCB0ZXN0IHRvIGxpc3QgZ2VuZXJhdGUKCSAgZGhlYWRlcgoKMjAwNi0wMy0yNCAwOToxNSAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9EYXJ3aW4uY21ha2UsIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFhDb2RlR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4LAoJICBUZXN0cy9FeHRlcm5hbE9CSi9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRXh0ZXJuYWxPQkovT2JqZWN0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9YMTEvQ01ha2VMaXN0cy50eHQ6IEVOSDogYWRkIHN1cHBvcnQgZm9yIHVuaXZlcnNhbCBiaW5hcmllcwoKMjAwNi0wMy0yNCAwODoxNyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTAzLTIzIDE1OjM1ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkQW5kVGVzdEhhbmRsZXIuY3h4OiBDT01QOiBSZW1vdmUgd2FybmluZwoKMjAwNi0wMy0yMyAxMzo1NSAgbWFydGluawoKCSogU291cmNlLzogY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEVOSDogcmVtb3ZlZCB1bnVzZWQgcnVsZXMgZnJvbQoJICB0YXJnZXRzIGZvciBWUwoKMjAwNi0wMy0yMyAxMToxOSAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBCVUc6IEZpeCBDVGVzdEN1c3RvbS5jdGVzdCBmaWxlCgoyMDA2LTAzLTIzIDEwOjEwICBob2ZmbWFuCgoJKiBDVGVzdEN1c3RvbS5jdGVzdC5pbjogRU5IOiB0cnkgdG8gZ2V0IHJpZCBvZiB3YXJuaW5nIG9uIEhQCgoyMDA2LTAzLTIzIDA5OjU2ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHg6IEVOSDogTW9yZSBlcnJvciBoYW5kbGluZwoKMjAwNi0wMy0yMyAwODoxMyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTAzLTIyIDE3OjIxICBob2ZmbWFuCgoJKiBTb3VyY2UvY21FeGVjdXRlUHJvY2Vzc0NvbW1hbmQuY3h4OiBFTkg6IGRvIG5vdCBkZXJlZmVyZW5jZSBlbXB0eQoJICBzdGwgdmVjdG9ycwoKMjAwNi0wMy0yMiAxNTowMSAgbWFydGluawoKCSogVGVzdHMvOiBDb21wbGV4L1ZhclRlc3RzLmNtYWtlLAoJICBDb21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXgvRXhlY3V0YWJsZS9JbmNsdWRlZC5jbWFrZSwKCSAgQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LCBDb21wbGV4T25lQ29uZmlnL1ZhclRlc3RzLmNtYWtlLAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9JbmNsdWRlZC5jbWFrZSwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9WYXJUZXN0cy5jbWFrZSwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9JbmNsdWRlZC5jbWFrZSwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogRU5IOiBhZGRlZCB0ZXN0aW5nCgkgIGZvciBuZXcgZmVhdHVyZXMKCjIwMDYtMDMtMjIgMTQ6NDUgIGFuZHkKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogQlVHOiBGaXggbG9naWMuIElmIHRoZSB2YXJpYWJsZSBpcyBub3QKCSAgc2V0LCB0aGVuIGl0IGlzIGFsd2F5cyBvayB0byB3cml0ZSB0aGUgZmlsZQoKMjAwNi0wMy0yMiAxNDo0MCAgYW5keQoKCSogU291cmNlLzogY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5jeHgsCgkgIGNtQ29uZmlndXJlRmlsZUNvbW1hbmQuY3h4LCBjbUV4ZWN1dGVQcm9jZXNzQ29tbWFuZC5jeHgsCgkgIGNtRmlsZUNvbW1hbmQuY3h4LCBjbU1ha2VEaXJlY3RvcnlDb21tYW5kLmN4eCwgY21NYWtlZmlsZS5jeHgsCgkgIGNtTWFrZWZpbGUuaCwgY21Xcml0ZUZpbGVDb21tYW5kLmN4eDogRU5IOiBBbGxvdyBibG9ja2luZyBvZgoJICB3cml0aW5nIGludG8gdGhlIHNvdXJjZSB0cmVlCgoyMDA2LTAzLTIyIDE0OjA2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUdldERpcmVjdG9yeVByb3BlcnR5Q29tbWFuZC5oLAoJICBjbUdldFNvdXJjZUZpbGVQcm9wZXJ0eUNvbW1hbmQuY3h4LAoJICBjbUdldFNvdXJjZUZpbGVQcm9wZXJ0eUNvbW1hbmQuaCwgY21JZkNvbW1hbmQuY3h4LCBjbUlmQ29tbWFuZC5oLAoJICBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oLCBjbVNvdXJjZUZpbGUuY3h4OiBFTkg6IGFkZGVkIHNvbWUKCSAgbmV3IGZ1bmN0aW9uYWxpdHkKCjIwMDYtMDMtMjIgMTM6MDQgIGFuZHkKCgkqIFNvdXJjZS86IGNtQm9vdHN0cmFwQ29tbWFuZHMuY3h4LCBjbUNvbW1hbmRzLmN4eCwgY21ha2UuY3h4OgoJICBDT01QOiBGaXggYXBwbGUgYm9vdHN0cmFwIGlzc3VlcwoKMjAwNi0wMy0yMiAxMToxNCAgYW5keQoKCSogU291cmNlL2NtQm9vdHN0cmFwQ29tbWFuZHMuY3h4LAoJICBNb2R1bGVzL0NoZWNrQ1NvdXJjZUNvbXBpbGVzLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrQ1hYU291cmNlQ29tcGlsZXMuY21ha2UsIFNvdXJjZS9jbUNvbW1hbmRzLmN4eCwKCSAgU291cmNlL2NtV3JpdGVGaWxlQ29tbWFuZC5jeHg6IEVOSDogQ2xlYW51cCBib290c3RyYXAgZXZlbiBtb3JlCgoyMDA2LTAzLTIyIDExOjEwICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtZ2NjLmNtYWtlLCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6CgkgIEVOSDogQWRkZWQgc3VwcG9ydCBmb3IgbGlua2luZyB0byBNUyAubGliIGxpYnJhcmllcyBpbiBNaW5HVy4KCjIwMDYtMDMtMjIgMDk6NTggIGFuZHkKCgkqIGJvb3RzdHJhcCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5oLAoJICBTb3VyY2UvY21ha2VtYWluLmN4eDogRU5IOiBSZW1vdmUgdGhpbmdzIGZyb20gYm9vdHN0cmFwCgoyMDA2LTAzLTIyIDA4OjExICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDMtMjEgMTc6NDcgIGJhcnJlCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFTkg6IHRoZSBhcmd1bWVudHMgdG8gdGhpcyBmdW5jdGlvbgoJICB3ZXJlIG5vdCBjaGVja2VkIGluIGEgcm9idXN0IHdheQoKMjAwNi0wMy0yMSAxNjo1OSAgYW5keQoKCSogQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkIGZsYWcgZm9yIE1GQwoKMjAwNi0wMy0yMSAxNjo1OCAgYW5keQoKCSogTW9kdWxlcy9JbnN0YWxsUmVxdWlyZWRTeXN0ZW1MaWJyYXJpZXMuY21ha2U6IEVOSDogSGFuZGxlIHZpc3VhbAoJICBzdHVkaW8gdmVyc2lvbnMKCjIwMDYtMDMtMjEgMTY6MzkgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRU5IOiBUd28gdGhpbmdzLiBJZiB0aGVyZSBpcwoJICBDVGVzdEN1c3RvbS5jbWFrZSBpbiB0aGUgdG9wbGV2ZWwgZGlyZWN0b3J5IHJlYWQgdGhhdCBmaWxlIG9ubHkuCgkgIElmIHRoZXJlIGlzIENUZXN0Q3VzdG9tLmN0ZXN0IGluIHRoZSB0b3BsZXZlbCBkaXJlY3RvcnksIGRvIHRoZQoJICBnbG9iLCBpZiB0aGVyZSBpcyBub25lLCBkbyBub3RoaW5nCgoyMDA2LTAzLTIxIDE2OjAzICBhbmR5CgoJKiBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUZpbGVDb21tYW5kLmgsCgkgIFRlc3RzL1N0cmluZ0ZpbGVUZXN0L0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZCByZWxhdGl2ZSB0YWcgYW5kCgkgIGFkZCB0ZXN0IGZvciByZWxhdGl2ZSB0YWcKCjIwMDYtMDMtMjEgMTY6MDIgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy86IEdsb2IuY3h4LCBHbG9iLmh4eC5pbjogRU5IOiBBZGQgc3VwcG9ydCBmb3IKCSAgcmVsYXRpdmUgcGF0aHMgYW5kIGNsZWFudXAKCjIwMDYtMDMtMjEgMTY6MDEgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogQlVHOiBIYW5kbGUgdmlzdWFsIHN0dWRpbyA4CgoyMDA2LTAzLTIxIDEyOjU2ICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRLREUzLmNtYWtlOiBCVUc6IHB1dCB0aGUgcGF0aCB0byB0aGUga2RlMyBsaWIgZGlyIGluCgkgIEtERTNfTElCX0RJUiwgbm90IHRoZSBjb21wbGV0ZSBsaWJrZGVjb3JlLnNvCgoJICBBbGV4CgoyMDA2LTAzLTIxIDEyOjU0ICBhbmR5CgoJKiBib290c3RyYXAsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgU291cmNlL2NtQ1Rlc3QuY3h4LAoJICBTb3VyY2UvY21DYWNoZU1hbmFnZXIuY3h4LCBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUZpbmRQYXRoQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUdsb2IuY3h4LCBTb3VyY2UvY21HbG9iLmgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eDogRU5IOiBSZW1vdmUgY21HbG9iIGFuZAoJICB1c2UgZ2xvYiBmcm9tIGt3c3lzCgoyMDA2LTAzLTIxIDA4OjQ1ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEVOSDogRW5hYmxpbmcKCSAgQ01BS0VfSU5DTFVERV9DVVJSRU5UX0RJUiBldmVuIGZvciBpbi1zb3VyY2UgYnVpbGRzIHRvIGJlIG1vcmUKCSAgY29uc2lzdGVudCB3aXRoIGl0cyBuYW1lLiAgVGhpcyBhbHNvIG1ha2VzIGRvdWJsZS1xdW90ZSBhbmQKCSAgYW5nbGUtYnJhY2tldCBpbmNsdWRlIHN0eWxlcyAoYWxtb3N0KSBpZGVudGljYWwuCgoyMDA2LTAzLTIxIDA4OjIwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDMtMjAgMTY6MjQgIGFuZHkKCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrUGFja2FnZU1ha2VyR2VuZXJhdG9yLmN4eDogRU5IOiBIYW5kbGUKCSAgdW51c3VhbCBwYXRoIGZvciBwYWNrYWdlbWFrZXIKCjIwMDYtMDMtMjAgMTI6MjkgIGFsZXgKCgkqIE1vZHVsZXMvOiBBZGRGaWxlRGVwZW5kZW5jaWVzLmNtYWtlLCBGaW5kUE5HLmNtYWtlLAoJICBLREUzTWFjcm9zLmNtYWtlOiBCVUc6IGRvbid0IGluY2x1ZGUgTWFjcm9MaWJyYXJ5LmNtYWtlLCBidXQgYWRkCgkgIGEgY21ha2UgbW9kdWxlIHdoaWNoIGltcGxlbWVudHMgQUREX0ZJTEVfREVQRU5ERU5DSUVTKCkgRU5IOiBtYXJrCgkgIHRoZSB2YXJpYWJsZXMgZnJvbSBGaW5kUE5HLmNtYWtlIGFzIGFkdmFuY2VkCgoJICBBbGV4CgoyMDA2LTAzLTIwIDA3OjU1ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDMtMTkgMDc6NTMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMy0xOCAxMjoyMyAgaG9mZm1hbgoKCSogQ1Rlc3RDdXN0b20uY3Rlc3QuaW46IEVOSDogYWRkIG1vcmUgd2FybmluZyBzdHVmZgoKMjAwNi0wMy0xOCAxMjoxNiAgYWxleAoKCSogTW9kdWxlcy9GaW5kS0RFMy5jbWFrZTogU1RZTEU6IGZpeCB0eXBvcwoKCSAgQWxleAoKMjAwNi0wMy0xOCAwODo1OSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTAzLTE3IDE2OjMwICBhbmR5CgoJKiBTb3VyY2UvY21Db25maWd1cmUuY21ha2UuaC5pbjogRU5IOiBQcm9wYWdhdGUgY21ha2UgdmFyaWFibGVzIHRvCgkgIG1hY3JvcyBpbiBDCgoyMDA2LTAzLTE3IDE2OjE0ICBhbmR5CgoJKiBDTWFrZUxpc3RzLnR4dCwgU291cmNlL0NNYWtlTGlzdHMudHh0LCBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6CgkgIEVOSDogU2ltcGxpZnkgdGhlIHRlc3QKCjIwMDYtMDMtMTcgMTU6NDcgIGFuZHkKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogQ09NUDogVXNlIHRoZSBjdXJyZW50IGNtYWtlJ3MKCSAgQ2hlY2tDWFhTb3VyY2VDb21waWxlcwoKMjAwNi0wMy0xNyAxNTo0NiAgYW5keQoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmgsCgkgIGNtYWtlLmN4eDogRU5IOiBIYW5kbGUgbWlzc2luZyB1bnNldGVudiBhbmQgYWRkIGNoZWNrIGZvciBlbnZpcm9uCgoyMDA2LTAzLTE3IDE1OjMzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEVOSDogbWFrZSBjbWFrZSBjb21waWxlCgoyMDA2LTAzLTE3IDEyOjMxICBhbmR5CgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IENPTVA6IEZpeCB3aW5kb3dzCgoyMDA2LTAzLTE3IDEyOjI0ICBhbmR5CgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IENPTVA6IEhhbmRsZSB3aW5kb3dzIHdpdGggaGFjayBmb3Igbm93CgoyMDA2LTAzLTE3IDEyOjA2ICBtYWxhdGVycmUKCgkqIFNvdXJjZS9rd3N5cy86IERpcmVjdG9yeS5jeHgsIERpcmVjdG9yeS5oeHguaW4sIFN5c3RlbVRvb2xzLmN4eCwKCSAgU3lzdGVtVG9vbHMuaHh4LmluOiBFTkg6IFVzZSBjb25zdCBjaGFyIHdoZXJlIGl0IHNob3VsZCBoYXZlCgkgIGJlZW4uIEF0IHNhbWUgdGltZSBmaXggQnVnIzI5NTgKCjIwMDYtMDMtMTcgMTE6NDQgIGFuZHkKCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmg6IEVOSDogQWRkIGEgbWV0aG9kIHRvCgkgIHJlbW92ZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMKCjIwMDYtMDMtMTcgMTE6MTQgIGFuZHkKCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmgsIGNtYWtlLmN4eDogRU5IOiBVc2UKCSAgdmVjdG9yIG9mIHBsYWluIHN0cmluZ3MgYW5kIGFkZCBjbWFrZSAtRSBjb21tYW5kIGZvciBnZXR0aW5nCgkgIGVudmlyb25tZW50CgoyMDA2LTAzLTE3IDEwOjU4ICBhbmR5CgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oOiBFTkg6IEFkZCBhY2Nlc3MgZm9yCgkgIGFsbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMKCjIwMDYtMDMtMTcgMDk6MzIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMy0xNiAxODoyNCAga2luZwoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogQlVHOiBXaGVuIGdlbmVyYXRpbmcgdGhlIGluc3RhbGwKCSAgcnVsZXMgZm9yIENNYWtlIGl0c2VsZiB0aGUgcGVyLWNvbmZpZ3VyYXRpb24gc3ViZGlyZWN0b3J5IG11c3QgYmUKCSAgdXNlZCB0byBzcGVjaWZ5IHRoZSBleGVjdXRhYmxlIGxvY2F0aW9uLgoKMjAwNi0wMy0xNiAxNzo0OSAgaG9mZm1hbgoKCSogU291cmNlLzogY21GaW5kQmFzZS5jeHgsIGNtRmluZEJhc2UuaDogRU5IOiBjbGVhbiB1cCBmaW5kIHN0dWZmCgkgIHNvIHRoYXQgTk9fU1lTVEVNX1BBVEggaXMgYmFja3dhcmRzIGNvbXBhdGlibGUgYW5kIHlvdSBnZXQgcHV0CgkgIHN5c3RlbSBlbnYgdmFyaWFibGVzIGluIHRoZSBmaW5kIGNvbW1hbmRzCgoyMDA2LTAzLTE2IDE3OjQwICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2U6IEJVRzogL0RXSU4zMiBhbmQgL0RfV0lORE9XUwoJICBzaG91bGQgYmUgZGVmaW5lZCBmb3IgYWxsIGNvbmZpZ3VyYXRpb25zIG9yIGlmIG5vIGNvbmZpZ3VyYXRpb24KCSAgaXMgc2V0LgoKMjAwNi0wMy0xNiAxNzoyNiAga2luZwoKCSogU291cmNlL2t3c3lzL2F1dG9fcHRyLmh4eC5pbjogQ09NUDogU2tpcCB0cnlpbmcgdG8gdXNlIG5hdGl2ZQoJICBhdXRvX3B0ciBpbXBsZW1lbnRhdGlvbiBhbmQganVzdCBwcm92aWRlIGEgY29uZm9ybWluZyBvbmUuCgoyMDA2LTAzLTE2IDE3OjIwICBraW5nCgoJKiBUZXN0cy86IENvbXBsZXgvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIENvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleE9uZUNvbmZpZy9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogQlVHOiBSZW1vdmVkCgkgIGNvbXBpbGVkLWluIENNQUtFX1NIQVJFRF9NT0RVTEVfUFJFRklYIGFuZAoJICBDTUFLRV9TSEFSRURfTU9EVUxFX1NVRkZJWCBmb3IgbG9hZGVkIGNvbW1hbmRzIGluIGZhdm9yIG9mIHVzaW5nCgkgIHRoZSBzZXR0aW5ncyBmcm9tIHRoZSBwbGF0Zm9ybSBmaWxlcy4KCjIwMDYtMDMtMTYgMTc6MDkgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ29uZmlndXJlLmNtYWtlLmguaW4sIGNtRHluYW1pY0xvYWRlci5jeHgsCgkgIGNtRHluYW1pY0xvYWRlci5oLCBjbUxvYWRDb21tYW5kQ29tbWFuZC5jeHg6IEJVRzogUmVtb3ZlZAoJICBjb21waWxlZC1pbiBDTUFLRV9TSEFSRURfTU9EVUxFX1BSRUZJWCBhbmQKCSAgQ01BS0VfU0hBUkVEX01PRFVMRV9TVUZGSVggZm9yIGxvYWRlZCBjb21tYW5kcyBpbiBmYXZvciBvZiB1c2luZwoJICB0aGUgc2V0dGluZ3MgZnJvbSB0aGUgcGxhdGZvcm0gZmlsZXMuCgoyMDA2LTAzLTE2IDE3OjA3ICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlU3lzdGVtU3BlY2lmaWNJbmZvcm1hdGlvbi5jbWFrZTogQlVHOiBXaGVuIGNvcHlpbmcKCSAgdGhlIG1vZHVsZSB2YXJpYWJsZXMgZnJvbSBzaGFyZWQgbGlicmFyeSB2YXJpYWJsZXMgdXNlIGRvdWJsZQoJICBxdW90ZXMgZm9yIHRoZSByZXF1aXJlZCBkZWZpbml0aW9ucyAuLi5QUkVGSVggYW5kIC4uLlNVRkZJWCB0bwoJICBtYWtlIHN1cmUgYSB2YWx1ZSBpcyBzZXQgZXZlbiBpZiBpdCBpcyBlbXB0eS4KCjIwMDYtMDMtMTYgMTY6MDQgIGtpbmcKCgkqIFNvdXJjZS9jbUV4cG9ydExpYnJhcnlEZXBlbmRlbmNpZXMuY3h4OiBDT01QOiBVc2luZyBLV1N5cwoJICBhdXRvX3B0ciB0byBhdm9pZCBjcm9zcy1wbGF0Zm9ybSBwcm9ibGVtcy4KCjIwMDYtMDMtMTYgMTY6MDQgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IENNYWtlTGlzdHMudHh0LCBhdXRvX3B0ci5oeHguaW46IEVOSDogQWRkaW5nCgkgIGF1dG9fcHRyIHRvIEtXU3lzIHRvIHByb3ZpZGUgYSBjb25mb3JtaW5nIHZlcnNpb24gZXZlcnl3aGVyZS4KCjIwMDYtMDMtMTYgMTU6NTMgIGFsZXgKCgkqIE1vZHVsZXMvRmluZEtERTQuY21ha2U6IEVOSDogYWZ0ZXIgc2VhcmNoaW5nIGZvciBrZGUtY29uZmlnIGluCgkgIHRoZSBzcGVjaWFsIGRpcnMsIHNlYXJjaCBhZ2FpbiBpbiB0aGUgc3RhbmRhcmQgZGlycyBCVUc6IGhhbmRsZQoJICBwYXRocyBvbiB3aW5kb3dzIGNvcnJlY3RseQoKCSAgQWxleAoKMjAwNi0wMy0xNiAxNTo1MCAga2luZwoKCSogU291cmNlL2NtRXhwb3J0TGlicmFyeURlcGVuZGVuY2llcy5jeHg6IENPTVA6IEZpeCBmb3IgYXV0b19wdHIKCSAgdXNhZ2Ugb24gVkM2J3MgYnJva2VuIGltcGxlbWVudGF0aW9uLgoKMjAwNi0wMy0xNiAxNDo1MSAga2luZwoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBCVUc6IEZpeGVkIGdlbmVyYXRpb24gb2YgbWlzbWF0Y2hlZAoJICBJRiBpbiBpbnN0YWxsIHNjcmlwdC4gIFRoaXMgYnVnIHdhcyBpbnRyb2R1Y2VkIGR1cmluZyB0aGUgbV8KCSAgc3dlZXAuCgoyMDA2LTAzLTE2IDE0OjQ0ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNvbW1hbmRBcmd1bWVudFBhcnNlci5jeHgsIGNtQ29tbWFuZEFyZ3VtZW50UGFyc2VyLnk6CgkgIENPTVA6IEZpeCBtYWxsb2MvZnJlZSBkZWNsYXJhdGlvbiBmb3Igd2luZG93cyBjb21waWxlcnMuCgoyMDA2LTAzLTE2IDE0OjE0ICBraW5nCgoJKiBTb3VyY2UvY21FeHBvcnRMaWJyYXJ5RGVwZW5kZW5jaWVzLmN4eDogQlVHOiBEbyBub3QgbGVhayB0aGUKCSAgb2ZzdHJlYW0gb2JqZWN0IGluIGFwcGVuZCBtb2RlLiAgSnVzdCB1c2UgYW4gYXV0b19wdHIgZm9yIGJvdGgKCSAgY2FzZXMuCgoyMDA2LTAzLTE2IDExOjU3ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNvbW1hbmRBcmd1bWVudFBhcnNlci5jeHgsIGNtQ29tbWFuZEFyZ3VtZW50UGFyc2VyLnksCgkgIGNtQ29tbWFuZEFyZ3VtZW50UGFyc2VyVG9rZW5zLmg6IEVOSDogVXNpbmcgcGF0Y2ggZnJvbSBGcmFucwoJICBFbmdsaWNoIHRvIGNsYXJpZnkgZXJyb3IgbWVzc2FnZXMuCgoyMDA2LTAzLTE2IDExOjM0ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmg6IENPTVA6IE1ha2UgbWVtYmVycyBwcm90ZWN0ZWQKCSAgc28gdGhhdCBzdWJjbGFzcyBjYW4gdXNlIHRoZW0KCjIwMDYtMDMtMTYgMTE6MjkgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RNZW1DaGVja0hhbmRsZXIuY3h4LAoJICBjbUNUZXN0VGVzdEhhbmRsZXIuY3h4OiBCVUc6IENvdXBsZSBvZiBtZW1jaGVjayBidWdzOiBMb2cgZmlsZXMKCSAgc2hvdWxkIHJlYWxseSBiZSBkaWZmZXJlbnQgZm9yIHRlc3QgYW5kIG1lbWNoZWNrLiBBbHNvIG1ha2Ugc3VyZQoJICB0byBub3QgdHJ1bmthdGUgdGhlIG91dHB1dCBvZiB0aGUgdGVzdCB1bnRpbCB0aGUgdmFsZ3JpbmQgb3IgYW55CgkgIG90aGVyIGNoZWNraW5nIGlzIHBlZnJvcm1lZC4KCjIwMDYtMDMtMTYgMTE6MjggIGhvZmZtYW4KCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvY21DdXJzZXNNYWluRm9ybS5jeHg6IEVOSDogbm90IGFsbCBtZXNzYWdlcwoJICBhcmUgZXJyb3JzCgoyMDA2LTAzLTE2IDExOjI3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21PcmRlckxpbmtEaXJlY3Rvcmllcy5jeHg6IEVOSDogZG9uJ3QgcHV0IHRoZSBkZWZhdWx0CgkgIGZyYW1ld29yayBwYXRoIGluIGEgLUYgb3B0aW9uCgoyMDA2LTAzLTE2IDExOjIxICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvRHluYW1pY0xvYWRlci5oeHguaW46IENPTVA6IEZpeCBwcm9ibGVtIHdpdGgKCSAgbmFtZXNwYWNlCgoyMDA2LTAzLTE2IDExOjE1ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0ZyZWVCU0QuY21ha2U6IEVOSDogRW5hYmxpbmcgc29uYW1lIHN1cHBvcnQgb24KCSAgRnJlZUJTRC4KCjIwMDYtMDMtMTYgMTE6MDEgIGFuZHkKCgkqIFNvdXJjZS9jbUR5bmFtaWNMb2FkZXIuY3h4LCBTb3VyY2UvY21EeW5hbWljTG9hZGVyLmgsCgkgIFNvdXJjZS9jbUxvYWRDb21tYW5kQ29tbWFuZC5jeHgsIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwKCSAgU291cmNlL2NtYWtlbWFpbi5jeHgsIFNvdXJjZS9rd3N5cy9EeW5hbWljTG9hZGVyLmN4eCwKCSAgU291cmNlL2t3c3lzL0R5bmFtaWNMb2FkZXIuaHh4LmluLAoJICBTb3VyY2Uva3dzeXMvdGVzdER5bmFtaWNMb2FkZXIuY3h4LCBTb3VyY2Uva3dzeXMvdGVzdER5bmxvYWQuYywKCSAgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHg6IEVOSDogQ2xlYW51cAoJICBEeW5hbWljTG9hZGVyIHNvIHRoYXQgdGhlIHN5bWJvbHMgaGF2ZSBtb3JlIGNvbnNpc3RlbnQgbmFtZXMsCgkgIHN0YXJ0IHVzaW5nIGR5bmFtaWMgbG9hZGVyIGZyb20ga3dzeXMgaW4gQ01ha2UKCjIwMDYtMDMtMTYgMTA6NTMgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmgsIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxYQ29kZUdlbmVyYXRvci5oLCBjbU1ha2VmaWxlLmg6IFNUWUxFOiBtaW5vciBjb21tZW50CgkgIGNsZWFudXBzCgoyMDA2LTAzLTE2IDEwOjQ0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nLzogY21DdXJzZXNCb29sV2lkZ2V0LmN4eCwKCSAgY21DdXJzZXNDYWNoZUVudHJ5Q29tcG9zaXRlLmN4eCwgY21DdXJzZXNDYWNoZUVudHJ5Q29tcG9zaXRlLmgsCgkgIGNtQ3Vyc2VzRHVtbXlXaWRnZXQuY3h4LCBjbUN1cnNlc0ZpbGVQYXRoV2lkZ2V0LmN4eCwKCSAgY21DdXJzZXNGb3JtLmN4eCwgY21DdXJzZXNGb3JtLmgsIGNtQ3Vyc2VzTGFiZWxXaWRnZXQuY3h4LAoJICBjbUN1cnNlc0xvbmdNZXNzYWdlRm9ybS5jeHgsIGNtQ3Vyc2VzTG9uZ01lc3NhZ2VGb3JtLmgsCgkgIGNtQ3Vyc2VzTWFpbkZvcm0uY3h4LCBjbUN1cnNlc01haW5Gb3JtLmgsIGNtQ3Vyc2VzUGF0aFdpZGdldC5jeHgsCgkgIGNtQ3Vyc2VzUGF0aFdpZGdldC5oLCBjbUN1cnNlc1N0cmluZ1dpZGdldC5jeHgsCgkgIGNtQ3Vyc2VzU3RyaW5nV2lkZ2V0LmgsIGNtQ3Vyc2VzV2lkZ2V0LmN4eCwgY21DdXJzZXNXaWRnZXQuaDoKCSAgRU5IOiBtXyBjbGVhbnVwIGZvciBjdXJzZXMKCjIwMDYtMDMtMTYgMDk6MzMgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQWRkVGVzdENvbW1hbmQuaCwgY21EYXRhLmgsIGNtRGVwZW5kc0MuY3h4LAoJICBjbURlcGVuZHNDLmgsIGNtU3RhbmRhcmRJbmNsdWRlcy5oLCBjbVVzZU1hbmdsZWRNZXNhQ29tbWFuZC5oLAoJICBjbVZhcmlhYmxlUmVxdWlyZXNDb21tYW5kLmg6IEVOSDogYSB3YXJuaW5nIGZpeCBhbmQgc29tZSBtb3JlCgkgIGNsZWFudXAKCjIwMDYtMDMtMTYgMDk6MTcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMy0xNSAxNjozMiAgbWFydGluawoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBmaXggd2FybmluZwoKMjAwNi0wMy0xNSAxNDoxNCAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9JUklYNjQuY21ha2U6IEVOSDogdXNlIGMgbm90IGN4eAoKMjAwNi0wMy0xNSAxMzoyMCAgYWxleAoKCSogTW9kdWxlcy9Vc2VQa2dDb25maWcuY21ha2U6IEJVRzogY2hhbmdlIHRoZSBmb3JtYXR0aW5nIG9mIHRoZQoJICBwa2djb25maWcgbW9kdWxlIGRvY3VtZW50YXRpb24gc28gdGhhdCBpdCBkb2Vzbid0IGNyYXNoIHNvbWUKCSAgdmVyc2lvbnMgb2Yga29ucXVlcm9yIChmaXhlZCB3aXRoIGN1cnJlbnQga29ucXkpCgoJICBBbGV4CgoyMDA2LTAzLTE1IDEyOjAyICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFhDb2RlMjFHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgY21ha2UuY3h4OiBFTkg6IGZpeCB1cCB0aGlzIGNoYW5nZXMKCSAgZm9yIG1hYwoKMjAwNi0wMy0xNSAxMTozOCAgbWFydGluawoKCSogU291cmNlLzogY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIGNtTWFrZURlcGVuZC5jeHgsCgkgIGNtTWFrZURlcGVuZC5oLCBjbVhDb2RlT2JqZWN0LmN4eCwgY21YQ29kZU9iamVjdC5oOiBCVUc6IHNvbWUKCSAgVU5JWCBmaXhlcyBmb3IgbXkgbV8gY29tbWl0CgoyMDA2LTAzLTE1IDExOjI2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDMtMTUgMTE6MDEgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuY3h4LAoJICBjbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuY3h4LCBjbUFkZERlZmluaXRpb25zQ29tbWFuZC5jeHgsCgkgIGNtQWRkRGVwZW5kZW5jaWVzQ29tbWFuZC5jeHgsIGNtQWRkRXhlY3V0YWJsZUNvbW1hbmQuY3h4LAoJICBjbUFkZExpYnJhcnlDb21tYW5kLmN4eCwgY21BZGRMaWJyYXJ5Q29tbWFuZC5oLAoJICBjbUFkZFN1YkRpcmVjdG9yeUNvbW1hbmQuY3h4LCBjbUFkZFRlc3RDb21tYW5kLmN4eCwKCSAgY21BdXhTb3VyY2VEaXJlY3RvcnlDb21tYW5kLmN4eCwgY21CdWlsZENvbW1hbmQuY3h4LAoJICBjbUJ1aWxkTmFtZUNvbW1hbmQuY3h4LCBjbUNNYWtlTWluaW11bVJlcXVpcmVkLmN4eCwKCSAgY21DUGx1Z2luQVBJLmN4eCwgY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaCwgY21DYWNoZU1hbmFnZXIuY3h4LAoJICBjbUNhY2hlTWFuYWdlci5oLCBjbUNvbW1hbmQuaCwgY21Db21tYW5kQXJndW1lbnRMZXhlci5jeHgsCgkgIGNtQ29tbWFuZEFyZ3VtZW50UGFyc2VySGVscGVyLmN4eCwKCSAgY21Db21tYW5kQXJndW1lbnRQYXJzZXJIZWxwZXIuaCwgY21Db25maWd1cmVGaWxlQ29tbWFuZC5jeHgsCgkgIGNtQ29uZmlndXJlRmlsZUNvbW1hbmQuaCwgY21DcmVhdGVUZXN0U291cmNlTGlzdC5jeHgsCgkgIGNtQ3VzdG9tQ29tbWFuZC5jeHgsIGNtQ3VzdG9tQ29tbWFuZC5oLCBjbURlcGVuZHMuY3h4LAoJICBjbURlcGVuZHMuaCwgY21EZXBlbmRzQy5jeHgsIGNtRGVwZW5kc0MuaCwgY21EZXBlbmRzRm9ydHJhbi5jeHgsCgkgIGNtRGVwZW5kc0ZvcnRyYW4uaCwgY21EZXBlbmRzRm9ydHJhbkxleGVyLmN4eCwKCSAgY21EZXBlbmRzSmF2YUxleGVyLmN4eCwgY21EeW5hbWljTG9hZGVyLmN4eCwKCSAgY21FbmFibGVMYW5ndWFnZUNvbW1hbmQuY3h4LCBjbUVuYWJsZVRlc3RpbmdDb21tYW5kLmN4eCwKCSAgY21FbmRJZkNvbW1hbmQuY3h4LCBjbUV4ZWNQcm9ncmFtQ29tbWFuZC5jeHgsCgkgIGNtRXhlY3V0ZVByb2Nlc3NDb21tYW5kLmN4eCwgY21FeHBvcnRMaWJyYXJ5RGVwZW5kZW5jaWVzLmN4eCwKCSAgY21FeHBvcnRMaWJyYXJ5RGVwZW5kZW5jaWVzLmgsIGNtRXhwckxleGVyLmN4eCwKCSAgY21FeHByUGFyc2VySGVscGVyLmN4eCwgY21FeHByUGFyc2VySGVscGVyLmgsCgkgIGNtRkxUS1dyYXBVSUNvbW1hbmQuY3h4LCBjbUZMVEtXcmFwVUlDb21tYW5kLmgsCgkgIGNtRmlsZUNvbW1hbmQuY3h4LCBjbUZpbGVUaW1lQ29tcGFyaXNvbi5jeHgsCgkgIGNtRmlsZVRpbWVDb21wYXJpc29uLmgsIGNtRmluZEJhc2UuY3h4LCBjbUZpbmRMaWJyYXJ5Q29tbWFuZC5jeHgsCgkgIGNtRmluZFBhY2thZ2VDb21tYW5kLmN4eCwgY21GaW5kUGF0aENvbW1hbmQuY3h4LAoJICBjbUZpbmRQcm9ncmFtQ29tbWFuZC5jeHgsIGNtRm9yRWFjaENvbW1hbmQuY3h4LAoJICBjbUZvckVhY2hDb21tYW5kLmgsIGNtR2VuZXJhdGVkRmlsZVN0cmVhbS5jeHgsCgkgIGNtR2VuZXJhdGVkRmlsZVN0cmVhbS5oLCBjbUdldENNYWtlUHJvcGVydHlDb21tYW5kLmN4eCwKCSAgY21HZXREaXJlY3RvcnlQcm9wZXJ0eUNvbW1hbmQuY3h4LAoJICBjbUdldEZpbGVuYW1lQ29tcG9uZW50Q29tbWFuZC5jeHgsCgkgIGNtR2V0U291cmNlRmlsZVByb3BlcnR5Q29tbWFuZC5jeHgsCgkgIGNtR2V0VGFyZ2V0UHJvcGVydHlDb21tYW5kLmN4eCwgY21HZXRUZXN0UHJvcGVydHlDb21tYW5kLmN4eCwKCSAgY21HbG9iLmN4eCwgY21HbG9iLmgsIGNtR2xvYmFsQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5oLAoJICBjbUdsb2JhbEtkZXZlbG9wR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxNU1lTTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbE1pbkdXTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvOEdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsV2F0Y29tV01ha2VHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbFhDb2RlMjFHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5oLAoJICBjbUlmQ29tbWFuZC5jeHgsIGNtSWZDb21tYW5kLmgsIGNtSW5jbHVkZUNvbW1hbmQuY3h4LAoJICBjbUluY2x1ZGVEaXJlY3RvcnlDb21tYW5kLmN4eCwKCSAgY21JbmNsdWRlRXh0ZXJuYWxNU1Byb2plY3RDb21tYW5kLmN4eCwKCSAgY21JbmNsdWRlUmVndWxhckV4cHJlc3Npb25Db21tYW5kLmN4eCwgY21JbnN0YWxsQ29tbWFuZC5jeHgsCgkgIGNtSW5zdGFsbEZpbGVzQ29tbWFuZC5jeHgsIGNtSW5zdGFsbEZpbGVzQ29tbWFuZC5oLAoJICBjbUluc3RhbGxQcm9ncmFtc0NvbW1hbmQuY3h4LCBjbUluc3RhbGxQcm9ncmFtc0NvbW1hbmQuaCwKCSAgY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eCwgY21JbnN0YWxsVGFyZ2V0c0NvbW1hbmQuY3h4LAoJICBjbUxpbmtEaXJlY3Rvcmllc0NvbW1hbmQuY3h4LCBjbUxpbmtMaWJyYXJpZXNDb21tYW5kLmN4eCwKCSAgY21MaXN0Q29tbWFuZC5jeHgsIGNtTGlzdEZpbGVDYWNoZS5jeHgsIGNtTGlzdEZpbGVDYWNoZS5oLAoJICBjbUxvYWRDYWNoZUNvbW1hbmQuY3h4LCBjbUxvYWRDb21tYW5kQ29tbWFuZC5jeHgsCgkgIGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBjbUxvY2FsR2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5oLAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsIGNtTWFjcm9Db21tYW5kLmN4eCwKCSAgY21NYWNyb0NvbW1hbmQuaCwgY21NYWtlRGVwZW5kLmN4eCwgY21NYWtlRGVwZW5kLmgsCgkgIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsCgkgIGNtTWFrZWZpbGVFeGVjdXRhYmxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwgY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5oLAoJICBjbU1hcmtBc0FkdmFuY2VkQ29tbWFuZC5jeHgsIGNtTWF0aENvbW1hbmQuY3h4LAoJICBjbU1lc3NhZ2VDb21tYW5kLmN4eCwgY21PcHRpb25Db21tYW5kLmN4eCwKCSAgY21PcmRlckxpbmtEaXJlY3Rvcmllcy5jeHgsIGNtT3JkZXJMaW5rRGlyZWN0b3JpZXMuaCwKCSAgY21PdXRwdXRSZXF1aXJlZEZpbGVzQ29tbWFuZC5jeHgsIGNtT3V0cHV0UmVxdWlyZWRGaWxlc0NvbW1hbmQuaCwKCSAgY21Qcm9qZWN0Q29tbWFuZC5jeHgsIGNtUVRXcmFwQ1BQQ29tbWFuZC5jeHgsCgkgIGNtUVRXcmFwQ1BQQ29tbWFuZC5oLCBjbVFUV3JhcFVJQ29tbWFuZC5jeHgsIGNtUVRXcmFwVUlDb21tYW5kLmgsCgkgIGNtUmVtb3ZlQ29tbWFuZC5jeHgsIGNtUmVtb3ZlRGVmaW5pdGlvbnNDb21tYW5kLmN4eCwKCSAgY21TZXBhcmF0ZUFyZ3VtZW50c0NvbW1hbmQuY3h4LCBjbVNldENvbW1hbmQuY3h4LAoJICBjbVNldERpcmVjdG9yeVByb3BlcnRpZXNDb21tYW5kLmN4eCwKCSAgY21TZXRTb3VyY2VGaWxlc1Byb3BlcnRpZXNDb21tYW5kLmN4eCwKCSAgY21TZXRUYXJnZXRQcm9wZXJ0aWVzQ29tbWFuZC5jeHgsCgkgIGNtU2V0VGVzdHNQcm9wZXJ0aWVzQ29tbWFuZC5jeHgsIGNtU2l0ZU5hbWVDb21tYW5kLmN4eCwKCSAgY21Tb3VyY2VGaWxlLmN4eCwgY21Tb3VyY2VGaWxlLmgsIGNtU291cmNlR3JvdXAuY3h4LAoJICBjbVNvdXJjZUdyb3VwLmgsIGNtU291cmNlR3JvdXBDb21tYW5kLmN4eCwgY21TdHJpbmdDb21tYW5kLmN4eCwKCSAgY21TdWJkaXJDb21tYW5kLmN4eCwgY21UYXJnZXQuY3h4LCBjbVRhcmdldC5oLAoJICBjbVRhcmdldExpbmtMaWJyYXJpZXNDb21tYW5kLmN4eCwgY21UYXJnZXRMaW5rTGlicmFyaWVzQ29tbWFuZC5oLAoJICBjbVRlc3QuY3h4LCBjbVRlc3QuaCwgY21UcnlDb21waWxlQ29tbWFuZC5jeHgsCgkgIGNtVHJ5UnVuQ29tbWFuZC5jeHgsIGNtVXRpbGl0eVNvdXJjZUNvbW1hbmQuY3h4LAoJICBjbVZUS01ha2VJbnN0YW50aWF0b3JDb21tYW5kLmN4eCwgY21WVEtNYWtlSW5zdGFudGlhdG9yQ29tbWFuZC5oLAoJICBjbVZUS1dyYXBKYXZhQ29tbWFuZC5jeHgsIGNtVlRLV3JhcEphdmFDb21tYW5kLmgsCgkgIGNtVlRLV3JhcFB5dGhvbkNvbW1hbmQuY3h4LCBjbVZUS1dyYXBQeXRob25Db21tYW5kLmgsCgkgIGNtVlRLV3JhcFRjbENvbW1hbmQuY3h4LCBjbVZUS1dyYXBUY2xDb21tYW5kLmgsCgkgIGNtVmFyaWFibGVSZXF1aXJlc0NvbW1hbmQuY3h4LCBjbVZhcmlhYmxlV2F0Y2guY3h4LAoJICBjbVZhcmlhYmxlV2F0Y2guaCwgY21XaGlsZUNvbW1hbmQuY3h4LCBjbVdoaWxlQ29tbWFuZC5oLAoJICBjbVdpbjMyUHJvY2Vzc0V4ZWN1dGlvbi5jeHgsIGNtV2luMzJQcm9jZXNzRXhlY3V0aW9uLmgsCgkgIGNtV3JpdGVGaWxlQ29tbWFuZC5jeHgsIGNtWENvZGUyMU9iamVjdC5jeHgsIGNtWENvZGVPYmplY3QuY3h4LAoJICBjbVhDb2RlT2JqZWN0LmgsIGNtYWtlLmN4eCwgY21ha2UuaCwgY21ha2VtYWluLmN4eCwKCSAgY21ha2V3aXphcmQuY3h4LCBjbWFrZXdpemFyZC5oLCBDVGVzdC9jbUNUZXN0QnVpbGRDb21tYW5kLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdENvbmZpZ3VyZUNvbW1hbmQuY3h4LAoJICBDVGVzdC9jbUNUZXN0Q292ZXJhZ2VDb21tYW5kLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdEhhbmRsZXJDb21tYW5kLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdE1lbUNoZWNrQ29tbWFuZC5jeHgsIENUZXN0L2NtQ1Rlc3RTdGFydENvbW1hbmQuY3h4LAoJICBDVGVzdC9jbUNUZXN0U3VibWl0Q29tbWFuZC5jeHgsIENUZXN0L2NtQ1Rlc3RUZXN0Q29tbWFuZC5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHgsIENUZXN0L2NtQ1Rlc3RVcGRhdGVDb21tYW5kLmN4eDoKCSAgU1RZTEU6IHNvbWUgbV8gdG8gdGhpcy0+IGNsZWFudXAKCjIwMDYtMDMtMTUgMDk6MjMgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0VXBkYXRlSGFuZGxlci5jeHg6IEVOSDogQWRkIHN2biBjbGVhbnVwCgkgIGJlZm9yZSBydW5uaW5nIHN2bgoKMjAwNi0wMy0xNSAwOToyMiAgYW5keQoKCSogU291cmNlL0NQYWNrL2NtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmN4eDogRU5IOiBBbGxvdyBtdWx0aXBsZQoJICBpbnN0YWxsIGRpcmVjdG9yaWVzCgoyMDA2LTAzLTE0IDE2OjM4ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRPcGVuR0wuY21ha2U6IEVOSDogZ28gYmFjayB0byBmaW5kaW5nIHRoZSBmcmFtZXdvcmsKCSAgb3BlbmdsIG9uIHRoZSBtYWMKCjIwMDYtMDMtMTQgMTU6MTkgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZE9wZW5HTC5jbWFrZTogRU5IOiB1c2Ugc3RhbmRhcmQgaW5jbHVkZSBwYXRoIGZvcgoJICBPcGVuR0wKCjIwMDYtMDMtMTQgMTQ6MDMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vRGFyd2luLmNtYWtlLAoJICBTb3VyY2UvY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmg6IEVOSDogYWRkIHN1cHBvcnQgZm9yIHJlbW92aW5nCgkgIGxhbmd1YWdlIGZsYWdzIGZyb20gc2hhcmVkIGxpYnJhcnkgYW5kIHNoYXJlZCBtb2R1bGUgbGluawoJICBjb21tYW5kcwoKMjAwNi0wMy0xNCAxMTozNSAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBGaXhlZCBvYmplY3QgZmlsZQoJICBuYW1lIGNvbnN0cnVjdGlvbiB0byB1c2UgQ29udmVydCBtZXRob2QgZm9yIHJlbGF0aXZlIHBhdGgKCSAgY29udmVyc2lvbi4gIEFsc28gZml4ZWQgdGVzdCBvZiByZXN1bHQgdG8gY2hlY2sgZXhwbGljaXRseSBmb3IgYQoJICBmdWxsIHBhdGguCgoyMDA2LTAzLTE0IDEwOjE0ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBCVUc6IEF2b2lkIGZ1bGwgcGF0aHMKCSAgYW5kIHNwYWNlcyB3aGVuIGNvbnN0cnVjdGluZyBvYmplY3QgZmlsZSBuYW1lcy4KCjIwMDYtMDMtMTQgMDk6MzcgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogQlVHOiBDbGFyaWZpZWQgY29uZnVzaW5nIGVycm9yIG1lc3NhZ2UuCgoyMDA2LTAzLTE0IDAyOjMxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDMtMTMgMTY6NDUgIGFuZHkKCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5oOiBTVFlMRTogRml4IHN0eWxlIGNoZWNrZXIKCjIwMDYtMDMtMTMgMTU6NTcgIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzL3Rlc3REeW5hbWljTG9hZGVyLmN4eDogQ09NUDogRml4IHdhcm5pbmcKCjIwMDYtMDMtMTMgMTU6MTkgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEVOSDogSW50cm9kdWNpbmcgbmV3CgkgIHBvbGljeSB0byBjb25zdHJ1Y3QgbW9yZSB1bmlxdWUgb2JqZWN0IGZpbGUgbmFtZXMuICBUaGlzIHNob3VsZAoJICBhbGxvdyBtdWx0aXBsZSBzb3VyY2VzIHdpdGggdGhlIHNhbWUgZmlsZSBuYW1lIGJ1dCBkaWZmZXJlbnQgRlVMTAoJICBwYXRocyB0byBiZSBhZGRlZCB0byBhIHNpbmdsZSB0YXJnZXQuCgoyMDA2LTAzLTEzIDE0OjM5ICBtYWxhdGVycmUKCgkqIFNvdXJjZS9rd3N5cy86IER5bmFtaWNMb2FkZXIuY3h4LCB0ZXN0RHluYW1pY0xvYWRlci5jeHg6IEJVRzogRml4CgkgIHByb2JsZW0gb24gTWFjT1NYLCBieSBkaXNhYmxpbmcgcGFydCBvZiB0aGUgdGVzdC4KCjIwMDYtMDMtMTMgMTM6MTEgIGhvZmZtYW4KCgkqIE1vZHVsZXMvVlRLQ29tcGF0aWJpbGl0eS5jbWFrZTogRU5IOiBhZGQgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkKCSAgZml4IGZvciBtb3JlIGFnZ3Jlc3NpdmUgZmluZF9wYXRoIGNvbW1hbmQKCjIwMDYtMDMtMTMgMTE6MjcgIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzL0R5bmFtaWNMb2FkZXIuY3h4OiBFTkg6IEZpeCBkYXNoYm9hcmQgd2l0aCBjb3ZlcmFnZQoKMjAwNi0wMy0xMyAxMDo0OSAgbWFsYXRlcnJlCgoJKiBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQ6IEVOSDogRG8gbm90IGJ1aWxkIHRoZSBsaWJyYXJ5IGlmIHdlCgkgIGFyZSBub3QgZG9pbmcgVGVzdGluZwoKMjAwNi0wMy0xMyAxMDoyNyAgbWFsYXRlcnJlCgoJKiBTb3VyY2Uva3dzeXMvdGVzdER5bmFtaWNMb2FkZXIuY3h4OiBFTkg6IE1ha2UgdGVzdCB1c2FibGUgZnJvbQoJICBjb21tYW5kIGxpbmUKCjIwMDYtMDMtMTMgMDI6MzEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMy0xMiAxMDowMyAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogRU5IOiByZW1vdmUgd2FybmluZwoKMjAwNi0wMy0xMiAwOTo0MyAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IHJlbW92ZSB0ZXN0IHVudGlsIGl0IHdvcmtzCgoyMDA2LTAzLTEyIDAyOjI2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDMtMTEgMTI6NDMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZE9wZW5HTC5jbWFrZTogRU5IOiB0YWtlIGFkdmFudGFnZSBvZiBuZXcgZnJhbWV3b3JrCgkgIHN0dWZmCgoyMDA2LTAzLTExIDExOjUzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IHJlbW92ZSBwcmludAoKMjAwNi0wMy0xMSAxMTo1MiAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogRU5IOiB0cnkgdG8gY2xlYW4gdXAgdGhlIHNlYXJjaCBmb3IKCSAgcHJvZ3JhbXMKCjIwMDYtMDMtMTEgMTA6MDkgIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzL0R5bmFtaWNMb2FkZXIuY3h4OiBCVUc6IEZpeCBmb3IgTUlOR1czMgoKMjAwNi0wMy0xMSAwOTo1OSAgbWFsYXRlcnJlCgoJKiBTb3VyY2Uva3dzeXMvRHluYW1pY0xvYWRlci5jeHg6IEVOSDogQWRkIHN1cHBvcnQgZm9yIExhc3RFcnJvciBvbgoJICBIUFVYCgoyMDA2LTAzLTExIDA5OjQ3ICBtYWxhdGVycmUKCgkqIFNvdXJjZS9rd3N5cy9EeW5hbWljTG9hZGVyLmN4eDogRU5IOiBBbHNvIGxvb2sgaW50byBkYXRhIHNlZ21lbnQKCSAgKGNvbnNpc3RhbnQgd2l0aCBvdGhlciBpbXBsZW1lbnRhdGlvbikKCjIwMDYtMDMtMTEgMDI6MzMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMy0xMCAxNzozNyAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogRU5IOiB1bmRvIGxhc3QgY2hhbmdlIGJlY2F1c2UgaXQKCSAgYnJva2UgdGhlIGRhc2hib2FyZAoKMjAwNi0wMy0xMCAxNjo1MyAgaG9mZm1hbgoKCSogU291cmNlLzogY21GaWxlQ29tbWFuZC5jeHgsIGNtRmlsZUNvbW1hbmQuaDogRU5IOiBhZGQgYSBuZXcgRklMRQoJICBTWVNURU1fUEFUSCB0aGF0IGFsbG93cyB5b3UgdG8gcmVhZCBhIGVudmlyb25tZW50IHZhcmlhYmxlIHdpdGggYQoJICBwYXRoIGluIGl0LgoKMjAwNi0wMy0xMCAxNjo1MiAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogRU5IOiBmaXggZmluZCBwcm9ncmFtIHRvIGxvb2sgZm9yCgkgIC5jb20gYW5kIC5leGUgY29ycmVjdGx5IGFuZCBub3QgcmV0dXJuIGZpbGVzIHdpdGggbm8gZXh0ZW5zaW9uIG9uCgkgIHdpbmRvd3MKCjIwMDYtMDMtMTAgMTY6MDMgIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzLzogRHluYW1pY0xvYWRlci5oeHguaW4sIFN5c3RlbVRvb2xzLmh4eC5pbjogRU5IOiBBZGQKCSAgZG9jdW1lbnRhdGlvbiBvbiB0aGUgcHJvYmxlbSB3aXRoIHN5c3RlbSB3aWRlIHBhdGggZm9yIGxvb2tpbmcgdXAKCSAgZHluYW1pYyBsaWJyYXJpZXMuIFNUWUxFOiBGaXggdHJhaWxpbmcgd2hpdGUgc3BhY2VzCgoyMDA2LTAzLTEwIDE1OjQyICBtYWxhdGVycmUKCgkqIFNvdXJjZS9rd3N5cy90ZXN0RHluYW1pY0xvYWRlci5jeHg6IEJVRzogTmVlZCBhIC8gZm9yIFZpc3VhbAoJICBTdHVkaW8gYnVpbGQKCjIwMDYtMDMtMTAgMTU6MzggIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzLzogdGVzdER5bmFtaWNMb2FkZXIuY3h4LCB0ZXN0U3lzdGVtVG9vbHMuaC5pbjogQlVHOgoJICBEbyB0aGUgcHJvcGVyIHBhdGgKCjIwMDYtMDMtMTAgMTU6MTIgIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzL3Rlc3REeW5hbWljTG9hZGVyLmN4eDogQlVHOiBOZWVkIGEgdHJhaWxpbmcgc2xhc2gKCjIwMDYtMDMtMTAgMTU6MDggIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIHRlc3REeW5hbWljTG9hZGVyLmN4eCwKCSAgdGVzdFN5c3RlbVRvb2xzLmguaW46IEJVRzogRml4IHByb2JsZW0gd2l0aCAgaW4gdGhlIHBhdGgKCjIwMDYtMDMtMTAgMTU6MDMgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0LmgsCgkgIENUZXN0L2NtQ1Rlc3RCdWlsZEFuZFRlc3RIYW5kbGVyLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdEJ1aWxkQW5kVGVzdEhhbmRsZXIuaCwKCSAgQ1Rlc3QvY21DVGVzdEJ1aWxkQ29tbWFuZC5jeHgsIENUZXN0L2NtQ1Rlc3RCdWlsZENvbW1hbmQuaCwKCSAgQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHgsIENUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuaCwKCSAgQ1Rlc3QvY21DVGVzdENvbW1hbmQuaCwgQ1Rlc3QvY21DVGVzdENvbmZpZ3VyZUNvbW1hbmQuY3h4LAoJICBDVGVzdC9jbUNUZXN0Q29uZmlndXJlQ29tbWFuZC5oLAoJICBDVGVzdC9jbUNUZXN0Q29uZmlndXJlSGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUNvbW1hbmQuY3h4LCBDVGVzdC9jbUNUZXN0Q292ZXJhZ2VDb21tYW5kLmgsCgkgIENUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4LCBDVGVzdC9jbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmgsCgkgIENUZXN0L2NtQ1Rlc3RFbXB0eUJpbmFyeURpcmVjdG9yeUNvbW1hbmQuaCwKCSAgQ1Rlc3QvY21DVGVzdEdlbmVyaWNIYW5kbGVyLmN4eCwgQ1Rlc3QvY21DVGVzdEdlbmVyaWNIYW5kbGVyLmgsCgkgIENUZXN0L2NtQ1Rlc3RIYW5kbGVyQ29tbWFuZC5jeHgsIENUZXN0L2NtQ1Rlc3RIYW5kbGVyQ29tbWFuZC5oLAoJICBDVGVzdC9jbUNUZXN0TWVtQ2hlY2tDb21tYW5kLmN4eCwgQ1Rlc3QvY21DVGVzdE1lbUNoZWNrQ29tbWFuZC5oLAoJICBDVGVzdC9jbUNUZXN0TWVtQ2hlY2tIYW5kbGVyLmN4eCwgQ1Rlc3QvY21DVGVzdE1lbUNoZWNrSGFuZGxlci5oLAoJICBDVGVzdC9jbUNUZXN0UnVuU2NyaXB0Q29tbWFuZC5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RSdW5TY3JpcHRDb21tYW5kLmgsIENUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdFNjcmlwdEhhbmRsZXIuaCwgQ1Rlc3QvY21DVGVzdFNsZWVwQ29tbWFuZC5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RTbGVlcENvbW1hbmQuaCwgQ1Rlc3QvY21DVGVzdFN0YXJ0Q29tbWFuZC5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RTdGFydENvbW1hbmQuaCwgQ1Rlc3QvY21DVGVzdFN1Ym1pdENvbW1hbmQuY3h4LAoJICBDVGVzdC9jbUNUZXN0U3VibWl0Q29tbWFuZC5oLCBDVGVzdC9jbUNUZXN0U3VibWl0SGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RTdWJtaXRIYW5kbGVyLmgsIENUZXN0L2NtQ1Rlc3RUZXN0Q29tbWFuZC5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RUZXN0Q29tbWFuZC5oLCBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuaCwgQ1Rlc3QvY21DVGVzdFVwZGF0ZUNvbW1hbmQuY3h4LAoJICBDVGVzdC9jbUNUZXN0VXBkYXRlQ29tbWFuZC5oLCBDVGVzdC9jbUNUZXN0VXBkYXRlSGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmg6IFNUWUxFOiBGaXggc29tZSBzdHlsZSBpc3N1ZXMKCjIwMDYtMDMtMTAgMTQ6NTMgIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIHRlc3REeW5hbWljTG9hZGVyLmN4eCwKCSAgdGVzdFN5c3RlbVRvb2xzLmguaW46IEJVRzogVHJ5aW5nIHRvIGdldCB0ZXN0RHluYW1pY0xvYWRlciB0bwoJICB3b3JrIG9uIFNvbGFyaXMgYW5kIFN1bk9TLCB3aGVyZSBjdXJyZW50IGRpcmVjdG9yeSBpcyBub3QgbG9va3VwCgkgIHdoZW4gZG9pbmcgZGxvcGVuCgoyMDA2LTAzLTEwIDEzOjU0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUNvbW1hbmRBcmd1bWVudExleGVyLmgsCgkgIGNtRGVwZW5kc0ZvcnRyYW5QYXJzZXJUb2tlbnMuaCwgY21EZXBlbmRzSmF2YUxleGVyLmgsCgkgIGNtRGVwZW5kc0phdmFQYXJzZXJIZWxwZXIuaCwgY21EZXBlbmRzSmF2YVBhcnNlclRva2Vucy5oLAoJICBjbUV4ZWNQcm9ncmFtQ29tbWFuZC5oLCBjbUV4cHJMZXhlci5oLCBjbUV4cHJQYXJzZXJUb2tlbnMuaCwKCSAgY21GTFRLV3JhcFVJQ29tbWFuZC5oLCBjbUZpbGVDb21tYW5kLmgsIGNtRmluZEJhc2UuaCwKCSAgY21HbG9iYWxCb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuaCwgY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxNU1lTTWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxNaW5HV01ha2VmaWxlR2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsIGNtR2xvYmFsV2F0Y29tV01ha2VHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5oLCBjbUxpc3RDb21tYW5kLmgsIGNtTG9jYWxHZW5lcmF0b3IuaCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwgY21Tb3VyY2VGaWxlLmN4eCwKCSAgY21TdHJpbmdDb21tYW5kLmN4eCwgY21TeXN0ZW1Ub29scy5jeHgsIGNtVGFyZ2V0LmN4eCwKCSAgY21UYXJnZXRMaW5rTGlicmFyaWVzQ29tbWFuZC5jeHgsIGNtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4LAoJICBjbVRyeVJ1bkNvbW1hbmQuY3h4LCBjbVVzZU1hbmdsZWRNZXNhQ29tbWFuZC5jeHgsCgkgIGNtVXRpbGl0eVNvdXJjZUNvbW1hbmQuY3h4LCBjbVZUS01ha2VJbnN0YW50aWF0b3JDb21tYW5kLmN4eCwKCSAgY21WVEtXcmFwSmF2YUNvbW1hbmQuY3h4LCBjbVZUS1dyYXBQeXRob25Db21tYW5kLmN4eCwKCSAgY21WVEtXcmFwVGNsQ29tbWFuZC5jeHgsIGNtVmFyaWFibGVSZXF1aXJlc0NvbW1hbmQuY3h4LAoJICBjbVZhcmlhYmxlV2F0Y2guY3h4LCBjbVZhcmlhYmxlV2F0Y2guaCwgY21XaGlsZUNvbW1hbmQuY3h4LAoJICBjbVdpbjMyUHJvY2Vzc0V4ZWN1dGlvbi5jeHgsIGNtWENvZGUyMU9iamVjdC5jeHgsCgkgIGNtWENvZGVPYmplY3QuY3h4LCBjbWFrZW1haW4uY3h4OiBTVFlMRTogZml4IGxpbmUgbGVuZ3RocwoKMjAwNi0wMy0xMCAxMzozNCAgbWFsYXRlcnJlCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBTVFlMRTogUmVtb3ZlIHRyYWlsaW5nIHdoaXRlc3BhY2VzCgoyMDA2LTAzLTEwIDEzOjM0ICBtYWxhdGVycmUKCgkqIFNvdXJjZS9rd3N5cy86IENNYWtlTGlzdHMudHh0LCBEeW5hbWljTG9hZGVyLmN4eDogQlVHOiBGaXgKCSAgRHluYW1pY0xvYWRlciBpbXBsZW1lbnRhdGlvbiBvbiBNYWNPU1ggKHVzaW5nIG9sZCBBUEkpCgoyMDA2LTAzLTEwIDEzOjMzICBtYWxhdGVycmUKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEVOSDogQWRkIHRyYWlsaW5nIHdoaXRlc3BhY2UKCjIwMDYtMDMtMTAgMTM6MDYgIGFuZHkKCgkqIFNvdXJjZS86IGNtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuY3h4LAoJICBjbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuY3h4LCBjbUFkZERlZmluaXRpb25zQ29tbWFuZC5jeHgsCgkgIGNtQWRkRGVmaW5pdGlvbnNDb21tYW5kLmgsIGNtQWRkRGVwZW5kZW5jaWVzQ29tbWFuZC5jeHgsCgkgIGNtQWRkRXhlY3V0YWJsZUNvbW1hbmQuaCwgY21CdWlsZENvbW1hbmQuY3h4LAoJICBjbUJ1aWxkTmFtZUNvbW1hbmQuaCwgY21DTWFrZU1pbmltdW1SZXF1aXJlZC5jeHgsCgkgIGNtQ1BsdWdpbkFQSS5jeHgsIGNtQ1BsdWdpbkFQSS5oLCBjbUNhY2hlTWFuYWdlci5jeHgsCgkgIGNtQ29tbWFuZEFyZ3VtZW50UGFyc2VyLmN4eCwgY21Db21tYW5kQXJndW1lbnRQYXJzZXJIZWxwZXIuaCwKCSAgY21Db21tYW5kQXJndW1lbnRQYXJzZXJUb2tlbnMuaCwgY21DcmVhdGVUZXN0U291cmNlTGlzdC5jeHgsCgkgIGNtQ3VzdG9tQ29tbWFuZC5jeHgsIGNtRGVwZW5kc0MuY3h4LCBjbURlcGVuZHNDLmgsCgkgIGNtRGVwZW5kc0ZvcnRyYW5MZXhlci5jeHgsIGNtRGVwZW5kc0ZvcnRyYW5MZXhlci5oLAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsIGNtTWFjcm9Db21tYW5kLmN4eCwKCSAgY21NYWNyb0NvbW1hbmQuaCwgY21NYWtlRGVwZW5kLmN4eCwgY21ha2UuY3h4LCBjbWFrZXdpemFyZC5jeHgsCgkgIENQYWNrL2NtQ1BhY2tHZW5lcmF0b3JzLmN4eCwgQ1BhY2svY21DUGFja0dlbmVyYXRvcnMuaCwKCSAgQ1BhY2svY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4LAoJICBDUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5oLCBDUGFjay9jbUNQYWNrTG9nLmN4eCwKCSAgQ1BhY2svY21DUGFja0xvZy5oLCBDUGFjay9jbUNQYWNrTlNJU0dlbmVyYXRvci5jeHgsCgkgIENQYWNrL2NtQ1BhY2tOU0lTR2VuZXJhdG9yLmgsCgkgIENQYWNrL2NtQ1BhY2tQYWNrYWdlTWFrZXJHZW5lcmF0b3IuY3h4LAoJICBDUGFjay9jbUNQYWNrU1RHWkdlbmVyYXRvci5jeHgsIENQYWNrL2NtQ1BhY2tTVEdaR2VuZXJhdG9yLmgsCgkgIENQYWNrL2NtQ1BhY2tUR1pHZW5lcmF0b3IuY3h4LCBDUGFjay9jbUNQYWNrVEdaR2VuZXJhdG9yLmgsCgkgIENQYWNrL2NwYWNrLmN4eDogU1RZTEU6IEZpeCBzb21lIHN0eWxlIGlzc3VlcwoKMjAwNi0wMy0xMCAxMjo0NyAgYW5keQoKCSogU291cmNlL0NQYWNrL2NtQ1BhY2tQYWNrYWdlTWFrZXJHZW5lcmF0b3IuY3h4OiBTVFlMRTogQ2xlYW51cAoJICB0cmFpbGluZyBzcGFjZXMKCjIwMDYtMDMtMTAgMTI6MDEgIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzLzogR2xvYi5jeHgsIFJlZ2lzdHJ5LmN4eCwgUmVndWxhckV4cHJlc3Npb24uY3h4LAoJICB0ZXN0Q29tbWFuZExpbmVBcmd1bWVudHMuY3h4OiBTVFlMRTogTWFrZSBzdXJlIHRvIHVzZSB0aGUgcHJvcGVyCgkgIGNhc3QuCgoyMDA2LTAzLTEwIDExOjU4ICBhbGV4CgoJKiBNb2R1bGVzL0ZpbmRLREU0LmNtYWtlOiBFTkg6IG5ldyBtb2R1bGUgdG8gZmluZCB0aGUKCSAgRmluZEtERTRJbnRlcm5hbC5jbWFrZSBpbnN0YWxsZWQgYnkga2RlbGliczQKCgkgIEFsZXgKCjIwMDYtMDMtMTAgMTE6NTcgIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzLzogRHluYW1pY0xvYWRlci5jeHgsIHRlc3REeW5hbWljTG9hZGVyLmN4eDogRU5IOgoJICBNYWtlIHN1cmUgdGhhdCB3ZSBmaW5kIHRoZSBwcm9wZXIgc3ltYm9sIGFuZCBub3QgdGhlIG9uZSB0aGF0CgkgIHN0YXJ0IHdpdGggXy4gU1RZTEU6IFJlbW92ZSBhbiBvbGQgc3R5bGUgY2FzdAoKMjAwNi0wMy0xMCAxMTozMiAgbWFsYXRlcnJlCgoJKiBTb3VyY2Uva3dzeXMvOiBEeW5hbWljTG9hZGVyLmN4eCwgdGVzdER5bmFtaWNMb2FkZXIuY3h4OiBFTkg6CgkgIEhvcGVmdWxseSBoYXZlIHRoZSBEeW5hbWljTG9hZGVyIHRvIHRoZSBwcm9wZXIgdGhpbmcuCgoyMDA2LTAzLTEwIDExOjEzICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUNhY2hlTWFuYWdlci5oLCBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLAoJICBjbU1ha2VEZXBlbmQuaCwgY21NYWtlZmlsZS5oLCBjbU91dHB1dFJlcXVpcmVkRmlsZXNDb21tYW5kLmgsCgkgIGNtUHJvamVjdENvbW1hbmQuaCwgY21SZW1vdmVEZWZpbml0aW9uc0NvbW1hbmQuaCwKCSAgY21TZXRUZXN0c1Byb3BlcnRpZXNDb21tYW5kLmgsIGNtU291cmNlR3JvdXAuaCwKCSAgY21TdGFuZGFyZEluY2x1ZGVzLmgsIGNtU3RyaW5nQ29tbWFuZC5oLCBjbVN1YmRpckNvbW1hbmQuaCwKCSAgY21TeXN0ZW1Ub29scy5oLCBjbVRhcmdldC5oLCBjbVRyeUNvbXBpbGVDb21tYW5kLmgsCgkgIGNtVmFyaWFibGVXYXRjaC5oLCBjbVhDb2RlMjFPYmplY3QuaCwgY21ha2UuaDogRU5IOiBmaXggbGluZQoJICBsZW5ndGggc3R5bGUgc3R1ZmYKCjIwMDYtMDMtMTAgMTE6MTIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUZpbmRCYXNlLmN4eDogRU5IOiBhdm9pZCBhZGRpbmcganVuayBpbnRvIHBhdGhzCgoyMDA2LTAzLTEwIDEwOjI4ICBtYWxhdGVycmUKCgkqIFNvdXJjZS9rd3N5cy90ZXN0RHluYW1pY0xvYWRlci5jeHg6IEJVRzogTWFrZSBzdXJlIHRvIGhhdmUgcHJvcGVyCgkgIGRlcGVuZGVuY2llcwoKMjAwNi0wMy0xMCAxMDoyNiAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0OiBFTkg6IHVzZSBDTUFLRV9ETF9MSUJTIGFuZCBub3QgZGwKCSAgZGlyZWN0bHkgYXMgaXQgZG9lcyBub3QgYWx3YXlzIGV4aXN0CgoyMDA2LTAzLTEwIDEwOjIzICBtYWxhdGVycmUKCgkqIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dDogQ09NUDogRml4IGN5Z3dpbiBidWlsZAoKMjAwNi0wMy0xMCAxMDoxOSAgbWFsYXRlcnJlCgoJKiBTb3VyY2Uva3dzeXMvdGVzdER5bmxvYWQuYzogQ09NUDogRml4IGNvbXBpbGF0aW9uIG9uIE1hY09TWAoJICAoY29tbW9uIHN5bWJvbHMgbm90IGFsbG93ZWQgd2l0aCBNSF9EWUxJQiBvdXRwdXQgZm9ybWF0KQoKMjAwNi0wMy0xMCAxMDoxMiAgYW5keQoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9CdW5kbGVUZXN0L0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZAoJICBwYWNrYWdlIHRvIGJ1bmRsZSB0ZXN0CgoyMDA2LTAzLTEwIDEwOjA3ICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvdGVzdER5bmFtaWNMb2FkZXIuY3h4OiBDT01QOiBBZGQgbWlzc2luZyBpbmNsdWRlCgoyMDA2LTAzLTEwIDAyOjMyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDMtMDkgMTc6MTYgIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzL3Rlc3REeW5sb2FkLmM6IEJVRzogUmVtb3ZlIGNvbW1lbnQKCjIwMDYtMDMtMDkgMTc6MTUgIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzLzogdGVzdER5bmFtaWNMb2FkZXIuY3h4LCB0ZXN0RHlubG9hZC5jOiBFTkg6IHJlbW92ZQoJICB0ZXN0IHRlbXBvcmFyaWx5CgoyMDA2LTAzLTA5IDE3OjA4ICBtYWxhdGVycmUKCgkqIFNvdXJjZS9rd3N5cy86IENNYWtlTGlzdHMudHh0LCB0ZXN0RHluYW1pY0xvYWRlci5jeHg6IEVOSDogU3RpbGwKCSAgbW9yZSBjb3ZlcmFnZSBvZiB0aGUgRHluYW1pY0xvYWRlcgoKMjAwNi0wMy0wOSAxNzowNiAgbWFsYXRlcnJlCgoJKiBTb3VyY2Uva3dzeXMvdGVzdER5bmxvYWQuYzogRU5IOiBBZGQgYSBmaWxlIHRvIGdlbmVyYXRlIHRoZSBsaWIKCjIwMDYtMDMtMDkgMTY6NDAgIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzL3Rlc3REeW5hbWljTG9hZGVyLmN4eDogRU5IOiBJbXByb3ZlIHRlc3QgY292ZXJhZ2UKCjIwMDYtMDMtMDkgMTY6NDAgIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzLzogUmVnaXN0cnkuY3h4LCBSZWdpc3RyeS5oeHguaW46IFNUWUxFOiBNaW5vciBzdHlsZQoKMjAwNi0wMy0wOSAxNTo1NSAga2luZwoKCSogQ01ha2VMaXN0cy50eHQ6IEVOSDogVXBkYXRlZCBwYXRjaCBsZXZlbCB0byA0IGZvciBzcGVjaWFsIEtERQoJICByZWxlYXNlLgoKMjAwNi0wMy0wOSAxNTo0NyAgaG9mZm1hbgoKCSogU291cmNlLzogY21DYWNoZU1hbmFnZXIuY3h4LCBjbUNhY2hlTWFuYWdlci5oOiBFTkg6IGlmCgkgIENNYWtlQ2FjaGUudHh0IGhhcyBiZWVuIHJlbW92ZWQsIHRoZW4gYXV0b21hdGljYWxseSByZW1vdmUKCSAgQ01ha2VmaWxlcy8qLmNtYWtlCgoyMDA2LTAzLTA5IDE1OjAwICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0FJWC5jbWFrZTogRU5IOiBhZGQgY29ycmVjdCBpbml0aWFsIGZsYWdzIGZvcgoJICBhaXgKCjIwMDYtMDMtMDkgMTQ6NTcgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vRGFyd2luLmNtYWtlOiBFTkg6IHJlbW92ZSBqdW5rCgoyMDA2LTAzLTA5IDE0OjQxICBtYWxhdGVycmUKCgkqIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dDogRU5IOiBDYXJlZnVsbHkgdHVybiB0ZXN0aW5nIG9mCgkgIER5bmFtaWNMaWIgb24KCjIwMDYtMDMtMDkgMTQ6MzYgIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzLzogRGlyZWN0b3J5LmN4eCwgdGVzdFN5c3RlbVRvb2xzLmN4eCwKCSAgRHluYW1pY0xvYWRlci5jeHg6IFNUWUxFOiBNaW5vciBzdHlsZQoKMjAwNi0wMy0wOSAxNDozNSAgbWFsYXRlcnJlCgoJKiBTb3VyY2Uva3dzeXMvdGVzdER5bmFtaWNMb2FkZXIuY3h4OiBFTkg6IEFkZGluZyBpbml0aWFsIHRlc3QgZm9yCgkgIER5bmFtaWNMb2FkZXIKCjIwMDYtMDMtMDkgMTQ6MzAgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtRmlsZUNvbW1hbmQuY3h4LCBjbUZpbGVDb21tYW5kLmgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwKCSAgY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4OiBFTkg6IHVzZSBhIGNtYWtlIHNjcmlwdCB0byBkbyB0aGUKCSAgY2xlYW4gc3RlcCwgdGhpcyBhbGxvd3MgZm9yIGxhcmdlIG51bWJlcnMgb2YgZmlsZXMgdG8gYmUgcmVtb3ZlZAoJICB3aXRob3V0IG1ha2luZyB0aGUgY29tbWFuZCBsaW5lIHRvbyBsb25nCgoyMDA2LTAzLTA5IDE0OjEwICBhbGV4CgoJKiBNb2R1bGVzLzogRmluZEtERS5jbWFrZSwgRmluZEtERTMuY21ha2UsIEtERTNNYWNyb3MuY21ha2UsCgkgIGtkZTNpbml0X2R1bW15LmNwcC5pbiwga2RlM3VpYy5jbWFrZTogRU5IOiBhZGQgcmVhbC13b3JsZC10ZXN0ZWQKCSAgYW5kIHVzZWQgS0RFMyBzdXBwb3J0LCBhbmQgb2Jzb2xldGUgRmluZEtERS5jbWFrZSwgd2hpY2ggd2Fzbid0CgkgIHVzZWQgYnkgYW55Ym9keSB0aGF0IEkgaGVhcmQgb2YKCgkgIEFsZXgKCjIwMDYtMDMtMDkgMTE6NTcgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0LmgsIGN0ZXN0LmN4eDogU1RZTEU6IEZpeCBzb21lIHN0eWxlCgkgIGlzc3VlcwoKMjAwNi0wMy0wOSAxMTozNSAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kVENMLmNtYWtlLCBTb3VyY2UvY21GaW5kUGF0aENvbW1hbmQuY3h4OiBFTkg6IGZpeCBhCgkgIGJ1ZyBpbiB0aGUgZmluZCBwYXRoIHN0dWZmIHNvIHRoYXQgaXQgY2FuIGZpbmQgaGVhZGVycyBkZWVwIGluCgkgIGZyYW1ld29ya3MKCjIwMDYtMDMtMDkgMTE6MTcgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RCdWlsZEFuZFRlc3RIYW5kbGVyLmN4eCwKCSAgY21DVGVzdEJ1aWxkQ29tbWFuZC5jeHgsIGNtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4LAoJICBjbUNUZXN0QnVpbGRIYW5kbGVyLmgsIGNtQ1Rlc3RDb25maWd1cmVDb21tYW5kLmN4eCwKCSAgY21DVGVzdENvbmZpZ3VyZUNvbW1hbmQuaCwgY21DVGVzdENvbmZpZ3VyZUhhbmRsZXIuY3h4LAoJICBjbUNUZXN0Q29uZmlndXJlSGFuZGxlci5oLCBjbUNUZXN0Q292ZXJhZ2VDb21tYW5kLmN4eCwKCSAgY21DVGVzdENvdmVyYWdlQ29tbWFuZC5oLCBjbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eCwKCSAgY21DVGVzdENvdmVyYWdlSGFuZGxlci5oLCBjbUNUZXN0RW1wdHlCaW5hcnlEaXJlY3RvcnlDb21tYW5kLmgsCgkgIGNtQ1Rlc3RHZW5lcmljSGFuZGxlci5jeHgsIGNtQ1Rlc3RHZW5lcmljSGFuZGxlci5oLAoJICBjbUNUZXN0SGFuZGxlckNvbW1hbmQuY3h4LCBjbUNUZXN0SGFuZGxlckNvbW1hbmQuaCwKCSAgY21DVGVzdE1lbUNoZWNrQ29tbWFuZC5oLCBjbUNUZXN0TWVtQ2hlY2tIYW5kbGVyLmN4eCwKCSAgY21DVGVzdFJ1blNjcmlwdENvbW1hbmQuY3h4LCBjbUNUZXN0U2NyaXB0SGFuZGxlci5jeHgsCgkgIGNtQ1Rlc3RTdGFydENvbW1hbmQuY3h4LCBjbUNUZXN0U3RhcnRDb21tYW5kLmgsCgkgIGNtQ1Rlc3RTdWJtaXRDb21tYW5kLmN4eCwgY21DVGVzdFN1Ym1pdENvbW1hbmQuaCwKCSAgY21DVGVzdFN1Ym1pdEhhbmRsZXIuY3h4LCBjbUNUZXN0VGVzdENvbW1hbmQuY3h4LAoJICBjbUNUZXN0VGVzdEhhbmRsZXIuY3h4LCBjbUNUZXN0VGVzdEhhbmRsZXIuaCwKCSAgY21DVGVzdFVwZGF0ZUNvbW1hbmQuY3h4LCBjbUNUZXN0VXBkYXRlQ29tbWFuZC5oLAoJICBjbUNUZXN0VXBkYXRlSGFuZGxlci5jeHg6IFNUWUxFOiBGaXggc29tZSBzdHlsZSBpc3N1ZXMKCjIwMDYtMDMtMDkgMDk6NTMgIGFuZHkKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogRml4IHByb2JsZW0gb24KCSAgV2Fjb20gc3lzdGVtIHdpdGggZ2xvYmFsIHN5bWJvbGljIHRhcmdldHMKCjIwMDYtMDMtMDkgMDg6MzIgIGFuZHkKCgkqIFNvdXJjZS9DUGFjay86IGNtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmN4eCwKCSAgY21DUGFja1BhY2thZ2VNYWtlckdlbmVyYXRvci5jeHgsIGNwYWNrLmN4eDogU1RZTEU6IEZpeCBzdHlsZQoJICBwcm9ibGVtcwoKMjAwNi0wMy0wOSAwODoyMCAgYW5keQoKCSogVXRpbGl0aWVzLzogY21jdXJsL2Zvcm1kYXRhLmMsIGNtdGFyL2xpYnRhci5oOiBDT01QOiBSZW1vdmUgd2luNjQKCSAgd2FybmluZ3MKCjIwMDYtMDMtMDkgMDI6NDEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMy0wOCAxODoxNiAgaG9mZm1hbgoKCSogU291cmNlL2NtRmluZFByb2dyYW1Db21tYW5kLmN4eDogRU5IOiBtYWtlIHN1cmUgc3lzdGVtIHBhdGggaXMKCSAgbm90IGFkZGVkIHVubGVzcyBhc2tlZCBmb3IKCjIwMDYtMDMtMDggMTc6MTEgIGFsZXgKCgkqIE1vZHVsZXMvVXNlUGtnQ29uZmlnLmNtYWtlOiBFTkg6IGFkZCBhIGNtYWtlIG1vZHVsZSBmb3IgdXNpbmcKCSAgcGtnLWNvbmZpZywgdGVzdGVkIGluIGtkZWxpYnMsIG9rIGJ5IEJpbGwgSG9mZm1hbgoKCSAgQWxleAoKMjAwNi0wMy0wOCAxNjozMyAgYW5keQoKCSogU291cmNlL0NQYWNrLzogY21DUGFja0dlbmVyYXRvcnMuY3h4LCBjbUNQYWNrR2VuZXJhdG9ycy5oLAoJICBjbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5jeHgsIGNtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmgsCgkgIGNtQ1BhY2tMb2cuY3h4LCBjbUNQYWNrTG9nLmgsIGNtQ1BhY2tOU0lTR2VuZXJhdG9yLmN4eCwKCSAgY21DUGFja05TSVNHZW5lcmF0b3IuaCwgY21DUGFja1BhY2thZ2VNYWtlckdlbmVyYXRvci5jeHgsCgkgIGNtQ1BhY2tQYWNrYWdlTWFrZXJHZW5lcmF0b3IuaCwgY21DUGFja1NUR1pHZW5lcmF0b3IuY3h4LAoJICBjbUNQYWNrU1RHWkdlbmVyYXRvci5oLCBjbUNQYWNrVEdaR2VuZXJhdG9yLmN4eCwKCSAgY21DUGFja1RHWkdlbmVyYXRvci5oLCBjcGFjay5jeHg6IFNUWUxFOiBMb3RzIG9mIGZvcm1hdGluZyB0bwoJICByZW1vdmUgc3R5bGUgcHJvYmxlbXMKCjIwMDYtMDMtMDggMTQ6MDIgIGFuZHkKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbC9JbnN0YWxsU2NyaXB0Mi5jbWFrZSwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbC9UZXN0U3ViRGlyL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9JbnN0YWxsU2NyaXB0Mi5jbWFrZSwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL1Rlc3RTdWJEaXIvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkCgkgIGFkZGl0aW9uYWwgc3ViZGlyZWN0b3J5IHRvIGltcHJvdmUgdGVzdGluZyBhbmQgdG8gYWxsb3cgY2xlYW51cAoJICB3aGVuIHRlc3RpbmcgY3BhY2sKCjIwMDYtMDMtMDggMTM6NTkgIGFuZHkKCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrUGFja2FnZU1ha2VyR2VuZXJhdG9yLmN4eDogQlVHOiBIYW5kbGUKCSAgdmVyc2lvbiB3aXRoIG11bHRpcGxlIGRvdHMKCjIwMDYtMDMtMDggMTM6MjAgIGFuZHkKCgkqIFRlc3RzLzogU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OiBDT01QOiBPaywgZml4IHR5cG8KCjIwMDYtMDMtMDggMTM6MTMgIGFuZHkKCgkqIFRlc3RzLzogU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZCB0ZXN0aW5nIGZvciBjcGFjawoKMjAwNi0wMy0wOCAxMzowNiAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NVTklYLmM6IEVOSDogRW5hYmxlZCBwcm9jZXNzIHRyZWUga2lsbGluZyBvbgoJICBBSVguCgoyMDA2LTAzLTA4IDEyOjQyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYzogRU5IOiBFbmFibGVkIHByb2Nlc3MgdHJlZSBraWxsaW5nIG9uCgkgIHRoZSBTR0kuCgoyMDA2LTAzLTA4IDEyOjM2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYzogRU5IOiBFbmFibGVkIHByb2Nlc3MgdHJlZSBraWxsaW5nIGZvcgoJICBGcmVlQlNEIGFuZCBTdW4uCgoyMDA2LTAzLTA4IDEyOjEyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYzogRU5IOiBFbmFibGVkIHByb2Nlc3MgdHJlZSBraWxsaW5nIG9uCgkgIEhQLVVYLgoKMjAwNi0wMy0wOCAxMTo1NyAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NVTklYLmM6IEJVRzogRG8gbm90IGxlYWsgcHMgRklMRSB3aGVuIHRoZQoJICBwcm9jZXNzIHN0YXJ0cyBidXQgcmVhZGluZyB0aGUgaGVhZGVyIGZhaWxzLgoKMjAwNi0wMy0wOCAxMTozOSAga2luZwoKCSogU291cmNlL2t3c3lzL3Rlc3RQcm9jZXNzLmM6IEVOSDogQWRkZWQgYSB3YXkgdG8gcXVpY2tseSBlbmFibGUKCSAgbWFudWFsIHRlc3Rpbmcgb2YgZ3JhbmRjaGlsZCBraWxsaW5nLgoKMjAwNi0wMy0wOCAxMTozOCAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NVTklYLmM6IEVOSDogQWRkZWQgaW1wbGVtZW50YXRpb24gb2YgcHJvY2VzcwoJICB0cmVlIGtpbGxpbmcgdGhhdCBydW5zICJwcyIgdG8gdHJhdmVyc2UgdGhlIHRyZWUuCgoyMDA2LTAzLTA4IDEwOjUyICBhbmR5CgoJKiBTb3VyY2UvOiBjbUxpc3RGaWxlQ2FjaGUuY3h4LCBjbUxpc3RGaWxlQ2FjaGUuaDogQlVHOiBSZW1vdmUgc29tZQoJICBvbGQgbGVnYWN5IGNvZGUgIGFuZCByZW1vdmUgbWVtb3J5IGxlYWsKCjIwMDYtMDMtMDggMDk6MTYgIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzLzogRHluYW1pY0xvYWRlci5jeHgsIER5bmFtaWNMb2FkZXIuaHh4LmluOiBCVUc6CgkgIEluY2x1ZGluZyBmaWxlIHdpdGhpbiBhIG5hbWVzcGFjZXt9IGlzIGRhbmdlcm91cyh1bmxlc3Mgc3ltYm9scwoJICBhcmUgd2l0aGluIGFuIGV4dGVybiBDKS4gQWxzbyB1cGRhdGUgZG9jdW1lbnRhdGlvbiBhYm91dCBzcGVjaWFsCgkgIGNhc2UgZm9yIE1hY09TWAoKMjAwNi0wMy0wOCAwMjo0MyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTAzLTA3IDE5OjUyICBob2ZmbWFuCgoJKiBUZXN0cy86IFNpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFNpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dDogRU5IOiByZW1vdmUgY3BhY2sgc3R1ZmYgZm9yIG5vdwoJICBzbyB0aGF0IHdlIGNhbiBnZXQgbWFjIGRhc2hib2FyZHMgYWdhaW4KCjIwMDYtMDMtMDcgMTU6MzEgIGFuZHkKCgkqIENNYWtlR3JhcGhWaXpPcHRpb25zLmNtYWtlLCBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IEFkZCBhIHdheSB0bwoJICBvdmVyd3JpdGUgc29tZSBwcmVmZXJlbmNlcyBhbmQgaWdub3JlIGNlcnRhaW4gdGFyZ2V0cwoKMjAwNi0wMy0wNyAxNDo0NiAga2luZwoKCSogU291cmNlL2NtYWtlLmN4eDogRU5IOiBBZGQgQ01BS0VfQ09NTUFORCBhbmQgQ01BS0VfUk9PVCB2YXJpYWJsZXMKCSAgd2hlbiBydW5uaW5nIGluIHNjcmlwdCBtb2RlLglUaGlzIHBhcnRpYWxseSBhZGRyZXNzZXMgYnVnIzI4MjguCgoyMDA2LTAzLTA3IDE0OjM4ICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBCVUc6IENoZWNrIGZvciB3aGV0aGVyIHRvIGFkZCAtQyB0bwoJICBwYWNrYWdlIHJ1bGUgc2hvdWxkIGNoZWNrIGZvciBhIC4gaW4gdGhlIGZpcnN0IGNoYXJhY3RlciBub3QgdGhlCgkgIHNlY29uZC4KCjIwMDYtMDMtMDcgMTI6MDMgIGFuZHkKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IENPTVA6IEZpeCB3YXJuaW5ncwoKMjAwNi0wMy0wNyAxMDowNSAga2luZwoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4OiBCVUc6IE1vc3QgcGxhdGZvcm1zIG90aGVyIHRoYW4gTGludXgKCSAgc2VlbSB0byByZXF1aXJlIGV4ZWN1dGFibGUgcGVybWlzc2lvbnMgb24gdGhlaXIgc2hhcmVkIGxpYnJhcmllcy4KCjIwMDYtMDMtMDcgMTA6MDQgIGtpbmcKCgkqIFRlc3RzLzogU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OiBCVUc6IFNvbWUgcGxhdGZvcm1zIHJlcXVpcmUKCSAgZXhlY3V0YWJsZSBwZXJtaXNzaW9uIG9uIHNoYXJlZCBsaWJyYXJpZXMuCgoyMDA2LTAzLTA3IDAyOjEyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDMtMDYgMTU6NDEgIGhvZmZtYW4KCgkqIGJvb3RzdHJhcDogRU5IOiBhZGQgbW9yZSBkZXBlbmRzIGZvciBib290c3RyYXAKCjIwMDYtMDMtMDYgMTU6MTQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vRGFyd2luLmNtYWtlOiBFTkg6IGFkZCBzdXBwb3J0IGZvciBsYW5ndWFnZQoJICBmbGFncyB0aGF0IGFsbG93IGZvciB1bml2ZXJzYWwgYmluYXJpZXMKCjIwMDYtMDMtMDYgMTU6MTQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VDSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VDWFhJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUZvcnRyYW5JbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9DWUdXSU4uY21ha2UsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eDogRU5IOiBhZGQgc3VwcG9ydCBmb3IKCSAgbGFuZ3VhZ2UgZmxhZ3MgYXQgcnVsZSBleHBhbnNpb24gdGltZQoKMjAwNi0wMy0wNiAxNTowMSAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlOiBFTkg6IGFkZCBzdXBwb3J0IGZvciBtYW5pZmVzdAoJICBzdHVmZgoKMjAwNi0wMy0wNiAxNDozMCAgbWFsYXRlcnJlCgoJKiBTb3VyY2Uva3dzeXMvRHluYW1pY0xvYWRlci5jeHg6IENPTVA6IEZpeCBjb21waWxhdGlvbiBvbiBNYWNPU1gKCjIwMDYtMDMtMDYgMTQ6MDggIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFF0My5jbWFrZTogRU5IOiB0cnkgdG8gZml4IG5vbi1jbGVhbiBkYXNoYm9hcmRzCgoyMDA2LTAzLTA2IDE0OjA3ICBtYWxhdGVycmUKCgkqIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dDogRU5IOiBDb21waWxlIER5bmFtaWNMb2FkZXIKCjIwMDYtMDMtMDYgMTQ6MDIgIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzLzogRHluYW1pY0xvYWRlci5jeHgsIER5bmFtaWNMb2FkZXIuaHh4LmluOiBFTkg6CgkgIEFkZGluZyBrd3N5cyBpbXBsZW1lbnRhdGlvbiBmb3IgYSBEeW5hbWljTG9hZGVyIGNsYXNzLiBDb3B5IGZyb20KCSAgaXRrRHluYW1pY0xvYWRlciwgd2l0aCBwYXRjaCBmcm9tIGNtRHluYW1pY0xvYWRlcgoKMjAwNi0wMy0wNiAxMzo0MyAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzLzogRGlyZWN0b3J5LmN4eCwgUmVnaXN0cnkuY3h4OiBFTkg6IGFkZCBtaXNzaW5nCgkgIGNtYWtlIGRlcGVuZCBoYWNrcwoKMjAwNi0wMy0wNiAxMzozNCAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL0dsb2IuY3h4OiBFTkg6IGFkZCBtaXNzaW5nIGNtYWtlIGluY2x1ZGUKCjIwMDYtMDMtMDYgMTM6MDIgIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzL0RpcmVjdG9yeS5jeHg6IENPTVA6IFNvbWUgU1RMIGltcGxlbWVudGF0aW9uIGRvIG5vdAoJICBwcm92aWRlIGNsZWFyIG9uIHN0ZDo6c3RyaW5nCgoyMDA2LTAzLTA2IDExOjU3ICBtYWxhdGVycmUKCgkqIFNvdXJjZS9rd3N5cy86IERpcmVjdG9yeS5jeHgsIERpcmVjdG9yeS5oeHguaW46IEJVRzogTmVlZCB0bwoJICByZXNldCBpbnRlcm5hbCBzdHJ1Y3R1cmUgaW4gY2FzZSBvZiBtdWx0aXBsZSBjYWxscyB0byBMb2FkCgoyMDA2LTAzLTA2IDEwOjEyICBtYWxhdGVycmUKCgkqIFNvdXJjZS9rd3N5cy86IERpcmVjdG9yeS5jeHgsIERpcmVjdG9yeS5oeHguaW46IEVOSDogUmVkbwoJICBpbXBsZW1lbnRhdGlvbiBvZiBpdGtEaXJlY3RvcnkgdG8gdXNlIGt3c3lzIChhdm9pZCBkdXBsaWNhdGluZwoJICBjb2RlKS4KCjIwMDYtMDMtMDYgMDI6MTEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMy0wNSAwOTowOSAga2luZwoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBCVUc6IEZpeCBmb3IgZ2VuZXJhdGVkIGluc3RhbGwKCSAgc2NyaXB0cyB0byBzdXBwb3J0IHByZWZpeGVzIHdpdGggdHJhaWxpbmcgc2xhc2hlcyBvciBqdXN0IGEKCSAgc2luZ2xlIHNsYXNoLgoKMjAwNi0wMy0wNSAwODozOCAgaG9mZm1hbgoKCSogU291cmNlL2NtRmluZEJhc2UuY3h4OiBFTkg6IGZpeCBvbGQgc3R5bGUgcGFyc2luZyBvZiBGSU5ECgkgIGNvbW1hbmRzIGFuZCBmaXggYnJva2VuIHRlc3RzCgoyMDA2LTAzLTA1IDAyOjExICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDMtMDQgMDI6MjIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMy0wMyAyMzowMCAgaG9mZm1hbgoKCSogU291cmNlL2NtRmluZEJhc2UuY3h4OiBFTkg6IG1ha2Ugc3VyZSBOQU1FUyB0YWcgaXMgbm90IHJlcXVpcmVkCgkgIGZvciBuYW1lIGFyZ3VtZW50LCBmaXhlcyBtc3lzIGdlbmVyYXRvcgoKMjAwNi0wMy0wMyAxOToyOSAga2luZwoKCSogU291cmNlL2NtSW5zdGFsbENvbW1hbmQuY3h4LCBTb3VyY2UvY21JbnN0YWxsQ29tbWFuZC5oLAoJICBTb3VyY2UvY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5oLAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkZWQgUEVSTUlTU0lPTlMKCSAgb3B0aW9uIHRvIHRoZSBUQVJHRVRTIG1vZGUgb2YgdGhlIElOU1RBTEwgY29tbWFuZC4KCjIwMDYtMDMtMDMgMTg6NDQgIGtpbmcKCgkqIFNvdXJjZS9jbUZpbGVDb21tYW5kLmN4eCwgU291cmNlL2NtSW5zdGFsbENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsQ29tbWFuZC5oLCBTb3VyY2UvY21JbnN0YWxsRmlsZXNHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsRmlsZXNHZW5lcmF0b3IuaCwgU291cmNlL2NtSW5zdGFsbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUluc3RhbGxHZW5lcmF0b3IuaCwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9TaW1wbGVJbnN0YWxsL2luc3QuY3h4LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsL2luc3QyLmN4eCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvaW5zdC5jeHgsIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9pbnN0Mi5jeHg6CgkgIEVOSDogQWRkZWQgUEVSTUlTU0lPTlMgYW5kIFJFTkFNRSBvcHRpb25zIHRvIHRoZSBJTlNUQUxMCgkgIGNvbW1hbmQncyBGSUxFUyBhbmQgUFJPR1JBTVMgbW9kZSwgYW5kIGNvcnJlc3BvbmRpbmcgc3VwcG9ydCB0bwoJICBGSUxFKElOU1RBTEwpLiAgRGVmYXVsdCBwZXJtaXNzaW9ucyBmb3Igc2hhcmVkIGxpYnJhcmllcyBvbgoJICBub24tV2luZG93cy9ub24tT1NYIHBsYXRmb3JtcyBubyBsb25nZXIgaGFzIHRoZSBleGVjdXRlIGJpdCBzZXQuCgoyMDA2LTAzLTAzIDE4OjA2ICBraW5nCgoJKiBTb3VyY2UvOiBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0Lmg6IEVOSDogUmVwbGFjZWQgVXBkYXRlTG9jYXRpb24KCSAgbWV0aG9kIHdpdGggY2FsbCB0byBHZXRMb2NhdGlvbi4gIEFkZGVkIGNvbW1lbnQgYWJvdXQgcHJvYmxlbXMKCSAgd2l0aCB0aGUgTE9DQVRJT04gYXR0cmlidXRlLgoKMjAwNi0wMy0wMyAxNTowNCAgYW5keQoKCSogU291cmNlL0NQYWNrLzogY21DUGFja1BhY2thZ2VNYWtlckdlbmVyYXRvci5jeHgsCgkgIGNtQ1BhY2tQYWNrYWdlTWFrZXJHZW5lcmF0b3IuaDogRU5IOiBDaGVjayBwYWNrYWdlIG1ha2VyIHZlcnNpb24KCjIwMDYtMDMtMDMgMTQ6MjggIGFuZHkKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IENPTVA6IE9vcHMsIHR5cG8KCjIwMDYtMDMtMDMgMTQ6MjQgIGFuZHkKCgkqIFNvdXJjZS86IGNtVGFyZ2V0LmN4eCwgY21UYXJnZXQuaCwgY21ha2UuY3h4LCBjbWFrZS5oOiBFTkg6IEFkZAoJICBzdXBwb3J0IGZvciBleHBvcnRpbmcgZ3JhcGh2aXogb2YgdGhlIHByb2plY3QgZGVwZW5kZW5jaWVzCgoyMDA2LTAzLTAzIDEyOjU4ICBraW5nCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbVRhcmdldC5jeHgsIFRlc3RzL0J1bmRsZVRlc3QvQnVuZGxlTGliLmN4eCwKCSAgVGVzdHMvQnVuZGxlVGVzdC9CdW5kbGVUZXN0LmN4eCwgVGVzdHMvQnVuZGxlVGVzdC9DTWFrZUxpc3RzLnR4dDoKCSAgQlVHOiBGaXhlZCBpbnN0YWxsYXRpb24gb2YgTWFjT1NYIEJ1bmRsZSBleGVjdXRhYmxlcyBhbmQgdGhlCgkgIGNvcnJlc3BvbmRpbmcgaW5zdGFsbF9uYW1lIHJlbWFwcGluZyBzdXBwb3J0LiAgRXh0ZW5kZWQgdGhlCgkgIEJ1bmRsZVRlc3QgdGVzdCB0byBjaGVjayB0aGF0IHRoaXMgYWxsIHdvcmtzLiAgUGFydCBvZiB0aGVzZQoJICBmaXhlcyByZXF1aXJlZCBjaGFuZ2luZyB0aGUgc2lnbmF0dXJlIG9mIEFwcGVuZERpcmVjdG9yeUZvckNvbmZpZwoJICBpbiBhbGwgZ2VuZXJhdG9ycy4gIEl0IG5vdyBhY2NlcHRzIHByZWZpeCBhbmQgc3VmZml4IHN0cmluZ3MgdG8KCSAgZGVhbCB3aXRoIHdoZXRoZXIgbGVhZGluZyBvciB0cmFpbGluZyBzbGFzaGVzIHNob3VsZCBiZSBpbmNsdWRlZAoJICB3aXRoIHRoZSBjb25maWd1cmF0aW9uIHN1YmRpcmVjdG9yeS4KCjIwMDYtMDMtMDMgMTI6MDEgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZTogRU5IOiBhZGQgbWFuaWZlc3Qgc3VwcG9ydCBmb3IKCSAgMjAwNQoKMjAwNi0wMy0wMyAxMTo1OSAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZVZTOEZpbmRNYWtlLmNtYWtlOiBFTkg6IGxvb2sgZm9yIFZDRXhwcmVzcyBmaXJzdAoKMjAwNi0wMy0wMyAxMDo1MiAgYW5keQoKCSogTW9kdWxlcy9DUGFjay5JbmZvLnBsaXN0LmluLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja1BhY2thZ2VNYWtlckdlbmVyYXRvci5jeHg6IEVOSDogQWRkIHZlcmJvc2UKCSAgZmxhZyB0byBwYWNrYWdlIG1ha2VyIGFuZCBhZGQgQ0ZCdW5kbGVJZGVudGlmaWVyIHN0cmluZwoKMjAwNi0wMy0wMyAwMjozNCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTAzLTAyIDIxOjMzICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvOiBSZWdpc3RyeS5jeHgsIFN5c3RlbVRvb2xzLmN4eDogRU5IOiBmaXggc3RkIGluCgkgIGt3c3lzLCBoYXMgdG8gYmUga3dzeXNfc3RsCgoyMDA2LTAzLTAyIDIwOjExICBob2ZmbWFuCgoJKiBTb3VyY2UvY21GaW5kQmFzZS5jeHg6IEVOSDogcmVtb3ZlIHdhcm5pbmcKCjIwMDYtMDMtMDIgMTU6MDMgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmg6IEVOSDogcmVtb3ZlZCB1bnVzZWQKCSAgbWV0aG9kcyBhZnRlciBmaW5kIGNoYW5nZXMKCjIwMDYtMDMtMDIgMTQ6MzkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVRyeUNvbXBpbGVDb21tYW5kLmN4eDogRU5IOiBwYXNzIENNQUtFX01PRFVMRV9QQVRIIGludG8KCSAgdHJ5IGNvbXBpbGUgcHJvamVjdHMKCjIwMDYtMDMtMDIgMTM6NDMgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtRmluZEJhc2UuY3h4LCBjbUZpbmRMaWJyYXJ5Q29tbWFuZC5jeHg6IEVOSDogZml4CgkgIHNwZWxsaW5nIGVycm9ycyBpbiBkb2NzCgoyMDA2LTAzLTAyIDEzOjMwICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0NZR1dJTi5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9EYXJ3aW4uY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vTGludXguY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vU3VuT1MuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vVW5peFBhdGhzLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93c1BhdGhzLmNtYWtlLAoJICBTb3VyY2UvY21Cb290c3RyYXBDb21tYW5kcy5jeHgsIFNvdXJjZS9jbUZpbmRCYXNlLmN4eCwKCSAgU291cmNlL2NtRmluZEJhc2UuaCwgU291cmNlL2NtRmluZEZpbGVDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtRmluZEZpbGVDb21tYW5kLmgsIFNvdXJjZS9jbUZpbmRMaWJyYXJ5Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUZpbmRMaWJyYXJ5Q29tbWFuZC5oLCBTb3VyY2UvY21GaW5kUGF0aENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21GaW5kUGF0aENvbW1hbmQuaCwgU291cmNlL2NtRmluZFByb2dyYW1Db21tYW5kLmN4eCwKCSAgU291cmNlL2NtRmluZFByb2dyYW1Db21tYW5kLmgsIFNvdXJjZS9rd3N5cy9SZWdpc3RyeS5jeHgsCgkgIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEVOSDogY2hlY2sgaW4gbmV3IGZpbmQgc3R1ZmYKCjIwMDYtMDMtMDIgMDc6NTIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VDSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VDWFhJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUZvcnRyYW5JbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUphdmFJbmZvcm1hdGlvbi5jbWFrZSwgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDoKCSAgRU5IOiBmaXggZm9yIGJ1ZyAyOTIxLCBtb3ZlIF9PVkVSUklERSB2YXJpYWJsZSB0byBhIGJldHRlcgoJICBwb3NpdGlvbiB0byBhbGxvdyBjaGFuZ2luZyBfSU5JVCB2YXJpYWJsZXMKCjIwMDYtMDMtMDIgMDI6MTcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMy0wMSAyMjo0NSAga2luZwoKCSogU291cmNlLzogY21TZXRUYXJnZXRQcm9wZXJ0aWVzQ29tbWFuZC5oLCBjbVRhcmdldC5jeHg6IEVOSDoKCSAgRmluaXNoZWQgQ01BS0VfPENPTkZJRz5fUE9TVEZJWCBmZWF0dXJlIGFuZCBkb2N1bWVudGVkIGl0LiAgVGhlCgkgIHZhbHVlIG9mIHRoaXMgdmFyaWFibGUgaXMgdXNlZCB3aGVuIGEgbGlicmFyeSB0YXJnZXQgaXMgY3JlYXRlZAoJICB0byBpbml0aWFsaXplIHRoZSA8Q09ORklHPl9QT1NURklYIHRhcmdldCBwcm9wZXJ0eS4gIFRoZSB2YWx1ZSBvZgoJICB0aGlzIHByb3BlcnR5IGlzIHVzZWQgKGV2ZW4gZm9yIGV4ZWN1dGFibGVzKSB0byBkZWZpbmUgYQoJICBwZXItY29uZmlndXJhdGlvbiBwb3N0Zml4IG9uIHRoZSBuYW1lIG9mIHRoZSB0YXJnZXQuCUFsc28KCSAgZW5hYmxlZCB1c2Ugb2YgdGhlIE9VVFBVVF9OQU1FIHByb3BlcnR5IGZvciBub24tZXhlY3V0YWJsZQoJICB0YXJnZXRzLgoKMjAwNi0wMy0wMSAxOTowMCAga2luZwoKCSogQ01ha2VMaXN0cy50eHQ6IEVOSDogQ01ha2UgZG9lcyBub3QgbmVlZCBSUEFUSHMgYXQgYWxsIGZvciBpdHMKCSAgb3duIGV4ZWN1dGFibGVzLiAgRGlzYWJsZSB0aGVtIHRvIGF2b2lkIHJlbGlua2luZyBkdXJpbmcKCSAgaW5zdGFsbGF0aW9uLgoKMjAwNi0wMy0wMSAxODo1NCAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogRU5IOiBDbGVhbmVkIHVwIGdlbmVyYXRpb24gb2YKCSAgZGlyZWN0b3J5LWxldmVsIHJ1bGVzIGFuZCB0aGVpciBzdXBwb3J0IHN0cnVjdHVyZS4gIFRoZQoJICBkaXJlY3RvcnlzdGFydCBydWxlIGhhcyBiZWVuIHJlbW92ZWQgaW4gZmF2b3Igb2YgY2hlY2tpbmcgdGhlCgkgIGJ1aWxkIHN5c3RlbSBpbiB0aGUgc3ViZGlyZWN0b3J5IG1ha2VmaWxlIGZpcnN0LiAgVGhlICJkaXJlY3RvcnkiCgkgIHJ1bGUgaGFzIGJlZW4gcmVuYW1lZCAiYWxsIiBzaW5jZSBpdCBjb3JyZXNwb25kcyB0byB0aGUgImFsbCIKCSAgcGFzcyBhbnl3YXkgKGFzIGFnYWluc3QgImNsZWFuIikuICBBbHNvIGZpeGVkIGRpcmVjdG9yeS1sZXZlbAoJICBydWxlIGZvciBwcmVpbnN0YWxsLgoKMjAwNi0wMy0wMSAxODo0OSAga2luZwoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogQlVHOiBDaGVjayBmb3Igd2hldGhlciB0byBhZGQKCSAgQlVJTERfVFlQRSB0byBpbnN0YWxsIHJ1bGUgc2hvdWxkIGNoZWNrIGZvciBhIC4gaW4gdGhlIGZpcnN0CgkgIGNoYXJhY3RlciBub3QgdGhlIHNlY29uZC4KCjIwMDYtMDMtMDEgMTU6MDAgIGFuZHkKCgkqIE1vZHVsZXMvOiBDUGFjay5jbWFrZSwgTlNJUy50ZW1wbGF0ZS5pbjogRU5IOiBTZXZlcmFsIGNoYW5nZXMgdG8KCSAgZm9yIE5TSVMKCjIwMDYtMDMtMDEgMTM6MTUgIGFuZHkKCgkqIENNYWtlTGlzdHMudHh0LCBNb2R1bGVzL0NQYWNrLmNtYWtlLAoJICBNb2R1bGVzL0luc3RhbGxSZXF1aXJlZFN5c3RlbUxpYnJhcmllcy5jbWFrZTogRU5IOiBJbnN0YWxsIHN5c3RlbQoJICBsaWJyYXJpZXMgb25seSBpZiBwcm9qZWN0IHJlcXVpcmVzIHRoZW0KCjIwMDYtMDMtMDEgMTM6MDUgIGFuZHkKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQlVHOiBFdmVuIG1vcmUgVlM4IGlzc3VlcwoKMjAwNi0wMy0wMSAxMjo1MCAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXRIYW5kbGVyLmN4eDogQlVHOiBNb3JlIFZTOCBmaXhlcwoKMjAwNi0wMy0wMSAxMTo1NSAgYW5keQoKCSogVGVtcGxhdGVzL0NNYWtlTGlzdHMudHh0OiBFTkg6IEluc3RhbGwgY3BhY2sgZmlsZXMKCjIwMDYtMDMtMDEgMDg6MjggIGFuZHkKCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmg6IEVOSDogQ2xlYW51cCBnbG9iYWwgdGFyZ2V0cyBldmVuIG1vcmUKCSAgYW5kIHBvdGVudGlhbGx5IGZpeCBYY29kZQoKMjAwNi0wMy0wMSAwMjozMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTAyLTI4IDE2OjMzICBhbmR5CgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBCVUc6IE9rLCBmaXggdGhlIG9yZGVyaW5nCgoyMDA2LTAyLTI4IDE2OjIyICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEhhbmRsZXJDb21tYW5kLmN4eDogQlVHOiBGaXggZm9yIFNUTAoKMjAwNi0wMi0yOCAxNjoxNyAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuaDogQlVHOiBIYW5kbGUgYnVnZ3kgc3RyZWFtcwoKMjAwNi0wMi0yOCAxNTo1NiAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBCVUc6IEFkZCBhZGRpdGlvbmFsIGNoZWNrCgoyMDA2LTAyLTI4IDE1OjMxICBhbmR5CgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBCVUc6IE9uIFZpc3VhbCBTdHVkaW8gYW5kIFhDb2RlLAoJICBoYW5kbGUgYnVpbGQgY29uZmlndXJhdGlvbnMKCjIwMDYtMDItMjggMTU6MzEgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0QnVpbGRBbmRUZXN0SGFuZGxlci5jeHg6IFNUWUxFOiBSZW1vdmUgZGVidWcKCjIwMDYtMDItMjggMTQ6MTggIGFuZHkKCgkqIE1vZHVsZXMvQ1BhY2suY21ha2UsIFRlbXBsYXRlcy9DUGFjay5HZW5lcmljTGljZW5zZS50eHQsCgkgIFRlbXBsYXRlcy9DUGFjay5HZW5lcmljV2VsY29tZS50eHQ6IEVOSDogQWRkIHJlc291cmNlIGZpbGVzIGZvcgoJICBQYWNrYWdlTWFrZXIKCjIwMDYtMDItMjggMTQ6MDYgIGFuZHkKCgkqIFRlbXBsYXRlcy9DUGFjay5HZW5lcmljRGVzY3JpcHRpb24udHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkIGdlbmVyaWMKCSAgaW5zdHJ1Y3Rpb25zCgoyMDA2LTAyLTI4IDEzOjMwICBhbmR5CgoJKiBUZXN0cy86IFNpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFNpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dDogRU5IOiBBdHRlbXB0IHRvIGhhbmRsZSB3aW5kb3dzCgkgIHdpdGhvdXQgTlNJUyBpbnN0YWxsZWQKCjIwMDYtMDItMjggMTE6MzggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzV2luMzIuYzogQ09NUDogRml4ZWQgd2FybmluZ3MgZm9yIEJvcmxhbmQKCSAgNS44LgoKMjAwNi0wMi0yOCAxMToxNCAgYW5keQoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOiBCVUc6IEZpeCB0eXBvCgoyMDA2LTAyLTI4IDExOjEzICBhbmR5CgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEVOSDogQWRkIHN1cHBvcnQgZm9yIGRlYmlhbiBoYXZpbmcgYm90aAoJICBxdDMgYW5kIHF0NAoKMjAwNi0wMi0yOCAxMDoyNyAgaG9mZm1hbgoKCSogTW9kdWxlcy86IENNYWtlVlM3MUZpbmRNYWtlLmNtYWtlLCBDTWFrZVZTOEZpbmRNYWtlLmNtYWtlLAoJICBGaW5kRGFydC5jbWFrZSwgRmluZERveHlnZW4uY21ha2UsIEZpbmRHQ0NYTUwuY21ha2UsCgkgIEZpbmRIVE1MSGVscC5jbWFrZSwgRmluZE1QSS5jbWFrZSwgRmluZFF0My5jbWFrZSwgRmluZFF0NC5jbWFrZSwKCSAgRmluZFRDTC5jbWFrZSwgUGxhdGZvcm0vRGFyd2luLmNtYWtlOiBFTkg6IHVzZSBwcm9ncmFtIGZpbGVzIGVudgoJICBmb3Igc2VhcmNoaW5nCgoyMDA2LTAyLTI4IDA5OjUzICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBCVUc6IE5lZWQgdG8gdXNlIHRoZSBDTUFLRV9DT01NQU5ECgkgIGNhY2hlIGVudHJ5IHRvIGdldCB0aGUgbG9jYXRpb24gb2YgQ01ha2UuCgoyMDA2LTAyLTI4IDA4OjIzICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkQW5kVGVzdEhhbmRsZXIuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkQW5kVGVzdEhhbmRsZXIuaCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZCBzdXBwb3J0IGZvcgoJICBtdWx0aXBsZSBidWlsZCB0YXJnZXRzIGFuZCBzdGFydCBhZGRpbmcgc2ltcGxlIGNwYWNrIHRlc3RzCgoyMDA2LTAyLTI4IDAyOjMyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDItMjcgMjM6MDYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVNvdXJjZUdyb3VwQ29tbWFuZC5jeHg6IEVOSDogZml4IHByb2JsZW0gaWYgdGhlcmUgYXJlIC4uCgkgIGluIHRoZSBwYXRoIHRvIHRoZSBzb3VyY2UgZmlsZSBzcGVjaWZpZWQgaW4gYSBzb3VyY2UgZ3JvdXAKCjIwMDYtMDItMjcgMTY6MzggIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtRmluZEJhc2UuY3h4LCBjbUZpbmRCYXNlLmg6IEVOSDogYWRkIG5ldyBmaW5kIHN0dWZmCgoyMDA2LTAyLTI3IDEyOjE0ICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogQ01ha2VDSW5mb3JtYXRpb24uY21ha2UsIENNYWtlQ1hYSW5mb3JtYXRpb24uY21ha2UsCgkgIENNYWtlRm9ydHJhbkluZm9ybWF0aW9uLmNtYWtlLCBDTWFrZVJDSW5mb3JtYXRpb24uY21ha2U6IEVOSDogZml4CgkgIHNwZWxsaW5nIGVycm9ycwoKMjAwNi0wMi0yNyAxMDo1OCAgYW5keQoKCSogTW9kdWxlcy9DUGFjay5JbmZvLnBsaXN0LmluLCBNb2R1bGVzL0NQYWNrLmNtYWtlLAoJICBNb2R1bGVzL05TSVMudGVtcGxhdGUuaW4sIFNvdXJjZS9jbUJvb3RzdHJhcENvbW1hbmRzLmN4eCwKCSAgU291cmNlL2NtQ29tbWFuZHMuY3h4LCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4LAoJICBUZW1wbGF0ZXMvQ1BhY2tDb25maWcuY21ha2UuaW46IEVOSDogU2V2ZXJhbCBwYWNrYWdpbmcgaXNzdWVzLgoJICBBbGxvdyByYW5kb20gdmFyaWFibGVzIHRvIGJlIHBhc3NlZCB0byBjcGFjayAoYW55dGhpbmcgc3RhcnRpbmcKCSAgd2l0aCBDUEFDS18sIGFkZCBwcmVpbnN0YWxsIHRvIHRoZSBsaXN0IG9mIGRlcGVuZGVuY2llcyBmb3IKCSAgcGFja2FnZSwgZml4IHR5cG9zCgoyMDA2LTAyLTI3IDAyOjAwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDItMjYgMDI6MDAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMi0yNSAwMTo1NiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTAyLTI0IDE4OjE1ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtYWtlLmg6IENPTVA6IE1vcmUgZml4ZXMgZm9yIG5vbgoJICBtYWtlZmlsZSBnZW5lcmF0b3JzIGFuZCBnbG9iYWwgdGFyZ2V0cwoKMjAwNi0wMi0yNCAxNzo0MyAgYW5keQoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogU1RZTEU6IFJlbW92ZSBkZWJ1ZwoKMjAwNi0wMi0yNCAxNzozNSAgYW5keQoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLCBjbUdsb2JhbFhDb2RlMjFHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuaCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsIGNtTWFrZWZpbGUuY3h4LCBjbVRhcmdldC5oOgoJICBDT01QOiBFdmVuIG1vcmUgZ2xvYmFsIHRhcmdldCBmaXhlcwoKMjAwNi0wMi0yNCAxNjozMCAgYW5keQoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IEluc3RhbGwgY3BhY2sKCjIwMDYtMDItMjQgMTY6MjAgIGFuZHkKCgkqIFNvdXJjZS86IGNtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBNb3JlIGZpeGluZyBvZiBzdXBwb3J0CgkgIGZvciBnbG9iYWwgdGFyZ2V0IHNvbiB2aXN1YWwgc3R1ZGlvCgoyMDA2LTAyLTI0IDEzOjEzICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0Rhcndpbi5jbWFrZSwgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5oLCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbVNldFRhcmdldFByb3BlcnRpZXNDb21tYW5kLmgsIFNvdXJjZS9jbVRhcmdldC5jeHgsCgkgIFNvdXJjZS9jbVRhcmdldC5oLCBUZXN0cy9TaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEVOSDogQ3JlYXRlZCB0YXJnZXQKCSAgcHJvcGVydHkgSU5TVEFMTF9OQU1FX0RJUiBpbml0YWxpemVkIGJ5IENNQUtFX0lOU1RBTExfTkFNRV9ESVIKCSAgc3BlY2lmeWluZyB0aGUgZGlyZWN0b3J5IHBvcnRpb24gb2YgdGhlIE9TWCBpbnN0YWxsX25hbWUgZmllbGQgaW4KCSAgc2hhcmVkIGxpYnJhcmllcy4gIFRoaXMgaXMgdGhlIE9TWCBlcXVpdmFsZW50IG9mIFJQQVRILgoKMjAwNi0wMi0yNCAxMjo1MCAgaG9mZm1hbgoKCSogU291cmNlL2NtU291cmNlR3JvdXBDb21tYW5kLmN4eDogRU5IOiBmaXggd2FybmluZyBhbmQgcmVtb3ZlCgkgIHVudXNlZCB2YXJpYWJsZQoKMjAwNi0wMi0yNCAxMToxMyAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIGNtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsR2VuZXJhdG9yLmgsIGNtTWFrZWZpbGVFeGVjdXRhYmxlVGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eDogQlVHOiBGaXggZ2VuZXJhdGlvbiBvZiBYY29kZSAyLjAKCSAgYW5kIGVhcmxpZXIgcHJvamVjdHMgdG8gdXNlIENNQUtFX0JVSUxEX1RZUEUuCgoyMDA2LTAyLTI0IDExOjA3ICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEJVRzogVHJlYXQgR0xPQkFMX1RBUkdFVCBsaWtlCgkgIFVUSUxJVFkgZm9yIGdlbmVyYXRpb24uCgoyMDA2LTAyLTI0IDEwOjU2ICBhbmR5CgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IENPTVA6IFJlbW92ZSB3YXJuaW5ncwoKMjAwNi0wMi0yNCAxMDo1NSAgYW5keQoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogQlVHOiBPbmx5IGFkZCB0ZXN0IHRhcmdldHMgd2hlbgoJICB0ZXN0aW5nIGlzIGVuYWJsZWQuIEFsc28gYWRkIENNQUtFX0NGR19JTlRESVIgd2hlbiBzcGVjaWZpZWQKCjIwMDYtMDItMjQgMDk6NDMgIGFuZHkKCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBDT01QOiBIYW5kbGUgcHJlaW5zdGFsbAoJICBwcm9wZXJseSBvbiBJREVzCgoyMDA2LTAyLTI0IDA5OjMyICBhbmR5CgoJKiBTb3VyY2UvOiBjbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQ09NUDogRml4IGZvciBwcmVpbnN0YWxsCgoyMDA2LTAyLTI0IDA5OjA4ICBhbmR5CgoJKiBNb2R1bGVzL0NoZWNrSW5jbHVkZUZpbGVzLmNtYWtlOiBCVUc6IEZpeCB0aGUgbW9kdWxlCgoyMDA2LTAyLTI0IDA4OjU3ICBhbmR5CgoJKiBTb3VyY2UvY21ha2UuY3h4OiBCVUc6IEZpeCBsb2NhdGlvbiBvZiBjdGVzdCBmb3IgYm9vdHN0cmFwCgoyMDA2LTAyLTI0IDAyOjI0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDItMjMgMTg6MjUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEVOSDogdHJ5IHRvIGZpeCB0aGluZ3MKCSAgdXAgZm9yIHRoZSBkYXNoYm9hcmQKCjIwMDYtMDItMjMgMTc6MzAgIGFuZHkKCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBFTkg6IFByb3Blcmx5IGhhbmRsZSB0YXJnZXQKCSAgZGVwZW5kZW5jaWVzCgoyMDA2LTAyLTIzIDE0OjA1ICBhbmR5CgoJKiBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHg6IENPTVA6IEV2ZW4gbW9yZQoJICBWaXN1YWwgU3R1ZGlvIGZpeGVzLiBXaHkgaXMgdGhpcyBjb2RlIGR1cGxpY2F0ZWQ/CgoyMDA2LTAyLTIzIDEzOjQ2ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUdsb2JhbEdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQ09NUDogTW9yZSBmaXhlcyBmb3IgdmlzdWFsCgkgIHN0dWRpbwoKMjAwNi0wMi0yMyAxMzozNyAgYW5keQoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQ09NUDogRml4ZXMgZm9yIHZpc3VhbCBzdHVkaW8KCjIwMDYtMDItMjMgMTE6MzYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVNvdXJjZUdyb3VwQ29tbWFuZC5jeHg6IEVOSDogZml4IGZvciBidWcgMjkwOCBjcmFzaCBmb3IKCSAgZW1wdHkgc291cmNlIGdyb3VwIG5hbWUKCjIwMDYtMDItMjMgMTA6NDggIGFuZHkKCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBFTkg6IFJlbW92ZSBkZWJ1ZwoKMjAwNi0wMi0yMyAxMDowNyAgYW5keQoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5oLAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEVOSDogQWRkIGEgbm90aW9uIG9mIGEgZ2xvYmFsCgkgIHRhcmdldAoKMjAwNi0wMi0yMyAxMDowMiAgYW5keQoKCSogU291cmNlLzogY21UYXJnZXQuY3h4LCBjbVRhcmdldC5oLCBjbU1ha2VmaWxlLmN4eDogRU5IOiBBZGQgYQoJICBub3Rpb24gb2YgYSBnbG9iYWwgdGFyZ2V0CgoyMDA2LTAyLTIzIDEwOjAwICBhbmR5CgoJKiBTb3VyY2UvOiBjbWFrZS5jeHgsIGNtYWtlLmg6IEVOSDogQWRkIGFjY2Vzc29ycyBmb3IgQ1Rlc3QgYW5kCgkgIENQYWNrCgoyMDA2LTAyLTIzIDA5OjU5ICBhbmR5CgoJKiBTb3VyY2UvQ1BhY2svY3BhY2suY3h4OiBFTkg6IEFsbG93IHJ1bm5pbmcgd2l0aG91dCBjb25maWcgZmlsZQoKMjAwNi0wMi0yMyAwOTo1OCAgYW5keQoKCSogTW9kdWxlcy86IENNYWtlQ29uZmlndXJhYmxlRmlsZS5pbiwgQ2hlY2tJbmNsdWRlRmlsZXMuY21ha2UsCgkgIENoZWNrU3ltYm9sRXhpc3RzLmNtYWtlOiBFTkg6IE1ha2UgbW9kdWxlcyB1c2UgY29uZmlndXJlIGluc3RlYWQKCSAgb2YgZmlsZSB3cml0ZQoKMjAwNi0wMi0yMyAwOTozOCAgYW5keQoKCSogTW9kdWxlcy9DUGFjay5jbWFrZSwgTW9kdWxlcy9OU0lTLnRlbXBsYXRlLmluLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja05TSVNHZW5lcmF0b3IuY3h4LAoJICBUZW1wbGF0ZXMvQ1BhY2tDb25maWcuY21ha2UuaW46IEVOSDogU2V2ZXJhbCBOU0lTIGZlYXR1cmVzCgoyMDA2LTAyLTIzIDAyOjM0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDItMjIgMDI6MzYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMi0yMSAxMjoxOSAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlLAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBFTkg6IG1ha2UgY29tbWFuZCBsaW5lCgkgIGZsYWdzIG1vcmUgY29uc2lzdGVudCB3aXRoIGlkZSBzZXR0aW5ncwoKMjAwNi0wMi0yMSAwOTozNSAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsTVNZU01ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiB1c2UgbGFzdCBtb3VudAoJICBwb2ludCBmb3VuZCBmb3IgbWluZ3cgbG9jYXRpb24sIG5vdCBmaXJzdAoKMjAwNi0wMi0yMSAwNzo1OCAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsTVNZU01ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiB0cnkgdG8gZ2V0IHRoZQoJICBvcmRlciBhIGJpdCBiZXR0ZXIKCjIwMDYtMDItMjEgMDI6MzUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMi0yMCAyMzowOCAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwgU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsTVNZU01ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsTVNZU01ha2VmaWxlR2VuZXJhdG9yLmg6IEVOSDogYmV0dGVyIGZpbmRpbmcgb2YKCSAgbWluZ3cgZnJvbSBtc3lzLCBhbmQgZGVsZXRlIENNYWtlRmlsZXMgZGlyZWN0b3J5IHdoZW4gY2FjaGUgaXMKCSAgZGVsZXRlZAoKMjAwNi0wMi0yMCAxNzo0NyAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogRU5IOiBtYWtlIHN1cmUKCSAgQ01BS0VfU1RBTkRBUkRfTElCUkFSSUVTIGFyZSB1c2VkCgoyMDA2LTAyLTIwIDE0OjM3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5oOiBFTkg6IG1ha2UgaXQgY29tcGlsZSBvbiB2czYKCjIwMDYtMDItMjAgMTQ6MjEgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUc6IEFkZCB0YXJnZXQtbGV2ZWwKCSAgQ09NUElMRV9GTEFHUyB0byB0aGUgdGFyZ2V0IG5vdCB0aGUgaW5kaXZpZHVhbCBzb3VyY2UgZmlsZXMuCgkgIFRoaXMgc2ltcGxpZmllcyB0aGUgZ2VuZXJhdGVkIGZpbGVzIGFuZCBwdXRzIGZsYWdzIGluIGEgbW9yZQoJICBsb2dpY2FsIG9yZGVyIChWUzYgd29ya3MsIFZTNyBuZWVkcyBtb3JlIHRyYW5zbGF0aW9uIHRvIHdvcmspLgoKMjAwNi0wMi0yMCAxMzo0MiAgaG9mZm1hbgoKCSogU291cmNlLzogY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtTG9jYWxHZW5lcmF0b3IuaCwKCSAgY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4OiBFTkg6IGNoYW5nZSBleHBhbmQgc3R1ZmYgdG8gcGFzcyBhCgkgIHN0cnVjdCBmb3IgYWxsIHRoZSBhcmdzCgoyMDA2LTAyLTIwIDEyOjQ4ICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHg6IEVOSDogT3JkZXIgY29tcGlsYXRpb24KCSAgZmxhZ3MgZnJvbSBtb3N0IGdlbmVyYWwgdG8gbW9zdCBzcGVjaWZpYzogbGFuZ3VhZ2UsIHRoZW4gdGFyZ2V0LAoJICB0aGVuIHNvdXJjZS4KCjIwMDYtMDItMjAgMDk6NTQgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LCBjbUxvY2FsR2VuZXJhdG9yLmg6IEJVRzoKCSAgWGNvZGUgZ2VuZXJhdG9yIHNob3VsZCB1c2UgbG9jYWwgZ2VuZXJhdG9yIGNvbXB1dGF0aW9uIG9mIGluY2x1ZGUKCSAgZGlyZWN0b3JpZXMuCgoyMDA2LTAyLTIwIDAzOjAwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDItMTkgMTk6MjkgIGtpbmcKCgkqIFNvdXJjZS86IGNtRmlsZUNvbW1hbmQuY3h4LCBjbUluc3RhbGxHZW5lcmF0b3IuY3h4LAoJICBjbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuY3h4OiBCVUc6IEZpeGVkIG9wdGlvbmFsIGZpbGUgaW5zdGFsbAoJICBzdXBwb3J0IGZvciBtdWx0aS1jb25maWd1cmF0aW9uIGdlbmVyYXRvcnMuCgoyMDA2LTAyLTE5IDE5OjI4ICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwKCSAgY21UYXJnZXQuY3h4OiBFTkg6IFN3aXRjaGVkIG9yZGVyIG9mIHNsYXNoIGFuZCBjb25maWd1cmF0aW9uIG5hbWUKCSAgaW4gY21HbG9iYWxHZW5lcmF0b3I6OkFwcGVuZERpcmVjdG9yeUZvckNvbmZpZyBtZXRob2QgdG8gaW5jcmVhc2UKCSAgZmxleGliaWxpdHkuCgoyMDA2LTAyLTE5IDE4OjQ3ICBraW5nCgoJKiBib290c3RyYXAsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgU291cmNlL2NtSW5zdGFsbENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsQ29tbWFuZC5oLCBTb3VyY2UvY21JbnN0YWxsRmlsZXNDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUluc3RhbGxGaWxlc0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUluc3RhbGxGaWxlc0dlbmVyYXRvci5oLAoJICBTb3VyY2UvY21JbnN0YWxsUHJvZ3JhbXNDb21tYW5kLmgsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OiBFTkg6IEltcGxlbWVudGVkIEZJTEVTIGFuZAoJICBQUk9HUkFNUyBmb3JtcyBvZiB0aGUgSU5TVEFMTCBjb21tYW5kIGFzIHJlcGxhY2VtZW50cyBmb3IgdGhlCgkgIElOU1RBTExfRklMRVMgYW5kIElOU1RBTExfUFJPR1JBTVMgY29tbWFuZHMuCVRoaXMgYWRkcmVzc2VzIHRoZQoJICByZXF1ZXN0IGZvciBhYnNvbHV0ZSBwYXRoIGluc3RhbGwgZGVzdGluYXRpb25zIGluIGJ1ZyMyNjkxLgoKMjAwNi0wMi0xOSAxODo0NCAga2luZwoKCSogU291cmNlL2NtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHg6IFNUWUxFOiBSZW1vdmVkIHVudXNlZAoJICBpbmNsdWRlcy4KCjIwMDYtMDItMTkgMTc6NDQgIGtpbmcKCgkqIFRlc3RzLzogU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OiBFTkg6IFVzaW5nIENNQUtFX1NLSVBfQlVJTERfUlBBVEgKCSAgdG8gdGVzdCByZWxpbmsgc3VwcG9ydC4KCjIwMDYtMDItMTkgMTc6MjcgIGtpbmcKCgkqIFNvdXJjZS86IGNtSW5zdGFsbFRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtSW5zdGFsbFRhcmdldHNDb21tYW5kLmN4eCwgY21UYXJnZXQuY3h4LCBjbVRhcmdldC5oOiBCVUc6IEZpeGVkCgkgIHJlbGluayB3aXRoIG5ldyBpbnN0YWxsIGZyYW1ld29yay4KCjIwMDYtMDItMTkgMTY6MzUgIGtpbmcKCgkqIFNvdXJjZS9jbUluc3RhbGxDb21tYW5kLmN4eDogQ09NUDogUmVtb3ZlZCB1bnVzZWQgdmFyaWFibGVzLgoKMjAwNi0wMi0xOSAxNjoxMiAga2luZwoKCSogU291cmNlLzogY21JbnN0YWxsR2VuZXJhdG9yLmN4eCwgY21JbnN0YWxsR2VuZXJhdG9yLmg6IEJVRzogRG8KCSAgbm90IHJlcG9ydCBmaWxlcyBhcyBpbnN0YWxsZWQgaWYgdGhleSBhcmUgb3B0aW9uYWwgYW5kIGRvIG5vdAoJICBleGlzdC4KCjIwMDYtMDItMTkgMTY6MTAgIGtpbmcKCgkqIFNvdXJjZS9jbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuY3h4OiBCVUc6IEltcG9ydCBsaWJyYXJpZXMgc2hvdWxkCgkgIGJlIGluc3RhbGxlZCBhcyBTVEFUSUNfTElCUkFSWS4KCjIwMDYtMDItMTkgMTU6MjUgIGtpbmcKCgkqIGJvb3RzdHJhcCwgU291cmNlL0NNYWtlTGlzdHMudHh0LCBTb3VyY2UvY21JbnN0YWxsQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUluc3RhbGxDb21tYW5kLmgsIFNvdXJjZS9jbUluc3RhbGxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsR2VuZXJhdG9yLmgsIFNvdXJjZS9jbUluc3RhbGxTY3JpcHRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsU2NyaXB0R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUluc3RhbGxUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsVGFyZ2V0R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUluc3RhbGxUYXJnZXRzQ29tbWFuZC5oLCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmgsIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGUuaCwgU291cmNlL2NtU2V0VGFyZ2V0UHJvcGVydGllc0NvbW1hbmQuaCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OiBFTkg6IENyZWF0ZWQgbmV3IGluc3RhbGwKCSAgc2NyaXB0IGdlbmVyYXRpb24gZnJhbWV3b3JrLglUaGUgSU5TVEFMTCBjb21tYW5kIGNyZWF0ZXMgdGhlCgkgIGdlbmVyYXRvcnMgd2hpY2ggYXJlIGxhdGVyIHVzZWQgYnkgY21Mb2NhbEdlbmVyYXRvciB0byBjcmVhdGUgdGhlCgkgIGNtYWtlX2luc3RhbGwuY21ha2UgZmlsZXMuICBBIG5ldyB0YXJnZXQgaW5zdGFsbGF0aW9uIGludGVyZmFjZQoJICBpcyBwcm92aWRlZCBieSB0aGUgSU5TVEFMTCBjb21tYW5kIHdoaWNoIGZpeGVzIHNldmVyYWwgcHJvYmxlbXMKCSAgd2l0aCB0aGUgSU5TVEFMTF9UQVJHRVRTIGNvbW1hbmQuICBTZWUgYnVnIzI2OTEuICBCdWdzIDE0ODEgYW5kCgkgIDE2OTUgYXJlIGFkZHJlc3NlZCBieSB0aGVzZSBjaGFuZ2VzLgoKMjAwNi0wMi0xOSAxMzo0OSAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWdjYy5jbWFrZTogQlVHOiBGaXhlZCBtb2R1bGUgY3JlYXRpb24KCSAgcnVsZXMuICBSZW1vdmVkIHNvbmFtZSBwb3J0aW9uIG9mIGFsbCBydWxlcyBiZWNhdXNlIGl0IGlzIG5ldmVyCgkgIHVzZWQgb24gdGhpcyBwbGF0Zm9ybS4KCjIwMDYtMDItMTkgMTM6MzQgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vQ1lHV0lOLmNtYWtlOiBCVUc6IEZpeGVkIGN5Z3dpbiBtb2R1bGUgY3JlYXRpb24KCSAgcnVsZXMuICBNb2R1bGVzIHNob3VsZCBub3QgaGF2ZSB0aGUgImN5ZyIgcHJlZml4IGJ5IGRlZmF1bHQuCgkgIFJlbW92ZCBzb25hbWUgZmxhZ3MgZnJvbSBjcmVhdGlvbiBydWxlcyBiZWNhdXNlIHRoZXkgYXJlIG5ldmVyCgkgIHVzZWQgb24gdGhpcyBwbGF0Zm9ybS4KCjIwMDYtMDItMTkgMTM6MTAgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgVGVzdHMvQ3VzdG9tQ29tbWFuZC9HZW5lcmF0ZWRIZWFkZXIvQ01ha2VMaXN0cy50eHQ6IEVOSDoKCSAgQXV0b21hdGljIGluY2x1ZGUgZGlyZWN0b3JpZXMgc2hvdWxkIG5vdCBiZSBkb25lIGJ5IGRlZmF1bHQgYXMKCSAgd2FzIGp1c3QgaW1wbGVtZW50ZWQuICBJbnN0ZWFkIGEgcHJvamVjdCBtYXkgbm93IHNldAoJICBDTUFLRV9JTkNMVURFX0NVUlJFTlRfRElSIHRvIGdldCB0aGlzIGJlaGF2aW9yLiAgVGhlIGN1cnJlbnQKCSAgc291cmNlIGFuZCBiaW5hcnkgZGlyZWN0b3JpZXMgYXJlIGFkZGVkIGF1dG9tYXRpY2FsbHkgdG8gdGhlCgkgIGJlZ2lubmluZyBvZiB0aGUgaW5jbHVkZSBwYXRoIGluIGV2ZXJ5IGRpcmVjdG9yeS4gIFRoaXMgc2ltdWxhdGVzCgkgIGluLXNvdXJjZSBiZWhhdmlvciBmb3IgZG91YmxlLXF1b3RlIGluY2x1ZGVzIHdoZW4gdGhlcmUgYXJlCgkgIGdlbmVyYXRlZCBzb3VyY2VzIGFuZCBoZWFkZXJzIGluIHRoZSBkaXJlY3RvcnkuCgoyMDA2LTAyLTE5IDEzOjA4ICBraW5nCgoJKiBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHg6IEJVRzogSW5zdGFsbCBsb2NhdGlvbiBmdWxsLXBhdGggdGVzdAoJICBmb3Igd2luZG93cyBuZWVkcyB0byBhY2NvdW50IGZvciBib3RoIGxvd2VyIGNhc2UgYW5kIHVwcGVyIGNhc2UKCSAgZHJpdmUgbGV0dGVycy4KCjIwMDYtMDItMTkgMDE6NTMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMi0xOCAxNjo0NyAga2luZwoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBCVUc6IFJlbW92ZSB0cmFpbGluZyBzbGFzaGVzIGZyb20KCSAgaW5zdGFsbCBkZXN0aW5hdGlvbnMuCgoyMDA2LTAyLTE4IDE2OjM2ICBraW5nCgoJKiBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHg6IEVOSDogQ2xhcmlmaWVkIGVycm9yIG1lc3NhZ2UuCgoyMDA2LTAyLTE4IDE1OjQyICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IENPTVA6IEZpeGVkIHNoYWRvd2VkIHZhcmlhYmxlCgkgIHdhcm5pbmcuCgoyMDA2LTAyLTE4IDE1OjM3ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0NZR1dJTi5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWJjYzMyLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtZ2NjLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3Mtd2NsMzg2LmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MuY21ha2UsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eCwgU291cmNlL2NtVGFyZ2V0LmN4eCwKCSAgU291cmNlL2NtVGFyZ2V0Lmg6IEVOSDogR2VuZXJhdGUgaW1wb3J0IGxpYnJhcmllcyBmb3IgRExMcyBvbgoJICBDeWd3aW4gYW5kIE1pbkdXLgoKMjAwNi0wMi0xOCAxMTo1MSAga2luZwoKCSogU291cmNlLzogY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBFTkg6IElmCgkgIENNQUtFX05PX0FVVE9NQVRJQ19JTkNMVURFX0RJUkVDVE9SSUVTIGlzIG5vdCBzZXQgdHJ5IHRvCgkgIGFwcHJveGltYXRlIGluLXNvdXJjZSBidWlsZCBpbmNsdWRlIGZpbGUgYmVoYXZpb3IgaW4gYW4KCSAgb3V0LW9mLXNvdXJjZSBidWlsZCBieSBhZGRpbmcgdGhlIGJ1aWxkIHRyZWUgZGlyZWN0b3J5CgkgIGNvcnJlc3BvbmRpbmcgdG8gYSBzb3VyY2UgdHJlZSBkaXJlY3RvcnkgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUKCSAgaW5jbHVkZSBwYXRoLiAgQWxzbyBmaXhlZCBWUzYgYW5kIFZTNyBnZW5lcmF0b3JzIHRvIHVzZQoJICBjbUxvY2FsR2VuZXJhdG9yJ3MgY29tcHV0YXRpb24gb2YgaW5jbHVkZSBwYXRocy4gIFRoZSBWUzYKCSAgZ2VuZXJhdG9yIHdpbGwgbm93IHNob3J0LXBhdGggdGhlIGluY2x1ZGUgZGlyZWN0b3JpZXMgaWYgdGhlCgkgIHRvdGFsIGxlbmd0aCBpcyB0b28gbG9uZyBpbiBvcmRlciB0byB0cnkgdG8gYXZvaWQgaXRzIHRydW5jYXRpb24KCSAgbGltaXQuCgoyMDA2LTAyLTE4IDExOjAzICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbEtkZXZlbG9wR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxLZGV2ZWxvcEdlbmVyYXRvci5oOiBFTkg6IGFwcGx5IHBhdGNoIGZyb20gQWxleCB0bwoJICBzdXBwb3J0IHNvbWUgbW9yZSBrZGV2ZWxvcCBzdHVmZgoKMjAwNi0wMi0xOCAwMTo1NSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTAyLTE3IDEyOjQ5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEVOSDogcHV0IHRoZSBzeXN0ZW0gcGF0aCBhaGVhZCBvZiB0aGUKCSAgY29tbWFuZCBwYXRoCgoyMDA2LTAyLTE3IDAyOjI2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDItMTYgMjA6MTUgIGtpbmcKCgkqIE1vZHVsZXMvQ1BhY2suY21ha2UsIFV0aWxpdGllcy9SZWxlYXNlL1JlbGVhc2UuY21ha2U6IEJVRzogRG8gbm90CgkgIGluc3RhbGwgTVNWQyBkbGxzIGZvciBhIG5vbi1NU1ZDIGJ1aWxkLgoKMjAwNi0wMi0xNiAyMDoxMyAga2luZwoKCSogYm9vdHN0cmFwOiBFTkg6IE1hZGUgZGVmYXVsdCBpbnN0YWxsIHByZWZpeCBjb25zaXN0ZW50IHdpdGgKCSAgYnVpbGRpbmcgd2l0aCBhbm90aGVyIENNYWtlLgoKMjAwNi0wMi0xNiAxODo1MCAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxCb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaDogQlVHOiBXb3JrLWFyb3VuZCBib3JsYW5kIG1ha2UKCSAgYnVnIHRoYXQgZHJvcHMgYSBydWxlIGNvbXBsZXRlbHkgaWYgaXQgaGFzIG5vIGRlcGVuZGVuY2llcyBvcgoJICBjb21tYW5kcy4KCjIwMDYtMDItMTYgMTg6MDkgIGtpbmcKCgkqIFNvdXJjZS9jbVNldFRhcmdldFByb3BlcnRpZXNDb21tYW5kLmg6IEVOSDogQ2xhcmlmaWVkCgkgIGRvY3VtZW50YXRpb24gb2YgREVGSU5FX1NZTUJPTC4KCjIwMDYtMDItMTYgMTc6NDkgIGtpbmcKCgkqIFNvdXJjZS9jbVNldFRhcmdldFByb3BlcnRpZXNDb21tYW5kLmN4eDogQlVHOiBSZXBvcnQgZXJyb3Igd2hlbiBhCgkgIHRhcmdldCBkb2VzIG5vdCBleGlzdC4KCjIwMDYtMDItMTYgMTU6NTUgIGFuZHkKCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrTlNJU0dlbmVyYXRvci5jeHg6IEJVRzogUmVtb3ZlIGRlYnVnIGFuZCBmaXgKCSAgc3BhY2UgYmV0d2VlbiBsYWJlbCBhbmQgZXhlYyBuYW1lCgoyMDA2LTAyLTE2IDE1OjQxICBhbmR5CgoJKiBDTWFrZUxpc3RzLnR4dDogRU5IOiBWYXJpYWJsZSBuYW1lIGNoYW5nZWQKCjIwMDYtMDItMTYgMTU6MzkgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5jeHg6IEJVRzogRG8gbm90CgkgIHBlcmZvcm0gcHJlLWJ1aWxkLCBwcmUtbGluaywgb3IgcG9zdC1pbnN0YWxsIGNvbW1hbmRzIHdoZW4KCSAgcmVsaW5raW5nLgoKMjAwNi0wMi0xNiAxNTozOCAga2luZwoKCSogVGVzdHMvOiBTaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBTaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEJVRzogTmVlZCBJTlNUQUxMX1JQQVRIIHByb3BlcnR5CgkgIG9uIFNpbXBsZUluc3RhbGxTMiBhbHNvLgoKMjAwNi0wMi0xNiAxNTozNSAgYW5keQoKCSogVGVtcGxhdGVzL0NQYWNrQ29uZmlnLmNtYWtlLmluOiBFTkg6IEZpeCBpY29ucwoKMjAwNi0wMi0xNiAxNToyOCAga2luZwoKCSogVGVzdHMvOiBTaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBTaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEVOSDogVXNlIHRhcmdldCBwcm9wZXJ0eSBmb3IKCSAgSU5TVEFMTF9SUEFUSCBvZiBTaW1wbGVJbnN0YWxsIHNvIHRoYXQgaXQgaXMgdGhlIG9ubHkgb25lIHRoYXQKCSAgbmVlZHMgdG8gcmVsaW5rLgoKMjAwNi0wMi0xNiAxNToyMCAgYW5keQoKCSogTW9kdWxlcy9OU0lTLnRlbXBsYXRlLmluLCBTb3VyY2UvQ1BhY2svY21DUGFja05TSVNHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja05TSVNHZW5lcmF0b3IuaDogRU5IOiBNb3JlIHdvcmsgb24gTlNJIHRvCgkgIGltcHJvdmUgaW5zdGFsbGluZyBhbmQgdW5pbnN0YWxsaW5nCgoyMDA2LTAyLTE2IDE1OjE4ICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbVNldFRhcmdldFByb3BlcnRpZXNDb21tYW5kLmgsIFNvdXJjZS9jbVRhcmdldC5jeHgsCgkgIFNvdXJjZS9jbVRhcmdldC5oLCBUZXN0cy9TaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEVOSDogSW1wbGVtZW50ZWQgUlBBVEgKCSAgc3BlY2lmaWNhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZG9jdW1lbnRlZCBieSB0aGUgY29tbWFuZAoJICBTRVRfVEFSR0VUX1BST1BFUlRJRVMuCgoyMDA2LTAyLTE2IDEzOjQyICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHg6IEVOSDogd2FybmluZyBmaXgKCjIwMDYtMDItMTYgMTE6MzIgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbU1ha2VmaWxlVGFyZ2V0R2VuZXJhdG9yLmN4eDogRU5IOiB3YXJuaW5nIGZpeAoKMjAwNi0wMi0xNiAxMDozNSAgaG9mZm1hbgoKCSogU291cmNlLzogY21EeW5hbWljTG9hZGVyLmN4eCwgY21EeW5hbWljTG9hZGVyLmg6IEVOSDogZml4IGZvciBidWcKCSAgMjgwOCwgdXNlIGRsb3BlbiBvbiBuZXcgT1NYIHZlcnNpb25zCgoyMDA2LTAyLTE2IDAyOjI1ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDItMTUgMjE6MjYgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VNU1lTRmluZE1ha2UuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VNaW5HV0ZpbmRNYWtlLmNtYWtlLAoJICBTb3VyY2UvY21HbG9iYWxNU1lTTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxNaW5HV01ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBiZXR0ZXIgYWxnb3JpdGhtCgkgIGZvciBsb29raW5nIGZvciBtYWtlIGFuZCBnY2Mgb24gbXN5cyBhbmQgbWluZ3cKCjIwMDYtMDItMTUgMTY6MzggIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogVXNlIE5PSU5IRVJJVAoJICBtYWNybyB0byBhdm9pZCBsaW5raW5nIHRvIHByb2plY3QgZGVmYXVsdCBsaWJyYXJpZXMgd2hpY2ggbWF5IG5vdAoJICBleGlzdC4KCjIwMDYtMDItMTUgMTY6MzUgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwKCSAgY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlTGlicmFyeVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlVXRpbGl0eVRhcmdldEdlbmVyYXRvci5jeHg6IEVOSDogQ2xlYW5lZCB1cCBnZW5lcmF0aW9uCgkgIG9mIHN5bWJvbGljIHJ1bGVzLiAgUmVtb3ZlZCBnZW5lcmF0aW9uIG9mIHJlYnVpbGRfY2FjaGUgYW5kCgkgIHNpbWlsYXIgcnVsZXMgZnJvbSBpbnRlcm5hbCBtYWtlZmlsZXMuCgoyMDA2LTAyLTE1IDEyOjMyICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5oOiBDT01QOiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAwNi0wMi0xNSAxMjozMCAgaG9mZm1hbgoKCSogU291cmNlL2NtTWFrZWZpbGVUYXJnZXRHZW5lcmF0b3IuY3h4OiBFTkg6IGZpeCBidWlsZCBlcnJvciBmb3IKCSAgbWFjCgoyMDA2LTAyLTE1IDEwOjM0ICBtYXJ0aW5rCgoJKiBib290c3RyYXAsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLAoJICBTb3VyY2UvY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5oOiBFTkg6IHNvbWUgcmVvcmcgb2YgdGhlIHVuaXgKCSAgbWFrZWZpbGUgZ2VuZXJhdG9yCgoyMDA2LTAyLTE1IDEwOjIyICBraW5nCgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaCwKCSAgY21ha2UuY3h4OiBFTkg6IEVuYWJsZSBjYXB0dXJlIG9mIG91dHB1dCBmcm9tIFZDRXhwcmVzcy5leGUgYW5kCgkgIGRldmVudi5leGUuCgoyMDA2LTAyLTE1IDA4OjA1ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtYmNjMzIuY21ha2U6IEVOSDogcmVtb3ZlIHdhcm5pbmcKCSAgc3VwcHJlc3Npb25zIGZvciBib3JsYW5kIGNvbXBpbGVyLCBwcm9qZWN0cyB3YW50aW5nIHRoaXMgc2hvdWxkCgkgIHVzZSAtdy0sIHRoZSBkZWZhdWx0IHdhcm5pbmcgbGV2ZWwgaXMgdXNlZCBmb3IgYWxsIG90aGVyCgkgIGNvbXBpbGVycy4gIFVzZWQgdG8gYmUgLXctIC13aGlkIC13YXVzIC13cGFyCgoyMDA2LTAyLTE1IDAyOjIxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDItMTQgMjI6MDMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VNaW5HV0ZpbmRNYWtlLmNtYWtlLCBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IGRvIG5vdAoJICBhbGxvdyBtaW5ndyBtYWtlZmlsZXMgdG8gZ2VuZXJhdGUgaWYgc2guZXhlIGlzIGluIHRoZSBwYXRoLCBhbHNvCgkgIGRvIG5vdCB3cml0ZSBDTWFrZUNhY2hlLnR4dCBpZiB0aGVyZSBpcyBhIGZhdGFsIGVycm9yLgoKMjAwNi0wMi0xNCAxNzoxNiAga2luZwoKCSogU291cmNlLzogY21DTWFrZU1pbmltdW1SZXF1aXJlZC5jeHgsIGNtQ01ha2VNaW5pbXVtUmVxdWlyZWQuaDoKCSAgRU5IOiBBZGRlZCBGQVRBTF9FUlJPUiBvcHRpb24gYW5kIGZpeGVkIGNoZWNrIHRvIG5vdCBoYXZlCgkgIGZsb2F0aW5nIHBvaW50IHJvdW5kb2ZmIHByb2JsZW1zLgoKMjAwNi0wMi0xNCAxNjozNSAga2luZwoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBSZW1vdmVkIGhhcmQtY29kZWQKCSAgbGlua2luZyB0byBvZGJjMzIgYW5kIG9kYmNjcDMyLgoKMjAwNi0wMi0xNCAxNjozMiAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogQXZvaWQgYWRkaW5nIHVudXNlZCBydWxlcwoJICB0byBzcGVjaWFsIHRhcmdldHMgbGlrZSBBTExfQlVJTEQuICBNYWtlIHN1cmUgcHJvamVjdAoJICByZWdlbmVyYXRpb24gcnVsZXMgZ28gb25seSBpbiBkZXNpcmVkIHRhcmdldHMuCgoyMDA2LTAyLTE0IDE1OjM1ICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzhHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzhHZW5lcmF0b3IuaDogQlVHOiBGaXhlZCBnZW5lcmF0aW9uIG9mIFZTOAoJICBzb2x1dGlvbiBmaWxlIHRvIG5vdCBiZSByZS13cml0dGVuIHdoZW4gbG9hZGVkIGJ5IFZTIGFuZCB0byB3b3JrCgkgIHdpdGggbXNidWlsZC4KCjIwMDYtMDItMTQgMTU6MjkgIGtpbmcKCgkqIE1vZHVsZXMvQ2hlY2tUeXBlU2l6ZS5jbWFrZTogRU5IOiBBZGRlZAoJICBDTUFLRV9SRVFVSVJFRF9ERUZJTklUSU9OUyBhbmQgQ01BS0VfUkVRVUlSRURfSU5DTFVERVMgdG8gdGhlCgkgIGludGVyZmFjZS4KCjIwMDYtMDItMTQgMTU6MTUgIGtpbmcKCgkqIFRlc3RzL0N1c3RvbUNvbW1hbmQvR2VuZXJhdGVkSGVhZGVyL21haW4uY3BwOiBDT01QOiBGaXhlZCBmb3JtIG9mCgkgIGZ1bmN0aW9uIG1haW4uCgoyMDA2LTAyLTE0IDE0OjI5ICBhbmR5CgoJKiBNb2R1bGVzL05TSVMudGVtcGxhdGUuaW4sIFNvdXJjZS9DUGFjay9jbUNQYWNrTlNJU0dlbmVyYXRvci5jeHg6CgkgIEVOSDogQmV0dGVyIGhhbmRsaW5nIG9mIGV4ZWN1dGFibGVzIG9uIHdpbmRvd3MKCjIwMDYtMDItMTQgMTQ6MjggIGFuZHkKCgkqIFRlbXBsYXRlcy9DUGFja0NvbmZpZy5jbWFrZS5pbjogRU5IOiBDbGVhbnVwCgoyMDA2LTAyLTE0IDExOjE3ICBhbmR5CgoJKiBTb3VyY2UvY21DYWNoZU1hbmFnZXIuY3h4OiBFTkg6IFJlcG9ydCB3aGljaCBjbWFrZSB3YXMgdXNlZCB0bwoJICBnZW5lcmF0ZSB0aGUgY2FjaGUgaW4gdGhlIGNvbW1lbnQKCjIwMDYtMDItMTQgMTA6NTEgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZTogRU5IOiBmaXggdHJ5IGNvbXBpbGUgZm9yIE1GQwoKMjAwNi0wMi0xNCAxMDozNSAgbWFydGluawoKCSogU291cmNlLzogY21NYWtlZmlsZUV4ZWN1dGFibGVUYXJnZXRHZW5lcmF0b3IuaCwKCSAgY21NYWtlZmlsZUxpYnJhcnlUYXJnZXRHZW5lcmF0b3IuaCwgY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5oLAoJICBjbU1ha2VmaWxlVXRpbGl0eVRhcmdldEdlbmVyYXRvci5oLAoJICBjbU1ha2VmaWxlRXhlY3V0YWJsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVMaWJyYXJ5VGFyZ2V0R2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZVRhcmdldEdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVVdGlsaXR5VGFyZ2V0R2VuZXJhdG9yLmN4eDogRU5IOiBzb21lIGNsZWFudXAgb2YgdGhlCgkgIG1ha2VmaWxlIGdlbmVyYXRvcgoKMjAwNi0wMi0xNCAxMDoyOCAgYW5keQoKCSogQ01ha2VMaXN0cy50eHQsIE1vZHVsZXMvQ1BhY2suY21ha2UsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9DUGFjay9jbUNQYWNrU1RHWkdlbmVyYXRvci5jeHgsIFNvdXJjZS9DUGFjay9jcGFjay5jeHgsCgkgIFRlbXBsYXRlcy9DUGFja0NvbmZpZy5jbWFrZS5pbjogRU5IOiBJbXByb3ZlZCBzdXBwb3J0IGZvciBpY29ucywKCSAgcmFuZG9tIGRpcmVjdG9yaWVzLCBldGMuLi4KCjIwMDYtMDItMTQgMDI6MTQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMi0xMyAwMjoxMCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTAyLTEyIDAyOjI3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDItMTEgMDI6MTEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMi0xMCAxNTo0NSAga2luZwoKCSogVGVzdHMvQ29tbWFuZExpbmVUZXN0L0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZGVkIHRlc3QgZm9yCgkgIElGKERFRklORUQgRU5We3Zhcn0pKC4KCjIwMDYtMDItMTAgMTQ6NTkgIGtpbmcKCgkqIENNYWtlTGlzdHMudHh0OiBFTkg6IFVwZGF0ZWQgcGF0Y2ggbGV2ZWwgdG8gMyBmb3Igc3BlY2lhbCBLREUKCSAgcmVsZWFzZS4KCjIwMDYtMDItMTAgMTQ6NDEgIGtpbmcKCgkqIFNvdXJjZS9jbUlmQ29tbWFuZC5jeHg6IEVOSDogQWxsb3cgSUYoREVGSU5FRCBFTlZ7c29tZXZhcn0pIHRvCgkgIHdvcmsuCgoyMDA2LTAyLTEwIDE0OjE1ICBraW5nCgoJKiBEb2NzL2NtYWtlLW1vZGUuZWw6IEVOSDogQWRkZWQgaGlnaGxpZ2h0aW5nIGZvciBMSVNUIGNvbW1hbmQuCgoyMDA2LTAyLTEwIDE0OjExICBhbmR5CgoJKiBDTWFrZUxpc3RzLnR4dCwgU291cmNlL2NtQ29tbWFuZHMuY3h4LCBTb3VyY2UvY21MaXN0Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUxpc3RDb21tYW5kLmgsIFRlc3RzL0NNYWtlVGVzdHMvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NNYWtlVGVzdHMvTGlzdFRlc3QuY21ha2UuaW46IEVOSDogQWRkIGluaXRpYWwKCSAgaW1wbGVtZW50YXRpb24gb2YgdGhlIGxpc3QgY29tbWFuZAoKMjAwNi0wMi0xMCAxMzo1NCAga2luZwoKCSogRG9jcy9jbWFrZS1tb2RlLmVsLCBTb3VyY2UvY21Db21tYW5kcy5jeHgsCgkgIFNvdXJjZS9jbUluc3RhbGxDb21tYW5kLmN4eCwgU291cmNlL2NtSW5zdGFsbENvbW1hbmQuaCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5oLAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsL0luc3RhbGxTY3JpcHQxLmNtYWtlLAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsL0luc3RhbGxTY3JpcHQyLmNtYWtlLAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9JbnN0YWxsU2NyaXB0MS5jbWFrZSwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL0luc3RhbGxTY3JpcHQyLmNtYWtlOiBFTkg6IEFkZGVkIElOU1RBTEwKCSAgY29tbWFuZCBhcyBhIHBsYWNlaG9sZGVyIGZvciBhIGZ1dHVyZSBnZW5lcmljIGluc3RhbGwKCSAgc3BlY2lmaWNhdGlvbiBpbnRlcmZhY2UuICBDdXJyZW50bHkgaXQgc3VwcG9ydHMgb25seSBhIFNDUklQVAoJICBvcHRpb24gc3BlY2lmeWluZyBhIHNjcmlwdCB0byBydW4gZHVyaW5nIHRoZSBpbnN0YWxsIHN0YWdlLgoKMjAwNi0wMi0xMCAxMjo0MyAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogRU5IOiBmaXggZm9yIGJ1ZyAyODYxOCwgY21ha2UuZXhlCgkgIGNhbiBub3QgZmluZCBpdHNlbGYKCjIwMDYtMDItMTAgMTE6NDcgIGtpbmcKCgkqIFRlc3RzLzogQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwgQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvQ01ha2VMaXN0cy50eHQ6IEVOSDogU3RyZW5ndGhlbmVkCgkgIEVYRUNVVEVfUFJPQ0VTUyBvdXRwdXQgY2hlY2sgdGVzdC4KCjIwMDYtMDItMTAgMTE6NDYgIGtpbmcKCgkqIFNvdXJjZS9jbUV4ZWN1dGVQcm9jZXNzQ29tbWFuZC5jeHg6IEVOSDogUmVtb3ZlIGV4dHJhIHdpbmRvd3MKCSAgbmV3bGluZSBjaGFyYWN0ZXJzIGZyb20gcHJvY2VzcyBvdXRwdXQuICBDZW50cmFsaXplZCB0ZXh0IGZpeAoJICBwcm9jZXNzaW5nLgoKMjAwNi0wMi0xMCAxMTo0MyAga2luZwoKCSogU291cmNlLzogY21FeGVjUHJvZ3JhbUNvbW1hbmQuaCwgY21FeGVjdXRlUHJvY2Vzc0NvbW1hbmQuaDogRU5IOgoJICBNZW50aW9uIHJlbGF0aW9uc2hpcCBvZiBFWEVDVVRFX1BST0NFU1MgYW5kIEVYRUNfUFJPR1JBTS4KCjIwMDYtMDItMTAgMTE6NDEgIGtpbmcKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEJVRzogRml4ZWQgZWNobyBjb21tYW5kIHRvIG5vdCBwcmludCB0cmFpbGluZwoJICBzcGFjZS4KCjIwMDYtMDItMTAgMTE6MTkgIGtpbmcKCgkqIGJvb3RzdHJhcDogQlVHOiBGaXhlZCBib290c3RyYXAgZnJvbSBNU1lTIHByb21wdC4gIEl0IHdhcyB3b3JraW5nCgkgIG9ubHkgd2hlbiB0aGUgYm9vdHN0cmFwIGRpcmVjdG9yeSBpbiBNU1lTIG1hcHBlZCB0byB0aGUgc2FtZQoJICBkaXJlY3Rvcnkgb24gd2luZG93cyBleGNlcHQgZm9yIHRoZSBkcml2ZSBsZXR0ZXIgaW4gZnJvbnQuICBOb3cKCSAgaXQgc2hvdWxkIHdvcmsgZnJvbSBhbnkgcGF0aC4KCjIwMDYtMDItMTAgMTA6MzAgIGhvZmZtYW4KCgkqIFRlc3RzL0N1c3RvbUNvbW1hbmRXb3JraW5nRGlyZWN0b3J5LzogQ01ha2VMaXN0cy50eHQsIHdvcmtpbmcuYywKCSAgd29ya2luZy5jLmluOiBFTkg6IGZpeCB0ZXN0IHRvIHdvcmsgd2l0aCBpbiBzb3VyY2UgYnVpbGQKCjIwMDYtMDItMTAgMTA6MTEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogRU5IOiBmaXggYnVnIGZvciBzaW5nbGUgY2hhcgoJICBsaWJyYXJpZXMKCjIwMDYtMDItMTAgMDk6NDYgIGFuZHkKCgkqIE1vZHVsZXMvQ2hlY2tMaWJyYXJ5RXhpc3RzLmNtYWtlOiBCVUc6IEZpeAoJICBDTUFLRV9SRVFVSVJFRF9MSUJSQVJJRVMgc3R1ZmYgaW4gdGhpcyBtb2R1bGUKCjIwMDYtMDItMTAgMDI6MTYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMi0wOSAyMzowOCAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogRU5IOiBidWcgZml4IGZvciAyODI5CgkgIGJldHRlciBmbGFncyBmb3IgaWRsIHRvb2wKCjIwMDYtMDItMDkgMTk6MjkgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHg6IENPTVA6IFJlbW92ZWQgdW51c2VkCgkgIHZhcmlhYmxlcy4KCjIwMDYtMDItMDkgMTk6MjUgIGtpbmcKCgkqIENNYWtlTGlzdHMudHh0OiBFTkg6IFVwZGF0ZWQgcGF0Y2ggbGV2ZWwgdG8gMiBmb3Igc3BlY2lhbCBLREUKCSAgcmVsZWFzZS4KCjIwMDYtMDItMDkgMTk6MjMgIGtpbmcKCgkqIE1vZHVsZXMvOiBDaGVja0NTb3VyY2VDb21waWxlcy5jbWFrZSwKCSAgQ2hlY2tDWFhTb3VyY2VDb21waWxlcy5jbWFrZSwgQ2hlY2tGdW5jdGlvbkV4aXN0cy5jbWFrZSwKCSAgQ2hlY2tJbmNsdWRlRmlsZS5jbWFrZSwgQ2hlY2tJbmNsdWRlRmlsZUNYWC5jbWFrZSwKCSAgQ2hlY2tJbmNsdWRlRmlsZXMuY21ha2UsIENoZWNrTGlicmFyeUV4aXN0cy5jbWFrZSwKCSAgQ2hlY2tTeW1ib2xFeGlzdHMuY21ha2UsIENoZWNrVmFyaWFibGVFeGlzdHMuY21ha2U6IEVOSDogTWFkZQoJICBDaGVjayogbW9kdWxlcyBtb3JlIGNvbnNpc3RlbnQgYW5kIHdlbGwgZG9jdW1lbnRlZC4gIEFkZGVkCgkgIENNQUtFX1JFUVVJUkVEX0RFRklOSVRJT05TIG9wdGlvbi4KCjIwMDYtMDItMDkgMTk6MDMgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogQlVHOiBOZWVkIHRvIGluY2x1ZGUgZW1wdHkgYXJndW1lbnRzIHdoZW4KCSAgcGFyc2luZyBwcmVmaXgvc3VmZml4IGxpc3RzIGZvciBGaW5kTGlicmFyeS4KCjIwMDYtMDItMDkgMTk6MDMgIGtpbmcKCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmg6IEVOSDogQWRkaW5nIG9wdGlvbgoJICB0byByZXR1cm4gZW1wdHkgYXJndW1lbnRzIHdoZW4gZXhwYW5kaW5nIGEgbGlzdC4KCjIwMDYtMDItMDkgMTg6NDIgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuaCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oOiBCVUc6IEZpeGVkIGdlbmVyYXRpb24gb2YgY21ha2UKCSAgcmUtcnVuIHJ1bGVzLgoKMjAwNi0wMi0wOSAxODozOSAga2luZwoKCSogVGVzdHMvOiBDb21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogQlVHOiBBdm9pZCBjYXNlCgkgIHByb2JsZW1zIG9uIHdpbmRvd3MuCgoyMDA2LTAyLTA5IDE3OjI5ICBraW5nCgoJKiBTb3VyY2UvOiBjbU9yZGVyTGlua0RpcmVjdG9yaWVzLmN4eCwgY21PcmRlckxpbmtEaXJlY3Rvcmllcy5oOgoJICBCVUc6IERlYWwgd2l0aCBjYXNlIGluc2Vuc2l0aXZpdHkgb24gd2luZG93cyBsaW5rZXIgcGF0aHMuICBBbHNvCgkgIGZpeGVkIHNwZWxsaW5nIHR5cG8uCgoyMDA2LTAyLTA5IDE1OjMzICBraW5nCgoJKiBNb2R1bGVzL0ZpbmRQTkcuY21ha2U6IEVOSDogUHV0IGxpYnBuZyBuYW1lIGJhY2sgYmVjYXVzZSBpdCBpcwoJICBuZWVkZWQgZm9yIHBsYWluIHdpbmRvd3MuCgoyMDA2LTAyLTA5IDE1OjA4ICBraW5nCgoJKiBNb2R1bGVzLzogRmluZEpQRUcuY21ha2UsIEZpbmRQTkcuY21ha2UsIEZpbmRUSUZGLmNtYWtlLAoJICBGaW5kWkxJQi5jbWFrZTogRU5IOiBSZW1vdmluZyBwbGF0Zm9ybS1zcGVjaWZpYyBuYW1lIGhhY2tzIG5vdwoJICB0aGF0IEZJTkRfTElCUkFSWSBoYW5kbGVzIGl0LgoKMjAwNi0wMi0wOSAxNTowNSAga2luZwoKCSogTW9kdWxlcy9DTWFrZUdlbmVyaWNTeXN0ZW0uY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vQ1lHV0lOLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL0Rhcndpbi5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9IUC1VWC5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWJjYzMyLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtZ2NjLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MuY21ha2UsIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogRU5IOiBBZGRlZAoJICBwbGF0Zm9ybSBzZXR0aW5ncyBDTUFLRV9GSU5EX0xJQlJBUllfUFJFRklYRVMgYW5kCgkgIENNQUtFX0ZJTkRfTElCUkFSWV9TVUZGSVhFUyB0byBhbGxvdyBjdXN0b21pemVkIHNlYXJjaGluZyBmb3IKCSAgbGlicmFyaWVzLgoKMjAwNi0wMi0wOSAxNDoyOCAga2luZwoKCSogTW9kdWxlcy9DaGVja1N5bWJvbEV4aXN0cy5jbWFrZTogRU5IOiBQYXkgYXR0ZW50aW9uIHRvCgkgIENNQUtFX1JFUVVJUkVEX0lOQ0xVREVTLgoKMjAwNi0wMi0wOSAxNDoxOCAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWcrKy5jbWFrZTogQlVHOiBOZWVkIFdpbmRvd3MtZysrLmNtYWtlCgkgIG1vZHVsZSB0byBzdXBwb3J0IEMrKy1vbmx5IHByb2plY3RzIG9uIFdpbmRvd3MuCgoyMDA2LTAyLTA5IDEzOjQ4ICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlQ1hYQ29tcGlsZXIuY21ha2UuaW46IEJVRzogTmVlZCB0byBkdXBsaWNhdGUgc29tZQoJICBpbmZvcm1hdGlvbiBmcm9tIENNYWtlQ0NvbXBpbGVyIHRvIHN1cHBvcnQgQysrLW9ubHkgcHJvamVjdHMuCgoyMDA2LTAyLTA5IDEzOjE0ICBraW5nCgoJKiBNb2R1bGVzLzogQ2hlY2tDU291cmNlQ29tcGlsZXMuY21ha2UsCgkgIENoZWNrQ1hYU291cmNlQ29tcGlsZXMuY21ha2UsIENoZWNrSW5jbHVkZUZpbGVzLmNtYWtlOiBFTkg6IFBhdGNoCgkgIGZyb20gQWxleGFuZGVyIE5ldW5kb3JmIHRvIGltcHJvdmUgYmVoYXZpb3IuCgoyMDA2LTAyLTA5IDEyOjA0ICBraW5nCgoJKiBNb2R1bGVzLzogRmluZEpQRUcuY21ha2UsIEZpbmRQTkcuY21ha2UsIEZpbmRUSUZGLmNtYWtlLAoJICBGaW5kWkxJQi5jbWFrZTogRU5IOiBBZGRlZCBuYW1lcyBmb3IgZ251d2luMzIgbGlicmFyeSB2ZXJzaW9ucy4KCjIwMDYtMDItMDkgMDk6MzQgIGRhdmlkLmNvbGUKCgkqIFV0aWxpdGllcy9jbXRhci93cmFwcGVyLmM6IENPTVA6IExhc3QgKD8pIGZpeCBmb3IgZGFzaGJvYXJkCgkgIHdhcm5pbmcuCgoyMDA2LTAyLTA5IDAyOjE3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDItMDggMTU6MzcgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuY3h4LAoJICBjbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuY3h4LCBjbVZUS1dyYXBKYXZhQ29tbWFuZC5jeHg6IEVOSDogZml4CgkgIGJyb2tlbiB0ZXN0cwoKMjAwNi0wMi0wOCAxNDoxMiAgaG9mZm1hbgoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBFTkg6IHdvcmtpbmcKCSAgZGlyZWN0b3J5IHdvcmtpbmcgZm9yIFhDb2RlCgoyMDA2LTAyLTA4IDEyOjAxICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmg6IEVOSDogRW5hYmxlZCBuZXcKCSAgV09SS0lOR19ESVJFQ1RPUlkgb3B0aW9uIHRvIEFERF9DVVNUT01fQ09NTUFORCBhbmQKCSAgQUREX0NVU1RPTV9UQVJHRVQgb24gVlMgNiBnZW5lcmF0b3IuCgoyMDA2LTAyLTA4IDExOjMzICBob2ZmbWFuCgoJKiBUZXN0cy9DdXN0b21Db21tYW5kV29ya2luZ0RpcmVjdG9yeS86IENNYWtlTGlzdHMudHh0LAoJICBjdXN0b21UYXJnZXQuYywgd29ya2luZy5jOiBFTkg6IGFkZCB0ZXN0IGZvciB3b3JraW5nIGRpcmVjdG9yeSBvZgoJICBjdXN0b20gY29tbWFuZCBhbmQgdGFyZ2V0CgoyMDA2LTAyLTA4IDEwOjU4ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlRm9ydHJhbkluZm9ybWF0aW9uLmNtYWtlLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9jbUFkZEN1c3RvbUNvbW1hbmRDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuaCwKCSAgU291cmNlL2NtQWRkQ3VzdG9tVGFyZ2V0Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuaCwgU291cmNlL2NtQ1BsdWdpbkFQSS5jeHgsCgkgIFNvdXJjZS9jbUN1c3RvbUNvbW1hbmQuY3h4LCBTb3VyY2UvY21DdXN0b21Db21tYW5kLmgsCgkgIFNvdXJjZS9jbUZMVEtXcmFwVUlDb21tYW5kLmN4eCwgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21JbmNsdWRlRXh0ZXJuYWxNU1Byb2plY3RDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmgsIFNvdXJjZS9jbVFUV3JhcENQUENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21RVFdyYXBVSUNvbW1hbmQuY3h4LCBTb3VyY2UvY21WVEtXcmFwSmF2YUNvbW1hbmQuY3h4OgoJICBFTkg6IGFkZCB3b3JraW5nIGRpcmVjdG9yeSBzdXBwb3J0CgoyMDA2LTAyLTA4IDEwOjEzICBraW5nCgoJKiBDTWFrZUxpc3RzLnR4dCwgU291cmNlL0NNYWtlTGlzdHMudHh0LCBVdGlsaXRpZXMvQ01ha2VMaXN0cy50eHQ6CgkgIEVOSDogQWRkZWQgb3B0aW9uIEJVSUxEX0N1cnNlc0RpYWxvZyBpZiBjdXJzZXMgaXMgZm91bmQuICBUaGlzCgkgIGFsbG93cyBwZW9wbGUgdG8gZGlzYWJsZSBidWlsZGluZyB0aGUgZGlhbG9nIGV2ZW4gd2hlbiBjdXJzZXMgaXMKCSAgZm91bmQuCgoyMDA2LTAyLTA4IDA5OjUxICBraW5nCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEJVRzogRml4ZWQgcXQgdmVyc2lvbiBtZXNzYWdlLiAgU3VibWl0dGVkCgkgIGJ5IFRhbm5lciBMb3ZlbGFjZS4KCjIwMDYtMDItMDggMDc6MTcgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy86IFN5c3RlbVRvb2xzLmN4eCwgU3lzdGVtVG9vbHMuaHh4LmluOiBDT01QOiBGaXgKCSAgcHJvYmxlbSB3aXRoIFNUTCBvbiBIUCwgYW5kIGZpeCByZXVzaW5nIHRoZSBzYW1lIHZhcmlhYmxlIGluIGZvcgoJICBsb29wcwoKMjAwNi0wMi0wOCAwMjo1MCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTAyLTA3IDE3OjEwICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2U6IEVOSDogQWRkaW5nIGRlZmluaXRpb24gb2YgTVNWQwoJICB3aGVuIGl0IGlzIHRoZSBjb21waWxlci4KCjIwMDYtMDItMDcgMTc6MDkgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogQlVHOiBGaXhlZCBmaW5kaW5nIG9mIE1pbkdXIGxpYnJhcmllcyB3aXRoCgkgIGEgd2luZG93cyBidWlsZCBvZiBDTWFrZS4KCjIwMDYtMDItMDcgMTI6NTMgIGFuZHkKCgkqIFNvdXJjZS9DUGFjay9jcGFjay5jeHg6IEVOSDogQWRkIG1pc3NpbmcgaGVscCBmb3IgLUMgb3B0aW9uCgoyMDA2LTAyLTA3IDExOjQzICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBDT01QOiBGaXggY29tcGlsZSBwcm9ibGVtIG9uCgkgIHdpbmRvd3MgYW5kIG1hYwoKMjAwNi0wMi0wNyAxMDo0MyAgYW5keQoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQ09NUDogRml4IGJ1aWxkIHByb2JsZW0KCjIwMDYtMDItMDcgMTA6MjMgIGFuZHkKCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmgsCgkgIGt3c3lzL1N5c3RlbVRvb2xzLmN4eCwga3dzeXMvU3lzdGVtVG9vbHMuaHh4LmluOiBFTkg6IE1vdmUKCSAgcmVsYXRpdmUgcGF0aCB0byBrd3N5cwoKMjAwNi0wMi0wNyAxMDoxMSAga2luZwoKCSogYm9vdHN0cmFwLCBTb3VyY2UvY21TdGFuZGFyZEluY2x1ZGVzLmgsCgkgIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dCwgU291cmNlL2t3c3lzL1N0cmluZy5oeHguaW46IEVOSDoKCSAgQWRkZWQga3dzeXM6OlN0cmluZyBjbGFzcyB0byBzaG9ydGVuIGRlYnVnZ2luZyBzeW1ib2xzIGFuZCBlcnJvcgoJICBtZXNzYWdlcyBpbnZvbHZpbmcgc3RkOjpzdHJpbmcuCgoyMDA2LTAyLTA3IDA5OjI1ICBtYWxhdGVycmUKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5oeHguaW46IEVOSDogQWRkIHNvbWUgZG9jIGZvciB2aXNpYmxlCgkgIGNsYXNzCgoyMDA2LTAyLTA3IDA4OjQ5ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21MaXN0RmlsZUNhY2hlLmN4eCwgY21MaXN0RmlsZUNhY2hlLmgsCgkgIGNtTWFrZWZpbGUuY3h4LCBjbVRyeUNvbXBpbGVDb21tYW5kLmN4eCwgY21UcnlSdW5Db21tYW5kLmN4eCwKCSAgY21ha2VtYWluLmN4eCwgY3Rlc3QuY3h4LCBDVGVzdC9jbUNUZXN0QnVpbGRBbmRUZXN0SGFuZGxlci5jeHg6CgkgIEVOSDogU2luY2UgbGlzdCBmaWxlIGNhY2hlIGRvZXMgbm90IG1ha2UgbXVjaCBzZW5zZSBhbnkgbW9yZQoJICAoYmVjYXVzZSBvZiBwcm9wZXIgbGlzdCBmaWxlIHBhcnNpbmcpLCBhbmQgaXQgYWN0dWFsbHkgYWRkcwoJICB1bm5lY2Vzc2FyeSBjb21wbGljYXRpb25zIGFuZCBtYWtlIGN0ZXN0IHNjcmlwdGluZyBub3Qgd29yaywgdGFrZQoJICBpdCBvdXQKCjIwMDYtMDItMDcgMDg6MDMgIGRhdmlkLmNvbGUKCgkqIFV0aWxpdGllcy9jbXRhci93cmFwcGVyLmM6IENPTVA6IEZpeCBuZXh0IHJvdW5kIG9mIGRhc2hib2FyZAoJICB3YXJuaW5ncy4KCjIwMDYtMDItMDcgMDI6MDYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMi0wNiAxNjozMiAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogRU5IOiBhbGxvdyBmb3IgLSBpbiB0aGUKCSAgbmFtZSBvZiB0YXJnZXRzIGZvciBubWFrZQoKMjAwNi0wMi0wNiAwOTozMSAgZGF2aWQuY29sZQoKCSogVXRpbGl0aWVzL2NtdGFyLzogZXh0cmFjdC5jLCBvdXRwdXQuYywgd3JhcHBlci5jOiBDT01QOiBGaXggQ01ha2UKCSAgZGFzaGJvYXJkIHdhcm5pbmdzIHJlbGF0ZWQgdG8gcHJldmlvdXMgcmV2aXNpb25zLgoKMjAwNi0wMi0wNiAwMjoxMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTAyLTA1IDAyOjA2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDItMDQgMDI6MTkgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMi0wMyAxODowOCAga2luZwoKCSogQ01ha2VMaXN0cy50eHQ6IEVOSDogSW5jcmVtZW50ZWQgcGF0Y2ggdmVyc2lvbiBmb3Igc3BlY2lhbCBLREUKCSAgcmVsZWFzZS4KCjIwMDYtMDItMDMgMTc6MDkgIGtpbmcKCgkqIFRlc3RzLzogQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwgQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkZWQgdGVzdCBmb3IgbmV3CgkgIEVYRUNVVEVfUFJPQ0VTUyBjb21tYW5kLgoKMjAwNi0wMi0wMyAxNjo1NSAga2luZwoKCSogRG9jcy9jbWFrZS1tb2RlLmVsOiBFTkg6IEFkZGluZyBuZXcgRVhFQ1VURV9QUk9DRVNTIGNvbW1hbmQgdGhhdAoJICBpbnRlcmZhY2VzIHRvIEtXU3lzIFByb2Nlc3MgRXhlY3V0aW9uLgoKMjAwNi0wMi0wMyAxNjo1MSAga2luZwoKCSogU291cmNlLzogY21Db21tYW5kcy5jeHgsIGNtRXhlY3V0ZVByb2Nlc3NDb21tYW5kLmN4eCwKCSAgY21FeGVjdXRlUHJvY2Vzc0NvbW1hbmQuaDogRU5IOiBBZGRpbmcgbmV3IEVYRUNVVEVfUFJPQ0VTUwoJICBjb21tYW5kIHRoYXQgaW50ZXJmYWNlcyB0byBLV1N5cyBQcm9jZXNzIEV4ZWN1dGlvbi4KCjIwMDYtMDItMDMgMTI6MDMgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmg6IENPTVA6IEFkZGVkIG1pc3NpbmcgbWV0aG9kIGRlY2wKCSAgdG8gaGVhZGVyLgoKMjAwNi0wMi0wMyAxMTo0OCAgZGF2aWQuY29sZQoKCSogVXRpbGl0aWVzL2NtdGFyLzogZGVjb2RlLmMsIGV4dHJhY3QuYywgb3V0cHV0LmMsIHdyYXBwZXIuYzogQlVHOgoJICBGaXggbWVtIGxlYWtzIHJlbGF0ZWQgdG8gdGhfZ2V0X3BhdGhuYW1lLiBDaGFuZ2UgdGhpcwoJICBpbXBsZW1lbnRhdGlvbiBvZiB0aF9nZXRfcGF0aG5hbWUgc28gdGhhdCBpdCAqYWx3YXlzKiByZXR1cm5zIGEKCSAgc3RyZHVwJ2VkIHZhbHVlLiBDYWxsZXJzIG11c3Qgbm93IGZyZWUgbm9uLU5VTEwgcmV0dXJucyBmcm9tCgkgIHRoX2dldF9wYXRobmFtZS4gQ2hhbmdlIGFsbCBjYWxsZXJzIHRvIGNhbGwgZnJlZSBhcHByb3ByaWF0ZWx5LgoKMjAwNi0wMi0wMyAxMTozNiAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBjbVRhcmdldC5jeHg6IEJVRzogRml4ZWQgY21UYXJnZXQ6OkdldEZ1bGxQYXRoIHRvIG5vdCBhcHBlbmQgdGhlCgkgIGNvbmZpZ3VyYXRpb24gbmFtZSB3aGVuIG9ubHkgb25lIGNvbmZpZ3VyYXRpb24gaXMgYnVpbHQuICBJdCBub3cKCSAgYXNrcyB0aGUgZ2VuZXJhdG9yIHdoYXQgc3ViZGlyZWN0b3J5IGlmIGFueSB0byB1c2UgZm9yIGEgZ2l2ZW4KCSAgY29uZmlndXJhdGlvbiBuYW1lLgoKMjAwNi0wMi0wMyAwMjoyOSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTAyLTAyIDIwOjE4ICBraW5nCgoJKiBDTWFrZUxpc3RzLnR4dCwgU291cmNlL0NNYWtlTGlzdHMudHh0LCBVdGlsaXRpZXMvQ01ha2VMaXN0cy50eHQ6CgkgIENPTVA6IEZpeGVkIGJ1aWxkIG9uIFZDKysgRXhwcmVzcyAyMDA1LiAgRXhwbGljaXRseSB0ZXN0aW5nIGZvcgoJICBNRkMgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdG8gYnVpbGQgdGhlIE1GQ0RpYWxvZy4KCjIwMDYtMDItMDIgMjA6MTYgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VHZW5lcmljU3lzdGVtLmNtYWtlOiBCVUc6IENNQUtFX0lOU1RBTExfUFJFRklYIG11c3QKCSAgYWx3YXlzIGhhdmUgZm9yd2FyZCBzbGFzaGVzLgoKMjAwNi0wMi0wMiAyMDoxNSAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlOiBCVUc6IFJlbW92ZWQgb2RiYzMyLmxpYiBhbmQKCSAgb2RiY2NwMzIubGliIGZyb20gc3RhbmRhcmQgbGlicmFyaWVzIG9uIFZTIDggYmVjYXVzZSBWQysrIEV4cHJlc3MKCSAgMjAwNSBkb2VzIG5vdCBoYXZlIHRoZW0uICBUaGV5IGFyZSBTUUwgZGF0YWJhc2UgYWNjZXNzIGxpYnJhcmllcwoJICBhbmQgc2hvdWxkIG5vdCBiZSBuZWVkZWQgZm9yIGV2ZXJ5IGFwcGxpY2F0aW9uLiAgVXNlciBjb2RlIGNhbgoJICBhbHdheXMgZXhwbGljaXRseSBsaW5rIHRoZSBsaWJyYXJ5LiAgQWxzbyByZXBsYWNpbmcgZGVwcmVjYXRlZAoJICAvR1ogb3B0aW9uIHdpdGggL1JUQzEgZm9yIFZTIDguICBUaGlzIGFkZHJlc3NlcyBidWcjMjc5NS4KCjIwMDYtMDItMDIgMTU6NTMgIGRhdmlkLmNvbGUKCgkqIFV0aWxpdGllcy9jbXRhci9maWxlc3lzdGVtLmM6IEJVRzogRml4IG1lbW9yeSBsZWFrIGluIGxpYnRhcidzCgkgIGt3UmVhZERpci4gVXNlIGEgc3RhdGljIGJ1ZmZlciBsaWtlIHJlYWRkaXIgKHByb2JhYmx5KSBkb2VzCgkgIHJhdGhlciB0aGFuIG1hbGxvYy1pbmcgYSBibG9jayB3aGljaCBuZXZlciBnZXRzIGZyZWUtZC4KCjIwMDYtMDItMDIgMDM6MzAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMi0wMSAwMjoyNCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTAxLTMxIDE5OjM0ICBraW5nCgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21ha2UuY3h4OiBFTkg6IEVuYWJsZWQgYnVpbGQgb2YgVlMgNwoJICBhbmQgOCBnZW5lcmF0b3JzIGZvciBNaW5HVy4KCjIwMDYtMDEtMzEgMTg6NTAgIGtpbmcKCgkqIGJvb3RzdHJhcCwgU291cmNlL2NtYWtlLmN4eDogRU5IOiBFbmFibGVkIGJvb3RzdHJhcHBpbmcgd2l0aAoJICBNaW5HVyBmcm9tIGFuIE1TWVMgcHJvbXB0LgoKMjAwNi0wMS0zMSAxMDo0NiAga2luZwoKCSogU291cmNlL2NtR2V0RmlsZW5hbWVDb21wb25lbnRDb21tYW5kLmN4eDogQlVHOiBBQlNPTFVURSBvcHRpb24KCSAgc2hvdWxkIGV2YWx1YXRlIHJlbGF0aXZlIHBhdGhzIHdpdGggcmVzcGVjdCB0bwoJICBDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVIuICBUaGlzIGFkZHJlc3NlcyBidWcjMjc5Ny4KCjIwMDYtMDEtMzEgMDU6MDkgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMS0zMCAxNDoyNSAgbWFydGluawoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oOiBFTkg6IG1vcmUgY2xlYW51cCBhbmQgcmVtb3ZhbCBvZgoJICBvbGQgY29kZQoKMjAwNi0wMS0zMCAxMzo1NyAgbWFydGluawoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oOiBFTkg6IGNsZWFudXAgYW5kIHJlbW92ZSBzb21lIG9sZAoJICBjb2RlCgoyMDA2LTAxLTMwIDAyOjE1ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDEtMjkgMDI6MDYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMS0yOCAwMTozOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTAxLTI3IDE4OjIwICBraW5nCgoJKiBTb3VyY2UvOiBjbUZpbmRGaWxlQ29tbWFuZC5jeHgsIGNtRmluZExpYnJhcnlDb21tYW5kLmgsCgkgIGNtRmluZFBhdGhDb21tYW5kLmN4eCwgY21GaW5kUGF0aENvbW1hbmQuaCwgY21NYWtlZmlsZS5jeHgsCgkgIGNtTWFrZWZpbGUuaDogRU5IOiBJbXByb3ZlZCBzdXBwb3J0IGZvciB1c2VyLWNvbmZpZ3VyZWQgc2VhcmNoCgkgIHBhdGhzLiAgUGF0aHMgZ2l2ZW4gaW4gdGhlIENNQUtFX0xJQlJBUllfUEFUSCBjbWFrZSB2YXJpYWJsZSBhcmUKCSAgc2VhcmNoZWQgZmlyc3QsIHRoZW4gdGhvc2UgaW4gdGhlIENNQUtFX0xJQlJBUllfUEFUSCBlbnZpcm9ubWVudAoJICB2YXJpYWJsZSwgdGhlbiB0aG9zZSBsaXN0ZWQgaW4gdGhlIGNhbGwgdG8gdGhlIEZJTkRfTElCUkFSWQoJICBjb21tYW5kIGFuZCBmaW5hbGx5IHRob3NlIGxpc3RlZCBpbiB0aGUgUEFUSCBlbnZpcm9ubWVudAoJICB2YXJpYWJsZS4gIFRoZSBzdXBwb3J0IGlzIHNpbWlsYXIgZm9yIGZpbmRpbmcgaW5jbHVkZSBmaWxlcyB3aXRoCgkgIEZJTkRfUEFUSCwgYnV0IHRoZSB2YXJpYWJsZSBpcyBDTUFLRV9JTkNMVURFX1BBVEguCgoyMDA2LTAxLTI3IDEzOjQ4ICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmg6IEJVRzogVlM3IGdlbmVyYXRvciBzaG91bGQgdXNlCgkgIHBlci1jb25maWd1cmF0aW9uIGxpbmtlciBmbGFncyBmb3IgdGFyZ2V0cy4gIFRoaXMgYWRkcmVzc2VzCgkgIGJ1ZyMyNzY1LgoKMjAwNi0wMS0yNyAxMzo0NiAgYW5keQoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdEJ1aWxkSGFuZGxlci5jeHgsIGNtQ1Rlc3RCdWlsZEhhbmRsZXIuaDoKCSAgRU5IOiBCZXR0ZXIgaGFuZGxlIGludGVybGV2ZWQgZXJyb3Ivb3V0cHV0CgoyMDA2LTAxLTI3IDEzOjA3ICBraW5nCgoJKiBNb2R1bGVzL3JlYWRtZS50eHQsIFNvdXJjZS9jbUZpbmRQYWNrYWdlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUZpbmRQYWNrYWdlQ29tbWFuZC5oOiBFTkg6IEFkZGVkIG9wdGlvbmFsIGNvbXBvbmVudCBsaXN0CgkgIHRvIHRoZSBSRVFVSVJFRCBvcHRpb24gb2YgdGhlIEZJTkRfUEFDS0FHRSBjb21tYW5kLiAgVGhpcwoJICBhZGRyZXNzZXMgYnVnIzI3NzEuCgoyMDA2LTAxLTI3IDEyOjU4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21PcHRpb25Db21tYW5kLmg6IFNUWUxFOiBzcGVsbGluZyBmaXgKCjIwMDYtMDEtMjcgMTI6NTggIG1hcnRpbmsKCgkqIFNvdXJjZS9jbU1lc3NhZ2VDb21tYW5kLmg6IFNUWUxFOiBncmFtbWVyIGZpeAoKMjAwNi0wMS0yNyAxMToxOSAgaG9mZm1hbgoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eDogRU5IOiBhZGQgZXh0cmEgdGhpbmcgZm9yCgkgIHN2biBYIHN0YXR1cyBvdXRwdXQKCjIwMDYtMDEtMjcgMDE6MzYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMS0yNiAwMToyMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTAxLTI1IDE0OjEyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21UcnlDb21waWxlQ29tbWFuZC5jeHg6IEVOSDogZml4IGRvdWJsZQoJICBDTUFLRV8oTEFORylfRkxBR1MgcHJvYmxlbSBpbiB0cnkgY29tcGlsZQoKMjAwNi0wMS0yNSAxMjoxNiAgaG9mZm1hbgoKCSogTW9kdWxlcy86IEZpbmRRdC5jbWFrZSwgRmluZFF0NC5jbWFrZTogRU5IOiBjaGFuZ2UgdG8gZmF0YWwgZXJyb3IKCjIwMDYtMDEtMjUgMTE6NDEgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBDTWFrZUNDb21waWxlci5jbWFrZS5pbiwgQ01ha2VDWFhDb21waWxlci5jbWFrZS5pbiwKCSAgQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2UsIENNYWtlRGV0ZXJtaW5lQ1hYQ29tcGlsZXIuY21ha2UsCgkgIENNYWtlRGV0ZXJtaW5lRm9ydHJhbkNvbXBpbGVyLmNtYWtlLAoJICBDTWFrZURldGVybWluZUphdmFDb21waWxlci5jbWFrZSwgQ01ha2VEZXRlcm1pbmVSQ0NvbXBpbGVyLmNtYWtlOgoJICBFTkg6IGZpeCBtb3JlIHRoYW4gb25lIGFyZ3VtZW50IHBhc3NlZCBpbiB0byBjb21waWxlcnMgdmlhCgkgIGVudmlyb25tZW50CgoyMDA2LTAxLTI1IDExOjA3ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbU1lc3NhZ2VDb21tYW5kLmN4eCwgY21NZXNzYWdlQ29tbWFuZC5oOiBFTkg6IGZpeCBkb2NzLAoJICBhbmQgcmV2ZXJ0IGZhdGFsIGVycm9yIGNoYW5nZQoKMjAwNi0wMS0yNSAwODozOSAgaG9mZm1hbgoKCSogU291cmNlL2NtTWVzc2FnZUNvbW1hbmQuY3h4OiBFTkg6IG1ha2UgYWxsIGVycm9ycyBmYXRhbCBpbgoJICBtZXNzYWdlIGNvbW1hbmQKCjIwMDYtMDEtMjUgMDg6MzggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS90ZXN0Y2ZsYWdzLmMsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvdGVzdGNmbGFncy5jLAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL3Rlc3RjZmxhZ3MuYzogRU5IOiBhZGQKCSAgQ09NUElMRV9GTEFHUyB0byB0YXJnZXRzCgoyMDA2LTAxLTI1IDAwOjU3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDEtMjQgMTU6NDggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVN0YW5kYXJkSW5jbHVkZXMuaDogRU5IOiBmaXggZm9yIGJvcmxhbmQgbWVtY3B5IGp1bmsKCjIwMDYtMDEtMjQgMTI6MDcgIGFuZHkKCgkqIE1vZHVsZXMvQ2hlY2tDWFhTb3VyY2VDb21waWxlcy5jbWFrZTogRU5IOiBmaXggYnVnLCB3cml0ZSB0aGUKCSAgY29ycmVjdCBmaWxlCgoyMDA2LTAxLTI0IDA3OjU4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IENPTVA6IGZpeCB3YXJuaW5nCgoyMDA2LTAxLTI0IDAwOjU3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDEtMjMgMTc6MjQgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogRU5IOiBmaXggd2FybmluZwoKMjAwNi0wMS0yMyAxNjozNiAgbWFydGluawoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogRU5IOiBieSBCaWxsIG1ha2Ugc3VyZSBwYXRoIGlzIHVuaXgKCSAgc3R5bGUKCjIwMDYtMDEtMjMgMTM6NTAgIGhvZmZtYW4KCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUdsb2JhbFdhdGNvbVdNYWtlR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbEdlbmVyYXRvci5jeHg6IEVOSDogZml4IHByb2JsZW0gd2l0aCB3YXRjb20gYW5kIHNob3J0CgkgIHBhdGhzIGFuZCAtSQoKMjAwNi0wMS0yMyAxMjozMSAgaG9mZm1hbgoKCSogU291cmNlL2NtRGVwZW5kcy5jeHg6IEVOSDogY29ycmVjdCBpbmNsdWRlIGZvciBtZW1jcHkKCjIwMDYtMDEtMjMgMTE6MzIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0va0ZyZWVCU0QuY21ha2U6IEVOSDogYWRkIGtGcmVlQlNEIHN1cHBvcnQKCjIwMDYtMDEtMjMgMDA6NTEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMS0yMiAyMToxNSAgaG9mZm1hbgoKCSogTW9kdWxlcy9DaGVja1R5cGVTaXplLmNtYWtlOiBFTkg6IGZpeCBjaGVjayB0eXBlIHNpemUKCjIwMDYtMDEtMjIgMDA6NDcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMS0yMSAwMDo1MSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTAxLTIwIDAxOjAxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDEtMTkgMDA6NTcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMS0xOCAwMDo0NyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTAxLTE3IDE2OjUzICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuaHh4LmluOiBFTkg6IGZpeCBmb3IgaWNjCgoyMDA2LTAxLTE3IDE2OjIyICBtYXJ0aW5rCgoJKiBVdGlsaXRpZXMvY21jdXJsL0NNYWtlL0NoZWNrVHlwZVNpemUuY21ha2U6IEJVRzogcmV2ZXJ0IHN1Y2ggdGhhdAoJICBpdCBzaG91bGQgd29yawoKMjAwNi0wMS0xNyAxNDozNSAgaG9mZm1hbgoKCSogVGVzdHMvOiBDb21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBtb3JlIGZpeGVzCgkgIGZvciB3YXRjb20KCjIwMDYtMDEtMTcgMTA6MjEgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VCYWNrd2FyZENvbXBhdGliaWxpdHlDWFguY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VGaW5kV01ha2UuY21ha2UsIE1vZHVsZXMvVGVzdEZvclNTVFJFQU0uY21ha2UsCgkgIE1vZHVsZXMvVGVzdEZvclNTVFJFQU0uY3h4LCBNb2R1bGVzL3JlYWRtZS50eHQsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy13Y2wzODYuY21ha2UsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL2NtQ1BsdWdpbkFQSS5jeHgsIFNvdXJjZS9jbUNQbHVnaW5BUEkuaCwKCSAgU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFdhdGNvbVdNYWtlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsV2F0Y29tV01ha2VHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsIFNvdXJjZS9jbVN0cmluZ0NvbW1hbmQuaCwKCSAgU291cmNlL2NtYWtlLmN4eCwgU291cmNlL2t3c3lzL0RpcmVjdG9yeS5jeHgsCgkgIFNvdXJjZS9rd3N5cy9FbmNvZGVFeGVjdXRhYmxlLmMsIFNvdXJjZS9rd3N5cy9HbG9iLmN4eCwKCSAgU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jLCBTb3VyY2Uva3dzeXMvUmVnaXN0cnkuY3h4LAoJICBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4LCBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuaHh4LmluLAoJICBTb3VyY2Uva3dzeXMva3dzeXNQbGF0Zm9ybUN4eFRlc3RzLmN4eCwKCSAgU291cmNlL2t3c3lzL3Rlc3RSZWdpc3RyeS5jeHgsCgkgIFRlc3RzL0NvbXBsZXgvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0xvYWRDb21tYW5kL0NNYWtlQ29tbWFuZHMvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0xvYWRDb21tYW5kL0NNYWtlQ29tbWFuZHMvY21UZXN0Q29tbWFuZC5jLAoJICBUZXN0cy9Mb2FkQ29tbWFuZE9uZUNvbmZpZy9DTWFrZUNvbW1hbmRzL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Mb2FkQ29tbWFuZE9uZUNvbmZpZy9DTWFrZUNvbW1hbmRzL2NtVGVzdENvbW1hbmQuYywKCSAgVGVzdHMvU3ViRGlyL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TdWJEaXIvdmNsX2FsZ29yaXRobV92Y2xfcGFpcl9kb3VibGUuZm9vLmMsCgkgIFRlc3RzL1N1YkRpci9Bbm90aGVyU3ViZGlyL3BhaXJfaW50LmludC5jLAoJICBUZXN0cy9TdWJEaXIvVGhpcmRTdWJEaXIvcGFpcl9pbnQuaW50MS5jLAoJICBVdGlsaXRpZXMvY21jdXJsL0NNYWtlTGlzdHMudHh0LCBVdGlsaXRpZXMvY21jdXJsL3RpbWV2YWwuaCwKCSAgVXRpbGl0aWVzL2NtY3VybC9DTWFrZS9DaGVja1R5cGVTaXplLmMuaW4sCgkgIFV0aWxpdGllcy9jbWN1cmwvQ01ha2UvQ2hlY2tUeXBlU2l6ZS5jbWFrZSwKCSAgVXRpbGl0aWVzL2NtY3VybC9QbGF0Zm9ybXMvV2luZG93c0NhY2hlLmNtYWtlLAoJICBVdGlsaXRpZXMvY210YXIvaGFuZGxlLmMsIFV0aWxpdGllcy9jbXRhci9saWJ0YXIuYzogRU5IOiBhZGQKCSAgc3VwcG9ydCBmb3Igd2F0Y29tIHdtYWtlIGFuZCB3Y2wzODYKCjIwMDYtMDEtMTcgMDk6MjcgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZTogRU5IOiBjb3JyZWN0IHN0YW5kYXJkCgkgIGxpYnJhcmllcwoKMjAwNi0wMS0xNyAwMDo0NiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTAxLTE2IDEyOjU0ICB5b2dpLmdpcmRoYXIKCgkqIFV0aWxpdGllcy9jbXRhci9jb21wYXQvY29tcGF0Lmg6IENPTVA6IHdyYXBwZWQgY29tcGF0LmggaW5zaWRlIGEKCSAgZXh0ZXJuIEMgYmxvY2sgc28gdGhhdCB3ZSBjYW4gdXNlIGl0IGluIEMrKyBjb2RlCgoyMDA2LTAxLTE2IDAwOjQyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDEtMTUgMDA6NDMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMS0xNCAxMDoyNyAga2luZwoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBDT01QOiBGaXhlZCBzaGFkb3dlZCB2YXJpYWJsZQoJICB3YXJuaW5nLgoKMjAwNi0wMS0xNCAwMDo0MiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTAxLTEzIDIwOjUxICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5oLAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmg6IEVOSDogRnVydGhlciBjZW50cmFsaXplZCBjdXN0b20KCSAgY29tbWFuZCBkZXBlbmRlbmN5IGNvbXB1dGF0aW9uLiAgQ3VzdG9tIGNvbW1hbmQgZGVwZW5kZW5jaWVzIGluCgkgIHRoZSBzb3VyY2UgdHJlZSBtYXkgbm93IGFsc28gYmUgc3BlY2lmaWVkIHJlbGF0aXZlIHRvIHRoZSBzb3VyY2UKCSAgZGlyZWN0b3J5LgoKMjAwNi0wMS0xMyAxOTozNiAga2luZwoKCSogU291cmNlL2NtRkxUS1dyYXBVSUNvbW1hbmQuY3h4OiBCVUc6IFJlbW92ZWQgYm9ndXN0IGRlcGVuZGVuY3kuCgoyMDA2LTAxLTEzIDE5OjM1ICBraW5nCgoJKiBTb3VyY2UvOiBjbUZpbGVDb21tYW5kLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5jeHg6IENPTVA6IFJlbW92ZWQKCSAgdW51c2VkIHZhcmlhYmxlcy4KCjIwMDYtMDEtMTMgMTg6MzMgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBjbUxvY2FsR2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQ09NUDogUmVtb3ZlZCB1bnVzZWQgcGFyYW10ZXIKCSAgZnJvbSBjbUxvY2FsR2VuZXJhdG9yOjpPdXRwdXRMaW5rTGlicmFyaWVzLgoKMjAwNi0wMS0xMyAxODoxOCAga2luZwoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21MaW5rTGlicmFyaWVzQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbU9yZGVyTGlua0RpcmVjdG9yaWVzLmN4eCwKCSAgU291cmNlL2NtT3JkZXJMaW5rRGlyZWN0b3JpZXMuaCwgU291cmNlL2NtVGFyZ2V0LmN4eCwKCSAgU291cmNlL2NtVGFyZ2V0LmgsIFNvdXJjZS9jbVRhcmdldExpbmtMaWJyYXJpZXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtVGFyZ2V0TGlua0xpYnJhcmllc0NvbW1hbmQuaCwgU291cmNlL2NtWENvZGVPYmplY3QuaCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RCdWlsZEFuZFRlc3RIYW5kbGVyLmN4eCwKCSAgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHg6IEJVRzogU3dlZXBpbmcKCSAgY2hhbmdlcyB0byBjbGVhbnVwIGNvbXB1dGF0aW9uIG9mIHRhcmdldCBuYW1lcy4gIFRoaXMgc2hvdWxkIGZpeAoJICBtYW55IGJ1Z3MgcmVsYXRlZCB0byB0YXJnZXQgbmFtZXMgYmVpbmcgY29tcHV0ZWQgaW5jb25zaXN0ZW50bHkuCgoJICAtIENlbnRyYWxpemVkIGNvbXB1dGF0aW9uIG9mIGEgdGFyZ2V0J3MgZmlsZSBuYW1lIHRvIGEgbWV0aG9kIGluCgkgICBjbVRhcmdldC4gIE5vdyB0aGF0IGdsb2JhbCBrbm93bGVkZ2UgaXMgYWx3YXlzIGF2YWlsYWJsZSB0aGUKCSAgKl9DTUFLRV9QQVRIIGNhY2hlIHZhcmlhYmxlcyBhcmUgbm8gbG9uZ2VyIG5lZWRlZC4KCgkgIC0gQ2VudHJhbGl6ZWQgY29tcHV0YXRpb24gb2YgbGluayBsaWJyYXJ5IGNvbW1hbmQgbGluZXMgYW5kIGxpbmsKCSAgIGRpcmVjdG9yeSBzZWFyY2ggb3JkZXIuCgoJICAtIE1vdmVkIGNvbXB1dGF0aW9uIG9mIGxpbmsgZGlyZWN0b3JpZXMgbmVlZGVkIHRvIGxpbmsgQ01ha2UKCSAgdGFyZ2V0cyAgIHRvIGJlIGFmdGVyIGV2YWx1YXRpb24gb2YgbGlua2luZyBkZXBlbmRlbmNpZXMuCgoJICBUaGlzIGFsc28gcmVtb3ZlZCBhbG90IG9mIGR1cGxpY2F0ZSBjb2RlIGluIHdoaWNoIGVhY2ggdmVyc2lvbgoJICBoYWQgaXRzIG93biBidWdzLgoKCSAgVGhpcyBjb21taXQgaXMgc3Vycm91bmRlZCBieSB0aGUgdGFncwoKCSAgICBDTWFrZS1UYXJnZXROYW1lQ2VudHJhbGl6YXRpb24xLXByZQoKCSAgYW5kCgoJICAgIENNYWtlLVRhcmdldE5hbWVDZW50cmFsaXphdGlvbjEtcG9zdAoKCSAgc28gbWFrZSB0aGUgbGFyZ2Ugc2V0IG9mIGNoYW5nZXMgZWFzeSB0byBpZGVudGlmeS4KCjIwMDYtMDEtMTMgMTE6NDQgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVRyeUNvbXBpbGVDb21tYW5kLmN4eCwKCSAgVXRpbGl0aWVzL2NtY3VybC9DTWFrZS9DaGVja1R5cGVTaXplLmNtYWtlOiBFTkg6IGZpeCBmb3IgQ01ha2VUbXAKCSAgbW92ZSBicm9rZW4gc3R1ZmYKCjIwMDYtMDEtMTMgMDk6NTcgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBDaGVja1R5cGVTaXplLmMuaW4sIENoZWNrVHlwZVNpemUuY21ha2U6IEVOSDogZml4CgkgIGNoZWNrdHlwZXNpemUKCjIwMDYtMDEtMTMgMDA6NDMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMS0xMiAyMzowOCAgaG9mZm1hbgoKCSogTW9kdWxlcy86IENoZWNrVHlwZVNpemUuYy5pbiwgQ2hlY2tUeXBlU2l6ZS5jbWFrZTogRU5IOiBtb3ZlCgkgIGRlZmluZSBpbnRvIGNvbmZpZ3VyZWQgZmlsZSBhbmQgZG8gbm90IHVzZSB0aGUgY29tbWFuZCBsaW5lCgoyMDA2LTAxLTEyIDE0OjIxICBhbmR5CgoJKiBTb3VyY2UvOiBjbUdlbmVyYXRlZEZpbGVTdHJlYW0uY3h4LCBjbUdlbmVyYXRlZEZpbGVTdHJlYW0uaDoKCSAgQ09NUDogUmVtb3ZlIHdhcm5pbmcKCjIwMDYtMDEtMTIgMTM6NDggIG1hcnRpbmsKCgkqIE1vZHVsZXMvQ01ha2VUZXN0Q0NvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlVGVzdENYWENvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlVGVzdEZvcnRyYW5Db21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja0NTb3VyY2VDb21waWxlcy5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja0NYWFNvdXJjZUNvbXBpbGVzLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrSW5jbHVkZUZpbGUuY21ha2UsCgkgIE1vZHVsZXMvQ2hlY2tJbmNsdWRlRmlsZUNYWC5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja0luY2x1ZGVGaWxlcy5jbWFrZSwgTW9kdWxlcy9DaGVja1N5bWJvbEV4aXN0cy5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja1R5cGVTaXplLmNtYWtlLCBNb2R1bGVzL0ZpbmRTRExfc291bmQuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZSwKCSAgU291cmNlL2NtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21UcnlDb21waWxlQ29tbWFuZC5oLAoJICBTb3VyY2UvY21UcnlSdW5Db21tYW5kLmN4eCwKCSAgVXRpbGl0aWVzL2NtY3VybC9DTWFrZS9DaGVja1R5cGVTaXplLmNtYWtlLAoJICBUZXN0cy9UcnlDb21waWxlL0NNYWtlTGlzdHMudHh0OiBFTkg6IHB1dCBDbWFrZVRtcCBpbnRvCgkgIENNYWtlRmlsZXMKCjIwMDYtMDEtMTIgMTE6MTAgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZHd4V2luZG93cy5jbWFrZTogRU5IOiBjb250cmlidXRpb24gZnJvbSBKYW4gV29ldHplbAoKMjAwNi0wMS0xMiAwOToyMCAgYW5keQoKCSogU291cmNlL2NtR2VuZXJhdGVkRmlsZVN0cmVhbS5jeHg6IENPTVA6IEZpeCBjb21waWxlIGVycm9yIHRoYXQKCSAgd2FzIGNhdXNlZCBieSB0aGUgYmluYXJ5IGZsYWcKCjIwMDYtMDEtMTIgMDA6NDAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMS0xMSAxOToxMiAgYW5keQoKCSogU291cmNlL0NQYWNrL2NtQ1BhY2tUR1pHZW5lcmF0b3IuY3h4OiBFTkg6IEZpeCBjb21wcmVzc2lvbiBvbgoJICBXaW5kb3dzCgoyMDA2LTAxLTExIDE5OjA2ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUdlbmVyYXRlZEZpbGVTdHJlYW0uY3h4LCBjbUdlbmVyYXRlZEZpbGVTdHJlYW0uaDogRU5IOgoJICBBZGQgc3VwcG9ydCBmb3IgYmluYXJ5CgoyMDA2LTAxLTExIDExOjIzICBhbmR5CgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4OiBFTkg6IEFkZCBhIHdheSB0bwoJICBzcGVjaWZ5IGEgY3VzdG9tIGluc3RhbGwgY29tbWFuZAoKMjAwNi0wMS0xMSAxMTowOCAgYW5keQoKCSogQ01ha2VMaXN0cy50eHQsIE1vZHVsZXMvQ1BhY2suY21ha2UsIE1vZHVsZXMvTlNJUy50ZW1wbGF0ZS5pbiwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmN4eCwKCSAgVGVtcGxhdGVzL0NQYWNrQ29uZmlnLmNtYWtlLmluOiBFTkg6IFNvbWUgaW1wcm92ZW1lbnRzOiBzcGVjaWZ5CgkgIGxpbmssIGNvcHkgbXN2YyBsaWJyYXJpZXMsIGZpeCBpbnN0YWxsIGRpcmVjdG9yeQoKMjAwNi0wMS0xMSAwMDo0MiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTAxLTEwIDEyOjA1ICBhbmR5CgoJKiBTb3VyY2UvQ1BhY2svOiBjbUNQYWNrQ29uZmlndXJlLmguaW4sIGNtQ1BhY2tOU0lTR2VuZXJhdG9yLmN4eCwKCSAgY21DUGFja05TSVNHZW5lcmF0b3IuaCwgY21DUGFja1BhY2thZ2VNYWtlckdlbmVyYXRvci5oOiBDT01QOgoJICBSZW1vdmUgbGVnYWN5IGNvZGUgYW5kIGZpeCBzdW4gYnVpbGQKCjIwMDYtMDEtMTAgMDA6NDQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMS0wOSAxODoyNCAgYW5keQoKCSogTW9kdWxlcy9OU0lTLnRlbXBsYXRlLmluLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4OiBFTkg6IFVzZSBzcGVjaWZpZWQKCSAgb3V0cHV0IGZpbGUgbmFtZSwgYWxzbyBkZXRlY3QgZXJyb3JzIGR1cmluZyBpbnN0YWxsCgoyMDA2LTAxLTA5IDE4OjIwICBhbmR5CgoJKiBUZW1wbGF0ZXMvQ1BhY2tDb25maWcuY21ha2UuaW46IEVOSDogUGFzcyBDUEFDS19QQUNLQUdFX0ZJTEVfTkFNRQoKMjAwNi0wMS0wOSAxODoyMCAgYW5keQoKCSogTW9kdWxlcy9DUGFjay5jbWFrZTogRU5IOiBDbGVhbnVwCgoyMDA2LTAxLTA5IDE2OjM0ICBhbmR5CgoJKiBNb2R1bGVzL05TSVMudGVtcGxhdGUuaW46IEJVRzogQWxsb3cgc3BhY2VzIGluIHBhdGgKCjIwMDYtMDEtMDkgMTQ6NTYgIGhvZmZtYW4KCgkqIFRlc3RzL0N1c3RvbUNvbW1hbmQvR2VuZXJhdGVkSGVhZGVyLzogQ01ha2VMaXN0cy50eHQsCgkgIGdlbmVyYXRlZC5oLmluLCBtYWluLmNwcDogRU5IOiBhZGQgdGVzdCBmb3IgZ2VuZXJhdGVkIGhlYWRlcgoKMjAwNi0wMS0wOSAxNDo0MCAgaG9mZm1hbgoKCSogU291cmNlL2NtQ3VzdG9tQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUN1c3RvbUNvbW1hbmQuaCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwgU291cmNlL2NtVGFyZ2V0LmN4eCwKCSAgVGVzdHMvQ3VzdG9tQ29tbWFuZC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvV3JhcHBpbmcvQ01ha2VMaXN0cy50eHQsIFRlc3RzL1dyYXBwaW5nL2Zha2VmbHVpZC5jeHg6IEVOSDoKCSAgZm9yIGFsbCBjdXN0b20gY29tbWFuZHMgdGhhdCBjYW4gbm90IGJlIGdpdmVuIHRvIGEgdGFyZ2V0LCBhZGQKCSAgdGhlbSB0byBhbGwgdGFyZ2V0cyBpbiB0aGUgY3VycmVudCBtYWtlZmlsZQoKMjAwNi0wMS0wOSAxMzoxNSAgYW5keQoKCSogQ01ha2VMaXN0cy50eHQ6IFNUWUxFOiBBZGQgYW4gZXhwbGFuYXRpb24gZm9yIGEgYnVuY2ggb2YKCSAgYmFja3NsYXNoZXMKCjIwMDYtMDEtMDkgMTM6MTQgIGFuZHkKCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrVEdaR2VuZXJhdG9yLmN4eDogQlVHOiBGaXggbWVtb3J5IHByb2JsZW0KCjIwMDYtMDEtMDkgMTI6NDYgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogUmVsZWFzZS5jbWFrZSwgY21ha2VfcmVsZWFzZS5zaC5pbjogRU5IOgoKMjAwNi0wMS0wOSAxMjo0NSAgaG9mZm1hbgoKCSogTW9kdWxlcy86IEZpbmRRdC5jbWFrZSwgRmluZFF0NC5jbWFrZTogRU5IOiBhZGQgcXQgcXVpZXQgc3R1ZmYKCjIwMDYtMDEtMDkgMTE6MjYgIGFuZHkKCgkqIENNYWtlTGlzdHMudHh0LCBNb2R1bGVzL0NQYWNrLmNtYWtlLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4LAoJICBUZW1wbGF0ZXMvQ1BhY2tDb25maWcuY21ha2UuaW46IEVOSDogRml4IHRlc3QgZm9yIGNwYWNrCgkgIHZhcmlhYmxlcywgYWRkIHN1cHBvcnQgZm9yIGljb24gb24gd2luZG93cwoKMjAwNi0wMS0wOSAwMDo0MSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTAxLTA4IDAwOjQxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDEtMDcgMDA6NDMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNi0wMS0wNiAxNTo1MSAgaG9mZm1hbgoKCSogTW9kdWxlcy86IENNYWtlTVNZU0ZpbmRNYWtlLmNtYWtlLCBDTWFrZU1pbkdXRmluZE1ha2UuY21ha2UsCgkgIFBsYXRmb3JtL0xpbnV4LWljcGMuY21ha2U6IEVOSDogbWVyZ2UgZnJvbSBtYWluIHRyZWUKCjIwMDYtMDEtMDYgMTU6NTEgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtR2xvYmFsTVNZU01ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxNU1lTTWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxNaW5HV01ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxNaW5HV01ha2VmaWxlR2VuZXJhdG9yLmg6IEVOSDogYWRkIG1pc3NpbmcgZmlsZXMKCjIwMDYtMDEtMDYgMTU6MDcgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlR2VuZXJpY1N5c3RlbS5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9DWUdXSU4tZzc3LmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL0NZR1dJTi5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtZzc3LmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtZ2NjLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MuY21ha2UsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL2NtQWRkRXhlY3V0YWJsZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21DVGVzdC5jeHgsCgkgIFNvdXJjZS9jbURlcGVuZHNDLmN4eCwgU291cmNlL2NtRGVwZW5kc0MuaCwKCSAgU291cmNlL2NtRmluZEZpbGVDb21tYW5kLmN4eCwgU291cmNlL2NtRmluZEZpbGVDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUZpbmRQYXRoQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUZpbmRQYXRoQ29tbWFuZC5oLAoJICBTb3VyY2UvY21HbG9iYWxCb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxOTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuaCwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZS5oLCBTb3VyY2UvY21PcmRlckxpbmtEaXJlY3Rvcmllcy5jeHgsCgkgIFNvdXJjZS9jbU9yZGVyTGlua0RpcmVjdG9yaWVzLmgsIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwKCSAgU291cmNlL2NtU3lzdGVtVG9vbHMuaCwgU291cmNlL2NtVGFyZ2V0LmN4eCwgU291cmNlL2NtVGFyZ2V0LmgsCgkgIFNvdXJjZS9jbWFrZS5jeHgsIFNvdXJjZS9DVGVzdC9jbUNUZXN0QnVpbGRBbmRUZXN0SGFuZGxlci5jeHgsCgkgIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jLCBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4LAoJICBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuaHh4LmluLCBUZXN0cy9Db21wbGV4L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4L2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9DdXN0b21Db21tYW5kL0NNYWtlTGlzdHMudHh0LAoJICBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoLAoJICBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoLmluOiBFTkg6IG1lcmdlcyBmcm9tIG1haW4gdHJlZQoKMjAwNi0wMS0wNiAxMzo1NCAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBFTkg6IGZpeCBtaXNzaW5nIHBsaXN0IGZpbGUKCSAgZXJyb3IKCjIwMDYtMDEtMDYgMTA6NDUgIGFuZHkKCgkqIFV0aWxpdGllcy9jbXRhci9jb21wYXQvc25wcmludGYuYzogQ09NUDogVHJ5IHRvIHJlbW92ZSBtb3JlCgkgIHdhcm5pbmdzCgoyMDA2LTAxLTA2IDAwOjQzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDEtMDUgMTc6MTYgIGtpbmcKCgkqIFNvdXJjZS86IGNtRGVwZW5kc0MuY3h4LCBjbURlcGVuZHNDLmg6IEJVRzogRml4IGZvciBzY2FubmluZwoJICBnZW5lcmF0ZWQgaGVhZGVycyBpbmNsdWRlZCB3aXRoIGRvdWJsZS1xdW90ZXMuICBBbHNvIGZpeGVkCgkgIGRvdWJsZS1xdW90ZSBpbmNsdWRlIHN1cHBvcnQgdG8gbm90IHVzZSB0aGUgc3BlY2lhbCBxdW90ZWQKCSAgbG9jYXRpb24gd2hlbiBhIGZ1bGwgcGF0aCBpcyBnaXZlbiBvbiB0aGUgaW5jbHVkZSBsaW5lLgoKMjAwNi0wMS0wNSAxNTo0OSAga2luZwoKCSogU291cmNlL2t3c3lzL3Rlc3RQcm9jZXNzLmM6IEVOSDogQWRkZWQgc3BlY2lhbCB0ZXN0IDAgdG8ganVzdCBydW4KCSAgYSBnaXZlbiBjb21tYW5kIGxpbmUuCgoyMDA2LTAxLTA1IDEzOjI3ICBhbmR5CgoJKiBTb3VyY2UvQ1BhY2svOiBjbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5jeHgsIGNwYWNrLmN4eDogRU5IOiBNb3JlCgkgIGRlYnVnZ2luZyBhbmQgd29yayBvbiBQYWNrYWdlTWFrZXIgY29kZQoKMjAwNi0wMS0wNSAxMzoyNSAgeW9naS5naXJkaGFyCgoJKiBVdGlsaXRpZXMvY210YXIvOiBjb25maWcuaC5pbiwgbGlidGFyLmM6IEJVRzogbGlidGFyIG5vdyBjb21waWxlcwoJICBpbiBWSiBhbmQgd29ya3Mgd2l0aCB2dGt6bGliCgoyMDA2LTAxLTA1IDEyOjMzICBhbmR5CgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja0xvZy5jeHg6IEVOSDogZmx1c2ggdGhlIG91dHB1dAoKMjAwNi0wMS0wNSAxMjoxNiAgYW5keQoKCSogU291cmNlL0NQYWNrL2NwYWNrLmN4eDogQlVHOiBVc2Ugb2JqZWN0cyB0aGF0IGV4aXN0CgoyMDA2LTAxLTA1IDEyOjE2ICBhbmR5CgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja0xvZy5jeHg6IEJVRzogUHJpbnQgdGhlIHJpZ2h0IGxpbmUgbnVtYmVyIHRvCgkgIHRoZSByaWdodCBwaXBlCgoyMDA2LTAxLTA1IDEwOjM3ICBhbmR5CgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja1BhY2thZ2VNYWtlckdlbmVyYXRvci5jeHg6IEJVRzogUmV2ZXJ0IGJhY2sKCjIwMDYtMDEtMDUgMDk6MTggIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0OiBFTkg6IHVzZSBhIHNhZmVyIGNoZWNrIGZvciBDUGFjawoKMjAwNi0wMS0wNSAwOToxMyAgaG9mZm1hbgoKCSogU291cmNlLzogY21BZGRFeGVjdXRhYmxlQ29tbWFuZC5jeHgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsIGNtTWFrZWZpbGUuY3h4OiBFTkg6IGZpeAoJICBidW5kbGVzIGZvciBNYWMgYW5kIFhjb2RlCgoyMDA2LTAxLTA1IDAzOjE1ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDEtMDQgMTY6MjQgIGhvZmZtYW4KCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrVEdaR2VuZXJhdG9yLmN4eDogRU5IOiByZW1vdmUgYXNzZXJ0CgoyMDA2LTAxLTA0IDE1OjEzICBhbmR5CgoJKiBDTWFrZUxpc3RzLnR4dCwgTW9kdWxlcy9DUGFjay5EZXNjcmlwdGlvbi5wbGlzdC5pbiwKCSAgTW9kdWxlcy9OU0lTLnRlbXBsYXRlLmluLAoJICBTb3VyY2UvQ1BhY2svY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja1NUR1pHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja1RHWkdlbmVyYXRvci5jeHgsIFNvdXJjZS9DUGFjay9jcGFjay5jeHgsCgkgIE1vZHVsZXMvQ1BhY2suY21ha2UsIFRlbXBsYXRlcy9DUGFja0NvbmZpZy5jbWFrZS5pbjogRU5IOiBNb3JlCgkgIENQYWNrIHN0dWZmIGFuZCBmaXggemxpYiBjb21wcmVzc2lvbgoKMjAwNi0wMS0wNCAwOTo1NSAgaG9mZm1hbgoKCSogU291cmNlL2NtRmluZFBhdGhDb21tYW5kLmN4eDogRU5IOiByZW1vdmUgZGVidWcgcHJpbnQgc3R1ZmYKCjIwMDYtMDEtMDQgMDg6MzIgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dDogQ09NUDogRG8gbm90IGJ1aWxkIHRlc3RzIGlmIGJ1aWxkCgkgIHRlc3RpbmcgaXMgb2ZmCgoyMDA2LTAxLTA0IDAxOjE1ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDEtMDMgMTc6MTEgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IEVOSDogdXBkYXRlIHJldmlzaW9uIG51bWJlcnMKCjIwMDYtMDEtMDMgMTc6MDcgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2guaW46IEVOSDogbW92ZSB0byBwYXRjaCAyCgoyMDA2LTAxLTAzIDE2OjQwICBob2ZmbWFuCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHgsIFNvdXJjZS9jbU1ha2VmaWxlLmgsCgkgIFRlc3RzL0NvbXBsZXgvQ01ha2VMaXN0cy50eHQsIFRlc3RzL0NvbXBsZXgvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHg6IEVOSDogYWRkIG5ldwoJICBjbWFrZWRlZmluZTAxIGZlYXR1cmUgZnJvbSBidWcgcmVwb3J0IDI2MDMKCjIwMDYtMDEtMDMgMTQ6MDAgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vOiBDWUdXSU4tZzc3LmNtYWtlLCBDWUdXSU4uY21ha2U6IEVOSDogYWRkIGV4ZQoJICBzdHVmZiBmb3IgY3lnd2luCgoyMDA2LTAxLTAzIDA4OjM5ICBhbmR5CgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IENPTVA6IFJlbW92ZSB3YXJuaW5ncyBvbiBIUC1VWAoKMjAwNi0wMS0wMyAwODozOSAgYW5keQoKCSogVXRpbGl0aWVzL2NtdGFyL2FwcGVuZC5jLCBVdGlsaXRpZXMvY210YXIvZXh0cmFjdC5jLAoJICBVdGlsaXRpZXMvY210YXIvbGlidGFyLmMsIFNvdXJjZS9DUGFjay9jbUNQYWNrTG9nLmN4eCwKCSAgU291cmNlL0NQYWNrL2NwYWNrLmN4eDogQ09NUDogUmVtb3ZlIHdhcm5pbmdzCgoyMDA2LTAxLTAzIDAxOjExICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDYtMDEtMDIgMTc6MjggIGFuZHkKCgkqIFNvdXJjZS9DUGFjay86IGNtQ1BhY2tHZW5lcmF0b3JzLmN4eCwKCSAgY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4LCBjbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5oLAoJICBjbUNQYWNrTlNJU0dlbmVyYXRvci5jeHgsIGNtQ1BhY2tOU0lTR2VuZXJhdG9yLmgsCgkgIGNtQ1BhY2tQYWNrYWdlTWFrZXJHZW5lcmF0b3IuY3h4LCBjbUNQYWNrUGFja2FnZU1ha2VyR2VuZXJhdG9yLmgsCgkgIGNtQ1BhY2tTVEdaR2VuZXJhdG9yLmN4eCwgY21DUGFja1NUR1pHZW5lcmF0b3IuaCwKCSAgY21DUGFja1RHWkdlbmVyYXRvci5jeHgsIGNtQ1BhY2tUR1pHZW5lcmF0b3IuaCwgY3BhY2suY3h4OiBFTkg6CgkgIFN0YXJ0IHdvcmtpbmcgb24gQ1BhY2sgaW5wdXQgZmlsZSBhbmQgY2xlYW51cHMKCjIwMDYtMDEtMDIgMTc6MjIgIGFuZHkKCgkqIFNvdXJjZS9DUGFjay86IGNtQ1BhY2tMb2cuaCwgY21DUGFja0xvZy5jeHg6IENPTVA6IEZpeCBjb21waWxlCgkgIGVycm9ycwoKMjAwNi0wMS0wMiAxNjoxNCAgYW5keQoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIENQYWNrL2NtQ1BhY2tHZW5lcmF0b3JzLmN4eCwKCSAgQ1BhY2svY21DUGFja0dlbmVyYXRvcnMuaCwgQ1BhY2svY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4LAoJICBDUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5oLCBDUGFjay9jbUNQYWNrTG9nLmN4eCwKCSAgQ1BhY2svY21DUGFja0xvZy5oLCBDUGFjay9jbUNQYWNrTlNJU0dlbmVyYXRvci5jeHgsCgkgIENQYWNrL2NtQ1BhY2tQYWNrYWdlTWFrZXJHZW5lcmF0b3IuY3h4LAoJICBDUGFjay9jbUNQYWNrU1RHWkdlbmVyYXRvci5jeHgsIENQYWNrL2NtQ1BhY2tUR1pHZW5lcmF0b3IuY3h4LAoJICBDUGFjay9jcGFjay5jeHg6IEVOSDogTW9yZSBpbXByb3ZlbWVudHMgYW5kIGFkZCBsb2dnaW5nCgoyMDA2LTAxLTAyIDE1OjAxICBob2ZmbWFuCgoJKiBUZXN0cy86IEN1c3RvbUNvbW1hbmQvQ01ha2VMaXN0cy50eHQsIFdyYXBwaW5nL0NNYWtlTGlzdHMudHh0OgoJICBCVUc6IGZvcmNlIEVYRUNVQUJMRSBhbmQgTElCUkFSWSBvdXRwdXQgcGF0aHMgc28gYmFkIGNhY2hlCgkgIGVudHJpZXMgZG8gbm90IGZhaWwgdGVzdHMKCjIwMDYtMDEtMDIgMTQ6MzMgIGFuZHkKCgkqIFRlc3RzLzogQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwgQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvQ01ha2VMaXN0cy50eHQ6IEJVRzogRmx1c2ggdGhlIEVYRUNVVEFCTEUKCSAgYW5kIExJQlJBUlkgb3V0cHV0IHBhdGggdG8gaW50ZXJuYWwKCjIwMDYtMDEtMDIgMTM6MzcgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VHZW5lcmljU3lzdGVtLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtZzc3LmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtZ2NjLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MuY21ha2UsIFNvdXJjZS9jbVRhcmdldC5jeHg6IEJVRzogZml4IGZvcgoJICBidWcgMjMyMiwgdXNlIENNQUtFX0VYRUNVVEFCTEVfU1VGRklYIHZhcmlhYmxlIGZvciBleGUgc3VmZml4CgoyMDA2LTAxLTAyIDEzOjM0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBmaXggYnVpbGQgcHJvYmxlbQoJICBvbiBnY2MKCjIwMDYtMDEtMDIgMTI6MzYgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaDogQlVHOiBmaXggZm9yIGJ1ZyAyNTMzLCBtYWtlCgkgIGZvby9mb28ubyBub3cgd29ya3MgYW5kIC5vIGZpbGVzIGFyZSBpbiB0aGUgaGVscAoKMjAwNi0wMS0wMiAxMTozOSAgYW5keQoKCSogU291cmNlL0NQYWNrL2NtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmN4eDogQ09NUDogUmVtb3ZlIHdhcm5pbmcKCjIwMDYtMDEtMDIgMTE6MjEgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlL1JlbGVhc2UuY21ha2U6IEVOSDogcmVtb3ZlIE1TIGRsbCdzIGZyb20KCSAgaW5zdGFsbCBvbiBjeWd3aW4KCjIwMDYtMDEtMDIgMTE6MDcgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtRmluZFBhdGhDb21tYW5kLmN4eCwgY21NYWtlZmlsZS5jeHg6IEVOSDogY2hhbmdlCgkgIGZyYW1ld29yayBvcmRlcgoKMjAwNi0wMS0wMiAxMDozNyAgYW5keQoKCSogU291cmNlL0NQYWNrLzogY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4LAoJICBjbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5oLCBjbUNQYWNrVEdaR2VuZXJhdG9yLmN4eCwKCSAgY21DUGFja1RHWkdlbmVyYXRvci5oOiBDT01QOiBGaXggYnVpbGQgcHJvYmxlbXMKCjIwMDYtMDEtMDIgMTA6MzYgIGFuZHkKCgkqIFNvdXJjZS9jbUdlbmVyYXRlZEZpbGVTdHJlYW0uY3h4OiBCVUc6IEZpeCB0aGUgY29tcHJlc3Npb24gd2l0aAoJICBjdXN0b20gZXh0ZW5zaW9uCgoyMDA2LTAxLTAyIDA3OjUzICBhbmR5CgoJKiBTb3VyY2UvQ1BhY2svOiBjbUNQYWNrUGFja2FnZU1ha2VyR2VuZXJhdG9yLmN4eCwKCSAgY21DUGFja1RHWkdlbmVyYXRvci5jeHgsIGNtQ1BhY2tUR1pHZW5lcmF0b3IuaDogRU5IOiBVc2UgbGlidGFyCgoyMDA2LTAxLTAyIDA3OjUyICBhbmR5CgoJKiBTb3VyY2UvOiBjbUdlbmVyYXRlZEZpbGVTdHJlYW0uY3h4LCBjbUdlbmVyYXRlZEZpbGVTdHJlYW0uaDogRU5IOgoJICBBZGQgYSB3YXkgdG8gb3ZlcndyaXRlIGNvbXByZXNzaW9uIGV4dGVuc2lvbgoKMjAwNi0wMS0wMiAwMTowOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA2LTAxLTAxIDIzOjMxICBhbmR5CgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaDogRU5IOgoJICBNZXJnZSBmcm9tIGNwYWNrIGJyYW5jaAoKMjAwNi0wMS0wMSAyMzoyOCAgYW5keQoKCSogTW9kdWxlcy86IENQYWNrLkRlc2NyaXB0aW9uLnBsaXN0LmluLCBDUGFjay5JbmZvLnBsaXN0LmluLAoJICBOU0lTLnRlbXBsYXRlLmluOiBFTkg6IE1lcmdlIGZyb20gQ1BhY2sgYnJhbmNoCgoyMDA2LTAxLTAxIDIzOjIxICBhbmR5CgoJKiBTb3VyY2UvQ1BhY2svOiBjbUNQYWNrQ29uZmlndXJlLmguaW4sIGNtQ1BhY2tHZW5lcmF0b3JzLmN4eCwKCSAgY21DUGFja0dlbmVyYXRvcnMuaCwgY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4LAoJICBjbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5oLCBjbUNQYWNrTlNJU0dlbmVyYXRvci5jeHgsCgkgIGNtQ1BhY2tOU0lTR2VuZXJhdG9yLmgsIGNtQ1BhY2tQYWNrYWdlTWFrZXJHZW5lcmF0b3IuY3h4LAoJICBjbUNQYWNrUGFja2FnZU1ha2VyR2VuZXJhdG9yLmgsIGNtQ1BhY2tTVEdaR2VuZXJhdG9yLmN4eCwKCSAgY21DUGFja1NUR1pHZW5lcmF0b3IuaCwgY21DUGFja1RHWkdlbmVyYXRvci5jeHgsCgkgIGNtQ1BhY2tUR1pHZW5lcmF0b3IuaCwgY3BhY2suY3h4OiBFTkg6IE1lcmdlIGZyb20gdGhlIGNwYWNrCgkgIGJyYW5jaAoKMjAwNi0wMS0wMSAwMTowNSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTEyLTMxIDEzOjEwICBraW5nCgoJKiBUZXN0cy9UYXJUZXN0L0NNYWtlTGlzdHMudHh0OiBFTkg6IFNpbXBsaWZpZWQgbG4gY29tbWFuZCB0byB1c2UKCSAgcmVsYXRpdmUgcGF0aCBpbiBzeW1saW5rLgoKMjAwNS0xMi0zMSAxMjo1OSAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NVTklYLmM6IEJVRzogV2hlbiBtb3JlIHRoYW4gb25lIGNvbW1hbmQgaXMKCSAgZ2l2ZW4gYW5kIG9uZSBvZiB0aGVtIGZhaWxzIHRvIHN0YXJ0IGFuZCB0aGUgcmVzdCBhcmUga2lsbGVkLCBkbwoJICBub3QgZm9yZ2V0IHRvIHJlYXAgdGhlIGtpbGxlZCBjaGlsZHJlbi4KCjIwMDUtMTItMzEgMTA6MzMgIGFuZHkKCgkqIFV0aWxpdGllcy9jbXRhci86IENNYWtlTGlzdHMudHh0LCBjb25maWcuaC5pbiwgaW50ZXJuYWwuaDogQ09NUDoKCSAgVHJ5IHRvIGZpeCBtYWpvci9taW5vciBwcm9ibGVtIG9uIGFpeAoKMjAwNS0xMi0zMSAwOTo0MCAgYW5keQoKCSogVXRpbGl0aWVzL2NtdGFyLzogQ01ha2VMaXN0cy50eHQsIGNvbmZpZy5oLmluLCBpbnRlcm5hbC5oOiBDT01QOgoJICBBdHRlbXB0IHRvIGZpeCBwcm9ibGVtcyB3aXRoIG1ham9yIGFuZCBtaW5vcgoKMjAwNS0xMi0zMSAwMTowOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTEyLTMwIDIxOjU0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUZpbmRGaWxlQ29tbWFuZC5jeHgsIGNtRmluZEZpbGVDb21tYW5kLmgsCgkgIGNtRmluZFBhdGhDb21tYW5kLmN4eCwgY21GaW5kUGF0aENvbW1hbmQuaDogRU5IOiBtb3ZlIGZyYW1ld29yawoJICBzdHVmZiBmcm9tIEZpbmRGaWxlIHRvIEZpbmRQYXRoCgoyMDA1LTEyLTMwIDIxOjU0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBFTkg6IGZpeCBzbyB2ZXJib3NlIGlzCgkgIHB1dCBpbiB0aGUgY29ycmVjdCBwbGFjZQoKMjAwNS0xMi0zMCAxNzo1MSAgYW5keQoKCSogVXRpbGl0aWVzL2NtdGFyL2NvbXBhdC9zbnByaW50Zi5jOiBDT01QOiBGaXggc3lzdGVtcyB0aGF0IGRvIG5vdAoJICBoYXZlIGJvdGggdnNucHJpbnRmIGFuZCBzbnByaW50Zi4KCjIwMDUtMTItMzAgMTc6MjcgIGFuZHkKCgkqIFV0aWxpdGllcy9jbXRhci86IENNYWtlTGlzdHMudHh0LCBjb25maWcuaC5pbiwgY29tcGF0L2NvbXBhdC5oLAoJICBjb21wYXQvc25wcmludGYuYzogQ09NUDogRml4IHN1cHBvcnQgZm9yIHZzbnByaW50ZgoKMjAwNS0xMi0zMCAxNjoyOCAgYW5keQoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBDT01QOiBGaXggd2FybmluZyBvbiBzdW4KCjIwMDUtMTItMzAgMTY6MDUgIGFuZHkKCgkqIFV0aWxpdGllcy9jbXRhci9leHRyYWN0LmM6IENPTVA6IEFub3RoZXIgYm9ybGFuZCBidWcKCjIwMDUtMTItMzAgMTU6NDYgIGFuZHkKCgkqIFRlc3RzL1RhclRlc3QvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkIHRlc3Rpbmcgb2Ygc3ltbGlua3MgdG9vCgoyMDA1LTEyLTMwIDE1OjQ2ICBhbmR5CgoJKiBVdGlsaXRpZXMvY210YXIvZXh0cmFjdC5jOiBCVUc6IEhhbmRsZSBta2RpcmhpZXIgcHJvcGVybHkgc2luY2UKCSAgaXQgbWF5IG1vZGlmeSB0aGUgc3RyaW5nCgoyMDA1LTEyLTMwIDE1OjMyICBhbmR5CgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IENPTVA6IFJlbW92ZSBzdW4gd2FybmluZwoKMjAwNS0xMi0zMCAxNToyNyAgYW5keQoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9UYXJUZXN0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9UYXJUZXN0L1Rlc3RUYXJFeGVjLmN4eDogRU5IOiBBZGQgYSB0YXIgdGVzdAoKMjAwNS0xMi0zMCAxNToyNSAgYW5keQoKCSogU291cmNlL2NtYWtlLmN4eDogRU5IOiBBZGQgYSB3YXkgdG8gY29tcGFyZSB0d28gZmlsZXMKCjIwMDUtMTItMzAgMTQ6NTEgIGFuZHkKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwgVXRpbGl0aWVzL2NtdGFyL2hhbmRsZS5jLAoJICBVdGlsaXRpZXMvY210YXIvbGlidGFyLmMsIFV0aWxpdGllcy9jbXRhci9saWJ0YXIuaDogRU5IOiBDbGVhbnVwCgkgIHRoZSBmaWxlIGhhbmRsZXIgc3R1ZiBzbyB0aGF0IG5vdyBhbnkgZmlsZSBkZXNjcmlwdG9yIHR5cGUgY2FuIGJlCgkgIHVzZWQKCjIwMDUtMTItMzAgMTQ6NTAgIGFuZHkKCgkqIENNYWtlTGlzdHMudHh0LCBVdGlsaXRpZXMvY21jdXJsL0NNYWtlTGlzdHMudHh0LAoJICBVdGlsaXRpZXMvY21leHBhdC9DTWFrZUxpc3RzLnR4dCwgVXRpbGl0aWVzL2NtdGFyL0NNYWtlTGlzdHMudHh0LAoJICBVdGlsaXRpZXMvY216bGliL0NNYWtlTGlzdHMudHh0LCBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IENPTVA6CgkgIENsZWFudXAgcmVndWxhciBleHByZXNzaW9ucwoKMjAwNS0xMi0zMCAxNDozMSAgYW5keQoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBDT01QOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDA1LTEyLTMwIDE0OjIzICBhbmR5CgoJKiBVdGlsaXRpZXMvY210YXIvY29tcGF0LzogYmFzZW5hbWUuYywgZGlybmFtZS5jOiBDT01QOiBSZW1vdmUKCSAgd2FybmluZ3MgYnkgZXhwb3Npbmcgc29tZSB2YXJpYWJsZXMKCjIwMDUtMTItMzAgMTQ6MjIgIGFuZHkKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwgVXRpbGl0aWVzL2NtdGFyL2hhbmRsZS5jLAoJICBVdGlsaXRpZXMvY210YXIvbGlidGFyLmMsIFV0aWxpdGllcy9jbXRhci9saWJ0YXIuaDogQ09NUDogRml4CgkgIHN1cHBvcnQgZm9yIGd6aXAgb24gbm9uLTMyIGJpdCBwbGF0Zm9ybXMKCjIwMDUtMTItMzAgMTM6MjIgIGFuZHkKCgkqIFV0aWxpdGllcy9jbXRhci91dGlsLmM6IENPTVA6IFJlbW92ZSB3YXJuaW5nIGFib3V0IGFyZ3VtZW50IG5vdAoJICBiZWluZyBpbnQKCjIwMDUtMTItMzAgMTM6MjIgIGFuZHkKCgkqIFNvdXJjZS86IGNtRmluZEZpbGVDb21tYW5kLmN4eCwgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IENPTVA6CgkgIFJlbW92ZSBzaGFkb3cgdmFyaWFibGUgd2FybmluZwoKMjAwNS0xMi0zMCAxMjo1OCAgYW5keQoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBDT01QOiBVc2UgbWFuZ2xlIG5hbWVzCgoyMDA1LTEyLTMwIDEyOjU4ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUZpbmRGaWxlQ29tbWFuZC5jeHgsIGNtVGFyZ2V0LmN4eDogQ09NUDogUmVtb3ZlCgkgIHdhcm5pbmdzCgoyMDA1LTEyLTMwIDEwOjM1ICBhbmR5CgoJKiBVdGlsaXRpZXMvY210YXIvOiBDTWFrZUxpc3RzLnR4dCwgYXBwZW5kLmMsIGNvbmZpZy5oLmluLAoJICBlbmNvZGUuYywgaW50ZXJuYWwuaCwgb3V0cHV0LmMsIHV0aWwuYywgd3JhcHBlci5jOiBCVUc6IFNldmVyYWwKCSAgQm9ybGFuZCBmaXhlcwoKMjAwNS0xMi0zMCAwMToxMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTEyLTI5IDEyOjE5ICBhbmR5CgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oLCBjbWFrZS5jeHg6IEVOSDogTWFrZQoJICB0aGUgc3ludGF4IG1vcmUgbGluZSB0YXIKCjIwMDUtMTItMjkgMTI6MTggIGFuZHkKCgkqIFV0aWxpdGllcy9jbXRhci9hcHBlbmQuYzogQ09NUDogTW9yZSBjeWd3aW4gZml4ZXMKCjIwMDUtMTItMjkgMTE6NDIgIGFuZHkKCgkqIFV0aWxpdGllcy9jbXRhci9hcHBlbmQuYzogQlVHOiBGaXggb24gY3lnd2luLi4uIGFnYWluPwoKMjAwNS0xMi0yOSAxMToxNSAgYW5keQoKCSogVXRpbGl0aWVzL2NtdGFyL291dHB1dC5jOiBDT01QOiBUcnkgdG8gcmVtb3ZlIHdhcm5pbmdzIGFuZCBhZGQKCSAgc3VwcG9ydCBmb3IgY3lnd2luCgoyMDA1LTEyLTI5IDEwOjUyICBhbmR5CgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IE1ha2UgYWRkaXRpb25hbCBmaWxlIG5hbWVzIG9wdGlvbmFsCgoyMDA1LTEyLTI5IDEwOjQzICBhbmR5CgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oLCBjbWFrZS5jeHg6IEVOSDogQWRkCgkgIHVudGFyaW5nIHN1cHBvcnQKCjIwMDUtMTItMjkgMTA6NDEgIGFuZHkKCgkqIFV0aWxpdGllcy9jbXRhci9leHRyYWN0LmM6IEJVRzogRml4IGV4dHJhY3QuIExvb2tzIGxpa2UgZGlybmFtZQoJICBhY3R1YWxseSBjaGFuZ2VzIHRoZSBzdHJpbmcsIHNvIHRlbXBvcmFyeSBzdHJpbmcgc2hvdWxkIGJlIHVzZWQKCjIwMDUtMTItMjkgMDk6MTEgIGFuZHkKCgkqIFV0aWxpdGllcy9jbXRhci86IG91dHB1dC5jLCBjb21wYXQvY29tcGF0Lmg6IENPTVA6IFJlbW92ZSBjKysKCSAgc3R5bGUgY29tbWVudHMKCjIwMDUtMTItMjkgMDE6MDQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMi0yOCAyMDowNCAgYW5keQoKCSogVGVzdHMvOiBDb21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dDogQlVHOiBOb3cgcmVhbGx5CgkgIGZpeCB0aGUgdGVzdAoKMjAwNS0xMi0yOCAxOTozMSAgYW5keQoKCSogVGVzdHMvOiBDb21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dDogQ09NUDogRml4IHRlc3QKCjIwMDUtMTItMjggMTc6MDIgIGFuZHkKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwKCSAgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQ6IENPTVA6IEZpeAoJICBjb21wbGV4IHRlc3QgYW5kIGZpeCBib290c3RyYXAKCjIwMDUtMTItMjggMTY6NTMgIGFuZHkKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQ09NUDogQWRkIG1pc3NpbmcgaW5jbHVkZQoKMjAwNS0xMi0yOCAxNjo0NCAgYW5keQoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBCVUc6IFJldHVybiBwcm9wZXIgdmFsdWVzCgoyMDA1LTEyLTI4IDE2OjQzICBhbmR5CgoJKiBVdGlsaXRpZXMvY210YXIvOiBleHRyYWN0LmMsIGxpYnRhci5jOiBDT01QOiBSZW1vdmUgbW9yZSB3YXJuaW5ncwoKMjAwNS0xMi0yOCAxNjozMSAgYW5keQoKCSogU291cmNlL2NtYWtlLmN4eDogRU5IOiBBZGQgY29tbWFuZCB0byBjcmVhdGUgdGFyCgoyMDA1LTEyLTI4IDE2OjMwICBhbmR5CgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oOiBFTkg6IEFkZCBtZXRob2QgdG8KCSAgY3JlYXRlIHRhcgoKMjAwNS0xMi0yOCAxNjozMCAgYW5keQoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBDT01QOiBMaW5rIHRhciBsaWJyYXJ5IHRvIGNtYWtlCgoyMDA1LTEyLTI4IDE2OjI5ICBhbmR5CgoJKiBDTWFrZUxpc3RzLnR4dDogQ09NUDogRml4IHBhdGggdG8gaW5jbHVkZSBmaWxlcwoKMjAwNS0xMi0yOCAxNTozMSAgYW5keQoKCSogVXRpbGl0aWVzL2NtdGFyLzogQ01ha2VMaXN0cy50eHQsIGNvbmZpZy5oLmluLCBoYW5kbGUuYywKCSAgY29tcGF0L2NvbXBhdC5oOiBDT01QOiBSZW1vdmUgbW9yZSB3YXJuaW5ncyBhbmQgcmVuYW1lIGxpYnJhcnkgdG8KCSAgY210YXIKCjIwMDUtMTItMjggMTU6MDMgIGFuZHkKCgkqIFV0aWxpdGllcy9jbXRhci9hcHBlbmQuYzogQ09NUDogUmVtb3ZlIHdhcm5pbmcKCjIwMDUtMTItMjggMTQ6NTggIGFuZHkKCgkqIFV0aWxpdGllcy9jbXRhci86IENNYWtlTGlzdHMudHh0LCBhcHBlbmQuYywgZGVjb2RlLmMsIGV4dHJhY3QuYywKCSAgZmlsZXN5c3RlbS5jLCBmaWxlc3lzdGVtLmgsIGhhbmRsZS5jLCBpbnRlcm5hbC5oLCBsaWJ0YXIuYywKCSAgdXRpbC5jLCB3cmFwcGVyLmMsIGNvbXBhdC9iYXNlbmFtZS5jLCBjb21wYXQvY29tcGF0LmgsCgkgIGNvbXBhdC9kaXJuYW1lLmM6IENPTVA6IFNldmVyYWwgYm9ybGFuZCBmaXhlcwoKMjAwNS0xMi0yOCAxNDo1MCAgYW5keQoKCSogVXRpbGl0aWVzL2NtdGFyL2NvbXBhdC9zbnByaW50Zi5jOiBDT01QOiBSZW1vdmUgd2FybmluZ3MKCjIwMDUtMTItMjggMTM6MzYgIGFuZHkKCgkqIENNYWtlTGlzdHMudHh0OiBFTkg6IEZpcnN0IGN1dCBhdCBlbmFibGluZyB0YXIKCjIwMDUtMTItMjggMTM6MzUgIGFuZHkKCgkqIFV0aWxpdGllcy9jbXRhci9hcHBlbmQuYzogQ09NUDogT25seSBkbyBPX0JJTkFSWSBvbiB3aW5kb3dzCgoyMDA1LTEyLTI4IDEzOjMzICBhbmR5CgoJKiBVdGlsaXRpZXMvY210YXIvOiBhcHBlbmQuYywgbGlidGFyLmM6IENPTVA6IEZpeCB3aW5kb3dzCgoyMDA1LTEyLTI4IDEzOjAxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMTItMjggMTI6MzQgIGFuZHkKCgkqIFV0aWxpdGllcy9jbXRhci9saWJ0YXIuYzogRU5IOiBGaXggYnVpbGRpbmcgb24gY3lnd2luCgoyMDA1LTEyLTI4IDEyOjI0ICBhbmR5CgoJKiBVdGlsaXRpZXMvY210YXIvOiBDTWFrZUxpc3RzLnR4dCwgY29uZmlnLmguaW4sIGV4dHJhY3QuYywKCSAgbGlidGFyLmM6IENPTVA6IEZpeCBidWlsZCBvbiBzdW4gYnkgYWRkaW5nIG1pc3NpbmcgaW5jbHVkZQoKMjAwNS0xMi0yOCAxMTowMCAgYW5keQoKCSogVXRpbGl0aWVzL2NtdGFyLzogQ01ha2VMaXN0cy50eHQsIGRlY29kZS5jLCBmaWxlc3lzdGVtLmMsCgkgIHdyYXBwZXIuYywgY29tcGF0L2Jhc2VuYW1lLmMsIGNvbXBhdC9kaXJuYW1lLmMsIGNvbXBhdC9mbm1hdGNoLmMsCgkgIGNvbXBhdC9zbnByaW50Zi5jOiBFTkg6IFdpbmRvd3MgZml4ZXMKCjIwMDUtMTItMjggMTA6MjggIGFuZHkKCgkqIENNYWtlTGlzdHMudHh0OiBFTkg6IE1lcmdlIGNoYW5nZSBmcm9tIHRoZSBtYWluIHRyZWUKCjIwMDUtMTItMjggMTA6MTkgIGFuZHkKCgkqIENNYWtlTGlzdHMudHh0OiBFTkg6IEluaXRpYWwgc2V0dXAgb2YgbGlidGFyCgoyMDA1LTEyLTI4IDEwOjE4ICBhbmR5CgoJKiBVdGlsaXRpZXMvY210YXIvOiBDTWFrZUxpc3RzLnR4dCwgQ09QWVJJR0hULCBhcHBlbmQuYywgYmxvY2suYywKCSAgY29uZmlnLmguaW4sIGRlY29kZS5jLCBlbmNvZGUuYywgZXh0cmFjdC5jLCBmaWxlc3lzdGVtLmMsCgkgIGZpbGVzeXN0ZW0uaCwgaGFuZGxlLmMsIGludGVybmFsLmgsIGxpYnRhci5jLCBsaWJ0YXIuaCwgb3V0cHV0LmMsCgkgIHRhci5oLCB1dGlsLmMsIHdyYXBwZXIuYywgY29tcGF0L1JFQURNRSwgY29tcGF0L2Jhc2VuYW1lLmMsCgkgIGNvbXBhdC9jb21wYXQuaCwgY29tcGF0L2Rpcm5hbWUuYywgY29tcGF0L2ZubWF0Y2guYywKCSAgY29tcGF0L2dldGhvc3RieW5hbWVfci5jLCBjb21wYXQvZ2V0aG9zdG5hbWUuYywKCSAgY29tcGF0L2dldHNlcnZieW5hbWVfci5jLCBjb21wYXQvZ2xvYi5jLCBjb21wYXQvaW5ldF9hdG9uLmMsCgkgIGNvbXBhdC9zbnByaW50Zi5jLCBjb21wYXQvc3RyZHVwLmMsIGNvbXBhdC9zdHJsY2F0LmMsCgkgIGNvbXBhdC9zdHJsY3B5LmMsIGNvbXBhdC9zdHJtb2RlLmMsIGNvbXBhdC9zdHJyc3RyLmMsCgkgIGNvbXBhdC9zdHJzZXAuYywgbGlzdGhhc2gvaGFzaC5jLmluLCBsaXN0aGFzaC9saXN0LmMuaW4sCgkgIGxpc3RoYXNoL2xpc3RoYXNoLmguaW46IEVOSDogSW5pdGlhbCBpbXBvcnQKCjIwMDUtMTItMjggMTA6MDkgIGFuZHkKCgkqIFV0aWxpdGllcy9jbXRhci86IENNYWtlTGlzdHMudHh0LCBDT1BZUklHSFQsIGFwcGVuZC5jLCBibG9jay5jLAoJICBjb25maWcuaC5pbiwgZGVjb2RlLmMsIGVuY29kZS5jLCBleHRyYWN0LmMsIGZpbGVzeXN0ZW0uYywKCSAgZmlsZXN5c3RlbS5oLCBoYW5kbGUuYywgaW50ZXJuYWwuaCwgbGlidGFyLmMsIGxpYnRhci5oLCBvdXRwdXQuYywKCSAgdGFyLmgsIHV0aWwuYywgd3JhcHBlci5jLCBjb21wYXQvUkVBRE1FLCBjb21wYXQvYmFzZW5hbWUuYywKCSAgY29tcGF0L2NvbXBhdC5oLCBjb21wYXQvZGlybmFtZS5jLCBjb21wYXQvZm5tYXRjaC5jLAoJICBjb21wYXQvZ2V0aG9zdGJ5bmFtZV9yLmMsIGNvbXBhdC9nZXRob3N0bmFtZS5jLAoJICBjb21wYXQvZ2V0c2VydmJ5bmFtZV9yLmMsIGNvbXBhdC9nbG9iLmMsIGNvbXBhdC9pbmV0X2F0b24uYywKCSAgY29tcGF0L3NucHJpbnRmLmMsIGNvbXBhdC9zdHJkdXAuYywgY29tcGF0L3N0cmxjYXQuYywKCSAgY29tcGF0L3N0cmxjcHkuYywgY29tcGF0L3N0cm1vZGUuYywgY29tcGF0L3N0cnJzdHIuYywKCSAgY29tcGF0L3N0cnNlcC5jLCBsaXN0aGFzaC9oYXNoLmMuaW4sIGxpc3RoYXNoL2xpc3QuYy5pbiwKCSAgbGlzdGhhc2gvbGlzdGhhc2guaC5pbjogRU5IOiBJbml0aWFsIGltcG9ydAoKMjAwNS0xMi0yOCAxMDowNyAgYW5keQoKCSogU291cmNlL2NtYWtlLmN4eDogRU5IOiBBZGQgZmlsZSBjb21wYXJlCgoyMDA1LTEyLTI3IDE1OjMzICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUZpbmRGaWxlQ29tbWFuZC5jeHgsIGNtRmluZEZpbGVDb21tYW5kLmgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogRU5IOiBtYWtlIHN1cmUgLUYgaXMgbm90CgkgIGR1cGxpY2F0ZWQKCjIwMDUtMTItMjcgMTU6MDggIGFuZHkKCgkqIFNvdXJjZS9DUGFjay86IGNtQ1BhY2tDb25maWd1cmUuaC5pbiwgY21DUGFja0dlbmVyYXRvcnMuY3h4LAoJICBjbUNQYWNrR2VuZXJhdG9ycy5oLCBjbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5jeHgsCgkgIGNtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmgsIGNtQ1BhY2tOU0lTR2VuZXJhdG9yLmN4eCwKCSAgY21DUGFja05TSVNHZW5lcmF0b3IuaCwgY21DUGFja1BhY2thZ2VNYWtlckdlbmVyYXRvci5jeHgsCgkgIGNtQ1BhY2tQYWNrYWdlTWFrZXJHZW5lcmF0b3IuaCwgY21DUGFja1NUR1pHZW5lcmF0b3IuaCwKCSAgY21DUGFja1RHWkdlbmVyYXRvci5jeHgsIGNtQ1BhY2tUR1pHZW5lcmF0b3IuaDogRU5IOiBSZW1vdmUKCSAgcmVmZXJlbmNlcyB0byBtX01ha2VmaWxlLiBJdCBpcyBub3cgcHJpdmF0ZS4gRml4IHNldmVyYWwgYnVpbGQKCSAgcHJvYmxlbXMuIENoYW5nZSBnZW5lcmF0b3IgY3JlYXRpb24uIC4uLgoKMjAwNS0xMi0yNyAxNDo1NiAgaG9mZm1hbgoKCSogU291cmNlLzogY21GaW5kRmlsZUNvbW1hbmQuY3h4LCBjbUZpbmRGaWxlQ29tbWFuZC5oLAoJICBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5jeHg6IEVOSDogYWRkCgkgIGZyYW1ld29yayBzdXBwb3J0IHRvIEZJTkRfRklMRQoKMjAwNS0xMi0yNyAxNDozMiAgYW5keQoKCSogU291cmNlL0NQYWNrL2NwYWNrLmN4eCwgVXRpbGl0aWVzL0NNYWtlTGlzdHMudHh0OiBFTkg6IEltcHJvdmUKCSAgaGVscCBhcmd1bWVudHMgYW5kIGFkZCBnZW5lcmF0aW9uIG9mIGRvYyBmaWxlcwoKMjAwNS0xMi0yNyAxMzoxMCAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFTkg6IEZpeCBjb21tYW5kIGxpbmUgYXJndW1lbnQgcGFyc2luZwoKMjAwNS0xMi0yNyAxMzowMyAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogRU5IOiByZW1vdmUgd2FybmluZwoKMjAwNS0xMi0yNiAxMzoxNCAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIGNtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsIGNtTWFrZWZpbGUuY3h4LAoJICBjbU9yZGVyTGlua0RpcmVjdG9yaWVzLmN4eCwgY21PcmRlckxpbmtEaXJlY3Rvcmllcy5oLAoJICBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oLCBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0LmgsCgkgIGt3c3lzL1N5c3RlbVRvb2xzLmN4eDogRU5IOiBhZGQgYmV0dGVyIHN1cHBvcnQgZm9yIGZyYW1ld29yawoJICBsaW5raW5nCgoyMDA1LTEyLTI2IDAxOjA2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMTItMjUgMDE6MDcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMi0yNCAwMTowMyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTEyLTIzIDAxOjA5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMTItMjIgMTY6NDIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VNU1lTRmluZE1ha2UuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VNaW5HV0ZpbmRNYWtlLmNtYWtlLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9jbUdsb2JhbEJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbE1TWVNNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbE1TWVNNYWtlZmlsZUdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxNaW5HV01ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsTWluR1dNYWtlZmlsZUdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxOTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsIFNvdXJjZS9jbWFrZS5jeHg6IEVOSDoKCSAgZml4IGJvcmxhbmQgbWFrZSBjbGVhbiB0YXJnZXRzIGJlZm9yZSBidWlsZCwgYWRkIG5ldyBnZW5lcmF0b3JzCgkgIGZvciBtc3lzIGFuZCBtaW5ndwoKMjAwNS0xMi0yMiAxNjowMiAgaG9mZm1hbgoKCSogQ2hhbmdlTG9nLm1hbnVhbCwgTW9kdWxlcy9DTWFrZS5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUJhY2t3YXJkQ29tcGF0aWJpbGl0eUMuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VCYWNrd2FyZENvbXBhdGliaWxpdHlDWFguY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VDSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VDWFhJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUNvbW1vbkxhbmd1YWdlSW5jbHVkZS5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lRm9ydHJhbkNvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lSmF2YUNvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lUkNDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZVN5c3RlbS5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUV4cG9ydEJ1aWxkU2V0dGluZ3MuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VGaW5kRnJhbWV3b3Jrcy5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUZvcnRyYW5JbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUltcG9ydEJ1aWxkU2V0dGluZ3MuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VKYXZhSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VQcmludFN5c3RlbUluZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlUkNJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVN5c3RlbVNwZWNpZmljSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VUZXN0Q0NvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlVGVzdENYWENvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlVGVzdEZvcnRyYW5Db21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVRlc3RKYXZhQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VUZXN0UkNDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVZTNkJhY2t3YXJkQ29tcGF0aWJpbGl0eS5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVZTN0JhY2t3YXJkQ29tcGF0aWJpbGl0eS5jbWFrZSwgTW9kdWxlcy9DVGVzdC5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja0NTb3VyY2VDb21waWxlcy5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja0NYWFNvdXJjZUNvbXBpbGVzLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrRnVuY3Rpb25FeGlzdHMuY21ha2UsCgkgIE1vZHVsZXMvQ2hlY2tJbmNsdWRlRmlsZS5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja0luY2x1ZGVGaWxlQ1hYLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrSW5jbHVkZUZpbGVzLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrTGlicmFyeUV4aXN0cy5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja1N5bWJvbEV4aXN0cy5jbWFrZSwgTW9kdWxlcy9DaGVja1R5cGVTaXplLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrVmFyaWFibGVFeGlzdHMuY21ha2UsIE1vZHVsZXMvRGFydC5jbWFrZSwKCSAgTW9kdWxlcy9Eb2N1bWVudGF0aW9uLmNtYWtlLCBNb2R1bGVzL0ZpbmRBVklGaWxlLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRDQUJMRS5jbWFrZSwgTW9kdWxlcy9GaW5kQ3Vyc2VzLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRDeWd3aW4uY21ha2UsIE1vZHVsZXMvRmluZERDTVRLLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmREYXJ0LmNtYWtlLCBNb2R1bGVzL0ZpbmREb3h5Z2VuLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRGTFRLLmNtYWtlLCBNb2R1bGVzL0ZpbmRHQ0NYTUwuY21ha2UsCgkgIE1vZHVsZXMvRmluZEdMVS5jbWFrZSwgTW9kdWxlcy9GaW5kR0xVVC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kR1RLLmNtYWtlLCBNb2R1bGVzL0ZpbmRHbnVwbG90LmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRIVE1MSGVscC5jbWFrZSwgTW9kdWxlcy9GaW5kSVRLLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRJbWFnZU1hZ2ljay5jbWFrZSwgTW9kdWxlcy9GaW5kSk5JLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRKUEVHLmNtYWtlLCBNb2R1bGVzL0ZpbmRKYXZhLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRLREUuY21ha2UsIE1vZHVsZXMvRmluZExBVEVYLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRNRkMuY21ha2UsIE1vZHVsZXMvRmluZE1QRUcuY21ha2UsCgkgIE1vZHVsZXMvRmluZE1QRUcyLmNtYWtlLCBNb2R1bGVzL0ZpbmRNUEkuY21ha2UsCgkgIE1vZHVsZXMvRmluZE1hdGxhYi5jbWFrZSwgTW9kdWxlcy9GaW5kTW90aWYuY21ha2UsCgkgIE1vZHVsZXMvRmluZE9wZW5BTC5jbWFrZSwgTW9kdWxlcy9GaW5kT3BlbkdMLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRQSFA0LmNtYWtlLCBNb2R1bGVzL0ZpbmRQTkcuY21ha2UsCgkgIE1vZHVsZXMvRmluZFBlcmwuY21ha2UsIE1vZHVsZXMvRmluZFBlcmxMaWJzLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRQaHlzRlMuY21ha2UsIE1vZHVsZXMvRmluZFBpa2UuY21ha2UsCgkgIE1vZHVsZXMvRmluZFB5dGhvbkludGVycC5jbWFrZSwgTW9kdWxlcy9GaW5kUHl0aG9uTGlicy5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kUXQuY21ha2UsIE1vZHVsZXMvRmluZFF0LmNtYWtlLmJhaywKCSAgTW9kdWxlcy9GaW5kUXQzLmNtYWtlLCBNb2R1bGVzL0ZpbmRRdDQuY21ha2UsCgkgIE1vZHVsZXMvRmluZFJ1YnkuY21ha2UsIE1vZHVsZXMvRmluZFNETC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kU0RMLmNtYWtlLmJhaywgTW9kdWxlcy9GaW5kU0RMX2ltYWdlLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRTRExfaW1hZ2UuY21ha2UuYmFrLCBNb2R1bGVzL0ZpbmRTRExfbWl4ZXIuY21ha2UsCgkgIE1vZHVsZXMvRmluZFNETF9taXhlci5jbWFrZS5iYWssIE1vZHVsZXMvRmluZFNETF9uZXQuY21ha2UsCgkgIE1vZHVsZXMvRmluZFNETF9uZXQuY21ha2UuYmFrLCBNb2R1bGVzL0ZpbmRTRExfc291bmQuY21ha2UsCgkgIE1vZHVsZXMvRmluZFNETF90dGYuY21ha2UsIE1vZHVsZXMvRmluZFNETF90dGYuY21ha2UuYmFrLAoJICBNb2R1bGVzL0ZpbmRTV0lHLmNtYWtlLCBNb2R1bGVzL0ZpbmRTZWxmUGFja2Vycy5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kVENMLmNtYWtlLCBNb2R1bGVzL0ZpbmRUSUZGLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRUY2xzaC5jbWFrZSwgTW9kdWxlcy9GaW5kVGhyZWFkcy5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kVW5peENvbW1hbmRzLmNtYWtlLCBNb2R1bGVzL0ZpbmRWVEsuY21ha2UsCgkgIE1vZHVsZXMvRmluZFdnZXQuY21ha2UsIE1vZHVsZXMvRmluZFdpc2guY21ha2UsCgkgIE1vZHVsZXMvRmluZFgxMS5jbWFrZSwgTW9kdWxlcy9GaW5kWkxJQi5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kd3hXaW5kb3dzLmNtYWtlLCBNb2R1bGVzL1Rlc3RCaWdFbmRpYW4uY21ha2UsCgkgIE1vZHVsZXMvVGVzdENYWEFjY2VwdHNGbGFnLmNtYWtlLAoJICBNb2R1bGVzL1Rlc3RGb3JBTlNJRm9yU2NvcGUuY21ha2UsCgkgIE1vZHVsZXMvVGVzdEZvckFOU0lTdHJlYW1IZWFkZXJzLmNtYWtlLAoJICBNb2R1bGVzL1Rlc3RGb3JTVEROYW1lc3BhY2UuY21ha2UsIE1vZHVsZXMvVXNlUXQ0LmNtYWtlLAoJICBNb2R1bGVzL1VzZVNXSUcuY21ha2UsIE1vZHVsZXMvVXNlVlRLNDAuY21ha2UsCgkgIE1vZHVsZXMvVXNlVlRLQnVpbGRTZXR0aW5nczQwLmNtYWtlLAoJICBNb2R1bGVzL1VzZVZUS0NvbmZpZzQwLmNtYWtlLCBNb2R1bGVzL1VzZV93eFdpbmRvd3MuY21ha2UsCgkgIE1vZHVsZXMvVXNld3hXaWRnZXRzLmNtYWtlLCBNb2R1bGVzL3JlYWRtZS50eHQsCgkgIFNvdXJjZS9jbUJ1aWxkQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUJ1aWxkTmFtZUNvbW1hbmQuaCwKCSAgU291cmNlL2NtQ1Rlc3QuY3h4LCBTb3VyY2UvY21EZXBlbmRzLmN4eCwgU291cmNlL2NtRGVwZW5kcy5oLAoJICBTb3VyY2UvY21EZXBlbmRzQy5jeHgsIFNvdXJjZS9jbURlcGVuZHNDLmgsCgkgIFNvdXJjZS9jbURlcGVuZHNGb3J0cmFuLmN4eCwgU291cmNlL2NtRGVwZW5kc0ZvcnRyYW4uaCwKCSAgU291cmNlL2NtRGVwZW5kc0phdmEuY3h4LCBTb3VyY2UvY21EZXBlbmRzSmF2YS5oLAoJICBTb3VyY2UvY21Eb2N1bWVudGF0aW9uLmN4eCwgU291cmNlL2NtRG9jdW1lbnRhdGlvbi5oLAoJICBTb3VyY2UvY21GaW5kUGFja2FnZUNvbW1hbmQuaCwKCSAgU291cmNlL2NtR2V0Q01ha2VQcm9wZXJ0eUNvbW1hbmQuaCwKCSAgU291cmNlL2NtR2V0RGlyZWN0b3J5UHJvcGVydHlDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvOEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUluc3RhbGxUYXJnZXRzQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21TZXREaXJlY3RvcnlQcm9wZXJ0aWVzQ29tbWFuZC5oLAoJICBTb3VyY2UvY21TaXRlTmFtZUNvbW1hbmQuaCwgU291cmNlL2NtVGFyZ2V0LmN4eCwKCSAgU291cmNlL2NtVGFyZ2V0LmgsIFNvdXJjZS9jbVRyeVJ1bkNvbW1hbmQuaCwKCSAgU291cmNlL2NtYWtlbWFpbi5jeHgsIFNvdXJjZS9DVGVzdC9jbUNUZXN0QnVpbGRDb21tYW5kLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eCwKCSAgU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jLCBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4LAoJICBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuaHh4LmluLAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEVOSDogbWVyZ2UgY2hhbmdlcyBmcm9tCgkgIG1haW4gdHJlZSB0byBicmFuY2gKCjIwMDUtMTItMjIgMTU6NDEgIGFuZHkKCgkqIE1vZHVsZXMvQ1BhY2suRGVzY3JpcHRpb24ucGxpc3QuaW4sIE1vZHVsZXMvQ1BhY2suSW5mby5wbGlzdC5pbiwKCSAgU291cmNlL0NQYWNrL2NtQ1BhY2tQYWNrYWdlTWFrZXJHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja1BhY2thZ2VNYWtlckdlbmVyYXRvci5oOiBFTkg6IE9rLCBub3cgaXQKCSAgd29ya3MKCjIwMDUtMTItMjIgMTU6MzQgIGFuZHkKCgkqIFNvdXJjZS9DUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5jeHg6IEVOSDogQWRkIG1hbmRhdG9yeQoJICBwcm9qZWN0IGRlc2NyaXB0aW9uIGZpbGUgb3Igc3RyaW5nCgoyMDA1LTEyLTIyIDE1OjM0ICBhbmR5CgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oOiBFTkg6IEFkZCBYTUwKCSAgZW5jb2R1aW5nIG1ldGhvZAoKMjAwNS0xMi0yMiAwMToxMyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTEyLTIxIDE1OjQ1ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5oOgoJICBFTkg6IG1ha2Ugc3VyZSBkZXBlbmQgaGVscGVyIGFjdHVhbGx5IHdvcmtzLCBpZiBhIGRlcGVuZCBsaWJyYXJ5CgkgIGdldHMgdXBkYXRlZCwgdGhlbiB0aGUgdGFyZ2V0IG5lZWRzIHRvIGJlIHJlbW92ZWQsIGFuZCB0aGUKCSAgQ09ORklHVVJBVElPTiBkaXJlY3RvcnkgbmVlZHMgdG8gYmUgdXNlZAoKMjAwNS0xMi0yMSAwODo0NiAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBMaWJyYXJpZXMgYW5kCgkgIGV4ZWN1dGFibGVzIHRoYXQgYXJlIGJ1aWx0IHdpdGggdmVyc2lvbiBudW1iZXJzIGFuZCBzeW1saW5rcwoJICBzaG91bGQgYmUgYnVpbHQgYnkgYSBydWxlIHVzaW5nIHRoZSByZWFsIGZpbGUgbmFtZS4gIFRoZSBzeW1saW5rCgkgIGZpbGUgbmFtZXMgc2hvdWxkIGJlIHJ1bGVzIHRoYXQganVzdCBkZXBlbmQgb24gdGhlIG1haW4gcnVsZS4KCSAgVGhpcyB3YXkgaWYgYSB2ZXJzaW9uIG51bWJlciBjaGFuZ2VzIGEgdGFyZ2V0IHdpbGwgcmUtbGluayB3aXRoCgkgIHRoZSBuZXcgbmFtZSBhbmQgdGhlIHN5bWxpbmtzIHdpbGwgYmUgdXBkYXRlZC4KCjIwMDUtMTItMjEgMDE6MDQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMi0yMCAxNDowNyAgYW5keQoKCSogVXRpbGl0aWVzL2NtY3VybC9tcHJpbnRmLmM6IENPTVA6IEZpeCBidWlsZCBvbiB1Y2xpYmMKCjIwMDUtMTItMjAgMTM6NTMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZTogRU5IOiByZW1vdmUgZHVwbGljYXRlcwoKMjAwNS0xMi0yMCAxMzoyMiAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jOiBFTkg6IEltcHJvdmVkIHJvYnVzdG5lc3Mgb2Ygc2hhcmluZwoJICBwYXJlbnQgcGlwZXMgd2l0aCBjaGlsZHJlbi4gIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSBwYXJlbnQgcGlwZQoJICBoYW5kbGVzIGFyZSBpbmhlcml0ZWQgYnkgdGhlIGNoaWxkcmVuLiAgSWYgYSBwYXJlbnQgcGlwZSBoYW5kbGUKCSAgaXMgaW52YWxpZCBhIGhhbmRsZSB0byBhbiBlbXB0eSBwaXBlIGlzIGdpdmVuIHRvIHRoZSBjaGlsZCB0bwoJICBtYWtlIHN1cmUgYWxsIHBpcGVzIGFyZSBkZWZpbmVkIGZvciB0aGUgY2hpbGRyZW4uCgoyMDA1LTEyLTIwIDA5OjIwICBhbmR5CgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogU3RhcnQgd29ya2luZyBvbiBQYWNrYWdlTWFrZXIKCjIwMDUtMTItMjAgMDE6MTEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMi0xOSAxODoxNyAgYW5keQoKCSogU291cmNlL0NQYWNrLzogY21DUGFja0dlbmVyYXRvcnMuY3h4LAoJICBjbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5jeHgsIGNtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmgsCgkgIGNtQ1BhY2tQYWNrYWdlTWFrZXJHZW5lcmF0b3IuY3h4LCBjbUNQYWNrUGFja2FnZU1ha2VyR2VuZXJhdG9yLmg6CgkgIEVOSDogU3RhcnQgd29ya2luZyBvbiBPc3gKCjIwMDUtMTItMTkgMTE6MjkgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBDVGVzdC9jbUNUZXN0QnVpbGRBbmRUZXN0SGFuZGxlci5jeHg6IEJVRzogZml4IGZvciBidWcgMjU2MCwKCSAgWGNvZGUgZG9lcyBub3QgY3JlYXRlIGNvcnJlY3QgYnVuZGxlcwoKMjAwNS0xMi0xOSAwMTowNiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTEyLTE4IDEwOjAwICBhbmR5CgoJKiBTb3VyY2UvQ1BhY2svOiBjbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5jeHgsCgkgIGNtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmgsIGNtQ1BhY2tOU0lTR2VuZXJhdG9yLmN4eCwKCSAgY21DUGFja05TSVNHZW5lcmF0b3IuaCwgY3BhY2suY3h4OiBFTkg6ICdGaW5pc2g7IE5TSQoKMjAwNS0xMi0xOCAwOTo1OSAgYW5keQoKCSogTW9kdWxlcy9OU0lTLnRlbXBsYXRlLmluOiBFTkg6IFVuaWZ5IHdpdGggS2VuJ3MKCjIwMDUtMTItMTggMDE6MDUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMi0xNyAwMToxMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTEyLTE2IDE2OjQ5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Eb2N1bWVudGF0aW9uLmN4eDogRU5IOiBtYWtlIHN1cmUgdW5jb21tZW50ZWQgbW9kdWxlcwoJICBhcmUgbm90IGRvY3VtZW50ZWQKCjIwMDUtMTItMTYgMDk6MDMgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEJVRzogUmV0dXJuIGlmIHRoZSBmaWxlIGlzIGluIGFueQoJICBkaXJlY3Rvcnkgbm90IGp1c3QgaW4gZmlyc3Qgb25lCgoyMDA1LTEyLTE2IDAxOjEyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMTItMTUgMTY6MjggIGFuZHkKCgkqIFRlc3RzLzogU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OiBCVUc6IEZpeCB0ZXN0CgoyMDA1LTEyLTE1IDE0OjE3ICBtYXJ0aW5rCgoJKiBNb2R1bGVzLzogRmluZE1GQy5jbWFrZSwgRmluZE1QRUcuY21ha2UsIEZpbmRNUEVHMi5jbWFrZSwKCSAgRmluZE1QSS5jbWFrZSwgRmluZE1vdGlmLmNtYWtlLCBGaW5kT3BlbkdMLmNtYWtlLCBGaW5kUEhQNC5jbWFrZSwKCSAgRmluZFBlcmwuY21ha2UsIEZpbmRQZXJsTGlicy5jbWFrZSwgRmluZFBoeXNGUy5jbWFrZSwKCSAgRmluZFBpa2UuY21ha2UsIEZpbmRQeXRob25JbnRlcnAuY21ha2UsIEZpbmRQeXRob25MaWJzLmNtYWtlLAoJICBGaW5kUXQuY21ha2UsIEZpbmRRdDQuY21ha2UsIEZpbmRSdWJ5LmNtYWtlLCBGaW5kU0RMLmNtYWtlLAoJICBGaW5kU0RMX2ltYWdlLmNtYWtlLCBGaW5kU0RMX21peGVyLmNtYWtlLCBGaW5kU0RMX25ldC5jbWFrZSwKCSAgRmluZFNETF9zb3VuZC5jbWFrZSwgRmluZFNETF90dGYuY21ha2UsIEZpbmRUQ0wuY21ha2UsCgkgIEZpbmRUSUZGLmNtYWtlLCBGaW5kVGNsc2guY21ha2UsIEZpbmRUaHJlYWRzLmNtYWtlLAoJICBGaW5kVlRLLmNtYWtlLCBGaW5kV2dldC5jbWFrZSwgRmluZFdpc2guY21ha2UsIEZpbmRYMTEuY21ha2UsCgkgIEZpbmR3eFdpbmRvd3MuY21ha2UsIFRlc3RGb3JBTlNJU3RyZWFtSGVhZGVycy5jbWFrZSwKCSAgVGVzdEZvclNURE5hbWVzcGFjZS5jbWFrZSwgVXNlU1dJRy5jbWFrZSwgVXNlX3d4V2luZG93cy5jbWFrZToKCSAgRU5IOiBjbGVhbnVwcwoKMjAwNS0xMi0xNSAxMjowMSAgYW5keQoKCSogU291cmNlL2NtSW5zdGFsbFRhcmdldHNDb21tYW5kLmN4eDogRU5IOiBSZXBvcnQgYW4gZXJyb3IgaWYgdGhlCgkgIHRhcmdldCBkb2VzIG5vdCBleGlzdHMKCjIwMDUtMTItMTUgMTA6NDEgIG1hcnRpbmsKCgkqIE1vZHVsZXMvOiBDTWFrZUJhY2t3YXJkQ29tcGF0aWJpbGl0eUNYWC5jbWFrZSwKCSAgQ01ha2VFeHBvcnRCdWlsZFNldHRpbmdzLmNtYWtlLCBDTWFrZUltcG9ydEJ1aWxkU2V0dGluZ3MuY21ha2UsCgkgIENoZWNrQ1hYU291cmNlQ29tcGlsZXMuY21ha2UsIENoZWNrSW5jbHVkZUZpbGUuY21ha2UsCgkgIENoZWNrSW5jbHVkZUZpbGVDWFguY21ha2UsIENoZWNrSW5jbHVkZUZpbGVzLmNtYWtlLAoJICBDaGVja0xpYnJhcnlFeGlzdHMuY21ha2UsIENoZWNrU3ltYm9sRXhpc3RzLmNtYWtlLAoJICBDaGVja1R5cGVTaXplLmNtYWtlLCBDaGVja1ZhcmlhYmxlRXhpc3RzLmNtYWtlLAoJICBGaW5kQVZJRmlsZS5jbWFrZSwgRmluZENBQkxFLmNtYWtlLCBGaW5kRkxUSy5jbWFrZSwKCSAgRmluZEdMVVQuY21ha2UsIEZpbmRHVEsuY21ha2UsIEZpbmRIVE1MSGVscC5jbWFrZSwgRmluZElUSy5jbWFrZSwKCSAgRmluZEltYWdlTWFnaWNrLmNtYWtlLCBGaW5kSk5JLmNtYWtlLCBGaW5kSlBFRy5jbWFrZSwKCSAgRmluZEphdmEuY21ha2UsIEZpbmRMQVRFWC5jbWFrZSwgRmluZE1hdGxhYi5jbWFrZTogRU5IOiBzb21lCgkgIHN0eWxlIGZpeGVzIGZvciB0aGUgYm9vawoKMjAwNS0xMi0xNSAwOToxOSAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kUXQzLmNtYWtlLCBTb3VyY2UvY21Eb2N1bWVudGF0aW9uLmN4eDogRU5IOiBmaXgKCSAgbW9kdWxlIGRvY3VtZW5hdGlvbiB0byBoYW5kbGUgYmFkIGRvY3MgYW5kIGZpeCBxdDMgZG9jcwoKMjAwNS0xMi0xNSAwMTo0NyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTEyLTE0IDEzOjUxICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlLmNtYWtlLCBNb2R1bGVzL0NNYWtlQmFja3dhcmRDb21wYXRpYmlsaXR5Qy5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUJhY2t3YXJkQ29tcGF0aWJpbGl0eUNYWC5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUNJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUNYWEluZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlQ29tbW9uTGFuZ3VhZ2VJbmNsdWRlLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ1hYQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVGb3J0cmFuQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVKYXZhQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVSQ0NvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lU3lzdGVtLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRXhwb3J0QnVpbGRTZXR0aW5ncy5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUZpbmRGcmFtZXdvcmtzLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRm9ydHJhbkluZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlSW1wb3J0QnVpbGRTZXR0aW5ncy5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUphdmFJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVByaW50U3lzdGVtSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VSQ0luZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlU3lzdGVtU3BlY2lmaWNJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVRlc3RDQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VUZXN0Q1hYQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VUZXN0Rm9ydHJhbkNvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlVGVzdEphdmFDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVRlc3RSQ0NvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlVlM2QmFja3dhcmRDb21wYXRpYmlsaXR5LmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlVlM3QmFja3dhcmRDb21wYXRpYmlsaXR5LmNtYWtlLCBNb2R1bGVzL0NUZXN0LmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrQ1NvdXJjZUNvbXBpbGVzLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrQ1hYU291cmNlQ29tcGlsZXMuY21ha2UsCgkgIE1vZHVsZXMvQ2hlY2tGdW5jdGlvbkV4aXN0cy5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja0luY2x1ZGVGaWxlLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrSW5jbHVkZUZpbGVDWFguY21ha2UsCgkgIE1vZHVsZXMvQ2hlY2tJbmNsdWRlRmlsZXMuY21ha2UsCgkgIE1vZHVsZXMvQ2hlY2tMaWJyYXJ5RXhpc3RzLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrU3ltYm9sRXhpc3RzLmNtYWtlLCBNb2R1bGVzL0NoZWNrVHlwZVNpemUuY21ha2UsCgkgIE1vZHVsZXMvQ2hlY2tWYXJpYWJsZUV4aXN0cy5jbWFrZSwgTW9kdWxlcy9EYXJ0LmNtYWtlLAoJICBNb2R1bGVzL0RvY3VtZW50YXRpb24uY21ha2UsIE1vZHVsZXMvRmluZEFWSUZpbGUuY21ha2UsCgkgIE1vZHVsZXMvRmluZENBQkxFLmNtYWtlLCBNb2R1bGVzL0ZpbmRDdXJzZXMuY21ha2UsCgkgIE1vZHVsZXMvRmluZEN5Z3dpbi5jbWFrZSwgTW9kdWxlcy9GaW5kRENNVEsuY21ha2UsCgkgIE1vZHVsZXMvRmluZERhcnQuY21ha2UsIE1vZHVsZXMvRmluZERveHlnZW4uY21ha2UsCgkgIE1vZHVsZXMvRmluZEZMVEsuY21ha2UsIE1vZHVsZXMvRmluZEdDQ1hNTC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kR0xVLmNtYWtlLCBNb2R1bGVzL0ZpbmRHTFVULmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRHVEsuY21ha2UsIE1vZHVsZXMvRmluZEdudXBsb3QuY21ha2UsCgkgIE1vZHVsZXMvRmluZEhUTUxIZWxwLmNtYWtlLCBNb2R1bGVzL0ZpbmRJVEsuY21ha2UsCgkgIE1vZHVsZXMvRmluZEltYWdlTWFnaWNrLmNtYWtlLCBNb2R1bGVzL0ZpbmRKTkkuY21ha2UsCgkgIE1vZHVsZXMvRmluZEpQRUcuY21ha2UsIE1vZHVsZXMvRmluZEphdmEuY21ha2UsCgkgIE1vZHVsZXMvRmluZEtERS5jbWFrZSwgTW9kdWxlcy9GaW5kTEFURVguY21ha2UsCgkgIE1vZHVsZXMvRmluZE1GQy5jbWFrZSwgTW9kdWxlcy9GaW5kTVBFRy5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kTVBFRzIuY21ha2UsIE1vZHVsZXMvRmluZE1QSS5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kTWF0bGFiLmNtYWtlLCBNb2R1bGVzL0ZpbmRNb3RpZi5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kT3BlbkFMLmNtYWtlLCBNb2R1bGVzL0ZpbmRPcGVuR0wuY21ha2UsCgkgIE1vZHVsZXMvRmluZFBIUDQuY21ha2UsIE1vZHVsZXMvRmluZFBORy5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kUGVybC5jbWFrZSwgTW9kdWxlcy9GaW5kUGVybExpYnMuY21ha2UsCgkgIE1vZHVsZXMvRmluZFBoeXNGUy5jbWFrZSwgTW9kdWxlcy9GaW5kUGlrZS5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kUHl0aG9uSW50ZXJwLmNtYWtlLCBNb2R1bGVzL0ZpbmRQeXRob25MaWJzLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRRdC5jbWFrZSwgTW9kdWxlcy9GaW5kUXQzLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRRdDQuY21ha2UsIE1vZHVsZXMvRmluZFJ1YnkuY21ha2UsCgkgIE1vZHVsZXMvRmluZFNETC5jbWFrZSwgTW9kdWxlcy9GaW5kU0RMX2ltYWdlLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRTRExfbWl4ZXIuY21ha2UsIE1vZHVsZXMvRmluZFNETF9uZXQuY21ha2UsCgkgIE1vZHVsZXMvRmluZFNETF9zb3VuZC5jbWFrZSwgTW9kdWxlcy9GaW5kU0RMX3R0Zi5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kU1dJRy5jbWFrZSwgTW9kdWxlcy9GaW5kU2VsZlBhY2tlcnMuY21ha2UsCgkgIE1vZHVsZXMvRmluZFRDTC5jbWFrZSwgTW9kdWxlcy9GaW5kVElGRi5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kVGNsc2guY21ha2UsIE1vZHVsZXMvRmluZFRocmVhZHMuY21ha2UsCgkgIE1vZHVsZXMvRmluZFVuaXhDb21tYW5kcy5jbWFrZSwgTW9kdWxlcy9GaW5kVlRLLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRXZ2V0LmNtYWtlLCBNb2R1bGVzL0ZpbmRXaXNoLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRYMTEuY21ha2UsIE1vZHVsZXMvRmluZFpMSUIuY21ha2UsCgkgIE1vZHVsZXMvRmluZHd4V2luZG93cy5jbWFrZSwgTW9kdWxlcy9UZXN0QmlnRW5kaWFuLmNtYWtlLAoJICBNb2R1bGVzL1Rlc3RDWFhBY2NlcHRzRmxhZy5jbWFrZSwKCSAgTW9kdWxlcy9UZXN0Rm9yQU5TSUZvclNjb3BlLmNtYWtlLAoJICBNb2R1bGVzL1Rlc3RGb3JBTlNJU3RyZWFtSGVhZGVycy5jbWFrZSwKCSAgTW9kdWxlcy9UZXN0Rm9yU1RETmFtZXNwYWNlLmNtYWtlLCBNb2R1bGVzL1VzZVF0NC5jbWFrZSwKCSAgTW9kdWxlcy9Vc2VTV0lHLmNtYWtlLCBNb2R1bGVzL1VzZVZUSzQwLmNtYWtlLAoJICBNb2R1bGVzL1VzZVZUS0J1aWxkU2V0dGluZ3M0MC5jbWFrZSwKCSAgTW9kdWxlcy9Vc2VWVEtDb25maWc0MC5jbWFrZSwgTW9kdWxlcy9Vc2Vfd3hXaW5kb3dzLmNtYWtlLAoJICBNb2R1bGVzL1VzZXd4V2lkZ2V0cy5jbWFrZSwgTW9kdWxlcy9yZWFkbWUudHh0LAoJICBTb3VyY2UvY21Eb2N1bWVudGF0aW9uLmN4eCwgU291cmNlL2NtRG9jdW1lbnRhdGlvbi5oLAoJICBTb3VyY2UvY21ha2VtYWluLmN4eDogRU5IOiBhZGQgZG9jdW1lbnRhdGlvbiBzdXBwb3J0IGZvciBtb2R1bGVzCgoyMDA1LTEyLTE0IDExOjAwICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmg6IEVOSDogUmVuYW1lZAoJICBaZXJvVGFyZ2V0Q2hlY2sgdGFyZ2V0IHRvIFpFUk9fQ0hFQ0sgZm9yIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIKCSAgQ01ha2UtZ2VuZXJhdGVkIHRhcmdldHMgKEFMTF9CVUlMRCwgUlVOX1RFU1RTLCBJTlNUQUxMKS4KCjIwMDUtMTItMTQgMTA6NTggIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IENPTVA6IEZpeCBjb252ZXJzaW9uCgkgIHdhcm5pbmcuCgoyMDA1LTEyLTE0IDEwOjQ3ICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbU1ha2VmaWxlLmN4eCwgY21UYXJnZXQuY3h4LCBjbVRhcmdldC5oOiBFTkg6IFJlbW92ZWQgY21NYWtlZmlsZQoJICBhcmd1bWVudHMgZnJvbSBjbVRhcmdldCBtZXRob2RzIGJlY2F1c2UgY21UYXJnZXQgaGFzIHRoZSBpdmFyCgkgIG1fTWFrZWZpbGUgbm93LiAgUmUtaW1wbGVtZW50ZWQKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjM6OkFwcGVuZEFueURlcGVuZCB0byB1c2UgdGhlIG5ldwoJICBnbG9iYWwga25vd2xlZGdlIGFuZCBhdm9pZCB0aGUgbmVlZCB0byBsb29rIGF0IHRoZSBjYWNoZSBmb3IKCSAgaW5mb3JtYXRpb24gYWJvdXQgb3RoZXIgdGFyZ2V0cy4gIFRoaXMgc2hvdWxkIGZpeCBwcm9ibGVtcyB3aXRoCgkgIGN1c3RvbSBjb21tYW5kcyBhbmQgZXhlY3V0YWJsZXMgd2l0aCB0aGUgT1VUUFVUX05BTUUgc2V0LiAgQWxzbwoJICB0aGUgPHRhcmdldD5fTElCUkFSWV9UWVBFIGNhY2hlIHZhcmlhYmxlIGlzIG5vIGxvbmdlciBuZWVkZWQgYXQKCSAgYWxsIGFuZCBoYXMgYmVlbiByZW1vdmVkLgoKMjAwNS0xMi0xMyAxODoyMyAga2luZwoKCSogU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvOEdlbmVyYXRvci5jeHg6IENPTVA6IEZpeGVkIHVudXNlZAoJICB2YXJpYWJsZSB3YXJuaW5nLgoKMjAwNS0xMi0xMyAxNToxNiAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eDogQlVHOiBGaXggdGhlIHByb2JsZW0gd2l0aAoJICB1cGRhdGUueG1sLnRtcCBub3QgYmVpbmcgY29wcGllZAoKMjAwNS0xMi0xMyAxNToxNCAgbWFydGluawoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogRU5IOiByZW1vdmVkCgkgIFRBUkdFVF9ESVJfUFJFRklYIHN1cHBvcnQgYW5kIHNvbWVvdGhlciBmaXgKCjIwMDUtMTItMTMgMTU6MTMgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEVOSDogcmVtb3ZlZAoJICBUQVJHRVRfRElSX1BSRUZJWCBzdXBwb3J0CgoyMDA1LTEyLTEzIDE1OjEyICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21UcnlSdW5Db21tYW5kLmg6IFNUWUxFOiBmaXggbWlzc2luZyBkb2NzCgoyMDA1LTEyLTEzIDE0OjIxICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogRU5IOiBBZGRlZCBzdXBwb3J0IGZvcgoJICBwYXJhbGxlbCBidWlsZHMgaW4gVlMgOC4gIFRoZXJlIGlzIG5vdyBhIHNwZWNpYWwgdGFyZ2V0IG9uIHdoaWNoCgkgIGFsbCBvdGhlciB0YXJnZXRzIGRlcGVuZCB0aGF0IHJlLXJ1bnMgQ01ha2UgaWYgYW55IGxpc3RmaWxlcyBoYXZlCgkgIGJlZW4gY2hhbmdlZC4gIFRoaXMgYWRkcmVzc2VzIGJ1ZyMyNTEyLgoKMjAwNS0xMi0xMyAxNDowNyAgbWFydGluawoKCSogVXRpbGl0aWVzL1JlbGVhc2UvQ01ha2UubnNpLmluOiBFTkg6IHJlbW92ZWQgdGhlIGFkZCB0byBwYXRoCgoyMDA1LTEyLTEzIDA0OjI0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMTItMTIgMTE6MzQgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEVOSDogZml4IGZvciBidWcgMjU4NCwKCSAgZW1wdHkgc291cmNlIGdyb3VwcyB3aXRoIGNoaWxkcmVuIHNraXBwZWQKCjIwMDUtMTItMTIgMDQ6MTcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMi0xMSAwNDoyMCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTEyLTExIDAwOjEyICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBDT01QOiBmb3IgYSBpbiByYW5nZSgxMDApOgoJICB3cml0ZV9vbl9ib2FyZChObyBzdGQgaW4ga3dzeXMuLi4pCgoyMDA1LTEyLTEwIDEyOjE2ICBhbmR5CgoJKiBNb2R1bGVzL05TSVMudGVtcGxhdGUuaW46IEVOSDogU29tZSBmaXhlcyB0byBtYWtlIGl0IHdvcmsKCjIwMDUtMTItMTAgMTI6MTQgIGFuZHkKCgkqIFNvdXJjZS9DUGFjay86IGNtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmN4eCwKCSAgY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuaCwgY21DUGFja05TSVNHZW5lcmF0b3IuY3h4LCBjcGFjay5jeHg6CgkgIEVOSDogTW9yZSB3b3JrIG9uIE5TSVM6CgoyMDA1LTEyLTEwIDEyOjExICBhbmR5CgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEVOSDogQWxsb3cgdGhlIGluc3RhbGxlciB0bwoJICBvdmVyd3JpdGUgdGhlIGluc3RhbGwgcHJlZml4CgoyMDA1LTEyLTEwIDEyOjEwICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvOiBDb21tYW5kTGluZUFyZ3VtZW50cy5jeHgsCgkgIENvbW1hbmRMaW5lQXJndW1lbnRzLmh4eC5pbjogRU5IOiBBZGQgYSBtZXRob2QgdG8gcmVtb3ZlCgkgIHJlbWFpbmluZyBhcmd1bWVudHMKCjIwMDUtMTItMTAgMTI6MDkgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy9HbG9iLmh4eC5pbjogQ09NUDogRml4IHRoZSBleHBvcnRpbmcgc28gdGhhdCBpdCBjYW4KCSAgYWN0dWFsbHkgYmUgdXNlZAoKMjAwNS0xMi0xMCAxMjowOCAgYW5keQoKCSogU291cmNlL2t3c3lzLzogU3lzdGVtVG9vbHMuY3h4LCBTeXN0ZW1Ub29scy5oeHguaW46IEVOSDogQWRkCgkgIGFub3RoZXIgc2lnbmF0dXJlIHRvIEZpbmRQcm9ncmFtIHRoYXQgbWF0Y2hlcyBtb3JlIHRvIHRoZSBvbmUKCSAgZnJvbSBDTWFrZQoKMjAwNS0xMi0xMCAwNDoyMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTEyLTA5IDIzOjA0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbURlcGVuZHNDLmN4eCwgY21EZXBlbmRzQy5oOiBFTkg6IHRyeSB0byBmaXggaHAgYnVpbGQKCSAgcHJvYmxlbQoKMjAwNS0xMi0wOSAxNjozMiAgYW5keQoKCSogU291cmNlL2NtRGVwZW5kc0MuaDogRU5IOiBmaXggY29tcGlsZSBlcnJvcgoKMjAwNS0xMi0wOSAxNDozMCAgaG9mZm1hbgoKCSogU291cmNlLzogY21EZXBlbmRzQy5jeHgsIGNtRGVwZW5kc0MuaDogRU5IOiBjbGVhbiB1cCBzdHlsZSBhIGJpdAoKMjAwNS0xMi0wOSAxMzo1OCAgaG9mZm1hbgoKCSogU291cmNlLzogY21EZXBlbmRzQy5jeHgsIGNtRGVwZW5kc0MuaCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBQRVJGOiBhcHBseSBwYXRjaCBmb3IgYnVnIDI1NzUKCSAgc3BlZWRzIHVwIGRlcGVuZCBzY2FubmluZwoKMjAwNS0xMi0wOSAwNDoxNyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTEyLTA4IDA0OjIxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMTItMDcgMTE6MzkgIGFuZHkKCgkqIFNvdXJjZS86IGNtQnVpbGROYW1lQ29tbWFuZC5oLCBjbUZpbmRQYWNrYWdlQ29tbWFuZC5oLAoJICBjbUdldENNYWtlUHJvcGVydHlDb21tYW5kLmgsIGNtR2V0RGlyZWN0b3J5UHJvcGVydHlDb21tYW5kLmgsCgkgIGNtU2V0RGlyZWN0b3J5UHJvcGVydGllc0NvbW1hbmQuaCwgY21TaXRlTmFtZUNvbW1hbmQuaDogRU5IOiBNYWtlCgkgIGNvbW1hbmRzIHNjcmlwdGFibGUKCjIwMDUtMTItMDYgMTA6NTUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMi0wNSAwODoxOSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTEyLTA0IDA1OjA0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMTItMDMgMDY6MTAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMi0wMiAwOToxOCAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogRU5IOiB1cGRhdGUgcmV2aXNpb24gbnVtYmVycwoKMjAwNS0xMi0wMiAwOToxNiAgaG9mZm1hbgoKCSogQ2hhbmdlTG9nLm1hbnVhbCwgVXRpbGl0aWVzL1JlbGVhc2UvY29uZmlnX0lSSVg2NCwKCSAgVXRpbGl0aWVzL1JlbGVhc2UvcmVsZWFzZV9kaXNwYXRjaC5zaDogRU5IOiBmaXggY2hhbmdlIGxvZyBhbmQKCSAgY2hhbmdlIHNnaSByZWxlYXNlIHNjcmlwdHMKCjIwMDUtMTItMDIgMDU6MzAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMi0wMSAyMTo1MiAgYW5keQoKCSogTW9kdWxlcy9OU0lTLnRlbXBsYXRlLmluLCBTb3VyY2UvQ1BhY2svY21DUGFja05TSVNHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvQ1BhY2svY21DUGFja05TSVNHZW5lcmF0b3IuaDogRU5IOiBXb3JrIG9uIG5zaXMKCjIwMDUtMTItMDEgMTI6MjcgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IEVOSDogdXBkYXRlIHJldmlzaW9uIG51bWJlcnMKCjIwMDUtMTItMDEgMTE6NDEgIGFuZHkKCgkqIFNvdXJjZS86IGNtQnVpbGRDb21tYW5kLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbEdlbmVyYXRvci5oLCBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmgsIENUZXN0L2NtQ1Rlc3RCdWlsZENvbW1hbmQuY3h4OiBFTkg6IEFkZAoJICBhIHdheSBmb3IgdGhlIGdlbmVyYXRlZCBjb21tYW5kIHRvIGluY2x1ZGUgZXh0cmEgZmxhZ3MuIFRoaXMgaXMKCSAgdXNlZnVsIGZvciBDVGVzdCAob3IgdHJ5IGNvbXBpbGUpIHRvIGFkZCAtajIKCjIwMDUtMTItMDEgMDU6MzIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMS0zMCAxMzo0NiAgYW5keQoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBFTkg6IEFkZCB2YXJpYWJsZSBmb3IgZGVidWdnaW5nLiBUaGlzCgkgIHZhcmlhYmxlIENNQUtFX1BBUkVOVF9MSVNUX0ZJTEUgaG9sZHMgdGhlIHBhcmVudCBDTWFrZSBsaXN0IGZpbGUKCSAgb2YgdGhlIGN1cnJlbnQgY21ha2UgbGlzdCBmaWxlLgoKMjAwNS0xMS0zMCAwNToyMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTExLTI5IDA1OjI0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMTEtMjggMTU6NTcgIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvVHV0b3JpYWwvU3RlcDEvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1R1dG9yaWFsL1N0ZXAxL1R1dG9yaWFsQ29uZmlnLmguaW4sCgkgIFRlc3RzL1R1dG9yaWFsL1N0ZXAxL3R1dG9yaWFsLmN4eCwKCSAgVGVzdHMvVHV0b3JpYWwvU3RlcDIvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1R1dG9yaWFsL1N0ZXAyL1R1dG9yaWFsQ29uZmlnLmguaW4sCgkgIFRlc3RzL1R1dG9yaWFsL1N0ZXAyL3R1dG9yaWFsLmN4eCwKCSAgVGVzdHMvVHV0b3JpYWwvU3RlcDIvTWF0aEZ1bmN0aW9ucy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvVHV0b3JpYWwvU3RlcDIvTWF0aEZ1bmN0aW9ucy9NYXRoRnVuY3Rpb25zLmgsCgkgIFRlc3RzL1R1dG9yaWFsL1N0ZXAyL01hdGhGdW5jdGlvbnMvbXlzcXJ0LmN4eCwKCSAgVGVzdHMvVHV0b3JpYWwvU3RlcDMvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1R1dG9yaWFsL1N0ZXAzL1R1dG9yaWFsQ29uZmlnLmguaW4sCgkgIFRlc3RzL1R1dG9yaWFsL1N0ZXAzL3R1dG9yaWFsLmN4eCwKCSAgVGVzdHMvVHV0b3JpYWwvU3RlcDMvTWF0aEZ1bmN0aW9ucy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvVHV0b3JpYWwvU3RlcDMvTWF0aEZ1bmN0aW9ucy9NYXRoRnVuY3Rpb25zLmgsCgkgIFRlc3RzL1R1dG9yaWFsL1N0ZXAzL01hdGhGdW5jdGlvbnMvbXlzcXJ0LmN4eCwKCSAgVGVzdHMvVHV0b3JpYWwvU3RlcDQvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1R1dG9yaWFsL1N0ZXA0L1R1dG9yaWFsQ29uZmlnLmguaW4sCgkgIFRlc3RzL1R1dG9yaWFsL1N0ZXA0L3R1dG9yaWFsLmN4eCwKCSAgVGVzdHMvVHV0b3JpYWwvU3RlcDQvTWF0aEZ1bmN0aW9ucy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvVHV0b3JpYWwvU3RlcDQvTWF0aEZ1bmN0aW9ucy9NYXRoRnVuY3Rpb25zLmgsCgkgIFRlc3RzL1R1dG9yaWFsL1N0ZXA0L01hdGhGdW5jdGlvbnMvbXlzcXJ0LmN4eCwKCSAgVGVzdHMvVHV0b3JpYWwvU3RlcDUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1R1dG9yaWFsL1N0ZXA1L1R1dG9yaWFsQ29uZmlnLmguaW4sCgkgIFRlc3RzL1R1dG9yaWFsL1N0ZXA1L3R1dG9yaWFsLmN4eCwKCSAgVGVzdHMvVHV0b3JpYWwvU3RlcDUvTWF0aEZ1bmN0aW9ucy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvVHV0b3JpYWwvU3RlcDUvTWF0aEZ1bmN0aW9ucy9NYWtlVGFibGUuY3h4LAoJICBUZXN0cy9UdXRvcmlhbC9TdGVwNS9NYXRoRnVuY3Rpb25zL01hdGhGdW5jdGlvbnMuaCwKCSAgVGVzdHMvVHV0b3JpYWwvU3RlcDUvTWF0aEZ1bmN0aW9ucy9teXNxcnQuY3h4OiBFTkg6IG1vdmUgdHV0b3JpYWwKCSAgdG8gYnJhbmNoCgoyMDA1LTExLTI4IDE1OjE1ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgU291cmNlL2NtRGVwZW5kc0ZvcnRyYW5MZXhlci5jeHgsCgkgIFNvdXJjZS9jbURlcGVuZHNGb3J0cmFuTGV4ZXIuaW4ubDogRU5IOiBWZXJzaW9uIDIuMi4zCgoyMDA1LTExLTI4IDE0OjE5ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1ZUS0NvbXBhdGliaWxpdHkuY21ha2U6IEVOSDogZml4IHByb2JsZW0gd2l0aCBidWlsZGluZwoJICB2dGsgNC40LjIKCjIwMDUtMTEtMjggMTQ6MDUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvVlRLQ29tcGF0aWJpbGl0eS5jbWFrZTogRU5IOiBmaXggZm9yIHZ0ayA0LjQuMiBhbmQgY21ha2UKCSAgMi4yCgoyMDA1LTExLTI4IDA1OjE3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMTEtMjcgMDU6MjcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMS0yNiAwNToyMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTExLTI1IDA1OjE4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMTEtMjQgMDU6MjEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMS0yMyAxMjozMyAgaG9mZm1hbgoKCSogQ2hhbmdlTG9nLm1hbnVhbCwgTW9kdWxlcy9DTWFrZUNDb21waWxlci5jbWFrZS5pbiwKCSAgTW9kdWxlcy9DTWFrZVRlc3RDQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VUZXN0SmF2YUNvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrRnVuY3Rpb25FeGlzdHMuY21ha2UsCgkgIE1vZHVsZXMvQ2hlY2tJbmNsdWRlRmlsZS5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja0luY2x1ZGVGaWxlQ1hYLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrSW5jbHVkZUZpbGVzLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrTGlicmFyeUV4aXN0cy5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja1N5bWJvbEV4aXN0cy5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja1ZhcmlhYmxlRXhpc3RzLmNtYWtlLCBNb2R1bGVzL0ZpbmRPcGVuQUwuY21ha2UsCgkgIE1vZHVsZXMvRmluZFBoeXNGUy5jbWFrZSwgTW9kdWxlcy9GaW5kUXQzLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRTREwuY21ha2UsIE1vZHVsZXMvRmluZFNETC5jbWFrZS5iYWssCgkgIE1vZHVsZXMvRmluZFNETF9pbWFnZS5jbWFrZSwgTW9kdWxlcy9GaW5kU0RMX2ltYWdlLmNtYWtlLmJhaywKCSAgTW9kdWxlcy9GaW5kU0RMX21peGVyLmNtYWtlLCBNb2R1bGVzL0ZpbmRTRExfbWl4ZXIuY21ha2UuYmFrLAoJICBNb2R1bGVzL0ZpbmRTRExfbmV0LmNtYWtlLCBNb2R1bGVzL0ZpbmRTRExfbmV0LmNtYWtlLmJhaywKCSAgTW9kdWxlcy9GaW5kU0RMX3NvdW5kLmNtYWtlLCBNb2R1bGVzL0ZpbmRTRExfdHRmLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRTRExfdHRmLmNtYWtlLmJhaywgTW9kdWxlcy9QbGF0Zm9ybS9TdW5PUy5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtaWNsLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtaWZvcnQuY21ha2UsCgkgIFNvdXJjZS9jbUFkZExpYnJhcnlDb21tYW5kLmgsIFNvdXJjZS9jbUFkZFN1YkRpcmVjdG9yeUNvbW1hbmQuaCwKCSAgU291cmNlL2NtQ01ha2VNaW5pbXVtUmVxdWlyZWQuaCwgU291cmNlL2NtQ1BsdWdpbkFQSS5oLAoJICBTb3VyY2UvY21DVGVzdC5jeHgsIFNvdXJjZS9jbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUNyZWF0ZVRlc3RTb3VyY2VMaXN0LmgsIFNvdXJjZS9jbUVsc2VDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUVuYWJsZUxhbmd1YWdlQ29tbWFuZC5oLAoJICBTb3VyY2UvY21FbmFibGVUZXN0aW5nQ29tbWFuZC5oLCBTb3VyY2UvY21FbmRGb3JFYWNoQ29tbWFuZC5oLAoJICBTb3VyY2UvY21FbmRJZkNvbW1hbmQuaCwgU291cmNlL2NtRW5kV2hpbGVDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUV4ZWNQcm9ncmFtQ29tbWFuZC5oLCBTb3VyY2UvY21GTFRLV3JhcFVJQ29tbWFuZC5oLAoJICBTb3VyY2UvY21GaWxlQ29tbWFuZC5oLCBTb3VyY2UvY21Gb3JFYWNoQ29tbWFuZC5oLAoJICBTb3VyY2UvY21HZXRDTWFrZVByb3BlcnR5Q29tbWFuZC5oLAoJICBTb3VyY2UvY21HZXREaXJlY3RvcnlQcm9wZXJ0eUNvbW1hbmQuaCwKCSAgU291cmNlL2NtR2V0U291cmNlRmlsZVByb3BlcnR5Q29tbWFuZC5oLAoJICBTb3VyY2UvY21HZXRUYXJnZXRQcm9wZXJ0eUNvbW1hbmQuaCwKCSAgU291cmNlL2NtR2V0VGVzdFByb3BlcnR5Q29tbWFuZC5oLAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzhHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmgsIFNvdXJjZS9jbUlmQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUlmQ29tbWFuZC5oLCBTb3VyY2UvY21JbmNsdWRlQ29tbWFuZC5oLAoJICBTb3VyY2UvY21JbnN0YWxsRmlsZXNDb21tYW5kLmgsIFNvdXJjZS9jbUluc3RhbGxUYXJnZXRzQ29tbWFuZC5oLAoJICBTb3VyY2UvY21Mb2FkQ2FjaGVDb21tYW5kLmgsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFjcm9Db21tYW5kLmgsIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwKCSAgU291cmNlL2NtTWFya0FzQWR2YW5jZWRDb21tYW5kLmgsIFNvdXJjZS9jbU1lc3NhZ2VDb21tYW5kLmgsCgkgIFNvdXJjZS9jbU9yZGVyTGlua0RpcmVjdG9yaWVzLmN4eCwKCSAgU291cmNlL2NtT3JkZXJMaW5rRGlyZWN0b3JpZXMuaCwgU291cmNlL2NtUVRXcmFwQ1BQQ29tbWFuZC5oLAoJICBTb3VyY2UvY21RVFdyYXBVSUNvbW1hbmQuaCwgU291cmNlL2NtU2V0Q29tbWFuZC5oLAoJICBTb3VyY2UvY21TZXRTb3VyY2VGaWxlc1Byb3BlcnRpZXNDb21tYW5kLmgsCgkgIFNvdXJjZS9jbVNldFRhcmdldFByb3BlcnRpZXNDb21tYW5kLmgsCgkgIFNvdXJjZS9jbVNldFRlc3RzUHJvcGVydGllc0NvbW1hbmQuaCwgU291cmNlL2NtU291cmNlRmlsZS5jeHgsCgkgIFNvdXJjZS9jbVNvdXJjZUdyb3VwQ29tbWFuZC5oLCBTb3VyY2UvY21TdWJkaXJDb21tYW5kLmgsCgkgIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwgU291cmNlL2NtVGFyZ2V0LmN4eCwKCSAgU291cmNlL2NtVHJ5Q29tcGlsZUNvbW1hbmQuaCwgU291cmNlL2NtVHJ5UnVuQ29tbWFuZC5oLAoJICBTb3VyY2UvY21WYXJpYWJsZVJlcXVpcmVzQ29tbWFuZC5oLCBTb3VyY2UvY21XaGlsZUNvbW1hbmQuaCwKCSAgU291cmNlL2NtV3JpdGVGaWxlQ29tbWFuZC5oLCBTb3VyY2UvY21YQ29kZTIxT2JqZWN0LmN4eCwKCSAgU291cmNlL2NtWENvZGVPYmplY3QuY3h4LCBTb3VyY2UvY21YQ29kZU9iamVjdC5oLAoJICBTb3VyY2UvY3Rlc3QuY3h4LCBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0U2NyaXB0SGFuZGxlci5oLAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN1Ym1pdEhhbmRsZXIuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5oLCBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYywKCSAgU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jLCBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4LAoJICBUZXN0cy9FeHRlcm5hbE9CSi9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvV3JhcHBpbmcvQ01ha2VMaXN0cy50eHQsCgkgIFV0aWxpdGllcy9SZWxlYXNlL0NNYWtlLm5zaS5pbjogRU5IOiBtZXJnZSBmaXhlcyBmcm9tIG1haW4gdHJlZSwKCSAgc2VlIENoYW5nZUxvZy5tYW51YWwKCjIwMDUtMTEtMjMgMTA6MjcgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVRhcmdldC5jeHg6IEVOSDogZXhlY3V0YWJsZSBwcmVmaXggYW5kIHBvc3QgZml4CgkgIHZhcmlhYmxlcyBzaG91bGQgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBleGVjdXRhYmxlIGV4dGVuc2lvbgoKMjAwNS0xMS0yMyAwNTozNSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTExLTIyIDE3OjAzICBraW5nCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmN4eCwgY21UYXJnZXQuY3h4OiBCVUc6IERvIG5vdCBleHBhbmQgZXNjYXBlCgkgIHNlcXVlbmNlcyB3aGVuIHJlLWV4cGFuZGluZyB2YXJpYWJsZXMgaW4gaW5jbHVkZSBkaXJlY3RvcmllcywKCSAgbGluayBkaXJlY3RvcmllcywgYW5kIGxpbmsgbGlicmFyaWVzLgoKMjAwNS0xMS0yMiAxNjo1OSAga2luZwoKCSogU291cmNlL2NtT3JkZXJMaW5rRGlyZWN0b3JpZXMuY3h4OiBCVUc6IERvIG5vdCBhY2NlcHQgYSBkaXJlY3RvcnkKCSAgbmFtZSBhcyBhIGxpYnJhcnkuCgoyMDA1LTExLTIyIDE2OjA4ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbU9yZGVyTGlua0RpcmVjdG9yaWVzLmN4eCwgY21PcmRlckxpbmtEaXJlY3Rvcmllcy5oOgoJICBCVUc6IGZpeCBmb3IgYnVnIDIzNTcsIGRvIG5vdCBhbGxvdyB0YXJnZXRzIHRvIGxpbmsgdG8KCSAgZGlyZWN0b3JpZXMKCjIwMDUtMTEtMjIgMTU6MTUgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0U2NyaXB0SGFuZGxlci5oOiBCVUc6IGZpeCBzcGVsbGluZyBlcnJvcgoKMjAwNS0xMS0yMiAxMzozNyAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvOEdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBUd2VhayBWUzggZ2VuZXJhdG9yIHRvCgkgIGtlZXAgVlM4IGhhcHB5LiAgVGhlIC52Y3Byb2ogZmlsZXMgbmVlZCB0aGVpciBvd24gR1VJRHMgaW4gYQoJICBQcm9qZWN0R1VJRCBhdHRyaWJ1dGUuICBUaGUgdG9wIGxldmVsIC5zbG4gZmlsZSBuZWVkcyBhIHNwZWNpYWwKCSAgY29tbWVudCBhdCB0aGUgdG9wIHRvIGFsbG93IGl0IHRvIGJlIG9wZW5lZCB3aXRoIGRvdWJsZS1jbGljayBpbgoJICBleHBsb3Jlci4KCjIwMDUtMTEtMjIgMTM6MzYgIGtpbmcKCgkqIENNYWtlTGlzdHMudHh0OiBDT01QOiBEZWZpbmUgX0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFIHRvIGJ1aWxkCgkgIENNYWtlIGl0c2VsZiBvbiBWUzguCVRoaXMgZGlzYWJsZXMgMTAwMHMgb2YgZGVwcmVjYXRpb24gd2FybmluZ3MKCSAgYWJvdXQgc3RhbmRhcmQgY29kZS4KCjIwMDUtMTEtMjIgMTI6MDQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZTogQlVHOiBmaXggZm9yIGJ1ZyAyNDg4CgoyMDA1LTExLTIyIDExOjQ0ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtLzogTGludXgtaWNwYy5jbWFrZSwgU3VuT1MuY21ha2U6IEVOSDogbW9yZQoJICBjb21waWxlciBmbGFncwoKMjAwNS0xMS0yMiAxMTozNSAga2luZwoKCSogU291cmNlL2NtU2V0VGFyZ2V0UHJvcGVydGllc0NvbW1hbmQuaDogU1RZTEU6IEZpeGVkIGRvY3VtZW50YXRpb24KCSAgdG8gc3RhdGUgdGFyZ2V0X0VYUE9SVFMgZGVmYXVsdCByaWdodCBhZnRlciBERUZJTkVfU1lNQk9MCgkgIGRvY3VtZW50YXRpb24gaW5zdGVhZCBvZiBtYW55IHNlbnRlbmNlcyBsYXRlciBpbiBhIHJhbmRvbSBwbGFjZS4KCjIwMDUtMTEtMjIgMTE6MzMgIGtpbmcKCgkqIE1vZHVsZXMvRmluZFF0My5jbWFrZTogQlVHOiBRVF9ERUZJTklUSU9OUyBzaG91bGQgbm90IGJlIHF1b3RlZC4KCSAgVGhpcyBhZGRyZXNzZXMgYnVnIzI0ODEuCgoyMDA1LTExLTIyIDExOjI4ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlVGVzdEphdmFDb21waWxlci5jbWFrZTogRU5IOiBzZXQgamF2YSBjb21waWxlciB3b3JrcwoKMjAwNS0xMS0yMiAwNToxOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTExLTIxIDA1OjE4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMTEtMjAgMDU6MzAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMS0xOSAwOTo0MCAgaG9mZm1hbgoKCSogU291cmNlLzogY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbVNldFRhcmdldFByb3BlcnRpZXNDb21tYW5kLmg6IEVOSDogYWRkIHNvbWUgbW9yZSBwcm9wZXJ0aWVzIGZvcgoJICB2aXN1YWwgc3R1ZGlvIHByb2plY3RzCgoyMDA1LTExLTE5IDA4OjI5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBDT01QOiBmaXggY29tcGlsZSBlcnJvcgoKMjAwNS0xMS0xOSAwODowNCAgaG9mZm1hbgoKCSogU291cmNlL2NtVHJ5UnVuQ29tbWFuZC5oOiBFTkg6IGZpeCBkb2NzCgoyMDA1LTExLTE5IDA1OjIyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMTEtMTggMTc6MDcgIGFuZHkKCgkqIFNvdXJjZS9DUGFjay86IGNtQ1BhY2tHZW5lcmF0b3JzLmN4eCwKCSAgY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4LCBjbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5oLAoJICBjbUNQYWNrVEdaR2VuZXJhdG9yLmN4eCwgY3BhY2suY3h4OiBFTkg6IFVzZSBjbU1ha2VmaWxlIGluc3RlYWQKCSAgZm9yIHRoZSBvcHRpb25zLCBtb3JlIGNsZWFudXBzIGFuZCBzdGFydCB3b3JraW5nIG9uIE5TSVMKCjIwMDUtMTEtMTggMTc6MDcgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy86IFN5c3RlbVRvb2xzLmN4eCwgU3lzdGVtVG9vbHMuaHh4LmluOiBFTkg6IEFkZAoJICBhbm90aGVyIHNpZ25hdHVyZSBmb3IgRmluZFByb2dyYW0gdGhhdCB0YWtlcyB0aGUgbGlzdCBvZiBuYW1lcwoKMjAwNS0xMS0xOCAxNzowNiAgYW5keQoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZCBOU0lTCgoyMDA1LTExLTE4IDE2OjU5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21YQ29kZU9iamVjdC5jeHg6IEVOSDogbW9yZSBjaGFycyBuZWVkIHF1b3RlcwoKMjAwNS0xMS0xOCAxNTowMyAgbWFydGluawoKCSogVXRpbGl0aWVzL1JlbGVhc2UvQ01ha2UubnNpLmluOiBCVUc6IGZpeGUgZHByb2JsZW0gd2l0aCBub3QKCSAgdW5pbnN0YWxsaW5nIHN0YXJ0IG1lbnUgZW50cmllcwoKMjAwNS0xMS0xOCAxNDoxMiAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuaDoKCSAgRU5IOiBmaXhlcyBmb3IgWGNvZGUgMi4yCgoyMDA1LTExLTE4IDEwOjQwICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHg6IEVOSDogYWRkIG5ldyBlcnJvciByZWdleAoKMjAwNS0xMS0xOCAxMDozNiAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtaWNsLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtaWZvcnQuY21ha2UsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogRml4ZWQKCSAgZmxhZy10by12Y3Byb2otYXR0cmlidXRlIGNvbnZlcnNpb24gY29kZSB0byB3b3JrIGFnYWluIChpdCB3YXMKCSAgYnJva2VuIGJ5IHRoZSBvcHRpbWl6YXRpb24gY2hhbmdlcykuCUFkZGVkIGNvbnZlcnNpb24gb2YgL25vbG9nbwoJICBmbGFnIHRvIFN1cHByZXNzU3RhcnR1cEJhbm5lciBhdHRyaWJ1dGUgYW5kIC9HeSBmbGFnIHRvCgkgIEVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nIGF0dHJpYnV0ZS4KCjIwMDUtMTEtMTcgMTY6NDkgIGtpbmcKCgkqIFRlc3RzL1dyYXBwaW5nL0NNYWtlTGlzdHMudHh0OiBDT01QOiBOZWVkIHRhcmdldC1sZXZlbCBkZXBlbmRlbmN5CgkgIGZyb20gd3JhcHBlciB0YXJnZXRzIG9uIFdyYXAgZXhlY3V0YWJsZSB0YXJnZXQuCgoyMDA1LTExLTE3IDE1OjU3ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUc6IEZpeGVkIFhNTCBlc2NhcGVzCgkgIGZvciBjdXN0b20gY29tbWFuZHMuCUFsc28gYWRkZWQgZXNjYXBpbmcgb2YgbmV3bGluZXMgZm9yIFZTCgkgIDIwMDUuCgoyMDA1LTExLTE3IDE1OjQ0ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21TeXN0ZW1Ub29scy5jeHg6IEJVRzogRG8gbm90IGRlcmVmZXJlbmNlCgkgIGFuIGVuZCBpdGVyYXRvci4KCjIwMDUtMTEtMTcgMTM6NDkgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFNvdXJjZS9jbVNvdXJjZUZpbGUuY3h4LCBUZXN0cy9FeHRlcm5hbE9CSi9DTWFrZUxpc3RzLnR4dDogQlVHOgoJICBGaXhlZCBzdXBwb3J0IGZvciBleHRlcm5hbCBvYmplY3QgZmlsZXMgYnVpbHQgYnkgY3VzdG9tIGNvbW1hbmRzLgoJICBBbHNvIGFkZGVkIGEgdGVzdCB0byBrZWVwIGl0IHdvcmtpbmcuCgoyMDA1LTExLTE3IDExOjQ0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbVZhcmlhYmxlUmVxdWlyZXNDb21tYW5kLmgsIGNtV2hpbGVDb21tYW5kLmgsCgkgIGNtV3JpdGVGaWxlQ29tbWFuZC5oOiBTVFlMRTogZml4IGRvY3MKCjIwMDUtMTEtMTcgMTE6MzcgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtVHJ5Q29tcGlsZUNvbW1hbmQuaCwgY21UcnlSdW5Db21tYW5kLmg6IFNUWUxFOiBmaXgKCSAgZG9jcwoKMjAwNS0xMS0xNyAxMToyMCAgbWFydGluawoKCSogU291cmNlL2NtU3ViZGlyQ29tbWFuZC5oOiBTVFlMRTogZml4IGRvY3MKCjIwMDUtMTEtMTcgMTE6MDQgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVNvdXJjZUdyb3VwQ29tbWFuZC5oOiBTVFlMRTogZml4IGRvY3MKCjIwMDUtMTEtMTcgMTA6NDEgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVNldFRhcmdldFByb3BlcnRpZXNDb21tYW5kLmg6IFNUWUxFOiBmaXggZG9jcwoKMjAwNS0xMS0xNyAxMDozNiAgbWFydGluawoKCSogU291cmNlL2NtU2V0U291cmNlRmlsZXNQcm9wZXJ0aWVzQ29tbWFuZC5oOiBTVFlMRTogZml4IGRvY3MKCjIwMDUtMTEtMTcgMTA6MjggIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtUVRXcmFwVUlDb21tYW5kLmgsIGNtU2V0Q29tbWFuZC5oOiBTVFlMRTogZml4IGRvY3MKCjIwMDUtMTEtMTcgMTA6MjAgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTWVzc2FnZUNvbW1hbmQuaCwgY21RVFdyYXBDUFBDb21tYW5kLmg6IFNUWUxFOiBmaXgKCSAgZG9jcwoKMjAwNS0xMS0xNyAwOTo0NCAgbWFydGluawoKCSogU291cmNlL2NtSWZDb21tYW5kLmN4eDogQlVHOiBjbGVhbiB1cCBzY29waW5nCgoyMDA1LTExLTE3IDA5OjMyICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUlmQ29tbWFuZC5jeHg6IEJVRzogZml4IGluY3JlbWVudGluZyBwYXN0IGVuZAoKMjAwNS0xMS0xNyAwOTozMSAgbWFydGluawoKCSogU291cmNlL2NtTWFya0FzQWR2YW5jZWRDb21tYW5kLmg6IFNUWUxFOiBmaXggZG9jcwoKMjAwNS0xMS0xNyAwNToyNCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTExLTE2IDE0OjQxICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWNyb0NvbW1hbmQuaDogU1RZTEU6IGZpeCBkb2NzCgoyMDA1LTExLTE2IDE0OjM2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUluc3RhbGxUYXJnZXRzQ29tbWFuZC5oLCBjbUxvYWRDYWNoZUNvbW1hbmQuaDogU1RZTEU6CgkgIGZpeCBkb2NzCgoyMDA1LTExLTE2IDE0OjI3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21JbnN0YWxsRmlsZXNDb21tYW5kLmg6IFNUWUxFOiBmaXggZG9jcwoKMjAwNS0xMS0xNiAxNDowOCAgbWFydGluawoKCSogU291cmNlLzogY21JZkNvbW1hbmQuaCwgY21JbmNsdWRlQ29tbWFuZC5oOiBTVFlMRTogZml4IGRvY3MKCjIwMDUtMTEtMTYgMTQ6MDIgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUdldFRlc3RQcm9wZXJ0eUNvbW1hbmQuaDogU1RZTEU6IGZpeCBkb2NzCgoyMDA1LTExLTE2IDEzOjEzICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgY21YQ29kZTIxT2JqZWN0LmN4eCwKCSAgY21YQ29kZU9iamVjdC5jeHgsIGNtWENvZGVPYmplY3QuaDogRU5IOiBmaXhlcyBmb3IgeGNvZGUyMSBhbmQKCSAgYnVpbGQgc3R5bGVzIGFuZCBjb21tZW50cyBpbiB0aGUgZ2VuZXJhdGVkIHByb2plY3QKCjIwMDUtMTEtMTYgMTI6MDggIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtR2V0U291cmNlRmlsZVByb3BlcnR5Q29tbWFuZC5oLAoJICBjbUdldFRhcmdldFByb3BlcnR5Q29tbWFuZC5oOiBTVFlMRTogZml4IGRvY3MKCjIwMDUtMTEtMTYgMTI6MDUgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUdldERpcmVjdG9yeVByb3BlcnR5Q29tbWFuZC5oOiBTVFlMRTogZml4IGRvY3MKCjIwMDUtMTEtMTYgMTI6MDAgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtRm9yRWFjaENvbW1hbmQuaCwgY21HZXRDTWFrZVByb3BlcnR5Q29tbWFuZC5oOiBTVFlMRToKCSAgZml4IGRvY3MKCjIwMDUtMTEtMTYgMTE6NTcgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUZMVEtXcmFwVUlDb21tYW5kLmg6IFNUWUxFOiBmaXggZG9jcwoKMjAwNS0xMS0xNiAxMTozOSAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NVTklYLmM6IFNUWUxFOiBEb2N1bWVudGVkIHJlZmVyZW5jZSB0byAibWFuCgkgIHNlbGVjdF90dXQiLgoKMjAwNS0xMS0xNiAxMTozNiAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jOiBCVUc6IERvIG5vdCBjbG9zZSBoYW5kbGUgb2J0YWluZWQKCSAgZnJvbSBHZXRNb2R1bGVIYW5kbGUgd2hpY2ggZG9lcyBub3QgaW5jcmVhc2UgdGhlIHJlZmVyZW5jZSBjb3VudAoJICBvZiB0aGUgbW9kdWxlLgoKMjAwNS0xMS0xNiAxMToyNSAgbWFydGluawoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuaDogU1RZTEU6IGZpeCBkb2NzCgoyMDA1LTExLTE2IDEwOjQwICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21FeGVjUHJvZ3JhbUNvbW1hbmQuaDogU1RZTEU6IGZpeCBkb2NzCgoyMDA1LTExLTE2IDEwOjM1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUVuYWJsZVRlc3RpbmdDb21tYW5kLmgsIGNtRW5kRm9yRWFjaENvbW1hbmQuaCwKCSAgY21FbmRJZkNvbW1hbmQuaCwgY21FbmRXaGlsZUNvbW1hbmQuaDogU1RZTEU6IGZpeCBkb2NzCgoyMDA1LTExLTE2IDEwOjMxICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUNyZWF0ZVRlc3RTb3VyY2VMaXN0LmgsIGNtRWxzZUNvbW1hbmQuaCwKCSAgY21FbmFibGVMYW5ndWFnZUNvbW1hbmQuaDogU1RZTEU6IGZpeCBkb2NzCgoyMDA1LTExLTE2IDEwOjI2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmg6IFNUWUxFOiBmaXggZG9jcwoKMjAwNS0xMS0xNiAxMDoyMiAgbWFydGluawoKCSogU291cmNlL2NtQ01ha2VNaW5pbXVtUmVxdWlyZWQuaDogU1RZTEU6IGZpeCBkb2NzCgoyMDA1LTExLTE2IDEwOjE0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUFkZExpYnJhcnlDb21tYW5kLmgsIGNtQWRkU3ViRGlyZWN0b3J5Q29tbWFuZC5oOgoJICBTVFlMRTogZml4IGRvY3MKCjIwMDUtMTEtMTYgMTA6MDggIG1hcnRpbmsKCgkqIFNvdXJjZS9jdGVzdC5jeHg6IFNUWUxFOiByZW1vdmVkIHNvbWUgZG9jcyB0aGF0IGRpZCBub3QgbWFrZQoJICBzZW5zZQoKMjAwNS0xMS0xNiAwNjozMCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTExLTE1IDEzOjMwICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Db25maWd1cmVGaWxlQ29tbWFuZC5oOiBTVFlMRTogdXBkYXRlZCBjb21tZW50cwoKMjAwNS0xMS0xNSAwNToyNyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTExLTE0IDE0OjIxICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogQ01ha2VDQ29tcGlsZXIuY21ha2UuaW4sIENNYWtlVGVzdENDb21waWxlci5jbWFrZTogQlVHOgoJICBmaXggU0laRU9GIFZPSURQIHByb2JsZW0KCjIwMDUtMTEtMTQgMTI6MjkgIGFuZHkKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUNvbmZpZ3VyZS5jbWFrZS5oLmluLAoJICBDUGFjay9jbUNQYWNrQ29uZmlndXJlLmguaW4sIENQYWNrL2NtQ1BhY2tUR1pHZW5lcmF0b3IuY3h4LAoJICBDUGFjay9jbUNQYWNrVEdaR2VuZXJhdG9yLmg6IEVOSDogTW9yZSBjcm9zcyBwbGF0Zm9ybSBzdHVmZgoKMjAwNS0xMS0xNCAwNToyNCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTExLTEzIDA1OjIwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMTEtMTIgMDU6MjggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMS0xMSAxNDozOSAgYW5keQoKCSogU291cmNlL0NQYWNrL2NtQ1BhY2tTVEdaR2VuZXJhdG9yLmN4eDogRU5IOiBDbGVhbnVwCgoyMDA1LTExLTExIDE0OjMyICBhbmR5CgoJKiBTb3VyY2UvQ1BhY2svY21DUGFja1NUR1pHZW5lcmF0b3IuY3h4OiBFTkg6IEZpeCBmb3Igc3VuCgoyMDA1LTExLTExIDE0OjI1ICBhbmR5CgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgQ1BhY2svY21DUGFja0dlbmVyYXRvcnMuY3h4LAoJICBDUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5jeHgsCgkgIENQYWNrL2NtQ1BhY2tHZW5lcmljR2VuZXJhdG9yLmgsIENQYWNrL2NtQ1BhY2tTVEdaR2VuZXJhdG9yLmN4eCwKCSAgQ1BhY2svY21DUGFja1NUR1pHZW5lcmF0b3IuaCwgQ1BhY2svY21DUGFja1RHWkdlbmVyYXRvci5jeHgsCgkgIENQYWNrL2NtQ1BhY2tUR1pHZW5lcmF0b3IuaDogRU5IOiBBZGQgc3VwcG9ydCBmb3Igc2VsZiBleHRyYWN0ZWQKCSAgdGFycwoKMjAwNS0xMS0xMSAwNTo1MSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTExLTEwIDE1OjE1ICBhbmR5CgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21Db25maWd1cmUuY21ha2UuaC5pbiwKCSAgQ1BhY2svY21DUGFja1RHWkdlbmVyYXRvci5oOiBDT01QOiBGaXggYnVpbGRpbmcgb24gQ3lnd2luCgoyMDA1LTExLTEwIDE1OjEzICBtYXJ0aW5rCgoJKiBUZXN0cy9UdXRvcmlhbC9TdGVwNS9NYXRoRnVuY3Rpb25zL0NNYWtlTGlzdHMudHh0OiBFTkg6IHNvbWUKCSAgZml4ZXMKCjIwMDUtMTEtMTAgMTU6MTAgIG1hcnRpbmsKCgkqIFRlc3RzL1R1dG9yaWFsLzogU3RlcDEvdHV0b3JpYWwuY3h4LCBTdGVwMi90dXRvcmlhbC5jeHgsCgkgIFN0ZXAzL3R1dG9yaWFsLmN4eCwgU3RlcDQvdHV0b3JpYWwuY3h4LCBTdGVwNS90dXRvcmlhbC5jeHg6IEVOSDoKCSAgc29tZSBmaXhlcwoKMjAwNS0xMS0xMCAxNDozNiAgYW5keQoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIENQYWNrL2NtQ1BhY2tHZW5lcmF0b3JzLmN4eCwKCSAgQ1BhY2svY21DUGFja0dlbmVyYXRvcnMuaCwgQ1BhY2svY21DUGFja0dlbmVyaWNHZW5lcmF0b3IuY3h4LAoJICBDUGFjay9jbUNQYWNrR2VuZXJpY0dlbmVyYXRvci5oLCBDUGFjay9jbUNQYWNrVEdaR2VuZXJhdG9yLmN4eCwKCSAgQ1BhY2svY21DUGFja1RHWkdlbmVyYXRvci5oLCBDUGFjay9jcGFjay5jeHg6IEVOSDogU3RhcnQgd29ya2luZwoJICBvbiBDUGFjawoKMjAwNS0xMS0xMCAxNDozMyAgYW5keQoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBFTkg6IE1ha2UgQ01BS0VfSU5TVEFMTF9QUkVGSVggdG8gYmUKCSAgb3B0aW9uYWwgKG9uIGJ5IGRlZmF1bHQpCgoyMDA1LTExLTEwIDE0OjMyICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEdlbmVyaWNIYW5kbGVyLmg6IEVOSDogTW9yZSB0eXBlIG1hY3JvcwoKMjAwNS0xMS0xMCAxNDozMiAgYW5keQoKCSogU291cmNlL2t3c3lzL0dsb2IuaHh4LmluOiBDT01QOiBGaXggdGhlIGJ1aWxkaW5nIHdpdGggR2xvYgoKMjAwNS0xMS0xMCAxNDozMSAgYW5keQoKCSogU291cmNlL2t3c3lzLzogQ29tbWFuZExpbmVBcmd1bWVudHMuY3h4LAoJICBDb21tYW5kTGluZUFyZ3VtZW50cy5oeHguaW46IEVOSDogQWRkIG1ldGhvZCB0byBkZWxldGUgdGhlCgkgIHJlbWFpbmluZyBhcmd1bWVudHMKCjIwMDUtMTEtMTAgMTQ6MjggIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZTogRU5IOiBhZGQgYWxsIGxpYnMKCjIwMDUtMTEtMTAgMTI6MDIgIG1hcnRpbmsKCgkqIFRlc3RzL1R1dG9yaWFsLzogU3RlcDUvQ01ha2VMaXN0cy50eHQsIFN0ZXAyL0NNYWtlTGlzdHMudHh0LAoJICBTdGVwMy9DTWFrZUxpc3RzLnR4dCwgU3RlcDQvQ01ha2VMaXN0cy50eHQsCgkgIFN0ZXA1L01hdGhGdW5jdGlvbnMvQ01ha2VMaXN0cy50eHQ6IEVOSDogc29tZSBmaXhlcwoKMjAwNS0xMS0xMCAxMTo0OCAgbWFydGluawoKCSogVGVzdHMvVHV0b3JpYWwvU3RlcDUvTWF0aEZ1bmN0aW9ucy9NYWtlVGFibGUuY3h4OiBTVFlMRTogZml4CgkgIHNwZWxsaW5nCgoyMDA1LTExLTEwIDEwOjU1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogYWRkZWQgdHV0b3JpYWwgdGVzdHMKCjIwMDUtMTEtMTAgMTA6NTUgIG1hcnRpbmsKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4OiBFTkg6IGNoYW5nZSB0aGUgcGFzcyByZWdleHAKCSAgc28gdGhhdCBpdCBvdmVycmlkZXMgdGhlIHJldHVybiB2YWx1ZQoKMjAwNS0xMS0xMCAxMDo1MSAgbWFydGluawoKCSogVGVzdHMvVHV0b3JpYWwvU3RlcDUvOiBDTWFrZUxpc3RzLnR4dCwgVHV0b3JpYWxDb25maWcuaC5pbiwKCSAgdHV0b3JpYWwuY3h4LCBNYXRoRnVuY3Rpb25zL0NNYWtlTGlzdHMudHh0LAoJICBNYXRoRnVuY3Rpb25zL01ha2VUYWJsZS5jeHgsIE1hdGhGdW5jdGlvbnMvTWF0aEZ1bmN0aW9ucy5oLAoJICBNYXRoRnVuY3Rpb25zL215c3FydC5jeHg6IEVOSDogc3RlcCA1CgoyMDA1LTExLTEwIDEwOjUwICBtYXJ0aW5rCgoJKiBUZXN0cy9UdXRvcmlhbC9TdGVwNC86IENNYWtlTGlzdHMudHh0LCBUdXRvcmlhbENvbmZpZy5oLmluLAoJICB0dXRvcmlhbC5jeHgsIE1hdGhGdW5jdGlvbnMvQ01ha2VMaXN0cy50eHQsCgkgIE1hdGhGdW5jdGlvbnMvTWF0aEZ1bmN0aW9ucy5oLCBNYXRoRnVuY3Rpb25zL215c3FydC5jeHg6IEVOSDoKCSAgc3RlcCA0CgoyMDA1LTExLTEwIDEwOjUwICBtYXJ0aW5rCgoJKiBUZXN0cy9UdXRvcmlhbC9TdGVwMy86IENNYWtlTGlzdHMudHh0LCBUdXRvcmlhbENvbmZpZy5oLmluLAoJICB0dXRvcmlhbC5jeHgsIE1hdGhGdW5jdGlvbnMvQ01ha2VMaXN0cy50eHQsCgkgIE1hdGhGdW5jdGlvbnMvTWF0aEZ1bmN0aW9ucy5oLCBNYXRoRnVuY3Rpb25zL215c3FydC5jeHg6IEVOSDoKCSAgc3RlcCAzCgoyMDA1LTExLTEwIDA0OjQ4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMTEtMDkgMTY6MjEgIG1hcnRpbmsKCgkqIFRlc3RzL1R1dG9yaWFsLzogU3RlcDEvQ01ha2VMaXN0cy50eHQsIFN0ZXAxL1R1dG9yaWFsQ29uZmlnLmguaW4sCgkgIFN0ZXAxL3R1dG9yaWFsLmN4eCwgU3RlcDIvQ01ha2VMaXN0cy50eHQsCgkgIFN0ZXAyL1R1dG9yaWFsQ29uZmlnLmguaW4sIFN0ZXAyL3R1dG9yaWFsLmN4eCwKCSAgU3RlcDIvTWF0aEZ1bmN0aW9ucy9DTWFrZUxpc3RzLnR4dCwKCSAgU3RlcDIvTWF0aEZ1bmN0aW9ucy9NYXRoRnVuY3Rpb25zLmgsCgkgIFN0ZXAyL01hdGhGdW5jdGlvbnMvbXlzcXJ0LmN4eDogRU5IOiBjaGVja2VlZCBpbiBzdGVwIDEgYW5kIDIKCjIwMDUtMTEtMDkgMTE6MTQgIGFuZHkKCgkqIFNvdXJjZS9jbVNldFRlc3RzUHJvcGVydGllc0NvbW1hbmQuaDogU1RZTEU6IE1vcmUgY29tbWVudHMKCjIwMDUtMTEtMDkgMTE6MDcgIGFuZHkKCgkqIFNvdXJjZS86IGNtU2V0VGVzdHNQcm9wZXJ0aWVzQ29tbWFuZC5oLAoJICBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4LCBrd3N5cy9DTWFrZUxpc3RzLnR4dDogRU5IOiBDaGFuZ2UKCSAgZmxhZyB0byBQQVNTX1JFR1VMQVJfRVhQUkVTU0lPTiBhbmQgRkFJTF9SRUdVTEFSX0VYUFJFU1NJT04gYW5kCgkgIGFkZCBoZWxwIGluIGNtU2V0VGVzdHNQcm9wZXJ0aWVzQ29tbWFuZAoKMjAwNS0xMS0wOSAwNzoyMiAgYW5keQoKCSogU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0OiBDT01QOiBGaXggYWxsIGRhc2hib2FyZHMKCjIwMDUtMTEtMDkgMDU6MzMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMS0wOCAxNzo1OSAgYW5keQoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIHRlc3RSZWdpc3RyeS5jeHg6IEVOSDogQWRkIHRlc3QKCSAgZm9yIG91dHB1dCByZWd1bGFyIGV4cHJlc3Npb24KCjIwMDUtMTEtMDggMTc6NTkgIGFuZHkKCgkqIFNvdXJjZS86IGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuaDogRU5IOiBBZGQgc3VwcG9ydCBmb3Igb3V0cHV0IHJlZ3VpbGFyCgkgIGV4cHJlc3Npb24KCjIwMDUtMTEtMDggMDU6MzMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMS0wNyAwNTozNCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTExLTA2IDA1OjIyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMTEtMDUgMDQ6MTggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMS0wNCAxMDo1MiAgbWFydGluawoKCSogU291cmNlL2NtQ1BsdWdpbkFQSS5oOiBET0M6IHVwZGF0ZWQgY29tbWVudCBhYm91dCB0aGUgaW5oZXJpdGVkCgkgIGl2YXIKCjIwMDUtMTEtMDQgMDk6MjggIGFuZHkKCgkqIE1vZHVsZXMvOiBDaGVja0luY2x1ZGVGaWxlLmNtYWtlLCBDaGVja0luY2x1ZGVGaWxlQ1hYLmNtYWtlOiBFTkg6CgkgIENsZWFudXAgYW5kIHVuaWZ5CgoyMDA1LTExLTAzIDA0OjI0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMTEtMDIgMTM6NTkgIG1hcnRpbmsKCgkqIE1vZHVsZXMvQ2hlY2tMaWJyYXJ5RXhpc3RzLmNtYWtlOiBET0M6IGJldHRlciBkb2N1bWVudGF0aW9uCgoyMDA1LTExLTAyIDEzOjUxICBtYXJ0aW5rCgoJKiBNb2R1bGVzLzogQ2hlY2tGdW5jdGlvbkV4aXN0cy5jbWFrZSwgQ2hlY2tJbmNsdWRlRmlsZS5jbWFrZSwKCSAgQ2hlY2tJbmNsdWRlRmlsZUNYWC5jbWFrZSwgQ2hlY2tJbmNsdWRlRmlsZXMuY21ha2UsCgkgIENoZWNrTGlicmFyeUV4aXN0cy5jbWFrZSwgQ2hlY2tTeW1ib2xFeGlzdHMuY21ha2UsCgkgIENoZWNrVmFyaWFibGVFeGlzdHMuY21ha2U6IERPQzogYmV0dGVyIGRvY3VtZW50YWl0b24KCjIwMDUtMTEtMDIgMDQ6MTQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMC0zMSAxMjowOSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTEwLTMxIDEwOjUyICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9yZWxlYXNlX2Rpc3BhdGNoLnNoOiBFTkg6IGNoYW5nZSBuYW1lcyBvZgoJICBtYWNoaW5lCgoyMDA1LTEwLTMxIDEwOjQ4ICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS86IGNtYWtlX3JlbGVhc2Uuc2g6IEVOSDogdXBkYXRlIHJldmlzaW9uCgkgIG51bWJlcnMKCjIwMDUtMTAtMzEgMTA6MDEgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWwsIFNvdXJjZS9jbUZpbGVUaW1lQ29tcGFyaXNvbi5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsIFNvdXJjZS9jbWFrZS5jeHg6IEVOSDoKCSAgbWVyZ2UgZnJvbSBtYWluIHRyZWUKCjIwMDUtMTAtMzAgMDg6MDEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMC0yOCAxNzo0NiAgaG9mZm1hbgoKCSogTW9kdWxlcy86IEZpbmRPcGVuQUwuY21ha2UsIEZpbmRQaHlzRlMuY21ha2UsIEZpbmRTREwuY21ha2UsCgkgIEZpbmRTRExfaW1hZ2UuY21ha2UsIEZpbmRTRExfbWl4ZXIuY21ha2UsIEZpbmRTRExfbmV0LmNtYWtlLAoJICBGaW5kU0RMX3NvdW5kLmNtYWtlLCBGaW5kU0RMX3R0Zi5jbWFrZTogRU5IOiBjaGFuZ2VzIGZyb20gRXJpYwoJICBXaW5nLCBidWcgMjI0OQoKMjAwNS0xMC0yOCAxMTo1MiAgaG9mZm1hbgoKCSogU291cmNlL2NtV2luMzJQcm9jZXNzRXhlY3V0aW9uLmN4eDogQlVHOiBmaXggc3RhY2sgb3ZlciB3cml0ZSBidWcKCjIwMDUtMTAtMjggMTE6NTEgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogQ01ha2UubnNpLmluLCBNYWtlUmVsZWFzZS5jbWFrZS5pbjogQlVHOiBmaXgKCSAgc3BhY2UgaW4gcGF0aCBwcm9icwoKMjAwNS0xMC0yOCAxMTozMiAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL1JlbGVhc2UvOiBDTWFrZS5uc2kuaW4sIE1ha2VSZWxlYXNlLmNtYWtlLmluOiBCVUc6IGZpeAoJICByZWxlYXNlIHdpdGggc3BhY2VzIGluIHRoZSBwYXRoCgoyMDA1LTEwLTI4IDExOjMxICBob2ZmbWFuCgoJKiBTb3VyY2UvY21XaW4zMlByb2Nlc3NFeGVjdXRpb24uY3h4OiBCVUc6IGZpeCBzdGFjayB3cml0ZSBlcnJvcgoKMjAwNS0xMC0yOCAxMTowMiAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBtYWtlIHRoZSBjbGVhbgoJICB0YXJnZXQgd29yawoKMjAwNS0xMC0yNyAxMzo1NyAga2luZwoKCSogU291cmNlLzogY21GaWxlVGltZUNvbXBhcmlzb24uY3h4LCBrd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEVOSDoKCSAgSW1wcm92ZWQgZmlsZSBtb2RpZmljYXRpb24gdGltZSBjb21wYXJpc29uIG9uIFdpbmRvd3MgdG8gdXNlCgkgIEdldEZpbGVBdHRyaWJ1dGVzRXggaW5zdGVhZCBvZiBDcmVhdGVGaWxlL0dldEZpbGVUaW1lL0Nsb3NlSGFuZGxlCgkgIHRvIGdldCBmaWxlIHRpbWVzLiAgVGhpcyByZXN1bHRzIGluIGEgMzAlIHJlZHVjdGlvbiBpbiB0aW1lIHRvIGRvCgkgIGEgYnVpbGQgc3lzdGVtIGNoZWNrLgoKMjAwNS0xMC0yNiAwOTowMyAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogRU5IOiB1cGRhdGUgcmV2aXNpb24gbnVtYmVycwoKMjAwNS0xMC0yNiAwNTozMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTEwLTI1IDA1OjMyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMTAtMjQgMTc6MDAgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWw6IFtubyBsb2cgbWVzc2FnZV0KCjIwMDUtMTAtMjQgMTU6NDMgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtZ2NjLmNtYWtlLAoJICBTb3VyY2UvY21CdWlsZE5hbWVDb21tYW5kLmgsIFNvdXJjZS9jbUZpbGVDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtRmlsZUNvbW1hbmQuaCwKCSAgU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwKCSAgU291cmNlL2NtTG9jYWxLZGV2ZWxvcEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLAoJICBTb3VyY2UvY21PdXRwdXRSZXF1aXJlZEZpbGVzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVN0cmluZ0NvbW1hbmQuY3h4LCBTb3VyY2UvY21TdHJpbmdDb21tYW5kLmgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFVwZGF0ZUhhbmRsZXIuY3h4LAoJICBUZXN0cy9TdHJpbmdGaWxlVGVzdC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU3RyaW5nRmlsZVRlc3QvU3RyaW5nRmlsZS5jeHg6IEVOSDogbW92ZSBzdHVmZiBpbnRvIHRoZQoJICBicmFuY2ggaW4gcHJlcCBmb3IgMi4yLjIKCjIwMDUtMTAtMjQgMDU6MjkgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMC0yMyAwNToyMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTEwLTIyIDA1OjUxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMTAtMjEgMTU6MjQgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEVOSDogZml4IGZvciBiYWQKCSAgcGxhY2VtZW50IG9mIFNJTEVOVCB0YXJnZXQKCjIwMDUtMTAtMjEgMTI6MDQgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogc3ltbGluayBpc3N1ZQoKMjAwNS0xMC0yMSAxMToxMCAgbWFydGluawoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBmaXggYmFkIGNoZWNraW4KCSAgdGhhdCBoYWQgZGVidWdnaW5nIGNvZGUgaW4gaXQKCjIwMDUtMTAtMjEgMDk6NDkgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy90ZXN0RmFpbC5jOiBFTkg6IHRyeSB0byBnZXQgdGhpcyB0aGluZyB0byBwYXNzIHdpdGgKCSAgY21ha2UgMi4yLjEKCjIwMDUtMTAtMjEgMDQ6NDMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMC0yMCAxNjozNyAgbWFydGluawoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBmaXggb3ZlciBjaGVja2luZwoJICBvZiBidWlsZCBzeXN0ZW0KCjIwMDUtMTAtMjAgMTY6MzcgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IFNUWUxFOiBtaW5vciBjbGVhbnVwCgoyMDA1LTEwLTIwIDE1OjAzICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBCVUc6IGZpeCBmb3IgZGVmIGZpbGVzCgkgIGFuZCBuZXcgbG9jYWwgdGFyZ2V0IGxpbmsgbGluZXMKCjIwMDUtMTAtMjAgMTQ6MjUgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEVOSDogbWlzc2luZwoJICBjaGVja19idWlsZF9zeXN0ZW0gZm9yIGFsbCB0YXJnZXQKCjIwMDUtMTAtMjAgMTM6NDAgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmg6IEVOSDogYmlnIGNsZWFudXAgYW5kIGZpeCBmb3IKCSAganVtcCBjb21tYW5kcwoKMjAwNS0xMC0yMCAxMDoxMCAgaG9mZm1hbgoKCSogU291cmNlLzogY21TdHJpbmdDb21tYW5kLmN4eCwgY21TdHJpbmdDb21tYW5kLmg6IEJVRzogZW5kIGlzIG5vdAoJICByZWFsbHkgZW5kLCBidXQgcmF0aGVyIGxlbmd0aAoKMjAwNS0xMC0yMCAwNDozNyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTEwLTE5IDEzOjIzICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBDT01QOiBmaXggY29tcGlsZXIKCSAgZXJyb3IKCjIwMDUtMTAtMTkgMTE6MDAgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBDVGVzdC9jbUNUZXN0VXBkYXRlSGFuZGxlci5jeHg6IEVOSDogTW9yZQoJICBvdXRwdXQKCjIwMDUtMTAtMTkgMTE6MDAgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4OiBCVUc6IEluaXRpYWxpemUgdG8gc29tZXRoaW5nCgkgIHJlc29uYWJsZQoKMjAwNS0xMC0xOSAxMDo0NyAgYW5keQoKCSogU291cmNlL2t3c3lzLzogR2xvYi5jeHgsIEdsb2IuaHh4LmluOiBDT01QOiBNb3JlIG5hbWVzcGFjZSBmaXhlcwoJICB0byBidWlsZCBvbiBIUAoKMjAwNS0xMC0xOSAxMDowMyAgbWFydGluawoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oOiBCVUc6IGNkIGludG8gbG9jYWwgZGlyZWN0b3J5IHRvCgkgIHJlZHVjZSBsaW5rIGxpbmUgbGVuZ3RoCgoyMDA1LTEwLTE5IDA4OjQyICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvR2xvYi5jeHg6IENPTVA6IEZpeCBuYW1lc3BhY2UuIFRoaXMgd2F5IGt3c3lzIGNhbiBiZQoJICBidWlsdCBvdXRzaWRlIGNtYWtlCgoyMDA1LTEwLTE5IDA0OjQxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMTAtMTggMTY6MzUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU91dHB1dFJlcXVpcmVkRmlsZXNDb21tYW5kLmN4eDogRU5IOiBmaXggdGVzdAoKMjAwNS0xMC0xOCAxNjoxMCAgaG9mZm1hbgoKCSogU291cmNlL2NtT3V0cHV0UmVxdWlyZWRGaWxlc0NvbW1hbmQuY3h4OiBFTkg6IGFkZCAudHh4IGZpbGVzIGFuZAoJICBwdXQgdGhlIHN0YXJ0IGRpcmVjdG9yeSBpbiB0aGUgc2VhcmNoIHBhdGgKCjIwMDUtMTAtMTggMTY6MDkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsS2RldmVsb3BHZW5lcmF0b3IuY3h4OiBFTkg6IHVudXNlZCBpbmNsdWRlCgoyMDA1LTEwLTE4IDE2OjA5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21CdWlsZE5hbWVDb21tYW5kLmg6IEVOSDogc3BlbGxpbmcKCjIwMDUtMTAtMTggMTQ6MDggIGFuZHkKCgkqIGJvb3RzdHJhcCwgU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0LCBTb3VyY2Uva3dzeXMvR2xvYi5jeHgsCgkgIFNvdXJjZS9rd3N5cy9HbG9iLmh4eC5pbjogRU5IOiBQdXNoIGdsb2IgdG8gdGhlIGt3c3lzCgoyMDA1LTEwLTE4IDEzOjI1ICBhbmR5CgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtZ2NjLmNtYWtlOiBDT01QOiBPbiBtaW5ndywgLWZQSUMgaXMgbm90CgkgIG5lY2Vzc2FyeSBhbmQgaXQgYWN0dWFsbHkgcHJvZHVjZXMgd2FybmluZ3MKCjIwMDUtMTAtMTggMTM6MjIgIGFuZHkKCgkqIFRlc3RzL01hdGhUZXN0L0NNYWtlTGlzdHMudHh0OiBFTkg6IE1vcmUgdGVzdHMKCjIwMDUtMTAtMTggMDk6NDIgIGFuZHkKCgkqIFNvdXJjZS9jbVN0cmluZ0NvbW1hbmQuY3h4OiBDT01QOiBSZW1vdmUgd2FybmluZwoKMjAwNS0xMC0xOCAwNDozNyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTEwLTE3IDIxOjM0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUZpbGVUaW1lQ29tcGFyaXNvbi5jeHgsIGNtRmlsZVRpbWVDb21wYXJpc29uLmg6IGFkZAoJICBtaXNzaW5nIGZpbGUKCjIwMDUtMTAtMTcgMTY6NTMgIGFuZHkKCgkqIFNvdXJjZS86IGNtRXhwclBhcnNlci5jeHgsIGNtRXhwclBhcnNlci55OiBFTkg6IEZpeCBwcmVjZWRlbmNlCgoyMDA1LTEwLTE3IDE2OjQyICBhbmR5CgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21Db21tYW5kcy5jeHgsIGNtRXhwckxleGVyLmN4eCwKCSAgY21FeHByTGV4ZXIuaCwgY21FeHByTGV4ZXIuaW4ubCwgY21FeHByUGFyc2VyLmN4eCwKCSAgY21FeHByUGFyc2VyLnksIGNtRXhwclBhcnNlckhlbHBlci5jeHgsIGNtRXhwclBhcnNlckhlbHBlci5oLAoJICBjbUV4cHJQYXJzZXJUb2tlbnMuaCwgY21NYXRoQ29tbWFuZC5jeHgsIGNtTWF0aENvbW1hbmQuaCwKCSAgY21TdHJpbmdDb21tYW5kLmN4eDogRU5IOiBBZGQgcnVkYW1lbnRhcnkgbWF0aGVtYXRpY2FsIGV4cHJlc3Npb24KCSAgc3VwcG9ydAoKMjAwNS0xMC0xNyAxNjozOSAgYW5keQoKCSogVGVzdHMvTWF0aFRlc3QvOiBDTWFrZUxpc3RzLnR4dCwgTWF0aFRlc3RFeGVjLmN4eCwKCSAgTWF0aFRlc3RUZXN0cy5oLmluOiBFTkg6IEFkZCBtYXRoIHRlc3QKCjIwMDUtMTAtMTcgMDk6NTggIGtpbmcKCgkqIFNvdXJjZS86IGNtRGVwZW5kc0ZvcnRyYW5MZXhlci5jeHgsIGNtRGVwZW5kc0ZvcnRyYW5MZXhlci5pbi5sOgoJICBCVUc6IExleGVyIHNob3VsZCBiZSBjYXNlIGluc2Vuc2l0aXZlIHNvIGZsZXggc2hvdWxkIGJlIHJ1biB3aXRoCgkgIC1pIG9wdGlvbi4gIFRoaXMgcGFydGlhbGx5IGFkZHJlc3NlcyBidWcjMjM2MS4KCjIwMDUtMTAtMTcgMDk6NTYgIGFuZHkKCgkqIFNvdXJjZS9jbVN0cmluZ0NvbW1hbmQuY3h4LCBTb3VyY2UvY21TdHJpbmdDb21tYW5kLmgsCgkgIFRlc3RzL1N0cmluZ0ZpbGVUZXN0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TdHJpbmdGaWxlVGVzdC9TdHJpbmdGaWxlLmN4eDogRU5IOiBBZGQgU3RyaW5nIGxlbmd0aCBhbmQKCSAgc3Vic3RyaW5nCgoyMDA1LTEwLTE3IDA5OjEwICBhbmR5CgoJKiBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUZpbGVDb21tYW5kLmgsCgkgIFNvdXJjZS9jbVN0cmluZ0NvbW1hbmQuY3h4LCBTb3VyY2UvY21TdHJpbmdDb21tYW5kLmgsCgkgIFRlc3RzL1N0cmluZ0ZpbGVUZXN0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TdHJpbmdGaWxlVGVzdC9TdHJpbmdGaWxlLmN4eDogRU5IOiBBZGQgcmVndWxhciBzdHJpbmcKCSAgcmVwbGFjZSAobm90IHJlZ2V4KSwgYW5kIHJlbGF0aXZlIHBhdGggY29tbWFuZC4gQWxzbyBhZGQgdGVzdHMKCjIwMDUtMTAtMTcgMDk6MDkgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4OiBCVUc6IElmIHRlc3QgcGFzc2VzIGJ1dCBpdAoJICBzaG91bGQgZmFpbCwgcmVwb3J0IGFuIGVycm9yCgoyMDA1LTEwLTE3IDA4OjQ5ICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cubWFudWFsLCBib290c3RyYXAsIE1vZHVsZXMvQ01ha2VDWFhJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kSk5JLmNtYWtlLCBNb2R1bGVzL0ZpbmRKYXZhLmNtYWtlLAoJICBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbURlcGVuZHMuY3h4LCBTb3VyY2UvY21EZXBlbmRzLmgsCgkgIFNvdXJjZS9jbURlcGVuZHNDLmN4eCwgU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21UYXJnZXQuaCwgU291cmNlL2NtYWtlLmN4eCwgU291cmNlL2NtYWtlLmgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0QnVpbGRIYW5kbGVyLmN4eDogRU5IOiBtZXJnZSBmaXhlcyBmcm9tIG1haW4KCSAgdHJlZQoKMjAwNS0xMC0xNyAwNDo0NSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTEwLTE2IDA0OjQyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMTAtMTUgMDQ6NDMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMC0xNCAwNToyNCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTEwLTEzIDEwOjMwICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHg6IEVOSDogTW9yZSBlcnJvciBleGNlcHRpb25zCgoyMDA1LTEwLTEzIDEwOjA3ICBhbmR5CgoJKiBTb3VyY2UvOiBjbURlcGVuZHMuY3h4LCBjbUZpbGVUaW1lQ29tcGFyaXNvbi5jeHg6IEJVRzogRml4IGxvZ2ljCgkgIHRvIHJldHVybiB0cnVlIHdoZW4gdGhlIGZpbGUgd2FzIGFscmVhZHkgc3RhdHRlZC4gQWxzbywgdXNlCgkgIG5hbm9zZWNvbmQgcGVyY2lzaW9uIGlmIGF2YWlsYWJsZS4gUmVtb3ZlIGRlYnVnCgoyMDA1LTEwLTEzIDA1OjE0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMTAtMTIgMTM6NTIgIGFuZHkKCgkqIFNvdXJjZS86IGNtRGVwZW5kcy5jeHgsIGNtRGVwZW5kcy5oLCBjbURlcGVuZHNDLmN4eCwKCSAgY21EZXBlbmRzQy5oLCBjbURlcGVuZHNGb3J0cmFuLmN4eCwgY21EZXBlbmRzRm9ydHJhbi5oLAoJICBjbURlcGVuZHNKYXZhLmN4eCwgY21EZXBlbmRzSmF2YS5oLAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEVOSDogSW1wcm92ZSBwZXJmb3JtYW5jZSBvZgoJICBjaGVjayBidWlsZCBzeXN0ZW0gYnkgY3JlYXRpbmcgYW5vdGhlciBmaWxlIHRoYXQgaXMgc2ltcGxlciB0bwoJICBwYXJzZSBhbmQgdGhlcmVmb3JlIG11Y2ggZmFzdGVyIG92ZXJhbGwKCjIwMDUtMTAtMTIgMTM6NTEgIGFuZHkKCgkqIFNvdXJjZS86IGNtYWtlLmN4eCwgY21ha2UuaDogRU5IOiBPcHRpbWl6ZSBwZXJmb3JtYW5jZSBieSBjYWNoaW5nCgkgIHN0YXQgcmVzdWx0cwoKMjAwNS0xMC0xMiAxMzo1MCAgYW5keQoKCSogU291cmNlL2NtRmlsZVRpbWVDb21wYXJpc29uLmN4eDogQ09NUDogV2luZG93cyBmaXhlcwoKMjAwNS0xMC0xMiAxMzozNiAgYW5keQoKCSogYm9vdHN0cmFwLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9jbUZpbGVUaW1lQ29tcGFyaXNvbi5jeHgsIFNvdXJjZS9jbUZpbGVUaW1lQ29tcGFyaXNvbi5oOgoJICBFTkg6IEFkZCBmaWxlIHRpbWUgY29tcGFyaXNvbiBjb2RlCgoyMDA1LTEwLTEyIDEyOjA4ICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvOiBTeXN0ZW1Ub29scy5oeHguaW4sIFN5c3RlbVRvb2xzLmN4eDogRU5IOiBBZGQgYW4KCSAgYWNjZXNzb3IgZm9yIHRoZSBtYXhpbXVtIGZpbGUgbGVuZ3RoCgoyMDA1LTEwLTEyIDA1OjE2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMTAtMTEgMDU6MTkgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMC0xMCAxMTo0OSAgbWFydGluawoKCSogU291cmNlLzogY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsIGNtTWFrZWZpbGUuY3h4LCBjbVRhcmdldC5oOgoJICBFTkg6IHNvbWUgZml4ZXMgZm9yIGJldHRlciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQoKMjAwNS0xMC0xMCAwNTowOSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTEwLTA5IDA1OjA3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMTAtMDggMDU6MDkgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMC0wNyAxMTozNiAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4OiBFTkg6IEFkZCBzdXBwb3J0IGZvcgoJICBzZXR0aW5nIHRoZSBtYXhpbXVtIG51bWJlciBvZiBlcnJvcnMgYW5kIHdhcm5pbmdzIHJlcG9ydGVkLiBUaGlzCgkgIHNob3VsZCBmaXggQnVnICMyMzE4IC0gVGhlIG1heGltdW0gbnVtYmVyIG9mIGVycm9ycyB0byByZXBvcnQgaXMKCSAgZml4ZWQgdG8gNTAKCjIwMDUtMTAtMDcgMDU6MjYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMC0wNiAxNzoxNiAgYmFycmUKCgkqIFNvdXJjZS9rd3N5cy86IENNYWtlTGlzdHMudHh0LCB0ZXN0U3lzdGVtVG9vbHMuYmluLAoJICB0ZXN0U3lzdGVtVG9vbHMuY3h4LCB0ZXN0U3lzdGVtVG9vbHMuaC5pbjogRU5IOiBDTWFrZSBraWxscyBtZQoJICAoc28gZG9lcyBDeWd3aW4pCgoyMDA1LTEwLTA2IDE1OjI4ICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cubWFudWFsLCBTb3VyY2UvY21HZXRTb3VyY2VGaWxlUHJvcGVydHlDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUdldFRhcmdldFByb3BlcnR5Q29tbWFuZC5oLAoJICBTb3VyY2UvY21HZXRUZXN0UHJvcGVydHlDb21tYW5kLmN4eCwgU291cmNlL2NtTGlzdEZpbGVMZXhlci5jLAoJICBTb3VyY2UvY21MaXN0RmlsZUxleGVyLmluLmwsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsIFNvdXJjZS9jbWFrZS5jeHgsCgkgIFNvdXJjZS9jbWFrZS5oLCBTb3VyY2UvY21ha2VtYWluLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdENvbW1hbmQuaCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHgsCgkgIFV0aWxpdGllcy9SZWxlYXNlL1JlbGVhc2UuY21ha2U6IEVOSDogbWVyZ2UgYnVnIGZpeGVzIGZyb20gbWFpbgoJICB0cnVuawoKMjAwNS0xMC0wNiAxNToxMCAgbWFydGluawoKCSogVXRpbGl0aWVzL1JlbGVhc2UvUmVsZWFzZS5jbWFrZTogRU5IOiBzb21lIGZpeGVzIGZvciBtaXNzaW5nIHZhcnMKCSAgYW5kIG1pc3NpbmcgbGlicwoKMjAwNS0xMC0wNiAwNToxOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTEwLTA1IDE2OjA2ICBiYXJyZQoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIHRlc3RTeXN0ZW1Ub29scy5jeHgsCgkgIHRlc3RTeXN0ZW1Ub29scy5oLmluOiBFTkg6IGF2b2lkIHRoZSB1c2Ugb2YgR0VUX1RBUkdFVF9QUk9QRVJUWQoJICBieSB0ZXN0aW5nIHRoZSBDTWFrZSBleGVjdXRhYmxlIGluc3RlYWQgb2YgdGhlIHRlc3QgZXhlY3V0YWJsZQoKMjAwNS0xMC0wNSAxMzoxMSAga2luZwoKCSogU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0OiBCVUc6IFJldmVydGluZyBmdW5kYW1lbnRhbCB0eXBlIGluZm8KCSAgY2hhbmdlIHVudGlsIGl0IGlzIGZpeGVkIG9uIG1vcmUgcGxhdGZvcm1zLiAgSXQgd2FzIHRlc3RlZCBvbgoJICBMaW51eCwgU0dJLCBIUCwgU3VuLCBPU1gsIFdpbmRvd3Mgd2l0aCBubWFrZSBhbmQgVlMgNiwgNywgNy4xLCA4LAoJICBCb3JsYW5kIE1ha2UsIGFuZCBjeWd3aW4gYnkgaGFuZCB3aXRoIHNwYWNlcyBpbiB0aGUgcGF0aCBhbmQKCSAgY21ha2UgMi4wIGFuZCAyLjIgYmVmb3JlIGNvbW1pdHRpbmcgYnV0IHN0aWxsIHNlZW1zIHRvIGJlIGZhaWxpbmcKCSAgb24gc29tZSBkYXNoYm9hcmRzLi4uc3RyYW5nZS4KCjIwMDUtMTAtMDUgMDU6MTcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMC0wNCAxNjo0MCAgYmFycmUKCgkqIFNvdXJjZS86IGNtQm9vdHN0cmFwQ29tbWFuZHMuY3h4LCBjbUNvbW1hbmRzLmN4eDogRU5IOiB0aGUgdGVzdAoJICBmb3Iga3dzeXMgdXNlcyBHRVRfVEFSR0VUX1BST1BFUlRZLCB3aGljaCB3YXMgbm90IGluIHRoZSBDTWFrZQoJICBib290c3RyYXAKCjIwMDUtMTAtMDQgMTU6MDkgIGJhcnJlCgoJKiBTb3VyY2Uva3dzeXMvOiBDTWFrZUxpc3RzLnR4dCwgdGVzdFN5c3RlbVRvb2xzLmN4eCwKCSAgdGVzdFN5c3RlbVRvb2xzLmguaW46IEVOSDogYWRkIGt3c3lzIHRlc3QgZm9yIERldGVjdEZpbGVUeXBlCgoyMDA1LTEwLTA0IDEwOjU4ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgQ1Rlc3QvY21DVGVzdFN1Ym1pdEhhbmRsZXIuY3h4OiBFTkg6IE1vcmUKCSAgdmVyYm9zaXR5CgoyMDA1LTEwLTA0IDA1OjAyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMTAtMDMgMTQ6NDQgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IENNYWtlTGlzdHMudHh0LCBrd3N5c1BsYXRmb3JtQ3h4VGVzdHMuY3h4OiBFTkg6CgkgIENvbnZlcnRpbmcgRnVuZGFtZW50YWxUeXBlIHRyeS1jb21waWxlcyBpbnRvIGEgc2luZ2xlIHRyeS1ydW4uCgkgIEFsbCB0aGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGV4aXN0ZW5jZSwgc2l6ZSwgYW5kIHNpZ25lZG5lc3Mgb2YKCSAgdHlwZXMgY2FuIGJlIGRldGVybWluZWQgaW4gb25lIHByb2dyYW0gdGhhbmtzIHRvIGxpbWl0cy5oLgoKMjAwNS0xMC0wMyAxNDozMyAga2luZwoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBEb3VibGUtcXVvdGVzIGluCgkgIGRlZmluaXRpb25zIG11c3QgYmUgZXNjYXBlZC4KCjIwMDUtMTAtMDMgMDU6MDMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0xMC0wMiAwNTowMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTEwLTAxIDA1OjAzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDktMjkgMDQ6NTUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wOS0yOCAwNDo1NSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA5LTI3IDA0OjU0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDktMjYgMDQ6NTUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wOS0yNCAwNDo1NyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA5LTIzIDE0OjM5ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlQ1hYSW5mb3JtYXRpb24uY21ha2U6IEVOSDogcmVtb3ZlIC1sZ2NjIHVzZWQgYnkKCSAgY3JhenkgY292ZXJhZ2Ugc3R1ZmYKCjIwMDUtMDktMjMgMTQ6MzggIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBGaW5kSk5JLmNtYWtlLCBGaW5kSmF2YS5jbWFrZTogRU5IOiBqYXZhIGZpeGVzIGZyb20KCSAgTWF0aGlldQoKMjAwNS0wOS0yMyAxMjo1MCAgbWFydGluawoKCSogU291cmNlL2NtYWtlLmN4eDogQlVHOiB0aGUgLVAgb3B0aW9uIHdhcyBub3Qgd29ya2luZyB3aXRoCgkgIHJlbGF0aXZlIHBhdGhzIGFuZCBhIGNvdXBsZSB0eXBlcwoKMjAwNS0wOS0yMyAwNDo1NCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA5LTIyIDA5OjU4ICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvUmVnaXN0cnkuY3h4OiBDT01QOiBUcnkgdG8gcmVtb3ZlIHdhcm5pbmdzCgoyMDA1LTA5LTIyIDA1OjA2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDktMjEgMTQ6MTUgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c1BsYXRmb3JtQ3h4VGVzdHMuY21ha2U6IEVOSDogVXBkYXRlZCB0byB1c2UKCSAgbW9kZXJuIEZJTEUgY29tbWFuZCBmb3Igd3JpdGluZyB0byBvdXRwdXQgbG9ncyBpbnN0ZWFkIG9mCgkgIFdSSVRFX0ZJTEUuCgoyMDA1LTA5LTIxIDEzOjQyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNfaW9zX3NzdHJlYW0uaC5pbjogQlVHOiBrd3N5c19pb3MgbmFtZXNwYWNlCgkgIHNob3VsZCBpbXBvcnQgc3RyZWFtYnVmIGFsc28uCgoyMDA1LTA5LTIxIDEzOjMxICBraW5nCgoJKiBTb3VyY2UvOiBjbUdldFNvdXJjZUZpbGVQcm9wZXJ0eUNvbW1hbmQuaCwKCSAgY21HZXRUYXJnZXRQcm9wZXJ0eUNvbW1hbmQuaCwgY21ha2UuaCwgY21ha2VtYWluLmN4eDogQlVHOgoJICBDb3JyZWN0ZWQgYW5kIHVwZGF0ZWQgZG9jdW1lbnRhdGlvbiBvZiB0aGUgLVAgb3B0aW9uLCAtQyBvcHRpb24sCgkgIEdFVF9UQVJHRVRfUFJPUEVSVFkgY29tbWFuZCwgYW5kIEdFVF9TT1VSQ0VfRklMRV9QUk9QRVJUWQoJICBjb21tYW5kLgoKMjAwNS0wOS0yMSAxMDozMiAgbWFydGluawoKCSogU291cmNlLzogY21Db21tYW5kcy5jeHgsIGNtSVRLV3JhcFRjbENvbW1hbmQuY3h4LAoJICBjbUlUS1dyYXBUY2xDb21tYW5kLmg6IEVOSDogcmVtb3ZlZCBJVEsgY29tbWFuZAoKMjAwNS0wOS0yMSAwNToxMCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA5LTIwIDE1OjA4ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eDogRU5IOiBQcm9wZXJseSByZXBvcnQgZmFpbGVkCgkgIHRlc3RzCgoyMDA1LTA5LTIwIDEyOjUwICBtYXJ0aW5rCgoJKiBUZXN0cy86IExvYWRDb21tYW5kL0NNYWtlTGlzdHMudHh0LAoJICBMb2FkQ29tbWFuZC9DTWFrZUNvbW1hbmRzL2NtVGVzdENvbW1hbmQuYywKCSAgTG9hZENvbW1hbmRPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIExvYWRDb21tYW5kT25lQ29uZmlnL0NNYWtlQ29tbWFuZHMvY21UZXN0Q29tbWFuZC5jOiBFTkg6IGluY3JlYXNlCgkgIGNvdmVyYWdlIGluIGxvYWRlZCBjb21tYW5kcwoKMjAwNS0wOS0yMCAxMDo0MiAgYW5keQoKCSogU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0OiBFTkg6IE1ha2UgbWVzc2FnZSBpbnRvIHN0YXR1cwoKMjAwNS0wOS0yMCAwNTowNSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA5LTE5IDE3OjIwICBraW5nCgoJKiBTb3VyY2UvOiBjbUxpc3RGaWxlTGV4ZXIuYywgY21MaXN0RmlsZUxleGVyLmluLmw6IEJVRzogV2hlbiBhbgoJICB1bnF1b3RlZCBhcmd1bWVudCBjb250YWlucyBhIHBhaXIgb2YgbWF0Y2hpbmcgZG91YmxlIHF1b3RlcwoJICBzcGFjZXMgYW5kIHRhYnMgc2hvdWxkIGJlIGFsbG93ZWQgaW4tYmV0d2Vlbi4gIFRoaXMgYWxsb3dzCgkgIGFyZ3VtZW50cyBsaWtlIC1ERk9PPSciYmFyIHpvdCInIHRvIHdvcmsuCgoyMDA1LTA5LTE5IDE2OjE5ICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvUmVnaXN0cnkuY3h4OiBCVUc6IFJlbW92ZSB3YXJuaW5nIGFuZCB0cnkgdG8gZml4CgkgIG1lbW9yeSBwcm9ibGVtCgoyMDA1LTA5LTE5IDE1OjE1ICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQ6IEVOSDogVGVzdCBmb3IgYm90aCBjb21tYW5kcwoKMjAwNS0wOS0xOSAxNToxMSAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHg6IEVOSDogTW9kaWZ5IG91dHB1dCBiYXNlZCBvbgoJICB3ZXRoZXIgaXQgaXMgdGVzdGVkIG9yIG1lbW9yeSBjaGVja2VkCgoyMDA1LTA5LTE5IDE1OjA4ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RDb21tYW5kLmg6IEJVRzogVGhpcyBzaG91bGQgZml4IG1lbW9yeQoJICBjaGVja2luZwoKMjAwNS0wOS0xOSAxMjozOCAgbWFydGluawoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogRU5IOiB1cGRhdGUgcmV2aXNpb24gbnVtYmVycwoKMjAwNS0wOS0xOSAxMjozMyAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlLCBNb2R1bGVzL0ZpbmRRdDQuY21ha2UuYmFrLAoJICBNb2R1bGVzL1ZUS0NvbXBhdGliaWxpdHkuY21ha2UsIFNvdXJjZS9jbUNUZXN0LmN4eDogbWlub3IgZml4ZXMKCSAgZm9yIDIuMi4xCgoyMDA1LTA5LTE5IDEyOjE5ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEVOSDogZml4IHR5cG8KCjIwMDUtMDktMTkgMTI6MTcgIGhvZmZtYW4KCgkqIE1vZHVsZXMvVlRLQ29tcGF0aWJpbGl0eS5jbWFrZTogRU5IOiByZW1vdmUgbWVzc2FnZQoKMjAwNS0wOS0xOSAwNDo0NSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA5LTE4IDE3OjE1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUkVBRE1FLnR4dDogU1RZTEU6IEFkZGVkIHJlZmVyZW5jZSB0byBkb2N1bWVudGF0aW9uCgkgIGluIENNYWtlTGlzdHMudHh0LgoKMjAwNS0wOS0xOCAxNzowOCAga2luZwoKCSogU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0OiBTVFlMRTogQWRkZWQgYmFja3dhcmQgY29tcGF0aWJpbGl0eQoJICBkaXNjbGFpbWVyLgoKMjAwNS0wOS0xOCAwODoxNyAgYW5keQoKCSogU291cmNlLzogY21HZXRUZXN0UHJvcGVydHlDb21tYW5kLmN4eCwga3dzeXMvQ01ha2VMaXN0cy50eHQ6IEJVRzoKCSAgRml4IHdoaWNoIGFyZ3VtZW50IGlzIHdoaWNoLCBhbHNvLCBmaXggdGhlIHRlc3QgdG8gYmUgbGVzcwoJICBhZ3Jlc3NpdmUKCjIwMDUtMDktMTggMDQ6MzUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wOS0xNyAxMTozMSAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0Q29tbWFuZC5jeHg6IEVOSDogRml4IG1lbWNoZWNrIGNvbW1hbmQKCjIwMDUtMDktMTcgMDk6NTMgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dDogRU5IOiBBZGQgdGVzdGluZyBvZgoJICBHRVRfVEVTVF9QUk9QRVJUWSBjb21tYW5kCgoyMDA1LTA5LTE3IDA4OjUwICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvUmVnaXN0cnkuY3h4OiBCVUc6IE9uIFdJTjMyLCBzaW5jZSB3ZSBhcmUgdXNpbmcKCSAgc3Via2V5LCBzZXQgaXQKCjIwMDUtMDktMTcgMDU6MDQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wOS0xNiAxNTozMCAgYW5keQoKCSogU291cmNlL2t3c3lzL1JlZ2lzdHJ5LmN4eDogQ09NUDogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAwNS0wOS0xNiAxMzo1NiAgYW5keQoKCSogU291cmNlL2t3c3lzLzogUmVnaXN0cnkuY3h4LCB0ZXN0UmVnaXN0cnkuY3h4OiBCVUc6IEZpeCBlbmNvZGluZwoJICBhbmQgYWRkIGRlbGV0aW5nIHRvIHRoZSB0ZXN0CgoyMDA1LTA5LTE2IDEzOjM4ICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvOiBSZWdpc3RyeS5jeHgsIFJlZ2lzdHJ5Lmh4eC5pbiwgdGVzdFJlZ2lzdHJ5LmN4eDoKCSAgRU5IOiBNb2RpZnkgQVBJIGEgbGl0dGxlIGJpdCB0byBhbGxvdyBhcmJpdHJhcnkgbGVuZ3RoIHZhbHVlcy4KCSAgRW5jb2RlIGNlcnRhaW4gY2hhcmFjdGVycy4gUmVuYW1lIFVOSVggcmVnaXN0cnkgdG8gRklMRSByZWdpc3RyeS4KCSAgTW9yZSB0ZXN0aW5nCgoyMDA1LTA5LTE2IDEyOjE3ICBtYXJ0aW5rCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoOiBFTkg6IHVwZGF0ZSByZXZpc2lvbiBudW1iZXJzCgoyMDA1LTA5LTE2IDEwOjU3ICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS86IE1ha2VSZWxlYXNlLmNtYWtlLmluLCBSRUFETUUsIFJlbGVhc2UuY21ha2U6CgkgIG1vdmUgb2ZmIGJyYW5jaAoKMjAwNS0wOS0xNiAxMDo1MyAgbWFydGluawoKCSogVXRpbGl0aWVzL1JlbGVhc2UvOiBjbWFrZV9yZWxlYXNlLnNoOiBFTkg6IHVwZGF0ZSByZXZpc2lvbgoJICBudW1iZXJzCgoyMDA1LTA5LTE2IDEwOjUzICBtYXJ0aW5rCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9NYWtlUmVsZWFzZS5jbWFrZS5pbjogRU5IOiBmaXggZm9yCgkgIENNQUtFX0NPTU1BTkQgbm90IGJlaW5nIGRlZmluZWQgd2l0aCAtUAoKMjAwNS0wOS0xNiAxMDo0NyAgbWFydGluawoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogRU5IOiBmaXggQmlsbAoKMjAwNS0wOS0xNiAxMDo0MSAgbWFydGluawoKCSogVXRpbGl0aWVzL1JlbGVhc2UvOiBNYWtlUmVsZWFzZS5jbWFrZS5pbiwgUmVsZWFzZS5jbWFrZTogRU5IOiBmaXgKCSAgdG8gc3ludGF4CgoyMDA1LTA5LTE2IDEwOjMyICBtYXJ0aW5rCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS86IFJlbGVhc2UuY21ha2UsIE1ha2VSZWxlYXNlLmNtYWtlLmluOiBFTkg6CgkgIGFkZGVkIGNvbW1pdCBmb3IgcmVsZWFzZSBzY3JpcHQKCjIwMDUtMDktMTYgMTA6MTAgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlL01ha2VSZWxlYXNlLmNtYWtlLmluOiBFTkg6IGF1dG8gcmVsZWFzZSBzdHVmZgoKMjAwNS0wOS0xNiAxMDowOSAgYW5keQoKCSogU291cmNlL2t3c3lzL1JlZ2lzdHJ5LmN4eDogQ09NUDogUmVtb3ZlIHByb2JsZW0gb24gYm9ybGFuZAoKMjAwNS0wOS0xNiAwOToyMSAgYW5keQoKCSogU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0OiBFTkg6IEVuYWJsZSByZWdpc3RyeSwgYWRkIHRlc3Qgb2YKCSAgU0VUX1RFU1RTX1BST1BFUlRJRVMsIHJlbmFtZSB0ZXN0cyBmb3IgZGFydDIKCjIwMDUtMDktMTYgMDk6MjAgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy9SZWdpc3RyeS5jeHg6IENPTVA6IFJlbW92ZSBzb21lIG1vcmUgd2FybmluZ3MKCjIwMDUtMDktMTYgMDk6MTUgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy86IFJlZ2lzdHJ5LmN4eCwgUmVnaXN0cnkuaHh4LmluOiBFTkg6IENsZWFudXBzIGFuZAoJICBleHBvc2UgdW5peCByZWdpc3RyeSBvbiB3aW5kb3dzIChmb3IgY3lnd2luIGV0YykKCjIwMDUtMDktMTYgMDk6MDggIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy86IFJlZ2lzdHJ5LmN4eCwgUmVnaXN0cnkuaHh4LmluOiBDT01QOiBXaW4zMiBmaXhlcwoKMjAwNS0wOS0xNiAwODozOCAgYW5keQoKCSogU291cmNlL2t3c3lzL1JlZ2lzdHJ5LmN4eDogRU5IOiBNb3JlIGhhbmRsaW5nIG9mIHVuaXggdmVyc3VzCgkgIHdpbmRvd3MgcmVnaXN0cnkKCjIwMDUtMDktMTYgMDg6MjAgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy86IFJlZ2lzdHJ5LmN4eCwgUmVnaXN0cnkuaHh4LmluLCB0ZXN0RmFpbC5jLAoJICB0ZXN0UmVnaXN0cnkuY3h4OiBFTkg6IEluaXRpYWwgaW1wb3J0CgoyMDA1LTA5LTE2IDA1OjE3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDktMTUgMTc6MjIgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRU5IOiBFeHBvc2UgdmVyc2lvbiBvZiBjdGVzdAoKMjAwNS0wOS0xNSAxNjozOCAgaG9mZm1hbgoKCSogQ1Rlc3RDdXN0b20uY3Rlc3QuaW4sIENoYW5nZUxvZy5tYW51YWwsIGJvb3RzdHJhcCwKCSAgRG9jcy9jbWFrZS1tb2RlLmVsLCBNb2R1bGVzL0NNYWtlQWRkTmV3TGFuZ3VhZ2UudHh0LAoJICBNb2R1bGVzL0NNYWtlVGVzdFJDQ29tcGlsZXIuY21ha2UsIE1vZHVsZXMvRmluZFF0LmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRRdC5jbWFrZS5iYWssIE1vZHVsZXMvRmluZFF0My5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kUXQ0LmNtYWtlLCBNb2R1bGVzL0ZpbmRRdDQuY21ha2UuYmFrLAoJICBNb2R1bGVzL1VzZVF0NC5jbWFrZSwgU291cmNlL0NNYWtlTGlzdHMudHh0LAoJICBTb3VyY2UvY21BZGRTdWJEaXJlY3RvcnlDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtQWRkU3ViRGlyZWN0b3J5Q29tbWFuZC5oLAoJICBTb3VyY2UvY21Db21tYW5kQXJndW1lbnRQYXJzZXJIZWxwZXIuY3h4LAoJICBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUdldERpcmVjdG9yeVByb3BlcnR5Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUdldERpcmVjdG9yeVByb3BlcnR5Q29tbWFuZC5oLAoJICBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21PcmRlckxpbmtEaXJlY3Rvcmllcy5jeHgsCgkgIFNvdXJjZS9jbVRlc3QuaCwgU291cmNlL0NUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5oLAoJICBUZXN0cy9PdXRPZlNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvT3V0T2ZTb3VyY2UvdGVzdGRwLmguaW4sCgkgIFRlc3RzL091dE9mU291cmNlL091dE9mU291cmNlU3ViZGlyL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9PdXRPZlNvdXJjZS9PdXRPZlNvdXJjZVN1YmRpci9zaW1wbGUuY3h4LAoJICBUZXN0cy9PdXRPZlNvdXJjZS9TdWJEaXIvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1dyYXBwaW5nL0NNYWtlTGlzdHMudHh0LCBVdGlsaXRpZXMvUmVsZWFzZS9DTWFrZS5uc2kuaW46CgkgIE1lcmdlIG1vcmUgY2hhbmdlcyBmcm9tIG1haW4gdHJ1bmsKCjIwMDUtMDktMTUgMTY6MDYgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eDogQ09NUDogVG9vIGZhc3QgY29tbWl0CgoyMDA1LTA5LTE1IDE2OjAzICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdENvdmVyYWdlSGFuZGxlci5jeHg6IEJVRzogTWFrZSBzdXJlIGZ1bGwKCSAgcGF0aHMgYXJlIGNvbGxhcHNlZAoKMjAwNS0wOS0xNSAxMzoyNiAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogRU5IOiBmaXggd2FybmluZwoKMjAwNS0wOS0xNSAxMjoxNyAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZUFkZE5ld0xhbmd1YWdlLnR4dCwKCSAgTW9kdWxlcy9DTWFrZVRlc3RSQ0NvbXBpbGVyLmNtYWtlLCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OgoJICBFTkg6IGNsZWFuIHVwIEVuYWJsZUxhbmd1YWdlIHRyeSB0byBmaXggcHJvYmxlbSB3aGVyZSB0cnkgY29tcGlsZQoJICBydW5zIGNtYWtlCgoyMDA1LTA5LTE1IDExOjA1ICBtYXJ0aW5rCgoJKiBDVGVzdEN1c3RvbS5jdGVzdC5pbjogRU5IOiBjbGVhbmVyIGNvZGUgY292ZXJhZ2UKCjIwMDUtMDktMTUgMDQ6NTMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wOS0xNCAxMToxNiAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOiBFTkg6IG9ubHkgYWRkIG9wdGlvbmFsIHF0IHN0dWZmIHRvCgkgIFFUX0lOQ0xVREVTCgoyMDA1LTA5LTE0IDA5OjEyICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRRdC5jbWFrZTogRU5IOiBpZiBxdDQgcW1ha2UgaXMgZm91bmQgdGhlbiBzZXQKCSAgUVRfUU1BS0VfRVhFQ1VUQUJMRSB0byB0aGF0IHZhbHVlIHNvIHRoYXQgdGhlIHNhbWUgb25lIHdpbGwgYmUKCSAgdXNlZCBpbiBGaW5kUXQ0LmNtYWtlCgoyMDA1LTA5LTE0IDA0OjUyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDktMTMgMTI6NTUgIG1hcnRpbmsKCgkqIENUZXN0Q3VzdG9tLmN0ZXN0LmluOiBFTkg6IGNvdmVyYWdlIGNsZWFudXAgZm9yIG5vbiBYQ29kZSBidWlsZHMKCjIwMDUtMDktMTMgMTA6NDAgIG1hcnRpbmsKCgkqIFRlc3RzL091dE9mU291cmNlLzogQ01ha2VMaXN0cy50eHQsIHRlc3RkcC5oLmluLAoJICBPdXRPZlNvdXJjZVN1YmRpci9DTWFrZUxpc3RzLnR4dCwgT3V0T2ZTb3VyY2VTdWJkaXIvc2ltcGxlLmN4eDoKCSAgRU5IOiB0ZXN0IGdldCBkaXJlY3RvcnkgcHJvcGVydGllcyBhYmlsaXR5IHRvIGdldCBwcm9wcyBmcm9tCgkgIHN1YmRpcnMKCjIwMDUtMDktMTMgMTA6MzkgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtR2V0RGlyZWN0b3J5UHJvcGVydHlDb21tYW5kLmN4eCwKCSAgY21HZXREaXJlY3RvcnlQcm9wZXJ0eUNvbW1hbmQuaCwgY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbEdlbmVyYXRvci5oOiBFTkg6IGFkZGVkIERJUkVDVE9SWSBvcHRpb24gdG8KCSAgR0VUX0RJUkVDVE9SWV9QUk9QRVJUSUVTCgoyMDA1LTA5LTEzIDEwOjMzICBtYXJ0aW5rCgoJKiBEb2NzL2NtYWtlLW1vZGUuZWw6IEVOSDogbWlzc2luZyBnZXRfZGlyZWN0b3J5X3Byb3BlcnR5IGNvbW1hbmQKCjIwMDUtMDktMTMgMDk6MjUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogRU5IOiBhZGQgc29tZSBjaGVja3Mgb24gdGhlIHFtYWtlIGluc3RhbGwKCjIwMDUtMDktMTMgMDg6NTIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFF0LmNtYWtlOiBFTkg6IGZpeCBpZiBzdGF0ZW1lbnQKCjIwMDUtMDktMTMgMDQ6NTIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wOS0xMiAyMjo0NiAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kUXQuY21ha2U6IEVOSDogYWRkIGRvY3MgZm9yIFFUX1JFUVVJUkVECgoyMDA1LTA5LTEyIDIyOjM5ICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogRmluZFF0LmNtYWtlLCBGaW5kUXQ0LmNtYWtlOiBFTkg6IG1vcmUgZmluZHF0IGZpeGVzCgoyMDA1LTA5LTEyIDE0OjI2ICBtYXJ0aW5rCgoJKiBUZXN0cy9PdXRPZlNvdXJjZS9TdWJEaXIvQ01ha2VMaXN0cy50eHQ6IEVOSDogY29udmVydCB0byB3b3JrCgkgIHdpdGggdGhlIG5ldyBzeW50YXggZm9yIEFERF9TVUJESVJFQ1RPUlkKCjIwMDUtMDktMTIgMTM6NDYgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQWRkU3ViRGlyZWN0b3J5Q29tbWFuZC5jeHgsCgkgIGNtQWRkU3ViRGlyZWN0b3J5Q29tbWFuZC5oOiBFTkg6IGJldHRlciBmb3JtYXQgZm9yCgkgIEFERF9TVUJESVJFQ1RPUlkgY29tbWFuZAoKMjAwNS0wOS0xMiAxMTo0MyAgaG9mZm1hbgoKCSogTW9kdWxlcy86IEZpbmRRdC5jbWFrZSwgRmluZFF0NC5jbWFrZTogRU5IOiBhZGQgbmV3IHBsYWNlIHRvCgkgIHNlYXJjaCBmb3IgcXQ0IGluIHJlZ2lzdHJ5CgoyMDA1LTA5LTEyIDExOjI1ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRRdC5jbWFrZTogRU5IOiBmaXggdHlwbwoKMjAwNS0wOS0xMiAxMDozNyAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IHVzZSB0aGUgZmluZHF0MyBmcm9tIHRoaXMgY21ha2UgYW5kCgkgIG5vdCB0aGUgb25lIGNvbmZpZ3VyZWluZyBjbWFrZQoKMjAwNS0wOS0xMiAxMDozMyAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kUXQuY21ha2U6IEVOSDogYWRkIGEgYmV0dGVyIG1lc3NhZ2UKCjIwMDUtMDktMTIgMTA6MjggIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFF0My5jbWFrZTogRU5IOiBhZGQgbW9yZSBsaWJyYXJpZXMgZm9yIHF0MwoKMjAwNS0wOS0xMiAwOTo1NSAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOiBFTkg6IHVzZSBjb3JyZWN0IHZhcmlhYmxlIGZvciBxbWFrZQoKMjAwNS0wOS0xMiAwOTo1MiAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOiBFTkg6IGFkZCBhIGJldHRlciBtZXNzYWdlCgoyMDA1LTA5LTEyIDA5OjM2ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRRdC5jbWFrZTogRU5IOiBhZGQgc29tZSBtZXNzYWdlcyBub3QgZXJyb3JzIGZvcgoJICBmaW5kcXQKCjIwMDUtMDktMTIgMDk6MzIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFF0My5jbWFrZSwgTW9kdWxlcy9GaW5kUXQ0LmNtYWtlLAoJICBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFRlc3RzL1dyYXBwaW5nL0NNYWtlTGlzdHMudHh0OiBFTkg6IG1vcmUKCSAgcXQgY2hhbmdlcwoKMjAwNS0wOS0xMiAwOTowOSAgaG9mZm1hbgoKCSogTW9kdWxlcy9Vc2VRdDQuY21ha2U6IEVOSDogYWRkIC1EIG9wdGlvbnMgZm9yIHF0IHN0dWZmCgoyMDA1LTA5LTEyIDA5OjAwICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogRmluZFF0LmNtYWtlLCBGaW5kUXQ0LmNtYWtlOiBFTkg6IG1ha2Ugc3VyZSB0aGUgY29ycmVjdAoJICBxbWFrZSBpcyB1c2VkCgoyMDA1LTA5LTEyIDA0OjM3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDktMTEgMDQ6NTAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wOS0xMCAyMjozNiAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kUXQuY21ha2U6IEVOSDogb25seSBwcmludCBlcnJvcnMgaWYgUVRfUkVRVUlSRUQgaXMKCSAgc2V0CgoyMDA1LTA5LTEwIDEwOjMzICBob2ZmbWFuCgoJKiBib290c3RyYXAsIE1vZHVsZXMvRmluZFF0LmNtYWtlLCBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHg6IEJVRzoKCSAgdHJ5IHRvIGZpeCBxdCBwcm9ibGVtcwoKMjAwNS0wOS0xMCAwNDo1NSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA5LTA5IDIxOjUxICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRRdC5jbWFrZSwgTW9kdWxlcy9GaW5kUXQzLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRRdDQuY21ha2UsIFRlc3RzL1dyYXBwaW5nL0NNYWtlTGlzdHMudHh0OiBFTkg6IGNsZWFuCgkgIHVwIHRoZSBmaW5kIHF0IHN0dWZmIHNvbWUKCjIwMDUtMDktMDkgMTc6MDQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBDaGVja1F0SW5zdGFsbGVkLmNtYWtlLCBGaW5kUXQuY21ha2U6IEVOSDogdHJ5IHRvIGZpeAoJICB0aGlzIGZpbmQgcXQgc3R1ZmYKCjIwMDUtMDktMDkgMTM6MjMgIG1hcnRpbmsKCgkqIFV0aWxpdGllcy9SZWxlYXNlL0NNYWtlLm5zaS5pbjogRU5IOiB0byBzdXBwb3J0IGJvdGggYWRtaW4gYW5kCgkgIGxvY2xhIGluc3RhbGxzCgoyMDA1LTA5LTA5IDExOjMyICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogQ2hlY2tRdEluc3RhbGxlZC5jbWFrZSwgRmluZFF0LmNtYWtlOiBFTkg6IG1ha2UgRmluZFF0CgkgIGRlZmF1bHQgdG8gcXQzIGFuZCBwcmludCBhIG1lc3NhZ2UsIGFuZCBhZGQKCSAgQ2hlY2tRdEluc3RhbGxlZC5jbWFrZQoKMjAwNS0wOS0wOSAwNTowNyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA5LTA4IDE1OjI2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Db21tYW5kQXJndW1lbnRQYXJzZXJIZWxwZXIuY3h4OiBFTkg6IHJlbW92ZSBVTVIKCjIwMDUtMDktMDggMTU6MjUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU9yZGVyTGlua0RpcmVjdG9yaWVzLmN4eDogQlVHOiBmaXggc3BlbGxpbmcgZXJyb3IKCjIwMDUtMDktMDggMTQ6NTkgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWwsIE1vZHVsZXMvQ01ha2VDSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VDWFhJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUphdmFDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUZvcnRyYW5JbmZvcm1hdGlvbi5jbWFrZSwgTW9kdWxlcy9GaW5kQ3Vyc2VzLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRKTkkuY21ha2UsIE1vZHVsZXMvRmluZEpQRUcuY21ha2UsCgkgIE1vZHVsZXMvRmluZEphdmEuY21ha2UsIE1vZHVsZXMvRmluZE1hdGxhYi5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kTW90aWYuY21ha2UsIE1vZHVsZXMvRmluZFF0NC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kUXQ0LmNtYWtlLmJhaywgTW9kdWxlcy9GaW5kWkxJQi5jbWFrZSwKCSAgTW9kdWxlcy9Vc2VRdDQuY21ha2UsIE1vZHVsZXMvVXNlU1dJRy5jbWFrZSwKCSAgTW9kdWxlcy9WVEtDb21wYXRpYmlsaXR5LmNtYWtlLCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbU9yZGVyTGlua0RpcmVjdG9yaWVzLmN4eDogbWVyZ2Ugd2l0aCBtYWluIHRydW5rCgoyMDA1LTA5LTA4IDE0OjM1ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5oOgoJICBCVUc6IGZpeCB4Y29kZSAxNSAocmVhbGx5IGJpbGwgSG9mZm1hbikKCjIwMDUtMDktMDggMTQ6MjIgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbU9yZGVyTGlua0RpcmVjdG9yaWVzLmN4eDogQlVHOiBidWcgbnVtIDE5OTQgbGlicmFyeQoJICBsaW5raW5nIHdoZW4gYSBjb25maWcgaXMgbm90IHNwZWNpZmllZCBidXQgZGVidWcgYW5kIG9wdCBsaWJzIGFyZQoKMjAwNS0wOS0wOCAxMTozOCAgaG9mZm1hbgoKCSogTW9kdWxlcy86IEZpbmRDdXJzZXMuY21ha2UsIEZpbmRKUEVHLmNtYWtlLCBGaW5kWkxJQi5jbWFrZTogRU5IOgoJICBjbGVhbiB1cCBzb21lIHN0dWZmCgoyMDA1LTA5LTA4IDExOjM4ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1VzZVNXSUcuY21ha2U6IEVOSDogYWRkIGFiaWxpdHkgdG8gc2V0IG91dGRpciBpbiBzd2lnCgoyMDA1LTA5LTA4IDEwOjAzICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogQ01ha2VEZXRlcm1pbmVKYXZhQ29tcGlsZXIuY21ha2UsIEZpbmRKTkkuY21ha2UsCgkgIEZpbmRKYXZhLmNtYWtlOiBFTkg6IGFkZCBzdXBwb3J0IGZvciBqYXZhIDEuNQoKMjAwNS0wOS0wOCAxMDowMSAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kTWF0bGFiLmNtYWtlOiBFTkg6IGFkZCBNYXRsYWIgc3VwcG9ydAoKMjAwNS0wOS0wOCAwOTo1OSAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kTW90aWYuY21ha2U6IEVOSDogYWRkIGEgZmluZCBtb3RpZgoKMjAwNS0wOS0wOCAwOTo1OCAgaG9mZm1hbgoKCSogTW9kdWxlcy86IEZpbmRRdDQuY21ha2UsIFVzZVF0NC5jbWFrZTogRU5IOiBhZGQgS2VuIE1vcmVsYW5kcwoJICBmaXhlcyBmb3IgRmluZFFUCgoyMDA1LTA5LTA4IDA1OjA1ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDktMDcgMTc6MDUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VDSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VDWFhJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUZvcnRyYW5JbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9WVEtDb21wYXRpYmlsaXR5LmNtYWtlLCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OgoJICBFTkg6IGFkZCBhIGZpeCBmb3IgVlRLIG9uIHRoZSBtYWMgYW5kIGEgd2F5IHRvIGZpeCBzb21lIHByb2plY3RzCgkgIHdpdGggYSBzaW5nbGUgZmlsZSBpbiB0aGUgY21ha2UgbW9kdWxlcyBkaXJlY3RvcnkKCjIwMDUtMDktMDcgMDU6MDAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wOS0wNiAyMzozMSAgYW5keQoKCSogU291cmNlLzogY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtVGVzdC5oLAoJICBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4LCBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuaDogRU5IOgoJICBBZGQgYSB3YXkgZm9yIHRlc3QgdG8gaW50ZW50aW9uYWxseSBmYWlsCgoyMDA1LTA5LTA2IDEyOjU1ICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cubWFudWFsLCBib290c3RyYXAsIE1vZHVsZXMvQ01ha2VHZW5lcmljU3lzdGVtLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL0FJWC5jbWFrZSwgU291cmNlL0NNYWtlTGlzdHMudHh0LAoJICBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsWENvZGUyMUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFhDb2RlMjFHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5oLCBTb3VyY2UvY21UcnlSdW5Db21tYW5kLmN4eCwKCSAgU291cmNlL2NtWENvZGUyMU9iamVjdC5jeHgsIFNvdXJjZS9jbVhDb2RlMjFPYmplY3QuaCwKCSAgU291cmNlL2NtWENvZGVPYmplY3QuY3h4LCBTb3VyY2UvY21YQ29kZU9iamVjdC5oLAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eCwKCSAgU291cmNlL2t3c3lzL1NoYXJlZEZvcndhcmQuaC5pbiwKCSAgVGVzdHMvTG9hZENvbW1hbmQvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0xvYWRDb21tYW5kT25lQ29uZmlnL0NNYWtlTGlzdHMudHh0OiBNZXJnZSB3aXRoIG1haW4gdHJlZQoKMjAwNS0wOS0wNiAwNTowNCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA5LTA1IDA5OjE3ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgY21YQ29kZU9iamVjdC5oOiBFTkg6IGZpeAoJICB3YXJuaW5ncwoKMjAwNS0wOS0wNSAwNDo1OCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA5LTA0IDA0OjQ2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDktMDMgMjI6MTYgIGhvZmZtYW4KCgkqIGJvb3RzdHJhcDogRU5IOiBmaXggYm9vdHN0cmFwLCBtYXliZSB0aGlzIHNob3VsZCBzb21laG93IGdyZXAgYXdrCgkgIHRoZSBzb3VyY2VzIGZyb20gdGhlIGNtYWtlbGlzdCBmaWxlLi4uLgoKMjAwNS0wOS0wMyAwNDo1NSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA5LTAyIDE2OjI5ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21HbG9iYWxYQ29kZTIxR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxYQ29kZTIxR2VuZXJhdG9yLmgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmgsIGNtWENvZGUyMU9iamVjdC5jeHgsIGNtWENvZGUyMU9iamVjdC5oLAoJICBjbVhDb2RlT2JqZWN0LmN4eCwgY21YQ29kZU9iamVjdC5oOiBFTkg6IGFkZCByZWFsIHN1cHBvcnQgZm9yCgkgIFhjb2RlMjEKCjIwMDUtMDktMDIgMDg6NDEgIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogQlVHOiBub3QgYWxsIE1hY3MgYXJlIGNhc2UgaW5zZW5zaXRpdmUgaWYKCSAgdGhleSBtb3VudCBuZnMgZGlyZWN0b3JpZXMKCjIwMDUtMDktMDIgMDU6MDUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wOS0wMSAxNzoxNCAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEVOSDogZml4IE5PTkUKCjIwMDUtMDktMDEgMDU6MDEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wOC0zMSAxOTo0MSAga2luZwoKCSogU291cmNlL2t3c3lzL1NoYXJlZEZvcndhcmQuaC5pbjogRU5IOiBBZGRlZCBjeWdjaGVjayBrbm93bGVkZ2UKCSAgZm9yIC0tbGRkIG9wdGlvbiBvbiBDeWd3aW4uICBBZGRlZCBlcnJvciBtZXNzYWdlIGZvciAtLWxkZCBvcHRpb24KCSAgd2hlbiBubyB0b29sIGlzIGF2YWlsYWJsZSBidXQgdGhlIG9wdGlvbiB3YXMgc3RpbGwgcmVxdWVzdGVkLgoKMjAwNS0wOC0zMSAwNTowOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA4LTMwIDEzOjU4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbVRyeVJ1bkNvbW1hbmQuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eCwKCSAgVGVzdHMvTG9hZENvbW1hbmQvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0xvYWRDb21tYW5kT25lQ29uZmlnL0NNYWtlTGlzdHMudHh0OiBFTkg6IHVzZSBuYXRpdmUKCSAgRGVwbG95bWVudCBhbmQgRGV2ZWxvcG1lbnQgZGlyZWN0b3JpZXMKCjIwMDUtMDgtMzAgMDQ6NTkgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wOC0yOSAxNzowOSAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9BSVguY21ha2U6IEVOSDogYWRkIGZsYWdzIGZvciBkZWJ1ZyByZWxlYXNlIGZvcgoJICBhaXgKCjIwMDUtMDgtMjkgMTY6MTkgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLAoJICBNb2R1bGVzL0NNYWtlVGVzdENDb21waWxlci5jbWFrZSwgTW9kdWxlcy9GaW5kSmF2YS5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kUXQzLmNtYWtlLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9jbURlcGVuZHNDLmN4eCwgU291cmNlL2NtRGVwZW5kc0MuaCwKCSAgU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21TZXRUYXJnZXRQcm9wZXJ0aWVzQ29tbWFuZC5oLCBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHgsCgkgIFNvdXJjZS9jbVRhcmdldC5jeHgsIFNvdXJjZS9jbVRhcmdldC5oLCBTb3VyY2UvY21WZXJzaW9uLmN4eCwKCSAgU291cmNlL2NtYWtlLmN4eCwgU291cmNlL0NUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdEdlbmVyaWNIYW5kbGVyLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuaCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RVcGRhdGVDb21tYW5kLmN4eCwKCSAgU291cmNlL2t3c3lzL1NoYXJlZEZvcndhcmQuaC5pbiwgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eCwKCSAgVGVtcGxhdGVzL0VYRUhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVzdHMvQ3VzdG9tQ29tbWFuZC9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvQ3VzdG9tQ29tbWFuZC9mb28uaC5pbiwKCSAgVGVzdHMvQ3VzdG9tQ29tbWFuZC9mb28uaW4sIFRlc3RzL1NpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dDogRU5IOiBtZXJnZSB3aXRoIGN2cyBhZ2FpbgoJICBhbmQgY2hhbmdlIHZlcnNpb24KCjIwMDUtMDgtMjkgMTU6NDkgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VHZW5lcmljU3lzdGVtLmNtYWtlOiBFTkg6IFBpY2tpbmcgYmV0dGVyIGRlZmF1bHQgZm9yCgkgIENNQUtFX0lOU1RBTExfUFJFRklYIG9uIFdpbmRvd3MgYnkgdXNpbmcgUHJvZ3JhbUZpbGVzIGVudmlyb25tZW50CgkgIHZhcmlhYmxlLiAgTm93IHRoYXQgaW5zdGFsbCBhY3R1YWxseSB3b3JrcyBvbiBXaW5kb3dzIEknbSBtYWtpbmcKCSAgdGhpcyBlbnRyeSBub24tYWR2YW5jZWQgYWxzby4KCjIwMDUtMDgtMjkgMDQ6NTcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wOC0yOCAwNDo1NyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA4LTI3IDA1OjA0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDgtMjYgMTc6MDIgIGFuZHkKCgkqIE1vZHVsZXMvRmluZEphdmEuY21ha2U6IEVOSDogTW9yZSBwYXRocyBmb3IgamF2YQoKMjAwNS0wOC0yNiAxNjoyMCAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RHZW5lcmljSGFuZGxlci5jeHg6IENPTVA6IFNpbXBsaWZ5IGxvZ2ljIGFuZAoJICByZW1vdmUgc3VuIGNvbXBpbGUgZXJyb3IKCjIwMDUtMDgtMjYgMDU6MDAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wOC0yNSAwNTowMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA4LTI0IDExOjE4ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEdlbmVyaWNIYW5kbGVyLmN4eDogQlVHOiBQcmV2ZW50IGZyb20KCSAgY3JlYXRpbmcgYm9ndXMgZmlsZXMKCjIwMDUtMDgtMjQgMDQ6NTQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wOC0yMyAxMzoyNSAga2luZwoKCSogTW9kdWxlcy9GaW5kUXQzLmNtYWtlOiBFTkg6IEFkZGVkIHN1cHBvcnQgZm9yIGZpbmRpbmcgcXQtbXRlZHUsCgkgIHRoZSBlZHVjYXRpb25hbCB2ZXJzaW9uIG9mIFF0LgoKMjAwNS0wOC0yMyAxMDoyNCAgaG9mZm1hbgoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4OiBtYWtlIHN1cmUgY29ycmVjdCBwYXRoIHR5cGUgaXMgdXNlZAoKMjAwNS0wOC0yMyAwNDo0OCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA4LTIyIDA0OjUyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDgtMjEgMDQ6NTYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wOC0yMCAwNTowMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA4LTE5IDE3OjU3ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBUZW1wbGF0ZXMvRVhFSGVhZGVyLmRzcHRlbXBsYXRlOiBCVUc6IEZpeGVkIE9VVFBVVF9OQU1FIGZlYXR1cmUKCSAgZm9yIFZTNiBnZW5lcmF0b3IuICBJdCB3YXMgbm90IHdvcmtpbmcgZm9yIERlYnVnIGJ1aWxkcyBhbmQgd2FzCgkgIG5vdCBwYXlpbmcgYXR0ZW50aW9uIHRvIHRoZSBleGVjdXRhYmxlIG91dHB1dCBwYXRoLgoKMjAwNS0wOC0xOSAxNzo1NiAga2luZwoKCSogVGVzdHMvOiBTaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBTaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEJVRzogSW5zdGFsbCBydWxlIHNob3VsZCB0YWtlCgkgIGJ1aWxkIGNvbmZpZ3VyYXRpb24gaW50byBhY2NvdW50LgoKMjAwNS0wOC0xOSAxNzoxNyAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBFTkg6IGFkZCBzdXBwb3J0IGZvcgoJICBPVVRQVVRfTkFNRQoKMjAwNS0wOC0xOSAxMDoxMyAgYW5keQoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBJZiB0aGUgc2Nhbm5lciBpcwoJICBub3QgZGVmaW5lZCB0aGlzIHdvdWxkIGNyYXNoLiBGb3IgZXhhbXBsZSB3aGVuIHVzaW5nIG5ldyBsYW5ndWFnZQoKMjAwNS0wOC0xOSAwOTozOCAga2luZwoKCSogU291cmNlL2NtYWtlLmN4eDogRU5IOiBBZGRlZCBjbWFrZSAtRSBjcmVhdGVfc3ltbGluayBjb21tYW5kIHRoYXQKCSAgYmVoYXZlcyBsaWtlIGxuIC1zLgoKMjAwNS0wOC0xOSAwOToyOSAga2luZwoKCSogTW9kdWxlcy9DTWFrZVRlc3RDQ29tcGlsZXIuY21ha2U6IEJVRzogTmVlZCB0byB0ZXN0IHZvaWQqIG5vdAoJICAidm9pZCAqIiBiZWNhdXNlIHRoZSBJbnRlbCBjb21waWxlciBpY2MgZXhwYW5kcyB0aGUgYXN0ZXJpc2suCgkgIFRoYW5rcyB0byBGaWxpcGUgU291c2EgZm9yIHRoZSBwYXRjaC4KCjIwMDUtMDgtMTkgMDk6MjIgIGtpbmcKCgkqIFRlc3RzLzogU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OiBCVUc6IFJlbW92aW5nIGV4ZSBWRVJTSU9OCgkgIGF0dHJpYnV0ZSB0ZXN0IHVudGlsIGl0IGlzIGltcGxlbWVudGVkIGluIHRoZSBYQ29kZSBnZW5lcmF0b3IuCgoyMDA1LTA4LTE5IDA0OjUyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDgtMTggMTY6MTcgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuaDogQ09NUDogQWRkIFNURCBuYW1lc3BhY2UKCjIwMDUtMDgtMTggMTY6MDYgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TaGFyZWRGb3J3YXJkLmguaW46IEJVRzogRml4ZWQgZGlybmFtZSBpbiBhIGZldwoJICBjYXNlcyBvbiB3aW5kb3dzLiAgTm93IHVzaW5nIEtXU1lTX1NIQVJFRF9GT1JXQVJEX0NPTkZJR19OQU1FCgkgIHNldHRpbmcgaW5zdGVhZCBvZiBDTUFLRV9JTlRESVIgZGlyZWN0bHkgdG8gZ2l2ZSBjaG9pY2UgdG8gdXNlcgoJICBjb2RlLiAgVXBkYXRlZCBkb2N1bWVudGF0aW9uIHRvIGluY2x1ZGUKCSAgQEtXU1lTX05BTUVTUEFDRUBfU0hBUkVEX0ZPUldBUkRfQ09ORklHX05BTUUsCgkgIEBLV1NZU19OQU1FU1BBQ0VAX1NIQVJFRF9GT1JXQVJEX09QVElPTl9QUklOVCwgYW5kCgkgIEBLV1NZU19OQU1FU1BBQ0VAX1NIQVJFRF9GT1JXQVJEX09QVElPTl9MREQgc2V0dGluZ3MuCgoyMDA1LTA4LTE4IDEzOjUwICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0VGVzdEhhbmRsZXIuY3h4LCBjbUNUZXN0VGVzdEhhbmRsZXIuaDogRU5IOgoJICBJbXByb3ZlIGxvZyBmaWxlIHN0cmF0ZWd5CgoyMDA1LTA4LTE4IDEwOjAyICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFVwZGF0ZUNvbW1hbmQuY3h4OiBFTkg6IFNldCB1cGRhdGUgb3B0aW9ucwoKMjAwNS0wOC0xOCAwOToyMyAga2luZwoKCSogU291cmNlL2t3c3lzL1NoYXJlZEZvcndhcmQuaC5pbjogRU5IOiBBZGRlZCBzdXBwb3J0IGZvciBXaW5kb3dzLgoKMjAwNS0wOC0xOCAwOToyMSAga2luZwoKCSogVGVzdHMvQ3VzdG9tQ29tbWFuZC9mb28uaC5pbjogQ09NUDogQXZvaWQgQysrIGNvbW1lbnQgaW4gQwoJICB0cmFuc2xhdGlvbiB1bml0LgoKMjAwNS0wOC0xOCAwOToxOSAga2luZwoKCSogU291cmNlL2NtRGVwZW5kc0MuY3h4OiBDT01QOiBXb3JrLWFyb3VuZCBpdGVyYXRvci9jb25zdF9pdGVyYXRvcgoJICBjb21wYXJpc29uIHByb2JsZW0gb24gQm9ybGFuZCA1LjUuCgoyMDA1LTA4LTE4IDA1OjQxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDgtMTcgMTc6NTYgIGtpbmcKCgkqIFRlc3RzL0N1c3RvbUNvbW1hbmQvQ01ha2VMaXN0cy50eHQ6IEJVRzogSXQgc2VlbXMgdGhlCgkgIGF1dG8tb2JqZWN0LWRlcGVuZHMgZmVhdHVyZSBkb2VzIG5vdCB3b3JrIGluIFZpc3VhbCBTdHVkaW8uICBJJ20KCSAgcmVzdG9yaW5nIHRoZSBleHBsaWNpdCBPQkpFQ1RfREVQRU5EUyBsaW5lcy4KCjIwMDUtMDgtMTcgMTc6MzkgIGtpbmcKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQlVHOiBSdW5TaW5nbGVDb21tYW5kIHNob3VsZCB0cmFuc2xhdGUKCSAgTlVMTCBjaGFyYWN0ZXJzIGluIHRoZSBvdXRwdXQgdG8gdmFsaWQgdGV4dC4JVGhpcyBzaG91bGQgZml4IHRoZQoJICBtaXNzaW5nLW91dHB1dCBwcm9ibGVtIGNhdXNlZCBieSBOVUxMLWNoYXJhY3RlcnMgaW4gVlMgYnVpbGQKCSAgb3V0cHV0LgoKMjAwNS0wOC0xNyAxNzowNCAga2luZwoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQlVHOiBBdXRvbWF0aWMgcHdkL2N3ZCBwYXRoCgkgIHRyYW5zbGF0aW9uIG11c3QgY2hlY2sgdGhhdCB0aGUgZ2VuZXJhdGVkIGxvZ2ljYWwtdG8tcGh5c2ljYWwKCSAgbWFwcGluZyBpcyBjb3JyZWN0IGJ5IHVzaW5nIHJlYWxwYXRoLgoKMjAwNS0wOC0xNyAxNjoxOSAga2luZwoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9TaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEVOSDogVXBkYXRlZCBTaW1wbGVJbnN0YWxsCgkgIHRlc3QgdG8gdGVzdCBuZXcgdmVyc2lvbmVkIGV4ZWN1dGFibGUgYW5kIE9VVFBVVF9OQU1FIHN1cHBvcnQuCgoyMDA1LTA4LTE3IDE2OjExICBraW5nCgoJKiBTb3VyY2UvOiBjbUZpbGVDb21tYW5kLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21TZXRUYXJnZXRQcm9wZXJ0aWVzQ29tbWFuZC5oLCBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0Lmg6IEVOSDoKCSAgQWRkZWQgdmVyc2lvbmVkIGV4ZWN1dGFibGUgc3VwcG9ydC4gIFRoaXMgcGFydGlhbGx5IGFkZHJlc3NlcwoJICBidWcjMjE0My4gIEFsc28gbWFkZSBPVVRQVVRfTkFNRSB3b3JrIHdoZW4gaW5zdGFsbGluZwoJICBleGVjdXRhYmxlcy4KCjIwMDUtMDgtMTcgMTY6MDYgIGtpbmcKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEVOSDogQWRkZWQgLUUgY21ha2Vfc3ltbGlua19leGVjdXRhYmxlIGNvbW1hbmQKCSAgdG8gaGVscCBjcmVhdGUgc3ltYm9saWMgbGlua3MgZm9yIHZlcnNpb25lZCBleGVjdXRhYmxlcy4KCjIwMDUtMDgtMTcgMTY6MDUgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogRG8gbm90IG1ha2UgYSBmaWxlCgkgIGRlcGVuZCBvbiBhIHZpcnR1YWwgdGFyZ2V0LiAgVGhhdCBjYXVzZXMgZXZlcnl0aGluZyB0byBhbHdheXMKCSAgcmVidWlsZC4KCjIwMDUtMDgtMTcgMTQ6MTYgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0QnVpbGRIYW5kbGVyLmN4eDogRU5IOiBNb3JlIGVycm9yIHJlZ2V4CgoyMDA1LTA4LTE3IDEzOjIzICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBDT01QOiBDYW5ub3QgdXNlCgkgIGZpcnN0L2xhc3QgaW5zZXJ0aW9uIGNvbnN0cnVjdG9yIG9mIHN0ZDo6c2V0IGJlY2F1c2UgaXQgaXMgbm90CgkgIGF2YWlsYWJsZSBvbiBhbGwgcGxhdGZvcm1zLgoKMjAwNS0wOC0xNyAxMTo0OCAga2luZwoKCSogVGVzdHMvQ3VzdG9tQ29tbWFuZC86IENNYWtlTGlzdHMudHh0LCBmb28uaW4sIGZvby5oLmluOiBFTkg6CgkgIEFkZGluZyB0ZXN0IGZvciBhdXRvLW9iamVjdC1kZXBlbmRzIGZlYXR1cmUuCUl0IGhhcyBiZWVuIHRlc3RlZAoJICB3aXRoIHRoZSBNYWtlZmlsZSBnZW5lcmF0b3IuCUhvcGVmdWxseSB0aGlzIHdpbGwgd29yayBmb3IgdGhlCgkgIFZpc3VhbCBTdHVkaW8gYW5kIFhDb2RlIGdlbmVyYXRvcnMuCgoyMDA1LTA4LTE3IDExOjQzICBraW5nCgoJKiBTb3VyY2UvOiBjbURlcGVuZHNDLmN4eCwgY21EZXBlbmRzQy5oLAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEVOSDogQWRkaW5nIHN1cHBvcnQgZm9yCgkgIGF1dG9tYXRpY2FsbHkgYWRkaW5nIHRoZSBPQkpFQ1RfREVQRU5EUyBmb3IgZ2VuZXJhdGVkIGhlYWRlcgoJICBmaWxlcy4KCjIwMDUtMDgtMTcgMDU6NDQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wOC0xNiAwODozMiAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL1JlbGVhc2UvOiBjbWFrZV9yZWxlYXNlLnNoOiBFTkg6IGZpbGUgaXMgbm93IGNvbmZpZ3VyZWQKCjIwMDUtMDgtMTYgMDU6NDYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wOC0xNSAwNTo0MCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA4LTE0IDA1OjQ1ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDgtMTMgMDU6NTAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wOC0xMiAxMTo1NyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA4LTExIDE0OjAyICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cubWFudWFsLCBNb2R1bGVzL0NNYWtlQ0NvbXBpbGVyLmNtYWtlLmluLAoJICBNb2R1bGVzL0NNYWtlQ0luZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlQ1hYQ29tcGlsZXIuY21ha2UuaW4sCgkgIE1vZHVsZXMvQ01ha2VDWFhJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lRm9ydHJhbkNvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lSmF2YUNvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lUkNDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZVN5c3RlbS5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUZvcnRyYW5Db21waWxlci5jbWFrZS5pbiwKCSAgTW9kdWxlcy9DTWFrZUZvcnRyYW5JbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUdlbmVyaWNTeXN0ZW0uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VKYXZhQ29tcGlsZXIuY21ha2UuaW4sCgkgIE1vZHVsZXMvQ01ha2VSQ0NvbXBpbGVyLmNtYWtlLmluLAoJICBNb2R1bGVzL0NNYWtlUkNJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVRlc3RDQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VUZXN0Q1hYQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VUZXN0Rm9ydHJhbkNvbXBpbGVyLmNtYWtlLCBNb2R1bGVzL0NUZXN0LmNtYWtlLAoJICBNb2R1bGVzL0NUZXN0VGFyZ2V0cy5jbWFrZSwgTW9kdWxlcy9DaGVja0NTb3VyY2VDb21waWxlcy5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja0NYWFNvdXJjZUNvbXBpbGVzLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrRnVuY3Rpb25FeGlzdHMuY21ha2UsCgkgIE1vZHVsZXMvQ2hlY2tJbmNsdWRlRmlsZS5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja0luY2x1ZGVGaWxlQ1hYLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrSW5jbHVkZUZpbGVzLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrTGlicmFyeUV4aXN0cy5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja1N5bWJvbEV4aXN0cy5jbWFrZSwgTW9kdWxlcy9DaGVja1R5cGVTaXplLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrVmFyaWFibGVFeGlzdHMuY21ha2UsIE1vZHVsZXMvRGFydC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kRG94eWdlbi5jbWFrZSwgTW9kdWxlcy9GaW5kR0xVVC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kSk5JLmNtYWtlLCBNb2R1bGVzL0ZpbmRPcGVuQUwuY21ha2UsCgkgIE1vZHVsZXMvRmluZFBoeXNGUy5jbWFrZSwgTW9kdWxlcy9GaW5kUHl0aG9uSW50ZXJwLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRRdC5jbWFrZSwgTW9kdWxlcy9GaW5kUXQuY21ha2UuYmFrLAoJICBNb2R1bGVzL0ZpbmRRdDMuY21ha2UsIE1vZHVsZXMvRmluZFF0NC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kUXQ0LmNtYWtlLmJhaywgTW9kdWxlcy9GaW5kU0RMLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRTREwuY21ha2UuYmFrLCBNb2R1bGVzL0ZpbmRTRExfaW1hZ2UuY21ha2UsCgkgIE1vZHVsZXMvRmluZFNETF9pbWFnZS5jbWFrZS5iYWssIE1vZHVsZXMvRmluZFNETF9taXhlci5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kU0RMX21peGVyLmNtYWtlLmJhaywgTW9kdWxlcy9GaW5kU0RMX25ldC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kU0RMX25ldC5jbWFrZS5iYWssIE1vZHVsZXMvRmluZFNETF9zb3VuZC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kU0RMX3R0Zi5jbWFrZSwgTW9kdWxlcy9GaW5kU0RMX3R0Zi5jbWFrZS5iYWssCgkgIE1vZHVsZXMvRmluZFRocmVhZHMuY21ha2UsIE1vZHVsZXMvVGVzdEJpZ0VuZGlhbi5jbWFrZSwKCSAgTW9kdWxlcy9UZXN0Q1hYQWNjZXB0c0ZsYWcuY21ha2UsCgkgIE1vZHVsZXMvVGVzdEZvckFOU0lGb3JTY29wZS5jbWFrZSwKCSAgTW9kdWxlcy9UZXN0Rm9yU1RETmFtZXNwYWNlLmNtYWtlLCBNb2R1bGVzL1VzZV93eFdpbmRvd3MuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vQ1lHV0lOLWc3Ny5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9JUklYNjQuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9nNzcuY21ha2UsCgkgIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgU291cmNlL2NtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21BZGREZXBlbmRlbmNpZXNDb21tYW5kLmgsIFNvdXJjZS9jbUFkZFRlc3RDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUNUZXN0LmN4eCwgU291cmNlL2NtQ1Rlc3QuaCwgU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmN4eCwKCSAgU291cmNlL2NtQ29tbWFuZHMuY3h4LCBTb3VyY2UvY21DdXN0b21Db21tYW5kLmN4eCwKCSAgU291cmNlL2NtQ3VzdG9tQ29tbWFuZC5oLCBTb3VyY2UvY21EZXBlbmRzLmN4eCwKCSAgU291cmNlL2NtRGVwZW5kcy5oLCBTb3VyY2UvY21EZXBlbmRzQy5jeHgsIFNvdXJjZS9jbURlcGVuZHNDLmgsCgkgIFNvdXJjZS9jbURlcGVuZHNGb3J0cmFuLmN4eCwgU291cmNlL2NtRGVwZW5kc0ZvcnRyYW4uaCwKCSAgU291cmNlL2NtRGVwZW5kc0phdmEuY3h4LCBTb3VyY2UvY21EZXBlbmRzSmF2YS5oLAoJICBTb3VyY2UvY21Eb2N1bWVudGF0aW9uLmN4eCwgU291cmNlL2NtRHluYW1pY0xvYWRlci5jeHgsCgkgIFNvdXJjZS9jbUZMVEtXcmFwVUlDb21tYW5kLmN4eCwgU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21HZXRUZXN0UHJvcGVydHlDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtR2V0VGVzdFByb3BlcnR5Q29tbWFuZC5oLCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsWENvZGUyMUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFhDb2RlMjFHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5oLCBTb3VyY2UvY21MaXN0RmlsZUxleGVyLmMsCgkgIFNvdXJjZS9jbUxpc3RGaWxlTGV4ZXIuaW4ubCwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmgsIFNvdXJjZS9jbU9yZGVyTGlua0RpcmVjdG9yaWVzLmN4eCwKCSAgU291cmNlL2NtT3JkZXJMaW5rRGlyZWN0b3JpZXMuaCwgU291cmNlL2NtUVRXcmFwQ1BQQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVNldFRlc3RzUHJvcGVydGllc0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21TZXRUZXN0c1Byb3BlcnRpZXNDb21tYW5kLmgsIFNvdXJjZS9jbVNvdXJjZUdyb3VwLmN4eCwKCSAgU291cmNlL2NtU291cmNlR3JvdXAuaCwgU291cmNlL2NtU291cmNlR3JvdXBDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtVGFyZ2V0LmN4eCwgU291cmNlL2NtVGVzdC5jeHgsIFNvdXJjZS9jbVRlc3QuaCwKCSAgU291cmNlL2NtVHJ5Q29tcGlsZUNvbW1hbmQuaCwgU291cmNlL2NtVXRpbGl0eVNvdXJjZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21ha2UuY3h4LCBTb3VyY2UvY21ha2UuaCwgU291cmNlL2N0ZXN0LmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdENvdmVyYWdlSGFuZGxlci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0RW1wdHlCaW5hcnlEaXJlY3RvcnlDb21tYW5kLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RHZW5lcmljSGFuZGxlci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3VibWl0Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3VibWl0SGFuZGxlci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdENvbW1hbmQuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eCwgU291cmNlL2t3c3lzL0Jhc2U2NC5jLAoJICBTb3VyY2Uva3dzeXMvQmFzZTY0LmguaW4sIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL2t3c3lzL0NvbmZpZ3VyZS5oLmluLCBTb3VyY2Uva3dzeXMvRnVuZGFtZW50YWxUeXBlLmguaW4sCgkgIFNvdXJjZS9rd3N5cy9Qcm9jZXNzLmguaW4sIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHgsCgkgIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5oeHguaW4sCgkgIFNvdXJjZS9rd3N5cy9rd3N5c1BsYXRmb3JtQ3h4VGVzdHMuY21ha2UsCgkgIFNvdXJjZS9rd3N5cy9rd3N5c1BsYXRmb3JtQ3h4VGVzdHMuY3h4LAoJICBTb3VyY2Uva3dzeXMvdGVzdEhhc2hTVEwuY3h4LCBTb3VyY2Uva3dzeXMvdGVzdGhhc2guY3h4LAoJICBUZXN0cy9CdW5kbGVUZXN0L0J1bmRsZVRlc3QuY3h4LCBUZXN0cy9CdW5kbGVUZXN0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9DVGVzdFRlc3QvdGVzdC5jbWFrZS5pbiwgVGVzdHMvQ1Rlc3RUZXN0Mi90ZXN0LmNtYWtlLmluLAoJICBUZXN0cy9DVGVzdFRlc3QzL3Rlc3QuY21ha2UuaW4sCgkgIFRlc3RzL0NvbXBsZXgvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvdGVzdGNmbGFncy5jLAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL3Rlc3RjZmxhZ3MuYywKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvdGVzdGNmbGFncy5jLAoJICBUZXN0cy9NYWNyb1Rlc3QvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL01ha2VDbGVhbi9Ub0NsZWFuL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9PdXRPZlNvdXJjZS9PdXRPZlNvdXJjZVN1YmRpci9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvT3V0T2ZTb3VyY2UvT3V0T2ZTb3VyY2VTdWJkaXIvc2ltcGxlLmN4eCwKCSAgVGVzdHMvT3V0T2ZTb3VyY2UvT3V0T2ZTb3VyY2VTdWJkaXIvdGVzdGxpYi5jeHgsCgkgIFRlc3RzL091dE9mU291cmNlL091dE9mU291cmNlU3ViZGlyL3Rlc3RsaWIuaCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0LCBVdGlsaXRpZXMvQ01ha2VMaXN0cy50eHQsCgkgIFV0aWxpdGllcy9jbWN1cmwvQ01ha2VMaXN0cy50eHQ6IEVOSDogbW92ZSBjdnMgb250byBicmFuY2ggYW5kCgkgIHRyeSBmb3IgYmV0YSAyCgoyMDA1LTA4LTExIDEzOjIwICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IGFkZGVkIGJldHRlciBlcnJvciBjaGVja2luZyBmb3IgY2FzZXMgd2hlbgoJICB0aGVyZSBpcyBhIENNYWtlQ2FjaGUudHh0IGZpbGUgYnV0IGl0IGlzIG5vdCByZWFkYWJsZQoKMjAwNS0wOC0xMSAxMTo0NCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA4LTEwIDEyOjU1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtT3JkZXJMaW5rRGlyZWN0b3JpZXMuY3h4LAoJICBTb3VyY2UvY21PcmRlckxpbmtEaXJlY3Rvcmllcy5oLAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogRU5IOiBmaXggYnVnCgkgIDIwODcgbGliIHByZWZpeCBzdHJpcHBlZCBvZmYgb24gd2luZG93cwoKMjAwNS0wOC0xMCAxMjo1MCAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kUXQ0LmNtYWtlOiBFTkg6IHNvbWUgY2xlYW4gdXAgZnJvbSBDbGludG9uCgoyMDA1LTA4LTEwIDEyOjAxICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogRmluZE9wZW5BTC5jbWFrZSwgRmluZFNETC5jbWFrZSwgRmluZFNETF9pbWFnZS5jbWFrZSwKCSAgRmluZFNETF9taXhlci5jbWFrZSwgRmluZFNETF9uZXQuY21ha2UsIEZpbmRTRExfc291bmQuY21ha2UsCgkgIEZpbmRTRExfdHRmLmNtYWtlOiBFTkg6IGFkZCBFcmljIFdpbmdzIEZpbmRTREwgdXBkYXRlcwoKMjAwNS0wOC0xMCAxMTo0MiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA4LTEwIDEwOjAxICBob2ZmbWFuCgoJKiBTb3VyY2UvY21EZXBlbmRzQy5jeHg6IEVOSDogZml4IGJ1ZyBpbiBkZXBlbmQgZmlsZSByZW1vdmluZyBmb3IKCSAgZGVsZXRlZCBkZXBlbmQgZmlsZXMKCjIwMDUtMDgtMTAgMDg6NDggIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBGaW5kUXQuY21ha2UsIEZpbmRRdDQuY21ha2U6IEVOSDogZml4ZWQgdXAgcXQgc3R1ZmYKCSAgZnJvbSBDbGludG9uIFN0aW1wc29uCgoyMDA1LTA4LTA5IDEzOjEyICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eDogQlVHOiBkbyBub3Qgc2VhcmNoIHRoZQoJICB1c2VyJ3MgcGF0aCBmb3IgdGV4dCBleGVjdXRhYmxlcyB3aGVuIGEgZnVsbCBwYXRoIGlzIHByb3ZpZGVkIHRvCgkgIHRoZSB0ZXN0CgoyMDA1LTA4LTA5IDExOjM2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDgtMDkgMTA6MzUgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogZml4IGZvciBzdW4gbWFrZQoJICB3aXRoIHNwYWNlcwoKMjAwNS0wOC0wOCAxNToyMyAgbWFydGluawoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogRU5IOiBoYXZlIHRoZQoJICBidWlsZC5tYWtlIGZpbGUgaW5jbHVkZSBmbGFncy5tYWtlIGFuZCB1c2UgdGhlIGxhbmd1YWdlIGZsYWdzCgoyMDA1LTA4LTA4IDEzOjI4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5jeHg6IEVOSDogZml4IGZvciBlYXJsaWVyIGZpeCBvbgoJICBzb3VyY2Ugd2l0aCByZWxhdGl2ZSBwYXRoCgoyMDA1LTA4LTA4IDEyOjAwICBraW5nCgoJKiBTb3VyY2UvY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5jeHg6IEJVRzogRG8gbm90IGNvbnZlcnQgU09VUkNFCgkgIGFyZ3VtZW50IGZyb20gcmVsYXRpdmUgdG8gZnVsbCBwYXRoLglJdCBicmVha3MgdGhlIG9sZC1zdHlsZQoJICBTT1VSQ0U9PVRBUkdFVCB0cmljayBhbmQgdGhlIFNPVVJDRSBhcmd1bWVudCBpcyBvbmx5IHByZXNlbnQgZm9yCgkgIG9sZC1zdHlsZSBjb21tYW5kcyBhbnl3YXkuICBUaGlzIGFkZHJlc3NlcyBidWcjMjEyMC4KCjIwMDUtMDgtMDggMTE6MzMgIGtpbmcKCgkqIFRlc3RzLzogU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OiBCVUc6IE5lZWQgVFNEIHRhcmdldCB0byBiZSBidWlsdAoJICBiZWZvcmUgU2ltcGxlSW5zdGFsbC4KCjIwMDUtMDgtMDggMTE6MjggIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogRG8gbm90IGVzY2FwZQoJICBDTUFLRV9DT01NQU5EIHR3aWNlLgoKMjAwNS0wOC0wOCAxMTowMiAgbWFydGluawoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogRU5IOiBmaXggYW5kIGlzc3VlIHdpdGgKCSAgc3BhY2VzIGluIHBhdGhzCgoyMDA1LTA4LTA4IDEwOjQ3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDgtMDggMDk6MzcgIGtpbmcKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEJVRzogV2hlbiBleGl0aW5nIGJlZm9yZSB0aGUgY29uZmlndXJlIHN0ZXAgaW4KCSAgc2NyaXB0IG1vZGUgd2UgbXVzdCBhY2NvdW50IGZvcgoJICBjbVN5c3RlbVRvb2xzOjpHZXRFcnJvck9jY3VyZWRGbGFnKCkgZm9yIHRoZSByZXR1cm4gY29kZS4KCjIwMDUtMDgtMDcgMTA6MzAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wOC0wNiAxMDo1MCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA4LTA1IDE3OjA3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmg6IEVOSDogZml4IHdhcm5pbmcKCjIwMDUtMDgtMDUgMTQ6MTkgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEVOSDogc29tZSBmaXhlcyBmb3IgY3dkCgkgIHByb2JsZW1zIHdpdGggcmVidWlsZF9jYWNoZSBvcHRpb24KCjIwMDUtMDgtMDUgMTE6MzEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wOC0wNCAxNzoxMiAga2luZwoKCSogU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0OiBFTkg6IElmIFZUS19MSUJSQVJZX1BST1BFUlRJRVMgaXMKCSAgc2V0IHRoZW4gdGhlIHByb3BlcnRpZXMgaXQgbGlzdHMgd2lsbCBiZSBhZGRlZCB0byBWVEsgbGlicmFyeQoJICB0YXJnZXRzIHdpdGggU0VUX1RBUkdFVF9QUk9QRVJUSUVTLiAgVGhpcyB3aWxsIGJlIHVzZWZ1bCB0bwoJICBlbmFibGUgc2hhcmVkIGxpYnJhcnkgdmVyc2lvbmluZy4KCjIwMDUtMDgtMDQgMTE6MTkgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wOC0wMyAxNjoxMCAga2luZwoKCSogU291cmNlL2NtQWRkRGVwZW5kZW5jaWVzQ29tbWFuZC5oOiBFTkg6IENsYXJpZmllZCBkb2N1bWVudGF0aW9uCgkgIGZ1cnRoZXIuCgoyMDA1LTA4LTAzIDE0OjE2ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHg6IEVOSDogTW9yZSBidWlsZCBlcnJvcnMKCjIwMDUtMDgtMDMgMTQ6MTUgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eDogRU5IOiBNb3JlIGhhbmRsaW5nIG9mCgkgIGdjb3YgNC4wCgoyMDA1LTA4LTAzIDEzOjM0ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdENvdmVyYWdlSGFuZGxlci5jeHg6IEVOSDogTW9yZSBzdXBwb3J0IGZvcgoJICBnY292IDQuMAoKMjAwNS0wOC0wMyAxMzoxOSAgYW5keQoKCSogTW9kdWxlcy86IENUZXN0LmNtYWtlLCBDVGVzdFRhcmdldHMuY21ha2U6IEVOSDogSW5pdGlhbCBpbXBvcnQKCjIwMDUtMDgtMDMgMTM6MTkgIGFuZHkKCgkqIE1vZHVsZXMvOiBEYXJ0LmNtYWtlLCBGaW5kSk5JLmNtYWtlOiBTVFlMRTogRml4IHR5cG8KCjIwMDUtMDgtMDMgMTE6NTYgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eDogRU5IOiBBZGQgc3VwcG9ydCBmb3IgdGhlCgkgIG5ldyBnY2MgdGhhdCB1c2VzIGZpbGVzIHdpdGggZXh0ZW5zaW9uIC5nY2RhCgoyMDA1LTA4LTAzIDExOjUwICBhbmR5CgoJKiBUZXN0cy9DVGVzdFRlc3QyL3Rlc3QuY21ha2UuaW46IENPTVA6IEZpeCBmb3IgcHJveHkgdGVzdAoKMjAwNS0wOC0wMyAxMToyNCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA4LTAyIDE3OjQxICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2U6IEVOSDogL25vbG9nbyBtdXN0IGJlIGZpcnN0CgoyMDA1LTA4LTAyIDE2OjQ0ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRRdDQuY21ha2U6IEVOSDogYWRkIGNoYW5nZXMgZm9yIHF0NCBmcm9tIENsaW50b24KCSAgU3RpbXBzb24KCjIwMDUtMDgtMDIgMTY6MzQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFF0NC5jbWFrZTogRU5IOiBhZGQgY2hhbmdlcyBmb3IgcXQ0IGZyb20gQ2xpbnRvbgoJICBTdGltcHNvbgoKMjAwNS0wOC0wMiAxMzo0MCAgYW5keQoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IGNoYW5nZSBuYW1lIGZyb20gWENvZGUgdG8gWGNvZGUgbm8KCSAgbmVlZCB0byB0ZXN0IGJvb3RzdHJhcCBmb3IgeGNvZGUKCjIwMDUtMDgtMDIgMTM6MDIgIGFuZHkKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBjaGFuZ2UgbmFtZSBmcm9tIFhDb2RlIHRvIFhjb2RlIG5vCgkgIG5lZWQgdG8gdGVzdCBib290c3RyYXAgZm9yIHhjb2RlCgoyMDA1LTA4LTAyIDEzOjAxICBhbmR5CgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEVOSDogZ2V0IGFyb3VuZCBwcm9ibGVtIHdoZXJlCgkgIE9CSlJPT1QgaGFzIGJlZW4gc2V0IGJ5IGRlZmF1bHQgZm9yIGFsbCBwcm9qZWN0cyBpbiBYY29kZSBndWkKCjIwMDUtMDgtMDIgMTE6MjIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wOC0wMiAxMTowNiAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBGSVg6IGZpeCBiYWQgZGVwZW5kIGluZm8gYW5kCgkgIENPTVBJTEVfRkxBR1MgcHJvYmxlbSBhbmQgcmVtb3ZlIGV4dHJhIGNlcnIgY2FsbHMKCjIwMDUtMDgtMDIgMTA6MDcgIGFuZHkKCgkqIFRlc3RzL0NUZXN0VGVzdC90ZXN0LmNtYWtlLmluOiBDT01QOiBUcnkgdG8gZml4IHRlc3QgYnkgdGFraW5nCgkgIGFyZzEgaW50byBhY291bnQKCjIwMDUtMDgtMDIgMDk6NTUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFF0LmNtYWtlOiBFTkg6IGFkZCBhZHZhbmNlZCB2YWx1ZXMKCjIwMDUtMDgtMDEgMTY6NDkgIGtpbmcKCgkqIFNvdXJjZS86IGNtTGlzdEZpbGVMZXhlci5jLCBjbUxpc3RGaWxlTGV4ZXIuaW4ubDogQlVHOiBVbnF1b3RlZAoJICBhcmd1bWVudHMgY2FuIGhhdmUgcXVvdGVzIHRoYXQgYXJlIG5vdCBhdCB0aGUgYmVnaW5uaW5nLCBidXQgb25seQoJICBhbiBldmVuIG51bWJlciBvZiB0aGVtLgoKMjAwNS0wOC0wMSAxMjowNiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA4LTAxIDEwOjE5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmg6IEVOSDogZmlyc3Qgc3RlcCB0byBvbmx5CgkgIHJlYnV1aWxkaW5nIG9uIGZsYWcgY2hhbmdlcwoKMjAwNS0wOC0wMSAwOTo0NCAgaG9mZm1hbgoKCSogVGVzdHMvOiBDb21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBtYWtlIHN1cmUKCSAgQ01BS0VfQ19GTEFHUyBhcmUgbm90IGNsb2JiZXJlZAoKMjAwNS0wOC0wMSAwOToyNCAga2luZwoKCSogU291cmNlL2NtUVRXcmFwQ1BQQ29tbWFuZC5jeHg6IEJVRzogUGF0Y2ggZnJvbSBGaWxpcGUgU291c2EuCgkgIFFUX1dSQVBfQ1BQIHNob3VsZCBnZW5lcmF0ZSB0aGUgZmlsZSBtb2NfZGxnbWFpbi51aS5jeHggaW5zdGVhZAoJICBvZiBtb2NfZGxnbWFpbi5jeHguCgoyMDA1LTA3LTMxIDIzOjA1ICBhbmR5CgoJKiBNb2R1bGVzL0NoZWNrQ1hYU291cmNlQ29tcGlsZXMuY21ha2UsCgkgIFRlc3RzL01hY3JvVGVzdC9DTWFrZUxpc3RzLnR4dDogRU5IOiBBZGQgQysrIHRlc3QgdG9vCgoyMDA1LTA3LTMxIDIzOjAyICBhbmR5CgoJKiBNb2R1bGVzL0NoZWNrQ1NvdXJjZUNvbXBpbGVzLmNtYWtlLAoJICBUZXN0cy9NYWNyb1Rlc3QvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkIGEgdGVzdCBmb3IgQyBzb3VyY2UgZmlsZQoJICBsaWtlIEFDX1RSWV9DT01QSUxFCgoyMDA1LTA3LTMxIDIyOjI1ICBob2ZmbWFuCgoJKiBUZXN0cy86IENvbXBsZXgvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0OiBFTkg6IHVzZSBhbnNpCgkgIGZsYWdzCgoyMDA1LTA3LTMxIDExOjUxICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNvbW1hbmRzLmN4eCwgY21HZXRUZXN0UHJvcGVydHlDb21tYW5kLmN4eCwKCSAgY21HZXRUZXN0UHJvcGVydHlDb21tYW5kLmgsIGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBjbU1ha2VmaWxlLmN4eCwKCSAgY21NYWtlZmlsZS5oLCBjbVNldFRlc3RzUHJvcGVydGllc0NvbW1hbmQuY3h4LAoJICBjbVNldFRlc3RzUHJvcGVydGllc0NvbW1hbmQuaCwgY21UZXN0LmN4eCwgY21UZXN0Lmg6IEVOSDogQWRkIHNldAoJICBhbmQgZ2V0IHRlc3QgcHJvcGV0eSBjb21tYW5kCgoyMDA1LTA3LTMxIDExOjQyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDctMzAgMjE6NTggIGhvZmZtYW4KCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL3Rlc3RjZmxhZ3MuYywKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL3Rlc3RjZmxhZ3MuYywKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS90ZXN0Y2ZsYWdzLmM6IEVOSDogbm8gYysrCgkgIGNvbW1lbnRzIGluIGEgYyBmaWxlCgoyMDA1LTA3LTMwIDExOjUxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDctMjkgMTQ6MTcgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUZMVEtXcmFwVUlDb21tYW5kLmN4eDogRU5IOyBiZXR0ZXIgd2FybmluZyBtZXNzYWdlIGFuZAoJICBmaXggdHlwZSBwZXIganVsaWVuCgoyMDA1LTA3LTI5IDE0OjAyICBob2ZmbWFuCgoJKiBUZXN0cy86IENvbXBsZXgvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIENvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleE9uZUNvbmZpZy9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogRU5IOiBkbyBub3QgdGVzdCBmb3IKCSAgYyBhbmQgY3h4IGZsYWdzIG9uIHZpc3VhbCBzdHVkaW8gYXMgaXQgZG9lcyBub3Qgd29yayB5ZXQKCjIwMDUtMDctMjkgMTM6MTkgIG1hcnRpbmsKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c1BsYXRmb3JtQ3h4VGVzdHMuY21ha2U6IEVOSDogY2hhbmdlIGxvYyBvZiBsb2cKCSAgZmlsZXMKCjIwMDUtMDctMjkgMTE6NTYgIGhvZmZtYW4KCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsIENvbXBsZXgvRXhlY3V0YWJsZS90ZXN0Y2ZsYWdzLmMsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvdGVzdGNmbGFncy5jLAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL3Rlc3RjZmxhZ3MuYzogRU5IOiBhZGQgbmV3IHRlc3QKCSAgdG8gbWFrZSBzdXJlIGMgYW5kIGN4eCBmbGFncyBhcmUgZ29pbmcgdG8gdGhlIHJpZ2h0IGZpbGVzCgoyMDA1LTA3LTI5IDExOjUyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDctMjkgMTE6MjUgIGFuZHkKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogRml4IGRlcGVuZGVuY2llcy4KCSAgTG9va3MgbGlrZSBhbGwgZGVwZW5kZW5jaWVzIHdlcmUgbWlzc2luZyBzdWJkaXJlY3RvcnkKCjIwMDUtMDctMjkgMTA6MDQgIGFuZHkKCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogRU5IOiB1bmRvIGxhc3QgY2hhbmdlCgoyMDA1LTA3LTI5IDEwOjAyICBhbmR5CgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEVOSDogc3VwcG9ydCB2ZXJzaW9ucyBncmVhdGVyCgkgIHRoYW4gMjAKCjIwMDUtMDctMjkgMDk6MTkgIG1hcnRpbmsKCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDWFhDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUZvcnRyYW5Db21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUphdmFDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZVJDQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVTeXN0ZW0uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VUZXN0Q0NvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlVGVzdENYWENvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlVGVzdEZvcnRyYW5Db21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja0Z1bmN0aW9uRXhpc3RzLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrSW5jbHVkZUZpbGUuY21ha2UsCgkgIE1vZHVsZXMvQ2hlY2tJbmNsdWRlRmlsZUNYWC5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja0luY2x1ZGVGaWxlcy5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja0xpYnJhcnlFeGlzdHMuY21ha2UsCgkgIE1vZHVsZXMvQ2hlY2tTeW1ib2xFeGlzdHMuY21ha2UsIE1vZHVsZXMvQ2hlY2tUeXBlU2l6ZS5jbWFrZSwKCSAgTW9kdWxlcy9DaGVja1ZhcmlhYmxlRXhpc3RzLmNtYWtlLCBNb2R1bGVzL0ZpbmRUaHJlYWRzLmNtYWtlLAoJICBNb2R1bGVzL1Rlc3RCaWdFbmRpYW4uY21ha2UsIE1vZHVsZXMvVGVzdENYWEFjY2VwdHNGbGFnLmNtYWtlLAoJICBNb2R1bGVzL1Rlc3RGb3JBTlNJRm9yU2NvcGUuY21ha2UsCgkgIE1vZHVsZXMvVGVzdEZvclNURE5hbWVzcGFjZS5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlLCBTb3VyY2UvY21DYWNoZU1hbmFnZXIuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFRlc3RzL01ha2VDbGVhbi9Ub0NsZWFuL0NNYWtlTGlzdHMudHh0LAoJICBVdGlsaXRpZXMvY21jdXJsL0NNYWtlTGlzdHMudHh0OiBFTkg6IHB1dCBjbWFrZSBmaWxlcyBpbnRvYQoJICBDTWFrZUZpbGVzIHN1YmRpciB0byBjbGVhbiB1cCBiaW4gdHJlZQoKMjAwNS0wNy0yOCAxNToyNCAgbWFydGluawoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oOiBFTkg6IGZpeCB3YXJuaW5nCgoyMDA1LTA3LTI4IDE0OjUyICBhbmR5CgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEVOSDogbWFrZSBzdXJlIGMgZmxhZ3MgYXJlCgkgIHVzZWQgZm9yIGMgYW5kIGN4eCBmbGFncyBhcmUgdXNlZCBmb3IgY3h4LCByZWFsbHkgQmlsbAoKMjAwNS0wNy0yOCAxMzoyMSAgYmFycmUKCgkqIFNvdXJjZS9rd3N5cy86IFN5c3RlbVRvb2xzLmN4eCwgU3lzdGVtVG9vbHMuaHh4LmluOiBFTkg6IGFkZAoJICBtZXRob2QgdG8gYXR0ZW1wdCB0byBjaGVjayBpZiBhIGZpbGUgaXMgdGV4dCBvciBiaW5hcnkKCjIwMDUtMDctMjggMTM6MTIgIGFuZHkKCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogRU5IOiBtYWtlIHN1cmUgY3VzdG9tIGNvbW1hbmRzCgkgIGRlcGVuZCBvbiBmdWxsIHBhdGggZmlsZXMgb25seTogQmlsbCBhcyBBbmR5CgoyMDA1LTA3LTI4IDExOjU4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDctMjggMDk6MTQgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQ3VzdG9tQ29tbWFuZC5jeHgsIGNtQ3VzdG9tQ29tbWFuZC5oLAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEVOSDogYWx3YXlzIHdyaXRlIG91dCBhbGwKCSAgY3VzdG9tIGNvbW1hbmRzCgoyMDA1LTA3LTI3IDE3OjIzICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEJVRzogSW5pdGlhbGl6ZUZyb21QYXJlbnQgc2hvdWxkIGNvcHkKCSAgaW5jbHVkZSBmaWxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMuCgoyMDA1LTA3LTI3IDE2OjQ2ICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBFTkg6IFJVTl9URVNUUyB0YXJnZXQgbm93IHVzZXMKCSAgcHJvcGVyIENNQUtFX0NGR19JTlRESVIgc2V0dGluZyB0byBnZXQgJChJbnREaXIpIG9yICQoT3V0RGlyKQoJICBkZXBlbmRpbmcgb24gdGhlIGdlbmVyYXRvci4KCjIwMDUtMDctMjcgMTY6MzcgIGtpbmcKCgkqIFNvdXJjZS9jbVV0aWxpdHlTb3VyY2VDb21tYW5kLmN4eDogQlVHOiBIYWNrIHRvIHN1cHBvcnQgYnVpbGRpbmcKCSAgZXhpc3RpbmcgdHJlZXMgd2l0aCBVVElMSVRZX1NPVVJDRSBjb21tYW5kcyBhbmQgdGhlIG5ldyBWUwoJICBnZW5lcmF0b3IgZGlyZWN0b3J5IHN0cnVjdHVyZS4KCjIwMDUtMDctMjcgMTU6NDYgIGFuZHkKCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHg6IEJVRzogR2VuZXJhdGUgUlVOX1RFU1QgdGFyZ2V0IGlmCgkgIGFueSB0ZXN0cyBhcmUgdGhlcmUKCjIwMDUtMDctMjcgMTM6MzYgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaDogRU5IOiBHZW5lcmF0b3Igbm93IGNyZWF0ZXMgYQoJICBzZXBhcmF0ZSBpbnRlcm1lZGlhdGUgZmlsZXMgZGlyZWN0b3J5IGZvciBlYWNoIHRhcmdldC4gIFRoaXMgaXMKCSAgbmVlZGVkIGZvciBNU1ZDIDggdG8gc3VwcG9ydCBwYXJhbGxlbCBidWlsZHMuCgoyMDA1LTA3LTI3IDEyOjQxICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmg6IEVOSDogZml4IHNvbWUgd2FybmluZ3MgYW5kCgkgIGNsZWFudXAgc29tZQoKMjAwNS0wNy0yNyAxMTo1NiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA3LTI3IDExOjQyICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBFTkg6IG1heWJlIGZpeCBmb3J0cmFuCgkgIGlzc3VlCgoyMDA1LTA3LTI3IDExOjM2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmg6IEVOSDogZml4IHNvbWUgd2FybmluZ3MgYW5kCgkgIGNsZWFudXAgc29tZQoKMjAwNS0wNy0yNyAxMTozMSAgbWFydGluawoKCSogU291cmNlLzogY21EZXBlbmRzSmF2YS5jeHgsIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaDogRU5IOiBmaXggc29tZSB3YXJuaW5ncyBhbmQKCSAgY2xlYW51cCBzb21lCgoyMDA1LTA3LTI3IDA5OjQ5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbURlcGVuZHMuY3h4LCBjbURlcGVuZHMuaCwgY21EZXBlbmRzQy5jeHgsCgkgIGNtRGVwZW5kc0MuaCwgY21EZXBlbmRzRm9ydHJhbi5jeHgsIGNtRGVwZW5kc0ZvcnRyYW4uaCwKCSAgY21EZXBlbmRzSmF2YS5jeHgsIGNtRGVwZW5kc0phdmEuaCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsIGNtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsR2VuZXJhdG9yLmgsIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwgY21ha2UuY3h4OiBFTkg6IHJlZHVjZSB0aGUKCSAgbnVtYmVyIG9mIGZpbGVzIHByb2R1Y2VkIHN0aWxsIG5lZWRzIGEgYml0IG1vcmUgY2xlYW51cAoKMjAwNS0wNy0yNiAxNzo0MCAga2luZwoKCSogTW9kdWxlcy9EYXJ0LmNtYWtlOiBFTkg6IEFkZGVkIFZTOCBzdXBwb3J0IGZvciBEQVJUX0NYWF9OQU1FLgoKMjAwNS0wNy0yNiAxMzoyNiAgaG9mZm1hbgoKCSogU291cmNlL2NtVGFyZ2V0LmN4eDogRU5IOiBtYWtlIHN1cmUgc291cmNlIGZpbGUgZGVwZW5kcyBhcmUgdXNlZAoJICB0byBkZXRlcm1pbmUgaWYgY3VzdG9tIGNvbW1hbmRzIGFyZSB1c2VkCgoyMDA1LTA3LTI2IDEzOjI2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBFTkg6IGlmIGl0IGlzIG5vdCBhCgkgIGNtYWtlIHRhcmdldCBvciBhIGZ1bGwgcGF0aCBkbyBub3QgcHV0IGRlcGVuZCBpbmZvcm1hdGlvbiBpbiB0aGUKCSAgY29tbWFuZAoKMjAwNS0wNy0yNiAxMzoyNSAgaG9mZm1hbgoKCSogU291cmNlL2NtRkxUS1dyYXBVSUNvbW1hbmQuY3h4OiBFTkg6IG1ha2Ugc3VyZSBjdXN0b20gY29tbWFuZAoJICBkZXBlbmQgb24gZmx1aWQgc28gaWYgZmx0ayBpcyBwYXJ0IG9mIHByb2plY3QgZmx1aWQgZ2V0cyBidWlsdAoJICBmaXJzdAoKMjAwNS0wNy0yNiAxMTo0NSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA3LTI2IDExOjM3ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBDTWFrZUxpc3RzLnR4dCwgRnVuZGFtZW50YWxUeXBlLmguaW46IEVOSDogQWRkZWQKCSAgRnVuZGFtZW50YWxUeXBlIGhlYWRlciBkZWZpbmluZyBwbGF0Zm9ybS1pbmRlcGVuZGVudCBmaXhlZAoJICBzaXplL3NpZ25lZG5lc3MgaW50ZWdlciB0eXBlcy4KCjIwMDUtMDctMjYgMTE6MzYgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c1BsYXRmb3JtQ3h4VGVzdHMuY3h4OiBFTkg6IEFkZGVkCgkgIFRFU1RfS1dTWVNfQ1hYX1NBTUVfTE9OR19BTkRfX19JTlQ2NCwKCSAgVEVTVF9LV1NZU19DWFhfU0FNRV9MT05HX0xPTkdfQU5EX19fSU5UNjQsCgkgIFRFU1RfS1dTWVNfQ0FOX0NPTlZFUlRfVUk2NF9UT19ET1VCTEUsIGFuZAoJICBURVNUX0tXU1lTX0NIQVJfSVNfU0lHTkVELgoKMjAwNS0wNy0yNiAxMTozNCAga2luZwoKCSogU291cmNlL2t3c3lzLzogQmFzZTY0LmMsIEJhc2U2NC5oLmluLCBDb25maWd1cmUuaC5pbiwKCSAgUHJvY2Vzcy5oLmluOiBFTkg6IE1vdmVkIGt3c3lzX25zIGFuZCBrd3N5c0VYUE9SVCBtYWNyb3MgdG8KCSAgQ29uZmlndXJlLmggaW4gdGhlIGNhc2Ugb2YgYnVpbGRpbmcgYSBrd3N5cyBzb3VyY2UgZmlsZS4gIFRoaXMKCSAgYWxsb3dzIG1vcmUgdGhhbiBvbmUgaGVhZGVyIHRvIGJlIGluY2x1ZGVkIGluIGEga3dzeXMgc291cmNlIGZpbGUKCSAgd2l0aG91dCByZWRlZmluaW5nIHRoZSBtYWNyb3MuCgoyMDA1LTA3LTI2IDA5OjE3ICBhbmR5CgoJKiBUZXN0cy9DVGVzdFRlc3QzL3Rlc3QuY21ha2UuaW46IEVOSDogQWRkIHN1cHBvcnQgZm9yIG11bHRpLXN0cmluZwoJICBjb21waWxlciBuYW1lLCBhbmQgaW1wcm92ZSBzdXBwb3J0IGZvciBzdWJ2ZXJzaW9uCgoyMDA1LTA3LTI1IDE2OjEwICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBFTkg6IGZpeCBsaWIgY2FzZSBidWcKCSAgY29ycmVjdGx5CgoyMDA1LTA3LTI1IDExOjQxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDctMjQgMTE6NDIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNy0yMyAxMTo0NCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA3LTIzIDEwOjMyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUc6IHVuZG8gZml4CgoyMDA1LTA3LTIyIDE3OjM2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDctMjIgMTU6NDEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEVOSDogbW9yZSBlZmZpY2VudCBmaXgKCSAgZm9yIGJ1ZyAjIDIwNjMKCjIwMDUtMDctMjIgMTU6MzMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogZml4IGZvciBjYXNlCgkgIG1pc21hdGNoZWQgbGliIGJ1ZyAjIDIwNjMKCjIwMDUtMDctMjIgMTU6MzIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbURlcGVuZHNDLmN4eDogRU5IOiBzdHJpbmcgKz0gaXMgdmVyeSBzbG93LCBzbyBkb24ndCB1c2UKCSAgaXQKCjIwMDUtMDctMjIgMDg6NDAgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0VXBkYXRlSGFuZGxlci5jeHg6IEVOSDogQmV0dGVyIGhhbmRsaW5nIG9mCgkgIHJlbW92ZWQgZmlsZXMgYW5kIHJlbW92ZSB3YXJuaW5nCgoyMDA1LTA3LTIyIDA4OjM5ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHg6IEVOSDogTW9yZSByZWd1bGFyCgkgIGV4cHJlc3Npb25zCgoyMDA1LTA3LTIxIDE1OjU0ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFVwZGF0ZUhhbmRsZXIuY3h4OiBFTkg6IEFkZCBzdXBwb3J0IGZvcgoJICBkZXRlY3RpbmcgZmlsZXMgdGhhdCB3ZXJlIHJlbW92ZWQKCjIwMDUtMDctMjEgMTA6MjYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNy0yMSAwOTowNyAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXRIYW5kbGVyLmN4eDogQlVHOiBSZW1vdmUgZHVwbGljYXRlCgkgIHByZWZpeAoKMjAwNS0wNy0yMCAyMjoyMyAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBFTkg6IGZpeCB3YXJuaW5nCgoyMDA1LTA3LTIwIDE1OjQ0ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlQ0NvbXBpbGVyLmNtYWtlLmluLCBNb2R1bGVzL0NNYWtlQ0luZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlQ1hYQ29tcGlsZXIuY21ha2UuaW4sCgkgIE1vZHVsZXMvQ01ha2VDWFhJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lRm9ydHJhbkNvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lSmF2YUNvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lUkNDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUZvcnRyYW5Db21waWxlci5jbWFrZS5pbiwKCSAgTW9kdWxlcy9DTWFrZUZvcnRyYW5JbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUphdmFDb21waWxlci5jbWFrZS5pbiwKCSAgTW9kdWxlcy9DTWFrZVJDQ29tcGlsZXIuY21ha2UuaW4sCgkgIE1vZHVsZXMvQ01ha2VSQ0luZm9ybWF0aW9uLmNtYWtlLCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6CgkgIEVOSDogbWFrZSBzdXJlIGZsYWdzIHNldCBpbiBDQyBvciBDWFggZW52aXJvbm1lbnQgdmFyaWFibGVzIHN0YXkKCSAgd2l0aCB0aGUgY29tcGlsZXIKCjIwMDUtMDctMjAgMTI6NTQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBDTWFrZUNJbmZvcm1hdGlvbi5jbWFrZSwgQ01ha2VDWFhJbmZvcm1hdGlvbi5jbWFrZSwKCSAgUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZTogRU5IOiBtb3ZlIGZsYWdzIG5leHQgdG8gY29tcGlsZXIsIHNvCgkgIGlmIGVudiBjb250YWlucyBjb21waWxlciBhbmQgc29tZSBmbGFnLCB0aGV5IHN0YXkgdG9nZXRoZXIKCjIwMDUtMDctMjAgMTI6NTMgIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBqYXZhIGRvZXMgbm90IHdvcmsgdW5kZXIgbWluZ3cKCjIwMDUtMDctMjAgMTI6NDggIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBGaW5kUXQuY21ha2UsIEZpbmRRdDQuY21ha2U6IEVOSDogbWFrZSBzdXJlIHFtYWtlIGlzIG9uCgkgIHRoZSBtYWNoaW5lIGJlZm9yZSBydW5uaW5nIGl0CgoyMDA1LTA3LTIwIDEyOjQwICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvdGVzdEhhc2hTVEwuY3h4OiBFTkg6IFJlbmFtZSB0ZXN0CgoyMDA1LTA3LTIwIDEyOjAzICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEJVRzogSW5pdGlhbGl6ZSB2YXJpYWJsZQoKMjAwNS0wNy0yMCAxMjowMiAgYW5keQoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIHRlc3RoYXNoLmN4eDogRU5IOiBSZW5hbWUgdGVzdAoKMjAwNS0wNy0yMCAxMDoxNiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA3LTE5IDE4OjA1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEVOSDogbWFrZSBpdCBzbyB0aGF0IGJvb3RzdHJhcAoJICBkb2VzIG5vdCB1c2UgeG1sIHBhcnNlcgoKMjAwNS0wNy0xOSAxNzoxNiAgaG9mZm1hbgoKCSogU291cmNlLzogY21ha2UuY3h4LCBjbWFrZS5oOiBFTkg6IGZpeCBmb3IgYnVnIDE4NjYsIG1ha2UgLUcsLUQgLUMKCSAgb3B0aW9ucyBhbGxvdyBmb3Igc3BhY2UgYmV0d2VlbiBhcmcgYW5kIHZhbHVlCgoyMDA1LTA3LTE5IDE2OjQwICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21GaWxlQ29tbWFuZC5jeHgsCgkgIGNtR2xvYmFsWENvZGUyMUdlbmVyYXRvci5jeHgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmg6IEVOSDogaWYgWGNvZGUyMSBpcyBpbnN0YWxsZWQgdGhlbgoJICBjcmVhdGUgMjEgY29tcGF0aWJsZSBwcm9qZWN0IGZpbGVzCgoyMDA1LTA3LTE5IDE1OjI4ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFhDb2RlMjFHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFhDb2RlMjFHZW5lcmF0b3IuaDogRU5IOiBhZGQgbmV3IHN0dWIgZ2VuZXJhdG9yCgoyMDA1LTA3LTE5IDE1OjI3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21UcnlDb21waWxlQ29tbWFuZC5oOiBFTkg6IGFkZCBtb3JlIGRvY3MKCjIwMDUtMDctMTkgMTQ6MzYgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VHZW5lcmljU3lzdGVtLmNtYWtlOiBFTkg6IG1ha2UgS0RldmVsb3AzIGRlZmF1bHQgdG8KCSAgQ01BS0VfVkVSQk9TRV9NQUtFRklMRQoKMjAwNS0wNy0xOSAxMTo0OCAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZUdlbmVyaWNTeXN0ZW0uY21ha2U6IEVOSDogbWFrZSBLRGV2ZWxvcDMgZGVmYXVsdCB0bwoJICBDTUFLRV9WRVJCT1NFX01BS0VGSUxFCgoyMDA1LTA3LTE5IDEwOjEwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDctMTggMTI6NTMgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0LmgsIGN0ZXN0LmN4eCwKCSAgQ1Rlc3QvY21DVGVzdFN1Ym1pdENvbW1hbmQuY3h4LCBDVGVzdC9jbUNUZXN0U3VibWl0SGFuZGxlci5jeHg6CgkgIEVOSDogQWRkIGEgd2F5IHRvIHN1Ym1pdCBleHRyYSBmaWxlcyB0byB0aGUgZGFzaGJvYXJkCgoyMDA1LTA3LTE4IDExOjQ2ICBhbmR5CgoJKiBNb2R1bGVzL0RhcnQuY21ha2UsIFNvdXJjZS9jbUNUZXN0LmN4eCwgU291cmNlL2NtQ1Rlc3QuaCwKCSAgU291cmNlL2N0ZXN0LmN4eCwgVGVzdHMvQ1Rlc3RUZXN0Mi90ZXN0LmNtYWtlLmluOiBFTkg6IFNldmVyYWwKCSAgaW1wcm92ZW1lbnRzIGFuZCBjbGVhbnVwczogMS4gQWRkIGxvbmcgY29tbWFuZCBsaW5lIGFyZ3VtZW50cyBmb3IKCSAgZXZlcnkgYXJndW1lbnQgMi4gQWRkIGEgd2F5IHRvIG92ZXJ3cml0ZSBDVGVzdCBjb25maWd1cmF0aW9uIGJ5CgkgIHByb3ZpZGluZyAtLW92ZXJ3cml0ZSBUaW1lT3V0PTEwIDMuIEltcHJvdmUgYXJndW1lbnQgcGFyc2luZy4gIDQuCgkgIEFkZCBzdWJtaXQgaW5kZXggYXJndW1lbnQKCjIwMDUtMDctMTggMTE6MzIgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0R2VuZXJpY0hhbmRsZXIuY3h4OiBFTkg6IENsZWFudXAgZmlsZSBuYW1lCgoyMDA1LTA3LTE4IDExOjMyICBhbmR5CgoJKiBTb3VyY2UvY21Eb2N1bWVudGF0aW9uLmN4eDogRU5IOiBDbGVhbnVwIHRoZSBoZWxwIGEgYml0CgoyMDA1LTA3LTE4IDA4OjQ3ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRRdC5jbWFrZTogRU5IOiBmaXggcXQgYnVnCgoyMDA1LTA3LTE4IDAzOjE4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDctMTcgMDM6MTQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNy0xNiAwMzoxNiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA3LTE1IDE1OjIwICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5oOiBFTkg6IGZpeCBidWcgMTk2MAoKMjAwNS0wNy0xNSAxMzoyNCAgaG9mZm1hbgoKCSogU291cmNlL2NtQWRkVGVzdENvbW1hbmQuaDogQlVHOiBmaXggZm9yIGJ1ZyAxODM4CgoyMDA1LTA3LTE1IDEyOjU3ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRHTFVULmNtYWtlOiBCVUc6IGZpeCBmb3IgYnVnIDg1MgoKMjAwNS0wNy0xNSAxMjozOSAgaG9mZm1hbgoKCSogTW9kdWxlcy86IEZpbmRRdC5jbWFrZTogRU5IOiBmaXggaGFyZCBjb2RlZCBpbmNsdWRlIGZyb20gcGF0Y2gKCjIwMDUtMDctMTUgMTI6MTQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBGaW5kUXQuY21ha2UsIEZpbmRRdDMuY21ha2UsIEZpbmRRdDQuY21ha2U6IEVOSDogYWRkCgkgIG5ldyBxdCBzdHVmZiBmcm9tIHdhcmZpZWxkQGJ3aC5oYXJ2YXJkLmVkdSwgdGhhbmtzCgoyMDA1LTA3LTE1IDEyOjAxICBtYXJ0aW5rCgoJKiBVdGlsaXRpZXMvQ01ha2VMaXN0cy50eHQ6IEJVRzogY29udmVydGVkIHRvIDEuOCBmb3JtIG9mIGN1c3RvbQoJICBjb21tYW5kcwoKMjAwNS0wNy0xNSAxMTo0OCAgYW5keQoKCSogTW9kdWxlcy9GaW5kUHl0aG9uSW50ZXJwLmNtYWtlOiBFTkg6IEFkZCByZWdpc3RyeSBmb3IgMi40CgoyMDA1LTA3LTE1IDExOjQ1ICBhbmR5CgoJKiBNb2R1bGVzL0ZpbmRQeXRob25JbnRlcnAuY21ha2U6IEJVRzogU2V0IFBZVEhPTklOVEVSUF9GT1VORAoKMjAwNS0wNy0xNSAxMTozOCAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmg6IEVOSDogZml4IHN0YXRpYyBidWlsZCBvZiB2dGsKCSAgd2l0aCBjbWFrZSBieSBoYXZpbmcgY3VzdG9tIHRhcmdldHMgY2hhaW4gZGVwZW5kIGluZm9ybWF0aW9uCgoyMDA1LTA3LTE1IDExOjM3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBFTkg6IHJlbW92ZSBjb21tZW50ZWQKCSAgY29kZQoKMjAwNS0wNy0xNSAxMTozNiAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IHJlbW92ZSBtZXNzYWdlcyBhYm91dCBub3QgcnVubmluZwoJICBqYXZhIHRlc3QKCjIwMDUtMDctMTUgMTE6MzQgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUR5bmFtaWNMb2FkZXIuY3h4OiBFTkg6IGZpeCBjb21waWxlIGVycm9yIGJ1ZyMgMjAyMCBvbgoJICBtYWMKCjIwMDUtMDctMTUgMDg6MzYgIGFuZHkKCgkqIE1vZHVsZXMvRmluZFB5dGhvbkludGVycC5jbWFrZTogRU5IOiBJbml0aWFsIGltcG9ydAoKMjAwNS0wNy0xNSAwMzoxMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA3LTE0IDE2OjAwICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEVOSDogZml4IGZvciBidWcgOTkyLCBtYWMgYnVuZGxlCgkgIGluc3RhbGwgZml4CgoyMDA1LTA3LTE0IDE1OjEyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEJVRzogZml4IGZvciBidWcgMTg1MCB3cmFwcGluZyBjYW4gbGVhdmUKCSAgb3V0IGZpbGVzIGlmIHRoZXkgYXJlIGEgc3Vic3RyaW5nIG9mIGFub3RoZXIgZmlsZQoKMjAwNS0wNy0xNCAxNDoxNSAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4OiBFTkg6IFNvbWUgbW9yZSBjbGVhbnVwcwoJICBhbmQgYWRkIGN0ZXN0IGN1c3RvbSB2ZWN0b3IgZm9yIHJlZ3VsYXIgZXhwcmVzc2lvbiB0byBleGNsdWRlCgkgIGZyb20gY292ZXJhZ2UKCjIwMDUtMDctMTQgMTQ6MTUgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogQlVHOiBMb29rIGZvciBjdXN0b20gZmlsZXMgaW4gYWxsIGRpcmVjdG9yaWVzCgoyMDA1LTA3LTE0IDEzOjUwICBob2ZmbWFuCgoJKiBUZXN0cy9PdXRPZlNvdXJjZS9PdXRPZlNvdXJjZVN1YmRpci86IHRlc3RsaWIuY3h4LCB0ZXN0bGliLmg6CgkgIEVOSDogYWRkIG1pc3NpbmcgZmlsZXMKCjIwMDUtMDctMTQgMTM6MjUgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4LAoJICBjbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmg6IEVOSDogQWRkIGN1c3RvbSBzdXByZXNzaW9uIHJlZ3VsYXIKCSAgZXhwcmVzc2lvbnMKCjIwMDUtMDctMTQgMTI6MjEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIFRlc3RzL091dE9mU291cmNlL091dE9mU291cmNlU3ViZGlyL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9PdXRPZlNvdXJjZS9PdXRPZlNvdXJjZVN1YmRpci9zaW1wbGUuY3h4OiBGSVg6IGZpeCBidWcKCSAgMjA0MyBib3JsYW5kIGNvbXBpbGVyIGFuZCBkbGwgcHJvYmxlbSBhbmQgYWRkIGEgdGVzdCBmb3IgaXQKCjIwMDUtMDctMTQgMTE6MjQgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eDogQlVHOiBGaXggbGluZSBudW1iZXIKCSAgaW5jb25zaXN0ZW5jeSwgaW1wcm92ZSBvdXRwdXQKCjIwMDUtMDctMTQgMTA6MTUgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogYWRkIHN1cHBvcnQgZm9yCgkgIGJvcmxhbmQgZXhlIHdpdGggc2hhcmVkIGxpYnMgYmFjayBpbgoKMjAwNS0wNy0xNCAwOTo0NCAgYW5keQoKCSogVGVzdHMvOiBDb21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogRU5IOiBEbyA0IGZpbGVzCgoyMDA1LTA3LTE0IDA5OjMwICBhbmR5CgoJKiBUZXN0cy86IENvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4OiBFTkg6IEFkZCBhIHRlc3QgZm9yCgkgIGNtR2VuZXJhdGVkRmlsZVN0cmVhbQoKMjAwNS0wNy0xNCAwOToyOSAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0Q29tbWFuZC5jeHg6IENPTVA6IFJlbW92ZSB3YXJuaW5nIGFuZCBmaXgKCSAgdGhlIGxvZ2ljCgoyMDA1LTA3LTE0IDA5OjI5ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdENvdmVyYWdlSGFuZGxlci5jeHg6IEJVRzogUmVuYW1lIHRtcCBmaWxlcwoKMjAwNS0wNy0xNCAwMzoxMyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA3LTEzIDE2OjU3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUc6IHJlbW92ZSBwYXJ0IG9mCgkgIHBhdGNoIGZyb20gYnVnIDE5NjUgdGhhdCBzZXQgZXhlY3V0YWJsZSBwYXRocwoKMjAwNS0wNy0xMyAxNjo0OSAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eDogQlVHOiByZXZlcnQgcGFydCBvZgoJICBwYXRjaCB0aGF0IHNldCBleGVjdXRhYmxlIGRlYnVnIHByZWZpeCBhcyBpdCBicmVha3MgdG9vIG11Y2gKCSAgc3R1ZmYKCjIwMDUtMDctMTMgMTY6MjQgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogRU5IOiBhZGQgLUwgYXMgcG9zc2libGUgbGlicmFyeSBmbGFnCgoyMDA1LTA3LTEzIDE2OjIzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEVOSDogYWRkIHN1cHBvcnQgZm9yIGJ1bmRsZXMKCjIwMDUtMDctMTMgMTY6MjAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHg6IEJVRzogdHJ5IHRvIGZpeCBmYWlsZWQKCSAgdGVzdAoKMjAwNS0wNy0xMyAxNTo0OSAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IGFkZCBidW5kbGUgdGVzdAoKMjAwNS0wNy0xMyAxNTo0MyAgaG9mZm1hbgoKCSogVGVzdHMvQnVuZGxlVGVzdC86IEJ1bmRsZVRlc3QuY3h4LCBDTWFrZUxpc3RzLnR4dDogRU5IOiBhZGQgYQoJICBidW5kbGUgdGVzdAoKMjAwNS0wNy0xMyAxMToyMSAgaG9mZm1hbgoKCSogU291cmNlLzogY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5oLAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsCgkgIGNtU291cmNlR3JvdXAuY3h4LCBjbVNvdXJjZUdyb3VwLmgsIGNtU291cmNlR3JvdXBDb21tYW5kLmN4eDoKCSAgRklYOiBhcHBseSBwYXRjaCBmcm9tIGJ1ZyMgMTk2NQoKMjAwNS0wNy0xMyAxMDoxNyAgYW5keQoKCSogU291cmNlLzogY21DVGVzdC5oLCBDVGVzdC9jbUNUZXN0VGVzdENvbW1hbmQuY3h4OiBFTkg6IEFkZAoJICB0aW1lb3V0IHN1cHBvcnQKCjIwMDUtMDctMTMgMDk6NDkgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IENPTVA6IFJlbW92ZSB3YXJuaW5nIG9uIHdpbmRvd3MKCjIwMDUtMDctMTMgMDk6MDggIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZERveHlnZW4uY21ha2U6IEVOSDogZml4IGZvciBkYXJ3aW4gZnJvbSBlcmljIHdpbmcKCjIwMDUtMDctMTMgMDk6MDYgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBGaW5kT3BlbkFMLmNtYWtlLCBGaW5kUGh5c0ZTLmNtYWtlLCBGaW5kU0RMLmNtYWtlLAoJICBGaW5kU0RMX2ltYWdlLmNtYWtlLCBGaW5kU0RMX21peGVyLmNtYWtlLCBGaW5kU0RMX25ldC5jbWFrZSwKCSAgRmluZFNETF90dGYuY21ha2U6IEVOSDogYWRkIGEgYnVuY2ggb2YgZmluZCBzZGwgc3R1ZmYgZnJvbSBlcmljCgkgIHdpbmcKCjIwMDUtMDctMTMgMDg6MjkgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vOiBDWUdXSU4tZzc3LmNtYWtlLCBJUklYNjQuY21ha2UsIGc3Ny5jbWFrZToKCSAgRklYOiBmb3IgMTg1MiBmaXggZm9ydHJhbiBjYXNlCgoyMDA1LTA3LTEzIDAzOjEwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDctMTIgMTc6MzAgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWwsIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHgsCgkgIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5oeHguaW46IG1lcmdlIGZyb20gbWFpbiB0cmVlCgoyMDA1LTA3LTEyIDE3OjI0ICBob2ZmbWFuCgoJKiBDTWFrZVN5c3RlbUNvbmZpZy50eHQuaW4sIENNYWtlV2luZG93c1N5c3RlbUNvbmZpZy50eHQ6IEVOSDoKCSAgcmVtb3ZlIHVudXNlZCBmaWxlcwoKMjAwNS0wNy0xMiAxNzoyNCAgaG9mZm1hbgoKCSogU291cmNlL2NtQ1BsdWdpbkFQSS5oOiBFTkg6IGNoYW5nZSB2ZXJzaW9uCgoyMDA1LTA3LTEyIDE3OjIzICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvY21jdXJsL0NNYWtlTGlzdHMudHh0OiBhZGQgLWRsIG9uIHVuaXgKCjIwMDUtMDctMTIgMTc6MjIgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogY21ha2VfcmVsZWFzZS5zaCwgY29uZmlnX0RhcndpbiwKCSAgY29uZmlnX0hQLVVYLCBjb25maWdfU3VuT1MsIHJlbGVhc2VfZGlzcGF0Y2guc2g6IG1vdmUgcmVsZWFzZQoJICBzdHVmZiBvZmYgYnJhbmNoCgoyMDA1LTA3LTEyIDE2OjU2ICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cudHh0OiB1cGRhdGUgY2hhbmdlcwoKMjAwNS0wNy0xMiAxNjo1MSAgaG9mZm1hbgoKCSogQ2hhbmdlTG9nLnR4dDogRU5IOiB1cGRhdGUgY2hhbmdlcyBmb3IgMi4yCgoyMDA1LTA3LTEyIDE1OjQwICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jb25maWdfRGFyd2luOiBbbm8gbG9nIG1lc3NhZ2VdCgoyMDA1LTA3LTEyIDE1OjI2ICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jb25maWdfRGFyd2luOiBbbm8gbG9nIG1lc3NhZ2VdCgoyMDA1LTA3LTEyIDE1OjExICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS86IGNvbmZpZ19EYXJ3aW4sIHJlbGVhc2VfZGlzcGF0Y2guc2g6IGZpeGVzIGZvcgoJICBvc3gKCjIwMDUtMDctMTIgMTM6NTQgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NvbmZpZ19TdW5PUzogcHV0IGl0IGJhY2sKCjIwMDUtMDctMTIgMTM6MjEgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy86IFN5c3RlbVRvb2xzLmN4eCwgU3lzdGVtVG9vbHMuaHh4LmluOiBCVUc6IFJldmVydAoJICB0aGUgY2hhbmdlIHRvIEZpbGVJc0RpcmVjdG9yeS4gQWRkIEZpbGVJc1N5bWxpbmsgYW5kIHRyZWF0CgkgIHN5bWxpbmtzIGFzIGZpbGVzIHdoZW4gcmVtb3ZpbmcgZGlyZWN0b3J5CgoyMDA1LTA3LTEyIDEyOjQwICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvY21jdXJsL0NNYWtlTGlzdHMudHh0OiBbbm8gbG9nIG1lc3NhZ2VdCgoyMDA1LTA3LTEyIDEyOjMxICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eDogQlVHOiBHbyBiYWNrIHRvIHRoZSBvcmlnaW5hbAoJICBkaXJlY3RvcnkgYWZ0ZXIgZXhhbWluaW5nIHRoZSBjdXJyZW50IGRpcmVjdG9yeQoKMjAwNS0wNy0xMiAxMjozMCAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHg6IEJVRzogTWFrZSBzdXJlIGl0IGFsd2F5cwoJICBzdGFydHMgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHdoZW4gc2VhcmNoaW5nIGZvciB0ZXN0cwoKMjAwNS0wNy0xMiAxMDozOSAgYW5keQoKCSogU291cmNlLzoga3dzeXMvU3lzdGVtVG9vbHMuY3h4LAoJICBDVGVzdC9jbUNUZXN0RW1wdHlCaW5hcnlEaXJlY3RvcnlDb21tYW5kLmN4eDogQlVHOiBXaGVuIHJlbW92aW5nCgkgIGRpcmVjdG9yeSwgdXNlIGxzdGF0IGluc3RlYWQgb2Ygc3RhdCB0byBtYWtlIHN1cmUgdGhhdCBzeW1saW5rcwoJICBhcmUgdHJlYXRlZCBhcyBmaWxlcyBhbmQgbm90IGFzIGRpcmVjdG9yaWVzCgoyMDA1LTA3LTEyIDEwOjI1ICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jb25maWdfU3VuT1M6IFtubyBsb2cgbWVzc2FnZV0KCjIwMDUtMDctMTIgMTA6MDggIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NvbmZpZ19TdW5PUzogW25vIGxvZyBtZXNzYWdlXQoKMjAwNS0wNy0xMiAwOTozNiAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY29uZmlnX0hQLVVYOiB1c2UgZ21ha2UKCjIwMDUtMDctMTIgMDg6NTAgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogQlVHOiBGaXggcHJvYmxlbSB3aXRoIHZpc3VhbCBzdHVkaW8gaW4KCSAgcmVsZWFzZSBtb2RlCgoyMDA1LTA3LTEyIDAzOjEwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDctMTEgMTg6MDcgIGhvZmZtYW4KCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvZm9ybS9DTWFrZUxpc3RzLnR4dDogRU5IOiBmaXggZnJvbSBtYWluIHRyZWUKCjIwMDUtMDctMTEgMTg6MDcgIGhvZmZtYW4KCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvZm9ybS9DTWFrZUxpc3RzLnR4dDogRU5IOiBhZGQgY3Vyc2VzIGluY2x1ZGUKCSAgZGlyZWN0b3J5CgoyMDA1LTA3LTExIDE3OjU4ICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jb25maWdfRGFyd2luOiB0dXJuIG9mZiB3eCBkaWFsb2cgZm9yIG5vdwoKMjAwNS0wNy0xMSAxNzoxNSAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogZ2V0IHRoZSBjb3JyZWN0IHZlcnNpb24KCjIwMDUtMDctMTEgMTc6MTEgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogY21ha2VfcmVsZWFzZS5zaCwgY21ha2VfcmVsZWFzZS5zaC5pbiwKCSAgY29uZmlnX0NZR1dJTl9OVC01LjEsIGNvbmZpZ19JUklYNjQsIGNvbmZpZ19MaW51eCwKCSAgY3lnd2luLXBhY2thZ2Uuc2guaW4sIHJlbGVhc2VfZGlzcGF0Y2guc2gsIFJFQURNRTogRU5IOiBtZXJnZQoJICBjaGFuZ2VzIGZyb20gYnJhbmNoZXMKCjIwMDUtMDctMTEgMTY6NTcgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlL3JlbGVhc2VfZGlzcGF0Y2guc2g6IFtubyBsb2cgbWVzc2FnZV0KCjIwMDUtMDctMTEgMTY6MDkgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogY21ha2VfcmVsZWFzZS5zaCwgY21ha2VfcmVsZWFzZS5zaC5pbiwKCSAgY29uZmlnX0NZR1dJTl9OVC01LjEsIGNvbmZpZ19JUklYNjQsIGN5Z3dpbi1wYWNrYWdlLnNoLmluLAoJICByZWxlYXNlX2Rpc3BhdGNoLnNoOiBtb3ZlIHN0dWZmIGZyb20gMi4wIG92ZXIgdG8gMi4yCgoyMDA1LTA3LTExIDE1OjIxICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jb25maWdfTGludXg6IG1vdmUgY29uZmlnIGxpbml4IHRvIDIuMiBicmFuY2gKCjIwMDUtMDctMTEgMTU6MTEgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlL3JlbGVhc2VfZGlzcGF0Y2guc2g6IGNoYW5nZSB0byBtdXNlCgoyMDA1LTA3LTExIDE1OjA1ICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9yZWxlYXNlX2Rpc3BhdGNoLnNoOiBFTkg6IGFkZCBmcm9tIEhFQUQKCjIwMDUtMDctMTEgMTU6MDQgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9SZWxlYXNlL3JlbGVhc2VfZGlzcGF0Y2guc2g6IGFkZCBmcm9tIGJyYW5jaAoKMjAwNS0wNy0xMSAxNDo1NSAgbWFydGluawoKCSogQ2hhbmdlTG9nLm1hbnVhbDogRU5IOiBjb21taXQgc29tZSBjaGFuZ2UgbG9ncwoKMjAwNS0wNy0xMSAxNDo1NCAgaG9mZm1hbgoKCSogU291cmNlL2NtQ1BsdWdpbkFQSS5oLCBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoLAoJICBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoLmluOiBFTkg6IGZpeCB1cCBzb21lIHZlcnNpb24KCSAgc3R1ZmYKCjIwMDUtMDctMTEgMTI6MjIgIG1hcnRpbmsKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0VXBkYXRlSGFuZGxlci5jeHg6IEVOSDogcHJvdmlkZSBkZWZhdWx0CgkgIHVwZGF0ZSBvcHRpb25zIGlmIG5vbmUgd2VyZSBwcm92aWRlZAoKMjAwNS0wNy0xMSAxMTo1OSAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eDogRU5IOiBBZGQgZGVmYXVsdCB1cGRhdGUKCSAgb3B0aW9ucwoKMjAwNS0wNy0xMSAxMTozNyAgbWFydGluawoKCSogQ2hhbmdlTG9nLm1hbnVhbDogRU5IOiBhZGRlZCBDaGFuZ2VMb2cgYXMgaW4gcHJpb3IgcmVsZWFzZQoKMjAwNS0wNy0xMSAxMTozNiAgbWFydGluawoKCSogU291cmNlL2NtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuY3h4OiBFTkg6IG1lcmdlIGZyb20gdGhlIG1haW4KCSAgdHJlZSB0byBoYW5kbGUgcmVsYXRpdmUgZmlsZXMKCjIwMDUtMDctMTEgMTE6MzEgIG1hcnRpbmsKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0VXBkYXRlSGFuZGxlci5jeHg6IEVOSDogbWVyZ2VkIGZyb20gQ1ZTIGZpeAoJICBmb3IgU05WIHdhcm5pbmcKCjIwMDUtMDctMTEgMTE6MTYgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0VXBkYXRlSGFuZGxlci5jeHg6IEJVRzogUmVtb3ZlIHdhcm5pbmcgd2hlbgoJICB1c2luZyBDVlMKCjIwMDUtMDctMTEgMDM6MDcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNy0xMCAwMzowOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA3LTA5IDAzOjA4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDctMDggMTE6NTEgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUFkZEN1c3RvbUNvbW1hbmRDb21tYW5kLmN4eDogRU5IOiBzbGlnaHRseSBtb2RpZmllZAoJICB2ZXJzaW9uIG9mIEFsZXgncyByZWxhdGl2ZSBwYXRoIGFyZ3VtZW50cyBmb3IgY3VzdG9tIGNvbW1hbmRzCgoyMDA1LTA3LTA4IDEwOjEzICBtYXJ0aW5rCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoOiBFTkg6IHJlbGVhc2UgY29tbWl0CgoyMDA1LTA3LTA4IDEwOjAwICBtYXJ0aW5rCgoJKiBDTWFrZUxpc3RzLnR4dDogRU5IOiByZXYgdG8gMjIKCjIwMDUtMDctMDggMDk6NTUgIG1hcnRpbmsKCgkqIENNYWtlTGlzdHMudHh0OiBFTkg6IHVwZGF0ZSByZXYgdG8gMjMKCjIwMDUtMDctMDggMDk6MDUgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy90ZXN0UHJvY2Vzcy5jOiBDT01QOiBGaXhlZCB1bmluaXRpYWxpemVkIHZhcmlhYmxlLgoKMjAwNS0wNy0wOCAwMzowOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA3LTA3IDE2OjAxICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Db25maWd1cmVGaWxlQ29tbWFuZC5jeHg6IEVOSDogY29uZmlndXJlIGZpbGUgd2lsbAoJICBhc3N1bWUgc3RhcnQgc291cmNlIGRpciBpZiBhIGZ1bGwgcGF0aCBpcyBub3QgcHJvdmlkZWQKCjIwMDUtMDctMDcgMTU6MDYgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogQlVHOiBsaWJyYXJ5IHJldHVybiB2YWx1ZXMgd2VyZSBub3QgVU5JWAoJICBzbGFzaGVzIG9uIFdpbjk4CgoyMDA1LTA3LTA3IDEzOjU1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Tb3VyY2VGaWxlLmN4eDogQlVHOiBtb3IgZW1pc3NpbmcgY29udmVydCB0byB1bml4CgkgIHNsYXNoZXMKCjIwMDUtMDctMDcgMTE6NDQgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmg6IEVOSDogY2xlYW5lZCB1cCBzb21lIG9sZAoJICBtZXRob2RzIGFuZCB2YXJzCgoyMDA1LTA3LTA3IDEwOjIxICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBFTkg6IFJlbW92aW5nCgkgIENNQUtFX0hJREVfVEFSR0VUX0RJUlMgc2luY2UgaXQgaGFzIGJlZW4gc3VwZXJjZWRlZCBieQoJICBDTUFLRV9UQVJHRVRfRElSX1BSRUZJWC4KCjIwMDUtMDctMDcgMTA6MTQgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEVOSDogQWRkZWQgdXNlIG9mCgkgIENNQUtFX1RBUkdFVF9ESVJfUFJFRklYIHZhcmlhYmxlIHRvIHByZXBlbmQgYSBwcm9qZWN0LXNwZWNpZmllZAoJICBzdHJpbmcgdG8gdGhlIG5hbWVzIG9mIGFsbCB0aGUgdGFyZ2V0LW5hbWUuZGlyIGRpcmVjdG9yaWVzLgoKMjAwNS0wNy0wNyAxMDoxMSAgbWFydGluawoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogRU5IOiBhZGRlZCBhYmlsaXR5IHRvCgkgIHByZWZpeCB0YXJnZXQgZGlyZWN0b3JpZXMgd2l0aCBhIC4gdG8gbWFrZSB0aGVtIG5vdCBzaG93IHVwIGluCgkgIGxzLiBGcm9tIHBhdGNoIGZyb20gQWxleAoKMjAwNS0wNy0wNyAwOTo0NCAgbWFydGluawoKCSogU291cmNlL2NtYWtlLmN4eDogQlVHOiB3aW45NSByZXR1cm5pbmcgbm9uIHVuaXggcGF0aCBmb3IgY21ha2UKCSAgY29tbWFuZAoKMjAwNS0wNy0wNyAwOTowNiAga2luZwoKCSogU291cmNlL2t3c3lzL3Rlc3RQcm9jZXNzLmM6IEVOSDogRXh0ZW5kZWQgdGVzdCAwIHRvIHJ1biB0aGUKCSAgZXhlY3V0YWJsZSB0d2ljZSB1c2luZyB0aGUgc2FtZSBwcm9jZXNzIG9iamVjdC4gIFRoaXMgdGVzdHMgdGhlCgkgIHJldXNhYmlsaXR5IG9mIHRoZSBvYmplY3RzLgoKMjAwNS0wNy0wNyAwOTowNSAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jOiBCVUc6IEZpeGVkIHJldXNhYmlsaXR5IG9mIHByb2Nlc3MKCSAgb2JqZWN0IGJ5IGNsZWFyaW5nIGVhY2ggcGlwZSdzIENsb3NlZCBmbGFnIHdoZW4gY2xlYW5pbmcgdXAuCgoyMDA1LTA3LTA3IDAzOjA4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDctMDYgMTY6MTYgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaDogQlVHOiBmaXggZm9yIGJvb3RzdHJhcCBwcm9ibGVtCgoyMDA1LTA3LTA2IDE1OjUxICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNhY2hlTWFuYWdlci5jeHgsIGNtRmlsZUNvbW1hbmQuY3h4LAoJICBjbVdyaXRlRmlsZUNvbW1hbmQuY3h4OiBTVFlMRTogRml4IHR5cG9zCgoyMDA1LTA3LTA2IDE1OjQ5ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdENvdmVyYWdlSGFuZGxlci5jeHg6IENPTVA6IFJlbW92ZSB3YXJuaW5nCgoyMDA1LTA3LTA2IDE1OjI3ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eCwKCSAgY21DVGVzdENvdmVyYWdlSGFuZGxlci5oOiBFTkg6IEltcHJvdmUgc3VwcG9ydCBmb3IgdmFyaW91cwoJICB2ZXJzaW9ucyBvZiBnY292CgoyMDA1LTA3LTA2IDE1OjI1ICBhbmR5CgoJKiBNb2R1bGVzL0ZpbmRGTFRLLmNtYWtlOiBFTkg6IFJlcGxhY2Ugd2l0aCB0aGUgb25lIGZyb20gSW5zaWdodEFwcAoKMjAwNS0wNy0wNiAxNToyNSAgbWFydGluawoKCSogU291cmNlL2NtTGlzdEZpbGVDYWNoZS5jeHg6IEJVRzogcHJvamVjdCBjb21tYW5kIHNob3VsZCBhbHNvIHdvcmsKCSAgd2l0aCBsb3dlciBjYXNlCgoyMDA1LTA3LTA2IDE1OjI0ICBtYXJ0aW5rCgoJKiBUZXN0cy9TaW1wbGUvQ01ha2VMaXN0cy50eHQ6IEJVRzogbWlub3IgZml4IHRvIHByb2plY3QgbmFtZSB0bwoJICBtYXRjaCBBRERfVEVTVCBjYWxsCgoyMDA1LTA3LTA2IDE1OjExICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN1Ym1pdEhhbmRsZXIuY3h4OiBCVUc6IE9uIHdpbmRvd3MgdGhlcmUgY2FuCgkgIGJlIGEgcHJvYmxlbSBiZWNhdXNlIHNjcCBkb2VzIG5vdCBoYW5kbGUgZHJpdmUgbmFtZXMuIFRoaXMgdXNlcwoJICByZWxhdGl2ZSBwYXRoIGZvciBzY3AKCjIwMDUtMDctMDYgMDM6MTAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNy0wNSAxNjoxMyAgbWFydGluawoKCSogVXRpbGl0aWVzL1JlbGVhc2UvOiBNYWtlUmVsZWFzZS5jbWFrZS5pbiwgUmVsZWFzZS5jbWFrZTogRU5IOiBhCgkgIHN0YXJ0IG9uIFVOSVggcmVsZWFzZQoKMjAwNS0wNy0wNSAxNTo0MyAgbWFydGluawoKCSogVXRpbGl0aWVzL1JlbGVhc2UvUmVsZWFzZS5jbWFrZTogRU5IOiBiZXR0ZXIgcmVsZWFzZSBzdXBwb3J0CgoyMDA1LTA3LTA1IDEyOjM4ICBtYXJ0aW5rCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS86IE1ha2VSZWxlYXNlLmNtYWtlLmluLCBSZWxlYXNlLmNtYWtlOiBFTkg6CgkgIGJldHRlciByZWxlYXNlIHN1cHBvcnQKCjIwMDUtMDctMDUgMTE6MTcgIGFuZHkKCgkqIE1vZHVsZXMvRmluZERDTVRLLmNtYWtlOiBFTkg6IEltcHJvdmVtZW50cyBieSBKdWxpZW4KCjIwMDUtMDctMDUgMTA6MDggIG1hcnRpbmsKCgkqIFNvdXJjZS9jbU1hY3JvQ29tbWFuZC5jeHg6IEVOSDogcmV2ZXJ0IGJhY2sgdG8gc3RyaW5nIHJlcGxhY2VtZW50CgkgIHZlcnNpb24KCjIwMDUtMDctMDUgMDk6MjEgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogdXRpbCB0YXJnZXRzIG5vdwoJICBzaG93IHVwIGluIGxvY2xhIG1ha2VmaWxlIGFuZCBtYWtlIHJlYnVpbGRfY2FjaGUgbm93IHdvcmtzIGluCgkgIHN1YmRpcnMKCjIwMDUtMDctMDUgMDk6MDAgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogQlVHOiBmaXggZm9yIGRlYnVnIG9wdGltaXplZCBsaW5rCgkgIGxpYnJhcmllcwoKMjAwNS0wNy0wNSAwMzowMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA3LTA0IDAzOjAxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDctMDMgMTI6MDYgIGFuZHkKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEVOSDogT25seSB0cnVuY2F0ZSBmaWxlcyB3aGVuIG5vdCBpbiB0cnkKCSAgY29tcGlsZS4gQWxzb20gbW92ZSB0cnVuY2F0aW5nIGNvZGUgY2xvc2VyIHRvIGNvbmZpZ3VyZQoKMjAwNS0wNy0wMyAwMzowMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA3LTAyIDIyOjUwICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogSW1wcm92ZSBwZXJmb3JtYW5jZSBvZiBNYWtlWE1MU2FmZSwKCSAgaW1wcm92ZSBwZXJmb3JtYW5jZSBvZiByZWFkaW5nIGN1c3RvbSBjdGVzdCBmaWxlcywgYW5kIHJlbW92ZQoJICBlcnJvciB3aGVuIHJ1bm5pbmcgY3Rlc3Qgb24gZGlyZWN0b3J5IHdpdGhvdXQKCSAgRGFydENvbmZpZ3VyYXRpb24udGNsCgoyMDA1LTA3LTAyIDIyOjMyICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdENvdmVyYWdlSGFuZGxlci5jeHg6IFNUWUxFOiBVbmlmeSBudW1iZXIgb2YKCSAgc3BhY2VzCgoyMDA1LTA3LTAyIDIyOjMxICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHg6IEVOSDogSW1wcm92ZSBwZXJmb3JtYW5jZSBieQoJICBjb21waWxpbmcgcmVndWxhciBleHByZXNzaW9ucyB3aGVuIG5lZWRlZAoKMjAwNS0wNy0wMiAyMjozMCAgYW5keQoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdFRlc3RIYW5kbGVyLmN4eCwgY21DVGVzdFRlc3RIYW5kbGVyLmg6IEVOSDoKCSAgSW1wcm92ZSBwZXJmb3JtYW5jZSBvZiB0ZXN0aW5nIGFuZCBkbyBub3QgY29tcGxhaW4gaWYKCSAgRGFydFRlc3RmaWxlLnR4dCBpcyBub3QgZm91bmQgb3IgaWYgZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0CgoyMDA1LTA3LTAyIDIyOjI1ICBhbmR5CgoJKiBTb3VyY2UvOiBjbWFrZS5jeHgsIGNtYWtlLmg6IEVOSDogU3RhcnQgYWRkaW5nIHRoZSBjb2RlIHRoYXQgd2lsbAoJICB0cnVuY2F0ZSBvdXRwdXQgbG9ncwoKMjAwNS0wNy0wMiAwMToyNSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA3LTAxIDEwOjU3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUdldFRhcmdldFByb3BlcnR5Q29tbWFuZC5oLCBjbVRhcmdldC5jeHg6IEVOSDogYWRkZWQKCSAgQWxleGFuZGVyJ3MgdGFyZ2V0IHByb3BlcnR5IFRZUEUKCjIwMDUtMDctMDEgMTA6MjMgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtR2V0RGlyZWN0b3J5UHJvcGVydHlDb21tYW5kLmN4eCwKCSAgY21HZXREaXJlY3RvcnlQcm9wZXJ0eUNvbW1hbmQuaDogRU5IOiBhZGRlZCBwYXRjaCBmcm9tIEFsZXhhbmRlcgoJICBOZXVuZG9yZiB0byBnZXQgREVGSU5JVElPTlMKCjIwMDUtMDYtMzAgMTM6MzkgIG1hcnRpbmsKCgkqIFRlc3RzLzogQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwgQ29tcGxleC9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LCBDb21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogRU5IOiBhZGRlZCB0ZXN0aW5nCgkgIG9mIHRoZSBXSElMRSBjb21tYW5kCgoyMDA1LTA2LTMwIDEzOjM5ICBtYXJ0aW5rCgoJKiBEb2NzL2NtYWtlLW1vZGUuZWw6IEVOSDogYWRkZWQgd2hpbGUgY29tbWFuZAoKMjAwNS0wNi0zMCAxMzoyNyAgbWFydGluawoKCSogRG9jcy9jbWFrZS1tb2RlLmVsOiBFTkg6IGFkZGVkIHdoaWxlIGNvbW1hbmQKCjIwMDUtMDYtMzAgMTM6MDkgIG1hcnRpbmsKCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogQ01ha2UubnNpLmluLCBNYWtlUmVsZWFzZS5jbWFrZS5pbiwKCSAgUmVsZWFzZS5jbWFrZSwgV2luMzJSZWxlYXNlLnNoLmluOiBFTkg6IGJldHRlciByZWxlYXNlIHNjcmlwdHMKCjIwMDUtMDYtMzAgMTE6MzMgIG1hcnRpbmsKCgkqIFV0aWxpdGllcy9SZWxlYXNlL1JlbGVhc2UuY21ha2U6IEVOSDogaGFyZCBjb2RlZCBmb3IgVlMgNzEgbm1ha2UKCSAgZm9yIG5vdwoKMjAwNS0wNi0zMCAxMToxOCAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlOiBCVUc6IEZpeGVkIGVzY2FwZWQgcXVvdGUgYXQKCSAgZW5kIG9mIC4KCjIwMDUtMDYtMzAgMDk6NTMgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaDogRU5IOiBhZGRlZCBsb2NhbCBoZWxwIGFuZAoJICBpbnN0YWxsIHRhcmdldHMKCjIwMDUtMDYtMzAgMDk6MjEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9CYXNlNjQuYzogQlVHOiBEbyBub3QgaW5jcmVtZW50IG9wdHIgYnkgMiBhZnRlcgoJICBzdG9yaW5nIG9ubHkgb25lIGNoYXJhY3Rlci4gIEFsc28gZml4ZWQgcG9zc2liaWxpdHkgb2Ygc3RvcmluZwoJICB1bmluaXRpYWxpemVkIGNoYXJhY3RlcnMgZnJvbSB0aGUgbGFzdCB0cmlwbGV0LgoKMjAwNS0wNi0zMCAwNTo0NyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA2LTI5IDEyOjA3ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtYmNjMzIuY21ha2U6IEJVRzogTmVlZCB0byB1c2UgdGhlIC1jCgkgIG9wdGlvbiBmb3IgaW1wbGliIHRvIHByb2R1Y2UgY2FzZS1zZW5zaXRpdmUgc3ltYm9scyBpbiB0aGUgLmxpYgoJICBmaWxlcy4KCjIwMDUtMDYtMjkgMDg6NDYgIG1hcnRpbmsKCgkqIENUZXN0Q3VzdG9tLmN0ZXN0LmluOiBDT01QOiBzaHV0IHVwIHdhcm5pbmcKCjIwMDUtMDYtMjkgMDU6NDkgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNi0yOCAxNTowMCAgbWFydGluawoKCSogVXRpbGl0aWVzL1JlbGVhc2UvOiBDTWFrZS5uc2kuaW4sIENNYWtlSW5zdGFsbC5ibXA6IEVOSDogYWRkZWQKCSAgb3VyIG93biBiaXRtYXAKCjIwMDUtMDYtMjggMTA6NTUgIG1hcnRpbmsKCgkqIFV0aWxpdGllcy9SZWxlYXNlL0NNYWtlLm5zaS5pbiwKCSAgVXRpbGl0aWVzL1JlbGVhc2UvV2luMzJSZWxlYXNlLnNoLmluLAoJICBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoLmluLAoJICBVdGlsaXRpZXMvUmVsZWFzZS9SZWxlYXNlLmNtYWtlLCBDTWFrZUxpc3RzLnR4dDogRU5IOiBhZGRlZCBzb21lCgkgIHJlbGVhc2Ugc3VwcG9ydAoKMjAwNS0wNi0yOCAwNTo0NSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA2LTI3IDE1OjU5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEJVRzogZG9udCBwYXNzIHVudmVyaWZpZWQgY2hhciAqIHRvCgkgIHN0cmVhbXMKCjIwMDUtMDYtMjcgMTI6NDUgIG1hcnRpbmsKCgkqIFRlc3RzL1NpbXBsZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBjb252ZXJ0IHRvIGxvd2VyIGNhc2UKCjIwMDUtMDYtMjcgMTI6NDQgIG1hcnRpbmsKCgkqIEV4YW1wbGUvOiBDTWFrZUxpc3RzLnR4dCwgRGVtby9DTWFrZUxpc3RzLnR4dCwKCSAgSGVsbG8vQ01ha2VMaXN0cy50eHQ6IEVOSDogdXBkdGUgdG8gbG93ZXIgY2FzZSBhbmQgdXNpbmcKCSAgQUREX1NVQkRJUkVDVE9SWQoKMjAwNS0wNi0yNyAxMTozOSAgbWFydGluawoKCSogQ1Rlc3RDdXN0b20uY3Rlc3QuaW46IEVOSDogbW9kcyB0byB3YXJuaW5nIGV4Y2x1ZGVzIGJhc2VkIG9uIG5ldwoJICBsb2NhaXRvbiBvZiBjdXJsCgoyMDA1LTA2LTI3IDA1OjUwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDYtMjYgMDU6NDMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNi0yNSAwNTo0NCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA2LTI0IDEzOjI5ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN1Ym1pdEhhbmRsZXIuY3h4OiBCVUc6IEV4aXQgcHJvcGVybHkgb24gU0NQCgkgIHN1Ym1pc3Npb24KCjIwMDUtMDYtMjQgMDk6NDEgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3VibWl0SGFuZGxlci5jeHg6IENPTVA6IFJlbW92ZSB3YXJuaW5ncwoKMjAwNS0wNi0yNCAwOTowNiAgYW5keQoKCSogQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgU291cmNlL2NtQ1Rlc3QuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN1Ym1pdEhhbmRsZXIuY3h4OiBFTkg6IE1vdmUgY3VybCB0bwoJICB1dGlsaXRpZXMKCjIwMDUtMDYtMjQgMDk6MDAgIGFuZHkKCgkqIFV0aWxpdGllcy9jbWN1cmwvOiBhbWlnYW9zLmMsIGFtaWdhb3MuaCwgYXJwYV90ZWxuZXQuaCwgYmFzZTY0LmMsCgkgIGJhc2U2NC5oLCBjYS1idW5kbGUuaCwgY29ubmVjdC5jLCBjb25uZWN0LmgsIGNvbnRlbnRfZW5jb2RpbmcuYywKCSAgY29udGVudF9lbmNvZGluZy5oLCBjb29raWUuYywgY29va2llLmgsIGN1cmxfbWVtb3J5LmgsIGN1cmx4LmgsCgkgIGRpY3QuYywgZGljdC5oLCBlYXN5LmMsIGVzY2FwZS5jLCBlc2NhcGUuaCwgZmlsZS5jLCBmaWxlLmgsCgkgIGZvcm1kYXRhLmMsIGZvcm1kYXRhLmgsIGZ0cC5jLCBmdHAuaCwgZ2V0ZGF0ZS5jLCBnZXRkYXRlLmgsCgkgIGdldGVudi5jLCBnZXRpbmZvLmMsIGdldGluZm8uaCwgaGFzaC5jLCBoYXNoLmgsIGhvc3RhcmVzLmMsCgkgIGhvc3Rhc3luLmMsIGhvc3RpcC5jLCBob3N0aXAuaCwgaG9zdGlwNC5jLCBob3N0aXA2LmMsIGhvc3RzeW4uYywKCSAgaG9zdHRocmUuYywgaHR0cC5jLCBodHRwLmgsIGh0dHBfY2h1bmtzLmMsIGh0dHBfY2h1bmtzLmgsCgkgIGh0dHBfZGlnZXN0LmMsIGh0dHBfZGlnZXN0LmgsIGh0dHBfbmVnb3RpYXRlLmMsIGh0dHBfbmVnb3RpYXRlLmgsCgkgIGh0dHBfbnRsbS5jLCBodHRwX250bG0uaCwgaWYyaXAuYywgaWYyaXAuaCwgaW5ldF9udG9hX3IuaCwKCSAgaW5ldF9udG9wLmMsIGluZXRfbnRvcC5oLCBpbmV0X3B0b24uYywgaW5ldF9wdG9uLmgsIGtyYjQuYywKCSAga3JiNC5oLCBsZGFwLmMsIGxkYXAuaCwgbGxpc3QuYywgbGxpc3QuaCwgbWQ1LmMsIG1kNS5oLAoJICBtZW1kZWJ1Zy5jLCBtZW1kZWJ1Zy5oLCBtcHJpbnRmLmMsIG11bHRpLmMsIG5ldHJjLmMsIG5ldHJjLmgsCgkgIG53bGliLmMsIHByb2dyZXNzLmMsIHByb2dyZXNzLmgsIHNlY3VyaXR5LmMsIHNlY3VyaXR5LmgsIHNlbmRmLmMsCgkgIHNlbmRmLmgsIHNldHVwLmgsIHNoYXJlLmMsIHNoYXJlLmgsIHNwZWVkY2hlY2suYywgc3BlZWRjaGVjay5oLAoJICBzc2x1c2UuYywgc3NsdXNlLmgsIHN0cmVxdWFsLmMsIHN0cmVxdWFsLmgsIHN0cmVycm9yLmMsCgkgIHN0cmVycm9yLmgsIHN0cnRvay5jLCBzdHJ0b2suaCwgc3RydG9vZmZ0LmMsIHN0cnRvb2ZmdC5oLAoJICB0ZWxuZXQuYywgdGVsbmV0LmgsIHRpbWV2YWwuYywgdGltZXZhbC5oLCB0cmFuc2Zlci5jLCB0cmFuc2Zlci5oLAoJICB1cmwuYywgdXJsLmgsIHVybGRhdGEuaCwgdmVyc2lvbi5jLCBDTWFrZUxpc3RzLnR4dCwgY29uZmlnLmguaW4sCgkgIGN1cmwuY29weXJpZ2h0LCBDTWFrZS9DaGVja1R5cGVTaXplLmMuaW4sCgkgIENNYWtlL0NoZWNrVHlwZVNpemUuY21ha2UsIENNYWtlL0N1cmxUZXN0cy5jLAoJICBQbGF0Zm9ybXMvV2luZG93c0NhY2hlLmNtYWtlLCBQbGF0Zm9ybXMvY29uZmlnLWFpeC5oLAoJICBUZXN0aW5nL0NNYWtlTGlzdHMudHh0LCBUZXN0aW5nL2N1cmxndGsuYywgVGVzdGluZy9jdXJsdGVzdC5jLAoJICBUZXN0aW5nL2Z0cGdldC5jLCBUZXN0aW5nL2Z0cGdldHJlc3AuYywgVGVzdGluZy9mdHB1cGxvYWQuYywKCSAgVGVzdGluZy9nZXRpbm1lbW9yeS5jLCBUZXN0aW5nL2h0dHAtcG9zdC5jLCBUZXN0aW5nL2h0dHBwdXQuYywKCSAgVGVzdGluZy9tdWx0aXRocmVhZC5jLCBUZXN0aW5nL3BlcnNpc3RhbnQuYywgVGVzdGluZy9wb3N0aXQyLmMsCgkgIFRlc3Rpbmcvc2VwaGVhZGVycy5jLCBUZXN0aW5nL3NpbXBsZS5jLCBUZXN0aW5nL3NpbXBsZXNzbC5jLAoJICBUZXN0aW5nL3Rlc3Rjb25maWcuaC5pbiwgVGVzdGluZy93aW4zMnNvY2tldHMuYywgY3VybC9jdXJsLmgsCgkgIGN1cmwvY3VybHZlci5oLCBjdXJsL2Vhc3kuaCwgY3VybC9tcHJpbnRmLmgsIGN1cmwvbXVsdGkuaCwKCSAgY3VybC9zdGRjaGVhZGVycy5oLCBjdXJsL3R5cGVzLmg6IEVOSDogSW5pdGlhbCBpbXBvcnQKCjIwMDUtMDYtMjQgMDU6NDMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNi0yMyAxNjowNiAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXRIYW5kbGVyLmN4eDogRU5IOiBNYWtlIGl0ZXJhdG9ycyBjb25zdAoKMjAwNS0wNi0yMyAxMzowNyAgYW5keQoKCSogVGVzdHMvQ1Rlc3RUZXN0My90ZXN0LmNtYWtlLmluOiBFTkg6IFBlcmZvcm0gc2Vjb25kIHRlc3QgaWYKCSAgc3VidmVyc2lvbiBleGlzdHMKCjIwMDUtMDYtMjMgMTM6MDQgIGFuZHkKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUNUZXN0LmN4eCwgY21DVGVzdC5oLAoJICBDVGVzdC9jbUNUZXN0QnVpbGRBbmRUZXN0SGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RCdWlsZENvbW1hbmQuY3h4LCBDVGVzdC9jbUNUZXN0QnVpbGRIYW5kbGVyLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdENvbmZpZ3VyZUNvbW1hbmQuY3h4LAoJICBDVGVzdC9jbUNUZXN0Q29uZmlndXJlSGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUNvbW1hbmQuY3h4LAoJICBDVGVzdC9jbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eCwgQ1Rlc3QvY21DVGVzdENvdmVyYWdlSGFuZGxlci5oLAoJICBDVGVzdC9jbUNUZXN0R2VuZXJpY0hhbmRsZXIuY3h4LCBDVGVzdC9jbUNUZXN0R2VuZXJpY0hhbmRsZXIuaCwKCSAgQ1Rlc3QvY21DVGVzdEhhbmRsZXJDb21tYW5kLmN4eCwgQ1Rlc3QvY21DVGVzdEhhbmRsZXJDb21tYW5kLmgsCgkgIENUZXN0L2NtQ1Rlc3RNZW1DaGVja0NvbW1hbmQuY3h4LCBDVGVzdC9jbUNUZXN0TWVtQ2hlY2tDb21tYW5kLmgsCgkgIENUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eCwgQ1Rlc3QvY21DVGVzdFN0YXJ0Q29tbWFuZC5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RTdWJtaXRDb21tYW5kLmN4eCwgQ1Rlc3QvY21DVGVzdFN1Ym1pdEhhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0U3VibWl0SGFuZGxlci5oLCBDVGVzdC9jbUNUZXN0VGVzdENvbW1hbmQuY3h4LAoJICBDVGVzdC9jbUNUZXN0VGVzdENvbW1hbmQuaCwgQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdFVwZGF0ZUNvbW1hbmQuY3h4LCBDVGVzdC9jbUNUZXN0VXBkYXRlSGFuZGxlci5jeHgsCgkgIGt3c3lzL0NUZXN0Q29uZmlnLmNtYWtlOiBFTkg6IFNldmVyYWwgaW1wcm92ZW1lbnRzIHdpdGggdGhlIHdheQoJICB0aGluZ3MgYXJlIGhhbmRsZWQuIEFsc28sIHN1cHBvcnQgbXVsdGlwbGUgc3VibWl0ZWQgZmlsZXMKCjIwMDUtMDYtMjMgMTI6MzQgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbU1hY3JvQ29tbWFuZC5jeHg6IENPTVA6IGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAwNS0wNi0yMyAxMTowMyAgbWFydGluawoKCSogU291cmNlLzogY21Gb3JFYWNoQ29tbWFuZC5jeHgsIGNtSWZDb21tYW5kLmN4eCwKCSAgY21NYWNyb0NvbW1hbmQuY3h4LCBjbVdoaWxlQ29tbWFuZC5jeHg6IEVOSDogY29udmVydGVkIG1hY3JvIHRvCgkgIHVzZSB2YXJpYWJsZXMgYW5kIGZpeGVkIHNvbWUgY2FzZSBpc3N1ZXMgd2l0aCBzb21lIGZ1bmN0aW9uCgkgIGJsb2NrZXJzCgoyMDA1LTA2LTIzIDEwOjI1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvaGFzaHRhYmxlLmh4eC5pbjogRU5IOiBBZGRlZCBzb21lIHNtYWxsZXIgcHJpbWVzIHRvCgkgIGFsbG93IHNtYWxsIGhhc2ggdGFibGUgc2l6ZXMgYW5kIHRoZXJlZm9yZSBzaG9ydGVyIGluaXRpYWwKCSAgY29uc3RydWN0aW9uIHRpbWVzLgoKMjAwNS0wNi0yMyAwNTo1NyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA2LTIyIDE0OjIwICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Gb3JFYWNoQ29tbWFuZC5oOiBTVFlMRTogdXBkYXRlZCB0aGUgZG9jcyB0byBiZSBtb3JlCgkgIGFjY3VyYXRlCgoyMDA1LTA2LTIyIDE0OjE2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Gb3JFYWNoQ29tbWFuZC5jeHg6IENPTVA6IGZpeCBwb3NzaWJsZSBwb3JvYmxlbSB3aXRoCgkgIGZyZWVkIG1lbW9yeQoKMjAwNS0wNi0yMiAxNDowNCAgbWFydGluawoKCSogU291cmNlL2NtRm9yRWFjaENvbW1hbmQuY3h4OiBDT01QOiBmaXggdW51c2VkIHZhcmlhYmxlCgoyMDA1LTA2LTIyIDEzOjMyICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Gb3JFYWNoQ29tbWFuZC5jeHg6IEVOSDogY2hhbmdlZCBGT1JFQUNIIHRvIHVzZQoJICB2YXJpYWJsZXMgaW5zdGVhZCBvZiBzdHJpbmcgcmVwbGFjZW1lbnQKCjIwMDUtMDYtMjIgMTA6NTQgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4OiBCVUc6IEZpeCBkaXNwbGF5aW5nIG9mCgkgIHBlcmNlbnRhZ2UKCjIwMDUtMDYtMjIgMTA6MDkgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogY2xlYW4gcnVsZSB3YXNuJ3QKCSAgY2xlYW5pbmcgbGlicyBhbmQgZXhlY3V0YWJsZXMKCjIwMDUtMDYtMjIgMDk6MTIgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVRhcmdldC5jeHg6IEVOSDogc29tZSBiZXR0ZXIgY2hlY2tzCgoyMDA1LTA2LTIyIDA5OjA2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUV4cG9ydExpYnJhcnlEZXBlbmRlbmNpZXMuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsS2RldmVsb3BHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLCBjbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbEdlbmVyYXRvci5oLCBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuaCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLCBjbU1ha2VEZXBlbmQuY3h4LAoJICBjbU1ha2VEZXBlbmQuaCwgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaCwKCSAgY21PcmRlckxpbmtEaXJlY3Rvcmllcy5jeHgsIGNtT3JkZXJMaW5rRGlyZWN0b3JpZXMuaCwKCSAgY21UYXJnZXQuY3h4LCBjbVRhcmdldC5oOiBFTkg6IG1ha2UgTE9DQVRJT04gYW4gY29tcHV0ZWQgcHJvcGVydHkKCSAgb2YgdGhlIHRhcmdldCBhbmQgZ2V0IHJpZCBvZiBhIGJ1bmNoIG9mIGNvbnN0IGp1bmsKCjIwMDUtMDYtMjIgMDU6NDMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNi0yMSAxNjo0NCAgYW5keQoKCSogU291cmNlL2NtQ29tbWFuZEFyZ3VtZW50UGFyc2VySGVscGVyLmN4eDogRU5IOiBSZW1vdmUgc3RyYXkgYWJvcnQKCjIwMDUtMDYtMjEgMTY6MjkgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogRU5IOiBmaXggZm9yIEJTRCBtYWtlcyBubwoJICBsb25nZXIgdXNlIGRpciBuYW1lIGFzIGEgdGFyZ2V0CgoyMDA1LTA2LTIxIDE0OjIwICBraW5nCgoJKiBTb3VyY2UvY21UcnlSdW5Db21tYW5kLmN4eDogQlVHOiBGaXhlZCBlcnJvciBtZXNzYWdlIGZvcm1hdHRpbmcKCSAgd2hlbiB0cnkgcnVuIGV4ZWN1dGFibGUgY29tbWFuZCBjYW5ub3QgYmUgZm91bmQuCgoyMDA1LTA2LTIxIDExOjAxICBhbmR5CgoJKiBTb3VyY2UvY21Db21tYW5kQXJndW1lbnRQYXJzZXJIZWxwZXIuY3h4OiBCVUc6IEZpeCBlc2NhcGluZyB0bwoJICBtYWtlIE9TWCB3b3JrIGFnYWluCgoyMDA1LTA2LTIxIDEwOjMzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvdGVzdFByb2Nlc3MuYzogQlVHOiBVc2Ugc2xlZXAoMSkgaW5zdGVhZCBvZgoJICB1c2xlZXAoMTAwMDAwMCkgYmVjYXVzZSBzb21lIFVOSVggc3lzdGVtcyBzcGVjaWZ5IHRoYXQgdGhlCgkgIGFyZ3VtZW50IHRvIHVzbGVlcCBtdXN0IGJlIGxlc3MgdGhhbiAxMDAwMDAwLgoKMjAwNS0wNi0yMSAwOTozNCAgbWFydGluawoKCSogU291cmNlLzogY21DdXN0b21Db21tYW5kLmN4eCwgY21DdXN0b21Db21tYW5kLmgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogRU5IOiBhZGQgdGVzdCB0byBtYWtlIHN1cmUKCSAgY3VzdG9tIGNvbW1hbmRzIGFyZSB1c2VkCgoyMDA1LTA2LTIxIDA1OjU2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDYtMjAgMTc6NTcgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRU5IOiBJbml0aWFsaXplIGhhbmRsZXIgYmVmb3JlIHByb2Nlc3NpbmcgaXQKCjIwMDUtMDYtMjAgMTc6MzcgIGFuZHkKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvLk5vRGFydENvdmVyYWdlOiBFTkg6IFVudGlsIHRoZXJlIGlzIHNvbWUKCSAgdGVzdCBmb3IgY3Vyc2VzIGRpYWxvZywgbm8gbmVlZCB0byBkbyBjb3ZlcmFnZQoKMjAwNS0wNi0yMCAxNjozMSAgbWFydGluawoKCSogTW9kdWxlcy86IERhcnQuY21ha2UsIFRlc3RDWFhBY2NlcHRzRmxhZy5jbWFrZSwKCSAgUGxhdGZvcm0vRGFyd2luLmNtYWtlOiBFTkg6IGZpeGVkIHNvbWUgc3BlbGxpbmcgZXJyb3JzCgoyMDA1LTA2LTIwIDE2OjI0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEJVRzogZ29vZiBpbiBuZXcgZmVhdHVyZSBmaXhlZAoKMjAwNS0wNi0yMCAxNDoxNSAgbWFydGluawoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuaDogRU5IOiByZW1vdmVkIHVudXNlZCBmaWxlcwoKMjAwNS0wNi0yMCAxNDowMCAgbWFydGluawoKCSogRG9jcy9DTWFrZTA0LnJ0ZiwgU291cmNlL2NtR2V0VGFyZ2V0UHJvcGVydHlDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtR2V0VGFyZ2V0UHJvcGVydHlDb21tYW5kLmgsIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEVOSDogbW9kaWZpZWQgR0VUX1RBUkdFVF9QUk9QRVJUSUVTIHRvCgkgIHdvcmsgd2l0aCBhbGwgdGFyZ2V0cwoKMjAwNS0wNi0yMCAxMzo0OSAgYmFycmUKCgkqIFNvdXJjZS9rd3N5cy90ZXN0U3lzdGVtVG9vbHMuY3h4OiBFTkg6IGZpeCB0ZXN0LCBpdCBoYXMgdG8gcmV0dXJuCgkgIGEgdHJ1ZS9mYWxzZSB2YWx1ZSBvdGhlcndpc2UgaXQganVzdCBwYXNzZXMgdGhlIHRlc3QsIGFuZCBhZGQKCSAgdGVzdCBmb3IgRXNjYXBlQ2hhcnMKCjIwMDUtMDYtMjAgMTM6MTAgIG1hcnRpbmsKCgkqIE1vZHVsZXMvOiBUZXN0QmlnRW5kaWFuLmNtYWtlLCBVc2VTV0lHLmNtYWtlOiBCVUc6IGZpeCBzb21lCgkgIG1pc3NpbmcgcXVvdGVzIGZvciBTVFJFUVVBTCBJRiBzdGF0ZW1lbnRzCgoyMDA1LTA2LTIwIDEyOjU1ICBtYXJ0aW5rCgoJKiBNb2R1bGVzL0NNYWtlR2VuZXJpY1N5c3RlbS5jbWFrZTogRU5IOiBhZGRlIGRiYWNrIGluCgkgIENNQUtFX1ZFUkJPU0VfTUFLRUZJTEUgdGhhdCB3YXMgYWNjIHJlbW92ZWQKCjIwMDUtMDYtMjAgMTE6NTQgIGtpbmcKCgkqIFNvdXJjZS9jbVNldFRhcmdldFByb3BlcnRpZXNDb21tYW5kLmg6IEVOSDogQWRkZWQgZG9jdW1lbnRhdGlvbgoJICBvZiBWRVJTSU9OIGFuZCBTT1ZFUlNJT04gcHJvcGVydGllcy4KCjIwMDUtMDYtMjAgMTE6NTMgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuaCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5oOiBFTkg6IG5vIGxvbmdlciB1c2VkCgoyMDA1LTA2LTIwIDExOjQ5ICBtYXJ0aW5rCgoJKiBUZXN0cy9DT25seS9DTWFrZUxpc3RzLnR4dDogQ09NUDogY29udmVydGVkIHRvIGxvd2VyY2FzZSBjb21tYW5kcwoKMjAwNS0wNi0yMCAxMTo0NyAgbWFydGluawoKCSogRG9jcy9jbWFrZS1tb2RlLmVsOiBFTkg6IHVwZGF0ZWQgZW1hY3MgbW9kZSB0byBpbmNsdWRlIGxvd2VyY2FzZQoJICBjb21tYW5kcyBhbmQgbWlzc2luZyBjb21tYW5kIEVORE1BQ1JPCgoyMDA1LTA2LTIwIDA4OjU5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eDogQ09NUDogc2VlIGFib3V0IGZpeGluZwoJICB3YXJuaW5nCgoyMDA1LTA2LTIwIDA3OjQyICBhbmR5CgoJKiBUZXN0cy9DVGVzdFRlc3QzL3Rlc3QuY21ha2UuaW46IEVOSDogU2tpcCBzdm4gdGVzdCBmb3Igbm93CgoyMDA1LTA2LTIwIDA1OjUwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDYtMTkgMDY6NTEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNi0xOCAwNToyOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA2LTE3IDIzOjE1ICBhbmR5CgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IENPTVA6IEZpeCBwcm9ibGVtcyB3aXRoIG9sZCBjbWFrZQoKMjAwNS0wNi0xNyAxNTo1MCAgYW5keQoKCSogU291cmNlLzogY21Db21tYW5kQXJndW1lbnRMZXhlci5jeHgsIGNtQ29tbWFuZEFyZ3VtZW50TGV4ZXIuaW4ubCwKCSAgY21Db21tYW5kQXJndW1lbnRQYXJzZXJIZWxwZXIuY3h4LAoJICBjbUNvbW1hbmRBcmd1bWVudFBhcnNlckhlbHBlci5oLCBjbUxpc3RGaWxlQ2FjaGUuY3h4LAoJICBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oOiBFTkg6IEltcHJvdmUgaGFuZGxpbmcgb2YgZXNjYXBlZAoJICBjaGFyYWN0ZXJzCgoyMDA1LTA2LTE3IDE1OjQ0ICBhbmR5CgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogUGFzcyBjdGVzdCBjb25maWcgdHlwZSB0bwoJICBzdWJwcm9jZXNzZXMKCjIwMDUtMDYtMTcgMTU6NDMgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4OiBFTkg6IFBhc3MgY29uZmlndXJhdGlvbiB0eXBlCgkgIHRvIHN1YnByb2Nlc3NlcwoKMjAwNS0wNi0xNyAxNDoxMyAga2luZwoKCSogU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0OiBFTkg6IEVuYWJsaW5nIG5ldyB0ZXN0IDcgb2YgcHJvY2VzcwoJICBleGVjdXRpb24uCgoyMDA1LTA2LTE3IDE0OjA3ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzcy5oLmluOiBFTkg6IEFkZGVkIHBvbGxpbmcgZmVhdHVyZSB0bwoJICBkb2N1bWVudGF0aW9uIG9mIFdhaXRGb3JEYXRhLgoKMjAwNS0wNi0xNyAxNDowNSAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jOiBCVUc6IEZpeGVkIHBvbGxpbmcgZmVhdHVyZSBvZgoJICBXYWl0Rm9yRGF0YS4KCjIwMDUtMDYtMTcgMTM6NTkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy90ZXN0UHJvY2Vzcy5jOiBFTkg6IEFkZGVkIHRlc3QgNyB0byBleHBvc2UgcHJvYmxlbXMKCSAgd2l0aCBwb2xsaW5nIGJ5IFdhaXRGb3JEYXRhLgoKMjAwNS0wNi0xNyAxMzo1NyAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NVTklYLmM6IEJVRzogRml4ZWQgcG9sbGluZyBjYXBhYmlsaXR5IG9mCgkgIFdhaXRGb3JEYXRhLgoKMjAwNS0wNi0xNyAxMzoxNCAgYW5keQoKCSogVGVzdHMvQ1Rlc3RUZXN0My90ZXN0LmNtYWtlLmluOiBFTkg6IE1ha2UgQ1ZTIG9uZSBuaWdodGx5CgoyMDA1LTA2LTE3IDEzOjA3ICBhbmR5CgoJKiBUZXN0cy9DVGVzdFRlc3QzL3Rlc3QuY21ha2UuaW46IEVOSDogQWRkIHN1YnZlcnNpb24gdGVzdAoKMjAwNS0wNi0xNyAxMzowNCAgYW5keQoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaCwgY21Db21tYW5kLmgsIGNtT2JqZWN0LmgsCgkgIGNtU3RhbmRhcmRJbmNsdWRlcy5oLCBDVGVzdC9jbUNUZXN0QnVpbGRBbmRUZXN0SGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RCdWlsZEFuZFRlc3RIYW5kbGVyLmgsCgkgIENUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4LCBDVGVzdC9jbUNUZXN0QnVpbGRIYW5kbGVyLmgsCgkgIENUZXN0L2NtQ1Rlc3RDb25maWd1cmVIYW5kbGVyLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdENvbmZpZ3VyZUhhbmRsZXIuaCwKCSAgQ1Rlc3QvY21DVGVzdENvdmVyYWdlSGFuZGxlci5jeHgsIENUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuaCwKCSAgQ1Rlc3QvY21DVGVzdEdlbmVyaWNIYW5kbGVyLmgsIENUZXN0L2NtQ1Rlc3RNZW1DaGVja0hhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0TWVtQ2hlY2tIYW5kbGVyLmgsIENUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdFNjcmlwdEhhbmRsZXIuaCwgQ1Rlc3QvY21DVGVzdFN0YXJ0Q29tbWFuZC5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RTdWJtaXRIYW5kbGVyLmN4eCwgQ1Rlc3QvY21DVGVzdFN1Ym1pdEhhbmRsZXIuaCwKCSAgQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eCwgQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmgsCgkgIENUZXN0L2NtQ1Rlc3RVcGRhdGVDb21tYW5kLmN4eCwgQ1Rlc3QvY21DVGVzdFVwZGF0ZUhhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0VXBkYXRlSGFuZGxlci5oOiBFTkg6IEFkZCBzdXBlcmNsYXNzIGZvciBhbGwKCSAgY29tbWFuZHMgYW5kIGhhbmRsZXJzLiBJbXByb3ZlIGhhbmRsZXJzIHRvIGhhdmUgaW5pdGlhbGl6YXRpb24KCSAgY29kZSwgYW5kIHN0YXJ0IGluaXRpYWxpemluZyBjdGVzdCB3aGVuIHN0YXJ0IGlzIGludm9rZWQKCjIwMDUtMDYtMTcgMTE6NDYgIG1hbGF0ZXJyZQoKCSogU291cmNlL2t3c3lzL0NvbW1hbmRMaW5lQXJndW1lbnRzLmh4eC5pbjogRU5IOiBGaXggQnVnICMxOTUwLAoJICBwcm92aWRlIGEgZGlyZWN0IGFjY2VzcyB0byB0aGUgaW5wdXQuIE1pbm9yIGNsZWFudXAgKGNvbnZlbmllbmNlKQoKMjAwNS0wNi0xNyAwOTo0OSAga2luZwoKCSogU291cmNlLzogY21DTWFrZU1pbmltdW1SZXF1aXJlZC5jeHgsIGNtTWFrZWZpbGUuaCwgY21WZXJzaW9uLmg6CgkgIEVOSDogRW5hYmxpbmcgYWJpbGl0eSBmb3IgQ01BS0VfTUlOSU1VTV9SRVFVSVJFRCB2ZXJzaW9uIHRvCgkgIGluY2x1ZGUgcGF0Y2ggbGV2ZWwuCVN1Ym1pdHRlZCBieSBBbGV4YW5kZXIgTmV1bmRvcmYuCgoyMDA1LTA2LTE3IDA4OjQ1ICBhbmR5CgoJKiBUZXN0cy9NYWNyb1Rlc3QvQ01ha2VMaXN0cy50eHQ6IEVOSDogRml4IHRlc3Qgb24gSFAKCjIwMDUtMDYtMTcgMDU6NTAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNi0xNiAxNjo0MiAgYW5keQoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogV2hlbiBydW5uaW5nIHRoZSBzYW1lCgkgIGN0ZXN0IGFzIHRoZSBvbmUgd2UgYXJlIHRlc3RpbmcsIG1ha2Ugc3VyZSB0byBydW4gYXMgc2VwYXJhdGUKCSAgcHJvY2VzcwoKMjAwNS0wNi0xNiAxNjozMyAgYW5keQoKCSogU291cmNlLzogY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaDogRU5IOiBBZGQgZXh0cmEgYXJndW1lbnQKCjIwMDUtMDYtMTYgMTY6MjQgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eCwgVGVzdHMvQ1Rlc3RUZXN0My90ZXN0LmNtYWtlLmluOiBFTkg6IFJldHVybgoJICBlcnJvciBpZiB0aGVyZSBpcyBhbiBFUlJPUl9NRVNTQUdFLiBBbHNvIGZpeCB0YWcgZm9yIHRoZSB0ZXN0CgoyMDA1LTA2LTE2IDE1OjQ0ICBhbmR5CgoJKiBTb3VyY2UvY21Db21tYW5kLmg6IENPTVA6IEZpeCBidWlsZCBlcnJvciBvbiBXaW5kb3dzCgoyMDA1LTA2LTE2IDE0OjU2ICBhbmR5CgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFRlc3RzL01hY3JvVGVzdC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvTWFjcm9UZXN0L21hY3JvVGVzdC5jOiBFTkg6IEFkZCB0ZXN0IG9mIG1hY3JvCgoyMDA1LTA2LTE2IDE0OjU2ICBhbmR5CgoJKiBTb3VyY2UvOiBjbWFrZS5jeHgsIGNtYWtlLmg6IEVOSDogQmVmb3JlIHJ1bm5pbmcgY29uZmlncmUsIHJlbW92ZQoJICBhbGwgbWFjcm9zLiBBbHNvLCBiYWNrdXAgdGhlIGNvbW1hbmQgbmFtZXMuIEFsc28sIG1ha2UgY29tbWFuZAoJICBuYW1lcyBjYXNlIGluc2Vuc2l0aXZlCgoyMDA1LTA2LTE2IDE0OjA1ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNvbW1hbmQuaCwgY21Db25maWd1cmVGaWxlQ29tbWFuZC5oLAoJICBjbUZMVEtXcmFwVUlDb21tYW5kLmgsIGNtUVRXcmFwQ1BQQ29tbWFuZC5oLCBjbVFUV3JhcFVJQ29tbWFuZC5oLAoJICBjbVVzZU1hbmdsZWRNZXNhQ29tbWFuZC5oLCBjbVZUS1dyYXBKYXZhQ29tbWFuZC5oLAoJICBjbVZUS1dyYXBQeXRob25Db21tYW5kLmgsIGNtVlRLV3JhcFRjbENvbW1hbmQuaDogRU5IOiBBZGQKCSAgY2xhc3NuYW1lIHRvIGNvbW1hbmRzCgoyMDA1LTA2LTE2IDEzOjI5ICBhbmR5CgoJKiBUZXN0cy9DVGVzdFRlc3QzL3Rlc3QuY21ha2UuaW46IEVOSDogSW5pdGlhbCBpbXBvcnQKCjIwMDUtMDYtMTYgMTM6MTggIGFuZHkKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgU291cmNlL2NtQ1Rlc3QuY3h4LCBTb3VyY2UvY21DVGVzdC5oLAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0Q29tbWFuZC5oLAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdEdlbmVyaWNIYW5kbGVyLmgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3RhcnRDb21tYW5kLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXRDb21tYW5kLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXRIYW5kbGVyLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RVcGRhdGVDb21tYW5kLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eCwKCSAgVGVzdHMvQ1Rlc3RUZXN0Mi90ZXN0LmNtYWtlLmluOiBFTkg6IFNldmVyYWwgaW1wcm92ZW1lbnRzIHRvCgkgIENUZXN0OgoKCSAgMS4gU3VwcG9ydCBmb3Igc2hvd2luZyBsaW5lIG51bWJlcnMgd2hlbiBkZWJ1Z2dpbmcgY3Rlc3QKCSAgLS1zaG93LWxpbmUtbnVtYmVycyAyLiBNb2RpZnkgdGhlIGN0ZXN0IGluaXRpYWxpemF0aW9uIGNvZGUsIHNvCgkgIHRoYXQgaXQgY2FuIGJlIGRlbGF5ZWQgMy4gSGFuZGxlcnMgbm93IGhhdmUgY29ycmVzcG9uZGluZyBjb21tYW5kCgkgIGlmIHRoZXkgd2VyZSBpbnZva2VkIGZyb20gdGhlIGNvbW1hbmQgKHNvIGZhciBvbmx5IHVwZGF0ZQoJICBhY3R1YWxseSB1c2UgdGhhdCkgNC4gU3RhcnQgY29tbWFuZCBpcyBzaW1wbGlmaWVkIGFuZCB0aGUKCSAgZnVuY3Rpb25hbGl0eSBpcyBtb3ZlZCB0byBDVGVzdCA1LiBVcGRhdGUgY2FuIHBlcmZvcm0gaW5pdGlhbAoJICBjaGVja291dCBpZiBDVEVTVF9DSEVDS09VVF9DT01NQU5EIGlzIHNldCA2LiBBZGQgdGVzdCB0aGF0IGNoZWNrcwoJICBvdXQga3dzeXMgYW5kIHBlcmZvcm0gdGVzdHMgb24gdGhlIGZyZXNoIGNoZWNrb3V0CgoyMDA1LTA2LTE2IDExOjUyICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogYWRkIGZpcnN0IGN1dCBhdCBzdXBwb3J0IGZvciBleGUgd2l0aAoJICBzYW1lIG5hbWUgYXMgbGliCgoyMDA1LTA2LTE2IDExOjQ4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbVNldFRhcmdldFByb3BlcnRpZXNDb21tYW5kLmgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEVOSDogYWRkIGZpcnN0IGN1dCBhdCBzdXBwb3J0CgkgIGZvciBleGUgd2l0aCBzYW1lIG5hbWUgYXMgbGliCgoyMDA1LTA2LTE2IDExOjQ3ICBtYXJ0aW5rCgoJKiBUZXN0cy9TYW1lTmFtZS86IENNYWtlTGlzdHMudHh0LCBFeGUxL0NNYWtlTGlzdHMudHh0LAoJICBFeGUxL2Nvbmx5LmMsIExpYjEvQ01ha2VMaXN0cy50eHQsIExpYjEvbGliYzEuYywgTGliMS9saWJjMS5oOgoJICBFTkg6IGFkZCBzYW1lIG5hbWUgdGVzdAoKMjAwNS0wNi0xNiAxMDoyMyAgbWFydGluawoKCSogU291cmNlL2NtSVRLV3JhcFRjbENvbW1hbmQuY3h4OiBFTkg6IHJlcGxhY2UgYnJhY2tldHMgd2l0aCBtb3JlCgkgIGdlbmVyaWMgZmluZAoKMjAwNS0wNi0xNiAxMDoyMiAgbWFydGluawoKCSogU291cmNlL2NtT3JkZXJMaW5rRGlyZWN0b3JpZXMuY3h4OiBFTkg6IG1ha2UgbW9yZSBzcGVjaWZpYyBpbgoJICByZWplY3Qgc2VsZiBsaW5raW5nCgoyMDA1LTA2LTE2IDA1OjUwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDYtMTUgMTU6NTEgIGFuZHkKCgkqIFNvdXJjZS9jbUNvbW1hbmQuaDogRU5IOiBBZGQgYWNjZXNzb3IgZm9yIE1ha2VmaWxlIGFuZCBtYWtlCgkgIFNldEVycm9yIHB1YmxpYwoKMjAwNS0wNi0xNSAxNToyOSAgaG9mZm1hbgoKCSogQ1Rlc3RDb25maWcuY21ha2U6IEVOSDogYWRkIGZvciB0ZXN0aW5nCgoyMDA1LTA2LTE1IDEwOjU0ICBhbmR5CgoJKiBUZXN0cy9DVGVzdFRlc3QyL3Rlc3QuY21ha2UuaW46IEJVRzogRml4IHR5cG8KCjIwMDUtMDYtMTUgMTA6NTMgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RNZW1DaGVja0NvbW1hbmQuY3h4LAoJICBjbUNUZXN0TWVtQ2hlY2tIYW5kbGVyLmN4eDogRU5IOiBQYXNzIGluIG1lbWNoZWNrIGNvbW1hbmQgb3B0aW9ucwoJICBhbmQgc3VwcHJlc2lvbnMsIGFuZCBjaGFuZ2Ugc2tpbiB0byB0b29sCgoyMDA1LTA2LTE1IDEwOjUzICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdENvdmVyYWdlQ29tbWFuZC5jeHg6IEVOSDogSGFuZGxlIHBhc3NpbmcgaW4KCSAgY292ZXJhZ2UgY29tbWFuZAoKMjAwNS0wNi0xNSAwODo1NCAgYW5keQoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZCBsb2dnaW5nIHRvIGltcHJvdmUgY292ZXJhZ2UKCjIwMDUtMDYtMTUgMDU6NDIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNi0xNCAxNTo1MyAgYW5keQoKCSogVXRpbGl0aWVzLy5Ob0RhcnRDb3ZlcmFnZTogRU5IOiBObyBuZWVkIHRvIGRvIGNvdmVyYWdlIG9mCgkgIHV0aWxpdGllcwoKMjAwNS0wNi0xNCAxNTo0OSAgYW5keQoKCSogU291cmNlLzogY21Db21tYW5kQXJndW1lbnRQYXJzZXJIZWxwZXIuY3h4LAoJICBjbUNvbW1hbmRBcmd1bWVudFBhcnNlckhlbHBlci5oOiBFTkg6IE1vcmUgY2xlYW51cHMKCjIwMDUtMDYtMTQgMTQ6MDEgIGFuZHkKCgkqIFRlc3RzL0NUZXN0VGVzdDIvdGVzdC5jbWFrZS5pbjogRU5IOiBBbHNvIHBlcmZvcm0gbWVtb3J5IGNoZWNraW5nCgkgIGFuZCBjb3ZlcmFnZQoKMjAwNS0wNi0xNCAxNDowMCAgYW5keQoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIENUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUNvbW1hbmQuY3h4LAoJICBDVGVzdC9jbUNUZXN0Q292ZXJhZ2VDb21tYW5kLmgsIENUZXN0L2NtQ1Rlc3RNZW1DaGVja0NvbW1hbmQuY3h4LAoJICBDVGVzdC9jbUNUZXN0TWVtQ2hlY2tDb21tYW5kLmgsIENUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eDoKCSAgRU5IOiBBZGQgY29tbWFuZHMgZm9yIG1lbW9yeSBjaGVja2luZyBhbmQgY292ZXJhZ2UKCjIwMDUtMDYtMTQgMTM6MjIgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ29tbWFuZEFyZ3VtZW50TGV4ZXIuY3h4LCBjbUNvbW1hbmRBcmd1bWVudExleGVyLmluLmw6CgkgIEVOSDogSW1wcm92ZSB2YXJpYWJsZSBuYW1lIHJlZ3VsYXIgZXhwcmVzc2lvbgoKMjAwNS0wNi0xNCAxMjo0OCAgYW5keQoKCSogU291cmNlLzogY21NYWNyb0NvbW1hbmQuY3h4LCBjbWFrZS5jeHgsIGNtYWtlLmg6IEVOSDogU2F2ZQoJICBjb21tYW5kIHRoYXQgbWFjcm8gb3ZlcndyaXRlcwoKMjAwNS0wNi0xNCAxMTo0MiAgYW5keQoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaCwKCSAgQ1Rlc3QvY21DVGVzdENvdmVyYWdlSGFuZGxlci5jeHgsIENUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eDoKCSAgRU5IOiBTZXBhcmF0ZSBzdGFuZGFyZCBvdXRwdXQgYW5kIHN0YW5kYXJkIGVycm9yIGZvciBwcm9ibGVtYXRpYwoJICBjb21tYW5kcwoKMjAwNS0wNi0xNCAwMzowMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA2LTEzIDE4OjAzICBiYXJyZQoKCSogU291cmNlL2t3c3lzLzogU3lzdGVtVG9vbHMuY3h4LCBTeXN0ZW1Ub29scy5oeHguaW46IEVOSDogYWRkCgkgIG1ldGhvZCB0byBlc2NhcGUgc29tZSBjaGFycyBpbiBhIHN0cmluZwoKMjAwNS0wNi0xMyAxNDoyOSAgYW5keQoKCSogU291cmNlL2NtQ29tbWFuZEFyZ3VtZW50UGFyc2VySGVscGVyLmN4eDogRU5IOiBIYW5kbGUKCSAgbm9uLWV4aXN0aW5nIHZhcmlhYmxlcwoKMjAwNS0wNi0xMyAxMTowMCAgYW5keQoKCSogYm9vdHN0cmFwLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogRU5IOiBVc2UKCSAgdGhlIG5ldyBwYXJzZXIgdGhhdCBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzCgoyMDA1LTA2LTEzIDEwOjI3ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNvbW1hbmRBcmd1bWVudFBhcnNlci5jeHgsIGNtQ29tbWFuZEFyZ3VtZW50UGFyc2VyLnk6CgkgIEVOSDogTW9yZSBjbGVhbnVwcwoKMjAwNS0wNi0xMyAxMDoxMSAgYW5keQoKCSogU291cmNlLzogY21Db21tYW5kQXJndW1lbnRQYXJzZXJIZWxwZXIuY3h4LAoJICBjbUNvbW1hbmRBcmd1bWVudFBhcnNlckhlbHBlci5oOiBFTkg6IE1vcmUgb3B0aW1pemF0aW9uCgoyMDA1LTA2LTEzIDEwOjAxICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNvbW1hbmRBcmd1bWVudExleGVyLmN4eCwgY21Db21tYW5kQXJndW1lbnRMZXhlci5oLAoJICBjbUNvbW1hbmRBcmd1bWVudFBhcnNlci5jeHgsIGNtQ29tbWFuZEFyZ3VtZW50UGFyc2VyVG9rZW5zLmg6CgkgIEVOSDogSW5pdGlhbCBpbXBvcnQKCjIwMDUtMDYtMTMgMTA6MDAgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ29tbWFuZEFyZ3VtZW50UGFyc2VySGVscGVyLmN4eCwKCSAgY21Db21tYW5kQXJndW1lbnRQYXJzZXJIZWxwZXIuaDogRU5IOiBIYW5kbGUgZXJyb3JzIGFuZCBvcHRpbWl6ZQoJICBhIGJpdAoKMjAwNS0wNi0xMyAxMDowMCAgYW5keQoKCSogU291cmNlL2NtQ29tbWFuZEFyZ3VtZW50TGV4ZXIuaW4ubDogRU5IOiBSZW1vdmUgc29tZSBhbGxvY2F0aW9ucwoKMjAwNS0wNi0xMyAwOTo1OSAgYW5keQoKCSogU291cmNlL2NtQ29tbWFuZEFyZ3VtZW50UGFyc2VyLnk6IEVOSDogUmVhcmFuZ2UgYW5kIGNsZWFudXAKCjIwMDUtMDYtMTMgMDk6MzMgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQ29uZmlndXJlRmlsZUNvbW1hbmQuY3h4LCBjbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmg6CgkgIEVOSDogbWFkZSBjb25maWd1cmUgZmlsZSBpbW1lZGlhdGUgYnkgZGVmYXVsdCBmb3IgMi4yIG9yIGxhdGVyCgoyMDA1LTA2LTEyIDAzOjA3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDYtMTEgMDM6MDcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNi0xMCAxMToyNyAgbWFydGluawoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBFTkg6IHJlbW92ZSBvbGQgMS4yIGNvbXBhdGFiaWxpdHkgZnJvbQoJICBjbWFrZSAyLjIKCjIwMDUtMDYtMTAgMTA6NDUgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogRU5IOiByZW1vdmUgb2xkIDEuMiBjb21wYXRhYmlsaXR5IGZyb20KCSAgY21ha2UgMi4yCgoyMDA1LTA2LTEwIDEwOjQ0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsIGNtYWtlLmN4eCwgY21ha2UuaCwKCSAgY21Mb2NhbEdlbmVyYXRvci5oOiBFTkg6IGFkZGVkIHN1cHBvcnQgZm9yIGZvcmNpbmcgcmVjb21wdXRhdGlvbgoJICBvZiBkZXBlbmRzCgoyMDA1LTA2LTEwIDEwOjA5ICBtYXJ0aW5rCgoJKiBUZXN0cy9XcmFwcGluZy9DTWFrZUxpc3RzLnR4dDogRU5IOiBjaGFuZ2UgdG8gd29yayB3aXRoIG5ldyBGTFRLCgkgIGNvbW1hbmQKCjIwMDUtMDYtMTAgMTA6MDkgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtRkxUS1dyYXBVSUNvbW1hbmQuY3h4LCBjbUZMVEtXcmFwVUlDb21tYW5kLmg6IEVOSDoKCSAgY2hhbmdlIHdvcmtpbmdzIG9mIGNvbW1hbmQgc28gdGhhdCBpdCBjYW4gYWxsIGhhcHBpbmcgaW4gdGhlCgkgIGluaXRpYWwgcGFzcyBzdGlsbCB3b3JrcyB0aGUgb2xkIHdheSBidXQgY29tcGxhaW5zCgoyMDA1LTA2LTEwIDEwOjA4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21BZGRMaWJyYXJ5Q29tbWFuZC5jeHg6IEVOSDogYWxsb3cgbGlicyB3aXRoIG5vIHNvdXJjZXMKCSAgYnV0IGNvbXBsYWluCgoyMDA1LTA2LTEwIDA5OjAxICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHg6IEVOSDogQmUgbW9yZQoJICB2ZXJib3NlCgoyMDA1LTA2LTEwIDA4OjU2ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0QnVpbGRIYW5kbGVyLmN4eCwKCSAgY21DVGVzdENvbmZpZ3VyZUhhbmRsZXIuY3h4OiBFTkg6IEJlIG1vcmUgdmVyYm9zZQoKMjAwNS0wNi0xMCAwODo0MCAgbWFydGluawoKCSogU291cmNlLzogY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5oOiBFTkg6IHJlbW92ZWQgb2xkCgkgIGNvbnZlcnQgY2FsbHMKCjIwMDUtMDYtMTAgMDI6NTcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNi0wOSAxNDozNyAgbWFydGluawoKCSogYm9vdHN0cmFwLCBTb3VyY2UvY21ha2UuY3h4LCBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogcmVtb3ZlZAoJICBVTUcyCgoyMDA1LTA2LTA5IDE0OjM0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21JVEtXcmFwVGNsQ29tbWFuZC5jeHg6IEVOSDogZGVwcmVjYXRlIG9sZCBJVEsgd3JhcAoJICBjb21tYW5kCgoyMDA1LTA2LTA5IDExOjQ2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21HbG9iYWxLZGV2ZWxvcEdlbmVyYXRvci5jeHg6IEJVRzogZml4IEtEZXYgZ2VuIHRvIGNhbGwKCSAgcGFyZW50IGNsYXNzIEdlbmVyYXRlCgoyMDA1LTA2LTA5IDExOjM5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUdsb2JhbEtkZXZlbG9wR2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxLZGV2ZWxvcEdlbmVyYXRvci5jeHgsIGNtTG9jYWxLZGV2ZWxvcEdlbmVyYXRvci5oOiBFTkg6CgkgIG1ha2UgS0RldiBzdWIgb2ZmIG9mIEdlbjMKCjIwMDUtMDYtMDkgMTE6MzMgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVRhcmdldC5jeHg6IEVOSDogcmVtb3ZlZCBvbGQgMS4yIGNvbXBhdGFiaWxpdHkKCjIwMDUtMDYtMDkgMTE6MjMgIG1hcnRpbmsKCgkqIFRlc3RzL1dyYXBwaW5nL0NNYWtlTGlzdHMudHh0OiBFTkg6IG5vIGxvbmdlciB0ZXN0IElUSyBjb21tYW5kCgoyMDA1LTA2LTA5IDA5OjQ4ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEVOSDogc29tZSBiZXR0ZXIgZXJyb3IKCSAgcmVwb3J0aW5nIGFuZCBtb3JlIHJvYnVzdCBoYW5kbGlnbiBvZiBiYWQgdGFyZ2V0cwoKMjAwNS0wNi0wOSAwODoxOSAga2luZwoKCSogU291cmNlL2t3c3lzL0NvbmZpZ3VyZS5oLmluOiBDT01QOiBEaXNhYmxlIG1vcmUgd2FybmluZ3MuCgoyMDA1LTA2LTA5IDA4OjE4ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNfaW9zX3NzdHJlYW0uaC5pbjogQ09NUDogRml4CgkgIG5vLWFzc2lnbm1lbnQtb3BlcmF0b3Igd2FybmluZyBhbmQgZGlzYWJsZSB0eXBlZGVmLW5hbWUgc3lub255bQoJICB3YXJuaW5nLgoKMjAwNS0wNi0wOSAwODowMyAga2luZwoKCSogU291cmNlL2t3c3lzL0NvbmZpZ3VyZS5oLmluOiBDT01QOiBEaXNhYmxlIHVzZWxlc3Mgd2FybmluZ3MuCgoyMDA1LTA2LTA5IDA4OjAyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvQ29uZmlndXJlLmh4eC5pbjogRU5IOiBDKysgY29uZmlndXJhdGlvbiBzaG91bGQKCSAgaW5jbHVkZSBDIGNvbmZpZ3VyYXRpb24uCgoyMDA1LTA2LTA5IDA3OjUxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBDT01QOiBOZWVkIHdpbmRvd3MuaCBldmVuIG9uIGN5Z3dpbgoJICB0byBnZXQgQ3JlYXRlRmlsZSBBUEkuCgoyMDA1LTA2LTA5IDA3OjQwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUmVndWxhckV4cHJlc3Npb24uY3h4OiBDT01QOiBGaXhlZCBjb252ZXJzaW9uCgkgIHdhcm5pbmdzLgoKMjAwNS0wNi0wOSAwNDoxNCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA2LTA4IDE2OjU1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21JbmNsdWRlQ29tbWFuZC5jeHg6IEJVRzogZmF0YWwgZXJyb3IgaW4gaW5jbHVkZSBmaWxlCgkgIHNob3VsZCBub3QgY2F1c2UgcmVwb3J0IG9mIG1pc3NpbmcgaW5jbHVkZSBmaWxlCgoyMDA1LTA2LTA4IDE2OjM5ICBtYXJ0aW5rCgoJKiBUZXN0cy9XcmFwcGluZy9DTWFrZUxpc3RzLnR4dDogRU5IOiByZW1vdmUgYmFkIGFkZCB0YXJnZXQKCSAgY29tbWFuZHMKCjIwMDUtMDYtMDggMTY6MzkgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQWRkRXhlY3V0YWJsZUNvbW1hbmQuY3h4LCBjbUFkZExpYnJhcnlDb21tYW5kLmN4eDoKCSAgRU5IOiBiZXR0ZXIgZXJyb3IgY2hlY2tpbmcgZm9yIGFkZCBsaWJyYXJ5IG9yIGV4ZWN1dGFibGUgd2l0aCBubwoJICBzb3VyY2UgZmlsZXMKCjIwMDUtMDYtMDggMTY6MzEgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogcHJldmVudCBzZWdmYXVsdAoJICB3aGVuIG5vIHNvdXJjZXMgcHJvdmlkZWQgZm9yIGxpYgoKMjAwNS0wNi0wOCAxNDoxOCAgYW5keQoKCSogU291cmNlLzogY21Db21tYW5kQXJndW1lbnRMZXhlci5pbi5sLCBjbUNvbW1hbmRBcmd1bWVudFBhcnNlci55LAoJICBjbUNvbW1hbmRBcmd1bWVudFBhcnNlckhlbHBlci5jeHgsCgkgIGNtQ29tbWFuZEFyZ3VtZW50UGFyc2VySGVscGVyLmg6IEVOSDogSGFuZGxlIG1vcmUgY2FzZXMKCjIwMDUtMDYtMDggMTQ6MTEgIG1hcnRpbmsKCgkqIFRlc3RzLzogQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwgQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvQ01ha2VMaXN0cy50eHQsIFdyYXBwaW5nL0NNYWtlTGlzdHMudHh0OgoJICBFTkg6IHJlbW92ZSByZXF1aXJlbWVudHMgb24gMS4yCgoyMDA1LTA2LTA4IDEyOjI2ICBtYXJ0aW5rCgoJKiBUZXN0cy86IE91dE9mU291cmNlL1N1YkRpci9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwgQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBEZXBlbmRlbmN5L0NNYWtlTGlzdHMudHh0LCBKdW1wL0NNYWtlTGlzdHMudHh0LAoJICBKdW1wL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsIFByZU9yZGVyL0NNYWtlTGlzdHMudHh0LAoJICBTaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LCBTaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RpbmcvQ01ha2VMaXN0cy50eHQ6IEVOSDogc2hpZnQgdG8gdXNpbmcgQUREX1NVQkRJUkVDVE9SWQoKMjAwNS0wNi0wOCAxMDo0MSAgYW5keQoKCSogU291cmNlLzogY21Db21tYW5kQXJndW1lbnRMZXhlci5pbi5sLCBjbUNvbW1hbmRBcmd1bWVudFBhcnNlci55LAoJICBjbUNvbW1hbmRBcmd1bWVudFBhcnNlckhlbHBlci5jeHgsCgkgIGNtQ29tbWFuZEFyZ3VtZW50UGFyc2VySGVscGVyLmg6IEVOSDogSW5pdGlhbCBpbXBvcnQgKG5vdCB3b3JraW5nCgkgIHlldCkKCjIwMDUtMDYtMDggMDk6NTkgIGtpbmcKCgkqIERvY3MvY21ha2UtbW9kZS5lbDogRU5IOiBFeHBlcmltZW50aW5nIHdpdGggYXV0by1kYXRlZCBjb3B5cmlnaHQuCgoyMDA1LTA2LTA4IDA5OjUyICBhbmR5CgoJKiBUZXN0cy9DVGVzdFRlc3QvQ01ha2VMaXN0cy50eHQ6IEVOSDogQ2xlYW51cAoKMjAwNS0wNi0wOCAwNDowOSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA2LTA3IDEyOjA3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlOiBFTkg6IGZpeCBmb3IgaW5jb3JyZWN0IHNldHRpbmcKCSAgb2YgQ09ORklaR1VSQVRJT05fVFlQRVMKCjIwMDUtMDYtMDcgMTA6NTUgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4OiBCVUc6IFJlbW92ZSBkZWJ1Z2dpbmcgY29kZQoKMjAwNS0wNi0wNyAxMDo0NyAgbWFydGluawoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LCBjbWFrZS5jeHg6IEVOSDogZml4CgkgIHByb2JsZW0gd2l0aCBkZXBlbmRlbmN5IHNjYW5uaW5nCgoyMDA1LTA2LTA3IDA5OjU3ICBhbmR5CgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL2t3c3lzL0V4dHJhVGVzdC5jbWFrZS5pbiwgVGVzdHMvQ1Rlc3RUZXN0L3Rlc3QuY21ha2UuaW4sCgkgIFRlc3RzL0NUZXN0VGVzdDIvdGVzdC5jbWFrZS5pbjogRU5IOiBBZGQgY2FwYWJpbGl0eSB0byBpbmNsdWRlCgkgIGZpbGVzIHRvIERhcnRUZXN0ZmlsZS50eHQgYW5kIGFkZCBleGFtcGxlIG9mIHRoYXQKCjIwMDUtMDYtMDcgMDk6MDYgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RUZXN0SGFuZGxlci5jeHgsIGNtQ1Rlc3RUZXN0SGFuZGxlci5oOiBFTkg6CgkgIFVzZSBDTWFrZSBmb3IgcGFyc2luZyBEYXJ0VGVzdGZpbGUudHh0CgoyMDA1LTA2LTA3IDA4OjQ0ICBraW5nCgoJKiBNb2R1bGVzL0ZpbmRRdC5jbWFrZTogRU5IOiBBZGRlZCBzZWFyY2ggbG9jYXRpb25zIGZvciBhIEZyZWVCU0QKCSAgbG9jYXRpb24uICBDb250cmlidXRlZCBieSBBbGV4YW5kZXIgTmV1bmRvcmYuCgoyMDA1LTA2LTA3IDA0OjA5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDYtMDYgMDk6MjMgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0QnVpbGRIYW5kbGVyLmN4eDogQlVHOiBJbml0aWFsaXplIHRoZQoJICBpdGVyYXRvciB0byBwcmV2ZW50IHNlZy1mYXVsdAoKMjAwNS0wNi0wNiAwNDoxOSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA2LTA1IDE1OjM1ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDYtMDMgMTY6MTAgIGFuZHkKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUNUZXN0LmN4eCwgY21DVGVzdC5oLAoJICBDVGVzdC9jbUNUZXN0QnVpbGRBbmRUZXN0SGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RCdWlsZEFuZFRlc3RIYW5kbGVyLmg6IEVOSDogTW92ZSB0aGUgYnVpbGQtYW5kLXRlc3QKCSAgY29kZSB0byBhIGhhbmRsZXIKCjIwMDUtMDYtMDMgMTQ6NDIgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RHZW5lcmljSGFuZGxlci5jeHgsCgkgIGNtQ1Rlc3RHZW5lcmljSGFuZGxlci5oOiBFTkg6IEFkZCBhIG1ldGhvZCB0byBwYXJzZSBjb21tYW5kIGxpbmUKCSAgYXJndW1lbnQgaW5zaWRlIHRoZSBoYW5kbGVyCgoyMDA1LTA2LTAzIDE0OjQyICBhbmR5CgoJKiBUZXN0cy9Db21tYW5kTGluZVRlc3QvQ01ha2VMaXN0cy50eHQ6IEVOSDogVGVzdCBzZXR0aW5nIG9mCgkgIGVudmlyb25tZW50IHZhcmlhYmxlcwoKMjAwNS0wNi0wMyAxNDoxNyAgYW5keQoKCSogU291cmNlL2NtU2V0Q29tbWFuZC5jeHg6IEJVRzogUmVtb3ZlIG1lbW9yeSBsZWFrCgoyMDA1LTA2LTAzIDEyOjU5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbVdyYXBFeGNsdWRlRmlsZXNDb21tYW5kLmN4eCwKCSAgY21XcmFwRXhjbHVkZUZpbGVzQ29tbWFuZC5oLCBjbVNvdXJjZUZpbGVzQ29tbWFuZC5jeHgsCgkgIGNtU291cmNlRmlsZXNDb21tYW5kLmgsIGNtU291cmNlRmlsZXNSZW1vdmVDb21tYW5kLmN4eCwKCSAgY21Tb3VyY2VGaWxlc1JlbW92ZUNvbW1hbmQuaDogRU5IOiBubyBsb25nZXIgdXNlZAoKMjAwNS0wNi0wMyAxMjo1OCAgbWFydGluawoKCSogU291cmNlL2NtQ29tbWFuZHMuY3h4OiBFTkg6IHJlbW92ZWQgb2xkIGNvbW1hbmRzCgoyMDA1LTA2LTAzIDExOjI5ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdENvbmZpZ3VyZUhhbmRsZXIuY3h4OiBCVUc6IFJlbW92ZSB1bnVzZWQgY29kZQoKMjAwNS0wNi0wMyAxMToyNiAgbWFydGluawoKCSogQ1Rlc3RDdXN0b20uY3Rlc3QuaW46IEVOSDogc2h1dCB1cCBidWdneSBnY2Mgc3RsIGhlYWRlcgoKMjAwNS0wNi0wMyAwNDowMyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA2LTAyIDE4OjEwICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY3Rlc3QuY3h4OiBFTkg6IEFkZCBkZWJ1ZyBmbGFnCgoyMDA1LTA2LTAyIDE2OjQ3ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgQ1Rlc3QvY21DVGVzdFN1Ym1pdEhhbmRsZXIuY3h4OiBCVUc6IEZpeAoJICB0aGUgb3JkZXIgb2YgdGhpbmdzIHRvIG1ha2Ugc3VibWl0IGhhbmRsZXIgbm90IGNyYXNoIHdoZW4gcHJveGllcwoJICBhcmUgc2V0CgoyMDA1LTA2LTAyIDE1OjE0ICBtYXJ0aW5rCgoJKiBEb2NzL2NtYWtlLW1vZGUuZWw6IEVOSDogdXBkYXRlZCBjb21tYW5kcwoKMjAwNS0wNi0wMiAxNTowOSAgbWFydGluawoKCSogVGVzdHMvV3JhcHBpbmcvQ01ha2VMaXN0cy50eHQ6IEVOSDogcmVtb3ZlZCBvbGQgY29tbWFuZAoKMjAwNS0wNi0wMiAxNDo1NiAgbWFydGluawoKCSogVGVzdHMvOiBDb21wbGV4L0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9DTWFrZUxpc3RzLnR4dDogRU5IOiByZW1vdmVkIG9sZAoJICBjb21tYW5kcwoKMjAwNS0wNi0wMiAxNDo0OCAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXRIYW5kbGVyLmN4eDogRU5IOiBDbGVhbnVwIG91dHB1dCBldmVuCgkgIG1vcmUKCjIwMDUtMDYtMDIgMTQ6MjQgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQ29tbWFuZHMuY3h4LCBjbUFic3RyYWN0RmlsZXNDb21tYW5kLmN4eCwKCSAgY21BYnN0cmFjdEZpbGVzQ29tbWFuZC5oOiBFTkg6IHJlbW92ZWQgdGhlIEFCU1RSQUNUX0ZJTEVTIGNvbW1hbmQKCjIwMDUtMDYtMDIgMTQ6MjEgIG1hcnRpbmsKCgkqIERvY3MvY21ha2UtbW9kZS5lbDogRU5IOiB1cGRhdGVkIHRvIHJlbW92ZSBBQlNUUkFDVF9GSUxFUyBhbmQgYWRkCgkgIEFERF9TVUJESVJFQ1RPUlkKCjIwMDUtMDYtMDIgMTQ6MTAgIG1hcnRpbmsKCgkqIFRlc3RzLzogQ29tcGxleC9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQ6IEVOSDogcmVtb3ZlZCB1c2Ugb2YKCSAgQUJTVFJBQ1QgY29tbWFuZAoKMjAwNS0wNi0wMiAxMzo0MSAgbWFydGluawoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oOiBFTkg6IG5vdyBhbHNvIHByb3ZpZGVzIG9iaiBydWxlcwoJICBmb3IgbG9jYWwgTWFrZWZpbGVzCgoyMDA1LTA2LTAyIDEyOjI2ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHg6IENPTVA6IFJlbW92ZSBjb21waWxlCgkgIHdhcm5pbmcKCjIwMDUtMDYtMDIgMTE6NDcgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4LCBjbUNUZXN0QnVpbGRIYW5kbGVyLmg6CgkgIEVOSDogT25jZSB0aGUgbnVtYmVyIG9mIGVycm9ycyBvciB3YXJuaW5ncyB3YXMgcmVhY2hlZCwgc3RvcAoJICBjb3VudGluZyB0aGVtLiBBbHNvIGZpeCBjb21waWxlIHdhcm5pbmcgb24gYmFkIGNvbXBpbGVycwoKMjAwNS0wNi0wMiAwOTozNSAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXRIYW5kbGVyLmN4eDogQlVHOiBPbiB3aW5kb3dzIHRoZXJlIGFyZQoJICBwcm9ibGVtcyB3aGVuIG9wZW5pbmcgZmlsZSBhcyBhc2NpaQoKMjAwNS0wNi0wMiAwNDowMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA2LTAxIDE1OjU5ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0QnVpbGRIYW5kbGVyLmN4eCwgY21DVGVzdEJ1aWxkSGFuZGxlci5oOgoJICBFTkg6IFN0cmVhbWxpbmUgYnVpbGQgcHJvY2Vzcy4gVGhpcyByZWR1Y2VzIHRoZSBtZW1vcnkgZm9vdHByaW50LAoJICBzaW5jZSBvbmx5IHNvbWUgbnVtYmVyIG9mIGxpbmVzIG9mIG91dHB1dCB3aWxsIGJlIGluIG1lbW9yeSBhdAoJICB0aGUgdGltZS4gQWxzbywgdGhpcyB3aWxsIHJlcG9ydCB0aGUgYnVpbGQgZXJyb3JzIGFuZCB3YXJuaW5ncyBhcwoJICBpdCBnb2VzIHRocm91Z2ggdGhlIGJ1aWxkCgoyMDA1LTA2LTAxIDEzOjM3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmg6IEVOSDogbWlub3IgcGVyZiBpbXByb3ZlbWVudAoKMjAwNS0wNi0wMSAxMzoyNCAgbWFydGluawoKCSogU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogZG8gbm90IGFkZCBoZWxwCgkgIHRhcmdldCBpZiB0aGVyZSBpcyBhIHJlYWwgdGFyZ2V0IG5hbWVkIGhlbHAKCjIwMDUtMDYtMDEgMTM6MTkgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogRml4ZWQgbmFtZSBnaXZlbgoJICB0byBjbGVhbiB0YXJnZXQgbGlzdGluZyBmb3IgZXhlY3V0YWJsZSBhbmQgbGlicmFyeSB0YXJnZXRzLgoKMjAwNS0wNi0wMSAxMToxOCAgbWFydGluawoKCSogU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IENPTVA6IGZpeCB3YXJuaW5nCgoyMDA1LTA2LTAxIDA5OjI1ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaDogQlVHOiBSZW1vdmUgZHVwbGljYXRlIHRhcmdldHMKCSAgd2hlbiBpbiBkaWZmZXJlbnQgZ2VuZXJhdG9ycwoKMjAwNS0wNi0wMSAwODo1OSAgbWFydGluawoKCSogU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IENPTVA6IGZpeCB3YXJuaW5nCgoyMDA1LTA2LTAxIDA4OjU2ICBtYXJ0aW5rCgoJKiBDVGVzdEN1c3RvbS5jdGVzdC5pbjogQ09NUDogc3VwcHJlc3Mgd2FybmluZ3MgaW4gM3JkIHBhcnR5IGxpYnMKCjIwMDUtMDYtMDEgMDg6NTQgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBDT01QOiBmaXggd2FybmluZwoKMjAwNS0wNi0wMSAwODo1MCAgbWFydGluawoKCSogU291cmNlL2NtUVRXcmFwVUlDb21tYW5kLmN4eDogQ09NUDogZml4IHdhcm5pbmcKCjIwMDUtMDYtMDEgMDg6NDggIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtVmFyaWFibGVSZXF1aXJlc0NvbW1hbmQuY3h4LAoJICBjbVZhcmlhYmxlUmVxdWlyZXNDb21tYW5kLmg6IEVOSDogbWFkZSBpbW1lZGlhdGUKCjIwMDUtMDYtMDEgMDg6MjUgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRU5IOiBNYWtlIENNYWtlIC0tYnVpbGQtYW5kLXRlc3QgdG8gYmUKCSAgdmVyYm9zZSBieSBkZWZhdWx0CgoyMDA1LTA2LTAxIDA4OjI1ICBhbmR5CgoJKiBTb3VyY2UvY21TdGFuZGFyZEluY2x1ZGVzLmg6IEVOSDogQWRkIHN1cHBvcnQgZm9yIGRlcXVlCgoyMDA1LTA2LTAxIDAzOjU2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDUtMzEgMTg6NDAgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0LmgsIGN0ZXN0LmN4eCwKCSAgQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHgsIENUZXN0L2NtQ1Rlc3RDb25maWd1cmVIYW5kbGVyLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdENvdmVyYWdlSGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RNZW1DaGVja0hhbmRsZXIuY3h4LCBDVGVzdC9jbUNUZXN0U2NyaXB0SGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RTdWJtaXRIYW5kbGVyLmN4eCwgQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdFVwZGF0ZUhhbmRsZXIuY3h4OiBDT01QOiBSZW1vdmUgRVJST1IgcmVzZXJ2ZWQgd29yZAoJICBvciBzb21ldGhpbmcgYW5kIHJlcGxhY2Ugd2l0aCBFUlJPUl9NRVNTQUdFCgoyMDA1LTA1LTMxIDE3OjMyICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21DVGVzdC5oLCBjdGVzdC5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4LCBDVGVzdC9jbUNUZXN0Q29uZmlndXJlSGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4LCBDVGVzdC9jbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmgsCgkgIENUZXN0L2NtQ1Rlc3RHZW5lcmljSGFuZGxlci5jeHgsIENUZXN0L2NtQ1Rlc3RHZW5lcmljSGFuZGxlci5oLAoJICBDVGVzdC9jbUNUZXN0TWVtQ2hlY2tIYW5kbGVyLmN4eCwgQ1Rlc3QvY21DVGVzdFNjcmlwdEhhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0U3RhcnRDb21tYW5kLmN4eCwgQ1Rlc3QvY21DVGVzdFN1Ym1pdEhhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4LCBDVGVzdC9jbUNUZXN0VXBkYXRlSGFuZGxlci5jeHg6CgkgIEVOSDogQWRkIHN1cHBvcnQgZm9yIHdyaXRpbmcgb3V0cHV0IGZpbGUuIFdoaWxlIGRvaW5nIHRoYXQsCgkgIHJlZGVzaWduIHRoZSB3YXkgY3Rlc3QgZG9lcyBvdXRwdXQuIFRoZXJlIG1heSBzdGlsbCBiZSBwcm9ibGVtcwoJICB3aXRoIGNvbW1hbmRzIGZhaWxpbmcsIGJ1dCB0aGF0IHNob3VsZCBiZSBmaXhlZCBieSBhcHBseWluZyB0aGUKCSAgc2ltaWxhciBjb25jZXB0IHRvIHdob2xlIENNYWtlCgoyMDA1LTA1LTMxIDE2OjIwICBtYXJ0aW5rCgoJKiBDVGVzdEN1c3RvbS5jdGVzdC5pbjogRU5IOiBzaHV0IHVwIHNvbWUgd2FybmluZyBvbiBTR0kKCjIwMDUtMDUtMzEgMTU6MTAgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQWRkU3ViRGlyZWN0b3J5Q29tbWFuZC5jeHgsCgkgIGNtQWRkU3ViRGlyZWN0b3J5Q29tbWFuZC5oOiBFTkg6IHJlbW92ZWQgdGhlIFBSRU9SREVSIG9wdGlvbiBmcm9tCgkgIHRoZSBBZGRTdWJEaXJlY3RvcnkgY29tbWFuZAoKMjAwNS0wNS0zMSAxNDowOSAgbWFydGluawoKCSogU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IENPTVA6IGZpeCBhIHdhcmluZwoKMjAwNS0wNS0zMSAxMTo0NiAgbWFydGluawoKCSogU291cmNlLzogY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogRU5IOiBub3cgdXNlcyBNYWtlZmlsZTIgdG8KCSAgY2xlYW51cCB6c2ggaXNzdWVzIGFuZCBwcm92aWRlZCBzb21lIG1vcmUgZG9jdW1lbnRhdGlvbgoKMjAwNS0wNS0zMSAxMDoxNiAgbWFydGluawoKCSogU291cmNlLzogY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaDogU1RZTEU6IGFkZCBzb21lIGJldHRlciBjb21tZW50cwoJICBhbmQgcmVtb3ZlIHNvbWUgdW51c2VkIGNvZGUKCjIwMDUtMDUtMzEgMDQ6MTAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNS0zMCAxNzoyNiAgYW5keQoKCSogU291cmNlL2NtU3RhbmRhcmRJbmNsdWRlcy5oOiBFTkg6IEFkZCBzdXBwb3J0IGZvciBpb21hbmlwCgoyMDA1LTA1LTMwIDA0OjAyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDUtMjkgMDQ6MDQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNS0yOCAwODo0NCAgbG9yZW5zZW4KCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IENPTVA6IHdhcm5pbmcuCgoyMDA1LTA1LTI4IDA0OjEwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDUtMjcgMjI6MTEgIGJhcnJlCgoJKiBTb3VyY2Uva3dzeXMvOiBTeXN0ZW1Ub29scy5jeHgsIFN5c3RlbVRvb2xzLmh4eC5pbjogRU5IOiBhZGQKCSAgY29udmVuaWVuY2UgZnVuY3Rpb24gdG8gY29udmVydCBXaW5kb3dzIGNvbW1hbmQgbGluZSBhcmdzIGludG8KCSAgVW5peCBhcmdjL2FyZ3YuIFB1bGxlZCBhbmQgY2xlYW5lZCBmcm9tIFBWL1ZWL1ZKIGluaXQgY29kZQoKMjAwNS0wNS0yNyAxNjoxNyAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eDogRU5IOiBVc2UgZ2VuZXJhdGVkIGZpbGUKCSAgc3RyZWFtIGZvciBmaWxlcwoKMjAwNS0wNS0yNyAxMToyNiAgYW5keQoKCSogRGFydENvbmZpZy5jbWFrZTogRU5IOiBEYXJ0IGNoYW5nZQoKMjAwNS0wNS0yNyAwNDowOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA1LTI2IDE4OjE1ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN1Ym1pdEhhbmRsZXIuY3h4OiBFTkg6IEZpeCBmb3IgY2hhbmdlcyBpbgoJICBYTUwtUlBDIGZvciBEYXJ0MgoKMjAwNS0wNS0yNiAxNzozMCAgYW5keQoKCSogTW9kdWxlcy9DTWFrZVZTOEZpbmRNYWtlLmNtYWtlOiBDT01QOiBGaXggZm9yIHN1cHBvcnQgb2YgVlMgOC4wCgkgIGJldGEgMgoKMjAwNS0wNS0yNiAwNDowOSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA1LTI1IDE1OjA5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEVOSDogYWRkZWQgY2xlYW4gdGFyZ2V0IGZvcgoJICBzdWJkaXJzCgoyMDA1LTA1LTI1IDEyOjIyICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbURlcGVuZHMuY3h4LCBjbURlcGVuZHMuaCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oOiBCVUc6IGEgZml4IGZvciBjb25zdGFudAoJICByZWNvbXB1dGluZyBvZiBkZXBlbmRzCgoyMDA1LTA1LTI1IDExOjE5ICBhbmR5CgoJKiBTb3VyY2UvY21EZXBlbmRzRm9ydHJhbi5jeHg6IEVOSDogbmV3IGZvcnRyYW4gZGVwZW5kcyB0byBtYXRjaAoJICBuZXcgVW5peCBHZW4KCjIwMDUtMDUtMjUgMTE6MTggIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLCBjbWFrZS5jeHg6IEVOSDogc3dpdGNoIHRvIHVzaW5nCgkgIG5ldyBVbml4IE1ha2VmaWxlIGdlbmVyYXRvciBmb3IgVW5peCBhcyB3ZWxsCgoyMDA1LTA1LTI1IDA0OjA3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDUtMjQgMTY6MzYgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogZml4IGZvciBkaXJlY3RvcnkKCSAgb2YgZW1wdHkgZGVwZW5kLm1ha2UgZmlsZXMKCjIwMDUtMDUtMjQgMTY6MTEgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogYnVpbGRpbmcgbGlicwoJICBjYXVzZWQgYWxsIGdlbmVyYXRlZCBmaWxlcyB0byBiZSBkZWxldGVkCgoyMDA1LTA1LTI0IDE1OjM2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21JZkNvbW1hbmQuaDogU1RZTEU6IGZpeCB0aGUgZG9jcwoKMjAwNS0wNS0yNCAxNDo0MiAgbWFydGluawoKCSogU291cmNlLzogY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaDogRU5IOiBzb21lIG1vcmUgY2xlYW51cCBhbmQKCSAgY2hhbmdlcyB0byBob3cgY3VzdG9tIGNvbW1hbmRzIGFyZSBzdG9yZWQKCjIwMDUtMDUtMjQgMTE6MTcgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEVOSDogb3B0aW1pemF0aW9uIHRvIG5vdCB1c2UKCSAgcmVxdWlyZXMgc3RlcCB1bmxlc3MgYSBsYW5ndWFnZSByZXF1aXJlcyBpdAoKMjAwNS0wNS0yNCAxMDo0NSAgbWFydGluawoKCSogTW9kdWxlcy9DTWFrZUZvcnRyYW5JbmZvcm1hdGlvbi5jbWFrZTogRU5IOiBhZGRlZCByZXF1aXJlcyBmbGFnCgoyMDA1LTA1LTI0IDA0OjA4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDUtMjMgMDM6NTcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNS0yMiAwMzo1NiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA1LTIxIDAzOjU2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDUtMjAgMTI6MDkgIGFuZHkKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogZml4IGZvciBlbXB0eQoJICBjdXN0b20gY29tbWFuZHMKCjIwMDUtMDUtMjAgMTE6MDEgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmg6IEVOSDogYWRkZWQgaGVscCB0YXJnZXQgYW5kIG1hZGUKCSAgY3VzdG9tIGNvbW1hbmRzIGV4ZWN1dGUgaW4gc3RhcnQgb3V0cHV0IGRpcmVjdG9yeQoKMjAwNS0wNS0yMCAwODo0NSAgbWFydGluawoKCSogU291cmNlLzogY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogRU5IOiBmaXggd2FybmluZyBhbmQKCSAgYWxzbyBhZGQgYmFjayBpbiBidWlsZC5tYWtlCgoyMDA1LTA1LTIwIDAzOjU3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDUtMTkgMTU6NTUgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBDT01QOiBmaXggd2FybmluZwoKMjAwNS0wNS0xOSAxNTowMCAgbWFydGluawoKCSogU291cmNlLzogY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBFTkg6IGZpeGVzIGZvciBzdWJkaXIgYnVpbGQKCSAgTWFrZWZpbGVzCgoyMDA1LTA1LTE5IDE0OjM2ICBhbmR5CgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2U6IEVOSDogQmUgbW9yZSB2ZXJib3NlLCBoYW5kbGUKCSAgbmV0d29yayBwYXRocywgYW5kIHdyaXRlIGNvbXBpbGVyIG91dHB1dCB0byB0aGUgbG9nIGZpbGVzCgoyMDA1LTA1LTE5IDEzOjMyICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBDT01QOiBmaXggd2FybmluZwoKMjAwNS0wNS0xOSAxMzoyNiAgbWFydGluawoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogQlVHOiBmaXggZm9yIGJhZAoJICBkZXBlbmN5IGNsZWFyaW5nCgoyMDA1LTA1LTE5IDEwOjUyICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEVOSDogc29tZSBwZXJmb3JtYW5jZQoJICBpbXByb3ZlbWVudHMKCjIwMDUtMDUtMTkgMDM6NTUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNS0xOCAxNjoxMCAgbWFydGluawoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDogRU5IOiBmaXggZm9yIG1ha2VzIHRoYXQKCSAgZG8gbm90IGhhbmRsZSB0YXJnZXRzIHdpaHRvdXQgYSBydWxlIHRvIGJ1aWxkIHRoZW0KCjIwMDUtMDUtMTggMTM6NDYgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsIGNtVGFyZ2V0LmN4eDogRU5IOiBhbm90aGVyIHN0ZXAKCSAgdG8gdGhlIG5leHQgZ2VuZXJhdG9yIHN0aWxsIG5vdCBvcHRpbWl6ZWQgeWV0CgoyMDA1LTA1LTE4IDA0OjAxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDUtMTcgMTQ6MzkgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaDogQ09NUDogc29tZSB3YXJuaW5nIGZpeGVzIGFuZAoJICBjbGVhbnVwCgoyMDA1LTA1LTE3IDE0OjIyICBhbmR5CgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBFTkg6IGltcGxlbWVudGVkCgkgIHByb3ZpZGVzIHJlcXVpcmVzIGNvZGUKCjIwMDUtMDUtMTcgMTE6MTUgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oLAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmg6IEVOSDogc29tZSBtb3JlIHJlb3JnCgoyMDA1LTA1LTE3IDAzOjU3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDUtMTYgMTQ6MTcgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuaDogQlVHOgoJICBDaGFuZ2luZyB0byBhIG5ldyB0ZXN0IGZvciB3aGV0aGVyIHRvIGRvIHJlbGF0aXZlIHBhdGgKCSAgY29udmVyc2lvbi4gIE5vdyBvbmx5IHBhdGhzIGluc2lkZSB0aGUgc291cmNlIG9yIGJpbmFyeSB0cmVlcyBhcmUKCSAgY29udmVydGVkLgoKMjAwNS0wNS0xNiAxMzo0MiAga2luZwoKCSogU291cmNlL2t3c3lzLzogUHJvY2Vzc1VOSVguYywgdGVzdFByb2Nlc3MuYzogRU5IOiBSZW1vdmluZwoJICBwcmV2aW91cyBkZWJ1ZyBjb2RlLgoKMjAwNS0wNS0xNiAxMDo1MyAgbWFydGluawoKCSogU291cmNlLzogY21EZXBlbmRzRm9ydHJhbi5jeHgsIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eDoKCSAgRU5IOiBzb21lIHVwZGF0ZXMgdG8gdGhlIHByb3ZpZGVzIHJlcXVpcmVzIGNvZGUKCjIwMDUtMDUtMTUgMDM6NTcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNS0xNCAwNDowMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA1LTEzIDE1OjUxICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBFTkg6IHJlbW92ZSBkdXBsaWNhdGUKCSAgcHJvdmlkZSBydWxlIGZvciBmb3J0cmFuCgoyMDA1LTA1LTEzIDE1OjUwICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IENPTVA6IHNodXQgdXAgd2FybmluZwoKMjAwNS0wNS0xMyAxNDo0NSAga2luZwoKCSogU291cmNlL2t3c3lzL1NoYXJlZEZvcndhcmQuaC5pbjogRU5IOiBBZGRlZCBrbm93bGVkZ2Ugb2YgRnJlZUJTRC4KCjIwMDUtMDUtMTMgMTQ6NDQgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IFByb2Nlc3NVTklYLmMsIHRlc3RQcm9jZXNzLmM6IEVOSDogQWRkaW5nCgkgIGRlYnVnZ2luZyBjb2RlIGZvciBmcmVlYnNkLgoKMjAwNS0wNS0xMyAxNDoxMyAgbWFydGluawoKCSogU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEJVRzogbWlub3IgY2xlYW51cCBhbmQKCSAgZml4IGZvciBjb252ZW5pZW5jZSBydWxlcwoKMjAwNS0wNS0xMyAxNDoxMiAgbWFydGluawoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogQlVHOiBmaWx4IGZvciBvbGQgYnVnIGluIHJlbCBwYXRoCgkgIGNvbXB1dGFpdG9uIGNvZGUKCjIwMDUtMDUtMTMgMDk6NTQgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxHZW5lcmF0b3IuaCwgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oOiBFTkg6IHdhcm5pbmcgZml4ZXMgYW5kIHNvbWUKCSAgZmlyc3Qgc3RlcHMgaW4gY2xlYW5pbmcgdXAgdGhlIGNvbnZlcnQgY29kZQoKMjAwNS0wNS0xMyAwNDowNCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA1LTEyIDE2OjI1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBVbmRvIGZpeCBhcyBpdCBicm9rZQoJICB0aGUgZGFzaGJvYXJkCgoyMDA1LTA1LTEyIDEzOjI3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBFTkg6IGZpeCBmb3IgYnVnIHdoZXJlCgkgIGRlYnVnLCByZWxlYXNlIGV0YyBmbGFncyB3ZXJlIG5vdCB1c2VkIGZvciBsaW5rZXIgb3B0aW9ucywgQlVHCgkgIDE3ODEgZml4CgoyMDA1LTA1LTEyIDExOjUzICBtYXJ0aW5rCgoJKiBib290c3RyYXA6IEVOSDogbW92ZWQgZ2VuMyBpbnRvIGJvb3RzdHJhcCBwcm9jZXNzCgoyMDA1LTA1LTEyIDExOjI2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuY3h4OiBDT01QOiBzaHV0IHVwIHVudXNlZAoJICB2YXIKCjIwMDUtMDUtMTIgMTE6MjQgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEJVRzogZml4IGJhZCBnZW5lcmF0b3IgbmFtZQoKMjAwNS0wNS0xMiAxMDo1OCAgbWFydGluawoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IGRlZmVyIHJlbGF0aXZlIHBhdGhzCgoyMDA1LTA1LTEyIDEwOjQ5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21HbG9iYWxCb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5oLAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwgY21ha2UuY3h4OiBFTkg6IGFkZGVkIG5ldwoJICBnZW5lcmF0b3IKCjIwMDUtMDUtMTIgMDM6NTMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNS0xMSAxMzoxNiAgbWFydGluawoKCSogU291cmNlLzogY21EZXBlbmRzLmN4eCwgY21EZXBlbmRzLmgsIGNtRGVwZW5kc0MuY3h4LAoJICBjbURlcGVuZHNDLmgsIGNtRGVwZW5kc0ZvcnRyYW4uY3h4LCBjbURlcGVuZHNGb3J0cmFuLmgsCgkgIGNtRGVwZW5kc0phdmEuY3h4LCBjbURlcGVuZHNKYXZhLmgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmN4eDogRU5IOiBzb21lIGNoYW5nZXMgdG8gdGhlCgkgIGRlcGVuZHMgc2lnbmF0dXJlIHRvIGJlIG1vcmUgZmxleGlibGUKCjIwMDUtMDUtMTEgMTI6NDQgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaDogRU5IOiBhbm90aGVyIHNuYXBzaG90CgoyMDA1LTA1LTExIDEwOjE5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmg6IEVOSDogYWRkZWQKCSAgbmV3IG1ldGhvZHMgdG8gY29udmVydCB0byBIb21lUmVsYXRpdmUgcGF0aHMKCjIwMDUtMDUtMTEgMDg6NDUgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmg6IEVOSDogc25hcHNob3QKCjIwMDUtMDUtMTEgMDM6NTUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNS0xMCAxNjo0MSAga2luZwoKCSogU291cmNlL2t3c3lzL3Rlc3RQcm9jZXNzLmM6IEVOSDogUmVtb3ZpbmcgUU5YIGhhY2sgZm9yIHRlc3QgNiBub3cKCSAgdGhhdCB0aGUgcHJvYmxlbSBoYXMgYmVlbiBmaXhlZC4KCjIwMDUtMDUtMTAgMTY6MzYgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jOiBCVUc6IHN0cnVjdCB0aW1ldmFsIHVzZXMgdW5zaWduZWQKCSAgdHlwZXMgb24gYXQgbGVhc3Qgb25lIHBsYXRmb3JtIChRTlgpLiAgQWxvdCBvZiB0aGUgdGltZSBsb2dpYwoJICBhc3N1bWVzIGEgc2lnbmVkIHR5cGUuICBTd2l0Y2ggdG8gdXNpbmcgYSBzaWduZWQgcmVwcmVzZW50YXRpb24KCSAgdGhhdCBpcyBjb252ZXJ0ZWQgdG8gdGhlIG5hdGl2ZSByZXByZXNlbnRhdGlvbiBvbmx5IGZvciBzeXN0ZW0KCSAgY2FsbHMuCgoyMDA1LTA1LTEwIDExOjExICBhbmR5CgoJKiBTb3VyY2UvOiBjbUdlbmVyYXRlZEZpbGVTdHJlYW0uY3h4LCBjbUdlbmVyYXRlZEZpbGVTdHJlYW0uaDogRU5IOgoJICBBbGxvdyBjaGFuZ2luZyBvZiBmaWxlIG5hbWUKCjIwMDUtMDUtMTAgMTE6MDAgIGtpbmcKCgkqIFNvdXJjZS86IGNtRGVwZW5kc0MuY3h4LCBjbURlcGVuZHNDLmg6IEJVRzogUmUtaW1wbGVtZW50ZWQKCSAgZGVwZW5kZW5jeSBsaW5lIHBhcnNpbmcgdG8gZGVhbCB3aXRoIHF1b3RlZCBwYXRocyBhbmQgZXNjYXBlZAoJICBzcGFjZXMuCgoyMDA1LTA1LTEwIDEwOjEwICBhbmR5CgoJKiBTb3VyY2UvY21CdWlsZENvbW1hbmQuY3h4OiBFTkg6IFJlbW92ZSB0aGUgb2xkIGNvZGUKCjIwMDUtMDUtMTAgMDM6NTIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNS0wOSAxNToxMSAgbWFydGluawoKCSogU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHg6IEVOSDogc29tZSBtb3JlIGZpeGVzCgoyMDA1LTA1LTA5IDA4OjUzICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmg6IEVOSDogc29tZSBtb3JlIGNsZWFudXAKCjIwMDUtMDUtMDkgMDM6NTcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNS0wOCAxMzo0OSAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXRDb21tYW5kLmN4eCwKCSAgVGVzdHMvQ1Rlc3RUZXN0Mi90ZXN0LmNtYWtlLmluOiBFTkg6IEFkZCBub3RlcwoKMjAwNS0wNS0wOCAxMzo0OCAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTdGFydENvbW1hbmQuY3h4OiBFTkg6IFJlbW92ZSBlcnJvciBhYm91dCBub3QKCSAgYmVpbmcgYWJsZSB0byB1cGRhdGUgQ1Rlc3QgY29uZmlndXJhdGlvbgoKMjAwNS0wNS0wOCAxMzo0OCAgYW5keQoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdEJ1aWxkQ29tbWFuZC5jeHgsIGNtQ1Rlc3RCdWlsZENvbW1hbmQuaDoKCSAgRU5IOiBSZW1vdmUgbWVtb3J5IGxlYWsgYW5kIHJlbWVtYmVyIGdsb2JhbCBnZW5lcmF0b3IgZm9yIG5leHQKCSAgdGltZQoKMjAwNS0wNS0wOCAxMzo0NyAgYW5keQoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaDogRU5IOiBBZGQgbWV0aG9kIHNvIHRoYXQgY3Rlc3QKCSAgaGFuZGxlcnMgYW5kIGNvbW1hbmRzIGNhbiBhZGQgbm90ZXMKCjIwMDUtMDUtMDggMDQ6MDAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNS0wNyAwMzo1NiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA1LTA2IDE0OjQ5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5jeHgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yMy5oOiBFTkg6IHVwZGF0ZXMKCjIwMDUtMDUtMDYgMTI6MzggIGtpbmcKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IENPTVA6IEZpeGVkIGZvcmNlZCBib29sIGNvbnZlcnNpb24gd2FybmluZy4KCjIwMDUtMDUtMDYgMDk6NTggIGtpbmcKCgkqIFNvdXJjZS86IGNtRGVwZW5kcy5jeHgsIGNtRGVwZW5kcy5oLCBjbURlcGVuZHNDLmN4eCwKCSAgY21EZXBlbmRzQy5oLCBjbURlcGVuZHNGb3J0cmFuLmN4eCwgY21EZXBlbmRzRm9ydHJhbi5oLAoJICBjbURlcGVuZHNKYXZhLmN4eCwgY21EZXBlbmRzSmF2YS5oLAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmgsIGNtYWtlLmN4eDogRU5IOiBBZGRlZCBvcHRpb25hbAoJICB2ZXJib3NlIG91dHB1dCB0byBidWlsZCBzeXN0ZW0gZGVwZW5kZW5jeSBjaGVjay4KCjIwMDUtMDUtMDYgMDM6NTIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNS0wNSAxMjo0NSAgbWFydGluawoKCSogU291cmNlLzogY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IzLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjMuaDogRU5IOiBiYWNrdXAgb2Ygd29yayBpbiBwcm9ncmVzcwoKMjAwNS0wNS0wNSAxMDo0MCAgYW5keQoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBCVUc6IElmIHRoZXJlIGlzIGEgZmF0YWwgZXJyb3IsIHN0b3AKCSAgcHJvY2Vzc2luZyBsaXN0IGZpbGUKCjIwMDUtMDUtMDUgMTA6MjYgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUc6IEFkZGVkIHNwYWNlIGFmdGVyCgkgIC9jbGVhbiB0byBhdm9pZCBwdXR0aW5nIGl0IHRvZ2V0aGVyIHdpdGggdGhlIGJ1aWxkIGNvbmZpZ3VyYXRpb24uCgkgIFRoaXMgZml4ZXMgdGhlIGZhaWx1cmUgb2YgdGhlIGNvbXBsZXh0IHRlc3Qgb24gdGhlIHNlY29uZCBydW4gaW4KCSAgdGhlIHNhbWUgdHJlZS4KCjIwMDUtMDUtMDUgMTA6MTkgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy9DVGVzdENvbmZpZy5jbWFrZTogRU5IOiBBZGQgY29uZmlndXJhdGlvbiBmaWxlIGZvcgoJICBrd3N5cwoKMjAwNS0wNS0wNSAxMDoxOSAgYW5keQoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9DVGVzdFRlc3QyL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9DVGVzdFRlc3QyL3Rlc3QuY21ha2UuaW46IEVOSDogQWRkIG5ldyBzdHlsZSBjdGVzdCBwcm9qZWN0CgoyMDA1LTA1LTA1IDEwOjE4ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0Q29uZmlndXJlQ29tbWFuZC5jeHgsCgkgIGNtQ1Rlc3RTdWJtaXRDb21tYW5kLmN4eDogRU5IOiBBZGQgZGVmYXVsdCBjb25maWd1cmUgcnVsZXMgZm9yCgkgIENNYWtlIHByb2plY3RzIGFuZCBhZGQgZGVmYXVsdCBydWxlcyBmb3Igc3VibWlzc2lvbgoKMjAwNS0wNS0wNSAxMDoxOCAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eDogRU5IOiBBZGQgdmFyaWFibGUgdGhhdAoJICBob2xkcyBjbWFrZSBleGVjdXRhYmxlCgoyMDA1LTA1LTA1IDEwOjE3ICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5oOiBFTkg6IEFkZCBhY2Nlc3NvcnQgZm9yIENNYWtlIGV4ZWN1dGFibGUKCjIwMDUtMDUtMDUgMDk6NDUgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy90ZXN0UHJvY2Vzcy5jOiBFTkg6IERpc2FibGluZyB0ZXN0IDYgb24gUU5YIHVudGlsCgkgIHByb2Nlc3Mga2lsbGluZyBjYW4gYmUgcmVzb2x2ZWQuICBJdCB3aWxsIGp1c3QgZmFpbCBhbHdheXMgZm9yCgkgIG5vdy4KCjIwMDUtMDUtMDUgMDk6MjEgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogQlVHOiBGaXggbG9naWMgZm9yIHZlcmJvc2UKCjIwMDUtMDUtMDUgMDk6MDkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9oYXNodGFibGUuaHh4LmluOiBDT01QOiBSZW1vdmVkIHVudXNlZCBwYXJhbWV0ZXIKCSAgd2FybmluZy4KCjIwMDUtMDUtMDUgMDk6MDggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IENPTVA6IEFkZGVkIHdvcmstYXJvdW5kIHRvIGF2b2lkCgkgIHdhcm5pbmdzIGFib3V0IHVucmVmZXJlbmNlZCBpbmxpbmUgZnVuY3Rpb25zIGZyb20gU0dJIHRlcm1pb3MuCgoyMDA1LTA1LTA1IDA5OjA1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYzogQ09NUDogQWRkZWQgaW5pdGlhbGl6ZXIgdG8gYXZvaWQKCSAgd2FybmluZy4gIEl0IGlzIG5vdCByZWFsbHkgbmVlZGVkLCB0aG91Z2guCgoyMDA1LTA1LTA1IDAzOjUxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDUtMDQgMTE6MzcgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy86IFN5c3RlbVRvb2xzLmN4eCwgU3lzdGVtVG9vbHMuaHh4LmluOiBFTkg6IEFkZAoJICBzcGxpdCB0aGF0IHNwbGl0cyBvbiBhcmJpdHJhcnkgc2VwYXJhdG9yCgoyMDA1LTA1LTA0IDExOjE2ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFVwZGF0ZUhhbmRsZXIuY3h4OiBFTkg6IEFsbG93IHNwYWNlcyBpbgoJICB1cGRhdGUgY29tbWFuZAoKMjAwNS0wNS0wNCAxMToxMyAgYW5keQoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdEJ1aWxkQ29tbWFuZC5jeHgsIGNtQ1Rlc3RCdWlsZENvbW1hbmQuaCwKCSAgY21DVGVzdENvbmZpZ3VyZUNvbW1hbmQuY3h4LCBjbUNUZXN0Q29uZmlndXJlQ29tbWFuZC5oLAoJICBjbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eCwgY21DVGVzdFN1Ym1pdENvbW1hbmQuY3h4LAoJICBjbUNUZXN0U3VibWl0Q29tbWFuZC5oLCBjbUNUZXN0VGVzdENvbW1hbmQuY3h4LAoJICBjbUNUZXN0VGVzdENvbW1hbmQuaCwgY21DVGVzdFVwZGF0ZUNvbW1hbmQuY3h4LAoJICBjbUNUZXN0VXBkYXRlQ29tbWFuZC5oOiBFTkg6IEltcHJvdmUgc3ludGF4CgoyMDA1LTA1LTA0IDExOjEzICBhbmR5CgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBCVUc6IEZpeCBib290c3RyYXAgdGVzdCBvbiBtYWNoaW5lcwoJICB3aXRoIHNwYWNlcyBpbiB0aGUgcGF0aAoKMjAwNS0wNS0wNCAxMToxMiAgYW5keQoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmh4eC5pbjogRU5IOiBFeHBvc2UKCSAgQ29udmVydFRvVW5peE91dHB1dFBhdGgKCjIwMDUtMDUtMDQgMDM6NTAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNS0wMyAxNToyOCAgYW5keQoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaCwgQ1Rlc3QvY21DVGVzdFN0YXJ0Q29tbWFuZC5jeHg6CgkgIEVOSDogQWRkIFNpdGUgYW5kIEJ1aWxkTmFtZSwgbWFrZSBzdXJlIHRoYXQgdGhlIHJlc3Qgb2YgdGhlCgkgIGRlZmF1bHQgLVMgcnVsZSBkb2VzIG5vdCBoYXBwZW4sIGFuZCBtYWtlIHN1cmUgdGhhdCBuZXcgdGFnIHdpbGwKCSAgYmUgY3JlYXRlZAoKMjAwNS0wNS0wMyAxNToyMCAgYW5keQoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogRU5IOiBObyBuZWVkIHRvIGNvbnZlcnQgdG8gb3V0cHV0CgkgIHBhdGgKCjIwMDUtMDUtMDMgMTU6MTkgIGtpbmcKCgkqIFNvdXJjZS86IGNtRGVwZW5kc0ZvcnRyYW5MZXhlci5jeHgsIGNtRGVwZW5kc0ZvcnRyYW5MZXhlci5pbi5sLAoJICBjbURlcGVuZHNKYXZhTGV4ZXIuY3h4LCBjbURlcGVuZHNKYXZhTGV4ZXIuaW4ubDogQ09NUDogUmVtb3ZlZAoJICB3YXJuaW5ncyBhYm91dCB1bnJlYWNoYWJsZSBjb2RlIGFuZCBjb25zdGFudCBjb250cm9sIGV4cHJlc3Npb25zLgoJICBBZGRlZCB0aGUgY2hhbmdlcyB0byB0aGUgaW5zdHJ1Y3Rpb25zIGluIHRoZSBpbnB1dCBsZXggZmlsZXMuCgoyMDA1LTA1LTAzIDE0OjU4ICBraW5nCgoJKiBTb3VyY2UvOiBjbUdlbmVyYXRlZEZpbGVTdHJlYW0uaCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuaCwgY21TdGFuZGFyZEluY2x1ZGVzLmgsCgkgIGNtU3lzdGVtVG9vbHMuY3h4LCBDVGVzdC9jbUNUZXN0VXBkYXRlSGFuZGxlci5oLAoJICBrd3N5cy9Db21tYW5kTGluZUFyZ3VtZW50cy5jeHgsIGt3c3lzL1N5c3RlbVRvb2xzLmN4eCwKCSAga3dzeXMvdGVzdGhhc2guY3h4OiBDT01QOiBBZGRlZCBwcmFnbWEgZGlyZWN0aXZlcyBmb3IgU0dJCgkgIGNvbXBpbGVycyB0byBhdm9pZCB1c2VsZXNzIHdhcm5pbmdzLgoKMjAwNS0wNS0wMyAxNDo1NyAga2luZwoKCSogU291cmNlL0N1cnNlc0RpYWxvZy86IGNtQ3Vyc2VzTG9uZ01lc3NhZ2VGb3JtLmN4eCwKCSAgY21DdXJzZXNNYWluRm9ybS5jeHg6IENPTVA6IENoYW5nZWQgd2hpbGUoMSkgdG8gZm9yKDs7KSB0byBhdm9pZAoJICB3YXJuaW5nIGFib3V0IGNvbnN0YW50IGNvbnRyb2wgZXhwcmVzc2lvbi4KCjIwMDUtMDUtMDMgMTQ6NTMgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c1BsYXRmb3JtQ3h4VGVzdHMuY3h4OiBDT01QOiBSZW1vdmVkIHN0cmF5CgkgIHNlbWljb2xvbi4KCjIwMDUtMDUtMDMgMTQ6MjggIGtpbmcKCgkqIFNvdXJjZS9jbVN0YW5kYXJkSW5jbHVkZXMuaDogQ09NUDogQWRkZWQgaGFjayB0byBhdm9pZCBTR0kKCSAgdGVybWlvcy5oIHdhcm5pbmdzLgoKMjAwNS0wNS0wMyAxNDoyOCAga2luZwoKCSogU291cmNlLzogY21EZXBlbmRzSmF2YUxleGVyLmN4eCwgY21EZXBlbmRzSmF2YUxleGVyLmluLmw6IENPTVA6CgkgIE5lZWQgI3VuZGVmIEVDSE8gdG8gYXZvaWQgY29uZmxpY3Qgd2l0aCBzeXN0ZW0gRUNITyBkZWZpbml0aW9uLgoKMjAwNS0wNS0wMyAxNDoyNyAga2luZwoKCSogU291cmNlL2t3c3lzL1JlZ3VsYXJFeHByZXNzaW9uLmh4eC5pbjogQ09NUDogQ2hhbmdlZCB0eXBlIG9mCgkgIHJlZ21sZW4gdG8gYXZvaWQgd2FybmluZ3Mgd2hlbiBvdGhlciBsZW5ndGhzIGFyZSBjb252ZXJ0ZWQgdG8gaXQuCgoyMDA1LTA1LTAzIDEwOjAyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvdGVzdFByb2Nlc3MuYzogRU5IOiBBZGRpbmcgdGVzdCBvZiBydW5uaW5nCgkgIGV4ZWN1dGFibGUgd2l0aCBmb3J3YXJkIHNsYXNoZXMgb24gd2luZG93cy4KCjIwMDUtMDUtMDMgMDk6NDAgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0LmgsIENUZXN0L2NtQ1Rlc3RCdWlsZENvbW1hbmQuY3h4LAoJICBDVGVzdC9jbUNUZXN0QnVpbGRIYW5kbGVyLmN4eCwgQ1Rlc3QvY21DVGVzdENvbmZpZ3VyZUNvbW1hbmQuY3h4LAoJICBDVGVzdC9jbUNUZXN0Q29uZmlndXJlSGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0TWVtQ2hlY2tIYW5kbGVyLmN4eCwgQ1Rlc3QvY21DVGVzdFN0YXJ0Q29tbWFuZC5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RTdWJtaXRDb21tYW5kLmN4eCwgQ1Rlc3QvY21DVGVzdFN1Ym1pdEhhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0VGVzdENvbW1hbmQuY3h4LCBDVGVzdC9jbUNUZXN0VXBkYXRlQ29tbWFuZC5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eDogRU5IOiBDbGVhbnVwcwoKMjAwNS0wNS0wMyAwODoxNyAgYW5keQoKCSogQ1Rlc3RDb25maWcuY21ha2UsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgU291cmNlL2NtQ1Rlc3QuY3h4LAoJICBTb3VyY2UvY21DVGVzdC5oLCBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0U2NyaXB0SGFuZGxlci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3VibWl0LmN4eCwgU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXQuaCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXRDb21tYW5kLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXRDb21tYW5kLmgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3VibWl0SGFuZGxlci5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3VibWl0SGFuZGxlci5oLAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RDb21tYW5kLmN4eCwKCSAgU291cmNlL0NUZXN0L2NtQ1Rlc3RUZXN0Q29tbWFuZC5oOiBFTkg6IFByb21vdGUgc3VibWl0IGludG8gYQoJICBmdWxsIGhhbmRsZXIsIGFkZCB0ZXN0IGFuZCBzdWJtaXQgY29tbWFuZCBhbmQgZG8gc29tZSBjbGVhbnVwcwoKMjAwNS0wNS0wMyAwNDoxNSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA1LTAyIDE1OjUxICBhbmR5CgoJKiBDVGVzdENvbmZpZy5jbWFrZSwgU291cmNlL0NUZXN0L2NtQ1Rlc3RCdWlsZENvbW1hbmQuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFNjcmlwdEhhbmRsZXIuY3h4OiBFTkg6IE1ha2UgY3Rlc3QgYnVpbGQKCSAgY29tbWFuZCB3b3JrCgoyMDA1LTA1LTAyIDE1OjUxICBhbmR5CgoJKiBTb3VyY2UvY21ha2UuaDogRU5IOiBNYWtlIEFkZENNYWtlUGF0aCBwdWJsaWMKCjIwMDUtMDUtMDIgMTU6NTAgIGFuZHkKCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5oOiBFTkg6IE1ha2UgRmluZE1ha2VQcm9ncmFtIHB1YmxpYwoKMjAwNS0wNS0wMiAxNDoxNSAgYW5keQoKCSogQ1Rlc3RDb25maWcuY21ha2UsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgU291cmNlL2NtQ1Rlc3QuY3h4LAoJICBTb3VyY2UvY21DVGVzdC5oLCBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0QnVpbGRDb21tYW5kLmgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0Q29uZmlndXJlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0Q29uZmlndXJlQ29tbWFuZC5oLAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFNjcmlwdEhhbmRsZXIuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN0YXJ0Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0VXBkYXRlQ29tbWFuZC5jeHg6IEVOSDogTW9yZSBjb21tYW5kcy4gU3RhcnQKCSAgd29ya2luZyBvbiBuZXcgc3R5bGUgY3Rlc3QgY29uZmlndXJhdGlvbgoKMjAwNS0wNS0wMiAwMzo0MiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA1LTAxIDAzOjM4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDQtMzAgMTU6MzYgIGFuZHkKCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogQ09NUDogUmVtb3ZlIHdhcm5pbmcKCjIwMDUtMDQtMzAgMDQ6MTMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNC0yOSAxMjo1MCAgYW5keQoKCSogU291cmNlL2NtQnVpbGRDb21tYW5kLmN4eDogRU5IOiBUcnkgdG8gc2VlIGlmCgkgIEdlbmVyYXRlQnVpbGRDb21tYW5kIHByb2R1Y2VzIGFwcm9wcmlhdGUgcmVzdWx0CgoyMDA1LTA0LTI5IDExOjQ5ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuaDogRU5IOiBBZGQgb3B0aW9uIHRvIGlnbm9yZSBlcnJvcnMuIE9ubHkKCSAgd29ya3Mgb24gbWFrZQoKMjAwNS0wNC0yOSAxMDoxMSAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oOiBDT01QOiBDb252ZXJ0aW5nCgkgIElOU1RBTEwtPkFMTF9CVUlMRCBkZXBlbmRlbmN5IGltcGxlbWVudGF0aW9uIHRvIHVzZSB0aGUKCSAgQWRkVXRpbGl0eSBtZXRob2Qgb24gYSB0YXJnZXQuICBUaGlzIHNpZ25pZmljYW50bHkgc2ltcGxpZmllcyB0aGUKCSAgaW1wbGVtZW50YXRpb24gYW5kIHJlbW92ZXMgd2FybmluZ3MgYWJvdXQgaGlkaW5nIHZpcnR1YWwKCSAgZnVuY3Rpb25zLgoKMjAwNS0wNC0yOSAxMDowNyAgYW5keQoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBDT01QOiBSZW1vdmUgd2FybmluZwoKMjAwNS0wNC0yOSAxMDowNiAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBFTkg6IG1ha2UgaW5zdGFsbCBkZXBlbmQgb24KCSAgYWxsCgoyMDA1LTA0LTI5IDA0OjE1ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDQtMjggMTg6MzQgIGFuZHkKCgkqIFNvdXJjZS86IGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmg6CgkgIEVOSDogU3RhcnQgd29ya2luZyBvbiBjb21tYW5kIHRoYXQgd2lsbCBhYnN0cmFjdCBnZW5lcmF0aW5nIG9mCgkgIGJ1aWxkIGNvbW1hbmQKCjIwMDUtMDQtMjggMTg6MTggIGFuZHkKCgkqIFNvdXJjZS86IGNtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaDogRU5IOiBTdGFydCB3b3JraW5nIG9uIGEgbWV0aG9kCgkgIHRoYXQgYWJzdHJhY3RzIGdlbmVyYXRpbmcgb2YgYnVpbGQgY29tbWFuZAoKMjAwNS0wNC0yOCAxNzozMyAgYW5keQoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5oOiBFTkg6IFN0YXJ0CgkgIHdvcmtpbmcgb24gY29tbWFuZCB0aGF0IHdpbGwgYWJzdHJhY3QgZ2VuZXJhdGluZyBvZiBidWlsZCBjb21tYW5kCgoyMDA1LTA0LTI4IDE2OjIxICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmg6IEVOSDogQWRkZWQgZGVwZW5kZW5jeSBmcm9tCgkgIElOU1RBTEwgdGFyZ2V0IHRvIEFMTF9CVUlMRCB0YXJnZXQgc28gdGhhdCB0YXJnZXRzIGJ1aWxkIGJlZm9yZQoJICBiZWluZyBpbnN0YWxsZWQuCgoyMDA1LTA0LTI4IDExOjQ3ICBraW5nCgoJKiBUZXN0cy86IFNpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFNpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dDogQlVHOiBBdm9pZCBpbmZpbml0ZSBsb29wIGR1cmluZwoJICBpbnN0YWxsYXRpb24uCgoyMDA1LTA0LTI4IDA5OjIxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvdGVzdFByb2Nlc3MuYzogQlVHOiBFeHRlbmRpbmcgYWxsIHRpbWVvdXRzIHRvIGhlbHAKCSAgb3V0IHNsb3dlciBtYWNoaW5lcy4KCjIwMDUtMDQtMjggMDk6MTQgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0QnVpbGRIYW5kbGVyLmN4eDogRU5IOiBBZGQgaW50ZXJuYWwgZXJyb3IKCjIwMDUtMDQtMjggMDU6MDcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNC0yNyAxMTo0NiAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmN4eDogRU5IOiBBZGRlZCBkZXBlbmRlbmN5CgkgIG9uIGFsbCBmb3IgaW5zdGFsbCBydWxlIHRvIG1ha2Ugc3VyZSBidWlsZCBpcyB1cCB0byBkYXRlIGJlZm9yZQoJICBpbnN0YWxsaW5nLiAgVGhpcyBiZWhhdmlvciBjYW4gYmUgZGlzYWJsZWQgYnkgc2V0dGluZwoJICBDTUFLRV9TS0lQX0lOU1RBTExfQUxMX0RFUEVOREVOQ1kgdG8gdHJ1ZS4KCjIwMDUtMDQtMjcgMTE6MzMgIGtpbmcKCgkqIFNvdXJjZS9jbVNvdXJjZUZpbGUuY3h4OiBCVUc6IERvIG5vdCBsZWF2ZSAuLi8gaW4gdGhlIGZ1bGwgcGF0aAoJICB0byBhIHNvdXJjZSBmaWxlLiAgVXNpbmcgQ29sbGFwc2VGdWxsUGF0aCBzaW1wbGlmaWVzIHRoZSBjb2RlCgkgIGFueXdheS4KCjIwMDUtMDQtMjcgMTA6MDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy90ZXN0UHJvY2Vzcy5jOiBCVUc6IEV4dGVuZGluZyB0aW1lb3V0IG9mIHRlc3QgNiBmcm9tCgkgIDAuMSBzZWNvbmRzIHRvIDMgc2Vjb25kcy4gIFRoaXMgc2hvdWxkIGF2b2lkIG1pc3NlZCBzaWduYWxzIGFuZAoJICBpbnRlcm1pdHRlbnQgZmFpbHVyZXMuCgoyMDA1LTA0LTI3IDA5OjEyICBraW5nCgoJKiBUZXN0cy9DdXN0b21Db21tYW5kL0NNYWtlTGlzdHMudHh0OiBCVUc6IFVzZSBjb3B5IHRvIHByb2R1Y2UKCSAgZG9jMXByZS50eHQgaW5zdGVhZCBvZiBlY2hvLglUaGUgcmVkaXJlY3Rpb24gZG9lcyBub3QgbGlrZQoJICBmb3J3YXJkIHNsYXNoZXMgb24gV2luOXguCgoyMDA1LTA0LTI3IDA0OjM1ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDQtMjYgMTc6MTEgIGtpbmcKCgkqIE1vZHVsZXMvOiBDTWFrZUJhY2t3YXJkQ29tcGF0aWJpbGl0eUMuY21ha2UsIEZpbmRUaHJlYWRzLmNtYWtlOgoJICBCVUc6IEZpeCB0cnktY29tcGlsZSBmb3Igc3lzL3ByY3RsLmguICBJdCBuZWVkcyB0byBpbmNsdWRlCgkgIHN5cy90eXBlcy5oIGZpcnN0IGFjY29yZGluZyB0byB0aGUgbWFuIHBhZ2UuCgoyMDA1LTA0LTI2IDE0OjEyICBraW5nCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2Zvcm0vOiBDTWFrZUxpc3RzLnR4dCwKCSAgaW50ZXJuYWxfc3RkaW9fY29yZS5oLmluOiBFTkg6IFJlbW92aW5nIHN0ZGlvX2NvcmUgaGFjay4gIEEKCSAgYmV0dGVyIHdvcmstYXJvdW5kIGhhcyBiZWVuIHB1dCBpbiBjbVN0YW5kYXJkSW5jbHVkZXMuaC4KCjIwMDUtMDQtMjYgMTQ6MTEgIGtpbmcKCgkqIFNvdXJjZS9jbVN0YW5kYXJkSW5jbHVkZXMuaDogQ09NUDogQWRkaW5nIGluY2x1c2lvbiBvZiBzdGRhcmcuaAoJICB0byB3b3JrLWFyb3VuZCBTR0kgaGVhZGVyIGJ1ZyBpbiA3LjQuMm0uCgoyMDA1LTA0LTI2IDExOjU1ICBraW5nCgoJKiBUZXN0cy9DdXN0b21Db21tYW5kL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZGVkIHByZS1idWlsZCBhbmQKCSAgcG9zdC1idWlsZCB0ZXN0IGZvciBjdXN0b20gdGFyZ2V0cy4KCjIwMDUtMDQtMjYgMTE6MzEgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEJVRzogTG9va3MgbGlrZSBzdGQ6OnN0cmluZyBjaGFuZ2VzCgkgIHRoZSByZXN1bHQgb2YgY19zdHIoKSBjYWxsLiBUaGlzIGZpeGVzIHBvdGVudGlhbCBwcm9ibGVtcwoKMjAwNS0wNC0yNiAxMToxNSAgYW5keQoKCSogU291cmNlL2NtYWtld2l6YXJkLmg6IENPTVA6IFJlbW92ZSB3YXJuaW5nCgoyMDA1LTA0LTI2IDExOjA5ICBhbmR5CgoJKiBTb3VyY2UvOiBjbWFrZXdpemFyZC5oLCBDVGVzdC9jbUNUZXN0VXBkYXRlSGFuZGxlci5jeHg6IENPTVA6CgkgIFJlbW92ZSB3YXJuaW5ncwoKMjAwNS0wNC0yNiAxMTowOCAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5oOiBCVUc6IEZpeGVkIG9yZGVyaW5nIG9mIG11bHRpcGxlCgkgIGNvbW1hbmRzIGluIGEgY3VzdG9tIHRhcmdldCB3aGVuIGltcGxlbWVudGVkIGFzIGN1c3RvbSBjb21tYW5kcy4KCSAgQWxzbyBhZGRlZCBzdXBwb3J0IHRvIGV4ZWN1dGUgcHJlLWJ1aWxkIHJ1bGVzIGZpcnN0IHRvIGJlCgkgIGNvbnNpc3RlbnQgd2l0aCBtYWtlZmlsZSBnZW5lcmF0b3IuCgoyMDA1LTA0LTI2IDA4OjUxICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4OiBCVUc6IEFkZGVkIGluY2x1c2lvbiBvZgoJICBwcmUtYnVpbGQgcnVsZXMgZm9yIGN1c3RvbSB0YXJnZXRzLgoKMjAwNS0wNC0yNiAwNDo0NSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA0LTI1IDA5OjU5ICBhbmR5CgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IENPTVA6IFJlbW92ZSB3YXJuaW5nCgoyMDA1LTA0LTI1IDAzOjAzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDQtMjQgMTY6MTkgIGFuZHkKCgkqIFNvdXJjZS9jbUFkZFRlc3RDb21tYW5kLmN4eDogQ09NUDogRml4IHByb2JsZW0gb24gY29tcGlsZXJzIHRoYXQKCSAgY2Fubm90IGltcGxpY2l0bHkgY29udmVydCBzdGQ6OnN0cmluZyB0byBjbVN0ZFN0cmluZwoKMjAwNS0wNC0yNCAxNTo1OSAgYW5keQoKCSogYm9vdHN0cmFwLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbUFkZFRlc3RDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtQWRkVGVzdENvbW1hbmQuaCwgU291cmNlL2NtRW5hYmxlVGVzdGluZ0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21FbmFibGVUZXN0aW5nQ29tbWFuZC5oLCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuaCwgU291cmNlL2NtVGVzdC5jeHgsCgkgIFNvdXJjZS9jbVRlc3QuaDogRU5IOiBJbXByb3ZlIGludGVybmFsIHRlc3QgaGFuZGxpbmcgYnkgY3JlYXRpbmcKCSAgYSB0ZXN0IGNsYXNzLiBDb21tYW5kIGNtRW5hYmxlVGVzdGluZyBub3cgb25seSBzZXRzCgkgIENNQUtFX1RFU1RJTkdfRU5BQkxFRCBhbmQgY21BZGRUZXN0IG9ubHkgYWRkcyBhIHRlc3QgdG8gdGhlIGxpc3QuCgkgIFRoZSBhY3R1YWwgdGVzdCBmaWxlcyBhcmUgd3JpdHRlbiBieSBsb2NhbCBnZW5lcmF0b3IuIFRoaXMgd2F5IHdlCgkgIGNhbiBhdCBzb21lIHBvaW50IGluIHRoZSBmdXR1cmUgcmVwbGFjZSBEYXJ0VGVzdGZpbGUgd2l0aCBzb21lCgkgIFhNTCBmaWxlCgoyMDA1LTA0LTI0IDE0OjI4ICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEJVRzogVGhlIGFyZ3VtZW50IGlzIC0tY3Rlc3QtY29uZmlnCgoyMDA1LTA0LTI0IDEzOjU3ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFVwZGF0ZUhhbmRsZXIuY3h4OiBFTkg6IFN1cHBvcnQgZm9yIG1vZGlmaWVkCgkgIGFuZCBjb25mbGljdHMgaW4gc3VidmVyc2lvbgoKMjAwNS0wNC0yNCAxMzoxNSAga2luZwoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9mb3JtL0NNYWtlTGlzdHMudHh0OiBCVUc6IE9sZGVyIFNHSSBjb21waWxlcnMKCSAgc3RpbGwgaGF2ZSBpbnRlcm5hbC9zdGRpb19jb3JlLmggYnV0IGRvIG5vdCBzdXBwb3J0CgkgICNpbmNsdWRlX25leHQuICBXZSdsbCBoYXZlIHRvIHRyeS1jb21waWxlIHRvIHRlc3Qgd2hldGhlciB0aGlzCgkgIGhhY2sgaXMgbmVlZGVkLgoKMjAwNS0wNC0yNCAxMjozMiAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eDogQlVHOiBSZW1lbWJlciBpZiB0aGVyZSB3YXMKCSAgdXBkYXRlIGVycm9yCgoyMDA1LTA0LTI0IDAyOjI2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDQtMjMgMDI6MjYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNC0yMiAxNjoxMSAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5oLCBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0Lmg6IEVOSDoKCSAgQ3JlYXRlZCBjbVRhcmdldDo6R2V0TGlicmFyeU5hbWVzIHRvIHJlcGxhY2UKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjI6OkdldExpYnJhcnlOYW1lcy4gIEFkZGVkCgkgIGNtVGFyZ2V0OjpHZXRMaWJyYXJ5Q2xlYW5OYW1lcyB0byBiZSB1c2VkIGJ5CgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLiAgTm93IHdoZW4gYSBsaWJyYXJ5IGlzIGxpbmtlZCBib3RoCgkgIHRoZSBzaGFyZWQgYW5kIHN0YXRpYyB2ZXJzaW9ucyBhcmUgcmVtb3ZlZCBmcm9tIHRoZSBidWlsZCB0cmVlLgoJICBJbiB0aGlzIHdheSB3ZSBhdm9pZCBoYXZpbmcgYm90aCBraW5kcyBvZiBsaWJyYXJpZXMgcHJlc2VudCB3aGVuCgkgIHRoZSB1c2VyIHN3aXRjaGVzIEJVSUxEX1NIQVJFRF9MSUJTIG9uL29mZi4gIFRoaXMgcHJldmVudHMKCSAgcHJvYmxlbXMgd2l0aCB0dXJuaW5nIG9mZiBzaGFyZWQgbGlicmFyaWVzIGFuZCB0aGVuIGV4cGVjdGluZyB0aGUKCSAgbGlua2VyIHRvIHVzZSB0aGUgc3RhdGljIGxpYnJhcmllcyBvbmx5IHRvIGZpbmQgaXQgaXMgdXNpbmcgdGhlCgkgIG91dC1vZi1kYXRlIHNoYXJlZCB2ZXJzaW9ucy4KCjIwMDUtMDQtMjIgMTU6MjMgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2V0VGFyZ2V0UHJvcGVydHlDb21tYW5kLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxHZW5lcmF0b3IuaCwgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5oLCBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0Lmg6IEVOSDoKCSAgQWRkZWQgY21UYXJnZXQ6OkdldEJhc2VOYW1lIGFuZCBjbVRhcmdldDo6R2V0RnVsbE5hbWUgbWV0aG9kcyBhbmQKCSAgcmVtb3ZlZCBjbUxvY2FsR2VuZXJhdG9yOjpHZXRGdWxsVGFyZ2V0TmFtZSBhbmQKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjI6OkdldEJhc2VUYXJnZXROYW1lLiAgVGhpcwoJICBmdW5jdGlvbmFsaXR5IGlzIG1vcmUgc2Vuc2libHkgaW1wbGVtZW50ZWQgaW4gY21UYXJnZXQuICBJdCBpcwoJICBhbHNvIG5lZWRlZCBmb3IgYW4gdXBjb21pbmcgZmVhdHVyZSBpbiB3aGljaCBib3RoIHRoZSBzaGFyZWQgYW5kCgkgIHN0YXRpYyB2ZXJzaW9ucyBvZiBhIGxpYnJhcnkgd2lsbCBiZSByZW1vdmVkIGJlZm9yZSBvbmUgaXMKCSAgbGlua2VkLgoKMjAwNS0wNC0yMiAxMzo1MiAga2luZwoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eDogQ09NUDogQ29tbWVudGVkIG91dCB1bnVzZWQKCSAgdmFyaWFibGUgdW50aWwgdGhlIGNvcnJlc3BvbmRpbmcgbG9naWMgaXMgZmluaXNoZWQuCgoyMDA1LTA0LTIyIDExOjU3ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBoYXNodGFibGUuaHh4LmluLCBrd3N5c19zdGxfc3RyaW5nLmh4eC5pbjogQ09NUDoKCSAgUmVtb3ZlZCBsaW5lIGNvbnRpbnVhdGlvbiBjaGFyYWN0ZXJzIGZyb20gI2lmIGxpbmVzIHRvIGF2b2lkCgkgIGxpbmVmZWVkIHByb2JsZW1zIG9uIGN5Z3dpbi4KCjIwMDUtMDQtMjIgMDk6NDQgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy90ZXN0UHJvY2Vzcy5jOiBCVUc6IERyYXN0aWNhbGx5IGV4dGVuZGluZyB0ZXN0NSdzCgkgIHRpbWVvdXRzIHRvIGdldCBpdCB0byBwYXNzIHdoZW4gcnVubmluZyBvbiBhIGhlYXZpbHktbG9hZGVkCgkgIG1hY2hpbmUuCgoyMDA1LTA0LTIyIDA5OjIyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBDT01QOiBGaXhlZAoJICBhc3NpZ25tZW50LWluLWNvbmRpdGlvbmFsIHdhcm5pbmcuCgoyMDA1LTA0LTIyIDA5OjIxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvQ29tbWFuZExpbmVBcmd1bWVudHMuY3h4OiBDT01QOiBGaXhlZCBjb25zdGFudAoJICBjb25kaXRpb25hbCB3YXJuaW5nLgoKMjAwNS0wNC0yMiAwOToyMSAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jOiBDT01QOiBGaXhlZCB1bnVzZWQgcGFyYW1ldGVyIGFuZAoJICBjb25zdGFudCBjb25kaXRpb25hbCB3YXJuaW5ncy4KCjIwMDUtMDQtMjIgMDM6MDMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNC0yMSAxODoyMyAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eDogRU5IOiBSZW9yZ2FuaXplIGEgYml0IGFuZAoJICBtYWtlIHN1cmUgdG8gcmVwb3J0IGFuIGVycm9yIGlmIHRoZXJlIGFyZSBtb2RpZmllZCBmaWxlcyBvcgoJICBjb25mbGljdHMKCjIwMDUtMDQtMjEgMTc6MDAgIGtpbmcKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvZm9ybS86IENNYWtlTGlzdHMudHh0LCBmb3JtLmgsCgkgIGludGVybmFsX3N0ZGlvX2NvcmUuaC5pbjogQ09NUDogVXNpbmcgYSBuZXcgd29yay1hcm91bmQgZm9yCgkgIHN0ZGFyZy5oIHByb2JsZW0gb24gU0dJLgoKMjAwNS0wNC0yMSAxNjo0NiAga2luZwoKCSogU291cmNlL2t3c3lzL2hhc2h0YWJsZS5oeHguaW46IEJVRzogRml4ZWQgaGFzaF9hbGxvY2F0b3JfbiBzaXplCgkgIGNvbXB1dGF0aW9uLgoKMjAwNS0wNC0yMSAxNjo0NiAga2luZwoKCSogU291cmNlL2t3c3lzL3Rlc3RoYXNoLmN4eDogRU5IOiBBZGRlZCBpbmNsdWRlLXdvcmstYXJvdW5kIGZvcgoJICBoYXNodGFibGUuaHh4LmluIGRlcGVuZGVuY3kuCgoyMDA1LTA0LTIxIDE2OjA1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBQcm9jZXNzVU5JWC5jLCBQcm9jZXNzV2luMzIuYzogQlVHOiBEbyBub3QgY2xvc2UKCSAgc3Rkb3V0L3N0ZGVyciBwaXBlcyBpbiBwYXJlbnQgaWYgdGhleSBhcmUgc2hhcmVkLgoKMjAwNS0wNC0yMSAxMzo1NiAga2luZwoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmh4eC5pbjogQ09NUDogRG8gbm90IGRvIHZhX2xpc3QgaGFjayBpZgoJICB0aGVyZSBpcyBubyBzdGQ6OiBuYW1lc3BhY2UuCgoyMDA1LTA0LTIxIDEzOjQ3ICBraW5nCgoJKiBib290c3RyYXAsIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL2t3c3lzL0NvbmZpZ3VyZS5oeHguaW4sIFNvdXJjZS9rd3N5cy9oYXNodGFibGUuaHh4LmluLAoJICBTb3VyY2Uva3dzeXMva3dzeXNQbGF0Zm9ybUN4eFRlc3RzLmN4eDogQ09NUDogQWRkZWQgS1dTeXMKCSAgdHJ5LWNvbXBpbGVzIEtXU1lTX1NUTF9IQVNfQUxMT0NBVE9SX1RFTVBMQVRFIGFuZAoJICBLV1NZU19TVExfSEFTX0FMTE9DQVRPUl9PQkpFQ1RTLiAgTmVlZGVkIGZvciBtb3JlIG9sZC1zdGwgc3VwcG9ydAoJICBpbiB0aGUgaGFzaHRhYmxlLgoKMjAwNS0wNC0yMSAwMjo1MCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA0LTIwIDE2OjExICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDQtMjAgMDg6NTMgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy90ZXN0UHJvY2Vzcy5jOiBCVUc6IEFkanVzdGluZyB0aW1lb3V0cyBmb3IgdGVzdHMgNAoJICBhbmQgNSB0byBhdm9pZCBlYXJseSBraWxsaW5nLgoKMjAwNS0wNC0xOSAxODoyNiAgYW5keQoKCSogU291cmNlLzogQ3Vyc2VzRGlhbG9nL2Zvcm0vZm9ybS5oLCBrd3N5cy9TeXN0ZW1Ub29scy5oeHguaW46CgkgIENPTVA6IEF0dGVtcHQgdG8gZml4IHByb2JsZW0gd2l0aCBidWlsZGluZyBvbiBTR0kKCjIwMDUtMDQtMTkgMTE6NTIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jOiBCVUc6IFdoZW4ga2lsbGluZyBhIGNoaWxkIGFsbCB0aGUKCSAgcGlwZSByZWFkIGVuZHMgc2hvdWxkIGJlIGNsb3NlZC4gIFRoaXMgd2lsbCBhbGxvdyBhIGNoaWxkIHRoYXQgaXMKCSAgYmxvY2tpbmcgd2hpbGUgd2FpdGluZyB0byB3cml0ZSB0byB0aGUgcGlwZSB0byB3YWtlIHVwIGFuZAoJICByZWNlaXZlIHRoZSBraWxsIHNpZ25hbCBwcm9wZXJseSBvbiBjeWd3aW4uCgoyMDA1LTA0LTE5IDEwOjUyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvdGVzdFByb2Nlc3MuYzogQlVHOiBFeHBhbmRlZCBkaWZmZXJlbmNlIGluIHRpbWVvdXRzCgkgIGJldHdlZW4gdGVzdHMgNCBhbmQgNSBzbyB0aGF0IDUgZG9lcyBub3QgdGltZW91dCB3aGlsZSB3YWl0aW5nCgkgIGZvciA0IHRvIHRpbWVvdXQuICBUaGlzIHNob3VsZCBmaXggdGhlIGludGVybWl0dGVudCBmYWlsdXJlIG9mCgkgIHRlc3QgNSBvbiBjeWd3aW4uICBFTkg6IFdoZW4gYSBtaXNtYXRjaCBpcyByZXBvcnRlZCBpdCBub3cKCSAgcmVwb3J0cyB3aGF0IGl0IHdhcyBhcyB3ZWxsIGFzIHdoYXQgaXQgc2hvdWxkIGhhdmUgYmVlbi4KCjIwMDUtMDQtMTUgMTg6NTcgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c1BsYXRmb3JtQ3h4VGVzdHMuY3h4OiBCVUc6IEZvciBzb21lIHJlYXNvbiB0aGUKCSAgbm9uLXRlbXBsYXRlIGFsbG9jYXRvciB0ZXN0IGNvbXBpbGVzIG9uIFZTNiBldmVuIHRob3VnaCBpdHMKCSAgYWxsb2NhdG9yIGlzIGEgdGVtcGxhdGUuICBBZGRpbmcgOjpzaXplX3R5cGUgdG8gYmUgc3VyZSBpdAoJICBhY2Nlc3NlcyBhIG1lbWJlciBvZiB0aGUgYWxsb2NhdG9yLgoKMjAwNS0wNC0xNSAxODo0OSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzUGxhdGZvcm1DeHhUZXN0cy5jeHg6IEJVRzogRml4IGl0ZXJhdG9yIHRyYWl0cwoJICB0ZXN0IHRvIHVzZSBhIHJlYWwgaXRlcmF0b3IgaW5zdGVhZCBvZiBpbnQqLgoKMjAwNS0wNC0xNSAxNjoxMCAga2luZwoKCSogU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0OiBCVUc6IENhbm5vdCB1c2UgV2luMzIgaW1wbGVtZW50YXRpb24KCSAgZm9yIGN5Z3dpbiBwcm9jZXNzZXMgYmVjYXVzZSB0aGVuIGN5Z3dpbiBwYXRocyB0byBleGVjdXRhYmxlcwoJICBsaWtlIC91c3IvYmluL2xzIGFyZSBub3QgZm91bmQuCgoyMDA1LTA0LTE1IDE2OjAwICBraW5nCgoJKiBib290c3RyYXAsIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL2t3c3lzL0NvbmZpZ3VyZS5oeHguaW4sIFNvdXJjZS9rd3N5cy9oYXNoX2Z1bi5oeHguaW4sCgkgIFNvdXJjZS9rd3N5cy9oYXNodGFibGUuaHh4LmluLAoJICBTb3VyY2Uva3dzeXMva3dzeXNQbGF0Zm9ybUN4eFRlc3RzLmN4eCwKCSAgU291cmNlL2t3c3lzL2t3c3lzX2NzdGRkZWYuaHh4LmluOiBDT01QOiBBZGRlZAoJICBLV1NZU19DWFhfSEFTX0NTVERERUYgdHJ5LWNvbXBpbGUgdG8gS1dTeXMgdG8gcHJvdmlkZQoJICBrd3N5cy9jc3RkZGVmIGhlYWRlciAodG8gZ2V0IHNpemVfdCBmb3IgaGFzaF9mdW4uaHh4KS4KCjIwMDUtMDQtMTUgMTU6MzAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IGhhc2hfbWFwLmh4eC5pbiwgaGFzaF9zZXQuaHh4LmluLAoJICBoYXNodGFibGUuaHh4LmluOiBDT01QOiBSZXBsYWNlZCBrd3N5c19zdGwgd2l0aAoJICBAS1dTWVNfTkFNRVNQQUNFQF9zdGwgdG8gcHJvcGVybHkgdXNlIHRoZSBjb25maWd1cmVkIG5hbWVzcGFjZS4KCjIwMDUtMDQtMTUgMTU6MTggIGJhcnJlCgoJKiBTb3VyY2Uva3dzeXMvOiBTeXN0ZW1Ub29scy5jeHgsIFN5c3RlbVRvb2xzLmh4eC5pbjogRU5IOiBtb3ZlCgkgIGNvbnZlbmllbmNlIG1ldGhvZCB0byBnZXQgT1MgbmFtZSBhbmQgdmVyc2lvbiBmcm9tIEtXQXBwIHRvCgkgIEtXU3lzLgoKMjAwNS0wNC0xNSAxNDo0NyAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBTVFlMRTogRml4IGVuZ2xpc2gKCjIwMDUtMDQtMTUgMTM6NTYgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEJVRzogQWRkZWQgbWlzc2luZyB2YXJpYWJsZQoJICBpbml0aWFsaXphdGlvbiB0aGF0IHdhcyBhY2NpZGVudGFsbHkgcmVtb3ZlZCBvbiB0aGUgcHJldmlzb3VzCgkgIGNvbW1pdC4KCjIwMDUtMDQtMTUgMTM6MzUgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dDogRU5IOiBDaGFuZ2luZyBrd3N5c1Byb2Nlc3MKCSAgaW1wbGVtZW50YXRpb24gb24gQ3lnd2luIHRvIHVzZSB0aGUgV2luMzIgaW1wbGVtZW50YXRpb24gaW5zdGVhZAoJICBvZiB0aGUgVU5JWCBpbXBsZW1lbnRhdGlvbi4gIFRoaXMgbWFrZXMgZGVhbGluZyB3aXRoIG1pc2JlaGF2aW5nCgkgIGNoaWxkcmVuIHdvcmsgYmV0dGVyLiAgVGhlIEtXU3lzIFdpbjMyIHByb2Nlc3MgaW1wbGVtZW50YWlvbiBpcwoJICBtb3JlIHJvYnVzdCB0aGFuIHRoZSBDeWd3aW4gaW1wbGVtZW50YXRpb24gKHBhcnRseSBiZWNhdXNlIGl0CgkgIGRvZXNuJ3QgaGF2ZSB0byBleGFjdGx5IHJlcHJvZHVjZSB0aGUgUE9TSVggYXBpKS4KCjIwMDUtMDQtMTUgMTA6NDYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVRyeUNvbXBpbGVDb21tYW5kLmN4eDogQlVHOiB3b3JrIGFyb3VuZCBmb3IgYnVnZ3kgVGlnZ2VyCgkgIE9TWCBzeXN0ZW1zIHRoYXQgcmVhZCB0d28gY29waWVzIG9mIHRoZSBzYW1lIGZpbGUgaW4gYSBkaXJlY3RvcnkKCjIwMDUtMDQtMTUgMDk6NTQgIGtpbmcKCgkqIGJvb3RzdHJhcCwgU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0LAoJICBTb3VyY2Uva3dzeXMvQ29uZmlndXJlLmh4eC5pbiwgU291cmNlL2t3c3lzL2hhc2hfbWFwLmh4eC5pbiwKCSAgU291cmNlL2t3c3lzL2hhc2hfc2V0Lmh4eC5pbiwgU291cmNlL2t3c3lzL2hhc2h0YWJsZS5oeHguaW4sCgkgIFNvdXJjZS9rd3N5cy9rd3N5c1BsYXRmb3JtQ3h4VGVzdHMuY3h4OiBFTkg6IEFkZGVkIEtXU3lzCgkgIHRyeS1jb21waWxlcyBLV1NZU19TVExfSEFTX0lURVJBVE9SX1RSQUlUUywKCSAgS1dTWVNfU1RMX0hBU19JVEVSQVRPUl9DQVRFR09SWSwKCSAgS1dTWVNfU1RMX0hBU19fX0lURVJBVE9SX0NBVEVHT1JZLCBhbmQKCSAgS1dTWVNfU1RMX0hBU19BTExPQ0FUT1JfTk9OVEVNUExBVEUgdG8gZ2V0IHRoZSBoYXNoIHRhYmxlIHRvCgkgIGNvbXBpbGUgb24gb2xkIEhQIGFuZCBTdW4gY29tcGlsZXJzLgoKMjAwNS0wNC0xNSAwOTozNSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA0LTE1IDA5OjA1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvaGFzaF9tYXAuaHh4LmluOiBDT01QOiBSZXBsYWNpbmcgX1NlbGVjdDFzdCB3aXRoIGEKCSAgc3BlY2lhbGl6ZWQgaGFzaF9zZWxlY3Qxc3QgdGhhdCBhdm9pZHMgcmVxdWlyaW5nIHRoZSBzdGwgcGFpciB0bwoJICBoYXZlIGZpcnN0X3R5cGUgZGVmaW5lZC4gIFRoZSBvbGQgSFAgU1RMIGRvZXMgbm90IGRlZmluZQoJICBmaXJzdF90eXBlIGFuZCBzZWNvbmRfdHlwZSBpbiBpdHMgcGFpci4KCjIwMDUtMDQtMTUgMDg6NTkgIGtpbmcKCgkqIGJvb3RzdHJhcCwgU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0LAoJICBTb3VyY2Uva3dzeXMvQ29uZmlndXJlLmh4eC5pbiwgU291cmNlL2t3c3lzL2hhc2h0YWJsZS5oeHguaW4sCgkgIFNvdXJjZS9rd3N5cy9rd3N5c1BsYXRmb3JtQ3h4VGVzdHMuY3h4OiBFTkg6IEFkZGVkCgkgIEtXU1lTX0NYWF9IQVNfQVJHVU1FTlRfREVQRU5ERU5UX0xPT0tVUCB0cnktY29tcGlsZSB0byBLV1N5cy4KCSAgTmVlZGVkIHRvIG9wdGlvbmFsbHkgYnJpbmcgaGFzaCB0YWJsZSBjb21wYXJpc29uIG9wZXJhdG9ycyBpbnRvCgkgIHRoZSBnbG9iYWwgbmFtZXNwYWNlIHdoZW4gYXJndW1lbnQgZGVwZW5kZW50IGxvb2t1cCBpcyBub3QKCSAgc3VwcG9ydGVkLgoKMjAwNS0wNC0xNSAwODoyNSAga2luZwoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQ09NUDogUmVtb3ZlZCBleHRyYSB2YXJpYWJsZQoJICBpbml0aWFsaXphdGlvbnMgdG8gYXZvaWQgQm9ybGFuZCB3YXJuaW5ncy4KCjIwMDUtMDQtMTQgMDQ6NTAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNC0xMyAyMzowNCAga2luZwoKCSogU291cmNlL2t3c3lzLzogaGFzaF9tYXAuaHh4LmluLCBoYXNoX3NldC5oeHguaW4sCgkgIGhhc2h0YWJsZS5oeHguaW46IENPTVA6IFJlbW92ZSBmcmllbmQgdGVtcGxhdGVzIGFuZCBhbHdheXMgdXNlCgkgIHRlbXBsYXRlIGZyaWVuZHMgKHBvc3NpYmx5IHdpdGggPD4pLglOZWVkZWQgdG8gd29yay1hcm91bmQgU3VuCgkgIENDIGJ1Zy4KCjIwMDUtMDQtMTMgMjM6MDMgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy90ZXN0U3lzdGVtVG9vbHMuY3h4OiBDT01QOiBEaXNhYmxlIE1TVkMgZGVidWcgc3ltYm9sCgkgIHRydW5jYXRpb24gd2FybmluZy4KCjIwMDUtMDQtMTMgMTg6MTMgIGFuZHkKCgkqIFNvdXJjZS9jbUdlbmVyYXRlZEZpbGVTdHJlYW0uY3h4OiBFTkg6IEZvciBzYW5pdHksIGNyZWF0ZQoJICBkaXJlY3RvcnkgYmVmb3JlIGNyZWF0aW5nIGdlbmVyYXRlZCBmaWxlIHN0cmVhbQoKMjAwNS0wNC0xMyAxNzo1OCAga2luZwoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBCVUc6IFRoZSB0ZXN0MSBleGVjdXRhYmxlIGhhcyBiZWVuIHJlbW92ZWQKCSAgZnJvbSBrd3N5cy4gIEluc3RlYWQgdXNpbmcgdGVzdElPUyBmb3IgdGhlIGt3c3lzIHRlc3QuCgoyMDA1LTA0LTEzIDE2OjU4ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQ6IFNUWUxFOiBSZW5hbWluZyBrd3N5cy1oYXNoIHRlc3QgdG8KCSAga3dzeXMtdGVzdGhhc2ggZm9yIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgdGVzdHMuCgoyMDA1LTA0LTEzIDE2OjU1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvdGVzdFByb2Nlc3MuYzogQ09NUDogUmVtb3ZpbmcgcmV0dXJuIHZhbHVlIGZyb20KCSAgdGVzdDYuICBJdCBpcyBhbiBpbmZpbml0ZSBsb29wLCBzbyB0aGUgcmV0dXJuIGNhdXNlcyB3YXJuaW5ncy4KCSAgSXQgd2lsbCBuZXZlciByZXR1cm4gYW55d2F5LgoKMjAwNS0wNC0xMyAxNjo0NyAga2luZwoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIHRlc3QxLmN4eDogRU5IOiBSZW1vdmluZyBvbGQKCSAgdGVzdDEuYyBQcm9jZXNzIGV4ZWN1dGlvbiBleGFtcGxlLiAgSXQgaXMgZnVsbHkgcmVwbGFjZWQgYnkKCSAgdGVzdFByb2Nlc3MuCgoyMDA1LTA0LTEzIDE2OjQ2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBCYXNlNjQuYywgQ29tbWFuZExpbmVBcmd1bWVudHMuY3h4LCBEaXJlY3RvcnkuY3h4LAoJICBQcm9jZXNzVU5JWC5jLCBQcm9jZXNzV2luMzIuYywgUmVndWxhckV4cHJlc3Npb24uY3h4LAoJICBTeXN0ZW1Ub29scy5jeHgsIHRlc3QxLmN4eCwgdGVzdENvbW1hbmRMaW5lQXJndW1lbnRzLmN4eCwKCSAgdGVzdElPUy5jeHgsIHRlc3RQcm9jZXNzLmMsIHRlc3RTeXN0ZW1Ub29scy5jeHgsIHRlc3RoYXNoLmN4eDoKCSAgQ09NUDogQWRkaW5nIHdvcmstYXJvdW5kIGZvciBDTWFrZSBkZXBlbmRlbmN5IHNjYW5uaW5nCgkgIGxpbWl0YXRpb24uICBBbnkgY29uZmlndXJlZCBoZWFkZXIgaW5jbHVkZWQgYnkgS1dTWVNfSEVBREVSKCkgaW4KCSAgYSAuYyBvciAuY3h4IGZpbGUgaW4ga3dzeXMgaXRzZWxmIG11c3QgdXNlIHRoaXMgaGFjayB0byBnZXQKCSAgZGVwZW5kZW5jaWVzLgoKMjAwNS0wNC0xMyAxNjozNSAgYW5keQoKCSogU291cmNlLzogY21NYWtlZmlsZS5jeHgsIGNtU291cmNlRmlsZS5jeHgsIGNtU291cmNlRmlsZS5oOiBFTkg6CgkgIFNwZWVkdXAgYnkgc3RvcmluZyBzb3VyY2UgbmFtZSB3aXRob3V0IGxhc3QgZXh0ZW5zaW9uCgoyMDA1LTA0LTEzIDE2OjM0ICBhbmR5CgoJKiBTb3VyY2UvY21UYXJnZXQuY3h4OiBFTkg6IFNwZWVkdXAgYnkgb25seSBnZXR0aW5nIHRoZSBzb3VyY2Ugb25jZQoKMjAwNS0wNC0xMyAxNjoyNSAgYW5keQoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IEltcHJvdmUgcGVyZm9ybWFuY2UgYnkgdXNpbmcKCSAgdmVjdG9yIG9mIGNoYXIgaW5zdGVhZCBvZiBzdHJpbmcKCjIwMDUtMDQtMTMgMTY6MDUgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy90ZXN0U3lzdGVtVG9vbHMuY3h4OiBCVUc6IE9ubHkgZG8gfiB0ZXN0IGlmIEhPTUUKCSAgdmFyaWFibGUgaXMgZGVmaW5lZC4KCjIwMDUtMDQtMTMgMTU6NTcgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy90ZXN0UHJvY2Vzcy5jOiBCVUc6IEF2b2lkIGVycm9yIGRpYWdub3N0aWMgcG9wdXBzIG9uCgkgIHdpbmRvd3MgZm9yIHRlc3QgdGhhdCBjcmFzaGVzIG9uIHB1cnBvc2UuCgoyMDA1LTA0LTEzIDE1OjM5ICBraW5nCgoJKiBib290c3RyYXAsIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL2t3c3lzL0NvbmZpZ3VyZS5oeHguaW4sIFNvdXJjZS9rd3N5cy9oYXNodGFibGUuaHh4LmluLAoJICBTb3VyY2Uva3dzeXMva3dzeXNQbGF0Zm9ybUN4eFRlc3RzLmN4eDogQ09NUDogQWRkZWQKCSAgS1dTWVNfU1RMX0hBU19BTExPQ0FUT1JfTUFYX1NJWkVfQVJHVU1FTlQgY2hlY2sgZm9yIG5vbi1zdGFuZGFyZAoJICBhcmd1bWVudCB0byBzdGwgYWxsb2NhdG9yPD46Om1heF9zaXplIG1ldGhvZC4gIE5lZWRlZCBmb3Iga3dzeXMKCSAgaGFzaHRhYmxlIHRvIGNvbXBpbGUgb24gU3VuIENDLgoKMjAwNS0wNC0xMyAxNToyOSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzUGxhdGZvcm1DeHhUZXN0cy5jeHg6IEJVRzoKCSAgYWxsb2NhdG9yPD46OnJlYmluZDw+IHRlc3Qgc2hvdWxkIHVzZSBrd3N5c19zdGw6OmFsbG9jYXRvciwgbm90CgkgIHN0ZDo6YWxsb2NhdG9yLgoKMjAwNS0wNC0xMyAxNToyMiAga2luZwoKCSogU291cmNlL2t3c3lzL2hhc2h0YWJsZS5oeHguaW46IENPTVA6IEZpeCBmb3IgU3VuIENDIHN0bCBhbGxvY2F0b3IKCSAgc2lnbmF0dXJlIG9mIGFsbG9jYXRlIG1ldGhvZC4KCjIwMDUtMDQtMTMgMTU6MDQgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9oYXNodGFibGUuaHh4LmluOiBCVUc6IFdoZW4gY29uc3RydWN0aW5nIHRoZSBidWNrZXQKCSAgdmVjdG9yIHR5cGUgdGhlIGFsbG9jYXRvciBnaXZlbiBtdXN0IGhhdmUgYmVlbiByZWJvdW5kIHRvIF9Ob2RlKgoJICBhbHJlYWR5IGJlY2F1c2UgR0NDIDMuNCdzIHZlY3RvciB0eXBlIGRvZXMgbm90IHJlYmluZCBpdC4KCjIwMDUtMDQtMTMgMTQ6NDMgIGtpbmcKCgkqIFNvdXJjZS9jbVRyeUNvbXBpbGVDb21tYW5kLmN4eDogRU5IOiBBZGRlZCBiZXR0ZXIgZXJyb3IgbWVzc2FnZQoJICB3aGVuIFRSWV9DT01QSUxFIGRvZXMgbm90IHJlY29nbml6ZSBhbiBleHRlbnNpb24uCgoyMDA1LTA0LTEzIDE0OjM3ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBCVUc6IEZpeCBHZXRGaWxlbmFtZU5hbWUgdG8gbm90IHVzZQoJICB1bmluaXRpYWxpemVkIHNlYXJjaCBwb3NpdGlvbiBpbiB3aW4zMiB2ZXJzaW9uLgoKMjAwNS0wNC0xMyAxNDoxMyAga2luZwoKCSogYm9vdHN0cmFwOiBCVUc6IEFkZGVkIG1vcmUgdHJ5LWNvbXBpbGVzIGZyb20ga3dzeXMuCgoyMDA1LTA0LTEzIDE0OjEzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNQbGF0Zm9ybUN4eFRlc3RzLmN4eDogQlVHOiBGaXhlZCBtZW1iZXIKCSAgdGVtcGxhdGUgdGVzdCB0byBub3QgcHJvZHVjZSBhIHRlc3QgcHJvZ3JhbSB0aGF0IGNyYXNoZXMgd2hlbiBpdAoJICBydW5zLgoKMjAwNS0wNC0xMyAxMzo1OSAgYW5keQoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogRU5IOiBTcGVlZHVwIGltcHJvdmVtZW50cwoKMjAwNS0wNC0xMyAxMzo1NyAgYW5keQoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIENvbmZpZ3VyZS5oeHguaW4sIFByb2Nlc3MuaC5pbiwKCSAgUHJvY2Vzc1VOSVguYywgUHJvY2Vzc1dpbjMyLmMsIHRlc3QxLmN4eCwKCSAgdGVzdENvbW1hbmRMaW5lQXJndW1lbnRzLmN4eCwgdGVzdElPUy5jeHgsIHRlc3RQcm9jZXNzLmMsCgkgIHRlc3RTeXN0ZW1Ub29scy5jeHgsIHRlc3RoYXNoLmN4eDogRU5IOiBEbyBrd3N5cyB0ZXN0aW5nIGFzIHBhcnQKCSAgb2YgY21ha2UgdGVzdGluZywgY29tbWFuZCBsaW5lIGFyZ3VtZW50cyBhcmUgbm90IGV4cGVyaW1lbnRhbCBhbmQKCSAgYWRkIHNpbXBsZSB0ZXN0IGZvciBzeXN0ZW10b29scwoKMjAwNS0wNC0xMyAxMzo0MyAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogQlVHOiBmaXggY2xlYW4gYWN0aW9uCgoyMDA1LTA0LTEzIDEyOjQ0ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogTW92ZSBtaW5vcgoJICB2ZXJzaW9uIHRvIDIuMC42CgoyMDA1LTA0LTEzIDA5OjU0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGt3c3lzL1N5c3RlbVRvb2xzLmN4eDogQlVHOiBmaXggaW5zZXJ0IGZvciA2NCBiaXQKCjIwMDUtMDQtMTMgMDg6MDggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IENNYWtlTGlzdHMudHh0LCBDb25maWd1cmUuaHh4LmluLCBoYXNoX2Z1bi5oeHguaW4sCgkgIGhhc2hfbWFwLmh4eC5pbiwgaGFzaF9zZXQuaHh4LmluLCBoYXNodGFibGUuaHh4LmluLAoJICBrd3N5c1BsYXRmb3JtQ3h4VGVzdHMuY3h4LCB0ZXN0aGFzaC5jeHg6IEVOSDogQWRkaW5nIFNHSSBoYXNoX21hcAoJICBhbmQgaGFzaF9zZXQgaW1wbGVtZW50YXRpb24gcG9ydGVkIGZyb20gU1RMIHRvIEtXU3lzLiAgVGhpcyBhbHNvCgkgIGFkZHMgdHJ5LWNvbXBpbGVzIGZvciBLV1NZU19TVExfSEFTX0FMTE9DQVRPUl9SRUJJTkQsCgkgIEtXU1lTX0NYWF9IQVNfRlVMTF9TUEVDSUFMSVpBVElPTiwKCSAgS1dTWVNfQ1hYX0hBU19NRU1CRVJfVEVNUExBVEVTLCBhbmQKCSAgS1dTWVNfQ1hYX0hBU19OVUxMX1RFTVBMQVRFX0FSR1MuCgoyMDA1LTA0LTEzIDA4OjA1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNfc3RsLmh4eC5pbjogRU5IOiBBZGRlZAoJICBfX0hQQUNDX1VTSU5HX01VTFRJUExJRVNfSU5fRlVOQ1RJT05BTCBmaXggZnJvbSB2dGtzdGQuCgoyMDA1LTA0LTEzIDA0OjM5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDQtMTIgMTU6NDAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogZml4IEFtYmlndWl0eSBpbgoJICBpbnNlcnQgY2FsbAoKMjAwNS0wNC0xMiAxNToxMSAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBCVUc6IGFkZCBtaXNzaW5nIGhlYWRlciBmb3IgYm9ybGFuZAoKMjAwNS0wNC0xMiAxMzozMyAga2luZwoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQ09NUDogRml4ZWQgYW1iaWd1b3VzIGNhbGwgdG8KCSAgaW5zZXJ0IG1ldGhvZCBvZiBzdHJpbmcuCgoyMDA1LTA0LTEyIDEzOjI3ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5oLAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsIGNtTWFjcm9Db21tYW5kLmN4eCwKCSAgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaDogRU5IOiBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMKCjIwMDUtMDQtMTIgMTM6MjYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbURlcGVuZHMuY3h4OiBFTkg6IGRvIG5vdCBjb2xsYXBzZSBmdWxsIHBhdGggZm9yIGN3ZAoKMjAwNS0wNC0xMiAxMzoyNiAgaG9mZm1hbgoKCSogU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmN4eDogRU5IOiBtYWtlIHJlZ2V4IHN0YXRpYyBzbyBpdCBpcyBub3QKCSAgcmVjb21wdXRlZCBmb3IgZWFjaCBsaW5lIG9mIHRoZSBjYWNoZQoKMjAwNS0wNC0xMiAxMzoyNSAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzLzogU3lzdGVtVG9vbHMuY3h4LCBTeXN0ZW1Ub29scy5oeHguaW46IEVOSDoKCSAgb3B0aW1pemF0aW9uIG9mIGN3ZCBhbmQgZG8gbm90IGxlYWsgbGlicmFyeSBoYW5kbGUKCjIwMDUtMDQtMTIgMDk6MzYgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogQlVHOiBsb2NhbCBnZW4gd2FzIHNldHRpbmcgcHJvaiBkaXIKCSAgd2hlbiBpdCBzaG91bGRudAoKMjAwNS0wNC0xMiAwOTozNSAgbWFydGluawoKCSogVGVzdHMvT3V0T2ZTb3VyY2UvT3V0T2ZTb3VyY2VTdWJkaXIvQ01ha2VMaXN0cy50eHQ6IEVOSDogYWxzbwoJICB0ZXN0IGZvciBjb3JyZWN0IFByb2ogZGlyIHNldHRpbmdzCgoyMDA1LTA0LTEyIDAzOjA5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDQtMTEgMTI6MzggIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWwsIFNvdXJjZS9jbUNUZXN0LmN4eDogQlVHOiBmaXggR2V0TG9uZ1BhdGhOYW1lCgkgIGZvciBhbGwgdmVyc2lvbnMgb2Ygd2luZG93cwoKMjAwNS0wNC0xMSAxMjoyMCAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQlVHOiBmaXggR2V0TG9uZ1BhdGhOYW1lIGZvcgoJICBXaW5kb3dzTlQKCjIwMDUtMDQtMTEgMDQ6NTggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNC0xMCAwNDowNiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA0LTA5IDAyOjM4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDQtMDggMTI6NDYgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtT3JkZXJMaW5rRGlyZWN0b3JpZXMuY3h4LCBjbU9yZGVyTGlua0RpcmVjdG9yaWVzLmg6CgkgIEJVRzogaGFuZGxlIGNhc2UgaW5zZW5zaXRpdmUgbGlicmFyeSBleHRlbnNpb25zIG9uIHdpbmRvd3MKCjIwMDUtMDQtMDggMDg6MzQgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEJVRzogZml4IGJ1aWxkIG9uIG1pbmd3CgoyMDA1LTA0LTA4IDAyOjM3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDQtMDcgMTc6MzkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbWFrZW1haW4uY3h4OiBCVUc6IG1vdmUgZml4IGZvciAtRSBvcHRpb24gdG8gYnJhbmNoCgoyMDA1LTA0LTA3IDE3OjI0ICBob2ZmbWFuCgoJKiBUZXN0cy9Db21tYW5kTGluZVRlc3QvQ01ha2VMaXN0cy50eHQ6IG1lcmdlIGZyb20gbWFpbiB0cmVlIGZpeAoJICBmb3IgY29tbWFuZCBsaW5lIHRlc3QKCjIwMDUtMDQtMDcgMTc6MjIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogQlVHOiBhZGQgZXJyb3IgY2hlY2tpbmcgb24gR2V0TG9uZ1BhdGgKCjIwMDUtMDQtMDcgMTc6MjAgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEJVRzogaWYgc2hvcnQgcGF0aCBvciBsb25nIHBhdGgKCSAgZmFpbHMgcmV0dXJuIHRoZSBvcmlnaW5hbCBpbnB1dAoKMjAwNS0wNC0wNyAxNjo1OCAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogRU5IOiBjaGVjayByZXR1cm4gdmFsdWUgb2YKCSAgR2V0TG9uZ1BhdGgKCjIwMDUtMDQtMDcgMTY6MTIgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWwsIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwKCSAgU291cmNlL2NtV2luMzJQcm9jZXNzRXhlY3V0aW9uLmN4eCwKCSAgU291cmNlL2NtV2luMzJQcm9jZXNzRXhlY3V0aW9uLmg6IE1lcmdlIGluIGZpeCBmb3Igd2luMzIgcHJvY2VzcwoJICBzdHVmZgoKMjAwNS0wNC0wNyAxNjowOSAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9EYXJ3aW4uY21ha2UsIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDoKCSAgRU5IOiBmaXggaW5zdGFsbCB0ZXN0IHdpdGggeGNvZGUsIHRoZSB4Y29kZSBnZW5lcmF0b3IgZG9lcyBub3QKCSAgc3VwcG9ydCBsaWJyYXJ5IHZlcnNpb25pbmcgeWV0CgoyMDA1LTA0LTA3IDE1OjA5ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4OiBCVUc6IEF2b2lkIGNvbnZlcnRpbmcKCSAgdGhlIHN1YmRpcmVjdG9yeSBuYW1lIHRvIGEgcmVsYXRpdmUgcGF0aCB0d2ljZS4KCjIwMDUtMDQtMDcgMTQ6NDEgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogQlVHOiBEbyBub3QgcmVwZWF0IHBhdGhzIHdoZW4gdHJ5aW5nIHRoZQoJICBsaWIvIHRvIGxpYjY0LyByZXBsYWNlbWVudC4KCjIwMDUtMDQtMDcgMTQ6MzAgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogRU5IOiBBZGRpbmcgYXV0b21hdGljIGdlbmVyYXRpb24gb2YKCSAgc2V2ZXJhbCA2NC1iaXQgc2VhcmNoIHBhdGggZm9ybXMuCgoyMDA1LTA0LTA3IDE0OjI3ICBraW5nCgoJKiBNb2R1bGVzLzogQ01ha2VEZXRlcm1pbmVKYXZhQ29tcGlsZXIuY21ha2UsIEZpbmRBVklGaWxlLmNtYWtlLAoJICBGaW5kRkxUSy5jbWFrZSwgRmluZEdMVVQuY21ha2UsIEZpbmRHVEsuY21ha2UsIEZpbmRKTkkuY21ha2UsCgkgIEZpbmRKUEVHLmNtYWtlLCBGaW5kSmF2YS5jbWFrZSwgRmluZE1QRUcuY21ha2UsIEZpbmRNUEVHMi5jbWFrZSwKCSAgRmluZE9wZW5HTC5jbWFrZSwgRmluZFBIUDQuY21ha2UsIEZpbmRQTkcuY21ha2UsCgkgIEZpbmRQZXJsTGlicy5jbWFrZSwgRmluZFB5dGhvbkxpYnMuY21ha2UsIEZpbmRRdC5jbWFrZSwKCSAgRmluZFJ1YnkuY21ha2UsIEZpbmRTREwuY21ha2UsIEZpbmRTV0lHLmNtYWtlLCBGaW5kVENMLmNtYWtlLAoJICBGaW5kVElGRi5jbWFrZSwgRmluZFgxMS5jbWFrZSwgRmluZFpMSUIuY21ha2U6IEVOSDogUmVtb3ZpbmcKCSAgZXh0cmEgNjQtYml0IHNlYXJjaCBwYXRocy4gIFRoZXkgYXJlIG5vdyBjb25zdHJ1Y3RlZAoJICBhdXRvbWF0aWNhbGx5IGZyb20gdGhlIHBhdGhzIGxpc3RlZC4KCjIwMDUtMDQtMDcgMTM6NDggIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHg6IEJVRzogRml4IHJ1bGUgbmFtZSBmb3IKCSAgc3ViZGlyZWN0b3J5IHRyYXZlcnNhbCB0byB1c2UgcmVsYXRpdmUgcGF0aHMuICBUaGlzIHdhcyBicm9rZW4gYnkKCSAgdGhlIHJlY2VudCBzdWJkaXJlY3RvcnkgY2hhbmdlcy4KCjIwMDUtMDQtMDcgMTM6NDYgIGtpbmcKCgkqIE1vZHVsZXMvOiBDTWFrZURldGVybWluZUphdmFDb21waWxlci5jbWFrZSwgRmluZEFWSUZpbGUuY21ha2UsCgkgIEZpbmRGTFRLLmNtYWtlLCBGaW5kR0xVVC5jbWFrZSwgRmluZEdUSy5jbWFrZSwgRmluZEpOSS5jbWFrZSwKCSAgRmluZEpQRUcuY21ha2UsIEZpbmRKYXZhLmNtYWtlLCBGaW5kTVBFRy5jbWFrZSwgRmluZE1QRUcyLmNtYWtlLAoJICBGaW5kT3BlbkdMLmNtYWtlLCBGaW5kUEhQNC5jbWFrZSwgRmluZFBORy5jbWFrZSwKCSAgRmluZFBlcmxMaWJzLmNtYWtlLCBGaW5kUHl0aG9uTGlicy5jbWFrZSwgRmluZFF0LmNtYWtlLAoJICBGaW5kUnVieS5jbWFrZSwgRmluZFNETC5jbWFrZSwgRmluZFNXSUcuY21ha2UsIEZpbmRUQ0wuY21ha2UsCgkgIEZpbmRUSUZGLmNtYWtlLCBGaW5kWDExLmNtYWtlLCBGaW5kWkxJQi5jbWFrZTogRU5IOiBBZGRpbmcKCSAgc3VwcG9ydCBmb3IgNjQtYml0IGxpYnJhcnkgcGF0aHMuICBDb250cmlidXRlZCBieSBQZXRlciBWYW5yb29zZS4KCjIwMDUtMDQtMDcgMTM6MDMgIGhvZmZtYW4KCgkqIFNvdXJjZS86IENUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4LCBrd3N5cy9TeXN0ZW1Ub29scy5jeHgsCgkgIGt3c3lzL1N5c3RlbVRvb2xzLmh4eC5pbjogQlVHOiBmaXggZm9yIGJ1ZyAxNzE3IGluY29ycmVjdCBwYXRoCgkgIHNlbnQgdG8gZGFydCBzZXJ2ZXIKCjIwMDUtMDQtMDcgMTI6NDQgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogQlVHOiByZW1vdmUgZGVidWcgc3RhdGVtZW50CgoyMDA1LTA0LTA3IDEyOjEyICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cubWFudWFsLCBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHgsCgkgIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmg6IG1vdmUgZml4IGZvciByZWxhdGl2ZSBwYXRocyBmcm9tIG1haW4KCSAgdHJlZQoKMjAwNS0wNC0wNyAxMjoxMSAgaG9mZm1hbgoKCSogQ2hhbmdlTG9nLm1hbnVhbCwgU291cmNlL2NtQ1Rlc3QuY3h4OiBCVUc6IGZpeCBmb3IgYnVnIDE3MTcgdXNlCgkgIHRoZSBjb3JyZWN0IHBhdGggZm9yIERhcnQgc2VydmVyIG9uIHdhcm5pbmdzIGFuZCBlcnJvcnMKCjIwMDUtMDQtMDcgMTA6MzcgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWwsIFNvdXJjZS9jbUluc3RhbGxQcm9ncmFtc0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsUHJvZ3JhbXNDb21tYW5kLmg6IG1vdmUgZnJvbSBtYWluIHRyZWUKCjIwMDUtMDQtMDcgMDI6MzEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNC0wNiAxNjo1MyAga2luZwoKCSogTW9kdWxlcy9EYXJ0LmNtYWtlOiBTVFlMRTogRml4ZWQgc3BlbGxpbmcgb2YgIm1lbW1vcnkiLgoKMjAwNS0wNC0wNiAxNjoxNSAga2luZwoKCSogU291cmNlL2NtU3RhbmRhcmRJbmNsdWRlcy5oOiBCVUc6IEF2b2lkIGR1cGxpY2F0ZSBkZWZpbml0aW9uIGJ5CgkgIHVzaW5nIGNtc3lzX1NUTF9TVFJJTkdfTkVRX0NIQVJfREVGSU5FRCBhbmQKCSAgY21zeXNfU1RMX1NUUklOR19OT19ORVFfQ0hBUi4KCjIwMDUtMDQtMDYgMTY6MTQgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c19zdGxfc3RyaW5nLmh4eC5pbjogRU5IOiBBZGRlZCBwcm9wZXIKCSAgbmFtZXNwYWNlZCB2ZXJzaW9uIG9mIEtXU1lTX1NUTF9TVFJJTkdfSVNUUkVBTV9ERUZJTkVELAoJICBLV1NZU19TVExfU1RSSU5HX09TVFJFQU1fREVGSU5FRCwgYW5kCgkgIF9TVExfU1RSSU5HX05FUV9DSEFSX0RFRklORUQgbWFjcm9zLgoKMjAwNS0wNC0wNiAxNTowNiAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9EYXJ3aW4teGxjLmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL0Rhcndpbi5jbWFrZSwKCSAgU291cmNlL2NtR2xvYmFsQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFRlc3RzL0ZvcnRyYW4vQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL01ha2VDbGVhbi9Ub0NsZWFuL0NNYWtlTGlzdHMudHh0OiBFTkg6IFJlbW92ZWQKCSAgQ01BS0VfR0VORVJBVE9SX05FVyBub3cgdGhhdCB0aGUgb2xkIHVuaXggbWFrZWZpbGUgZ2VuZXJhdG9yIGlzCgkgIG5ldmVyIHVzZWQuCgoyMDA1LTA0LTA2IDEzOjM0ICBraW5nCgoJKiBib290c3RyYXA6IEJVRzogVGhlIGJvb3RzdHJhcCBzY3JpcHQgc2hvdWxkIHBlcmZvcm0gdGhlCgkgIEtXU1lTX1NUTF9TVFJJTkdfSEFWRV9ORVFfQ0hBUiB0ZXN0IGZvciBrd3N5cy4KCjIwMDUtMDQtMDYgMTE6NTYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogRU5IOiBiZXR0ZXIgZml4IGZvciA2NCBiaXQsIGFkZCA2NCB0byB0aGUKCSAgbmFtZSBvZiBhbGwgZGlyZWN0b3JpZXMgaW4gdGhlIHNlYXJjaCBwYXRoCgoyMDA1LTA0LTA2IDEwOjU5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEVOSDogYWxsb3cgc3ViIHByb2plY3RzIHRvIHVzZQoJICB0YXJnZXRzIHRoYXQgYXJlIG5vdCBwYXJ0IG9mIHRoZSBzdWItcHJvamVjdAoKMjAwNS0wNC0wNiAwOTo0NyAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogcmVtb3ZlIGNlcnIgc3R1ZmYKCjIwMDUtMDQtMDYgMDk6NDQgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEZpeCBidWcgaW4gIT0gc3R1ZmYKCjIwMDUtMDQtMDYgMDQ6MjggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNC0wNSAyMToxMCAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQ09NUDogaGFjayBmaXggZm9yIG9sZCBzZ2kgdW50aWwKCSAgYm9vdHN0cmFwIGlzIGZpeGVkCgoyMDA1LTA0LTA1IDE3OjA2ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlVGVzdENDb21waWxlci5jbWFrZSwgU291cmNlL2NtTWFrZWZpbGUuY3h4OiBCVUc6IHRyeQoJICB0byBhZGRyZXNzIEJ1ZyAxNjczIC4KCjIwMDUtMDQtMDUgMTY6MjQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZE9wZW5HTC5jbWFrZTogRml4IGZvciBidWcgQnVnICMxMjg3IC0gY21ha2UgdXNlCgkgIE1lc2FHTCBieSBkZWZhdWx0IGluc3RlYWQgb2YgbGliR0wgLSBSZXR1cm4gdG8gYnVnIGxpc3QKCjIwMDUtMDQtMDUgMTQ6NDggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUF1eFNvdXJjZURpcmVjdG9yeUNvbW1hbmQuY3h4OiBCVUc6IGZpeCBmb3IgYnVnIDE2MzYgYWRkCgkgIGV4dGVuc2lvbnMgdG8gQVVYX1NPVVJDRV9ESVJFQ1RPUlkgZmlsZXMKCjIwMDUtMDQtMDUgMTM6MzkgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWwsIE1vZHVsZXMvRmluZERDTVRLLmNtYWtlOiBNb3ZlIGZyb20gbWFpbiB0cmVlLAoJICBmaXggZm9yIDE2NTIKCjIwMDUtMDQtMDUgMTM6MzcgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZERDTVRLLmNtYWtlOiBCVUc6IGZpeCBmb3IgYnVnIDE2NTIKCjIwMDUtMDQtMDUgMTM6MzAgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWwsIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IGZpeAoJICBvbiBicmFuY2ggZm9yIDE2NjAgbGFuZ3VhZ2UgTk9ORSB3b3JraW5nCgoyMDA1LTA0LTA1IDEzOjE0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeCBmb3IgYnVnIDE2NjAKCjIwMDUtMDQtMDUgMTI6NTQgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWw6IGZpeGVzIG9uIGJyYW5jaAoKMjAwNS0wNC0wNSAxMjo1MiAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogZml4IGZvciBidWcgMTcwMiBiZXR0ZXIKCSAgZXJyb3Igb24gYmFkIEdVSUQKCjIwMDUtMDQtMDUgMTI6NTEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogbW92ZSBmaXggZnJvbSBtYWluCgkgIHRyZWUgZm9yIGJ1ZyAxNjgwCgoyMDA1LTA0LTA1IDExOjIzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBCVUc6IGZpeCBmb3IgYnVnIDE3MDAKCjIwMDUtMDQtMDUgMTA6MjIgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeCBmb3IgYnVnIDE3MDIsIGJldHRlcgoJICBlcnJvciBtZXNzYWdlIGZvciBHVUlEIG1pc3NpbmcKCjIwMDUtMDQtMDUgMDg6MjUgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2VuZXJhdGVkRmlsZVN0cmVhbS5jeHgsIGNtR2VuZXJhdGVkRmlsZVN0cmVhbS5oOiBFTkg6CgkgIEFkZGVkIENsb3NlIG1ldGhvZCBhbmQgdXBkYXRlZCBPcGVuIG1ldGhvZCB0byBhbGxvdyBzdHJlYW1zIHRvIGJlCgkgIHJldXNlZC4KCjIwMDUtMDQtMDUgMDQ6MjUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNC0wNCAxNzowMSAgaG9mZm1hbgoKCSogQ2hhbmdlTG9nLm1hbnVhbCwgTW9kdWxlcy9Vc2VTV0lHLmNtYWtlLAoJICBTb3VyY2UvY21HZXREaXJlY3RvcnlQcm9wZXJ0eUNvbW1hbmQuY3h4OiBGSVg6IHN3aWcgZml4ZXMgZnJvbQoJICBtYWluIHRyZWUKCjIwMDUtMDQtMDQgMTY6NTUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvVXNlU1dJRy5jbWFrZTogRU5IOiBtYWtlIHN1cmUgc291cmNlIGZsYWdzIGRvbid0IGhhdmUgdG8KCSAgYmUgc2V0CgoyMDA1LTA0LTA0IDE2OjQzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HZXREaXJlY3RvcnlQcm9wZXJ0eUNvbW1hbmQuY3h4OiBFTkg6IGdldCBkaXJlY3RvcnkKCSAgcHJvcGVydHkgc2hvdWxkIHJldHVybiBhbiBlbXB0eSB2YXJpYWJsZSBpZiBpdCBpcyBub3Qgc2V0LCBub3QKCSAganVzdCBoYXZlIGFuIGVycm9yCgoyMDA1LTA0LTA0IDE2OjEzICBob2ZmbWFuCgoJKiBNb2R1bGVzL1VzZVNXSUcuY21ha2U6IEVOSDogZml4IGZvciBidWcgMTMwNAoKMjAwNS0wNC0wNCAxNTo1NSAgaG9mZm1hbgoKCSogQ2hhbmdlTG9nLm1hbnVhbCwgTW9kdWxlcy9Vc2VTV0lHLmNtYWtlOiBFTkg6IG1vdmUgY2hhbmdlcyBmcm9tCgkgIG1haW4gdHJlZQoKMjAwNS0wNC0wNCAxNTo1MiAgaG9mZm1hbgoKCSogQ2hhbmdlTG9nLm1hbnVhbCwgU291cmNlL2NtQ1Rlc3QuY3h4OiBFTkg6IG1vdmUgZnJvbSBtYWluIHRyZWUKCSAgdGltZXpvbmUgZml4CgoyMDA1LTA0LTA0IDE1OjUxICBob2ZmbWFuCgoJKiBNb2R1bGVzL1VzZVNXSUcuY21ha2U6IEZJWDogZml4IGZvciBidWcgMTczMAoKMjAwNS0wNC0wNCAxNTo0MSAgaG9mZm1hbgoKCSogQ2hhbmdlTG9nLm1hbnVhbCwgU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21Xcml0ZUZpbGVDb21tYW5kLmN4eCwgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogRU5IOgoJICBtb3ZlIGZpeCBmb3IgcmVhZCBvbmx5IGZpbGUgY29uZmlndXJlIHRvIGJyYW5jaAoKMjAwNS0wNC0wNCAxMjoyMiAgYW5keQoKCSogTW9kdWxlcy9EYXJ0LmNtYWtlLCBTb3VyY2UvY21BZGRUZXN0Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUVuYWJsZVRlc3RpbmdDb21tYW5kLmN4eCwgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDoKCSAgQlVHOiBCeSBkZWZhdWx0IGRpc2FibGUgbmV3IGZpbGVzLgoKMjAwNS0wNC0wNCAwMzowMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTA0LTAzIDAzOjE3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDQtMDIgMDI6MTYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wNC0wMSAxNTo0OCAgYW5keQoKCSogU291cmNlLzogY21BZGRUZXN0Q29tbWFuZC5jeHgsIGNtRW5hYmxlVGVzdGluZ0NvbW1hbmQuY3h4LAoJICBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaDoKCSAgRU5IOiBNb3JlIGN0ZXN0IGNoYW5nZXMgYW5kIG1vdmUgU2V0dXBUZXN0IHRvIHN1cGVyY2xhc3MKCjIwMDUtMDQtMDEgMTU6NDUgIGFuZHkKCgkqIE1vZHVsZXMvRGFydC5jbWFrZSwgU291cmNlL2NtQ1Rlc3QuY3h4OiBFTkg6IFJlbmFtZSB0aGUKCSAgRGFydENvbmZpZ3VyYXRpb24udGNsIHRvIENUZXN0Q29uZmlndXJhdGlvbi5pbmkKCjIwMDUtMDQtMDEgMTQ6NTcgIGFuZHkKCgkqIFNvdXJjZS86IGNtQWRkVGVzdENvbW1hbmQuY3h4LCBjbUNUZXN0LmN4eCwgY21DVGVzdC5oLAoJICBjbUVuYWJsZVRlc3RpbmdDb21tYW5kLmN4eCwgY3Rlc3QuY3h4LAoJICBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4OiBFTkg6IFN0YXJ0IGFkZGluZyBzdXBwb3J0IGZvciBDVGVzdAoJICB0ZXN0ZmlsZXMKCjIwMDUtMDQtMDEgMDI6MTcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMy0zMSAxODowMyAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmN4eDogQlVHOiBXaGVuIGdlbmVyYXRpbmcKCSAgdGhlIG5hbWUgb2YgdGhlIGN1c3RvbSBydWxlIGZpbGUgdGhlIGNoYXJhY3RlciA6IHNob3VsZCBiZQoJICByZXBsYWNlZCB3aXRoIGFuIHVuZGVyc2NvcmUgYmVjYXVzZSBpdCBtaWdodCBiZSBhIG5vbi1maWxlLW5hbWUKCSAgcGFydCBvZiBhIHBhdGguCgoyMDA1LTAzLTMxIDExOjU3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEJVRzogZml4IElUSyBidWlsZCB3aXRoIHhjb2RlLAoJICBhcyBsb25nIGFzIHlvdSBidWlsZCBpdCBpbiBsaXR0bGUgcGFydHMsIHRoaXMgZml4ZXMgdGhlIGhlYWRlcm1hcAoJICBwcm9ibGVtCgoyMDA1LTAzLTMxIDEwOjAwICBtYXJ0aW5rCgoJKiBDVGVzdEN1c3RvbS5jdGVzdC5pbjogRU5IOiBzaHV0IHVwIHdhcm5pbmcgaW4gM3JkIHBhcnR5IHBhY2thZ2VzCgoyMDA1LTAzLTMxIDAyOjIwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDMtMzAgMTY6MTEgIGtpbmcKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogQlVHOiBJdCBpcyBwb3NzaWJsZSBmb3IgdGhlIG5pZ2h0bHkgc3RhcnQKCSAgdGltZSB0byBiZSBvdmVyIDI0IGhvdXJzIGluIHRoZSBmdXR1cmUgd2hpY2ggcmVxdWlyZXMgdHdvIGRheXMgdG8KCSAgYmUgc3VidHJhY3RlZC4gIFVzaW5nIGEgd2hpbGUgbG9vcCB0byBtYWtlIHN1cmUgZW5vdWdoIGRheXMgYXJlCgkgIGFkZGVkIG9yIHN1YnRyYWN0ZWQuCUl0IHNob3VsZCBuZXZlciBiZSBhYmxlIHRvIGl0ZXJhdGUgbW9yZQoJICB0aGFuIHR3aWNlLgoKMjAwNS0wMy0zMCAxNTo0MSAgaG9mZm1hbgoKCSogQ2hhbmdlTG9nLm1hbnVhbCwgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogRklYOgoJICBNZXJnZSBmcm9tIG1haW4gdHJlZTogZml4IGZvciBWUyAyMDA1IGJldGEKCjIwMDUtMDMtMzAgMTU6MjcgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dDogQlVHOiBUZXN0IGZvciBzdGwgc3Rpcm5nIG9wZXJhdG9yIT0KCSAgZm9yIGNoYXIqIG5lZWRzIHRvIGtub3cgcmVzdWx0IG9mIEtXU1lTX1NUTF9IQVZFX1NURC4KCjIwMDUtMDMtMzAgMDI6MTkgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMy0yOSAxNTozNCAgbWFydGluawoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oOgoJICBFTkg6IHJlbW92ZWQgR2V0UGFyZW50UHJvamVjdHMKCjIwMDUtMDMtMjkgMTU6MzMgIG1hcnRpbmsKCgkqIFRlc3RzL091dE9mU291cmNlL1N1YkRpci9DTWFrZUxpc3RzLnR4dDogRU5IOiBiZXR0ZXIgdGVzdCBmb3IKCSAgc3ViZGlycwoKMjAwNS0wMy0yOSAxNToyNiAgaGVuZGVyc29uCgoJKiBTb3VyY2Uva3dzeXMvOiBDTWFrZUxpc3RzLnR4dCwgU2hhcmVkRm9yd2FyZC5oLmluOiBFTkg6IGNvcHlpbmcKCSAgQnJhZCdzIGluc3RhbGxhdGlvbiBjaGFuZ2VzIGZyb20gdGhlIG1haW4gdHJlZSB0byB0aGUgUGFyYVZpZXcKCSAgMi4wIGJyYW5jaAoKMjAwNS0wMy0yOSAxMDozNCAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5oOiBCVUc6IEZpeCBkZXBlbmRlbmNpZXMgb2YgY3VzdG9tCgkgIGNvbW1hbmRzIHRoYXQgYXJlIHJlbGF0aXZlIHBhdGhzIHRvIGZpbGVzIG9yIG90aGVyIGN1c3RvbSBjb21tYW5kCgkgIG91dHB1dHMuCgoyMDA1LTAzLTI5IDEwOjEwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBDTWFrZUxpc3RzLnR4dCwgQ29uZmlndXJlLmh4eC5pbiwKCSAga3dzeXNQbGF0Zm9ybUN4eFRlc3RzLmN4eCwga3dzeXNfc3RsX3N0cmluZy5oeHguaW46IEVOSDogQWRkZWQKCSAgb3BlcmF0b3IhPSBmb3Igc3RsIHN0cmluZyBhbmQgY2hhciogd2hlbiB0aGUgc3lzdGVtIGRvZXMgbm90CgkgIHByb3ZpZGUgb25lLgoKMjAwNS0wMy0yOSAwODoyMCAga2luZwoKCSogYm9vdHN0cmFwLCBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9rd3N5cy9Db25maWd1cmUuaHh4LmluLAoJICBTb3VyY2Uva3dzeXMva3dzeXNQbGF0Zm9ybUN4eFRlc3RzLmNtYWtlLAoJICBTb3VyY2Uva3dzeXMva3dzeXNQbGF0Zm9ybUN4eFRlc3RzLmN4eCwKCSAgU291cmNlL2t3c3lzL2t3c3lzX3N0bC5oLmluLCBTb3VyY2Uva3dzeXMva3dzeXNfc3RsLmh4eC5pbiwKCSAgU291cmNlL2t3c3lzL2t3c3lzX3N0bF9zdHJpbmcuaHh4LmluOiBFTkg6IEFkZGVkIGlzdHJlYW0gYW5kCgkgIG9zdHJlYW0gb3BlcmF0b3JzIGZvciBzdGwgc3RyaW5nIGluIEtXU3lzIHdoZW4gdXNpbmcgb2xkIHN0cmVhbXMKCSAgdGhhdCBkbyBub3QgcHJvdmlkZSB0aGVtLgoKMjAwNS0wMy0yOSAwODowOSAga2luZwoKCSogU291cmNlL2t3c3lzLzogU3lzdGVtVG9vbHMuY3h4LCBTeXN0ZW1Ub29scy5oeHguaW46IEVOSDoKCSAgU3BsaXRQYXRoIG5vdyBzdXBwb3J0cyBzbGFzaGVzIGluIGJvdGggZGlyZWN0aW9ucyBpbiB0aGUgaW5wdXQKCSAgcGF0aCBidXQgc3RpbGwgcHJvZHVjZXMgZm9yd2FyZCBzbGFzaGVzIGluIHRoZSByb290IGNvbXBvbmVudC4KCjIwMDUtMDMtMjkgMDI6MjEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMy0yOCAxODowMCAgYW5keQoKCSogYm9vdHN0cmFwOiBCVUc6IFRoZSAgaXMgcmVwbGFjZWQgYnkgY3ZzLi4uIFRoaXMgaXMgc2FmZXIgYW55d2F5CgoyMDA1LTAzLTI4IDE3OjQ2ICBiYXJyZQoKCSogU291cmNlL2t3c3lzLzogU3lzdGVtVG9vbHMuY3h4LCBTeXN0ZW1Ub29scy5oeHguaW46IEVOSDogbW92ZQoJICBFc3RpbWF0ZUZvcm1hdExlbmd0aCB0byBrd3N5cwoKMjAwNS0wMy0yOCAwMjoxMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTAzLTI3IDAyOjE4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDMtMjYgMDk6NTggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IENNYWtlTGlzdHMudHh0LCBDb25maWd1cmUuaHh4LmluLAoJICBrd3N5c1BsYXRmb3JtQ3h4VGVzdHMuY21ha2UsIGt3c3lzUGxhdGZvcm1DeHhUZXN0cy5jeHgsCgkgIGt3c3lzX3N0bC5oLmluLCBrd3N5c19zdGwuaHh4LmluLCBrd3N5c19zdGxfc3RyaW5nLmh4eC5pbjogQ09NUDoKCSAgUmVtb3Zpbmcgc3RsIHN0cmluZyBpbyBvcGVyYXRvcnMgY2hhbmdlIHVudGlsIHRoZSBDTWFrZSBib290c3RyYXAKCSAgc2NyaXB0IGNhbiBiZSBmaXhlZC4KCjIwMDUtMDMtMjYgMDg6MTkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IENNYWtlTGlzdHMudHh0LCBDb25maWd1cmUuaHh4LmluLAoJICBrd3N5c1BsYXRmb3JtQ3h4VGVzdHMuY21ha2UsIGt3c3lzUGxhdGZvcm1DeHhUZXN0cy5jeHgsCgkgIGt3c3lzX3N0bC5oLmluLCBrd3N5c19zdGwuaHh4LmluLCBrd3N5c19zdGxfc3RyaW5nLmh4eC5pbjogRU5IOgoJICBBZGRlZCBpc3RyZWFtIGFuZCBvc3RyZWFtIG9wZXJhdG9ycyBmb3Igc3RsIHN0cmluZyB3aGVuIHVzaW5nIG9sZAoJICBzdHJlYW1zIHRoYXQgZG8gbm90IHByb3ZpZGUgdGhlbS4KCjIwMDUtMDMtMjYgMDI6MjIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMy0yNSAxODo1NSAgYW5keQoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IFdoZW4gaW4tc291cmNlIGJ1aWxkLCBkbyBub3QgZG8KCSAgYm9vdHN0cmFwIHRlc3QKCjIwMDUtMDMtMjUgMTg6NDYgIGFuZHkKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBSZW1vdmUgY3VybCBidWlsZCB0ZXN0aW5nCgoyMDA1LTAzLTI1IDE2OjQwICBraW5nCgoJKiBTb3VyY2UvY21BZGRTdWJEaXJlY3RvcnlDb21tYW5kLmg6IEVOSDogQ2xhcmlmaWVkIGRvY3VtZW50YXRpb24KCSAgb2YgdGhlIGNvbW1hbmQuCgoyMDA1LTAzLTI1IDE0OjIzICBhbmR5CgoJKiBib290c3RyYXA6IEVOSDogRm9yIGRldmVsb3BtZW50IHZlcnNpb25zIHJlcG9ydCB2ZXJzaW9uIHdoZW4KCSAgZG9pbmcgYm9vdHN0cmFwCgoyMDA1LTAzLTI1IDA4OjQxICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBDTWFrZUxpc3RzLnR4dCwgU2hhcmVkRm9yd2FyZC5oLmluOiBFTkg6IEFkZGluZwoJICBTaGFyZWRGb3J3YXJkIEMgaGVhZGVyIHRvIGhlbHAgY3JlYXRlIGZvcndhcmRpbmcgZXhlY3V0YWJsZXMgb24KCSAgVU5JWCBzeXN0ZW1zIHRoYXQgY29uZmlndXJlIHRoZSBzaGFyZWQgbGlicmFyeSBydW50aW1lIHNlYXJjaAoJICBwYXRoIGFuZCB0aGVuIHJlcGxhY2UgdGhlbXNlbHZlcyB3aXRoIHRoZSByZWFsIGV4ZWN1dGFibGUuICBUaGlzCgkgIGlzIHVzZWZ1bCB0byBjcmVhdGUgYmluYXJ5IGRpc3RyaWJ1dGlvbnMgdGhhdCB3b3JrIGZyb20gYW55CgkgIGV4dHJhY3RlZCBsb2NhdGlvbiBldmVuIHdpdGggc2hhcmVkIGxpYnJhcmllcy4KCjIwMDUtMDMtMjUgMDg6MDkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEVOSDogUmUtaW1wbGVtZW50ZWQKCSAgQ29sbGFwc2VGdWxsUGF0aCB0byBub3QgbmVlZCB0byBjaGFuZ2UgZGlyZWN0b3JpZXMuICBPcGVyYXRpb24gaXMKCSAgbm93IGZ1bGx5IHN0cmluZyBiYXNlZC4KCjIwMDUtMDMtMjUgMDg6MDUgIGtpbmcKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogQlVHOiBBZGp1c3RlZCBHZXROaWdodGx5VGltZSBjb21wdXRhdGlvbiB0bwoJICBub3QgZGVwZW5kIG9uIHRpbWVfdCBiZWluZyBhIHNpZ25lZCB0eXBlLgoKMjAwNS0wMy0yNSAwMjoxNiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTAzLTI0IDAyOjI1ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDMtMjMgMDg6MjAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUJ1aWxkQ29tbWFuZC5jeHg6IGZpeCBmb3IgeGNvZGUKCjIwMDUtMDMtMjMgMDI6MjIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMy0yMiAxNDoyNyAgaG9mZm1hbgoKCSogU291cmNlL2NtRHluYW1pY0xvYWRlci5oOiBGSVg6IGZpeCBidWcgMTY5MAoKMjAwNS0wMy0yMiAxNDowMCAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBFTkg6IHRyeSB0byBoYW5kbGUgbW9yZSBzb3VyY2UKCSAgZmlsZSB0eXBlcwoKMjAwNS0wMy0yMiAxMzozMiAgYW5keQoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBFTkg6IGp1c3QgdXNlIHRoZSBmaWxlIG5hbWUKCjIwMDUtMDMtMjIgMTE6MzMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHg6IEVOSDogbWFrZSBzdXJlIHByb2plY3QgbWFwIGlzCgkgIGNsZWFyZWQgZWFjaCB0aW1lLgoKMjAwNS0wMy0yMiAxMDoyOSAgYW5keQoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBFTkg6IHVzZSBiZXR0ZXIgbmFtZXMgZm9yCgkgIGZpbGVzCgoyMDA1LTAzLTIyIDEwOjIzICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEJVRzogSW5pdGlhbGl6aW5nIGZyb20gcGFyZW50IHNob3VsZCBjb3B5CgkgIGxpbmsgZGlyZWN0b3JpZXMgYXMgd2VsbC4KCjIwMDUtMDMtMjIgMDg6MzYgIGtpbmcKCgkqIFNvdXJjZS86IGNtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuY3h4LAoJICBjbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuY3h4OiBFTkg6IEFkZGVkIGNoZWNrIGZvciBpbnZhbGlkCgkgIGNoYXJhY3RlcnMgaW4gb3V0cHV0IG5hbWUuCgoyMDA1LTAzLTIyIDA3OjI3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEVOSDogcmVtb3ZlIGNvbW1lbnRlZCBjb2RlCgoyMDA1LTAzLTIyIDA3OjI2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBFTkg6IGZpeCBhZGRpbmcgb2YgcmMKCSAgZmlsZXMKCjIwMDUtMDMtMjIgMDI6MjQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMy0yMSAwMjozMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTAzLTIwIDAyOjM0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDMtMTkgMDk6MDUgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHg6IENPTVA6IGZpeCB3YXJuaW5nCgoyMDA1LTAzLTE5IDAyOjM4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDMtMTggMTE6MjkgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbU1hY3JvQ29tbWFuZC5jeHg6IENPTVA6IGZpeCB3YXJuaW5nCgoyMDA1LTAzLTE4IDEwOjU4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5oOiBFTkg6IHJlbW92ZSBjbVN1YkRpcmVjdG9yeSBmcm9tCgkgIHVudXNlZCBmaWxlcz8KCjIwMDUtMDMtMTggMTA6NDEgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUFkZERlZmluaXRpb25zQ29tbWFuZC5oLCBTb3VyY2UvY21BZGRUZXN0Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUJvb3RzdHJhcENvbW1hbmRzLmN4eCwgU291cmNlL2NtQnVpbGRDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUJ1aWxkTmFtZUNvbW1hbmQuaCwgU291cmNlL2NtQ01ha2VNaW5pbXVtUmVxdWlyZWQuaCwKCSAgU291cmNlL2NtQ29tbWFuZC5oLCBTb3VyY2UvY21DcmVhdGVUZXN0U291cmNlTGlzdC5oLAoJICBTb3VyY2UvY21FbHNlQ29tbWFuZC5oLCBTb3VyY2UvY21FbmFibGVMYW5ndWFnZUNvbW1hbmQuaCwKCSAgU291cmNlL2NtRW5hYmxlVGVzdGluZ0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21FbmFibGVUZXN0aW5nQ29tbWFuZC5oLCBTb3VyY2UvY21FbmRGb3JFYWNoQ29tbWFuZC5oLAoJICBTb3VyY2UvY21FbmRJZkNvbW1hbmQuaCwgU291cmNlL2NtRW5kV2hpbGVDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUZpbGVDb21tYW5kLmgsIFNvdXJjZS9jbUZpbmRGaWxlQ29tbWFuZC5oLAoJICBTb3VyY2UvY21GaW5kTGlicmFyeUNvbW1hbmQuaCwgU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmgsIFNvdXJjZS9jbUZpbmRQYXRoQ29tbWFuZC5oLAoJICBTb3VyY2UvY21GaW5kUHJvZ3JhbUNvbW1hbmQuaCwgU291cmNlL2NtRm9yRWFjaENvbW1hbmQuaCwKCSAgU291cmNlL2NtR2V0RmlsZW5hbWVDb21wb25lbnRDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21JZkNvbW1hbmQuaCwgU291cmNlL2NtSW5jbHVkZUNvbW1hbmQuaCwKCSAgU291cmNlL2NtSW5jbHVkZURpcmVjdG9yeUNvbW1hbmQuaCwKCSAgU291cmNlL2NtSW5jbHVkZVJlZ3VsYXJFeHByZXNzaW9uQ29tbWFuZC5oLAoJICBTb3VyY2UvY21MaW5rRGlyZWN0b3JpZXNDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUxpbmtMaWJyYXJpZXNDb21tYW5kLmgsIFNvdXJjZS9jbUxvYWRDYWNoZUNvbW1hbmQuaCwKCSAgU291cmNlL2NtTG9hZENvbW1hbmRDb21tYW5kLmN4eCwgU291cmNlL2NtTG9hZENvbW1hbmRDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxLZGV2ZWxvcEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsS2RldmVsb3BHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTWFjcm9Db21tYW5kLmN4eCwgU291cmNlL2NtTWFjcm9Db21tYW5kLmgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuaCwKCSAgU291cmNlL2NtTWFya0FzQWR2YW5jZWRDb21tYW5kLmgsIFNvdXJjZS9jbU9wdGlvbkNvbW1hbmQuaCwKCSAgU291cmNlL2NtUHJvamVjdENvbW1hbmQuaCwgU291cmNlL2NtUmVtb3ZlQ29tbWFuZC5oLAoJICBTb3VyY2UvY21SZW1vdmVEZWZpbml0aW9uc0NvbW1hbmQuaCwKCSAgU291cmNlL2NtU2VwYXJhdGVBcmd1bWVudHNDb21tYW5kLmgsIFNvdXJjZS9jbVNldENvbW1hbmQuaCwKCSAgU291cmNlL2NtU2V0RGlyZWN0b3J5UHJvcGVydGllc0NvbW1hbmQuaCwKCSAgU291cmNlL2NtU2l0ZU5hbWVDb21tYW5kLmgsIFNvdXJjZS9jbVNvdXJjZUdyb3VwQ29tbWFuZC5oLAoJICBTb3VyY2UvY21TdHJpbmdDb21tYW5kLmgsIFNvdXJjZS9jbVN1YmRpckNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21VdGlsaXR5U291cmNlQ29tbWFuZC5oLCBTb3VyY2UvY21XaGlsZUNvbW1hbmQuaCwKCSAgVGVzdHMvT3V0T2ZTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL091dE9mU291cmNlL1N1YkRpci9DTWFrZUxpc3RzLnR4dDogRU5IOiBiaWcgY2hhbmdlIHRoYXQKCSAgaW5jbHVkZXMgaW1tZWRpYXRlIHN1YmRpciBzdXBwb3J0LCByZW1vdmluZyB0aGUgbm90aW9uIG9mCgkgIGluaGVyaXRlZCBjb21tYW5kcywgbWFrZWZpbGVzIG5vIGxvbmdlciByZWFkIGluIHRoZSBwYXJlbnQKCSAgbWFrZWZpbGVzIGJ1dCBpbnN0ZWFkIGluaGVyaXQgdGhpZXIgcGFyZW50IG1ha2VmaWxlcyBjdXJyZW50CgkgIHNldHRpbmdzCgoyMDA1LTAzLTE4IDEwOjM5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUFkZFN1YkRpcmVjdG9yeUNvbW1hbmQuY3h4LAoJICBjbUFkZFN1YkRpcmVjdG9yeUNvbW1hbmQuaDogRU5IOiBhZGRlZCBpbW1lZGlhdGUgc3ViZGlyZWN0b3J5CgkgIGNvbW1hbmQKCjIwMDUtMDMtMTggMDk6MDMgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVN1YkRpcmVjdG9yeS5oOiBFTkg6IGJhZCBpZGVhCgoyMDA1LTAzLTE4IDAyOjM0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDMtMTcgMTg6MzcgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHg6IEJVRzogTmVlZCB0byBjb2xsYXBzZQoJICBmdWxsIHBhdGhzIGJlZm9yZSBkZXBlbmRpbmcgb24gdGhlbSB0byByZW1vdmUgLi8gYW5kIC4uLyB0byBtYWtlCgkgIHN1cmUgdGFyZ2V0IG5hbWVzIG1hdGNoLgoKMjAwNS0wMy0xNyAxNTozNSAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuaDoKCSAgRU5IOiBhZGQgc291cmNlIGdyb3VwcyB4Y29kZQoKMjAwNS0wMy0xNyAxMzowNiAga2luZwoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQ09NUDogVXNpbmcgcHJvcGVyIF9fUU5YX18KCSAgcHJlcHJvY2Vzc29yIHRlc3QuCgoyMDA1LTAzLTE3IDAyOjQxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDMtMTYgMTM6MjYgIGFuZHkKCgkqIENNYWtlTGlzdHMudHh0LCBVdGlsaXRpZXMvY21leHBhdC9DTWFrZUxpc3RzLnR4dCwKCSAgVXRpbGl0aWVzL2NtemxpYi9DTWFrZUxpc3RzLnR4dDogQ09NUDogTW9yZSBjbGVhbnVwcwoKMjAwNS0wMy0xNiAxMjo1NCAgYW5keQoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IE1ha2Ugc3VyZSB0byB1c2UgaW50ZXJuYWwgemxpYgoKMjAwNS0wMy0xNiAxMjo1NCAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXQuY3h4OiBFTkg6IENsZWFudXAgb2YgdGhlIG91dHB1dAoKMjAwNS0wMy0xNiAxMDo0OSAga2luZwoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQ09NUDogT25seSBpbmNsdWRlIG1hbGxvYy5oIG9uIFFOWC4KCjIwMDUtMDMtMTYgMTA6MTUgIGJhcnJlCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBGSVg6IHRoYXQgd2FzIHdyb25nCgoyMDA1LTAzLTE2IDA5OjU1ICBraW5nCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFRlc3RzL1dyYXBwaW5nL0NNYWtlTGlzdHMudHh0OiBCVUc6IERvIG5vdAoJICBhZGQgUXQgd3JhcHBpbmcgdGVzdCB1bmxlc3MgUVQgaXMgZm91bmQgYW5kIFFUX1VJQ19FWEVDVVRBQkxFIGlzCgkgIGZvdW5kLgoKMjAwNS0wMy0xNiAwOTo0MSAga2luZwoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQ09NUDogTmVlZCBtYWxsb2MuaCBmb3IgbWFsbG9jL2ZyZWUKCSAgb24gUU5YLgoKMjAwNS0wMy0xNiAwMjozNSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTAzLTE1IDExOjIyICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21FbmFibGVUZXN0aW5nQ29tbWFuZC5jeHg6IEVOSDogb25seSBzdXBwb3J0IHJlbCBwYXRocwoJICBmb3Igbm93CgoyMDA1LTAzLTE1IDA4OjE0ICBraW5nCgoJKiBTb3VyY2UvOiBjbUxpc3RGaWxlTGV4ZXIuYywgY21MaXN0RmlsZUxleGVyLmluLmw6IENPTVA6IERlZmluaW5nCgkgIFlZX05PX0lOUFVUIHRvIHJlbW92ZSBjb21waWxhdGlvbiBvZiB1bnVzZWQgeXlpbnB1dCBmdW5jdGlvbi4gIEl0CgkgIHdhcyBwcm9kdWNpbmcgYSB3YXJuaW5nIGFib3V0IHVucmVhY2hhYmxlIGNvZGUuCgoyMDA1LTAzLTE1IDA4OjEzICBraW5nCgoJKiBTb3VyY2UvY21DYWNoZU1hbmFnZXIuY3h4OiBDT01QOiBSZW1vdmVkIHdhcm5pbmcgZHVlIHRvIHVuc2lnbmVkCgkgIGVudW0gdHlwZS4KCjIwMDUtMDMtMTUgMDI6MzggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMy0xNCAxMzoyMyAgaG9mZm1hbgoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIGNtYWtlLmN4eDogRU5IOiBtYWtlIHhjb2RlIGNvbXBpbGUgb25seQoJICBvbiBhcHBsZQoKMjAwNS0wMy0xNCAxMjoyNSAgbWFydGluawoKCSogYm9vdHN0cmFwOiBFTkg6IG9vcHMgZm9yZ290IHRvIGNoZWsgdGhpcyBpbgoKMjAwNS0wMy0xNCAxMjoxOCAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9RTlguY21ha2U6IEVOSDogdHJ5IHRvIGZpeCBycGF0aCBvbiBxbngKCjIwMDUtMDMtMTQgMTE6MjggIG1hcnRpbmsKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUVuYWJsZVRlc3RpbmdDb21tYW5kLmN4eCwKCSAgY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxHZW5lcmF0b3IuaCwgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4LCBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oLAoJICBjbVN1YmRpckNvbW1hbmQuY3h4LCBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4OiBFTkg6IGFkZAoJICBzdXBwb3J0IGZvciBvdXQgb2Ygc291cmNlIHNvdXJjZQoKMjAwNS0wMy0xNCAxMToyNiAgbWFydGluawoKCSogVGVzdHMvT3V0T2ZTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwKCSAgT3V0T2ZTb3VyY2VTdWJkaXIvQ01ha2VMaXN0cy50eHQsIE91dE9mU291cmNlU3ViZGlyL3NpbXBsZS5jeHgsCgkgIFN1YkRpci9DTWFrZUxpc3RzLnR4dDogRU5IOiBhZGRlZCBuZXcgdGVzdCBmb3Igb3V0IG9mIGRpciBzb3VyY2UKCSAgdHJlZXMKCjIwMDUtMDMtMTQgMDk6MjMgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVN1YkRpcmVjdG9yeS5oOiBFTkg6IGFkZGVkIG5ldyBzdHJ1Y3R1cmUgdG8gaG9sZAoJICBzdWJkaXJlY3RvcmllcwoKMjAwNS0wMy0xNCAwODoxNSAga2luZwoKCSogU291cmNlLzogY21EZXBlbmRzRm9ydHJhblBhcnNlci5jeHgsIGNtRGVwZW5kc0ZvcnRyYW5QYXJzZXIueToKCSAgQ09NUDogQWRkZWQgX19JTlRFTF9DT01QSUxFUiB0byB0ZXN0IGZvciB5eWVycm9ybGFiIHdhcm5pbmcKCSAgc3VwcHJlc3Npb24uCgoyMDA1LTAzLTE0IDAzOjE4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDMtMTMgMDM6MDEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMy0xMiAwMjozNSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTAzLTExIDEzOjEyICBob2ZmbWFuCgoJKiBUZXN0cy86IENvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4OiBFTkg6IHRyeSB0byBzZWUgaWYKCSAgdGhlcmUgaXMgc3RpbGwgYSBwcm9ibGVtCgoyMDA1LTAzLTExIDEyOjU2ICBraW5nCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFNjcmlwdEhhbmRsZXIuY3h4OiBCVUc6IERvIG5vdCByZXBvcnQgYW4KCSAgZXJyb3IgcmVtb3ZpbmcgdGhlIGJpbmFyeSBkaXJlY3RvcnkgaWYgaXQgZG9lc24ndCBleGlzdC4KCjIwMDUtMDMtMTEgMTE6NDggIGJhcnJlCgoJKiBTb3VyY2Uva3dzeXMvOiBTeXN0ZW1Ub29scy5jeHgsIFN5c3RlbVRvb2xzLmh4eC5pbjogRU5IOiBhZGQgbGFzdAoJICB0d28gc21hbGwgZnVuY3MgZnJvbSB2dGtTdHJpbmcuIERvbmUgcmVtb3ZpbmcgZGVwcwoKMjAwNS0wMy0xMSAxMDo1MyAgYW5keQoKCSogU291cmNlLzogY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuaDoKCSAgRklYOiBmaXggY3Jhc2hpbmcgdGVzdCBTdWJEaXIgZm9yIHhjb2RlCgoyMDA1LTAzLTExIDEwOjQzICBiYXJyZQoKCSogU291cmNlL2t3c3lzLzogU3lzdGVtVG9vbHMuaHh4LmluLCBTeXN0ZW1Ub29scy5jeHg6IEVOSDogdXBkYXRlCgkgIGRvY3VtZW50YXRpb24sIHNvcnQgbWV0aG9kcyBpbnRvIGNhdGVnb3JpZXMKCjIwMDUtMDMtMTEgMTA6MjkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jdGVzdC5jeHg6IEZJWDogZml4IG91dHB1dCBvZiBwYXNzaW5nIHRlc3RzCgoyMDA1LTAzLTExIDEwOjE1ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1FOWC5jbWFrZTogRU5IOiBJbml0aWFsIGF0dGVtcHQgYXQgUU5YIHN1cHBvcnQuCgkgIFN1Ym1pdHRlZCBieSBUaW0gQXJuZXkuCgoyMDA1LTAzLTExIDEwOjA3ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBDb21tYW5kTGluZUFyZ3VtZW50cy5jeHgsIFJlZ3VsYXJFeHByZXNzaW9uLmN4eCwKCSAgU3lzdGVtVG9vbHMuY3h4OiBDT01QOiBBZGRlZCBtaXNzaW5nIGluY2x1ZGUgb2Ygc3RyaW5nLmguCgoyMDA1LTAzLTExIDEwOjAzICBraW5nCgoJKiBTb3VyY2UvY21TdGFuZGFyZEluY2x1ZGVzLmg6IENPTVA6IEFkZGluZyBzdGRsaWIuaCB0byBzdGFuZGFyZAoJICBpbmNsdWRlcy4gIFdlIGFyZSB1c2luZyBmdW5jdGlvbnMgZnJvbSBpdCBhbGwgb3ZlciB0aGUgcGxhY2UKCSAgYXNzdW1pbmcgaXQgaGFzIGJlZW4gaW5jbHVkZWQgaGVyZS4KCjIwMDUtMDMtMTEgMDk6MzEgIGJhcnJlCgoJKiBTb3VyY2Uva3dzeXMvOiBTeXN0ZW1Ub29scy5jeHgsIFN5c3RlbVRvb2xzLmh4eC5pbjogQ09NUDogZml4CgkgIHNvbWUgd2FybmluZ3MKCjIwMDUtMDMtMTEgMDg6MzggIG1hcnRpbmsKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IENPTVA6IGZpeCBhIHdhcm5pbmcKCjIwMDUtMDMtMTEgMDI6MzIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMy0xMCAxNzo0OSAgYmFycmUKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEVOSDogcmVtb3ZlIGRlcHMgdG8gdnRrU3RyaW5nIGJ5CgkgIHVzaW5nIEtXU3lzIChhIGhhbmRmdWwgb2YgZnVuY3Rpb25zIGhhdmUgYmVlbiBtb3ZlZCB0byBLV1N5cykKCjIwMDUtMDMtMTAgMTc6NDQgIGJhcnJlCgoJKiBTb3VyY2Uva3dzeXMvOiBTeXN0ZW1Ub29scy5oeHguaW4sIFN5c3RlbVRvb2xzLmN4eDogRU5IOiByZW1vdmUKCSAgZGVwcyB0byB2dGtTdHJpbmcgYnkgdXNpbmcgS1dTeXMgKGEgaGFuZGZ1bCBvZiBmdW5jdGlvbnMgaGF2ZQoJICBiZWVuIG1vdmVkIHRvIEtXU3lzKQoKMjAwNS0wMy0xMCAxNzozNCAgYmFycmUKCgkqIFNvdXJjZS9rd3N5cy86IFN5c3RlbVRvb2xzLmN4eCwgU3lzdGVtVG9vbHMuaHh4LmluOiBFTkg6IHJlbW92ZQoJICBkZXBzIHRvIHZ0a1N0cmluZyBieSB1c2luZyBLV1N5cyAoYSBoYW5kZnVsIG9mIGZ1bmN0aW9ucyBoYXZlCgkgIGJlZW4gbW92ZWQgdG8gS1dTeXMpCgoyMDA1LTAzLTEwIDEzOjM5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUV4cG9ydExpYnJhcnlEZXBlbmRlbmNpZXMuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsR2VuZXJhdG9yLmgsIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLCBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oLAoJICBjbVRyeUNvbXBpbGVDb21tYW5kLmN4eCwgY21UcnlSdW5Db21tYW5kLmN4eCwgY21ha2UuY3h4LCBjbWFrZS5oOgoJICBFTkg6IGNsZWFudXAgYnkgcmVtb3ZpbmcgYWxsIHRoZSBvbGYgbG9jYWwgZ2VuZXJhdGUganVuayB0aGF0IGkKCSAgbm90IGxvbmdlciBuZWVkZWQKCjIwMDUtMDMtMTAgMTI6NTAgIGJhcnJlCgoJKiBTb3VyY2Uva3dzeXMvOiBTeXN0ZW1Ub29scy5oeHguaW4sIFN5c3RlbVRvb2xzLmN4eDogRU5IOiBtb3ZlCgkgIGZ1bmN0aW9uIGZyb20gdnRrS1dEaXJlY3RvcnlVdGlsaXRpZXMgYW5kIHZ0a1N0cmluZyB0bwoJICBTeXN0ZW1Ub29scwoKMjAwNS0wMy0xMCAxMDowNCAgbWFydGluawoKCSogU291cmNlL2N0ZXN0LmN4eDogRU5IOiBiZXR0ZXIgZG9jcwoKMjAwNS0wMy0xMCAwMjoyNiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTAzLTA5IDE4OjA2ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN1Ym1pdC5jeHg6IEJVRzogeG1scnBjIGRvZXMgdGhlIGJhc2U2NAoJICBlbmNvZGluZwoKMjAwNS0wMy0wOSAxNTo1MSAgYW5keQoKCSogYm9vdHN0cmFwOiBCVUc6IFJlbW92ZSBhd2ssIHJlbW92ZSBwcm9ibGVtcyBhbmQgYWRkIGZ1bGwgc3BhY2VzCgkgIGluIHRoZSBwYXRoIHN1cHBvcnQKCjIwMDUtMDMtMDkgMDI6MjYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMy0wOCAxODozOCAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmN4eDogQlVHOiBSZW1vdmluZwoJICBqdW1wLWFuZC1idWlsZCBvcmRlcmluZyBjaGFuZ2UgdW50aWwgd2UgY2FuIHByZXZlbnQgZXh0cmEganVtcHMKCSAgZnJvbSBhbHdheXMgb2NjdXJpbmcuCgoyMDA1LTAzLTA4IDE3OjI3ICBraW5nCgoJKiBib290c3RyYXA6IEJVRzogRml4IGZvciBzcGFjZXMgaW4gdGhlIHBhdGggd2hlbiBjb25zdHJ1Y3RpbmcKCSAgY21Cb290c3RyYXBDb21tYW5kcyBkZXBlbmRlbmNpZXMuCgoyMDA1LTAzLTA4IDE2OjAxICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4OiBFTkg6IFJlbW92aW5nIC4uLgoJICBlbGxpcHNpcyBmcm9tIGVuZCBvZiBlY2hvIGxpbmVzLiAgSXQgaXMganVzdCBjbHV0dGVyLgoKMjAwNS0wMy0wOCAxNTo1NSAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmN4eDogRU5IOiBBZGRpbmcgZXh0cmEKCSAgZGVwZW5kZW5jaWVzIHRvIGp1bXAtYW5kLWJ1aWxkIHJ1bGVzIHRoYXQgZm9yY2UgYSBzaW5nbGUgb3JkZXJpbmcKCSAgdG8gcHJldmVudCBwYXJhbGxlbCBqdW1wcy4gIFRoaXMgYXZvaWRzIHByb2JsZW1zIHdpdGggdHdvIGp1bXBzCgkgIHJlYWNoaW5nIHRoZSBzYW1lIHRhcmdldCBpbiBwYXJhbGxlbCB3aGljaCBoYXBwZW5lZCBvY2Nhc2lvbmFsbHkKCSAgd2l0aCB0aGUgb2xkIGdlbmVyYXRvci4KCjIwMDUtMDMtMDggMTU6MzUgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHg6IEVOSDogUmVtb3ZlZCAiQ2hlY2tpbmcKCSAgYnVpbGQgc3lzdGVtIGluIC4uLiIgbWVzc2FnZS4gIEl0IGlzIGFsd2F5cyBwYWlyZWQgd2l0aCBhbgoJICBFbnRlcmluZyBvciBKdW1waW5nIG1lc3NhZ2UgYW5kIGlzIG5vdCBuZWNlc3NhcnkuCgoyMDA1LTAzLTA4IDEzOjQzICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmg6IEVOSDogQWRkZWQgb3B0aW9uCgkgIENNQUtFX1NLSVBfUlVMRV9ERVBFTkRFTkNZIHRvIHNraXAgbWFraW5nIGJ1aWxkIHJ1bGVzIGRlcGVuZCBvbgoJICB0aGVpciBvd24gcnVsZSBmaWxlcy4gIEl0IGNhbiBiZSBhZGRlZCB0byB0aGUgY2FjaGUgYnkgdGhlIHVzZXIKCSAgb3IgYWRkZWQgYnkgdGhlIHByb2plY3QgaW4gYSBsaXN0IGZpbGUuCgoyMDA1LTAzLTA4IDExOjM3ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4OiBCVUc6IE9ubHkgYWRkIGxlYWRpbmcKCSAgLi8gdG8gY3VzdG9tIGNvbW1hbmQgZXhlY3V0YWJsZSBpZiB0aGUgY29tbWFuZCBpcyByZWFsbHkKCSAgc3BlY2lmaWVkIGFzIG9uZSBpbiB0aGUgY3VycmVudCBkaXJlY3RvcnkuCgoyMDA1LTAzLTA4IDExOjI1ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4OiBCVUc6IFdoZW4gYSBjdXN0b20KCSAgY29tbWFuZCdzIGV4ZWN1dGFibGUgaXMgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHRoZSByZWxhdGl2ZQoJICBwYXRoIHRvIGl0IG5lZWRzIGEgIi4vIi4KCjIwMDUtMDMtMDggMDk6MjUgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxLZGV2ZWxvcEdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxLZGV2ZWxvcEdlbmVyYXRvci5oOiBFTkg6IFVwZGF0aW5nIEtkZXZlbG9wIGdlbmVyYXRvciB0bwoJICB1c2UgdGhlIG5ldyBtYWtlZmlsZSBnZW5lcmF0b3IuICBUaGUgb2xkIG9uZSBubyBsb25nZXIgd29ya3MKCSAgYW55d2F5IGJlY2F1c2UgbG9jYWwgZ2VuZXJhdGVzIGFyZSBub3cgZGlzYWJsZWQuCgoyMDA1LTAzLTA4IDA5OjI0ICBraW5nCgoJKiBTb3VyY2UvY21EZXBlbmRzLmN4eDogQlVHOiBEZXBlbmRlbmN5IHNjYW5zIGFuZCBjaGVja3MgbXVzdAoJICBhbHdheXMgc2V0IHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IHRvIHRoZSBkaXJlY3RvcnkKCSAgY29udGFpbmluZyB0aGUgTWFrZWZpbGUuCgoyMDA1LTAzLTA4IDAyOjI2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDMtMDcgMTU6MTkgIGtpbmcKCgkqIFNvdXJjZS9jbURlcGVuZHNGb3J0cmFuLmN4eDogQlVHOiBXaGVuIGNoZWNraW5nIGZvciB1cHBlci1jYXNlCgkgIG1vZHVsZXMgZG8gbm90IHVzZSBhbiB1cHBlci1jYXNlIC5NT0QgZXh0ZW5zaW9uLgoKMjAwNS0wMy0wNyAxMzo1MSAgYW5keQoKCSogU291cmNlLzogY21GaWxlQ29tbWFuZC5jeHgsIGNtV3JpdGVGaWxlQ29tbWFuZC5jeHg6IEJVRzogSGFuZGxlCgkgIHJlc3RyaWN0aXZlIHBlcm1pc3Npb25zCgoyMDA1LTAzLTA3IDEyOjE0ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN1Ym1pdC5jeHg6IENPTVA6IFJlbW92ZSB3YXJuaW5nCgoyMDA1LTAzLTA3IDEyOjExICBhbmR5CgoJKiBib290c3RyYXA6IEVOSDogQWRkIHByb3BlciBkZXBlbmRlbmNpZXMgZm9yIGNtQm9vdHN0cmFwQ29tbWFuZHMKCjIwMDUtMDMtMDcgMDI6MjggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMy0wNiAwODo1MSAgYW5keQoKCSogRGFydENvbmZpZy5jbWFrZSwgU291cmNlL2NtQ1Rlc3QuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN1Ym1pdC5jeHg6IENPTVA6IFJlbW92ZSB3YXJuaW5nIGFuZCBmaXggdGhlCgkgIGxvZ2ljCgoyMDA1LTAzLTA2IDA4OjE3ICBhbmR5CgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IENPTVA6IERvIG5vdCBidWlsZCBjbXc5eGNvbSBvbiBDeWd3aW4KCjIwMDUtMDMtMDYgMDI6MjcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMy0wNSAwODoyNSAgYW5keQoKCSogRGFydENvbmZpZy5jbWFrZTogRU5IOiBXb3JrIG9uIHhtbHJwYyBzdWJtaXQKCjIwMDUtMDMtMDUgMDg6MTIgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3VibWl0LmN4eDogQ09NUDogUmVtb3ZlIGNvbXBpbGUgZXJyb3IKCjIwMDUtMDMtMDUgMDI6MjEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMy0wNCAxNzoxMSAgYW5keQoKCSogU291cmNlLzogQ1Rlc3QvY21DVGVzdFN1Ym1pdC5jeHgsIENUZXN0L2NtQ1Rlc3RTdWJtaXQuaCwKCSAgY21DVGVzdC5jeHg6IEVOSDogU3RhcnQgd29ya2luZyBvbiB4bWxycGMgY29kZS4gVGhpcyBjb2RlIGRvZXMKCSAgbm90IHdvcmssIGJ1dCBpdCB3aWxsIGF0IGxlYXN0IHRlc3QgY29tcGlsaW5nIHdpdGggY214bWxycGMKCjIwMDUtMDMtMDQgMTQ6MjcgIGFuZHkKCgkqIENNYWtlTGlzdHMudHh0LCBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogTW9yZSBjbGVhbnVwcyBhbmQKCSAgc3RhcnQgbGlua2luZyBjdGVzdCB0byBYTUwtUlBDCgoyMDA1LTAzLTA0IDExOjM3ICBhbmR5CgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIENNYWtlTGlzdHMudHh0LCBVdGlsaXRpZXMvQ01ha2VMaXN0cy50eHQ6CgkgIEVOSDogTW9yZSBjbGVhbnVwcyBhbmQgcmVvcmdhbml6YXRpb24KCjIwMDUtMDMtMDQgMTA6MDUgIGFuZHkKCgkqIENNYWtlTGlzdHMudHh0LCBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogQ2xlYW51cHMKCjIwMDUtMDMtMDQgMTA6MDQgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9DTWFrZUxpc3RzLnR4dDogQlVHOiBUaGlzIGNtYWtlbGlzdHMgZmlsZSBpcyBub3QKCSAgdXNlZCBhbnkgbW9yZQoKMjAwNS0wMy0wNCAxMDowMyAgYW5keQoKCSogYm9vdHN0cmFwOiBCVUc6IEhhbmRsZSB3aGVuIGluaXRpYWwgY21ha2UgZmFpbHMKCjIwMDUtMDMtMDQgMDI6MjUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMy0wMyAyMjozNSAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogRU5IOiBmaXggZm9yIGZpbmRpbmcgdGhlIGNvcnJlY3QKCSAgdGFyZ2V0IGluIHRoZSBjdXJyZW50IHByb2plY3QKCjIwMDUtMDMtMDMgMTk6NDIgIGhvZmZtYW4KCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHg6IEVOSDogbWFrZSBpdCBwYXNzCgkgIGFueXdheSBzbyBJIGNhbiBzZWUgZGVidWcgaW5mbwoKMjAwNS0wMy0wMyAxODo0NiAgaG9mZm1hbgoKCSogU291cmNlL2NtT3JkZXJMaW5rRGlyZWN0b3JpZXMuY3h4LAoJICBTb3VyY2UvY21PcmRlckxpbmtEaXJlY3Rvcmllcy5oLAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogRU5IOiB0cnkgYW5kCgkgIGRlYnVnIHRoZSBmYWlsZWQgdGVzdCBvbiB0aGUgY29udGludW91cwoKMjAwNS0wMy0wMyAxODoxNSAgaG9mZm1hbgoKCSogU291cmNlL2NtT3JkZXJMaW5rRGlyZWN0b3JpZXMuY3h4LAoJICBTb3VyY2UvY21PcmRlckxpbmtEaXJlY3Rvcmllcy5oLAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogRU5IOiB0cnkKCSAgbnVtYmVyIHR3byB3aXRoIHRvcG9sb2dpY2FsIHNvcnQKCjIwMDUtMDMtMDMgMTY6NTMgIGtpbmcKCgkqIFNvdXJjZS86IGNtRGVwZW5kc0ZvcnRyYW4uY3h4LCBjbURlcGVuZHNGb3J0cmFuLmgsIGNtYWtlLmN4eDoKCSAgRU5IOiBJbXBsZW1lbnRpbmcgZXhwbGljaXQgY21ha2VfY29weV9mOTBfbW9kIGNhbGxiYWNrIHRvIGNvcHkKCSAgRm9ydHJhbjkwIG1vZHVsZXMgdG8gdGhlIHN0YW1wIGZpbGVzIG1vcmUgcmVsaWFibHkuICBUaGlzIHJlbW92ZXMKCSAgdGhlIHRlbXBvcmFyeSBoYWNrIGZvciBwZXItcGxhdGZvcm0gdXBwZXItL2xvd2VyLSBjYXNlLgoKMjAwNS0wMy0wMyAxNToyMiAga2luZwoKCSogU291cmNlLzogY21EZXBlbmRzQy5jeHgsIGNtRGVwZW5kc0MuaDogQlVHOiBGaXhlZCBzY2FubmluZyB0bwoJICBhY2NvdW50IGZvciBkb3VibGUtcXVvdGUgaW5jbHVkZXMuCgoyMDA1LTAzLTAzIDEyOjAwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNfaW9zX3NzdHJlYW0uaC5pbjogRU5IOiBBZGRlZAoJICAib3N0cmluZ3N0cmVhbShjb25zdCBrd3N5c19zdGw6OnN0cmluZyYgcykiIGFuZCAidm9pZCBzdHIoY29uc3QKCSAga3dzeXNfc3RsOjpzdHJpbmcmIHMpIiBjb21wYXRpYmlsaXR5IG1ldGhvZHMuCgoyMDA1LTAzLTAzIDA4OjQ2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21ha2UuY3h4OiBFTkg6IHJlbW92ZSBjb2RlIHdhcnJpb3IKCSAgY2xhc3NlcwoKMjAwNS0wMy0wMyAwMjoyNiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTAzLTAyIDE4OjU2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21PcmRlckxpbmtEaXJlY3Rvcmllcy5jeHgsCgkgIFNvdXJjZS9jbU9yZGVyTGlua0RpcmVjdG9yaWVzLmgsCgkgIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4OiBFTkg6IHJldmVyc2UKCSAgbGFzdCBjaGFuZ2VzIHRvIGF2b2lkIGRhc2hib2FyZCBmYWlsdXJlcwoKMjAwNS0wMy0wMiAxNzo0OSAgaG9mZm1hbgoKCSogU291cmNlL2NtT3JkZXJMaW5rRGlyZWN0b3JpZXMuY3h4LAoJICBTb3VyY2UvY21PcmRlckxpbmtEaXJlY3Rvcmllcy5oLAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHg6IEVOSDogZml4CgkgIGxpYnJhcnkgb3JkZXJpbmcgc3R1ZmYgdG8gdXNlIGEgdG9wb2xvZ2ljYWwgc29ydAoKMjAwNS0wMy0wMiAxMTo0OCAgYW5keQoKCSogU291cmNlL2NtT3JkZXJMaW5rRGlyZWN0b3JpZXMuY3h4OiBCVUc6IEF0dGVtcHQgdG8gZml4IHNvcnRpbmcKCSAgc3RhYmlsaXR5IHVzaW5nIG1vcmUgZGV0ZXJtaW5pc3RpYyBjb21wYXJlIGZ1bmN0aW9uCgoyMDA1LTAzLTAyIDEwOjU4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUdsb2JhbENvZGVXYXJyaW9yR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxDb2RlV2FycmlvckdlbmVyYXRvci5oLCBjbUxvY2FsQ29kZVdhcnJpb3JHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsQ29kZVdhcnJpb3JHZW5lcmF0b3IuaDogRU5IOiBub3cgdXNlIHhjb2RlIGluc3RlYWQKCjIwMDUtMDMtMDIgMDk6MzQgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHg6IEJVRzogUGF5IGF0dGVudGlvbiB0bwoJICBGb3JjZVVuaXhQYXRocyBzZXR0aW5nIGluIGNtU3lzdGVtVG9vbHMgZm9yCgkgIENvbnZlcnRUb1F1b3RlZE91dHB1dFBhdGggYW5kIGZvciBkZXBlbmRlbmN5IHNjYW5uaW5nLgoKMjAwNS0wMy0wMiAwOTowMiAga2luZwoKCSogU291cmNlL2NtRGVwZW5kc0ZvcnRyYW4uY3h4OiBCVUc6IFdlIG5lZWQgdG8gdGVzdCB0aGUgY29tcGlsZXIKCSAgZm9yIHRoZSBjYXNlIG9mIHRoZSBtb2QgZmlsZSBuYW1lcy4gIEZvciBub3cgdGhpcyBpcyBhIHRlbXBvcmFyeQoJICBoYWNrIHRvIHVzZSB1cHBlciBjYXNlIG9uIFNHSSBhbmQgbG93ZXIgY2FzZSBvbiBTdW4uCgoyMDA1LTAzLTAyIDA4OjUxICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4OiBCVUc6IFNHSSBtYWtlIGNhbgoJICBzdXBwb3J0IHN1ZmZpeGVzIG9ubHkgdXAgdG8gMzIgY2hhcmFjdGVycy4gIFJlbmFtaW5nCgkgIC5ocHV4X21ha2VfbXVzdF9oYXZlX3N1ZmZpeGVzX2xpc3QgdG8KCSAgLmhwdXhfbWFrZV9uZWVkc19zdWZmaXhfbGlzdC4KCjIwMDUtMDMtMDIgMDI6MzAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMy0wMSAxNzozMiAgaG9mZm1hbgoKCSogU291cmNlL2NtT3JkZXJMaW5rRGlyZWN0b3JpZXMuY3h4OiBGSVg6IHN3aXRjaCB0byBzdGFibGVfc29ydCB0bwoJICBhdm9pZCBjcmFzaAoKMjAwNS0wMy0wMSAxNDozMCAgYW5keQoKCSogTW9kdWxlcy9EYXJ0LmNtYWtlOiBCVUc6IENoYW5nZSBlcnJvciB0byB3YXJuaW5nCgoyMDA1LTAzLTAxIDE0OjIxICBhbmR5CgoJKiBDTWFrZUxpc3RzLnR4dDogQ09NUDogQ01ha2Ugc2hvdWxkIGJlIGJ1aWxkIHN0YXRpYy4gQWxzbwoJICBwcm9wYWdhdGUgYnVpbGRfc2hhcmVkX2xpYnMgdG8gY3VybAoKMjAwNS0wMy0wMSAxMzozNiAga2luZwoKCSogU291cmNlL2NtRGVwZW5kc0ZvcnRyYW4uY3h4OiBCVUc6IE1vZHVsZSBmaWxlIG5hbWVzIGFyZSBjYXNlCgkgIGluc2Vuc2l0aXZlLglBbHdheXMgdXNlIGxvd2VyIGNhc2Ugbm8gbWF0dGVyIHRoZSByZWFsIG5hbWUgb2YKCSAgdGhlIG1vZHVsZS4KCjIwMDUtMDMtMDEgMTM6MzIgIGtpbmcKCgkqIFNvdXJjZS9jbURlcGVuZHNKYXZhLmN4eDogQ09NUDogUmVtb3ZlZCB1bnVzZWQgcGFyYW1ldGVyIHdhcm5pbmcuCgoyMDA1LTAzLTAxIDEyOjI3ICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbEJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogRW5hYmxpbmcKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIgYnkgZGVmYXVsdC4KCjIwMDUtMDMtMDEgMTI6MjYgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vOiBEYXJ3aW4teGxjLmNtYWtlLCBEYXJ3aW4uY21ha2U6IEVOSDogQWRkaW5nCgkgIHN1cHBvcnQgZm9yIHNoYXJlZCBsaWJyYXJ5IHZlcnNpb25pbmcgdXNpbmcgdGhlIC1pbnN0YWxsX25hbWUKCSAgb3B0aW9uIG9uIHRoZSBPU1ggbGlua2VyLiAgVGhpcyBpcyBhY3R1YWxseSBuZWVkZWQgdG8gc3VwcG9ydAoJICByZWxhdGl2ZSAtbyBwYXRocyB3aGljaCBhcmUgdXNlZCBieQoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi4KCjIwMDUtMDMtMDEgMTI6MjYgIGtpbmcKCgkqIGJvb3RzdHJhcCwgU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtYWtlLmN4eDogRU5IOiBFbmFibGluZyBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMgoJICAobmV3IG1ha2VmaWxlIGdlbmVyYXRvcikgYnkgZGVmYXVsdC4KCjIwMDUtMDMtMDEgMTI6MjAgIGtpbmcKCgkqIFNvdXJjZS86IGNtRGVwZW5kc0phdmEuY3h4LCBjbURlcGVuZHNKYXZhLmgsIENNYWtlTGlzdHMudHh0LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHg6IEVOSDogRnJhbWV3b3JrIGZvciBqYXZhCgkgIGRlcGVuZGVuY3kgc2Nhbm5lci4gIFJpZ2h0IG5vdyBpdCBkb2VzIG5vdGhpbmcgYnV0IGFsd2F5cyByZXBvcnRzCgkgIHN1Y2Nlc3MuICBUaGlzIGlzIGVub3VnaCB0byBnZXQgdGhlIEphdmEgdGVzdCB0byBwYXNzIHdpdGggdGhlCgkgIG5ldyBnZW5lcmF0b3IgYmVjYXVzZSB0aGUgb2xkIGltcGxlbWVudGF0aW9uIGRpZCBub3QgZG8KCSAgZGVwZW5kZW5jaWVzIGFueXdheS4KCjIwMDUtMDMtMDEgMTI6MTMgIGtpbmcKCgkqIFNvdXJjZS86IGNtSW5zdGFsbFByb2dyYW1zQ29tbWFuZC5jeHgsCgkgIGNtSW5zdGFsbFByb2dyYW1zQ29tbWFuZC5oOiBCVUc6IEFkZGVkIEZJTEVTIG1vZGUgdG8KCSAgSU5TVEFMTF9QUk9HUkFNUyBjb21tYW5kIHRvIG1ha2UgdGhlIHNpbmdsZSBhcmd1bWVudCBjYXNlCgkgIHVuYW1iaWd1b3VzLgoKMjAwNS0wMy0wMSAxMToyNSAgYW5keQoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBGSVg6IGZpeCBzcGFjZXMgaW4gcGF0aHMKCjIwMDUtMDMtMDEgMTA6NTQgIGFuZHkKCgkqIENNYWtlTGlzdHMudHh0OiBFTkg6IEVuYWJsZSBYTUxSUEMuLi4gcGxlYXNlIGRvIG5vdCBicmVhawoJICBldmVyeXdoZXJlLi4uCgoyMDA1LTAzLTAxIDEwOjA1ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4OiBCVUc6IFJlcGxhY2VkIHByZXZpb3VzCgkgIGZpeCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIG9mIHByb3Blcmx5IGZvcm1hdHRpbmcgdGhlIGN1c3RvbQoJICBidWlsZCBjb2RlIGluIHRoZSBnZW5lcmF0ZWQgZmlsZS4KCjIwMDUtMDMtMDEgMDI6MjggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMi0yOCAxNzoxMiAgYW5keQoKCSogQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkIHRoZSByZXN0IG9mIHhtbHJwYyBzdHVmZgoKMjAwNS0wMi0yOCAxNjoxMSAgbWFydGluawoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eDogRklYVEhJUyBUSElORzogZml4IHRoZQoJICBidWcKCjIwMDUtMDItMjggMTU6MzAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogZml4IHR5cGVvCgoyMDA1LTAyLTI4IDE1OjA3ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5oOgoJICBFTkg6IGFkZCByZSBydW4gY21ha2UgaWYgaW5wdXRzIGNoYW5nZQoKMjAwNS0wMi0yOCAwMjoyNSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTAyLTI3IDE3OjM2ICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYzogQ09NUDogUmVtb3ZlIHdhcm5pbmdzIGFib3V0IHNoYWRvdwoJICB2YXJpYWJsZXMKCjIwMDUtMDItMjcgMTc6MzMgIGFuZHkKCgkqIFV0aWxpdGllcy9jbWV4cGF0L3htbHBhcnNlLmM6IENPTVA6IFJlbW92ZSBjb21waWxlIHdhcm5pbmcgYWJvdXQKCSAgc2hhZG93IHZhcmlhYmxlcwoKMjAwNS0wMi0yNyAwMzowNCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTAyLTI2IDE2OjU4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IENPTVA6IHJlbW92ZSBzb21lIHdhcm5pbmdzCgoyMDA1LTAyLTI2IDAzOjAyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDItMjUgMjA6NDYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogQ09NUDogZml4IHdhcm5pbmcKCjIwMDUtMDItMjUgMTc6NDUgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LCBjbU9yZGVyTGlua0RpcmVjdG9yaWVzLmN4eCwKCSAgY21PcmRlckxpbmtEaXJlY3Rvcmllcy5oOiBFTkg6IGNsZWFuIHVwIGFuZCB1c2Ugb3JkZXIgbGluawoJICBkaXJlY3RvcmllcwoKMjAwNS0wMi0yNSAxNDoyMSAgaG9mZm1hbgoKCSogVXRpbGl0aWVzL2NtZXhwYXQveG1sdG9rX2ltcGwuYzogQ09NUDogZml4IHdhcm5pbmdzCgoyMDA1LTAyLTI1IDE0OjIwICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEVOSDogbWFrZSBzdXJlIGhlYWRlciBmaWxlcwoJICBhcmUgaW4gdGhlIGhlYWRlciBmaWxlIGdyb3VwCgoyMDA1LTAyLTI1IDExOjIzICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmg6IEVOSDogUmVwbGFjZWQKCSAgT3V0cHV0RWNoby9wcmUtZWNoby9wb3N0LWVjaG8gd2l0aCBBcHBlbmRFY2hvLiAgVGhpcyBhbGxvd3MgZm9yCgkgIG1vcmUgZmxleGlibGUgZWNobyBzcGVjaWZpY2F0aW9ucyBhbmQgYmV0dGVyIHByZXNlcnZlcyBlY2hvIHRleHQuCgoyMDA1LTAyLTI1IDA5OjMxICBraW5nCgoJKiBUZXN0cy86IENvbXBsZXgvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LCBDb21wbGV4L0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4T25lQ29uZmlnL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkZWQgZnVsbAoJICBwcmUtYnVpbGQvcHJlLWxpbmsvcG9zdC1idWlsZCB0ZXN0aW5nIGZvciBib3RoIGxpYnJhcnkgYW5kCgkgIGV4ZWN1dGFibGUgdGFyZ2V0cy4KCjIwMDUtMDItMjUgMDk6MTkgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHg6IEVOSDogQWRkaW5nIGluY2x1c2lvbgoJICBvZiBwcmUtYnVpbGQgYW5kIHByZS1saW5rIGNvbW1hbmRzIHdoZW4gYnVpbGRpbmcgZXhlY3V0YWJsZXMgYW5kCgkgIGxpYnJhcmllcy4KCjIwMDUtMDItMjUgMDk6MTQgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHg6IEJVRzoKCSAgQ29udmVydFRvUXVvdGVkT3V0cHV0UGF0aCBtdXN0IHJlcGxhY2Ugc2xhc2hlcyBpbiByb290IGNvbXBvbmVudAoJICBvbiB3aW5kb3dzLgoKMjAwNS0wMi0yNSAwOTowNiAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5oOiBFTkg6IEFkZGVkCgkgIENvbnZlcnRUb1F1b3RlZE91dHB1dFBhdGggbWV0aG9kIGFuZCB1c2VkIGl0IHRvIHByb3Blcmx5IGdlbmVyYXRlCgkgIGV4dGVybmFsIG9iamVjdCByZWZlcmVuY2VzIHdpdGggc3BhY2VzIGluIHRoZSBwYXRoLgoKMjAwNS0wMi0yNSAwMzowOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTAyLTI0IDE5OjMyICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogUmVtb3ZlZCBpbnN0YW5jZXMKCSAgb2YgY2FsbGluZyBDb252ZXJ0VG9SZWxhdGl2ZU91dHB1dFBhdGggdHdpY2Ugb24gdGhlIHNhbWUgcGF0aC4KCjIwMDUtMDItMjQgMTk6MjggIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHg6IEJVRzogTmVlZCB0byBjb25maWd1cmUgcmVsYXRpdmUKCSAgcGF0aCBzdXBwb3J0IGZvciBMb2NhbEdlbmVyYXRlIHRvIHN1cHBvcnQgb2xkIG1ha2VmaWxlIGdlbmVyYXRvci4KCjIwMDUtMDItMjQgMTg6MzUgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBFTkg6IENvbnZlcnRlZCBzb21lCgkgIENvbnZlcnRUb1JlbGF0aXZlT3V0cHV0UGF0aCBjYWxscyB0bwoJICBDb252ZXJ0VG9PcHRpb25hbGx5UmVsYXRpdmVPdXRwdXRQYXRoIGluIHByZXBhcmF0aW9uIGZvciBtYWtpbmcKCSAgQ29udmVydFRvUmVsYXRpdmVPdXRwdXRQYXRoIGFsd2F5cyBjb252ZXJ0LiAgU29tZSBvZiB0aGVzZSBtaWdodAoJICBiZSBhYmxlIHRvIGJlIHN3aXRjaGVkIGJhY2sgYnV0IHdlIHdpbGwgZmlyc3QgaGF2ZSB0byB0ZXN0IHdoYXQKCSAgcGF0aHMgY2FuIGJlIHJlbGF0aXZlIGluIHRoZSBnZW5lcmF0ZSBWUyBwcm9qZWN0IGZpbGVzLgoKMjAwNS0wMi0yNCAxNzo0NiAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuaCwKCSAga3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFTkg6IGZpeCByZWxhdGl2ZSBwYXRocyBpbiB4Y29kZQoKMjAwNS0wMi0yNCAxNjoyNSAga2luZwoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBFTkg6IENvbnZlcnRlZCBzb21lCgkgIENvbnZlcnRUb1JlbGF0aXZlT3V0cHV0UGF0aCBjYWxscyB0bwoJICBDb252ZXJ0VG9PcHRpb25hbGx5UmVsYXRpdmVPdXRwdXRQYXRoIGluIHByZXBhcmF0aW9uIGZvciBtYWtpbmcKCSAgQ29udmVydFRvUmVsYXRpdmVPdXRwdXRQYXRoIG5vdCBjaGVjayBDTUFLRV9VU0VfUkVMQVRJVkVfUEFUSFMuCgoyMDA1LTAyLTI0IDE2OjE5ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4OiBCVUc6IFRoZSBwYXRoIHRvIHRoZQoJICBzb3VyY2UgZmlsZSBpbiBhIGNvbXBpbGUgbGluZSBzaG91bGQgYmUgbWFkZSByZWxhdGl2ZSBvbmx5IHdoZW4KCSAgQ01BS0VfVVNFX1JFTEFUSVZFX1BBVEhTIGlzIG9uLgoKMjAwNS0wMi0yNCAxNjowNCAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5oLAoJICBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5oLAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmg6IEVOSDogTWVyZ2VkIGltcGxlbWVudGF0aW9ucyBvZgoJICBDb252ZXJ0VG9SZWxhdGl2ZSpQYXRoIG1ldGhvZHMuICBUaGUgbWFpbiBDb252ZXJ0VG9SZWxhdGl2ZVBhdGgKCSAgbWV0aG9kIGlzIG5vdyBpbiBjbUdsb2JhbEdlbmVyYXRvci4gIEl0IGNvbnZlcnRzIHBhdGhzIG9ubHkgaWYKCSAgdGhleSBhcmUgYXQgbGVhc3QgaW5zaWRlIHRoZSBkZWVwZXN0IGNvbW1vbiBkaXJlY3RvcnkgYmV0d2VlbiB0aGUKCSAgdG9wLWxldmVsIHNvdXJjZSBhbmQgYnVpbGQgdHJlZXMuICBFYWNoIGNtTG9jYWxHZW5lcmF0b3IgaW5zdGFuY2UKCSAgY2FsbHMgdGhpcyBnbG9iYWwgbWV0aG9kIHdpdGggaXRzIG93biBvdXRwdXQgZGlyZWN0b3J5IGFzIHRoZQoJICAibG9jYWwiIGFyZ3VtZW50IGZyb20gd2hpY2ggcGF0aHMgYXJlIHJlbGF0aXZlLiAgQWRkZWQgc2VwYXJhdGUKCSAgQ29udmVydFRvT3B0aW9uYWxseVJlbGF0aXZlIHBhdGggdGhhdCBwYXlzIGF0dGVudGlvbiB0byB0aGUKCSAgQ01BS0VfVVNFX1JFTEFUSVZFX1BBVEhTIG9wdGlvbi4KCjIwMDUtMDItMjQgMTU6MzYgIGFuZHkKCgkqIFNvdXJjZS9jbU9yZGVyTGlua0RpcmVjdG9yaWVzLmN4eDogQ09NUDogcmVtb3ZlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMDUtMDItMjQgMTU6MzQgIGFuZHkKCgkqIFNvdXJjZS86IGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmg6CgkgIEVOSDogZml4IHNwYWNlcyBpbiBwYXRocyBwcm9ibGVtcwoKMjAwNS0wMi0yNCAxNDo0NyAga2luZwoKCSogU291cmNlL2t3c3lzLzogU3lzdGVtVG9vbHMuY3h4LCBTeXN0ZW1Ub29scy5oeHguaW46IEVOSDogQWRkZWQKCSAgQ29tcGFyZVBhdGggbWV0aG9kLgoKMjAwNS0wMi0yNCAxNDoyNyAgaG9mZm1hbgoKCSogU291cmNlLzogY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtTG9jYWxHZW5lcmF0b3IuaDogRU5IOiByZW1vdmUKCSAgdW51c2VkIGNvZGUKCjIwMDUtMDItMjQgMTM6NDUgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogQ09NUDogSFAgY29tcGlsZXIgZG9lcyBub3QgbGlrZQoJICBpbml0aWFsaXppbmcgYSAgY29uc3Qgc3RkOjpzdHJpbmcgJiB3aXRoIGEgY29uc3QgY2hhciogKHdoaWNoCgkgIHJlcXVpcmVzIHRoZSByZWZlcmVuY2UgdG8gYmUgYm91bmQgdG8gYSB0ZW1wb3Jhcnkgd2l0aCB0aGUgc2NvcGUKCSAgb2YgdGhlIHJlZmVyZW5jZSkuCgoyMDA1LTAyLTI0IDEzOjI2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21PcmRlckxpbmtEaXJlY3Rvcmllcy5jeHg6IEVOSDogY2xlYW4gdXAgYW5kIHJlbW92ZSBzb21lCgkgIGRlYnVnIGNvZGUKCjIwMDUtMDItMjQgMTM6MTYgIGhvZmZtYW4KCgkqIGJvb3RzdHJhcCwgU291cmNlL0NNYWtlTGlzdHMudHh0LCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmgsIFNvdXJjZS9jbU9yZGVyTGlua0RpcmVjdG9yaWVzLmN4eCwKCSAgU291cmNlL2NtT3JkZXJMaW5rRGlyZWN0b3JpZXMuaDogRU5IOiBhZGQgYSBuZXcgbGlicmFyeSBwYXRoCgkgIG9yZGVyaW5nIGFsZ29yaXRobSB0byBtYWtlIHN1cmUgLUwgcGF0aHMgd2lsbCBwaWNrIHRoZSBjb3JyZWN0CgkgIGxpYnJhcmllcyBpZiBwb3NzaWJsZQoKMjAwNS0wMi0yNCAxMjo0NCAga2luZwoKCSogU291cmNlL2NtRGVwZW5kc0MuY3h4OiBCVUc6IEF2b2lkIHB1dHRpbmcgYSBsZWFkaW5nIC4vIG9uIHRoZQoJICBkZXBlbmRlbmN5IG5hbWVzLgoKMjAwNS0wMi0yNCAxMjoxOSAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5oOiBCVUc6IFVzaW5nIGEgYmV0dGVyIHRlY2huaXF1ZSB0bwoJICBwcm9kdWNlIHRoZSBydWxlIGZpbGUgbmFtZSBmb3IgYSBjdXN0b20gY29tbWFuZCB3aGVuIHRoZSBvdXRwdXQKCSAgaXMgbm90IGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBvciBsb3dlci4KCjIwMDUtMDItMjQgMTE6NDYgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vQ01ha2VMaXN0cy50eHQ6IEJVRzogQWRkZWQgaW5zdGFsbGF0aW9uIG9mIC5pbgoJICBmaWxlcyBhcyB3ZWxsIGFzIC5jbWFrZSBmaWxlcy4KCjIwMDUtMDItMjQgMTA6MzIgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHg6IEJVRzogT25seSB1c2UgdGhlIGV4aXN0aW5nCgkgIENNYWtlKGxhbmcpQ29tcGlsZXIuY21ha2UgZmlsZSBmcm9tIHRoZSBidWlsZCB0cmVlIGlmIGl0IHdhcwoJICBnZW5lcmF0ZWQgYnkgdGhlIHNhbWUgdmVyc2lvbiBvZiBDTWFrZS4KCjIwMDUtMDItMjQgMTA6MzEgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogQlVHOiBGaXhlZCBHZXRDYWNoZU1pbm9yVmVyc2lvbiB0byBub3QKCSAgYWx3YXlzIHJldHVybiAwLgoKMjAwNS0wMi0yNCAxMDoxNCAgYW5keQoKCSogU291cmNlL2NtQ29tbWFuZHMuY3h4OiBDT01QOiBSZW1vdmUgY29tcGlsZSB3YXJuaW5nIGluIGJvb3RzdHJhcAoJICBzdGFnZQoKMjAwNS0wMi0yNCAwOToyMSAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmN4eDogQlVHOiBEbyBub3QgY3Jhc2ggd2hlbgoJICB0aGUgbGluayBsYW5ndWFnZSBmb3IgYSB0YXJnZXQgaXMgbm90IGtub3duLgoKMjAwNS0wMi0yNCAwOToyMCAga2luZwoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eDogQlVHOiBOZWVkIHByb3BlcgoJICBuZXdsaW5lIGFyZ3VtZW50IHRvIENvbnN0cnVjdFNjcmlwdCBjYWxsLgoKMjAwNS0wMi0yNCAwMzo0NiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTAyLTIzIDIwOjQxICBhbmR5CgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEVOSDogcmVtb3ZlIG91dHB1dCBwYXRoIHN0dWZmCgoyMDA1LTAyLTIzIDE0OjM2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eDogQlVHOiBmaXggZm9yIGVtcHR5CgkgIHRhcmdldCBvciBjb25maWcgc3RyaW5ncyBpbiB0aGUgQnVpbGQgbWV0aG9kCgoyMDA1LTAyLTIzIDEzOjUwICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEZJWDogZml4IHRvIG1ha2UgdGhpcyB3b3JrCgkgIHdpdGggbmV3IGN1c3RvbSBjb21tYW5kIHN0dWZmCgoyMDA1LTAyLTIzIDAzOjAzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDItMjIgMTU6MzEgIGtpbmcKCgkqIFNvdXJjZS9jbVByb2plY3RDb21tYW5kLmN4eDogRU5IOiBBZGRlZCBDTUFLRV9QUk9KRUNUX05BTUUKCSAgdmFyaWFibGUgdG8gcGxheSB0aGUgcm9sZSBvZiBDTUFLRV9TT1VSQ0VfRElSIGFuZAoJICBDTUFLRV9CSU5BUllfRElSIGZvciB0aGUgdG9wLWxldmVsIHByb2plY3QgbmFtZS4KCjIwMDUtMDItMjIgMTU6MjIgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VHZW5lcmljU3lzdGVtLmNtYWtlLCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6CgkgIEVOSDogQWRkZWQgYmV0dGVyIGRlZmF1bHQgaW5zdGFsbCBsb2NhdGlvbiBmb3Igd2luZG93cyBidWlsZHMuCgkgIFRoZSBwcmV2aW91cyBkZWZhdWx0IC91c3IvbG9jYWwgZGlkIG5vdCBtYWtlIG11Y2ggc2Vuc2UuICBOb3cKCSAgIiVTeXN0ZW1Ecml2ZSUvUHJvZ3JhbSBGaWxlcy9QUk9KRUNUX05BTUUiIGlzIHVzZWQsIHdoaWNoIGlzIHRoZQoJICB3aW5kb3dzIGVxdWl2YWxlbnQgdG8gL3Vzci9sb2NhbC4KCjIwMDUtMDItMjIgMTQ6NTIgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9hZENvbW1hbmRDb21tYW5kLmN4eCwgY21Mb2FkQ29tbWFuZENvbW1hbmQuaDogRU5IOgoJICBMT0FEX0NPTU1BTkQgY29tbWFuZCB3aWxsIG5vdyBzZXQgYSB2YXJpYWJsZSBjYWxsZWQKCSAgQ01BS0VfTE9BREVEX0NPTU1BTkRfPENPTU1BTkRfTkFNRT4gdG8gdGhlIGZ1bGwgcGF0aCBvZiB0aGUKCSAgbG9hZGVkIG1vZHVsZSBpZiBsb2FkaW5nIHdhcyBzdWNjZXNzZnVsLiAgT3RoZXJ3aXNlIHRoZSB2YXJpYWJsZQoJICBpcyBub3Qgc2V0ICh3aWxsIGV2YWx1YXRlIHRvIGVtcHR5IHN0cmluZykuICBUaGlzIGlzIHVzZWZ1bCBib3RoCgkgIGluIHRlc3Rpbmcgd2hldGhlciBsb2FkaW5nIHdvcmtlZCBhbmQgZm9yIGluc3RhbGxpbmcgbG9hZGVkCgkgIGNvbW1hbmQgbW9kdWxlcy4KCjIwMDUtMDItMjIgMTI6MzQgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHg6IENPTVA6IGZpeCB3YXJuaW5nCgoyMDA1LTAyLTIyIDEyOjEwICBraW5nCgoJKiBTb3VyY2UvY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5oOiBCVUc6IEZpeGVkIGZvcm1hdHRpbmcgb2YKCSAgZ2VuZXJhdGVkIGRvY3VtZW50YXRpb24uCgoyMDA1LTAyLTIyIDEyOjA0ICBraW5nCgoJKiBUZXN0cy9DdXN0b21Db21tYW5kL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZGVkIHRlc3QgZm9yIG11bHRpcGxlCgkgIGNvbW1hbmRzIGluIGEgY3VzdG9tIGNvbW1hbmQuCgoyMDA1LTAyLTIyIDEwOjQzICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEJVRzogZml4IHRlc3QgZXhlY3V0aW9uCgoyMDA1LTAyLTIyIDEwOjQyICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEJVRzogYmV0dGVyIGVycm9yIGhhbmRsaW5nCgoyMDA1LTAyLTIyIDEwOjMyICBraW5nCgoJKiBTb3VyY2UvOiBjbUFkZEN1c3RvbUNvbW1hbmRDb21tYW5kLmN4eCwKCSAgY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5oLCBjbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuY3h4LAoJICBjbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuaCwgY21DUGx1Z2luQVBJLmN4eCwKCSAgY21DdXN0b21Db21tYW5kLmN4eCwgY21DdXN0b21Db21tYW5kLmgsIGNtRkxUS1dyYXBVSUNvbW1hbmQuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsCgkgIGNtSVRLV3JhcFRjbENvbW1hbmQuY3h4LCBjbUluY2x1ZGVFeHRlcm5hbE1TUHJvamVjdENvbW1hbmQuY3h4LAoJICBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5oLAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaCwKCSAgY21RVFdyYXBDUFBDb21tYW5kLmN4eCwgY21RVFdyYXBVSUNvbW1hbmQuY3h4LAoJICBjbVZUS1dyYXBKYXZhQ29tbWFuZC5jeHgsIGNtVlRLV3JhcFB5dGhvbkNvbW1hbmQuY3h4LAoJICBjbVZUS1dyYXBUY2xDb21tYW5kLmN4eDogRU5IOiBVcGRhdGVkIGltcGxlbWVudGF0aW9uIG9mIGN1c3RvbQoJICBjb21tYW5kcy4gIE11bHRpcGxlIGNvbW1hbmQgbGluZXMgYXJlIG5vdyBzdXBwb3J0ZWQgZWZmZWN0aXZlbHkKCSAgYWxsb3dpbmcgZW50aXJlIHNjcmlwdHMgdG8gYmUgd3JpdHRlbi4gIEFsc28gcmVtb3ZlZCBleHRyYQoJICB2YXJpYWJsZSBleHBhbnNpb25zIGFuZCBjbGVhbmVkIHVwIHBhc3Npbmcgb2YgY29tbWFuZHMgdGhyb3VnaCB0bwoJICB0aGUgZ2VuZXJhdG9ycy4gIFRoZSBjb21tYW5kIGFuZCBpbmRpdmlkdWFsIGFyZ3VtZW50cyBhcmUgbm93CgkgIGtlcHQgc2VwYXJhdGUgYWxsIHRoZSB3YXkgdW50aWwgdGhlIGdlbmVyYXRvciB3cml0ZXMgdGhlbSBvdXQuCgkgIFRoaXMgY2xlYW5zIHVwIGFsb3Qgb2YgZXNjYXBpbmcgaXNzdWVzLgoKMjAwNS0wMi0yMiAwOToxMiAgbWFydGluawoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaCwgY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbEdlbmVyYXRvci5oLCBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmgsIGN0ZXN0LmN4eDogRU5IOiBjdGVzdCBub3cgdXNlcyBDTWFrZQoJICBnbG9iYWwgZ2VuZXJhdG9yIHRvIGRvIHRoZSBidWlsZCBwYXJ0IG9mIGJ1aWxkLWFuZC10ZXN0CgoyMDA1LTAyLTIyIDA5OjA4ICBraW5nCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBCVUc6IE5lZWQgdG8gcmV0dXJuIGJlZm9yZSBjb25maWd1cmUgc3RlcCB3aGVuCgkgIHJ1bm5pbmcgaW4gc2NyaXB0IG1vZGUuCgoyMDA1LTAyLTIyIDA4OjIyICBraW5nCgoJKiBTb3VyY2UvY21TdGFuZGFyZEluY2x1ZGVzLmg6IEVOSDogQWRkaW5nIGNtQ3VzdG9tQ29tbWFuZExpbmUgYW5kCgkgIGNtQ3VzdG9tQ29tbWFuZExpbmVzIHN1YmNsYXNzZXMgb2Ygc3RkOjp2ZWN0b3IgaW5zdGFudGlhdGlvbnMgdG8KCSAgcmVwcmVzZW50IG11bHRpcGxlIGNvbW1hbmRzIGZvciBhIHNpbmdsZSBjdXN0b20gY29tbWFuZC4gIFRoZXNlCgkgIHdpbGwgYmUgdXNlZCBpbiBhbiB1cGNvbWluZyBjaGVja2luLgoKMjAwNS0wMi0yMiAwMzowMSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTAyLTIxIDAzOjA3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDItMjAgMDM6MTMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMi0xOSAwMjo0MyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTAyLTE4IDE2OjE5ICBraW5nCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmN4eCwgY21Tb3VyY2VGaWxlLmN4eCwgY21Tb3VyY2VGaWxlLmg6IEJVRzoKCSAgY21Tb3VyY2VGaWxlIGluc3RhbmNlcyBzaG91bGQgZGVsZXRlIHRoZWlyIG93biBjdXN0b20gY29tbWFuZHMKCSAgd2hlbiBhIG5ldyBvbmUgaXMgc2V0LgoKMjAwNS0wMi0xOCAxNjoxMiAga2luZwoKCSogU291cmNlL2NtVGFyZ2V0LmN4eDogQ09NUDogVXNpbmcgY29uc3RfaXRlcmF0b3IgaW5zdGVhZCBvZgoJICBpdGVyYXRvciB0byB3YWxrIHRocm91Z2ggY3VzdG9tIGNvbW1hbmQgZGVwZW5kZW5jaWVzLgoKMjAwNS0wMi0xOCAxNjoxMiAga2luZwoKCSogU291cmNlL2NtVGFyZ2V0Lmg6IENPTVA6IEFkZGVkIG1pc3NpbmcgZm9yd2FyZCBkZWNsYXJhdGlvbiBvZgoJICBjbU1ha2VmaWxlLiAgVGhpcyB3YXMgb25seSB3b3JraW5nIGJlY2F1c2UgY21DdXN0b21Db21tYW5kLmgKCSAgZGVjbGFyZWQgaXQuCgoyMDA1LTAyLTE4IDE1OjQ1ICBhbmR5CgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEVOSDogZml4IGZvciBzcGFjZXMgaW4gdGhlCgkgIHBhdGgKCjIwMDUtMDItMTggMTU6NDMgIGtpbmcKCgkqIFRlc3RzL0V4dGVybmFsT0JKL0NNYWtlTGlzdHMudHh0OiBCVUc6IFdlIHN0aWxsIHdhbnQgdG8gcHJpbnQgb3V0CgkgIHRoZSBsb2NhdGlvbiB3aGVyZSB0aGUgb2JqZWN0IHdhcyBmb3VuZCBpZiBpdCB3YXMgZm91bmQgYnkgdGhlCgkgIGdsb2IuCgoyMDA1LTAyLTE4IDE0OjMyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IENPTVA6IHJlbW92ZSB3YXJuaW5nCgoyMDA1LTAyLTE4IDE0OjIyICBraW5nCgoJKiBDTWFrZUxpc3RzLnR4dDogQlVHOiBEaXNhYmxpbmcgREFSVF9ST09UIHJlbW92YWwgdW50aWwgd2UgY2FuIGdldAoJICBEYXJ0IHRvIHN1Ym1pdCB3aXRob3V0IGl0LgoKMjAwNS0wMi0xOCAxMzozMiAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0LCBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuaCwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBUZXN0cy9FeHRlcm5hbE9CSi9DTWFrZUxpc3RzLnR4dDogRU5IOiBhbGwgdGVzdHMgYXJlIHBhc3NpbmcgZm9yCgkgIFhDb2RlCgoyMDA1LTAyLTE4IDAyOjQ0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDItMTcgMTc6NTQgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuaCwgY21YQ29kZU9iamVjdC5oOiBFTkg6IG1vcmUgdGVzdHMgYXJlCgkgIHBhc3NpbmcsIHJlbGF0aXZlIHBhdGhzLCBhbmQgZXh0ZXJuYWwgb2JqZWN0cyBhcmUgdGhlIG9uZXMgbGVmdAoJICBub3cKCjIwMDUtMDItMTcgMTY6NTkgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4OiBCVUc6IERldGVjdCB3aGVuCgkgIFRlc3RzVG9SdW5JbmZvcm1hdGlvbiBpcyBub3Qgc2V0CgoyMDA1LTAyLTE3IDE2OjExICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eDogRU5IOiBTb21lCgkgIG1vcmUgZ2VuZXJhbGl6YXRpb24KCjIwMDUtMDItMTcgMTU6MjMgIGFuZHkKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUNUZXN0LmN4eCwgY21DVGVzdC5oLAoJICBDVGVzdC9jbUNUZXN0U2NyaXB0SGFuZGxlci5jeHgsIENUZXN0L2NtQ1Rlc3RVcGRhdGVDb21tYW5kLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdFVwZGF0ZUNvbW1hbmQuaCwgQ1Rlc3QvY21DVGVzdFVwZGF0ZUhhbmRsZXIuY3h4OgoJICBFTkg6IENsZWFudXBzIGFuZCBhZGQgQ1RFU1RfVVBEQVRFIGNvbW1hbmQKCjIwMDUtMDItMTcgMTU6MjIgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RHZW5lcmljSGFuZGxlci5jeHgsCgkgIGNtQ1Rlc3RHZW5lcmljSGFuZGxlci5oOiBFTkg6IEFkZCBhIHdheSB0byBzZXQgb3B0aW9ucyBvZiB0aGUKCSAgaGFuZGxlciBnZW5lcmljbHkKCjIwMDUtMDItMTcgMTE6MjggIGtpbmcKCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmgsCgkgIGt3c3lzL1N5c3RlbVRvb2xzLmN4eCwga3dzeXMvU3lzdGVtVG9vbHMuaHh4LmluOiBFTkg6IEFkZGluZwoJICBrd3N5czo6U3lzdGVtVG9vbHM6OkZpbGVUaW1lQ29tcGFyZSBtZXRob2QgdG8gY29tcGFyZSBmaWxlCgkgIG1vZGlmaWNhdGlvbiB0aW1lcyB3aXRoIHRoZSBoaWdoZXN0IHJlc29sdXRpb24gcG9zc2libGUgb24gdGhlCgkgIGZpbGUgc3lzdGVtLgoKMjAwNS0wMi0xNyAxMToyNyAga2luZwoKCSogYm9vdHN0cmFwOiBFTkg6IEFkZGVkIHRyeS1jb21waWxlIEtXU1lTX1NUQVRfSEFTX1NUX01USU0uICBUaGlzCgkgIHRlc3RzIHdoZXRoZXIgc3RydWN0IHN0YXQgaGFzIHRoZSBleHRyYSBzdF9tdGltIG1lbWJlciB0aGF0IGhhcwoJICBoaWdoIHJlc29sdXRpb24gdGltZXMuCgoyMDA1LTAyLTE3IDEwOjUxICBhbmR5CgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaCwKCSAgQ1Rlc3QvY21DVGVzdENvdmVyYWdlSGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RNZW1DaGVja0hhbmRsZXIuY3h4LCBDVGVzdC9jbUNUZXN0U2NyaXB0SGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmgsIENUZXN0L2NtQ1Rlc3RTdGFydENvbW1hbmQuY3h4LAoJICBDVGVzdC9jbUNUZXN0U3RhcnRDb21tYW5kLmg6IEVOSDogQ2xlYW51cHMgYW5kIGFkZCBDVEVTVF9TVEFSVAoJICBjb21tYW5kCgoyMDA1LTAyLTE3IDEwOjUxICBhbmR5CgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEVOSDogQWRkIHN1cHBvcnQgZm9yIHNpbmdsZSAnCgoyMDA1LTAyLTE3IDEwOjQ5ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBDTWFrZUxpc3RzLnR4dCwgQ29uZmlndXJlLmh4eC5pbiwKCSAga3dzeXNQbGF0Zm9ybUN4eFRlc3RzLmN4eDogRU5IOiBBZGRlZCB0cnktY29tcGlsZQoJICBLV1NZU19TVEFUX0hBU19TVF9NVElNLiAgVGhpcyB0ZXN0cyB3aGV0aGVyIHN0cnVjdCBzdGF0IGhhcyB0aGUKCSAgZXh0cmEgc3RfbXRpbSBtZW1iZXIgdGhhdCBoYXMgaGlnaCByZXNvbHV0aW9uIHRpbWVzLgoKMjAwNS0wMi0xNyAxMDo0NSAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kUXQuY21ha2U6IEZJWDogZml4IGZvciBidWcgMTQwOQoKMjAwNS0wMi0xNyAxMDo0MiAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kQ3Vyc2VzLmNtYWtlOiBGSVg6IGZpeCBmb3IgYnVnIDE0MzgKCjIwMDUtMDItMTcgMTA6MzkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEZJWDogZml4IGZvciBidWcgMTYwNgoKMjAwNS0wMi0xNyAxMDoxOCAga2luZwoKCSogU291cmNlL2NtRGVwZW5kc0MuY3h4OiBFTkg6IFJlbW92aW5nIGNvbGxhcHNpbmcgb2YgZmlsZXMgdG8gZnVsbAoJICBwYXRoIGJlZm9yZSBjaGVja2luZy4gIFRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGlzIHNldAoJICBjb3JyZWN0bHkgYmVjYXVzZSB0aGUgZGVwZW5kZW5jeSBsaW5lcyBhcmUgdXNlZCBieSBtYWtlIGFueXdheS4KCSAgVGhpcyBkcmFzdGljYWxseSBpbXByb3ZlcyB0aGUgc3BlZWQgb2YgZGVwZW5kZW5jeSBjaGVja2luZy4KCjIwMDUtMDItMTcgMTA6MDMgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuaDogRU5IOiBBdm9pZCBnZW5lcmF0aW5nIGR1cGxpY2F0ZQoJICBydWxlcyBmb3IgYW4gb2JqZWN0IGZpbGUuICBBIHdhcm5pbmcgYWJvdXQgZHVwbGljYXRlIHNvdXJjZSBmaWxlcwoJICBpbiBhIHRhcmdldCBpcyBub3cgZ2VuZXJhdGVkLgoKMjAwNS0wMi0xNyAwODo1MCAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmN4eDogRU5IOiBBZGRlZCBnZW5lcmF0aW9uCgkgIG9mIHRlc3QgdGFyZ2V0IHRvIHJ1biBjdGVzdC4KCjIwMDUtMDItMTcgMDc6NTMgIGtpbmcKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEJVRzogUmVtb3ZpbmcgImd1ZXNzIHdoZW4gdGhlcmUgaXMgYSBzcGFjZSBpbgoJICB0aGUgcGF0aCIgY2hlY2sgZm9yIGNoZGlyIGNvbW1hbmQuICBJdCBpcyB0aGUgcmVzcG9uc2liaWxpdHkgb2YKCSAgdGhlIGNhbGxlciBvZiB0aGUgY29tbWFuZCB0byBlbnN1cmUgdGhlIGFyZ3VtZW50cyBhcmUgcHJvcGVybHkKCSAgcXVvdGVkIG9uIHRoZSBjb21tYW5kIGxpbmUuCgoyMDA1LTAyLTE3IDA3OjUzICBraW5nCgoJKiBUZXN0cy9Db21tYW5kTGluZVRlc3QvQ01ha2VMaXN0cy50eHQ6IEJVRzogRml4IGZvciBzcGFjZSBpbiBwYXRoCgkgIGZvciBjaGRpciB0ZXN0LiAgV2UganVzdCBuZWVkIHRvIGRvdWJsZS1xdW90ZSB0aGUgYXJndW1lbnRzLgoKMjAwNS0wMi0xNyAwMjo0MiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTAyLTE2IDE5OjEzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEVOSDogYWRkIENNQUtFX0NGR19JTlRESVIKCjIwMDUtMDItMTYgMTg6NDcgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogRU5IOiB1c2UKCSAgQUxMX0JVSUxEIHRhcmdldAoKMjAwNS0wMi0xNiAxNjozNSAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5oLCBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oOiBFTkg6IG1vcmUKCSAgdGVzdHMgYXJlIHBhc3NpbmcKCjIwMDUtMDItMTYgMTY6MDYgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RFbXB0eUJpbmFyeURpcmVjdG9yeUNvbW1hbmQuY3h4LAoJICBjbUNUZXN0U2NyaXB0SGFuZGxlci5jeHg6IEJVRzogUmVwb3J0IGVycm9ycwoKMjAwNS0wMi0xNiAxNjowMyAgYW5keQoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQlVHOiBPbiB3aW5kb3dzIGFsbG93IHJlbW92aW5nIG9mCgkgIGZpbGVzIHRoYXQgYXJlIHJlYWQtb25seQoKMjAwNS0wMi0xNiAxNDozOCAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eDogQ09NUDogUmVtb3ZlIHVudXNlZAoJICB2YXJpYWJsZQoKMjAwNS0wMi0xNiAxNDoyNCAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmg6IENPTVA6IFJlbW92ZSB3YXJuaW5nCgoyMDA1LTAyLTE2IDE0OjI0ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFVwZGF0ZUhhbmRsZXIuY3h4OiBFTkg6IEltcHJvdmUgb3V0cHV0LCBhbmQKCSAgaGFuZGxlICdHJyBmaWxlcyBpbiBzdWJ2ZXJzaW9uCgoyMDA1LTAyLTE2IDEzOjQ1ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFVwZGF0ZUhhbmRsZXIuY3h4OiBCVUc6IElmIHByb2plY3QgaXMgdXAgdG8KCSAgZGF0ZSwgaGFuZGxlIHRoYXQgY2FzZQoKMjAwNS0wMi0xNiAxMzozNiAgYW5keQoKCSogTW9kdWxlcy9EYXJ0LmNtYWtlOiBCVUc6IENsZWFuIHRoZSBtZXNzYWdlcwoKMjAwNS0wMi0xNiAxMzozMCAgYW5keQoKCSogTW9kdWxlcy86IERhcnQuY21ha2UsIERhcnRDb25maWd1cmF0aW9uLnRjbC5pbjogRU5IOiBSZW9yZ2FuaXplCgkgIGFuZCBhZGQgc3VidmVyc2lvbiBzdXBwb3J0CgoyMDA1LTAyLTE2IDEzOjI5ICBhbmR5CgoJKiBDTWFrZUxpc3RzLnR4dDogRU5IOiBSZW1vdmUgREFSVF9ST09UIHRvIGZvcmNlCgkgIERhcnRDb25maWd1cmF0aW9uLnRjbCB0byBiZSB1cCB0byBkYXRlCgoyMDA1LTAyLTE2IDEzOjI4ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0VXBkYXRlSGFuZGxlci5jeHgsIGNtQ1Rlc3RVcGRhdGVIYW5kbGVyLmg6CgkgIEVOSDogSW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBvZiBTVk4gc3VwcG9ydC4gQ2xvc2VzIEJ1ZyAjMTYwMSAtCgkgIEFkZCBzdWJ2ZXJzaW9uIHN1cHBvcnQKCjIwMDUtMDItMTYgMTM6MTUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbWFrZS5jeHgsIFNvdXJjZS9jbWFrZW1haW4uY3h4LAoJICBUZXN0cy9Db21tYW5kTGluZVRlc3QvQ01ha2VMaXN0cy50eHQ6IEJVRzogZml4IENvbW1hbmRMaW5lIHRlc3QKCSAgcHJvYmxlbXMgd2l0aCBzcGFjZXMgYW5kIHRlc3RpbmcgZm9yIHRoZSByZXR1cm4gdmFsdWUKCjIwMDUtMDItMTYgMTI6MzEgIG1hcnRpbmsKCgkqIENUZXN0Q3VzdG9tLmN0ZXN0LmluOiBFTkg6IGFkZCBzdXBwIGZvciB4bGMgbGlua2luZyBvbiBkYXJ3aW4KCjIwMDUtMDItMTYgMDk6MTcgIGFuZHkKCgkqIFV0aWxpdGllcy9jbXpsaWIvQ01ha2VMaXN0cy50eHQ6IENPTVA6IGF0dGVtcHQgdG8gZml4IHdhcm5pbmcgb24KCSAgVmlzdWFsIFN0dWRpbyA3CgoyMDA1LTAyLTE2IDA5OjAwICBob2ZmbWFuCgoJKiBDVGVzdEN1c3RvbS5jdGVzdC5pbjogQ09NUDogYWRkIGEgd2FybmluZyBpZ25vcmUgZm9yIGdjYyAzLjQuMgoKMjAwNS0wMi0xNiAwODo1NiAga2luZwoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQlVHOiBSZW1vdmluZyBkZWJ1Z2dpbmcgY29kZSBub3cKCSAgdGhhdCB0aGUgcHJvYmxlbSBoYXMgYmVlbiBmaXhlZCBvbiB0aGUgcmVtb3RlIGRhc2hib2FyZC4KCjIwMDUtMDItMTYgMDI6MTggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMi0xNSAxNzoyNSAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuaDoKCSAgRU5IOiBhZGQgY3VzdG9tIGNvbW1hbmRzLCBzdGlsbCBmYWlsaW5nIGEgYnVuY2ggb2YgdGVzdHMKCjIwMDUtMDItMTUgMTY6MDMgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEJVRzogUHJlc2VydmUgdHJhaWxpbmcgc2xhc2ggc3RhdGUKCSAgd2hlbiB0cmFuc2xhdGluZyBwYXRocy4KCjIwMDUtMDItMTUgMDk6NTggIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEVOSDogbWFrZSBzdXJlIHBhdGhzIGRvIG5vdCBlbmQgaW4KCSAgLyBiZWZvcmUgYWRkaW5nIG9uZQoKMjAwNS0wMi0xNSAwOTowMiAga2luZwoKCSogU291cmNlL2NtRGVwZW5kc0ZvcnRyYW4uY3h4OiBTVFlMRTogQWRkZWQgVE9ETyBjb21tZW50IGZvcgoJICBjaGVja2luZyBkZXBlbmRlbmNpZXMuCgoyMDA1LTAyLTE1IDA5OjAxICBraW5nCgoJKiBUZXN0cy9Gb3J0cmFuLzogQ01ha2VMaXN0cy50eHQsIHRlc3RfbW9kdWxlX2ltcGxlbWVudGF0aW9uLmY5MCwKCSAgdGVzdF9tb2R1bGVfaW50ZXJmYWNlLmY5MCwgdGVzdF9tb2R1bGVfbWFpbi5mOTA6IEVOSDogQWRkZWQKCSAgRm9ydHJhbiA5MCB0ZXN0IGlmIHRoZSBwbGF0Zm9ybSBzdXBwb3J0cyBpdC4KCjIwMDUtMDItMTUgMDg6NDAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEJVRzogQWRkaW5nIGRlYnVnZ2luZyBjb2RlIHRvCgkgIHJlbW90ZWx5IGRlYnVnIGEgZmFpbGluZyBkYXNoYm9hcmQgdGVzdC4KCjIwMDUtMDItMTUgMDg6MjggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEJVRzogQWRkaW5nIGRlYnVnZ2luZyBjb2RlIHRvCgkgIHJlbW90ZWx5IGRlYnVnIGEgZmFpbGluZyBkYXNoYm9hcmQgdGVzdC4KCjIwMDUtMDItMTUgMDI6MTYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMi0xNCAxNjo0NiAgaG9mZm1hbgoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmgsIGNtTG9jYWxHZW5lcmF0b3IuaDogRU5IOiBnZXR0aW5nIGNsb3NlcgoKMjAwNS0wMi0xNCAxNjoxNSAgYW5keQoKCSogVGVzdHMvTWFrZUNsZWFuL0NNYWtlTGlzdHMudHh0OiBDT01QOiBUcnkgdG8gZml4IHRlc3Qgb24gSFAKCjIwMDUtMDItMTQgMTQ6MzUgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDVGVzdEN1c3RvbS5jdGVzdC5pbiwgQ2hhbmdlTG9nLm1hbnVhbCwKCSAgU291cmNlL0NNYWtlTGlzdHMudHh0LCBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogbWVyZ2UgZnJvbSBtYWluCgkgIHRyZWUKCjIwMDUtMDItMTQgMTA6MTYgIG1hcnRpbmsKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBvbmx5IGRvIG9iamMrKyB0ZXN0IHdpdGggR05VIG9mCgkgIGNvdXJzZQoKMjAwNS0wMi0xNCAxMDoxNiAgbWFydGluawoKCSogQ1Rlc3RDdXN0b20uY3Rlc3QuaW46IEVOSDogYWRkZWQgc3VwcCBmb3IgQ3VybCBjb2Rpbmcgc3R5bGUKCjIwMDUtMDItMTQgMDk6MjEgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vRGFyd2luLXhsYy5jbWFrZTogRU5IOiBtb3ZlIHhsYyBzdHVmZiB0byBicmFuY2gKCjIwMDUtMDItMTQgMDg6NDQgIGtpbmcKCgkqIFRlc3RzL01ha2VDbGVhbi9DTWFrZUxpc3RzLnR4dDogQ09NUDogTmVlZCBBTlNJIGZsYWdzIGZvciBDCgkgIGV4ZWN1dGFibGUuCgoyMDA1LTAyLTE0IDAyOjE0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDItMTMgMDI6MTcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMi0xMiAwMjoxNCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTAyLTExIDE2OjI1ICBhbmR5CgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IEFkZCBjb21tYW5kIHRvIGNvcHkgZGlyZWN0b3J5IHdpdGggY29udGVudAoKMjAwNS0wMi0xMSAxNjoyNSAgYW5keQoKCSogU291cmNlL2t3c3lzLzogU3lzdGVtVG9vbHMuY3h4LCBTeXN0ZW1Ub29scy5oeHguaW46IEVOSDoKCSAgSW1wbGVtZW50IGNvcHkgb2YgZGlyZWN0b3J5IHdpdGggY29udGVudAoKMjAwNS0wMi0xMSAxNDoyNSAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuaDoKCSAgbW9yZSB3b3JrIG9uIGxpbmtpbmcgZmxhZ3MKCjIwMDUtMDItMTEgMTQ6MjIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VDWFhDb21waWxlci5jbWFrZS5pbjogRklYOiBmaXggYnVnIDE0OTUKCjIwMDUtMDItMTEgMTQ6MjAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEZJWDogZml4IGZvciBidWcgMTQ2MAoKMjAwNS0wMi0xMSAxNDoxOCAgaG9mZm1hbgoKCSogTW9kdWxlcy9Vc2VTV0lHLmNtYWtlOiBGSVg6IGZpeCBidWcgMTMwMwoKMjAwNS0wMi0xMSAxNDoxMyAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgVGVtcGxhdGVzL3N0YXRpY0xpYkhlYWRlci5kc3B0ZW1wbGF0ZTogRklYOiBmaXhlcyBidWdzIDExNTIgYW5kCgkgIDExNTQKCjIwMDUtMDItMTEgMDI6MTcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMi0xMCAxNjoxOCAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5oOiBFTkg6IFNwbGl0CgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyIGF3YXkgZnJvbQoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yIHRvIGJlIGEgc3RhbmQtYWxvbmUgZ2VuZXJhdG9yLgoKMjAwNS0wMi0xMCAxNDoxOSAga2luZwoKCSogU291cmNlL2t3c3lzLzogU3lzdGVtVG9vbHMuY3h4LCBTeXN0ZW1Ub29scy5oeHguaW46IEVOSDoKCSAgSW5pdGlhbGl6aW5nIHRyYW5zbGF0aW9uIG1hcCB1c2luZyB0aGUgUFdEIGVudmlyb25tZW50IHZhcmlhYmxlCgkgIGFuZCBnZXRjd2QgZnVuY3Rpb25zIHRvIGF1dG9tYXRpY2FsbHkgdHJhbnNsYXRlIGxvZ2ljYWwgcGF0aHMKCSAgaW52b2x2aW5nIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LiAgQWxzbyBhZGRlZCB0aGUgSm9pblBhdGgKCSAgbWV0aG9kIHRvIGFpZCB1c2VycyBvZiB0aGUgU3BsaXRQYXRoIG1ldGhvZC4KCjIwMDUtMDItMTAgMTA6MzUgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IENPTVA6IHN0ZDo6IC0+IGt3c3lzX3N0bDo6CgoyMDA1LTAyLTEwIDEwOjMyICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmgsIGt3c3lzL1N5c3RlbVRvb2xzLmN4eCwKCSAga3dzeXMvU3lzdGVtVG9vbHMuaHh4LmluOiBFTkg6IEFkZGVkIFN5c3RlbVRvb2xzOjpTcGxpdFBhdGgKCSAgbWV0aG9kIHRvIHNwbGl0IGFueSBmaWxlIHBhdGggaW50byBpdHMgYmFzaWMgY29tcG9uZW50cy4KCjIwMDUtMDItMTAgMDg6MjcgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbEtkZXZlbG9wR2VuZXJhdG9yLmN4eDogQ09NUDogZml4IHdhcm5pbmcKCjIwMDUtMDItMTAgMDg6MjIgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBGaXggZm9yIGJ1ZyAxMTAwLgoJICBJZiBFWEVDVVRBQkxFX09VVFBVVF9QQVRIIG9yIExJQlJBUllfT1VUUFVUX1BBVEggaXMgYSByZWxhdGl2ZQoJICBwYXRoIGl0IHNob3VsZCBiZSBjb252ZXJ0ZWQgdG8gYSBmdWxsIHBhdGggcmVsYXRpdmUgdG8gZWFjaCBidWlsZAoJICBkaXJlY3RvcnkuCgoyMDA1LTAyLTEwIDA3OjQ2ICBraW5nCgoJKiBVdGlsaXRpZXMvY216bGliLzogQ01ha2VMaXN0cy50eHQsIHpjb25mLmg6IENPTVA6IERpc2FibGluZwoJICB3YXJuaW5ncyBpbiB6bGliIGNvZGUgdG8gYXZvaWQgY2hhbmdpbmcgaXQgdG9vIG11Y2guCgoyMDA1LTAyLTEwIDA3OjQ0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxLZGV2ZWxvcEdlbmVyYXRvci5jeHg6IENPTVA6IGZpeCB3YXJuaW5nCgoyMDA1LTAyLTEwIDAyOjE0ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDItMDkgMjM6MjUgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaDogRU5IOiBmaXggYnVnIDEzMjQKCjIwMDUtMDItMDkgMjM6MjEgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtR2xvYmFsS2RldmVsb3BHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbEtkZXZlbG9wR2VuZXJhdG9yLmgsIGNtTG9jYWxLZGV2ZWxvcEdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxLZGV2ZWxvcEdlbmVyYXRvci5oOiBFTkg6IG1vdmUgbW9zdCBvZiB0aGUgdG8gZ2xvYmFsCgkgIGdlbmVyYXRvcgoKMjAwNS0wMi0wOSAyMzowMCAgaG9mZm1hbgoKCSogU291cmNlL2NtVHJ5UnVuQ29tbWFuZC5jeHgsIFNvdXJjZS9jbVRyeVJ1bkNvbW1hbmQuaCwKCSAgTW9kdWxlcy9UZXN0QmlnRW5kaWFuLmNtYWtlOiBFTkg6IGZpeCBmb3IgMTQ1MAoKMjAwNS0wMi0wOSAyMjo0NiAgaG9mZm1hbgoKCSogTW9kdWxlcy86IEZpbmRKTkkuY21ha2UsIEZpbmRKYXZhLmNtYWtlOiBFTkg6IGJ1ZyBmaXggMTU3MwoKMjAwNS0wMi0wOSAyMjo0NSAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kUHl0aG9uTGlicy5jbWFrZTogRU5IOiBidWcgZml4IDE1NzQKCjIwMDUtMDItMDkgMTE6NDAgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5oLAoJICBUZXN0cy9NYWtlQ2xlYW4vQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL01ha2VDbGVhbi9Ub0NsZWFuL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9XcmFwcGluZy9DTWFrZUxpc3RzLnR4dDogRU5IOiBBZGRpbmcgY2xlYW5pbmcgb2YgY3VzdG9tCgkgIGNvbW1hbmQgb3V0cHV0cyBkdXJpbmcgIm1ha2UgY2xlYW4iLgoKMjAwNS0wMi0wOSAwOTozNiAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5oOiBFTkg6IE1vdmVkIHJlZmVyZW5jZSBmcm9tIGxvY2FsCgkgIGRyaXZlciB0YXJnZXRzIChsaWtlIGJ1aWxkLmxvY2FsKSBpbnRvIGluZGl2aWR1YWwgdGFyZ2V0IHJ1bGUKCSAgZmlsZXMuICBNYWluIHJ1bGUgaXMgbm93IGVtcHR5LCBleGNlcHQgdGhhdCBjbGVhbi5sb2NhbCBtYXkKCSAgcmVtb3ZlIGZpbGVzIHJlZ2lzdGVyZWQgZm9yIGNsZWFuaW5nLgoKMjAwNS0wMi0wOSAwOTozMiAga2luZwoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZGluZyBNYWtlQ2xlYW4gdGVzdCB0byB0ZXN0CgkgIGNsZWFuaW5nIGZvciBtYWtlZmlsZSBnZW5lcmF0b3JzLgoKMjAwNS0wMi0wOSAwOToyMSAga2luZwoKCSogVGVzdHMvTWFrZUNsZWFuLzogQ01ha2VMaXN0cy50eHQsIGNoZWNrX2NsZWFuLmMuaW4sCgkgIFRvQ2xlYW4vQ01ha2VMaXN0cy50eHQsIFRvQ2xlYW4vVG9DbGVhbkZpbGVzLmNtYWtlLmluLAoJICBUb0NsZWFuL3RvY2xlYW4uY3h4OiBFTkg6IEFkZGluZyB0ZXN0IG9mICJtYWtlIGNsZWFuIi4KCjIwMDUtMDItMDggMTc6MTIgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmgsCgkgIGNtWENvZGVPYmplY3QuaDogRU5IOiBhZGQgbGluayBsaWJyYXJ5IHN0dWZmCgoyMDA1LTAyLTA4IDEwOjEzICBhbmR5CgoJKiBUZXN0cy9TeXN0ZW1JbmZvcm1hdGlvbi9DTWFrZUxpc3RzLnR4dDogRU5IOiBEaXNwbGF5IGFsbCBvdXRwdXQKCSAgaW4gY3Rlc3QKCjIwMDUtMDItMDcgMTc6MzYgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LCBjbVhDb2RlT2JqZWN0LmN4eCwKCSAgY21YQ29kZU9iamVjdC5oOiBFTkg6IGZpeCBidWcgaW4gdGFyZ2V0IGxpbmtpbmcKCjIwMDUtMDItMDcgMTY6MTggIGtpbmcKCgkqIFRlc3RzLzogQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguZmlsZS5jeHgsCgkgIENvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmZpbGUuY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmZpbGUuY3h4OiBFTkg6IEFkZGVkCgkgIHBhcnRpYWwgdGVzdCBmb3IgaW5jbHVkZSByZWd1bGFyIGV4cHJlc3Npb25zLgoKMjAwNS0wMi0wNyAxNjoxNiAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmN4eDogQ09NUDogUmVtb3ZlZCB1c2VsZXNzCgkgIGV4cHJlc3Npb24gd2FybmluZy4KCjIwMDUtMDItMDcgMTY6MTEgIGtpbmcKCgkqIFNvdXJjZS86IGNtRGVwZW5kcy5jeHgsIGNtRGVwZW5kcy5oLCBjbURlcGVuZHNDLmN4eCwKCSAgY21EZXBlbmRzQy5oLCBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHg6IEVOSDogSW1wbGVtZW50ZWQKCSAgc3VwcG9ydCBmb3IgaW5jbHVkZS9jb21wbGFpbiByZWd1bGFyIGV4cHJlc3Npb25zIGZvciBkZXBlbmRlbmN5CgkgIHNjYW5uaW5nLiAgVGhpcyBub3cgaW5jbHVkZXMgdGhlIHBvc3NpYmlsaXR5IHRoYXQgc2Nhbm5pbmcgd2lsbAoJICByZXR1cm4gZmFpbHVyZSBhbmQgdGhlIGJ1aWxkIHdpbGwgc3RvcC4KCjIwMDUtMDItMDcgMTU6MTAgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuaDogRU5IOiBBZGRlZCBnZW5lcmF0aW9uIG9mCgkgIENNYWtlRGlyZWN0b3J5SW5mb3JtYXRpb24uY21ha2UgZmlsZSBpbiBlYWNoIGRpcmVjdG9yeSBuZXh0IHRvCgkgIHRoZSBNYWtlZmlsZS4gIFRoZSBpbmNsdWRlIGZpbGUgc2VhcmNoIHBhdGggaXMgbm93IHN0b3JlZCBpbiB0aGlzCgkgIGZpbGUgaW5zdGVhZCBvZiBkdXBsaWNhdGluZyBpdCBmb3IgZXZlcnkgb2JqZWN0IGZpbGUuIFRoaXMgd2lsbAoJICBhbHNvIGFsbG93IG1vcmUgaW5mb3JtYXRpb24gdG8gYmUgcGFzc2VkIGluIHRoZSBmdXR1cmUuCgoyMDA1LTAyLTA3IDE1OjA5ICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5oOiBFTkg6IEFkZGVkIEdldENvbXBsYWluUmVndWxhckV4cHJlc3Npb24KCSAgbWV0aG9kLgoKMjAwNS0wMi0wNyAwOTowNSAga2luZwoKCSogVGVzdHMvU3lzdGVtSW5mb3JtYXRpb24vRHVtcEluZm9ybWF0aW9uLmN4eDogQlVHOiBOZWVkIHRvIGluY2x1ZGUKCSAgZnVsbCBvdXRwdXQgdG8gYmUgYSB1c2VmdWwgdGVzdC4KCjIwMDUtMDItMDcgMDU6MjYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMi0wNiAwNToyNyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTAyLTA1IDA3OjUwICBraW5nCgoJKiBUZXN0cy86IFNpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFNpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dDogRU5IOiBVcGRhdGVkIHBvc3QtYnVpbGQgY29tbWFuZAoJICB0byBkcml2ZSBpbnN0YWxsYXRpb24gdGhyb3VnaCB0aGUgbmF0aXZlIGJ1aWxkIHN5c3RlbS4KCjIwMDUtMDItMDUgMDU6MjcgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMi0wNCAxNzo1OCAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIGNtWENvZGVPYmplY3QuY3h4LAoJICBjbVhDb2RlT2JqZWN0Lmg6IEVOSDogdGhpcyB2ZXJzaW9uIGNhbiBidWlsZCBjbWFrZQoKMjAwNS0wMi0wNCAxNzozOCAga2luZwoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBCVUc6IEZpeGVkIC0tYnVpbGQtdGFyZ2V0IGltcGxlbWVudGF0aW9uIHRvCgkgIHdvcmsgd2l0aCBWaXN1YWwgU3R1ZGlvIGdlbmVyYXRvcnMuCgoyMDA1LTAyLTA0IDE1OjE0ICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmg6IEVOSDogSW1wbGVtZW50ZWQgZXh0ZXJuYWwgb2JqZWN0CgkgIGZlYXR1cmUuCgoyMDA1LTAyLTA0IDE0OjEzICBraW5nCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkaW5nIHRlc3QgZm9yIGV4dGVybmFsIG9iamVjdCBmaWxlCgkgIGZlYXR1cmUuCgoyMDA1LTAyLTA0IDEzOjU4ICBraW5nCgoJKiBUZXN0cy9FeHRlcm5hbE9CSi86IENNYWtlTGlzdHMudHh0LCBleGVjdXRhYmxlLmN4eCwKCSAgT2JqZWN0L0NNYWtlTGlzdHMudHh0LCBPYmplY3QvZXh0ZXJuYWxfbWFpbi5jeHgsCgkgIE9iamVjdC9leHRlcm5hbF9vYmplY3QuY3h4OiBFTkg6IEFkZGluZyB0ZXN0IGZvciBleHRlcm5hbCBvYmplY3QKCSAgZmlsZSBmZWF0dXJlLgoKMjAwNS0wMi0wNCAxMDowNiAga2luZwoKCSogTW9kdWxlcy9DTWFrZVRlc3RGb3J0cmFuQ29tcGlsZXIuY21ha2U6IEVOSDogQWRkZWQgdGVzdCBmb3IKCSAgRm9ydHJhbjkwIHN1cHBvcnQuCgoyMDA1LTAyLTA0IDA1OjI4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDItMDMgMTk6MzIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eDogQ09NUDogcmVtb3ZlIHdhcm5pbmdzCgoyMDA1LTAyLTAzIDE3OjQyICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxHZW5lcmF0b3IuaCwgY21YQ29kZU9iamVjdC5jeHgsIGNtWENvZGVPYmplY3QuaDogRU5IOgoJICBkZXBlbmRzIHdvcmsgYmV0d2VlbiB0YXJnZXRzCgoyMDA1LTAyLTAzIDA4OjM5ICBraW5nCgoJKiBTb3VyY2UvY21EZXBlbmRzSmF2YVBhcnNlckhlbHBlci5jeHg6IENPTVA6IEZpeCB3YXJuaW5nIGFib3V0CgkgIHByaW50ZiBmb3JtYXQgYW5kIGdpdmVuIHR5cGUuCgoyMDA1LTAyLTAzIDA1OjI5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDItMDIgMTc6MTYgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxHZW5lcmF0b3IuaCwgY21YQ29kZU9iamVjdC5jeHgsIGNtWENvZGVPYmplY3QuaDogRU5IOgoJICBnZXR0aW5nIGNsb3NlcgoKMjAwNS0wMi0wMiAxNzowNSAga2luZwoKCSogU291cmNlLzogY21EZXBlbmRzRm9ydHJhblBhcnNlci5jeHgsIGNtRGVwZW5kc0ZvcnRyYW5QYXJzZXIueSwKCSAgY21EZXBlbmRzSmF2YVBhcnNlci5jeHgsIGNtRGVwZW5kc0phdmFQYXJzZXIueTogQ09NUDogQWRkaW5nCgkgIHdhcm5pbmcgd29yay1hcm91bmQgZm9yIHVudXNlZCBjYXNlIGxhYmVsIHl5ZXJyb3JsYWIgb24gSFAKCSAgY29tcGlsZXIuCgoyMDA1LTAyLTAyIDEzOjE5ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5oLAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmg6IEVOSDogbW92ZSBBZGRGbGFncyBzdHVmZiB1cCB0bwoJICBMb2NhbEdlbmVyYXRvciBmcm9tIExvY2FsVW5peCBnZW5lcmF0b3IKCjIwMDUtMDItMDIgMDU6NDQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMi0wMSAxNzoxNyAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuaDoKCSAgRU5IOiBjbG9zZXIKCjIwMDUtMDItMDEgMTU6NDggIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LCBjbVhDb2RlT2JqZWN0LmN4eDogRU5IOgoJICBnZXR0aW5nIGNsb3NlcgoKMjAwNS0wMi0wMSAxNDoyOCAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBDT01QOiBmaXggd2FybmluZwoKMjAwNS0wMi0wMSAxMzoxMiAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZUZpbmRYQ29kZS5jbWFrZTogRU5IOiBhZGQgdHJ5Y29tcGlsZSBjb2RlIGZvciB4Y29kZQoKMjAwNS0wMi0wMSAxMzowNyAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuaDoKCSAgRU5IOiBhZGQgdHJ5Y29tcGlsZSBjb2RlIGZvciB4Y29kZQoKMjAwNS0wMi0wMSAxMToyOCAga2luZwoKCSogU291cmNlLzogY21EZXBlbmRzRm9ydHJhblBhcnNlci5jeHgsIGNtRGVwZW5kc0ZvcnRyYW5QYXJzZXIueToKCSAgQ09NUDogRGlzYWJsaW5nIHdhcm5pbmcgaW4gZ2VuZXJhdGVkIGNvZGUuCgoyMDA1LTAyLTAxIDEwOjQ0ICBraW5nCgoJKiBTb3VyY2UvOiBjbURlcGVuZHNKYXZhTGV4ZXIuaCwgY21EZXBlbmRzSmF2YUxleGVyLmluLmw6IENPTVA6CgkgIFJlbW92aW5nICNsaW5lIGRpcmVjdGl2ZXMgZnJvbSAuaCBmaWxlIHRvIGF2b2lkIGJvZ3VzIFN1bgoJICB3YXJuaW5nLgoKMjAwNS0wMi0wMSAxMDo0MiAga2luZwoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIGNtRGVwZW5kc0ZvcnRyYW4uY3h4LAoJICBjbURlcGVuZHNGb3J0cmFuTGV4ZXIuY3h4LCBjbURlcGVuZHNGb3J0cmFuTGV4ZXIuaCwKCSAgY21EZXBlbmRzRm9ydHJhbkxleGVyLmluLmwsIGNtRGVwZW5kc0ZvcnRyYW5QYXJzZXIuY3h4LAoJICBjbURlcGVuZHNGb3J0cmFuUGFyc2VyLmgsIGNtRGVwZW5kc0ZvcnRyYW5QYXJzZXIueSwKCSAgY21EZXBlbmRzRm9ydHJhblBhcnNlclRva2Vucy5oLCBjbURlcGVuZHNGb3J0cmFuTGV4ZXIuYywKCSAgY21EZXBlbmRzRm9ydHJhblBhcnNlci5jOiBFTkg6IENoYW5nZWQgb3ZlciB0byB1c2luZyBDKysgZm9yCgkgIGJ1aWxkaW5nIGZsZXgvYmlzb24gZ2VuZXJhdGVkIGZpbGVzLglJdCByZWR1Y2VzIHRoZSBudW1iZXIgb2YKCSAgY2hhbmdlcyB0aGF0IG5lZWQgdG8gYmUgbWFkZSBhZnRlciBnZW5lcmF0aW9uLgoKMjAwNS0wMi0wMSAwNTozOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTAxLTMxIDA1OjE5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDEtMzAgMDU6MjMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMS0yOSAwNzo1NyAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmN4eDogQ09NUDogUmVtb3ZlZCBzaGFkb3dlZAoJICB2YXJpYWJsZSB3YXJuaW5nLgoKMjAwNS0wMS0yOSAwNToyMyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTAxLTI4IDE4OjEyICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IENPTVA6IEFkZGVkIG1pc3NpbmcgbGFiZWxzIHRvCgkgIGNhc2UuCgoyMDA1LTAxLTI4IDE3OjQ2ICBhbmR5CgoJKiBTb3VyY2UvOiBjbURlcGVuZHNKYXZhTGV4ZXIuY3h4LCBjbURlcGVuZHNKYXZhTGV4ZXIuaW4ubDogQ09NUDoKCSAgQW5vdGhlciBib3JsYW5kIHByb2JsZW0KCjIwMDUtMDEtMjggMTc6NDMgIGFuZHkKCgkqIFNvdXJjZS86IGNtRGVwZW5kc0phdmFMZXhlci5jeHgsIGNtRGVwZW5kc0phdmFMZXhlci5pbi5sLAoJICBjbURlcGVuZHNKYXZhUGFyc2VyLmN4eCwgY21EZXBlbmRzSmF2YVBhcnNlci55LAoJICBjbURlcGVuZHNKYXZhUGFyc2VyVG9rZW5zLmg6IENPTVA6IFJlbW92ZSBtb3JlIHdhcm5pbmdzL2Vycm9ycwoKMjAwNS0wMS0yOCAxNzoyNSAga2luZwoKCSogU291cmNlL2NtR2VuZXJhdGVkRmlsZVN0cmVhbS5jeHg6IENPTVA6IEZpeCB1bnVzZWQgcGFyYW1ldGVyCgkgIHdhcm5pbmcgd2hlbiBib290c3RyYXBwaW5nLgoKMjAwNS0wMS0yOCAxNzoyNCAgYW5keQoKCSogU291cmNlLzogY21EZXBlbmRzSmF2YUxleGVyLmN4eCwgY21EZXBlbmRzSmF2YUxleGVyLmluLmwsCgkgIGNtRGVwZW5kc0phdmFQYXJzZXIuY3h4LCBjbURlcGVuZHNKYXZhUGFyc2VyLnksCgkgIGNtRGVwZW5kc0phdmFQYXJzZXJUb2tlbnMuaDogQ09NUDogUmVtb3ZlIHdhcm5pbmdzCgoyMDA1LTAxLTI4IDE3OjIxICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5oOgoJICBFTkg6IG1vdmUgZXhlY3V0YWJsZSB4Y29kZSBzdHVmZiB0byBhIG1ldGhvZAoKMjAwNS0wMS0yOCAxNzoxOCAga2luZwoKCSogU291cmNlL2NtRGVwZW5kc0phdmFQYXJzZXJIZWxwZXIuY3h4OiBDT01QOiBSZW1vdmVkIGRlZmF1bHQKCSAgYXJndW1lbnQgZnJvbSBtZXRob2QgZGVmaW5pdGlvbi4KCjIwMDUtMDEtMjggMTc6MTQgIGFuZHkKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBFbmFibGUgamF2YSBkZXBlbmRlbmN5CgoyMDA1LTAxLTI4IDE3OjEzICBhbmR5CgoJKiBTb3VyY2UvOiBjbURlcGVuZHNKYXZhUGFyc2VyLmN4eCwgY21EZXBlbmRzSmF2YVBhcnNlci55LAoJICBjbURlcGVuZHNKYXZhUGFyc2VySGVscGVyLmN4eCwgY21EZXBlbmRzSmF2YVBhcnNlckhlbHBlci5oLAoJICBjbURlcGVuZHNKYXZhUGFyc2VyVG9rZW5zLmg6IEVOSDogSW5pdGlhbCBpbXBvcnQgb2YgamF2YSBwYXJzZXIKCjIwMDUtMDEtMjggMTc6MTMgIGFuZHkKCgkqIFNvdXJjZS9jbURlcGVuZHNGb3J0cmFuUGFyc2VyLnk6IFNUWUxFOiBBZGQgc29tZSBkaWZmIGhlbHBpbmcKCSAgY29tbWVudHMKCjIwMDUtMDEtMjggMTc6MDkgIGtpbmcKCgkqIFNvdXJjZS86IGNtRGVwZW5kc0ZvcnRyYW5QYXJzZXIuYywgY21EZXBlbmRzRm9ydHJhblBhcnNlci55LAoJICBjbURlcGVuZHNGb3J0cmFuUGFyc2VyVG9rZW5zLmg6IENPTVA6IERpc2FibGVkIHdhcm5pbmdzIGluCgkgIGdlbmVyYXRlZCBjb2RlLgoKMjAwNS0wMS0yOCAxNjo1NiAgYW5keQoKCSogU291cmNlLzogY21EZXBlbmRzSmF2YUxleGVyLmN4eCwgY21EZXBlbmRzSmF2YUxleGVyLmgsCgkgIGNtRGVwZW5kc0phdmFMZXhlci5pbi5sOiBFTkg6IEluaXRpYWwgaW1wb3J0IG9mIGphdmEgcGFyc2VyCgoyMDA1LTAxLTI4IDE2OjI2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IEVOSDogdXNlIGFic29sdXRlIHBhdGhzCgoyMDA1LTAxLTI4IDE2OjAwICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5oOgoJICBFTkg6IGNyZWF0ZSBtYWluR3JvdXAKCjIwMDUtMDEtMjggMTQ6MTcgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuaDogRU5IOiBJbXBsZW1lbnRlZCBmdWxsIHBlci1vYmplY3QKCSAgdGVzdCBmb3Igd2hldGhlciBwcm92aWRlcy1yZXF1aXJlcyBtb2RlIGlzIG5lZWRlZC4gIFRoaXMgd2lsbAoJICBzdGlsbCB1c2UgYSByZWN1cnNpdmUgbWFrZSBmb3IgYW55IEZvcnRyYW4gb2JqZWN0IGV2ZW4gaWYgaXQKCSAgZG9lc24ndCBoYXZlIHJlcXVpcmVzLiAgSXQgaXMgcG9zc2libGUgdG8gYXZvaWQgaXQgYnV0IHdlIGNhbiBkbwoJICB0aGF0IGxhdGVyLgoKMjAwNS0wMS0yOCAxMzoyMCAgYW5keQoKCSogTW9kdWxlcy9EYXJ0LmNtYWtlOiBFTkg6IEJldHRlciBjaGVja2luZyBmb3IgRGFydC4gQ2xvc2VzIEJ1ZwoJICAjMTUwNSAtIENvbmZpZ3VyYXRpb24gZmFpbHMgdG8gY3JlYXRlIE1ha2VmaWxlCgoyMDA1LTAxLTI4IDEzOjAwICBhbmR5CgoJKiBTb3VyY2UvY21ha2UuY3h4OiBCVUc6IHByZXZlbnQgLVAgb3Igc2NyaXB0IHRvIGJlIHBhc3NlZCBhcwoJICBob21lZGlyZWN0b3J5CgoyMDA1LTAxLTI4IDEyOjAxICBraW5nCgoJKiBTb3VyY2UvY21EZXBlbmRzRm9ydHJhbi5jeHg6IFNUWUxFOiBBZGRlZCBhbm90aGVyIHNvbHV0aW9uCgkgIHByb3Bvc2FsIGZvciBvdXQtb2YtZGlyZWN0b3J5IG1vZHVsZXMuCgoyMDA1LTAxLTI4IDEwOjQ1ICBraW5nCgoJKiBTb3VyY2UvY21EZXBlbmRzRm9ydHJhbi5jeHg6IEVOSDogQWRkZWQgcHJvdmlkZXMvcmVxdWlyZXMgb3V0cHV0CgkgIGZvciBtb2R1bGVzLgoKMjAwNS0wMS0yOCAxMDoxMiAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4OiBFTkg6IEFkZCBlcnJvciByZWdleAoKMjAwNS0wMS0yOCAwODozMCAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlOiBFTkg6IHJlbW92ZSBkZWJ1ZyBwcmludAoKMjAwNS0wMS0yOCAwNToyMCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTAxLTI3IDE5OjI0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IENPTVA6IGZpeCB3YXJuaW5nCgoyMDA1LTAxLTI3IDE3OjQ1ICBhbmR5CgoJKiBNb2R1bGVzL0RhcnQuY21ha2U6IEVOSDogRW5hYmxlIGNvbXByZXNzaW9uIGFuZCB1c2UgdGhlIG5ldwoJICB0cmlnZ2VyIHNjcmlwdAoKMjAwNS0wMS0yNyAxNzo0MyAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4LCBNb2R1bGVzL0RhcnRDb25maWd1cmF0aW9uLnRjbC5pbjogRU5IOiBFbmFibGUKCSAgY29tcHJlc3Npb24gd2l0aCBEYXJ0Q29uZmlndXJhdGlvbiBmaWxlCgoyMDA1LTAxLTI3IDE3OjA5ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgY21YQ29kZU9iamVjdC5jeHg6IEVOSDoKCSAgeGNvZGUgYWxtb3N0IHdvcmtpbmcgZm9yIHNpbXBsZSBleGUsIGJ1dCBub3QgeWV0CgoyMDA1LTAxLTI3IDE2OjQ5ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmg6IENPTVA6IEZpeCBidWlsZCBvbiBzdW4KCjIwMDUtMDEtMjcgMTY6NDMgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LCBjbVhDb2RlT2JqZWN0LmN4eDogRU5IOiBmaXgKCSAgYSBmZXcgbW9yZSB4Y29kZSB0aGluZ3MKCjIwMDUtMDEtMjcgMTY6MjUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVhDb2RlT2JqZWN0LmN4eDogRU5IOiBhZGQgbWlzc2luZyA7CgoyMDA1LTAxLTI3IDE2OjExICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5oLAoJICBjbVhDb2RlT2JqZWN0LmN4eDogRU5IOiBhZGQgbW9yZSB4Y29kZSBzdHVmZgoKMjAwNS0wMS0yNyAxNTo1NCAgYW5keQoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIGNtQ1Rlc3QuY3h4LCBjbUNUZXN0LmgsCgkgIENUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4LCBDVGVzdC9jbUNUZXN0QnVpbGRIYW5kbGVyLmgsCgkgIENUZXN0L2NtQ1Rlc3RDb25maWd1cmVIYW5kbGVyLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdENvbmZpZ3VyZUhhbmRsZXIuaCwKCSAgQ1Rlc3QvY21DVGVzdENvdmVyYWdlSGFuZGxlci5jeHgsIENUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuaCwKCSAgQ1Rlc3QvY21DVGVzdEdlbmVyaWNIYW5kbGVyLmN4eCwgQ1Rlc3QvY21DVGVzdEdlbmVyaWNIYW5kbGVyLmgsCgkgIENUZXN0L2NtQ1Rlc3RNZW1DaGVja0hhbmRsZXIuY3h4LCBDVGVzdC9jbUNUZXN0TWVtQ2hlY2tIYW5kbGVyLmgsCgkgIENUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eCwgQ1Rlc3QvY21DVGVzdFNjcmlwdEhhbmRsZXIuaCwKCSAgQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eCwgQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmgsCgkgIENUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eCwgQ1Rlc3QvY21DVGVzdFVwZGF0ZUhhbmRsZXIuaDoKCSAgRU5IOiBTZXZlcmFsIGNsZWFudXBzIGFuZCBpbXByb3ZlbWVudHMKCjIwMDUtMDEtMjcgMTM6MzEgIG1hcnRpbmsKCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RSdW5TY3JpcHRDb21tYW5kLmN4eCwKCSAgY21DVGVzdFNjcmlwdEhhbmRsZXIuY3h4LCBjbUNUZXN0U2NyaXB0SGFuZGxlci5oOiBFTkg6IGNsZWFuIHVwCgkgIHJ1bm5pbmcgb2YgZGVmYXVsdCBzY3JpcHQKCjIwMDUtMDEtMjcgMTE6NDMgIGFuZHkKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUNUZXN0LmN4eCwKCSAgQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHgsIENUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuaCwKCSAgQ1Rlc3QvY21DVGVzdENvbmZpZ3VyZUhhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0Q29uZmlndXJlSGFuZGxlci5oLAoJICBDVGVzdC9jbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eCwgQ1Rlc3QvY21DVGVzdENvdmVyYWdlSGFuZGxlci5oLAoJICBDVGVzdC9jbUNUZXN0R2VuZXJpY0hhbmRsZXIuY3h4LCBDVGVzdC9jbUNUZXN0R2VuZXJpY0hhbmRsZXIuaCwKCSAgQ1Rlc3QvY21DVGVzdFNjcmlwdEhhbmRsZXIuY3h4LCBDVGVzdC9jbUNUZXN0U2NyaXB0SGFuZGxlci5oLAoJICBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4LCBDVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuaCwKCSAgQ1Rlc3QvY21DVGVzdFVwZGF0ZUhhbmRsZXIuY3h4LCBDVGVzdC9jbUNUZXN0VXBkYXRlSGFuZGxlci5oOgoJICBFTkg6IEFkZCBhIHN1cGVyY2xhc3MgdG8gYWxsIGhhbmRsZXJzCgoyMDA1LTAxLTI3IDExOjAxICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0UnVuU2NyaXB0Q29tbWFuZC5jeHgsCgkgIGNtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eCwgY21DVGVzdFNjcmlwdEhhbmRsZXIuaCwKCSAgY21DVGVzdFNsZWVwQ29tbWFuZC5jeHg6IENPTVA6IGZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzL2Vycm9ycwoKMjAwNS0wMS0yNyAxMDo0NyAgbWFydGluawoKCSogU291cmNlL2N0ZXN0LmN4eDogRU5IOiBhZGRlZCBtaXNzaW5nIGRvY3VtZW50YXRpb24KCjIwMDUtMDEtMjcgMTA6MTQgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0LmgsIENUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0Q29uZmlndXJlSGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuY3h4LCBDVGVzdC9jbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmgsCgkgIENUZXN0L2NtQ1Rlc3RUZXN0SGFuZGxlci5jeHgsIENUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eDoKCSAgRU5IOiBBZGQgY29tcHJlc3Npb24gc3VwcG9ydCB0byBYTUwgZmlsZXMKCjIwMDUtMDEtMjcgMTA6MTQgIGFuZHkKCgkqIFNvdXJjZS86IGNtR2VuZXJhdGVkRmlsZVN0cmVhbS5jeHgsIGNtR2VuZXJhdGVkRmlsZVN0cmVhbS5oOiBFTkg6CgkgIEFkZCBjb21wcmVzc2lvbiBzdXBwb3J0CgoyMDA1LTAxLTI3IDEwOjExICBhbmR5CgoJKiBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IExpbmsgdG8gY216bGliCgoyMDA1LTAxLTI3IDEwOjExICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgQ1Rlc3QvY21DVGVzdENvbW1hbmQuaCwKCSAgQ1Rlc3QvY21DVGVzdEVtcHR5QmluYXJ5RGlyZWN0b3J5Q29tbWFuZC5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RFbXB0eUJpbmFyeURpcmVjdG9yeUNvbW1hbmQuaCwKCSAgQ1Rlc3QvY21DVGVzdFJ1blNjcmlwdENvbW1hbmQuY3h4LAoJICBDVGVzdC9jbUNUZXN0UnVuU2NyaXB0Q29tbWFuZC5oLCBDVGVzdC9jbUNUZXN0U2NyaXB0SGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmgsIENUZXN0L2NtQ1Rlc3RTbGVlcENvbW1hbmQuY3h4LAoJICBDVGVzdC9jbUNUZXN0U2xlZXBDb21tYW5kLmg6IEVOSDogYWRkZWQgbW9yZSBjYXBhYmlsaXRpZXMgdG8KCSAgY3Rlc3QKCjIwMDUtMDEtMjcgMDU6MjQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMS0yNiAxNjoxOSAga2luZwoKCSogU291cmNlL2NtRGVwZW5kc0ZvcnRyYW5QYXJzZXIueTogQ09NUDogQWRkZWQgaW5zdHJ1Y3Rpb24gdG8KCSAgcmVtb3ZlIFRBQnMgZnJvbSBnZW5lcmF0ZWQgZmlsZS4KCjIwMDUtMDEtMjYgMTY6MTggIGtpbmcKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHg6IEVOSDoKCSAgQWRkZWQgaG9vayBpbnRvIEZvcnRyYW4gZGVwZW5kZW5jeSBzY2FubmVyLgoKMjAwNS0wMS0yNiAxNjoxNyAga2luZwoKCSogU291cmNlLzogY21EZXBlbmRzRm9ydHJhbkxleGVyLmMsIGNtRGVwZW5kc0ZvcnRyYW5MZXhlci5oLAoJICBjbURlcGVuZHNGb3J0cmFuUGFyc2VyLmMsIGNtRGVwZW5kc0ZvcnRyYW5QYXJzZXJUb2tlbnMuaDogRU5IOgoJICBBZGRlZCBnZW5lcmF0ZWQgbGV4ZXIgYW5kIHBhcnNlciBzb3VyY2VzLgoKMjAwNS0wMS0yNiAxNjoxMCAga2luZwoKCSogU291cmNlLzogY21EZXBlbmRzRm9ydHJhbkxleGVyLmluLmwsIGNtRGVwZW5kc0ZvcnRyYW5QYXJzZXIueToKCSAgQ09NUDogQWRkZWQgYWRkaXRpb25hbCBpbnN0cnVjdGlvbnMgYWJvdXQgaG93IHRvIG1vZGlmeSB0aGUKCSAgZ2VuZXJhdGVkIGZpbGVzLgoKMjAwNS0wMS0yNiAxNjowOSAga2luZwoKCSogU291cmNlL2NtRGVwZW5kc0ZvcnRyYW4uY3h4OiBDT01QOiBBZGRlZCBjb25zdHJ1Y3RvciB0bwoJICBjbURlcGVuZHNGb3J0cmFuRmlsZSB0byBhdm9pZCB1c2luZyBpbml0aWFsaXplciBsaXN0LiAgQWxzbwoJICBpbmNsdWRlZCBhc3NlcnQuaC4KCjIwMDUtMDEtMjYgMTU6NTggIGtpbmcKCgkqIFNvdXJjZS9jbURlcGVuZHNGb3J0cmFuUGFyc2VyLnk6IENPTVA6IEFkZGVkIGZvcndhcmQgZGVjbGFyYXRpb24KCSAgb2YgeXlsZXguCgoyMDA1LTAxLTI2IDE1OjU1ICBhbmR5CgoJKiBDTWFrZUxpc3RzLnR4dDogRU5IOiBBZGQgemxpYiBmcm9tIFZUSwoKMjAwNS0wMS0yNiAxNTo1NSAgYW5keQoKCSogVXRpbGl0aWVzL2NtemxpYi86IC5Ob0RhcnRDb3ZlcmFnZSwgQ01ha2VMaXN0cy50eHQsIGFkbGVyMzIuYywKCSAgY21femxpYl9tYW5nbGUuaCwgY29tcHJlc3MuYywgY3JjMzIuYywgZGVmbGF0ZS5jLCBkZWZsYXRlLmgsCgkgIGV4YW1wbGUuYywgZ3ppby5jLCBpbmZibG9jay5jLCBpbmZibG9jay5oLCBpbmZjb2Rlcy5jLAoJICBpbmZjb2Rlcy5oLCBpbmZmYXN0LmMsIGluZmZhc3QuaCwgaW5mZml4ZWQuaCwgaW5mbGF0ZS5jLAoJICBpbmZ0cmVlcy5jLCBpbmZ0cmVlcy5oLCBpbmZ1dGlsLmMsIGluZnV0aWwuaCwgbWFrZXRyZWUuYywKCSAgbWluaWd6aXAuYywgdHJlZXMuYywgdHJlZXMuaCwgdW5jb21wci5jLCB6Y29uZi5oLCB6bGliLmRlZiwKCSAgemxpYi5oLCB6bGliLnJjLCB6bGliRGxsQ29uZmlnLmguaW4sIHp1dGlsLmMsIHp1dGlsLmg6IEVOSDoKCSAgSW5pdGlhbCBpbXBvcnQgZnJvbSBWVEsKCjIwMDUtMDEtMjYgMTU6NDUgIGtpbmcKCgkqIFNvdXJjZS9jbURlcGVuZHNGb3J0cmFuLmN4eDogRU5IOiBSZW1vdmVkIExleGVyL1BhcnNlciBwcmVmaXgKCSAgYmVmb3JlIF95eSBzeW1ib2xzLiAgSnVzdCBjbURlcGVuZHNGb3J0cmFuX3l5IGlzIGVub3VnaC4KCjIwMDUtMDEtMjYgMTU6NDMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogZml4IHZlcnNpb24gbnVtYmVyCgoyMDA1LTAxLTI2IDE1OjMzICBraW5nCgoJKiBTb3VyY2UvOiBjbURlcGVuZHNGb3J0cmFuLmN4eCwgY21EZXBlbmRzRm9ydHJhbi5oLAoJICBjbURlcGVuZHNGb3J0cmFuTGV4ZXIuaW4ubCwgY21EZXBlbmRzRm9ydHJhblBhcnNlci5oLAoJICBjbURlcGVuZHNGb3J0cmFuUGFyc2VyLnk6IEVOSDogQWRkZWQgRm9ydHJhbiBkZXBlbmRlbmN5IHNjYW5uZXIKCSAgaW1wbGVtZW50YXRpb24uCgoyMDA1LTAxLTI2IDE0OjI1ICBraW5nCgoJKiBTb3VyY2UvOiBjbUdlbmVyYXRlZEZpbGVTdHJlYW0uY3h4LCBjbUdlbmVyYXRlZEZpbGVTdHJlYW0uaDogRU5IOgoJICBBZGRlZCBkZWZhdWx0IGNvbnN0cnVjdG9yIGFuZCBPcGVuIG1ldGhvZC4KCjIwMDUtMDEtMjYgMTE6MTMgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RUZXN0SGFuZGxlci5jeHgsIGNtQ1Rlc3RUZXN0SGFuZGxlci5oOiBFTkg6CgkgIEFkZCBzdXBwb3J0IGZvciBzaHJpbmtpbmcgdGhlIG91dHB1dCBvZiB0aGUgdGVzdAoKMjAwNS0wMS0yNiAxMDoxMCAgYW5keQoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaDogRU5IOiBBZGQgbWV0aG9kIHRvIHBvcHVsYXRlCgkgIGN1c3RvbSBpbnRlZ2VycwoKMjAwNS0wMS0yNiAwNTo1OSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTAxLTI1IDE2OjM2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHg6IENPTVA6IGZpeCB3YXJuaW5ncwoKMjAwNS0wMS0yNSAxNjozMCAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4OiBDT01QOiBmaXggd2FybmluZ3MKCjIwMDUtMDEtMjUgMTY6MDkgIGhvZmZtYW4KCgkqIGJvb3RzdHJhcDogRU5IOiBhZGQgeGNvZGUgc3R1ZmYgdG8gYm9vdHN0cmFwCgoyMDA1LTAxLTI1IDE1OjI2ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21HbG9iYWxYQ29kZUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuaCwgY21YQ29kZU9iamVjdC5jeHgsIGNtWENvZGVPYmplY3QuaCwKCSAgY21ha2UuY3h4OiBFTkg6IGFkZCBpbml0aWFsIG5vbi13b3JraW5nIFhDb2RlIHN0dWZmCgoyMDA1LTAxLTI1IDA1OjU5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDEtMjQgMTc6MzUgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtR2xvYmFsWENvZGVHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbFhDb2RlR2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxYQ29kZUdlbmVyYXRvci5jeHgsIGNtTG9jYWxYQ29kZUdlbmVyYXRvci5oLAoJICBjbVhDb2RlT2JqZWN0LmN4eCwgY21YQ29kZU9iamVjdC5oOiBFTkg6IGluaXRpYWwgeGNvZGUgc3R1ZmYKCjIwMDUtMDEtMjQgMDU6NTMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMS0yMyAwNTo1NiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTAxLTIyIDA1OjUxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDEtMjEgMTY6MjUgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtWENvZGVPYmplY3QuY3h4LCBjbVhDb2RlT2JqZWN0Lmg6IEVOSDogc3RhcnQgeGNvZGUKCSAgc3R1ZmYKCjIwMDUtMDEtMjEgMTI6MjYgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oOiBFTkg6IG1vdmUgcHJvamVjdCBtYXAgdG8gZ2xvYmFsCgkgIGdlbmVyYXRvciBiYXNlCgoyMDA1LTAxLTIxIDExOjIyICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21XaGlsZUNvbW1hbmQuY3h4OiBDT01QOiBmaXggdW51c2VkIHZhciB3YXJuaW5nCgoyMDA1LTAxLTIxIDEwOjI3ICBob2ZmbWFuCgoJKiBib290c3RyYXAsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgU291cmNlL2NtQm9vdHN0cmFwQ29tbWFuZHMuY3h4LAoJICBTb3VyY2UvY21Db21tYW5kcy5jeHgsIFNvdXJjZS9jbUNvbW1hbmRzLmgsCgkgIFNvdXJjZS9jbVdoaWxlQ29tbWFuZC5jeHgsIFNvdXJjZS9jbWFrZS5jeHg6IEVOSDogc3BsaXQgdXAKCSAgY21Db21tYW5kcyBpbnRvIHR3byBmaWxlcwoKMjAwNS0wMS0yMSAwOTozNyAgbWFydGluawoKCSogU291cmNlLzogY21Db21tYW5kcy5jeHgsIGNtV2hpbGVDb21tYW5kLmN4eCwgY21XaGlsZUNvbW1hbmQuaCwKCSAgY21FbmRXaGlsZUNvbW1hbmQuY3h4LCBjbUVuZFdoaWxlQ29tbWFuZC5oOiBFTkg6IGFkZGVkIHdoaWxlCgkgIGNvbW1hbmQKCjIwMDUtMDEtMjEgMDU6MzYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMS0yMCAxNToyNiAgbWFydGluawoKCSogU291cmNlL2NtU2V0Q29tbWFuZC5jeHg6IENPTVA6IGZpeCB1bnVzZWQgdmFyIHdhcm5pbmcKCjIwMDUtMDEtMjAgMTQ6MzggIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtU2V0Q29tbWFuZC5jeHgsIGNtU2V0Q29tbWFuZC5oOiBFTkg6IG5vdyB0aGUgc2V0CgkgIGNvbW1hbmQgY2FuIHNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXMKCjIwMDUtMDEtMjAgMTI6MzAgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBDTWFrZUNDb21waWxlci5jbWFrZS5pbiwgQ01ha2VDWFhDb21waWxlci5jbWFrZS5pbiwKCSAgQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2UsIENNYWtlRm9ydHJhbkNvbXBpbGVyLmNtYWtlLmluLAoJICBDTWFrZUphdmFDb21waWxlci5jbWFrZS5pbiwgQ01ha2VSQ0NvbXBpbGVyLmNtYWtlLmluLAoJICBDTWFrZVRlc3RDQ29tcGlsZXIuY21ha2UsIENNYWtlVGVzdENYWENvbXBpbGVyLmNtYWtlLAoJICBQbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlLCBQbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlLmluOiBFTkg6CgkgIHN0dWZmIHRvIGtlZXAgY29tcGlsZXIgdGVzdHMgZnJvbSByZS1ydW5uaW5nIGFsbCB0aGUgdGltZQoKMjAwNS0wMS0yMCAxMjoyOCAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUxvY2FsS2RldmVsb3BHZW5lcmF0b3IuY3h4OgoJICBFTkg6IGFkZCBzb21lIGNvbW1lbnRzIG9uIGhvdyB0aGlzIGNvdWxkIGJlIG1vdmVkIHRvIGdsb2JhbAoJICBnZW5lcmF0b3IKCjIwMDUtMDEtMjAgMDQ6MzggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMS0xOSAxMjowNiAga2luZwoKCSogU291cmNlLzogY21MaXN0RmlsZUxleGVyLmluLmwsIGNtTGlzdEZpbGVMZXhlci5jOiBFTkg6IE1hbmdsZWQKCSAgbGV4ZXIgc3ltYm9scyB0byBiZWdpbiBpbiBjbUxpc3RGaWxlTGV4ZXJfeXkgaW5zdGVhZCBvZiBqdXN0IHl5CgkgIHRvIGF2b2lkIGNvbmZsaWN0IHdpdGggb3RoZXIgbGV4ZXJzIHRoYXQgbWF5IGJlIGFkZGVkLgoKMjAwNS0wMS0xOSAwNzoyMyAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5oOiBFTkg6IFJlbW92ZWQgdW5xdW90ZWQgdmVyc2lvbiBvZgoJICBPQkpFQ1RTIG1ha2UgdmFyaWFibGUuICBRdW90ZWQgc2VlbXMgdG8gd29yayBldmVyeXdoZXJlLiAgQlVHOgoJICBGaXhlZCBBcHBlbmRBbnlEZXBlbmQgdG8gcHJvcGVybHkgaWRlbnRpZnkgZXhlY3V0YWJsZSB0YXJnZXRzLgoJICBCVUc6IFVzZWQgQ3JlYXRlTWFrZVZhcmlhYmxlIHRvIGZpeCB2YXJpYWJsZSBuYW1lIGZvciBPQkpFQ1RTCgkgIGxpc3Qgd2hlbiB0YXJnZXQgaGFzIGEgLiBpbiBpdHMgbmFtZS4KCjIwMDUtMDEtMTkgMDU6MTkgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMS0xOCAxODoxMSAgYW5keQoKCSogVGVzdHMvOiBDb21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dDogQ09NUDogQWRkIHByb3BlcgoJICBsaW5rIGRpcmVjdG9yeQoKMjAwNS0wMS0xOCAxNzoyOSAgYW5keQoKCSogVGVzdHMvOiBDb21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dDogQ09NUDogQWRkIGNtZXhwYXQKCSAgdG8gY29tcGxleAoKMjAwNS0wMS0xOCAxNzowOSAga2luZwoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIGNtRGVwZW5kcy5jeHgsIGNtRGVwZW5kcy5oLAoJICBjbURlcGVuZHNDLmN4eCwgY21EZXBlbmRzQy5oLCBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmgsIGNtYWtlLmN4eDogRU5IOiBTcGxpdCBkZXBlbmRlbmN5CgkgIHNjYW5uaW5nIGFuZCBjaGVja2luZyBpbnRvIHNlcGFyYXRlIGNtRGVwZW5kcyBzdXBlcmNsYXNzIHdpdGgKCSAgbGFuZ3VhZ2Utc3BlY2lmaWMgc3ViY2xhc3NlcyBzdWNoIGFzIGNtRGVwZW5kc0MuCgoyMDA1LTAxLTE4IDE2OjQ3ICBhbmR5CgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IENPTVA6IE9rLCBhY3R1YWxseSBsaW5rIHRvIHRoZSBsaWJyYXJ5Li4uLgoKMjAwNS0wMS0xOCAxNTo1NCAgYW5keQoKCSogU291cmNlL2NtWE1MUGFyc2VyLmN4eCwgVXRpbGl0aWVzL2NtZXhwYXQveG1scGFyc2UuYzogQ09NUDogVHJ5CgkgIHRvIHJlc29sdmUgY29tcGlsZSBlcnJvcnMgYmVjYXVzZSBvZiBtaXNzaW5nIGluY2x1ZGVzIGFuZCB3cm9uZwoJICBpbmNsdWRlIHBhdGgKCjIwMDUtMDEtMTggMTQ6MDIgIGFuZHkKCgkqIFNvdXJjZS9jbVhNTFBhcnNlci5jeHg6IENPTVA6IFVzZSBjbU9TdHJpbmdTdHJlYW0gbm90CgkgIG9zdHJpbmdzdHJlYW0KCjIwMDUtMDEtMTggMTM6NDEgIGFuZHkKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbVhNTFBhcnNlci5jeHgsIGNtWE1MUGFyc2VyLmg6IEVOSDogQWRkCgkgIFhNTCBwYXJzZXIKCjIwMDUtMDEtMTggMTE6MTUgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHg6IFNUWUxFOiBBZGRlZCBUT0RPCgkgIGNvbW1lbnQgZm9yIGFub3RoZXIgbWlzc2luZyBmZWF0dXJlIChleHRlcm5hbCBvYmplY3QgZmlsZXMpLgoKMjAwNS0wMS0xOCAwOTowNiAgYW5keQoKCSogVXRpbGl0aWVzL0RveHlnZW4vZG9jX21ha2VhbGwuc2guaW46IEVOSDogQ2xlYW51cAoKMjAwNS0wMS0xOCAwODo1OCAgYW5keQoKCSogQ01ha2VMaXN0cy50eHQsIGNtYWtlX3VuaW5zdGFsbC5jbWFrZS5pbjogRU5IOiBBZGQgdW5pbnN0YWxsLgoJICBUaGlzIGlzIG5vdCByZWFsbHkgYSBmZWF0dXJlIGJ1dCBtb3JlIG9mIGFuIGV4YW1wbGUgb24gaG93IHRvIGRvCgkgIGl0LgoKMjAwNS0wMS0xOCAwNDoxNyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTAxLTE3IDE2OjI5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEJVRzogd2hlbiBjdGVzdCBpcyBsb29raW5nIGZvciBjbWFrZSBsb29rIGluCgkgIHRoZSBidWlsZCBkaXJlY3RvcnkgYXMgd2VsbCBhcyB3aGVyZSBjdGVzdCBpcyBzbyB0aGF0IHB1cmlmeSB3aWxsCgkgIHdvcmsKCjIwMDUtMDEtMTcgMTU6MjAgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBDTWFrZUNDb21waWxlci5jbWFrZS5pbiwgQ01ha2VDWFhDb21waWxlci5jbWFrZS5pbiwKCSAgUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZTogQlVHOiBmaXggcnVubmluZyBvZiBjbCBpbiB0cnljb21waWxlcwoKMjAwNS0wMS0xNyAxNTowOSAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5oOiBFTkg6IEFkZGluZyBwYXJ0aWFsCgkgIGltcGxlbWVudGF0aW9uIG9mIHByb3ZpZGVzLXJlcXVpcmVzIG1vZGUuCgoyMDA1LTAxLTE3IDE1OjA5ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4OiBCVUc6IEZpeCBmb3IgcmVsYXRpdmUKCSAgcGF0aCBjb252ZXJzaW9uIHdoZW4gcGF0aCBpcyBhIHN1YnNldCBvZiByZWxhdGl2ZSBwYXRoIHJvb3QuCgoyMDA1LTAxLTE3IDE0OjI5ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbVdpbjMyUHJvY2Vzc0V4ZWN1dGlvbi5jeHgsIGNtV2luMzJQcm9jZXNzRXhlY3V0aW9uLmg6CgkgIEJVRzogbWFrZSBzdXJlIGhhbmRsZXMgYXJlIGFsd2F5cyBjbG9zZWQgZXZlbiBpZiBXYWl0IGlzIG5vdAoJICBjYWxsZWQuCgoyMDA1LTAxLTE3IDA0OjQxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDEtMTUgMDQ6NDAgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMS0xMyAxMjozOCAgaG9mZm1hbgoKCSogQ2hhbmdlTG9nLm1hbnVhbDogQlVHOiBmaXggZnJvbSBtYWluIHRyZWUKCjIwMDUtMDEtMTMgMDM6NTggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMS0xMiAxMzo1OCAgbWFydGluawoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4OiBFTkg6IG5vdyBsaW1pdHMgd2FybmluZ3MKCSAgYW5kIGVycm9yIHJlcG9ydCB0byA1MCBlYWNoCgoyMDA1LTAxLTEyIDEzOjUxICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHg6IEVOSDogbm93IGxpbWl0cyB3YXJuaW5ncwoJICBhbmQgZXJyb3IgcmVwb3J0IHRvIDUwIGVhY2gKCjIwMDUtMDEtMTIgMTA6MTEgIG1pbGxlcmp2CgoJKiBTb3VyY2Uva3dzeXMvQmFzZTY0LmM6IEJVRzogZW5jb2RpbmcgMiBieXRlcyBpbnRvIDQgYnl0ZXMgd2FzCgkgIGFjY2Vzc2luZyBhIDNyZCBieXRlIGZyb20gdGhlIHNvdXJjZQoKMjAwNS0wMS0xMiAwNDo0MyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTAxLTExIDA1OjAzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDEtMTAgMDU6MDYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMS0wOCAwNTowOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA1LTAxLTA3IDExOjU2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDEtMDUgMDU6MTMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMS0wNCAxODoyNCAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5oOiBFTkg6IEFkZGVkIGluc3RhbGwgdGFyZ2V0CgkgIGltcGxlbWVudGF0aW9uLiAgQWxzbyBhZGRlZCBtaXNzaW5nIGluY2x1ZGUgb2YgYXNzZXJ0LmguCgoyMDA1LTAxLTA0IDE3OjQxICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmg6IEVOSDogQWRkZWQgcmVsYXRpdmUgcGF0aCBzdXBwb3J0CgkgIChtb3N0bHkgZG9uZSkuICBNYW55IHBhdGhzIGFyZSB3cml0dGVuIHJlbGF0aXZlIGV2ZW4gaWYKCSAgQ01BS0VfVVNFX1JFTEFUSVZFX1BBVEhTIGlzIG5vdCBvbiBqdXN0IHRvIGtlZXAgbWFrZWZpbGVzIHNob3J0LgoKMjAwNS0wMS0wNCAxNjoyNiAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuaDogRU5IOiBNYWRlCgkgIENvbmZpZ3VyZU91dHB1dFBhdGhzIHZpcnR1YWwgdG8gaGVscCBuZXcgZ2VuZXJhdG9yLgoKMjAwNS0wMS0wNCAxNTozOCAgaG9mZm1hbgoKCSogQ2hhbmdlTG9nLm1hbnVhbCwgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWljbC5jbWFrZTogYWRkIGludGVsCgkgIGNvbXBpbGVyIGNvbmZpZyBmaWxlCgoyMDA1LTAxLTA0IDEyOjEyICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cubWFudWFsLCBTb3VyY2UvY21TZXRDb21tYW5kLmN4eDogZml4IGZvciBidWcgMTQ0NQoKMjAwNS0wMS0wNCAxMDo1NSAgYW5keQoKCSogU291cmNlL2t3c3lzLzogU3lzdGVtVG9vbHMuY3h4LCBTeXN0ZW1Ub29scy5oeHguaW46IEVOSDogQWRkIGEKCSAgZGVsYXkgbWV0aG9kCgoyMDA1LTAxLTA0IDA5OjU2ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbEtkZXZlbG9wR2VuZXJhdG9yLmN4eDogQlVHOiBBcHBsaWVkIHBhdGNoIGF0dGFjaGVkCgkgIHRvIGJ1ZyAjMTQ1My4KCjIwMDUtMDEtMDQgMDg6NDIgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVNldENvbW1hbmQuY3h4OiBFTkg6IGZpeGVkIFNFVCBjb21tYW5kIHRvIGFjY2VwdCBjYWNoZQoJICB2YWx1ZXMgd2l0aCBtb3JlIHRoYW4gb25lIHZhbHVlCgoyMDA1LTAxLTA0IDA0OjE3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDUtMDEtMDIgMDU6MDQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNS0wMS0wMSAyMTowMiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA0LTEyLTMxIDA1OjAzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDQtMTItMzAgMDU6MDMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNC0xMi0yOSAwNToyNyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA0LTEyLTI4IDA1OjIzICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDQtMTItMjcgMDU6MjIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNC0xMi0yNiAwNToyNSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA0LTEyLTI1IDA1OjIxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDQtMTItMjQgMDU6MTYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNC0xMi0yMyAwNToyNyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA0LTEyLTIyIDA1OjE2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDQtMTItMjEgMDU6MTQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNC0xMi0yMCAwNTowOSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA0LTEyLTE5IDA1OjE1ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDQtMTItMTggMDU6MTEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNC0xMi0xNyAwNTowNiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA0LTEyLTE2IDIyOjE5ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lU3lzdGVtLmNtYWtlOiBmaXggd3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cwoKMjAwNC0xMi0xNiAyMjoxOCAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZURldGVybWluZVN5c3RlbS5jbWFrZTogZml4IG51bWJlciBvZiBhcmd1bWVudHMKCjIwMDQtMTItMTYgMTc6MjYgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWwsIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVTeXN0ZW0uY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vT3BlbkJTRC5jbWFrZTogRU5IOiBmaXggZm9yIE9wZW5CU0QKCjIwMDQtMTItMTYgMDU6NTIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNC0xMi0xNSAwNTo0NiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA0LTEyLTE0IDA1OjA4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDQtMTItMTMgMDU6MDMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNC0xMi0xMiAwNTowOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA0LTEyLTExIDA1OjEwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDQtMTItMTAgMDU6MTMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNC0xMi0wOSAxNjoxNCAga2luZwoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBCVUc6IEZpeCB0byBhdm9pZCByZWxhdGl2ZSBwYXRoIHdpdGgKCSAgLi5zIGFsbCB0aGUgd2F5IHRvIHRoZSByb290LgoKMjAwNC0xMi0wOSAxNTo1NiAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmN4eDogQlVHOiBTdXBwb3J0IGZvciBjdXN0b20KCSAgY29tbWFuZCBvdXRwdXRzIGluIHN1YmRpcmVjdG9yaWVzIG9mIGN1cnJlbnQgYnVpbGQgdHJlZSBsb2NhdGlvbi4KCjIwMDQtMTItMDkgMTU6MjMgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHg6IEJVRzogQXBwZW5kQW55RGVwZW5kCgkgIG11c3QgaGFuZGxlIG5vbi1leGlzdGluZyBmaWxlcy4KCjIwMDQtMTItMDkgMTU6MTEgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuaDogRU5IOiBBZGRlZCBwb3N0LWJ1aWxkIHJ1bGVzIHRvCgkgIGV4ZWN1dGFibGVzIGFuZCBsaWJyYXJpZXMuICBHZW5lcmFsaXplZCBBcHBlbmRMaWJEZXBlbmQgbWV0aG9kIHRvCgkgIEFwcGVuZEFueURlcGVuZC4gIFRoaXMgdGFrZXMgbW9zdCBvZiB0aGUgZnVuY3Rpb25hbGl0eSBvZgoJICBBcHBlbmRDdXN0b21EZXBlbmQgdG9vLCBhbmQgZ2VuZXJhbGl6ZWQganVtcC1hbmQtYnVpbGQgdG8KCSAgZXhlY3V0YWJsZXMuCgoyMDA0LTEyLTA5IDEzOjUyICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmg6IEVOSDogSW1wbGVtZW50ZWQgdXRpbGl0eQoJICB0YXJnZXRzLiAgVGhpcyBpbnZvbHZlZCBwdWxsaW5nIHBhcnQgb2YgdGhlIGN1c3RvbSBjb21tYW5kIHJ1bGUKCSAgaW1wbGVtZW50YXRpb24gb3V0IGludG8gc2hhcmVkIG1ldGhvZHMuCgoyMDA0LTEyLTA5IDA1OjEyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDQtMTItMDggMDU6MDUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNC0xMi0wNyAwNToxOSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA0LTEyLTA2IDEyOjM5ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtLzogVHJ1NjQuY21ha2UsIFRydWU2NC5jbWFrZTogRklYOiBmaXggZm9yIGJ1ZwoJICAxMzI1LCBUcnU2NCBub3QgVHJ1ZTY0CgoyMDA0LTEyLTA2IDEyOjM4ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeCBmb3IgYnVnIDEzOTYsIG9iamVjdAoJICBmaWxlcyBjb3VsZCBub3QgYmUgdXNlZCBhcyBzb3VyY2VzIGFueSBtb3JlCgoyMDA0LTEyLTA2IDExOjEwICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cubWFudWFsLCBTb3VyY2UvY21DVGVzdC5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN1Ym1pdC5jeHgsIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3VibWl0LmgsCgkgIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IG1lcmdlIGZyb20gbWFpbiB0cmVlCgoyMDA0LTEyLTA2IDA1OjAwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDQtMTItMDUgMDQ6MjIgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNC0xMi0wNCAwNDozNiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA0LTEyLTAzIDA5OjI1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogbWlub3IgZml4IGZvciB3aW5kb3dzCgoyMDA0LTEyLTAzIDA5OjA1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEVOSDogZml4IGZvciByZWxhdGl2ZSBwYXRocwoKMjAwNC0xMi0wMyAwNjoyNyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA0LTEyLTAyIDEzOjE0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEJVRzogZml4IGZvciAxMzY5IGJlZm9yZSBpbmNsdWRlCgkgIGRpcmVjdG9yaWVzIG5lZWQgdG8gYmUgYWx3YXlzIGFkZGVkCgoyMDA0LTEyLTAyIDEyOjMzICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBCVUc6IGZpeCBmb3IgYnVnIDEzODUsIC90bXAgc2hvdWxkCgkgIG5vdCBiZSB1c2VkIG9uIHdpbmRvd3MKCjIwMDQtMTItMDIgMDY6MTMgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNC0xMi0wMSAwNzoyOCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzX2lvc19zc3RyZWFtLmguaW46IENPTVA6IE5lZWQgdG8gY2hvb3NlIGJldHdlZW4KCSAgPG5ldz4gYW5kIDxuZXcuaD4gYmFzZWQgb24gd2hldGhlciBzdGFuZGFyZCBoZWFkZXJzIGFyZQoJICBhdmFpbGFibGUuCgoyMDA0LTEyLTAxIDA3OjI0ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBrd3N5c19pb3NfZnN0cmVhbS5oLmluLCBrd3N5c19pb3NfaW9zdHJlYW0uaC5pbjoKCSAgQ09NUDogRGlzYWJsaW5nIG9sZCBzdHJlYW1zIHdhcm5pbmdzIHdoZW4gaW5jbHVkaW5nIG9sZCBoZWFkZXJzCgkgIG9uIE1TVkMuCgoyMDA0LTEyLTAxIDA2OjI1ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDQtMTEtMzAgMTg6MjAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c19pb3Nfc3N0cmVhbS5oLmluOiBCVUc6IE5lZWQgdG8gaW5jbHVkZSBoZWFkZXIKCSAgPG5ldz4gdG8gdXNlIHBsYWNlbWVudCBuZXcgc3ludGF4LiAgUmVhbGx5IHRoaXMgc2hvdWxkIGJlIGZpeGVkCgkgIGJ5IHJlcGxhY2luZyB0aGUgc3RyZWFtIGJ1ZmZlciB0byBzZXQgYSBuZXcgc3RyaW5nIGluc3RlYWQgb2YKCSAgcmVjb25zdHJ1Y3RpbmcgdGhlIG9iamVjdCwgYnV0IHRoaXMgd2lsbCByZXF1aXJlIHF1aXRlIGEgYml0IG9mCgkgIHdvcmsgdG8gZG8gcG9ydGFibHkuCgoyMDA0LTExLTMwIDA2OjI5ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDQtMTEtMjkgMDY6MjEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNC0xMS0yOCAwNjoxNiAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA0LTExLTI3IDA2OjI4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDQtMTEtMjYgMDY6MTYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNC0xMS0yNSAwNjoxOSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA0LTExLTI0IDA5OjI1ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0U3VibWl0LmN4eCwgY21DVGVzdFN1Ym1pdC5oOiBFTkg6IEFkZAoJICBzdXBwb3J0IGZvciBwcm94eSBhdXRoZW50aWNhdGlvbiAodGhhbmtzIEplYW4tTWljaGVsKQoKMjAwNC0xMS0yNCAwNTo0NSAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA0LTExLTIzIDE3OjM0ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0FJWC5jbWFrZTogRU5IOiB0cnkgYW5kIGZpeCBhaXggeGxDIHdpdGggZ2NjCgoyMDA0LTExLTIzIDE3OjI4ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0FJWC5jbWFrZTogRU5IOiB0cnkgYW5kIGZpeCBhaXggeGxDIHdpdGggZ2NjCgoyMDA0LTExLTIzIDE0OjA3ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0FJWC5jbWFrZTogRU5IOiB0cnkgdG8gZml4IGFpeCB3aXRoIG5hdGl2ZSBjeHgKCSAgYW5kIGdjYwoKMjAwNC0xMS0yMyAxMDo0OCAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eDogRU5IOiBNYWtlIG1vcmUgdGhpbmdzIFhNTAoJICBzYWZlCgoyMDA0LTExLTIzIDA1OjQ2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDQtMTEtMjIgMDU6NDUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNC0xMS0yMSAwNTo0NCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA0LTExLTIwIDA1OjQ2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDQtMTEtMTkgMDk6NDIgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHg6IEVOSDogTW92ZWQgY3VzdG9tCgkgIGNvbW1hbmQgcnVsZSBmaWxlcyBpbnRvIHNwZWNpYWwgQ01ha2VDdXN0b21Db21tYW5kcy5kaXIKCSAgc3ViZGlyZWN0b3J5LgoKMjAwNC0xMS0xOSAwOTozMiAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5oOiBFTkg6IFVuaWZpZWQgV3JpdGVEZXBlbmRSdWxlcywKCSAgV3JpdGVCdWlsZFJ1bGVzLCBXcml0ZUNsZWFuUnVsZXMsIGFuZCB0aGUgZnV0dXJlCgkgIFdyaXRlSW5zdGFsbFJ1bGVzIGludG8gYSBzaW5nbGUgV3JpdGVQYXNzUnVsZXMgbWV0aG9kLiAgQWxzbwoJICBhZGRlZCBXcml0ZVRhcmdldERlcGVuZHNSdWxlIGFuZCBXcml0ZVRhcmdldENsZWFuUnVsZSBtZXRob2RzIHRvCgkgIHVuaWZ5IHdyaXRpbmcgb2YgZGVwZW5kIGFuZCBjbGVhbiBydWxlcyBmb3IgZWFjaCB0YXJnZXQuCgoyMDA0LTExLTE5IDA1OjQxICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDQtMTEtMTggMDg6MjUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNC0xMS0xNyAwODozMyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA0LTExLTE2IDA4OjE2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDQtMTEtMTUgMDk6MzkgIG1hcnRpbmsKCgkqIFNvdXJjZS9jdGVzdC5jeHg6IENPTVA6IGZpeCB3YXJuaW5nCgoyMDA0LTExLTE1IDA4OjIyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDQtMTEtMTQgMDg6MjEgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNC0xMS0xMyAwOTo1NSAgbWFydGluawoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGN0ZXN0LmN4eCwgQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmg6IEVOSDogYWRkZWQgLVUgb3B0aW9uIHRvIHRha2UgdW5pb24gb2YKCSAgLVIgYW5kIC1JCgoyMDA0LTExLTEzIDA4OjE1ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDQtMTEtMTIgMDU6MzYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNC0xMS0xMSAxNzo0MCAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RCdWlsZEhhbmRsZXIuY3h4OiBFTkg6IEFub3RoZXIgbGlua2VyIGVycm9yCgkgIG9uIHN1bgoKMjAwNC0xMS0xMSAwNTozNCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA0LTExLTEwIDE1OjM5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEZJWDogbWFrZSBzdXJlIHRoZQoJICBvYmplY3QgZmlsZSBuYW1lIGlzIGNvcnJlY3RseSBtYW5nbGVkIGZvciBkZXBlbmQgaW5mb3JtYXRpb24KCjIwMDQtMTEtMTAgMTM6MTUgIG1hcnRpbmsKCgkqIENNYWtlTGlzdHMudHh0LCBDVGVzdEN1c3RvbS5jdGVzdC5pbjogRU5IOiBhZGRlZCBjdXN0b20gc3VwcCBmb3IKCSAgY21ha2UKCjIwMDQtMTEtMTAgMTA6MjQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNC0xMS0wOSAwOTo1NyAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA0LTExLTA4IDA1OjQ2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDQtMTEtMDcgMDU6NDUgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNC0xMS0wNiAwNTo0MCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA0LTExLTA1IDE1OjA5ICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmg6IEVOSDogQWRkZWQgcGFydGlhbCBjbGVhbiB0YXJnZXQKCSAgc3VwcG9ydC4KCjIwMDQtMTEtMDUgMTU6MDMgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmg6IEVOSDogTW92ZWQgY29kZSB0aGF0IGNoZWNrcwoJICBvdXRwdXQgcGF0aCB2YXJpYWJsZXMgdG8gc2VwYXJhdGUgQ29uZmlndXJlT3V0cHV0UGF0aHMgbWV0aG9kLgoJICBOZWVkZWQgdG8gcHJvdmlkZSBhY2Nlc3MgdG8gdGhlIHNhbWUgY29kZSBmcm9tIGEgc3ViY2xhc3MuCgoyMDA0LTExLTA1IDA3OjM5ICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmg6IEVOSDogSW1wbGVtZW50ZWQgVkVSQk9TRSBvdXRwdXQKCSAgc2V0dGluZy4KCjIwMDQtMTEtMDUgMDU6MzggIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNC0xMS0wNCAwNTozOCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA0LTExLTAzIDE1OjQzICBtYXJ0aW5rCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFTkg6IG1lcmdlcyBmcm9tIHRoZSBtYWluIHRyZWUKCjIwMDQtMTEtMDMgMTE6MDIgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuaDogRU5IOiBHZW5lcmFsaXplZCBkcml2ZXIgdGFyZ2V0cwoJICBhbmQgc3ViZGlyZWN0b3J5IHRyYXZlcnNhbCBydWxlcy4gIFRoZSBpbXBsZW1lbnRhdGlvbnMgb2YgYWxsLAoJICBkZXBlbmQsIGJ1aWxkLCBjbGVhbiwgaW5zdGFsbCwgZXRjLiBub3cgZm9sbG93IGEgY29tbW9uCgkgIGZyYW1ld29yay4KCjIwMDQtMTEtMDMgMDg6NTkgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuaDogRU5IOiBSZW1vdmVkIHVubmVlZGVkIHJlcXVpcmVzCgkgIHJ1bGVzIG5vdyB0aGF0IGNhbm9uaWNhbCBuYW1lcyBhcmUgYXZhaWxhYmxlLgoKMjAwNC0xMS0wMyAwODo0NiAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5oOiBFTkg6IEFkZGVkIGNvbnZlbmllbmNlIHJ1bGVzIHRvCgkgIGJ1aWxkIHRhcmdldHMgd2l0aG91dCBzcGVjaWZ5aW5nIGZ1bGwgcGF0aHMuCgoyMDA0LTExLTAzIDA3OjUxICBraW5nCgoJKiBTb3VyY2UvOiBjbUV4cG9ydExpYnJhcnlEZXBlbmRlbmNpZXMuY3h4LAoJICBjbUdlbmVyYXRlZEZpbGVTdHJlYW0uY3h4LCBjbUdlbmVyYXRlZEZpbGVTdHJlYW0uaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxLZGV2ZWxvcEdlbmVyYXRvci5jeHgsIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHgsCgkgIGNtVlRLTWFrZUluc3RhbnRpYXRvckNvbW1hbmQuY3h4OiBTVFlMRTogQWRqdXN0ZWQgc2lnbmF0dXJlIG9mCgkgIGNtR2VuZXJhdGVkRmlsZVN0cmVhbSB0byBtYWtlIGNvcHktaWYtZGlmZmVyZW50IG1vcmUgZXhwbGljaXR5LgoKMjAwNC0xMS0wMyAwNzoyNyAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21HZW5lcmF0ZWRGaWxlU3RyZWFtLmN4eCwgY21HZW5lcmF0ZWRGaWxlU3RyZWFtLmg6IENPTVA6IEZpeCBuZXcKCSAgY21HZW5lcmF0ZWRGaWxlU3RyZWFtIGZvciBNU1ZDLgoKMjAwNC0xMS0wMyAwNzoyMyAga2luZwoKCSogYm9vdHN0cmFwLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9jbUV4cG9ydExpYnJhcnlEZXBlbmRlbmNpZXMuY3h4LAoJICBTb3VyY2UvY21HZW5lcmF0ZWRGaWxlU3RyZWFtLmN4eCwgU291cmNlL2NtR2VuZXJhdGVkRmlsZVN0cmVhbS5oLAoJICBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbUxvY2FsS2RldmVsb3BHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHgsCgkgIFNvdXJjZS9jbVZUS01ha2VJbnN0YW50aWF0b3JDb21tYW5kLmN4eDogRU5IOiBSZS1pbXBsZW1lbnRlZAoJICBjbUdlbmVyYXRlZEZpbGVTdHJlYW0gdG8gbG9vayBsaWtlIGEgcmVhbCBzdHJlYW0gYW5kIHJlcGxhY2UgdGhlCgkgIGRlc3RpbmF0aW9uIGZpbGUgYXRvbWljYWxseS4JVGhpcyB3aWxsIGF2b2lkIHByb2JsZW1zIHdpdGggdGhlCgkgIHByb2Nlc3MgYmVpbmcgdGVybWluYXRlZCB3aGlsZSBnZW5lcmF0aW5nIGEgZmlsZS4KCjIwMDQtMTEtMDMgMDU6MzQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNC0xMS0wMiAxODowOSAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmN4eDogRU5IOiBBZGRlZCBwYXJ0aWFsIFJDCgkgIGxhbmd1YWdlIGRlcGVuZGVuY3kgc2Nhbm5pbmcgKGp1c3QgdXNpbmcgQyBkZXBlbmRlbmNpZXMgZm9yIG5vdykuCgoyMDA0LTExLTAyIDE3OjM4ICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmg6IEVOSDogQWRkZWQgZGVwZW5kZW5jaWVzIGJldHdlZW4KCSAgbGlicmFyaWVzLgoKMjAwNC0xMS0wMiAxNzoxOSAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmN4eDogQlVHOiBSZW1vdmVkIGRlYnVnZ2luZwoJICBvdXRwdXQuCgoyMDA0LTExLTAyIDE3OjE0ICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmg6IEVOSDogSW1wbGVtZW50ZWQgZ2VuZXJhdGlvbiBvZgoJICBjdXN0b20gY29tbWFuZCBydWxlIGZpbGVzLgoKMjAwNC0xMS0wMiAxNzoxMSAgYW5keQoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQ09NUDogUmVtb3ZlIGNvbXBpbGUgd2FybmluZwoKMjAwNC0xMS0wMiAwODozMiAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5oOiBCVUc6IEZpeGVkIHN1YmRpcmVjdG9yeQoJICBpbXBsZW1lbnRhdGlvbiBmb3IgQm9ybGFuZCBNYWtlLgoKMjAwNC0xMS0wMiAwNzozNiAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5oOiBFTkg6IEltcGxlbWVudGVkIHN1YmRpcmVjdG9yeQoJICBydWxlcyBmb3IgYWxsIHRhcmdldC4KCjIwMDQtMTEtMDIgMDQ6NDkgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNC0xMS0wMSAxNjo1NyAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eCwgVGVzdHMvRGVwZW5kZW5jeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRGVwZW5kZW5jeS8xL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9EZXBlbmRlbmN5LzEvT25lU3JjLmM6CgkgIEJVRzogYWRkIGEgdGVzdCBmb3IgYSBzaW5nbGUgY2hhciBkaXIsIGFuZCBmaXggYnVnIGludHJvZHVjZWQgaW4KCSAgMS41MywgYnV0IHdlIHN0aWxsIGNhbiBub3QgaGFuZGxlIGEgc3BhY2UgYXMgdGhlIHN0YXJ0IG9mIGEKCSAgZGlyZWN0b3J5IG5hbWUKCjIwMDQtMTEtMDEgMDQ6MzQgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNC0xMC0zMSAwMzo0MCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA0LTEwLTMwIDA0OjMyICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDQtMTAtMjkgMTg6MTUgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuaDogRU5IOiBBZGRlZCBmcmFtZXdvcmsgZm9yCgkgIHN1YmRpcmVjdG9yeSB0cmF2ZXJzYWwuCgoyMDA0LTEwLTI5IDE3OjE4ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4OiBCVUc6IERlcGVuZGVuY3kKCSAgbWFrZWZpbGUgbGluZXMgbXVzdCBiZSBhdCBsZWFzdCB0aHJlZSBjaGFyYWN0ZXJzIGxvbmcgdG8gaG9sZCBhCgkgIGRlcGVuZGVuY3kuCgoyMDA0LTEwLTI5IDE2OjUwICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmgsIGNtYWtlLmN4eCwgY21ha2UuaDogRU5IOiBBZGRlZAoJICBidWlsZCBzeXN0ZW0gaW50ZWdyaXR5IGNoZWNrIHRvIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLgoJICBUaGlzIG5vdyB1c2VzIGEgc3BlY2lhbCAtLWNoZWNrLWJ1aWxkLXN5c3RlbSBmbGFnIHRvIGNtYWtlIHdoaWNoCgkgIHJlcGxhY2VzIC0tY2hlY2stcmVydW4uICBJbnRlZ3JpdHkgb2YgZGVwZW5kZW5jaWVzIGlzIGFsc28KCSAgY2hlY2tlZCBkdXJpbmcgZ2VuZXJhdGlvbi4KCjIwMDQtMTAtMjkgMTU6MzIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogRklYOiBmaXggc2hhcmVkIGZsYWcKCjIwMDQtMTAtMjkgMTU6MzEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiByZW1vdmUgZGVidWcgcHJpbnQKCjIwMDQtMTAtMjkgMTQ6NTcgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHg6IEJVRzogRml4ZXMgZm9yIEJvcmxhbmQKCSAgTWFrZS4KCjIwMDQtMTAtMjkgMTM6NTUgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHg6IEJVRzogRml4ZXMgZm9yIE5NYWtlLgoKMjAwNC0xMC0yOSAxMzowNCAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5oOiBFTkg6IENoYW5nZWQgQXBwZW5kUmVjdXJzaXZlTWFrZQoJICB0byBHZXRSZWN1cnNpdmVNYWtlQ2FsbCBhbmQgaW1wbGVtZW50ZWQganVtcC1hbmQtYnVpbGQgb24gV2luZG93cwoJICBhbmQgVU5JWC4KCjIwMDQtMTAtMjkgMTE6NDIgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLAoJICBNb2R1bGVzL1Rlc3RDWFhBY2NlcHRzRmxhZy5jbWFrZSwgU291cmNlL2NtQ1Rlc3QuY3h4LAoJICBTb3VyY2UvY21DYWNoZU1hbmFnZXIuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwgU291cmNlL2NtU3lzdGVtVG9vbHMuaCwKCSAgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eCwgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmh4eC5pbiwKCSAgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL0EuY3h4LAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL0EuY3h4LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9BLmN4eCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvTG9hZENvbW1hbmQvTG9hZGVkQ29tbWFuZC5jeHgsCgkgIFRlc3RzL0xvYWRDb21tYW5kT25lQ29uZmlnL0xvYWRlZENvbW1hbmQuY3h4LAoJICBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoOiBtb3ZlIDIuMC41IHRvIExhdGVzdFJlbGVhc2UKCjIwMDQtMTAtMjkgMTA6NTIgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuaDogRU5IOiBDbGVhbmVkIHVwIGZvcm1hdCBvZgoJICBnZW5lcmF0ZWQgbWFrZWZpbGVzLglDb25zb2xpZGF0ZWQgcnVsZSBnZW5lcmF0aW9uIGludG8gc2luZ2xlCgkgIFdyaXRlTWFrZVJ1bGUgbWV0aG9kLiAgQWRkZWQgc3BlY2lhbCB0YXJnZXRzIGxpa2UgcmVidWlsZF9jYWNoZQoJICBhbmQgZWRpdF9jYWNoZS4KCjIwMDQtMTAtMjkgMDQ6MzYgIGFuZHkKCgkqIFNvdXJjZS9jbVZlcnNpb24uY3h4OiBTVFlMRTogTmlnaHRseSBWZXJzaW9uIHVwZGF0ZQoKMjAwNC0xMC0yOCAxNTo0MCAgaG9mZm1hbgoKCSogU291cmNlL2NtSW5jbHVkZURpcmVjdG9yeUNvbW1hbmQuY3h4OiBFTkg6IGFkZCBhIGNoZWNrIGZvciBlbXB0eQoJICBpbmNsdWRlIGRpcmVjdG9yaWVzCgoyMDA0LTEwLTI4IDE1OjMxICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogQ3JlYXRlCgkgIENNYWtlMi4wLjUgdmVyc2lvbgoKMjAwNC0xMC0yOCAwNzo0NiAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmN4eDogQ09NUDogRml4IGxvY2FsIHNoYWRvdwoJICB3YXJuaW5ncy4KCjIwMDQtMTAtMjggMDc6NDMgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHg6IENPTVA6IEZpeCBmb3IgTWFjCgkgIHNwZWNpZmljIGNvZGUuCgoyMDA0LTEwLTI4IDA0OjM2ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDQtMTAtMjcgMTY6MDAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogRU5IOiBsb29rIGluIHRoZSB3aW5kb3dzIExJQiBlbnYgdmFyaWFibGUKCSAgZm9yIGxpYnJhcmllcwoKMjAwNC0xMC0yNyAxNjowMCAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsS2RldmVsb3BHZW5lcmF0b3IuY3h4OiBET0M6IGRvY3VtZW50YXRpb24gY2hhbmdlCgoyMDA0LTEwLTI3IDE1OjU4ICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cubWFudWFsLCBNb2R1bGVzL1Rlc3RDWFhBY2NlcHRzRmxhZy5jbWFrZSwKCSAgU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IG1lcmdlIGZyb20gbWFpbgoJICB0cmVlIGJ1ZyBmaXhlcwoKMjAwNC0xMC0yNyAxMjowNSAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5oOiBFTkg6IERvIG5vdCB0cnkgdG8gaGFuZGxlCgkgIHVuaW1wbGVtZW50ZWQgdGFyZ2V0IHR5cGVzIHlldC4gIEZpeGVzIGZvciBwcm9qZWN0cyB3aXRoCgkgIHN1YmRpcmVjdG9yaWVzLgoKMjAwNC0xMC0yNyAxMToyNiAgYW5keQoKCSogU291cmNlL2NtYWtlbWFpbi5jeHg6IEJVRzogSWYgYm9vdHN0cmFwIGNtYWtlIGlzIHJ1biB3aXRoIG5vCgkgIGFyZ3VtZW50IHByb2R1Y2UgZXJyb3IKCjIwMDQtMTAtMjcgMTA6NTMgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEVOSDogcHV0IGVycm9yIGNoZWNraW5nIGZvcgoJICBtaXNzaW5nIGxpbmtlciBsYW5ndWFnZXMKCjIwMDQtMTAtMjcgMTA6NDcgIGFuZHkKCgkqIGJvb3RzdHJhcCwgU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21GaW5kUGFja2FnZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmgsIFNvdXJjZS9jbWFrZS5jeHgsIFNvdXJjZS9jbWFrZS5oLAoJICBTb3VyY2UvY21ha2VtYWluLmN4eDogUEVSRjogUmVtb3ZlIHNldmVyYWwgY2xhc3NlcyBmcm9tIHRoZQoJICBib290c3RyYXAgYW5kIHNvIG1ha2luZyBib290c3RyYXAgc21hbGxlciBhbmQgZmFzdGVyCgoyMDA0LTEwLTI3IDEwOjQ1ICBhbmR5CgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NjbWFrZS5jeHg6IFNUWUxFOiBSZW1vdmUgdW51c2VkIGNvZGUKCjIwMDQtMTAtMjcgMTA6NDUgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuaDogRU5IOiBBZGRlZCBleGVjdXRhYmxlCgkgIGRlcGVuZGVuY2llcyBvbiBsaWJyYXJpZXMgaW5jbHVkaW5nIGp1bXAtYW5kLWJ1aWxkIHN1cHBvcnQuCgoyMDA0LTEwLTI3IDEwOjQ1ICBhbmR5CgoJKiBNb2R1bGVzL1Rlc3RDWFhBY2NlcHRzRmxhZy5jbWFrZTogQlVHOiBDaGVjayBmb3IgdGhlIHZhcmlhYmxlCgkgIGZpcnN0IHRpbWUKCjIwMDQtMTAtMjcgMDg6NDkgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBBZGQgYSBzcGFjZSBiZWZvcmUKCSAgdGhlIDogb25seSBpZiB0aGUgdGFyZ2V0IG5hbWUgaXMgb25lIGxldHRlciBsb25nLiAgVGhpcyB3b3JrcwoJICBhcm91bmQgYnVncyBpbiBzb21lIHNoZWxscycgdGFiIGNvbXBsZXRpb24gb2YgdGFyZ2V0IG5hbWVzLgoKMjAwNC0xMC0yNyAwODo0NyAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5oOiBFTkg6IEFkZGVkIGdlbmVyYXRpb24gb2YgcnVsZXMKCSAgZm9yIHNoYXJlZCBsaWJyYXJpZXMgYW5kIG1vZHVsZXMuCgoyMDA0LTEwLTI3IDA4OjIwICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmg6IEVOSDogQWRkZWQgcnVsZXMgdG8gYnVpbGQKCSAgZXhlY3V0YWJsZXMuCUFsc28gYmVnYW4gdG8gY29uc29saWRhdGUgZmxhZyBsaXN0IGNvbnN0cnVjdGlvbgoJICBpbnRvIHNlcGFyYXRlIG1ldGhvZHMuCgoyMDA0LTEwLTI3IDA0OjM3ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDQtMTAtMjYgMjA6MTMgIGFuZHkKCgkqIFNvdXJjZS9jbUNhY2hlTWFuYWdlci5jeHg6IEJVRzogSGFuZGxlIERPUyBmaWxlcyB1biB1bml4IGZpbGUKCSAgc3lzdGVtcwoKMjAwNC0xMC0yNiAxNzoyMyAgYW5keQoKCSogTW9kdWxlcy9UZXN0Q1hYQWNjZXB0c0ZsYWcuY21ha2U6IEJVRzogT25seSB0ZXN0IGZvciBjeHggZmxhZ3MKCSAgdGhlIGZpcnN0IHRpbWUgYXJvdW5kCgoyMDA0LTEwLTI2IDE2OjA3ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4OiBFTkg6IERvIG5vdCBnZW5lcmF0ZQoJICB0b3VjaCBydWxlIGZvciB0YXJnZXQgbGV2ZWwgZGVwZW5kZW5jaWVzLiAgVGhlcmUgYXJlIG5vCgkgIGJ1aWxkLXRpbWUgZGVwZW5kZW5jaWVzIGJ5IGRlZmF1bHQuCgoyMDA0LTEwLTI2IDE1OjAzICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oLAoJICBrd3N5cy9TeXN0ZW1Ub29scy5jeHgsIGt3c3lzL1N5c3RlbVRvb2xzLmh4eC5pbjogRU5IOiBtb3ZlIHN0dWZmCgkgIGZyb20gbWFpbiB0cmVlIHRvIGJyYW5jaAoKMjAwNC0xMC0yNiAxNDo0OSAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5oOiBFTkg6IEFkZGVkIGdlbmVyYXRpb24gb2YgcnVsZSB0bwoJICBidWlsZCBvYmplY3QgZmlsZS4KCjIwMDQtMTAtMjYgMTQ6MzMgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEVOSDogaGFuZGxlIHJlYWQgb25seSBkaXJlY3RvcmllcwoJICB3aXRoIGNvbmZpZ3VyZSBmaWxlIGRlc3RpbmF0aW9uCgoyMDA0LTEwLTI2IDE0OjEyICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cubWFudWFsLCBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogbWVyZ2UgZnJvbSBtYWluIHRyZWUKCjIwMDQtMTAtMjYgMTM6MDAgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHg6IEVSUjogTWlzc2luZyBzdGQ6OiBvbgoJICBlbmRsLgoKMjAwNC0xMC0yNiAxMjo1NSAga2luZwoKCSogU291cmNlL2NtYWtlLmN4eDogRU5IOiBBZGRlZCBvYmplY3QgZmlsZSBkZXBlbmRlbmN5IHNjYW5uaW5nIHRvCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLiAgVGhpcyBuZWVkcyBhIGhvb2sgaW4gY21ha2UuY3h4LgoKMjAwNC0xMC0yNiAxMjo1NCAga2luZwoKCSogYm9vdHN0cmFwLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkZWQKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIgdG8gYnVpbGQuCgoyMDA0LTEwLTI2IDEyOjUzICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmg6IEVOSDogQWRkZWQgb2JqZWN0IGZpbGUKCSAgZGVwZW5kZW5jeSBzY2FubmluZy4KCjIwMDQtMTAtMjYgMTA6MjQgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0QnVpbGRIYW5kbGVyLmN4eDogRU5IOiBIYW5kbGUgbW9yZSBSRU1BUktTIG9uCgkgIFNHSQoKMjAwNC0xMC0yNiAxMDoxNSAga2luZwoKCSogU291cmNlLzogY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtTG9jYWxHZW5lcmF0b3IuaDogRU5IOiBTcGxpdAoJICBwYXJ0IG9mIEdldEluY2x1ZGVGbGFncyBtZXRob2QgaW50byBzZXBhcmF0ZQoJICBHZXRJbmNsdWRlRGlyZWN0b3JpZXMgbWV0aG9kLgoKMjAwNC0xMC0yNiAwODo0NSAgYW5keQoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmh4eC5pbjogQ09NUDogQXR0ZW1wdCB0byBmaXggd2FybmluZ3Mgb24KCSAgU0dJCgoyMDA0LTEwLTI2IDA0OjQwICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDQtMTAtMjUgMTY6MzkgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTG9jYWxLZGV2ZWxvcEdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxLZGV2ZWxvcEdlbmVyYXRvci5oOiBFTkg6IGFkZCBzb21lIG1vcmUgY29tbWVudHMKCjIwMDQtMTAtMjUgMTU6MDggIGhvZmZtYW4KCgkqIFRlc3RzLzogTG9hZENvbW1hbmQvQ01ha2VMaXN0cy50eHQsCgkgIExvYWRDb21tYW5kL0xvYWRlZENvbW1hbmQuY3h4LCBMb2FkQ29tbWFuZC9Mb2FkZWRDb21tYW5kLmguaW4sCgkgIExvYWRDb21tYW5kT25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBMb2FkQ29tbWFuZE9uZUNvbmZpZy9Mb2FkZWRDb21tYW5kLmN4eCwKCSAgTG9hZENvbW1hbmRPbmVDb25maWcvTG9hZGVkQ29tbWFuZC5oLmluOiBFTkg6IGNsZWFuIHVwIGxvYWRlZAoJICBjb21tYW5kIHRlc3Qgc28geW91IGNhbiB0ZWxsIHdoYXQgcmVhbGx5IGZhaWxlZAoKMjAwNC0xMC0yNSAxMzo0MCAgaG9mZm1hbgoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBDT01QOiByZW1vdmUgYW4gdW51c2VkIHZhcmlhYmxlIHdhcm5pbmcKCjIwMDQtMTAtMjUgMTM6MjQgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWwsIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwKCSAgU291cmNlL2NtU3lzdGVtVG9vbHMuaCwgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0xvYWRDb21tYW5kL0xvYWRlZENvbW1hbmQuY3h4LAoJICBUZXN0cy9Mb2FkQ29tbWFuZE9uZUNvbmZpZy9Mb2FkZWRDb21tYW5kLmN4eDogRU5IOiBtb3ZlIHN0dWZmCgkgIGZyb20gbWFpbiB0cmVlIHRvIGZpeCB0aGUgcnVuc2luZ2xlIHByb2dyYW0gbWVzcwoKMjAwNC0xMC0yNSAxMzoxNiAgaG9mZm1hbgoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4LCBTb3VyY2UvY21TeXN0ZW1Ub29scy5oLAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogRklYOiBnbyBiYWNrCgkgIHRvIG5vdCB0cnlpbmcgdG8gaGFuZGxlIHNwYWNlcyBpbiB0aGUgcGF0aCBmb3IgcnVuIHNpbmdsZSBjb21tYW5kCgkgIGFuZCBjb21tZW50IGl0IHNvIHRoYXQgcGVvcGxlIGtub3cgdG8gY2FsbCB0aGUgcmlnaHQgdGhpbmcKCjIwMDQtMTAtMjUgMTI6MjYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsS2RldmVsb3BHZW5lcmF0b3IuY3h4OiBDT01QOiByZW1vdmUgd2FybmluZ3MKCjIwMDQtMTAtMjUgMTI6MTUgIGhvZmZtYW4KCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHg6IEVOSDogYWRkIHRlc3QgYmFjawoJICBmb3Igc2luZ2xlIGNoYXIgZXhlCgoyMDA0LTEwLTI1IDExOjU5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHgsIFRlc3RzL0xvYWRDb21tYW5kL0xvYWRlZENvbW1hbmQuY3h4LAoJICBUZXN0cy9Mb2FkQ29tbWFuZE9uZUNvbmZpZy9Mb2FkZWRDb21tYW5kLmN4eDogRklYOiBmaXgKCSAgUnVuU2luZ2xlQ29tbWFuZCB0byB3b3JrIHdpdGggc3BhY2VzIGluIHRoZSBwYXRoLCBhbmQgd2l0aCBhbgoJICBhbHJlYWR5IHF1b3RlZCBjb21tYW5kCgoyMDA0LTEwLTI1IDEwOjA0ICBhbmR5CgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWxsb3cgZGlzYWJsaW5nIG9mIGxvbmcgcnVubmluZyB0ZXN0cwoKMjAwNC0xMC0yNSAwNDozNCAgYW5keQoKCSogU291cmNlL2NtVmVyc2lvbi5jeHg6IFNUWUxFOiBOaWdodGx5IFZlcnNpb24gdXBkYXRlCgoyMDA0LTEwLTI0IDExOjM4ICBhbmR5CgoJKiBTb3VyY2UvY21WZXJzaW9uLmN4eDogU1RZTEU6IE5pZ2h0bHkgVmVyc2lvbiB1cGRhdGUKCjIwMDQtMTAtMjIgMjE6NTIgIGhvZmZtYW4KCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHg6IHJlbW92ZSBydW4gcHJvZ3JhbQoJICB0ZXN0IHVudGlsIHJ1biBzaW5nbGUgY29tbWFuZCBpcyBmaXhlZAoKMjAwNC0xMC0yMiAyMTowMyAgaG9mZm1hbgoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiB1bmRvIGxhc3QgY2hlY2sgaW4gYXMgaXQgYnJlYWtzIGJvcmxhbmQKCSAgd2l0aCBzcGFjZXMgc29tZSBob3cKCjIwMDQtMTAtMjIgMTc6NTEgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWwsIFNvdXJjZS9jbUNUZXN0LmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHgsIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHgsCgkgIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9BLmN4eCwKCSAgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9BLmN4eCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQS5jeHgsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHg6IGZpeGVzIGZyb20KCSAgbWFpbiB0cmVlCgoyMDA0LTEwLTIyIDE3OjA1ICBob2ZmbWFuCgoJKiBUZXN0cy86IENvbXBsZXgvRXhlY3V0YWJsZS9BLmN4eCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL0EuY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL0EuY3h4OiBFTkg6IGFkZCBtaXNzaW5nIGZpbGUKCjIwMDQtMTAtMjIgMTc6MDAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4LAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHg6IEZJWDogZml4IHRoZQoJICBwcm9ibGVtIHdoZXJlIGEgdGFyZ2V0IGlzIGEgc2luZ2xlIGNoYXJhY3RlciBhbmQgbm1ha2UgZ2V0cwoJICBjb25mdXNlZCBhbmQgYWRkIGEgdGVzdCBmb3IgaXQKCjIwMDQtMTAtMjIgMTY6NTggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVRhcmdldC5jeHg6IENPTVA6IHJlbW92ZSB3YXJuaW5ncwoKMjAwNC0xMC0yMiAxNTo0NSAgYW5keQoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBDT01QOiBSZW1vdmUgdW5uZWNlc3NhcnkgY29tbWl0CgoyMDA0LTEwLTIyIDE1OjQ0ICBhbmR5CgoJKiBib290c3RyYXAsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgU291cmNlL2NtQ1Rlc3QuY3h4LAoJICBTb3VyY2UvY21Eb2N1bWVudGF0aW9uLmN4eCwgU291cmNlL2NtRHVtcERvY3VtZW50YXRpb24uY3h4LAoJICBTb3VyY2UvY21WZXJzaW9uLmN4eCwgU291cmNlL2NtVmVyc2lvbi5oLCBTb3VyY2UvY21ha2UuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFVwZGF0ZUhhbmRsZXIuY3h4OiBFTkg6IEFkZCBkZXZlbG9wbWVudAoJICB2ZXJzaW9uIHN1cHBvcnQgaW4gQ01ha2UKCjIwMDQtMTAtMjIgMTA6MTkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsS2RldmVsb3BHZW5lcmF0b3IuY3h4OiBDT01QOiByZW1vdmUgd2FybmluZwoKMjAwNC0xMC0yMSAxNzoyOSAgaG9mZm1hbgoKCSogQ2hhbmdlTG9nLm1hbnVhbDogYWRkIC4wLjUKCjIwMDQtMTAtMjEgMTc6MTEgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWw6IGFkZCAuMC41CgoyMDA0LTEwLTIxIDE2OjA3ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eDogQlVHOiBGaXggcmVwb3J0aW5nIG9mIHBhdGgKCSAgYW5kIGZ1bGwgY29tbWFuZCB3aGVuIHRlc3QgcHJvZ3JhbSB3YXMgbm90IGZvdW5kCgoyMDA0LTEwLTIxIDE1OjIxICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21UYXJnZXQuY3h4OiBDT01QOiBmaXggd2FybmluZ3MKCjIwMDQtMTAtMjEgMTQ6NTUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogQ09NUDogZml4IHdhcm5pbmcKCjIwMDQtMTAtMjEgMTQ6MzQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVGb3J0cmFuQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1nNzcuY21ha2UsIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21UYXJnZXQuY3h4LAoJICBTb3VyY2UvY21UYXJnZXQuaDogRU5IOiBhZGQgdGhlIGFiaWxpdHkgdG8gZ2VuZXJhdGUgY3VzdG9tCgkgIGNvbW1hbmRzIGZvciBhIGxhbmd1YWdlIHRoYXQgaXMgbm90IHN1cHBvcnRlZCBieSBhbiBJREUKCjIwMDQtMTAtMjEgMTM6MzQgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0QnVpbGRIYW5kbGVyLmN4eDogQlVHOiBIYW5kbGUgcmVtYXJrcyBvbiBTR0kKCSAgcHJvcGVybHkKCjIwMDQtMTAtMjEgMTE6NTggIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTG9jYWxLZGV2ZWxvcEdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxLZGV2ZWxvcEdlbmVyYXRvci5oOiBFTkg6IGJldHRlciBzdXBwb3J0IGZvciBrZGV2ZWxvcDMKCjIwMDQtMTAtMjAgMTI6MzcgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy9Db21tYW5kTGluZUFyZ3VtZW50cy5jeHg6IENPTVA6IFJlbW92ZSB3YXJuaW5nCgoyMDA0LTEwLTIwIDA4OjE5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IGZpeCB3YXJuaW5nIG9uIExSQgoKMjAwNC0xMC0yMCAwODoxNCAgaG9mZm1hbgoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBDT01QOiByZW1vdmUgd2FybmluZwoKMjAwNC0xMC0xOSAxNTowOSAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIENoYW5nZUxvZy5tYW51YWwsIE1vZHVsZXMvQ01ha2VUZXN0Rm9yRnJlZVZDLmN4eCwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9jbUFkZEV4ZWN1dGFibGVDb21tYW5kLmN4eCwgU291cmNlL2NtQ1Rlc3QuY3h4LAoJICBTb3VyY2UvY21DVGVzdC5oLCBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUZvckVhY2hDb21tYW5kLmN4eCwgU291cmNlL2NtR2xvYi5jeHgsIFNvdXJjZS9jbUdsb2IuaCwKCSAgU291cmNlL2NtR2xvYmFsQ29kZVdhcnJpb3JHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxDb2RlV2FycmlvckdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLAoJICBTb3VyY2UvY21JbmNsdWRlRXh0ZXJuYWxNU1Byb2plY3RDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtTGlzdEZpbGVMZXhlci5jLCBTb3VyY2UvY21MaXN0RmlsZUxleGVyLmgsCgkgIFNvdXJjZS9jbUxpc3RGaWxlTGV4ZXIuaW4ubCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmgsIFNvdXJjZS9jbVRyeVJ1bkNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21XaW4zMlByb2Nlc3NFeGVjdXRpb24uY3h4LAoJICBTb3VyY2UvY21XaW4zMlByb2Nlc3NFeGVjdXRpb24uaCwgU291cmNlL2NtYWtlbWFpbi5jeHgsCgkgIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHgsCgkgIFRlc3RzL1N0cmluZ0ZpbGVUZXN0L0NNYWtlTGlzdHMudHh0LAoJICBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoLAoJICBVdGlsaXRpZXMvUmVsZWFzZS9jb25maWdfSVJJWDY0OiBFTkg6IG1vdmUgMi4wLjQgdG8gTFJCCgoyMDA0LTEwLTE5IDE0OjU3ICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cubWFudWFsOiB1cGRhdGUgY2hhbmdlIGxvZwoKMjAwNC0xMC0xOSAxNDo1NiAgaG9mZm1hbgoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBtZXJnZSBmcm9tIG1haW4gdHJlZSwgYWRkIG1vcmUgd2FybmluZyBjYXNlcwoJICB0byBjdGVzdAoKMjAwNC0xMC0xOSAxNDo1MSAgaG9mZm1hbgoKCSogYm9vdHN0cmFwOiBFTkg6IHBlcmZlciBnbWFrZSBmb3IgYm9vdHN0cmFwCgoyMDA0LTEwLTE5IDEzOjI1ICBhbmR5CgoJKiBUZXN0cy9DVGVzdFRlc3QvdGVzdC5jbWFrZS5pbjogRU5IOiBEaXNwbGF5IHZlcnNpb24gb2YgY3Rlc3QKCSAgZmlyc3QKCjIwMDQtMTAtMTkgMTM6MjUgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0QnVpbGRIYW5kbGVyLmN4eDogRU5IOiBBZGQgcmVndWxhciBleHByZXNzaW9uCgkgIGZvciByZW1hcmtzIG9uIElSSVgKCjIwMDQtMTAtMTkgMTM6MDIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQlVHOiBpZiB0aGUgcGF0aHMgc2hhcmUgbm90aGluZyB0aGVuCgkgIGp1c3QgcmV0dXJuIHRoZSByZW1vdGUgcGF0aCB3aXRoIG5vIC4uCgoyMDA0LTEwLTE5IDEyOjQ4ICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEJVRzogUmVtb3ZlIGluc3RhbmNlcyBvZiAvLyBpbiB0aGUgb3V0cHV0CgoyMDA0LTEwLTE5IDEyOjM4ICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVITjogRXZlbiBtb3JlIGNsZWFudXAKCjIwMDQtMTAtMTkgMTA6NTkgIGFuZHkKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvQ1Rlc3RUZXN0L3Rlc3QuY21ha2UuaW46IEVSUjogRml4CgkgIHByb2JsZW1zIG9uIHdpbmRvd3MKCjIwMDQtMTAtMTggMTg6MTEgIHdpbGwKCgkqIGJvb3RzdHJhcDogQ09NUDogRml4IG9uIHN1bgoKMjAwNC0xMC0xOCAxNzoyNCAgYW5keQoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IFJlbW92ZSBib2d1cyBjbGVhbiBzdGVwCgoyMDA0LTEwLTE4IDE1OjM3ICBhbmR5CgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEJVRzogT2ssIHRoaXMgc2hvdWxkIG1ha2UgdGhlIHRlc3QKCSAgYWN0dWFsbHkgZG8gc29tZXRoaW5nCgoyMDA0LTEwLTE4IDE1OjA1ICBhbmR5CgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogRG8gYm9vdHN0cmFwIHRlc3Qgb24gYWxsIHVuaXggc3lzdGVtcwoKMjAwNC0xMC0xOCAxMzoxOSAgaG9mZm1hbgoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IGJldHRlciBjb21tZW50cyBhbmQgdmFyaWFibGUgbmFtZXMKCjIwMDQtMTAtMTggMTI6MzMgIGFuZHkKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBBZGQgYm9vdHN0cmFwIHRlc3QKCjIwMDQtMTAtMTggMTE6NDggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBtYWtlIHN1cmUgb3V0cHV0CgkgIHBhdGggaXMgdXNlZCBmb3IgdGFyZ2V0IHdpdGggY2Fub25pY2FsIG5hbWUKCjIwMDQtMTAtMTggMTE6MzQgIGFuZHkKCgkqIGJvb3RzdHJhcDogRU5IOiBBZGQgY2hlY2sgZm9yIHByZXZpb3VzIGJvb3RzdHJhcCBpbiB0aGUgc291cmNlCgkgIHRyZWUgd2hlbiBkb2luZyBvdXQtb2Ytc291cmNlIGJ1aWxkCgoyMDA0LTEwLTE3IDIyOjQ3ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eCwKCSAgY21DVGVzdENvdmVyYWdlSGFuZGxlci5oOiBCVUc6IEZpeCBvdXRwdXQgdG8gbWF0Y2ggdGhlIERhcnQKCSAgb3V0cHV0CgoyMDA0LTEwLTE3IDIyOjQ3ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eDogRU5IOiBDbGVhbnVwcyBhbmQgdW5pZnkKCSAgb3V0cHV0CgoyMDA0LTEwLTE3IDIyOjQ2ICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQ6IEVOSDogU3BlY2lmeSBmdWxsIHBhdGggdG8gdGhlCgkgIGV4ZWN1dGFibGUKCjIwMDQtMTAtMTcgMjI6NDYgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0Lmg6IEVOSDogQWRkIG1ldGhvZCB0byBnZXQgdGhlCgkgIHJlbGF0aXZlIHBhdGggdG8gc291cmNlIG9yIGJ1aWxkCgoyMDA0LTEwLTE3IDE5OjQ1ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eCwKCSAgY21DVGVzdENvdmVyYWdlSGFuZGxlci5oOiBFTkg6IFVwZGF0ZSB0byB0aGUgbmV3IGNvdmVyYWdlIGNvZGUuCgkgIEl0IG1heSBub3QgYmUgcGVyZmVjdCB5ZXQsIGJ1dCBpdCBpcyBhIHN0YXJ0CgoyMDA0LTEwLTE3IDE5OjAyICBhbmR5CgoJKiBUZXN0cy9DVGVzdFRlc3QvdGVzdC5jbWFrZS5pbjogRU5IOiBQcm9wYWdhdGUgbW9yZSB0aGluZ3MKCjIwMDQtMTAtMTcgMTg6NTAgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy86IFN5c3RlbVRvb2xzLmN4eCwgU3lzdGVtVG9vbHMuaHh4LmluOiBFTkg6IEFkZAoJICBtZXRob2QgdG8gZmluZCBmaWxlIGluIHBhcmVudCBkaXJlY3RvcmllcyBpZiBpdCBleGlzdHMKCjIwMDQtMTAtMTcgMTg6NTAgIGFuZHkKCgkqIFRlc3RzL0NUZXN0VGVzdC90ZXN0LmNtYWtlLmluOiBFTkg6IFByb3BhZ2F0ZSBNRU1PUllDSEVDS19DT01NQU5ECgkgIGFuZCBDT1ZFUkFHRV9DT01NQU5EIHRvIHRoZSBDVGVzdCB0ZXN0CgoyMDA0LTEwLTE3IDE4OjQ5ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21DVGVzdC5oOiBFTkg6IEhhbmRsZSBjb3ZlcmFnZSBlcnJvcnMKCjIwMDQtMTAtMTUgMDk6MjQgIGtpbmcKCgkqIFNvdXJjZS86IGNtYWtlLmN4eCwgY21ha2UuaDogRU5IOiBBZGRlZCAtLWNoZWNrLXJlcnVuIG9wdGlvbiB0bwoJICBhbGxvdyBhIHJ1bnRpbWUgY2hlY2sgb2Ygd2hldGhlciBhIG5ldyBnZW5lcmF0ZSBzaG91bGQgcmVhbGx5IGJlCgkgIGRvbmUuCgoyMDA0LTEwLTE1IDA5OjIzICBraW5nCgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oOiBFTkg6IEFkZGVkCgkgIEZpbGVUaW1lQ29tcGFyZSBtZXRob2QgdG8gY29tcGFyZSBmaWxlIG1vZGlmaWNhdGlvbiB0aW1lcy4KCSAgQ3VycmVudGx5IHRoZSByZXNvbHV0aW9uIGlzIGxpbWl0ZWQgdG8gb25lIHNlY29uZC4KCjIwMDQtMTAtMTUgMDg6NTcgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMi5jeHg6IEVOSDogQWRkZWQgZ2VuZXJhdGlvbgoJICBvZiBydWxlIHRvIGJ1aWxkIG9iamVjdCBmaWxlLgoKMjAwNC0xMC0xNCAxNjo1MCAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBCVUc6IG1ha2Ugc3VyZSBhbGwgcmV0dXJucyBmb3IKCSAgQ29udmVydFRvUmVsYXRpdmVPdXRwdXRQYXRoIGdldCBwYXNzZWQgYnkgQ29udmVydFRvT3V0cHV0UGF0aAoKMjAwNC0xMC0xNCAxNTowOSAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBCVUc6IG5vdyB0aGF0IHN5c3RlbSB0b29scyByZWxhdGl2ZQoJICBwYXRoIHdvcmtzLCBjbGVhbiB1cCB0aGUgY29udmVydCB0byByZWxhdGl2ZSBvdXRwdXQgcGF0aCBjb2RlCgoyMDA0LTEwLTE0IDExOjU5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbEtkZXZlbG9wR2VuZXJhdG9yLmN4eDogQ09NUDogcmVtb3ZlIHdhcm5pbmcKCjIwMDQtMTAtMTQgMTE6NDYgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmg6IEJVRzogYWxsb3cgc3BsaXQKCSAgc3RyaW5nIHRvIGtub3cgaWYgaXQgaXMgc2VwYXJhdGluZyBhIHBhdGgKCjIwMDQtMTAtMTMgMTE6MzcgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmg6IEJVRzogZml4IGFuZCBjb21tZW50CgkgIHJlbGF0aXZlIHBhdGggZnVuY2l0b24KCjIwMDQtMTAtMTIgMTg6MjkgIGFuZHkKCgkqIE1vZHVsZXMvRGFydC5jbWFrZTogRU5IOiBJZiBkYXJ0IG9yIGN0ZXN0IGFyZSBub3QgZm91bmQsIHVzZQoJICBjdGVzdC4gRm9yIGRlZmF1bHQgZHJvcCBsb2NhdGlvbiBldGMsIHN1cHBvcnQgaHR0cCBzdWJtaXQgKGp1c3QKCSAgc2V0IERST1BfTUVUSE9EIHRvIGh0dHAuIE9ubHkgbG9vayBmb3IgdGNsc2ggaWYgREFSVF9ST09UIGlzIHNldAoKMjAwNC0xMC0xMiAxMDo1NyAgaG9mZm1hbgoKCSogYm9vdHN0cmFwLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IGFsbG93IGtkZXZlbG9wIGZvciBjeWd3aW4KCjIwMDQtMTAtMTIgMTA6MjIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsS2RldmVsb3BHZW5lcmF0b3IuY3h4OiBCVUc6IHJlbW92ZSBiYWQgaGVhZGVycwoKMjAwNC0xMC0xMiAwOTo1MCAgaG9mZm1hbgoKCSogYm9vdHN0cmFwLCBTb3VyY2UvY21ha2UuY3h4OiBCVUc6IGRvIG5vdCBidWlsZCBrZGV2bG9wIHN0dWZmIHdoZW4KCSAgYm9vdHN0cmFwcGluZwoKMjAwNC0xMC0xMSAxNjozNSAgYW5keQoKCSogU291cmNlL2NtTG9jYWxLZGV2ZWxvcEdlbmVyYXRvci5jeHg6IEVOSDogU3VwcG9ydCBub3Qgd3JpdGluZwoJICBmaWxlcyB0byB0aGUgc291cmNlIHRyZWUuIEdlbmVyYXRlIHNpbmdsZSBwcm9qZWN0IGZpbGUgZm9yIHdob2xlCgkgIHByb2plY3QsIHNvbWUgb3RoZXIgbGl0dGxlIGNsZWFudXBzCgoyMDA0LTEwLTExIDE1OjI1ICBhbmR5CgoJKiBTb3VyY2UvY21Mb2NhbEtkZXZlbG9wR2VuZXJhdG9yLmN4eDogQlVHOiBGaXggZ2VuZXJhdGVkIFhNTAoKMjAwNC0xMC0xMSAxNDo0NyAgYW5keQoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBTVFlMRTogUmVtb3ZlIGFub3lpbmcgbWVzc2FnZQoKMjAwNC0xMC0xMSAxMzo1NyAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBCVUc6IE9uIFdpbmRvd3MsIHJlbW92ZSBleHRyYSBDUiBjaGFyYWN0ZXJzLgoJICBIb3BlZnVsbHkgdGhpcyB3aWxsIHJlc3VsdCBpbiBub3QgZHVwbGljYXRlZCBuZXctbGluZXMKCjIwMDQtMTAtMTEgMTE6NTcgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEJVRzogZml4IHNwbGl0IHByb2dyYW0gZnJvbSBhcmdzIHRvCgkgIG5vdCBnZXQgc3R1Y2sgaW4gYW4gaW5maW5pdGUgbG9vcCBpbiBzb21lIGNhc2VzCgoyMDA0LTEwLTExIDExOjU1ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlVGVzdENYWENvbXBpbGVyLmNtYWtlOiBFTkg6IG1ha2Ugc3VyZSB0aGUgYysrCgkgIGNvbXBpbGVyIGlzIGEgYysrIGNvbXBpbGVyCgoyMDA0LTEwLTExIDExOjQ3ICBob2ZmbWFuCgoJKiBib290c3RyYXA6IEVOSDogYWRkIGtkZXYgdG8gYm9vdHN0cmFwCgoyMDA0LTEwLTExIDExOjMyICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21HbG9iYWxLZGV2ZWxvcEdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsS2RldmVsb3BHZW5lcmF0b3IuaCwgY21Mb2NhbEtkZXZlbG9wR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbEtkZXZlbG9wR2VuZXJhdG9yLmgsIGNtYWtlLmN4eDogTkVXOiBhZGQga2RldmVsb3AgcGF0Y2gKCSAgZnJvbSBBbGV4YW5kZXIgTmV1bmRvcmYKCjIwMDQtMTAtMTEgMDg6MDIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IFN5c3RlbVRvb2xzLmN4eCwgU3lzdGVtVG9vbHMuaHh4LmluOiBFUlI6IFJlcGxhY2VkCgkgIHN0ZDo6c3RyaW5nIHdpdGgga3dzeXNfc3RsOjpzdHJpbmcgZm9yIHBvcnRhYmlsaXR5LgoKMjAwNC0xMC0xMCAxMjoxNCAgYW5keQoKCSogU291cmNlL2t3c3lzLzogU3lzdGVtVG9vbHMuY3h4LCBTeXN0ZW1Ub29scy5oeHguaW46IEVOSDogQWRkCgkgIG1ldGhvZCB0byByZXRyaWV2ZSBwYXJlbnQgZGlyZWN0b3J5IGFuZCBmb3IgY2hlY2tpbmcgaWYgZGlyZWN0b3J5CgkgIGlzIGEgc3ViZGlyZWN0b3J5IG9mIGFub3RoZXIgZGlyZWN0b3J5CgoyMDA0LTEwLTA2IDEyOjQxICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cubWFudWFsLCBTb3VyY2UvY21BZGRFeGVjdXRhYmxlQ29tbWFuZC5jeHg6IEZJWDogbWVyZ2UKCSAgZnJvbSBtYWluIHRyZWUgbWFjIGJ1bmRsZSBmaXgKCjIwMDQtMTAtMDYgMTI6MjUgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWwsIFNvdXJjZS9jbUNUZXN0LmN4eCwgU291cmNlL2NtQ1Rlc3QuaDogRU5IOgoJICBtZXJnZSBmcm9tIG1haW4gdHJlZSBmaXggZm9yIGJ1aWxkIG92ZXJ2aWV3IHBhZ2UKCjIwMDQtMTAtMDUgMTY6MTYgIGFuZHkKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogRVJSOiBUb28gbXVjaCBjb21taXRzCgoyMDA0LTEwLTA1IDE2OjE0ICBhbmR5CgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21DVGVzdC5jeHgsIENUZXN0L0NNYWtlTGlzdHMudHh0LAoJICBDVGVzdC9jbUNUZXN0U3VibWl0LmN4eDogUEVSRjogU2V2ZXJhbCBjbGVhbnVwcywgYW5kIHJlbW92ZSBuZWVkCgkgIGZvciBDdXJsIGRpcmVjdG9yeSB0byBiZSBpbiBpbmNsdWRlIHBhdGgKCjIwMDQtMTAtMDUgMTE6MzcgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEZJWDogY29ycmVjdGx5IGhhbmRsZSBpZiBwYXRoIHRhYmxlIGNhbiBub3QKCSAgb3BlbgoKMjAwNC0xMC0wNSAxMToyOSAgaG9mZm1hbgoKCSogYm9vdHN0cmFwOiBFTkg6IHBpY2sgbmF0aXZlIGNvbXBpbGVycyBmaXJzdCwgYW5kIGFDQyBiZWZvcmUgQ0MKCjIwMDQtMTAtMDUgMTA6NTkgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEJVRzogZml4IHJlYWxwYXRoIHByb2JsZW0gYW5kIHVuaXgKCSAgc2xhc2hlcwoKMjAwNC0xMC0wNSAxMDoxMyAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXQuY3h4OiBFUlI6IEZpeCBUUlVFIGJ1aWxkIHByb2JsZW0gYW5kCgkgIHJlcGxhY2UgZXJyb3IgY291dHMgd2l0aCBjZXJycwoKMjAwNC0xMC0wNSAxMDowMCAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFUlI6IEZpeCBXaW5kb3dzIGJ1aWxkCgoyMDA0LTEwLTA1IDA5OjI1ICBtYXJ0aW5rCgoJKiBTb3VyY2Uva3dzeXMvOiBTeXN0ZW1Ub29scy5jeHgsIFN5c3RlbVRvb2xzLmh4eC5pbjogQ09NUDogZml4CgkgIHNvbWUgY29tcGlsZSBpc3N1ZXMgd2l0aCBpbnNlcnQKCjIwMDQtMTAtMDUgMDk6MDEgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IENPTVA6IGZpeCBiYWQgaW5jbHVkZSBmaWxlCgoyMDA0LTEwLTA1IDA4OjQ5ICBhbmR5CgoJKiBib290c3RyYXA6IEVSUjogRml4IGJvb3RzdHJhcAoKMjAwNC0xMC0wNSAwODozMyAgYW5keQoKCSogTW9kdWxlcy86IENoZWNrVHlwZVNpemUuYy5pbiwgQ2hlY2tUeXBlU2l6ZS5jbWFrZSwKCSAgQ2hlY2tUeXBlU2l6ZS5jOiBFTkg6IEFkZCBvcHRpb24gb2YgYWRkaW5nIHJhbmRvbSBpbmNsdWRlIGZpbGVzCgkgIGJlZm9yZSBkb2luZyBDaGVja1R5cGVTaXplCgoyMDA0LTEwLTA1IDA4OjMyICBhbmR5CgoJKiBNb2R1bGVzL0NoZWNrSW5jbHVkZUZpbGVzLmNtYWtlOiBFTkg6IFdoZW4gdGVzdCBmYWlscywgd3JpdGUgb3V0CgkgIHRoZSBvdXRwdXQKCjIwMDQtMTAtMDQgMTY6MTUgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IyLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvcjIuaDogRU5IOiBTdGFydGVkIG5ldyBtYWtlZmlsZQoJICBnZW5lcmF0b3IgaW1wbGVtZW50YXRpb24uICBJdCB3aWxsIHRlbXBvcmFyaWx5IGJlIGNhbGxlZAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yMiB1bnRpbCBpdCBpcyByZWFkeSB0byByZXBsYWNlIHRoZQoJICBvcmlnaW5hbCBjb21wbGV0ZWx5LgoKMjAwNC0xMC0wNCAxMjozMSAgbWFydGluawoKCSogQ01ha2UucnRmLCBTb3VyY2UvY21ha2UuY3h4LCBTb3VyY2UvY21ha2UuaCwKCSAgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eCwgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmh4eC5pbjoKCSAgRU5IOiBNYXRoaWV1cyBzdXBwb3J0IGZvciBwYXRoIGNvbnZlcnNpb25zCgoyMDA0LTEwLTA0IDEyOjAyICBhbmR5CgoJKiBUZXN0cy9DVGVzdFRlc3QvdGVzdC5jbWFrZS5pbjogQlVHOiBVc2Uga3dzeXMgZnJvbSB0aGUgc291cmNlCgkgIHRyZWUKCjIwMDQtMTAtMDQgMDg6MDYgIGFuZHkKCgkqIFRlc3RzL0NUZXN0VGVzdC90ZXN0LmNtYWtlLmluOiBFTkg6IEJldHRlciBzb3J0aW5nIG9mIHJlc3VsdHMKCjIwMDQtMTAtMDMgMDc6MjcgIGFuZHkKCgkqIFRlc3RzL0NUZXN0VGVzdC90ZXN0LmNtYWtlLmluOiBCVUc6IEZpeCBwcm9ibGVtIHdpdGggc3BhY2VzIGluCgkgIHRoZSBwYXRoCgoyMDA0LTEwLTAzIDA3OjE0ICBhbmR5CgoJKiBTb3VyY2UvY3Rlc3QuY3h4OiBCVUc6IEF0dGVtcHQgdG8gcmVtb3ZlIG1lbW9yeSBsZWFrCgoyMDA0LTEwLTAxIDEzOjIzICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHg6IEJVRzogQWRkIHJlZ3VsYXIgZXhwcmVzc2lvbgoJICB0byB2ZWN0b3IKCjIwMDQtMTAtMDEgMTM6MTAgIGFuZHkKCgkqIFRlc3RzL0NUZXN0VGVzdC90ZXN0LmNtYWtlLmluOiBFTkg6IFVzZSBleGlzdGluZyBDVGVzdCBhbmQgY21ha2UKCjIwMDQtMTAtMDEgMTI6MjEgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0LmgsIENUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdFNjcmlwdEhhbmRsZXIuaDogRU5IOiBBZGQgQ1RFU1RfRVhFQ1VUQUJMRV9OQU1FIHRvCgkgIENUZXN0IHNjcmlwdGluZy4gVGhpcyB3YXkgeW91IGRvIG5vdCBoYXZlIHRvIHNwZWNpZnkgY3Rlc3QKCSAgZXhlY3V0YWJsZSBpbiBDVEVTVF9DT01NQU5ELCBidXQganVzdCBhIHZhcmlhYmxlCgoyMDA0LTEwLTAxIDExOjM2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvdGVzdFByb2Nlc3MuYzogRVJSOiBBZGRlZCBtaXNzaW5nIGluY2x1ZGUgb2YKCSAgc3RyaW5nLmgKCjIwMDQtMTAtMDEgMTE6MTMgIGFuZHkKCgkqIFRlc3RzL0NUZXN0VGVzdC90ZXN0LmNtYWtlLmluOiBFTkg6IExldCB1cyByZWNvZ25pemUgaXQgb24gdGhlCgkgIGRhc2hib2FyZAoKMjAwNC0wOS0zMCAxODo0NSAgYW5keQoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IENsZWFudXAgQ1Rlc3QgdGVzdAoKMjAwNC0wOS0zMCAxODo0NSAgYW5keQoKCSogVGVzdHMvQ1Rlc3RUZXN0L3Rlc3QuY21ha2UuaW46IEVOSDogRG8ga3dzeXMgaW5zdGVhZCBvZiBDTWFrZQoKMjAwNC0wOS0zMCAxODowNiAgYW5keQoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdEJ1aWxkSGFuZGxlci5jeHgsIGNtQ1Rlc3RCdWlsZEhhbmRsZXIuaDoKCSAgRVJSOiBGaXggZm9yIG5vbi1nY2MvaWNjIGNvbXBpbGVycwoKMjAwNC0wOS0zMCAxNzo0MiAga2luZwoKCSogU291cmNlL2t3c3lzL3Rlc3RQcm9jZXNzLmM6IEVOSDogQWRkZWQgb3B0aW9uYWwgZGlzcGxheSBvZiBvdXRwdXQKCSAgZm9yIHRlc3RzLiAgQXZvaWQgcHJpbnRpbmcgYWxvdCBvZiBvdXRwdXQgZm9yIHRlc3QgNi4KCjIwMDQtMDktMzAgMTc6MjcgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0QnVpbGRIYW5kbGVyLmg6IEVSUjogRml4IGVycm9yCgoyMDA0LTA5LTMwIDE2OjI0ICBhbmR5CgoJKiBib290c3RyYXA6IEJVRzogQ2hlY2sgaWYgdGhlIGNvbXBpbGVyIGlzIGdudS4gSWYgaXQgaXMsIGRvIG5vdCBkbwoJICBzcGVjaWFsIHBsYXRmb3JtIHRlc3RzLiBGaXhlcyBCdWcgIzEyMTUgLSBib290c3RyYXAgdXNlcyBuYXRpdmUKCSAgZmxhZ3Mgd2l0aCBnbnUgY29tcGlsZXIgb24gT1NGCgoyMDA0LTA5LTMwIDE2OjIwICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0QnVpbGRIYW5kbGVyLmN4eCwgY21DVGVzdEJ1aWxkSGFuZGxlci5oOgoJICBFTkg6IEFkZCBzdXBwb3J0IGZvciBTb3VyY2VGaWxlIGFuZCBMaW5lTnVtYmVyCgoyMDA0LTA5LTI5IDE2OjA3ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUNUZXN0LmgsIGNtQ2FjaGVNYW5hZ2VyLmN4eCwgY21DYWNoZU1hbmFnZXIuaCwKCSAgY21EeW5hbWljTG9hZGVyLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBjbUxvYWRDYWNoZUNvbW1hbmQuY3h4LCBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlZmlsZS5jeHgsIGNtVGFyZ2V0LmN4eCwgY21ha2V3aXphcmQuY3h4OiBFTkg6IHNob3J0ZW4gdGhlCgkgIHN5bWJvbHMgYSBiaXQgYW5kIHJlbW92ZSBtYXBzIG9mIHN0ZDo6c3RyaW5nIGZvciBtYXAgb2YKCSAgY21TdGRTdHJpbmcKCjIwMDQtMDktMjkgMTQ6MTQgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RUZXN0SGFuZGxlci5jeHgsIGNtQ1Rlc3RUZXN0SGFuZGxlci5oOiBCVUc6CgkgIFJlbW92ZSBtYXhpbXVtIHNpemUgb2YgdGVzdCBvdXRwdXQKCjIwMDQtMDktMjkgMTM6MjEgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5oeHguaW46IEVSUjogRml4IFdpbmRvd3MgYnVpbGQKCjIwMDQtMDktMjkgMTI6MjAgIGFuZHkKCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmgsCgkgIGt3c3lzL1N5c3RlbVRvb2xzLmN4eCwga3dzeXMvU3lzdGVtVG9vbHMuaHh4LmluOiBFTkg6IE1vdmUKCSAgcGVybWlzc2lvbnMgY29kZSB0byBrd3N5cyBzbyB0aGF0IGNvcHlmaWxlIGNhbiB1c2UgaXQuIEZpeGVzIEJ1ZwoJICAjMTEzMyAtIGNtYWtlIC1FIGNvcHkgZmlsZSBkaXIgc2V0cyB0aGUgd3JvbmcgcGVybWlzc2lvbnMgb24gdGhlCgkgIGRlc3RpbmF0aW9uIGRpcmVjdG9yeQoKMjAwNC0wOS0yOSAxMTo1MiAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eDogQlVHOiBJZiBleHRyYSB1cGRhdGUKCSAgZmFpbGVzLCBjb250aW51ZSB3aXRoIGRhc2hib2FyZC4gQ2xvc2VzIEJ1ZyAjODk0IC0gRmF0YWwgQ1ZTCgkgIHVwZGF0ZSBlcnJvciBraWxscyB0ZXN0LCBhbmQgaXMgbm90IHJlcG9ydGVkCgoyMDA0LTA5LTI5IDExOjE4ICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFTkg6IFdoZW4gY29weSBmaWxlLCBpZiB0aGUgb3V0cHV0CgkgIGZpbGUgZXhpdHMsIGRlbGV0ZSBpdCBmaXJzdAoKMjAwNC0wOS0yOSAwODo1OCAgYW5keQoKCSogU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFsbG93IENNYWtlIHRvIHVzZQoJICBDb21tYW5kTGluZUFyZ3VtZW50cyB3aXRob3V0IHdhcm5pbmcKCjIwMDQtMDktMjkgMDg6MzQgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy9Db21tYW5kTGluZUFyZ3VtZW50cy5oeHguaW46IEVOSDogQWRkIGxvdHMgb2YKCSAgY29tbWVudHMKCjIwMDQtMDktMjkgMDc6NTYgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy86IENvbW1hbmRMaW5lQXJndW1lbnRzLmN4eCwKCSAgQ29tbWFuZExpbmVBcmd1bWVudHMuaHh4LmluOiBFTkg6IEFkZCBhY2Nlc3MgdG8gbGFzdCBhcmd1bWVudAoJICBwYXJzZWQKCjIwMDQtMDktMjggMTc6NTEgIGFuZHkKCgkqIENNYWtlTGlzdHMudHh0OiBFTkg6IEVuYWJsZSBDb21tYW5kIExpbmUgQXJndW1lbnRzCgoyMDA0LTA5LTI4IDE3OjUxICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0U2NyaXB0SGFuZGxlci5jeHgsIGNtQ1Rlc3RTY3JpcHRIYW5kbGVyLmg6CgkgIEVOSDogTW92ZSBhbGwgZXh0cmFjdGluZyBvZiB2YXJpYWJsZXMgdG8gRXh0cmFjdFZhcmlhYmxlcy4gVGhpcwoJICB3YXkgaXQgaXMgZWFzeSB0byBrbm93IHdoYXQgdmFyaWFibGVzIGFyZSB1c2VkCgoyMDA0LTA5LTI4IDExOjM0ICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvOiBDb21tYW5kTGluZUFyZ3VtZW50cy5jeHgsCgkgIENvbW1hbmRMaW5lQXJndW1lbnRzLmh4eC5pbjogRU5IOiBBZGQgYWNjZXNzb3IgZm9yIEFyZ3YwCgoyMDA0LTA5LTI4IDA5OjAwICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0U2NyaXB0SGFuZGxlci5oLCBjbUNUZXN0U2NyaXB0SGFuZGxlci5jeHg6CgkgIEVOSDogQWRkIHNvbWUgZG9jdW1lbnRhdGlvbgoKMjAwNC0wOS0yNyAxNjozMyAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eDogQlVHOiBtYWtlIHN1cmUgcmVsZWFzZQoJICBmbGFncyBhcmUgcmVwbGFjZWQKCjIwMDQtMDktMjcgMTU6MjEgIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBhbGxvdyBmb3IgYSBkaWZmZXJlbnQgam5pLmggdG8gZW5hYmxlCgkgIGphdmEgdGVzdGluZwoKMjAwNC0wOS0yNyAxNToxNSAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IGFsbG93IGZvciBhIGRpZmZlcmVudCBqbmkuaCB0byBlbmFibGUKCSAgamF2YSB0ZXN0aW5nCgoyMDA0LTA5LTI3IDE1OjExICBob2ZmbWFuCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IHNwYWNlIGluIHBhdGggcHJvYmxlbQoKMjAwNC0wOS0yNyAxNDozOSAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IHVzZSBqbmkuaCB0byBkZXRlcm1pbmUgamF2YSB2ZXJzaW9uCgoyMDA0LTA5LTI3IDE0OjM1ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgQ2hhbmdlTG9nLm1hbnVhbCwgU291cmNlL2NtQ1Rlc3QuY3h4LAoJICBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoOiBtZXJnZSBmcm9tIG1haW4gdHJlZSBhbmQKCSAgY2hhbmdlIHZlcnNpb24gdG8gMi4wLjQKCjIwMDQtMDktMjcgMTQ6MjEgIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogRU5IOiB1c2Ugam5pLmggdG8gZGV0ZXJtaW5lIGphdmEgdmVyc2lvbgoKMjAwNC0wOS0yNyAxMzozNiAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBCVUc6IElmIG5vdGVzIGZpbGUgaXMgbWlzc2luZywgY3JlYXRlIGVtcHR5CgkgIG5vdGVzIGZpbGUgd2l0aCBlcnJvciBtZXNzYWdlCgoyMDA0LTA5LTI3IDEzOjAzICBob2ZmbWFuCgoJKiBUZXN0cy9Gb3J0cmFuL0NNYWtlTGlzdHMudHh0OiBjbGVhbiB1cCBvdXRwdXQgb2YgdGVzdCBhbmQgZm9yY2UKCSAgdmVyYm9zZSBtYWtlZmlsZXMKCjIwMDQtMDktMjcgMTE6MzYgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VKYXZhQ29tcGlsZXIuY21ha2UuaW4sCgkgIE1vZHVsZXMvQ01ha2VKYXZhSW5mb3JtYXRpb24uY21ha2UsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBtYWtlIHN1cmUgamF2YSBqYXIKCSAgZmlsZXMgYXJlIG5vdCBsaWJmb28uamFyIGJ1dCBhcmUganVzdCBmb28uamFyCgoyMDA0LTA5LTI3IDExOjAzICBob2ZmbWFuCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogYmV0dGVyIG1lc3NhZ2UgZm9yIHNraXBwaW5nIGphdmEKCjIwMDQtMDktMjcgMDk6NDkgIGFuZHkKCgkqIE1vZHVsZXMvRG9jdW1lbnRhdGlvbi5jbWFrZTogRU5IOiBSZXBsYWNlIElOQ0xVREUoRmluZC4uLikgd2l0aAoJICBGSU5EX1BBQ0tBR0UoLi4uKQoKMjAwNC0wOS0yNCAxNjo1NCAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IHVzZSBjb3JyZWN0IGFyZ3MgZm9yIHRlc3Qgb2YgamF2YQoKMjAwNC0wOS0yNCAxNjozNCAgaG9mZm1hbgoKCSogVGVzdHMvSmF2YS86IENNYWtlQ2hlY2tKYXZhUGF0aC5qYXZhLCBDTWFrZUxpc3RzLnR4dDogdHJ5IGFuZCBnZXQKCSAgdGhpcyBqYXZhIHRlc3QgdG8gd29yawoKMjAwNC0wOS0yNCAxNjozNCAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IG9ubHkgdXNlIG5ld2VyIGphdmEgZm9yIHRlc3RpbmcKCjIwMDQtMDktMjQgMTU6NDAgIGhvZmZtYW4KCgkqIFRlc3RzL0phdmEvOiBDTWFrZUNoZWNrSmF2YVBhdGguamF2YSwgQ01ha2VMaXN0cy50eHQ6IEVOSDogYWRkCgkgIHNvbWUgamF2YSBjb2RlIHRvIHRyeSBhbmQgZmluZCB0aGUgc3lzdGVtIHBhdGgKCjIwMDQtMDktMjQgMTQ6MzcgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBDTWFrZUNYWEluZm9ybWF0aW9uLmNtYWtlLAoJICBDTWFrZUZvcnRyYW5JbmZvcm1hdGlvbi5jbWFrZSwKCSAgQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlOiBCVUc6IExJTktfRkxBR1MgYXJlIG5vdyBhbGwKCSAgTElOS18oTEFORylfRkxBR1MKCjIwMDQtMDktMjQgMTE6MzUgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHg6IEJVRzogZml4IGNyYXNoIHdpdGggdnM2CgoyMDA0LTA5LTI0IDExOjM0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogY2hlY2sgZm9yIGFsbCBwYXJ0cyBvZiBqYXZhCgoyMDA0LTA5LTI0IDExOjA1ICBob2ZmbWFuCgoJKiBUZXN0cy9KYXZhL0NNYWtlTGlzdHMudHh0OiBFTkg6IHJlbW92ZSBjbGFzc3BhdGggc28gdGhhdCB0aGlzCgkgIHRlc3QgcGFzc2VzIHdpdGggb2xkZXIgamF2YSBjb21waWxlcnMgdGhhdCBjbG9iZXIgdGhlIHN5c3RlbQoJICBjbGFzcyBwYXRoIHdpdGggdGhlIC1jbGFzc3BhdGggb3B0aW9uCgoyMDA0LTA5LTI0IDEwOjA3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogcmVwbGFjZSBhbGwgZW5hYmxlZAoJICBsYW5ndWFnZXMgaW4gcnVsZSB2YXJzCgoyMDA0LTA5LTI0IDA5OjM0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBFTkg6IGNoYW5nZSBpZ25vcmUgZnVuY3Rpb24gc28gdGhhdAoJICBpdCBmaXJzdCBjaGVja3MgdG8gc2VlIGlmIHRoZSBleHRlbnNpb24gaGFzIGEgbGFuZ3VhZ2UKCjIwMDQtMDktMjQgMDk6MTEgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vRGFyd2luLmNtYWtlOiBFTkg6IHVzZSBjKysgd2l0aCBjKysgYW5kIGMgZmxhZ3MKCSAgd2l0aCBjCgoyMDA0LTA5LTI0IDA4OjM5ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5oOiBFTkg6IGNvcnJlY3RseSBpZ25vcmUgZmlsZXMKCjIwMDQtMDktMjMgMTc6NDkgIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogdGVtcG9yYXJ5IGZpeCB0byB0cnkgYW5kIGdldCBhIGNsZWFuCgkgIGRhc2hib2FyZAoKMjAwNC0wOS0yMyAxNTowMiAgYW5keQoKCSogU291cmNlL2t3c3lzL0NvbW1hbmRMaW5lQXJndW1lbnRzLmN4eDogRVJSOiBGaXggbWVtb3J5IHByb2JsZW0KCjIwMDQtMDktMjMgMTE6NTMgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy9Db21tYW5kTGluZUFyZ3VtZW50cy5jeHg6IFNUWUxFOiBPbmx5IGFsbG9jYXRlIGFzCgkgIG11Y2ggc3BhY2UgYXMgbmVlZGVkCgoyMDA0LTA5LTIzIDExOjQ1ICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvQ29tbWFuZExpbmVBcmd1bWVudHMuY3h4OiBFTkg6IE1ha2UKCSAgR2V0UmVtYWluaW5nQXJndW1lbnRzIGFjdHVhbGx5IHdvcmsKCjIwMDQtMDktMjMgMTE6NDQgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmg6IEVOSDogb25seSByZXBsYWNlIHRoZSBsYW5ndWFnZQoJICBiZWluZyB1c2VkIGluIGV4cGFuZCBydWxlIHZhcmlhYmxlcwoKMjAwNC0wOS0yMyAwOToxMSAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBTVFlMRTogcmVtb3ZlIHdhcm5pbmcKCjIwMDQtMDktMjMgMDk6MDggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVRyeUNvbXBpbGVDb21tYW5kLmN4eDogcmVtb3ZlIHdhcm5pbmcKCjIwMDQtMDktMjMgMDg6NTEgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VSQ0luZm9ybWF0aW9uLmNtYWtlLCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OgoJICBFTkg6IGZpeCBwcm9ibGVtcyB3aXRoIC5kZWYgYW5kIFJDIGZpbGVzCgoyMDA0LTA5LTIzIDA4OjIwICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dDogRU5IOiBtYWtlIHN1cmUgY21ha2UgaGFzIDIuMAoKMjAwNC0wOS0yMyAwNzo1MyAgYW5keQoKCSogYm9vdHN0cmFwOiBFTkg6IEF0dGVtcHQgdG8gZGV0ZWN0IGEgbm9uLXBhcmFsbGVsIG1ha2UKCjIwMDQtMDktMjIgMTc6NTAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVRhcmdldC5jeHg6IEJVRzogZml4IHBlcmZlcmVkIGxpbmtlciBsYW5ndWFnZSBjb2RlCgoyMDA0LTA5LTIyIDE3OjQxICBob2ZmbWFuCgoJKiBUZXN0cy9KYXZhL0NNYWtlTGlzdHMudHh0OiB1c2UgdmVyYm9zZSBtYWtlZmlsZXMKCjIwMDQtMDktMjIgMTY6NTEgIGhvZmZtYW4KCgkqIFRlc3RzLzogU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OiBtYWtlIGl0IHZlcmJvc2UKCjIwMDQtMDktMjIgMTY6NDQgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHg6IGZpeCBjb21waWxhdGlvbgoKMjAwNC0wOS0yMiAxNToxNCAgaG9mZm1hbgoKCSogU291cmNlL2NtUHJvamVjdENvbW1hbmQuY3h4OiByZW1vdmUgd2FybmluZ3MKCjIwMDQtMDktMjIgMTQ6NTIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VKYXZhSW5mb3JtYXRpb24uY21ha2U6IEJVRzogbGV0IHRoZSBnZW5lcmF0b3IgcXVvdGUKCSAgdGhlIHBhdGgKCjIwMDQtMDktMjIgMTQ6NDIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VDQ29tcGlsZXIuY21ha2UuaW4sIE1vZHVsZXMvQ01ha2VDSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VDWFhDb21waWxlci5jbWFrZS5pbiwKCSAgTW9kdWxlcy9DTWFrZUNYWEluZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlQ29tbW9uTGFuZ3VhZ2VJbmNsdWRlLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lSmF2YUNvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lUkNDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUZvcnRyYW5JbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUdlbmVyaWNTeXN0ZW0uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VKYXZhQ29tcGlsZXIuY21ha2UuaW4sCgkgIE1vZHVsZXMvQ01ha2VKYXZhSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VSQ0NvbXBpbGVyLmNtYWtlLmluLAoJICBNb2R1bGVzL0NNYWtlUkNJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVN5c3RlbVNwZWNpZmljSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VUZXN0SmF2YUNvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlVGVzdFJDQ29tcGlsZXIuY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vQUlYLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL0ZyZWVCU0QuY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vSFAtVVguY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vSVJJWC5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9JUklYNjQuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vTGludXgtY29tby5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9MaW51eC5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9NUC1SQVMuY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vTmV0QlNELmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL09TRjEuY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vUklTQ29zLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1N1bk9TLmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL1VMVFJJWC5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9VTklYX1NWLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1nY2MuY21ha2UsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL2NtQ29tbWFuZHMuY3h4LCBTb3VyY2UvY21FbmFibGVMYW5ndWFnZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21FbmFibGVMYW5ndWFnZUNvbW1hbmQuaCwgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmgsIFNvdXJjZS9jbUluc3RhbGxGaWxlc0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsUHJvZ3JhbXNDb21tYW5kLmN4eCwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwKCSAgU291cmNlL2NtUHJvamVjdENvbW1hbmQuY3h4LCBTb3VyY2UvY21UYXJnZXQuY3h4LAoJICBTb3VyY2UvY21UYXJnZXQuaCwgU291cmNlL2NtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21UcnlSdW5Db21tYW5kLmN4eCwgVGVzdHMvRm9ydHJhbi9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvSmF2YS9BLmphdmEsIFRlc3RzL0phdmEvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0phdmEvSGVsbG9Xb3JsZC5qYXZhOiBFTkg6IG1ham9yIGNoYW5nZXMgdG8gc3VwcG9ydAoJICBhZGRpdGlvbiBvZiBsYW5ndWFnZXMgZnJvbSBjbWFrZSBtb2R1bGVzIGRpcmVjdG9yeS4KCjIwMDQtMDktMjIgMTA6MDYgIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBvbmx5IHRyeSB0byB1c2UgZm9ydHJhbiBpZiB0aGUKCSAgZ2VuZXJhdG9yIGlzIG1ha2UgYmFzZWQKCjIwMDQtMDktMjIgMDg6NTAgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VGb3J0cmFuQ29tcGlsZXIuY21ha2UuaW46IEJVRzogZml4IEdOVSBjaGVjawoJICB2YXJpYWJsZSBhbmQgYWRkIG5ldyB2YXJpYWJsZXMgdXNlZCBieSBlbmFibGUgbGFuZ3VhZ2UKCjIwMDQtMDktMjEgMTI6NTEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxpc3RGaWxlTGV4ZXIuaDogbWVyZ2UgZnJvbSBtYWluIHRyZWUKCjIwMDQtMDktMjEgMTI6NDcgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWwsIFNvdXJjZS9jbUxpc3RGaWxlTGV4ZXIuYywKCSAgU291cmNlL2NtTGlzdEZpbGVMZXhlci5pbi5sLCBUZXN0cy9TdHJpbmdGaWxlVGVzdC9DTWFrZUxpc3RzLnR4dDoKCSAgbWVyZ2UgZnJvbSBtYWluIHRyZWUKCjIwMDQtMDktMjAgMTQ6MzkgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZEphdmEuY21ha2U6IEVOSDogbG9vayBmb3IgamF2YSBpbiBtb3JlIHBsYWNlcwoKMjAwNC0wOS0yMCAxMzo0NyAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUc6IGJyYW5jaCBvbmx5IGZpeCBmb3IKCSAgVlNFeHRlcm5hbEluY2x1ZGUKCjIwMDQtMDktMjAgMDg6NTEgIGtpbmcKCgkqIFNvdXJjZS9jbUxpc3RGaWxlTGV4ZXIuYywgU291cmNlL2NtTGlzdEZpbGVMZXhlci5pbi5sLAoJICBUZXN0cy9TdHJpbmdGaWxlVGVzdC9DTWFrZUxpc3RzLnR4dDogQlVHIzExNzk6IEZpeCBmb3IgIHN5bnRheCBpbgoJICB1bnF1b3RlZCBhcmd1bWVudHMuCgoyMDA0LTA5LTE3IDE2OjQ2ICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cubWFudWFsLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9jbUZvckVhY2hDb21tYW5kLmN4eCwgU291cmNlL2NtR2xvYi5jeHgsIFNvdXJjZS9jbUdsb2IuaCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUluY2x1ZGVFeHRlcm5hbE1TUHJvamVjdENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21XaW4zMlByb2Nlc3NFeGVjdXRpb24uY3h4LAoJICBTb3VyY2UvY21XaW4zMlByb2Nlc3NFeGVjdXRpb24uaCwgU291cmNlL2NtYWtlbWFpbi5jeHgsCgkgIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHgsCgkgIFRlc3RzL1ZTRXh0ZXJuYWxJbmNsdWRlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9WU0V4dGVybmFsSW5jbHVkZS9tYWluLmNwcCwKCSAgVGVzdHMvVlNFeHRlcm5hbEluY2x1ZGUvTGliMS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvVlNFeHRlcm5hbEluY2x1ZGUvTGliMS9saWIxLmNwcCwKCSAgVGVzdHMvVlNFeHRlcm5hbEluY2x1ZGUvTGliMS9saWIxLmgsCgkgIFRlc3RzL1ZTRXh0ZXJuYWxJbmNsdWRlL0xpYjIvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1ZTRXh0ZXJuYWxJbmNsdWRlL0xpYjIvbGliMi5jcHAsCgkgIFRlc3RzL1ZTRXh0ZXJuYWxJbmNsdWRlL0xpYjIvbGliMi5oOiBtZXJnZSBmcm9tIG1haW4gdHJlZQoKMjAwNC0wOS0xNyAxNjowMCAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eDogbWVyZ2UgZnJvbSBtYWluIHRyZWUKCSAgYnVnIDEwNDEKCjIwMDQtMDktMTcgMTU6NTcgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHg6IEJVRzogZml4IGZvciBidWcgMTA0MSwKCSAgX01CQ1Mgc29tZXRpbWVzIGFkZGVkIGZvciBVTklJQ09ERSB3aGljaCBpcyBiYWQKCjIwMDQtMDktMTcgMDk6MTQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VKYXZhQ29tcGlsZXIuY21ha2UuaW46IEJVRzogY29tbWl0IGJ1ZyAxMTIzCgoyMDA0LTA5LTE3IDA5OjAxICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Qcm9qZWN0Q29tbWFuZC5oOiBCVUc6IDExNjMgZml4IGRvY3VtZW50YXRpb24KCjIwMDQtMDktMTYgMTc6MTYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUZpbGVDb21tYW5kLmN4eDogbWVyZ2UgZnJvbSBtYWluIHRyZWUgZml4IGJ1ZyAxMTIyCgoyMDA0LTA5LTE2IDE3OjEzICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5jeHg6IEVOSDogQXR0ZW1wdCB0byBoYW5kbGUKCSAgSW50ZWwncyByZW1hcmtzLiBDbG9zZSBCdWcgIzExNTYgLSBCZXR0ZXIgc3VwcG9ydCBmb3IgaWNjCgkgICdyZW1hcmsnCgoyMDA0LTA5LTE2IDEyOjM5ICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFTkg6IEFkZCBtaXNzaW5nIGluY2x1ZGUKCjIwMDQtMDktMTYgMTA6NTggIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy86IFN5c3RlbVRvb2xzLmN4eCwgU3lzdGVtVG9vbHMuaHh4LmluOiBFTkg6IEFkZAoJICBtZXRob2QgdG8gcmV0cmlldmUgdGhlIHRlcm1pbmFsIHdpZHRoCgoyMDA0LTA5LTE2IDEwOjQ5ICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvQ29tbWFuZExpbmVBcmd1bWVudHMuY3h4OiBFTkg6IGEgYml0IG1vcmUgY2xlYW51cC4KCSAgVGhlIGhlbHAgc2hvdWxkIHJlYWxseSBiZSByZXBsYWNlZCBieSBzb21ldGhpbmcgbGlrZQoJICBjbURvY3VtZW50YXRpb24KCjIwMDQtMDktMTYgMTA6NDggIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBUZXN0cy9WU0V4dGVybmFsSW5jbHVkZS9DTWFrZUxpc3RzLnR4dDogQlVHOiBmaXggVlNFeHRlcm5hbCBmb3IKCSAgdmlzdWFsIHN0dWRpbyA2CgoyMDA0LTA5LTE2IDEwOjI3ICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvOiBDb21tYW5kTGluZUFyZ3VtZW50cy5jeHgsCgkgIENvbW1hbmRMaW5lQXJndW1lbnRzLmh4eC5pbjogRU5IOiBDb25kZW5zZSBoZWxwIHN0cmluZywgYWRkCgkgIHN1cHBvcnQgZm9yIHNldHRpbmcgbGluZSBsZW5ndGggYW5kIG1ha2UgaXQgd29yawoKMjAwNC0wOS0xNSAxNToxNSAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBmaXggZXh0ZXJuYWwgcHJvamVjdAoJICBjb21tYW5kIGZvciBWUyA3IGFuZCA3MQoKMjAwNC0wOS0xNSAxNDowOCAgYW5keQoKCSogU291cmNlLzogY21HbG9iLmN4eCwgY21HbG9iLmg6IEVOSDogUmVtb3ZlIGRvdWJsZSBzbGFzaAoKMjAwNC0wOS0xNSAxMzozMyAgYW5keQoKCSogU291cmNlL2NtR2xvYi5jeHg6IEJVRzogQXR0ZW1wdCB0byBmaXggYnVnIG9uIFdpbmRvd3MgKGFuZCBhcHBsZSkKCSAgd2hlcmUgZmlsZXMgcmV0dXJuZWQgYXJlIGFsbCBsb3dlcmNhc2UKCjIwMDQtMDktMTUgMTM6MzEgIGFuZHkKCgkqIFNvdXJjZS9jbUZvckVhY2hDb21tYW5kLmN4eDogQlVHOiBQcm9wYWdhdGUgZmlsZSBuYW1lIGFuZCBsaW5lCgkgIG51bWJlciBpbnNpZGUgRk9SRUFDSC4gRml4ZXMgQnVnICMxMTY5IC0gRXJybyBtZXNzYWdlcyBpbnNpZGUKCSAgRk9SRUFDSCBoYXZlIGJhZCBmaWxlbmFtZSBhbmQgbGluZSBudW1iZXIKCjIwMDQtMDktMTUgMTM6MDMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBFTkg6IGZpeCBmb3IgdnMgNzAKCSAgZ2VuZXJhdG9yCgoyMDA0LTA5LTE1IDEyOjA3ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21JbmNsdWRlRXh0ZXJuYWxNU1Byb2plY3RDb21tYW5kLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBFTkg6IGNsZWFuIHVwIG9mCgkgIElOQ0xVREVfRVhURVJOQUxfTVNQUk9KRUNUIGNvbnRyaWJ1dGVkIGJ5IENsaW50b24gU3RpbXBzb24KCjIwMDQtMDktMTUgMTE6MzEgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBtYWtlIHN1cmUgZW52IENDIGFuZCBDWFgKCSAgYXJlIG5vdCBzZXQgZm9yIFZTIElERSBidWlsZHMKCjIwMDQtMDktMTUgMTA6MzUgIG1hcnRpbmsKCgkqIFRlc3RzL1ZTRXh0ZXJuYWxJbmNsdWRlL0NNYWtlTGlzdHMudHh0OiBFTkg6IHByb2R1Y2UgYmV0dGVyCgkgIG91dHB1dAoKMjAwNC0wOS0xNSAxMDozMiAgbWFydGluawoKCSogTW9kdWxlcy86IENNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLAoJICBDTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlLAoJICBDTWFrZURldGVybWluZUZvcnRyYW5Db21waWxlci5jbWFrZTogRU5IOiBkbyBub3QgY2hlY2sgZm9yIGdudQoJICBmb3IgdmlzdWFsIHN0dWRpbwoKMjAwNC0wOS0xNSAwOToyMiAgYW5keQoKCSogU291cmNlL2t3c3lzLzogQ29tbWFuZExpbmVBcmd1bWVudHMuY3h4LAoJICBDb21tYW5kTGluZUFyZ3VtZW50cy5oeHguaW46IEVOSDogTW92ZSBjYWxsYmFjayBzdHJ1Y3R1cmUgb3V0IG9mCgkgIHRoZSBwdWJsaWMgaW50ZXJmYWNlLiBBbHNvIGJsb2NrIHRoZSB3YXJuaW5nIG9uIFZpc3VhbCBTdHVkaW8KCSAgRGVidWcKCjIwMDQtMDktMTQgMTY6MzQgIGhvZmZtYW4KCgkqIFRlc3RzL1ZTRXh0ZXJuYWxJbmNsdWRlLzogQ01ha2VMaXN0cy50eHQ6IEVOSDogYWRkIGEgdGVzdCBmb3IKCSAgZXh0ZXJuYWwgcHJvamVjdHMKCjIwMDQtMDktMTQgMTY6MDEgIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvVlNFeHRlcm5hbEluY2x1ZGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1ZTRXh0ZXJuYWxJbmNsdWRlL21haW4uY3BwLAoJICBUZXN0cy9WU0V4dGVybmFsSW5jbHVkZS9MaWIxL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9WU0V4dGVybmFsSW5jbHVkZS9MaWIxL2xpYjEuY3BwLAoJICBUZXN0cy9WU0V4dGVybmFsSW5jbHVkZS9MaWIxL2xpYjEuaCwKCSAgVGVzdHMvVlNFeHRlcm5hbEluY2x1ZGUvTGliMi9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvVlNFeHRlcm5hbEluY2x1ZGUvTGliMi9saWIyLmNwcCwKCSAgVGVzdHMvVlNFeHRlcm5hbEluY2x1ZGUvTGliMi9saWIyLmg6IEVOSDogYWRkIGEgdGVzdCBmb3IgZXh0ZXJuYWwKCSAgcHJvamVjdHMKCjIwMDQtMDktMTQgMTQ6MDUgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUluY2x1ZGVFeHRlcm5hbE1TUHJvamVjdENvbW1hbmQuY3h4OiBidWcgZml4ZXMgZm9yIGV4dGVybmFsCgkgIHByb2plY3RzCgoyMDA0LTA5LTE0IDExOjQ4ICBtYXJ0aW5rCgoJKiBTb3VyY2Uva3dzeXMvOiBDb21tYW5kTGluZUFyZ3VtZW50cy5jeHgsCgkgIENvbW1hbmRMaW5lQXJndW1lbnRzLmh4eC5pbjogRVJSOiBGaXggYm9ybGFuZCBidWlsZAoKMjAwNC0wOS0xNCAxMTozOSAgYW5keQoKCSogU291cmNlL2t3c3lzL0NvbW1hbmRMaW5lQXJndW1lbnRzLmN4eDogRVJSOiBBZGQgbWlzc2luZyBpbmNsdWRlCgoyMDA0LTA5LTE0IDEwOjM0ICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvOiBDb21tYW5kTGluZUFyZ3VtZW50cy5jeHgsCgkgIENvbW1hbmRMaW5lQXJndW1lbnRzLmh4eC5pbjogRU5IOiBVc2UgY29uc3QgY29ycmVjdG5lc3MgZm9yCgkgIGFyZ3VtZW50cwoKMjAwNC0wOS0xNCAwOToxOSAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogZml4IGluY2x1ZGUgZXh0ZXJuYWwKCSAgcHJvamVjdCBidWcKCjIwMDQtMDktMTMgMTk6MDYgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy86IENvbW1hbmRMaW5lQXJndW1lbnRzLmN4eCwKCSAgdGVzdENvbW1hbmRMaW5lQXJndW1lbnRzLmN4eDogRVJSOiBNb3JlIG1pc3NpbmcgaW9zIGFuZCBpbmNsdWRlcwoKMjAwNC0wOS0xMyAxODo1NyAgYW5keQoKCSogU291cmNlL2t3c3lzL0NvbW1hbmRMaW5lQXJndW1lbnRzLmN4eDogRVJSOiBGaXggSU9TIG5hbWVzcGFjZQoKMjAwNC0wOS0xMyAxNjoxNSAgYW5keQoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIENvbW1hbmRMaW5lQXJndW1lbnRzLmN4eCwKCSAgQ29tbWFuZExpbmVBcmd1bWVudHMuaHh4LmluLCB0ZXN0Q29tbWFuZExpbmVBcmd1bWVudHMuY3h4OiBFTkg6CgkgIE1vdmUgY29tbWFuZCBsaW5lIGFyZ3VtZW50IHBhcnNpbmcgY29kZSB0byBrd3N5cwoKMjAwNC0wOS0xMCAxNDo0MCAgaG9mZm1hbgoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtYWtlbWFpbi5jeHg6IEVOSDogZml4IHdhcm5pbmcgY29ycmVjdGx5CgoyMDA0LTA5LTEwIDExOjE5ICBhbmR5CgoJKiBDTWFrZUxpc3RzLnR4dDogRU5IOiBBZGQgd2FybmluZyBtZXNzYWdlcyBpZiBjdXJzZXMgbGlicmFyeSBpcwoJICBub3QgZm91bmQKCjIwMDQtMDktMTAgMTE6MTUgIGFuZHkKCgkqIE1vZHVsZXMvRmluZFF0LmNtYWtlOiBFTkg6IFVzZSBGSU5EX1BBQ0tBR0UgaW5zdGVhZCBvZgoJICBJTkNMVURFKEZpbmQuLi4KCjIwMDQtMDktMTAgMDg6NDIgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogZml4IGRhc2g4IHdhcm5pbmcKCjIwMDQtMDktMTAgMDg6MzAgIG1hcnRpbmsKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuaDogZml4IEhQVVggYnVncwoKMjAwNC0wOS0wOSAxNjowNSAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9MaW51eC1pZm9ydC5jbWFrZTogYWRkIGlmb3J0IHN1cHBvcnQKCjIwMDQtMDktMDkgMTI6NTggIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbWFrZW1haW4uY3h4OiBXQVI6IHJlbW92ZSBhIHdhcm5pbmcgb24gaTY0CgoyMDA0LTA5LTA5IDExOjUwICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0hQLVVYLmNtYWtlOiB0cnkgdG8gZml4IGZvcnRyYW4gb24gaHAKCjIwMDQtMDktMDkgMTA6NTIgIG1hcnRpbmsKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0VGVzdEhhbmRsZXIuY3h4OiBtaXNzaW5nIGluY2x1ZGUKCjIwMDQtMDktMDkgMDk6MzEgIG1hcnRpbmsKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0Q292ZXJhZ2VIYW5kbGVyLmN4eDogbWlzc2luZyBpbmNsdWRlCgoyMDA0LTA5LTA5IDA4OjQxICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaCwKCSAgQ1Rlc3QvY21DVGVzdENvdmVyYWdlSGFuZGxlci5jeHgsIENUZXN0L2NtQ1Rlc3RDb3ZlcmFnZUhhbmRsZXIuaCwKCSAgQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmN4eCwgQ1Rlc3QvY21DVGVzdFRlc3RIYW5kbGVyLmgsCgkgIENUZXN0L2NtQ1Rlc3RVcGRhdGVIYW5kbGVyLmN4eDogbW9yZSBjbGVhbnVwIG9mIGN0ZXN0CgoyMDA0LTA5LTA4IDE3OjUzICBob2ZmbWFuCgoJKiBUZXN0cy9Gb3J0cmFuL0NNYWtlTGlzdHMudHh0OiBFTkg6IGFkZCBtb3JlIG91dHB1dCBmb3IgZm9ydHJhbiBzbwoJICBJIGNhbiBmaWd1cmUgb3V0IHdoYXQgaXMgZ29pbmcgb24gd2l0aCBvdGhlciBmb3J0cmFuIGNvbXBpbGVycwoKMjAwNC0wOS0wOCAxMDo0MSAgaG9mZm1hbgoKCSogU291cmNlLzogY21XaW4zMlByb2Nlc3NFeGVjdXRpb24uY3h4LCBjbVdpbjMyUHJvY2Vzc0V4ZWN1dGlvbi5oOgoJICBCVUc6IGRvbid0IGNsb3NlIHRoZSBwaXBlcyB0b28gZWFybHkKCjIwMDQtMDktMDcgMTY6NTUgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ2FjaGVNYW5hZ2VyLmN4eCwgY21EdW1wRG9jdW1lbnRhdGlvbi5jeHgsCgkgIGNtRW5hYmxlVGVzdGluZ0NvbW1hbmQuY3h4LCBjbUV4cG9ydExpYnJhcnlEZXBlbmRlbmNpZXMuY3h4LAoJICBjbUdsb2JhbENvZGVXYXJyaW9yR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwgY21NYWtlZmlsZS5jeHgsCgkgIGNtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4LCBjbVVzZU1hbmdsZWRNZXNhQ29tbWFuZC5jeHgsCgkgIGNtVlRLV3JhcFB5dGhvbkNvbW1hbmQuY3h4LCBjbVZUS1dyYXBUY2xDb21tYW5kLmN4eDogRU5IOiBhZGQKCSAgYmV0dGVyIGVycm9yIHJlcG9ydGluZyBmb3IgZmlsZSBvcGVuIGZhaWx1cmVzCgoyMDA0LTA5LTA3IDE2OjAzICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbVdpbjMyUHJvY2Vzc0V4ZWN1dGlvbi5jeHgsIGt3c3lzL1N5c3RlbVRvb2xzLmN4eDogRml4CgkgIGxlYWtlZCBmaWxlIGFuZCByZWdpc3RyeSBkZXNjcmlwdG9ycwoKMjAwNC0wOS0wNyAxMjo1MSAgbWFydGluawoKCSogU291cmNlLzogY21DVGVzdC5oLCBjbUNUZXN0LmN4eDogZHVoIGVycm9ycwoKMjAwNC0wOS0wNyAxMTo0NSAgbWFydGluawoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaDogbW9yZSB3YXJuaW5ncwoKMjAwNC0wOS0wNyAxMToyOCAgbWFydGluawoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eDogbW9yZSB3YXJuaW5ncwoKMjAwNC0wOS0wNyAxMDo0NiAgbWFydGluawoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBtb3JlIGNsZWFudXAKCjIwMDQtMDktMDcgMTA6MzcgIG1hcnRpbmsKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUNUZXN0LmN4eCwgY21DVGVzdC5oLAoJICBDVGVzdC9jbUNUZXN0QnVpbGRIYW5kbGVyLmN4eCwgQ1Rlc3QvY21DVGVzdEJ1aWxkSGFuZGxlci5oOiBtb3JlCgkgIGNsZWFudXAKCjIwMDQtMDktMDcgMDk6MTcgIG1hcnRpbmsKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUNUZXN0LmN4eCwgY21DVGVzdC5oLAoJICBDVGVzdC9jbUNUZXN0Q29uZmlndXJlSGFuZGxlci5jeHgsCgkgIENUZXN0L2NtQ1Rlc3RDb25maWd1cmVIYW5kbGVyLmgsIENUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdFNjcmlwdEhhbmRsZXIuaCwgQ1Rlc3QvY21DVGVzdFVwZGF0ZUhhbmRsZXIuY3h4LAoJICBDVGVzdC9jbUNUZXN0VXBkYXRlSGFuZGxlci5oOiBzb21lIGJ1ZyBmaXhlcyBmb3IgbXkgcmVjZW50CgkgIGNoZWNraW5zIGFuZCBzb21lIG1vcmUgY2xlYW51cAoKMjAwNC0wOS0wNiAxNDo0MyAgbWFydGluawoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTY3JpcHRIYW5kbGVyLmN4eDogYW5vdGhlciBwbGF0Zm9ybSBmaXgKCjIwMDQtMDktMDYgMTQ6MTcgIG1hcnRpbmsKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0U2NyaXB0SGFuZGxlci5oOiBhbm90aGVyIHBsYXRmb3JtIGZpeAoKMjAwNC0wOS0wNiAxMzo1NCAgbWFydGluawoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBqZXN1cwoKMjAwNC0wOS0wNiAxMzozNyAgbWFydGluawoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBvb3BzCgoyMDA0LTA5LTA2IDEyOjQ5ICBtYXJ0aW5rCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBmaXggd2FybmluZwoKMjAwNC0wOS0wNiAxMjo0NiAgbWFydGluawoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIGNtQ1Rlc3QuY3h4LCBjbUNUZXN0Lmg6IHN0YXJ0aW5nIGNsZWFudXAKCSAgb2YgY3Rlc3QKCjIwMDQtMDktMDYgMTI6NDYgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHg6IHdhcm5pbmcgZml4CgoyMDA0LTA5LTA2IDEyOjQ1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0U2NyaXB0SGFuZGxlci5jeHgsIGNtQ1Rlc3RTY3JpcHRIYW5kbGVyLmg6CgkgIGJyb2tlIG91dCBwYXJ0IG9mIHRlc3Qgc2NyaXB0aW5nIGludG8gc2VwZXJhdGUgY2xhc3MKCjIwMDQtMDktMDMgMTU6NDcgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWwsIE1vZHVsZXMvQ01ha2VUZXN0Rm9yRnJlZVZDLmN4eCwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlOiBtZXJnZSBmcm9tIG1haW4gdHJlZSBmaXggZm9yCgkgIGZyZWUgdmMgdG9vbHMKCjIwMDQtMDktMDMgMTU6MTkgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBDTWFrZVRlc3RGb3JGcmVlVkMuY3h4LCBQbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlOiBFTkgKCSAgYmV0dGVyIHRlc3QgZm9yIGZyZWUgVkMgdG9vbHMKCjIwMDQtMDktMDMgMTM6NDkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbENvZGVXYXJyaW9yR2VuZXJhdG9yLmN4eDogcmVtb3ZlIHdhcm5pbmcKCjIwMDQtMDktMDMgMTM6NDggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbENvZGVXYXJyaW9yR2VuZXJhdG9yLmN4eDogZml4IGZvciBkYXJ3aW4KCjIwMDQtMDktMDMgMTM6MjQgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBjbUxvY2FsR2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IHJlbW92ZSB3YXJuaW5ncwoKMjAwNC0wOS0wMyAxMjowMyAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZUNDb21waWxlci5jbWFrZS5pbiwKCSAgTW9kdWxlcy9DTWFrZUNYWENvbXBpbGVyLmNtYWtlLmluLAoJICBNb2R1bGVzL0NNYWtlRm9ydHJhbkNvbXBpbGVyLmNtYWtlLmluLAoJICBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDoKCSAgRU5IOiBkZWZpbmUgbGFuZ3VhZ2UgZXh0ZW5zaW9ucyBpbiBjbWFrZSBmaWxlcyBhbmQgbm90IGhhcmQKCSAgY29kZWQsIGFsc28gZml4IHRyeWNvbXBpbGUgcHJvYmxlbQoKMjAwNC0wOS0wMyAxMjowMSAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlOiBFTkg6IGNoZWNrIGZvciBtcyBmcmVlIGNvbW1hbmQKCSAgbGluZSB0b29scwoKMjAwNC0wOC0zMSAxODo1MSAga2luZwoKCSogU291cmNlL2NtTGlzdEZpbGVDYWNoZS5jeHg6IEJVRzogRml4ZWQgbGluZSBudW1iZXIgb2YgZW5kIG9mIGZpbGUKCSAgZXJyb3IgbWVzc2FnZS4KCjIwMDQtMDgtMzEgMTg6MzkgIGtpbmcKCgkqIFNvdXJjZS86IGNtTGlzdEZpbGVDYWNoZS5jeHgsIGNtTGlzdEZpbGVMZXhlci5jLAoJICBjbUxpc3RGaWxlTGV4ZXIuaCwgY21MaXN0RmlsZUxleGVyLmluLmw6IEJVRyMxMDQ5OiBBZGRlZCBlcnJvcgoJICBtZXNzYWdlIHdoZW4gZmlsZSBlbmRzIGluIGFuIHVudGVybWluYXRlZCBzdHJpbmcuCgoyMDA0LTA4LTMxIDEwOjQxICBraW5nCgoJKiBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHg6IEJVRzogRml4IGNyYXNoIHdoZW4gQ01BS0VfREVCVUdfUE9TVEZJWAoJICBpcyBub3Qgc2V0LgoKMjAwNC0wOC0zMSAxMDoyMCAgYW5keQoKCSogRGFydENvbmZpZy5jbWFrZTogRU5IOiBDbGVhbnVwcwoKMjAwNC0wOC0zMSAwODoyNSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzX2lvc19pb3Nmd2QuaC5pbjogRVJSOiBSZW1vdmVkIGluY2x1c2lvbiBvZgoJICBmc3RyZWFtIGhlYWRlci4gIFRoaXMgZmlsZSBpcyBtZWFudCBhcyBhIGNvbXBhdGliaWxpdHkgaGVhZGVyIGZvcgoJICBpb3Nmd2QgYW5kIHRoZXJlZm9yZSBzaG91bGQgbm90IGluY2x1ZGUgYW55IG90aGVyIGhlYWRlci4KCSAgV2hhdGV2ZXIgd2FzIGZpeGVkIGJ5IGFkZGluZyB0aGUgaW5jbHVkZSBvZiBmc3RyZWFtIGhlcmUgc2hvdWxkCgkgIGJlIGZpeGVkIGJ5IG90aGVyIG1lYW5zLgoKMjAwNC0wOC0zMCAxNToxNSAgaG9mZm1hbgoKCSogQ2hhbmdlTG9nLm1hbnVhbCwgU291cmNlL2NtQ1Rlc3QuY3h4OiBtZXJnZSBmaXhlcyBmcm9tIG1haW4gdHJlZQoKMjAwNC0wOC0zMCAxNDowNyAgaG9mZm1hbgoKCSogQ2hhbmdlTG9nLm1hbnVhbCwgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5jeHg6CgkgIGZpeCBSVU5fVEVTVFMgYW5kIGdlbmVyYXRlZCBoZWFkZXIgZmlsZXMgbWVyZ2UgZnJvbSBtYWluIHRyZWUKCjIwMDQtMDgtMzAgMTQ6MDEgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWwsIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWdjYy5jbWFrZSwgU291cmNlL2NtU3lzdGVtVG9vbHMuaCwKCSAgVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogbWVyZ2UgZnJvbSBtYWluIHRyZWUKCjIwMDQtMDgtMzAgMTM6NTAgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuaCwga3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBCVUc6IGZpeGVzIGZvcgoJICBtaW5ndyBhbmQgQ01ha2VzZXR1cCB3aXRoIHNwYWNlcyBpbiB0aGUgc291cmNlIGRpcmVjdG9yeQoKMjAwNC0wOC0zMCAxMjoxNCAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWdjYy5jbWFrZTogTWFrZSBzdXJlIGNtYWtlIHVzZXMKCSAgY29uc2lzdGVudCBtb2R1bGUgcHJlZml4ZXMKCjIwMDQtMDgtMjcgMDk6NTUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmg6IEVOSDogcmVtb3ZlIHdhcm5pbmcKCjIwMDQtMDgtMjcgMDg6NDEgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtR2xvYmFsQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxCb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxDb2RlV2FycmlvckdlbmVyYXRvci5jeHgsIGNtR2xvYmFsQ29kZVdhcnJpb3JHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5oLAoJICBjbUdsb2JhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsCgkgIGNtUHJvamVjdENvbW1hbmQuY3h4OiBFTkg6IHRyeSB0byBpbml0aWFsaXplIGFsbCBsYW5ndWFnZXMgYXQgdGhlCgkgIHNhbWUgdGltZQoKMjAwNC0wOC0yNiAyMjo1MiAgYW5keQoKCSogTW9kdWxlcy86IENNYWtlQmFja3dhcmRDb21wYXRpYmlsaXR5Qy5jbWFrZSwKCSAgQ01ha2VCYWNrd2FyZENvbXBhdGliaWxpdHlDWFguY21ha2UsIERvY3VtZW50YXRpb24uY21ha2UsCgkgIEZpbmRGTFRLLmNtYWtlLCBGaW5kR0xVLmNtYWtlLCBGaW5kR251cGxvdC5jbWFrZSwKCSAgRmluZE9wZW5HTC5jbWFrZSwgRmluZFBORy5jbWFrZSwgRmluZFBlcmwuY21ha2UsCgkgIEZpbmRQeXRob25MaWJzLmNtYWtlLCBGaW5kUXQuY21ha2UsIEZpbmRTZWxmUGFja2Vycy5jbWFrZSwKCSAgRmluZFRDTC5jbWFrZSwgRmluZFRocmVhZHMuY21ha2UsIEZpbmRVbml4Q29tbWFuZHMuY21ha2UsCgkgIEZpbmRWVEsuY21ha2UsIEZpbmRXZ2V0LmNtYWtlLCBGaW5kWDExLmNtYWtlLAoJICBGaW5kd3hXaWRnZXRzLmNtYWtlLCBGaW5kd3hXaW5kb3dzLmNtYWtlLAoJICBUZXN0Rm9yQU5TSVN0cmVhbUhlYWRlcnMuY21ha2UsIFVzZVZUSzQwLmNtYWtlLAoJICBVc2Vfd3hXaW5kb3dzLmNtYWtlLCBVc2V3eFdpZGdldHMuY21ha2UsCgkgIFBsYXRmb3JtL0NZR1dJTi1nNzcuY21ha2U6IEVOSDogQ2xlYW51cC4gVXNlIHJlbGF0aXZlIHBhdGggdG8KCSAgbW9kdWxlcwoKMjAwNC0wOC0yNiAyMTo0MyAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9TdW5PUy5jbWFrZTogaGFjayB0byB0cnkgYW5kIGZpeCBzdW4gcGxhdGZvcm0KCjIwMDQtMDgtMjYgMTg6MDAgIGtpbmcKCgkqIERvY3MvY21ha2UtbW9kZS5lbDogQlVHOiBPbmx5IGNvdW50IGJsb2NrIG9wZW4gdG9rZW5zIGlmIHRoZXkgYXJlCgkgIGZvbGxvd2VkIGJ5IGFuIG9wZW4gcGFyZW4uCgoyMDA0LTA4LTI2IDE3OjQ5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21UcnlDb21waWxlQ29tbWFuZC5jeHg6IEVOSDogdHJ5IGNvbXBpbGVzIGluIENYWCByZXF1aXJlCgkgIEMgdG8gYmUgZW5hYmxlZCBhcyB3ZWxsCgoyMDA0LTA4LTI2IDE2OjM0ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lRm9ydHJhbkNvbXBpbGVyLmNtYWtlLAoJICBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogdHJ5IHRvIGZpbmQgZm9ydHJhbiBjb21waWxlciBiZWZvcmUKCSAgYWRkaW5nIHRoZSB0ZXN0CgoyMDA0LTA4LTI2IDE2OjExICBob2ZmbWFuCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogdHJ5IHRvIGZpbmQgZm9ydHJhbiBjb21waWxlciBiZWZvcmUKCSAgYWRkaW5nIHRoZSB0ZXN0CgoyMDA0LTA4LTI2IDE2OjAwICBob2ZmbWFuCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IHJlbW92ZSB0ZXN0IGZvcnRyYW4gZm9yIG5vdwoKMjAwNC0wOC0yNiAxNTo1NSAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBBZGQgYSBmb3J0cmFuIHRlc3QgaWYgdGhlcmUgaXMgYSBmb3J0cmFuCgkgIGNvbXBpbGVyCgoyMDA0LTA4LTI2IDE1OjUwICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lRm9ydHJhbkNvbXBpbGVyLmNtYWtlLAoJICBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEFkZCBhIGZvcnRyYW4gdGVzdCBpZiB0aGVyZSBpcyBhIGZvcnRyYW4KCSAgY29tcGlsZXIKCjIwMDQtMDgtMjYgMTQ6NTUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2UuY21ha2UsIE1vZHVsZXMvQ01ha2VDSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VDWFhJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUNvbW1vbkxhbmd1YWdlSW5jbHVkZS5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURlZmF1bHRNYWtlUnVsZVZhcmlhYmxlcy5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lRm9ydHJhbkNvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lSmF2YUNvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRm9ydHJhbkNvbXBpbGVyLmNtYWtlLmluLAoJICBNb2R1bGVzL0NNYWtlRm9ydHJhbkluZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlR2VuZXJpY1N5c3RlbS5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUphdmFDb21waWxlci5jbWFrZS5pbiwKCSAgTW9kdWxlcy9DTWFrZUphdmFJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVN5c3RlbVNwZWNpZmljSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VUZXN0Rm9ydHJhbkNvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL0FJWC5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9CU0RPUy5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9DWUdXSU4uY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vRGFyd2luLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL0ZyZWVCU0QuY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vSFAtVVguY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vSVJJWC5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9JUklYNjQuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vTGludXguY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vTVAtUkFTLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL05ldEJTRC5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9PU0YxLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL09wZW5CU0QuY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vUklTQ29zLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1NDT19TVi5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9TSU5JWC5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9TdW5PUy5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9UcnVlNjQuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vVUxUUklYLmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL1VOSVhfU1YuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vVW5peFdhcmUuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1nY2MuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1pZm9ydC5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9YZW5peC5jbWFrZSwgU291cmNlL0NNYWtlTGlzdHMudHh0LAoJICBTb3VyY2UvY21HbG9iYWxCb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTGlzdEZpbGVDYWNoZS5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtUHJvamVjdENvbW1hbmQuY3h4LCBTb3VyY2UvY21UcnlDb21waWxlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbWFrZS5jeHgsIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9Gb3J0cmFuL0NNYWtlTGlzdHMudHh0OiBFTkg6IG1vcmUgdW5pZm9ybSBhcHByb2FjaCB0bwoJICBlbmFibGUgbGFuZ3VhZ2UsIG9uZSBzdGVwIGNsb3NlciB0byBiZWluZyBhYmxlIHRvIGVuYWJsZSBhCgkgIGxhbmd1YWdlIHdpdGhvdXQgbW9kaWZpbmcgY21ha2Ugc291cmNlIGNvZGUKCjIwMDQtMDgtMjYgMDk6NDUgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0Lmg6IEVOSDogTWFrZSBkZWZhdWx0IGRhdGUgc2hvcnRlcgoKMjAwNC0wOC0yNSAxMjo0MiAgaG9mZm1hbgoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFTkg6IGJldHRlciBlcnJvciBkaXNwbGF5IGZvciBmYWlsdXJlCgoyMDA0LTA4LTI1IDA4OjQ0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogcHJvZHVjZSBiZXR0ZXIgZXJyb3IgbWVzc2FnZSBmb3IgbWlzc2luZwoJICB2YXJpYWJsZXMgaW4gLVMgbW9kZQoKMjAwNC0wOC0yNCAxMTozMCAgYW5keQoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFUlI6IEZpeCB0aGUgbGlzdCBvZgoJICB0YXJnZXRzLiBUaGUgYmFzZSB0YXJnZXQgbmFtZSBub3cgaW5jbHVkZXMgdGhlIE1BQ09TWF9CVU5ETEUgcGF0aAoKMjAwNC0wOC0yNCAxMToxNyAgYW5keQoKCSogU291cmNlL2NtQWRkRXhlY3V0YWJsZUNvbW1hbmQuY3h4OiBCVUc6IElmIG1hY2RpciBkb2VzIG5vdCBlbmQKCSAgd2l0aCAnLycgdGhlbiBhZGQgaXQgYWx3YXlzLCBub3QganVzdCB3aGVuIGFkZGluZyBjdXJyZW50CgkgIGRpcmVjdG9yeQoKMjAwNC0wOC0yMyAxNDozMyAgYW5keQoKCSogU291cmNlL2NtYWtlLmN4eDogRU5IOiBJbXBsZW1lbnQgUHJlTG9hZC5jbWFrZSBmZWF0dXJlIGZvcgoJICBDTWFrZVNldHVwCgoyMDA0LTA4LTIzIDE0OjA5ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ1Rlc3QvQ01ha2VMaXN0cy50eHQ6IGZpeCBzeW50YXgKCjIwMDQtMDgtMjMgMTM6NDUgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBTb3VyY2UvQ1Rlc3QvQ01ha2VMaXN0cy50eHQ6IEVOSDogZml4IG91dCBvZiB0aGUKCSAgYm94IGJ1aWxkIG9uIHNnaSB0byBtYXRjaCBkYXNoYm9hcmRzCgoyMDA0LTA4LTIzIDExOjMzICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRKYXZhLmNtYWtlOiBCVUc6IDExMDcgYWRkIGV4dHJhIHBsYWNlIHRvIGxvb2sgZm9yCgkgIGphdmEKCjIwMDQtMDgtMjMgMTE6MjkgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogbm93IHdpbGwgY2hlY2sgb3V0IHNyYyBkaXIgaWYgaXQgaGFzIHRoZSBuZWNjCgkgIGluZm8KCjIwMDQtMDgtMjMgMTE6MjEgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZEphdmEuY21ha2U6IEJVRzogMTEwNyBhZGQgZXh0cmEgcGxhY2UgdG8gbG9vayBmb3IKCSAgamF2YQoKMjAwNC0wOC0xOSAxMjo1MSAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFTkg6IEhhbmRsZSBnbWFrZSBlcnJvciBtZXNzYWdlCgoyMDA0LTA4LTE4IDA5OjI4ICBhbmR5CgoJKiBNb2R1bGVzL0NNYWtlU3lzdGVtU3BlY2lmaWNJbmZvcm1hdGlvbi5jbWFrZTogQlVHOiBVbmx5IHNldCBnY2MKCSAgZmxhZ3MgZm9yIEMgY29tcGlsZXIgaWYgQ01BS0VfQ09NUElMRVJfSVNfR05VQ0MgaXMgc2V0CgoyMDA0LTA4LTE4IDA4OjUyICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEJVRzogV2hlbiBHZXROaWdodGx5VGltZSByZXR1cm5zIHBhc3QgdGltZSwKCSAgZml4IGV2ZXJ5dGhpbmcuIEFsc28sIHJldHVybiBjb3JyZWN0IHRpbWUgd2hlbiBwcmludGluZwoKMjAwNC0wOC0xNyAxOToxOCAgYW5keQoKCSogTW9kdWxlcy9QbGF0Zm9ybS9EYXJ3aW4teGxjLmNtYWtlOiBFTkg6IEluaXRpYWwgaW1wb3J0IGZvciBEYXJ3aW4KCSAgdXNpbmcgeGxDCgoyMDA0LTA4LTE3IDE2OjEzICBhbmR5CgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTWFpbkZvcm0uY3h4OiBFTkg6IFJlbG9hZAoJICBQcmVMb2FkLmNtYWtlIGV2ZXJ5IHRpbWUgeW91IGRvIGNvbmZpZ3VyZQoKMjAwNC0wOC0xNyAxNTozNiAgYW5keQoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9jbUN1cnNlc01haW5Gb3JtLmN4eDogRU5IOiBFbmFibGUgcHJlbG9hZCBmb3IKCSAgY2NtYWtlCgoyMDA0LTA4LTE3IDE1OjM2ICBhbmR5CgoJKiBTb3VyY2UvOiBjbWFrZS5jeHgsIGNtYWtlLmg6IEVOSDogTW92ZSBQcmVMb2FkLmNtYWtlIGNvZGUgdG8KCSAgcHVibGljIG1ldGhvZCBzbyB0aGF0IGNjbWFrZSBhbmQgQ01ha2VTZXR1cCBjYW4gY2FsbCBpdAoKMjAwNC0wOC0xNyAxNDoyMyAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBCVUc6IEF0dGVtcHQgdG8gZml4IHRpbWV6b25lIHByb2JsZW0gd2hlcmUKCSAgc3RhcnQgdGltZSBhcHBlYXJzIG9uZSBkYXkgYmVmb3JlIHRoZSBhY3R1YWwgc3RhcnQgdGltZS4gQWxzbyBhZGQKCSAgdmVyYm9zaXR5IHRvIEdldE5pZ2h0bHlUaW1lCgoyMDA0LTA4LTE2IDA5OjAzICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jb25maWdfSVJJWDY0OiBCVUc6IE5lZWQgdG8gc2V0IEhBVkVfTElCQ1JZUFRPCgkgIHRvIDAgaW5zdGVhZCBvZiBsZXR0aW5nIHRoZSB0ZXN0IGJlIGRvbmUuCgoyMDA0LTA4LTExIDIwOjM2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IGZpeCBpdAoKMjAwNC0wOC0xMSAxNjo1OCAgaG9mZm1hbgoKCSogU291cmNlLzogY21BYnN0cmFjdEZpbGVzQ29tbWFuZC5jeHgsIGNtQWRkRXhlY3V0YWJsZUNvbW1hbmQuY3h4LAoJICBjbUNyZWF0ZVRlc3RTb3VyY2VMaXN0LmN4eCwgY21HbG9iYWxDb2RlV2FycmlvckdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwgY21VdGlsaXR5U291cmNlQ29tbWFuZC5jeHg6CgkgIEVOSDogdXNlIEdldFJlcXVpcmVkRGVmaW5pdGlvbiBpbnN0ZWFkIG9mIEdldERlZmluaXRpb24gYW5kIGNyYXNoCgoyMDA0LTA4LTExIDE2OjU3ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBFTkg6IGNoYW5nZSBSVU5fVEVTVFMgdG8gdXNlCgkgIC1DIGFuZCBub3QgLUQgYWxzbyB1c2UgR2V0UmVxdWlyZWREZWZpbml0aW9uIHdoZXJlIG5lZWRlZAoKMjAwNC0wOC0xMSAxNjozNyAgaG9mZm1hbgoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFTkg6IGZpeGVzIGZvciBSVU5fVEVTVFMgZnJvbSB2aXN1YWwgc3R1ZGlvCgkgIElERSwgZnByaW50ZiBkb2VzIG5vdCBwcmludCByaWdodCBhd2F5LCBzbyBzdGQ6OmNlcnIgaGFkIHRvIGJlCgkgIHVzZWQuICBBbHNvLCBhbGxvdyAuXCB0byBzdGFydCB0aGUgY29uZmlnIHR5cGUKCjIwMDQtMDgtMTEgMTY6MzUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlVGVzdEZvcnRyYW5Db21waWxlci5jbWFrZSwgU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OgoJICBFTkg6IG1pbm9yIGZvcnRyYW4gZml4ZXMKCjIwMDQtMDgtMTEgMDk6MzEgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2cubWFudWFsLCBEYXJ0Q29uZmlnLmNtYWtlLAoJICBEb2NzL2NtYWtlLW1vZGUuZWwsIE1vZHVsZXMvQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlVlM4RmluZE1ha2UuY21ha2UsIE1vZHVsZXMvRGFydC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kRG94eWdlbi5jbWFrZSwgTW9kdWxlcy9GaW5kRkxUSy5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kS0RFLmNtYWtlLCBNb2R1bGVzL0ZpbmRRdC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kU1dJRy5jbWFrZSwgTW9kdWxlcy9Vc2VTV0lHLmNtYWtlLAoJICBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbUF1eFNvdXJjZURpcmVjdG9yeUNvbW1hbmQuaCwKCSAgU291cmNlL2NtQ1Rlc3QuY3h4LCBTb3VyY2UvY21DVGVzdC5oLCBTb3VyY2UvY21Db21tYW5kcy5jeHgsCgkgIFNvdXJjZS9jbUNyZWF0ZVRlc3RTb3VyY2VMaXN0LmN4eCwgU291cmNlL2NtRHluYW1pY0xvYWRlci5jeHgsCgkgIFNvdXJjZS9jbUV4ZWNQcm9ncmFtQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUZMVEtXcmFwVUlDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21HZXRUYXJnZXRQcm9wZXJ0eUNvbW1hbmQuaCwKCSAgU291cmNlL2NtR2xvYmFsQ29kZVdhcnJpb3JHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvOEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzhHZW5lcmF0b3IuaCwgU291cmNlL2NtSWZDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtSWZDb21tYW5kLmgsIFNvdXJjZS9jbUxpbmtMaWJyYXJpZXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtTGlzdEZpbGVMZXhlci5jLCBTb3VyY2UvY21MaXN0RmlsZUxleGVyLmluLmwsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21RVFdyYXBDUFBDb21tYW5kLmN4eCwgU291cmNlL2NtUVRXcmFwVUlDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtU3ViZGlyQ29tbWFuZC5oLCBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHgsCgkgIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmgsIFNvdXJjZS9jbVRhcmdldC5jeHgsCgkgIFNvdXJjZS9jbVRhcmdldExpbmtMaWJyYXJpZXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtVHJ5UnVuQ29tbWFuZC5jeHgsIFNvdXJjZS9jbVVzZU1hbmdsZWRNZXNhQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVdpbjMyUHJvY2Vzc0V4ZWN1dGlvbi5jeHgsIFNvdXJjZS9jbWFrZS5jeHgsCgkgIFNvdXJjZS9jbWFrZXdpemFyZC5oLCBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN1Ym1pdC5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3VibWl0LmgsCgkgIFNvdXJjZS9DdXJzZXNEaWFsb2cvY21DdXJzZXNNYWluRm9ybS5jeHgsCgkgIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dCwgU291cmNlL2t3c3lzL1Byb2Nlc3NVTklYLmMsCgkgIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHgsCgkgIFRlbXBsYXRlcy9DTWFrZVdpbmRvd3NTeXN0ZW1Db25maWcuY21ha2UsCgkgIFRlbXBsYXRlcy9UZXN0RHJpdmVyLmN4eC5pbiwgVGVzdHMvU2ltcGxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9TaW1wbGVJbnN0YWxsL2luc3QuY3h4LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsL2xpYjQuY3h4LCBUZXN0cy9TaW1wbGVJbnN0YWxsL2xpYjQuaCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbC9UZXN0U3ViRGlyL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsL1Rlc3RTdWJEaXIvVFNELmN4eCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbC9UZXN0U3ViRGlyL1RTRC5oLAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsL1Rlc3RTdWJEaXIvVFNEX3V0aWxzLmN4eCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvaW5zdC5jeHgsIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9saWI0LmN4eCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL2xpYjQuaCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL1Rlc3RTdWJEaXIvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9UZXN0U3ViRGlyL1RTRC5jeHgsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9UZXN0U3ViRGlyL1RTRC5oLAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvVGVzdFN1YkRpci9UU0RfdXRpbHMuY3h4LAoJICBVdGlsaXRpZXMvRG94eWdlbi9DTWFrZUxpc3RzLnR4dCwKCSAgVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogTW92aW5nIGxhdGVzdCByZWxlYXNlIGJyYW5jaAoJICB0byBDTWFrZS0yLTAtMy4KCjIwMDQtMDgtMDkgMTg6MzkgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUluY2x1ZGVDb21tYW5kLmN4eDogRU5IOiBBbGxvdyB1c2VyIHRvIG92ZXJ3cml0ZQoJICBQbGF0Zm9ybXMgZmlsZXMKCjIwMDQtMDgtMDkgMTg6MjAgIG1hcnRpbmsKCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1pY2wuY21ha2U6IEVOSDogSW5pdGlhbCBpbXBvcnQKCjIwMDQtMDgtMDkgMTc6NDIgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEJVRzogZml4IGZvciB0cnkgcnVuIGZhaWxpbmcgb24KCSAgc29tZSBjeWd3aW4gYnVpbGRzLiAgQWxsb3cgYSBkcml2ZXIgbGV0dGVyIHRvIHN0YXJ0IGEgZnVsbCBwYXRoCgkgIG9uIGN5Z3dpbgoKMjAwNC0wOC0wOSAxMzowMyAgaG9mZm1hbgoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBCVUc6IGZpeCBidWcgd2hlcmUgY3VzdG9tIGNvbW1hbmQKCSAgZ2VuZXJhdGVkIC5oIGZpbGVzIGRvIG5vdCBnZXQgdGhlIGhlYWRlcl9maWxlX29ubHkgZmxhZyBzZXQKCjIwMDQtMDgtMDYgMTU6MDUgIGhvZmZtYW4KCgkqIFRlc3RzL0ZvcnRyYW4vOiBDTWFrZUxpc3RzLnR4dCwgaGVsbG8uZjogRU5IOiBpbml0aWFsIGZvcnRyYW4KCjIwMDQtMDgtMDYgMTQ6NTEgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VEZWZhdWx0TWFrZVJ1bGVWYXJpYWJsZXMuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVGb3J0cmFuQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VGb3J0cmFuQ29tcGlsZXIuY21ha2UuaW4sCgkgIE1vZHVsZXMvQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlVGVzdEZvcnRyYW5Db21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9DWUdXSU4tZzc3LmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL2c3Ny5jbWFrZSwKCSAgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmgsIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwKCSAgU291cmNlL2NtU3lzdGVtVG9vbHMuaCwgU291cmNlL2NtVGFyZ2V0LmN4eCwgU291cmNlL2NtVGFyZ2V0LmgsCgkgIFNvdXJjZS9jbVRyeUNvbXBpbGVDb21tYW5kLmN4eDogRU5IOiBpbml0aWFsIGZvcnRyYW4gc3VwcG9ydAoKMjAwNC0wOC0wNSAxMTo1OSAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kUXQuY21ha2U6IEVOSDogcmVtb3ZlIHZlcmJvc2UgUVQgbWVzc2FnZQoKMjAwNC0wOC0wNSAxMTo1MSAga2luZwoKCSogU291cmNlL2NtQWRkRXhlY3V0YWJsZUNvbW1hbmQuY3h4OiBFUlI6IFJlcGxhY2luZyBoYWNrIGNhbGwgdG8KCSAgQ09ORklHVVJFX0ZJTEUgY29tbWFuZCB3aXRoIGRpcmVjdCBjYWxsIHRvCgkgIG1fTWFrZWZpbGUtPkNvbmZpZ3VyZUZpbGUuCgoyMDA0LTA4LTA1IDEwOjI3ICBraW5nCgoJKiBDaGFuZ2VMb2cubWFudWFsLCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRyM0Mjc6IE1lcmdpbmcgZml4IHRvCgkgIENNYWtlIDIuMCByZWxlYXNlIGJyYW5jaC4KCjIwMDQtMDgtMDUgMTA6MTcgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6CgkgIEJVRyM0Mjc6IEdlbmVyYXRlZCBtYWtlZmlsZXMgbmVlZCB0byBoYXZlIHRhcmdldHMgd2l0aCBjYW5vbmljYWwKCSAgbmFtZXMgZm9yIGVhY2ggZXhlY3V0YWJsZSBhbmQgbGlicmFyeSB0YXJnZXQgaW4gb3JkZXIgZm9yCgkgIHRyeS1jb21waWxlcyB0byB3b3JrIGNvcnJlY3RseSB3aGVuIHNwZWNpZnlpbmcgdGhlIHRhcmdldC4KCjIwMDQtMDgtMDUgMDk6MjkgIGtpbmcKCgkqIENoYW5nZUxvZy5tYW51YWwsIFNvdXJjZS9jbUdsb2JhbENvZGVXYXJyaW9yR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsQ29kZVdhcnJpb3JHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwKCSAgU291cmNlL2NtVHJ5UnVuQ29tbWFuZC5jeHg6IE1lcmdpbmcgZml4ZXMgZnJvbSBtYWluIHRyZWUuICBTZWUKCSAgQ2hhbmdlTG9nLm1hbnVhbCBzZWN0aW9uIG9uIDIuMC40IGZvciBkZXRhaWxzLgoKMjAwNC0wOC0wNSAwOToxNyAga2luZwoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBGaXhlZCBjcmFzaCB3aGVuCgkgIENNQUtFX0NYWF9TVEFDS19TSVpFIGlzIG5vdCBkZWZpbmVkLgoKMjAwNC0wOC0wNCAxNzoyNCAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBCVUc6IEZpeCBjcmFzaCB3aGVuIGFkZGluZyBhIGN1c3RvbQoJICBjb21tYW5kIHRvIGEgc291cmNlIGZpbGUgdGhhdCBjYW5ub3QgYmUgY3JlYXRlZC4KCjIwMDQtMDgtMDQgMTc6MjEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVRyeVJ1bkNvbW1hbmQuY3h4OiBFTkg6IGFsbG93IGRlYnVnIG9mIHRyeXJ1bgoKMjAwNC0wOC0wNCAxNjozMyAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxDb2RlV2FycmlvckdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsQ29kZVdhcnJpb3JHZW5lcmF0b3IuaCwgY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbEdlbmVyYXRvci5oLCBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsIGNtTWFrZWZpbGUuY3h4OiBCVUc6CgkgIENNQUtFX1RSWV9DT01QSUxFX0NPTkZJR1VSQVRJT04gc2hvdWxkIGJlIG9idGFpbmVkIGZyb20gdGhlCgkgIGNtTWFrZWZpbGUgaW5zdGFuY2UgZm9yIHRoZSBsaXN0ZmlsZSBjb250YWluaW5nIHRoZSBUUllfQ09NUElMRQoJICBjYWxsLCBub3QgdGhlIHRvcCBsZXZlbCBsaXN0ZmlsZS4KCjIwMDQtMDgtMDQgMTQ6MzQgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogRVJSOiBSZW1vdmVkIGR1cGxpY2F0ZSBkZWZhdWx0IGFyZ3VtZW50cy4KCjIwMDQtMDgtMDQgMTM6MDUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbWFrZS5jeHg6IGZpeCBpbmNvcnJlY3Qgc2VsZWN0aW9uIG9mIHZpc3VhbCBzdHVkaW8KCSAgZ2VuZXJhdG9yCgoyMDA0LTA4LTA0IDEwOjQ1ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNQbHVnaW5BUEkuY3h4LCBjbUZvckVhY2hDb21tYW5kLmN4eCwKCSAgY21MaXN0RmlsZUNhY2hlLmN4eCwgY21MaXN0RmlsZUNhY2hlLmgsIGNtTWFjcm9Db21tYW5kLmN4eCwKCSAgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaDogRU5IOiBBZGRlZCBzdXBwb3J0IGZvciBzcGVjaWFsCgkgIHZhcmlhYmxlcyBDTUFLRV9DVVJSRU5UX0xJU1RfRklMRSBhbmQgQ01BS0VfQ1VSUkVOVF9MSVNUX0xJTkUKCSAgdGhhdCBldmFsdWF0ZSB0byB0aGUgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlciBpbiB3aGljaCB0aGV5CgkgIGFwcGVhci4gIFRoaXMgaW1wbGVtZW50cyB0aGUgZmVhdHVyZSByZXF1ZXN0IGZyb20gYnVnIDEwMTIuCgoyMDA0LTA4LTA0IDEwOjAwICBraW5nCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBCVUc6IEZpeGVkIHR5cG8gaW4gbmFtZSBvZiBNU1ZDIDggcmVnaXN0cnkga2V5LgoKMjAwNC0wOC0wNCAwODo1MCAgYW5keQoKCSogU291cmNlL2NtSWZDb21tYW5kLmN4eDogRVJSOiBGaXggd2FybmluZ3MgYW5kIG1lbW9yeSBsZWFrCgoyMDA0LTA4LTAzIDEwOjIwICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvOiBTeXN0ZW1Ub29scy5jeHgsIFN5c3RlbVRvb2xzLmh4eC5pbjogRU5IOiBjcmVhdGUgYQoJICBzZXJ2ZXIgdGhhdCBkb2VzIG5vdCB1c2UgdnRrUFZBcHBsaWNhdGlvbiBvciB0Y2wgd3JhcHBpbmcuICBNb3ZlCgkgIHNldmVyYWwgY2xhc3NlcyBmcm9tIEdVSS9DbGllbnQgdG8gU2VydmVycy9GaWx0ZXJzLiBSZW1vdmUgdXNlIG9mCgkgIFBBUkFWSUVXX05FV19TT1VSQ0VfT1JHQU5JWkFUSU9OIGRlZmluZS4KCjIwMDQtMDgtMDMgMDg6MTMgIGFuZHkKCgkqIFNvdXJjZS86IGNtSWZDb21tYW5kLmN4eCwgY21JZkNvbW1hbmQuaDogQlVHOiBXaGVuIHJlZ3VsYXIKCSAgZXhwcmVzc2lvbiBmYWlsZXMgdG8gY29tcGlsZSwgcHJvZHVjZSBlcnJvcjogRml4ZXMgcGFydCBvZiBCdWcKCSAgIzEwMjUgLSBDTWFrZSBzaWxlbnRseSBpZ25vcmVzIHJlZ3VsYXIgZXhwcmVzc2lvbiBmYWlsdXJlCgoyMDA0LTA4LTAyIDA4OjM2ICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEJVRzogdGhlc2UgZmxhZ3MgZG8gbm90IHRha2UgYXJndW1lbnRzLCBzbwoJICB0aGV5IGRvIG5vdCByZWFsbHkgbmVlZCB0byBjaGVjayBpZiB0aGV5IGFyZSBsYXN0LiBGaXhlcyBCdWcKCSAgIzEwMjAgLSBjdGVzdCBkb2Vzbid0IHBhcnNlIGl0cyBvcHRpb25zIGNvcnJlY3RseQoKMjAwNC0wNy0zMCAxNTo1MCAgYW5keQoKCSogU291cmNlLzogY21JbnN0YWxsRmlsZXNDb21tYW5kLmgsIGNtSW5zdGFsbFByb2dyYW1zQ29tbWFuZC5oLAoJICBjbUluc3RhbGxUYXJnZXRzQ29tbWFuZC5oOiBFTkg6IFNpbmNlIGluc3RhbGwgd29ya3Mgb24gV2luZG93cwoJICB0b28sIHJlbW92ZSB0aGUgVU5JWAoKMjAwNC0wNy0zMCAwOTo0MiAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IGNoYW5nZQoJICB2ZXJzaW9uIHRvIDIuMC4zCgoyMDA0LTA3LTI5IDE3OjE1ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21DVGVzdC5oOiBFTkg6IEFkZCBzb21lIGRvY3VtZW50YXRpb24sIGFuZAoJICBtYWtlIHN1cmUgdGhhdCB0aGUgZmxhZyBnaXZlbiB0byAtRCAtVCBvciAtTSBpcyB2YWxpZC4gRml4ZXMgQnVnCgkgICMxMDE1IC0gRG9jdW1lbnRhdGlvbjogY3Rlc3QgLUQKCjIwMDQtMDctMjkgMTc6MDcgIGFuZHkKCgkqIE1vZHVsZXMvRGFydC5jbWFrZTogRU5IOiBBZGQgTWVtQ2hlY2sgdG8gdGhlIGxpc3Qgb2YgTWFrZQoJICB0YXJnZXRzLiBDbG9zZXMgQnVnICMxMDE2IC0gVGVzdGluZyB0YXJnZXRzIGluIE1ha2VmaWxlCgoyMDA0LTA3LTI5IDE1OjI2ICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogQWRkIEFJWCBsaW5rZXIgZXJyb3IKCjIwMDQtMDctMjkgMTQ6NDUgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWwsIE1vZHVsZXMvRGFydC5jbWFrZSwgU291cmNlL2NtQ1Rlc3QuY3h4LAoJICBTb3VyY2UvY21DVGVzdC5oLCBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21UYXJnZXQuY3h4LCBTb3VyY2UvY21ha2UuY3h4LAoJICBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN1Ym1pdC5jeHgsIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6CgkgIG1lcmdlcyBmcm9tIG1haW4gdHJlZQoKMjAwNC0wNy0yOSAxNDoxOSAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZVN5c3RlbVNwZWNpZmljSW5mb3JtYXRpb24uY21ha2UsCgkgIFNvdXJjZS9jbVRhcmdldC5jeHgsIFNvdXJjZS9jbWFrZXdpemFyZC5oOiBtZXJnZSBmcm9tIG1haW4gdHJlZSwKCSAgY29tbWVudCBzcGVsbGluZyBmaXhlcwoKMjAwNC0wNy0yOSAxMTo0NiAga2luZwoKCSogQ2hhbmdlTG9nLm1hbnVhbCwgU291cmNlL2NtTGlua0xpYnJhcmllc0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21UYXJnZXRMaW5rTGlicmFyaWVzQ29tbWFuZC5jeHg6IEJVRzogRml4ZWQgY3Jhc2ggd2hlbgoJICBvcHRpbWl6ZWQvZGVidWcgYXJndW1lbnQgdG8gYSBsaW5rLWxpYnJhcmllcyBjb21tYW5kIGlzIG5vdAoJICBmb2xsb3dlZCBieSBhIHZhbHVlLgoKMjAwNC0wNy0yOSAxMTo0MyAga2luZwoKCSogU291cmNlLzogY21UYXJnZXRMaW5rTGlicmFyaWVzQ29tbWFuZC5jeHgsCgkgIGNtTGlua0xpYnJhcmllc0NvbW1hbmQuY3h4OiBCVUc6IEZpeGVkIGNyYXNoIHdoZW4gb3B0aW1pemVkL2RlYnVnCgkgIGFyZ3VtZW50IGlzIG5vdCBmb2xsb3dlZCBieSBhIHZhbHVlLgoKMjAwNC0wNy0yOSAxMToxMSAgYW5keQoKCSogVGVzdHMvWDExL0NNYWtlTGlzdHMudHh0OiBFUlI6IEZpeCB0ZXN0IHRvIHVzZSBwb3N0IENNQUtFX1hfTElCUwoJICB2YXJpYWJsZXMKCjIwMDQtMDctMjkgMTA6MjIgIGtpbmcKCgkqIENoYW5nZUxvZy5tYW51YWw6IEVOSDogQWRkZWQgY2hhbmdlcyBmb3IKCSAgY21BdXhTb3VyY2VEaXJlY3RvcnlDb21tYW5kLmggYW5kIGNtR2V0VGFyZ2V0UHJvcGVydHlDb21tYW5kLmgKCjIwMDQtMDctMjggMDg6MTIgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2V0VGFyZ2V0UHJvcGVydHlDb21tYW5kLmg6IEVOSDogQWRkZWQgZG9jdW1lbnRhdGlvbgoJICBvZiBMT0NBVElPTiB0YXJnZXQgcHJvcGVydHkuCgoyMDA0LTA3LTI3IDEzOjQwICBob2ZmbWFuCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBCVUc6IGZpeCBmb3IgYnVnIDk3MSwgcGljayBhIGJldHRlciBnZW5lcmF0b3IKCSAgZnJvbSB0aGUgY29tbWFuZCBsaW5lCgoyMDA0LTA3LTI3IDA4OjUyICBhbmR5CgoJKiBNb2R1bGVzL0RhcnQuY21ha2U6IERPQzogRml4IHR5cG8KCjIwMDQtMDctMjcgMDg6NDkgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3VibWl0LmN4eDogQlVHOiBBbGxvdyBzdWJtaXQgYW5kIHRyaWdnZXIgdXJsCgkgIHRvIGNvbnRhaW4gPy4gRml4ZXMgQnVnICM5OTcgLSBDVGVzdCBjYW5ub3QgaGFuZGxlIFVSTHMgd2hpY2gKCSAgY29udGFpbiBhICI/IgoKMjAwNC0wNy0yNyAwODo0OCAgYW5keQoKCSogTW9kdWxlcy9EYXJ0LmNtYWtlOiBFTkg6IEFsbG93IHByb2plY3QgdG8gb3ZlcndyaXRlCgkgIENNQUtFX1NZU1RFTV9OQU1FIHBhcnQgb2YgZGVmYXVsdCBCVUlMRE5BTUUKCjIwMDQtMDctMjYgMTY6NTkgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlLAoJICBTb3VyY2UvY21NYWtlZmlsZS5jeHgsIFNvdXJjZS9jbVRhcmdldC5jeHgsIFNvdXJjZS9jbWFrZXdpemFyZC5oOgoJICBCVUc6IGZpeCBmb3IgYnVnIDk5OCwgZml4IHNwZWxsaW5nIGVycm9ycwoKMjAwNC0wNy0yNiAxNjowMCAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFTkg6IFN1cHBvcnQgVGhyZWFkaW5nIFByb2JsZW0gaW4gbWVtY2hlY2sKCjIwMDQtMDctMjYgMTU6NTIgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0Lmg6IEVOSDogQWRkIG1heGltdW0gc2l6ZSBvZiB0ZXN0CgkgIG91dHB1dAoKMjAwNC0wNy0yNCAxOTo1OCAga2luZwoKCSogU291cmNlLzogY21BdXhTb3VyY2VEaXJlY3RvcnlDb21tYW5kLmg6IEVOSDogQWRkZWQgd2FybmluZyBhYm91dAoJICB1c2luZyB0aGlzIGNvbW1hbmQgdG8gYXZvaWQgbGlzdGluZyBzb3VyY2VzIGZvciBhIGxpYnJhcnkgYnkKCSAgaGFuZC4gIEl0IGlzIHN1cHBvc2VkIHRvIGJlIHVzZWQgb25seSBmb3IgVGVtcGxhdGVzIGRpcmVjdG9yaWVzLgoKMjAwNC0wNy0yMiAxMToyMCAgaG9mZm1hbgoKCSogQ2hhbmdlTG9nLm1hbnVhbCwgTW9kdWxlcy9GaW5kRkxUSy5jbWFrZSwgTW9kdWxlcy9GaW5kUXQuY21ha2UsCgkgIFNvdXJjZS9jbUNUZXN0LmN4eCwgU291cmNlL2NtRHluYW1pY0xvYWRlci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbENvZGVXYXJyaW9yR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbVVzZU1hbmdsZWRNZXNhQ29tbWFuZC5jeHgsIFNvdXJjZS9jbWFrZS5jeHgsCgkgIFNvdXJjZS9DdXJzZXNEaWFsb2cvY21DdXJzZXNNYWluRm9ybS5jeHgsCgkgIFRlbXBsYXRlcy9DTWFrZVdpbmRvd3NTeXN0ZW1Db25maWcuY21ha2UsCgkgIFRlbXBsYXRlcy9UZXN0RHJpdmVyLmN4eC5pbjogbWVyZ2UgZnJvbSBtYWluIHRyZWUKCjIwMDQtMDctMjIgMTA6NTkgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBGaW5kRkxUSy5jbWFrZSwgRmluZFF0LmNtYWtlOiBCVUc6IHB1dCBiYWNrIGZsYWdzIHRvCgkgIG1haW50YWluIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5CgoyMDA0LTA3LTIwIDE2OjE4ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21DVGVzdC5oOiBCVUc6IEVuY29kZSBjdXJyZW50IHRpbWUgc28gdGhhdAoJICBvbiBzb21lIGludGVybmF0aW9uYWwgY29tcHV0ZXJzIHhzbHQgd2lsbCBub3QgYnJlYWsuIEFsc28sIGZvcgoJICBjb250aW51b3VzLCBkbyBub3QgcmVwZWF0IGlmIHRoZXJlIHdlcmUgbG9jYWxseSBtb2RpZmllZCBmaWxlcyBvcgoJICBjb25mbGljdCwgYnV0IG9ubHkgd2hlbiB0aGluZ3MgYWN0dWFsbHkgdXBkYXRlCgoyMDA0LTA3LTIwIDExOjA5ICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBCVUc6IElmIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gaXMKCSAgdGhlIHNhbWUgZmlsZSwgdGhlbiBkbyBub3QgY29weSBmaWxlIGFsd2F5cwoKMjAwNC0wNy0yMCAxMTowNyAgYW5keQoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBFTkg6IFdoZW4gcnVubmluZyBjbWFrZSB3aXRoIFByZUxvYWQgbWFrZQoJICBzdXJlIENNQUtFX0NVUlJFTlRfU09VUkNFL0JJTkFSWV9ESVIgd29ya3MKCjIwMDQtMDctMjAgMTE6MDIgIGhvZmZtYW4KCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvY21DdXJzZXNNYWluRm9ybS5jeHg6IEVOSDogcmVtb3ZlIGRlbGV0ZXMKCjIwMDQtMDctMTkgMTM6MDEgIGhvZmZtYW4KCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvY21DdXJzZXNNYWluRm9ybS5jeHg6IEJVRzogZml4IGZvciA5ODEgY3Vyc29yCgkgIHJldHVybnMgdG8gY29ycmVjdCBwbGFjZSBpbiBoZWxwIHNjcmVlbgoKMjAwNC0wNy0xOSAxMzowMCAgaG9mZm1hbgoKCSogU291cmNlL2NtRHluYW1pY0xvYWRlci5jeHg6IGJ1ZyBmaXggZm9yIDk4NgoKMjAwNC0wNy0xNiAxNjowMiAgaG9mZm1hbgoKCSogU291cmNlL2NtYWtlLmN4eDogRU5IOiBhZGQgYSBtZXNzYWdlIGF0IHRoZSBlbmQgb2YgdGhlIGNtYWtlIHJ1bgoJICB0ZWxsaW5nIHRoZSB1c2VyIHdoZXJlIHRoaW5ncyB3ZXJlIHdyaXR0ZW4uCgoyMDA0LTA3LTE2IDE1OjE4ICBob2ZmbWFuCgoJKiBUZW1wbGF0ZXMvVGVzdERyaXZlci5jeHguaW46IG1ha2Ugc3VyZSB0ZXN0cyBmbHVzaCBvdXRwdXQKCjIwMDQtMDctMTUgMTQ6MzggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEVOSDogc29ydCBmbGFncywgYW5kCgkgIGZpeCBvcmRlciBhbmQgY2FzZSBwcm9ibGVtcyBhbmQgYWRkIGEgZmV3IG1vcmUKCjIwMDQtMDctMTUgMTM6NTMgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogYmV0dGVyIGVycm9yIHdhcm5pbmcgZXhjZXB0aW9ucwoKMjAwNC0wNy0xNCAxOTo1MyAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogRU5IOiByZW1vdmUgd2FybmluZ3MKCjIwMDQtMDctMTQgMTY6MTAgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaDogRU5IOiB1c2UgYSBtYXAgdG8gZmlsbCBvdXQKCSAgZmxhZ3MsIGFuZCBrZWVwIGNvbW1hbmQgbGluZSBjb25zaXN0ZW50IHdpdGggdGhlIEdVSQoKMjAwNC0wNy0xMyAxNzozMyAga2luZwoKCSogU291cmNlL2t3c3lzL3Rlc3RQcm9jZXNzLmM6IEJVRzogRml4ZWQgb2ZmLWJ5LW9uZSBlcnJvciBpbiB0ZXN0NgoJICBmdW5jdGlvbi4KCjIwMDQtMDctMTMgMTc6MjcgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IHRlc3RQcm9jZXNzLmMsIENNYWtlTGlzdHMudHh0OiBFTkg6IEFkZGVkIHRlc3QgZm9yCgkgIHJ1bmF3YXkgb3V0cHV0LgoKMjAwNC0wNy0xMyAxNjo1MCAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jOiBFTkg6IFJlLWFycmFuZ2VkIGhhbmRsaW5nIG9mIHRoZSB0d28KCSAgdGhyZWFkcyBwZXIgcGlwZSB0byBpbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGNvZGUuCgoyMDA0LTA3LTEzIDE2OjIzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1dpbjMyLmM6IEJVRzogRml4IGZvciByZWFkIHBpcGUgd2FrZXVwIHdoZW4KCSAgY2hpbGQgaXMgd3JpdGluZyBhbG90IG9mIGRhdGEgYW5kIG1heSBmaWxsIHRoZSBwaXBlIGJ1ZmZlciBiZWZvcmUKCSAgV3JpdGVGaWxlIGlzIGNhbGxlZC4KCjIwMDQtMDctMTMgMTE6MDYgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0Lmg6IHN1Ym1pdCBlbGFwc2VkIHRpbWVzIGFzIHdlbGwKCjIwMDQtMDctMTMgMTA6MDMgIGFuZHkKCgkqIE1vZHVsZXMvRmluZFF0LmNtYWtlOiBCVUc6IFRoZXNlIHJlZ3VsYXIgZXhwcmVzc2lvbnMgd2VyZSB3cm9uZwoJICBiZWNhdXNlIFxcdCBkb2VzIG5vdCBtYXRjaCB0YWIuIEFsc28sIHRoaXMgZml4IHByZXZlbnRzIHdob2xlCgkgIGZpbGUgdG8gYmUgZHVtcGVkIHRvIHRoZSBjYWNoZQoKMjAwNC0wNy0wOSAxNTozOCAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kUXQuY21ha2U6IG1lcmdlIGluIGZpeGVzIGZyb20gbmV1bmRvcmYgYXQga2RlIG9yZywKCSAgYnVnIDg2OQoKMjAwNC0wNy0wOSAxNDoxOCAgaG9mZm1hbgoKCSogU291cmNlLzogY21NYWtlZmlsZS5jeHgsIGNtVXNlTWFuZ2xlZE1lc2FDb21tYW5kLmN4eDogQlVHOiBmaXgKCSAgc3BlbGxpbmcgZXJyb3JzIEJVRyA5NTIKCjIwMDQtMDctMDkgMTM6NTAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbENvZGVXYXJyaW9yR2VuZXJhdG9yLmN4eCwKCSAgVGVtcGxhdGVzL0NNYWtlRG90TmV0U3lzdGVtQ29uZmlnLmNtYWtlLAoJICBUZW1wbGF0ZXMvQ01ha2VXaW5kb3dzU3lzdGVtQ29uZmlnLmNtYWtlOiBCVUc6IHJlbW92ZSB1bnVzZWQKCSAgdmFyaWFibGUgQ01BS0VfT0JKRUNUX0ZJTEVfU1VGRklYIGZyb20gY21ha2UKCjIwMDQtMDctMDkgMTE6NDkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jOiBFUlI6IEZpeGVkIG1pc3NpbmcgcmV0dXJuIHdhcm5pbmcuCgkgIENvZGUgd2FzIG5vdCByZWFjaGFibGUgYW55d2F5LgoKMjAwNC0wNy0wOSAwOToxMiAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IHJlbW92ZSBkb3VibGUKCSAgaW5jbHVkZSBmbGFncyBmb3IgcmMgcmVzb3VjZSBjb21waWxlcwoKMjAwNC0wNy0wNyAxODoxNSAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jOiBFTkg6IEFkZGVkIHdpbmRvd3MgaW1wbGVtZW50YXRpb24gb2YKCSAgRGlzb3duL0RldGFjaC4KCjIwMDQtMDctMDcgMTc6NDYgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jOiBCVUc6IERvIG5vdCBkaXNvd24gaWYgcHJvY2VzcyBoYXMKCSAgYWxyZWFkeSBiZWVuIGtpbGxlZCBvciB0aGUgdGltZW91dCBleHBpcmVkLiAgQWxzbyBuZWVkIHRvIGNhbGwKCSAga3dzeXNQcm9jZXNzQ2xlYW51cCB0byBkaXNvd24uCgoyMDA0LTA3LTA3IDE3OjI3ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBQcm9jZXNzLmguaW4sIFByb2Nlc3NVTklYLmMsIFByb2Nlc3NXaW4zMi5jOiBFTkg6CgkgIEFkZGVkIGt3c3lzUHJvY2Vzc19EaXNvd24gYW4ga3dzeXNQcm9jZXNzX09wdGlvbl9EZXRhY2ggdG8gYWxsb3cKCSAgZGV0YWNoZWQgcHJvY2Vzc2VzIHRvIGJlIGNyZWF0ZWQuICBDdXJyZW50bHkgaW1wbGVtZW50ZWQgb25seSBvbgoJICBVTklYLgoKMjAwNC0wNy0wNyAxNzowOSAgaG9mZm1hbgoKCSogQ2hhbmdlTG9nLm1hbnVhbCwgRGFydENvbmZpZy5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVZTOEZpbmRNYWtlLmNtYWtlLCBNb2R1bGVzL0ZpbmRTV0lHLmNtYWtlLAoJICBNb2R1bGVzL1VzZVNXSUcuY21ha2UsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgU291cmNlL2NtQ1Rlc3QuY3h4LAoJICBTb3VyY2UvY21DVGVzdC5oLCBTb3VyY2UvY21FeGVjUHJvZ3JhbUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzhHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwKCSAgU291cmNlL2NtUVRXcmFwVUlDb21tYW5kLmN4eCwgU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4LAoJICBTb3VyY2UvY21TeXN0ZW1Ub29scy5oLCBTb3VyY2UvY21UcnlSdW5Db21tYW5kLmN4eCwKCSAgU291cmNlL2NtV2luMzJQcm9jZXNzRXhlY3V0aW9uLmN4eCwgU291cmNlL2NtYWtlLmN4eCwKCSAgU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0LCBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYywKCSAgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eCwgVGVzdHMvU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbC9pbnN0LmN4eCwgVGVzdHMvU2ltcGxlSW5zdGFsbC9saWI0LmN4eCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbC9saWI0LmgsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGwvVGVzdFN1YkRpci9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbC9UZXN0U3ViRGlyL1RTRC5jeHgsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGwvVGVzdFN1YkRpci9UU0QuaCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbC9UZXN0U3ViRGlyL1RTRF91dGlscy5jeHgsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL2luc3QuY3h4LCBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvbGliNC5jeHgsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9saWI0LmgsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9UZXN0U3ViRGlyL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvVGVzdFN1YkRpci9UU0QuY3h4LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvVGVzdFN1YkRpci9UU0QuaCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL1Rlc3RTdWJEaXIvVFNEX3V0aWxzLmN4eDogbWVyZ2UgZnJvbSBtYWluCgkgIHRyZWUsIHNlZSBDaGFuZ2VMb2cubWFudWFsIGZvciBjaGFuZ2VzCgoyMDA0LTA3LTA3IDE2OjA5ICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEJVRzogTGFzdE1lbUNoZWNrIGlzIG5vdCByZWFsbHkgYW4gWE1MIGZpbGUKCjIwMDQtMDctMDcgMTM6MDMgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jOiBFUlI6IFVzaW5nIEtXU1lTUEVfUElQRV9CVUZGRVJfU0laRQoJICBpbiBwbGFjZSBvZiBzZXBhcmF0ZSBidWZmZXJTaXplIGNvbnN0YW50IGZvciBjb25zaXN0ZW5jeS4KCjIwMDQtMDctMDUgMTI6MTYgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VWUzhGaW5kTWFrZS5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzhHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW84R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLCBTb3VyY2UvY21ha2UuY3h4OiBFTkg6CgkgIGFkZCBzdXBwb3J0IGZvciBWQ0V4cHJlc3MgMjAwNQoKMjAwNC0wNy0wNCAwMDowNSAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NVTklYLmM6IG5vIGMrKyBjb21tZW50cyBpbiBjCgoyMDA0LTA3LTAzIDEyOjAwICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYzogZml4IGZvciBocCBidWlsZAoKMjAwNC0wNy0wMiAxNzozOSAga2luZwoKCSogU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0OiBCVUc6IE5lZWQgYSBDLW9ubHkgbGlicmFyeSBmb3IgQwoJICB0ZXN0cy4KCjIwMDQtMDctMDIgMTY6MzkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jOiBCVUcjMzkyOiBJbXBsZW1lbnRhdGlvbiBvZiBwcm9jZXNzCgkgIHRyZWUga2lsbGluZyBmb3Igc3lzdGVtcyB3aXRoIC9wcm9jIGZpbGVzeXN0ZW0uCgoyMDA0LTA3LTAyIDE2OjI5ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21DVGVzdC5oOiBCVUcjOTY5OiBQYXJ0aWFsbHkgZml4ZWQgYnkgYXQKCSAgbGVhc3QgdXNpbmcgdGhlIHRpbWVvdXQgZm9yIHRoZSBpbmRpdmlkdWFsIGNhbGxzIHRvCgkgIFJ1blNpbmdsZUNvbW1hbmQgZnJvbSB3aXRoaW4gdGhlIGlubmVyIGN0ZXN0IGluc3RhbmNlLiAgVGhpcwoJICBzaG91bGQgYmUgbW9kaWZpZWQgdG8gaW5jcmVtZW50YWxseSBhZGp1c3QgcmVtYWluaW5nIHRpbWUuCgoyMDA0LTA3LTAyIDE2OjI3ICBraW5nCgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oOiBFTkg6IE1hZGUKCSAgUnVuU2luZ2xlQ29tbWFuZCB0YWtlIGEgZG91YmxlIGFzIGl0cyB0aW1lb3V0IGxlbmd0aC4KCjIwMDQtMDctMDIgMTQ6MDkgIGtpbmcKCgkqIFNvdXJjZS9jbUZpbGVDb21tYW5kLmN4eDogQlVHOiBGaXhlZCBnZW5lcmF0aW9uIG9mIGluc3RhbGxhdGlvbgoJICBtYW5pZmVzdCB0byBhY2NvdW50IGZvciBsaWJyYXJ5IHZlcnNpb25pbmcgc3ltbGlua3MuCUFsc28KCSAgcmVtb3ZlZCBERVNURElSIHByZWZpeCBmcm9tIGdlbmVyYXRlZCBtYW5pZmVzdC4KCjIwMDQtMDctMDIgMTQ6MDggIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogQlVHOiBpbnN0YWxsX21hbmlmZXN0LnR4dCBzaG91bGQgYmUKCSAgb3ZlcndyaXR0ZW4gZWFjaCB0aW1lIHRoZSBpbnN0YWxsIGlzIHJ1bi4KCjIwMDQtMDctMDIgMTM6MzkgIGtpbmcKCgkqIFRlc3RzLzogU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OiBFUlI6IFJlbW92ZWQgZGVidWdnaW5nIGNvZGUgZnJvbQoJICB0ZXN0LgoKMjAwNC0wNy0wMiAxMTo1MSAgYW5keQoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4OiBCVUc6IElmIHRoZSBkZXN0aW5hdGlvbiBpcyB0aGUgc2FtZSBhcwoJICBzb3VyY2UsIGRvIG5vdCBjb3B5IGZpbGUuIEZpeGVzIEJ1ZyAjOTU2IC0gbWFrZSBpbnN0YWxsIGJyb2tlbgoKMjAwNC0wNy0wMiAwOTo1NyAgYW5keQoKCSogU291cmNlL2NtYWtlLmN4eDogRU5IOiBBbHNvIHJlYWQgUHJlTG9hZC5jbWFrZSBmcm9tIHRoZSBiaW5hcnkKCSAgdHJlZQoKMjAwNC0wNi0zMCAxMTozMSAgaG9mZm1hbgoKCSogU291cmNlLzogY21NYWtlZmlsZS5jeHgsIGt3c3lzL1N5c3RlbVRvb2xzLmN4eDogRU5IOiBhZGQKCSAgQ01BS0VfRklMRV9QQVRILCBDTUFLRV9QUk9HUkFNX1BBVEgsIENNQUtFX0xJQlJBUllfUEFUSCwgYW5kCgkgIHNlYXJjaCB0aGVtIGZpcnN0LCBQQVRIIHNlY29uZCwgYW5kIGxhc3QgdGhlIHBhdGhzIGxpc3RlZCBpbiB0aGUKCSAgRklORCBjYWxsCgoyMDA0LTA2LTMwIDA4OjU5ICBhbmR5CgoJKiBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHg6IEVSUjogRml4IHR5cG8KCjIwMDQtMDYtMjkgMTY6NDAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVFUV3JhcFVJQ29tbWFuZC5jeHg6IEVOSDogcmVtb3ZlIFFUX1dSQVBfVUkgZmxhZwoKMjAwNC0wNi0yOSAxMDoyMiAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kU1dJRy5jbWFrZTogQlVHOiBtYWtlIHN1cmUgaWYgc3dpZyBpcyBmb3VuZCwgd2Uga25vdwoJICBpdCBpcyBmb3VuZAoKMjAwNC0wNi0yOSAwOToyMyAgYW5keQoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4LCBUZXN0cy9TaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEVOSDogQmV0dGVyIGhhbmRsaW5nIG9mCgkgIGRlYnVnIHBvc3RmaXggYW5kIGZpeCB0aGUgdGVzdAoKMjAwNC0wNi0yOCAxNjozOSAgYW5keQoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEVSUjogRml4IHZpc3VhbCBzdHVkaW8KCSAgaW5zdGFsbAoKMjAwNC0wNi0yOCAxNDozOSAgYW5keQoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmgsIFRlc3RzL1NpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGwvaW5zdC5jeHgsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL2luc3QuY3h4LCBUZXN0cy9TaW1wbGVJbnN0YWxsL2xpYjQuY3h4LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsL2xpYjQuaCwgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL2xpYjQuY3h4LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvbGliNC5oOiBCVUc6IEltcGxlbWVudCBpbnN0YWxsaW5nIG9mIHNoYXJlZAoJICBsaWJyYXJ5IHZlcnNpb25pbmcgYW5kIGFkZCB0ZXN0IGZvciB0aGUgd2hvbGUgdGhpbmcKCjIwMDQtMDYtMjggMTE6MTQgIGFuZHkKCgkqIE1vZHVsZXMvVXNlU1dJRy5jbWFrZTogQlVHOiBBZGQgbW9yZSBjb21tZW50cyBhbmQgZml4CgkgIENNQUtFX1NXSUdfRkxBR1MKCjIwMDQtMDYtMjggMDk6MDggIGFuZHkKCgkqIE1vZHVsZXMvRmluZFNXSUcuY21ha2U6IEJVRzogUmVwbGFjZSBNQVRDSEVTIHdpdGggU1RSRVFVQUwgZm9yCgkgIGJldHRlciBjaGVja2luZywgYmV0dGVyIGNoZWNraW5nIGZvciBleGlzdGVuY2Ugb2Ygc3dpZyBkaXJlY3RvcnksCgkgIHZlcmlmeSBpZiByZXF1aXJlZCBmbGFnIHdhcyBzZXQsIHN1cHBvcnQgZmVkb3JhJ3MgbG9jYXRpb24gb2YKCSAgc3dpZy4gRml4ZXMgQnVnICM5NTUgLSBTd2lnIG9uIGZlZG9yYSBhbmQgQnVnICM5NTQgLQoJICBGSU5EX1BBQ0tBR0UoU1dJRyBSRVFVSVJFRCkKCjIwMDQtMDYtMjYgMDg6NDAgIGhvZmZtYW4KCgkqIE1vZHVsZXMvVXNlU1dJRy5jbWFrZTogQlVHOiBTV0lHX0ZMQUdTIHdhcyBpZ25vcmVkIGJ5IHRoZSBhZGQKCSAgc3dpZyBzb3VyY2UgdG8gbW9kdWxlIGNvbW1hbmQKCjIwMDQtMDYtMjUgMTQ6MDQgIGFuZHkKCgkqIENNYWtlTGlzdHMudHh0OiBFTkg6IEJ1aWxkIGV4cGF0IGFzIGEgcGFydCBvZiBkZWZhdWx0IGJ1aWxkCgoyMDA0LTA2LTI1IDE0OjA0ICBhbmR5CgoJKiBVdGlsaXRpZXMvY21leHBhdC86IC5Ob0RhcnRDb3ZlcmFnZSwgQ01ha2VMaXN0cy50eHQsIENPUFlJTkcsCgkgIGFzY2lpLmgsIGFzY2lpdGFiLmgsIGNtX2V4cGF0X21hbmdsZS5oLCBleHBhdC5oLAoJICBleHBhdENvbmZpZy5oLmluLCBleHBhdERsbENvbmZpZy5oLmluLCBpYXNjaWl0YWIuaCwgbGF0aW4xdGFiLmgsCgkgIG5hbWV0YWIuaCwgdXRmOHRhYi5oLCB4bWxwYXJzZS5jLCB4bWxyb2xlLmMsIHhtbHJvbGUuaCwgeG1sdG9rLmMsCgkgIHhtbHRvay5oLCB4bWx0b2tfaW1wbC5jLCB4bWx0b2tfaW1wbC5oLCB4bWx0b2tfbnMuYzogRU5IOiBJbml0aWFsCgkgIGltcG9ydCBvZiBleHBhdAoKMjAwNC0wNi0yNCAwOTowNSAgaG9mZm1hbgoKCSogU291cmNlL2NtV2luMzJQcm9jZXNzRXhlY3V0aW9uLmN4eDogRU5IOiByZW1vdmUgd2FybmluZyBvbgoJICBib3JsYW5kCgoyMDA0LTA2LTI0IDA4OjU3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21FeGVjUHJvZ3JhbUNvbW1hbmQuY3h4OiBCVUc6IGV4ZWMgcHJvZ3JhbSBzaG91bGQgbm90CgkgIGZhaWwgaWYgaXQgY2FuIG5vdCBleGVjIHRoZSBwcm9ncmFtLCBidXQgc2hvdWxkIG9ubHkgc2V0IHRoZQoJICByZXR1cm4gdmFsdWUgdG8gLTEgYW5kIHNldCB0aGUgb3V0cHV0IHRvIHRoZSByZWFzb24gZm9yIHRoZQoJICBmYWlsdXJlLgoKMjAwNC0wNi0yMyAxNjozNCAgaG9mZm1hbgoKCSogU291cmNlLzogY21FeGVjUHJvZ3JhbUNvbW1hbmQuY3h4LCBjbVN5c3RlbVRvb2xzLmN4eCwKCSAgY21TeXN0ZW1Ub29scy5oLCBjbVRyeVJ1bkNvbW1hbmQuY3h4LAoJICBjbVdpbjMyUHJvY2Vzc0V4ZWN1dGlvbi5jeHg6IEJVRzogZml4IHNwYWNlcyBpbiBwYXRoIG9uIG1pbmd3LAoJICBhbmQgY2hhbmdlIEVYRUNfUFJPR1JBTSB0byByZXR1cm4gZmFsc2Ugd2hlbiBpdCBkb2VzIG5vdCBydW4sCgkgIGFsc28gZG8gbm90IGNvbnZlcnQgdGhlIGRpcmVjdG9yeSB0byBhbiBvdXRwdXQgcGF0aCBmb3IKCSAgRVhFQ19QUk9HUkFNIGFzIHRoaXMgaXMgZG9uZSBieSB0aGUgcHJvY2VzcyBleGVjdXRpb24sIGFuZCBkb2luZwoJICBpdCB0d2ljZSBtYXkgY2F1c2UgdHJvdWJsZSBvbiBzb21lIHNoZWxscy4KCjIwMDQtMDYtMjMgMTY6MTUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZTogQysrIGNvbXBpbGVyIGlzIG5vdCBzZXQgZm9yIGMKCSAgb25seSBwcm9qZWN0cwoKMjAwNC0wNi0yMyAxMDoxMyAga2luZwoKCSogU291cmNlLzogY21DYWNoZU1hbmFnZXIuY3h4LCBDdXJzZXNEaWFsb2cvY21DdXJzZXNNYWluRm9ybS5jeHgsCgkgIEN1cnNlc0RpYWxvZy9jbUN1cnNlc01haW5Gb3JtLmg6IEVOSDogQWRkaW5nIE1PRElGSUVEIHByb3BlcnR5IHRvCgkgIGNhY2hlIHZhbHVlcyB0aGF0IGhhdmUgYmVlbiBjaGFuZ2VkIGJ5IHRoZSB1c2VyLgoKMjAwNC0wNi0yMiAxNzoyMyAgaG9mZm1hbgoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBCVUc6IGZpeCBzcGFjZXMgaW4gcGF0aCB3aXRoIG1pbmd3IGFuZAoJICBjdXN0b20gY29tbWFuZHMKCjIwMDQtMDYtMjEgMTI6NTkgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWw6IHVwZGF0ZSBjaGFuZ2VzIGZvciByZWxlYXNlIDIuMC4yCgoyMDA0LTA2LTIxIDEyOjQ4ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogY2hhbmdlCgkgIHZlcnNpb24gb24gYnJhbmNoCgoyMDA0LTA2LTIxIDEyOjQ4ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dDogY2hhbmdlIG1pbmltdW0gY21ha2UKCjIwMDQtMDYtMTggMTU6NDcgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogbWVyZ2UgZnJvbSBtYWluIHRyZWUsCgkgIHJlbW92ZSBhdXRvbWF0aWMgLUkgZm9yIHNvdXJjZQoKMjAwNC0wNi0xOCAxNTo0NyAgaG9mZm1hbgoKCSogU291cmNlL2NtU3ViZGlyQ29tbWFuZC5oOiBtZXJnZSBmcm9tIG1haW4gdHJlZSwgZml4IGRvY3MKCjIwMDQtMDYtMTggMTU6NDYgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZEZMVEsuY21ha2UsIE1vZHVsZXMvRmluZFF0LmNtYWtlLAoJICBTb3VyY2UvY21GTFRLV3JhcFVJQ29tbWFuZC5jeHgsIFNvdXJjZS9jbVFUV3JhcENQUENvbW1hbmQuY3h4OgoJICBtZXJnZSBmcm9tIG1haW4gdHJlZSwgcmVtb3ZlIHVzZWxlc3MgdmFyaWFibGVzCgoyMDA0LTA2LTE4IDE1OjE0ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogQWRkZWQgc3BlY2lhbCBoYWNrCgkgIGZvciBWVEsgNC4wLTQuNCB0byByZS1lbmFibGUgYXV0b21hdGljIGFkZGl0aW9uIG9mIGN1cnJlbnQgc291cmNlCgkgIGRpcmVjdG9yeSB0byAtSSBwYXRoLgoKMjAwNC0wNi0xOCAxNTowMSAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IEFkZGVkIHNwZWNpYWwgaGFjawoJICBmb3IgVlRLIDQuMC00LjQgdG8gcmUtZW5hYmxlIGF1dG9tYXRpYyBhZGRpdGlvbiBvZiBjdXJyZW50IHNvdXJjZQoJICBkaXJlY3RvcnkgdG8gLUkgcGF0aC4KCjIwMDQtMDYtMTggMTM6MDQgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBOZWVkIHRvIHByZXNlcnZlCgkgIGF1dG9tYXRpYyBhZGRpdGlvbiBvZiBzb3VyY2UgdHJlZSB0byAtSSBwYXRoIGlmCgkgIENNQUtFX0JBQ0tXQVJEU19DT01QQVRJQklMSVRZIGlzIHNldCB0byBiZWxvdyAyLjAuCgoyMDA0LTA2LTE4IDEzOjAwICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVSUjogRml4ZWQgdHlwby4KCjIwMDQtMDYtMTggMTI6NTYgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBOZWVkIHRvIHByZXNlcnZlCgkgIGF1dG9tYXRpYyBhZGRpdGlvbiBvZiBzb3VyY2UgdHJlZSB0byAtSSBwYXRoIGlmCgkgIENNQUtFX0JBQ0tXQVJEU19DT01QQVRJQklMSVRZIGlzIHNldCB0byBiZWxvdyAyLjAuCgoyMDA0LTA2LTE4IDEwOjU0ICBraW5nCgoJKiBEb2NzLzogY21ha2UtbW9kZS5lbDogQlVHOiBGaXhlZCBwYXJzaW5nIG9mIHVucXVvdGVkIGFyZ3VtZW50cyB0bwoJICBhbGxvdyBkb3VibGUtcXVvdGVzIHdpdGhpbiB0aGUgYXJndW1lbnQuCgoyMDA0LTA2LTE4IDEwOjUxICBraW5nCgoJKiBTb3VyY2UvOiBjbUxpc3RGaWxlTGV4ZXIuYywgY21MaXN0RmlsZUxleGVyLmluLmw6IEJVRzogRml4ZWQKCSAgcGFyc2luZyBvZiB1bnF1b3RlZCBhcmd1bWVudHMgdG8gYWxsb3cgZG91YmxlLXF1b3RlcyB3aXRoaW4gdGhlCgkgIGFyZ3VtZW50LgoKMjAwNC0wNi0xNiAwOTo0NSAgaG9mZm1hbgoKCSogU291cmNlL2NtU3ViZGlyQ29tbWFuZC5oOiBjbGVhbiB1cCBkb2N1bWVudGF0aW9uCgoyMDA0LTA2LTE2IDA5OjQzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21GTFRLV3JhcFVJQ29tbWFuZC5jeHgsIFNvdXJjZS9jbVFUV3JhcENQUENvbW1hbmQuY3h4LAoJICBNb2R1bGVzL0ZpbmRGTFRLLmNtYWtlLCBNb2R1bGVzL0ZpbmRRdC5jbWFrZTogY2xlYW4gdXAgY29tbWFuZHMKCSAgc28gdGhleSBkb24ndCBuZWVkIGV4dHJhIHZhcmlhYmxlCgoyMDA0LTA2LTE1IDExOjUyICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IFJlbW92aW5nIGF1dG9tYXRpYwoJICBhZGRpdGlvbiBvZiBhIC1JIHBhdGggZm9yIHRoZSBjdXJyZW50IHNvdXJjZSBkaXJlY3RvcnkuICBUaGlzIGlzCgkgIG5vdCBjb25zaXN0ZW50IHdpdGggdGhlIFZpc3VhbCBTdHVkaW8gZ2VuZXJhdG9ycyB3aGljaCBkbyBub3QKCSAgcHJvdmlkZSB0aGlzIHBhdGguICBJdCBzaG91bGQgbm90IGJlIGFkZGVkIGFueXdheSBiZWNhdXNlIGl0IGlzCgkgIGFkZGluZyBhbiBpbmNsdWRlIHBhdGggbm90IHJlcXVlc3RlZCBieSB0aGUgQ01ha2VMaXN0cy50eHQgY29kZS4KCSAgVGhlIGNvZGUgSSdtIHJlbW92aW5nIHdhcyBvcmlnaW5hbGx5IGFkZGVkIGluIHJldmlzaW9uIDEuMTcgb2YKCSAgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4IGFzIGEgcGFydCBvZiBzZXZlcmFsIG90aGVyIGNoYW5nZXMKCSAgYW5kIGhhcyBhIGNvbW1pdCBsb2cgZW50cnkgb2YKCgkgICAgInNvbWUgYnVnIGZpeGVzIgoKCSAgSXQgd2FzIHByb3BhZ2F0ZWQgZnJvbSB0aGVpciB0byBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eC4KCSAgIFNpbmNlIGFsbCBvdXIgcHJvamVjdHMgYnVpbGQgaW4gdGhlIFZTIElERSB3aXRob3V0IHRoaXMgaW5jbHVkZQoJICBwYXRoLCBpdCBzaG91bGQgbm90IGJlIG5lZWRlZC4gIFVzZXJzIGNhbiBlYXNpbHkgZml4IHByb2JsZW1zCgkgIGNhdXNlZCBieSB0aGlzIGJ5IGFkZGluZwoKCSAgICBJTkNMVURFX0RJUkVDVE9SSUVTKCR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfSkKCgkgIHRvIHRoZWlyIENNYWtlTGlzdHMudHh0IGNvZGUuICBUaGlzIHdhcyBvZnRlbiBuZWNlc3NhcnkKCSAgcHJldmlvdXNseSB3aGVuIGEgcHJvamVjdCB3YXMgb3JpZ2luYWxseSB3cml0dGVuIG9uIGEgVW5peCBzeXN0ZW0KCSAgYW5kIHRoZW4gYnVpbHQgd2l0aCBWaXN1YWwgU3R1ZGlvLgoKMjAwNC0wNi0xNSAwODozMiAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IG1lcmdlIGZyb20gbWFpbiB0cmVlLCBmaXgKCSAgR2V0Q3VycmVudERpcmVjdG9yeSBwcm9ibGVtCgoyMDA0LTA2LTE1IDA4OjMwICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogZml4IGluY2x1ZGUgb3JkZXIgYmVjYXVzZSBvZgoJICBHZXRDdXJyZW50RGlyZWN0b3J5IGRlZmluZSBhbmQgd2luZG93cy5oIHByb2JsZW0KCjIwMDQtMDYtMTQgMTM6MjUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZEtERS5jbWFrZTogbWVyZ2UgZnJvbSBtYWluIHRyZWUsIG5ldyBtb2R1bGUKCjIwMDQtMDYtMTQgMTI6MjkgIGhvZmZtYW4KCgkqIFV0aWxpdGllcy9Eb3h5Z2VuL0NNYWtlTGlzdHMudHh0OiBtZXJnZSBmcm9tIG1haW4gdHJlZQoKMjAwNC0wNi0xNCAxMjoyOCAgaG9mZm1hbgoKCSogU291cmNlLzogY21JZkNvbW1hbmQuY3h4LCBjbUlmQ29tbWFuZC5oOiBtZXJnZSBmcm9tIG1haW4gdHJlZSwKCSAgYWRkIFNUUkdSRUFURVIKCjIwMDQtMDYtMTQgMTI6MjggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNvbW1hbmRzLmN4eDogbWVyZ2UgZnJvbSBtYWluIHRyZWUsIGZpeCBib290c3RyYXAgb24gbWFjCgoyMDA0LTA2LTE0IDEyOjI3ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRGTFRLLmNtYWtlOiBtZXJnZSBmcm9tIG1haW4gdHJlZSwgbG9vayBmb3IgYm90aCBGbC5oCgkgIGFuZCBGbC5ICgoyMDA0LTA2LTE0IDEyOjIxICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IG1lcmdlIGZyb20gbWFpbiB0cmVlLAoJICB1c2UgY21ha2UgdG8gaW5zdGFsbCBpdHNlbGYsIHdoZW4gYnVpbGRpbmcgY21ha2UKCjIwMDQtMDYtMTQgMTI6MjAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUlmQ29tbWFuZC5jeHg6IG1lcmdlIGZyb20gbWFpbiB0cmVlLCBmaXggY29tcG91bmQgaWYKCSAgY3Jhc2ggb24gdW5peAoKMjAwNC0wNi0xNCAxMjoxOSAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IG1lcmdlIGZyb20gbWFpbiB0cmVlLCB1c2UKCSAgY29ycmVjdCBwYXRoIGZvciBzdWIgcHJvamVjdHMKCjIwMDQtMDYtMTQgMTI6MTggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogbWVyZ2UgZnJvbSBtYWluIHRyZWUsIG1vcmUgLUkgc3R1ZmYKCjIwMDQtMDYtMTQgMTI6MTggIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogbWVyZ2UgZnJvbSBtYWluIHRyZWUsIGRvIG5vdCB1c2UgcmVnZXggZm9yCgkgIGRpcmVjdG9pcmVzCgoyMDA0LTA2LTE0IDEyOjE3ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmREb3h5Z2VuLmNtYWtlOiBFTkg6IGJldHRlciBmaW5kIGZvciBkb3h5Z2VuCgoyMDA0LTA2LTE0IDEyOjE2ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2UsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFRlbXBsYXRlcy9ETExIZWFkZXIuZHNwdGVtcGxhdGU6IEVOSDogYWRkIE5ERUJVRyB0byB3aW5kb3dzCgkgIHJlbGVhc2UgYnVpbGRzIGZvciBib3RoIGlkZSBhbmQgbm1ha2UKCjIwMDQtMDYtMTQgMTI6MDIgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtSWZDb21tYW5kLmgsIGNtSWZDb21tYW5kLmN4eDogYWRkZWQgc3RyZXF1YWwKCjIwMDQtMDYtMTQgMTE6MjQgIGFuZHkKCgkqIFRlc3RzL0NUZXN0VGVzdC90ZXN0LmNtYWtlLmluOiBFTkg6IEhhbmRsZSBzcGFjZXMgaW4gdGhlIHBhdGgKCjIwMDQtMDYtMTQgMTE6MjMgIGFuZHkKCgkqIFNvdXJjZS9jbUNvbW1hbmRzLmN4eDogRVJSOiBPbiBNYWMgd2UgbmVlZAoJICBHRVRfU09VUkNFX0ZJTEVfUFJPUEVSVFkgZm9yIGJ1aWxkaW5nIGN1cmwKCjIwMDQtMDYtMTQgMTA6NDYgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZEtERS5jbWFrZTogRU5IOiBhZGQgRmluZEtERSBmcm9tIEFsZXggZnJvbSBrZGUub3JnCgoyMDA0LTA2LTE0IDEwOjM2ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRGTFRLLmNtYWtlOiBmaXggZm9yIGJ1ZyA5MTUKCjIwMDQtMDYtMTQgMTA6MjggIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeCBzdWIgcHJvamVjdCBwYXRoCgkgIHByb2JsZW0KCjIwMDQtMDYtMTEgMTU6MjcgIG1hcnRpbmsKCgkqIENNYWtlTGlzdHMudHh0LCBDTWFrZVN5c3RlbUNvbmZpZy50eHQuaW4sCgkgIENNYWtlV2luZG93c1N5c3RlbUNvbmZpZy50eHQsIENoYW5nZUxvZy5tYW51YWwsIENoYW5nZUxvZy50eHQsCgkgIERhcnRDb25maWcuY21ha2UsIGJvb3RzdHJhcCwgRG9jcy9jbWFrZS1tb2RlLmVsLAoJICBNb2R1bGVzL0NNYWtlQ0NvbXBpbGVyLmNtYWtlLmluLAoJICBNb2R1bGVzL0NNYWtlQ1hYQ29tcGlsZXIuY21ha2UuaW4sCgkgIE1vZHVsZXMvQ01ha2VEZWZhdWx0TWFrZVJ1bGVWYXJpYWJsZXMuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDWFhDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUltcG9ydEJ1aWxkU2V0dGluZ3MuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlVGVzdENDb21waWxlci5jbWFrZSwgTW9kdWxlcy9DTWFrZVRlc3RHTlUuYywKCSAgTW9kdWxlcy9DaGVja0ZvclB0aHJlYWRzLmMsIE1vZHVsZXMvQ2hlY2tGdW5jdGlvbkV4aXN0cy5jLAoJICBNb2R1bGVzL0NoZWNrSW5jbHVkZUZpbGUuY21ha2UsCgkgIE1vZHVsZXMvQ2hlY2tJbmNsdWRlRmlsZUNYWC5jbWFrZSwgTW9kdWxlcy9DaGVja1R5cGVTaXplLmMsCgkgIE1vZHVsZXMvQ2hlY2tUeXBlU2l6ZS5jbWFrZSwgTW9kdWxlcy9DaGVja1ZhcmlhYmxlRXhpc3RzLmMsCgkgIE1vZHVsZXMvRGFydC5jbWFrZSwgTW9kdWxlcy9EYXJ0Q29uZmlndXJhdGlvbi50Y2wuaW4sCgkgIE1vZHVsZXMvRmluZERDTVRLLmNtYWtlLCBNb2R1bGVzL0ZpbmRHTFVULmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRHVEsuY21ha2UsIE1vZHVsZXMvRmluZElUSy5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kSk5JLmNtYWtlLCBNb2R1bGVzL0ZpbmRNRkMuY21ha2UsCgkgIE1vZHVsZXMvRmluZE9wZW5HTC5jbWFrZSwgTW9kdWxlcy9GaW5kUEhQNC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kUGVybExpYnMuY21ha2UsIE1vZHVsZXMvRmluZFBpa2UuY21ha2UsCgkgIE1vZHVsZXMvRmluZFB5dGhvbkxpYnMuY21ha2UsIE1vZHVsZXMvRmluZFF0LmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRSdWJ5LmNtYWtlLCBNb2R1bGVzL0ZpbmRTV0lHLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRUQ0wuY21ha2UsIE1vZHVsZXMvRmluZFRjbHNoLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRWVEsuY21ha2UsIE1vZHVsZXMvRmluZHd4V2lkZ2V0cy5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kd3hXaW5kb3dzLmNtYWtlLCBNb2R1bGVzL01hY09TWEJ1bmRsZUluZm8ucGxpc3QuaW4sCgkgIE1vZHVsZXMvVGVzdEJpZ0VuZGlhbi5jLCBNb2R1bGVzL1VzZVNXSUcuY21ha2UsCgkgIE1vZHVsZXMvVXNld3hXaWRnZXRzLmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL0Rhcndpbi5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9IUC1VWC5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9JUklYNjQuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vTGludXguY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vT1NGMS5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9TdW5PUy5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWJjYzMyLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1nY2MuY21ha2UsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL1RPRE8sIFNvdXJjZS9jbUFkZEN1c3RvbUNvbW1hbmRDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21BZGRFeGVjdXRhYmxlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUFkZEV4ZWN1dGFibGVDb21tYW5kLmgsIFNvdXJjZS9jbUFkZFRlc3RDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtQ01ha2VNaW5pbXVtUmVxdWlyZWQuaCwgU291cmNlL2NtQ1BsdWdpbkFQSS5jeHgsCgkgIFNvdXJjZS9jbUNQbHVnaW5BUEkuaCwgU291cmNlL2NtQ1Rlc3QuY3h4LCBTb3VyY2UvY21DVGVzdC5oLAoJICBTb3VyY2UvY21DYWNoZU1hbmFnZXIuY3h4LCBTb3VyY2UvY21DYWNoZU1hbmFnZXIuaCwKCSAgU291cmNlL2NtQ29tbWFuZC5oLCBTb3VyY2UvY21Db21tYW5kcy5jeHgsCgkgIFNvdXJjZS9jbUNvbmZpZ3VyZS5jbWFrZS5oLmluLCBTb3VyY2UvY21Db25maWd1cmVGaWxlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUNyZWF0ZVRlc3RTb3VyY2VMaXN0LmN4eCwKCSAgU291cmNlL2NtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuaCwgU291cmNlL2NtRG9jdW1lbnRhdGlvbi5jeHgsCgkgIFNvdXJjZS9jbURvY3VtZW50YXRpb24uaCwgU291cmNlL2NtRHluYW1pY0xvYWRlci5jeHgsCgkgIFNvdXJjZS9jbUVsc2VDb21tYW5kLmgsIFNvdXJjZS9jbUVuYWJsZVRlc3RpbmdDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtRW5hYmxlVGVzdGluZ0NvbW1hbmQuaCwgU291cmNlL2NtRW5kRm9yRWFjaENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21FbmRGb3JFYWNoQ29tbWFuZC5oLCBTb3VyY2UvY21FbmRJZkNvbW1hbmQuaCwKCSAgU291cmNlL2NtRXhlY1Byb2dyYW1Db21tYW5kLmgsCgkgIFNvdXJjZS9jbUV4cG9ydExpYnJhcnlEZXBlbmRlbmNpZXMuY3h4LAoJICBTb3VyY2UvY21GTFRLV3JhcFVJQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUZpbGVDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtRmlsZUNvbW1hbmQuaCwgU291cmNlL2NtRmluZEZpbGVDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUZpbmRMaWJyYXJ5Q29tbWFuZC5oLCBTb3VyY2UvY21GaW5kUGFja2FnZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21GaW5kUGFja2FnZUNvbW1hbmQuaCwgU291cmNlL2NtRmluZFBhdGhDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtRmluZFBhdGhDb21tYW5kLmgsIFNvdXJjZS9jbUZpbmRQcm9ncmFtQ29tbWFuZC5oLAoJICBTb3VyY2UvY21Gb3JFYWNoQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUZvckVhY2hDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUdlbmVyYXRlZEZpbGVTdHJlYW0uaCwKCSAgU291cmNlL2NtR2V0Q01ha2VQcm9wZXJ0eUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21HZXREaXJlY3RvcnlQcm9wZXJ0eUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21HZXREaXJlY3RvcnlQcm9wZXJ0eUNvbW1hbmQuaCwKCSAgU291cmNlL2NtR2V0RmlsZW5hbWVDb21wb25lbnRDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUdldFNvdXJjZUZpbGVQcm9wZXJ0eUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21HZXRUYXJnZXRQcm9wZXJ0eUNvbW1hbmQuY3h4LCBTb3VyY2UvY21HbG9iLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsQ29kZVdhcnJpb3JHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwgU291cmNlL2NtSWZDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtSWZDb21tYW5kLmgsIFNvdXJjZS9jbUluY2x1ZGVDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtSW5jbHVkZUNvbW1hbmQuaCwgU291cmNlL2NtSW5zdGFsbFRhcmdldHNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbFRhcmdldHNDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUxpbmtMaWJyYXJpZXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtTGlua0xpYnJhcmllc0NvbW1hbmQuaCwgU291cmNlL2NtTGlzdEZpbGVDYWNoZS5jeHgsCgkgIFNvdXJjZS9jbUxpc3RGaWxlQ2FjaGUuaCwgU291cmNlL2NtTGlzdEZpbGVMZXhlci5jLAoJICBTb3VyY2UvY21MaXN0RmlsZUxleGVyLmgsIFNvdXJjZS9jbUxpc3RGaWxlTGV4ZXIuaW4ubCwKCSAgU291cmNlL2NtTG9hZENhY2hlQ29tbWFuZC5oLCBTb3VyY2UvY21Mb2FkQ29tbWFuZENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21Mb2NhbENvZGVXYXJyaW9yR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLAoJICBTb3VyY2UvY21NYWNyb0NvbW1hbmQuY3h4LCBTb3VyY2UvY21NYWNyb0NvbW1hbmQuaCwKCSAgU291cmNlL2NtTWFrZURlcGVuZC5jeHgsIFNvdXJjZS9jbU1ha2VEaXJlY3RvcnlDb21tYW5kLmgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuaCwKCSAgU291cmNlL2NtTWVzc2FnZUNvbW1hbmQuaCwgU291cmNlL2NtT3B0aW9uQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbU91dHB1dFJlcXVpcmVkRmlsZXNDb21tYW5kLmgsCgkgIFNvdXJjZS9jbVFUV3JhcENQUENvbW1hbmQuY3h4LCBTb3VyY2UvY21RVFdyYXBDUFBDb21tYW5kLmgsCgkgIFNvdXJjZS9jbVFUV3JhcFVJQ29tbWFuZC5jeHgsIFNvdXJjZS9jbVFUV3JhcFVJQ29tbWFuZC5oLAoJICBTb3VyY2UvY21SZW1vdmVDb21tYW5kLmgsIFNvdXJjZS9jbVJlbW92ZURlZmluaXRpb25zQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVJlbW92ZURlZmluaXRpb25zQ29tbWFuZC5oLAoJICBTb3VyY2UvY21TZXBhcmF0ZUFyZ3VtZW50c0NvbW1hbmQuaCwgU291cmNlL2NtU2V0Q29tbWFuZC5oLAoJICBTb3VyY2UvY21TZXREaXJlY3RvcnlQcm9wZXJ0aWVzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVNldERpcmVjdG9yeVByb3BlcnRpZXNDb21tYW5kLmgsCgkgIFNvdXJjZS9jbVNldFNvdXJjZUZpbGVzUHJvcGVydGllc0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21TZXRUYXJnZXRQcm9wZXJ0aWVzQ29tbWFuZC5oLAoJICBTb3VyY2UvY21TaXRlTmFtZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21Tb3VyY2VGaWxlLmN4eCwKCSAgU291cmNlL2NtU291cmNlRmlsZXNDb21tYW5kLmN4eCwgU291cmNlL2NtU3RhbmRhcmRJbmNsdWRlcy5oLAoJICBTb3VyY2UvY21TdHJpbmdDb21tYW5kLmN4eCwgU291cmNlL2NtU3RyaW5nQ29tbWFuZC5oLAoJICBTb3VyY2UvY21TdWJkaXJDb21tYW5kLmN4eCwgU291cmNlL2NtU3ViZGlyQ29tbWFuZC5oLAoJICBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHgsIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmgsCgkgIFNvdXJjZS9jbVRhcmdldC5jeHgsIFNvdXJjZS9jbVRhcmdldC5oLAoJICBTb3VyY2UvY21UYXJnZXRMaW5rTGlicmFyaWVzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVRhcmdldExpbmtMaWJyYXJpZXNDb21tYW5kLmgsCgkgIFNvdXJjZS9jbVRyeUNvbXBpbGVDb21tYW5kLmN4eCwgU291cmNlL2NtVHJ5Q29tcGlsZUNvbW1hbmQuaCwKCSAgU291cmNlL2NtVXNlTWFuZ2xlZE1lc2FDb21tYW5kLmgsCgkgIFNvdXJjZS9jbVZUS01ha2VJbnN0YW50aWF0b3JDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtVlRLV3JhcEphdmFDb21tYW5kLmgsIFNvdXJjZS9jbVZUS1dyYXBQeXRob25Db21tYW5kLmgsCgkgIFNvdXJjZS9jbVZUS1dyYXBUY2xDb21tYW5kLmgsIFNvdXJjZS9jbVdpbjMyUHJvY2Vzc0V4ZWN1dGlvbi5jeHgsCgkgIFNvdXJjZS9jbVdyYXBFeGNsdWRlRmlsZXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtV3JpdGVGaWxlQ29tbWFuZC5jeHgsIFNvdXJjZS9jbVdyaXRlRmlsZUNvbW1hbmQuaCwKCSAgU291cmNlL2NtYWtlLmN4eCwgU291cmNlL2NtYWtlLmgsIFNvdXJjZS9jbWFrZW1haW4uY3h4LAoJICBTb3VyY2UvY21ha2V0ZXN0LmN4eCwgU291cmNlL2NtYWtld2l6YXJkLmN4eCwKCSAgU291cmNlL2NtYWtld2l6YXJkLmgsIFNvdXJjZS9jdGVzdC5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3VibWl0LmN4eCwgU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXQuaCwKCSAgU291cmNlL0N1cnNlc0RpYWxvZy9jY21ha2UuY3h4LAoJICBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTWFpbkZvcm0uY3h4LAoJICBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzUGF0aFdpZGdldC5jeHgsCgkgIFNvdXJjZS9DdXJzZXNEaWFsb2cvY21DdXJzZXNTdHJpbmdXaWRnZXQuY3h4LAoJICBTb3VyY2Uva3dzeXMvQmFzZTY0LmMsIFNvdXJjZS9rd3N5cy9CYXNlNjQuaC5pbiwKCSAgU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0LCBTb3VyY2Uva3dzeXMvQ29uZmlndXJlLmguaW4sCgkgIFNvdXJjZS9rd3N5cy9Db25maWd1cmUuaHh4LmluLCBTb3VyY2Uva3dzeXMvQ29weXJpZ2h0LnR4dCwKCSAgU291cmNlL2t3c3lzL0RpcmVjdG9yeS5jeHgsIFNvdXJjZS9rd3N5cy9EaXJlY3RvcnkuaHh4LmluLAoJICBTb3VyY2Uva3dzeXMvRW5jb2RlRXhlY3V0YWJsZS5jLCBTb3VyY2Uva3dzeXMvUHJvY2Vzcy5oLmluLAoJICBTb3VyY2Uva3dzeXMvUHJvY2Vzc0Z3ZDl4LmMsIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jLAoJICBTb3VyY2Uva3dzeXMvUHJvY2Vzc1dpbjMyLmMsIFNvdXJjZS9rd3N5cy9SZWd1bGFyRXhwcmVzc2lvbi5jeHgsCgkgIFNvdXJjZS9rd3N5cy9SZWd1bGFyRXhwcmVzc2lvbi5oeHguaW4sCgkgIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHgsIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5oeHguaW4sCgkgIFNvdXJjZS9rd3N5cy9rd3N5c0hlYWRlckR1bXAucGwsCgkgIFNvdXJjZS9rd3N5cy9rd3N5c1BsYXRmb3JtQ3h4VGVzdHMuY21ha2UsCgkgIFNvdXJjZS9rd3N5cy9rd3N5c1BsYXRmb3JtQ3h4VGVzdHMuY3h4LAoJICBTb3VyY2Uva3dzeXMva3dzeXNQcml2YXRlLmgsIFNvdXJjZS9rd3N5cy9rd3N5c19pb3NfZnN0cmVhbS5oLmluLAoJICBTb3VyY2Uva3dzeXMva3dzeXNfaW9zX2lvc2Z3ZC5oLmluLAoJICBTb3VyY2Uva3dzeXMva3dzeXNfaW9zX2lvc3RyZWFtLmguaW4sCgkgIFNvdXJjZS9rd3N5cy9rd3N5c19pb3Nfc3N0cmVhbS5oLmluLCBTb3VyY2Uva3dzeXMva3dzeXNfc3RkLmguaW4sCgkgIFNvdXJjZS9rd3N5cy9rd3N5c19zdGRfZnN0cmVhbS5oLmluLAoJICBTb3VyY2Uva3dzeXMva3dzeXNfc3RkX2lvc2Z3ZC5oLmluLAoJICBTb3VyY2Uva3dzeXMva3dzeXNfc3RkX2lvc3RyZWFtLmguaW4sCgkgIFNvdXJjZS9rd3N5cy9rd3N5c19zdGRfc3N0cmVhbS5oLmluLCBTb3VyY2Uva3dzeXMva3dzeXNfc3RsLmguaW4sCgkgIFNvdXJjZS9rd3N5cy90ZXN0MS5jeHgsIFNvdXJjZS9rd3N5cy90ZXN0SU9TLmN4eCwKCSAgU291cmNlL2t3c3lzL3Rlc3RQcm9jZXNzLmMsIFRlbXBsYXRlcy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVtcGxhdGVzL0RMTEhlYWRlci5kc3B0ZW1wbGF0ZSwgVGVtcGxhdGVzL0VYRUhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVtcGxhdGVzL0VYRVdpbkhlYWRlci5kc3B0ZW1wbGF0ZSwgVGVtcGxhdGVzL1Rlc3REcml2ZXIuY3h4LmluLAoJICBUZW1wbGF0ZXMvaW5zdGFsbC1zaCwgVGVtcGxhdGVzL3N0YXRpY0xpYkhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVzdHMvQ09ubHkvQ01ha2VMaXN0cy50eHQsIFRlc3RzL0NvbW1hbmRMaW5lVGVzdC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tbWFuZExpbmVUZXN0L1ByZUxvYWQuY21ha2UsCgkgIFRlc3RzL0NvbXBsZXgvQ01ha2VMaXN0cy50eHQsIFRlc3RzL0NvbXBsZXgvVmFyVGVzdHMuY21ha2UsCgkgIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleC9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4L0xpYnJhcnkvZmlsZTIuY3h4LAoJICBUZXN0cy9Db21wbGV4L0xpYnJhcnkvdGVzdENvbmx5LmMsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvVmFyVGVzdHMuY21ha2UsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0xpYnJhcnkvZmlsZTIuY3h4LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0xpYnJhcnkvdGVzdENvbmx5LmMsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9WYXJUZXN0cy5jbWFrZSwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9maWxlMi5jeHgsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvdGVzdENvbmx5LmMsCgkgIFRlc3RzL0N1c3RvbUNvbW1hbmQvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0N1c3RvbUNvbW1hbmQvZ2VuZXJhdG9yLmN4eCwKCSAgVGVzdHMvQ3VzdG9tQ29tbWFuZC93cmFwcGVyLmN4eCwgVGVzdHMvSnVtcC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvSnVtcC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9KdW1wL0V4ZWN1dGFibGUvanVtcEV4ZWN1dGFibGUuY3h4LAoJICBUZXN0cy9KdW1wL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0p1bXAvTGlicmFyeS9TaGFyZWQvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0p1bXAvTGlicmFyeS9TaGFyZWQvanVtcFNoYXJlZC5jeHgsCgkgIFRlc3RzL0p1bXAvTGlicmFyeS9TdGF0aWMvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0p1bXAvTGlicmFyeS9TdGF0aWMvanVtcFN0YXRpYy5jeHgsCgkgIFRlc3RzL0xpbmtMaW5lT3JkZXIvVHdvLmMsIFRlc3RzL0xvYWRDb21tYW5kL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Mb2FkQ29tbWFuZC9DTWFrZUNvbW1hbmRzL2NtVGVzdENvbW1hbmQuYywKCSAgVGVzdHMvTG9hZENvbW1hbmRPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0xvYWRDb21tYW5kT25lQ29uZmlnL0NNYWtlQ29tbWFuZHMvY21UZXN0Q29tbWFuZC5jLAoJICBUZXN0cy9QcmVPcmRlci9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvUHJlT3JkZXIvc2ltcGxlLmN4eCwKCSAgVGVzdHMvUHJlT3JkZXIvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvUHJlT3JkZXIvTGlicmFyeS9zaW1wbGVMaWIuY3h4LAoJICBUZXN0cy9TaW1wbGUvQ01ha2VMaXN0cy50eHQsIFRlc3RzL1NpbXBsZS9zaW1wbGVXZS5jcHAsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGwvUG9zdEluc3RhbGwuY21ha2UsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGwvUHJlSW5zdGFsbC5jbWFrZSwgVGVzdHMvU2ltcGxlSW5zdGFsbC9mb28uYywKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbC9mb28uaCwgVGVzdHMvU2ltcGxlSW5zdGFsbC9pbnN0LmN4eCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbC9saWIxLmN4eCwgVGVzdHMvU2ltcGxlSW5zdGFsbC9saWIxLmgsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGwvbGliMi5jeHgsIFRlc3RzL1NpbXBsZUluc3RhbGwvbGliMi5oLAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsL2xpYjMuY3h4LCBUZXN0cy9TaW1wbGVJbnN0YWxsL2xpYjMuaCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvUG9zdEluc3RhbGwuY21ha2UsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9QcmVJbnN0YWxsLmNtYWtlLAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvZm9vLmMsIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9mb28uaCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL2luc3QuY3h4LCBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvbGliMS5jeHgsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9saWIxLmgsIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9saWIyLmN4eCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL2xpYjIuaCwgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL2xpYjMuY3h4LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvbGliMy5oLAoJICBUZXN0cy9TdHJpbmdGaWxlVGVzdC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU3RyaW5nRmlsZVRlc3QvSW5wdXRGaWxlLmguaW4sIFRlc3RzL1N1YkRpci9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU3ViRGlyL3ZjbF9hbGdvcml0aG0rdmNsX3BhaXIrZG91YmxlLmZvby5jLAoJICBUZXN0cy9TdWJEaXIvQW5vdGhlclN1YmRpci9wYWlyK2ludC5pbnQuYywKCSAgVGVzdHMvU3ViRGlyL0Fub3RoZXJTdWJkaXIvc2Vjb25kb25lLmMsCgkgIFRlc3RzL1N1YkRpci9Bbm90aGVyU3ViZGlyL3Rlc3Rmcm9tc3ViZGlyLmMsCgkgIFRlc3RzL1N1YkRpci9FeGFtcGxlcy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU3ViRGlyL0V4YW1wbGVzL2V4YW1wbGUxL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TdWJEaXIvRXhhbXBsZXMvZXhhbXBsZTEvZXhhbXBsZTEuY3h4LAoJICBUZXN0cy9TdWJEaXIvRXhhbXBsZXMvZXhhbXBsZTIvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1N1YkRpci9FeGFtcGxlcy9leGFtcGxlMi9leGFtcGxlMi5jeHgsCgkgIFRlc3RzL1N1YkRpci9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TdWJEaXIvRXhlY3V0YWJsZS90ZXN0LmN4eCwKCSAgVGVzdHMvU3ViRGlyL1RoaXJkU3ViRGlyL3BhaXIraW50LmludDEuYywKCSAgVGVzdHMvU3ViRGlyL1RoaXJkU3ViRGlyL3BhaXJfcF9pbnQuaW50MS5jLAoJICBUZXN0cy9TdWJEaXIvVGhpcmRTdWJEaXIvdGVzdGZyb21hdXhzdWJkaXIuYywKCSAgVGVzdHMvU3ViRGlyL1RoaXJkU3ViRGlyL3RoaXJkb25lLmMsCgkgIFRlc3RzL1N3aWdUZXN0L0NNYWtlTGlzdHMudHh0LCBUZXN0cy9Td2lnVGVzdC9leGFtcGxlLmN4eCwKCSAgVGVzdHMvU3dpZ1Rlc3QvZXhhbXBsZS5oLCBUZXN0cy9Td2lnVGVzdC9leGFtcGxlLmksCgkgIFRlc3RzL1N3aWdUZXN0L3J1bm1lLnBocDQsIFRlc3RzL1N3aWdUZXN0L3J1bm1lLnBpa2UsCgkgIFRlc3RzL1N3aWdUZXN0L3J1bm1lLnBsLCBUZXN0cy9Td2lnVGVzdC9ydW5tZS5weSwKCSAgVGVzdHMvU3dpZ1Rlc3QvcnVubWUucmIsIFRlc3RzL1N3aWdUZXN0L3J1bm1lLnRjbCwKCSAgVGVzdHMvU3dpZ1Rlc3QvcnVubWUyLnRjbCwKCSAgVGVzdHMvU3lzdGVtSW5mb3JtYXRpb24vQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1N5c3RlbUluZm9ybWF0aW9uL0R1bXBJbmZvcm1hdGlvbi5jeHgsCgkgIFRlc3RzL1RyeUNvbXBpbGUvQ01ha2VMaXN0cy50eHQsIFRlc3RzL1dyYXBwaW5nL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9XcmFwcGluZy92dGtUZXN0TW9jLmgsIFV0aWxpdGllcy9Eb3h5Z2VuL0NNYWtlTGlzdHMudHh0LAoJICBVdGlsaXRpZXMvRG94eWdlbi9kb3h5ZmlsZS5pbiwKCSAgVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaCwKCSAgVXRpbGl0aWVzL1JlbGVhc2UvY29uZmlnX0lSSVg2NCwKCSAgVXRpbGl0aWVzL1JlbGVhc2UvcmVsZWFzZV9kaXNwYXRjaC5zaDogdXBkYXRlZCB0byAyLjAuMQoKMjAwNC0wNi0xMSAxNTowNyAgaG9mZm1hbgoKCSogU291cmNlL2NtSWZDb21tYW5kLmN4eDogQlVHOiBmaXggY3Jhc2ggZm9yIGlmIHN0YXRtZW50IGR1ZSB0byBiYWQKCSAgbWljcm9zb2Z0IGRvY3Mgb24gZGVxdWUgQlVHIGlkIDkxNwoKMjAwNC0wNi0wOSAxODo1NiAgbWFydGluawoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUcjODkxOiBXaGVuIGJ1aWxkaW5nCgkgIENNYWtlIGl0c2VsZiwgdXNlIHRoZSBuZXcgY21ha2UgdG8gaW5zdGFsbCBzbyB0aGF0IHRoZSBjdXJyZW50CgkgIGNtYWtlIGNhbiBiZSBvdmVyd3JpdHRlbi4KCjIwMDQtMDYtMDkgMTg6MDEgIG1hcnRpbmsKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogRVJSOiBEbyBub3QgdXNlIHRoZSBiaW5hcnkgZGlyZWN0b3J5IGFzIGEKCSAgcmVndWxhciBleHByZXNzaW9uLgoKMjAwNC0wNi0wOSAxNzozNiAgbWFydGluawoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBCVUc6IEZpbGVzIGluIHRvcC1sZXZlbCBkaXJlY3Rvcnkgb2Ygc291cmNlCgkgIHRyZWUgd2VyZSBub3QgcmVwb3J0ZWQgaW4gdXBkYXRlcyBsb2cuCgoyMDA0LTA2LTA5IDExOjMwICBhbmR5CgoJKiBEYXJ0Q29uZmlnLmNtYWtlOiBFTkg6IENsZWFudXBzCgoyMDA0LTA2LTA5IDExOjE5ICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEJVRzogRXZlbiBpZiB1cGRhdGUgZmFpbHMgaXQgc2hvdWxkIHByb2R1Y2UKCSAgdmFsaWQgWE1MCgoyMDA0LTA2LTA5IDEwOjM3ICBhbmR5CgoJKiBEYXJ0Q29uZmlnLmNtYWtlOiBFTkg6IFVzZSB2aWV3Y3ZzIGluc3RlYWQgb2YgY3Zzd2ViCgoyMDA0LTA2LTA4IDE3OjM2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IHN1cHBvcnQgZm9yIGZsb2F0aW5nIHBvbml0IHN0cmlkZXMKCjIwMDQtMDYtMDggMTc6MjYgIGJhcnJlCgoJKiBNb2R1bGVzL0ZpbmREb3h5Z2VuLmNtYWtlLCBVdGlsaXRpZXMvRG94eWdlbi9DTWFrZUxpc3RzLnR4dDogYSkKCSAgbmV3IHZlcnNpb24gb2YgdG9vbHMgbGlrZSBEb3h5Z2VuIGFuZCBHcmFwaHZpeiBub3cgc2V0IGluc3RhbGwKCSAgcGF0aCBpbmZvIGluIHdpbjMyIHJlZ2lzdGVyeS4gdXNlIGl0LiAgYikgcmVtb3ZlIERPVF9QQVRILCBpdCB3YXMKCSAgcG9sbHV0aW5nIHRoZSBjYWNoZSAoY2FuIGJlIGNvbXB1dGVkIGZyb20gRE9ULCB1cGRhdGUKCSAgQ01ha2VMaXN0cy50eHQgYWNjb3JkaW5nbHkgaWYgRE9UX1BBVEggaXMgbm90IGRlZmluZWQpCgoyMDA0LTA2LTA3IDIxOjQxICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBCVUc6IHVuZG8gbGFzdCBidWcgZml4IGJlY2F1c2UgaXQKCSAgYnJlYWtzIGNtYWtlLCByZWJ1aWxkX2NhY2hlIG9uIFBhcmFWaWV3IGdldHMgdG9ucyBvZiBlcnJvcnMgYWJvdXQKCSAgbm90IGJlaW5nIGFibGUgdG8gY3JlYXRlIHRoZSBiaW4gZGlyZWN0b3J5CgoyMDA0LTA2LTA3IDEzOjU1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBCVUc6IERvIG5vdCBjcmVhdGUgYSBkaXJlY3Rvcnkgb24KCSAgdG9wIG9mIGEgZmlsZS4KCjIwMDQtMDYtMDcgMTI6MzUgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0LmgsIENUZXN0L2NtQ1Rlc3RTdWJtaXQuY3h4LAoJICBDVGVzdC9jbUNUZXN0U3VibWl0Lmg6IG1lcmdlIGZyb20gbWFpbiB0cmVlLCBhZGQgc3VwcG9ydCBmb3Igc2NwCgkgIHN1Ym1pdAoKMjAwNC0wNi0wNyAwOTo1NCAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kRkxUSy5jbWFrZTogbWVyZ2UgZnJvbSBtYWluIHRyZWUsIGZpeCBvcmRlciBvZgoJICBsaWJyYXJpZXMKCjIwMDQtMDYtMDcgMDk6NTAgIGhvZmZtYW4KCgkqIFRlc3RzL1NpbXBsZS9DTWFrZUxpc3RzLnR4dDogbWVyZ2UgZnJvbSBtYWluIHRyZWUKCjIwMDQtMDYtMDcgMDk6NDkgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IG1lcmdlIGZyb20gbWFpbiB0cmVlLCBmaXggZmluZAoJICBsaWJyYXJ5IHNvIGl0IGRvZXMgbm90IGZpbmQgZGlyZWN0b3JpZXMKCjIwMDQtMDYtMDcgMDk6NDggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogbWVyZ2UgZnJvbSBtYWluIHRyZWUsIGRldGVjdCBwcm9ibGVtcwoJICB3cml0dGluZyBmaWxlcwoKMjAwNC0wNi0wNyAwOTo0NyAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBtZXJnZXIgZnJvbSBtYWluIHRyZWUsCgkgIGZpeCBzdWJkaXIgcHJlb3JkZXIKCjIwMDQtMDYtMDcgMDk6NDYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogbWVyZ2UgZnJvbSBtYWluIHRyZWUsIGZpeCBpbnN0YWxsCgkgIHdpdGggc3ViZGlyIGFuZCBub3QgZXhlcGF0aAoKMjAwNC0wNi0wNyAwOTo0NiAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogbWVyZ2UgZnJvbSBtYWluIHRyZWUsIGZpeAoJICBjcmFzaCBpbiBleHRlcm5hbCBwcm9qZWN0IGluY2x1ZGUKCjIwMDQtMDYtMDcgMDk6NDUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNyZWF0ZVRlc3RTb3VyY2VMaXN0LmN4eDogbWVyZ2UgZnJvbSBtYWluIHRyZWUsIGRvIG5vdAoJICB3cml0ZSB0ZXN0IGRyaXZlciBlYWNoIHRpbWUgY21ha2UgaXMgcnVuCgoyMDA0LTA2LTA3IDA5OjQ0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21DVGVzdC5oOiBFTkg6IGNoYW5nZXMgZnJvbSBtYWluIHRyZWUsCgkgIHNvbWUgZGlmZmVyZW50IC1JIG9wdGlvbnMsIENURVNUX0RBU0hCT0FSRF9ST09UIGNvbXB1dGF0aW9uLCBzb21lCgkgIG1vcmUgZXJyb3IgYW5kIHdhcm5pbmcgbWF0Y2hlcwoKMjAwNC0wNi0wNyAwODo1MSAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXQuY3h4OiBFUlI6IFJlbW92ZSB3YXJuaW5nCgoyMDA0LTA2LTA0IDE0OjU5ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQ6IEVSUjogRG8gbm90IGFkZCB0aGUgbGlicmFyeSBpZiBubwoJICBzb3VyY2VzIGFyZSB1c2VkLgoKMjAwNC0wNi0wMyAxOToxMiAgYW5keQoKCSogVGVzdHMvOiBTaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBTaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEVSUjogUmVtb3ZlIHRlc3RpbmYgb2YgUFJFT1JERVIKCSAgb24gV2luZG93cwoKMjAwNC0wNi0wMyAxNzowOSAgYW5keQoKCSogVGVzdHMvOiBTaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBTaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEVSUjogVHJ5IHRvIGZpeCBzaW1wbGUgaW5zdGFsbCBvbgoJICB2czYKCjIwMDQtMDYtMDMgMTQ6NTQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZEZMVEsuY21ha2U6IEZpeCBmb3IgYnVnIDkwMyBjaGFuZ2Ugb3JkZXIgb2YgZmx0awoJICBsaWJyYXJpZXMKCjIwMDQtMDYtMDIgMTM6MzkgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0LmgsIENUZXN0L2NtQ1Rlc3RTdWJtaXQuY3h4LAoJICBDVGVzdC9jbUNUZXN0U3VibWl0Lmg6IEVOSDogSW1wbGVtZW50IHNjcCBzdWJtaXNzaW9uCgoyMDA0LTA2LTAxIDE0OjA4ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtLzogSFAtVVguY21ha2UsIElSSVguY21ha2UsIElSSVg2NC5jbWFrZSwKCSAgT1NGMS5jbWFrZSwgV2luZG93cy1iY2MzMi5jbWFrZSwgZ2NjLmNtYWtlOiBCVUcjODk1OiBBZGRpbmcKCSAgLUROREVCVUcgdG8gQyBhbmQgQysrIGZsYWdzIGZvciByZWxlYXNlIGJ1aWxkcy4KCjIwMDQtMDYtMDEgMTI6NTUgIGFuZHkKCgkqIFRlc3RzLzogU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgU2ltcGxlSW5zdGFsbC9UZXN0U3ViRGlyL0NNYWtlTGlzdHMudHh0LAoJICBTaW1wbGVJbnN0YWxsL1Rlc3RTdWJEaXIvVFNELmN4eCwgU2ltcGxlSW5zdGFsbC9UZXN0U3ViRGlyL1RTRC5oLAoJICBTaW1wbGVJbnN0YWxsL1Rlc3RTdWJEaXIvVFNEX3V0aWxzLmN4eCwKCSAgU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0LAoJICBTaW1wbGVJbnN0YWxsUzIvVGVzdFN1YkRpci9DTWFrZUxpc3RzLnR4dCwKCSAgU2ltcGxlSW5zdGFsbFMyL1Rlc3RTdWJEaXIvVFNELmN4eCwKCSAgU2ltcGxlSW5zdGFsbFMyL1Rlc3RTdWJEaXIvVFNELmgsCgkgIFNpbXBsZUluc3RhbGxTMi9UZXN0U3ViRGlyL1RTRF91dGlscy5jeHg6IEVOSDogTW9yZSBlbGFib3JhdGUKCSAgaW5zdGFsbCB0ZXN0CgoyMDA0LTA2LTAxIDEyOjE5ICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFTkg6IG1ha2Ugc3VyZSBmaW5kIGxpYnJhcnkgZG9lcwoJICBub3QgZmluZCBkaXJlY3RvcmllcwoKMjAwNC0wNi0wMSAxMjowNyAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBmaXggZm9yIDg3MSwgaW5jbHVkZQoJICBleHRlcm5hbCBzaG91bGQgd29yayBmb3IgNy4xIGFuZCA3LjAKCjIwMDQtMDYtMDEgMTE6MzAgIGFuZHkKCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogRU5IOiBGaXggYnVnIGluIGNtYWtlIGluc3RhbGwgd2hlbgoJICBleGVjL2xpYnJheXIgb3V0cHV0IHBhdGggbm90IGRlZmluZWQuIENsb3NlcyBCdWcgIzg5OSAtIHN1YmRpcgoJICBJTlNUQUxMX1RBUkdFVFMgSU5TVEFMTF9QUk9HUkFNUyBkb250IHdvcmsKCjIwMDQtMDYtMDEgMDk6NTggIGFuZHkKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBGaXggcHJlb3JkZXIuIFRoaXMKCSAgY2F1c2VkIHByZW9yZGVyIHRvIG5vdCB3b3JrIGFuZCB0aGUgdGVzdCBwYXNzZWQgYmVjYXVzZSBvZgoJICBqdW1wLW92ZXIgcnVsZQoKMjAwNC0wNS0yOCAxNTowMiAgbWFydGluawoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaDogY3Rlc3QgLVMgc3VwcG9ydCBmb3IgIG11bHRpcGxlCgkgIGN0ZXN0IGNvbW1hbmQgYXJndW1lbnRzCgoyMDA0LTA1LTI3IDEyOjU2ICBhbmR5CgoJKiBTb3VyY2UvY21DcmVhdGVUZXN0U291cmNlTGlzdC5jeHg6IEJVRzogV2hlbiBjcmVhdGluZyBhIHRlc3QKCSAgZHJpdmVyLCBkbyBub3QgcmVtb3ZlIHRoZSBvbGQgZmlsZSwgc28gaWYgbm90aGluZyBjaGFuZ2VzLCBpdAoJICB3aWxsIG5vdCByZWJ1aWxkLiBGaXhlcyBCdWcgIzg4NSAtIGNtQ3JlYXRlVGVzdFNvdXJjZSBvdmVyd3JpdGUKCSAgZmlsZSB3aGVuIHJ1bm5pbmcgY21ha2UKCjIwMDQtMDUtMjcgMTI6NTMgIGFuZHkKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogRU5IOiBEZXRlY3QgaWYgdGhlcmUgd2VyZSBwcm9ibGVtcyB3cml0aW5nCgkgIGZpbGUKCjIwMDQtMDUtMjcgMTE6MjEgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IFVwZGF0ZWQgdG8gbm90IGluY2x1ZGUgQ1ZTCgkgIGRpcmVjdG9yaWVzIGluIGN5Z3dpbiBwYWNrYWdlLgoKMjAwNC0wNS0yNiAxNToyNyAgbWFydGluawoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBhZGRlZCBhbm90aGVyIGVycm9yIHN0cmluZyBhbmQgY2hhbmdlIHRoZSAtSQoJICBvcHRpb24gc29tZQoKMjAwNC0wNS0yNSAxNDozNCAgbWFydGluawoKCSogQ01ha2VMaXN0cy50eHQsIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IG1lcmdlcyBmcm9tCgkgIHRoZSBtYWluIHRyZWUKCjIwMDQtMDUtMjUgMTE6MzEgIG1hcnRpbmsKCgkqIE1vZHVsZXMvQ01ha2VJbXBvcnRCdWlsZFNldHRpbmdzLmNtYWtlLCBNb2R1bGVzL0ZpbmRRdC5jbWFrZSwKCSAgTW9kdWxlcy9Vc2VTV0lHLmNtYWtlLCBTb3VyY2UvY21DVGVzdC5jeHgsCgkgIFNvdXJjZS9jbUNhY2hlTWFuYWdlci5jeHgsIFNvdXJjZS9jbUNhY2hlTWFuYWdlci5oLAoJICBTb3VyY2UvY21HZW5lcmF0ZWRGaWxlU3RyZWFtLmgsCgkgIFNvdXJjZS9jbUdldERpcmVjdG9yeVByb3BlcnR5Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTWFjcm9Db21tYW5kLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZS5oLCBTb3VyY2UvY21TZXREaXJlY3RvcnlQcm9wZXJ0aWVzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVNldERpcmVjdG9yeVByb3BlcnRpZXNDb21tYW5kLmgsCgkgIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwgVGVzdHMvQ29tbWFuZExpbmVUZXN0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGUvQ01ha2VMaXN0cy50eHQsIFRlc3RzL1RyeUNvbXBpbGUvQ01ha2VMaXN0cy50eHQ6CgkgIG1lcmdlcyBmcm9tIHRoZSBtYWluIHRyZWUKCjIwMDQtMDUtMjUgMTE6MjAgIG1hcnRpbmsKCgkqIE1vZHVsZXMvQ01ha2VJbXBvcnRCdWlsZFNldHRpbmdzLmNtYWtlLCBTb3VyY2UvY21DVGVzdC5jeHg6CgkgIGJldHRlciBlcnJvciBtZXNzYWdlCgoyMDA0LTA1LTIxIDExOjUyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEVOSDogc3BlZWQgdXAgZm9yIE5PVEZPVU5ECgoyMDA0LTA1LTIxIDA5OjUxICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4OiBFTkg6IGZpeCByZXJ1biBvZiBjbWFrZQoJICBjb21tYW5kCgoyMDA0LTA1LTIwIDIxOjI3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEJVRzogYmFjayBvdXQgY2hhbmdlIGR1ZSB0byBicm9rZW4KCSAgZGFzaGJvYXJkCgoyMDA0LTA1LTIwIDE3OjMzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEVOSDogcmVtb3ZlIHJlZ2V4IHVzZSB3aGVyZSBzdHJjbXAgaXMKCSAgZmFzdGVyCgoyMDA0LTA1LTIwIDE2OjU2ICBhbmR5CgoJKiBNb2R1bGVzL1VzZVNXSUcuY21ha2UsIFNvdXJjZS9jbUdldERpcmVjdG9yeVByb3BlcnR5Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZS5oLCBTb3VyY2UvY21TZXREaXJlY3RvcnlQcm9wZXJ0aWVzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVNldERpcmVjdG9yeVByb3BlcnRpZXNDb21tYW5kLmg6IEVOSDogSW1wbGVtZW50CgkgIGFkZGl0aW9uYWwgbWFrZSBjbGVhbiBmaWxlcyBhcyBhIGRpcmVjdG9yeSBwcm9wZXJ0eSBpbnN0ZWFkIG9mCgkgIGNtYWtlIHZhcmlhYmxlCgoyMDA0LTA1LTIwIDE2OjM1ICBob2ZmbWFuCgoJKiBUZXN0cy9UcnlDb21waWxlL0NNYWtlTGlzdHMudHh0OiBCVUc6IGRvbnQgcHV0IHRoZSBvdXRwdXQgb2YgYQoJICB0cnkgY29tcGlsZSBpbiB0aGUgb3V0cHV0IGJlY2F1c2UgdmlzdWFsIHN0ZHVpbyA3IGlkZSB3aWxsIHRoaW5nCgkgIHRoZXJlIHdlcmUgZXJyb3JzCgoyMDA0LTA1LTIwIDE2OjI5ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdlbmVyYXRlZEZpbGVTdHJlYW0uaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaDogQlVHOiBtYWtlIHN1cmUgZ2xvYmFsIGdlbmVyYXRlCgkgIGlzIGRvbmUgd2hlbiBjbWFrZWxpc3QgZmlsZSBjaGFnbmVzLCBhbHNvIG1ha2Ugc3VyZSBndWlkcyBhcmUKCSAgc3RvcmVkIGluIHRoZSBjYWNoZSBzbyB0aGUgLnNsbiBmaWxlIGRvZXMgbm90IGNoYW5nZSBldmVyeSB0aW1lCgoyMDA0LTA1LTIwIDE2OjI2ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRRdC5jbWFrZTogRU5IOiBsb29rIGZvciBxdG1vYyBpbiBzb21lIG90aGVyIHBsYWNlcwoKMjAwNC0wNS0yMCAxNTowOCAgbWFydGluawoKCSogU291cmNlLzogY21DYWNoZU1hbmFnZXIuY3h4LCBjbUNhY2hlTWFuYWdlci5oOiB1cGRhdGVzIHRvIGd1aSB0bwoJICBkZWxldGUgY2FjaGUKCjIwMDQtMDUtMjAgMTM6MTUgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogYWRkZWQgZXJyb3IKCjIwMDQtMDUtMTkgMTY6MDQgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1hY3JvQ29tbWFuZC5jeHg6IEVOSDogbWFrZSBpdCBydW4gbXVjaCBmYXN0ZXIKCjIwMDQtMDUtMTggMTU6NDAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBtYWtlIHN1cmUKCSAgQURESVRJT05BTF9NQUtFX0NMRUFOX0ZJTEVTIHdvcmtzIHdpdGggc3BhY2VzIGluIHRoZSBwYXRoIGFuZCBpcwoJICBjb252ZXJ0ZWQgdG8gdGhlIGNvcnJlY3QgbmF0aXZlIHBhdGggdHlwZQoKMjAwNC0wNS0xOCAxNTozOSAgaG9mZm1hbgoKCSogU291cmNlLzogY21FbmRGb3JFYWNoQ29tbWFuZC5jeHgsIGNtRm9yRWFjaENvbW1hbmQuY3h4OiBtZXJnZQoJICBmcm9tIG1haW4gdHJlZSwgZGV0ZWN0IG1pc3NpbmcgZW5kZm9yZWFjaAoKMjAwNC0wNS0xOCAxNTozOSAgaG9mZm1hbgoKCSogU291cmNlLzogY21Eb2N1bWVudGF0aW9uLmN4eCwgY21ha2VtYWluLmN4eDogbWVyZ2UgZnJvbSBtYWluCgkgIHRyZWUsIG1vdmUgZG9jIHN0dWZmIGFyb3VuZCBzbyBpdCBkb2VzIG5vdCBnaXZlIGNtYWtlIGRvY3MgdG8KCSAgY3Rlc3QKCjIwMDQtMDUtMTggMTU6MzggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogbWVyZ2UgZnJvbSBtYWluIHRyZWUsIGFkZCBzb21lIG1vcmUgb2JzY3VyZQoJICBvcHRpb25zIHRvIGN0ZXN0CgoyMDA0LTA1LTE4IDE1OjM3ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1VzZVNXSUcuY21ha2U6IEJVRzogODM1IGZpeAoKMjAwNC0wNS0xOCAxNTozNyAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZVRlc3RHTlUuYzogQlVHOiA4MjUgZml4CgoyMDA0LTA1LTE4IDE0OjMzICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlVGVzdEdOVS5jOiBCVUc6IGZpeCBwcm9ibGVtIHdoZXJlIGNtYWtlIHRoaW5rcyB0aGUKCSAgaW50ZWwgY29tcGlsZXIgaXMgZ251CgoyMDA0LTA1LTE3IDE2OjMxICBob2ZmbWFuCgoJKiBNb2R1bGVzL1VzZVNXSUcuY21ha2U6IEVOSDogYXBwZW5kIHRvIHRoZSBsaXN0IG9mIGNsZWFuIGZpbGVzLAoJICBkb24ndCBqdXN0IHNldCB0aGVtCgoyMDA0LTA1LTE3IDE1OjU2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogY2hhbmdlCgkgIEFERElUSU9OQUxfTUFLRV9DTEVBTl9GSUxFUyB0byB3b3JrIHdpdGggc3BhY2VzIGluIHRoZSBwYXRoIGFuZAoJICBvbiB3aW5kb3dzIHdpdGggbm8gc3BhY2VzCgoyMDA0LTA1LTE3IDE1OjU1ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1VzZVNXSUcuY21ha2U6IEJVRzogQnVnICM4MzUgZml4LCBhZGQgc3dpZyBnZW5lcmF0ZWQKCSAgZmlsZXMgdG8gY2xlYW4gdGFyZ2V0CgoyMDA0LTA1LTEzIDE2OjE3ICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cubWFudWFsOiBhZGQgYSBoYW5kIGVkaXRlZCBjaGFuZ2Vsb2cKCjIwMDQtMDUtMTMgMTY6MTcgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy5tYW51YWw6IGZpbGUgQ2hhbmdlTG9nLm1hbnVhbCB3YXMgYWRkZWQgb24gYnJhbmNoCgkgIENNYWtlLTItNiBvbiAyMDA4LTAzLTMwIDEzOjA5OjA0ICswMDAwCgoyMDA0LTA1LTEzIDEzOjQxICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IG5ldyBmZWF0dXJlIGZvciBjb250aW51b3VzIGNsZWFuIG9uY2UKCjIwMDQtMDUtMTMgMTM6MDcgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IFJlbW92ZWQgc3VwcG9ydCBmb3IKCSAgd3hDTWFrZVNldHVwIGRpYWxvZy4KCjIwMDQtMDUtMTMgMTA6MzQgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy86IEJhc2U2NC5oLmluLCBDTWFrZUxpc3RzLnR4dCwgUHJvY2Vzcy5oLmluLAoJICBQcm9jZXNzV2luMzIuYywgUHJvY2Vzc1dpbjMyS2lsbC5jLCBQcm9jZXNzV2luMzJLaWxsLmguaW4sCgkgIGt3c3lzSGVhZGVyRHVtcC5wbDogTWVyZ2UgY2hhbmdlcyBmcm9tIHRoZSBtYWluIHRyZWUsIGZpeCBhIGJ1ZwoJICBpbiB0aGUgcHJvY2VzcyBraWxsIGNvZGUKCjIwMDQtMDUtMTMgMTA6MDggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzV2luMzIuYzogQlVHOiBEbyBub3Qgd2FpdCBmb3IgY2hpbGRyZW4gdG8KCSAgZXhpdCB3aGVuIGtpbGxpbmcgdGhlbS4gIFNvbWV0aW1lcyB0aGV5IGRvIG5vdCByZWFsbHkgZGllLgoKMjAwNC0wNS0xMiAxNTozNCAgbWFydGluawoKCSogU291cmNlL2NtRW5kRm9yRWFjaENvbW1hbmQuY3h4OiBmaXggd2FybmluZwoKMjAwNC0wNS0xMiAxNDozMiAgbWFydGluawoKCSogU291cmNlLzogY21FbmRGb3JFYWNoQ29tbWFuZC5jeHgsIGNtRm9yRWFjaENvbW1hbmQuY3h4OiBiZXR0ZXIKCSAgZXJyb3IgY2hlY2tpbmcgZm9yIEZPUkVBQ0gKCjIwMDQtMDUtMTIgMDg6NDYgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IEVOSDogVXBkYXRlZCBmb3IgMi4wLjAKCSAgcmVsZWFzZSB0YWcuCgoyMDA0LTA1LTEwIDE4OjA2ICBhbmR5CgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFRlc3RzL0NUZXN0VGVzdC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ1Rlc3RUZXN0L3Rlc3QuY21ha2UuaW4sCgkgIFRlc3RzL0NvbW1hbmRMaW5lVGVzdC9DTWFrZUxpc3RzLnR4dDogRU5IOiBBZGQgc29tZSBjdGVzdAoJICBjb3ZlcmFnZQoKMjAwNC0wNS0xMCAxNzo1MyAgYW5keQoKCSogU291cmNlLzogY21Eb2N1bWVudGF0aW9uLmN4eCwgY21ha2VtYWluLmN4eDogQlVHOiBNb3ZlCgkgIGRvY3VtZW50YXRpb24gc28gdGhhdCBpdCBkb2VzIG5vdCBhcGVhciBpbiBjdGVzdAoKMjAwNC0wNS0xMCAxNzo0NCAgYW5keQoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaDogRU5IOiBBZGQgYSB3YXkgdG8gZm9yY2UgY3Rlc3QgdG8KCSAgYmUgYSBuZXcgcHJvY2VzcwoKMjAwNC0wNS0xMCAxNjo1OCAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogRU5IOiBBZGRlZCBzdXBwb3J0IGZvciB1c2luZwoJICBjdnMgY2hlY2tvdXQgaW5zdGVhZCBvZiBjdnMgZXhwb3J0LgoKMjAwNC0wNS0xMCAxNjo1NSAgd2lsbAoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFTkg6IEFkZGVkIHJlZ2V4LgoKMjAwNC0wNS0xMCAxNjo0MCAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogTmVlZCB0byByZWNvZ25pemUKCSAgLUIgbGlua2VyIG9wdGlvbnMuCgoyMDA0LTA1LTEwIDE1OjQ5ICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9yZWxlYXNlX2Rpc3BhdGNoLnNoOiBFTkg6IEFkZGluZyByZWxlYXNlCgkgIGRpc3BhdGNoIHNjcmlwdC4KCjIwMDQtMDUtMTAgMTU6NDggIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogY21ha2VfcmVsZWFzZS5zaCwgY29uZmlnX0NZR1dJTl9OVC01LjEsCgkgIGNvbmZpZ19MaW51eCwgY3lnd2luLXBhY2thZ2Uuc2guaW46IEVOSDogVXBkYXRlZCB0byBsYXRlc3QKCSAgdmVyc2lvbiBmcm9tIDEuOCBicmFuY2guCgoyMDA0LTA1LTEwIDE0OjU0ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBDTWFrZUxpc3RzLnR4dCwgUHJvY2Vzc1dpbjMyLmMsCgkgIFByb2Nlc3NXaW4zMktpbGwuYywgUHJvY2Vzc1dpbjMyS2lsbC5oLmluOiBFTkg6IEFkZGluZyBuYXRpdmUKCSAgd2luZG93cyBwcm9jZXNzIHRyZWUga2lsbCB0byBQcm9jZXNzV2luMzIuYy4JVGhpcyByZXBsYWNlcyB0aGUKCSAgUHJvY2Vzc1dpbjMyS2lsbC5jIGltcGxlbWVudGF0aW9uLgoKMjAwNC0wNS0xMCAxMzozOCAga2luZwoKCSogU291cmNlL2t3c3lzLzogQmFzZTY0LmguaW4sIFByb2Nlc3NXaW4zMi5jOiBFUlI6IEF2b2lkaW5nCgkgIG5hbWVzcGFjZSBwb2xsdXRpb246IGt3X3N5cyAtPiBrd3N5c19ucy4gIEFsc28gdW5kZWZpbmluZyB0aGUKCSAgbWFjcm8gYXQgdGhlIGNvcnJlY3QgdGltZS4KCjIwMDQtMDUtMTAgMTM6MTUgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c0hlYWRlckR1bXAucGw6IEVOSDogUmVuYW1pbmcga3dzeXMgbWFjcm8gdG8KCSAga3dzeXNfbnMgdG8gd29yayBhcm91bmQgYm9ybGFuZCBwcmVwcm9jZXNzb3IgYnVnLgoKMjAwNC0wNS0xMCAxMzoxMCAga2luZwoKCSogU291cmNlL2t3c3lzLzogUHJvY2Vzcy5oLmluLCBQcm9jZXNzV2luMzJLaWxsLmguaW46IEVSUjogQXZvaWRpbmcKCSAgbmFtZXNwYWNlIHBvbGx1dGlvbjoga3dfc3lzIC0+IGt3c3lzX25zLiAgQWxzbyB1bmRlZmluaW5nIHRoZQoJICBtYWNybyBhdCB0aGUgY29ycmVjdCB0aW1lLgoKMjAwNC0wNS0xMCAxMjo0NSAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kR1RLLmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL09TRjEuY21ha2UsCgkgIFNvdXJjZS9jbUNUZXN0LmN4eCwgU291cmNlL2NtQ1Rlc3QuaCwgU291cmNlL2NtSWZDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21ha2UuY3h4LCBTb3VyY2UvY3Rlc3QuY3h4LAoJICBTb3VyY2Uva3dzeXMvQmFzZTY0LmguaW4sIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL2t3c3lzL1Byb2Nlc3MuaC5pbiwgU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jLAoJICBTb3VyY2Uva3dzeXMvUHJvY2Vzc1dpbjMyS2lsbC5jLAoJICBTb3VyY2Uva3dzeXMvUHJvY2Vzc1dpbjMyS2lsbC5oLmluLCBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4LAoJICBUZW1wbGF0ZXMvVGVzdERyaXZlci5jeHguaW46IG1lcmdlIGZyb20gbWFpbiB0cmVlCgoyMDA0LTA1LTEwIDEyOjA4ICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1dpbjMyS2lsbC5jOiBFTkg6IHJlbW92ZSBleHRyYSBpbmNsdWRlIGZvcgoJICBjb21waWxlIHdpdGggbWluZ3cKCjIwMDQtMDUtMTAgMTI6MDYgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy86IENNYWtlTGlzdHMudHh0LCBQcm9jZXNzV2luMzJLaWxsLmMsCgkgIFByb2Nlc3NXaW4zMktpbGwuY3h4OiBFTkg6IGNoYW5nZSB0byBjIGNvZGUgc28gaXQgY2FuIGJlIGJ1aWx0CgkgIHdpdGggbWluZ3cKCjIwMDQtMDUtMTAgMTE6MDQgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzV2luMzJLaWxsLmN4eDogRU5IOiByZW1vdmUgdW51c2VkIGluY2x1ZGUKCSAgZmlsZSBzbyBpdCB3aWxsIGJ1aWxkIHdpdGggbWluZ3cKCjIwMDQtMDUtMTAgMTA6MjAgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogZml4IGZvciBjb25maWcgdHlwZSBwYXNzaW5nIGJldHdlZW4gY3Rlc3RzCgoyMDA0LTA1LTA5IDEyOjI3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IHNvbWUgY2xlYW51cCBhbmQgZml4IGZvciBQVkxvY2FsCgoyMDA0LTA1LTA4IDE0OjU1ICBob2ZmbWFuCgoJKiBUZW1wbGF0ZXMvVGVzdERyaXZlci5jeHguaW46IEJVRzogcmVtb3ZlIGRlYnVnIHBvcCBoYWNrcywgYWxzbwoJICByZW1vdmUgZHVwbGljYXRlIGNhbGwgdG8gYXJndmMgZnVuY3Rpb24KCjIwMDQtMDUtMDcgMTQ6MjIgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy86IEJhc2U2NC5oLmluLCBQcm9jZXNzLmguaW4sIFByb2Nlc3NXaW4zMi5jLAoJICBQcm9jZXNzV2luMzJLaWxsLmguaW46IEVSUjogT24gQm9ybGFuZCBwcmVwcm9jZXNzb3IgZ29lcyBpbnRvCgkgIHJlY3Vyc2lvbiB3aGljaCBhZGRzIHNvbWUgd2VpZCBzcGFjZXMgaW4gdGhlIGluY2x1ZGUgbmFtZS4gVGhpcwoJICBmaXhlcyBpdAoKMjAwNC0wNS0wNyAxMzoyNiAgaG9mZm1hbgoKCSogU291cmNlL2N0ZXN0LmN4eDogRU5IOiBiZXR0ZXIgZG9jdW1lbnRhdGlvbgoKMjAwNC0wNS0wNyAxMjo1MyAgaG9mZm1hbgoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaDogRU5IOiBhZGQgdGhlIGFiaWxpdHkgdG8gYmxvY2sKCSAgcG9wdXAgZXJyb3IgZGlhbG9ncyBpbiB0ZXN0cyBvbiB3aW5kb3dzCgoyMDA0LTA1LTA3IDEyOjUyICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1dpbjMyLmM6IEJVRzogbWFrZSBzdXJlIHRoZSBjb3JyZWN0IHN0YXRlIGlzCgkgIHNldCBmb3IgZXhwaXJlZCBwcm9jZXNzZXMKCjIwMDQtMDUtMDcgMTE6MjQgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogbWlzc2luZyBoZWFkZXIgZm9yIHVuaXgKCjIwMDQtMDUtMDcgMTA6NTAgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0Lmg6IHVwZGF0ZWQgdGVzdGluZ29wdGlvbnMgZm9yCgkgIGNvbnRpbnVvdXMgZGFzaGJvYXJkcwoKMjAwNC0wNS0wNyAxMDoxNiAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kR1RLLmNtYWtlOiBBZGQgYSBtaXNzaW5nIGRvbGxhciBzaWduCgoyMDA0LTA1LTA3IDA4OjM1ICBtYXJ0aW5rCgoJKiBUZW1wbGF0ZXMvVGVzdERyaXZlci5jeHguaW46IGZpeCB3YXJuaW5nIG1heWJlCgoyMDA0LTA1LTA2IDE2OjA2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEJVRzogbWFrZSBzdXJlIGluc3RhbGwgd29ya3Mgd2l0aAoJICBzcGFjZXMgaW4gdGhlIHBhdGgKCjIwMDQtMDUtMDYgMTU6MzQgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IENNYWtlTGlzdHMudHh0LCBQcm9jZXNzV2luMzIuYywKCSAgUHJvY2Vzc1dpbjMyS2lsbC5jeHgsIFByb2Nlc3NXaW4zMktpbGwuaC5pbjogRU5IOiBBZGRpbmcgcHJvY2VzcwoJICB0cmVlIGtpbGxpbmcgZm9yIFdpbjMyIHByb2Nlc3MgZXhlY3V0aW9uLgoKMjAwNC0wNS0wNiAxNDozMCAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3MuaC5pbjogRVJSOiBBZGRlZCB1bml0cyB0byBTZXRUaW1lb3V0CgkgIGRvY3VtZW50YXRpb24uCgoyMDA0LTA1LTA2IDEwOjMwICBob2ZmbWFuCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEJVRzogZml4IGN0ZXN0IHNvIHRoYXQgdGhlIHNlYXJjaCBwYXRoIGZvcgoJICB0ZXN0IGV4ZWN1dGFibGVzIHByb2R1Y2VzIGJldHRlciBvdXRwdXQgYW5kIGRvZXMgbm90IHVzZSBjb25maWcKCSAgZGlyIHdoZW4gaXQgaXMgbm90IHNldAoKMjAwNC0wNS0wNiAxMDoyOSAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQlVHOiBmaXggY29sbGFwc2UgZnVsbCBwYXRoIHRvCgkgIGhhbmRsZSBhIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5CgoyMDA0LTA1LTA2IDA5OjQ3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21JZkNvbW1hbmQuY3h4OiBob3JyaWJsZSBoYWNrCgoyMDA0LTA1LTA2IDA4OjUxICBtYXJ0aW5rCgoJKiBUZW1wbGF0ZXMvVGVzdERyaXZlci5jeHguaW46IGZpeCB3YXJuaW5nCgoyMDA0LTA1LTA1IDExOjQxICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IGZpeCBmb3IgaW4gc291cmNlIHRlc3RpbmcKCjIwMDQtMDUtMDUgMTA6NDEgIG1hcnRpbmsKCgkqIE1vZHVsZXMvUGxhdGZvcm0vT1NGMS5jbWFrZTogYSBndWVzcyBhdCBzb21lIE9TRiBjb21waWxlciBmbGFncwoKMjAwNC0wNS0wNSAxMDoyMyAgaG9mZm1hbgoKCSogQ2hhbmdlTG9nLnR4dDogY2hhbmdlIGxvZyB1cC10byAyLjAgYnJhbmNoIHBvaW50CgoyMDA0LTA1LTA1IDEwOjIxICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cudHh0OiBFTkg6IGFkZCBuZXcgY2hhbmdlIGxvZyBtYXJraW5nIDIuMCBicmFuY2gKCjIwMDQtMDUtMDUgMTA6MTkgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBTb3VyY2UvY21DUGx1Z2luQVBJLmg6IEVOSDogbW92ZSB2ZXJzaW9uIHRvIDIuMQoJICBmb3IgY3ZzIGJlY2F1c2UgMi4wIGhhcyBiZWVuIGJyYW5jaGVkCgoyMDA0LTA1LTA1IDEwOjE3ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgU291cmNlL2NtQ1BsdWdpbkFQSS5oLAoJICBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoOiBFTkg6IG1vdmUgdmVyc2lvbiBudW1iZXJzIHRvCgkgIGNtYWtlIDIuMCBmb3IgYnJhbmNoCgoyMDA0LTA1LTA1IDEwOjEzICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21ha2UuY3h4OiBFTkg6IFJlbW92ZSBtZW1vcnkgbGVhawoKMjAwNC0wNS0wNCAxNDoyNCAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogRU5IOiBmaXggdGVzdHMKCSAgdG8gd29yayB3aXRoIGluIHNvdXJjZSBidWlsZHMKCjIwMDQtMDUtMDQgMTQ6MTggIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogc3VwcG9ydCBpbiBzb3VyY2UgYnVpbGRzIGFuZCBhcmcgcGFzc2luZwoKMjAwNC0wNS0wNCAxMToyNCAgYW5keQoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWJjYzMyLmNtYWtlLAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogT25seSBtYW5nbGUgb2JqZWN0CgkgIGZpbGVzIGlmIENNQUtFX01BTkdMRV9PQkpFQ1RfRklMRV9OQU1FUyBpcyBzZXQuIE9ubHkgb24gYm9ybGFuZAoJICBmb3Igbm93LgoKMjAwNC0wNS0wNCAwOToxNiAgbWFydGluawoKCSogU291cmNlL2NtSWZDb21tYW5kLmN4eDogZml4IHdhcm5pbmcKCjIwMDQtMDUtMDMgMTc6NTEgIGFuZHkKCgkqIFRlc3RzL1N3aWdUZXN0L0NNYWtlTGlzdHMudHh0OiBFTkg6IENsZWFudXAgZXhhbXBsZSBhIGJpdAoKMjAwNC0wNS0wMyAxNjozOCAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFTkg6IEFmdGVyIHJ1bm5pbmcgdGVzdCBjbGVhciByZXN1bHRzIGZvcgoJICBtZW1vcnkgY2hlY2tpbmcKCjIwMDQtMDUtMDMgMTY6MzYgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRU5IOiBTa2lwIHRlc3RzIHRoYXQgZG8gbm90IGhhdmUgZGVmZWN0cwoKMjAwNC0wNS0wMyAxNjozNSAgYW5keQoKCSogTW9kdWxlcy86IENoZWNrVHlwZVNpemUuYywgQ2hlY2tUeXBlU2l6ZS5jbWFrZTogRU5IOiBzdXBwb3J0CgkgIFNURERFRiBhbmQgY2xlYW51cAoKMjAwNC0wNS0wMyAxNTozMyAgbWFydGluawoKCSogU291cmNlL2NtSWZDb21tYW5kLmN4eDogbWlub3IgYmFja3dhcmRzIGZpeAoKMjAwNC0wNS0wMyAxMjozNCAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeCB0byBtYWtlIHNwYWNlcwoJICBpbiBwYXRocyB3b3JrIGZvciBqdW1wIG92ZXIgd2l0aCBib3JsYW5kIGFuZCBubWFrZSBvbiBzZWNvbmQKCSAgYnVpbGQKCjIwMDQtMDUtMDMgMTI6MDIgIGFuZHkKCgkqIFRlc3RzLzogTG9hZENvbW1hbmQvQ01ha2VDb21tYW5kcy9jbVRlc3RDb21tYW5kLmMsCgkgIExvYWRDb21tYW5kT25lQ29uZmlnL0NNYWtlQ29tbWFuZHMvY21UZXN0Q29tbWFuZC5jOiBFTkg6IFJlbW92ZQoJICB3YXJuaW5nCgoyMDA0LTA1LTAzIDEwOjEwICBraW5nCgoJKiBTb3VyY2UvY21TdHJpbmdDb21tYW5kLmg6IEVOSDogRG9jdW1lbnRlZCB1c2Ugb2YgXDEgc3ludGF4IGluCgkgIHJlcGxhY2UgZXhwcmVzc2lvbi4KCjIwMDQtMDUtMDMgMDg6NTIgIGhvZmZtYW4KCgkqIFRlc3RzLzogTG9hZENvbW1hbmQvQ01ha2VDb21tYW5kcy9jbVRlc3RDb21tYW5kLmMsCgkgIExvYWRDb21tYW5kT25lQ29uZmlnL0NNYWtlQ29tbWFuZHMvY21UZXN0Q29tbWFuZC5jOiBFTkg6IGZpeAoJICB3YXJuaW5ncyBpbiB0ZXN0CgoyMDA0LTA1LTAyIDExOjUwICBob2ZmbWFuCgoJKiBUZXN0cy86IExpbmtMaW5lT3JkZXIvVHdvLmMsCgkgIExvYWRDb21tYW5kL0NNYWtlQ29tbWFuZHMvY21UZXN0Q29tbWFuZC5jLAoJICBMb2FkQ29tbWFuZE9uZUNvbmZpZy9DTWFrZUNvbW1hbmRzL2NtVGVzdENvbW1hbmQuYzogRU5IOiByZW1vdmUKCSAgd2FybmluZ3MgaW4gdGVzdHMKCjIwMDQtMDUtMDEgMjI6MDUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jdGVzdC5jeHg6IEJVRzogcHV0ZW52IHN5bnRheCB3YXMgd3JvbmcgYW5kIGNhdXNlZCBhIGNyYXNoCgkgIG9uIHRoZSBTR0kKCjIwMDQtMDUtMDEgMTA6MDggIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtSWZDb21tYW5kLmN4eCwgY21JZkNvbW1hbmQuaDogYmV0dGVyIGlmIGV4cHJlc3Npb24KCSAgc3VwcG9ydAoKMjAwNC0wNS0wMSAxMDowNyAgbWFydGluawoKCSogTW9kdWxlcy9GaW5kT3BlbkdMLmNtYWtlOiBmaXggdG8gZmluZCBvcGVuZ2wgb24gc29tZSBvc2Ygc3lzdGVtcwoKMjAwNC0wNS0wMSAwOTo1NyAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFUlI6IFJlbW92ZSB3YXJuaW5nIGFib3V0IHNoYWRvdyB2YXJpYWJsZXMKCjIwMDQtMDQtMzAgMTg6MjEgIGFuZHkKCgkqIFRlc3RzLzogQ29tcGxleC9MaWJyYXJ5L3Rlc3RDb25seS5jLAoJICBDb21wbGV4T25lQ29uZmlnL0xpYnJhcnkvdGVzdENvbmx5LmMsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvdGVzdENvbmx5LmMsCgkgIFN1YkRpci9UaGlyZFN1YkRpci90ZXN0ZnJvbWF1eHN1YmRpci5jOiBFTkg6IFJlbW92ZSB3YXJuaW5ncwoKMjAwNC0wNC0zMCAxNzoyOCAgYW5keQoKCSogVGVzdHMvU2ltcGxlL3NpbXBsZVdlLmNwcDogRU5IOiBSZW1vdmUgd2FybmluZwoKMjAwNC0wNC0zMCAxNToxNyAgYW5keQoKCSogU291cmNlL2N0ZXN0LmN4eDogRU5IOiBBZGQgZW52aXJvbm1lbnQgdmFyaWFibGUgdGhhdCBEYXJ0IHNldHMgc28KCSAgdGhhdCB0ZXN0cyBjYW4ga25vdyB0aGV5IGFyZSBiZWluZyB0ZXN0ZWQgZnJvbSBEYXJ0L0NUZXN0CgoyMDA0LTA0LTMwIDE0OjI3ICBob2ZmbWFuCgoJKiBUZXN0cy9Td2lnVGVzdC9DTWFrZUxpc3RzLnR4dDogRU5IOiBsaW5rIGluIG1vcmUgdGhhbiBqdXN0IHB5dGhvbgoKMjAwNC0wNC0zMCAxNDoxNCAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFTkg6IFJlcG9ydCBmaWxlbmFtZSBvZiB0aGUgbm90ZQoKMjAwNC0wNC0zMCAxMzo0MSAgYW5keQoKCSogTW9kdWxlcy9GaW5kU1dJRy5jbWFrZTogRU5IOiBNb3JlIHBhdGhzCgoyMDA0LTA0LTMwIDEyOjU0ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRTV0lHLmNtYWtlOiBFTkg6IGFkZCBhbm90aGVyIHBsYWNlIHRvIGxvb2sgZm9yCgkgIHN3aWcuZXhlCgoyMDA0LTA0LTMwIDEyOjUyICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRTV0lHLmNtYWtlOiBFTkg6IHRyeSB0byBmaW5kIHN3aWcuZXhlIGluIFNXSUdfRElSCgoyMDA0LTA0LTMwIDEyOjM2ICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogQWRkIHN1cHBvcnQgZm9yIG5vdGVzIGluIFRlc3RpbmcvTm90ZXMKCSAgc3ViZGlyZWN0b3J5LiBUaGlzIHdheSB0ZXN0IGNhbiB3cml0ZSBub3RlcyB0aGF0IHdpbGwgYmUgcmVwb3J0ZWQKCjIwMDQtMDQtMzAgMTI6MTcgIGFuZHkKCgkqIFRlc3RzL1N3aWdUZXN0LzogQ01ha2VMaXN0cy50eHQsIGV4YW1wbGUuY3h4LCBleGFtcGxlLmgsCgkgIGV4YW1wbGUuaSwgcnVubWUucGhwNCwgcnVubWUucGlrZSwgcnVubWUucGwsIHJ1bm1lLnB5LCBydW5tZS5yYiwKCSAgcnVubWUudGNsLCBydW5tZTIudGNsOiBFTkg6IEhlcmUgaXMgdGVzdCBmb3Igc3dpZyBtb2R1bGUKCjIwMDQtMDQtMzAgMTI6MTEgIGFuZHkKCgkqIE1vZHVsZXMvOiBGaW5kUEhQNC5jbWFrZSwgRmluZFBlcmxMaWJzLmNtYWtlLCBGaW5kUGlrZS5jbWFrZSwKCSAgRmluZFJ1YnkuY21ha2UsIEZpbmRTV0lHLmNtYWtlLCBVc2VTV0lHLmNtYWtlOiBFTkg6IEluaXRpYWwKCSAgaW1wb3J0IG9mIHN3aWcuIFN0YXJ0IHdvcmtpbmcgdG93YXJkcyBCdWcgIzc0OSAtIEFkZCBzd2lnIHN1cHBvcnQKCSAgbW9kdWxlIHRvIGNtYWtlCgoyMDA0LTA0LTMwIDExOjM2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogcmVtb3ZlIGR1cGxpY2F0ZQoJICBkZXBlbmQgb24gY2FjaGUgZmlsZSBhbmQgdXNlIG9mIG1ha2UgdmFyaWFibGUgaW4gbWFrZSB0YXJnZXQKCjIwMDQtMDQtMzAgMTE6MzYgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy9UZXN0RHJpdmVyLmN4eC5pbjogRU5IOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDA0LTA0LTMwIDEwOjMyICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFTkg6IHJlbW92ZSB3YXJuaW5ncwoKMjAwNC0wNC0zMCAwODowMiAgaG9mZm1hbgoKCSogVGVtcGxhdGVzL0NNYWtlTGlzdHMudHh0OiBCVUc6IGFkZCBtaXNzaW5nIGluc3RhbGwgZmlsZQoKMjAwNC0wNC0yOSAxNzo0NCAga2luZwoKCSogU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZGVkIGF1dG9tYXRpYyBhZGp1c3RtZW50IG9mCgkgIEMrKyBmbGFncyB0byBpbmNsdWRlIC10aW1wbGljaXRfbG9jYWwgYW5kIC1ub19pbXBsaWNpdF9pbmNsdWRlCgkgIGZvciB0aGUgQ29tcGFxIGNvbXBpbGVyIG9uIE9TRi4KCjIwMDQtMDQtMjkgMTc6NDEgIGFuZHkKCgkqIFNvdXJjZS9jbU1hY3JvQ29tbWFuZC5jeHgsIFNvdXJjZS9jbU1hY3JvQ29tbWFuZC5oLAoJICBUZXN0cy9Db21wbGV4L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dDogRU5IOiBBZGQgQVJHViBhbmQgQVJHTgoJICBzdXBwb3J0IHRvIE1BQ1JPIGNvbW1hbmQuIEFSR1YgaXMgdGhlIGxpc3Qgb2YgYWxsIGFyZ3VtZW50cyBhbmQKCSAgQVJHTiBpcyB0aGUgbGlzdCBvZiBhbGwgbm9uZXhwZWN0ZWQgYXJndW1lbnRzCgoyMDA0LTA0LTI5IDE1OjEyICBhbmR5CgoJKiBTb3VyY2UvY21Gb3JFYWNoQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUZvckVhY2hDb21tYW5kLmgsCgkgIFRlc3RzL1N0cmluZ0ZpbGVUZXN0L0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZCBSQU5HRSBzdXBwb3J0IHRvCgkgIEZPUkVBQ0gKCjIwMDQtMDQtMjkgMTQ6NTEgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbVN0YW5kYXJkSW5jbHVkZXMuaDogQlVHOiBBZGQgYSBzYWZldHkKCSAgY2hlY2sgc28gdGhhdCB5b3UgY2Fubm90IHNlbmQgY21PU3RyaW5nU3RyZWFtLnN0cigpIHRvIG90aGVyCgkgIHN0cmVhbSBhbmQgcHJvZHVjZSB0aGUgZnVua3kgaGV4IG51bWJlci4gVGhpcyBtYWtlcyBpdCBpbXBvc3NpYmxlCgkgIHRvIGNvbXBpbGUgc3VjaCBhIGNvZGUuIEFkZGluZyB0aGF0IGV4cG9zZWQgYSB3aG9sZSBidW5jaCBvZgoJICBwbGFjZXMgaW4gQ01ha2Ugd2hlcmUgc3RyZWFtcyB3ZXJlIHVzZWQgd3JvbmdseQoKMjAwNC0wNC0yOSAxMzoyNSAgYW5keQoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQlVHOiBNb3N0IG9mIHRpbWUgd2hlbiBhc2tpbmcgaWYKCSAgZmlsZSBleGlzdHMsIHdlIGFjdHVhbGx5IHdhbnQgdG8gcmVhZCBpdC4uLiBTaG91bGQgZml4IEJ1ZyAjODA5IC0KCSAgRklORF9JTkNMVURFIHNob3VsZCBjaGVjayByZWFkYWJpbGl0eQoKMjAwNC0wNC0yOSAxMjozMyAgaG9mZm1hbgoKCSogU291cmNlLzogY21HZXRUYXJnZXRQcm9wZXJ0eUNvbW1hbmQuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiByZW1vdmUgd2FybmluZ3MKCjIwMDQtMDQtMjkgMTA6MjYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEJVRzogZml4IGNyYXNoIGZyb20gYnVnIGlkIDgwNgoKMjAwNC0wNC0yOCAxNDoyNSAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IHJlbW92ZSB3YXJuaW5nCgoyMDA0LTA0LTI4IDEzOjQwICBob2ZmbWFuCgoJKiBTb3VyY2UvY21BZGRFeGVjdXRhYmxlQ29tbWFuZC5oOiBCVUc6IGZpeCBmb3IgYnVnIDEyMSBhZGQgc29tZQoJICBkb2NzIGZvciBNRkMgZmxhZwoKMjAwNC0wNC0yOCAxMzoyMSAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9EYXJ3aW4uY21ha2UsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBmaXggZm9yIGJ1ZyAxMTYKCSAgcGxhdGZvcm0gZmlsZXMgY2FuIG5vdyBzcGVjaWZ5IGRpcmVjdG9yaWVzIHRoYXQgc2hvdWxkIG5vdCBiZQoJICBhZGRlZCBieSBDTUFLRQoKMjAwNC0wNC0yOCAxMjozMSAgaG9mZm1hbgoKCSogU291cmNlL2NtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuY3h4LAoJICBTb3VyY2UvY21DcmVhdGVUZXN0U291cmNlTGlzdC5oLCBUZW1wbGF0ZXMvVGVzdERyaXZlci5jeHguaW46CgkgIEVOSDogbWFrZSB0ZXN0IGRyaXZlciBtb3JlIGZsZXhpYmxlIGJ5IHVzaW5nIGEgY29uZmlndXJlZCBmaWxlCgkgIGluc3RlYWQgb2YgZ2VuZXJhdGluZyBhbGwgdGhlIGNvZGUuIGZpeGVzIGJ1ZyAyOAoKMjAwNC0wNC0yOCAxMDo1MiAgYW5keQoKCSogU291cmNlL2NtYWtlLmN4eCwgVGVzdHMvQ29tbWFuZExpbmVUZXN0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21tYW5kTGluZVRlc3QvUHJlTG9hZC5jbWFrZTogRU5IOiBBZGQgc3VwcG9ydCBmb3IKCSAgYXV0b21hdGljYWxseSBwcmVsb2FkZWQgY21ha2UgZmlsZS4gQ2xvc2VzIEJ1ZyAjODAyIC0gQWRkIGF1dG8KCSAgcHJlbG9hZCBmaWxlIHN1cHBvcnQgaW4gQ01ha2UKCjIwMDQtMDQtMjggMTA6MTUgIGFuZHkKCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmg6IEVOSDogRW5jb2RlIG9iamVjdCBmaWxlcyB3aXRoCgkgIGZ1bm55IGNoYXJhY3RlcnMgaW4gdGhlIG5hbWUuIEl0IHNob3VsZCBmaXggQnVnICM0MTggLSBCb3JsYW5kCgkgIDUuNS4xLCBUZW1wbGF0ZXMvKi5jeHggZmlsZXMgd2l0aCAnKycgY2hhcnMgdXNlZCBpbiBleGVjcwoKMjAwNC0wNC0yOCAxMDowOSAgaG9mZm1hbgoKCSogVGVzdHMvOiBDb21wbGV4L1ZhclRlc3RzLmNtYWtlLCBDb21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhPbmVDb25maWcvVmFyVGVzdHMuY21ha2UsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvVmFyVGVzdHMuY21ha2UsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHg6IEVOSDogYWRkIGEgdGVzdCBmb3IKCSAgRVFVQUwgaW4gaWYKCjIwMDQtMDQtMjggMTA6MDUgIGFuZHkKCgkqIFRlc3RzL1N1YkRpci9UaGlyZFN1YkRpci86IHBhaXJfcF9pbnQuaW50MS5jLAoJICB0ZXN0ZnJvbWF1eHN1YmRpci5jOiBFTkg6IE1vcmUgc3BlY2lhbCBjYXNlcwoKMjAwNC0wNC0yOCAxMDowMCAgaG9mZm1hbgoKCSogTW9kdWxlcy86IENoZWNrSW5jbHVkZUZpbGUuY21ha2UsIENoZWNrSW5jbHVkZUZpbGVDWFguY21ha2U6IEVOSDoKCSAgZml4ZXMgZm9yIG9wdGlvbmFsIGZsYWcgYXJndW1lbnRzIHRvIGNoZWNrIGluY2x1ZGUgbWFjcm9zCgoyMDA0LTA0LTI4IDA5OjU5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21JZkNvbW1hbmQuY3h4OiBCVUc6IGZpeCBsb2dpYyBpbiBFUVVBTCBpZiB0ZXN0CgoyMDA0LTA0LTI4IDA5OjUyICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NoZWNrSW5jbHVkZUZpbGVDWFguY21ha2U6IEJVRzogZml4IGZvciBidWcgODAsIGNoZWNrCgkgIGluY2x1ZGUgY3h4IG5vdyBoYXMgYW4gb3B0aW9uYWwgYXJndW1lbnQgdGhhdCBjYW4gaXMgYWRkZWQgdG8gdGhlCgkgIGN4eCBmbGFncwoKMjAwNC0wNC0yOCAwOTo1MSAgaG9mZm1hbgoKCSogU291cmNlLzogY21JZkNvbW1hbmQuY3h4LCBjbUlmQ29tbWFuZC5oOiBFTkg6IGFkZCBhIG51bWVyaWMgRVFVQUwKCSAgdG8gdGhlIElGIHN0YXRtZW50LCB2ZXJ5IHVzZWZ1bCBmb3IgdmFyaWFibGUgYXJndW1lbnRzIGluIE1BQ1JPUwoKMjAwNC0wNC0yNyAxNDoxNiAgYW5keQoKCSogU291cmNlL2t3c3lzLzogQmFzZTY0LmMsIEJhc2U2NC5oLmluLCBDTWFrZUxpc3RzLnR4dCwKCSAgQ29uZmlndXJlLmguaW4sIENvbmZpZ3VyZS5oeHguaW4sIENvcHlyaWdodC50eHQsIERpcmVjdG9yeS5jeHgsCgkgIERpcmVjdG9yeS5oeHguaW4sIEVuY29kZUV4ZWN1dGFibGUuYywgUHJvY2Vzcy5oLmluLAoJICBQcm9jZXNzRndkOXguYywgUHJvY2Vzc1VOSVguYywgUHJvY2Vzc1dpbjMyLmMsIFJFQURNRS50eHQsCgkgIFJlZ3VsYXJFeHByZXNzaW9uLmN4eCwgUmVndWxhckV4cHJlc3Npb24uaHh4LmluLCBTeXN0ZW1Ub29scy5jeHgsCgkgIFN5c3RlbVRvb2xzLmh4eC5pbiwga3dzeXNIZWFkZXJEdW1wLnBsLAoJICBrd3N5c1BsYXRmb3JtQ3h4VGVzdHMuY21ha2UsIGt3c3lzUGxhdGZvcm1DeHhUZXN0cy5jeHgsCgkgIGt3c3lzUHJpdmF0ZS5oLCBrd3N5c19pb3NfZnN0cmVhbS5oLmluLCBrd3N5c19pb3NfaW9zZndkLmguaW4sCgkgIGt3c3lzX2lvc19pb3N0cmVhbS5oLmluLCBrd3N5c19pb3Nfc3N0cmVhbS5oLmluLCBrd3N5c19zdGwuaC5pbiwKCSAgdGVzdDEuY3h4LCB0ZXN0SU9TLmN4eCwgdGVzdFByb2Nlc3MuYzogRU5IOiBNb3ZlIHRvIFZvbFZpZXcKCSAgYnJhbmNoCgoyMDA0LTA0LTI3IDEyOjAzICBhbmR5CgoJKiBTb3VyY2UvY21HZXRUYXJnZXRQcm9wZXJ0eUNvbW1hbmQuY3h4LAoJICBUZXN0cy9DdXN0b21Db21tYW5kL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZCBMT0NBVElPTiB0bwoJICBHRVRfVEFSR0VUX1BST1BFUlRZLiBDbG9zZXMgQnVnICMzNCAtIEFkZCB0byBHRVRfVEFSR0VUX1BST1BFUlRZCgkgIGxvY2F0aW9uIG9mIHRhcmdldAoKMjAwNC0wNC0yNyAxMjowMiAgYW5keQoKCSogU291cmNlLzogY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtTG9jYWxHZW5lcmF0b3IuaCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuaDoKCSAgRU5IOiBHZXRTYWZlRGVmaW5pdGlvbiBpcyBub3cgaW4gY21NYWtlZmlsZQoKMjAwNC0wNC0yNyAxMTozMCAgYW5keQoKCSogU291cmNlLzogY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaDogRU5IOiBBZGQgbWV0aG9kIHRvIGdldAoJICBkZWZpbml0aW9uIGV2ZW4gaWYgaXQgZG9lcyBub3QgZXhpc3RzCgoyMDA0LTA0LTI3IDExOjA4ICBhbmR5CgoJKiBUZXN0cy9DdXN0b21Db21tYW5kLzogZ2VuZXJhdG9yLmN4eCwgd3JhcHBlci5jeHg6IEVSUjogUmVtb3ZlCgkgIHdhcm5pbmdzIGZyb20gdGVzdHMKCjIwMDQtMDQtMjcgMDk6MjIgIGFuZHkKCgkqIFNvdXJjZS9jbVNvdXJjZUZpbGUuY3h4LCBUZXN0cy9TdWJEaXIvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1N1YkRpci92Y2xfYWxnb3JpdGhtK3ZjbF9wYWlyK2RvdWJsZS5mb28uYywKCSAgVGVzdHMvU3ViRGlyL0Fub3RoZXJTdWJkaXIvcGFpcitpbnQuaW50LmMsCgkgIFRlc3RzL1N1YkRpci9Bbm90aGVyU3ViZGlyL3NlY29uZG9uZS5jLAoJICBUZXN0cy9TdWJEaXIvQW5vdGhlclN1YmRpci90ZXN0ZnJvbXN1YmRpci5jLAoJICBUZXN0cy9TdWJEaXIvVGhpcmRTdWJEaXIvcGFpcitpbnQuaW50MS5jLAoJICBUZXN0cy9TdWJEaXIvVGhpcmRTdWJEaXIvdGVzdGZyb21hdXhzdWJkaXIuYywKCSAgVGVzdHMvU3ViRGlyL1RoaXJkU3ViRGlyL3RoaXJkb25lLmM6IEJVRzogRml4IGF1cyBzb3VyY2UgZGlyIGFuZAoJICBhZGQgYmV0dGVyIHRlc3Rpbmcgb2YgaXQKCjIwMDQtMDQtMjcgMDg6MzAgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTG9hZENvbW1hbmRDb21tYW5kLmN4eCwgY21NYWNyb0NvbW1hbmQuY3h4OiBXUk46CgkgIHJlbW92ZSB3YXJuaW5ncwoKMjAwNC0wNC0yNiAxODo1MSAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFTkg6IEFub3RoZXIgb25lIG9mIHRob3NlIG5hc3R5IGhleCBudW1iZXJzCgkgIGluIHRoZSBjdGVzdCBvdXRwdXQKCjIwMDQtMDQtMjYgMTg6NDkgIGFuZHkKCgkqIFRlc3RzL1N1YkRpci9Bbm90aGVyU3ViZGlyLzogc2Vjb25kb25lLmMsIHRlc3Rmcm9tc3ViZGlyLmM6IEVOSDoKCSAgQWRkIGV4dHJhIHRlc3QgZmlsZXMKCjIwMDQtMDQtMjYgMTc6NDUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvYWRDb21tYW5kQ29tbWFuZC5jeHg6IEVOSDogZml4IGZvciBidWcgaWQgMjcsIGFkZCBhCgkgIHNpZ25hbCBoYW5kbGVyIGZvciBjcmFzaGVzIGluIGxvYWRlZCBjb21tYW5kcwoKMjAwNC0wNC0yNiAxNzozMiAgYW5keQoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0LCBTb3VyY2UvY21Tb3VyY2VGaWxlLmN4eCwKCSAgVGVzdHMvU3ViRGlyL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9TdWJEaXIvRXhlY3V0YWJsZS90ZXN0LmN4eDoKCSAgRU5IOiBXaGVuIHNvdXJjZSBmaWxlIGlzIGluIHN1YmRpcmVjdG9yeSBwdXQgb2JqZWN0IGZpbGUgaW4KCSAgc3ViZGlyZWN0b3J5LiBGaXhlcyBCdWcgIzI5MCAtIFNvdXJjZSBmaWxlcyBpbiBzdWJkaXJlY3RvcmllcwoJICBzaG91bGQgcHJvZHVjZSBvYmplY3QgZmlsZXMgaW4gc3ViZGlyZWN0b3JpZXMKCjIwMDQtMDQtMjYgMTM6NDIgIGFuZHkKCgkqIE1vZHVsZXMvRmluZFRDTC5jbWFrZTogRU5IOiBBZGQgVENMX0ZPVU5ECgoyMDA0LTA0LTI2IDEzOjQyICBhbmR5CgoJKiBUZW1wbGF0ZXMvOiBDTWFrZUxpc3RzLnR4dCwgaW5zdGFsbC1zaDogRU5IOiBXaXRoIG5ldyBpbnN0YWxsCgkgIGZyYW1ld29yayB3ZSBkb24ndCBuZWVkIGluc3RhbGwtc2ggYW55IG1vcmUKCjIwMDQtMDQtMjYgMTM6NDIgIGFuZHkKCgkqIFRlc3RzL1N5c3RlbUluZm9ybWF0aW9uLzogQ01ha2VMaXN0cy50eHQsIER1bXBJbmZvcm1hdGlvbi5jeHg6CgkgIEVOSDpBZGQgdGVzdCBmb3IgR0VUL1NFVF9ESVJFQ1RPUllfUFJPUEVSVFkKCjIwMDQtMDQtMjYgMTE6MjMgIGFuZHkKCgkqIFNvdXJjZS86IGNtYWtlLmN4eCwgY21ha2UuaDogQlVHOiBGaXggcmVzb2x2aW5nIG9mIGluZmluaXRlIGxvb3BzCgkgIHdoaWxlIENNYWtlU2V0dXAvY2NtYWtlIHN0aWxsIHJ1bm5pbmcKCjIwMDQtMDQtMjYgMTE6MTIgIG1hcnRpbmsKCgkqIFRlc3RzLzogQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwgQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4OiBhZGRlZCB0ZXN0cyBmb3IgdmFyCgkgIGFyZ3Mgd2l0aCBtYWNyb3MKCjIwMDQtMDQtMjYgMTE6MTEgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTWFjcm9Db21tYW5kLmN4eCwgY21NYWNyb0NvbW1hbmQuaDogbWFjcm9zIG5vdyBzdXBwb3J0CgkgIHZhcmFyZ3MKCjIwMDQtMDQtMjYgMTE6MDAgIGtpbmcKCgkqIE1vZHVsZXMvRmluZElUSy5jbWFrZSwgTW9kdWxlcy9GaW5kVlRLLmNtYWtlLAoJICBTb3VyY2UvY21GaW5kUGFja2FnZUNvbW1hbmQuY3h4OiBCVUcjNjgyOiBBZGRpbmcgZW52aXJvbm1lbnQKCSAgdmFyaWFibGUgY2hlY2sgdG8gRklORF9QQUNLQUdFIGNvbW1hbmQuCgoyMDA0LTA0LTI2IDEwOjQ5ICBraW5nCgoJKiBTb3VyY2UvY21GaW5kUGFja2FnZUNvbW1hbmQuY3h4OiBTVFlMRTogUmVtb3ZlZCB0cmFpbGluZwoJICB3aGl0ZXNwYWNlLgoKMjAwNC0wNC0yNiAxMDoxOSAga2luZwoKCSogTW9kdWxlcy86IENoZWNrVmFyaWFibGVFeGlzdHMuYzogQlVHIzUwMjogRG8gbm90IGxldCBvcHRpbWl6aW5nCgkgIGNvbXBpbGVycyB0aGluayB0aGUgc3ltYm9sIGV4aXN0cy4gIFJlcXVpcmUgdGhlIHN5bWJvbCBieSBtYWtpbmcKCSAgdGhlIHJldHVybiB2YWx1ZSBkZXBlbmQgb24gaXQgdG8gZm9yY2UgbGlua2luZy4KCjIwMDQtMDQtMjMgMTY6MjYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFRlbXBsYXRlcy9ETExIZWFkZXIuZHNwdGVtcGxhdGUsIFRlbXBsYXRlcy9FWEVIZWFkZXIuZHNwdGVtcGxhdGUsCgkgIFRlbXBsYXRlcy9FWEVXaW5IZWFkZXIuZHNwdGVtcGxhdGU6IEJVRzogZml4IGZvciBidWcgNzY5CgkgIENNQUtFX1NUQU5EQVJEX0xJQlJBUklFUyAgbm93IHVzZWQgaW4gaWRlcwoKMjAwNC0wNC0yMyAxNjoyMCAgYW5keQoKCSogU291cmNlLzogY21Db21tYW5kcy5jeHgsIGNtR2V0RGlyZWN0b3J5UHJvcGVydHlDb21tYW5kLmN4eCwKCSAgY21HZXREaXJlY3RvcnlQcm9wZXJ0eUNvbW1hbmQuaCwgY21NYWtlZmlsZS5oLAoJICBjbVNldERpcmVjdG9yeVByb3BlcnRpZXNDb21tYW5kLmN4eCwKCSAgY21TZXREaXJlY3RvcnlQcm9wZXJ0aWVzQ29tbWFuZC5oOiBFTkg6IEFkZAoJICBHRVQvU0VUX0RJUkVDVE9SWV9QUk9QRVJUWS9QUk9QRVJUSUVTIGNvbW1hbmRzIHNvIHRoYXQgd2UgY2FuCgkgIGNoYW5nZSBpbmNsdWRlIGRpcmVjdG9yaWVzIGFuZCBnZXQgYWxsIHNvcnRzIG9mIHRoaW5ncy4gQ2xvc2VzCgkgIEJ1ZyAjMjUgLSBHZXRfQ01BS0VfUFJPUEVSVElFUwoKMjAwNC0wNC0yMyAxMzoxMiAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZVN5c3RlbVNwZWNpZmljSW5mb3JtYXRpb24uY21ha2UsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEVOSDogYWRkIHZlcmJvc2UgbWFrZQoJICBhYmlsaWxpdHkgdG8gdmlzdWFsIHN0dWRpbyA3CgoyMDA0LTA0LTIzIDEyOjUyICBob2ZmbWFuCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuaCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZS5oLCBTb3VyY2UvY21TdWJkaXJDb21tYW5kLmN4eCwKCSAgVGVzdHMvUHJlT3JkZXIvQ01ha2VMaXN0cy50eHQsIFRlc3RzL1ByZU9yZGVyL3NpbXBsZS5jeHgsCgkgIFRlc3RzL1ByZU9yZGVyL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1ByZU9yZGVyL0xpYnJhcnkvc2ltcGxlTGliLmN4eDogRU5IOiBhZGQgU1VCRElSIFBSRU9SREVSCgkgIGFuZCBmaXggY2xlYW4gZm9yIG5vbi1yZWxhdGl2ZSBwYXRocwoKMjAwNC0wNC0yMyAxMDowMyAgYW5keQoKCSogU291cmNlLzogY21BZGRFeGVjdXRhYmxlQ29tbWFuZC5jeHgsIGNtQWRkRXhlY3V0YWJsZUNvbW1hbmQuaDoKCSAgRU5IOiBVbmlmeSB3aXRoIG90aGVyIHZhcmlhYmxlcwoKMjAwNC0wNC0yMyAwOToxMiAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eDogRU5IOiBhbGxvdyB2ZXJib3NlCgkgIG1ha2VmaWxlIGZsYWcgdG8gcmVtb3ZlIG5vbG9nbyBmcm9tIGFsbCBjb21tYW5kcyBzbyB5b3UgY2FuIHNlZQoJICB0aGVtIGluIHZpc3VhbCBzdHVkaW8gNgoKMjAwNC0wNC0yMyAwODo1MCAga2luZwoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFUlI6IEZpeGVkIHVudXNlZCB2YXJpYWJsZSBhc3NpZ25tZW50CgkgIHdhcm5pbmcuCgoyMDA0LTA0LTIyIDE4OjA0ICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogQWRkIER5bmFtaWNBbmFsaXN5cyBzdXBwb3J0LiBUaGUgb2xkCgkgIFB1cmlmeSBpcyBzdGlsbCBhdmFpbGFibGUgdGhyb3VnaCAtLWNvbXBhdGliaWxpdHktbW9kZQoKMjAwNC0wNC0yMiAxNzoyMyAgaG9mZm1hbgoKCSogTW9kdWxlcy86IEZpbmR3eFdpZGdldHMuY21ha2UsIFVzZXd4V2lkZ2V0cy5jbWFrZTogQlVHOiBmaXggZm9yCgkgIGJ1ZyA2MTgKCjIwMDQtMDQtMjIgMTc6MjAgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZEdMVVQuY21ha2U6IEJVRzogZml4IGZvciBidWcgNzQzCgoyMDA0LTA0LTIyIDE3OjA4ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRHVEsuY21ha2U6IEJVRzogZml4IGZvciBidWcgNjA3CgoyMDA0LTA0LTIyIDE2OjU4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFRlbXBsYXRlcy9zdGF0aWNMaWJIZWFkZXIuZHNwdGVtcGxhdGU6IEVOSDogYWRkIHN1cHBvcnQgZm9yCgkgIHN0YXRpYyBsaWJyYXJ5IHByb3BlcnR5IFNUQVRJQ19MSUJSQVJZX0ZMQUdTCgoyMDA0LTA0LTIyIDE2OjE2ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmREQ01USy5jbWFrZTogRU5IOiBjb250cmlidXRpb24gZnJvbSBJYW4gU2NvdHQsCgkgIHRoYW5rcy4KCjIwMDQtMDQtMjIgMTU6NTkgIG1hcnRpbmsKCgkqIE1vZHVsZXMvRmluZE9wZW5HTC5jbWFrZTogdXBkYXRlIGNvbW1lbnRzCgoyMDA0LTA0LTIyIDE0OjM4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21UYXJnZXQuY3h4OiBFTkg6IGFkZCBhIHByb3BlcnR5IGZvciBIQVNfQ1hYIHRvIGEgdGFyZ2V0CgkgIHRoYXQgd2lsbCBmb3JjZSB0aGUgdXNlIG9mIGEgYysrIGNvbXBpbGVyIGluIHRoZSBsaW5raW5nIG9mIGFuCgkgIGV4ZWN1dGFibGUgdGhhdCBjb250YWlucyBvbmx5IGMgY29kZQoKMjAwNC0wNC0yMiAxNDoxMSAgYW5keQoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogRVJSOiBWZXJpZnkgdGhhdCBnZXRlbnYgcmV0dXJuZWQKCSAgc29tZXRoaW5nIGJlZm9yZSB1c2luZyBpdAoKMjAwNC0wNC0yMiAxMzozNyAgbWFydGluawoKCSogU291cmNlL2NtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuaDogdXBkYXRlIGRvY3MKCjIwMDQtMDQtMjIgMTM6MjQgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtRmluZExpYnJhcnlDb21tYW5kLmgsIGNtRmluZFBhdGhDb21tYW5kLmN4eCwKCSAgY21GaW5kUGF0aENvbW1hbmQuaCwgY21NYWtlZmlsZS5jeHgsIGt3c3lzL1N5c3RlbVRvb2xzLmN4eCwKCSAga3dzeXMvU3lzdGVtVG9vbHMuaHh4LmluOiBCVUc6IGZpeCBmb3IgMzAxIENNQUtFX0xJQlJBUllfUEFUSCBhbmQKCSAgQ01BS0VfSU5DTFVERV9QQVRIIGVudiB2YXJzIG5vdyB1c2VkIGluIEZJTkRfTElCUkFSWSBhbmQKCSAgRklORF9QQVRIIGluIGFkZHRpb24gdG8gYW5kIGJlZm9yZSBQQVRICgoyMDA0LTA0LTIyIDExOjEyICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmR3eFdpbmRvd3MuY21ha2U6IEJVRzogZml4IGJhZCBpZiBzdGF0ZW1lbnRzCgoyMDA0LTA0LTIyIDA5OjQ0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHIDE3ODogbWFrZSB0b3AgbGV2ZWwKCSAgY21ha2VsaXN0IGZpbGUgYSBzb3VyY2UgaW4gQUxMX0JVSUxECgoyMDA0LTA0LTIxIDE3OjU0ICBhbmR5CgoJKiBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHg6IEVSUjogRml4IGluc3RhbGwgb24KCSAgVlM3MQoKMjAwNC0wNC0yMSAxNjoyMyAga2luZwoKCSogU291cmNlLzogY21MaXN0RmlsZUxleGVyLmMsIGNtTGlzdEZpbGVMZXhlci5oLAoJICBjbUxpc3RGaWxlTGV4ZXIuaW4ubDogRU5IOiBBZGRlZCBjbUxpc3RGaWxlTGV4ZXJfU2V0U3RyaW5nIG1ldGhvZAoJICB0byBhbGxvdyBhIHN0cmluZyB0byBiZSBwYXJzZWQgYXMgaW5wdXQuCgoyMDA0LTA0LTIxIDE2OjA3ICBob2ZmbWFuCgoJKiBUZXN0cy86IFNpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFNpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dDogYWRkIGRlcAoKMjAwNC0wNC0yMSAxNTowOSAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kd3hXaW5kb3dzLmNtYWtlOiBFTkg6IGZpeCBmb3IgbWluZ3cKCjIwMDQtMDQtMjEgMTE6NDIgIGFuZHkKCgkqIFNvdXJjZS9jbUZpbGVDb21tYW5kLmN4eDogQlVHOiBQdXQgYWxsIGZpbGVzIHRvIG1hbmlmZXN0CgoyMDA0LTA0LTIxIDExOjM2ICBraW5nCgoJKiBTb3VyY2UvY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmN4eDogQlVHOiBGaXhlZCBjaGVjayBvZiBudW1iZXIKCSAgb2YgYXJndW1lbnRzLgoKMjAwNC0wNC0yMSAxMTozMyAga2luZwoKCSogTW9kdWxlcy86IEZpbmRJVEsuY21ha2UsIEZpbmRWVEsuY21ha2U6IEVOSDogVGVybWluYXRlIHdpdGggYQoJICBGQVRBTF9FUlJPUiBpZiBGSU5EX1BBQ0tBR0UgY29tbWFuZCB3YXMgY2FsbGVkIHdpdGggUkVRVUlSRUQKCSAgYXJndW1lbnQgYW5kIHBhY2thZ2Ugd2FzIG5vdCBmb3VuZC4KCjIwMDQtMDQtMjEgMTE6MzIgIGFuZHkKCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogRU5IOiBEbyBwcmVpbnN0YWxsIGFuZCBwb3N0aW5zdGFsbAoJICBzY3JpcHQgZXZlbiBpZiB0aGUgdGFyZ2V0IGlzIG5vdCBpbnN0YWxsZWQKCjIwMDQtMDQtMjEgMTA6MzQgIGFuZHkKCgkqIFNvdXJjZS86IGNtYWtlbWFpbi5jeHgsIGN0ZXN0LmN4eDogRU5IOiBSZXBvcnQgZXJyb3IgYW5kIGV4aXQKCSAgd2hlbiB0aGUgY3VycmVudCBkaXJlY3RvcnkgaXMgbm90IHNwZWNpZmllZAoKMjAwNC0wNC0yMSAxMDozMyAgYW5keQoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQlVHOiBQcmV2ZW50IGNyYXNoIHdoZW4gdGhlIGN1cnJlbnQKCSAgd29ya2luZyBkaXJlY3RvcnkgY2Fubm90IGJlIGVzdGFibGlzaGVkCgoyMDA0LTA0LTIwIDE4OjI4ICBhbmR5CgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEJVRzogSWYgdGhlIGxpbmUgZW5kcyB3aXRob3V0IG5ldy1saW5lCgkgIGNoYXJhY3RlciwgU3BsaXQgc2hvdWxkIHN0aWxsIHJldHVybiBzb21ldGhpbmcKCjIwMDQtMDQtMTkgMTc6MjEgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogUk5IOiBTdXBwb3J0IE5vRGFydENvdmVyYWdlIGluIHRoZSBiaW5hcnkKCSAgZGlyZWN0b3JvcnkKCjIwMDQtMDQtMTkgMTA6MzYgIGtpbmcKCgkqIFNvdXJjZS86IGNtRmluZFBhY2thZ2VDb21tYW5kLmN4eCwgY21GaW5kUGFja2FnZUNvbW1hbmQuaDoKCSAgRU5IIzY5NjogQWRkaW5nIFJFUVVJUkVEIG9wdGlvbiB0byBGSU5EX1BBQ0tBR0UgY29tbWFuZC4gIEl0IHdpbGwKCSAgdGVybWluYXRlIHRoZSBjbWFrZSBjb25maWd1cmUgc3RlcCBpZiB0aGUgcGFja2FnZSBpcyBub3QgZm91bmQuCgoyMDA0LTA0LTE4IDE0OjQxICBhbmR5CgoJKiBTb3VyY2UvOiBjbUZpbGVDb21tYW5kLmN4eCwgY21GaWxlQ29tbWFuZC5oLAoJICBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsCgkgIGNtV3JpdGVGaWxlQ29tbWFuZC5jeHgsIGNtV3JpdGVGaWxlQ29tbWFuZC5oLCBjbWFrZS5jeHgsIGNtYWtlLmg6CgkgIEVOSDogQWRkIGNoZWNrIGZvciBpbmZpbml0ZSBsb29wcy4gTWFrZSBzdXJlIHRoYXQgZmlsZXMgd3JpdHRlbgoJICB1c2luZyBXUklURV9GSUxFIGFuZCBGSUxFIFdSSVRFIGFyZSBub3QgdXNlZCBhcyBpbnB1dCBmaWxlcy4KCSAgRml4ZXMgQnVnICM2NzggLSBXUklURV9GSUxFIGFuZCBGSUxFKFdSSVRFLi4uKSBsZWFkIHRvIGluZmluaXRlCgkgIGxvb3BzCgoyMDA0LTA0LTE4IDEzOjE2ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgY21Tb3VyY2VGaWxlLmN4eDogRU5IOgoJICBBZGQgc3VwcG9ydCBmb3IgYWRkaW5nIG9iamVjdCBmaWxlcyBhbmQgc291cmNlcy4gVGhpcyB3YXkgeW91IGNhbgoJICB1c2UgZXh0ZXJuYWwgcHJvZ3JhbSBzdWNoIGFzIGFzc2VtYmxlciBvciBmb3J0cmFuIHRvIGdlbmVyYXRlCgkgIG9iamVjdCBmaWxlcy4gQWxzbyBzdGFyIG9mIGZpeGluZzogQnVnICM3NTcgLSBhZGQgLm8gZmlsZSBhcyBhCgkgIHNvdXJjZSBmaWxlCgoyMDA0LTA0LTE2IDE0OjU1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IGJldHRlciBhcmdzIGhhbmRsaW5nIGZvciAtSSBvcHRpb25zCgoyMDA0LTA0LTE2IDE0OjUyICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21DVGVzdC5oOiBiZXR0ZXIgYXJncyBoYW5kbGluZyBmb3IgLUkKCSAgb3B0aW9uCgoyMDA0LTA0LTE2IDEzOjM2ICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogQmV0dGVyIHJlcG9ydGluZyBvZiB3aGF0IHRlc3RzIGZhaWxlZAoJICBhbmQgd3JpdGUgYSBmaWxlIHdpdGggZmFpbGVkIHRlc3RzCgoyMDA0LTA0LTE2IDA5OjUwICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeCBmb3IgYnVnIDkxCgoyMDA0LTA0LTE1IDE2OjExICBhbmR5CgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzU3RyaW5nV2lkZ2V0LmN4eDogRU5IOiBBZGQgc3VwcG9ydAoJICBmb3IgSE9NRSBhbmQgRU5EIGtleXMuIEFsc28gZml4IEJ1ZyAjNjY2IC0gSW4gQ0NNYWtlIHdoZW4KCSAgZGVsZXRpbmcgc29tZXRoaW5nLCBpdCBkb2VzIG5vdCBzdG9wIGF0IHRoZSBiZWdpbm5pbmcgb2YgbGluZQoKMjAwNC0wNC0xNSAxNTo0NiAgYW5keQoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9jbUN1cnNlc01haW5Gb3JtLmN4eDogQlVHOiBQcmV2ZW50IGRlbGV0aW5nCgkgIG5vdCBleGlzdGluZyB2YXJpYWJsZXMgYW5kIHRoZXJlZm9yZSBwcmV2ZW50IGNyYXNoLiBGaXhlczogQnVnCgkgICM3NTAgLSBDQ01ha2UgY3Jhc2hlcyB3aGVuIGRlbGV0aW5nIGFsbCB2YXJpYWJsZXMKCjIwMDQtMDQtMTUgMTM6NTkgIGFuZHkKCgkqIFRlc3RzLzogQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwgQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4L0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsIENvbXBsZXgvTGlicmFyeS9maWxlMi5jeHgsCgkgIENvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0xpYnJhcnkvZmlsZTIuY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9maWxlMi5jeHg6IEVOSDogQWRkIHRlc3QgZm9yCgkgIFJFTU9WRV9ERUZJTklUSU9OCgoyMDA0LTA0LTE1IDEzOjU4ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNvbW1hbmRzLmN4eCwgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaCwKCSAgY21SZW1vdmVEZWZpbml0aW9uc0NvbW1hbmQuY3h4LCBjbVJlbW92ZURlZmluaXRpb25zQ29tbWFuZC5oOgoJICBFTkg6IEFERCBSRU1PVkVfREVGSU5JVElPTiBjb21tYW5kLiBGaXggZmVhdHVyZSByZXF1ZXN0OiBCdWcgIzE4MgoJICAtIEFkZCBvcHBvc2l0ZSB0byBBRERfREVGSU5JVElPTlMKCjIwMDQtMDQtMTUgMTM6MTUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU9wdGlvbkNvbW1hbmQuY3h4OiBCVUc6IGZpeCBmb3IgMjgyCgoyMDA0LTA0LTE1IDEzOjA5ICBhbmR5CgoJKiBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFRlbXBsYXRlcy9DTWFrZUxpc3RzLnR4dDogRU5IOiBIYW5kbGUgbWFrZSBpbnN0YWxsIHRhcmdldCBvbgoJICBWaXN1YWwgU3R1ZGlvIDYgYW5kIDcgYW5kIGluc3RhbGwgdGVtcGxhdGVzCgoyMDA0LTA0LTE1IDEyOjA3ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5oOiBFTkg6IE9rLCB0aGF0IGlzIGl0LiBSZW1vdmUgb2xkCgkgIGluc3RhbGwgYW5kIHJlcGxhY2UgaXQgd2l0aCBuZXcKCjIwMDQtMDQtMTUgMTE6NTUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZE1GQy5jbWFrZTogQlVHOiBmaXggZm9yIGJ1ZyA1MDYKCjIwMDQtMDQtMTUgMTE6MzggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVNpdGVOYW1lQ29tbWFuZC5jeHg6IEJVRzogZml4IGZvciBidWcgNjg5CgoyMDA0LTA0LTE1IDA4OjIyICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogQ2hlY2tGb3JQdGhyZWFkcy5jLCBDaGVja0Z1bmN0aW9uRXhpc3RzLmMsCgkgIENoZWNrVHlwZVNpemUuYywgQ2hlY2tWYXJpYWJsZUV4aXN0cy5jLCBUZXN0QmlnRW5kaWFuLmM6IEVOSDogZml4CgkgIHRlc3RzIGZvciBub24tYW5zaSBjIG9uIGhwIGFuZCByZW1vdmUgd2FybmluZ3MgZm9yIGFuc2kgYwoKMjAwNC0wNC0xNCAxNzowMiAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kSVRLLmNtYWtlOiBCVUc6IGZpeCBmb3IgYnVnIDYwOAoKMjAwNC0wNC0xNCAxNjo1OCAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogZml4IGV4dGVybmFsCgkgIHByb2plY3RzIGZvciB2YzcKCjIwMDQtMDQtMTQgMTU6NTYgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBDaGVja0Z1bmN0aW9uRXhpc3RzLmMsIFRlc3RCaWdFbmRpYW4uYzogRU5IOiByZW1vdmUKCSAgd2FybmluZ3MgZnJvbSB0cnkgY29tcGlsZXMKCjIwMDQtMDQtMTQgMTQ6MjUgIGtpbmcKCgkqIFNvdXJjZS86IGNtRG9jdW1lbnRhdGlvbi5jeHgsIGNtRG9jdW1lbnRhdGlvbi5oOiBFTkg6IFJlbmFtZWQKCSAgLS1oZWxwLWxpc3QtY29tbWFuZHMgdG8gLS1oZWxwLWNvbW1hbmQtbGlzdCBhbmQgc3BsaXQgLS1oZWxwCgkgIFtjb21tYW5kXSBpbnRvIHNlcGFyYXRlIC0taGVscCBhbmQgLS1oZWxwLWNvbW1hbmQgY21kIG9wdGlvbnMuCgoyMDA0LTA0LTE0IDEzOjQwICBraW5nCgoJKiBTb3VyY2UvOiBjbURvY3VtZW50YXRpb24uY3h4LCBjbURvY3VtZW50YXRpb24uaDogRU5IOiBBZGRlZAoJICAtLWhlbHAtbGlzdC1jb21tYW5kcyBvcHRpb24uCgoyMDA0LTA0LTE0IDA4OjU1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogcmVtb3ZlIHdhcm5pbmcKCjIwMDQtMDQtMTMgMTg6MjcgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRU5IOiBmaXggd2FybmluZwoKMjAwNC0wNC0xMyAxNjozMiAgaG9mZm1hbgoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaCwgY3Rlc3QuY3h4OiBFTkg6IGFkZCB0aGUgYWJpbGl0eQoJICB0byBydW4gYSBsaW1pdGVkIHN1Yi1zZXQgb2YgdGhlIHRlc3RzCgoyMDA0LTA0LTEyIDIxOjAxICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRHVEsuY21ha2U6IEJVRzogZml4IGZvciBidWcgNTkzCgoyMDA0LTA0LTA5IDA5OjUzICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEJVRzogRGlzcGxheSBzdHJpbmcgbm90IHNvbWUgd2VpcmQgcG9pbnRlcgoKMjAwNC0wNC0wOSAwODozNyAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IGFkZCBmdWxsIHBhdGgKCSAgbGlicmFyaWVzIHRvIHRoZSBkZXBlbmQgaW5mb3JtYXRpb24KCjIwMDQtMDQtMDggMTc6MTMgIGFuZHkKCgkqIE1vZHVsZXMvTWFjT1NYQnVuZGxlSW5mby5wbGlzdC5pbiwKCSAgU291cmNlL2NtQWRkRXhlY3V0YWJsZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21BZGRFeGVjdXRhYmxlQ29tbWFuZC5oOiBFTkg6IEltcHJvdmUgTWFjIE9TWCBidW5kbGUKCSAgc3VwcG9ydAoKMjAwNC0wNC0wNyAxMjowNyAgbWFydGluawoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogZml4IHByb2JsZW0gd2l0aCBjdXN0b20KCSAgY29tbWFuZAoKMjAwNC0wNC0wNyAwOTo1OCAgaG9mZm1hbgoKCSogU291cmNlL2NtVGFyZ2V0LmN4eDogRU5IOiByZW1vdmUgd2FybmluZ3Mgb24gc2dpCgoyMDA0LTA0LTA1IDEwOjM1ICBraW5nCgoJKiBEYXJ0Q29uZmlnLmNtYWtlOiBFUlI6IE5lZWQgdG8gdXNlIGxhdGVzdCB0ZXN0aW5nIGNvbmZpZ3VyYXRpb24KCSAgZXZlbiBvbiBicmFuY2guCgoyMDA0LTA0LTAyIDEzOjIxICBraW5nCgoJKiBTb3VyY2UvY21UYXJnZXQuY3h4OiBCVUc6IF9MSU5LX1RZUEUgY2FjaGUgdmFyaWFibGUgc2hvdWxkIG5ldmVyCgkgIGJlIHN3aXRjaGVkIGZyb20gb3B0aW1pemVkIHRvIGRlYnVnIG9yIHZpY2UgdmVyc2EuCgoyMDA0LTA0LTAyIDA5OjQzICBob2ZmbWFuCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFRlc3RzL0p1bXAvTGlicmFyeS9TaGFyZWQvQ01ha2VMaXN0cy50eHQ6CgkgIEVOSDogZml4IGZvciBhcHBsZQoKMjAwNC0wNC0wMiAwODowOSAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeCB3YXJuaW5nIGFuZAoJICBzaGFkb3cgdmFyaWFibGUKCjIwMDQtMDQtMDEgMTY6MDcgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogZml4IGZvciBtaXNzaW5nIHZhbGlkIGltYWdlcwoKMjAwNC0wNC0wMSAxNToyOCAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NGd2Q5eC5jOiBFTkg6IEFkZGVkIGNvbW1lbnQgZm9yIGZ1dHVyZSB3b3JrCgkgIHRvIG1ha2UgZm9yd2FyZGluZyBleGVjdXRhYmxlIGFsd2F5cyBzdGF0aWNhbGx5IGxpbmtlZC4KCjIwMDQtMDQtMDEgMTQ6MzcgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogQlVHOiBGaXggYnVnIG9uIHdpbmRvd3MuIFlvdSBjYW5ub3QgY291dAoJICBzdGQ6OnN0cmluZyBkaXJlY3RseQoKMjAwNC0wNC0wMSAxNDoxMSAgYW5keQoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIENUZXN0L2NtQ1Rlc3RTdWJtaXQuY3h4LAoJICBDVGVzdC9jbUNUZXN0U3VibWl0Lmg6IEVOSDogQWRkIGxvZ2dpbmcgb2Ygc3VibWl0dGluZwoKMjAwNC0wNC0wMSAwOTo1OSAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeCBub24gcmVsYXRpdmUKCSAgcGF0aHMKCjIwMDQtMDQtMDEgMDg6NTkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBmaXggZm9yIG5vbgoJICByZWxhdGl2ZSBwYXRocyB3aXRoIHNwYWNlcyBpbiB0aGUgcGF0aAoKMjAwNC0wMy0zMSAxNjo0NCAga2luZwoKCSogTW9kdWxlcy9GaW5kVGNsc2guY21ha2U6IEVOSDogQWRkZWQgcmVnaXN0cnkgY2hlY2sgZm9yCgkgIEFjdGl2ZVN0YXRlIFRjbCA4LjQuNi4KCjIwMDQtMDMtMzEgMTE6MjYgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRU5IOiBSZWR1Y2UgbnVtYmVyIG9mCgkgIEdldEN1cnJlbnRXb3JraW5nRGlyZWN0b3J5CgoyMDA0LTAzLTMxIDExOjI0ICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogQ2hhbmdlIHRvIHRoZSBuZXcgZGlyZWN0b3J5CgoyMDA0LTAzLTMxIDEwOjAxICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmgsCgkgIGNtYWtlLmN4eDogRU5IOiBtYWtlIHJlbGF0aXZlIHBhdGhzIG9wdGlvbmFsIGFuZCBkZWZhdWx0IG9mZiwgYW5kCgkgIGFkZCBhIHRlc3QgZm9yIHRoZW0KCjIwMDQtMDMtMjkgMTI6NTEgIGtpbmcKCgkqIFNvdXJjZS9jbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmN4eDogQlVHIzQ4NTogRml4aW5nIG9uIENNYWtlIDEuOAoJICBicmFuY2guCgoyMDA0LTAzLTI5IDEyOjA0ICBraW5nCgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmgsIGNtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4OiBCVUcjNjc5OgoJICBNZXJnaW5nIGZpeCB0byBDTWFrZSAxLjggYnJhbmNoLgoKMjAwNC0wMy0yOCAxNzo1OSAgYW5keQoKCSogU291cmNlLzogY21GaWxlQ29tbWFuZC5jeHgsIGNtTG9jYWxHZW5lcmF0b3IuY3h4OiBFTkg6IFdoZW4KCSAgaW5zdGFsbGluZyBwcm9qZWN0LCB3cml0ZSBtYW5pZmVzdAoKMjAwNC0wMy0yOCAxNjozNiAgYW5keQoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IEFkZCBhIHdheSB0byBjbGVhbgoJICBhZGRpdGlvbmFsIGZpbGVzCgoyMDA0LTAzLTI4IDE2OjAwICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmN4eCwgY21Db25maWd1cmVGaWxlQ29tbWFuZC5oLAoJICBjbU1ha2VmaWxlLmN4eDogRU5IOiBJZiBjb25maWd1cmUgZmlsZSBmYWlscyBkbyBub3QgY3JlYXRlCgkgIGRpcmVjdG9yeQoKMjAwNC0wMy0yOCAxMDoxNCAgYW5keQoKCSogU291cmNlL2NtSW5jbHVkZUNvbW1hbmQuY3h4OiBFUlI6IFJlbW92ZSBkZWJ1ZwoKMjAwNC0wMy0yOCAxMDoxNCAgYW5keQoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBCVUc6IFN1cHBvcnQgcGF0aHMgd2l0aCBzcGFjZXMKCjIwMDQtMDMtMjggMDk6NDYgIGFuZHkKCgkqIFNvdXJjZS86IGNtSW5jbHVkZUNvbW1hbmQuaCwgY21TZXRUYXJnZXRQcm9wZXJ0aWVzQ29tbWFuZC5oOiBET0M6CgkgIEZpeCBjb21tZW50CgoyMDA0LTAzLTI3IDIwOjU5ICBhbmR5CgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbVNldFRhcmdldFByb3BlcnRpZXNDb21tYW5kLmgsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGwvUG9zdEluc3RhbGwuY21ha2UsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGwvUHJlSW5zdGFsbC5jbWFrZSwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvUG9zdEluc3RhbGwuY21ha2UsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9QcmVJbnN0YWxsLmNtYWtlOiBFTkg6IEFkZCBwcmUgYW5kIHBvc3QKCSAgaW5zdGFsbCBzY3JpcHQgc3VwcG9ydAoKMjAwNC0wMy0yNyAxOTo1MiAgYW5keQoKCSogU291cmNlL2NtSW5jbHVkZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21JbmNsdWRlQ29tbWFuZC5oLAoJICBUZXN0cy9Mb2FkQ29tbWFuZC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvTG9hZENvbW1hbmRPbmVDb25maWcvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkIHN1cHBvcnQgZm9yCgkgIGltcG9ydGluZyBtb2R1bGVzIHdpdGhvdXQgc3BlY2lmeWluZyBwYXRoCgoyMDA0LTAzLTI3IDE5OjUyICBhbmR5CgoJKiBTb3VyY2UvY21GaW5kUGFja2FnZUNvbW1hbmQuY3h4OiBFUlI6IFRoYXQgc2xhc2ggaXMgdW5uZWNlc3NhcnkKCjIwMDQtMDMtMjcgMTM6MjAgIHN0YXJyZXZlbGQKCgkqIE1vZHVsZXMvRmluZE9wZW5HTC5jbWFrZTogRVJSOiBTaG91bGRuJ3QgYmUgYWRkaW5nIHhsaWJzIHRvCgkgIG9wZW5nbGxpYnMgb24gb3N4CgoyMDA0LTAzLTI1IDE2OjA2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IGNvdmVyYWdlIGNoYW5nZSB0aGF0IHdpbGwgcHJvYmFibHkgZW5kIGluIGFuCgkgIGluZmluaXRlIGxvb3AKCjIwMDQtMDMtMjUgMDg6NDUgIGtpbmcKCgkqIFNvdXJjZS86IGNtTGlua0xpYnJhcmllc0NvbW1hbmQuaCwKCSAgY21UYXJnZXRMaW5rTGlicmFyaWVzQ29tbWFuZC5oOiBFTkg6IENsYXJpZmllZCBkb2N1bWVudGF0aW9uIGZvcgoJICBMSU5LX0xJQlJBUklFUyBhbmQgVEFSR0VUX0xJTktfTElCUkFSSUVTLgoKMjAwNC0wMy0yNCAxNjozMSAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IEFkZGVkIHN1cHBvcnQgdG8KCSAgbGlicmFyeSBmbGFncyBwYXJzZXIgZm9yIC1XbCBhbmQgLVIgb3B0aW9ucy4KCjIwMDQtMDMtMjMgMTU6MDIgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZTogRVJSOiBGaXhlZCBpbmNvcnJlY3QKCSAgZG9jdW1lbnRhdGlvbiBmb3IgQ01BS0VfQ1hYX1dBUk5JTkdfTEVWRUwuICBTdWJtaXR0ZWQgYnkgRGF2aWQKCSAgQ29sZS4KCjIwMDQtMDMtMjAgMjA6MzcgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRU5IOiBGaXggd2FybmluZwoKMjAwNC0wMy0xOSAxNDo0OCAga2luZwoKCSogU291cmNlL2NtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4OiBFTkg6IENsYXJpZmllZCByZWN1cnNpdmUKCSAgVFJZX0NPTVBJTEUgZXJyb3IgbWVzc2FnZS4KCjIwMDQtMDMtMTkgMDk6MzQgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRVJSOiBGaXggd2FybmluZ3MgYWJvdXQgd3JvbmcgZm9ybWF0CgoyMDA0LTAzLTE4IDA5OjUyICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVSUjogRml4IGJ1aWxkIG9uIGJyb2tlbiBDKysgY29tcGlsZXMgd2l0aCBubwoJICAhPSBvcGVyYXRvciBmb3Igc3RkOjpzdHJpbmcKCjIwMDQtMDMtMTcgMTE6MzAgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0Lmg6IEJVRzogY2hhbmdlIGRpcmVjdG9yeSBiZWZvcmUKCSAgcnVubmluZyB0ZXN0IGFuZCByZW1lbWJlciB0ZXN0IG51bWJlcgoKMjAwNC0wMy0xNyAwOTo0MiAgYmVyawoKCSogU291cmNlLzogY21TeXN0ZW1Ub29scy5oLCBjbVRyeUNvbXBpbGVDb21tYW5kLmN4eDogQlVHOiBXaGVuCgkgIGVycm9yIG9jY3VycywgdHJ5IGNvbXBpbGVzIHNob3VsZCBzdGlsbCB3b3JrCgoyMDA0LTAzLTE3IDA4OjIwICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5oOiBFUlI6IE9uIHNvbWUgY29tcGlsZXJzIHN0cnVjdHVyZSBpbnNpZGUgY2xhc3MKCSAgY2Fubm90IHJlZmVyZW5jZSBwcml2YXRlIHR5cGRlZnMgZnJvbSB0aGUgc2FtZSBjbGFzcwoKMjAwNC0wMy0xNiAxMjo1NCAga2luZwoKCSogU291cmNlL2NtRXhwb3J0TGlicmFyeURlcGVuZGVuY2llcy5jeHg6IEVSUjogQWRkZWQgbWlzc2luZwoJICBpbmNsdWRlIGZvciBhdXRvX3B0ci4KCjIwMDQtMDMtMTUgMTQ6NTQgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dDogRU5IOiBBbHdheXMgaW5jbHVkZSBLV1N5cyBoZWFkZXIKCSAgZmlsZXMgZGlyZWN0b3J5CgoyMDA0LTAzLTE1IDEwOjQ0ICBraW5nCgoJKiBTb3VyY2UvY21FeHBvcnRMaWJyYXJ5RGVwZW5kZW5jaWVzLmN4eDogQlVHIzY3NTogSWYgbm90CgkgIGFwcGVuZGluZywgZG8gY29weS1pZi1kaWZmZXJlbnQgb24gZXhwb3J0ZWQgZmlsZS4KCjIwMDQtMDMtMTUgMDk6MzUgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0Lmg6IEVSUjogRml4IGJ1aWxkCgoyMDA0LTAzLTE0IDEyOjI4ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21DVGVzdC5oOiBFTkg6IEFkZCBzdXBwb3J0IGZvciBmdXR1cmUgdGFncwoKMjAwNC0wMy0xNCAxMToyMyAgYW5keQoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaDogRU5IOiBDb3VudCB0ZXN0cyB3aGlsZSB0aGV5IGdvLgoJICBBbHNvIGluIHRoZSBsb2dzIHJlcG9ydCBtb3JlIHN0dWZmIGxpa2UgZWxhcHNlZCB0aW1lIGV0Yy4KCjIwMDQtMDMtMTIgMTQ6NDMgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jOiBFUlI6IFNJR1NFR1YgPT0gU0lHQlVTIG9uIEJlT1MuCgoyMDA0LTAzLTEwIDE0OjMzICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5oOiBFTkg6IHVwZGF0ZSB2czcxIGdlbmVyYXRvciB0bwoJICBzdXBwb3J0IGV4Y2x1ZGVkIHN1YmRpcnMKCjIwMDQtMDMtMDkgMTY6MjggIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgU291cmNlL2NtRW5hYmxlVGVzdGluZ0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmgsIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGUuaCwgU291cmNlL2NtU3ViZGlyQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVN1YmRpckNvbW1hbmQuaCwgVGVzdHMvU3ViRGlyL0V4ZWN1dGFibGUvdGVzdC5jeHg6IEVOSDoKCSAgYWRkIG5ldyBzdWJkaXJlY3RvcnkgZXhjbHVkZSBmcm9tIHRvcCBvcHRpb24KCjIwMDQtMDMtMDkgMTY6MjAgIGhvZmZtYW4KCgkqIFRlc3RzL1N1YkRpci86IENNYWtlTGlzdHMudHh0LCBFeGFtcGxlcy9DTWFrZUxpc3RzLnR4dCwKCSAgRXhhbXBsZXMvZXhhbXBsZTEvQ01ha2VMaXN0cy50eHQsIEV4YW1wbGVzL2V4YW1wbGUxL2V4YW1wbGUxLmN4eCwKCSAgRXhhbXBsZXMvZXhhbXBsZTIvQ01ha2VMaXN0cy50eHQsIEV4YW1wbGVzL2V4YW1wbGUyL2V4YW1wbGUyLmN4eCwKCSAgRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwgRXhlY3V0YWJsZS90ZXN0LmN4eDogRU5IOiBjcmVhdGUgbmV3CgkgIHRlc3QgdG8gdGVzdCBzdWJkaXIgZXhjbHVkZQoKMjAwNC0wMy0wOSAxMjozMSAgYW5keQoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogRU5IOiBQcm9wZXJseSBidWlsZAoJICBXSU4zMiBleGVjdXRhYmxlcwoKMjAwNC0wMy0wOSAwNzo1MCAgYW5keQoKCSogU291cmNlLzogY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaDogRU5IOiBUcnkgdG8gcmVtb3ZlIHdhcm5pbmcKCjIwMDQtMDMtMDggMjI6MjQgIGFuZHkKCgkqIFNvdXJjZS9jbUluc3RhbGxUYXJnZXRzQ29tbWFuZC5oOiBFTkg6IEFkZCBjb21tZW50IGFib3V0CgkgIFJVTlRJTUVfRElSRUNUT1JZCgoyMDA0LTAzLTA4IDE5OjA1ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmN4eCwgY21NYWtlZmlsZS5jeHgsCgkgIGNtTWFrZWZpbGUuaDogRU5IOiBNb3ZlIGltcGxlbWVudGF0aW9uIG9mIGNvbmZpZ3VyZV9maWxlIHRvCgkgIGNtTWFrZWZpbGUsIHNvIHRoYXQgb3RoZXIgY2xhc3NlcyBjYW4gdXNlIGl0CgoyMDA0LTAzLTA0IDEwOjA1ICBraW5nCgoJKiBTb3VyY2UvY21TdHJpbmdDb21tYW5kLmN4eCwgU291cmNlL2NtU3RyaW5nQ29tbWFuZC5oLAoJICBUZXN0cy9TdHJpbmdGaWxlVGVzdC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU3RyaW5nRmlsZVRlc3QvSW5wdXRGaWxlLmguaW46IEVOSDogQWRkZWQgU1RSSU5HKENPTkZJR1VSRQoJICAuLi4pIGNvbW1hbmQuCgoyMDA0LTAzLTAzIDE4OjE4ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmN4eCwgY21NYWtlZmlsZS5jeHgsCgkgIGNtTWFrZWZpbGUuaDogRU5IOiBNb3ZlZCB2YXJpYWJsZSBhbmQgI2NtYWtlZGVmaW5lIHJlcGxhY2VtZW50CgkgIGZyb20gY21Db25maWd1cmVGaWxlQ29tbWFuZC5jeHggdG8gYSBDb25maWd1cmVTdHJpbmcgbWV0aG9kIG9uCgkgIGNtTWFrZWZpbGUuICBUaGlzIHdpbGwgZ2l2ZSBvdGhlciBjb21tYW5kcyBhY2Nlc3MgdG8gdGhlCgkgIGNvbmZpZ3VyYXRpb24gY29kZS4KCjIwMDQtMDItMjkgMTU6MTMgIGFuZHkKCgkqIFRlc3RzL0NPbmx5L0NNYWtlTGlzdHMudHh0OiBFUlI6IFRvbyBtdWNoIGNvbW1pdHMKCjIwMDQtMDItMjkgMTU6MTMgIGFuZHkKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwgVGVzdHMvQ09ubHkvQ01ha2VMaXN0cy50eHQ6IEVSUjogRml4CgkgIEdldE1vZHVsZXNGaWxlCgoyMDA0LTAyLTI5IDE0OjIzICBhbmR5CgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogSGFuZGxlIGJhY2t0aWNrcyBhcwoJICBhIHZhbGlkIGxpYnJhcnkKCjIwMDQtMDItMjkgMDk6NTMgIGFuZHkKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRVJSOiBDbGVhbnVwIGFuZCByZW1vdmUKCSAgd2FybmluZwoKMjAwNC0wMi0yOSAwOTo1MSAgYW5keQoKCSogU291cmNlL2NtTG9jYWxDb2RlV2FycmlvckdlbmVyYXRvci5jeHg6IEVSUjogRml4IGJ1aWxkIG9uIE1hYwoKMjAwNC0wMi0yOCAxODo1OSAgYW5keQoKCSogTW9kdWxlcy9NYWNPU1hCdW5kbGVJbmZvLnBsaXN0LmluLAoJICBTb3VyY2UvY21BZGRFeGVjdXRhYmxlQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUNQbHVnaW5BUEkuY3h4LAoJICBTb3VyY2UvY21GaW5kUGFja2FnZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZS5oLCBTb3VyY2UvY21UYXJnZXQuaDogRU5IOiBTdHlhcnQgd29ya2luZyBvbgoJICBidW5kbGVzIHN1cHBvcnQgYW5kIGFic3RyYWN0IFdJTjMyX0VYRUNVVEFCTEUKCjIwMDQtMDItMjQgMTg6NDggIGFuZHkKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogRVJSOiBGaXggY3Jhc2guIFdlIHNob3VsZCBjaGVjayBvdXRwdXQKCSAgYmVmb3JlIGFwcGVuZGluZyB0byBpdAoKMjAwNC0wMi0yNCAxMDowNSAgYW5keQoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaDogQlVHOiBDVlMgdXBkYXRlIGZpeC4gSWYgdGhlIENWUwoJICBjb21tYW5kIHdhcyBub3Qgc2V0IHRoZXJlIHdhcyBubyBpbmRpY2F0aW9uIHRoYXQgc29tZXRoaW5nIHdlbnQKCSAgd3JvbmcuIE5vdyBpdCB3aWxsIG1ha2Ugc3VyZSBpdCBkb2VzLiBBbHNvIHN0YXJ0IHdvcmtpbmcgb24KCSAgbXVsdGlwbGUgY29uZmlndXJhdGlvbiBzY3JpcHRzCgoyMDA0LTAyLTI0IDEwOjA0ICBhbmR5CgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEVOSDogUHV0IFByb2Nlc3MgZXhlY3V0aW9uIGVycm9ycyBpbgoJICBvdXRwdXQgYW5kIGhvbm9yIHZlcmJvc2l0eQoKMjAwNC0wMi0yMyAwOTo1NiAgYW5keQoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtTG9jYWxHZW5lcmF0b3IuY3h4OiBFTkg6IEltcHJvdmUgY292ZXJhZ2UKCSAgc3VwcG9ydCBhbmQgYWRkIG1vcmUgdmVyYm9zaXR5CgoyMDA0LTAyLTIzIDA5OjU0ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvRGlyZWN0b3J5LmN4eDogRVJSOiBNZXJnaW5nIDEuNy0+MS45IGNoYW5nZXMgdG8KCSAgQ01ha2UgMS44IGJyYW5jaC4KCjIwMDQtMDItMjIgMjI6MDcgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ01ha2VNaW5pbXVtUmVxdWlyZWQuaCwgY21Db25maWd1cmVGaWxlQ29tbWFuZC5oLAoJICBjbUVsc2VDb21tYW5kLmgsIGNtRW5kSWZDb21tYW5kLmgsIGNtRXhlY1Byb2dyYW1Db21tYW5kLmgsCgkgIGNtRmluZEZpbGVDb21tYW5kLmgsIGNtRmluZExpYnJhcnlDb21tYW5kLmgsIGNtRmluZFBhdGhDb21tYW5kLmgsCgkgIGNtRmluZFByb2dyYW1Db21tYW5kLmgsIGNtR2V0RmlsZW5hbWVDb21wb25lbnRDb21tYW5kLmgsCgkgIGNtTWFrZURpcmVjdG9yeUNvbW1hbmQuaCwgY21SZW1vdmVDb21tYW5kLmgsCgkgIGNtU2VwYXJhdGVBcmd1bWVudHNDb21tYW5kLmgsIGNtV3JpdGVGaWxlQ29tbWFuZC5oOiBFTkg6IE1ha2UKCSAgbW9yZSBjb21tYW5kcyBzY3JpcHRhYmxlCgoyMDA0LTAyLTIyIDIyOjA2ICBhbmR5CgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTWFpbkZvcm0uY3h4OiBCVUc6IFByZXZlbnQgY3Jhc2ggd2hlbgoJICBkZWxldGluZyB0aGUgbGFzdCBjYWNoZSBpdGVtCgoyMDA0LTAyLTIyIDEzOjE0ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNQbHVnaW5BUEkuY3h4LCBjbUZMVEtXcmFwVUlDb21tYW5kLmN4eCwKCSAgY21HZXRDTWFrZVByb3BlcnR5Q29tbWFuZC5jeHgsCgkgIGNtR2V0U291cmNlRmlsZVByb3BlcnR5Q29tbWFuZC5jeHgsIGNtTG9hZENhY2hlQ29tbWFuZC5oLAoJICBjbU91dHB1dFJlcXVpcmVkRmlsZXNDb21tYW5kLmgsIGNtUVRXcmFwQ1BQQ29tbWFuZC5oLAoJICBjbVFUV3JhcFVJQ29tbWFuZC5oLCBjbVNldFNvdXJjZUZpbGVzUHJvcGVydGllc0NvbW1hbmQuY3h4LAoJICBjbVNvdXJjZUZpbGVzQ29tbWFuZC5jeHgsIGNtVXNlTWFuZ2xlZE1lc2FDb21tYW5kLmgsCgkgIGNtVlRLTWFrZUluc3RhbnRpYXRvckNvbW1hbmQuY3h4LCBjbVZUS1dyYXBKYXZhQ29tbWFuZC5oLAoJICBjbVZUS1dyYXBQeXRob25Db21tYW5kLmgsIGNtVlRLV3JhcFRjbENvbW1hbmQuaCwKCSAgY21XcmFwRXhjbHVkZUZpbGVzQ29tbWFuZC5jeHg6IEVOSDogQ2xlYW51cHMKCjIwMDQtMDItMjAgMTQ6NDYgIGFuZHkKCgkqIFNvdXJjZS9jbWFrZS5jeHgsIFNvdXJjZS9jbWFrZW1haW4uY3h4LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEVOSDogT2ssIHdoZW4gZG9pbmcgY21ha2UKCSAgLVAgeW91IHNob3VsZCBub3QgaGF2ZSB0byBzcXVpc2ggZmlsZW5hbWUgbmV4dCB0byAtUCwgVGhlcmUKCSAgc2hvdWxkIGJlIHNwYWNlIGJldHdlZW4KCjIwMDQtMDItMjAgMDk6MjUgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRU5IOiBIYW5kbGUgd3JvbmcgbGlicmFyeSBvbiBzdW4gYW5kIG5vCgkgIHByb2plY3Qgb24gdmlzdWFsIHN0dWRpbyA3CgoyMDA0LTAyLTE5IDEwOjMzICBhbmR5CgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogQ29tbWVudCBvdXQgdGVzdAoKMjAwNC0wMi0xOSAxMDozMiAgYW5keQoKCSogQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBDbGVhbnVwCgoyMDA0LTAyLTE5IDEwOjI5ICBhbmR5CgoJKiBTb3VyY2UvY21JZkNvbW1hbmQuaDogRU5IOiBNYWtlIElGIGNvbW1hbmQgc2NyaXB0YWJsZQoKMjAwNC0wMi0xOSAxMDoyOCAga2luZwoKCSogRG9jcy9jbWFrZS1tb2RlLmVsOiBCVUc6IEZpeGVkIGlkZW50aWZpY2F0aW9uIG9mICggYW5kICkgdG9rZW5zCgkgIHRvIGF2b2lkIGZpbmRpbmcgdGhlbSBpbiBzdHJpbmcgbGl0ZXJhbHMuCgoyMDA0LTAyLTE5IDA5OjM1ICBhbmR5CgoJKiBTb3VyY2UvY21NYWNyb0NvbW1hbmQuaDogRU5IOiBNYWNybyBzaG91bGQgYmUgc2NyaXB0YWJsZQoKMjAwNC0wMi0xOSAwOTozNSAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFUlI6IERvIG5vdCBleGl0IHdoZW4gZmluZCBiYWQgY3VzdG9tIGZpbGVzLgoKMjAwNC0wMi0xNyAwODozNSAgaG9mZm1hbgoKCSogU291cmNlL2NtRHluYW1pY0xvYWRlci5jeHg6IEJVRzogZG9uJ3QgY3Jhc2ggd2hlbiBsb2FkaW5nIGEKCSAgbW9kdWxlIHRoYXQgZG9lcyBub3QgZXhpc3QKCjIwMDQtMDItMTYgMTA6NDggIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ29uZmlndXJlLmNtYWtlLmguaW4sIGNtRHluYW1pY0xvYWRlci5jeHg6IEVOSDogdXNlCgkgIGNtYWtlIHZhcmlhYmxlcyBmb3IgY21EeW5hbWljTG9hZGVyIHRvIGZpZ3VyZSBvdXQgbGlicmFyeSBwcmVmaXgKCSAgYW5kIGV4dGVuc2lvbnMKCjIwMDQtMDItMTYgMDk6NTAgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1nY2MuY21ha2UsIFNvdXJjZS9jbUR5bmFtaWNMb2FkZXIuY3h4OgoJICBCVUc6IGZpeCBtaW5ndyBtb2R1bGUgbG9hZCB0ZXN0cwoKMjAwNC0wMi0xNCAxNjo1NSAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWdjYy5jbWFrZTogc2hhcmVkIG1vZHVsZXMgYXJlIG5vdCBsaW5rZWQKCSAgc28gZG8gbm90IHVzZSBsaWIgcHJlZml4CgoyMDA0LTAyLTEzIDEwOjUxICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtZ2NjLmNtYWtlLCBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OgoJICBFTkg6IGNoYW5nZSBtaW5ndyB0byB1c2UgbGliZm9vLmRsbCBpbnN0ZWFkIG9mIGZvby5kbGwgc2luY2UgaXQKCSAgY2FuIGxpbmsgdG8gdGhlbQoKMjAwNC0wMi0xMiAyMTo0NCAgYW5keQoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4OiBFTkg6IEFkZCBERVNURElSIHN1cHBvcnQKCjIwMDQtMDItMTIgMTM6MzggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9EaXJlY3RvcnkuY3h4OiBFUlI6IEZpeGVkIHVzZSBvZiBfZmluZGZpcnN0IGZvciBNU1ZDCgkgIDYuCgoyMDA0LTAyLTEyIDExOjIzICBtYXJ0aW5rCgoJKiBTb3VyY2Uva3dzeXMvRGlyZWN0b3J5LmN4eDogZml4IGluY29ycmVjdCBzaWduYXR1cmUgZm9yIGZpbmRmaXJzdAoKMjAwNC0wMi0xMiAwOToxMyAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eCwgVGVzdHMvU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OiBGaXggaW5zdGFsbCB0ZXN0IGZhaWwgb24KCSAgbWluZ3cKCjIwMDQtMDItMTIgMDg6NTggIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEJVRzogTGlrZSBjeWd3aW4sIG1pbmd3IGRvZXMgbm90CgkgIHByb2R1Y2UgLmxpYiBmaWxlIGZvciBzaGFyZWQgbGlicmFyaWVzLCBzbyBzZWFyY2ggZm9yIGRsbCB3aGVuCgkgIHNlYXJjaGluZyBmb3IgbGlicmFyeQoKMjAwNC0wMi0xMSAxMDo1NiAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFUlI6IFJlbW92ZSB3YXJuaW5nCgoyMDA0LTAyLTExIDA4OjI4ICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4LCBUZXN0cy9TaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEVOSDogT24gQ3lnd2luIHNoYXJlZAoJICBsaWJyYXJpZXMgaGF2ZSBvbmx5IC5kbGwgZmlsZSBubyAubGliIGZpbGUsIHNvIHdoZW4gZmluZGluZwoJICBsaWJyYXJ5IG9uIGN5Z3dpbiwgc2VhcmNoIGFsc28gZm9yIC5kbGwuIEFsc28gZml4IFNpbXBsZUluc3RhbGwKCSAgdGVzdCBvbiBjeWd3aW4KCjIwMDQtMDItMTAgMTU6NTMgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRVJSOiBVc2UgZmlsZXBhdGggZm9sbG93ZWQgYnkgZmlsZW5hbWUgbm90CgkgIGFub3RoZXIgZmlsZXBhdGgKCjIwMDQtMDItMTAgMTU6NTEgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0Lmg6IEVOSDogQWRkIGxvZ2dpbmcgb2YgdGVzdHMgd2hpbGUKCSAgcnVubmluZy4gVGhpcyB3YXkgeW91IGNhbiBhY3R1YWxseSBzZWUgdGhlIG91dHB1dCBhcyBpdCBnb2VzCgoyMDA0LTAyLTA5IDE2OjQwICBhbmR5CgoJKiBUZXN0cy86IFNpbXBsZUluc3RhbGwvQ01ha2VMaXN0cy50eHQsCgkgIFNpbXBsZUluc3RhbGxTMi9DTWFrZUxpc3RzLnR4dDogRU5IOiBTb21lIGNsZWFudXAgYW5kIHRyeSB0byBmaXgKCSAgVmlzdWFsIFN0dWRpbyBidWlsZHMKCjIwMDQtMDItMDkgMTU6MzQgIGFuZHkKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiAtbCBvciB3aGF0ZXZlcgoJICBzaG91bGQgYmUgYXQgYmVnaW5uaW5nIG9mIGxpbmUuCgoyMDA0LTAyLTA5IDExOjMzICBhbmR5CgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFRlc3RzL1NpbXBsZUluc3RhbGwvaW5zdC5jeHgsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9pbnN0LmN4eDogRU5IOiBTb21lIHN5c3RlbXMgZG8gbm90IGhhbmRsZQoJICBzcGFjZXMgaW4gdGhlIHBhdGgKCjIwMDQtMDItMDggMjA6MDggIGFuZHkKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OiBFTkg6IEluc3RhbGwgc3RhZ2UyIHRvCgkgIGhhbmRsZSBydW50aW1lIHByb2JsZW0KCjIwMDQtMDItMDggMTM6MjMgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRU5IOiBBdHRlbXB0IHRvIHN1cHBvcnQgdGVzdHMgaW4gZnVua3kKCSAgc3ViZGlyZWN0b3JpZXMKCjIwMDQtMDItMDggMTI6MDQgIGFuZHkKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvU2ltcGxlSW5zdGFsbC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZCBzZWNvbmQgcGFydCBvZgoJICBTaW1wbGVJbnN0YWxsCgoyMDA0LTAyLTA2IDE2OjQzICBraW5nCgoJKiBTb3VyY2UvY21HbG9iLmN4eDogQlVHIzQ4MDogTWVyZ2luZyAxLjEwLT4xLjExIGNoYW5nZXMgdG8gMS44CgkgIGJyYW5jaC4KCjIwMDQtMDItMDYgMTU6MjYgIGFuZHkKCgkqIFNvdXJjZS9jbUdsb2IuY3h4OiBFTkg6IFdoZW4gbm9yIHNwZWNpZnlpbmcgZnVsbCBwYXRoLCBtYWtlIHN1cmUKCSAgaXQgYWN0dWFsbHkgd29ya3MsIG9uIGJyb2tlbiBmaWxlc3lzdGVtcyBmaXggY2FzZSBvZiBmaWxlcy4KCjIwMDQtMDItMDYgMTU6MTggIGFuZHkKCgkqIFNvdXJjZS9jbUZpbGVDb21tYW5kLmN4eDogRU5IOiBIYW5kbGUgc2NyaXB0IG1vZGUKCjIwMDQtMDItMDYgMTM6NDcgIGFuZHkKCgkqIFNvdXJjZS86IGNtRW5kRm9yRWFjaENvbW1hbmQuaCwgY21Gb3JFYWNoQ29tbWFuZC5oLAoJICBjbVN0cmluZ0NvbW1hbmQuaDogRU5IOiBNYWtlIG1vcmUgY29tbWFuZHMgc2NyaXB0YWJsZQoKMjAwNC0wMi0wNiAxMDo0OSAgYW5keQoKCSogTW9kdWxlcy9GaW5kSk5JLmNtYWtlOiBFTkg6IEJldHRlciBmaW5kaW5nIG9mIEpOSQoKMjAwNC0wMi0wNSAxMDoxMiAgYW5keQoKCSogVGVzdHMvOiBTaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBTaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEVSUjogRml4IHRlc3Qgb24gd2luZG93cyB3aXRoCgkgIG5ldHdvcmsgcGF0aHMKCjIwMDQtMDItMDQgMDk6NDIgIGJlcmsKCgkqIFRlc3RzLzogU2ltcGxlSW5zdGFsbC9mb28uYywgU2ltcGxlSW5zdGFsbC9mb28uaCwKCSAgU2ltcGxlSW5zdGFsbC9pbnN0LmN4eCwgU2ltcGxlSW5zdGFsbFMyL2Zvby5jLAoJICBTaW1wbGVJbnN0YWxsUzIvZm9vLmgsIFNpbXBsZUluc3RhbGxTMi9pbnN0LmN4eDogRU5IOiBGaXggdGVzdCBvbgoJICBIUC1VWAoKMjAwNC0wMi0wMyAxMToyMyAgYW5keQoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4OiBFTkg6IEZpeCBzdXBwb3J0IGZvciBkZWJ1ZyBwb3N0Zml4CgoyMDA0LTAyLTAzIDEwOjUzICBhbmR5CgoJKiBTb3VyY2UvOiBjbUZpbGVDb21tYW5kLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtU2V0Q29tbWFuZC5oOgoJICBFTkg6IEFkZCBzdXBwb3J0IGZvciBpbnN0YWxsIHBvc3RmaXgKCjIwMDQtMDItMDMgMTA6MjUgIGFuZHkKCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogRU5IOiBDbGVhbnVwIG91dHB1dAoKMjAwNC0wMi0wMyAwOToyNiAgYW5keQoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEVOSDogRml4IEFERF9ERVBFTkRFTkNJRVMKCSAgb24gVW5peCBtYWtlZmlsZXMgYW5kIGZpeCBTaW1wbGVJbnN0YWxsIHRlc3Qgbm90IHRvIGxpbmsgdGhlCgkgIG1vZHVsZQoKMjAwNC0wMi0wMiAxODoyMyAgYW5keQoKCSogVGVzdHMvOiBTaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBTaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQ6IEVOSDogTWFrZSB0ZXN0IHdvcmsgb24gd2luZG93cwoKMjAwNC0wMi0wMiAxODoyMyAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFTkg6IFByb3BhZ2F0ZSBidWlsZCB0eXBlCgoyMDA0LTAyLTAxIDE2OjQ4ICBhbmR5CgoJKiBUZXN0cy86IFNpbXBsZUluc3RhbGwvbGliMi5oLCBTaW1wbGVJbnN0YWxsL2xpYjMuaCwKCSAgU2ltcGxlSW5zdGFsbFMyL2xpYjIuaCwgU2ltcGxlSW5zdGFsbFMyL2xpYjMuaDogRU5IOiBGaXggZXhwb3J0cwoKMjAwNC0wMi0wMSAxMjo1MyAgYW5keQoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9TaW1wbGVJbnN0YWxsL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsL2Zvby5jLCBUZXN0cy9TaW1wbGVJbnN0YWxsL2Zvby5oLAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsL2luc3QuY3h4LCBUZXN0cy9TaW1wbGVJbnN0YWxsL2xpYjEuY3h4LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsL2xpYjEuaCwgVGVzdHMvU2ltcGxlSW5zdGFsbC9saWIyLmN4eCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbC9saWIyLmgsIFRlc3RzL1NpbXBsZUluc3RhbGwvbGliMy5jeHgsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGwvbGliMy5oLCBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9mb28uYywgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL2Zvby5oLAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvaW5zdC5jeHgsIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9saWIxLmN4eCwKCSAgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL2xpYjEuaCwgVGVzdHMvU2ltcGxlSW5zdGFsbFMyL2xpYjIuY3h4LAoJICBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvbGliMi5oLCBUZXN0cy9TaW1wbGVJbnN0YWxsUzIvbGliMy5jeHgsCgkgIFRlc3RzL1NpbXBsZUluc3RhbGxTMi9saWIzLmg6IEVOSDogQWRkIGluc3RhbGwgdGVzdAoKMjAwNC0wMS0yOSAxMDoyOSAgaG9mZm1hbgoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBCVUc6IGtlZXAgb3V0cHV0CgoyMDA0LTAxLTI5IDA5OjAxICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogcmVtb3ZlIGRlcGVuZCBvbgoJICBDTWFrZUNhY2hlIGZvciByZWJ1aWxkX2NhY2hlIHRhcmdldCB0byBhdm9pZCBkb3VibGUgcmVidWlsZCBjYWNoZQoKMjAwNC0wMS0yOCAxMzoxNyAgaG9mZm1hbgoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBCVUc6IEFmdGVyIHJ1bm5pbmcgYnVpbHRpbiBjdGVzdCwgZ28gYmFjayB0bwoJICB0aGUgb3JpZ2luYWwgZGlyZWN0b3J5CgoyMDA0LTAxLTI4IDExOjIyICBhbmR5CgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEVSUjogUmVtb3ZlIGNvdXQKCjIwMDQtMDEtMjggMTA6NTkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzV2luMzIuYzogQlVHOiBDb3JyZWN0ZWQgZGV0ZWN0aW9uIG9mCgkgIGV4Y2VwdGlvbmFsIGV4aXQgY29kZS4KCjIwMDQtMDEtMjggMTA6NTkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy90ZXN0UHJvY2Vzcy5jOiBFTkg6IEFkZGVkIGV4Y2VwdGlvbiBzdHJpbmcgdG8KCSAgYWJub3JtYWwgdGVybWluYXRpb24gcmVwb3J0LgoKMjAwNC0wMS0yOCAwOTo0NyAgbWFydGluawoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBJbmNsdWRpbmcgZXhjZXB0aW9uIHN0cmluZyBpbiB0ZXN0J3MgZXJyb3IKCSAgb3V0cHV0LgoKMjAwNC0wMS0yOCAwODoxMSAgYW5keQoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4OiBFUlI6IFJlbW92ZSB3YXJuaW5nIGFib3V0IHVudXNlZAoJICB2YXJpYWJsZQoKMjAwNC0wMS0yNyAxNzoxMiAgaG9mZm1hbgoKCSogU291cmNlL2NtYWtldGVzdC5jeHg6IHJlbW92ZSBvbGQgZmlsZQoKMjAwNC0wMS0yNyAxNzoxMiAgaG9mZm1hbgoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFTkg6IGFkZCBhIGR5bmFtaWMgbG9hZGVyIGZsdXNoIGNhY2hlCgoyMDA0LTAxLTI3IDE3OjExICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogT25seSBkaXNwbGF5IHRoZSBwcmVjb250ZXh0IG9yCgkgIHBvc3Rjb250ZXh0IHVwIHRvIHRoZSBuZXh0IG9yIHByZXZpb3VzIHdhcm5pbmcgb3IgZXJyb3IKCjIwMDQtMDEtMjcgMTQ6NTEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQlVHOiBmaXggRk1NCgoyMDA0LTAxLTI3IDEyOjM3ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUZpbGVDb21tYW5kLmN4eCwgY21JbnN0YWxsVGFyZ2V0c0NvbW1hbmQuY3h4LAoJICBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5oLCBjbVRhcmdldC5oOiBFTkg6IE1ha2UKCSAgaW5zdGFsbCBvbiB3aW5kb3dzIHNlZW1zIHRvIHdvcmsgbm93CgoyMDA0LTAxLTI3IDA5OjUzICBhbmR5CgoJKiBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHg6IEVSUjogRml4IGJ1aWxkIG9uIE1pbmd3LiBMb29rcyBsaWtlCgkgIE1pbmd3IGlzIG1vcmUgbGlrZSB2aXN1YWwgc3R1ZGlvLi4uIFRoYW5rcyBGcmVkIFdoZWVsZXIKCjIwMDQtMDEtMjcgMDk6NDIgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogZml4IGZvciBiYWNrdXAgcmVzdG9yZQoKMjAwNC0wMS0yNyAwOTowNSAgYW5keQoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4OiBFUlI6IEFuZCB5ZXQgYW5vdGhlciBzZXQgb2YgY29uc3RhbnRzCgkgIGZvciBmaWxlIHBlcm1pc3Npb25zCgoyMDA0LTAxLTI3IDA5OjA1ICBhbmR5CgoJKiBTb3VyY2UvOiBjbVN0YW5kYXJkSW5jbHVkZXMuaCwgY21TeXN0ZW1Ub29scy5oOiBFUlI6IFByb3Blcmx5CgkgIGhhbmRsZSBtb2RlX3Qgb24gYm9ybGFuZAoKMjAwNC0wMS0yNiAxNzo1MiAgYW5keQoKCSogU291cmNlL2NtU3RhbmRhcmRJbmNsdWRlcy5oOiBFUlIgRml4IGJvcmxhbmQKCjIwMDQtMDEtMjYgMTY6MjkgIGFuZHkKCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogQlVHOiBGaXggZm9yIHNwYWNlcyBpbiBwYXRoCgoyMDA0LTAxLTI2IDE2OjI0ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUZpbGVDb21tYW5kLmN4eCwgY21Mb2NhbEdlbmVyYXRvci5jeHg6IEVOSDogU2V2ZXJhbAoJICB3aW5kb3dzIGJ1Z3MgYW5kIGZpeGVzCgoyMDA0LTAxLTI2IDE2OjA1ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUZpbGVDb21tYW5kLmN4eCwgY21GaWxlQ29tbWFuZC5oOiBFTkg6IEFkZCB1bml4IHN0eWxlCgkgIGluc3RhbGwgaW4gZmlsZSBjb21tYW5kCgoyMDA0LTAxLTI2IDE1OjUwICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmN4eCwgY21TeXN0ZW1Ub29scy5jeHgsCgkgIGNtU3lzdGVtVG9vbHMuaDogRU5IOiBQcmVzZXJ2ZSBwZXJtaXNzaW9ucyB3aGVuIGNvcHlpbmcgZmlsZXMKCjIwMDQtMDEtMjYgMTU6MDMgIGFuZHkKCgkqIFNvdXJjZS86IGNtU3RhbmRhcmRJbmNsdWRlcy5oLCBjbVN5c3RlbVRvb2xzLmN4eDogRVJSOiBGaXggYnVpbGQKCSAgcHJvYmxlbXMgb24gVmlzdWFsIFN0dWRpbyA2CgoyMDA0LTAxLTI2IDE0OjU1ICBhbmR5CgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oOiBFTkg6IEFkZCBjb2RlIGZvcgoJICBzZXR0aW5nIGFuZCBnZXR0aW5nIHBlcm1pc3Npb25zCgoyMDA0LTAxLTI2IDE0OjQxICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21TeXN0ZW1Ub29scy5jeHg6IEVOSDogSW1wcm92ZSBjYWxsaW5nIG9mCgkgIFJ1blNpbmdsZSBjb21tYW5kIGFuZCBmaXggY29tcGlsZSBlcnJvcgoKMjAwNC0wMS0yNiAxNDowMCAgaG9mZm1hbgoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IGZvcmdvdCByZXR1cm4gdmFsdWUKCjIwMDQtMDEtMjYgMTM6NTcgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0Lmg6IEVOSDogQWRkIHN1cHBvcnQgZm9yCgkgIENUZXN0Q3VzdG9tLmN0ZXN0LCB3aGljaCBtb2RpZmllcyBzb21lIGJlaGF2aW9yIG9mIGN0ZXN0CgoyMDA0LTAxLTI2IDEzOjMyICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbVN5c3RlbVRvb2xzLmN4eCwKCSAgY21TeXN0ZW1Ub29scy5oLCBjbWFrZS5jeHgsIGNtYWtlLmg6IEJVRzogZml4IHB1dC9nZXQgZW52CgkgIHByb2JsZW1zCgoyMDA0LTAxLTI2IDEzOjMyICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1dpbjMyLmM6IEVOSDogZml4IGZvciBidWlsZCBvbiBjeWd3aW4gbWluZ3cKCjIwMDQtMDEtMjUgMTk6MzAgIGFuZHkKCgkqIFNvdXJjZS86IGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBjbUxvY2FsR2VuZXJhdG9yLmg6IEVSUjogRml4IHN0ZDo6CgkgIG5hbWVzcGFjZQoKMjAwNC0wMS0yNSAxOToyNSAgYW5keQoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUxvY2FsR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbEdlbmVyYXRvci5oOiBFTkg6IFN0YXJ0IGFkZGluZyBuZXcgaW5zdGFsbGF0aW9uIGZyYW1ld29yawoKMjAwNC0wMS0yNCAxMjo1MiAga2luZwoKCSogVGVzdHMvSnVtcC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0OiBCVUc6IER1ZSB0byBiYWNrd2FyZAoJICBvcmRlcmluZywgVmlzdWFsIFN0dWRpbyBHVUlzIG5lZWQgdGhlIGxpbmsgZGlyZWN0b3JpZXMgZm9yIHRoZQoJICBsaWJyYXJpZXMgdGhlIGZpcnN0IHRpbWUuCgoyMDA0LTAxLTIzIDE1OjE3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUc6IC5saWIgZnJvbSBhIC5kbGwKCSAgc2hvdWxkIGdvIGluIG1fTGlicmFyeU91dHB1dFBhdGggbm90IG1fRXhlY3V0YWJsZU91dHB1dFBhdGgKCjIwMDQtMDEtMjMgMTM6NDMgIGhvZmZtYW4KCgkqIFRlc3RzL0p1bXAvTGlicmFyeS9TaGFyZWQvQ01ha2VMaXN0cy50eHQ6IEJVRzogbGliZGlyIHdhcyBzZXQKCSAgd3Jvbmcgb24gd2luZG93cwoKMjAwNC0wMS0yMyAxMzo0MyAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IGp1bXAgb3ZlciBmZWF0dXJlCgkgIHdhcyBub3Qgd29ya2luZyBmb3Igd2luZG93cwoKMjAwNC0wMS0yMyAxMzoxOSAgYW5keQoKCSogRGFydENvbmZpZy5jbWFrZTogRU5IOiBGaXggdXJsCgoyMDA0LTAxLTIzIDEzOjAxICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeCBmb3IgZGVidWcKCSAgZmxhZ3MgaW50byBwcm9qZWN0IGZpbGVzCgoyMDA0LTAxLTIzIDEzOjAxICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogbW9yZSBmaXhlcyBmb3IKCSAgcmVsYXRpdmUgcGF0aCBzdHVmZgoKMjAwNC0wMS0yMyAxMjo0NiAgYW5keQoKCSogRGFydENvbmZpZy5jbWFrZTogRU5IOiBBZGQgbmlnaHRseSByZXBvcnRpbmcKCjIwMDQtMDEtMjMgMTI6NDAgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2U6IEVOSDogdXNlIENGTEFHUyBmb3IKCSAgdGVzdGluZyBmb3IgZ251CgoyMDA0LTAxLTIzIDExOjI2ICBhbmR5CgoJKiBEYXJ0Q29uZmlnLmNtYWtlOiBFTkg6IE1vcmUgY29udGludW91cyBlLW1haWwgc3R1ZmYKCjIwMDQtMDEtMjMgMTE6MjIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBjb252ZXJ0IHRoZSAubwoJICBmaWxlcyB0byBub3QgaGF2ZSAuLwoKMjAwNC0wMS0yMyAwOTo1NCAga2luZwoKCSogU291cmNlLzogY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmg6IEJVRzogRml4IHRvIGJ1aWxkIHJ1bGUgZ2VuZXJhdGlvbgoJICB3aXRoIHJlbGF0aXZlIHBhdGhzLgoKMjAwNC0wMS0yMyAwOTo0OCAga2luZwoKCSogRGFydENvbmZpZy5jbWFrZTogRU5IOiBJbXByb3ZpbmcgQ01ha2UgY29udGludW91cyBkYXNoYm9hcmRzLgoJICBTZW5kaW5nIGNvbnRpbnVvdXMgZW1haWwgZm9yIGFsbCBraW5kcyBvZiBmYWlsdXJlcy4KCjIwMDQtMDEtMjMgMDk6NDQgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0Lmg6IGZpeGVzIHRvIGJhY2t1cCByZXN0b3JlIG9wdGlvbnMKCjIwMDQtMDEtMjMgMDg6NTMgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogU1RZTEU6IERlbGV0ZWQgdHJhaWxpbmcgd2hpdGVzcGFjZS4KCjIwMDQtMDEtMjMgMDg6NTEgIGtpbmcKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogRVJSOiBGaXhlZCBwcm9qZWN0IG5hbWUgZm9yIEp1bXAgdGVzdHMuCgoyMDA0LTAxLTIyIDE0OjQ0ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBQcm9jZXNzLmguaW4sIFByb2Nlc3NVTklYLmM6IEVSUjogRml4ZWQgZnVuY3Rpb24KCSAgcHJvdG90eXBlcyB3aXRoIHplcm8gYXJndW1lbnRzIHRvIGJlIEMtc3R5bGUuCgoyMDA0LTAxLTIyIDExOjE2ICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYzogQlVHOiBJZiB3b3JraW5nIGRpcmVjdG9yeSBkb2VzIG5vdAoJICBleGlzdHMsIGV4aXQKCjIwMDQtMDEtMjIgMTE6MTAgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogQlVHOiBJZiBhdCBsZWFzdCBvbmUgdGVzdCBmYWlscywgdGhlIHBlcmNlbnQKCSAgY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiA5OQoKMjAwNC0wMS0yMiAxMDo1NCAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuaDogQlVHOiBGaXgganVtcC1vdmVyLWFuZC1idWlsZCBmb3IKCSAgbWlzc2luZyBsaWJyYXJpZXMgd2hlbiB0aGUgcmVsYXRpdmUgcGF0aCB0byB0aGUgbGlicmFyeSBpcwoJICBkaWZmZXJlbnQgYmV0d2VlbiB0aGUgc291cmNlIGFuZCBkZXN0aW5hdGlvbiBvZiB0aGUganVtcC4KCjIwMDQtMDEtMjIgMTA6NTEgIGtpbmcKCgkqIFRlc3RzL0p1bXAvTGlicmFyeS86IENNYWtlTGlzdHMudHh0LCBqdW1wU2hhcmVkLmN4eCwKCSAganVtcFN0YXRpYy5jeHgsIFNoYXJlZC9DTWFrZUxpc3RzLnR4dCwgU2hhcmVkL2p1bXBTaGFyZWQuY3h4LAoJICBTdGF0aWMvQ01ha2VMaXN0cy50eHQsIFN0YXRpYy9qdW1wU3RhdGljLmN4eDogRU5IOiBJbXByb3ZlZCB0ZXN0CgkgIHRvIGhhdmUgYSBkaWZmZXJlbnQgcmVsYXRpdmUgcGF0aCBuYW1lIGZvciBsaWJyYXJpZXMgYmV0d2VlbiB0aGUKCSAgRXhlY3V0YWJsZSBhbmQgTGlicmFyeSBkaXJlY3Rvcmllcy4KCjIwMDQtMDEtMjIgMTA6MzYgIGtpbmcKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBBZGRlZCBKdW1wV2l0aExpYk91dCBhbmQgSnVtcE5vTGliT3V0CgkgIHRvIHRlc3Qgd2hldGhlciBqdW1waW5nIG92ZXIgdG8gYnVpbGQgYSBtaXNzaW5nIGxpYnJhcnkgd29ya3MuCgoyMDA0LTAxLTIyIDEwOjMwICBraW5nCgoJKiBTb3VyY2UvOiBjbWFrZS5jeHgsIGt3c3lzL1N5c3RlbVRvb2xzLmN4eDogQlVHOgoJICBDb3B5RmlsZUlmRGlmZmVyZW50IHNob3VsZCByZXR1cm4gc3VjY2VzcyBpZiB0aGUgZmlsZXMgZGlkIG5vdAoJICBkaWZmZXIgb3IgaWYgdGhlIGNvcHkgc3VjY2VlZGVkLiAgSXQgc2hvdWxkIHJldHVybiBmYWlsdXJlIG9ubHkKCSAgaWYgdGhlIGZpbGVzIHdlcmUgZGlmZmVyZW50IGFuZCB0aGUgY29weSBmYWlsZWQuCgoyMDA0LTAxLTIyIDEwOjIzICBraW5nCgoJKiBUZXN0cy9KdW1wL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQ6IEVSUjogRml4ZWQgcG9zdC1idWlsZCBydWxlIHRvCgkgIGNvcHkgc2hhcmVkIGxpYnJhcnkgY29ycmVjdGx5LgoKMjAwNC0wMS0yMiAwOTo1NiAga2luZwoKCSogVGVzdHMvSnVtcC86IENNYWtlTGlzdHMudHh0LCBFeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBFeGVjdXRhYmxlL2p1bXBFeGVjdXRhYmxlLmN4eCwgTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgTGlicmFyeS9qdW1wU2hhcmVkLmN4eCwgTGlicmFyeS9qdW1wU3RhdGljLmN4eDogRU5IOiBBZGRpbmcgdGVzdAoJICBmb3IganVtcGluZyBvdmVyIGFuZCBidWlsZGluZyBhIG1pc3NpbmcgbGlicmFyeS4KCjIwMDQtMDEtMjEgMTg6MzkgIGFuZHkKCgkqIE1vZHVsZXMvQ01ha2VEZWZhdWx0TWFrZVJ1bGVWYXJpYWJsZXMuY21ha2U6IEVOSDogVGhpcyB3aWxsCgkgIHByb2JhYmx5IGJyZWFrIHNvbWUgb2JzY3VyZSB2ZXJzaW9uIG9mIGdjYywgYnV0IHVudGlsIHRoZW4sCgkgIGV2ZXJ5Ym9keSBkb2luZyBwcm9maWxpbmcgd2lsbCBiZSBoYXBweQoKMjAwNC0wMS0yMSAxNTo1NSAga2luZwoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBCVUc6IDo6U3Rkb3V0IG1ldGhvZCBzaG91bGQgZmx1c2ggY291dAoJICBhZnRlciB3cml0aW5nIGRhdGEuCgoyMDA0LTAxLTIxIDE1OjEyICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlVGVzdENDb21waWxlci5jbWFrZTogQlVHIzUzMDogTWVyZ2luZyAxLjkgLT4gMS4xMAoJICBjaGFuZ2VzIHRvIENNYWtlIDEuOCBicmFuY2guCgoyMDA0LTAxLTIxIDE1OjExICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlVGVzdENDb21waWxlci5jbWFrZTogQlVHIzUzMDogVXNpbmcgI2Vycm9yIHRvIHJlcG9ydAoJICBhIG5pY2UgZXJyb3IgbWVzc2FnZSBpZiB0aGUgQyBjb21waWxlciBpcyBzZXQgdG8gYSBDKysgY29tcGlsZXIuCgoyMDA0LTAxLTIxIDE1OjA4ICBraW5nCgoJKiBNb2R1bGVzL1Rlc3RCaWdFbmRpYW4uYzogQlVHOiBVc2UgcmV0dXJuIHN0YXRlbWVudCBpbnN0ZWFkIG9mCgkgIGV4aXQuCgoyMDA0LTAxLTIxIDE1OjA3ICBtYXJ0aW5rCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYzogbWVyZ2UgZnJvbSB0aGUgbWFpbiB0cmVlCgoyMDA0LTAxLTIxIDE0OjQzICBraW5nCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEJVRzogZW1wdHkgbWV0aG9kIG9uIHN0ZCBzdHJpbmcgaXMgYSB0ZXN0LAoJICBhbmQgZG9lcyBub3Qgc2V0IHRoZSBzdHJpbmcgdG8gZW1wdHkuCgoyMDA0LTAxLTIxIDE0OjI3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEJVRzogZml4IGxlYWsKCjIwMDQtMDEtMjEgMTQ6MDYgIGtpbmcKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogQlVHOiBGaXhlZCBidWZmZXIgc2l6ZSBpbiBNYWtlWE1MU2FmZS4KCjIwMDQtMDEtMjEgMTM6MzggIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jOiBCVUc6IEZpeCB2YWxncmluZCBlcnJvci4gSWYgd29ya2luZwoJICBkaXJlY3RvcnkgaXMgbm90IHNldCBkbyBub3QgZG8gY2hkaXIKCjIwMDQtMDEtMjEgMDk6NDkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogQlVHOiBpZiBhIHRlc3QgaXMgbm90IGZvdW5kLCBpdCBzaG91bGQgZmFpbAoKMjAwNC0wMS0yMSAwOToyNSAgaG9mZm1hbgoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFTkg6IG1ha2Ugc3VyZSB0ZXN0cyB0aGF0IGFyZSBub3QgcnVuIGZhaWwsCgkgIGFuZCBtYWtlIHN1cmUgdGhhdCBpdCBkb2VzIG5vdCB0cnkgdG8gcnVuIGRpcmVjdG9yaWVzIHdpdGggdGhlCgkgIHNhbWUgbmFtZSBhcyB0ZXN0cwoKMjAwNC0wMS0yMCAxNDozNiAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IGJ1ZyBmaXggZm9yIElCTQoJICBicm9rZW4geGxDIDYuMC4wLjQgY29tcGlsZXIKCjIwMDQtMDEtMjAgMTQ6MzUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogRU5IOiBkb250IGRvIHJlbGF0aXZlIHBhdGhzIHdoZW4KCSAgbm90aGluZyBpcyByZWxhdGl2ZQoKMjAwNC0wMS0xOSAwOTozMCAga2luZwoKCSogU291cmNlL2t3c3lzL3Rlc3RQcm9jZXNzLmM6IEVSUjogRml4ZWQgdW51c2VkIGFyZ3VtZW50IHdhcm5pbmcuCgoyMDA0LTAxLTE5IDA5OjMwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQ6IEVSUjogTXVzdCBpbmNsdWRlIERhcnQgbW9kdWxlIGFmdGVyCgkgIFBST0pFQ1QgY29tbWFuZC4KCjIwMDQtMDEtMTcgMTI6NDcgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dDogRU5IOiBBZGRlZCBEYXJ0IHRlc3RpbmcKCSAgY29uZmlndXJhdGlvbi4KCjIwMDQtMDEtMTcgMTI6NDYgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy90ZXN0UHJvY2Vzcy5jOiBFTkg6IEFkZGVkIGEgcmVjdXJzaXZlIHByb2Nlc3MKCSAgZXhlY3V0aW9uIHRlc3QuCgoyMDA0LTAxLTE2IDE0OjAwICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IGZpeCBzbyB0aGF0IGN0ZXN0IGlzIHJ1biBldmVuIHdpdGggYmFkIGNtYWtlCgkgIHJlc3VsdAoKMjAwNC0wMS0xNSAxNzowNyAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFTkg6IEhhbmRsZSBzcGFjZXMgaW4gdGhlIGRhcnQgb3V0cHV0IG9mIHRlc3QKCjIwMDQtMDEtMTUgMTQ6MDQgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1iY2MzMi5jbWFrZTogQlVHIzUxODogTWVyZ2luZyAxLjMwLT4xLjMxCgkgIGNoYW5nZXMgdG8gQ01ha2UgMS44IGJyYW5jaC4KCjIwMDQtMDEtMTUgMTM6NTcgIGFuZHkKCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1iY2MzMi5jbWFrZTogRU5IOiBGaXggdHlwb3MgYWJvdXQKCSAgY29weWluZyBleGUgZmxhZ3MgdG8gc2hhcmVkIGZsYWdzIGFuZCB0byBtb2R1bGVzLiBCdWcgIzUxOCAtIE9uCgkgIGJvcmxhbmQsIGluaXRpYWwgZmxhZ3MgZm9yIGJ1bGRpbmcgbW9kdWxlIGFyZSB3cm9uZwoKMjAwNC0wMS0xNSAwODo1MCAga2luZwoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IEFkZGVkIG1vcmUgZXJyb3Igc3RhdGUgY2hlY2tzIHRvCgkgIFJ1blNpbmdsZUNvbW1hbmQuCgoyMDA0LTAxLTEzIDEyOjI4ICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVSUjogRG8gbm90IGlnbm9yZSBhcmd1bWVudCBhZnRlciBub2NtYWtlCgoyMDA0LTAxLTEzIDExOjIyICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21DVGVzdC5oOiBFTkg6IGFkZCBubyBjbWFrZSBvcHRpb24KCjIwMDQtMDEtMTMgMDk6MDUgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2U6IEJVRzogTWVyZ2luZyAxLjIzLT4xLjI1CgkgIGNoYW5nZXMgdG8gMS44IGJyYW5jaCBmb3IgY29ycmVjdCBzZXR0aW5nIG9mIE1JTkdXIGZsYWcgb24gY3lnd2luCgkgIHdpdGggLW1uby1jeWd3aW4gZmxhZy4KCjIwMDQtMDEtMTMgMDk6MDEgIGtpbmcKCgkqIE1vZHVsZXMvRmluZFRjbHNoLmNtYWtlOiBNZXJnaW5nIDEuNi0+MS43IGNoYW5nZXMgdG8gMS44IGJyYW5jaAoJICB0byBpbXByb3ZlIGF1dG9tYXRpYyBmaW5kaW5nIG9mIFRjbC4KCjIwMDQtMDEtMTMgMDk6MDEgIGtpbmcKCgkqIE1vZHVsZXMvRmluZFRDTC5jbWFrZTogTWVyZ2luZyAxLjMwLT4xLjMxIGNoYW5nZXMgdG8gMS44IGJyYW5jaAoJICB0byBpbXByb3ZlIGF1dG9tYXRpYyBmaW5kaW5nIG9mIFRjbC4KCjIwMDQtMDEtMTMgMDk6MDAgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2U6IEJVRzogdXNlIHRoZSBmbGFncyB3aGVuCgkgIHRlc3RpbmcgZm9yIHR5cGUgb2YgZ251IGNvbXBpbGVyCgoyMDA0LTAxLTEyIDE2OjE2ICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBCVUc6IHRyeSB0byBnZXQgYWNjZXNzIHRvIHdvcmsgb24KCSAgYm9ybGFuZAoKMjAwNC0wMS0xMiAxMzo1MyAgaG9mZm1hbgoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogRU5IOiB1c2UgYWNjZXNzIG92ZXIgc3RhdCBmb3IKCSAgcGVyZm9ybWFuY2UKCjIwMDQtMDEtMTIgMTM6MzAgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBrd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEVOSDogT25seSBsb29rIGZvcgoJICBleGVjdXRhYmxlIHVudGlsIGZvdW5kCgoyMDA0LTAxLTA5IDE1OjU3ICBiYXJyZQoKCSogTW9kdWxlcy86IEZpbmRUQ0wuY21ha2UsIEZpbmRUY2xzaC5jbWFrZTogRU5IOiBtYWtlIGl0IGEgYml0CgkgIHNtYXJ0ZXIgYXQgZmluZGluZyBzdHVmZjogbm93IHlvdSBuZWVkIG9ubHkgdG8gc2V0ICpPTkUqIG9mCgkgIChUQ0x8VEspX0lOQ0xVREVfUEFUSCwgKFRDTHxUSylfTElCUkFSWSwgVENMX1RDTFNIIGFuZCB0aGUgcmVzdAoJICB3aWxsIGJlIGZvdW5kLgoKMjAwNC0wMS0wOSAxNDoxNCAgaG9mZm1hbgoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFTkg6IGNsZWFuIHVwIHRoZSBvdXRwdXQgc29tZSBtb3JlCgoyMDA0LTAxLTA5IDE0OjA1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogY2xlYW4gdXAgb3V0cHV0CgoyMDA0LTAxLTA5IDEzOjM1ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21DVGVzdC5oOiBFTkg6IGFkZCBhbiBhYmlsaXR5IHRvIHNwZWNpZnkgYQoJICBidWlsZCBydW4gZGlyZWN0b3J5CgoyMDA0LTAxLTA5IDEyOjM1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogY2xlYW4gdXAgb3V0cHV0CgoyMDA0LTAxLTA5IDEyOjI4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogYWRkIGEgbG9jYWwgdGFyZ2V0CgkgIGZvciBsaWJyYXJpZXMgYXMgd2VsbCBhcyBleGVjdXRhYmxlcwoKMjAwNC0wMS0wOSAxMToyMyAga2luZwoKCSogQ01ha2VMaXN0cy50eHQsIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVTeXN0ZW0uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VGaW5kRnJhbWV3b3Jrcy5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVRlc3RDQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VUZXN0Q1hYQ29tcGlsZXIuY21ha2UsIE1vZHVsZXMvRGFydC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kT3BlbkdMLmNtYWtlLCBNb2R1bGVzL0ZpbmRQeXRob25MaWJzLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRRdC5jbWFrZSwgTW9kdWxlcy9GaW5kVENMLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2UsIFNvdXJjZS9jbUNUZXN0LmN4eCwKCSAgU291cmNlL2NtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxDb2RlV2FycmlvckdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21MaW5rTGlicmFyaWVzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsQ29kZVdhcnJpb3JHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU9wdGlvbkNvbW1hbmQuY3h4LCBTb3VyY2UvY21RVFdyYXBDUFBDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtU2l0ZU5hbWVDb21tYW5kLmN4eCwgU291cmNlL2NtU3RyaW5nQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVRhcmdldC5jeHgsIFNvdXJjZS9jbVRhcmdldExpbmtMaWJyYXJpZXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21UcnlDb21waWxlQ29tbWFuZC5oLAoJICBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4LCBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoLAoJICBVdGlsaXRpZXMvUmVsZWFzZS9jb25maWdfTGludXgsCgkgIFV0aWxpdGllcy9SZWxlYXNlL2N5Z3dpbi1wYWNrYWdlLnNoLmluOiBFTkg6IE1lcmdlZCBSZWxlYXNlLTEtOC0yCgkgIC0+IFJlbGVhc2UtMS04LTMgY2hhbmdlcyB0byBDTWFrZS1MYXRlc3RSZWxlYXNlIGJyYW5jaC4KCjIwMDQtMDEtMDkgMTA6MTMgIGtpbmcKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogQlVHOiBVcGRhdGVkIHdhcm5pbmcgcmVnZXggdG8gbWF0Y2ggaW4gbW9yZQoJICBjYXNlcy4KCjIwMDQtMDEtMDkgMDg6NTQgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogQlVHOiBpZiB0aGUgYnVpbGQgZmFpbHMgdGhlbiB0aGUgdGVzdCBmYWlscwoKMjAwNC0wMS0wOSAwNzoyMiAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBCVUc6IGZpeCBhcmd1bWVudHMgdG8gd3h3aW5kb3dzIHRlc3QKCjIwMDQtMDEtMDggMDk6NTkgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtYWtlLmN4eDogQlVHOiBtYWtlCgkgIHN1cmUgbnVsbCB0ZXJtaW5hdG9yIGlzIGluIHRoZSByaWdodCBwbGFjZSBmb3IgcHV0ZW52IHN0YXRpYyBjaGFyCgkgIGFycmF5CgoyMDA0LTAxLTA4IDA5OjIzICBraW5nCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBCVUc6IEZpeCBlbnZpcm9ubWVudCB2YXJpYWJsZSBzZXR0aW5nLgoKMjAwNC0wMS0wOCAwOToxOSAga2luZwoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogQlVHOiBGaXggZW52aXJvbm1lbnQgdmFyaWFibGUKCSAgc2V0dGluZy4KCjIwMDQtMDEtMDggMDg6MTkgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4OiBFTkg6IHJlbW92ZSB3YXJuaW5nCgoyMDA0LTAxLTA3IDE2OjI0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IHRlbXAgcmVtb3ZlIG9mIG9wdGltaXphdGlvbiBpbnRlcm5hbCBjdGVzdAoJICB1c2UgcHV0ZW52IGNhdXNpbmcgdHJvdWJsZSBvbiBjeWd3aW4KCjIwMDQtMDEtMDcgMTY6MTUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRU5IOiBwcmludCBlcnJvcnMgd2hlbiB0aGV5IGFyZSB0aGVyZQoKMjAwNC0wMS0wNyAxNDoyMiAgaG9mZm1hbgoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBCVUc6IGluaXRpYWxpemUgaXZhcgoKMjAwNC0wMS0wNyAxMzoyNyAgbWFydGluawoKCSogU291cmNlL2NtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuY3h4OiBtZXJnZSBmaXggZnJvbSBtYWluIHRyZWUKCjIwMDQtMDEtMDcgMTM6MjAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogQlVHOiBmaXggY29tbWFuZCBsaW5lIHBhcnNlciBidWcKCjIwMDQtMDEtMDcgMTI6NTAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRU5IOiByZW1vdmUgd2FybmluZwoKMjAwNC0wMS0wNyAxMTozMSAgaG9mZm1hbgoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFTkg6IHJlbW92ZSB3YXJuaW5ncwoKMjAwNC0wMS0wNyAxMToyNCAgaG9mZm1hbgoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIGNtQ1Rlc3QuY3h4LCBjbUNUZXN0LmgsCgkgIGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmgsIGNtV2luMzJQcm9jZXNzRXhlY3V0aW9uLmN4eCwKCSAgY21ha2UuY3h4LCBjdGVzdC5jeHg6IEVOSDogYWRkIG5ldyBmZWF0dXJlIHRvIGN0ZXN0IHNvIHRoYXQgaXQKCSAgY2FuIGNtYWtlLCBidWlsZCBhbmQgcnVuIGEgdGVzdCBleGVjdXRhYmxlCgoyMDA0LTAxLTA3IDA5OjIyICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eDogQlVHOiBGaXhlZCBjcmFzaCBpbgoJICBleHRlcm4gTVNWQyBwcm9qZWN0IHN1cHBvcnQuCgoyMDA0LTAxLTA3IDA5OjIyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eDogQlVHOiBmaXggY3Jhc2ggaW4KCSAgZXh0ZXJuYWwgZHNwIGluY2x1ZGUKCjIwMDQtMDEtMDcgMDk6MTAgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4OiBCVUc6IEZpeGVkIGNyYXNoIGluCgkgIGV4dGVybiBNU1ZDIHByb2plY3Qgc3VwcG9ydC4KCjIwMDQtMDEtMDcgMDk6MDggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeCBjcmFzaAoKMjAwNC0wMS0wNyAwOTowNyAga2luZwoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBCVUc6IEFkZGVkIG1pc3NpbmcgR2VuZXJhdG9yIGF0dHJpYnV0ZXMgdG8KCSAgc3VibWl0dGVkIFhNTCBmaWxlcy4KCjIwMDQtMDEtMDcgMDg6MzcgIG1hcnRpbmsKCgkqIE1vZHVsZXMvRGFydC5jbWFrZTogbWVyZ2UgY2hhbmdlIGZyb20gbWFpbiB0cmVlCgoyMDA0LTAxLTA2IDE5OjEzICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21DVGVzdC5oLCBjdGVzdC5jeHg6IEVOSDogSW1wcm92ZSBub3RlcwoJICBzdXBwb3J0IChub3cgeW91IGNhbiBzcGVjaWZ5IHRoZW0gd2l0aCB0aGUgcmVzdCBvZiB0aGUgY29tbWFuZAoJICBsaW5lKSwgaW1wcm92ZSByZWFkaW5nIG9mIGNvbmZpZ3VyYXRpb24gZmlsZSAobm93IGl0IGFjdHVhbGx5CgkgIHJlcmVhZHMgY29uZmlndXJhdGlvbiBmaWxlIGFmdGVyIHJ1bm5pbmcKCSAgdXBkYXRlL2NvbmZpZ3VyZS9idWlsZC4uLikuIFJlbWVtYmVyIHRoZSBtb2RlbAoJICAobmlnaHRseS9leHBlcmltZW50YWwpIGFjcm9zcyBydW5zCgoyMDA0LTAxLTA2IDE2OjU2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBrd3N5c19zdGQuaC5pbiwga3dzeXNfc3RkX2ZzdHJlYW0uaC5pbiwKCSAga3dzeXNfc3RkX2lvc2Z3ZC5oLmluLCBrd3N5c19zdGRfaW9zdHJlYW0uaC5pbiwKCSAga3dzeXNfc3RkX3NzdHJlYW0uaC5pbjogRU5IOiBSZW1vdmluZyBlbXB0eSBzb3VyY2UgZmlsZSBub3cgdGhhdAoJICBtYWtlZmlsZSBkZXBlbmRlbmNpZXMgc2hvdWxkIGhhdmUgdXBkYXRlZC4KCjIwMDQtMDEtMDYgMTY6MTggIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDoKCSAgRU5IOiBmaXggZm9yIGhwIG1ha2UgYW5kIHJlbGF0aXZlIHBhdGhzIG5ldmVyIGhhdmUgdGFyZ2V0cyB3aXRoIGEKCSAgLi8gYXQgdGhlIHN0YXJ0IG9mIHRoZSBuYW1lCgoyMDA0LTAxLTA2IDE1OjA2ICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jb25maWdfTGludXg6IEZpeGVkIGJ1aWxkIGZvciBuZXcgbWFjaGluZS4KCjIwMDQtMDEtMDYgMTM6MjEgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NvbmZpZ19MaW51eDogRU5IOiBVcGRhdGVkIGNvbmZpZ3VyYXRpb24gZm9yCgkgIG5ldyBidWlsZCBsb2NhdGlvbi4KCjIwMDQtMDEtMDUgMTY6MjkgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUdsb2IuY3h4OiBmaXggZm9yIGdsb2IgY29tbWFuZAoKMjAwNC0wMS0wNSAxNTozMCAga2luZwoKCSogU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmN4eDogQlVHOiBGaXhlZCB0eXBvIGluIGVycm9yCgkgIG1lc3NhZ2UuCgoyMDA0LTAxLTA1IDEzOjIwICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoOiBFTkg6IFVwZGF0ZWQgVEFHIGZvciAxLjguMwoJICByZWxlYXNlLgoKMjAwNC0wMS0wNSAxMzoxOSAga2luZwoKCSogQ01ha2VMaXN0cy50eHQsIENNYWtlU3lzdGVtQ29uZmlnLnR4dC5pbiwKCSAgQ01ha2VXaW5kb3dzU3lzdGVtQ29uZmlnLnR4dCwgYm9vdHN0cmFwLAoJICBNb2R1bGVzL0NNYWtlQ0NvbXBpbGVyLmNtYWtlLmluLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ1hYQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVKYXZhQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VJbXBvcnRCdWlsZFNldHRpbmdzLmNtYWtlLCBNb2R1bGVzL0NNYWtlTGlzdHMudHh0LAoJICBNb2R1bGVzL0NNYWtlU3lzdGVtU3BlY2lmaWNJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVRlc3RDQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VUZXN0Q1hYQ29tcGlsZXIuY21ha2UsIE1vZHVsZXMvQ01ha2VUZXN0R05VLmMsCgkgIE1vZHVsZXMvQ2hlY2tUeXBlU2l6ZS5jbWFrZSwgTW9kdWxlcy9DaGVja1ZhcmlhYmxlRXhpc3RzLmNtYWtlLAoJICBNb2R1bGVzL0RhcnQuY21ha2UsIE1vZHVsZXMvRmluZEdUSy5jbWFrZSwgTW9kdWxlcy9GaW5kSk5JLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRKYXZhLmNtYWtlLCBNb2R1bGVzL0ZpbmRMQVRFWC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kUHl0aG9uTGlicy5jbWFrZSwgTW9kdWxlcy9GaW5kVENMLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRUY2xzaC5jbWFrZSwgTW9kdWxlcy9GaW5kVGhyZWFkcy5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kV2lzaC5jbWFrZSwgTW9kdWxlcy9GaW5kd3hXaW5kb3dzLmNtYWtlLAoJICBNb2R1bGVzL1Rlc3RGb3JBTlNJRm9yU2NvcGUuY21ha2UsCgkgIE1vZHVsZXMvVGVzdEZvclNURE5hbWVzcGFjZS5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9BSVguY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vQlNET1MuY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vRGFyd2luLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL0ZyZWVCU0QuY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vSFAtVVguY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vSVJJWC5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9JUklYNjQuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vTVAtUkFTLmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL05ldEJTRC5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9PU0YxLmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL09wZW5CU0QuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vUklTQ29zLmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL1NDT19TVi5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9TSU5JWC5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9TdW5PUy5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9UcnVlNjQuY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vVUxUUklYLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1VOSVhfU1YuY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vVW5peFdhcmUuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1iY2MzMi5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtZ2NjLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MuY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vWGVuaXguY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vZ2NjLmNtYWtlLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9jbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuY3h4LCBTb3VyY2UvY21BZGRUZXN0Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUNQbHVnaW5BUEkuaCwgU291cmNlL2NtQ1Rlc3QuY3h4LCBTb3VyY2UvY21DVGVzdC5oLAoJICBTb3VyY2UvY21DYWNoZU1hbmFnZXIuY3h4LCBTb3VyY2UvY21Db21tYW5kcy5jeHgsCgkgIFNvdXJjZS9jbUR5bmFtaWNMb2FkZXIuY3h4LCBTb3VyY2UvY21GaW5kRmlsZUNvbW1hbmQuaCwKCSAgU291cmNlL2NtRmluZExpYnJhcnlDb21tYW5kLmgsIFNvdXJjZS9jbUZpbmRQYXRoQ29tbWFuZC5oLAoJICBTb3VyY2UvY21GaW5kUHJvZ3JhbUNvbW1hbmQuaCwKCSAgU291cmNlL2NtR2xvYmFsQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvYWRDb21tYW5kQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZURlcGVuZC5jeHgsIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwKCSAgU291cmNlL2NtUVRXcmFwQ1BQQ29tbWFuZC5jeHgsIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwKCSAgU291cmNlL2NtU3lzdGVtVG9vbHMuaCwgU291cmNlL2NtVGFyZ2V0TGlua0xpYnJhcmllc0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21UcnlDb21waWxlQ29tbWFuZC5oLCBTb3VyY2UvY21XaW4zMlByb2Nlc3NFeGVjdXRpb24uY3h4LAoJICBTb3VyY2UvY21ha2UuY3h4LCBTb3VyY2UvY21ha2VtYWluLmN4eCwgU291cmNlL2NtYWtld2l6YXJkLmN4eCwKCSAgU291cmNlL2NtYWtld2l6YXJkLmgsIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3VibWl0LmN4eCwKCSAgU291cmNlL0N1cnNlc0RpYWxvZy9jY21ha2UuY3h4LCBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYywKCSAgU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jLCBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4LAoJICBUZW1wbGF0ZXMvRVhFV2luSGVhZGVyLmRzcHRlbXBsYXRlLAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXgvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBVdGlsaXRpZXMvQ01ha2VMaXN0cy50eHQsIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2gsCgkgIFV0aWxpdGllcy9SZWxlYXNlL2NvbmZpZ19BSVgsCgkgIFV0aWxpdGllcy9SZWxlYXNlL2NvbmZpZ19DWUdXSU5fTlQtNS4xLAoJICBVdGlsaXRpZXMvUmVsZWFzZS9jb25maWdfRGFyd2luLCBVdGlsaXRpZXMvUmVsZWFzZS9jb25maWdfSFAtVVgsCgkgIFV0aWxpdGllcy9SZWxlYXNlL2NvbmZpZ19JUklYNjQsIFV0aWxpdGllcy9SZWxlYXNlL2NvbmZpZ19MaW51eCwKCSAgVXRpbGl0aWVzL1JlbGVhc2UvY29uZmlnX09TRjEsIFV0aWxpdGllcy9SZWxlYXNlL2NvbmZpZ19TdW5PUywKCSAgVXRpbGl0aWVzL1JlbGVhc2UvY3lnd2luLXBhY2thZ2Uuc2guaW46IEVOSDogTWVyZ2luZyBDTWFrZQoJICBSZWxlYXNlLTEtOC0yIHRvIENNYWtlLUxhdGVzdFJlbGVhc2UuCgoyMDA0LTAxLTA1IDEyOjU4ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4OiBCVUcjNDE2OiBNZXJnaW5nCgkgIDEuNDktPjEuNTAgY2hhbmdlcyB0byAxLjggYnJhbmNoLgoKMjAwNC0wMS0wNSAxMjo1MyAgbWFydGluawoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eDogZml4IGZvciBsb25nIGxpbmVzIHdpdGgKCSAgcG9zdCBidWlsZCBydWxlcwoKMjAwNC0wMS0wNSAxMToyMiAga2luZwoKCSogU291cmNlL2NtUVRXcmFwQ1BQQ29tbWFuZC5jeHg6IEJVRyM0MjE6IE1lcmdpbmcgMS4xNi0+MS4xNwoJICBjaGFuZ2VzIHRvIDEuOCBicmFuY2guCgoyMDA0LTAxLTA1IDExOjEzICBhbmR5CgoJKiBTb3VyY2UvY21RVFdyYXBDUFBDb21tYW5kLmN4eCwgVGVzdHMvV3JhcHBpbmcvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1dyYXBwaW5nL3Z0a1Rlc3RNb2MuaDogQlVHOiBGaXggZGVwZW5kZW5jeSB0byBpbnB1dCBmaWxlCgkgIGZvciBRVF9XUkFQX0NQUC4gQnVnICM0MjEgLSBRVF9XUkFQX0NQUAoKMjAwNC0wMS0wNSAxMTowMiAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzUGxhdGZvcm1DeHhUZXN0cy5jbWFrZTogRVJSOiBSZW1vdmVkIHVzZSBvZgoJICBGSUxFIGNvbW1hbmQgYW5kIHVzaW5nIFdSSVRFX0ZJTEUgaW5zdGVhZC4gIFdlIHdvdWxkIHN0aWxsIGxpa2UKCSAgQ01ha2UgMS42IHRvIGJlIGFibGUgdG8gYnVpbGQgQ01ha2UgQ1ZTLCBhbmQga3dzeXMgaXMgdXNlZC4KCjIwMDQtMDEtMDIgMTA6MjMgIG1hcnRpbmsKCgkqIE1vZHVsZXMvRGFydC5jbWFrZTogZml4IGZvciBtdWx0aXBsZSBuZXh0ZWQgcHJvamVjdHMKCjIwMDMtMTItMzEgMDg6NTYgIGFuZHkKCgkqIGJvb3RzdHJhcDogRVJSOiBGaXggYm9vdHN0cmFwIGZvciB0aGUgY2hhbmdlcyBpbiBrd3N5cwoKMjAwMy0xMi0zMCAxNzoxNSAga2luZwoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIENvbmZpZ3VyZS5oeHguaW4sCgkgIGt3c3lzUGxhdGZvcm1DeHhUZXN0cy5jeHgsIGt3c3lzX2lvc19mc3RyZWFtLmguaW4sCgkgIGt3c3lzX2lvc19pb3Nmd2QuaC5pbiwga3dzeXNfaW9zX2lvc3RyZWFtLmguaW4sCgkgIGt3c3lzX2lvc19zc3RyZWFtLmguaW46IEVOSDogUmVuYW1lZCBLV1NZU19JT1NfSEFWRV8qIG1hY3JvcyB0bwoJICBLV1NZU19JT1NfVVNFXyogdG8gYmUgbW9yZSByZWFkYWJsZSBpbiB0aGUgQysrIHNvdXJjZXMuCgoyMDAzLTEyLTMwIDE2OjIzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBQcm9jZXNzLmguaW4sIFByb2Nlc3NVTklYLmMsIFByb2Nlc3NXaW4zMi5jLAoJICB0ZXN0MS5jeHg6IEVOSDogQWRkZWQgR2V0RXhjZXB0aW9uU3RyaW5nIG1ldGhvZCB0byBwcm92aWRlIGFuCgkgIGVycm9yIGRlc2NyaXB0aW9uIHdoZW4gR2V0U3RhdGUgcmV0dXJucyBFeGNlcHRpb24uCgoyMDAzLTEyLTMwIDE0OjMzICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogUmVtb3ZlZCBzdHJheQoJICBkZWJ1Z2dpbmcgc3RhdGVtZW50IGxlZnQgZnJvbSBtZXJnZS4KCjIwMDMtMTItMzAgMTM6NDAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEVSUjogVXNlIG9mIGt3c3lzX3N0bCB3YXMgbWVyZ2VkCgkgIGZyb20gbWFpbiB0cmVlLiAgVGhlIENNYWtlIDEuOCBicmFuY2ggc3RpbGwgdXNlcyBrd3N5c19zdGQuCgoyMDAzLTEyLTMwIDEzOjM5ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBCVUc6IE1lcmdpbmcgMS4zMC0+MS4zMSBjaGFuZ2VzIHRvCgkgIENNYWtlIDEuOCBicmFuY2guCgoyMDAzLTEyLTMwIDEzOjM4ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBCVUc6IENvbGxhcHNlRnVsbFBhdGggd2FzIGNhbGxpbmcKCSAgU3BsaXRQcm9ncmFtUGF0aCBiZWZvcmUgY2hhbmdpbmcgdGhlIHdvcmtpbmcgZGlyZWN0b3J5IHRvCgkgIGluX2Jhc2UuCgoyMDAzLTEyLTMwIDEwOjI2ICBraW5nCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEJVRzogRG8gbm90IGNhbGwKCSAgY21zeXNQcm9jZXNzX0dldEVycm9yU3RyaW5nIHVubGVzcyBHZXRTdGF0ZSByZXR1cm5zIFN0YXRlX0Vycm9yLgoKMjAwMy0xMi0zMCAwODo0MSAgaG9mZm1hbgoKCSogU291cmNlLzogY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OgoJICBCVUc6IGJvcmxhbmQgbWFrZSB0cmVhdHMgLi90YXJnZXQgYW5kIHRhcmdldCBhcyBkaWZmZXJlbnQgYWxzbwoJICBjb252ZXJ0IHRvIG91dHB1dHBhdGhyZWxhdGl2ZSBtYXkgZ2V0IHBhc3NlZCBhIHF1b3RlZCBwYXRoCgoyMDAzLTEyLTMwIDA3OjU1ICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogUmVtb3ZlIHdhcm5pbmdzIGFib3V0IHVudXNlZCB2YXJpYWJsZXMKCjIwMDMtMTItMjkgMTY6MzUgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUVuYWJsZVRlc3RpbmdDb21tYW5kLmg6IHNldHMgdmFyaWFibGUgbm93CgoyMDAzLTEyLTI5IDE2OjI3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IG9ubHkgZ2VuZXJhdGUgdGVzdAoJICB0YXJnZXQgd2hlbiBlbmFibGVkCgoyMDAzLTEyLTI5IDE2OjI3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21FbmFibGVUZXN0aW5nQ29tbWFuZC5jeHg6IHNldHMgdmFyaWFibGUgbm93CgoyMDAzLTEyLTI5IDE2OjE5ICBraW5nCgoJKiBNb2R1bGVzLzogQ01ha2VGaW5kRnJhbWV3b3Jrcy5jbWFrZSwgRmluZFB5dGhvbkxpYnMuY21ha2UsCgkgIEZpbmRUQ0wuY21ha2U6IEJVRyM0MjM6IE1lcmdlZCBmaXggdG8gMS44IGJyYW5jaC4KCjIwMDMtMTItMjkgMTY6MTggIGtpbmcKCgkqIE1vZHVsZXMvOiBDTWFrZUZpbmRGcmFtZXdvcmtzLmNtYWtlLCBGaW5kUHl0aG9uTGlicy5jbWFrZSwKCSAgRmluZFRDTC5jbWFrZTogQlVHIzQyMzogRml4ZWQgc2VhcmNoIGZvciBmcmFtZXdvcmtzIG9uIE9TWC4KCjIwMDMtMTItMjkgMTY6MTUgIGtpbmcKCgkqIFNvdXJjZS9jbVNpdGVOYW1lQ29tbWFuZC5jeHg6IEJVRyM0MDc6IE1lcmdlZCBmaXggdG8gMS44IGJyYW5jaC4KCjIwMDMtMTItMjkgMTY6MTAgIGFuZHkKCgkqIFNvdXJjZS9jbVNpdGVOYW1lQ29tbWFuZC5jeHg6IEVOSDogRG8gbm90IHVzZSBuc2xvb2t1cC4gQWxsIHdlCgkgIHJlYWxseSBjYXJlIGlzIGhvc3RuYW1lLiBJZiBzb21lYm9keSB3YW50cyBzb21ldGhpbmcgZmFuY3ksIGp1c3QKCSAgc2V0IGl0IHlvdXJzZWxmLiBGaXhlcyBCdWcgIzQwNyAtIG5zbG9va3VwIGlzIGJlaW5nIGRlcHJlY2F0ZWQKCSAgZm9yIFJlZCBIYXQgYW5kIEZlZG9yYSBkaXN0cmlidXRpb25zCgoyMDAzLTEyLTI5IDE1OjM3ICBraW5nCgoJKiBTb3VyY2UvY21PcHRpb25Db21tYW5kLmN4eDogQlVHIzQwODogTWVyZ2VkIGZpeCB0byAxLjggYnJhbmNoLgoKMjAwMy0xMi0yOSAxNToyNiAgYW5keQoKCSogU291cmNlL2NtT3B0aW9uQ29tbWFuZC5jeHg6IEVSUjogRml4IHByb2JsZW1zIHdpdGggT1BUSU9OIGFuZCAtRAoJICBvbiBjb21tYW5kIGxpbmUuIEZpeCBCdWcgIzQwOCAtIFVzaW5nIC1EIHdpdGhvdXQgYSB0eXBlIGRvZXMgbm90CgkgIGFsd2F5cyB3b3JrCgoyMDAzLTEyLTI5IDE1OjE1ICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lU3lzdGVtLmNtYWtlOiBCVUcjNDI2OiBNZXJnZWQgZml4IHRvIDEuOAoJICBicmFuY2guCgoyMDAzLTEyLTI5IDE1OjE0ICBraW5nCgoJKiBNb2R1bGVzL0ZpbmRRdC5jbWFrZTogQlVHIzQyNTogTWVyZ2VkIGZpeCB0byAxLjggYnJhbmNoLgoKMjAwMy0xMi0yOSAxNDo1NSAgaG9mZm1hbgoKCSogU291cmNlLzogY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OgoJICBCVUc6IHVzZSAuLyBpbmZyb250IG9mIHRoZSBjdXJyZW50IGRpcmVjdG9yeQoKMjAwMy0xMi0yOSAxNDoyNiAgYW5keQoKCSogTW9kdWxlcy9DTWFrZURldGVybWluZVN5c3RlbS5jbWFrZTogRVJSOiBPbiBzeXN0ZW1zIHdoZXJlIHVuYW1lCgkgIGRvZXMgbm90IHN1cHBvcnQgLXAsIHRyeSAtbS4gRml4ZXMgQnVnICM0MjYgLQoJICBDTUFLRV9TWVNURU1fUFJPQ0VTU09SIHVua25vd24gYW5kIGluY29uc2lzdGVudAoKMjAwMy0xMi0yOSAxNDoxOSAgYW5keQoKCSogTW9kdWxlcy9GaW5kUXQuY21ha2U6IEVOSDogQWRkIFFUX0FTU0lTVEFOVENMSUVOVF9MSUJSQVJZCgkgIHN1cHBvcnQuIEZpeGVzIEJ1ZyAjNDI1IC0gU3VnZ3N0ZWQgbW9kIHRvIEZpbmRRdC5jbWFrZSB0byBoYW5kbGUKCSAgcWFzc2lzdGFudGNsaWVudC5saWIKCjIwMDMtMTItMjkgMTM6NDEgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHg6IEJVRyM0Mjc6IE1lcmdlZCBmaXggdG8gMS44IGJyYW5jaC4KCjIwMDMtMTItMjkgMTM6MzcgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsQ29kZVdhcnJpb3JHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwgY21MaW5rTGlicmFyaWVzQ29tbWFuZC5jeHgsCgkgIGNtTG9jYWxDb2RlV2FycmlvckdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwgY21UYXJnZXQuY3h4LAoJICBjbVRhcmdldExpbmtMaWJyYXJpZXNDb21tYW5kLmN4eDogQlVHIzQ0NTogTWVyZ2luZyBmaXggdG8gMS44CgkgIGJyYW5jaC4KCjIwMDMtMTItMjkgMTM6MzIgIGtpbmcKCgkqIFNvdXJjZS9jbVN0cmluZ0NvbW1hbmQuY3h4OiBCVUcjNDUyOiBNZXJnaW5nIDEuMTAtPjEuMTEgY2hhbmdlcwoJICB0byAxLjggYnJhbmNoLgoKMjAwMy0xMi0yOSAxMzozMSAga2luZwoKCSogU291cmNlL2NtU3RyaW5nQ29tbWFuZC5jeHg6IEJVRyM0NTI6IEZpeCB0byBhcmd1bWVudCBjaGVja2luZyBmb3IKCSAgVE9VUFBFUiBhbmQgVE9MT1dFUiBzdWJjb21tYW5kcy4KCjIwMDMtMTItMjkgMTM6MjYgIGtpbmcKCgkqIE1vZHVsZXMvRmluZE9wZW5HTC5jbWFrZTogQlVHOiBBZGRlZCBtaXNzaW5nIGluY2x1ZGUgcGF0aCB0bwoJICBzZWFyY2guCgoyMDAzLTEyLTI5IDEzOjE0ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFUlI6IFJlbW92ZWQgZnRpbWUgYW1iaWd1aXR5CgkgIGNyZWF0ZWQgYnkgcG9vciBDKysgc3RhbmRhcmQgaGVhZGVycyBwcm92aWRlZCBieSBCb3JsYW5kIDUuNS4KCjIwMDMtMTItMjYgMTU6MDIgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0LmgsIGN0ZXN0LmN4eDogRU5IOiBBZGQgb3B0aW9uIHRvCgkgIHN1Ym1pdCBub3Rlcy4gSW1wbGVtZW50cyBCdWcgIzQ2NSAtIEFkZCBub3RlcyBzdXBwb3J0IHRvIENUZXN0CgoyMDAzLTEyLTI2IDE1OjAwICBhbmR5CgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oOiBCVUc6IEZvcgoJICBjb25zaXN0ZW5jeSwgdXNlIGNtU3RkU3RyaW5nLiBBbHNvLCB0aGVyZSB3YXMgYSBidWcgaW4KCSAgU3BsaXRTdHJpbmcgd2hpY2ggbWFrZSBpdCBsb3NlIHRoZSBmaXJzdCBjaGFyYWN0ZXIuCgoyMDAzLTEyLTI0IDE1OjAyICBhbmR5CgoJKiBTb3VyY2UvY21Mb2NhbEdlbmVyYXRvci5jeHg6IEJVRzogT24gV2luZG93cyBuZXR3b3JrIHBhdGhzIGRvIG5vdAoJICByZWFsbHkgd29yayBhcyByZWd1bGFyIHBhdGhzLCBzbyB3aGVuIHRoZSBiaW5hcnkgZGlyZWN0b3J5IGlzIG9uCgkgIHRoZSBuZXR3b3JrLCB3ZSB3aWxsIG5vdCBzdXBwb3J0IHJlbGF0aXZlIHBhdGhzCgoyMDAzLTEyLTI0IDEzOjE3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogdXNlIGNkIHB3ZCB0cmljawoJICBmb3IgcGF0aCBmb3IgbGlibmFtZXMKCjIwMDMtMTItMjQgMTA6NTEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiB1c2UgZnVsbCBwYXRocyB2aWEKCSAgcHdkIGZvciAtTCBwYXRocyBvbiB1bml4IHNoZWxscwoKMjAwMy0xMi0yNCAxMDowNyAga21vcmVsCgoJKiBTb3VyY2Uva3dzeXMva3dzeXNfaW9zX2lvc2Z3ZC5oLmluOiBGaXhlZCBhIHByb2JsZW0gd2hlcmUKCSAgaWZzdHJlYW0gd2FzIG5vdCB0aGUgc2FtZSBhcyBrd3N5c19pb3M6Omlmc3RyZWFtIG9uIE1TVkMgNi4wLgoKMjAwMy0xMi0yNCAwOToxOSAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFTkg6IEZpeCBjb3ZlcmFnZSB0byBhY3R1YWxseSB3b3JrIGFuZCBhZGQKCSAgc3VwcG9ydCBmb3IgLk5vRGFydENvdmVyYWdlCgoyMDAzLTEyLTIzIDE1OjAxICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUxvY2FsR2VuZXJhdG9yLmN4eCwgY21UcnlDb21waWxlQ29tbWFuZC5jeHgsCgkgIGNtYWtlLmN4eCwgY21ha2UuaDogQlVHOiBrZWVwIG1vcmUgb2YgdGhlIGNhc2UgaW5mb3JtYXRpb24KCjIwMDMtMTItMjMgMTM6MzEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmN4eDogQlVHOiBmaXggZm9yIHZ0ayBidWlsZAoKMjAwMy0xMi0yMyAxMTowMyAga2luZwoKCSogYm9vdHN0cmFwOiBFTkg6IE1lcmdpbmcgY2hhbmdlcyBmcm9tIEtXU3lzLUlPUy1icCB0bwoJICBLV1N5cy1JT1MtYjJ0LTEtbXAgdG8gbWFpbiB0cmVlLiAgVGhpcyBjb3JyZXNwb25kcyB0byB0aGUgc2FtZQoJICBtZXJnZSBpbiBLV1N5cy4gIEZpeGVzIGZvciBib290c3RyYXBwaW5nIG9uIGN5Z3dpbiBhcmUgYWxzbwoJICBpbmNsdWRlZC4KCjIwMDMtMTItMjMgMTE6MDMgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IENNYWtlTGlzdHMudHh0LCBDb25maWd1cmUuaHh4LmluLCBEaXJlY3RvcnkuY3h4LAoJICBSZWd1bGFyRXhwcmVzc2lvbi5jeHgsIFJlZ3VsYXJFeHByZXNzaW9uLmh4eC5pbiwgU3lzdGVtVG9vbHMuY3h4LAoJICBTeXN0ZW1Ub29scy5oeHguaW4sIGt3c3lzUGxhdGZvcm1DeHhUZXN0cy5jbWFrZSwKCSAga3dzeXNQbGF0Zm9ybUN4eFRlc3RzLmN4eCwga3dzeXNfaW9zX2ZzdHJlYW0uaC5pbiwKCSAga3dzeXNfaW9zX2lvc2Z3ZC5oLmluLCBrd3N5c19pb3NfaW9zdHJlYW0uaC5pbiwKCSAga3dzeXNfaW9zX3NzdHJlYW0uaC5pbiwga3dzeXNfc3RkLmguaW4sIGt3c3lzX3N0ZF9mc3RyZWFtLmguaW4sCgkgIGt3c3lzX3N0ZF9pb3Nmd2QuaC5pbiwga3dzeXNfc3RkX2lvc3RyZWFtLmguaW4sCgkgIGt3c3lzX3N0ZF9zc3RyZWFtLmguaW4sIGt3c3lzX3N0bC5oLmluLCB0ZXN0MS5jeHgsIHRlc3RJT1MuY3h4OgoJICBFTkg6IE1lcmdpbmcgY2hhbmdlcyBmcm9tIEtXU3lzLUlPUy1icCB0byBLV1N5cy1JT1MtYjJ0LTEtbXAgdG8KCSAgbWFpbiB0cmVlLiAgVGhpcyBpbnRyb2R1Y2VzIHNlcGFyYXRlIGt3c3lzX2lvcyBhbmQga3dzeXNfc3RsCgkgIG1hY3JvcyBuZWVkZWQgdG8gc3VwcG9ydCBhbGwgcGxhdGZvcm1zLgoKMjAwMy0xMi0yMyAxMDo0NCAga2luZwoKCSogYm9vdHN0cmFwOiBCVUc6IEZpeGVkIDNyZCBDKysgdGVzdCB0byB1c2UgZW5kbCBjb3JyZWN0bHkuICBGaXhlZAoJICBpbmNvcnJlY3Qgc3BlbGxpbmcgb2YgYXBwcm9wcmlhdGUuCgoyMDAzLTEyLTIzIDEwOjM5ICBhbmR5CgoJKiBib290c3RyYXA6IEVOSDogU29tZSBjbGVhbnVwcyBhbmQgYXR0ZW1wdCB0byBmaXggY3lnd2luIHByb2JsZW0KCjIwMDMtMTItMjMgMTA6MTYgIGFuZHkKCgkqIGJvb3RzdHJhcDogRU5IOiBTb21lIGNsZWFudXBzLCBhZGQgc2V0dGluZ3MgY29tbWVudCB0byBrd3N5cwoJICBoZWFkZXIgZmlsZXMuIEFkZCBwcm9wZXIgZGVwZW5kZW5jeSB0byBrd3N5cyBoZWFkZXJzCgoyMDAzLTEyLTIzIDA5OjUzICBraW5nCgoJKiBib290c3RyYXA6IEJVRzogRml4ZWQgdXNlIG9mIEtXU1lTX0lPU19IQVZFX1NTVFJFQU0gdGVzdCByZXN1bHQKCSAgZm9yIGNtQ29uZmlndXJlLgoKMjAwMy0xMi0yMyAwOTozMSAga2luZwoKCSogYm9vdHN0cmFwOiBCVUc6IE1vdmVkIHVzZSBvZiBLV1NZU19JT1MgdGVzdCByZXN1bHRzIHRvIGFmdGVyIHRoZQoJICB0ZXN0cyBhcmUgcGVyZm9ybWVkLglBbHNvIGNsZWFuZWQgdXAgb3JkZXJpbmcgb2Ygc29tZSB0ZXN0cy4KCjIwMDMtMTItMjMgMDk6MTcgIGFuZHkKCgkqIGJvb3RzdHJhcDogRU5IOiBzdXBwb3J0IG5ldyBLV1NZUyB3aXRoIElPUwoKMjAwMy0xMi0yMiAxNjoyMSAgaG9mZm1hbgoKCSogU291cmNlLzogY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsIGNtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IGFkZAoJICByZWxhdGl2ZSBwYXRocyB0byB2aXN1YWwgc3R1ZGlvIDYgYW5kIDcgcHJvamVjdCBmaWxlcwoKMjAwMy0xMi0yMiAxNToxNiAgaG9mZm1hbgoKCSogU291cmNlLzogY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtTG9jYWxHZW5lcmF0b3IuaCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuaDoKCSAgRU5IOiBtb3ZlIHJlbGF0aXZlIHBhdGggdG8gcGFyZW50IGdlbmVyYXRvciBjbGFzcwoKMjAwMy0xMi0yMiAxNDoxNyAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IG1ha2UgbmV3IHJlbGF0aXZlCgkgIHJwYXRoIHdvcmsgd2l0aCBzcGFjZXMKCjIwMDMtMTItMjIgMTM6NTkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiB1c2UgZnVsbHBhdGhzIGJhc2VkCgkgIG9uIHRoZSBhY3R1YWwgY3VycmVudCBkaXJlY3RvcnkKCjIwMDMtMTItMjIgMTM6MTUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiB1c2UgYSBmdWxsIHBhdGggZm9yCgkgIHJwYXRoCgoyMDAzLTEyLTIyIDEyOjI0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5oLCBjbVN5c3RlbVRvb2xzLmN4eCwKCSAgY21TeXN0ZW1Ub29scy5oLCBjbWFrZS5jeHg6IEVOSDogYWRkIHN1cHBvcnQgZm9yIHJlbGF0aXZlIHBhdGhzCgkgIGluIG1ha2VmaWxlcwoKMjAwMy0xMi0yMiAxMToyMCAga2luZwoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIGt3c3lzUGxhdGZvcm1DeHhUZXN0cy5jeHg6IEVOSDoKCSAgQWxsIHBsYXRmb3JtIHRlc3RzIGFyZSBub3cgaW4ga3dzeXNQbGF0Zm9ybUN4eFRlc3RzLmN4eC4gIFRoaXMKCSAgbWFrZXMgdGhlIGxpc3RmaWxlIGNvZGUgbXVjaCBtb3JlIHJlYWRhYmxlLgoKMjAwMy0xMi0yMCAxMzozMiAga2luZwoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIHRlc3RJT1MuY3h4OiBFTkg6IEFkZGVkIHRlc3RJT1MKCSAgZm9yIGt3c3lzX2lvcyB0ZXN0aW5nLgoKMjAwMy0xMi0yMCAxMzozMSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzX2lvc19zc3RyZWFtLmguaW46IEVSUjogRml4ZWQgaXN0cmluZ3N0cmVhbSB0bwoJICB3b3JrIHdpdGggTVNWQyA2IG9sZCBzdHJlYW1zLgoKMjAwMy0xMi0yMCAxMjo0NCAga2luZwoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIENvbmZpZ3VyZS5oeHguaW4sCgkgIGt3c3lzUGxhdGZvcm1DeHhUZXN0cy5jeHgsIGt3c3lzX2lvc19mc3RyZWFtLmguaW4sCgkgIGt3c3lzX2lvc19pb3Nmd2QuaC5pbiwga3dzeXNfaW9zX2lvc3RyZWFtLmguaW4sCgkgIGt3c3lzX2lvc19zc3RyZWFtLmguaW46IEVOSDogU2hvcnRlbmVkIGFuZCBncm91cGVkIElPUyBhbmQgU1RMCgkgIGZlYXR1cmUgbWFjcm8gbmFtZXMuCgoyMDAzLTEyLTE5IDE2OjU2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBDTWFrZUxpc3RzLnR4dCwgQ29uZmlndXJlLmh4eC5pbiwgRGlyZWN0b3J5LmN4eCwKCSAgUmVndWxhckV4cHJlc3Npb24uY3h4LCBSZWd1bGFyRXhwcmVzc2lvbi5oeHguaW4sIFN5c3RlbVRvb2xzLmN4eCwKCSAgU3lzdGVtVG9vbHMuaHh4LmluLCBrd3N5c1BsYXRmb3JtQ3h4VGVzdHMuY21ha2UsCgkgIGt3c3lzUGxhdGZvcm1DeHhUZXN0cy5jeHgsIGt3c3lzX2lvc19mc3RyZWFtLmguaW4sCgkgIGt3c3lzX2lvc19pb3Nmd2QuaC5pbiwga3dzeXNfaW9zX2lvc3RyZWFtLmguaW4sCgkgIGt3c3lzX2lvc19zc3RyZWFtLmguaW4sIGt3c3lzX3N0ZC5oLmluLCBrd3N5c19zdGRfZnN0cmVhbS5oLmluLAoJICBrd3N5c19zdGRfaW9zZndkLmguaW4sIGt3c3lzX3N0ZF9pb3N0cmVhbS5oLmluLAoJICBrd3N5c19zdGRfc3N0cmVhbS5oLmluLCBrd3N5c19zdGwuaC5pbiwgdGVzdDEuY3h4OiBFTkg6IFNwbGl0CgkgIGt3c3lzX3N0ZCBpbnRvIGt3c3lzX2lvcyBhbmQga3dzeXNfc3RsIGluIG9yZGVyIHRvIGF2b2lkIHN0ZAoJICBuYW1lc3BhY2UgcG9sbHV0aW9uIGFuZCBzdXBwb3J0IG1vcmUgcGxhdGZvcm1zLgoKMjAwMy0xMi0xOCAxODowNCAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFTkg6IEV2ZW4gYmV0dGVyLiBPbmx5IHJlcGxhY2Ugd2hlbiBwYXRoCgkgIGxvbmdlciB0aGFuIDIwIGNoYXJhY3RlcnMuIEFsc28gcmVwbGFjZSBwYXJlbnQgZGlyZWN0b3J5LiBUaGF0CgkgIHdheSBpdCB3aWxsIHJlcGxhY2UgZm9yIHJlbGF0ZWQgcHJvamVjdHMuCgoyMDAzLTEyLTE4IDE3OjQyICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogQXR0ZW1wdCB0byBjbGVhbnVwIHRoZSBidWlsZCBvdXRwdXQKCjIwMDMtMTItMTggMTc6MzYgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogYnVnIGZpeAoKMjAwMy0xMi0xOCAxMzo0MCAgYW5keQoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFUlI6IFJlbW92ZSBkZWJ1ZwoKMjAwMy0xMi0xOCAxMzoxNyAgYW5keQoKCSogU291cmNlLzogY21HbG9iYWxDb2RlV2FycmlvckdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsQ29kZVdhcnJpb3JHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBGaXggQnVnICM0NDUgLSBTYW1lCgkgIGxpYnJhcnkgaW4gbXVsdGlwbGUgcHJvamVjdHMgY2FuIGNhdXNlIHByb2JsZW1zCgoyMDAzLTEyLTE4IDEzOjA0ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUxpbmtMaWJyYXJpZXNDb21tYW5kLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsIGNtVGFyZ2V0LmN4eCwKCSAgY21UYXJnZXRMaW5rTGlicmFyaWVzQ29tbWFuZC5jeHg6IEJVRzogRml4IEJ1ZyAjNDQ1IC0gU2FtZQoJICBsaWJyYXJ5IGluIG11bHRpcGxlIHByb2plY3RzIGNhbiBjYXVzZSBwcm9ibGVtcwoKMjAwMy0xMi0xNyAwOTo0MiAgYW5keQoKCSogTW9kdWxlcy9EYXJ0LmNtYWtlOiBFTkg6IE1hcmsgdGhpbmdzIGFzIGFkdmFuY2VkCgoyMDAzLTEyLTE3IDA5OjQwICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVSUjogUmVtb3ZlIGRlYnVnCgoyMDAzLTEyLTE3IDA5OjI1ICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogQWRkIG1vcmUgZXJyb3IgcmVndWxhciBleHByZXNzaW9ucwoKMjAwMy0xMi0xNyAwODo0OSAga2luZwoKCSogU291cmNlLzogY21UcnlDb21waWxlQ29tbWFuZC5jeHgsIGNtVHJ5Q29tcGlsZUNvbW1hbmQuaDogQlVHIzQzOToKCSAgTWVyZ2luZyBmaXggdG8gMS44IGJyYW5jaC4KCjIwMDMtMTItMTcgMDg6NDUgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZTogQlVHIzQzODogTWVyZ2luZyBmaXggdG8gMS44CgkgIGJyYW5jaC4KCjIwMDMtMTItMTcgMDg6MzYgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogYmV0dGVyIGN0ZXN0IGRyaXZlciBhbmQgcmV0dXJuIGNvZGVzCgoyMDAzLTEyLTE3IDA4OjMwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuaHh4LmluOiBFUlI6IHN0ZCAtPiBrd3N5c19zdGQuCgoyMDAzLTEyLTE3IDA4OjIxICBtYXJ0aW5rCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2U6IGZpeCBpbiBxdW90aW5nCgoyMDAzLTEyLTE2IDE3OjMwICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogUHVyaWZ5IHN1cHBvcnQgc2hvdWxkIHdvcmsgbm93LgoKMjAwMy0xMi0xNiAxNzoyMCAga2luZwoKCSogU291cmNlL2t3c3lzLzogUHJvY2Vzcy5oLmluLCBQcm9jZXNzVU5JWC5jLCBQcm9jZXNzV2luMzIuYzogRU5IOgoJICBBZGRlZCBTZXRQaXBlU2hhcmVkIG1ldGhvZCB0byBhbGxvdyBzdGRvdXQgYW5kIHN0ZGVyciBwaXBlcyB0byBiZQoJICBzaGFyZWQgd2l0aCB0aGUgcGFyZW50IHByb2Nlc3MuCgoyMDAzLTEyLTE2IDE2OjE5ICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogQWRkIHN1cHByZXNzaW9uIGZpbGUgc3VwcG9ydCBmb3IKCSAgdmFsZ3JpbmQKCjIwMDMtMTItMTYgMTY6MTkgIGFuZHkKCgkqIE1vZHVsZXMvOiBEYXJ0LmNtYWtlLCBEYXJ0Q29uZmlndXJhdGlvbi50Y2wuaW46IEVOSDogQWRkCgkgIHN1cHByZXNzaW9uIGZpbGUKCjIwMDMtMTItMTYgMTU6NTUgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IFN5c3RlbVRvb2xzLmN4eCwgU3lzdGVtVG9vbHMuaHh4LmluOiBFTkg6IEFkZGVkCgkgIEdldEVudiBtZXRob2QuCgoyMDAzLTEyLTE2IDE1OjM4ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQ6IEVOSDogVXBkYXRlZCBjb3B5cmlnaHQuCgoyMDAzLTEyLTE2IDE1OjM3ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQ6IEVSUjogU3lzdGVtVG9vbHMgbm93IGRlcGVuZHMgb24KCSAgRGlyZWN0b3J5LgoKMjAwMy0xMi0xNiAxNDo0MyAgYW5keQoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaDogRU5IOiBTZXZlcmFsIGNsZWFudXBzIGFuZAoJICBhdHRlbXB0IHRvIGRvIHB1cmlmeSBzdXBwb3J0CgoyMDAzLTEyLTE2IDE0OjI2ICBtYXJ0aW5rCgoJKiBTb3VyY2Uva3dzeXMvOiBTeXN0ZW1Ub29scy5jeHgsIFN5c3RlbVRvb2xzLmh4eC5pbjogaXMgdGhlcmUgYW55CgkgIGNoYW5jZSB0aGlzd2lsbCB3b3JrIG9uIGFsbCBwbGF0Zm9ybXMgaG1tbSBhZGRlZCByZW1vdmVBZGlyZWN0b3J5CgoyMDAzLTEyLTE2IDEzOjE4ICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogQ2xlYW51cCBvdXRwdXQKCjIwMDMtMTItMTUgMTg6NDQgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRVJSOiBGaXggY292ZXJhZ2Ugb24gZ2NjIDIuOTUKCjIwMDMtMTItMTUgMTg6MzIgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRVJSOiBPaywgdGhpbmsgYmVmb3JlIGNvbW1pdC4uLiBUaGlzIGZpeGVzCgkgIHR3byBidWlsZCBwcm9ibGVtcy4gVGhlIG1pc3NpbmcgYnJhY2UgYW5kIHRoZSBzdGQ6OnN0cmluZwoJICBzaWduYXR1cmUgaXMgZGlmZmVyZW50IG9uIGdjYyAyLjk1IGFuZCBnY2MgMy4zLgoKMjAwMy0xMi0xNSAxODowMyAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFUlI6IElubmVyIGxvb3AgdXNlZCB0aGUgc2FtZSBjb3VudGVyIGFzCgkgIG91dGVyLiBCcm9rZSBjb3ZlcmFnZSBjb2RlCgoyMDAzLTEyLTE1IDE3OjI4ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21DVGVzdC5oOiBFUlI6IFNURCBmaXhlcwoKMjAwMy0xMi0xNSAxNzoyNSAgYW5keQoKCSogTW9kdWxlcy9EYXJ0LmNtYWtlLCBNb2R1bGVzL0RhcnRDb25maWd1cmF0aW9uLnRjbC5pbiwKCSAgU291cmNlL2NtQ1Rlc3QuY3h4LCBTb3VyY2UvY21DVGVzdC5oLCBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHgsCgkgIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmgsIFNvdXJjZS9jdGVzdC5jeHgsCgkgIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3VibWl0LmN4eCwgU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXQuaCwKCSAgU291cmNlL0N1cnNlc0RpYWxvZy9jbUN1cnNlc1BhdGhXaWRnZXQuY3h4OiBFTkg6IEFkZCBpbml0aWFsCgkgIG1lbW9yeSBjaGVjayBzdXBwb3J0IHdoaWNoIHdvcmtzIGZvciBWYWxncmluZAoKMjAwMy0xMi0xNSAxNjozMCAga2luZwoKCSogU291cmNlL2t3c3lzLzogQmFzZTY0LmMsIEJhc2U2NC5oLmluLCBDb25maWd1cmUuaC5pbiwKCSAgQ29uZmlndXJlLmh4eC5pbiwgQ29weXJpZ2h0LnR4dCwgRGlyZWN0b3J5LmN4eCwgRGlyZWN0b3J5Lmh4eC5pbiwKCSAgRW5jb2RlRXhlY3V0YWJsZS5jLCBQcm9jZXNzLmguaW4sIFByb2Nlc3NGd2Q5eC5jLCBQcm9jZXNzVU5JWC5jLAoJICBQcm9jZXNzV2luMzIuYywgUmVndWxhckV4cHJlc3Npb24uY3h4LCBSZWd1bGFyRXhwcmVzc2lvbi5oeHguaW4sCgkgIFN5c3RlbVRvb2xzLmN4eCwgU3lzdGVtVG9vbHMuaHh4LmluLCBrd3N5c0hlYWRlckR1bXAucGwsCgkgIGt3c3lzUHJpdmF0ZS5oLCBrd3N5c19zdGQuaC5pbiwga3dzeXNfc3RkX2ZzdHJlYW0uaC5pbiwKCSAga3dzeXNfc3RkX2lvc2Z3ZC5oLmluLCBrd3N5c19zdGRfaW9zdHJlYW0uaC5pbiwKCSAga3dzeXNfc3RkX3NzdHJlYW0uaC5pbiwgdGVzdDEuY3h4LCB0ZXN0UHJvY2Vzcy5jOiBFTkg6IFVwZGF0ZWQKCSAgY29weXJpZ2h0LgoKMjAwMy0xMi0xNSAxMjo1NiAgbWFydGluawoKCSogU291cmNlL2NtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuY3h4OiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAwMy0xMi0xNSAxMjowMiAgaG9mZm1hbgoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFTkg6IGZpeCBmb3IgZ2NjIDMuMQoKMjAwMy0xMi0xNCAxMzo0OCAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jOiBTVFlMRTogRml4ZWQgdHlwbyBvbiBjb21tZW50LgoKMjAwMy0xMi0xNCAxMzo0NyAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jOiBFTkg6IFVzaW5nIENyZWF0ZUZpbGUgd2l0aAoJICBGSUxFX0ZMQUdfREVMRVRFX09OX0NMT1NFIHRvIGF1dG9tYXRpY2FsbHkgZGVsZXRlIHRoZSBXaW45eAoJICBmb3J3YXJkaW5nIGV4ZWN1dGFibGUgZXZlbiBpZiB0aGUgcGFyZW50IHByb2Nlc3MgY3Jhc2hlcy4KCjIwMDMtMTItMTQgMTM6NDQgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c1ByaXZhdGUuaDogRU5IOiBBZGRlZCBLV1NZU19OQU1FU1BBQ0VfU1RSSU5HCgkgIG1hY3JvLgoKMjAwMy0xMi0xNCAxMzowMyAga2luZwoKCSogU291cmNlL2t3c3lzL0NvbmZpZ3VyZS5oLmluOiBCVUc6IEZpeGVkIGRsbGltcG9ydC4KCjIwMDMtMTItMTMgMTQ6MTkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jOiBFUlI6IEFkZGVkIGluY2x1ZGUgb2Ygc3lzL3N0YXQuaCBmb3IKCSAgb3BlbiBmdW5jdGlvbnMgbW9kZSBiaXRzLgoKMjAwMy0xMi0xMyAxNDoxMyAga2luZwoKCSogU291cmNlL2t3c3lzLzogUHJvY2Vzcy5oLmluLCBQcm9jZXNzVU5JWC5jLCBQcm9jZXNzV2luMzIuYzogRU5IOgoJICBBZGRlZCBTZXRQaXBlRmlsZSBtZXRob2QgdG8gYWxsb3cgdGhlIHByb2Nlc3MgcGlwZWxpbmUgc3RkaW4sCgkgIHN0ZG91dCwgYW5kIHN0ZGVyciB0byBiZSByZWRpcmVjdGVkIGZyb20vdG8gZmlsZXMuCgoyMDAzLTEyLTEzIDEwOjM2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBQcm9jZXNzVU5JWC5jLCBQcm9jZXNzV2luMzIuYzogRU5IOiBDb2RlIGlzIG5vdwoJICByb2J1c3QgdG8gTmV3IG1ldGhvZCByZXR1cm5pbmcgTlVMTC4KCjIwMDMtMTItMTIgMTU6NDIgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vSVJJWDY0LmNtYWtlOiBFTkg6IEFkZGVkCgkgIENNQUtFX1NIQVJFRF9MSUJSQVJZX1NPTkFNRV9DX0ZMQUcgYW5kCgkgIENNQUtFX1NIQVJFRF9MSUJSQVJZX1NPTkFNRV9DWFhfRkxBRyBzZXR0aW5ncyB0byBlbmFibGUgc2hhcmVkCgkgIGxpYnJhcnkgdmVyc2lvbiBzdXBwb3J0IGZvciBTR0kuCgoyMDAzLTEyLTEyIDE0OjQ0ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0hQLVVYLmNtYWtlOiBFTkg6IEFkZGVkCgkgIENNQUtFX1NIQVJFRF9MSUJSQVJZX1NPTkFNRV9GTEFHIHNldHRpbmcgdG8gZW5hYmxlIHNoYXJlZCBsaWJyYXJ5CgkgIHZlcnNpb24gc3VwcG9ydCBmb3IgSFAtVVguCgoyMDAzLTEyLTEyIDE0OjM0ICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlRGVmYXVsdE1ha2VSdWxlVmFyaWFibGVzLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1N1bk9TLmNtYWtlLAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIE1vZHVsZXMvUGxhdGZvcm0vTGludXguY21ha2U6IEVOSDogVXNpbmcgc2VwYXJhdGUKCSAgQ01BS0VfU0hBUkVEX0xJQlJBUllfU09OQU1FIGZsYWdzIGZvciBDIGFuZCBDWFguCgoyMDAzLTEyLTEyIDE0OjIwICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1N1bk9TLmNtYWtlOiBFTkg6IEFkZGVkCgkgIENNQUtFX1NIQVJFRF9MSUJSQVJZX1NPTkFNRV9GTEFHIHNldHRpbmcgdG8gZW5hYmxlIHNoYXJlZCBsaWJyYXJ5CgkgIHZlcnNpb24gc3VwcG9ydCBmb3IgU3VuT1MuCgoyMDAzLTEyLTEyIDA5OjEyICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogQ01ha2VDQ29tcGlsZXIuY21ha2UuaW4sIENNYWtlQ1hYQ29tcGlsZXIuY21ha2UuaW4sCgkgIENNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLCBDTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlOgoJICBFTkg6IHJlZHVjZSB0aGUgbnVtYmVyIG9mIHRpbWVzIGdudSBpcyB0ZXN0ZWQgZm9yCgoyMDAzLTEyLTEyIDA4OjA5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IG5vdyBjYW4gZG8gZXh0cmEgdXBkYXRlcwoKMjAwMy0xMi0xMSAxNTozOCAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogQlVHOjQyNyB0cnljb21waWxlIHRhcmdldCBtdXN0IGJlCgkgIGV4ZQoKMjAwMy0xMi0xMSAxMDoxMSAgaG9mZm1hbgoKCSogU291cmNlL2NtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4OiBCVUc6IG5lZWQgYSBkdW1teSBmaXJzdCBhcmd1bWVudAoJICB0byBjbWFrZQoKMjAwMy0xMi0xMSAwODo1NyAgbWFydGluawoKCSogU291cmNlLzogY21UcnlDb21waWxlQ29tbWFuZC5jeHgsIGNtVHJ5Q29tcGlsZUNvbW1hbmQuaDogZml4IHRvCgkgIHRoZSBzaWduYXR1cmUgYW5kIGFyZ3VtZW50IHBhcnNpbmcKCjIwMDMtMTItMTAgMTk6NDcgIGFuZHkKCgkqIFNvdXJjZS86IGNtYWtlLmN4eCwgY21ha2VtYWluLmN4eDogRU5IOiBBcmd1bWVudCBmb3Igc2NyaXB0IG1vZGUKCSAgaXMgLVAgKHByb2Nlc3MpIGFuZCB0YWtlIG91dCB0aGUgYXV0b21hdGljIHNjcmlwdCBtb2RlCgoyMDAzLTEyLTEwIDA4OjU1ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5oOiBCVUc6IHJvbGwgYmFjayBjaGFuZ2UgZm9yCgkgIHZhcmlhYmxlIHVzZWQgaW4gcGF0aAoKMjAwMy0xMi0wOSAxNDozMyAga2luZwoKCSogTW9kdWxlcy9GaW5kT3BlbkdMLmNtYWtlOiBFTkg6IEFkZGluZyAvdXNyL2luY2x1ZGUvdzMyYXBpIGZvcgoJICBPcGVuR0wgaGVhZGVyIHNlYXJjaC4KCjIwMDMtMTItMDkgMTE6NDQgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEJVRzogRmlsZSBjb21wYXJpc29uIG9uIHdpbmRvd3MKCSAgbXVzdCB0ZXN0IHRoZSB2b2x1bWUgc2VyaWFsIG51bWJlciBhcyB3ZWxsIGFzIHRoZSBmaWxlIGluZGV4LgoKMjAwMy0xMi0wOSAxMDozMyAgbWFydGluawoKCSogRGFydENvbmZpZy5jbWFrZTogbW92ZSBzdGFydCB0aW1lIHVwIG9uZSBob3VyCgoyMDAzLTEyLTA5IDA5OjE2ICBraW5nCgoJKiBTb3VyY2UvOiBjbUxpc3RGaWxlTGV4ZXIuYywgY21MaXN0RmlsZUxleGVyLmluLmw6IEVSUjogUmVtb3ZlZAoJICBZWV9CUkVBSyBzdGF0ZW1lbnRzIGFmdGVyIHJldHVybiBzdGF0ZW1lbnRzIGJlY2F1c2UgdGhleSBhcmUKCSAgdW5yZWFjaGFibGUuCgoyMDAzLTEyLTA5IDA5OjExICBraW5nCgoJKiBTb3VyY2UvOiBjbUxpc3RGaWxlTGV4ZXIuYywgY21MaXN0RmlsZUxleGVyLmluLmw6IEVSUjogQWRkZWQKCSAgbWlzc2luZyBzdGF0aWMga2V5d29yZCB0byBjbUxpc3RGaWxlTGV4ZXJTZXRUb2tlbiBhbmQKCSAgY21MaXN0RmlsZUxleGVyQXBwZW5kIGRlZmluaXRpb25zLgoKMjAwMy0xMi0wOSAwODozMiAgaG9mZm1hbgoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuaDogRU5IOiB1c2UgdmFyaWFibGVzIGZvciBvdXRwdXQKCSAgcGF0aHMKCjIwMDMtMTItMDkgMDg6MjIgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogc29tZSB1cGRhdGVzIHRvIGhhbmRsZSBpbmxpbmUgY2FjaGUgZmlsZXMgYW5kCgkgIGVudmlyb25tZW50IHZhcmlhYmxlcwoKMjAwMy0xMi0wOCAxODowNSAga2luZwoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBCVUc6IFJlaW1wbGVtZW50ZWQgRXhwYW5kTGlzdEFyZ3VtZW50cwoJICB0byBwcm9wZXJseSBoYW5kbGUgZXNjYXBlZCBiYWNrc2xhc2hlcyB0aGF0IG9jY3VyIHJpZ2h0IGJlZm9yZQoJICBzZW1pY29sb25zLiAgVGhpcyBpcyBpbXBvcnRhbnQgZm9yIGxpc3RzIG9mIHBhdGhzIGVuZGluZyBpbgoJICBiYWNrc2xhc2hlcyBvbiB3aW5kb3dzLgoKMjAwMy0xMi0wOCAxNjoxMCAgbWFydGluawoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBidWcgZml4IHRvIGVzY2FwZWQgc2VtaWNvbG9ucyBpbgoJICBhcmd1bWVudHMKCjIwMDMtMTItMDggMTU6MDUgIGtpbmcKCgkqIFNvdXJjZS9jbUxpc3RGaWxlTGV4ZXIuaW4ubDogRVJSOiBGaXhlZCBjb21tZW50IGFib3V0IGhvdyB0byBydW4KCSAgZmxleCB0byByZWZsZWN0IG5ldyBuYW1lIG9mIHRoaXMgZmlsZS4KCjIwMDMtMTItMDggMTQ6MjAgIGtpbmcKCgkqIFNvdXJjZS86IGNtTGlzdEZpbGVMZXhlci5pbi5sLCBjbUxpc3RGaWxlTGV4ZXIubDogRVJSOiBSZW5hbWluZwoJICBjbUxpc3RGaWxlTGV4ZXIubCB0byBjbUxpc3RGaWxlTGV4ZXIuaW4ubCB0byBhdm9pZCBtYWtlIHByb2dyYW1zCgkgIHRyeWluZyB0byBydW4gbGV4IGF1dG9tYXRpY2FsbHkgd2huIGJ1aWxkaW5nIGNtTGlzdEZpbGVMZXhlci5jLgoKMjAwMy0xMi0wOCAxNDoxMSAgYW5keQoKCSogYm9vdHN0cmFwOiBFTkg6IEZpeCBib290c3RyYXAgdG8gaGFuZGxlIGxleCBwYXJzZXIKCjIwMDMtMTItMDggMTM6NDAgIGtpbmcKCgkqIFNvdXJjZS86IGNtTGlzdEZpbGVMZXhlci5jLCBjbUxpc3RGaWxlTGV4ZXIubDogRVJSOiBXZSBtdXN0CgkgIGRlZmluZSBZWV9OT19VTklTVERfSCB0byBidWlsZCBvbiB3aW5kb3dzLgoKMjAwMy0xMi0wOCAxMzozNiAga2luZwoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIGNtTGlzdEZpbGVDYWNoZS5jeHgsIGNtTGlzdEZpbGVDYWNoZS5oLAoJICBjbUxpc3RGaWxlTGV4ZXIuYywgY21MaXN0RmlsZUxleGVyLmgsIGNtTGlzdEZpbGVMZXhlci5sOiBFTkg6CgkgIFVzaW5nIGxleC1iYXNlZCB0b2tlbml6ZXIgYW5kIGEgc2ltcGxlIHJlY3Vyc2l2ZS1kZXNjZW50IHBhcnNlcgoJICBpbiBwbGFjZSBvZiB0aGUgb2xkIGhhbmQtY29kZWQgcGFyc2VyIGZvciBDTWFrZSBsaXN0ZmlsZXMuCgoyMDAzLTEyLTA4IDExOjM1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQ6IFNUWUxFOiBSZW1vdmVkIHRyYWlsaW5nIHdoaXRlc3BhY2UuCgoyMDAzLTEyLTA4IDExOjMxICBraW5nCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IEltcHJvdmVkIGVycm9yIG1lc3NhZ2VzIHdoZW4gc291cmNlIHRyZWUKCSAgZG9lcyBub3QgaGF2ZSBhIENNYWtlTGlzdHMudHh0IGZpbGUuCU5vIG1hdHRlciBob3cgbWFueSBjYXNlcyB3ZQoJICBjaGVjaywgdGhlcmUgYWx3YXlzIHNlZW1zIHRvIGJlIGEgdXNlciB0aGF0IGZpbmRzIGEgY2FzZSB0aGF0CgkgIGdpdmVzIGEgY29uZnVzaW5nIGVycm9yIG1lc3NhZ2UuLi4KCjIwMDMtMTItMDggMTE6MjMgIGFuZHkKCgkqIE1vZHVsZXMvRGFydC5jbWFrZSwgTW9kdWxlcy9EYXJ0Q29uZmlndXJhdGlvbi50Y2wuaW4sCgkgIFNvdXJjZS9jbUNUZXN0LmN4eDogRU5IOiBJbXByb3ZlIGNvdmVyYWdlIG9uIHN5c3RlbXMgd2l0aAoJICBtdWx0aXBsZSBnY292IGNvbW1hbmRzCgoyMDAzLTEyLTA3IDE0OjA5ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBQcm9jZXNzLmguaW4sIFByb2Nlc3NVTklYLmMsIFByb2Nlc3NXaW4zMi5jOiBFTkg6CgkgIENsZWFuZWQgdXAgcGlwZSBudW1iZXJpbmcuCgoyMDAzLTEyLTA1IDE2OjM5ICBraW5nCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogVXNpbmcgY21MaXN0RmlsZUNhY2hlIHRvIHJlYWQgdGhlCgkgIERhcnRUZXN0ZmlsZSBpbnN0ZWFkIG9mIGR1cGxpY2F0aW5nIHRoZSBwYXJzZSBsb29wLgoKMjAwMy0xMi0wNSAxNDo1MSAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzX3N0ZC5oLmluOiBFUlI6IE5lZWQgdG8gaW5jbHVkZSBDb25maWd1cmUuaHh4CgkgIHRvIGdldCBrd3N5c19zdGQgZGVmaW5pdGlvbi4KCjIwMDMtMTItMDUgMTE6NTMgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbVN5c3RlbVRvb2xzLmN4eCwga3dzeXMvUHJvY2Vzcy5oLmluLAoJICBrd3N5cy9Qcm9jZXNzVU5JWC5jLCBrd3N5cy9Qcm9jZXNzV2luMzIuYywga3dzeXMvdGVzdDEuY3h4LAoJICBrd3N5cy90ZXN0UHJvY2Vzcy5jOiBFTkg6IFJlbW92ZWQgcGlwZSBzZWxlY3Rpb24gYXJndW1lbnQgZnJvbQoJICBXYWl0Rm9yRGF0YSBtZXRob2QgaW4ga3dzeXNQcm9jZXNzLiAgVGhpcyBncmVhdGx5IHNpbXBsaWZpZXMgaXRzCgkgIHVzZS4KCjIwMDMtMTItMDUgMTE6MzcgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IFByb2Nlc3MuaC5pbiwgUHJvY2Vzc0Z3ZDl4LmMsIFByb2Nlc3NXaW4zMi5jOgoJICBTVFlMRTogUmVtb3ZlZCB0cmFpbGluZyB3aGl0ZXNwYWNlLgoKMjAwMy0xMi0wNSAxMToxOSAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jOiBCVUc6IFByb2Nlc3Mgc3RhcnR1cC1pbmZvIHN0cnVjdAoJICBkd0ZsYWdzIHdlcmUgYmVpbmcgc2V0IGluY29ycmVjdGx5IGR1ZSB0byBhIGNoYW5nZSBpbiBzdGF0ZW1lbnQKCSAgb3JkZXIuCgoyMDAzLTEyLTA1IDEwOjQ1ICBraW5nCgoJKiBEb2NzL2NtYWtlLW1vZGUuZWw6IEVOSDogTmV3IGluZGVudGF0aW9uIGltcGxlbWVudGF0aW9uIHRvCgkgIHN1cHBvcnQgbXVsdGktbGluZSBzdHJpbmdzLgoKMjAwMy0xMi0wNCAxNDozNCAga2luZwoKCSogRG9jcy9jbWFrZS1tb2RlLmVsOiBTVFlMRTogUmVtb3ZlZCB0cmFpbGluZyB3aGl0ZXNwYWNlLgoKMjAwMy0xMi0wNCAxMzo1NiAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NVTklYLmM6IEVSUjogQWRkZWQgbWlzc2luZyBzdGF0aWMgc3RvcmFnZQoJICBjbGFzcyBzcGVjaWZpZXIgZm9yIGt3c3lzUHJvY2Vzc0NyZWF0ZS4KCjIwMDMtMTItMDMgMTQ6MTYgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogc29tZSBmaXhlcyB0byB0ZXN0IGhhcm5lcwoKMjAwMy0xMi0wMyAxMzozNyAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NVTklYLmM6IEVSUjogU29tZSBwbGF0Zm9ybXMgZGVmaW5lIHN0ZGluLAoJICBzdGRvdXQsIGFuZCBzdGRlcnIgYXMgbWFjcm9zLiAgUmVuYW1pbmcgdGhlc2Ugc3ltYm9scyB0byBTdGRJbiwKCSAgU3RkT3V0LCBhbmQgU3RkRXJyLgoKMjAwMy0xMi0wMyAwOToyMCAga2luZwoKCSogU291cmNlL2t3c3lzLzogUHJvY2Vzcy5oLmluLCBQcm9jZXNzRndkOXguYywgUHJvY2Vzc1VOSVguYywKCSAgUHJvY2Vzc1dpbjMyLmM6IEVOSDogTWVyZ2VkIGNoYW5nZXMgZnJvbSBLV1N5cy1NdWx0aVByb2Nlc3MtYnAgdG8KCSAgS1dTeXMtTXVsdGlQcm9jZXNzLWIydC0xLW1wIHRvIG1haW4gdHJlZS4gIFRoaXMgaW50cm9kdWNlcwoJICBzdXBwb3J0IGZvciBwcm9jZXNzIHBpcGVsaW5lcy4KCjIwMDMtMTItMDMgMDk6MTIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzLmguaW46IEVSUjogQWRkZWQgbWlzc2luZyBtYWNybyBkZWZpbml0aW9uCgkgIGZvciBrd3N5c1Byb2Nlc3NfQWRkQ29tbWFuZC4KCjIwMDMtMTItMDIgMTc6MjMgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IEVOSDogQWRkZWQgZG9jdW1lbnRhdGlvbgoJICBhYm91dCBsb2NhdGlvbiBvZiBjbUNQbHVnaW5BUEkuaCBpbiBjeWd3aW4gcGFja2FnZS4KCjIwMDMtMTItMDIgMTc6MTYgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlL2N5Z3dpbi1wYWNrYWdlLnNoLmluOiBCVUc6IE5vIGxvbmdlciBuZWVkIHRvCgkgIGNvcHkgQ29weXJpZ2h0LnR4dCBpbnRvIGRvYyBkaXJlY3RvcnkuICBJdCBpcyBkb25lIGJ5IHRoZSBjbWFrZQoJICBpbnN0YWxsYXRpb24uCgoyMDAzLTEyLTAyIDE3OjE0ICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jeWd3aW4tcGFja2FnZS5zaC5pbjogQlVHOiBOZWVkIHRvIHBhc3MKCSAgZGF0YWRpci9kb2NkaXIvbWFuZGlyIHRvIGJvb3RzdHJhcCBzY3JpcHQgaW5zdGVhZCBvZiB3cml0aW5nIGluCgkgIHRoZSBjYWNoZS4KCjIwMDMtMTItMDIgMTY6NTcgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlL2N5Z3dpbi1wYWNrYWdlLnNoLmluOiBFTkg6IEN5Z3dpbiBub3cgdXNlcwoJICAvdXNyL3NoYXJlL2RvYyBpbnN0ZWFkIG9mIC91c3IvZG9jLgoKMjAwMy0xMi0wMiAxNjo1NyAga2luZwoKCSogQ01ha2VMaXN0cy50eHQsIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IEVOSDogVXBkYXRpbmcKCSAgdmVyc2lvbiBudW1iZXIgdG8gMS44LjMuCgoyMDAzLTEyLTAyIDE2OjUwICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IGJldHRlciBlcnJvciBoYW5kbGluZwoKMjAwMy0xMi0wMSAxOToyNSAgbWFydGluawoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaCwgY3Rlc3QuY3h4OiBhIHN0YXJ0IG9uIHRoZQoJICBkYXNoYm9hcmQgZHJpdmVyCgoyMDAzLTEyLTAxIDEzOjA3ICBraW5nCgoJKiBNb2R1bGVzLzogQ01ha2VUZXN0Q0NvbXBpbGVyLmNtYWtlLCBDTWFrZVRlc3RDWFhDb21waWxlci5jbWFrZToKCSAgQlVHIzQxMTogTWVyZ2VkIGZpeCB0byAxLjggYnJhbmNoLgoKMjAwMy0xMi0wMSAxMzowNiAga2luZwoKCSogTW9kdWxlcy86IENNYWtlVGVzdENDb21waWxlci5jbWFrZSwgQ01ha2VUZXN0Q1hYQ29tcGlsZXIuY21ha2U6CgkgIEJVRyM0MTE6IFJlLW9yZGVyaW5nIHN0YXRlbWVudHMgc28gZXJyb3JzIHNob3cgdXAgaW4KCSAgQ01ha2VFcnJvci5sb2cuCgoyMDAzLTExLTI4IDE1OjM3ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1dpbjMyLmM6IEVOSDogQ2xlYW5lZCB1cCBpbXBsZW1lbnRhdGlvbiBvZgoJICBzdGRlcnIgYW5kIHdpbjl4IGZvcndhcmRpbmcgZXhlY3V0YWJsZSBlcnJvciBwaXBlLgoKMjAwMy0xMS0yOCAxNDoyMSAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jOiBFTkg6IFJlbW92aW5nIHNwZWNpYWwgdGVybWluYXRpb24KCSAgcGlwZSBmcm9tIFdpbmRvd3MgaW1wbGVtZW50YXRpb24uICBJdCBkb2VzIG5vdCBuZWVkIGl0IGJlY2F1c2UKCSAgV2FpdEZvck11bHRpcGxlT2JqZWN0cyBjYW4gd2FpdCB3aXRoIGEgdGltZW91dCBmb3IgdGhlIHByb2Nlc3MgdG8KCSAgdGVybWluYXRlLiAgVGhpcyBpcyBub3QgdGhlIGNhc2UgaW4gVU5JWCBiZWNhdXNlIHdhaXRwaWQgaGFzIG5vCgkgIHRpbWVvdXQsIHNvIHdlIG5lZWQgdGhlIHRlcm1pbmF0aW9uIHBpcGUgdGhlcmUuCgoyMDAzLTExLTI4IDE0OjA4ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1dpbjMyLmM6IEJVRzogUmVtb3ZlZCBzdHJheSBkZWJ1Z2dpbmcgY29kZQoJICB0aGF0IGNhdXNlZCB3aW45eCBtb2RlIHRvIGFsd2F5cyBiZSB1c2VkLgoKMjAwMy0xMS0yOCAxNDowMiAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jOiBFTkg6IEFkZGVkIHNwZWNpYWwgdGVybWluYXRpb24gcGlwZQoJICB0byBhbGxvdyB0aW1lb3V0IHRvIHdvcmsgZm9yIHByb2Nlc3NlcyB0aGF0IGNsb3NlIHRoZWlyIG91dHB1dAoJICBwaXBlcy4KCjIwMDMtMTEtMjggMTM6MDcgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzV2luMzIuYzogRU5IOiBFcnJvciBtZXNzYWdlcyBmcm9tIHRoZQoJICBmb3J3YXJkaW5nIGV4ZWN1dGFibGUgYXJlIG5vdyByZWFkIGNvbXBsZXRlbHkgZXZlbiBpZiB0aGV5IGFyZQoJICByZXBvcnRlZCBpbiBtdWx0aXBsZSBibG9ja3MuCgoyMDAzLTExLTI4IDEyOjU4ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1dpbjMyLmM6IEJVRzogRml4ZWQgZXJyb3IgbWVzc2FnZSB3aGVuCgkgIHByb2Nlc3MgY29udHJvbCBzdHJ1Y3R1cmUgaW5pdGlhbGl6YXRpb24gcnVucyBvdXQgb2YgbWVtb3J5LgoKMjAwMy0xMS0yOCAxMjo1MiAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jOiBFUlI6IFJlbW92ZWQgdXNlbGVzcyBpZihjb21tYW5kKSBpbgoJICBBZGRTdHJpbmcuCgoyMDAzLTExLTI4IDEyOjQ3ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1dpbjMyLmM6IEVOSDogUmVuYW1lZCBDTVBFXyogdG8gS1dTWVNQRV8qIGZvcgoJICBjb25zaXN0ZW5jeSB3aXRoIFByb2Nlc3NVTklYLmMuCgoyMDAzLTExLTI4IDEyOjQyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYzogQlVHOiBXaGVuIGEgY2hpbGQgZmFpbHMgdG8gZXhlYywgd2UKCSAgbmVlZCB0byByZWFkIHRoZSBlbnRpcmUgZXJyb3IgbWVzc2FnZSwgbm90IGp1c3QgdGhlIGZpcnN0IGJsb2NrLgoKMjAwMy0xMS0yOCAxMjozMSAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NVTklYLmM6IEVOSDogVU5JWCBpbXBsZW1lbnRhdGlvbiBvZiBwcm9jZXNzCgkgIHBpcGVsaW5lLgoKMjAwMy0xMS0yOCAxMDowOCAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NVTklYLmM6IEVOSDogSW1wbGVtZW50ZWQgU2V0Q29tbWFuZCBhbmQKCSAgQWRkQ29tbWFuZCBmb3IgbXVsdGlwbGUgcHJvY2VzcyBzdXBwb3J0LgoKMjAwMy0xMS0yOCAwOTo0OCAga2luZwoKCSogU291cmNlL2t3c3lzLzogUHJvY2Vzc1VOSVguYzogU1RZTEU6IFJlbW92ZWQgdHJhaWxpbmcgd2hpdGVzcGFjZS4KCjIwMDMtMTEtMjcgMjM6MDggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IFByb2Nlc3MuaC5pbiwgUHJvY2Vzc0Z3ZDl4LmMsIFByb2Nlc3NXaW4zMi5jOiBFTkg6CgkgIFdpbmRvd3MgaW1wbGVtZW50YXRpb24gb2YgcHJvY2VzcyBwaXBlbGluZS4KCjIwMDMtMTEtMjcgMTA6MjggIGtpbmcKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEJVRzogY21ha2Vfc3ltbGlua19saWJyYXJ5IHNob3VsZCByZXR1cm4gdGhlCgkgIGFjY3VtdWxhdGVkIHJlc3VsdCwgbm90IGp1c3QgMC4KCjIwMDMtMTEtMjYgMTc6NTkgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vTGludXguY21ha2U6IEVOSDogQWRkaW5nIGltcGxlbWVudGF0aW9uIG9mCgkgIHNoYXJlZCBsaWJyYXJ5IHZlcnNpb24gc3VwcG9ydCBvbiBVTklYLiAgVGhpcyBhZGRyZXNzZXMgdGhlCgkgIGZlYXR1cmUgcmVxdWVzdCBkZXNjcmliZWQgaW4gYnVnIzMyLgoKMjAwMy0xMS0yNiAxNzo1MiAga2luZwoKCSogTW9kdWxlcy9DTWFrZURlZmF1bHRNYWtlUnVsZVZhcmlhYmxlcy5jbWFrZTogRU5IOiBBZGRpbmcKCSAgaW1wbGVtZW50YXRpb24gb2Ygc2hhcmVkIGxpYnJhcnkgdmVyc2lvbiBzdXBwb3J0IG9uIFVOSVguICBUaGlzCgkgIGFkZHJlc3NlcyB0aGUgZmVhdHVyZSByZXF1ZXN0IGRlc2NyaWJlZCBpbiBidWcjMzIuCgoyMDAzLTExLTI2IDE3OjM4ICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5oOiBFTkg6IEFkZGluZyBpbXBsZW1lbnRhdGlvbiBvZgoJICBzaGFyZWQgbGlicmFyeSB2ZXJzaW9uIHN1cHBvcnQgb24gVU5JWC4gIFRoaXMgYWRkcmVzc2VzIHRoZQoJICBmZWF0dXJlIHJlcXVlc3QgZGVzY3JpYmVkIGluIGJ1ZyMzMi4KCjIwMDMtMTEtMjYgMTc6MzQgIGtpbmcKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEJVRzogVGhlIGNtYWtlX3N5bWxpbmtfbGlicmFyeSBjb21tYW5kIG5lZWRzIHRvCgkgIHJlbW92ZSBleGlzdGluZyBmaWxlcyBiZWZvcmUgY3JlYXRpbmcgbGlua3MuCgoyMDAzLTExLTI2IDE2OjM4ICBraW5nCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IEFkZGVkIHVuZG9jdW1lbnRlZCBjbWFrZV9zeW1saW5rX2xpYnJhcnkKCSAgdG8gaGVscCB3aXRoIGJ1aWxkaW5nIHZlcnNpb25lZCBzaGFyZWQgbGlicmFyaWVzLgoKMjAwMy0xMS0yNiAxNjoxNSAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogcmVtb3ZlIG1vcmUgd2FybmluZ3MKCjIwMDMtMTEtMjYgMTY6MTIgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaDogcmVtb3ZlIHdhcm5pbmdzCgoyMDAzLTExLTI2IDE2OjExICBraW5nCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEVSUjogRml4ZWQgdW51c2VkIHBhcmFtZXRlciB3YXJuaW5ncy4KCjIwMDMtMTEtMjYgMTY6MDQgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEVOSDogZml4IHNvbWUgd2FybmluZ3MKCjIwMDMtMTEtMjYgMTQ6NTIgIGtpbmcKCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmg6IEVOSDogQWRkZWQKCSAgQ3JlYXRlU3ltbGluayBtZXRob2QuCgoyMDAzLTExLTI2IDE0OjI5ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmg6CgkgIEVOSDogZ2VuZXJhdGUgYSBzbG4gYW5kIGRzdyBmaWxlIGZvciBlYWNoIHN1YiBwcm9qZWN0IGluIGEKCSAgcHJvamVjdAoKMjAwMy0xMS0yNiAxMTo0MSAga2luZwoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtU3lzdGVtVG9vbHMuY3h4OiBCVUc6IERvIG5vdCB1c2UKCSAgc3RkOjpzdHJpbmcgdG8gYWNjdW11bGF0ZSBvdXRwdXQuICBVc2Ugc3RkOjp2ZWN0b3IgaW5zdGVhZC4gIFRoaXMKCSAgaXMgbXVjaCBiZXR0ZXIgYXQgbWVtb3J5IG1hbmFnZW1lbnQuCgoyMDAzLTExLTI1IDE2OjE0ICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoOiBTVFlMRTogUmVtb3ZlZCB0cmFpbGluZwoJICB3aGl0ZXBzYWNlLgoKMjAwMy0xMS0yNCAxNTo1MSAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogQlVHOiBvc3hfaW5zdGFsbCBzaG91bGQgbWFrZQoJICB0aGUgUmVzb3VyY2VzIGRpcmVjdG9yeSBiZWZvcmUgY29weWluZyBmaWxlcyBpbnRvIGl0LgoKMjAwMy0xMS0yNCAxNDowNCAga2luZwoKCSogTW9kdWxlcy9GaW5kUHl0aG9uTGlicy5jbWFrZTogQlVHIzI2NjogTWVyZ2luZyAxLjE2LT4xLjE4IGNoYW5nZXMKCSAgdG8gMS44IGJyYW5jaC4KCjIwMDMtMTEtMjQgMTQ6MDEgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRyMzOTM6IE1lcmdpbmcKCSAgMS40MC0+MS40MSBjaGFuZ2VzIHRvIDEuOCBicmFuY2guCgoyMDAzLTExLTIxIDE0OjEzICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUcjMzkzOiBBZGRpbmcgWE1MCgkgIGVzY2FwaW5nIGZvciBhZGRpdGlvbmFsIHBlci1zb3VyY2UgY29tcGlsZSBmbGFncy4KCjIwMDMtMTEtMjEgMTM6MTIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFB5dGhvbkxpYnMuY21ha2U6IEJVRzogcmVtb3ZlIGp1bmsgY29kZQoKMjAwMy0xMS0yMCAxNTo0MSAga2luZwoKCSogTW9kdWxlcy9GaW5kUHl0aG9uTGlicy5jbWFrZTogQlVHIzI2NjogQWRkZWQgY3lnd2luIG5hbWVzIGZvciB0aGUKCSAgbGlicmFyeS4gIE1vZHVsZSBub3cgZG9jdW1lbnRzIG91dHB1dCBhcyBQWVRIT05fTElCUkFSSUVTIGluc3RlYWQKCSAgb2YgUFlUSE9OX0xJQlJBUlkuCgoyMDAzLTExLTIwIDE1OjMxICBraW5nCgoJKiBNb2R1bGVzL0ZpbmRQeXRob25MaWJzLmNtYWtlOiBTVFlMRTogUmVtb3ZlZCB0cmFpbGluZyB3aGl0ZXNwYWNlLgoKMjAwMy0xMS0yMCAxNTozMCAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS86IEFJWC5jbWFrZSwgQlNET1MuY21ha2UsIERhcndpbi5jbWFrZSwKCSAgRnJlZUJTRC5jbWFrZSwgSFAtVVguY21ha2UsIElSSVguY21ha2UsIElSSVg2NC5jbWFrZSwKCSAgTVAtUkFTLmNtYWtlLCBOZXRCU0QuY21ha2UsIE9TRjEuY21ha2UsIE9wZW5CU0QuY21ha2UsCgkgIFJJU0Nvcy5jbWFrZSwgU0NPX1NWLmNtYWtlLCBTSU5JWC5jbWFrZSwgU3VuT1MuY21ha2UsCgkgIFRydWU2NC5jbWFrZSwgVUxUUklYLmNtYWtlLCBVTklYX1NWLmNtYWtlLCBVbml4V2FyZS5jbWFrZSwKCSAgV2luZG93cy1nY2MuY21ha2UsIFhlbml4LmNtYWtlLCBnY2MuY21ha2U6IEJVRyMzODM6IE1lcmdlZCBmaXggdG8KCSAgMS44IGJyYW5jaC4KCjIwMDMtMTEtMTQgMTA6NDQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vOiBBSVguY21ha2UsIEJTRE9TLmNtYWtlLCBEYXJ3aW4uY21ha2UsCgkgIEZyZWVCU0QuY21ha2UsIEhQLVVYLmNtYWtlLCBJUklYLmNtYWtlLCBJUklYNjQuY21ha2UsCgkgIE1QLVJBUy5jbWFrZSwgTmV0QlNELmNtYWtlLCBPU0YxLmNtYWtlLCBPcGVuQlNELmNtYWtlLAoJICBSSVNDb3MuY21ha2UsIFNDT19TVi5jbWFrZSwgU0lOSVguY21ha2UsIFN1bk9TLmNtYWtlLAoJICBUcnVlNjQuY21ha2UsIFVMVFJJWC5jbWFrZSwgVU5JWF9TVi5jbWFrZSwgVW5peFdhcmUuY21ha2UsCgkgIFdpbmRvd3MtZ2NjLmNtYWtlLCBYZW5peC5jbWFrZSwgZ2NjLmNtYWtlOiBCVUc6IGZpeCBmb3IgYnVnIDM4MwoJICBnY2MgZmxhZ3MgYXJlIG5vdyBhbHdheXMgc2V0IGlmIHRoZSBjb21waWxlciBpcyBnbnUKCjIwMDMtMTEtMTMgMTU6NTQgIGtpbmcKCgkqIFNvdXJjZS9jbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuY3h4OiBCVUcjMzIxOiBNZXJnZWQgMS4xMy0+MS4xNAoJICBjaGFuZ2VzIHRvIDEuOCBicmFuY2guCgoyMDAzLTExLTEzIDE0OjQ1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmN4eDogZml4ZWQgYXJndW1lbnQgcGFyc2luZwoKMjAwMy0xMS0xMyAxMzo1MiAga2luZwoKCSogU291cmNlLzogY21GaW5kRmlsZUNvbW1hbmQuaCwgY21GaW5kTGlicmFyeUNvbW1hbmQuaCwKCSAgY21GaW5kUGF0aENvbW1hbmQuaCwgY21GaW5kUHJvZ3JhbUNvbW1hbmQuaDogRU5IOiBEb2N1bWVudGF0aW9uCgkgIGltcHJvdmVtZW50cyBmcm9tIG1haW4gdHJlZS4KCjIwMDMtMTEtMTMgMTM6NTEgIGtpbmcKCgkqIFNvdXJjZS86IGNtRmluZEZpbGVDb21tYW5kLmgsIGNtRmluZExpYnJhcnlDb21tYW5kLmgsCgkgIGNtRmluZFBhdGhDb21tYW5kLmgsIGNtRmluZFByb2dyYW1Db21tYW5kLmg6IEVOSDogRG9jdW1lbnRhdGlvbgoJICBpbXByb3ZlbWVudHMuCgoyMDAzLTExLTEzIDEyOjQzICBraW5nCgoJKiBNb2R1bGVzL0ZpbmRHVEsuY21ha2U6IEJVRyMyOTk6IE1lcmdlZCAxLjgtPjEuOSBjaGFuZ2VzIHRvIDEuOAoJICBicmFuY2guCgoyMDAzLTExLTEyIDE3OjQ0ICBraW5nCgoJKiBNb2R1bGVzL0ZpbmRHVEsuY21ha2U6IEJVRyMyOTk6IEdUS19nbW9kdWxlX0xJQlJBUlkgaXMgb3B0aW9uYWwKCSAganVzdCBsaWtlIEdUS19ndGhyZWFkX0xJQlJBUlkuCgoyMDAzLTExLTEyIDE2OjUzICBraW5nCgoJKiBNb2R1bGVzL1Rlc3RGb3JBTlNJRm9yU2NvcGUuY21ha2U6IEJVRyMzNzQ6IE1lcmdpbmcgMS4xMC0+MS4xMQoJICBjaGFuZ2VzIHRvIDEuOCBicmFuY2guCgoyMDAzLTExLTEyIDE2OjUzICBraW5nCgoJKiBNb2R1bGVzL1Rlc3RGb3JTVEROYW1lc3BhY2UuY21ha2U6IEJVRyMzNzQ6IE1lcmdpbmcgMS45LT4xLjEwCgkgIGNoYW5nZXMgdG8gMS44IGJyYW5jaC4KCjIwMDMtMTEtMTIgMTY6NTEgIGtpbmcKCgkqIE1vZHVsZXMvOiBUZXN0Rm9yQU5TSUZvclNjb3BlLmNtYWtlLCBUZXN0Rm9yU1RETmFtZXNwYWNlLmNtYWtlOgoJICBCVUcjMzc0OiBBZGRpbmcgT1VUUFVUX1ZBUklBQkxFIE9VVFBVVCB0byBUUllfQ09NUElMRSBjb21tYW5kcy4KCjIwMDMtMTEtMTIgMTQ6NTcgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VEZXBlbmQuY3h4OiBCVUcjMzczOiBNZXJnaW5nIDEuMzktPjEuNDAgdG8gMS44CgkgIGJyYW5jaC4KCjIwMDMtMTEtMTIgMTQ6MjAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VEZXBlbmQuY3h4OiBCVUc6IGZpeCBmb3IgYnVnIDM3MyBtYWtlIGRlcGVuZCBwcm9ibGVtCgoyMDAzLTExLTEyIDE0OjE3ICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eDogQlVHIzM3MTogTWVyZ2luZwoJICAxLjE5LT4xLjIwIGNoYW5nZXMgdG8gMS44IGJyYW5jaC4KCjIwMDMtMTEtMTIgMTQ6MTcgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUcjMzcxOiBNZXJnaW5nCgkgIDEuMTctPjEuMTggY2hhbmdlcyB0byAxLjggYnJhbmNoLgoKMjAwMy0xMS0xMiAxNDowNiAgYW5keQoKCSogU291cmNlLzogY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogRU5IOiBCdWcgIzM3MSAtIEFkZCBidWlsZAoJICBjb25maWd1cmF0aW9uIGZvciB0cnkgY29tcGlsZXMgdXNpbmcgY21ha2UgdmFyaWFibGUKCjIwMDMtMTEtMTIgMTA6MDMgIGtpbmcKCgkqIE1vZHVsZXMvRGFydC5jbWFrZTogQlVHIzE5OTogTWVyZ2luZyAxLjQ1LT4xLjQ2IGNoYW5nZXMgdG8gMS44CgkgIGJyYW5jaC4KCjIwMDMtMTEtMTIgMTA6MDAgIGtpbmcKCgkqIE1vZHVsZXMvRGFydC5jbWFrZTogQlVHIzE5OTogSWYKCSAgREFSVF9FWFBFUklNRU5UQUxfVVNFX1BST0pFQ1RfTkFNRSBpcyBzZXQsIHRoZSBQUk9KRUNUX05BTUUgd2lsbAoJICBiZSBpbmNsdWRlZCBpbiB0aGUgbmFtZSBvZiB0aGUgRXhwZXJpbWVudGFsIGFuZAoJICBFeHBlcmltZW50YWxTdWJtaXQgdGFyZ2V0cy4KCjIwMDMtMTEtMTEgMTI6NTMgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRyMzNjM6IE1lcmdlZAoJICAxLjM5LT4xLjQwIGNoYW5nZXMgdG8gMS44IGJyYW5jaC4KCjIwMDMtMTEtMTEgMTI6NTEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogZml4IGZvciAzNjMsCgkgIFZDTUlETFRvb2wgbm90IHVzZWQgZm9yIGlkbCBmaWxlcwoKMjAwMy0xMS0xMSAxMjo1MSAga2luZwoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBCVUcjMzQ0OiBNZXJnZWQgMS42Ni0+MS42NyB0byAxLjggYnJhbmNoLgoKMjAwMy0xMS0xMSAxMjozNiAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBCVUc6IEhhbmRsZSAtQyBwcm9wZXJseSBmb3IgZXhlY3V0YWJsZXMgdGhhdAoJICBhcmUgbm90IGluIHRoZSBwcm9qZWN0OyBGaXggQnVnICMzNDQgLSBjdGVzdCAtQyBEZWJ1ZwoKMjAwMy0xMS0xMSAxMTo0MiAga2luZwoKCSogU291cmNlL2NtQ1Rlc3QuaDogQlVHIzI1OTogTWVyZ2luZyAxLjE2LT4xLjE4IGNoYW5nZXMgdG8gMS44CgkgIGJyYW5jaC4KCjIwMDMtMTEtMTEgMTE6NDIgIGtpbmcKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogQlVHIzI1OTogTWVyZ2luZyAxLjYyLT4xLjYzIGFuZCAxLjY0LT4xLjY2CgkgIGNoYW5nZXMgdG8gMS44IGJyYW5jaC4KCjIwMDMtMTEtMTEgMTE6NDEgIGtpbmcKCgkqIFNvdXJjZS9jbUFkZFRlc3RDb21tYW5kLmN4eDogQlVHIzI1OTogTWVyZ2luZyAxLjE4LT4xLjIwIGNoYW5nZXMKCSAgdG8gMS44IGJyYW5jaC4KCjIwMDMtMTEtMDYgMTY6MzggIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRU5IOiBBZGQgd2FybmluZyBleGNlcHRpb24gZm9yIFZUSyB0eXBlCgkgIHdhcm5pbmcgYmxvY2tpbmcKCjIwMDMtMTEtMDUgMTU6MDIgIGFuZHkKCgkqIFV0aWxpdGllcy9Eb3h5Z2VuL2RveHlmaWxlLmluOiBFTkg6IEhhbmRsZSBrd3N5cyBwcm9wZXJseQoKMjAwMy0xMS0wNSAxNTowMiAgYW5keQoKCSogVXRpbGl0aWVzL0RveHlnZW4vQ01ha2VMaXN0cy50eHQ6IEVOSDogQ2xlYW51cC4gV2UgZG8gbm90IHJlYWxseQoJICBuZWVkIHRvIHVzZSB2dGsgZm9yIGRvY3VtZW50YXRpb24uIFdlIG9ubHkgbmVlZCB1dGlsaXRpZXMvZG94eWdlbgoJICBkaXJlY3RvcnkKCjIwMDMtMTEtMDUgMTM6MDMgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1iY2MzMi5jbWFrZSwKCSAgU291cmNlL2NtR2xvYmFsQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUcjMzQ2OiBNZXJnaW5nIGZpeAoJICBmcm9tIG1haW4gdHJlZSB0byAxLjggYnJhbmNoLgoKMjAwMy0xMS0wNSAxMToxOCAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWJjYzMyLmNtYWtlLAoJICBTb3VyY2UvY21HbG9iYWxCb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogZml4IGZvciBidWcgMzQ2LAoJICBib3JsYW5kIHNob3VsZCBub3cgc3VwcG9ydCBkYXNoIGluIHRoZSBwYXRoCgoyMDAzLTExLTA1IDEwOjQ2ICBraW5nCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEJVRyMyNTk6IEZpeCBmb3Igc3BhY2VzIGluIHBhdGhzIHRvCgkgIGV4ZWN1dGFibGUgYWRkZWQgdG8gcHJldmlvdXMgZml4ZXMgZm9yIHRoaXMgYnVnLgoKMjAwMy0xMS0wNSAxMDoxMyAga2luZwoKCSogTW9kdWxlcy86IEZpbmRUY2xzaC5jbWFrZSwgRmluZFdpc2guY21ha2U6IEJVRyMzMjI6IE1lcmdpbmcgZml4CgkgIGZyb20gbWFpbiB0cmVlIHRvIDEuOCBicmFuY2guCgoyMDAzLTExLTA0IDEyOjUwICBraW5nCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEJVRyMzMjM6IE1lcmdpbmcgZml4IGZyb20gbWFpbiB0cmVlIHRvIDEuOAoJICBicmFuY2guCgoyMDAzLTExLTA0IDExOjE5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEJVRzogZml4IGZvciBidWcgMzIzCgoyMDAzLTExLTA0IDA5OjQ1ICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEJVRzogTWVyZ2luZyBjaGFuZ2VzIGZyb20gcmV2aXNpb24gMS4yMzYKCSAgdG8gMS4yMzcgdG8gMS44IGJyYW5jaC4KCjIwMDMtMTEtMDQgMDk6NDQgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHg6IEJVRzogTWVyZ2luZyBjaGFuZ2VzCgkgIGZyb20gcmV2aXNpb25zIDEuNDEgdG8gMS40NyB0byAxLjggYnJhbmNoLgoKMjAwMy0xMS0wNCAwOTozNiAga2luZwoKCSogTW9kdWxlcy86IEZpbmRUY2xzaC5jbWFrZSwgRmluZFdpc2guY21ha2U6IEVOSDogQWRkaW5nIHJlZ2lzdHJ5CgkgIGVudHJpZXMgdG8gc2VhcmNoIHBhdGguCgoyMDAzLTExLTA0IDA5OjA2ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRyMzMTg6IE1lcmdpbmcgZml4CgkgIGZyb20gbWFpbiB0cmVlIHRvIDEuOCBicmFuY2guCgoyMDAzLTExLTA0IDA5OjAzICBraW5nCgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN1Ym1pdC5jeHg6IEJVRyMzMjA6IE1lcmdpbmcgZml4IGZyb20gbWFpbgoJICB0cmVlIHRvIDEuOCBicmFuY2guCgoyMDAzLTExLTA0IDA5OjAxICBraW5nCgoJKiBTb3VyY2UvY21RVFdyYXBDUFBDb21tYW5kLmN4eDogQlVHIzMxOTogTWVyZ2luZyBmaXggZnJvbSBtYWluCgkgIHRyZWUgKDEuMTUtPjEuMTYpIHRvIDEuOCBicmFuY2guCgoyMDAzLTExLTA0IDA5OjAwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBQcm9jZXNzV2luMzIuYywgUmVndWxhckV4cHJlc3Npb24uY3h4OiBFUlI6CgkgIFJlbW92ZWQgZXh0cmEgdmFyaWFibGUgYXNzaWdubWVudHMuCgoyMDAzLTExLTA0IDA4OjU2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1dpbjMyLmM6IEJVRzogUmVtb3ZlZCBDbG9zZUhhbmRsZSBpbiBjYXNlIG9mCgkgIGVycm9yIGluIER1cGxpY2F0ZUhhbmRsZS4gIEFjY29yZGluZyB0byBkb2N1bWVudGF0aW9uLAoJICBEdXBsaWNhdGVIYW5kbGUgd2lsbCBjbG9zZSB0aGUgc291cmNlIGhhbmRsZSByZWdhcmRsZXNzIG9mIGVycm9yCgkgIGNvbmRpdGlvbi4KCjIwMDMtMTEtMDQgMDg6NTAgIGtpbmcKCgkqIFNvdXJjZS9jbUFkZFRlc3RDb21tYW5kLmN4eDogQlVHOiBDYW5ub3QgYWRkIGV4dHJhIGVzY2FwZXMgZm9yCgkgIGJhY2tzbGFzaGVzIGJlY2F1c2UgaXQgbWFrZXMgdGhlIGJlaGF2aW9yIGluY29uc2lzdGVudCB3aXRoCgkgIHByZXZpb3VzIHZlcnNpb25zIG9mIGNtYWtlLgoKMjAwMy0xMS0wMyAxNjo1OSAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXQuY3h4OiBCVUc6IFRoaXMgZml4ZXMgcHJvYmxlbSB3aGVuCgkgIHN1Ym1pdHRpbmcgYnVncyBvbiBNYWM6IEJ1ZyAjMzIwIC0gV2hlbiBzdF9zaXplIGluIHN0YXQgaXMgNjQgYml0CgkgIGN0ZXN0IGRvZXMgbm90IHN1Ym1pdAoKMjAwMy0xMS0wMyAxNTo1NyAgaG9mZm1hbgoKCSogU291cmNlLzogY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LCBjbU1ha2VmaWxlLmN4eDogQlVHOgoJICBoYWNrIGZpeCBmb3IgcHJvYmxlbSBvZiBNUyB2cyA2IGFuZCBjdXN0b20gdGFyZ2V0IGNvbW1hbmRzCgoyMDAzLTExLTAzIDE1OjUzICBhbmR5CgoJKiBTb3VyY2UvY21RVFdyYXBDUFBDb21tYW5kLmN4eDogQlVHOiBGaXggQnVnICMzMTkgLSBDaGFuZ2UgaW4KCSAgUVRfV1JBUF9DUFAncyBiZWhhdmlvdXIKCjIwMDMtMTEtMDMgMTU6MzggIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0Lmg6IEVOSDogQ2xlYW51cCBwYXJzaW5nIG9mIGFyZ3VtZW50CgkgIHRvIGhlbHAgZml4IEJ1ZyAjMjU5IC0gQ01ha2UgZG9lcyBub3QgcXVvdGUgY29ycmVjdGx5IGluCgkgIERhcnRUZXN0ZmlsZS50eHQKCjIwMDMtMTEtMDMgMTU6MTkgIGtpbmcKCgkqIFNvdXJjZS9jbUFkZFRlc3RDb21tYW5kLmN4eDogQlVHIzI1OTogQUREX1RFU1QgY29tbWFuZCBnZW5lcmF0ZWQKCSAgaW4gRGFydFRlc3RmaWxlLnR4dCBub3cgcXVvdGVzL2VzY2FwZXMgYWxsIGFyZ3VtZW50cy4KCjIwMDMtMTEtMDMgMTE6MDEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHg6IEJVRzogZml4IGZvciBkZWJ1ZyBsaWJzCgkgIG5vdCB1c2luZyBvdXRwdXQgcGF0aAoKMjAwMy0xMC0zMSAxNzoyMiAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUcjMzE4OgoJICBjbWFrZS5jaGVja19kZXBlbmRzIG5vdyBjb2xsZWN0cyBhbGwgZGVwZW5kZW5jaWVzIGZvcgoJICBjbWFrZS5kZXBlbmRzIGFuZCB0aGVuIHVzZXMgYSBzaW5nbGUgcnVsZS4KCjIwMDMtMTAtMzEgMTc6MDUgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZTogQlVHIzMxNzogTWVyZ2luZyAxLjIzLT4xLjI0CgkgIGNoYW5nZXMgdG8gMS44IGJyYW5jaC4KCjIwMDMtMTAtMzEgMTc6MDEgIGtpbmcKCgkqIFRlbXBsYXRlcy9FWEVXaW5IZWFkZXIuZHNwdGVtcGxhdGU6IEJVRyMzMTY6IE1lcmdlZCAxLjE1LT4xLjE2CgkgIGNoYW5nZXMgZnJvbSBtYWluIHRyZWUgdG8gMS44IGJyYW5jaC4KCjIwMDMtMTAtMzEgMTY6NTYgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZTogQlVHOiBmaXggZm9yIGJ1ZyMgMzE3CgoyMDAzLTEwLTMxIDE2OjU1ICBhbmR5CgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBUZW1wbGF0ZXMvRExMSGVhZGVyLmRzcHRlbXBsYXRlLCBUZW1wbGF0ZXMvRVhFSGVhZGVyLmRzcHRlbXBsYXRlLAoJICBUZW1wbGF0ZXMvRVhFV2luSGVhZGVyLmRzcHRlbXBsYXRlLAoJICBUZW1wbGF0ZXMvc3RhdGljTGliSGVhZGVyLmRzcHRlbXBsYXRlLAoJICBUZXN0cy9DT25seS9DTWFrZUxpc3RzLnR4dDogRU5IOiBBdHRlbXB0IHRvIGFkZCBkZWJ1ZyBsaWJyYXJ5CgkgIHBvc3RmaXggZm9yIHZpc3VhbCBzdHVkaW8gNgoKMjAwMy0xMC0zMSAxNjo1MyAgaG9mZm1hbgoKCSogVGVtcGxhdGVzL0VYRVdpbkhlYWRlci5kc3B0ZW1wbGF0ZTogRml4IGZvciBCVUc6IDMxNgoKMjAwMy0xMC0zMSAxMjo1NSAga2luZwoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBNZXJnZWQgYWxsIGNoYW5nZXMKCSAgZnJvbSBtYWluIHRyZWUgdXAgdG8gcmV2aXNpb24gMS4zOS4KCjIwMDMtMTAtMzEgMDk6MzEgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRU5IOiBSZXBvcnQgd2hlbiBoYXZpbmcgY29uZmxpY3RzCgoyMDAzLTEwLTMwIDE2OjEyICBraW5nCgoJKiBTb3VyY2UvOiBjbWFrZS5jeHg6IEJVRyMzMTM6IEltcHJvdmluZyBlcnJvciBtZXNzYWdlIHdoZW4gbm8KCSAgQ01ha2VMaXN0cy50eHQgZmlsZSBpcyBmb3VuZCBpbiB0aGUgc291cmNlIHRyZWUuCgoyMDAzLTEwLTMwIDE0OjI3ICBraW5nCgoJKiBTb3VyY2UvY21BZGRUZXN0Q29tbWFuZC5jeHg6IEJVRzogQmFja2luZyBvdXQgcHJldmlvdXMgY2hhbmdlCgkgIHVudGlsIGEgZGVlcGVyIHByb2JsZW0gY2FuIGJlIGludmVzdGlnYXRlZC4KCjIwMDMtMTAtMzAgMTQ6MDAgIGtpbmcKCgkqIFNvdXJjZS9jbUFkZFRlc3RDb21tYW5kLmN4eDogQlVHIzI1OTogRG8gbm90IGRvdWJsZSBxdW90ZQoJICBhcmd1bWVudHMgaWYgdGhleSBhcmUgYWxyZWFkeSBxdW90ZWQgd2hlbiB3cml0aW5nCgkgIERhcnRUZXN0ZmlsZS50eHQuCgoyMDAzLTEwLTMwIDEzOjQ3ICBraW5nCgoJKiBTb3VyY2UvY21UcnlDb21waWxlQ29tbWFuZC5oOiBCVUcjMTYzOiBNZXJnaW5nIDEuMTItPjEuMTMgY2hhbmdlcwoJICB0byAxLjggYnJhbmNoIGZvciAxLjguMiByZWxlYXNlLgoKMjAwMy0xMC0zMCAxMzo0NiAga2luZwoKCSogU291cmNlL2NtVHJ5Q29tcGlsZUNvbW1hbmQuaDogQlVHIzE2MzogQWRkZWQgZG9jdW1lbnRhdGlvbiBvZgoJICBPVVRQVVRfVkFSSUFCTEUgYXJndW1lbnQuCgoyMDAzLTEwLTMwIDEzOjM1ICBraW5nCgoJKiBNb2R1bGVzL0ZpbmRMQVRFWC5jbWFrZTogQlVHIzI2MjogTWVyZ2luZyBmaXggZnJvbSBtYWluIHRyZWUKCSAgMS44LT4xLjkgdG8gMS44IGJyYW5jaCBmb3IgMS44LjIgcmVsZWFzZS4KCjIwMDMtMTAtMzAgMTM6MzMgIGtpbmcKCgkqIE1vZHVsZXMvRmluZExBVEVYLmNtYWtlOiBCVUcjMjYyOiBNYXJraW5nIERWSVBERl9DT05WRVJURVIgYXMKCSAgYWR2YW5jZWQuCgoyMDAzLTEwLTMwIDEzOjE4ICBraW5nCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBCVUcjMzExOiBNZXJnaW5nIDEuMTQxLT4xLjE0MiBjaGFuZ2VzIHRvIDEuOAoJICBicmFuY2ggZm9yIDEuOC4yIHJlbGVhc2UuCgoyMDAzLTEwLTMwIDEzOjE2ICBraW5nCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEJVRyMzMTA6IE1lcmdpbmcgMS42MC0+MS42MSBmcm9tIG1haW4gdHJlZSB0bwoJICAxLjggYnJhbmNoLgoKMjAwMy0xMC0zMCAxMDowNSAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBCVUc6IEZpeCBCdWcgIzMxMCAtIENUZXN0IHNlbmRzIHdyb25nIHRpbWUgdG8KCSAgY3ZzIG9uIFdpbmRvd3MKCjIwMDMtMTAtMjkgMTk6NDggIGFuZHkKCgkqIFNvdXJjZS86IGNtYWtlLmN4eCwgY21ha2VtYWluLmN4eCwgY21TeXN0ZW1Ub29scy5jeHgsCgkgIGNtU3lzdGVtVG9vbHMuaDogRU5IOiBPaywgbm8gbW9yZSBhcmd1bWVudCBuZWVkZWQgZm9yIHNjcmlwdCBtb2RlCgoyMDAzLTEwLTI5IDA5OjU2ICBhbmR5CgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBFTkg6IE1vcmUgc2NyaXB0aW5nIGNoYW5nZXMKCjIwMDMtMTAtMjkgMDk6NDMgIGFuZHkKCgkqIFNvdXJjZS86IGNtYWtlLmN4eCwgY21ha2UuaCwgY21NYWtlZmlsZS5jeHgsIGNtYWtlbWFpbi5jeHg6IEVOSDoKCSAgU3RhcnQgaW5jbHVkZGluZyB0aGUgc2NyaXB0aW5nIHN1cHBvcnQKCjIwMDMtMTAtMjkgMDg6NTggIGFuZHkKCgkqIFNvdXJjZS86IGNtQ29tbWFuZC5oLCBjbU1lc3NhZ2VDb21tYW5kLmgsIGNtSW5jbHVkZUNvbW1hbmQuaDoKCSAgRU5IOiBTdGFydCBpbmNsdWRkaW5nIHRoZSBzY3JpcHRpbmcgc3VwcG9ydAoKMjAwMy0xMC0yOCAxNToyNiAgYW5keQoKCSogU291cmNlL2NtYWtlLmN4eDogRU5IOiBDb21tYW5kIHNob3VsZCBhbHNvIGJlIHF1b3RlZAoKMjAwMy0xMC0yOCAxMzoyMiAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxCb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5oOgoJICBCVUcjMzAzOiBNZXJnZWQgZml4IGZyb20gbWFpbiB0cmVlIHRvIDEuOCBicmFuY2ggZm9yIDEuOC4yCgkgIHJlbGVhc2UuCgoyMDAzLTEwLTI4IDEzOjE5ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUcjMjAwOiBNZXJnZWQgZml4IHRvCgkgIDEuOCBicmFuY2ggZm9yIDEuOC4yIHJlbGVhc2UuCgoyMDAzLTEwLTI4IDExOjU1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUc6IGFkZCBwcmVwcm9jZXNzb3IKCSAgZmxhZ3MgdG8gcmVzb3VyY2UgY29tcGlsZXIKCjIwMDMtMTAtMjggMTE6MDYgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtR2xvYmFsQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxOTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuaDoKCSAgQlVHOiBmaXggZm9yIGJ1ZyAzMDMgcGFzcyBtYWtlZmxhZ3MgdG8gc3ViIG1ha2VzCgoyMDAzLTEwLTI1IDE4OjIxICBhbmR5CgoJKiBVdGlsaXRpZXMvRG94eWdlbi9kb3h5ZmlsZS5pbjogRU5IOiBBZGQgYWxsIHN1YmRpcmVjdG9yaWVzCgoyMDAzLTEwLTE3IDE2OjE5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUc6IG1ha2Ugc3VyZSAtTSBmbGFncwoJICBhcmUgbm90IGR1cGxpY2F0ZWQgYW5kIGFyZSBvbmx5IHNldCBpbiB0aGUgeG1sCgoyMDAzLTEwLTE3IDE2OjEwICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ1hYQ29tcGlsZXIuY21ha2U6IEJVRyMyNzY6IE1lcmdlIGZpeCBmb3IKCSAgc3BhY2VzIGluIHBhdGggZnJvbSBtYWluIHRyZWUuCgoyMDAzLTEwLTE3IDE2OjA5ICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ1hYQ29tcGlsZXIuY21ha2U6IEJVRzogRml4ZWQgc2FtZQoJICBzcGFjZXMtaW4tcGF0aHMgcHJvYmxlbSBmb3IgQ01ha2VUZXN0R05VLmMgYXMgaW4KCSAgQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2UuCgoyMDAzLTEwLTE3IDE2OjA4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeCBmb3IgdW5pY29kZQoJICBhbmQgZm9yIC9EIC1ECgoyMDAzLTEwLTE2IDE5OjE1ICBhbmR5CgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogRW5hYmxlIHRlc3Qgb24gd2luZG93cwoKMjAwMy0xMC0xNiAxNzo1MSAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlOiBCVUcjNzg6IE1lcmdlZCBmaXggZnJvbSBtYWluCgkgIHRyZWUgKDEuMjItPjEuMjMpLgoKMjAwMy0xMC0xNiAxMzo0MiAga2luZwoKCSogQ01ha2VMaXN0cy50eHQsIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IEVOSDogVXBkYXRpbmcKCSAgdmVyc2lvbiBudW1iZXIgZm9yIDEuOC4yIHJlbGVhc2UuCgoyMDAzLTEwLTE2IDEzOjA5ICBraW5nCgoJKiBNb2R1bGVzLzogQ01ha2VEZXRlcm1pbmVKYXZhQ29tcGlsZXIuY21ha2UsIEZpbmRKTkkuY21ha2UsCgkgIEZpbmRKYXZhLmNtYWtlLCBGaW5kVENMLmNtYWtlOiBCVUcjMjgxOiBNZXJnaW5nIGZpeCBmcm9tIG1haW4KCSAgdHJlZS4gIFNlZSBidWcgcmVwb3J0IGZvciByZXZpc2lvbiBjaGFuZ2VzLgoKMjAwMy0xMC0xNiAxMzowNiAga2luZwoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBCVUcjMjc4OiBNZXJnaW5nIGZpeCBmcm9tIG1haW4gdHJlZQoJICAoMS41OS0+MS42MCkgdG8gMS44IGJyYW5jaCBmb3IgMS44LjIgcmVsZWFzZS4KCjIwMDMtMTAtMTYgMTE6MDUgIGJhcnJlCgoJKiBNb2R1bGVzLzogQ01ha2VEZXRlcm1pbmVKYXZhQ29tcGlsZXIuY21ha2UsIEZpbmRKTkkuY21ha2UsCgkgIEZpbmRKYXZhLmNtYWtlLCBGaW5kVENMLmNtYWtlOiBGSVg6IGZvciBXaW5kb3dzIHVzZXJzLCBpdCBzZWVtcwoJICBsb2dpY2FsIHRvIGZhdm9yIG5hdGl2ZSB3aW4zMiBpbnN0YWxsYXRpb24gYmVmb3JlIEN5Z3dpbiBvbmVzLgoJICBPdGhlcndpc2UgeW91IGNhbiBlbmQgdXAgd2l0aCBiYWQgbWl4ZXMgKHBhcnQgb2YgdGhlIGphdmEgdG9vbHMKCSAgd2VyZSBwaWNrZWQgZnJvbSB0aGUgU0RLLCBwYXJ0IGZyb20gQ3lnd2luKQoKMjAwMy0xMC0xNiAxMDozMiAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgVGVtcGxhdGVzL0RMTEhlYWRlci5kc3B0ZW1wbGF0ZSwgVGVtcGxhdGVzL0VYRUhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVtcGxhdGVzL0VYRVdpbkhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVtcGxhdGVzL3N0YXRpY0xpYkhlYWRlci5kc3B0ZW1wbGF0ZTogRU5IOiBhbGxvdyBVTklDT0RFIHRvIGJlCgkgIHNwZWNpZmVkIGluIHRoZSBjeHggZmxhZ3MgYW5kIGlmIG5vdCBkZWZhdWx0IHRvIE1CQ1MKCjIwMDMtMTAtMTYgMTA6MTAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEVOSDogYWxsb3cgdXNlcnMgdG8KCSAgY2hhbmdlIHRvIHVuaWNvZGUKCjIwMDMtMTAtMTYgMDc6NDkgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRU5IOiBIYW5kbGUgYWxsIHdoaXRlIHNwYWNlcywgZml4IHByb2JsZW0gb24KCSAgY3lnd2luCgoyMDAzLTEwLTE1IDIzOjQyICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2UsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogZml4IGZvciBidWcgNzgKCSAgc2hvdWxkIGJlIG9uIDEuOCBicmFuY2gKCjIwMDMtMTAtMTUgMTA6MTkgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vRGFyd2luLmNtYWtlOiBCVUcjMjc3OiBGaXggZnJvbSBtYWluIHRyZWUgMS41IC0+CgkgIDEuNiBtZXJnZWQgdG8gMS44IGJyYW5jaC4gIFdpbGwgYmUgaW5jbHVkZWQgaW4gMS44LjIgcmVsZWFzZS4KCjIwMDMtMTAtMTUgMTA6MTQgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vRGFyd2luLmNtYWtlOiBFUlI6IE9sZCAtZmxhdF9uYW1lc3BhY2UKCSAgLXVuZGVmaW5lZCBzdXBwcmVzcyBmbGFncyBmb3IgQ01BS0VfU0hBUkVEX01PRFVMRV9DUkVBVEVfQ19GTEFHUwoJICBzaG91bGQgYmUgaW5jbHVkZWQgd2hlbiBDTUFLRV9CQUNLV0FSRFNfQ09NUEFUSUJJTElUWSBpcyAxLjYgb3IKCSAgbG93ZXIuCgoyMDAzLTEwLTE1IDEwOjA2ICBraW5nCgoJKiBib290c3RyYXA6IEJVRyMxNjg6IE1lcmdlZCBmaXggZm9yIEhQLVVYIGFuc2kgQyBmbGFncyBhcyBzZWNvbmQKCSAgcGFydCBvZiB0aGUgZml4IGZvciB0aGlzIGJ1ZyB0byAxLjggYnJhbmNoLiAgMS4yNCAtPiAxLjI1LgoKMjAwMy0xMC0xNSAxMDowMSAga2luZwoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogQlVHIzI2MzogTWVyZ2VkIHNlYXJjaCBwYXRoCgkgIG9yZGVyaW5nIGZpeCBmcm9tIG1haW4gdHJlZSB0byBDTWFrZSAxLjggYnJhbmNoLiAgMS4yMiAtPiAxLjI0LgoKMjAwMy0xMC0xNSAwOTo1NiAga2luZwoKCSogU291cmNlL2NtVGFyZ2V0TGlua0xpYnJhcmllc0NvbW1hbmQuY3h4OiBCVUcjMjAxOiBNZXJnZWQgd2FybmluZwoJICBzdXBwcmVzc2lvbiBzdXBwb3J0IGZyb20gbWFpbiB0cmVlIHRvIDEuOCBicmFuY2guICAxLjE2LT4xLjE3LgoKMjAwMy0xMC0xNSAwOTo1MyAga2luZwoKCSogTW9kdWxlcy9DaGVja1R5cGVTaXplLmNtYWtlOiBEb2N1bWVudGF0aW9uIGZpeCBmcm9tIG1haW4gdHJlZS4KCSAgMS4xMS0+MS4xMi4KCjIwMDMtMTAtMTUgMDk6NTIgIGtpbmcKCgkqIE1vZHVsZXMvQ2hlY2tWYXJpYWJsZUV4aXN0cy5jbWFrZTogQlVHOiBNZXJnZWQgdHJpdmlhbCBmaXggZnJvbQoJICBtYWluIHRyZWUuICAxLjEwIC0+IDEuMTEuCgoyMDAzLTEwLTE1IDA5OjQ5ICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlOiBCVUcjMjYzOiBNZXJnZWQgZml4IGZvcgoJICBzeXN0ZW0gcGF0aHMgaW4gYXIgYW5kIHJhbmxpYiBmaW5kIGNvbW1hbmRzIHRvIDEuOCBicmFuY2guICBXaWxsCgkgIGJlIGluY2x1ZGVkIGluIDEuOC4yCgoyMDAzLTEwLTE1IDA5OjI2ICBraW5nCgoJKiBTb3VyY2UvY21RVFdyYXBDUFBDb21tYW5kLmN4eDogQlVHIzE4NjogTWVyZ2VkIGZpeCBmcm9tIHRydW5rIHRvCgkgIGJyYW5jaC4KCjIwMDMtMTAtMTUgMDk6MTggIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2U6IEJVRyMyNzY6IE1lcmdlIGZpeCBmb3IKCSAgc3BhY2VzIGluIHBhdGggZnJvbSBtYWluIHRyZWUuCgoyMDAzLTEwLTE0IDIyOjMwICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlOiBCVUc6IEZpeCBmb3Igc3BhY2VzIGluCgkgIHBhdGggd2hlbiBsb2FkaW5nIENNYWtlVGVzdEdOVS5jLgoKMjAwMy0xMC0xMyAxNjowNCAgYW5keQoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZCB0ZXN0IGZvciBGaW5kd3hXaW5kb3dzLiBUaGFua3MKCSAgdG86IE1hdGhpZXUgTWFsYXRlcnJlCgoyMDAzLTEwLTEzIDE1OjI3ICBhbmR5CgoJKiBNb2R1bGVzL0NoZWNrVHlwZVNpemUuY21ha2U6IEVOSDogRG9jdW1lbnRhdGlvbiBmaXgKCjIwMDMtMTAtMTMgMTE6NTggIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZTogQlVHIzI2OTogRml4IGZvciBzcGFjZXMgaW4KCSAgcGF0aHMuICBXaWxsIGJlIGluY2x1ZGVkIGluIDEuOC4yIHJlbGVhc2UuCgoyMDAzLTEwLTEzIDExOjMyICBhbmR5CgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2U6IEVSUjogYWxsb3cgc3BhY2VzIGluIHRoZSBwYXRoCgoyMDAzLTEwLTExIDA4OjEyICBraW5nCgoJKiBNb2R1bGVzL0NoZWNrVmFyaWFibGVFeGlzdHMuY21ha2U6IEJVRzogTWVzc2FnZSBkZXNjcmliaW5nCgkgIHZhcmlhYmxlIHdhcyB1c2luZyByZXN1bHQgdmFyaWFibGUuCgoyMDAzLTEwLTA5IDE1OjUyICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLAoJICBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFTkg6IHB1dCB0aGUgc3lzdGVtIHBhdGggYWZ0ZXIgdGhlCgkgIHBhdGhzIHNwZWNpZmllZCBvbiB0byB0aGUgRklORCBjb21tYW5kCgoyMDAzLTEwLTA3IDEzOjQ1ICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoOiBVcGRhdGVkIGN5Z3dpbiBkZXBlbmRlbmNpZXMuCgoyMDAzLTEwLTA3IDA5OjUwICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jb25maWdfQ1lHV0lOX05ULTUuMTogR0NDIDIuOTUgaXMgbm8gbG9uZ2VyCgkgIGF2YWlsYWJsZSBvbiBjeWd3aW4uCgoyMDAzLTEwLTAyIDE0OjUwICBhbmR5CgoJKiBTb3VyY2UvY21UYXJnZXRMaW5rTGlicmFyaWVzQ29tbWFuZC5jeHg6IEVOSDogQWRkCgkgIENNQUtFX0lHTk9SRV9ERVBFTkRFTkNJRVNfT1JERVJJTkcgdG8gcHJldmVudCB3YXJuaW5ncyBhYm91dAoJICBkZXBlbmRlbmN5IHByb2JsZW1zCgoyMDAzLTA5LTI2IDExOjI3ICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlSW1wb3J0QnVpbGRTZXR0aW5ncy5jbWFrZTogQlVHOiBDb21wYXJpc29uIG9mIGJ1aWxkCgkgIHRvb2wgc2hvdWxkIGJlIGNhc2UtaW5zZW5zaXRpdmUuCgoyMDAzLTA5LTI2IDExOjE1ICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlSW1wb3J0QnVpbGRTZXR0aW5ncy5jbWFrZTogQlVHOiBDb21wYXJpc29uIG9mIGJ1aWxkCgkgIHRvb2wgc2hvdWxkIGJlIGNhc2UtaW5zZW5zaXRpdmUuCgoyMDAzLTA5LTI0IDE3OjUxICBhbmR5CgoJKiBTb3VyY2UvY21RVFdyYXBVSUNvbW1hbmQuY3h4OiBFTkg6IEZpeCBjb21tZW50CgoyMDAzLTA5LTI0IDE3OjUxICBhbmR5CgoJKiBUZXN0cy9XcmFwcGluZy9DTWFrZUxpc3RzLnR4dDogRU5IOiBCZXR0ZXIgdGVzdGluZwoKMjAwMy0wOS0yNCAxNzo1MCAgYW5keQoKCSogU291cmNlL2NtUVRXcmFwQ1BQQ29tbWFuZC5jeHg6IEJVRzogRml4IEJ1ZyAjMTg2IC0gUVRfV1JBUF9VSQoJICB1c2VzIHRoZSBwYXRoIHR3aWNlCgoyMDAzLTA5LTI0IDExOjEwICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUcjMTkxOiBNZXJnaW5nIGZpeAoJICBpbnRvIDEuOCBicmFuY2ggZm9yIGluY2x1c2lvbiBpbiAxLjguMiByZWxlYXNlLgoKMjAwMy0wOS0yNCAxMTowMyAga2luZwoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBDaGVjayBmb3Igd2hldGhlcgoJICB0byB1c2UgQ01BS0VfRVhFX0xJTktFUl9GTEFHUyBzaG91bGQgbG9vayBib3RoIGZvciBFWEVDVVRBQkxFIGFuZAoJICBXSU4zMl9FWEVDVVRBQkxFIHRhcmdldHMuCgoyMDAzLTA5LTIzIDEzOjU4ICBraW5nCgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEJVRyMxODU6IE1lcmdlZCBmaXggZnJvbSBtYWluIHRyZWUgdG8gMS44CgkgIGJyYW5jaC4gIENoYW5nZSB3aWxsIGJlIGluY2x1ZGVkIGluIDEuOC4yIHJlbGVhc2UuCgoyMDAzLTA5LTIzIDEzOjQ5ICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogQWRkIG1pc3NpbmcgbmV3bGluZSBCdWcgIzE4NSAtIENUZXN0CgkgIGV4Y2VwdGlvbnMgb3V0cHV0IGlzIG1pc3NpbmcgbmV3IGxpbmUKCjIwMDMtMDktMTggMTE6MDUgIGhvZmZtYW4KCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEVOSDogcmVtb3ZlIC90bXBfbW50IGluIGNvbGxhcHNlCgkgIGZ1bGwgcGF0aAoKMjAwMy0wOS0xNSAxNTo1OCAga2luZwoKCSogYm9vdHN0cmFwOiBCVUc6IE5lZWQgdG8gY2hlY2sgZm9yIC1BZSBmbGFnIG9uIEhQLVVYIGNjIGNvbXBpbGVyLgoJICBOZWVkZWQgZm9yIEFOU0kgQyBjb21waWxhdGlvbi4KCjIwMDMtMDktMDIgMTM6NDkgIGtpbmcKCgkqIGJvb3RzdHJhcDogQlVHIzE2ODogVXNpbmcgQyBjb21waWxlciB0byBidWlsZCAuYyBmaWxlcyBkdXJpbmcKCSAgYm9vdHN0cmFwIGluc3RlYWQgb2YgQysrIGNvbXBpbGVyLgoKMjAwMy0wOS0wMiAxMzoyNyAga2luZwoKCSogYm9vdHN0cmFwOiBCVUc6IE11c3QgdXNlIEMgY29tcGlsZXIgdG8gY29tcGlsZSBDIGZpbGVzIGR1cmluZwoJICBib290c3RyYXAsIG5vdCBDKysgY29tcGlsZXIuCgoyMDAzLTA4LTI5IDA5OjM4ICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBNZXJnZWQgbW9yZSBmaXhlcyBmcm9tCgkgIG1haW4gdHJlZS4KCjIwMDMtMDgtMjggMTY6MjIgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUc6IG1ha2Ugc3VyZSBleGUgb3V0cHV0IHBhdGgKCSAgaXMgdXNlZCBmb3IgZGVwIGhhY2sgc3R1ZmYKCjIwMDMtMDgtMjggMTY6MTAgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHg6IGJhZCBldmlsIG5hc3R5IGtlbgoKMjAwMy0wOC0yOCAxNjowNiAgbWFydGluawoKCSogU291cmNlLzogY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IGZpeCB0byBleGVjdXRhYmxlIGRlcGVuZHMgZm9yCgkgIGN1c3RvbSBjb21tYW5kcwoKMjAwMy0wOC0yOCAxNTowMiAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY29uZmlnX0lSSVg2NDogRVJSOiBEb24ndCBuZWVkIHNlcGFyYXRlIC1uMzIKCSAgYW5kIC02NCBiaW5hcmllcy4KCjIwMDMtMDgtMjggMTQ6NTggIGhvZmZtYW4KCgkqIFRlc3RzLzogQ29tcGxleC9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQ6IEJVRzogcmVtb3ZlCgkgIGJ1bmRsZV9sb2FkZXIgc3R1ZmYgaXQgZGlkIG5vdCB3b3JrIHdpdGggc3BhY2VzIGluIHRoZSBwYXRoIGFuZAoJICBpcyBub3QgbmVlZGVkIGZvciB0aGlzIHRlc3QKCjIwMDMtMDgtMjggMTQ6NTUgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUc6IE1lcmdlZCBmaXggZm9yIGJ1ZyB3aXRoCgkgIGN1c3RvbSBjb21tYW5kcyBkZXBlbmRpbmcgb24gZXhlY3V0YWJsZXMgZnJvbSBtYWluIHRyZWUuCgoyMDAzLTA4LTI4IDE0OjUyICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBmaXggYnVnIHdpdGggY3VzdG9tCgkgIGNvbW1hbmRzIGRlcGVuZGluZyBvbiBleGVjdXRhYmxlcwoKMjAwMy0wOC0yOCAxNDowMyAga2luZwoKCSogQ01ha2VMaXN0cy50eHQsIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IEVOSDogVXBkYXRlZAoJICBmb3IgMS44LjEgcmVsZWFzZSBudW1iZXIuCgoyMDAzLTA4LTI3IDIwOjM1ICBzdGFycmV2ZWxkCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0Rhcndpbi5jbWFrZSwKCSAgVGVzdHMvQ29tcGxleC9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQ6IEVOSDogcmVtb3ZlCgkgIHRoZSAtZmxhdF9uYW1lc3BhY2UgYW5kIC11bmRlZmluZWQgc3VwcHJlc3MgaGFja3MgZnJvbSBFTkg6CgkgIENNQUtFX1NIQVJFRF9NT0RVTEVfQ1JFQVRFX0NfRkxBR1MgRU5IOiBhbmQgZml4IHRoZSBjb21wbGV4CgkgIGV4YW1wbGUgdG8gc3BlY2lmeSBhIC1idW5kbGUgbG9hZGVyIGZvciB0aGUgRU5IOiBzaGFyZWQgbW9kdWxlCgkgIHRoYXQgaXQgYnVpbGRzLgoKMjAwMy0wOC0yNyAxNzo0NSAgaG9mZm1hbgoKCSogU291cmNlL2NtV2luMzJQcm9jZXNzRXhlY3V0aW9uLmN4eDogRU5IOiByZW1vdmUgd2FybmluZ3MgZnJvbSB1c2UKCSAgb2YgTlVMTAoKMjAwMy0wOC0yNyAxNjo1MCAga2luZwoKCSogQ01ha2VMaXN0cy50eHQsIENNYWtlU3lzdGVtQ29uZmlnLnR4dC5pbiwKCSAgQ01ha2VXaW5kb3dzU3lzdGVtQ29uZmlnLnR4dCwgYm9vdHN0cmFwLAoJICBNb2R1bGVzL0NNYWtlQ0NvbXBpbGVyLmNtYWtlLmluLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlU3lzdGVtU3BlY2lmaWNJbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVRlc3RDQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VUZXN0Q1hYQ29tcGlsZXIuY21ha2UsIE1vZHVsZXMvQ01ha2VUZXN0R05VLmMsCgkgIE1vZHVsZXMvRmluZFRocmVhZHMuY21ha2UsIE1vZHVsZXMvRmluZHd4V2luZG93cy5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWJjYzMyLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1nY2MuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy5jbWFrZSwgU291cmNlL0NNYWtlTGlzdHMudHh0LAoJICBTb3VyY2UvVE9ETywgU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmN4eCwgU291cmNlL2NtQ29tbWFuZHMuY3h4LAoJICBTb3VyY2UvY21EeW5hbWljTG9hZGVyLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2FkQ29tbWFuZENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwgU291cmNlL2NtU3lzdGVtVG9vbHMuaCwKCSAgU291cmNlL2NtV2luMzJQcm9jZXNzRXhlY3V0aW9uLmN4eCwgU291cmNlL2NtYWtlLmN4eCwKCSAgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eCwKCSAgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXgvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgVXRpbGl0aWVzL0NNYWtlTGlzdHMudHh0OiBFTkg6IE1lcmdpbmcgY2hhbmdlcyBmcm9tIHRydW5rIGludG8KCSAgMS44IGJyYW5jaC4KCgkgIDEuKSBNaW5HVyBzdXBwb3J0IChiZXRhKSAyLikgbWFrZSBWRVJCT1NFPTEgMy4pIEZpbmRUaHJlYWRzLmNtYWtlCgkgIGZpeCA0LikgRmluZHd4V2luZG93cy5jbWFrZSBmaXggNS4pCgkgIENNYWtlU3lzdGVtU3BlY2lmaWNJbmZvcm1hdGlvbi5jbWFrZSB0eXBvIGZpeCA2LikgYm9vdHN0cmFwCgkgIHNwYWNlcy1pbi1wYXRoIGZpeAoKMjAwMy0wOC0yNyAxNjo0MiAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWdjYy5jbWFrZSwKCSAgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXgvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9DTWFrZUxpc3RzLnR4dDogRU5IOiBNaW5HVwoJICBidWlsZCBub3cgcGFzc2VzIGFsbCB0aGUgdGVzdHMKCjIwMDMtMDgtMjcgMTY6MDggIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogY21ha2VfcmVsZWFzZS5zaCwgY29uZmlnX0FJWCwgY29uZmlnX0RhcndpbiwKCSAgY29uZmlnX0hQLVVYLCBjb25maWdfSVJJWDY0LCBjb25maWdfTGludXgsIGNvbmZpZ19PU0YxLAoJICBjb25maWdfU3VuT1MsIGN5Z3dpbi1wYWNrYWdlLnNoLmluOiBNZXJnaW5nIHJlbGVhc2Ugc2NyaXB0CgkgIGNoYW5nZXMgZnJvbSAxLjggYnJhbmNoIHRvIG1haW4gdHJlZS4KCjIwMDMtMDgtMjcgMTY6MDIgIGtpbmcKCgkqIE1vZHVsZXMvOiBDTWFrZVRlc3RDQ29tcGlsZXIuY21ha2UsIENNYWtlVGVzdENYWENvbXBpbGVyLmNtYWtlOgoJICBFUlI6IEZpeGVkIHR5cG8gaW4gY29tbWVudC4KCjIwMDMtMDgtMjcgMDg6MjkgIGtpbmcKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEVSUjogRml4ZWQgcGxhY2VtZW50IG9mIGNvZGUgaW50cm9kdWNlZCBieSBhCgkgIHBhdGNoIGZyb20gbWFpbiB0cmVlLiAgU29tZWhvdyBpdCBlbmRlZCB1cCBvbiB0aGUgd3JvbmcgbGluZXMuCgoyMDAzLTA4LTI2IDE3OjEzICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogQWRkZWQgc3VwcG9ydCBmb3IKCSAgIm1ha2UgVkVSQk9TRT0xIiB0byBydW4gb25lLXRpbWUgdmVyYm9zZSBtYWtlIHJ1bnMgd2l0aG91dAoJICBjaGFuZ2luZyBDTUFLRV9WRVJCT1NFX01BS0VGSUxFLgoKMjAwMy0wOC0yNiAxNTowOCAga2luZwoKCSogU291cmNlLzogY21ha2UuY3h4LCBjbWFrZW1haW4uY3h4LCBjbWFrZXdpemFyZC5jeHgsCgkgIGNtYWtld2l6YXJkLmg6IEJVRyMxNjQ6IEZpeGVkIGNyYXNoIG9mIGNtYWtlIC1pIHdoZW4gQ01BS0VfUk9PVAoJICBjYW5ub3QgYmUgZm91bmQuICBNYWRlIHJlc3VsdGluZyBlcnJvciBtZXNzYWdlIGNsZWFuZXIuCgoyMDAzLTA4LTI2IDE1OjA2ICBraW5nCgoJKiBTb3VyY2UvOiBjbWFrZS5jeHgsIGNtYWtlbWFpbi5jeHgsIGNtYWtld2l6YXJkLmN4eCwKCSAgY21ha2V3aXphcmQuaDogQlVHOiBGaXhlZCBjcmFzaCBvZiBjbWFrZSAtaSB3aGVuIENNQUtFX1JPT1QKCSAgY2Fubm90IGJlIGZvdW5kLiAgTWFkZSByZXN1bHRpbmcgZXJyb3IgbWVzc2FnZSBjbGVhbmVyLgoKMjAwMy0wOC0yMiAxMjo1MyAga2luZwoKCSogQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgVXRpbGl0aWVzL0NNYWtlTGlzdHMudHh0OgoJICBFTkg6IE1vdmVkIGRlY2lzaW9uIHRvIGJ1aWxkIE1GQ0RpYWxvZyB1cCB0byB0b3AgbGV2ZWwuICBJdCBpcwoJICB1c2VkIGluIGJvdGggdGhlIFNvdXJjZSBhbmQgVXRpbGl0aWVzIGRpcmVjdG9yaWVzLgoKMjAwMy0wOC0yMiAxMTo1NiAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IHJlbW92ZSBpZmRlZiBjb2RlCgkgIGFuZCB1c2UgbWFrZWZpbGUgZGVmaW5pdGlvbnMKCjIwMDMtMDgtMjIgMTE6NTYgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1nY2MuY21ha2U6IEVOSDogYWRkIGNvbmZpZ3VyZSBmaWxlIGZvcgoJICBnY2MgdW5kZXIgd2luZG93cwoKMjAwMy0wOC0yMiAwOTo1MiAgYW5keQoKCSogYm9vdHN0cmFwLCBNb2R1bGVzL0ZpbmRUaHJlYWRzLmNtYWtlOiBFUlI6IFJlb3JnYW5pemUgdG8gdHJ5IHRvCgkgIGZpeCB0aGUgLXB0aHJlYWQgcHJvYmxlbSBvbiBzb21lIHN5c3RlbXMKCjIwMDMtMDgtMjEgMTY6MjIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VDQ29tcGlsZXIuY21ha2UuaW4sCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlVGVzdENDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVRlc3RDWFhDb21waWxlci5jbWFrZSwgTW9kdWxlcy9DTWFrZVRlc3RHTlUuYywKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWJjYzMyLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy5jbWFrZSwgU291cmNlL0NNYWtlTGlzdHMudHh0LAoJICBTb3VyY2UvY21EeW5hbWljTG9hZGVyLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwgU291cmNlL2NtU3lzdGVtVG9vbHMuaCwKCSAgU291cmNlL2NtV2luMzJQcm9jZXNzRXhlY3V0aW9uLmN4eCwgU291cmNlL2NtYWtlLmN4eCwKCSAgU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogRU5IOiBhZGQgdGhlIHVuaXggbWFrZWZpbGUKCSAgZ2VuZXJhdG9yIGFzIGFuIG9wdGlvbiBmcm9tIHRoZSB3aW5kb3dzIEdVSSwgdGhpcyBidWlsZHMgd2l0aAoJICBtaW5ndywgY3lnd2luLCBhbmQgY29tYmluYXRpb25zIG9mIG1ha2UgY2wsIGJjYzMyCgoyMDAzLTA4LTIxIDEzOjI2ICBhbmR5CgoJKiBNb2R1bGVzL0ZpbmR3eFdpbmRvd3MuY21ha2U6IEVSUjogSWYgV1hfQ09ORklHX0xJQlMgYXJlICwgdGhlbgoJICB5b3UgZ2V0IHdlaXJkIGNtYWtlIGVycm9yLiBUaGlzIHNob3VsZCBmaXggaXQKCjIwMDMtMDgtMjEgMDk6MjMgIGhvZmZtYW4KCgkqIFNvdXJjZS9UT0RPOiBbbm8gbG9nIG1lc3NhZ2VdCgoyMDAzLTA4LTIwIDEyOjU5ICBraW5nCgoJKiBTb3VyY2UvOiBjbWFrZW1haW4uY3h4LCBDdXJzZXNEaWFsb2cvY2NtYWtlLmN4eDogRU5IOiBBZGRlZAoJICBkb2N1bWVudGF0aW9uIG9mIHNwZWNpZnlpbmcgYW4gZXhpc3RpbmcgYnVpbGQgdHJlZSBhcyBhbgoJICBhcmd1bWVudC4KCjIwMDMtMDgtMTkgMTE6MDIgIGFuZHkKCgkqIFNvdXJjZS9jbUxvYWRDb21tYW5kQ29tbWFuZC5jeHg6IEVSUjogRml4IGNyYXNoIG9mIGNtYWtlIG9uCgkgIGJyb2tlbiBsb2FkIGNvbW1hbmRzCgoyMDAzLTA4LTE5IDEwOjUwICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtLzogSVJJWDY0LmNtYWtlOiBFTkg6IEltcHJvdmVkIGRlZmF1bHQgY2hvaWNlIG9mCgkgIC02NCBjb21waWxlci9saW5rZXIgZmxhZ3MgYmFzZWQgb24gaG93IGNtYWtlIHdhcyBidWlsdC4KCjIwMDMtMDgtMTkgMTA6MjkgIGFuZHkKCgkqIFNvdXJjZS9jbUxvYWRDb21tYW5kQ29tbWFuZC5jeHg6IEJVRzogTGFzdEVycm9yIGNhbiByZXR1cm4gMCwgc28KCSAgaGFuZGxlIHRoYXQgY2FzZQoKMjAwMy0wOC0xOSAwOTo0MSAga2luZwoKCSogYm9vdHN0cmFwOiBCVUc6IE1lcmdlZCBjbWFrZV9tYWtlX3Byb2Nlc3NvciBlcnJvciBtZXNzYWdlIHRvIDEuOAoJICBicmFuY2guCgoyMDAzLTA4LTE5IDA5OjQwICBraW5nCgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21DVGVzdC5oOiBCVUc6IE1lcmdlZCBmaXhlcyBmb3IgYnVncyAxNDYsCgkgIDE1MiwgYW5kIDE1MyB0byAxLjggYnJhbmNoLgoKMjAwMy0wOC0xOSAwOTozOSAga2luZwoKCSogU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmN4eDogQlVHIzE1NDogTWVyZ2VkIGZpeCB0byAxLjggYnJhbmNoLgoKMjAwMy0wOC0xOSAwOTozOSAga2luZwoKCSogU291cmNlL2NtYWtlLmN4eDogRVJSOiBGaXhlZCB3YXJuaW5ncy4KCjIwMDMtMDgtMTkgMDk6MzMgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEVSUjogTWVyZ2VkIHdhcm5pbmcgZml4IGZyb20gbWFpbgoJICB0cmVlIHRvIENNYWtlIDEuOCBicmFuY2guCgoyMDAzLTA4LTE5IDA5OjMyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYzogUHJvY2Vzc1VOSVguYwoKMjAwMy0wOC0xOSAwOTozMiAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jOiBCVUc6IE1lcmdlZCBlcnJvciBtZXNzYWdlIGZpeCB0bwoJICBDTWFrZSAxLjggYnJhbmNoLgoKMjAwMy0wOC0xOSAwOToyNyAga2luZwoKCSogTW9kdWxlcy9GaW5kTEFURVguY21ha2U6IEJVRyMxNTY6IEZpeGVkIHR5cG8gcHNkMnBkZiAtPiBwczJwZGYuCgkgIFdpbGwgYmUgaW5jbHVkZWQgaW4gMS44LjEgcmVsZWFzZS4KCjIwMDMtMDgtMTkgMDk6MTIgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogY21ha2VfcmVsZWFzZS5zaCwgY29uZmlnX0lSSVg2NDogQWRkZWQKCSAgTERGTEFHUyBzdXBwb3J0LgoKMjAwMy0wOC0xOSAwOTowNiAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY29uZmlnX0lSSVg2NDogRU5IOiBBZGRlZCBjb25maWd1cmF0aW9uIG9mIGJvdGgKCSAgLTY0IGFuZCAtbjMyIGJ1aWxkcy4KCjIwMDMtMDgtMTkgMDk6MDUgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IEVOSDogQWRkZWQgc3VwcG9ydCBmb3IKCSAgY29uZmlndXJhdGlvbiBvZiBpbnN0YWxsIHRyZWUuCgoyMDAzLTA4LTE5IDA4OjUzICBhbmR5CgoJKiBNb2R1bGVzL0ZpbmRMQVRFWC5jbWFrZTogQlVHOiBGaXggQnVnICMxNTYgLSBwczJwZGYgaXMgbm90IGZvdW5kCgkgIG9uIGxpbnV4CgoyMDAzLTA4LTE4IDE0OjMxICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21DVGVzdC5oOiBCVUc6IFJlcG9ydCBmYWlsZWQgYXMgZmFpbGVkLi4uCgoyMDAzLTA4LTE4IDE0OjA2ICBhbmR5CgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMDMtMDgtMTggMTQ6MDUgIGFuZHkKCgkqIFNvdXJjZS9jbUNhY2hlTWFuYWdlci5jeHg6IEJVRzogRml4ZWQgQnVnICMxNTQgLSBVbmluaXRpYWxpemVkCgkgIHR5cGUgaW5pdGlhbGl6ZWQgdmFsdWUgY2FjaGUgdmFyaWFibGVzIHNob3VsZCByZXR1cm4gdmFsdWUKCjIwMDMtMDgtMTggMTE6MzAgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0Lmg6IEJVRzogRml4IEJ1ZyAjMTUzIC0gQ1Rlc3QgZG9lcwoJICBub3QgZGV0ZWN0IHRlc3RzIHRoYXQgYXJlIG5vdCBmb3VuZCBhbmQgQnVnICMxNTMgLSBDVGVzdCBkb2VzIG5vdAoJICBkZXRlY3QgdGVzdHMgdGhhdCBhcmUgbm90IGZvdW5kCgoyMDAzLTA4LTE3IDEyOjI0ICBob2ZmbWFuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFTkg6IHJlbW92ZSB3YXJuaW5nIGFuZCB1bm5lZWRlZAoJICBjYXN0CgoyMDAzLTA4LTE1IDA4OjQxICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEJVRzogRml4IHRlc3QgcmVwb3J0aW5nCgoyMDAzLTA4LTE0IDEzOjM0ICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogRml4IHZlcmJvc2Ugb3V0cHV0LCBmaXggZXJyb3IgbWVzc2FnZSwKCSAgYW5kIGZpeCB0aGUgZXhpdCBjb2RlIGNoZWNrCgoyMDAzLTA4LTE0IDA5OjA5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IHJlbW92ZSBhIHdhcm5pbmcKCjIwMDMtMDgtMTMgMTg6MTcgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0Lmg6IEVOSDogQmV0dGVyIGVycm9yIHJlcG9ydGluZwoKMjAwMy0wOC0xMyAxODowOCAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jOiBFTkg6IE1hZGUgZXJyb3IgbWVzc2FnZSBjb25zaXN0ZW50CgkgIGJldHdlZW4gd2luOXggYW5kIG5vbi13aW45eCB2ZXJzaW9uIG9mIGVycm9yIHJlcG9ydGluZy4KCjIwMDMtMDgtMTMgMTQ6MjEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jOiBFTkg6IFRyZWF0aW5nIFNJR0JVUyBhcyBhIGZhdWx0IGJ5CgkgIGRlZmF1bHQuCgoyMDAzLTA4LTEyIDE3OjI0ICBraW5nCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEJVRzogRG8gbm90IGhpZGUgY29uc29sZSB3aGVuIHJ1biBmcm9tCgkgIGN0ZXN0LgoKMjAwMy0wOC0xMiAxNzoxOCAgYW5keQoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IEZpeCBoaWRkZW4gY29uc29sZSBmb3IgY3Rlc3QKCjIwMDMtMDgtMTIgMTc6MTcgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IFJlZG9pbmcgMS44LjAuCgoyMDAzLTA4LTEyIDE2OjM3ICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoOiBEaXNhYmxlIHVzZSBvZiBsaWJkbCBieSBjdXJsLgoKMjAwMy0wOC0xMiAxNjozNSAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvOiBjb25maWdfQUlYLCBjb25maWdfRGFyd2luLCBjb25maWdfSFAtVVgsCgkgIGNvbmZpZ19JUklYNjQsIGNvbmZpZ19MaW51eCwgY29uZmlnX09TRjEsIGNvbmZpZ19TdW5PUzogRU5IOgoJICBVc2luZyB3cml0ZV9zdGFuZGFyZF9jYWNoZSB0byBzaG9ydGVuIGNvbmZpZyBmaWxlcy4KCjIwMDMtMDgtMTIgMTY6MzUgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IEVOSDogVW5peCBidWlsZHMgc2hvdWxkIG5vdAoJICB1c2UgcmVlbnRyYW50IHZlcnNpb25zIG9mIG5ldHdvcmsgY2FsbHMuCgoyMDAzLTA4LTExIDE4OjI0ICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jb25maWdfRGFyd2luOiBFTkg6IFVwZGF0ZWQgZm9yIG5ldyB3eCB2ZXJzaW9uLgoKMjAwMy0wOC0xMSAxODoyMSAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogQlVHOiBDTWFrZS5hcHAgZGlyZWN0b3J5IGlzCgkgIG5vdyBpbiBiaW4sIG5vdCBTb3VyY2UuCgoyMDAzLTA4LTExIDE4OjE0ICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jeWd3aW4tcGFja2FnZS5zaC5pbjogQlVHOiBUZXN0cyBhcmUgcnVuIGJ5CgkgIGJpbi9jdGVzdCBpbnN0ZWFkIG9mIFNvdXJjZS9jdGVzdC4KCjIwMDMtMDgtMTEgMTc6NTggIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogY21ha2VfcmVsZWFzZS5zaCwgY29uZmlnX0lSSVg2NCwKCSAgY29uZmlnX0xpbnV4OiBFTkg6IEFkZGVkIHN1cHBvcnQgZm9yIHBhcmFsbGVsIGJ1aWxkIGR1cmluZwoJICByZWxlYXNlLgoKMjAwMy0wOC0xMSAxNzo1MyAgYW5keQoKCSogYm9vdHN0cmFwOiBFTkg6IEFkZCBlcnJvciBtZXNzYWdlIGZvciBtYWtlIG1pc3NpbmcKCjIwMDMtMDgtMTEgMTc6NDEgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IEJVRzogVGVzdCBmb3IgYnVpbGQgbmVlZHMgdG8KCSAgbG9vayBmb3IgYmluL2NjbWFrZSwgbm90IFNvdXJjZS9jY21ha2UuCgoyMDAzLTA4LTExIDE3OjM1ICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS86IGNtYWtlX3JlbGVhc2Uuc2gsIGNvbmZpZ19EYXJ3aW4sCgkgIGNvbmZpZ19IUC1VWCwgY29uZmlnX0lSSVg2NCwgY29uZmlnX1N1bk9TOiBNZXJnZSBmcm9tIDEuOCBicmFuY2guCgoyMDAzLTA4LTExIDE3OjM0ICBraW5nCgoJKiBTb3VyY2UvY21Db21tYW5kcy5jeHg6IEJVRzogQm9vdHN0cmFwcGluZyB3aXRoIHd4V2luZG93cyBzdXBwb3J0CgkgIG5lZWRzIFNFUEFSQVRFX0FSR1VNRU5UUyBjb21tYW5kLgoKMjAwMy0wOC0xMSAxNzozNCAga2luZwoKCSogTW9kdWxlcy9DTWFrZUxpc3RzLnR4dDogRU5IOiBJbnN0YWxsaW5nIHJlYWRtZS50eHQgaW4gTW9kdWxlcwoJICBkaXJlY3RvcnkgdG8gYmUgY29uc2lzdGVudCB3aXRoIHdpbmRvd3MuCgoyMDAzLTA4LTExIDE2OjU1ICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jb25maWdfRGFyd2luOiBGaXhlZCB3eCBsb2NhdGlvbi4KCjIwMDMtMDgtMTEgMTY6NDMgIGtpbmcKCgkqIFNvdXJjZS9jbUNvbW1hbmRzLmN4eDogQlVHOiBCb290c3RyYXBwaW5nIHdpdGggd3hXaW5kb3dzIHN1cHBvcnQKCSAgcmVxdWlyZXMgU0VQQVJBVEVfQVJHVU1FTlRTIGNvbW1hbmQgaW4gYm9vdHN0cmFwcGVkIGV4ZWN1dGFibGUuCgoyMDAzLTA4LTExIDE2OjMxICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jb25maWdfSFAtVVg6IEVOSDogQ2xlYW5lZCB1cCBsaW5rIG9mIGRsZC4KCjIwMDMtMDgtMTEgMTY6MzEgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NvbmZpZ19TdW5PUzogRU5IOiBTd2l0Y2hpbmcgdG8gc3lzdGVtCgkgIGNvbXBpbGVyLgoKMjAwMy0wOC0xMSAxNToyNyAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogVXNpbmcgYm9vdHN0cmFwIGluc3RlYWQgb2YKCSAgY29uZmlndXJlLgoKMjAwMy0wOC0xMSAxNToyMiAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogRU5IOiBBbGxvdyBjb25maWcgZmlsZXMgdG8KCSAgc3BlY2lmeSBhIG1ha2UuCgoyMDAzLTA4LTExIDE1OjIxICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jb25maWdfSVJJWDY0OiBFTkg6IEVuYWJsaW5nIHBhcmFsbGVsIGJ1aWxkLgoKMjAwMy0wOC0xMSAxNToxNiAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogQlVHOiBMb2NhdGlvbiBvZiBjdGVzdCBoYXMKCSAgY2hhbmdlZCB0byBiaW4sIG5vdCBTb3VyY2UuCgoyMDAzLTA4LTExIDE1OjE1ICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jb25maWdfRGFyd2luOiBVcGRhdGVkIGZvciBuZXcgRmluZHd4V2luZG93cy4KCjIwMDMtMDgtMTEgMTU6MDcgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IFVwZGF0ZSBmcm9tIDEuOCBicmFuY2guCgoyMDAzLTA4LTExIDE1OjA2ICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jb25maWdfRGFyd2luOiBVcGRhdGVkIGZvciBuZXcgbG9jYXRpb24gb2YKCSAgd3hXaW5kb3dzLgoKMjAwMy0wOC0xMSAxNTowMiAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY29uZmlnX0RhcndpbjogVXBkYXRlZCBmb3IgbmV3IGxvY2F0aW9uIG9mCgkgIHd4V2luZG93cy4KCjIwMDMtMDgtMTEgMTU6MDEgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IEVOSDogVXBkYXRlZCBmb3IgbmV3IEZUUAoJICBkaXJlY3Rvcnkgc3RydWN0dXJlLgoKMjAwMy0wOC0xMSAxNDo1NiAga2luZwoKCSogTW9kdWxlcy9DTWFrZUxpc3RzLnR4dDogRU5IOiBJbnN0YWxsaW5nIHJlYWRtZS50eHQgaW4gbW9kdWxlcyB0bwoJICBiZSBjb25zaXN0ZW50IHdpdGggd2luZG93cy4KCjIwMDMtMDgtMTEgMTQ6NDQgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4OiBhZGRlZCBiZXRhIHJlbGVhc2Ugc3VwcG9ydAoKMjAwMy0wOC0xMSAxNDo0MSAgbWFydGluawoKCSogQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbUNQbHVnaW5BUEkuaDogdmVyc2lvbiAxOQoKMjAwMy0wOC0xMSAxNDozNyAgbWFydGluawoKCSogQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbUNQbHVnaW5BUEkuaCwKCSAgVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogYWRkZWQgdmVyc2lvbgoKMjAwMy0wOC0xMSAxMjoyMCAgYW5keQoKCSogU291cmNlL2N0ZXN0LmN4eDogRU5IOiBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgLUQgYW5kIGFkZCBtaXNzaW5nCgkgIHRhcmdldHMKCjIwMDMtMDgtMTEgMTI6MTggIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBDVGVzdC9jbUNUZXN0U3VibWl0LmN4eDogRU5IOiBDbGVhbnVwIHRoZQoJICBvdXRwdXQKCjIwMDMtMDgtMTEgMTI6MTcgIGFuZHkKCgkqIE1vZHVsZXMvRGFydC5jbWFrZTogRU5IOiBUYWtlIFB1cmlmeSBvdXQgYmVjYXVzZSBpdCBpcyBub3QKCSAgaW1wbGVtZW50ZWQgeWV0CgoyMDAzLTA4LTExIDA5OjQ3ICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogUmVtb3ZlIGRlYnVnCgoyMDAzLTA4LTEwIDE4OjMwICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUFic3RyYWN0RmlsZXNDb21tYW5kLmgsIGNtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuaCwKCSAgY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmgsIGNtQWRkRGVmaW5pdGlvbnNDb21tYW5kLmgsCgkgIGNtQWRkRGVwZW5kZW5jaWVzQ29tbWFuZC5oLCBjbUFkZEV4ZWN1dGFibGVDb21tYW5kLmgsCgkgIGNtQWRkTGlicmFyeUNvbW1hbmQuaCwgY21BZGRUZXN0Q29tbWFuZC5oLAoJICBjbUF1eFNvdXJjZURpcmVjdG9yeUNvbW1hbmQuaCwgY21CdWlsZENvbW1hbmQuaCwKCSAgY21CdWlsZE5hbWVDb21tYW5kLmgsIGNtQ01ha2VNaW5pbXVtUmVxdWlyZWQuY3h4LAoJICBjbUNNYWtlTWluaW11bVJlcXVpcmVkLmgsIGNtQ1Rlc3QuY3h4LCBjbUNhY2hlTWFuYWdlci5jeHgsCgkgIGNtQ29tbWFuZC5oLCBjbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmgsIGNtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuaCwKCSAgY21FbmFibGVUZXN0aW5nQ29tbWFuZC5oLCBjbUVuZEZvckVhY2hDb21tYW5kLmgsCgkgIGNtRXhlY1Byb2dyYW1Db21tYW5kLmgsIGNtRXhwb3J0TGlicmFyeURlcGVuZGVuY2llcy5oLAoJICBjbUZMVEtXcmFwVUlDb21tYW5kLmgsIGNtRmlsZUNvbW1hbmQuaCwgY21GaW5kRmlsZUNvbW1hbmQuY3h4LAoJICBjbUZpbmRGaWxlQ29tbWFuZC5oLCBjbUZpbmRMaWJyYXJ5Q29tbWFuZC5oLAoJICBjbUZpbmRQYWNrYWdlQ29tbWFuZC5oLCBjbUZpbmRQYXRoQ29tbWFuZC5oLAoJICBjbUZpbmRQcm9ncmFtQ29tbWFuZC5jeHgsIGNtRmluZFByb2dyYW1Db21tYW5kLmgsCgkgIGNtRm9yRWFjaENvbW1hbmQuaCwgY21HZXRDTWFrZVByb3BlcnR5Q29tbWFuZC5oLAoJICBjbUdldFNvdXJjZUZpbGVQcm9wZXJ0eUNvbW1hbmQuaCwgY21HZXRUYXJnZXRQcm9wZXJ0eUNvbW1hbmQuaCwKCSAgY21HbG9iLmN4eCwgY21JVEtXcmFwVGNsQ29tbWFuZC5oLCBjbUlmQ29tbWFuZC5oLAoJICBjbUluY2x1ZGVDb21tYW5kLmgsIGNtSW5jbHVkZURpcmVjdG9yeUNvbW1hbmQuaCwKCSAgY21JbmNsdWRlRXh0ZXJuYWxNU1Byb2plY3RDb21tYW5kLmgsCgkgIGNtSW5jbHVkZVJlZ3VsYXJFeHByZXNzaW9uQ29tbWFuZC5oLCBjbUluc3RhbGxGaWxlc0NvbW1hbmQuaCwKCSAgY21JbnN0YWxsUHJvZ3JhbXNDb21tYW5kLmgsIGNtSW5zdGFsbFRhcmdldHNDb21tYW5kLmgsCgkgIGNtTGlua0RpcmVjdG9yaWVzQ29tbWFuZC5oLCBjbUxpbmtMaWJyYXJpZXNDb21tYW5kLmgsCgkgIGNtTG9hZENvbW1hbmRDb21tYW5kLmgsIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbU1hY3JvQ29tbWFuZC5oLCBjbU1ha2VEaXJlY3RvcnlDb21tYW5kLmgsIGNtTWFrZWZpbGUuY3h4LAoJICBjbU1ha2VmaWxlLmgsIGNtTWFya0FzQWR2YW5jZWRDb21tYW5kLmgsIGNtTWVzc2FnZUNvbW1hbmQuaCwKCSAgY21PcHRpb25Db21tYW5kLmgsIGNtT3V0cHV0UmVxdWlyZWRGaWxlc0NvbW1hbmQuaCwKCSAgY21Qcm9qZWN0Q29tbWFuZC5oLCBjbVFUV3JhcENQUENvbW1hbmQuaCwgY21RVFdyYXBVSUNvbW1hbmQuaCwKCSAgY21SZW1vdmVDb21tYW5kLmgsIGNtU2VwYXJhdGVBcmd1bWVudHNDb21tYW5kLmgsIGNtU2V0Q29tbWFuZC5oLAoJICBjbVNldFNvdXJjZUZpbGVzUHJvcGVydGllc0NvbW1hbmQuaCwKCSAgY21TZXRUYXJnZXRQcm9wZXJ0aWVzQ29tbWFuZC5oLCBjbVNpdGVOYW1lQ29tbWFuZC5oLAoJICBjbVNvdXJjZUZpbGUuaCwgY21Tb3VyY2VGaWxlc0NvbW1hbmQuaCwKCSAgY21Tb3VyY2VGaWxlc1JlbW92ZUNvbW1hbmQuaCwgY21Tb3VyY2VHcm91cENvbW1hbmQuaCwKCSAgY21TdHJpbmdDb21tYW5kLmgsIGNtU3ViZGlyQ29tbWFuZC5oLCBjbVN1YmRpckRlcGVuZHNDb21tYW5kLmgsCgkgIGNtU3lzdGVtVG9vbHMuY3h4LCBjbVRhcmdldC5oLCBjbVRhcmdldExpbmtMaWJyYXJpZXNDb21tYW5kLmgsCgkgIGNtVHJ5Q29tcGlsZUNvbW1hbmQuaCwgY21UcnlSdW5Db21tYW5kLmgsCgkgIGNtVXNlTWFuZ2xlZE1lc2FDb21tYW5kLmgsIGNtVXRpbGl0eVNvdXJjZUNvbW1hbmQuaCwKCSAgY21WVEtNYWtlSW5zdGFudGlhdG9yQ29tbWFuZC5oLCBjbVZUS1dyYXBKYXZhQ29tbWFuZC5oLAoJICBjbVZUS1dyYXBQeXRob25Db21tYW5kLmgsIGNtVlRLV3JhcFRjbENvbW1hbmQuaCwKCSAgY21WYXJpYWJsZVJlcXVpcmVzQ29tbWFuZC5oLCBjbVdpbjMyUHJvY2Vzc0V4ZWN1dGlvbi5jeHgsCgkgIGNtV3JhcEV4Y2x1ZGVGaWxlc0NvbW1hbmQuaCwgY21Xcml0ZUZpbGVDb21tYW5kLmgsIGNtYWtlLmN4eCwKCSAgY21ha2UuaCwgY21ha2V3aXphcmQuY3h4LCBjbWFrZXdpemFyZC5oOiByZW1vdmVkIHJlZHVuZGVudAoJICBpbmNsdWRlcwoKMjAwMy0wOC0xMCAxNjowMSAgbWFydGluawoKCSogU291cmNlLzogY21NYWtlRGVwZW5kLmN4eCwgY21NYWtlRGVwZW5kLmgsIGNtU291cmNlRmlsZS5jeHg6CgkgIHJlbW92ZWQgZHVwbGljYXRlIGluY2x1ZGVzCgoyMDAzLTA4LTEwIDE2OjAwICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IHJlbW92ZWQgZHVwbGljYXRlIGluY2x1ZGUKCjIwMDMtMDgtMDkgMTk6MzcgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRVJSOiBSZW5hbWUgc29tZSB2YXJpYWJsZXMgdG8gcmVtb3ZlIHNoYWRvdwoJICB3YXJuaW5nCgoyMDAzLTA4LTA4IDE4OjI4ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21DVGVzdC5oOiBFTkg6IEFkZCByZWdyZXNzaW9uIGltYWdlcwoJICBzdXBwb3J0CgoyMDAzLTA4LTA4IDE3OjEwICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogQmV0dGVyIG91dHB1dCBhbmQgdXNlIFJ1bk1ha2VDb21tYW5kIGZvcgoJICBjb25maWd1cmUKCjIwMDMtMDgtMDggMTE6NTkgIGFuZHkKCgkqIE1vZHVsZXMvOiBDTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgQ01ha2VEZXRlcm1pbmVDWFhDb21waWxlci5jbWFrZSwgQ01ha2VEZXRlcm1pbmVTeXN0ZW0uY21ha2UsCgkgIENNYWtlVGVzdENDb21waWxlci5jbWFrZSwgQ01ha2VUZXN0Q1hYQ29tcGlsZXIuY21ha2UsCgkgIENNYWtlVlM2RmluZE1ha2UuY21ha2UsIENNYWtlVlM3MUZpbmRNYWtlLmNtYWtlLAoJICBDTWFrZVZTN0ZpbmRNYWtlLmNtYWtlLCBDaGVja0Z1bmN0aW9uRXhpc3RzLmNtYWtlLAoJICBDaGVja0luY2x1ZGVGaWxlLmNtYWtlLCBDaGVja0luY2x1ZGVGaWxlQ1hYLmNtYWtlLAoJICBDaGVja0luY2x1ZGVGaWxlcy5jbWFrZSwgQ2hlY2tMaWJyYXJ5RXhpc3RzLmNtYWtlLAoJICBDaGVja1R5cGVTaXplLmNtYWtlLCBDaGVja1ZhcmlhYmxlRXhpc3RzLmNtYWtlLAoJICBGaW5kSFRNTEhlbHAuY21ha2UsIEZpbmRNRkMuY21ha2UsIFRlc3RCaWdFbmRpYW4uY21ha2UsCgkgIFRlc3RDWFhBY2NlcHRzRmxhZy5jbWFrZSwgVGVzdEZvckFOU0lGb3JTY29wZS5jbWFrZSwKCSAgVGVzdEZvclNURE5hbWVzcGFjZS5jbWFrZTogRU5IOiBDbGVhbnVwcyBhbmQgYWRkIG1pc3NpbmcKCSAgQ01ha2VPdXRwdXQubG9nIGFuZCBDTWFrZUVycm9yLmxvZyBhcHBlbmRpbmcuIENsb3NlIEJ1ZyAjMTM2IC0KCSAgVmVyaWZ5IHRoYXQgYWxsIG1vZHVsZXMgdGhhdCBkbyB0cnkgY29tcGlsZSBwcm9kdWNlCgkgIENNYWtlRXJyb3IubG9nIGFuZCBDTWFrZU91dHB1dC5sb2cKCjIwMDMtMDgtMDggMTE6MTkgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVN0YW5kYXJkSW5jbHVkZXMuaDogYWRkZWQgc3RkaW8KCjIwMDMtMDgtMDggMTA6NDAgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHg6IGZpZCBwb3N0IGJ1aWxkIGl1ZSBvbgoJICB2czYgdXRpbGl0eSB0YXJnZXRzCgoyMDAzLTA4LTA4IDEwOjIwICBhbmR5CgoJKiBUZXN0cy9TeXN0ZW1JbmZvcm1hdGlvbi9EdW1wSW5mb3JtYXRpb24uY3h4OiBFSE46IEFsc28gZGlzcGxheQoJICBDb25maWd1cmUuaCBhbmQgQ29uZmlndXJlLmh4eCBmcm9tIGNtc3lzCgoyMDAzLTA4LTA4IDEwOjA3ICBhbmR5CgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEVOSDogV2hlbiBmaXhpbmcgY2FjaGUgdmFsdWUgd2l0aAoJICB1bmluaXRpYWxpemVkIHR5cGUsIGNvbGxhcHNlIGZ1bGwgcGF0aHMgZm9yIFBBVEggYW5kIEZJTEVQQVRILgoJICBDbG9zZXMgQnVnICM4MiAtIFNwZWNpZnlpbmcgcmVsYXRpdmUgcGF0aCB3aGVuIGVudGVyaW5nIHBhdGggY2FuCgkgIGJyZWFrIHRoaW5ncwoKMjAwMy0wOC0wOCAwOToyNiAgYW5keQoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBFTkg6IEhhbmRsZSB1bnR5cGVkIGJ1dCBpbml0aWFsaXplZCB2YWx1ZXMKCSAgZm9yIGJvb2xlYW4gQWRkQ2FjaGVEZWZpbml0aW9uLiBDbG9zZXMgQnVnICMxMTggLSBTcGVjaWZ5aW5nCgkgIGNhY2hlIGVudHJpZXMgd2l0aCAtRCBzaG91bGQgbm90IG5lZWQgdGhlIHR5cGUKCjIwMDMtMDgtMDggMDk6MjIgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ2FjaGVNYW5hZ2VyLmN4eCwgY21DYWNoZU1hbmFnZXIuaDogRU5IOiBHZXQgYWNjZXNzb3IKCSAgZm9yIGNhY2hlIHZhbHVlIGFzIGJvb2xlYW4KCjIwMDMtMDgtMDggMDk6MTcgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogcmVtb3ZlIHNoYWRvd2VkIHZhcmlhYmxlCgoyMDAzLTA4LTA4IDA5OjE0ICBraW5nCgoJKiBTb3VyY2UvY21GaW5kUGFja2FnZUNvbW1hbmQuY3h4OiBFUlI6IEZpeGVkIHVzZSBvZiAhPSBvcGVyYXRvcgoJICBmb3Igc3RkOjpzdHJpbmcgb24gb2xkIGJyb2tlbiBjb21waWxlcnMuCgoyMDAzLTA4LTA4IDA4OjQ4ICBhbmR5CgoJKiBTb3VyY2UvY21ha2VtYWluLmN4eDogRU5IOiBBZGQgaGVscCBmb3IgY21ha2UgLUUKCjIwMDMtMDgtMDggMDg6NDggIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRU5IOiBGbHVzaCB0aGUgb3V0cHV0IGZpbGUsIHRvIG1ha2UgbW9yZSBuaWNlCgkgIG91dHB1dCBmb3IgdGFpbCAtZgoKMjAwMy0wOC0wNyAxOToyMyAgYW5keQoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaDogRU5IOiBBZGQgZGlzcGxheWluZyBvZiBkb3RzIHdoZW4KCSAgYnVpbGRpbmcgcHJvamVjdC4gQWxzbywgZmlsZSBpcyBub3cgd3JpdHRlbiBhcyB0aGUgb3V0cHV0IGlzCgkgIHByb2R1Y2VkLCBzbywgdGFpbCAtZiB3b3JrcywgYmFieS4uLgoKMjAwMy0wOC0wNyAxOTowMCAgYW5keQoKCSogU291cmNlLzogY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaDogRU5IOiBBYnN0cmFjdAoJICBwYXJzaW5nIG9mIGFyZ3VtZW50cyBzbyB0aGF0IEkgY2FuIHVzZSBpdCBpbiBvdGhlciBwbGFjZXMKCjIwMDMtMDgtMDcgMTg6NDQgIGFuZHkKCgkqIFNvdXJjZS9jbWFrZXRlc3QuY3h4OiBFTkg6IE1vcmUgdmVyYm9zZQoKMjAwMy0wOC0wNyAxNzo0MyAga2luZwoKCSogU291cmNlL2N0ZXN0LmN4eDogRU5IOiBDbGFyaWZpY2F0aW9uIG9mIGhlbHAgZHVtcGVkIHdoZW4gbm8KCSAgYXJndW1lbnRzIGFyZSBnaXZlbiBhbmQgbm8gdGVzdCBmaWxlIGlzIGZvdW5kLgoKMjAwMy0wOC0wNyAxNjo1NCAgaG9mZm1hbgoKCSogVGVzdHMvOiBDb21wbGV4L0NNYWtlTGlzdHMudHh0LCBDb21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dDogQlVHOiBmaXggdGhlIHRlc3QKCjIwMDMtMDgtMDcgMTY6NTAgIGtpbmcKCgkqIFNvdXJjZS9jbUZpbmRQYWNrYWdlQ29tbWFuZC5jeHg6IEVOSDogQWRkZWQgY29tcGF0YWJpbGl0eSBmb3IKCSAgY2FwaXRhbGl6YXRpb24gb2YgX0RJUiBhbmQgX0ZPVU5EIHZhcmlhYmxlcyBpbiBjbWFrZSAxLjYuCgoyMDAzLTA4LTA3IDE2OjMyICBhbmR5CgoJKiBNb2R1bGVzL0ZpbmRMQVRFWC5jbWFrZTogRU5IOiBBZGQgUERGTGFUZVggYW5kIExhVGVYMkhUTUwuIENsb3NlcwoJICBCdWcgIzEzMiAtIEFkZCBwZGZsYXRleCBhbmQgaHRtbDJsYXRleCB0byBGaW5kTEFURVguY21ha2UKCjIwMDMtMDgtMDcgMTY6MjYgIGFuZHkKCgkqIFNvdXJjZS86IGNtVmFyaWFibGVXYXRjaC5jeHgsIGNtVmFyaWFibGVXYXRjaC5oOiBFTkg6IEFkZCByZW1vdmUKCSAgd2F0Y2gKCjIwMDMtMDgtMDcgMTY6MjUgIGFuZHkKCgkqIENNYWtlTGlzdHMudHh0LCBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogRml4IGRlcGVuZGVuY2llcyBmb3IKCSAgY3Vyc2VzIGRpYWxvZwoKMjAwMy0wOC0wNyAxNjoxMSAga2luZwoKCSogU291cmNlL2NtYWtlLmN4eDogQlVHOiBGaXhlZCB0eXBvIGluIGVycm9yIG1lc3NhZ2UuCgoyMDAzLTA4LTA3IDE2OjA5ICBhbmR5CgoJKiBDTWFrZUxpc3RzLnR4dCwgU291cmNlL0NNYWtlTGlzdHMudHh0LAoJICBTb3VyY2UvY21UYXJnZXRMaW5rTGlicmFyaWVzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVRhcmdldExpbmtMaWJyYXJpZXNDb21tYW5kLmgsCgkgIFNvdXJjZS9DVGVzdC9DTWFrZUxpc3RzLnR4dDogRU5IOiBSZXBvcnQgYW4gZXJyb3Igd2hlbgoJICBBRERfTElCUkFSWSBhbmQgVEFSR0VUX0xJTktfTElCUkFSSUVTIGFyZSBpbiB0aGUgd3Jvbmcgb3JkZXIgYW5kCgkgIGZpeCBDTWFrZUxpc3RzIGZpbGVzIHRvIGFjdHVhbGx5IHdvcmsKCjIwMDMtMDgtMDcgMTY6MDQgIGhvZmZtYW4KCgkqIFRlc3RzL0NvbXBsZXgvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL2NtSW5jbHVkZUV4dGVybmFsTVNQcm9qZWN0Q29tbWFuZC5jeHg6IEVOSDogaW1wcm92ZQoJICBjb3ZlcmFnZQoKMjAwMy0wOC0wNyAxNTozOSAgYW5keQoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jOiBFTkg6IENhc3QgaW50byBhcHJvcHJpYXRlIHR5cGUgdG8KCSAgcmVtb3ZlIHdhcm5pbmcKCjIwMDMtMDgtMDcgMTQ6MzcgIGFuZHkKCgkqIFNvdXJjZS9jbVFUV3JhcFVJQ29tbWFuZC5jeHg6IEVOSDogVXNlIHRoZSBuZXcgc2lnbmF0dXJlCgoyMDAzLTA4LTA3IDE0OjM3ICBhbmR5CgoJKiBUZXN0cy9XcmFwcGluZy9DTWFrZUxpc3RzLnR4dDogRU5IOiBNb3JlIHZlcmJvc2UgdGVzdAoKMjAwMy0wOC0wNyAxNDoxMCAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlOiBCVUc6IGZpeCBmb3IgbWFpbiBpbiBhIGxpYnJhcnkKCSAgb24gd2luZG93cyB3aXRoIG5tYWtlCgoyMDAzLTA4LTA3IDExOjUzICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5oOiBFTkg6IEFkZGVkIGNvbnZlbmllbmNlCgkgIHNpZ25hdHVyZSB0byBPdXRwdXRNYWtlUnVsZS4KCjIwMDMtMDgtMDcgMTE6NDIgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBNYWtlZmlsZXMgbm93IGhhdmUKCSAgcnVsZXMgdG8gZG8gYSBnbG9iYWwgZ2VuZXJhdGUgaWYgdGhlIENNYWtlIGxpc3RmaWxlcyBoYXZlCgkgIGNoYW5nZWQuICBOZWNlc3NhcnkgZm9yIHdoZW4gdHJ5LWNvbXBpbGVzIGFyZSBhZGRlZCB0byBhCgkgIGxpc3RmaWxlLgoKMjAwMy0wOC0wNyAwOToxOSAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kTVBJLmNtYWtlLCBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OgoJICBCVUc6IGZpeCBmb3IgYnVncyAxMjUgLSAxMjgsIGFuZCBhIGZpeCBmb3IgdGhlIGJ1ZyBpbnRyb2R1Y2VkIGJ5CgkgIHRoZSBidWcgZml4IGZvciBidXQgOTIuICAmIHdhcyBiZWluZyByZXBsYWNlZCB3aXRoICZhbXAsIGJ1dAoJICBhZnRlciBkb3VibGUgcXVvdGUgd2FzIHJlcGxhY2VkIHdpdGggJnF1b3QgY2F1c2luZyBpdCB0byBiZQoJICAmYW1wO3F1b3QuICBBbHNvIGFkZCBtb3JlIHNlYXJjaCBwYXRocyBmb3IgbXBpCgoyMDAzLTA4LTA2IDE5OjE5ICBhbmR5CgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEVOSDogb29wcywgaW5pdGlhbGl6ZSB2YXJpYWJsZQoKMjAwMy0wOC0wNiAxODo1NCAgYW5keQoKCSogU291cmNlL2NtR2V0Q01ha2VQcm9wZXJ0eUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21HZXRDTWFrZVByb3BlcnR5Q29tbWFuZC5oLCBTb3VyY2UvY21NYWNyb0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZS5jeHgsIFNvdXJjZS9jbU1ha2VmaWxlLmgsCgkgIFRlc3RzL1N5c3RlbUluZm9ybWF0aW9uL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TeXN0ZW1JbmZvcm1hdGlvbi9EdW1wSW5mb3JtYXRpb24uY3h4OiBFTkg6IEFkZCBvcHRpb24gdG8KCSAgcmV0cmlldmUgbGlzdCBvZiBtYWNyb3MuIENsb3NlIEJ1ZyAjMjUgLSBHZXRfQ01BS0VfUFJPUEVSVElFUwoKMjAwMy0wOC0wNiAxODo0MyAga2luZwoKCSogU291cmNlL2NtRG9jdW1lbnRhdGlvbi5jeHg6IEJVRzogRG9uJ3QgdXNlIC1WIGFzIGEgdmVyc2lvbgoJICBvcHRpb24uICBJdCBjb25mbGljdHMgd2l0aCBjdGVzdC4KCjIwMDMtMDgtMDYgMTg6NDEgIGtpbmcKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEVOSDogUmVtb3ZlZCBvbGQgYXJndW1lbnQgcHJvY2Vzc2luZyBjb2RlIHRoYXQKCSAgbmV2ZXIgZG9lcyBhbnl0aGluZy4KCjIwMDMtMDgtMDYgMTg6MzkgIGtpbmcKCgkqIFNvdXJjZS86IGNtYWtld2l6YXJkLmN4eCwgQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTWFpbkZvcm0uY3h4OgoJICBCVUcjMTI5OiBGaXhlZCBsb2FkL3NhdmUgb2YgQ01ha2VDYWNoZS50eHQgd2hlbiBpdCBpcyBub3QgaW4gdGhlCgkgIGN1cnJlbnQgZGlyZWN0b3J5LgoKMjAwMy0wOC0wNiAxNzo1OCAgYW5keQoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IElmCgkgIENNQUtFX0VESVRfQ09NTUFORCBpcyBub3Qgc3BlY2lmaWVkLCB1c2UgY21ha2UgLWkKCjIwMDMtMDgtMDYgMTc6NTIgIGFuZHkKCgkqIGJvb3RzdHJhcDogRU5IOiBBZGQgcmVidWlsZF9jYWNoZQoKMjAwMy0wOC0wNiAxNzozMiAgYW5keQoKCSogTW9kdWxlcy9GaW5kVGhyZWFkcy5jbWFrZTogRU5IOiBPbiBhcHBsZSB1c2UgLWxwdGhyZWFkcwoKMjAwMy0wOC0wNiAxNToyMiAga2luZwoKCSogU291cmNlLzogY21JbnN0YWxsRmlsZXNDb21tYW5kLmgsIGNtSW5zdGFsbFByb2dyYW1zQ29tbWFuZC5oOgoJICBFTkg6IFR3ZWFrZWQgd2hpdGVzcGFjZSBpbiBkb2N1bWVudGF0aW9uIG9mIGNvbW1hbmQuCgoyMDAzLTA4LTA2IDE1OjE4ICBraW5nCgoJKiBTb3VyY2UvY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5oOiBFTkg6IFR3ZWFrZWQgd2hpdGVzcGFjZSBpbgoJICBkb2N1bWVudGF0aW9uIG9mIGNvbW1hbmQuCgoyMDAzLTA4LTA2IDE1OjEyICBraW5nCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NjbWFrZS5jeHg6IEVOSDogQWRkZWQgU0VFIEFMU08gc3VwcG9ydCBmb3IKCSAgZ2VuZXJhdGVkIHVuaXggbWFucGFnZS4KCjIwMDMtMDgtMDYgMTU6MTAgIGtpbmcKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogQlVHOiBXZSBkb24ndCB3YW50IHRvIGluc3RhbGwgY21ha2V0ZXN0IG9uCgkgIFVOSVggb3Igd2luZG93cy4gIEl0IGlzIGZvciBpbnRlcm5hbCBDTWFrZSB0ZXN0aW5nIG9ubHkuICBXZQoJICBzaG91bGQgcHJvYmFibHkgZm9sZCBpdHMgZnVuY3Rpb25hbGl0eSBpbnRvIGN0ZXN0IGFueXdheS4KCjIwMDMtMDgtMDYgMTU6MDMgIGtpbmcKCgkqIFNvdXJjZS9jdGVzdC5jeHgsIFV0aWxpdGllcy9DTWFrZUxpc3RzLnR4dDogRU5IOiBBZGRlZAoJICBkb2N1bWVudGF0aW9uIGZvciBjdGVzdC4KCjIwMDMtMDgtMDYgMTQ6NDkgIGtpbmcKCgkqIFNvdXJjZS86IGNtRG9jdW1lbnRhdGlvbi5jeHgsIGNtRG9jdW1lbnRhdGlvbi5oLCBjbWFrZW1haW4uY3h4LAoJICBDdXJzZXNEaWFsb2cvY2NtYWtlLmN4eDogRU5IOiBBZGRlZCBjb25maWd1cmF0aW9uIG9mIG5hbWUgb2YKCSAgZXhlY3V0YWJsZSBpbiBtYW4gcGFnZSBoZWFkZXIgYW5kIHZlcnNpb24gYmFubmVyLgoKMjAwMy0wOC0wNiAxMzo0OCAga2luZwoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IEhpZGUgd2luZG93cyBmb3IgcHJvY2Vzc2VzIHJ1biBieQoJICBSdW5TaW5nbGVDb21tYW5kLgoKMjAwMy0wOC0wNiAxMzo0MSAga2luZwoKCSogU291cmNlL2t3c3lzL1N5c3RlbVRvb2xzLmN4eDogRml4ZWQgaW5kZW50YXRpb24KCjIwMDMtMDgtMDYgMTI6NTIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBkbyBub3Qgb3V0cHV0IG1ha2UKCSAgaW5zdGFsbCBydWxlcyBvbiB3aW5kb3dzIGJlY2F1c2UgdGhleSBkbyBub3Qgd29yawoKMjAwMy0wOC0wNiAxMTo1MSAga2luZwoKCSogU291cmNlL2NtYWtldGVzdC5jeHg6IEJVRzogRml4ZWQgc3BhY2luZyBlcnJvciBpbiBtZXNzYWdlLgoKMjAwMy0wOC0wNiAxMDo0MiAga2luZwoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IEluc3RhbGwgdGVzdCBpcyBub3cgZW5hYmxlZCB3aGVuCgkgIENNQUtFX0lOU1RBTExfUFJFRklYIGlzIENNYWtlX0JJTkFSWV9ESVIvVGVzdHMvVGVzdEluc3RhbGwvUHJlZml4CgkgIHRvIGtlZXAgdGVzdCBpbiBvbmUgZGlyZWN0b3J5LgoKMjAwMy0wOC0wNiAxMDozOSAga2luZwoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9UZXN0SW5zdGFsbC5zaC5pbjogRU5IOiBBZGRlZAoJICBJbnN0YWxsIHRlc3QuICBJdCBpcyBlbmFibGVkIHdoZW4gdGhlIENNQUtFX0lOU1RBTExfUFJFRklYIGlzCgkgIENNYWtlX0JJTkFSWV9ESVIvSW5zdGFsbFRlc3QuCgoyMDAzLTA4LTA2IDEwOjE1ICBhbmR5CgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogRml4IGluc3RhbGwgcHJvYmxlbQoKMjAwMy0wOC0wNiAwOToyNyAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jOiBCVUc6IE5lZWQgdG8gcHJvdmlkZSBzdGRpbiB0byBjaGlsZAoJICBwcm9jZXNzZXMuCgoyMDAzLTA4LTA1IDE4OjI1ICBraW5nCgoJKiBUZXN0cy9Db21tYW5kTGluZVRlc3QvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkZWQgdGVzdCBvZgoJICAtLWNvcHlyaWdodCBhbmQgLS12ZXJzaW9uIGFyZ3VtZW50cyBmb3IgY292ZXJhZ2UuCgoyMDAzLTA4LTA1IDE4OjIyICBraW5nCgoJKiBUZXN0cy9Db21tYW5kTGluZVRlc3QvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkZWQgdGVzdCBvZiAtLWhlbHAKCSAgW2NvbW1hbmRdIGZvcm0gb2YgaGVscCBvcHRpb24gZm9yIGNvdmVyYWdlLgoKMjAwMy0wOC0wNSAxODoxMCAga2luZwoKCSogU291cmNlLzogY21Eb2N1bWVudGF0aW9uLmN4eCwgY21Eb2N1bWVudGF0aW9uLmg6IEVOSDogQWRkZWQKCSAgc3VwcG9ydCB0byAtLWhlbHAgdG8gcHJpbnQgaGVscCBmb3IgYSBzaW5nbGUgY29tbWFuZC4KCjIwMDMtMDgtMDUgMTc6MzkgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBGaXhlZAoJICBpbXBsZW1lbnRhdGlvbiBvZiBsb25nIGRlcGVuZGVuY3kgbGlzdCBzdXBwb3J0LiAgVGhlIHByb3h5IHRhcmdldAoJICBtdXN0IGhhdmUgYSBjb3JyZXNwb25kaW5nIGZpbGUgdG8gd29yayBjb3JyZWN0bHkuICBJbnN0ZWFkIG9mCgkgIHVzaW5nIGEgcHJveHkgdGFyZ2V0LCB3ZSBub3cganVzdCBsaXN0IG9uZSBsaW5lIGZvciBlYWNoCgkgIGRlcGVuZGVuY3kgYW5kIHRoZW4gcHJpbnQgb25lIGNvcHkgb2YgdGhlIGJ1aWxkIHJ1bGUgYXQgdGhlIGVuZC4KCjIwMDMtMDgtMDUgMTY6NTEgIGtpbmcKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEVOSDogQ2xhcmlmaWVkIHNvdXJjZSBkaXJlY3RvcnkgbWlzbWF0Y2gKCSAgbWVzc2FnZS4KCjIwMDMtMDgtMDUgMTY6MzYgIGtpbmcKCgkqIFNvdXJjZS86IGNtYWtlLmN4eCwgY21ha2UuaDogRU5IIzYxOiBjbWFrZSBhbmQgY2NtYWtlIG5vdyBzdXBwb3J0CgkgIHBhc3NpbmcgdGhlIHBhdGggdG8gYSBDTWFrZUNhY2hlLnR4dCBmaWxlIGFzIGFuIGFyZ3VtZW50LiAgSXRzCgkgIHNldHRpbmdzIHdpbGwgYmUgbG9hZGVkLgoKMjAwMy0wOC0wNSAxNjowNCAga2luZwoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHIzkyIC0gQWRkZWQgWE1MCgkgIGVzY2FwaW5nIGZvciA8LCA+LCBhbmQgJi4KCjIwMDMtMDgtMDUgMTU6MjAgIGFuZHkKCgkqIFRlc3RzL1N5c3RlbUluZm9ybWF0aW9uL0R1bXBJbmZvcm1hdGlvbi5jeHg6IEJVRzogT3BlbiBhcyBhc2NpaQoJICB0byByZW1vdmUgZXh0cmEgbmV3IGxpbmVzCgoyMDAzLTA4LTA1IDE1OjEwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBQcm9jZXNzRndkOXguYywgUHJvY2Vzc1dpbjMyLmM6IEVOSDogQWRkZWQKCSAgc2hvdy9oaWRlIHdpbmRvdyBzdXBwb3J0LgoKMjAwMy0wOC0wNSAxNDoyNyAga2luZwoKCSogU291cmNlL2t3c3lzLzogUHJvY2Vzcy5oLmluLCBQcm9jZXNzVU5JWC5jLCBQcm9jZXNzV2luMzIuYzogRU5IOgoJICBBZGRlZCBTZXRPcHRpb24vR2V0T3B0aW9uIG1ldGhvZHMgZm9yIHBsYXRmb3JtLXNwZWNpZmljIG9wdGlvbnMuCgoyMDAzLTA4LTA1IDEzOjUzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYzogQlVHOiBDYW4ndCBjbG9zZSBzdGRpbi4KCjIwMDMtMDgtMDUgMTE6MzQgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jOiBCVUc6IEFkZGVkIG1pc3NpbmcKCSAgemVyby1pbml0aWFsaXphdGlvbiBvZiBzdHJ1Y3Qgc2lnYWN0aW9uLgoKMjAwMy0wOC0wNSAwOTo1NSAgbWFydGluawoKCSogTW9kdWxlcy86IENNYWtlVGVzdE5NYWtlQ0xWZXJzaW9uLmMsIFBsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2U6CgkgIGFkZGVkIHRlc3QgZm9yIHdoZXRoZXIgcGRidHlwZSBzaG91bGQgYmUgdXNlZCBmb3Igbm1ha2UKCjIwMDMtMDgtMDUgMDk6MDcgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jOiBCVUc6IEdldEVycm9yU3RyaW5nIHNob3VsZCByZXR1cm4KCSAgRXJyb3JNZXNzYWdlIGJ1ZmZlciwgbm90IHRoZSBwaXBlIGJ1ZmZlci4KCjIwMDMtMDgtMDUgMDk6MDcgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogbWlub3IgZml4CgoyMDAzLTA4LTA1IDA4OjQ5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5oOiBhZGRlZCBvdXRwdXRFY2hvIG1ldGhvZCBhbmQgZml4ZWQKCSAgbWFrZSBoZWxwIGZvciBubWFrZSBhbmQgYm9ybGFuZAoKMjAwMy0wOC0wNCAxNzowOCAga2luZwoKCSogTW9kdWxlcy86IENNYWtlVGVzdENDb21waWxlci5jbWFrZSwgQ01ha2VUZXN0Q1hYQ29tcGlsZXIuY21ha2U6CgkgIEVSUjogRml4ZWQgdHlwZW8gdGVzdHMtPnRlc3QuCgoyMDAzLTA4LTA0IDE1OjM1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IGFkZGVkIG1ha2UgaGVscCB0YXJnZXQKCSAgZmlyc3QgY3V0CgoyMDAzLTA4LTA0IDE0OjM0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IGZpeCBmb3IgZGVidWcgbGlicyBvbgoJICBVTklYCgoyMDAzLTA4LTA0IDExOjQ4ICBhbmR5CgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEVOSDogSW1wcm92ZSBwYXRocyBvbiB3aW5kb3dzCgoyMDAzLTA4LTA0IDA3OjU1ICBhbmR5CgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEVOSDogRml4IGVzY2FwaW5nIG9uIHdpbmRvd3MKCjIwMDMtMDgtMDQgMDc6MTIgIGFuZHkKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogRU5IOiBGaXggYXJndW1lbnQgcGFyc2luZyBvbiBVTklYIHdpdGgKCSAgc3BhY2VzCgoyMDAzLTA4LTAzIDIyOjQxICBhbmR5CgoJKiBTb3VyY2UvY21TaXRlTmFtZUNvbW1hbmQuY3h4OiBFTkg6IFVzZSBuZXcgUnVuQ29tbWFuZAoKMjAwMy0wOC0wMyAyMjozNiAgYW5keQoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaDogRU5IOiBVc2UgbmV3IFJ1bkNvbW1hbmQKCjIwMDMtMDgtMDMgMjI6MzQgIGFuZHkKCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwgY21ha2UuY3h4LCBjbWFrZXRlc3QuY3h4OgoJICBFTkg6IFVzZSB0aGUgbmV3IFJ1bkNvbW1hbmQKCjIwMDMtMDgtMDMgMjI6MzMgIGFuZHkKCgkqIFNvdXJjZS86IGNtQnVpbGROYW1lQ29tbWFuZC5jeHgsIGNtVHJ5UnVuQ29tbWFuZC5jeHgsCgkgIGNtU2l0ZU5hbWVDb21tYW5kLmN4eDogRU5IOiBVc2UgdGhlIG5ldyBzaWduYXR1cmUKCjIwMDMtMDgtMDMgMjI6MzIgIGFuZHkKCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmg6IEVOSDogQWRkIGJhY2sgdGhlCgkgIGt3c3lzUHJvY2VzcyBSdW5Db21tYW5kLCBub3cgaXMgaW4gcGFyYWxsZWwKCjIwMDMtMDgtMDMgMjA6NDcgIGFuZHkKCgkqIFNvdXJjZS9jbUdldENNYWtlUHJvcGVydHlDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtR2V0Q01ha2VQcm9wZXJ0eUNvbW1hbmQuaCwgU291cmNlL2NtYWtlLmgsCgkgIFRlc3RzL1N5c3RlbUluZm9ybWF0aW9uL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9TeXN0ZW1JbmZvcm1hdGlvbi9EdW1wSW5mb3JtYXRpb24uY3h4OiBFTkg6IEFkZCBhY2Nlc3NvcgoJICBmb3IgdGhlIGxpc3Qgb2YgY29tbWFuZHMKCjIwMDMtMDgtMDIgMDk6MzMgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ2FjaGVNYW5hZ2VyLmN4eCwgY21DYWNoZU1hbmFnZXIuaCwgY21NYWtlZmlsZS5jeHg6CgkgIEJVRzogRml4IHByb2JsZW0gd2l0aCB1bmluaXRpYWxpemVkIHZhcmlhYmxlcwoKMjAwMy0wOC0wMSAxOToxMyAgYW5keQoKCSogTW9kdWxlcy9GaW5kUXQuY21ha2UsIFRlc3RzL1dyYXBwaW5nL0NNYWtlTGlzdHMudHh0OiBFTkg6IE1ha2UgaXQKCSAgd29yayBmb3IgUVQgMi4zIG5vbiBjb21tZXJjaWFsIG9uIHdpbmRvd3MKCjIwMDMtMDgtMDEgMTg6NTMgIGFuZHkKCgkqIFNvdXJjZS9jbVFUV3JhcFVJQ29tbWFuZC5jeHg6IEVOSDogTWFrZSBvdXQgb2Ygc291cmNlIHdvcmsgb24KCSAgV2luZG93cwoKMjAwMy0wOC0wMSAxODo1MiAgYW5keQoKCSogVGVzdHMvV3JhcHBpbmcvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkIG1vcmUgZGVidWcKCjIwMDMtMDgtMDEgMTg6NTIgIGFuZHkKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBGaXggdGVzdCBmb3IgVmlzdWFsIFN0dWRpbwoKMjAwMy0wOC0wMSAxNzoxMSAgYW5keQoKCSogTW9kdWxlcy9GaW5kVGhyZWFkcy5jbWFrZTogRU5IOiBNQWtlIGl0IHdvcmsgb24gRnJlZUJTRAoKMjAwMy0wOC0wMSAxNjo0OCAgYW5keQoKCSogTW9kdWxlcy86IENoZWNrRm9yUHRocmVhZHMuYywgRmluZFRocmVhZHMuY21ha2U6IEVOSDogRG8gYmV0dGVyCgkgIHRlc3QgZm9yIHB0aHJlYWRzCgoyMDAzLTA4LTAxIDE2OjQ4ICBhbmR5CgoJKiBNb2R1bGVzL0ZpbmRRdC5jbWFrZTogRU5IOiBGaXggaW5kZW50YXRpb24KCjIwMDMtMDgtMDEgMTY6NDcgIGFuZHkKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRVJSOiBSZW1vdmUgZGVidWcKCjIwMDMtMDgtMDEgMTU6NDEgIGhvZmZtYW4KCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguZmlsZS5jeHgsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmZpbGUuY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguZmlsZS5jeHg6IGFkZCBtaXNzaW5nCgkgIGZpbGUKCjIwMDMtMDgtMDEgMTU6MzMgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBEZXBlbmRlbmN5IGxpc3RzCgkgIGFyZSBub3cgc3BsaXQgaW50byBtdWx0aXBsZSBtYWtlIGxpbmVzIHRvIGFsbG93IGxvbmdlciBsaXN0cyBvbgoJICBsaW1pdGVkIG1ha2UgcHJvZ3JhbXMuCgoyMDAzLTA4LTAxIDE1OjMzICBhbmR5CgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogQWRkIHN1cHBvcnQgZm9yCgkgIC1wdGhyZWFkCgoyMDAzLTA4LTAxIDE1OjI3ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogQWRkaW5nIGxpbmsgZmxhZ3MKCSAgdG8gYW4gZXhlY3V0YWJsZSB0aGF0IGxpbmtzIHRvIHNoYXJlZCBsaWJyYXJpZXMgbXVzdCBiZSBkb25lIGZvcgoJICBib3RoIEVYRUNVVEFCTEUgYW5kIFdJTjMyX0VYRUNVVEFCTEUgdGFyZ2V0cy4KCjIwMDMtMDgtMDEgMTQ6MzQgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQ6IEJVRyAoODUpOgoJICBhbGxvdyAuIHRvIGJlIGluIHRoZSBuYW1lIG9mIGFuIGV4ZWN1dGFibGUKCjIwMDMtMDgtMDEgMTQ6MTAgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ2FjaGVNYW5hZ2VyLmN4eCwgY21DYWNoZU1hbmFnZXIuaCwgY21NYWtlZmlsZS5jeHgsCgkgIGNtYWtlLmN4eDogRU5IOiBBbGxvdyBzcGVjaWZ5aW5nIGNtYWtlIHZhcmlhYmxlcyBvbiB0aGUgY29tbWFuZAoJICBsaW5lIHdpdGhvdXQgc3BlY2lmeWluZyB0aGUgdHlwZSBCdWcgIzExOCAtIFNwZWNpZnlpbmcgY2FjaGUKCSAgZW50cmllcyB3aXRoIC1EIHNob3VsZCBub3QgbmVlZCB0aGUgdHlwZQoKMjAwMy0wOC0wMSAxNDoxMCAgbWFydGluawoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBhbGwgTWFrZWZpbGVzIG5vdyBoYXZlCgkgIGJvdGggZnVsbCBwYXRoIHRvIGV4ZSBhbmQgc2hvcnQgdmVyc2lvbgoKMjAwMy0wOC0wMSAxMzo1NCAgbWFydGluawoKCSogU291cmNlL2NtVXRpbGl0eVNvdXJjZUNvbW1hbmQuY3h4OiBmaXggZm9yIHV0aWxpdHkgY29tbWFuZAoJICB3aXRob3V0IEVYRUNVVEFCTEVfT1VUUFVUX1BBVEgKCjIwMDMtMDgtMDEgMTM6MjQgIGFuZHkKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBTeW50YXggY2xlYW51cAoKMjAwMy0wOC0wMSAxMzoxMyAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxOTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuaDoKCSAgRU5IOiBhbGxvdyBsaWIgcHJlZml4IGZvciB0byBzdGF5IGZvciBubWFrZSBhbmQgYm9ybGFuZCBtYWtlIGFzCgkgIGl0IGlzIG5vdCBhIHN5c3RlbSBwcmVmaXgKCjIwMDMtMDgtMDEgMTM6MDAgIG1hcnRpbmsKCgkqIENNYWtlTGlzdHMudHh0OiBjaGFuZ2UgbGliIHBhdGggYmFjayB0byBlbXB0eQoKMjAwMy0wOC0wMSAxMjo0OSAgYW5keQoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IEZpeCBlY2hvJ3MgdG8gdXNlCgkgIEBlY2hvLiBUaGlzIHdheSB2ZXJib3NlIG1vZGUgZG9lcyBub3QgcHJpbnQgdHdpY2U6IEJ1ZyAjNDUgLSBhZGQKCSAgQCBmcm9tIGVjaG8gY29tbWFuZHMKCjIwMDMtMDgtMDEgMTE6NTggIG1hcnRpbmsKCgkqIENNYWtlTGlzdHMudHh0OiBtYWRlIG1vcmUgb3B0aW9ucyBhZHZhbmNlZAoKMjAwMy0wOC0wMSAwOToxOCAgYW5keQoKCSogVGVzdHMvV3JhcHBpbmcvQ01ha2VMaXN0cy50eHQ6IEVSUjogT25seSBsaW5rIHF0IHRvIHF0IGV4ZWN1dGFibGUKCjIwMDMtMDgtMDEgMDk6MTEgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUV4cG9ydExpYnJhcnlEZXBlbmRlbmNpZXMuY3h4OiBmaXggZm9yIGJ1ZyAjIDEwMQoKMjAwMy0wNy0zMSAxNjo0MyAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eDogQlVHOiB3aGVuIGNyZWF0aW5nIHJ1bGUKCSAgZmlsZXMgcmVtb3ZlIHRoZSBJbnREaXIKCjIwMDMtMDctMzEgMTU6MzIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVRhcmdldC5jeHg6IEVOSDogYWRkIHN1cHBvcnQgZm9yIE9CSkVDVF9ERVBFTkRTIGZvcgoJICB2aXN1YWwgc3R1ZGlvCgoyMDAzLTA3LTMxIDE0OjQ2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IGJ1ZyBmaXggZm9yIGJ1ZyAjIDExNwoKMjAwMy0wNy0zMSAxMzoxNSAgYW5keQoKCSogTW9kdWxlcy9GaW5kd3hXaW5kb3dzLmNtYWtlOiBtYWRlIGEgbWlub3IgYnVnZml4IG9uIG15CgkgIEZpbmR3eFdpbmRvd3MuY21ha2UuCUkgY2Fwc3VsYXRlZCB0aGUgcmVndWxhciBleHByZXNzaW9uCgkgIG1hdGNoaW5nIGZvciB0aGUgbGliZHJzIHdpdGggYW5vdGhlciBJRiAobGluZSAzNTUpLiAgQnk6IEphbgoJICBXb2V0emVsCgoyMDAzLTA3LTMxIDA4OjUwICBhbmR5CgoJKiBUZXN0cy9XcmFwcGluZy9DTWFrZUxpc3RzLnR4dDogRVJSOiBBdHRlbXB0IHRvIGZpeCB3cmFwcGluZyBvbgoJICBXaW5kb3dzCgoyMDAzLTA3LTMxIDA4OjMzICBhbmR5CgoJKiBUZXN0cy9XcmFwcGluZy9XcmFwLmM6IEVOSDogRml4IHByb2JsZW0gb24gSFAuIFdoYXkgc2hvdWxkIEsmUiBiZQoJICBkZWZhdWx0PwoKMjAwMy0wNy0zMCAxNTozOCAgYW5keQoKCSogTW9kdWxlcy9GaW5kUXQuY21ha2U6IEVOSDogd2hlbiBsaW5raW5nIGluIFFULCB3ZSBzaG91bGQgYWxzbwoJICBsaW5rIERMLCBzaW5jZSBRVCB1c2VzIHRoZW0KCjIwMDMtMDctMzAgMTM6MzkgIGFuZHkKCgkqIE1vZHVsZXMvRmluZFF0LmNtYWtlOiBFTkg6IFFUIGlmIGl0IGlzIG11bHRpIHRocmVhZGVkIHNob3VsZCBsaW5rCgkgIGluIHRocmVhZHMKCjIwMDMtMDctMzAgMTM6MjggIGFuZHkKCgkqIFRlc3RzL1dyYXBwaW5nLzogQ01ha2VMaXN0cy50eHQsIGZvby51aS5pbjogRU5IOiBSZWFsbHkgdGVzdCB1aWMKCSAgYW5kIHBlcmZvcm0gY29uZmlndXJlZCB1aWMgdGVzdAoKMjAwMy0wNy0zMCAxMzoyNyAgYW5keQoKCSogU291cmNlL2NtUVRXcmFwVUlDb21tYW5kLmN4eDogRU5IOiBBbGxvdyBxdCB1aSBmaWxlcyBiZWluZyBpdCB0aGUKCSAgYmluYXJ5IGRpci4gQnVnICMxMTAgLSBRVF9XUkFQX1VJIHByb2JsZW0gb24gb3V0LW9mLXNvdXJjZSBidWlsZHMKCjIwMDMtMDctMzAgMTM6MTEgIGFuZHkKCgkqIFNvdXJjZS9jbWFrZXRlc3QuY3h4OiBFTkg6IEFsc28gZmFpbCB3aGVuIG1ha2UKCSAgZmFpbHNTb3VyY2UvY21ha2V0ZXN0LmN4eAoKMjAwMy0wNy0zMCAxMzoxMCAgYW5keQoKCSogVGVzdHMvV3JhcHBpbmcvOiBDTWFrZUxpc3RzLnR4dCwgV3JhcC5jOiBFTkg6IEFkZCBleGVjdXRhYmxlIGZvcgoJICB3cmFwcGluZyB0ZXN0LCBzbyB0aGF0IG1ha2Ugc3RhZ2UgYWN0dWFsbHkgcGFzc2VzCgoyMDAzLTA3LTI5IDE4OjA2ICBhbmR5CgoJKiBTb3VyY2UvY21HbG9iLmN4eDogRU5IOiBTcGVlZHVwIGdsb2JiaW5nIGFuZCBhdHRlbXB0IHRvIGZpeAoJICBjeWd3aW4gcHJvYmxlbQoKMjAwMy0wNy0yOSAxNzoxNSAgYW5keQoKCSogTW9kdWxlcy9GaW5kUXQuY21ha2U6IEVOSDogVXNlIEZpbmRYMTEgd2hlbiBkb2luZyBRdCBvbiB1bml4CgoyMDAzLTA3LTI5IDEzOjM2ICBhbmR5CgoJKiBNb2R1bGVzL1VzZV93eFdpbmRvd3MuY21ha2U6IEVOSDogQWRkIFVzZSBmaWxlIGZvciB3eFdpbmRvd3MuCgkgIFRoYW5rcyBKYW4gV29ldHplbAoKMjAwMy0wNy0yOSAwNzo0MSAgYW5keQoKCSogTW9kdWxlcy9GaW5kd3hXaW5kb3dzLmNtYWtlOiBFTkg6IEltcHJvdmVkIGZpbmQgbW9kdWxlLiBUaGFuayB5b3UKCSAgSmFuIFdvZXR6ZWwKCjIwMDMtMDctMjkgMDc6MDEgIGFuZHkKCgkqIFNvdXJjZS9jbUFkZEN1c3RvbUNvbW1hbmRDb21tYW5kLmN4eDogRU5IOiBGaXggdHlwbzogQnVnICMxMDAgLQoJICBTcGVsbGluZyBjb3JyZWN0aW9uIHRvIGFuIGVycm9yIG1lc3NhZ2UKCjIwMDMtMDctMjggMTg6MTIgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbU1ha2VEZXBlbmQuY3h4LAoJICBjbU1ha2VEZXBlbmQuaDogRU5IOiBwZXJmb3JtYW5jZSBmaXhlcyBmb3IgbmV0d29yayBkZXBlbmRzCgoyMDAzLTA3LTI4IDE0OjQzICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbVNvdXJjZUdyb3VwQ29tbWFuZC5jeHgsIGNtU291cmNlR3JvdXBDb21tYW5kLmg6IEVOSDoKCSAgcHV0IGJhY2sgb2xkIHN0eWxlIGNhbGwgdG8gU09VUkNFX0dST1VQLCBubyBuZWVkIHRvIGJyZWFrIHRoaW5ncwoJICBmb3IgdGhpcwoKMjAwMy0wNy0yOCAxMzo0MCAgaG9mZm1hbgoKCSogU291cmNlL2NtYWtlLmN4eDogQlVHOiBtYWtlIHN1cmUgaW5pdGlhbCBjYWNoZSBmaWxlIHJlYWQgb25seQoJICByZWFkcyBvbmUgZmlsZSwgYW5kIGRvZXMgbm90IGxvb2sgZm9yIENNYWtlTGlzdHMudHh0IGZpbGVzIG9uIHRoZQoJICBlbnRpcmUgZGlzawoKMjAwMy0wNy0yNSAxMzozOSAgaG9mZm1hbgoKCSogU291cmNlL2NtYWtlLmN4eDogYWRkIGEgYmV0dGVyIG1lc3NhZ2UgZm9yIHRoZSBHVUkgaWYgbm8KCSAgQ01ha2VMaXN0cy50eHQgZmlsZSBpcyBmb3VuZC4KCjIwMDMtMDctMjUgMTI6NTAgIGhvZmZtYW4KCgkqIFRlc3RzL1dyYXBwaW5nL0NNYWtlTGlzdHMudHh0OiBmb3IgdW5peCBhZGQgeDExIGFuZCBwdGhyZWFkcyBmb3IKCSAgcXQKCjIwMDMtMDctMjQgMTE6NTMgIGFuZHkKCgkqIFNvdXJjZS9jbUdsb2IuY3h4OiBFTkg6IFJlbW92ZSB3YXJuaW5nCgoyMDAzLTA3LTI0IDExOjM3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IGZpeCBmb3IgdXRpbGl0eSBkZXBlbmRzCgkgIGJ1ZyM3NgoKMjAwMy0wNy0yNCAxMTozMyAga2luZwoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9GaW5kUGFja2FnZVRlc3QvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0ZpbmRQYWNrYWdlVGVzdC9GaW5kUGFja2FnZVRlc3QuY3h4OiBFTkg6IEFkZGVkCgkgIEZpbmRQYWNrYWdlVGVzdCB0byBpbXByb3ZlIGNvdmVyYWdlLgoKMjAwMy0wNy0yNCAxMTozMiAga2luZwoKCSogU291cmNlLzogY21GaW5kUGFja2FnZUNvbW1hbmQuY3h4LCBjbUZpbmRQYWNrYWdlQ29tbWFuZC5oOiBFTkg6CgkgIEltcGxlbWVudGVkIFFVSUVUIGFyZ3VtZW50IHByb3BhZ2F0aW9uIHRvIEZPT19GSU5EX1FVSUVUTFkKCSAgc2V0dGluZyBpbiBGaW5kRk9PLmNtYWtlIG1vZHVsZSB0aGF0IGlzIGZvdW5kLgoKMjAwMy0wNy0yNCAxMToxMiAgYW5keQoKCSogU291cmNlL2NtR2xvYi5jeHg6IEVOSDogT24gd2luZG93cyBoYW5kbGUgbmV0d29yayBwYXRocwoKMjAwMy0wNy0yNCAxMTowNiAga2luZwoKCSogTW9kdWxlcy9GaW5kVlRLLmNtYWtlOiBFTkg6IEltcHJvdmVkIGVycm9yIG1lc3NhZ2UgZm9yIFZUS19ESVIKCSAgbm90IGZvdW5kIHRvIHJlZmVyIHRvIGl0IGFzIGEgY2FjaGUgZW50cnkuICBTb21lIHVzZXJzIHRob3VnaHQKCSAgdGhpcyB3YXMgc3VwcG9zZWQgdG8gYmUgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUuCgoyMDAzLTA3LTI0IDEwOjU4ICBraW5nCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbUR1bXBEb2N1bWVudGF0aW9uLmN4eCwKCSAgVGVzdHMvQ29tbWFuZExpbmVUZXN0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21tYW5kTGluZVRlc3QvQ29tbWFuZExpbmVUZXN0LmN4eCwKCSAgVGVzdHMvU3RyaW5nRmlsZVRlc3QvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkZWQgQ29tbWFuZExpbmVUZXN0CgkgIHRvIGFkZCBjb3ZlcmFnZSBmb3IgY29tbWFuZCBsaW5lIGFyZ3VtZW50cyB0byBjbWFrZSBleGVjdXRhYmxlcy4KCSAgVGhpcyByZXBsYWNlcyB0aGUgb2xkIER1bXBEb2N1bWVudGF0aW9uIHRlc3QuCgoyMDAzLTA3LTIzIDE4OjAxICBhbmR5CgoJKiBUZXN0cy9TdHJpbmdGaWxlVGVzdC9DTWFrZUxpc3RzLnR4dDogRU5IOiBNb3JlIGNvdmVyYWdlCgoyMDAzLTA3LTIzIDE3OjU5ICBraW5nCgoJKiBVdGlsaXRpZXMvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkZWQgYnVpbGQgb2YgZG9jdW1lbnRhdGlvbiBmb3IKCSAgQ01ha2VTZXR1cC4KCjIwMDMtMDctMjMgMTc6MjcgIGtpbmcKCgkqIFNvdXJjZS86IGNtRG9jdW1lbnRhdGlvbi5jeHgsIGNtRG9jdW1lbnRhdGlvbi5oOiBFTkg6CgkgIENoZWNrT3B0aW9ucyBub3cgdGFrZXMgY29uc3QgYXJndi4KCjIwMDMtMDctMjMgMTU6NDUgIGtpbmcKCgkqIFNvdXJjZS9jbVNvdXJjZUdyb3VwQ29tbWFuZC5jeHg6IEVOSDogQWRkZWQgYmFja3dhcmRzCgkgIGNvbXBhdGFiaWxpdHkuCgoyMDAzLTA3LTIzIDE1OjMyICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwgY21NYWtlZmlsZS5jeHgsCgkgIGNtU291cmNlR3JvdXAuY3h4LCBjbVNvdXJjZUdyb3VwLmgsIGNtU291cmNlR3JvdXBDb21tYW5kLmN4eCwKCSAgY21Tb3VyY2VHcm91cENvbW1hbmQuaDogRU5IOiBGdWxseSBpbXBsZW1lbnRlZCBTT1VSQ0VfR1JPVVAKCSAgY29tbWFuZC4KCjIwMDMtMDctMjMgMTQ6MzEgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1BsdWdpbkFQSS5jeHgsIGNtQ1BsdWdpbkFQSS5oOiBFTkg6IEZpeCBjb21wYXRpYmlsaXR5CgoyMDAzLTA3LTIzIDEwOjM5ICBraW5nCgoJKiBTb3VyY2UvY21Tb3VyY2VHcm91cENvbW1hbmQuY3h4OiBCVUc6IEZpeGVkIG9mZi1ieS1vbmUgZXJyb3IgaW4KCSAgZmlsZSBsaXN0IGxvb3AuICBGaXggc3VibWl0dGVkIGJ5IERhdmlkIEEuIEthcnIuCgoyMDAzLTA3LTIzIDEwOjI2ICBhbmR5CgoJKiBTb3VyY2UvY21HbG9iLmN4eDogRU5IOiBPbiB3aW5kb3dzIGFuZCBhcHBsZSBoYW5kbGUKCSAgbG93ZXJjYXNlL3VwZXJjYXNlIGZpbGUgbmFtZSBwcm9ibGVtCgoyMDAzLTA3LTIzIDA5OjEwICBraW5nCgoJKiBUZXN0cy9TdHJpbmdGaWxlVGVzdC9DTWFrZUxpc3RzLnR4dDogRU5IOiBBZGRlZCBtb3JlIHZlcmJvc2UKCSAgb3V0cHV0IG9mIHdoYXQgZ2xvYmJpbmcgcmVzdWx0cy4KCjIwMDMtMDctMjMgMDg6NTggIGtpbmcKCgkqIFV0aWxpdGllcy9DTWFrZUxpc3RzLnR4dDogQlVHOiBEb24ndCBpbnN0YWxsIGNjbWFrZSBkb2N1bWVudGF0aW9uCgkgIGlmIG5vIGNjbWFrZSB3YXMgYnVpbHQuCgoyMDAzLTA3LTIzIDA4OjM3ICBraW5nCgoJKiBib290c3RyYXA6IEVOSDogQWRkaW5nIGZvcmNlZCBzZXR0aW5ncyBmb3IgcHJlZml4LCBkb2NkaXIsCgkgIG1hbmRpciwgYW5kIGRhdGFkaXIuCgoyMDAzLTA3LTIyIDE3OjA5ICBhbmR5CgoJKiBEYXJ0Q29uZmlnLmNtYWtlOiBFTkg6IERpcmVjdCBsaW5rIHRvIGNtYWtlIGJ1Z3MKCjIwMDMtMDctMjIgMTM6NTMgIGFuZHkKCgkqIFNvdXJjZS9jbUNQbHVnaW5BUEkuY3h4OiBFUlI6IEZpeCBlcnJvciBvbiBiYWQgQysrIGNvbXBpbGVyIHRoYXQKCSAgZG8gbm90IGhhbmRsZSByZXR1cm4gdm9pZAoKMjAwMy0wNy0yMiAxMzoxNSAgYW5keQoKCSogU291cmNlL2NtVGFyZ2V0LmN4eDogQlVHOiBGaXggY29weS9wYXN0ZSB0eXBvCgoyMDAzLTA3LTIyIDEzOjE0ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNQbHVnaW5BUEkuY3h4LCBjbUNQbHVnaW5BUEkuaDogRU5IOiBBZGQgRGlzcGxheVN0YXR1cwoKMjAwMy0wNy0yMiAxMjoyMSAgYW5keQoKCSogVGVzdHMvOiBMb2FkQ29tbWFuZC9Mb2FkZWRDb21tYW5kLmN4eCwKCSAgTG9hZENvbW1hbmQvQ01ha2VDb21tYW5kcy9jbVRlc3RDb21tYW5kLmMsCgkgIExvYWRDb21tYW5kT25lQ29uZmlnL0xvYWRlZENvbW1hbmQuY3h4LAoJICBMb2FkQ29tbWFuZE9uZUNvbmZpZy9DTWFrZUNvbW1hbmRzL2NtVGVzdENvbW1hbmQuYzogRU5IOiBNb3JlCgkgIGNvdmVyYWdlCgoyMDAzLTA3LTIyIDExOjE3ICBhbmR5CgoJKiBUZXN0cy9TdHJpbmdGaWxlVGVzdC9DTWFrZUxpc3RzLnR4dDogRU5IOiBNb3JlIGNvdmVyYWdlCgoyMDAzLTA3LTIyIDEwOjQ1ICBhbmR5CgoJKiBUZXN0cy9TdHJpbmdGaWxlVGVzdC9DTWFrZUxpc3RzLnR4dDogRU5IOiBJbmNyZWFzZSBjb3ZlcmFnZQoKMjAwMy0wNy0yMSAxNzoxNCAga2luZwoKCSogVXRpbGl0aWVzL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZGVkIGdlbmVyYXRpb24gb2YgY2NtYWtlCgkgIGRvY3VtZW50YXRpb24gb24gVU5JWC4KCjIwMDMtMDctMjEgMTc6MTMgIGtpbmcKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvY2NtYWtlLmN4eDogRU5IOiBBZGRlZCBpbnRyb2R1Y3Rpb24gcGFyYWdyYXBoCgkgIHRvIGRvY3VtZW50YXRpb24uCgoyMDAzLTA3LTIxIDE2OjM4ICBraW5nCgoJKiBDTWFrZUxpc3RzLnR4dCwgYm9vdHN0cmFwLCBNb2R1bGVzL0NNYWtlTGlzdHMudHh0LAoJICBNb2R1bGVzL1BsYXRmb3JtL0NNYWtlTGlzdHMudHh0LCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9jbUNvbW1hbmRzLmN4eCwgU291cmNlL2NtQ29uZmlndXJlLmNtYWtlLmguaW4sCgkgIFNvdXJjZS9jbWFrZS5jeHgsIFRlbXBsYXRlcy9DTWFrZUxpc3RzLnR4dCwKCSAgVXRpbGl0aWVzL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZGVkIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gb2YKCSAgZGF0YS9kb2MvbWFuIGRpcnMuICBUaGlzIHdpbGwgYmUgdXNlZnVsIGZvciBwYWNrYWdlIG1haW50YWluZXJzLgoKMjAwMy0wNy0yMSAxNjozNyAga2luZwoKCSogU291cmNlLzogSW5pdGlhbENvbmZpZ3VyZUZsYWdzLmNtYWtlLmluLCBjbUNvbmZpZ3VyZS5oLmluOgoJICBSZW1vdmluZyBvbGQgZmlsZS4gIFRoaXMgd2FzIHVzZWQgYnkgb2xkIGNvbmZpZ3VyZSBzY3JpcHQgd2hpY2gKCSAgaGFzIGJlZW4gcmVtb3ZlZC4KCjIwMDMtMDctMjEgMTU6MjkgIGFuZHkKCgkqIFNvdXJjZS9jbUdsb2IuY3h4LCBUZXN0cy9TdHJpbmdGaWxlVGVzdC9DTWFrZUxpc3RzLnR4dDogRU5IOiBmaXgKCSAgZ2xvYiBvbiB3aW5kb3dzIGFuZCBhZGQgZ2xvYiByZWN1cnNlIHRlc3QKCjIwMDMtMDctMjEgMTU6MDIgIGtpbmcKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBBZGRlZCBnZW5lcmF0aW9uIG9mIGNtYWtlCgkgIGRvY3VtZW50YXRpb24gZHVyaW5nIGJ1aWxkIHByZW9jZXNzLgoKMjAwMy0wNy0yMSAxNDo1OCAga2luZwoKCSogU291cmNlL2NtRG9jdW1lbnRhdGlvbi5jeHg6IEJVRzogVGV4dCBkdW1wIG9mIGRvY3VtZW50YXRpb24KCSAgc2hvdWxkIGJlIGluIGFzY2lpIG1vZGUuCgoyMDAzLTA3LTIxIDE0OjU3ICBraW5nCgoJKiBTb3VyY2UvY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmg6IEJVRzogRml4ZWQgZG9jdW1lbnRhdGlvbgoJICBmb3JtYXR0aW5nLgoKMjAwMy0wNy0yMSAxNDo0NCAgYW5keQoKCSogU291cmNlLzogY21Tb3VyY2VGaWxlc0NvbW1hbmQuY3h4LCBjbVNvdXJjZUZpbGVzQ29tbWFuZC5oOiBFTkg6CgkgIFVzZSBuZXcgZGVwcmVjYXRpb24gbWVjaGFuaXNtCgoyMDAzLTA3LTIxIDE0OjQzICBhbmR5CgoJKiBTb3VyY2UvY21GaWxlQ29tbWFuZC5oOiBFTkg6IEZpeCBjb21tZW50CgoyMDAzLTA3LTIxIDE0OjQyICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNvbW1hbmQuaCwgY21NYWtlZmlsZS5jeHg6IEVOSDogSW5pdGlhbCBmcmFtZXdvcmsgZm9yCgkgIGRlcHJlY2F0ZWQgY29tbWFuZHMKCjIwMDMtMDctMjEgMTM6NDggIGFuZHkKCgkqIFRlc3RzL1N0cmluZ0ZpbGVUZXN0L0NNYWtlTGlzdHMudHh0OiBFTkg6IGFkZCBtb3JlIGNvdmVyYWdlIHRlc3RzCgoyMDAzLTA3LTIxIDEzOjQ2ICBhbmR5CgoJKiBTb3VyY2UvY21HbG9iLmN4eDogRU5IOiBIYW5kbGUgXiBhcyBbXmZ1XQoKMjAwMy0wNy0xNyAxNDo1NiAgYW5keQoKCSogVGVzdHMvU3RyaW5nRmlsZVRlc3QvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkIGFkZGl0aW9uYWwgbmV3IGxpbmUKCSAgYWZ0ZXIgdGhlIHN0cmluZyB0byBtYXRjaCB0aGUgY2hhbmdlIGluIGZpbGUgY29tbWFuZAoKMjAwMy0wNy0xNyAxNDo1NiAgYW5keQoKCSogU291cmNlL2NtRmlsZUNvbW1hbmQuY3h4OiBFTkg6IFJlbW92ZSBleHRyYSBuZXcgbGluZSBhZnRlciB0aGUKCSAgd3JpdHRlbiBzdHJpbmcKCjIwMDMtMDctMTcgMTQ6NTQgIGFuZHkKCgkqIE1vZHVsZXMvOiBDTWFrZVRlc3RDQ29tcGlsZXIuY21ha2UsIENNYWtlVGVzdENYWENvbXBpbGVyLmNtYWtlLAoJICBDaGVja0Z1bmN0aW9uRXhpc3RzLmNtYWtlLCBDaGVja0luY2x1ZGVGaWxlLmNtYWtlLAoJICBDaGVja0luY2x1ZGVGaWxlQ1hYLmNtYWtlLCBDaGVja0luY2x1ZGVGaWxlcy5jbWFrZSwKCSAgQ2hlY2tMaWJyYXJ5RXhpc3RzLmNtYWtlLCBDaGVja1N5bWJvbEV4aXN0cy5jbWFrZSwKCSAgQ2hlY2tUeXBlU2l6ZS5jbWFrZSwgQ2hlY2tWYXJpYWJsZUV4aXN0cy5jbWFrZSwKCSAgVGVzdEJpZ0VuZGlhbi5jbWFrZSwgVGVzdENYWEFjY2VwdHNGbGFnLmNtYWtlOiBFTkg6IEV4dHJhIG5ldwoJICBsaW5lIGFmdGVyIG91dHB1dAoKMjAwMy0wNy0xNiAxNTozOCAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZURldGVybWluZVN5c3RlbS5jbWFrZSwgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDoKCSAgRU5IOiBzZXQgQ01BS0VfU1lTVEVNX1ZFUlNJT04gZm9yIHdpbmRvd3MKCjIwMDMtMDctMTYgMTQ6NTIgIGtpbmcKCgkqIFNvdXJjZS86IGNtRmluZFBhY2thZ2VDb21tYW5kLmN4eCwgY21GaW5kUGFja2FnZUNvbW1hbmQuaDogRU5IOgoJICBBZGRlZCBRVUlFVCBvcHRpb25hbCBhcmd1bWVudCB0byBibG9jayBlcnJvciBtZXNzYWdlIHdoZW4gX0RJUgoJICB2YXJpYWJsZSBpcyBub3Qgc2V0LglBbHNvIHJlbW92ZWQgdXBwZXItY2FzaW5nIG9mIHBhY2thZ2UgbmFtZS4KCjIwMDMtMDctMTYgMTE6MzggIGtpbmcKCgkqIFRlc3RzL1N5c3RlbUluZm9ybWF0aW9uLzogRHVtcEluZm9ybWF0aW9uLmN4eCwKCSAgRHVtcEluZm9ybWF0aW9uLmguaW46IEVOSDogQWRkZWQgZHVtcCBvZiBtb3JlIGZpbGVzLglJbXByb3ZlZAoJICByb2J1c3RuZXNzIG9mIGR1bXAuCgoyMDAzLTA3LTE1IDEyOjUyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5jeHg6IEVOSDogYmV0dGVyIGVycm9yIGNoZWNraW5nCgoyMDAzLTA3LTE0IDEwOjMzICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEJVRzogQ3VzdG9tIGNvbW1hbmRzIHNob3VsZCBoYXZlIHZhcmlhYmxlcwoJICBleHBhbmRlZCBiZWZvcmUgY29tcGFyaW5nIHdpdGggcHJldmlvdXNseSBhZGRlZCBjdXN0b20gY29tbWFuZHMuCgoyMDAzLTA3LTE0IDEwOjEzICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21GTFRLV3JhcFVJQ29tbWFuZC5jeHg6IHNvbWUgdXBkYXRlcwoKMjAwMy0wNy0xNCAwOTo0NCAgbWFydGluawoKCSogU291cmNlL2NtRkxUS1dyYXBVSUNvbW1hbmQuY3h4OiBzb21lIHVwZGF0ZXMKCjIwMDMtMDctMTQgMDk6MzEgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtRkxUS1dyYXBVSUNvbW1hbmQuY3h4LCBjbUZMVEtXcmFwVUlDb21tYW5kLmg6IHNvbWUKCSAgdXBkYXRlcwoKMjAwMy0wNy0xNCAwOToxNSAgYW5keQoKCSogU291cmNlLzogY21GaWxlQ29tbWFuZC5jeHgsIGNtRmlsZUNvbW1hbmQuaCwgY21HbG9iLmN4eCwKCSAgY21HbG9iLmg6IEVOSDogUmVjdXJzZSBzdWJkaXJlY3RvcmllcwoKMjAwMy0wNy0xMSAxNzoyMSAga2luZwoKCSogYm9vdHN0cmFwOiBFTkg6IFJlbW92ZWQgY21zeXMgaW5jbHVkZSBkaXJlY3RvcnkgZnJvbSBib290c3RyYXAKCSAgYnVpbGQgb2Yga3dzeXMuICBJdCBpcyBubyBsb25nZXIgbmVlZGVkLgoKMjAwMy0wNy0xMSAxNjoyOSAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogQlVHOiBVcGRhdGUgb2YgcmVsZWFzZQoJICB1dGlsaXRpZXMgbXVzdCBtYWludGFpbiB0YWcuCgoyMDAzLTA3LTExIDE0OjE0ICBhbmR5CgoJKiBNb2R1bGVzLzogQ01ha2VUZXN0Q0NvbXBpbGVyLmNtYWtlLCBDTWFrZVRlc3RDWFhDb21waWxlci5jbWFrZSwKCSAgQ2hlY2tGdW5jdGlvbkV4aXN0cy5jbWFrZSwgQ2hlY2tJbmNsdWRlRmlsZS5jbWFrZSwKCSAgQ2hlY2tJbmNsdWRlRmlsZUNYWC5jbWFrZSwgQ2hlY2tJbmNsdWRlRmlsZXMuY21ha2UsCgkgIENoZWNrTGlicmFyeUV4aXN0cy5jbWFrZSwgQ2hlY2tTeW1ib2xFeGlzdHMuY21ha2UsCgkgIENoZWNrVHlwZVNpemUuY21ha2UsIENoZWNrVmFyaWFibGVFeGlzdHMuY21ha2UsIERhcnQuY21ha2UsCgkgIFRlc3RCaWdFbmRpYW4uY21ha2UsIFRlc3RDWFhBY2NlcHRzRmxhZy5jbWFrZTogRU5IOiBSZXBsYWNlCgkgIFdSSVRFX0ZJTEUgd2l0aCBGSUxFKFdSSVRFIGFuZCBGSUxFKEFQUEVORC4gUmVwbGFjZQoJICBNQUtFX0RJUkVDVE9SWSB3aXRoIEZJTEUoTUFLRV9ESVJFQ1RPUlksIHJlcGxhY2UgU1RSSU5HKEFTQ0lJCgkgIHRoaW5ncwoKMjAwMy0wNy0xMCAyMzoyMiAga2luZwoKCSogU291cmNlL2NtYWtlLmg6IEVSUjogUmVtb3ZlZCBkdXBsaWNhdGUgZ2VuZXJhdG9yIGRvY3VtZW50YXRpb24uZQoKMjAwMy0wNy0xMCAyMzoxNSAga2luZwoKCSogU291cmNlLzogY21Eb2N1bWVudGF0aW9uLmN4eCwgY21Eb2N1bWVudGF0aW9uLmgsIGNtYWtlbWFpbi5jeHg6CgkgIEVOSDogQWRkZWQgU0VFIEFMU08gc2VjdGlvbiB0byBnZW5lcmF0ZWQgbWFuIHBhZ2UuICBNaW5vcgoJICBmb3JtYXR0aW5nIGltcHJvdmVtZW50cyBmb3IgZ2VuZXJhdGVkIHRleHQtb25seSBkb2N1bWVudGF0aW9uLgoKMjAwMy0wNy0xMCAyMzoxNCAga2luZwoKCSogU291cmNlL2NtYWtlLmg6IEVOSDogQWRkZWQgQ01BS0VfU1RBTkRBUkRfSU5UUk9EVUNUSU9OIG1hY3JvCgkgIGRlZmluaW5nIHN0YW5kYXJkIGRvY3VtZW50YXRpb24gZm9yIGluY2x1c2lvbiBpbiBldmVyeSBiaW5hcnkncwoJICBkb2N1bWVudGF0aW9uLgoKMjAwMy0wNy0xMCAyMzoxNCAga2luZwoKCSogU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBXcm90ZSBiYXNpYwoJICBkZXNjcmlwdGlvbiBpbiBmdWxsIGRvY3VtZW50YXRpb24gYmxvY2suCgoyMDAzLTA3LTEwIDE0OjQ4ICBhbmR5CgoJKiBUZXN0cy9TdHJpbmdGaWxlVGVzdC9TdHJpbmdGaWxlLmN4eDogRU5IOiBBZGQgbWlzc2luZyBpbmNsdWRlCgoyMDAzLTA3LTEwIDE0OjQ2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQ6IEVSUjogR2VuZXJhdGVkIHNvdXJjZSBmaWxlcyBuZWVkCgkgIGFjY2VzcyB0byBrd3N5c1ByaXZhdGUuaC4gIEp1c3QgY29weSBpdCB0byB0aGUgYnVpbGQgdHJlZS4KCjIwMDMtMDctMTAgMTQ6MzUgIGFuZHkKCgkqIFNvdXJjZS9jbVN0cmluZ0NvbW1hbmQuY3h4OiBFUlI6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMDMtMDctMTAgMTQ6MzIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IEJhc2U2NC5jLCBDTWFrZUxpc3RzLnR4dCwgRGlyZWN0b3J5LmN4eCwKCSAgRW5jb2RlRXhlY3V0YWJsZS5jLCBQcm9jZXNzVU5JWC5jLCBQcm9jZXNzV2luMzIuYywKCSAgUmVndWxhckV4cHJlc3Npb24uY3h4LCBTeXN0ZW1Ub29scy5jeHgsIGt3c3lzUHJpdmF0ZS5oOiBFTkg6CgkgIEFkZGVkIHVzZSBvZiBLV1NZU19IRUFERVIgbWFjcm8gaW4gYyBhbmQgY3h4IGZpbGVzIHRvIGluY2x1ZGUKCSAga3dzeXMgaGVhZGVycyB0aHJvdWdoIHRoZWlyIGNvbmZpZ3VyZWQgbmFtZXNwYWNlLgoKMjAwMy0wNy0xMCAxNDoyOSAgYW5keQoKCSogVGVzdHMvU3RyaW5nRmlsZVRlc3QvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1N0cmluZ0ZpbGVUZXN0L0lucHV0RmlsZS5oLmluLAoJICBUZXN0cy9TdHJpbmdGaWxlVGVzdC9TdHJpbmdGaWxlLmN4eCwgU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6CgkgIEFkZCB0ZXN0IGZvciBzdHJpbmcgYW5kIGZpbGUgY29tbWFuZHMKCjIwMDMtMDctMTAgMTM6MjUgIGFuZHkKCgkqIFNvdXJjZS86IGNtU3RyaW5nQ29tbWFuZC5jeHgsIGNtU3RyaW5nQ29tbWFuZC5oOiBFTkg6IEFkZCB1cHBlcgoJICBhbmQgbG93ZXIgY2FzZSBzdXBwb3J0LiBDbG9zZSBCdWcgIzc5IC0gU1RSSU5HIFRPVVBQRVIgYW5kCgkgIFRPTE9XRVIKCjIwMDMtMDctMDkgMTc6MjUgIGtpbmcKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogRU5IOiBBZGRlZCBlc2NhcGUgc3VwcG9ydCBmb3IgKCBhbmQgKS4KCjIwMDMtMDctMDkgMTc6MTcgIGtpbmcKCgkqIFNvdXJjZS86IGNtTGlzdEZpbGVDYWNoZS5jeHgsIGNtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IEFkZGVkCgkgIHN1cHBvcnQgZm9yICMgY2hhcmFjdGVycyBpbnNpZGUgcXVvdGVkIGFyZ3VtZW50cyBhbmQgZm9yIGVzY2FwaW5nCgkgICMgaW4gYSBub24tcXVvdGVkIGFyZ3VtZW50LiAgSW1wcm92ZWQgcGFyc2luZyBzcGVlZCBieSBub3QKCSAgY29tcGlsaW5nIHJlZ3VsYXIgZXhwcmVzc2lvbnMgb24gYmxhbmsgbGluZXMuCgoyMDAzLTA3LTA5IDE2OjE4ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYzogRVJSOiBVc2luZyBzdHJuY3B5IGluc3RlYWQgb2YKCSAgc25wcmludGYgZm9yIHBvcnRhYmlsaXR5LgoKMjAwMy0wNy0wOCAxNjozMyAgYW5keQoKCSogU291cmNlLzogY21GaWxlQ29tbWFuZC5jeHgsIGNtRmlsZUNvbW1hbmQuaDogRU5IOiBBZGQKCSAgTUFLRV9ESVJFQ1RPUlkgYW5kIG1vZGlmeSBkb2N1bWVudGF0aW9uCgoyMDAzLTA3LTA4IDE2OjI3ICBhbmR5CgoJKiBTb3VyY2UvY21HbG9iLmN4eDogRU5IOiBSZW1vdmUgY29tbWVudGVkIGNvZGUKCjIwMDMtMDctMDggMTQ6MTggIGFuZHkKCgkqIGJvb3RzdHJhcCwgU291cmNlL0NNYWtlTGlzdHMudHh0LCBTb3VyY2UvY21GaWxlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUZpbGVDb21tYW5kLmgsIFNvdXJjZS9jbUdsb2IuY3h4LCBTb3VyY2UvY21HbG9iLmg6IEVOSDoKCSAgQWRkIGdsb2JiaW5nIHRvIEZJTEUgY29tbWFuZAoKMjAwMy0wNy0wOCAxMzoyNyAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBCVUcjNjU6IEZpeGVkIGluaGVyaXRhbmNlIG9mCgkgIENNQUtFX0NVUlJFTlRfU09VUkNFX0RJUiBhbmQgQ01BS0VfQ1VSUkVOVF9CSU5BUllfRElSLgoKMjAwMy0wNy0wOCAwOToyMSAgYW5keQoKCSogU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0OiBFTkg6IEZpeCBleGFtcGxlCgoyMDAzLTA3LTA4IDAwOjI4ICBraW5nCgoJKiBTb3VyY2UvY21Eb2N1bWVudGF0aW9uLmN4eDogRVJSOiBBZGRlZCBtaXNzaW5nIHN0ZDo6LgoKMjAwMy0wNy0wNyAyMzoyMCAga2luZwoKCSogQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbURvY3VtZW50YXRpb24uY3h4LAoJICBTb3VyY2UvY21EdW1wRG9jdW1lbnRhdGlvbi5jeHgsIFNvdXJjZS9jbVN0YW5kYXJkSW5jbHVkZXMuaDogRU5IOgoJICBJbXByb3ZlZCBuYW1lIG9mIGNtYWtlIHZlcnNpb24gdmFyaWFibGVzLiAgVGhleSBhcmUgbm93CgkgIENNYWtlX1ZFUlNJT04gKG1ham9yLm1pbm9yKSBhbmQgQ01ha2VfVkVSU0lPTl9GVUxMCgkgIChtYWpvci5taW5vci5wYXRjaCkuCgoyMDAzLTA3LTA3IDIyOjU0ICBraW5nCgoJKiBTb3VyY2UvY21TdHJpbmdDb21tYW5kLmg6IEJVRzogUmVtb3ZlZCBleHRyYSBuZXdsaW5lcyBmcm9tIGhlbHAKCSAgdGV4dC4KCjIwMDMtMDctMDcgMjI6NDQgIGtpbmcKCgkqIFNvdXJjZS86IGNtRG9jdW1lbnRhdGlvbi5jeHgsIGNtRG9jdW1lbnRhdGlvbi5oLCBjbWFrZW1haW4uY3h4LAoJICBDdXJzZXNEaWFsb2cvY2NtYWtlLmN4eDogRU5IOiBBZGRlZCBzdXBwb3J0IHRvIHdyaXRlIG11bHRpcGxlCgkgIGhlbHAgb3B0aW9ucyB3aXRoIG9uZSBjb21tYW5kIGxpbmUuICBPdXRwdXQgZmlsZXMgY2FuIG5vdyBhbHNvIGJlCgkgIHNwZWNpZmllZCBmb3IgdGhlIGhlbHAgb3B0aW9ucy4KCjIwMDMtMDctMDcgMjI6NDEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dDogRVJSOiBSZW1vdmVkIHVzZWxlc3Mgc2V0LgoKMjAwMy0wNy0wNyAyMjo0MSAga2luZwoKCSogU291cmNlL2NtQ29tbWFuZHMuY3h4OiBFTkg6IE1hZGUgQUREX0RFUEVOREVOQ0lFUyBhdmFpbGFibGUgZnJvbQoJICBib290c3RyYXBwZWQgY21ha2UuICBJdCB3aWxsIGJlIG5lZWRlZCB0byBidWlsZCBjbWFrZS4KCjIwMDMtMDctMDcgMjE6NTIgIGtpbmcKCgkqIFNvdXJjZS86IGNtRG9jdW1lbnRhdGlvbi5jeHgsIGNtRG9jdW1lbnRhdGlvbi5oLAoJICBjbUdsb2JhbEJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsQ29kZVdhcnJpb3JHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbENvZGVXYXJyaW9yR2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxOTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxOTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzcxR2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLCBjbWFrZS5jeHgsIGNtYWtlLmgsCgkgIGNtYWtlbWFpbi5jeHg6IEVOSDogUmVnaXN0ZXJlZCBnbG9iYWwgZ2VuZXJhdG9ycyBhcmUgbm93IGtlcHQgaW4KCSAgYSB0YWJsZSBpbiB0aGUgY21ha2UgaW5zdGFuY2UuICBBZGRlZCBzdXBwb3J0IGZvciBkb2N1bWVudGF0aW9uCgkgIHdpdGggYSBHZW5lcmF0b3JzIHNlY3Rpb24uCgoyMDAzLTA3LTA3IDE4OjI3ICBraW5nCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEJVRzogUGFyc2luZyBvZiBhcmd1bWVudHMgZnJvbSBzdHJpbmcKCSAgYnkgUnVuQ29tbWFuZCBiZWZvcmUgcGFzc2luZyB0byBQcm9jZXNzIGV4ZWN1dGlvbiBkb2VzIG5vdCB3b3JrCgkgIHdpdGggYmFja3NsYXNoZXMgaW4gcGF0aCBuYW1lcy4gIFVudGlsIHRoaXMgaXMgZml4ZWQsIHdlIGNhbm5vdAoJICB1c2UgUHJvY2VzcyBleGVjdXRpb24gZnJvbSBrd3N5cy4KCjIwMDMtMDctMDcgMTc6NTIgIGFuZHkKCgkqIGJvb3RzdHJhcDogRU5IOiBGaXggYm9vdHN0cmFwIHRvIGluY2x1ZGUgUHJvY2Vzc1VOSVguYwoKMjAwMy0wNy0wNyAxNzo0NyAgYW5keQoKCSogU291cmNlLzogY21Db21tYW5kcy5jeHgsIGNtRmlsZUNvbW1hbmQuY3h4LCBjbUZpbGVDb21tYW5kLmg6IEVOSDoKCSAgU3RhcnQgd29ya2luZyBvbiBhIGdlbmVyYWwgZmlsZSBtYW5pcHVsYXRpb24gY29tbWFuZAoKMjAwMy0wNy0wNyAxNzo0NSAgYW5keQoKCSogU291cmNlL2t3c3lzLzogU3lzdGVtVG9vbHMuY3h4LCBTeXN0ZW1Ub29scy5oeHguaW46IEVOSDogQWRkCgkgIG9wdGlvbmFsIGFyZ3VtZW50IHRvIEdldExpbmVGcm9tU3RyZWFtIHdoaWNoIGNhbiBsZXQgdGhlIGNhbGxlcgoJICBrbm93IHdoZXRoZXIgdGhlcmUgd2FzIGEgbmV3IGxpbmUgY2hhcmFjdGVyIGF0IHRoZSBlbmQgb2YgdGhlCgkgIGxpbmUgdGhhdCB3YXMganVzdCByZWFkCgoyMDAzLTA3LTA3IDEzOjM2ICBhbmR5CgoJKiBEb2NzL2NtYWtlLXN5bnRheC52aW06IEluaXRpYWwgaW1wb3J0IG9mIFZJTSBzeW50YXggaGlnaGxpZ2h0aW5nCgkgIGZpbGUKCjIwMDMtMDctMDcgMDk6MzggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzV2luMzIuYzogRU5IOiBNYWRlIGNhbGwgdG8gRm9ybWF0TWVzc2FnZSBtb3JlCgkgIHJvYnVzdC4KCjIwMDMtMDctMDcgMDk6MTYgIGtpbmcKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogRU5IOiBVc2luZyBuZXcgUHJvY2VzcwoJICBTZXRXb3JraW5nRGlyZWN0b3J5IG1ldGhvZCBpbnN0ZWFkIG9mIG1hbnVhbGx5IGltcGxlbWVudGluZyBpdC4KCjIwMDMtMDctMDcgMDk6MTIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IFByb2Nlc3MuaC5pbiwgUHJvY2Vzc1VOSVguYzogRU5IOiBJbXBsZW1lbnRlZAoJICBTZXRXb3JraW5nRGlyZWN0b3J5IG1ldGhvZC4KCjIwMDMtMDctMDcgMDk6MTAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzV2luMzIuYzogRU5IOiBJbXBsZW1lbnRlZCBTZXRXb3JraW5nRGlyZWN0b3J5CgkgIG1ldGhvZCBvbiBXaW5kb3dzLgoKMjAwMy0wNy0wNyAwODo0MSAga2luZwoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IFVzaW5nIGt3c3lzIFByb2Nlc3MgaW1wbGVtZW50YXRpb24KCSAgdG8gaW1wbGVtZW50IFJ1bkNvbW1hbmQuCgoyMDAzLTA3LTA3IDA4OjM2ICBhbmR5CgoJKiBTb3VyY2Uva3dzeXMvOiBQcm9jZXNzLmguaW4sIFByb2Nlc3NVTklYLmM6IEVOSDogU3RhcnQgd29ya2luZyBvbgoJICBXb3JraW5nIERpcmVjdG9yeSBzdXBwb3J0CgoyMDAzLTA3LTA2IDIwOjQwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1dpbjMyLmM6IEVOSDogVXNpbmcgR2V0VGVtcFBhdGggaW5zdGVhZCBvZgoJICBURU1QIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIGdldCBhIGxvY2F0aW9uIHRvIHdyaXRlIHRoZSBXaW45eAoJICBmb3J3YXJkaW5nIGV4ZWN1dGFibGUuCgoyMDAzLTA3LTAzIDE4OjMzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1dpbjMyLmM6IEJVRzogQXJndW1lbnQgcGFyc2VycyBkbyBub3QgYWx3YXlzCgkgIHJlbW92ZSBkb3VibGUgcXVvdGVzIGZyb20gYXJvdW5kIGFuIGFyZ3VtZW50IHRoYXQgaGFzIG5vIHNwYWNlcy4KCjIwMDMtMDctMDMgMTI6NTAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEVOSDogYWRkIGxpbmtlciBmbGFncwoKMjAwMy0wNy0wMyAxMTozOSAgaG9mZm1hbgoKCSogU291cmNlL2NtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuY3h4OiBFTkg6IG51bGwgdGVybWluYXRlIGF0IHRoZSBlbmQKCSAgb2YgdGhlIGxpc3QKCjIwMDMtMDctMDMgMDc6NTggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dDogQlVHOiBJbnN0YWxsIHRhcmdldCBmb3Igc3RhbmRhcmQKCSAgaGVhZGVyIHdyYXBwZXJzIG11c3QgcG9pbnQgYXQgdGhlIHN0ZCBzdWJkaXJlY3RvcnkgaW4gdGhlCgkgIGluc3RhbGxhdGlvbi4KCjIwMDMtMDctMDIgMTA6NDggIGFuZHkKCgkqIERhcnRDb25maWcuY21ha2U6IEVOSDogQWRkIHByb3BlciBsaW5rcyB0byBidWd0cmFja2VyCgoyMDAzLTA3LTAyIDEwOjM3ICBhbmR5CgoJKiBEYXJ0Q29uZmlnLmNtYWtlOiBFTkg6IEFkZCBsaW5rcyB0byBidWd0cmFja2VyCgoyMDAzLTA3LTAyIDA4OjM1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1dpbjMyLmM6IEVSUjogQWRkZWQgY2FzdCB0byByZW1vdmUgd2FybmluZy4KCSAgV2Uga25vdyB0aGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcgd2lsbCBub3QgYmUgYmV5b25kIDJeMzEuCgoyMDAzLTA3LTAxIDEzOjMyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvQmFzZTY0LmM6IEVSUjogQWRkZWQgY2FzdHMgdG8gcmVtb3ZlIHR5cGUgY29udmVyc2lvbgoJICB3YXJuaW5ncy4gIFBvaW50ZXIgZGlmZmVyZW5jZXMgY2FuIGJlIDY0LWJpdCwgYnV0IHVuc2lnbmVkIGxvbmcKCSAgaXMgMzItYml0IG9uIG1hbnkgcGxhdGZvcm1zLglXZSBrbm93IHdlIGFyZSBub3QgdHJhdmVyc2luZyBtb3JlCgkgIGRhdGEgdGhhbiBjYW4gYmUgaGFuZGxlZCBieSBhbiB1bnNpZ25lZCBsb25nLCB0aG91Z2gsIGJlY2F1c2UgdGhlCgkgIGxlbmd0aCBhcmd1bWVudCBpcyBhbiB1bnNpZ25lZCBsb25nLgoKMjAwMy0wNy0wMSAxMzoyNyAga2luZwoKCSogU291cmNlL2t3c3lzLzogUHJvY2Vzc0Z3ZDl4LmMsIFByb2Nlc3NXaW4zMi5jOiBFUlI6IFNob3VsZCB1c2UgJXAKCSAgdG8gcGFzcyBIQU5ETEUgdmFsdWVzIG9uIGEgY29tbWFuZCBsaW5lLCBub3QgJWQuCgoyMDAzLTA3LTAxIDEzOjI3ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFUlI6IFJlbW92ZWQgdW5yZWFjaGFibGUgY29kZS4KCjIwMDMtMDctMDEgMTE6NDAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IEJhc2U2NC5oLmluLCBQcm9jZXNzLmguaW46IEVSUjogUmVkdWNlZAoJICByZXF1aXJlbWVudHMgb24gcHJlcHJvY2Vzc29yIGZvciBleHBvcnQgbWFjcm8gZHVlIHRvIGxpbWl0YXRpb25zCgkgIG9mIE1hYyBwcmVwcm9jZXNzb3IuCVRoZSBwcmVwcm9jZXNzb3IgY2FuIGJlIGZpeGVkIGJ5IHVzaW5nCgkgIC1uby1jcHAtcHJlY29tcCwgYnV0IHdlIGRvbid0IHdhbnQgdG8gcmVxdWlyZSB0aGF0IG9wdGlvbiBmb3IKCSAgZXZlcnkgc291cmNlIGZpbGUgdGhhdCBpbmNsdWRlcyBvdXIgaGVhZGVycy4KCjIwMDMtMDctMDEgMDg6NTQgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9FbmNvZGVFeGVjdXRhYmxlLmM6IEVSUjogQWRkZWQgZXhwbGljaXQgY2FzdCBmcm9tCgkgIHNpemVfdCB0byBpbnQuICBXZSBrbm93IHRoYXQgdGhlIGRhdGEgd2lsbCBub3QgYmUgb3V0IG9mIHJhbmdlLgoKMjAwMy0wNi0zMCAxMDo1MCAgYW5keQoKCSogYm9vdHN0cmFwOiBFUlI6IEZpeCBjaGFuZ2VzIGluIGt3c3lzIGZvciBDb25maWd1cmUuaCBhbmQKCSAgU3RhbmRhcmRJbmNsdWRlcy5oeHgKCjIwMDMtMDYtMzAgMTA6NDQgIGFuZHkKCgkqIFNvdXJjZS9rd3N5cy86IEJhc2U2NC5jLCBQcm9jZXNzRndkOXguYywgUHJvY2Vzc1dpbjMyLmM6IEVSUjoKCSAgUmVtb3ZlIHdhcm5pbmdzIG9uIFdpbmRvd3MKCjIwMDMtMDYtMzAgMTA6MzAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IEJhc2U2NC5oLmluLCBDTWFrZUxpc3RzLnR4dCwgQ29uZmlndXJlLmguaW4sCgkgIERpcmVjdG9yeS5jeHgsIERpcmVjdG9yeS5oeHguaW4sIEVuY29kZUV4ZWN1dGFibGUuYywKCSAgUHJvY2Vzcy5oLmluLCBQcm9jZXNzV2luMzIuYywgUmVndWxhckV4cHJlc3Npb24uY3h4LAoJICBSZWd1bGFyRXhwcmVzc2lvbi5oeHguaW4sIFN5c3RlbVRvb2xzLmh4eC5pbjogRU5IOiBBZGRlZCBETEwKCSAgc3VwcG9ydC4KCjIwMDMtMDYtMzAgMTA6MTIgIG1hcnRpbmsKCgkqIFRlc3RzL0N1c3RvbUNvbW1hbmQvQ01ha2VMaXN0cy50eHQ6IG1vZGlmaWVkIGNvZGUgdG8gbWF0Y2ggY21ha2UKCSAgbW9kZQoKMjAwMy0wNi0zMCAxMDowNyAga2luZwoKCSogU291cmNlL2t3c3lzL1N0YW5kYXJkSW5jbHVkZXMuaHh4LmluOiBSZW1vdmluZyBvbGQgZmlsZS4KCjIwMDMtMDYtMzAgMDk6NTYgIGFuZHkKCgkqIGJvb3RzdHJhcDogRU5IOiBGaXggY2hlY2tpbmcgZm9yIEMrKyBjb21waWxlciBvbiBNYWMsIHJlbW92ZQoJICBjbUNvbmZpZ3VyZS5oLnRtcCwgc28gdGhhdCBub3RoaW5nIGJhZCBjYW4gaGFwcGVuIGlmIGNvbmZpZ3VyZSBpcwoJICBpbnRlcnJ1cHRlZCwgcmVwb3J0cyBrd3N5cyBzb3VyY2VzIGluIGNtQ29uZmlndXJlLmgKCjIwMDMtMDYtMzAgMDg6NDkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9CYXNlNjQuaC5pbjogRU5IOiBVcGRhdGVkIGNvbW1lbnRzIGZvciBkb3h5Z2VuLgoKMjAwMy0wNi0zMCAwODo0OCAga2luZwoKCSogU291cmNlL2t3c3lzL0Jhc2U2NC5jOiBCVUc6IFNob3VsZCBkZWZpbmUgS1dTWVNfSU5fQkFTRTY0X0MsIG5vdAoJICBLV1NZU19JTl9QUk9DRVNTX0MuCgoyMDAzLTA2LTMwIDA4OjQ4ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQ6IEVOSDogVXNpbmcgRk9SRUFDSCB0byBzaG9ydGVuCgkgIGVuYWJsaW5nIG9mIEMgY29tcG9uZW50cy4KCjIwMDMtMDYtMjkgMjE6NDIgIGFuZHkKCgkqIENNYWtlTGlzdHMudHh0LCBTb3VyY2Uva3dzeXMvQmFzZTY0LmMsIFNvdXJjZS9rd3N5cy9CYXNlNjQuaC5pbiwKCSAgU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0OiBFTkg6IEluaXRpYWwgaW1wb3J0IG9mIEJhc2U2NAoKMjAwMy0wNi0yOSAyMDozMCAga2luZwoKCSogQ01ha2VMaXN0cy50eHQ6IEVOSDogRW5hYmxpbmcgYnVpbGQgb2Yga3dzeXMncyBQcm9jZXNzIGNsYXNzLgoJICBUaGlzIHdpbGwgYmUgbmVlZGVkIGZvciBjdGVzdC4KCjIwMDMtMDYtMjkgMjA6MjAgIGtpbmcKCgkqIERvY3MvY21ha2UtbW9kZS5lbDogRU5IOiBBZGRlZCBjb21tZW50LXJlZ2lvbiBzdXBwb3J0LgoKMjAwMy0wNi0yNyAwOTo0OCAga2luZwoKCSogQ01ha2VMaXN0cy50eHQ6IEVSUjogRGlzYWJsaW5nIG11bHRpcGx5IGRlZmluZWQgc3ltYm9scyB3YXJuaW5nCgkgIGZvciBsaW5raW5nIGV4ZWN1dGFibGVzIG9uIElSSVguICBUaGUgY29tcGlsZXIncyBwcmVsaW5rZXIgZG9lcwoJICBub3QgYWRkIHdlYWsgc3ltYm9scywgc28gdGVtcGxhdGUgaW5zdGFudGlhdGlvbnMgYXJlIGR1cGxpY2F0ZWQuCgoyMDAzLTA2LTI3IDA4OjQ2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUF1eFNvdXJjZURpcmVjdG9yeUNvbW1hbmQuY3h4LAoJICBjbVRyeUNvbXBpbGVDb21tYW5kLmN4eDogZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDAzLTA2LTI2IDEzOjM5ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQ6IEVOSDogVXBkYXRlZCBkb2N1bWVudGF0aW9uIHRvCgkgIGRlc2NyaWJlIGVuYWJsaW5nIG9mIGNsYXNzZXMuCgoyMDAzLTA2LTI2IDA5OjQ0ICBhbmR5CgoJKiBib290c3RyYXA6IEVOSDogQXR0ZW1wdCB0byBoYW5kbGUgT1NGIGNvbXBpbGVyIGZsYWdzCgoyMDAzLTA2LTI1IDA5OjMyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvdGVzdFByb2Nlc3MuYzogRVJSOiBGaXhlZCB1c2Ugb2Ygbm9uLWNvbnN0YW50CgkgIGluaXRpYWxpemVyLgoKMjAwMy0wNi0yNSAwODoyOSAga2luZwoKCSogU291cmNlL2t3c3lzL0RpcmVjdG9yeS5jeHg6IEVSUjogRml4ZWQgY29udmVyc2lvbiB3YXJuaW5nLgoKMjAwMy0wNi0yNCAyMTozNyAgbG9yZW5zZW4KCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEVSUjogcG9ydGFiaWxpdHkuCgoyMDAzLTA2LTI0IDE2OjM1ICBtYXJ0aW5rCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBjb21waWxlciBmaXgKCjIwMDMtMDYtMjQgMTU6MjQgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBtb3ZlZCBkZXBlbmQgY29kZSBpbnRvCgkgIGNtVGFyZ2V0CgoyMDAzLTA2LTI0IDE1OjIxICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oLCBrd3N5cy9TeXN0ZW1Ub29scy5jeHg6CgkgIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50cwoKMjAwMy0wNi0yNCAxNToxMSAgbWFydGluawoKCSogU291cmNlL2NtTWFjcm9Db21tYW5kLmN4eDogcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzCgoyMDAzLTA2LTI0IDE1OjEwICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0Lmg6IG1vdmVkIGZ1bmN0aW9uIGludG8gY21UYXJnZXQKCjIwMDMtMDYtMjQgMTA6MTYgIGtpbmcKCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmg6IEVSUjogUmVuYW1lZAoJICBzdXBlcmNsYXNzIHR5cGVkZWYgZnJvbSBTeXN0ZW1Ub29scyB0byBTdXBlcmNsYXNzIHRvIGF2b2lkCgkgIGNvbmZsaWN0IGFjcm9zcyBwbGF0Zm9ybXMuCgoyMDAzLTA2LTI0IDA5OjAyICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFUlI6IHN0ZC0+a3dzeXNfc3RkLgoKMjAwMy0wNi0yNCAwODoxOSAga2luZwoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuaDogRVJSOiBUeXBlZGVmcyBhcmUgbm90IGluaGVyaXRlZCBvbiBTR0kKCSAgYW5kIEJvcmxhbmQuCgoyMDAzLTA2LTIzIDE2OjI2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUZvckVhY2hDb21tYW5kLmN4eCwgY21NYWNyb0NvbW1hbmQuY3h4OiBwZXJmCgkgIGltcHJvdmVtZW50CgoyMDAzLTA2LTIzIDE2OjI1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21DdXN0b21Db21tYW5kLmg6IHBlcmZvcm1hbmNlIGltcHJvdmVtZW50CgoyMDAzLTA2LTIzIDE0OjEwICBraW5nCgoJKiBDTWFrZUxpc3RzLnR4dCwgYm9vdHN0cmFwLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9jbUJ1aWxkTmFtZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21DVGVzdC5jeHgsCgkgIFNvdXJjZS9jbUNhY2hlTWFuYWdlci5jeHgsIFNvdXJjZS9jbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtSWZDb21tYW5kLmN4eCwgU291cmNlL2NtTGlzdEZpbGVDYWNoZS5jeHgsCgkgIFNvdXJjZS9jbUxvYWRDYWNoZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21Mb2NhbENvZGVXYXJyaW9yR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlRGVwZW5kLmN4eCwgU291cmNlL2NtTWFrZURlcGVuZC5oLAoJICBTb3VyY2UvY21NYWtlZmlsZS5jeHgsIFNvdXJjZS9jbVJlZ3VsYXJFeHByZXNzaW9uLmN4eCwKCSAgU291cmNlL2NtUmVndWxhckV4cHJlc3Npb24uaCwgU291cmNlL2NtU2l0ZU5hbWVDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtU291cmNlR3JvdXAuaCwgU291cmNlL2NtU3RyaW5nQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwgU291cmNlL2NtVXNlTWFuZ2xlZE1lc2FDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtYWtldGVzdC5jeHg6IEVOSDogTWVyZ2VkIHVzZSBvZiB0aGUga3dzeXMKCSAgUmVndWxhckV4cHJlc3Npb24gY2xhc3MgaW5zdGVhZCBvZiBjbVJlZ3VsYXJFeHByZXNzaW9uLgoKMjAwMy0wNi0yMyAxNDowNSAga2luZwoKCSogU291cmNlL2t3c3lzL1JlZ3VsYXJFeHByZXNzaW9uLmh4eC5pbjogRVJSOiBGaXhlZCBkb2N1bWVudGF0aW9uCgkgIHRvIHJlYWQgUmVndWxhckV4cHJlc3Npb24gaW5zdGVhZCBvZiBjbVJlZ3VsYXJFeHByZXNzaW9uLgoKMjAwMy0wNi0yMyAxMToxNiAgbWFydGluawoKCSogU291cmNlL2NtVGFyZ2V0LmN4eDogcmVtb3ZlZCBzb21lIG5vIGxvbmdlciByZXF1aXJlZCBjb2RlCgoyMDAzLTA2LTIzIDA4OjU4ICBraW5nCgoJKiBDTWFrZUxpc3RzLnR4dCwgYm9vdHN0cmFwLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9jbUF1eFNvdXJjZURpcmVjdG9yeUNvbW1hbmQuY3h4LCBTb3VyY2UvY21EaXJlY3RvcnkuY3h4LAoJICBTb3VyY2UvY21EaXJlY3RvcnkuaCwgU291cmNlL2NtTWFrZURpcmVjdG9yeUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZS5jeHgsIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwKCSAgU291cmNlL2NtU3lzdGVtVG9vbHMuaCwgU291cmNlL2NtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzUGF0aFdpZGdldC5jeHgsCgkgIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0OiBFTkg6IE1lcmdlZAoJICB1c2Ugb2Yga3dzeXMgbGlicmFyeS4KCjIwMDMtMDYtMjMgMDg6NTggIGtpbmcKCgkqIE1ha2VmaWxlLmluLCBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbiwgU291cmNlL01ha2VmaWxlLmluOiBFTkg6CgkgIENvbmZpZ3VyZSBzY3JpcHQgbm93IGp1c3QgaW52b2tlcyBib290c3RyYXAgc2NyaXB0LgoKMjAwMy0wNi0yMyAwODo1NiAga2luZwoKCSogU291cmNlL2t3c3lzLzogU3lzdGVtVG9vbHMuY3h4LCBTeXN0ZW1Ub29scy5oeHguaW46IEVOSDogUmVtb3ZlZAoJICBjbWFrZS1zcGVjaWZpYyBmdW5jdGlvbnMuCgoyMDAzLTA2LTIzIDA4OjU2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQ6IEJVRzogTmVlZCBpbmNsdWRlIHJlZ3VsYXIgZXhwcmVzc2lvbgoJICB0byBtYXRjaCBhbGwgZmlsZXMuCgoyMDAzLTA2LTIxIDExOjU3ICBhbmR5CgoJKiBib290c3RyYXA6IEVOSDogQWRkIGNvcHlyaWdodCwgY21Db25maWd1cmUuaCBpcyBub3cgdG91Y2hlZCBvbmx5CgkgIHdoZW4gaXQgaXMgbW9kaWZpZWQsIHJlbW92ZSBzb21lIHNwYWNlcyBmcm9tIG91dHB1dCwgYWRkCgkgIHByb2NlZHVyZSB0aGF0IGNvcGllcyBmaWxlIGFuZCByZXBsYWNlcyBhdHN0cmluZyB3aXRoIGFub3RoZXIKCSAgc3RyaW5nCgoyMDAzLTA2LTIwIDIwOjMzICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IGZpeCB0byBleHBhbmQgdmFyaWFibGVzIGluIGN1c3RvbSBjb21tYW5kCgkgIG91dHB1dHMgYW5kIG1haW4gZGVwZW5kZW5jaWVzCgoyMDAzLTA2LTIwIDE0OjEwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvQ01ha2VMaXN0cy50eHQ6IEVOSDogQ2hhbmdlZCBjb25maWd1cmF0aW9uIG9mIGhlYWRlcgoJICBkaXJlY3RvcnkgdG8gc3BlY2lmeSBpdCB3aXRob3V0IHRoZSBuYW1lc3BhY2UuCgoyMDAzLTA2LTIwIDE0OjEwICBob2ZmbWFuCgoJKiBEb2NzL2NtYWtlLW1vZGUuZWw6IEJVRzogZml4IGhpZ2hsaWdodCBmb3IgY29tbWVudHMgaW4gbXVsdGlwbGUKCSAgYnVmZmVycwoKMjAwMy0wNi0yMCAxMzo1NiAgbWFydGluawoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBidWcgaW4gbm90IGV4cGFuZGluZyB2YXJpYWJsZXMgZm9yIGN1c3RvbQoJICBjb21tYW5kcyBpbiB0YXJnZXRzCgoyMDAzLTA2LTIwIDExOjIzICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IG1pbm9yIHBlcmYgaW1wcm92ZW1lbnQKCjIwMDMtMDYtMTkgMTg6NTcgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IENNYWtlTGlzdHMudHh0LCBDb25maWd1cmUuaHh4LmluLAoJICBSZWd1bGFyRXhwcmVzc2lvbi5oeHguaW4sIFN5c3RlbVRvb2xzLmh4eC5pbiwKCSAga3dzeXNfc3RkX2ZzdHJlYW0uaC5pbiwga3dzeXNfc3RkX2lvc2Z3ZC5oLmluLAoJICBrd3N5c19zdGRfaW9zdHJlYW0uaC5pbiwga3dzeXNfc3RkX3NzdHJlYW0uaC5pbjogRU5IOiBBZGRlZCBmdWxsCgkgIGNvbmZpZ3VyYXRpb24gb2YgbmFtZXNwYWNlIGV2ZW4gZm9yIENvbmZpZ3VyZS5oeHggbWFjcm8KCSAgZGVmaW5pdGlvbnMuCgoyMDAzLTA2LTE5IDE2OjIzICBob2ZmbWFuCgoJKiBEb2NzL2NtYWtlLW1vZGUuZWw6IGFkZCBhIGNvbW1lbnQKCjIwMDMtMDYtMTkgMTU6MDUgIGtpbmcKCgkqIERvY3MvOiBjbWFrZS1pbmRlbnQudmltLCBjbWFrZS1tb2RlLmVsOiBBZGRlZCBjb3B5cmlnaHQuCgoyMDAzLTA2LTE5IDE0OjM3ICBhbmR5CgoJKiBEb2NzL2NtYWtlLWluZGVudC52aW06IEluaXRpYWwgaW1wb3J0OiBpbmRlbnRhdGlvbiBmaWxlIGZvciB2aW0KCjIwMDMtMDYtMTkgMTQ6MzAgIGtpbmcKCgkqIERvY3MvY21ha2UtbW9kZS5lbDogTWlub3IgdHdlYWtzIGZvciBhbmFsIGNhc2VzIG9mIGluZGVudGF0aW9uLgoKMjAwMy0wNi0xOSAxNDoyNyAgbWFydGluawoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBidWcgZml4IGZvciBmaW5kaW5nIHNvdXJjZSBmaWxlcwoKMjAwMy0wNi0xOSAxNDoyNyAgbWFydGluawoKCSogU291cmNlLzogY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaDogbmV3IGZ1bmN0aW9uCgoyMDAzLTA2LTE5IDE0OjE3ICBraW5nCgoJKiBEb2NzL2NtYWtlLW1vZGUuZWw6IEJVRzogRG9uJ3Qgb3BlbiBhIGJsb2NrIGlmIGEgY29tbWFuZCBzdGFydHMKCSAgd2l0aCBJRiBpbiBpdHMgbmFtZS4KCjIwMDMtMDYtMTkgMTM6MzggIG1hcnRpbmsKCgkqIERvY3MvY21ha2UtbW9kZS5lbDogZml4IHRvIHVzZSBmdW5jdGlvbi1uYW1lCgoyMDAzLTA2LTE5IDEzOjIzICBraW5nCgoJKiBEb2NzL2NtYWtlLW1vZGUuZWw6IEZpeGVkIHNsb3cgcmVnZXggZm9yIGluZGVudGF0aW9uLgoKMjAwMy0wNi0xOSAxMToxMSAga2luZwoKCSogRG9jcy9jbWFrZS1tb2RlLmVsOiBFTkg6IFdyb3RlIG1vcmUgcm9idXN0IHJlZ3VsYXIgZXhwcmVzc2lvbnMKCSAgZm9yIGluZGVudGluZy4KCjIwMDMtMDYtMTkgMTE6MDcgIG1hcnRpbmsKCgkqIERvY3MvY21ha2UtbW9kZS5lbDogZW1hY3MgbW9kZQoKMjAwMy0wNi0xOCAxNzoyOCAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzSGVhZGVyRHVtcC5wbDogVG9vbCB0byBkdW1wIG1hY3JvcyBmb3IKCSAgcmVkZWZpbmluZyBDIGhlYWRlciBuYW1lc3BhY2VzLgoKMjAwMy0wNi0xOCAxNzoyNyAga2luZwoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIHRlc3RQcm9jZXNzLmM6IEVOSDogQWRkZWQgdGVzdCBmb3IKCSAgUHJvY2VzcyBpbXBsZW1lbnRhdGlvbi4KCjIwMDMtMDYtMTggMTc6MjcgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzV2luMzIuYzogQlVHOiBNdXN0IHJldHVybiBFeGNlcHRpb24gc3RhdHVzCgkgIGNvcnJlY3RseS4KCjIwMDMtMDYtMTggMTc6MTkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzVU5JWC5jOiBSZW1vdmVkIEV4Y2VwdGlvbl9BYm9ydCBiZWNhdXNlIHRoZXJlCgkgIGlzIG5vIHdpbmRvd3MgdmVyc2lvbi4gIEFsc28gbWFkZSBFeGl0VmFsdWUgY29uc2lzdGVudCB3aXRoCgkgIHdpbmRvd3Mgd2hlbiBhIHNpZ25hbCBraWxscyB0aGUgcHJvY2Vzcy4KCjIwMDMtMDYtMTggMTc6MTkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzLmguaW46IFJlbW92ZWQgRXhjZXB0aW9uX0Fib3J0IGJlY2F1c2UgdGhlcmUKCSAgaXMgbm8gd2luZG93cyB2ZXJzaW9uLiAgQWxzbyByZW1vdmVkIHN0cmF5IHR5cGVkZWYga2V5d29yZHMuCgoyMDAzLTA2LTE4IDE3OjA2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBQcm9jZXNzLmguaW4sIFByb2Nlc3NVTklYLmMsIFByb2Nlc3NXaW4zMi5jLAoJICB0ZXN0MS5jeHg6IEVOSDogQWRkZWQgZG9jdW1lbnRhdGlvbiB0byBpbnRlcmZhY2UuICBGaW5pc2hlZAoJICBwcm9jZXNzIGV4aXQgY29kZSBpbnRlcnByZXRhdGlvbiBpbXBsZW1lbnRhdGlvbiBwcm90b3R5cGUuCgoyMDAzLTA2LTE4IDExOjQzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21TdHJpbmdDb21tYW5kLmg6IHJlbW92ZSBub24taHRtbCBzYWZlIHN0dWZmCgoyMDAzLTA2LTE4IDA5OjEzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEJVRzogZml4IG5vdCBiZWluZyBhYmxlIHRvIGZpbmQgZ2VuZXJhdGVkCgkgIGZpbGVzIGluIHRoZSBiaW5hcnkgdHJlZQoKMjAwMy0wNi0xNyAxNzoxMyAgbWFydGluawoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogZml4IGZvciBiYWQgYXNzdW1wdGlvbgoJICBvbiBjdXN0b20gcnVsZXMKCjIwMDMtMDYtMTcgMTY6NTQgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHg6IGZpeCBmb3IgYmFkIGFzc3VtcHRpb24KCjIwMDMtMDYtMTcgMTU6MTMgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHg6IGZpeCBmb3IgYmFkIGFzc3VtcHRpb24KCjIwMDMtMDYtMTYgMTA6MjAgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHg6IGZpeCBmb3IgdnM2IHJ1bGUgZmlsZXMKCjIwMDMtMDYtMTMgMTY6NTkgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogQlVHOiBGaXhlZCB0cmFuc2xhdGlvbiBvZiByZWxhdGl2ZSBwYXRoCgkgIG5hbWVzIHRvIGZ1bGwgcGF0aCBuYW1lcy4KCjIwMDMtMDYtMTMgMTY6NDcgIGtpbmcKCgkqIFNvdXJjZS9jbVNldFNvdXJjZUZpbGVzUHJvcGVydGllc0NvbW1hbmQuY3h4OiBCVUc6IEZpeGVkIGNyYXNoCgkgIHdoZW4gc291cmNlIGZpbGUgY2Fubm90IGJlIGxvb2tlZCB1cCBjb3JyZWN0bHkuCgoyMDAzLTA2LTEzIDE0OjE1ICBraW5nCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBCVUc6IEZpeGVkIGNoZWNrIGZvciBleGlzdGVuY2Ugb2YKCSAgQ01ha2VMaXN0cy50eHQgZmlsZSBpbiB0b3AtbGV2ZWwgc291cmNlIGRpcmVjdG9yeSBiZWZvcmUgZmlyc3QKCSAgY29uZmlndXJlLgoKMjAwMy0wNi0xMiAxNjo0MyAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWJjYzMyLmNtYWtlOiBCVUc6IFN0YWNrIHNpemUgaW4KCSAgZ2VuZXJhdGVkIHByb2dyYW1zIHNob3VsZCBiZSAxMCBtZWcsIG5vdCAyNTYuCgoyMDAzLTA2LTEyIDE2OjE4ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1dpbjMyLmM6IEVSUjogQWRkZWQgZXJyb3IgY2hlY2sgZm9yIG1hbGxvYyBvZgoJICBwcm9jZXNzIGNvbnRyb2wgc3RydWN0dXJlLgoKMjAwMy0wNi0xMiAxNTo1OCAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jOiBFUlI6IFVzaW5nIEdldEN1cnJlbnRQcm9jZXNzSWQKCSAgaW5zdGVhZCBvZiBfZ2V0cGlkIHNvIHdlIGRvbid0IG5lZWQgdG8gaW5jbHVkZSB0aGUgc3lzdGVtCgkgIHByb2Nlc3MuaCBoZWFkZXIuICBBbHNvIGNyZWF0aW5nIHBpcGUgdGhyZWFkcyB3aXRoIDFLIHN0YWNrcyB0bwoJICBzYXZlIG1lbW9yeS4KCjIwMDMtMDYtMTEgMTE6MDAgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBVbmluaXRpYWxpemVkCgkgIHN0ZDo6c3RyaW5nIHJldHVybnMgYmFkIHBvaW50ZXJzIGZyb20gY19zdHIoKSBvbiBzb21lIHBsYXRmb3Jtcy4KCjIwMDMtMDYtMTEgMTA6MjEgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dDogRU5IOiBFWEVDVVRBQkxFX09VVFBVVF9QQVRIIGlzIG5vdwoJICBhbHdheXMgc2V0IHRvIGdldCBhcm91bmQgY21ha2UgMS42LjcgZGVwZW5kZW5jeSBwcm9ibGVtcy4gIE1vdmVkCgkgIGRlZmF1bHQgaGVhZGVyIGRpcmVjdG9yeSBpbnNpZGUgdGhlIGJ1aWxkIHRyZWUgaW5zdGVhZCBvZiB1cCBvbmUKCSAgbGV2ZWwuICBVc2VyIHByb2plY3RzIGNhbiBub3cgc2V0IHRoZSBoZWFkZXIgZGlyZWN0b3J5LgoKMjAwMy0wNi0xMSAxMDoxMSAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZURldGVybWluZVN5c3RlbS5jbWFrZTogRU5IOiBhZGQgcHJvY2Vzc29yIHR5cGUgb2YKCSAgd2luMzIKCjIwMDMtMDYtMTEgMTA6MDcgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBDTWFrZURldGVybWluZVN5c3RlbS5jbWFrZSwgQ01ha2VTeXN0ZW0uY21ha2UuaW46IEVOSDoKCSAgYWRkIENNQUtFX1NZU1RFTV9QUk9DRVNTT1IKCjIwMDMtMDYtMTEgMDk6NDUgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dDogRVJSOiBBZGRlZCBjdXN0b20gY29tbWFuZCB0aGF0IHRha2VzCgkgIGFkdmFudGFnZSBvZiBuZXcgc3ludGF4LgoKMjAwMy0wNi0xMSAwOTo0NCAga2luZwoKCSogU291cmNlL2t3c3lzL1Byb2Nlc3NXaW4zMi5jOiBFUlI6IFJlbW92ZWQgdW51c2VkIHZhcmlhYmxlcy4KCjIwMDMtMDYtMTEgMDk6NDQgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBXaGVuIGV4ZWN1dGFibGUKCSAgb3V0cHV0IHBhdGggaXMgbm90IHNldCwgd2Ugc3RpbGwgbmVlZCB0byBnZW5lcmF0ZSB0aGUgZnVsbCBwYXRoCgkgIHRvIHRoZSBleGVjdXRhYmxlIHRhcmdldC4KCjIwMDMtMDYtMTAgMTc6MzkgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dDogRVJSOiBBZGRlZCB3b3JrLWFyb3VuZCBmb3IgY21ha2UKCSAgMS42LjcgYnVnIGluIGJvcmxhbmQgbWFrZWZpbGUgZ2VuZXJhdG9yLgoKMjAwMy0wNi0xMCAxNjo1NiAga2luZwoKCSogU291cmNlL2t3c3lzL0NNYWtlTGlzdHMudHh0OiBCVUc6IE5lZWQgdG8gYWRkIEFOU0kgQyBmbGFncyBmb3IKCSAgc29tZSBwbGF0Zm9ybXMuCgoyMDAzLTA2LTEwIDE2OjU1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvUHJvY2Vzc1VOSVguYzogRVJSOiBBZGRlZCBzdGF0aWMgc3BlY2lmaWVyIHRvIHN0YXRpYwoJICBmdW5jdGlvbiBkZWZpbml0aW9ucyB0byBxdWlldCB3YXJuaW5ncyBvbiBIUCBjb21waWxlci4KCjIwMDMtMDYtMTAgMTY6MTUgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9Qcm9jZXNzV2luMzIuYzogQlVHOiBEb24ndCBzaG93IGEgY29uc29sZQoJICBhcHBsaWNhdGlvbidzIHdpbmRvdy4KCjIwMDMtMDYtMTAgMTU6NTAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy90ZXN0MS5jeHg6IEVOSDogQWRkZWQgdXNlIG9mIHByb2Nlc3MgZXhlY3V0aW9uLgoKMjAwMy0wNi0xMCAxNTo0NiAga2luZwoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIEVuY29kZUV4ZWN1dGFibGUuYywgUHJvY2Vzcy5oLmluLAoJICBQcm9jZXNzRndkOXguYywgUHJvY2Vzc1VOSVguYywgUHJvY2Vzc1dpbjMyLmM6IEVOSDogQWRkZWQgUHJvY2VzcwoJICBleGVjdXRpb24gaW1wbGVtZW50YXRpb24uCgoyMDAzLTA2LTEwIDE1OjQ1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFTkg6IE1vdmVkIGRpc2FibGluZyBvZiB3YXJuaW5ncyB0bwoJICBhZnRlciBrd3N5cyBpbmNsdWRlcy4KCjIwMDMtMDYtMTAgMTU6NDQgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9rd3N5c19zdGQuaC5pbjogRU5IOiBEaXNhYmxlZCB3YXJuaW5nIDQ3ODYuCgoyMDAzLTA2LTA2IDA5OjU4ICBhbmR5CgoJKiBNb2R1bGVzL0ZpbmRWVEsuY21ha2U6IEJVRzogV2hlbiBWVEsgaXMgbm90IGZvdW5kLCBpdCBzaG91bGQgYmUKCSAgZmF0YWwgZXJyb3IKCjIwMDMtMDYtMDYgMDk6NTcgIGFuZHkKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvY21DdXJzZXNNYWluRm9ybS5jeHg6IEJVRzogV2hlbiBvbmx5IGxvYWRpbmcKCSAgY2NtYWtlIGNhY2hlLCBkbyBub3QgYWxsb3cgZ2VuZXJhdGUKCjIwMDMtMDYtMDYgMDk6MDYgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUNyZWF0ZVRlc3RTb3VyY2VMaXN0LmN4eDogdW5kaWQgY2hhbmdlIGJlY2F1c2Ugb3RoZXIKCSAgY2hhbmdlcyBtYWtlIGl0IG5vIGxvbmdlciBuZWNjZXNhcnkKCjIwMDMtMDYtMDUgMTY6NDUgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmg6IG1vcmUgY3VzdG9tIGNvbW1hbmQKCjIwMDMtMDYtMDUgMTY6MTIgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogbW9yZSBjaGFuZ2VzIHRvIHN1cHBvcnQgZnVsbCBwYXRocwoKMjAwMy0wNi0wNSAxNToyOCAgbWFydGluawoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBwZXJmIGltcHJvdmVtZW50CgoyMDAzLTA2LTA1IDE1OjE4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IG1vcmUgY2hhbmdlcyB0byBoYW5kbGUgZnVsbCBwYXRocwoJICBjb3JyZWN0bHkKCjIwMDMtMDYtMDUgMTQ6NDggIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVFUV3JhcFVJQ29tbWFuZC5jeHg6IG1pbm9yIHVwZGF0ZSBmb3IgbmV3IGN1c3RvbQoJICBjb21tYW5kcwoKMjAwMy0wNi0wNSAxNDo0MCAgbWFydGluawoKCSogU291cmNlLzogY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsIGNtTWFrZWZpbGUuY3h4LCBjbVRhcmdldC5jeHg6CgkgIG1vcmUgY3JhenQgY2hhbmdlcyBzb3VyY2UgZmlsZXMgbm93IG11c3QgbWF0Y2ggd2l0aCBmdWxsIHBhdGgKCjIwMDMtMDYtMDUgMTQ6MzcgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUlUS1dyYXBUY2xDb21tYW5kLmN4eDogdXBkYXRlZCBmb3IgbmV3IGN1c3RvbSBjb21tYW5kCgoyMDAzLTA2LTA1IDE0OjM3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21DcmVhdGVUZXN0U291cmNlTGlzdC5jeHg6IG1pbm9yIGZpeAoKMjAwMy0wNi0wNCAxOTowNCAgbWFydGluawoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBob3BlZnVsIGZpeCBmb3IgYmFja3dhcmRzIGNvbXBhdAoKMjAwMy0wNi0wNCAxODo1MCAgbWFydGluawoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eDogbWlub3IgZml4CgoyMDAzLTA2LTA0IDE2OjA2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IHRyaWNreSBmaXggZm9yIGJhY2t3YXJkcyBjb21wYXQKCjIwMDMtMDYtMDQgMTQ6MjUgIGhvZmZtYW4KCgkqIFRlc3RzL0N1c3RvbUNvbW1hbmQvOiBnZW5lcmF0b3IuY3h4LCB3cmFwcGVyLmN4eDogbWlub3IgZml4ZXMKCjIwMDMtMDYtMDQgMTQ6MDEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogYmV0dGVyIGVycm9yIHJlcG9ydGluZwoKMjAwMy0wNi0wNCAxNDowMCAgaG9mZm1hbgoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBFTkg6IGFsbG93IGR1cGxpY2F0ZSBjb21tYW5kcyB3aXRoIHRoZQoJICBzYW1lIG91dHB1dCB0byBiZSByZWR1Y2VkIGF1dG9tYXRpY2FsbHkgdG8gb25lIGNvbW1hbmQKCjIwMDMtMDYtMDQgMTM6NTUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHg6IGJ1ZyBmaXggZm9yIHZzNiBjdXN0b20KCSAgY29tbWFuZHMKCjIwMDMtMDYtMDQgMTM6NTQgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy9VdGlsaXR5SGVhZGVyLmRzcHRlbXBsYXRlOiBmaXggZm9yIG5ldyBjdXN0b20gY29tbWFuZHMKCjIwMDMtMDYtMDQgMTM6NDIgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ3VzdG9tQ29tbWFuZC5jeHgsIGNtQ3VzdG9tQ29tbWFuZC5oLAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsIGNtTWFrZWZpbGUuY3h4OiBFTkg6IGFsbG93CgkgIGR1cGxpY2F0ZSBjb21tYW5kcyB3aXRoIHRoZSBzYW1lIG91dHB1dCB0byBiZSByZWR1Y2VkCgkgIGF1dG9tYXRpY2FsbHkgdG8gb25lIGNvbW1hbmQKCjIwMDMtMDYtMDQgMTE6NDYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUFkZEN1c3RvbUNvbW1hbmRDb21tYW5kLmg6IGNvbW1hbmQgc2hvdWxkIG50byBiZQoJICBpbmhlcml0ZWQKCjIwMDMtMDYtMDQgMTA6NDYgIGhvZmZtYW4KCgkqIFRlc3RzL1dyYXBwaW5nL0NNYWtlTGlzdHMudHh0OiBtaW5vciBmaXgKCjIwMDMtMDYtMDQgMTA6MTMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHg6IGJ1ZyBmaXgKCjIwMDMtMDYtMDQgMDk6MDIgIGhvZmZtYW4KCgkqIFRlc3RzL0N1c3RvbUNvbW1hbmQvOiBDTWFrZUxpc3RzLnR4dCwgZ2VuZXJhdG9yLmMsIGdlbmVyYXRvci5jeHgsCgkgIHdyYXBwZXIuYywgd3JhcHBlci5jeHg6IGZpeGVzIGZvciBIUAoKMjAwMy0wNi0wNCAwOTowMCAga2luZwoKCSogYm9vdHN0cmFwOiBFUlI6IENhbm5vdCB1c2UgaW9zdHJlYW0uaCBmb3Igc3RyaWN0IEMrKyBjb21waWxlcgoJICBzYW5pdHkgY2hlY2suICBVc2luZyBhIHNtYWxsIGNsYXNzIGluc3RlYWQuCgoyMDAzLTA2LTA0IDA4OjQyICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogY29tcGllbHIgd2FybmluZ3MKCjIwMDMtMDYtMDQgMDg6NDAgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogY29tcGllbHIgZXJyb3JzIG9uIGNvbW8KCjIwMDMtMDYtMDMgMTQ6NTUgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQ3VzdG9tQ29tbWFuZC5jeHgsIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlLmN4eCwgY21Tb3VyY2VHcm91cC5jeHg6IHdhcm5pbmcgZml4ZXMKCjIwMDMtMDYtMDMgMTQ6NDUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRGFydC5jbWFrZTogRU5IOiBhZGQgYWxsIHRhcmdldHMgZm9yIGRhc2hib2FyZCBidWlsZAoJICB0eXBlcwoKMjAwMy0wNi0wMyAxMDo0NyAgbWFydGluawoKCSogU291cmNlLzogY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5oOiBiZXR0ZXIgZG9jcwoKMjAwMy0wNi0wMyAxMDozMyAgbWFydGluawoKCSogVGVzdHMvQ3VzdG9tQ29tbWFuZC86IENNYWtlTGlzdHMudHh0LCBkb2MxLnRleCwgZm9vLmluLAoJICBnZW5lcmF0b3IuYywgd3JhcHBlci5jLCB3cmFwcGVkLmg6IG5ldyB0ZXN0CgoyMDAzLTA2LTAzIDEwOjMwICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5jeHgsCgkgIGNtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuaCwgY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmN4eCwKCSAgY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmgsIGNtQ1BsdWdpbkFQSS5jeHgsIGNtQ1BsdWdpbkFQSS5oLAoJICBjbUN1c3RvbUNvbW1hbmQuY3h4LCBjbUN1c3RvbUNvbW1hbmQuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuaCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLCBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oLAoJICBjbVNldFNvdXJjZUZpbGVzUHJvcGVydGllc0NvbW1hbmQuY3h4LCBjbVNvdXJjZUZpbGUuaCwKCSAgY21Tb3VyY2VHcm91cC5jeHgsIGNtU291cmNlR3JvdXAuaCwgY21TeXN0ZW1Ub29scy5jeHgsCgkgIGNtU3lzdGVtVG9vbHMuaCwgY21UYXJnZXQuaDogeWlrZXMgYWRkZWQgbmV3IGN1c3RvbSBjb21tYW5kCgkgIHN1cHBvcnQKCjIwMDMtMDYtMDIgMTY6MzcgIG1hcnRpbmsKCgkqIERvY3MvOiBDTWFrZTA0LnJ0ZiwgQ01ha2UxMnAyLnJ0ZiwgQ01ha2UxNC5ydGYsIENNYWtlMTYucnRmOiBhZGQKCSAgcmVsZWFzZSBkb2NzIHRvIGN2cwoKMjAwMy0wNS0yOSAxNTozMCAgbWFydGluawoKCSogU291cmNlLzogY21HZXRTb3VyY2VGaWxlUHJvcGVydHlDb21tYW5kLmN4eCwKCSAgY21HZXRUYXJnZXRQcm9wZXJ0eUNvbW1hbmQuY3h4OiBtaW5vciBidWcgZml4CgoyMDAzLTA1LTI5IDExOjE0ICBhbmR5CgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nLzogY2NtYWtlLmN4eCwgY21DdXJzZXNNYWluRm9ybS5jeHgsCgkgIGNtQ3Vyc2VzTWFpbkZvcm0uaDogRU5IOiBPbiBlbnZvY2F0aW9uIG9mIGNjbWFrZSBjaGVjayBpZgoJICBkaXJlY3RvcmllcyBhcmUgY29ycmVjdCwgYnV0IGRvIG5vdCByZXJ1biBjb25maWd1cmUKCjIwMDMtMDUtMjkgMTE6MTQgIGFuZHkKCgkqIFNvdXJjZS86IGNtYWtlLmN4eCwgY21ha2UuaDogRU5IOiBBYnN0cmFjdCBwcmUgY29uZmlndXJlIGNoZWNrIGluCgkgIGEgc2VwYXJhdGUgbWV0aG9kCgoyMDAzLTA1LTI5IDA5OjM0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21SZWd1bGFyRXhwcmVzc2lvbi5jeHgsCgkgIGNtU2V0U291cmNlRmlsZXNQcm9wZXJ0aWVzQ29tbWFuZC5jeHgsIGNtVGFyZ2V0LmN4eDogRU5IOiByZW1vdmUKCSAgd2FybmluZ3MgZnJvbSBib3JsYW5kIDYgY29tcGlsZXIKCjIwMDMtMDUtMjggMTU6NTIgIGFuZHkKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvY2NtYWtlLmN4eDogRU5IOiBEbyBub3QgZG8gY29uZmlndXJlIGZpcnN0CgkgIHRpbWUuIFRoaXMgd2F5IGNjbWFrZSBsb2FkcyBmYXN0LgoKMjAwMy0wNS0yOCAwOToyMSAgaG9mZm1hbgoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtRHluYW1pY0xvYWRlci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuY3h4LCBjbVN5c3RlbVRvb2xzLmN4eCwKCSAgQ1Rlc3QvY21DVGVzdFN1Ym1pdC5jeHg6IFJlbW92ZSBzb21lIGJvcmxhbmQgNiB3YXJuaW5ncwoKMjAwMy0wNS0yOCAwNzo1MyAgYW5keQoKCSogTW9kdWxlcy9GaW5kUXQuY21ha2U6IEVOSDogTW9yZSBsb2NhdGlvbnMKCjIwMDMtMDUtMjQgMTA6MDcgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQWJzdHJhY3RGaWxlc0NvbW1hbmQuY3h4LCBjbUVuZElmQ29tbWFuZC5jeHgsCgkgIGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21JZkNvbW1hbmQuY3h4LCBjbVNvdXJjZUZpbGVzQ29tbWFuZC5jeHgsCgkgIGNtU291cmNlRmlsZXNSZW1vdmVDb21tYW5kLmN4eCwgY21UYXJnZXQuY3h4LAoJICBjbVdyYXBFeGNsdWRlRmlsZXNDb21tYW5kLmN4eDogRU5IOiBhZGQgc3RkbGliLmggZm9yIHBvcnRhYmlsaXR5CgkgIHRvIGJvcmxhbmQgNgoKMjAwMy0wNS0yMyAxNjo0MCAgaG9mZm1hbgoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtTWFrZWZpbGUuY3h4LCBjbVN0cmluZ0NvbW1hbmQuY3h4LAoJICBjbWFrZS5jeHg6IEVOSDogYWRkIHNvbWUgaW5jbHVkZXMgZm9yIGJvcmxhbmQgNgoKMjAwMy0wNS0yMyAwOTozNSAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZVN5c3RlbVNwZWNpZmljSW5mb3JtYXRpb24uY21ha2U6IEVOSDogYWRkIExERkxBR1MgYXMKCSAgYW4gaW5pdGlhbCB2YWx1ZSBmb3IgYWxsIGxpbmtlciBmbGFncywgZ29vZCBmb3IgLTY0CgoyMDAzLTA1LTE5IDEzOjQxICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IGZpeCBmb3IgLmRlZiBmaWxlcyBhbmQKCSAgbm1ha2UgYW5kIHNwYWNlcyBpbiB0aGUgcGF0aAoKMjAwMy0wNS0xNiAxNjozMyAga2luZwoKCSogTW9kdWxlcy86IFRlc3RGb3JBbnNpRm9yU2NvcGUuY3h4OiBFUlI6IFJlbW92ZWQgd2FybmluZyBmb3IKCSAgdW51c2VkIHZhcmlhYmxlLgoKMjAwMy0wNS0xNiAxNToyMCAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogV2hlbiBidWlsZGluZyBhIEMKCSAgZXhlY3V0YWJsZSwgd2Ugc2hvdWxkIGFkZCBDTUFLRV9TSEFSRURfTElCUkFSWV9DX0ZMQUdTLCBub3QKCSAgQ01BS0VfU0hBUkVEX0xJQlJBUllfTElOS19GTEFHUy4gIFRoZSBsYXR0ZXIgaXMgYWxyZWFkeSBhZGRlZCBieQoJICB0aGUgbGluayBsaW5lIHByb2NlZHVyZS4KCjIwMDMtMDUtMTYgMTU6MTggIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vOiBBSVguY21ha2U6IEJVRzogTmVlZCAtYnJ0bCB3aGVuIGNyZWF0aW5nCgkgIHNoYXJlZCBsaWJyYXJpZXMuICBBbHNvIGFkZGVkIC1iZXhwYWxsIChBSVggZXF1aXZhbGVudCB0byBMaW51eCdzCgkgIC1yZHluYW1pYykgd2hlbiBidWlsZGluZyBleGVjdXRhYmxlcy4KCjIwMDMtMDUtMTUgMTU6MTUgIGtpbmcKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvY21DdXJzZXNNYWluRm9ybS5jeHg6IEJVRzogRG9uJ3QgcmVwb3J0IGFuCgkgIGVycm9yIG9mIG91dHB1dCB3YXMgZ2VuZXJhdGVkIGJ1dCBubyBlcnJvciB3YXMgc2V0LiAgTWVyZ2luZyBmcm9tCgkgIHRydW5rIHRvIDEuNiBicmFuY2guCgoyMDAzLTA1LTE1IDE1OjA1ICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eDogUmVtb3ZlZCB1c2VsZXNzCgkgIGxvd2VyLWNhc2luZyBhbmQgaW1wcm92ZWQgZXJyb3IgbWVzc2FnZS4gIE1lcmdlZCBmcm9tIHRydW5rIHRvCgkgIDEuNiBicmFuY2guCgoyMDAzLTA1LTE1IDE0OjU4ICBraW5nCgoJKiBNb2R1bGVzL0ZpbmRGTFRLLmNtYWtlOiBMb29raW5nIGluIGFub3RoZXIgcGxhY2UgKG1lcmdlIGZyb20KCSAgdHJ1bmspLgoKMjAwMy0wNS0xNSAxNDo1NCAga2luZwoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9jbUN1cnNlc1N0cmluZ1dpZGdldC5jeHg6IEF0dGVtcHQgdG8gZml4IFNHSQoJICBjY21ha2UgcHJvYmxlbSAodGhhbmsgeW91IENsaW50IE1pbGxlcikuICBNZXJnaW5nIGZyb20gdHJ1bmsgdG8KCSAgMS42IGJyYW5jaC4KCjIwMDMtMDUtMTUgMTQ6NDUgIGtpbmcKCgkqIFNvdXJjZS9jbU1hY3JvQ29tbWFuZC5jeHg6IEJVRzogTWVyZ2luZyBmaXggZnJvbSB0cnVuayBpbnRvIDEuNgoJICBicmFuY2guICBSZXBvcnQgYSBtaXNzaW5nIEVORE1BQ1JPLgoKMjAwMy0wNS0xNSAwOTozNSAgYW5keQoKCSogYm9vdHN0cmFwOiBTZXZlcmFsIGZpeGVzIGJlZm9yZSBib290c3RyYXAgaXMgcmVhZHkgZm9yCgkgIHByaW1lLXRpbWU6IDEuIEFkZCAtLXZlcnNpb24gZmxhZyB0byBkaXNwbGF5IHZlcnNpb24gb2YgQ01ha2UgMi4KCSAgQWRkIGNvbW1lbnRzIHRvIGV4cGxhaW4gd2hhdCBpcyBnb2luZyBvbiAzLiBNb3ZlIENNQUtFX1JPT1RfRElSCgkgIGFuZCBDTUFLRV9CT09UU1RSQVAgdG8gY21Db25maWd1cmUuaCA0LiBGb3J3YXJkIENDLCBDWFgsIGFuZCBNQUtFCgkgIHRvIGNtYWtlIDUuIEFkZCBtb3JlIGluc3RydWN0aW9ucwoKMjAwMy0wNS0xNCAxNTozOCAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogVXBkYXRlZCBmb3IgMS42LjcgcmVsZWFzZS4KCjIwMDMtMDUtMTQgMTQ6MTQgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmgsIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IEVOSDoKCSAgVXBkYXRlZCB2ZXJzaW9uIG51bWJlciB0byAxLjYuNyBmcm9tIDEuNi42LgoKMjAwMy0wNS0xNCAxMjoxMCAga2luZwoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogQlVHOiBXb3JrLWFyb3VuZCBmb3IgU0dJIE1pcHNQcm8KCSAgYnVnIHdoZXJlICNlcnJvciBkb2Vzbid0IHJldHVybiBhbiBlcnJvciB0byBtYWtlLiAgTWVyZ2VkIG9udG8KCSAgMS42IGJyYW5jaCBmcm9tIHRydW5rLgoKMjAwMy0wNS0xNCAxMjowNiAga2luZwoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogQlVHOiBXb3JrLWFyb3VuZCBmb3IgU0dJIE1pcHNQcm8KCSAgYnVnIHdoZXJlICNlcnJvciBkb2Vzbid0IHJldHVybiBhbiBlcnJvciB0byBtYWtlLgoKMjAwMy0wNS0xNCAwOToyNyAgYW5keQoKCSogYm9vdHN0cmFwOiBFTkg6IEFkZCBwYXJhbGxlbCBidWlsZCBzdXBwb3J0LCBmaXggYnVnIGluIHZlcmJvc2UKCSAgYW5kIGNsZWFuIG91dHB1dCB3aGVuIGFkZGluZyBhcmd1bWVudHMKCjIwMDMtMDUtMTQgMDk6MTkgIGFuZHkKCgkqIGJvb3RzdHJhcDogRU5IOiBBZGQgYmV0dGVyIGVycm9yIHJlcG9ydGluZwoKMjAwMy0wNS0xNCAwODo0NSAga2luZwoKCSogU291cmNlL2NtYWtlLmN4eDogQlVHOiBOZWVkIHRvIHJlbW92ZSB0aGUgTUFLRUZMQUdTIHdoZW4gY21ha2UKCSAgc3RhcnRzLiAgSWYgY21ha2UgaXMgcnVuIGZyb20gaW5zaWRlIG1ha2UsIHdlIGRvbid0IHdhbnQgdGhlCgkgIHRyeS1jb21waWxlcyB0byBpbmhlcml0IHRoZSBtYWtlZmxhZ3MuCgoyMDAzLTA1LTE0IDA4OjQwICBraW5nCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFUlI6IEZpeGVkIHN0cmluZyBsaXRlcmFsLT5jaGFyKiBjb252ZXJzaW9uCgkgIHdhcm5pbmcuCgoyMDAzLTA1LTEzIDE2OjUxICBraW5nCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBCVUc6IE5lZWQgdG8gcmVtb3ZlIHRoZSBNQUtFRkxBR1Mgd2hlbiBjbWFrZQoJICBzdGFydHMuICBJZiBjbWFrZSBpcyBydW4gZnJvbSBpbnNpZGUgbWFrZSwgd2UgZG9uJ3Qgd2FudCB0aGUKCSAgdHJ5LWNvbXBpbGVzIHRvIGluaGVyaXQgdGhlIG1ha2VmbGFncy4KCjIwMDMtMDUtMTMgMTY6MTAgIGtpbmcKCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21ha2UuY3h4OiBFTkg6IFdoZW4gdGhlCgkgIGluaXRpYWxseSBjb25maWd1cmVkIGdlbmVyYXRvciBpcyBpbnZhbGlkLCBhbGxvdyB0aGUgdXNlciB0bwoJICBjaGFuZ2UgdGhlIGdlbmVyYXRvciB3aXRob3V0IGRlbGV0aW5nIHRoZSBjYWNoZSBieSBoYW5kLgoKMjAwMy0wNS0xMyAxNDoyNiAga2luZwoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBFTkg6IEltcHJvdmVkIGVycm9yIG1lc3NhZ2Ugd2hlbgoJICBhIHdyb25nIGdlbmVyYXRvciBpcyBzZWxlY3RlZC4KCjIwMDMtMDUtMTMgMTQ6MDUgIGtpbmcKCgkqIFNvdXJjZS9jbUR5bmFtaWNMb2FkZXIuY3h4OiBFUlI6IFJlbW92ZWQgdW51c2VkIHBhcmFtZXRlci4KCjIwMDMtMDUtMTMgMTM6NTQgIGtpbmcKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogRVJSOiBSZW1vdmVkIHVudXNlZCB2YXJpYWJsZSBmcm9tCgkgIHByZXZpb3VzIG1lcmdlLgoKMjAwMy0wNS0xMyAxMzo1MiAga2luZwoKCSogU291cmNlLzogY21DYWNoZU1hbmFnZXIuY3h4LCBjbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmN4eCwKCSAgY21MaXN0RmlsZUNhY2hlLmN4eCwgY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VEZXBlbmQuY3h4LCBjbU91dHB1dFJlcXVpcmVkRmlsZXNDb21tYW5kLmN4eCwKCSAgY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaCwgY21Vc2VNYW5nbGVkTWVzYUNvbW1hbmQuY3h4OgoJICBCVUc6IFVzaW5nIEdldExpbmVGcm9tU3RyZWFtIGluc3RlYWQgb2YgZ2V0bGluZSBkdWUgdG8gYnVnZ3kKCSAgc3RyZWFtIGltcGxlbWVudGF0aW9ucyBvbiBzb21lIHBsYXRmb3Jtcy4gIE1lcmdlZCBmcm9tIHRydW5rIGludG8KCSAgYnJhbmNoIDEuNi4KCjIwMDMtMDUtMTMgMTM6MjYgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VWUzcxRmluZE1ha2UuY21ha2UsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLCBTb3VyY2UvY21ha2UuY3h4OiBFTkg6CgkgIEFkZGluZyBWUyA3LjEgZ2VuZXJhdG9yIHRvIDEuNiBicmFuY2guCgoyMDAzLTA1LTEzIDEyOjA0ICBraW5nCgoJKiBNb2R1bGVzL0NoZWNrSW5jbHVkZUZpbGVzLmNtYWtlLCBNb2R1bGVzL0NoZWNrU3ltYm9sRXhpc3RzLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRDQUJMRS5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9TdW5PUy5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWJjYzMyLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2UsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbVJlbW92ZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21TdHJpbmdDb21tYW5kLmgsCgkgIFNvdXJjZS9jbWFrZXRlc3QuY3h4LCBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogQlVHOiBNZXJnZWQKCSAgZml4ZXMgZnJvbSBtYWluIHRyZWUgaW50byAxLjYgYnJhbmNoLgoKMjAwMy0wNS0xMyAxMTo0MiAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuaDogQ2hhbmdlIG5hbWUgb2YgNzEKCSAgZ2VuZXJhdG9yCgoyMDAzLTA1LTEzIDA5OjUwICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFUlI6IFJlbW92ZWQgdXNlIG9mIHN0ZDo6c3RyaW5nICE9CgkgIG9wZXJhdG9yIGR1ZSB0byBidWcgaW4gU0dJIGNvbXBpbGVyJ3MgbGlicmFyeS4KCjIwMDMtMDUtMTMgMDk6NDIgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dDogRVJSOiBUZXN0IGZvciBhbnNpIHN0cmVhbXMgbWF5IG5lZWQKCSAgdG8gdXNlIGlvc2Z3ZCBmb3IgdGVzdCBiZWNhdXNlIHNvbWUgY29tcGlsZXJzIHByb3ZpZGUgYW4gaW9zdHJlYW0KCSAgaGVhZGVyIHRoYXQgaXMgb2xkIHN0cmVhbXMuCgoyMDAzLTA1LTEzIDA4OjM4ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFUlI6IEFkZGVkIGZvcndhcmQgZGVjbGFyYXRpb25zIG9mCgkgIHN5c3RlbSBmdW5jdGlvbnMgZm9yIGNvbW8gY29tcGlsZXIuCgoyMDAzLTA1LTEyIDEzOjQzICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBDTWFrZUxpc3RzLnR4dCwgQ29uZmlndXJlLmh4eC5pbiwKCSAga3dzeXNfc3RkX2ZzdHJlYW0uaC5pbiwga3dzeXNfc3RkX2lvc2Z3ZC5oLmluLAoJICBrd3N5c19zdGRfaW9zdHJlYW0uaC5pbiwga3dzeXNfc3RkX3NzdHJlYW0uaC5pbjogRU5IOiBBZGRlZAoJICBLV1NZU19GT1JDRV9PTERfU1RSRUFNUyBvcHRpb24gdG8gZm9yY2UgdXNlIG9mIG5vbi1hbnNpIHN0cmVhbQoJICBoZWFkZXJzIGV2ZW4gaWYgdGhleSBhcmUgYXZhaWxhYmxlLgoKMjAwMy0wNS0xMiAxMzozMyAga2luZwoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIFN0YW5kYXJkSW5jbHVkZXMuaHh4LmluOiBFTkg6CgkgIFJlbW92ZWQgb2xkICh1bnVzZWQpIFN0YW5kYXJkSW5jbHVkZXMgaGVhZGVyLgoKMjAwMy0wNS0xMiAxMzoyNyAga2luZwoKCSogU291cmNlL2t3c3lzL2t3c3lzX3N0ZF9pb3Nmd2QuaC5pbjogRVJSOiBOZWVkIHRvIG1vdmUgZm9yd2FyZAoJICBkZWNsYXJhdGlvbnMgb2Ygbm9uLWFuc2kgc3RyZWFtcyBpbnRvIHN0ZCBuYW1lc3BhY2Ugd2hlbiBpdCBpcwoJICBhdmFpbGFibGUuCgoyMDAzLTA1LTEyIDEzOjE1ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBDTWFrZUxpc3RzLnR4dCwgQ29uZmlndXJlLmh4eC5pbiwgU3lzdGVtVG9vbHMuY3h4LAoJICBTeXN0ZW1Ub29scy5oeHguaW4sIGt3c3lzX3N0ZC5oLmluLCBrd3N5c19zdGRfZnN0cmVhbS5oLmluLAoJICBrd3N5c19zdGRfaW9zZndkLmguaW4sIGt3c3lzX3N0ZF9pb3N0cmVhbS5oLmluLAoJICBrd3N5c19zdGRfc3N0cmVhbS5oLmluOiBFTkg6IEFkZGVkIHdyYXBwZXJzIGFyb3VuZCB0aGUgc3RkIHN0cmVhbQoJICBoZWFkZXJzIHRvIG1ha2UgdGhlbSBsb29rIGxpa2UgYW5zaSBzdHJlYW1zIG9uIGFsbCBwbGF0Zm9ybXMuCgoyMDAzLTA1LTA5IDE1OjQ3ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlVlM3MUZpbmRNYWtlLmNtYWtlOiBhZGQgZmluZCBtYWtlIHByb2dyYW0gZm9yIDcxCgoyMDAzLTA1LTA5IDA5OjMyICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtYmNjMzIuY21ha2U6IEJVRzogcmVtb3ZlIHR5cG8gZnJvbSBmaWxlCgoyMDAzLTA1LTA4IDE2OjU5ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21HbG9iYWxWaXN1YWxTdHVkaW83MUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNzFHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwgY21ha2UuY3h4OiBhZGQgc3VwcG9ydCBmb3IgdnMgNzEKCjIwMDMtMDUtMDggMTY6NTIgIGtpbmcKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogRVJSOiBGaXhlZCBhcmd1bWVudHMgdG8ga3dzeXMncyBBRERfVEVTVAoJICBjYWxsIGZvciBtc3ZjNi4KCjIwMDMtMDUtMDggMTY6NDggIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9DTWFrZUxpc3RzLnR4dDogQlVHOiBOZWVkIHRvIGludmVydCB0ZXN0IHJlc3VsdCBmb3IKCSAgYW5zaSBzdHJpbmcgc3RyZWFtLgoKMjAwMy0wNS0wOCAxNDo0OSAga2luZwoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZGVkIGt3c3lzIHRlc3QuCgoyMDAzLTA1LTA4IDE0OjQ2ICBraW5nCgoJKiBTb3VyY2Uva3dzeXMvOiBDTWFrZUxpc3RzLnR4dCwgQ29uZmlndXJlLmh4eC5pbiwgRGlyZWN0b3J5LmN4eCwKCSAgRGlyZWN0b3J5Lmh4eC5pbiwgUmVndWxhckV4cHJlc3Npb24uaHh4LmluLAoJICBTdGFuZGFyZEluY2x1ZGVzLmh4eC5pbiwga3dzeXNfc3RkLmguaW46IEVOSDogUmVkdWNlZCBoZWFkZXIKCSAgZGVwZW5kZW5jaWVzIGFuZCBjbGVhbmVkIHVwIGluY2x1c2lvbiBvZiBzdGFuZGFyZCBoZWFkZXJzLgoKMjAwMy0wNS0wOCAxNDoxNyAga2luZwoKCSogU291cmNlL2t3c3lzLzogQ01ha2VMaXN0cy50eHQsIFJFQURNRS5pdGssIFJFQURNRS50eHQsIHRlc3QxLmN4eDoKCSAgRU5IOiBTZXR1cCBmb3IgdGVzdGluZyBhcyBhIHN0YW5kLWFsb25lIHByb2plY3QuCgoyMDAzLTA1LTA4IDA5OjU1ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtYmNjMzIuY21ha2U6IEJVRzogZml4IGZvciBib3JsYW5kIHdpbjMyCgkgIGV4ZSBidWlsZHMKCjIwMDMtMDUtMDggMDk6NDMgIG1hcnRpbmsKCgkqIE1vZHVsZXMvUGxhdGZvcm0vOiBXaW5kb3dzLWJjYzMyLmNtYWtlOiBCVUc6IHJlbW92ZSAtSCBmbGFncyBhcwoJICB0aGV5IGNhdXNlIGNyYXNoZXMgb24gb2xkd3d3CgoyMDAzLTA1LTA2IDEwOjE2ICBhbmR5CgoJKiBTb3VyY2UvY3Rlc3QuY3h4OiBFUlI6IFJlbW92ZSB3YXJuaW5nCgoyMDAzLTA1LTA1IDEwOjI0ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtYmNjMzIuY21ha2U6IEVOSDogY2hhbmdlIHRoZSBkZWZhdWx0CgkgIGJvcmxhbmQgc3RhY2sgc2l6ZQoKMjAwMy0wNS0wNSAxMDoyMyAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eDogQlVHOiBhZGQgbGlua2VyIGZsYWdzCgkgIGZvciBtb2R1bGVzCgoyMDAzLTA1LTA1IDEwOjIzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUc6IHJlbW92ZSA2NCBiaXQKCSAgd2FybmluZ3MKCjIwMDMtMDUtMDUgMDk6NTQgIGFuZHkKCgkqIE1vZHVsZXMvQ2hlY2tJbmNsdWRlRmlsZXMuY21ha2U6IEVSUjogUmVtb3ZlIHdhcm5pbmcgZm9yIG1haW4KCSAgcmV0dXJuaW5nIHZvaWQuCgoyMDAzLTA1LTA1IDA4OjQyICBhbmR5CgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21ha2V0ZXN0LmN4eCwgY21ha2V0ZXN0LmguaW46IEJVRzogRml4CgkgIHNvbWUgZGVwZW5kZW5jaWVzIGZvciBsb2NhdGlvbiBvZiBleGVjdXRhYmxlcwoKMjAwMy0wNS0wNSAwODo0MiAgYW5keQoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IEFkZCBzdXBwb3J0IGZvcgoJICBtYWtlIHRlc3QgZXZlbiBmb3IgZnJlc2ggYnVpbGQgb2YgY21ha2UKCjIwMDMtMDUtMDIgMTQ6MDUgIG1hcnRpbmsKCgkqIE1vZHVsZXMvRGFydC5jbWFrZTogZml4ZWQgYW5keSBzbG9wcHkgY29kZSBhZ2FpbgoKMjAwMy0wNS0wMiAxMzo1NyAgYW5keQoKCSogTW9kdWxlcy9EYXJ0LmNtYWtlLCBNb2R1bGVzL0RhcnRDb25maWd1cmF0aW9uLnRjbC5pbiwKCSAgU291cmNlL0NNYWtlTGlzdHMudHh0LCBTb3VyY2UvY3Rlc3QuY3h4OiBFTkg6IEZpeCBzb21lIGRhcnQKCSAgaXNzdWVzLiBOb3cgaXQgd29ya3MgZmluZSB3aXRob3V0IGRhcnQuCgoyMDAzLTA1LTAyIDEzOjU2ICBhbmR5CgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IE5ldyBsb2NhdGlvbiBvZiBjbWFrZSBiaW5hcmllcwoKMjAwMy0wNS0wMiAxMzo1NCAgYW5keQoKCSogU291cmNlL2NtYWtldGVzdC5jeHg6IEVOSDogTmV3IGxvY2F0aW9uIG9mIGNtYWtlCgoyMDAzLTA1LTAyIDEzOjU0ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN1Ym1pdC5jeHg6IEVOSDogQmUganVzdCBhIGJpdCBtb3JlIHZlcmJvc2UKCjIwMDMtMDUtMDIgMTE6MjkgIGFuZHkKCgkqIENNYWtlTGlzdHMudHh0LCBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogRXhlY3V0YWJsZXMgc2hvdWxkIGdvCgkgIHRvIHRoZSBiaW4gZGlyZWN0b3J5CgoyMDAzLTA1LTAxIDA3OjU2ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN1Ym1pdC5jeHg6IEVSUjogUmVtb3ZlIHdhcm5pbmdzCgoyMDAzLTA0LTMwIDA3OjMyICBhbmR5CgoJKiBTb3VyY2UvY21ha2UuaDogRVJSOiBSdW4gc2hvdWxkIHJldHVybiBhIHZhbHVlCgoyMDAzLTA0LTI5IDE3OjIzICBhbmR5CgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgQ1Rlc3QvQ01ha2VMaXN0cy50eHQ6IEVOSDogTWFrZSBDdXJsCgkgIGNvZGUgdG8gYmUgYnVpbHQgYnkgZGVmYXVsdAoKMjAwMy0wNC0yOSAxMDowNyAgYW5keQoKCSogU291cmNlL2NtYWtlbWFpbi5jeHg6IEVOSDogQWRkIGFyZ3VtZW50IC1OIHdoaWNoIHByZXZlbnRzIENNYWtlCgkgIGZyb20gZG9pbmcgY29uZmlndXJlIGFuZCBnZW5lcmF0ZS4gVGhpcyBzaG91bGQgYmUgaW1wcm92ZWQgYXQKCSAgc29tZSBwb2ludCB0aGF0IGl0IHdpbGwgZG8gYWxsIHRoZSBlcnJvciBjaGVja2luZyBzdWNoIGFzIHdoZXRoZXIKCSAgdGhlIENNYWtlTGlzdHMudHh0IGV4aXN0cyBldGMuIEl0IHNob3VsZCBlc3NlbnRpYWxseSBsb2FkIGNhY2hlLAoJICBnbyB0aHJvdWdoIGNtYWtlIGxpc3RzLCBidXQgbm90IG1vZGlmeSBjYWNoZSBhbmQgb3RoZXIgZmlsZXMgaW4KCSAgdGhlIGJ1aWxkIGRpcmVjdG9yeS4gVGhlIHNlY29uZCBmZWF0dXJlIGlzIGFiaWxpdHkgdG8gZGlzcGxheQoJICBjYWNoZSB2YWx1ZXMuIFlvdSBydW4gd2l0aCBhcmd1bWVudCAtTCAob3IgLUxIIC8tTEEgLyAtTEFIKSBhbmQKCSAgaXQgd2lsbCBkaXNwbGF5IGFsbCBub25hZHZhbmNlZCBjYWNoZWQgdmFyaWFibGVzICgtTCkgLyBhbGwKCSAgY2FjaGVkIHZhcmlhYmxlICgtTEEpIC8gYW5kIGNhY2hlZCB2YXJpYWJsZXMgd2l0aCBjb3JyZXNwb25kaW5nCgkgIGhlbHAgc3RyaW5nICgtTEggLUxBSCkuCgoyMDAzLTA0LTI5IDEwOjA0ICBhbmR5CgoJKiBTb3VyY2UvOiBjbWFrZS5jeHgsIGNtYWtlLmg6IEVOSDogQWRkIGFkZGl0aW9uYWwgb3B0aW9uYWwKCSAgYXJndW1lbnQgdG8gUnVuLiBJZiBpdCBpcyB0cnVlLCBpdCB3aWxsIG9ubHkgc2V0IHBhdGhzIGFuZCBsb2FkCgkgIGNhY2hlLiBJdCB3aWxsIG5vdCBkbyBjb25maWd1cmUgYW5kIGdmZW5lcmF0ZQoKMjAwMy0wNC0yOSAxMDowMiAgYW5keQoKCSogU291cmNlLzogY21DYWNoZU1hbmFnZXIuY3h4LCBjbUNhY2hlTWFuYWdlci5oOiBFTkg6IEFkZCBtZXRob2QgdG8KCSAgY29udmVydCBmcm9tIENhY2hlRW50cnlUeXBlIHRvIHN0cmluZwoKMjAwMy0wNC0yOCAxMzoxNiAgbWFydGluawoKCSogU291cmNlL2NtTWFjcm9Db21tYW5kLmN4eDogYmV0dGVyIGVycm9yIHJlcG9ydGluZwoKMjAwMy0wNC0yNSAxNToxNiAgYW5keQoKCSogU291cmNlLzogQ1Rlc3QvQ01ha2VMaXN0cy50eHQsIENNYWtlTGlzdHMudHh0OiBFTkg6IEVuYWJsZSBDVGVzdAoJICB0byBiZSBidWlsZCBhcyBhIHBhcnQgb2YgQ01ha2UKCjIwMDMtMDQtMjUgMTQ6NTIgIGFuZHkKCgkqIFNvdXJjZS9jdGVzdC5jeHg6IEVOSDogUmVuYW1lIG9wdGlvbiAtRCB0byAtQyBiZWNhdXNlIHdlIHdpbGwgdXNlCgkgIC1EIGxhdGVyCgoyMDAzLTA0LTI1IDE0OjUxICBhbmR5CgoJKiBTb3VyY2UvY21Db21tYW5kcy5jeHg6IEVSUjogU2V0IHNvdXJjZSBmaWxlcyBwcm9wZXJ0aWVzIGlzIG5lZWRlZAoJICBmb3IgQ3VybCBidWlsZAoKMjAwMy0wNC0yNSAxNDo1MCAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXQuY3h4OiBFUlI6IFJlbW92ZSB3YXJuaW5nIGJlY2F1c2UgU0NQCgkgIG5vdCBpbXBsZW1lbnRlZAoKMjAwMy0wNC0yNCAxMzoyNSAgYmVyawoKCSogU291cmNlLzogY21TeXN0ZW1Ub29scy5jeHg6IG1pbm9yIGZpeAoKMjAwMy0wNC0yMyAxNzoyNCAgampvbWllcgoKCSogU291cmNlL2t3c3lzL0RpcmVjdG9yeS5oeHguaW46IEZJWDogd2FybmluZ3MsIGRpc2FibGluZyA0Nzg2CgoyMDAzLTA0LTIzIDEzOjU4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ1Rlc3QvQ01ha2VMaXN0cy50eHQ6IGZpeCBzb21lIGluY2xkdWUgcGF0aHMKCjIwMDMtMDQtMjIgMTY6MTAgIGtpbmcKCgkqIE1vZHVsZXMvRmluZENBQkxFLmNtYWtlOiBFTkg6IFVwZGF0ZWQgc2VhcmNoIHBhdGhzIHRvIG5ld2VzdAoJICB2YWx1ZXMgZnJvbSBDYWJsZS4KCjIwMDMtMDQtMjIgMTQ6MzIgIGFuZHkKCgkqIGJvb3RzdHJhcDogRU5IOiBBZGQgU0dJIC1MQU5HOnN0ZCBzdXBwb3J0CgoyMDAzLTA0LTE4IDEwOjAxICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEVOSDogQ2xlYW51cAoKMjAwMy0wNC0xOCAxMDowMCAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFdmVuIGJldHRlciBlcnJvciBkZXRlY3Rpb24gb24gQUlYCgoyMDAzLTA0LTE4IDA5OjQ4ICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEJldHRlciBBSVggZGV0ZWN0aW9uCgoyMDAzLTA0LTE3IDE1OjIwICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IFRoaXMgaXMgcmVhbGx5IGFuIGVycm9yCgoyMDAzLTA0LTE3IDEzOjEzICBhbmR5CgoJKiBib290c3RyYXA6IFN1cHBvcnQgTERGTEFHUwoKMjAwMy0wNC0xNyAxMzoxMyAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBFTkg6IEFkZCBBSVggd2FyZXJyCgoyMDAzLTA0LTE3IDExOjU5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Mb2NhbENvZGVXYXJyaW9yR2VuZXJhdG9yLmN4eDogd2FybmluZyBmaXggaG9wZWZ1bGx5CgoyMDAzLTA0LTE3IDExOjE3ICBhbmR5CgoJKiBEYXJ0Q29uZmlnLmNtYWtlOiBNb3JlIGF0dGVtcHQgdG8gbWFrZSBjb250aW51b3VzIGVtYWlsIHdvcmsKCjIwMDMtMDQtMTcgMDg6NDcgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUR5bmFtaWNMb2FkZXIuY3h4OiBmaXggb25lIHdhcm5pbmcKCjIwMDMtMDQtMTcgMDg6MjMgIGFuZHkKCgkqIERhcnRDb25maWcuY21ha2U6IEF0dGVtcHQgdG8gZW5hYmxlIHNlbmRpbmcgb2YgZS1tYWlscyBmcm9tCgkgIGNvbnRpbnVvdXMKCjIwMDMtMDQtMTcgMDg6MDMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNvbW1hbmRzLmN4eDogQlVHOiBmaXggY29tcGlsZSBlcnJvciBvbiB3aW5kb3dzIGJlY2F1c2UKCSAgb2Ygd2luZG93cy5oCgoyMDAzLTA0LTE3IDA4OjAyICBhbmR5CgoJKiBDTWFrZUxpc3RzLnR4dCwgYm9vdHN0cmFwLCBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbjogQlVHOiBSZW5hbWUKCSAgQm9vdHN0cmFwIGRpcmVjdG9yeSB0byBCb290c3RyYXAuY21rLCBzbyB0aGF0IG9uIHBsYXRmb3JtcyBzdWNoCgkgIGFzIFdpbmRvd3MgYW5kIE1hYyBPU1ggaXQgd2lsbCBicmVhayBkdXJpbmcgaW4tc291cmNlIGJ1aWxkCgoyMDAzLTA0LTE2IDE3OjA2ICBhbmR5CgoJKiBEYXJ0Q29uZmlnLmNtYWtlOiBFTkg6IGNsZWFudXAKCjIwMDMtMDQtMTYgMTY6MjAgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUR5bmFtaWNMb2FkZXIuY3h4OiBmaXggb25lIHdhcm5pbmcKCjIwMDMtMDQtMTYgMTY6MTcgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUNvbW1hbmRzLmN4eDogc3RyZWFtbGluZSBib290c3RyYXAKCjIwMDMtMDQtMTYgMTU6NDAgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IG1pbm9yIGZpeAoKMjAwMy0wNC0xNiAxNDo0NyAgbWFydGluawoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIGNtTG9jYWxDb2RlV2FycmlvckdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxDb2RlV2FycmlvckdlbmVyYXRvci5oLCBjbWFrZS5jeHg6IGFkZCBDT2RlV2FycmlvciBiYWNrIGluCgkgIGZvciB0ZXN0aW5nCgoyMDAzLTA0LTE2IDE0OjEzICBhbmR5CgoJKiBTb3VyY2UvY21EeW5hbWljTG9hZGVyLmN4eDogQXR0ZW1wdCB0byBtYWtlIHVubG9hZGluZyB3b3JrIG9uIE9TWAoKMjAwMy0wNC0xNiAxMzo0MSAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBGaXggdXBkYXRlIG91dHB1dAoKMjAwMy0wNC0xNiAxMzozMyAgaG9mZm1hbgoKCSogVGVzdHMvOiBMb2FkQ29tbWFuZC9DTWFrZUxpc3RzLnR4dCwKCSAgTG9hZENvbW1hbmRPbmVDb25maWcvQ01ha2VMaXN0cy50eHQ6IEVOSDogYWRkIGEgZG91YmxlIHRyeQoJICBjb21waWxlIHRvIGZpeCBjcmF6eSBtYWtlIG9uIGhwCgoyMDAzLTA0LTExIDE4OjA1ICBrZW50d2lsbGlhbXMKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IHRvb2sgb3V0IGFuIG9ycGhhbiBlbmRpZgoKMjAwMy0wNC0xMSAxNjoyMiAga2VudHdpbGxpYW1zCgoJKiBTb3VyY2Uva3dzeXMvOiBTeXN0ZW1Ub29scy5oeHguaW4sIFN5c3RlbVRvb2xzLmN4eDogcmVtb3ZlCgkgIHJlZHVuZGFudCBmdW5jdGlvbiBhbmQgZWxpbWluYXRlIG5lZWQgZm9yIHN0cmNhc2VjbXAKCjIwMDMtMDQtMTEgMTM6MzYgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9SRUFETUUuaXRrOiBFTkg6IEFkZGVkIGRvY3VtZW50YXRpb24gZm9yIElUSy4KCjIwMDMtMDQtMTEgMDc6MjcgIGxvcmVuc2VuCgoJKiBTb3VyY2Uva3dzeXMvU3lzdGVtVG9vbHMuY3h4OiBFUlI6IEJvcmxhbmQgZml4IGZvciBzdHJpY21wLiBFUlI6CgkgIHJlbW92ZWQgaXRrIGRlcGVuZGVuY2llcy4KCjIwMDMtMDQtMTAgMTM6NDEgIGtlbnR3aWxsaWFtcwoKCSogU291cmNlL2t3c3lzLzogU3lzdGVtVG9vbHMuY3h4LCBTeXN0ZW1Ub29scy5oeHguaW46IFJlbW92ZWQKCSAgcGxhdGZvcm0tc3BlY2lmaWMgZnVuY3Rpb25zIGZyb20gQ29kZS9JTy9pdGtJT0NvbW1vbiwgZml4ZWQgY29kZQoJICB0byB1c2Uga3dzeXMvU3lzdGVtVG9vbHMKCjIwMDMtMDQtMTAgMDk6MDcgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRG8gc2FmZSBkaXZpc2lvbiBpbnN0ZWFkIG9mIGZpeGluZyByZXN1bHQKCjIwMDMtMDQtMTAgMDk6MDMgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEVSUjogUmVtb3ZlZCB1bnVzZWQgcGFyYW1ldGVyIGFuZAoJICB0cnVuY2F0ZWQgZGVidWcgc3ltYm9sIHdhcm5pbmdzLgoKMjAwMy0wNC0wOSAwODowOCAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBBdHRlbXB0IHRvIGZpeCBGSVhOVU0KCjIwMDMtMDQtMDggMTM6MTQgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy9TeXN0ZW1Ub29scy5jeHg6IEVSUjogRml4ZWQgdHlwby4KCSAgY21SZWd1bGFyRXhwcmVzc2lvbiAtPiBSZWd1bGFyRXhwcmVzc2lvbi4KCjIwMDMtMDQtMDggMTM6MTAgIGtpbmcKCgkqIFNvdXJjZS9rd3N5cy86IENNYWtlTGlzdHMudHh0LCBDb25maWd1cmUuaHh4LmluLCBEaXJlY3RvcnkuY3h4LAoJICBEaXJlY3RvcnkuaHh4LmluLCBSZWd1bGFyRXhwcmVzc2lvbi5jeHgsCgkgIFJlZ3VsYXJFeHByZXNzaW9uLmh4eC5pbiwgU3RhbmRhcmRJbmNsdWRlcy5oeHguaW4sCgkgIFN5c3RlbVRvb2xzLmN4eCwgU3lzdGVtVG9vbHMuaHh4LmluOiBFTkg6IEFkZGVkIGt3c3lzIGxpYnJhcnkgZm9yCgkgIHBsYXRmb3JtLWluZGVwZW5kZW50IHN5c3RlbSB0b29scy4KCjIwMDMtMDQtMDggMTA6NTcgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0Lmg6IFJlbW92ZSBuYW4gYW5kIGluZiwgdXNlCgkgIGlvc3RyZWFtcyB0byBzZXQgcHJlY2lzaW9uLCBmaXggZmlsZSBuYW1lLCBhbmQgcmVtb3ZlIGJvZ3VzIGZpbGVzCgoyMDAzLTA0LTA4IDA3OjE2ICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IFJlbW92ZSBwdXNoX2JhY2sgb24gc3RyaW5nLiBXaHkgY2FuJ3QgU1RMIGJlCgkgIHN0YW5kYXJkPwoKMjAwMy0wNC0wNyAxODoyMSAgYW5keQoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaDogU29tZSBjb3YgaW1wcm92ZW1lbnRzIGFuZCBiZXR0ZXIKCSAgZXNjCgoyMDAzLTA0LTA3IDEyOjIwICBhbmR5CgoJKiBTb3VyY2UvY21ha2V0ZXN0LmN4eDogV2Ugc2hvdWxkIHJlYWxseSBqdXN0IGNhbGwgbWFrZSBhbmQgbm90CgkgIG1ha2UgYWxsCgoyMDAzLTA0LTA0IDEwOjU2ICBraW5nCgoJKiBTb3VyY2UvY21TZXRDb21tYW5kLmg6IEVOSDogQWRkZWQgQ0FDSEUgZW50cnkgdHlwZXMgdG8KCSAgZG9jdW1lbnRhdGlvbiBzdHJpbmcuCgoyMDAzLTA0LTA0IDEwOjA1ICBraW5nCgoJKiBNb2R1bGVzL0ZpbmRGTFRLLmNtYWtlOiBFTkg6IEFkZGVkIC91c3IvbG9jYWwvbGliL2ZsdGsKCjIwMDMtMDQtMDMgMTg6NDAgIGFuZHkKCgkqIGJvb3RzdHJhcDogQmV0dGVyIHN1cHBvcnQgZm9yIHNwYWNlcyBpbiBwYXRocwoKMjAwMy0wNC0wMyAwODo0NCAgYW5keQoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBUcnkgZGlmZmVyZW50aWF0aW5nIGV4dGVuc2lvbnMKCjIwMDMtMDQtMDIgMjI6NDggIGtpbmcKCgkqIFNvdXJjZS86IGNtYWtlLmN4eCwgY21ha2UuaCwgY21ha2VtYWluLmN4eCwKCSAgQ3Vyc2VzRGlhbG9nL2NjbWFrZS5jeHg6IEVOSDogSW1wcm92ZWQgZG9jdW1lbnRhdGlvbi4gIEFsc28KCSAgbW9kaWZpZWQgYmVoYXZpb3Igb2YgImNtYWtlIiB0byBub3QgY29uZmlndXJlIGEgcHJvamVjdCBpbiB0aGUKCSAgY3VycmVudCBkaXJlY3RvcnkgdW5sZXNzIC4gaXMgZ2l2ZW4uCgoyMDAzLTA0LTAyIDIyOjQ0ICBraW5nCgoJKiBTb3VyY2UvY21Eb2N1bWVudGF0aW9uLmN4eDogRU5IOiBSdW5uaW5nIHdpdGggemVybyBhcmd1bWVudHMgbm93CgkgIHByb2R1Y2VzIHVzYWdlLgoKMjAwMy0wNC0wMiAwOToxOSAgYW5keQoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaDogVXJsIGVzY2FwZSBwYXNzd29yZAoKMjAwMy0wNC0wMiAwOToxOSAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXQuY3h4OiBPbiB2ZXJib3NlLCBiZSBtb3JlIHZlcmJvc2UKCjIwMDMtMDQtMDIgMDk6MDEgIGFuZHkKCgkqIFRlc3RzL1dyYXBwaW5nL3F0d3JhcHBpbmdtYWluLmN4eDogSWYgZGlzcGxheSBpcyBub3Qgc2V0LCBkbyBub3QKCSAgYXR0ZW1wdCB0byBydW4gYXBwbGljYXRpb24KCjIwMDMtMDQtMDIgMDg6NDUgIGFuZHkKCgkqIE1vZHVsZXMvRmluZFF0LmNtYWtlOiBBZGQgUVQgb24gZGViaWFuCgoyMDAzLTA0LTAxIDE1OjMxICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEZpeCBjb3YuIHByb2JsZW1zLCBpZ25vcmUgbm9uYXNjaWkgY2hhci4KCSAgUHJvcGFnYXRlIHZlcmJvc2l0eQoKMjAwMy0wNC0wMSAxNTozMCAgYW5keQoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdFN1Ym1pdC5jeHgsIGNtQ1Rlc3RTdWJtaXQuaDogQ29udHJvbGUKCSAgdmVyYm9zaXR5CgoyMDAzLTA0LTAxIDEzOjI5ICBraW5nCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEJVRzogc3RybGVuKGJ1ZmZlcikgZnJvbSBnZXRsaW5lIG1heSBiZQoJICAyIGxlc3MgdGhhbiBnY291bnQgb24gd2luZG93cyBiZWNhdXNlIGJvdGggdGhlIENSIGFuZCBMRgoJICBjaGFyYWN0ZXJzIG1heSBiZSByZW1vdmVkLgoKMjAwMy0wMy0yOCAxMzo0MiAgYW5keQoKCSogTW9kdWxlcy9DaGVja1N5bWJvbEV4aXN0cy5jbWFrZTogTmV3IGRlc2lnbiBvZiBDaGVja1N5bWJvbEV4aXN0cwoJICBwcmV0dHkgbXVjaCByZXBsYWNlcyBhbGwgb3RoZXIgb25lcy4KCgkgIEZvciBleGFtcGxlOgoKCSAgQ0hFQ0tfSEVBREVSX0VYSVNUUygidHlwZS5oIiBIQVZFX1RZUEVfSCkgaXM6CgkgIENIRUNLX1NZTUJPTF9FWElTVFMobWFpbiAidHlwZS5oIiBIQVZFX1RZUEVfSCkKCgkgIENIRUNLX0xJQlJBUllfRVhJU1RTKCJuc2wiCWdldGhvc3RuYW1lICBIQVZFX0xJQk5TTCkgd291bGQgYmUKCSAgU0VUKENNQUtFX1JFUVVJUkVEX0xJQlJBUklFUyAibnNsIikKCSAgQ0hFQ0tfU1lNQk9MX0VYSVNUUyhnZXRob3N0bmFtZSAibmV0ZGIuaCIgSEFWRV9MSUJOU0wpCgoJICAuLi4KCjIwMDMtMDMtMjcgMTU6NTIgIGFuZHkKCgkqIFNvdXJjZS86IGNtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwgY21TeXN0ZW1Ub29scy5jeHgsCgkgIGNtVXNlTWFuZ2xlZE1lc2FDb21tYW5kLmN4eDogUmVtb3ZlIHdhcm5pbmdzCgoyMDAzLTAzLTI3IDE1OjI5ICBhbmR5CgoJKiBib290c3RyYXA6IEluaXRpYWwgaW1wb3J0IG9mIGJvb3RzdHJhcCBmb3IgQ01ha2UKCjIwMDMtMDMtMjcgMTM6MDMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vU3VuT1MuY21ha2U6IEZpeCBnbnUgYyBhbmQgU3VuIENDIG1peAoKMjAwMy0wMy0yNyAxMjo0OSAgYW5keQoKCSogQ01ha2VMaXN0cy50eHQ6IFNvbWUgbW9yZSBwcmVwYXJhdGlvbnMgZm9yIG5ldyBib290c3RyYXAgc3lzdGVtCgoyMDAzLTAzLTI3IDEyOjI0ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNhY2hlTWFuYWdlci5jeHgsIGNtQ29uZmlndXJlRmlsZUNvbW1hbmQuY3h4LAoJICBjbUxpc3RGaWxlQ2FjaGUuY3h4LCBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZURlcGVuZC5jeHgsIGNtT3V0cHV0UmVxdWlyZWRGaWxlc0NvbW1hbmQuY3h4LAoJICBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oLCBjbVVzZU1hbmdsZWRNZXNhQ29tbWFuZC5jeHg6CgkgIEltcGxlbWVudCBHZXRMaW5lRnJvbVN0cmVhbSB0aGF0IGFjdHVhbGx5IHdvcmtzIGFuZCB1c2UgaXQKCSAgaW5zdGVhZCBvZiBnZXRsaW5lCgoyMDAzLTAzLTI2IDEwOjQ1ICBhbmR5CgoJKiBTb3VyY2UvY21TdGFuZGFyZEluY2x1ZGVzLmgsIFRlc3RzL0NvbXBsZXgvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0OiBSZW1vdmUgYm9ndXMgZmxhZ3MKCSAgZnJvbSBjbVN0YW5kYXJkSW5jbHVkZXMgYW5kIG1ha2UgY29tcGxleCB0ZXN0IHBhc3MKCjIwMDMtMDMtMjEgMTE6MzMgIGhvZmZtYW4KCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHg6IEJVRzogZml4IFJFTU9WRSB0ZXN0CgoyMDAzLTAzLTIxIDExOjI0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21SZW1vdmVDb21tYW5kLmN4eDogQlVHOiBmaXggYnJva2VuIGNvbW1hbmQKCjIwMDMtMDMtMjAgMTE6MjcgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRml4IHByb2JsZW0gd2l0aCBuZXR3b3JrIHBhdGhzCgoyMDAzLTAzLTIwIDEwOjEyICBhbmR5CgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogU3VwcG9ydCBjbWFrZSBpbgoJICBkaXJlY3Rvcnkgd2l0aCBzcGFjZQoKMjAwMy0wMy0yMCAwOTo0NyAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBCVUc6IHVzZWQgd3JvbmcgY291bnRlcnMKCjIwMDMtMDMtMTkgMTg6MjggIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogTW9yZSByZWdleAoKMjAwMy0wMy0xOSAxNjozNSAgYW5keQoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaDogQWRkIHN0YXJ0CgoyMDAzLTAzLTE5IDE2OjI1ICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IE1vdmUgZmlsZXMgdG8gZGlmZmVyZW50IGxvY2F0aW9uIGFuZCBmaXggdGltZQoKMjAwMy0wMy0xOSAxNjoxMSAgYW5keQoKCSogU291cmNlLzogY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaDogRml4IGZvciB2aXN1YWwgc3R1ZGlvCgoyMDAzLTAzLTE5IDEwOjE2ICBraW5nCgoJKiBTb3VyY2UvY21TdHJpbmdDb21tYW5kLmg6IEJVRzogQ29tbWFuZCBzaG91bGQgYmUgaW5oZXJpdGVkLgoKMjAwMy0wMy0xOCAxMTo0NyAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvOiBjb25maWdfTGludXg6IEVOSDogVXBkYXRlZCB0byBkbyByZWxlYXNlCgkgIGJ1aWxkIG9uIHJpbmd3b3JsZC4gIE5lZWRlZCBmb3Igb2xkIGdsaWJjIHN1cHBvcnQuCgoyMDAzLTAzLTE3IDE0OjI5ICBhbmR5CgoJKiBUZXN0cy9TaW1wbGUvOiBDTWFrZUxpc3RzLnR4dCwgc2ltcGxlLmN4eCwgc2ltcGxlQ0xpYi5jLAoJICBzaW1wbGVXZS5jcHA6IEltcHJvdmUgdGVzdAoKMjAwMy0wMy0xNyAxMzoyNiAgYW5keQoKCSogVGVzdHMvU2ltcGxlLzogQ01ha2VMaXN0cy50eHQsIHNpbXBsZUNMaWIuYzogQWRkIHRlc3RpbmcgZm9yIHdoZW4KCSAgQyBzb3VyY2VzIGFyZSBjb21waWxlZCB3aXRoIEMrKyBjb21waWxlcgoKMjAwMy0wMy0xNyAxMToyMSAgYW5keQoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9jbUN1cnNlc01haW5Gb3JtLmN4eDogSWYgdGhlcmUgd2FzIG5vIGVycm9yLAoJICBkbyBub3Qgc2F5IHRoYXQgdGhlcmUgd2FzIG9uZQoKMjAwMy0wMy0xNyAxMDowMCAga2luZwoKCSogTW9kdWxlcy9GaW5kR1RLLmNtYWtlOiBCVUc6IEZpeGVkIEVORElGIG9yZGVyaW5nLgoKMjAwMy0wMy0xNyAwOTo1NyAga2luZwoKCSogTW9kdWxlcy9DaGVja1N5bWJvbEV4aXN0cy5jbWFrZTogQlVHOiBGaXhlZCBzeW50YXggb2YgZmlsZQoJICBnZW5lcmF0ZWQgZm9yIHRlc3QuCgoyMDAzLTAzLTE3IDA5OjI5ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBmaXggY3Jhc2ggd2l0aCBmb3JjZSBjeHgKCSAgdHlwZQoKMjAwMy0wMy0xNyAwOToxNSAgaG9mZm1hbgoKCSogU291cmNlLzogY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IGZvcmNlIGN4eCBjb21waWxlciBmb3IgY3h4CgkgIGZpbGVzCgoyMDAzLTAzLTE3IDA4OjI1ICBhbmR5CgoJKiBUZXN0cy9TeXN0ZW1JbmZvcm1hdGlvbi86IENNYWtlTGlzdHMudHh0LCBEdW1wSW5mb3JtYXRpb24uY3h4LAoJICBEdW1wSW5mb3JtYXRpb24uaC5pbjogRGlzcGxheSBDYWNoZSBhbmQgYWxsIHZhcmlhYmxlcwoKMjAwMy0wMy0xNiAyMDozMyAgYW5keQoKCSogTW9kdWxlcy9DaGVja1N5bWJvbEV4aXN0cy5jbWFrZTogUHJldmVudCBDTWFrZSBmcm9tIHB1dHRpbmcgOyBpbgoJICB0aGUgZmlsZQoKMjAwMy0wMy0xNiAyMDoyNSAgYW5keQoKCSogTW9kdWxlcy9GaW5kR1RLLmNtYWtlOiBNb3JlIHZhcmlhYmxlcyBhZHZhbmNlZAoKMjAwMy0wMy0xNiAyMDoyMyAgYW5keQoKCSogTW9kdWxlcy9GaW5kR1RLLmNtYWtlOiBBZGQgZ3RocmVhZCBsaWJyYXJ5CgoyMDAzLTAzLTE1IDEwOjA0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21UYXJnZXQuY3h4OiBCVUc6IEhhc0NYWCBkaWQgbm90IHVzZSBHZXRGaWxlRm9ybWF0IGFuZAoJICB3YXMgYnJva2VuCgoyMDAzLTAzLTE0IDE1OjQ0ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRHVEsuY21ha2U6IEJVRzogYmFkIGlmIHN0YXRlbWVudCBvcmRlcgoKMjAwMy0wMy0xNCAxNTowNiAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHg6IGJldHRlciBlcnJvciBtZXNzYWdlCgoyMDAzLTAzLTE0IDEyOjAwICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2U6IGZvcmNlIGMrKyBmb3IgYysrIGZpbGVzCgoyMDAzLTAzLTE0IDEyOjAwICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4OiB1c2UgYyBmbGFncyB3aXRoIGMgYW5kCgkgIG5vdCBjeHggZmxhZ3MsIGFsc28gZm9yY2UgYysrIGZvciBjIGZpbGVzCgoyMDAzLTAzLTE0IDExOjU5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBGb3JjZSBjKysgYnVpbGRzIGZvcgoJICBjKysgZmlsZXMKCjIwMDMtMDMtMTQgMTE6NTggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogbWFrZSBzdXJlIE0gaXMgYWZ0ZXIgbQoKMjAwMy0wMy0xNCAxMDo1NCAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBCVUc6IGMgZXh0ZW5zaW9uIG11c3QgY29tZSBiZWZvcmUgQy4KCjIwMDMtMDMtMTQgMTA6MzggIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogQlVHOiBjIG11c3QgcHJlY2VkZSBDLgoKMjAwMy0wMy0xMyAxNjozMSAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY29uZmlnX0xpbnV4OiBNZXJnaW5nIGZyb20gMS42IGFnYWluLgoKMjAwMy0wMy0xMyAxNjozMCAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY29uZmlnX0xpbnV4OiBCVUc6IE5lZWQgdG8gbGluayBzdGF0aWNhbGx5CgkgIGFnYWluc3QgY3Vyc2VzLgoKMjAwMy0wMy0xMyAxNTo1OSAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvOiBjbWFrZV9yZWxlYXNlLnNoLCBjb25maWdfTGludXg6IE1lcmdpbmcgZnJvbQoJICAxLjYgcmVsZWFzZSBicmFuY2guCgoyMDAzLTAzLTEzIDE1OjU4ICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoOiBCVUc6IE5lZWQgdG8gY2hlY2tvdXQKCSAgUmVsZWFzZVV0aWxpdGllcyB3aXRoIHNhbWUgdGFnLgoKMjAwMy0wMy0xMyAxNTo0NyAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvOiBjbWFrZV9yZWxlYXNlLnNoOiBFTkg6IFVwZGF0ZWQgZm9yIDEuNi42CgkgIHJlbGVhc2UuCgoyMDAzLTAzLTEzIDE1OjQ2ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtLzogU3VuT1MuY21ha2U6IEJVRzogRG9uJ3QgdXNlIC1ub3N0ZGxpYiBvcHRpb24KCSAgdG8gbGluayBzaGFyZWQgbGlicmFyaWVzLiAgSnVzdCB1c2UgZ2NjIC1zaGFyZWQsIGV2ZW4gZm9yIEMrKwoJICBsaWJyYXJpZXMuCgoyMDAzLTAzLTEzIDEzOjI4ICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEJVRzogQWRkZWQgbWlzc2luZyBjYyBleHRlbnNpb24gZm9yIFNvdXJjZQoJICBGaWxlcyBncm91cC4KCjIwMDMtMDMtMTMgMTM6MDMgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogQlVHOiBEb24ndCBkdXBsaWNhdGUgU1VCRElSUy4KCjIwMDMtMDMtMTMgMTM6MDEgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogRU5IOiBBZGRlZCBoZWFkZXIgZmlsZSBleHRlbnNpb25zLgoKMjAwMy0wMy0xMyAxMjo1OSAgbWFydGluawoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBhbGxvdyB0aGUgc2FtZSBzdWJkaXIgdG8gYmUgYWRkZWQgdHdpY2UKCjIwMDMtMDMtMTMgMTI6NDggIGFuZHkKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogRml4IHJlZ3VsYXIgZXhwcmVzc2lvbnMKCjIwMDMtMDMtMTMgMTI6MjQgIGFuZHkKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbVN5c3RlbVRvb2xzLmN4eDogU3luY2hyb25pemUgZXh0ZW5zaW9uCgkgIGxpc3RzCgoyMDAzLTAzLTEzIDExOjUzICBraW5nCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2Zvcm0vZmxkX2F0dHIuYzogQlVHOiBGaXhlZCBmb3JtcyBmb3IgSFAuCgoyMDAzLTAzLTEzIDExOjUxICBraW5nCgoJKiBNb2R1bGVzL1Rlc3RGb3JTVEROYW1lc3BhY2UuY21ha2U6IEJVRzogRG9uJ3QgcmVwZWF0IHRlc3QuCgoyMDAzLTAzLTEzIDExOjQ5ICBraW5nCgoJKiBNb2R1bGVzL0NoZWNrVHlwZVNpemUuY21ha2U6IEJVRzogRG9uJ3QgdGVzdCB0eXBlIHNpemUgbW9yZSB0aGFuCgkgIG9uY2UuCgoyMDAzLTAzLTEzIDExOjQ4ICBraW5nCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEJVRzogRmluZExpYnJhcnkgc2hvdWxkIG5vdCBhY2NlcHQgYQoJICBkaXJlY3RvcnkgZXZlbiBpZiB0aGUgZXhhY3Qgc3BlY2lmaWVkIG5hbWUgZXhpc3RzLgoKMjAwMy0wMy0xMyAxMTo0NiAga2luZwoKCSogU291cmNlL2NtYWtlLmN4eDogQlVHOiBGaXhlZCBjcmFzaCB3aGVuCgkgIENNQUtFX0JBQ0tXQVJEU19DT01QQVRJQklMSVRZIGlzIGRlbGV0ZWQuCgoyMDAzLTAzLTEzIDExOjMzICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5oOiBFTkg6IFVwZGF0ZWQgdmVyc2lvbiBmb3IgMS42LjYgcmVsZWFzZS4KCjIwMDMtMDMtMTMgMTE6MzEgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NvbmZpZ19MaW51eDogRVJSOiBOZWVkIHRvIGRvIHNoYXJlZCBsaWJjIGxpbmsKCSAgd2l0aCBzdGF0aWMgQysrIGxpYnJhcnkgdG8gaGF2ZSBzYWZlIGRsIGxvYWRpbmcgb24gbGludXguCgoyMDAzLTAzLTEzIDA4OjQ0ICBraW5nCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEJVRzogRmluZExpYnJhcnkgc2hvdWxkIG5vdCBhY2NlcHQgYQoJICBkaXJlY3RvcnkgZXZlbiBpZiB0aGUgZXhhY3Qgc3BlY2lmaWVkIG5hbWUgZXhpc3RzLgoKMjAwMy0wMy0xMSAxNzozNSAgaG9mZm1hbgoKCSogTW9kdWxlcy9UZXN0Rm9yU1RETmFtZXNwYWNlLmNtYWtlOiBCVUc6IGZpeCB0ZXN0IG5vdCB0byBydW4gZXZlcnkKCSAgdGltZQoKMjAwMy0wMy0xMSAxNToyNSAgaG9mZm1hbgoKCSogU291cmNlL2NtRHluYW1pY0xvYWRlci5jeHgsIFNvdXJjZS9DVGVzdC9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL0N1cnNlc0RpYWxvZy9mb3JtL2ZsZF9hdHRyLmMsCgkgIFRlc3RzL0xvYWRDb21tYW5kL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Mb2FkQ29tbWFuZE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dDogQlVHOiBmaXhlcyBmb3IgaHAKCjIwMDMtMDMtMDkgMTg6MTYgIGFuZHkKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvY21DdXJzZXNNYWluRm9ybS5jeHg6IFJlbW92ZSB3YXJuaW5ncwoKMjAwMy0wMy0wNyAxNTozMCAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBNb3JlIFhNTAoKMjAwMy0wMy0wNyAxMTo1MyAgYW5keQoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9jbUN1cnNlc01haW5Gb3JtLmN4eDogUmVtb3ZlIHdhcm5pbmcKCjIwMDMtMDMtMDcgMTE6NDUgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRml4IHhtbAoKMjAwMy0wMy0wNyAxMToyNyAgYW5keQoKCSogU291cmNlL0N1cnNlc0RpYWxvZy86IGNtQ3Vyc2VzTWFpbkZvcm0uY3h4LCBjbUN1cnNlc01haW5Gb3JtLmg6CgkgIEFkZCBzZWFyY2hpbmcgb2YgdmFyaWFibGVzCgoyMDAzLTAzLTA2IDE1OjMyICBhbmR5CgoJKiBNb2R1bGVzL0RhcnQuY21ha2U6IE9uIGJvcmxhbmQgYW5kIGN5Z3dpbiByZW1vdmUgLkVYRQoKMjAwMy0wMy0wNiAxMjozMSAgYW5keQoKCSogU291cmNlL2NtR2V0Q01ha2VQcm9wZXJ0eUNvbW1hbmQuY3h4OiBSZW1vdmUgd2FybmluZwoKMjAwMy0wMy0wNiAxMToyMCAgYW5keQoKCSogU291cmNlL2NtQ29tbWFuZHMuY3h4LCBTb3VyY2UvY21HZXRDTWFrZVByb3BlcnR5Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUdldENNYWtlUHJvcGVydHlDb21tYW5kLmgsCgkgIFRlc3RzL1N5c3RlbUluZm9ybWF0aW9uL0NNYWtlTGlzdHMudHh0OiBBZGQgY29tbWFuZCBmb3IgYWNjZXNzaW5nCgkgIGNtYWtlIHByb3BlcnRpZXMuIEF0IHRoaXMgcG9pbnQgdGhlIG9ubHkgcHJvcGVydGllcyBhcmUgVkFSSUFCTEVTCgkgIGFuZCBDQUNIRV9WQVJJQUJMRVMuIEFsc28gYWRkIHRlc3QgZm9yIHRoaXMgZmVhdHVyZQoKMjAwMy0wMy0wNiAxMToxOSAgYW5keQoKCSogU291cmNlLzogY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaDogQWRkIG1ldGhvZCB3aGljaCByZXR1cm5zIGEKCSAgbGlzdCBvZiBhbGwgdmFyaWFibGVzCgoyMDAzLTAzLTA2IDExOjE4ICBhbmR5CgoJKiBTb3VyY2UvY21DYWNoZU1hbmFnZXIuaDogQ2FjaGUgbWFuYWdlciBzaG91bGQgYmUgYWJsZSB0byB0YWtlIG5vCgkgIGFyZ3VtZW50cwoKMjAwMy0wMy0wNiAxMDozMiAga2luZwoKCSogTW9kdWxlcy9DaGVja1R5cGVTaXplLmNtYWtlOiBCVUc6IFNob3VsZCB0ZXN0IEhBVkVfPFZBUklBQkxFPgoJICBiZWZvcmUgcmVwZWF0aW5nIHRlc3QsIG5vdCBqdXN0IHdoZXRoZXIgPFZBUklBQkxFPiBpcyBzZXQuCgoyMDAzLTAzLTA1IDE3OjA4ICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IG9vcHMuLi4gRm9yZ290IHRoZSBtYWluIHN0ZXAKCjIwMDMtMDMtMDMgMTM6NTggIGFuZHkKCgkqIE1vZHVsZXMvRGFydC5jbWFrZTogQWRkIFVwZGF0ZSBhbmQgY29uZmlndXJlIHN0ZXBzIHdoZXJlIG1pc3NpbmcKCjIwMDMtMDMtMDMgMTM6NTcgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogRml4IHR5cG8KCjIwMDMtMDMtMDMgMDk6MzIgIGFuZHkKCgkqIE1vZHVsZXMvRGFydC5jbWFrZTogU3RhcnQgY2xlYW5pbmcgZ2xvYmFsIG5hbWVzcGFjZQoKMjAwMy0wMy0wMyAwOToyOSAgYW5keQoKCSogQ01ha2VMaXN0cy50eHQ6IEJVRzogU2hvdWxkIGJlIHVzZSB0aGUgaG9zdCBDTWFrZSdzIGRhcnQgZmlsZQoKMjAwMy0wMi0yOCAxMzowMCAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBJZmRlZiBjb2RlIHRoYXQgaXMgbWlzc2luZwoKMjAwMy0wMi0yOCAxMjo0MiAgYW5keQoKCSogTW9kdWxlcy9DaGVja1N5bWJvbEV4aXN0cy5jbWFrZSwgU291cmNlL2NtQ1Rlc3QuY3h4OiBGaXggdXBkYXRlCgkgIGRhdGUgYW5kIGNsZWFudXAKCjIwMDMtMDItMjggMTE6MzEgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogQWRkIGNvbmZpZ3VyZSBzdGVwCgoyMDAzLTAyLTI3IDE0OjQ4ICBhbmR5CgoJKiBNb2R1bGVzL0RhcnQuY21ha2U6IE9uIHdpbmRvd3MgYnV0IG5vdCBvbiBib3JsYW5kLCBsb29rIGF0CgkgIGNtYWtlX2J1aWxkX3Rvb2wgaW5zdGVhZCBvZiBjb21waWxlciB0byBkZXRlcm1pbmUgYnVpbGQgbmFtZS4KCSAgT3RoZXJ3aXNlIHRoZXkgd2lsbCBhbGwgYmUgY2wKCjIwMDMtMDItMjcgMTE6NTQgIGFuZHkKCgkqIE1vZHVsZXMvRGFydC5jbWFrZTogVXNlIG1vcmUgY29uZGVuc2UgYnVpbGRuYW1lLiBJZiB0aGlzIHdvcmtzCgkgIGZpbmUgd2UgY2FuIG1ha2UgY21CdWlsZE5hbWUgY29tbWFuZCBkZXByZWNhdGVkCgoyMDAzLTAyLTI0IDExOjAyICBraW5nCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBCVUc6IEZpeGVkIGNyYXNoIHdoZW4KCSAgQ01BS0VfQkFDS1dBUkRTX0NPTVBBVElCSUxJVFkgaXMgZGVsZXRlZCBiZXR3ZWVuIGNvbmZpZ3VyZXMuCgoyMDAzLTAyLTIwIDE3OjM4ICBhbmR5CgoJKiBNb2R1bGVzL0RhcnQuY21ha2U6IFVzZSBzaW1wbGUgZGVmYXVsdHMgaWYgRGFydENvbmZpZyBkb2VzIG5vdAoJICBleGlzdC4gVGhpcyB3YXkgeW91IGNhbiB1c2UgZGFydCB0byBidWlsZCBhbnkgcHJvamVjdAoKMjAwMy0wMi0yMCAxMDo0NiAga2luZwoKCSogTW9kdWxlcy9DTWFrZVZTNkZpbmRNYWtlLmNtYWtlOiBCVUc6IEZpeCByZWdpc3RyeSBlbnRyeSBuYW1lLgoKMjAwMy0wMi0yMCAxMDo0NCAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZVZTNkZpbmRNYWtlLmNtYWtlOiBCVUc6IGxvb2sgZm9yIG1zZGV2IGluIHRoZSByaWdodAoJICBwbGFjZQoKMjAwMy0wMi0yMCAwOTo0MCAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogRU5IOiBVcGRhdGVkIGZvciAxLjYuNQoJICByZWxlYXNlLgoKMjAwMy0wMi0yMCAwODo1NSAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBmaXggZm9yIGNvcnJlY3QgcGF0aAoJICBzdHlsZSBpbiBkZXBlbmQgZmlsZQoKMjAwMy0wMi0yMCAwODo1MiAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBmaXggZm9yIGNvcnJlY3QgcGF0aAoJICBzdHlsZSBpbiBkZXBlbmQgZmlsZQoKMjAwMy0wMi0yMCAwODo0NyAga2luZwoKCSogTW9kdWxlcy9UZXN0Rm9yQU5TSUZvclNjb3BlLmNtYWtlOiBCVUc6IERvbid0IHRlc3QgZXZlcnkgdGltZSBmb3IKCSAgImZvciIgc2NvcGUuCgoyMDAzLTAyLTIwIDA4OjQyICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogRml4IHByb2JsZW0gd2l0aAoJICBsaWIgaW4gdGhlIG5hbWUgb2YgbGlicmFyeS4gSWYgdGhlcmUgd2FzIGxpYiBpbiB0aGUgbmFtZSBvZgoJICBsaWJyYXJ5LCB0aGVuIG9uIFdpbmRvd3MgKHdoZXJlIHRoZXJlIGlzIG5vdCBsaWIgcHJlZml4KSwgY21ha2UKCSAgc3BsaXQgdGhlIG5hbWUgd3JvbmdseS4gVGhpcyBvbmx5IG1hbmlmZXN0ZWQgd2hlbiBmdWxsIHBhdGggdG8KCSAgdGhlIGxpYnJhcnkgaXMgc3BlY2lmaWVkLgoKMjAwMy0wMi0yMCAwODo0MSAgaG9mZm1hbgoKCSogTW9kdWxlcy9UZXN0Rm9yQU5TSUZvclNjb3BlLmNtYWtlOiByZW1vdmUgY29tbWVudGVkIGNvZGUKCjIwMDMtMDItMjAgMDg6MzggIGtpbmcKCgkqIE1vZHVsZXMvQ2hlY2tTeW1ib2xFeGlzdHMuY21ha2U6IEJVRzogRml4ZWQgcmV0dXJuIDAgdGhyb3VnaCB2b2lkCgkgIHR5cGUuCgoyMDAzLTAyLTIwIDA4OjM3ICBraW5nCgoJKiBNb2R1bGVzLzogQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2UsCgkgIENNYWtlRGV0ZXJtaW5lQ1hYQ29tcGlsZXIuY21ha2U6IEVOSDogUmVtb3ZlZCBjcmVhdGlvbiBvZiBleHRyYQoJICBDTUFLRV9DX0NPTVBJTEVSX0ZVTExQQVRIIGFuZCBDTUFLRV9DWFhfQ09NUElMRVJfRlVMTFBBVEggY2FjaGUKCSAgZW50cmllcy4KCjIwMDMtMDItMjAgMDg6MzQgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBCVUc6IEFkZGVkIG1pc3NpbmcKCSAgcGFyZW4gdG8gZ2VuZXJhdGVkIGZpbGUuCgoyMDAzLTAyLTIwIDA4OjMyICBraW5nCgoJKiBTb3VyY2UvY21ha2V0ZXN0LmN4eDogQlVHOiBGaXggbG93ZXItY2FzaW5nIG9mIGNvbXBpbGVyIGZvcgoJICB3aW45OC4KCjIwMDMtMDItMjAgMDg6MzAgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmgsIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IEVOSDoKCSAgVXBkYXRlZCBmb3IgdmVyc2lvbiAxLjYuNS4KCjIwMDMtMDItMjAgMDg6MjggIGtpbmcKCgkqIFNvdXJjZS9jbUZpbmRQYWNrYWdlQ29tbWFuZC5oOiBCVUc6IFRoaXMgY29tbWFuZCBtdXN0IGJlCgkgIGluaGVyaXRlZC4KCjIwMDMtMDItMjAgMDg6MjMgIGtpbmcKCgkqIE1vZHVsZXMvRmluZEZMVEsuY21ha2U6IEJVRzogUmVtb3ZlZCByZWZlcmVuY2UgdG8gQ01ha2UgMS40CgkgIGNvbXBhdGFiaWxpdHkgdmFyaWFibGUuCgoyMDAzLTAyLTIwIDA3OjU1ICBraW5nCgoJKiBTb3VyY2UvY21EdW1wRG9jdW1lbnRhdGlvbi5jeHg6IEVSUjogQWRkZWQgbWlzc2luZyByZXR1cm4uCgoyMDAzLTAyLTE5IDE3OjM3ICBraW5nCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogVXNpbmcgbmV3IC0tYWxsLWZvci1jb3ZlcmFnZSBvZgoJICBEdW1wRG9jdW1lbnRhdGlvbiB0byBpbXByb3ZlIGNvdmVyYWdlLgoKMjAwMy0wMi0xOSAxNzozNiAga2luZwoKCSogU291cmNlL2NtRHVtcERvY3VtZW50YXRpb24uY3h4OiBFTkg6IEFkZGVkIG9wdGlvbiB0byBkdW1wIGFsbAoJICBkb2N1bWVudGF0aW9uIChjb3ZlcmFnZSkuCgoyMDAzLTAyLTE5IDE3OjEwICBraW5nCgoJKiBNb2R1bGVzL0ZpbmRGTFRLLmNtYWtlOiBCVUc6IFJlbW92ZWQgdXNlIG9mIGNtYWtlIDEuNAoJICBjb21wYXRhYmlsaXR5IHZhcmlhYmxlLgoKMjAwMy0wMi0xOSAxMjo1NCAgYW5keQoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IEZpeCBwcm9ibGVtIHdpdGgKCSAgbGliIGluIHRoZSBuYW1lIG9mIGxpYnJhcnkuIElmIHRoZXJlIHdhcyBsaWIgaW4gdGhlIG5hbWUgb2YKCSAgbGlicmFyeSwgdGhlbiBvbiBXaW5kb3dzICh3aGVyZSB0aGVyZSBpcyBub3QgbGliIHByZWZpeCksIGNtYWtlCgkgIHNwbGl0IHRoZSBuYW1lIHdyb25nbHkuIFRoaXMgb25seSBtYW5pZmVzdGVkIHdoZW4gZnVsbCBwYXRoIHRvCgkgIHRoZSBsaWJyYXJ5IGlzIHNwZWNpZmllZC4KCjIwMDMtMDItMTkgMDg6NTIgIGtpbmcKCgkqIFNvdXJjZS9jbURvY3VtZW50YXRpb24uY3h4OiBFUlI6IEZpeGVkIHNpZ25lZC91bnNpZ25lZCB3YXJuaW5nLgoKMjAwMy0wMi0xOCAyMDo1NCAga2luZwoKCSogU291cmNlL2NtRHVtcERvY3VtZW50YXRpb24uY3h4OiBFTkg6IFVwZGF0ZWQgdG8gdXNlCgkgIGNtRG9jdW1lbnRhdGlvbiBjbGFzcy4KCjIwMDMtMDItMTggMjA6NDIgIGtpbmcKCgkqIFNvdXJjZS86IGNtRG9jdW1lbnRhdGlvbi5jeHgsIGNtRG9jdW1lbnRhdGlvbi5oLCBjbWFrZW1haW4uY3h4LAoJICBDdXJzZXNEaWFsb2cvY2NtYWtlLmN4eDogRU5IOiBSZS1pbXBsZW1lbnRlZCBkb2N1bWVudCBnZW5lcmF0aW9uCgkgIGNsYXNzIHRvIGJlIG1vcmUgb3JnYW5pemVkIGFuZCBtb3JlIHJvYnVzdC4KCjIwMDMtMDItMTggMjA6NDAgIGtpbmcKCgkqIFNvdXJjZS9jbUFkZEN1c3RvbUNvbW1hbmRDb21tYW5kLmg6IEZpeCB0byBkb2N1bWVudGF0aW9uCgkgIGZvcm1hdHRpbmc6IHJlbW92ZWQgZXh0cmEgbmV3bGluZS4KCjIwMDMtMDItMTggMTY6MjQgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBFTkg6IGZpeCBmb3IgdnMgNwoJICBiZXRhMQoKMjAwMy0wMi0xNyAxNTo0NyAga2luZwoKCSogU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmg6IEJVRzogVGhpcyBjb21tYW5kIG11c3QgYmUKCSAgaW5oZXJpdGVkLgoKMjAwMy0wMi0xNyAxMDozMCAgYW5keQoKCSogTW9kdWxlcy9DaGVja1N5bWJvbEV4aXN0cy5jbWFrZTogRml4IHJldHVybiB2YWx1ZSBwcm9ibGVtCgoyMDAzLTAyLTE3IDA5OjU5ICBhbmR5CgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzU3RyaW5nV2lkZ2V0LmN4eDogQXR0ZW1wdCB0byBmaXggU0dJCgkgIGNjbWFrZSBwcm9ibGVtICh0aGFuayB5b3UgQ2xpbnQgTWlsbGVyKQoKMjAwMy0wMi0xNyAwOTo1NiAgYW5keQoKCSogU291cmNlL2NtRG9jdW1lbnRhdGlvbi5jeHg6IE1pbm9yIGRvY3VtZW50YXRpb24gZml4ZXMKCjIwMDMtMDItMTcgMDk6NDIgIGtpbmcKCgkqIFNvdXJjZS9jbWFrZW1haW4uY3h4OiBFTkg6IEFkZGVkIGV4ZWN1dGFibGUtc3BlY2lmaWMgY29tbWFuZC1saW5lCgkgIG9wdGlvbnMuCgoyMDAzLTAyLTE3IDA5OjQyICBraW5nCgoJKiBTb3VyY2UvOiBjbURvY3VtZW50YXRpb24uY3h4LCBjbURvY3VtZW50YXRpb24uaDogRU5IOiBBZGRlZAoJICBoZWFkZXIgYmVmb3JlIGxpc3Qgb2YgY29tbWFuZHMgaW4gZ2VuZXJhdGVkIGRvY3MuICBNYWRlIG9wdGlvbnMKCSAgbW9yZSBpbnR1aXRpdmUuCgoyMDAzLTAyLTE2IDExOjU3ICBraW5nCgoJKiBTb3VyY2UvY21Eb2N1bWVudGF0aW9uLmN4eDogRVJSOiBVc2Ugb2Ygc3RyZWFtIGZvcm1hdCBmbGFncyBpcwoJICBoYXJkIHRvIG1ha2UgcG9ydGFibGUuICBNYW51YWxseSBpbXBsZW1lbnRpbmcganVzdGlmaWNhdGlvbi4KCjIwMDMtMDItMTUgMjI6MzYgIGtpbmcKCgkqIFNvdXJjZS9jbURvY3VtZW50YXRpb24uY3h4OiBFUlI6IFVzZSBvZiBzdGQ6Omlvczo6Zm10ZmxhZ3MgaXMgbm90CgkgIHBvcnRhYmxlIHRvIG9sZGVyIGNvbXBpbGVycy4KCjIwMDMtMDItMTQgMTg6NDcgIGtpbmcKCgkqIFNvdXJjZS86IGNtQWJzdHJhY3RGaWxlc0NvbW1hbmQuaCwgY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5oLAoJICBjbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuaCwgY21BZGREZWZpbml0aW9uc0NvbW1hbmQuaCwKCSAgY21BZGREZXBlbmRlbmNpZXNDb21tYW5kLmgsIGNtQWRkRXhlY3V0YWJsZUNvbW1hbmQuaCwKCSAgY21BZGRMaWJyYXJ5Q29tbWFuZC5oLCBjbUFkZFRlc3RDb21tYW5kLmgsCgkgIGNtQXV4U291cmNlRGlyZWN0b3J5Q29tbWFuZC5oLCBjbUJ1aWxkQ29tbWFuZC5oLAoJICBjbUJ1aWxkTmFtZUNvbW1hbmQuaCwgY21Db25maWd1cmVGaWxlQ29tbWFuZC5oLAoJICBjbUNyZWF0ZVRlc3RTb3VyY2VMaXN0LmgsIGNtRWxzZUNvbW1hbmQuaCwKCSAgY21FbmFibGVUZXN0aW5nQ29tbWFuZC5oLCBjbUVuZEZvckVhY2hDb21tYW5kLmgsCgkgIGNtRW5kSWZDb21tYW5kLmgsIGNtRXhlY1Byb2dyYW1Db21tYW5kLmgsCgkgIGNtRXhwb3J0TGlicmFyeURlcGVuZGVuY2llcy5oLCBjbUZMVEtXcmFwVUlDb21tYW5kLmgsCgkgIGNtRmluZEZpbGVDb21tYW5kLmgsIGNtRmluZExpYnJhcnlDb21tYW5kLmgsCgkgIGNtRmluZFBhY2thZ2VDb21tYW5kLmgsIGNtRmluZFBhdGhDb21tYW5kLmgsCgkgIGNtRmluZFByb2dyYW1Db21tYW5kLmgsIGNtRm9yRWFjaENvbW1hbmQuaCwKCSAgY21HZXRGaWxlbmFtZUNvbXBvbmVudENvbW1hbmQuaCwKCSAgY21HZXRTb3VyY2VGaWxlUHJvcGVydHlDb21tYW5kLmgsIGNtR2V0VGFyZ2V0UHJvcGVydHlDb21tYW5kLmgsCgkgIGNtSVRLV3JhcFRjbENvbW1hbmQuaCwgY21JZkNvbW1hbmQuaCwgY21JbmNsdWRlQ29tbWFuZC5oLAoJICBjbUluY2x1ZGVEaXJlY3RvcnlDb21tYW5kLmgsIGNtSW5jbHVkZUV4dGVybmFsTVNQcm9qZWN0Q29tbWFuZC5oLAoJICBjbUluY2x1ZGVSZWd1bGFyRXhwcmVzc2lvbkNvbW1hbmQuaCwgY21JbnN0YWxsRmlsZXNDb21tYW5kLmgsCgkgIGNtSW5zdGFsbFByb2dyYW1zQ29tbWFuZC5oLCBjbUluc3RhbGxUYXJnZXRzQ29tbWFuZC5oLAoJICBjbUxpbmtEaXJlY3Rvcmllc0NvbW1hbmQuaCwgY21MaW5rTGlicmFyaWVzQ29tbWFuZC5oLAoJICBjbUxvYWRDYWNoZUNvbW1hbmQuaCwgY21Mb2FkQ29tbWFuZENvbW1hbmQuaCwgY21NYWNyb0NvbW1hbmQuaCwKCSAgY21NYWtlRGlyZWN0b3J5Q29tbWFuZC5oLCBjbU1hcmtBc0FkdmFuY2VkQ29tbWFuZC5oLAoJICBjbU1lc3NhZ2VDb21tYW5kLmgsIGNtT3B0aW9uQ29tbWFuZC5oLAoJICBjbU91dHB1dFJlcXVpcmVkRmlsZXNDb21tYW5kLmgsIGNtUHJvamVjdENvbW1hbmQuaCwKCSAgY21RVFdyYXBDUFBDb21tYW5kLmgsIGNtUVRXcmFwVUlDb21tYW5kLmgsIGNtUmVtb3ZlQ29tbWFuZC5oLAoJICBjbVNlcGFyYXRlQXJndW1lbnRzQ29tbWFuZC5oLCBjbVNldENvbW1hbmQuaCwKCSAgY21TZXRTb3VyY2VGaWxlc1Byb3BlcnRpZXNDb21tYW5kLmgsCgkgIGNtU2V0VGFyZ2V0UHJvcGVydGllc0NvbW1hbmQuaCwgY21TaXRlTmFtZUNvbW1hbmQuaCwKCSAgY21Tb3VyY2VGaWxlc0NvbW1hbmQuaCwgY21Tb3VyY2VGaWxlc1JlbW92ZUNvbW1hbmQuaCwKCSAgY21Tb3VyY2VHcm91cENvbW1hbmQuaCwgY21TdHJpbmdDb21tYW5kLmgsIGNtU3ViZGlyQ29tbWFuZC5oLAoJICBjbVN1YmRpckRlcGVuZHNDb21tYW5kLmgsIGNtVGFyZ2V0TGlua0xpYnJhcmllc0NvbW1hbmQuaCwKCSAgY21UcnlDb21waWxlQ29tbWFuZC5oLCBjbVRyeVJ1bkNvbW1hbmQuaCwKCSAgY21Vc2VNYW5nbGVkTWVzYUNvbW1hbmQuaCwgY21VdGlsaXR5U291cmNlQ29tbWFuZC5oLAoJICBjbVZUS01ha2VJbnN0YW50aWF0b3JDb21tYW5kLmgsIGNtVlRLV3JhcEphdmFDb21tYW5kLmgsCgkgIGNtVlRLV3JhcFB5dGhvbkNvbW1hbmQuaCwgY21WVEtXcmFwVGNsQ29tbWFuZC5oLAoJICBjbVZhcmlhYmxlUmVxdWlyZXNDb21tYW5kLmgsIGNtV3JhcEV4Y2x1ZGVGaWxlc0NvbW1hbmQuaCwKCSAgY21Xcml0ZUZpbGVDb21tYW5kLmg6IEVOSDogQ2xlYW5lZCB1cCBkb2N1bWVudGF0aW9uIGFuZCBmb3JtYXR0ZWQKCSAgaXQgZm9yIHVzZSBieSBjbURvY3VtZW50YXRpb24uCgoyMDAzLTAyLTE0IDE2OjE2ICBraW5nCgoJKiBTb3VyY2UvY21Eb2N1bWVudGF0aW9uLmN4eDogRU5IOiBJbXByb3ZlZCBmb3JtYXR0aW5nIG9mCgkgIHBsYWluLXRleHQgaGVscCB0byBhZGQgYSBibGFuayBsaW5lIGJlZm9yZSB0aGUgYmVnaW5uaW5nIG9mIGEKCSAgcHJlZm9ybWF0dGVkIHNlY3Rpb24uCgoyMDAzLTAyLTE0IDEzOjI4ICBraW5nCgoJKiBTb3VyY2UvOiBjbURvY3VtZW50YXRpb24uY3h4LCBjbURvY3VtZW50YXRpb24uaDogRU5IOiBGdXJ0aGVyCgkgIGltcHJvdmVkIGZvcm1hdHRpbmcuCUhUTUwvbWFuL2hlbHAgbm93IGFsbCBoYXZlIGEgY29uc2lzdGVudAoJICBhcHBlYXJhbmNlLgoKMjAwMy0wMi0xNCAxMzowNiAga2luZwoKCSogU291cmNlLzogY21Eb2N1bWVudGF0aW9uLmN4eCwgY21Eb2N1bWVudGF0aW9uLmg6IEVOSDogSW1wcm92ZWQKCSAgZm9ybWF0dGluZyBvZiBkb2N1bWVudGF0aW9uLgoKMjAwMy0wMi0xNCAxMToxMyAgbWFydGluawoKCSogU291cmNlL2NtYWtldGVzdC5jeHg6IExvd2VyY2FzZSBoYXMgYSBiYWQgc2lnbml0dXJlLCBzbyBJIGhhdmUgdG8KCSAgbGl2ZSB3aXRoIGl0CgoyMDAzLTAyLTE0IDEwOjU2ICBraW5nCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEVSUjogQWRkZWQgbWlzc2luZyBpbmNsdWRlIGZvciBtc3ZjLgoKMjAwMy0wMi0xNCAxMDo1MyAga2luZwoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIE1ha2VmaWxlLmluLCBjbURvY3VtZW50YXRpb24uY3h4LAoJICBjbURvY3VtZW50YXRpb24uaCwgY21TdGFuZGFyZEluY2x1ZGVzLmgsIGNtU3lzdGVtVG9vbHMuY3h4LAoJICBjbVN5c3RlbVRvb2xzLmgsIGNtYWtlLmN4eCwgY21ha2UuaCwgY21ha2VtYWluLmN4eCwKCSAgQ3Vyc2VzRGlhbG9nL2NjbWFrZS5jeHg6IEVOSDogQWRkZWQgY21Eb2N1bWVudGF0aW9uIGNsYXNzIHRvCgkgIGdlbmVyYXRlIHZhcmlvdXMgZm9ybXMgb2YgZG9jdW1lbnRhdGlvbi4gIEVhY2ggZXhlY3V0YWJsZSB3aWxsIGJlCgkgIGFibGUgdG8gZ2VuZXJhdGUgaXRzIG93biBkb2N1bWVudGF0aW9uLgoKMjAwMy0wMi0xNCAxMDo0MCAgaG9mZm1hbgoKCSogTW9kdWxlcy86IENNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLAoJICBDTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlOiBFTkg6IG1vdmUgZnVsbCBwYXRoIGNvbXBpbGVyIHRvCgkgIGludGVybmFsIGFuZCBub3QganVzdCBhZHZhbmNlZAoKMjAwMy0wMi0xNCAwOTo1NCAgaG9mZm1hbgoKCSogTW9kdWxlcy9UZXN0Rm9yQU5TSUZvclNjb3BlLmNtYWtlLCBTb3VyY2UvY21DYWNoZU1hbmFnZXIuY3h4LAoJICBTb3VyY2UvY21Db25maWd1cmVGaWxlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmgsIFNvdXJjZS9jbUluY2x1ZGVDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuaCwKCSAgU291cmNlL2NtTWFya0FzQWR2YW5jZWRDb21tYW5kLmgsCgkgIFNvdXJjZS9jbVVzZU1hbmdsZWRNZXNhQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVZhcmlhYmxlUmVxdWlyZXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtVmFyaWFibGVSZXF1aXJlc0NvbW1hbmQuaDogc3BlbGxpbmcgZXJyb3JzCgoyMDAzLTAyLTE0IDA5OjI1ICBob2ZmbWFuCgoJKiBDTWFrZS5ydGY6IGZpeCBzcGVsbGluZyBlcnJvcnMKCjIwMDMtMDItMTMgMjE6NTcgIGtpbmcKCgkqIENNYWtlTGlzdHMudHh0LCBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbiwgU291cmNlL0NNYWtlTGlzdHMudHh0LAoJICBTb3VyY2UvY21Db25maWd1cmUuY21ha2UuaC5pbiwgU291cmNlL2NtQ29uZmlndXJlLmguaW4sCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuaCwKCSAgU291cmNlL2NtU3RhbmRhcmRJbmNsdWRlcy5oOiBFTkg6IENlbnRyYWxpemVkIHNldHRpbmcgb2YgQ01ha2UKCSAgdmVyc2lvbiBudW1iZXIgdG8gdG9wLWxldmVsIENNYWtlIGxpc3RmaWxlLgoKMjAwMy0wMi0xMyAxMjowMyAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogRU5IOiBNZXJnZWQgdXBkYXRlcyBmb3IgMS42LjQKCSAgcmVsZWFzZS4KCjIwMDMtMDItMTMgMTE6NTcgIGtpbmcKCgkqIE1vZHVsZXMvRmluZEpOSS5jbWFrZTogQlVHOiBGaXggZmluZCBvZiBKTkkgb24gTWFjIE9TWCAxMC4yLgoKMjAwMy0wMi0xMyAxMTo1NCAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGUuaCwgVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogRU5IOgoJICBVcGRhdGVkIGZvciAxLjYuNCByZWxlYXNlLgoKMjAwMy0wMi0xMyAxMTo1MiAga2luZwoKCSogTW9kdWxlcy9Vc2VWVEtDb25maWc0MC5jbWFrZTogQlVHOiBDb3B5IG9mIF9MSUJfREVQRU5EUyB2YXJpYWJsZXMKCSAgbmVlZHMgdG8gYmUgZG91YmxlLXF1b3RlZC4KCjIwMDMtMDItMTMgMTE6NTAgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBmaXggZm9yIHNwYWNlcyBpbgoJICBwYXRocyBpbiBsaWJyYXJ5IHBhdGgKCjIwMDMtMDItMTMgMTE6NDcgIGtpbmcKCgkqIFNvdXJjZS9jbUZpbmRMaWJyYXJ5Q29tbWFuZC5jeHg6IEJVRzogVXNlCgkgIGNtU3lzdGVtVG9vbHM6OklzTk9URk9VTkQuCgoyMDAzLTAyLTEyIDEzOjQzICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21ha2VtYWluLmN4eDogVHJ5IHRvIGZpeCB1cGRhdGUKCjIwMDMtMDItMTIgMDk6MjYgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogV3JpdGUgaW5kaXZpZHVhbCB0b28KCjIwMDMtMDItMTEgMTQ6NDkgIGFuZHkKCgkqIE1vZHVsZXMvRmluZEpOSS5jbWFrZTogT2ssIG5vdyBpdCBmaW5kcyBKTkkgb24gTWFjIE9TWCAxMC4yCgoyMDAzLTAyLTExIDEzOjU2ICBhbmR5CgoJKiBNb2R1bGVzL0ZpbmRKTkkuY21ha2U6IEZpeCB0eXBvCgoyMDAzLTAyLTExIDEzOjUzICBhbmR5CgoJKiBNb2R1bGVzL0ZpbmRKTkkuY21ha2U6IEFkZCBtaXNzaW5nIGxvY2F0aW9uCgoyMDAzLTAyLTExIDEzOjM3ICBhbmR5CgoJKiBNb2R1bGVzL0ZpbmRKTkkuY21ha2U6IEltcHJvdmUgc2VhcmNoaW5nIGZvciBqYXZhIGZpbGVzIG9uIE9TWAoKMjAwMy0wMi0xMSAxMzozNCAgYW5keQoKCSogU291cmNlL2NtU2V0VGFyZ2V0UHJvcGVydGllc0NvbW1hbmQuaDogRml4IGNvbW1lbnQKCjIwMDMtMDItMTEgMDk6NTAgIGtpbmcKCgkqIE1vZHVsZXMvOiBGaW5kTWFuZ2xlZE1lc2EuY21ha2UsIEZpbmRPU01lc2EuY21ha2U6IE1vdmluZyB0aGlzCgkgIHZlcnkgc3BlY2lmaWMgbW9kdWxlIHRvIFZUSy4KCjIwMDMtMDItMTEgMDk6MTkgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0Lmg6IEZpeCBjb250IGFuZCByZW1vdmUgY29tbWVudHMKCjIwMDMtMDItMTAgMjM6MTkgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ1Rlc3QuY3h4LCBjbUNUZXN0LmgsIGN0ZXN0LmN4eDogU3RhcnQgd29ya2luZyBvbiBjb250CgoyMDAzLTAyLTEwIDIyOjAwICBob2ZmbWFuCgoJKiBUZXN0cy9UcnlDb21waWxlL0NNYWtlTGlzdHMudHh0OiBFTkg6IGFkZCBtb3JlIHRlc3RpbmcgZm9yIGFuc2kKCSAgZm9yIHNjb3BlcwoKMjAwMy0wMi0xMCAyMTo1NiAgaG9mZm1hbgoKCSogTW9kdWxlcy9UZXN0Rm9yQU5TSUZvclNjb3BlLmNtYWtlOiAgY2xlYW4gdXAgY2hlY2sgZm9yIGZvciBzY29wZQoJICB0ZXN0CgoyMDAzLTAyLTEwIDIxOjUyICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21DVGVzdC5oLCBjdGVzdC5jeHg6IEZpeCBkYXRlIGlzc3VlcyB3aXRoCgkgIGRpZmZlcmVudCBtb2RlbHMKCjIwMDMtMDItMTAgMTY6MjAgIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvVHJ5Q29tcGlsZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBhZGQKCSAgYSBuZXcgdGVzdCBmb3IgVFJZX0NPTVBJTEUKCjIwMDMtMDItMTAgMTM6MTkgIGhvZmZtYW4KCgkqIFRlc3RzL1RyeUNvbXBpbGUvOiBDTWFrZUxpc3RzLnR4dCwgZmFpbC5jLCBwYXNzLmM6IEVOSDogYWRkIGEgbmV3CgkgIHRlc3QgdG8gdGVzdCB0cnkgY29tcGlsZQoKMjAwMy0wMi0xMCAxMTowOCAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IFJ1bm5pbmcgIm1ha2UgdGVzdCIKCSAgY2FuIG5vdyBoYXZlIEFSR1Mgc3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kIGxpbmUuICBUaGVzZSBBUkdTIGFyZQoJICBwYXNzZWQgdG8gY3Rlc3QuCgoyMDAzLTAyLTA5IDE2OjExICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoOiBFUlI6IFJlbW92ZWQgZXh0cmEgJiYuCgoyMDAzLTAyLTA4IDEwOjI0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oOiBGaXggZm9yIGluY2x1ZGUKCSAgb3B0aW9uYWwKCjIwMDMtMDItMDggMTA6MjMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBmaXggZm9yIHNwYWNlcyBpbgoJICBwYXRocyBpbiBsaWJyYXJ5IHBhdGgKCjIwMDMtMDItMDcgMTY6MjkgIGtpbmcKCgkqIE1vZHVsZXMvVXNlVlRLQ29uZmlnNDAuY21ha2U6IEJVRzogQ29weWluZyBfTElCX0RFUEVORFMgdmFyaWFibGVzCgkgIHJlcXVpcmVzIGRvdWJsZS1xdW90ZWQgYXJndW1lbnQuCgoyMDAzLTAyLTA3IDE0OjA0ICBraW5nCgoJKiBTb3VyY2UvOiBjbUdldEZpbGVuYW1lQ29tcG9uZW50Q29tbWFuZC5jeHgsCgkgIGNtR2V0RmlsZW5hbWVDb21wb25lbnRDb21tYW5kLmgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwgY21NYWtlZmlsZS5jeHgsCgkgIGNtU2V0U291cmNlRmlsZXNQcm9wZXJ0aWVzQ29tbWFuZC5oLAoJICBjbVNldFRhcmdldFByb3BlcnRpZXNDb21tYW5kLmgsIGNtU3lzdGVtVG9vbHMuY3h4LAoJICBjbVN5c3RlbVRvb2xzLmg6IFNldmVyYWwgZml4ZXMvaW1wcm92ZW1lbnRzOgoKCSAgICAtIEZpeGVkIENvbGxhcHNlRnVsbFBhdGggdG8gd29yayBvbiByZWxhdGl2ZSBwYXRocyB3aXRoIGJhc2UKCSAgcGF0aHMKCSAgICAgIG5vdCBpbiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4KCSAgICAtIElOQ0xVREUgY29tbWFuZCBub3cgc3VwcG9ydHMgcmVsYXRpdmUgcGF0aHMgKHVzaW5nIGFib3ZlCgkgIGZpeCkuCgkgICAgLSBBZGRlZCBBQlNPTFVURSBvcHRpb24gdG8gR0VUX0ZJTEVOQU1FX0NPTVBPTkVOVCBjb21tYW5kIHRvCgkgICAgICB1bndpbmQgc3ltbGlua3MgYW5kIHJlbGF0aXZlIHBhdGhzLgoJICAgIC0gRml4ZWQgbGliTmFtZV9FWFBPUlRTIG1hY3JvIGRlZmluaXRpb24gdG8gYmUgdmFsaWQgQwoJICBpZGVudGlmaWVyLgoJICAgIC0gQWRkZWQgREVGSU5FX1NZTUJPTCB0YXJnZXQgcHJvcHRlcnR5IGZvciBjdXN0b21pemluZyB0aGUKCSAgZXhwb3J0IHN5bWJvbC4KCSAgICAtIEltcGxlbWVudGVkIExJTktfRkxBR1MgdGFyZ2V0IHByb3B0ZXJ0eSBmb3IgbGlicmFyaWVzIGluIFZDNgoJICBhbmQgVkM3LgoKCSAgU2V2ZXJhbCBvZiB0aGVzZSBmaXhlcyB3ZXJlIGNvbnRyaWJ1dGVkIGJ5IEdhcmV0aCBKb25lcy4KCjIwMDMtMDItMDcgMTE6NDcgIGhvZmZtYW4KCgkqIFNvdXJjZS9DVGVzdC9DTWFrZUxpc3RzLnR4dDogUmVtb3ZlIHdhcm5pbmdzIG9uIEFJWAoKMjAwMy0wMi0wNyAxMTowMyAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXQuY3h4OiBEbyBub3QgcmV1c2UgY29ubmVjdGlvbiBhcyB0aGF0CgkgIGZlYXR1cmUgc2VlbXMgdG8gYmUgYnJva2VuCgoyMDAzLTAyLTA3IDExOjAzICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IEZpeCB1cGRhdGUgcmV0dXJuIHN0YXR1cwoKMjAwMy0wMi0wNyAxMDozNCAgaG9mZm1hbgoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IHNwZWxsaW5nIGVycm9yIGZpeAoKMjAwMy0wMi0wNyAxMDoxOCAgaG9mZm1hbgoKCSogU291cmNlL2NtRmluZExpYnJhcnlDb21tYW5kLmN4eDogQlVHOiB1c2UgSXNOT1RGT1VORAoKMjAwMy0wMi0wNyAxMDowNSAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogRVJSOiBSZW1vdmVkIHN0cmF5ICYmIGZyb20KCSAgZW5kIG9mIGxpbmUuCgoyMDAzLTAyLTA3IDAwOjA5ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21DVGVzdC5oOiBBZGQgdXBkYXRpbmcgc3VwcG9ydAoKMjAwMy0wMi0wNiAxNzo0OCAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQ6IHRlbGwgdGhlIGFpeCBsaW5rZXIgbm90IHRvIGdpdmUgd2FybmluZ3Mgd2l0aAoJICAtYmhhbHQ6NQoKMjAwMy0wMi0wNiAxNToxOCAgbWFydGluawoKCSogU291cmNlLzogY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IGFkZGVkIG9wdGlvbiB0byBzaHV0IG9mZgoJICBhdXRvbWF0aWMgcmVidWlsZGluZwoKMjAwMy0wMi0wNiAxMDo0OSAga2luZwoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IENvbWVhdSBDKysgaGFzIGJlZW4gYWRkZWQgZm9yIG5pZ2h0bHkKCSAgdGVzdGluZy4gIEl0IGRvZXMgbm90IHN1cHBvcnQgc2hhcmVkIGxpYnJhcmllcywgc28gd2UgY2Fubm90IHJ1bgoJICB0aGUgY29tcGxleCB0ZXN0cy4KCjIwMDMtMDItMDUgMjI6MjYgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmgsCgkgIGNtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4OiAgYWRkIGJldHRlciB0ZXN0aW5nIGZvciB1bmxpbmsKCjIwMDMtMDItMDUgMTg6MDUgIGtpbmcKCgkqIFNvdXJjZS9jbUNyZWF0ZVRlc3RTb3VyY2VMaXN0LmN4eDogQlVHOiBHZW5lcmF0ZSAwIGludG8gdGVzdAoJICBkcml2ZXIgaW5zdGVhZCBvZiBOVUxMLgoKMjAwMy0wMi0wNSAxNjo1NiAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogRU5IOiBBZGRlZCB3aW4zMl96aXBmaWxlIGFuZAoJICB3aW4zMl91cGxvYWQgY29tbWFuZHMuCgoyMDAzLTAyLTA1IDE2OjUzICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoOiBFTkg6IEFkZGVkIHdpbjMyX3ppcGZpbGUgYW5kCgkgIHdpbjMyX3VwbG9hZCBjb21tYW5kcy4KCjIwMDMtMDItMDUgMTU6MTQgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IEJVRzogVXBkYXRlZCByZWxlYXNlIHRhZyBmb3IKCSAgMS42LjMuCgoyMDAzLTAyLTA1IDE1OjA3ICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5oLCBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoOiBFTkg6CgkgIFVwZGF0ZWQgdG8gdmVyc2lvbiAxLjYuMy4KCjIwMDMtMDItMDUgMTU6MDUgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlOiBFTkg6CgkgIENNQUtFX0lOU1RBTExfUFJFRklYIHNob3VsZCBub3QgYmUgYWR2YW5jZWQgb24gVU5JWC4KCjIwMDMtMDItMDUgMTU6MDIgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vSFAtVVguY21ha2U6IEJVRzogT3B0aW1pemF0aW9uIGZsYWdzIHVzZSArCgkgIHByZWZpeCwgbm90IC0uCgoyMDAzLTAyLTA1IDE1OjAxICBraW5nCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTG9uZ01lc3NhZ2VGb3JtLmN4eDogQlVHOiBGaXhlZCBjcmFzaAoJICB3aGVuIG1lc3NhZ2VzIGFyZSB0b28gbG9uZy4KCjIwMDMtMDItMDUgMTQ6NTggIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHg6IEJVRzogQnVnIGluIE5PVEZPVU5EIGVycm9yCgkgIHJlcG9ydGluZyBsb2dpYy4KCjIwMDMtMDItMDUgMTQ6NTUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vSFAtVVguY21ha2U6IGZpeCBkZWZhdWx0IHJlbGVhc2UgZmxhZ3MgZm9yIGhwCgoyMDAzLTAyLTA1IDE0OjU1ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNhY2hlTWFuYWdlci5jeHgsIGNtQ2FjaGVNYW5hZ2VyLmg6IEVOSDogQmV0dGVyIGVycm9yCgkgIGNoZWNraW5nIGZvciBjYWNoZSBpdGVyYXRvci4KCjIwMDMtMDItMDQgMTU6MzcgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlOiBtb3ZlIGNtYWtlIGluc3RhbGwKCSAgb3V0IG9mIGFkdmFuY2VkCgoyMDAzLTAyLTA0IDE1OjM3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBCVUc6IGFkZCBiZXR0ZXIgdGVzdGluZyBmb3IKCSAgbm90Zm91bmQKCjIwMDMtMDItMDQgMTQ6MzcgIGJlcmsKCgkqIE1vZHVsZXMvOiBGaW5kTWFuZ2xlZE1lc2EuY21ha2UsIEZpbmRPU01lc2EuY21ha2U6IENyZWF0ZWQKCSAgbW9kdWxlcyBmb3IgTWVzYSBoZWFkZXJzIGFuZCBsaWJyYXJpZXMuCgoyMDAzLTAyLTA0IDE0OjMxICBob2ZmbWFuCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTG9uZ01lc3NhZ2VGb3JtLmN4eDogQlVHOiBkb24ndCBsZXQKCSAgdGhlIG1lc3NhZ2VzIGdldCB0b28gYmlnCgoyMDAzLTAyLTA0IDE0OjAxICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUNhY2hlTWFuYWdlci5oLCBjbUNhY2hlTWFuYWdlci5jeHg6IHNhZmVyIG9wZXJhdGlvbiBvZgoJICBpdGVyYXRvcnMKCjIwMDMtMDItMDQgMDk6NTAgIGFuZHkKCgkqIFNvdXJjZS9jbVZUS1dyYXBKYXZhQ29tbWFuZC5jeHg6IE9vcHMsIHN0ZCBuYW1lc3BhY2UKCjIwMDMtMDItMDQgMDk6NDggIGFuZHkKCgkqIFNvdXJjZS9jbVZUS1dyYXBKYXZhQ29tbWFuZC5jeHg6IEdlbmVyYXRlIGphdmEgZGVwZW5kZW5jeSBmaWxlcwoKMjAwMy0wMi0wMyAyMzowOCAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvOiBjbWFrZV9yZWxlYXNlLnNoOiBFTkg6IEltcHJvdmVkIHJvYnVzdG5lc3Mgb2YKCSAgcmVtb3RlIGludm9jYXRpb24uICBBZGRlZCBtb3JlIGRvY3VtZW50YXRpb24uCgoyMDAzLTAyLTAzIDIyOjQ2ICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS86IGNtYWtlX3JlbGVhc2Uuc2g6IEVOSDogQWRkZWQgZG9jdW1lbnRhdGlvbgoJICBhbmQgdXNhZ2UuCgoyMDAzLTAyLTAzIDEzOjMxICBob2ZmbWFuCgoJKiBUZXN0cy86IENvbXBsZXgvQ01ha2VMaXN0cy50eHQsIENvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0OiBFTkg6IGFkZCBhIGJldHRlciB0ZXN0IGZvcgoJICBsaWIgZGVwcwoKMjAwMy0wMi0wMyAxMjowMiAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogRU5IOiBVcGRhdGVkIHZlcnNpb24gdG8KCSAgMS42LjIuCgoyMDAzLTAyLTAzIDEyOjAxICBraW5nCgoJKiBTb3VyY2UvOiBjbUZpbmRGaWxlQ29tbWFuZC5jeHgsIGNtRmluZEZpbGVDb21tYW5kLmgsCgkgIGNtRmluZExpYnJhcnlDb21tYW5kLmN4eCwgY21GaW5kUGFja2FnZUNvbW1hbmQuY3h4LAoJICBjbUZpbmRQYXRoQ29tbWFuZC5jeHgsIGNtRmluZFByb2dyYW1Db21tYW5kLmN4eCwKCSAgY21GaW5kUHJvZ3JhbUNvbW1hbmQuaCwgY21HZXRGaWxlbmFtZUNvbXBvbmVudENvbW1hbmQuY3h4LAoJICBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtSVRLV3JhcFRjbENvbW1hbmQuY3h4LCBjbVNvdXJjZUZpbGUuY3h4LAoJICBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oOiBFTkg6IEFkZGVkIG5ldyBOT1RGT1VORAoJICBub3RpZmljYXRpb24gZmVhdHVyZS4KCjIwMDMtMDItMDMgMTE6NTAgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmg6IEVOSDogVXBkYXRlZCBmcm9tIHZlcnNpb24gMS42LjEgdG8gMS42LjIuCgoyMDAzLTAyLTAzIDExOjQ5ICBraW5nCgoJKiBTb3VyY2UvY21FeHBvcnRMaWJyYXJ5RGVwZW5kZW5jaWVzLmN4eDogQlVHOiBSZW1vdmVkIGdlbmVyYXRpb24KCSAgb2Ygc3RyYXkgcGFyZW4uCgoyMDAzLTAyLTAzIDA5OjUzICBraW5nCgoJKiBTb3VyY2UvY21FeHBvcnRMaWJyYXJ5RGVwZW5kZW5jaWVzLmN4eDogQlVHOiBSZW1vdmVkIGdlbmVyYXRpb24KCSAgb2Ygc3RyYXkgcGFyZW4uCgoyMDAzLTAyLTAyIDIyOjMyICBraW5nCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzU3RhbmRhcmRJbmNsdWRlcy5oOiBFTkg6IENsZWFuZWQgdXAKCSAgc2dpIHVucmVmZXJlbmNlZCB3YXJuaW5nIGhhY2suCgoyMDAzLTAyLTAyIDExOjQ1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBmaXggd2FybmluZwoKMjAwMy0wMi0wMSAxNjozOSAgaG9mZm1hbgoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBFTkg6IGZpeCB3YXJuaW5nCgoyMDAzLTAyLTAxIDE2OjM5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21BZGRMaWJyYXJ5Q29tbWFuZC5oOiBFTkg6IGZpeCBkb2MgbGluZQoKMjAwMy0wMi0wMSAxNjoyNyAgaG9mZm1hbgoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9jbUN1cnNlc1N0YW5kYXJkSW5jbHVkZXMuaDogQlVHOiBhZGQgbWlzc2luZwoJICA7CgoyMDAzLTAxLTMxIDE1OjAxICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRPcGVuR0wuY21ha2U6IEVOSDogYWRkIGNoZWNraW5nIGZvciBOT1RGT1VORAoKMjAwMy0wMS0zMSAxNDozOSAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kT3BlbkdMLmNtYWtlLCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBFTkg6IGFkZAoJICBjaGVja2luZyBmb3IgTk9URk9VTkQKCjIwMDMtMDEtMzEgMTM6NTAgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtRmluZEZpbGVDb21tYW5kLmN4eCwgY21GaW5kRmlsZUNvbW1hbmQuaCwKCSAgY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4LCBjbUZpbmRQYWNrYWdlQ29tbWFuZC5jeHgsCgkgIGNtRmluZFBhdGhDb21tYW5kLmN4eCwgY21GaW5kUHJvZ3JhbUNvbW1hbmQuY3h4LAoJICBjbUZpbmRQcm9ncmFtQ29tbWFuZC5oLCBjbUdldEZpbGVuYW1lQ29tcG9uZW50Q29tbWFuZC5jeHgsCgkgIGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21JVEtXcmFwVGNsQ29tbWFuZC5jeHgsCgkgIGNtSW5jbHVkZURpcmVjdG9yeUNvbW1hbmQuY3h4LCBjbUxpbmtMaWJyYXJpZXNDb21tYW5kLmN4eCwKCSAgY21NYWtlZmlsZS5jeHgsIGNtU291cmNlRmlsZS5jeHgsIGNtU3lzdGVtVG9vbHMuY3h4LAoJICBjbVN5c3RlbVRvb2xzLmgsIGNtVGFyZ2V0TGlua0xpYnJhcmllc0NvbW1hbmQuY3h4OiBFTkg6IGFkZAoJICBjaGVja2luZyBmb3IgTk9URk9VTkQKCjIwMDMtMDEtMzEgMTM6MjQgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmgsIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IEVOSDoKCSAgVXBkYXRlZCB0byB2ZXJzaW9uIDEuNi4xIGZyb20gMS42LjAuCgoyMDAzLTAxLTMxIDEzOjE4ICBraW5nCgoJKiBTb3VyY2UvY21XaW4zMlByb2Nlc3NFeGVjdXRpb24uY3h4OiBNZXJnZSBmcm9tIEhFQUQuCVVzZSBwcm9jZXNzCgkgIG91dHB1dCBmb3IgZXJyb3IgcmVwb3J0aW5nIGluc3RlYWQgb2Ygc3Rkb3V0LgoKMjAwMy0wMS0zMSAxMzowNCAga2luZwoKCSogTW9kdWxlcy9GaW5kTEFURVguY21ha2U6IEVOSDogQ2hhbmdlcyB0byB3b3JrIG9uIHdpbmRvd3MuICBNZXJnZWQKCSAgZnJvbSBIRUFELgoKMjAwMy0wMS0zMSAxMTo1MiAga2luZwoKCSogTW9kdWxlcy9GaW5kRkxUSy5jbWFrZTogQlVHOiBOZWVkIEZJTkRfUFJPR1JBTSBpbnN0ZWFkIG9mCgkgIEZJTkRfRklMRSB0byBmaW5kIGZsdWlkLmV4ZS4KCjIwMDMtMDEtMzEgMTE6NDkgIGtpbmcKCgkqIE1vZHVsZXMvRmluZFBlcmwuY21ha2U6IEVOSDogQWRkZWQgQWN0aXZlUGVybC84MDQgYXMgYSBzZWFyY2gKCSAgcGF0aC4KCjIwMDMtMDEtMzEgMTE6NDQgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlOiBFUlI6IFJlbW92ZWQgc3RyYXkKCSAgZG91YmxlIHF1b3RlLgoKMjAwMy0wMS0zMSAxMTo0MSAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogRU5IOiBBbm90aGVyIG1lcmdlIGZyb20KCSAgYnJhbmNoIDEuNi4KCjIwMDMtMDEtMzEgMTE6NDAgIGtpbmcKCgkqIE1vZHVsZXMvRmluZFgxMS5jbWFrZTogQlVHOiBGaXggZm9yIGN5Z3dpbidzIFgxMS4KCjIwMDMtMDEtMzEgMTE6MzYgIGtpbmcKCgkqIFNvdXJjZS9jbWFrZXdpemFyZC5jeHg6IEVOSDogY21ha2UgLWkgb24gSFAgbmVlZHMgcHJpbnRmIGluc3RlYWQKCSAgb2YgY291dC4KCjIwMDMtMDEtMzEgMTE6MzUgIGtpbmcKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0OiBCVUc6IENoYW5nZSBpbnN0YWxsIGxvY2F0aW9uIG9mCgkgIGNtQ1BsdWdpbkFQSSBoZWFkZXIuCgoyMDAzLTAxLTMxIDA4OjQ3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzU3RhbmRhcmRJbmNsdWRlcy5oOiBmaXhlZCB3YXJuaW5ncwoKMjAwMy0wMS0zMCAxNDozNCAgYW5keQoKCSogU291cmNlLzogY21JbmNsdWRlRGlyZWN0b3J5Q29tbWFuZC5jeHgsCgkgIGNtTGlua0xpYnJhcmllc0NvbW1hbmQuY3h4LCBjbVRhcmdldExpbmtMaWJyYXJpZXNDb21tYW5kLmN4eDogQWRkCgkgIHNvbWUgZXJyb3IgY2hlY2tpbmcgZm9yIG1pc3NpbmcgaW5jbHVkZSBkaXJlY3RvcmllcyBhbmQgbGluawoJICBsaWJyYXJpZXMKCjIwMDMtMDEtMzAgMTQ6MzQgIGFuZHkKCgkqIE1vZHVsZXMvQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlOiBSZW1vdmUgZXh0cmEgcXVvdGUKCjIwMDMtMDEtMzAgMTM6MTkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbWFrZXdpemFyZC5jeHg6IEJVRzogY2FuIG5vdCBtaXggY291dCBhbmQgZmdldHMgb24gaHAKCjIwMDMtMDEtMzAgMTE6NTAgIGtpbmcKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvY21DdXJzZXNTdGFuZGFyZEluY2x1ZGVzLmg6IEVSUjogRml4aW5nCgkgIGF0dGVtcHQgdG8gcmVtb3ZlIHdhcm5pbmdzLgoKMjAwMy0wMS0yOSAxNDoyMCAga2luZwoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9jbUN1cnNlc1N0YW5kYXJkSW5jbHVkZXMuaDogRVJSOiBBbm90aGVyCgkgIGF0dGVtcHQgdG8gZ2V0IHJpZCBvZiB1bnJlZmVyZW5jZWQgaW5saW5lIGZ1bmN0aW9uIHdhcm5pbmdzIG9uCgkgIFNHSS4KCjIwMDMtMDEtMjkgMTM6NTYgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IEVOSDogVXNlICogaW5zdGVhZCBvZgoJICBkaXJlY3RvcnkgbGlzdCBmb3IgaW5zdGFsbGF0aW9uIHRhcmJhbGwuCgoyMDAzLTAxLTI5IDEzOjQ2ICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoOiBCVUc6IE5lZWQgdG8gaW5jbHVkZSB0aGUKCSAgaW5jbHVkZSBkaXJlY3RvcnkgZnJvbSB0aGUgaW5zdGFsbGF0aW9uLgoKMjAwMy0wMS0yOSAwOTowNiAgYW5keQoKCSogTW9kdWxlcy9GaW5kWDExLmNtYWtlOiBBdHRlbXB0IHRvIGZpeCBidWlsZCBwcm9ibGVtIG9uIHNvbWUKCSAgcGxhdGZvcm1zCgoyMDAzLTAxLTI4IDE1OjQ4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21GaW5kRmlsZUNvbW1hbmQuaDogRU5IOiBiZXR0ZXIgZG9jcwoKMjAwMy0wMS0yOCAxNTo0NCAgaG9mZm1hbgoKCSogTW9kdWxlcy86IEZpbmRGTFRLLmNtYWtlLCBGaW5kUXQuY21ha2U6IEVOSDogY2hhbmdlIEZJTkRfRklMRSB0bwoJICBGSU5EX1BST0dSQU0KCjIwMDMtMDEtMjggMDg6NTMgIGFuZHkKCgkqIE1vZHVsZXMvRmluZExBVEVYLmNtYWtlOiBNYWtlIHRoaW5ncyB3b3JrIG9uIHVuaXggYW5kIGFkZCBEVklQREYKCjIwMDMtMDEtMjcgMTI6MjUgIGFuZHkKCgkqIFNvdXJjZS9jbVdpbjMyUHJvY2Vzc0V4ZWN1dGlvbi5jeHg6IEZpeCBvdXRwdXQgdmFyaWFibGUgYW5kCgkgIHJlbW92ZSB0aGlzLT5tXyB0byBiZSBvbmx5IG1fCgoyMDAzLTAxLTI3IDEyOjE4ICBhbmR5CgoJKiBTb3VyY2UvY21XaW4zMlByb2Nlc3NFeGVjdXRpb24uY3h4OiBNb3ZlIGVycm9ycyB0byBvdXRwdXQKCSAgdmFyaWFibGUKCjIwMDMtMDEtMjQgMTc6NDAgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlL2N5Z3dpbi1wYWNrYWdlLnNoLmluOiBFTkg6IE1lcmdlZCBtb3JlIGNoYW5nZXMKCSAgZnJvbSAxLjYgYnJhbmNoLgoKMjAwMy0wMS0yNCAxNzozNCAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY3lnd2luLXBhY2thZ2Uuc2guaW46IEVOSDogQWRkZWQgdGVzdGluZyB0bwoJICBwYWNrYWdpbmcgc2NyaXB0LgoKMjAwMy0wMS0yNCAxNTo0OCAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogRU5IOiBNZXJnZWQgbW9yZSBjaGFuZ2VzIGZyb20KCSAgMS42IGJyYW5jaC4KCjIwMDMtMDEtMjQgMTU6MDIgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IEVOSDogQWRkZWQgY3lnd2luX3VwbG9hZAoJICBmdW5jdGlvbi4KCjIwMDMtMDEtMjQgMTQ6NDAgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogY21ha2VfcmVsZWFzZS5zaCwgY29uZmlnX0FJWCwgY29uZmlnX0RhcndpbiwKCSAgY29uZmlnX0lSSVg2NCwgY29uZmlnX0xpbnV4LCBjb25maWdfT1NGMSwgY29uZmlnX1N1bk9TOiBFTkg6CgkgIE1lcmdlZCAxLjYtYnJhbmNoIGNoYW5nZXMgdG8gcmVsZWFzZSBzY3JpcHRzLgoKMjAwMy0wMS0yNCAxNDoyOSAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvOiBjb25maWdfQUlYLCBjb25maWdfRGFyd2luLCBjb25maWdfSVJJWDY0LAoJICBjb25maWdfTGludXgsIGNvbmZpZ19PU0YxLCBjb25maWdfU3VuT1M6IEVOSDogVXNlIHZlcmJvc2UKCSAgbWFrZWZpbGUgZHVyaW5nIHJlbGVhc2UgYnVpbGQuCgoyMDAzLTAxLTI0IDEzOjU1ICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoOiBFTkg6IFVwZGF0ZWQgY2hlY2tvdXQKCSAgcmV2aXNpb24gdG8gUmVsZWFzZS0xLTYtMCB0YWcuCgoyMDAzLTAxLTI0IDEzOjUzICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtLzogSFAtVVguY21ha2U6IEJVRzogQWRkZWQgbWlzc2luZyBsaW5rIGZsYWcgdG8KCSAgZXhwb3J0IHN5bWJvbHMgZnJvbSBhbiBleGVjdXRhYmxlLgoKMjAwMy0wMS0yNCAxMTo0OSAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogRU5IOiBVcGRhdGVkIGZvciAxLjYuMAoJICByZWxlYXNlIG92ZXIgMS42LmJldGEyLgoKMjAwMy0wMS0yNCAxMTo0NSAga2luZwoKCSogVXRpbGl0aWVzLzogY21ha2VfcmVsZWFzZV9jb25maWdfZGFyd2luLAoJICBjbWFrZV9yZWxlYXNlX2NvbmZpZ19ocHV4LCBjbWFrZV9yZWxlYXNlX2NvbmZpZ19pcml4LAoJICBjbWFrZV9yZWxlYXNlX2NvbmZpZ19saW51eCwgY21ha2VfcmVsZWFzZV9jb25maWdfb3NmLAoJICBjbWFrZV9yZWxlYXNlX2NvbmZpZ19zdW4sIGNtYWtlX3JlbGVhc2VfY3lnd2luLnNoLAoJICBjbWFrZV9yZWxlYXNlX3VuaXhfY29uZmlnLnNoLCBjbWFrZV9yZWxlYXNlX3ZlcnNpb24uc2g6IEVOSDoKCSAgUmVtb3Zpbmcgb2xkIHJlbGVhc2Ugc2NyaXB0cy4gIENNYWtlIDEuNiBub3cgaGFzIGl0cyBvd24gY29weSBvZgoJICB0aGUgcmVsZWFzZSBzY3JpcHRzLgoKMjAwMy0wMS0yNCAxMTo0NSAga2luZwoKCSogVXRpbGl0aWVzLzogY21ha2UtY3lnd2luLXBhY2thZ2Uuc2gsIGNtYWtlX3JlbGVhc2VfdW5peF9idWlsZC5zaCwKCSAgY21ha2VfcmVsZWFzZV91bml4X3BhY2thZ2Uuc2gsIFJlbGVhc2UvY21ha2VfcmVsZWFzZS5zaCwKCSAgUmVsZWFzZS9jb25maWdfQUlYLCBSZWxlYXNlL2NvbmZpZ19DWUdXSU5fTlQtNS4xLAoJICBSZWxlYXNlL2NvbmZpZ19EYXJ3aW4sIFJlbGVhc2UvY29uZmlnX0hQLVVYLAoJICBSZWxlYXNlL2NvbmZpZ19JUklYNjQsIFJlbGVhc2UvY29uZmlnX0xpbnV4LCBSZWxlYXNlL2NvbmZpZ19PU0YxLAoJICBSZWxlYXNlL2NvbmZpZ19TdW5PUywgUmVsZWFzZS9jeWd3aW4tcGFja2FnZS5zaC5pbjogRU5IOiBSZWxlYXNlCgkgIGJyYW5jaCBzaG91bGQgY29udGFpbiBpdHMgb3duIHJlbGVhc2Ugc2NyaXB0cy4KCjIwMDMtMDEtMjQgMTE6NDEgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogY21ha2VfcmVsZWFzZS5zaCwgY29uZmlnX0FJWCwgY29uZmlnX0RhcndpbiwKCSAgY29uZmlnX0hQLVVYLCBjb25maWdfTGludXgsIGNvbmZpZ19PU0YxLCBjb25maWdfU3VuT1M6IEVOSDoKCSAgRW5hYmxlZCB0ZXN0aW5nIGR1cmluZyByZWxlYXNlIGJ1aWxkLgoKMjAwMy0wMS0yNCAxMDozMyAga2luZwoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9jbUN1cnNlc1N0YW5kYXJkSW5jbHVkZXMuaDogRVJSOiBGaXhlZAoJICB1bnJlZmVyZW5jZWQgdGVybWlvcyBkZWNsYXJhdGlvbiB3YXJuaW5nLgoKMjAwMy0wMS0yMyAxMDo0MiAgYmFycmUKCgkqIE1vZHVsZXMvRmluZExBVEVYLmNtYWtlOiBubyBtZXNzYWdlCgoyMDAzLTAxLTIzIDEwOjM3ICBiYXJyZQoKCSogTW9kdWxlcy9GaW5kTEFURVguY21ha2U6IEZJWDogLSByZW5hbWUgc29tZSBlbnRyaWVzIChDT01QSUxFIC0+CgkgIENPTVBJTEVSLCBhbmQgdGhlIGNvbnZlcnRlcnMgLT4gX0NPTlZFUlRFUikgLSBtYWtlIHN1cmUgdGhhdAoJICBXaW5kb3cgc3lzdGVtIGFyZSBnaXZlbiBhIGNoYW5jZSB0byBmaW5kIExhdGV4IGFuZCB0aGUgY29udmVydGVycwoJICBpZiBNaWtUZXggYW5kIEdob3N0U2NyaXB0IGFyZSBpbnN0YWxsZWQgKGJ1dCBub3QgaW4gdGhlIFBBVEgpCgoyMDAzLTAxLTIzIDEwOjM2ICBiYXJyZQoKCSogTW9kdWxlcy9GaW5kUGVybC5jbWFrZTogRklYOiB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIFBlcmwgaXMgNS44CgoyMDAzLTAxLTIzIDEwOjM1ICBiYXJyZQoKCSogU291cmNlL2NtR2V0RmlsZW5hbWVDb21wb25lbnRDb21tYW5kLmN4eDogRklYOiB0aGlzIGNvbW1hbmQgd2FzCgkgIG5vdCBwcm9jZXNzaW5nICBpdHMgYXJnIHRvIGV4cGFuZCByZWdpc3RlcnkgdmFsdWVzCgoyMDAzLTAxLTIyIDE1OjAwICBtYXJ0aW5rCgoJKiBNb2R1bGVzL1BsYXRmb3JtL2djYy5jbWFrZTogam9pbnMgZnJvbSB0aGUgbWFpbiB0cmVlCgoyMDAzLTAxLTIyIDE0OjU5ICBtYXJ0aW5rCgoJKiBNb2R1bGVzL1BsYXRmb3JtL2djYy5jbWFrZTogbWlub3IgY2hhbmdlIHRvIGRlZmF1bHQgY29tcGlsZSBmbGFncwoKMjAwMy0wMS0yMiAxNDo0OSAgbWFydGluawoKCSogTW9kdWxlcy86IEZpbmRNUEVHMi5jbWFrZSwgRmluZFNETC5jbWFrZTogbWVyZ2UgZnJvbSBicmFuY2gKCjIwMDMtMDEtMjIgMTQ6MzMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5oOiBFTkg6IG1lcmdlIGZyb20gYnJhbmNoCgoyMDAzLTAxLTIyIDE0OjIxICBob2ZmbWFuCgoJKiBUZXN0cy9YMTEvQ01ha2VMaXN0cy50eHQ6IEVOSDogbWVyZ2UgZnJvbSBoZWFkCgoyMDAzLTAxLTIyIDE0OjIwICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvRG94eWdlbi9kb2NfbWFrZWFsbC5zaC5pbjogbWVyZ2UgZnJvbSBtYWluIHRyZWUKCjIwMDMtMDEtMjIgMTQ6MjAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHg6IG1lcmdlIGZyb20gbWFpbiB0cmVlLCB0ZXN0IGZvcgoJICB3b3JraW5nIGMgYW5kIGMrKyBjb21waWxlcnMKCjIwMDMtMDEtMjIgMTQ6MTcgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy86IGNjb25maWd1cmUsIGNjb25maWd1cmUuaW4sIGN4eGNvbmZpZ3VyZSwKCSAgY3h4Y29uZmlndXJlLmluOiBtZXJnZSB3aXRoIG1haW4gYnJhbmNoIGFuZCByZW1vdmUgdW51c2VkIHNjcmlwdHMKCjIwMDMtMDEtMjIgMTQ6MTMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZEFuZEltcG9ydENNYWtlUHJvamVjdC5jbWFrZTogbW92ZWQgdG8gYysrIGNvbW1hbmQKCjIwMDMtMDEtMjIgMTI6MzggIG1hcnRpbmsKCgkqIE1vZHVsZXMvOiBDTWFrZVRlc3RDQ29tcGlsZXIuY21ha2UsIENNYWtlVGVzdENYWENvbXBpbGVyLmNtYWtlOgoJICBqb2lucyBmcm9tIHRoZSBtYWluIHRyZWUKCjIwMDMtMDEtMjIgMTI6MzEgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQ29tbWFuZHMuY3h4LCBjbUZpbmRQYXRoQ29tbWFuZC5jeHgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaCwKCSAgY21ha2UuY3h4OiBqb2lucyBmcm9tIHRoZSBtYWluIHRyZWUKCjIwMDMtMDEtMjIgMTI6MjkgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBDTWFrZVRlc3RDQ29tcGlsZXIuY21ha2UsIENNYWtlVGVzdENYWENvbXBpbGVyLmNtYWtlOgoJICBFTkg6IG9ubHkgcnVuIHRlc3QgZm9yIHdvcmtpbmcgYyBhbmQgY3h4IGNvbXBpbGVyIG9uY2UKCjIwMDMtMDEtMjIgMTI6MjggIG1hcnRpbmsKCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDWFhDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVRlc3RDQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VUZXN0Q1hYQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ2hlY2tJbmNsdWRlRmlsZXMuY21ha2UsIE1vZHVsZXMvRmluZEZMVEsuY21ha2UsCgkgIE1vZHVsZXMvRmluZEltYWdlTWFnaWNrLmNtYWtlLCBNb2R1bGVzL0ZpbmRUY2xzaC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kVlRLLmNtYWtlLCBNb2R1bGVzL0ZpbmRYMTEuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vQ1lHV0lOLmNtYWtlLCBTb3VyY2UvY21NZXNzYWdlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbU1lc3NhZ2VDb21tYW5kLmgsIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwKCSAgU291cmNlL2NtU3lzdGVtVG9vbHMuaCwgU291cmNlL0N1cnNlc0RpYWxvZy9jY21ha2UuY3h4LAoJICBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTWFpbkZvcm0uY3h4LAoJICBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTWFpbkZvcm0uaCwKCSAgU291cmNlL2NtRXhwb3J0TGlicmFyeURlcGVuZGVuY2llcy5jeHgsCgkgIFNvdXJjZS9jbUV4cG9ydExpYnJhcnlEZXBlbmRlbmNpZXMuaCwKCSAgU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmN4eCwgU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmg6CgkgIGpvaW5zIGZyb20gdGhlIG1haW4gdHJlZQoKMjAwMy0wMS0yMiAxMTo0NCAgbWFydGluawoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eDogZml4ZWQgc3BlbGxpbmcgbWlzdGFrZQoKMjAwMy0wMS0yMiAxMToyNyAgbWFydGluawoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9jY21ha2UuY3h4OiBzcGVsbGluZyBmaXgKCjIwMDMtMDEtMjIgMTE6MjEgIG1hcnRpbmsKCgkqIE1vZHVsZXMvRmluZE9wZW5HTC5jbWFrZTogbWVyZ2UgZnJvbSBicmFuY2gKCjIwMDMtMDEtMjIgMTE6MTYgIG1hcnRpbmsKCgkqIE1vZHVsZXMvTGlua1FULmNtYWtlOiByZW1vdmVkIHNpbmNlIG5vIGxvbmdlciB1c2VkCgoyMDAzLTAxLTIyIDExOjExICBtYXJ0aW5rCgoJKiBNb2R1bGVzL0ZpbmRMQVRFWC5jbWFrZTogbWVyZ2UgYnJhbmNoIGNoYW5nZSBpbnRvIG1haW4gdHJlZQoKMjAwMy0wMS0yMiAxMDo0MCAga2luZwoKCSogU291cmNlL2NtRmluZFBhY2thZ2VDb21tYW5kLmN4eDogRU5IOiBBZGRlZCBzdXBwb3J0IGZvciBsb29raW5nCgkgIHRocm91Z2ggQ01BS0VfTU9EVUxFX1BBVEggdG8gbG9jYXRlIEZpbmQ8bmFtZT4uY21ha2UgbW9kdWxlcy4KCjIwMDMtMDEtMjIgMTA6MzMgIGtpbmcKCgkqIFNvdXJjZS86IGNtYWtlLmN4eCwgQ3Vyc2VzRGlhbG9nL2NjbWFrZS5jeHgsCgkgIEN1cnNlc0RpYWxvZy9jbUN1cnNlc01haW5Gb3JtLmN4eCwKCSAgQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTWFpbkZvcm0uaDogQlVHOiBGaXhlZCBjcmFzaCB3aGVuIENNQUtFX1JPT1QKCSAgY2Fubm90IGJlIGZvdW5kLgoKMjAwMy0wMS0yMiAwOTozNCAgaG9mZm1hbgoKCSogU291cmNlL2NtYWtlLmN4eDogQlVHOiBmaXggY29tbWFuZCBsaW5lIHRvIHRha2UgLUcgb25seQoKMjAwMy0wMS0yMiAwOToyOCAga2luZwoKCSogU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHg6IEJVRzogQ01ha2UgMS40CgkgIGNvbmZpZ3VyZWQgcHJvamVjdHMgZGlkIG5vdCBidWlsZCB3aXRoIG5ldyBDTWFrZS4KCjIwMDMtMDEtMjEgMTc6MTUgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ29tbWFuZHMuY3h4LCBjbUZpbmRQYWNrYWdlQ29tbWFuZC5jeHgsCgkgIGNtRmluZFBhY2thZ2VDb21tYW5kLmg6IEVOSDogQWRkZWQgRklORF9QQUNLQUdFIGNvbW1hbmQgcHJvdG90eXAuCgoyMDAzLTAxLTIxIDE2OjQ2ICBraW5nCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBCVUc6IFVzZSBDTWFrZURlZmF1bHRNYWtlUnVsZVZhcmlhYmxlcy5jbWFrZSB0bwoJICBsb2NhdGUgbW9kdWxlcyBkaXJlY3RvcnkgaW5zdGVhZCBvZiBGaW5kVlRLLmNtYWtlLgoKMjAwMy0wMS0yMSAxNTowMyAga2luZwoKCSogTW9kdWxlcy9GaW5kVlRLLmNtYWtlOiBFTkg6IFVwZGF0ZWQgZG9jdW1lbnRhdGlvbi4KCjIwMDMtMDEtMjEgMTQ6MDEgIGFuZHkKCgkqIE1vZHVsZXMvQ2hlY2tJbmNsdWRlRmlsZXMuY21ha2U6IFRoaXMgbGlzdCBjYW4gYmUgcmVhbGx5IGxvbmcuCgkgIE9ubHkgZGlzcGxheSB0aGUgdmFyaWFibGUgbmFtZQoKMjAwMy0wMS0yMSAxMjo1MCAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlVGVzdENDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVRlc3RDWFhDb21waWxlci5jbWFrZSwgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21NZXNzYWdlQ29tbWFuZC5jeHgsIFNvdXJjZS9jbU1lc3NhZ2VDb21tYW5kLmgsCgkgIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwgU291cmNlL2NtU3lzdGVtVG9vbHMuaDogYWRkIGEgZmF0YWwKCSAgZXJyb3IsIGFuZCBtYWtlIHN1cmUgYyBhbmQgYysrIGNvbXBpbGVycyB3b3JrIGJlZm9yZSB1c2luZyB0aGVtCgoyMDAzLTAxLTIxIDEyOjQxICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0NZR1dJTi5jbWFrZTogdXNlIGV4cG9ydCBhbGwgc3ltYm9scyBvbiBjeWd3aW4KCjIwMDMtMDEtMjEgMTA6NTkgIGJhcnJlCgoJKiBNb2R1bGVzL0ZpbmRJbWFnZU1hZ2ljay5jbWFrZTogSU1QT1JUQU5UIEZJWDogYmUgZXh0cmEtY2FyZWZ1bAoJICBoZXJlIG9uIFdJTjMyLCB3ZSBkbyBOT1Qgd2FudCBDTWFrZSB0byBsb29rIGluIHRoZSBzeXN0ZW0ncyBQQVRICgkgIGVudiB2YXIgdG8gc2VhcmNoIGZvciBJbWFnZU1hZ2ljaydzIGNvbnZlcnQuZXhlLCBvdGhlcndpc2UgaXQgaXMKCSAgZ29pbmcgdG8gcGljayBNaWNyb3NvZnQgV2luZG93J3Mgb3duIGNvbnZlcnQuZXhlLCB3aGljaCBpcyB1c2VkCgkgIHRvIGNvbnZlcnQgRkFUIHBhcnRpdGlvbnMgdG8gTlRGUyBmb3JtYXQgISBEZXBlbmRpbmcgb24gdGhlCgkgIG9wdGlvbnMgcGFzc2VkIHRvIGNvbnZlcnQuZXhlLCB0aGVyZSBpcyBhIGdvb2QgY2hhbmNlIHlvdSB3b3VsZAoJICBraXNzIHlvdXIgaGFyZC1kaXNrIGdvb2QtYnllLgoKMjAwMy0wMS0yMCAyMToxNSAgaWJhbmV6CgoJKiBNb2R1bGVzL0ZpbmRMQVRFWC5jbWFrZTogRU5IOiBQUzJQREZfQ09NUElMRSBhZGRlZC4gSXQgbG9va3MgZm9yCgkgIHBzMnBkZi4KCjIwMDMtMDEtMjAgMTk6MTcgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogQlVHOiBGaXggZm9yIGN1c3RvbSBjb21tYW5kcyB3aXRoIHNwYWNlcwoJICBpbiBwYXRocy4gIFRoZSBhcmd1bWVudHMgd2VyZSBub3QgaGF2aW5nIHNwYWNlcyBlc2NhcGVkLgoKMjAwMy0wMS0yMCAxODo1NCAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogRml4ZWQgdHlwbyBpbgoJICBwcmV2aW91cyBmaXguCgoyMDAzLTAxLTIwIDE4OjUyICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBGaXhlZCBkaXJlY3RvcnkKCSAgY3JlYXRpb24gZm9yIHNwYWNlcyBpbiBpbnN0YWxsIHBhdGguCgoyMDAzLTAxLTIwIDE2OjU5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Db21tYW5kcy5jeHgsIFNvdXJjZS9jbUV4cG9ydExpYnJhcnlEZXBlbmRlbmNpZXMuY3h4LAoJICBTb3VyY2UvY21FeHBvcnRMaWJyYXJ5RGVwZW5kZW5jaWVzLmgsIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21NYWtlZmlsZS5oLCBUZXN0cy9Db21wbGV4L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dDogRU5IOiBhZGQgYSBuZXcgY29tbWFuZAoJICB0aGF0IGFsbG93cyBleHBvcnRzIG9mIGxpYnJhcnkgZGVwZW5kZW5jaWVzIGZyb20gYSBwcm9qZWN0IHRvIGEKCSAgZmlsZQoKMjAwMy0wMS0yMCAxNDozOSAgd2lsbAoKCSogTW9kdWxlcy9GaW5kWDExLmNtYWtlOiBCVUc6IGZpeCBtaXNzZWQgQ01BS0UgdG8gWDExIHZhcmlhYmxlIG5hbWUKCjIwMDMtMDEtMTkgMTE6NDIgIGtpbmcKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogRU5IOiBJbXByb3ZlZCBDb3B5RmlsZSBlcnJvciBtZXNzYWdlcy4KCjIwMDMtMDEtMTggMTE6MzQgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuaCwgVGVtcGxhdGVzL2luc3RhbGwtc2g6IEJVRzoKCSAgRml4ZWQgbWFrZSBpbnN0YWxsIHRvIGhhbmRsZSBsaWJyYXJ5IHByZWZpeC9zdWZmaXggc2V0dGluZ3MuCgkgIEFsc28gZml4ZWQgc3VwcG9ydCBmb3Igc3BhY2VzIGluIHBhdGhzIGR1cmluZyBtYWtlIGluc3RhbGwuCgoyMDAzLTAxLTE3IDE4OjE0ICBraW5nCgoJKiBNb2R1bGVzLzogRmluZFZUSy5jbWFrZTogQlVHOiBGaXggZm9yIGFwcGxpY2F0aW9uIG9mCgkgIGV4cGFuZC1saXN0LXZhcmlhYmxlcy4KCjIwMDMtMDEtMTcgMTg6MDEgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuaCwgVGVtcGxhdGVzL2luc3RhbGwtc2g6IEVOSDoKCSAgU3VwcG9ydCBmb3Igc3BhY2VzIGluIHBhdGhzIGR1cmluZyBtYWtlIGluc3RhbGwuCgoyMDAzLTAxLTE3IDE3OjE5ICBraW5nCgoJKiBNb2R1bGVzL0ZpbmRBbmRJbXBvcnRDTWFrZVByb2plY3QuY21ha2U6IEVOSDogQWRkaW5nCgkgIEZJTkRfQU5EX0lNUE9SVF9DTUFLRV9QUk9KRUNUIG1hY3JvLgoKMjAwMy0wMS0xNyAxNToxNSAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogRU5IOiBBZGRlZCBzYW5pdHkgY2hlY2sgZm9yCgkgIHNldHRpbmcgb2YgV1hfUkVTT1VSQ0VTIGJ5IGNvbmZpZ19EYXJ3aW4gZm9yIG9zeF9pbnN0YWxsLgoKMjAwMy0wMS0xNyAxMzozNSAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvOiBjbWFrZV9yZWxlYXNlLnNoLCBjb25maWdfRGFyd2luOiBFTkg6CgkgIFByb3RvdHlwZSBmb3IgT1NYIHBhY2thZ2luZy4KCjIwMDMtMDEtMTcgMTM6MzUgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IEVOSDogQ3lnd2luIHBhY2thZ2UgaXMgbm93CgkgIGNyZWF0ZWQgaW4gYSBDeWd3aW4gc3ViZGlyZWN0b3J5LgoKMjAwMy0wMS0xNyAxMTo1NyAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvOiBjbWFrZS1jeWd3aW4tcGFja2FnZS5zaCwgY21ha2VfcmVsZWFzZS5zaCwKCSAgY3lnd2luLXBhY2thZ2Uuc2guaW46IEVOSDogUmVuYW1lZCBjbWFrZS1jeWd3aW4tcGFja2FnZS5zaCB0bwoJICBjeWd3aW4tcGFja2FnZS5zaC5pbiBhbmQgcmVtb3ZlZCBleGVjdXRhYmxlIHBlcm1pc3Npb24gc28gaXQKCSAgY2Fubm90IGJlIHJ1biBhY2NpZGVudGFsbHkuICBJdCBtdXN0IGJlIHJ1biBhZnRlciBiZWluZyByZW5hbWVkCgkgIHRvIGNtYWtlLSR7VkVSU0lPTn0tJHtSRUxFQVNFfS4KCjIwMDMtMDEtMTcgMTE6NTUgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IEVOSDogY2xlYW4gbm93IHJlbW92ZXMgdGhlCgkgIGVudGlyZSByZWxlYXNlIHJvb3QgZGlyZWN0b3J5LgoKMjAwMy0wMS0xNyAxMTo1MSAga2luZwoKCSogVXRpbGl0aWVzLzogY21ha2UtY3lnd2luLXBhY2thZ2Uuc2gsIGNtYWtlX3JlbGVhc2VfY29uZmlnX2FpeCwKCSAgY21ha2VfcmVsZWFzZV9jb25maWdfZGFyd2luLCBjbWFrZV9yZWxlYXNlX2NvbmZpZ19ocHV4LAoJICBjbWFrZV9yZWxlYXNlX2NvbmZpZ19pcml4LCBjbWFrZV9yZWxlYXNlX2NvbmZpZ19saW51eCwKCSAgY21ha2VfcmVsZWFzZV9jb25maWdfb3NmLCBjbWFrZV9yZWxlYXNlX2NvbmZpZ19zdW4sCgkgIGNtYWtlX3JlbGVhc2VfY3lnd2luLnNoLCBjbWFrZV9yZWxlYXNlX3VuaXhfYnVpbGQuc2gsCgkgIGNtYWtlX3JlbGVhc2VfdW5peF9jb25maWcuc2gsIGNtYWtlX3JlbGVhc2VfdW5peF9wYWNrYWdlLnNoLAoJICBjbWFrZV9yZWxlYXNlX3ZlcnNpb24uc2g6IEVOSDogUmVtb3Zpbmcgb2xkIHJlbGVhc2Ugc2NyaXB0cyBhbmQKCSAgY29uZmlnIGZpbGVzLgoKMjAwMy0wMS0xNyAxMTo0MiAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY29uZmlnX09TRjE6IEVOSDogQWRkaW5nIE9TRiByZWxlYXNlCgkgIGNvbmZpZ3VyYXRpb24uCgoyMDAzLTAxLTE3IDExOjA1ICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoOiBFTkg6IEFkZGVkIGN5Z3dpbiByZWxlYXNlCgkgIHN1cHBvcnQuCgoyMDAzLTAxLTE3IDEwOjMwICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZS1jeWd3aW4tcGFja2FnZS5zaDogRU5IOiBBZGRpbmcgY3lnd2luCgkgIHBhY2thZ2luZyBzY3JpcHQgdG8gcmVsZWFzZSBkaXJlY3RvcnkuCgoyMDAzLTAxLTE3IDEwOjI4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21GaW5kUGF0aENvbW1hbmQuY3h4LAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogcmVtb3ZlCgkgIHRyYWlsaW5nIHNsYXNoIGZyb20gZmluZHBhdGggY29tbWFuZAoKMjAwMy0wMS0xNyAxMDoyOCAgaG9mZm1hbgoKCSogVGVzdHMvU3lzdGVtSW5mb3JtYXRpb24vOiBEdW1wSW5mb3JtYXRpb24uY3h4LAoJICBTeXN0ZW1JbmZvcm1hdGlvbi5pbjogYWRkIHNvbWUgbW9yZSBwcmludHMKCjIwMDMtMDEtMTcgMTA6MjEgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NvbmZpZ19MaW51eDogRU5IOiBSZW1vdmVkIG9sZCBzZXR0aW5nLgoKMjAwMy0wMS0xNyAxMDoyMSAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY29uZmlnX0NZR1dJTl9OVC01LjE6IEVOSDogQ3lnd2luIHJlbGVhc2UKCSAgY29uZmlndXJhdGlvbi4KCjIwMDMtMDEtMTcgMDk6NTIgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IEVOSDogQWRkZWQgc3VwcG9ydCBmb3IgZnVsbAoJICByZW1vdGUgcGFja2FnaW5nIGFuZCBjb3B5aW5nIGJhY2sgdG8gbG9jYWwgbWFjaGluZS4gIEFkZGVkCgkgIHN1cHBvcnQgZm9yIHVwbG9hZGluZyB0byBGVFAgc2VydmVyLgoKMjAwMy0wMS0xNyAwOToyMCAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY29uZmlnX0hQLVVYOiBFTkg6IExpbmtpbmcgd2l0aAoJICAtYSxhcmNoaXZlX3NoYXJlZCBpbnN0ZWFkIG9mIC1hLGFyY2hpdmUgc28gdGhhdCB0aGUgc2hhcmVkIGN1cnNlcwoJICBsaWJyYXJ5IGNhbiBiZSB1c2VkLgoKMjAwMy0wMS0xNyAwOToxNSAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY29uZmlnX0FJWDogRVJSOiBDYW4ndCBidWlsZCByZWxlYXNlIHN0YXRpYyBvbgoJICBhaXguCgoyMDAzLTAxLTE3IDA5OjA4ICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jb25maWdfQUlYOiBBZGQgQUlYIGNvbmZpZyBmaWxlCgoyMDAzLTAxLTE3IDA4OjU2ICBhbmR5CgoJKiBTb3VyY2UvY21DVGVzdC5jeHg6IFJlbW92ZSB3YXJuaW5nIGFib3V0ICVlIGFuZCAlVAoKMjAwMy0wMS0xNiAxNTo0NyAgbWFydGluawoKCSogVGVzdHMvOiBDb21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogRU5IOiBmaXggZm9yCgkgIGNvbXBpbGVycyB0aGF0IG5lZWQgXwoKMjAwMy0wMS0xNiAxNDo1OSAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBBZGQgYWl4IHdhcm5pbmcKCjIwMDMtMDEtMTYgMTQ6MTUgIGFuZHkKCgkqIERhcnRDb25maWcuY21ha2U6IEFkZCBzZWxlY3Rpb24gb2YgZHJvcCBtZXRob2QKCjIwMDMtMDEtMTYgMTQ6MDUgIGJhcnJlCgoJKiBVdGlsaXRpZXMvRG94eWdlbi9kb2NfbWFrZWFsbC5zaC5pbjogRklYOiBISEMgaXMgbm93CgkgIEhUTUxfSEVMUF9DT01QSUxFUgoKMjAwMy0wMS0xNiAxMzozMSAgaWJhbmV6CgoJKiBNb2R1bGVzL0ZpbmRGTFRLLmNtYWtlOiBGSVg6IFF1b3RlcyBhZGRlZCBhcm91bmQgdGhlIGxpc3Qgb2YgbGlicwoJICB0byBiZSBhZGRlZCBpbiBBcHBsZS4KCjIwMDMtMDEtMTYgMTM6MjQgIGliYW5legoKCSogTW9kdWxlcy9GaW5kRkxUSy5jbWFrZTogRU5IOiBQbGF0Zm9ybSBkZXBlbmRlbnQgbGlicmFyaWVzIGFkZGVkCgkgIGZvciBBUFBMRS4KCjIwMDMtMDEtMTYgMTM6MDIgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3VibWl0LmN4eDogVHJ5IHRvIGZpeCBhaXggcHJvYmxlbQoKMjAwMy0wMS0xNiAxMjo0NSAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXQuY3h4OiBBZGQgcHJveHkgc3VwcG9ydCBmb3IgdHJpZ2dlcmluZwoKMjAwMy0wMS0xNiAxMjozOCAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kRkxUSy5jbWFrZTogRU5IOiBmaXggZm9yIGJvcmxhbmQgYW5kIGN5Z3dpbgoKMjAwMy0wMS0xNiAxMjozMCAgYW5keQoKCSogU291cmNlL0NUZXN0L2NtQ1Rlc3RTdWJtaXQuY3h4OiBJbXByb3ZlIHN1Ym10aXR0aW5nIHVzaW5nIGh0dHAKCjIwMDMtMDEtMTYgMDk6NTcgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC9jbUNUZXN0U3VibWl0LmN4eDogSW1wcm92ZSBidWlsZCwgbm93IGl0IHNob3VsZAoJICBidWlsZCBvbiBtYWMgYW5kIG90aGVyIHBsYXRmb3JtcyB3aGVyZSBpbmNsdWRlIGZpbGUgZGVwZW5kIG9uCgkgIGVhY2ggb3RoZXIKCjIwMDMtMDEtMTYgMDg6NDAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmg6IGFkZCBiYWNrIEdldENNYWtlSW5zdGFuY2UKCjIwMDMtMDEtMTYgMDg6MzEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmg6IGZpeCBkdXBsaWNhdGUgbWVtYmVyIG9uIGJyYW5jaAoKMjAwMy0wMS0xNiAwODoyOCAgaG9mZm1hbgoKCSogVGVzdHMvOiBDb21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogRU5IOiBhZGQgdGhlIGNvbmZpZwoJICBkaXJlY3RvcnkgdG8gbG9vayBmb3IgdGhlIGxvYWRhYmxlIG1vZHVsZQoKMjAwMy0wMS0xNSAxOToyNCAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogQlVHOiBlcnJvcl9sb2cgZnVuY3Rpb24KCSAgc2hvdWxkIHJldHVybiAxIHRvIHN0b3AgZXhlY3V0aW9uIG9mIHJlc3Qgb2Ygc2NyaXB0LgoKMjAwMy0wMS0xNSAxOToyMCAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY21ha2VfcmVsZWFzZS5zaDogRU5IOiBSZW5hbWVkIHBhY2thZ2UgY29tbWFuZAoJICB0byBiaW5hcnlfdGFyYmFsbCBmb3IgY2xhcml0eS4KCjIwMDMtMDEtMTUgMTk6MTcgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogY21ha2VfcmVsZWFzZS5zaCwgY29uZmlnX0hQLVVYOiBFTkg6IFJlbGVhc2UKCSAgc2NyaXB0IG5vdyBleHBvcnRzIFBBVEggYW5kIExEX0xJQlJBUllfUEFUSCB0byByZW1vdmUgdGhlIGJ1cmRlbgoJICBmcm9tIHRoZSBjb25maWd1cmF0aW9uIHNjcmlwdHMuCgoyMDAzLTAxLTE1IDE5OjE0ICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jb25maWdfSFAtVVg6IEJVRzogQXR0ZW1wdCB0byBmaXggcmVtb3RlCgkgIGludm9jYXRpb24uCgoyMDAzLTAxLTE1IDE5OjA0ICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jb25maWdfSFAtVVg6IEVOSDogRW5hYmxpbmcgdmVyYm9zZSBtYWtlZmlsZQoJICBnZW5lcmF0aW9uIGZvciBocC11eCBidWlsZC4gIFRoaXMgd2lsbCBlYXNlIGhhbmQtZml4aW5nIG9mIHRoZQoJICBidWlsZCBvZiBjY21ha2UuCgoyMDAzLTAxLTE1IDE5OjAyICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoOiBFTkg6IENsZWFuZWQgdXAgcmVtb3RlCgkgIGludm9jYXRpb24uCgoyMDAzLTAxLTE1IDE4OjUxICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoOiBFTkg6IEltcHJvdmVkIGNsZWFuIHRhcmdldC4KCjIwMDMtMDEtMTUgMTg6NDggIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlL2NtYWtlX3JlbGVhc2Uuc2g6IEJVRzogRmluaXNoZWQgY2xlYW4gdGFyZ2V0CgkgIGFuZCBmaXhlZCBncmVwIGZvciBjdnNyb290IGluIH4vLmN2c3Bhc3MuCgoyMDAzLTAxLTE1IDE4OjQ0ICBraW5nCgoJKiBVdGlsaXRpZXMvUmVsZWFzZS9jbWFrZV9yZWxlYXNlLnNoOiBCVUc6IENWUyBsb2dpbiBjb21tYW5kIGlzCgkgIGxvZ2luLCBub3QgY3ZzX2xvZ2luLgoKMjAwMy0wMS0xNSAxODo0MyAga2luZwoKCSogVXRpbGl0aWVzL1JlbGVhc2UvY29uZmlnX2FpeDogRVJSOiBSZW1vdmVkIG9sZCBjb25maWcgZmlsZS4KCjIwMDMtMDEtMTUgMTg6NDIgIGtpbmcKCgkqIFV0aWxpdGllcy9SZWxlYXNlLzogY21ha2VfcmVsZWFzZS5zaCwgY29uZmlnX0RhcndpbiwKCSAgY29uZmlnX0hQLVVYLCBjb25maWdfSVJJWDY0LCBjb25maWdfTGludXgsIGNvbmZpZ19TdW5PUywKCSAgY29uZmlnX2FpeDogRU5IOiBOZXcgcmVsZWFzZSBzY3JpcHQgcHJvdG90eXBlLgoKMjAwMy0wMS0xNSAxODoyOCAgaWJhbmV6CgoJKiBNb2R1bGVzL0ZpbmRGTFRLLmNtYWtlOiBFTkg6IExpYnJhcmllcyBhcmUgbm90IG1hcmtlZCBhcyBBRFZBTkNFRAoJICBub3cuCgoyMDAzLTAxLTE1IDE4OjAyICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5oOiBFUlI6IFJlbW92ZWQgZHVwbGljYXRlIGRlY2xhcmF0aW9uLgoKMjAwMy0wMS0xNSAxNzo0NSAgaG9mZm1hbgoKCSogU291cmNlL2NtTWFrZWZpbGUuaDogRU5IOiBmaXggZm9yIGlibSBidWlsZAoKMjAwMy0wMS0xNSAxNzozMSAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0LCBTb3VyY2UvY21ha2V0ZXN0LmN4eCwKCSAgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9Db21wbGV4L0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXgvTGlicmFyeS9tb2R1bGVGaWxlLmMsCgkgIFRlc3RzL0NvbXBsZXgvTGlicmFyeS9tb2R1bGVGaWxlLmgsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0xpYnJhcnkvbW9kdWxlRmlsZS5jLAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0xpYnJhcnkvbW9kdWxlRmlsZS5oLAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L21vZHVsZUZpbGUuYywKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9tb2R1bGVGaWxlLmg6IEVOSDogYWRkIHRlc3RpbmcKCSAgZm9yIG1vZHVsZXMgYW5kIG9uZSB0d28gY29uZmlnIG1vZGVzIGZvciBjbWFrZXRlc3QKCjIwMDMtMDEtMTUgMTc6MDIgIGhvZmZtYW4KCgkqIFRlc3RzLzogTG9hZENvbW1hbmQvQ01ha2VDb21tYW5kcy9DTWFrZUxpc3RzLnR4dCwKCSAgTG9hZENvbW1hbmRPbmVDb25maWcvQ01ha2VDb21tYW5kcy9DTWFrZUxpc3RzLnR4dDogdXNlIG1vZHVsZSBvbgoJICBhbGwgcGxhdGZvcm1zCgoyMDAzLTAxLTE1IDE1OjMyICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRPcGVuR0wuY21ha2U6IGZpeCBmcm9tIGhlYWQKCjIwMDMtMDEtMTUgMTU6MDIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZE9wZW5HTC5jbWFrZTogQlVHOiBmaXggZm9yIE9TWCB3aXRoIHgxMSBnbCBzdHVmZgoKMjAwMy0wMS0xNSAxMzoyNSAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWJjYzMyLmNtYWtlOiBtZXJnZSB3aXRoIGhlYWQgZml4IGZvcgoJICBib3JsYW5kIGZsYWcgYW5kIGJhZCBzZXQgc3RhdG1lbnQKCjIwMDMtMDEtMTUgMTM6MjIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1iY2MzMi5jbWFrZTogQlVHOiBmaXggZmxhZ3MgZm9yIGJvcmxhbmQKCSAgbGluayBzaGFyZWQgYW5kIG1vZHVsZQoKMjAwMy0wMS0xNSAxMzoxNCAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kT3BlbkdMLmNtYWtlOiBCVUc6IG1ha2Ugc3VyZSBzZXQgY29tbWFuZCBoYXMgcHJvcGVyCgkgIHF1b3RpbmcKCjIwMDMtMDEtMTUgMTM6MTIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZE9wZW5HTC5jbWFrZTogcXVvdGUgdGhlIHZhcmlhYmxlCgoyMDAzLTAxLTE1IDExOjU5ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRUY2xzaC5jbWFrZTogbG9vayBmb3IgY3lndGNsODMKCjIwMDMtMDEtMTUgMTE6MzIgIGtpbmcKCgkqIENNYWtlTGlzdHMudHh0OiBFTkg6IE1lcmdlIG9mIGJhY2t3YXJkIGNvbXBhdGFiaWxpdHkgY2hhbmdlcyBmcm9tCgkgIHRydW5rLgoKMjAwMy0wMS0xNSAxMToxNyAga2luZwoKCSogVXRpbGl0aWVzL2NtYWtlX3JlbGVhc2VfdmVyc2lvbi5zaDogRU5IOiBVcGRhdGVkIHZlcnNpb24gZm9yCgkgIDEuNi5iZXRhMiByZWxlYXNlLgoKMjAwMy0wMS0xNSAxMTowMyAgbWFydGluawoKCSogU291cmNlL2NtTWFrZWZpbGUuaDogdXBkYXRlZCBwYXRjaCBsZXZlbAoKMjAwMy0wMS0xNCAyMjoxMCAgYW5keQoKCSogU291cmNlL0NUZXN0LzogY21DVGVzdFN1Ym1pdC5jeHgsIGNtQ1Rlc3RTdWJtaXQuaDogQWRkIHN1cHBvcnQKCSAgZm9yIGh0dHAgc3VibWl0LiBBbHNvLCBhZGQgc3VwcG9ydCBmb3IgcHJveHksIGJ1dCBpdCBkb2VzIG5vdAoJICB3b3JrIHlldC4KCjIwMDMtMDEtMTQgMjI6MTAgIGFuZHkKCgkqIFNvdXJjZS9jbUNUZXN0LmN4eDogQWRkIHN1cHBvcnQgZm9yIGh0dHAgc3VibWl0CgoyMDAzLTAxLTE0IDA5OjUzICBhbmR5CgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oOiBNYWtlIEdldENNYWtlSW5zdGFuY2UKCSAgcHJpdmF0ZSBhbmQgY2xlYW4gY3h4IGZpbGUKCjIwMDMtMDEtMTMgMTA6MTUgIG1hcnRpbmsKCgkqIE1vZHVsZXMvQ2hlY2tTeW1ib2xFeGlzdHMuY21ha2U6IGpvaW4gZnJvbSBoZWFkCgoyMDAzLTAxLTEzIDEwOjExICBtYXJ0aW5rCgoJKiBNb2R1bGVzL0ZpbmRRdC5jbWFrZTogbWVyZ2UgZnJvbSBicmFuY2gKCjIwMDMtMDEtMTMgMTA6MDcgIG1hcnRpbmsKCgkqIE1vZHVsZXMvUGxhdGZvcm0vTGludXgtY29tby5jbWFrZTogam9pbmVkIHRvIGhlYWQKCjIwMDMtMDEtMTMgMTA6MDQgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIFRlc3RzL0NvbXBsZXgvTGlicmFyeS90ZXN0Q29ubHkuYywKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L3Rlc3RDb25seS5jLAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L3Rlc3RDb25seS5jOiBqb2luZWQgdG8gaGVhZAoKMjAwMy0wMS0xMyAwOTozMCAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgVGVzdHMvQ29tcGxleC9MaWJyYXJ5L3Rlc3RDb25seS5jLAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0xpYnJhcnkvdGVzdENvbmx5LmMsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvdGVzdENvbmx5LmM6IEJVRzogZml4CgkgIENNQUtFX0NfRkxBR1MgZm9yIHZpc3VhbCBzdHVkaW8gNiwgYW5kIGFkZCBhIHRlc3QgY2FzZQoKMjAwMy0wMS0xMyAwOToyNyAgbWFydGluawoKCSogTW9kdWxlcy9DaGVja0luY2x1ZGVGaWxlQ1hYLmNtYWtlOiBqb2luZWQgdG8gaGVhZAoKMjAwMy0wMS0xMyAwOToyNCAgbWFydGluawoKCSogTW9kdWxlcy9GaW5kUE5HLmNtYWtlOiBmaXhlZCB0eXBvCgoyMDAzLTAxLTEzIDA5OjIyICBtYXJ0aW5rCgoJKiBNb2R1bGVzLzogVGVzdEZvckFOU0lGb3JTY29wZS5jbWFrZSwgVGVzdEZvclNURE5hbWVzcGFjZS5jbWFrZToKCSAgam9pbmVkIHRvIGhlYWQKCjIwMDMtMDEtMTMgMDk6MTIgIG1hcnRpbmsKCgkqIE1vZHVsZXMvOiBDTWFrZVZTNkJhY2t3YXJkQ29tcGF0aWJpbGl0eS5jbWFrZSwKCSAgQ01ha2VWUzdCYWNrd2FyZENvbXBhdGliaWxpdHkuY21ha2UsIENoZWNrVHlwZVNpemUuY21ha2UsCgkgIEZpbmRYMTEuY21ha2U6IGpvaW5lZCB0byBoZWFkCgoyMDAzLTAxLTEzIDA5OjA5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21ha2UuY3h4LCBTb3VyY2UvY21ha2UuaCwgTW9kdWxlcy9GaW5kT3BlbkdMLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlQmFja3dhcmRDb21wYXRpYmlsaXR5Qy5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUJhY2t3YXJkQ29tcGF0aWJpbGl0eUNYWC5jbWFrZTogam9pbmVkIHRvIGhlYWQKCjIwMDMtMDEtMTMgMDk6MDYgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbVZhcmlhYmxlV2F0Y2guaDogam9pbmVkIHRvIGhlYWQKCjIwMDMtMDEtMTMgMDk6MDIgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4OiBqb2luZWQgdG8gaGVhZAoKMjAwMy0wMS0xMyAwODo1MSAgbWFydGluawoKCSogU291cmNlL2NtQWJzdHJhY3RGaWxlc0NvbW1hbmQuY3h4OiBqb2luZWQKCjIwMDMtMDEtMTMgMDg6NTAgIG1hcnRpbmsKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogYWRkZWQgaW5zdGFsbCB0YXJnZXQKCjIwMDMtMDEtMTMgMDg6MTQgIGFuZHkKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHg6IEFkZCBzcGFjZSBiZXR3ZWVuCgkgIGFyZ3VtZW50cwoKMjAwMy0wMS0xMiAyMjoyOCAgYW5keQoKCSogTW9kdWxlcy9DaGVja1N5bWJvbEV4aXN0cy5jbWFrZTogQWRkIG1hY3JvIGZvciBjaGVja2luZyBpZiBzeW1ib2wKCSAgZXhpc3RzCgoyMDAzLTAxLTEyIDEwOjUwICBhbmR5CgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4OiBVc2UgQyBmbGFncyB0b28uIE5vdAoJICBleGFjdGx5IHRoZSByaWdodCBzb2x1dGlvbiBidXQgaXQgd2lsbCBoYXZlIHRvIGRvIGZvciBub3cuCgoyMDAzLTAxLTExIDIxOjQ3ICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvOiBjbUNUZXN0U3VibWl0LmN4eCwgY21DVGVzdFN1Ym1pdC5oOiBBZGQgdHJpZ2dlcmluZwoKMjAwMy0wMS0xMSAyMTo0NyAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBGaXggdGltZSBvdXRwdXQgYW5kIGFkZCB0cmlnZ2VyaW5nCgoyMDAzLTAxLTExIDEwOjU3ICBhbmR5CgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEZpeCB0ZXN0aW5nIG9mIGN1cmwgb24gd2luZG93cwoKMjAwMy0wMS0xMCAyMDoyMiAgYW5keQoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBBZGQgY3VybCB0ZXN0aW5nCgoyMDAzLTAxLTEwIDE3OjMxICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dDogRU5IOiBtYWtlIGl0IHdvcmsgd2l0aCBjbWFrZSAxLjYgd2l0aCBubwoJICBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQoKMjAwMy0wMS0xMCAxMTowNyAgbWFydGluawoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogZml4IHdhcm5pbmdzCgoyMDAzLTAxLTEwIDA5OjAyICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBjb21waWxlciB3YXJuaW5nCgoyMDAzLTAxLTEwIDA3OjUwICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvY21DVGVzdFN1Ym1pdC5jeHg6IE1ldGhvZCBzaG91bGQgcmV0dXJuIHNvbWV0aGluZwoKMjAwMy0wMS0wOSAxNTo1NCAgbWFydGluawoKCSogTW9kdWxlcy9GaW5kT3BlbkdMLmNtYWtlOiBiZXR0ZXIgZml4IGZvciB3aW4zMgoKMjAwMy0wMS0wOSAxNDowMCAgbWFydGluawoKCSogTW9kdWxlcy9GaW5kT3BlbkdMLmNtYWtlOiB1cGRhdGUgdG8gbm90IHB1dCBQUk9KRUNUX1NPVVJDRV9ESVIgYXMKCSAgT1BFTkdMX1BBVEgKCjIwMDMtMDEtMDkgMTI6MTggIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtYWtlLmN4eCwgY21ha2UuaCwgY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbEdlbmVyYXRvci5oOiBmaXggYnVnIGluIGVudiBzZXR0aW5ncwoKMjAwMy0wMS0wOSAxMTozNSAgbWFydGluawoKCSogU291cmNlLzogY21NYWtlZmlsZS5jeHgsIGNtVmFyaWFibGVXYXRjaC5oOiBtb3JlIG9wdGlvbiBvbiB2YXIKCSAgd2F0Y2hlcwoKMjAwMy0wMS0wOSAxMTozNCAgbWFydGluawoKCSogTW9kdWxlcy9DaGVja1R5cGVTaXplLmNtYWtlOiBtaW5vciBmaXggdG8gYmFja3cgY29tcGF0CgoyMDAzLTAxLTA5IDExOjMyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBmaXggd2FybmluZwoKMjAwMy0wMS0wOSAxMToyOCAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5oOiByZXN0b3JlIHRoZQoJICBlbnZpcm9ubWVudCBmb3IgY3h4IGFuZCBjYyBpbiBnbG9iYWwgZ2VuZXJhdG9yCgoyMDAzLTAxLTA5IDExOjI3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21WYXJpYWJsZVdhdGNoLmg6IHVzZSBjbXN0ZHN0cmluZyBpbiBtYXBzCgoyMDAzLTAxLTA5IDA5OjE2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21WYXJpYWJsZVdhdGNoLmg6IGZpeCBzeW50YXggZm9yIGFkZHdhdGNoCgoyMDAzLTAxLTA5IDA4OjUwICBtYXJ0aW5rCgoJKiBNb2R1bGVzLzogQ01ha2VWUzZCYWNrd2FyZENvbXBhdGliaWxpdHkuY21ha2UsCgkgIENNYWtlVlM3QmFja3dhcmRDb21wYXRpYmlsaXR5LmNtYWtlOiBhZGRlZCBiaWcgZW5kaWFuIHN0dWZmCgoyMDAzLTAxLTA5IDA4OjQ3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBvbmx5IGxvYWQgYncgY29tcGF0IGlmCgkgIENNQUtFX0JBQ0suLi4gaXMgc2V0CgoyMDAzLTAxLTA5IDA4OjQ3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBhZGRlZCB3YXRjaGVzIGZvciBhY2Nlc3Mgb2YgYncgY29tcGF0IHZhcnMKCjIwMDMtMDEtMDkgMDg6NDQgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUFic3RyYWN0RmlsZXNDb21tYW5kLmN4eDogbm93IGNvbXBsYWlucyBtb3JlCgoyMDAzLTAxLTA4IDE0OjQxICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvY21ha2VfcmVsZWFzZV9jb25maWdfYWl4OiByZWxlYXNlIHNjcmlwdCBmb3IgYWl4CgoyMDAzLTAxLTA4IDEzOjI0ICBhbmR5CgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgTWFrZWZpbGUuaW4sIGNtTWFrZWZpbGUuY3h4LAoJICBjbU1ha2VmaWxlLmgsIGNtVmFyaWFibGVXYXRjaC5jeHgsIGNtVmFyaWFibGVXYXRjaC5oLCBjbWFrZS5jeHgsCgkgIGNtYWtlLmg6IEFkZCB2YXJpYWJsZSB3YXRjaCBzdXBwb3J0IG9uIHRoZSBicmFuY2gKCjIwMDMtMDEtMDggMTM6MjQgIGFuZHkKCgkqIFNvdXJjZS9jbVRyeUNvbXBpbGVDb21tYW5kLmN4eDogTWVyZ2UgdHJ5IGNvbXBpbGUgZml4ZXMgdG8gYnJhbmNoCgoyMDAzLTAxLTA4IDEyOjU5ICBhbmR5CgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgTWFrZWZpbGUuaW4sIGNtTWFrZWZpbGUuY3h4LAoJICBjbU1ha2VmaWxlLmgsIGNtVmFyaWFibGVXYXRjaC5jeHgsIGNtVmFyaWFibGVXYXRjaC5oLCBjbWFrZS5jeHgsCgkgIGNtYWtlLmg6IEFkZCBvcHRpb24gb2Ygd2F0Y2hpbmcgdmFyaWFibGVzCgoyMDAzLTAxLTA4IDEyOjEyICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlQmFja3dhcmRDb21wYXRpYmlsaXR5Q1hYLmNtYWtlLAoJICBNb2R1bGVzL0NoZWNrSW5jbHVkZUZpbGVDWFguY21ha2UsCgkgIE1vZHVsZXMvVGVzdEZvckFOU0lGb3JTY29wZS5jbWFrZSwKCSAgTW9kdWxlcy9UZXN0Rm9yU1RETmFtZXNwYWNlLmNtYWtlLAoJICBTb3VyY2UvY21UcnlDb21waWxlQ29tbWFuZC5jeHg6IEVOSDogb25seSBmb3JjZSB0aGUgdXNlIG9mIGFuc2kKCSAgZmxhZ3MgaW4gYmFja3dhcmRzIG1vZGUKCjIwMDMtMDEtMDggMTE6NTggIGlzY290dAoKCSogTW9kdWxlcy9GaW5kUXQuY21ha2U6IG1hcmsgYWxsIHZhcmlhYmxlcyBhZHZhbmNlZAoKMjAwMy0wMS0wOCAxMTo1MyAgYW5keQoKCSogVGVzdHMvWDExL0NNYWtlTGlzdHMudHh0OiBDaGFuZ2UgbmFtZSBvZiB2YXJpYWJsZQoKMjAwMy0wMS0wOCAxMTo0NSAgYW5keQoKCSogTW9kdWxlcy86IENNYWtlQmFja3dhcmRDb21wYXRpYmlsaXR5Qy5jbWFrZSwgRmluZFgxMS5jbWFrZTogRml4CgkgIEZpbmRYMTEgdG8gbWF0Y2ggY29udmVudGlvbgoKMjAwMy0wMS0wOCAxMDo0OCAgaXNjb3R0CgoJKiBNb2R1bGVzLzogRmluZE1QRUcyLmNtYWtlLCBGaW5kUE5HLmNtYWtlLCBGaW5kU0RMLmNtYWtlLAoJICBMaW5rUVQuY21ha2U6IExpbmtRVC5jbWFrZSBoYXMgYmVlbiBkZXByZWNhdGVkIGZvciBhZ2VzLCByZW1vdmVkCgkgIGl0IG5vdy4gIEZpeGVkIG1pc3Rha2UgaW4gRmluZFBORy5jbWFrZSBEb25hdGVkIEZpbmRNUEVHMiBhbmQKCSAgRmluZFNETCBmcm9tIFZYTC4KCjIwMDMtMDEtMDcgMjI6MjQgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC86IGNtQ1Rlc3RTdWJtaXQuY3h4LCBjbUNUZXN0U3VibWl0Lmg6IEltcGxlbWVudCBGVFAKCSAgdXBsb2FkaW5nCgoyMDAzLTAxLTA3IDIyOjIzICBhbmR5CgoJKiBTb3VyY2UvQ1Rlc3QvQ01ha2VMaXN0cy50eHQ6IEFkZCBtb3JlIHBsYWNlcyB0byBzZWFyY2ggZm9yCgkgIGxpYnJhcnksIGFsc28gaW5jbHVkZSBjdXJsIGRpcmVjdG9yeSB3aGVuIGNvbXBpbGluZwoKMjAwMy0wMS0wNyAyMjoyMyAgYW5keQoKCSogU291cmNlL2NtQ1Rlc3QuY3h4OiBOZXcgc2lnbmF0dXJlCgoyMDAzLTAxLTA3IDE1OjA0ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dDogRU5IOiBmaXggaW5zdGFsbCBvZiBjbWFrZS4xCgoyMDAzLTAxLTA3IDE0OjU3ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dDogZml4IHJlZyBleCBmb3IgaW5zdGFsbCBjbWFrZSBtYW4KCjIwMDMtMDEtMDcgMTM6NTIgIG1hcnRpbmsKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogYWRkZSBkaW5zdGFsbCBmb3IgY21DUGx1Z2luQVBJLmgKCjIwMDMtMDEtMDcgMTM6MTkgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0LCBUZW1wbGF0ZXMvQ01ha2VMaXN0cy50eHQ6IEVOSDogZml4IGluc3RhbGwgYW5kCgkgIGluaXRpYWwgcHJlZml4CgoyMDAzLTAxLTA3IDEzOjA1ICBob2ZmbWFuCgoJKiBUZW1wbGF0ZXMvQ01ha2VMaXN0cy50eHQ6IEVOSDogZml4IGluc3RhbGwgdGFyZ2V0IGZvciB0ZW1wbGF0ZXMKCjIwMDMtMDEtMDcgMTI6NTQgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy86IGNjb25maWd1cmUsIGNjb25maWd1cmUuaW4sIGN4eGNvbmZpZ3VyZSwKCSAgY3h4Y29uZmlndXJlLmluOiByZW1vdmUgdW51c2VkIGZpbGVzCgoyMDAzLTAxLTA3IDEyOjA1ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dDogdXNlIGJvb3RzdHJhcCBpbml0aWFsIGZsYWdzCgoyMDAzLTAxLTA3IDEwOjIyICBraW5nCgoJKiBVdGlsaXRpZXMvY21ha2VfcmVsZWFzZV9jb25maWdfaXJpeDogQlVHOiBWZXJzaW9uIG51bWJlciBvbiByb2xsZQoJICBpcyA2LjQsIG5vdCA2LjUuCgoyMDAzLTAxLTA2IDIzOjEzICBhbmR5CgoJKiBTb3VyY2UvOiBjbUNUZXN0LmN4eCwgY21DVGVzdC5oOiBXb3JrIG9uIHN1Ym1pdHRpbmcKCjIwMDMtMDEtMDYgMjM6MDcgIGFuZHkKCgkqIFNvdXJjZS9DVGVzdC86IENNYWtlTGlzdHMudHh0LCBjbUNUZXN0U3VibWl0LmN4eCwKCSAgY21DVGVzdFN1Ym1pdC5oOiBTdGFydCB3b3JraW5nIG9uIGltcHJvdmVkIHRlc3QKCjIwMDMtMDEtMDYgMTY6MDkgIGtpbmcKCgkqIFV0aWxpdGllcy9jbWFrZV9yZWxlYXNlX2NvbmZpZ19ocHV4OiBFUlI6IEZpeGVzIGZvciBsaW5raW5nCgkgIHN0YXRpY2FsbHkgd2l0aCAtbGRsZC4KCjIwMDMtMDEtMDYgMTU6NDEgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy50eHQ6IEVOSDogdXBkYXRlIGNoYW5nZSBsb2cgZm9yIG5ldyB2ZXJzaW9uCgoyMDAzLTAxLTA2IDE1OjIxICBraW5nCgoJKiBVdGlsaXRpZXMvY21ha2VfcmVsZWFzZV9jb25maWdfc3VuOiBFUlI6IEZpeCBmb3IgYnVpbGRpbmcgc3RhdGljCgkgIHdpdGggLWxkbCBvbiBzdW4uCgoyMDAzLTAxLTA2IDE0OjU2ICBraW5nCgoJKiBVdGlsaXRpZXMvY21ha2VfcmVsZWFzZV9jb25maWdfbGludXg6IEVSUjogRml4ZWQgdHlwby4KCjIwMDMtMDEtMDYgMTQ6MzAgIGJpZGRpCgoJKiBTb3VyY2UvY21WVEtXcmFwVGNsQ29tbWFuZC5jeHg6IEZpeCBhIHByb2JsZW0gd2l0aCBUQ0wgd3JhcHBpbmcKCSAgaWYgdGhlIHNvdXJjZSBmaWxlcyBoYXZlIGEgcmVsYXRpdmUgcGF0aC4gIFRoZSBkZXBlbmRlbmN5IGlzIG5vdAoJICBjb3JyZWN0bHkgaGFuZGxlZAoKMjAwMy0wMS0wNiAxNDoyNyAga2luZwoKCSogVXRpbGl0aWVzLzogY21ha2VfcmVsZWFzZV9jb25maWdfaHB1eCwKCSAgY21ha2VfcmVsZWFzZV9jb25maWdfbGludXgsIGNtYWtlX3JlbGVhc2VfY29uZmlnX3N1bjogRU5IOgoJICBVcGRhdGVkIGZvciBzdGF0aWMgZXhlY3V0YWJsZS4KCjIwMDMtMDEtMDYgMTE6MzEgIGtpbmcKCgkqIFV0aWxpdGllcy9jbWFrZV9yZWxlYXNlX3ZlcnNpb24uc2g6IEVOSDogVXBkYXRlZCBmb3IgMS42IGJldGEgMQoJICByZWxlYXNlLgoKMjAwMy0wMS0wNiAxMToyMyAga2luZwoKCSogVXRpbGl0aWVzLzogY21ha2VfcmVsZWFzZV9jb25maWdfZGFyd2luLAoJICBjbWFrZV9yZWxlYXNlX2NvbmZpZ19ocHV4LCBjbWFrZV9yZWxlYXNlX2NvbmZpZ19pcml4LAoJICBjbWFrZV9yZWxlYXNlX2NvbmZpZ19saW51eCwgY21ha2VfcmVsZWFzZV9jb25maWdfb3NmLAoJICBjbWFrZV9yZWxlYXNlX2NvbmZpZ19zdW4sIGNtYWtlX3JlbGVhc2VfY3lnd2luLnNoLAoJICBjbWFrZV9yZWxlYXNlX3VuaXhfY29uZmlnLnNoLCBjbWFrZV9yZWxlYXNlX3ZlcnNpb24uc2g6IEVOSDoKCSAgVXBkYXRlZCBmb3IgQ01ha2UgMS42IHJlbGVhc2UuICBWZXJzaW9uIG51bWJlciBpcyBub3cgaW4gYSBzaW5nbGUKCSAgZmlsZSB0aGF0IGlzIHNvdXJjZWQgYnkgYWxsIG90aGVycy4KCjIwMDMtMDEtMDYgMTA6NTggIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQ1BsdWdpbkFQSS5oOiB1cGRhdGVkIHZlcnNpb24KCjIwMDMtMDEtMDYgMTA6NDMgIG1hcnRpbmsKCgkqIENNYWtlLnJ0ZjogdXBkYXRlZCBkb2NzCgoyMDAzLTAxLTA2IDA5OjM5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmg6IHVwZGF0ZSB2ZXJzaW9uCgoyMDAzLTAxLTA2IDA5OjM2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5oOiB1cGRhdGVkIHZlcnNpb24KCjIwMDMtMDEtMDYgMDk6MzIgIGtpbmcKCgkqIE1vZHVsZXMvUGxhdGZvcm0vTGludXgtY29tby5jbWFrZTogRU5IOiBBZGRlZCBzaGFyZWQgbGlicmFyeQoJICBzZXR0aW5ncy4KCjIwMDMtMDEtMDYgMDk6MDQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBDTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgQ01ha2VEZXRlcm1pbmVDWFhDb21waWxlci5jbWFrZTogRU5IOiBsb29rIGZvciBBSVggY29tcGlsZXIgYXMKCSAgd2VsbAoKMjAwMy0wMS0wNiAwODozOSAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9PU0YxLmNtYWtlOiBhZGQgc2hhcmVkIHBhdGggZm9yIE9TRgoKMjAwMy0wMS0wNSAxMToyNCAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9PU0YxLmNtYWtlOiBCVUc6IHJldmVydCBiYWNrIHRvIHJwYXRoLAoKMjAwMy0wMS0wMyAyMDoyNiAgYW5keQoKCSogTW9kdWxlcy9DaGVja1R5cGVTaXplLmNtYWtlOiBSZW1vdmUgZGVidWcKCjIwMDMtMDEtMDMgMjA6MDMgIGFuZHkKCgkqIE1vZHVsZXMvOiBDaGVja0Z1bmN0aW9uRXhpc3RzLmNtYWtlLCBDaGVja0xpYnJhcnlFeGlzdHMuY21ha2UsCgkgIENoZWNrVHlwZVNpemUuY21ha2UsIENoZWNrVmFyaWFibGVFeGlzdHMuY21ha2U6IEZpeCBwcm9ibGVtcyB3aXRoCgkgIHJlcXVpcmVkIGZsYWdzCgoyMDAzLTAxLTAzIDE5OjIxICBhbmR5CgoJKiBNb2R1bGVzLzogQ2hlY2tGdW5jdGlvbkV4aXN0cy5jbWFrZSwgQ2hlY2tJbmNsdWRlRmlsZS5jbWFrZSwKCSAgQ2hlY2tJbmNsdWRlRmlsZXMuY21ha2UsIENoZWNrTGlicmFyeUV4aXN0cy5jbWFrZSwKCSAgQ2hlY2tUeXBlU2l6ZS5jbWFrZSwgQ2hlY2tWYXJpYWJsZUV4aXN0cy5jbWFrZTogQWRkIHJlcXVpcmVkCgkgIGZsYWdzCgoyMDAzLTAxLTAzIDE3OjM2ICBraW5nCgoJKiBNb2R1bGVzL0ZpbmRQeXRob25MaWJzLmNtYWtlOiBFTkg6IEZpbmQgcHl0aG9uIGZyYW1ld29yayBvbiBNYWMKCSAgT1NYLgoKMjAwMy0wMS0wMyAxNjoyMyAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9PU0YxLmNtYWtlOiB0cnkgdG8gZml4IHJwYXRoIG9uIE9TRgoKMjAwMy0wMS0wMyAxNjoxNCAgYW5keQoKCSogVGVzdHMvQ09ubHkvbGliYzIuaDogRml4IHByb2JsZW0gd2l0aCB0ZXN0IG9uIEJvcmxhbmQKCjIwMDMtMDEtMDMgMDg6MTIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vU3VuT1MuY21ha2U6IEJVRzogYmFkIHJwYXRoIGZsYWcgZm9yIHN1bnMKCjIwMDMtMDEtMDIgMTA6MjcgIGtpbmcKCgkqIFNvdXJjZS9jbUNQbHVnaW5BUEkuaDogRU5IOiBDaGFuZ2VkIG1hZ2ljIG51bWJlcnMgdG8gcmVzZXJ2ZWQuCgkgIEFkZGVkIENNQUtFX1ZFUlNJT05fTUFKT1IgYW5kIENNQUtFX1ZFUlNJT05fTUlOT1IgbWFjcm9zIHRvIGFsbG93CgkgIGNvbW1hbmRzIHRvIGRvIGNvbmRpdGlvbmFsIGNvbXBpbGF0aW9uIGFjcm9zcyBtdWx0aXBsZSB2ZXJzaW9ucwoJICBvZiBDTWFrZS4KCjIwMDMtMDEtMDIgMDk6NTcgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VCYWNrd2FyZENvbXBhdGliaWxpdHlDLmNtYWtlOiBCVUc6IERvbid0IGFkZAoJICAtSS91c3IvaW5jbHVkZSBhcyBhbiBYX0NGTEFHUyBzZXR0aW5nLgoKMjAwMy0wMS0wMiAwOTo1NyAga2luZwoKCSogTW9kdWxlcy9GaW5kWDExLmNtYWtlOiBCVUc6IEZpeGVkIG9yZGVyaW5nIG9mIFgxMSBzZWFyY2guCgoyMDAzLTAxLTAyIDA5OjA2ICBhbmR5CgoJKiBUZXN0cy9DT25seS9DTWFrZUxpc3RzLnR4dDogUmVuYW1lIGxpYnJhcmllcyBmcm9tIGMxIHRvIHRlc3RjMQoKMjAwMy0wMS0wMiAwODo1MSAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS86IEFJWC5jbWFrZSwgT1NGMS5jbWFrZSwgU3VuT1MuY21ha2U6IGNsZWFuIHVwCgkgIHNvbWUgYy9jeHggaXNzdWVzCgoyMDAzLTAxLTAxIDE4OjAwICBhbmR5CgoJKiBNb2R1bGVzL0NoZWNrSW5jbHVkZUZpbGVzLmNtYWtlOiBBZGQgbWFjcm8gZm9yIGNoZWNraW5nIGlmIGEKCSAgc3dlcXVlbmNlIG9mIGluY2x1ZGVzIGNhbiBiZSBpbmNsdWRlcwoKMjAwMy0wMS0wMSAxNzozNSAgYW5keQoKCSogVGVzdHMvQ09ubHkvQ01ha2VMaXN0cy50eHQ6IFRlc3QgY29udmVyc2lvbiBmcm9tIGFzY2lpIHRvIHN0cmluZwoKMjAwMy0wMS0wMSAxNzozNCAgYW5keQoKCSogU291cmNlLzogY21TdHJpbmdDb21tYW5kLmN4eCwgY21TdHJpbmdDb21tYW5kLmg6IEFkZCBhIHdheSB0bwoJICBjb252ZXJ0IGFzY2lpIHRvIHN0cmluZwoKMjAwMy0wMS0wMSAxNjoyNSAgYW5keQoKCSogTW9kdWxlcy86IENoZWNrRnVuY3Rpb25FeGlzdHMuY21ha2UsIENoZWNrTGlicmFyeUV4aXN0cy5jbWFrZSwKCSAgQ2hlY2tUeXBlU2l6ZS5jbWFrZSwgQ2hlY2tWYXJpYWJsZUV4aXN0cy5jbWFrZTogVG8gcHJldmVudCBjbWFrZQoJICBmcm9tIGJyZWFraW5nIHVwIGFyZ3VtZW50cywgcHV0IHF1b3RlcyBhcm91bmQgdGhlbQoKMjAwMy0wMS0wMSAxNTowMiAgYW5keQoKCSogTW9kdWxlcy9DaGVja1ZhcmlhYmxlRXhpc3RzLmNtYWtlOiBBZGQgYSB3YXkgdG8gYWRkIGN1c3RvbQoJICBsaWJyYXJpZXMgdG8gdGhlIG1peC4gQWxzbyBhZGQgc3RhdHVzIHJlcG9ydGluZwoKMjAwMy0wMS0wMSAxNTowMSAgYW5keQoKCSogTW9kdWxlcy86IENoZWNrRnVuY3Rpb25FeGlzdHMuY21ha2UsIENoZWNrTGlicmFyeUV4aXN0cy5jbWFrZSwKCSAgQ2hlY2tUeXBlU2l6ZS5jbWFrZTogQWRkIGEgd2F5IHRvIGFkZCBjdXN0b20gbGlicmFyaWVzIHRvIHRoZSBtaXgKCjIwMDMtMDEtMDEgMTQ6MjYgIGFuZHkKCgkqIFRlc3RzL0NPbmx5LzogbGliYzIuYywgbGliYzIuaDogU2hhcmVkIGxpYnJhcnkgc2hvdWxkIGV4cG9ydAoJICBzeW1ib2xzIG9uIHdpbmRvd3MKCjIwMDItMTItMzEgMTU6MjIgIGFuZHkKCgkqIFRlc3RzL0NPbmx5LzogQ01ha2VMaXN0cy50eHQsIGNvbmx5LmMsIGxpYmMxLmMsIGxpYmMxLmgsIGxpYmMyLmMsCgkgIGxpYmMyLmg6IFRlc3QgYWxzbyBzdGF0aW5nIGFuZCBzaGFyZWQgbGlicmFyaWVzCgoyMDAyLTEyLTMxIDEzOjA4ICBraW5nCgoJKiBNb2R1bGVzLzogQ01ha2VEZWZhdWx0TWFrZVJ1bGVWYXJpYWJsZXMuY21ha2UsCgkgIFBsYXRmb3JtL0Rhcndpbi5jbWFrZSwgUGxhdGZvcm0vSFAtVVguY21ha2UsCgkgIFBsYXRmb3JtL0xpbnV4LWNvbW8uY21ha2UsIFBsYXRmb3JtL1dpbmRvd3MtYmNjMzIuY21ha2UsCgkgIFBsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2U6IEVOSDogQWRkZWQgPExJTktfRkxBR1M+IHRvIGxpbmsgcnVsZXMuCgoyMDAyLTEyLTMxIDEyOjU5ICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogV2hlbiB0aGVyZSBhcmUgbm8KCSAgbGluayBmbGFncywgd2Ugd2FudCBhbiBlbXB0eSBzdHJpbmcsIG5vdCBhIG51bGwgcG9pbnRlci4KCjIwMDItMTItMzEgMTI6NDEgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBTdXBwb3J0IExJTktfRkxBR1MKCSAgcHJvcGVydHkgZm9yIHN0YXRpYyBsaWJyYXJpZXMuCgoyMDAyLTEyLTMwIDExOjQ4ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0FJWC5jbWFrZTogRU5IOiBmaXggc2hhcmVkIGxpYnJhcmllcyBvbiBBSVgKCjIwMDItMTItMzAgMTE6MDIgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VCYWNrd2FyZENvbXBhdGliaWxpdHlDLmNtYWtlLCBNb2R1bGVzL0NoZWNrU2l6ZU9mLmMsCgkgIE1vZHVsZXMvQ2hlY2tTaXplT2YuY21ha2UsIE1vZHVsZXMvQ2hlY2tUeXBlU2l6ZS5jLAoJICBNb2R1bGVzL0NoZWNrVHlwZVNpemUuY21ha2UsIFRlc3RzL0xvYWRDb21tYW5kL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Mb2FkQ29tbWFuZE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dDogRU5IOiBSZW5hbWVkCgkgIE1vZHVsZXMvQ2hlY2tTaXplT2YgdG8gTW9kdWxlcy9DaGVja1R5cGVTaXplIGZvciBjb25zaXN0ZW5jeSB3aXRoCgkgIHRoZSBtYWNybyBuYW1lIHRoYXQgaXMgZGVmaW5lZCBieSB0aGUgbW9kdWxlLgoKMjAwMi0xMi0zMCAwODoxOCAgYW5keQoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBGaXggcHJvYmxlbSBvbiB3aW5kb3dzIHdpdGggbmV0d29yawoJICBwYXRocwoKMjAwMi0xMi0zMCAwNzo0NyAgaG9mZm1hbgoKCSogU291cmNlLzogY21BYnN0cmFjdEZpbGVzQ29tbWFuZC5oLCBjbUFkZEN1c3RvbUNvbW1hbmRDb21tYW5kLmgsCgkgIGNtQWRkQ3VzdG9tVGFyZ2V0Q29tbWFuZC5oLCBjbUFkZERlZmluaXRpb25zQ29tbWFuZC5oLAoJICBjbUFkZEV4ZWN1dGFibGVDb21tYW5kLmgsIGNtQWRkVGVzdENvbW1hbmQuaCwKCSAgY21BdXhTb3VyY2VEaXJlY3RvcnlDb21tYW5kLmgsIGNtQnVpbGRDb21tYW5kLmgsCgkgIGNtQnVpbGROYW1lQ29tbWFuZC5oLCBjbUZMVEtXcmFwVUlDb21tYW5kLmg6IEVOSDogY2xlYW4gdXAgZG9jcwoJICBzb21lCgoyMDAyLTEyLTI3IDExOjE0ICBzdGFycmV2ZWxkCgoJKiBNb2R1bGVzL0ZpbmRQeXRob25MaWJzLmNtYWtlOiBFTkg6IGZpbmQgcHl0aG9uIGZyYW1ld29yayBhbmQKCSAgaW5jbHVkZSBmaWxlcyBvbiBPU1gKCjIwMDItMTItMjYgMTk6NTkgIGFuZHkKCgkqIE1vZHVsZXMvQ01ha2VKYXZhQ29tcGlsZXIuY21ha2UuaW46IElmIHRoZXJlIGlzIG5vIGphdmEgY29tcGlsZXIKCSAgcmVwb3J0IGVycm9yIG9uIEFERF9KQVZBX0xJQlJBUlkKCjIwMDItMTItMjYgMTM6NTggIGFuZHkKCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZTogQWRkIG1pc3NpbmcgY2xvc2luZyBicmFja2V0CgoyMDAyLTEyLTIzIDEyOjE5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5oOiBFTkg6IGZpeCBmb3IgQUlYCgoyMDAyLTEyLTIzIDA5OjUxICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IFdBUjogcmVtb3ZlIHdhcmluaW5ncwoKMjAwMi0xMi0yMyAwOToyNSAgaG9mZm1hbgoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IGhhbmRsZSAvLyBpbiB0aGUgcGF0aAoKMjAwMi0xMi0yMiAxNToxOSAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWJjYzMyLmNtYWtlLAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogZml4ZXMgZm9yIGJvcmxhbmQKCSAgd2l0aCBzcGFjZXMgaW4gdGhlIHBhdGgKCjIwMDItMTItMjIgMTE6NTAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogY2xlYW4gdXAgd2FybmluZyBhbmQgdXNlCgkgIG1vcmUgc2hvcnQgcGF0aHMKCjIwMDItMTItMjIgMTA6MDkgIGJhcnJlCgoJKiBNb2R1bGVzLzogRG9jdW1lbnRhdGlvbi5jbWFrZSwgRmluZEhUTUxIZWxwLmNtYWtlLCBGaW5kSGhjLmNtYWtlOgoJICBFTkg6IGl0J3MgdGltZSB0byBjcmVhdGUgYSByZWFsIE1pY3Jvc29mdCBIVE1MIEhlbHAgV29ya3Nob3AKCSAgQ01ha2UgbW9kdWxlCgoyMDAyLTEyLTIxIDExOjE0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdldFRhcmdldFByb3BlcnR5Q29tbWFuZC5jeHgsCgkgIGNtR2V0VGFyZ2V0UHJvcGVydHlDb21tYW5kLmgsIGNtU2V0VGFyZ2V0UHJvcGVydGllc0NvbW1hbmQuY3h4LAoJICBjbVNldFRhcmdldFByb3BlcnRpZXNDb21tYW5kLmg6IEVOSDogYWRkIHRhcmdldCBwcm9wZXJ0aWVzIGZpbGVzCgoyMDAyLTEyLTIwIDE3OjE1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Db21tYW5kcy5jeHgsIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtVGFyZ2V0LmN4eCwgU291cmNlL2NtVGFyZ2V0LmgsCgkgIFRlc3RzL0NvbXBsZXgvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0OiBFTkg6IGFkZAoJICB0YXJnZXQgcHJvcGVydGllcwoKMjAwMi0xMi0yMCAxNjoxNSAga2luZwoKCSogU291cmNlL2NtVlRLV3JhcFRjbENvbW1hbmQuY3h4OiBFUlI6IFRjbF9Qa2dQcm92aWRlIHRha2VzIGNoYXIqLAoJICBzbyB3ZSBjYW5ub3QgcGFzcyBhIHN0cmluZyBsaXRlcmFsIHRvIGl0LgoKMjAwMi0xMi0yMCAxMjo1OSAga2luZwoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlLAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLAoJICBUZW1wbGF0ZXMvQ01ha2VWaXN1YWxTdHVkaW82Q29uZmlndXJhdGlvbnMuY21ha2U6IEVOSDogVmlzdWFsCgkgIFN0dWRpbyA2IGFuZCA3IGdlbmVyYXRvcnMgbm93IHNldCBDTUFLRV9DT05GSUdVUkFUSU9OX1RZUEVTIHRvIGJlCgkgIGEgc2VtaWNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIGNvbmZpZ3VyYXRpb25zIHRoYXQgd2lsbCBiZSBidWlsdC4KCjIwMDItMTItMjAgMTE6NTYgIGJhcnJlCgoJKiBNb2R1bGVzLzogQ01ha2VCYWNrd2FyZENvbXBhdGliaWxpdHlDLmNtYWtlLCBGaW5kWDExLmNtYWtlOiBGSVg6CgkgIG1ha2UgQ01BS0VfWF9MSUJTIGFuZCBDTUFLRV9YX0NGTEFHUyBhZHZhbmNlZAoKMjAwMi0xMi0yMCAxMToyMCAgaG9mZm1hbgoKCSogU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBhZGQgYSBjaGVjayB0bwoJICBtYWtlIHN1cmUgY21ha2UgY2FuIGZpbmQgdGhlIGMgb3IgQysrIGNvbXBpbGVyIGZvciB0cnljb21waWxlCgoyMDAyLTEyLTIwIDExOjIwICBob2ZmbWFuCgoJKiBUZXN0cy86IENvbXBsZXgvQ01ha2VMaXN0cy50eHQsIENvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0OiBCVUc6IGZpeCBmb3IgYmFja3dhcmRzCgkgIGNvbXBhdGliaWxpdHkKCjIwMDItMTItMjAgMTA6MjMgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtU291cmNlRmlsZXNDb21tYW5kLmN4eCwgY21ha2UuY3h4OiB0ZXN0aW5nIG1vcmUKCSAgYWdyZXNzaXZlIGNvbXBhdGFiaWxpdHkgc2V0dGluZ3MKCjIwMDItMTItMjAgMDk6NDMgIGtpbmcKCgkqIE1vZHVsZXMvRmluZFRDTC5jbWFrZTogRU5IOiBVc2UgdGhlIE1hYyAtZnJhbWV3b3JrIGZvciBUayBpZiBpdAoJICBpcyBhdmFpbGFibGUuCgoyMDAyLTEyLTIwIDA5OjQyICBraW5nCgoJKiBNb2R1bGVzL0ZpbmRUQ0wuY21ha2U6IEVOSDogVXNlIHRoZSBNYWMgLWZyYW1ld29yayBmb3IgVGNsIGlmIGl0CgkgIGlzIGF2YWlsYWJsZS4KCjIwMDItMTItMTkgMTU6MzQgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHg6IEJVRzogZW5hYmxlIHRoZSBsYW5ndWFnZXMgd2hlbiBub3QKCSAgcnVubmluZyBpbiBnbG9iYWwgbW9kZQoKMjAwMi0xMi0xOSAxMjo1MSAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZVN5c3RlbVNwZWNpZmljSW5mb3JtYXRpb24uY21ha2U6IGJldHRlciBkb2NzCgoyMDAyLTEyLTE5IDEyOjUxICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2U6IEVOSDogbWFrZSBsaW5rZXIgZmxhZ3MgdXNlCgkgIGluaXQgdmFsdWVzIHNvIHVzZXJzIGNhbiBzZXQgdGhlbSBmcm9tIHRoZSBjYWNoZQoKMjAwMi0xMi0xOCAxNjo1OCAga2luZwoKCSogU291cmNlL2NtVlRLV3JhcFRjbENvbW1hbmQuY3h4OiBFTkg6IFRjbCBwYWNrYWdlcyBub3cKCSAgVGNsX1BrZ1Byb3ZpZGUgdGhlaXIgb3duIG5hbWUgYW5kIHZlcnNpb24uCgoyMDAyLTEyLTE4IDEwOjUyICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL2djYy5jbWFrZTogRU5IOiBBZGRpbmcgYnVpbGQgdHlwZSBmbGFncyBmb3IgQy4KCjIwMDItMTItMTggMDk6MzggIGtpbmcKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvWDExL0NNYWtlTGlzdHMudHh0OiBFUlI6IFByb2plY3QKCSAgbmFtZSBhbmQgZXhlY3V0YWJsZSBuYW1lIHNob3VsZCBtYXRjaCBmb3IgY29uc2lzdGVuY3kgaW4gdGhlIFgxMQoJICB0ZXN0LgoKMjAwMi0xMi0xNyAxNzowNSAga2luZwoKCSogU291cmNlLzogY21DUGx1Z2luQVBJLmN4eCwgY21DUGx1Z2luQVBJLmg6IEVOSDogQWRkZWQgcmV0dXJuIHR5cGUKCSAgaW50IHRvIEV4ZWN1dGVDb21tYW5kLgoKMjAwMi0xMi0xNyAxNDo1NSAga2luZwoKCSogU291cmNlL2NtRkxUS1dyYXBVSUNvbW1hbmQuY3h4OiBCVUc6IE5lZWQgYXQgbGVhc3QgMiBhcmd1bWVudHMsCgkgIG5vdCBleGFjdGx5IDIuCgoyMDAyLTEyLTE3IDE0OjU1ICBraW5nCgoJKiBTb3VyY2UvY21MaXN0RmlsZUNhY2hlLmg6IEVSUjogQWRkZWQgb3BlcmF0b3IgIT0gZm9yIFNHSS4KCjIwMDItMTItMTcgMTQ6NTQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBDTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgQ01ha2VEZXRlcm1pbmVDWFhDb21waWxlci5jbWFrZSwKCSAgQ01ha2VEZXRlcm1pbmVKYXZhQ29tcGlsZXIuY21ha2UsIENNYWtlRGV0ZXJtaW5lU3lzdGVtLmNtYWtlLAoJICBDTWFrZVN5c3RlbVNwZWNpZmljSW5mb3JtYXRpb24uY21ha2UsIENoZWNrRnVuY3Rpb25FeGlzdHMuY21ha2UsCgkgIENoZWNrSW5jbHVkZUZpbGUuY21ha2UsIENoZWNrSW5jbHVkZUZpbGVDWFguY21ha2UsCgkgIENoZWNrTGlicmFyeUV4aXN0cy5jbWFrZSwgQ2hlY2tTaXplT2YuY21ha2UsCgkgIENoZWNrVmFyaWFibGVFeGlzdHMuY21ha2UsIFRlc3RCaWdFbmRpYW4uY21ha2UsCgkgIFRlc3RDWFhBY2NlcHRzRmxhZy5jbWFrZSwgVGVzdEZvckFOU0lGb3JTY29wZS5jbWFrZSwKCSAgVGVzdEZvclNURE5hbWVzcGFjZS5jbWFrZTogRU5IOiB1c2UgQ01BS0VfUk9PVCBhbmQgbm90IFBST0pFQ1RfCgkgIGZvciB0cnkgY29tcGlsZSBzdHVmZiwgdGhpcyBhbGxvd3MgcHJvamVjdHMgd2l0aGluIHByb2plY3RzIHRvCgkgIGhhdmUgZGlmZmVyZW50IGxhbmd1YWdlcwoKMjAwMi0xMi0xNyAxMzoyOCAga2luZwoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9YMTEvQ01ha2VMaXN0cy50eHQ6IEJVRzogUmVuYW1lZCBYMTEKCSAgdGVzdCBleGVjdXRhYmxlIHRvIHVzZVgxMSB0byBhdm9pZCBjb25mbGljdCB3aXRoIG5hbWUgb2YgbGlicmFyeS4KCjIwMDItMTItMTcgMTI6NTYgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHg6IGJldHRlciBoYW5kbGluZyBvZgoJICBNb2R1bGUKCjIwMDItMTItMTcgMTI6MTEgIGFuZHkKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IFNhdmUgZGlyZWN0b3JpZXMgd2hlbiBkb2luZyBnbG9iYWwgYnVpbGQKCjIwMDItMTItMTcgMTE6NTggIGtpbmcKCgkqIFNvdXJjZS9jbU1hY3JvQ29tbWFuZC5jeHg6IEVOSDogSW1wcm92ZWQgZXJyb3IgbWVzc2FnZSBmb3IgbWFjcm8KCSAgaW52b2tlZCB3aXRoIGluY29ycmVjdCBudW1iZXIgb2YgYXJndW1lbnRzLgoKMjAwMi0xMi0xNyAxMTo1NyAga2luZwoKCSogU291cmNlL2NtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4OiBFTkg6IFRyeUNvbXBpbGUgc2hvdWxkIHByb2R1Y2UgYQoJICB2ZXJib3NlIG1ha2VmaWxlLgoKMjAwMi0xMi0xNyAxMTo1NSAga2luZwoKCSogTW9kdWxlcy86IENNYWtlQmFja3dhcmRDb21wYXRpYmlsaXR5Qy5jbWFrZSwgRmluZFgxMS5jbWFrZTogRU5IOgoJICBGaW5kWDExLmNtYWtlIG1vZHVsZSBub3cgYWxtb3N0IGZ1bGx5IGR1cGxpY2F0ZXMgb2xkIGNvbmZpZ3VyZQoJICBmdW5jdGlvbmFsaXR5LgoKMjAwMi0xMi0xNyAxMDowNCAgbWFydGluawoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogc29tZSBjbGVhbiB1cCBpbiBsaW5rCgkgIGRpcmVjdG9yaWVzCgoyMDAyLTEyLTE2IDIxOjE5ICBhbmR5CgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21DVGVzdC5jeHgsIGNtQ1Rlc3QuaCwgY3Rlc3QuY3h4LAoJICBjdGVzdC5oOiBTcGxpdCBjdGVzdCBpbnRvIHR3byB0aHJlZSBmaWxlcwoKMjAwMi0xMi0xNiAxODoyOCAga2luZwoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eDogQlVHOiBDYW5ub3QgcmVtb3ZlCgkgIHF1b3RlcyBmcm9tIGRlZmluZWQgZmxhZ3MuCgoyMDAyLTEyLTE2IDEyOjEzICBhbmR5CgoJKiBTb3VyY2UvY21ha2UuY3h4OiBGaXggc3dpdGNoaW5nIGZyb20gbG9jYWwgdG8gZ2xvYmFsIGdlbmVyYXRpb24KCSAgd2hlbiBjbWFrZSB2ZXJzaW9uIGNoYW5nZXMgb3Igd2hlbiB0aGluZ3MgY2hhbmdlIGluc2lkZSB2ZXJzaW9uCgoyMDAyLTEyLTE2IDExOjEwICBraW5nCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IEFkZGVkIGNvcHlfaWZfZGlmZmVyZW50IG9wdGlvbiB0byAtRSBmbGFnLgoKMjAwMi0xMi0xNiAwOTozOSAga2luZwoKCSogU291cmNlLzogY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEJVRzogRml4ZWQgcXVvdGVzIGluIG91dHB1dAoJICBwYXRocy4KCjIwMDItMTItMTUgMTM6NDUgIGFuZHkKCgkqIFNvdXJjZS86IGN0ZXN0LmN4eCwgY3Rlc3QuaDogQWRkIHN1cHBvcnQgZm9yIG9ubHkgc2hvd2luZyB3aGF0CgkgIHdpbGwgYmUgZG9uZS4gVGhpcyB3YXkgeW91IGNhbiBmb3IgZXhhbXBsZSBnZXQgYSBsaXN0IG9mIGFsbAoJICB0ZXN0czogY3Rlc3QgLU4gb3IgbGlzdCBvZiBhbGwgdGVzdHMgdGhhdCBtYXRjaCByZWdleDogY3Rlc3QgLU4KCSAgLVIgcmVnZXgKCjIwMDItMTItMTMgMTc6MzUgIGtpbmcKCgkqIFRlc3RzLzogQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleC9jbVRlc3RHZW5lcmF0ZWRIZWFkZXIuaC5pbiwKCSAgQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsIENvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvY21UZXN0R2VuZXJhdGVkSGVhZGVyLmguaW4sCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvY21UZXN0R2VuZXJhdGVkSGVhZGVyLmguaW4sCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHg6IEVOSDogQWRkZWQgdGVzdCBmb3IKCSAgZ2VuZXJhdGVkIGhlYWRlciBpbmNsdWRlZCBieSBub24tZ2VuZXJhdGVkIHNvdXJjZS4KCjIwMDItMTItMTMgMTc6MzQgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBOZWVkIHNvdXJjZSBmaWxlCgkgIGFuZCBPQkpFQ1RfREVQRU5EUyBhcyBkZXBlbmRlbmNpZXMgb2YgYW4gb2JqZWN0IGZpbGUuCgoyMDAyLTEyLTEzIDE2OjE2ICBraW5nCgoJKiBTb3VyY2UvOiBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5oLAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21TZXRTb3VyY2VGaWxlc1Byb3BlcnRpZXNDb21tYW5kLmN4eDogRU5IOiBBZGRlZCBzb3VyY2UgZmlsZQoJICBwcm9wZXJ0eSBPQkpFQ1RfREVQRU5EUyB0byBzdXBwb3J0IGdlbmVyYXRlZCBoZWFkZXIgZmlsZXMKCSAgaW5jbHVkZWQgaW4gbm9uLWdlbmVyYXRlZCBzb3VyY2VzLgoKMjAwMi0xMi0xMyAxNDo1OCAga2luZwoKCSogTW9kdWxlcy86IENoZWNrRnVuY3Rpb25FeGlzdHMuY21ha2UsIENoZWNrSW5jbHVkZUZpbGUuY21ha2UsCgkgIENoZWNrSW5jbHVkZUZpbGVDWFguY21ha2UsIENoZWNrTGlicmFyeUV4aXN0cy5jbWFrZSwKCSAgQ2hlY2tTaXplT2YuY21ha2UsIENoZWNrVmFyaWFibGVFeGlzdHMuY21ha2U6IEVOSDogRG9uJ3QgcmVwZWF0CgkgIGNoZWNrIGV2ZW4gaWYgYW5zd2VyIHdhcyBuby4KCjIwMDItMTItMTMgMDk6NTIgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUlmQ29tbWFuZC5jeHg6IG1hZGUgbW9yZSBzdHJpY3QKCjIwMDItMTItMTMgMDk6MjcgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGN0ZXN0LmN4eCwgY21DUGx1Z2luQVBJLmN4eDogZml4ZWQgd2FybmluZ3MKCjIwMDItMTItMTMgMDk6MTggIGtpbmcKCgkqIFNvdXJjZS86IGNtRnVuY3Rpb25CbG9ja2VyLmgsIGNtSWZDb21tYW5kLmg6IEVSUjogRml4ZWQgdW51c2VkCgkgIHBhcmFtZXRlciB3YXJuaW5nLgoKMjAwMi0xMi0xMiAxNzo0OCAgaG9mZm1hbgoKCSogU291cmNlLzogY21UcnlDb21waWxlQ29tbWFuZC5jeHgsIGNtVHJ5Q29tcGlsZUNvbW1hbmQuaDogTWFrZSB0cnkKCSAgY29tcGlsZSBhZGQgYSBkZXBlbmQgdG8gcmUtcnVuIGNtYWtlIGlmIGl0cyBzb3VyY2UgY2hhZ25lcwoKMjAwMi0xMi0xMiAxMjowMiAga2luZwoKCSogVXRpbGl0aWVzLzogY21ha2VfcmVsZWFzZV9jb25maWdfZGFyd2luLAoJICBjbWFrZV9yZWxlYXNlX2NvbmZpZ19ocHV4LCBjbWFrZV9yZWxlYXNlX2NvbmZpZ19pcml4LAoJICBjbWFrZV9yZWxlYXNlX2NvbmZpZ19saW51eCwgY21ha2VfcmVsZWFzZV9jb25maWdfb3NmLAoJICBjbWFrZV9yZWxlYXNlX2NvbmZpZ19zdW4sIGNtYWtlX3JlbGVhc2VfY3lnd2luLnNoOiBFTkg6IFVwZGF0ZWQKCSAgZm9yIDEuNC43IHJlbGVhc2UuCgoyMDAyLTEyLTEyIDExOjUxICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5oOiB1cGRhdGVkIHRvIHBhdGNoNwoKMjAwMi0xMi0xMiAxMTozNiAga2luZwoKCSogU291cmNlLzogY21MaXN0RmlsZUNhY2hlLmN4eCwgY21MaXN0RmlsZUNhY2hlLmgsCgkgIGNtTWFjcm9Db21tYW5kLmN4eCwgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaCwgY3Rlc3QuY3h4OiBFTkg6CgkgIEltcHJvdmVkIGZpbGVuYW1lL2xpbmUgbnVtYmVyIHJlcG9ydGluZyBpbiBlcnJvciBtZXNzYWdlLiAgTWFjcm8KCSAgaW52b2NhdGlvbnMgbm93IGNoYWluIHVwIHRoZSBlcnJvciBtZXNzYWdlLgoKMjAwMi0xMi0xMiAxMDoyNSAga2luZwoKCSogTW9kdWxlcy9DTWFrZVRlc3RHTlUuYzogRVJSOiBGaXhlZCBzeW50YXggZXJyb3JzIGZvciBwaWNreQoJICBwcmVwcm9jZXNzb3JzLgoKMjAwMi0xMi0xMiAxMDoyNSAga2luZwoKCSogTW9kdWxlcy86IENNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLAoJICBDTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlOiBFUlI6IE5lZWQgZG91YmxlLXF1b3RlcyBhcm91bmQKCSAgZXhwcmVzc2lvbiB0byBiZSBtYWNoZWQgaW4gSUYgY29tbWFuZC4KCjIwMDItMTItMTIgMTA6MTAgIGtpbmcKCgkqIFRlc3RzLzogQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwgQ29tcGxleC9WYXJUZXN0cy5jbWFrZSwKCSAgQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwgQ29tcGxleE9uZUNvbmZpZy9WYXJUZXN0cy5jbWFrZSwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL1ZhclRlc3RzLmNtYWtlOiBCVUc6IENhbid0IGRvdWJsZS1xdW90ZQoJICBmb3JlYWNoIGFyZ3VtZW50cy4KCjIwMDItMTItMTIgMDg6NDIgIG1hcnRpbmsKCgkqIFRlc3RzL1dyYXBwaW5nL0NNYWtlTGlzdHMudHh0OiBub3cgdXNlcyBTRVQgaW5zdGVhZCBvZgoJICBTT1VSQ0VfTElTVCBjb21tYW5kCgoyMDAyLTEyLTExIDE4OjIwICBraW5nCgoJKiBTb3VyY2UvY21MaXN0RmlsZUNhY2hlLmN4eDogQlVHOiBNdWx0aS1saW5lIGZ1bmN0aW9ucyBtdXN0IGFsc28KCSAgaW5jcmVtZW50IGxpbmUgbnVtYmVyLCBub3QgdGhlIHBvaW50ZXIuCgoyMDAyLTEyLTExIDE4OjE1ICBraW5nCgoJKiBTb3VyY2UvY21FbmRGb3JFYWNoQ29tbWFuZC5oOiBFUlI6IER1bW15IEluaXRpYWxQYXNzCgkgIGltcGxlbWVudGF0aW9uIG11c3QgcmV0dXJuIGEgdmFsdWUuCgoyMDAyLTEyLTExIDE4OjEzICBraW5nCgoJKiBTb3VyY2UvOiBjbUFic3RyYWN0RmlsZXNDb21tYW5kLmN4eCwKCSAgY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5jeHgsIGNtQWRkQ3VzdG9tVGFyZ2V0Q29tbWFuZC5jeHgsCgkgIGNtQWRkRGVmaW5pdGlvbnNDb21tYW5kLmN4eCwgY21BZGREZXBlbmRlbmNpZXNDb21tYW5kLmN4eCwKCSAgY21BZGRFeGVjdXRhYmxlQ29tbWFuZC5jeHgsIGNtQWRkTGlicmFyeUNvbW1hbmQuY3h4LAoJICBjbUFkZFRlc3RDb21tYW5kLmN4eCwgY21DUGx1Z2luQVBJLmN4eCwgY21Db21tYW5kLmgsCgkgIGNtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuY3h4LCBjbUVuZEZvckVhY2hDb21tYW5kLmN4eCwKCSAgY21FbmRGb3JFYWNoQ29tbWFuZC5oLCBjbUZpbmRGaWxlQ29tbWFuZC5jeHgsCgkgIGNtRmluZExpYnJhcnlDb21tYW5kLmN4eCwgY21GaW5kUGF0aENvbW1hbmQuY3h4LAoJICBjbUZpbmRQcm9ncmFtQ29tbWFuZC5jeHgsIGNtRm9yRWFjaENvbW1hbmQuY3h4LAoJICBjbUZvckVhY2hDb21tYW5kLmgsIGNtRnVuY3Rpb25CbG9ja2VyLmgsIGNtSVRLV3JhcFRjbENvbW1hbmQuY3h4LAoJICBjbUlmQ29tbWFuZC5jeHgsIGNtSWZDb21tYW5kLmgsIGNtSW5jbHVkZURpcmVjdG9yeUNvbW1hbmQuY3h4LAoJICBjbUluc3RhbGxQcm9ncmFtc0NvbW1hbmQuY3h4LCBjbUluc3RhbGxUYXJnZXRzQ29tbWFuZC5jeHgsCgkgIGNtTGlua0RpcmVjdG9yaWVzQ29tbWFuZC5jeHgsIGNtTGlua0xpYnJhcmllc0NvbW1hbmQuY3h4LAoJICBjbUxpc3RGaWxlQ2FjaGUuY3h4LCBjbUxpc3RGaWxlQ2FjaGUuaCwgY21Mb2FkQ2FjaGVDb21tYW5kLmN4eCwKCSAgY21Mb2FkQ29tbWFuZENvbW1hbmQuY3h4LCBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21NYWNyb0NvbW1hbmQuY3h4LCBjbU1hY3JvQ29tbWFuZC5oLCBjbU1ha2VmaWxlLmN4eCwKCSAgY21NYWtlZmlsZS5oLCBjbU1hcmtBc0FkdmFuY2VkQ29tbWFuZC5jeHgsIGNtTWVzc2FnZUNvbW1hbmQuY3h4LAoJICBjbVByb2plY3RDb21tYW5kLmN4eCwgY21SZW1vdmVDb21tYW5kLmN4eCwKCSAgY21TZXRTb3VyY2VGaWxlc1Byb3BlcnRpZXNDb21tYW5kLmN4eCwgY21Tb3VyY2VGaWxlc0NvbW1hbmQuY3h4LAoJICBjbVNvdXJjZUZpbGVzUmVtb3ZlQ29tbWFuZC5jeHgsIGNtU3ViZGlyQ29tbWFuZC5jeHgsCgkgIGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmgsIGNtVGFyZ2V0LmN4eCwKCSAgY21UYXJnZXRMaW5rTGlicmFyaWVzQ29tbWFuZC5jeHgsIGNtVXRpbGl0eVNvdXJjZUNvbW1hbmQuY3h4LAoJICBjbVZhcmlhYmxlUmVxdWlyZXNDb21tYW5kLmN4eCwgY21Xcml0ZUZpbGVDb21tYW5kLmN4eCwgY3Rlc3QuY3h4OgoJICBFTkg6IE1vdmVkIEV4cGFuZExpc3RWYXJpYWJsZXMgb3V0IG9mIGluZGl2aWR1YWwgY29tbWFuZHMuCgkgIEFyZ3VtZW50IGV2YWx1YXRpb24gcnVsZXMgYXJlIG5vdyB2ZXJ5IGNvbnNpc3RlbnQuICBEb3VibGUgcXVvdGVzCgkgIGNhbiBhbHdheXMgYmUgdXNlZCB0byBjcmVhdGUgZXhhY3RseSBvbmUgYXJndW1lbnQsIHJlZ2FyZGxlc3Mgb2YKCSAgY29udGVudHMgaW5zaWRlLgoKMjAwMi0xMi0xMSAxNDoxOCAgbWFydGluawoKCSogU291cmNlL0NNYWtlU2V0dXAuZHN3OiByZW1vdmVkIGRzdyBmaWxlCgoyMDAyLTEyLTExIDE0OjE2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUNQbHVnaW5BUEkuY3h4LCBjbUNQbHVnaW5BUEkuaDogYWRkZWQgYSBGcmVlIG1ldGhvZAoKMjAwMi0xMi0xMSAxNDoxNSAga2luZwoKCSogU291cmNlLzogY21DcmVhdGVUZXN0U291cmNlTGlzdC5jeHgsIGNtU3lzdGVtVG9vbHMuY3h4OiBFTkg6CgkgIEltcHJvdmVkIGltcGxlbWVudGF0aW9uIG9mIE1TVkMgZGVidWcgaG9vayB0byBvbmx5IGFkZCB0aGUgaG9vawoJICBpZiBEQVJUX1RFU1RfRlJPTV9EQVJUIGlzIHNldCBpbiB0aGUgZW52aXJvbm1lbnQuICBUaGlzIGlzIGJldHRlcgoJICB0aGFuIGFsd2F5cyBhZGRpbmcgdGhlIGhvb2sgYW5kIHRlc3RpbmcgdGhlIGVudmlyb25tZW50IGZyb20gdGhlCgkgIGNhbGxiYWNrLgoKMjAwMi0xMi0xMSAxMjowOSAgYW5keQoKCSogU291cmNlLzogY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IEFkZCBjaGVjayBzbyB0aGF0IGphdmEKCSAgcHJvamVjdHMgYnVpbGQgd2l0aG91dCBDKysKCjIwMDItMTItMTEgMTE6NDkgIGtpbmcKCgkqIFNvdXJjZS86IGNtRHVtcERvY3VtZW50YXRpb24uY3h4LCBjbVN5c3RlbVRvb2xzLmN4eCwKCSAgY21TeXN0ZW1Ub29scy5oLCBjbWFrZW1haW4uY3h4LCBjbWFrZXRlc3QuY3h4LCBjbXc5eGNvbS5jeHgsCgkgIGN0ZXN0LmN4eDogRU5IOiBBZGRlZCBjbVN5c3RlbVRvb2xzOjpFbmFibGVNU1ZDRGVidWdIb29rKCkgdG8KCSAgcHJldmVudCBlcnJvciBkaWFsb2dzIHdoZW4gQ01ha2UgaXMgaW52b2tlZCBieSBEYXJ0LgoKMjAwMi0xMi0xMSAxMTozMiAga2luZwoKCSogU291cmNlL2NtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuY3h4OiBFTkg6IEdlbmVyYXRlIGNvZGUgdG8gc2V0dXAKCSAgTVNWQyBkZWJ1ZyBsaWJyYXJ5IGhvb2suICBUaGUgdGVzdCBkcml2ZXIgcHJvZ3JhbSB3aWxsIG5vdAoJICBkaXNwbGF5IGVycm9yIGRpYWxvZ3MgaWYgREFSVF9URVNUX0ZST01fREFSVCBpcyBzZXQgaW4gdGhlCgkgIGVudmlyb25tZW50LgoKMjAwMi0xMi0xMSAxMDozNCAgYW5keQoKCSogTW9kdWxlcy9DTWFrZURldGVybWluZUphdmFDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUphdmFDb21waWxlci5jbWFrZS5pbiwgU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDoKCSAgQWRkIGphdmEgc3VwcG9ydAoKMjAwMi0xMi0xMCAxNzo1MiAgYW5keQoKCSogU291cmNlLzogY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5oOiBBZGQgc3VwcG9ydCBmb3IgY29tbWVudHMgb24KCSAgY3VzdG9tIGNvbW1hbmRzIGluIHZpc3VhbCBzdHVkaW8gNgoKMjAwMi0xMi0xMCAxNzo0MyAgYW5keQoKCSogU291cmNlLzogY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oOiBBZGQgc3VwcG9ydCBmb3IgY29tbWVudHMgb24KCSAgY3VzdG9tIGNvbW1hbmRzIGluIHZpc3VhbCBzdHVkaW8gNwoKMjAwMi0xMi0xMCAxNjo0NiAgYW5keQoKCSogU291cmNlLzogY21DdXN0b21Db21tYW5kLmN4eCwgY21DdXN0b21Db21tYW5kLmgsIGNtTWFrZWZpbGUuY3h4LAoJICBjbU1ha2VmaWxlLmgsIGNtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuY3h4LAoJICBjbUFkZEN1c3RvbUNvbW1hbmRDb21tYW5kLmgsIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbVNvdXJjZUdyb3VwLmN4eCwgY21Tb3VyY2VHcm91cC5oOiBBZGQgY29tbWVudCBzdXBwb3J0LCBzbyB0aGF0CgkgIHlvdSBjYW4gc2VlIGluIGJ1aWxkIHByb2Nlc3Mgd2hhdCB0aGUgY3VzdG9tIGNvbW1hbmQgZG9lcwoKMjAwMi0xMi0xMCAxNjo0NSAgYW5keQoKCSogU291cmNlLzogY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmN4eCwKCSAgY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmg6IEFsbG93IHRhcmdldCB3aXRoIG5vIGNvbW1hbmQKCjIwMDItMTItMTAgMTY6MDggIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtT3V0cHV0UmVxdWlyZWRGaWxlc0NvbW1hbmQuY3h4LAoJICBjbU91dHB1dFJlcXVpcmVkRmlsZXNDb21tYW5kLmg6IEJVRzogdXBkYXRlIGZvciBjaGFuZ2VzIGluCgkgIGNtTWFrZURlcGVuZAoKMjAwMi0xMi0xMCAxNjowMSAgaG9mZm1hbgoKCSogU291cmNlLzogY21JVEtXcmFwVGNsQ29tbWFuZC5jeHgsIGNtSVRLV3JhcFRjbENvbW1hbmQuaDogRU5IOgoJICB1cGRhdGUgdXNlIG9mIG1ha2VkZXBlbmQKCjIwMDItMTItMTAgMTU6NTUgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtSVRLV3JhcFRjbENvbW1hbmQuY3h4LCBjbUlUS1dyYXBUY2xDb21tYW5kLmg6IEVOSDoKCSAgdXBkYXRlIHRvIG5ldyBzdHlsZSBNYWtlRGVwZW5kCgoyMDAyLTEyLTEwIDE0OjEyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IG1ha2Ugc3VyZSBlbXB0eSBkZXBlbmRzCgkgIGFyZSBub3QgdXNlZAoKMjAwMi0xMi0xMCAxNDoxMCAgbWFydGluawoKCSogU291cmNlLzogY21PdXRwdXRSZXF1aXJlZEZpbGVzQ29tbWFuZC5jeHgsCgkgIGNtT3V0cHV0UmVxdWlyZWRGaWxlc0NvbW1hbmQuaDogdXBkYXRlZCBmb3IgY2hhbmdlcyBpbiBEZXBlbmQKCSAgQ2FsY3MKCjIwMDItMTItMTAgMTM6NTkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBkbyBub3Qgb3V0cHV0IGVtcHR5CgkgIGRlcGVuZHMKCjIwMDItMTItMTAgMTM6MzYgIGFuZHkKCgkqIFNvdXJjZS9jdGVzdC5jeHg6IFJlbW92ZSB3YXJuaW5nCgoyMDAyLTEyLTEwIDEwOjM0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbU1ha2VEZXBlbmQuY3h4LCBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmg6IEJVRzogZml4IGNvbXBpbGUgZmxhZ3MgZm9yIHNvdXJjZQoJICBmaWxlcywgYW5kIGZpeCBkZXBlbmQgYnVnIGZvciBjbWFrZSAxNCBicmFuY2gKCjIwMDItMTItMTAgMDk6MzQgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogcmVtb3ZlIGNlcnIKCjIwMDItMTItMTAgMDk6MjggIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmgsIGNtTWFrZURlcGVuZC5jeHg6IEJVRzogIGZpeCBidWcKCSAgaW4gZGVwZW5kcwoKMjAwMi0xMi0wOSAxNjoyMyAgYW5keQoKCSogU291cmNlL2NtYWtldGVzdC5jeHg6IEFkZCB0byB1c2FnZQoKMjAwMi0xMi0wOSAxNjoyMiAgYW5keQoKCSogTW9kdWxlcy9GaW5kUHl0aG9uTGlicy5jbWFrZTogQmV0dGVyIHNlYXJjaCBmb3IgcHl0aG9uCgoyMDAyLTEyLTA5IDE0OjMzICBraW5nCgoJKiBNb2R1bGVzL0NNYWtlSW1wb3J0QnVpbGRTZXR0aW5ncy5jbWFrZTogRU5IOiBVc2luZyBvbmx5IGZpbGVuYW1lCgkgIHdpdGhvdXQgcGF0aCBvciBleHRlbnNpb24gZm9yIGNvbXBhcmluZyBidWlsZCB0b29scy4KCjIwMDItMTItMDkgMDg6MjcgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBDTWFrZVZTNkJhY2t3YXJkQ29tcGF0aWJpbGl0eS5jbWFrZSwKCSAgQ01ha2VWUzdCYWNrd2FyZENvbXBhdGliaWxpdHkuY21ha2U6IHVzZSB3aW4zMiB0aHJlYWRzIGZvciB3aW4zMgoKMjAwMi0xMi0wOCAyMjozNiAgYW5keQoKCSogU291cmNlLzogY3Rlc3QuY3h4LCBjdGVzdC5oOiBJbml0aWFsIGFkZGl0aW9uIG9mIGNvdmVyYWdlCgoyMDAyLTEyLTA4IDIyOjM1ICBhbmR5CgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEZpeCBidWcgaW4gZ2xvYmJpbmcuIE5vdyBpdCBhY3R1YWxseQoJICB1c2VzIG9ubHkgZmlsZXMgb3IgZGlyZWN0b3JpZXMgdGhhdCByZXN1bHQgaW4gZ2xvYmJpbmcgbm90IHRoZQoJICBvbmVzIHRoYXQgd2VyZSBpcyB0aGUgdmVjdG9yIGJlZm9yZQoKMjAwMi0xMi0wOCAyMjozMyAgYW5keQoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDoKCSAgUmVuYW1lIHZhcmlhYmxlIHRvIHJlbW92ZSB3YXJuaW5nCgoyMDAyLTEyLTA4IDE0OjI1ICBzdGFycmV2ZWxkCgoJKiBUZW1wbGF0ZXMvQ01ha2VMaXN0cy50eHQ6IEVSUjogUmVtb3ZlIHJlZmVyZW5jZXMgdG8gZmlsZXMgcmVtb3ZlZAoJICA0IGRheXMgYWdvCgoyMDAyLTEyLTA2IDE1OjM1ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbU1ha2VmaWxlLmN4eDogRU5IOiBmaXggSW50RGlyCgkgIGp1bXAgYW5kIGJ1aWxkIHByb2JsZW0KCjIwMDItMTItMDYgMTE6NDMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHg6IEVOSDogc2V0IHRoZSBDWFggYW5kIENDIGVudmlyb25tZW50CgkgIHZhcnMKCjIwMDItMTItMDYgMTA6MTYgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2U6IEJVRzogZml4IEMgY29tcGlsZXIgaW5pdAoKMjAwMi0xMi0wNiAxMDowOSAgaG9mZm1hbgoKCSogTW9kdWxlcy86IENNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLAoJICBDTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlOiBjbGVhbiB1cCBjb21waWxlciBwaWNraW5nIGNvZGUKCjIwMDItMTItMDYgMTA6MDIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDWFhDb21waWxlci5jbWFrZSwKCSAgU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHg6IGZpeCBmb3IgZ2VuZXJhdG9yCgkgIHBpY2tlZCBjb21waWxlcnMKCjIwMDItMTItMDUgMTY6NTMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogdXNlIGNvcnJlY3QgcGF0aCB0eXBlCgkgIGZvciBjaGVja19jYWNoZSBmaWxlCgoyMDAyLTEyLTA1IDE2OjUyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21EeW5hbWljTG9hZGVyLmN4eDogZml4IGZyZWUgYmVmb3JlIHVzZQoKMjAwMi0xMi0wNSAxNDo1NiAgaG9mZm1hbgoKCSogU291cmNlLzogY21DYWNoZU1hbmFnZXIuY3h4LCBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDoKCSAgRU5IOiBhZGQgYSBydWxlIHRvIGF1dG9tYXRpY2FsbHkgcmUtcnVuIGNtYWtlIGZyb20gdGhlIHRvcCBpZiB0aGUKCSAgQ01ha2VDYWNoZS50eHQgZmlsZSBpcyBjaGFuZ2VkCgoyMDAyLTEyLTA1IDE0OjI0ICBhbmR5CgoJKiBTb3VyY2UvTWFrZWZpbGUuaW46IEJldHRlciBkZXBlbmRlbmNpZXMgZm9yIGJvb3RzdHJhcAoKMjAwMi0xMi0wNSAxMzo0NCAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZUJhY2t3YXJkQ29tcGF0aWJpbGl0eUMuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VCYWNrd2FyZENvbXBhdGliaWxpdHlDWFguY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlVlM2QmFja3dhcmRDb21wYXRpYmlsaXR5LmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlVlM2RmluZE1ha2UuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VWUzdCYWNrd2FyZENvbXBhdGliaWxpdHkuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VWUzdGaW5kTWFrZS5jbWFrZSwgTW9kdWxlcy9EYXJ0LmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2UsCgkgIFNvdXJjZS9jbUdsb2JhbEJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbEJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHg6IEVOSDogdW5pZnkKCSAgRW5hYmxlTGFuZ3VhZ2UgYWNyb3NzIGFsbCBnZW5lcmF0b3JzCgoyMDAyLTEyLTA1IDExOjU1ICBhbmR5CgoJKiBUZXN0cy86IExvYWRDb21tYW5kL0NNYWtlTGlzdHMudHh0LAoJICBMb2FkQ29tbWFuZC9Mb2FkZWRDb21tYW5kLmN4eCwgTG9hZENvbW1hbmQvTG9hZGVkQ29tbWFuZC5oLmluLAoJICBMb2FkQ29tbWFuZE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgTG9hZENvbW1hbmRPbmVDb25maWcvTG9hZGVkQ29tbWFuZC5jeHgsCgkgIExvYWRDb21tYW5kT25lQ29uZmlnL0xvYWRlZENvbW1hbmQuaC5pbjogU3BlZWR1cCB0aGUgdGVzdAoKMjAwMi0xMi0wNSAxMTowOSAgbWFydGluawoKCSogU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oOiB1c2UgSW5BbGwgdGFyZ2V0IHNldHRpbmcKCSAgdG8gZGV0ZXJtaW5lIHdoYXQgdGFyZ2V0cyBhcmUgaW4gdGhlIGRlZmF1bHQgYnVpbGQKCjIwMDItMTItMDUgMTA6NDcgIGtpbmcKCgkqIE1vZHVsZXMvOiBGaW5kVlRLLmNtYWtlLCBVc2VWVEs0MC5jbWFrZSwKCSAgVXNlVlRLQnVpbGRTZXR0aW5nczQwLmNtYWtlLCBVc2VWVEtDb25maWc0MC5jbWFrZTogRU5IOiBBZGRlZAoJICBzdXBwb3J0IGZvciBmaW5kaW5nL3VzaW5nIFZUSyA0LjAgd2l0aG91dCB1c2luZyBpdHMgVXNlVlRLLmNtYWtlCgkgIGZpbGUgdGhhdCBkb2VzIGEgTE9BRF9DQUNIRS4KCjIwMDItMTItMDUgMTA6MzQgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VJbXBvcnRCdWlsZFNldHRpbmdzLmNtYWtlOiBCVUc6IEZpeCBmb3Igc3RyaW5nCgkgIGNvbXBhcmlzb24gd2hlbiBvbmUgc3RyaW5nIGlzIGVtcHR5LgoKMjAwMi0xMi0wNSAwOTo0NiAga2luZwoKCSogTW9kdWxlcy86IENNYWtlQnVpbGRTZXR0aW5ncy5jbWFrZS5pbiwKCSAgQ01ha2VFeHBvcnRCdWlsZFNldHRpbmdzLmNtYWtlLCBDTWFrZUltcG9ydEJ1aWxkU2V0dGluZ3MuY21ha2U6CgkgIEVOSDogQWRkaW5nIENNQUtFX0VYUE9SVF9CVUlMRF9TRVRUSU5HUyBhbmQKCSAgQ01BS0VfSU1QT1JUX0JVSUxEX1NFVFRJTkdTIG1hY3JvLgoKMjAwMi0xMi0wNSAwODozMCAgbWFydGluawoKCSogU291cmNlL2NtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IHVzZSBJbkFsbCB0YXJnZXQKCSAgc2V0dGluZyB0byBkZXRlcm1pbmUgd2hhdCB0YXJnZXRzIGFyZSBpbiB0aGUgZGVmYXVsdCBidWlsZAoKMjAwMi0xMi0wNCAxODo0NCAga2luZwoKCSogU291cmNlLzogY21TdHJpbmdDb21tYW5kLmN4eCwgY21TdHJpbmdDb21tYW5kLmg6IEVOSDogQWRkZWQKCSAgQ09NUEFSRSBtb2RlcyB0byBTVFJJTkcgY29tbWFuZC4KCjIwMDItMTItMDQgMTY6NTkgIGtpbmcKCgkqIE1vZHVsZXMvQ01ha2VVbml4RmluZE1ha2UuY21ha2U6IEJVRzogUmVtb3ZlZCBzdHJheSBkZWJ1Z2dpbmcKCSAgbWVzc2FnZS4KCjIwMDItMTItMDQgMTQ6MTggIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBXaGVuIGEgZnVsbCBwYXRoIHRvCgkgIGEgbGlicmFyeSBjYW5ub3QgYmUgcGFyc2VkLCBqdXN0IGFkZCB0aGUgd2hvbGUgcGF0aCB0byB0aGUgbGluawoJICBsaW5lLiAgSWYgaXQgaXNuJ3QgYSB2YWxpZCBwYXRoLCB0aGUgbGlua2VyIHdpbGwgY29tcGxhaW4uCgoyMDAyLTEyLTA0IDEwOjU3ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlVW5peEZpbmRNYWtlLmNtYWtlLAoJICBTb3VyY2UvY21HbG9iYWxCb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxOTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtYWtlLmN4eCwKCSAgU291cmNlL2NtYWtlLmg6IEJVRzogZml4IGdldCBtYWtlIGNvbW1hbmQgcHJvYmxlbXMuCgoyMDAyLTEyLTA0IDEwOjQ0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBhZGRlZCBDTUFLRV9CQUNLV0FSRFNfQ09NUEFUSUJJTElUWSBlbnRyeQoKMjAwMi0xMi0wNCAxMDoyNSAgbWFydGluawoKCSogU291cmNlL2NtTGlua0xpYnJhcmllc0NvbW1hbmQuaDogdXBkYXRlZCBjb21tZW50CgoyMDAyLTEyLTAzIDE2OjE5ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlQm9ybGFuZEZpbmRNYWtlLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlTk1ha2VGaW5kTWFrZS5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVN5c3RlbVNwZWNpZmljSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VVbml4RmluZE1ha2UuY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vQ1lHV0lOLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtYmNjMzIuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZSwKCSAgU291cmNlL2NtR2xvYmFsQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IGRldGVybWluZQoJICBDTUFLRV9NQUtFX1BST0dSQU0gaW4gRW5hYmxlTGFuZ3VhZ2UKCjIwMDItMTItMDMgMTU6MjMgIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL2NtTG9jYWxCb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbEJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Mb2NhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgVGVtcGxhdGVzL0NDTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbiwKCSAgVGVtcGxhdGVzL0NNYWtlQm9ybGFuZFdpbmRvd3NTeXN0ZW1Db25maWcuY21ha2UsCgkgIFRlbXBsYXRlcy9DTWFrZU5NYWtlV2luZG93c1N5c3RlbUNvbmZpZy5jbWFrZSwKCSAgVGVtcGxhdGVzL0NYWENNYWtlU3lzdGVtQ29uZmlnLmNtYWtlLmluOiByZW1vdmUgdW51c2VkIGZpbGVzCgoyMDAyLTEyLTAzIDE0OjE1ICBpYmFuZXoKCgkqIE1vZHVsZXMvRmluZEltYWdlTWFnaWNrLmNtYWtlOiBNb2R1bGUgdG8gZmluZCB0b29scyBmcm9tIHRoZQoJICBJbWFnZU1hZ2ljayBwYWNrYWdlLglUaGVzZSB0b29scyBhcmUgdXNlZnVsIGZvciBjb252ZXJ0aW5nIGltYWdlCgkgIGZvcm1hdHMuCgoyMDAyLTEyLTAzIDE0OjA5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgTWFrZWZpbGUuaW4sIGNtYWtlLmN4eDogcmVtb3ZlIGNvZGUKCSAgd2FycmlvciBhbmQgZml4ZWQgR1VJIGlzdWVzCgoyMDAyLTEyLTAzIDEzOjQ2ICBpYmFuZXoKCgkqIE1vZHVsZXMvRmluZEZMVEsuY21ha2U6IEVOSDogZGVzY3JpcHRpb24gb2YgdmFyaWFibGVzIG5vdyBmb2xsb3dzCgkgIG90aGVyIHN0eWxlIGluIG90aGVyIC5jbWFrZSBmaWxlcy4KCjIwMDItMTItMDMgMTM6NDQgIGliYW5legoKCSogTW9kdWxlcy9GaW5kR0xVVC5jbWFrZTogRU5IOiBEZXNjcmlwdGlvbiBvZiB2YXJpYWJsZXMgbm93CgkgIHNwZWNpZmllcyB0aGF0IHRoZSBmdWxsIHBhdGggaXMgcmVxdWlyZWQuCgoyMDAyLTEyLTAzIDEyOjU5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IGZpeCBwdXJpZnkgRk1SCgoyMDAyLTEyLTAzIDExOjIzICBtYXJ0aW5rCgoJKiBDTWFrZUxpc3RzLnR4dDogYnVnIGZpeCBhbmQgc29tZSBjbGVhbnVwCgoyMDAyLTEyLTAzIDExOjIxICBtYXJ0aW5rCgoJKiBUZXN0cy8uTm9EYXJ0Q292ZXJhZ2U6IGNsZWFuIHVwIGNvdmVyYWdlIHNvbWUKCjIwMDItMTItMDMgMTA6NDcgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VEZWZhdWx0TWFrZVJ1bGVWYXJpYWJsZXMuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vTGludXgtY29tby5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWJjYzMyLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2UsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogY29ycmVjdGx5IHBsYWNlIGJvdGgKCSAgTElOS19GTEFHUyBhbmQgQ1hYX0xJTktfRkxBR1MgYW5kIENfTElOS19GTEFHUyBpbnRvIGFsbCB0aGUgcnVsZXMKCjIwMDItMTItMDMgMDk6NTkgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VEZWZhdWx0TWFrZVJ1bGVWYXJpYWJsZXMuY21ha2U6IHVzZSBMSU5LX0ZMQUdTIG5vdCBDCgkgIGFuZCBDWFggTElOS19GTEFHUwoKMjAwMi0xMi0wMiAxNjozNSAgbWFydGluawoKCSogU291cmNlL2NtU3RyaW5nQ29tbWFuZC5jeHg6IGZpeCBjb21waWxlIHdhcm5pbmcKCjIwMDItMTItMDIgMTY6MTUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogYWRkIHByb2plY3QgY29tbWFuZCBldmVuIGlmIGluaGVyaXRpbmcKCjIwMDItMTItMDIgMTY6MDggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxpc3RGaWxlQ2FjaGUuY3h4OiBFTkg6IHB1dCB0aGUgcHJvamVjdCBjb21tYW5kIGF0IHRoZQoJICBmcm9udCBvZiB0aGUgcHJvamVjdAoKMjAwMi0xMi0wMiAxNTo1OSAgbWFydGluawoKCSogU291cmNlLzogY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4LCBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oLAoJICBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oOiByZW1vdmVkIGNtTWFrZWZpbGUgZGVwZW5kCgkgIGZyb20gY21TeXN0ZW1Ub29scwoKMjAwMi0xMi0wMiAxNTo0MyAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IHJlbW92ZSBmb3JjZWQKCSAgZW5hYmxlIGxhbmd1YWdlIGNhbGwgYmVjYXVzZSBhIFBST0pFQ1QgY29tbWFuZCBpcyBub3cgYWRkZWQgdG8KCSAgZWFjaCBwcm9qZWN0CgoyMDAyLTEyLTAyIDE1OjM3ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUxpc3RGaWxlQ2FjaGUuY3h4LCBjbU1ha2VmaWxlLmN4eDogRU5IOiByZW1vdmUgY2VycgoJICBjYWxscwoKMjAwMi0xMi0wMiAxNTozMCAgaG9mZm1hbgoKCSogU291cmNlLzogY21MaXN0RmlsZUNhY2hlLmN4eCwgY21MaXN0RmlsZUNhY2hlLmgsIGNtTWFrZWZpbGUuY3h4OgoJICBFTkg6IGFkZCBQUk9KRUNUIGNvbW1hbmQgaWYgdGhlcmUgaXMgbm90IG9uZQoKMjAwMi0xMi0wMiAxNTowMyAgbWFydGluawoKCSogU291cmNlL2NtSWZDb21tYW5kLmN4eDogbWlub3IgZml4CgoyMDAyLTEyLTAyIDEzOjE4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogYWRkIGEgc3BhY2UgYXJvdW5kCgkgIHRoZSBjb21waWxlIGZsYWdzCgoyMDAyLTEyLTAyIDEwOjMzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogZml4IGNvbXBpbGUgZmxhZ3MKCSAgZm9yIGEgc2luZ2xlIGZpbGUKCjIwMDItMTEtMjkgMTg6NTYgIGFuZHkKCgkqIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEZpeCBwcm9ibGVtIG9uIHVuaXgKCSAgd2l0aCBzcGFjZQoKMjAwMi0xMS0yOSAxNjozNSAgYW5keQoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBXaGVuIGNkLWppbmcgaW50byBkaXJlY3RvcnksIGlmCgkgIGRpcmVjdG9yeSBoYXMgc3BhY2UsIGl0IHNob3VsZCBwdXQgcXVvdGVzIGFyb3VuZC4gSSBndWVzcyB3ZQoJICBjb3VsZCBqdXN0IHB1dCBxdW90ZXMgYXJvdW5kIGFsbCB0aGUgdGltZQoKMjAwMi0xMS0yOCAyMzo0NSAgaWJhbmV6CgoJKiBNb2R1bGVzL0ZpbmRGTFRLLmNtYWtlOiBFTkg6IEZMVEsgMS4xLjEgdW5kZXIgV2luZG93cyBsaW5rcyBub3cKCSAgd2l0aCB0aGUgY29tY3RsMzIgbGlicmFyeS4KCjIwMDItMTEtMjcgMDc6NDIgIGFuZHkKCgkqIFRlc3RzL09iakMrKy9DTWFrZUxpc3RzLnR4dDogQWRkIG1pc3NpbmcgbGlicmFyeS4gVGhlIHRlc3Qgc2hvdWxkCgkgIGJlIGxpbmtlZCB0byBmcmFtZXdvcmsgQ29jb2EKCjIwMDItMTEtMjcgMDc6NDEgIGFuZHkKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQWRkIG9iamVjdGl2ZSBDKysgZmlsZSBpbiB0aGUgbGlzdCBvZgoJICBDKysgZmlsZXMuIFRoaXMgbWF5IGJlIHdyb25nLCBidXQgaXQgd2lsbCBmaXggcHJvYmxlbXMgb24gTWFjIGZvcgoJICBub3cKCjIwMDItMTEtMjYgMTk6MDIgIHN0YXJyZXZlbGQKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogQWRkIE9iakMrKyB0ZXN0IGZvciBPU1gKCjIwMDItMTEtMjYgMTk6MDEgIHN0YXJyZXZlbGQKCgkqIFRlc3RzL09iakMrKy86IENNYWtlTGlzdHMudHh0LCBvYmpjKysubW06CgkgIFRlc3QgZm9yIE9iakMrKyBvbiBPU1ggbWFjaGluZXMgb25seQoKMjAwMi0xMS0yNiAwOTozNyAgYW5keQoKCSogU291cmNlL2NtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4OiBSZW1vdmUgd2FybmluZwoKMjAwMi0xMS0yNSAxNzo1NyAgYW5keQoKCSogTW9kdWxlcy9GaW5kd3hXaW5kb3dzLmNtYWtlOiBDaGFuZ2UgcHJpb3JpdGllcwoKMjAwMi0xMS0yMiAxNjo1OSAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBmaXggZm9yIHBhdGhzIHdpdGgKCSAgc3BhY2VzIGFuZCBib3JsYW5kCgoyMDAyLTExLTIyIDE2OjE4ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtYmNjMzIuY21ha2U6IGNoYW5nZSBmbGFncyBmb3IgYm9ybGFuZAoKMjAwMi0xMS0yMiAxNTo0NCAgYW5keQoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eDogUmV2ZXJ0IGJhY2sgdG8gMS41LAoJICBzaW5jZSBpdCBpcyBmaXhlZCBpbiBDb252ZXJ0VG9PdXRwdXRQYXRoIGFuZCB0aGlzIGJyZWFrcyBXaW5kb3dzCgkgIDk4CgoyMDAyLTExLTIyIDA5OjQ1ICBhbmR5CgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTWFpbkZvcm0uY3h4OiBSZW5hbWUgbG9jYWwgdmFyaWFibGUKCjIwMDItMTEtMjEgMjM6NTQgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IGFkZCBzdXBwb3J0IGZvcgoJICBDTUFLRV9DX0ZMQUdTIGFuZCBoYW5kbGUgcXVvdGVzIGluIENNQUtFX0NYWF9GTEFHUwoKMjAwMi0xMS0yMSAxNjoxMSAgaG9mZm1hbgoKCSogU291cmNlL2NtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4OiBmaXggZm9yIGMgZmxhZ3MKCjIwMDItMTEtMjEgMTY6MDMgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4OiBmaXggZmxhZyBzZXR0aW5nCgoyMDAyLTExLTIxIDE1OjM2ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0NZR1dJTi5jbWFrZTogcmVtb3ZlIGRlYnVnIHN0dWZmCgoyMDAyLTExLTIxIDE1OjE1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21UcnlDb21waWxlQ29tbWFuZC5jeHg6IG1vdmUgY29tcGlsZSBkZWZzIHRvIGN4eCBhbmQgYwoJICBmbGFncwoKMjAwMi0xMS0yMSAxNDo1OSAgaG9mZm1hbgoKCSogU291cmNlLzogY21UcnlDb21waWxlQ29tbWFuZC5jeHgsIGNtVHJ5Q29tcGlsZUNvbW1hbmQuaDogY2xlYW4gdXAKCSAgZW50aXJlIHRlbXAgZGlyZWN0b3J5CgoyMDAyLTExLTIxIDE0OjQ1ICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogQ2hlY2tJbmNsdWRlRmlsZUNYWC5jbWFrZSwKCSAgVGVzdEZvckFOU0lTdHJlYW1IZWFkZXJzLmNtYWtlOiB0cnkgdG8gZml4IGNoZWNrIGZvciBhbnNpIHN0cmVhbQoKMjAwMi0xMS0yMSAxNDozMiAgaG9mZm1hbgoKCSogTW9kdWxlcy9DaGVja0luY2x1ZGVGaWxlQ1hYLmNtYWtlOiBmaXggb3JkZXIKCjIwMDItMTEtMjEgMTQ6MjQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvVGVzdEZvclNURE5hbWVzcGFjZS5jbWFrZTogZml4IG9yZGVyCgoyMDAyLTExLTIxIDE0OjExICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NoZWNrSW5jbHVkZUZpbGVDWFguY21ha2UsCgkgIE1vZHVsZXMvVGVzdEZvckFOU0lGb3JTY29wZS5jbWFrZSwKCSAgTW9kdWxlcy9UZXN0Rm9yQU5TSVN0cmVhbUhlYWRlcnMuY21ha2UsCgkgIE1vZHVsZXMvVGVzdEZvclNURE5hbWVzcGFjZS5jbWFrZSwKCSAgU291cmNlL2NtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4OiBtb3ZlIGFuc2kgY3h4IGZsYWdzIHN0dWZmIG91dCBvZgoJICB0cnkgY29tcGlsZSBhbmQgaW50byBjbWFrZSBmaWxlcwoKMjAwMi0xMS0yMSAxMzozNyAgaG9mZm1hbgoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBmaXggbmV0d29yayBwYXRocyB3aXRoIHNwYWNlcwoKMjAwMi0xMS0yMSAxMzoyOCAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZUJhY2t3YXJkQ29tcGF0aWJpbGl0eUNYWC5jbWFrZTogaGF2ZSB0byBjYWNoZQoJICBhbnNpX2N4eGZsYWdzCgoyMDAyLTExLTIxIDEyOjU5ICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogQ01ha2VCYWNrd2FyZENvbXBhdGliaWxpdHlDWFguY21ha2UsCgkgIFRlc3RDWFhBY2NlcHRzRmxhZy5jbWFrZTogc3BlbGxpbmcgZXJyb3IKCjIwMDItMTEtMjEgMTI6NTIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBDTWFrZUJhY2t3YXJkQ29tcGF0aWJpbGl0eUNYWC5jbWFrZSwgRHVtbXlDWFhGaWxlLmN4eCwKCSAgVGVzdENYWEFjY2VwdHNGbGFnLmNtYWtlLCBQbGF0Zm9ybS9JUklYNjQuY21ha2UsCgkgIFBsYXRmb3JtL09TRjEuY21ha2U6IGFkZCBjaGVja3MgZm9yIGFuc2kgZmxhZ3MgYW5kIG5vdCBoYXJkIGNvZGUKCSAgdGhlbQoKMjAwMi0xMS0yMSAxMjoyNiAgYW5keQoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eDogRml4IGZvciBuZXR3b3JrIHBhdGhzCgkgIHdpdGggc3BhY2UKCjIwMDItMTEtMjEgMTI6MjYgIGFuZHkKCgkqIFNvdXJjZS9jdGVzdC5jeHg6IEZpeCBmb3IgbmV0d29yayBwYXRocwoKMjAwMi0xMS0yMSAxMTo0NiAgYmFycmUKCgkqIE1vZHVsZXMvQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlOiBGVVg6IHRob3NlIHZhcnMKCSAgbmVlZCB0byBiZSBBRFZBTkNFRAoKMjAwMi0xMS0yMSAxMDoxMSAga2luZwoKCSogTW9kdWxlcy86IENoZWNrVmFyaWFibGVFeGlzdHMuYywgQ2hlY2tWYXJpYWJsZUV4aXN0cy5jbWFrZTogRU5IOgoJICBBZGRlZCBDSEVDS19WQVJJQUJMRV9FWElTVFMgbWFjcm8uCgoyMDAyLTExLTIxIDEwOjAzICBraW5nCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTWFpbkZvcm0uY3h4OiBFUlI6IEZpeGVkIHN0cmluZwoJICBsaXRlcmFsIHRvIGNoYXIqIHdhcm5pbmdzLgoKMjAwMi0xMS0yMSAwODo0NSAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZURlZmF1bHRNYWtlUnVsZVZhcmlhYmxlcy5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9DWUdXSU4uY21ha2UsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgVGVzdHMvU3lzdGVtSW5mb3JtYXRpb24vU3lzdGVtSW5mb3JtYXRpb24uaW46IGZpeCBmb3IgY3JlYXRlCgkgIHNoYXJlZCBsaWJyYXJ5CgoyMDAyLTExLTIxIDA4OjE5ICBtYXJ0aW5rCgoJKiBUZXN0cy9MaW5rTGluZU9yZGVyLzogRXhlYzEuYywgRXhlYzIuYywgTm9EZXBCLmMsIE5vRGVwQy5jLAoJICBOb0RlcEUuYywgTm9EZXBGLmMsIE5vRGVwWC5jLCBOb0RlcFkuYywgTm9EZXBaLmMsIE9uZS5jOgoJICBjb252ZXJ0ZWQgYyBwbHVzIHBsdXMgY29tbWVudHMKCjIwMDItMTEtMjEgMDg6MTIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlOiBFTkg6IGZpeCBmb3IgbW9kdWxlCgkgIHJ1biB0aW1lIGZsYWcKCjIwMDItMTEtMjAgMTg6MTggIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ2FjaGVNYW5hZ2VyLmgsIGNtU3lzdGVtVG9vbHMuY3h4OiByZW5hbWUgZm9vCgkgIHZhcmlhYmxlcyB0byBiZXR0ZXIgbmFtZXMKCjIwMDItMTEtMjAgMTg6MDAgIGtpbmcKCgkqIFNvdXJjZS86IGNtTG9hZENhY2hlQ29tbWFuZC5jeHgsIGNtTG9hZENhY2hlQ29tbWFuZC5oOiBFTkg6IEFkZGVkCgkgIFJFQURfV0lUSF9QUkVGSVggb3B0aW9uIHRvIExPQURfQ0FDSEUgY29tbWFuZC4gIFRoaXMgYWxsb3dzCgkgIHJlYWRpbmcgb2YgY2FjaGUgdmFsdWVzIGZyb20gYW5vdGhlciBjYWNoZSB3aXRob3V0IGFjdHVhbGx5CgkgIGNyZWF0aW5nIGxvY2FsIGNvcGllcyBvZiB0aGUgY2FjaGUgZW50aXJlcy4gIFRoZSB2YWx1ZXMgYXJlCgkgIHN0b3JlZCBhcyBwcmVmaXhlZCBsb2NhbCBtYWtlZmlsZSB2YXJpYWJsZXMuCgoyMDAyLTExLTIwIDE2OjIzICBraW5nCgoJKiBNb2R1bGVzL0ZpbmRWVEsuY21ha2U6IEVOSDogQWRkZWQgc3VwcG9ydCB0byBmaW5kIFZUSyA0LjAuCgoyMDAyLTExLTIwIDE1OjIzICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlQ0NvbXBpbGVyLmNtYWtlLmluOiBCVUc6IHVzZSBDTUFLRV9DT01QSUxFUl9JU19HTlVDQwoJICBub3QgQ01BS0VfQ09NUElMRVJfSVNfR05VR0NDCgoyMDAyLTExLTIwIDE0OjQwICBpYmFuZXoKCgkqIE1vZHVsZXMvRmluZExBVEVYLmNtYWtlOiBFTkg6IE5vdyBhbHNvIGxvY2F0ZXMgdGhlICJtYWtlaW5kZXgiCgkgIHByb2dyYW0uCgoyMDAyLTExLTIwIDE0OjExICBraW5nCgoJKiBNb2R1bGVzL0ZpbmRWVEsuY21ha2U6IEVOSDogT25seSBzZWFyY2ggVlRLX0lOU1RBTExfUEFUSCBpZgoJICBVU0VfSU5TVEFMTEVEX1ZUSyBpcyBvbi4gIE9ubHkgc2VhcmNoIFZUS19CSU5BUllfUEFUSCBpZgoJICBVU0VfQlVJTFRfVlRLIGlzIG9uLgoKMjAwMi0xMS0yMCAxMzozNyAga2luZwoKCSogTW9kdWxlcy9GaW5kVlRLLmNtYWtlOiBFTkg6IE5ldyBpbXBsZW1lbnRhdGlvbiBvZiBGaW5kVlRLIHRvIHRha2UKCSAgYWR2YW50YWdlIG9mIFZUS0NvbmZpZy5jbWFrZS4gIEFsc28gcHJvdmlkZXMgbW9yZSBwb3dlcmZ1bCBzZWFyY2gKCSAgcGF0aCBtZWNoYW5pc20sIGFuZCByZXF1aXJlcyBvbmx5IG9uZSBjYWNoZSBlbnRyeSBpbiB1c2VyCgkgIHByb2plY3QuCgoyMDAyLTExLTIwIDEyOjU4ICBraW5nCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEJVRzogQXR0ZW1wdCB0byBmaXggQ29weUZpbGUgcHJvYmxlbQoJICB1c2luZyBmbHVzaCBiZWZvcmUgY2hlY2sgZm9yIHN1Y2Nlc3MuCgoyMDAyLTExLTIwIDA5OjA2ICBraW5nCgoJKiBTb3VyY2UvY21HZXRGaWxlbmFtZUNvbXBvbmVudENvbW1hbmQuY3h4OiBFUlI6IEZpeGVkCgkgIHNpZ25lZC91bnNpZ25lZCB3YXJuaW5nLgoKMjAwMi0xMS0yMCAwOTowNiAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFUlI6IEZpeGVkIHVudXNlZAoJICBwYXJhbWV0ZXIgd2FybmluZy4KCjIwMDItMTEtMjAgMDk6MDQgIG1hcnRpbmsKCgkqIFRlc3RzL0xpbmtMaW5lT3JkZXIvTm9EZXBBLmM6IGZpeGVkIGNvbW1lbnRzIHRvIGJlIGMgc3R5bGUgbm90IGMKCSAgcGx1cyBwbHVzCgoyMDAyLTExLTE5IDE4OjE3ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ1hYQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlLAoJICBTb3VyY2UvY21HZXRGaWxlbmFtZUNvbXBvbmVudENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21HZXRGaWxlbmFtZUNvbXBvbmVudENvbW1hbmQuaCwgU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4LAoJICBTb3VyY2UvY21TeXN0ZW1Ub29scy5oOiBhbGxvdyBmbGFncyB0byBiZSBpbiB0aGUgQ0MgYW5kIENYWAoJICBlbnZpcm9ubWVudCB2YXJpYWJsZXMKCjIwMDItMTEtMTkgMTg6MDEgIHBlcmVyYQoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0LCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbVRhcmdldC5jeHgsIFNvdXJjZS9jbVRhcmdldC5oLAoJICBUZXN0cy9MaW5rTGluZU9yZGVyL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9MaW5rTGluZU9yZGVyL0V4ZWMxLmMsCgkgIFRlc3RzL0xpbmtMaW5lT3JkZXIvRXhlYzIuYywgVGVzdHMvTGlua0xpbmVPcmRlci9Ob0RlcEEuYywKCSAgVGVzdHMvTGlua0xpbmVPcmRlci9Ob0RlcEIuYywgVGVzdHMvTGlua0xpbmVPcmRlci9Ob0RlcEMuYywKCSAgVGVzdHMvTGlua0xpbmVPcmRlci9Ob0RlcEUuYywgVGVzdHMvTGlua0xpbmVPcmRlci9Ob0RlcEYuYywKCSAgVGVzdHMvTGlua0xpbmVPcmRlci9Ob0RlcFguYywgVGVzdHMvTGlua0xpbmVPcmRlci9Ob0RlcFkuYywKCSAgVGVzdHMvTGlua0xpbmVPcmRlci9Ob0RlcFouYywgVGVzdHMvTGlua0xpbmVPcmRlci9PbmUuYywKCSAgVGVzdHMvTGlua0xpbmVPcmRlci9Ud28uYzogQlVHOiB0aGUgZGVwZW5kZW5jeSBhbmFseXNpcyB3b3VsZAoJICBpbmNvcnJlY3RseSBhbHBoYWJldGljYWxseSByZS1vcmRlciB0aGUgbGluayBsaW5lcywgd2hpY2ggYWZmZWN0cwoJICBleHRlcm5hbCBsaWJyYXJpZXMgcHVsbGVkIHVwIGZyb20gZGVlcCB3aXRoaW4gdGhlIGRlcGVuZGVuY3kKCSAgdHJlZS4gRml4ZWQgYnkgcHJlc2VydmluZyBvcmRlciBldmVyeXdoZXJlLgoKMjAwMi0xMS0xOSAxNTo1NSAgaG9mZm1hbgoKCSogTW9kdWxlcy86IENNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLAoJICBDTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlOiBmaXhlcyB0byBiZXR0ZXIgaG9ub3IgZW52IENDIGFuZAoJICBDWFgKCjIwMDItMTEtMTkgMTQ6NDAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogRU5IOiBhZGQgc29tZSBiZXR0ZXIgb3V0cHV0IHdoZW4gY29weQoJICBmaWxlIGZhaWxzCgoyMDAyLTExLTE5IDE0OjQwICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IGZpeCBzb21lIHdhcm5pbmdzCgoyMDAyLTExLTE5IDEzOjE5ICBhbmR5CgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzUGF0aFdpZGdldC5jeHg6IEFkZCAvIGFmdGVyIGRpcmVjdG9yeQoJICBuYW1lIHdoZW4gZG9pbmcgdGFiIGNvbXBsZXRpb24KCjIwMDItMTEtMTkgMTM6MDkgIGFuZHkKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvOiBjbUN1cnNlc01haW5Gb3JtLmN4eCwgY21DdXJzZXNNYWluRm9ybS5oOgoJICBBZGQgcHJvZ3Jlc3MgdG8gY2NtYWtlCgoyMDAyLTExLTE5IDEyOjIwICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlU3lzdGVtU3BlY2lmaWNJbmZvcm1hdGlvbi5jbWFrZTogQlVHOiBmaXggQ0ZMQUdTCgoyMDAyLTExLTE5IDEyOjE4ICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2UsCgkgIENNYWtlRGV0ZXJtaW5lQ1hYQ29tcGlsZXIuY21ha2U6IEJVRzogZml4IGhhbmRsaW5nIG9mIENYWAoKMjAwMi0xMS0xOSAwOToxMiAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBmaXggd2FybmluZwoKMjAwMi0xMS0xOSAwOTowMSAgbWFydGluawoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBmaXggaW4gd2FybmluZwoKMjAwMi0xMS0xOCAxNjoyOSAgYW5keQoKCSogU291cmNlL0N1cnNlc0RpYWxvZy86IGNtQ3Vyc2VzTWFpbkZvcm0uY3h4LCBjbUN1cnNlc01haW5Gb3JtLmg6CgkgIEluaXRpYWwgYWRkIG9mIHByb2dyZXNzCgoyMDAyLTExLTE4IDE1OjE0ICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogQ01ha2VCYWNrd2FyZENvbXBhdGliaWxpdHlDLmNtYWtlLCBGaW5kVGhyZWFkcy5jbWFrZToKCSAgQlVHOiBmaXggZm9yIHRocmVhZCBhbmQgY2FjaGUgb3ZlcnJpZGUKCjIwMDItMTEtMTggMTA6NTIgIGFuZHkKCgkqIE1vZHVsZXMvOiBDaGVja0Z1bmN0aW9uRXhpc3RzLmNtYWtlLCBDaGVja0luY2x1ZGVGaWxlLmNtYWtlLAoJICBDaGVja0xpYnJhcnlFeGlzdHMuY21ha2UsIENoZWNrU2l6ZU9mLmNtYWtlLAoJICBUZXN0Rm9yQU5TSUZvclNjb3BlLmNtYWtlLCBUZXN0Rm9yQU5TSVN0cmVhbUhlYWRlcnMuY21ha2UsCgkgIFRlc3RGb3JTVEROYW1lc3BhY2UuY21ha2U6IEFkZCBtb3JlIG1lc3NhZ2VzLCBtYWtlIG1lc3NhZ2VzIGxvb2sKCSAgdGhlIHNhbWUsIGFkZCBjaGVja3MgaWYgdGVzdCB3YXMgYWxyZWFkeSBzdWNjZXNzZnVsbAoKMjAwMi0xMS0xOCAxMDo1MSAgYW5keQoKCSogTW9kdWxlcy9DTWFrZVN5c3RlbVNwZWNpZmljSW5mb3JtYXRpb24uY21ha2U6IElmIHN5c3RlbSBkZXRlY3Rpb24KCSAgZmFpbHMsIG1ha2UgY29weSBvZiBDTWFrZUNhY2hlCgoyMDAyLTExLTE4IDA5OjA4ICBob2ZmbWFuCgoJKiBUZXN0cy9TeXN0ZW1JbmZvcm1hdGlvbi9TeXN0ZW1JbmZvcm1hdGlvbi5pbjogYWRkIHByaW50IGZvcgoJICBjb21waWxlciBpcyBnbnUKCjIwMDItMTEtMTcgMTc6MjggIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtYWtlLmN4eCwgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IGZpeCBzb21lCgkgIGNvbXBpbGVyIHdhcm5pbmdzIGhvcGVmdWxseQoKMjAwMi0xMS0xNSAxNzo0NSAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWJjYzMyLmNtYWtlLAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogZml4IGZvciBib3JsYW5kIHJ1bgoJICB0aW1lIGRsbAoKMjAwMi0xMS0xNSAxNjowMCAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9TdW5PUy5jbWFrZTogZml4IGZvciBzdW4KCjIwMDItMTEtMTUgMTM6MTcgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IGZpeGVkIGJhZCBzb3VyY2UgZGlyZWN0b3J5IGJ1ZwoKMjAwMi0xMS0xNSAxMjo1NCAgbWFydGluawoKCSogU291cmNlL2NtSWZDb21tYW5kLmN4eDogIGZpeGVkIGNvbXBpbGVyIHdhcm5pbmcKCjIwMDItMTEtMTUgMTA6MDcgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlOiBFTkg6IGFkZCBiYWNrCgkgIGluc3RhbGwgcHJlZml4CgoyMDAyLTExLTE1IDA5OjMwICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRUaHJlYWRzLmNtYWtlOiBmaXggdGhyZWFkIGxvZ2ljCgoyMDAyLTExLTE1IDA5OjE2ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlU3lzdGVtU3BlY2lmaWNJbmZvcm1hdGlvbi5jbWFrZTogRU5IOiBhZGQgQ0ZMQUdTIGFuZAoJICBDWFhGTEFHUwoKMjAwMi0xMS0xNSAwNzo0MiAgYW5keQoKCSogU291cmNlL2NtYWtlbWFpbi5jeHg6IE9vcHMsIHN0ZCBuYW1lc3BhY2UKCjIwMDItMTEtMTQgMTc6MTIgIGFuZHkKCgkqIFNvdXJjZS9jbWFrZW1haW4uY3h4OiBBZGQgUHJvZ3Jlc3Mgc3VwcG9ydAoKMjAwMi0xMS0xNCAxNjoyOSAgYmVyawoKCSogTW9kdWxlcy9QbGF0Zm9ybS9IUC1VWC5jbWFrZTogdGVtcCBmaXggZm9yIGhwCgoyMDAyLTExLTE0IDE2OjI5ICBob2ZmbWFuCgoJKiBTb3VyY2UvVE9ETzogW25vIGxvZyBtZXNzYWdlXQoKMjAwMi0xMS0xNCAxNjoxMiAgYmVyawoKCSogTW9kdWxlcy9QbGF0Zm9ybS9IUC1VWC5jbWFrZTogZml4IGZsYWdzIGZvciBocAoKMjAwMi0xMS0xNCAxNDowNiAgYW5keQoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBGaXggY29tcGlsZSBmbGFncyBvbiBjCgkgIGZpbGVzIGluIHN0YXRpYyBsaW9icmFyaWVzIG9uIHdpbmRvd3MKCjIwMDItMTEtMTQgMTE6MzMgIGFuZHkKCgkqIE1vZHVsZXMvQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2UsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBmaXggZmxhZ3MgZm9yIGMKCSAgY29tcGlsZXIgb24gd2luZG93cwoKMjAwMi0xMS0xNCAxMToxNiAgbWFydGluawoKCSogU291cmNlLzogY21DUGx1Z2luQVBJLmN4eCwgY21DUGx1Z2luQVBJLmg6IGFkZGVkIGFub3RoZXIgZnVuYwoKMjAwMi0xMS0xNCAxMTowMyAgbWFydGluawoKCSogU291cmNlLzogY21DUGx1Z2luQVBJLmgsIGNtQ1BsdWdpbkFQSS5jeHg6IGFkZGVkIGFub3RoZXIgZnVuYwoKMjAwMi0xMS0xNCAwOTozOCAgYW5keQoKCSogTW9kdWxlcy86IEZpbmRKTkkuY21ha2UsIEZpbmRKYXZhLmNtYWtlLCBGaW5kUHl0aG9uTGlicy5jbWFrZToKCSAgQ2xlYW4gZmluZCBmb3IgUHl0aG9uLCBhZGQgZmluZCBmb3IgcHl0aG9uIDIuMiBvbiB3aW5kb3dzLAoJICBjbGVhbnVwIGphdmEgb24gd2luZG93cyBhbmQgYWRkIGphdmEgMS40IHN1cHBvcnQKCjIwMDItMTEtMTQgMDk6MzggIGJlcmsKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQWRkZWQgbWlzc2luZyBzcGFjZS4KCjIwMDItMTEtMTQgMDk6MzcgIGFuZHkKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRml4IGJ1aWxkaW5nIG9uIE5NYWtlLgoJICBVc2Ugc2hvcnQgcGF0aHMKCjIwMDItMTEtMTQgMDg6NTkgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1iY2MzMi5jbWFrZTogQlVHOiBmaXggZm9yIG1pc3NpbmcgdGVtcAoJICBmaWxlIHZhcmlhYmxlCgoyMDAyLTExLTEzIDIzOjM2ICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtYmNjMzIuY21ha2UsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogIHJlb3JkZXIgdFdSIHNvIHRoYXQgaXQKCSAgZG9lcyBub3QgY3Jhc2ggd2l0aCBzaGFyZWQKCjIwMDItMTEtMTMgMjA6MTQgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogYWRkIHN1cHBvcnQgZm9yIGJvcmxhbmQKCSAgcnVuIHRpbWUgZmxhZyBmb3Igc2hhcmVkIGJ1aWxkcwoKMjAwMi0xMS0xMyAyMDoxMSAgaG9mZm1hbgoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWJjYzMyLmNtYWtlOiBmaXggc2hhcmVkIGJ1aWxkcyBvbgoJICBib3JsYW5kIGFuZCBhZGQgZGVidWcgc3R1ZmYgZm9yIG1ha2VmaWxlcwoKMjAwMi0xMS0xMyAxODoyNyAgaG9mZm1hbgoKCSogU291cmNlLzogY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuaDogQlVHOiBmaXggZm9yIGJ1aWxkIG91dCBvZiBkaXIgZm9yCgkgIHdpbmRvd3MKCjIwMDItMTEtMTMgMTY6MzEgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBDaGVja0Z1bmN0aW9uRXhpc3RzLmNtYWtlLCBDaGVja0luY2x1ZGVGaWxlLmNtYWtlLAoJICBDaGVja0xpYnJhcnlFeGlzdHMuY21ha2UsIENoZWNrU2l6ZU9mLmNtYWtlOiBFTkg6IGFkZCBzdGF0dXMKCSAgbWVzc2FnZXMKCjIwMDItMTEtMTMgMTU6NTkgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbU1ha2VmaWxlLmN4eCwKCSAgY21NYWtlZmlsZS5oLCBjbU1lc3NhZ2VDb21tYW5kLmN4eCwgY21NZXNzYWdlQ29tbWFuZC5oOiBFTkg6CgkgIHNwYWNlIGZpeGVzIGFuZCBhZGQgYSBzdGF0dXMgb3B0aW9uIHRvIG1lc3NhZ2UgY29tbWFuZAoKMjAwMi0xMS0xMyAxNTozMiAgbWFydGluawoKCSogTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWJjYzMyLmNtYWtlOiBFTkg6IG1vdmUgLVAgZmxhZyBmcm9tCgkgIGN4eGZsYWdzIHRvIHRoZSBjb21waWxlIGxpbmUgZm9yIGN4eCBmaWxlcwoKMjAwMi0xMS0xMyAxNToyMCAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbWFrZS5jeHgsIGNtYWtlLmg6CgkgIEVOSDogY2hlY2sgdG8gbWFrZSBzdXJlIGNtYWtlIG1hdGNoZXMgdGhlIGNtYWtlIHVzZWQgdG8gZ2VuZXJhdGUKCSAgdGhlIGNhY2hlCgoyMDAyLTExLTEzIDE0OjUxICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtYmNjMzIuY21ha2U6IEVOSDogdXNlIGNvcnJlY3QgcnVuIHRpbWUKCSAgbGlicmFyeSBmb3IgYm9ybGFuZAoKMjAwMi0xMS0xMyAxNDozMSAgaG9mZm1hbgoKCSogU291cmNlLzogY21DYWNoZU1hbmFnZXIuY3h4LCBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6CgkgIEVOSDogZm9yY2UgYSBnbG9iYWwgZ2VuZXJhdGUgaWYgdGhlIGNhY2hlIHZlcnNpb24gZG9lcyBub3QgbWF0Y2gKCSAgdGhlIHJ1bm5pbmcgY21ha2UKCjIwMDItMTEtMTMgMTM6MTkgIGJlcmsKCgkqIFNvdXJjZS9NYWtlZmlsZS5pbjogQlVHOiBhZGQgbWlzc2luZyBkZXBlbmQgcnVsZXMgZm9yIGhwIG1ha2UKCjIwMDItMTEtMTMgMTE6NDkgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFgxMS5jbWFrZTogZml4IGZvciBuc2wgbGlicmFyeSBhbmQgWDExCgoyMDAyLTExLTEzIDExOjM2ICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogQ01ha2VCYWNrd2FyZENvbXBhdGliaWxpdHlDLmNtYWtlLCBGaW5kWDExLmNtYWtlOiBmaXgKCSAgZm9yIG5zbCBsaWJyYXJ5IGFuZCBYMTEKCjIwMDItMTEtMTMgMTE6MjUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1iY2MzMi5jbWFrZTogQlVHOiBmaXggb3JkZXIgb2YgbGluayBsaW5lCgkgIGZvciBjcmVhdGluZyBzaGFyZWQgbGlicmFyaWVzCgoyMDAyLTExLTEyIDE5OjM5ICBraW5nCgoJKiBNb2R1bGVzL0NoZWNrRnVuY3Rpb25FeGlzdHMuY21ha2U6IEJVRzogRml4ZWQgZG9jIHN0cmluZyBvbgoJICBnZW5lcmF0ZWQgdmFyaWFibGUuCgoyMDAyLTExLTEyIDE2OjU4ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lQ1hYQ29tcGlsZXIuY21ha2UsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBmaXggcGF0aCBwcm9ibGVtcwoKMjAwMi0xMS0xMiAxNjoyNyAgd2lsbAoKCSogTW9kdWxlcy9GaW5kWDExLmNtYWtlOiBCYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4gQW5keSBhbmQgQmlsbAoJICBtYWRlIG1lIGFkZCBzb2NrZXQgbGlicmFyeS4KCjIwMDItMTEtMTIgMTU6MjQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1iY2MzMi5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlLAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogYWRkIC5kZWYgZmlsZQoJICBzdXBwb3J0CgoyMDAyLTExLTEyIDE0OjQ4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogY2hhbmdlIHRvIG5ldwoJICB2YXJpYWJsZXMKCjIwMDItMTEtMTIgMTQ6MTkgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBDTWFrZUJhY2t3YXJkQ29tcGF0aWJpbGl0eUMuY21ha2UsCgkgIENoZWNrTGlicmFyeUV4aXN0cy5jbWFrZSwgRmluZFRocmVhZHMuY21ha2U6IGFkZCBmaW5kIHRocmVhZHMKCSAgY2hlY2sKCjIwMDItMTEtMTIgMTQ6MTggIGhvZmZtYW4KCgkqIFRlc3RzL1N5c3RlbUluZm9ybWF0aW9uLzogQ01ha2VMaXN0cy50eHQsIER1bXBJbmZvcm1hdGlvbi5jeHgsCgkgIER1bXBJbmZvcm1hdGlvbi5oLmluLCBTeXN0ZW1JbmZvcm1hdGlvbi5pbjogY2xlYW4gdXAgdGVzdCBmb3IKCSAgaHRtbCBvdXRwdXQKCjIwMDItMTEtMTIgMTM6MDYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBmaXggcmVnIGV4cHJlc3Npb24KCjIwMDItMTEtMTIgMTI6NDcgIGtpbmcKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogW25vIGxvZyBtZXNzYWdlXQoKMjAwMi0xMS0xMiAxMDo0NyAgYmFycmUKCgkqIE1vZHVsZXMvRmluZE9wZW5HTC5jbWFrZTogRklYOiBtaW5vciBmaXgsIE9QRU5HTF9JTkNMVURFX1BBVEggd2FzCgkgIHNldCAyIHRpbWVzCgoyMDAyLTExLTEyIDA5OjMzICBob2ZmbWFuCgoJKiBUZXN0cy9TeXN0ZW1JbmZvcm1hdGlvbi9EdW1wSW5mb3JtYXRpb24uY3h4OiBbbm8gbG9nIG1lc3NhZ2VdCgoyMDAyLTExLTEyIDA5OjMxICBob2ZmbWFuCgoJKiBUZXN0cy9TeXN0ZW1JbmZvcm1hdGlvbi9DTWFrZUxpc3RzLnR4dDogZml4IHByb2plY3QgbmFtZQoKMjAwMi0xMS0xMiAwOToxMiAgaG9mZm1hbgoKCSogTW9kdWxlcy86IENNYWtlU3lzdGVtU3BlY2lmaWNJbmZvcm1hdGlvbi5jbWFrZSwKCSAgUGxhdGZvcm0vQ1lHV0lOLmNtYWtlLCBQbGF0Zm9ybS9XaW5kb3dzLWJjYzMyLmNtYWtlLAoJICBQbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlOiBTZXQgQ01BS0VfQlVJTERfVE9PTAoKMjAwMi0xMS0xMSAxODoxMCAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZVN5c3RlbVNwZWNpZmljSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1iY2MzMi5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9UT0RPLCBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmg6IEVOSDogZml4IHVwIHNldmVyYWwKCSAgcHJvYmxlbXMgd2l0aCBuZXcgc3R1ZmYKCjIwMDItMTEtMTEgMTg6MDcgIGhvZmZtYW4KCgkqIFRlc3RzL1N5c3RlbUluZm9ybWF0aW9uLzogQ01ha2VMaXN0cy50eHQsIER1bXBJbmZvcm1hdGlvbi5jeHgsCgkgIER1bXBJbmZvcm1hdGlvbi5oLmluLCBTeXN0ZW1JbmZvcm1hdGlvbi5pbjogbmV3IHRlc3QKCjIwMDItMTEtMTEgMTc6MDAgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vT1NGMS5jbWFrZTogRml4IGZvciBPU0YKCjIwMDItMTEtMTEgMTM6MTUgIGFuZHkKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRml4IHJlZ3VsYXIgZXhwcmVzc2lvbnMKCSAgdG8gYmUgYWJsZSB0byBoYW5kbGUgd2luZG93cyBsaWJyYXJpZXMKCjIwMDItMTEtMTEgMTI6MzEgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VCYWNrd2FyZENvbXBhdGliaWxpdHlDLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlQ0NvbXBpbGVyLmNtYWtlLmluLAoJICBNb2R1bGVzL0NNYWtlQ1hYQ29tcGlsZXIuY21ha2UuaW4sIE1vZHVsZXMvQ01ha2VTeXN0ZW0uY21ha2UuaW4sCgkgIE1vZHVsZXMvQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL0hQLVVYLmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL0lSSVguY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vSVJJWDY0LmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtYmNjMzIuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9nY2MuY21ha2UsCgkgIFNvdXJjZS9UT0RPLCBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBjbGVhbiB1cAoJICBmbGFncyB3aXRoIF9pbml0IGZsYWdzCgoyMDAyLTExLTExIDExOjQzICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogQ01ha2VMaXN0cy50eHQsIFBsYXRmb3JtL0NNYWtlTGlzdHMudHh0OiBhZGQgaW5zdGFsbAoJICBzdHVmZiBmb3IgcGxhdGZvcm0gZGlyZWN0b3J5CgoyMDAyLTExLTExIDA5OjExICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0Rhcndpbi5jbWFrZTogRU5IOiBmaXggZm9yIGRhcndpbiBtb2R1bGVzCgoyMDAyLTExLTEwIDEwOjAyICBob2ZmbWFuCgoJKiBNb2R1bGVzL1BsYXRmb3JtLzogSFAtVVguY21ha2UsIElSSVguY21ha2UsIElSSVg2NC5jbWFrZSwKCSAgV2luZG93cy1iY2MzMi5jbWFrZSwgV2luZG93cy1jbC5jbWFrZSwgZ2NjLmNtYWtlOiBCVUc6IGZpeAoJICBzZXR0aW5nIG9mIGMgZmxhZ3MKCjIwMDItMTEtMDkgMTM6NDMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvUGxhdGZvcm0vOiBIUC1VWC5jbWFrZSwgSVJJWC5jbWFrZSwgSVJJWDY0LmNtYWtlLAoJICBXaW5kb3dzLWJjYzMyLmNtYWtlLCBXaW5kb3dzLWNsLmNtYWtlLCBnY2MuY21ha2U6ICBmaXggZm9yCgkgIGN4eGZsYWdzCgoyMDAyLTExLTA4IDE4OjA3ICBraW5nCgoJKiBNb2R1bGVzL1BsYXRmb3JtL0xpbnV4LWNvbW8uY21ha2U6IEVOSDogQWRkaW5nIHN1cHBvcnQgZm9yIGNvbWVhdQoJICBDKysgY29tcGlsZXIuCgoyMDAyLTExLTA4IDE4OjA2ICBraW5nCgoJKiBNb2R1bGVzLzogQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlLAoJICBQbGF0Zm9ybS9IUC1VWC5jbWFrZSwgUGxhdGZvcm0vSVJJWC5jbWFrZSwgUGxhdGZvcm0vSVJJWDY0LmNtYWtlLAoJICBQbGF0Zm9ybS9MaW51eC5jbWFrZSwgUGxhdGZvcm0vV2luZG93cy1iY2MzMi5jbWFrZSwKCSAgUGxhdGZvcm0vV2luZG93cy1jbC5jbWFrZSwgUGxhdGZvcm0vZ2NjLmNtYWtlOiBFTkg6IE1vdmVkIGNhY2hpbmcKCSAgb2YgQypfRkxBR1MqIHNldHRpbmdzIGRvd24gdG8KCSAgQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlLiAgVGhlIHBsYXRmb3JtIGZpbGVzIGNhbiBzZXQKCSAgdGhlIGRlZmF1bHRzIG9uIHRoZSBmaXJzdCBydW4sIGFuZCB0aGVuIHRoZSBzZXR0aW5ncyBhcmUgY2FjaGVkCgkgIGF0IHRoZSBlbmQuCgoyMDAyLTExLTA4IDE4OjA1ICBraW5nCgoJKiBTb3VyY2UvY21TZXRDb21tYW5kLmN4eDogQlVHOiBBIHZhcmlhYmxlIGlzIG5vdCBpbiB0aGUgY2FjaGUgaWYKCSAgaXQgaXMgVU5JTklUSUFMSVpFRC4KCjIwMDItMTEtMDggMTg6MDUgIGtpbmcKCgkqIFNvdXJjZS9jbUdsb2JhbENvZGVXYXJyaW9yR2VuZXJhdG9yLmN4eDogRVJSOiBSZW1vdmVkIHVzZSBvZgoJICBOVUxMLgoKMjAwMi0xMS0wOCAxODowNSAga2luZwoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFUlI6IEFkZGVkIG1pc3NpbmcgaW5jbHVkZS4KCjIwMDItMTEtMDggMTc6MjQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBDTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgQ01ha2VEZXRlcm1pbmVDWFhDb21waWxlci5jbWFrZTogc3RvcmUgdGhlIGNvbXBpbGVyIGluIHRoZSBjYWNoZQoKMjAwMi0xMS0wOCAxNTo0NiAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIE1vZHVsZXMvQ01ha2VCYWNrd2FyZENvbXBhdGliaWxpdHlDWFguY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VDQ29tcGlsZXIuY21ha2UuaW4sCgkgIE1vZHVsZXMvQ01ha2VDWFhDb21waWxlci5jbWFrZS5pbiwKCSAgTW9kdWxlcy9DTWFrZURlZmF1bHRNYWtlUnVsZVZhcmlhYmxlcy5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lU3lzdGVtLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlUHJpbnRTeXN0ZW1JbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVN5c3RlbS5jbWFrZS5pbiwKCSAgTW9kdWxlcy9DTWFrZVN5c3RlbVNwZWNpZmljSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ1lHV0lOLmNtYWtlLCBNb2R1bGVzL0NoZWNrSW5jbHVkZUZpbGUuY3h4LmluLAoJICBNb2R1bGVzL0NoZWNrSW5jbHVkZUZpbGVDWFguY21ha2UsCgkgIE1vZHVsZXMvVGVzdEZvckFOU0lGb3JTY29wZS5jbWFrZSwKCSAgTW9kdWxlcy9UZXN0Rm9yQW5zaUZvclNjb3BlLmN4eCwKCSAgTW9kdWxlcy9UZXN0Rm9yU1RETmFtZXNwYWNlLmNtYWtlLAoJICBNb2R1bGVzL1Rlc3RGb3JTVEROYW1lc3BhY2UuY3h4LCBNb2R1bGVzL1dpbmRvd3MuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vQUlYLmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL0JTRE9TLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL0NZR1dJTi5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9EYXJ3aW4uY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vRnJlZUJTRC5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9IUC1VWC5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9JUklYLmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL0lSSVg2NC5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9MaW51eC5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9NUC1SQVMuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vTmV0QlNELmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL09TRjEuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vT3BlbkJTRC5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9SSVNDb3MuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vU0NPX1NWLmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL1NJTklYLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1N1bk9TLmNtYWtlLCBNb2R1bGVzL1BsYXRmb3JtL1RydWU2NC5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9VTFRSSVguY21ha2UsIE1vZHVsZXMvUGxhdGZvcm0vVU5JWF9TVi5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9Vbml4V2FyZS5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9XaW5kb3dzLWJjYzMyLmNtYWtlLAoJICBNb2R1bGVzL1BsYXRmb3JtL1dpbmRvd3MtY2wuY21ha2UsCgkgIE1vZHVsZXMvUGxhdGZvcm0vV2luZG93cy5jbWFrZSwgTW9kdWxlcy9QbGF0Zm9ybS9YZW5peC5jbWFrZSwKCSAgTW9kdWxlcy9QbGF0Zm9ybS9nY2MuY21ha2UsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgU291cmNlL1RPRE8sCgkgIFNvdXJjZS9jbUV4ZWNQcm9ncmFtQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbEJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxOTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtR2xvYmFsTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuaCwgU291cmNlL2NtSWZDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtTG9hZENvbW1hbmRDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5oLCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbVN0YW5kYXJkSW5jbHVkZXMuaCwgU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4LAoJICBTb3VyY2UvY21TeXN0ZW1Ub29scy5oLCBTb3VyY2UvY21UcnlDb21waWxlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVdpbjMyUHJvY2Vzc0V4ZWN1dGlvbi5jeHgsCgkgIFNvdXJjZS9jbVdpbjMyUHJvY2Vzc0V4ZWN1dGlvbi5oLCBTb3VyY2UvY3Rlc3QuY3h4OiBDb21wbGV0ZQoJICByZXdvcmsgb2YgbWFrZWZpbGUgZ2VuZXJhdG9ycyBleHBlY3QgdHJvdWJsZQoKMjAwMi0xMS0wOCAxMzoyOCAgaG9mZm1hbgoKCSogTW9kdWxlcy86IENNYWtlQ0NvbXBpbGVyLmNtYWtlLmluLCBDTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgQ01ha2VEZXRlcm1pbmVDWFhDb21waWxlci5jbWFrZSwKCSAgQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlLAoJICBQbGF0Zm9ybS9XaW5kb3dzLWJjYzMyLmNtYWtlLCBQbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlOiBbbm8gbG9nCgkgIG1lc3NhZ2VdCgoyMDAyLTExLTA4IDExOjMxICBob2ZmbWFuCgoJKiBTb3VyY2UvY3Rlc3QuY3h4OiBmaXggY3Rlc3QKCjIwMDItMTEtMDggMTE6MzAgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBBSVguY21ha2UsIEJTRE9TLmNtYWtlLAoJICBDTWFrZVN5c3RlbVNwZWNpZmljSW5mb3JtYXRpb24uY21ha2UsIENZR1dJTi5jbWFrZSwgRGFyd2luLmNtYWtlLAoJICBGcmVlQlNELmNtYWtlLCBIUC1VWC5jbWFrZSwgSVJJWC5jbWFrZSwgSVJJWDY0LmNtYWtlLAoJICBMaW51eC5jbWFrZSwgTVAtUkFTLmNtYWtlLCBOZXRCU0QuY21ha2UsIE9TRjEuY21ha2UsCgkgIE9wZW5CU0QuY21ha2UsIFJJU0Nvcy5jbWFrZSwgU0NPX1NWLmNtYWtlLCBTSU5JWC5jbWFrZSwKCSAgU3VuT1MuY21ha2UsIFRydWU2NC5jbWFrZSwgVUxUUklYLmNtYWtlLCBVTklYX1NWLmNtYWtlLAoJICBVbml4V2FyZS5jbWFrZSwgV2luZG93cy1iY2MzMi5jbWFrZSwgV2luZG93cy1jbC5jbWFrZSwKCSAgV2luZG93cy5jbWFrZSwgWGVuaXguY21ha2UsIGdjYy5jbWFrZSwgUGxhdGZvcm0vQUlYLmNtYWtlLAoJICBQbGF0Zm9ybS9CU0RPUy5jbWFrZSwgUGxhdGZvcm0vQ1lHV0lOLmNtYWtlLAoJICBQbGF0Zm9ybS9EYXJ3aW4uY21ha2UsIFBsYXRmb3JtL0ZyZWVCU0QuY21ha2UsCgkgIFBsYXRmb3JtL0hQLVVYLmNtYWtlLCBQbGF0Zm9ybS9JUklYLmNtYWtlLCBQbGF0Zm9ybS9JUklYNjQuY21ha2UsCgkgIFBsYXRmb3JtL0xpbnV4LmNtYWtlLCBQbGF0Zm9ybS9NUC1SQVMuY21ha2UsCgkgIFBsYXRmb3JtL05ldEJTRC5jbWFrZSwgUGxhdGZvcm0vT1NGMS5jbWFrZSwKCSAgUGxhdGZvcm0vT3BlbkJTRC5jbWFrZSwgUGxhdGZvcm0vUklTQ29zLmNtYWtlLAoJICBQbGF0Zm9ybS9TQ09fU1YuY21ha2UsIFBsYXRmb3JtL1NJTklYLmNtYWtlLAoJICBQbGF0Zm9ybS9TdW5PUy5jbWFrZSwgUGxhdGZvcm0vVHJ1ZTY0LmNtYWtlLAoJICBQbGF0Zm9ybS9VTFRSSVguY21ha2UsIFBsYXRmb3JtL1VOSVhfU1YuY21ha2UsCgkgIFBsYXRmb3JtL1VuaXhXYXJlLmNtYWtlLCBQbGF0Zm9ybS9XaW5kb3dzLWJjYzMyLmNtYWtlLAoJICBQbGF0Zm9ybS9XaW5kb3dzLWNsLmNtYWtlLCBQbGF0Zm9ybS9XaW5kb3dzLmNtYWtlLAoJICBQbGF0Zm9ybS9YZW5peC5jbWFrZSwgUGxhdGZvcm0vZ2NjLmNtYWtlOiBtb3ZlIHRvIHBsYXRmb3JtCgkgIGRpcmVjdG9yeQoKMjAwMi0xMS0wOCAxMTowOSAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZVN5c3RlbVNwZWNpZmljSW5mb3JtYXRpb24uY21ha2U6IGhwIGZpeGVzCgoyMDAyLTExLTA4IDEwOjQwICBob2ZmbWFuCgoJKiBNb2R1bGVzL0hQLVVYLmNtYWtlOiBocCBmaXhlcwoKMjAwMi0xMS0wOCAxMDoyOSAgaG9mZm1hbgoKCSogTW9kdWxlcy9IUC1VWC5jbWFrZTogaHAgZml4ZXMKCjIwMDItMTEtMDggMTA6MjIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL0hQLVVYLmNtYWtlLCBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IGhwCgkgIGZpeGVzCgoyMDAyLTExLTA4IDA4OjQ3ICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogQ01ha2VCYWNrd2FyZENvbXBhdGliaWxpdHlDWFguY21ha2UsIEhQLVVYLmNtYWtlLAoJICBUZXN0Rm9yQU5TSUZvclNjb3BlLmNtYWtlOiBFTkg6IGZpeCBmb3IgaHAgYW5kIHJlbW92ZSBzb21lCgkgIG1lc3NhZ2VzCgoyMDAyLTExLTA3IDE3OjQ1ICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogQ01ha2VCYWNrd2FyZENvbXBhdGliaWxpdHlDWFguY21ha2UsCgkgIFRlc3RGb3JBTlNJRm9yU2NvcGUuY21ha2UsIFRlc3RGb3JBbnNpRm9yU2NvcGUuY3h4LAoJICBUZXN0Rm9yU1RETmFtZXNwYWNlLmN4eDogW25vIGxvZyBtZXNzYWdlXQoKMjAwMi0xMS0wNyAxNzoyNiAgaG9mZm1hbgoKCSogTW9kdWxlcy9UZXN0Rm9yQU5TSUZvclNjb3BlLmNtYWtlOiBbbm8gbG9nIG1lc3NhZ2VdCgoyMDAyLTExLTA3IDE3OjIxICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogQ01ha2VCYWNrd2FyZENvbXBhdGliaWxpdHlDWFguY21ha2UsIEhQLVVYLmNtYWtlLAoJICBUZXN0Rm9yQW5zaUZvclNjb3BlLmN4eCwgVGVzdEZvclNURE5hbWVzcGFjZS5jbWFrZSwKCSAgVGVzdEZvclNURE5hbWVzcGFjZS5jeHg6IFtubyBsb2cgbWVzc2FnZV0KCjIwMDItMTEtMDcgMTE6NDMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvV2luZG93cy1jbC5jbWFrZSwgU291cmNlL2NtRXhlY1Byb2dyYW1Db21tYW5kLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiB3aW4zMiBhcHBzIGFuZCBjcmFzaCBvbgoJICBzdW4KCjIwMDItMTEtMDcgMDk6MjIgIGtpbmcKCgkqIFNvdXJjZS9jbVN0cmluZ0NvbW1hbmQuY3h4OiBFUlI6IEZpeGVkIHNpZ25lZC91bnNpZ25lZCB3YXJuaW5ncy4KCjIwMDItMTEtMDcgMDk6MTUgIGFuZHkKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvY21DdXJzZXNNYWluRm9ybS5jeHg6IFJldmVydAoKMjAwMi0xMS0wNyAwOTowNCAgYW5keQoKCSogU291cmNlLzogY21ha2UuY3h4LCBjbWFrZS5oOiBSZXZlcnQgYmFjawoKMjAwMi0xMS0wNiAyMzoyNSAgaG9mZm1hbgoKCSogU291cmNlLzogY21HbG9iYWxOTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IGNsZWFuIHVwIGVjaG9zCgoyMDAyLTExLTA2IDIzOjA2ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0NNYWtlRGVmYXVsdE1ha2VSdWxlVmFyaWFibGVzLmNtYWtlLAoJICBNb2R1bGVzL1dpbmRvd3MtYmNjMzIuY21ha2UsCgkgIFNvdXJjZS9jbUdsb2JhbEJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuaDogYm9ybGFuZCBtb3N0bHkgd29ya2luZywKCSAgdGVzdHMgYXJlIHBhc3NpbmcsIG5vIGNvbW1hbmQgdG8gZmlsZSBzdHVmZiB5ZXQKCjIwMDItMTEtMDYgMTg6NDAgIGtpbmcKCgkqIE1vZHVsZXMvRmluZElUSy5jbWFrZTogRU5IOiBFbmhhbmNlZCBGaW5kSVRLIHN1cHBvcnRpbmcgdXNlIG9mCgkgIElUSyBmcm9tIGFuIGluc3RhbGwgdHJlZSBvciBhIGJ1aWxkIHRyZWUuICBPbmx5IG9uZSBjYWNoZSBlbnRyeQoJICBpcyBicm91Z2h0IGludG8gdXNlcidzIHByb2plY3QsIGNhbGxlZCAiSVRLX0RJUiIuICBUaGlzIGlzIHRoZQoJICBsb2NhdGlvbiBvZiBhbiBJVEtDb25maWcuY21ha2UgZmlsZSBmcm9tIHdoaWNoIG90aGVyIHNldHRpbmdzIGFyZQoJICBsb2FkZWQuCgoyMDAyLTExLTA2IDE4OjA1ICBraW5nCgoJKiBTb3VyY2UvY21TdHJpbmdDb21tYW5kLmN4eCwgVGVzdHMvQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvQ01ha2VMaXN0cy50eHQ6IEJVRzogRml4ZWQKCSAgU1RSSU5HKFJFR0VYIFJFUExBQ0UgLi4uKSBhbmQgYWRkZWQgYmV0dGVyIHRlc3QuCgoyMDAyLTExLTA2IDE3OjM1ICBraW5nCgoJKiBTb3VyY2UvY21Db21tYW5kcy5jeHgsIFNvdXJjZS9jbVN0cmluZ0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21TdHJpbmdDb21tYW5kLmgsIFRlc3RzL0NvbXBsZXgvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0OiBFTkg6IEFkZGVkIFNUUklORwoJICBjb21tYW5kLgoKMjAwMi0xMS0wNiAxNzowNCAgaG9mZm1hbgoKCSogTW9kdWxlcy9XaW5kb3dzLWJjYzMyLmNtYWtlOiBib3JsYW5kIGNvbmZpZwoKMjAwMi0xMS0wNiAxNjo1OSAga2luZwoKCSogU291cmNlLzogY21SZWd1bGFyRXhwcmVzc2lvbi5jeHgsIGNtUmVndWxhckV4cHJlc3Npb24uaDogRU5IOgoJICBjb21waWxlIG1ldGhvZCBub3cgcmV0dXJucyB3aGV0aGVyIGNvbXBpbGF0aW9uIHN1Y2NlZWRlZC4KCjIwMDItMTEtMDYgMTY6MzAgIGhvZmZtYW4KCgkqIE1vZHVsZXMvV2luZG93cy1jbC5jbWFrZSwKCSAgU291cmNlL2NtR2xvYmFsQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5oOiBib3JsYW5kIGdldHRpbmcgY2xvc2VyCgoyMDAyLTExLTA2IDE2OjA1ICBhbmR5CgoJKiBUZW1wbGF0ZXMvQXBwbGVJbmZvLnBsaXN0OiBVc2UgQ01ha2UgaWNvbiBvbiBNYWMKCjIwMDItMTEtMDYgMTQ6NTYgIGFuZHkKCgkqIENNYWtlSWNvbi5pY25zOiBBZGQgTWFjIGljb24KCjIwMDItMTEtMDYgMTQ6NTQgIGFuZHkKCgkqIENNYWtlSWNvbi5pY25zOiBBZGQgQ01ha2UgaWNvbgoKMjAwMi0xMS0wNiAxMzowNiAgYW5keQoKCSogU291cmNlLzogY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaCwgY3Rlc3QuY3h4OiBNb3ZlIHRoZQoJICBoaS1yZXMgdGltZSB0byBzeXN0ZW0gdG9vbHMKCjIwMDItMTEtMDYgMTI6MDQgIGFuZHkKCgkqIFNvdXJjZS86IGNtYWtlLmN4eCwgY21ha2UuaCwgQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTWFpbkZvcm0uY3h4OgoJICBJbiBjZXJ0YWluIGNhc2VzLCB0cnkgdG8gZ3Vlc3MgdGhlIHNvdXJjZSBkaXJlY3RvcnksIHNvIHRoYXQgeW91CgkgIGNhbiBydW4gY21ha2Ugb3IgY2NtYWtlIHdpdGhvdXQgc3BlY2lmeWluZyBzb3VyY2UgZGlyCgoyMDAyLTExLTA2IDExOjM2ICBhbmR5CgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzUGF0aFdpZGdldC5jeHg6CgkgIFJlbW92ZSB3YXJuaW5nCgoyMDAyLTExLTA2IDExOjIwICBiYXJyZQoKCSogU291cmNlL2NtTWFrZURlcGVuZC5jeHg6IEZJWDogYSAvIHdhcyBhcHBlbmRlZCB3aXRob3V0IGNoZWNraW5nCgkgIGlmIHRoZXJlIHdhc24ndCBvbmUgYWxyZWFkeS4KCjIwMDItMTEtMDYgMDg6NTIgIGFuZHkKCgkqIFRlc3RzL1gxMS9YMTEuYzogVHJ5IHRvIGZpeCB0ZXN0CgoyMDAyLTExLTA1IDIzOjA3ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBUT0RPLCBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogcmVtb3ZlIHdhcm5pbmcKCjIwMDItMTEtMDUgMjI6NTUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBDTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwgSVJJWDY0LmNtYWtlOiByYW5saWIKCSAgdHJvdWJsZQoKMjAwMi0xMS0wNSAyMjo0NCAgaG9mZm1hbgoKCSogTW9kdWxlcy86IENNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLCBJUklYLmNtYWtlLAoJICBJUklYNjQuY21ha2U6IGZpeCBmb3Igbm8gcmFubGliCgoyMDAyLTExLTA1IDE4OjExICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgTW9kdWxlcy9DTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVN5c3RlbS5jbWFrZS5pbiwgTW9kdWxlcy9JUklYNjQuY21ha2U6IHJlbW92ZSBkZWJ1ZwoJICBtZXNzYWdlIHN0YXRlbWVudHMKCjIwMDItMTEtMDUgMTg6MDYgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBJUklYNjQuY21ha2U6IFtubyBsb2cgbWVzc2FnZV0KCjIwMDItMTEtMDUgMTc6NTcgIGhvZmZtYW4KCgkqIE1vZHVsZXMvSVJJWDY0LmNtYWtlLCBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6CgkgIFtubyBsb2cgbWVzc2FnZV0KCjIwMDItMTEtMDUgMTc6NTUgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0OiBkZWJ1ZwoKMjAwMi0xMS0wNSAxNzo0OSAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZURlZmF1bHRNYWtlUnVsZVZhcmlhYmxlcy5jbWFrZTogZW5oOiBhZGQgPEZMQUdTPiB0bwoJICBsaW5rIGxpYnMKCjIwMDItMTEtMDUgMTc6MzEgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBDWUdXSU4uY21ha2UsIElSSVguY21ha2UsIElSSVg2NC5jbWFrZSwgZ2NjLmNtYWtlOiBhZGQKCSAgZmxhZ3MKCjIwMDItMTEtMDUgMTc6MjAgIGFuZHkKCgkqIE1vZHVsZXMvRmluZFgxMS5jbWFrZTogTWFrZSB0aGluZ3MgYWR2YW5jZWQKCjIwMDItMTEtMDUgMTc6MDUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogYWRkIGN4eCBmbGFncyB0byBsaW5rCgkgIGV4ZQoKMjAwMi0xMS0wNSAxNTo0OSAgaG9mZm1hbgoKCSogTW9kdWxlcy86IEhQLVVYLmNtYWtlLCBJUklYNjQuY21ha2UsIE9TRjEuY21ha2U6IGFkZCBhbnNpIGZsYWdzCgoyMDAyLTExLTA1IDE0OjMzICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogSVJJWC5jbWFrZSwgSVJJWDY0LmNtYWtlLCBTdW5PUy5jbWFrZTogW25vIGxvZyBtZXNzYWdlXQoKMjAwMi0xMS0wNSAxNDoxMCAgaG9mZm1hbgoKCSogTW9kdWxlcy86IEFJWC5jbWFrZSwgQlNET1MuY21ha2UsIERhcndpbi5jbWFrZSwgRnJlZUJTRC5jbWFrZSwKCSAgSFAtVVguY21ha2UsIElSSVguY21ha2UsIE1QLVJBUy5jbWFrZSwgTmV0QlNELmNtYWtlLCBPU0YxLmNtYWtlLAoJICBPcGVuQlNELmNtYWtlLCBSSVNDb3MuY21ha2UsIFNDT19TVi5jbWFrZSwgU0lOSVguY21ha2UsCgkgIFN1bk9TLmNtYWtlLCBUcnVlNjQuY21ha2UsIFVMVFJJWC5jbWFrZSwgVU5JWF9TVi5jbWFrZSwKCSAgVW5peFdhcmUuY21ha2UsIFhlbml4LmNtYWtlOiBFTkg6IGFkZCBhbGwgdGhlIE9TIGZpbGVzCgoyMDAyLTExLTA1IDEzOjM1ICBhbmR5CgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NjbWFrZS5jeHg6IENsZWFudXAKCjIwMDItMTEtMDUgMTE6NTIgIGhvZmZtYW4KCgkqIE1vZHVsZXMvTGludXguY21ha2U6IGFkZCBsaW51eCBjb25maWcgZmlsZQoKMjAwMi0xMS0wNSAxMTozMSAgaG9mZm1hbgoKCSogTW9kdWxlcy86IENNYWtlU3lzdGVtU3BlY2lmaWNJbmZvcm1hdGlvbi5jbWFrZSwgV2luZG93cy5jbWFrZToKCSAgYWRkIGNoZWNrIGZvciBzc3RyZWFtCgoyMDAyLTExLTA1IDExOjAyICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogQ01ha2VCYWNrd2FyZENvbXBhdGliaWxpdHlDWFguY21ha2UsCgkgIENoZWNrSW5jbHVkZUZpbGUuY3h4LmluLCBDaGVja0luY2x1ZGVGaWxlQ1hYLmNtYWtlOiBhZGQgY2hlY2sgZm9yCgkgIHNzdHJlYW0KCjIwMDItMTEtMDUgMTA6NDUgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IGZpeCBiYWNrd2FyZHMgY29tcGF0IGVuYWJsZSBhbmQKCSAgcmVtb3ZlIGZ1bGwgcGF0aCB0YXJnZXQKCjIwMDItMTEtMDUgMDg6NTIgIGFuZHkKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvOiBjbUN1cnNlc0ZpbGVQYXRoV2lkZ2V0LmN4eCwKCSAgY21DdXJzZXNGaWxlUGF0aFdpZGdldC5oLCBjbUN1cnNlc1BhdGhXaWRnZXQuY3h4LAoJICBjbUN1cnNlc1N0cmluZ1dpZGdldC5jeHg6IFJlcGFyZW50IGZpbGUgcGF0aCB3aWRnZXQsIGFkZCB0YWIKCSAgY29tcGxldGlvbiBzdXBwb3J0IHRvIHBhdGggYW5mIGZpbGUgcGF0aCB3aWRnZXQKCjIwMDItMTEtMDUgMDg6NTEgIGFuZHkKCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmg6IEFkZCBhIHNpbXBsZQoJICBnbG9iYmluZyBvZiBmaWxlcyBhbmQgZGlyZWN0b3JpZXMKCjIwMDItMTEtMDUgMDc6MTUgIGFuZHkKCgkqIE1vZHVsZXMvRmluZFgxMS5jbWFrZSwgVGVzdHMvWDExL0NNYWtlTGlzdHMudHh0OiBUcnkgdG8gZml4CgkgIEZpbmRYMTEKCjIwMDItMTEtMDUgMDc6MDYgIGFuZHkKCgkqIFRlc3RzL1gxMS9YMTEuYzogU2ltcGxpZnkKCjIwMDItMTEtMDQgMTk6NDUgIGtpbmcKCgkqIFNvdXJjZS9jbUlUS1dyYXBUY2xDb21tYW5kLmN4eDogRU5IOiBBZGRlZCBnZW5lcmF0aW9uIG9mCgkgIC0tZ2NjeG1sLWNvbXBpbGVyIGFyZ3VtZW50IHRvIEdDQy1YTUwgZm9yIG1zdmM2LCBtc3ZjNywgYW5kIG5tYWtlCgkgIG1ha2VmaWxlcyBnZW5lcmF0b3JzLgoKMjAwMi0xMS0wNCAxNzozNyAgYW5keQoKCSogU291cmNlL0N1cnNlc0RpYWxvZy86IGNtQ3Vyc2VzUGF0aFdpZGdldC5jeHgsCgkgIGNtQ3Vyc2VzUGF0aFdpZGdldC5oLCBjbUN1cnNlc1N0cmluZ1dpZGdldC5jeHgsCgkgIGNtQ3Vyc2VzU3RyaW5nV2lkZ2V0Lmg6IFN0YXJ0IHdvcmtpbmcgb24gYWRkaW5nIHRhYiBzdXBwb3J0CgoyMDAyLTExLTA0IDE2OjU5ICBhbmR5CgoJKiBTb3VyY2UvY21XaW4zMlByb2Nlc3NFeGVjdXRpb24uY3h4OiBGaXggd2luZG93cyBwcm9jZXNzIGV4ZWN1dGlvbgoJICBzbyB0aGF0IGl0IHBvcHMgdXAgdGhlIHdpbmRvd3MKCjIwMDItMTEtMDQgMTY6MjYgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VDQ29tcGlsZXIuY21ha2UuaW4sCgkgIE1vZHVsZXMvQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2UsCgkgIE1vZHVsZXMvQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlLAoJICBNb2R1bGVzL1dpbmRvd3MtY2wuY21ha2UsIE1vZHVsZXMvV2luZG93cy5jbWFrZSwgU291cmNlL1RPRE8sCgkgIFNvdXJjZS9jbUdsb2JhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmgsIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwKCSAgU291cmNlL2NtU3lzdGVtVG9vbHMuaCwgU291cmNlL2NtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4OiBubWFrZQoJICBwYXNzaW5nIHRlc3RzCgoyMDAyLTExLTA0IDE1OjAxICBhbmR5CgoJKiBTb3VyY2UvY21Xcml0ZUZpbGVDb21tYW5kLmN4eDogTWFrZSBkaXJlY3RvcnkgaWYgaXQgZG9lcyBub3QKCSAgZXhpc3QgeWV0CgoyMDAyLTExLTA0IDE0OjUwICBhbmR5CgoJKiBUZW1wbGF0ZXMvQXBwbGVJbmZvLnBsaXN0OiBBdHRlbXB0IHRvIGF1dG9tYXRlIGFwcGxlIGd1aQoJICBnZW5lcmF0aW9uCgoyMDAyLTExLTA0IDExOjU0ICBhbmR5CgoJKiBUZXN0cy9YMTEvWDExLmM6IEZpeCB0ZXN0CgoyMDAyLTExLTA0IDEwOjEzICBob2ZmbWFuCgoJKiBTb3VyY2UvVE9ETzogW25vIGxvZyBtZXNzYWdlXQoKMjAwMi0xMS0wNCAxMDoxMSAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIE1vZHVsZXMvQ01ha2VDWFhDb21waWxlci5jbWFrZS5pbiwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlUHJpbnRTeXN0ZW1JbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVN5c3RlbVNwZWNpZmljSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvV2luZG93cy1jbC5jbWFrZSwgTW9kdWxlcy9XaW5kb3dzLmNtYWtlLAoJICBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9jbUdsb2JhbEJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUdsb2JhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21JZkNvbW1hbmQuY3h4LCBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6CgkgIG5tYWtlIGFsbW9zdCB3b3JraW5nCgoyMDAyLTExLTAzIDE4OjE4ICBhbmR5CgoJKiBUZXN0cy9YMTEvWDExLmM6IFRyeSB0byBtYWtlIHRlc3QgdG8gcnVuCgoyMDAyLTExLTAxIDIyOjU3ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IG1ha2UgcXQgc3R1ZmYgYWR2YW5jZWQKCjIwMDItMTAtMzEgMTA6MzYgIGFuZHkKCgkqIFRlbXBsYXRlcy9DQ01ha2VTeXN0ZW1Db25maWcuY21ha2UuaW46IFJldmVydCBYMTEgc3R1ZmYgdW50aWwKCSAgb3RoZXIgc3RlcHMgYXJlIGRvbmUKCjIwMDItMTAtMjkgMTU6NTggIGFuZHkKCgkqIFRlc3RzL1gxMS9YMTEuYzogUHJpbnQgbWVzc2FnZSBvbiBzeXN0ZW0gd2l0aG91dCBYMTEKCjIwMDItMTAtMjkgMTU6NTQgIGFuZHkKCgkqIFRlc3RzL1gxMS86IENNYWtlTGlzdHMudHh0LCBYMTEuYzogQWRkIFdpbmRvd3MgY29kZQoKMjAwMi0xMC0yOSAxNTo0NyAgYW5keQoKCSogTW9kdWxlcy9GaW5kWDExLmNtYWtlOiBOb3cgaXQgc2hvdWxkIHdvcmsKCjIwMDItMTAtMjkgMTU6NDYgIGFuZHkKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvWDExL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9YMTEvWDExLmM6CgkgIEFkZCB0ZXN0IGZvciBYMTEKCjIwMDItMTAtMjkgMTU6MDMgIGhvZmZtYW4KCgkqIE1vZHVsZXMvQ01ha2VDWFhDb21waWxlci5jbWFrZS5pbiwKCSAgTW9kdWxlcy9DTWFrZURlZmF1bHRNYWtlUnVsZVZhcmlhYmxlcy5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlRGV0ZXJtaW5lU3lzdGVtLmNtYWtlLAoJICBNb2R1bGVzL0NNYWtlUHJpbnRTeXN0ZW1JbmZvcm1hdGlvbi5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVN5c3RlbS5jbWFrZS5pbiwKCSAgTW9kdWxlcy9DTWFrZVN5c3RlbVNwZWNpZmljSW5mb3JtYXRpb24uY21ha2UsCgkgIE1vZHVsZXMvQ1lHV0lOLmNtYWtlLCBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtR2xvYmFsTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTG9hZENvbW1hbmRDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5oLCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwgVGVzdHMvVGVzdGluZy9DTWFrZUxpc3RzLnR4dDogYnJhbmNoCgkgIGNoZWNraW4gb2Ygd29ya2luZyBjeWd3aW4gYnVpbGQgZm9yIGdlbmVyYXRvciBjbGVhbnVwIGFuZCByZW1vdmFsCgkgIG9mIGNvbmZpZ3VyZQoKMjAwMi0xMC0yOSAxMzozNCAgYW5keQoKCSogVGVtcGxhdGVzL0NDTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbjogUmVtb3ZlIFgxMSBzdHVmZgoKMjAwMi0xMC0yOSAxMzozNCAgYW5keQoKCSogTW9kdWxlcy86IENoZWNrRnVuY3Rpb25FeGlzdHMuY21ha2UsIENoZWNrSW5jbHVkZUZpbGUuY21ha2UsCgkgIENoZWNrTGlicmFyeUV4aXN0cy5jbWFrZSwgQ2hlY2tTaXplT2YuY21ha2UsIFRlc3RCaWdFbmRpYW4uY21ha2U6CgkgIEFkZCBhcHBlbmQgdG8gd3JpdGVfZmlsZQoKMjAwMi0xMC0yOSAxMzozMiAgYW5keQoKCSogU291cmNlLzogY21Xcml0ZUZpbGVDb21tYW5kLmN4eCwgY21Xcml0ZUZpbGVDb21tYW5kLmg6IEFkZCBmbGFnCgkgIHRvIFdSSVRFX0ZJTEUgdG8gYXBwZW5kCgoyMDAyLTEwLTI5IDEzOjMwICBhbmR5CgoJKiBNb2R1bGVzL0NNYWtlQmFja3dhcmRDb21wYXRpYmlsaXR5Qy5jbWFrZTogRG8gdGhpcyB0aGUgcmlnaHQgd2F5CgoyMDAyLTEwLTI5IDEzOjMwICBhbmR5CgoJKiBNb2R1bGVzL0ZpbmRYMTEuY21ha2U6IFRoaXMgc2hvdWxkIHN1YnN0aXR1dGUgY29uZmlndXJlIHBhcnQgdGhhdAoJICBmaW5kcyBYMTEKCjIwMDItMTAtMjggMTA6MjkgIGtpbmcKCgkqIFNvdXJjZS9jbUlUS1dyYXBUY2xDb21tYW5kLmN4eDogRU5IOiBBZGRlZCBnZW5lcmF0aW9uIG9mCgkgIC0tZ2NjeG1sLWN4eGZsYWdzIG9wdGlvbiB0byBjb21wbGVtZW50IC0tZ2NjeG1sLWNvbXBpbGVyLgoKMjAwMi0xMC0yNSAxNjo0NyAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZVN5c3RlbVNwZWNpZmljSW5mb3JtYXRpb24uY21ha2UsCgkgIFNvdXJjZS9jbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogW25vIGxvZyBtZXNzYWdlXQoKMjAwMi0xMC0yNSAxNjoxMyAgaG9mZm1hbgoKCSogTW9kdWxlcy9DTWFrZUNYWENvbXBpbGVyLmNtYWtlLmluOiBbbm8gbG9nIG1lc3NhZ2VdCgoyMDAyLTEwLTI1IDE1OjQ2ICBraW5nCgoJKiBVdGlsaXRpZXMvY21ha2VfcmVsZWFzZV9jeWd3aW4uc2g6IEVOSDogVXBkYXRlZCBmb3IgY21ha2UgMS40LjYKCSAgcGFja2FnZS4gIEFkZGVkIGF1dG9tYXRpYyBjb252ZXJzaW9uIG9mIHNldHVwLmhpbnQgdG8gdW5peAoJICBuZXdsaW5lcy4KCjIwMDItMTAtMjUgMTQ6MzQgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBDTWFrZUNDb21waWxlci5jbWFrZS5pbiwgQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2U6CgkgIFtubyBsb2cgbWVzc2FnZV0KCjIwMDItMTAtMjUgMTQ6MjUgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuaDoKCSAgdGVzdCBvbiB1bml4CgoyMDAyLTEwLTI1IDE0OjEzICBraW5nCgoJKiBVdGlsaXRpZXMvOiBjbWFrZV9yZWxlYXNlX2NvbmZpZ19kYXJ3aW4sCgkgIGNtYWtlX3JlbGVhc2VfY29uZmlnX2hwdXgsIGNtYWtlX3JlbGVhc2VfY29uZmlnX2lyaXgsCgkgIGNtYWtlX3JlbGVhc2VfY29uZmlnX2xpbnV4LCBjbWFrZV9yZWxlYXNlX2NvbmZpZ19vc2YsCgkgIGNtYWtlX3JlbGVhc2VfY29uZmlnX3N1biwgY21ha2VfcmVsZWFzZV9jeWd3aW4uc2g6IEVOSDogVXBkYXRlZAoJICBmb3IgMS40LjYgcmVsZWFzZS4KCjIwMDItMTAtMjUgMTQ6MDggIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBDTWFrZURlZmF1bHRNYWtlUnVsZVZhcmlhYmxlcy5jbWFrZSwKCSAgQ01ha2VEZXRlcm1pbmVDQ29tcGlsZXIuY21ha2UsIENNYWtlRGV0ZXJtaW5lQ1hYQ29tcGlsZXIuY21ha2UsCgkgIENNYWtlRGV0ZXJtaW5lU3lzdGVtLmNtYWtlLCBDTWFrZVN5c3RlbVNwZWNpZmljSW5mb3JtYXRpb24uY21ha2U6CgkgIFtubyBsb2cgbWVzc2FnZV0KCjIwMDItMTAtMjQgMTU6MzkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEJVRzogZml4IHN0YWNrIGxpbWl0IHNpemUgb24gbWFjIE9TWAoKMjAwMi0xMC0yNCAxMzozOSAgYW5keQoKCSogTW9kdWxlcy9DTWFrZUJhY2t3YXJkQ29tcGF0aWJpbGl0eUMuY21ha2U6IEFkZCBjaGVjayBmb3IgYmlnCgkgIGVuZGlhbiBpbiBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHNjcmlwdHMKCjIwMDItMTAtMjQgMTE6NTggIG1hcnRpbmsKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmg6IHVwZGF0ZWQgcGF0Y2ggbGV2ZWwgdG8gNgoKMjAwMi0xMC0yNCAxMTo0OCAgbWFydGluawoKCSogU291cmNlL2NtQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogZml4IHN1cHBvcnQgZm9yIFdpbjMyCgkgIGV4ZWNzCgoyMDAyLTEwLTI0IDEwOjU4ICBhbmR5CgoJKiBTb3VyY2UvY21TdWJkaXJDb21tYW5kLmN4eDogU3ViZGlycyByZXBvcnRzIGFuIGVycm9yIGlmIHRoZQoJICBzdWJkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3RzCgoyMDAyLTEwLTI0IDEwOjIzICBhbmR5CgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IFRyeSB0byByZW1vdmUgc29tZSB3YXJuaW5ncwoKMjAwMi0xMC0yMyAxODowMyAga2luZwoKCSogU291cmNlLzogY21BYnN0cmFjdEZpbGVzQ29tbWFuZC5jeHgsIGNtQWJzdHJhY3RGaWxlc0NvbW1hbmQuaCwKCSAgY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5jeHgsIGNtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuaCwKCSAgY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmN4eCwgY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmgsCgkgIGNtQWRkRGVmaW5pdGlvbnNDb21tYW5kLmN4eCwgY21BZGREZWZpbml0aW9uc0NvbW1hbmQuaCwKCSAgY21BZGREZXBlbmRlbmNpZXNDb21tYW5kLmN4eCwgY21BZGREZXBlbmRlbmNpZXNDb21tYW5kLmgsCgkgIGNtQWRkRXhlY3V0YWJsZUNvbW1hbmQuY3h4LCBjbUFkZEV4ZWN1dGFibGVDb21tYW5kLmgsCgkgIGNtQWRkTGlicmFyeUNvbW1hbmQuY3h4LCBjbUFkZExpYnJhcnlDb21tYW5kLmgsCgkgIGNtQWRkVGVzdENvbW1hbmQuY3h4LCBjbUFkZFRlc3RDb21tYW5kLmgsCgkgIGNtQXV4U291cmNlRGlyZWN0b3J5Q29tbWFuZC5jeHgsIGNtQXV4U291cmNlRGlyZWN0b3J5Q29tbWFuZC5oLAoJICBjbUJ1aWxkQ29tbWFuZC5jeHgsIGNtQnVpbGRDb21tYW5kLmgsIGNtQnVpbGROYW1lQ29tbWFuZC5jeHgsCgkgIGNtQnVpbGROYW1lQ29tbWFuZC5oLCBjbUNNYWtlTWluaW11bVJlcXVpcmVkLmN4eCwKCSAgY21DTWFrZU1pbmltdW1SZXF1aXJlZC5oLCBjbUNQbHVnaW5BUEkuY3h4LCBjbUNQbHVnaW5BUEkuaCwKCSAgY21DYWNoZU1hbmFnZXIuY3h4LCBjbUNhY2hlTWFuYWdlci5oLCBjbUNvbW1hbmQuaCwKCSAgY21Db21tYW5kcy5jeHgsIGNtQ29tbWFuZHMuaCwgY21Db25maWd1cmVGaWxlQ29tbWFuZC5jeHgsCgkgIGNtQ29uZmlndXJlRmlsZUNvbW1hbmQuaCwgY21DcmVhdGVUZXN0U291cmNlTGlzdC5jeHgsCgkgIGNtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuaCwgY21DdXN0b21Db21tYW5kLmN4eCwgY21DdXN0b21Db21tYW5kLmgsCgkgIGNtRGF0YS5oLCBjbURpcmVjdG9yeS5jeHgsIGNtRGlyZWN0b3J5LmgsCgkgIGNtRHVtcERvY3VtZW50YXRpb24uY3h4LCBjbUR5bmFtaWNMb2FkZXIuY3h4LCBjbUR5bmFtaWNMb2FkZXIuaCwKCSAgY21FbHNlQ29tbWFuZC5jeHgsIGNtRWxzZUNvbW1hbmQuaCwgY21FbmFibGVUZXN0aW5nQ29tbWFuZC5jeHgsCgkgIGNtRW5hYmxlVGVzdGluZ0NvbW1hbmQuaCwgY21FbmRGb3JFYWNoQ29tbWFuZC5jeHgsCgkgIGNtRW5kRm9yRWFjaENvbW1hbmQuaCwgY21FbmRJZkNvbW1hbmQuY3h4LCBjbUVuZElmQ29tbWFuZC5oLAoJICBjbUV4ZWNQcm9ncmFtQ29tbWFuZC5jeHgsIGNtRXhlY1Byb2dyYW1Db21tYW5kLmgsCgkgIGNtRkxUS1dyYXBVSUNvbW1hbmQuY3h4LCBjbUZMVEtXcmFwVUlDb21tYW5kLmgsCgkgIGNtRmluZEZpbGVDb21tYW5kLmN4eCwgY21GaW5kRmlsZUNvbW1hbmQuaCwKCSAgY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4LCBjbUZpbmRMaWJyYXJ5Q29tbWFuZC5oLAoJICBjbUZpbmRQYXRoQ29tbWFuZC5jeHgsIGNtRmluZFBhdGhDb21tYW5kLmgsCgkgIGNtRmluZFByb2dyYW1Db21tYW5kLmN4eCwgY21GaW5kUHJvZ3JhbUNvbW1hbmQuaCwKCSAgY21Gb3JFYWNoQ29tbWFuZC5jeHgsIGNtRm9yRWFjaENvbW1hbmQuaCwgY21GdW5jdGlvbkJsb2NrZXIuaCwKCSAgY21HZW5lcmF0ZWRGaWxlU3RyZWFtLmgsIGNtR2V0RmlsZW5hbWVDb21wb25lbnRDb21tYW5kLmN4eCwKCSAgY21HZXRGaWxlbmFtZUNvbXBvbmVudENvbW1hbmQuaCwKCSAgY21HZXRTb3VyY2VGaWxlUHJvcGVydHlDb21tYW5kLmN4eCwKCSAgY21HZXRTb3VyY2VGaWxlUHJvcGVydHlDb21tYW5kLmgsCgkgIGNtR2xvYmFsQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxCb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxDb2RlV2FycmlvckdlbmVyYXRvci5jeHgsIGNtR2xvYmFsQ29kZVdhcnJpb3JHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5oLAoJICBjbUdsb2JhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmgsIGNtSVRLV3JhcFRjbENvbW1hbmQuY3h4LAoJICBjbUlUS1dyYXBUY2xDb21tYW5kLmgsIGNtSWZDb21tYW5kLmN4eCwgY21JZkNvbW1hbmQuaCwKCSAgY21JbmNsdWRlQ29tbWFuZC5jeHgsIGNtSW5jbHVkZUNvbW1hbmQuaCwKCSAgY21JbmNsdWRlRGlyZWN0b3J5Q29tbWFuZC5jeHgsIGNtSW5jbHVkZURpcmVjdG9yeUNvbW1hbmQuaCwKCSAgY21JbmNsdWRlRXh0ZXJuYWxNU1Byb2plY3RDb21tYW5kLmN4eCwKCSAgY21JbmNsdWRlRXh0ZXJuYWxNU1Byb2plY3RDb21tYW5kLmgsCgkgIGNtSW5jbHVkZVJlZ3VsYXJFeHByZXNzaW9uQ29tbWFuZC5jeHgsCgkgIGNtSW5jbHVkZVJlZ3VsYXJFeHByZXNzaW9uQ29tbWFuZC5oLCBjbUluc3RhbGxGaWxlc0NvbW1hbmQuY3h4LAoJICBjbUluc3RhbGxGaWxlc0NvbW1hbmQuaCwgY21JbnN0YWxsUHJvZ3JhbXNDb21tYW5kLmN4eCwKCSAgY21JbnN0YWxsUHJvZ3JhbXNDb21tYW5kLmgsIGNtSW5zdGFsbFRhcmdldHNDb21tYW5kLmN4eCwKCSAgY21JbnN0YWxsVGFyZ2V0c0NvbW1hbmQuaCwgY21MaW5rRGlyZWN0b3JpZXNDb21tYW5kLmN4eCwKCSAgY21MaW5rRGlyZWN0b3JpZXNDb21tYW5kLmgsIGNtTGlua0xpYnJhcmllc0NvbW1hbmQuY3h4LAoJICBjbUxpbmtMaWJyYXJpZXNDb21tYW5kLmgsIGNtTGlzdEZpbGVDYWNoZS5jeHgsIGNtTGlzdEZpbGVDYWNoZS5oLAoJICBjbUxvYWRDYWNoZUNvbW1hbmQuY3h4LCBjbUxvYWRDYWNoZUNvbW1hbmQuaCwKCSAgY21Mb2FkQ29tbWFuZENvbW1hbmQuY3h4LCBjbUxvYWRDb21tYW5kQ29tbWFuZC5oLAoJICBjbUxvY2FsQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbEJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5oLAoJICBjbUxvY2FsQ29kZVdhcnJpb3JHZW5lcmF0b3IuY3h4LCBjbUxvY2FsQ29kZVdhcnJpb3JHZW5lcmF0b3IuaCwKCSAgY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtTG9jYWxHZW5lcmF0b3IuaCwKCSAgY21Mb2NhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5oLAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5oLAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaCwgY21NYWNyb0NvbW1hbmQuY3h4LAoJICBjbU1hY3JvQ29tbWFuZC5oLCBjbU1ha2VEZXBlbmQuY3h4LCBjbU1ha2VEZXBlbmQuaCwKCSAgY21NYWtlRGlyZWN0b3J5Q29tbWFuZC5jeHgsIGNtTWFrZURpcmVjdG9yeUNvbW1hbmQuaCwKCSAgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaCwgY21NYXJrQXNBZHZhbmNlZENvbW1hbmQuY3h4LAoJICBjbU1hcmtBc0FkdmFuY2VkQ29tbWFuZC5oLCBjbU1lc3NhZ2VDb21tYW5kLmN4eCwKCSAgY21NZXNzYWdlQ29tbWFuZC5oLCBjbU9wdGlvbkNvbW1hbmQuY3h4LCBjbU9wdGlvbkNvbW1hbmQuaCwKCSAgY21PdXRwdXRSZXF1aXJlZEZpbGVzQ29tbWFuZC5jeHgsIGNtT3V0cHV0UmVxdWlyZWRGaWxlc0NvbW1hbmQuaCwKCSAgY21Qcm9qZWN0Q29tbWFuZC5jeHgsIGNtUHJvamVjdENvbW1hbmQuaCwgY21RVFdyYXBDUFBDb21tYW5kLmN4eCwKCSAgY21RVFdyYXBDUFBDb21tYW5kLmgsIGNtUVRXcmFwVUlDb21tYW5kLmN4eCwgY21RVFdyYXBVSUNvbW1hbmQuaCwKCSAgY21SZWd1bGFyRXhwcmVzc2lvbi5jeHgsIGNtUmVndWxhckV4cHJlc3Npb24uaCwKCSAgY21SZW1vdmVDb21tYW5kLmN4eCwgY21SZW1vdmVDb21tYW5kLmgsCgkgIGNtU2VwYXJhdGVBcmd1bWVudHNDb21tYW5kLmN4eCwgY21TZXBhcmF0ZUFyZ3VtZW50c0NvbW1hbmQuaCwKCSAgY21TZXRDb21tYW5kLmN4eCwgY21TZXRDb21tYW5kLmgsCgkgIGNtU2V0U291cmNlRmlsZXNQcm9wZXJ0aWVzQ29tbWFuZC5jeHgsCgkgIGNtU2V0U291cmNlRmlsZXNQcm9wZXJ0aWVzQ29tbWFuZC5oLCBjbVNpdGVOYW1lQ29tbWFuZC5jeHgsCgkgIGNtU2l0ZU5hbWVDb21tYW5kLmgsIGNtU291cmNlRmlsZS5jeHgsIGNtU291cmNlRmlsZS5oLAoJICBjbVNvdXJjZUZpbGVzQ29tbWFuZC5jeHgsIGNtU291cmNlRmlsZXNDb21tYW5kLmgsCgkgIGNtU291cmNlRmlsZXNSZW1vdmVDb21tYW5kLmN4eCwgY21Tb3VyY2VGaWxlc1JlbW92ZUNvbW1hbmQuaCwKCSAgY21Tb3VyY2VHcm91cC5jeHgsIGNtU291cmNlR3JvdXAuaCwgY21Tb3VyY2VHcm91cENvbW1hbmQuY3h4LAoJICBjbVNvdXJjZUdyb3VwQ29tbWFuZC5oLCBjbVN0YW5kYXJkSW5jbHVkZXMuaCwKCSAgY21TdWJkaXJDb21tYW5kLmN4eCwgY21TdWJkaXJDb21tYW5kLmgsCgkgIGNtU3ViZGlyRGVwZW5kc0NvbW1hbmQuY3h4LCBjbVN1YmRpckRlcGVuZHNDb21tYW5kLmgsCgkgIGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmgsIGNtVGFyZ2V0LmN4eCwgY21UYXJnZXQuaCwKCSAgY21UYXJnZXRMaW5rTGlicmFyaWVzQ29tbWFuZC5jeHgsIGNtVGFyZ2V0TGlua0xpYnJhcmllc0NvbW1hbmQuaCwKCSAgY21UcnlDb21waWxlQ29tbWFuZC5jeHgsIGNtVHJ5Q29tcGlsZUNvbW1hbmQuaCwKCSAgY21UcnlSdW5Db21tYW5kLmN4eCwgY21UcnlSdW5Db21tYW5kLmgsCgkgIGNtVXNlTWFuZ2xlZE1lc2FDb21tYW5kLmN4eCwgY21Vc2VNYW5nbGVkTWVzYUNvbW1hbmQuaCwKCSAgY21VdGlsaXR5U291cmNlQ29tbWFuZC5jeHgsIGNtVXRpbGl0eVNvdXJjZUNvbW1hbmQuaCwKCSAgY21WVEtNYWtlSW5zdGFudGlhdG9yQ29tbWFuZC5jeHgsIGNtVlRLTWFrZUluc3RhbnRpYXRvckNvbW1hbmQuaCwKCSAgY21WVEtXcmFwSmF2YUNvbW1hbmQuY3h4LCBjbVZUS1dyYXBKYXZhQ29tbWFuZC5oLAoJICBjbVZUS1dyYXBQeXRob25Db21tYW5kLmN4eCwgY21WVEtXcmFwUHl0aG9uQ29tbWFuZC5oLAoJICBjbVZUS1dyYXBUY2xDb21tYW5kLmN4eCwgY21WVEtXcmFwVGNsQ29tbWFuZC5oLAoJICBjbVZhcmlhYmxlUmVxdWlyZXNDb21tYW5kLmN4eCwgY21WYXJpYWJsZVJlcXVpcmVzQ29tbWFuZC5oLAoJICBjbVdpbjMyUHJvY2Vzc0V4ZWN1dGlvbi5jeHgsIGNtV2luMzJQcm9jZXNzRXhlY3V0aW9uLmgsCgkgIGNtV3JhcEV4Y2x1ZGVGaWxlc0NvbW1hbmQuY3h4LCBjbVdyYXBFeGNsdWRlRmlsZXNDb21tYW5kLmgsCgkgIGNtV3JpdGVGaWxlQ29tbWFuZC5jeHgsIGNtV3JpdGVGaWxlQ29tbWFuZC5oLCBjbWFrZS5jeHgsIGNtYWtlLmgsCgkgIGNtYWtlbWFpbi5jeHgsIGNtYWtldGVzdC5jeHgsIGNtYWtld2l6YXJkLmN4eCwgY21ha2V3aXphcmQuaCwKCSAgY213OXhjb20uY3h4LCBjdGVzdC5jeHgsIGN0ZXN0LmgsIEN1cnNlc0RpYWxvZy9jY21ha2UuY3h4LAoJICBDdXJzZXNEaWFsb2cvY21DdXJzZXNCb29sV2lkZ2V0LmN4eCwKCSAgQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzQm9vbFdpZGdldC5oLAoJICBDdXJzZXNEaWFsb2cvY21DdXJzZXNDYWNoZUVudHJ5Q29tcG9zaXRlLmN4eCwKCSAgQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzQ2FjaGVFbnRyeUNvbXBvc2l0ZS5oLAoJICBDdXJzZXNEaWFsb2cvY21DdXJzZXNEdW1teVdpZGdldC5jeHgsCgkgIEN1cnNlc0RpYWxvZy9jbUN1cnNlc0R1bW15V2lkZ2V0LmgsCgkgIEN1cnNlc0RpYWxvZy9jbUN1cnNlc0ZpbGVQYXRoV2lkZ2V0LmN4eCwKCSAgQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzRmlsZVBhdGhXaWRnZXQuaCwKCSAgQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzRm9ybS5jeHgsIEN1cnNlc0RpYWxvZy9jbUN1cnNlc0Zvcm0uaCwKCSAgQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTGFiZWxXaWRnZXQuY3h4LAoJICBDdXJzZXNEaWFsb2cvY21DdXJzZXNMYWJlbFdpZGdldC5oLAoJICBDdXJzZXNEaWFsb2cvY21DdXJzZXNMb25nTWVzc2FnZUZvcm0uY3h4LAoJICBDdXJzZXNEaWFsb2cvY21DdXJzZXNMb25nTWVzc2FnZUZvcm0uaCwKCSAgQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTWFpbkZvcm0uY3h4LAoJICBDdXJzZXNEaWFsb2cvY21DdXJzZXNNYWluRm9ybS5oLAoJICBDdXJzZXNEaWFsb2cvY21DdXJzZXNQYXRoV2lkZ2V0LmN4eCwKCSAgQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzUGF0aFdpZGdldC5oLAoJICBDdXJzZXNEaWFsb2cvY21DdXJzZXNTdGFuZGFyZEluY2x1ZGVzLmgsCgkgIEN1cnNlc0RpYWxvZy9jbUN1cnNlc1N0cmluZ1dpZGdldC5jeHgsCgkgIEN1cnNlc0RpYWxvZy9jbUN1cnNlc1N0cmluZ1dpZGdldC5oLAoJICBDdXJzZXNEaWFsb2cvY21DdXJzZXNXaWRnZXQuY3h4LCBDdXJzZXNEaWFsb2cvY21DdXJzZXNXaWRnZXQuaDoKCSAgRU5IOiBBZGRlZCByZWZlcmVuY2UgdG8gQ29weXJpZ2h0LnR4dC4gIFJlbW92ZWQgb2xkIHJlZmVyZW5jZSB0bwoJICBJVEsgY29weXJpZ2h0LiAgQ2hhbmdlZCBwcm9ncmFtIG5hbWUgdG8gQ01ha2UgaW5zdGVhZCBvZiBJbnNpZ2h0CgkgIGluIHNvdXJjZSBmaWxlIGhlYWRlci4gIEFsc28gcmVtb3ZlZCB0YWJzLgoKMjAwMi0xMC0yMyAxNjo1NyAgaG9mZm1hbgoKCSogU291cmNlLzogY21FeGVjUHJvZ3JhbUNvbW1hbmQuY3h4LCBjbUV4ZWNQcm9ncmFtQ29tbWFuZC5oOiBFTkg6CgkgIGlmIG91dHB1dCB2YXJpYWJsZSB0dXJuIHZlcmJvc2Ugb2ZmCgoyMDAyLTEwLTIzIDE2OjUzICBob2ZmbWFuCgoJKiBNb2R1bGVzLzogQ01ha2VDQ29tcGlsZXIuY21ha2UuaW4sCgkgIENNYWtlRGVmYXVsdE1ha2VSdWxlVmFyaWFibGVzLmNtYWtlLAoJICBDTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwgQ01ha2VEZXRlcm1pbmVDWFhDb21waWxlci5jbWFrZSwKCSAgQ01ha2VEZXRlcm1pbmVTeXN0ZW0uY21ha2UsIENNYWtlUHJpbnRTeXN0ZW1JbmZvcm1hdGlvbi5jbWFrZSwKCSAgQ01ha2VTeXN0ZW0uY21ha2UuaW4sIENNYWtlU3lzdGVtU3BlY2lmaWNJbmZvcm1hdGlvbi5jbWFrZSwKCSAgQ1lHV0lOLmNtYWtlOiBjbG9zZXIgdG8gcmVtb3ZpbmcgYXV0b2NvbmYKCjIwMDItMTAtMjMgMTY6NDMgIGtpbmcKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvZm9ybS9mcm1fZHJpdmVyLmM6IEVSUjogQW5vdGhlciBhdHRlbXB0IHRvCgkgIHJlbW92ZSB3YXJuaW5ncyBmcm9tIG1pc3NpbmcgcHJvdG90eXBlcy4KCjIwMDItMTAtMjIgMTg6MTcgIGhvZmZtYW4KCgkqIE1vZHVsZXMvOiBDTWFrZURldGVybWluZUNDb21waWxlci5jbWFrZSwKCSAgQ01ha2VEZXRlcm1pbmVDWFhDb21waWxlci5jbWFrZSwgQ01ha2VUZXN0R05VLmMsIFdpbmRvd3MuY21ha2U6CgkgIHRlc3QgZm9yIGdudSBjb21waWxlcgoKMjAwMi0xMC0yMiAxNTowNCAgaG9mZm1hbgoKCSogTW9kdWxlcy86IENNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLAoJICBDTWFrZVN5c3RlbVNwZWNpZmljSW5mb3JtYXRpb24uY21ha2UsIENZR1dJTi5jbWFrZTogW25vIGxvZwoJICBtZXNzYWdlXQoKMjAwMi0xMC0yMiAxMDozNiAgaG9mZm1hbgoKCSogU291cmNlL2NtTG9jYWxCb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IG1ha2Ugc3VyZSB3aW4zMgoJICBleGVzIGFyZSB3aW4zMgoKMjAwMi0xMC0yMiAxMDozNCAgaG9mZm1hbgoKCSogTW9kdWxlcy86IENNYWtlRGV0ZXJtaW5lQ0NvbXBpbGVyLmNtYWtlLAoJICBDTWFrZURldGVybWluZUNYWENvbXBpbGVyLmNtYWtlLCBDTWFrZURldGVybWluZVN5c3RlbS5jbWFrZSwKCSAgQ01ha2VTeXN0ZW1TcGVjaWZpY0luZm9ybWF0aW9uLmNtYWtlOiBuZXcgY21ha2UgYmFzZWQKCSAgY29uZmlndXJhdGlvbgoKMjAwMi0xMC0xOCAxNTo1MSAgYW5keQoKCSogU291cmNlL2N0ZXN0LmN4eDogV2hlbiBpbiB2ZXJib3NlIG1vZGUgcHJpbnQgdGVzdCBjb21tYW5kCgoyMDAyLTEwLTE4IDEyOjA4ICBhbmR5CgoJKiBTb3VyY2UvY21XaW4zMlByb2Nlc3NFeGVjdXRpb24uaDogSW1wcm92ZSBjb21tZW50CgoyMDAyLTEwLTE3IDEwOjUwICBhbmR5CgoJKiBTb3VyY2UvOiBDdXJzZXNEaWFsb2cvY21DdXJzZXNNYWluRm9ybS5jeHgsCgkgIGNtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuY3h4LCBjbURpcmVjdG9yeS5jeHgsCgkgIGNtRmluZFByb2dyYW1Db21tYW5kLmN4eCwgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgY21TeXN0ZW1Ub29scy5jeHgsCgkgIGNtVXNlTWFuZ2xlZE1lc2FDb21tYW5kLmN4eDogUmVuYW1lIHZhcmlhYmxlcyB0byByZW1vdmUgd2FybmluZ3MKCjIwMDItMTAtMTYgMTM6MzAgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVZUS1dyYXBUY2xDb21tYW5kLmN4eDogdXBkYXRlIHRvIGhhbmRsZSB0Y2wgODQKCjIwMDItMTAtMTYgMTE6NDggIG1hcnRpbmsKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvY21DdXJzZXNMb25nTWVzc2FnZUZvcm0uY3h4OiBmaXggY29tcGlsZXIKCSAgd2FybmluZ3MKCjIwMDItMTAtMTYgMTE6NDEgIG1hcnRpbmsKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvZm9ybS9mdHlfcmVnZXguYzogZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDAyLTEwLTE2IDExOjM3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2Zvcm0vOiBmdHlfYWxudW0uYywgZnR5X2FscGhhLmMsIGZ0eV9pbnQuYywKCSAgZnR5X2lwdjQuYywgZnR5X251bS5jOiBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMDItMTAtMTYgMTE6MzIgIG1hcnRpbmsKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvOiBjbUN1cnNlc01haW5Gb3JtLmN4eCwgY2NtYWtlLmN4eDogZml4ZWQgYQoJICB3YXJuaW5nCgoyMDAyLTEwLTE2IDExOjI0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTG9uZ01lc3NhZ2VGb3JtLmN4eDogZml4ZWQgYSB3YXJuaW5nCgoyMDAyLTEwLTE2IDExOjIwICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nLzogY21DdXJzZXNGb3JtLmgsIGNtQ3Vyc2VzTGFiZWxXaWRnZXQuY3h4OgoJICBmaXhlZCBhIHdhcm5pbmcKCjIwMDItMTAtMTYgMTE6MTYgIG1hcnRpbmsKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvOiBjbUN1cnNlc0Jvb2xXaWRnZXQuY3h4LAoJICBjbUN1cnNlc0R1bW15V2lkZ2V0LmN4eDogZml4ZWQgYSB3YXJuaW5nCgoyMDAyLTEwLTE2IDEwOjUzICBraW5nCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2Zvcm0vZnJtX2RyaXZlci5jOiBFTkg6IEFub3RoZXIgYXR0ZW1wdCB0bwoJICBmaXggT1NGIHdhcm5pbmdzLiAgQWxzbyByZW1vdmVkIFRBQlMuCgoyMDAyLTEwLTE2IDA4OjQ5ICBhbmR5CgoJKiBTb3VyY2UvY3Rlc3QuY3h4OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDAyLTEwLTE1IDE0OjMzICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Mb2FkQ29tbWFuZENvbW1hbmQuY3h4OiBiZXR0ZXIgd2FybmluZyBtZXNzYWdlCgoyMDAyLTEwLTE1IDExOjQ1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Mb2FkQ29tbWFuZENvbW1hbmQuY3h4OiBiZXR0ZXIgd2FybmluZyBtZXNzYWdlCgoyMDAyLTEwLTE1IDA3OjIwICBhbmR5CgoJKiBTb3VyY2UvY3Rlc3QuY3h4OiBSZW1vdmUgc3RkOjpoZXggYXMgaXQgZG9lcyBub3Qgc2VlbXMgdG8gd29yayBvbgoJICBTR0ksIGF0dGVtcHQgdG8gZml4IGZ0aW1lIHByb2JsZW0gb24gYm9ybGFuZAoKMjAwMi0xMC0xNCAxODozMyAgYW5keQoKCSogU291cmNlL2N0ZXN0LmN4eDogRml4IG5hbWVzcGFjZSwgdHlwbywgYW5kIG1ha2UgZnRpbWUgd29yayBvbgoJICB3aW5kb3dzCgoyMDAyLTEwLTE0IDE1OjExICBhbmR5CgoJKiBTb3VyY2UvOiBjdGVzdC5jeHgsIGN0ZXN0Lmg6IEV2ZW4gbW9yZSBjbGVhbnVwcywgZml4IHRpbWUgb24KCSAgY2VydGFpbiBwbGF0Zm9ybXMgc3VjaCBhcyB3aW5kb3dzLCBjeWd3aW4sIGFuZCBsaW51eC4gSG9wZWZ1bGx5CgkgIHdlIGNhbiBhZGQgZW50cmllcyBmb3Igb3RoZXIgcGxhdGZvcm1zIHVudGlsIHRyeV9jb21waWxlIHdvcmtzLgoJICBBbHNvIGVzY2FwZSBjZXJ0YWluIGNoYXJhY3RlcnMgZm9yIHhtbC4KCjIwMDItMTAtMTQgMDk6MzAgIGFuZHkKCgkqIFNvdXJjZS9jdGVzdC5jeHg6IE1vcmUgY2xlYW51cHMsIGZpeCBwcmV4b250ZXh0IGFuZCBsb2cgbnVtYmVyCgoyMDAyLTEwLTEzIDIzOjA3ICBhbmR5CgoJKiBTb3VyY2UvOiBjdGVzdC5jeHgsIGN0ZXN0Lmg6IEFkZCBMYXN0QnVpbGQubG9nIGZpbGUsIGZpeCBzb21lCgkgIG1pbm9yIHByb2JsZW1zIGluIG91dHB1dCwgbW9kaWZ5IG91dHB1dCBhIGJpdC4uLgoKMjAwMi0xMC0xMSAxMzoxNyAgbWFydGluawoKCSogU291cmNlL2NtTG9jYWxDb2RlV2FycmlvckdlbmVyYXRvci5jeHg6IGNvbXBpbGVyIHdhcm5pbmcKCjIwMDItMTAtMTEgMTE6MjIgIGlzY290dAoKCSogTW9kdWxlcy9EYXJ0LmNtYWtlOiBBZGQgb3B0aW9uIHRvIGNvbnRyb2wgbnVtYmVyIG9mIGVycm9ycyBzZW50CgkgIHRvIGRhc2hiYW9yZAoKMjAwMi0xMC0xMSAxMDoxNiAga2luZwoKCSogU291cmNlLzogY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaDogRU5IOiBBZGRlZCBTcGxpdAoJICBtZXRob2QgdG8gY21TeXN0ZW1Ub29scyB0byBzcGxpdCBhIHN0cmluZyBpbnRvIGxpbmVzIG9uIGl0cwoJICBuZXdsaW5lcy4KCjIwMDItMTAtMTEgMTA6MTQgIGtpbmcKCgkqIE1vZHVsZXMvRmluZENBQkxFLmNtYWtlOiBCVUc6IFNob3VsZCBub3QgbG9hZAoJICBDTUFLRV9JTlNUQUxMX1BSRUZJWCBmcm9tIHRoZSBjYWNoZS4KCjIwMDItMTAtMTEgMDg6MzYgIGtpbmcKCgkqIFNvdXJjZS9jbVN0YW5kYXJkSW5jbHVkZXMuaDogRVJSOiBpc3Ryc3RyZWFtIGFuZCBpc3RyaW5nc3RyZWFtCgkgIG5lZWQgdG8gYmUgcHVsbGVkIGludG8gbmFtZXNwYWNlIHN0ZCBvbiB0aGUgU0dJLgoKMjAwMi0xMC0xMCAxMTowOCAgYW5keQoKCSogU291cmNlL2NtV2luMzJQcm9jZXNzRXhlY3V0aW9uLmN4eDogRml4IG5ldHdvcmsgYnVpbGQKCjIwMDItMTAtMTAgMTA6NDUgIGJhcnJlCgoJKiBNb2R1bGVzL0ZpbmRKYXZhLmNtYWtlLCBUZW1wbGF0ZXMvQ0NNYWtlU3lzdGVtQ29uZmlnLmNtYWtlLmluLAoJICBUZW1wbGF0ZXMvQ01ha2VCb3JsYW5kV2luZG93c1N5c3RlbUNvbmZpZy5jbWFrZSwKCSAgVGVtcGxhdGVzL0NNYWtlRG90TmV0U3lzdGVtQ29uZmlnLmNtYWtlLAoJICBUZW1wbGF0ZXMvQ01ha2VOTWFrZVdpbmRvd3NTeXN0ZW1Db25maWcuY21ha2UsCgkgIFRlbXBsYXRlcy9DTWFrZVdpbmRvd3NTeXN0ZW1Db25maWcuY21ha2UsCgkgIFRlbXBsYXRlcy9DWFhDTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbjogRU5IOiBtYXJrIHNvbWUgdmFycyBhcwoJICBhZHZhbmNlZCAoYW5kIHJlc29ydCB0aGUgbGlzdCkKCjIwMDItMTAtMTAgMTA6NDMgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ01ha2VNaW5pbXVtUmVxdWlyZWQuY3h4LAoJICBjbUxvY2FsQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgY21TdGFuZGFyZEluY2x1ZGVzLmgsCgkgIGNtU3lzdGVtVG9vbHMuY3h4LCBjbVZUS01ha2VJbnN0YW50aWF0b3JDb21tYW5kLmN4eCwgY21ha2UuY3h4LAoJICBjdGVzdC5jeHg6IEVOSDogUmVuYW1lZCBjbVN0cmluZ1N0cmVhbSB0byBjbU9TdHJpbmdTdHJlYW0gYW5kCgkgIGFkZGVkIGNtSVN0cmluZ1N0cmVhbS4gIFJlbW92ZWQgY21JbnB1dFN0cmluZ1N0cmVhbS4KCjIwMDItMTAtMTAgMDk6NDEgIGFuZHkKCgkqIFNvdXJjZS86IGNtR2xvYmFsQ29kZVdhcnJpb3JHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsQ29kZVdhcnJpb3JHZW5lcmF0b3IuY3h4LCBjbVN0YW5kYXJkSW5jbHVkZXMuaDogUmVtb3ZlCgkgIGNvbXBpbGUgZXJyb3IgYW5kIHJlbW92ZSBzb21lIHdhcm5pbmdzCgoyMDAyLTEwLTEwIDA5OjAyICBraW5nCgoJKiBVdGlsaXRpZXMvY21ha2VfcmVsZWFzZV9jb25maWdfb3NmOiBFTkg6IFVwZGF0ZWQgZm9yIGFjdHVhbAoJICBidWlsZC4KCjIwMDItMTAtMTAgMDg6MjUgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtR2xvYmFsQ29kZVdhcnJpb3JHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsQ29kZVdhcnJpb3JHZW5lcmF0b3IuY3h4OiBmaXhlZCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDAyLTEwLTEwIDA4OjIzICBhbmR5CgoJKiBTb3VyY2UvY3Rlc3QuY3h4OiBSZW1vdmUgd2FybmluZwoKMjAwMi0xMC0xMCAwODoxMSAgYW5keQoKCSogU291cmNlL2NtU2V0Q29tbWFuZC5jeHg6IFJlbW92ZSB3YXJuaW5nCgoyMDAyLTEwLTEwIDA4OjExICBhbmR5CgoJKiBTb3VyY2UvOiBjbVN0YW5kYXJkSW5jbHVkZXMuaCwgY3Rlc3QuY3h4OiBUcnkgdG8gdXNlIHBsYXRmb3JtCgkgIGluZGVwZW5kZW50IGlucHV0IHN0cmluZyBzdHJlYW0KCjIwMDItMTAtMDkgMTc6NDcgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtRHluYW1pY0xvYWRlci5jeHgsIGNtYWtldGVzdC5jeHg6IFJlbW92ZSBtZW1vcnkgbGVhawoJICBjYXVzZWQgYnkgY21EeW5hbWljTG9hZGVyIG5vdCBiZWluZyBkZWxldGVkIHByb3Blcmx5CgoyMDAyLTEwLTA5IDE1OjU0ICBtYXJ0aW5rCgoJKiBUZXN0cy86IENvbXBsZXgvQ01ha2VMaXN0cy50eHQsIENvbXBsZXgvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIENvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwgQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHg6IGFkZGVkIHRlc3Qgb2YgU0VUCgkgIENBQ0hFIEZPUkNFCgoyMDAyLTEwLTA5IDE1OjQ4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbVNldENvbW1hbmQuY3h4LCBjbVNldENvbW1hbmQuaDogYWRkZWQgRk9SQ0Ugb3B0aW9uCgoyMDAyLTEwLTA5IDE1OjM2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NjbWFrZS5jeHg6IGZpeCBmb3IgT1NGCgoyMDAyLTEwLTA5IDE1OjI0ICBiYXJyZQoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogRU5IOiB1cGRhdGUgdGhlIHByb2dyZXNzIHdoZW4KCSAgZ2VuZXJhdGluZyBpcyAiZG9uZSIuCgoyMDAyLTEwLTA5IDEzOjQ5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21HbG9iYWxDb2RlV2FycmlvckdlbmVyYXRvci5oOiBjaGFuZ2VkIG5hbWUKCjIwMDItMTAtMDkgMTM6NDcgIGFuZHkKCgkqIE1vZHVsZXMvRmluZHd4V2luZG93cy5jbWFrZTogQWRkIHNvbWUgc2VhcmNoIHBhdGhzCgoyMDAyLTEwLTA5IDEzOjM3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBhZGRlZCBDb2RlIFdhcnJpb3IgZGV2CgoyMDAyLTEwLTA5IDEzOjMxICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBNYWtlZmlsZS5pbiwgQ01ha2VMaXN0cy50eHQ6IGFkZGVkIGJ1aWxkIGZvciBDb2RlCgkgIFdhcnJpb3IKCjIwMDItMTAtMDkgMTM6MzAgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtR2xvYmFsQ29kZVdhcnJpb3JHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsQ29kZVdhcnJpb3JHZW5lcmF0b3IuY3h4LCBjbUxvY2FsQ29kZVdhcnJpb3JHZW5lcmF0b3IuaDoKCSAgc29tZSB1cGRhdGVzCgoyMDAyLTEwLTA4IDIyOjU0ICBhbmR5CgoJKiBTb3VyY2UvOiBjdGVzdC5jeHgsIGN0ZXN0Lmg6IFJlb3JnYW5pemF0aW9uLCBjbGVhbnVwIGFuZCBzb21lCgkgIGltcHJvdmVtZW50IGluIGRhcnQgZW11bGF0aW9uCgoyMDAyLTEwLTA4IDIyOjAwICBhbmR5CgoJKiBTb3VyY2UvOiBjdGVzdC5jeHgsIGN0ZXN0Lmg6IEFkZCBwYXJzaW5nIG9mIHdhcm5pbmdzIGFuZCBlcnJvcnMKCjIwMDItMTAtMDggMjA6MDIgIGFuZHkKCgkqIFNvdXJjZS86IGN0ZXN0LmN4eCwgY3Rlc3QuaDogQWRkIGNvbmZpZ3VyZSBvcHRpb24gYW5kIGZpeAoJICBwb3RlbnRpYWwgYnVnIGluIG90aGVyIHRhcmdldHMuIE5vdyB0aGUgcnVuIGNvbW1hbmQgaXMgYWN0dWFsbHkKCSAgcnVuIHdpdGggZGlyZWN0b3J5LCBzbyBldmVudHVhbGx5IHdlIHNob3VsZCBiZSBhYmxlIHRvIHJ1biB0aGlzCgkgIGZyb20gYSBzdWJkaXJlY3RvcnkKCjIwMDItMTAtMDggMTU6NTUgIG1hcnRpbmsKCgkqIFRlc3RzLzogTG9hZENvbW1hbmQvQ01ha2VDb21tYW5kcy9jbVRlc3RDb21tYW5kLmMsCgkgIExvYWRDb21tYW5kT25lQ29uZmlnL0NNYWtlQ29tbWFuZHMvY21UZXN0Q29tbWFuZC5jOiBuZXcgcGx1Z2luCgkgIEFQSQoKMjAwMi0xMC0wOCAxNTo1NSAgbWFydGluawoKCSogU291cmNlLzogY21DUGx1Z2luQVBJLmN4eCwgY21DUGx1Z2luQVBJLmgsCgkgIGNtTG9hZENvbW1hbmRDb21tYW5kLmN4eDogc29tZSBtb2RzIHRvIHRoZSBwbHVnaW4gQVBJCgoyMDAyLTEwLTA4IDEwOjUzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21FeGVjUHJvZ3JhbUNvbW1hbmQuY3h4OiBCVUc6IGdldCBhbGwgdGhlIG91dHB1dAoJICBpbmNsdWRpbmcgdGhlIGxhc3QgY2hhcmFjdGVyCgoyMDAyLTEwLTA3IDE2OjIzICBtYXJ0aW5rCgoJKiBDTWFrZUxpc3RzLnR4dDogYWRkZWQgaGVhZGVyIGRlcAoKMjAwMi0xMC0wNyAwOToyMCAgYW5keQoKCSogVGVzdHMvQ09ubHkvOiBmb28uYywgZm9vLmg6IEZpeCBwcm9ibGVtIG9uIEhQCgoyMDAyLTEwLTA3IDA5OjE2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21JZkNvbW1hbmQuY3h4OiBtaW5vciBmaXggdG8gYWxsb3cgaWYgd2l0aCBubyBhcmd1bWVudHMKCjIwMDItMTAtMDcgMDg6MjMgIGFuZHkKCgkqIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4OiBTdXBwcmVzcyBvdXRwdXQgb2YKCSAgdHJ5Y29tcGlsZQoKMjAwMi0xMC0wNiAyMToyNSAgYW5keQoKCSogU291cmNlL2N0ZXN0LmN4eDogRml4IHVwZGF0ZSBzbyB0aGF0IGl0IGFjdHVhbGx5IHVwZGF0ZXMgdGhlCgkgIHNvdXJjZSBkaXJlY3RvcnksCgoyMDAyLTEwLTA2IDIxOjI0ICBhbmR5CgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEZpeCBmb3IgcnVuIGNvbW1hbmQgb24gd2luZG93cy4gSWYgeW91CgkgIHNwZWNpZnkgY29tbWFuZCBpbiBxdW90ZXMgYnV0IG5vdCBmdWxsIHBhdGgsIGl0IHNob3VsZCBzdGlsbCB3b3JrCgoyMDAyLTEwLTA2IDIwOjQ0ICBhbmR5CgoJKiBTb3VyY2UvY3Rlc3QuY3h4OiBBZGQgbWlzc2luZyBuYW1lc3BhY2UKCjIwMDItMTAtMDYgMjA6NDQgIGFuZHkKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogUmV2ZXJ0IGJhY2suIERvZXMgbm90IHNlZW1zIHRvIHdvcmsgb24KCSAgV2luZG93cwoKMjAwMi0xMC0wNiAyMDozNiAgYW5keQoKCSogU291cmNlLzogY3Rlc3QuY3h4LCBjdGVzdC5oOiBBZGQgc29tZSBtaW5pbWFsIERhcnQgY2FwYWJpbGl0eSB0bwoJICBjdGVzdC4gRm9yIGV4YW1wbGUgbm93IHlvdSBjYW4gYWN0dWFsbHkgdXNlIGN0ZXN0IHRvIGJ1aWxkCgkgIHByb2plY3RzLCBkbyBjdnMgdXBkYXRlIG9uIGFsbCBwbGF0Zm9ybXMuIFRoaXMgaXMgZXNwZWNpYWxseSBjb29sCgkgIGZvciBWaXN1YWwgU3R1ZGlvIHdoZXJlIHlvdSBkbyBub3Qgd2FudCB0byBsb2FkIHRoZSB3aG9sZQoJICBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCBqdXN0IHRvIGJ1aWxkIHlvdXIgcHJvamVjdC4KCjIwMDItMTAtMDYgMTg6NTYgIGFuZHkKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQ2hlY2sgaWYgZGlyZWN0b3J5IHdhcyBhY3R1YWxseSBjcmVhdGVkCgoyMDAyLTEwLTA2IDE1OjEwICBiYXJyZQoKCSogVGVtcGxhdGVzL0NNYWtlTk1ha2VXaW5kb3dzU3lzdGVtQ29uZmlnLmNtYWtlOiBFTkg6IG5tYWtlIG5vdwoJICB1c2VzIGluY3JlbWVudGFsIGxpbmtpbmcgYXMgTXNkZXYgZG9lcy4gRmFzdGVyIGJ1aWxkIChsaW5raW5nIGEKCSAgc3RhdGljIHZ0ay5leGUgb3IgcGFyYXZpZXcuZXhlIGNvdWxkIHRha2UgbW9yZSB0aGFuIDEwIG1pbnV0ZXMpCgoyMDAyLTEwLTA2IDEyOjEyICBhbmR5CgoJKiBTb3VyY2UvY21UYXJnZXQuY3h4LCBUZXN0cy9DT25seS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ09ubHkvY29ubHkuYywgVGVzdHMvQ09ubHkvZm9vLmMsIFRlc3RzL0NPbmx5L2Zvby5oOiBJZiB5b3UKCSAgc3BlY2lmeSBoZWFkZXIgZmlsZSBhcyBzb3VyY2UsIGl0IHNob3VsZCBzdGlsbCB1c2UgQyBjb21waWxlciBhbmQKCSAgbm90IENYWC4gQWxzbyBmaXggQ09ubHkgdGVzdCBzbyB0aGF0IGl0IG1ha2Ugc3VyZSB0aGF0IHRoaXMgc3RpbGwKCSAgd29ya3MuLi4KCjIwMDItMTAtMDUgMTA6MjQgIGFuZHkKCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVdpbjMyUHJvY2Vzc0V4ZWN1dGlvbi5oOiBGaXgKCSAgYm9ybGFuZCBidWlsZC4gQm9ybGFuZCBSdW4gY29tbWFuZCBzaG91bGQgYmUgc3RhdGljLCBzaW5jZSBpdCBpcwoJICBjYWxsZWQgd2l0aCBubyBvYmplY3QuLi4KCjIwMDItMTAtMDQgMTg6MTYgIGFuZHkKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsIGNtUmVndWxhckV4cHJlc3Npb24uY3h4LAoJICBjbVJlZ3VsYXJFeHByZXNzaW9uLmgsIGNtU291cmNlR3JvdXBDb21tYW5kLmN4eDogVHJ5IHRvIGltcHJvdmUKCSAgc291cmNlIGdyb3VwIGludGVyZmFjZQoKMjAwMi0xMC0wNCAxNDowMSAgYW5keQoKCSogU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmN4eDogUmVtb3ZlIHRhYnMKCjIwMDItMTAtMDQgMTI6MzAgIGFuZHkKCgkqIFNvdXJjZS9jbUNhY2hlTWFuYWdlci5jeHg6IEZpeCByZWFkaW5nIG9mIGFkdmFuY2VkIHZhbHVlcyBmcm9tCgkgIENNYWtlQ2FjaGUKCjIwMDItMTAtMDQgMTE6NDIgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTG9jYWxDb2RlV2FycmlvckdlbmVyYXRvci5oLAoJICBjbUdsb2JhbENvZGVXYXJyaW9yR2VuZXJhdG9yLmN4eCwKCSAgY21Mb2NhbENvZGVXYXJyaW9yR2VuZXJhdG9yLmN4eDogdXBkYXRlcwoKMjAwMi0xMC0wNCAxMTozMyAgYmFycmUKCgkqIERhcnRDb25maWcuY21ha2U6IEVOSDogbXkgb3BpbmlvbiBpcyB0aGF0IGl0IHNob3VsZCBiZSBBRFZBTkNFRC4KCSAgRmV3IHBlb3BsZSBidWlsZCB0aGUgZG9jLgoKMjAwMi0xMC0wNCAxMDo0NyAgYW5keQoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBBZGQgbWlzc2luZyBhcmd1bWVudAoKMjAwMi0xMC0wNCAxMDozOCAgYW5keQoKCSogU291cmNlLzogY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaCwKCSAgY21XaW4zMlByb2Nlc3NFeGVjdXRpb24uY3h4LCBjbVdpbjMyUHJvY2Vzc0V4ZWN1dGlvbi5oOiBDbGVhbnVwCgkgIFJ1bkNPbW1hbmQgY29kZSBhbmQgbW92ZSBib3JsYW5kIG9uZSB0byB2dGtXaW4zMlByb2Nlc3NFeGVjdXRpb24sCgkgIHNvIHRoYXQgaXQgaXMgYWxsIGluIG9uZSBwbGFjZS4uLiBBZGQgdGltZW91dCBvcHRpb24gd2hpaGMgZG9lcwoJICBub3Qgd29yayB5ZXQsIGJ1dCBpdCBzaG91bGQgbm90IHByb2R1Y2Ugd2FybmluZyBhbnkgbW9yZQoKMjAwMi0xMC0wNCAwODo1OSAgbWFydGluawoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBhbHdheXMgc2V0IFBST0pFQ1RfU09VUkNFX0RJUiBldGMKCjIwMDItMTAtMDMgMTY6NDAgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtR2xvYmFsQ29kZVdhcnJpb3JHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsQ29kZVdhcnJpb3JHZW5lcmF0b3IuY3h4OiBzb21lIGZpeGVzCgoyMDAyLTEwLTAzIDE1OjE0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUdsb2JhbENvZGVXYXJyaW9yR2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxDb2RlV2FycmlvckdlbmVyYXRvci5oLCBjbUxvY2FsQ29kZVdhcnJpb3JHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsQ29kZVdhcnJpb3JHZW5lcmF0b3IuaDogdW5kZXIgZGV2ZWxvcG1lbnQKCjIwMDItMTAtMDIgMTc6NDYgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVdpbjMyUHJvY2Vzc0V4ZWN1dGlvbi5jeHg6IFJldmVydCB0byBmaXggd2luIDl4CgoyMDAyLTEwLTAyIDE3OjMxICBraW5nCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsIGNtU3RhbmRhcmRJbmNsdWRlcy5oOgoJICBFTkg6IEFkZGVkIGV4cGxpY2l0IGRlY2xhcmF0aW9ucyBvZiBzb21lIEMgZnVuY3Rpb25zIHRoYXQgYXJlCgkgIGhhcmQgdG8gZ2V0IGZyb20gc3RhbmRhcmQgaGVhZGVycyBpbiBjb21vCgkgICh3d3cuY29tZWF1Y29tcHV0aW5nLmNvbSkgc3RyaWN0IG1vZGUuCgoyMDAyLTEwLTAyIDE3OjIzICBraW5nCgoJKiBTb3VyY2UvY21JbmNsdWRlQ29tbWFuZC5jeHg6IEJVRzogTXVzdCByZXR1cm4gZmFsc2UgYWZ0ZXIgYW4KCSAgZXJyb3Igb2YgaW5jb3JyZWN0IGFyZ3VtZW50cy4KCjIwMDItMTAtMDIgMTc6MjIgIGtpbmcKCgkqIFNvdXJjZS86IGNtSWZDb21tYW5kLmN4eCwgY21JZkNvbW1hbmQuaDogQlVHOiBTVFJMRVNTIGFuZAoJICBTVFJHUkVBVEVSIG5lZWQgdG8gdHJlYXQgbm9uLWV4aXN0ZW50IGRlZmluaXRpb25zIGFzIHN0cmluZ3MuCgoyMDAyLTEwLTAyIDE3OjE2ICBhbmR5CgoJKiBTb3VyY2UvY21XaW4zMlByb2Nlc3NFeGVjdXRpb24uY3h4OiBDbGVhbnVwIGFuZCB0cnkgdG8gdW5pZnkgd2l0aAoJICB0aGUgb3RoZXIgY29kZQoKMjAwMi0xMC0wMiAxNzoxNCAgYW5keQoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBDbGVhbnVwCgoyMDAyLTEwLTAyIDE2OjQyICBpYmFuZXoKCgkqIE1vZHVsZXMvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkaW5nIGluc3RhbGwgb2YgLmluIGFuZCAuYwoJICBtb2R1bGVzLgoKMjAwMi0xMC0wMiAxMTozNSAgbWFydGluawoKCSogU291cmNlL2NtTG9jYWxCb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBSZW1vdmUgdW5uZWNlc3NhcnkKCSAgbmV3IGxpbmUKCjIwMDItMTAtMDIgMTE6MTUgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogRml4IGJ1ZyBpbiBib3JsYW5kIHJ1biBjb21tYW5kCgoyMDAyLTEwLTAyIDExOjE0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBQcm9kdWNlIG9ubHkgb25lIG91dHB1dAoKMjAwMi0xMC0wMSAxODozNyAga2luZwoKCSogU291cmNlL2NtSVRLV3JhcFRjbENvbW1hbmQuY3h4OiBFTkg6IEFkZGVkIHN1cHBvcnQgdG8gcGFzcyB0aGUKCSAgZ2NjeG1sIHByb2dyYW0gbG9jYXRpb24gdG8gY2FibGUgaWYgSVRLX0dDQ1hNTF9FWEVDVVRBQkxFIGlzIHNldAoJICBvbiBtX01ha2VmaWxlLgoKMjAwMi0xMC0wMSAxNTo1NiAgYW5keQoKCSogTW9kdWxlcy86IFRlc3RCaWdFbmRpYW4uYywgVGVzdEJpZ0VuZGlhbi5jbWFrZTogQWRkIHRlc3QgZm9yIGJpZwoJICBlbmRpYW4KCjIwMDItMTAtMDEgMTM6MDQgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVdpbjMyUHJvY2Vzc0V4ZWN1dGlvbi5jeHg6IEZpeCBncm91cGluZyBvZiBhcmd1bWVudHMgb24KCSAgV2luZG93cyA5OAoKMjAwMi0xMC0wMSAxMzowNCAgbWFydGluawoKCSogU291cmNlL2NtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eDogRml4IGEgYnVnIGluIGdlbmVyYXRvci4KCSAgVGhpcyBvbmUgaXMgZ29vZDogVGhpcyBidWcgaXMgb25seSBwcmVzZW50IG9uIFdpbmRvd3MgOTgsIGJ1dAoJICBzaW5jZSBSdW5Db21tYW5kIGRpZCBub3Qgd29yaywgaXQgbmV2ZXIgc2hvd2VkIG9uIHRoZQoJICBkYXNoYm9hcmQuLi4gSW4gYW55IGNhc2UgY29tbWFuZHMgaW4gVmlzdWFsIHN0dWRpbyA2IHNob3VsZCBiZSBpbgoJICB3aW5kb3dzIHN0eWxlIHNsYXNoZXMKCjIwMDItMTAtMDEgMTM6MDAgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbXc5eGNvbS5jeHg6IFB1dCBxdW90ZXMgYXJvdW5kIGFyZ3VtZW50cyBpZiB0aGV5IGhhdmUKCSAgc3BhY2VzIGFuZCBubyBxdW90ZXMKCjIwMDItMTAtMDEgMTI6NTkgIG1hcnRpbmsKCgkqIFRlc3RzLzogQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwgQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvQ01ha2VMaXN0cy50eHQ6IFJlbW92ZSBib2d1cyBleGVjX3Byb2dyYW0KCjIwMDItMTAtMDEgMTA6MTIgIGliYW5legoKCSogTW9kdWxlcy9GaW5kRkxUSy5jbWFrZTogRU5IOiByZW1vdmVkICJVU0VfRkxUS19WRVJTSU9OXzEuMSIgaW4KCSAgZmF2b3Igb2YgIkZMVEtfVkVSU0lPTl8xLjEiIHRvIGF2b2lkCSAgICBjb25mdXNpb25zLgoKMjAwMi0xMC0wMSAwNzoyOCAgYW5keQoKCSogU291cmNlLzogTWFrZWZpbGUuaW4sIGNtYWtlbWFpbi5jeHg6IFJlbW92ZSBkZXBlbmRlbmN5IHRvIGR5bmFtaWMKCSAgbG9hZGVyIGR1cmluZyBib290c3RyYXAKCjIwMDItMDktMzAgMjI6MjYgIGliYW5legoKCSogTW9kdWxlcy9GaW5kRkxUSy5jbWFrZTogRU5IOiBWZXJzaW9uIDEuMSBpcyBjb25zaWRlcmVkIHRvIGJlIHRoZQoJICBkZWZhdWx0LgoKMjAwMi0wOS0zMCAyMTozNCAga2luZwoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9jbUN1cnNlc01haW5Gb3JtLmN4eDogRVJSOiBGaXhlZCBiYWQgc2VudGVuY2UKCSAgaW4gZXJyb3IgbWVzc2FnZS4KCjIwMDItMDktMzAgMTY6NDYgIGFuZHkKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEZpeCBidWcgaW4gY2hkaXI7IFdobyBkaWQgdGhpcyBhbnl3YXkuLi4KCjIwMDItMDktMzAgMTY6MjUgIGhvZmZtYW4KCgkqIFNvdXJjZS86IE1ha2VmaWxlLmluLCBjbUR5bmFtaWNMb2FkZXIuY3h4LCBjbWFrZW1haW4uY3h4OiBCVUc6CgkgIGZpeCBsb2FkIGNvbW1hbmQgc3R1ZmYgZm9yIGN5Z3dpbiBhbmQgY2xlYW51cCBhdCBleGl0CgoyMDAyLTA5LTMwIDE1OjA1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21XaW4zMlByb2Nlc3NFeGVjdXRpb24uaDogQWRkIHNvbWUgbW9yZSBjb21tZW50cwoKMjAwMi0wOS0zMCAxNTowMCAgbWFydGluawoKCSogU291cmNlL2NtV2luMzJQcm9jZXNzRXhlY3V0aW9uLmN4eDogQ2xlYW51cHMgYW5kIGhvcGVmdWxseSBub3cgaXQKCSAgd29ya3Mgb24gYWxsIHdpbmRvd3MgcGxhdGZvcm1zCgoyMDAyLTA5LTMwIDE0OjAxICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBTZXQgY29tc3BlYyBzdWJzdGl0dXRlIHRoZSByaWdodCB3YXkKCjIwMDItMDktMzAgMTQ6MDAgIG1hcnRpbmsKCgkqIFNvdXJjZS9jdGVzdC5jeHg6IFNldCBjb21zcGVjIHN1YnN0aXR1dGUKCjIwMDItMDktMzAgMTM6NTkgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbXc5eGNvbS5jeHg6IEFkZCBzcGFjZXMKCjIwMDItMDktMzAgMTI6MjQgIGliYW5legoKCSogTW9kdWxlcy9GaW5kTEFURVguY21ha2U6CUNvbmZpZ3VyYXRpaW9uIGZvciBmaW5kaW5nIExhVGVYCgkgIHJlbGF0ZWQgZXhlY3V0YWJsZXMuCgoyMDAyLTA5LTMwIDExOjQxICBhbmR5CgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21TeXN0ZW1Ub29scy5jeHgsIGNtYWtlLmN4eCwKCSAgY213OXhjb20uY3h4OiBBbm90aGVyIGF0dGVtcHQgb24gV2luZG93cyA5OAoKMjAwMi0wOS0zMCAxMTowMCAgYW5keQoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBBdHRlbXB0IHRvIHVuaWZ5IHRoZSBjb2RlCgoyMDAyLTA5LTMwIDEwOjQ3ICBhbmR5CgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEZpeCBidWcgaW4gcHJpbnRpbmcKCjIwMDItMDktMzAgMDc6NTUgIGFuZHkKCgkqIFNvdXJjZS9jbVdpbjMyUHJvY2Vzc0V4ZWN1dGlvbi5jeHg6IFJlbW92ZSB3YXJuaW5ncyBhbmQgZml4CgkgIHBvdGVudGlhbCBidWcKCjIwMDItMDktMzAgMDc6MDkgIGFuZHkKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwKCSAgVGVtcGxhdGVzL0NNYWtlQm9ybGFuZFdpbmRvd3NTeXN0ZW1Db25maWcuY21ha2U6IE1ha2UgYm9ybGFuZAoJICBwYXNzIGFsbCB0aGUgdGVzdHMgb24gWFAgKGFuZCAyMDAwPykKCjIwMDItMDktMjkgMjI6MTAgIGFuZHkKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogUmVtb3ZlIGRlYnVnCgoyMDAyLTA5LTI5IDIxOjU3ICBhbmR5CgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEl0IGlzIGxhdGUgYW5kIGl0IGF0IGxlYXN0IHNlZW1zIHRvCgkgIHdvcmsgYmV0dGVyIHRoYW4gYmVmb3JlLi4uCgoyMDAyLTA5LTI5IDIxOjU1ICBhbmR5CgoJKiBTb3VyY2UvOiBjbVdpbjMyUHJvY2Vzc0V4ZWN1dGlvbi5jeHgsIGNtV2luMzJQcm9jZXNzRXhlY3V0aW9uLmg6CgkgIEZpeCBmb3IgaXQgdG8gY29tcGlsZSBvbiAiYWxsIiB3aW5kb3dzIHBsYXRmb3Jtcy4uLgoKMjAwMi0wOS0yOSAyMTo0OCAgYW5keQoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBTaW1wbGlmeSBkZWJ1Z2dpbmcgYnkgcmVzZXR0aW5nIGVycm9yCgkgIGNvZGUKCjIwMDItMDktMjkgMTQ6MDkgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtV2luMzJQcm9jZXNzRXhlY3V0aW9uLmN4eCwgY21XaW4zMlByb2Nlc3NFeGVjdXRpb24uaDoKCSAgcG9zc2libGUgZml4IGZvciB3YXJuaW5ncwoKMjAwMi0wOS0yOSAxNDowOSAgbWFydGluawoKCSogU291cmNlL2NtYWtlLmN4eDogY29tcGlsZXIgd2FybmluZ3MKCjIwMDItMDktMjcgMTc6MjggIGFuZHkKCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmgsIGNtYWtlLmN4eDogQWRkIHR3bwoJICBjbWFrZSBjb21tYW5kcyAtRSBlY2hvIGZvciBlY2hvaW5nIHN0cmluZ3MgYW5kIC1FIGNvbXNwZWMgZm9yCgkgIHdvcmthcm91bmQgb2YgYnVnIG9mIHdpbmRvd3MgOXg7IGFkZCBhbm90aGVyIGltcGxlbWVudGF0aW9uIG9mCgkgIHJ1biBjb21tYW5kIG9uIHdpbmRvd3Mgd2hpY2ggc2hvdWxkIHdvcmsuLi4KCjIwMDItMDktMjcgMTc6MjYgIGFuZHkKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbVdpbjMyUHJvY2Vzc0V4ZWN1dGlvbi5jeHgsCgkgIGNtV2luMzJQcm9jZXNzRXhlY3V0aW9uLmg6IEFkZCBjbGFzcyBmb3IgcHJvY2VzcyBleGVjdXRpb24gb24KCSAgV2luZG93cwoKMjAwMi0wOS0yNyAxNzoxNiAgYW5keQoKCSogVGVzdHMvOiBDb21wbGV4L0NNYWtlTGlzdHMudHh0LCBDb21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dDogVXNlIGNtYWtlIGVjaG8KCjIwMDItMDktMjcgMTY6MjMgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuY3h4LCBjbUluc3RhbGxGaWxlc0NvbW1hbmQuY3h4LAoJICBjbUluc3RhbGxQcm9ncmFtc0NvbW1hbmQuY3h4LCBjbUluY2x1ZGVEaXJlY3RvcnlDb21tYW5kLmN4eDoKCSAgcmVtb3ZlZCBzb21lIGluY2x1ZGVzCgoyMDAyLTA5LTI3IDE2OjE5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0LmgsIGNtQ29tbWFuZC5oLAoJICBjbUVuYWJsZVRlc3RpbmdDb21tYW5kLmN4eCwgY21FbmRGb3JFYWNoQ29tbWFuZC5jeHgsCgkgIGNtRm9yRWFjaENvbW1hbmQuY3h4LCBjbUFkZFRlc3RDb21tYW5kLmN4eCwKCSAgY21BdXhTb3VyY2VEaXJlY3RvcnlDb21tYW5kLmN4eCwgY21FbHNlQ29tbWFuZC5jeHgsCgkgIGNtRW5kSWZDb21tYW5kLmN4eCwgY21JZkNvbW1hbmQuY3h4LCBjbUFic3RyYWN0RmlsZXNDb21tYW5kLmN4eCwKCSAgY21BZGREZXBlbmRlbmNpZXNDb21tYW5kLmN4eCwgY21BZGRMaWJyYXJ5Q29tbWFuZC5jeHgsCgkgIGNtSW5zdGFsbFRhcmdldHNDb21tYW5kLmN4eCwgY21NYWNyb0NvbW1hbmQuY3h4LAoJICBjbU1lc3NhZ2VDb21tYW5kLmN4eCwgY21Xcml0ZUZpbGVDb21tYW5kLmN4eCwKCSAgY21BZGRFeGVjdXRhYmxlQ29tbWFuZC5jeHg6IHJlbW92ZWQgc29tZSBpbmNsdWRlcwoKMjAwMi0wOS0yNyAxNjoxOSAgaG9mZm1hbgoKCSogU291cmNlLzogY21TZXRDb21tYW5kLmN4eCwgY21TZXRDb21tYW5kLmg6IEJVRzogZml4IGRvYyBzdHJpbmcKCSAgYW5kIGFsbG93IGEgdmFyaWFibGUgdG8gYmUgcHJvbW90ZWQgZnJvbSBub24tY2FjaGUgdG8gY2FjaGUKCjIwMDItMDktMjcgMTY6MTggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogcmVtb3ZlIHVudXNlZCBzdHVmZgoKMjAwMi0wOS0yNyAxNTo1MiAgbWFydGluawoKCSogU291cmNlL2NtTWFrZWZpbGUuaDogbmV3IHBhdGNoCgoyMDAyLTA5LTI3IDE0OjEyICBhbmR5CgoJKiBUZW1wbGF0ZXMvOiBDQ01ha2VTeXN0ZW1Db25maWcuY21ha2UuaW4sIGNjb25maWd1cmUsCgkgIGNjb25maWd1cmUuaW46IENsZWFudXAgY29uZmlndXJlIHNjcmlwdHMKCjIwMDItMDktMjYgMTU6MTMgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtYWtlLmgsIGNtYWtlLmN4eCwgY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbEdlbmVyYXRvci5oOiBhZGRlZCBwcm9ncmVzcwoKMjAwMi0wOS0yNiAxMzo1MiAgbWFydGluawoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBtaW5vciBtZW1vcnkgZml4CgoyMDAyLTA5LTI1IDE3OjI1ICBhbmR5CgoJKiBNb2R1bGVzLzogQ2hlY2tGdW5jdGlvbkV4aXN0cy5jbWFrZSwgQ2hlY2tJbmNsdWRlRmlsZS5jbWFrZSwKCSAgQ2hlY2tMaWJyYXJ5RXhpc3RzLmNtYWtlOiBTZXQgdmFyaWFibGUgdG8gZWl0aGVyIDEgb3IgZW1wdHkKCSAgc3RyaW5nIGluc3RlYWQgb2YgVFJVRSBhbmQgRkFMU0UKCjIwMDItMDktMjUgMTA6MzggIGFuZHkKCgkqIE1vZHVsZXMvQ2hlY2tMaWJyYXJ5RXhpc3RzLmNtYWtlOiBDbGVhbnVwCgoyMDAyLTA5LTI1IDEwOjA4ICBhbmR5CgoJKiBUZXN0cy86IExvYWRDb21tYW5kL0NNYWtlTGlzdHMudHh0LAoJICBMb2FkQ29tbWFuZC9Mb2FkZWRDb21tYW5kLmguaW4sCgkgIExvYWRDb21tYW5kT25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBMb2FkQ29tbWFuZE9uZUNvbmZpZy9Mb2FkZWRDb21tYW5kLmguaW46IENoZWNrIGZvciBsaWJyYXJ5CgoyMDAyLTA5LTI1IDEwOjA4ICBhbmR5CgoJKiBNb2R1bGVzLzogQ2hlY2tGdW5jdGlvbkV4aXN0cy5jbWFrZSwgQ2hlY2tMaWJyYXJ5RXhpc3RzLmNtYWtlLAoJICBDaGVja1NpemVPZi5jbWFrZTogRml4IG1vZHVsZXMgZm9yIHJlY2VudCBjaGFuZ2VzCgoyMDAyLTA5LTI1IDEwOjA3ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4OiBTZXZlcmFsIGNoYW5nZXM6IENPTVBJTEVfREVGSU5JVElPTlMgaXMKCSAgbm93IGRlcHJpY2F0ZWQuIElmIHlvdSB3YW50IHRvIHNwZWNpZnkgc29tZSwgdXNlIENNQUtFX0ZMQUdTCgkgIC1EQ01BS0VfREVGSU5JVElPTlM6U1RSSU5HPS4uLjsgc2FtZSBnb2VzIGZvciBsaWJyYXJpZXMsIGluY2x1ZGUKCSAgcGF0aCwgLi4uIEl0IG5vdyBkZXRlY3RzIHdldGhlciB0aGUgZmlsZSBpcyBDIG9yIEMrKyBhbmQgdXNlcyB0aGUKCSAgYXByb3ByaWF0ZSBwcm9qZWN0IGNvbW1hbmQsIGl0IGFsc28gZG9lcyB0aGUgcmlnaHQgdGhpbmcgd2hlbgoJICBkb2luZyB0cnlfY29tcGlsZSwgc28gaXQgZG9lcyBub3QgZXhlY3V0ZSBjb25maWd1cmUgZm9yIGV2ZXJ5CgkgIHNpbmdsZSB0cnlfY29tcGlsZQoKMjAwMi0wOS0yNSAwOTozMSAgYW5keQoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBVc2UgZmlsZSBmb3JtYXQKCSAgZGV0ZWN0aW9uCgoyMDAyLTA5LTI1IDA5OjMwICBhbmR5CgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oOiBBZGQgZGV0ZWN0aW9uIG9mCgkgIGZpbGUgZm9ybWF0IGZyb20gZXh0ZW5zaW9uCgoyMDAyLTA5LTI1IDA3OjQ2ICBhbmR5CgoJKiBTb3VyY2UvY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBBdHRlbXB0IHRvIG1ha2UgTk1ha2UgcXVpZXQgZHVyaW5nCgkgIFRSWV9DT01QSUxFCgoyMDAyLTA5LTI0IDE4OjM0ICBhbmR5CgoJKiBTb3VyY2UvOiBjdGVzdC5jeHgsIGN0ZXN0Lmg6IEFkZCB2ZXJib3NlIGZsYWcgLVYsIHdoaWNoIG1ha2VzIHRoZQoJICBvdXRwdXQgb2YgdGVzdHMgdG8gYmUgZGlzcGxheWVkOyBhbHNvIGFkZCBoZWxwIHRvIGN0ZXN0CgoyMDAyLTA5LTI0IDE3OjU4ICBhbmR5CgoJKiBNb2R1bGVzL0NNYWtlQmFja3dhcmRDb21wYXRpYmlsaXR5Qy5jbWFrZSwKCSAgTW9kdWxlcy9DTWFrZUJhY2t3YXJkQ29tcGF0aWJpbGl0eUNYWC5jbWFrZSwKCSAgU291cmNlL2NtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogSW1wcm92ZSBiYWNrd2FyZAoJICBjb21wYXRpYmlsaXR5LCBzbyB0aGF0IGFsbCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHN0dWZmIGlzIGluIHR3bwoJICBtb2R1bGVzOyBmaXggaW52b2tpbmcgb2YgdHJ5X2NvbXBpbGU7IGFkZCBjaGVja2luZyBmb3IgaGVhZGVyCgkgIGZpbGVzIGFuZCBzaXplcyBvZiB0eXBlcwoKMjAwMi0wOS0yNCAxNzozNyAgYW5keQoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBBZGQgc3VwcG9ydCBmb3IgbWFjIGR5bGliCgoyMDAyLTA5LTI0IDE2OjM2ICBhbmR5CgoJKiBNb2R1bGVzLzogQ2hlY2tMaWJyYXJ5RXhpc3RzLmNtYWtlLCBDaGVja0xpYnJhcnlFeGlzdHMubGlzdHMuaW46CgkgIEluaXRpYWwgYXR0ZW1wdCB0byBjaGVjayBpZiBsaWJyYXJ5IGV4aXN0cwoKMjAwMi0wOS0yNCAxNjoyMCAgYW5keQoKCSogTW9kdWxlcy9DaGVja1NpemVPZi5jbWFrZTogSW1wcm92ZSBjaGVjayBzaXplIG9mLiBOb3cgaXQgY2hlY2tzCgkgIGZvciBzb21lIGhlYWRlciBmaWxlcyBiZWZvcmUgdHJ5aW5nIHRvIGNoZWNrIHR5cGVzCgoyMDAyLTA5LTI0IDE0OjQ5ICBraW5nCgoJKiBTb3VyY2UvOiBjbUVuZElmQ29tbWFuZC5jeHgsIGNtSWZDb21tYW5kLmN4eDogW25vIGxvZyBtZXNzYWdlXQoKMjAwMi0wOS0yNCAxNDoyMiAga2luZwoKCSogVXRpbGl0aWVzL2NtYWtlX3JlbGVhc2VfY29uZmlnX29zZjogRU5IOiBBZGRpbmcgcHJvdG90eXBlIHJlbGVhc2UKCSAgY29uZmlnIHNjcmlwdCBmb3IgT1NGLgoKMjAwMi0wOS0yNCAxNDoxOCAga2luZwoKCSogVXRpbGl0aWVzL2NtYWtlX3JlbGVhc2VfY29uZmlnX2N5Z3dpbjogRVJSOiBSZW1vdmVkIG9sZCBjeWd3aW4KCSAgcmVsZWFzZSBjb25maWcgZmlsZS4JQSBzZXBhcmF0ZSBzY3JpcHQgaXMgbm93IHVzZWQuCgoyMDAyLTA5LTI0IDEzOjI0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBmaXhlZCBtZW1vcnkgbGVhawoKMjAwMi0wOS0yNCAxMzoxNyAgbWFydGluawoKCSogU291cmNlL2NtVHJ5UnVuQ29tbWFuZC5jeHg6IGFsd2F5cyBjb252ZXJ0IHRvIG91dHB1dCBwYXRoCgoyMDAyLTA5LTI0IDEwOjQ3ICBob2ZmbWFuCgoJKiBVdGlsaXRpZXMvOiBjbWFrZS1jeWd3aW4tcGFja2FnZS5zaCwgY21ha2VfcmVsZWFzZV9jeWd3aW4uc2g6IHVzZQoJICAvdXNyL2Jpbi9maW5kIGFuZCB1bmFtZSBmb3IgY3lnd2luIHZlcnNpb24KCjIwMDItMDktMjQgMTA6MzAgIGFuZHkKCgkqIFNvdXJjZS9jbUxvYWRDb21tYW5kQ29tbWFuZC5jeHg6IENsZWFudXAKCjIwMDItMDktMjQgMTA6MjQgIGFuZHkKCgkqIFNvdXJjZS86IGNtRHluYW1pY0xvYWRlci5jeHgsIGNtRHluYW1pY0xvYWRlci5oOiBBZGQgYWNjZXNzb3IgZm9yCgkgIEZsdXNoaW5nIGNhY2hlCgoyMDAyLTA5LTI0IDA5OjUxICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IG9uZSBydWxlIHBlciBsaW5lIHNvCgkgIGJvcmxhbmQgbWFrZSBkb2VzIG5vdCBkaWUKCjIwMDItMDktMjQgMDk6NTAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUxvY2FsQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogaGFuZGxlIGxvbmcgY29tbWFuZHMKCjIwMDItMDktMjQgMDk6MjQgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtRHluYW1pY0xvYWRlci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmN4eDogZml4IGZvcgoJICBjeWd3aW4gYW5kIG5tYWtlIHRoYXQgZG9lcyBub3QgZGVmaW5lIFdJTjMyCgoyMDAyLTA5LTIzIDIxOjE0ICBraW5nCgoJKiBVdGlsaXRpZXMvOiBjbWFrZS1jeWd3aW4tcGFja2FnZS5zaCwgY21ha2UtY3lnd2luLlJFQURNRSwKCSAgY21ha2VfcmVsZWFzZV9jeWd3aW4uc2gsIHNldHVwLmhpbnQ6IEVOSDogQWRkZWQgY3lnd2luIHBhY2thZ2luZwoJICBzY3JpcHRzLiAgVGhlIHNldHVwLmhpbnQgYW5kIGNtYWtlLlJFQURNRSBmaWxlcyByZXF1aXJlZCBieQoJICBDeWd3aW4gYXJlIGdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5LgoKMjAwMi0wOS0yMyAxNzoyNCAgYW5keQoKCSogVGVzdHMvOiBMb2FkQ29tbWFuZC9DTWFrZUNvbW1hbmRzL0NNYWtlTGlzdHMudHh0LAoJICBMb2FkQ29tbWFuZE9uZUNvbmZpZy9DTWFrZUNvbW1hbmRzL0NNYWtlTGlzdHMudHh0OiBGaXggcHJvYmxlbQoKMjAwMi0wOS0yMyAxNzoyMCAga2luZwoKCSogVXRpbGl0aWVzL2NtYWtlX3JlbGVhc2VfdW5peF9wYWNrYWdlLnNoOiBFTkg6IEFkZGVkIHRvIGdlbmVyYXRlZAoJICBSRUFETUUgdGhlIHR5cGljYWwgaW5zdGFsbCBsb2NhaXRvbiBvZiAvdXNyL2xvY2FsLgoKMjAwMi0wOS0yMyAxNjo1NyAgYW5keQoKCSogU291cmNlL2NtRHluYW1pY0xvYWRlci5jeHg6IEZpeCBjYWNoZSBmb3Igbm9uIHZvaWQqIHR5cGVzCgoyMDAyLTA5LTIzIDE2OjI0ICBhbmR5CgoJKiBTb3VyY2UvY21EeW5hbWljTG9hZGVyLmN4eDogS2VlcCB0cmFjayBvZiBsaWJyYXJpZXMgc28gdGhhdCB5b3UKCSAgY2FuIGxvYWQgdGhlbSBhcyBtYW55IHRpbWVzIGFzIHlvdSB3YW50Li4uCgoyMDAyLTA5LTIzIDE1OjU3ICBhbmR5CgoJKiBTb3VyY2UvY21ha2V0ZXN0LmN4eDogQ2xlYW51cAoKMjAwMi0wOS0yMyAxNTo1NiAgYW5keQoKCSogVGVzdHMvOiBMb2FkQ29tbWFuZC9DTWFrZUNvbW1hbmRzL0NNYWtlTGlzdHMudHh0LAoJICBMb2FkQ29tbWFuZC9DTWFrZUNvbW1hbmRzL2NtVGVzdENvbW1hbmQuYywKCSAgTG9hZENvbW1hbmRPbmVDb25maWcvQ01ha2VDb21tYW5kcy9DTWFrZUxpc3RzLnR4dCwKCSAgTG9hZENvbW1hbmRPbmVDb25maWcvQ01ha2VDb21tYW5kcy9jbVRlc3RDb21tYW5kLmM6IFNvbWUgbWlub3IKCSAgZml4ZXMgZm9yIG1hYwoKMjAwMi0wOS0yMyAxNTo1NCAgYW5keQoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBGaXggZ2VuZXJhdGlvbiBvZiBDIG9ubHkKCSAgbW9kdWxlcwoKMjAwMi0wOS0yMyAxNTo1MyAgYW5keQoKCSogU291cmNlL2NtRHluYW1pY0xvYWRlci5jeHg6IEZpeCBleHRlbnNpb24gYW5kIHN1ZmZpeCBmb3IgbW9kdWxlcwoJICBvbiBtYWMKCjIwMDItMDktMjMgMTQ6NTcgIG1hcnRpbmsKCgkqIFRlc3RzLzogTG9hZENvbW1hbmQvQ01ha2VDb21tYW5kcy9jbVRlc3RDb21tYW5kLmMsCgkgIExvYWRDb21tYW5kT25lQ29uZmlnL0NNYWtlQ29tbWFuZHMvY21UZXN0Q29tbWFuZC5jOiBjbGVhbnVwCgoyMDAyLTA5LTIzIDE0OjU3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUNQbHVnaW5BUEkuaCwgY21Mb2FkQ29tbWFuZENvbW1hbmQuY3h4OiBjbGVhbmVkIHVwIEFQSQoKMjAwMi0wOS0yMyAxNDoxMSAgYW5keQoKCSogVGVzdHMvOiBMb2FkQ29tbWFuZC9DTWFrZUNvbW1hbmRzL0NNYWtlTGlzdHMudHh0LAoJICBMb2FkQ29tbWFuZE9uZUNvbmZpZy9DTWFrZUNvbW1hbmRzL0NNYWtlTGlzdHMudHh0OiBGaXggdGVzdCBzbwoJICB0aGF0IGl0IHdpbGwgd29yayBvbiBIUAoKMjAwMi0wOS0yMyAxNDowNCAgYW5keQoKCSogU291cmNlL2NtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4OiBGaXggSFAgYnVpbGQKCjIwMDItMDktMjMgMTM6MzIgIGFuZHkKCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVRyeUNvbXBpbGVDb21tYW5kLmN4eDogVHJ5IHRvCgkgIHJlbW92ZSBzb21lIHdhcm5pbmdzCgoyMDAyLTA5LTIzIDEzOjExICBhbmR5CgoJKiBTb3VyY2UvY21Mb2FkQ29tbWFuZENvbW1hbmQuY3h4OiBGaXggbG9hZGluZyBvZiBtb2R1bGUgZm9yCgkgIGJvcmxhbmQKCjIwMDItMDktMjMgMTI6MjMgIGFuZHkKCgkqIFNvdXJjZS9jbUdsb2JhbEdlbmVyYXRvci5jeHg6IFRyeSB0byBmaXggYm9ybGFuZCBhbmQgbm1ha2UgdHJ5CgkgIGNvbXBpbGUKCjIwMDItMDktMjMgMTE6MDYgIGFuZHkKCgkqIFNvdXJjZS86IGNtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4LCBjbVRyeUNvbXBpbGVDb21tYW5kLmgsCgkgIGNtVHJ5UnVuQ29tbWFuZC5jeHg6IEFic3RyYWN0IGNsZWFuaW5nIG9mIGZpbGVzIGFuZCBhZGQgY29kZSB0aGF0CgkgIGRlbGV0ZXMgZmlsZXMgZnJvbSBEZWJ1ZyBzdWJkaXJlY3RvcnkKCjIwMDItMDktMjMgMTE6MDUgIGFuZHkKCgkqIFNvdXJjZS9jbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4OiBSZW1vdmUgZGVidWcgc3R1ZmYKCjIwMDItMDktMjMgMTA6MDEgIGFuZHkKCgkqIE1vZHVsZXMvRmluZHd4V2luZG93cy5jbWFrZTogRml4IGNvbW1lbnRzCgoyMDAyLTA5LTIzIDA5OjU4ICBhbmR5CgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBUcnkgdG8gZml4IHF1b3RlZAoJICBkZWZpbml0aW9ucwoKMjAwMi0wOS0yMyAwOTo0MSAgbWFydGluawoKCSogU291cmNlL2NtSWZDb21tYW5kLmN4eDogaG9wZWZ1bGwgYW5vdGhlciBmaXggdG8gaWYgc3RhdGVtZW50cwoKMjAwMi0wOS0yMyAwOTowNyAgYW5keQoKCSogU291cmNlLzogY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmg6IEF0dGVtcHQgdG8gZml4IFZpc3VhbCBzdHVkaW8gNgoJICBjb21pbGluZwoKMjAwMi0wOS0yMyAwODo1MSAga2luZwoKCSogVXRpbGl0aWVzL2NtYWtlX3JlbGVhc2VfdW5peF9wYWNrYWdlLnNoOiBCVUc6IENyZWF0aW5nIHNvdXJjZQoJICB0YXJiYWxsIHNob3VsZCBub3QgYWZmZWN0IGN1cnJlbnQgZGlyZWN0b3J5LgoKMjAwMi0wOS0yMyAwODo0NCAga2luZwoKCSogVXRpbGl0aWVzLzogY21ha2VfcmVsZWFzZV9jb25maWdfZGFyd2luLAoJICBjbWFrZV9yZWxlYXNlX2NvbmZpZ19ocHV4LCBjbWFrZV9yZWxlYXNlX2NvbmZpZ19pcml4LAoJICBjbWFrZV9yZWxlYXNlX2NvbmZpZ19saW51eCwgY21ha2VfcmVsZWFzZV9jb25maWdfc3VuOiBFTkg6CgkgIEluY3JlbWVudGVkIHZlcnNpb24gdG8gMS40LjUuCgoyMDAyLTA5LTIyIDEwOjA4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Mb2NhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBkZWZpbmVzIGNhbm5vdCBoYXZlCgkgIHF1b3RlcyBpbiB0aGVtCgoyMDAyLTA5LTIyIDA5OjUzICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuaDogc29tZSB0cnkgY29tcGlsZSBmaXhlcwoKMjAwMi0wOS0yMiAwNzo1MiAgbWFydGluawoKCSogU291cmNlLzogY21Xcml0ZUZpbGVDb21tYW5kLmN4eCwKCSAgQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTWFpbkZvcm0uY3h4OiBjb21waWxlciB3YXJuaW5nCgoyMDAyLTA5LTIxIDA3OjI5ICBhbmR5CgoJKiBTb3VyY2UvY21Xcml0ZUZpbGVDb21tYW5kLmN4eDogRml4IG5hbWVzcGFjZSBwcm9ibGVtCgoyMDAyLTA5LTIwIDE1OjAxICBhbmR5CgoJKiBNb2R1bGVzLzogQ2hlY2tGdW5jdGlvbkV4aXN0cy5jbWFrZSwgQ2hlY2tJbmNsdWRlRmlsZS5jbWFrZSwKCSAgQ2hlY2tTaXplT2YuY21ha2U6IEZpeCB0ZXN0cyBmb3IgbmV3IHRyeWNvbXBpbGUgYW5kIHRyeXJ1bgoKMjAwMi0wOS0yMCAxNTowMSAgYW5keQoKCSogU291cmNlLzogY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaCwgY21UcnlDb21waWxlQ29tbWFuZC5jeHgsCgkgIGNtVHJ5UnVuQ29tbWFuZC5jeHg6IEFkZCBHZXRMb2NhbCBvbiBjbU1ha2VmaWxlIGFuZCBvbiBsb2NhbAoJICBidWlsZHMgZG8gbm90IHBlcmZvcm0gdGVzdHMKCjIwMDItMDktMjAgMTQ6MTcgIGFuZHkKCgkqIFRlc3RzLzogTG9hZENvbW1hbmQvQ01ha2VMaXN0cy50eHQsCgkgIExvYWRDb21tYW5kL0xvYWRlZENvbW1hbmQuaC5pbiwKCSAgTG9hZENvbW1hbmRPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIExvYWRDb21tYW5kT25lQ29uZmlnL0xvYWRlZENvbW1hbmQuaC5pbjogSW5jbHVkZSBtb3JlIHRlc3RpbmcKCjIwMDItMDktMjAgMTQ6MTYgIGFuZHkKCgkqIE1vZHVsZXMvOiBDaGVja0luY2x1ZGVGaWxlLmMuaW4sIENoZWNrSW5jbHVkZUZpbGUuY21ha2U6IFNpbXBsaWZ5CgkgIGNoZWNraW5nIGZvciBoZWFkZXJzCgoyMDAyLTA5LTIwIDEzOjQwICBhbmR5CgoJKiBNb2R1bGVzLzogQ2hlY2tJbmNsdWRlRmlsZS5jLmluLCBDaGVja0luY2x1ZGVGaWxlLmNtYWtlOiBBZGQKCSAgbWFjcm8gd2hpY2ggY2hlY2tzIGlmIHRoZSBoZWFkZXIgZmlsZSBleGlzdHMKCjIwMDItMDktMjAgMTM6NDAgIGFuZHkKCgkqIE1vZHVsZXMvQ2hlY2tGdW5jdGlvbkV4aXN0cy5jbWFrZTogRml4IGNvbW1lbnQKCjIwMDItMDktMjAgMTM6MTcgIGFuZHkKCgkqIFRlc3RzLzogTG9hZENvbW1hbmQvQ01ha2VMaXN0cy50eHQsCgkgIExvYWRDb21tYW5kL0xvYWRlZENvbW1hbmQuY3h4LAoJICBMb2FkQ29tbWFuZE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgTG9hZENvbW1hbmRPbmVDb25maWcvTG9hZGVkQ29tbWFuZC5jeHgsCgkgIExvYWRDb21tYW5kL0xvYWRlZENvbW1hbmQuaC5pbiwKCSAgTG9hZENvbW1hbmRPbmVDb25maWcvTG9hZGVkQ29tbWFuZC5oLmluOiBGaXggdGVzdCBzbyB0aGF0IGl0IGRvZXMKCSAgc29tZSBtb2R1bGVzIHRlc3RpbmcgYnkgY2hlY2tpbmcgZm9yIHNvbWUgZnVuY3Rpb25zIGFuZCBzb21lIHNpemUKCSAgb2YgdHlwZXMKCjIwMDItMDktMjAgMTM6MTYgIGFuZHkKCgkqIE1vZHVsZXMvOiBDaGVja0Z1bmN0aW9uRXhpc3RzLmMsIENoZWNrRnVuY3Rpb25FeGlzdHMuY21ha2UsCgkgIENoZWNrU2l6ZU9mLmMsIENoZWNrU2l6ZU9mLmNtYWtlOiBBZGQgdHdvIGNvbW1vbmx5IHVzZWQgbW9kdWxlcy4KCSAgRmlyc3Qgb25lIGNoZWNrcyBpZiB0aGUgZnVuY3Rpb24gZXhpc3RzLCB0aGUgc2Vjb25kIG9uZSBjaGVja3MKCSAgdGhlIHNpemUgb2YgdHlwZQoKMjAwMi0wOS0yMCAxMzoxNSAgYW5keQoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5oLAoJICBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oLCBjbVRyeUNvbXBpbGVDb21tYW5kLmN4eDogQWRkIG9wdGlvbgoJICBvZiBUUllfQ09NUElMRSB0byBzdG9yZSB0aGUgb3V0cHV0IG9mIGNvbXBpbGF0aW9uIHNvIHRoYXQgaWYgdGhlCgkgIG91dHB1dCBmYWlscyB5b3UgY2FuIGRpc3BsYXkgaXQgb3Igc3RvcmUgaXQgaW4gdGhlIGZpbGUKCjIwMDItMDktMjAgMTM6MTQgIGFuZHkKCgkqIFNvdXJjZS86IGNtQ29tbWFuZHMuY3h4LCBjbVdyaXRlRmlsZUNvbW1hbmQuY3h4LAoJICBjbVdyaXRlRmlsZUNvbW1hbmQuaDogQWRkIFdSSVRFX0ZJTEUgY29tbWFuZCwgd2hpY2ggd3JpdGVzIHN0cmluZwoJICB0byBhIGZpbGUKCjIwMDItMDktMjAgMTA6MDYgIG1hcnRpbmsKCgkqIFRlc3RzLzogTG9hZENvbW1hbmQvQ01ha2VDb21tYW5kcy9jbVRlc3RDb21tYW5kLmMsCgkgIExvYWRDb21tYW5kT25lQ29uZmlnL0NNYWtlQ29tbWFuZHMvY21UZXN0Q29tbWFuZC5jOiByZW1vdmVkIGMrKwoJICBzdHlsZSBjb21tZW50cwoKMjAwMi0wOS0yMCAwODowNyAgbWFydGluawoKCSogU291cmNlLzogY21UcnlSdW5Db21tYW5kLmgsIGNtVHJ5UnVuQ29tbWFuZC5jeHg6IGNvbXBpbGVyCgkgIHdhcm5pbmdzCgoyMDAyLTA5LTE5IDE2OjEyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Cb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IGFsbG93IGZvciBsb25nCgkgIGNvbW1hbmQgbGluZXMKCjIwMDItMDktMTkgMTY6MDkgIGFuZHkKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogUmVtb3ZlIHVubmVjZXNzYXJ5IGRpc2FibGluZyBvZiBvdXRwdXQKCjIwMDItMDktMTkgMTY6MDcgIGFuZHkKCgkqIFNvdXJjZS9jbVRyeVJ1bkNvbW1hbmQuY3h4OiBGaXggdHJ5cnVuIHRvIHdvcmsgb24gTGludXgKCjIwMDItMDktMTkgMTU6MDEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogdXNlIHNpbmdsZSBsaW5lIGRlcGVuZAoJICBydWxlcyBmb3IgYm9ybGFuZCBjb21waWxlcgoKMjAwMi0wOS0xOSAxNDo1OSAgaG9mZm1hbgoKCSogU291cmNlL2NtTVNEb3RORVRHZW5lcmF0b3IuY3h4OiBFTkg6IGFkZCBpbmNsdWRlIHRvIHJjLCBhbmQKCSAgbmV3bGluZSB0byBjdXN0b20gY29tbW5hZAoKMjAwMi0wOS0xOSAxNDo1OSAgaG9mZm1hbgoKCSogU291cmNlLzogY21Cb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IGFkZCBpbmNsdWRlIHRvIHJjCgoyMDAyLTA5LTE5IDE0OjU4ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogZml4IGJhZCBlbmRpZgoKMjAwMi0wOS0xOSAxNDo1OCAgaG9mZm1hbgoKCSogVGVtcGxhdGVzLzogRExMSGVhZGVyLmRzcHRlbXBsYXRlLCBFWEVIZWFkZXIuZHNwdGVtcGxhdGUsCgkgIHN0YXRpY0xpYkhlYWRlci5kc3B0ZW1wbGF0ZTogRU5IOiBhZGQgaW5jbHVkZSBwYXRocyB0byByYwoKMjAwMi0wOS0xOSAxNDo0MCAgYW5keQoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBTdXByZXNzIHN0YW5kYXJkIGVycm9yIHdoZW4gcnVubmluZwoJICBjb21tYW5kCgoyMDAyLTA5LTE5IDE0OjM2ICBhbmR5CgoJKiBTb3VyY2UvY21UcnlDb21waWxlQ29tbWFuZC5jeHg6IEZpeCB0cnkgY29tcGlsZSB3aXRoIHNlY29uZAoJICBzaWduYXR1cmUsIHJlbW92ZSBjbWFrZSBsaXN0cyBmcm9tIGNhY2hlIHNvIHRoYXQgbXVsdGlwbGUgdGVzdHMKCSAgd29yawoKMjAwMi0wOS0xOSAxNDozNSAgYW5keQoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuaDogQWRkIGEgd2F5IHRvIGNoZWNrIGlmIHJ1biBjb21tYW5kIG91dHB1dAoJICBpcyBkaXNhYmxlZAoKMjAwMi0wOS0xOSAxNDozNSAgYW5keQoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBXaGVuIGRvaW5nIHRyeSBjb21waWxlIGRpc2FibGUgb3V0cHV0CgoyMDAyLTA5LTE5IDE0OjM0ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUxpc3RGaWxlQ2FjaGUuY3h4LCBjbUxpc3RGaWxlQ2FjaGUuaDogQWRkIGEgd2F5IHRvCgkgIHJlbW92ZSBmaWxlcyBmcm9tIGNhY2hlCgoyMDAyLTA5LTE5IDExOjA2ICBhbmR5CgoJKiBTb3VyY2UvY21UcnlSdW5Db21tYW5kLmN4eDogRml4IGNvbXBpbGUgcHJvYmxlbQoKMjAwMi0wOS0xOSAxMTowMSAgbWFydGluawoKCSogU291cmNlL2NtVHJ5UnVuQ29tbWFuZC5jeHg6IG1pbm9yIGNsZWFudXAKCjIwMDItMDktMTkgMTA6MjUgIGFuZHkKCgkqIE1vZHVsZXMvRmluZHd4V2luZG93cy5jbWFrZTogRml4IGZpbmQgd3hXaW5kb3dzCgoyMDAyLTA5LTE5IDA5OjQ5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUNvbW1hbmRzLmN4eCwgY21UcnlDb21waWxlQ29tbWFuZC5jeHgsCgkgIGNtVHJ5Q29tcGlsZUNvbW1hbmQuaDogdXBkYXRlZCB0byB0cnkgY29tcGlsZQoKMjAwMi0wOS0xOSAwOTo0OCAgbWFydGluawoKCSogU291cmNlLzogY21UcnlSdW5Db21tYW5kLmN4eCwgY21UcnlSdW5Db21tYW5kLmg6IG5ldyBjb21tYW5kCgoyMDAyLTA5LTE5IDA5OjQ3ICBhbmR5CgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEFkZCBvcHRpb24gZm9yIGJ1aWxkaW5nIHd4V2luZG93cyBHVUkgZm9yCgkgIENNYWtlCgoyMDAyLTA5LTE5IDA5OjQyICBhbmR5CgoJKiBNb2R1bGVzL0ZpbmR3eFdpbmRvd3MuY21ha2U6IEltcHJvdmUgc2VhcmNoaW5nIGZvciB3eFdpbmRvd3MKCjIwMDItMDktMTggMTQ6MTggIGFuZHkKCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmgsCgkgIEN1cnNlc0RpYWxvZy9jY21ha2UuY3h4OiBJbXByb3ZlIG1lc3NhZ2UgaGFuZGxlciB0byBpbmNsdWRlCgkgIGNsaWVudCBkYXRhLgoKMjAwMi0wOS0xOCAxMTozOCAgbWFydGluawoKCSogVGVzdHMvOiBMb2FkQ29tbWFuZC9DTWFrZUxpc3RzLnR4dCwKCSAgTG9hZENvbW1hbmQvQ01ha2VDb21tYW5kcy9DTWFrZUxpc3RzLnR4dCwKCSAgTG9hZENvbW1hbmQvQ01ha2VDb21tYW5kcy9jbVRlc3RDb21tYW5kLmMsCgkgIExvYWRDb21tYW5kT25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBMb2FkQ29tbWFuZE9uZUNvbmZpZy9DTWFrZUNvbW1hbmRzL0NNYWtlTGlzdHMudHh0LAoJICBMb2FkQ29tbWFuZE9uZUNvbmZpZy9DTWFrZUNvbW1hbmRzL2NtVGVzdENvbW1hbmQuYzogdGVzdCBwYXNzaW5nCgkgIENNQUtFX0ZMQUdTCgoyMDAyLTA5LTE4IDExOjM3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oLCBjbVRyeUNvbXBpbGVDb21tYW5kLmN4eCwKCSAgY21UcnlDb21waWxlQ29tbWFuZC5oOiBub3cgVHJ5IGNvbXBpbGUgY2FuIGluY2x1ZGUgQ01BS0VfRkxBR1MKCjIwMDItMDktMTggMTE6MzYgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvYWRDb21tYW5kQ29tbWFuZC5jeHg6IGJldHRlciBlcnJvciByZXBvcnRpbmcKCjIwMDItMDktMTggMTA6NDAgIGtpbmcKCgkqIFNvdXJjZS9jbVNldENvbW1hbmQuY3h4OiBFTkg6IElmIFNFVChWQVIpIGlzIGNhbGxlZCB3aXRoIG5vIG90aGVyCgkgIGFyZ3VtZW50cywgcmVtb3ZlIHRoZSBkZWZpbml0aW9uIG9mIFZBUi4KCjIwMDItMDktMTggMTA6MzkgIGtpbmcKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmg6IEVOSDogQWRkZWQKCSAgUmVtb3ZlRGVmaW5pdGlvbiBtZXRob2QuCgoyMDAyLTA5LTE4IDA5OjUzICBiYXJyZQoKCSogU291cmNlL2NtVlRLV3JhcFRjbENvbW1hbmQuY3h4OiBGSVg6IGJldHRlciBzdXBwb3J0IGZvciB0aGUKCSAgVGNsL1RrIDguNCBwcmUtcmVsZWFzZQoKMjAwMi0wOS0xOCAwODoxNSAgYW5keQoKCSogTW9kdWxlcy9GaW5kR1RLLmNtYWtlOiBHTCBzaG91bGQgbm90IGJlIGEgY29tcGxldGVseSBuZWNlc3NhcnkKCSAgdGhpbmcgZm9yIGZpbmRpbmcgR1RLLiBUaGlzIHdpbGwgZmluZCBndGsgYW5kIEdMIGJ1dCBhbHNvIGp1c3QKCSAgR1RLCgoyMDAyLTA5LTE4IDA4OjEzICBhbmR5CgoJKiBTb3VyY2UvY21ha2V3aXphcmQuY3h4OiBSZW1vdmUgdW5uZWNlc3NhcnkgdmFyaWFibGUKCjIwMDItMDktMTggMDg6MDcgIG1hcnRpbmsKCgkqIFRlc3RzLzogTG9hZENvbW1hbmQvQ01ha2VMaXN0cy50eHQsCgkgIExvYWRDb21tYW5kT25lQ29uZmlnL0NNYWtlTGlzdHMudHh0OiByZW1vdmVkIHRhcmdldAoKMjAwMi0wOS0xNyAxNTo0MSAga2luZwoKCSogTW9kdWxlcy9DTWFrZUxpc3RzLnR4dDogRU5IOiBBZGRpbmcgaW5zdGFsbGF0aW9uIG9mIFRSWV9DT01QSUxFCgkgIHRlc3RzLgoKMjAwMi0wOS0xNyAxNTo0MSAga2luZwoKCSogU291cmNlL2NtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4OiBCVUc6IEdlbmVyYXRlZCBDTWFrZUxpc3RzLnR4dAoJICBmaWxlIG5lZWRzIHRvIHRha2UgQ01BS0VfQU5TSV9DWFhGTEFHUyBpbnRvIGFjY291bnQuCgoyMDAyLTA5LTE3IDE0OjQwICBraW5nCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVSUjogRml4ZWQgdHlwbzoKCSAgSU5TVEFMTF9QUk9HUkFNUyAtPiBJTlNUQUxMX1BST0dSQU0uCgoyMDAyLTA5LTE3IDE0OjIwICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTWFpbkZvcm0uY3h4OiBzb21lIGNtYWtlIGFwaSBjaGFuZ2VlcwoKMjAwMi0wOS0xNyAxNDoxOSAgYW5keQoKCSogU291cmNlL2NtYWtld2l6YXJkLmN4eDogU3RyaXAgdGhlIHN0cmluZyB0aGF0IHVzZXIgYW5zd2VycwoKMjAwMi0wOS0xNyAxNDoxOCAgYmFycmUKCgkqIFNvdXJjZS9jbVZUS1dyYXBUY2xDb21tYW5kLmN4eDogRU5IOiBhZGQgc3VwcG9ydCBmb3IgVGNsL1RrIDguNC4wCgoyMDAyLTA5LTE3IDE0OjEyICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21ha2UuaDogdXBkYXRlZCBjb21tZW50cwoKMjAwMi0wOS0xNyAxNDowOSAga2luZwoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IElOU1RBTExfREFUQSBzaG91bGQKCSAgYmUgSU5TVEFMTF9QUk9HUkFNUyBmb3IgcHJvZ3JhbSBpbnN0YWxsIHRhcmdldHMuCgoyMDAyLTA5LTE3IDE0OjA0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTWFpbkZvcm0uY3h4OiBzb21lIGNtYWtlIGFwaSBjaGFuZ2VlcwoKMjAwMi0wOS0xNyAxMzo1OSAgbWFydGluawoKCSogU291cmNlLzogY21NYWtlZmlsZS5jeHgsIGNtYWtlLmN4eCwgY21ha2UuaCwgY21ha2V3aXphcmQuY3h4OgoJICBjbGVhbmVkIHVwIHNvbWUgb2YgdGhlIGNtYWtlIGludGVyZmFjZQoKMjAwMi0wOS0xNyAxMzo1OSAgbWFydGluawoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBuZXcgdGVzdAoKMjAwMi0wOS0xNyAxMzo0OCAgYW5keQoKCSogU291cmNlL2NtYWtld2l6YXJkLmN4eDogUmVwbGFjZSBnZXRsaW5lIHdpdGggZmdldHMgc2luY2UgZ2V0bGluZQoJICBkb2VzIG5vdCBzZWVtcyB0byB3b3JrIHByb3Blcmx5IG9uIE1hYyBPU1gKCjIwMDItMDktMTcgMTE6NDggIGFuZHkKCgkqIFNvdXJjZS86IGNtQ2FjaGVNYW5hZ2VyLmN4eCwgY21DYWNoZU1hbmFnZXIuaCwKCSAgY21NYXJrQXNBZHZhbmNlZENvbW1hbmQuY3h4OiBGaXggcHJvYmxlbXMgd2l0aCBhZHZhbmNlZCBub3QgYmVpbmcKCSAgbWFya2VkLgoKMjAwMi0wOS0xNyAxMDo1NiAga2luZwoKCSogU291cmNlLzogY21JbnN0YWxsRmlsZXNDb21tYW5kLmN4eCwgY21JbnN0YWxsRmlsZXNDb21tYW5kLmgsCgkgIGNtSW5zdGFsbFByb2dyYW1zQ29tbWFuZC5jeHgsIGNtSW5zdGFsbFByb2dyYW1zQ29tbWFuZC5oLAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBJbXByb3ZlZCBpbXBsZW1lbnRhdGlvbiBvZgoJICBJTlNUQUxMX0ZJTEVTIGFuZCBJTlNUQUxMX1BST0dSQU1TIGNvbW1hbmRzLglTb3VyY2UgcGF0aHMgY2FuCgkgIG5vdyBiZSByZWxhdGl2ZSBvciBmdWxsIHBhdGhzLCBhbmQgZG9uJ3QgbmVlZCB0byBiZSBpbiB0aGUgc2FtZQoJICBkaXJlY3RvcnkgYXMgdGhlIENNYWtlTGlzdHMudHh0IGZpbGUuCgoyMDAyLTA5LTE3IDEwOjM4ICBtYXJ0aW5rCgoJKiBUZXN0cy86IExvYWRDb21tYW5kL0NNYWtlQ29tbWFuZHMvY21UZXN0Q29tbWFuZC5jLAoJICBMb2FkQ29tbWFuZE9uZUNvbmZpZy9DTWFrZUNvbW1hbmRzL2NtVGVzdENvbW1hbmQuYzogYWRkZWQKCSAgRGVzdHJ1Y3RvcgoKMjAwMi0wOS0xNyAxMDozOCAgbWFydGluawoKCSogU291cmNlLzogY21DUGx1Z2luQVBJLmgsIGNtTG9hZENvbW1hbmRDb21tYW5kLmN4eDogYWRkZWQKCSAgZGVzdHJ1Y3RvciB0byBsb2FkZWQgY29tbWFuZHMKCjIwMDItMDktMTcgMDk6MTcgIG1hcnRpbmsKCgkqIE1vZHVsZXMvVGVzdEZvckFOU0lTdHJlYW1IZWFkZXJzLmNtYWtlOiBzbGlnaHQgY2hhbmdlIGluCgkgIHNpZ25hdHVyZSBmb3IgVHJ5Q29tcGlsZQoKMjAwMi0wOS0xNyAwOToxNiAgbWFydGluawoKCSogU291cmNlLzogY21HbG9iYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmN4eCwKCSAgY21UcnlDb21waWxlQ29tbWFuZC5jeHgsIGNtVHJ5Q29tcGlsZUNvbW1hbmQuaDogc2xpZ2h0IGNoYW5nZSBpbgoJICBzaWduYXR1cmUKCjIwMDItMDktMTcgMDk6MTYgIG1hcnRpbmsKCgkqIFRlc3RzLzogTG9hZENvbW1hbmQvQ01ha2VMaXN0cy50eHQsCgkgIExvYWRDb21tYW5kT25lQ29uZmlnL0NNYWtlTGlzdHMudHh0OiBzb21lIGNsZWFudXAKCjIwMDItMDktMTcgMDg6MjkgIG1hcnRpbmsKCgkqIFRlc3RzLzogTG9hZENvbW1hbmQvQ01ha2VMaXN0cy50eHQsCgkgIExvYWRDb21tYW5kT25lQ29uZmlnL0NNYWtlTGlzdHMudHh0OiBtaW5vciBmaXggaW4gZXJyb3IgbWVzc2FnZQoKMjAwMi0wOS0xNiAxNjoyNyAgbWFydGluawoKCSogVGVzdHMvOiBMb2FkQ29tbWFuZC9DTWFrZUxpc3RzLnR4dCwKCSAgTG9hZENvbW1hbmQvTG9hZGVkQ29tbWFuZC5jeHgsCgkgIExvYWRDb21tYW5kL0NNYWtlQ29tbWFuZHMvQ01ha2VMaXN0cy50eHQsCgkgIExvYWRDb21tYW5kL0NNYWtlQ29tbWFuZHMvY21UZXN0Q29tbWFuZC5jLAoJICBMb2FkQ29tbWFuZE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgTG9hZENvbW1hbmRPbmVDb25maWcvTG9hZGVkQ29tbWFuZC5jeHgsCgkgIExvYWRDb21tYW5kT25lQ29uZmlnL0NNYWtlQ29tbWFuZHMvQ01ha2VMaXN0cy50eHQsCgkgIExvYWRDb21tYW5kT25lQ29uZmlnL0NNYWtlQ29tbWFuZHMvY21UZXN0Q29tbWFuZC5jOiBsb2FkIGNvbW1hbmQKCSAgdGVzdAoKMjAwMi0wOS0xNSAwOTo1NCAgbWFydGluawoKCSogU291cmNlLzogY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5jeHgsCgkgIGNtQWRkRGVwZW5kZW5jaWVzQ29tbWFuZC5jeHgsIGNtQ2FjaGVNYW5hZ2VyLmN4eCwKCSAgY21FeGVjUHJvZ3JhbUNvbW1hbmQuY3h4LCBjbUZMVEtXcmFwVUlDb21tYW5kLmN4eCwKCSAgY21MaXN0RmlsZUNhY2hlLmN4eCwgY21ha2V0ZXN0LmN4eCwgY3Rlc3QuY3h4OiByZW1vdmUgdW51c2VkCgkgIHZhcmlhYmxlcwoKMjAwMi0wOS0xNSAwOTo0MiAgbWFydGluawoKCSogU291cmNlLzogY21Mb2NhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHg6IHVwZGF0ZWQgdG8gdXNlCgkgIENvbmZpZ3VyZUZpbmFsUGFzcwoKMjAwMi0wOS0xNSAwODo1MyAgbWFydGluawoKCSogU291cmNlLzogY21Mb2NhbEdlbmVyYXRvci5jeHgsIGNtTG9jYWxHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxHZW5lcmF0b3IuY3h4OiBjaGFuZ2VkIGhhbmRsaW5nIG9mIEZpbmFsUGFzcwoKMjAwMi0wOS0xNSAwODo1MyAgbWFydGluawoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBjaGFuZ2VkIHdoZW4gZmluYWwgcGFzcwoJICBpcyBkb25lCgoyMDAyLTA5LTE1IDA4OjUyICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmgsIGNtTWFrZWZpbGUuY3h4OiByZW5hbWVkIEdlbmVyYXRlTWFrZWZpbGUKCSAgdG8gQ29uZmlndXJlRmluYWxQYXNzCgoyMDAyLTA5LTE0IDEwOjU5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTWFpbkZvcm0uY3h4OiByZW1vdmVkIGV4dHJhIEdlbmVyYXRlCgkgIHRoYXQgd2FzIHNjcmV3aW5nIHRoaW5ncyB1cAoKMjAwMi0wOS0xNCAwODo0NyAgbWFydGluawoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogZml4ZWQgd2FybmluZwoKMjAwMi0wOS0xMyAxOToyMyAgbWFydGluawoKCSogU291cmNlL2NtR2xvYmFsR2VuZXJhdG9yLmN4eDogbWFkZSBsZXNzIHZlcmJvc2UKCjIwMDItMDktMTMgMTk6MjMgIG1hcnRpbmsKCgkqIE1vZHVsZXMvVGVzdEZvckFOU0lTdHJlYW1IZWFkZXJzLmNtYWtlOiByZW1vdmVkIG1lc3NhZ2VzCgoyMDAyLTA5LTEzIDE2OjM4ICBraW5nCgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oOiBFTkg6IEFkZGVkCgkgIEZpbGVJc0Z1bGxQYXRoIHRlc3QgbWV0aG9kLgoKMjAwMi0wOS0xMyAxMzo0OCAgbWFydGluawoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbU1ha2VmaWxlLmN4eCwgY21ha2UuaDogc29tZQoJICBmaXhlcyBmb3IgdHJ5IGNvbXBpbGUKCjIwMDItMDktMTMgMTE6MDkgIG1hcnRpbmsKCgkqIFRlbXBsYXRlcy86IENYWENNYWtlU3lzdGVtQ29uZmlnLmNtYWtlLmluLCBjeHhjb25maWd1cmUsCgkgIGN4eGNvbmZpZ3VyZS5pbjogbm93IHVzZXMgVHJ5Q29tcGlsZQoKMjAwMi0wOS0xMyAxMTowNSAgbWFydGluawoKCSogU291cmNlL2NtR2xvYmFsTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5oOiBtaW5vciBmaXgKCSAgaW5FbmFibGVMYW5ndWFnZXMKCjIwMDItMDktMTMgMTE6MDEgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4OiBmaXggdG8gdGhlIGNsZWFudXAgY29kZQoKMjAwMi0wOS0xMyAxMDo0MiAgbWFydGluawoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5oLAoJICBjbUdsb2JhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LCBjbU1ha2VmaWxlLmN4eCwKCSAgY21UcnlDb21waWxlQ29tbWFuZC5jeHg6IGJldHRlciB0cnljb21waWxlIGFuZCBlbmFibGUgbGFuZ2lhZ2VzCgoyMDAyLTA5LTEzIDEwOjQxICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBiZXR0ZXIgdHJ5IGNvbXBpbGUKCjIwMDItMDktMTMgMTA6NDAgIG1hcnRpbmsKCgkqIE1vZHVsZXMvVGVzdEZvckFOU0lTdHJlYW1IZWFkZXJzLmNtYWtlOiByZW1vdmVkIG1lc3NhZ2VzCgoyMDAyLTA5LTEzIDA5OjUxICBhbmR5CgoJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbjogSW1wcm92ZSBib290c3RyYXBwaW5nIG9uIFVuaXgsIHNvIHRoYXQKCSAgaXQgYm9vdHN0cmFwcyBpbiB0aGUgc3ViZGlyZWN0b3J5LiBUaGlzIHByZXZlbnRzIGZyb20gY29tcGlsZXIKCSAgZmlsZXMgYmVpbmcgcmV1c2VkIGFuZCB5b3UgY2FuIGRvIG1ha2UgY2xlYW4uLi4KCjIwMDItMDktMTMgMDk6NDkgIGlzY290dAoKCSogTW9kdWxlcy9GaW5kUXQuY21ha2U6IE1ha2UgUVQgdmFyaWFibGVzIGFkdmFuY2VkCgoyMDAyLTA5LTEzIDA4OjE1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUVuZElmQ29tbWFuZC5jeHgsIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OgoJICBjb21waWxlciB3YXJuaW5nCgoyMDAyLTA5LTEzIDA1OjM5ICBpc2NvdHQKCgkqIE1vZHVsZXMvRmluZFF0LmNtYWtlOiBOZWVkIHRvIHVzZSAkRU5We30gdG8gYWNjZXNzIGVudmlyb25tZW50CgkgIHZhcmlhYmxlcwoKMjAwMi0wOS0xMiAxNjozNiAgbWFydGluawoKCSogTW9kdWxlcy9UZXN0Rm9yQU5TSVN0cmVhbUhlYWRlcnMuY21ha2U6IHNvbWUgY2xlYW51cAoKMjAwMi0wOS0xMiAxNDozNyAgbWFydGluawoKCSogU291cmNlL2NtYWtlLmN4eDogdW5pbml0aWFsaXplZCB2YXIKCjIwMDItMDktMTIgMTM6NTUgIGFuZHkKCgkqIFNvdXJjZS9jbWFrZXRlc3QuY3h4OiBSZW1vdmUgdW5uZWNlc3NhcnkgaW5jbHVkZQoKMjAwMi0wOS0xMiAxMzo0MiAgYW5keQoKCSogU291cmNlL2NtYWtlbWFpbi5jeHg6IFJlbW92ZSB1bm5lY2Vzc2FyeSBpbmNsdWRlCgoyMDAyLTA5LTEyIDEzOjE5ICBiZXR0aW5nZgoKCSogVGVzdHMvV3JhcHBpbmcvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogYWRkZWQKCSAgaW5jbHVkZSBvZiBGaW5kUVQuY21ha2UKCjIwMDItMDktMTIgMTE6NDcgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbU1ha2VmaWxlR2VuZXJhdG9yLmgsCgkgIENNYWtlTGlzdHMudHh0OiBuZXcgYXJjaAoKMjAwMi0wOS0xMiAxMTo0NCAgbWFydGluawoKCSogU291cmNlLzogY21NU0RvdE5FVEdlbmVyYXRvci5jeHgsIGNtTVNEb3RORVRHZW5lcmF0b3IuaCwKCSAgY21NU1Byb2plY3RHZW5lcmF0b3IuY3h4LCBjbU1TUHJvamVjdEdlbmVyYXRvci5oLAoJICBjbURTV1dyaXRlci5jeHgsIGNtRFNXV3JpdGVyLmgsIGNtRFNQV3JpdGVyLmN4eCwgY21EU1BXcml0ZXIuaCwKCSAgY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmgsCgkgIGNtQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgY21Cb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5oOiBuZXcgYXJjaAoKMjAwMi0wOS0xMiAxMTozOCAgYmV0dGluZ2YKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogYWRkZWQgdGVzdCBmb3IgUVRXcmFwVUkgY2FsbGVkIHF0d3JhcHBpbmcKCjIwMDItMDktMTIgMTE6MzcgIGJldHRpbmdmCgoJKiBUZXN0cy9XcmFwcGluZy86IHF0d3JhcHBpbmdtYWluLmN4eCwgQ01ha2VMaXN0cy50eHQ6IGNvcnJlY3RlZAoJICB0ZXN0IGZvciBRVFdyYXBVSQoKMjAwMi0wOS0xMiAxMToxNCAgbWFydGluawoKCSogTW9kdWxlcy86IFRlc3RGb3JBTlNJU3RyZWFtSGVhZGVycy5jbWFrZSwKCSAgVGVzdEZvckFOU0lTdHJlYW1IZWFkZXJzLmN4eDogbmV3IHRyeSBjb21waWxlIG1vZHVsZQoKMjAwMi0wOS0xMiAxMToxMyAgYW5keQoKCSogU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmN4eDogT29wcywgdG9vIGZhc3QgY29tbWl0OyBhZGQgbWlzc2luZyA7CgoyMDAyLTA5LTEyIDExOjEyICBhbmR5CgoJKiBTb3VyY2UvY21DYWNoZU1hbmFnZXIuY3h4OiBBZGQgbW9yZSBlcnJvciBjaGVja2luZwoKMjAwMi0wOS0xMiAxMTowOCAgbWFydGluawoKCSogU291cmNlLzogY21UcnlDb21waWxlQ29tbWFuZC5jeHgsIGNtVHJ5Q29tcGlsZUNvbW1hbmQuaDogYW5vdGhlcgoJICBzaWduYXR1cmUgZm9yIFRyeV9Db21waWxlCgoyMDAyLTA5LTEyIDExOjA4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmN4eCwgY21ha2UuY3h4LCBjbWFrZS5oOiBhZGRlZCBhIGZsYWcgaWYgYQoJICBjbWFrZSBpcyBpbiB0cnkgY29tcGlsZQoKMjAwMi0wOS0xMiAwOTo1NiAgYW5keQoKCSogU291cmNlL2NtTWFya0FzQWR2YW5jZWRDb21tYW5kLmN4eDogRml4IG1hcmsgYXMgYWR2YW5jZWQuIE5vdyBpdAoJICBzaG91bGQgd29yayBwcm9wZXJseQoKMjAwMi0wOS0xMiAwOTowMCAgYW5keQoKCSogU291cmNlLzogY21ha2V3aXphcmQuY3h4LCBjbWFrZXdpemFyZC5oOiBTaW1wbGlmeSBjb2RlLiBTaW5jZSB3ZQoJICBhY2Nlc3MgY2FjaGUgZW50cnkgdGhyb3VnaCB0aGUgaXRlcmF0b3IsIHdlIGRvIG5vdCBuZWVkIHRoZSBjYWNoZQoJICBtYW5hZ2VyIGFueSBtb3JlCgoyMDAyLTA5LTEyIDA4OjU2ICBhbmR5CgoJKiBTb3VyY2UvY21DYWNoZU1hbmFnZXIuaDogRml4IGJ1aWxkIHByb2JsZW0gb24gU3VuCgoyMDAyLTA5LTExIDE2OjQ0ICBiZXR0aW5nZgoKCSogU291cmNlL2NtUVRXcmFwVUlDb21tYW5kLmN4eDogY29ycmVjdGVkIHRoZSBnZW5lcmF0ZWQgbGlzdHMgLmggaW4KCSAgaGVhZGVyIGxpc3QgYW5kIC5jeHggaW4gc291cmNlcyBsaXN0CgoyMDAyLTA5LTExIDE2OjQzICBiZXR0aW5nZgoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBhZGRlZCBnZW5lcmF0aW9uIG9mIHRoZQoJICBHRU5FUkFURURfUVRfRklMRVMgbGlzdCBmb3IgbWFrZSBjbGVhbgoKMjAwMi0wOS0xMSAxNjo0MSAgYmV0dGluZ2YKCgkqIFRlc3RzL1dyYXBwaW5nL0NNYWtlTGlzdHMudHh0OiBhZGRlZCB0ZXN0IGZvciBRVFdyYXBVSQoKMjAwMi0wOS0xMSAxNjo0MCAgYmV0dGluZ2YKCgkqIFRlc3RzL1dyYXBwaW5nLzogcXR3cmFwcGluZ21haW4uY3h4LCBxdHdyYXBwaW5nLnVpOiB0ZXN0IGZvcgoJICBRVFdhcnBVSQoKMjAwMi0wOS0xMSAxNjoxMiAga2luZwoKCSogU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmN4eDogQlVHOiBHZXRDYWNoZVZhbHVlIG11c3QgY2hlY2sgaWYgdmFsdWUKCSAgaXMgVU5JTklUSUFMSVpFRC4gIElmIHNvLCBwcmV0ZW5kIGl0IGRvZXNuJ3QgZXhpc3QuCgoyMDAyLTA5LTExIDE1OjEzICBhbmR5CgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTWFpbkZvcm0uY3h4OiBGaXggYnVnIGluIGNjbWFrZSB3aGljaAoJICBtYWRlIGl0IGNyYXNoIHdoZW4gYWxsIGNhY2hlIHZhbHVlcyB3ZXJlIGRlbGV0ZWQKCjIwMDItMDktMTEgMTU6MDQgIGFuZHkKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvY21DdXJzZXNNYWluRm9ybS5jeHg6IEZpeCBwcm9ibGVtIHdpdGggY2NtYWtlCgkgIGNyYXNoaW5nIG9uIGVtcHR5IGNhY2hlcwoKMjAwMi0wOS0xMSAxNDozOCAgYW5keQoKCSogU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmN4eDogRml4IGZpbmQgYW5kIHJlbW92ZSBjaGVjayBmb3IKCSAgdW5pbml0aWFsaXplZCBlbnRyaWVzCgoyMDAyLTA5LTExIDE0OjA4ICBhbmR5CgoJKiBTb3VyY2UvY21DYWNoZU1hbmFnZXIuY3h4OiBGdW5jdGlvbiBzdHJjYXNlY21wIGlzIG5vdCBwb3J0YWJsZQoKMjAwMi0wOS0xMSAxNDowNSAgYW5keQoKCSogU291cmNlLzogY21DYWNoZU1hbmFnZXIuY3h4LCBjbUNhY2hlTWFuYWdlci5oLAoJICBjbUZpbmRQYXRoQ29tbWFuZC5jeHgsIGNtRmluZFByb2dyYW1Db21tYW5kLmN4eCwgY21NYWtlZmlsZS5jeHgsCgkgIGNtTWFya0FzQWR2YW5jZWRDb21tYW5kLmN4eCwgY21WYXJpYWJsZVJlcXVpcmVzQ29tbWFuZC5jeHgsCgkgIGNtYWtld2l6YXJkLmN4eCwgY21ha2V3aXphcmQuaCwKCSAgQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzQ2FjaGVFbnRyeUNvbXBvc2l0ZS5jeHgsCgkgIEN1cnNlc0RpYWxvZy9jbUN1cnNlc0NhY2hlRW50cnlDb21wb3NpdGUuaCwKCSAgQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTWFpbkZvcm0uY3h4OiBDb3VwbGUgb2YgY2hhbmdlczogY2FjaGUKCSAgdmFyaWFibGVzIG5vdyBoYXZlIGEgbWFwIG9mIHByb3BlcnRpZXMuIEFEVkFOQ0VEIGFuZCBIRUxQU1RSSU5HCgkgIGFyZSBub3cgcHJvcGVydGllcyBvZiBjYWNoZSB2YXJpYWJsZSwgSXNBZHZhbmNlZCBpcyBnb25lLCBzbyBpcwoJICBHZXRDYWNoZUVudHJ5LCBzaW5jZSBjYWNoZSBlbnRyaWVzIGFyZSBub3cgYWxsIHByaXZhdGUuIFRvIGFjY2VzcwoJICB0aGVtLCB5b3UgdXNlIHRoZSBpdGVyYXRvci4gLUFEVkFOQ0VEIGNhY2hlIGVudHJpZXMgYXJlIGdvbmUgYW5kCgkgIGFyZSByZXBsYWNlZCBieSB0aGUgcHJvcGVydHkgb2YgY2FjaGUgdmFyaWFibGVzLiBUaGUgY2FjaGUgZmlsZQoJICBzdGlsbCBsb29rcyB0aGUgc2FtZSwgYnV0IHRoZSAtQURWQU5DRUQgY2FjaGUgZW50cmllcyBhcmUgY3JlYXRlZAoJICB3aGVuIHdyaXRpbmcgZmlsZS4gTWFya0FzQWR2YW5jZWQgYW5kIFZhcmlhYmxlUmVxdWlyZXMgYXJlIGZpeGVkLgoJICBTbyBhcmUgY3Vyc2VzIGd1aSBhbmQgd2l6YXJkCgoyMDAyLTA5LTExIDEzOjI3ICBhbmR5CgoJKiBUZW1wbGF0ZXMvQ0NNYWtlU3lzdGVtQ29uZmlnLmNtYWtlLmluOiBSZW1vdmUgTWFya19BU19BRFZBTkNFRAoJICBmb3Igc29tZSB2YXJpYWJsZXMgdGhhdCBkbyBub3QgZXhpc3QKCjIwMDItMDktMTEgMTI6NTIgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogbWlub3IgZml4IGluIHRyeSBjb21waWxlIGNvZGUKCjIwMDItMDktMTEgMDk6NTQgIGtpbmcKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUR5bmFtaWNMb2FkZXIuY3h4LCBjbUR5bmFtaWNMb2FkZXIuaCwKCSAgY21EeW5hbWljTG9hZGVyQy5jOiBFTkg6IFBvaW50ZXItdG8tZnVuY3Rpb24gdG8gcG9pbnRlci10by1kYXRhCgkgIGNhc3RzIGFyZSBub3QgZXZlbiBhbGxvd2VkIGluIHN0cmljdCBDLiAgUmUtaW1wbGVtZW50ZWQgdGhpcwoJICBjb252ZXJzaW9uIGluIHB1cmUgQysrIHVzaW5nIGEgY2FzdGluZyB0cmljayB3aXRoIGFuIGV4dHJhIGxldmVsCgkgIG9mIGluZGlyZWN0aW9uLgoKMjAwMi0wOS0xMSAwODo1MiAga2luZwoKCSogU291cmNlL2NtRHluYW1pY0xvYWRlckMuYzogRVJSOiBSZW1vdmVkIEMrKy1zdHlsZSBjb21tZW50cywgdXNlZAoJICBDLXN0eWxlIGluc3RlYWQuCgoyMDAyLTA5LTEwIDE3OjI0ICBraW5nCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFUlI6IEFkZGVkIG1pc3NpbmcgaW5jbHVkZSBvZiBzdGRpby5oIGZvcgoJICBzcHJpbnRmLgoKMjAwMi0wOS0xMCAxNjo1MiAgbWFydGluawoKCSogU291cmNlLzogY21UcnlDb21waWxlQ29tbWFuZC5jeHgsIGNtVHJ5Q29tcGlsZUNvbW1hbmQuaDogdXBkYXRlZAoJICBzaWduYXR1cmUKCjIwMDItMDktMTAgMTY6NTIgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmg6IHVwZGF0ZWQgbWFrZWZpbGUgbW92ZWQKCSAgY29tbWFuZHMgaW50byBjbWFrZSBhbmQgZml4ZWQgdHJ5IGNvbXBpbGUKCjIwMDItMDktMTAgMTY6NTEgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUR1bXBEb2N1bWVudGF0aW9uLmN4eDogbW92ZWQgZHVtcCBkb2NzIGludG8gY21ha2UKCjIwMDItMDktMTAgMTY6NTEgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtYWtlLmgsIGNtYWtlLmN4eDogbW92ZWQgY29tbWFuZHMgaW50byBjbWFrZQoKMjAwMi0wOS0xMCAxNjo0OSAgbWFydGluawoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LCBjbUdsb2JhbEdlbmVyYXRvci5oLAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuaCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwKCSAgY21HbG9iYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmg6IG1vZGlmaWVkIFRyeUNvbXBpbGUKCjIwMDItMDktMTAgMTU6NDYgIGtpbmcKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUR5bmFtaWNMb2FkZXIuY3h4LCBjbUR5bmFtaWNMb2FkZXIuaCwKCSAgY21EeW5hbWljTG9hZGVyQy5jOiBFUlI6IENhc3QgZnJvbSBwb2ludGVyLXRvLWRhdGEgdG8KCSAgcG9pbnRlci10by1mdW5jdGlvbiBpcyBub3QgYWxsb3dlZCBpbiBDKysuICBUaGUgY2FzdCBuZWVkZWQgYnkKCSAgY21EeW5hbWljTG9hZGVyOjpHZXRTeW1ib2xBZGRyZXNzIGlzIG5vdyBoaWRkZW4gaW4gYSBDIGZpbGUuCgoyMDAyLTA5LTEwIDE1OjQwICBraW5nCgoJKiBTb3VyY2UvY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFUlI6IEZpeGVzIGZvciBjb21lYXUKCSAgY29tcGlsZXIuICBOVUxMIGlzIGEgcG9pbnRlciBvZiB0eXBlIHZvaWQqLCBhbmQgY2Fubm90IGJlCgkgIGNvbXBhcmVkIGRpcmVjdGx5IHdpdGggb3RoZXIgcG9pbnRlciB0eXBlcy4gIFdlIHVzZSAwIGluc3RlYWQuCgkgIEFsc28gY2hhbmdlZCBwdXRlbnYgdG8gc2V0ZW52IGZvciBjb21lYXUgb24gbGludXguCgoyMDAyLTA5LTEwIDE1OjQwICBraW5nCgoJKiBTb3VyY2UvY21TdGFuZGFyZEluY2x1ZGVzLmg6IEVOSDogQWRkZWQgZGVmaW5pdGlvbiBvZiBfQlNEX1NPVVJDRQoJICB0byBlbmFibGUgcHJvcGVyIHVzZSBvZiBQT1NJWCBmdW5jdGlvbnMgb24gY29tZWF1IGluIGxpbnV4LgoKMjAwMi0wOS0xMCAxNTozOCAga2luZwoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFUlI6IEZpeCBmb3IgYm9ybGFuZCBvbiBsaW51eC4gIFdlCgkgIGNhbm5vdCBkaXJlY3RseSBjb21wYXJlIHRoZSBzdF9kZXYgYW5kIHN0X2lubyBtZW1iZXJzIG9mIHN0cnVjdAoJICBzdGF0LiAgVXNlIG1lbWNtcCBpbnN0ZWFkLgoKMjAwMi0wOS0xMCAxNTozNyAga2luZwoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuY3h4OiBFUlI6IFJlbW92ZWQgc3RyYXkgc2VtaS1jb2xvbi4KCjIwMDItMDktMTAgMTU6MzYgIGtpbmcKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbVJlZ3VsYXJFeHByZXNzaW9uLmN4eCwKCSAgY21SZWd1bGFyRXhwcmVzc2lvbi5oLCBjbU1ha2VEZXBlbmQuY3h4LAoJICBjbUxvYWRDb21tYW5kQ29tbWFuZC5jeHgsIGNtQ1BsdWdpbkFQSS5jeHg6IEVSUjogRml4ZXMgZm9yIGNvbWVhdQoJICBjb21waWxlci4gIE5VTEwgaXMgYSBwb2ludGVyIG9mIHR5cGUgdm9pZCosIGFuZCBjYW5ub3QgYmUKCSAgY29tcGFyZWQgZGlyZWN0bHkgd2l0aCBvdGhlciBwb2ludGVyIHR5cGVzLiAgV2UgdXNlIDAgaW5zdGVhZC4KCjIwMDItMDktMTAgMTU6MzYgIGtpbmcKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEVSUjogRml4IGZvciBib3JsYW5kIG9uIGxpbnV4LgoKMjAwMi0wOS0xMCAxMzozMiAgYmFycmUKCgkqIE1vZHVsZXMvRmluZE9wZW5HTC5jbWFrZTogRklYOiB0eXBvICsgYnJpbmcgYmFjayB0aGUKCSAgT1BFTkdMX2dsX0xJQlJBUlkgcGF0aCB0aGF0IGNhbiBiZSB1c2VkIHRvIGZpbmQgR0xVICh3YXMgd2lwZWQKCSAgb3V0IGZyb20gRmluZEdMVSkKCjIwMDItMDktMTAgMTI6NDkgIG1hcnRpbmsKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogcmVtb3ZlZCBleHRyYSBFTkRJRgoKMjAwMi0wOS0xMCAxMDozNSAga2luZwoKCSogY29uZmlndXJlLCBjb25maWd1cmUuaW46IEVSUjogV2VudCBiYWNrIHRvIG9sZC1zdHlsZSB0ZXN0IGZvcgoJICAtTEFORzpzdGQgb24gdGhlIFNHSS4KCjIwMDItMDktMTAgMTA6MTYgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtRW5kSWZDb21tYW5kLmN4eCwgY21JZkNvbW1hbmQuY3h4OiBiZXR0ZXIgZXJyb3IKCSAgY2hlY2tpbmcgb24gSWYgc3RhdGVtZW50cwoKMjAwMi0wOS0xMCAxMDowMiAga2luZwoKCSogY29uZmlndXJlLCBjb25maWd1cmUuaW46IEVSUjogQUNfU1VCU1QgcmVwbGFjZWQgd2l0aCBBQ19ERUZJTkUuCgkgIE5lZWRlZCB0byBnZXQgY29uZmlndXJlIHNjcmlwdCB0byBjb3JyZWN0bHkgc2V0dXAgY21Db25maWd1cmUuaC4KCjIwMDItMDktMTAgMDk6NTEgIGtpbmcKCgkqIFNvdXJjZS9jbUNvbW1hbmRzLmN4eDogRVJSOiBSZW1vdmVkIGFjY2lkZW50YWwgY29tbWl0LgoKMjAwMi0wOS0xMCAwOTo1MCAga2luZwoKCSogY29uZmlndXJlLCBjb25maWd1cmUuaW4sIFNvdXJjZS9jbUNvbW1hbmRzLmN4eDogQlVHOiBNaXNzaW5nCgkgIEFDX1NVQlNUIGNvbW1hbmRzIGFkZGVkLgoKMjAwMi0wOS0wOSAwOTo1MCAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kT3BlbkdMLmNtYWtlOiBBZGRpbmcgR0xVIHRvIHRoZSBPUEVOR0xfTElCUkFSSUVTIG9ubHkKCSAgaWYgaXQgaXMgZm91bmQuCgoyMDAyLTA5LTA4IDEwOjE1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUdsb2JhbE5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmN4eCwgY21ha2UuY3h4OiBjb21waWxlciB3YXJuaW5ncwoKMjAwMi0wOS0wNyAyMToyNSAgbWFydGluawoKCSogU291cmNlLzogY21HbG9iYWxHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzZHZW5lcmF0b3IuY3h4LAoJICBjbUdsb2JhbFZpc3VhbFN0dWRpbzdHZW5lcmF0b3IuY3h4OiBjb21waWxlciB3YXJuaW5ncwoKMjAwMi0wOS0wNyAyMToyMiAgbWFydGluawoKCSogU291cmNlL2NtTG9jYWxHZW5lcmF0b3IuaDogY29tcGlsZXIgd2FybmluZwoKMjAwMi0wOS0wNyAyMToxOCAgbWFydGluawoKCSogU291cmNlLzogY21HbG9iYWxCb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogZml4IGZvciBib3JsYW5kIGNvbXBpbGVycwoKMjAwMi0wOS0wNiAxODowNSAga2luZwoKCSogU291cmNlL2NtVlRLV3JhcFRjbENvbW1hbmQuY3h4OiBFUlI6IEZpeCBmb3IgYm9ybGFuZCBpbiBnZW5lcmF0ZWQKCSAgY29kZS4gIHZ0a0NvbW1hbmQgaXMgYW1iaWd1b3VzbHkgYm90aCBhIGZ1bmN0aW9uIGFuZCBhIGNsYXNzLgoKMjAwMi0wOS0wNiAxNzoxOSAga2luZwoKCSogY29uZmlndXJlLCBjb25maWd1cmUuaW4sIFRlbXBsYXRlcy9jY29uZmlndXJlLAoJICBUZW1wbGF0ZXMvY2NvbmZpZ3VyZS5pbiwgVGVtcGxhdGVzL2N4eGNvbmZpZ3VyZSwKCSAgVGVtcGxhdGVzL2N4eGNvbmZpZ3VyZS5pbjogRU5IOiBJbXByb3ZlZCBjb25maWd1cmUgdGVzdAoJICBpbXBsZW1lbnRhdGlvbnMgYnkgdXNpbmcgQUNfVFJZX0NPTVBJTEUuCgoyMDAyLTA5LTA2IDE2OjMwICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IHVwZGF0ZWQgdG8gZml4IHRoZSBsb25nCgkgIGRlcGVuZCBsaW5lIGlzc3VlIG9uIEJvcmxhbmQKCjIwMDItMDktMDYgMTQ6MDMgIHN0YXJyZXZlbGQKCgkqIE1vZHVsZXMvRmluZE9wZW5HTC5jbWFrZToKCSAgRVJSOiBGaXggb3BlbmdsIGZpbmRpbmcgb24gb3N4CgoyMDAyLTA5LTA2IDEzOjU2ICBiYXJyZQoKCSogTW9kdWxlcy9GaW5kVENMLmNtYWtlOiBFTkg6IG1ha2Ugc3R1YiBzdHVmZiBBRFZBTkNFRAoKMjAwMi0wOS0wNiAxMzowNCAgbWFydGluawoKCSogU291cmNlLzogY21ha2V3aXphcmQuY3h4LCBDTWFrZUxpc3RzLnR4dCwgTWFrZWZpbGUuaW4sCgkgIGNtR2xvYmFsR2VuZXJhdG9yLmN4eCwgY21HbG9iYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogbmV3IGFyY2gKCjIwMDItMDktMDYgMTM6MDEgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtYWtldGVzdC5jeHgsIGNtYWtlLmN4eCwgY21ha2UuaCwgY21NYWtlZmlsZS5jeHgsCgkgIGNtTWFrZWZpbGUuaCwgY21ha2VtYWluLmN4eDogbmV3IGFyY2gKCjIwMDItMDktMDYgMTM6MDAgIG1hcnRpbmsKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvOiBjY21ha2UuY3h4LCBjbUN1cnNlc0xvbmdNZXNzYWdlRm9ybS5jeHgsCgkgIGNtQ3Vyc2VzTWFpbkZvcm0uY3h4LCBjbUN1cnNlc01haW5Gb3JtLmg6IG5ldyBhcmNoaXRlY3R1cmUKCjIwMDItMDktMDYgMTE6NDcgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy9DTWFrZUJvcmxhbmRXaW5kb3dzU3lzdGVtQ29uZmlnLmNtYWtlOiBmaXggY29tbWVudAoKMjAwMi0wOS0wNiAxMTowMCAgaXNjb3R0CgoJKiBNb2R1bGVzL3JlYWRtZS50eHQ6IEFkZCBpbXBvcnRhbnQgbWlzc2luZyB3b3JkIHRvIGRvY3VtZW50YXRpb24KCjIwMDItMDktMDYgMTA6NTUgIGlzY290dAoKCSogTW9kdWxlcy9yZWFkbWUudHh0OiBNb3JlIGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IGNvbnNpc3RlbnQKCSAgRmluZFhYWC5jbWFrZSBmaWxlcwoKMjAwMi0wOS0wNiAxMDo0NyAgaG9mZm1hbgoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiB1c2UgOjogcnVsZSBhbmQgbm90IGEKCSAgbG9uZyBsaW5lIGV4dGVuc2lvbgoKMjAwMi0wOS0wNiAwOToyNCAgbWFydGluawoKCSogU291cmNlL2NtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBtaW5vciBmaXgKCjIwMDItMDktMDYgMDg6MzMgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogbWlub3IgZml4ZXMKCjIwMDItMDktMDUgMTI6MDAgIGlzY290dAoKCSogTW9kdWxlcy86IEZpbmRGTFRLLmNtYWtlLCBGaW5kR0xVVC5jbWFrZSwgRmluZEdUSy5jbWFrZSwKCSAgRmluZE9wZW5HTC5jbWFrZSwgRmluZFgxMS5jbWFrZTogSGlkZSBsb3RzIG9mIHZhbHVlcyBpbiB0aGUKCSAgYWR2YW5jZWQgbGlzdCBGaXggc29tZSBidWdzIE9wZW5HTCBhbHdheXMgbmVlZHMgWDExIG9uIFVuaXgKCjIwMDItMDktMDUgMDk6MDQgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxvY2FsR2VuZXJhdG9yLmg6IG1hZGUgZGVzdHJ1Y3RvciB2aXJ0dWFsCgoyMDAyLTA5LTA1IDA4OjIyICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21EeW5hbWljTG9hZGVyLmN4eDogcmVtb3ZlZCBzb21lIGNvdXRzCgoyMDAyLTA5LTA0IDE1OjQ2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21DYWNoZU1hbmFnZXIuaDogbWFkZSBtZXRob2QgcHVibGljCgoyMDAyLTA5LTA0IDE1OjI4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Mb2NhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IGZpeGVzCgoyMDAyLTA5LTA0IDE1OjI0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHgsIGNtTG9jYWxHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsR2VuZXJhdG9yLmg6IHVwZGF0ZXMKCjIwMDItMDktMDQgMTU6MjIgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5oLAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvNkdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW82R2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5oLAoJICBjbUxvY2FsVmlzdWFsU3R1ZGlvN0dlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxWaXN1YWxTdHVkaW83R2VuZXJhdG9yLmg6IG5ldyBhcmNoCgoyMDAyLTA5LTA0IDE1OjIyICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUdsb2JhbEJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxCb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUxvY2FsQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmg6IGZpcnN0IGN1dCBhIG5ldyBhcmNoCgoyMDAyLTA5LTA0IDExOjE3ICBtYXJ0aW5rCgoJKiBUZXN0cy9XcmFwcGluZy9DTWFrZUxpc3RzLnR4dDogZml4ZWQgdGVzdCBmb3IgbmV3IGNtYWtlCgoyMDAyLTA5LTA0IDA5OjI0ICBraW5nCgoJKiBNb2R1bGVzL0ZpbmRPcGVuR0wuY21ha2U6IEVSUjogU3RpbGwgbmVlZCB0byBkZWZpbmUKCSAgT1BFTkdMX0lOQ0xVREVfUEFUSCBpbiBhZGRpdGlvbiB0byB0aGUgc3RhbmRhcmQKCSAgT1BFTkdMX0lOQ0xVREVfRElSIGZvciBiYWNrd2FyZCBjb21wYXRhYmlsaXR5LgoKMjAwMi0wOS0wMyAxMjoyOSAgaXNjb3R0CgoJKiBNb2R1bGVzL0ZpbmRNRkMuY21ha2U6IEEgc2ltcGxlIEZpbmRNRkMgbW9kdWxlIGZvciBjb25zaXN0ZW5jeQoKMjAwMi0wOS0wMyAxMDo0MSAgaG9mZm1hbgoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiB1c2Ugd2luZG93cyBwYXRocyBmb3IKCSAgdXRpbGl0eSBkZXBlbmRzCgoyMDAyLTA5LTAzIDEwOjQxICBob2ZmbWFuCgoJKiBTb3VyY2UvY21NU0RvdE5FVEdlbmVyYXRvci5jeHg6IEJVRzogYnVnIGZvciBtb3JlIHRoYW4gb25lIGN1c3RvbQoJICBjb21tYW5kcwoKMjAwMi0wOS0wMyAwOToxNCAgaXNjb3R0CgoJKiBNb2R1bGVzL0RhcnQuY21ha2U6IERhcnQgbm93IGhhcyBhIGNvbmZpZ3VyZSBvcHRpb24KCjIwMDItMDktMDMgMDk6MDAgIGlzY290dAoKCSogTW9kdWxlcy9GaW5kUE5HLmNtYWtlOiBJIGNvcGllZCBhIGJpdCB0b28gbXVjaCBWWEwgZnVuY3Rpb25hbGl0eQoJICBoZXJlLiBPb3BzCgoyMDAyLTA5LTAzIDA4OjMzICBpc2NvdHQKCgkqIE1vZHVsZXMvRmluZFBlcmwuY21ha2U6IEFkZGVkIFBFUkxfRk9VTkQKCjIwMDItMDktMDMgMDg6MjQgIGlzY290dAoKCSogTW9kdWxlcy9GaW5kTVBFRy5jbWFrZTogQWRkIGFuIE1QRUcgZmluZGVyIGluIHRoZSBuZXcgZm9ybWF0IC0KCSAgZnVuY3Rpb25hbGl0eSBjb3BpZWQgZnJvbSBWWEwuCgoyMDAyLTA5LTAzIDA2OjEwICBpc2NvdHQKCgkqIE1vZHVsZXMvOiBGaW5kQVZJRmlsZS5jbWFrZSwgRmluZEdMVS5jbWFrZSwgRmluZEdMVVQuY21ha2UsCgkgIEZpbmRKUEVHLmNtYWtlLCBGaW5kT3BlbkdMLmNtYWtlLCBGaW5kUE5HLmNtYWtlLCBGaW5kVElGRi5jbWFrZSwKCSAgRmluZFgxMS5jbWFrZTogRml4ZWQgbWlzdGFrZSBpbiBjb21tZW50cyBUcmFuc2ZlcnJlZCBPUEVOR0wKCSAgZmluZGluZyBsb2dpYyBpbiBmcm9tIFZYTCBBZGRlZCBTb21lIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdpdGgKCSAgQ01ha2UxLjQKCjIwMDItMDktMDIgMTc6MzQgIGlzY290dAoKCSogTW9kdWxlcy86IEZpbmRGTFRLLmNtYWtlLCBGaW5kR1RLLmNtYWtlOiBNb3ZlZCBGTFRLIGFuZCBHVEsgdG8KCSAgbmV3IEZpbmRYWFggc2NoZW1lLiBJbXBvcnRlZCBzb21lIGZ1bmN0aW9uYWxpdHkgZnJvbSBWWEwKCjIwMDItMDktMDIgMTc6MzMgIGlzY290dAoKCSogTW9kdWxlcy9GaW5kWDExLmNtYWtlOiBzbWFsbCBidWcgZml4ZXMKCjIwMDItMDktMDIgMTc6MjkgIGlzY290dAoKCSogU291cmNlL2NtRkxUS1dyYXBVSUNvbW1hbmQuY3h4OiBGTFRLX0ZMVUlEX0VYRSAtPgoJICBGTFRLX0ZMVUlEX0VYRUNVVEFCTEUgYmVjYXVzZSBNb2R1bGUgZmlsZXMgYXJlIG1vdmluZyB0bwoJICBjb25zaXN0ZW50IHNjaGVtZQoKMjAwMi0wOS0wMiAxNjo1OSAgaXNjb3R0CgoJKiBNb2R1bGVzLzogRmluZFF0LmNtYWtlLCBGaW5kVElGRi5jbWFrZTogRml4IEJ1Z3MKCjIwMDItMDktMDIgMTY6MjQgIGlzY290dAoKCSogTW9kdWxlcy9GaW5kWkxJQi5jbWFrZTogVGhpcyBmaWxlIHNob3VsZCBub3QgYmUgZW1wdHkKCjIwMDItMDktMDIgMTU6NDkgIGlzY290dAoKCSogTW9kdWxlcy86IEZpbmRaTElCLmNtYWtlLCBGaW5kWkxpYi5jbWFrZTogTW92ZWQgRmluZFpMaWIuY21ha2UgdG8KCSAgRmluZFpMSUIuY21ha2UKCjIwMDItMDktMDIgMTU6NDYgIGlzY290dAoKCSogTW9kdWxlcy86IEZpbmRQTkcuY21ha2UsIEZpbmRYMTEuY21ha2UsIEZpbmRaTGliLmNtYWtlOiBDb3BpZWQKCSAgdGhlIFgxMSBQTkcgYW5kIFpMSUIgZnVuY3RvaW5hbGl0eSBmcm9tIFZYTAoKMjAwMi0wOS0wMiAxNDowOCAgaXNjb3R0CgoJKiBNb2R1bGVzLzogRmluZFBORy5jbWFrZSwgRmluZFpMaWIuY21ha2U6IEFkZGluZyBabGliIGFuZCBQTkcgZmluZAoJICBtb2R1bGVzIGluIHRoZSBuZXcgZm9ybWF0CgoyMDAyLTA5LTAyIDEyOjU4ICBpc2NvdHQKCgkqIE1vZHVsZXMvRmluZFRJRkYuY21ha2U6IFRoaXMgRmluZCBNb2R1bGUgaXMgaW4gdGhlIG5ldyBzdHlsZQoKMjAwMi0wOS0wMiAxMjowNSAgaXNjb3R0CgoJKiBNb2R1bGVzLzogRmluZEpQRUcuY21ha2UsIEZpbmRRdC5jbWFrZSwgRmluZFdnZXQuY21ha2UsCgkgIEZpbmRaTGliLmNtYWtlOiBBZGQgaGVscGZ1bCBtZXNzYWdlIGZvciBRVCBXaW5kb3dzIHVzZXJzIEFkZAoJICBGaW5kWkxpYiBpbiBuZXcgZm9ybWF0IE1vdmUgRmluZEpQRUcgYW5kIEZJTkRXR0VUIG92ZXIgdG8gbmV3CgkgIHNjaGVtZQoKMjAwMi0wOS0wMiAwNzowMyAgaXNjb3R0CgoJKiBNb2R1bGVzL0ZpbmRBVklGaWxlLmNtYWtlLCBNb2R1bGVzL0ZpbmRRdC5jbWFrZSwKCSAgTW9kdWxlcy9MaW5rUVQuY21ha2UsIE1vZHVsZXMvcmVhZG1lLnR4dCwKCSAgU291cmNlL2NtUVRXcmFwQ1BQQ29tbWFuZC5jeHgsIFNvdXJjZS9jbVFUV3JhcFVJQ29tbWFuZC5jeHg6CgkgIERlZmluZSBhIHNpbmdsZSBleHBlY3RlZCBmb3JtYXQgZm9yIHRoZSB2YWx1ZXMgZGVmaW5lZCBpbiBldmVyeQoJICBGaW5kWFhYLmNtYWtlIGZpbGUuICBVcGdyYWRlIGFsbCB0aGUgUVQgZnVuY3Rpb25hbGl0eSB0byB1c2UgdGhlCgkgIG5ldyBGaW5kWFhYLmNtYWtlIGZvcm1hdCBBZGQgYSBtb2R1bGUgZm9yIEFWSUZpbGUuCgoyMDAyLTA4LTMwIDE2OjAxICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUdsb2JhbFVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxVbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbUxvY2FsVW5peE1ha2VmaWxlR2VuZXJhdG9yLmgsCgkgIGNtR2xvYmFsTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtR2xvYmFsTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5oLAoJICBjbUxvY2FsTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtTG9jYWxOTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmg6IGluIHByb2dyZXNzCgoyMDAyLTA4LTMwIDE2OjAwICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUdsb2JhbEdlbmVyYXRvci5jeHgsIGNtR2xvYmFsR2VuZXJhdG9yLmgsCgkgIGNtTG9jYWxHZW5lcmF0b3IuY3h4LCBjbUxvY2FsR2VuZXJhdG9yLmg6IGluIHByb2dyZXNzIGNoZWNraW4KCjIwMDItMDgtMzAgMDk6NTQgIGhvZmZtYW4KCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQ6IGFkZCBycGNydDQubGliCgkgIGJlY2F1c2Ugb2YgQ01ha2VMaWIgbmVlZGluZyBpdAoKMjAwMi0wOC0yOSAwOTo0NSAgbWFydGluawoKCSogU291cmNlL2NtQ1BsdWdpbkFQSS5jeHg6IGV4dGVybiBDIGZpeGVzCgoyMDAyLTA4LTI4IDE2OjM1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nLzogY2NtYWtlLmN4eCwgY21DdXJzZXNNYWluRm9ybS5jeHgsCgkgIGNtQ3Vyc2VzTWFpbkZvcm0uaDogc29tZSBjaGFuZ2VzIGluIGNhY2hlbWFuYWdlciBhbmQgc2luZ2xldG9ucwoKMjAwMi0wOC0yOCAxNjozNCAgbWFydGluawoKCSogU291cmNlL2NtYWtldGVzdC5jeHg6IG5vIG1vcmUgc2luZ2xldG9ucwoKMjAwMi0wOC0yOCAxNjozMyAgbWFydGluawoKCSogVGVzdHMvOiBDb21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dDogbm93IG5lZWRzIGR5bmxpYgoJICBzdXBwb3J0CgoyMDAyLTA4LTI4IDE1OjA4ICBraW5nCgoJKiBVdGlsaXRpZXMvOiBjbWFrZV9yZWxlYXNlX2NvbmZpZ19jeWd3aW4sCgkgIGNtYWtlX3JlbGVhc2VfdW5peF9idWlsZC5zaCwgY21ha2VfcmVsZWFzZV91bml4X2NvbmZpZy5zaCwKCSAgY21ha2VfcmVsZWFzZV91bml4X3BhY2thZ2Uuc2g6IEVOSDogTW92ZWQgYnVpbGQgb2Ygc291cmNlIHRhcmJhbGwKCSAgdG8gcGFja2FnZSBzY3JpcHQuCgoyMDAyLTA4LTI4IDE0OjUxICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUNQbHVnaW5BUEkuY3h4LCBjbUNhY2hlTWFuYWdlci5jeHgsIGNtQ2FjaGVNYW5hZ2VyLmgsCgkgIGNtQ29tbWFuZHMuY3h4LCBjbUZpbmRQYXRoQ29tbWFuZC5jeHgsIGNtRmluZFByb2dyYW1Db21tYW5kLmN4eCwKCSAgY21Mb2FkQ2FjaGVDb21tYW5kLmN4eCwgY21Mb2FkQ29tbWFuZENvbW1hbmQuY3h4LAoJICBjbU1TRG90TkVUR2VuZXJhdG9yLmN4eCwgY21NU0RvdE5FVEdlbmVyYXRvci5oLAoJICBjbU1TUHJvamVjdEdlbmVyYXRvci5jeHgsIGNtTVNQcm9qZWN0R2VuZXJhdG9yLmgsIGNtTWFrZWZpbGUuY3h4LAoJICBjbU1ha2VmaWxlLmgsIGNtTWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbU1ha2VmaWxlR2VuZXJhdG9yLmgsCgkgIGNtTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHgsIGNtTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5oLAoJICBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmgsCgkgIGNtVmFyaWFibGVSZXF1aXJlc0NvbW1hbmQuY3h4LCBjbWFrZS5jeHgsIGNtYWtlLmgsIGNtYWtlbWFpbi5jeHgsCgkgIGNtYWtld2l6YXJkLmN4eCwgY21ha2V3aXphcmQuaDogY2hhbmdlZCBjYWNoZSBtYW5hZ2VyIGFuZAoJICByZWdpc3RlcmVkIGdlbmVyYXRvcnMgdG8gbm8gbG9uZ2VyIGJlIHNpbmdsZXRvbnMKCjIwMDItMDgtMjggMTQ6NDkgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtVHJ5Q29tcGlsZUNvbW1hbmQuY3h4LCBjbVRyeUNvbXBpbGVDb21tYW5kLmg6IGFuIGVhcmx5CgkgIGNoZWNraW5nIG5vdCBjb21wbGV0ZQoKMjAwMi0wOC0yOCAxNDozMyAgaG9mZm1hbgoKCSogU291cmNlL2NtQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTVNEb3RORVRHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgVGVtcGxhdGVzL0RMTEhlYWRlci5kc3B0ZW1wbGF0ZSwgVGVtcGxhdGVzL0VYRUhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVtcGxhdGVzL0VYRVdpbkhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVtcGxhdGVzL3N0YXRpY0xpYkhlYWRlci5kc3B0ZW1wbGF0ZTogRU5IOiBhZGQgaW5jbHVkZSBwYXRocyB0bwoJICByYyBwcm9ncmFtIGZvciByZXNvdXJjZSBnZW5lcmF0aW9uCgoyMDAyLTA4LTI4IDEwOjQzICBraW5nCgoJKiBVdGlsaXRpZXMvc2V0dXAuaGludDogRU5IOiBJbmNyZW1lbnRlZCB2ZXJzaW9uIG51bWJlciBmb3IgMS40LTQKCjIwMDItMDgtMjggMTA6NDAgIGtpbmcKCgkqIFV0aWxpdGllcy86IGNtYWtlLWN5Z3dpbi5SRUFETUUsIHNldHVwLmhpbnQ6IEVOSDogQWRkaW5nIGN5Z3dpbgoJICBpbnN0YWxsYXRpb24gZmlsZXMgdG8gYnJhbmNoLgoKMjAwMi0wOC0yOCAxMDoyOCAgaG9mZm1hbgoKCSogVXRpbGl0aWVzLzogY21ha2UtY3lnd2luLlJFQURNRSwgY21ha2VfcmVsZWFzZV9jb25maWdfY3lnd2luLAoJICBzZXR1cC5oaW50OiBbbm8gbG9nIG1lc3NhZ2VdCgoyMDAyLTA4LTI4IDA5OjMwICBraW5nCgoJKiBVdGlsaXRpZXMvY21ha2VfcmVsZWFzZV9jb25maWdfZGFyd2luOiBTd2l0Y2hlZCB0byByZWxlYXNlIGJyYW5jaAoJICB0YWcgaW5zdGVhZCBvZiBzdGlja3kgdGFnLgoKMjAwMi0wOC0yOCAwOToyNyAga2luZwoKCSogVXRpbGl0aWVzL2NtYWtlX3JlbGVhc2VfY29uZmlnX2RhcndpbjogRU5IOiBBZGRpbmcgcmVsZWFzZQoJICBjb25maWd1cmF0aW9uIGZvciBkYXJ3aW4uCgoyMDAyLTA4LTI4IDA5OjA3ICBraW5nCgoJKiBVdGlsaXRpZXMvY21ha2VfcmVsZWFzZV91bml4X3BhY2thZ2Uuc2g6IEJVRzogRG9uJ3QgZXJhc2UgdGFyYmFsbAoJICBkaXJlY3RvcnkgaW4gcGFja2FnaW5nIHN0ZXAgaW4gY2FzZSB0aGVyZSBpcyBhIHNvdXJjZSB0YXJiYWxsCgkgIHRoZXJlLgoKMjAwMi0wOC0yOCAwOTowNCAgaG9mZm1hbgoKCSogVXRpbGl0aWVzLzogY21ha2VfcmVsZWFzZV91bml4X2NvbmZpZy5zaCwKCSAgY21ha2VfcmVsZWFzZV91bml4X3BhY2thZ2Uuc2g6IGN5Z3dpbiByZWxlYXNlCgoyMDAyLTA4LTI4IDA4OjUxICBraW5nCgoJKiBVdGlsaXRpZXMvOiBjbWFrZV9yZWxlYXNlX2NvbmZpZ19ocHV4LCBjbWFrZV9yZWxlYXNlX2NvbmZpZ19pcml4LAoJICBjbWFrZV9yZWxlYXNlX2NvbmZpZ19saW51eCwgY21ha2VfcmVsZWFzZV9jb25maWdfc3VuOiBFTkg6CgkgIFVwZGF0ZWQgcmVsZWFzZSBzY3JpcHQgY29uZmlndXJhdGlvbiBmb3IgQ01ha2UgcmVsZWFzZSAxLjQuNC4KCjIwMDItMDgtMjcgMTQ6NDUgIGFuZHkKCgkqIFNvdXJjZS9jbVNvdXJjZUZpbGUuY3h4OiBGaXggYnVnIGluIHRyeWluZyB0byBzZXQgc3RkaW5nIHdpdGgKCSAgbnVsbAoKMjAwMi0wOC0yNyAwOTo0MyAgaG9mZm1hbgoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIGNtTG9hZENvbW1hbmRDb21tYW5kLmN4eDogRU5IOiBmaXgKCSAgd2FybmluZ3MKCjIwMDItMDgtMjcgMDg6MzYgIG1hcnRpbmsKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUNvbW1hbmRzLmN4eDogZml4ZWQgYm9vdHN0cmFwIGJ1aWxkIHRvCgkgIG5vdCB1c2UgTG9hZENPbW1hbmRDT21tYW5kCgoyMDAyLTA4LTI2IDE1OjIyICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUdldFNvdXJjZUZpbGVQcm9wZXJ0eUNvbW1hbmQuY3h4LAoJICBjbUdldFNvdXJjZUZpbGVQcm9wZXJ0eUNvbW1hbmQuaDogdXBkYXRlZCB0byBtYXRjaCB0aGUgU0VUCgoyMDAyLTA4LTI2IDE1OjIwICBtYXJ0aW5rCgoJKiBUZXN0cy86IENvbXBsZXgvQ01ha2VMaXN0cy50eHQsIENvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0OiBhZGRlZCBuZXcgZm9ybSBvZiBTZXQgc291cmNlCgkgIGZpbGUgcHJvcGVydGllcyBjb21tYW5kCgoyMDAyLTA4LTI2IDEwOjUyICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUNQbHVnaW5BUEkuY3h4LCBjbUNQbHVnaW5BUEkuaCwgY21Db21tYW5kcy5jeHgsCgkgIGNtTG9hZENvbW1hbmRDb21tYW5kLmN4eDogbm93IHVzZXMgc3R1YnMKCjIwMDItMDgtMjYgMDg6NTMgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVNldFNvdXJjZUZpbGVzUHJvcGVydGllc0NvbW1hbmQuY3h4OiBmaXhlZCBidWcgbWF5YmUKCjIwMDItMDgtMjMgMTc6MDAgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy9jeHhjb25maWd1cmUsIFRlbXBsYXRlcy9jeHhjb25maWd1cmUuaW4sIGNvbmZpZ3VyZSwKCSAgY29uZmlndXJlLmluOiB0cnkgYW5vdGhlciBmbGFnIGZvciB0aGUgZGVjIGNvbXBpbGVyLi4uCgoyMDAyLTA4LTIzIDE2OjI1ICBob2ZmbWFuCgoJKiBUZXN0cy86IENvbXBsZXgvQ01ha2VMaXN0cy50eHQsIENvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0OiBubyBtb3JlIGRsbCBmb3IgcGx1Z2luCgoyMDAyLTA4LTIzIDE2OjE1ICBtYXJ0aW5rCgoJKiBUZXN0cy86IENvbXBsZXgvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0OiByZW1vZXZkIHNoYXJlZAoJICBsaWIKCjIwMDItMDgtMjMgMTY6MTIgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQ1BsdWdpbkFQSS5oLCBjbUNhY2hlTWFuYWdlci5oLCBjbURpcmVjdG9yeS5oLAoJICBjbVJlZ3VsYXJFeHByZXNzaW9uLmgsIGNtU3RhbmRhcmRJbmNsdWRlcy5oLCBjbVN5c3RlbVRvb2xzLmgsCgkgIGNtYWtlLmgsIENNYWtlTGlzdHMudHh0LCBjbUxpc3RGaWxlQ2FjaGUuaCwgY21NYWtlZmlsZS5oLAoJICBjbU1ha2VmaWxlR2VuZXJhdG9yLmgsIGNtYWtld2l6YXJkLmg6IHJlbW92ZWQgc2hhcmVkIGxpYiBzdXBwb3J0CgoyMDAyLTA4LTIzIDE2OjEyICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21ha2V0ZXN0LmN4eDogbWVtb3J5IGlzc3VlCgoyMDAyLTA4LTIzIDE1OjExICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbVZUS01ha2VJbnN0YW50aWF0b3JDb21tYW5kLmN4eCwgY21DYWNoZU1hbmFnZXIuaCwKCSAgY21DUGx1Z2luQVBJLmN4eDogY29tcGlsZXIgd2FybmluZ3MKCjIwMDItMDgtMjMgMTM6NDcgIGhvZmZtYW4KCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQ6IEJVRzogZml4IGZvcgoJICBjeWd3aW4KCjIwMDItMDgtMjMgMTM6NDYgIGhvZmZtYW4KCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUNhY2hlTWFuYWdlci5jeHgsIGNtQ2FjaGVNYW5hZ2VyLmgsCgkgIGNtYWtlLmN4eCwgY21ha2UuaCwgY21ha2VtYWluLmN4eCwgY21ha2V0ZXN0LmN4eCwKCSAgQ3Vyc2VzRGlhbG9nL0NNYWtlTGlzdHMudHh0LCBDdXJzZXNEaWFsb2cvZm9ybS9DTWFrZUxpc3RzLnR4dDoKCSAgQlVHOiBhZGQgZXhwbGljaXQgY2xlYW4gdXAgb2YgdGhlIGNhY2hlbWFuYWdlciBhdCBleGl0IG9mCgkgIHByb2dyYW1zLCBzbyBkbGwgZGVzdHJ1Y3Rpb24gaXMgbm90IGEgcHJvYmxlbS4KCjIwMDItMDgtMjMgMDk6MDkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4OiByZW1vdmUgdXNlIG9mCgkgIGdldHByb3BlcnR5YXNib29sCgoyMDAyLTA4LTIyIDE3OjA2ICBob2ZmbWFuCgoJKiBUZXN0cy86IENvbXBsZXgvQ01ha2VMaXN0cy50eHQsIENvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0OiBCVUc6IGZpeCBmb3IgYm9ybGFuZCBhbmQgYQoJICBzaGFyZWQgQ01ha2VMaWIKCjIwMDItMDgtMjIgMTY6NTcgIGhvZmZtYW4KCgkqIFRlc3RzLzogQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0OiBCVUc6IGZpeCBmb3IKCSAgYm9ybGFuZCBhbmQgYSBzaGFyZWQgQ01ha2VMaWIKCjIwMDItMDgtMjIgMTY6MTYgIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogQlVHOiBib3JsYW5kIG5lZWRzIHRvIGhhdmUKCSAgQlVJTERfU0hBUkVEX0xJQlMgb24gZm9yIGV4ZWN1dGFibGVzIHRvIHdvcmsgd2l0aCBjKysKCjIwMDItMDgtMjIgMTU6NTggIG1hcnRpbmsKCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQ6IGNvbXBsZXggdGVzdAoJICBuZWVkcyB0aGUgZGxsCgoyMDAyLTA4LTIyIDE0OjQxICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21DUGx1Z2luQVBJLmN4eDogbWlub3Igd2FybmluZyBmaXgKCjIwMDItMDgtMjIgMTQ6NDAgIGlzY290dAoKCSogTW9kdWxlcy86IEZpbmRBVklGaWxlLmNtYWtlLCByZWFkbWUudHh0OiBTb21lIG1vcmUgZXhwbGFuYXRpb24gb2YKCSAgYSBjb25zaXN0ZW50IHNjaGVtZQoKMjAwMi0wOC0yMiAxMTozNyAgaG9mZm1hbgoKCSogY29uZmlndXJlLCBjb25maWd1cmUuaW4sIFRlbXBsYXRlcy9jeHhjb25maWd1cmUsCgkgIFRlbXBsYXRlcy9jeHhjb25maWd1cmUuaW46IEJVRzogZml4IGZvciBPU0YgY29tcGlsZXIgdG8gdXNlIGFuc2kKCSAgbW9kZSBmb3Igc3RyZWFtcwoKMjAwMi0wOC0yMiAxMToxMiAgaG9mZm1hbgoKCSogU291cmNlL2NtTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogdXNlIGMgZmxhZ3MgZm9yCgkgIGNwcm9ncmFtcywgYW5kIGRvIG5vdCB1c2UgbGFyZ2UgY29tbWFuZCBsaW5lcyBmb3IgbGlua2luZwoKMjAwMi0wOC0yMiAwOToxNyAgbWFydGluawoKCSogU291cmNlL2NtQ1BsdWdpbkFQSS5jeHg6IGZpeGVkIHNvbWUgd2FybmluZ3MKCjIwMDItMDgtMjIgMDk6MTEgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVNldFNvdXJjZUZpbGVzUHJvcGVydGllc0NvbW1hbmQuY3h4OiBmaXhlZCBzb21lIHdhcm5pbmdzCgoyMDAyLTA4LTIyIDA5OjEwICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21DUGx1Z2luQVBJLmg6IGZpeGVkIG5lc3RlZCBjb21tZW50CgoyMDAyLTA4LTIyIDA4OjI1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL0NNYWtlTGlzdHMudHh0OiBhZGRlZCBsaWIKCjIwMDItMDgtMjEgMTU6NTIgIGtpbmcKCgkqIFV0aWxpdGllcy9jbWFrZV9yZWxlYXNlX3VuaXhfcGFja2FnZS5zaDogRU5IOiBBZGRlZCAtZmlsZXMgdG8gZW5kCgkgIG9mIGludGVybmFsIGJpbmFyeSB0YXJiYWxsIHRvIGRpc3Rpbmd1aXNoIGZyb20gdGhlIG91dGVyCgkgIHRhcmJhbGwncyBuYW1lLgoKMjAwMi0wOC0yMSAxNTozNyAgbWFydGluawoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9jbUN1cnNlc01haW5Gb3JtLmN4eDogbWlub3IgZml4ZXMgZm9yIG5ldwoJICBjYWNoZSBhcGkKCjIwMDItMDgtMjEgMTM6MTUgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsIGNtQ1BsdWdpbkFQSS5jeHg6IG1pbm9yCgkgIGJ1ZwoKMjAwMi0wOC0yMSAxMjowMSAgbWFydGluawoKCSogU291cmNlLzogY21NYWtlZmlsZUdlbmVyYXRvci5oLCBjbU1ha2VmaWxlLmg6IGRsbCBzdXBwb3J0CgoyMDAyLTA4LTIxIDEyOjAwICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21SZWd1bGFyRXhwcmVzc2lvbi5oOiBtYWRlIGludG8gZGxsCgoyMDAyLTA4LTIxIDExOjU5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbWFrZS5oLCBjbWFrZXdpemFyZC5oLCBjbWFrZXdpemFyZC5jeHg6IHN1cHBvcnQgZm9yCgkgIHBsdWdpbnMKCjIwMDItMDgtMjEgMTE6NTggIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTG9hZENvbW1hbmRDb21tYW5kLmN4eCwgY21Mb2FkQ29tbWFuZENvbW1hbmQuaDogYWRkaW5nCgkgIHBsdWdpbiBzdXBwb3J0CgoyMDAyLTA4LTIxIDExOjU4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUR5bmFtaWNMb2FkZXIuY3h4LCBjbUR5bmFtaWNMb2FkZXIuaDogYWRkZWQgcGx1Z2luCgkgIHN1cHBvcnQKCjIwMDItMDgtMjEgMTE6NTUgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtU3RhbmRhcmRJbmNsdWRlcy5oLCBDTWFrZUxpc3RzLnR4dCwKCSAgY21DYWNoZU1hbmFnZXIuY3h4LCBjbUNhY2hlTWFuYWdlci5oLCBjbURpcmVjdG9yeS5oLAoJICBjbVN5c3RlbVRvb2xzLmgsIGNtTGlzdEZpbGVDYWNoZS5oOiBtYWRlIENNYWtlTGliIHNoYXJlZCBvbgoJICB3aW5kb3dzCgoyMDAyLTA4LTIxIDExOjU0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUNQbHVnaW5BUEkuY3h4LCBjbUNQbHVnaW5BUEkuaDogYWRkZWQgQyBQbHVnaW4gQVBJCgkgIGZpcnN0IGN1dAoKMjAwMi0wOC0yMSAwOTo0NSAgaG9mZm1hbgoKCSogU291cmNlL2NtTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogdXNlIGMgY29tcGlsZXIgZm9yIGxpbmsKCSAgb2YgYyBwcm9ncmFtcywgYW5kIHVzZSB0ZW1wIGZpbGUgbm1ha2Ugc3ludGF4IGZvciBsaW5raW5nIGMgYW5kCgkgIGMrKyBwcm9ncmFtcwoKMjAwMi0wOC0xOSAxNTo0MCAgaXNjb3R0CgoJKiBNb2R1bGVzLzogRmluZFF0LmNtYWtlLCBMaW5rUVQuY21ha2U6IEkgaGF2ZSB0ZXN0ZWQgdGhpcyB3aXRoCgkgIFZYTC9vdXIgaW50ZXJuYWwgY29kZSwgYW5kIGl0IHdvcmtzIGZvciBtZS4KCjIwMDItMDgtMTkgMTA6MDUgIGlzY290dAoKCSogTW9kdWxlcy9GaW5kUXQuY21ha2U6IEkgZmlyc3QgZ28gYXQgYSBjb25zaXN0ZW50IEZpbmRYWFguY21ha2UKCSAgZmlsZQoKMjAwMi0wOC0xNiAxMToyMCAgbWFydGluawoKCSogU291cmNlL2NtTWFjcm9Db21tYW5kLmN4eDogbWlub3IgZml4CgoyMDAyLTA4LTE2IDExOjE3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbVFUV3JhcENQUENvbW1hbmQuY3h4LCBjbVFUV3JhcFVJQ29tbWFuZC5jeHgsCgkgIGNtU2V0U291cmNlRmlsZXNQcm9wZXJ0aWVzQ29tbWFuZC5jeHgsCgkgIGNtU2V0U291cmNlRmlsZXNQcm9wZXJ0aWVzQ29tbWFuZC5oLCBjbVNvdXJjZUZpbGUuY3h4LAoJICBjbVNvdXJjZUZpbGUuaCwgY21Tb3VyY2VGaWxlc0NvbW1hbmQuY3h4LAoJICBjbVZUS1dyYXBKYXZhQ29tbWFuZC5jeHgsIGNtVlRLV3JhcFB5dGhvbkNvbW1hbmQuY3h4LAoJICBjbVZUS1dyYXBUY2xDb21tYW5kLmN4eCwgY21HZXRTb3VyY2VGaWxlUHJvcGVydHlDb21tYW5kLmN4eCwKCSAgY21XcmFwRXhjbHVkZUZpbGVzQ29tbWFuZC5jeHgsIGNtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuY3h4LAoJICBjbUFic3RyYWN0RmlsZXNDb21tYW5kLmN4eCwgY21BdXhTb3VyY2VEaXJlY3RvcnlDb21tYW5kLmN4eCwKCSAgY21Cb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbURTUFdyaXRlci5jeHgsCgkgIGNtRkxUS1dyYXBVSUNvbW1hbmQuY3h4LCBjbU1TRG90TkVUR2VuZXJhdG9yLmN4eCwKCSAgY21NYWtlRGVwZW5kLmN4eCwgY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgY21UYXJnZXQuY3h4LAoJICBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsIGNtVlRLTWFrZUluc3RhbnRpYXRvckNvbW1hbmQuY3h4OgoJICBtb2RpZmllZCBob3cgc291cmNlIGZpbGVzIHN0b3JlIHByb3BlcnRpZXMKCjIwMDItMDgtMTYgMDk6NDUgIGtpbmcKCgkqIFNvdXJjZS9jbVZUS01ha2VJbnN0YW50aWF0b3JDb21tYW5kLmN4eDogRVJSOiB1bnNpZ25lZCBpbnQgLT4KCSAgc2l6ZV90LgoKMjAwMi0wOC0xNiAwOTozMSAga2luZwoKCSogU291cmNlL2NtVlRLTWFrZUluc3RhbnRpYXRvckNvbW1hbmQuY3h4OiBFTkg6IENoYW5nZWQgY2hlY2sgZm9yCgkgIHdoaWNoIHZlcnNpb24gb2YgaW5zdGFudGlhdG9ycyB0byBnZW5lcmF0ZSB0byBsb29rIGZvciBkZWZpbml0aW9uCgkgIG9mIFZUS19VU0VfSU5TVEFOVElBVE9SX05FVyBpbnN0ZWFkIG9mIGFuIGV4dHJhIGFyZ3VtZW50IHRvCgkgIFZUS19NQUtFX0lOU1RBTlRJQVRPUi4KCjIwMDItMDgtMTUgMTU6MDEgIGtpbmcKCgkqIFNvdXJjZS86IGNtVlRLTWFrZUluc3RhbnRpYXRvckNvbW1hbmQuY3h4LAoJICBjbVZUS01ha2VJbnN0YW50aWF0b3JDb21tYW5kLmg6IEJVRzogQWRkZWQKCSAgYmFja3dhcmQtY29tcGF0YWJpbGl0eS4gIFRoZSBvbGQgaW5zdGFudGlhdG9yIHN0eWxlIHdpbGwgYmUgdXNlZAoJICB1bmxlc3MgdGhlIGFyZ3VtZW50IFVTRV9JTlNUQU5USUFUT1JfTkVXIGlzIGdpdmVuIHRvIHRlbGwgdGhlCgkgIGNvbW1hbmQgdG8gbWFrZSB1c2Ugb2YgdGhlIGluc3RhbnRpYXRvciBuZXcgZnVuY3Rpb25zIGV4cG9ydGVkCgkgIGZyb20gZWFjaCBjbGFzcydzIGltcGxlbWVudGF0aW9uIGZpbGUuCgoyMDAyLTA4LTE1IDE0OjM5ICBraW5nCgoJKiBTb3VyY2UvOiBjbVZUS01ha2VJbnN0YW50aWF0b3JDb21tYW5kLmN4eCwKCSAgY21WVEtNYWtlSW5zdGFudGlhdG9yQ29tbWFuZC5oOiBFTkg6IEltcHJvdmVkIGdlbmVyYXRlZAoJICBpbnN0YW50aWF0b3IgdG8gdXNlIGV4dGVybiBkZWNsYXJhdGlvbnMgdG8gd3JhcHBlcnMgYXJvdW5kIHRoZQoJICBOZXcoKSBtZXRob2RzLiAgVGhpcyBhdm9pZHMgdGhlIG5lZWQgdG8gaW5jbHVkZSBlYWNoIGNsYXNzJ3MKCSAgaGVhZGVyIGluIGFuIGluc3RhbnRpYXRvciBzb3VyY2UuICBUaGUgaW5zdGFudGlhdG9yIGNsYXNzCgkgIGltcGxlbWVudGF0aW9ucyBjYW4gbm93IGZpdCBpbiBhIHNpbmdsZSBzb3VyY2UgZmlsZSB0aGF0IGNvbXBpbGVzCgkgIHF1aWNrbHkuCgoyMDAyLTA4LTE1IDA5OjM0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBhZGQgLURXSU4zMiBmbGFnIGZvcgoJICBidWlsZHMKCjIwMDItMDgtMTQgMTE6NDQgIGliYW5legoKCSogTW9kdWxlcy9GaW5kRkxUSy5jbWFrZTogRU5IOiBQbGF0Zm9ybSBkZXBlbmRlbnQgbGlicmFyaWVzIGFkZGVkLgoKMjAwMi0wOC0xMyAxNTo0NyAgbWFydGluawoKCSogVGVzdHMvOiBDb21wbGV4L0NNYWtlTGlzdHMudHh0LCBDb21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dDogYWRkZWQgbWFjcm8gdGVzdAoKMjAwMi0wOC0xMyAxNTo0NiAgbWFydGluawoKCSogU291cmNlLzogY21Db21tYW5kcy5jeHgsIGNtTWFjcm9Db21tYW5kLmN4eCwgY21NYWNyb0NvbW1hbmQuaDoKCSAgYWRkZWQgbmV3IGNvbW1hbmQKCjIwMDItMDgtMTMgMTA6NDYgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtRXhlY1Byb2dyYW1Db21tYW5kLmgsIGNtRXhlY1Byb2dyYW1Db21tYW5kLmN4eDogbWVyZ2UKCSAgZnJvbSBtYWluIHRyZWUKCjIwMDItMDgtMTMgMTA6MDggIG1hcnRpbmsKCgkqIENNYWtlTGlzdHMudHh0OiBhZGRlZCBtYW4gcGFnZQoKMjAwMi0wOC0xMyAxMDowNSAgbWFydGluawoKCSogU291cmNlL2NtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuY3h4OiBzb21lIHdhcm5pbmcgYW5kIHB1cmlmeSBmaXhlcwoKMjAwMi0wOC0xMyAxMDowNCAgbWFydGluawoKCSogU291cmNlLzogY21FbHNlQ29tbWFuZC5jeHgsIGNtSWZDb21tYW5kLmN4eDogSUYgRWxzZSBpbXByb3ZlbWVudHMKCjIwMDItMDgtMTMgMTA6MDMgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmg6IG1lcmdlcyBmcm9tIHRoZSBtYWluCgkgIGJyYW5jaAoKMjAwMi0wOC0xMyAxMDowMiAgbWFydGluawoKCSogU291cmNlL2NtUmVtb3ZlQ29tbWFuZC5jeHg6IG1lcmdlIGZyb20gbWFpbiBicmFuY2gKCjIwMDItMDgtMTMgMTA6MDEgIG1hcnRpbmsKCgkqIENvcHlyaWdodC50eHQ6IG1lcmdlIGZyb20gdGhlIG1haW4gYnJhbmNoCgoyMDAyLTA4LTEzIDEwOjAwICBtYXJ0aW5rCgoJKiBjbWFrZS4xOiB1cGRhdGVkIGZyb20gbWFpbiBicmFuY2gKCjIwMDItMDgtMTMgMDk6NTkgIG1hcnRpbmsKCgkqIE1vZHVsZXMvOiBGaW5kRkxUSy5jbWFrZSwgRmluZFRDTC5jbWFrZTogdXBkYXRlcyBmcm9tIHRoZSBtYWluCgkgIGJyYW5jaAoKMjAwMi0wOC0xMiAwODozOSAgbWFydGluawoKCSogU291cmNlL2NtRWxzZUNvbW1hbmQuY3h4OiBjb21waWxlciB3YXJuaW5nCgoyMDAyLTA4LTA5IDEyOjAwICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUVsc2VDb21tYW5kLmN4eCwgY21JZkNvbW1hbmQuY3h4LCBjbU1ha2VmaWxlLmN4eDoKCSAgYmV0dGVyIElGIEVMU0UgaGFuZGxpbmcKCjIwMDItMDgtMDkgMTA6MDQgIGJhcnJlCgoJKiBNb2R1bGVzL0ZpbmRUQ0wuY21ha2U6IEZJWDogZml4IGNvbW1pdCBtZXNzdXAgKHRoaXMgY2hhbmdlIHdhcwoJICBjb21taXR0ZWQgdG8gdGhlIGJyYW5jaCBpbnN0ZWFkIG9mIHRoZSBtYWluIHRyZWUsIHRodXMgd2FzCgkgIHdpcGVkLW91dCBsYXRlcikKCjIwMDItMDgtMDkgMDg6MzMgIGJhcnJlCgoJKiBNb2R1bGVzL0ZpbmR3eFdpbmRvd3MuY21ha2U6IEZJWDogLSBXSU5ET1dTIGRvZXMgbm90IGV4aXN0LCB1c2UKCSAgV0lOMzIgKG9yIGRlZmluZVdJTkRPV1MgaWYgY3lnd2luIGNhbiBub3QgYmUgdXNlZCBpblVuaXggbW9kZT8pLAoJICAtIGZpeCBhbiB1bi1jbG9zZWQgSUYsIC0gdXNlIHNhbWUgcHJlZml4IGZvciB2YXJzIChhbmQgbWFrZSBpdAoJICBhZHZhbmNlZCkKCjIwMDItMDgtMDkgMDc6NTUgIGFuZHkKCgkqIE1vZHVsZXMvRmluZHd4V2luZG93cy5jbWFrZTogVGhpcyBob3BlZnVsbHkgZmluZHMgd3hXaW5kb3dzIG9uCgkgIFVOSVgKCjIwMDItMDgtMDggMTU6MzAgIGFuZHkKCgkqIE1vZHVsZXMvRmluZHd4V2luZG93cy5jbWFrZTogQWRkIFVOSVggc3VwcG9ydCBmb3IgV1hXSU5ET1dTCgoyMDAyLTA4LTA4IDE1OjI5ICBhbmR5CgoJKiBTb3VyY2UvOiBjbUV4ZWNQcm9ncmFtQ29tbWFuZC5jeHgsIGNtRXhlY1Byb2dyYW1Db21tYW5kLmg6IEFkZAoJICByZXR1cm4gdmFsdWUgc3VwcG9ydCBhbmQgYWRkIGRvY3VtZW50YXRpb24KCjIwMDItMDgtMDggMTU6MTQgIGtpbmcKCgkqIENvcHlyaWdodC50eHQ6IEVOSDogVXBkYXRlZCBjb3B5cmlnaHQuCgoyMDAyLTA4LTA4IDE1OjEzICBhbmR5CgoJKiBTb3VyY2UvOiBjbUV4ZWNQcm9ncmFtQ29tbWFuZC5jeHgsIGNtRXhlY1Byb2dyYW1Db21tYW5kLmg6IEFkZAoJICBvcHRpb24gb2Ygc3RvcmluZyBvdXRwdXQgdG8gdGhlIHZhcmlhYmxlCgoyMDAyLTA4LTA4IDEzOjQxICBiYXJyZQoKCSogTW9kdWxlcy9GaW5kd3hXaW5kb3dzLmNtYWtlOiBFTkg6IGZpcnN0IHN0YWIgYXQgd3hXaW5kb3dzIHN1cHBvcnQKCSAgKHdpbjMyKQoKMjAwMi0wOC0wOCAxMjo0OSAga2luZwoKCSogQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkaW5nIGluc3RhbGxhdGlvbiBmb3IgbWFuIHBhZ2UuCgoyMDAyLTA4LTA4IDEyOjMwICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IGhhbmRsZSAuZXhlIGV4dGVuc2lvbgoJICBmb3IgY3lnd2luCgoyMDAyLTA4LTA4IDExOjU4ICBraW5nCgoJKiBjbWFrZS4xOiBFTkg6IEluaXRpYWwgY2hlY2tpbiBvZiB1bml4IG1hbnBhZ2UuCgoyMDAyLTA4LTA4IDA4OjUxICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21DcmVhdGVUZXN0U291cmNlTGlzdC5jeHg6IGZpeGVkIHNvbWUgY29tcGlsZXIgd2FybmluZ3MKCSAgYW5kIGxlYWtzCgoyMDAyLTA4LTA3IDE4OjEyICBraW5nCgoJKiBVdGlsaXRpZXMvOiBjbWFrZV9yZWxlYXNlX2NvbmZpZ19ocHV4LCBjbWFrZV9yZWxlYXNlX2NvbmZpZ19pcml4LAoJICBjbWFrZV9yZWxlYXNlX2NvbmZpZ19saW51eCwgY21ha2VfcmVsZWFzZV9jb25maWdfc3VuLAoJICBjbWFrZV9yZWxlYXNlX3VuaXguc2gsIGNtYWtlX3JlbGVhc2VfdW5peF9idWlsZC5zaCwKCSAgY21ha2VfcmVsZWFzZV91bml4X2NvbmZpZy5zaCwgY21ha2VfcmVsZWFzZV91bml4X3BhY2thZ2Uuc2g6IEVOSDoKCSAgU3BsaXQgaW5zdGFsbCBzY3JpcHQgaW50byB0d28gcGFydHMuCUFkZGVkIGJhc2ljIHN1cHBvcnQgZm9yCgkgIGFkZGluZyBtb3JlIGZpbGVzIHRvIHRoZSBkaXN0cmlidXRpb24gYW5kIGNyZWF0aW5nIHBhY2thZ2VzLgoKMjAwMi0wOC0wNyAxMTowMSAgbWFydGluawoKCSogU291cmNlL2NtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuY3h4OiBmaXhlZCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzCgkgIGFuZCBsZWFrcwoKMjAwMi0wOC0wNyAxMDozMCAgbWFydGluawoKCSogU291cmNlL2NtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuY3h4OiBmaXhlZCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzCgkgIGFuZCBsZWFrcwoKMjAwMi0wOC0wNSAxODowOCAgaWJhbmV6CgoJKiBNb2R1bGVzL0ZpbmRGTFRLLmNtYWtlOiBFTkg6IEltYWdlcyBsaWJyYXJ5IGFkZGVkLiBOYW1lcyBmb3IKCSAgZGVidWdnaW4gdmVyc2lvbnMgaW4gd2luZG93cyBhZGRlZC4KCjIwMDItMDgtMDUgMDk6NTEgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVJlbW92ZUNvbW1hbmQuY3h4OiBtaW5vciBmaXgKCjIwMDItMDgtMDIgMTM6NDMgIGliYW5legoKCSogTW9kdWxlcy9GaW5kRkxUSy5jbWFrZTogRklYOiBuYW1lcyBzdHlsZXMgZm9yIGZsdGtnbCBhbmQKCSAgZmx0a2Zvcm1zIGFyZSBkaWZmZXJlbnQgaW4gd2luZG93cyBhbmQgbGludXguICAgICAgIEJvdGggc3R5bGVzCgkgIGFyZSBub3cgc2VhcmNoZWQgdGFraW5nIGFkdmFudGFnZSBvZiB0aGUgTkFNRVMgb3B0aW9uIGluCgkgIEZJTkRfTElCUkFSWS4KCjIwMDItMDgtMDIgMTI6NTEgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxpbmtEaXJlY3Rvcmllc0NvbW1hbmQuY3h4OiBkdWhoaGhoaAoKMjAwMi0wOC0wMiAwODo1MCAgbWFydGluawoKCSogU291cmNlLzogY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4LCBjbUxpbmtMaWJyYXJpZXNDb21tYW5kLmN4eCwKCSAgY21NYWtlZmlsZS5oOiB1cGRhdGVzIGZyb20gdGhlIG1haW4gdHJlZQoKMjAwMi0wOC0wMSAyMzowNSAgYmFycmUKCgkqIFNvdXJjZS9jbUZpbmRMaWJyYXJ5Q29tbWFuZC5jeHg6IEZJWDogcHV0IEV4cGFuZFJlZ2lzdHJ5VmFsdWUoKQoJICBiYWNrIChzZWVtcyB0byBoYXZlIGJlZW4gcmVtb3ZlZCBhY2NpZGVudGFsbHkgSSBndWVzcyBpbiAxLjI1KQoKMjAwMi0wOC0wMSAxNTo1OCAgbWFydGluawoKCSogU291cmNlL2NtTGlua0RpcmVjdG9yaWVzQ29tbWFuZC5jeHg6IG5vIGxvbmdlciBuZWVkIGFuIGFyZ3VtZW50CgoyMDAyLTA4LTAxIDA5OjUwICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21DcmVhdGVUZXN0U291cmNlTGlzdC5jeHgsCgkgIFNvdXJjZS9jbUNyZWF0ZVRlc3RTb3VyY2VMaXN0LmgsIFNvdXJjZS9jbU1ha2VmaWxlLmgsCgkgIFNvdXJjZS9jbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmgsIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwKCSAgU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmgsIFNvdXJjZS9jbVZUS1dyYXBUY2xDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtYWtlLmN4eCwgVGVzdHMvQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1Rlc3REcml2ZXIvQ01ha2VMaXN0cy50eHQsIFRlc3RzL1Rlc3REcml2ZXIvdGVzdDEuY3h4LAoJICBUZXN0cy9UZXN0RHJpdmVyL3Rlc3QyLmN4eCwgVGVzdHMvVGVzdERyaXZlci90ZXN0QXJncy5oLAoJICBUZXN0cy9UZXN0RHJpdmVyL3N1YmRpci90ZXN0My5jeHg6IG1lcmdlcyBmcm9tIHRoZSBtYWluIGJyYW5jaAoKMjAwMi0wOC0wMSAwODo0MSAgbWFydGluawoKCSogTW9kdWxlcy86IEZpbmRHTFUuY21ha2UsIEZpbmRKTkkuY21ha2UsIEZpbmRPcGVuR0wuY21ha2UsCgkgIEZpbmRUQ0wuY21ha2U6IG1lcmdlcyBmcm9tIHRoZSBtYWluIHRyZWUKCjIwMDItMDctMzEgMTM6NDUgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5oLCBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmg6IEJVRzogZml4IGp1bXAgdG8gZGlyZWN0b3J5IGFuZCBidWlsZAoJICBmb3Igbm1ha2UgaWYgbGlicmFyeSBwYXRoIGlzIG5vdCBzZXQuIGNvbWJpbmUKCSAgT3V0cHV0QnVpbGRFeGVjdXRhYmxlSW5EaXIgYW5kIE91dHB1dEJ1aWxkTGlicmFyeUluRGlyIGludG8KCSAgT3V0cHV0QnVpbGRUYXJnZXRJbkRpcgoKMjAwMi0wNy0zMSAxMTowOCAgbWFydGluawoKCSogVGVzdHMvVGVzdERyaXZlci90ZXN0QXJncy5oOiBtaW5vciBmaXggZm9yIGMgdGVzdHMKCjIwMDItMDctMzEgMTE6MDcgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUNyZWF0ZVRlc3RTb3VyY2VMaXN0LmN4eDogZml4ZWQgc3VwcG9ydCBmb3IgQyB0ZXN0CgkgIHByb2dyYW1zCgoyMDAyLTA3LTMxIDA5OjI5ICBiYXJyZQoKCSogU291cmNlL2NtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuY3h4OiBGSVg6IDxzdGRsaWIuaD4gaXMgZW5vdWdoIHRvCgkgIGdldCBtYWxsb2MoKS9mcmVlKCkKCjIwMDItMDctMzAgMTY6MTkgIG1hcnRpbmsKCgkqIFRlc3RzL1Rlc3REcml2ZXIvOiBDTWFrZUxpc3RzLnR4dCwgdGVzdDEuY3h4LCB0ZXN0Mi5jeHgsCgkgIHN1YmRpci90ZXN0My5jeHg6IHVwZGF0ZWQgdG8gbW9kcyBpbiBjb21tYW5kCgoyMDAyLTA3LTMwIDE2OjE4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUNyZWF0ZVRlc3RTb3VyY2VMaXN0LmN4eCwgY21DcmVhdGVUZXN0U291cmNlTGlzdC5oOgoJICB1cGRhdGVkIHRvIGhhbmRsZSBleHRlbnNpb25zCgoyMDAyLTA3LTMwIDEwOjMzICBiYXJyZQoKCSogU291cmNlL2NtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuY3h4OiBGSVg6IGxhIGNvbW1hbmRlIGNy6WFpdCBkdQoJICBjb2RlIEMrKy4gRHUgY29kZSBDIGRldnJhaXQgZmFpcmUgbCdhZmZhaXJlLgoKMjAwMi0wNy0zMCAxMDoyMyAgYmFycmUKCgkqIFNvdXJjZS9jbUNyZWF0ZVRlc3RTb3VyY2VMaXN0LmN4eDogRklYOiBsYSBjb21tYW5kZSBjculhaXQgZHUKCSAgY29kZSBDKysuIER1IGNvZGUgQyBkZXZyYWl0IGZhaXJlIGwnYWZmYWlyZS4KCjIwMDItMDctMjkgMDk6NDYgIGJhcnJlCgoJKiBNb2R1bGVzLzogRmluZFRDTC5jbWFrZTogRU5IOiBjaGFuZ2UgdGhlIHNlYXJjaCBwYXRoIG9yZGVyIChpZgoJICBzZXZlcmFsIFRjbC9UayBhcmUgaW5zdGFsbGVkLCB0aGUgImN1cnJlbnQiIHZlcnNpb24gaXMgbGlrZWx5IHRvCgkgIGJlIHRoZSBvbmUgdGhhdCBpcyBib3VuZCB0byB0aGUgd2lzaC90Y2xzaCBmb3VuZCBpbiB0aGUgUEFUSCkKCjIwMDItMDctMjYgMTQ6MDYgIGJhcnJlCgoJKiBNb2R1bGVzLzogRmluZFRDTC5jbWFrZTogRU5IOiBjbGVhbiB0aGUgbW9kdWxlLCBhZGQgZGVidWcgbGlicwoKMjAwMi0wNy0yNiAxMDoxNCAga2luZwoKCSogU291cmNlLzogY21JVEtXcmFwVGNsQ29tbWFuZC5jeHgsIGNtSVRLV3JhcFRjbENvbW1hbmQuaDogQlVHOgoJICBPbmx5IG9uZSBnZW5lcmF0ZWQgVGNsIHdyYXBwZXIgc291cmNlIHdhcyBnZXR0aW5nIGFkZGVkIHRvIHRoZQoJICBwYWNrYWdlJ3MgbGlicmFyeS4KCjIwMDItMDctMjYgMDk6NTQgIGtpbmcKCgkqIFNvdXJjZS9jbVZUS1dyYXBUY2xDb21tYW5kLmN4eDogQlVHOiBHZW5lcmF0ZWQgY2FsbCB0bwoJICBUY2xfQ3JlYXRlQ29tbWFuZCBmb3IgdnRrQ29tbWFuZCBzaG91bGQgY2FzdCBwb2ludGVyIHRvIGV4dGVybgoJICAiQyIgdmVyc2lvbi4KCjIwMDItMDctMjUgMTY6NDcgIGtpbmcKCgkqIFNvdXJjZS9jbVZUS1dyYXBUY2xDb21tYW5kLmN4eDogQlVHOiBHZW5lcmF0ZWQgdnRrQ29tbWFuZAoJICBwcm90b3R5cGUgY2Fubm90IGJlIGV4dGVybiAiQyIgYmVjYXVzZSBpdCBtYXkgbm90IG1hdGNoIHdpdGggdGhlCgkgIHZlcnNpb24gaW4gVlRLLgoKMjAwMi0wNy0yNSAxNjo0MSAgYW5keQoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBPaywgbm93IGNkIHdpbGwgd29yayBvbiB3aW5kb3dzCgoyMDAyLTA3LTI1IDE2OjI1ICB3aWxsCgoJKiBTb3VyY2UvY21WVEtXcmFwVGNsQ29tbWFuZC5jeHg6IGZpeGVkIHdhcm5pbmcKCjIwMDItMDctMjUgMTE6MTcgIGJhcnJlCgoJKiBNb2R1bGVzL0ZpbmRUQ0wuY21ha2U6IEZJWDogdGhlIHN0dWIgbGlicyB3ZXJlIG5vdCBzZWFyY2hlZAoKMjAwMi0wNy0yNSAxMToxMCAgYmFycmUKCgkqIE1vZHVsZXMvRmluZFRDTC5jbWFrZTogRklYOiB0aGUgc3R1YiBsaWJzIHdlcmUgbm90IHNlYXJjaGVkCgoyMDAyLTA3LTI1IDA5OjE2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IG1ha2VmaWxlIG5vdyBkb2VzIG5vdCBpZ25vcmUgTk9URk9VTkQgbGlicwoJICBhbmQgaW5jbHVkZXMKCjIwMDItMDctMjUgMDg6MDAgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogbWFrZWZpbGUgbm93IGlnbm9yZXMgTk9URk9VTkQgbGlicyBhbmQKCSAgaW5jbHVkZXMKCjIwMDItMDctMjIgMTE6MDMgIGtpbmcKCgkqIFV0aWxpdGllcy9jbWFrZV9yZWxlYXNlX2NvbmZpZ19pcml4OiBFTkg6IEFkZGVkIHJlbGVhc2Ugc2NyaXB0CgkgIGNvbmZpZ3VyYXRpb24gZm9yIElSSVggYnVpbGQuCgoyMDAyLTA3LTIyIDEwOjQwICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5oOiB1cGRhdGVkIHRvIHBhdGNoIDEKCjIwMDItMDctMjIgMTA6MzQgIG1hcnRpbmsKCgkqIFRlbXBsYXRlcy9DWFhDTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbjogYmV0dGVyIGRvY3MgYW5kIHN1cHBvcnQKCSAgZm9yIG1pc2luZyBhcmdzCgoyMDAyLTA3LTIyIDEwOjMzICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IG5vdyByZXBsYWNlcyBhcmdzIGV2ZW4gaWYgbm90IGRlZmluZWQKCjIwMDItMDctMjIgMTA6MzEgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQWRkRGVmaW5pdGlvbnNDb21tYW5kLmN4eCwKCSAgY21JbmNsdWRlRGlyZWN0b3J5Q29tbWFuZC5jeHgsIGNtTGlua0xpYnJhcmllc0NvbW1hbmQuY3h4LAoJICBjbVRhcmdldExpbmtMaWJyYXJpZXNDb21tYW5kLmN4eDogYWxsb3dzIGxlc3MgYXJndW1lbnRzIGNoYW5nZXMKCSAgZnJvbSBtYWluIHRyZWUKCjIwMDItMDctMjIgMTA6MDAgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtSW5jbHVkZURpcmVjdG9yeUNvbW1hbmQuY3h4LAoJICBjbUxpbmtMaWJyYXJpZXNDb21tYW5kLmN4eDogYWxsb3dzIG5vIGFyZ3VtZW50cwoKMjAwMi0wNy0yMCAwODo1NSAgbWFydGluawoKCSogU291cmNlL2NtQWRkRGVmaW5pdGlvbnNDb21tYW5kLmN4eDogbW9kaWZpZWQgdG8gYWNjZXB0IG5vCgkgIGFyZ3VtZW50cwoKMjAwMi0wNy0xOSAxNTo0OSAgbWFydGluawoKCSogVGVtcGxhdGVzL0NYWENNYWtlU3lzdGVtQ29uZmlnLmNtYWtlLmluOiBmaXhlZCBzb21lIGVtcHR5CgkgIGRlc2NyaXB0aW9ucwoKMjAwMi0wNy0xOSAxNDo0MiAgbWFydGluawoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBmdWxsIHZhcmlhYmxlIHJlcGxhY2VtZW50IGFuZCByZW1vdmFsIG9yCgkgIGVtcHR5IGFyZ3VtZW50cwoKMjAwMi0wNy0xOSAxNDo0MCAgbWFydGluawoKCSogU291cmNlL2NtVGFyZ2V0TGlua0xpYnJhcmllc0NvbW1hbmQuY3h4OiBkb2VzIG5vdCBuZWVkIGEgc2Vjb25kCgkgIGFyZ3VtZW50CgoyMDAyLTA3LTE4IDE4OjQzICBzdGFycmV2ZWxkCgoJKiBNb2R1bGVzLzogRmluZEdMVS5jbWFrZSwgRmluZE9wZW5HTC5jbWFrZTogRVJSOiByZW1vdmUgYXV0b21hdGljCgkgIENhcmJvbiBmcmFtZXdvcmsgb24gb3N4CgoyMDAyLTA3LTE3IDE2OjMzICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21JbnN0YWxsRmlsZXNDb21tYW5kLmN4eDogZml4IGZvciBpbnN0YWxsIHdpdGggcGF0aHMKCjIwMDItMDctMTcgMTU6NTcgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUluc3RhbGxGaWxlc0NvbW1hbmQuY3h4OiBmaXhlIGZvciBmaWxlcyB3aXRoIHBhdGhzCgoyMDAyLTA3LTE3IDExOjUzICBhbmR5CgoJKiBTb3VyY2UvY21ha2UuY3h4OiBGaXggY2hhbmdpbmcgb2YgZGlyZWN0b3JpZXMgdXNpbmcgY21TeXN0ZW1Ub29scwoJICBSdW5Db21tYW5kIGZlYXR1cmUKCjIwMDItMDctMTcgMTA6NTIgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtRm9yRWFjaENvbW1hbmQuY3h4LCBjbUZvckVhY2hDb21tYW5kLmgsCgkgIGNtTWFrZWZpbGUuY3h4OiBmaXggZm9yIElGIHN0YXRlbWVudHMgaW5zaWRlIG9mIEZvcmVhY2ggbG9vcHMKCjIwMDItMDctMTcgMTA6NDggIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUZvckVhY2hDb21tYW5kLmN4eCwgU291cmNlL2NtRm9yRWFjaENvbW1hbmQuaCwKCSAgU291cmNlL2NtTWFrZWZpbGUuY3h4LCBUZXN0cy9Db21wbGV4L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dDogZml4ZWQgaWYgc3RhdGVtZW50cwoJICBpbnNpZGUgYSBmb3JlYWNoCgoyMDAyLTA3LTE2IDE3OjQyICBraW5nCgoJKiBUZXN0cy86IENvbXBsZXgvQ01ha2VMaXN0cy50eHQsIENvbXBsZXgvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIENvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwgQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHg6IEVOSDogQWRkZWQgdGVzdCBmb3IKCSAgSUYgaW5zaWRlIGEgRk9SRUFDSC4KCjIwMDItMDctMTUgMTE6MzcgIGtpbmcKCgkqIFV0aWxpdGllcy9jbWFrZV9yZWxlYXNlX2NvbmZpZ19ocHV4OiBFTkg6IEFkZGluZyByZWxlYXNlIHNjcmlwdAoJICBjb25maWd1cmF0aW9uIGZvciBIUFVYLmUKCjIwMDItMDctMTUgMTE6MTMgIGtpbmcKCgkqIFV0aWxpdGllcy9jbWFrZV9yZWxlYXNlX2NvbmZpZ19zdW46IEVOSDogQWRkZWQgcmVsZWFzZQoJICBjb25maWd1cmF0aW9uIGZpbGUgZm9yIFN1bi4KCjIwMDItMDctMTUgMTA6NDggIGtpbmcKCgkqIFV0aWxpdGllcy86IGNtYWtlX3JlbGVhc2VfY29uZmlnX2xpbnV4LCBjbWFrZV9yZWxlYXNlX3VuaXguc2g6CgkgIEVOSDogTWFkZSByZWxlYXNlIHNjcmlwdCBtb3JlIGdlbmVyaWMgZm9yIGNyZWF0aW5nIHN0YXRpYyBhbmQKCSAgc2hhcmVkIHJlbGVhc2VzLgoKMjAwMi0wNy0xNSAxMDowOSAga2luZwoKCSogVXRpbGl0aWVzL2NtYWtlX3JlbGVhc2VfY29uZmlnX2xpbnV4OiBFTkg6IFJlbGVhc2Ugc2NyaXB0CgkgIGNvbmZpZ3VyYXRpb24gZmlsZSBmb3IgbGludXguCgoyMDAyLTA3LTE1IDEwOjA4ICBraW5nCgoJKiBVdGlsaXRpZXMvY21ha2VfcmVsZWFzZV91bml4LnNoOiBFTkg6IFByb3RveXBlIHVuaXggcmVsZWFzZQoJICBzY3JpcHQuCgoyMDAyLTA3LTE1IDA5OjU1ICBraW5nCgoJKiBUZW1wbGF0ZXMvQ01ha2VMaXN0cy50eHQ6IEVSUjogQ1hYQ01ha2VTeXN0ZW1Db25maWcuY21ha2UgYW5kCgkgIENDTWFrZVN5c3RlbUNvbmZpZy5jbWFrZSBuZWVkIC5pbiBleHRlbnNpb24uCgoyMDAyLTA3LTE1IDA5OjQ2ICBraW5nCgoJKiBTb3VyY2UvY21JbnN0YWxsRmlsZXNDb21tYW5kLmN4eDogQlVHOiBPbmx5IHRoZSBsYXN0IGV4dGVuc2lvbgoJICBzaG91bGQgYmUgcmVtb3ZlZC4KCjIwMDItMDctMTUgMDk6NDUgIGtpbmcKCgkqIFNvdXJjZS86IGNtSW5zdGFsbEZpbGVzQ29tbWFuZC5jeHgsIGNtSW5zdGFsbEZpbGVzQ29tbWFuZC5oOiBCVUc6CgkgIElOU1RBTExfRklMRVMgY29tbWFuZCBzaG91bGQgcmVtb3ZlIHRoZSBleHRlbnNpb24gb2YgYSBmaWxlCgkgIGJlZm9yZSBhZGRpbmcgdGhlIHVzZXIgcHJvdmlkZWQgZXh0ZW5zaW9uLgoKMjAwMi0wNy0xNSAwOTo0NCAga2luZwoKCSogU291cmNlLzogY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaDogRU5IOiBBZGRlZAoJICBHZXRGaWxlbmFtZVdpdGhvdXRMYXN0RXh0ZW5zaW9uLgoKMjAwMi0wNy0xNSAwOToyMyAga2luZwoKCSogVGVtcGxhdGVzL0NNYWtlTGlzdHMudHh0OiBFUlI6IEluc3RhbGwgZm9yCgkgIENYWENNYWtlU3lzdGVtQ29uZmlnLmNtYWtlIGFuZCBDQ01ha2VTeXN0ZW1Db25maWcuY21ha2UgbmVlZCAuaW4KCSAgZXh0ZW5zaW9uLgoKMjAwMi0wNy0xNSAwOToyMiAga2luZwoKCSogTW9kdWxlcy9GaW5kSk5JLmNtYWtlOiBFTkg6IEFkZGVkIC91c3IvbG9jYWwvbGliL2phdmEgc2VhcmNoCgkgIHBhdGhzLgoKMjAwMi0wNy0xNSAwODo0NCAgbWFydGluawoKCSogU291cmNlLzogY21JbnN0YWxsRmlsZXNDb21tYW5kLmN4eCwgY21JbnN0YWxsRmlsZXNDb21tYW5kLmg6IGZpeAoJICBpbnN0YWxsIHRhcmdldAoKMjAwMi0wNy0xMiAxMToxNyAgbWFydGluawoKCSogTW9kdWxlcy9GaW5kSmF2YS5jbWFrZTogbWVyZ2VkIG1vZHVsZSBpbnRvIGJyYW5jaAoKMjAwMi0wNy0xMiAxMToxMCAgbWFydGluawoKCSogU291cmNlL2NtSWZDb21tYW5kLmN4eDogbWlub3Igd2FybmluZyBmaXgKCjIwMDItMDctMTEgMTQ6NTggIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUlmQ29tbWFuZC5jeHg6IGZpeCB3YXJuaW5nCgoyMDAyLTA3LTExIDE0OjI1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IG1lcmdlIGZyb20gdGhlIG1haW4gdHJlZQoKMjAwMi0wNy0xMSAxNDoyMCAgaG9mZm1hbgoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBCVUc6IGZpeCBmb3IgY29tcGlsZSB3aXRoIGhwCgoyMDAyLTA3LTExIDE0OjAzICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUVsc2VDb21tYW5kLmN4eCwgY21JZkNvbW1hbmQuY3h4LCBjbUlmQ29tbWFuZC5oLAoJICBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oOiBtZXJnZWQgc29tZSB1cGRhdGVzLCB0aGUgSUYKCSAgY2hlY2tpbmcKCjIwMDItMDctMTEgMTM6NTggIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgY21WVEtXcmFwVGNsQ29tbWFuZC5jeHgsCgkgIGNtYWtlLmN4eDogdXBkYXRlcyBmcm9tIHRoZSBtYWluIHRyZWUKCjIwMDItMDctMTAgMTY6MDcgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVZUS1dyYXBUY2xDb21tYW5kLmN4eDogZml4IHdhcm5pbmcgb24gU3VuCgoyMDAyLTA3LTEwIDE0OjM0ICBhbmR5CgoJKiBTb3VyY2UvY21ha2UuY3h4OiBBZGQgY29tbWFuZCB0aGF0IHJ1bnMgcHJvZ3JhbSBpbiBnaXZlbgoJICBkaXJlY3RvcnkKCjIwMDItMDctMTAgMTE6MzggIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtRWxzZUNvbW1hbmQuY3h4LCBjbUlmQ29tbWFuZC5jeHgsIGNtSWZDb21tYW5kLmgsCgkgIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmg6IGJldHRlciBlcnJvciBoYW5kbGluZyB3aXRoIGlmCgkgIHN0YXRlbWVudHMKCjIwMDItMDctMTAgMDk6MzMgIGFuZHkKCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEZpeCBwcm9ibGVtIHdoZW4gdXNpbmcgTk1ha2UuCgkgIFRoaXMgZ2VuZXJhdGVkIGxpbmVzIHdpdGhvdXQgc3BhY2Ugc28gbm1ha2UgZ290IGFsbCBjb25mdXNlZAoKMjAwMi0wNy0wOCAwOTozMCAgYW5keQoKCSogTW9kdWxlcy9GaW5kSmF2YS5jbWFrZTogQWRkIG1vZHVsZSB0aGF0IGZpbmRzIGphdmEgZXhlY3V0YWJsZXMuCgkgIFRoaXMgbW9kdWxlIHNob3VsZCBmaW5kIGphdmEsIGphdmFjLCBhbmQgamFyLgoKMjAwMi0wNy0wMiAwOTo1OCAgbWFydGluawoKCSogY29uZmlndXJlLCBjb25maWd1cmUuaW46IG1lcmdlcyBmcm9tIG1haW4gdHJlZQoKMjAwMi0wNy0wMiAwOTo1NiAgbWFydGluawoKCSogTW9kdWxlcy9GaW5kRkxUSy5jbWFrZTogbWVyZ2VzIHdpdGggbWFpbiB0cmVlCgoyMDAyLTA3LTAyIDA5OjU0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUF1eFNvdXJjZURpcmVjdG9yeUNvbW1hbmQuY3h4LAoJICBjbUJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5jeHgsIGNtQ01ha2VNaW5pbXVtUmVxdWlyZWQuY3h4LAoJICBjbUNvbmZpZ3VyZS5jbWFrZS5oLmluLCBjbUNvbmZpZ3VyZS5oLmluLAoJICBjbUNyZWF0ZVRlc3RTb3VyY2VMaXN0LmN4eCwgY21DcmVhdGVUZXN0U291cmNlTGlzdC5oLAoJICBjbURTV1dyaXRlci5jeHgsIGNtRWxzZUNvbW1hbmQuY3h4LCBjbUVuYWJsZVRlc3RpbmdDb21tYW5kLmgsCgkgIGNtRkxUS1dyYXBVSUNvbW1hbmQuY3h4LCBjbUZpbmRMaWJyYXJ5Q29tbWFuZC5jeHgsCgkgIGNtRnVuY3Rpb25CbG9ja2VyLmgsIGNtR2V0RmlsZW5hbWVDb21wb25lbnRDb21tYW5kLmN4eCwKCSAgY21JVEtXcmFwVGNsQ29tbWFuZC5jeHgsIGNtSWZDb21tYW5kLmN4eCwgY21JZkNvbW1hbmQuaCwKCSAgY21JbnN0YWxsRmlsZXNDb21tYW5kLmN4eCwgY21MaW5rTGlicmFyaWVzQ29tbWFuZC5jeHgsCgkgIGNtTVNEb3RORVRHZW5lcmF0b3IuY3h4LCBjbU1TRG90TkVUR2VuZXJhdG9yLmgsIGNtTWFrZURlcGVuZC5jeHgsCgkgIGNtTWFrZURlcGVuZC5oLCBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oLAoJICBjbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgY21RVFdyYXBDUFBDb21tYW5kLmN4eCwgY21RVFdyYXBVSUNvbW1hbmQuY3h4LCBjbVNvdXJjZUZpbGUuY3h4LAoJICBjbVNvdXJjZUZpbGUuaCwgY21Tb3VyY2VGaWxlc0NvbW1hbmQuY3h4LAoJICBjbVNvdXJjZUZpbGVzUmVtb3ZlQ29tbWFuZC5jeHgsIGNtU3RhbmRhcmRJbmNsdWRlcy5oLAoJICBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oLCBjbVRhcmdldC5jeHgsCgkgIGNtVGFyZ2V0TGlua0xpYnJhcmllc0NvbW1hbmQuY3h4LCBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmgsIGNtVlRLTWFrZUluc3RhbnRpYXRvckNvbW1hbmQuY3h4LAoJICBjbVZUS1dyYXBKYXZhQ29tbWFuZC5jeHgsIGNtVlRLV3JhcFB5dGhvbkNvbW1hbmQuY3h4LAoJICBjbVZUS1dyYXBUY2xDb21tYW5kLmN4eCwgY21XcmFwRXhjbHVkZUZpbGVzQ29tbWFuZC5jeHgsCgkgIGNtYWtlLmN4eCwgY21ha2UuaCwgY3Rlc3QuY3h4OiBtYXNzaXZlIG1lcmdlIGZyb20gbWFpbiB0cmVlCgoyMDAyLTA3LTAyIDA5OjMzICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUZpbmRMaWJyYXJ5Q29tbWFuZC5jeHgsIGNtTWFrZWZpbGUuaCwKCSAgY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaDogdXBkYXRlcwoKMjAwMi0wNy0wMiAwODoyNCAgbWFydGluawoKCSogU291cmNlLzogY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaDogZml4ZWQgd2FybmluZwoKMjAwMi0wNy0wMSAwODo0OSAgbWFydGluawoKCSogU291cmNlLzogY21FbHNlQ29tbWFuZC5jeHgsIGNtSWZDb21tYW5kLmN4eCwgY21JZkNvbW1hbmQuaDoKCSAgY29uc29saWRhdGVkIElGIGhhbmRsaW5nIGFuZCBhZGRlZCBjaGVja3MgZm9yIGJhZCBhcmd1bWVudHMKCjIwMDItMDYtMzAgMTM6NTMgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtVlRLV3JhcFB5dGhvbkNvbW1hbmQuY3h4LCBjbVZUS1dyYXBUY2xDb21tYW5kLmN4eDoKCSAgZml4ZWQgY29tbWFuZHMgdGhhdCB3ZXJlIHNldHRpbmcgZGVmaW5pdGlvbnMgaW4gZmluYWwgcGFzcyB0byBzZXQKCSAgZGVmaW5pdGlvbnMgaW4gaW5pdGlhbCBwYXNzCgoyMDAyLTA2LTI5IDIwOjA0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbVFUV3JhcENQUENvbW1hbmQuY3h4LCBjbVZUS1dyYXBKYXZhQ29tbWFuZC5jeHgsCgkgIGNtVlRLV3JhcFB5dGhvbkNvbW1hbmQuY3h4LCBjbVZUS1dyYXBUY2xDb21tYW5kLmN4eDogZml4ZWQKCSAgY29tbWFuZHMgdGhhdCB3ZXJlIHNldHRpbmcgZGVmaW5pdGlvbnMgaW4gZmluYWwgcGFzcyB0byBzZXQKCSAgZGVmaW5pdGlvbnMgaW4gaW5pdGlhbCBwYXNzCgoyMDAyLTA2LTI4IDEwOjI5ICBhbmR5CgoJKiBTb3VyY2UvY21WVEtXcmFwUHl0aG9uQ29tbWFuZC5jeHg6IFJlbW92ZSBhbm90aGVyIHdhcm5pbmcgaW4gdGhlCgkgIHB5dGhvbiB3cmFwcGluZwoKMjAwMi0wNi0yOCAxMDoxOCAgbWFydGluawoKCSogU291cmNlL2NtU291cmNlRmlsZS5oOiBwZXJmb3JtYW5jZSBmaXgKCjIwMDItMDYtMjggMDk6NDMgIGFuZHkKCgkqIFNvdXJjZS9jbVZUS1dyYXBQeXRob25Db21tYW5kLmN4eDogQWRkIHJlbW92aW5nIG9mIHdhcm5pbmdzIGFuZAoJICBhZGQgY29tbWVudCBhYm91dCB0aGUgZmlsZSBiZWluZyBnZW5lcmF0ZWQgaW4gQ01ha2UKCjIwMDItMDYtMjggMDk6MjEgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUF1eFNvdXJjZURpcmVjdG9yeUNvbW1hbmQuY3h4OiBidWcgZml4IGZvciBhdXggc3JjIGRpcnMKCjIwMDItMDYtMjggMDg6NTcgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbVNvdXJjZUZpbGUuaDogbWlub3IgY2xlYW51cAoKMjAwMi0wNi0yNyAyMToxNyAgbWFydGluawoKCSogU291cmNlLzogY21NYWtlZmlsZS5jeHgsIGNtU291cmNlRmlsZS5oOiBwZXJmb3JtYW5jZSBpbnByb3ZlbWVudHMKCjIwMDItMDYtMjcgMTY6NDcgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogYnVnIGZpeAoKMjAwMi0wNi0yNyAxNjo0MiAgbWFydGluawoKCSogU291cmNlLzogY21NYWtlZmlsZS5jeHgsIGNtU291cmNlRmlsZXNDb21tYW5kLmN4eDogYnVnIGZpeAoKMjAwMi0wNi0yNyAxNjoyNSAgbWFydGluawoKCSogU291cmNlL2NtU291cmNlRmlsZXNDb21tYW5kLmN4eDogYnVnIGZpeAoKMjAwMi0wNi0yNyAxNjowNSAgbWFydGluawoKCSogVGVzdHMvU2ltcGxlL0NNYWtlTGlzdHMudHh0OiBhIG1pbm9yIGZpeCB0byBtYWtlIG15IGxpZmUgZWFzaWVyCgoyMDAyLTA2LTI3IDE1OjU3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21BdXhTb3VyY2VEaXJlY3RvcnlDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuY3h4LCBTb3VyY2UvY21EU1dXcml0ZXIuY3h4LAoJICBTb3VyY2UvY21GTFRLV3JhcFVJQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUdldEZpbGVuYW1lQ29tcG9uZW50Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUlUS1dyYXBUY2xDb21tYW5kLmN4eCwgU291cmNlL2NtSW5zdGFsbEZpbGVzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUxpbmtMaWJyYXJpZXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtTVNEb3RORVRHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21NYWtlRGVwZW5kLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGUuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5oLAoJICBTb3VyY2UvY21RVFdyYXBDUFBDb21tYW5kLmN4eCwgU291cmNlL2NtUVRXcmFwVUlDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtU291cmNlRmlsZXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtU291cmNlRmlsZXNSZW1vdmVDb21tYW5kLmN4eCwgU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4LAoJICBTb3VyY2UvY21TeXN0ZW1Ub29scy5oLCBTb3VyY2UvY21UYXJnZXQuY3h4LAoJICBTb3VyY2UvY21UYXJnZXRMaW5rTGlicmFyaWVzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbVZUS01ha2VJbnN0YW50aWF0b3JDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtVlRLV3JhcEphdmFDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtVlRLV3JhcFB5dGhvbkNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21WVEtXcmFwVGNsQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVdyYXBFeGNsdWRlRmlsZXNDb21tYW5kLmN4eCwKCSAgVGVzdHMvQ29tcGxleC9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQ6IHJlbW92ZWQgYWxsCgkgIHNvdXJjZSBsaXN0cyBmcm9tIHRoZSBzeXN0ZW0gYW5kIG1hZGUgdGhlbSB2ZWN0b3JzLiBBbHNvIGFwcGVuZGVkCgkgIF9DTUFLRV9QQVRIIHRvIHRoZSBlbmQgb2YgdGhlIGF1dG9tYXRpYyBjYWNoZSBlbnRyaWVzIGZvcgoJICBleGVjdXRhYmxlcyBhbmQgbGlicmFyaWVzLiBPZGRzIG9mIGFsbCB0aGVzZSBjaGFuZ2VzIHdvcmtpbmcgYXJlCgkgIHNsaW0gYnV0IGNtYWtlIGJ1aWxkcyBhbmQgcGFzc2VzIGFsbCBpdHMgdGVzdHMuIFZUSzQwIHN0YXJ0cwoJICBidWlsZGluZwoKMjAwMi0wNi0yNyAwOTozNSAga2luZwoKCSogU291cmNlLzogY21ha2UuY3h4LCBjbWFrZS5oOiBCVUc6IENNYWtlIGNyYXNoZWQgaWYgaXQgZmFpbGVkIHRvCgkgIGZpbmQgaXRzIG93biBleGVjdXRhYmxlLiAgQWxzbyBhZGRlZCBiZXR0ZXIgZXJyb3IgbWVzc2FnZXMgd2hlbgoJICB0aGlzIG9jY3Vycy4KCjIwMDItMDYtMjUgMDk6NTkgIGhvZmZtYW4KCgkqIFRlc3RzL1NpbXBsZS9DTWFrZUxpc3RzLnR4dDogYWRkIGEgdGVzdCB3aXRoIG5vIGV4dGVuc2lvbgoKMjAwMi0wNi0yNSAwOTo1OSAgaG9mZm1hbgoKCSogU291cmNlL2NtVGFyZ2V0LmN4eDogQlVHOiB0cnkgdG8gdGVsbCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuCgkgIHZhcmlhYmxlcyB3aXRoIHNvdXJjZXMgYW5kIG90aGVyIHZhcmlhYmxlcwoKMjAwMi0wNi0yNSAwOToxOCAga2luZwoKCSogU291cmNlL2NtU3RhbmRhcmRJbmNsdWRlcy5oOiBCVUc6IFJlc3VsdCBmcm9tIG9zdHJzdHJlYW06OnN0cigpCgkgIGNhbiBiZSBhIG51bGwgcG9pbnRlci4KCjIwMDItMDYtMjQgMTg6MTkgIGtpbmcKCgkqIFNvdXJjZS9jbVN0YW5kYXJkSW5jbHVkZXMuaDogQlVHOiBBdHRlbXB0IHRvIGZpeAoJICBvc3Ryc3RyZWFtOjpzdHIoKSB3cmFwcGVyIGZvciBicm9rZW4gcGxhdGZvcm1zLgoKMjAwMi0wNi0yNCAxNjo0MiAgbWFydGluawoKCSogU291cmNlL2NtVGFyZ2V0LmN4eDogbW9kaWZpZWQgdG8gaGFuZGxlIHNyYyBsaXN0IHZlY3RvcnMgd2l0aG91dAoJICBwcm9wZXIgZG9sbGFyIHNpZ25zCgoyMDAyLTA2LTI0IDE0OjA3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY3Rlc3QuY3h4OiBCVUc6IG1ha2Ugc3VyZSB3aW5kb3dzIHBhdGhzIGFyZSB1c2VkIGZvciB0aGUKCSAgY29tbWFuZCBvciBpdCB3aWxsIG5vdCB3b3JrIGZvciB3aW4gOTgKCjIwMDItMDYtMjEgMTE6MzUgIG1hcnRpbmsKCgkqIFRlbXBsYXRlcy86IENYWENNYWtlU3lzdGVtQ29uZmlnLmNtYWtlLmluLCBjeHhjb25maWd1cmUsCgkgIGN4eGNvbmZpZ3VyZS5pbjogbm93IGxvb2tzIGZvciBzdHJpbmdzdHJlYW0gYXMgd2VsbCwgZnJvbSB0aGUKCSAgbWFpbiB0cmVlCgoyMDAyLTA2LTIxIDExOjI1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUVsc2VDb21tYW5kLmN4eCwgY21JZkNvbW1hbmQuY3h4OiBmaXhlZCBpZiBtYXRjaGVzIGJ1ZwoKMjAwMi0wNi0yMSAxMDozMSAga2luZwoKCSogU291cmNlL2NtU3RhbmRhcmRJbmNsdWRlcy5oOiBFUlI6IHVzaW5nIGRlY2xhcmF0aW9uIHRvIG1vdmUKCSAgc3RyZWFtcyBpbnRvIHN0ZCBuYW1lc3BhY2UgbmVlZHMgdG8gYnJpbmcgdXAgb3N0cnN0cmVhbSBhbmQKCSAgb3N0cmluZ3N0cmVhbSwgbm90IHN0cnN0cmVhbSBhbmQgc3RyaW5nc3RyZWFtLgoKMjAwMi0wNi0yMSAxMDoyNiAga2luZwoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9mb3JtL2ZybV9kcml2ZXIuYzogRVJSOiBSZW1vdmVkIG1vc3Qgb2YgdGhlCgkgIHJlcGVhdGVkIGN1cnNlcyBkZWNsYXJhdGlvbnMuICBUaGUgY2F1c2UgZXJyb3JzIG9uIG90aGVyCgkgIHBsYXRmb3Jtcy4gIEdycnJyLi4KCjIwMDItMDYtMjEgMDk6MjUgIGtpbmcKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvZm9ybS9mcm1fZHJpdmVyLmM6IEVSUjogQWRkZWQgZnVuY3Rpb24KCSAgZGVjbGFyYXRpb25zIGZyb20gY3Vyc2VzLmguICBUaGV5IGFyZSBub3QgcHJlc2VudCBvbiBzb21lCgkgIHBsYXRmb3Jtcy4gIEZpeGVzIHdhcm5pbmdzIGFib3V0IGltcGxpY2l0IGRlY2xhcmF0aW9ucy4KCjIwMDItMDYtMjEgMDk6MDAgIGtpbmcKCgkqIFRlc3RzLzogQ29tcGxleC9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgQ29tcGxleE9uZUNvbmZpZy9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvY21UZXN0Q29uZmlndXJlLmguaW46IEVOSDogQWRkZWQKCSAgY29uZmlndXJhdGlvbiBvZiBDTUFLRV9OT19BTlNJX1NUUklOR19TVFJFQU0uICBJdCBpcyBkZWZpbmVkIHdoZW4KCSAgdGhlIHNzdHJlYW0gaGVhZGVyIGRvZXMgbm90IGV4aXN0LgoKMjAwMi0wNi0yMSAwODo0MiAga2luZwoKCSogY29uZmlndXJlLCBUZW1wbGF0ZXMvY3h4Y29uZmlndXJlOiBFUlI6IFJhbiBhdXRvY29uZiBvbgoJICBjb3JyZXNwb25kaW5nIGZpeGVzIHRvIGNvbmZpZ3VyZS5pbiBhbmQgY3h4Y29uZmlndXJlLmluLgoKMjAwMi0wNi0yMSAwODozOSAgaG9mZm1hbgoKCSogVGVtcGxhdGVzL2N4eGNvbmZpZ3VyZS5pbjogZml4IGZvciBzc3RyZWFtCgoyMDAyLTA2LTIxIDA4OjM4ICBob2ZmbWFuCgoJKiBjb25maWd1cmUuaW46IGZpeCB0byBzc3RyaW5nIHN0dWZmCgoyMDAyLTA2LTIwIDEwOjM5ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUVsc2VDb21tYW5kLmN4eCwgY21JZkNvbW1hbmQuY3h4OiBtb2RpZmllZCBNQVRDSEVTIHRvCgkgIGhhbmRsZSBub24gdmFyaWFibGVzCgoyMDAyLTA2LTIwIDEwOjIwICBraW5nCgoJKiBTb3VyY2UvY21TdGFuZGFyZEluY2x1ZGVzLmg6IEVSUjogY21TdHJpbmdTdHJlYW0gaXMgdGFraW5nIHRoZQoJICBmdW5jdGlvbmFsaXR5IG9mIG9zdHJpbmdzdHJlYW0gYW5kIG9zdHJzdHJlYW0sIG5vdCBzdHJpbmdzdHJlYW0KCSAgYW5kIHN0cnN0cmVhbS4KCjIwMDItMDYtMjAgMTA6MTkgIGtpbmcKCgkqIFRlbXBsYXRlcy9DWFhDTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbjogQlVHOgoJICBDTUFLRV9OT19BTlNJX1NUUklOR19TVFJFQU0gbmVlZHMgdG8gYmUgY29waWVkIGZyb20gdGhlCgkgIGN4eGNvbmZpZ3VyZSByZXN1bHRzLgoKMjAwMi0wNi0xOSAxNToyMSAga2luZwoKCSogU291cmNlLzogY21Cb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbUNNYWtlTWluaW11bVJlcXVpcmVkLmN4eCwgY21Db25maWd1cmUuY21ha2UuaC5pbiwKCSAgY21Db25maWd1cmUuaC5pbiwgY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21TdGFuZGFyZEluY2x1ZGVzLmgsIGNtU3lzdGVtVG9vbHMuY3h4LAoJICBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsIGNtVlRLTWFrZUluc3RhbnRpYXRvckNvbW1hbmQuY3h4LAoJICBjbWFrZS5jeHg6IEVOSDogQWRkZWQgY21TdHJpbmdTdHJlYW0gY2xhc3MgdG8gd3JhcAoJICBzdGQ6OnN0cmluZ3N0cmVhbSBvciBzdGQ6OnN0cnN0cmVhbSBkZXBlbmRpbmcgb24gdGhlIHBsYXRmb3JtLgoJICBUaGUgaW50ZXJmYWNlIGlzIHRoYXQgb2Ygc3RkOjpzdHJpbmdzdHJlYW0sIHNvIG5vICJlbmRzIiBvcgoJICAicmRidWYoKS0+ZnJlZXplKDApIiBsaW5lcyBhcmUgbmVlZGVkLgoKMjAwMi0wNi0xOSAxNTowOSAga2luZwoKCSogY29uZmlndXJlLCBUZW1wbGF0ZXMvY3h4Y29uZmlndXJlOiBFTkg6IFJlLXJhbiBhdXRvY29uZiB0bwoJICBpbmNsdWRlIGNoYW5nZXMgdG8gY29ycmVzcG9uZGluZyBjb25maWd1cmUgaW5wdXQuICBUaGlzIGFkZHMgYQoJICB0ZXN0IGZvciB0aGUgYXZhaWxhYmlsaXR5IG9mIHNzdHJlYW0uCgoyMDAyLTA2LTE5IDE1OjA1ICBraW5nCgoJKiBjb25maWd1cmUuaW4sIFRlbXBsYXRlcy9jeHhjb25maWd1cmUuaW46IEVOSDogQWRkZWQgdGVzdCBmb3IKCSAgc3N0cmVhbSBoZWFkZXIuICBEZWZpbmVzIENNQUtFX05PX0FOU0lfU1RSSU5HX1NUUkVBTSBpZiB0aGUKCSAgaGVhZGVyIGRvZXNuJ3QgZXhpc3QuCgoyMDAyLTA2LTE5IDE0OjM1ICBiYXJyZQoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IEZpbmRMaWJyYXJ5IHN1cHBvcnRzIC5OZXQgc3BlY2lmaWMKCSAgbGliIGRpcnMKCjIwMDItMDYtMTkgMTM6NDkgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuY3h4LCBjbUNyZWF0ZVRlc3RTb3VyY2VMaXN0LmgsCgkgIGNtRW5hYmxlVGVzdGluZ0NvbW1hbmQuaCwgY21GdW5jdGlvbkJsb2NrZXIuaCwgY21NYWtlZmlsZS5oLAoJICBjbVRhcmdldC5jeHg6IG1lcmdlcyBmcm9tIG1haW4gdHJlZQoKMjAwMi0wNi0xOSAxMzoyOCAgbWFydGluawoKCSogU291cmNlL2NtU291cmNlRmlsZS5jeHg6IG1vZGlmaWVkIGNyZWF0ZSB0ZXN0IHNvdXJjZSB0byBjcmVhdGUgYQoJICB2ZWN0b3IKCjIwMDItMDYtMTkgMTM6MTQgIG1hcnRpbmsKCgkqIE1vZHVsZXMvOiBEYXJ0LmNtYWtlLCBGaW5kR0xVLmNtYWtlLCBGaW5kR0xVVC5jbWFrZSwKCSAgRmluZEpOSS5jbWFrZSwgRmluZE9wZW5HTC5jbWFrZSwgRmluZFRjbHNoLmNtYWtlLCBGaW5kWDExLmNtYWtlOgoJICB1cGRhdGUgZGZyb20gbWFpbiB0cmVlCgoyMDAyLTA2LTE5IDEyOjUxICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21DcmVhdGVUZXN0U291cmNlTGlzdC5jeHgsCgkgIFNvdXJjZS9jbUNyZWF0ZVRlc3RTb3VyY2VMaXN0LmgsIFNvdXJjZS9jbVNvdXJjZUZpbGUuY3h4LAoJICBTb3VyY2UvY21UYXJnZXQuY3h4LCBUZXN0cy9UZXN0RHJpdmVyL0NNYWtlTGlzdHMudHh0OiBtb2RpZmllZAoJICBjcmVhdGUgdGVzdCBzb3VyY2UgdG8gY3JlYXRlIGEgdmVjdG9yCgoyMDAyLTA2LTE5IDA4OjU3ICBraW5nCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2Zvcm0vZnR5X2FscGhhLmM6IEVSUjogRml4ZWQgdW51c2VkIHBhcmFtZXRlcgoJICB3YXJuaW5nLgoKMjAwMi0wNi0xOSAwNzoyOCAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIFRlc3RzL0NvbXBsZXgvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0OiBbbm8gbG9nIG1lc3NhZ2VdCgoyMDAyLTA2LTE4IDE3OjIwICBraW5nCgoJKiBTb3VyY2UvOiBjbUVuYWJsZVRlc3RpbmdDb21tYW5kLmgsIGNtRnVuY3Rpb25CbG9ja2VyLmgsCgkgIGNtTWFrZWZpbGUuY3h4LCBjbVN5c3RlbVRvb2xzLmN4eCwgY21UYXJnZXQuY3h4OiBFUlI6IEZpeGVkCgkgIGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAwMi0wNi0xOCAxNzoyMCAga2luZwoKCSogU291cmNlL0N1cnNlc0RpYWxvZy86IGNjbWFrZS5jeHgsIGNtQ3Vyc2VzQm9vbFdpZGdldC5jeHgsCgkgIGNtQ3Vyc2VzRHVtbXlXaWRnZXQuY3h4LCBjbUN1cnNlc0Zvcm0uaCwgY21DdXJzZXNMYWJlbFdpZGdldC5jeHgsCgkgIGNtQ3Vyc2VzTG9uZ01lc3NhZ2VGb3JtLmN4eCwgY21DdXJzZXNNYWluRm9ybS5jeHg6IEVSUjogRml4ZWQKCSAgY29tcGlsZXIgd2FybmluZ3MgYWJvdXQgdW51c2VkIHBhcmFtZXRlcnMuCgoyMDAyLTA2LTE4IDE3OjE5ICBraW5nCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2Zvcm0vOiBmcm1fZHJpdmVyLmMsIGZybV9yZXFfbmFtZS5jLAoJICBmdHlfYWxudW0uYywgZnR5X2ludC5jLCBmdHlfaXB2NC5jLCBmdHlfbnVtLmMsIGZ0eV9yZWdleC5jOiBFUlI6CgkgIEZpeGVkIGNvbXBpbGVyIHdhcm5pbmdzIHdoZW4gdXNpbmcgc3RyaWN0IGFuc2kuCgoyMDAyLTA2LTE4IDE2OjQzICBtYXJ0aW5rCgoJKiBNb2R1bGVzL0RhcnQuY21ha2U6IGZpeGVkIGFub3RoZXIgYnVnCgoyMDAyLTA2LTE4IDE2OjM1ICBtYXJ0aW5rCgoJKiBNb2R1bGVzL0RhcnQuY21ha2U6IGZpeGVkIGJ1ZwoKMjAwMi0wNi0xOCAxNjozMiAga2luZwoKCSogU291cmNlL2N0ZXN0LmN4eDogRVJSOiBGaXggZm9yIGZwcmludGYgZm9ybWF0IHdhcm5pbmcuCgoyMDAyLTA2LTE4IDE2OjMwICBraW5nCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2Zvcm0vZnJtX2RhdGEuYzogRVJSOiBBdHRlbXB0IHRvIGZpeCB3YXJuaW5nCgkgIG9uIE9TRiBhYm91dCBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiB3aW5uc3RyLgoKMjAwMi0wNi0xOCAxNDoyNiAgYmFycmUKCgkqIE1vZHVsZXMvRmluZEdMVVQuY21ha2U6IEVOSDogYWRkIG1vcmUgcGF0aHMgZm9yIHRoZSBIUAoKMjAwMi0wNi0xOCAwODo1NCAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIFRlc3RzL0NvbXBsZXgvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0OiBFTkg6IHRyeSBhbmQgZml4IGxpbmsKCSAgcHJvYmxlbSBvbiBkZWMKCjIwMDItMDYtMTcgMTM6NDMgIGFuZHkKCgkqIE1vZHVsZXMvRmluZEpOSS5jbWFrZTogQWRkIGRlYmlhbiBKYXZhIHBhdGhzCgoyMDAyLTA2LTE3IDEzOjA3ICBiYXJyZQoKCSogTW9kdWxlcy86IEZpbmRHTFUuY21ha2UsIEZpbmRHTFVULmNtYWtlOiBGSVg6IEdMVSBhbmQgR0xVVCBmbGFncwoJICBmb3IgTWFjIE9TWAoKMjAwMi0wNi0xNCAxNjo0OSAgYmFycmUKCgkqIE1vZHVsZXMvOiBGaW5kQ0FCTEUuY21ha2UsIEZpbmRUY2xzaC5jbWFrZSwgRmluZFgxMS5jbWFrZTogRU5IOgoJICBjbGVhbiBtb2R1bGVzIChkb2MsIG1ha2Ugc3R1ZmYgYWR2YW5jZWQsIGV0Yy4pCgoyMDAyLTA2LTE0IDE2OjM4ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0RhcnQuY21ha2U6IEVOSDogY2hhbmdlIHNvIHRoYXQgb24gYWxsIG1ha2UgYmFzZWQgc3lzdGVtcwoJICBhbGwgZGFydCB0YXJnZXRzIGFyZSBhZGRlZAoKMjAwMi0wNi0xNCAxMTo0NiAgYmFycmUKCgkqIE1vZHVsZXMvOiBGaW5kR0xVLmNtYWtlLCBGaW5kR0xVVC5jbWFrZTogRU5IOiB1c2UKCSAgT1BFTkdMX0xJQlJBUllfUEFUSCBhcyBhZGRpdGlvbmFsIHNlYXJjaCBwYXRoCgoyMDAyLTA2LTE0IDExOjQ1ICBiYXJyZQoKCSogTW9kdWxlcy9GaW5kT3BlbkdMLmNtYWtlOiBFTkg6IGRlZmluZSBPUEVOR0xfTElCUkFSWV9QQVRIIChwYXRoCgkgIHRvIE9QRU5HTF9MSUJSQVJZKSBzbyB0aGF0IGl0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3Igb3RoZXIKCSAgT3BlbkdMLXJlbGF0ZWQgbGlicwoKMjAwMi0wNi0xNCAxMTozMSAgYmFycmUKCgkqIE1vZHVsZXMvRmluZEdMVS5jbWFrZTogRklYOiBidWcsIHRoZSB3cm9uZyBpbmNsdWRlIGZpbGUgd2FzCgkgIHNlYXJjaGVkLgoKMjAwMi0wNi0xNCAxMDozNyAgYmFycmUKCgkqIFNvdXJjZS86IGNtRmluZExpYnJhcnlDb21tYW5kLmN4eCwgY21TeXN0ZW1Ub29scy5jeHgsCgkgIGNtU3lzdGVtVG9vbHMuaDogRU5IOiBGaW5kTGlicmFyeSBjYW4gbm93IHVzZSB0aGUgbWFrZWZpbGUgdG8gYWRkCgkgIHNvbWUgY29tcGlsZXItc3BlY2lmaWMgbGliIHNlYXJjaCBwYXRoIChkZXBlbmRpbmcgb24gdGhlCgkgIGdlbmVyYXRvcikuCgoyMDAyLTA2LTE0IDEwOjM1ICBiYXJyZQoKCSogTW9kdWxlcy9GaW5kR0xVVC5jbWFrZTogRU5IL0ZJWDogR2x1dCBzaG91bGQgYmUgZm91bmQsIG5vdCBzZXQuCgkgIEFkZCBzZWFyY2ggcGF0aCBmb3IgQ3lnd2luCgoyMDAyLTA2LTEzIDE0OjQ1ICBiYXJyZQoKCSogTW9kdWxlcy9GaW5kR0xVVC5jbWFrZTogRklYOiBjb21wbHkgd2l0aCB0aGUgd2F5IE9wZW5HTCBsaWJzIGFyZQoJICBzZXQgaW4gRmluZE9wZW5HTCBhbmQgRmluZEdMVQoKMjAwMi0wNi0xMyAxMTo0OCAgYmFycmUKCgkqIE1vZHVsZXMvOiBGaW5kR0xVLmNtYWtlLCBGaW5kR0xVVC5jbWFrZSwgRmluZE9wZW5HTC5jbWFrZTogRU5IOgoJICBtYWtlIGFsbCBPcGVuR0wgbGlicyBhZHZhbmNlZCwgYW5kIGFkZCBzdXBwb3J0IGZvciBnbHUgbGliIHdpdGgKCSAgQm9ybGFuZAoKMjAwMi0wNi0xMSAxNDo1NCAgbWFydGluawoKCSogU291cmNlLzogY21NU0RvdE5FVEdlbmVyYXRvci5jeHgsIGNtTVNEb3RORVRHZW5lcmF0b3IuaCwKCSAgY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmgsCgkgIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuaDogc29tZQoJICBmaXhlcyBmb3IgZG90IG5ldCBhbmQgc3BhY2VzCgoyMDAyLTA2LTExIDE0OjI1ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuaCwgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5oOiB1c2UgbG93ZXIgY2FzZSBhbmQgbm90IHNob3J0IHBhdGggZm9yCgkgIHVuaXEgcGF0aHMgb24gd2luZG93CgoyMDAyLTA2LTExIDE0OjI1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21NU0RvdE5FVEdlbmVyYXRvci5jeHg6IG9ubHkgYWxsb3cgdW5pcXVlIGNvbmZpZ3VyYXRpb25zCgoyMDAyLTA2LTExIDE0OjE1ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbU1TRG90TkVUR2VuZXJhdG9yLmN4eCwgY21NU0RvdE5FVEdlbmVyYXRvci5oOiBCVUc6IGZpeAoJICBkb3QgbmV0IGZvciBwYXRocyB3aXRoIHNwYWNlcwoKMjAwMi0wNi0xMSAxMjoxNiAgaG9mZm1hbgoKCSogU291cmNlL2NtTVNEb3RORVRHZW5lcmF0b3IuY3h4OiBCVUc6IFJlbGF0aXZlUGF0aCBzaG91bGQgbm90IGJlCgkgIHF1b3RlZCBpbiBvdXRwdXQgZmlsZXMgZXZlbiBpZiBpdCBoYXMgc3BhY2VzCgoyMDAyLTA2LTExIDExOjE5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBzb21lIHdpbjk4IGRlcGVuZCBwcm9ibGVtcwoKMjAwMi0wNi0xMSAxMTowMSAgaG9mZm1hbgoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBkb24ndCB1c2Ugc2hvcnQgcGF0aHMgaW4KCSAgdGhlIG91dHB1dAoKMjAwMi0wNi0xMSAxMDo0MyAgaG9mZm1hbgoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogdXNlIHNob3J0IHBhdGggdG8gZ2V0IHVuaXF1ZQoJICBwYXRoIG5hbWVzIGZvciBkZXBlbmQgcGF0aCBvdXRwdXQKCjIwMDItMDYtMTEgMDk6MTQgIGhvZmZtYW4KCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvOiBjY21ha2UuY3h4LCBjbUN1cnNlc01haW5Gb3JtLmN4eDogRVJSOgoJICBGaXhlZCBzdW4gQ0Mgd2FybmluZ3MuCgoyMDAyLTA2LTEwIDE0OjIxICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbU1ha2VEZXBlbmQuY3h4LCBjbU1ha2VEZXBlbmQuaCwgQ01ha2VMaXN0cy50eHQ6IGpvaW5zCgkgIHdpdGggdGhlIGhlYWQKCjIwMDItMDYtMTAgMTQ6MTkgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTWFrZURlcGVuZC5jeHgsIGNtTWFrZURlcGVuZC5oOiBub3cgaW5jbHVkZXMgY3VycmVudAoJICBpbmNsdWRlIGZpbGVzIGRpcmVjdG9yeSB3aGVuIHNlYXJjaGluZyBmb3IgZmlsZXMgaXQgaW5jbHVkZXMKCjIwMDItMDYtMTAgMTE6MzMgIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogQlVHOiBjbWFrZSBuZWVkcyBpdCdzIG93biBkaXJlY3RvcnkgZm9yCgkgIGluY2x1ZGVzLCBzbyBkZXBlbmRzIHdvcmsKCjIwMDItMDYtMTAgMDk6NTAgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy50eHQ6IG5ldyBjaGFuZ2VzIGZvciAxLjQKCjIwMDItMDYtMTAgMDk6MzUgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmg6IHVwZGF0ZWQgcmV2aXNpb24KCjIwMDItMDYtMTAgMDk6MzMgIG1hcnRpbmsKCgkqIE1vZHVsZXMvOiBGaW5kR0xVVC5jbWFrZSwgRmluZFB5dGhvbkxpYnMuY21ha2U6IHVwZGF0ZWQgZnJvbSBtYWluCgkgIGJyYW5jaAoKMjAwMi0wNi0xMCAwODo1MyAgYW5keQoKCSogTW9kdWxlcy9GaW5kUHl0aG9uTGlicy5jbWFrZTogT29wcywgZm9yZ290IHRoZSBsaWJyYXJ5IG5hbWUKCjIwMDItMDYtMTAgMDg6NTIgIGFuZHkKCgkqIE1vZHVsZXMvRmluZFB5dGhvbkxpYnMuY21ha2U6IEFkZCBzZWFyY2ggZm9yIHB5dGhvbiAyLjIKCjIwMDItMDYtMDcgMDg6MzkgIGliYW5legoKCSogTW9kdWxlcy9GaW5kRkxUSy5jbWFrZTogRklYOiB7fSB3ZXJlIG1pc3NpbmcgYXJvdW5kCgkgIEZMVEtfKl9MSUJSQVJZLgoKMjAwMi0wNi0wNiAxNzo0OSAgaWJhbmV6CgoJKiBNb2R1bGVzL0ZpbmRGTFRLLmNtYWtlOiBGSVg6IFRoZSBmaW5hbCB0ZXN0IGlzIGRvbmUgbm93IG92ZXIKCSAgRkxUS19MSUJSQVJZIGluc3RlYWQgb2YgRkxUS19MSUJSQVJZX1BBVEgKCjIwMDItMDYtMDYgMTU6MjggIGliYW5legoKCSogTW9kdWxlcy9GaW5kRkxUSy5jbWFrZTogRU5IOiBTdXBwb3J0IGZvciBGTFRLMS4xIGFuZCBGTFRLMS4wLjExCgkgIGFkZGVkLiBBbiBvcHRpb24gYWxsb3dzIHRvIHNlbGVjdAkgYmV0d2VlbiB0aGUgdHdvIHZlcnNpb25zLgoKMjAwMi0wNi0wNiAxNTowMCAgbWFydGluawoKCSogQ01ha2UucnRmOiB1cGRhdGVzCgoyMDAyLTA2LTA2IDExOjUzICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBNYWtlZmlsZS5ib3JsYW5kOiBFTkg6IHJlbW92ZSBib3JsYW5kIGJvb3RzdHJhcCBtYWtlZmlsZQoKMjAwMi0wNi0wNiAwODo0OSAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kR0xVVC5jbWFrZTogZml4IGZvciBnbHV0IG9uIHdpbjMyCgoyMDAyLTA2LTA1IDEzOjMxICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5oOiB1cGRhdGVkIHJldmlzaW9uCgoyMDAyLTA2LTA1IDEzOjMwICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5oOiB1cGRhdGVkIHJldgoKMjAwMi0wNi0wNSAxMzoyMiAgbWFydGluawoKCSogU291cmNlL2Njb21tYW5kLmN4eDogbWVyZ2VkIGNjb21tYW5kIGludG8gY21ha2UKCjIwMDItMDYtMDUgMDk6MTEgIG1hcnRpbmsKCgkqIFNvdXJjZS86IENNYWtlTGliLmRzcCwgRHVtcERvY3VtZW50YXRpb24uZHNwLCBjY29tbWFuZC5kc3AsCgkgIGNtYWtlLmRzcCwgY3Rlc3QuZHNwOiB1c2VzIGV4ZWN1dGFia2UgYm9vdHN0cmFwCgoyMDAyLTA2LTAzIDEzOjQwICBtYXJ0aW5rCgoJKiBUZXN0cy86IENvbXBsZXgvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0OiBjaGFuZ2VkIENDT01NQU5EIHRvCgkgIENNQUtFCgoyMDAyLTA2LTAzIDEzOjA4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbUJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21ha2UuY3h4LAoJICBTb3VyY2UvY21ha2UuaCwgU291cmNlL2NtYWtlbWFpbi5jeHgsCgkgIFRlc3RzL0NvbXBsZXgvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0OiByZW1vdmVkIGNjb21tYW5kIHVzZQoJICBjbWFrZSBub3cKCjIwMDItMDYtMDMgMTE6MDYgIG1hcnRpbmsKCgkqIENNYWtlLnJ0ZjogdXBkYXRlZAoKMjAwMi0wNi0wMyAxMDoyNSAgaG9mZm1hbgoKCSogU291cmNlLzogY21NYWtlZmlsZS5jeHgsIGNtVGFyZ2V0LmN4eDogRU5IOiBvbmx5IGFkZCBfTElCX0RFUEVORAoJICBpbmZvcm1hdGlvbiBmb3IgbGlicmFyaWVzIGFuZCBtb2R1bGVzCgoyMDAyLTA1LTMxIDA4OjM5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IGZpeGVkIGJ1ZyBpbiBnZXQgc2hvcnQgcGF0aCBmb3IgcXVvdGVkCgkgIHBhdGhzCgoyMDAyLTA1LTI5IDE1OjAwICBwZXJlcmEKCgkqIFNvdXJjZS9jbVRhcmdldC5jeHg6IEJVRzogbmV2ZXIgbWFrZSBhIHRhcmdldCBkZXBlbmQgb24gaXRzZWxmLgoJICBUaGlzIHdhcyBjYXVzaW5nIHVubmVjZXNzYXJ5IGxpYnJhcnkgZHVwbGljYXRpb24sIHJlc3VsdGluZyBpbgoJICBsaW5rIGVycm9ycyBvbiBzb21lIHBsYXRmb3Jtcy4KCjIwMDItMDUtMjkgMDk6NTYgIGtpbmcKCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogTUFLRUZMQUdTIGRvZXMgbm90IG5lZWQKCSAgdG8gYmUgcGFzc2VkIG9uIGNvbW1hbmQgbGluZS4gIEl0IGlzIGF1dG9tYXRpY2FsbHkgc2V0IGJ5IG1ha2UgaW4KCSAgZW52aXJvbm1lbnQgZm9yIHJlY3Vyc2l2ZSBjYWxsLgoKMjAwMi0wNS0yOCAwODo1NiAgbWFydGluawoKCSogU291cmNlLzogY21ha2UuY3h4LCBjbWFrZS5oOiByZW1vYmVkIGJvb3RzdHJhcAoKMjAwMi0wNS0yOCAwODo1MCAgbWFydGluawoKCSogYm9vdHN0cmFwLmV4ZSwgY2NvbW1hbmQuZXhlOiBkaWZmZXJlbnQgYm9vdHN0cmFwIGNvbW1hbmQKCjIwMDItMDUtMjcgMTA6MjkgIGJhcnJlCgoJKiBUZXN0cy86IENvbXBsZXgvVmFyVGVzdHMuY21ha2UsIENvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleE9uZUNvbmZpZy9WYXJUZXN0cy5jbWFrZSwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9WYXJUZXN0cy5jbWFrZSwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogRU5IOiBhZGQgdGVzdHMgZm9yCgkgIExFU1MsIEdSRUFURVIsIFNUUkxFU1MsIFNUUkdSRUFURVIgKElGIGNvbW1hbmQpCgoyMDAyLTA1LTIzIDEzOjI3ICBob2ZmbWFuCgoJKiBUZXN0cy86IENvbXBsZXgvQ01ha2VMaXN0cy50eHQsIENvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0OiBFTkg6IGluY3Jlc2UgY292ZXJhZ2UKCjIwMDItMDUtMjMgMTM6MjMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwgU291cmNlL2NtU3lzdGVtVG9vbHMuaCwKCSAgVGVzdHMvQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4OiBFTkg6IGluY3JlYXNlCgkgIGNvdmVyYWdlCgoyMDAyLTA1LTIzIDEzOjA0ICBob2ZmbWFuCgoJKiBUZXN0cy86IENvbXBsZXgvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXgvY21UZXN0Q29uZmlndXJlRXNjYXBlLmguaW4sCgkgIENvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwgQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9jbVRlc3RDb25maWd1cmVFc2NhcGUuaC5pbiwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvY21UZXN0Q29uZmlndXJlRXNjYXBlLmguaW4sCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHg6IGFkZCBhIHRlc3QgZm9yCgkgIGVzY2FwZSBxdW90ZXMgYW5kIGNvbmZpZ3VyZSBmaWxlCgoyMDAyLTA1LTIzIDEwOjM2ICBtYXJ0aW5rCgoJKiBib290c3RyYXAuZXhlLCBjY29tbWFuZC5leGU6IGFkZGVkIHdpbjMyIGJvb3RzdHJhcCBzdXBwb3J0CgoyMDAyLTA1LTIzIDEwOjM0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbURTV1dyaXRlci5jeHgsIGNtTVNEb3RORVRHZW5lcmF0b3IuY3h4OiBvbmx5IGFkZCB0ZXN0CgkgIHRhcmdldCBpZiB0ZXN0aW5nIGlzIGVuYWJsZWQgYW5kIGN0ZXN0IGlzIGZvdW5kCgoyMDAyLTA1LTIzIDEwOjMzICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBtaW5vciBib290c3RhcCBmaXhlcwoKMjAwMi0wNS0yMyAxMDozMiAgbWFydGluawoKCSogU291cmNlLzogY21FbHNlQ29tbWFuZC5jeHgsIGNtSWZDb21tYW5kLmN4eCwgY21JZkNvbW1hbmQuaDogYWRkZQoJICBsZXNzIGdyZWF0ZXIKCjIwMDItMDUtMjIgMTM6MjAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUFkZEN1c3RvbUNvbW1hbmRDb21tYW5kLmN4eDogRU5IOiBhZGQgbGlzdCBleHBhbnNpb24KCSAgYmFjawoKMjAwMi0wNS0yMiAwOTo0OCAgaG9mZm1hbgoKCSogU291cmNlLzogY21NU0RvdE5FVEdlbmVyYXRvci5jeHgsIGNtTVNQcm9qZWN0R2VuZXJhdG9yLmN4eCwKCSAgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IGVuYWJsZSBjeHggYnkgZGVmYXVsdCBpZiBubwoJICBsYW5ndWFnZXMgaGF2ZSBiZWVuIGVuYWJsZWQKCjIwMDItMDUtMjIgMDk6NDggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogRU5IOiBiZXR0ZXIgY29tbWVudCBwcm9jZXNzaW5nCgoyMDAyLTA1LTIyIDA5OjQ3ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjdGVzdC5jeHgsIGN0ZXN0Lmg6IEVOSDogZml4IGRlcGVuZCBwcm9ibGVtCgoyMDAyLTA1LTE4IDE2OjA5ICBzdGFycmV2ZWxkCgoJKiBNb2R1bGVzL0ZpbmRPcGVuR0wuY21ha2U6IGZpbmQgb3BlbkdMIGluIENhcmJvbgoKMjAwMi0wNS0xNSAxNzoyMyAgbWFydGluawoKCSogU291cmNlLzogY21ha2UuY3h4LCBjbWFrZS5oOiBhZGRlZCBpbml0aWFsIGF0dGVtcHQgdG8gc3VwcG9ydAoJICB3aW4zMiBib290c3RyYXBwaW5nCgoyMDAyLTA1LTE1IDExOjExICBiZXJrCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IFJ1bkNvbW1hbmQgbm93IGNoZWNrcyB3aGV0aGVyIHRoZQoJICBwcm9jZXNzIGRpZWQgYWJub3JtYWxseSAob24gVW5peCkKCjIwMDItMDUtMTQgMDg6NDIgIGFuZHkKCgkqIE1vZHVsZXMvRmluZFdpc2guY21ha2U6IEFkZCBiZXR0ZXIgZGV0ZWN0aW9uIG9mIHdpc2ggOC4yCgoyMDAyLTA1LTEyIDExOjMyICBiYXJyZQoKCSogU291cmNlLzogY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaDogRU5IOiBhZGQKCSAgbm9fc3lzdGVtX3BhdGggb3B0aW9uIHRvIEZpbmRQcm9ncmFtIHNvIHRoYXQgdGhlIFBBVEggaXMgaWdub3JlZAoKMjAwMi0wNS0xMiAxMTozMSAgYmFycmUKCgkqIFNvdXJjZS86IGNtRmluZFByb2dyYW1Db21tYW5kLmN4eCwgY21GaW5kUHJvZ3JhbUNvbW1hbmQuaDoKCSAgRU5IL0ZJWDogYWRkIE5PX1NZU1RFTV9QQVRIIG9wdGlvbiArIGZpeCBjb21tYW5kIHVzYWdlCgoyMDAyLTA1LTEyIDExOjMxICBiYXJyZQoKCSogU291cmNlL2NtRmluZExpYnJhcnlDb21tYW5kLmg6IEZJWDogY29tbWFuZCB1c2FnZQoKMjAwMi0wNS0xMSAyMjoyOCAgcGVyZXJhCgoJKiBTb3VyY2UvY21UYXJnZXQuY3h4OiBGSVg6IFJlbW92ZSBhc3NlcnQgc2luY2UgaXQgd2FzIGJyZWFraW5nCgkgIElSSVggYnVpbGRzLgoKMjAwMi0wNS0xMCAxNDowNiAgbWlsbGVyanYKCgkqIFNvdXJjZS9jbVRhcmdldC5jeHg6IEZJWDogQ29uc3QgcmVmZXJlbmNlIHRvIGEgc2V0IG5lZWRzIGEKCSAgY29uc3RfaXRlcmF0b3IuICguTkVUIGJ1aWxkIGVycm9yKQoKMjAwMi0wNS0xMCAxMzozNSAgcGVyZXJhCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbVRhcmdldC5jeHgsIFNvdXJjZS9jbVRhcmdldC5oLAoJICBUZXN0cy9EZXBlbmRlbmN5L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9EZXBlbmRlbmN5L0VpZ2h0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9EZXBlbmRlbmN5L0VpZ2h0L0VpZ2h0U3JjLmMsCgkgIFRlc3RzL0RlcGVuZGVuY3kvRXhlYzIvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0RlcGVuZGVuY3kvRXhlYzIvRXhlY01haW4uYywKCSAgVGVzdHMvRGVwZW5kZW5jeS9FeGVjMy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRGVwZW5kZW5jeS9FeGVjMy9FeGVjTWFpbi5jLAoJICBUZXN0cy9EZXBlbmRlbmN5L0V4ZWM0L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9EZXBlbmRlbmN5L0V4ZWM0L0V4ZWNNYWluLmMsCgkgIFRlc3RzL0RlcGVuZGVuY3kvU2V2ZW4vQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0RlcGVuZGVuY3kvU2V2ZW4vU2V2ZW5TcmMuYywgVGVzdHMvTGlua0xpbmUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0xpbmtMaW5lL0V4ZWMuYywgVGVzdHMvTGlua0xpbmUvT25lLmMsCgkgIFRlc3RzL0xpbmtMaW5lL1R3by5jOiBCVUc6IENvcnJlY3Qgc29tZSBvZiB0aGUgZGVwZW5kZW5jeQoJICBhbmFseXNpcyBjb2RlLiAgLSBNYWtlIHN1cmUgdGhlIG9yaWdpbmFsIGxpbmsgbGluZSBpcyB1bnRvdWNoZWQgLQoJICBBdm9pZCBkdXBsaWNhdGluZyB0aGUgbGluayBsaW5lIHdoZW4gc3VwcG9ydGluZyB2ZXJzaW9uIDwgMS40IC0KCSAgTWFrZSBzdXJlIHRoZSBjeWNsaWMgZGVwZW5kZW5jaWVzIGFuZCBzdWNoIGFyZSBvdXRwdXQgY29ycmVjdGx5CgkgIGluICAgY29tcGxpY2F0ZWQgY2FzZXMuICAtIEF2b2lkIG91dHB1dGluZyBkZXBlbmRlbmNpZXMgdGhhdCBhcmUKCSAgYWxyZWFkeSBzYXRpc2ZpZWQgb24gdGhlIG9yaWdpbmFsICAgbGluayBsaW5lIHdoZW4gcG9zc2libGUuCgoyMDAyLTA1LTEwIDA4OjU0ICBraW5nCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEVSUjogQWRkZWQgdmFyaWFibGUgaW5pdGlhbGl6ZXIuCgoyMDAyLTA1LTA5IDA5OjMzICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbURTV1dyaXRlci5jeHgsIGNtTVNEb3RORVRHZW5lcmF0b3IuY3h4LCBjbVRhcmdldC5jeHgsCgkgIGNtVGFyZ2V0LmgsIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBjaGFuZ2Ugc2V0PHN0cmluZz4KCSAgdG8gc2V0PGNtU3RkU3RyaW5nPiAgdG8gYXZvaWQgbG9uZyBzeW1ib2xzIHRoYXQgY3Jhc2ggYXIgb24KCSAgc29sYXJpcwoKMjAwMi0wNS0wOCAxNzo0NSAga2luZwoKCSogVGVzdHMvV3JhcHBpbmcvOiBDTWFrZUxpc3RzLnR4dCwgaXRrV3JhcHBlckNvbmZpZy5jeHg6IEVOSDogQWRkZWQKCSAgY292ZXJhZ2UgdGVzdCBmb3IgSVRLX1dSQVBfVENMLiAgRG9lc24ndCBhY3R1YWxseSBpbnZva2UgQ0FCTEUuCgoyMDAyLTA1LTA4IDE3OjQ1ICBraW5nCgoJKiBTb3VyY2UvY21JVEtXcmFwVGNsQ29tbWFuZC5jeHg6IEVOSDogQWRkZWQgZGVwZW5kZW5jeSBoYWNrIHRvCgkgIHN1cHBvcnQgd3JhcHBpbmcgdGVzdC4KCjIwMDItMDUtMDggMTc6MzcgIGtpbmcKCgkqIFNvdXJjZS9jbUlUS1dyYXBUY2xDb21tYW5kLmN4eDogQlVHOiBOZWVkIHRvIHVzZQoJICBDTUFLRV9DWFhfQ09NUElMRVIsIG5vdCBDWFgsIHRvIGdldCB0aGUgQysrIGNvbXBpbGVyIG5hbWUuCgoyMDAyLTA1LTA4IDEzOjExICBraW5nCgoJKiBTb3VyY2UvOiBjbUNvbW1hbmRzLmN4eCwgY21JVEtXcmFwVGNsQ29tbWFuZC5jeHgsCgkgIGNtSVRLV3JhcFRjbENvbW1hbmQuaDogRU5IOiBBZGRlZCBJVEsgVGNsIHdyYXBwaW5nIGNvbW1hbmQuCgoyMDAyLTA1LTA4IDEwOjI3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvTWFrZWZpbGUuYm9ybGFuZDogRU5IOiBhZGQgY2xlYW4gY29tbWFuZAoKMjAwMi0wNS0wOCAwOTowNSAgaG9mZm1hbgoKCSogU291cmNlL2NtYWtlLmN4eDogRU5IOiBmaXggY21ha2UgdG8gd29yayB3aXRob3V0IGNjb21tYW5kLgoKMjAwMi0wNS0wOCAwODo0NiAgaG9mZm1hbgoKCSogU291cmNlL2NtQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBzaG9ydCBwYXRoIGRvZXMgbm90CgkgIHdvcmsgb24gYmNjMzIKCjIwMDItMDUtMDcgMTE6MDMgIGhvZmZtYW4KCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvY2NtYWtlLmN4eDogRU5IOiBhZGQgLUIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlCgkgIGJ1aWxkIGRpcmVjdG9yeSwgc28gbWFrZSBlZGl0X2NhY2hlIHdpbGwgd29yawoKMjAwMi0wNS0wNyAwOToxMSAgaG9mZm1hbgoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogV05HOiByZW1vdmUgYSB3YXJuaW5nCgoyMDAyLTA1LTA3IDA5OjAzICBob2ZmbWFuCgoJKiBDTWFrZS5ydGY6IEVOSDogdXBkYXRlIHdpdGggZG9jcyBhYm91dCB0aGUgdGFyZ2V0cwoKMjAwMi0wNS0wNyAwOTowMiAgaG9mZm1hbgoKCSogU291cmNlLzogY21Cb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtYWtlLmN4eDogRU5IOiBhZGQgYW4gZWRpdF9jYWNoZSB0YXJnZXQgdGhhdCBydW5zIGNjbWFrZSBvcgoJICBDTWFrZVNldHVwCgoyMDAyLTA1LTAzIDE4OjEwICBob2ZmbWFuCgoJKiBUZXN0cy86IENvbXBsZXgvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0OiBmaXggYm9ybGFuZCB0ZXN0CgoyMDAyLTA1LTAzIDE2OjM0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmN4eCwgY21UYXJnZXQuY3h4LCBjbVRhcmdldC5oOiBFTkg6IHJld29yawoJICBsaWJyYXJ5IGRlcGVuZCBzdHVmZgoKMjAwMi0wNS0wMyAwMDoyNyAgcGVyZXJhCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbVRhcmdldC5jeHgsIFNvdXJjZS9jbVRhcmdldC5oLAoJICBUZXN0cy9EZXBlbmRlbmN5L0NNYWtlTGlzdHMudHh0OiAtIGJ1ZyBmaXggd2hlcmUgcGF0aHMgd2VyZW4ndAoJICBiZWluZyBvdXRwdXQgd2hlbiBMSUJfT1VUX1BBVEggKmlzbid0KiB1c2VkIC0gdGVzdCBjYXNlIGZvciBhYm92ZQoJICBtZW50aW9uZWQgYnVnIC0gbW9yZSBjb21tZW50cy4gQ29tbWVudHMgYXJlIGdvb2QuCgoyMDAyLTA1LTAyIDE5OjA5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21UYXJnZXQuY3h4OiBjaGVjayBmb3Igb3B0aW1pemVkIG9yIGRlYnVnIGxpYnJhcnkgYWRkcwoKMjAwMi0wNS0wMiAxNjoxMyAgaG9mZm1hbgoKCSogU291cmNlLzogY21UYXJnZXQuY3h4LCBjbVRhcmdldC5oOiByZW1vdmUgY2Fub25pY2FsIGNvbnZlcnNpb24KCSAgZm9yIGxpYiBuYW1lcwoKMjAwMi0wNS0wMiAxNTo1NiAgaG9mZm1hbgoKCSogU291cmNlLzogY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaCwgY21UYXJnZXQuY3h4OiBtYWtlIGl0CgkgIGJhY2t3YXJkcyBjb21wYXRpYmxlIHdpdGggb2xkIGNtYWtlCgoyMDAyLTA1LTAyIDE1OjEwICBob2ZmbWFuCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwKCSAgU291cmNlL2NtVGFyZ2V0LmN4eCwgVGVzdHMvQ29tcGxleC9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQ6IERlYnVnCgkgIG9wdGltaXplZCBjYWNoZSBmaXhlcwoKMjAwMi0wNS0wMiAxMzo0MSAgcGVyZXJhCgoJKiBTb3VyY2UvOiBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0Lmg6IEJVRzogVGhlIGxpYnJhcnkgcGF0aHMgc2hvdWxkCgkgIHN0YXkgd2l0aCB0aGUgbGlicmFyaWVzIGR1cmluZyBkZXBlbmRlbmN5IGFuYWx5c2lzLgoKMjAwMi0wNS0wMiAxMzoxNyAgaG9mZm1hbgoKCSogU291cmNlL2NtQWRkTGlicmFyeUNvbW1hbmQuY3h4LCBTb3VyY2UvY21BZGRMaWJyYXJ5Q29tbWFuZC5oLAoJICBTb3VyY2UvY21NYWtlZmlsZS5jeHgsIFNvdXJjZS9jbU1ha2VmaWxlLmgsIFNvdXJjZS9jbVRhcmdldC5jeHgsCgkgIFNvdXJjZS9jbVRhcmdldC5oLCBTb3VyY2UvY21UYXJnZXRMaW5rTGlicmFyaWVzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9EZXBlbmRlbmN5L0V4ZWMvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0RlcGVuZGVuY3kvU2l4L0NNYWtlTGlzdHMudHh0OiBFTkg6IGNoYW5nZSBMSU5LX0xJQlJBUlkgdG8KCSAgYWRkIHRvIHRhcmdldHMKCjIwMDItMDUtMDIgMDg6NTQgIGFuZHkKCgkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmluOiBSZXZlcnQgdG8gbWFrZSBpdCB3b3JrIGFnYWluCgoyMDAyLTA1LTAyIDA4OjQ2ICBhbmR5CgoJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbjogSW1wcm92ZSBib290c3RyYXAgb24gVU5JWC4gTm93IGl0CgkgIGJvb3RzdHJhcHMgaW50byBhIHNlcGFyYXRlIGRpcmVjdG9yeS4KCjIwMDItMDUtMDIgMDI6MjcgIHBlcmVyYQoKCSogU291cmNlL2NtVGFyZ2V0LmN4eDogQlVHOiBpZiBhX0xJQlNfREVQRU5EUyBleGlzdHMgYnV0IGlzIGVtcHR5LAoJICB0aGVyZSBhcmUgbm8gZXhwbGljaXQgZGVwZW5kZW5jaWVzLgoKMjAwMi0wNS0wMSAxNjozMyAgcGVyZXJhCgoJKiBTb3VyY2UvY21BZGRMaWJyYXJ5Q29tbWFuZC5jeHgsIFNvdXJjZS9jbUFkZExpYnJhcnlDb21tYW5kLmgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuaCwgU291cmNlL2NtVGFyZ2V0LmN4eCwKCSAgVGVzdHMvRGVwZW5kZW5jeS9DTWFrZUxpc3RzLnR4dDogRU5IOiBNYWtlIHRoZSBMaW5rTGlicmFyaWVzCgkgIGNvbW1hbmQgY29udHJpYnV0ZSBkZXBlbmRlbmNpZXMgdG93YXJkcyBBZGRMaWJyYXJpZXMuCgoyMDAyLTA1LTAxIDE2OjI0ICBwZXJlcmEKCgkqIFRlc3RzL0RlcGVuZGVuY3kvOiBDTWFrZUxpc3RzLnR4dCwgRXhlYy9DTWFrZUxpc3RzLnR4dCwKCSAgRXhlYy9FeGVjTWFpbi5jLCBTaXgvQ01ha2VMaXN0cy50eHQsIFNpeC9TaXhBU3JjLmMsCgkgIFNpeC9TaXhCU3JjLmM6IEVOSDogTWFrZSB0aGUgTGlua0xpYnJhcmllcyBjb21tYW5kIGNvbnRyaWJ1dGUKCSAgZGVwZW5kZW5jaWVzIHRvd2FyZHMgQWRkTGlicmFyaWVzLgoKMjAwMi0wNS0wMSAxNDowMCAgcGVyZXJhCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbURTUFdyaXRlci5jeHgsCgkgIFNvdXJjZS9jbURTV1dyaXRlci5jeHgsIFNvdXJjZS9jbU1TRG90TkVUR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGUuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5oLAoJICBTb3VyY2UvY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtVGFyZ2V0LmN4eCwKCSAgU291cmNlL2NtVGFyZ2V0LmgsIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFRlc3RzL0RlcGVuZGVuY3kvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0RlcGVuZGVuY3kvRXhlYy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRGVwZW5kZW5jeS9FeGVjL0V4ZWNNYWluLmMsCgkgIFRlc3RzL0RlcGVuZGVuY3kvRml2ZS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRGVwZW5kZW5jeS9GaXZlL0ZpdmVTcmMuYywKCSAgVGVzdHMvRGVwZW5kZW5jeS9Gb3VyL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9EZXBlbmRlbmN5L0ZvdXIvRm91clNyYy5jLAoJICBUZXN0cy9EZXBlbmRlbmN5L05vRGVwQS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvRGVwZW5kZW5jeS9Ob0RlcEEvTm9EZXBBU3JjLmMsCgkgIFRlc3RzL0RlcGVuZGVuY3kvTm9EZXBCL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9EZXBlbmRlbmN5L05vRGVwQi9Ob0RlcEJTcmMuYywKCSAgVGVzdHMvRGVwZW5kZW5jeS9Ob0RlcEMvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0RlcGVuZGVuY3kvTm9EZXBDL05vRGVwQ1NyYy5jLAoJICBUZXN0cy9EZXBlbmRlbmN5L1RocmVlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9EZXBlbmRlbmN5L1RocmVlL1RocmVlU3JjLmMsCgkgIFRlc3RzL0RlcGVuZGVuY3kvVHdvL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9EZXBlbmRlbmN5L1R3by9Ud29TcmMuYzogRU5IOiBBZGQgbGlicmFyeSBkZXBlbmRlbmN5CgkgIGFuYWx5c2lzLgoKMjAwMi0wNS0wMSAxMTozNCAgYmVyawoKCSogU291cmNlL0N1cnNlc0RpYWxvZy86IGNjbWFrZS5jeHgsCgkgIGNtQ3Vyc2VzQ2FjaGVFbnRyeUNvbXBvc2l0ZS5jeHgsIGNtQ3Vyc2VzQ2FjaGVFbnRyeUNvbXBvc2l0ZS5oLAoJICBjbUN1cnNlc01haW5Gb3JtLmN4eCwgY21DdXJzZXNNYWluRm9ybS5oOiBUaGUgZW50cnkgd2lkZ2V0cyBhcmUKCSAgbm93IGNyZWF0ZWQgd2l0aCB3aGF0IGlzIGluaXRpYWxseSBhdmFpbGFibGUgb24gdGhlIHRlcm1pbmFsLgoKMjAwMi0wNS0wMSAxMDoxMiAgYmVyawoKCSogU291cmNlLzogY21JbmNsdWRlQ29tbWFuZC5jeHgsIGNtTWFrZWZpbGUuY3h4OiBSZWZvcm1hdHRlZCB0aGUKCSAgZXJyb3IgcHJpbnRlZCBieSBjbU1ha2VmaWxlLgoKMjAwMi0wNC0zMCAyMTo0OCAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBFTkg6IGFsbG93IGNtYWtlIHRlc3RzIHRvIGJlIHJ1biB3aXRob3V0CgkgIGRhcnQuCgoyMDAyLTA0LTMwIDE3OjQ5ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dCwgU291cmNlL0NNYWtlTGlzdHMudHh0OiBjcmVhdGUgdGVzdHMgd2l0aG91dCBEYXJ0CgoyMDAyLTA0LTMwIDE3OjQ1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21WVEtNYWtlSW5zdGFudGlhdG9yQ29tbWFuZC5jeHg6IEVOSDogcmVwbGFjZSBmcmVlemUgd2l0aAoJICBkZWxldGUKCjIwMDItMDQtMzAgMTY6NTggIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy86IGNjb25maWd1cmUsIGNjb25maWd1cmUuaW46IEVOSDogcmVtb3ZlIC1mUElDIGZvciBBSVgKCSAgZ251CgoyMDAyLTA0LTMwIDE1OjMzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21NU0RvdE5FVEdlbmVyYXRvci5jeHg6IEVOSDogZml4IHJlbHdpdGhkZWJpbmZvCgoyMDAyLTA0LTMwIDE0OjAxICBob2ZmbWFuCgoJKiBUZXN0cy86IENvbXBsZXgvQ01ha2VMaXN0cy50eHQsIENvbXBsZXgvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIENvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwgQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHg6IEVOSDogYWRkIHRlc3QgZm9yCgkgIFNFUEFSQVRFX0FSR1VNRU5UUwoKMjAwMi0wNC0zMCAxNDowMCAgaG9mZm1hbgoKCSogU291cmNlLzogY21Db21tYW5kcy5jeHgsIGNtU2VwYXJhdGVBcmd1bWVudHNDb21tYW5kLmN4eCwKCSAgY21TZXBhcmF0ZUFyZ3VtZW50c0NvbW1hbmQuaDogRU5IOiBhZGQgbmV3IGNvbW1hbmQgdG8gc2VwYXJhdGUKCSAgc3BhY2Ugc2VwYXJhdGVkIGFyZ3VtZW50cwoKMjAwMi0wNC0zMCAxNDowMCAgaG9mZm1hbgoKCSogU291cmNlLzogY21Cb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbUNhY2hlTWFuYWdlci5jeHg6IEVOSDoKCSAgZG8gbm90IHVzZSBjb3VudCwgZmluZCBmb3IgbWFwIGxvb2t1cAoKMjAwMi0wNC0zMCAxMjo1OCAgaG9mZm1hbgoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBFTkg6IGltcHJvdmUgc3BlZWQgb2YgR2V0U291cmNlIGZ1bmN0aW9uCgoyMDAyLTA0LTMwIDA4OjA5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IGxvb2sgZm9yIC1sIGFueXdoZXJlIGluCgkgIGxpbmsgbGlicmFyeSBlbnRyeSBub3QganVzdCB0aGUgYmVnaW5pbmcgb2YgdGhlIGxpbmUKCjIwMDItMDQtMjkgMTA6MjMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogQlVHOiBtYWtlIHN1cmUgbGluayBkaXJlY3RvcmllcyBhcmUgbm90CgkgIGR1cGxpY2F0ZWQKCjIwMDItMDQtMjkgMDg6MjcgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy86IGNjb25maWd1cmUsIGNjb25maWd1cmUuaW46IHVzZSBtdWx0aXBsZSBycGF0aCBvcHRpb25zCgkgIGZvciBzZ2kKCjIwMDItMDQtMjggMTY6MTQgIHBlcmVyYQoKCSogU291cmNlLzogY21MaW5rTGlicmFyaWVzQ29tbWFuZC5jeHgsCgkgIGNtVGFyZ2V0TGlua0xpYnJhcmllc0NvbW1hbmQuY3h4OiBFTkg6IE1ha2UgaXQgdW5uZWNlc3NhcnkgdG8KCSAgZXZlciBzcGVjaWZ5IExJTktfRElSRUNUT1JJRVMgZm9yIGFueSBsaWJyYXJ5IGdlbmVyYXRlZCBpbiB0aGlzCgkgIHByb2plY3QsIGV2ZW4gd2hlbiBMSUJSQVJZX09VVFBVVF9QQVRIIGlzIHNldC4KCjIwMDItMDQtMjYgMjE6NDUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogcmVtb3ZlIHJlZGlyZWN0aW9ucyBmb3IKCSAgb3V0cHV0IG9mIG1ha2UgY29tbWFuZHMgYXMgc29tZSB0aGluZ3MgYXJlIGxvc3QKCjIwMDItMDQtMjYgMTI6NDMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IENPTToganVzdCBmaXggdXAgYSBjb21tZW50CgoyMDAyLTA0LTI2IDEyOjQyICBob2ZmbWFuCgoJKiBUZW1wbGF0ZXMvQ0NNYWtlU3lzdGVtQ29uZmlnLmNtYWtlLmluOiBjb3JyZWN0IGMgZmxhZ3MgZm9yIHNoYXJlZAoJICBsaW5rcwoKMjAwMi0wNC0yNiAxMjoyMSAgaG9mZm1hbgoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgVGVtcGxhdGVzL0NDTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbiwKCSAgVGVtcGxhdGVzL0NNYWtlU3lzdGVtQ29uZmlnLmNtYWtlLmluOiBCVUc6IGZpeCBzaGFyZWQgbGlua3MgZm9yCgkgIGNjIG9uIGhwCgoyMDAyLTA0LTI2IDA5OjU1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21CdWlsZE5hbWVDb21tYW5kLmN4eDogRU5IOiBmaXggYnVpbGQgbmFtZQoKMjAwMi0wNC0yNiAwOTozNSAgaG9mZm1hbgoKCSogU291cmNlL2NtU2l0ZU5hbWVDb21tYW5kLmN4eDogRU5IOiBsb29rIGZvciBuc2xvb2t1cCBhbmQgaG9zdG5hbWUKCSAgaW4gdGhlIHJpZ2h0IHBsYWNlcwoKMjAwMi0wNC0yNiAwOToyMiAgd2lsbAoKCSogQ01ha2UucGRmOiBFTkg6TmV3IHBkZiBmb3IgQ01ha2UKCjIwMDItMDQtMjYgMDk6MTcgIG1hcnRpbmsKCgkqIENNYWtlLnJ0ZjogdXBkYXRlZCBmb3IgMS40CgoyMDAyLTA0LTI2IDA5OjExICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Tb3VyY2VGaWxlc1JlbW92ZUNvbW1hbmQuY3h4OiBkcHJlY2F0ZWQKCjIwMDItMDQtMjYgMDg6NTkgIG1hcnRpbmsKCgkqIFNvdXJjZS9NYWtlZmlsZS5ib3JsYW5kOiBmaXhlZCB1cCBhZ2FpbiBkdWgKCjIwMDItMDQtMjUgMTY6MjkgIG1hcnRpbmsKCgkqIFNvdXJjZS9NYWtlZmlsZS5ib3JsYW5kOiB1cGRhdGVkIHRvIGJ1aWxkIGNjb21tYW5kCgoyMDAyLTA0LTI1IDE1OjQwICBob2ZmbWFuCgoJKiBNb2R1bGVzL0RhcnQuY21ha2UsIFNvdXJjZS9jbVNpdGVOYW1lQ29tbWFuZC5jeHg6IGZpeCB1cCBob3N0bmFtZQoJICBmb3Igd2luZG93cwoKMjAwMi0wNC0yNSAxMzowOSAgaG9mZm1hbgoKCSogU291cmNlL2NtYWtlLmN4eDogRU5IOiBjaGVjayBmb3IgbWlzbWF0Y2hlZCBnZW5lcmF0b3JzCgoyMDAyLTA0LTI1IDA3OjU5ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjY29tbWFuZC5jeHgsIGNtQ01ha2VNaW5pbXVtUmVxdWlyZWQuY3h4LAoJICBjbU9wdGlvbkNvbW1hbmQuY3h4OiBXQVI6IHJlbW92ZSB3YXJuaW5ncyBmb3IgLk5FVCBjb21waWxlcgoKMjAwMi0wNC0yNCAxMDowOCAgYW5keQoKCSogU291cmNlLy5jdnNpZ25vcmU6IEFkZCBjdnNpZ25vcmUgc28gdGhhdCB5b3UgZG8gbm90IHNlZSB2aXN1YWwKCSAgc3R1ZmlvIGZpbGVzIHdoZW4geW91IGRvIGN2cyB1cGRhdGUKCjIwMDItMDQtMjMgMTY6MTYgIGJlcmsKCgkqIFNvdXJjZS86IGNtYWtlLmN4eCwgQ3Vyc2VzRGlhbG9nL2NjbWFrZS5jeHgsCgkgIEN1cnNlc0RpYWxvZy9jbUN1cnNlc01haW5Gb3JtLmN4eCwKCSAgQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTWFpbkZvcm0uaDogRXhpdCBjY21ha2Ugb24gZmF0YWwgZXJyb3JzLgoKMjAwMi0wNC0yMyAxMjoxOCAgaG9mZm1hbgoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBjbGVhbiB1cCBkZXBlbmQgb3V0cHV0CgoyMDAyLTA0LTIzIDExOjMzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IGFkZCBkZXBlbmRzIGZvciB1dGlsaXR5CgkgIHRhcmdldHMKCjIwMDItMDQtMjIgMTU6MTYgIGJhcnJlCgoJKiBUZW1wbGF0ZXMvQ01ha2VOTWFrZVdpbmRvd3NTeXN0ZW1Db25maWcuY21ha2UsCgkgIFRlbXBsYXRlcy9DTWFrZVdpbmRvd3NTeXN0ZW1Db25maWcuY21ha2UsCgkgIFNvdXJjZS9jbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IG1ha2UgQ01ha2UgbGVzcwoJICB2ZXJib3NlL3ByZWNpb3VzCgoyMDAyLTA0LTIyIDE1OjA1ICBwZXJlcmEKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvOiBDTWFrZUxpc3RzLnR4dCwgZm9ybS9DTWFrZUxpc3RzLnR4dDogQlVHOgoJICBDaGFuZ2VkIGZyb20gU09VUkNFX0ZJTEVTIHRvIFNFVAoKMjAwMi0wNC0yMiAxNDoyOSAgYmFycmUKCgkqIFNvdXJjZS9jbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IG5lZWQgQ01BS0VfTElOS0VSX0ZMQUdTCgoyMDAyLTA0LTIyIDE0OjIyICBiYXJyZQoKCSogU291cmNlLzogY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmgsIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuaDogRU5IOiBtYWtlIENNYWtlIGxlc3MgdmVyYm9zZS9wcmVjaW91cwoKMjAwMi0wNC0yMiAxNDoxOCAgbWFydGluawoKCSogVGVzdHMvOiBDb21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dDogZHVoWgoKMjAwMi0wNC0yMiAxMTo1MSAgbWFydGluawoKCSogVGVzdHMvOiBDb21wbGV4L0NNYWtlTGlzdHMudHh0LCBDb21wbGV4L2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBDb21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXgvRXhlY3V0YWJsZS9jbVZlcnNpb24uaC5pbiwKCSAgQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LCBDb21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jbVZlcnNpb24uaC5pbiwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY21WZXJzaW9uLmguaW4sCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHg6IGZpeGVkIGZvciByZW1vdmUKCSAgQ09NTUFORAoKMjAwMi0wNC0yMiAxMTo1MCAgbWFydGluawoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIGNtQ29tbWFuZHMuY3h4LCBjbVJlbW92ZUNvbW1hbmQuY3h4LAoJICBjbVJlbW92ZUNvbW1hbmQuaDogdXBkYXRlZCBmb3IgMS40CgoyMDAyLTA0LTE5IDE1OjI4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21UYXJnZXRMaW5rTGlicmFyaWVzQ29tbWFuZC5jeHgsCgkgIFRlc3RzL1NpbXBsZS9DTWFrZUxpc3RzLnR4dCwgVGVzdHMvU2ltcGxlL3NpbXBsZS5jeHgsCgkgIFRlc3RzL1NpbXBsZS9zaW1wbGVMaWIuY3h4OiBCVUc6IGFkZCBsaW5rIGRpcmVjdG9yaWVzIGZvciB0YXJnZXQKCSAgbGluayBsaWJyYXJpZXMgYW5kIGFkZCBhIHRlc3QgZm9yIGl0CgoyMDAyLTA0LTE5IDE0OjAzICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUFic3RyYWN0RmlsZXNDb21tYW5kLmN4eCwgY21Tb3VyY2VGaWxlc0NvbW1hbmQuY3h4LAoJICBjbVdyYXBFeGNsdWRlRmlsZXNDb21tYW5kLmN4eDogYWRkZWQgZGVwcmVjYXRlZCB3YXJuaW5ncyBmb3IKCSAgdmVyc2lvbiAxLjQgb3IgbGF0ZXIKCjIwMDItMDQtMTkgMTM6MDUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNNYWtlTWluaW11bVJlcXVpcmVkLmg6IEVOSDogZml4IGRvYyBsaW5lCgoyMDAyLTA0LTE5IDEyOjQ5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eDogcmVuYW1lZCB1bml4IHRvIHVuaXhQYXRoIGZvcgoJICBjb21waWxlIGVycm9yCgoyMDAyLTA0LTE5IDExOjQ5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBmaXggc2hvcnQgcGF0aCBvbiBmaWxlcwoJICB0aGF0IGRvIG5vdCBleGlzdAoKMjAwMi0wNC0xOSAwOTowMCAgaG9mZm1hbgoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiB0cnkgdG8gbWFrZSBzdXJlIGEKCSAgZGVwZW5kIGZpbGUgb25seSBoYXMgb25lIHJ1bGUKCjIwMDItMDQtMTkgMDg6MjcgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbWFrZS5jeHg6IEJVRzogZml4IFNhbWVGaWxlIGZ1bmN0aW9uCgkgIGZvciB3aW5kb3dzLCBhbmQgY29tcGFyZSBzb3VyY2UgZGlyZWN0b3JpZXMKCjIwMDItMDQtMTggMTY6MTMgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogd29yayB3aXRoIHNwYWNlcyBpbiB0aGUKCSAgcGF0aAoKMjAwMi0wNC0xOCAxNTo1OCAgYW5keQoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogTWFrZSBxdW90ZXMgYW5kIGVjaG9zIHRvIHdvcmsKCSAgb24gdW5peCAoaG9wZWZ1bGx5KQoKMjAwMi0wNC0xOCAxNTo1OCAgYW5keQoKCSogTW9kdWxlcy9GaW5kTVBJLmNtYWtlOiBBZGQgbXBpIHNlYXJjaCBwYXRocyBmb3IgRGViaWFuCgoyMDAyLTA0LTE4IDE0OjUxICBob2ZmbWFuCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IHVzZSBob21lIG5vdCBzdGFydAoKMjAwMi0wNC0xOCAxNDoxOSAgaG9mZm1hbgoKCSogU291cmNlL2NtYWtlLmN4eDogRU5IOiBjaGVjayBmb3IgbWlzLW1hdGNoZWQgc291cmNlIGRpcmVjdG9yaWVzCgoyMDAyLTA0LTE4IDEzOjQ0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IHF1b3RlIHRoZSBlY2hvIGNvbW1hbmRzCgoyMDAyLTA0LTE4IDEzOjEyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEJVRzogZG8gZXNjYXBlZCBzZW1pLWNvbG9uIGJldHRlcgoKMjAwMi0wNC0xOCAxMjowMiAgaG9mZm1hbgoKCSogU291cmNlL2NtTWVzc2FnZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHgsCgkgIFRlc3RzL0NvbXBsZXgvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0OiBFTkg6IGFkZCBhYmlsaXR5IHRvCgkgIGVzY2FwZSBzZW1pLWNvbG9ucwoKMjAwMi0wNC0xOCAxMTo1MiAgbWFydGluawoKCSogY29uZmlndXJlLCBjb25maWd1cmUuaW46IEVOSDogaGFuZGxlIHNwYWNlcyBpbiBwYXRocyBmb3IgY3lnd2luCgkgIGJvb3RzdHJhcAoKMjAwMi0wNC0xOCAwNzo1OCAgaG9mZm1hbgoKCSogU291cmNlL2NtQ01ha2VNaW5pbXVtUmVxdWlyZWQuY3h4OiBCVUc6IGFkZCBtaXNzaW5nIGluY2x1ZGUKCjIwMDItMDQtMTggMDc6NTcgIGhvZmZtYW4KCgkqIFNvdXJjZS86IENNYWtlTGliLmRzcCwgTWFrZWZpbGUuYm9ybGFuZDogQlVHOiBmaXggYm9vdHN0cmFwIGJ1aWxkCgkgIG1ha2VmaWxlcwoKMjAwMi0wNC0xNyAxNjoxNiAgaG9mZm1hbgoKCSogU291cmNlL2NtQWJzdHJhY3RGaWxlc0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUNNYWtlTWluaW11bVJlcXVpcmVkLmN4eCwKCSAgU291cmNlL2NtQ01ha2VNaW5pbXVtUmVxdWlyZWQuaCwgU291cmNlL2NtQ29tbWFuZHMuY3h4LAoJICBTb3VyY2UvY21PcHRpb25Db21tYW5kLmN4eCwgVGVzdHMvQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleC9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgVGVzdHMvQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogRU5IOiBiYWNrd2FyZHMKCSAgY29tcGF0aWJsZSBmb3IgVlRLIDQuMCwgYWRkIGNtYWtlIHZlcnNpb24gcmVxdWlyZXMKCjIwMDItMDQtMTcgMTQ6NTggIGtpbmcKCgkqIFRlc3RzL1dyYXBwaW5nL0NNYWtlTGlzdHMudHh0OiBFTkg6IFJlbW92ZWQgdGVzdHMgZm9yIGNvbW1hbmRzCgkgIHRoYXQgbm8gbG9uZ2VyIGV4aXN0LgoKMjAwMi0wNC0xNyAxNDo1NCAga2luZwoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIE1ha2VmaWxlLmluLCBjbUNhYmxlQ2xhc3NTZXQuY3h4LAoJICBjbUNhYmxlQ2xhc3NTZXQuaCwgY21DYWJsZUNsYXNzU2V0Q29tbWFuZC5jeHgsCgkgIGNtQ2FibGVDbGFzc1NldENvbW1hbmQuaCwgY21DYWJsZVdyYXBUY2xDb21tYW5kLmN4eCwKCSAgY21DYWJsZVdyYXBUY2xDb21tYW5kLmgsIGNtQ29tbWFuZHMuY3h4LAoJICBjbUNvbmZpZ3VyZUdjY1htbENvbW1hbmQuY3h4LCBjbUNvbmZpZ3VyZUdjY1htbENvbW1hbmQuaCwKCSAgY21NYWtlZmlsZS5jeHg6IEVOSDogUmVtb3ZlZCBvdXQtb2YtZGF0ZSBjb21tYW5kcyBDQUJMRV9XUkFQX1RDTAoJICBDQUJMRV9DTEFTU19TRVQgYW5kIENPTkZJR1VSRV9HQ0NYTUwKCjIwMDItMDQtMTcgMTQ6NTIgIGtpbmcKCgkqIE1vZHVsZXMvRmluZENBQkxFLmNtYWtlOiBFTkg6IFVwZGF0ZWQgZm9yIGxhdGVzdCBDYWJsZSBmcm9tIENWUy4KCSAgT2xkIGFscGhhIHZlcnNpb24gb2YgQ2FibGUgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KCjIwMDItMDQtMTcgMTQ6NTEgIGtpbmcKCgkqIE1vZHVsZXMvRmluZEdDQ1hNTC5jbWFrZTogRU5IOiBVcGRhdGVkIGZvciB2ZXJzaW9uIDAuMiBvZgoJICBHQ0MtWE1MLgoKMjAwMi0wNC0xNyAxNDozOSAgaG9mZm1hbgoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiB1c2UgY29udmVydCB0byBvdXRwdXQKCSAgcGF0aCBmb3IgZGVwZW5kIGZpbGVzCgoyMDAyLTA0LTE3IDA4OjI4ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRPcGVuR0wuY21ha2U6IGJldHRlciB0byBmaW5kIG1hYyBvcGVuZ2wKCjIwMDItMDQtMTcgMDg6MTUgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy86IENDTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbiwKCSAgQ1hYQ01ha2VTeXN0ZW1Db25maWcuY21ha2UuaW46IG1vcmUgYWR2YW5jZWQgdmFsdWVzCgoyMDAyLTA0LTE3IDA4OjA5ICBob2ZmbWFuCgoJKiBUZXN0cy86IENvbXBsZXgvQ01ha2VMaXN0cy50eHQsIENvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0OiBFTkg6IG1vcmUgY292ZXJhZ2UKCjIwMDItMDQtMTYgMTM6NDggIGJhcnJlCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IFN5bnRheCBzZWVtZWQgdG8gYmUgY29uZnVzaW5nIGFjY29yZGluZwoJICB0byB0aGUgQmlsbAoKMjAwMi0wNC0xNiAwOToyOCAgYmFycmUKCgkqIFNvdXJjZS9jY29tbWFuZC5jeHg6IEZJWDogd2FybmluZwoKMjAwMi0wNC0xNSAwOTowOSAgaG9mZm1hbgoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiB1c2Ugc3RyZWFtIG5vdCBzcHJpbnRmCgoyMDAyLTA0LTE1IDA4OjQ4ICBiYXJyZQoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IEZpbGVzRGlmZmVyIGNoZWNrcyBmb3IgMCBieXRlCgkgIGZpbGVzCgoyMDAyLTA0LTE0IDE1OjMyICBiYXJyZQoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IG1vcmUgcGFyYW5vaWQgY2hlY2tpbmdzCgoyMDAyLTA0LTEyIDEyOjA1ICBiYXJyZQoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBGSVg6IGlvc3RyZWFtIGJpbmFyeSBmbGFnIHNob3VsZCBiZQoJICB1c2VkIGZvciBjeWd3aW4gdG9vCgoyMDAyLTA0LTEyIDA5OjU3ICBiYXJyZQoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBGSVg6IGZpeCBVTVIKCjIwMDItMDQtMTEgMTg6NTkgIGJhcnJlCgoJKiBTb3VyY2UvY2NvbW1hbmQuY3h4OiBFTkg6IGFsc28gZGlzcGxheXMgY29tbWFuZCBvdXRwdXQKCjIwMDItMDQtMTEgMTg6MTcgIGJhcnJlCgoJKiBTb3VyY2UvY2NvbW1hbmQuY3h4OiBjYW4gYmUgdXNlZCB0byB0aW1lIGNvbW1hbmRzICh0aW1lKCkgJgoJICBjbG9jaygpKQoKMjAwMi0wNC0xMSAxNzowMiAgaG9mZm1hbgoKCSogU291cmNlL2NtRmluZEZpbGVDb21tYW5kLmgsIFNvdXJjZS9jbUZpbmRMaWJyYXJ5Q29tbWFuZC5oLAoJICBTb3VyY2UvY21GaW5kUGF0aENvbW1hbmQuaCwgU291cmNlL2NtRmluZFByb2dyYW1Db21tYW5kLmgsCgkgIFNvdXJjZS9jbUluY2x1ZGVDb21tYW5kLmN4eCwgU291cmNlL2NtTGlzdEZpbGVDYWNoZS5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwgU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4LAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogRU5IOiBzcGVlZAoJICBpbXByb3ZlbWVudHMKCjIwMDItMDQtMTEgMTY6NTggIHN0YXJyZXZlbGQKCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6CgoJICBBbGxvdyBtb2R1bGVzIHRvIGJ1aWxkIHByb3Blcmx5IGFnYWluLiAoYnJva2VuIHdoZW4gQ3h4IHRlc3RpbmcKCSAgd2FzIGFkZGVkKQoKMjAwMi0wNC0xMSAxMTozMCAgYmFycmUKCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQ6IEVOSDogaW5jcmVhc2UKCSAgY292ZXJhZ2UKCjIwMDItMDQtMTEgMTA6MjkgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuaDoKCSAgRU5IOiBjbGVhbiB1cCB1dGlsaXR5IHJ1bGUgZ2VuZXJhdGlvbgoKMjAwMi0wNC0xMSAxMDoxMSAgYmFycmUKCgkqIFRlc3RzLzogQ29tcGxleC9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQ6IEVOSDogdXNlIHRhcmdldCBhcwoJICBzb3VyY2UgaWYgc291cmNlIGlzIGVtcHR5CgoyMDAyLTA0LTExIDEwOjA1ICBiYXJyZQoKCSogU291cmNlLzogY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5jeHgsCgkgIGNtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuaDogRU5IOiB1c2UgdGFyZ2V0IGFzIHNvdXJjZSBpZiBzb3VyY2UKCSAgaXMgZW1wdHkKCjIwMDItMDQtMTEgMDk6NTMgIGJhcnJlCgoJKiBTb3VyY2UvOiBjbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEZJWDogZWNobyBwYiwgbWFrZSBObWFrZSBnZW4gdXNlCgkgIFVuaXggZ2VuLCBmYWN0b3JpemUgc3R1ZmYgaW4gVW5peCBnZW4KCjIwMDItMDQtMTAgMTc6MzMgIGJhcnJlCgoJKiBUZXN0cy86IENvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleC9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhPbmVDb25maWcvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9DTWFrZUxpc3RzLnR4dDogRU5IOiBhZGQgYSB0ZXN0IHRvCgkgIGNoZWNrIGlmIG1vcmUgdGhhbiBvbmUgcG9zdC1idWlsZCBjb21tYW5kIGNhbiBiZSBhdHRhY2hlZC4gaXQKCSAgZmFpbHMgcmlnaHQgbm93LgoKMjAwMi0wNC0xMCAxNjo0NSAgYW5keQoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRml4IHByb2JsZW0gd2l0aCBjdXN0b20KCSAgY29tbWFuZHMgb24gdW5peAoKMjAwMi0wNC0xMCAxMjoxMyAga2luZwoKCSogU291cmNlL2NtYWtldGVzdC5jeHg6IEVSUjogVXNlSXQoKSBtaXNzaW5nIHJldHVybiB0eXBlLgoKMjAwMi0wNC0xMCAxMToyMyAgaG9mZm1hbgoKCSogVGVzdHMvOiBDb21wbGV4L0xpYnJhcnkvdGVzdENvbmx5LmMsCgkgIENvbXBsZXhPbmVDb25maWcvTGlicmFyeS90ZXN0Q29ubHkuYywKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS90ZXN0Q29ubHkuYzogRU5IOiBvbmx5IGNoZWNrIGZsYWcgb24KCSAgdW5peAoKMjAwMi0wNC0xMCAwODozOCAgaG9mZm1hbgoKCSogU291cmNlL2NtYWtldGVzdC5jeHg6IGZpeCB3YXJuaW5nCgoyMDAyLTA0LTA5IDEyOjIyICBob2ZmbWFuCgoJKiBUZXN0cy86IENvbXBsZXgvTGlicmFyeS90ZXN0Q29ubHkuaCwKCSAgQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L3Rlc3RDb25seS5oLAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L3Rlc3RDb25seS5oLAoJICBDb21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogRU5IOiBjaGVjayBmb3IKCSAgY29tcGlsZSBmbGFncyBhbmQgYWRkIGJhY2sgYyBmbGFnIHRvIHVuaXggZ2VuZXJhdG9yCgoyMDAyLTA0LTA5IDEyOjE1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IGNoZWNrIGZvciBjb21waWxlIGZsYWdzCgkgIGFuZCBhZGQgYmFjayBjIGZsYWcgdG8gdW5peCBnZW5lcmF0b3IKCjIwMDItMDQtMDkgMTI6MDIgIGhvZmZtYW4KCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsIENvbXBsZXgvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleC9MaWJyYXJ5L3Rlc3RDb25seS5jLAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0xpYnJhcnkvdGVzdENvbmx5LmMsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvdGVzdENvbmx5LmM6IEVOSDogY2hlY2sgZm9yIGNvbXBpbGUKCSAgZmxhZ3MgYW5kIGFkZCBiYWNrIGMgZmxhZyB0byB1bml4IGdlbmVyYXRvcgoKMjAwMi0wNC0wOSAxMTozMyAgYmFycmUKCgkqIERhcnRDb25maWcuY21ha2U6IEVOSDogcXVpY2sgc3RhYiBhdCBhIHJvbGx1cCBidXR0b24KCjIwMDItMDQtMDkgMTA6MTkgIGhvZmZtYW4KCgkqIFRlc3RzLzogQ29tcGxleC9MaWJyYXJ5L3Rlc3RDb25seS5jLCBDb21wbGV4L0xpYnJhcnkvdGVzdENvbmx5LmgsCgkgIENvbXBsZXhPbmVDb25maWcvTGlicmFyeS90ZXN0Q29ubHkuYywKCSAgQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L3Rlc3RDb25seS5oLAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L3Rlc3RDb25seS5jLAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L3Rlc3RDb25seS5oOiBjb3JyZWN0IGV4cG9ydHMgZm9yCgkgIHdpbmRvd3MKCjIwMDItMDQtMDkgMDk6MzcgIGhvZmZtYW4KCgkqIFRlc3RzLzogQ29tcGxleC9MaWJyYXJ5L3NoYXJlZEZpbGUuaCwKCSAgQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L3NoYXJlZEZpbGUuaCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9zaGFyZWRGaWxlLmg6IGMgbm90IGMrKyBjb21tZW50CgoyMDAyLTA0LTA5IDA4OjU1ICBob2ZmbWFuCgoJKiBEYXJ0Q29uZmlnLmNtYWtlOiAgY2hhbmdlIEVTVCB0byBFRFQKCjIwMDItMDQtMDggMTk6MzEgIGJpZGRpCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEVSUjogUmVwbGFjZVN0cmluZyBkaWRuJ3Qgd29yayBwcm9wZXJseQoJICBpZiByZXBsYWNlIHdhcyBsb25nZXIgdGhhbiB3aXRoIGFzIGxlbmd0aCBhZGRlZCB0byBzdGFydCBwb3Mgb24KCSAgbmV4dCBzZWFyY2ggd2FzIHJlcGxhY2VMZW5ndGggIGluc3RlYWQgb2Ygd2l0aExlbmd0aAoKMjAwMi0wNC0wOCAxNTowMSAgaG9mZm1hbgoKCSogVGVtcGxhdGVzLzogQ1hYQ01ha2VTeXN0ZW1Db25maWcuY21ha2UuaW4sIGNjb25maWd1cmUsCgkgIGNjb25maWd1cmUuaW46IFtubyBsb2cgbWVzc2FnZV0KCjIwMDItMDQtMDggMTM6MzYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUV4ZWNQcm9ncmFtQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFRlbXBsYXRlcy9DQ01ha2VTeXN0ZW1Db25maWcuY21ha2UuaW4sCgkgIFRlbXBsYXRlcy9DWFhDTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbiwgVGVtcGxhdGVzL2Njb25maWd1cmUsCgkgIFRlbXBsYXRlcy9jY29uZmlndXJlLmluLCBUZW1wbGF0ZXMvY3h4Y29uZmlndXJlLAoJICBUZW1wbGF0ZXMvY3h4Y29uZmlndXJlLmluLAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleC9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4L0xpYnJhcnkvdGVzdENvbmx5LmMsCgkgIFRlc3RzL0NvbXBsZXgvTGlicmFyeS90ZXN0Q29ubHkuaCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L3Rlc3RDb25seS5jLAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0xpYnJhcnkvdGVzdENvbmx5LmgsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvdGVzdENvbmx5LmMsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvdGVzdENvbmx5Lmg6IEVOSDogdXNlIHNlcGFyYXRlCgkgIHZhcnMgZm9yIGNyZWF0aW5nIGMrKyBhbmQgYyBzaGFyZWQgbGlicmFyaWVzIGFuZCBhZGQgYSB0ZXN0IGZvciBjCgkgIGxpYnJhcmllcwoKMjAwMi0wNC0wNSAxMjowOCAgaG9mZm1hbgoKCSogU291cmNlL2NtUHJvamVjdENvbW1hbmQuY3h4OiBleHBhbmQgOyBhcmdzCgoyMDAyLTA0LTA1IDEwOjUxICBtYXJ0aW5rCgoJKiBNb2R1bGVzL0RhcnQuY21ha2U6IGltcHJvdmVkIGZpbmRpbmcgcHVyaWZ5IG9uIHdpbmRvd3MgdG8gdXNlCgkgIHJlZ2lzdHJ5CgoyMDAyLTA0LTA1IDA5OjM5ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBNYWtlZmlsZS5ib3JsYW5kLCBjbWFrZXRlc3QuY3h4LCBjbWFrZXRlc3QuaC5pbjogRU5IOgoJICBtYWtlIHN1cmUgdGhlIHRlc3QgdGVzdHMgdGhlIHJpZ2h0IGNtYWtlLCBhbmQgbm90IHRoZSBjbWFrZSB1c2VkCgkgIHRvIGJvb3RzdHJhcCB0aGlzIGNtYWtlCgoyMDAyLTA0LTA1IDA3OjIyICBob2ZmbWFuCgoJKiBUZXN0cy9UZXN0RHJpdmVyL3Rlc3RBcmdzLmg6IEVOSDogYWRkIG1pc3NpbmcgZmlsZQoKMjAwMi0wNC0wNCAxNjo1MyAgaG9mZm1hbgoKCSogU291cmNlL2NtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuY3h4LAoJICBTb3VyY2UvY21DcmVhdGVUZXN0U291cmNlTGlzdC5oLCBUZXN0cy9UZXN0RHJpdmVyL0NNYWtlTGlzdHMudHh0OgoJICBFTkg6IGFkZCB0aGUgYWJpbGl0eSB0byBwcm9jZXNzIGNvbW1hbmQgbGluZSBhcmd1bWVudHMgaW4gdGhlCgkgIHRlc3QgZHJpdmVyIGJlZm9yZSB0aGUgdGVzdCBkcml2ZXIgZ2V0cyB0aGVtCgoyMDAyLTA0LTA0IDExOjAxICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBUZW1wbGF0ZXMvQ1hYQ01ha2VTeXN0ZW1Db25maWcuY21ha2UuaW4sIFRlbXBsYXRlcy9jeHhjb25maWd1cmUsCgkgIFRlbXBsYXRlcy9jeHhjb25maWd1cmUuaW46IEVOSDogc2VwYXJhdGUgdGhlIGFyIHByb2dyYW0gZm9yIGN4eAoJICBhbmQgYwoKMjAwMi0wNC0wNCAxMDowOCAgaG9mZm1hbgoKCSogVGVtcGxhdGVzL0NNYWtlTGlzdHMudHh0OiB1cGRhdGUgaW5zdGFsbCBpbmZvcm1hdGlvbgoKMjAwMi0wNC0wNCAwOTowNCAgaG9mZm1hbgoKCSogVGVtcGxhdGVzLzogY3h4Y29uZmlndXJlLCBjeHhjb25maWd1cmUuaW46IEJVRzogYWRkIHN5c3RlbQoJICBjb21tYW5kIGJhY2sgaW50byBzY3JpcHQKCjIwMDItMDQtMDMgMTY6MTQgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUV4ZWNQcm9ncmFtQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUV4ZWNQcm9ncmFtQ29tbWFuZC5oLAoJICBTb3VyY2UvY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4LAoJICBTb3VyY2UvY21TeXN0ZW1Ub29scy5oLCBTb3VyY2UvY21ha2V0ZXN0LmN4eCwKCSAgVGVzdHMvQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvQ01ha2VMaXN0cy50eHQ6IEVOSDogZml4IG1vcmUgc3BhY2UKCSAgcHJvYmxlbXMsIHlvdSBjYW4gYWRkIGFyZ3MgdG8gdGhlIEV4ZWNQcm9ncmFtIGNvbW1hbmQgc2VwYXJhdGx5CgkgIG5vdwoKMjAwMi0wNC0wMyAxMzo1MyAgYW5keQoKCSogTW9kdWxlcy9GaW5kVENMLmNtYWtlOiBNb3JlIHBsYWNlcyB0byBmaW5kIFRDTC9USyBmb3IgZXhhbXBsZSBvbgoJICBEZWJpYW4KCjIwMDItMDQtMDIgMTU6NDIgIGhvZmZtYW4KCgkqIENNYWtlLnJ0ZiwgRXhhbXBsZS9EZW1vL0NNYWtlTGlzdHMudHh0LAoJICBFeGFtcGxlL0hlbGxvL0NNYWtlTGlzdHMudHh0LCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9jbUJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5oLCBTb3VyY2UvY21EU1dXcml0ZXIuY3h4LAoJICBTb3VyY2UvY21NU0RvdE5FVEdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbU1TRG90TkVUR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbU1TUHJvamVjdEdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbU1TUHJvamVjdEdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21NYWtlZmlsZS5jeHgsIFNvdXJjZS9jbU1ha2VmaWxlLmgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtTWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuaCwgU291cmNlL2NtUHJvamVjdENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21Qcm9qZWN0Q29tbWFuZC5oLCBTb3VyY2UvY21TZXRDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtU2V0U291cmNlRmlsZXNQcm9wZXJ0aWVzQ29tbWFuZC5oLCBTb3VyY2UvY21UYXJnZXQuY3h4LAoJICBTb3VyY2UvY21UYXJnZXQuaCwgU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmgsIFNvdXJjZS9jbWFrZS5jeHgsCgkgIFRlbXBsYXRlcy9jY29uZmlndXJlLCBUZW1wbGF0ZXMvY2NvbmZpZ3VyZS5pbiwKCSAgVGVtcGxhdGVzL2N4eGNvbmZpZ3VyZSwgVGVtcGxhdGVzL2N4eGNvbmZpZ3VyZS5pbiwKCSAgVGVzdHMvQ09ubHkvQ01ha2VMaXN0cy50eHQsIFRlc3RzL0NPbmx5L2Nvbmx5LmMsCgkgIFRlbXBsYXRlcy9jb25maWd1cmUsIFRlbXBsYXRlcy9jb25maWd1cmUuaW4sCgkgIFRlbXBsYXRlcy9DQ01ha2VTeXN0ZW1Db25maWcuY21ha2UuaW4sCgkgIFRlbXBsYXRlcy9DWFhDTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbjogRU5IOiBhZGQgZW5hYmxlIGxhbmd1YWdlCgkgIHN1cHBvcnQgZm9yIFBST0pFQ1QgY29tbWFuZCwgdGhpcyBtZWFucyB0aGF0IGEgQyBvbmx5IHByb2plY3QgY2FuCgkgIGJlIGJ1aWx0IHdpdGggY21ha2UsIGV2ZW4gd2l0aG91dCBhIGN4eCBjb21waWxlcgoKMjAwMi0wNC0wMSAxNDo1OCAgYmFycmUKCgkqIFRlc3RzLzogQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwgQ29tcGxleC9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBDb21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogRU5IOiBhZGQgdGVzdCBmb3IKCSAgcmVnaXN0cnktcmVsYXRlZCBmdW5jdGlvbnMgKHdpbjMyKQoKMjAwMi0wNC0wMSAxNDo1MCAgaG9mZm1hbgoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IGZpeCBmb3IgcmVna2V5IGFuZCA7IHNlcGFyYXRpb24KCjIwMDItMDQtMDEgMTM6MzQgIGJhcnJlCgoJKiBTb3VyY2UvOiBjY29tbWFuZC5jeHgsIGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmg6IEVOSDoKCSAgYWRkIGZ1bmN0aW9ucyB0byBBUEkgKHJlYWQsIHdyaXRlLCBkZWxldGUgcmVnaXN0cnkga2V5IHZhbHVlKQoKMjAwMi0wNC0wMSAwODowOCAgYW5keQoKCSogTW9kdWxlcy9GaW5kVlRLLmNtYWtlOiBNb3JlIGZpbmRzIGZvciBWVEsKCjIwMDItMDMtMzEgMTE6NDMgIGFuZHkKCgkqIE1vZHVsZXMvRmluZFZUSy5jbWFrZTogQWRkIHNvbWUgbW9yZSBsb2NhdGlvbnMgb2YgVlRLCgoyMDAyLTAzLTMwIDE3OjE3ICBiYXJyZQoKCSogU291cmNlLzogY21BYnN0cmFjdEZpbGVzQ29tbWFuZC5jeHgsIGNtU2V0Q29tbWFuZC5jeHg6IEZJWDogZ2V0CgkgIHJpZCBvZiB3YXJuaW5ncwoKMjAwMi0wMy0yOSAxODowNyAgaWJhbmV6CgoJKiBNb2R1bGVzL0ZpbmRGTFRLLmNtYWtlOiBFTkg6IEhBU19GTFRLIHZhcmlhYmxlIGFkZGVkLgoJICBGTFRLX1dSQVBfVUkgY29tbWFuZCBtYWRlIElOVEVSTkFMLgoKMjAwMi0wMy0yOSAxNjoyNSAgYmFycmUKCgkqIFNvdXJjZS9jbUNyZWF0ZVRlc3RTb3VyY2VMaXN0LmN4eDogRklYOiBzaG91bGQgY29tcGFyZSB0byAwLCBub3QKCSAgTlVMTAoKMjAwMi0wMy0yOSAxNjowMyAgYmFycmUKCgkqIFNvdXJjZS86IGN0ZXN0LmN4eCwgY3Rlc3QuaDogRU5IOiBpZiAtUiBvciAtRSB3YXMgdXNlZCwgZGlzcGxheXMKCSAgYWxzbyB0aGUgbmFtZSBvZiB0aGUgdGVzdHMgdGhhdCBwYXNzZWQuCgoyMDAyLTAzLTI5IDE1OjQxICBiYXJyZQoKCSogVGVzdHMvOiBDb21wbGV4L0NNYWtlTGlzdHMudHh0LCBDb21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dDogRklYOiBmaXggZHVtbXkgbGliIG5hbWUgZm9yCgkgIFVuaXgKCjIwMDItMDMtMjkgMTU6MDIgIGJhcnJlCgoJKiBUZXN0cy86IENvbXBsZXgvQ01ha2VMaXN0cy50eHQsIENvbXBsZXgvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIENvbXBsZXgvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwgQ29tcGxleC9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhPbmVDb25maWcvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleC9MaWJyYXJ5L2NtVGVzdExpYnJhcnlDb25maWd1cmUuaC5pbiwKCSAgQ29tcGxleC9MaWJyYXJ5L2R1bW15LCBDb21wbGV4L0xpYnJhcnkvZW1wdHkuaCwKCSAgQ29tcGxleC9MaWJyYXJ5L2ZpbGUyLmN4eCwgQ29tcGxleC9MaWJyYXJ5L2ZpbGUyLmgsCgkgIENvbXBsZXhPbmVDb25maWcvTGlicmFyeS9jbVRlc3RMaWJyYXJ5Q29uZmlndXJlLmguaW4sCgkgIENvbXBsZXhPbmVDb25maWcvTGlicmFyeS9kdW1teSwgQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L2VtcHR5LmgsCgkgIENvbXBsZXhPbmVDb25maWcvTGlicmFyeS9maWxlMi5jeHgsCgkgIENvbXBsZXhPbmVDb25maWcvTGlicmFyeS9maWxlMi5oLAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L2NtVGVzdExpYnJhcnlDb25maWd1cmUuaC5pbiwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9kdW1teSwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9lbXB0eS5oLAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L2ZpbGUyLmN4eCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9maWxlMi5oLAoJICBDb21wbGV4L0xpYnJhcnkvZmlsZUZsYWdzLmN4eCwKCSAgQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L2ZpbGVGbGFncy5jeHgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvZmlsZUZsYWdzLmN4eDogRU5IOiBmaXggdGVzdHMKCjIwMDItMDMtMjkgMTQ6MzEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1TRG90TkVUR2VuZXJhdG9yLmN4eDogb3V0cHV0IGxpc3QgYnVnCgoyMDAyLTAzLTI5IDE0OjIyICBob2ZmbWFuCgoJKiBUZXN0cy86IENvbXBsZXgvTGlicmFyeS9jbVRlc3RMaWJyYXJ5Q29uZmlndXJlLmguaW4sCgkgIENvbXBsZXhPbmVDb25maWcvTGlicmFyeS9jbVRlc3RMaWJyYXJ5Q29uZmlndXJlLmguaW4sCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvY21UZXN0TGlicmFyeUNvbmZpZ3VyZS5oLmluOiBbbm8gbG9nCgkgIG1lc3NhZ2VdCgoyMDAyLTAzLTI5IDE0OjIwICBob2ZmbWFuCgoJKiBTb3VyY2UvY21BYnN0cmFjdEZpbGVzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUFkZEN1c3RvbUNvbW1hbmRDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtQWRkQ3VzdG9tVGFyZ2V0Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUFkZERlZmluaXRpb25zQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUFkZERlcGVuZGVuY2llc0NvbW1hbmQuY3h4LCBTb3VyY2UvY21BZGRUZXN0Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUNhYmxlQ2xhc3NTZXRDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtQ2FibGVXcmFwVGNsQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUNvbW1hbmRzLmN4eCwKCSAgU291cmNlL2NtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuY3h4LAoJICBTb3VyY2UvY21GTFRLV3JhcFVJQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUZpbmRGaWxlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUZpbmRMaWJyYXJ5Q29tbWFuZC5jeHgsIFNvdXJjZS9jbUZpbmRQYXRoQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUZpbmRQcm9ncmFtQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUdldFNvdXJjZUZpbGVQcm9wZXJ0eUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21HZXRTb3VyY2VGaWxlUHJvcGVydHlDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUluY2x1ZGVEaXJlY3RvcnlDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbEZpbGVzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUluc3RhbGxQcm9ncmFtc0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsVGFyZ2V0c0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21MaW5rRGlyZWN0b3JpZXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtTG9hZENhY2hlQ29tbWFuZC5jeHgsIFNvdXJjZS9jbU1ha2VEaXJlY3RvcnlDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtTWFya0FzQWR2YW5jZWRDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtT3V0cHV0UmVxdWlyZWRGaWxlc0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21Qcm9qZWN0Q29tbWFuZC5jeHgsIFNvdXJjZS9jbVFUV3JhcENQUENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21RVFdyYXBVSUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21TZXRTb3VyY2VGaWxlc1Byb3BlcnRpZXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtU2V0U291cmNlRmlsZXNQcm9wZXJ0aWVzQ29tbWFuZC5oLAoJICBTb3VyY2UvY21TaXRlTmFtZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21Tb3VyY2VGaWxlc0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21Tb3VyY2VGaWxlc0ZsYWdzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVNvdXJjZUZpbGVzRmxhZ3NDb21tYW5kLmgsCgkgIFNvdXJjZS9jbVNvdXJjZUZpbGVzUmVtb3ZlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVN1YmRpckNvbW1hbmQuY3h4LCBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHgsCgkgIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmgsIFNvdXJjZS9jbVVzZU1hbmdsZWRNZXNhQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVVzZU1hbmdsZWRNZXNhQ29tbWFuZC5oLAoJICBTb3VyY2UvY21VdGlsaXR5U291cmNlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVZUS01ha2VJbnN0YW50aWF0b3JDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtVlRLV3JhcEphdmFDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtVlRLV3JhcFB5dGhvbkNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21WVEtXcmFwVGNsQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVZhcmlhYmxlUmVxdWlyZXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtV3JhcEV4Y2x1ZGVGaWxlc0NvbW1hbmQuY3h4LAoJICBUZXN0cy9Db21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIFRlc3RzL0NvbXBsZXgvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleC9MaWJyYXJ5L2ZpbGUyLmN4eCwgVGVzdHMvQ29tcGxleC9MaWJyYXJ5L2ZpbGUyLmgsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L2ZpbGUyLmN4eCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L2ZpbGUyLmgsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvZmlsZTIuY3h4LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L2ZpbGUyLmg6IG1ha2Ugc3VyZSA7IGV4cGFuc2lvbgoJICBpcyBkb25lIGluIGFsbCBjb21tYW5kcwoKMjAwMi0wMy0yOSAxMToxMiAgaG9mZm1hbgoKCSogVGVzdHMvVGVzdERyaXZlci86IENNYWtlTGlzdHMudHh0LCB0ZXN0MS5jeHgsIHRlc3RFeHRyYVN0dWZmLmN4eCwKCSAgdGVzdEV4dHJhU3R1ZmYyLmN4eCwgdGVzdEV4dHJhU3R1ZmYzLmN4eDogRU5IOiBhZGQgdGVzdCBmb3Igc2V0CgkgIHRvIGNyZWF0ZSBzb3VyY2UgbGlzdHMKCjIwMDItMDMtMjkgMTE6MTEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUFkZEV4ZWN1dGFibGVDb21tYW5kLmN4eDogZml4IGNvbnN0IHByb2JsZW0KCjIwMDItMDMtMjkgMTE6MDQgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQWRkRXhlY3V0YWJsZUNvbW1hbmQuY3h4LCBjbUFkZExpYnJhcnlDb21tYW5kLmN4eCwKCSAgY21TZXRDb21tYW5kLmN4eCwgY21TZXRDb21tYW5kLmg6IEVOSDogYWRkIGFiaWxpdHkgdG8gdXNlIDsKCSAgc2VwYXJhdGVkIGxpc3RzIGluIFNFVCBhbmQgZXhwYW5kIHRoZW0gZm9yIGFkZGV4ZWN1dGFibGUgYW5kCgkgIGFkZGxpYnJhcnkKCjIwMDItMDMtMjkgMTE6MDMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdldFNvdXJjZUZpbGVQcm9wZXJ0eUNvbW1hbmQuaDogZml4IGRvY3MKCjIwMDItMDMtMjkgMTA6NTYgIGJhcnJlCgoJKiBTb3VyY2UvOiBjbU1lc3NhZ2VDb21tYW5kLmN4eCwgY21NZXNzYWdlQ29tbWFuZC5oOiBFTkg6IEFkZAoJICBTRU5EX0VSUk9SIGZsYWcgdG8gTUVTU0FHRSBzbyB0aGF0IGFuIGVycm9yIGNhbiBiZSByYWlzZWQgd2l0aGluCgkgIGEgQ01ha2VMaXN0IGZpbGUKCjIwMDItMDMtMjkgMTA6MDcgIGhvZmZtYW4KCgkqIFRlc3RzLzogQ29tcGxleC9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQ6IG1vcmUgdGVzdHMKCjIwMDItMDMtMjkgMTA6MDYgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQWJzdHJhY3RGaWxlc0NvbW1hbmQuY3h4LAoJICBjbUJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5jeHgsIGNtQ29tbWFuZHMuY3h4LAoJICBjbUNyZWF0ZVRlc3RTb3VyY2VMaXN0LmN4eCwgY21EU1BXcml0ZXIuY3h4LAoJICBjbUZMVEtXcmFwVUlDb21tYW5kLmN4eCwgY21HZXRTb3VyY2VGaWxlUHJvcGVydHlDb21tYW5kLmN4eCwKCSAgY21HZXRTb3VyY2VGaWxlUHJvcGVydHlDb21tYW5kLmgsIGNtSW5zdGFsbEZpbGVzQ29tbWFuZC5jeHgsCgkgIGNtTVNEb3RORVRHZW5lcmF0b3IuY3h4LCBjbU1ha2VEZXBlbmQuY3h4LCBjbU1ha2VmaWxlLmN4eCwKCSAgY21NYWtlZmlsZS5oLCBjbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbVFUV3JhcENQUENvbW1hbmQuY3h4LCBjbVFUV3JhcFVJQ29tbWFuZC5jeHgsCgkgIGNtU2V0U291cmNlRmlsZXNQcm9wZXJ0aWVzQ29tbWFuZC5jeHgsCgkgIGNtU2V0U291cmNlRmlsZXNQcm9wZXJ0aWVzQ29tbWFuZC5oLCBjbVNvdXJjZUZpbGUuY3h4LAoJICBjbVNvdXJjZUZpbGVzQ29tbWFuZC5jeHgsIGNtU291cmNlRmlsZXNGbGFnc0NvbW1hbmQuY3h4LAoJICBjbVRhcmdldC5jeHgsIGNtVGFyZ2V0LmgsIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21WVEtNYWtlSW5zdGFudGlhdG9yQ29tbWFuZC5jeHgsIGNtVlRLV3JhcEphdmFDb21tYW5kLmN4eCwKCSAgY21WVEtXcmFwUHl0aG9uQ29tbWFuZC5jeHgsIGNtVlRLV3JhcFRjbENvbW1hbmQuY3h4LAoJICBjbVdyYXBFeGNsdWRlRmlsZXNDb21tYW5kLmN4eCwgY21ha2V0ZXN0LmN4eCwgY21ha2V0ZXN0LmguaW46CgkgIEVOSDogbWFqb3IgY2hhbmdlLCB0aGUgY21NYWtlZmlsZSBub3cgY29udGFpbnMgYSBtYXN0ZXIgbGlzdCBvZgoJICBjbVNvdXJjZUZpbGUgb2JqZWN0cywgdGhlIHNvdXJjZSBsaXN0cyByZWZlcmVuY2UgdGhlIGxpc3QgdmlhCgkgIHBvaW50ZXJzLCBhbHNvIHlvdSBjYW4gbm93IHNldCBwcm9wZXJ0aWVzIG9uIGEgZmlsZSwgbGlrZSBjb21waWxlCgkgIGZsYWdzLCBhYnN0cmFjdCwgZXRjLgoKMjAwMi0wMy0yOSAwODo0MiAgYmFycmUKCgkqIFNvdXJjZS9jbUNyZWF0ZVRlc3RTb3VyY2VMaXN0LmN4eDogRklYOiB0b2xvd2VyIGlzIGluIDxjdHlwZS5oPgoJICAhLCBmcmVuY2h5CgoyMDAyLTAzLTI4IDExOjQzICBiYXJyZQoKCSogU291cmNlL2NtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuY3h4OiBFTkg6IHBlcmZvcm0gY2FzZSBpbnNlbnNpdGl2ZQoJICBjb21wYXJpc29uIG9uIHRlc3QgbmFtZXMKCjIwMDItMDMtMjcgMTY6MTkgIGJhcnJlCgoJKiBTb3VyY2UvY21DcmVhdGVUZXN0U291cmNlTGlzdC5jeHg6IEZJWDogY21Tb3VyY2VGaWxlOjpTZXROYW1lIHdhcwoJICBub3QgY2FsbGVkIGNvcnJlY3RseSBmb3IgdGhlIHRlc3Qgc291cmNlIGZpbGVzCgoyMDAyLTAzLTI3IDE1OjUyICBiYXJyZQoKCSogU291cmNlL2NtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuY3h4OiBFTkg6IHNtYWxsIGZvcm1hdHRpbmcgZW5oCgoyMDAyLTAzLTI3IDEzOjU0ICBiYXJyZQoKCSogVGVzdHMvOiBDb21wbGV4L1ZhclRlc3RzLmNtYWtlLCBDb21wbGV4L2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBDb21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsIENvbXBsZXhPbmVDb25maWcvVmFyVGVzdHMuY21ha2UsCgkgIENvbXBsZXhPbmVDb25maWcvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvVmFyVGVzdHMuY21ha2UsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4OiBFTkg6IGFkZCBhIG1vcmUKCSAgc3RyZXNzaW5nIEZPUkVBQ0ggdGVzdC4KCjIwMDItMDMtMjcgMTM6NDYgIGJhcnJlCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFRlc3RzL1Rlc3REcml2ZXIvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL1Rlc3REcml2ZXIvdGVzdDMuY3h4LCBUZXN0cy9UZXN0RHJpdmVyL3N1YmRpci90ZXN0My5jeHg6CgkgIEVOSDogYWRkIHRlc3Rkcml2ZXIgdGVzdCB3aXRoIHNvdXJjZSBmaWxlIGluIHN1YmRpcgoKMjAwMi0wMy0yNyAxMDo1NSAgYmFycmUKCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQ6IEZJWDogZG8gbm90IHVzZQoJICBDTUFLRV9DRkdfSU5URElSLCBqdXN0IHVzZSBMSU5LX0RJUkVDVE9SSUVTCgoyMDAyLTAzLTI3IDEwOjU0ICBiYXJyZQoKCSogVGVzdHMvOiBUZXN0aW5nL0NNYWtlTGlzdHMudHh0LCBXcmFwcGluZy9DTWFrZUxpc3RzLnR4dDogRklYOiBkbwoJICBub3QgbmVlZCBDTWFrZUxpYgoKMjAwMi0wMy0yNiAxODowNiAgYmFycmUKCgkqIFNvdXJjZS9jbUNyZWF0ZVRlc3RTb3VyY2VMaXN0LmN4eDogRU5IOiBrZWVwIHRoZSBuYW1lIG9mIHRoZSB0ZXN0CgkgIGFzIGNsb3NlIHRvIHRoZSBzb3VyY2UgZmlsZSAob25seSB0aGUgZnVuY3Rpb24gbmFtZSBpcyBjbGVhbmVkCgkgIHVwKQoKMjAwMi0wMy0yNiAxNzo1MyAgYmFycmUKCgkqIFNvdXJjZS9jbUNyZWF0ZVRlc3RTb3VyY2VMaXN0LmN4eDogRU5IOiBhZGQgLVIgKHNpbWlsYXIgdG8gY3Rlc3QKCSAgYnV0IHVzZSBzdWJzdHIgaW5zdGVhZCBvZiByZWdleHApLiBpbmRlbnQuCgoyMDAyLTAzLTI2IDE2OjQ1ICBiYXJyZQoKCSogU291cmNlLzogY21Gb3JFYWNoQ29tbWFuZC5oLCBjbUZ1bmN0aW9uQmxvY2tlci5oLCBjbU1ha2VmaWxlLmN4eDoKCSAgRklYOiBmb3JlYWNoIGZ1bmN0aW9uLWJsb2NrZXJzIHdlcmUgdXNpbmcgZXhwYW5kZWQgYXJncy4gQWRkCgkgIHZpcnR1YWwgZnVuYyB0byBzcGVjaWZ5IGlmIGZ1bmN0aW9uIGJsb2NrZXIgbmVlZHMgdGhlbSBleHBhbmRlZAoJICBvciBub3QuCgoyMDAyLTAzLTI2IDE2OjQ0ICBiYXJyZQoKCSogU291cmNlLzogY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaDogRU5IOgoJICBFeHBhbmRMaXN0QXJndW1lbnRzKCk6IGVtcHR5IGVsZW1lbnRzIGluIHNlbWktY29sb24tc2VwYXJhdGVkCgkgIHN0cmluZy1saXN0IGNhbiBub3cgYmUgaWdub3JlZC4KCjIwMDItMDMtMjYgMTY6NDIgIGJhcnJlCgoJKiBTb3VyY2UvY21DcmVhdGVUZXN0U291cmNlTGlzdC5jeHg6IEVOSDogbm93IHN1cHBvcnRzIHRlc3RzIGluc2lkZQoJICBzdWItZGlycwoKMjAwMi0wMy0yNiAxNDo0MiAgYmFycmUKCgkqIFRlc3RzL1dyYXBwaW5nL0NNYWtlTGlzdHMudHh0OiBFTkg6IFVTRV9NQU5HTEVEX01FU0EgaXMgbW9yZQoJICBjYXJlZnVsIG5vdy4gVHJ5IHRvIHRyaWNrIGl0IGFnYWluLgoKMjAwMi0wMy0yNiAxNDo0MSAgYmFycmUKCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RpbmcvQ01ha2VMaXN0cy50eHQsIFdyYXBwaW5nL0NNYWtlTGlzdHMudHh0OiBFTkg6IFVzZQoJICAke0NNQUtFX0NGR19JTlRESVJ9IGluc3RlYWQgb2YgaGFyZGNvZGVkIFJlbEluZm8sIERlYnVnLCBSZWxlYXNlLAoJICBldGMuCgoyMDAyLTAzLTI2IDEyOjU1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Vc2VNYW5nbGVkTWVzYUNvbW1hbmQuY3h4OiBFTkg6IGFkZCBlcnJvciBjaGVja2luZyBmb3IKCSAgbW1lc2EKCjIwMDItMDMtMjYgMTI6MzggIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNjb21tYW5kLmN4eCwgY21Cb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IHVzZSBjY29tbWFuZCBmb3IgZGVsIG9uCgkgIHdpbmRvd3MKCjIwMDItMDMtMjYgMTI6MzggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbWFrZXRlc3QuY3h4OiBFTkg6IHNob3cgb3V0cHV0IHdoZW4gcnVubmluZyB0ZXN0cwoKMjAwMi0wMy0yNiAxMjozNyAgaG9mZm1hbgoKCSogU291cmNlL2NtQ3JlYXRlVGVzdFNvdXJjZUxpc3QuY3h4OiBFTkg6IGlmIG5vIGFyZ3VtZW50cyBhcmUgZ2l2ZW4KCSAgYW5kIHRoZXJlIGlzIG9ubHkgb25lIHRlc3QsIHRoZW4gcnVuIGl0CgoyMDAyLTAzLTI1IDE3OjAzICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21ha2UuY3h4OiByZW1vdmVkIHF1b3RlcyBmcm9tIGNtYWtlIGFuZCBjY29tbWFuZAoJICBleGVjdXRhYmxlIHRvIGJlIGNvbnNpc3RhbnQKCjIwMDItMDMtMjUgMTY6MjQgIGJhcnJlCgoJKiBTb3VyY2UvY21Gb3JFYWNoQ29tbWFuZC5jeHg6IEVOSDogc3VwcG9ydCBzZW1pLWNvbG9uIGZvcm1hdCAobGlzdAoJICBvZiBhcmdzIGFzIHN0cmluZykKCjIwMDItMDMtMjUgMTU6NTkgIGJhcnJlCgoJKiBTb3VyY2UvOiBjY29tbWFuZC5jeHgsIGNtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IGNtQ29weUZpbGUgOyB0aGUKCSAgcGF0aCB0byB0aGUgZGVzdGluYXRpb24gZmlsZSB3aWxsIGJlIGNyZWF0ZWQgOyBzZWNvbmQgYXJnIGNhbiBiZQoJICBhIGRpcmVjdG9yeS4KCjIwMDItMDMtMjUgMTU6NTggIGJhcnJlCgoJKiBUZW1wbGF0ZXMvOiBDTWFrZURvdE5ldFN5c3RlbUNvbmZpZy5jbWFrZSwKCSAgQ01ha2VXaW5kb3dzU3lzdGVtQ29uZmlnLmNtYWtlOiBBZGQgc3VmZml4ZXMKCjIwMDItMDMtMjAgMTY6MTggIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgU291cmNlL2NtQ29tbWFuZHMuY3h4LAoJICBTb3VyY2UvY21DcmVhdGVUZXN0U291cmNlTGlzdC5jeHgsCgkgIFNvdXJjZS9jbUNyZWF0ZVRlc3RTb3VyY2VMaXN0LmgsIFNvdXJjZS9jbWFrZXRlc3QuY3h4LAoJICBUZXN0cy9UZXN0RHJpdmVyL0NNYWtlTGlzdHMudHh0LCBUZXN0cy9UZXN0RHJpdmVyL3Rlc3QxLmN4eCwKCSAgVGVzdHMvVGVzdERyaXZlci90ZXN0Mi5jeHgsIFRlc3RzL1Rlc3REcml2ZXIvdGVzdDMuY3h4OiBFTkg6IGFkZAoJICBuZXcgY29tbWFuZCB0byBjcmVhdGUgYSB0ZXN0IGRyaXZlcgoKMjAwMi0wMy0yMCAxMzoxNiAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogRU5IOiByZW1vdmUgZmx0ayBkaWFsb2cgYXMKCSAgaXQgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZAoKMjAwMi0wMy0xOSAxMjoyNSAgYW5keQoKCSogU291cmNlL2Njb21tYW5kLmN4eDogUmV0dXJuIGVycm9yIG9uIGNvcHkKCjIwMDItMDMtMTggMTE6NTkgIGFuZHkKCgkqIFNvdXJjZS9jY29tbWFuZC5jeHg6IFJlbW92ZSB3YXJuaW5nIGFib3V0IHNpZ24gYW5kIHVuc2lnbmVkCgoyMDAyLTAzLTE1IDE1OjQyICBhbmR5CgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgQ01ha2VTZXR1cC5kc3csIGNjb21tYW5kLmN4eCwKCSAgY2NvbW1hbmQuZHNwLCBjbWFrZS5jeHg6IEFkZCBjY29tbWFuZCBmb3IgZXhlY3V0aW5nIGNvbW1hbmRzIG9uCgkgIHRoZSBzeXN0ZW0sIHNvIGJ5IHVzaW5nIEFERF9DVVNUT01fQ09NTUFORCwgeW91IGNhbiBtYWtlIHJ1bGVzIHRvCgkgIGRvIHNvbWUgc3lzdGVtIGNvbW1hbmRzIGR1cmluZyBidWlsZC4gQ3VycmVudGx5IHN1cHBvcnRlZAoJICBjb21tYW5kcyBhcmUgY29weSBhbmQgcmVtb3ZlLiBPdGhlcnMgd2lsbCBmb2xsb3cuCgoyMDAyLTAzLTE1IDEzOjIwICBwZXJlcmEKCgkqIFNvdXJjZS9jbVNvdXJjZUZpbGVzRmxhZ3NDb21tYW5kLmN4eDogQlVHOiBUaGUgc291cmNlIGZpbGUgbWF5IGJlCgkgIHNwZWNpZmllZCB3aXRoIGFuIGV4dGVuc2lvbi4KCjIwMDItMDMtMTUgMTA6NDMgIG1hcnRpbmsKCgkqIFNvdXJjZS9jdGVzdC5jeHg6IGxlc3Mgbm9pc3kgYWJvdXQgY2hhbmdpbmcgZGlyZWN0b3JpZXMKCjIwMDItMDMtMTUgMDk6NDAgIGJlcmsKCgkqIFRlbXBsYXRlcy9DTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbjogVGhlcmUgY2FuIGJlIG11bHRpcGxlIGFuc2kKCSAgZmxhZ3Mgbm93CgoyMDAyLTAzLTE1IDA5OjIzICBob2ZmbWFuCgoJKiBUZW1wbGF0ZXMvY29uZmlndXJlOiBIUCBhZGQgQWUgZmxhZwoKMjAwMi0wMy0xNSAwOToxNCAgYmVyawoKCSogVGVtcGxhdGVzL2NvbmZpZ3VyZS5pbjogQWRkZWQgYmV0dGVyIHN1cHBvcnQgZm9yIEhQdXgKCjIwMDItMDMtMTQgMTY6MDQgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogRU5IOiBhZGQgLmluIGFzIGEgaGVhZGVyIGZpbGUgdHlwZSwgYXMgaXQKCSAgY2FuIG5vdCBiZSBjb21waWxlZAoKMjAwMi0wMy0xNCAxNjowMyAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBCVUc6IC5oIG5vdCB0d28gLmN4eCBmaWxlcwoKMjAwMi0wMy0xNCAxNDo1OSAgaG9mZm1hbgoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBCVUc6IGZpeCBSdW5Db21tYW5kIGFnYWluLi4uIGJhY2sgdG8KCSAgc3lzdGVtLCBidXQgd2l0aCBHZXRTaG9ydFBhdGgKCjIwMDItMDMtMTQgMTQ6NTkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbURTUFdyaXRlci5jeHg6IEJVRzogZml4IGZvciBwYXRocyB3aXRoIHNwYWNlcwoKMjAwMi0wMy0xNCAxNDo1OCAgaG9mZm1hbgoKCSogU291cmNlLzogY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmg6IEJVRzogZml4IGZvciBmaWxlcyB3aXRoIGRhc2hlcyBpbgoJICB0aGVtCgoyMDAyLTAzLTE0IDExOjExICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUNvbmZpZ3VyZUdjY1htbENvbW1hbmQuY3h4LCBjbUV4ZWNQcm9ncmFtQ29tbWFuZC5jeHgsCgkgIGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmgsIGNtYWtldGVzdC5jeHgsIGN0ZXN0LmN4eDoKCSAgRU5IOiBvdmVyaGF1bCBvZiBSdW5Db21tYW5kIG9uIHdpbmRvd3MsIGlmIG9ubHkgd2luMzIgaGFkCgkgIHBvcGVuLi4uCgoyMDAyLTAzLTEzIDE0OjIzICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbURTUFdyaXRlci5jeHgsIGNtRFNXV3JpdGVyLmN4eDogRU5IOiBjbG9zZXIgdG8gd29ya2luZwoJICB3aXRoIHNwYWNlcyBpbiB0aGUgcGF0aAoKMjAwMi0wMy0xMyAxMDoyNSAgaG9mZm1hbgoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIGNtQXV4U291cmNlRGlyZWN0b3J5Q29tbWFuZC5jeHgsCgkgIGNtQ2FibGVDbGFzc1NldC5jeHgsIGNtQ2FibGVDbGFzc1NldC5oLCBjbURpcmVjdG9yeS5jeHgsCgkgIGNtRGlyZWN0b3J5LmgsIGNtRkxUS1dyYXBVSUNvbW1hbmQuY3h4LCBjbUZpbmRGaWxlQ29tbWFuZC5jeHgsCgkgIGNtRmluZExpYnJhcnlDb21tYW5kLmN4eCwgY21GaW5kUGF0aENvbW1hbmQuY3h4LAoJICBjbUZpbmRQcm9ncmFtQ29tbWFuZC5jeHgsIGNtTVNEb3RORVRHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlLmN4eCwgY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21RVFdyYXBDUFBDb21tYW5kLmN4eCwgY21RVFdyYXBVSUNvbW1hbmQuY3h4LAoJICBjbVJlZ3VsYXJFeHByZXNzaW9uLmN4eCwgY21Tb3VyY2VHcm91cC5jeHgsIGNtU3lzdGVtVG9vbHMuY3h4LAoJICBjbVZUS01ha2VJbnN0YW50aWF0b3JDb21tYW5kLmN4eCwgY21WVEtXcmFwSmF2YUNvbW1hbmQuY3h4LAoJICBjbVZUS1dyYXBQeXRob25Db21tYW5kLmN4eCwgY21WVEtXcmFwVGNsQ29tbWFuZC5jeHgsCgkgIGNtYWtldGVzdC5jeHgsIGN0ZXN0LmN4eDogRU5IOiByZW1vdmUgc2V2ZXJhbCBjb21waWxlciB3YXJuaW5ncwoKMjAwMi0wMy0xMiAxMDoxNiAga2luZwoKCSogVGVtcGxhdGVzLzogY29uZmlndXJlLCBjb25maWd1cmUuaW46IEVOSDogQWRkZWQgdGVzdCBmb3IgZXhwbGljaXQKCSAgaW5zdGFudGlhdGlvbiBzdXBwb3J0LgoKMjAwMi0wMy0xMSAxNjowNCAgaG9mZm1hbgoKCSogU291cmNlL2NtT3B0aW9uQ29tbWFuZC5jeHg6IEVOSDogYWRkIGVycm9yIGNoZWNraW5nIGZvciBvcHRpb24KCSAgY29tbWFuZHMgd2l0aCB0b28gbWFueSBhcmd1bWVudHMKCjIwMDItMDMtMTEgMTI6MTEgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTVNEb3RORVRHZW5lcmF0b3IuY3h4LCBjbU1TRG90TkVUR2VuZXJhdG9yLmg6IEVOSDogYWRkCgkgIHN1cHBvcnQgZm9yIC5kZWYgZmlsZXMKCjIwMDItMDMtMTEgMDg6MTEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1TRG90TkVUR2VuZXJhdG9yLmN4eDogQlVHOiBtYWtlIHN1cmUgbGlicmFyaWVzIGRvIG5vdAoJICBkZXBlbmQgb24gdGhlbXNlbHZlcwoKMjAwMi0wMy0xMCAxODoyNCAgaG9mZm1hbgoKCSogVGVtcGxhdGVzLzogY29uZmlndXJlLCBjb25maWd1cmUuaW46IEVOSDogdHJ5IHRvIGdldCBjcmF6eSBkZWMKCSAgY3h4IHRvIHdvcmsgYWdhaW4uLi4gb25lIG1vcmUgdGltZQoKMjAwMi0wMy0xMCAxMDowMiAgaG9mZm1hbgoKCSogVGVtcGxhdGVzLzogY29uZmlndXJlLCBjb25maWd1cmUuaW46IEVOSDogdHJ5IHRvIGdldCBjcmF6eSBkZWMKCSAgY3h4IHRvIHdvcmsgYWdhaW4uLi4KCjIwMDItMDMtMDggMTM6MTIgIGhvZmZtYW4KCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHg6IEVOSDogbW9yZSBkZWMgc2lsbHkKCSAgc3R1ZmYKCjIwMDItMDMtMDggMTE6MDEgIGhvZmZtYW4KCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHg6IG1vcmUgc3R1cGlkIGRlYyBjeHgKCSAgdHJpY2tzLi4uCgoyMDAyLTAzLTA4IDA4OjE5ICBob2ZmbWFuCgoJKiBUZXN0cy86IENvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4OiBFTkg6IGFkZCBvbmUgbW9yZQoJICBzdHVwaWQgZnVuY3Rpb24gY2FsbCBmb3IgdGhlIGRlYyBjeHggY29tcGlsZXIuLi4KCjIwMDItMDMtMDggMDc6MjUgIGhvZmZtYW4KCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHg6IHRyeSB0byBmaXggZGVjIGN4eAoKMjAwMi0wMy0wNyAyMjowNyAgaG9mZm1hbgoKCSogVGVzdHMvOiBDb21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogRU5IOiBhZGQgbW9yZSBqdW5rCgkgIGZvciB0aGUgZGVjIGN4eCBjb21waWxlciB0byBmb3JjZSBpdCB0byBpbnN0YW50aWF0ZSBzdHVmZgoKMjAwMi0wMy0wNyAxMjoxMyAgaG9mZm1hbgoKCSogVGVzdHMvOiBDb21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eDogRU5IOiB1c2UgdGhlIHN0cmluZwoJICBjbGFzcyB0byBmb3JjZSB0aGUgZGVjIGNvbXBpbGVyIHRvIGluc3RhbnRpYXRlIHNvbWUgdGVtcGxhdGVzCgoyMDAyLTAzLTA3IDEwOjQxICBiYXJyZQoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBCdWlsZCBjbWFrZXRlc3QgZXZlbiBpZiB0ZXN0aW5nIGlmIE9GRiAoc28KCSAgdGhhdCBpdCBjYW4gYmUgdXNlZCBleHRlcm5hbGx5KQoKMjAwMi0wMy0wNiAxNzo1OCAgYmFycmUKCgkqIFNvdXJjZS86IGN0ZXN0LmN4eCwgY3Rlc3QuaDogRU5IOiBhZGQgLUUgb3B0aW9uIChleGNsdWRlIHRlc3RzCgkgIG1hdGNoaW5nIGEgcmVnZXhwKQoKMjAwMi0wMy0wNiAxNjozMCAgYmFycmUKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbWFrZXRlc3QuY3h4OiBFTkg6IGFkZCBjbWFrZXRlc3QgdG8KCSAgaW5zdGFsbCB0YXJnZXRzIChzbyB0aGF0IGl0IGNhbiBiZSB1c2VkIGluIG90aGVyIHByb2plY3RzKSBhbmQKCSAgcGFzcyB0aGUgcmVzdCBvZiBpdHMgY29tbWFuZC1saW5lIGFyZ3MgdG8gY21ha2UKCjIwMDItMDMtMDYgMTA6NDQgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy9DTWFrZU5NYWtlV2luZG93c1N5c3RlbUNvbmZpZy5jbWFrZTogYnVpbGQgdHlwZSBzaG91bGQKCSAgbm90IGJlIGFkdmFuY2VkCgoyMDAyLTAzLTA2IDEwOjExICBob2ZmbWFuCgoJKiBUZXN0cy86IENvbXBsZXgvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0OiBFTkg6IGFkZCB0ZXN0IGZvcgoJICBzZW1pLWNvbG9uIHNlcGFyYXRlZCBsaXN0cyBvZiBsaWJyYXJpZXMKCjIwMDItMDMtMDYgMTA6MTAgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTGlua0xpYnJhcmllc0NvbW1hbmQuY3h4LCBjbU1TRG90TkVUR2VuZXJhdG9yLmN4eCwKCSAgY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaCwKCSAgY21UYXJnZXRMaW5rTGlicmFyaWVzQ29tbWFuZC5jeHg6IEVOSDogYWRkIHN1cG9ydCBmb3Igc2VtaS1jb2xvbgoJICBzZXBhcmF0ZWQgbGlzdCB2YXJpYWJsZXMKCjIwMDItMDMtMDUgMTg6NDEgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuY3h4LAoJICBjbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuY3h4LCBjbUFkZERlZmluaXRpb25zQ29tbWFuZC5jeHgsCgkgIGNtQWRkRGVwZW5kZW5jaWVzQ29tbWFuZC5jeHgsIGNtQWRkRXhlY3V0YWJsZUNvbW1hbmQuY3h4LAoJICBjbUFkZExpYnJhcnlDb21tYW5kLmN4eCwgY21BZGRUZXN0Q29tbWFuZC5jeHgsCgkgIGNtQnVpbGRDb21tYW5kLmN4eCwgY21DYWJsZUNsYXNzU2V0Q29tbWFuZC5jeHgsCgkgIGNtQ2FibGVXcmFwVGNsQ29tbWFuZC5jeHgsIGNtQ29uZmlndXJlRmlsZUNvbW1hbmQuY3h4LAoJICBjbUVsc2VDb21tYW5kLmN4eCwgY21FbmRJZkNvbW1hbmQuY3h4LCBjbUV4ZWNQcm9ncmFtQ29tbWFuZC5jeHgsCgkgIGNtRmluZEZpbGVDb21tYW5kLmN4eCwgY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4LAoJICBjbUZpbmRQYXRoQ29tbWFuZC5jeHgsIGNtRmluZFByb2dyYW1Db21tYW5kLmN4eCwKCSAgY21HZXRGaWxlbmFtZUNvbXBvbmVudENvbW1hbmQuY3h4LCBjbUlmQ29tbWFuZC5jeHgsCgkgIGNtSW5jbHVkZUNvbW1hbmQuY3h4LCBjbUluY2x1ZGVFeHRlcm5hbE1TUHJvamVjdENvbW1hbmQuY3h4LAoJICBjbUluc3RhbGxGaWxlc0NvbW1hbmQuY3h4LCBjbUluc3RhbGxQcm9ncmFtc0NvbW1hbmQuY3h4LAoJICBjbUxvYWRDYWNoZUNvbW1hbmQuY3h4LCBjbU1ha2VEaXJlY3RvcnlDb21tYW5kLmN4eCwKCSAgY21NYWtlZmlsZS5jeHgsIGNtTWVzc2FnZUNvbW1hbmQuY3h4LCBjbU9wdGlvbkNvbW1hbmQuY3h4LAoJICBjbU91dHB1dFJlcXVpcmVkRmlsZXNDb21tYW5kLmN4eCwgY21TZXRDb21tYW5kLmN4eCwKCSAgY21Tb3VyY2VGaWxlc0NvbW1hbmQuY3h4LCBjbVN1YmRpckNvbW1hbmQuY3h4LCBjbVN5c3RlbVRvb2xzLmN4eCwKCSAgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbVVzZU1hbmdsZWRNZXNhQ29tbWFuZC5jeHgsCgkgIGNtVlRLTWFrZUluc3RhbnRpYXRvckNvbW1hbmQuY3h4OiBFTkg6IGV4cGFuZCB2YXJpYWJsZXMgaW4KCSAgYXJndW1lbnRzIGJlZm9yZSB0aGUgY29tbWFuZHMgZ2V0IHRoZW0KCjIwMDItMDMtMDUgMTg6MjUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQlVHOiBnZXQgdGhlIGNvcnJlY3QgcmV0dXJuIHZhbHVlIGZyb20KCSAgcGNsb3NlCgoyMDAyLTAzLTA0IDE1OjAwICBob2ZmbWFuCgoJKiBUZXN0cy86IENvbXBsZXgvTGlicmFyeS9maWxlRmxhZ3MuY3h4LAoJICBDb21wbGV4T25lQ29uZmlnL0xpYnJhcnkvZmlsZUZsYWdzLmN4eCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9maWxlRmxhZ3MuY3h4OiBFTkg6IGFkZCBzdXBwb3J0IGZvcgoJICBwZXIgZmlsZSBmbGFncwoKMjAwMi0wMy0wNCAxNDoxMiAgaG9mZm1hbgoKCSogU291cmNlLzogY21Db21tYW5kcy5jeHgsIGNtRFNQV3JpdGVyLmN4eCwgY21EU1BXcml0ZXIuaCwKCSAgY21NU0RvdE5FVEdlbmVyYXRvci5jeHgsIGNtTVNEb3RORVRHZW5lcmF0b3IuaCwgY21Tb3VyY2VGaWxlLmgsCgkgIGNtU291cmNlR3JvdXAuY3h4LCBjbVNvdXJjZUdyb3VwLmgsIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Tb3VyY2VGaWxlc0ZsYWdzQ29tbWFuZC5jeHgsIGNtU291cmNlRmlsZXNGbGFnc0NvbW1hbmQuaDogRU5IOgoJICBhZGQgZmlsZSBzcGVjaWZpYyBjb21waWxlIGZsYWdzCgoyMDAyLTAzLTA0IDE0OjExICBob2ZmbWFuCgoJKiBUZXN0cy86IENvbXBsZXgvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0OiBFTkg6IGFkZCBhIHRlc3QgZm9yCgkgIHBlciBmaWxlIGZsYWdzCgoyMDAyLTAzLTAxIDE1OjQ5ICBraW5nCgoJKiBTb3VyY2UvOiBjbVZUS01ha2VJbnN0YW50aWF0b3JDb21tYW5kLmN4eCwKCSAgY21WVEtNYWtlSW5zdGFudGlhdG9yQ29tbWFuZC5oOiBFTkg6IEFkZGVkIHN1cHBvcnQgZm9yIGluY2x1ZGluZwoJICBleHRyYSBmaWxlcyBpbiBnZW5lcmF0ZWQgaGVhZGVyIHRvIGdldCBhY2Nlc3MgdG8gZXhwb3J0IG1hY3JvcyBvZgoJICBkZXJpdmVkIHByb2plY3RzLgoKMjAwMi0wMy0wMSAwOTowMCAgaG9mZm1hbgoKCSogVGVtcGxhdGVzLzogQ01ha2VCb3JsYW5kV2luZG93c1N5c3RlbUNvbmZpZy5jbWFrZSwKCSAgQ01ha2VEb3ROZXRTeXN0ZW1Db25maWcuY21ha2UsCgkgIENNYWtlTk1ha2VXaW5kb3dzU3lzdGVtQ29uZmlnLmNtYWtlLCBDTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbiwKCSAgQ01ha2VXaW5kb3dzU3lzdGVtQ29uZmlnLmNtYWtlLCBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbjogRU5IOiBhZGQKCSAgc29tZSBPUy9jb21waWxlciB2YXJpYWJsZXMKCjIwMDItMDItMjggMTU6NTggIGhvZmZtYW4KCgkqIE1vZHVsZXMvRGFydC5jbWFrZTogRU5IOiBhZGQgVkVSQk9TRV9CVUlMRCB0byBvcHRpb25zCgoyMDAyLTAyLTI4IDE1OjU3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21ha2V3aXphcmQuY3h4OiBjaGVjayBib29sIHZhbHVlcyBhbmQgcHJlZmVyZSBvZmYKCjIwMDItMDItMjggMTU6NDIgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTVNEb3RORVRHZW5lcmF0b3IuY3h4LCBjbU1TRG90TkVUR2VuZXJhdG9yLmg6IHVzZSB4bWwKCSAgb3V0cHV0IHF1b3RlcyBmb3IgcGF0aHMKCjIwMDItMDItMjggMTU6MDYgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy86IGNvbmZpZ3VyZSwgY29uZmlndXJlLmluOiBjaGFuZ2UgaHAgY2hlY2tzIHRvIGFsbCBocHMKCSAgYW5kIG5vdCBqdXN0IHZlcnNpb24gMTAKCjIwMDItMDItMjggMTE6MTUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQlVHOiBsb29rIGZvciBleGUgcGF0aCBhcyB3ZWxsLgoKMjAwMi0wMi0yOCAxMDo0MSAgaG9mZm1hbgoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFTkg6ICBsb29rIGZvciAuY29tIGZpbGVzIGJlZm9yZSAuZXhlCgoyMDAyLTAyLTI4IDA4OjQ1ICBob2ZmbWFuCgoJKiBUZW1wbGF0ZXMvQ01ha2VEb3ROZXRTeXN0ZW1Db25maWcuY21ha2U6IGZpbmQgcGF0aCB0byBkZXZlbnYKCjIwMDItMDItMjggMDc6NTAgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy9DTWFrZURvdE5ldFN5c3RlbUNvbmZpZy5jbWFrZTogRU5IOiBhZGQgYnVpbGQgbmFtZSB0bwoJICB0aGUgY2FjaGUgd2l0aCBhIGRlZmF1bHQgdmFsdWUgZm9yIGRvdCBuZXQKCjIwMDItMDItMjcgMTg6MTEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1TRG90TkVUR2VuZXJhdG9yLmN4eCwgU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4LAoJICBUZW1wbGF0ZXMvQ01ha2VEb3ROZXRTeXN0ZW1Db25maWcuY21ha2U6IGNsZWFuIHVwIGluIGRvdCBuZXQKCjIwMDItMDItMjYgMTU6MTUgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGN0ZXN0LmN4eCwgY3Rlc3QuaDogYWRkIGNvbW1hbmQgbGluZSBvcHRpb24gLUQgZm9yCgkgIGNvbmZpZyBkaXJlY3RvcnkgdG8gcnVuCgoyMDAyLTAyLTI2IDE1OjE0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbURTV1dyaXRlci5jeHgsIGNtTVNEb3RORVRHZW5lcmF0b3IuY3h4OiBFTkg6IGFkZAoJICBSVU5fVEVTVFMKCjIwMDItMDItMjYgMTE6NDYgIGJhcnJlCgoJKiBTb3VyY2UvY21BZGRUZXN0Q29tbWFuZC5jeHg6IEZJWDogY29tbWFuZCBub3cgZXhwYW5kcyBhcmdzIGR1cmluZwoJICB0aGUgZmlyc3QgcGFzcyAoZm91bmQgdGhyb3VnaCBGT1JFQUNIIGV4YW1wbGUpCgoyMDAyLTAyLTI2IDEwOjExICBob2ZmbWFuCgoJKiBUZW1wbGF0ZXMvQ01ha2VEb3ROZXRTeXN0ZW1Db25maWcuY21ha2U6IFtubyBsb2cgbWVzc2FnZV0KCjIwMDItMDItMjYgMDg6NTYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNhYmxlQ2xhc3NTZXQuY3h4OiBCVUc6IGZpeCB0eXBlIHByb2JsZW0gc2l6ZV90eXBlIGlzCgkgIHVuc2lnbmVkCgoyMDAyLTAyLTI1IDE4OjE0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUJ1aWxkQ29tbWFuZC5jeHgsIGNtRGlyZWN0b3J5LmgsCgkgIGNtTVNEb3RORVRHZW5lcmF0b3IuY3h4LCBjbU1TRG90TkVUR2VuZXJhdG9yLmgsCgkgIGNtUmVndWxhckV4cHJlc3Npb24uaCwgY21TeXN0ZW1Ub29scy5jeHg6IEVOSDogZG90IG5ldCBhbG1vc3QKCSAgd29ya2luZwoKMjAwMi0wMi0yNSAxNjo1NyAgYmFycmUKCgkqIFNvdXJjZS9jbUFkZEV4ZWN1dGFibGVDb21tYW5kLmN4eDogRklYOiBjb21tYW5kIG5vdyBleHBhbmRzICphbGwqCgkgIGFyZ3MgKGZvdW5kIHRocm91Z2ggRk9SRUFDSCBleGFtcGxlKQoKMjAwMi0wMi0yNSAxNToyMiAgYmFycmUKCgkqIFRlc3RzL1Rlc3RpbmcvOiBDTWFrZUxpc3RzLnR4dCwgU3ViL0NNYWtlTGlzdHMudHh0LAoJICBTdWIvU3ViMi9DTWFrZUxpc3RzLnR4dCwgU3ViL1N1YjIvdGVzdGluZzIuY3h4OiBFTkg6IHByb3ZpZGUgYQoJICB0ZXN0IGZvciB0b2RheSdzIFJlYWRMaXN0RmlsZSgpIGJ1ZyBmaXgKCjIwMDItMDItMjUgMTU6MDYgIGJhcnJlCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEZJWDogYWx0aG91Z2ggYSBDTWFrZUxpc3RzLnR4dCBmaWxlIGNvdWxkCgkgIGJlIHNlYXJjaGVkIHVwICduJyBsZXZlbCBpbiB0aGUgZGlyZWN0b3J5IHRyZWUsIFJlYWRMaXN0RmlsZSgpCgkgIGFsd2F5cyBpbXBsaWVkIGEgQ01ha2VMaXN0cy50eHQgZmlsZSB3YXMgdXAgKm9uZSogbGV2ZWwuCgoyMDAyLTAyLTI1IDEzOjIwICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmREYXJ0LmNtYWtlOiBFTkg6IGxvb2sgZm9yIERhcnQgaW4gYzoKCjIwMDItMDItMjUgMTE6NTggIGJhcnJlCgoJKiBTb3VyY2UvY21TdWJkaXJDb21tYW5kLmN4eDogRU5IOiBFeHBhbmQgdmFycyBpbiBTVUJESVJTCgoyMDAyLTAyLTI1IDEwOjQ3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEJVRzogZml4IHJlbW92ZSBvZiBjeWdkcml2ZSBwYXRoIHN0dWZmCgoyMDAyLTAyLTIzIDEwOjAwICBraW5nCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEVSUjogc3RkOjppb3M6OmJpbmFyeSBpcyBvbmx5IG5lZWRlZAoJICBmb3IgV2luZG93cyBwbGF0Zm9ybXMsIGFuZCBpc24ndCBzdXBwb3J0ZWQgZm9yIGFsbCBVTklYCgkgIHBsYXRmb3Jtcy4KCjIwMDItMDItMjIgMTU6NDAgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQWRkVGVzdENvbW1hbmQuY3h4LCBjbVN5c3RlbVRvb2xzLmN4eCwKCSAgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IGZpeCBmb3Igc3BhY2VzIGluIHBhdGhzIG9uIHVuaXgKCjIwMDItMDItMjIgMTM6MzggIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgY21EU1BXcml0ZXIuY3h4LAoJICBjbUV4ZWNQcm9ncmFtQ29tbWFuZC5jeHgsIGNtTVNEb3RORVRHZW5lcmF0b3IuY3h4LAoJICBjbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaCwgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5oLCBjbWFrZXRlc3QuY3h4OiBFTkg6IGJpZyBjaGFuZ2UgaW4gdGhlCgkgIHBhdGggaGFuZGxpbmcsIG9uZSBmdW5jdGlvbiBDcmVhdGVPdXRwdXRQYXRoIGlzIHVzZWQgdG8gZXNjYXBlCgkgIHNwYWNlcyBhbmQgY29udmVydCB0byB0aGUgbmF0aXZlIHBhdGggdHlwZQoKMjAwMi0wMi0yMiAxMDowOCAga2luZwoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IEFub3RoZXIgYXR0ZW1wdCBhdCBnZXR0aW5nCgkgIGNtQ29weUZpbGUgdG8gd29yayBjb3JyZWN0bHkuICBUaGUgcHJldmlvdXMgaW1wbGVtZW50YXRpb24gd2FzCgkgIGNvcnJlY3QsIGJ1dCBkaWRuJ3Qgd29yayBvbiBIUFVYIGR1ZSB0byBzdHJlYW0gbGlicmFyeSBidWdzLgoJICBUaGlzIGltcGxlbWVudGF0aW9uIHdpbGwgaG9wZWZ1bGx5IHdvcmsgZXZlcnl3aGVyZS4KCjIwMDItMDItMjEgMTc6MzIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQlVHOiBmaXggY29weSBmaWxlIGZvciBIUAoKMjAwMi0wMi0yMSAxNjowNiAgYmFycmUKCgkqIFNvdXJjZS86IGN0ZXN0LmN4eCwgY3Rlc3QuaDogRU5IOiBTaW5jZSBlYWNoIHRlc3QgY2FuIHNlbmQgYSBsb3QKCSAgb2YgdGV4dCB0byBzdGRlcnIvc3Rkb3V0LCBjdGVzdCBub3cgZGlzcGxheXMgdGhlIGxpc3Qgb2YgdGVzdHMKCSAgdGhhdCBmYWlsZWQgYXQgdGhlIGVuZCBvZiB0aGUgcHJvY2Vzcy4KCjIwMDItMDItMjEgMTU6NTUgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Cb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuaCwgY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5oOiBFTkg6IGFkZAoJICBhIHZpcnR1YWwgQ3JlYXRlTWFrZVZhcmlhYmxlIHRvIHNob3J0ZW4gbWFrZWZpbGUgdmFyaWFibGVzIGZvcgoJICBib3JsYW5kIG1ha2UKCjIwMDItMDItMjEgMDg6NTMgIGJlcmsKCgkqIFNvdXJjZS9jbWFrZS5kc3A6IEFyZ2gKCjIwMDItMDItMjEgMDg6NDMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbWFrZXRlc3QuY3h4OiBhZGQgaWZkZWYgZm9yIHdpbmRvd3MgZnVuY3Rpb24KCjIwMDItMDItMjAgMTU6MjYgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTVNEb3RORVRHZW5lcmF0b3IuY3h4LCBjbWFrZXRlc3QuY3h4OiBjbG9zZSB0byBkb3QgbmV0CgkgIHdvcmtpbmcKCjIwMDItMDItMjAgMDk6MTYgIGJlcmsKCgkqIFNvdXJjZS9jbWFrZS5kc3A6IEJpbGwgZm9yZ290IHRvIGFkZCBhIGxpYnJhcnkgdG8gdGhlIHJlbGVhc2UKCSAgdGFyZ2V0LgoKMjAwMi0wMi0xOSAxNzo1NiAgaG9mZm1hbgoKCSogU291cmNlLzogY21NU0RvdE5FVEdlbmVyYXRvci5jeHgsIGNtTVNEb3RORVRHZW5lcmF0b3IuaDogRU5IOgoJICBnZXR0aW5nIGNsb3NlcgoKMjAwMi0wMi0xOSAxMTo1MyAgaG9mZm1hbgoKCSogU291cmNlLzogTWFrZWZpbGUuYm9ybGFuZCwgQ01ha2VMaXN0cy50eHQ6IEVOSDogYWRkIGRvdG5ldCBzdHVmZgoKMjAwMi0wMi0xOSAwOTo0MyAgaG9mZm1hbgoKCSogU291cmNlLzogQ01ha2VMaWIuZHNwLCBDTWFrZUxpc3RzLnR4dDogYWRkIGRvdCBuZXQgc3R1ZmYgdG8KCSAgY21ha2VsaXN0cyBmaWxlIGFuZCBkc3AgZmlsZQoKMjAwMi0wMi0xOCAxNzo0MSAgaG9mZm1hbgoKCSogU291cmNlLzogY21NU0RvdE5FVEdlbmVyYXRvci5jeHgsIGNtTVNEb3RORVRHZW5lcmF0b3IuaCwKCSAgY21TTE5Xcml0ZXIuY3h4LCBjbVNMTldyaXRlci5oLCBjbVZDUHJvaldyaXRlci5jeHgsCgkgIGNtVkNQcm9qV3JpdGVyLmg6IGdldHRpbmcgY2xvc2VyIGJ1dCBzdGlsbCBub3Qgd29ya2luZyBkb3QgbmV0CgkgIHN1cHBvcnQKCjIwMDItMDItMTggMTQ6MzYgIGhvZmZtYW4KCgkqIFNvdXJjZS86IENNYWtlTGliLmRzcCwgY21NU0RvdE5FVEdlbmVyYXRvci5jeHgsCgkgIGNtTVNEb3RORVRHZW5lcmF0b3IuaCwgY21TTE5Xcml0ZXIuY3h4LCBjbVNMTldyaXRlci5oLAoJICBjbVN5c3RlbVRvb2xzLmN4eCwgY21WQ1Byb2pXcml0ZXIuY3h4LCBjbVZDUHJvaldyaXRlci5oLAoJICBjbWFrZS5jeHgsIGNtYWtlLmRzcDogRU5IOiBmaXJzdCBwYXNzIGF0IGRvdCBuZXQgc3VwcG9ydAoKMjAwMi0wMi0xOCAxNDowOSAgaG9mZm1hbgoKCSogU291cmNlLzogY21Cb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogZml4IGZvciBib3JsYW5kIHRsaWIgZmlsZXMgd2l0aAoJICBkYXNoIGluIHRoZW0gcHJvYmxlbS4KCjIwMDItMDItMTQgMTA6MDMgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuaDoKCSAgRU5IOiBvbmx5IGRlcGVuZCBzdWJkaXIgYnVpbGRzIG9uIFRBUkdFVFMsIG5vdCBhbGwgc3ViIGRpcgoJICBvcGVyYXRpb25zLCB3ZSBkbyBub3Qgd2FudCB0byBidWlsZCB3aGVuIGRvaW5nIGEgbWFrZSBkZXBlbmQKCjIwMDItMDItMTQgMTA6MDEgIGhvZmZtYW4KCgkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmluLCBUZW1wbGF0ZXMvY29uZmlndXJlLAoJICBUZW1wbGF0ZXMvY29uZmlndXJlLmluOiBFTkg6IGRvIG5vdCB1c2UgTzIgZyBhcyBkZWZhdWx0IGZsYWdzCgoyMDAyLTAyLTE0IDA5OjMxICBiYXJyZQoKCSogRGFydENvbmZpZy5jbWFrZTogRU5IOiBBZGQgUFJPSkVDVF9VUkwKCjIwMDItMDItMTMgMTg6NTcgIGJhcnJlCgoJKiBEYXJ0Q29uZmlnLmNtYWtlOiBFTkg6IERveHlnZW4gcGFnZQoKMjAwMi0wMi0xMyAxODo1MCAgYmFycmUKCgkqIFV0aWxpdGllcy9Eb3h5Z2VuL2RvY19tYWtlYWxsLnNoLmluOiBGSVg6IHJlbW92ZSB0aGF0IGdvb2Qgb2wnCgkgIGV4aXQgMDsKCjIwMDItMDItMTMgMTg6MzIgIGJhcnJlCgoJKiBVdGlsaXRpZXMvRG94eWdlbi9kb2NfbWFrZWFsbC5zaC5pbjogRklYOiB1cGRhdGUgaHRtbCBhcmNoaXZlCgkgIGZpbGVuYW1lCgoyMDAyLTAyLTEzIDE4OjI4ICBiYXJyZQoKCSogVXRpbGl0aWVzL0RveHlnZW4vOiBDTWFrZUxpc3RzLnR4dCwgYXV0aG9ycy50eHQsCgkgIGRvY19tYWtlYWxsLnNoLmluLCBkb3h5ZmlsZS5pbjogRU5IOiBDb250cmlidXRpb24gZ3JhcGhzCgoyMDAyLTAyLTEzIDE2OjE3ICBiYXJyZQoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9mb3JtLy5Ob0RhcnRDb3ZlcmFnZTogVGhpcyBkaXIgc2hvdWxkIG5vdCBiZQoJICBjb3ZlcmVkIChmb3JtIGRpc3RyaWIpCgoyMDAyLTAyLTEyIDE3OjM4ICBiYXJyZQoKCSogVGVzdHMvV3JhcHBpbmcvOiBDTWFrZUxpc3RzLnR4dCwgZHVtbXk6IEVOSDogVHJpY2sgVlRLX1dSQVBfSkFWQQoJICBpbiBhIGJldHRlciB3YXkgKGF2b2lkIENVU1RPTV9UQVJHRVQpCgoyMDAyLTAyLTA4IDE1OjUyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEJVRzogZml4IENvbGxhcHNlRnVsbFBhdGggc28gYSB0cmFpbGluZwoJICBzbGFzaCBpcyBub3QgYWRkZWQgdG8gZGlyZWN0b3JpZXMKCjIwMDItMDItMDcgMTE6MzkgIGFuZHkKCgkqIFRlbXBsYXRlcy9DTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbjogRVJSOiBDYWNoZSBiaWdlbmRpYW4KCjIwMDItMDItMDcgMTE6MjggIG1hcnRpbmsKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmg6IG5leHQgcGF0Y2gKCjIwMDItMDItMDcgMTE6MjcgIG1hcnRpbmsKCgkqIFRlbXBsYXRlcy9DTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbjogdmFsdWUgbmVlZGVkIHRvIGJlIGNhY2hlZAoKMjAwMi0wMi0wNiAxMjoxNCAgaG9mZm1hbgoKCSogU291cmNlL2NtYWtlLmN4eDogRU5IOiBhZGQgZW5kcyBhdCBlbmQgb2Ygc3RyaW5nCgoyMDAyLTAyLTA2IDEwOjUwICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oOiBhZGQgYm9vbCByZXR1cm4KCSAgdmFsdWUgc28gZGlhZ25vc3RpY3MgYXJlIGVhc2llcgoKMjAwMi0wMi0wNiAxMDo0MiAgaG9mZm1hbgoKCSogU291cmNlL2NtQXV4U291cmNlRGlyZWN0b3J5Q29tbWFuZC5jeHg6IEJVRzogcmVtb3ZlIGRlcGVuZCBvbgoJICBkaXJlY3RvcnkgYmVjYXVzZSBpdCBpcyBub3Qgc3VwcG9ydGVkIGJ5IGFsbCBtYWtlcwoKMjAwMi0wMi0wNCAyMjowMCAgaG9mZm1hbgoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9DTWFrZUxpc3RzLnR4dDogRU5IOiB1c2UgdGFyZ2V0IGxpbmsKCSAgbGlicmFyaWVzIGFuZCBhZGQgdGhlIGxpbmsgZGlyZWN0b3J5IGZvciBjbWZvcm0KCjIwMDItMDItMDQgMTg6NDEgIGJhcnJlCgoJKiBNb2R1bGVzLzogRG9jdW1lbnRhdGlvbi5jbWFrZSwgRmluZEdudXBsb3QuY21ha2U6IEFkZCBtb2R1bGUgdG8KCSAgZmluZCBnbnVwbG90CgoyMDAyLTAyLTA0IDA4OjI4ICBpc2NvdHQKCgkqIFNvdXJjZS9jbUF1eFNvdXJjZURpcmVjdG9yeUNvbW1hbmQuY3h4OiB0aGUgZ2VuZXJhdGVkCgkgIG1ha2VmaWxlcy9EU1BmaWxlcyBub3cgZGVwZW5kIG9uIHRoZSBhdXggc291cmNlIGRpcmVjdG9yeSdzIGxhc3QKCSAgbW9kaWZpZWQgZGF0ZS4KCjIwMDItMDItMDEgMTM6MDggIGJlcmsKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IFVzaW5nIGNtU3lzdGVtVG9vbHM6OkVycm9yKCkgaW5zdGVhZCBvZiBjZXJyLgoKMjAwMi0wMi0wMSAxMzowNyAgYmVyawoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQmV0dGVyIHN1cHBvcnQgZm9yIHBhcmFsbGVsCgkgIGJ1aWxkcy4gU3ViZGlycyBkZXBlbmQgb24gdGhlaXIgcGFyZW50LgoKMjAwMi0wMi0wMSAwOToyOCAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogdXNlIENNYWtlX1NPVVJDRSBhbmQgbm90CgkgIENNQUtFX1JPT1QKCjIwMDItMDEtMzEgMTU6MTYgIGJsZXplawoKCSogTW9kdWxlcy9GaW5kUHl0aG9uTGlicy5jbWFrZTogRU5IOiBBZGRpbmcgc2VhcmNoIHBhdGgncyBmb3IKCSAgUFlUSE9OX0xJQlJBUlkKCjIwMDItMDEtMzEgMTA6MzIgIGhvZmZtYW4KCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBDdXJzZXNEaWFsb2cvQ01ha2VMaXN0cy50eHQ6IHRyeSB0byBnZXQKCSAgdGhpcyB3b3JraW5nIGZvciBkZWMgY3h4IGRlZmF1bHQgY29tcGlsZXIgb3B0aW9ucwoKMjAwMi0wMS0zMCAxMToyMyAgaG9mZm1hbgoKCSogU291cmNlL2NtU3RhbmRhcmRJbmNsdWRlcy5oOiBFTkg6IGZpeCBmb3IgZGVjIGNvbXBpbGVyLCB0aGV5CgkgIHN0aWxsIGRvIG5vdCBoYXZlIHRoZSBjb3JyZWN0IGFuc2kgc3RyZWFtIGxpYnJhcnkKCjIwMDItMDEtMjUgMDk6MDYgIGtpbmcKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvZm9ybS86IGZsZF9kZWYuYywgZnJtX2RhdGEuYywgZnJtX2RlZi5jLAoJICBmcm1fZHJpdmVyLmM6IEVSUjogQ29ycmVjdGVkIGFzc2VydGlvbnMgb2YgcG9pbnRlcnMgdG8gcmVtb3ZlCgkgIHdhcm5pbmdzLgoKMjAwMi0wMS0yNCAxNDoxNSAgYmVyawoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBCVUc6IGZpeCBmb3IgbmV0d29yayBwYXRocwoKMjAwMi0wMS0yMyAxMTo1OCAgaG9mZm1hbgoKCSogU291cmNlL2NtTWFrZWZpbGUuaDogcGF0Y2ggMiByZWxlYXNlIHRvIGZpeCBkc3AgaGVhZGVyIHByb2JsZW0KCjIwMDItMDEtMjMgMTE6NTIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbURTUFdyaXRlci5jeHg6IEJVRzogYWxsb3cgLmggZmlsZXMgdG8gYmUgYWRkZWQgdG8gdGhlCgkgIHNvdXJjZXMKCjIwMDItMDEtMjMgMTA6NTYgIGJhcnJlCgoJKiBTb3VyY2UvY21ha2V0ZXN0LmN4eDogRU5IOiBydW4gQ01ha2UgYSBzZWNvbmQgdGltZS4gVGhlIGZpcnN0CgkgIHRpbWUgaXQgaXMgcnVuLCBzb21lIGNhY2hlIHZhbHVlcyBhcmUgY29tcHV0ZWQuIFRoZSBzZWNvbmQgdGltZQoJICBpdCBpcyBydW4sIHNvbWUgY29tbWFuZHMgY2hlY2sgaWYgdGhlIHZhbHVlIGlzIGFscmVhZHkgaW4gdGhlCgkgIGNhY2hlIGFuZCByZXR1cm4gdGhhdCB2YWx1ZSBpbnN0ZWFkIG9mIHJlLWNvbXB1dGluZyBpdC4gVGhlcmVmb3JlCgkgIHRoaXMgRU5IOiBhKSBtYWtlIHN1cmUgdGhhdCB0aGlzIHNwZWNpZmljIGNvZGUgaXMgdGVzdGVkLCBiKQoJICBpbmNyZWFzZSBjb3ZlcmFnZS4KCjIwMDItMDEtMjIgMTc6MTggIGtpbmcKCgkqIE1vZHVsZXMvRmluZFZUSy5jbWFrZTogRU5IOiBBZGRlZCBvcHRpb24gb2YgZGlzYWJsaW5nIGVycm9yCgkgIG1lc3NhZ2Ugd2hlbiBWVEsgaXMgbm90IGZvdW5kLgoKMjAwMi0wMS0yMiAxNTo1NSAgYmFycmUKCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXgvRXhlY3V0YWJsZS9UZW1wL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL1RlbXAvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvVGVtcC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdGluZy9DTWFrZUxpc3RzLnR4dCwgVGVzdGluZy9TdWIvQ01ha2VMaXN0cy50eHQ6IEp1c3QgcmVuYW1lCgkgIGRpcgoKMjAwMi0wMS0yMiAxNTo1MCAgYmFycmUKCgkqIFRlc3RzLzogQ29tcGxleC9DTWFrZUNhY2hlLnR4dCwgQ29tcGxleE9uZUNvbmZpZy9DTWFrZUNhY2hlLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvQ01ha2VDYWNoZS50eHQsIENvbXBsZXgvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXgvQ2FjaGUvQ01ha2VDYWNoZS50eHQsIENvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvQ2FjaGUvQ01ha2VDYWNoZS50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9DYWNoZS9DTWFrZUNhY2hlLnR4dDogRU5IOiBNb3ZlCgkgIENNYWtlQ2FjaGUudHh0IHRvIENhY2hlLyBkaXJlY3RvcnkgdG8gYXZvaWQgYW55IGluLXNvdXJjZSBidWlsZAoJICBwYi4KCjIwMDItMDEtMjIgMTQ6MTUgIG1pbGxlcmp2CgoJKiBNb2R1bGVzL0RhcnQuY21ha2U6IEVOSDogTmV3IHZhcmlhYmxlcyBDVlNfVVBEQVRFX09QVElPTlMsCgkgIERBUlRfVEVTVElOR19USU1FT1VUCgoyMDAyLTAxLTIyIDEzOjMwICBiYXJyZQoKCSogVGVzdHMvOiBDb21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHg6IENvdmVyYWdlIGZvcgoJICBPVVRQVVRfUkVRVUlSRURfRklMRVMKCjIwMDItMDEtMjIgMTA6MTcgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ2FjaGVNYW5hZ2VyLmN4eCwgY21DYWNoZU1hbmFnZXIuaCwKCSAgY21Mb2FkQ2FjaGVDb21tYW5kLmN4eCwgY21NYWtlZmlsZS5jeHgsIGNtYWtlLmN4eDogRVJSOiBSZW1vdmVkCgkgIGNtQ2FjaGVNYW5hZ2VyOjpEZWZpbmVDYWNoZSBtZXRob2QuICBJdCBpcyBubyBsb25nZXIgbmVlZGVkLgoKMjAwMi0wMS0yMiAwNzozNyAgaG9mZm1hbgoKCSogVGVzdHMvOiBDb21wbGV4L0NNYWtlTGlzdHMudHh0LCBDb21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dDogZmxhZ3MgYWxyZWFkeSB0aGVyZSwganVzdAoJICBub3Qgd29ya2luZwoKMjAwMi0wMS0yMiAwNzoxOCAgaG9mZm1hbgoKCSogVGVzdHMvOiBDb21wbGV4L0NNYWtlTGlzdHMudHh0LCBDb21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dDogQlVHOiBtdXN0IHVzZSBBTlNJIGZsYWdzIGZvcgoJICBjb21wbGV4IHRlc3Qgbm93LgoKMjAwMi0wMS0yMSAxNTozMCAgYmFycmUKCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHg6IEFkZCB3YXJuaW5ncy9pbmZvcwoKMjAwMi0wMS0yMSAxNTozMCAgYmFycmUKCgkqIFRlc3RzL1dyYXBwaW5nL0NNYWtlTGlzdHMudHh0OiBBZGQgY292ZXJhZ2UgZm9yCgkgIFZUS19NQUtFX0lOU1RBTlRJQVRPUgoKMjAwMi0wMS0yMSAxNTozMCAgd2lsbAoKCSogU291cmNlLzogY21BYnN0cmFjdEZpbGVzQ29tbWFuZC5jeHgsIGNtQWJzdHJhY3RGaWxlc0NvbW1hbmQuaCwKCSAgY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5jeHgsIGNtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuaCwKCSAgY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmN4eCwgY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmgsCgkgIGNtQWRkRGVmaW5pdGlvbnNDb21tYW5kLmN4eCwgY21BZGREZWZpbml0aW9uc0NvbW1hbmQuaCwKCSAgY21BZGREZXBlbmRlbmNpZXNDb21tYW5kLmN4eCwgY21BZGREZXBlbmRlbmNpZXNDb21tYW5kLmgsCgkgIGNtQWRkRXhlY3V0YWJsZUNvbW1hbmQuY3h4LCBjbUFkZEV4ZWN1dGFibGVDb21tYW5kLmgsCgkgIGNtQWRkTGlicmFyeUNvbW1hbmQuY3h4LCBjbUFkZExpYnJhcnlDb21tYW5kLmgsCgkgIGNtQWRkVGVzdENvbW1hbmQuY3h4LCBjbUFkZFRlc3RDb21tYW5kLmgsCgkgIGNtQXV4U291cmNlRGlyZWN0b3J5Q29tbWFuZC5jeHgsIGNtQXV4U291cmNlRGlyZWN0b3J5Q29tbWFuZC5oLAoJICBjbUJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5jeHgsIGNtQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmgsCgkgIGNtQnVpbGRDb21tYW5kLmN4eCwgY21CdWlsZENvbW1hbmQuaCwgY21CdWlsZE5hbWVDb21tYW5kLmN4eCwKCSAgY21CdWlsZE5hbWVDb21tYW5kLmgsIGNtQ2FibGVDbGFzc1NldC5jeHgsIGNtQ2FibGVDbGFzc1NldC5oLAoJICBjbUNhYmxlQ2xhc3NTZXRDb21tYW5kLmN4eCwgY21DYWJsZUNsYXNzU2V0Q29tbWFuZC5oLAoJICBjbUNhYmxlV3JhcFRjbENvbW1hbmQuY3h4LCBjbUNhYmxlV3JhcFRjbENvbW1hbmQuaCwKCSAgY21DYWNoZU1hbmFnZXIuY3h4LCBjbUNhY2hlTWFuYWdlci5oLCBjbUNvbW1hbmQuaCwKCSAgY21Db21tYW5kcy5jeHgsIGNtQ29tbWFuZHMuaCwgY21Db25maWd1cmVGaWxlQ29tbWFuZC5jeHgsCgkgIGNtQ29uZmlndXJlRmlsZUNvbW1hbmQuaCwgY21Db25maWd1cmVHY2NYbWxDb21tYW5kLmN4eCwKCSAgY21Db25maWd1cmVHY2NYbWxDb21tYW5kLmgsIGNtQ3VzdG9tQ29tbWFuZC5jeHgsCgkgIGNtQ3VzdG9tQ29tbWFuZC5oLCBjbURTUFdyaXRlci5jeHgsIGNtRFNQV3JpdGVyLmgsCgkgIGNtRFNXV3JpdGVyLmN4eCwgY21EU1dXcml0ZXIuaCwgY21EYXRhLmgsIGNtRGlyZWN0b3J5LmN4eCwKCSAgY21EaXJlY3RvcnkuaCwgY21EdW1wRG9jdW1lbnRhdGlvbi5jeHgsIGNtRWxzZUNvbW1hbmQuY3h4LAoJICBjbUVsc2VDb21tYW5kLmgsIGNtRW5hYmxlVGVzdGluZ0NvbW1hbmQuY3h4LAoJICBjbUVuYWJsZVRlc3RpbmdDb21tYW5kLmgsIGNtRW5kRm9yRWFjaENvbW1hbmQuY3h4LAoJICBjbUVuZEZvckVhY2hDb21tYW5kLmgsIGNtRW5kSWZDb21tYW5kLmN4eCwgY21FbmRJZkNvbW1hbmQuaCwKCSAgY21FeGVjUHJvZ3JhbUNvbW1hbmQuY3h4LCBjbUV4ZWNQcm9ncmFtQ29tbWFuZC5oLAoJICBjbUZMVEtXcmFwVUlDb21tYW5kLmN4eCwgY21GTFRLV3JhcFVJQ29tbWFuZC5oLAoJICBjbUZpbmRGaWxlQ29tbWFuZC5jeHgsIGNtRmluZEZpbGVDb21tYW5kLmgsCgkgIGNtRmluZExpYnJhcnlDb21tYW5kLmN4eCwgY21GaW5kTGlicmFyeUNvbW1hbmQuaCwKCSAgY21GaW5kUGF0aENvbW1hbmQuY3h4LCBjbUZpbmRQYXRoQ29tbWFuZC5oLAoJICBjbUZpbmRQcm9ncmFtQ29tbWFuZC5jeHgsIGNtRmluZFByb2dyYW1Db21tYW5kLmgsCgkgIGNtRm9yRWFjaENvbW1hbmQuY3h4LCBjbUZvckVhY2hDb21tYW5kLmgsIGNtRnVuY3Rpb25CbG9ja2VyLmgsCgkgIGNtR2VuZXJhdGVkRmlsZVN0cmVhbS5oLCBjbUdldEZpbGVuYW1lQ29tcG9uZW50Q29tbWFuZC5jeHgsCgkgIGNtR2V0RmlsZW5hbWVDb21wb25lbnRDb21tYW5kLmgsIGNtSWZDb21tYW5kLmN4eCwgY21JZkNvbW1hbmQuaCwKCSAgY21JbmNsdWRlQ29tbWFuZC5jeHgsIGNtSW5jbHVkZUNvbW1hbmQuaCwKCSAgY21JbmNsdWRlRGlyZWN0b3J5Q29tbWFuZC5jeHgsIGNtSW5jbHVkZURpcmVjdG9yeUNvbW1hbmQuaCwKCSAgY21JbmNsdWRlRXh0ZXJuYWxNU1Byb2plY3RDb21tYW5kLmN4eCwKCSAgY21JbmNsdWRlRXh0ZXJuYWxNU1Byb2plY3RDb21tYW5kLmgsCgkgIGNtSW5jbHVkZVJlZ3VsYXJFeHByZXNzaW9uQ29tbWFuZC5jeHgsCgkgIGNtSW5jbHVkZVJlZ3VsYXJFeHByZXNzaW9uQ29tbWFuZC5oLCBjbUluc3RhbGxGaWxlc0NvbW1hbmQuY3h4LAoJICBjbUluc3RhbGxGaWxlc0NvbW1hbmQuaCwgY21JbnN0YWxsUHJvZ3JhbXNDb21tYW5kLmN4eCwKCSAgY21JbnN0YWxsUHJvZ3JhbXNDb21tYW5kLmgsIGNtSW5zdGFsbFRhcmdldHNDb21tYW5kLmN4eCwKCSAgY21JbnN0YWxsVGFyZ2V0c0NvbW1hbmQuaCwgY21MaW5rRGlyZWN0b3JpZXNDb21tYW5kLmN4eCwKCSAgY21MaW5rRGlyZWN0b3JpZXNDb21tYW5kLmgsIGNtTGlua0xpYnJhcmllc0NvbW1hbmQuY3h4LAoJICBjbUxpbmtMaWJyYXJpZXNDb21tYW5kLmgsIGNtTGlzdEZpbGVDYWNoZS5jeHgsIGNtTGlzdEZpbGVDYWNoZS5oLAoJICBjbUxvYWRDYWNoZUNvbW1hbmQuY3h4LCBjbUxvYWRDYWNoZUNvbW1hbmQuaCwKCSAgY21NU1Byb2plY3RHZW5lcmF0b3IuY3h4LCBjbU1TUHJvamVjdEdlbmVyYXRvci5oLAoJICBjbU1ha2VEZXBlbmQuY3h4LCBjbU1ha2VEZXBlbmQuaCwgY21NYWtlRGlyZWN0b3J5Q29tbWFuZC5jeHgsCgkgIGNtTWFrZURpcmVjdG9yeUNvbW1hbmQuaCwgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaCwKCSAgY21NYWtlZmlsZUdlbmVyYXRvci5jeHgsIGNtTWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgY21NYXJrQXNBZHZhbmNlZENvbW1hbmQuY3h4LCBjbU1hcmtBc0FkdmFuY2VkQ29tbWFuZC5oLAoJICBjbU1lc3NhZ2VDb21tYW5kLmN4eCwgY21NZXNzYWdlQ29tbWFuZC5oLAoJICBjbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgY21PcHRpb25Db21tYW5kLmN4eCwgY21PcHRpb25Db21tYW5kLmgsCgkgIGNtT3V0cHV0UmVxdWlyZWRGaWxlc0NvbW1hbmQuY3h4LCBjbU91dHB1dFJlcXVpcmVkRmlsZXNDb21tYW5kLmgsCgkgIGNtUHJvamVjdENvbW1hbmQuY3h4LCBjbVByb2plY3RDb21tYW5kLmgsIGNtUVRXcmFwQ1BQQ29tbWFuZC5jeHgsCgkgIGNtUVRXcmFwQ1BQQ29tbWFuZC5oLCBjbVFUV3JhcFVJQ29tbWFuZC5jeHgsIGNtUVRXcmFwVUlDb21tYW5kLmgsCgkgIGNtUmVndWxhckV4cHJlc3Npb24uY3h4LCBjbVJlZ3VsYXJFeHByZXNzaW9uLmgsIGNtU2V0Q29tbWFuZC5jeHgsCgkgIGNtU2V0Q29tbWFuZC5oLCBjbVNpdGVOYW1lQ29tbWFuZC5jeHgsIGNtU2l0ZU5hbWVDb21tYW5kLmgsCgkgIGNtU291cmNlRmlsZS5jeHgsIGNtU291cmNlRmlsZS5oLCBjbVNvdXJjZUZpbGVzQ29tbWFuZC5jeHgsCgkgIGNtU291cmNlRmlsZXNDb21tYW5kLmgsIGNtU291cmNlRmlsZXNSZW1vdmVDb21tYW5kLmN4eCwKCSAgY21Tb3VyY2VGaWxlc1JlbW92ZUNvbW1hbmQuaCwgY21Tb3VyY2VHcm91cC5jeHgsIGNtU291cmNlR3JvdXAuaCwKCSAgY21Tb3VyY2VHcm91cENvbW1hbmQuY3h4LCBjbVNvdXJjZUdyb3VwQ29tbWFuZC5oLAoJICBjbVN0YW5kYXJkSW5jbHVkZXMuaCwgY21TdWJkaXJDb21tYW5kLmN4eCwgY21TdWJkaXJDb21tYW5kLmgsCgkgIGNtU3ViZGlyRGVwZW5kc0NvbW1hbmQuY3h4LCBjbVN1YmRpckRlcGVuZHNDb21tYW5kLmgsCgkgIGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmgsIGNtVGFyZ2V0LmN4eCwgY21UYXJnZXQuaCwKCSAgY21UYXJnZXRMaW5rTGlicmFyaWVzQ29tbWFuZC5jeHgsIGNtVGFyZ2V0TGlua0xpYnJhcmllc0NvbW1hbmQuaCwKCSAgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5oLAoJICBjbVVzZU1hbmdsZWRNZXNhQ29tbWFuZC5jeHgsIGNtVXNlTWFuZ2xlZE1lc2FDb21tYW5kLmgsCgkgIGNtVXRpbGl0eVNvdXJjZUNvbW1hbmQuY3h4LCBjbVV0aWxpdHlTb3VyY2VDb21tYW5kLmgsCgkgIGNtVlRLTWFrZUluc3RhbnRpYXRvckNvbW1hbmQuY3h4LCBjbVZUS01ha2VJbnN0YW50aWF0b3JDb21tYW5kLmgsCgkgIGNtVlRLV3JhcEphdmFDb21tYW5kLmN4eCwgY21WVEtXcmFwSmF2YUNvbW1hbmQuaCwKCSAgY21WVEtXcmFwUHl0aG9uQ29tbWFuZC5jeHgsIGNtVlRLV3JhcFB5dGhvbkNvbW1hbmQuaCwKCSAgY21WVEtXcmFwVGNsQ29tbWFuZC5jeHgsIGNtVlRLV3JhcFRjbENvbW1hbmQuaCwKCSAgY21WYXJpYWJsZVJlcXVpcmVzQ29tbWFuZC5jeHgsIGNtVmFyaWFibGVSZXF1aXJlc0NvbW1hbmQuaCwKCSAgY21XcmFwRXhjbHVkZUZpbGVzQ29tbWFuZC5jeHgsIGNtV3JhcEV4Y2x1ZGVGaWxlc0NvbW1hbmQuaCwKCSAgY21ha2UuY3h4LCBjbWFrZS5oLCBjbWFrZW1haW4uY3h4LCBjbWFrZXRlc3QuY3h4LAoJICBjbWFrZXdpemFyZC5jeHgsIGNtYWtld2l6YXJkLmgsIGN0ZXN0LmN4eCwgY3Rlc3QuaCwKCSAgQ3Vyc2VzRGlhbG9nL2NjbWFrZS5jeHgsIEN1cnNlc0RpYWxvZy9jbUN1cnNlc0Jvb2xXaWRnZXQuY3h4LAoJICBDdXJzZXNEaWFsb2cvY21DdXJzZXNCb29sV2lkZ2V0LmgsCgkgIEN1cnNlc0RpYWxvZy9jbUN1cnNlc0NhY2hlRW50cnlDb21wb3NpdGUuY3h4LAoJICBDdXJzZXNEaWFsb2cvY21DdXJzZXNDYWNoZUVudHJ5Q29tcG9zaXRlLmgsCgkgIEN1cnNlc0RpYWxvZy9jbUN1cnNlc0R1bW15V2lkZ2V0LmN4eCwKCSAgQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzRHVtbXlXaWRnZXQuaCwKCSAgQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzRmlsZVBhdGhXaWRnZXQuY3h4LAoJICBDdXJzZXNEaWFsb2cvY21DdXJzZXNGaWxlUGF0aFdpZGdldC5oLAoJICBDdXJzZXNEaWFsb2cvY21DdXJzZXNGb3JtLmN4eCwgQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzRm9ybS5oLAoJICBDdXJzZXNEaWFsb2cvY21DdXJzZXNMYWJlbFdpZGdldC5jeHgsCgkgIEN1cnNlc0RpYWxvZy9jbUN1cnNlc0xhYmVsV2lkZ2V0LmgsCgkgIEN1cnNlc0RpYWxvZy9jbUN1cnNlc0xvbmdNZXNzYWdlRm9ybS5jeHgsCgkgIEN1cnNlc0RpYWxvZy9jbUN1cnNlc0xvbmdNZXNzYWdlRm9ybS5oLAoJICBDdXJzZXNEaWFsb2cvY21DdXJzZXNNYWluRm9ybS5jeHgsCgkgIEN1cnNlc0RpYWxvZy9jbUN1cnNlc01haW5Gb3JtLmgsCgkgIEN1cnNlc0RpYWxvZy9jbUN1cnNlc1BhdGhXaWRnZXQuY3h4LAoJICBDdXJzZXNEaWFsb2cvY21DdXJzZXNQYXRoV2lkZ2V0LmgsCgkgIEN1cnNlc0RpYWxvZy9jbUN1cnNlc1N0YW5kYXJkSW5jbHVkZXMuaCwKCSAgQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzU3RyaW5nV2lkZ2V0LmN4eCwKCSAgQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzU3RyaW5nV2lkZ2V0LmgsCgkgIEN1cnNlc0RpYWxvZy9jbUN1cnNlc1dpZGdldC5jeHgsIEN1cnNlc0RpYWxvZy9jbUN1cnNlc1dpZGdldC5oOgoJICBFTkg6VXBkYXRlZCBjb3B5cmlnaHQKCjIwMDItMDEtMjEgMTU6MTEgIHdpbGwKCgkqIENvcHlyaWdodC50eHQ6IEVOSDpGb3JtYWwgY29weXJpZ2h0IG5vdGljZQoKMjAwMi0wMS0yMSAxMTozOSAgaG9mZm1hbgoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiByZW1vdmUgd2FybmluZyBmcm9tIGhwdXgKCSAgbWFrZQoKMjAwMi0wMS0yMSAxMDozOCAgaG9mZm1hbgoKCSogU291cmNlL2NtYWtldGVzdC5jeHg6IEVOSDogY2hlY2sgdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgdGVzdAoJICBwcm9ncmFtIHRvIGJlIHJ1bgoKMjAwMi0wMS0yMSAxMDoyMiAgYmFycmUKCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHg6IENvbW1lbnQgdGVzdAoJICBPVVRQVVRfUkVRVUlSRUQKCjIwMDItMDEtMjEgMTA6MTEgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtU291cmNlRmlsZS5jeHgsIGNtU291cmNlRmlsZXNDb21tYW5kLmN4eCwKCSAgY21Tb3VyY2VGaWxlc1JlbW92ZUNvbW1hbmQuY3h4OiBCVUc6IGZpeCBnZW5lcmF0ZWQgZmlsZXMgd2l0aCBubwoJICBleHRlbnNpb24gYnVnCgoyMDAyLTAxLTIwIDAyOjIxICBiYXJyZQoKCSogVGVzdHMvOiBDb21wbGV4L1ZhclRlc3RzLmNtYWtlLCBDb21wbGV4T25lQ29uZmlnL1ZhclRlc3RzLmNtYWtlLAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9WYXJUZXN0cy5jbWFrZTogTW9yZSBJRiBjb3ZlcmFnZQoKMjAwMi0wMS0yMCAwMTo1OCAgYmFycmUKCgkqIFRlc3RzLzogQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwgQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvQ01ha2VMaXN0cy50eHQsIENvbXBsZXgvVmFyVGVzdHMuY21ha2UsCgkgIENvbXBsZXhPbmVDb25maWcvVmFyVGVzdHMuY21ha2UsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL1ZhclRlc3RzLmNtYWtlLAoJICBDb21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXgvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4L0xpYnJhcnkvZW1wdHkuaCwgQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L2VtcHR5LmgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvZW1wdHkuaCwgVGVzdGluZy9DTWFrZUxpc3RzLnR4dCwKCSAgV3JhcHBpbmcvdnRrRXhjbHVkZWQuaCwgV3JhcHBpbmcvdnRrSW5jbHVkZWQuaDogSW5jcmVhc2UKCSAgQ292ZXJhZ2UuCgoyMDAyLTAxLTIwIDAxOjA1ICBiYXJyZQoKCSogVGVzdHMvV3JhcHBpbmcvOiBDTWFrZUxpc3RzLnR4dCwgZmx0azEuZmw6IEFkZCBjb3ZlcmFnZSBmb3IgUVQKCSAgYW5kIEZMVEsgd3JhcHBlcnMuIEFsc28gTUFOR0xFRF9NRVNBCgoyMDAyLTAxLTIwIDAwOjEyICBiYXJyZQoKCSogVGVzdHMvOiBDb21wbGV4L0NNYWtlQ2FjaGUudHh0LCBDb21wbGV4L0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4L1ZhclRlc3RzLmNtYWtlLCBDb21wbGV4L2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBDb21wbGV4T25lQ29uZmlnL0NNYWtlQ2FjaGUudHh0LCBDb21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL1ZhclRlc3RzLmNtYWtlLAoJICBDb21wbGV4T25lQ29uZmlnL2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUNhY2hlLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL1ZhclRlc3RzLmNtYWtlLAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsIENvbXBsZXgvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhPbmVDb25maWcvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9DTWFrZUxpc3RzLnR4dDogTW9yZSB0ZXN0cyArCgkgIGNvdmVyYWdlCgoyMDAyLTAxLTIwIDAwOjExICBiYXJyZQoKCSogVGVzdHMvVGVzdGluZy86IENNYWtlTGlzdHMudHh0LCBEYXJ0Q29uZmlnLmNtYWtlOiBNb3JlIGNvdmVyYWdlICsKCSAgaW5jbHVkZSBEYXJ0LmNtYWtlIHRvIG1heGltaXplIGNoYW5jZSBuc2xvb2t1cC9ob3N0bmFtZSBhcmUgZm91bmQKCjIwMDItMDEtMjAgMDA6MTEgIGJhcnJlCgoJKiBUZXN0cy9XcmFwcGluZy86IENNYWtlTGlzdHMudHh0LCBoaW50cywgdnRrRXhjbHVkZWQuY3h4LAoJICB2dGtFeGNsdWRlZC5oLCB2dGtJbmNsdWRlZC5jeHgsIHZ0a0luY2x1ZGVkLmg6IEFkZCB0ZXN0IGZvcgoJICBWVEtfV1JBUF8qCgoyMDAyLTAxLTIwIDAwOjA2ICBiYXJyZQoKCSogU291cmNlL2NtTG9hZENhY2hlQ29tbWFuZC5oOiBUeXBvCgoyMDAyLTAxLTE5IDIxOjI0ICBiYXJyZQoKCSogVGVzdHMvOiBDb21wbGV4L0NNYWtlTGlzdHMudHh0LCBDb21wbGV4L1ZhclRlc3RzLmNtYWtlLAoJICBDb21wbGV4L2NtVGVzdENvbmZpZ3VyZS5oLmluLCBDb21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwgQ29tcGxleC9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LCBDb21wbGV4T25lQ29uZmlnL1ZhclRlc3RzLmNtYWtlLAoJICBDb21wbGV4T25lQ29uZmlnL2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvVmFyVGVzdHMuY21ha2UsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0aW5nL0NNYWtlTGlzdHMudHh0LCBUZXN0aW5nL3Rlc3RpbmcuY3h4LAoJICBXcmFwcGluZy9DTWFrZUxpc3RzLnR4dCwgV3JhcHBpbmcvd3JhcHBpbmcuY3h4OiBBZGQKCSAgZG9jdW1lbnRhdGlvbiwgY29tbWVudHMuIE1vdmUgc29tZSAnQ29tcGxleCcgc3ViLXRlc3RzIGludG8gMiBuZXcKCSAgJ1dyYXBwaW5nJyBhbmQgJ1Rlc3RpbmcnIHRlc3RzLgoKMjAwMi0wMS0xOSAyMToyMyAgYmFycmUKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogQWRkIDIgbmV3IHRlc3RzCgoyMDAyLTAxLTE5IDIxOjIyICBiYXJyZQoKCSogU291cmNlL2NtU2l0ZU5hbWVDb21tYW5kLmN4eDogRklYOiBpZiB0aGUgJ2hvc3RuYW1lJyBhbmQKCSAgJ25zbG9va3VwJyBjb21tYW5kcyB3ZXJlIG5vdCBmb3VuZCBmcm9tIHRoZWlyIEhPU1ROQU1FIGFuZAoJICBOU0xPT0tVUCBjYWNoZSBkZWZpbml0aW9uLCBoYXJkLWNvZGVkIHZhbHVlcyB3ZXJlIHVzZWQgaW5zdGVhZCwKCSAgdGh1cyBjYXVzaW5nIHBiIGlmIHRoZSBjb3JyZXNwb25kaW5nIHByb2dzIHdlcmUgbm90IGluIHRoZSBQQVRICgkgIChSdW5Db21tYW5kKS4gTm93IHVzZSBGaW5kUHJvZ3JhbSgpIHRvIGJlIHN1cmUgdG8gZmluZCBib3RoLAoJICBvdGhlcndpc2UgZG8gbm90aGluZyBhbmQgc2V0IHRoZSBzaXRlIG5hbWUgdG8gInVua25vd24iCgkgIChhcmJpdHJhcnkuIGNvdWxkIGJlIGVtcHR5IHN0cmluZyA/IG9yIGVycm9yID8pLgoKMjAwMi0wMS0xOCAyMzozOCAgaG9mZm1hbgoKCSogU291cmNlL2NtQ2FibGVDbGFzc1NldC5jeHg6IEJVRzogbWFrZSBzdXJlIHJlZ2V4IG1hdGNoIGhhcyBhCgkgIHN0cmluZyB0byBtYXRjaAoKMjAwMi0wMS0xOCAyMDozMyAgYmFycmUKCgkqIFNvdXJjZS9jbUV4ZWNQcm9ncmFtQ29tbWFuZC5jeHg6IEZpeDogImNkIGFyZzIgOyBhcmcxIiBub3QKCSAgd29ya2luZy4gT0sgd2l0aCAmJi4gQWxzbyBzaG91bGQgcHJldmVudCBmcm9tOiAiY2QKCSAgbm9uX2V4aXN0aW5nX2Rpcl9vb3BzICYmIHJtIC1mciAqIgoKMjAwMi0wMS0xOCAyMDozMiAgYmFycmUKCgkqIFRlc3RzLzogQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwgQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvQ01ha2VMaXN0cy50eHQsIENvbXBsZXgvVmFyVGVzdHMuY21ha2UsCgkgIENvbXBsZXgvVmFyVGVzdHMudHh0LCBDb21wbGV4T25lQ29uZmlnL1ZhclRlc3RzLmNtYWtlLAoJICBDb21wbGV4T25lQ29uZmlnL1ZhclRlc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvVmFyVGVzdHMuY21ha2UsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL1ZhclRlc3RzLnR4dCwKCSAgQ29tcGxleC9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4OiBFTkg6IEluY3JlYXNlIHRlc3QgKwoJICBjb3ZlcmFnZQoKMjAwMi0wMS0xOCAxOToyMiAgYmFycmUKCgkqIFRlc3RzLzogQ29tcGxleC9DTWFrZUNhY2hlLnR4dCwgQ29tcGxleE9uZUNvbmZpZy9DTWFrZUNhY2hlLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvQ01ha2VDYWNoZS50eHQ6IEVOSDogSW5jcmVhc2UgdGVzdCArCgkgIGNvdmVyYWdlLiBUaGlzIGlzIG5vdCBhIGJ1ZywgdGhpcyBjYWNoZSBpcyB1c2VkIGZvciB0ZXN0LgoKMjAwMi0wMS0xOCAxOToyMSAgYmFycmUKCgkqIFRlc3RzLzogQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwgQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXgvY21UZXN0Q29uZmlndXJlLmguaW4sIENvbXBsZXgvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LCBDb21wbGV4L0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4T25lQ29uZmlnL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0OiBFTkg6IEluY3JlYXNlIHRlc3QgKwoJICBjb3ZlcmFnZQoKMjAwMi0wMS0xOCAxOToyMSAgYmFycmUKCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmg6IEVOSDogUmVtb3ZlRmlsZQoJICByZXR1cm5zIGlmIHRoZSBmaWxlIHdhcyByZW1vdmVkIG9yIG5vdAoKMjAwMi0wMS0xOCAxNzowMSAgYmFycmUKCgkqIFNvdXJjZS9jbUxpYnJhcnlDb21tYW5kLmg6IFVudXNlZCBhbmQgZGVwcmVjYXRlZCBjbGFzcy4gR29vZGJ5ZS4KCjIwMDItMDEtMTggMTY6NTkgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUlmQ29tbWFuZC5jeHg6IGJ1ZyBmaXgKCjIwMDItMDEtMTggMTY6NDUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUlmQ29tbWFuZC5jeHg6IGZpeCBpZiBsb2dpYyBmb3IgbnVsbCBkZWZzCgoyMDAyLTAxLTE4IDE1OjU0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbVNvdXJjZUZpbGVzQ29tbWFuZC5jeHgsIGNtU291cmNlRmlsZXNDb21tYW5kLmg6CgkgIHJlcXVpcmVkIGZvciB1dGlsdGllcwoKMjAwMi0wMS0xOCAxNTo1MSAgbWFydGluawoKCSogU291cmNlLzogY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuaCwgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OgoJICBmaXggZm9yIHV0aWx0aWVzCgoyMDAyLTAxLTE4IDE1OjM5ICBhbmR5CgoJKiBTb3VyY2UvY21Tb3VyY2VGaWxlc1JlbW92ZUNvbW1hbmQuY3h4LAoJICBUZXN0cy9Db21wbGV4L0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9DTWFrZUxpc3RzLnR4dDogQWRkIEdFTkVSQVRFRAoJICB0byBjbVNvdXJjZUZpbGVzUmVtb3ZlQ29tbWFuZAoKMjAwMi0wMS0xOCAxNTozMiAgbWFydGluawoKCSogU291cmNlL2NtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuY3h4OiByZXZlcnQgdG8gb2xkIGJlaGF2aW91cgoKMjAwMi0wMS0xOCAxNTozMSAgYmFycmUKCgkqIFRlc3RzLzogQ29tcGxleC9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQ6IEZpeDogY3JlYXRlX2ZpbGUuY3h4CgkgIGlzIG5vdCBHRU5FUkFURUQsIGl0IGV4aXN0cyAoc28gdGhhdCBpdCBjYW4gYmUgcmVtb3ZlZCwgdW50aWwKCSAgU09VUkNFX0ZJTEVTX1JFTU9WRSBpcyBzeW5jZWQgd2l0aCBTT1VSQ0VfRklMRVMpCgoyMDAyLTAxLTE4IDE1OjE4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21TaXRlTmFtZUNvbW1hbmQuY3h4OiBtaW5vciBidWcgZml4CgoyMDAyLTAxLTE4IDE1OjE2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5oOiBidWcgZml4ZXMKCjIwMDItMDEtMTggMTQ6NDQgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQ2FibGVDbGFzc1NldC5jeHgsIGNtQnVpbGROYW1lQ29tbWFuZC5jeHg6IGJ1ZyBmaXhlcwoKMjAwMi0wMS0xOCAxNDozOCAgbWFydGluawoKCSogU291cmNlL2NtQnVpbGRDb21tYW5kLmN4eDogY29tcGlsZXIgd2FybmluZwoKMjAwMi0wMS0xOCAxNDowNyAgYmFycmUKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEZpeDogZXNjYXBpbmcgc3BhY2VzIHdhcyBwcmV2ZW50aW5nIGEgdmFsdWUKCSAgd2l0aCBzcGFjZSB0byBiZSBwYXNzZWQgY29ycmVjdGx5CgoyMDAyLTAxLTE4IDEzOjM3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUVsc2VDb21tYW5kLmN4eCwgY21JZkNvbW1hbmQuY3h4OiBtZXJnZWQgaWYgTUFUQ0hFUwoJICBmaXgKCjIwMDItMDEtMTggMTM6MzAgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmgsIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDoKCSAgc29tZSBmaXhlcyB0byByZWNlbnQgc2NyZXdlcmQgdXAgY2hhbmdlcwoKMjAwMi0wMS0xOCAxMjowMyAgYmFycmUKCgkqIFRlc3RzLzogQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwgQ29tcGxleC9WYXJUZXN0cy50eHQsCgkgIENvbXBsZXgvY21UZXN0Q29uZmlndXJlLmguaW4sIENvbXBsZXhPbmVDb25maWcvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvVmFyVGVzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvVmFyVGVzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LCBDb21wbGV4L0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXgvTGlicmFyeS9jcmVhdGVfZmlsZS5jeHgsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0xpYnJhcnkvY3JlYXRlX2ZpbGUuY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9MaWJyYXJ5L2NyZWF0ZV9maWxlLmN4eDogSW5jcmVhc2UgY292ZXJhZ2UsCgkgIGFkZCB0ZXN0cwoKMjAwMi0wMS0xOCAxMTo0OCAgYmFycmUKCgkqIFNvdXJjZS9jbUV4ZWNQcm9ncmFtQ29tbWFuZC5jeHg6IEZpeCBidWc6IHdhcyBleHBhbmRpbmcgc2Vjb25kCgkgIGFyZyBldmVuIGlmIG5vdCBwYXNzZWQuIGNyYXNoZWQKCjIwMDItMDEtMTggMTE6MzggIGJhcnJlCgoJKiBTb3VyY2UvOiBjbVZhcmlhYmxlUmVxdWlyZXNDb21tYW5kLmgsIGNtRXhlY1Byb2dyYW1Db21tYW5kLmg6IEZpeAoJICB0eXBvCgoyMDAyLTAxLTE4IDExOjM3ICBiYXJyZQoKCSogU291cmNlLzogY21CdWlsZE5hbWVDb21tYW5kLmN4eCwgY21TaXRlTmFtZUNvbW1hbmQuY3h4OiBGaXg6CgkgIGFyZ3VtZW50IHdhcyBub3QgdXNlZC4KCjIwMDItMDEtMTggMTE6MzYgIGJhcnJlCgoJKiBTb3VyY2UvY21CdWlsZENvbW1hbmQuaDogRml4IHR5cG8gKHNlY29uZCBhcmd1bWVudCB3YXMgbm90CgkgIHJlcG9ydGVkKQoKMjAwMi0wMS0xOCAxMTozNiAgYmFycmUKCgkqIFNvdXJjZS9jbUJ1aWxkQ29tbWFuZC5jeHg6IG5vIG1lc3NhZ2UKCjIwMDItMDEtMTggMTA6MjggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNhYmxlQ2xhc3NTZXQuY3h4OiBBSVggY29tcGlsZXIgZml4IHByaXZhdGUgdG8gcHVibGljCgoyMDAyLTAxLTE4IDEwOjI3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21FbHNlQ29tbWFuZC5jeHg6IEJVRzogR2V0RGVmaW5pdG9uIGNhbiByZXR1cm4gbnVsbAoKMjAwMi0wMS0xOCAwOTowMiAgYmFycmUKCgkqIFRlc3RzLzogQ29tcGxleC9zaW1wbGUuY3h4LCBDb21wbGV4T25lQ29uZmlnL3NpbXBsZS5jeHgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL3NpbXBsZS5jeHg6IElzIG5vdCB1c2VkIChzZWUgU2ltcGxlIHRlc3QpCgoyMDAyLTAxLTE4IDA3OjA1ICBob2ZmbWFuCgoJKiBUZXN0cy86IENvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4OiBFTkg6IHJlbW92ZSB1bnVzZWQKCSAgYW5kIG5vbi1zdGFuZGFyZCBpby5oIGZpbGUKCjIwMDItMDEtMTggMDc6MDQgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUlmQ29tbWFuZC5jeHg6IEJVRzogZml4IG51bGwgcG9pbnRlciByZWFkIGlmIGRlZiBpcyBub3QKCSAgZGVmaW5lZAoKMjAwMi0wMS0xNyAxNjozNiAgYmFycmUKCgkqIFRlc3RzLzogQ29tcGxleC9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHg6IEZpeDogZGlzcGxheXMgbXNnIGlmCgkgIHBhc3NlZCBmb3IgY3VzdG9tIGNvbW1hbmQKCjIwMDItMDEtMTcgMTY6MzUgIGJhcnJlCgoJKiBTb3VyY2UvY21ha2V0ZXN0LmN4eDogRklYOiBuZWVkIGEgJ21ha2UgY2xlYW4nIGJlZm9yZSAnbWFrZSBhbGwnCgkgIG90aGVyd2lzZSB0aGUgcG9zdC1idWlsZCBjdXN0b20tY29tbWFuZCBhcmUgbm90IHJ1biAoc2luY2UgYSBsaWIKCSAgbWlnaHQgYmUgdXAgdG8gZGF0ZSBhbHJlYWR5IGZvciBleC4pLgoKMjAwMi0wMS0xNyAxNTo0OSAgYmFycmUKCgkqIFRlc3RzLzogQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwgQ29tcGxleC9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBDb21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsIENvbXBsZXgvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleC9MaWJyYXJ5L2NyZWF0ZV9maWxlLmN4eCwKCSAgQ29tcGxleE9uZUNvbmZpZy9FeGVjdXRhYmxlL2NvbXBsZXguY3h4LAoJICBDb21wbGV4T25lQ29uZmlnL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvTGlicmFyeS9jcmVhdGVfZmlsZS5jeHgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvY3JlYXRlX2ZpbGUuY3h4OiBFTkg6IHRlc3RzCgkgIEFERF9ERVBFTkRFTkNJRVMgYW5kIEFERF9DVVNUT01fQ09NTUFORAoKMjAwMi0wMS0xNyAxNTo0NiAgYmFycmUKCgkqIFNvdXJjZS86IGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuaDoKCSAgRml4IHNvIHRoYXQgQUREX0RFUEVOREVOQ0lFUyB3b3JrICh0aGUgVXRpbGl0aWVzIGRlcGVuZGVuY2llcwoJICB3ZXJlIG5vdCBvdXRwdXQpCgoyMDAyLTAxLTE3IDE0OjExICBhbmR5CgoJKiBTb3VyY2UvOiBjbVNvdXJjZUZpbGVzQ29tbWFuZC5jeHgsIGNtU291cmNlRmlsZXNDb21tYW5kLmg6IEFkZAoJICBvcHRpb24gb2YgYWRkaW5nIGdlbmVyYXRlZCBmaWxlcyB0byBzb3VyY2UgbGlzdAoKMjAwMi0wMS0xNyAxMjo1NCAgaG9mZm1hbgoKCSogU291cmNlL2NtRFNQV3JpdGVyLmN4eDogRU5IOiBvbmx5IG91dHB1dCBlYWNoIGxpbmsgcGF0aCBvbmNlCgoyMDAyLTAxLTE3IDEwOjQ4ICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5oOiBFUlI6IE1pc3NpbmcgZm9yd2FyZCBkZWNsYXJhdGlvbiBvZgoJICBjbU1ha2VEZXBlbmQgYWRkZWQuCgoyMDAyLTAxLTE3IDA5OjI4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21EU1BXcml0ZXIuY3h4OiBCVUc6IGFsbG93IGhlYWRlciBmaWxlcyB0byBiZSBhZGRlZCB0bwoJICB0aGUgZHNwIGZpbGUKCjIwMDItMDEtMTYgMTc6MjkgIGJhcnJlCgoJKiBTb3VyY2UvY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5jeHg6IFJlbW92ZSBoYWNrLgoKMjAwMi0wMS0xNiAxNzoyNiAgYW5keQoKCSogU291cmNlL2NtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuY3h4OiBIYWNrIHRvIG1ha2UgaXQgd29yayBhbG1vc3QKCSAgbGlrZSBiZWZvcmUKCjIwMDItMDEtMTYgMTU6NTMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogYWRkIHNpbGVudCBhbmQgc3VmZml4ZXMKCSAgdG8gY2hlY2sgZGVwZW5kIGZpbGUKCjIwMDItMDEtMTYgMTU6MDAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmN4eDogQlVHOiBtYWtlIHN1cmUgbm9uIGNtYWtlZGVmCgkgIGxpbmVzIGFyZSBub3Qgc2tpcHBlZAoKMjAwMi0wMS0xNiAxMjo0NSAgaG9mZm1hbgoKCSogU291cmNlL2NtQ29uZmlndXJlRmlsZUNvbW1hbmQuY3h4OiBFTkg6IGRvIG5vdCB1bmRlZiBjbWFrZWRlZmluZQoJICBzdHVmZiwganVzdCBjb21tZW50IG91dCB0aGUgbGluZQoKMjAwMi0wMS0xNSAxNzoyMSAgYmVyawoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogSW1wcm92ZWQgcGVyZm9ybWFuY2UgYnkKCSAgcmVtb3ZpbmcgaW1wbGljaXQgcnVsZXMuCgoyMDAyLTAxLTE1IDE2OjIwICBtYXJ0aW5rCgoJKiBDTWFrZS5wZGYsIENNYWtlLnJ0ZjogdXBkYXRlZAoKMjAwMi0wMS0xNSAxNjoxOSAgd2lsbAoKCSogQ01ha2UucGRmOiBFTkg6U3VwcG9ydCB2MS4yCgoyMDAyLTAxLTE1IDE2OjE1ICBob2ZmbWFuCgoJKiBDTWFrZS5ydGY6IHB1YmxpYyB0byB3d3cuY21ha2Uub3JnCgoyMDAyLTAxLTE1IDE1OjU2ICB3aWxsCgoJKiBDTWFrZS5wZGY6IEVOSDpEb2NzIGZvciB2ZXJzaW9uIDEuMgoKMjAwMi0wMS0xNSAxNTo1MiAgaG9mZm1hbgoKCSogQ01ha2UucnRmOiB1cGRhdGUgZm9yIG5leHQgdmVyc2lvbgoKMjAwMi0wMS0xNSAxNTo1MCAgbWFydGluawoKCSogU291cmNlL2NtTWFrZWZpbGUuaDogbmV4dCByZWxlYXNlCgoyMDAyLTAxLTE1IDE1OjQ2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5oOiBuZXh0IHJlbGVhc2UKCjIwMDItMDEtMTUgMTU6MzggIGhvZmZtYW4KCgkqIENoYW5nZUxvZy50eHQ6IGxvZyBmb3IgcmVsYXNlIDEuMgoKMjAwMi0wMS0xNSAxNToyOSAgbWlsbGVyanYKCgkqIE1vZHVsZXMvRGFydC5jbWFrZTogRU5IOiBBZGRlZCBERUxJVkVSX0NPTlRJTlVPVVNfRU1BSUwgYXMgYW4KCSAgYWR2YW5jZWQgY2FjaGUgZW50cnkuCgoyMDAyLTAxLTE1IDEzOjIwICBiZXJrCgoJKiBTb3VyY2UvOiBjbUZpbmRQYXRoQ29tbWFuZC5jeHgsIGNtRmluZFByb2dyYW1Db21tYW5kLmN4eDogRklYOgoJICBFbnRyeSBkb2MuIHNob3VsZCBuZXZlciBiZSBvdmVyd3JpdHRlbi4gVGhpcyBtYXkgY2F1c2UgY21ha2UgdG8KCSAgYmUgcmUtcnVuIHZlcnkgb2Z0ZW4uCgoyMDAyLTAxLTE0IDE5OjA4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21EU1BXcml0ZXIuY3h4OiBFTkg6IGRvIG5vdCBkZXBlbmQgb24gdGhlIC5kc3AgZmlsZSBidXQKCSAgcmF0aGVyIGRlcGVuZCBvbiAuZHNwLmNtYWtlIGFuZCBpZiB0aGUgLmRzcCBhY3R1YWxseSBjaGFuZ2VzLAoJICB0aGVuIHdyaXRlIGl0LCBzbyBjbGVhbiBhbmQgcmVidWlsZCB3aWxsIG5vdCBjYXVzZSBtYW55IHJlbG9hZHMKCjIwMDItMDEtMTQgMTg6NTIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNhY2hlTWFuYWdlci5jeHg6IEVOSDogdHJ5IHRvIGtlZXAgdGhlIGRzcCBmaWxlcyBmcm9tCgkgIGNoYW5naW5nIGJldHdlZW4gZWFjaCB3cml0ZQoKMjAwMi0wMS0xNCAxNjoyOCAgaG9mZm1hbgoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogcmVtb3ZlIGV4dHJhIGxvZ2ljIG5vdCBuZWVkZWQKCSAgYW55bW9yZSBiZWNhdXNlIG9mIGJldHRlciBkZXBlbmRzCgoyMDAyLTAxLTE0IDE2OjAyICBiZXJrCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBRdW90ZSBlY2hvCgoyMDAyLTAxLTE0IDE0OjQ5ICBiZXJrCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTWFpbkZvcm0uY3h4OiBCVUc6IEN1cnNlcyB3YXMgYmVpbmcKCSAgdXNlZCB3aXRob3V0IGluaXRpYWxpemF0aW9uLgoKMjAwMi0wMS0xMiAyMjo1NSAgaG9mZm1hbgoKCSogU291cmNlL2NtQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiB1c2UgYm9ybGFuZCBydW4gdGltZQoJICBkbGwgZm9yIHNoYXJlZCBidWlsZHMgdG8gYXZvaWQgY3Jhc2hlcwoKMjAwMi0wMS0xMSAxMDo1NSAgaG9mZm1hbgoKCSogVGVtcGxhdGVzL2NvbmZpZ3VyZTogRU5IOiBhZGQgc3VwcG9ydCBmb3IgQUlYIHNoYXJlZCBsaWJyYXJpZXMKCSAgd2l0aCBnY2MKCjIwMDItMDEtMTEgMTA6NTQgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy9jb25maWd1cmUuaW46IEVOSDogYWRkIHN1cHBvcnQgZm9yIHNoYXJlZCBsaWJyYXJpZXMKCSAgd2l0aCBnY2Mgb24gQUlYCgoyMDAyLTAxLTEwIDE4OjA5ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogbWFrZSB0aGUgZmx0ayBidWlsZCBkZWZhdWx0IHRvIE9GRiwKCSAgaXQgZmFpbHMgb24gdG9vIG1hbnkgbGludXggbWFjaGluZXMgd2l0aCB0aGUgZGVmYXVsdCBidWlsZAoKMjAwMi0wMS0xMCAxODowOSAgaG9mZm1hbgoKCSogU291cmNlL2NtTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogZml4IGJ1aWxkIG9mIGxpYnJhcnkgaW4KCSAgb3RoZXIgZGlyZWN0b3J5IGlmIGl0IGlzIG5vdCB0aGVyZQoKMjAwMi0wMS0xMCAxNjoyMiAgYW5keQoKCSogU291cmNlL2NtQ29uZmlndXJlRmlsZUNvbW1hbmQuY3h4OiBBZGQgc3BhY2UgdG8gb3V0cHV0CgoyMDAyLTAxLTA4IDE3OjE4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Cb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IG5lZWQgYSBsYXJnZXIgZGVmYXVsdAoJICBwYWdlIHNpemUKCjIwMDItMDEtMDggMTc6MTggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbURTUFdyaXRlci5jeHg6IEJVRzogbmVlZCBzcGFjZXMgYXJvdW5kIGxpbmtlciBvcHRpb25zCgoyMDAyLTAxLTA4IDEzOjMyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21EU1BXcml0ZXIuY3h4LCBUZW1wbGF0ZXMvQ01ha2VXaW5kb3dzU3lzdGVtQ29uZmlnLmNtYWtlOgoJICBFTkg6IGFkZCBDTUFLRV9FWFRSQV9MSU5LX0ZMQUdTIHRvIGRzcCBnZW5lcmF0b3IKCjIwMDItMDEtMDggMTI6NTcgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy86IGNvbmZpZ3VyZSwgY29uZmlndXJlLmluOiBFTkg6IHVzZSArWiBub3QgK3ogZm9yIHBpYwoJICBhbmQgdXNlIC1mUElDIGZvciBnY2MKCjIwMDItMDEtMDggMTI6NTMgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy86IGNvbmZpZ3VyZSwgY29uZmlndXJlLmluOiBFTkg6IGFkZCAtTC91c3IvbGliIGZvciBocAoJICBzbyBzaGFyZWQgbGlicyBmaW5kIHRoYXQgZGlyZWN0b3J5IGJlZm9yZSB0aGUgcGExLjEgZGlyZWN0b3J5CgoyMDAyLTAxLTA3IDE3OjI5ICBiYXJyZQoKCSogTW9kdWxlcy9GaW5kVlRLLmNtYWtlOiBNb3JlIHVzZXIgZnJpZW5kbHkgKGJ1aWx0IHRyZWUgaXMKCSAgYXV0b21hdGljYWxseSB1c2VkKS4KCjIwMDItMDEtMDcgMTY6MzAgIGhvZmZtYW4KCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvY21DdXJzZXNNYWluRm9ybS5jeHg6IEJVRzogbm90IGFsbCBkaXNwbGF5ZWQKCSAgbWVzc2FnZXMgYXJlIGVycm9ycwoKMjAwMi0wMS0wNyAxNTo0OSAgcGVyZXJhCgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oLCBjbWFrZS5jeHgsIGNtYWtlLmg6CgkgIFJvbGxpbmcgYmFjayBzeW1ib2xpYyBwYXRoIGNoYW5nZXMgdW50aWwgaXQgd29ya3Mgb24gV2luZG93cy4KCjIwMDItMDEtMDcgMTQ6MTIgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy9jb25maWd1cmU6IEFkZCBzaXplb2Ygc29tZSB0eXBlcyBzdXBwb3J0CgoyMDAyLTAxLTA3IDE0OjA3ICBhbmR5CgoJKiBUZW1wbGF0ZXMvOiBjb25maWd1cmUuaW4sIENNYWtlQm9ybGFuZFdpbmRvd3NTeXN0ZW1Db25maWcuY21ha2UsCgkgIENNYWtlTk1ha2VXaW5kb3dzU3lzdGVtQ29uZmlnLmNtYWtlLCBDTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbiwKCSAgQ01ha2VXaW5kb3dzU3lzdGVtQ29uZmlnLmNtYWtlOiBBZGQgc2l6ZW9mIHNvbWUgdHlwZXMgc3VwcG9ydAoKMjAwMi0wMS0wNyAxMzo0NyAgaG9mZm1hbgoKCSogVGVtcGxhdGVzLzogY29uZmlndXJlLCBjb25maWd1cmUuaW46IHVzZSAtc2hhcmVkIGZvciBzdW5vcyBidWlsZAoKMjAwMi0wMS0wNiAxNDo1OSAgcGVyZXJhCgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oLCBjbWFrZS5jeHgsIGNtYWtlLmg6CgkgIEVOSDogQWRkIGFuIGludm9jYXRpb24gdGhhdCBtYWludGFpbnMgc3ltYm9saWMgcGF0aHMgdG8gdGhlCgkgIHNvdXJjZSBhbmQgYmluYXJ5IHRyZWVzLCBtYWlubHkgZm9yIHN5c3RlbXMgd2l0aCBhdXRvbW91bnRlZAoJICBuZXR3b3JrIGRyaXZlcy4gIEVOSDogQ29sbGFwc2VGdWxsUGF0aCgpIG5vIGxvbmdlciBhZGRzIGEKCSAgdHJhaWxpbmcgIi8iIHRvIGRpcmVjdG9yeSBwYXRocy4KCjIwMDItMDEtMDMgMTY6MDIgIGFuZHkKCgkqIFNvdXJjZS86IGNtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuY3h4LAoJICBjbUFkZEN1c3RvbUNvbW1hbmRDb21tYW5kLmg6IEZpeCBhZGQgY3VzdG9tIGNvbW1hbmQgc28gdGhhdCBpdAoJICBhY3R1YWxseSBleGVjdXRlcyB0aGUgY29kZQoKMjAwMi0wMS0wMyAxNDoxOSAgbWFydGluawoKCSogU291cmNlLzogY21WVEtXcmFwSmF2YUNvbW1hbmQuY3h4LCBjbVZUS1dyYXBQeXRob25Db21tYW5kLmN4eDoKCSAgbWlub3IgZml4ZXMKCjIwMDItMDEtMDMgMTQ6MDUgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVZUS1dyYXBUY2xDb21tYW5kLmN4eDogbWlub3IgZml4CgoyMDAyLTAxLTAzIDEzOjU2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21WVEtXcmFwVGNsQ29tbWFuZC5jeHg6IG1pbm9yIGZpeAoKMjAwMi0wMS0wMyAwOTozNCAgbWFydGluawoKCSogU291cmNlLzogY21FbHNlQ29tbWFuZC5jeHgsIGNtSWZDb21tYW5kLmN4eDogZXhwYW5kIHZhcnMgbndvIGZvcgoJICBleGlzdHMgdGVzdAoKMjAwMi0wMS0wMiAxNjo0NiAgbWFydGluawoKCSogU291cmNlLzogY21FbHNlQ29tbWFuZC5jeHgsIGNtSWZDb21tYW5kLmN4eCwgY21JZkNvbW1hbmQuaDogYWRkZWQKCSAgZXhpc3RzIG9wdGlvbiBmb3IgaWYgc3RhdGVtZW50CgoyMDAyLTAxLTAyIDE2OjQ1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbWFrZS5jeHgsIEN1cnNlc0RpYWxvZy9jbUN1cnNlc0xvbmdNZXNzYWdlRm9ybS5jeHgsCgkgIEN1cnNlc0RpYWxvZy9jbUN1cnNlc01haW5Gb3JtLmN4eDogcHJpbnRzIHRoZSByZWxlc2UgdmVyc2lvbgoKMjAwMi0wMS0wMiAxNjo0NCAgbWFydGluawoKCSogU291cmNlL2NtTWFrZWZpbGUuaDogYWRkZWQgcmVsZWFzZSB2ZXJpc29uIHRvIGNtTWFrZWZpbGUKCjIwMDItMDEtMDIgMTE6NTQgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBwdXQgYmFjayByZWN1cnNpdmUgY2FsbCB0byBtYWtlCgkgIGZvciBjaGVja2luZyBzb3VyY2VzCgoyMDAxLTEyLTMxIDEyOjAyICBiZXJrCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBUeXBlIHx8IHNob3VsZCBoYXZlIGJlZW4gJiYKCjIwMDEtMTItMzEgMTE6NTQgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiByZW1vdmUgb25lIGNhbGwgdG8gbWFrZSwgYW5kCgkgIGNsZWFuIGVjaG8gc3R1ZmYgYSBiaXQKCjIwMDEtMTItMzAgMTc6MTggIGJlcmsKCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogZml4IGxvbmcgZGVwZW5kIGxpc3QKCSAgYmVjYXVzZSBpdCBnZXRzIGN1dCBvbiB0aGUgaHA6IEkgbWF5IGxvb2sgbGlrZSBiZXJrLCBidXQgaXQgaXMKCSAgYmlsbCBILgoKMjAwMS0xMi0yOCAxNzowMCAgaG9mZm1hbgoKCSogU291cmNlLzogY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5oOiBFTkg6CgkgIHJlbW92ZSB0aGUgcnVsZSB0byBydW4gbWFrZSBkZXBlbmQgZnJvbSB0aGUgdG9wIHdpdGggZWFjaCBjaGFuZ2UKCSAgaW4gYW55IGNtYWtlbGlzdCBmaWxlLiAgSW5zdGVhZCwgcnVuIG1ha2UgZGVwZW5kIGluIHRoZSBjdXJyZW50CgkgIGRpcmVjdG9yeSBpZiBhIHNvdXJjZSBmaWxlIGNoYW5nZXMsIG9yIGlmIGEgLmggZmlsZSBjaGFuZ2VzIG9yIGlzCgkgIHJlbW92ZWQKCjIwMDEtMTItMjggMTU6NTggIHBlcmVyYQoKCSogU291cmNlLzogY21Cb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzoKCSAgRG9uJ3QgZ2VuZXJhdGUgYnVpbGQgcnVsZXMgZm9yIGhlYWRlciBmaWxlcy4KCjIwMDEtMTItMjggMTU6NTYgIHBlcmVyYQoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBCVUc6IC50eHggYXJlIG5vdCBzb3VyY2UgZmlsZXMuIFRoZXkKCSAgY29udGFpbiB0ZW1wbGF0ZSBjb2RlIHdoaWNoIGNhbiBvbmx5IGJlIGNvbXBpbGVkIHdoZW4gaW5jbHVkZWQgaW4KCSAgYSByZWd1bGFyIC5jeHggZmlsZS4gQnkgdGhlbXNlbHZlcywgdGhleSBjYXVzZSBkbyBub3QgY2F1c2UgY29kZQoJICB0byBiZSBnZW5lcmF0ZWQuCgoyMDAxLTEyLTI4IDE1OjU0ICBwZXJlcmEKCgkqIFNvdXJjZS9jbVNvdXJjZUZpbGUuY3h4OiBFTkg6IENsYXNzaWZ5IGEgZmlsZSBhcyBzb3VyY2Ugb3IgaGVhZGVyCgkgIGV2ZW4gd2hlbiB0aGUgZXh0ZW5zaW9uIGlzIGdpdmVuIGV4cGxpY2l0bHkuCgoyMDAxLTEyLTI4IDE1OjM3ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dDogcmVtb3ZlIGJhZCBBRERfREVQRU5ERU5DSUVTIGNvbW1hbmRzCgoyMDAxLTEyLTI4IDEyOjQwICBob2ZmbWFuCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVSUjogcmVtb3ZlIGJhZCBBRERfREVQRU5ERU5DSUVTIGNvbW1hbmRzCgoyMDAxLTEyLTI3IDE0OjU1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21JZkNvbW1hbmQuY3h4OiByZW1vdmUgd2FybmluZwoKMjAwMS0xMi0yNyAxMzo1NSAgaG9mZm1hbgoKCSogU291cmNlL2NtQWRkRGVwZW5kZW5jaWVzQ29tbWFuZC5jeHg6IEVOSDogYWRkIGVycm9yIGNoZWNraW5nCgoyMDAxLTEyLTIxIDE1OjM5ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogZml4IHNvIHlvdSBjYW4gcmVtb3ZlIGEKCSAgZGlyZWN0b3J5IGluIHRoZSBzb3VyY2UgdHJlZSwgYW5kIGNsZWFuIHVwIGVjaG8gb2YgY29tbWFuZHMKCjIwMDEtMTItMjEgMTU6MTEgIG1hcnRpbmsKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvOiBjbUN1cnNlc0Jvb2xXaWRnZXQuY3h4LAoJICBjbUN1cnNlc0Jvb2xXaWRnZXQuaCwgY21DdXJzZXNEdW1teVdpZGdldC5jeHgsCgkgIGNtQ3Vyc2VzRHVtbXlXaWRnZXQuaCwgY21DdXJzZXNGb3JtLmgsIGNtQ3Vyc2VzTGFiZWxXaWRnZXQuY3h4LAoJICBjbUN1cnNlc0xhYmVsV2lkZ2V0LmgsIGNtQ3Vyc2VzTG9uZ01lc3NhZ2VGb3JtLmN4eCwKCSAgY21DdXJzZXNNYWluRm9ybS5jeHgsIGNtQ3Vyc2VzTWFpbkZvcm0uaCwKCSAgY21DdXJzZXNTdHJpbmdXaWRnZXQuY3h4LCBjbUN1cnNlc1N0cmluZ1dpZGdldC5oLAoJICBjbUN1cnNlc1dpZGdldC5jeHgsIGNtQ3Vyc2VzV2lkZ2V0Lmg6IHVwZGF0ZSBpbnRlcmZhY2UKCjIwMDEtMTItMjEgMTU6MTAgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IGFkZCBwYXRjaCBoYWNrCgoyMDAxLTEyLTIxIDE0OjU0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUJ1aWxkQ29tbWFuZC5jeHgsIGNtU3lzdGVtVG9vbHMuY3h4LCBjdGVzdC5jeHg6IGZpeAoJICBmb3IgZG9zIGZpbGVzIG9uIFVOSVggbWFrZSAtayBhbmQgZmx1c2ggaW4gY3Rlc3QKCjIwMDEtMTItMjEgMTQ6NDQgIG1hcnRpbmsKCgkqIE1vZHVsZXMvOiBGaW5kQ3Vyc2VzLmNtYWtlLCBGaW5kSk5JLmNtYWtlLCBGaW5kTVBJLmNtYWtlLAoJICBGaW5kUHl0aG9uTGlicy5jbWFrZTogZ2VuZXJhbCBpbXByb3ZlbWVudHMKCjIwMDEtMTItMjEgMTQ6NDAgIGJhcnJlCgoJKiBNb2R1bGVzLzogRmluZFZUSy5jbWFrZTogQ2hhbmdlIHNvIHRoYXQgZGlmZmVyZW50IGZsYXZvdXJzIG9mIFZUSwoJICBtaWdodCBiZSBjaG9zZW4gYnkgdGhlIHVzZXIuIFNlZSBmdWxsIGluc3RydWN0aW9ucyBpbiB0aGF0IGZpbGUuCgoyMDAxLTEyLTIxIDE0OjQwICBtYXJ0aW5rCgoJKiBjb25maWd1cmUuaW4sIGNvbmZpZ3VyZTogZml4ZWQgZm9yIFNHSSBDQwoKMjAwMS0xMi0yMSAxNDozOSAgbWFydGluawoKCSogVGVtcGxhdGVzLzogQ01ha2VCb3JsYW5kV2luZG93c1N5c3RlbUNvbmZpZy5jbWFrZSwKCSAgQ01ha2VOTWFrZVdpbmRvd3NTeXN0ZW1Db25maWcuY21ha2UsCgkgIENNYWtlV2luZG93c1N5c3RlbUNvbmZpZy5jbWFrZSwgRExMSGVhZGVyLmRzcHRlbXBsYXRlLCBjb25maWd1cmUsCgkgIGNvbmZpZ3VyZS5pbiwgc3RhdGljTGliSGVhZGVyLmRzcHRlbXBsYXRlOiB2YXJpZXR5IG9mIGJ1ZyBmaXhlcwoKMjAwMS0xMi0yMSAwOTo1NSAgaWJhbmV6CgoJKiBTb3VyY2UvY21GTFRLV3JhcFVJQ29tbWFuZC5jeHg6IEVOSDogTm8gbG9uZ2VyIHRyaWVzIHRvIGNyZWF0ZSBhCgkgIGRpcmVjdG9yeSBmb3IgdGhlIG91dHB1dAoKMjAwMS0xMi0yMSAwOTowNyAgaG9mZm1hbgoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBhZGQgc3VwcG9ydCBmb3IgREVTVERJUgoJICBpbiBpbnN0YWxsIHRhcmdldHMKCjIwMDEtMTItMjEgMDA6MDEgIHBlcmVyYQoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgVGVtcGxhdGVzL0NNYWtlU3lzdGVtQ29uZmlnLmNtYWtlLmluOiBFTkg6IEFkZCBvcHRpb24gdG8gZGlzYWJsZQoJICB1c2Ugb2YgLXJwYXRoLgoKMjAwMS0xMi0yMCAxNzowMCAgaG9mZm1hbgoKCSogU291cmNlLzogY21Cb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IGZpeCBmb3Igd2luOTggY2hlY2sgZm9yCgkgIGRpcmVjdG9yeSBleGlzdGVuY2UKCjIwMDEtMTItMjAgMTY6MTAgIGJhcnJlCgoJKiBNb2R1bGVzLzogRmluZFRjbHNoLmNtYWtlLCBGaW5kV2lzaC5jbWFrZSwgRmluZFRDTC5jbWFrZTogRU5IOgoJICBBRFZBTkNFRCB3YXMgbm90IHByb3BhZ2F0ZWQgdG8gdGhlIG5ldyBzdWItbW9kcwoKMjAwMS0xMi0yMCAxNTo0NiAgaG9mZm1hbgoKCSogU291cmNlLzogY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IGFkZCBtYWtlIHNpbGVudCBmbGFnIGZvciBubWFrZQoJICBhbmQgbW92ZSAuU0lMRU5UOiBkaXJlY3RpdmUgdG8gdG9wIG9mIG1ha2VmaWxlCgoyMDAxLTEyLTIwIDE1OjQ1ICBiYXJyZQoKCSogTW9kdWxlcy86IEZpbmRGTFRLLmNtYWtlOiBFTkg6IG1hcmsgZXZlcnl0aGluZyBBRFZBTkNFRAoKMjAwMS0xMi0yMCAxNTo0NSAgaG9mZm1hbgoKCSogU291cmNlL2NtQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiB1c2UgYmV0dGVyIGNvbW1hbmQKCSAgZm9yIGNyZWF0aW5nIHN0YXRpYyBsaWJyYXJ5CgoyMDAxLTEyLTIwIDE1OjQ0ICBob2ZmbWFuCgoJKiBUZW1wbGF0ZXMvOiBDTWFrZUJvcmxhbmRXaW5kb3dzU3lzdGVtQ29uZmlnLmNtYWtlLAoJICBDTWFrZU5NYWtlV2luZG93c1N5c3RlbUNvbmZpZy5jbWFrZSwKCSAgQ01ha2VXaW5kb3dzU3lzdGVtQ29uZmlnLmNtYWtlOiBCVUc6IG11c3QgdXNlIENBQ0hFIHZhbHVlcyBpbgoJICB0aGVzZQoKMjAwMS0xMi0yMCAxNToyMiAgYmFycmUKCgkqIE1vZHVsZXMvRmluZFZUSy5jbWFrZTogRU5IOiBBbHNvIGxvb2sgZm9yIDQuMiwgNC4xLCA0LjAKCjIwMDEtMTItMjAgMTU6MTcgIGJhcnJlCgoJKiBNb2R1bGVzL0ZpbmRWVEsuY21ha2U6IEVOSDogQWxzbyBsb29rIGZvciA0LjIsIDQuMSwgNC4wCgoyMDAxLTEyLTIwIDA4OjE2ICBob2ZmbWFuCgoJKiBFeGFtcGxlL0RlbW8vZGVtby5jeHg6IHJlbW92ZSBmYW5jeSBjeHggc3R1ZmYgZnJvbSB0aGUgZXhhbXBsZQoKMjAwMS0xMi0xOSAyMTo1MSAgYmFycmUKCgkqIE1vZHVsZXMvRmluZEpOSS5jbWFrZTogRU5IOiBNYWtlIGV2ZXJ5dGhpbmcgQURWQU5DRUQKCjIwMDEtMTItMTkgMTg6NDUgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Cb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuaCwgY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IGFkZCBzaWxlbnQgbW9kZSBmb3IgbWFrZWZpbGUKCSAgYnVpbGRzIGFuZCBmaXggYm9ybGFuZCBhbmQgbm1ha2UgYWZ0ZXIgdGhlIGRlcGVuZCBzdHVmZgoKMjAwMS0xMi0xOSAxNToyNiAgaG9mZm1hbgoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIGNtYWtldGVzdC5jeHg6IGFkZCBleGFtcGxlIHRvIHRlc3RzCgoyMDAxLTEyLTE5IDE1OjI1ICBob2ZmbWFuCgoJKiBFeGFtcGxlLzogQ01ha2VMaXN0cy50eHQsIERlbW8vQ01ha2VMaXN0cy50eHQsIERlbW8vZGVtby5jeHgsCgkgIERlbW8vZGVtb19iLmN4eCwgSGVsbG8vQ01ha2VMaXN0cy50eHQsIEhlbGxvL2hlbGxvLmN4eCwKCSAgSGVsbG8vaGVsbG8uaDogbW92ZSBleGFtcGxlIGludG8gdGhlIHNvdXJjZSB0cmVlIHNvIGl0IHdpbGwKCSAgd29yay4uLgoKMjAwMS0xMi0xOSAxMTozOCAgYmFycmUKCgkqIE1vZHVsZXMvRmluZFRDTC5jbWFrZTogZGVmYXVsdCBBY3RpdmVTdGF0ZSBUY2wgaW5zdGFsbCBkaXIgaXMgbm93CgkgIEM6L1RjbAoKMjAwMS0xMi0xOSAwODozNSAgaG9mZm1hbgoKCSogU291cmNlL2NtVlRLTWFrZUluc3RhbnRpYXRvckNvbW1hbmQuY3h4OiBjaGFuZ2Ugb3N0cnN0cmVhbSB0bwoJICBzdHJzdHJlYW0KCjIwMDEtMTItMTkgMDg6MjYgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy9jb25maWd1cmUsIFRlbXBsYXRlcy9jb25maWd1cmUuaW4sIGNvbmZpZ3VyZSwKCSAgY29uZmlndXJlLmluOiBjaGVjayBmb3IgTEFORzpzdGQKCjIwMDEtMTItMTggMjE6MDAgIGhvZmZtYW4KCgkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmluLCBUZW1wbGF0ZXMvY29uZmlndXJlLAoJICBUZW1wbGF0ZXMvY29uZmlndXJlLmluOiAtTEFORzpzdGQgc2hvdWxkIGJlIGRlZmF1bHQgb24gc2dpIGZvcgoJICBhbnNpIENYWCBGbGFncwoKMjAwMS0xMi0xOCAyMDozMiAgaG9mZm1hbgoKCSogVGVtcGxhdGVzL3N0YXRpY0xpYkhlYWRlci5kc3B0ZW1wbGF0ZTogZml4IGNvbW1lbnQKCjIwMDEtMTItMTggMTc6MzAgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy86IGNvbmZpZ3VyZSwgY29uZmlndXJlLmluOiBzeW50YXggZXJyb3IKCjIwMDEtMTItMTggMTc6MTcgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy9jb25maWd1cmU6IHVzZSBjeHggY29tcGlsZXIgb24gc2dpIHRvIGJ1aWxkIHN0YXRpYyBsaWJzCgoyMDAxLTEyLTE4IDE3OjE2ICBob2ZmbWFuCgoJKiBUZW1wbGF0ZXMvY29uZmlndXJlLmluOiB1c2UgY3h4IGNvbXBpbGVyIHRvIGJ1aWxkIHN0YXRpYyBsaWJzIG9uCgkgIHNnaQoKMjAwMS0xMi0xOCAxNjoyMSAgbWFydGluawoKCSogTW9kdWxlcy9GaW5kSk5JLmNtYWtlOiBiYWQgc3BlbGxpbmcgb2YgamF2YQoKMjAwMS0xMi0xOCAxNDo1NSAga2luZwoKCSogU291cmNlL2NtSWZDb21tYW5kLmN4eDogRU5IOiBBZGRlZCBlcnJvciByZXBvcnRpbmcgZm9yIG1pc3NpbmcKCSAgYXJndW1lbnRzIHRvIEVORElGLgoKMjAwMS0xMi0xOCAxMzozNSAgYmVyawoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9jbUN1cnNlc0Jvb2xXaWRnZXQuY3h4OiBGaXhlZCB3YXJuaW5nLgoKMjAwMS0xMi0xOCAxMTozNSAga2luZwoKCSogU291cmNlLzogY21WVEtNYWtlSW5zdGFudGlhdG9yQ29tbWFuZC5jeHgsCgkgIGNtVlRLTWFrZUluc3RhbnRpYXRvckNvbW1hbmQuaDogRU5IOiBJbXByb3ZlZCBmbGV4aWJpbGl0eSBvZgoJICBjb21tYW5kIGJ5IGFsbG93aW5nIHNwZWNpZmljaWF0aW9uIG9mIHNlcGFyYXRlIGlucHV0IGFuZCBvdXRwdXRzCgkgIHNvdXJjZSBsaXN0cy4gIE11bHRpcGxlIGlucHV0IHNvdXJjZSBsaXN0cyBhcmUgbm93IGFsc28gYWxsb3dlZC4KCjIwMDEtMTItMTggMTA6MjEgIGtpbmcKCgkqIFNvdXJjZS86IGNtQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6CgkgIEltcHJvdmVkIGRlcGVuZGVuY3kgZ2VuZXJhdGlvbi4gIElmIGFueSBjbWFrZS5kZXBlbmRzIGlzIG91dCBvZgoJICBkYXRlLCBhbGwgb2YgdGhlbSBpbiB0aGUgdHJlZSBhcmUgcmUtZ2VuZXJhdGVkLiAgVGhpcyBpcwoJICBuZWNlc3NhcnkgaW4gY2VydGFpbiBjYXNlcyB3aGVuIENNYWtlTGlzdHMudHh0IGZpbGVzIGNoYW5nZS4KCjIwMDEtMTItMTggMDk6NTEgIGtpbmcKCgkqIFNvdXJjZS9jbUVsc2VDb21tYW5kLmN4eDogRU5IOiBBZGRlZCBvcHRpb24gdG8gSUYgY29tbWFuZCB0byB0ZXN0CgkgIGlmIGEgY29tbWFuZCBleGlzdHMuCVN5bnRheCBpcyBJRihDT01NQU5EIG5hbWUtb2YtY29tbWFuZCkuCgoyMDAxLTEyLTE4IDA5OjM5ICBraW5nCgoJKiBTb3VyY2UvOiBjbUlmQ29tbWFuZC5jeHgsIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmg6IEVOSDoKCSAgQWRkZWQgb3B0aW9uIHRvIElGIGNvbW1hbmQgdG8gdGVzdCBpZiBhIGNvbW1hbmQgZXhpc3RzLiAgU3ludGF4CgkgIGlzIElGKENPTU1BTkQgbmFtZS1vZi1jb21tYW5kKS4KCjIwMDEtMTItMTggMDk6MTYgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogQlVHOiBFeGlzdGluZyBwcm9qZWN0cyBoYXZlIGNhY2hlIGVudHJpZXMKCSAgd2l0aCB0aGUgc2FtZSBuYW1lIGFzIHRoZSBjb21tYW5kIHRoZXkgYWRqdXN0IChWVEtfV1JBUF9KQVZBIGluCgkgIFZUSywgZm9yIGV4YW1wbGUpLiAgU2V0dGluZyB0aGUgY29tbWFuZCBuYW1lIGFzIGEgdmFyaWFibGUgaXMgdG9vCgkgIGRhbmdlcm91cy4KCjIwMDEtMTItMTcgMTc6NDQgIGFuZHkKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQmV0dGVyIGhhbmRsaW5nIG9mIG5ldyBsaW5lcyB3aGVuCgkgIG1vdmluZyBmcm9tIGRvcyB0byB1bml4CgoyMDAxLTEyLTE3IDE2OjIwICBraW5nCgoJKiBTb3VyY2UvOiBjbUNvbW1hbmRzLmN4eCwgY21WVEtNYWtlSW5zdGFudGlhdG9yQ29tbWFuZC5jeHgsCgkgIGNtVlRLTWFrZUluc3RhbnRpYXRvckNvbW1hbmQuaDogRU5IOiBBZGRpbmcgVlRLX01BS0VfSU5TVEFOVElBVE9SCgkgIGNvbW1hbmQuICBUaGlzIGNvbW1hbmQgd2lsbCBiZSB1c2VkIGJ5IFZUSyBraXRzIHRvIHJlZ2lzdGVyIHRoZWlyCgkgIGNsYXNzZXMgd2l0aCB2dGtJbnN0YW50aWF0b3IuCgoyMDAxLTEyLTE3IDE2OjE5ICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEVOSDogRWFjaCBjbWFrZSBjb21tYW5kIG5vdyBhZGRzIGEgY21ha2UKCSAgdmFyaWFibGUgb2YgaXRzIG93biBuYW1lLCBzZXQgdG8gT04uCVRoaXMgYWxsb3dzIGNvbnN0cnVjdHMgaW4KCSAgQ01ha2VMaXN0cy50eHQgZmlsZXMgbGlrZTogSUYoRk9PX0NPTU1BTkQpICAgRk9PX0NPTU1BTkQoKQoJICBFTkRJRihGT09fQ09NTUFORCkgVGhpcyBwcm92aWRlcyB0aGUgb3B0aW9uIHRvIGFkZCBDTWFrZSBjb21tYW5kcwoJICBmb3IgZXh0cmEgZnVuY3Rpb25hbGl0eSB3aXRob3V0IGJyZWFraW5nIGNvbXBhdGFiaWxpdHkgd2l0aAoJICBlYXJsaWVyIHZlcnNpb25zIG9mIENNYWtlLgoKMjAwMS0xMi0xNyAxMTozMCAgaG9mZm1hbgoKCSogVGVtcGxhdGVzLzogQ01ha2VOTWFrZVdpbmRvd3NTeXN0ZW1Db25maWcuY21ha2UsCgkgIERMTEhlYWRlci5kc3B0ZW1wbGF0ZTogcmVtb3ZlIHN0YWNrIHN0dWZmCgoyMDAxLTEyLTE3IDExOjI4ICBob2ZmbWFuCgoJKiBUZW1wbGF0ZXMvQ01ha2VXaW5kb3dzU3lzdGVtQ29uZmlnLmNtYWtlOiB1c2UgYSBiZXR0ZXIgY29tcGlsZXIKCSAgbmFtZQoKMjAwMS0xMi0xNyAxMToxNSAgaG9mZm1hbgoKCSogU291cmNlL2NtRFNQV3JpdGVyLmN4eDogRU5IOiBhbGxvdyBjdXN0b20gY29tbWFuZHMgZm9yIGZpbGVzIHRoYXQKCSAgbXNkZXYga25vd3MgYWJvdXQKCjIwMDEtMTItMTYgMTg6NTIgIGJhcnJlCgoJKiBTb3VyY2UvY21WVEtXcmFwUHl0aG9uQ29tbWFuZC5jeHg6IFdyYXAgYWJzdHJhY3QgY2xhc3MgdG9vLCBhcwoJICBwZXIgRGF2aWQgR29iYmkncyByZXF1ZXN0IChmb3IgdGhlIHNha2Ugb2YgdGhlIGludGVybmFsCgkgIGRvY3VtZW50YXRpb24gZmVhdHVyZXMgb2YgcHl0aG9uIikuCgoyMDAxLTEyLTE0IDIyOjQxICBob2ZmbWFuCgoJKiBTb3VyY2UvY21CdWlsZENvbW1hbmQuY3h4OiB1c2UgLWkgbm90IC1rIGZvciBtYWtlCgoyMDAxLTEyLTEzIDEzOjI4ICBiZXJrCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nLzogY21DdXJzZXNCb29sV2lkZ2V0LmN4eCwKCSAgY21DdXJzZXNCb29sV2lkZ2V0LmgsIGNtQ3Vyc2VzRHVtbXlXaWRnZXQuY3h4LAoJICBjbUN1cnNlc0R1bW15V2lkZ2V0LmgsIGNtQ3Vyc2VzRm9ybS5oLCBjbUN1cnNlc0xhYmVsV2lkZ2V0LmN4eCwKCSAgY21DdXJzZXNMYWJlbFdpZGdldC5oLCBjbUN1cnNlc0xvbmdNZXNzYWdlRm9ybS5jeHgsCgkgIGNtQ3Vyc2VzTWFpbkZvcm0uY3h4LCBjbUN1cnNlc01haW5Gb3JtLmgsCgkgIGNtQ3Vyc2VzU3RyaW5nV2lkZ2V0LmN4eCwgY21DdXJzZXNTdHJpbmdXaWRnZXQuaCwKCSAgY21DdXJzZXNXaWRnZXQuY3h4LCBjbUN1cnNlc1dpZGdldC5oOiBVcGRhdGVkIHRvb2xiYXIuCgoyMDAxLTEyLTEyIDE4OjI3ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogYWxsb3cgbG9jYWwgY2hhbmdlcwoKMjAwMS0xMi0xMiAxMzo1NyAgYmVyawoKCSogTW9kdWxlcy9GaW5kTVBJLmNtYWtlOiBBZGRlZCBkb2MuCgoyMDAxLTEyLTEyIDEyOjA1ICBraW5nCgoJKiBNb2R1bGVzL0ZpbmRDdXJzZXMuY21ha2U6IEVOSDogQWRkZWQgL2xpYiB0byBjdXJzZXMgc2VhcmNoIHBhdGguCgoyMDAxLTEyLTEyIDExOjUxICBiZXJrCgoJKiBNb2R1bGVzL0ZpbmRNUEkuY21ha2U6IEFkZGVkIHN1cHBvcnQgZm9yIGEgMm5kIG1waSBsaWJyYXJ5CgkgICh1c3VhbGx5IG1waSsrKQoKMjAwMS0xMi0xMSAxNTo1OSAga2luZwoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBjbWFrZS5kZXBlbmRzIGZpbGVzIG9mCgkgIHplcm8gc2l6ZSB3ZXJlIG5vdCBiZWluZyByZS13cml0dGVuIGluIHNvbWUgY2FzZXMuICBBZGRlZCBhCgkgIGNvbW1lbnQgb3V0cHV0IHRvIHRoZSB0b3Agb2YgdGhlIGZpbGUgc28gaXQgd2lsbCBiZSByZS13cml0dGVuCgkgIGV2ZXJ5IHRpbWUuCgoyMDAxLTEyLTExIDE0OjA5ICBibGV6ZWsKCgkqIE1vZHVsZXMvRmluZFB5dGhvbkxpYnMuY21ha2U6IEVOSDogQWRkaW5nIC91c3IvKi9weXRob24xLjUgZm9yCgkgIFJlZEhhdCA3LjEvUHl0aG9uIDEuNSB1c2VycwoKMjAwMS0xMi0xMSAxMjoyOSAgaG9mZm1hbgoKCSogU291cmNlL2NtU3ViZGlyRGVwZW5kc0NvbW1hbmQuY3h4OiByZW1vdmUgd2FybmluZwoKMjAwMS0xMi0xMSAxMDo0MiAgaG9mZm1hbgoKCSogU291cmNlLzogY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBjaGVjayBmb3IgZW1wdHkgbGlicmFyeQoJICBvdXRwdXQgcGF0aAoKMjAwMS0xMi0xMSAxMDozOSAgaG9mZm1hbgoKCSogU291cmNlL2N0ZXN0LmN4eDogRU5IOiBhZGQgZmx1c2gKCjIwMDEtMTItMTEgMDI6MjEgIGliYW5legoKCSogU291cmNlLzogY21GTFRLV3JhcFVJQ29tbWFuZC5oLCBjbUZMVEtXcmFwVUlDb21tYW5kLmN4eDogRklYOiBUaGUKCSAgY29tbWFuZCB3YXMgbW9kaWZpZWQgaXQgdXNlcyBub3cgYSB0YXJnZXQgYW5kIGEgc291cmNlIGxpc3QKCSAgY29tcG9zZWQgb2YgLmZsIGZpbGVzLiBUaGUgbmFtZXMgb2YgdGhlIGdlbmVyYXRlZCAuY3h4IGZpbGVzIGFyZQoJICBhZGRlZCBpbnRlcm5hbGx5IHRvIHRoZSBTb3VyY2VzIGxpc3Qgb2YgdGhlIHRhcmdldC4KCjIwMDEtMTItMTEgMDI6MTcgIGliYW5legoKCSogU291cmNlLzogY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbVRhcmdldC5oOiBGSVg6CgkgIEdFTkVSQVRFRF9DT0RFIHR5cGUgaXMgbm8gbG9uZ2VyIG5lZWRlZDogZ2VuZXJhdGVkIGNvZGUgaXMgbm90IGEKCSAgVGFyZ2V0LgoKMjAwMS0xMi0xMCAxMjoxMCAga2luZwoKCSogTW9kdWxlcy9GaW5kVGNsc2guY21ha2U6IEVOSDogQWRkZWQgbW9yZSBmaWxlbmFtZXMgZm9yIHRjbHNoCgkgIHByb2dyYW0uICBBbHNvIG5vdyBvbmx5IGxvb2tzIGZvciBjeWd0Y2xzaDgwIGlmIHVuZGVyIGN5Z3dpbi4KCjIwMDEtMTItMTAgMTI6MDQgIGtpbmcKCgkqIE1vZHVsZXMvRmluZFRjbHNoLmNtYWtlOiBFTkg6IEFkZGVkIG1vcmUgZmlsZW5hbWVzIGZvciB0Y2xzaAoJICBwcm9ncmFtLiAgQWxzbyBub3cgb25seSBsb29rcyBmb3IgY3lndGNsc2g4MCBpZiB1bmRlciBjeWd3aW4uCgoyMDAxLTEyLTEwIDEyOjAyICBwZXJlcmEKCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogTElCUkFSWV9PVVRQQVRIX1BBVEggbWF5CgkgIGJlICJzZXQiIHRvIHRoZSBudWxsIHN0cmluZywgaW4gd2hpY2ggY2FzZSBpdCBzaG91bGQgYmUgaWdub3JlZC4KCjIwMDEtMTItMTAgMTE6MjcgIGtpbmcKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsCgkgIGNtU3ViZGlyRGVwZW5kc0NvbW1hbmQuY3h4LCBjbVN1YmRpckRlcGVuZHNDb21tYW5kLmgsCgkgIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBQYXJhbGxlbCBidWlsZCBzdXBwb3J0IGlzIG5vdwoJICBhdXRvbWF0aWMuICBTVUJESVJfREVQRU5EUyBjb21tYW5kIG5vdyBkb2VzIG5vdGhpbmcuCUFsc28gZml4ZWQKCSAgYSBidWcgaW4gQ01ha2VMaXN0cy50eHQgZmlsZSBpbmhlcml0YW5jZSB3aGVuIGEgZGlyZWN0b3J5IGxldmVsCgkgIGlzIHNraXBwZWQuCgoyMDAxLTEyLTEwIDExOjAzICBraW5nCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oLAoJICBjbVN1YmRpckRlcGVuZHNDb21tYW5kLmN4eCwgY21TdWJkaXJEZXBlbmRzQ29tbWFuZC5oLAoJICBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogU1VCRElSX0RFUEVORFMgY29tbWFuZCBub3cgZG9lcwoJICBub3RoaW5nLiAgVGhlIHBhcmFsbGVsIGJ1aWxkIGZ1bmN0aW9uYWxpdHkgaXMgbm93IGF1dG9tYXRpYy4KCSAgRGVwZW5kZW5jaWVzIGFyZSBzZXR1cCB0byBmb3JjZSB0aGUgc2FtZSBidWlsZCBvcmRlciBhcyBhIHNpbmdsZQoJICB0aHJlYWRlZCBidWlsZCwgYnV0IG11bHRpcGxlIGZpbGVzIGluIHRoZSBzYW1lIGRpcmVjdG9yeSBjYW4gYmUKCSAgYnVpbHQgc2ltdWx0YW5lb3VzbHkuICBBbHNvIGZpeGVkIGJ1ZyB3aXRoIGluaGVyaXRpbmcKCSAgQ01ha2VMaXN0cy50eHQgZmlsZXMgd2hlbiBhIGRpcmVjdG9yeSBsZXZlbCBpcyBza2lwcGVkLgoKMjAwMS0xMi0wOCAyMToxNyAgaG9mZm1hbgoKCSogU291cmNlLzogY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5oOgoJICBtZXJnZSBidWcgZml4ZXMgdG8gcmVsZWFzZQoKMjAwMS0xMi0wOCAyMToxNiAgaG9mZm1hbgoKCSogU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmN4eDogbWVyZ2UgYnVnIGZpeGVzIHRvIHJlbGVhc2UsIG1pc3Rha2VuCgkgIGNvbW1lbnQgaW4gY2FjaGUKCjIwMDEtMTItMDggMjE6MTAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogaWYgTElCUkFSWV9PVVRQVVRfUEFUSAoJICBpcyBzZXQsIHRoZW4gdXNlIHRoZSBmdWxscGF0aCBmb3IgYSByZW1vdGUgdGFyZ2V0CgoyMDAxLTEyLTA4IDIwOjQ5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuaDogV0FSOiByZW1vdmUgd2FybmluZwoKMjAwMS0xMi0wNyAxOToxMSAgaG9mZm1hbgoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBleGVjdXRhYmxlIGV4dGVuc2lvbgoJICB3cm9uZyBmb3IgY3Rlc3Qgc2VhcmNoLCBhbmQgd2FzIG5vdCBsb29raW5nIGluIERlYnVnIGFuZCBSZWxlYXNlCgoyMDAxLTEyLTA3IDE4OjI3ICBiZXJrCgoJKiBTb3VyY2UvY21DYWNoZU1hbmFnZXIuY3h4OiBJZiBhbiBlbnRyeSBzdGFydHMgd2l0aCAvLyAobmV0d29yawoJICBwYXRocyksIGRvdWJsZSBxdW90ZSBpdC4KCjIwMDEtMTItMDcgMTg6MTUgIHBlcmVyYQoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiB0aGUgcnVsZSBmb3IgZ2VuZXJhdGluZwoJICBhIGxpYnJhcnkgbm8gbG9uZ2VyIGhhcyB0aGUgZnVsbCBwYXRoLCBhbmQgc28gdGhlIGRlcGVuZGVuY3kKCSAgdGFyZ2V0cyBzaG91bGRuJ3QsIGVpdGhlci4KCjIwMDEtMTItMDcgMTg6MTIgIGJlcmsKCgkqIFNvdXJjZS9jbUNhY2hlTWFuYWdlci5jeHg6IENvbW1lbnRzIHN0YXJ0IHdpdGggVFdPIGxlYWRpbmcKCSAgc2xhc2hlcyBub3QgX29uZV8KCjIwMDEtMTItMDcgMTY6MDYgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmg6IHZlcnNpb24gcmV2CgoyMDAxLTEyLTA3IDE2OjAxICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5oOiByZWxlYXNlIDEwCgoyMDAxLTEyLTA3IDE1OjQ3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21DYWNoZU1hbmFnZXIuY3h4LCBTb3VyY2UvY21NYXJrQXNBZHZhbmNlZENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21NYXJrQXNBZHZhbmNlZENvbW1hbmQuaCwKCSAgVGVtcGxhdGVzL0NNYWtlQm9ybGFuZFdpbmRvd3NTeXN0ZW1Db25maWcuY21ha2U6IEVOSDogYWRkIG1hcmsgYXMKCSAgbm90IGFkdmFuY2VkIHRvIG1hcmsgYXMgYWR2YW5jZWQKCjIwMDEtMTItMDcgMTQ6NTcgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy50eHQ6IHlldCBhbm90aGVyIHJlbGVhc2UKCjIwMDEtMTItMDcgMTQ6MzEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbWFrZXRlc3QuY3h4OiBFTkg6IGNvbnZlcnQgdG8gd2luZG93cyBwYXRocwoKMjAwMS0xMi0wNyAxMzoxMCAgaG9mZm1hbgoKCSogU291cmNlL2NtYWtldGVzdC5jeHg6IEVOSDogdXNlIHdpbmRvd3MgcGF0aHMgdG8gcnVuIGNvbW1hbmRzIGFuZAoJICBlc2NhcGUgc3BhY2VzCgoyMDAxLTEyLTA3IDEwOjU4ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHgsIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuaDogRU5IOiBhZGQgY3VzdG9tIGNvbW1hbmRzIGZvciB0YXJnZXRzCgoyMDAxLTEyLTA3IDEwOjMyICBiYXJyZQoKCSogVGVtcGxhdGVzL0NNYWtlQm9ybGFuZFdpbmRvd3NTeXN0ZW1Db25maWcuY21ha2U6IFJlbW92ZSAidW51c2VkCgkgIHZhciIgd2FybmluZyBmcm9tIENfRkxBR1MKCjIwMDEtMTItMDYgMjA6MDQgIGJhcnJlCgoJKiBTb3VyY2UvY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRG8gbm90IG91dHB1dCBsaWJyYXJ5IHNlYXJjaAoJICBwYXRoIGlmIHRoZSBsaWJyYXJ5IHBhdGggb3B0aW9uL2ZsYWcgaXMgZW1wdHkgKyBhZGQKCSAgQ01BS0VfTElOS0VSX0hJREVfUEFSQU1FVEVSUyBzaW5jZSBzb21lIGxpbmtlcnMganVzdCBkbyBub3QKCSAgc3VwcG9ydCB0aGUgQDw8IHN5bnRheAoKMjAwMS0xMi0wNiAyMDowMiAgYmFycmUKCgkqIFRlbXBsYXRlcy9DTWFrZU5NYWtlV2luZG93c1N5c3RlbUNvbmZpZy5jbWFrZTogQWRkCgkgIENNQUtFX0xJTktFUl9ISURFX1BBUkFNRVRFUlMgc2luY2Ugc29tZSBsaW5rZXJzIGp1c3QgZG8gbm90CgkgIHN1cHBvcnQgdGhlIEA8PCBzeW50YXgKCjIwMDEtMTItMDYgMTc6NDAgIGFuZHkKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvY21DdXJzZXNNYWluRm9ybS5jeHg6IEZpeCBidWcgd2l0aCBzdHJpbmcKCjIwMDEtMTItMDYgMTc6MDkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbWFrZXdpemFyZC5jeHg6IEVOSDogY2FsbCBjb252ZXJ0IHRvIHVuaXggc2xhc2hlcyBmb3IKCSAgcGF0aCBhbmQgZmlsZXBhdGggZW50cmllcwoKMjAwMS0xMi0wNiAxNzowNyAgYmVyawoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9jbUN1cnNlc01haW5Gb3JtLmN4eDogQWRkZWQgc3VwcG9ydCBmb3Igfi4KCjIwMDEtMTItMDYgMTY6NTAgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogaGFuZGxlIHRpbGRhcwoKMjAwMS0xMi0wNiAxMzozMiAgYmFycmUKCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IExpYiBwYXRoIHNob3VsZCBiZSBjb252ZXJ0ZWQKCSAgdG8gbmF0aXZlIHBhdGggdG9vLgoKMjAwMS0xMi0wNiAxMzozMSAgYmFycmUKCgkqIFNvdXJjZS86IGNtQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Cb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuaCwgY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmg6IEZpeCB0aGUgY29tbWFuZCBxdW90aW5nIHBiIChyZW1vdmUKCSAgbV9RdW90ZU5leHRDb21tYW5kKSwgbW92ZSBDb252ZXJ0VG9OYXRpdmVQYXRoIHRvIE5NYWtlIGdlbgoKMjAwMS0xMi0wNiAxMTo1MiAgbWFydGluawoKCSogTW9kdWxlcy9EYXJ0LmNtYWtlOiBiZXR0ZXIgdXNlIG9mIG1vZHVsZXMKCjIwMDEtMTItMDYgMTE6NTIgIG1hcnRpbmsKCgkqIE1vZHVsZXMvRmluZERhcnQuY21ha2U6IGJldHRlciBkb2NzCgoyMDAxLTEyLTA2IDExOjUyICBtYXJ0aW5rCgoJKiBNb2R1bGVzL0ZpbmRUQ0wuY21ha2U6IG5vdyBicm9rZW4gaW50byBwaWVjZXMKCjIwMDEtMTItMDYgMTE6NTEgIG1hcnRpbmsKCgkqIE1vZHVsZXMvOiBGaW5kVGNsc2guY21ha2UsIEZpbmRXaXNoLmNtYWtlOiBuZXcgbW9kdWxlcwoKMjAwMS0xMi0wNiAxMTo0OSAgbWFydGluawoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9jY21ha2UuY3h4OiBDbGVhbmluZyBsYXN0IGxpbmUgYXQgZXhpdC4KCjIwMDEtMTItMDYgMTA6MjQgIG1hcnRpbmsKCgkqIFRlbXBsYXRlcy9DTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbjogbWFkZSBpbnN0YWxsIHByZWZpeCBub24KCSAgYWR2YW5jZWQKCjIwMDEtMTItMDUgMTU6MzYgIHBlcmVyYQoKCSogTW9kdWxlcy9GaW5kVENMLmNtYWtlOiBFTkg6IGFkZCBtb3JlIHBvc3NpYmxlIG5hbWVzIGZvcgoJICBleGVjdXRhYmxlcy4KCjIwMDEtMTItMDUgMTU6MjggIGJhcnJlCgoJKiBTb3VyY2UvOiBjbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbUNhY2hlTWFuYWdlci5jeHg6IEFkZAoJICBzaW5nbGUgcXVvdGVzIGZlYXR1cmUuCgoyMDAxLTEyLTA1IDE1OjAwICBiYXJyZQoKCSogVGVtcGxhdGVzL0NNYWtlTk1ha2VXaW5kb3dzU3lzdGVtQ29uZmlnLmNtYWtlOiBBZGQgc2luZ2xlIHF1b3RlcwoJICBmZWF0dXJlLgoKMjAwMS0xMi0wNSAxMjowNyAgbWFydGluawoKCSogU291cmNlL2NtTWFrZWZpbGUuaDogdXAgdmVyc2lvbgoKMjAwMS0xMi0wNSAxMTo1OSAgbWFydGluawoKCSogU291cmNlL2NtTWFrZWZpbGUuaDogdXAgdmVyc2lvbgoKMjAwMS0xMi0wNSAxMTozOCAgaG9mZm1hbgoKCSogQ2hhbmdlTG9nLnR4dDogbmV3IHZlcnNpb24KCjIwMDEtMTItMDUgMTE6MzcgIHdpbGwKCgkqIENNYWtlLnBkZjogdXBkYXRlZCBmcm9tIHJ0ZgoKMjAwMS0xMi0wNSAxMTozMiAgaG9mZm1hbgoKCSogQ01ha2UucnRmOiBFTkg6IHVwZGF0ZSBjdnMgcGF0aAoKMjAwMS0xMi0wNCAxODo0OSAgc3RhcnJldmVsZAoKCSogVGVtcGxhdGVzLzogY29uZmlndXJlLCBjb25maWd1cmUuaW46CgoJICBBZGQgdGhlIGZsYXRfbmFtZXNwYWNlIGFuZCB1bmRlZmluZWQgc3VwcHJlc3MgZmxhZ3MgdG8gT1NYIGJ1aWxkcwoKMjAwMS0xMi0wNCAxNzoyOCAgaG9mZm1hbgoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IHJlbW92ZSAvdG1wX21udCBmcm9tIGFsbCBwYXRocyBpbgoJICBjb252ZXJ0IHRvIHVuaXggc2xhc2hlcwoKMjAwMS0xMi0wNCAxNjoxOSAgYmVyawoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9jbUN1cnNlc01haW5Gb3JtLmN4eDogRml4ZWQgb3V0ZGF0ZWQgY29tbWVudAoKMjAwMS0xMi0wNCAxNTo1NSAgaG9mZm1hbgoKCSogVGVtcGxhdGVzL0NNYWtlQm9ybGFuZFdpbmRvd3NTeXN0ZW1Db25maWcuY21ha2U6IGFkZCB0V00gdG8gYwoJICBmbGFncyBhcyB3ZWxsIGFzIENYWCBmbGFncwoKMjAwMS0xMi0wNCAxNTo1MyAgYmVyawoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9jbUN1cnNlc01haW5Gb3JtLmN4eDogRml4ZWQgb3ZlcmZsb3cgcHJvYmxlbS4KCjIwMDEtMTItMDQgMTU6MTYgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy9DTWFrZUJvcmxhbmRXaW5kb3dzU3lzdGVtQ29uZmlnLmNtYWtlOiBFTkg6IGFkZCAtdFdNIHRvCgkgIGRlZmF1bHQgZmxhZ3MgZm9yIGNvbXBpbGF0aW9uCgoyMDAxLTEyLTA0IDEyOjAzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBjcmF6eSBmaXggZm9yIHB1dGVudiwgYW5kCgkgIG5hdGl2ZSBwYXRoIGNhbGxlZCBvbiBjdXN0b20gY29tbWFuZCBwYXRocwoKMjAwMS0xMi0wNCAxMToyMCAgYmVyawoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9jbUN1cnNlc1N0YW5kYXJkSW5jbHVkZXMuaDogcmVwbGFjaW5nIGNsZWFyKCkKCjIwMDEtMTItMDQgMTE6MTYgIGJlcmsKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvOiBjY21ha2UuY3h4LCBjbUN1cnNlc0Zvcm0uY3h4LAoJICBjbUN1cnNlc0Zvcm0uaCwgY21DdXJzZXNMb25nTWVzc2FnZUZvcm0uY3h4LAoJICBjbUN1cnNlc01haW5Gb3JtLmN4eCwgY21DdXJzZXNTdHJpbmdXaWRnZXQuY3h4OiBBZGRlZCBkZWJ1Z2dpbmcuCgoyMDAxLTEyLTA0IDEwOjU1ICBiYXJyZQoKCSogTW9kdWxlcy86IERvY3VtZW50YXRpb24uY21ha2UsIEZpbmRDeWd3aW4uY21ha2UsCgkgIEZpbmREb3h5Z2VuLmNtYWtlLCBGaW5kSGhjLmNtYWtlLCBGaW5kUGVybC5jbWFrZSwKCSAgRmluZFNlbGZQYWNrZXJzLmNtYWtlLCBGaW5kVW5peENvbW1hbmRzLmNtYWtlLCBGaW5kV2dldC5jbWFrZToKCSAgUmVtb3ZlIHVubmVlZGVkIHRlc3QgYW5kIGNvZGUgZHVwbGljYXRpb24uIEFkZCBXSU4zMiB0ZXN0LiBNYWtlCgkgIGFsbCBBRFZBTkNFRC4KCjIwMDEtMTItMDQgMTA6NTQgIGJhcnJlCgoJKiBNb2R1bGVzL0RhcnQuY21ha2U6IFJlbW92ZSBjb2RlIGR1cGxpY2F0aW9uLiBDYWxsIEZpbmRUY2wuY21ha2UsCgkgIHdoaWNoIGFsc28gZG9lcyB0aGUgQURWQU5DRUQgc3R1ZmYuCgoyMDAxLTEyLTA0IDEwOjUzICBiYXJyZQoKCSogTW9kdWxlcy9GaW5kVENMLmNtYWtlOiBNYWtlIHNoZWxscyBhbHNvIEFEVkFOQ0VECgoyMDAxLTEyLTA0IDEwOjI3ICBiYXJyZQoKCSogTW9kdWxlcy9GaW5kUHl0aG9uTGlicy5jbWFrZTogTWFrZSB2YXJzIEFEVkFOQ0VEIGZvciBXSU4zMiAoc2FtZQoJICBhcyBUY2wpCgoyMDAxLTEyLTA0IDEwOjExICBob2ZmbWFuCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2Zvcm0vZnJtX2RyaXZlci5jOiBubyBjKysgY29tbWVudHMgaW4gYyBjb2RlLAoJICBkdWhoaGgKCjIwMDEtMTItMDMgMTk6NTggIGhvZmZtYW4KCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvZm9ybS9mcm1fZHJpdmVyLmM6IEVOSDogQUlYIHNlZW1zIHRvIGRlZmluZQoJICBsaW5lcyBhbmQgY29sdW1ucyBhcyBtYWNyb3MsIEkgdW5kZWZlZCB0aGVtCgoyMDAxLTEyLTAzIDE4OjA0ICBob2ZmbWFuCgoJKiBUZW1wbGF0ZXMvQ01ha2VCb3JsYW5kV2luZG93c1N5c3RlbUNvbmZpZy5jbWFrZTogRU5IOiBmaXggY3Jhc2hlcwoJICBpbiBjb25zb2xlIGFwcHMKCjIwMDEtMTItMDMgMTc6NDcgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVZhcmlhYmxlUmVxdWlyZXNDb21tYW5kLmN4eDogRU5IOiBsZXQgcGVvcGxlIGtub3cgdGhlCgkgIHZhcmlhYmxlIGlzIGFkdmFuY2VkCgoyMDAxLTEyLTAzIDE3OjAxICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRPcGVuR0wuY21ha2UsIFNvdXJjZS9jbUJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFRlbXBsYXRlcy9DTWFrZUJvcmxhbmRXaW5kb3dzU3lzdGVtQ29uZmlnLmNtYWtlOiBFTkg6IGZpeAoJICBkZWJ1Z2dpbmcgd2l0aCBib3JsYW5kCgoyMDAxLTEyLTAzIDE3OjAwICBob2ZmbWFuCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IGFkZCAtQyBsb2FkIGNhY2hlIGZpbGUgb3B0aW9uCgoyMDAxLTEyLTAzIDE1OjU1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY3Rlc3QuY3h4OiBtaW5vciBmaXggZm9yIG5vdCBmb3VuZCBleGVjdXRhYmxlcwoKMjAwMS0xMi0wMyAxNTo0OCAgaG9mZm1hbgoKCSogQ01ha2UucnRmOiBbbm8gbG9nIG1lc3NhZ2VdCgoyMDAxLTEyLTAzIDE1OjExICBiZXJrCgoJKiBTb3VyY2UvOiBjbWFrZS5jeHg6IEZpeGVkIGhlbHAuCgoyMDAxLTEyLTAzIDEzOjA1ICBob2ZmbWFuCgoJKiBTb3VyY2UvTWFrZWZpbGUuYm9ybGFuZDogYWRkIHdpemFyZAoKMjAwMS0xMi0wMyAwOTozOSAgaG9mZm1hbgoKCSogQ01ha2UucnRmOiB1cGRhdGUgZG9jcyBzb21lCgoyMDAxLTEyLTAyIDE4OjIyICBpYmFuZXoKCgkqIFNvdXJjZS9jbUZMVEtXcmFwVUlDb21tYW5kLmN4eDogRU5IOiBBZGRDdXN0b21Db21tYW5kIHJlZ2lzdGVyCgkgIG5vdyBtdWx0aXBsZSBvdXRwdXRzLiBBdXhpbGlhcnkgdmFyaWFibGUgbWFuYWdlICAgICAgdGhlIG91dHB1dAoJICBkaXJlY3Rvcnkgd2hlcmUgRkxUSyBnZW5lcmF0ZWQgY29kZSBpcyBnb2luZyB0byBiZSB3cml0ZW4uCgoyMDAxLTExLTMwIDE3OjIwICBiYXJyZQoKCSogU291cmNlLzogY21CdWlsZENvbW1hbmQuY3h4LCBjbURTUFdyaXRlci5jeHgsIGNtRFNXV3JpdGVyLmN4eCwKCSAgY21JZkNvbW1hbmQuY3h4LCBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsIGNtYWtlLmN4eDogZml4CgkgIHdhcm5pbmcgZm9yIEJvcmxhbmQgYnVpbGQKCjIwMDEtMTEtMzAgMTY6NTEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbWFrZXdpemFyZC5oOiBbbm8gbG9nIG1lc3NhZ2VdCgoyMDAxLTExLTMwIDE2OjQ4ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ01ha2VMaWIuZHNwLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9NYWtlZmlsZS5ib3JsYW5kLCBTb3VyY2UvTWFrZWZpbGUuaW4sCgkgIFNvdXJjZS9jbUJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbUJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21Cb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IyLmN4eCwKCSAgU291cmNlL2NtQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yMi5oLAoJICBTb3VyY2UvY21Gb3JFYWNoQ29tbWFuZC5jeHgsIFNvdXJjZS9jbWFrZS5jeHgsCgkgIFNvdXJjZS9jbWFrZW1haW4uY3h4LCBTb3VyY2UvY21ha2V3aXphcmQuY3h4LAoJICBUZW1wbGF0ZXMvQ01ha2VCb3JsYW5kV2luZG93c1N5c3RlbUNvbmZpZy5jbWFrZSwKCSAgVGVtcGxhdGVzL0NNYWtlV2luZG93c0JvcmxhbmRDb25maWcuY21ha2UsCgkgIFRlbXBsYXRlcy9DTWFrZVdpbmRvd3NCb3JsYW5kQ29uZmlnMi5jbWFrZTogbmV3IGJvcmxhbmQgZ2VuZXJhdG9yCgkgIG1vdmVkIGludG8gcGxhY2UKCjIwMDEtMTEtMzAgMTY6MjcgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmNwcCwKCSAgY21Cb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuaDogUmVwbGFjZSB3aXRoIG5tYWtlIHN1YmNsYXNzZWQKCSAgZ2VuZXJhdG9yCgoyMDAxLTExLTMwIDE2OjA1ICBiYXJyZQoKCSogU291cmNlLzogY21Cb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IyLmN4eCwKCSAgY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBBZGQKCSAgb3B0aW9ucyBmb3IgbGlicmFyeSBtYW5hZ2VyIChsaWIpLgoKMjAwMS0xMS0zMCAxNjowNCAgYmFycmUKCgkqIFRlbXBsYXRlcy9DTWFrZU5NYWtlV2luZG93c1N5c3RlbUNvbmZpZy5jbWFrZTogQWRkIG9wdGlvbnMgZm9yCgkgIGxpYnJhcnkgbWFuYWdlciAobGliKS4gQWxwaGEgc29ydAoKMjAwMS0xMS0zMCAxNTo1NSAgYmVyawoKCSogTW9kdWxlcy9GaW5kVENMLmNtYWtlOiBVbml4IHVzZXJzIGFyZSBzbWFydGVyLgoKMjAwMS0xMS0zMCAxNTowNCAgYmVyawoKCSogU291cmNlL0N1cnNlc0RpYWxvZy86IGNtQ3Vyc2VzTWFpbkZvcm0uY3h4LAoJICBjbUN1cnNlc1N0cmluZ1dpZGdldC5jeHg6IEltcHJvdmluZyBpbnRlcmZhY2UuCgoyMDAxLTExLTMwIDE0OjUwICBob2ZmbWFuCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTWFpbkZvcm0uY3h4OiBwcmludCBjbWFrZSBydW5uaW5nCgkgIG1lc3NhZ2UgdG8gY2VycgoKMjAwMS0xMS0zMCAxNDozMyAgYmFycmUKCgkqIFRlbXBsYXRlcy9DTWFrZU5NYWtlV2luZG93c1N5c3RlbUNvbmZpZy5jbWFrZSwKCSAgU291cmNlL2NtTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEFkZCBsaW5rZXIgZmxhZ3MgZm9yIGVhY2gKCSAgYnVpbGQgdHlwZQoKMjAwMS0xMS0zMCAxNDoyNCAgYmVyawoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9jbUN1cnNlc01haW5Gb3JtLmN4eDogQmV0dGVyIGRvY3VtZW50YXRpb24uCgoyMDAxLTExLTMwIDE0OjE2ICBiZXJrCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTWFpbkZvcm0uY3h4OiBCZXR0ZXIgZG9jdW1lbnRhdGlvbi4KCjIwMDEtMTEtMzAgMTM6NTkgIGJlcmsKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvOiBjbUN1cnNlc0xvbmdNZXNzYWdlRm9ybS5jeHgsCgkgIGNtQ3Vyc2VzTWFpbkZvcm0uY3h4LCBjbUN1cnNlc1N0cmluZ1dpZGdldC5jeHg6IEltcHJvdmVkIGhlbHAuCgoyMDAxLTExLTMwIDEzOjUzICBiZXJrCgoJKiBUZW1wbGF0ZXMvQ01ha2VTeXN0ZW1Db25maWcuY21ha2UuaW46IFJlbW92ZWQgdW51c2VkIG9wdGlvbnMuCgoyMDAxLTExLTMwIDEzOjEwICBiYXJyZQoKCSogVGVtcGxhdGVzL0NNYWtlTk1ha2VXaW5kb3dzU3lzdGVtQ29uZmlnLmNtYWtlOiBDTUFLRV9BTlNJX0NGTEFHUwoJICBpcyB1c2VkIGJ5IFZUSywgc28gaXQgc2hvdWxkIGJlIHNldCBpbiB0aGUgTk1ha2UgY29uZmlnIHNvIHRoYXQKCSAgaXQgZ2V0cyBleHBhbmRlZCAoZXZlbiB0byAiIikKCjIwMDEtMTEtMzAgMTM6MDkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBmaXggbGlicmFyeSBzdWZmaXgKCjIwMDEtMTEtMzAgMTI6NDEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IHJlbW92ZSBzdWZmaXggcnVsZXMKCjIwMDEtMTEtMzAgMTI6MDUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IGFkZCBuZXcgc3VmZml4IHJ1bGVzCgoyMDAxLTExLTMwIDExOjM0ICBiZXJrCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nLzogY2NtYWtlLmN4eCwgY21DdXJzZXNMb25nTWVzc2FnZUZvcm0uY3h4LAoJICBjbUN1cnNlc01haW5Gb3JtLmN4eCwgY21DdXJzZXNTdGFuZGFyZEluY2x1ZGVzLmg6IENhbiBub24gdXNlCgkgIGNsZWFyIGJlY2F1c2UgaXQgaXMgdW5kZWYnZWQuCgoyMDAxLTExLTMwIDEwOjU4ICBiZXJrCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NjbWFrZS5jeHg6IEZpeGVkIHdhcm5pbmcuCgoyMDAxLTExLTMwIDEwOjU0ICBiZXJrCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nLzogY2NtYWtlLmN4eCwgY21DdXJzZXNNYWluRm9ybS5jeHg6IEZpeGVkCgkgIHdhcm5pbmcuCgoyMDAxLTExLTMwIDEwOjUxICBiZXJrCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nLzogY21DdXJzZXNNYWluRm9ybS5oLCBjbUN1cnNlc01haW5Gb3JtLmN4eDoKCSAgU2luY2UgaXQgaXMgYmVpbmcgdXNlZCBhcyBhbiBhcnJheSBzaXplIGluIGFub3RoZXIgZmlsZSwgaXQgaXMKCSAgbm90IHBvc3NpYmxlIHRvIGluaXRpYWxpemUgTUFYX1dJRFRIIGluIGEgLmN4eCBmaWxlLgoKMjAwMS0xMS0zMCAxMDo0MSAgaG9mZm1hbgoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogZml4IHdhcm5pbmcKCjIwMDEtMTEtMzAgMTA6MzkgIGJlcmsKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvOiBjbUN1cnNlc0xvbmdNZXNzYWdlRm9ybS5jeHgsCgkgIGNtQ3Vyc2VzTG9uZ01lc3NhZ2VGb3JtLmg6IE1pc3NlZCBzdGQ6OgoKMjAwMS0xMS0zMCAxMDoyOCAgYmVyawoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9jbUN1cnNlc01haW5Gb3JtLmg6IE1pc3NlZCBzdGQ6OgoKMjAwMS0xMS0zMCAxMDoyNyAgYmVyawoKCSogVGVtcGxhdGVzL0NNYWtlU3lzdGVtQ29uZmlnLmNtYWtlLmluOiBDTUFLRV9XT1JEU19CSUdFTkRJQU4KCSAgc2hvdWxkIG5vdCBiZSBpbiB0aGUgY2FjaGUuCgoyMDAxLTExLTMwIDEwOjIzICBiZXJrCgoJKiBNb2R1bGVzL0ZpbmRQeXRob25MaWJzLmNtYWtlOiBQWVRIT05fREVCVUdfTElCUkFSWSBpcyBvbmx5IHVzZWQKCSAgb24gV2luZG93cy4KCjIwMDEtMTEtMzAgMDk6MTkgIGJhcnJlCgoJKiBUZW1wbGF0ZXMvQ01ha2VTeXN0ZW1Db25maWcuY21ha2UuaW46IGZpeDogSWYgZG9jdW1lbnRhdGlvbgoJICBhZGRlZCwgdGhlbiBuZWVkIGNhY2hlIHR5cGUKCjIwMDEtMTEtMjkgMjM6NDUgIGJlcmsKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvOiBjbUN1cnNlc0xvbmdNZXNzYWdlRm9ybS5jeHgsCgkgIGNtQ3Vyc2VzTG9uZ01lc3NhZ2VGb3JtLmg6IG9wcHMgSSBmb3Jnb3QgdG8gYWRkIHRoZXNlCgoyMDAxLTExLTI5IDIzOjI0ICBob2ZmbWFuCgoJKiBTb3VyY2UvTWFrZWZpbGUuYm9ybGFuZCwgU291cmNlL2NtQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yMi5jeHgsCgkgIFNvdXJjZS9jbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBUZW1wbGF0ZXMvQ01ha2VTeXN0ZW1Db25maWcuY21ha2UuaW4sCgkgIFRlbXBsYXRlcy9DTWFrZVdpbmRvd3NCb3JsYW5kQ29uZmlnMi5jbWFrZTogRU5IOiBmaXggdmFyaW91cwoJICBwcm9ibGVtcyBjYXVzZWQgYnkgdGhlIGdlbmVyYWxpemF0aW9uIG9mIG5tYWtlIGdlbmVyYXRvcgoKMjAwMS0xMS0yOSAyMDo1OSAgYmFycmUKCgkqIFNvdXJjZS9jbUJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvcjIuY3h4LAoJICBTb3VyY2UvY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmgsCgkgIFRlbXBsYXRlcy9DTWFrZU5NYWtlV2luZG93c1N5c3RlbUNvbmZpZy5jbWFrZSwKCSAgVGVtcGxhdGVzL0NNYWtlU3lzdGVtQ29uZmlnLmNtYWtlLmluLAoJICBUZW1wbGF0ZXMvQ01ha2VXaW5kb3dzQm9ybGFuZENvbmZpZzIuY21ha2UsCgkgIFRlbXBsYXRlcy9DTWFrZVdpbmRvd3NTeXN0ZW1Db25maWcuY21ha2U6IE5tYWtlIGJ1aWxkOiBtb3ZlIG1vc3QKCSAgb2YgaGFyZC1jb2RlZCB2YWx1ZXMgdG8gY29uZmlnIHBhcmFtZXRlcnMKCjIwMDEtMTEtMjkgMTY6NDQgIGJlcmsKCgkqIFNvdXJjZS86IGNtTGlzdEZpbGVDYWNoZS5jeHgsIGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmgsCgkgIGN0ZXN0LmN4eCwgQ3Vyc2VzRGlhbG9nL0NNYWtlTGlzdHMudHh0LCBDdXJzZXNEaWFsb2cvY2NtYWtlLmN4eCwKCSAgQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzQ2FjaGVFbnRyeUNvbXBvc2l0ZS5jeHgsCgkgIEN1cnNlc0RpYWxvZy9jbUN1cnNlc0NhY2hlRW50cnlDb21wb3NpdGUuaCwKCSAgQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzRm9ybS5oLCBDdXJzZXNEaWFsb2cvY21DdXJzZXNNYWluRm9ybS5jeHgsCgkgIEN1cnNlc0RpYWxvZy9jbUN1cnNlc01haW5Gb3JtLmg6IEltcHJvdmVtZW50cyB0byB0aGUgY3Vyc2VzCgkgIGludGVyZmFjZS4KCjIwMDEtMTEtMjkgMTQ6NTEgIGJhcnJlCgoJKiBTb3VyY2UvY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRml4IHNwYWNlIHBiIChlbWJlbmRlZCwgdGhlbgoJICBlc2NhcGVkKQoKMjAwMS0xMS0yOSAwOToyMiAgaG9mZm1hbgoKCSogU291cmNlL01ha2VmaWxlLmJvcmxhbmQ6IGFkZCBib290c3RyYXAgbWFrZWZpbGUgZm9yIGJvcmxhbmQKCSAgY29tcGlsZXIKCjIwMDEtMTEtMjkgMDk6MDkgIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgU291cmNlL2NtQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yMi5jeHgsCgkgIFNvdXJjZS9jbWFrZXdpemFyZC5jeHgsCgkgIFRlbXBsYXRlcy9DTWFrZVdpbmRvd3NCb3JsYW5kQ29uZmlnMi5jbWFrZTogZml4IGZvciBzaGFyZWQgbGlicwoJICBhbmQgYm9ybGFuZAoKMjAwMS0xMS0yOSAwMTo1MSAgaWJhbmV6CgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IEdFTkVSQVRFRF9DT0RFIGNhc2UKCSAgYWRkZWQgdG8gc3dpdGNoLgoKMjAwMS0xMS0yOSAwMTo0OCAgaWJhbmV6CgoJKiBTb3VyY2UvY21UYXJnZXQuaDogRU5IOiBBIHR5cGUgb2YgdGFyZ2V0IHdhcyBhZGRlZCBmb3IKCSAgcmVwcmVzZW50aW5nIEdFTkVSQVRFRF9DT0RFCgoyMDAxLTExLTI5IDAxOjQ2ICBpYmFuZXoKCgkqIFNvdXJjZS9jbUZMVEtXcmFwVUlDb21tYW5kLmN4eDogRU5IOiBDdXN0b20gY29tbWFuZHMgYXJlIG5vdwoJICBidWlsZGVkLgoKMjAwMS0xMS0yOCAxODowNyAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGliLmRzcCwgU291cmNlL2NtQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yMi5jeHgsCgkgIFNvdXJjZS9jbUJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvcjIuaCwKCSAgU291cmNlL2NtTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmgsCgkgIFRlbXBsYXRlcy9DTWFrZVdpbmRvd3NCb3JsYW5kQ29uZmlnMi5jbWFrZTogRU5IOiBib3JsYW5kCgkgIGdlbmVyYXRvciAyIGlzIHdvcmtpbmcgbW9yZSBvciBsZXNzCgoyMDAxLTExLTI4IDE0OjQ1ICBpYmFuZXoKCgkqIFNvdXJjZS9jbUZMVEtXcmFwVUlDb21tYW5kLmN4eDogRU5IOiBDb21tYW5kIHNpbXBsaWZpZWQgaW4gb3JkZXIKCSAgdG8gY29uc3RydWN0IGEgU291cmNlIGxpc3Qgb2YgLmN4eCBmcm9tICAgICAgYSBzb3VyY2UgbGlzdCBvZiAuZmwKCSAgR1VJIGZpbGVzLgoKMjAwMS0xMS0yOCAxNDo0NCAgaWJhbmV6CgoJKiBTb3VyY2UvY21GTFRLV3JhcFVJQ29tbWFuZC5oOiBFTkg6IFRoZSBjb21tYW5kIHdhcyBzaW1wbGlmaWVkIHRvCgkgIGdlbmVyYXRlIGEgc291cmNlIGxpc3Qgb2YgY3h4IGZyb20gYQkgICAgc291cmNlIGxpc3Qgb2YgLmZsIEdVSQoJICBmaWxlcy4KCjIwMDEtMTEtMjggMTI6NDkgIGJhcnJlCgoJKiBNb2R1bGVzL0ZpbmRQeXRob25MaWJzLmNtYWtlOiBGeW5kIFB5dGhvbiBkZWJ1ZyBsaWIgaW4gdXN1YWwgbGlicwoJICBkaXIgdG9vCgoyMDAxLTExLTI4IDExOjEyICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21Cb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IyLmN4eCwKCSAgY21Cb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IyLmgsIGNtTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5oLCBjbWFrZS5jeHg6IGFkZCBuZXcgYm9ybGFuZCBnZW5lcmF0b3IKCjIwMDEtMTEtMjggMTA6NTEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbWFrZXRlc3QuY3h4OiBbbm8gbG9nIG1lc3NhZ2VdCgoyMDAxLTExLTI4IDA3OjE1ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuaCwgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5oOiBidWc6IGZpeCBzYW1lIHBhdGggY29tcGFyaXNvbiB3aGVuCgkgIHNob3J0IHBhdGhzIGFyZSB1c2VkCgoyMDAxLTExLTI4IDA3OjE0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21NYXJrQXNBZHZhbmNlZENvbW1hbmQuY3h4OiBmaXggd2FybmluZwoKMjAwMS0xMS0yNyAxNzo1MyAgYmVyawoKCSogU291cmNlLzogY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmgsIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuaDogRU5IOiBubWFrZSBnZW5lcmF0b3IgbXVjaCBjbG9zZXIgdG8KCSAgd29ya2luZyB3aXRoIHNwYWNlcwoKMjAwMS0xMS0yNyAxNzozMiAgYmVyawoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBFTkg6IGV4cGFuZCB2YXJpYWJsZXMgaW4gYSBjb21tYW5kIGJlZm9yZQoJICBlc2NhcGluZyBzcGFjZXMgaW4gdGhlIGNvbW1hbmQKCjIwMDEtMTEtMjcgMTc6MzEgIGJlcmsKCgkqIFNvdXJjZS9jbU9wdGlvbkNvbW1hbmQuY3h4OiBFTkg6IGRvIG5vdCB3cml0ZSBvdmVyIGV4aXN0aW5nIGNhY2hlCgkgIHZhbHVlcyBldmVuIGRvYyBzdHJpbmdzIHRvIGF2b2lkIGNoYW5naW5nIHRoZSBjYWNoZSBmaWxlCgoyMDAxLTExLTI3IDE2OjEyICBiZXJrCgoJKiBTb3VyY2UvY21EU1BXcml0ZXIuY3h4OiByZW1vdmUgdW51c2VkIGluY2x1ZGUKCjIwMDEtMTEtMjcgMTU6MzMgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUxpbmtMaWJyYXJpZXNDb21tYW5kLmN4eDogcmVtb3ZlZCBleHRyYSBsaWIgcGF0aHMgdG8KCSAgYXZvaWQgZmluZGluZyBvbGQgbGlicwoKMjAwMS0xMS0yNyAxNTozMiAgbWFydGluawoKCSogTW9kdWxlcy9GaW5kVENMLmNtYWtlOiBtYWRlIHNvbWUgdmFycyBhZHZhbmNlZAoKMjAwMS0xMS0yNyAxNToyMCAgbWFydGluawoKCSogTW9kdWxlcy9EYXJ0LmNtYWtlOiBtYWRlIHNvbWUgdmFycyBhZHZhbmNlZAoKMjAwMS0xMS0yNyAwMDowMyAgaWJhbmV6CgoJKiBTb3VyY2UvY21Db21tYW5kcy5jeHg6IEVOSDogQ29tbWFuZCBmb3IgcnVubmluZyBGTFRLJ3MgVUkgdG9vbAoJICAiRmx1aWQiIHdhcyBhZGRlZC4KCjIwMDEtMTEtMjcgMDA6MDIgIGliYW5legoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBTdXBwb3J0IGZvciBGTFRLIEZsdWlkCgkgIHRvb2wgYWRkZWQuCgoyMDAxLTExLTI2IDIzOjU3ICBpYmFuZXoKCgkqIE1vZHVsZXMvRmluZEZMVEsuY21ha2U6IEVOSDogU3VwcG9ydCBmb3IgcnVubmluZyBGTFVJRCB3YXMgYWRkZWQuCgoyMDAxLTExLTI2IDIyOjQwICBpYmFuZXoKCgkqIFNvdXJjZS86IGNtRkxUS1dyYXBVSUNvbW1hbmQuY3h4LCBjbUZMVEtXcmFwVUlDb21tYW5kLmg6IENvbW1hbmQKCSAgZm9yIGludm9raW5nIEZMVEsncyBjb2RlIGdlbmVyYXRvciAiRmx1aWQiIGR1cmluZyB0aGUgYnVpbGRpbmcKCSAgcHJvY2VzcwoKMjAwMS0xMS0yNiAxODoyNiAgaG9mZm1hbgoKCSogTW9kdWxlcy9EYXJ0LmNtYWtlLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9jbUNhY2hlTWFuYWdlci5jeHgsIFNvdXJjZS9jbUNhY2hlTWFuYWdlci5oLAoJICBTb3VyY2UvY21Db21tYW5kcy5jeHgsIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwKCSAgU291cmNlL2NtU3lzdGVtVG9vbHMuaCwgU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtYWtld2l6YXJkLmN4eCwgVGVtcGxhdGVzL0NNYWtlU3lzdGVtQ29uZmlnLmNtYWtlLmluLAoJICBUZW1wbGF0ZXMvQ01ha2VXaW5kb3dzU3lzdGVtQ29uZmlnLmNtYWtlLAoJICBTb3VyY2UvY21NYXJrQXNBZHZhbmNlZENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21NYXJrQXNBZHZhbmNlZENvbW1hbmQuaDogRU5IOiBhZGQgYWR2YW5jZWQgdmFyaWFibGUKCSAgdHlwZXMgYW5kIGNvbW1hbmQgbGluZSB3aXphcmQgZ3VpCgoyMDAxLTExLTI2IDE4OjI0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUZpbmRGaWxlQ29tbWFuZC5jeHgsIGNtRmluZEZpbGVDb21tYW5kLmgsCgkgIGNtRmluZExpYnJhcnlDb21tYW5kLmN4eCwgY21GaW5kTGlicmFyeUNvbW1hbmQuaCwKCSAgY21GaW5kUGF0aENvbW1hbmQuY3h4LCBjbUZpbmRQYXRoQ29tbWFuZC5oLAoJICBjbUZpbmRQcm9ncmFtQ29tbWFuZC5jeHgsIGNtRmluZFByb2dyYW1Db21tYW5kLmg6IEVOSDogYWRkCgkgIHBvc3NpYmlsaXR5IHRvIGFkZCBkb2Mgc3RyaW5ncyB0byB2YXJpYmxlcyBjcmVhdGVkIGJ5IGZpbmQgdHlwZQoJICBjb21tYW5kcwoKMjAwMS0xMS0yNiAxNjozMiAgYmVyawoKCSogU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmN4eDogT29wcy4gVGhlIHdyb25nIHZlcnNpb24gb2YgdGhlCgkgIGR1cGxpY2F0ZSBjb2RlIHdhcyBrZXB0LiBMb2FkZWQgY2FjaGUgdmFsdWVzIHdlcmUgbm90IG1hZGUKCSAgaW50ZXJuYWwuCgoyMDAxLTExLTI2IDE1OjQ1ICBiZXJrCgoJKiBNb2R1bGVzL0ZpbmRUQ0wuY21ha2U6IFRLX0lOVEVSTkFMX1BBVEggaXMgb25seSBuZWVkZWQgb24KCSAgV2luZG93cy4KCjIwMDEtMTEtMjYgMTE6MzIgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmg6IHJlbW92ZWQgd2FybmluZwoJICBtZXNzYWdlcwoKMjAwMS0xMS0yNiAxMTozMSAgbWFydGluawoKCSogU291cmNlL2NtSWZDb21tYW5kLmN4eDogYmV0dGVyIGVycm9yIG1lc3NhZ2VzCgoyMDAxLTExLTI0IDE4OjQ3ICBiYXJyZQoKCSogTW9kdWxlcy9EYXJ0LmNtYWtlOiBJIHdhbnQgdG8gYmUgYWJsZSB0byBzdGFydC9lbmQKCSAgZXhwZXJpbWVudGFsLW9ubHkgZGFzaGJvYXJkcwoKMjAwMS0xMS0yMSAxNzo0NSAgaG9mZm1hbgoKCSogU291cmNlLzogY21DYWNoZU1hbmFnZXIuY3h4LCBjbURTUFdyaXRlci5jeHgsCgkgIGNtTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHgsIGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmgsCgkgIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgY21ha2UuY3h4LCBjbWFrZXRlc3QuY3h4OiBOTWFrZSB3aXRoCgkgIHNwYWNlcyBpbiBkaXJlY3RvcmllcwoKMjAwMS0xMS0yMSAxMTozNSAgYW5keQoKCSogU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmN4eDogRml4IHRoZSBjdXJyZW50IGRpcmVjdG9yeSBjaGVjayBmb3IKCSAgTk1ha2UKCjIwMDEtMTEtMjEgMDg6NDcgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEVOSDogY2xlYW4gdXAgY29tbWFuZCBsaW5lIGFyZ3VtZW50cwoKMjAwMS0xMS0yMSAwODo0NiAgaG9mZm1hbgoKCSogU291cmNlLzogY21RVFdyYXBVSUNvbW1hbmQuY3h4LCBjbVZhcmlhYmxlUmVxdWlyZXNDb21tYW5kLmN4eDoKCSAgV0FSOiBmaXggd2FybmluZwoKMjAwMS0xMS0yMCAxNzo1MCAgaG9mZm1hbgoKCSogU291cmNlLzogY21DYWNoZU1hbmFnZXIuY3h4LCBjbUNhY2hlTWFuYWdlci5oLCBjbWFrZS5jeHgsCgkgIGNtYWtlLmg6IEVOSDogYWRkIGNvbW1hbmQgbGluZSBhcmd1bWVudHMgdG8gc2V0IGNhY2hlIGVudHJpZXMKCjIwMDEtMTEtMjAgMTc6MjcgIGJlcmsKCgkqIFNvdXJjZS9jbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IGNsb3NlciB0byB3b3JraW5nIHdpdGgKCSAgc3BhY2VzIGluIHNvdXJjZSBkaXJlY3RvcnkKCjIwMDEtMTEtMjAgMTc6MjcgIGJlcmsKCgkqIFNvdXJjZS9jbWFrZXRlc3QuY3h4OiBCVUc6IGZpeCBtZW1vcnkgbGVhawoKMjAwMS0xMS0yMCAxNzoyNiAgYmVyawoKCSogU291cmNlL2NtRFNQV3JpdGVyLmN4eDogQlVHOiBmaXggZm9yIHNwYWNlcyBpbiBwYXRoIHRvCgkgIENNYWtlTGlzdC50eHQgZmlsZQoKMjAwMS0xMS0yMCAwODoyOCAgaG9mZm1hbgoKCSogU291cmNlLzogY21TdGFuZGFyZEluY2x1ZGVzLmgsIEN1cnNlc0RpYWxvZy9jbUN1cnNlc01haW5Gb3JtLmN4eCwKCSAgQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzU3RhbmRhcmRJbmNsdWRlcy5oOiBkZWZpbmUgaGFja3MgYW5kIHN1Y2gKCSAgZm9yIHRoZSBkZWMgY29tcGlsZXIKCjIwMDEtMTEtMTkgMTc6NTIgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ29tbWFuZHMuY3h4LCBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oLAoJICBjbVZhcmlhYmxlUmVxdWlyZXNDb21tYW5kLmN4eCwgY21WYXJpYWJsZVJlcXVpcmVzQ29tbWFuZC5oOiBFTkg6CgkgIGFkZCBuZXcgY29tbWFuZCBWQVJJQUJMRV9SRVFVSVJFUyBmb3IgYmV0dGVyIGRlYnVnZ2luZyBvZiBsaXN0CgkgIGZpbGVzCgoyMDAxLTExLTE5IDA5OjM0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbVZhcmlhYmxlUmVxdWlyZXNDb21tYW5kLmN4eCwKCSAgY21WYXJpYWJsZVJlcXVpcmVzQ29tbWFuZC5oOiBbbm8gbG9nIG1lc3NhZ2VdCgoyMDAxLTExLTE2IDE2OjQyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IGxvb2sgZm9yIGNtYWtlIHRlc3Qgd2l0aAoJICAuZXhlIGlmIG5tYWtlCgoyMDAxLTExLTE2IDE2OjI4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBmaXggZm9yIGRsbCBidWlsZHMKCjIwMDEtMTEtMTYgMTM6MDggIGJldHRpbmdmCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBBZGRlZCBhIG1ha2UgZGVwZW5kIGluIHRoZQoJICBjbGVhbiBydWxlIHRvIHJlZnJlc2ggdGhlIGRlcGVuZGVuY2llcwoKMjAwMS0xMS0xNiAxMDoxNCAgYmV0dGluZ2YKCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IHVuZG8gdGhlIGxhc3QgY2hhbmdlIGJlY2F1c2UKCSAgb2YgcHJvYmxlbSB3aXRoIHNvbWUgdmVyc2lvbnMgb2YgbWFrZQoKMjAwMS0xMS0xNiAwOTo0MCAgYmV0dGluZ2YKCgkqIE1vZHVsZXMvRmluZFF0LmNtYWtlOiBmaXhlZCBRVF9VSUNfRVhFIG5hbWUKCjIwMDEtMTEtMTYgMDk6MDQgIGJldHRpbmdmCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBhZGRlZCB0aGUgZGVsZXRpb24gb2YKCSAgY21ha2UuZGVwZW5kcyBpbiB0aGUgY2xlYW5pbmcgc28gdGhhdCBpdCBpcyByZWNvbXB1dGVkIGV2ZW4KCSAgc291cmNlIGZpbGVzIChpLmUuIC5jeHggb3IgLmgpIGFyZSBnZW5lcmF0ZWQKCjIwMDEtMTEtMTYgMDk6MDMgIGJldHRpbmdmCgoJKiBTb3VyY2UvY21NYWtlRGVwZW5kLmN4eDogTm93IGFkZHMgZGVwZW5kZW5jeSBpZiB0aGUgZmlsZSBkb2Vzbid0CgkgIGV4aXN0IGJ1dCB3aWxsIGJlIGNyZWF0ZWQgZHVyaW5nIHRoZSBjb21waWxhdGlvbgoKMjAwMS0xMS0xNiAwOTowMSAgYmV0dGluZ2YKCgkqIFNvdXJjZS86IGNtUVRXcmFwVUlDb21tYW5kLmN4eCwgY21RVFdyYXBVSUNvbW1hbmQuaDogY29ycmVjdGVkCgkgIHBhdGggcHJvYmxlbSBhbmQgYWRkZWQgbW9jIGNvbXBpbGF0aW9uIHRvbwoKMjAwMS0xMS0xNSAyMjoxMCAgaG9mZm1hbgoKCSogU291cmNlL01ha2VmaWxlLmluOiByZW1vdmUgZGVwZW5kIG9uIHN0YXIgZG90IGggYXMgaXQgaXMgbm90CgkgIHJlYWxseSBuZWVkZWQgYW5kIGJyZWFrcyBzb21lIHZlcnNpb25zIG9mIGdtYWtlCgoyMDAxLTExLTE1IDE4OjE4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiB1c2UgY3JhenkgdGVtcCBmaWxlcwoJICBmb3IgbG9uZyBjb21tYW5kIGxpbmVzCgoyMDAxLTExLTE1IDE3OjQ1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiByZW1vdmUgZGVidWcgcHJpbnRzCgoyMDAxLTExLTE1IDE3OjExICBob2ZmbWFuCgoJKiBNb2R1bGVzL0RhcnQuY21ha2UsIFNvdXJjZS9jbUJ1aWxkQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21OTWFrZU1ha2VmaWxlR2VuZXJhdG9yLmgsCgkgIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5oLAoJICBUZW1wbGF0ZXMvQ01ha2VOTWFrZVdpbmRvd3NTeXN0ZW1Db25maWcuY21ha2UsCgkgIFRlbXBsYXRlcy9DTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbiwKCSAgVGVtcGxhdGVzL0NNYWtlV2luZG93c0JvcmxhbmRDb25maWcuY21ha2UsCgkgIFRlbXBsYXRlcy9DTWFrZVdpbmRvd3NTeXN0ZW1Db25maWcuY21ha2U6IGNsb3NlciB0byBubWFrZQoJICB3b3JraW5nLCBhZGRlZCBDTUFLRV9NQUtFX0NPTU1BTkQgaW5zdGVhZCBvZiBNQUtFQ09NTUFORCB1c2VkIGJ5CgkgIERhcnQsIG5tYWtlIG1ha2VmaWxlcyB3b3JrIHdpdGggYm9ybGFuZCBtYWtlIGFuZCBubWFrZQoKMjAwMS0xMS0xNSAxNDo1NCAgbWlsbGVyanYKCgkqIE1vZHVsZXMvRGFydC5jbWFrZTogRU5IOiBOZXcgbWFrZSB0YXJnZXRzIGZvciBDb250aW51b3VzIGJ1aWxkcy4KCSAgQWRkZWQgYSBOaWdodGx5U3RhcnQgYW5kIE5pZ2h0bHlVcGRhdGUgdGFyZ2V0IGZvciB1bml4IGJ1aWxkcyBhcwoJICB3ZWxsLgoKMjAwMS0xMS0xNSAxNDo1MiAgbWlsbGVyanYKCgkqIERhcnRDb25maWcuY21ha2U6IEVOSDogQ2hhbmdlZCBOaWdodGx5IHN0YXJ0IHRpbWUKCjIwMDEtMTEtMTUgMDk6NTUgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5oLCBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5oLCBjbWFrZS5jeHg6CgkgIEVOSDogZml4IGxpYnJhcnkgYnVpbGRzIHdpdGggbm1ha2UKCjIwMDEtMTEtMTUgMDk6MDAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogd3Jvbmcgc2hvcnRuYW1lIHVzZWQKCjIwMDEtMTEtMTUgMDg6NDMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbWFrZXRlc3QuY3h4OiBCVUc6IGZpeCBidWlsZCBmb3IgY3lnd2luCgoyMDAxLTExLTE1IDA4OjQyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IGF2b2lkIC5jeHgubyBuYW1lcy4uLgoKMjAwMS0xMS0xNCAxODoxMiAgaG9mZm1hbgoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4LCBTb3VyY2UvY21TeXN0ZW1Ub29scy5oLAoJICBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuaCwgU291cmNlL2NtYWtlLmN4eCwKCSAgU291cmNlL2NtYWtldGVzdC5jeHgsIFNvdXJjZS9jbWFrZXRlc3QuaC5pbiwKCSAgVGVtcGxhdGVzL0NNYWtlTk1ha2VXaW5kb3dzU3lzdGVtQ29uZmlnLmNtYWtlOiBDbG9zZXIgdG8gbm1ha2UKCSAgYnVpbGQKCjIwMDEtMTEtMTQgMTg6MTEgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5oOiBjbG9zZXIgdG8gbm1ha2UgYnVpbGQKCjIwMDEtMTEtMTQgMTA6MjEgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy9DTWFrZU5NYWtlV2luZG93c1N5c3RlbUNvbmZpZy5jbWFrZSwKCSAgU291cmNlL2NtTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbU5NYWtlTWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmg6IG5tYWtlIHN1cHBvcnQKCjIwMDEtMTEtMTQgMDk6NTYgIGtpbmcKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvY2NtYWtlLmN4eDogRVJSOiBSZS1vcmRlcmVkIGluY2x1ZGVzIHRvIGZpeAoJICBtYWNybyBjb25mbGljdCBmb3IgZ2NjIDMuMC4KCjIwMDEtMTEtMTQgMDk6NTUgIGtpbmcKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvZm9ybS9mcm1fZHJpdmVyLmM6IEVSUjogRml4ZWQgY29tcGlsZXIKCSAgd2FybmluZyBmb3IgZ2NjIDMuMC4KCjIwMDEtMTEtMTQgMDk6MjIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogcmVtb3ZlIGRlYnVnIHN0YXRlbWVudHMKCjIwMDEtMTEtMTMgMTg6MjMgIGhvZmZtYW4KCgkqIFNvdXJjZS86IENNYWtlTGliLmRzcCwgQ01ha2VMaXN0cy50eHQsCgkgIGNtTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5jeHgsIGNtTk1ha2VNYWtlZmlsZUdlbmVyYXRvci5oLAoJICBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmg6IHN0YXJ0CgkgIHdvcmsgb24gbm1ha2UgZ2VuZXJhdG9yCgoyMDAxLTExLTEzIDE1OjU0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5oLCBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6CgkgIGNsZWFuIHVwIG9iamVjdCBmaWxlIGJ1aWxkIHJ1bGUsIGFuZCBkbyBub3QgYXR0ZW1wdCB0byByZW1vdmUKCSAgbGlua19kaXJlY3RvcmllcyB0aGF0IGFyZSBpbiB0aGUgYnVpbGQgdHJlZQoKMjAwMS0xMS0xMyAxNDoyMiAgbWFydGluawoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIEN1cnNlc0RpYWxvZy9DTWFrZUxpc3RzLnR4dDogZml4ZXMgdG8KCSAgY3Vyc2VzIHN0dWZmCgoyMDAxLTExLTEzIDEyOjQyICBob2ZmbWFuCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2Zvcm0vZnR5X251bS5jOiB3YXJuaW5ncwoKMjAwMS0xMS0xMyAxMjozOCAgaG9mZm1hbgoKCSogU291cmNlLzogY21DYWNoZU1hbmFnZXIuY3h4LCBjbUZvckVhY2hDb21tYW5kLmN4eCwKCSAgY21JbmNsdWRlRXh0ZXJuYWxNU1Byb2plY3RDb21tYW5kLmN4eCwgY21NYWtlZmlsZS5jeHgsCgkgIGNtU3lzdGVtVG9vbHMuY3h4LCBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogY2xlYW4gdXAKCSAgd2FybmluZ3MKCjIwMDEtMTEtMTMgMTI6MjEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUFkZERlcGVuZGVuY2llc0NvbW1hbmQuaDogRU5IOiBmaXggc3BlbGxpbmcgZXJyb3IKCjIwMDEtMTEtMTMgMTI6MjEgIGhvZmZtYW4KCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvY21DdXJzZXNNYWluRm9ybS5jeHg6IEVOSDogcmVtb3ZlIHdhcm5pbmdzCgoyMDAxLTExLTEyIDE1OjM3ICBraW5nCgoJKiBTb3VyY2UvY21NYWtlRGVwZW5kLmN4eDogRU5IOgoJICBjbU1ha2VEZXBlbmQ6OkdlbmVyYXRlRGVwZW5kSW5mb3JtYXRpb24gd2lsbCBub3cgdXNlIGhpbnRzCgkgIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgYWN0dWFsIGZpbGUgZXhpc3RzLiAgVGhpcyBjYW4gYmUgdXNlZAoJICB0byBhZGQgZGVwZW5kZW5jaWVzIHRvIC5oIGZpbGVzIHdoaWNoIGFyZSBnZW5lcmF0ZWQgYnV0IGluY2x1ZGVkCgkgIGluIGhhbmQtd3JpdHRlbiAuY3h4IGZpbGVzLiAgSWYgdGhlIC5jeHggZG9lcyBleGlzdCwgdGhvdWdoLCBpdAoJICB3aWxsIGJlIHVzZWQgZmlyc3QsIGFuZCB0aGUgaGludHMgd2lsbCBiZSB1c2VkIGFmdGVyd2FyZC4KCjIwMDEtMTEtMTIgMDk6MjEgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbURTUFdyaXRlci5jeHg6IG1pbm9yIGZpeAoKMjAwMS0xMS0xMCAyMzowMSAgaWJhbmV6CgoJKiBNb2R1bGVzL0ZpbmRYMTEuY21ha2U6ICAgICAgTW9kdWxlIHRvIHNlYXJjaCBmb3IgdGhlIGluc3RhbGxhdGlvbgoJICBvZiBYMTEKCjIwMDEtMTEtMDkgMTY6MTYgIGJlcmsKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvOiBDTWFrZUxpc3RzLnR4dCwgY2NtYWtlLmN4eCwgY2N1cnNlcy5jeHg6CgkgIFJlbmFtaW5nIGNjdXJzZXMgdG8gY2NtYWtlLgoKMjAwMS0xMS0wOSAxNjoxNSAgYmFycmUKCgkqIE1vZHVsZXMvRmluZFNlbGZQYWNrZXJzLmNtYWtlOiBTZWxmLXBhY2tlcnMKCjIwMDEtMTEtMDkgMTY6MDUgIGJlcmsKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBDdXJzZXNEaWFsb2cvQ01ha2VMaXN0cy50eHQsCgkgIEN1cnNlc0RpYWxvZy9jbUN1cnNlc1N0YW5kYXJkSW5jbHVkZXMuaCwKCSAgQ3Vyc2VzRGlhbG9nL2Zvcm0vZnJtX2RyaXZlci5jLCBDdXJzZXNEaWFsb2cvZm9ybS9mcm1fcmVxX25hbWUuYzoKCSAgVHJ5aW5nIHRvIGZpeCBjdXJzZXMuCgoyMDAxLTExLTA5IDEzOjAwICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21EU1BXcml0ZXIuY3h4LCBTb3VyY2UvY21EU1BXcml0ZXIuaCwKCSAgVGVtcGxhdGVzL0RMTEhlYWRlci5kc3B0ZW1wbGF0ZSwgVGVtcGxhdGVzL0VYRUhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVtcGxhdGVzL0VYRVdpbkhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVtcGxhdGVzL3N0YXRpY0xpYkhlYWRlci5kc3B0ZW1wbGF0ZTogc3VwcG9ydCBmb3IgY3VzdG9tIHRhcmdldHMKCSAgb24gZXhlIGFuZCBsaWIKCjIwMDEtMTEtMDkgMTI6MDggIGJldHRpbmdmCgoJKiBNb2R1bGVzL0ZpbmRRdC5jbWFrZTogc3VwcG9ydCBmb3IgY29tcGlsYXRpb24gb2YgLnVpIGZpbGVzIGludG8KCSAgLmggYW5kIC5jeHggZmlsZXMKCjIwMDEtMTEtMDkgMTI6MDcgIGJldHRpbmdmCgoJKiBTb3VyY2UvOiBjbVFUV3JhcENQUENvbW1hbmQuY3h4LCBjbVFUV3JhcENQUENvbW1hbmQuaDogY2xlYW51cHMKCjIwMDEtMTEtMDkgMTI6MDIgIGJldHRpbmdmCgoJKiBTb3VyY2UvOiBjbVFUV3JhcFVJQ29tbWFuZC5oLCBjbVFUV3JhcFVJQ29tbWFuZC5jeHgsCgkgIGNtQ29tbWFuZHMuY3h4LCBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IHN1cHBvcnQgZm9yCgkgIGNvbXBpbGF0aW9uIG9mIC51aSBmaWxlcyBpbnRvIC5oIGFuZCAuY3h4IGZpbGVzCgoyMDAxLTExLTA5IDEwOjQyICBiYXJyZQoKCSogU291cmNlL2NtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuY3h4OiBTT1VSQ0UsIENPTU1BTkQsIFRBUkdFVCBhcmUKCSAgcmVxdWlyZWQgbm93CgoyMDAxLTExLTA5IDEwOjM3ICBiYXJyZQoKCSogU291cmNlL2NtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuaDogU09VUkNFLCBDT01NQU5ELCBUQVJHRVQgYXJlCgkgIHJlcXVpcmVkIG5vdwoKMjAwMS0xMS0wOSAxMDozMyAgYmFycmUKCgkqIFNvdXJjZS86IGNtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuY3h4LAoJICBjbUFkZEN1c3RvbUNvbW1hbmRDb21tYW5kLmg6IFJlaW1wbGVtZW50IGNvZGUuIFNpbmNlIGEgY3VzdG9tCgkgIGNvbW1hbmQgaXMgdmVyeSBmbGV4aWJsZSBhbmQgbWlnaHQgYmUgZXh0ZW5kZWQgaW4gdGhlIGZ1dHVyZSwKCSAgbWFrZSBhbGwgYXJndW1lbnRzIHByZWZpeGVkIHdpdGggYXJnIHR5cGUsIG1ha2Ugb3JkZXJpbmcKCSAgaXJyZWxldmFudCBhbmQgcG90ZW50aWFsbHkgYWxsIGFyZ3Mgb3B0aW9uYWwuCgoyMDAxLTExLTA4IDE3OjMwICBiZXJrCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2Zvcm0vOiBmcm1fZHJpdmVyLmMsIGZybV9yZXFfbmFtZS5jOiBUcnlpbmcKCSAgdG8gZml4IGN1cnNlcyBwcm9ibGVtcy4KCjIwMDEtMTEtMDggMTc6MjUgIGJlcmsKCgkqIFNvdXJjZS9DdXJzZXNEaWFsb2cvZm9ybS86IGZybV9kcml2ZXIuYywgZnJtX3JlcV9uYW1lLmM6IEZpeGluZwoJICBwcm9ibGVtcyB3aXRoIGN1cnNlcyBoZWFkZXJzLgoKMjAwMS0xMS0wOCAxNzoxNyAgYmVyawoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9mb3JtLzogZnJtX2RyaXZlci5jLCBmcm1fcmVxX25hbWUuYzogVHJ5aW5nCgkgIHRvIGZpeCBjdXJzZXMgcHJvYmxlbXMuCgoyMDAxLTExLTA4IDE3OjEwICBiZXJrCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2Zvcm0vZm9ybS5oOiBPb3BzLgoKMjAwMS0xMS0wOCAxNzowMyAgYmVyawoKCSogQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9DdXJzZXNEaWFsb2cvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9DdXJzZXNEaWFsb2cvZm9ybS9DTWFrZUxpc3RzLnR4dCwKCSAgU291cmNlL0N1cnNlc0RpYWxvZy9mb3JtL2Zvcm0uaCwKCSAgU291cmNlL0N1cnNlc0RpYWxvZy9mb3JtL25jX2FsbG9jLmg6IENoYW5nZXMgdG8gcmVtb3ZlIHdhcm5pbmdzCgkgIGFuZCBmaXggZGVwZW5kZW5jaWVzLgoKMjAwMS0xMS0wOCAxNTowOSAgbWFydGluawoKCSogU291cmNlL2NtRFNXV3JpdGVyLmN4eDogYSBiZXR0ZXIgZml4IG1heWJlCgoyMDAxLTExLTA4IDE0OjQ0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21EU1dXcml0ZXIuY3h4OiBtYWtlIHN1cmUgY3VzdG9tIHRhcmdldHMgYXJlIGluIHRoZQoJICBBTExfQlVJTEQKCjIwMDEtMTEtMDggMTQ6MzQgIGJhcnJlCgoJKiBTb3VyY2UvY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5jeHg6IEZpeCBudW1iZXIgb2YgcGFyYW1zIGFuZAoJICBleHBhbmQgdmFycyBpbiBhbGwgYXJncwoKMjAwMS0xMS0wOCAxMTo1MCAgYmFycmUKCgkqIFNvdXJjZS9jbVNvdXJjZUZpbGVzQ29tbWFuZC5jeHg6IEZpeCBidWcuIFdhcyB1c2luZyB1bmV4cGFuZGVkCgkgIHZhciBpbnN0ZWFkIG9mIGNvcHkKCjIwMDEtMTEtMDggMTE6NDAgIGJhcnJlCgoJKiBTb3VyY2UvY21BZGRMaWJyYXJ5Q29tbWFuZC5jeHg6IEJyZWFrIHRoZSAidG8gaW5maW5pdHkgYW5kCgkgIGJleW9uZCIgc3R1ZmYKCjIwMDEtMTEtMDggMTA6NDggIGJhcnJlCgoJKiBTb3VyY2UvY21BZGRMaWJyYXJ5Q29tbWFuZC5jeHg6IEV4cGFuZCB2YXIgaW4gc3JjbGlzdCBuYW1lIHRvbwoKMjAwMS0xMS0wOCAxMDo0MCAgYmFycmUKCgkqIFNvdXJjZS9jbVNvdXJjZUZpbGVzQ29tbWFuZC5jeHg6IEV4cGFuZCB2YXIgaW4gbmFtZSB0b28KCjIwMDEtMTEtMDggMDk6MTYgIGJhcnJlCgoJKiBTb3VyY2UvY21BZGREZXBlbmRlbmNpZXNDb21tYW5kLmN4eDogRXhwYW5kIHZhcmlhYmxlcyBpbiBhbGwKCSAgdGFyZ2V0IGFyZ3MKCjIwMDEtMTEtMDggMDg6NDIgIGJlcmsKCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IE5lZWRlZCB0byByZXBsYWNlIHNyY2RpciB0bwoJICBtYWtlIGluc3RhbGwgdGFyZ2V0cyB3b3JrLgoKMjAwMS0xMS0wNyAxNzoxMiAgaG9mZm1hbgoKCSogVGVtcGxhdGVzLzogY29uZmlndXJlLCBjb25maWd1cmUuaW46IHB1dCBiYWNrCgkgIENNQUtFX1RFTVBMQVRFX0ZMQUdTCgoyMDAxLTExLTA3IDE3OjA0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IG5vICs9KwoKMjAwMS0xMS0wNyAxNjo0NyAgYW5keQoKCSogU291cmNlLzogY21BZGRDdXN0b21Db21tYW5kQ29tbWFuZC5jeHgsCgkgIGNtQWRkQ3VzdG9tQ29tbWFuZENvbW1hbmQuaCwgY21Db21tYW5kcy5jeHg6IEFkZGVkIGFjY2Vzc29yIGZvcgoJICBhZGQgY3VzdG9tIGNvbW1hbmQKCjIwMDEtMTEtMDcgMTY6MDcgIGJhcnJlCgoJKiBNb2R1bGVzL0ZpbmRVbml4Q29tbWFuZHMuY21ha2U6IEFkZCBjcCAoQ1ApCgoyMDAxLTExLTA3IDE1OjU3ICBob2ZmbWFuCgoJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbiwgU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgVGVtcGxhdGVzL2NvbmZpZ3VyZSwgVGVtcGxhdGVzL2NvbmZpZ3VyZS5pbjogcmVtb3ZlIHRlbXBsYXRlCgkgIGZsYWdzIGZyb20gY21ha2UsIG5vIHB0dXNlZCwgb3IgLWluc3RhbmNlPXN0YXRpYwoKMjAwMS0xMS0wNyAxNTo1NyAgaG9mZm1hbgoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9jbUN1cnNlc1N0YW5kYXJkSW5jbHVkZXMuaDogVHJ5aW5nIHRvIGZpeAoJICBjdXJzZXMgcHJvYmxlbXMgd2l0aCBzb21lIHN5c3RlbXMuCgoyMDAxLTExLTA3IDE1OjAxICBiZXJrCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzU3RhbmRhcmRJbmNsdWRlcy5oOiBUcnlpbmcgdG8gZml4CgkgIGJ1aWxkIHByb2JsZW1zIHJlbGF0ZWQgdG8gY3Vyc2VzLgoKMjAwMS0xMS0wNyAxNDo1NSAgaG9mZm1hbgoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiB1c2UgZnVsbCBzb3VyY2UgbmFtZSBmb3IKCSAgYyBjb2RlIGFzIHdlbGwgYXMgYysrCgoyMDAxLTExLTA3IDE0OjQ0ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NjdXJzZXMuY3h4OiB1c2UgY21ha2UgYXMgdGhlIGV4ZWN1dGFibGUgZm9yCgkgIGNtYWtlIGFuZCBub3QgY2N1cnNlcwoKMjAwMS0xMS0wNyAxNDo0NCAgaG9mZm1hbgoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogbWFrZSBzdXJlIGRlZmF1bHRfdGFyZ2V0IGlzCgkgIGZpcnN0CgoyMDAxLTExLTA3IDEzOjQ2ICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dDogRU5IOiBhZGQgYW5zaSBmbGFnIGZvciBjIGNvbXBpbGVyCgoyMDAxLTExLTA3IDEyOjIzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21NZXNzYWdlQ29tbWFuZC5jeHg6IEFsbG93IG11bHRpbGluZSBtZXNzYWdlcwoKMjAwMS0xMS0wNyAwOTo1NCAgaG9mZm1hbgoKCSogU291cmNlLzogY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5oOgoJICBDbGVhbiB1cCBhIGJpdCBtb3JlCgoyMDAxLTExLTA3IDA5OjI5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21DYWNoZU1hbmFnZXIuY3h4OiBPbmUgbW9yZSB0aW1lLi4uICBjYXNlIGRvZXMgbm90IG1hdHRlcgoJICBvbiBjeWd3aW4KCjIwMDEtMTEtMDYgMTY6MTQgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUV4ZWNQcm9ncmFtQ29tbWFuZC5oOiBFTkg6IGZpeCBkb2Mgc3RyaW5nCgoyMDAxLTExLTA2IDE1OjI5ICBiZXR0aW5nZgoKCSogU291cmNlLzogY21RVFdyYXBDUFBDb21tYW5kLmN4eCwgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBhZGQKCSAgY2xlYW5pbmcgb2YgUVQgZ2VuZXJhdGVkIGZpbGVzIHdoZW4gbWFrZSBjbGVhbiBpcyB1c2VkCgoyMDAxLTExLTA2IDEyOjAzICBob2ZmbWFuCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nLzogY2N1cnNlcy5jeHgsIGNtQ3Vyc2VzTWFpbkZvcm0uY3h4LAoJICBjbUN1cnNlc01haW5Gb3JtLmg6IEVOSDogdGVsbCBjbWFrZSBvYmplY3Qgd2hlcmUgY21ha2UgaXMKCjIwMDEtMTEtMDYgMDk6MzUgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ2FibGVXcmFwVGNsQ29tbWFuZC5jeHgsIGNtUVRXcmFwQ1BQQ29tbWFuZC5jeHgsCgkgIGNtVlRLV3JhcEphdmFDb21tYW5kLmN4eCwgY21WVEtXcmFwUHl0aG9uQ29tbWFuZC5jeHgsCgkgIGNtVlRLV3JhcFRjbENvbW1hbmQuY3h4OiBCVUc6IEN1c3RvbUNvbW1hbmQgaGFzIHRvIHVzZSBmdWxsIHBhdGgKCSAgdG8gU291cmNlIGZpbGUgbm93CgoyMDAxLTExLTA2IDA4OjQwICBob2ZmbWFuCgoJKiBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2Zvcm0vOiBmbGRfdHlwZS5jLCBmb3JtLmg6IFJlbW92ZWQgYSBmdW5jdGlvbgoJICB3aGljaCB1c2VkIHZhX3N0YXJ0IChkaWQgbm90IGNvbXBpbGUgb24gU3VuIHdpdGggZ2NjKQoKMjAwMS0xMS0wNSAyMjoxMCAgYmVyawoKCSogU291cmNlL0N1cnNlc0RpYWxvZy86IGNjdXJzZXMuY3h4LCBjbUN1cnNlc0Jvb2xXaWRnZXQuY3h4LAoJICBjbUN1cnNlc0xhYmVsV2lkZ2V0LmN4eCwgY21DdXJzZXNNYWluRm9ybS5jeHgsCgkgIGNtQ3Vyc2VzTWFpbkZvcm0uaCwgY21DdXJzZXNTdHJpbmdXaWRnZXQuY3h4OiBNYW55IGltcHJvdmVtZW50cy4KCjIwMDEtMTEtMDUgMTY6MzggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogdXNlIGZ1bGwgcGF0aHMgZm9yCgkgIG9iamVjdCBjb21waWxlIHJ1bGVzCgoyMDAxLTExLTA1IDE1OjU1ICBiZXJrCgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTWFpbkZvcm0uY3h4OgoJICBSZS1lbmFibGluZyBjdXJzZXMgc3VwcG9ydC4KCjIwMDEtMTEtMDUgMTU6MzkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogY2hhbmdlIHRvIHdvcmsgd2l0aAoJICBubWFrZQoKMjAwMS0xMS0wNSAxMzoyMiAgYmVyawoKCSogTW9kdWxlcy9GaW5kQ3Vyc2VzLmNtYWtlLCBTb3VyY2UvQ3Vyc2VzRGlhbG9nL0NNYWtlTGlzdHMudHh0LAoJICBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzRm9ybS5oLAoJICBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzTGFiZWxXaWRnZXQuaCwKCSAgU291cmNlL0N1cnNlc0RpYWxvZy9jbUN1cnNlc01haW5Gb3JtLmgsCgkgIFNvdXJjZS9DdXJzZXNEaWFsb2cvY21DdXJzZXNXaWRnZXQuaCwKCSAgU291cmNlL0N1cnNlc0RpYWxvZy9mb3JtL2ZybV9kcml2ZXIuYywKCSAgU291cmNlL0N1cnNlc0RpYWxvZy9mb3JtL2ZybV9yZXFfbmFtZS5jLAoJICBTb3VyY2UvQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzU3RhbmRhcmRJbmNsdWRlcy5oOiBIUFVYIHN1cHBvcnQuCgoyMDAxLTExLTA1IDEyOjU3ICBsb3JlbnNlbgoKCSogU291cmNlL2NtSW5jbHVkZUV4dGVybmFsTVNQcm9qZWN0Q29tbWFuZC5jeHg6IEVSUjogXk0ncyByZW1vdmVkLgoKMjAwMS0xMS0wNSAxMTo1MiAgYmVyawoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9mb3JtLzogQ01ha2VMaXN0cy50eHQsIFJFQUQuTUUsIGV0aS5oLAoJICBmbGRfYXJnLmMsIGZsZF9hdHRyLmMsIGZsZF9jdXJyZW50LmMsIGZsZF9kZWYuYywgZmxkX2R1cC5jLAoJICBmbGRfZnRjaG9pY2UuYywgZmxkX2Z0bGluay5jLCBmbGRfaW5mby5jLCBmbGRfanVzdC5jLCBmbGRfbGluay5jLAoJICBmbGRfbWF4LmMsIGZsZF9tb3ZlLmMsIGZsZF9uZXdmdHlwLmMsIGZsZF9vcHRzLmMsIGZsZF9wYWQuYywKCSAgZmxkX3BhZ2UuYywgZmxkX3N0YXQuYywgZmxkX3R5cGUuYywgZmxkX3VzZXIuYywgZm9ybS5oLAoJICBmb3JtLnByaXYuaCwgZnJtX2N1cnNvci5jLCBmcm1fZGF0YS5jLCBmcm1fZGVmLmMsIGZybV9kcml2ZXIuYywKCSAgZnJtX2hvb2suYywgZnJtX29wdHMuYywgZnJtX3BhZ2UuYywgZnJtX3Bvc3QuYywgZnJtX3JlcV9uYW1lLmMsCgkgIGZybV9zY2FsZS5jLCBmcm1fc3ViLmMsIGZybV91c2VyLmMsIGZybV93aW4uYywgZnR5X2FsbnVtLmMsCgkgIGZ0eV9hbHBoYS5jLCBmdHlfZW51bS5jLCBmdHlfaW50LmMsIGZ0eV9pcHY0LmMsIGZ0eV9udW0uYywKCSAgZnR5X3JlZ2V4LmMsIGxsaWItbGZvcm0sIG1mX2NvbW1vbi5oLCBuY19hbGxvYy5oOiBBZGRpbmcgZm9ybQoJICBsaWJyYXJ5LgoKMjAwMS0xMS0wNSAxMTo1MiAgYmVyawoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIEN1cnNlc0RpYWxvZy9DTWFrZUxpc3RzLnR4dCwKCSAgQ3Vyc2VzRGlhbG9nL2NtQ3Vyc2VzQ2FjaGVFbnRyeUNvbXBvc2l0ZS5oLAoJICBDdXJzZXNEaWFsb2cvY21DdXJzZXNMYWJlbFdpZGdldC5oLAoJICBDdXJzZXNEaWFsb2cvY21DdXJzZXNNYWluRm9ybS5jeHgsCgkgIEN1cnNlc0RpYWxvZy9jbUN1cnNlc01haW5Gb3JtLmgsIEN1cnNlc0RpYWxvZy9jbUN1cnNlc1dpZGdldC5oOgoJICBGaXhpbmcgcHJvYmxlbXMgb24gU3VuIChuYW1lIGNvbGx1c2lvbnMgYmV0d2VlbiBTVEwgYW5kIGN1cnNlcykKCSAgYW5kIGRpc2FibGluZyBjdXJzZXMgdGVtcG9yYXJpbHkuCgoyMDAxLTExLTA1IDEwOjQyICBhbmR5CgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEZpeCB0aGUgSUYgSUYgcHJvYmxlbQoKMjAwMS0xMS0wNSAwODozNyAgYmVyawoKCSogU291cmNlL0N1cnNlc0RpYWxvZy86IGNjdXJzZXMuY3h4LAoJICBjbUN1cnNlc0NhY2hlRW50cnlDb21wb3NpdGUuY3h4LCBjbUN1cnNlc0NhY2hlRW50cnlDb21wb3NpdGUuaCwKCSAgY21DdXJzZXNMYWJlbFdpZGdldC5oLCBjbUN1cnNlc01haW5Gb3JtLmN4eCwgY21DdXJzZXNNYWluRm9ybS5oLAoJICBjbUN1cnNlc1dpZGdldC5oOiBFUlI6IFRvIGluY2x1ZGUgY21ha2UgaGVhZGVycywgb25lIHNob3VsZCB1c2UKCSAgLi4vCgoyMDAxLTExLTA1IDA1OjQzICBwY3AKCgkqIFNvdXJjZS86IGNtRFNQV3JpdGVyLmN4eCwgY21EU1dXcml0ZXIuY3h4OiBzd2l0Y2hlZAoJICBzdHJpbmc6OmNvbXBhcmUgdG8gc3RybmNtcAoKMjAwMS0xMS0wNCAxODoxMCAgYmVyawoKCSogU291cmNlL0N1cnNlc0RpYWxvZy9jbUN1cnNlc01haW5Gb3JtLmg6IE5lZWQgdG8gaW5jbHVkZSBzdGFuZGFyZAoJICBoZWFkZXJzLgoKMjAwMS0xMS0wNCAxODowNSAgYmVyawoKCSogU291cmNlL0N1cnNlc0RpYWxvZy86IENNYWtlTGlzdHMudHh0LCBjbUN1cnNlc0Jvb2xXaWRnZXQuaCwKCSAgY21DdXJzZXNDYWNoZUVudHJ5Q29tcG9zaXRlLmgsIGNtQ3Vyc2VzRHVtbXlXaWRnZXQuaCwKCSAgY21DdXJzZXNGaWxlUGF0aFdpZGdldC5oLCBjbUN1cnNlc0Zvcm0uaCwgY21DdXJzZXNMYWJlbFdpZGdldC5oLAoJICBjbUN1cnNlc01haW5Gb3JtLmgsIGNtQ3Vyc2VzUGF0aFdpZGdldC5oLCBjbUN1cnNlc1N0cmluZ1dpZGdldC5oLAoJICBjbUN1cnNlc1dpZGdldC5oLCBjY3Vyc2VzLmN4eCwgY21DdXJzZXNCb29sV2lkZ2V0LmN4eCwKCSAgY21DdXJzZXNDYWNoZUVudHJ5Q29tcG9zaXRlLmN4eCwgY21DdXJzZXNEdW1teVdpZGdldC5jeHgsCgkgIGNtQ3Vyc2VzRmlsZVBhdGhXaWRnZXQuY3h4LCBjbUN1cnNlc0Zvcm0uY3h4LAoJICBjbUN1cnNlc0xhYmVsV2lkZ2V0LmN4eCwgY21DdXJzZXNNYWluRm9ybS5jeHgsCgkgIGNtQ3Vyc2VzUGF0aFdpZGdldC5jeHgsIGNtQ3Vyc2VzU3RyaW5nV2lkZ2V0LmN4eCwKCSAgY21DdXJzZXNXaWRnZXQuY3h4OiBBZGRpbmcgY3Vyc2VzIHN1cHBvcnQuCgoyMDAxLTExLTA0IDE4OjAwICBiZXJrCgoJKiBNb2R1bGVzL0ZpbmRDdXJzZXMuY21ha2UsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogQWRkaW5nIGN1cnNlcwoJICBzdXBwb3J0LgoKMjAwMS0xMS0wMiAyMjozMiAgYmFycmUKCgkqIFNvdXJjZS86IGNtSW5jbHVkZURpcmVjdG9yeUNvbW1hbmQuY3h4LAoJICBjbUluY2x1ZGVEaXJlY3RvcnlDb21tYW5kLmgsIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmg6IEFkZAoJICBvcHRpb25hbCBCRUZPUkUgcGFyYW0gdG8gSU5DTFVERV9ESVJFQ1RPUklFUyBzbyB0aGF0IGluY2x1ZGUgZGlycwoJICBjYW4gYmUgc3BlY2lmaWVkIGJlZm9yZSB0aGUgYWN0dWFsIGluY2x1ZGUgZGlycwoKMjAwMS0xMS0wMiAxNjo0NCAgYmFycmUKCgkqIFV0aWxpdGllcy9Eb3h5Z2VuLzogQ01ha2VMaXN0cy50eHQsIGRvY19tYWtlYWxsLnNoLmluOiBVcGRhdGUKCjIwMDEtMTEtMDIgMTY6NDMgIGJhcnJlCgoJKiBNb2R1bGVzLzogRG9jdW1lbnRhdGlvbi5jbWFrZSwgRG9jdW1lbnRhdGlvblZUSy5jbWFrZSwKCSAgRmluZEN5Z3dpbi5jbWFrZSwgRmluZFBlcmwuY21ha2UsIEZpbmRVbml4Q29tbWFuZHMuY21ha2UsCgkgIEZpbmRXZ2V0LmNtYWtlOiBNb3ZlIHVzdWFsIFVuaXggY29tbWFuZHMgdG8gRmluZFVuaXhDb21tYW5kcywgdXNlCgkgIEZpbmdDeWd3aW4gaW4gb3RoZXIgbW9kdWxlcwoKMjAwMS0xMS0wMiAxNjowNSAgYmFycmUKCgkqIFV0aWxpdGllcy86IENNYWtlTGlzdHMudHh0LCBEb3h5Z2VuL0NNYWtlTGlzdHMudHh0LAoJICBEb3h5Z2VuL2RvY19tYWtlYWxsLnNoLmluLCBEb3h5Z2VuL2RveHlmaWxlLmluOiBEb3h5Z2VuIGRvYwoJICBnZW5lcmF0b3IKCjIwMDEtMTEtMDIgMTY6MDEgIGJhcnJlCgoJKiBDTWFrZUxpc3RzLnR4dDogRG94eWdlbiBkb2MgZ2VuZXJhdG9yCgoyMDAxLTExLTAyIDE1OjI2ICBibGV6ZWsKCgkqIE1vZHVsZXMvRGFydC5jbWFrZTogRU5IOiBNb3JlIEV4cGVyaW1lbnRhbCB0YXJnZXRzIGZvciB1bml4CgoyMDAxLTExLTAyIDExOjE5ICBwY3AKCgkqIFNvdXJjZS86IGNtRFNXV3JpdGVyLmN4eCwgY21JbmNsdWRlRXh0ZXJuYWxNU1Byb2plY3RDb21tYW5kLmN4eCwKCSAgY21EU1BXcml0ZXIuY3h4OiBhbGxvdyBtb3JlIHRoYW4gb25lIGV4dGVybmFsIE1TIHByb2plY3QKCjIwMDEtMTEtMDIgMDk6MTggIGFuZHkKCgkqIFNvdXJjZS9jbUNhY2hlTWFuYWdlci5jeHg6IE9uIHdpbjMyIHBhdGggaXMgYWxsIGluIGxvd2VyIGNhc2Ugbm93CgoyMDAxLTExLTAxIDE4OjM3ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmg6CgkgIEVOSDogY2xlYW4gdXAgaW50ZXJmYWNlIGFuZCBjaGFuZ2UgYnVpbGQgaW4gY3VycmVudCBkaXJlY3RvcnkgdG8KCSAgYnVpbGQgdGhlIGRlcGVuZCBmaWxlIGZpcnN0CgoyMDAxLTExLTAxIDE4OjM2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21DYWNoZU1hbmFnZXIuY3h4OiBCVUc6IHVzZSBjb2xsYXBzZSBmdWxsIHBhdGggd2hlbgoJICB0ZXN0aW5nIGNhY2hlIGRpcmVjdG9yeQoKMjAwMS0xMS0wMSAxODozNiAgaG9mZm1hbgoKCSogU291cmNlL2NtRFNQV3JpdGVyLmN4eDogRU5IOiBJbnREaXIgdG8gSU5URElSCgoyMDAxLTExLTAxIDEzOjA5ICBiYXJyZQoKCSogU291cmNlLzogY21BZGRFeGVjdXRhYmxlQ29tbWFuZC5jeHgsIGNtQWRkTGlicmFyeUNvbW1hbmQuY3h4OgoJICBFeHBhbmQgdmFycyBpbiBleGUgYW5kIGxpYiBuYW1lCgoyMDAxLTExLTAxIDEwOjQyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21DYWNoZU1hbmFnZXIuY3h4OiBFTkg6IGNsZWFuIHVwIGRyaXZlIGxldHRlciBjaGVjawoKMjAwMS0xMC0zMSAxODo1NiAga2luZwoKCSogU291cmNlLzogY21DYWJsZUNsYXNzU2V0LmN4eCwgY21DYWJsZUNsYXNzU2V0Lmg6IEVOSDogQWRkZWQKCSAgYXV0b21hdGljIGRldGVjdGlvbiBvZiA+PiBzZXF1ZW5jZXMgaW4gdGVtcGxhdGUgbmFtZXMgYW5kCgkgIHJlcGxhY2VtZW50IHdpdGggIj4gPiIgaW4gdGhlIG91dHB1dC4KCjIwMDEtMTAtMzEgMTg6NTYgIGtpbmcKCgkqIFNvdXJjZS9jbVN0YW5kYXJkSW5jbHVkZXMuaDogRU5IOiBSZXBsYWNlZCBjbVN0ZFN0cmluZwoJICBpbXBsZW1lbnRhdGlvbiB0byBtYWtlIGl0IG1vcmUgdHJhbnNwYXJlbnRseSBhIHN0ZDpzdHJpbmcuCgoyMDAxLTEwLTMxIDA3OjAzICBwY3AKCgkqIFNvdXJjZS86IGNtQ29tbWFuZHMuY3h4LCBjbURTUFdyaXRlci5jeHgsIGNtRFNXV3JpdGVyLmN4eCwKCSAgY21EU1dXcml0ZXIuaCwgY21JbmNsdWRlRXh0ZXJuYWxNU1Byb2plY3RDb21tYW5kLmN4eCwKCSAgY21JbmNsdWRlRXh0ZXJuYWxNU1Byb2plY3RDb21tYW5kLmg6IElOQ0xVREVfRVhURVJOQUxfTVNQUk9KRUNUCgkgIGNvbW1hbmQKCjIwMDEtMTAtMzAgMTQ6MzYgIGFuZHkKCgkqIFNvdXJjZS9jbUNhY2hlTWFuYWdlci5jeHg6IEZpeCB0aGUgcHJvYmxlbSBvbiB3aW5kb3dzIG9mIGNhcGl0YWwKCSAgb3IgbG93ZXIgY2FzZSBkcml2ZSBsZXR0ZXIgZm9yIENNQUtFX0NBQ0hFRklMRV9ESVIKCjIwMDEtMTAtMzAgMTQ6MTUgIGFuZHkKCgkqIFNvdXJjZS9jbUNhY2hlTWFuYWdlci5jeHg6IENoYW5nZSBDTUFLRV9DVVJSRU5UX0NXRCB0bwoJICBDTUFLRV9DQUNIRUZJTEVfRElSIGFuZCBjaGFuZ2UgdGhlIG1lc3NhZ2VzCgoyMDAxLTEwLTMwIDE0OjA1ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmN4eCwgY21Db25maWd1cmVGaWxlQ29tbWFuZC5oLAoJICBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oOiBFTkg6IGFkZCBhbiBvcHRpb24gdG8gY29uZmlndXJlCgkgIGZpbGUgY29tbWFuZCB0aGF0IGFsbG93cyBmb3Igb25seSBleHBhbnNpb24gb2YgYXQgdmFyaWFibGVzIGFuZAoJICBub3QgZG9sbGFyIHZhcmlhYmxlcwoKMjAwMS0xMC0yOSAxMDo0MSAgaG9mZm1hbgoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IHVzZSBjYWxsYmFjayBub3QgaWZkZWYgZm9yIE1GQwoJICBtZXNzYWdlIGJveCBlcnJvcnMKCjIwMDEtMTAtMjkgMTA6MTkgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ2FjaGVNYW5hZ2VyLmN4eCwgY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaDoKCSAgRU5IOiBhZGQgY2FsbGJhY2sgZm9yIG1lc3NhZ2UgZGlzcGxheQoKMjAwMS0xMC0yNiAxODoyMSAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kSVRLLmNtYWtlOiBbbm8gbG9nIG1lc3NhZ2VdCgoyMDAxLTEwLTI2IDE3OjA2ICBiZXJrCgoJKiBUZW1wbGF0ZXMvOiBDTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbiwgY29uZmlndXJlLCBjb25maWd1cmUuaW46CgkgIGFkZGVkIENNQUtFX05PX0VYUExJQ0lUX1RFTVBMQVRFX0lOU1RBTlRJQVRJT04KCjIwMDEtMTAtMjYgMTU6NDIgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ29uZmlndXJlRmlsZUNvbW1hbmQuY3h4LCBjbU1ha2VmaWxlLmgsIGNtYWtldGVzdC5jeHg6CgkgIGFkZCBkZXBlbmRlbmN5IGZvciBjb25maWd1cmUgZmlsZXMgYW5kIHVzZSBzaG9ydCBwYXRoIGluIFdJTjMyCgkgIGNtYWtlIHRlc3QKCjIwMDEtMTAtMjYgMTQ6MzUgIGhvZmZtYW4KCgkqIE1vZHVsZXMvRmluZFZUSy5jbWFrZTogdXNlIGZpbmRfZmlsZSBhbmQgbm90IGp1c3QgYSBzZXQgZm9yCgkgIFVTRV9WVEtfRklMRQoKMjAwMS0xMC0yNiAxMToyMiAgYmFycmUKCgkqIE1vZHVsZXMvRG9jdW1lbnRhdGlvblZUSy5jbWFrZTogVlRLIGRvY3VtZW50YXRpb24gZnJhbWV3b3JrCgoyMDAxLTEwLTI2IDA5OjI5ICBhbmR5CgoJKiBTb3VyY2UvY21DYWNoZU1hbmFnZXIuY3h4OiBBZGRlZCBjaGVjayBpZiB0aGUgYmluYXJ5IGRpcmVjdG9yeQoJICBjaGFuZ2VkLiBJZiBpdCBkaWQsIGl0IHdpbGwgcHJpbnQgdGhlIHdhcm5pbmcgbWVzc2FnZQoKMjAwMS0xMC0yNCAyMDozNyAgYmFycmUKCgkqIE1vZHVsZXMvRmluZEN5Z3dpbi5jbWFrZTogQWRkIEdaSVAgKGd6aXApCgoyMDAxLTEwLTI0IDIwOjMzICBiYXJyZQoKCSogTW9kdWxlcy9GaW5kQ3lnd2luLmNtYWtlOiBBZGQgVEFSIChwYXRoIHRvIHRhciBvciBndGFyKQoKMjAwMS0xMC0yNCAxNzo1MSAgYmVyawoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBhbGxvdyAtZnJhbWV3b3JrIGFzIGEKCSAgY29tcGxldGUgZW50cnkgaW4gdGhlIGxpbmsgbGluZSBmb3IgTWFjIE9TWAoKMjAwMS0xMC0yNCAxNTo1MSAgYmVyawoKCSogRGFydENvbmZpZy5jbWFrZTogcHVibGljIG5vIGxvbmdlciBoYXMgYW5vbnltb3VzIGZ0cC4KCjIwMDEtMTAtMjQgMDk6NDEgIGtpbmcKCgkqIE1vZHVsZXMvRmluZEdDQ1hNTC5jbWFrZTogRU5IOiBJbXByb3ZlZCBGSU5EX1BST0dSQU0gY2FsbCB0byBmaW5kCgkgIHRoZSBleGVjdXRhYmxlIGluIFBSRUZJWC9zaGFyZS9HQ0NfWE1MLCB0aGUgbmV3IHN0YW5kYXJkIGluc3RhbGwKCSAgbG9jYXRpb24uCgoyMDAxLTEwLTIzIDE4OjMwICBiYXJyZQoKCSogTW9kdWxlcy9GaW5kQ3lnd2luLmNtYWtlOiBDeWd3aW4gbW9kCgoyMDAxLTEwLTIzIDE3OjQ5ICBiYXJyZQoKCSogU291cmNlLzogY21HZXRGaWxlbmFtZUNvbXBvbmVudENvbW1hbmQuY3h4LAoJICBjbUdldEZpbGVuYW1lQ29tcG9uZW50Q29tbWFuZC5oOiBUaGUgcmVzdWx0IG9mIHRoaXMgdXRpbGl0eQoJICBjb21tYW5kIGNhbiBub3cgYmUgb3B0aW9uYWxseSBhZGRlZCB0byB0aGUgY2FjaGUKCjIwMDEtMTAtMjMgMTc6NDcgIGJhcnJlCgoJKiBNb2R1bGVzL0ZpbmREb3h5Z2VuLmNtYWtlOiBGaW5kIEdyYXBoaXZ6J3MgZG90IHRvbwoKMjAwMS0xMC0yMyAxNzowNiAgYmFycmUKCgkqIE1vZHVsZXMvOiBGaW5kRG94eWdlbi5jbWFrZSwgRmluZFdnZXQuY21ha2U6IEFkZCBEb3h5Z2VuIGFuZCBXZ2V0CgkgIG1vZHVsZXMuIFZlcnkgc2ltcGxlLiBCdXQgbWlnaHQgYmUgbW9yZSBjb21wbGV4IGxhdGVyLCBzbyBsZXQncwoJICB1c2UgdGhlbSBhc2FwCgoyMDAxLTEwLTIzIDE2OjU1ICBiYXJyZQoKCSogTW9kdWxlcy86IEZpbmRIaGMuY21ha2UsIEZpbmRQZXJsLmNtYWtlOiBNb2R1bGVzIHRvIGZpbmQgUGVybCBhbmQKCSAgdGhlIEhUTUwgSGVscCBDb21waWxlcgoKMjAwMS0xMC0xOSAxMDowNyAgYmFycmUKCgkqIFNvdXJjZS9jbUVuYWJsZVRlc3RpbmdDb21tYW5kLmg6IEFkZCB3YXJuaW5nIHJlZ2FyZGluZyB0aGUKCSAgbG9jYXRpb24gb2YgRU5BQkxFX1RFU1RJTkcgKHNob3VsZCBiZSBpbiB0aGUgdG9wIENNYWtlTGlzdC50eHQsCgkgIG90aGVyd2lzZSBEYXJ0IGlzIGxvc3QpCgoyMDAxLTEwLTE4IDE4OjAxICBiYXJyZQoKCSogU291cmNlL2NtU2l0ZU5hbWVDb21tYW5kLmN4eDogU0lURV9OQU1FIHNob3VsZCByZXR1cm4gdGhlIG1vc3QKCSAgcXVhbGlmaWVkIG5hbWUgb2YgdGhlIGhvc3QuIElmIG5zbG9va3VwIHdvcmtzLCBub3cgdGhlIGRvbWFpbiBpcwoJICBhcHBlbmRlZCB0byB0aGUgaG9zdG5hbWUgKHdoZXJlYXMgaXQgKnJlcGxhY2VkKiB0aGUgaG9zdCBuYW1lCgkgIGJlZm9yZSkKCjIwMDEtMTAtMTggMTM6NTEgIGlzY290dAoKCSogU291cmNlL2NtUVRXcmFwQ1BQQ29tbWFuZC5jeHg6IERldGVjdCBlcnJvciBhbmQgb3V0cHV0IHVzZWZ1bAoJICBtZXNzYWdlIFByZXZpb3VzbHkgaXQgd291bGQgaGF2ZSBnb3QgY29uZnVzZWQgYWJvdXQgdGhlCgkgIGRlc3RpbmF0aW9uU291cmNlR3JvdXAKCjIwMDEtMTAtMTggMTM6MDMgIGlzY290dAoKCSogU291cmNlL2NtRmluZEZpbGVDb21tYW5kLmN4eDogVGhpcyBjb21tYW5kIHNob3VsZCBhbHdheXMgc2V0IHRoZQoJICBjYWhjZSB2YXJpYWJlbCB0byBhIGZpbGVwYXRoIG5vdCBhIHBhdGgKCjIwMDEtMTAtMTcgMTU6MTEgIGJhcnJlCgoJKiBTb3VyY2UvY21Qcm9qZWN0Q29tbWFuZC5jeHg6IEFkZCBQUk9KRUNUX05BTUUgdG8gdGhlIHNldCBvZgoJICBkZWZpbml0aW9ucwoKMjAwMS0xMC0xNiAxNTo0MCAgaXNjb3R0CgoJKiBNb2R1bGVzL0ZpbmRRdC5jbWFrZTogZml4ZWQgc29tZSBzdHVwaWQgbWlzdGFrZXMgSSB0aG91Z2h0IEkgaGFkCgkgIHRlc3RlZCB0aGVzZSAtIGhvbmVzdAoKMjAwMS0xMC0xNiAxNTozMiAgaXNjb3R0CgoJKiBNb2R1bGVzLzogRmluZFF0LmNtYWtlLCBMaW5rUVQuY21ha2U6IFNvbWUgc2ltcGxlIG1vZHVsZXMgZm9yCgkgIGZpbmRpbmcgYW5kIGxpbmtpbmcgcXQKCjIwMDEtMTAtMTUgMTg6MzcgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1lc3NhZ2VDb21tYW5kLmN4eDogRU5IOiBleHBhbmQgdmFyaWFibGVzIGluIG1lc3NhZ2UKCSAgY29tbWFuZCBvdXRwdXQKCjIwMDEtMTAtMTUgMTg6MzYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVNvdXJjZUZpbGUuY3h4OiBFTkg6IGNsZWFuIHVwIGVycm9yIHJlcG9ydCBmb3Igc291cmNlCgkgIGZpbGVzIG5vdCBmb3VuZAoKMjAwMS0xMC0xNSAxNDoxOSAgaXNjb3R0CgoJKiBDTWFrZS5ydGYsIFNvdXJjZS9jbUNvbW1hbmRzLmN4eCwgU291cmNlL2NtUVRXcmFwQ1BQQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVFUV3JhcENQUENvbW1hbmQuaDogYWRkZWQgYSBRVF9XUkFQX0NQUCBjb21tYW5kCgoyMDAxLTEwLTExIDE3OjIwICBraW5nCgoJKiBTb3VyY2UvY21DYWJsZVdyYXBUY2xDb21tYW5kLmN4eDogRU5IOiBJbXByb3ZlZCBwYXJzaW5nIG9mCgkgIEdDQ1hNTF9GTEFHUyB0byBpbXByb3ZlIGdlbmVyYXRpb24gb2YgZ2NjeG1sIHJ1bGUuICBBbHNvIGFkZGVkCgkgIEFERF9ERUZJTklUSU9OUyBhcmd1bWVudHMgdG8gdGhlIGdlbmVyYXRlZCBydWxlLgoKMjAwMS0xMC0xMSAxNDo1NyAgYW5keQoKCSogU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmN4eDogQWRkZWQgcmVtb3Zpbmcgb2Ygc3BhY2VzIGluCgkgIENNYWtlQ2FjaGUudHh0IGluIGZyb250IG9mIGNvbW1lbnRzIGFuZCB2YXJpYWJsZXMKCjIwMDEtMTAtMTAgMTA6MjIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNhY2hlTWFuYWdlci5jeHg6IEVOSDogYWRkIGEgd2FybmluZyBjb21tZW50IGZvciBjYWNoZQoJICB2YWx1ZXMgdGhhdCBjYW4gbm90IGJlIGNoYW5nZWQgYmVjYXVzZSB0aGV5IGFyZSBhbHdheXMgbG9hZGVkCgkgIGZyb20gYW5vdGhlciBjYWNoZQoKMjAwMS0xMC0wOSAyMjoxOCAgYmlkZGkKCgkqIFNvdXJjZS9jbUJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5jcHA6IEZJWDogU2FtZSBhcyBsYXN0IGNoZWNraW4KCSAgZXhjZXB0IGFwcGxpZXMgdG8gYnBpIGZpbGVzIGFzIHdlbGxhcyBsaWIgZmlsZXMgSWYgd2UgY2FuJ3QgZmluZAoJICBpdCAtIGFuZCBpdCdzIG5vdCBhIHRhcmdldCAtIGFuZCBpdCBoYXMgbm8gcGF0aCBhbHJlYWR5CgkgIHNwZWNpZmllZCwgaXQgbXVzdCBiZSBpbiBPVVRESVJMSUIgZnJvbSBhbm90aGVyIG1ha2VmaWxlIGluIHRoZQoJICBzYW1lIHByb2plY3QgISAoV2hhdCB0aGlzIHJlYWxseSBtZWFucyBpcyB0aGUgbGliIHBhdGhzIGFyZQoJICBjb3JyZWN0bHkgc3BlY2lmaWVkKQoKMjAwMS0xMC0wOSAxMDoyNSAgaG9mZm1hbgoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IGJldHRlciBmaXggZm9yIGRvcyByZXR1cm4gaW4KCSAgbGluZXMsIHVzZSB0aGUgcmVndWxhciBleHByZXNzaW9uIGFuZCBkb24ndCBlZGl0IHRoZSBpbnB1dCBsaW5lCgoyMDAxLTEwLTA1IDE3OjMxICBob2ZmbWFuCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEVOSDogY2xlYW4gdXAgcmV0dXJucyBmcm9tIGlucHV0LCBzbyB3ZQoJICBjYW4gcmVhZCBkb3MgZmlsZXMgb24gdW5peAoKMjAwMS0xMC0wNCAwOTozMiAgc3RhcnJldmVsZAoKCSogVGVtcGxhdGVzLzogY29uZmlndXJlLCBjb25maWd1cmUuaW46CgoJICBFUlI6IHJlbW92ZSB1bmRlZmluZWQgd2FybmluZyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5ldyAxMC4xCgkgIGxpbmtlcgoKMjAwMS0xMC0wMyAxNTo0OSAgaG9mZm1hbgoKCSogTW9kdWxlcy9EYXJ0LmNtYWtlLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbWFrZS5jeHgsCgkgIFNvdXJjZS9jbWFrZXRlc3QuY3h4OiBFTkg6IGZpeGVzIGZvciBib3JsYW5kIGNvbXBpbGVyIHRlc3RpbmcKCjIwMDEtMTAtMDMgMTE6MzYgIGtpbmcKCgkqIE1vZHVsZXMvRmluZENBQkxFLmNtYWtlOiBFTkg6IENoYW5nZWQgQ0FCTEVfQlVJTERfRElSIHRvIGxvb2sgZm9yCgkgIGNhYmxlVmVyc2lvbi5oIGluc3RlYWQgb2YgY2FibGUuUkVBRE1FLnR4dC4KCjIwMDEtMTAtMDIgMjM6MTAgIGJpZGRpCgoJKiBTb3VyY2UvY21Cb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3BwOiBGSVg6aWYgd2UgY2FuJ3QgZmluZCBpdCAtCgkgIGFuZCBpdCdzIG5vdCBhIHRhcmdldCAtIGFuZCBpdCBoYXMgbm8gcGF0aCBhbHJlYWR5IHNwZWNpZmllZCwgaXQKCSAgbXVzdCBiZSBpbiBPVVRESVJMSUIgZnJvbSBhbm90aGVyIG1ha2VmaWxlIGluIHRoZSBzYW1lIHByb2plY3QgIQoJICAoV2hhdCB0aGlzIHJlYWxseSBtZWFucyBpcyB0aGUgbGliIHBhdGhzIGFyZSBjb3JyZWN0bHkgc3BlY2lmaWVkKQoKMjAwMS0xMC0wMiAxNzoyOCAgaG9mZm1hbgoKCSogU291cmNlLzogY21MaXN0RmlsZUNhY2hlLmN4eCwgY21NYWtlZmlsZS5jeHgsIGNtU3lzdGVtVG9vbHMuY3h4LAoJICBjbVN5c3RlbVRvb2xzLmgsIGN0ZXN0LmN4eDogRU5IOiBhZGQgYmV0dGVyIGVycm9yIHJlcG9ydHMgaW4KCSAgcGFyc2luZyBjbWFrZSBmaWxlcywgbGlrZSB3aGF0IGZpbGUgaGFzIHRoZSBlcnJvcgoKMjAwMS0xMC0wMSAxMzozNSAgbWFydGluawoKCSogU291cmNlLzogY21NYWtlZmlsZS5oOiB2ZXJzaW9uCgoyMDAxLTEwLTAxIDEzOjI2ICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cudHh0OiBbbm8gbG9nIG1lc3NhZ2VdCgoyMDAxLTEwLTAxIDExOjU1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21ha2V0ZXN0LmN4eDogQlVHOiBhZGQgbWlzc2luZyBpbmNsdWRlCgoyMDAxLTEwLTAxIDEwOjE0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21ha2V0ZXN0LmN4eDogRU5IOiBjaGFuZ2UgY2hlY2tib3hlcyBiYWNrIHRvIHB1bGwgZG93bgoJICBtZW51cywgcmVtb3ZlIGxlYWsKCjIwMDEtMDktMjkgMTE6MTIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQlVHOiBmaXggZnVsbCBwYXRoIGZvciBmaWxlIGluIGN1cnJlbnQKCSAgZGlyZWN0b3J5CgoyMDAxLTA5LTI4IDEzOjM1ICBiZXJrCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEJVRzogZml4IHJlYWxwYXRoIHByb2JsZW0gYWdhaW4uLi4KCjIwMDEtMDktMjggMTI6MTQgIGJlcmsKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQlVHOiBzZXBhcmF0ZSBwYXRoIGZyb20gZmlsZSBuYW1lCgkgIGJlZm9yZSBjYWxsaW5nIHJlYWxwYXRoCgoyMDAxLTA5LTI4IDEwOjQwICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IGdldAoJICBjb3JyZWN0IGxpYnJhcnkgbmFtZQoKMjAwMS0wOS0yOCAxMDozNCAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQ6IEJVRzogb3B0aW9uYWwgaW4gd3Jvbmcgb3JkZXIKCjIwMDEtMDktMjggMDk6NTcgIGhvZmZtYW4KCgkqIENNYWtlTGlzdHMudHh0OiBtYWtlIHRoZSBpbmNsdWRlIG9mIHRoZSBpbml0aWFsIGNvbmZpZyBmbGFncwoJICBvcHRpb25hbCwgZm9yIGJ1aWxkcyB0aGF0IGRvIG5vdCB1c2UgY29uZmlndXJlCgoyMDAxLTA5LTI3IDE2OjUwICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IHVzZQoJICByZWFscGF0aCBpbnN0ZWFkIG9mIGNkL3B3ZAoKMjAwMS0wOS0yNyAxNTo1NCAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogQlVHOiBmaXggaW5zdGFsbCBwcmVmaXgKCjIwMDEtMDktMjcgMTQ6NTggIGhvZmZtYW4KCgkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmluLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9Jbml0aWFsQ29uZmlndXJlRmxhZ3MuY21ha2UuaW46IEVOSDogcGFzcyBwcmVmaXggZnJvbQoJICBjb25maWd1cmUgaW50byBjbWFrZQoKMjAwMS0wOS0yNiAxNjoyMyAgYmVyawoKCSogTW9kdWxlcy9EYXJ0LmNtYWtlOiBUeXBvLgoKMjAwMS0wOS0yNSAxNDozOSAgbWFydGluawoKCSogTW9kdWxlcy9GaW5kVlRLLmNtYWtlOiBjaGFuZ2VzIHRvIGNoYW1naGUKCjIwMDEtMDktMjUgMTE6MDYgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVZUS1dyYXBUY2xDb21tYW5kLmN4eDogbWVtb3J5IGxlYWsKCjIwMDEtMDktMjEgMTE6NDggIG1hcnRpbmsKCgkqIE1vZHVsZXMvRmluZFZUSy5jbWFrZTogYmV0dGVyIGluc3RhbGwgdGFyZ2V0cwoKMjAwMS0wOS0yMSAwOTo0MCAga2luZwoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBCVUc6IENvcHlGaWxlIHNob3VsZCByZXR1cm4gaW1tZWRpYXRlbHkKCSAgYWZ0ZXIgYW4gZXJyb3Igb2NjdXJzLgoKMjAwMS0wOS0yMCAxNzozMSAgbWFydGluawoKCSogTW9kdWxlcy9GaW5kVlRLLmNtYWtlOiB1cGRhdGVzCgoyMDAxLTA5LTIwIDE2OjQzICBiZXJrCgoJKiBTb3VyY2UvY3Rlc3QuY3h4OiBoYW5kbGUgc3BhY2VzIGluIGNvbW1hbmRzIGFuZCBhcmdzCgoyMDAxLTA5LTIwIDE1OjA4ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUFic3RyYWN0RmlsZXNDb21tYW5kLmN4eCwgY21BYnN0cmFjdEZpbGVzQ29tbWFuZC5oLAoJICBjbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuY3h4LCBjbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuaCwKCSAgY21BZGREZWZpbml0aW9uc0NvbW1hbmQuY3h4LCBjbUFkZERlZmluaXRpb25zQ29tbWFuZC5oLAoJICBjbUFkZERlcGVuZGVuY2llc0NvbW1hbmQuY3h4LCBjbUFkZERlcGVuZGVuY2llc0NvbW1hbmQuaCwKCSAgY21BZGRFeGVjdXRhYmxlQ29tbWFuZC5jeHgsIGNtQWRkRXhlY3V0YWJsZUNvbW1hbmQuaCwKCSAgY21BZGRMaWJyYXJ5Q29tbWFuZC5jeHgsIGNtQWRkTGlicmFyeUNvbW1hbmQuaCwKCSAgY21BZGRUZXN0Q29tbWFuZC5jeHgsIGNtQWRkVGVzdENvbW1hbmQuaCwKCSAgY21BdXhTb3VyY2VEaXJlY3RvcnlDb21tYW5kLmN4eCwgY21BdXhTb3VyY2VEaXJlY3RvcnlDb21tYW5kLmgsCgkgIGNtQnVpbGRDb21tYW5kLmN4eCwgY21CdWlsZENvbW1hbmQuaCwgY21CdWlsZE5hbWVDb21tYW5kLmN4eCwKCSAgY21CdWlsZE5hbWVDb21tYW5kLmgsIGNtQ2FibGVDbGFzc1NldENvbW1hbmQuY3h4LAoJICBjbUNhYmxlQ2xhc3NTZXRDb21tYW5kLmgsIGNtQ2FibGVXcmFwVGNsQ29tbWFuZC5jeHgsCgkgIGNtQ2FibGVXcmFwVGNsQ29tbWFuZC5oLCBjbUNvbW1hbmQuaCwgY21Db25maWd1cmVGaWxlQ29tbWFuZC5jeHgsCgkgIGNtQ29uZmlndXJlRmlsZUNvbW1hbmQuaCwgY21Db25maWd1cmVHY2NYbWxDb21tYW5kLmN4eCwKCSAgY21Db25maWd1cmVHY2NYbWxDb21tYW5kLmgsIGNtRWxzZUNvbW1hbmQuY3h4LCBjbUVsc2VDb21tYW5kLmgsCgkgIGNtRW5hYmxlVGVzdGluZ0NvbW1hbmQuaCwgY21FbmRGb3JFYWNoQ29tbWFuZC5jeHgsCgkgIGNtRW5kRm9yRWFjaENvbW1hbmQuaCwgY21FbmRJZkNvbW1hbmQuY3h4LCBjbUVuZElmQ29tbWFuZC5oLAoJICBjbUV4ZWNQcm9ncmFtQ29tbWFuZC5jeHgsIGNtRXhlY1Byb2dyYW1Db21tYW5kLmgsCgkgIGNtRmluZEZpbGVDb21tYW5kLmN4eCwgY21GaW5kRmlsZUNvbW1hbmQuaCwKCSAgY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4LCBjbUZpbmRMaWJyYXJ5Q29tbWFuZC5oLAoJICBjbUZpbmRQYXRoQ29tbWFuZC5jeHgsIGNtRmluZFBhdGhDb21tYW5kLmgsCgkgIGNtRmluZFByb2dyYW1Db21tYW5kLmN4eCwgY21GaW5kUHJvZ3JhbUNvbW1hbmQuaCwKCSAgY21Gb3JFYWNoQ29tbWFuZC5jeHgsIGNtRm9yRWFjaENvbW1hbmQuaCwKCSAgY21HZXRGaWxlbmFtZUNvbXBvbmVudENvbW1hbmQuY3h4LAoJICBjbUdldEZpbGVuYW1lQ29tcG9uZW50Q29tbWFuZC5oLCBjbUlmQ29tbWFuZC5jeHgsIGNtSWZDb21tYW5kLmgsCgkgIGNtSW5jbHVkZUNvbW1hbmQuY3h4LCBjbUluY2x1ZGVDb21tYW5kLmgsCgkgIGNtSW5jbHVkZURpcmVjdG9yeUNvbW1hbmQuY3h4LCBjbUluY2x1ZGVEaXJlY3RvcnlDb21tYW5kLmgsCgkgIGNtSW5jbHVkZVJlZ3VsYXJFeHByZXNzaW9uQ29tbWFuZC5jeHgsCgkgIGNtSW5jbHVkZVJlZ3VsYXJFeHByZXNzaW9uQ29tbWFuZC5oLCBjbUluc3RhbGxGaWxlc0NvbW1hbmQuY3h4LAoJICBjbUluc3RhbGxGaWxlc0NvbW1hbmQuaCwgY21JbnN0YWxsUHJvZ3JhbXNDb21tYW5kLmN4eCwKCSAgY21JbnN0YWxsUHJvZ3JhbXNDb21tYW5kLmgsIGNtSW5zdGFsbFRhcmdldHNDb21tYW5kLmN4eCwKCSAgY21JbnN0YWxsVGFyZ2V0c0NvbW1hbmQuaCwgY21MaWJyYXJ5Q29tbWFuZC5oLAoJICBjbUxpbmtEaXJlY3Rvcmllc0NvbW1hbmQuY3h4LCBjbUxpbmtEaXJlY3Rvcmllc0NvbW1hbmQuaCwKCSAgY21MaW5rTGlicmFyaWVzQ29tbWFuZC5jeHgsIGNtTGlua0xpYnJhcmllc0NvbW1hbmQuaCwKCSAgY21Mb2FkQ2FjaGVDb21tYW5kLmN4eCwgY21Mb2FkQ2FjaGVDb21tYW5kLmgsCgkgIGNtTWFrZURpcmVjdG9yeUNvbW1hbmQuY3h4LCBjbU1ha2VEaXJlY3RvcnlDb21tYW5kLmgsCgkgIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsIGNtTWVzc2FnZUNvbW1hbmQuY3h4LAoJICBjbU1lc3NhZ2VDb21tYW5kLmgsIGNtT3B0aW9uQ29tbWFuZC5jeHgsIGNtT3B0aW9uQ29tbWFuZC5oLAoJICBjbU91dHB1dFJlcXVpcmVkRmlsZXNDb21tYW5kLmN4eCwgY21PdXRwdXRSZXF1aXJlZEZpbGVzQ29tbWFuZC5oLAoJICBjbVByb2plY3RDb21tYW5kLmN4eCwgY21Qcm9qZWN0Q29tbWFuZC5oLCBjbVNldENvbW1hbmQuY3h4LAoJICBjbVNldENvbW1hbmQuaCwgY21TaXRlTmFtZUNvbW1hbmQuY3h4LCBjbVNpdGVOYW1lQ29tbWFuZC5oLAoJICBjbVNvdXJjZUZpbGVzQ29tbWFuZC5jeHgsIGNtU291cmNlRmlsZXNDb21tYW5kLmgsCgkgIGNtU291cmNlRmlsZXNSZW1vdmVDb21tYW5kLmN4eCwgY21Tb3VyY2VGaWxlc1JlbW92ZUNvbW1hbmQuaCwKCSAgY21Tb3VyY2VHcm91cENvbW1hbmQuY3h4LCBjbVNvdXJjZUdyb3VwQ29tbWFuZC5oLAoJICBjbVN1YmRpckNvbW1hbmQuY3h4LCBjbVN1YmRpckNvbW1hbmQuaCwKCSAgY21TdWJkaXJEZXBlbmRzQ29tbWFuZC5jeHgsIGNtU3ViZGlyRGVwZW5kc0NvbW1hbmQuaCwKCSAgY21UYXJnZXRMaW5rTGlicmFyaWVzQ29tbWFuZC5jeHgsIGNtVGFyZ2V0TGlua0xpYnJhcmllc0NvbW1hbmQuaCwKCSAgY21Vc2VNYW5nbGVkTWVzYUNvbW1hbmQuY3h4LCBjbVVzZU1hbmdsZWRNZXNhQ29tbWFuZC5oLAoJICBjbVV0aWxpdHlTb3VyY2VDb21tYW5kLmN4eCwgY21VdGlsaXR5U291cmNlQ29tbWFuZC5oLAoJICBjbVZUS1dyYXBKYXZhQ29tbWFuZC5jeHgsIGNtVlRLV3JhcEphdmFDb21tYW5kLmgsCgkgIGNtVlRLV3JhcFB5dGhvbkNvbW1hbmQuY3h4LCBjbVZUS1dyYXBQeXRob25Db21tYW5kLmgsCgkgIGNtVlRLV3JhcFRjbENvbW1hbmQuY3h4LCBjbVZUS1dyYXBUY2xDb21tYW5kLmgsCgkgIGNtV3JhcEV4Y2x1ZGVGaWxlc0NvbW1hbmQuY3h4LCBjbVdyYXBFeGNsdWRlRmlsZXNDb21tYW5kLmg6IEVOSDoKCSAgY2hhbmdlIEluaXRpYWxQYXNzIHRvIHRha2UgYSBjb25zdCByZWZlcmVuY2UgdG8gdGhlIGFyZ3VtZW50CgkgIHN0cmluZywgdG8gYXZvaWQgY2hhbmdlcyB0byB0aGUgZmlsZSBjYWNoZQoKMjAwMS0wOS0yMCAxMzo0NCAgbWFydGluawoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBCVUc6IG1ha2UgYSBjb3B5IG9mIHRoZSBhcmd1bWVudHMgYmVmb3JlCgkgIHBhc3NpbmcgdGhlbSB0byBFeGVjdXRlCgoyMDAxLTA5LTIwIDEyOjAwICBtYXJ0aW5rCgoJKiBDTWFrZS5ydGY6IGZpeGVkIHNvbWUgcHJvYmxlbXMKCjIwMDEtMDktMjAgMTA6NTcgIGtpbmcKCgkqIE1vZHVsZXMvRmluZENBQkxFLmNtYWtlOiBFTkg6IEFkZGVkIHN1cHBvcnQgZm9yIGZpbmRpbmcgY2FibGUKCSAgd2hlbiBpdCBpcyBidWlsdCBpbiBhIGNvbmZpZ3VyYXRpb24gc3ViZGlyZWN0b3J5IGJ5IE1TVkMuCgoyMDAxLTA5LTIwIDEwOjU0ICBraW5nCgoJKiBTb3VyY2UvOiBjbUZpbmRGaWxlQ29tbWFuZC5jeHgsIGNtRmluZExpYnJhcnlDb21tYW5kLmN4eCwKCSAgY21GaW5kUGF0aENvbW1hbmQuY3h4LCBjbUZpbmRQcm9ncmFtQ29tbWFuZC5jeHgsCgkgIGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmg6IEVOSDogQWRkZWQKCSAgY21TeXN0ZW1Ub29sczo6R2xvYkRpcnMgZnVuY3Rpb24gdG8gYWxsb3cgd2lsZGNhcmRzIGluIHBhdGhzCgkgIChsaWtlIC9mb28vYmFyLyopLgoKMjAwMS0wOS0yMCAxMDo1MyAga2luZwoKCSogU291cmNlL2NtU2V0Q29tbWFuZC5jeHg6IEVOSDogQWRkZWQgZXh0cmEgbmV3bGluZSBpbiBhbiBlcnJvcgoJICBtZXNzYWdlIHRvIGltcHJvdmUgcmVhZGFiaWxpdHkuCgoyMDAxLTA5LTIwIDEwOjI3ICBtYXJ0aW5rCgoJKiBNb2R1bGVzL0ZpbmRWVEsuY21ha2U6IG1pbm9yIGNoYW5nZXMKCjIwMDEtMDktMjAgMDk6MTEgIG1hcnRpbmsKCgkqIE1vZHVsZXMvOiBGaW5kVlRLLmNtYWtlLCBVc2VWVEtJbmNsdWRlcy5jbWFrZSwKCSAgVXNlVlRLTGlicmFyaWVzLmNtYWtlOiByZW1vdmVkIHNvbWUgVlRLIHN0dWZmCgoyMDAxLTA5LTE5IDE0OjUyICBtYXJ0aW5rCgoJKiBNb2R1bGVzLzogRmluZFZUSy5jbWFrZSwgVXNlVlRLSW5jbHVkZXMuY21ha2UsCgkgIFVzZVZUS0xpYnJhcmllcy5jbWFrZTogdXBkYXRlZCB0byBob3cgRmluZFZUSyB3b3JrcwoKMjAwMS0wOS0xOSAxNDoyMCAgbWFydGluawoKCSogU291cmNlL2NtTWFrZWZpbGUuaDogdmVyc2lvbiByZXYgdG8gOTUKCjIwMDEtMDktMTkgMTQ6MjAgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmg6IHZlcnNpb24gcmV2IHRvIDk0CgoyMDAxLTA5LTE4IDEwOjQ1ICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2cudHh0OiBbbm8gbG9nIG1lc3NhZ2VdCgoyMDAxLTA5LTE4IDEwOjM4ICB3aWxsCgoJKiBDTWFrZS5wZGY6IEVOSDpVcGRhdGVkIGRvY3VtZW50YXRpb24KCjIwMDEtMDktMTcgMTc6NDAgIGhvZmZtYW4KCgkqIENNYWtlLnJ0ZjogRU5IOiB1cGRhdGUgZm9yIG5ldyB2ZXJzaW9uCgoyMDAxLTA5LTE3IDE2OjM2ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbVVzZU1hbmdsZWRNZXNhQ29tbWFuZC5jeHgsIGNtVXNlTWFuZ2xlZE1lc2FDb21tYW5kLmg6CgkgIEVOSDogY2hhbmdlIHRvIHRha2UgYSBwYXRoIGFzIGlucHV0CgoyMDAxLTA5LTE3IDE2OjM0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21GaW5kRmlsZUNvbW1hbmQuY3h4OiBCVUc6IGZpeCByZXR1cm4gd2hlbiBmaWxlIGlzIG5vdAoJICBmb3VuZAoKMjAwMS0wOS0xNyAxNDoxNiAga2luZwoKCSogTW9kdWxlcy9GaW5kQ0FCTEUuY21ha2U6IEVOSDogQWRkZWQgZmluZCBzdXBwb3J0IGZvciBsb29raW5nIGF0CgkgIENhYmxlJ3MgYnVpbGQgZGlyZWN0b3J5IGlmIHRoZSB1c2VyIHNldHMgdGhlIENBQkxFX0JVSUxEX0RJUgoJICBjYWNoZSBlbnRyeS4KCjIwMDEtMDktMTcgMTM6NTggIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ29tbWFuZHMuY3h4LCBjbVVzZU1hbmdsZWRNZXNhQ29tbWFuZC5jeHgsCgkgIGNtVXNlTWFuZ2xlZE1lc2FDb21tYW5kLmg6IEVOSDogYWRkIFVzZSBtYW5nbGVkIG1lc2EgY29tbWFuZAoKMjAwMS0wOS0xNyAxMjowNyAgYmxlemVrCgoJKiBNb2R1bGVzL0RhcnQuY21ha2U6IEVOSDogTmlnaHRseUNvdmVyYWdlIGdvdCBsb3N0CgoyMDAxLTA5LTE0IDE2OjM2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbVZUS1dyYXBUY2xDb21tYW5kLmN4eCwgY21WVEtXcmFwSmF2YUNvbW1hbmQuY3h4LAoJICBjbVZUS1dyYXBQeXRob25Db21tYW5kLmN4eDogbm93IHVzZXMgZml2ZSBhcmd1bWVudCB2ZXJzaW9uIG9mCgkgIHdyYXAgY29tbWFuZHMKCjIwMDEtMDktMTQgMTY6MjYgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbVN0YW5kYXJkSW5jbHVkZXMuaCwKCSAgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5oLAoJICBjbWFrZW1haW4uY3h4OiByZW1vdmUgbWVtb3J5IGxlYWtzCgoyMDAxLTA5LTE0IDE1OjE4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21EU1BXcml0ZXIuY3h4OiBmaXggZXJyb3IgaW4gY3lnd2luCgoyMDAxLTA5LTE0IDE1OjE4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21MaXN0RmlsZUNhY2hlLmg6IGluaXRpYWxpemUgY2xhc3MKCjIwMDEtMDktMTQgMTU6MTggIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbU1ha2VmaWxlR2VuZXJhdG9yLmg6IGFkZAoJICBzdXBwb3J0IGZvciBjbGVhbiB1cAoKMjAwMS0wOS0xNCAxMDoxNCAgbWFydGluawoKCSogVGVtcGxhdGVzLzogRExMSGVhZGVyLmRzcHRlbXBsYXRlLCBFWEVIZWFkZXIuZHNwdGVtcGxhdGUsCgkgIEVYRVdpbkhlYWRlci5kc3B0ZW1wbGF0ZSwgVXRpbGl0eUhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgc3RhdGljTGliSGVhZGVyLmRzcHRlbXBsYXRlOiBtYWRlIERlYnVnIHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24KCjIwMDEtMDktMTQgMDg6MzQgIGJhcnJlCgoJKiBNb2R1bGVzL0ZpbmRUQ0wuY21ha2U6IG1vdmUgY3lndGNsc2g4MCB0byB0aGUgZW5kIG9mIGxpc3QsCgkgIG90aGVyd2lzZSBpdCBtaWdodCBiZSBmb3VuZCB3aGlsZSB0aGUgbm9uLWN5Z3dpbiB3aXNoOHguZXhlIHdpbGwKCSAgYmUgZm91bmQgdG9vLiBJZiB3aXNoOHguZXhlIGlzIGZvdW5kLCB0aGVuIHRoZSBub24tY3lnd2luCgkgIHRjbHNoOHguZXhlIG11c3QgYmUgZm91bmQgdG9vLgoKMjAwMS0wOS0xMyAxNDo0NSAgbWFydGluawoKCSogTW9kdWxlcy9EYXJ0LmNtYWtlOiBhZGRlZCBiYWNrIHNvbWUgdGFyZ2V0cyBmb3IgVU5JWAoKMjAwMS0wOS0xMyAxMToyNyAgbWFydGluawoKCSogU291cmNlLzogY21TeXN0ZW1Ub29scy5oLCBjbVN5c3RlbVRvb2xzLmN4eDogYWRkZWQgc2hvcnRlc3QgZXh0CgkgIGZ1bmN0aW9uCgoyMDAxLTA5LTEyIDE3OjA5ICBsb3JlbnNlbgoKCSogU291cmNlL2NtU2l0ZU5hbWVDb21tYW5kLmN4eDogRU5IOiBkcm9wIHRoZSBjYXNlIG9mIHRoZSBzaXRlCgkgIG5hbWUuIFRoaXMgbWFrZXMgaXQgY29uc2lzdGVudCB3aXRoIERhcnQncyB1c2FnZS4KCjIwMDEtMDktMTIgMTc6MDkgIGxvcmVuc2VuCgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oOiBFTkg6IEFkZGVkIExvd2VyQ2FzZQoJICBtZXRob2QuCgoyMDAxLTA5LTEyIDE1OjE4ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNhYmxlV3JhcFRjbENvbW1hbmQuY3h4LCBjbUNhYmxlV3JhcFRjbENvbW1hbmQuaDogRU5IOgoJICBBZGRlZCBwYXJzaW5nIG9mIGdjY3htbCBmbGFncyBpbnRvIHNlcGFyYXRlIGFyZ3VtZW50cyBmb3Igc2V0dGluZwoJICB0aGUgY3VzdG9tIGNvbW1hbmQuICBUaGlzIGlzIG5lY2Vzc2FyeSBzaW5jZSB0aGUgY3VzdG9tIGNvbW1hbmQKCSAgbm93IHRha2VzIGEgdmVjdG9yIG9mIGluZGl2aWR1YWwgY29tbWFuZCBsaW5lIG9wdGlvbnMgaW5zdGVhZCBvZgoJICBhIHNpbmdsZSBzdHJpbmcuCgoyMDAxLTA5LTExIDIxOjQ2ICBiaWRkaQoKCSogVGVtcGxhdGVzL0NNYWtlV2luZG93c0JvcmxhbmRDb25maWcuY21ha2U6IEVSUjogU3BlbGxpbmcKCjIwMDEtMDktMTEgMjE6NDUgIGJpZGRpCgoJKiBTb3VyY2UvOiBjbUJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5jcHAsCgkgIGNtQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmgsIGNtU3lzdGVtVG9vbHMuY3h4OiBFUlI6IENoYW5nZSB0bwoJICBFc2NhcGVTcGFjZXMgZm9yY2VzIHJld29yayBvZiBCb3JsYW5kIGdlbmVyYXRvciA8c2lnaD4gQWRkIGNsYXVzZQoJICB0byBwcmV2ZW50IGFkZGluZyBxdW90ZXMgd2hlbiB0aGV5J3JlIGFscmVhZHkgcHJlc2VudCwgdGhlbiBzdHVmZgoJICB0aGVtIG9udG8gYWxsIGxpYiBwYXRocyB0byBwcmV2ZW50IGZvcndhcmQgc2xhc2hlcyBjYXVzaW5nCgkgIHRyb3VibGUuCgoyMDAxLTA5LTExIDIwOjAwICBiaWRkaQoKCSogU291cmNlLzogY21Cb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3BwLAoJICBjbUJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5oOiBFTkg6IE1ham9yIGZpeCBvZiB0aGUgQm9ybGFuZAoJICBnZW5lcmF0b3Igd2hpY2ggYWRkcmVzc2VzIHRoZSBwcm9ibGVtIG9mIGxpYnJhcmllcyB3aXRoCgkgIGRlcGVuZGVuY2llcyAob3RoZXIgbGlicmFyaWVzKSBub3QgbGlua2luZyB3aGVuIHJlcXVpcmVkLgoJICBEZXBlbmRlbmN5IGNoZWNraW5nIHJlcXVpcmVkIHRoZSBmdWxsIHBhdGggdG8gYmUgc3VwcGxpZWQgdG8gZWFjaAoJICBmaWxlIHdoZW4gdGhleSdyZSBub3QgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5ICh2ZXJ5IHRlZGlvdXMpLgoJICBBbGwgc2VlbXMgdG8gYmUgd29ya2luZyBuaWNlbHkgbm93LgoKMjAwMS0wOS0xMSAxOTo1OCAgYmlkZGkKCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmg6IEVOSDogQWRkIGEgZmluZGZpbGUKCSAgcm91dGluZSAoYXMgb3Bwb3NlZCB0byBmaW5kIGV4ZWN1dGFibGUgb3IgbGlicmFyeSkgd2hpY2ggZG9lc24ndAoJICBhZGQgYW55IGV4dGVuc2lvbnMgLSBCb3JsYW5kIG1ha2UgbmVlZHMgZnVsbCBwYXRocyB0byBjZXJ0YWluCgkgIGRlcGVuZGVuY2llcyBvdGhlcndpc2UgbGlua2luZyBkb2Vzbid0IHdvcmsgcHJvcGVybHkKCSAgKGRlcGVuZGVuY2llcyBhcmVuJ3QgY2hlY2tlZCkKCjIwMDEtMDktMTEgMTU6MTcgIG1hcnRpbmsKCgkqIFNvdXJjZS9jdGVzdC5jeHg6IHVwZGF0ZWQgdGVzdGluZwoKMjAwMS0wOS0xMSAxNDo1OCAgbWFydGluawoKCSogU291cmNlL2NtRFNQV3JpdGVyLmN4eDogaW5jbHVkZSBmaXhlcwoKMjAwMS0wOS0xMSAxNDo0MyAgbWFydGluawoKCSogTW9kdWxlcy9EYXJ0LmNtYWtlOiByZWR1Y2VkIHRoZSBudW1iZXIgb2YgdGFyZ2V0cwoKMjAwMS0wOS0xMSAxNDo0MiAgbWFydGluawoKCSogU291cmNlL2NtYWtldGVzdC5jeHg6IGJ1ZyBpbiB0ZXN0aW5nIGNvZGUKCjIwMDEtMDktMTEgMTM6NDQgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5jcHA6IEJVRzogZml4IGJ1aWxkIHdpdGgKCSAgbm9uLWJvcmxhbmQgY29tcGlsZXIKCjIwMDEtMDktMTEgMTM6NDAgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbURTUFdyaXRlci5jeHg6IGZpeCBmb3IgaW5jbHVkZSBwYXRocwoKMjAwMS0wOS0xMCAxNToxMSAgbWFydGluawoKCSogTW9kdWxlcy9EYXJ0LmNtYWtlOiByZWR1Y2VkIHRhcmdldHMgYW5kIG1lcmdlZCB0Y2xzaCBjb21tYW5kcwoKMjAwMS0wOS0xMCAxNToxMSAgbWFydGluawoKCSogU291cmNlLzogY21DYWJsZVdyYXBUY2xDb21tYW5kLmN4eCwgY21EU1BXcml0ZXIuY3h4LAoJICBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oLCBjbVN5c3RlbVRvb2xzLmN4eCwKCSAgY21WVEtXcmFwSmF2YUNvbW1hbmQuY3h4LCBjbVZUS1dyYXBQeXRob25Db21tYW5kLmN4eCwKCSAgY21WVEtXcmFwVGNsQ29tbWFuZC5jeHg6IHZhcmlvdXMgd2luZG93cyBmaXhlcwoKMjAwMS0wOS0xMCAxMTowMyAgYmVyawoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBUeXBvIGluIGxpbmsgY29tbWFuZC4KCjIwMDEtMDktMDggMTI6MDkgIGJpZGRpCgoJKiBTb3VyY2UvOiBjbUJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5jcHAsCgkgIGNtQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmg6IEVSUjogRm9yZ290IHRvIHB1dCBiYWNrIGEgYmFja3NsYXNoCgoyMDAxLTA5LTA4IDEwOjAyICBiaWRkaQoKCSogU291cmNlL2NtQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmNwcDogRVJSOiBMSU5LX0RJUiBtdXN0IG90IGhhdmUKCSAgYmFja3NsYWggYXQgZW5kLiBGaXggcGx1cyBjbGVhbnVwIG9mIHNvbWUgY29kZS4KCjIwMDEtMDktMDcgMTA6MDggIG1hcnRpbmsKCgkqIFNvdXJjZS9jbURpcmVjdG9yeS5jeHg6IGZpeGVkIGJ1ZyBpbiBtaXNtYXRjaGVkIGRpcmVjdG9yeSBvcGVucwoJICBjb25zdW1pbmcgZmlsZSBkZXNjcmlwdG9ycwoKMjAwMS0wOS0wNyAwOTo0MCAga2luZwoKCSogU291cmNlL2NtQ29uZmlndXJlR2NjWG1sQ29tbWFuZC5jeHg6IEVOSDogUmVtb3ZlZCBhZGRpdGlvbiBvZgoJICBjb21waWxlciBzdXBwb3J0IGRpcmVjdG9yeSBpbmNsdWRlIG9wdGlvbiBzaW5jZSB0aGUKCSAgZmluZF8qX29wdGlvbnMgc2NyaXB0cyBub3cgaW5jbHVkZSBpdCBhdXRvbWF0aWNhbGx5LgoKMjAwMS0wOS0wNiAxODowMiAgaG9mZm1hbgoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIGNtQm9ybGFuZE1ha2VmaWxlR2VuZXJhdG9yLmNwcDogQlVHOgoJICBjbGVhbiB1cCBsaWIgYW5kIGV4ZSBvdXRwdXQgcGF0aHMKCjIwMDEtMDktMDYgMTc6MjggIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpYi5kc3AsIFNvdXJjZS9jbUJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5jcHAsCgkgIFNvdXJjZS9jbUJvcmxhbmRNYWtlZmlsZUdlbmVyYXRvci5oLAoJICBTb3VyY2UvY21NU1Byb2plY3RHZW5lcmF0b3IuaCwgU291cmNlL2NtTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZUdlbmVyYXRvci5oLCBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtYWtlLmN4eCwgU291cmNlL2NtYWtlLmgsCgkgIFRlbXBsYXRlcy9DTWFrZVdpbmRvd3NCb3JsYW5kQ29uZmlnLmNtYWtlOiBFTkg6IGludGVncmF0ZSBib3JsYW5kCgkgIHN1cHBvcnQKCjIwMDEtMDktMDQgMTY6MjkgIGJpZGRpCgoJKiBTb3VyY2UvY21Cb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuY3BwLAoJICBTb3VyY2UvY21Cb3JsYW5kTWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgVGVtcGxhdGVzL0NNYWtlV2luZG93c0JvcmxhbmRDb25maWcuY21ha2U6IE5FVzogRmlyc3QgY2hlY2sgaW4gb2YKCSAgQm9ybGFuZCBNYWtlZmlsZSBHZW5lcmF0b3IgYW5kIHRlbXBsYXRlIHN0dWZmCgoyMDAxLTA5LTA0IDE2OjA3ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuY3h4LCBjbUN1c3RvbUNvbW1hbmQuY3h4LAoJICBjbUN1c3RvbUNvbW1hbmQuaCwgY21EU1BXcml0ZXIuY3h4LCBjbURTV1dyaXRlci5jeHgsCgkgIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsIGNtU291cmNlR3JvdXAuY3h4LCBjbVNvdXJjZUdyb3VwLmgsCgkgIGNtVlRLV3JhcEphdmFDb21tYW5kLmN4eDogRU5IOiBzZXBhcmF0ZSBjb21tYW5kIGZyb20gaXRzCgkgIGFyZ3VtZW50cyBpbiB0aGUgY3VzdG9tIGNvbW1hbmQuICBUaGlzIGFsbG93cyB0aGUgZ2VuZXJhdG9yIG9uCgkgIHdpbmRvd3MgdG8gY2hhbmdlIHRoZSBzbGFzaGVzIGZvciBqdXN0IHRoZSBjb21tYW5kCgoyMDAxLTA5LTAxIDE3OjEzICBiaWRkaQoKCSogU291cmNlL2NtQnVpbGRDb21tYW5kLmN4eDogRU5IOiBBZGRlZCBhIGNsYXVzZSBmb3IgQm9ybGFuZAoJICBjb21waWxlciBjb21wYXRpYmlsaXR5CgoyMDAxLTA5LTAxIDE2OjU2ICBiYXJyZQoKCSogU291cmNlL2NtRFNQV3JpdGVyLmN4eDogQ29udmVydCBwYXRoIGZvcm1hdCBiYWNrIHRvIFdpbmRvd3MKCSAgc2xhc2hlcyBzeW50YXguIE1hbmRhdG9yeSBmb3IgV2luOTggYnVpbGQuCgoyMDAxLTA5LTAxIDE2OjU1ICBiYXJyZQoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBmaXggY29tbWVudCBwYgoKMjAwMS0wOS0wMSAxNjoxMyAgYmlkZGkKCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmg6IEVOSDogV2luZG93cyBhbmQKCSAgVW5peCBzbGFzaCBjb252ZXJzaW9ucyByZXR1cm4gYSBjaGFyKiwgY2xlYW4gZnVuY3Rpb24gc2VwZXJhdGVkCgkgIGZyb20gQ29udmVydCBmdW5jdGlvbgoKMjAwMS0wOS0wMSAxNjoxMiAgYmlkZGkKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmg6IEVOSDogRXhwYW5kVmFyaWFibGVzCgkgIGZ1bmN0aW9ucyByZXR1cm4gYSBjaGFyICogZm9yIGNvbnZlbmllbmNlCgoyMDAxLTA4LTMxIDIxOjEwICBzdGFycmV2ZWxkCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OgoKCSAgRU5IOiBHZW5lcmF0ZSBjb21waWxlIGxpbmVzIGZvciAubSwgLk0sIGFuZCAubW0gZmlsZXMgKE9iakMgYW5kCgkgIE9iakMrKykKCjIwMDEtMDgtMzAgMTc6MzIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogQlVHOiBmaXggaW5jb3JyZWN0IGRlbGV0aW9uIG9mIGZ1bmN0aW9uCgkgIGJsb2NrZXJzCgoyMDAxLTA4LTMwIDE2OjE5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmg6IHZlcnNpb24gcmV2CgoyMDAxLTA4LTMwIDE2OjA2ICBob2ZmbWFuCgoJKiBDaGFuZ2VMb2csIENoYW5nZUxvZy50eHQ6IFtubyBsb2cgbWVzc2FnZV0KCjIwMDEtMDgtMzAgMTU6NTQgIGhvZmZtYW4KCgkqIENoYW5nZUxvZy50eHQ6IEVOSDogYWRkIGF1dG9nZW5lcmF0ZWQgY2hhbmdlbG9nCgoyMDAxLTA4LTI5IDE3OjIxICBob2ZmbWFuCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBvcHBzCgoyMDAxLTA4LTI5IDE3OjExICBraW5nCgoJKiBTb3VyY2UvY21Db25maWd1cmVHY2NYbWxDb21tYW5kLmN4eDogQlVHOiBHQ0NYTUxfRkxBR1MgZm91bmQgZnJvbQoJICBmaW5kX2djY19vcHRpb25zIG9yIGZpbmRfbXByb19vcHRpb25zIHNob3VsZCBoYXZlIHRoZSB0cmFpbGluZwoJICBuZXdsaW5lIHN0cmlwcGVkIGZyb20gdGhlIHN0cmluZy4KCjIwMDEtMDgtMjkgMTc6MTAgIGtpbmcKCgkqIFNvdXJjZS9jbUNhYmxlV3JhcFRjbENvbW1hbmQuY3h4OiBFTkg6IFVwZGF0ZWQgZ2VuZXJhdGVkCgkgIGRlcGVuZGVuY2llcyBzaW5jZSBjYWJsZSdzIGluc3RhbGxhdGlvbiBkaXJlY3Rvcnkgbm93IHVzZXMKCSAgc2VwYXJhdGUgQ3h4VHlwZXMgYW5kIFdyYXBUY2xGYWNpbGl0eSBzdWJkaXJlY29yaWVzIGZvciBpbmNsdWRlcy4KCjIwMDEtMDgtMjkgMTc6MDggIGtpbmcKCgkqIE1vZHVsZXMvRmluZENBQkxFLmNtYWtlOiBFTkg6IFVwZGF0ZWQgbGlicmFyeSBmaW5kaW5nIGNvZGUgdG8KCSAgaGFuZGxlIG5ldyBjYWJsZSBpbnN0YWxsYXRpb24gZGlyZWN0b3J5IHN0cnVjdHVyZS4gIEl0IG5vdyB1c2VzCgkgIHNlcGFyYXRlIGRpcmVjdG9yaWVzIGZvciBDeHhUeXBlcyBhbmQgV3JhcFRjbEZhY2lsaXR5IGhlYWRlcnMuCgoyMDAxLTA4LTI5IDE2OjQyICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjdGVzdC5jeHgsIGN0ZXN0Lmg6IGFkZGVkIHJlZ2V4cCBvcHRpb24KCjIwMDEtMDgtMjkgMTY6MTMgIGhvZmZtYW4KCgkqIFNvdXJjZS86IENNYWtlTGliLmRzcCwgRHVtcERvY3VtZW50YXRpb24uZHNwLCBjbWFrZS5kc3AsCgkgIGN0ZXN0LmRzcDogcmVtb3ZlIC9aSQoKMjAwMS0wOC0yOSAxNTo1NyAgaG9mZm1hbgoKCSogU291cmNlLzogY21ha2UuY3h4LCBjbWFrZXRlc3QuY3h4OiBFTkg6IHJ1biBjbWFrZSBmcm9tIGNtYWtldGVzdAoKMjAwMS0wOC0yOSAxMDo0NyAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGUuaDogRU5IOiBBZGRlZCBhIGNvbnN0IHZlcnNpb24gb2YKCSAgR2V0TGlua0xpYnJhcmllcygpLgoKMjAwMS0wOC0yOSAxMDo0NiAga2luZwoKCSogU291cmNlLzogY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5oOgoJICBFTkg6IFByb3BlciBkZXBlbmRlbmNpZXMgYmV0d2VlbiBzaGFyZWQgbGlicmFyaWVzIG5vdyBleGlzdCBpbgoJICB0aGUgZ2VuZXJhdGVkIG1ha2VmaWxlcy4gIElmIGEgc2hhcmVkIGxpYnJhcnkgbGlua3MgdG8gYW5vdGhlciwKCSAgdGhlIG90aGVyIHdpbGwgYmUgYnVpbHQgYmVmb3JlIHRoZSBsaW5rIGlzIGF0dGVtcHRlZC4KCjIwMDEtMDgtMjkgMDk6NTcgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogY2xlYW4gdXAgYSBiaXQKCjIwMDEtMDgtMjkgMDk6NDQgIGJlcmsKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQlVHOiBmaXggb3V0IG9mIGJvdW5kcyByZWFkIG9uIHN0cmluZwoJICBpbiBta2RpcgoKMjAwMS0wOC0yOSAwOToyNiAgcGVyZXJhCgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oOiBFTkg6IFNwZWNpYWwgdmFsdWUKCSAgSUdOT1JFIGJlaGF2ZXMgbGlrZSBOT1RGT1VORCwgYnV0IG1ha2VzIEZpbmRMaWJyYXJ5LCBldGMsIF9ub3RfCgkgIHNlYXJjaCBmb3IgYSBsaWJyYXJ5LCBldGMuCgoyMDAxLTA4LTI4IDE4OjM1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21MaXN0RmlsZUNhY2hlLmg6IHJlbW92ZSB3YXJuaW5nCgoyMDAxLTA4LTI4IDE4OjI4ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBDTWFrZUxpYi5kc3AsIENNYWtlTGlzdHMudHh0LCBDTWFrZVNldHVwLmRzdywKCSAgTWFrZWZpbGUuaW4sIGNtTGlzdEZpbGVDYWNoZS5jeHgsIGNtTGlzdEZpbGVDYWNoZS5oLAoJICBjbU1ha2VmaWxlLmN4eDogRU5IOiBhZGQgY2FjaGluZyBmb3IgdGhlIGlucHV0IENNYWtlTGlzdC50eHQKCSAgZmlsZXMsIDJYIHNwZWVkIHVwCgoyMDAxLTA4LTI4IDE4OjI3ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21EU1BXcml0ZXIuY3h4OiBCVUc6IHB1dCBzcGFjZXMgaW4gL0kgcGF0aHMKCjIwMDEtMDgtMjggMTg6MDIgIHN0YXJyZXZlbGQKCgkqIFNvdXJjZS86IGNtQWRkTGlicmFyeUNvbW1hbmQuY3h4LCBjbUFkZExpYnJhcnlDb21tYW5kLmgsCgkgIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsIGNtVGFyZ2V0LmgsCgkgIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDoKCgkgIENoYW5nZXMgdG8gYWxsb3cgTU9EVUxFIHR5cGUgdGFyZ2V0IGZvciBhIHNoYXJlZCBsaWJyYXJ5CgoyMDAxLTA4LTI4IDE4OjAxICBzdGFycmV2ZWxkCgoJKiBUZW1wbGF0ZXMvOiBDTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbiwgY29uZmlndXJlLCBjb25maWd1cmUuaW46CgoJICBDaGFuZ2VzIHRvIGFsbG93IGEgTU9EVUxFIHRhcmdldCBmb3IgYSBzaGFyZWQgbGlicmFyeS4KCjIwMDEtMDgtMjggMTY6MDQgIG1hcnRpbmsKCgkqIENNYWtlTGlzdHMudHh0LCBUZXN0cy9Db21wbGV4L0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LAoJICBUZXN0cy9Db21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dDogbWlub3IgZml4CgoyMDAxLTA4LTI4IDE0OjU1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbURTUFdyaXRlci5jeHgsIGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmg6CgkgIGJldHRlciBuZXR3b3JrIGJ1aWxkIHN1cHBvcnQKCjIwMDEtMDgtMjggMTM6NDkgIHN0YXJyZXZlbGQKCgkqIFRlbXBsYXRlcy86IGNvbmZpZ3VyZSwgY29uZmlndXJlLmluOgoKCSAgQWRkZWQgc3VwcG9ydCBmb3IgRGFyd2luIChPU1gpCgoyMDAxLTA4LTI4IDEwOjU3ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRUQ0wuY21ha2U6IEVOSDogc3VwcG9ydCBmb3IgY3lnd2luCgoyMDAxLTA4LTI4IDEwOjU3ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeAoJICBmb3IgYnJva2VuIGFwcGxlIG1rZGlyIGFuZCBnZW5lcmFsIGNsZWFuIHVwIG9mIE1ha2VEaXJlY3RvcnkKCSAgY29tbWFuZAoKMjAwMS0wOC0yNyAxNToxOSAgbWFydGluawoKCSogU291cmNlL2NtRFNQV3JpdGVyLmN4eDogc3VwcG9ydCBmb3IgbmV0d29yayBwYXRoIGxpbmsgbGlicmFyaWVzCgoyMDAxLTA4LTI3IDE0OjQ0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oLAoJICBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogY2hhbmdlIGV4cGFuZCB2YXJpYWJsZXMgdG8gdXNlCgkgIEdldERlZmluaXRpb24KCjIwMDEtMDgtMjcgMTQ6MzggIGhvZmZtYW4KCgkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmluOiBbbm8gbG9nIG1lc3NhZ2VdCgoyMDAxLTA4LTI3IDE0OjM1ICBob2ZmbWFuCgoJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbiwgU291cmNlL01ha2VmaWxlLmluOiBFTkg6IGNsZWFuIHVwIHNnaQoJICBidWlsZCBhbmQgdXNlIG5vbi1icm9rZW4gYXV0b2NvbmYKCjIwMDEtMDgtMjcgMTI6MjQgIGhvZmZtYW4KCgkqIGNvbmZpZ3VyZSwgU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgVGVtcGxhdGVzL2NvbmZpZ3VyZTogW25vIGxvZyBtZXNzYWdlXQoKMjAwMS0wOC0yNyAxMTowMyAgaG9mZm1hbgoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBzZXQgQ1hYIGFuZCBDQyB3aGVuCgkgIHJ1bm5pbmcgY29uZmlndXJlIGZyb20gY21ha2UKCjIwMDEtMDgtMjcgMTA6MjMgIG1hcnRpbmsKCgkqIFNvdXJjZS9jdGVzdC5jeHg6IGJldHRlciBmb3JtYXR0ZWQgb3V0cHV0CgoyMDAxLTA4LTI3IDEwOjIyICBob2ZmbWFuCgoJKiBUZW1wbGF0ZXMvOiBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbjogRU5IOiB1c2UgQU5TSV9DWFhGTEFHUyBmb3IKCSAgdGVzdGluZyBjb21waWxlcgoKMjAwMS0wOC0yNyAxMDoxMSAgaG9mZm1hbgoKCSogQ01ha2VMaXN0cy50eHQsIFRlbXBsYXRlcy9DTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbiwKCSAgVGVtcGxhdGVzL2NvbmZpZ3VyZSwgVGVtcGxhdGVzL2NvbmZpZ3VyZS5pbiwKCSAgVGVzdHMvQ29tcGxleC9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleE9uZUNvbmZpZy9DTWFrZUxpc3RzLnR4dCwKCSAgVGVzdHMvQ29tcGxleFJlbGF0aXZlUGF0aHMvQ01ha2VMaXN0cy50eHQ6IEVOSDogc2dpIC1MQU5HOnN0ZAoKMjAwMS0wOC0yNyAxMDowNyAgYmVyawoKCSogU291cmNlL0NNYWtlU2V0dXAuZHN3OiBrZW4gYWRkZWQgZGVwZW5kYW5jeSB0byBidWlsZCBldmVyeXRoaW5nCgoyMDAxLTA4LTI1IDEyOjMxICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBDTWFrZVNldHVwLmRzdywgY3Rlc3QuZHNwOiBhZGRlZCBjdGVzdCB0byB3aW4zMgoKMjAwMS0wOC0yNCAxNzo1MCAgaG9mZm1hbgoKCSogVGVtcGxhdGVzLzogY29uZmlndXJlLCBjb25maWd1cmUuaW46IFtubyBsb2cgbWVzc2FnZV0KCjIwMDEtMDgtMjQgMTc6MzAgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy86IENNYWtlU3lzdGVtQ29uZmlnLmNtYWtlLmluLCBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbjoKCSAgRU5IOiBtb3JlIHNnaSAtTEFORyBzdHVmZgoKMjAwMS0wOC0yNCAxNzoyNSAgaG9mZm1hbgoKCSogY29uZmlndXJlLCBjb25maWd1cmUuaW46IGF1dG8gZGV0ZWN0IGxhbmc6c3RkOgoKMjAwMS0wOC0yNCAxNzoxNyAgaG9mZm1hbgoKCSogU291cmNlL01ha2VmaWxlLmluOiBFTkg6IGJ1aWxkIGZvciBzZ2kgQ0Mgb3V0IG9mIGJveAoKMjAwMS0wOC0yNCAxNzoxMiAgaG9mZm1hbgoKCSogY29uZmlndXJlLCBjb25maWd1cmUuaW46IGF1dG8gZGV0ZWN0IGxhbmc6c3RkOgoKMjAwMS0wOC0yNCAxNzowMCAgaG9mZm1hbgoKCSogY29uZmlndXJlLCBjb25maWd1cmUuaW46IGF1dG8gZGV0ZWN0IGxhbmc6c3RkOgoKMjAwMS0wOC0yNCAxNjo1MSAgaG9mZm1hbgoKCSogY29uZmlndXJlLCBjb25maWd1cmUuaW46IGF1dG8gZGV0ZWN0IGxhbmc6c3RkOgoKMjAwMS0wOC0yNCAxNTo1NCAgaG9mZm1hbgoKCSogVGVzdHMvOiBDb21wbGV4L2NtVGVzdENvbmZpZ3VyZS5oLmluLAoJICBDb21wbGV4L0V4ZWN1dGFibGUvY29tcGxleC5jeHgsCgkgIENvbXBsZXhPbmVDb25maWcvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0V4ZWN1dGFibGUvY29tcGxleC5jeHg6IEJVRzogZml4IGNvbXBsZXgKCSAgdGVzdCBmb3Igb2xkIGNvbXBpbGVycwoKMjAwMS0wOC0yNCAxNTo0NSAgaG9mZm1hbgoKCSogY29uZmlndXJlLCBjb25maWd1cmUuaW4sIFRlc3RzL0NvbXBsZXgvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIFRlc3RzL0NvbXBsZXhPbmVDb25maWcvY21UZXN0Q29uZmlndXJlLmguaW4sCgkgIFRlc3RzL0NvbXBsZXhSZWxhdGl2ZVBhdGhzL2NtVGVzdENvbmZpZ3VyZS5oLmluOiBCVUc6IGZpeCBmb3IgU0dJCgkgIE5hdGl2ZSBjb21waWxlcgoKMjAwMS0wOC0yNCAxNTo0MSAgaG9mZm1hbgoKCSogVGVtcGxhdGVzLzogY29uZmlndXJlLCBjb25maWd1cmUuaW46IEJVRzogZml4IGZsYWcgZm9yIGJ1aWxkaW5nCgkgIHNoYXJlZCBvbiBIUAoKMjAwMS0wOC0yMyAxODozMCAgcGVyZXJhCgoJKiBTb3VyY2UvOiBjbUFkZFRlc3RDb21tYW5kLmN4eCwgY21BZGRUZXN0Q29tbWFuZC5oOiBCVUc6IEFERF9URVNUCgkgIG5vdyBvbmx5IGRvZXMgc3R1ZmYgaWYgRU5BQkxFX1RFU1RJTkcgaGFzIGJlZW4gcnVuLgoKMjAwMS0wOC0yMyAxODowMiAgaG9mZm1hbgoKCSogU291cmNlLzogY21NYWtlZmlsZS5jeHgsIGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmg6IEVOSDoKCSAgaW1wcm92ZSBjb3ZlcmFnZQoKMjAwMS0wOC0yMyAxNzo0MCAgaG9mZm1hbgoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIGNtRHVtcERvY3VtZW50YXRpb24uY3h4LCBjbU1ha2VmaWxlLmN4eCwKCSAgY21NYWtlZmlsZS5oOiBFTkg6IGFkZCBkdW1wIGRvY3VtZW50YXRpb24gdGVzdAoKMjAwMS0wOC0yMyAxNjoyOCAga2luZwoKCSogU291cmNlLzogY21DYWJsZVdyYXBUY2xDb21tYW5kLmN4eCwgY21DYWJsZVdyYXBUY2xDb21tYW5kLmg6IEVOSDoKCSAgRWFjaCBjbUNhYmxlV3JhcFRjbENvbW1hbmQgaW5zdGFuY2Ugbm93IHVzZXMgYSBzaW5nbGUKCSAgY21NYWtlRGVwZW5kIG9iamVjdCBmb3IgZGVwZW5kZW5jaWVzIGZvciBhbGwgdGhlIGdjY3htbCBpbnB1dAoJICBmaWxlcyBpdCBnZW5lcmF0ZXMuICBUaGlzIHNob3VsZCBzaWduaWZpY2FudGx5IGltcHJvdmUgZ2VuZXJhdGlvbgoJICB0aW1lLgoKMjAwMS0wOC0yMyAxNjoyNCAgaG9mZm1hbgoKCSogU291cmNlL2NtYWtldGVzdC5jeHg6IEJVRzogcnVuIG1ha2UgYWxsIG9uIHVuaXggbm90IG1ha2UgZXhlbmFtZQoKMjAwMS0wOC0yMyAxNjowMCAgaG9mZm1hbgoKCSogU291cmNlLzogQ01ha2VMaXN0cy50eHQsIGNtU3RhbmRhcmRJbmNsdWRlcy5oLCBjbWFrZXRlc3QuY3h4LAoJICBjdGVzdC5jeHg6IEVOSDogYWRkIG1vcmUgdGVzdGluZwoKMjAwMS0wOC0yMyAxMzo1NyAgaG9mZm1hbgoKCSogVGVzdHMvOiBDb21wbGV4L0NNYWtlTGlzdHMudHh0LCBDb21wbGV4L1ZhclRlc3RzLnR4dCwKCSAgQ29tcGxleC9jbVRlc3RDb25maWd1cmUuaC5pbiwgQ29tcGxleC9zaW1wbGUuY3h4LAoJICBDb21wbGV4L0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXgvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwgQ29tcGxleC9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4L0xpYnJhcnkvZmlsZTIuY3h4LCBDb21wbGV4L0xpYnJhcnkvZmlsZTIuaCwKCSAgQ29tcGxleC9MaWJyYXJ5L3NoYXJlZEZpbGUuY3h4LCBDb21wbGV4L0xpYnJhcnkvc2hhcmVkRmlsZS5oLAoJICBDb21wbGV4L0xpYnJhcnkvRXh0cmFTb3VyY2VzL2ZpbGUxLmN4eCwKCSAgQ29tcGxleC9MaWJyYXJ5L0V4dHJhU291cmNlcy9maWxlMS5oLAoJICBDb21wbGV4T25lQ29uZmlnL0NNYWtlTGlzdHMudHh0LCBDb21wbGV4T25lQ29uZmlnL1ZhclRlc3RzLnR4dCwKCSAgQ29tcGxleE9uZUNvbmZpZy9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgQ29tcGxleE9uZUNvbmZpZy9zaW1wbGUuY3h4LAoJICBDb21wbGV4T25lQ29uZmlnL0V4ZWN1dGFibGUvQ01ha2VMaXN0cy50eHQsCgkgIENvbXBsZXhPbmVDb25maWcvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L0NNYWtlTGlzdHMudHh0LAoJICBDb21wbGV4T25lQ29uZmlnL0xpYnJhcnkvZmlsZTIuY3h4LAoJICBDb21wbGV4T25lQ29uZmlnL0xpYnJhcnkvZmlsZTIuaCwKCSAgQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L3NoYXJlZEZpbGUuY3h4LAoJICBDb21wbGV4T25lQ29uZmlnL0xpYnJhcnkvc2hhcmVkRmlsZS5oLAoJICBDb21wbGV4T25lQ29uZmlnL0xpYnJhcnkvRXh0cmFTb3VyY2VzL2ZpbGUxLmN4eCwKCSAgQ29tcGxleE9uZUNvbmZpZy9MaWJyYXJ5L0V4dHJhU291cmNlcy9maWxlMS5oLAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvVmFyVGVzdHMudHh0LAoJICBDb21wbGV4UmVsYXRpdmVQYXRocy9jbVRlc3RDb25maWd1cmUuaC5pbiwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvc2ltcGxlLmN4eCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvRXhlY3V0YWJsZS9jb21wbGV4LmN4eCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9DTWFrZUxpc3RzLnR4dCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9maWxlMi5jeHgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvZmlsZTIuaCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9zaGFyZWRGaWxlLmN4eCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9zaGFyZWRGaWxlLmgsCgkgIENvbXBsZXhSZWxhdGl2ZVBhdGhzL0xpYnJhcnkvRXh0cmFTb3VyY2VzL2ZpbGUxLmN4eCwKCSAgQ29tcGxleFJlbGF0aXZlUGF0aHMvTGlicmFyeS9FeHRyYVNvdXJjZXMvZmlsZTEuaDogRU5IOiB0cnkgdG8KCSAgZ2V0IGJldHRlciB0ZXN0IGNvdmVyYWdlCgoyMDAxLTA4LTIzIDEzOjEyICBtYXJ0aW5rCgoJKiBTb3VyY2UvY3Rlc3QuY3h4OiBhbHNvIGNoZWNrIHBhdGggZm9yIHRlc3QgZXhlY3V0YWJsZXMKCjIwMDEtMDgtMjMgMTE6MzkgIG1hcnRpbmsKCgkqIFNvdXJjZS9jdGVzdC5jeHg6IGZpeGVkIGZvcm1hdAoKMjAwMS0wOC0yMyAxMTozMiAgbWFydGluawoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogYmV0dGVyIGN0ZXN0IHN1cHBvcnQKCjIwMDEtMDgtMjMgMTE6MTIgIG1hcnRpbmsKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oLAoJICBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsIGN0ZXN0LmN4eCwgY3Rlc3QuaDogYWRkZWQgdGVzdAoJICBkcml2ZXIgZm9yIG1ha2UgdGVzdCB0YXJnZXQKCjIwMDEtMDgtMjIgMTY6MzMgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbURTUFdyaXRlci5jeHg6IEVOSDogZG8gbm90IHB1dCBhIHJ1bGUgaW4gdG8gcmVidWlsZCB0aGUKCSAgQUxMX0JVSUxELmRzcCBmaWxlLCBhcyBpdCBpcyBub3QgcG9zc2libGUuLi4KCjIwMDEtMDgtMjIgMTE6NTggIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ2FibGVDbGFzc1NldC5oLCBjbUNhYmxlV3JhcFRjbENvbW1hbmQuY3h4LAoJICBjbUNhY2hlTWFuYWdlci5jeHgsIGNtQ2FjaGVNYW5hZ2VyLmgsIGNtTWFrZURlcGVuZC5oLAoJICBjbU1ha2VmaWxlLmgsIGNtU291cmNlR3JvdXAuaCwgY21TdGFuZGFyZEluY2x1ZGVzLmgsIGNtVGFyZ2V0LmgsCgkgIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBjaGFuZ2UgYWxsIG1hcHMgb2Ygc3RyaW5nIHRvIGJlCgkgIG1hcHMgb2YgY21TdGRTdHJpbmcsIHRvIHJlZHVjZSBzeW1ib2wgbGVuZ3RoIGluIG9iamVjdCBmaWxlcy4KCjIwMDEtMDgtMjIgMTE6MjYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmg6IEJVRzogc2hvcnRlbiBsZW5ndGggb2Ygc3ltYm9scwoKMjAwMS0wOC0yMiAxMDoxMiAgYmVyawoKCSogU291cmNlL2NtRFNQV3JpdGVyLmN4eDogT1VURElSLT5JbnREaXIKCjIwMDEtMDgtMjEgMTE6MDQgIHN0YXJyZXZlbGQKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDoKCgkgIEFkZGVkIHN1cHBvcnQgZm9yIC5tbSBzb3VyY2UgZmlsZXMgKE9iakMrKykKCjIwMDEtMDgtMjAgMTM6MzIgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy86IGNvbmZpZ3VyZSwgY29uZmlndXJlLmluOiBCVUc6IGZpeCBjaGVjayBmb3Igbm8gc3RkOjoKCjIwMDEtMDgtMjAgMDk6MjMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVNldENvbW1hbmQuY3h4OiBCVUc6IGNtU3lzdGVtVG9vbHM6OkNvbGxhcHNlRnVsbFBhdGggaXMKCSAgYSBiYWQgdGhpbmcgdG8gY2FsbCBvbiB0aGUgY29tcGlsZXIgd2hpY2ggaXMgYSBmaWxlcGF0aAoKMjAwMS0wOC0xOSAxOToxMSAgYmFycmUKCgkqIFNvdXJjZS9jbU9wdGlvbkNvbW1hbmQuY3h4OiBBbGxvdyBvcHRpb24gdmFsdWUgdG8gYmUgZXhwYW5kZWQKCSAgKHRodXMsIHdlIGNhbiB1c2UgdGhlIHZhbHVlIG9mIGFub3RoZXIgb3B0aW9uIGFzIGRlZmF1bHQpCgoyMDAxLTA4LTE5IDEyOjE0ICBiYXJyZQoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBnY2MgYW5kIE1TVkMgY2xhc2ggb24KCSAgYmFzaWNfc3RyaW5nOjpjb21wYXJlKCksIGxldCdzIHRyeSBzdWJzdHIoKQoKMjAwMS0wOC0xOSAwNzozNiAgYmFycmUKCgkqIFNvdXJjZS9jbVNldENvbW1hbmQuY3h4OiBJZiB0aGUgdmFsdWUgaXMgYSBwYXRoLCBjb2xsYXBzZSBpdAoJICAoY2xlYW5lcikKCjIwMDEtMDgtMTggMTc6NTcgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy86IGNvbmZpZ3VyZSwgY29uZmlndXJlLmluOiBCVUc6IGdldCB0aGUgZmxhZ3MgcmlnaHQKCjIwMDEtMDgtMTggMTI6NTEgIGJhcnJlCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHgsIE1vZHVsZXMvRmluZERhcnQuY21ha2U6IFN1cHBvcnQgZm9yCgkgICRFTlZ7VkFSfSBzeW50YXggKGxvb2t1cCBpbiB0aGUgZW52aXJvbm1lbnQgdmFycykKCjIwMDEtMDgtMTcgMTc6MTEgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtRWxzZUNvbW1hbmQuY3h4LCBjbUlmQ29tbWFuZC5jeHg6IGJhY2t3YXJkcyBNQVRDSEVTIGluCgkgIGlmIGFuZCBlbHNlIHN0YXRlbWVudHMKCjIwMDEtMDgtMTYgMTg6MDEgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy9jb25maWd1cmU6IEVOSDogZGVmYXVsdCBmb3IgY3lnd2luIHNob3VsZCBiZSBwdGhyZWFkcwoKMjAwMS0wOC0xNiAxNzo0MiAgaG9mZm1hbgoKCSogVGVtcGxhdGVzLzogQ01ha2VTeXN0ZW1Db25maWcuY21ha2UuaW4sCgkgIENNYWtlV2luZG93c1N5c3RlbUNvbmZpZy5jbWFrZSwgY29uZmlndXJlLCBjb25maWd1cmUuaW46IEVOSDogYWRkCgkgIENNQUtFX1VTRV9XSU4zMl9USFJFQURTIHRvIHRoZSBwb3NzaWJsZSB0aHJlYWQgdHlwZXMKCjIwMDEtMDgtMTYgMTE6NDEgIGJlcmsKCgkqIFNvdXJjZS86IGNtQ2FjaGVNYW5hZ2VyLmN4eCwgY21DYWNoZU1hbmFnZXIuaCwKCSAgY21Mb2FkQ2FjaGVDb21tYW5kLmN4eCwgY21Mb2FkQ2FjaGVDb21tYW5kLmg6IEFkZGluZyBuZXcgb3B0aW9ucwoJICB0byBMb2FkQ2FjaGUuCgoyMDAxLTA4LTE1IDEzOjQwICBiZXJrCgoJKiBTb3VyY2UvOiBjbUNhY2hlTWFuYWdlci5jeHgsIGNtQ2FjaGVNYW5hZ2VyLmgsCgkgIGNtTG9hZENhY2hlQ29tbWFuZC5jeHg6IDEuIEFkZGVkIEVYQ0xVREUgb3B0aW9uIHRvIExPQURfQ0FDSEUuCgkgIDIuIEVudHJpZXMgYnJvdWdodCBpbiBmcm9tIGFub3RoZXIgY2FjaGUgYXJlIG5vdyBtYXJrZWQgYXMKCSAgaW50ZXJuYWwuCgoyMDAxLTA4LTE1IDEzOjIzICBtYXJ0aW5rCgoJKiBNb2R1bGVzL0ZpbmREYXJ0LmNtYWtlOiBsb29rcyBhdCBzYW1lIGxldmVsCgoyMDAxLTA4LTE1IDEwOjAzICBob2ZmbWFuCgoJKiBUZW1wbGF0ZXMvOiBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbjogRU5IOiBtYWtlIHB0aHJlYWRzIHRoZQoJICBkZWZhdWx0IGZvciBjeWd3aW4KCjIwMDEtMDgtMTQgMTc6MTggIGtpbmcKCgkqIFNvdXJjZS86IGNtSW5zdGFsbEZpbGVzQ29tbWFuZC5jeHgsIGNtSW5zdGFsbEZpbGVzQ29tbWFuZC5oLAoJICBjbUluc3RhbGxQcm9ncmFtc0NvbW1hbmQuY3h4LCBjbUluc3RhbGxQcm9ncmFtc0NvbW1hbmQuaCwKCSAgY21NYWtlZmlsZS5jeHg6IEVOSDogSW1wcm92ZWQgSU5TVEFMTF9GSUxFUyBhbmQgSU5TVEFMTF9QUk9HUkFNUwoJICBjb21tYW5kcyB0byBhbGxvdyBlYWNoIGNhbGwgdG8gdGhlIGNvbW1hbmQgaW4gYSBzaW5nbGUgZGlyZWN0b3J5CgkgIHRvIHNwZWNpZnkgYSBkaWZmZXJlbnQgaW5zdGFsbCBwYXRoLgoKMjAwMS0wOC0xMyAxNjowNCAgbWFydGluawoKCSogTW9kdWxlcy9EYXJ0LmNtYWtlOiByZW1vdmVkIGdyZXAKCjIwMDEtMDgtMTAgMTU6NTIgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtVlRLV3JhcFRjbENvbW1hbmQuY3h4LCBjbU1ha2VmaWxlLmg6IG5vdyBjcmVhdGVzCgkgIG91dHB1dCBkaXJlY3RvcmllcwoKMjAwMS0wOC0wOSAxNTozNSAgaG9mZm1hbgoKCSogQ01ha2UucGRmOiBFTkg6IHVwZGF0ZSBwZGYgdG8gcnRmCgoyMDAxLTA4LTA5IDE1OjIzICBob2ZmbWFuCgoJKiBDTWFrZS5ydGY6IEVOSDogYWRkIHNvbWUgZG9jcyBmb3Igc2dpIENDCgoyMDAxLTA4LTA5IDE0OjU4ICBiZXJrCgoJKiBTb3VyY2UvOiBjbUVsc2VDb21tYW5kLmN4eCwgY21JZkNvbW1hbmQuY3h4OiBCVUc6IG9yIGFuZCBhbmQgd2VyZQoJICBpbnZlcnRlZC4KCjIwMDEtMDgtMDkgMTE6MTIgIGhvZmZtYW4KCgkqIENoYW5nZUxvZzogYWRkIGdlbmVyYXRlZCBDaGFuZ2VMb2cgZmlsZS4gIFNob3VsZCBiZSB1cGRhdGVkIGVhY2gKCSAgdGltZSBhIG5ldyB2ZXJzaW9uIGlzIG1hZGUKCjIwMDEtMDgtMDkgMTE6MDggIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuaDogdXBkYXRlZCB2ZXJzaW9uCgoyMDAxLTA4LTA5IDExOjA3ICBtYXJ0aW5rCgoJKiBSRUFETUU6IG91dCBvZiBkYXRlCgoyMDAxLTA4LTA5IDA5OjMzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Db25maWd1cmUuY21ha2UuaC5pbjogQlVHOiBhZGQgaW4gZm9yIHNjb3BlIHZhcmlhYmxlCgoyMDAxLTA4LTA4IDEzOjE0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbVNpdGVOYW1lQ29tbWFuZC5jeHgsIGNtVXRpbGl0eVNvdXJjZUNvbW1hbmQuY3h4OiBCVUc6CgkgIGNhbiBub3QgQWRkIGEgZGVmaW5pdGlvbiB0aGF0IHlvdSBqdXN0IGdvdAoKMjAwMS0wOC0wOCAxMTo1NCAgaG9mZm1hbgoKCSogY29uZmlndXJlLCBjb25maWd1cmUuaW4sIFNvdXJjZS9jbUJ1aWxkQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUJ1aWxkTmFtZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21DYWJsZVdyYXBUY2xDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmN4eCwgU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmgsCgkgIFNvdXJjZS9jbUNvbmZpZ3VyZS5oLmluLCBTb3VyY2UvY21Db25maWd1cmVHY2NYbWxDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtRFNQV3JpdGVyLmN4eCwgU291cmNlL2NtRFNXV3JpdGVyLmN4eCwKCSAgU291cmNlL2NtRmluZEZpbGVDb21tYW5kLmN4eCwgU291cmNlL2NtRmluZExpYnJhcnlDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtRmluZFBhdGhDb21tYW5kLmN4eCwgU291cmNlL2NtRmluZFByb2dyYW1Db21tYW5kLmN4eCwKCSAgU291cmNlL2NtTGlua0xpYnJhcmllc0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21NU1Byb2plY3RHZW5lcmF0b3IuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmgsIFNvdXJjZS9jbU9wdGlvbkNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21Qcm9qZWN0Q29tbWFuZC5jeHgsIFNvdXJjZS9jbVNldENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21TaXRlTmFtZUNvbW1hbmQuY3h4LCBTb3VyY2UvY21TdGFuZGFyZEluY2x1ZGVzLmgsCgkgIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwgU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtVXRpbGl0eVNvdXJjZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21WVEtXcmFwSmF2YUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21WVEtXcmFwUHl0aG9uQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVZUS1dyYXBUY2xDb21tYW5kLmN4eCwKCSAgVGVtcGxhdGVzL0NNYWtlU3lzdGVtQ29uZmlnLmNtYWtlLmluLCBUZW1wbGF0ZXMvY29uZmlndXJlLAoJICBUZW1wbGF0ZXMvY29uZmlndXJlLmluOiBFTkg6IGJpZyBjaGFuZ2UsIG9ubHkgYWxsb3cgY29tbWFuZHMKCSAgYWNjZXNzIHRvIHRoZSBjYWNoZSB2aWEgdGhlIGNtTWFrZWZpbGUgY2xhc3MgYW5kIEdldERlZmluaXRpb24sCgkgIGFsc28gdGhlIGNtTWFrZWZpbGUgaXMgdGhlIG9ubHkgd2F5IGZvciBjb21tYW5kcyB0byBhZGQgdG8gdGhlCgkgIGNhY2hlLiAgQWxzbywgc29tZSBjaGFuZ2VzIHRvIGNvbmZpZ3VyZS5pbiB0aGF0IGNoZWNrIGZvciBmb3IKCSAgc2NvcGluZwoKMjAwMS0wOC0wNyAxNTo0OSAgaG9mZm1hbgoKCSogU291cmNlLzogY21TdGFuZGFyZEluY2x1ZGVzLmgsIGNtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IGNvbXBpbGUKCSAgd2l0aCBicm9rZW4gNzIwIFNHSSBDKysgY29tcGlsZXIKCjIwMDEtMDgtMDcgMTM6NDYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogRU5IOiBodG1sIG91dHB1dCBmb3IgZG9jcwoKMjAwMS0wOC0wNyAxMzoxNSAgaG9mZm1hbgoKCSogQ01ha2UucnRmOiBFTkg6IHVwZGF0ZSBkb2N1bWVudHMgd2l0aCBjdXJyZW50IGNvbW1hbmRzIGFuZCBuZXcKCSAgR1VJCgoyMDAxLTA4LTA3IDA4OjQ3ICBraW5nCgoJKiBDTWFrZUxpc3RzLnR4dDogRVJSOiBDTWFrZUxvZ28uZ2lmIGhhcyBiZWVuIG1vdmVkIHRvIHRoZSByb290CgkgIGRpcmVjdG9yeSBvZiB0aGUgc291cmNlIHNvIHRoYXQgdGhlIFdlYiBhbmQgV2ViL0FydCBkaXJlY3RvcmllcwoJICBhcmUgbm90IG5lZWRlZCBoZXJlLgoKMjAwMS0wOC0wNyAwODo0NiAga2luZwoKCSogQ01ha2VMb2dvLmdpZjogRU5IOiBDTWFrZUxvZ28gZm9yIERhcnQgdG8gdXNlIG9uIHRlc3Rpbmcgd2ViCgkgIHBhZ2UuCgoyMDAxLTA4LTA2IDE3OjAxICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUVsc2VDb21tYW5kLmN4eCwgY21FbHNlQ29tbWFuZC5oLCBjbUlmQ29tbWFuZC5jeHgsCgkgIGNtSWZDb21tYW5kLmg6IGFkZGVkIG5ldyBpZiBjb21tYW5kcwoKMjAwMS0wOC0wNiAxNToxMSAga2luZwoKCSogQ01ha2UucGRmLCBDTWFrZS5ydGY6IFJlLWFkZGluZyBkb2MgZmlsZXMuICBUaGV5IHdlcmUKCSAgYWNjaWRlbnRhbGx5IHJlbW92ZWQgZHVlIHRvIGEgc3ltbGluayBmcm9tIHRoZSBDTWFrZS9XZWIKCSAgZGlyZWN0b3J5IHdoZW4gaXQgd2FzIHJlbW92ZWQuCgoyMDAxLTA4LTA2IDE1OjAxICBraW5nCgoJKiBDTWFrZS5wZGYsIENNYWtlLnJ0ZjogUmVtb3ZpbmcgV2ViIGRpcmVjdG9yeSBmcm9tIENNYWtlLiAgSXQgaXMKCSAgbW92aW5nIHRvIGEgc2VwYXJhdGUsIHBhcmFsbGVsIENWUyBtb2R1bGUgY2FsbGVkICJDTWFrZVdlYiIKCjIwMDEtMDgtMDMgMTU6NDcgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ29uZmlndXJlRmlsZUNvbW1hbmQuY3h4LCBjbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmg6CgkgIEVOSDogQWRkZWQgJ0lNTUVESUFURScgb3B0aW9uIHRvIENPTkZJR1VSRV9GSUxFIGNvbW1hbmQgdG8gZm9yY2UKCSAgZmlsZSBjb3B5IGFuZCBjb25maWd1cmF0aW9uIG9uIHRoZSBpbml0aWFsIHBhc3Mgc28gdGhhdCBjdXJyZW50CgkgIHZhcmlhYmxlIHZhbHVlcyBhcmUgdXNlZC4KCjIwMDEtMDgtMDIgMTc6MjcgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ2FibGVXcmFwVGNsQ29tbWFuZC5jeHgsIGNtQ2FibGVXcmFwVGNsQ29tbWFuZC5oOiBFTkg6CgkgIEFkZGVkIHVzZSBvZiBhIGNsYXNzJ3MgdGFnIHRvIGdlbmVyYXRlIGEgYmV0dGVyIHNldCBvZiBmaWxlbmFtZXMKCSAgZm9yIGl0cyB3cmFwcGVyIGNvbmZpZ3VyYXRpb24sIHhtbCwgYW5kIGdlbmVyYXRlZCBmaWxlcy4gIFRoaXMKCSAgc2hvdWxkIGFsc28gcHJldmVudCBoYWxmIHRoZSBjbGFzc2VzIGZyb20gcmUtd3JhcHBpbmcgd2hlbiBhIG5ldwoJICBvbmUgaXMgaW5zZXJ0ZWQgaW4gdGhlIG1pZGRsZS4KCjIwMDEtMDgtMDIgMTQ6NDIgIGtpbmcKCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogR2VuZXJhdGVkIGxpbmsgbGluZSBmb3IKCSAgc2hhcmVkIGxpYnJhcmllcyBoYWQgQ01BS0VfQ1hYX0ZMQUdTIGluc3RlYWQgb2YgQ01BS0VfQ1hYRkxBR1MKCSAgKG5vdGUgdW5kZXJzY29yZSkuCgoyMDAxLTA4LTAyIDE0OjEwICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEJVRzogRml4ZWQgb2ZmLWJ5LW9uZSBlcnJvciBpbgoJICBFeHBhbmRWYXJpYWJsZXNJblN0cmluZyBmb3IgY2FzZSBvZiAkIG9yIEAgYXMgbGFzdCBjaGFyYWN0ZXIgb2YKCSAgc3RyaW5nLgoKMjAwMS0wOC0wMiAwOTowNyAga2luZwoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBXZSBkb24ndCB3YW50IHRvIG91dHB1dAoJICAtSS91c3IvaW5jbHVkZSBpbiB0aGUgSU5DTFVERV9GTEFHUyB2YXJpYWJsZS4gIFRoaXMgY2F1c2VzCgkgIHByb2JsZW1zIHdpdGggZmluZGluZyBzeXN0ZW0gaGVhZGVycyBpbiB0aGUgd3JvbmcgcGxhY2VzIGZvcgoJICBjZXJ0YWluIHN0YW5kYXJkIGxpYnJhcnkgaW1wbGVtZW50YXRpb25zLgoKMjAwMS0wOC0wMSAxNjoxNCAga2luZwoKCSogU291cmNlLzogY21Db21tYW5kcy5jeHgsIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsCgkgIGNtU3ViZGlyRGVwZW5kc0NvbW1hbmQuY3h4LCBjbVN1YmRpckRlcGVuZHNDb21tYW5kLmgsCgkgIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBBZGRlZCBTVUJESVJfREVQRU5EUyBjb21tYW5kCgkgIGFuZCBjb3JyZXNwb25kaW5nIHN1cHBvcnQgY29kZS4gIFRoaXMgY29tbWFuZCBhbGxvd3MKCSAgc3BlY2lmaWNhdGlvbiB0aGF0IGEgc2V0IG9mIHN1YmRpcmVjdG9yaWVzIGJlIGJ1aWx0IGJlZm9yZSBhCgkgIHBhcnRpY3VsYXIgZGlyZWN0b3J5LgoKMjAwMS0wOC0wMSAxNjoxMyAga2luZwoKCSogU291cmNlL2NtQWRkRGVmaW5pdGlvbnNDb21tYW5kLmN4eDogQlVHOiBOZWVkZWQgdG8gZXhwYW5kCgkgIHZhcmlhYmxlcyBvZiBkZWZpbml0aW9ucy4KCjIwMDEtMDgtMDEgMTY6MTIgIGtpbmcKCgkqIFNvdXJjZS9jbUluc3RhbGxGaWxlc0NvbW1hbmQuY3h4OiBCVUc6IE5lZWQgdG8gZXhwYW5kIHZhcmlhYmxlcwoJICB3aGVuIGEgcmVndWxhciBleHByZXNzaW9uIGlzIHNwZWNpZmllZC4KCjIwMDEtMDgtMDEgMTY6MTEgIGtpbmcKCgkqIE1vZHVsZXMvRmluZENBQkxFLmNtYWtlOiBFTkg6IFN1cHBvcnQgdG8gZmluZCBDQUJMRSB1dGlsaXR5IGlmIGl0CgkgIGlzIGluc3RhbGxlZC4KCjIwMDEtMDgtMDEgMTE6MTkgIGtpbmcKCgkqIE1vZHVsZXMvRmluZFRDTC5jbWFrZTogRU5IOiBBZGRlZCB0ayBsaWJyYXJ5IG5hbWVzIHRrOC40IHRrOC4zCgkgIHRrOC4yIGFuZCB0azguMCB0byBjb3JyZXNwb25kIHRvIHRrODQgdGs4MyB0azgyIGFuZCB0azgwLgoJICBUS19MSUJSQVJZIHNob3VsZCBub3cgYmUgZm91bmQgb24gbW9yZSBwbGF0Zm9ybXMuCgoyMDAxLTA3LTMxIDExOjI5ICBraW5nCgoJKiBTb3VyY2UvY21Db21tYW5kcy5jeHgsIFNvdXJjZS9jbURTUFdyaXRlci5jeHgsCgkgIFNvdXJjZS9jbURTV1dyaXRlci5jeHgsIFNvdXJjZS9jbUluc3RhbGxGaWxlc0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsUHJvZ3JhbXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtSW5zdGFsbFByb2dyYW1zQ29tbWFuZC5oLCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbVRhcmdldC5jeHgsIFNvdXJjZS9jbVRhcmdldC5oLAoJICBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBUZW1wbGF0ZXMvQ01ha2VMaXN0cy50eHQ6CgkgIEVOSDogQWRkZWQgSU5TVEFMTF9QUk9HUkFNUyBjb21tYW5kIGFuZCBjb3JyZXNwb25kaW5nIHN1cHBvcnQuCgkgIFRoaXMgaW52b2x2ZWQgc3BsaXR0aW5nIGNtVGFyZ2V0OjpJTlNUQUxMIGludG8gSU5TVEFMTF9GSUxFUyBhbmQKCSAgSU5TVEFMTF9QUk9HUkFNUyBlbnVtIHZhbHVlcy4gIElOU1RBTExfRklMRVMgbm8gbG9uZ2VyIGFkZHMKCSAgZXhlY3V0ZSBwZXJtaXNzaW9uLiAgVGhlIElOU1RBTExfUFJPR1JBTVMgY29tbW5hZCB0YWtlcyBlaXRoZXIgYQoJICBsaXN0IG9mIGV4cGxpY2l0IG5hbWVzLCBvciBhIHJlZ2V4LiAgSXQgd2lsbCBub3QgZXhwYW5kIHNvdXJjZQoJICBsaXN0cyBsaWtlIHRoZSBJTlNUQUxMX0ZJTEVTIGNvbW1hbmQgd2lsbC4KCjIwMDEtMDctMzAgMTI6MjEgIGtpbmcKCgkqIFNvdXJjZS9jbUNhYmxlQ2xhc3NTZXQuY3h4OiBFUlI6CgkgIEVsZW1lbnRDb21iaW5hdGlvbkdlbmVyYXRvcjo6UmVwbGFjZVBvcnRpb24gbmVlZHMgdG8gYmUgYSBmcmllbmQKCSAgb2YgRWxlbWVudENvbWJpbmF0aW9uR2VuZXJhdG9yIHNvIHRoYXQgaXQgY2FuIGdldCBhY2Nlc3MgdG8KCSAgRWxlbWVudENvbWJpbmF0aW9uR2VuZXJhdG9yOjpTdWJzdGl0dXRpb24uICBBbHNvIGZpeGVkIG9uZSBtaW5vcgoJICBwcm9ibGVtIGZvciBIUCBidWlsZC4KCjIwMDEtMDctMzAgMTE6MzQgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ2FibGVDbGFzc1NldC5jeHgsIGNtQ2FibGVXcmFwVGNsQ29tbWFuZC5jeHgsCgkgIGNtRFNQV3JpdGVyLmN4eCwgY21NYWtlRGVwZW5kLmN4eCwgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaCwKCSAgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IENoYW5nZWQgaW5jbHVkZSBhbmQgbGluawoJICBkaXJlY3RvcnkgcGF0aHMgaW4gY21NYWtlZmlsZSBiYWNrIHRvIHN0ZDo6dmVjdG9yIGJlY2F1c2UgdGhlcmUKCSAgaXMgYW4gb3JkZXIgZGVwZW5kZW5jeS4gIE9ubHkgY21NYWtlZmlsZTo6QWRkSW5jbHVkZURpcmVjdG9yeSBhbmQKCSAgY21NYWtlZmlsZTo6QWRkTGlua0RpcmVjdG9yeSBzaG91bGQgYmUgY2FsbGVkIHRvIGFkZCBkaXJlY3RvcmllcwoJICB0byB0aGUgcGF0aHMuICBUaGV5IG1ha2Ugc3VyZSB0aGUgcGF0aHMgYXJlIHVuaXF1ZSBhcyB0aGV5IGFyZQoJICBpbnNlcnRlZC4KCjIwMDEtMDctMzAgMDc6MTggIHNjb3R0aW0KCgkqIFNvdXJjZS86IGNtQ2FibGVDbGFzc1NldC5jeHgsIGNtQ2FibGVXcmFwVGNsQ29tbWFuZC5jeHgsCgkgIGNtRFNQV3JpdGVyLmN4eCwgY21NYWtlRGVwZW5kLmN4eCwgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaCwKCSAgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBSZW1vdmVkIHRoZSBVbmlxdWlmaWNhdGlvbiBvZiB0aGUKCSAgaW5jbHVkZSBhbmQgbGluayBkaXJlY3RvcnkgbGlzdCBpbiBGaW5hbFBhc3MsIGFuZCBhY2hpZXZlZCB0aGUKCSAgc2FtZSBlZmZlY3QgYnkgbWFrZWluIG1fTGlua0RpcmVjdG9yZXMgYW5kIG1fSW5jbHVkZURpcmVjdG9yaWVzIGEKCSAgc2V0IHJhdGhlciB0aGFuIHZlY3RvcgoKMjAwMS0wNy0yNyAxNjoyOSAgaG9mZm1hbgoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBFTkg6IFJlLWltcGxlbWVudGVkCgkgIEV4cGFuZFZhcmlhYmxlc0luU3RyaW5nIHRvIHNpZ25pZmljYW50bHkgaW1wcm92ZSBwZXJmb3JtYW5jZS4KCjIwMDEtMDctMjcgMTM6MDYgIHNjb3R0aW0KCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmg6IE1Ba2VmaWxlIG5vdyBzdHJpcHMKCSAgZHVwbGljYXRlIGRpcmVjdG9yZXMgZnJvbSB0aGUgbGlicmFyaWVzIGFuZCBpbmNsdWRlIHBhdGhzCgoyMDAxLTA3LTI2IDExOjA3ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNhYmxlQ2xhc3NTZXQuY3h4LCBjbUNhYmxlQ2xhc3NTZXQuaCwKCSAgY21DYWJsZUNsYXNzU2V0Q29tbWFuZC5jeHgsIGNtQ2FibGVXcmFwVGNsQ29tbWFuZC5jeHg6IEVOSDogQWRkZWQKCSAgY2FibGUgY2xhc3Mtc2V0IGV4cGFuc2lvbiBhbmQgdGFnZ2luZyBmb3IgYWx0ZXJuYXRlIG5hbWUKCSAgZ2VuZXJhdGlvbi4gIFRoaXMgc2hvdWxkIG1ha2UgdGhlIGdlbmVyYXRlZCB3cmFwcGVycyBtdWNoIGVhc2llcgoJICB0byBzZXR1cCBhbmQgdXNlLgoKMjAwMS0wNy0yNiAwOTo0NyAgYmVyawoKCSogQ01ha2VMaXN0cy50eHQ6IEVOSDogVXBkYXRlZCByZWdleHAgZm9yIHRyYWNpbmcgZGVwZW5kZW5jaWVzIGluCgkgIEZMVEsgZGlhbG9nLgoKMjAwMS0wNy0yNiAwODozNiAgbWFydGluawoKCSogU291cmNlL2NtTWFrZWZpbGUuaDogZml4ZWQgd2FybmluZ3MKCjIwMDEtMDctMjUgMTg6MzAgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsIGNtYWtlLmN4eCwgY21ha2UuaDogRU5IOgoJICByZXdvcmsgR1VJIHdpdGggY29uZmlndXJlL09LL0NhbmNlbAoKMjAwMS0wNy0yNSAxNjo1MyAgbWFydGluawoKCSogU291cmNlLzogY21Db21tYW5kcy5jeHgsIGNtRnVuY3Rpb25CbG9ja2VyLmgsIGNtSWZDb21tYW5kLmN4eCwKCSAgY21JZkNvbW1hbmQuaCwgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaDogYWRkZWQgZm9yIGVhY2gKCSAgY29tbWFuZAoKMjAwMS0wNy0yNSAxNjo1MiAgbWFydGluawoKCSogU291cmNlLzogY21FbmRGb3JFYWNoQ29tbWFuZC5jeHgsIGNtRW5kRm9yRWFjaENvbW1hbmQuaCwKCSAgY21Gb3JFYWNoQ29tbWFuZC5jeHgsIGNtRm9yRWFjaENvbW1hbmQuaDogbmV3IGNvbW1hbmRzCgoyMDAxLTA3LTI1IDA5OjQwICBiZXJrCgoJKiBTb3VyY2UvY21DYWNoZU1hbmFnZXIuY3h4OiBSZW1vdmluZyB0cmFpbGluZyBzcGFjZXMgYWZ0ZXIgY2FjaGUKCSAgZW50cnkgdmFsdWUuCgoyMDAxLTA3LTI0IDE2OjE2ICBraW5nCgoJKiBTb3VyY2UvY21EU1BXcml0ZXIuY3h4OiBCVUc6IEZpeGVkIGRlcGVuZGVuY3kgZ2VuZXJhdGlvbiB0byB3b3JrCgkgIGZvciB3aGVuIHRoZXJlIGFyZSBtYW55LCBtYW55IGRlcGVuZGVuY2llcy4gIE91dHB1dCBpcyBub3cgZWFzaWVyCgkgIHRvIHJlYWR5IGFueXdheSBiZWNhdXNlIGVhY2ggZGVwZW5kZW5jeSBpcyBvbiBpdHMgb3duIGxpbmUuCgoyMDAxLTA3LTIzIDE0OjQzICBraW5nCgoJKiBTb3VyY2UvOiBjbUNvbmZpZ3VyZUdjY1htbENvbW1hbmQuY3h4LAoJICBjbUNvbmZpZ3VyZUdjY1htbENvbW1hbmQuaDogQlVHOiBDb21waWxlcklzTWlwc1BybyBuZWVkcyB0bwoJICByZWRpcmVjdCBzdGRlcnIgdG8gc3Rkb3V0IHNvIHRoYXQgdGhlIHRlc3Qgb3V0cHV0IGNhbiBiZSBjaGVja2VkLgoKMjAwMS0wNy0yMyAxMTo1NCAga2luZwoKCSogU291cmNlLzogY21Db25maWd1cmVHY2NYbWxDb21tYW5kLmN4eCwKCSAgY21Db25maWd1cmVHY2NYbWxDb21tYW5kLmg6IEVOSDogQWRkZWQgc3VwcG9ydCBmb3IgVU5JWAoJICBjb21waWxlcnMuICBHQ0MgYW5kIE1JUFNwcm8gYXJlIHN1cHBvcnRlZC4KCjIwMDEtMDctMjMgMTE6NTMgIGtpbmcKCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmg6IEVOSDogQWRkZWQgc3VwcG9ydAoJICBmb3Igbm9uLXZlcmJvc2UgbW9kZSBvdXRwdXQgZnJvbSBydW5uaW5nIGEgY29tbWFuZC4gIFRoaXMgY2FuIGJlCgkgIHVzZWQgd2hlbiBpdCBpcyBleHBlY3RlZCB0aGF0IHRoZSBjb21tYW5kIG1heSBmYWlsLgoKMjAwMS0wNy0yMyAxMTowNyAga2luZwoKCSogU291cmNlLzogY21Db21tYW5kcy5jeHgsIGNtQ29uZmlndXJlR2NjWG1sQ29tbWFuZC5jeHgsCgkgIGNtQ29uZmlndXJlR2NjWG1sQ29tbWFuZC5oOiBFTkg6IEFkZGVkIENPTkZJR1VSRV9HQ0NYTUwgY29tbWFuZAoJICB0byBkbyBoYXJkIHdvcmsgb2YgY29uZmlndXJpbmcgR0NDWE1MJ3MgZmxhZ3MgZm9yIHRoZSBjdXJyZW50CgkgIGNvbXBpbGVyLiAgQ3VycmVudGx5IG9ubHkgaW1wbGVtZW50ZWQgY29ycmVjdGx5IGZvciBWaXN1YWwgQysrIGluCgkgIFdpbmRvd3MuCgoyMDAxLTA3LTIzIDExOjA2ICBraW5nCgoJKiBNb2R1bGVzL0ZpbmRHQ0NYTUwuY21ha2U6IEVOSDogTW9kdWxlIHRvIGZpbmQgYW5kIGNvbmZpZ3VyZQoJICBHQ0NYTUwgYW5kIEdDQ1hNTF9GTEFHUy4KCjIwMDEtMDctMjAgMTE6NDEgIG1pbGxlcmp2CgoJKiBNb2R1bGVzL0RhcnQuY21ha2U6IEVOSDogQWRkZWQgUHVyaWZ5IHRhcmdldHMKCjIwMDEtMDctMjAgMDk6MjAgIG1pbGxlcmp2CgoJKiBNb2R1bGVzL0RhcnQuY21ha2U6IEVOSDogQWRkZWQgcHVyaWZ5IGNvbW1hbmQuCgoyMDAxLTA3LTIwIDA0OjU2ICBzY290dGltCgoJKiBUZW1wbGF0ZXMvRExMSGVhZGVyLmRzcHRlbXBsYXRlOiBhZGRpbmcgd2hhdCBJIHRoaW5rIGlzIGEgbWlzc2luZwoJICAvcGRidHlwZTpzZXB0CgoyMDAxLTA3LTE4IDE2OjQ1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5oOiB1cGRhdGVkIHZlcnNpb24KCjIwMDEtMDctMTggMTE6NDAgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogbGltaXQgbGlicmFyeSBzZWFyY2ggdG8gYXBwcm9wcmlhdGUKCSAgZXh0ZW5zaW9ucwoKMjAwMS0wNy0xOCAxMDoxNyAgaG9mZm1hbgoKCSogTW9kdWxlcy9EYXJ0LmNtYWtlOiBCVUc6IGVuYWJsZSB0ZXN0aW5nIGV2ZW4gaWYgbm90IHRjbCBmb3VuZAoKMjAwMS0wNy0xNyAxNTo0MSAga2luZwoKCSogU291cmNlL2NtQ2FibGVXcmFwVGNsQ29tbWFuZC5jeHg6IEVOSDogQWRkZWQgZ2VuZXJhdGlvbiBvZgoJICBkZXBlbmRlbmNpZXMgb24gdGhlIENNYWtlLWdlbmVyYXRlZCBpbnB1dCB0byBnY2MteG1sIHNvIHRoYXQKCSAgcmUtZ2VuZXJhdGlvbiBvZiB3cmFwcGVycyB3aWxsIG9jY3VyIGlmIGEgaGVhZGVyIGNoYW5nZXMuCgoyMDAxLTA3LTE3IDE1OjQxICBraW5nCgoJKiBTb3VyY2UvY21NYWtlRGVwZW5kLmN4eDogQlVHOiBOZWVkIHRvIGV4cGFuZCB2YXJpYWJsZXMgaW4gc2VhcmNoCgkgIHBhdGhzIGluIGNhc2UgaXQgaGFzbid0IGJlZW4gZG9uZSB5ZXQgYnkgdGhlIG1ha2VmaWxlLgoKMjAwMS0wNy0xNyAxNTowOSAga2luZwoKCSogU291cmNlLzogY21NYWtlRGVwZW5kLmN4eCwgY21NYWtlRGVwZW5kLmgsCgkgIGNtT3V0cHV0UmVxdWlyZWRGaWxlc0NvbW1hbmQuY3h4LCBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6CgkgIEVOSDogSGFja2VkIHRvZ2V0aGVyIGEgbmV3IGltcGxlbWVudGF0aW9uIG9mIHRoZSBkZXBlbmRlbmN5CgkgIGdlbmVyYXRvciBjb2RlLiAgVGhpcyBzaG91bGQgc3VwcG9ydCBmaW5kaW5nIGRlcGVuZGVuY2llcyBmb3IKCSAgaW5kaXZpZHVhbCBmaWxlcyB3aXRob3V0IGRvaW5nIHRoZW0gZm9yIHRoZSBlbnRpcmUgbWFrZWZpbGUuCVVzZQoJICBjbU1ha2VEZXBlbmQ6OkZpbmREZXBlbmRlbmNpZXMoKSB0byBkbyB0aGlzLgoKMjAwMS0wNy0xNyAwOTo1NCAga2luZwoKCSogTW9kdWxlcy9DTWFrZUxpc3RzLnR4dCwgTW9kdWxlcy9GaW5kRGFydC5jbWFrZSwKCSAgTW9kdWxlcy9GaW5kSk5JLmNtYWtlLCBNb2R1bGVzL0ZpbmRQeXRob25MaWJzLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRUQ0wuY21ha2UsIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwKCSAgU291cmNlL2NtU3lzdGVtVG9vbHMuaCwgVGVtcGxhdGVzL2NvbmZpZ3VyZSwKCSAgVGVtcGxhdGVzL2NvbmZpZ3VyZS5pbjogRU5IOiBBZGRlZCBzdXBwb3J0IGZvciB1c2luZwoJICBiYWNrc2xhc2gtc3R5bGUgZXNjYXBpbmcgaW4gQ01ha2VMaXN0cy50eHQgZmlsZSBhcmd1bWVudHMuICBUaGlzCgkgIGFsbG93cyBkb3VibGUgcXVvdGVzIHRvIGJlIHVzZWQgaW4gYXJndW1lbnRzLgoKMjAwMS0wNy0xNiAxODo0MCAgcGVyZXJhCgoJKiBTb3VyY2UvOiBjbUF1eFNvdXJjZURpcmVjdG9yeUNvbW1hbmQuY3h4LCBjbU1ha2VmaWxlLmN4eCwKCSAgY21NYWtlZmlsZS5oLCBjbVNvdXJjZUZpbGUuY3h4LCBjbVNvdXJjZUZpbGUuaCwKCSAgY21Tb3VyY2VGaWxlc0NvbW1hbmQuY3h4LCBjbVNvdXJjZUZpbGVzUmVtb3ZlQ29tbWFuZC5jeHgsCgkgIGNtVGFyZ2V0LmN4eDogRU5IOiBTb3VyY2UgYW5kIGhlYWRlciBmaWxlIGV4dGVuc2lvbnMgYXJlIGluCgkgIHZhcmlhYmxlcyBpbiBjbU1ha2VmaWxlLiAgQVVYX1NPVVJDRV9ESVJFQ1RPUlkgd2lsbCBvbmx5IGFkZAoJICBmaWxlcyB0aGF0IGhhdmUgYSAic291cmNlIiBleHRlbnNpb24uCgoyMDAxLTA3LTE2IDE1OjE5ICBpYmFuZXoKCgkqIE1vZHVsZXMvOiBGaW5kR0xVLmNtYWtlLCBGaW5kR0xVVC5jbWFrZToJU2VhcmNoIHBhdGggZm9yCgkgIE9wZW5HTCByZWxhdGVkIGxpYnJhcmllcwoKMjAwMS0wNy0xNiAxMDoxNyAgaG9mZm1hbgoKCSogVGVtcGxhdGVzLzogQ01ha2VTeXN0ZW1Db25maWcuY21ha2UuaW4sIGNvbmZpZ3VyZSwgY29uZmlndXJlLmluOgoJICBFTkg6IGFkZCBhIHZhcmlhYmxlIGZvciBDTUFLRV9DT01QSUxFUl9JU19HTlVDWFgKCjIwMDEtMDctMTYgMTA6MTQgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbVNvdXJjZUZpbGUuY3h4OiBFTkg6IGFkZCBzdXBwb3J0IGZvcgoJICBtYWMgb3N4CgoyMDAxLTA3LTE1IDIxOjEwICBiYXJyZQoKCSogTW9kdWxlcy9GaW5kUHl0aG9uTGlicy5jbWFrZTogdXBkYXRlIGluY2x1ZGUvbGliIHBhdGggdG8gUHl0aG9uCgkgIChMaW51eCkKCjIwMDEtMDctMTEgMTM6MzAgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuaDogdmVyc2lvbiBudW0KCjIwMDEtMDctMTEgMTI6MTIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQlVHOiBtYWtlIHN1cmUgZmluZCBwcm9ncmFtIGRvZXMgbm90CgkgIGZpbmQgZGlyZWN0b3JpZXMKCjIwMDEtMDctMTAgMTc6MTMgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtSW5jbHVkZUNvbW1hbmQuY3h4LCBjbUxvYWRDYWNoZUNvbW1hbmQuY3h4OiBCVUc6CgkgIHJlbW92ZSBpb3N0cmVhbS5oIGluY2x1ZGVzCgoyMDAxLTA3LTEwIDE2OjIwICBiZXJrCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBVbm5lY2Vzc2FyeSB2YXJpYWJsZQoKMjAwMS0wNy0xMCAxNjoyMCAgYmVyawoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBCZXR0ZXIgZXJyb3IgY2hlY2tpbmcuCgoyMDAxLTA3LTEwIDE0OjI5ICBob2ZmbWFuCgoJKiBUZW1wbGF0ZXMvOiBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbjogQlVHOiBmaXggZXhjYXBlIG9mICogZm9yCgkgIGNtYWtlCgoyMDAxLTA3LTEwIDEzOjU3ICBraW5nCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IFdoZW4gc3BsaXR0aW5nIGEgZnVsbAoJICBwYXRoIGxpYnJhcnkgaW50byBzZXBhcmF0ZSAtTCBhbmQgLWwgcGFydHMsIHRoZSAtbCBwYXJ0IG1heSBub3QKCSAgaGF2ZSBhICJsaWIiIHByZWZpeCBvbiBjeWd3aW4uCgoyMDAxLTA3LTEwIDEyOjA5ICBraW5nCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IFJlbW92aW5nIGF1dG9tYXRpYyBzZXR0aW5nIG9mCgkgIEJVSUxEX1NIQVJFRF9MSUJTLiAgUHJvamVjdHMgdGhhdCBzdXBwb3J0IHRoaXMgc2hvdWxkIGV4cGxpY2l0bHkKCSAgZGVjbGFyZSBpdCB3aXRoIHRoZSBPUFRJT04gY29tbWFuZCwgb3Igc2V0IGl0cyBsaWJyYXJpZXMgdG8KCSAgc2hhcmVkIG9yIHN0YXRpYyBkaXJlY3RseSBvbiBlYWNoIEFERF9MSUJSQVJZIGNvbW1hbmQuCgoyMDAxLTA3LTEwIDExOjU2ICBiZXJrCgoJKiBNb2R1bGVzL0RhcnQuY21ha2U6IENoZWNraW5nIGlmIHRjbHNoY29tbWFuZCBpcyBkZWZpbmVkIGJlZm9yZQoJICBydW5uaW5nIGl0LgoKMjAwMS0wNy0xMCAxMTo0NiAga2luZwoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBBZGRlZAoJICAtRChsaWJyYXJ5X25hbWUpX0VYUE9SVFMgdG8gYnVpbGQgcnVsZXMgZm9yIHNvdXJjZXMgdGhhdCBhcmUKCSAgZ29pbmcgdG8gYmUgbGlua2VkIGludG8gYSBzaGFyZWQgbGlicmFyeS4gIFRoaXMgYWxsb3dzIGRsbGV4cG9ydAoJICBzZXR1cCBmb3IgRExMIGJ1aWxkaW5nIG9uIGN5Z3dpbi4gIEl0IG1heSBhbHNvIGNvbWUgaW4gaGFuZHkgaW4KCSAgdW5peCBpbiB0aGUgZnV0dXJlLiAgVGhpcyBjb3JyZXNwb25kcyB0byB0aGUgc2FtZSBkZWZpbml0aW9uCgkgIGFkZGVkIGJ5IHRoZSBkbGwgZHNwIHRlbXBsYXRlIGluIHdpbmRvd3MuCgoyMDAxLTA3LTEwIDA5OjIzICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21CdWlsZE5hbWVDb21tYW5kLmN4eDogY2hhbmdlcyB0byBiZXR0ZXIgaGFuZGxlIG9sZAoJICB2YWx1ZXMgb3IgaGFuZCBzZXQgdmFsdWVzCgoyMDAxLTA3LTA5IDEyOjQ2ICBub2JvZHkKCgkqIERhcnRDb25maWcuY21ha2U6IERpc2FibGVkIGRveHlnZW4gYW5kIGduYXRzCgoyMDAxLTA3LTA4IDE3OjU0ICBwZXJlcmEKCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogbGlicmFyeSBleHRlbnNpb24gZ29lcwoJICBhZnRlciBsaWJyYXJ5IG5hbWUsIG5vdCBiZWZvcmUKCjIwMDEtMDctMDYgMTQ6NDEgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuaDoKCSAgRU5IOiBzb21lIGNsZWFuIHVwLCBhbmQgYmV0dGVyIGNoZWNraW5nIHRvIHNlZSBpZiB3ZSBhcmUgYnVpbGRpbmcKCSAgY21ha2UKCjIwMDEtMDctMDYgMTQ6MTEgIGhvZmZtYW4KCgkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmluOiBFTkg6IHJ1biBtYWtlIGRlcGVuZAoKMjAwMS0wNy0wNiAxMjo0NiAgd2lsbAoKCSogU291cmNlL2NtQ29tbWFuZC5oOiBFUlI6U3BlbGxpbmcgbWlzdGFrZQoKMjAwMS0wNy0wNiAwOToyMiAga2luZwoKCSogU291cmNlL2NtU3RhbmRhcmRJbmNsdWRlcy5oOiBFTkg6IFdhcm5pbmcgNDUwMyBkaXNhYmxlIGZvciBNU1ZDLgoKMjAwMS0wNy0wNSAxODoxNSAgaG9mZm1hbgoKCSogVGVtcGxhdGVzLzogY29uZmlndXJlLCBjb25maWd1cmUuaW46IEJVRzogZml4IGZsYWdzIGZvciBjeWd3aW4KCSAgYW5kIHNoYXJlZCBidWlsZHMKCjIwMDEtMDctMDUgMTc6NTIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogRU5IOiBhZGQgYmV0dGVyIGVycm9yIG91dHB1dAoKMjAwMS0wNy0wNSAxMjowMyAgaG9mZm1hbgoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgVGVtcGxhdGVzL2NvbmZpZ3VyZSwKCSAgVGVtcGxhdGVzL2NvbmZpZ3VyZS5pbjogQlVHOiBmaXggc29sYXJpcyBwcm9ibGVtcyBpbiBpbnN0YWxsIGFuZAoJICBhcgoKMjAwMS0wNy0wMyAxMDo1MyAga2luZwoKCSogU291cmNlL2NtQ2FibGVXcmFwVGNsQ29tbWFuZC5jeHg6IEVOSDogUmVtb3ZlZCAtZnN5bnRheC1vbmx5IGZsYWcKCSAgZnJvbSBjYWxsIHRvIGdjYy14bWwuICBJdCBzaG91bGQgYmUgcGFydCBvZiBHQ0NYTUxfRkxBR1MuCgoyMDAxLTA3LTAzIDA1OjI3ICBzY290dGltCgoJKiBTb3VyY2UvY21EU1BXcml0ZXIuY3h4LCBUZW1wbGF0ZXMvQ01ha2VXaW5kb3dzU3lzdGVtQ29uZmlnLmNtYWtlLAoJICBUZW1wbGF0ZXMvRExMSGVhZGVyLmRzcHRlbXBsYXRlLCBUZW1wbGF0ZXMvRVhFSGVhZGVyLmRzcHRlbXBsYXRlLAoJICBUZW1wbGF0ZXMvRVhFV2luSGVhZGVyLmRzcHRlbXBsYXRlLAoJICBUZW1wbGF0ZXMvVXRpbGl0eUhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVtcGxhdGVzL3N0YXRpY0xpYkhlYWRlci5kc3B0ZW1wbGF0ZTogUmVuYW1lZCB0aGUKCSAgUmVsZWFzZVdpdGhEZWJ1Z0luZm8gQnVpbGQgY29uZmlndXJhdGlvbiB0byBSZWxXaXRoRGViSW5mbywKCSAgYmVjYXVzZSBtc2RldiBkb2VzIHNpbXBsZSBtYXRjaGluZyBvbiBidWlsZCB0YXJnZXQsIGFuZAoJICBzcGVjaWZ5aW5nIGVpdGhlciBSZWxlYXNlIG9yIERlYnVnIGJ1aWxkcyB3b3VsZCBhbHNvIGJ1aWxkCgkgIFJlbGVhc2VXaXRoRGVidWdJbmZvCgoyMDAxLTA3LTAyIDE2OjUyICBraW5nCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IFdoZW4gb3V0cHV0dGluZyByZWxhdGl2ZQoJICBwYXRoIG9mIC5vLCB0aGUgcmVsYXRpdmUgcGF0aCBvZiB0aGUgc291cmNlIGZpbGUgbXVzdCBhbHNvIGJlCgkgIHdyaXR0ZW4gKG5vdCBmdWxsIHBhdGgpLgoKMjAwMS0wNy0wMiAxNjozMCAgbWlsbGVyanYKCgkqIFNvdXJjZS9jbUJ1aWxkTmFtZUNvbW1hbmQuY3h4OiBGSVg6IEJ1aWxkTmFtZSByZW1vdmVzIHBhdGggdG8KCSAgY29tcGlsZXIgYW5kIGNvbnZlcnRzIGFueSBpbGxlZ2FsIGNoYXJhY3RlcnMKCjIwMDEtMDctMDIgMTU6NTcgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ29tbWFuZHMuY3h4LCBjbUJ1aWxkU2hhcmVkTGlicmFyaWVzQ29tbWFuZC5jeHgsCgkgIGNtQnVpbGRTaGFyZWRMaWJyYXJpZXNDb21tYW5kLmg6IEVOSDogUmVtb3ZlZCBkZXByZWNhdGVkIGNvbW1hbmQKCSAgY29tcGxldGVseS4KCjIwMDEtMDctMDIgMTU6MzggIGtpbmcKCgkqIFNvdXJjZS86IGNtQWRkTGlicmFyeUNvbW1hbmQuY3h4LCBjbUFkZExpYnJhcnlDb21tYW5kLmgsCgkgIGNtRFNQV3JpdGVyLmN4eCwgY21EU1BXcml0ZXIuaCwgY21EU1dXcml0ZXIuY3h4LCBjbU1ha2VmaWxlLmN4eCwKCSAgY21NYWtlZmlsZS5oLCBjbVRhcmdldC5oLCBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmg6IEVOSDogQWRkZWQgc3VwcG9ydCBmb3Igc2VsZWN0aW9uIG9mCgkgIHN0YXRpYy9zaGFyZWQgYnVpbGQgb24gYSBwZXItbGlicmFyeSBiYXNpcy4KCjIwMDEtMDctMDIgMTQ6MzggIG1hcnRpbmsKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IGJldHRlciBhcmcgc3VwcG9ydAoKMjAwMS0wNy0wMiAxNDowMyAgYmVyawoKCSogU291cmNlLzogY21WVEtXcmFwSmF2YUNvbW1hbmQuaCwgY21WVEtXcmFwUHl0aG9uQ29tbWFuZC5oLAoJICBjbVZUS1dyYXBUY2xDb21tYW5kLmg6IFNob3VsZCBub3QgYmUgaW5oZXJpdGVkLgoKMjAwMS0wNy0wMiAxNDowMyAgYmVyawoKCSogU291cmNlLzogY21WVEtXcmFwSmF2YUNvbW1hbmQuY3h4LCBjbVZUS1dyYXBQeXRob25Db21tYW5kLmN4eCwKCSAgY21WVEtXcmFwVGNsQ29tbWFuZC5jeHg6IEJldHRlciBlcnJvciBjaGVja2luZy4KCjIwMDEtMDctMDIgMTQ6MDIgIGJlcmsKCgkqIFNvdXJjZS9jbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmN4eDogV3JvbmcgcGxhY2UgZm9yIGZvdXQKCjIwMDEtMDYtMjkgMTY6NDYgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmN4eDogYmV0dGVyIGNvbmZpZ3VyZSBmaWxlIGNvbW1hbmQKCjIwMDEtMDYtMjkgMTY6MDYgIG5vYm9keQoKCSogQ01ha2VMaXN0cy50eHQ6IGFkZGVkIGxvZ28KCjIwMDEtMDYtMjkgMDk6NTMgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbWFrZXRlc3QuY3h4OiBtaW5vciBjb21waWxlIGZpeAoKMjAwMS0wNi0yOSAwOTozMCAgaG9mZm1hbgoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgVGVtcGxhdGVzL0NNYWtlU3lzdGVtQ29uZmlnLmNtYWtlLmluLCBUZW1wbGF0ZXMvY29uZmlndXJlLAoJICBUZW1wbGF0ZXMvY29uZmlndXJlLmluOiBCVUc6IGJyZWFrIHVwIENNQUtFX0FSIGludG8gcHJvZ3JhbSBhbmQKCSAgQVJHUwoKMjAwMS0wNi0yOCAxNzo0NSAgaG9mZm1hbgoKCSogY29uZmlndXJlLCBjb25maWd1cmUuaW4sIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwKCSAgU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgVGVtcGxhdGVzL2NvbmZpZ3VyZSwKCSAgVGVtcGxhdGVzL2NvbmZpZ3VyZS5pbjogRU5IOiB2YXJpb3VzIGZpeGVzIHRvIGFsbG93IGJvb3RzdHJhcCBvbgoJICBzdW5vcyB3aXRoIENDCgoyMDAxLTA2LTI4IDE2OjQ1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21FbmFibGVUZXN0aW5nQ29tbWFuZC5jeHg6IGZpeGVkIERhcnQgaXNzdWUKCjIwMDEtMDYtMjggMTU6MjcgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy9DTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbjogc2V0IHZhbHVlcyBpbiB0aGUgY2FjaGUgbm90CgkgIGp1c3QgdGhlIGN1cnJlbnQgbWFrZWZpbGUKCjIwMDEtMDYtMjggMTU6MDggIGJlcmsKCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IFNwZWNpYWwgcnVsZXMgZm9yCgkgIG91dC1vZi1wYWNrYWdlIHNvdXJjZSBmaWxlcy4KCjIwMDEtMDYtMjggMTQ6MzggIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy86IGNvbmZpZ3VyZSwgY29uZmlndXJlLmluOiBCVUc6IHBhc3MgZmxhZ3MgdG8gY29tcGlsZXIKCSAgZHVyaW5nIGNvbmZpZ3VyZQoKMjAwMS0wNi0yOCAxNDoyNyAgaG9mZm1hbgoKCSogVGVtcGxhdGVzLzogY29uZmlndXJlLCBjb25maWd1cmUuaW46IEJVRzogcGFzcyBmbGFncyB0byBjb21waWxlcgoJICBkdXJpbmcgY29uZmlndXJlCgoyMDAxLTA2LTI4IDE0OjAxICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Tb3VyY2VGaWxlc0NvbW1hbmQuY3h4OiBCVUc6IGZpbmQgZmlsZXMgaW4KCSAgc3ViZGlyZWN0b3JpZXMKCjIwMDEtMDYtMjggMTE6NDIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVN0YW5kYXJkSW5jbHVkZXMuaDogZml4IGZvciBzY29wZSBvbiBocAoKMjAwMS0wNi0yOCAxMTo0MCAgaG9mZm1hbgoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBCVUc6IGNoZWNrIHNpemUgb2YgcGF0aCBlcnJvciwgSFAKCSAgZ2NvdW50IHByb2JsZW0KCjIwMDEtMDYtMjcgMTc6MTkgIGJlcmsKCgkqIFNvdXJjZS9jbVNvdXJjZUZpbGVzQ29tbWFuZC5jeHg6IEFkZGVkIHZhcmlhYmxlIGV4cGFuc2lvbi4KCjIwMDEtMDYtMjcgMTY6MTggIG1hcnRpbmsKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmg6IHVwZGF0ZWQgdmVyc2lvbiB0byAwLjMKCjIwMDEtMDYtMjcgMTY6MTcgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmg6IHVwZGF0ZWQgdmVyc2lvbiB0byAwLjIKCjIwMDEtMDYtMjcgMTY6MTQgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogZml4IGluc3RhbGwgd2hlbgoJICBleGVjdXRhYmxlIGFuZCBsaWIgcGF0aCBzZXQKCjIwMDEtMDYtMjcgMTU6NDIgIGhvZmZtYW4KCgkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmluLCBTb3VyY2UvQ01ha2VMaXN0cy50eHQsCgkgIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwgU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtYWtlLmN4eCwgVGVtcGxhdGVzL2luc3RhbGwtc2g6IEVOSDogZml4IGluc3RhbGwgZm9yCgkgIGN5Z3dpbiwgYnVpbGQgY21ha2UgZnJvbSBjb25maWd1cmUKCjIwMDEtMDYtMjcgMTU6MTMgIGtpbmcKCgkqIFNvdXJjZS86IGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuaDoKCSAgQlVHOiBDaGVjayBmb3IgYnVpbGRpbmcgc2hhcmVkIGxpYnJhcmllcyBzaG91bGQgcmVhZCBmcm9tIHRoZQoJICBtYWtlIGZpbGUncyBzZXR0aW5nLCBub3QgZGlyZWN0bHkgZnJvbSB0aGUgY2FjaGUuCgoyMDAxLTA2LTI3IDE1OjA5ICBraW5nCgoJKiBTb3VyY2UvY21EU1BXcml0ZXIuY3h4OiBCVUc6IENoZWNrIGZvciBidWlsZGluZyBzaGFyZWQgbGlicmFyaWVzCgkgIHNob3VsZCByZWFkIGZyb20gbWFrZWZpbGUncyBzZXR0aW5nLCBub3QgZGlyZWN0bHkgZnJvbSB0aGUgY2FjaGUuCgoyMDAxLTA2LTI3IDEzOjE2ICBtYXJ0aW5rCgoJKiBDTWFrZS5ydGY6IHVwZGF0ZWQgZm9yIDAuMgoKMjAwMS0wNi0yNyAxMzoxMiAgbWFydGluawoKCSogU291cmNlLzogY21MaW5rTGlicmFyaWVzQ29tbWFuZC5oLCBjbVN1YmRpckNvbW1hbmQuaDoKCSAgZG9jdW1lbnRhdGlvbiBjaGFuZ2UKCjIwMDEtMDYtMjcgMTI6MDkgIHBlcmVyYQoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBVc2UgJHtNQUtFfSBpbnN0ZWFkIG9mCgkgIG1ha2UgZm9yIGRlcGVuZGVudCBsaWJyYXJ5IHJ1bGVzCgoyMDAxLTA2LTI3IDExOjQ5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Db21tYW5kcy5jeHg6IGFscGhhYmV0aXplZAoKMjAwMS0wNi0yNyAxMTozNSAgbWFydGluawoKCSogU291cmNlL2NtYWtlLmN4eDogYWRkZWQgaGVscCBvcHRpb25zCgoyMDAxLTA2LTI3IDA5OjE3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21ha2V0ZXN0LmN4eCwgY21ha2V0ZXN0LmguaW46IG1pbm9yCgkgIGZpeGVzIHRvIHRlc3RpbmcKCjIwMDEtMDYtMjcgMDk6MTYgIG1hcnRpbmsKCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogbW9kIHRvIHRoZSB0ZXN0aW5nCgoyMDAxLTA2LTI3IDA5OjE2ICBtYXJ0aW5rCgoJKiBDTWFrZUxpc3RzLnR4dDogYWRkZWQgZGVwZW5kZW5jaWVzIGZvciB0ZXN0aW5nCgoyMDAxLTA2LTI2IDE2OjE5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21ha2UuZHNwOiBCVUc6IGNoYW5nZSB0byBkb3MgbW9kZQoKMjAwMS0wNi0yNiAxMzo0MSAgbWFydGluawoKCSogTW9kdWxlcy9EYXJ0LmNtYWtlOiB1cGRhdGUgZm9yIENNYWtlIGNoYW5nZXMKCjIwMDEtMDYtMjYgMTM6MjMgIG1hcnRpbmsKCgkqIFNvdXJjZS86IENNYWtlTGlzdHMudHh0LCBjbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuY3h4LAoJICBjbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuaCwgY21CdWlsZENvbW1hbmQuY3h4OiBtb2RpZmllZCBob3cKCSAgcGF0aHMgYXJlIGVzY2FwZWQsIGFkZGVkIGRlcGVuZHMKCjIwMDEtMDYtMjYgMTA6MDEgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQWRkRGVwZW5kZW5jaWVzQ29tbWFuZC5jeHgsCgkgIGNtQWRkRGVwZW5kZW5jaWVzQ29tbWFuZC5oLCBjbUNvbW1hbmRzLmN4eDogYWRkZWQgYWRkCgkgIGRlcGVuZGVuY2llcyBjb21tYW5kCgoyMDAxLTA2LTI1IDEzOjM0ICBtaWxsZXJqdgoKCSogU291cmNlLzogY21CdWlsZE5hbWVDb21tYW5kLmN4eCwgY21TaXRlTmFtZUNvbW1hbmQuY3h4OiBGSVg6CgkgIGFkZGVkIEFkZERlZmluaXRpb24oKSB0byBzdG9yZSBzaXRlIG5hbWUgYW5kIGJ1aWxkIG5hbWUgaW4KCSAgbWFrZWZpbGUuICBBbHNvIHN0cmlwcGVkCXdoaXRlIHNwYWNlIGZyb20gdGhlIHJlc3VsdCBvZgoJICBob3N0bmFtZS4KCjIwMDEtMDYtMjUgMTA6NTkgIG1hcnRpbmsKCgkqIENNYWtlTGlzdHMudHh0OiBtYWRlIGNtYWtlIHdyaXRlIGl0cyBleGVjcyBpbnRvIENNYWtlL1NvdXJjZQoKMjAwMS0wNi0yMiAxNDo1MyAgaG9mZm1hbgoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBzaGFyZWQgbGlicmFyaWVzIHNob3VsZAoJICBub3QgZGVwZW5kIG9uIG90aGVyIHNoYXJlZCBsaWJyYXJpZXMsIHRoZXkgZ2V0IHJlbGlua2VkIHRvbwoJICBvZnRlbi4KCjIwMDEtMDYtMjIgMTQ6NTMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogRU5IOiBwdXQgYmFjayBzdGRpby5oIHRvIGdldCBzcHJpbnRmCgoyMDAxLTA2LTIyIDE0OjIzICBiaWRkaQoKCSogU291cmNlL2NtQ29tbWFuZHMuY3h4OiBFUlI6IFNlcmlvdXMgcHJvYmxlbXMgd2l0aCBteSBDVlMuIEhvdyBkaWQKCSAgdGhpcyBnZXQgY29tbWl0dGVkPwoKMjAwMS0wNi0yMiAxMjoxOSAga2luZwoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBCVUc6IFdyb3RlIGNvcnJlY3QgaW1wbGVtZW50YXRpb24gb2YKCSAgY21Db3B5RmlsZS4KCjIwMDEtMDYtMjIgMTI6MTggIGtpbmcKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEJVRzogRml4ZWQgZ2VuZXJhdGlvbiBvZiBjTWFrZVJvb3QgaW4gb25lIGNhc2UuCgoyMDAxLTA2LTIyIDEyOjE4ICBraW5nCgoJKiBTb3VyY2UvY21TdGFuZGFyZEluY2x1ZGVzLmg6IEVOSDogQWRkZWQgc3RyaW5nLmggaW5jbHVkZS4KCjIwMDEtMDYtMjIgMTI6MTcgIGtpbmcKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogRVJSOiBSZW1vdmVkIHN0cmF5IHN0YW5kYXJkIGhlYWRlcgoJICBpbmNsdWRlLiAgVGhleSBzaG91bGQgYmUgYWRkZWQgdG8gY21TdGFuZGFyZEluY2x1ZGVzLmgKCjIwMDEtMDYtMjIgMTI6MTcgIGtpbmcKCgkqIFNvdXJjZS9jbUluY2x1ZGVDb21tYW5kLmN4eDogQlVHOiBBZGRlZCBtaXNzaW5nIG5ld2xpbmUgaW4gZXJyb3IKCSAgbWVzc2FnZS4KCjIwMDEtMDYtMjIgMTE6MzIgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogcmVtb3ZlZCBzdHJpY21wCgoyMDAxLTA2LTIyIDExOjI4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IGVzY2FwZSBxdW90ZXMgb24gY21ha2V0ZXN0LmguaW4KCjIwMDEtMDYtMjIgMTE6MTUgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQ29uZmlndXJlRmlsZUNvbW1hbmQuY3h4LCBjbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmg6CgkgIGFkZGVkIGVzY2FwZSBxdW90ZXMgb3B0aW9uCgoyMDAxLTA2LTIyIDExOjE0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oOiBhZGRlZCBlc2NhcGUgcXVvdGVzIG9wdGlvbgoJICBpbiByZXBsYWNlIHN0cmluZ3MKCjIwMDEtMDYtMjIgMTA6MjEgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmg6IGFkZGVkIGVzY2FwZSBxdW90ZQoJICBtZXRob2QKCjIwMDEtMDYtMjIgMDk6NTggIGJpZGRpCgoJKiBTb3VyY2UvOiBjbUNvbW1hbmRzLmN4eCwgY21Tb3VyY2VGaWxlc1JlbW92ZUNvbW1hbmQuY3h4LAoJICBjbVNvdXJjZUZpbGVzUmVtb3ZlQ29tbWFuZC5oOiBFTkg6IEFkZGVkIG5ldyBjb21tYW5kCgkgIFNPVVJDRV9GSUxFU19SRU1PVkUgd2hpY2ggY2FuIGJlIHVzZWQgdG8gdGFrZSBmaWxlcyBvdXQgb2YgdGhlCgkgIGJ1aWxkLiBFc3BlY2lhbGx5IHVzZWZ1bCB3aGVuIGNlcnRhaW4gY29tcGlsZXJzIGNob2tlIG9uIHRoZSBvZGQKCSAgZmlsZS4KCjIwMDEtMDYtMjIgMDk6NDcgIGJpZGRpCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oOiBFTkg6IEFkZGVkCgkgIFJlbW92ZVNvdXJjZSguLi4pIHRvIGNvbXBsZW1lbnQgQWRkU291cmNlLiBOZXcgY29tbWFuZAoJICBTT1VSQ0VfRklMRVNfUkVNT1ZFIHVzZXMgaXQgYW5kIGNhbiBiZSB1c2VkIHRvIHRha2UgZmlsZXMgb3V0IG9mCgkgIHRoZSBidWlsZAoKMjAwMS0wNi0yMiAwOToyNyAgbWFydGluawoKCSogU291cmNlL2NtYWtldGVzdC5jeHg6IG5hbWVzcGFjZSBpc3N1ZXMKCjIwMDEtMDYtMjEgMTc6NTUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbURTV1dyaXRlci5jeHg6IGFsbG93IG5vIG5hbWUgcHJvamVjdAoKMjAwMS0wNi0yMSAxNzo1MyAgbWFydGluawoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0OiBiZXR0ZXIgdGVzdGluZwoKMjAwMS0wNi0yMSAxNzo1MyAgbWFydGluawoKCSogU291cmNlLzogY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaDogYWRkZSBjaGFuZ2VEaXJlY3RvcnkKCjIwMDEtMDYtMjEgMTc6NTIgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtYWtldGVzdC5jeHgsIGNtYWtldGVzdC5oLmluOiBuZXcgdGVzdCBkcml2ZXIKCjIwMDEtMDYtMjEgMTc6NTIgIG1hcnRpbmsKCgkqIFRlc3RzL1NpbXBsZS86IENNYWtlTGlzdHMudHh0LCBzaW1wbGUuY3h4OiBuZXcgdGVzdHMKCjIwMDEtMDYtMjEgMTc6NDEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbWFrZS5jeHg6IEJVRzogZml4IGZvciB1bml4CgoyMDAxLTA2LTIxIDE3OjI1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IGNsZWFuIHVwCgoyMDAxLTA2LTIxIDE3OjIwICBob2ZmbWFuCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFTkg6IGxvb2sgaW4gdGhlIFBSRUZJWCBkaXIgZm9yIHRoZSBtb2R1bGVzCgoyMDAxLTA2LTIxIDE2OjM0ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUNvbmZpZ3VyZS5jbWFrZS5oLmluLCBjbWFrZS5jeHg6IEVOSDogYmV0dGVyIGFiaWxpdHkKCSAgdG8gZmluZCBjbWFrZSBwcm9ncmFtCgoyMDAxLTA2LTIxIDE1OjU3ICBtYXJ0aW5rCgoJKiBUZW1wbGF0ZXMvQ01ha2VMaXN0cy50eHQ6IG1pbm9yIGluc3RhbGwgZml4CgoyMDAxLTA2LTIxIDE1OjU0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBiZXR0ZXIgcGVybWlzc2lvbiBoYW5kbGluZwoKMjAwMS0wNi0yMSAxNTowMiAga2luZwoKCSogU291cmNlLzogY21JbmNsdWRlUmVndWxhckV4cHJlc3Npb25Db21tYW5kLmN4eCwKCSAgY21JbmNsdWRlUmVndWxhckV4cHJlc3Npb25Db21tYW5kLmgsIGNtTWFrZURlcGVuZC5jeHgsCgkgIGNtTWFrZURlcGVuZC5oLCBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oLAoJICBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogRXh0ZW5kZWQKCSAgSU5DTFVERV9SRUdVTEFSX0VYUFJFU1NJT04gdG8gYWxsb3cgc2VsZWN0aXZlIGNvbXBsYWludHMgYWJvdXQKCSAgbWlzc2luZyBkZXBlbmRlbmNpZXMuCgoyMDAxLTA2LTIxIDE1OjAyICBraW5nCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogQWRkZWQgQlVJTERfRkxUS19HVUkgb3B0aW9uIChkZWZhdWx0cwoJICB0byBPTikuCgoyMDAxLTA2LTIxIDEzOjQ4ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBDTWFrZUxpc3RzLnR4dCwgY21Tb3VyY2VGaWxlLmN4eCwgY21TdGFuZGFyZEluY2x1ZGVzLmg6CgkgIEJVRzogZml4IGJvb3RzdHJhcCBidWlsZCBvbiB1bml4CgoyMDAxLTA2LTIxIDEyOjMxICBob2ZmbWFuCgoJKiBDTWFrZUxpc3RzLnR4dDogRU5IOiBhZGQgaW5jbHVkZSByZWdleHAKCjIwMDEtMDYtMjEgMTI6MDEgIG1hcnRpbmsKCgkqIENNYWtlTGlzdHMudHh0LCBNYWtlZmlsZS5pbiwgY29uZmlndXJlLCBjb25maWd1cmUuaW4sIGluc3RhbGwtc2gsCgkgIE1vZHVsZXMvQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9jbUluc3RhbGxGaWxlc0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21JbnN0YWxsRmlsZXNDb21tYW5kLmgsIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwKCSAgU291cmNlL2NtU3lzdGVtVG9vbHMuaCwgU291cmNlL2NtYWtlLmN4eCwKCSAgVGVtcGxhdGVzL0NNYWtlTGlzdHMudHh0LCBUZW1wbGF0ZXMvaW5zdGFsbC1zaDogYmV0dGVyIGluc3RhbGwKCSAgc3VwcG9ydAoKMjAwMS0wNi0yMSAxMDo1OCAgaG9mZm1hbgoKCSogVGVtcGxhdGVzL0NNYWtlU3lzdGVtQ29uZmlnLmNtYWtlLmluOiBCVUc6IHJlbW92ZSBxdW90ZXMKCjIwMDEtMDYtMjEgMTA6MzYgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtSW5jbHVkZUNvbW1hbmQuY3h4LCBjbUluY2x1ZGVDb21tYW5kLmg6IEVOSDogYWRkCgkgIG9wdGlvbmFsIGluY2x1ZGUgYW5kIG9ubHkgYWxsb3cgb25lIGZpbGUgcGVyIElOQ0xVREUKCjIwMDEtMDYtMjAgMTY6NDkgIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dCwgU291cmNlL2NtRFNQV3JpdGVyLmN4eCwKCSAgVGVtcGxhdGVzL0RMTEhlYWRlci5kc3B0ZW1wbGF0ZSwgVGVtcGxhdGVzL0VYRUhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVtcGxhdGVzL0VYRVdpbkhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVtcGxhdGVzL3N0YXRpY0xpYkhlYWRlci5kc3B0ZW1wbGF0ZTogRU5IOiBib290IHN0cmFwIG1mYyBndWkKCSAgYW5kIHN1cHBvcnQgZm9yIE1GQwoKMjAwMS0wNi0yMCAxMzo1NiAgaG9mZm1hbgoKCSogU291cmNlL0NNYWtlTGlzdHMudHh0LCBTb3VyY2UvY21Db25maWd1cmUuY21ha2UuaC5pbiwKCSAgU291cmNlL2NtU291cmNlRmlsZS5jeHgsIFNvdXJjZS9jbVN0YW5kYXJkSW5jbHVkZXMuaCwKCSAgU291cmNlL2NtYWtlLmN4eCwgVGVtcGxhdGVzL0NNYWtlU3lzdGVtQ29uZmlnLmNtYWtlLmluLAoJICBUZW1wbGF0ZXMvY29uZmlndXJlLCBUZW1wbGF0ZXMvY29uZmlndXJlLmluOiBFTkg6IGZpeCBjbWFrZSBzbyBpdAoJICBjYW4gYm9vdCBzdHJhcCBpdHNlbGYgYmV0dGVyCgoyMDAxLTA2LTE5IDE2OjI5ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRGTFRLLmNtYWtlOiBbbm8gbG9nIG1lc3NhZ2VdCgoyMDAxLTA2LTE5IDE2OjEwICBob2ZmbWFuCgoJKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEVOSDogYnVpbGQgZmx0ayBjbWFrZSBvbiB1bml4IHdpdGgKCSAgYm9vdHN0cmFwCgoyMDAxLTA2LTE5IDE2OjA1ICBraW5nCgoJKiBNYWtlZmlsZS5pbjogQlVHOiBFeGVjdHVhYmxlIGluc3RhbGxhdGlvbiBtdXN0IHNldCBwZXJtaXNzaW9ucyB0bwoJICA3NTUgaW4gY2FzZSBpbnN0YWxsZXIgaGFzIGEgdW1hc2sgbGlrZSAwMDcuCgoyMDAxLTA2LTE5IDE1OjUwICBraW5nCgoJKiBTb3VyY2UvOiBjbUJ1aWxkU2hhcmVkTGlicmFyaWVzQ29tbWFuZC5jeHgsIGNtYWtlLmN4eDogRU5IOiBDTWFrZQoJICBub3cgYWx3YXlzIGFkZHMgdGhlIEJVSUxEX1NIQVJFRF9MSUJTIGNhY2hlIGVudHJ5LiAgVGhlCgkgIEJVSUxEX1NIQVJFRF9MSUJSQVJJRVMgY29tbWFuZCB0aGF0IHVzZWQgdG8gYmUgdXNlZCBpcyBub3cKCSAgZGVwcmVjYXRlZC4KCjIwMDEtMDYtMTkgMTU6MzMgIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogRU5IOiBhZGQgYm9vdHN0cmFwIHN1cHBvcnQgZm9yIGJ1aWxkaW5nCgkgIGZsdGsKCjIwMDEtMDYtMTkgMTI6MDMgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ2FibGVDbG9zZU5hbWVzcGFjZUNvbW1hbmQuY3h4LAoJICBjbUNhYmxlQ2xvc2VOYW1lc3BhY2VDb21tYW5kLmgsIGNtQ2FibGVDb21tYW5kLmN4eCwKCSAgY21DYWJsZUNvbW1hbmQuaCwgY21DYWJsZURhdGEuY3h4LCBjbUNhYmxlRGF0YS5oLAoJICBjbUNhYmxlRGVmaW5lU2V0Q29tbWFuZC5jeHgsIGNtQ2FibGVEZWZpbmVTZXRDb21tYW5kLmgsCgkgIGNtQ2FibGVJbnN0YW50aWF0ZUNsYXNzQ29tbWFuZC5jeHgsCgkgIGNtQ2FibGVJbnN0YW50aWF0ZUNsYXNzQ29tbWFuZC5oLCBjbUNhYmxlSW5zdGFudGlhdGVDb21tYW5kLmN4eCwKCSAgY21DYWJsZUluc3RhbnRpYXRlQ29tbWFuZC5oLCBjbUNhYmxlT3Blbk5hbWVzcGFjZUNvbW1hbmQuY3h4LAoJICBjbUNhYmxlT3Blbk5hbWVzcGFjZUNvbW1hbmQuaCwgY21DYWJsZVBhY2thZ2VDb21tYW5kLmN4eCwKCSAgY21DYWJsZVBhY2thZ2VDb21tYW5kLmgsIGNtQ2FibGVQYWNrYWdlRW50cnlDb21tYW5kLmN4eCwKCSAgY21DYWJsZVBhY2thZ2VFbnRyeUNvbW1hbmQuaCwgY21DYWJsZVNvdXJjZUZpbGVzQ29tbWFuZC5jeHgsCgkgIGNtQ2FibGVTb3VyY2VGaWxlc0NvbW1hbmQuaCwgY21DYWJsZVdyYXBDb21tYW5kLmN4eCwKCSAgY21DYWJsZVdyYXBDb21tYW5kLmgsIGNtQ29tbWFuZHMuY3h4OiBFTkg6IFJlbW92aW5nIG9sZC1zdHlsZQoJICBjYWJsZSBjb21tYW5kcyByZWxhdGVkIHRvIHRoZSBpbnN0YW50aWF0aW9uIGZ1bmN0aW9uYWxpdHkgd2hpY2gKCSAgaGFzIG5vdyBiZWVuIHJlbW92ZWQgZnJvbSBjYWJsZS4KCjIwMDEtMDYtMTkgMTI6MDEgIGtpbmcKCgkqIFNvdXJjZS9jbU91dHB1dFJlcXVpcmVkRmlsZXNDb21tYW5kLmN4eDogRVJSOiBSZW1vdmVkIHVudXNlZAoJICB2YXJpYWJsZS4KCjIwMDEtMDYtMTkgMDc6NDEgIG1pbGxlcmp2CgoJKiBTb3VyY2UvOiBjbUFkZFRlc3RDb21tYW5kLmN4eCwgY21FbmFibGVUZXN0aW5nQ29tbWFuZC5jeHg6IEVOSDoKCSAgQ2hhbmdlZCBnZW5lcmF0ZWQgZmlsZW5hbWUgdG8gRGFydFRlc3RmaWxlLnR4dAoKMjAwMS0wNi0xOCAxNzoyNiAgaG9mZm1hbgoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBCVUc6IHVzZSBwY2xvc2Ugbm90IGZjbG9zZQoKMjAwMS0wNi0xOCAxNjo1NCAgcGVyZXJhCgoJKiBTb3VyY2UvY21MaW5rTGlicmFyaWVzQ29tbWFuZC5jeHg6IEVOSDogTElOS19MSUJSQVJJRVMoYWJjKSB3aWxsCgkgIGF1dG9tYXRpY2FsbHkgYWRkIHRoZSBwYXRoIHRvIGFiYyB0byB0aGUgbGluayBkaXJlY3RvcmllcywgaWYgdGhlCgkgIHBhdGggaXMga25vd24uCgoyMDAxLTA2LTE4IDE1OjM1ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IHJlbW92ZSB1bnVzZWQKCjIwMDEtMDYtMTggMTU6MzIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogY3JlYXRlIGRpcmVjdG9yaWVzIGluCgkgIHRoZSByaWdodCBwbGFjZQoKMjAwMS0wNi0xOCAxNTozMSAgaG9mZm1hbgoKCSogU291cmNlL2NtYWtlLmN4eDogRU5IOiBtb3ZlIEVYRUNVVEFCTEVfT1VUUFVUX1BBVEggYW5kCgkgIExJQlJBUllfT1VUUFVUX1BBVEggaW5pdGlhbCBjcmVhdGlvbiB0byBhZnRlciB0aGUgQ01ha2VMaXN0cy50eHQKCSAgZmlsZXMgaGF2ZSBiZWVuIHBhcnNlZAoKMjAwMS0wNi0xOCAxMzoxNiAgbWFydGluawoKCSogTW9kdWxlcy9EYXJ0LmNtYWtlOiBvdXQgb2Ygc291cmNlIGRhcnQgc3VwcG9ydAoKMjAwMS0wNi0xNSAxNzo1NyAgaG9mZm1hbgoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBkbyBub3QgYWRkIGFueXRoaW5nIGZyb20KCSAgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHRvIHRoZSBkZXBlbmRzCgoyMDAxLTA2LTE1IDEwOjM1ICBwZXJlcmEKCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogZml4ZWQgc28gdGhhdCBlbXB0eQoJICBsaWJyYXJ5IHBhdGhzIGFyZSBpZ25vcmVkCgoyMDAxLTA2LTE0IDE3OjA2ICBiaWRkaQoKCSogU291cmNlL2NtU291cmNlRmlsZS5jeHg6IEVSUjogYWxsb3cgKi5jcHAgYXMgd2VsbCBhcyAqLmN4eCBldGMKCSAgZXRjCgoyMDAxLTA2LTE0IDExOjQ1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvQ01ha2VMaWIuZHNwOiBhZGRlZCBtYWtlIGRlcGVuZCBvbiB3aW4zMgoKMjAwMS0wNi0xNCAxMDoxOSAgaG9mZm1hbgoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBmaXggaXQgc28gdGhhdCBpZiBhCgkgIE1ha2VmaWxlIGlzIG91dCBvZiBkYXRlIGZvciBzb21lIHJlYXNvbiwgaXQgaXMgb25seSBidWlsdCBvbmNlLAoJICBpdCB3YXMgZG9pbmcgaXQgdHdpY2UuCgoyMDAxLTA2LTE0IDA5OjEwICBtYXJ0aW5rCgoJKiBDTWFrZUxpc3RzLnR4dCwgRGFydENvbmZpZy5jbWFrZTogbW9kaWZpZWQgdGVzdGluZwoKMjAwMS0wNi0xMyAxNzo1MCAgaG9mZm1hbgoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBmaXggc28gaXQgZG9lcyBub3QganVtcAoJICBpbnRvIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBmb3IgaW5pdGFsIHRhcmdldCBidWlsZHMKCjIwMDEtMDYtMTMgMTc6MDMgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgY21ha2UuY3h4OiBFTkg6IGZpeCBFWEVDVVRBQkxFX09VVFBVVF9QQVRIIGFuZAoJICBMSUJSQVJZX09VVFBVVF9QQVRIIGZvciB1bml4CgoyMDAxLTA2LTEzIDE2OjE1ICBtYXJ0aW5rCgoJKiBNb2R1bGVzL0ZpbmREYXJ0LmNtYWtlOiB1c2VkIHRvIGZpbmQgdGhlIGRhcnQgdGVzdGluZyBzeXN0ZW0KCjIwMDEtMDYtMTMgMTQ6NDkgIG1hcnRpbmsKCgkqIENNYWtlTGlzdHMudHh0OiBtaW5vciBkYXJ0IGNoYW5nZQoKMjAwMS0wNi0xMyAxMzo1MyAgbWFydGluawoKCSogU291cmNlLzogY21UYXJnZXQuY3h4LCBjbVRhcmdldC5oOiBkdWgKCjIwMDEtMDYtMTMgMTM6NDkgIG1hcnRpbmsKCgkqIENNYWtlTGlzdHMudHh0LCBTb3VyY2UvY21UYXJnZXQuY3h4LCBTb3VyY2UvY21UYXJnZXQuaDogbWlub3IgY3ZzCgkgIHdlYiBjaGFuZ2VDTWFrZUxpc3RzLnR4dAoKMjAwMS0wNi0xMiAxNDoxNSAgcGVyZXJhCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBUZW1wbGF0ZXMvY29uZmlndXJlLAoJICBUZW1wbGF0ZXMvY29uZmlndXJlLmluOiBCVUc6IFNITElCX0xJTksgd2FzIGJlaW5nIHVzZWQgd2hlbgoJICBsaW5raW5nIHN0YXRpYyBleGVjdXRhYmxlcy4gTWlzc2luZyBjb21tYSBpbiBSVU5USU1FX0ZMQUcgZm9yCgkgIElSSVguICBFTkg6IFVzZXIgc3VwcGxpZWQgU0hMSUJfQ0ZMQUdTICgtZlBJQywgZXRjKSB3aWxsIG92ZXJyaWRlCgkgIGNvbmZpZ3VyZSBkZXRlY3RlZCBmbGFncwoKMjAwMS0wNi0xMiAxMzozMCAgbWFydGluawoKCSogQ01ha2VMaXN0cy50eHQsIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDogc3VwcG9ydCB0ZXN0aW5nCgoyMDAxLTA2LTEyIDEyOjIyICBraW5nCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IENNYWtlJ3MgY29uZmlndXJlIG5lZWRzCgkgIHRvIHJ1biB3aXRoIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBhcyB0aGUgcHJvamVjdCdzIGJpbmFyeQoJICBkaXJlY3RvcnkuCgoyMDAxLTA2LTEyIDExOjU1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbWFrZW1haW4uY3h4OiBjbWFrZSBkb2VzIG5vdCByZXF1aXJlIHR3byBhcmd1bWVudHMKCjIwMDEtMDYtMTIgMTE6MTIgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUNvbW1hbmRzLmN4eDogcmVtb3ZlZCBvbGQgYWRkZWQgbmV3CgoyMDAxLTA2LTEyIDExOjA4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Db21tYW5kcy5jeHg6IHJlbW92ZWQgb2xkIGFkZGVkIG5ldwoKMjAwMS0wNi0xMiAxMTowOCAgbWFydGluawoKCSogU291cmNlLzogY21PdXRwdXRSZXF1aXJlZEZpbGVzQ29tbWFuZC5jeHgsCgkgIGNtT3V0cHV0UmVxdWlyZWRGaWxlc0NvbW1hbmQuaDogYWRkZWQgbmV3IGNvbW1hbmQKCjIwMDEtMDYtMTIgMTE6MDggIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQ29uZmlndXJlRmlsZU5vQXV0b2NvbmYuY3h4LAoJICBjbUNvbmZpZ3VyZUZpbGVOb0F1dG9jb25mLmgsIGNtVGVzdHNDb21tYW5kLmN4eCwKCSAgY21UZXN0c0NvbW1hbmQuaDogcmVtb3ZlZCBvbGQgY29tbWFuZHMKCjIwMDEtMDYtMTIgMTA6NTkgIGtpbmcKCgkqIFNvdXJjZS86IGNtTWFrZURlcGVuZC5jeHgsIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOgoJICBEZXBlbmRlbmN5IGhpbnRzIG11c3QgYmUgcmVtb3ZlZCBieSB0aGUgbWFrZWZpbGUgZ2VuZXJhdG9yIGJlZm9yZQoJICBhZGRpbmcgdGhlIGRlcGVuZGVuY2llcyBnZW5lcmF0ZWQgYnkgY21NYWtlRGVwZW5kLgoKMjAwMS0wNi0xMiAxMDo0NSAgcGVyZXJhCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IFRoZXJlIHdhcyBubyBkZXBlbmRlbmN5CgkgIGZvciBsaWJyYXJ5IHRhcmdldHMgb24gdGhlaXIgcmVxdWlyZWQgbGlicmFyaWVzLiAgKEhvcGVmdWxseQoJICB0aGVyZSBhcmVuJ3QgYW55IGN5Y2xpYyBkZXBlbmRlbmNpZXMgZm9yIGxpYnJhcmllcy4pCgkgIENNQUtFX1NITElCX0xJTksgaXMgbm93IHVzZWQgZm9yIGV4ZWN1dGFibGUgdGFyZ2V0cy4KCjIwMDEtMDYtMTIgMDk6MDAgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTWFrZURlcGVuZC5oLCBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmgsIGNtTWFrZURlcGVuZC5jeHg6IHNvbWUgY2xlYW51cCB0byB0aGUKCSAgbWFrZSBkZXBlbmQgcHJvY2VzcwoKMjAwMS0wNi0xMiAwODozMSAga2luZwoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBXSU4zMl9FWEVDVVRBQkxFIHRhcmdldHMKCSAgd2VyZSBub3QgYmVpbmcgaW5zdGFsbGVkIG9uIHVuaXggcHJvcGVybHkuICBUaGV5IGFyZSBzdXBwb3NlZCB0bwoJICBiZSB0cmVhdGVkIGp1c3QgbGlrZSBhbnkgb3RoZXIgRVhFQ1VUQUJMRSB0YXJnZXQuCgoyMDAxLTA2LTEyIDA4OjMwICBraW5nCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBFUlI6IGludCAtPiB1bnNpZ25lZCBpbnQuCgoyMDAxLTA2LTExIDIxOjUwICBpYmFuZXoKCgkqIE1vZHVsZXMvRmluZEZMVEsuY21ha2U6IEVOSDogQWRkZWQgdGhlIHBhdGggdXNlZCBpbiBTdVNlIExpbnV4CgkgIDcuMQoKMjAwMS0wNi0xMSAxOToxNCAgbWlsbGVyanYKCgkqIE1vZHVsZXMvRGFydC5jbWFrZTogTW9kaWZpZWQgZm9yIG5ldyBEYXJ0IHNvdXJjZSB0cmVlCgoyMDAxLTA2LTExIDE4OjAwICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBtaW5vciBmaXggaW4gZXJyb3IgY2hlY2tpbmcKCjIwMDEtMDYtMTEgMTc6MDkgIGtpbmcKCgkqIE1vZHVsZXMvRmluZFRDTC5jbWFrZTogRU5IOiBBZGRlZCBjaGVjayBmb3IgdGNsOC40IChhcyBhZ2FpbnN0CgkgIHRjbDg0KSwgdGNsOC4zLCB0Y2w4LjIsIGFuZCB0Y2w4LjAgd2hlbiBmaW5kaW5nIHRoZSBUQ0xfTElCUkFSWS4KCjIwMDEtMDYtMTEgMTY6NDcgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmg6IGFkZGVkIHNvbWUgY29uc3QgdmVyc2lvbnMgb2YgZ2V0IG1ldGhvZHMKCjIwMDEtMDYtMTEgMTU6MzEgIG1pbGxlcmp2CgoJKiBNb2R1bGVzL1Rlc3RpbmcuY21ha2U6IENoYW5nZWQgVGVzdGluZy5jbWFrZSB0byBEYXJ0LmNtYWtlCgoyMDAxLTA2LTExIDE1OjI4ICBtaWxsZXJqdgoKCSogTW9kdWxlcy9EYXJ0LmNtYWtlOiBSZW5hbWUgVGVzdGluZy5jbWFrZSB0byBEYXJ0LmNtYWtlCgoyMDAxLTA2LTExIDEwOjE4ICBraW5nCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEJVRzogRml4ZWQgcmVndWxhciBleHByZXNzaW9uIHVzZWQgdG8KCSAgbWF0Y2ggcmVnaXN0cnkgZW50cmllcy4gIFRoZSBleHByZXNzaW9uIG5vdyBtYXRjaGVzIGV2ZXJ5dGhpbmcKCSAgYWZ0ZXIgYSBbSEtFWSB1bnRpbCB0aGUgZmlyc3QgJ10nIGlzIGVuY291bnRlcmVkLgoKMjAwMS0wNi0xMCAxODoyNyAgaWJhbmV6CgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IERPQzogQWRkZWQgYSBjb21tZW50IGFib3V0IHRoZSByaXNrIG9mCgkgIHVzaW5nIHRlbXBuYW0gaW4gVW5peCwgYXMgb3Bwb3NlZCB0bwkgICAgdXNpbmcgbWtzdGVtcC4KCjIwMDEtMDYtMDkgMjA6NTQgIGtpbmcKCgkqIFNvdXJjZS9jbUNhYmxlV3JhcFRjbENvbW1hbmQuY3h4OiBCVUc6IENoYW5nZWQgY3VzdG9tIGNvbW1hbmQKCSAgZ2VuZXJhdGlvbiB0byBub3QgdXNlIGZ1bGwgcGF0aCBvZiBvdXRwdXQgZmlsZSBmcm9tIGNhYmxlLgoKMjAwMS0wNi0wOCAxNDo0MCAga2luZwoKCSogU291cmNlLzogY21DYWJsZVdyYXBUY2xDb21tYW5kLmN4eCwgY21DYWJsZVdyYXBUY2xDb21tYW5kLmg6IEVOSDoKCSAgQWRkZWQgcHJvcGVyIHJlcXVlc3QgZm9yL2dlbmVyYXRpb24gb2YgQ0FCTEUsIEdDQ1hNTCwgYW5kCgkgIEdDQ1hNTF9GTEFHUyBjYWNoZSBlbnRyaWVzLiAgVGhpcyBhbHNvIGFsbG93ZWQgdGhlIGNvcnJlY3QKCSAgZ2VuZXJhdGlvbiBvZiBnY2N4bWwgcnVsZXMuCgoyMDAxLTA2LTA4IDE0OjM4ICBraW5nCgoJKiBTb3VyY2UvY21EU1BXcml0ZXIuY3h4OiBCVUc6IFJlbW92ZWQgZ2VuZXJhdGlvbiBvZiBzdHJheSAjIEJlZ2luCgkgIEN1c3RvbSBCdWlsZCBsaW5lLgoKMjAwMS0wNi0wOCAwMDoxOCAgcGVyZXJhCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBUZW1wbGF0ZXMvQ01ha2VTeXN0ZW1Db25maWcuY21ha2UuaW4sIFRlbXBsYXRlcy9jb25maWd1cmUsCgkgIFRlbXBsYXRlcy9jb25maWd1cmUuaW46IEVOSDogUnVudGltZSBsaWJyYXJ5IHNlYXJjaCBwYXRocyBjYW4gYmUKCSAgYWRkZWQgdG8gdGhlIGxpbmsgbGluZXMgZm9yIG9uIHNoYXJlZCBidWlsZHMuCgoyMDAxLTA2LTA3IDE2OjQ4ICBtYXJ0aW5rCgoJKiBDTWFrZS5wZGYuZ3o6IHJlcGxhY2VkIHdpdGggcGRmIHZlcnNpb24KCjIwMDEtMDYtMDcgMTY6NDUgIHdpbGwKCgkqIENNYWtlLnBkZjogdXBkYXRlZCBkb2NzCgoyMDAxLTA2LTA3IDE2OjM0ICBtYXJ0aW5rCgoJKiBDTWFrZS5kb2MuZ3o6IGNoZWNrZWQgaW4gcnRmIHZlcnNpb24KCjIwMDEtMDYtMDcgMTY6MjQgIG1hcnRpbmsKCgkqIENNYWtlLnJ0ZjogdXBkYXRlZCBkb2NzCgoyMDAxLTA2LTA3IDE0OjUyICBob2ZmbWFuCgoJKiBTb3VyY2UvY21BZGRUZXN0Q29tbWFuZC5jeHgsIFNvdXJjZS9jbUNhYmxlUGFja2FnZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21DYWJsZVdyYXBUY2xDb21tYW5kLmN4eCwgU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmN4eCwKCSAgU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmgsIFNvdXJjZS9jbURTV1dyaXRlci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuaCwKCSAgU291cmNlL2NtU3lzdGVtVG9vbHMuaCwgU291cmNlL2NtVGFyZ2V0LmgsCgkgIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFNvdXJjZS9jbVV0aWxpdHlTb3VyY2VDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtVlRLV3JhcEphdmFDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtVlRLV3JhcFB5dGhvbkNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21WVEtXcmFwVGNsQ29tbWFuZC5jeHgsIFNvdXJjZS9jbWFrZS5jeHgsCgkgIFRlbXBsYXRlcy9DTWFrZVdpbmRvd3NTeXN0ZW1Db25maWcuY21ha2U6IEVOSDogbW92ZSB1dGlsaXRpZXMgdG8KCSAgdGFyZ2V0cyBmcm9tIG1ha2VmaWxlLCBhbmQgYWRkIHZlcnNpb25pbmcgdG8gY2FjaGUKCjIwMDEtMDYtMDcgMTI6MjIgIGtpbmcKCgkqIFNvdXJjZS9jbUVuYWJsZVRlc3RpbmdDb21tYW5kLmN4eDogQlVHOiBFTkFCTEVfVEVTVElORyBjb21tYW5kCgkgIG1heSBuZWVkIHRvIGNyZWF0ZSBvdXRwdXQgZGlyZWN0b3J5IGJlZm9yZSB3cml0aW5nIHRoZQoJICBDTWFrZVRlc3RmaWxlIGludG8gaXQgc2luY2UgaXQgaXMgaW52b2tlZCBiZWZvcmUgdGhlIG1ha2VmaWxlCgkgIGdlbmVyYXRvciBydW5zLgoKMjAwMS0wNi0wNyAxMTozNiAgc2NvdHRpbQoKCSogU291cmNlL2NtRFNQV3JpdGVyLmN4eCwgVGVtcGxhdGVzL0NNYWtlV2luZG93c1N5c3RlbUNvbmZpZy5jbWFrZSwKCSAgVGVtcGxhdGVzL0RMTEhlYWRlci5kc3B0ZW1wbGF0ZSwgVGVtcGxhdGVzL0VYRUhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVtcGxhdGVzL0VYRVdpbkhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgVGVtcGxhdGVzL1V0aWxpdHlIZWFkZXIuZHNwdGVtcGxhdGUsCgkgIFRlbXBsYXRlcy9zdGF0aWNMaWJIZWFkZXIuZHNwdGVtcGxhdGU6IGFkZGluZyBhICJSZWxlYXNlIHdpdGgKCSAgZGVidWdnaW5nIEluZm8iIGJ1aWxkIHRvIENNYWtlIGZvciBOVAoKMjAwMS0wNi0wNyAxMDoxNiAga2luZwoKCSogU291cmNlL2NtQ2FibGVXcmFwVGNsQ29tbWFuZC5jeHg6IEVSUjogRml4ZWQgZ2VuZXJhdGlvbiBvZiBzb3VyY2UKCSAgbmFtZSBhbmQgZGlyZWN0b3J5IGZvciBjbVNvdXJjZUZpbGVzIG9mIGdlbmVyYXRlZCBUY2wgd3JhcHBlcgoJICBmaWxlcy4gIENoYW5nZWQgZXh0ZW5zaW9uIG9mIGdlbmVyYXRlZCBnY2MteG1sIGlucHV0IGMrKyBmaWxlIHRvCgkgIGJlIC5jYyBzbyB0aGF0IEdDQyB3aWxsIHJlY29nbml6ZSBpdCwgYnV0IE1zRGV2IHdpbGwgc3RpbGwgYWxsb3cKCSAgYSBjdXN0b20gY29tbWFuZCBvbiBpdC4KCjIwMDEtMDYtMDcgMDg6NTAgIG1pbGxlcmp2CgoJKiBTb3VyY2UvY21Db25maWd1cmVGaWxlTm9BdXRvY29uZi5jeHg6IEZJWDogQ2hhbmVkIGVycm9yIG1lc3NhZ2UKCSAgdG8gbWF0Y2ggY29tbWFuZAoKMjAwMS0wNi0wNiAxNjo0NSAga2luZwoKCSogU291cmNlL2NtQ2FibGVXcmFwVGNsQ29tbWFuZC5jeHg6IEVOSDogQ2hhbmdlZCBnZW5lcmF0aW9uIG9mCgkgIGdjY3htbCBjb21tYW5kIHRvIHdyaXRlIG91dCBkZWZpbmUgYW5kIGluY2x1ZGUgZmxhZ3MgZXhwbGljaXRseQoJICBpbnN0ZWFkIG9mIHVzaW5nIENNQUtFX0NYWF9GTEFHUyBhbmQgSU5DTFVERV9GTEFHUyB2YXJpYWJsZXMuCgkgIFRoaXMgc2hvdWxkIGhlbHAgaXQgcnVuIHdoZW4gZ2NjeG1sIGlzIG5vdCB0aGUgY29tcGlsZXIgdGhhdCB3aWxsCgkgIGJ1aWxkIHRoZSBnZW5lcmF0ZWQgd3JhcHBlcnMuCgoyMDAxLTA2LTA2IDE2OjE0ICBtaWxsZXJqdgoKCSogU291cmNlL2NtQWRkVGVzdENvbW1hbmQuY3h4OiBGSVg6IEluaXRpYWxQYXNzKCkgc2VnIGZhdWx0IG9uCgkgIHN0ZDo6Y29weSBhbmQgRmluYWxQYXNzKCkgd2FzIG5vdCBhcHBlbmRpbmcgdG8gdGhlIGZpbGUKCjIwMDEtMDYtMDYgMTM6NTggIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQWRkVGVzdENvbW1hbmQuY3h4LCBjbUFkZFRlc3RDb21tYW5kLmgsCgkgIGNtQ29tbWFuZHMuY3h4LCBjbUNvbmZpZ3VyZUZpbGVOb0F1dG9jb25mLmN4eCwKCSAgY21FbmFibGVUZXN0aW5nQ29tbWFuZC5jeHgsIGNtRW5hYmxlVGVzdGluZ0NvbW1hbmQuaCwKCSAgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaCwgY21UZXN0c0NvbW1hbmQuY3h4OiBhZGRlZCBlbmFibGUKCSAgdGVzdGluZyBkZXByZWNhdGVkIHNvbWUgY29tbWFuZHMKCjIwMDEtMDYtMDYgMTM6NTUgIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUxpYi5kc3A6IFtubyBsb2cgbWVzc2FnZV0KCjIwMDEtMDYtMDYgMTM6NDggIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtRFNQTWFrZWZpbGUuY3h4LCBjbURTUE1ha2VmaWxlLmgsIGNtRFNQV3JpdGVyLmN4eCwKCSAgY21EU1BXcml0ZXIuaCwgY21EU1dNYWtlZmlsZS5jeHgsIGNtRFNXTWFrZWZpbGUuaCwKCSAgY21EU1dXcml0ZXIuY3h4LCBjbURTV1dyaXRlci5oLCBjbU1TUHJvamVjdEdlbmVyYXRvci5jeHgsCgkgIGNtTVNQcm9qZWN0R2VuZXJhdG9yLmg6IEVOSDogcmVuYW1lIERTV01ha2VmaWxlIGFuZCBEU1BNYWtlZmlsZQoJICB0byBEU1dXcml0ZXIgYW5kIERTUFdyaXRlcgoKMjAwMS0wNi0wNiAxMzoxOSAgaG9mZm1hbgoKCSogU291cmNlLzogY21BYnN0cmFjdEZpbGVzQ29tbWFuZC5jeHgsIGNtQWJzdHJhY3RGaWxlc0NvbW1hbmQuaCwKCSAgY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmN4eCwgY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmgsCgkgIGNtQWRkRGVmaW5pdGlvbnNDb21tYW5kLmN4eCwgY21BZGREZWZpbml0aW9uc0NvbW1hbmQuaCwKCSAgY21BZGRFeGVjdXRhYmxlQ29tbWFuZC5jeHgsIGNtQWRkRXhlY3V0YWJsZUNvbW1hbmQuaCwKCSAgY21BZGRMaWJyYXJ5Q29tbWFuZC5jeHgsIGNtQWRkTGlicmFyeUNvbW1hbmQuaCwKCSAgY21BZGRUZXN0Q29tbWFuZC5jeHgsIGNtQWRkVGVzdENvbW1hbmQuaCwKCSAgY21BdXhTb3VyY2VEaXJlY3RvcnlDb21tYW5kLmN4eCwgY21BdXhTb3VyY2VEaXJlY3RvcnlDb21tYW5kLmgsCgkgIGNtQnVpbGRDb21tYW5kLmN4eCwgY21CdWlsZENvbW1hbmQuaCwgY21CdWlsZE5hbWVDb21tYW5kLmN4eCwKCSAgY21CdWlsZE5hbWVDb21tYW5kLmgsIGNtQnVpbGRTaGFyZWRMaWJyYXJpZXNDb21tYW5kLmN4eCwKCSAgY21CdWlsZFNoYXJlZExpYnJhcmllc0NvbW1hbmQuaCwgY21DYWJsZUNsYXNzU2V0Q29tbWFuZC5jeHgsCgkgIGNtQ2FibGVDbGFzc1NldENvbW1hbmQuaCwgY21DYWJsZUNsb3NlTmFtZXNwYWNlQ29tbWFuZC5jeHgsCgkgIGNtQ2FibGVDbG9zZU5hbWVzcGFjZUNvbW1hbmQuaCwgY21DYWJsZURlZmluZVNldENvbW1hbmQuY3h4LAoJICBjbUNhYmxlRGVmaW5lU2V0Q29tbWFuZC5oLCBjbUNhYmxlT3Blbk5hbWVzcGFjZUNvbW1hbmQuY3h4LAoJICBjbUNhYmxlT3Blbk5hbWVzcGFjZUNvbW1hbmQuaCwgY21DYWJsZVBhY2thZ2VDb21tYW5kLmN4eCwKCSAgY21DYWJsZVBhY2thZ2VDb21tYW5kLmgsIGNtQ2FibGVQYWNrYWdlRW50cnlDb21tYW5kLmN4eCwKCSAgY21DYWJsZVBhY2thZ2VFbnRyeUNvbW1hbmQuaCwgY21DYWJsZVdyYXBUY2xDb21tYW5kLmN4eCwKCSAgY21DYWJsZVdyYXBUY2xDb21tYW5kLmgsIGNtQ29tbWFuZC5oLCBjbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmN4eCwKCSAgY21Db25maWd1cmVGaWxlQ29tbWFuZC5oLCBjbUNvbmZpZ3VyZUZpbGVOb0F1dG9jb25mLmN4eCwKCSAgY21Db25maWd1cmVGaWxlTm9BdXRvY29uZi5oLCBjbUVsc2VDb21tYW5kLmN4eCwgY21FbHNlQ29tbWFuZC5oLAoJICBjbUVuZElmQ29tbWFuZC5jeHgsIGNtRW5kSWZDb21tYW5kLmgsIGNtRXhlY1Byb2dyYW1Db21tYW5kLmN4eCwKCSAgY21FeGVjUHJvZ3JhbUNvbW1hbmQuaCwgY21GaW5kRmlsZUNvbW1hbmQuY3h4LAoJICBjbUZpbmRGaWxlQ29tbWFuZC5oLCBjbUZpbmRMaWJyYXJ5Q29tbWFuZC5jeHgsCgkgIGNtRmluZExpYnJhcnlDb21tYW5kLmgsIGNtRmluZFBhdGhDb21tYW5kLmN4eCwKCSAgY21GaW5kUGF0aENvbW1hbmQuaCwgY21GaW5kUHJvZ3JhbUNvbW1hbmQuY3h4LAoJICBjbUZpbmRQcm9ncmFtQ29tbWFuZC5oLCBjbUdldEZpbGVuYW1lQ29tcG9uZW50Q29tbWFuZC5jeHgsCgkgIGNtR2V0RmlsZW5hbWVDb21wb25lbnRDb21tYW5kLmgsIGNtSWZDb21tYW5kLmN4eCwgY21JZkNvbW1hbmQuaCwKCSAgY21JbmNsdWRlQ29tbWFuZC5jeHgsIGNtSW5jbHVkZUNvbW1hbmQuaCwKCSAgY21JbmNsdWRlRGlyZWN0b3J5Q29tbWFuZC5jeHgsIGNtSW5jbHVkZURpcmVjdG9yeUNvbW1hbmQuaCwKCSAgY21JbmNsdWRlUmVndWxhckV4cHJlc3Npb25Db21tYW5kLmN4eCwKCSAgY21JbmNsdWRlUmVndWxhckV4cHJlc3Npb25Db21tYW5kLmgsIGNtSW5zdGFsbEZpbGVzQ29tbWFuZC5jeHgsCgkgIGNtSW5zdGFsbEZpbGVzQ29tbWFuZC5oLCBjbUluc3RhbGxUYXJnZXRzQ29tbWFuZC5jeHgsCgkgIGNtSW5zdGFsbFRhcmdldHNDb21tYW5kLmgsIGNtTGlicmFyeUNvbW1hbmQuaCwKCSAgY21MaW5rRGlyZWN0b3JpZXNDb21tYW5kLmN4eCwgY21MaW5rRGlyZWN0b3JpZXNDb21tYW5kLmgsCgkgIGNtTGlua0xpYnJhcmllc0NvbW1hbmQuY3h4LCBjbUxpbmtMaWJyYXJpZXNDb21tYW5kLmgsCgkgIGNtTG9hZENhY2hlQ29tbWFuZC5jeHgsIGNtTG9hZENhY2hlQ29tbWFuZC5oLAoJICBjbU1ha2VEaXJlY3RvcnlDb21tYW5kLmN4eCwgY21NYWtlRGlyZWN0b3J5Q29tbWFuZC5oLAoJICBjbU1ha2VmaWxlLmN4eCwgY21NZXNzYWdlQ29tbWFuZC5jeHgsIGNtTWVzc2FnZUNvbW1hbmQuaCwKCSAgY21PcHRpb25Db21tYW5kLmN4eCwgY21PcHRpb25Db21tYW5kLmgsIGNtUHJvamVjdENvbW1hbmQuY3h4LAoJICBjbVByb2plY3RDb21tYW5kLmgsIGNtU2V0Q29tbWFuZC5jeHgsIGNtU2V0Q29tbWFuZC5oLAoJICBjbVNpdGVOYW1lQ29tbWFuZC5jeHgsIGNtU2l0ZU5hbWVDb21tYW5kLmgsCgkgIGNtU291cmNlRmlsZXNDb21tYW5kLmN4eCwgY21Tb3VyY2VGaWxlc0NvbW1hbmQuaCwKCSAgY21Tb3VyY2VHcm91cENvbW1hbmQuY3h4LCBjbVNvdXJjZUdyb3VwQ29tbWFuZC5oLAoJICBjbVN1YmRpckNvbW1hbmQuY3h4LCBjbVN1YmRpckNvbW1hbmQuaCwKCSAgY21UYXJnZXRMaW5rTGlicmFyaWVzQ29tbWFuZC5jeHgsIGNtVGFyZ2V0TGlua0xpYnJhcmllc0NvbW1hbmQuaCwKCSAgY21UZXN0c0NvbW1hbmQuY3h4LCBjbVRlc3RzQ29tbWFuZC5oLCBjbVV0aWxpdHlTb3VyY2VDb21tYW5kLmN4eCwKCSAgY21VdGlsaXR5U291cmNlQ29tbWFuZC5oLCBjbVZUS1dyYXBKYXZhQ29tbWFuZC5jeHgsCgkgIGNtVlRLV3JhcEphdmFDb21tYW5kLmgsIGNtVlRLV3JhcFB5dGhvbkNvbW1hbmQuY3h4LAoJICBjbVZUS1dyYXBQeXRob25Db21tYW5kLmgsIGNtVlRLV3JhcFRjbENvbW1hbmQuY3h4LAoJICBjbVZUS1dyYXBUY2xDb21tYW5kLmgsIGNtV3JhcEV4Y2x1ZGVGaWxlc0NvbW1hbmQuY3h4LAoJICBjbVdyYXBFeGNsdWRlRmlsZXNDb21tYW5kLmg6IEVOSDogcmVuYW1lIEludm9rZSB0byBJbml0aWFsUGFzcwoKMjAwMS0wNi0wNiAxMTowMiAgbWlsbGVyanYKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogQ2hhbmdlIG5hbWUgb2YgZmlsZSBjcmVhdGVkIGZyb20gVGVzdGZpbGUKCSAgdG8gQ01ha2VUZXN0ZmlsZS50eHQKCjIwMDEtMDYtMDYgMDk6NDQgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogYmV0dGVyIHJlZ2V4cCBmb3IgcmVnIGVudHJpZXMKCjIwMDEtMDYtMDYgMDk6NDMgIG1hcnRpbmsKCgkqIE1vZHVsZXMvRmluZEpOSS5jbWFrZTogYmV0dGVyIHRlc3RzCgoyMDAxLTA2LTA2IDA3OjQ3ICBtaWxsZXJqdgoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBGSVg6IGZvcmdvdCB0byBjbG9zZSB0aGUgZmlsZXMKCjIwMDEtMDYtMDUgMjI6NTQgIHBlcmVyYQoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBDb21wcmVzcyB0aGUgbGlicmFyeQoJICBzZWFyY2ggZGlyZWN0b3JpZXMgc28gdGhhdCBlYWNoIGFwcGVhcnMgb25seSBvbmNlLgoKMjAwMS0wNi0wNSAyMDozNCAgbWlsbGVyanYKCgkqIFNvdXJjZS9jbUNvbW1hbmRzLmN4eDogRU5IOiBBZGRlZCBBZGRUZXN0IGNvbW1hbmQKCjIwMDEtMDYtMDUgMjA6MzQgIG1pbGxlcmp2CgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oOiBFTkg6IEFkZGVkIEFkZFRlc3QsIGFuZAoJICBHZW5lcmF0ZVRlc3RmaWxlIHJvdXRpbmVzCgoyMDAxLTA2LTA1IDIwOjMyICBtaWxsZXJqdgoKCSogU291cmNlLzogY21BZGRUZXN0Q29tbWFuZC5jeHgsIGNtQWRkVGVzdENvbW1hbmQuaDogTmV3IGNtYWtlCgkgIGNvbW1hbmQgdG8gc3BlY2lmeSBhIHNpbmdsZSB0ZXN0CgoyMDAxLTA2LTA1IDE3OjQ2ICBiZXJrCgoJKiBTb3VyY2UvY21WVEtXcmFwUHl0aG9uQ29tbWFuZC5jeHg6IE1vZHVsZSBuYW1lIGJldHdlZW4gVW5peCBhbmQKCSAgV2luZG93cyBnb3Qgc3dpdGNoZWQgYnkgbWlzdGFrZS4KCjIwMDEtMDYtMDUgMTc6NDEgIGJpZGRpCgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oOiBFTkg6IFNvbWUgdHdlYWtzLAoJICBoYWNrcyBhbmQgI2lmZGVmcyByZXF1aXJlZCB0byBjb21waWxlIGNtYWtlIG9uIEJvcmxhbmQgQysrQnVpbGRlcgoKMjAwMS0wNi0wNSAxNTo0OCAgaG9mZm1hbgoKCSogU291cmNlLzogY21EU1BNYWtlZmlsZS5jeHgsIGNtRFNQV3JpdGVyLmN4eDogQlVHOiBmaXggRVhFIGFuZCBMSUIKCSAgcGF0aCBwcm9ibGVtcwoKMjAwMS0wNi0wNCAxODoyNCAgaG9mZm1hbgoKCSogU291cmNlLzogY21EU1dNYWtlZmlsZS5jeHgsIGNtRFNXV3JpdGVyLmN4eDogU1RZTEU6IGxpbmUgdG9vIGxvbmcKCjIwMDEtMDYtMDQgMTg6MjQgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1lc3NhZ2VDb21tYW5kLmN4eDogRU5IOiBwcmludCBhbGwgYXJndW1lbnRzCgoyMDAxLTA2LTA0IDE4OjIzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21TZXRDb21tYW5kLmN4eDogRU5IOiBhZGQgYmV0dGVyIGVycm9yIGNoZWNraW5nCgoyMDAxLTA2LTA0IDE3OjE3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUZpbmRJbmNsdWRlQ29tbWFuZC5jeHgsIGNtRmluZEluY2x1ZGVDb21tYW5kLmg6CgkgIHJlbW92ZWQgZmluZCBpbmNsdWRlIGNvbW1hbmQKCjIwMDEtMDYtMDQgMTc6MTYgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUNvbW1hbmRzLmN4eDogcmVtb3ZlZCBmaW5kIGluY2x1ZGUgY29tbWFuZCBmaW5hbGx5IGFkZGVkCgkgIG1lc3NhZ2UKCjIwMDEtMDYtMDQgMTY6NTUgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmg6IG5ldyBtZXNzYWdlIGNvbW1hbmQKCjIwMDEtMDYtMDQgMTY6NTUgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTWVzc2FnZUNvbW1hbmQuY3h4LCBjbU1lc3NhZ2VDb21tYW5kLmg6IG5ldyBjb21tYW5kCgoyMDAxLTA2LTA0IDE2OjQ1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21WVEtXcmFwUHl0aG9uQ29tbWFuZC5jeHg6IHVudXNlZCB2YXJpYWJsZQoKMjAwMS0wNi0wNCAxNTo0NiAgYmFycmUKCgkqIFRlbXBsYXRlcy86IERMTEhlYWRlci5kc3B0ZW1wbGF0ZSwgRVhFSGVhZGVyLmRzcHRlbXBsYXRlLAoJICBFWEVXaW5IZWFkZXIuZHNwdGVtcGxhdGUsIFV0aWxpdHlIZWFkZXIuZHNwdGVtcGxhdGUsCgkgIHN0YXRpY0xpYkhlYWRlci5kc3B0ZW1wbGF0ZTogdGhlICJSZWxlYXNlIiB0YXJnZXQgaXMgbm90IHRoZQoJICBkZWZhdWx0LgoKMjAwMS0wNi0wNCAxMTozNCAgaG9mZm1hbgoKCSogU291cmNlLzogY21HZW5lcmF0ZWRGaWxlU3RyZWFtLmgsIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDoKCSAgRU5IOiB0cnkgdG8gYmV0dGVyIGhhbmRsZSBjb250cm9sLWMgZHVyaW5nIG1ha2UgTWFrZWZpbGVzCgoyMDAxLTA2LTA0IDEwOjE4ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUNhY2hlTWFuYWdlci5jeHgsIGNtRFNXTWFrZWZpbGUuY3h4LCBjbURTV1dyaXRlci5jeHgsCgkgIGNtRnVuY3Rpb25CbG9ja2VyLmgsIGNtTVNQcm9qZWN0R2VuZXJhdG9yLmN4eCwgY21NYWtlZmlsZS5jeHgsCgkgIGNtTWFrZWZpbGVHZW5lcmF0b3IuaDogQlVHOiBjbGVhbiB1cCBtZW1vcnkgbGVha3MuCgoyMDAxLTA2LTAxIDEzOjU0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbURTUE1ha2VmaWxlLmN4eCwgY21EU1BXcml0ZXIuY3h4OiBmaXggZm9yIG5ldHdvcmsKCSAgaW5jbHVkIHBhdGhzCgoyMDAxLTA2LTAxIDEzOjI5ICBiZXJrCgoJKiBTb3VyY2UvY21WVEtXcmFwUHl0aG9uQ29tbWFuZC5jeHg6IEZpeGluZyB0aGUgbW9kdWxlIG5hbWUgZm9yCgkgIFVuaXguCgoyMDAxLTA1LTMxIDE1OjQ4ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBCVUc6IGZpeCBlZGl0IG9mIGRpcmVjdG9yaWVzCgoyMDAxLTA1LTMxIDE0OjE1ICBiZXJrCgoJKiBTb3VyY2UvY21WVEtXcmFwUHl0aG9uQ29tbWFuZC5jeHg6IFNob3VsZCBub3QgdXNlIGRlY2wgaWYgbm90IG9uCgkgIFdpbmRvd3MuCgoyMDAxLTA1LTMwIDE1OjU2ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21ha2VtYWluLmN4eDogQlVHOiBhZGQgbWlzc2luZyBmaWxlCgoyMDAxLTA1LTMwIDE1OjI4ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBDTWFrZUxpYi5kc3AsIE1ha2VmaWxlLmluLCBjbU1TUHJvamVjdEdlbmVyYXRvci5jeHgsCgkgIGNtYWtlLmN4eCwgY21ha2UuZHNwLCBjbWFrZS5oOiBFTkg6IGNoYW5nZSBNRkMgZ3VpIHRvIHVzZSBjbWFrZQoJICBjbGFzcwoKMjAwMS0wNS0yOSAxNDoxNiAgcGVyZXJhCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IE5vdyBvbmx5IG9uZSBtYWtlZmlsZQoJICBydWxlIGlzIGdlbmVyYXRlZCBwZXIgZGVwZW5lbmN5LiBUaGlzIGVsaW1pbmF0ZXMgYSBudW1iZXIgb2YKCSAgd2FybmluZ3MuCgoyMDAxLTA1LTI1IDE3OjE5ICBnZW9mZgoKCSogU291cmNlL2NtU2V0Q29tbWFuZC5jeHg6IGJ1ZyBtZWFuaW5nIHRoYXQgc2V0KGEgYikganVzdCBzZXQgYSB0bwoJICAiIiBhbmQgbm90IHRvIGIKCjIwMDEtMDUtMjUgMTU6MzMgIGtpbmcKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQlVHOiBGaXhlZCBzdHVwaWQgZXJyb3IgaW4gdGhlIGhhY2sgSQoJICBqdXN0IGNoZWNrZWQgaW4uCgoyMDAxLTA1LTI1IDE1OjMyICBraW5nCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IFdJTjMyIGV4ZWN1dGFibGUgdGFyZ2V0CgkgIHJ1bGVzIGFyZSBub3cgZ2VuZXJhdGVkIGluIHVuaXggdGhlIHNhbWUgYXMgYW55IG90aGVyIGV4ZWN1dGFibGUKCSAgKGluc3RlYWQgb2Ygbm90IGF0IGFsbCkuCgoyMDAxLTA1LTI1IDE1OjI3ICBiYXJyZQoKCSogVGVtcGxhdGVzL0NNYWtlV2luZG93c1N5c3RlbUNvbmZpZy5jbWFrZTogYmV0dGVyIGhlbHAKCjIwMDEtMDUtMjUgMTQ6MzEgIGtpbmcKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQlVHOiBBZGRlZCBoYWNrIHRvCgkgIGNtU3lzdGVtVG9vbHM6OkdldFBhdGggdG8gbWFrZSBpdHMgYWxnb3JpdGhtIGNvcnJlY3RseSBwYXJzZSBvZmYKCSAgdGhlIGxhc3QgZW50cnkgb2YgdGhlIHN5c3RlbSBQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlLgoKMjAwMS0wNS0yNSAxNDoyNyAga2luZwoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBGaXhlZCBsb2dpYyB0aGF0IHNwbGl0cwoJICBhIGZ1bGwgcGF0aCBsaWJyYXJ5IGxpbmsgaW50byB0aGUgLUwgYW5kIC1sIHBpZWNlcyB0byBub3Qgd3JpdGUKCSAgb3V0IGEgLWwgYnkgaXRzZWxmIGlmIHRoZSBmaWxlIHJlZ3VsYXIgZXhwcmVzc2lvbiBkb2VzIG5vdCBtYXRjaC4KCjIwMDEtMDUtMjUgMDc6MzEgIG1pbGxlcmp2CgoJKiBNb2R1bGVzL1Rlc3RpbmcuY21ha2U6IEJVRzogbWlzc2luZyBxdW90ZSBvbiBhIGN1c3RvbSBjb21tYW5kCgoyMDAxLTA1LTI0IDIxOjE3ICBiYXJyZQoKCSogU291cmNlLzogY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaDogTmV3IGZ1bmN0aW9ucyB1c2VkCgkgIHRvIGV4dHJhY3QgdGhlIGNvbXBvbmVudHMgb2YgYSBmdWxsIGZpbGVuYW1lLgoKMjAwMS0wNS0yNCAyMToxNCAgYmFycmUKCgkqIFNvdXJjZS9jbUZpbmRQYXRoQ29tbWFuZC5jeHg6IFRoZSBwYXRoIGZvdW5kIGlzIG5vdyBjb2xsYXBzZWQKCSAgKGNsZWFuZXIpLgoKMjAwMS0wNS0yNCAyMToxMyAgYmFycmUKCgkqIFNvdXJjZS86IGNtR2V0RmlsZW5hbWVDb21wb25lbnRDb21tYW5kLmN4eCwKCSAgY21HZXRGaWxlbmFtZUNvbXBvbmVudENvbW1hbmQuaCwgY21Db21tYW5kcy5jeHg6IFdlbGNvbWUgdG8KCSAgY21HZXRGaWxlbmFtZUNvbXBvbmVudENvbW1hbmQgKCJHZXQgYSBzcGVjaWZpYyBjb21wb25lbnQgb2YgYQoJICBmdWxsIGZpbGVuYW1lIikKCjIwMDEtMDUtMjQgMjE6MTIgIGJhcnJlCgoJKiBTb3VyY2UvQ01ha2VMaWIuZHNwOiBXZWxjb21lIHRvIGNtR2V0RmlsZW5hbWVDb21wb25lbnRDb21tYW5kCgoyMDAxLTA1LTI0IDIxOjExICBiYXJyZQoKCSogTW9kdWxlcy9GaW5kVENMLmNtYWtlOiBUcnkgdG8gZmluZCB0Y2xzaCBvciB3aXNoIGFuZCB1c2UgdGhhdAoJICBwYXRoIHRvIGZpbmQgdGhlIGluY2x1ZGUgb3IgbGliIGRpcmVjdG9yeS4gVEtfSU5URVJOQUxfUEFUSCBpcwoJICBzZWFyY2hlZCB0b28gKHBhdGggdG8gdGtXaW5JbnQuaCkKCjIwMDEtMDUtMjQgMTk6MTcgIGJhcnJlCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IG9wdGltaXplIENvbnZlcnRUb1VuaXhTbGFzaGVzIGEgbGl0dGxlCgkgIGJpdCwgYW5kIHVzZSBpdCBpbiBNYWtlRGlyZWN0b3J5IChjb2RlIHdhcyBkdXBsaWNhdGVkKQoKMjAwMS0wNS0yNCAxNzo1MSAga2luZwoKCSogVGVtcGxhdGVzL0NNYWtlU3lzdGVtQ29uZmlnLmNtYWtlLmluOiBFUlI6IFZBUiB0eXBlIGVudHJ5IG1pc3NpbmcKCSAgYWZ0ZXIgQ0FDSEUgZm9yIENNQUtFX1RFTVBMQVRFX0ZMQUdTLgoKMjAwMS0wNS0yNCAxNDo1OSAgYmFycmUKCgkqIFNvdXJjZS86IGNtVlRLV3JhcFRjbENvbW1hbmQuY3h4LCBjbVZUS1dyYXBUY2xDb21tYW5kLmg6IHVwZGF0ZWQKCSAgdG8gaGFuZGxlIFRrIGNvbW1hbmRzIGNvbXBpbGVkL2xpbmtlZCBzZXBhcmF0ZWx5LiBVc2VmdWwgZm9yIFZUSwoJICBUayB3aWRnZXRzIGZvciBleGFtcGxlLgoKMjAwMS0wNS0yNCAxMzo0NSAgbWlsbGVyanYKCgkqIE1vZHVsZXMvVGVzdGluZy5jbWFrZTogUHJvamVjdCBpbmRlcGVuZGVudCBzZXR0aW5nIGZvciB0ZXN0aW5nCgoyMDAxLTA1LTI0IDEzOjQwICBiYXJyZQoKCSogU291cmNlLzogY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaDogbmV3IENhcGl0YWxpemVkCgkgIGZ1bmN0aW9uLiBXaWxsIGJlIHVzZWQgaW4gdGhlIFZUSyBUY2wgd3JhcHBlciBmb3IgZXhhbXBsZSAoaW4gYQoJICBtb3JlIHBvcnRhYmxlIHdheSkuCgoyMDAxLTA1LTI0IDEyOjU3ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRPcGVuR0wuY21ha2UsIFNvdXJjZS9jbVNldENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21TZXRDb21tYW5kLmgsIFRlbXBsYXRlcy9DTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbiwKCSAgVGVtcGxhdGVzL0NNYWtlV2luZG93c1N5c3RlbUNvbmZpZy5jbWFrZTogRU5IOiBjaGFuZ2UgdGhlIHN5bnRheAoJICBvZiB0aGUgU0VUIGNvbW1hbmQsIGZpeCB0aGUgY29tYm8gYm94IGZvciBsYXJnZXIgc3RyaW5ncwoKMjAwMS0wNS0yNCAxMTo0NyAgbWFydGluawoKCSogU291cmNlLzogY21NYWtlZmlsZS5oLCBjbWFrZS5jeHg6IGFkZGVkIHZlcnNpb24gbnVtYmVyCgoyMDAxLTA1LTI0IDEwOjMyICBiYXJyZQoKCSogVGVtcGxhdGVzL0RMTEhlYWRlci5kc3B0ZW1wbGF0ZTogcmVtb3ZlZCBoYXJkY29kZWQgVlRLRExMCgoyMDAxLTA1LTI0IDEwOjAwICBiYXJyZQoKCSogVGVtcGxhdGVzLzogRExMSGVhZGVyLmRzcHRlbXBsYXRlLCBFWEVIZWFkZXIuZHNwdGVtcGxhdGUsCgkgIEVYRVdpbkhlYWRlci5kc3B0ZW1wbGF0ZSwgc3RhdGljTGliSGVhZGVyLmRzcHRlbXBsYXRlOiBzbGlnaHQKCSAgY2hhbmdlIGluIHRoZSBvcmRlciBvZiB0aGUgb3B0aW9ucyAocmlnaHQtbW9zdCB0YWtlcyBwcmVjZWRlbmNlKQoKMjAwMS0wNS0yMyAyMDoxNiAgbWlsbGVyanYKCgkqIFNvdXJjZS9jbUJ1aWxkQ29tbWFuZC5jeHg6IENoYW5nZWQgV2luZG93cyBidWlsZCBjb21tYW5kIHRvIGJ1aWxkCgkgIFJlbGVhc2UKCjIwMDEtMDUtMjMgMTg6MzEgIGJhcnJlCgoJKiBUZW1wbGF0ZXMvRExMSGVhZGVyLmRzcHRlbXBsYXRlOiBJbnRlcm1lZGlhdGUgRGlyIHdhcyB3cm9uZwoKMjAwMS0wNS0yMyAxODoyMiAgYmFycmUKCgkqIFRlbXBsYXRlcy9DTWFrZVdpbmRvd3NTeXN0ZW1Db25maWcuY21ha2U6IC9HeiA9PiAvR1oKCjIwMDEtMDUtMjMgMTg6MTkgIGJhcnJlCgoJKiBUZW1wbGF0ZXMvQ01ha2VXaW5kb3dzU3lzdGVtQ29uZmlnLmNtYWtlOiByZW1vdmVkIC9PMiBmcm9tIGRlYnVnCgoyMDAxLTA1LTIzIDE3OjE5ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21EU1BNYWtlZmlsZS5jeHgsIFNvdXJjZS9jbURTUFdyaXRlci5jeHgsCgkgIFRlbXBsYXRlcy9DTWFrZVdpbmRvd3NTeXN0ZW1Db25maWcuY21ha2UsCgkgIFRlbXBsYXRlcy9ETExIZWFkZXIuZHNwdGVtcGxhdGUsIFRlbXBsYXRlcy9FWEVIZWFkZXIuZHNwdGVtcGxhdGUsCgkgIFRlbXBsYXRlcy9FWEVXaW5IZWFkZXIuZHNwdGVtcGxhdGUsCgkgIFRlbXBsYXRlcy9zdGF0aWNMaWJIZWFkZXIuZHNwdGVtcGxhdGU6IEVOSDogY3JlYXRlCgkgIENNQUtFX0NYWF9GTEFHU19bQnVpbGR0eXBlXSBmbGFncwoKMjAwMS0wNS0yMyAxNjozMSAgbWFydGluawoKCSogU291cmNlL2NtTVNQcm9qZWN0R2VuZXJhdG9yLmN4eDogYnVnIGZpbmRpbmcgd2luZG93cyB0ZW1wbGF0ZQoJICBmaWxlCgoyMDAxLTA1LTIzIDE2OjI4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21ha2UuY3h4OiBjb21tYW5kIGxpbmUgZml4ZXMgZm9yCgkgIHdpbjMyCgoyMDAxLTA1LTIzIDE2OjA5ICBiYXJyZQoKCSogVGVtcGxhdGVzLzogRExMSGVhZGVyLmRzcHRlbXBsYXRlLCBFWEVIZWFkZXIuZHNwdGVtcGxhdGUsCgkgIEVYRVdpbkhlYWRlci5kc3B0ZW1wbGF0ZSwgVXRpbGl0eUhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgc3RhdGljTGliSGVhZGVyLmRzcHRlbXBsYXRlOiBSZWxlYXNlTWluU2l6ZSA9PiBNaW5TaXplUmVsCgoyMDAxLTA1LTIzIDE1OjUzICBob2ZmbWFuCgoJKiBUZW1wbGF0ZXMvRExMSGVhZGVyLmRzcHRlbXBsYXRlOiBCVUc6IHJlbW92ZSB2dGtDb21tb24KCjIwMDEtMDUtMjMgMTU6NDkgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbWFrZS5jeHg6IGZpeGVkIHF1b3RlZCBjbWFrZQoKMjAwMS0wNS0yMyAxNDo0NCAgaG9mZm1hbgoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IGFkZCBiZXR0ZXIgZXJyb3IgbWVzc2FnZQoKMjAwMS0wNS0yMyAxNDozMyAgZ2VvZmYKCgkqIFNvdXJjZS9jbWFrZS5kc3A6IERTUHMgaGF2ZSB0byBiZSBiaW5hcnkKCjIwMDEtMDUtMjMgMTQ6MDUgIGhvZmZtYW4KCgkqIFRlbXBsYXRlcy86IERMTEhlYWRlci5kc3B0ZW1wbGF0ZSwgRVhFSGVhZGVyLmRzcHRlbXBsYXRlLAoJICBFWEVXaW5IZWFkZXIuZHNwdGVtcGxhdGUsIFV0aWxpdHlIZWFkZXIuZHNwdGVtcGxhdGUsCgkgIHN0YXRpY0xpYkhlYWRlci5kc3B0ZW1wbGF0ZTogRU5IOiBjaGFuZ2UgUmVsZWFzZSBNaW5zaXplIHRvCgkgIE1pblNpemVSZWwsIGFkZCBNaW5TaXplUmVsIHRvIGRsbCB0ZW1wbGF0ZQoKMjAwMS0wNS0yMyAxMzoxNiAga2luZwoKCSogU291cmNlLzogY21EU1BNYWtlZmlsZS5jeHgsIGNtRFNQV3JpdGVyLmN4eDogRU5IOiBBZGRlZCBJTlNUQUxMCgkgIHRhcmdldCB0byBzd2l0Y2ggaW4gT3V0cHV0RFNQRmlsZS4gIEFsc28gYWRkZWQgYSBkZWZhdWx0IHRoYXQKCSAgcHJpbnRzIG91dCBhbiBlcnJvciBtZXNzYWdlIHNvIHRoYXQgYW55b25lIHdobyBhZGRzIGEgdGFyZ2V0CgkgIGRvZXNuJ3QgZm9yZ2V0IHRvIHVwZGF0ZSB0aGUgc3dpdGNoLgoKMjAwMS0wNS0yMyAxMjowMiAgbWFydGluawoKCSogU291cmNlLzogY21EU1BNYWtlZmlsZS5jeHgsIGNtRFNQV3JpdGVyLmN4eCwgY21EU1dNYWtlZmlsZS5jeHgsCgkgIGNtRFNXV3JpdGVyLmN4eDogaW5zdGFsbCBmaXhlcyBmb3Igd2luMzIKCjIwMDEtMDUtMjMgMTE6NTMgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmg6IGFkZGVkIGluc3RhbGwgdGFyZ2V0IHN1cHBvcnQKCjIwMDEtMDUtMjMgMTE6MzQgIGliYW5legoKCSogTW9kdWxlcy9GaW5kVlRLLmNtYWtlOiAgICAgIE1vZHVsZSB0byBzZWFyY2ggZm9yIFZUSyBpbmNsdWRlIGFuZAoJICBsaWJyYXJ5IHBhdGhzCgoyMDAxLTA1LTIzIDExOjI5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUluc3RhbGxGaWxlc0NvbW1hbmQuY3h4LCBjbUluc3RhbGxGaWxlc0NvbW1hbmQuaCwKCSAgY21JbnN0YWxsVGFyZ2V0c0NvbW1hbmQuY3h4LCBjbUluc3RhbGxUYXJnZXRzQ29tbWFuZC5oLAoJICBjbUNvbW1hbmRzLmN4eCwgY21UYXJnZXQuY3h4LCBjbVRhcmdldC5oOiBhZGRlZCBpbnN0YWxsIHJ1bGVzCgoyMDAxLTA1LTIzIDExOjI3ICBtYXJ0aW5rCgoJKiBUZW1wbGF0ZXMvQ01ha2VTeXN0ZW1Db25maWcuY21ha2UuaW46IGFkZGVkIHByZWZpeCB0byBjb25maWcKCjIwMDEtMDUtMjMgMTA6NDcgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUdlbmVyYXRlZEZpbGVTdHJlYW0uaDogQlVHOiByZW1vdmUgd2FybmluZwoKMjAwMS0wNS0yMyAxMDo0NyAgaG9mZm1hbgoKCSogU291cmNlL2NtYWtlLmRzcDogQlVHOiBmaXggb3V0cHV0IGRpcmVjdG9yeQoKMjAwMS0wNS0yMyAxMDowMSAgbWFydGluawoKCSogU291cmNlL2NtUHJvamVjdENvbW1hbmQuY3h4OiBhZGRlZCBQUk9KRUNUX1NPVVJDRV9ESVIKCjIwMDEtMDUtMjMgMDk6MzUgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVRhcmdldC5jeHg6IEVOSDogYWxsb3cgZHVwbGljYXRlIGxpYnJhcmllcwoKMjAwMS0wNS0yMiAyMDo0NSAgYmFycmUKCgkqIFRlbXBsYXRlcy9VdGlsaXR5SGVhZGVyLmRzcHRlbXBsYXRlOiBUZW1wbGF0ZSBub3cgdXNlcwoJICBFWEVDVVRBQkxFX09VVFBVVF9QQVRIIHRvby4KCjIwMDEtMDUtMjIgMjA6NDQgIGJhcnJlCgoJKiBUZW1wbGF0ZXMvRVhFV2luSGVhZGVyLmRzcHRlbXBsYXRlOiBQUk9QIEJBU0UgYW5kIFBST1Agd2VyZQoJICBpbnZlcnRlZAoKMjAwMS0wNS0yMiAyMDozNiAgYmFycmUKCgkqIFNvdXJjZS86IGNtRFNQTWFrZWZpbGUuY3h4LCBjbURTUFdyaXRlci5jeHg6IFNlZW1zIHRvIG1lIHRoYXQKCSAgRVhFV2luSGVhZGVyIHdhcyBub3Qgc2VhcmNoZWQgaW4gdGhlIHJpZ2h0IHBsYWNlLgoKMjAwMS0wNS0yMiAxNzo0OSAgaG9mZm1hbgoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBkbyBub3QgaW5jbHVkZSAvdXNyL2xpYgoJICBpbiAtTAoKMjAwMS0wNS0yMiAxMzo1MiAgaG9mZm1hbgoKCSogU291cmNlL01ha2VmaWxlLmluOiBmaXggQ1hYRkxBR1MKCjIwMDEtMDUtMjIgMTM6NDIgIGhvZmZtYW4KCgkqIFNvdXJjZS9NYWtlZmlsZS5pbjogW25vIGxvZyBtZXNzYWdlXQoKMjAwMS0wNS0yMiAxMzo0MCAgaG9mZm1hbgoKCSogY29uZmlndXJlLCBjb25maWd1cmUuaW46IHVzZSBjeHhmbGFncyBpbiB0ZXN0IGJ1aWxkcwoKMjAwMS0wNS0yMiAxMzoyMiAgaG9mZm1hbgoKCSogU291cmNlL01ha2VmaWxlLmluLCBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBUZW1wbGF0ZXMvY29uZmlndXJlLCBUZW1wbGF0ZXMvY29uZmlndXJlLmluOiBCVUc6IGZpeCBkZXBlbmRzIGFuZAoJICBDWFhGTEFHUyBwYXNzaW5nCgoyMDAxLTA1LTIyIDEyOjM4ICBiYXJyZQoKCSogU291cmNlL2NtRFNQTWFrZWZpbGUuY3h4LCBTb3VyY2UvY21EU1BXcml0ZXIuY3h4LAoJICBUZW1wbGF0ZXMvRExMSGVhZGVyLmRzcHRlbXBsYXRlLCBUZW1wbGF0ZXMvRVhFSGVhZGVyLmRzcHRlbXBsYXRlLAoJICBUZW1wbGF0ZXMvRVhFV2luSGVhZGVyLmRzcHRlbXBsYXRlLAoJICBUZW1wbGF0ZXMvc3RhdGljTGliSGVhZGVyLmRzcHRlbXBsYXRlOiBmaXhlZCBzb21lIG9mIHRoZQoJICBMSUJSQVJZX09VVFBVVF9QQVRIIGFuZCBFWEVDVVRBQkxFX09VVFBVVF9QQVRIIHByb2JsZW1zLgoKMjAwMS0wNS0yMiAxMToxNSAgbWFydGluawoKCSogZHVtbXkuaW46IG5vIGxvbmdlciB1c2VkCgoyMDAxLTA1LTIxIDE2OjQzICBraW5nCgoJKiBNYWtlZmlsZS5pbjogRVJSOiBBZGRlZCBtaXNzaW5nIEBzcmNkaXJAIGFuZCBtb2RpZmllZCBpbnN0YWxsCgkgIGV4cHJlc3Npb25zIHRvIGluY2x1ZGUgKi5jbWFrZSogZmlsZXMgaW5zdGVhZCBvZiBqdXN0ICouY21ha2UKCSAgZmlsZXMgKGZvciAuaW4pLgoKMjAwMS0wNS0yMSAxNjoyMSAga2luZwoKCSogU291cmNlL2NtQ2FibGVXcmFwVGNsQ29tbWFuZC5jeHg6IEVOSDogQ29udmVydGVkIHRvIG5ldyBDbGFzcyBhbmQKCSAgR3JvdXAgdGFncyBpbiBwbGFjZSBvZiBXcmFwcGVyU2V0IGFuZCBHcm91cHMgdGFncy4KCjIwMDEtMDUtMjEgMTY6MTAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFRlbXBsYXRlcy9DTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbjogZml4IGZvciBocCB4MTEgYW5kIGdsCgoyMDAxLTA1LTIxIDE1OjE2ICBob2ZmbWFuCgoJKiBNb2R1bGVzL0ZpbmRPcGVuR0wuY21ha2UsIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogZml4IG9wZW5nbCBvbgoJICBocAoKMjAwMS0wNS0yMSAxNDoxNyAgaG9mZm1hbgoKCSogU291cmNlL2NtYWtlLmN4eDogQlVHOiByZW1vdmUgZGVjbGFyYXRpb24gd2l0aG91dCB2YXJpYWJsZQoKMjAwMS0wNS0yMSAxNDowMSAgaG9mZm1hbgoKCSogY29uZmlndXJlLCBjb25maWd1cmUuaW4sIFNvdXJjZS9NYWtlZmlsZS5pbiwKCSAgU291cmNlL2NtQnVpbGROYW1lQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIFRlbXBsYXRlcy9DTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbjogY2xlYW4gdXAgZm9yIGJ1aWxkIG9uIGl0cwoJICBvd24KCjIwMDEtMDUtMjEgMTE6NDMgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbWFrZS5kc3A6IHJlbGVhc2UgZml4CgoyMDAxLTA1LTIxIDExOjM0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBDTWFrZUJ1aWxkVGFyZ2V0cy5jeHgsIENNYWtlU2V0dXBDTUQuY3h4LAoJICBDTWFrZVNldHVwQ01ELmRzcDogY29sbGFwc2VkIGludG8gY21ha2UuY3h4CgoyMDAxLTA1LTIxIDExOjMyICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21ha2UuZHNwOiBuZXcgZHNwCgoyMDAxLTA1LTIxIDExOjEzICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21ha2UuY3h4OiBidWcgZml4IGluIGZpbmRpbmcgQ01BS0VfUk9PVAoKMjAwMS0wNS0yMSAxMToxMCAgbWFydGluawoKCSogTWFrZWZpbGUuaW46IGFkZGVkIGluc3RhbGwgdGFyZ2V0CgoyMDAxLTA1LTIxIDEwOjQ3ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUJ1aWxkTmFtZUNvbW1hbmQuY3h4LCBjbVNldENvbW1hbmQuY3h4OiBCVUc6IGZpeAoJICBjb21waWxlciBuYW1lCgoyMDAxLTA1LTIxIDA5OjUwICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBDTWFrZVNldHVwLmRzdywgY21ha2UuY3h4OiB1cGRhdGVkIGZvciBvdXQgb2YgdHJlZQoJICBidWlsZHMKCjIwMDEtMDUtMjEgMDk6MzIgIG1hcnRpbmsKCgkqIE1ha2VmaWxlLmluLCBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbiwgaW5zdGFsbC1zaDogb3V0IG9mIHBsYWNlCgkgIGNtYWtlCgoyMDAxLTA1LTIxIDA5OjMyICBtYXJ0aW5rCgoJKiBDTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbiwgY29uZmlndXJlLmluLnNhbXBsZSwKCSAgU291cmNlL01ha2VmaWxlLmluLCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsIFNvdXJjZS9jbWFrZS5jeHg6IG5ldyBvdXQgb2YKCSAgcGxhY2UgYnVpbGRzCgoyMDAxLTA1LTIxIDA5OjMxICBtYXJ0aW5rCgoJKiBUZW1wbGF0ZXMvOiBDTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbiwgY29uZmlndXJlLCBjb25maWd1cmUuaW46CgkgIG5ldyBzdHJ1Y3R1cmUKCjIwMDEtMDUtMTggMTY6NDUgIGhvZmZtYW4KCgkqIENNYWtlU3lzdGVtQ29uZmlnLmNtYWtlLmluLCBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OgoJICBFTkg6IGFkZCBzdXBwb3J0IGZvciBYMTEKCjIwMDEtMDUtMTggMTY6MzAgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6ICBkdWgKCjIwMDEtMDUtMTggMTU6MjUgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtYWtlLmN4eCwgY21ha2UuaDogbmV3IGNvbW1hbmQKCjIwMDEtMDUtMTggMTU6MjMgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmg6IG1pbm9yIHdoaXRlc3BhY2UgY2hhbmdlCgoyMDAxLTA1LTE4IDE1OjIyICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21NU1Byb2plY3RHZW5lcmF0b3IuY3h4OiBjb21waWxlciBmaXgKCjIwMDEtMDUtMTggMTU6MjAgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtTVNQcm9qZWN0R2VuZXJhdG9yLmN4eCwgY21NU1Byb2plY3RHZW5lcmF0b3IuaCwKCSAgY21NYWtlZmlsZUdlbmVyYXRvci5oLCBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmg6IGNoYW5nZXMgZm9yIGNtYWtlIHRvIGxpdmUgb3V0c2lkZSBvZgoJICB0aGUgc291cmNlIHRyZWUKCjIwMDEtMDUtMTggMTM6MDQgIGhvZmZtYW4KCgkqIENNYWtlU3lzdGVtQ29uZmlnLmNtYWtlLmluLCBTb3VyY2UvY21TZXRDb21tYW5kLmN4eDogRU5IOiBhbGxvdwoJICBjYWNoZSB0byBvdmVycmlkZSBjb25maWcgZmlsZQoKMjAwMS0wNS0xOCAxMTo0OCAga2luZwoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogQlVHOiBmaXggbGluayBvZiBleGVjdXRhYmxlcwoKMjAwMS0wNS0xOCAxMToxMiAgbWFydGluawoKCSogU291cmNlL2NtTWFrZWZpbGVHZW5lcmF0b3IuaDogYWRkZWQgU2V0TG9jYWwgbWV0aG9kCgoyMDAxLTA1LTE4IDExOjA5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbU1TUHJvamVjdEdlbmVyYXRvci5jeHgsIGNtTVNQcm9qZWN0R2VuZXJhdG9yLmgsCgkgIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuaDogYWRkZWQKCSAgU2V0TG9jYWwgbWV0aG9kCgoyMDAxLTA1LTE4IDEwOjE1ICBob2ZmbWFuCgoJKiBDTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbiwgU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDoKCSAgQlVHOiBxdW90ZSB0aGUgY29tcGlsZXIgYW5kIG90aGVyIG9wdGlvbnMKCjIwMDEtMDUtMTcgMTc6NDMgIGhvZmZtYW4KCgkqIFNvdXJjZS86IENNYWtlQnVpbGRUYXJnZXRzLmN4eCwgTWFrZWZpbGUuaW46IGNvbXBpbGUgc291cmNlIGRpcgoJICBpbnRvIGNtYWtlCgoyMDAxLTA1LTE3IDE1OjQ4ICB3aWxsCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEVSUjpCYWQgI2lmZGVmJ3MKCjIwMDEtMDUtMTcgMTI6MzYgIG1hcnRpbmsKCgkqIFNvdXJjZS86IERMTEZvb3Rlci5kc3B0ZW1wbGF0ZSwgRExMSGVhZGVyLmRzcHRlbXBsYXRlLAoJICBFWEVGb290ZXIuZHNwdGVtcGxhdGUsIEVYRUhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgRVhFV2luSGVhZGVyLmRzcHRlbXBsYXRlLCBVdGlsaXR5Rm9vdGVyLmRzcHRlbXBsYXRlLAoJICBVdGlsaXR5SGVhZGVyLmRzcHRlbXBsYXRlLCBzdGF0aWNMaWJGb290ZXIuZHNwdGVtcGxhdGUsCgkgIHN0YXRpY0xpYkhlYWRlci5kc3B0ZW1wbGF0ZTogbW92ZWQgaW50byBUZW1wbGF0ZSBkaXJlY3RvcnkKCjIwMDEtMDUtMTcgMTI6MjUgIG1hcnRpbmsKCgkqIENNYWtlTWFrZWZpbGVUZW1wbGF0ZS5pbiwgQ01ha2VNYXN0ZXIubWFrZS5pbiwKCSAgQ01ha2VSdWxlcy5tYWtlLmluLCBDTWFrZVNpbXBsZVJ1bGVzLm1ha2UuaW4sCgkgIENNYWtlVGFyZ2V0cy5tYWtlLmluLCBDTWFrZVRvcE1ha2VmaWxlVGVtcGxhdGUuaW4sCgkgIENNYWtlVmFyaWFibGVzLm1ha2UuaW4sIENNYWtlV2luZG93c1N5c3RlbUNvbmZpZy5jbWFrZTogbm8gbG9uZ2VyCgkgIHVzZWQKCjIwMDEtMDUtMTcgMTI6MTQgIG1hcnRpbmsKCgkqIFNvdXJjZS9DTWFrZUJ1aWxkVGFyZ2V0cy5jeHg6IHVuaXggZml4CgoyMDAxLTA1LTE3IDEyOjA4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBDTWFrZUJ1aWxkVGFyZ2V0cy5jeHgsIENNYWtlU2V0dXBDTUQuY3h4LAoJICBjbUNhYmxlUGFja2FnZUNvbW1hbmQuY3h4LCBjbURTUE1ha2VmaWxlLmN4eCwgY21EU1BXcml0ZXIuY3h4LAoJICBjbU1ha2VmaWxlLmN4eCwgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBoYWxmIGNoZWNrZWQgaW4KCSAgY2hhbmdlcyBmb3IgQ01BS0VfUk9PVAoKMjAwMS0wNS0xNyAxMjowNCAgbWFydGluawoKCSogVGVtcGxhdGVzLzogQ01ha2VXaW5kb3dzU3lzdGVtQ29uZmlnLmNtYWtlLAoJICBETExGb290ZXIuZHNwdGVtcGxhdGUsIERMTEhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgRVhFRm9vdGVyLmRzcHRlbXBsYXRlLCBFWEVIZWFkZXIuZHNwdGVtcGxhdGUsCgkgIEVYRVdpbkhlYWRlci5kc3B0ZW1wbGF0ZSwgVXRpbGl0eUZvb3Rlci5kc3B0ZW1wbGF0ZSwKCSAgVXRpbGl0eUhlYWRlci5kc3B0ZW1wbGF0ZSwgc3RhdGljTGliRm9vdGVyLmRzcHRlbXBsYXRlLAoJICBzdGF0aWNMaWJIZWFkZXIuZHNwdGVtcGxhdGU6IG5ldyBkaXJlY3RvcnkKCjIwMDEtMDUtMTcgMTE6NDQgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ2FibGVXcmFwVGNsQ29tbWFuZC5jeHgsIGNtQ29uZmlndXJlLmguaW4sCgkgIGNtR2VuZXJhdGVkRmlsZVN0cmVhbS5oLCBjbVN0YW5kYXJkSW5jbHVkZXMuaDogQlVHOiBmaXggdG8KCSAgY29tcGlsZSBvbiBocCB3aXRoIGFDQwoKMjAwMS0wNS0xNyAxMToyMiAga2luZwoKCSogU291cmNlL2NtQ2FibGVXcmFwVGNsQ29tbWFuZC5jeHg6IFJlbmFtZWQgZ2NjeG1sIGlucHV0L291dHB1dAoJICBmaWxlcyB0byBkcm9wIF90Y2wgcXVhbGlmaWNhdGlvbi4KCjIwMDEtMDUtMTYgMTg6MTAgIGhvZmZtYW4KCgkqIENNYWtlU3lzdGVtQ29uZmlnLmNtYWtlLmluOiBFTkg6IGZpeCBmb3Igc3VuQ0MKCjIwMDEtMDUtMTYgMTg6MDggIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ2FjaGVNYW5hZ2VyLmN4eCwgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6CgkgIGZpeCBmb3Igc3VuIGNvbXBpbGVyCgoyMDAxLTA1LTE2IDE3OjQzICBraW5nCgoJKiBTb3VyY2UvOiBjbUNhYmxlQ2xhc3NTZXQuY3h4LCBjbUNhYmxlQ2xhc3NTZXQuaDogRVJSOiBSZW1vdmVkIHVzZQoJICBvZiBtZW1iZXIgdGVtcGxhdGVzLgoKMjAwMS0wNS0xNiAxNzoxOCAga2luZwoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRVJSOiBpbnQgLT4gdW5zaWduZWQgaW50CgoyMDAxLTA1LTE2IDE3OjE4ICBraW5nCgoJKiBTb3VyY2UvY21HZW5lcmF0ZWRGaWxlU3RyZWFtLmg6IEVSUjogY29uc3QgZXJyb3IgZml4ZWQuCgoyMDAxLTA1LTE2IDE3OjExICBraW5nCgoJKiBTb3VyY2UvQ01ha2VMaWIuZHNwOiBFTkg6IEFkZGVkIGNtQ2FibGVDbGFzc1NldC5jeHggdG8gYnVpbGQuCgoyMDAxLTA1LTE2IDE3OjExICBraW5nCgoJKiBTb3VyY2UvY21HZW5lcmF0ZWRGaWxlU3RyZWFtLmg6IEVSUjogQWRkZWQgaXNfb3BlbigpIGNoZWNrIGluCgkgIGNtR2VuZXJhdGVkRmlsZVN0cmVhbTo6b3BlcmF0b3IgYm9vbCgpIHNvIHRoYXQgaW1wbGljaXQKCSAgY29udmVyc2lvbiB0byBib29sIGlzIG5vdCB1c2VkLgoKMjAwMS0wNS0xNiAxNzoxMSAga2luZwoKCSogU291cmNlL2NtQ2FibGVDbGFzc1NldC5jeHg6IEVSUjogUmVtb3ZlZCBkeW5hbWljX2Nhc3Qgc28gdGhhdAoJICBSVFRJIGlzbid0IHJlcXVpcmVkLgoKMjAwMS0wNS0xNiAxNjo0MSAga2luZwoKCSogU291cmNlLzogTWFrZWZpbGUuaW4sIGNtQ2FibGVDbGFzc1NldC5jeHgsIGNtQ2FibGVDbGFzc1NldC5oLAoJICBjbUNhYmxlQ2xhc3NTZXRDb21tYW5kLmN4eCwgY21DYWJsZUNsYXNzU2V0Q29tbWFuZC5oLAoJICBjbUNhYmxlV3JhcFRjbENvbW1hbmQuY3h4LCBjbUNhYmxlV3JhcFRjbENvbW1hbmQuaCwKCSAgY21Db21tYW5kcy5jeHg6IEVOSDogQWRkaW5nIENBQkxFX0NMQVNTX1NFVCBhbmQgQ0FCTEVfV1JBUF9UQ0wKCSAgY29tbWFuZHMuICBUaGV5IGNhbm5vdCB5ZXQgYmUgdXNlZCB3aXRoIHRoZSBtYWluIGJyYW5jaCBvZiBDQUJMRSwKCSAgdGhvdWdoLgoKMjAwMS0wNS0xNiAxNjo0MCAga2luZwoKCSogU291cmNlL2NtR2VuZXJhdGVkRmlsZVN0cmVhbS5oOiBFTkg6IGNtR2VuZXJhdGVkRmlsZVN0cmVhbSBjbGFzcwoJICBhZGRlZCB0byBzaW1wbGlmeSBjb3B5LWlmLWRpZmZlcmVudCB1c2FnZSBvbiBnZW5lcmF0ZWQgZmlsZXMuCgoyMDAxLTA1LTE2IDE1OjQzICBob2ZmbWFuCgoJKiBjb25maWd1cmUuaW4uc2FtcGxlOiBbbm8gbG9nIG1lc3NhZ2VdCgoyMDAxLTA1LTE2IDE1OjE1ICBob2ZmbWFuCgoJKiBDTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbiwgU291cmNlL01ha2VmaWxlLmluLAoJICBTb3VyY2UvY21CdWlsZE5hbWVDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtQnVpbGRTaGFyZWRMaWJyYXJpZXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmN4eCwgU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmgsCgkgIFNvdXJjZS9jbURTUE1ha2VmaWxlLmN4eCwgU291cmNlL2NtRFNQV3JpdGVyLmN4eCwKCSAgU291cmNlL2NtTWFrZURlcGVuZC5jeHgsIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwKCSAgU291cmNlL2NtUHJvamVjdENvbW1hbmQuY3h4LCBTb3VyY2UvY21TZXRDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmg6IEVOSDogdW5pZnkgbWFrZSBwcm9jZXNzIG9uIHVuaXgKCjIwMDEtMDUtMTYgMDk6MTkgIGtpbmcKCgkqIFNvdXJjZS86IGNtRGF0YS5oLCBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oOiBFTkg6IEFkZGVkCgkgIGNtRGF0YSBhbmQgY29ycmVzcG9uZGluZyBEYXRhTWFwIGluIGNtTWFrZWZpbGUgdG8gYWxsb3cgY29tbWFuZHMKCSAgdG8gcmVnaXN0ZXIgYXJiaXRyYXJ5IGV4dHJhIGRhdGEgd2l0aCB0aGUgbWFrZWZpbGUgd2l0aG91dAoJICBtb2RpZnlpbmcgdGhlIGNtTWFrZWZpbGUgY2xhc3MgZGVmaW5pdGlvbi4KCjIwMDEtMDUtMTUgMTM6MTQgIG1hcnRpbmsKCgkqIFNvdXJjZS86IERMTEhlYWRlci5kc3B0ZW1wbGF0ZSwgRVhFSGVhZGVyLmRzcHRlbXBsYXRlLAoJICBFWEVXaW5IZWFkZXIuZHNwdGVtcGxhdGUsIGNtRFNQTWFrZWZpbGUuY3h4LCBjbURTUFdyaXRlci5jeHgsCgkgIHN0YXRpY0xpYkhlYWRlci5kc3B0ZW1wbGF0ZTogYWRkZWQgb3V0cHV0IGRpcmVjdG9yeSBzdXBwb3J0CgoyMDAxLTA1LTE0IDE2OjQ3ICBiYXJyZQoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBDaGFuZ2VkIHNlcGFyYXRvciBiZXR3ZWVuIHJlZ2lzdHJ5IGtleQoJICBhbmQgaXRzIHZhbHVlLiBDaGFuZ2UgcmVnZXhwIGZvciByZWdpc3RyeSBrZXkuCgoyMDAxLTA1LTE0IDE2OjQ2ICBiYXJyZQoKCSogTW9kdWxlcy9GaW5kVENMLmNtYWtlOiBDaGFuZ2VkIHNlcGFyYXRvciBiZXR3ZWVuIHJlZ2lzdHJ5IGtleSBhbmQKCSAgaXRzIHZhbHVlLgoKMjAwMS0wNS0xNCAxMDozNiAgaG9mZm1hbgoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IHB1dCBiYWNrIGxvc3QgY2hhbmdlcyBmcm9tIHIxLjM4CgoyMDAxLTA1LTEyIDA3OjI5ICBiYXJyZQoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBmaXggKyA9PiArPSBidWcgcmVwb3J0ZWQgYnkgQS4gUGVyZXJhCgoyMDAxLTA1LTExIDE3OjIyICBiYXJyZQoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFeHRlbmRlZCB0aGUgcmVnaXN0cnkga2V5IHJlZ2V4cAoKMjAwMS0wNS0xMSAxNzoxMSAgYmFycmUKCgkqIE1vZHVsZXMvRmluZFRDTC5jbWFrZTogQWRkIDguNCBhbmQgcmVnaXN0cnkgc3VwcG9ydAoKMjAwMS0wNS0xMSAxNzoxMSAgYmFycmUKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQWRkIHN1cHBvcnQgZm9yIGEgc3BlY2lmaWMgdmFsdWUgbmFtZQoJICBpbiBhIHJlZ2lzdHJ5IGtleQoKMjAwMS0wNS0xMSAxNDo0OSAgZ2VvZmYKCgkqIFNvdXJjZS9jbUNhY2hlTWFuYWdlci5jeHg6IENhY2hlIGZpbGUgaXMgYSBiaXQgcHJldHRpZXIKCjIwMDEtMDUtMTEgMTQ6MzkgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ2FibGVTb3VyY2VGaWxlc0NvbW1hbmQuY3h4LCBjbVN5c3RlbVRvb2xzLmN4eCwKCSAgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IGZpeCBmaW5kIGxpYnJhcnkgZm9yIHVuaXgKCjIwMDEtMDUtMTEgMTM6NTggIGJhcnJlCgoJKiBNb2R1bGVzL0ZpbmRQeXRob25MaWJzLmNtYWtlOiBOQU1FUyBzeW50YXgKCjIwMDEtMDUtMTEgMTM6NTIgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtRFNQTWFrZWZpbGUuY3h4LCBjbURTUFdyaXRlci5jeHg6IGZpeCBmb3IgZXhwYW5kaW5nCgkgIGxpYnJhcnkgdmFycwoKMjAwMS0wNS0xMSAxMjozMCAgYmFycmUKCgkqIFNvdXJjZS9jbUZpbmRMaWJyYXJ5Q29tbWFuZC5jeHg6IEZpeCBoZWxwIHN0cmluZyB3aGVuIE5BTUVTIHdhcwoJICB1c2VkIChmb3Jnb3QgdGhlIGNhc2Ugd2hlbiB0aGVyZSBpcyBubyBuYW1lKQoKMjAwMS0wNS0xMSAxMjoxMyAgYmFycmUKCgkqIFNvdXJjZS9jbUZpbmRMaWJyYXJ5Q29tbWFuZC5jeHg6IEZpeCBoZWxwIHN0cmluZyB3aGVuIE5BTUVTIHdhcwoJICB1c2VkCgoyMDAxLTA1LTExIDExOjQ1ICBraW5nCgoJKiBTb3VyY2UvY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4OiBFUlI6IGludCAtPiB1bnNpZ25lZCBpbnQuCgoyMDAxLTA1LTExIDExOjM5ICBob2ZmbWFuCgoJKiBDTWFrZVZhcmlhYmxlcy5tYWtlLmluLCBTb3VyY2UvY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4OiBCVUc6IGFkZAoJICBiYWNrIHRocmVhZCBsaWJyYXJ5CgoyMDAxLTA1LTExIDExOjA3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21GaW5kUHJvZ3JhbUNvbW1hbmQuY3h4OiBleHBhbmRzIHJlZyB2YWx1ZXMKCjIwMDEtMDUtMTEgMTA6NTIgIG1hcnRpbmsKCgkqIFNvdXJjZS86IEVYRUhlYWRlci5kc3B0ZW1wbGF0ZSwgY21BZGRFeGVjdXRhYmxlQ29tbWFuZC5jeHgsCgkgIGNtQWRkRXhlY3V0YWJsZUNvbW1hbmQuaCwgY21EU1BNYWtlZmlsZS5jeHgsIGNtRFNQTWFrZWZpbGUuaCwKCSAgY21EU1BXcml0ZXIuY3h4LCBjbURTUFdyaXRlci5oLCBjbUZpbmRMaWJyYXJ5Q29tbWFuZC5jeHgsCgkgIGNtRmluZFBhdGhDb21tYW5kLmN4eCwgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaCwKCSAgY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaCwgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBFWEVXaW5IZWFkZXIuZHNwdGVtcGxhdGU6IGFkZGVkIHJlZ2lzdHJ5IGVudHJ5IHN1cHBvcnQgYW5kCgkgIHdpbmRvd3MgYXBwIHN1cHBvcnQKCjIwMDEtMDUtMTEgMTA6MjcgIG1hcnRpbmsKCgkqIE1vZHVsZXMvOiBGaW5kSk5JLmNtYWtlLCBGaW5kUHl0aG9uTGlicy5jbWFrZTogbWlub3IgZml4ZXMgYW5kCgkgIG5ldyBweXRob24gbW9kdWxlCgoyMDAxLTA1LTEwIDE3OjIyICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbURTUE1ha2VmaWxlLmN4eCwgY21EU1BXcml0ZXIuY3h4OiBCVUc6IGZpeCB1cCBndWkgd2l0aAoJICB2YWx1ZXMgdGhhdCBzdGF5IGFyb3VuZCB0b28gbG9uZwoKMjAwMS0wNS0xMCAxNjoyMSAgZ2VvZmYKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogZGVmaW5pdGlvbnMgc2hvdWxkIG5vdyBiZSBvdmVyd3JpdHRlbiBpZgoJICB0aGV5IGFscmVhZHkgZXhpc3QKCjIwMDEtMDUtMTAgMTU6NTAgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQlVHOiBmaXggdW5peCBwYXRoIHNlYXJjaAoKMjAwMS0wNS0xMCAxNTozMiAgbWFydGluawoKCSogU291cmNlL2NtVGFyZ2V0LmN4eDogZml4IGZvciBleHBhbmluZyBsaWJyYXJpZXMgcHJpb3IgdG8KCSAgZ2VuZXJhdGluZyBkc3AKCjIwMDEtMDUtMTAgMTQ6MzAgIGdlb2ZmCgoJKiBTb3VyY2UvOiBjbURTUE1ha2VmaWxlLmN4eCwgY21EU1BXcml0ZXIuY3h4OiBSZWFkcyBhbmQgdXNlcwoJICBNU1BST0pFQ1RfVEVNUExBVEVfRElSRUNUT1JZIGlmIGl0IGV4aXN0cwoKMjAwMS0wNS0xMCAxNDowMiAga2luZwoKCSogQ01ha2UuZG9jOiBCVUc6IFJlbW92aW5nIHRoaXMgZmlsZS4gIEl0IGhhcyBiZWVuIHJlcGxhY2VkIGJ5CgkgIENNYWtlLmRvYy5neiB0byBnZXQgYXJvdW5kIGEgcHJvYmxlbSB3aXRoIENWUy4KCjIwMDEtMDUtMTAgMTM6NTIgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbVRhcmdldC5oOiBhZGRlZCB3aW4zMiBleGVjdXRhYmxlIG9wdGlvbgoKMjAwMS0wNS0xMCAxMjoyNSAga2luZwoKCSogQ01ha2UuZG9jLmd6OiBUZXN0aW5nIHN0cmFuZ2UgY3ZzIHByb2JsZW0gd2l0aCAuZG9jIGZpbGVzLgoKMjAwMS0wNS0xMCAxMjowNSAga2luZwoKCSogQ01ha2UucGRmLCBDTWFrZS5wZGYuZ3o6IEJVRzogUmVtb3Zpbmcgb2xkIENNYWtlLnBkZiBhbmQgYWRkaW5nCgkgIHRoZSBnemlwcGVkIHZlcnNpb24sIENNYWtlLnBkZi5neiBiZWNhdXNlIG9mIGZpbGUgc2l6ZSBwcm9ibGVtcwoJICB3aXRoIGN2cy4KCjIwMDEtMDUtMTAgMTE6MjAgIGtpbmcKCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogUmVtb3ZlZCBzdHJheSBkZWJ1Z2dpbmcKCSAgb3V0cHV0IHN0YXRlbWVudC4gIEFsc28gcmVuYW1lZCBzb21lIHZhcmlhYmxlcyBmb3IgY2xhcml0eS4KCjIwMDEtMDUtMTAgMTE6MTkgIGtpbmcKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogRVJSOiBSdW5Db21tYW5kIG1ldGhvZCBuZWVkZWQgcmV0dXJuIGluCgkgIHVuaXguCgoyMDAxLTA1LTEwIDExOjE4ICBraW5nCgoJKiBTb3VyY2UvOiBjbUZpbmRMaWJyYXJ5Q29tbWFuZC5jeHgsIGNtRmluZFByb2dyYW1Db21tYW5kLmN4eDogRVJSOgoJICBSZW1vdmVkIHVudXNlZCB2YXJpYWJsZQoKMjAwMS0wNS0xMCAwOTo0NSAga2luZwoKCSogQ01ha2VWYXJpYWJsZXMubWFrZS5pbjogQlVHOiBBTlNJX0NGTEFHUyAtPiBDTUFLRV9BTlNJX0NGTEFHUwoKMjAwMS0wNS0wOSAxODowMCAgZ2VvZmYKCgkqIFNvdXJjZS86IEVYRUhlYWRlci5kc3B0ZW1wbGF0ZSwgY21EU1BNYWtlZmlsZS5jeHgsCgkgIGNtRFNQV3JpdGVyLmN4eDogQUREIExJTkszMnMgYXJlIG5vdyBvbiBtdWx0aXBsZSBsaW5lcyBiZWNhdXNlIFZDCgkgIGJyZWFrcyBvdGhlcndpc2UKCjIwMDEtMDUtMDkgMTc6MzggIGJhcnJlCgoJKiBNb2R1bGVzL0ZpbmRUQ0wuY21ha2U6IEVOSDogYWRkIDguMyBzdXBwb3J0CgoyMDAxLTA1LTA5IDE2OjE3ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbURTUE1ha2VmaWxlLmN4eCwgY21EU1BXcml0ZXIuY3h4OiBCVUc6IGVzY2FwZSBzcGFjZXMKCSAgYmVmb3JlIGFkZGluZyAubGliCgoyMDAxLTA1LTA5IDE2OjA4ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbURTUE1ha2VmaWxlLmN4eCwgY21EU1BXcml0ZXIuY3h4OiBFTkg6IGVzY2FwZSBzcGFjZXMKCjIwMDEtMDUtMDkgMTU6NDggIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtRFNQTWFrZWZpbGUuY3h4LCBjbURTUFdyaXRlci5jeHg6IEVOSDogb25seSBhZGQgLmxpYgoJICBpZiBubyAubGliIGV4aXN0cwoKMjAwMS0wNS0wOSAxNDo1MyAgaG9mZm1hbgoKCSogTW9kdWxlcy9GaW5kRkxUSy5jbWFrZSwgTW9kdWxlcy9GaW5kR1RLLmNtYWtlLAoJICBNb2R1bGVzL0ZpbmRKTkkuY21ha2UsIE1vZHVsZXMvRmluZEpQRUcuY21ha2UsCgkgIE1vZHVsZXMvRmluZE1QSS5jbWFrZSwgTW9kdWxlcy9GaW5kVENMLmNtYWtlLCBTb3VyY2UvY21Db21tYW5kLmgsCgkgIFNvdXJjZS9jbUZpbmRMaWJyYXJ5Q29tbWFuZC5jeHgsIFNvdXJjZS9jbUZpbmRMaWJyYXJ5Q29tbWFuZC5oLAoJICBTb3VyY2UvY21GaW5kUHJvZ3JhbUNvbW1hbmQuY3h4LCBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHgsCgkgIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmgsIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDoKCSAgY2hhbmdlIGZpbmQgbGlicmFyeSBhbmQgZmluZCBwcm9ncmFtIHRvIGxvb2sgZm9yIG1vcmUgdGhhbiBvbmUKCSAgbmFtZQoKMjAwMS0wNS0wOSAxMzo0NCAgaG9mZm1hbgoKCSogU291cmNlL2NtQ2FibGVEZWZpbmVTZXRDb21tYW5kLmN4eDogQlVHOiBtYXRjaCBjYWxsZWQgb24gaW52YWxpZAoJICBudW1iZXIKCjIwMDEtMDUtMDkgMTM6MjIgIG1hcnRpbmsKCgkqIENNYWtlTWFzdGVyLm1ha2UuaW4sIENNYWtlUnVsZXMubWFrZS5pbiwKCSAgQ01ha2VTeXN0ZW1Db25maWcuY21ha2UuaW4sIENNYWtlVG9wTWFrZWZpbGVUZW1wbGF0ZS5pbiwKCSAgQ01ha2VWYXJpYWJsZXMubWFrZS5pbiwgY29uZmlndXJlLmluLnNhbXBsZSwgU291cmNlL01ha2VmaWxlLmluOgoJICBjbGVhbmVkIHVwIGNvbmZpZ3VyZSBzb21lCgoyMDAxLTA1LTA5IDExOjE1ICBtaWxsZXJqdgoKCSogU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmN4eDogRklYOiBvbmx5IGNsZWFyIHRoZSBjYWNoZSBvbiBhIGxvYWQKCSAgd2hlbiB0aGUgbG9hZCBuZWVkcyB0byByZWFkIGludGVybmFsIHZhbHVlcy4JT3RoZXJ3aXNlLCBpdCBpcwoJICBhc3N1bWVkIHRoYXQgd2UgYXJlIHJlYWRpbmcgYW5vdGhlciBwcm9qZWN0cyBjYWNoZS4KCjIwMDEtMDUtMDkgMDk6NTIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmN4eDogQlVHOiBmaXggdXNlIGJleW9uZCBlbmQgb2YKCSAgYXJyYXkKCjIwMDEtMDUtMDkgMDg6NTEgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQ29tbWFuZHMuY3h4LCBjbUxvYWRDYWNoZUNvbW1hbmQuY3h4LAoJICBjbUxvYWRDYWNoZUNvbW1hbmQuaCwgY21Tb3VyY2VGaWxlLmN4eDogYWRkZWQgbG9hZCBjYWNoZSBjb21tYW5kCgkgIGFuZCBmaXhlZCBzb3VyY2UgZmlsZQoKMjAwMS0wNS0wOCAxNzozNyAga2luZwoKCSogU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmN4eDogRVJSOiBMb2FkQ2FjaGUgbmVlZGVkIHRvIHJldHVybiBhCgkgIHZhbHVlLgoKMjAwMS0wNS0wOCAxNzowNCAgbWFydGluawoKCSogU291cmNlLzogY21DYWNoZU1hbmFnZXIuY3h4LCBjbUNhY2hlTWFuYWdlci5oOiBhZGRlZCBhYmlsaXR5IHRvCgkgIGxvYWQgYW5vdGhlciBjYWNoZQoKMjAwMS0wNS0wOCAxNzowMyAgbWFydGluawoKCSogU291cmNlL2NtUHJvamVjdENvbW1hbmQuY3h4OiBub3cgYWRkcyBzcmMgYW5kIGJpbiBkaXIgaW50byBjYWNoZQoKMjAwMS0wNS0wOCAxNjoyMCAgbWFydGluawoKCSogU291cmNlL2NtVlRLV3JhcFRjbENvbW1hbmQuY3h4OiBmaXhlZCBidWcgaW4gaW5pdCBjb2RlCgoyMDAxLTA1LTA4IDE2OjAxICBob2ZmbWFuCgoJKiBjb25maWd1cmUuaW4uc2FtcGxlOiBjbGVhbiB1cAoKMjAwMS0wNS0wOCAxMTo0MCAgbWFydGluawoKCSogU291cmNlL2NtVGFyZ2V0TGlua0xpYnJhcmllc0NvbW1hbmQuY3h4OiBCVUc6IGFkZGVkIGFyZzAgdG8gbGluawoJICBsaWJyYXJpZXMKCjIwMDEtMDUtMDggMTA6MTYgIGliYW5legoKCSogTW9kdWxlcy9GaW5kRkxUSy5jbWFrZTogTW9kdWxlIHRvIHNlYXJjaCB0aGUgcGF0aCBmb3IgRkxUSwoJICBsaWJyYXJ5ICAgKCBodHRwOi8vd3d3LmZsdGsub3JnICkKCjIwMDEtMDUtMDcgMTg6MTQgIGtpbmcKCgkqIFNvdXJjZS86IGNtQWRkRXhlY3V0YWJsZUNvbW1hbmQuY3h4LCBjbUFkZExpYnJhcnlDb21tYW5kLmN4eCwKCSAgY21NYWtlZmlsZS5jeHg6IEVOSDogTW92ZWQgY2FjaGUgZW50cnkgYWRkaXRpb24gaW50bwoJICBjbU1ha2VmaWxlOjpBZGRMaWJyYXJ5IGFuZCBBZGRFeGVjdXRhYmxlIHNvIHRoYXQgY29tbWFuZHMgZG8gbm90CgkgIGhhdmUgdG8gYWRkIGl0IGV4cGxpY2l0bHkuCgoyMDAxLTA1LTA3IDE4OjExICBob2ZmbWFuCgoJKiBDTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbiwgU291cmNlL0NNYWtlQnVpbGRUYXJnZXRzLmN4eCwKCSAgU291cmNlL01ha2VmaWxlLmluLCBTb3VyY2UvY21DYWNoZU1hbmFnZXIuY3h4LAoJICBTb3VyY2UvY21Db21tYW5kcy5jeHgsIFNvdXJjZS9jbUNvbmZpZ3VyZUZpbGUuY3h4LAoJICBTb3VyY2UvY21Db25maWd1cmVGaWxlLmgsIFNvdXJjZS9jbUNvbmZpZ3VyZUZpbGVDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtQ29uZmlndXJlRmlsZUNvbW1hbmQuaCwgU291cmNlL2NtRXhlY1Byb2dyYW0uY3h4LAoJICBTb3VyY2UvY21FeGVjUHJvZ3JhbS5oLCBTb3VyY2UvY21FeGVjUHJvZ3JhbUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21FeGVjUHJvZ3JhbUNvbW1hbmQuaCwgU291cmNlL2NtTWFrZURpcmVjdG9yeUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21NYWtlRGlyZWN0b3J5Q29tbWFuZC5oLCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmgsIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwKCSAgU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmg6IEVOSDogY2FsbCBjb25maWd1cmUgZnJvbSBjbWFrZQoKMjAwMS0wNS0wNyAxMDowMiAgYmxlemVrCgoJKiBTb3VyY2UvY21Db25maWd1cmVGaWxlLmN4eDogQlVHOiBSZW1vdmluZyBSZW1vdmUgVmFyaWFibGVzIGNhbGwKCjIwMDEtMDUtMDcgMDk6MTYgIGdlb2ZmCgoJKiBjb25maWd1cmUuaW4uc2FtcGxlOiBVbmRlciBGcmVlQlNEOiBzaG91bGQgYmUKCSAgQ01BS0VfU0hMSUJfQlVJTERfRkxBR1MgYW5kIG5vdCBDTUFLRV9TSExJQl9MSU5LX0ZMQUdTLgoJICBDTWFrZVN5c3RlbUNvbmZpZy5jbWFrZSBub3QgYmVpbmcgbWFkZQoKMjAwMS0wNS0wNSAxMToyOCAgaG9mZm1hbgoKCSogU291cmNlL2NtQWRkRXhlY3V0YWJsZUNvbW1hbmQuY3h4OiBCVUc6IGFkZCBpbnRlcm5hbCBjYWNoZSBlbnRyeQoJICBmb3IgZXhlY3V0YWJsZXMsIHNvIGRlcGVuZHMgY2FuIHdvcmsKCjIwMDEtMDUtMDUgMTE6MDMgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQWRkVGFyZ2V0Q29tbWFuZC5jeHgsIGNtQWRkVGFyZ2V0Q29tbWFuZC5oLAoJICBjbUNhYmxlSW5zdGFudGlhdGVDbGFzc0NvbW1hbmQuaCwgY21DYWJsZUluc3RhbnRpYXRlQ29tbWFuZC5oLAoJICBjbUNvbW1hbmRzLmN4eCwgY21MaWJyYXJ5Q29tbWFuZC5jeHg6IEJVRzogYWRkIHJlbW92ZWQgY29tbWFuZCwKCSAgYW5kIHNvcnQgdGhlIG9yZGVyIGluIGNtQ29tbWFuZHMuY3h4CgoyMDAxLTA1LTA0IDE3OjAwICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmN4eCwgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBmaXhlcyBmb3IKCSAgdW50aWx0aXkgdGFyZ2V0cyBpbiBhbGwKCjIwMDEtMDUtMDQgMTY6NDQgIGJsZXplawoKCSogU291cmNlL2NtQnVpbGROYW1lQ29tbWFuZC5jeHg6IEVOSDogUHJvcGVyIGJ1aWxkIG5hbWUKCjIwMDEtMDUtMDQgMTY6NDMgIGJsZXplawoKCSogU291cmNlL2NtU2l0ZU5hbWVDb21tYW5kLmN4eDogRU5IOiBDb3JyZWN0IHNpdGVuYW1lCgoyMDAxLTA1LTA0IDE1OjUwICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuY3h4LAoJICBjbUFkZEN1c3RvbVRhcmdldENvbW1hbmQuaCwgY21BZGRUYXJnZXRDb21tYW5kLmN4eCwKCSAgY21BZGRUYXJnZXRDb21tYW5kLmgsIGNtRFNXTWFrZWZpbGUuY3h4LCBjbURTV1dyaXRlci5jeHgsCgkgIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsIGNtVGFyZ2V0LmgsCgkgIGNtVlRLV3JhcEphdmFDb21tYW5kLmN4eDogb3B0aW9uIHRvIG1ha2UgdXRpbGl0aWVzIGluIHRoZSBhbGwKCSAgdGFyZ2V0CgoyMDAxLTA1LTA0IDE0OjUzICBob2ZmbWFuCgoJKiBDTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbiwgQ01ha2VXaW5kb3dzU3lzdGVtQ29uZmlnLmNtYWtlOiBFTkg6CgkgIG1vdmUgdG8gY21ha2UgZm9yIGl0a0NvbmZpZ3VyZS5oLmluCgoyMDAxLTA1LTA0IDEyOjUyICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21WVEtXcmFwSmF2YUNvbW1hbmQuY3h4OiB1cGRhdGVzCgoyMDAxLTA1LTA0IDExOjM1ICBnZW9mZgoKCSogTW9kdWxlcy86IEZpbmRHVEsuY21ha2UsIEZpbmRKUEVHLmNtYWtlOiBJTkNMVURFIHRoZXNlIHRvIGZpbmQKCSAgdGhlIHJlbGV2YW50IGxpYnJhcmllcwoKMjAwMS0wNS0wNCAxMTozNCAgaG9mZm1hbgoKCSogU291cmNlLzogY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmN4eCwKCSAgY21BZGRDdXN0b21UYXJnZXRDb21tYW5kLmgsIGNtQnVpbGRDb21tYW5kLmN4eCwgY21CdWlsZENvbW1hbmQuaCwKCSAgY21CdWlsZE5hbWVDb21tYW5kLmN4eCwgY21CdWlsZE5hbWVDb21tYW5kLmgsIGNtRXhlY1Byb2dyYW0uY3h4LAoJICBjbUV4ZWNQcm9ncmFtLmgsIGNtU2l0ZU5hbWVDb21tYW5kLmN4eCwgY21TaXRlTmFtZUNvbW1hbmQuaDogRU5IOgoJICBtb3ZlIHRlc3Rpbmcgc3R1ZmYgdG8gY21ha2UgZnJvbSBjb25maWd1cmUsIGdvb2QgYnllIGRhc2hib2FyZC4uLgoJICA6KQoKMjAwMS0wNS0wNCAxMTozMCAgaG9mZm1hbgoKCSogQ01ha2VSdWxlcy5tYWtlLmluLCBDTWFrZVN5c3RlbUNvbmZpZy50eHQuaW4sCgkgIENNYWtlV2luZG93c1N5c3RlbUNvbmZpZy50eHQsIFNvdXJjZS9jbUFkZFRhcmdldENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21BZGRUYXJnZXRDb21tYW5kLmgsIFNvdXJjZS9jbUNhY2hlTWFuYWdlci5jeHgsCgkgIFNvdXJjZS9jbUNvbW1hbmRzLmN4eCwgU291cmNlL2NtRFNXTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21EU1dXcml0ZXIuY3h4LCBTb3VyY2UvY21GaW5kUHJvZ3JhbUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZS5jeHgsIFNvdXJjZS9jbU9wdGlvbkNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21PcHRpb25Db21tYW5kLmgsIFNvdXJjZS9jbVNvdXJjZUdyb3VwLmN4eCwKCSAgU291cmNlL2NtU291cmNlR3JvdXAuaCwgU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4LAoJICBTb3VyY2UvY21TeXN0ZW1Ub29scy5oLCBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6CgkgIG1vdmUgdGVzdGluZyBzdHVmZiB0byBjbWFrZSBmcm9tIGNvbmZpZ3VyZSwgZ29vZCBieWUgZGFzaGJvYXJkLi4uCgkgIDopCgoyMDAxLTA1LTA0IDEwOjQ0ICBraW5nCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEVOSDogQWRkZWQgc3VwcG9ydCB0byBFc2NhcGVTcGFjZXMgdG8KCSAgdXNlIGRvdWJsZSBxdW90ZXMgb24gd2luZG93cy4KCjIwMDEtMDUtMDQgMTA6NDQgIGtpbmcKCgkqIFNvdXJjZS9jbUNhYmxlUGFja2FnZUNvbW1hbmQuY3h4OiBFTkg6IEFkZGVkIHVzZSBvZiBDTUFLRSBjYWNoZQoJICBlbnRyeSBmb3IgZ2VuZXJhdGluZyB0aGUgRFNQL21ha2VmaWxlIGJ1aWxkIHJ1bGVzLgoKMjAwMS0wNS0wNCAxMDo0NCAga2luZwoKCSogU291cmNlLzogY21EU1BNYWtlZmlsZS5jeHgsIGNtRFNQTWFrZWZpbGUuaCwgY21EU1BXcml0ZXIuY3h4LAoJICBjbURTUFdyaXRlci5oOiBFTkg6IEFkZGVkIHVzZSBvZiBDTUFLRSBjYWNoZSBlbnRyeSBmb3IgZ2VuZXJhdGluZwoJICB0aGUgRFNQIGJ1aWxkIHJ1bGVzLgoKMjAwMS0wNS0wNCAxMDoxMyAgbWFydGluawoKCSogTW9kdWxlcy9GaW5kSk5JLmNtYWtlOiBtaW5vciBmaXhlcwoKMjAwMS0wNS0wNCAwOTo1NiAgbWFydGluawoKCSogU291cmNlLzogY21EU1BNYWtlZmlsZS5jeHgsIGNtRFNQV3JpdGVyLmN4eDogZml4ZWQgY3VzdG9tIGNvbW1hbmQKCSAgcnVsZQoKMjAwMS0wNS0wNCAwOTo0NyAgbWFydGluawoKCSogTW9kdWxlcy9GaW5kSk5JLmNtYWtlOiBuZXcgbW9kdWxlCgoyMDAxLTA1LTA0IDA5OjM5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbURTUE1ha2VmaWxlLmN4eCwgY21EU1BXcml0ZXIuY3h4LCBjbVNvdXJjZUdyb3VwLmN4eCwKCSAgY21Tb3VyY2VHcm91cC5oLCBjbVZUS1dyYXBKYXZhQ29tbWFuZC5jeHg6IGJldHRlciBjdXN0b20gcnVsZXMKCjIwMDEtMDUtMDQgMDg6NDYgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtRnVuY3Rpb25CbG9ja2VyLmgsIGNtSWZDb21tYW5kLmN4eCwgY21JZkNvbW1hbmQuaCwKCSAgY21NYWtlZmlsZS5jeHgsIGNtVlRLV3JhcEphdmFDb21tYW5kLmN4eDogYmV0dGVyIElmIGNoZWNrcwoKMjAwMS0wNS0wNCAwODo0NSAgbWFydGluawoKCSogU291cmNlLzogY21Tb3VyY2VGaWxlc1JlcXVpcmVDb21tYW5kLmN4eCwKCSAgY21Tb3VyY2VGaWxlc1JlcXVpcmVDb21tYW5kLmgsIGNtVW5peERlZmluZXNDb21tYW5kLmN4eCwKCSAgY21Vbml4RGVmaW5lc0NvbW1hbmQuaCwgY21Vbml4TGlicmFyaWVzQ29tbWFuZC5jeHgsCgkgIGNtVW5peExpYnJhcmllc0NvbW1hbmQuaCwgY21XaW4zMkRlZmluZXNDb21tYW5kLmN4eCwKCSAgY21XaW4zMkRlZmluZXNDb21tYW5kLmgsIGNtV2luMzJJbmNsdWRlRGlyZWN0b3J5Q29tbWFuZC5jeHgsCgkgIGNtV2luMzJJbmNsdWRlRGlyZWN0b3J5Q29tbWFuZC5oLCBjbVdpbjMyTGlicmFyaWVzQ29tbWFuZC5jeHgsCgkgIGNtV2luMzJMaWJyYXJpZXNDb21tYW5kLmg6IHJlbW92ZWQgb2xkIGZ1bmN0aW9ucwoKMjAwMS0wNS0wMyAxNjo1NSAga2luZwoKCSogU291cmNlLzogQ01ha2VCdWlsZFRhcmdldHMuY3h4LCBDTWFrZVNldHVwQ01ELmN4eDogRU5IOiBBZGRlZAoJICBnZW5lcmF0aW9uIG9mIGludGVybmFsIENNQUtFIGNhY2hlIGVudHJ5IHdpdGggcGF0aCB0bwoJICBjb21tYW5kLWxpbmUgQ01ha2UgZXhlY3V0YWJsZS4KCjIwMDEtMDUtMDMgMTY6NTUgIGtpbmcKCgkqIFNvdXJjZS86IGNtRmluZFByb2dyYW1Db21tYW5kLmN4eCwgY21TeXN0ZW1Ub29scy5jeHgsCgkgIGNtU3lzdGVtVG9vbHMuaDogRU5IOiBBZGRlZCBjbVN5c3RlbVRvb2xzOjpGaW5kUHJvZ3JhbSgpIGFuZAoJICBmdWxsLXBhdGggZGV0ZWN0aW9uIHV0aWxpdGllcy4KCjIwMDEtMDUtMDMgMTU6MjcgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQ29tbWFuZHMuY3h4LCBjbVZUS1dyYXBKYXZhQ29tbWFuZC5jeHgsCgkgIGNtVlRLV3JhcEphdmFDb21tYW5kLmg6IG1pbm9yIGZpeGVzCgoyMDAxLTA1LTAzIDExOjA0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21Db21tYW5kcy5jeHg6IHJlbW92ZWQgZGVwcmVjYXRlZCBjb21tYW5kcwoKMjAwMS0wNS0wMyAxMDo1OCAgbWFydGluawoKCSogQ01ha2VTeXN0ZW1Db25maWcuY21ha2UuaW46IGJldHRlciBjb25maWcgaW5mbwoKMjAwMS0wNS0wMyAxMDozNSAgbWFydGluawoKCSogU291cmNlL2NtQ29uZmlndXJlRmlsZS5jeHg6IG5vdyBzdXBwb3J0IGNtYWtlZGVmaW5lCgoyMDAxLTA1LTAzIDA4OjUzICBtYXJ0aW5rCgoJKiBDTWFrZVN5c3RlbUNvbmZpZy50eHQuaW4sIENNYWtlV2luZG93c1N5c3RlbUNvbmZpZy50eHQ6IHVzZXMKCSAgY21ha2UgY29tbWFuZHMgbm93CgoyMDAxLTA1LTAzIDA4OjUyICBtYXJ0aW5rCgoJKiBDTWFrZVN5c3RlbUNvbmZpZy5jbWFrZS5pbiwgQ01ha2VTeXN0ZW1Db25maWcudHh0LmluLAoJICBDTWFrZVdpbmRvd3NTeXN0ZW1Db25maWcuY21ha2UsIENNYWtlV2luZG93c1N5c3RlbUNvbmZpZy50eHQsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuaDogc3lzdGVtIGNvbmZpZyB1c2VzCgkgIGNtYWtlIGNvbW1hbmRzIG5vdwoKMjAwMS0wNS0wMiAxNzozMyAgbWFydGluawoKCSogTW9kdWxlcy9GaW5kTVBJLmNtYWtlOiBtaW5vciBmaXhlcwoKMjAwMS0wNS0wMiAxNzowNyAgbWFydGluawoKCSogTW9kdWxlcy9GaW5kTVBJLmNtYWtlOiBuZXcgbW9kdWxlCgoyMDAxLTA1LTAyIDE0OjA4ICBtYXJ0aW5rCgoJKiBNb2R1bGVzL0ZpbmRPcGVuR0wuY21ha2U6IHNpbXBsZSBtb2R1bGUKCjIwMDEtMDUtMDIgMTE6NTMgIG1hcnRpbmsKCgkqIE1vZHVsZXMvRmluZFRDTC5jbWFrZTogZmluZHMgdGsgYXMgd2VsbAoKMjAwMS0wNS0wMiAxMTo1MyAgbWFydGluawoKCSogU291cmNlLzogQ01ha2VCdWlsZFRhcmdldHMuY3h4LCBDTWFrZVNldHVwQ01ELmN4eDogY2FjaGUgbG9hZGVkCgkgIGludG8gbWFrZWZpbGUKCjIwMDEtMDUtMDEgMTc6NTIgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtVlRLV3JhcFB5dGhvbkNvbW1hbmQuY3h4LCBjbVZUS1dyYXBUY2xDb21tYW5kLmN4eDoKCSAgZml4ZWQgYnVnIGluIGxpbWl0aW5nIHRvIHNvdXJjZSBsaXN0cwoKMjAwMS0wNS0wMSAxNzozNyAga2luZwoKCSogU291cmNlLzogY21DYWJsZURlZmluZVNldENvbW1hbmQuY3h4LCBjbUNhYmxlRGVmaW5lU2V0Q29tbWFuZC5oLAoJICBjbUNhYmxlV3JhcENvbW1hbmQuY3h4LCBjbUNhYmxlV3JhcENvbW1hbmQuaDogRU5IOiBDaGFuZ2VkCgkgIGNtQ2FibGVXcmFwQ29tbWFuZCB0byBpbmhlcml0IGZyb20gY21DYWJsZURlZmluZVNldENvbW1hbmQgc2luY2UKCSAgdGhleSBkbyBhbG1vc3QgZXhhY3RseSB0aGUgc2FtZSB0aGluZy4gIEFkZGVkIGEgR2V0WG1sVGFnIHZpcnR1YWwKCSAgZnVuY3Rpb24gdG8gYm90aCBjbGFzc2VzIHRvIHJldHVybiB3aGF0IFhNTCB0YWcgdG8gZ2VuZXJhdGUgaW4KCSAgdGhlIHNldCdzIG91dHB1dC4gIGNtQ2FibGVEZWZpbmVTZXRDb21tYW5kIGdlbmVyYXRlcyBhICJTZXQiIHRhZywKCSAgYW5kIGNtQ2FibGVXcmFwQ29tbWFuZCBnZW5lcmF0ZXMgYSAiV3JhcHBlclNldCIgdGFnLglXaGF0IGlzCgkgIGluc2lkZSB0aGUgdGFncyBpcyBzdGlsbCBnZW5lcmF0ZWQgYnkgdGhlIGNtQ2FibGVEZWZpbmVTZXRDb21tYW5kCgkgIHN1cGVyY2xhc3MuCgoyMDAxLTA1LTAxIDE3OjM1ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNhYmxlSW5zdGFudGlhdGVDbGFzc0NvbW1hbmQuY3h4LAoJICBjbUNhYmxlSW5zdGFudGlhdGVDbGFzc0NvbW1hbmQuaCwgY21DYWJsZUluc3RhbnRpYXRlQ29tbWFuZC5jeHgsCgkgIGNtQ2FibGVJbnN0YW50aWF0ZUNvbW1hbmQuaCwgY21DYWJsZVBhY2thZ2VFbnRyeUNvbW1hbmQuY3h4LAoJICBjbUNhYmxlUGFja2FnZUVudHJ5Q29tbWFuZC5oLCBjbUNhYmxlU291cmNlRmlsZXNDb21tYW5kLmN4eCwKCSAgY21DYWJsZVNvdXJjZUZpbGVzQ29tbWFuZC5oOiBFTkg6IENoYW5nZWQgV3JpdGVDb25maWd1cmF0aW9uIGJhY2sKCSAgdG8gY29uc3QgYmVjYXVzZSBpdCBkb2Vzbid0IG5lZWQgdG8gcmVwb3J0IGVycm9ycyBhbnltb3JlLgoKMjAwMS0wNS0wMSAxNzoxMiAgaG9mZm1hbgoKCSogU291cmNlLzogVXRpbGl0eUZvb3Rlci5kc3B0ZW1wbGF0ZSwgVXRpbGl0eUhlYWRlci5kc3B0ZW1wbGF0ZToKCSAgQUREOiBhZGQgdXRpbHRpdHkgdGVtcGxhdGVzCgoyMDAxLTA1LTAxIDE2OjU1ICBob2ZmbWFuCgoJKiBjb25maWd1cmUuaW4uc2FtcGxlLCBTb3VyY2UvY21BZGRUYXJnZXRDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtRFNQTWFrZWZpbGUuY3h4LCBTb3VyY2UvY21EU1BNYWtlZmlsZS5oLAoJICBTb3VyY2UvY21EU1BXcml0ZXIuY3h4LCBTb3VyY2UvY21EU1BXcml0ZXIuaCwKCSAgU291cmNlL2NtRFNXTWFrZWZpbGUuY3h4LCBTb3VyY2UvY21EU1dNYWtlZmlsZS5oLAoJICBTb3VyY2UvY21EU1dXcml0ZXIuY3h4LCBTb3VyY2UvY21EU1dXcml0ZXIuaCwKCSAgU291cmNlL2NtTWFrZWZpbGUuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5oLCBTb3VyY2UvY21UYXJnZXQuaCwKCSAgU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBpbXBsZW1lbnQgQUREX1RBUkdFVAoJICBjb21tYW5kLCBhbmQgYWRkIGFuIEFMTF9CVUlMRCB0YXJnZXQKCjIwMDEtMDUtMDEgMTY6MzQgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogY2FjaGUgbm93IGxvYWRlZCBpbnRvIG1ha2VmaWxlCgoyMDAxLTA1LTAxIDE2OjI4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUNhY2hlTWFuYWdlci5jeHgsIGNtQ2FjaGVNYW5hZ2VyLmg6IGFkZGVkIG1ldGhvZCB0bwoJICBwdWNoIGNhY2hlIGludG8gbWFrZWZpbGUgZGVmaW5lcwoKMjAwMS0wNS0wMSAxNjoyNyAgbWFydGluawoKCSogU291cmNlL2NtSWZDb21tYW5kLmN4eDogc2xpZ2h0IGJ1ZyBpbiBJZiBjb21tYW5kIEkgdGhpbmsKCjIwMDEtMDUtMDEgMTE6MjggIG1hcnRpbmsKCgkqIE1vZHVsZXMvRmluZFRDTC5jbWFrZTogZmlyc3QgbW9kdWxlCgoyMDAxLTA1LTAxIDExOjE2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUNvbW1hbmRzLmN4eCwgY21FbHNlQ29tbWFuZC5jeHgsIGNtSWZDb21tYW5kLmN4eCwKCSAgY21JZkNvbW1hbmQuaCwgY21TZXRDb21tYW5kLmN4eCwgY21TZXRDb21tYW5kLmgsCgkgIGNtVlRLV3JhcFB5dGhvbkNvbW1hbmQuY3h4LCBjbVZUS1dyYXBUY2xDb21tYW5kLmN4eDogbmV3IHNldAoJICBjb21tYW5kIGFuZCBJRiBOT1QKCjIwMDEtMDQtMzAgMTQ6NTYgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtRWxzZUNvbW1hbmQuY3h4LCBjbUZpbmRGaWxlQ29tbWFuZC5jeHgsCgkgIGNtRmluZExpYnJhcnlDb21tYW5kLmN4eCwgY21GaW5kUGF0aENvbW1hbmQuY3h4LCBjbUlmQ29tbWFuZC5jeHgsCgkgIGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmg6IGJ1ZyBmaXhlcwoKMjAwMS0wNC0zMCAxMTo1MSAga2luZwoKCSogU291cmNlL2NtQ2FibGVQYWNrYWdlQ29tbWFuZC5jeHg6IEJVRzogRml4ZWQgb3V0cHV0IG9mCgkgIENNYWtlTGlzdHMudHh0IHBhdGggaW4gY2FibGVfY29uZmlnLnhtbCBkZXBlbmRlbmN5IGxpc3QgZm9yIHVuaXguCgkgIE5lZWRlZCB0byBlc2NhcGUgc3BhY2VzIGluc3RlYWQgb2YgZW5jbG9zaW5nIGluIGRvdWJsZSBxdW90ZXMuCgoyMDAxLTA0LTMwIDExOjI5ICBraW5nCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5oOiBFUlI6IFJlbW92ZWQgYSBjb25mbGljdCB0aGF0IHdhcyBjaGVja2VkIGluLgoKMjAwMS0wNC0zMCAxMDo1MiAgYW5vbnltb3VzCgoJKiBTb3VyY2UvOiBjbUNvbW1hbmRzLmN4eCwgY21EU1BNYWtlZmlsZS5jeHgsIGNtRFNQTWFrZWZpbGUuaCwKCSAgY21EU1BXcml0ZXIuY3h4LCBjbURTUFdyaXRlci5oLCBjbUluY2x1ZGVDb21tYW5kLmN4eCwKCSAgY21JbmNsdWRlQ29tbWFuZC5oLCBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oOiBOZXcgY29tbWFuZDoKCSAgSU5DTFVERShzb21lZmlsZS50eHQpCgoyMDAxLTA0LTMwIDEwOjQ0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUNvbW1hbmRzLmN4eCwgY21EU1BNYWtlZmlsZS5jeHgsIGNtRFNQV3JpdGVyLmN4eCwKCSAgY21EU1dNYWtlZmlsZS5jeHgsIGNtRFNXV3JpdGVyLmN4eCwgY21GaW5kSW5jbHVkZUNvbW1hbmQuY3h4LAoJICBjbUZpbmRMaWJyYXJ5Q29tbWFuZC5jeHgsIGNtTGlua0xpYnJhcmllc0NvbW1hbmQuY3h4LAoJICBjbUxpbmtMaWJyYXJpZXNDb21tYW5kLmgsIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsCgkgIGNtVGFyZ2V0LmN4eCwgY21UYXJnZXQuaCwgY21UYXJnZXRMaW5rTGlicmFyaWVzQ29tbWFuZC5jeHgsCgkgIGNtVGFyZ2V0TGlua0xpYnJhcmllc0NvbW1hbmQuaCwgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5oOiBhZGRlZCBUQVJHRVRfTElOS19MSUJSQVJZIGNvbW1hbmQgYW5kCgkgIHN1cHBvcnQgZm9yIGRlYnVnIGFuZCByZWxlYXNlIGxpYnJhcmllcyB0byBsaW5rIGFnYWluc3QKCjIwMDEtMDQtMjcgMTQ6NTcgIGtpbmcKCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVSUjogUmVuYW1lZCBDdXN0b21Db21tYW5kcwoJICB0byBCdWlsZFJ1bGVzIHRvIG1hdGNoIGNoYW5nZSBpbiBjbVNvdXJjZUdyb3VwLgoKMjAwMS0wNC0yNyAxNDo1MiAga2luZwoKCSogU291cmNlL2NtQ2FibGVQYWNrYWdlQ29tbWFuZC5jeHg6IEJVRzogUmVtb3ZlZCBvdXRwdXQgb2YgR0NDX1hNTAoJICBydWxlcyB3aGVuIHRoZSBjb21tYW5kIGNhbm5vdCBiZSBmb3VuZC4KCjIwMDEtMDQtMjcgMTQ6NTEgIGtpbmcKCgkqIFNvdXJjZS86IGNtRFNQTWFrZWZpbGUuY3h4LCBjbURTUE1ha2VmaWxlLmgsIGNtRFNQV3JpdGVyLmN4eCwKCSAgY21EU1BXcml0ZXIuaCwgY21Tb3VyY2VHcm91cC5jeHgsIGNtU291cmNlR3JvdXAuaDogQlVHOiBSZW1vdmVkCgkgIG91dHB1dCBvZiBkdWFsIHJ1bGVzIGZvciBzb3VyY2UgZmlsZXMgdGhhdCBhcmUgcHJvY2Vzc2VkIGJ5IGJvdGgKCSAgdGhlIGNvbXBpbGVyIGFuZCBieSBhIGN1c3RvbSBjb21tYW5kLiAgQWxzbyByZW1vdmVkIGdlbmVyYXRpb24gb2YKCSAgZHVwbGljYXRlIENNYWtlTGlzdHMudHh0IGluIHRoZSBwcm9qZWN0IGZpbGVzLgoKMjAwMS0wNC0yNyAxNDo0MCAgbWFydGluawoKCSogQ01ha2VTeXN0ZW1Db25maWcudHh0LmluLCBDTWFrZVdpbmRvd3NTeXN0ZW1Db25maWcudHh0OiBnZXQKCSAgc3lzdGVtIGluZm8gaW50byBjbWFrZQoKMjAwMS0wNC0yNyAxNDoyNSAgbWFydGluawoKCSogU291cmNlLzogY21Db25maWd1cmVGaWxlLmN4eCwgY21Db25maWd1cmVGaWxlLmg6IGFkZGVkIGNvbmZpZ3VyZQoJICBmaWxlCgoyMDAxLTA0LTI3IDExOjUzICBob2ZmbWFuCgoJKiBjb25maWd1cmUuaW4uc2FtcGxlOiBCVUc6IHJ1biBjYWNoZSBidWlsZCB3aXRoIGVhY2ggY29uZmlndXJlCgoyMDAxLTA0LTI3IDExOjM2ICBob2ZmbWFuCgoJKiBDTWFrZVJ1bGVzLm1ha2UuaW4sIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogQlVHOiBmaXggaW5wbGFjZQoJICBidWlsZHMKCjIwMDEtMDQtMjcgMTE6MDMgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogRU5IOiBmaXggaW4gc291cmNlIGJ1aWxkIHdpdGggbm9uLWdudQoKMjAwMS0wNC0yNyAwOTozMiAgaG9mZm1hbgoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBFTkg6IGFkZCBvdXRwdXQgd2hlbiBjcmVhdGluZyBmaWxlcwoKMjAwMS0wNC0yNyAwOTozMCAgbWFydGluawoKCSogU291cmNlLzogY21GaW5kRmlsZUNvbW1hbmQuY3h4LCBjbUZpbmRMaWJyYXJ5Q29tbWFuZC5jeHgsCgkgIGNtRmluZFBhdGhDb21tYW5kLmN4eDogYmV0dGVyIGhlbHAgc3RyaW5ncwoKMjAwMS0wNC0yNyAwOToxMyAgd2lsbAoKCSogU291cmNlL2NtQXV4U291cmNlRGlyZWN0b3J5Q29tbWFuZC5oOiBFTkg6TmV3IGNvcHlyaWdodAoKMjAwMS0wNC0yNyAwODo0NiAgbWFydGluawoKCSogQ01ha2VWYXJpYWJsZXMubWFrZS5pbjogcmVtb3ZlZCBvbGQganVuawoKMjAwMS0wNC0yNyAwODowMSAgd2lsbAoKCSogU291cmNlLzogQ01ha2VCdWlsZFRhcmdldHMuY3h4LCBDTWFrZVNldHVwQ01ELmN4eCwKCSAgY21BZGREZWZpbml0aW9uc0NvbW1hbmQuY3h4LCBjbUFkZERlZmluaXRpb25zQ29tbWFuZC5oLAoJICBjbUFkZEV4ZWN1dGFibGVDb21tYW5kLmN4eCwgY21BZGRFeGVjdXRhYmxlQ29tbWFuZC5oLAoJICBjbUFkZExpYnJhcnlDb21tYW5kLmN4eCwgY21BZGRMaWJyYXJ5Q29tbWFuZC5oLAoJICBjbUFkZFRhcmdldENvbW1hbmQuY3h4LCBjbUFkZFRhcmdldENvbW1hbmQuaCwKCSAgY21BdXhTb3VyY2VEaXJlY3RvcnlDb21tYW5kLmN4eCwKCSAgY21CdWlsZFNoYXJlZExpYnJhcmllc0NvbW1hbmQuY3h4LAoJICBjbUNhYmxlQ2xvc2VOYW1lc3BhY2VDb21tYW5kLmN4eCwgY21DYWJsZUNsb3NlTmFtZXNwYWNlQ29tbWFuZC5oLAoJICBjbUNhYmxlQ29tbWFuZC5jeHgsIGNtQ2FibGVDb21tYW5kLmgsIGNtQ2FibGVEYXRhLmN4eCwKCSAgY21DYWJsZURhdGEuaCwgY21DYWJsZURlZmluZVNldENvbW1hbmQuY3h4LAoJICBjbUNhYmxlRGVmaW5lU2V0Q29tbWFuZC5oLCBjbUNhYmxlSW5zdGFudGlhdGVDbGFzc0NvbW1hbmQuY3h4LAoJICBjbUNhYmxlSW5zdGFudGlhdGVDbGFzc0NvbW1hbmQuaCwgY21DYWJsZUluc3RhbnRpYXRlQ29tbWFuZC5jeHgsCgkgIGNtQ2FibGVJbnN0YW50aWF0ZUNvbW1hbmQuaCwgY21DYWJsZU9wZW5OYW1lc3BhY2VDb21tYW5kLmN4eCwKCSAgY21DYWJsZU9wZW5OYW1lc3BhY2VDb21tYW5kLmgsIGNtQ2FibGVQYWNrYWdlQ29tbWFuZC5jeHgsCgkgIGNtQ2FibGVQYWNrYWdlQ29tbWFuZC5oLCBjbUNhYmxlUGFja2FnZUVudHJ5Q29tbWFuZC5jeHgsCgkgIGNtQ2FibGVQYWNrYWdlRW50cnlDb21tYW5kLmgsIGNtQ2FibGVTb3VyY2VGaWxlc0NvbW1hbmQuY3h4LAoJICBjbUNhYmxlU291cmNlRmlsZXNDb21tYW5kLmgsIGNtQ2FibGVXcmFwQ29tbWFuZC5jeHgsCgkgIGNtQ2FibGVXcmFwQ29tbWFuZC5oLCBjbUNhY2hlTWFuYWdlci5jeHgsIGNtQ2FjaGVNYW5hZ2VyLmgsCgkgIGNtQ29tbWFuZC5oLCBjbUNvbW1hbmRzLmgsIGNtQ29uZmlndXJlRmlsZU5vQXV0b2NvbmYuY3h4LAoJICBjbUNvbmZpZ3VyZUZpbGVOb0F1dG9jb25mLmgsIGNtQ3VzdG9tQ29tbWFuZC5jeHgsCgkgIGNtQ3VzdG9tQ29tbWFuZC5oLCBjbURTUE1ha2VmaWxlLmN4eCwgY21EU1BNYWtlZmlsZS5oLAoJICBjbURTUFdyaXRlci5jeHgsIGNtRFNQV3JpdGVyLmgsIGNtRFNXTWFrZWZpbGUuY3h4LAoJICBjbURTV01ha2VmaWxlLmgsIGNtRFNXV3JpdGVyLmN4eCwgY21EU1dXcml0ZXIuaCwgY21EaXJlY3RvcnkuY3h4LAoJICBjbURpcmVjdG9yeS5oLCBjbUVsc2VDb21tYW5kLmN4eCwgY21FbHNlQ29tbWFuZC5oLAoJICBjbUVuZElmQ29tbWFuZC5jeHgsIGNtRW5kSWZDb21tYW5kLmgsIGNtRmluZEZpbGVDb21tYW5kLmN4eCwKCSAgY21GaW5kRmlsZUNvbW1hbmQuaCwgY21GaW5kSW5jbHVkZUNvbW1hbmQuY3h4LAoJICBjbUZpbmRJbmNsdWRlQ29tbWFuZC5oLCBjbUZpbmRMaWJyYXJ5Q29tbWFuZC5jeHgsCgkgIGNtRmluZExpYnJhcnlDb21tYW5kLmgsIGNtRmluZFByb2dyYW1Db21tYW5kLmN4eCwKCSAgY21GaW5kUHJvZ3JhbUNvbW1hbmQuaCwgY21GdW5jdGlvbkJsb2NrZXIuaCwgY21JZkNvbW1hbmQuY3h4LAoJICBjbUlmQ29tbWFuZC5oLCBjbUluY2x1ZGVEaXJlY3RvcnlDb21tYW5kLmN4eCwKCSAgY21JbmNsdWRlRGlyZWN0b3J5Q29tbWFuZC5oLAoJICBjbUluY2x1ZGVSZWd1bGFyRXhwcmVzc2lvbkNvbW1hbmQuY3h4LAoJICBjbUluY2x1ZGVSZWd1bGFyRXhwcmVzc2lvbkNvbW1hbmQuaCwgY21MaWJyYXJ5Q29tbWFuZC5jeHgsCgkgIGNtTGlicmFyeUNvbW1hbmQuaCwgY21MaW5rRGlyZWN0b3JpZXNDb21tYW5kLmN4eCwKCSAgY21MaW5rRGlyZWN0b3JpZXNDb21tYW5kLmgsIGNtTGlua0xpYnJhcmllc0NvbW1hbmQuY3h4LAoJICBjbUxpbmtMaWJyYXJpZXNDb21tYW5kLmgsIGNtTVNQcm9qZWN0R2VuZXJhdG9yLmN4eCwKCSAgY21NU1Byb2plY3RHZW5lcmF0b3IuaCwgY21NYWtlRGVwZW5kLmN4eCwgY21NYWtlRGVwZW5kLmgsCgkgIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsIGNtTWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbU1ha2VmaWxlR2VuZXJhdG9yLmgsIGNtT3B0aW9uQ29tbWFuZC5jeHgsIGNtT3B0aW9uQ29tbWFuZC5oLAoJICBjbVByb2plY3RDb21tYW5kLmN4eCwgY21Qcm9qZWN0Q29tbWFuZC5oLAoJICBjbVJlZ3VsYXJFeHByZXNzaW9uLmN4eCwgY21SZWd1bGFyRXhwcmVzc2lvbi5oLCBjbVNvdXJjZUZpbGUuY3h4LAoJICBjbVNvdXJjZUZpbGUuaCwgY21Tb3VyY2VGaWxlc0NvbW1hbmQuY3h4LCBjbVNvdXJjZUZpbGVzQ29tbWFuZC5oLAoJICBjbVNvdXJjZUZpbGVzUmVxdWlyZUNvbW1hbmQuY3h4LCBjbVNvdXJjZUZpbGVzUmVxdWlyZUNvbW1hbmQuaCwKCSAgY21Tb3VyY2VHcm91cC5jeHgsIGNtU291cmNlR3JvdXAuaCwgY21Tb3VyY2VHcm91cENvbW1hbmQuY3h4LAoJICBjbVNvdXJjZUdyb3VwQ29tbWFuZC5oLCBjbVN0YW5kYXJkSW5jbHVkZXMuaCwKCSAgY21TdWJkaXJDb21tYW5kLmN4eCwgY21TdWJkaXJDb21tYW5kLmgsIGNtU3lzdGVtVG9vbHMuY3h4LAoJICBjbVN5c3RlbVRvb2xzLmgsIGNtVGFyZ2V0LmN4eCwgY21UYXJnZXQuaCwgY21UZXN0c0NvbW1hbmQuY3h4LAoJICBjbVRlc3RzQ29tbWFuZC5oLCBjbVVuaXhEZWZpbmVzQ29tbWFuZC5jeHgsCgkgIGNtVW5peERlZmluZXNDb21tYW5kLmgsIGNtVW5peExpYnJhcmllc0NvbW1hbmQuY3h4LAoJICBjbVVuaXhMaWJyYXJpZXNDb21tYW5kLmgsIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuaCwgY21VdGlsaXR5U291cmNlQ29tbWFuZC5jeHgsCgkgIGNtVXRpbGl0eVNvdXJjZUNvbW1hbmQuaCwgY21WVEtXcmFwUHl0aG9uQ29tbWFuZC5jeHgsCgkgIGNtVlRLV3JhcFRjbENvbW1hbmQuY3h4LCBjbVdpbjMyRGVmaW5lc0NvbW1hbmQuY3h4LAoJICBjbVdpbjMyRGVmaW5lc0NvbW1hbmQuaCwgY21XaW4zMkluY2x1ZGVEaXJlY3RvcnlDb21tYW5kLmN4eCwKCSAgY21XaW4zMkluY2x1ZGVEaXJlY3RvcnlDb21tYW5kLmgsIGNtV2luMzJMaWJyYXJpZXNDb21tYW5kLmN4eCwKCSAgY21XaW4zMkxpYnJhcmllc0NvbW1hbmQuaCwgY21XcmFwRXhjbHVkZUZpbGVzQ29tbWFuZC5jeHgsCgkgIGNtV3JhcEV4Y2x1ZGVGaWxlc0NvbW1hbmQuaDogRU5IOk5ldyBjb3B5cmlnaHQKCjIwMDEtMDQtMjcgMDc6NTUgIHdpbGwKCgkqIFNvdXJjZS86IGNtQWJzdHJhY3RGaWxlc0NvbW1hbmQuY3h4LCBjbUFic3RyYWN0RmlsZXNDb21tYW5kLmg6CgkgIEVOSDpDb3B5cmlnaHQKCjIwMDEtMDQtMjYgMTY6MjIgIG1hcnRpbmsKCgkqIFNvdXJjZS86IERMTEhlYWRlci5kc3B0ZW1wbGF0ZSwgRVhFSGVhZGVyLmRzcHRlbXBsYXRlLAoJICBjbURTUE1ha2VmaWxlLmN4eCwgY21EU1BNYWtlZmlsZS5oLCBjbURTUFdyaXRlci5jeHgsCgkgIGNtRFNQV3JpdGVyLmgsIGNtRFNXTWFrZWZpbGUuY3h4LCBjbURTV1dyaXRlci5jeHgsCgkgIGNtTGlua0xpYnJhcmllc0NvbW1hbmQuY3h4LCBjbUxpbmtMaWJyYXJpZXNDb21tYW5kLmgsCgkgIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21WVEtXcmFwUHl0aG9uQ29tbWFuZC5jeHg6IHN1cHBvcnQgZm9yIGRlYnVnIGFuZCBvcHQgbGlicmFyaWVzCgoyMDAxLTA0LTI2IDE1OjQxICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbU9wdGlvbkNvbW1hbmQuY3h4LCBjbU9wdGlvbkNvbW1hbmQuaDogYmV0dGVyIGhlbHAKCjIwMDEtMDQtMjYgMTU6MjcgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ2FibGVJbnN0YW50aWF0ZUNsYXNzQ29tbWFuZC5jeHgsCgkgIGNtQ2FibGVJbnN0YW50aWF0ZUNsYXNzQ29tbWFuZC5oLCBjbUNhYmxlSW5zdGFudGlhdGVDb21tYW5kLmN4eCwKCSAgY21DYWJsZUluc3RhbnRpYXRlQ29tbWFuZC5oLCBjbUNhYmxlUGFja2FnZUNvbW1hbmQuY3h4LAoJICBjbUNhYmxlUGFja2FnZUVudHJ5Q29tbWFuZC5jeHgsIGNtQ2FibGVQYWNrYWdlRW50cnlDb21tYW5kLmgsCgkgIGNtQ2FibGVTb3VyY2VGaWxlc0NvbW1hbmQuY3h4LCBjbUNhYmxlU291cmNlRmlsZXNDb21tYW5kLmgsCgkgIGNtQ2FibGVXcmFwQ29tbWFuZC5jeHgsIGNtQ2FibGVXcmFwQ29tbWFuZC5oOiBFTkg6IENoYW5nZWQKCSAgV3JpdGVDb25maWd1cmF0aW9uIHRvIG5vbi1jb25zdCBzbyBpdCBjYW4gZG8gZXJyb3IgY2hlY2tpbmcuCgkgIEFkZGVkIHBhcnNpbmcgYW5kIG91dHB1dCBvZiBhIG5hbWUgZm9yIGVhY2ggV3JhcHBlclNldCBnZW5lcmF0ZWQKCSAgZnJvbSBhIENBQkxFX1dSQVAgY29tbWFuZC4KCjIwMDEtMDQtMjYgMTQ6NTMgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQWRkTGlicmFyeUNvbW1hbmQuY3h4LAoJICBjbUJ1aWxkU2hhcmVkTGlicmFyaWVzQ29tbWFuZC5jeHgsIGNtQ2FjaGVNYW5hZ2VyLmN4eCwKCSAgY21DYWNoZU1hbmFnZXIuaCwgY21GaW5kRmlsZUNvbW1hbmQuY3h4LAoJICBjbUZpbmRJbmNsdWRlQ29tbWFuZC5jeHgsIGNtRmluZExpYnJhcnlDb21tYW5kLmN4eCwKCSAgY21GaW5kUGF0aENvbW1hbmQuY3h4LCBjbUZpbmRQcm9ncmFtQ29tbWFuZC5jeHgsCgkgIGNtT3B0aW9uQ29tbWFuZC5jeHgsIGNtVXRpbGl0eVNvdXJjZUNvbW1hbmQuY3h4OiBFTkg6IGFkZCBoZWxwCgkgIGZvciBjYWNoZSBlbnRyaWVzCgoyMDAxLTA0LTI2IDEwOjQ5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUNhY2hlTWFuYWdlci5jeHgsIGNtRWxzZUNvbW1hbmQuY3h4LCBjbUlmQ29tbWFuZC5jeHgsCgkgIGNtU3lzdGVtVG9vbHMuY3h4LCBjbVN5c3RlbVRvb2xzLmg6IHNvbWUgZml4ZXMgZm9yIElmIGNvbW1hbmRzCgoyMDAxLTA0LTI2IDA5OjM4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBDTWFrZVNldHVwLmRzdywgRHVtcERvY3VtZW50YXRpb24uZHNwLCBjbUNvbW1hbmRzLmN4eCwKCSAgY21EU1BNYWtlZmlsZS5jeHgsIGNtRFNQV3JpdGVyLmN4eCwgY21EU1BNYWtlZmlsZS5oLAoJICBjbURTUFdyaXRlci5oLCBjbUZpbmRGaWxlQ29tbWFuZC5jeHgsIGNtRmluZEluY2x1ZGVDb21tYW5kLmN4eCwKCSAgY21GaW5kSW5jbHVkZUNvbW1hbmQuaCwgY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4LAoJICBjbUZpbmRMaWJyYXJ5Q29tbWFuZC5oLCBjbUZpbmRQYXRoQ29tbWFuZC5jeHgsCgkgIGNtRmluZFBhdGhDb21tYW5kLmgsIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsCgkgIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogYnVnIGZpeGVzCgoyMDAxLTA0LTI1IDE2OjA5ICBob2ZmbWFuCgoJKiBjb25maWd1cmUuaW4uc2FtcGxlLCBTb3VyY2UvTWFrZWZpbGUuaW4sCgkgIFNvdXJjZS9jbUNhY2hlTWFuYWdlci5jeHgsIFNvdXJjZS9jbUNhY2hlTWFuYWdlci5oLAoJICBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEVOSDogY2xlYW4gdXAgY21ha2UgR1VJIGFuZCByZW1vdmUgdGhlCgkgIHBhcnNpbmcgb2YgQ01ha2VMaXN0cy50eHQgZmlsZXMgYnkgY29uZmlndXJlCgoyMDAxLTA0LTI1IDExOjQ3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUVsc2VDb21tYW5kLmgsIGNtRW5kSWZDb21tYW5kLmgsIGNtSWZDb21tYW5kLmg6IHJ1bGVzCgkgIHdlcmUgbm90IGluaGVyaXRlZCB3aGVuIHRoZXkgc2hvdWxkIGJlCgoyMDAxLTA0LTI1IDA5OjM5ICBraW5nCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IEZpeGVkIG91dHB1dCBvZgoJICBkZXBlbmRlbmNpZXMuICBJdCBuZWVkcyB0byBsb29wIG92ZXIgdGhlIG1ha2VmaWxlJ3MgdGFyZ2V0cywgbm90CgkgIHRoZSBzb3VyY2UgbGlzdHMuCgoyMDAxLTA0LTI1IDA5OjM3ICBraW5nCgoJKiBTb3VyY2UvY21NYWtlRGVwZW5kLmN4eDogU1RZTEU6IFVwZGF0ZWQgY29tbWVudHMgZm9yIG5hbWUgY2hhbmdlCgkgIGNtQ2xhc3NGaWxlLT5jbVNvdXJjZUZpbGUKCjIwMDEtMDQtMjUgMDk6MzMgIG1hcnRpbmsKCgkqIENNYWtlLmRvYzogdXBkYXRlZCB0aGUgZG9jcyBzb21lCgoyMDAxLTA0LTI0IDE3OjMzICBraW5nCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFUlI6IGNtQ2xhc3NGaWxlLmggLT4KCSAgY21Tb3VyY2VGaWxlLmggaW5jbHVkZSBjaGFuZ2UuCgoyMDAxLTA0LTI0IDE2OjQ5ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUNsYXNzRmlsZS5jeHgsIGNtQ2xhc3NGaWxlLmg6IG1hbnkgZml4ZXMgYW5kIGNsZWFudXAKCSAgYW5kIGZlYXR1cmVzCgoyMDAxLTA0LTI0IDE2OjQ2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBDTWFrZUxpYi5kc3AsIE1ha2VmaWxlLmluLCBjbUFic3RyYWN0RmlsZXNDb21tYW5kLmN4eCwKCSAgY21BdXhTb3VyY2VEaXJlY3RvcnlDb21tYW5kLmN4eCwgY21DYWJsZVBhY2thZ2VDb21tYW5kLmN4eCwKCSAgY21DYWJsZVNvdXJjZUZpbGVzQ29tbWFuZC5jeHgsIGNtQ2FjaGVNYW5hZ2VyLmN4eCwKCSAgY21DYWNoZU1hbmFnZXIuaCwgY21Db21tYW5kcy5jeHgsIGNtRFNQTWFrZWZpbGUuY3h4LAoJICBjbURTUE1ha2VmaWxlLmgsIGNtRFNQV3JpdGVyLmN4eCwgY21EU1BXcml0ZXIuaCwKCSAgY21NYWtlRGVwZW5kLmN4eCwgY21NYWtlRGVwZW5kLmgsIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsCgkgIGNtT3B0aW9uQ29tbWFuZC5jeHgsIGNtU291cmNlRmlsZXNDb21tYW5kLmN4eCwKCSAgY21Tb3VyY2VGaWxlc1JlcXVpcmVDb21tYW5kLmN4eCwgY21UYXJnZXQuaCwKCSAgY21Vbml4RGVmaW5lc0NvbW1hbmQuY3h4LCBjbVVuaXhMaWJyYXJpZXNDb21tYW5kLmN4eCwKCSAgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbVdpbjMyRGVmaW5lc0NvbW1hbmQuY3h4LAoJICBjbVdpbjMySW5jbHVkZURpcmVjdG9yeUNvbW1hbmQuY3h4LCBjbVdpbjMyTGlicmFyaWVzQ29tbWFuZC5jeHgsCgkgIGNtV3JhcEV4Y2x1ZGVGaWxlc0NvbW1hbmQuY3h4LCBjbVZUS1dyYXBQeXRob25Db21tYW5kLmN4eCwKCSAgY21WVEtXcmFwUHl0aG9uQ29tbWFuZC5oLCBjbVZUS1dyYXBUY2xDb21tYW5kLmN4eCwKCSAgY21WVEtXcmFwVGNsQ29tbWFuZC5oLCBjbVNvdXJjZUZpbGUuY3h4LCBjbVNvdXJjZUZpbGUuaCwKCSAgY21UYXJnZXQuY3h4LCBjbVdyYXBUY2xDb21tYW5kLmN4eCwgY21XcmFwVGNsQ29tbWFuZC5oOiBtYW55CgkgIGZpeGVzIGFuZCBjbGVhbnVwIGFuZCBmZWF0dXJlcwoKMjAwMS0wNC0yNCAxMjo0MCAgaG9mZm1hbgoKCSogU291cmNlLzogY21CdWlsZFNoYXJlZExpYnJhcmllc0NvbW1hbmQuY3h4LCBjbUNhY2hlTWFuYWdlci5jeHgsCgkgIGNtQ2FjaGVNYW5hZ2VyLmgsIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsCgkgIGNtT3B0aW9uQ29tbWFuZC5jeHgsIGNtV3JhcFRjbENvbW1hbmQuY3h4OiBCVUc6IGZpeCBidWlsZAoJICBkaXJlY3RvcnkgcHJvYmxlbQoKMjAwMS0wNC0yNCAwOTo0NSAga2luZwoKCSogQ01ha2VWYXJpYWJsZXMubWFrZS5pbjogRVJSOiBSZW1vdmVkIGV4dHJhIFNSQ19PQkogcmVmZXJlbmNlLgoJICBUaGUgdmFyaWFibGUgaXMgbm8gbG9uZ2VyIHVzZWQuCgoyMDAxLTA0LTIzIDE2OjQwICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBDTWFrZUxpYi5kc3AsIGNtQ2FjaGVNYW5hZ2VyLmN4eCwgY21DYWNoZU1hbmFnZXIuaCwKCSAgY21EU1dNYWtlZmlsZS5jeHgsIGNtRFNXV3JpdGVyLmN4eCwgY21Tb3VyY2VHcm91cC5oLAoJICBjbVN0YW5kYXJkSW5jbHVkZXMuaCwgY21XaW5kb3dzQ29uZmlndXJlLmN4eCwKCSAgY21XaW5kb3dzQ29uZmlndXJlLmg6IEVOSDogbmV3IEdVSSBlZGl0b3IgZm9yIGNtYWtlIGNhY2hlIGZpbGUKCjIwMDEtMDQtMjMgMTY6MzQgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQ29tbWFuZHMuY3h4LCBjbVdyYXBUY2xDb21tYW5kLmN4eDogYWRkZWQgb3B0aW9uCgkgIGNvbW1hbmQKCjIwMDEtMDQtMjMgMTY6MzMgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtT3B0aW9uQ29tbWFuZC5jeHgsIGNtT3B0aW9uQ29tbWFuZC5oOiBuZXcgY29tbWFuZAoKMjAwMS0wNC0yMyAxMzo1OCAgYmxlemVrCgoJKiBDTWFrZVJ1bGVzLm1ha2UuaW4sIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzoKCSAgQ2xlYW4gd2FzIG5vdCBkb2luZyBpdCdzIGpvYgoKMjAwMS0wNC0yMyAxMDoyMyAga2luZwoKCSogU291cmNlL2NtSWZDb21tYW5kLmg6IEVSUjogQWRkZWQgdmlydHVhbCBkZXN0cnVjdG9yIHRvIGNvbXBsZW1lbnQKCSAgdmlydHVhbCBmdW5jdGlvbnMgaW4gY21JZkZ1bmN0aW9uQmxvY2tlci4KCjIwMDEtMDQtMTkgMTc6MzkgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQWRkRGVmaW5pdGlvbnNDb21tYW5kLmN4eCwgY21BZGREZWZpbml0aW9uc0NvbW1hbmQuaCwKCSAgY21Db21tYW5kcy5jeHgsIGNtRWxzZUNvbW1hbmQuY3h4LCBjbUVsc2VDb21tYW5kLmgsCgkgIGNtRW5kSWZDb21tYW5kLmN4eCwgY21FbmRJZkNvbW1hbmQuaCwgY21GdW5jdGlvbkJsb2NrZXIuaCwKCSAgY21JZkNvbW1hbmQuY3h4LCBjbUlmQ29tbWFuZC5oLCBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oOgoJICBhZGRlZCBpZiBlbHNlIGVuZGlmIGFkZCBkZWZpbml0aW9uCgoyMDAxLTA0LTE5IDEzOjI4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUNhYmxlUGFja2FnZUNvbW1hbmQuY3h4LCBjbUN1c3RvbUNvbW1hbmQuaCwKCSAgY21EU1BNYWtlZmlsZS5jeHgsIGNtRFNQV3JpdGVyLmN4eCwgY21EU1dNYWtlZmlsZS5jeHgsCgkgIGNtRFNXV3JpdGVyLmN4eCwgY21NYWtlZmlsZS5jeHgsIGNtU291cmNlR3JvdXAuY3h4LCBjbVRhcmdldC5oLAoJICBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IGNsZWFuZWQgdXAgdGhlIGNvZGluZyBzdHlsZSBtYWRlCgkgIGl2YXJzIHByaXZhdGUgZXRjCgoyMDAxLTA0LTE4IDA4OjAxICBraW5nCgoJKiBTb3VyY2UvY21NYWtlRGVwZW5kLmN4eDogRVJSOiBXZSBjYW4ndCBhc3N1bWUgYSB2ZWN0b3IgaXRlcmF0b3IKCSAgaXMgYSBwb2ludGVyLiAgSXQgbXVzdCBiZSBkZXJlZmVyZW5jZWQgdG8gZ2V0IGEgcmVmZXJlbmNlIHRvIHRoZQoJICBlbGVtZW50LCBhbmQgdGhlbiB3ZSBjYW4gdGFrZSB0aGUgYWRkcmVzcyBvZiB0aGF0IHRvIGdldCBhCgkgIHBvaW50ZXIuICAiaSIgYmVjb21lcyAiJippIgoKMjAwMS0wNC0xNyAwNzo0MiAga2luZwoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRVJSOiBSZW1vdmVkIHVudXNlZCB2YXJpYWJsZS4KCjIwMDEtMDQtMTYgMTU6NDAgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtU3RhbmRhcmRJbmNsdWRlcy5oLCBjbVN5c3RlbVRvb2xzLmN4eDogQlVHOiBmaXggc21hbGwKCSAgY29tcGlsZSBpc3N1ZXMgb24gSFAgYUNDCgoyMDAxLTA0LTE2IDEyOjMxICBraW5nCgoJKiBTb3VyY2UvOiBjbU1ha2VEZXBlbmQuY3h4LCBjbU1ha2VEZXBlbmQuaDogRU5IOiBDaGFuZ2VkIG1fSW5kaWNlcwoJICB0byBhbiBzdGwgc2V0IGFuZCByZW5hbWVkIGl0IHRvIG1fSW5kZXhTZXQuICBVc2luZyBhIHNldCByZXN1bHRzCgkgIGluIGEgc2lnbmlmaWNhbnQgcGVyZm9ybWFuY2UgaW5jcmVhc2UgYW5kIHJlZHVjdGlvbiBpbiBtZW1vcnkKCSAgdXNhZ2UuCgoyMDAxLTA0LTE2IDEwOjE1ICBtaWxsZXJqdgoKCSogU291cmNlL2NtQWRkTGlicmFyeUNvbW1hbmQuY3h4OiBGSVg6IGFsbG93IEFERF9MSUJSQVJZIHdpdGggbm8KCSAgc291cmNlIGxpc3QKCjIwMDEtMDQtMTYgMTA6MDEgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQ2FibGVQYWNrYWdlQ29tbWFuZC5jeHgsIGNtTWFrZWZpbGUuaDogZml4ZWQgY2FibGUKCSAgcGFja2FnZSBpc3N1ZQoKMjAwMS0wNC0xMiAxNTozNCAgbWFydGluawoKCSogU291cmNlLzogTWFrZWZpbGUuaW4sIGNtQWRkTGlicmFyeUNvbW1hbmQuY3h4LAoJICBjbUNhY2hlTWFuYWdlci5jeHgsIGNtQ2FjaGVNYW5hZ2VyLmgsIGNtTWFrZWZpbGUuaCwKCSAgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LCBjbVdyYXBUY2xDb21tYW5kLmN4eDogc29tZSBidWcgZml4ZXMKCjIwMDEtMDQtMTIgMDk6NTUgIGtpbmcKCgkqIFNvdXJjZS86IGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuaDoKCSAgRU5IOiBBZGRlZCBpbmRpdmlkdWFsIGxpYnJhcnkgbGlua2FnZSBvdXRwdXQgc28gdGhhdCBzaGFyZWQKCSAgbGlicmFyaWVzIHdpbGwgbm90IHRyeSB0byBsaW5rIGFnYWluc3QgdGhlbXNlbHZlcy4KCjIwMDEtMDQtMTIgMDk6NDkgIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtRXhlY3V0YWJsZXNDb21tYW5kLmN4eCwgY21FeGVjdXRhYmxlc0NvbW1hbmQuaDoKCSAgcmVtb3ZlZCBvbGQgcnVsZXMKCjIwMDEtMDQtMTEgMTY6MzQgIGtpbmcKCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEVOSDogR2VuZXJhdGlvbiBub3cgc2V0cyB1cAoJICBwcm9wZXIgbGlua2luZyBvZiBzaGFyZWQgbGlicmFyaWVzIHRvIGVhY2ggb3RoZXIuCgoyMDAxLTA0LTExIDE1OjQzICBraW5nCgoJKiBDTWFrZU1hc3Rlci5tYWtlLmluOiBFUlI6IE5lZWRlZCB0byBzd2l0Y2ggcG9pbnQgd2hlcmUKCSAgQ01ha2VUYXJnZXRzLm1ha2UgaXMgaW5jbHVkZWQgc28gdGhhdCBWYXJpYWJsZXMgd2lsbCBiZSBhdmFpbGFibGUKCSAgdG8gdGhlIHRhcmdldHMgZmlsZS4KCjIwMDEtMDQtMTEgMTQ6NTggIG1hcnRpbmsKCgkqIFNvdXJjZS9DTWFrZUxpYi5kc3AsIFNvdXJjZS9DTWFrZVNldHVwQ01ELmRzcCwKCSAgU291cmNlL01ha2VmaWxlLmluLCBTb3VyY2UvY21BYnN0cmFjdEZpbGVzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUFkZEV4ZWN1dGFibGVDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtQWRkRXhlY3V0YWJsZUNvbW1hbmQuaCwgU291cmNlL2NtQWRkTGlicmFyeUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21BZGRMaWJyYXJ5Q29tbWFuZC5oLAoJICBTb3VyY2UvY21BdXhTb3VyY2VEaXJlY3RvcnlDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtQXV4U291cmNlRGlyZWN0b3J5Q29tbWFuZC5oLCBTb3VyY2UvY21DYWJsZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21DYWJsZURhdGEuY3h4LCBTb3VyY2UvY21DYWJsZURhdGEuaCwKCSAgU291cmNlL2NtQ2FibGVQYWNrYWdlQ29tbWFuZC5jeHgsIFNvdXJjZS9jbUNhYmxlUGFja2FnZUNvbW1hbmQuaCwKCSAgU291cmNlL2NtQ2FibGVTb3VyY2VGaWxlc0NvbW1hbmQuY3h4LCBTb3VyY2UvY21DbGFzc0ZpbGUuY3h4LAoJICBTb3VyY2UvY21DbGFzc0ZpbGUuaCwgU291cmNlL2NtQ29tbWFuZHMuY3h4LAoJICBTb3VyY2UvY21DdXN0b21Db21tYW5kLmN4eCwgU291cmNlL2NtQ3VzdG9tQ29tbWFuZC5oLAoJICBTb3VyY2UvY21EU1BNYWtlZmlsZS5jeHgsIFNvdXJjZS9jbURTUE1ha2VmaWxlLmgsCgkgIFNvdXJjZS9jbURTUFdyaXRlci5jeHgsIFNvdXJjZS9jbURTUFdyaXRlci5oLAoJICBTb3VyY2UvY21EU1dNYWtlZmlsZS5jeHgsIFNvdXJjZS9jbURTV01ha2VmaWxlLmgsCgkgIFNvdXJjZS9jbURTV1dyaXRlci5jeHgsIFNvdXJjZS9jbURTV1dyaXRlci5oLAoJICBTb3VyY2UvY21NYWtlRGVwZW5kLmN4eCwgU291cmNlL2NtTWFrZURlcGVuZC5oLAoJICBTb3VyY2UvY21NYWtlZmlsZS5jeHgsIFNvdXJjZS9jbU1ha2VmaWxlLmgsCgkgIFNvdXJjZS9jbVNvdXJjZUZpbGVzQ29tbWFuZC5jeHgsIFNvdXJjZS9jbVNvdXJjZUZpbGVzQ29tbWFuZC5oLAoJICBTb3VyY2UvY21Tb3VyY2VGaWxlc1JlcXVpcmVDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtU291cmNlRmlsZXNSZXF1aXJlQ29tbWFuZC5oLCBTb3VyY2UvY21Tb3VyY2VHcm91cC5jeHgsCgkgIFNvdXJjZS9jbVNvdXJjZUdyb3VwLmgsIFNvdXJjZS9jbVRhcmdldC5oLAoJICBTb3VyY2UvY21UZXN0c0NvbW1hbmQuY3h4LCBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtV3JhcEV4Y2x1ZGVGaWxlc0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21XcmFwVGNsQ29tbWFuZC5jeHgsIFNvdXJjZS9jbVdyYXBUY2xDb21tYW5kLmgsCgkgIENNYWtlUnVsZXMubWFrZS5pbjogbWFqb3IgY2hhbmdlcyB0byBzdXBwb3J0IG11bHRpcGxlIGxpYnJhcmllcwoJICBhbmQgc291cmNlIGxpc3RzCgoyMDAxLTA0LTEwIDE1OjI2ICBraW5nCgoJKiBTb3VyY2UvRExMSGVhZGVyLmRzcHRlbXBsYXRlOiBFTkg6IE5lZWQgQlVJTERfU0hBUkVEX0xJQlJBUklFUwoJICBkZWZpbmVkIGZvciBtYWtpbmcgd2luZG93cyBETExzLgoKMjAwMS0wNC0wOSAxMDo1NiAga2luZwoKCSogU291cmNlL2NtQ2FibGVQYWNrYWdlQ29tbWFuZC5jeHg6IEVSUjogQWRkZWQgZG91YmxlLXF1b3RlcyBhcm91bmQKCSAgY29tbWFuZCBuYW1lIGJlZm9yZSBhcmd1bWVudHMgYXJlIGFwcGVuZGVkLgoKMjAwMS0wNC0wOSAxMDo1MyAga2luZwoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRVJSOiBNaXNzZWQgb25lIEVzY2FwZVNwYWNlcwoJICBjYWxsLgoKMjAwMS0wNC0wOSAxMDozMSAga2luZwoKCSogU291cmNlLzogY21DYWJsZUNvbW1hbmQuY3h4LCBjbURTUE1ha2VmaWxlLmN4eCwgY21EU1BXcml0ZXIuY3h4LAoJICBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oLCBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtVXRpbGl0eVNvdXJjZUNvbW1hbmQuY3h4OiBFUlI6IENvcnJlY3RlZCB1c2Ugb2YgZG91YmxlLXF1b3RlcwoJICB0byBiZSBjb21wYXRpYmxlIHdpdGggVU5JWCBtYWtlLiAgTm93IGRvdWJsZSBxdW90ZXMgKHdpbmRvd3MpIG9yCgkgIGVzY2FwZSBzZXF1ZW5jZXMgZm9yIHNwYWNlcyAodW5peCkgYXJlIGFkZGVkIHdoZW4gZGVwZW5kZW5jaWVzCgkgIGFyZSBvdXRwdXQuCgoyMDAxLTA0LTA5IDA5OjQ0ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNhYmxlQ29tbWFuZC5jeHgsIGNtRFNQTWFrZWZpbGUuY3h4LCBjbURTUFdyaXRlci5jeHgsCgkgIGNtVXRpbGl0eVNvdXJjZUNvbW1hbmQuY3h4OiBFTkg6IEFkZGVkIHN1cHBvcnQgZm9yIHNwYWNlcyBpbiB0aGUKCSAgb3V0cHV0IGRpcmVjdG9yeSBuYW1lcy4gIFNwYWNlcyBpbiB0aGUgaW5wdXQgZGlyZWN0b3J5IG5hbWUgbWF5CgkgIHdvcmsgYWxzbywgYnV0IGFyZSB1bnRlc3RlZC4KCjIwMDEtMDQtMDYgMTc6MDEgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtRFNQTWFrZWZpbGUuY3h4LCBjbURTUFdyaXRlci5jeHgsIGNtRFNQTWFrZWZpbGUuaCwKCSAgY21EU1BXcml0ZXIuaCwgY21EU1dNYWtlZmlsZS5jeHgsIGNtRFNXV3JpdGVyLmN4eDogQlVHOiBmaXgKCSAgZGVwZW5kcyBmb3IgbGlicmFyaWVzIGFuZCBleGVjdXRhYmxlcyBpbiB0aGUgc2FtZSBkaXIKCjIwMDEtMDQtMDYgMTQ6NTEgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtRmluZEluY2x1ZGVDb21tYW5kLmN4eCwgY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4LAoJICBjbU1ha2VmaWxlLmN4eDogRU5IOiBiZXR0ZXIgZXJyb3IgcmVwb3J0aW5nLCBhbmQgYWRkIE5PVEZPVU5ECgkgIGludG8gY2FjaGUgZm9yIGxpYnJhcnkgYW5kIGZpbGUgZmluZAoKMjAwMS0wNC0wNiAxMjowMCAgbWFydGluawoKCSogU291cmNlL2NtRmluZEluY2x1ZGVDb21tYW5kLmg6IGZpeGVkIHRoZSBkb2N1bWVudGF0aW9uIHNvbWUKCjIwMDEtMDQtMDYgMDg6MjggIG1pbGxlcmp2CgoJKiBTb3VyY2UvOiBjbURTUE1ha2VmaWxlLmN4eCwgY21EU1BXcml0ZXIuY3h4OiBGSVg6IGNvbmZpZ3VyYXRpb25zCgkgIGxpc3QgbmVlZGVkIHRvIGJlIHJlc2V0IGZvciBlYWNoIGRzcCBmaWxlIGNyZWF0ZWQKCjIwMDEtMDQtMDQgMDk6MzMgIG1pbGxlcmp2CgoJKiBTb3VyY2UvOiBFWEVIZWFkZXIuZHNwdGVtcGxhdGUsIHN0YXRpY0xpYkhlYWRlci5kc3B0ZW1wbGF0ZTogRklYOgoJICByZXR1cm5lZCB0byB1c2luZyAvTzIgb3B0aW1pemF0aW9uIGxldmVsIGFuZCBwdXQgYSBwcmFnbWEgaW4gdGhlCgkgIG5ldGxpYiBjb2RlIHRoYXQgY291bGQgbm90IGhhbmRsZSB0aGUgL09nIGNvbXBvbmVudCBvZiAvTzIKCjIwMDEtMDMtMjggMTE6NDkgIGtpbmcKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogRVJSOiBCbGFuayBsaW5lIHJlZ3VsYXIgZXhwcmVzc2lvbgoJICB1cGRhdGVkIHRvIGFsbG93IHdoaXRlc3BhY2Ugb24gdGhlIGxpbmUuCgoyMDAxLTAzLTIzIDE0OjI3ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNhYmxlU291cmNlRmlsZXNDb21tYW5kLmN4eCwKCSAgY21DYWJsZVNvdXJjZUZpbGVzQ29tbWFuZC5oOiBFTkg6IEFkZGVkIHN1cHBvcnQgZm9yCgkgIENBQkxFX1NPVVJDRV9GSUxFUyB0byByZWZlciB0byBmaWxlcyB0aGF0IGFyZSBub3QgaW4gdGhlIGN1cnJlbnQKCSAgZGlyZWN0b3J5LiAgVGhlIGluY2x1ZGUgcGF0aCBpcyBzZWFyY2hlZCBmb3IgdGhlIGZpbGVzLgoKMjAwMS0wMy0yMSAxNTo1MiAga2luZwoKCSogU291cmNlL2NtU3RhbmRhcmRJbmNsdWRlcy5oOiBFUlI6IEFkZGVkIHByYWdtYSB0byBkaXNhYmxlIHN5bWJvbAoJICBsZW5ndGggd2FybmluZyBmb3IgSW50ZWwgY29tcGlsZXIuCgoyMDAxLTAzLTIwIDEzOjQ4ICBraW5nCgoJKiBTb3VyY2UvOiBjbURTUE1ha2VmaWxlLmN4eCwgY21EU1BXcml0ZXIuY3h4OiBFUlI6IFNtYWxsIGJ1ZyBpbgoJICBnZW5lcmF0ZWQgRFNQIGZpbGUgZml4ZWQuICBBIGN1c3RvbSBjb21tYW5kIGVudmlyb25tZW50IHZhcmlhYmxlCgkgIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggZXhwbGljaXR5IHdyaXRpbmcgb3V0IHRoZSBjb21tYW5kLgoKMjAwMS0wMy0yMCAxMzoyMCAga2luZwoKCSogU291cmNlLzogQ01ha2VMaWIuZHNwLCBNYWtlZmlsZS5pbiwgY21DYWJsZUNvbW1hbmQuY3h4LAoJICBjbUNhYmxlUGFja2FnZUNvbW1hbmQuY3h4LCBjbUNvbW1hbmRzLmN4eCwgY21EU1BNYWtlZmlsZS5jeHgsCgkgIGNtRFNQTWFrZWZpbGUuaCwgY21EU1BXcml0ZXIuY3h4LCBjbURTUFdyaXRlci5oLCBjbU1ha2VmaWxlLmN4eCwKCSAgY21NYWtlZmlsZS5oLCBjbVNvdXJjZUdyb3VwLmN4eCwgY21Tb3VyY2VHcm91cC5oLAoJICBjbVNvdXJjZUdyb3VwQ29tbWFuZC5jeHgsIGNtU291cmNlR3JvdXBDb21tYW5kLmgsCgkgIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgY21XcmFwVGNsQ29tbWFuZC5jeHg6IEVOSDogQWRkZWQKCSAgU09VUkNFX0dST1VQIGNvbW1hbmQgYW5kIGNvcnJlc3BvbmRpbmcgc3VwcG9ydCBjb2RlLglUaGlzCgkgIGNvbW1hbmQgYWxsb3dzIENNYWtlTGlzdHMgZmlsZXMgdG8gc3BlY2lmeSBob3cgc291cmNlcyBhcmUKCSAgb3JnYW5pemVkIGludG8gZ3JvdXBzIGluIHRoZSBnZW5lcmF0ZWQgRFNQIGZpbGVzIGFuZCBtYWtlZmlsZXMuCgoyMDAxLTAzLTE5IDExOjQ3ICBtaWxsZXJqdgoKCSogU291cmNlL0VYRUhlYWRlci5kc3B0ZW1wbGF0ZTogRU5IOiBpZ25vcmUgdW51c2VkIGxpYmFyeSB3YXJuaW5ncywKCSAgcmVtb3ZlZCAvZm9yY2UKCjIwMDEtMDMtMTkgMTE6MDIgIGtpbmcKCgkqIFNvdXJjZS86IGNtRFNQTWFrZWZpbGUuY3h4LCBjbURTUFdyaXRlci5jeHg6IEVOSDogQWRkZWQgdGV4dAoJICBmaWxlcyBncm91cCB0byBEU1Agb3V0cHV0LiAgQ01ha2VMaXN0cy50eHQgaXMgZHVwbGljYXRlZCBpbiB0aGlzCgkgIGdyb3VwIGFuZCBvdXRzaWRlLCBidXQgZml4aW5nIHRoaXMgd2lsbCByZXF1aXJlIGEgcmVvcmdhbml6YXRpb24KCSAgb2YgY3VzdG9tIHJ1bGUgZ2VuZXJhdGlvbi4gIEkgc2hvdWxkIGdldCB0byB0aGF0IHNvb24uCgoyMDAxLTAzLTE5IDExOjAxICBraW5nCgoJKiBTb3VyY2UvY21DYWJsZUNvbW1hbmQuY3h4OiBFUlI6IENoYW5nZWQgZ2VuZXJhdGlvbiBvZiBydWxlIHRvCgkgIGdlbmVyYXRlIGNhYmxlX2NvbmZpZy54bWwgdG8gYmUgcHJvZHVjZWQgZGlmZmVyZW50bHkgZm9yIHdpbmRvd3MKCSAgYW5kIHVuaXguCgoyMDAxLTAzLTE5IDExOjAwICBraW5nCgoJKiBTb3VyY2UvOiBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oOiBFUlI6IFJlbW92ZWQKCSAgZnVuY3Rpb25zIEkganVzdCBhZGRlZC4gIFRoZXkgZG9uJ3QgYmVsb25nIGhlcmUgKHlldD8pLgoKMjAwMS0wMy0xOSAxMDowOSAga2luZwoKCSogU291cmNlL2NtQ2FibGVDb21tYW5kLmN4eDogRU5IOiBBZGRlZCBnZW5lcmF0aW9uIG9mIGEgcnVsZSB0bwoJICByZS1ydW4gQ01ha2UgaWYgdGhlIGNhYmxlX2NvbmZpZy54bWwgZmlsZSBpcyBtaXNzaW5nLgoKMjAwMS0wMy0xOSAxMDowOSAga2luZwoKCSogU291cmNlLzogY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaDogRU5IOiBBZGRlZCBmdW5jdGlvbnMKCSAgdG8gZ2V0IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDTWFrZSBleGVjdXRhYmxlIG9uIGVhY2ggcGxhdGZvcm0uCgoyMDAxLTAzLTE2IDExOjE0ICBraW5nCgoJKiBTb3VyY2UvOiBjbUNhYmxlRGF0YS5jeHgsIGNtQ2FibGVEYXRhLmg6IEVSUjogUmUtb3JkZXJlZAoJICBkZWNsYXJhdGlvbiBvZiBtZW1iZXJzIHYuIG9yZGVyIG9mIGluaXRpYWxpemF0aW9uIG9uIHRoZQoJICBjb25zdHJ1Y3RvciB0byBtYXRjaCBlYWNoIG90aGVyLgoKMjAwMS0wMy0xNiAxMTowNCAga2luZwoKCSogU291cmNlLzogY21DYWJsZURhdGEuY3h4LCBjbUNhYmxlRGF0YS5oOiBCVUc6IFJlYXJyYW5nZWQgY2FibGUKCSAgY29uZmlnIGZpbGUgb3BlbiB0byBkbyBvcGVuIGluIGNvbnN0cnVjdGlvbiBvZiBtX091dHB1dEZpbGUuCgkgIEZpeGVzIHByb2JsZW0gb24gU0dJIHdpdGggb3BlbmluZyB0aGUgZmlsZS4KCjIwMDEtMDMtMTYgMDk6MjUgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ2FibGVEZWZpbmVTZXRDb21tYW5kLmN4eCwKCSAgY21DYWJsZVNvdXJjZUZpbGVzQ29tbWFuZC5jeHg6IEVOSDogQ2hhbmdlZCBnZW5lcmF0ZWQgaW5jbHVkZXMgdG8KCSAgbm90IGhhdmUgZnVsbCBwYXRoIHNwZWNpZmllZC4KCjIwMDEtMDMtMTUgMTg6MDkgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ29tbWFuZHMuY3h4LCBjbUluY2x1ZGVSZWd1bGFyRXhwcmVzc2lvbkNvbW1hbmQuY3h4LAoJICBjbUluY2x1ZGVSZWd1bGFyRXhwcmVzc2lvbkNvbW1hbmQuaCwgY21NYWtlRGVwZW5kLmN4eCwKCSAgY21NYWtlRGVwZW5kLmgsIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmg6IEVOSDogQWRkZWQKCSAgSU5DTFVERV9SRUdVTEFSX0VYUFJFU1NJT04gY29tbWFuZCB0byBzZXQgcmVndWxhciBleHByZXNzaW9uIHVzZWQKCSAgaW4gZGVwZW5kZW5jeSBjaGVja2luZy4KCjIwMDEtMDMtMTUgMTQ6NDYgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ2FibGVEZWZpbmVTZXRDb21tYW5kLmN4eCwgY21DYWJsZURlZmluZVNldENvbW1hbmQuaDoKCSAgRU5IOiBBZGRlZCBTT1VSQ0VfRklMRVMgc3ludGF4IHRvIENBQkxFX0RFRklORV9TRVQgY29tbWFuZC4KCjIwMDEtMDMtMTUgMTQ6MzMgIGtpbmcKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmg6IEJVRzogTW92ZWQgZGVmaW5pdGlvbiBvZgoJICBDTUFLRV9TT1VSQ0VfRElSIGFuZCBDTUFLRV9CSU5BUllfRElSIHRvIGJlIGFzIHNvb24gYXMgdGhlaXIKCSAgaW5mb3JtYXRpb24gaXMga25vd24uCgoyMDAxLTAzLTE1IDEwOjQyICBraW5nCgoJKiBTb3VyY2UvOiBjbUNhYmxlUGFja2FnZUNvbW1hbmQuY3h4LCBjbUNhYmxlUGFja2FnZUNvbW1hbmQuaDogQlVHOgoJICBGaXhlZCBzZWdmYXVsdCB3aGVuIENBQkxFX1BBQ0tBR0UgaXMgb25seSBDQUJMRSBjb21tYW5kLiAgUmVsYXRlZAoJICB0byBvcmRlciBvZiB2aXJ0dWFsIGRlc3RydWN0b3IgY2FsbHMuCgoyMDAxLTAzLTE0IDE3OjQ5ICBraW5nCgoJKiBTb3VyY2UvY21TdGFuZGFyZEluY2x1ZGVzLmg6IEVSUjogQWRkZWQgZm9yLWxvb3Agc2NvcGluZyBoYWNrIGZvcgoJICBDTWFrZSBzb3VyY2VzIG9uIE1TVkMKCjIwMDEtMDMtMTQgMTY6MzQgIGtpbmcKCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogRU5IOiBBZGRlZCBzdXBwb3J0IGZvciBjb21tZW50cyBpbnNpZGUKCSAgZnVuY3Rpb24gY2FsbHMgYW5kIGluZGVudGVkIGNvbW1lbnRzLgoKMjAwMS0wMy0xMyAxODowMSAga2luZwoKCSogU291cmNlLzogY21DYWJsZURlZmluZVNldENvbW1hbmQuY3h4LCBjbUNhYmxlRGVmaW5lU2V0Q29tbWFuZC5oOgoJICBFTkg6IEFkZGVkIHN1cHBvcnQgZm9yIGVsZW1lbnQgdGFnIHNwZWNpZmljYXRpb24gd2l0aCBzeW50YXgKCSAgdGFnOmVsZW1lbnQgYXMgYW4gYXJndW1lbnQgdG8gdGhlIENBQkxFX0RFRklORV9TRVQgY29tbWFuZC4gIEEKCSAgc2luZ2xlIGNvbG9uIHdpdGggbm90aGluZyB0byBpdHMgbGVmdCB3aWxsIHJlc3VsdCBpbiBhbiBlbXB0eQoJICB0YWcuCgoyMDAxLTAzLTEzIDA5OjMzICBraW5nCgoJKiBTb3VyY2UvY21XcmFwVGNsQ29tbWFuZC5jeHg6IEVSUjogTGVzcy10aGFuLXplcm8gdGVzdCByZXBsYWNlZAoJICB3aXRoIGdyZWF0ZXItdGhhbi16ZXJvIHNpbmNlIHdlIHdhbnQgemVybyBhcmd1bWVudHMuCgoyMDAxLTAzLTEyIDE4OjMwICBraW5nCgoJKiBTb3VyY2UvOiBjbUNvbW1hbmQuaCwgY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaDogRU5IOgoJICBJbXByb3ZlZCBlcnJvciBoYW5kbGluZyB3aGVuIEdldEVycm9yIGlzIGNhbGxlZCBvbiBhIGNvbW1hbmQgdGhhdAoJICBoYXMgbm90IGNhbGxlZCBTZXRFcnJvci4KCjIwMDEtMDMtMTIgMTA6MTAgIGdlb2ZmCgoJKiBTb3VyY2UvOiBjbUNvbW1hbmRzLmN4eCwgY21XaW4zMkluY2x1ZGVEaXJlY3RvcnlDb21tYW5kLmN4eCwKCSAgY21XaW4zMkluY2x1ZGVEaXJlY3RvcnlDb21tYW5kLmg6IEluY2x1ZGUgZGlyZWN0b3JpZXMgdW5kZXIgV2luMzIKCSAgb25seSAoaW5oZXJpdGVkIGJ5IHN1YmRpcnMpCgoyMDAxLTAzLTA5IDE2OjU2ICBraW5nCgoJKiBTb3VyY2UvOiBETExIZWFkZXIuZHNwdGVtcGxhdGUsIEVYRUhlYWRlci5kc3B0ZW1wbGF0ZSwKCSAgY21EU1BNYWtlZmlsZS5jeHgsIGNtRFNQTWFrZWZpbGUuaCwgY21EU1BXcml0ZXIuY3h4LAoJICBjbURTUFdyaXRlci5oLCBzdGF0aWNMaWJIZWFkZXIuZHNwdGVtcGxhdGU6IEVOSDogRmluaXNoZWQKCSAgU2ltcGxpZnlpbmcgZHNwdGVtcGxhdGUgcHJvY2Vzc2luZyB3aXRoICBpbiBwbGFjZSBvZiBzZXBhcmF0ZQoJICBSZWxlYXNlLCBEZWJ1ZywgUmVsZWFzZURMTCwgLi4uIGNvbmZpZ3VyYXRpb25zLgoKMjAwMS0wMy0wOSAxNTozNSAga2luZwoKCSogU291cmNlLzogY21EU1BNYWtlZmlsZS5jeHgsIGNtRFNQV3JpdGVyLmN4eCwKCSAgc3RhdGljTGliSGVhZGVyLmRzcHRlbXBsYXRlOiBFUlI6IEZpeGVkIGxpYnJhcnkgcGF0aCBwcm9ibGVtIGZvcgoJICBSZWxlYXNlTWluU2l6ZSBidWlsZC4gICBzaG91bGQgbm93IGJlIHVzZWQgaW4gcGxhY2Ugb2Ygc2VwYXJhdGUKCSAgUmVsZWFzZSwgRGVidWcsIGFuZCBSZWxlYXNlTWluU2l6ZS4KCjIwMDEtMDMtMDkgMTQ6MzUgIGtpbmcKCgkqIFNvdXJjZS9FWEVIZWFkZXIuZHNwdGVtcGxhdGU6IEVSUjogRml4ZWQgaGVhZGVyIHRlbXBsYXRlIGZvcgoJICBSZWxlYXNlIE1pblNpemUgYnVpbGRzLgoKMjAwMS0wMy0wOSAxMTozNCAga2luZwoKCSogU291cmNlL0VYRUhlYWRlci5kc3B0ZW1wbGF0ZTogRU5IOiBBZGRlZCBSZWxlYXNlIE1pblNpemUKCSAgY29uZmlndXJhdGlvbiBmb3IgZXhlY3V0YWJsZXMuCgoyMDAxLTAzLTA5IDExOjMzICBraW5nCgoJKiBTb3VyY2UvY21VdGlsaXR5U291cmNlQ29tbWFuZC5oOiBFTkg6IE1hZGUgVVRJTElUWV9TT1VSQ0UgY29tbWFuZAoJICBpbmhlcml0ZWQsIGp1c3QgbGlrZSBGSU5EX1BST0dSQU0uCgoyMDAxLTAzLTA5IDExOjE2ICBraW5nCgoJKiBTb3VyY2UvY21DYWJsZVBhY2thZ2VDb21tYW5kLmN4eDogRVJSOiBNaXNzaW5nIGluaXRhbGl6YXRpb24gb2YgYQoJICBjbUNsYXNzRmlsZTo6bV9IZWFkZXJGaWxlT25seSBmaXhlZC4KCjIwMDEtMDMtMDkgMTA6NTMgIGtpbmcKCgkqIFNvdXJjZS86IGNtRFNXTWFrZWZpbGUuY3h4LCBjbURTV1dyaXRlci5jeHgsIGNtTWFrZWZpbGUuY3h4LAoJICBjbU1ha2VmaWxlLmgsIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eCwKCSAgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuaCwgY21VdGlsaXR5U291cmNlQ29tbWFuZC5jeHg6IEVOSDogQWRkZWQKCSAgdXRpbGl0eSBkZXBlbmRlbmN5IHN1cHBvcnQuICBOb3cgYSBwcm9qZWN0IGNhbiBkZXBlbmQgb24gb3RoZXIKCSAgZXhlY3V0YWJsZXMgYXMgd2VsbCBhcyBsaW5rIGxpYnJhcmllcy4KCjIwMDEtMDMtMDkgMTA6NTIgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ2FibGVDb21tYW5kLmN4eCwgY21DYWJsZURhdGEuY3h4OiBFUlI6IEFkZGVkCgkgIGF1dG9tYXRpYyBjcmVhdGlvbiBvZiBkaXJlY3RvcnkgZm9yIGNhYmxlX2NvbmZpZy54bWwgZmlsZSBhbmQKCSAgY29ycmVzcG9uZGluZyBlcnJvciByZXBvcnRpbmcuCgoyMDAxLTAzLTA5IDEwOjUyICBraW5nCgoJKiBTb3VyY2UvY21DYWJsZVBhY2thZ2VDb21tYW5kLmN4eDogRU5IOiBBZGRlZCBwcm9wZXIgZGVwZW5kZW5jeQoJICBnZW5lcmF0aW9uIGZvciBhIHBhY2thZ2Ugb24gY2FibGUgZXhlY3V0YWJsZS4KCjIwMDEtMDMtMDggMTg6MjQgIGtpbmcKCgkqIFNvdXJjZS86IGNtTWFrZWZpbGUuY3h4LCBjbVV0aWxpdHlTb3VyY2VDb21tYW5kLmN4eDogRVJSOgoJICBSZXBsYWNlZCBDTUFLRV9DRkc9IHdpdGggQ01BS0VfQ0ZHX09VVERJUj0gdG8gZml4IHdpbmRvd3MKCSAgYmVoYXZpb3IuCgoyMDAxLTAzLTA4IDE4OjEzICBraW5nCgoJKiBTb3VyY2UvOiBjbURTUE1ha2VmaWxlLmN4eCwgY21EU1BXcml0ZXIuY3h4OiBFTkg6IEFkZGVkIG91dHB1dCBvZgoJICBjdXN0b20gcnVsZXMgZm9yIFhNTCBzb3VyY2VzLgoKMjAwMS0wMy0wOCAxNzozOCAga2luZwoKCSogU291cmNlL2NtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRU5IOiBBZGRlZCBvdXRwdXQgb2YgZGVmaW5lcwoJICBmbGFncyBhcyBwYXJ0IG9mIElOQ0xVREVfRkxBR1MuCgoyMDAxLTAzLTA4IDE3OjMxICBraW5nCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBFTkg6IEFkZGVkIG91dHB1dCBvZiBhIGN1c3RvbQoJICBjb21tYW5kJ3MgbV9Tb3VyY2UgYXMgYSBkZXBlbmRlbmN5LgoKMjAwMS0wMy0wOCAxNzozMSAga2luZwoKCSogU291cmNlL2NtVW5peERlZmluZXNDb21tYW5kLmN4eDogRVJSOiBNaW5vciB3b3JkaW5nIGVycm9yIGluCgkgIG91dHB1dCBtZXNzYWdlLgoKMjAwMS0wMy0wOCAxNzozMCAga2luZwoKCSogU291cmNlL2NtQ2FibGVQYWNrYWdlQ29tbWFuZC5jeHg6IEVOSDogQ3JlYXRpb24gb2YgZ2VuZXJhdG9yIHJ1bGUKCSAgbm93IHByb3Blcmx5IHVzZXMgdGhlIGN1c3RvbSBjb21tYW5kJ3MgbV9Tb3VyY2UgbWVtYmVyLgoKMjAwMS0wMy0wOCAxNjoxMyAga2luZwoKCSogU291cmNlLzogY21DYWJsZUNvbW1hbmQuY3h4LCBjbUNhYmxlRGF0YS5jeHgsIGNtQ2FibGVEYXRhLmgsCgkgIGNtQ2FibGVQYWNrYWdlQ29tbWFuZC5jeHgsIGNtQ2FibGVQYWNrYWdlQ29tbWFuZC5oLAoJICBjbUNhYmxlU291cmNlRmlsZXNDb21tYW5kLmN4eCwgY21DYWJsZVNvdXJjZUZpbGVzQ29tbWFuZC5oOiBFTkg6CgkgIEFkZGVkIGNyZWF0aW9uIG9mIGN1c3RvbSBydWxlcyBmb3IgZ2VuZXJhdGluZyBDQUJMRSBwYWNrYWdlcy4KCjIwMDEtMDMtMDggMTY6MTIgIGtpbmcKCgkqIFNvdXJjZS86IGNtTWFrZURlcGVuZC5jeHgsIGNtTWFrZURlcGVuZC5oOiBFTkg6IEFkZGVkIHN1cHBvcnQgZm9yCgkgIGZpbmRpbmcgZGVwZW5kZW5jaWVzIGZvciBmaWxlcyB0aGF0IGRvbid0IGV4aXN0LiAgRGVwZW5kZW5jeQoJICByZWN1cnNpb24gYmVnaW5zIHdpdGggaGludHMgcHJvdmlkZWQgaW4gdGhlIGNtQ2xhc3NGaWxlIGZvciBhCgkgIGZpbGUgaWYgaXQgZG9lc24ndCBleGlzdC4KCjIwMDEtMDMtMDggMTE6MzAgIGtpbmcKCgkqIFNvdXJjZS9jbUNhYmxlU291cmNlRmlsZXNDb21tYW5kLmN4eDogRU5IOiBBZGRlZCAudHh4IGRldGVjdGlvbgoJICBmb3IgSGVhZGVyIGJsb2NrIG91dHB1dC4KCjIwMDEtMDMtMDggMTA6MzAgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ29tbWFuZHMuY3h4LCBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oLAoJICBjbVN5c3RlbVRvb2xzLmN4eCwgY21TeXN0ZW1Ub29scy5oLCBjbVV0aWxpdHlTb3VyY2VDb21tYW5kLmN4eCwKCSAgY21VdGlsaXR5U291cmNlQ29tbWFuZC5oOiBFTkg6IEFkZGVkIFVUSUxJVFlfU09VUkNFIGNvbW1hbmQgZm9yCgkgIHNwZWNpZnlpbmcgd2hlcmUgYSAzcmQgcGFydHkgdXRpbGl0eSdzIHNvdXJjZSBpcyBsb2NhdGVkIHdoZW4gaXQKCSAgaXMgaW5jbHVkZWQgaW4gdGhlIGRpc3RyaWJ1dGlvbiBvZiBhIHByb2plY3QuCgoyMDAxLTAzLTA3IDEzOjMzICBraW5nCgoJKiBTb3VyY2UvY21DYWJsZUNvbW1hbmQuY3h4OiBFUlI6IENvbW1lbnRlZCBvdXQgZXhwZXJpbWVudGFsIGNvZGUKCSAgdGhhdCB3YXMgYWNjaWRlbnRhbGx5IGNoZWNrZWQgaW4uCgoyMDAxLTAzLTA3IDEzOjIzICBraW5nCgoJKiBTb3VyY2UvY21DYWJsZUNvbW1hbmQuY3h4OiBFTkg6IEFkZGVkIENhYmxlIHRvIFV0aWxpdGllcyBhbmQKCSAgYXBwcm9wcmlhdGUgQ01ha2VMaXN0cy50eHQgY2hhbmdlcy4gIE1vdmVkIFZYTE51bWVyaWNzIGxpbmsgb3V0CgkgIG9mIHNvdXJjZSdzIHJvb3QgZGlyZWN0b3J5IGFuZCBpbnRvIHNlcGFyYXRlIGVudHJpZXMgZm9yIENvZGUgYW5kCgkgIFRlc3RpbmcgZGlyZWN0b3JpZXMuCVRoaXMgcHJldmVudHMgbGlua2luZyBvZiBhbGwgcHJvZ3JhbXMgKGxpa2UKCSAgQ2FibGUpIHdpdGggdGhlIG51bWVyaWNzIGxpYnJhcnkuCgoyMDAxLTAzLTAyIDE2OjA0ICBraW5nCgoJKiBTb3VyY2UvOiBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmg6CgkgIEVOSDogQWRkZWQgY3VzdG9tIHJ1bGUgc3VwcG9ydCB0byBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci4KCjIwMDEtMDMtMDIgMTM6NDcgIHdpbGwKCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHg6IEJVRzogcmVwZWF0IGFsbCAtbCBvcHRpb25zIHRvCgkgIGF2b2lkIGhhdmluZyB0byB3b3JyeSBhYm91dCBsaW5rIG9yZGVyLgoKMjAwMS0wMy0wMiAxMjoyNyAga2luZwoKCSogU291cmNlLzogY21DYWJsZUNvbW1hbmQuY3h4LCBjbUNhYmxlRGF0YS5jeHgsIGNtQ2FibGVEYXRhLmg6IEVOSDoKCSAgQ0FCTEUgY29uZmlnIGZpbGUgKGNvbmZpZ19jYWJsZS54bWwpIHNob3VsZCBub3cgYmUgb3BlbmVkIGluIHRoZQoJICBvdXRwdXQgZGlyZWN0b3J5LgoKMjAwMS0wMy0wMSAxNjo0NyAga2luZwoKCSogU291cmNlLzogY21DYWJsZUNsb3NlTmFtZXNwYWNlQ29tbWFuZC5jeHgsCgkgIGNtQ2FibGVDbG9zZU5hbWVzcGFjZUNvbW1hbmQuaCwgY21DYWJsZUNvbW1hbmQuY3h4LAoJICBjbUNhYmxlQ29tbWFuZC5oLCBjbUNhYmxlRGF0YS5jeHgsIGNtQ2FibGVEYXRhLmgsCgkgIGNtQ2FibGVEZWZpbmVTZXRDb21tYW5kLmN4eCwgY21DYWJsZURlZmluZVNldENvbW1hbmQuaCwKCSAgY21DYWJsZUluc3RhbnRpYXRlQ2xhc3NDb21tYW5kLmN4eCwKCSAgY21DYWJsZUluc3RhbnRpYXRlQ2xhc3NDb21tYW5kLmgsIGNtQ2FibGVJbnN0YW50aWF0ZUNvbW1hbmQuY3h4LAoJICBjbUNhYmxlSW5zdGFudGlhdGVDb21tYW5kLmgsIGNtQ2FibGVPcGVuTmFtZXNwYWNlQ29tbWFuZC5jeHgsCgkgIGNtQ2FibGVPcGVuTmFtZXNwYWNlQ29tbWFuZC5oLCBjbUNhYmxlUGFja2FnZUNvbW1hbmQuY3h4LAoJICBjbUNhYmxlUGFja2FnZUNvbW1hbmQuaCwgY21DYWJsZVBhY2thZ2VFbnRyeUNvbW1hbmQuY3h4LAoJICBjbUNhYmxlUGFja2FnZUVudHJ5Q29tbWFuZC5oLCBjbUNhYmxlU291cmNlRmlsZXNDb21tYW5kLmN4eCwKCSAgY21DYWJsZVNvdXJjZUZpbGVzQ29tbWFuZC5oLCBjbUNhYmxlV3JhcENvbW1hbmQuY3h4LAoJICBjbUNhYmxlV3JhcENvbW1hbmQuaCwgY21Db21tYW5kcy5jeHg6IEVOSDogQ2hhbmdlIHRvIG5ldyBDQUJMRQoJICBjb21tYW5kIGFyY2hpdGVjdHVyZS4gIENBQkxFIGNvbmZpZ3VyYXRpb24gY29kZSBpcyBub3cgZ2VuZXJhdGVkCgkgIG9uIHRoZSBmaXJzdCBwYXNzLCBkdXJpbmcgdGhlIEludm9rZSgpIGNhbGxzLgoKMjAwMS0wMi0yOCAxNzo1MCAgaG9mZm1hbgoKCSogU291cmNlLzogY21EU1BNYWtlZmlsZS5jeHgsIGNtRFNQV3JpdGVyLmN4eCwgY21EU1BNYWtlZmlsZS5oLAoJICBjbURTUFdyaXRlci5oLCBjbURTV01ha2VmaWxlLmN4eCwgY21EU1dXcml0ZXIuY3h4OiBCVUc6IGZpeAoJICBjaXJjdWxhciBkZXBlbmRzIG9uIGxpYnJhcmllcyBhbmQgcmVtb3ZlIGRlcGVuZHMgZm9yIHN0YXRpYwoJICBsaWJyYXJpZXMKCjIwMDEtMDItMjggMDk6MzQgIGtpbmcKCgkqIFNvdXJjZS86IGNtQ2FibGVDb21tYW5kLmN4eCwgY21DYWJsZUNvbW1hbmQuaCwgY21DYWJsZURhdGEuY3h4LAoJICBjbUNhYmxlRGF0YS5oLCBjbUNhYmxlRGVmaW5lU2V0Q29tbWFuZC5jeHgsCgkgIGNtQ2FibGVEZWZpbmVTZXRDb21tYW5kLmgsIGNtQ2FibGVJbnN0YW50aWF0ZUNsYXNzQ29tbWFuZC5jeHgsCgkgIGNtQ2FibGVJbnN0YW50aWF0ZUNsYXNzQ29tbWFuZC5oLCBjbUNhYmxlSW5zdGFudGlhdGVDb21tYW5kLmN4eCwKCSAgY21DYWJsZUluc3RhbnRpYXRlQ29tbWFuZC5oLCBjbUNvbW1hbmRzLmN4eDogRU5IOiBDQUJJTCAtPiBDQUJMRQoJICByZW5hbWUuCgoyMDAxLTAyLTI3IDE2OjUwICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbURTUE1ha2VmaWxlLmN4eCwgY21EU1BNYWtlZmlsZS5oLCBjbURTUFdyaXRlci5jeHgsCgkgIGNtRFNQV3JpdGVyLmgsIGNtRFNXTWFrZWZpbGUuY3h4LCBjbURTV1dyaXRlci5jeHg6IG1hbnkKCSAgZW5oYW5jZW1lbnRzIGluY2x1ZGluZyBkbGwgc3VwcG9ydAoKMjAwMS0wMi0yNyAxNjo0OSAgbWFydGluawoKCSogU291cmNlL2NtV3JhcFRjbENvbW1hbmQuY3h4OiBidWcgZml4ZXMKCjIwMDEtMDItMjcgMTY6NDkgIG1hcnRpbmsKCgkqIFNvdXJjZS9jbUNvbW1hbmRzLmN4eDogYWRkZWQgbmV3IGNvbW1hbmRzCgoyMDAxLTAyLTI3IDE2OjQ4ICBtYXJ0aW5rCgoJKiBTb3VyY2UvY21DbGFzc0ZpbGUuaDogYWRkZWQgd3JhcCBleGNsdWRlIGl2YXIKCjIwMDEtMDItMjcgMTY6NDggIG1hcnRpbmsKCgkqIFNvdXJjZS86IGNtQnVpbGRTaGFyZWRMaWJyYXJpZXNDb21tYW5kLmN4eCwKCSAgY21CdWlsZFNoYXJlZExpYnJhcmllc0NvbW1hbmQuaCwgY21XcmFwRXhjbHVkZUZpbGVzQ29tbWFuZC5jeHgsCgkgIGNtV3JhcEV4Y2x1ZGVGaWxlc0NvbW1hbmQuaDogbmV3IGNvbW1hbmRzCgoyMDAxLTAyLTI3IDE2OjQ2ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBETExGb290ZXIuZHNwdGVtcGxhdGUsIERMTEhlYWRlci5kc3B0ZW1wbGF0ZTogZGxsIGJ1aWxkCgkgIHJ1bGVzCgoyMDAxLTAyLTI3IDE2OjQ0ICBtYXJ0aW5rCgoJKiBTb3VyY2Uvc3RhdGljTGliSGVhZGVyLmRzcHRlbXBsYXRlOiBjaGFuZ2UgaW4gb3B0aW9ucyBmb3IgbXVjaAoJICBzbWFsbGVyIGxpYnJhcmllcwoKMjAwMS0wMi0yNyAxNjoyOCAga2luZwoKCSogU291cmNlLzogY21DYWJsZUNvbW1hbmQuaCwgY21DYWJsZURlZmluZVNldENvbW1hbmQuY3h4LAoJICBjbUNhYmxlRGVmaW5lU2V0Q29tbWFuZC5oLCBjbUNhYmxlSW5zdGFudGlhdGVDbGFzc0NvbW1hbmQuY3h4LAoJICBjbUNhYmxlSW5zdGFudGlhdGVDbGFzc0NvbW1hbmQuaCwgY21DYWJsZUluc3RhbnRpYXRlQ29tbWFuZC5jeHgsCgkgIGNtQ2FibGVJbnN0YW50aWF0ZUNvbW1hbmQuaCwgY21Db21tYW5kcy5jeHg6IEVOSDogSW1wbGVtZW50ZWQKCSAgYXV0b21hdGljIHRhZyBnZW5lcmF0aW9uIGZvciBDQUJJTF9ERUZJTkVfU0VUIGNvbW1hbmQuICBBZGRlZCB0YWcKCSAgb3V0cHV0IHRvIFdyaXRlQ29uZmlndXJhdGlvbiBtZXRob2RzLiAgQWRkZWQKCSAgQ0FCSUxfSU5TVEFOVElBVEVfQ0xBU1MgY29tbWFuZCB0byBnZW5lcmF0ZSBleHBsaWNpdCBjbGFzcwoJICB0ZW1wbGF0ZSBpbnN0YW50aWF0aW9uIGNvbmZpZ3VyYXRpb24gb3V0cHV0LgoKMjAwMS0wMi0yNyAxNTo0MSAga2luZwoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFTkgvQlVHOiBJbXByb3ZlZCBmdW5jdGlvbiBwYXJzaW5nIHRvCgkgIGFsbG93IGp1c3QgYWJvdXQgYW55dGhpbmcgaW5zaWRlIGEgZG91YmxlLXF1b3RlZCBhcmd1bWVudC4gIEFsc28KCSAgZml4ZWQgcGFyc2luZyBvZiBsaW5lcyB3aXRoIGJvdGggcXVvdGVkIGFuZCBub24tcXVvdGVkIGFyZ3VtZW50cy4KCjIwMDEtMDItMjcgMTI6MDAgIGxvcmVuc2VuCgoJKiBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHg6IEVOSDogbWFzayBvbiBta2RpciBzZXQgdG8gNzc3LgoKMjAwMS0wMi0yNyAxMjowMCAgbG9yZW5zZW4KCgkqIFNvdXJjZS9DTWFrZUJ1aWxkVGFyZ2V0cy5jeHg6IEVSUjogbWlzc2luZyBzdGQ6OiBvbiBjb3V0LgoKMjAwMS0wMi0yNiAyMDo1OCAgbWlsbGVyanYKCgkqIFNvdXJjZS9zdGF0aWNMaWJIZWFkZXIuZHNwdGVtcGxhdGU6IEZJWDogYWRkZWQgL0dSIHRvIE1pblNpemUKCSAgYnVpbGQgdG8gYXZvaWQgd2FybmluZ3MgYWJvdXQgZHluYW1pYyBjYXN0CgoyMDAxLTAyLTI2IDE4OjIwICBraW5nCgoJKiBTb3VyY2UvY21DYWJsZUluc3RhbnRpYXRlQ29tbWFuZC5jeHg6IEVSUjogRml4ZWQgY29uZmlndXJhdGlvbgoJICBmaWxlIG91dHB1dCB0byBvcGVuIGZpbGUgaW4gb3V0cHV0IGRpcmVjdG9yeS4KCjIwMDEtMDItMjYgMTg6MTYgIGtpbmcKCgkqIFNvdXJjZS9jbVdyYXBUY2xDb21tYW5kLmN4eDogaW50IC0+IHVuc2lnbmVkIGludAoKMjAwMS0wMi0yNiAxODowMCAga2luZwoKCSogU291cmNlLzogY21DYWJsZUNvbW1hbmQuY3h4LCBjbUNhYmxlQ29tbWFuZC5oLCBjbUNhYmxlRGF0YS5jeHgsCgkgIGNtQ2FibGVEYXRhLmgsIGNtQ2FibGVEZWZpbmVTZXRDb21tYW5kLmN4eCwKCSAgY21DYWJsZURlZmluZVNldENvbW1hbmQuaCwgY21DYWJsZUluc3RhbnRpYXRlQ29tbWFuZC5jeHgsCgkgIGNtQ2FibGVJbnN0YW50aWF0ZUNvbW1hbmQuaCwgY21Db21tYW5kcy5jeHg6IEVOSDogQWRkZWQgQ0FCSUwKCSAgY29tbWFuZHMgZm9yIGNvbmZpZ3VyYXRpb24gZmlsZSBnZW5lcmF0aW9uLgoKMjAwMS0wMi0yNiAxNzo1OCAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGUuaDogRU5IOiBBZGRlZCBHZXRVc2VkQ29tbWFuZHMoKSBtZXRob2QuCgoyMDAxLTAyLTI2IDE3OjU4ICBraW5nCgoJKiBTb3VyY2UvY21TdGFuZGFyZEluY2x1ZGVzLmg6IEVSUjogZnNyZWFtLmggLT4gZnN0cmVhbS5oCgoyMDAxLTAyLTI2IDE3OjE3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUNvbW1hbmRzLmN4eCwgY21EU1BNYWtlZmlsZS5jeHgsIGNtRFNQTWFrZWZpbGUuaCwKCSAgY21EU1BXcml0ZXIuY3h4LCBjbURTUFdyaXRlci5oLCBjbU1ha2VmaWxlLmg6IGEgdmFyaWV0eSBvZiBmaXhlcwoJICBhbmQgZW5oYW5jZW1lbnRzCgoyMDAxLTAyLTI2IDE3OjE3ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbVdyYXBUY2xDb21tYW5kLmN4eCwgY21XcmFwVGNsQ29tbWFuZC5oOiB2ZXJ5IGVhcmx5CgkgIHZlcnNpb24gb2YgYSB3cmFwcGVyCgoyMDAxLTAyLTI2IDE3OjE1ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUNsYXNzRmlsZS5jeHgsIGNtQ2xhc3NGaWxlLmg6IGFkZGVkIGZ1bmN0aW9uYWxpdHksCgkgIGZpeGVkIGJ1ZyBpZiBubyBmaWxlIGV4aXN0ZWQgYW5kIHdpdGggaGVhZGVyIGZpbGVzCgoyMDAxLTAyLTI2IDE3OjE0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUZpbmRQcm9ncmFtQ29tbWFuZC5jeHgsIGNtRmluZFByb2dyYW1Db21tYW5kLmg6IGZpeGVkCgkgIGJ1ZyBhbmQgbW9kaWZpZWQgZnVuY3Rpb25hbGl0eQoKMjAwMS0wMi0yNiAxNzoxMyAgbWFydGluawoKCSogU291cmNlLzogY21GaW5kRmlsZUNvbW1hbmQuY3h4LCBjbUZpbmRGaWxlQ29tbWFuZC5oOiBuZXcgY29tbWFuZAoKMjAwMS0wMi0yNiAxMzoyNSAga2luZwoKCSogU291cmNlL2NtTWFrZWZpbGUuY3h4OiBFUlI6IEZpeGVkIHVua25vd24gY29tbWFuZCBvdXRwdXQgZXJyb3IKCSAgbWVzc2FnZSBmb3Igc3BhY2luZy4KCjIwMDEtMDItMjYgMTI6MDcgIGtpbmcKCgkqIFNvdXJjZS86IGNtQWJzdHJhY3RGaWxlc0NvbW1hbmQuaCwgY21BZGRUYXJnZXRDb21tYW5kLmgsCgkgIGNtQXV4U291cmNlRGlyZWN0b3J5Q29tbWFuZC5oLCBjbUNvbW1hbmQuaCwKCSAgY21FeGVjdXRhYmxlc0NvbW1hbmQuaCwgY21GaW5kSW5jbHVkZUNvbW1hbmQuaCwKCSAgY21GaW5kTGlicmFyeUNvbW1hbmQuaCwgY21GaW5kUHJvZ3JhbUNvbW1hbmQuaCwKCSAgY21JbmNsdWRlRGlyZWN0b3J5Q29tbWFuZC5oLCBjbUxpYnJhcnlDb21tYW5kLmgsCgkgIGNtTGlua0RpcmVjdG9yaWVzQ29tbWFuZC5oLCBjbUxpbmtMaWJyYXJpZXNDb21tYW5kLmgsCgkgIGNtUHJvamVjdENvbW1hbmQuaCwgY21Tb3VyY2VGaWxlc0NvbW1hbmQuaCwKCSAgY21Tb3VyY2VGaWxlc1JlcXVpcmVDb21tYW5kLmgsIGNtU3ViZGlyQ29tbWFuZC5oLAoJICBjbVRlc3RzQ29tbWFuZC5oLCBjbVVuaXhEZWZpbmVzQ29tbWFuZC5oLAoJICBjbVVuaXhMaWJyYXJpZXNDb21tYW5kLmgsIGNtV2luMzJEZWZpbmVzQ29tbWFuZC5oLAoJICBjbVdpbjMyTGlicmFyaWVzQ29tbWFuZC5oOiBFTkg6IEFkZGVkIHNhZmUgZG93bmNhc3Qgc3VwcG9ydAoJICAod2l0aG91dCBSVFRJKSB0byBjbUNvbW1hbmQgYW5kIGl0cyBzdWJjbGFzc2VzLgoKMjAwMS0wMi0yMyAxMDo0MCAga2luZwoKCSogU291cmNlLzogY21BYnN0cmFjdEZpbGVzQ29tbWFuZC5jeHgsIGNtQ29tbWFuZC5oLCBjbUNvbW1hbmRzLmgsCgkgIGNtQ29uZmlndXJlRmlsZU5vQXV0b2NvbmYuaCwgY21GaW5kSW5jbHVkZUNvbW1hbmQuY3h4LAoJICBjbUZpbmRMaWJyYXJ5Q29tbWFuZC5jeHgsIGNtRmluZFByb2dyYW1Db21tYW5kLmN4eCwKCSAgY21NYWtlZmlsZS5jeHgsIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmN4eDogRVJSOiBGaXhlZCB3YXJuaW5ncwoJICAoaW50LT51bnNpZ25lZCBpbnQgYW5kIGEgZmV3IG90aGVycykuCgoyMDAxLTAyLTIyIDE5OjM3ICBob2ZmbWFuCgoJKiBjb25maWd1cmUuaW4uc2FtcGxlOiBFTkg6IHVwZGF0ZSBzYW1wbGUKCjIwMDEtMDItMjIgMTk6MzEgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQlVHOiByZW1vdmUgZGVidWcgcHJpbnQKCjIwMDEtMDItMjIgMTk6MjMgIGhvZmZtYW4KCgkqIFNvdXJjZS9DTWFrZUJ1aWxkVGFyZ2V0cy5jeHgsIFNvdXJjZS9NYWtlZmlsZS5pbiwKCSAgU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmN4eCwgU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmgsCgkgIFNvdXJjZS9jbUNvbmZpZ3VyZUZpbGVOb0F1dG9jb25mLmN4eCwgU291cmNlL2NtRFNQTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21EU1BXcml0ZXIuY3h4LCBTb3VyY2UvY21EU1dNYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbURTV1dyaXRlci5jeHgsIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGUuaCwgU291cmNlL2NtU3RhbmRhcmRJbmNsdWRlcy5oLAoJICBTb3VyY2UvY21TeXN0ZW1Ub29scy5jeHgsIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmgsCgkgIENNYWtlUnVsZXMubWFrZS5pbiwgQ01ha2VUb3BNYWtlZmlsZVRlbXBsYXRlLmluLAoJICBTb3VyY2UvY21Db25maWd1cmUuaC5pbjogRU5IOiBhZGQgQ01ha2VDYWNoZS50eHQgc3VwcG9ydAoKMjAwMS0wMi0yMCAxNDoxMiAgaG9mZm1hbgoKCSogU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4OiBFTkg6IHJlbW92ZSByZWxhdGl2ZSBhbmQgZXh0cmEgcGF0aHMgaW4KCSAgQ01ha2VMaXN0cy50eHQgZmlsZXMKCjIwMDEtMDItMjAgMTI6MjUgIGhvZmZtYW4KCgkqIENNYWtlUnVsZXMubWFrZS5pbjogQlVHOiBmaXggZm9yIGluIHNvdXJjZSBidWlsZAoKMjAwMS0wMi0xOSAxNToxMyAgaG9mZm1hbgoKCSogQ01ha2VNYWtlZmlsZVRlbXBsYXRlLmluLCBNYWtlZmlsZVRlbXBsYXRlLmluLAoJICBjb25maWd1cmUuaW4uc2FtcGxlLCBTb3VyY2UvQ01ha2VCdWlsZFRhcmdldHMuY3h4LAoJICBTb3VyY2UvQ01ha2VTZXR1cENNRC5jeHgsIFNvdXJjZS9NYWtlZmlsZS5pbiwKCSAgU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmN4eCwgU291cmNlL2NtQ2FjaGVNYW5hZ2VyLmgsCgkgIFNvdXJjZS9jbUNvbW1hbmQuaCwgU291cmNlL2NtRFNXTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21EU1dXcml0ZXIuY3h4LCBTb3VyY2UvY21GaW5kSW5jbHVkZUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21GaW5kTGlicmFyeUNvbW1hbmQuY3h4LCBTb3VyY2UvY21GaW5kUHJvZ3JhbUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21JbmNsdWRlRGlyZWN0b3J5Q29tbWFuZC5jeHgsIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwKCSAgU291cmNlL2NtUmVndWxhckV4cHJlc3Npb24uaCwgU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4LAoJICBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuaDogRU5IOiBmaXJzdCBwYXNzIGF0IGNhY2hlLCBjbGVhbgoJICB1cCB0aGUgdW5peCBnZW5lcmF0b3IsIGNsZWFuIHVwIGNvbmZpZ3VyZS5pbiBzb21lCgoyMDAxLTAyLTE4IDEzOjAyICBob2ZmbWFuCgoJKiBjb25maWd1cmUuaW4uc2FtcGxlOiBFTkg6IGFkZCBhIHNtYXBsZSBjb25maWd1cmUuaW4gZm9yIENNYWtlCgkgIGJhc2VkIHByb2plY3RzCgoyMDAxLTAyLTE4IDEyOjQ3ICBob2ZmbWFuCgoJKiBjb25maWd1cmUuaW4uc2FtcGxlOiBFTkg6IGFkZCBhIHNtYXBsZSBjb25maWd1cmUuaW4gZm9yIENNYWtlCgkgIGJhc2VkIHByb2plY3RzCgoyMDAxLTAyLTE2IDE1OjM0ICBob2ZmbWFuCgoJKiBTb3VyY2UvY21DYWNoZU1hbmFnZXIuaDogRU5IOiBjbGVhbiB1cCBjb21tZW50cyBzb21lCgoyMDAxLTAyLTE2IDE1OjAxICB3aWxsCgoJKiBDTWFrZS5wZGY6IEVOSDpBZGRlZCBwZGYgZmlsZQoKMjAwMS0wMi0xNiAxMTo1MiAgbWFydGluawoKCSogQ01ha2UuZG9jOiBjbGVhbiB1cCBkb2NzCgoyMDAxLTAyLTE2IDExOjM0ICBtYXJ0aW5rCgoJKiBTb3VyY2UvOiBjbUNvbmZpZ3VyZUZpbGVOb0F1dG9jb25mLmN4eCwgY21EU1dNYWtlZmlsZS5jeHgsCgkgIGNtRFNXV3JpdGVyLmN4eCwgY21GaW5kSW5jbHVkZUNvbW1hbmQuY3h4LAoJICBjbUZpbmRMaWJyYXJ5Q29tbWFuZC5jeHgsIGNtRmluZExpYnJhcnlDb21tYW5kLmgsCgkgIGNtRmluZFByb2dyYW1Db21tYW5kLmN4eCwgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaCwKCSAgY21TeXN0ZW1Ub29scy5jeHgsIGNtU3lzdGVtVG9vbHMuaDogRU5IOiBhZGQgbmV3IGNvbW1hbmRzIGZybwoJICBmaW5kIGxpYnJhcnkgYW5kIGZpbmQgcHJvZ3JhbQoKMjAwMS0wMi0xNSAxMzozMCAgbWFydGluawoKCSogQ01ha2VSdWxlcy5tYWtlLmluLCBDTWFrZVZhcmlhYmxlcy5tYWtlLmluLAoJICBTb3VyY2UvQ01ha2VCdWlsZFRhcmdldHMuY3h4LCBTb3VyY2UvQ01ha2VTZXR1cENNRC5jeHgsCgkgIFNvdXJjZS9jbUNsYXNzRmlsZS5jeHgsIFNvdXJjZS9jbUNsYXNzRmlsZS5oLAoJICBTb3VyY2UvY21Db25maWd1cmVGaWxlTm9BdXRvY29uZi5oLCBTb3VyY2UvY21EU1BNYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbURTUFdyaXRlci5jeHgsIFNvdXJjZS9jbURTV01ha2VmaWxlLmN4eCwKCSAgU291cmNlL2NtRFNXV3JpdGVyLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZS5oLCBTb3VyY2UvY21Qcm9qZWN0Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVByb2plY3RDb21tYW5kLmg6IHNvbWUgY2xlYW51cCBhbmQgZml4ZXMKCjIwMDEtMDItMTQgMTI6MjYgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VEZXBlbmQuY3h4OiBFTkg6IGZpeCBkZXBlbmQgc2VnZmF1bHQKCjIwMDEtMDItMTMgMTg6NDkgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtQ29uZmlndXJlRmlsZU5vQXV0b2NvbmYuY3h4LCBjbU1ha2VmaWxlLmN4eDogRU5IOiBuZXcKCSAgdm5sCgoyMDAxLTAyLTEzIDE2OjQ4ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oOiBFTkg6IGFkZCBjb25maWd1cmUgc3R5bGUKCSAgQHZhckAgZXhwYW5zaW9uCgoyMDAxLTAyLTEyIDE5OjQ5ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBDTWFrZUJ1aWxkVGFyZ2V0cy5jeHgsIE1ha2VmaWxlLmluLCBjbUNvbW1hbmRzLmN4eCwKCSAgY21Db25maWd1cmVGaWxlTm9BdXRvY29uZi5jeHgsIGNtQ29uZmlndXJlRmlsZU5vQXV0b2NvbmYuaCwKCSAgY21Db25maWd1cmVIZWFkZXJDb21tYW5kLmN4eCwgY21Db25maWd1cmVIZWFkZXJDb21tYW5kLmgsCgkgIGNtTWFrZWZpbGUuY3h4LCBjbU1ha2VmaWxlLmgsIGNtU3RhbmRhcmRJbmNsdWRlcy5oLAoJICBjbVN5c3RlbVRvb2xzLmN4eCwgY21Db21tYW5kcy5oOiBFTkg6IGdldCByaWQgb2Ygc3BlY2lhbCBtc2MKCSAgY29uZmlndXJlIGZpbGUKCjIwMDEtMDItMTIgMTQ6NDIgIGhvZmZtYW4KCgkqIFNvdXJjZS86IENNYWtlTGliLmRzcCwgQ01ha2VTZXR1cC5kc3csIENNYWtlU2V0dXBDTUQuZHNwOiBFTkg6CgkgIHNoYXJlIGEgLmxpYiB3aXRoIHRoZSBjb21tYW5kIGxpbmUgYW5kIG1mYyB2ZXJzaW9ucy4KCjIwMDEtMDItMTIgMTQ6MjYgIGhvZmZtYW4KCgkqIFNvdXJjZS86IENNYWtlTGliLmRzcCwgQ01ha2VTZXR1cC5kc3csIENNYWtlU2V0dXBDTUQuY3h4LAoJICBDTWFrZVNldHVwQ01ELmRzcCwgTWFrZWZpbGUuaW4sIGNtQ2FjaGVNYW5hZ2VyLmN4eCwKCSAgY21DYWNoZU1hbmFnZXIuaCwgY21Db21tYW5kcy5jeHgsIGNtQ29uZmlndXJlSGVhZGVyQ29tbWFuZC5jeHgsCgkgIGNtQ29uZmlndXJlSGVhZGVyQ29tbWFuZC5oLCBjbURTV01ha2VmaWxlLmN4eCwgY21EU1dXcml0ZXIuY3h4LAoJICBjbU1TUHJvamVjdEdlbmVyYXRvci5oOiBFTkg6IGFkZCBjYWNoZSBtYW5hZ2VyIGNsYXNzLCBtb3ZlIGFsbAoJICBjb21tYW5kcyBpbnRvIGNtQ29tbWFuZHMuY3h4IHRvIHNwZWVkIHVwIGNvbXBpbGUgdGltZXMsIHNoYXJlIGEKCSAgLmxpYiB3aXRoIHRoZSBjb21tYW5kIGxpbmUgYW5kIG1mYyB2ZXJzaW9ucy4KCjIwMDEtMDItMDYgMTc6MDEgIGhvZmZtYW4KCgkqIFNvdXJjZS9zdGF0aWNMaWJIZWFkZXIuZHNwdGVtcGxhdGU6IEVOSDogYWRkIC9HWCAvWm0xMDAwCgoyMDAxLTAyLTA2IDE2OjQ4ICBob2ZmbWFuCgoJKiBTb3VyY2Uvc3RhdGljTGliSGVhZGVyLmRzcHRlbXBsYXRlOiBFTkg6IG1pbiBzaXplIGJ1aWxkCgoyMDAxLTAyLTA2IDEwOjUyICBob2ZmbWFuCgoJKiBTb3VyY2Uvc3RhdGljTGliSGVhZGVyLmRzcHRlbXBsYXRlOiBFTkg6IHB1dCBiYWNrIC9abTEwMDAgc28gd2UKCSAgY2FuIGJ1aWxkIGxhcmdlIGZpbGVzCgoyMDAxLTAyLTA2IDA4OjU2ICBtaWxsZXJqdgoKCSogU291cmNlL3N0YXRpY0xpYkhlYWRlci5kc3B0ZW1wbGF0ZTogRklYOiByZW1vdmUgcHJlY29tcGlsZWQKCSAgaGVhZGVyIHNldHRpbmdzCgoyMDAxLTAyLTA2IDA4OjU0ICBtaWxsZXJqdgoKCSogU291cmNlL0VYRUhlYWRlci5kc3B0ZW1wbGF0ZTogRklYOiBhZGRlZCAvZm9yY2UgdG8gbGluayBvcHRpb25zCgkgIGFuZCByZW1vdmVkIHByZWNvbXBpbGVkIGhlYWRlciB1c2FnZQoKMjAwMS0wMS0yNSAxNTo0OCAgbWlsbGVyanYKCgkqIFNvdXJjZS86IEVYRUhlYWRlci5kc3B0ZW1wbGF0ZSwgc3RhdGljTGliSGVhZGVyLmRzcHRlbXBsYXRlOiBCVUc6CgkgIGJhY2tlZCBvZmYgb24gdGhlIGNvbXBpbGVyIG9wdGltaXphdGlvbiB1c2VkLiAgSW5zdGVhZCBvZiB1c2luZwoJICAvTzIsIHdlIG5vdyB1c2UgYWxsIHRoZSBjb21wb25lbnRzIG9mIC9PeCAoL09iMSAvT2kgL090IC9PeSAvR3MpCgkgIGV4Y2VwdCBmb3IgL09nCgoyMDAxLTAxLTIyIDEwOjAwICB3aWxsCgoJKiBTb3VyY2UvQ01ha2VTZXR1cENNRC5kc3A6IEJVRzogY29udmVydCB0byBkb3MgZm9ybWF0CgoyMDAxLTAxLTIyIDA5OjQ5ICB3aWxsCgoJKiBTb3VyY2UvOiBDTWFrZVNldHVwLmRzdywgQ01ha2VTZXR1cENNRC5kc3A6IEJVRzogbWFrZSBkc3AgYW5kIGRzdwoJICBmaWxlcyBiaW5hcnkKCjIwMDEtMDEtMTggMTM6NDMgIHdpbGwKCgkqIFJFQURNRTogRU5IOkNvbW1hbmRzIG5vdCBydWxlcwoKMjAwMS0wMS0xOCAxMjowNiAgd2lsbAoKCSogU291cmNlL01ha2VmaWxlLmluOiBFUlI6T29wcywgdXNlIFNpbXBsZVJ1bGUgbm90IFNpbXBsZUNvbW1hbmQKCjIwMDEtMDEtMTggMTE6NTEgIHdpbGwKCgkqIENNYWtlQ29tbWFuZHMubWFrZS5pbiwgQ01ha2VNYXN0ZXIubWFrZS5pbiwgQ01ha2VSdWxlcy5tYWtlLmluLAoJICBDTWFrZVNpbXBsZUNvbW1hbmRzLm1ha2UuaW4sIENNYWtlU2ltcGxlUnVsZXMubWFrZS5pbjogRVJSOk9vcHMsCgkgIHJlbmFtZWQgYmFjawoKMjAwMS0wMS0xOCAxMToyMCAgd2lsbAoKCSogQ01ha2VDb21tYW5kcy5tYWtlLmluLCBDTWFrZU1hc3Rlci5tYWtlLmluLCBDTWFrZVJ1bGVzLm1ha2UuaW4sCgkgIENNYWtlU2ltcGxlQ29tbWFuZHMubWFrZS5pbiwgQ01ha2VTaW1wbGVSdWxlcy5tYWtlLmluLAoJICBTb3VyY2UvQ01ha2VTZXR1cENNRC5kc3AsIFNvdXJjZS9NYWtlZmlsZS5pbiwKCSAgU291cmNlL2NtQWJzdHJhY3RGaWxlc0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21BYnN0cmFjdEZpbGVzQ29tbWFuZC5oLCBTb3VyY2UvY21BYnN0cmFjdEZpbGVzUnVsZS5jeHgsCgkgIFNvdXJjZS9jbUFic3RyYWN0RmlsZXNSdWxlLmgsIFNvdXJjZS9jbUFkZFRhcmdldENvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21BZGRUYXJnZXRDb21tYW5kLmgsIFNvdXJjZS9jbUFkZFRhcmdldFJ1bGUuY3h4LAoJICBTb3VyY2UvY21BZGRUYXJnZXRSdWxlLmgsIFNvdXJjZS9jbUF1eFNvdXJjZURpcmVjdG9yeUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21BdXhTb3VyY2VEaXJlY3RvcnlDb21tYW5kLmgsCgkgIFNvdXJjZS9jbUF1eFNvdXJjZURpcmVjdG9yeVJ1bGUuY3h4LAoJICBTb3VyY2UvY21BdXhTb3VyY2VEaXJlY3RvcnlSdWxlLmgsIFNvdXJjZS9jbUNvbW1hbmQuaCwKCSAgU291cmNlL2NtRHVtcERvY3VtZW50YXRpb24uY3h4LCBTb3VyY2UvY21FeGVjdXRhYmxlc0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21FeGVjdXRhYmxlc0NvbW1hbmQuaCwgU291cmNlL2NtRXhlY3V0YWJsZXNSdWxlLmN4eCwKCSAgU291cmNlL2NtRXhlY3V0YWJsZXNSdWxlLmgsIFNvdXJjZS9jbUZpbmRJbmNsdWRlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUZpbmRJbmNsdWRlQ29tbWFuZC5oLCBTb3VyY2UvY21GaW5kSW5jbHVkZVJ1bGUuY3h4LAoJICBTb3VyY2UvY21GaW5kSW5jbHVkZVJ1bGUuaCwgU291cmNlL2NtRmluZExpYnJhcnlDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtRmluZExpYnJhcnlDb21tYW5kLmgsIFNvdXJjZS9jbUZpbmRMaWJyYXJ5UnVsZS5jeHgsCgkgIFNvdXJjZS9jbUZpbmRMaWJyYXJ5UnVsZS5oLCBTb3VyY2UvY21GaW5kUHJvZ3JhbUNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21GaW5kUHJvZ3JhbUNvbW1hbmQuaCwgU291cmNlL2NtRmluZFByb2dyYW1SdWxlLmN4eCwKCSAgU291cmNlL2NtRmluZFByb2dyYW1SdWxlLmgsIFNvdXJjZS9jbUluY2x1ZGVEaXJlY3RvcnlDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtSW5jbHVkZURpcmVjdG9yeUNvbW1hbmQuaCwKCSAgU291cmNlL2NtSW5jbHVkZURpcmVjdG9yeVJ1bGUuY3h4LAoJICBTb3VyY2UvY21JbmNsdWRlRGlyZWN0b3J5UnVsZS5oLCBTb3VyY2UvY21MaWJyYXJ5Q29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUxpYnJhcnlDb21tYW5kLmgsIFNvdXJjZS9jbUxpYnJhcnlSdWxlLmN4eCwKCSAgU291cmNlL2NtTGlicmFyeVJ1bGUuaCwgU291cmNlL2NtTGlua0RpcmVjdG9yaWVzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbUxpbmtEaXJlY3Rvcmllc0NvbW1hbmQuaCwKCSAgU291cmNlL2NtTGlua0RpcmVjdG9yaWVzUnVsZS5jeHgsIFNvdXJjZS9jbUxpbmtEaXJlY3Rvcmllc1J1bGUuaCwKCSAgU291cmNlL2NtTGlua0xpYnJhcmllc0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21MaW5rTGlicmFyaWVzQ29tbWFuZC5oLCBTb3VyY2UvY21MaW5rTGlicmFyaWVzUnVsZS5jeHgsCgkgIFNvdXJjZS9jbUxpbmtMaWJyYXJpZXNSdWxlLmgsIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGUuaCwgU291cmNlL2NtTWFrZWZpbGVHZW5lcmF0b3IuaCwKCSAgU291cmNlL2NtUHJvamVjdENvbW1hbmQuY3h4LCBTb3VyY2UvY21Qcm9qZWN0Q29tbWFuZC5oLAoJICBTb3VyY2UvY21Qcm9qZWN0UnVsZS5jeHgsIFNvdXJjZS9jbVByb2plY3RSdWxlLmgsCgkgIFNvdXJjZS9jbVJ1bGVNYWtlci5oLCBTb3VyY2UvY21Tb3VyY2VGaWxlc0NvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21Tb3VyY2VGaWxlc0NvbW1hbmQuaCwKCSAgU291cmNlL2NtU291cmNlRmlsZXNSZXF1aXJlQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVNvdXJjZUZpbGVzUmVxdWlyZUNvbW1hbmQuaCwKCSAgU291cmNlL2NtU291cmNlRmlsZXNSZXF1aXJlUnVsZS5jeHgsCgkgIFNvdXJjZS9jbVNvdXJjZUZpbGVzUmVxdWlyZVJ1bGUuaCwgU291cmNlL2NtU291cmNlRmlsZXNSdWxlLmN4eCwKCSAgU291cmNlL2NtU291cmNlRmlsZXNSdWxlLmgsIFNvdXJjZS9jbVN1YmRpckNvbW1hbmQuY3h4LAoJICBTb3VyY2UvY21TdWJkaXJDb21tYW5kLmgsIFNvdXJjZS9jbVN1YmRpclJ1bGUuY3h4LAoJICBTb3VyY2UvY21TdWJkaXJSdWxlLmgsIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmgsCgkgIFNvdXJjZS9jbVRlc3RzQ29tbWFuZC5jeHgsIFNvdXJjZS9jbVRlc3RzQ29tbWFuZC5oLAoJICBTb3VyY2UvY21UZXN0c1J1bGUuY3h4LCBTb3VyY2UvY21UZXN0c1J1bGUuaCwKCSAgU291cmNlL2NtVW5peERlZmluZXNDb21tYW5kLmN4eCwgU291cmNlL2NtVW5peERlZmluZXNDb21tYW5kLmgsCgkgIFNvdXJjZS9jbVVuaXhEZWZpbmVzUnVsZS5jeHgsIFNvdXJjZS9jbVVuaXhEZWZpbmVzUnVsZS5oLAoJICBTb3VyY2UvY21Vbml4TGlicmFyaWVzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVVuaXhMaWJyYXJpZXNDb21tYW5kLmgsIFNvdXJjZS9jbVVuaXhMaWJyYXJpZXNSdWxlLmN4eCwKCSAgU291cmNlL2NtVW5peExpYnJhcmllc1J1bGUuaCwgU291cmNlL2NtV2luMzJEZWZpbmVzQ29tbWFuZC5jeHgsCgkgIFNvdXJjZS9jbVdpbjMyRGVmaW5lc0NvbW1hbmQuaCwgU291cmNlL2NtV2luMzJEZWZpbmVzUnVsZS5jeHgsCgkgIFNvdXJjZS9jbVdpbjMyRGVmaW5lc1J1bGUuaCwgU291cmNlL2NtV2luMzJMaWJyYXJpZXNDb21tYW5kLmN4eCwKCSAgU291cmNlL2NtV2luMzJMaWJyYXJpZXNDb21tYW5kLmgsCgkgIFNvdXJjZS9jbVdpbjMyTGlicmFyaWVzUnVsZS5jeHgsIFNvdXJjZS9jbVdpbjMyTGlicmFyaWVzUnVsZS5oOgoJICBFTkg6UmV3b3JrZWQgQ01ha2UgZm9yIGNvbnNpc3RlbmN5CgoyMDAxLTAxLTEyIDE0OjM1ICB3aWxsCgoJKiBSRUFETUUsIFNvdXJjZS9jbUFic3RyYWN0RmlsZXNSdWxlLmgsIFNvdXJjZS9jbUFkZFRhcmdldFJ1bGUuaCwKCSAgU291cmNlL2NtQXV4U291cmNlRGlyZWN0b3J5UnVsZS5oLCBTb3VyY2UvY21FeGVjdXRhYmxlc1J1bGUuaCwKCSAgU291cmNlL2NtRmluZEluY2x1ZGVSdWxlLmgsIFNvdXJjZS9jbUZpbmRMaWJyYXJ5UnVsZS5oLAoJICBTb3VyY2UvY21GaW5kUHJvZ3JhbVJ1bGUuaCwgU291cmNlL2NtSW5jbHVkZURpcmVjdG9yeVJ1bGUuaCwKCSAgU291cmNlL2NtTGlicmFyeVJ1bGUuaCwgU291cmNlL2NtTGlua0RpcmVjdG9yaWVzUnVsZS5oLAoJICBTb3VyY2UvY21MaW5rTGlicmFyaWVzUnVsZS5oLCBTb3VyY2UvY21NYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbVByb2plY3RSdWxlLmgsIFNvdXJjZS9jbVJ1bGVNYWtlci5oLAoJICBTb3VyY2UvY21Tb3VyY2VGaWxlc1JlcXVpcmVSdWxlLmgsIFNvdXJjZS9jbVNvdXJjZUZpbGVzUnVsZS5oLAoJICBTb3VyY2UvY21TdWJkaXJSdWxlLmgsIFNvdXJjZS9jbVRlc3RzUnVsZS5oLAoJICBTb3VyY2UvY21Vbml4RGVmaW5lc1J1bGUuaCwgU291cmNlL2NtVW5peExpYnJhcmllc1J1bGUuaCwKCSAgU291cmNlL2NtV2luMzJEZWZpbmVzUnVsZS5oLCBTb3VyY2UvY21XaW4zMkxpYnJhcmllc1J1bGUuaDoKCSAgRU5IOlR3ZWFrcyB0byBkdW1wIGRvY3VtZW50YXRpb24KCjIwMDEtMDEtMTIgMTQ6MDUgIGhvZmZtYW4KCgkqIFNvdXJjZS86IGNtRFNQTWFrZWZpbGUuY3h4LCBjbURTUFdyaXRlci5jeHg6IEVOSDogYWRkIGRlZmluZQoJICBmbGFncyBpbiB0aGUgcmlnaHQgcGxhY2UKCjIwMDEtMDEtMTIgMTM6NDggIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eDogQlVHOiBhZGQgY2hlY2sgZm9yIG1pc3NpbmcgKSBvbgoJICBmdW5jdGlvbgoKMjAwMS0wMS0xMiAxMzowNyAgd2lsbAoKCSogUkVBRE1FLCBTb3VyY2UvY21BdXhTb3VyY2VEaXJlY3RvcnlSdWxlLmgsCgkgIFNvdXJjZS9jbUluY2x1ZGVEaXJlY3RvcnlSdWxlLmgsIFNvdXJjZS9jbUxpbmtMaWJyYXJpZXNSdWxlLmgsCgkgIFNvdXJjZS9jbVByb2plY3RSdWxlLmgsIFNvdXJjZS9jbVNvdXJjZUZpbGVzUmVxdWlyZVJ1bGUuaCwKCSAgU291cmNlL2NtU3ViZGlyUnVsZS5oLCBTb3VyY2UvY21Vbml4RGVmaW5lc1J1bGUuaCwKCSAgU291cmNlL2NtV2luMzJEZWZpbmVzUnVsZS5oOiBFTkg6VHdlYWtzIHRvIGR1bXAgZG9jdW1lbnRhdGlvbgoKMjAwMS0wMS0xMiAxMjo0OSAgd2lsbAoKCSogU291cmNlLzogY21BZGRUYXJnZXRSdWxlLmgsIGNtTWFrZWZpbGUuY3h4OiBFTkg6VHdlYWtzIHRvCgkgIGRvY3VtZW50YXRpb24KCjIwMDEtMDEtMTIgMTI6NDkgIHdpbGwKCgkqIFJFQURNRTogRU5IOlVwZGF0ZWQgZm9yIHJ1bGUtYmFzZWQgQ01ha2UKCjIwMDEtMDEtMTIgMTI6NDIgIHdpbGwKCgkqIFNvdXJjZS86IGNtRHVtcERvY3VtZW50YXRpb24uY3h4LCBjbU1ha2VmaWxlLmN4eCwgY21NYWtlZmlsZS5oOgoJICBFTkg6U2ltcGxlIHByb2dyYW0gZHVtcHMgb3V0IGludGVybmFsIGRvY3VtZW50YXRpb24gZm9yIENNYWtlCgoyMDAxLTAxLTEyIDA3OjQzICB3aWxsCgoJKiBSRUFETUU6IFJFQURNRQoKMjAwMS0wMS0xMSAxNjoxOSAgd2lsbAoKCSogZG94eWdlbi5jb25maWc6IEVOSDpEb3h5Z2VuYXRlZCBDTWFrZQoKMjAwMS0wMS0xMSAxNDo1NSAgd2lsbAoKCSogU291cmNlLzogQ01ha2VCdWlsZFRhcmdldHMuY3h4LCBDTWFrZVNldHVwQ01ELmN4eCwKCSAgY21BYnN0cmFjdEZpbGVzUnVsZS5jeHgsIGNtQ2xhc3NGaWxlLmN4eCwgY21EU1BNYWtlZmlsZS5jeHgsCgkgIGNtRFNQV3JpdGVyLmN4eCwgY21EU1dNYWtlZmlsZS5jeHgsIGNtRFNXV3JpdGVyLmN4eCwKCSAgY21FeGVjdXRhYmxlc1J1bGUuY3h4LCBjbUZpbmRJbmNsdWRlUnVsZS5jeHgsCgkgIGNtRmluZExpYnJhcnlSdWxlLmN4eCwgY21GaW5kUHJvZ3JhbVJ1bGUuY3h4LAoJICBjbUluY2x1ZGVEaXJlY3RvcnlSdWxlLmN4eCwgY21MaWJyYXJ5UnVsZS5jeHgsCgkgIGNtTGlua0RpcmVjdG9yaWVzUnVsZS5jeHgsIGNtTGlua0xpYnJhcmllc1J1bGUuY3h4LAoJICBjbU1TUHJvamVjdEdlbmVyYXRvci5jeHgsIGNtTWFrZURlcGVuZC5jeHgsIGNtTWFrZWZpbGUuY3h4LAoJICBjbU1ha2VmaWxlR2VuZXJhdG9yLmN4eCwgY21Qcm9qZWN0UnVsZS5jeHgsCgkgIGNtU291cmNlRmlsZXNSZXF1aXJlUnVsZS5jeHgsIGNtU291cmNlRmlsZXNSdWxlLmN4eCwKCSAgY21TdWJkaXJSdWxlLmN4eCwgY21TeXN0ZW1Ub29scy5jeHgsIGNtVGVzdHNSdWxlLmN4eCwKCSAgY21Vbml4RGVmaW5lc1J1bGUuY3h4LCBjbVVuaXhMaWJyYXJpZXNSdWxlLmN4eCwKCSAgY21XaW4zMkRlZmluZXNSdWxlLmN4eCwgY21XaW4zMkxpYnJhcmllc1J1bGUuY3h4OgoJICBFTkg6RG9jdW1lbnRhdGlvbiBhbmQgY2xlYW51cHMKCjIwMDEtMDEtMTEgMTQ6NDcgIHdpbGwKCgkqIFNvdXJjZS86IENNYWtlU2V0dXBDTUQuY3h4LCBjbUFkZFRhcmdldFJ1bGUuY3h4LAoJICBjbUF1eFNvdXJjZURpcmVjdG9yeVJ1bGUuY3h4LCBjbUNsYXNzRmlsZS5oLCBjbURTV01ha2VmaWxlLmN4eCwKCSAgY21EU1dNYWtlZmlsZS5oLCBjbURTV1dyaXRlci5jeHgsIGNtRFNXV3JpdGVyLmgsIGNtRGlyZWN0b3J5LmgsCgkgIGNtRmluZFByb2dyYW1SdWxlLmgsIGNtTVNQcm9qZWN0R2VuZXJhdG9yLmN4eCwKCSAgY21NU1Byb2plY3RHZW5lcmF0b3IuaCwgY21NYWtlRGVwZW5kLmgsIGNtTWFrZWZpbGUuaCwKCSAgY21NYWtlZmlsZUdlbmVyYXRvci5oLCBjbVJlZ3VsYXJFeHByZXNzaW9uLmN4eCwKCSAgY21SZWd1bGFyRXhwcmVzc2lvbi5oLCBjbVN0YW5kYXJkSW5jbHVkZXMuaCwgY21TeXN0ZW1Ub29scy5jeHgsCgkgIGNtU3lzdGVtVG9vbHMuaCwgY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4LAoJICBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5oLCBjbVdpbmRvd3NDb25maWd1cmUuY3h4LAoJICBjbVdpbmRvd3NDb25maWd1cmUuaDogRU5IOkRvY3VtZW50YXRpb24gYW5kIGNsZWFudXBzCgoyMDAxLTAxLTExIDExOjM1ICBibGV6ZWsKCgkqIFNvdXJjZS86IGNtV2luMzJEZWZpbmVzUnVsZS5jeHgsIGNtV2luMzJMaWJyYXJpZXNSdWxlLmN4eDogQlVHOgoJICBCcm9rZW4gb24gbm9uIFdJTjMyIHBsYXRmb3JtcywgY2hhbmdlZCBTZXRFbmFibGVPZmYgdG8gRW5hYmxlZE9mZgoKMjAwMS0wMS0xMSAwODowNCAgd2lsbAoKCSogU291cmNlLzogY21GaW5kSW5jbHVkZVJ1bGUuaCwgY21GaW5kTGlicmFyeVJ1bGUuaCwKCSAgY21GaW5kUHJvZ3JhbVJ1bGUuaCwgY21JbmNsdWRlRGlyZWN0b3J5UnVsZS5oLCBjbUxpYnJhcnlSdWxlLmgsCgkgIGNtTGlua0RpcmVjdG9yaWVzUnVsZS5oLCBjbUxpbmtMaWJyYXJpZXNSdWxlLmgsIGNtUHJvamVjdFJ1bGUuaCwKCSAgY21Tb3VyY2VGaWxlc1JlcXVpcmVSdWxlLmgsIGNtU291cmNlRmlsZXNSdWxlLmgsIGNtU3ViZGlyUnVsZS5oLAoJICBjbVRlc3RzUnVsZS5oLCBjbVVuaXhEZWZpbmVzUnVsZS5oLCBjbVVuaXhMaWJyYXJpZXNSdWxlLmgsCgkgIGNtV2luMzJEZWZpbmVzUnVsZS5oLCBjbVdpbjMyTGlicmFyaWVzUnVsZS5oOiBFTkg6QWRkZWQKCSAgZG9jdW1lbnRhdGlvbjsgY2xlYW4tdXAKCjIwMDEtMDEtMTAgMTc6MjkgIHdpbGwKCgkqIFNvdXJjZS86IGNtRXhlY3V0YWJsZXNSdWxlLmgsIGNtRmluZEluY2x1ZGVSdWxlLmg6IEVOSDpCZWdpbm5pbmcKCSAgY2xlYW4gdXA7IGFkZGluZyBkb2N1bWVudGF0aW9uCgoyMDAxLTAxLTEwIDE3OjEzICB3aWxsCgoJKiBTb3VyY2UvY21BdXhTb3VyY2VEaXJlY3RvcnlSdWxlLmg6IEVOSDpCZWdpbm5pbmcgY2xlYW4gdXA7IGFkZGluZwoJICBkb2N1bWVudGF0aW9uCgoyMDAxLTAxLTEwIDE3OjA1ICB3aWxsCgoJKiBTb3VyY2UvOiBjbUFic3RyYWN0RmlsZXNSdWxlLmgsIGNtQWRkVGFyZ2V0UnVsZS5oLAoJICBjbUF1eFNvdXJjZURpcmVjdG9yeVJ1bGUuaCwgY21EU1BNYWtlZmlsZS5oLCBjbURTUFdyaXRlci5oLAoJICBjbUV4ZWN1dGFibGVzUnVsZS5oLCBjbUZpbmRJbmNsdWRlUnVsZS5oLCBjbUZpbmRMaWJyYXJ5UnVsZS5oLAoJICBjbUZpbmRQcm9ncmFtUnVsZS5oLCBjbUluY2x1ZGVEaXJlY3RvcnlSdWxlLmgsIGNtTGlicmFyeVJ1bGUuaCwKCSAgY21MaW5rRGlyZWN0b3JpZXNSdWxlLmgsIGNtTGlua0xpYnJhcmllc1J1bGUuaCwgY21Qcm9qZWN0UnVsZS5oLAoJICBjbVJ1bGVNYWtlci5oLCBjbVNvdXJjZUZpbGVzUmVxdWlyZVJ1bGUuaCwgY21Tb3VyY2VGaWxlc1J1bGUuaCwKCSAgY21TdWJkaXJSdWxlLmgsIGNtVGVzdHNSdWxlLmgsIGNtVW5peERlZmluZXNSdWxlLmN4eCwKCSAgY21Vbml4RGVmaW5lc1J1bGUuaCwgY21Vbml4TGlicmFyaWVzUnVsZS5jeHgsCgkgIGNtVW5peExpYnJhcmllc1J1bGUuaCwgY21XaW4zMkRlZmluZXNSdWxlLmgsCgkgIGNtV2luMzJMaWJyYXJpZXNSdWxlLmg6IEVOSDpCZWdpbm5pbmcgY2xlYW4gdXA7IGFkZGluZwoJICBkb2N1bWVudGF0aW9uCgoyMDAxLTAxLTA5IDE1OjEzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21Vbml4TWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IGxvb2sgZm9yIC1sIGFuZCAtTCBvbmx5CgkgIGF0IHRoZSBiZWdpbmluZyBvZiBhIGxpbmsgc3RyaW5nCgoyMDAxLTAxLTA1IDEzOjUyICBibGV6ZWsKCgkqIFNvdXJjZS86IENNYWtlQnVpbGRUYXJnZXRzLmN4eCwgQ01ha2VTZXR1cENNRC5jeHg6IEJVRzogbWFpbiBjYW4KCSAgbm90IGJlIHZvaWQgdW5kZXIgQU5TSSBDKysKCjIwMDEtMDEtMDUgMTM6NDkgIGJsZXplawoKCSogU291cmNlL2NtTWFrZWZpbGVHZW5lcmF0b3IuY3h4OiBCVUc6IExvb2tpbmcgZm9yCgkgIGNtTWFrZUZpbGVHZW5lcmF0b3IuaCByYXRoZXIgdGhhbiBjbU1ha2VmaWxlR2VuZXJhdG9yLmgKCjIwMDEtMDEtMDUgMTE6NDEgIGhvZmZtYW4KCgkqIFNvdXJjZS86IENNYWtlQnVpbGRUYXJnZXRzLmN4eCwgQ01ha2VTZXR1cENNRC5jeHgsCgkgIENNYWtlU2V0dXBDTUQuZHNwLCBNYWtlZmlsZS5pbiwgY21BYnN0cmFjdEZpbGVzUnVsZS5jeHgsCgkgIGNtQWJzdHJhY3RGaWxlc1J1bGUuaCwgY21BZGRUYXJnZXRSdWxlLmN4eCwgY21BZGRUYXJnZXRSdWxlLmgsCgkgIGNtQXV4U291cmNlRGlyZWN0b3J5UnVsZS5jeHgsIGNtQXV4U291cmNlRGlyZWN0b3J5UnVsZS5oLAoJICBjbUNsYXNzRmlsZS5jeHgsIGNtQ2xhc3NGaWxlLmgsIGNtQ29sbGVjdEZsYWdzLmN4eCwKCSAgY21Db2xsZWN0RmxhZ3MuaCwgY21EU1BNYWtlZmlsZS5jeHgsIGNtRFNQTWFrZWZpbGUuaCwKCSAgY21EU1BXcml0ZXIuY3h4LCBjbURTUFdyaXRlci5oLCBjbURTV01ha2VmaWxlLmN4eCwKCSAgY21EU1dXcml0ZXIuY3h4LCBjbURTV01ha2VmaWxlLmgsIGNtRFNXV3JpdGVyLmgsIGNtRGlyZWN0b3J5LmN4eCwKCSAgY21EaXJlY3RvcnkuaCwgY21FeGVjdXRhYmxlc1J1bGUuY3h4LCBjbUV4ZWN1dGFibGVzUnVsZS5oLAoJICBjbUZpbmRJbmNsdWRlUnVsZS5jeHgsIGNtRmluZEluY2x1ZGVSdWxlLmgsCgkgIGNtRmluZExpYnJhcnlSdWxlLmN4eCwgY21GaW5kTGlicmFyeVJ1bGUuaCwKCSAgY21GaW5kUHJvZ3JhbVJ1bGUuY3h4LCBjbUZpbmRQcm9ncmFtUnVsZS5oLAoJICBjbUluY2x1ZGVEaXJlY3RvcnlSdWxlLmN4eCwgY21JbmNsdWRlRGlyZWN0b3J5UnVsZS5oLAoJICBjbUxpYnJhcnlSdWxlLmN4eCwgY21MaWJyYXJ5UnVsZS5oLCBjbUxpbmtEaXJlY3Rvcmllc1J1bGUuY3h4LAoJICBjbUxpbmtEaXJlY3Rvcmllc1J1bGUuaCwgY21MaW5rTGlicmFyaWVzUnVsZS5jeHgsCgkgIGNtTGlua0xpYnJhcmllc1J1bGUuaCwgY21NU1Byb2plY3RHZW5lcmF0b3IuY3h4LAoJICBjbU1TUHJvamVjdEdlbmVyYXRvci5oLCBjbU1ha2VEZXBlbmQuY3h4LCBjbU1ha2VEZXBlbmQuaCwKCSAgY21NYWtlZmlsZS5jeHgsIGNtTWFrZWZpbGUuaCwgY21NYWtlZmlsZUdlbmVyYXRvci5jeHgsCgkgIGNtTWFrZWZpbGVHZW5lcmF0b3IuaCwgY21Qcm9qZWN0UnVsZS5jeHgsIGNtUHJvamVjdFJ1bGUuaCwKCSAgY21SZWd1bGFyRXhwcmVzc2lvbi5jeHgsIGNtUmVndWxhckV4cHJlc3Npb24uaCwgY21SdWxlTWFrZXIuaCwKCSAgY21Tb3VyY2VGaWxlc1JlcXVpcmVSdWxlLmN4eCwgY21Tb3VyY2VGaWxlc1JlcXVpcmVSdWxlLmgsCgkgIGNtU291cmNlRmlsZXNSdWxlLmN4eCwgY21Tb3VyY2VGaWxlc1J1bGUuaCwgY21TdGFuZGFyZEluY2x1ZGVzLmgsCgkgIGNtU3ViZGlyUnVsZS5jeHgsIGNtU3ViZGlyUnVsZS5oLCBjbVN5c3RlbVRvb2xzLmN4eCwKCSAgY21TeXN0ZW1Ub29scy5oLCBjbVRlc3RzUnVsZS5jeHgsIGNtVGVzdHNSdWxlLmgsCgkgIGNtVW5peERlZmluZXNSdWxlLmN4eCwgY21Vbml4RGVmaW5lc1J1bGUuaCwKCSAgY21Vbml4TGlicmFyaWVzUnVsZS5jeHgsIGNtVW5peExpYnJhcmllc1J1bGUuaCwKCSAgY21Vbml4TWFrZWZpbGUuY3h4LCBjbVVuaXhNYWtlZmlsZS5oLAoJICBjbVVuaXhNYWtlZmlsZUdlbmVyYXRvci5jeHgsIGNtVW5peE1ha2VmaWxlR2VuZXJhdG9yLmgsCgkgIGNtV2luMzJEZWZpbmVzUnVsZS5jeHgsIGNtV2luMzJEZWZpbmVzUnVsZS5oLAoJICBjbVdpbjMyTGlicmFyaWVzUnVsZS5jeHgsIGNtV2luMzJMaWJyYXJpZXNSdWxlLmgsCgkgIGNtV2luZG93c0NvbmZpZ3VyZS5jeHgsIGNtV2luZG93c0NvbmZpZ3VyZS5oOiBFTkg6IHJld29yayBjbWFrZSwKCSAgYWRkZWQgcnVsZU1ha2VyIGNsYXNzZXMgYW5kIGNoYW5nZWQgdGhlIHN5bnRheCBvZiB0aGUKCSAgQ01ha2VMaXN0cy50eHQgZmlsZXMuCgoyMDAwLTEyLTA3IDE1OjQ1ICBibGV6ZWsKCgkqIFNvdXJjZS9jbU1ha2VmaWxlLmN4eDogRU5IOiBBZGRlZCBURVNUUyB0YXJnZXQKCjIwMDAtMTEtMjIgMTE6MDIgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbU1ha2VEZXBlbmQuY3h4OiBCVUc6IHJlbW92ZSBib2d1cyB3YXJuaW5nIGFib3V0IG5vdAoJICBmaW5kaW5nIGEgZGVwZW5kIGZpbGUsIGlmIHRoZXJlIGFyZSBubyBpbmNsdWRlIHBhdGhzCgoyMDAwLTExLTA5IDEwOjQxICB3aWxsCgoJKiBSRUFETUUsIFNvdXJjZS9jbUNvbGxlY3RGbGFncy5jeHgsIFNvdXJjZS9jbUNvbGxlY3RGbGFncy5oLAoJICBTb3VyY2UvY21XaW5kb3dzQ29uZmlndXJlLmN4eDogRU5IOkNoYW5nZWQgQ01BS0VfU09VUkNFX1JPT1QgdG8KCSAgQ01BS0VfU09VUkNFX0RJUgoKMjAwMC0xMS0wMyAxNjozOCAgaG9mZm1hbgoKCSogUkVBRE1FOiBbbm8gbG9nIG1lc3NhZ2VdCgoyMDAwLTExLTAyIDExOjEzICBob2ZmbWFuCgoJKiBTb3VyY2UvY21NYWtlZmlsZS5jeHg6IEJVRzogbWFrZSBzdXJlIFNPVVJDRV9GSUxFUyBzdGFydHMgYXQgdGhlCgkgIGJlZ2luaW5nIG9mIGxpbmUKCjIwMDAtMTEtMDIgMTA6NTYgIGJsZXplawoKCSogQ01ha2VWYXJpYWJsZXMubWFrZS5pbjogRU5IOiBNb3ZlZCBASkFWQUAgdG8gQEpBVkFDT01NQU5EQAoKMjAwMC0xMS0wMiAxMDoyNCAgd2lsbAoKCSogUkVBRE1FLCBTb3VyY2UvY21DbGFzc0ZpbGUuY3h4LCBTb3VyY2UvY21NYWtlZmlsZS5jeHg6CgkgIEVOSDpSZXdvcmtlZCBDTWFrZSB0byBjbGVhcmVyIGluZGljYXRlIHdoYXQgdGhlIHZhcmlhYmxlcyBkbwoKMjAwMC0xMC0yNSAxNzoxOCAgaG9mZm1hbgoKCSogU291cmNlLzogY21TeXN0ZW1Ub29scy5jeHg6IEJVRzogcmVtb3ZlIHRhYnMgZnJvbSBjbGFzc25hbWVzCgoyMDAwLTEwLTA0IDA5OjU4ICBsb3JlbnNlbgoKCSogQ01ha2VWYXJpYWJsZXMubWFrZS5pbjogRW5oOiBBZGRlZCBUQ0xTSAoKMjAwMC0xMC0wMiAxNDoyMSAgYmxlemVrCgoJKiBTb3VyY2UvQ01ha2VCdWlsZFRhcmdldHMuY3h4OiBCVUc6IGlmIHRoZSBwYXRoIHRvIHlvdXIgc291cmNlCgkgIGRpcmVjdG9yeSBoYXMgYSAtUyBpbiBpdCwgaXQgd2lsbCBiZSBwaWNrZWQgdXAgYXMgdGhlIHNvdXJjZQoJICBkaXJlY3RvcnkgYnkgdGhlIGNvbW1hbmQgbGluZSBwYXJzZXIsIGJlY2F1c2UgaXQgbWF0Y2hlcyAtUyBhdAoJICBhbnkgY2hhcmFjdGVyIHBvc2l0aW9uIGluIHRoZSBhcmdlbWVudHMuICBCYWQsIHNob3VsZCBoYXZlIHVzZWQKCSAgZ2V0b3B0LCBleGNlcHQgdGhhdCBpdCBpcyBub3QgY3Jvc3MgcGxhdGZvcm0uCgoyMDAwLTEwLTAyIDEzOjUwICBibGV6ZWsKCgkqIENNYWtlVmFyaWFibGVzLm1ha2UuaW46IEVOSDogU3VwcG9ydCBmb3IgWE1MIGJ1aWxkcyBhbmQgRGFzaGJvYXJkCgoyMDAwLTA5LTI4IDEyOjQzICBibGV6ZWsKCgkqIFJFQURNRTogRU5IOiBBZGRlZCBub3RlIGFib3V0IFZFUkJBVElNIHRhcmdldHMgaW4gQ01ha2VMaXN0LnR4dAoKMjAwMC0wOS0yNyAxNTowMSAgaG9mZm1hbgoKCSogQ01ha2VNYXN0ZXIubWFrZS5pbiwgQ01ha2VSdWxlcy5tYWtlLmluLCBDTWFrZVZhcmlhYmxlcy5tYWtlLmluLAoJICBSRUFETUUsIFNvdXJjZS9jbURTV01ha2VmaWxlLmN4eCwgU291cmNlL2NtRFNXTWFrZWZpbGUuaCwKCSAgU291cmNlL2NtRFNXV3JpdGVyLmN4eCwgU291cmNlL2NtRFNXV3JpdGVyLmgsCgkgIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuaCwKCSAgU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4LCBTb3VyY2UvY21TeXN0ZW1Ub29scy5oLAoJICBTb3VyY2UvY21Vbml4TWFrZWZpbGUuY3h4LCBTb3VyY2UvY21Vbml4TWFrZWZpbGUuaDogRU5IOiBjaGFuZ2UKCSAgTUUgdG8gTElCUkFSWSBhbmQgYWRkZWQgUFJPSkVDVCwgYWxzbyByZW1vdmUgSVRLIHN0dWZmIGFuZAoJICByZXBsYWNlZCB3aXRoIENNYWtlCgoyMDAwLTA5LTIxIDEzOjQ1ICBob2ZmbWFuCgoJKiBSRUFETUUsIFNvdXJjZS9DTWFrZUJ1aWxkVGFyZ2V0cy5jeHgsIFNvdXJjZS9DTWFrZVNldHVwQ01ELmN4eCwKCSAgU291cmNlL2NtQ29sbGVjdEZsYWdzLmN4eCwgU291cmNlL2NtQ29sbGVjdEZsYWdzLmgsCgkgIFNvdXJjZS9jbURTUE1ha2VmaWxlLmN4eCwgU291cmNlL2NtRFNQV3JpdGVyLmN4eCwKCSAgU291cmNlL2NtRFNXTWFrZWZpbGUuY3h4LCBTb3VyY2UvY21EU1dXcml0ZXIuY3h4LAoJICBTb3VyY2UvY21NYWtlRGVwZW5kLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZS5oLCBTb3VyY2UvY21Vbml4TWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvaXRrVkM2MENvbmZpZ3VyZS5jeHgsIFNvdXJjZS9pdGtWQzYwQ29uZmlndXJlLmg6IEVOSDoKCSAgY2xlYW4gdXAgY29kZSwgYW5kIHZhcmlibGUgbmFtZXMKCjIwMDAtMDktMTggMTA6MTkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbVVuaXhNYWtlZmlsZS5jeHg6IEJVRzogcmVtb3ZlIGNvdXQKCjIwMDAtMDktMTggMDk6MTkgIGhvZmZtYW4KCgkqIENNYWtlUnVsZXMubWFrZS5pbiwgQ01ha2VWYXJpYWJsZXMubWFrZS5pbiwgUkVBRE1FLAoJICBTb3VyY2UvY21EU1BNYWtlZmlsZS5jeHgsIFNvdXJjZS9jbURTUFdyaXRlci5jeHgsCgkgIFNvdXJjZS9jbU1ha2VEZXBlbmQuY3h4LCBTb3VyY2UvY21Vbml4TWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21XaW5kb3dzQ29uZmlndXJlLmN4eCwgU291cmNlL2NtV2luZG93c0NvbmZpZ3VyZS5oOiBFTkg6CgkgIGFkZGVkIGEgY29uZmlnIHNldHVwIGZpbGUgZm9yIENNYWtlU2V0dXAuICAgQ2xlYW5lZCB1cCB0aGUgbmFtZXMKCSAgb2YgdGhlIHNvdXJjZSBhbmQgYmluYXJ5IGRpcmVjdG9yaWVzCgoyMDAwLTA5LTE4IDA3OjI3ICBob2ZmbWFuCgoJKiBTb3VyY2UvQ01ha2VTZXR1cENNRC5kc3A6IEVOSDogcmVtb3ZlIHVudXNlZCBmaWxlcwoKMjAwMC0wOS0xMiAwNjo0NCAgaG9mZm1hbgoKCSogQ01ha2VSdWxlcy5tYWtlLmluLCBDTWFrZVZhcmlhYmxlcy5tYWtlLmluOiBCVUc6IGZpeCBidWlsZCBpbgoJICBwbGFjZSBzb3VyY2UgZGlyZWN0b3J5CgoyMDAwLTA5LTEyIDA1OjM3ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBjbUNvbGxlY3RGbGFncy5jeHgsIGNtQ29sbGVjdEZsYWdzLmg6IE5FVzogY2xhc3MgdG8KCSAgY29sbGVjdCBhbGwgdGhlIGZsYWdzIGZyb20gcGFyZW50IGRpcmVjdG9yaWVzCgoyMDAwLTA5LTEyIDA1OjMwICBob2ZmbWFuCgoJKiBDTWFrZU1hc3Rlci5tYWtlLmluLCBDTWFrZVJ1bGVzLm1ha2UuaW4sIENNYWtlVGFyZ2V0cy5tYWtlLmluLAoJICBDTWFrZVZhcmlhYmxlcy5tYWtlLmluLCBNYWtlZmlsZVRlbXBsYXRlLmluLCBSRUFETUUsCgkgIFNvdXJjZS9DTWFrZUJ1aWxkVGFyZ2V0cy5jeHgsIFNvdXJjZS9DTWFrZVNldHVwLmN4eCwKCSAgU291cmNlL0NNYWtlU2V0dXAuZHN3LCBTb3VyY2UvQ01ha2VTZXR1cENNRC5jeHgsCgkgIFNvdXJjZS9DTWFrZVNldHVwQ01ELmRzcCwgU291cmNlL01ha2VmaWxlLmluLAoJICBTb3VyY2UvY21DbGFzc0ZpbGUuY3h4LCBTb3VyY2UvY21DbGFzc0ZpbGUuaCwKCSAgU291cmNlL2NtRFNQQnVpbGRlci5jeHgsIFNvdXJjZS9jbURTUEJ1aWxkZXIuaCwKCSAgU291cmNlL2NtRFNQTWFrZWZpbGUuY3h4LCBTb3VyY2UvY21EU1BXcml0ZXIuY3h4LAoJICBTb3VyY2UvY21EU1dCdWlsZGVyLmN4eCwgU291cmNlL2NtRFNXQnVpbGRlci5oLAoJICBTb3VyY2UvY21EU1dNYWtlZmlsZS5jeHgsIFNvdXJjZS9jbURTV01ha2VmaWxlLmgsCgkgIFNvdXJjZS9jbURTV1dyaXRlci5jeHgsIFNvdXJjZS9jbURTV1dyaXRlci5oLAoJICBTb3VyY2UvY21NYWtlRGVwZW5kLmN4eCwgU291cmNlL2NtTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21NYWtlZmlsZS5oLCBTb3VyY2UvY21QQ0J1aWxkZXIuY3h4LAoJICBTb3VyY2UvY21QQ0J1aWxkZXIuaCwgU291cmNlL2NtU3lzdGVtVG9vbHMuY3h4LAoJICBTb3VyY2UvY21TeXN0ZW1Ub29scy5oLCBTb3VyY2UvY21Vbml4TWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21Vbml4TWFrZWZpbGUuaCwgU291cmNlL2NtV2luZG93c0NvbmZpZ3VyZS5oLAoJICBTb3VyY2UvaXRrVkM2MENvbmZpZ3VyZS5oOiBFTkg6IENNYWtlIGFuZCBjb25maWd1cmUgbm93IHVzZQoJICBTVUJESVJTIGluIENNYWtlTGlzdHMudHh0IHRvIGZpbmQgYWxsIHRoZSBkaXJlY3RvcmllcyBvZiB0aGUKCSAgc3lzdGVtLgoKMjAwMC0wOS0wMSAxMDo0MyAgaG9mZm1hbgoKCSogU291cmNlLzogRVhFSGVhZGVyLmRzcHRlbXBsYXRlLCBjbVN5c3RlbVRvb2xzLmN4eDogQlVHOiBmaXgKCSAgcmVsZWFzZSBidWlsZCBvbiB3aW5kb3dzCgoyMDAwLTA4LTMxIDE0OjI2ICBob2ZmbWFuCgoJKiBDTWFrZVZhcmlhYmxlcy5tYWtlLmluLCBTb3VyY2UvY21Vbml4TWFrZWZpbGUuY3h4OiBCVUc6IGZpeCBidWlsZAoJICBvZiBsaWIuYSBwcm9ibGVtCgoyMDAwLTA4LTMxIDE0OjE1ICBob2ZmbWFuCgoJKiBTb3VyY2UvOiBDTWFrZVNldHVwLmRzdywgY21EU1BNYWtlZmlsZS5jeHgsIGNtRFNQV3JpdGVyLmN4eDogQlVHOgoJICBmaXggbmFtZSBvZiBjb21tYW5kIGxpbmUgdmVyc2lvbiBpbiBkc3AgZmlsZXMKCjIwMDAtMDgtMzEgMTM6NTQgIGhvZmZtYW4KCgkqIENNYWtlU2ltcGxlUnVsZXMubWFrZSwgQ01ha2VTaW1wbGVSdWxlcy5tYWtlLmluOiBCVUc6IGZpeCBmb3Igb3V0CgkgIG9mIHNvdXJjZSBidWlsZAoKMjAwMC0wOC0zMSAxMzo1MiAgaG9mZm1hbgoKCSogQ01ha2VTaW1wbGVSdWxlcy5tYWtlOiBFTkg6IGZpeCBmb3IgU2dpIG1ha2UKCjIwMDAtMDgtMzEgMDk6MzYgIGhvZmZtYW4KCgkqIENNYWtlUnVsZXMubWFrZS5pbiwgU291cmNlL01ha2VmaWxlLmluLAoJICBTb3VyY2UvY21Vbml4TWFrZWZpbGUuY3h4OiBFTkg6IGZpeCBmb3IgU0dJIG1ha2UKCjIwMDAtMDgtMzEgMDY6MzYgIGhvZmZtYW4KCgkqIENNYWtlVmFyaWFibGVzLm1ha2UuaW4sIFJFQURNRTogRU5IOiBjbGVhbiB0aGluZ3MgdXAgYSBiaXQKCjIwMDAtMDgtMzAgMTM6NTkgIGhvZmZtYW4KCgkqIFNvdXJjZS9jbURpcmVjdG9yeS5jeHgsIFNvdXJjZS9jbURpcmVjdG9yeS5oLAoJICBNYWtlZmlsZVRlbXBsYXRlLmluOiBFTkg6IGFkZCBhYmlsaXR5IHRvIGNvbXBpbGUgYWxsIHRoZSBmaWxlcyBpbgoJICBhIHN1Yi1kaXJlY3RvcnkKCjIwMDAtMDgtMzAgMTM6MzUgIGhvZmZtYW4KCgkqIENNYWtlUnVsZXMubWFrZS5pbiwgQ01ha2VWYXJpYWJsZXMubWFrZS5pbiwgUkVBRE1FLAoJICBTb3VyY2UvQ01ha2VTZXR1cENNRC5kc3AsIFNvdXJjZS9NYWtlZmlsZS5pbiwKCSAgU291cmNlL2NtQ2xhc3NGaWxlLmN4eCwgU291cmNlL2NtRFNQTWFrZWZpbGUuY3h4LAoJICBTb3VyY2UvY21EU1BXcml0ZXIuY3h4LCBTb3VyY2UvY21EU1dNYWtlZmlsZS5jeHgsCgkgIFNvdXJjZS9jbURTV1dyaXRlci5jeHgsIFNvdXJjZS9jbU1ha2VmaWxlLmN4eCwKCSAgU291cmNlL2NtTWFrZWZpbGUuaCwgU291cmNlL2NtVW5peE1ha2VmaWxlLmN4eDogRU5IOgltb3ZlIGZyb20KCSAgdG9vbHMgYW5kIGNyZWF0ZSB3b3JraW5nIENNYWtlIHByb2dyYW0KCjIwMDAtMDgtMjkgMTU6MjYgIGhvZmZtYW4KCgkqIENNYWtlTWFzdGVyLm1ha2UuaW4sIENNYWtlUnVsZXMubWFrZS5pbiwgQ01ha2VWYXJpYWJsZXMubWFrZS5pbiwKCSAgU291cmNlL0NNYWtlQnVpbGRUYXJnZXRzLmN4eCwgU291cmNlL0NNYWtlU2V0dXAuY3h4LAoJICBTb3VyY2UvQ01ha2VTZXR1cC5kc3csIFNvdXJjZS9DTWFrZVNldHVwQ01ELmN4eCwKCSAgU291cmNlL0NNYWtlU2V0dXBDTUQuZHNwLCBTb3VyY2UvRVhFRm9vdGVyLmRzcHRlbXBsYXRlLAoJICBTb3VyY2UvRVhFSGVhZGVyLmRzcHRlbXBsYXRlLCBTb3VyY2UvTWFrZWZpbGUuaW4sCgkgIFNvdXJjZS9jbUNsYXNzRmlsZS5jeHgsIFNvdXJjZS9jbUNsYXNzRmlsZS5oLAoJICBTb3VyY2UvY21EU1BCdWlsZGVyLmN4eCwgU291cmNlL2NtRFNQQnVpbGRlci5oLAoJICBTb3VyY2UvY21EU1BNYWtlZmlsZS5jeHgsIFNvdXJjZS9jbURTUE1ha2VmaWxlLmgsCgkgIFNvdXJjZS9jbURTUFdyaXRlci5jeHgsIFNvdXJjZS9jbURTUFdyaXRlci5oLAoJICBTb3VyY2UvY21EU1dCdWlsZGVyLmN4eCwgU291cmNlL2NtRFNXQnVpbGRlci5oLAoJICBTb3VyY2UvY21EU1dNYWtlZmlsZS5jeHgsIFNvdXJjZS9jbURTV01ha2VmaWxlLmgsCgkgIFNvdXJjZS9jbURTV1dyaXRlci5jeHgsIFNvdXJjZS9jbURTV1dyaXRlci5oLAoJICBTb3VyY2UvY21NYWtlRGVwZW5kLmN4eCwgU291cmNlL2NtTWFrZURlcGVuZC5oLAoJICBTb3VyY2UvY21NYWtlZmlsZS5jeHgsIFNvdXJjZS9jbU1ha2VmaWxlLmgsCgkgIFNvdXJjZS9jbVBDQnVpbGRlci5jeHgsIFNvdXJjZS9jbVBDQnVpbGRlci5oLAoJICBTb3VyY2UvY21SZWd1bGFyRXhwcmVzc2lvbi5jeHgsIFNvdXJjZS9jbVJlZ3VsYXJFeHByZXNzaW9uLmgsCgkgIFNvdXJjZS9jbVN5c3RlbVRvb2xzLmN4eCwgU291cmNlL2NtU3lzdGVtVG9vbHMuaCwKCSAgU291cmNlL2NtVW5peE1ha2VmaWxlLmN4eCwgU291cmNlL2NtVW5peE1ha2VmaWxlLmgsCgkgIFNvdXJjZS9jbVdpbmRvd3NDb25maWd1cmUuY3h4LCBTb3VyY2UvY21XaW5kb3dzQ29uZmlndXJlLmgsCgkgIFNvdXJjZS9pdGtWQzYwQ29uZmlndXJlLmN4eCwgU291cmNlL2l0a1ZDNjBDb25maWd1cmUuaCwKCSAgU291cmNlL3N0YXRpY0xpYkZvb3Rlci5kc3B0ZW1wbGF0ZSwKCSAgU291cmNlL3N0YXRpY0xpYkhlYWRlci5kc3B0ZW1wbGF0ZSwgUkVBRE1FOiBORVc6IG1vdmUgZnJvbSB0b29scwoJICBhbmQgY29uZmlnIHRvIGNyZWF0ZSBDTWFrZQoKMjAwMC0wOC0yOSAxMDo1NiAgaG9mZm1hbgoKCSogQ01ha2VNYXN0ZXIubWFrZS5pbiwgQ01ha2VSdWxlcy5tYWtlLmluLCBDTWFrZVZhcmlhYmxlcy5tYWtlLmluLAoJICBkdW1teS5pbjogW25vIGxvZyBtZXNzYWdlXQoK