ZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3ZlcnNpb242LnR4dCBiL3J1bnRpbWUvZG9jL3ZlcnNpb242LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTdjZjkyCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9kb2MvdmVyc2lvbjYudHh0CkBAIC0wLDAgKzEsMTM4NDYgQEAKKyp2ZXJzaW9uNi50eHQqICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNCBKdW4gMDcKKworCisJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKKworCitXZWxjb21lIHRvIFZpbSBWZXJzaW9uIDYuMCEgIEEgbGFyZ2UgbnVtYmVyIG9mIGZlYXR1cmVzIGhhcyBiZWVuIGFkZGVkLiAgVGhpcworZmlsZSBtZW50aW9ucyBhbGwgdGhlIG5ldyBpdGVtcyB0aGF0IGhhdmUgYmVlbiBhZGRlZCwgY2hhbmdlcyB0byBleGlzdGluZworZmVhdHVyZXMgYW5kIGJ1ZyBmaXhlcyBjb21wYXJlZCB0byBWaW0gNS54LgorCitTZWUgfHZpX2RpZmYudHh0fCBmb3IgYW4gb3ZlcnZpZXcgb2YgZGlmZmVyZW5jZXMgYmV0d2VlbiBWaSBhbmQgVmltIDYuMC4KK1NlZSB8dmVyc2lvbjQudHh0fCBmb3IgZGlmZmVyZW5jZXMgYmV0d2VlbiBWaW0gMy4wIGFuZCBWaW0gNC4wLgorU2VlIHx2ZXJzaW9uNS50eHR8IGZvciBkaWZmZXJlbmNlcyBiZXR3ZWVuIFZpbSA0LjAgYW5kIFZpbSA1LjAuCisKK0lOQ09NUEFUSUJMRSBDSEFOR0VTCQkJfGluY29tcGF0aWJsZS02fAorCitDdXJzb3IgcG9zaXRpb24gaW4gVmlzdWFsIG1vZGUJCXxjdXJwb3MtdmlzdWFsfAorc3Vic3RpdHV0ZSBjb21tYW5kIFZpIGNvbXBhdGlibGUJfHN1YnN0aXR1dGUtQ1J8CitnbG9iYWwgb3B0aW9uIHZhbHVlcyBpbnRyb2R1Y2VkCQl8bmV3LWdsb2JhbC12YWx1ZXN8CisnZmlsZWVuY29kaW5nJyBjaGFuZ2VkCQkJfGZpbGVlbmNvZGluZy1jaGFuZ2VkfAorRGlncmFwaHMgY2hhbmdlZAkJCXxkaWdyYXBocy1jaGFuZ2VkfAorRmlsZXR5cGUgZGV0ZWN0aW9uIGNoYW5nZWQJCXxmaWxldHlwZWRldGVjdC1jaGFuZ2VkfAorVW5saXN0ZWQgYnVmZmVycyBpbnRyb2R1Y2VkCQl8bmV3LXVubGlzdGVkLWJ1ZmZlcnN8CitDVFJMLVUgaW4gQ29tbWFuZC1saW5lIG1vZGUgY2hhbmdlZAl8Q1RSTC1VLWNoYW5nZWR8CitDdGFncyBnb25lCQkJCXxjdGFncy1nb25lfAorRG9jdW1lbnRhdGlvbiByZW9yZ2FuaXplZAkJfGRvY3VtZW50YXRpb24tNnwKK01vZGVsZXNzIHNlbGVjdGlvbiBhbmQgY2xpcGJvYXJkCXxtb2RlbGVzcy1hbmQtY2xpcGJvYXJkfAorU21hbGwgaW5jb21wYXRpYmlsaXRpZXMJCQl8aW5jb21wLXNtYWxsLTZ8CisKK05FVyBGRUFUVVJFUwkJCQl8bmV3LTZ8CisKK0ZvbGRpbmcJCQkJCXxuZXctZm9sZGluZ3wKK1ZlcnRpY2FsbHkgc3BsaXQgd2luZG93cwkJfG5ldy12ZXJ0c3BsaXR8CitEaWZmIG1vZGUJCQkJfG5ldy1kaWZmLW1vZGV8CitFYXN5IFZpbTogY2xpY2stYW5kLXR5cGUJCXxuZXctZXZpbXwKK1VzZXIgbWFudWFsCQkJCXxuZXctdXNlci1tYW51YWx8CitGbGV4aWJsZSBpbmRlbnRpbmcJCQl8bmV3LWluZGVudC1mbGV4fAorRXh0ZW5kZWQgc2VhcmNoIHBhdHRlcm5zCQl8bmV3LXNlYXJjaHBhdHwKK1VURi04IHN1cHBvcnQJCQkJfG5ldy11dGYtOHwKK011bHRpLWxhbmd1YWdlIHN1cHBvcnQJCQl8bmV3LW11bHRpLWxhbmd8CitQbHVnaW4gc3VwcG9ydAkJCQl8bmV3LXBsdWdpbnN8CitGaWxldHlwZSBwbHVnaW5zCQkJfG5ldy1maWxldHlwZS1wbHVnaW5zfAorRmlsZSBicm93c2VyCQkJCXxuZXctZmlsZS1icm93c2VyfAorRWRpdGluZyBmaWxlcyBvdmVyIGEgbmV0d29yawkJfG5ldy1uZXR3b3JrLWZpbGVzfAorV2luZG93IGZvciBjb21tYW5kLWxpbmUgZWRpdGluZwkJfG5ldy1jbWR3aW58CitEZWJ1Z2dpbmcgbW9kZQkJCQl8bmV3LWRlYnVnLW1vZGV8CitDdXJzb3IgaW4gdmlydHVhbCBwb3NpdGlvbgkJfG5ldy12aXJ0ZWRpdHwKK0RlYnVnZ2VyIGludGVyZmFjZQkJCXxuZXctZGVidWctaXRmfAorQ29tbXVuaWNhdGlvbiBiZXR3ZWVuIFZpbXMJCXxuZXctdmltLXNlcnZlcnwKK0J1ZmZlciB0eXBlIG9wdGlvbnMJCQl8bmV3LWJ1ZnR5cGV8CitQcmludGluZwkJCQl8bmV3LXByaW50aW5nfAorUG9ydHMJCQkJCXxwb3J0cy02fAorUXVpY2tmaXggZXh0ZW5kZWQJCQl8cXVpY2tmaXgtNnwKK09wZXJhdG9yIG1vZGlmaWVycwkJCXxuZXctb3BlcmF0b3ItbW9kfAorU2VhcmNoIFBhdGgJCQkJfG5ldy1zZWFyY2gtcGF0aHwKK1dyaXRpbmcgZmlsZXMgaW1wcm92ZWQJCQl8bmV3LWZpbGUtd3JpdGluZ3wKK0FyZ3VtZW50IGxpc3QJCQkJfG5ldy1hcmd1bWVudC1saXN0fAorUmVzdG9yZSBhIFZpZXcJCQkJfG5ldy1WaWV3fAorQ29sb3Igc2NoZW1lcwkJCQl8bmV3LWNvbG9yLXNjaGVtZXN8CitWYXJpb3VzIG5ldyBpdGVtcwkJCXxuZXctaXRlbXMtNnwKKworSU1QUk9WRU1FTlRTCQkJCXxpbXByb3ZlbWVudHMtNnwKKworQ09NUElMRSBUSU1FIENIQU5HRVMJCQl8Y29tcGlsZS1jaGFuZ2VzLTZ8CisKK0JVRyBGSVhFUwkJCQl8YnVnLWZpeGVzLTZ8CisKK1ZFUlNJT04gNi4xCQkJfHZlcnNpb24tNi4xfAorQ2hhbmdlZAkJCQkJfGNoYW5nZWQtNi4xfAorQWRkZWQJCQkJCXxhZGRlZC02LjF8CitGaXhlZAkJCQkJfGZpeGVkLTYuMXwKKworVkVSU0lPTiA2LjIJCQl8dmVyc2lvbi02LjJ8CitDaGFuZ2VkCQkJCQl8Y2hhbmdlZC02LjJ8CitBZGRlZAkJCQkJfGFkZGVkLTYuMnwKK0ZpeGVkCQkJCQl8Zml4ZWQtNi4yfAorCitWRVJTSU9OIDYuMwkJCXx2ZXJzaW9uLTYuM3wKK0NoYW5nZWQJCQkJCXxjaGFuZ2VkLTYuM3wKK0FkZGVkCQkJCQl8YWRkZWQtNi4zfAorRml4ZWQJCQkJCXxmaXhlZC02LjN8CisKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorSU5DT01QQVRJQkxFIENIQU5HRVMJCQkJKmluY29tcGF0aWJsZS02KgorCitUaGVzZSBjaGFuZ2VzIGFyZSBpbmNvbXBhdGlibGUgd2l0aCBwcmV2aW91cyByZWxlYXNlcy4gIENoZWNrIHRoaXMgbGlzdCBpZiB5b3UKK3J1biBpbnRvIGEgcHJvYmxlbSB3aGVuIHVwZ3JhZGluZyBmcm9tIFZpbSA1LnggdG8gNi4wCisKKworQ3Vyc29yIHBvc2l0aW9uIGluIFZpc3VhbCBtb2RlCQkJKmN1cnBvcy12aXN1YWwqCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworV2hlbiBnb2luZyBmcm9tIG9uZSB3aW5kb3cgdG8gYW5vdGhlciB3aW5kb3cgb24gdGhlIHNhbWUgYnVmZmVyIHdoaWxlIGluCitWaXN1YWwgbW9kZSwgdGhlIGN1cnNvciBwb3NpdGlvbiBvZiB0aGUgb3RoZXIgd2luZG93IGlzIGFkanVzdGVkIHRvIGtlZXAgdGhlCitzYW1lIFZpc3VhbCBhcmVhLiAgVGhpcyBjYW4gYmUgdXNlZCB0byBzZXQgdGhlIHN0YXJ0IG9mIHRoZSBWaXN1YWwgYXJlYSBpbiBvbmUKK3dpbmRvdyBhbmQgdGhlIGVuZCBpbiBhbm90aGVyLiAgSW4gdmltIDUueCB0aGUgY3Vyc29yIHBvc2l0aW9uIG9mIHRoZSBvdGhlcgord2luZG93IHdvdWxkIGJlIHVzZWQsIHdoaWNoIGNvdWxkIGJlIGFueXdoZXJlIGFuZCB3YXMgbm90IHZlcnkgdXNlZnVsLgorCisKK1N1YnN0aXR1dGUgY29tbWFuZCBWaSBjb21wYXRpYmxlCQkqc3Vic3RpdHV0ZS1DUioKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSBzdWJzdGl0dXRlIHN0cmluZyAodGhlICJ0byIgcGFydCBvZiB0aGUgc3Vic3RpdHV0ZSBjb21tYW5kKSBoYXMgYmVlbiBtYWRlCitWaSBjb21wYXRpYmxlLiAgUHJldmlvdXNseSBhIENUUkwtViBoYWQgYSBzcGVjaWFsIG1lYW5pbmcgYW5kIGNvdWxkIGJlIHVzZWQgdG8KK3ByZXZlbnQgYSA8Q1I+IHRvIGluc2VydCBhIGxpbmUgYnJlYWsuICBUaGlzIG1hZGUgaXQgaW1wb3NzaWJsZSB0byBpbnNlcnQgYQorQ1RSTC1WIGJlZm9yZSBhIGxpbmUgYnJlYWsuICBOb3cgYSBiYWNrc2xhc2ggaXMgdXNlZCB0byBwcmV2ZW50IGEgPENSPiB0bworY2F1c2UgYSBsaW5lIGJyZWFrLiAgU2luY2UgdGhlIG51bWJlciBvZiBiYWNrc2xhc2hlcyBpcyBoYWx2ZWQsIGl0IGlzIHN0aWxsCitwb3NzaWJsZSB0byBpbnNlcnQgYSBsaW5lIGJyZWFrIGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUuICBUaGlzIG5vdyB3b3JrcyBqdXN0CitsaWtlIFZpLCBidXQgaXQncyBub3QgY29tcGF0aWJsZSB3aXRoIFZpbSB2ZXJzaW9ucyBiZWZvcmUgNi4wLgorCitXaGVuIGEgIjpzIiBjb21tYW5kIGRvZXNuJ3QgbWFrZSBhbnkgc3Vic3RpdHV0aW9ucywgaXQgbm8gbG9uZ2VyIHNldHMgdGhlICdbCithbmQgJ10gbWFya3MuICBUaGlzIGlzIG5vdCByZWxhdGVkIHRvIFZpLCBzaW5jZSBpdCBkb2Vzbid0IGhhdmUgdGhlc2UgbWFya3MuCisKKworR2xvYmFsIG9wdGlvbiB2YWx1ZXMgaW50cm9kdWNlZAkJCSpuZXctZ2xvYmFsLXZhbHVlcyoKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhlcmUgYXJlIG5vdyBnbG9iYWwgdmFsdWVzIGZvciBvcHRpb25zIHdoaWNoIGFyZSBsb2NhbCB0byBhIGJ1ZmZlciBvciB3aW5kb3cuCitQcmV2aW91c2x5IHRoZSBsb2NhbCBvcHRpb25zIHdlcmUgY29waWVkIGZyb20gb25lIGJ1ZmZlciB0byBhbm90aGVyLiAgV2hlbgorZWRpdGluZyBhbm90aGVyIGZpbGUgdGhpcyBjb3VsZCBjYXVzZSBvcHRpb24gdmFsdWVzIGZyb20gYSBtb2RlbGluZSB0byBiZSB1c2VkCitmb3IgdGhlIHdyb25nIGZpbGUuICBOb3cgdGhlIGdsb2JhbCB2YWx1ZXMgYXJlIHVzZWQgd2hlbiBlbnRlcmluZyBhIGJ1ZmZlcgordGhhdCBoYXMgbm90IGJlZW4gdXNlZCBiZWZvcmUuICBBbHNvLCB3aGVuIGVkaXRpbmcgYW5vdGhlciBidWZmZXIgaW4gYSB3aW5kb3csCit0aGUgbG9jYWwgd2luZG93IG9wdGlvbnMgYXJlIHJlc2V0IHRvIHRoZWlyIGdsb2JhbCB2YWx1ZXMuICBUaGUgIjpzZXQiIGNvbW1hbmQKK3NldHMgYm90aCB0aGUgbG9jYWwgYW5kIGdsb2JhbCB2YWx1ZXMsIHRoaXMgaXMgc3RpbGwgY29tcGF0aWJsZS4gIEJ1dCBhCittb2RlbGluZSBvbmx5IHNldHMgdGhlIGxvY2FsIHZhbHVlLCB0aGlzIGlzIG5vdCBiYWNrd2FyZHMgY29tcGF0aWJsZS4KKworIjpsZXQgJm9wdCA9IHZhbCIgbm93IHNldHMgdGhlIGxvY2FsIGFuZCBnbG9iYWwgdmFsdWVzLCBsaWtlICI6c2V0Ii4gIE5ldworY29tbWFuZHMgaGF2ZSBiZWVuIGFkZGVkIHRvIHNldCB0aGUgZ2xvYmFsIG9yIGxvY2FsIHZhbHVlOgorCTpsZXQgJm9wdCA9IHZhbAkJbGlrZSAiOnNldCIKKwk6bGV0ICZnOm9wdCA9IHZhbAlsaWtlICI6c2V0Z2xvYmFsIgorCTpsZXQgJmw6b3B0ID0gdmFsCWxpa2UgIjpzZXRsb2NhbCIKKworCisnZmlsZWVuY29kaW5nJyBjaGFuZ2VkCQkJCSpmaWxlZW5jb2RpbmctY2hhbmdlZCoKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworJ2ZpbGVlbmNvZGluZycgd2FzIHVzZWQgaW4gVmltIDUueCB0byBzZXQgdGhlIGVuY29kaW5nIHVzZWQgaW5zaWRlIGFsbCBvZiBWaW0uCitUaGlzIHdhcyBhIGJpdCBzdHJhbmdlLCBiZWNhdXNlIGl0IHdhcyBsb2NhbCB0byBhIGJ1ZmZlciBhbmQgd29ya2VkIGZvciBhbGwKK2J1ZmZlcnMuICBJdCBjb3VsZCBuZXZlciBiZSBkaWZmZXJlbnQgYmV0d2VlbiBidWZmZXJzLCBiZWNhdXNlIGl0IGNoYW5nZWQgdGhlCit3YXkgdGV4dCBpbiBhbGwgYnVmZmVycyB3YXMgaW50ZXJwcmV0ZWQuCitJdCBpcyBub3cgdXNlZCBmb3IgdGhlIGVuY29kaW5nIG9mIHRoZSBmaWxlIHJlbGF0ZWQgdG8gdGhlIGJ1ZmZlci4gIElmIHlvdQorc3RpbGwgc2V0ICdmaWxlZW5jb2RpbmcnIGl0IGlzIGxpa2VseSB0byBiZSBvdmVyd3JpdHRlbiBieSB0aGUgZGV0ZWN0ZWQKK2VuY29kaW5nIGZyb20gJ2ZpbGVlbmNvZGluZ3MnLCB0aHVzIGl0IGlzICJtb3N0bHkgaGFybWxlc3MiLgorVGhlIG9sZCBGaWxlRW5jb2RpbmcgYXV0b2NvbW1hbmQgbm93IGRvZXMgdGhlIHNhbWUgYXMgdGhlIG5ldyBFbmNvZGluZ0NoYW5nZWQKK2V2ZW50LgorCisKK0RpZ3JhcGhzIGNoYW5nZWQJCQkJKmRpZ3JhcGhzLWNoYW5nZWQqCistLS0tLS0tLS0tLS0tLS0tCisKK1RoZSBkZWZhdWx0IGRpZ3JhcGhzIG5vdyBjb3JyZXNwb25kIHRvIFJGQzEzNDUuICBUaGlzIGlzIHZlcnkgZGlmZmVyZW50IGZyb20KK3doYXQgd2FzIHVzZWQgaW4gVmltIDUueC4gfGRpZ3JhcGhzfAorCisKK0ZpbGV0eXBlIGRldGVjdGlvbiBjaGFuZ2VkCQkJKmZpbGV0eXBlZGV0ZWN0LWNoYW5nZWQqCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGUgZmlsZXR5cGUgZGV0ZWN0aW9uIHByZXZpb3VzbHkgd2FzIHVzaW5nIHRoZSAiZmlsZXR5cGUiIGF1dG9jb21tYW5kIGdyb3VwLgorVGhpcyBjYXVzZWQgY29uZnVzaW9uIHdpdGggdGhlIEZpbGVUeXBlIGV2ZW50IG5hbWUgKGNhc2UgaXMgaWdub3JlZCkuICBUaGUKK2dyb3VwIGlzIG5vdyBjYWxsZWQgImZpbGV0eXBlZGV0ZWN0Ii4gIEl0IHN0aWxsIHdvcmtzLCBidXQgaWYgdGhlICJmaWxldHlwZSIKK2dyb3VwIGlzIHVzZWQgdGhlIGF1dG9jb21tYW5kcyB3aWxsIG5vdCBiZSByZW1vdmVkIGJ5ICI6ZmlsZXR5cGUgb2ZmIi4KKyAgIFRoZSBzdXBwb3J0IGZvciAncnVudGltZXBhdGgnIGhhcyBtYWRlIHRoZSAibXlmaWxldHlwZWZpbGUiIGFuZAorIm15c3ludGF4ZmlsZSIgbWVjaGFuaXNtIG9ic29sZXRlLiAgVGhleSBhcmUgc3RpbGwgdXNlZCBmb3IgYmFja3dhcmRzCitjb21wYXRpYmlsaXR5LgorCitUaGUgY29ubmVjdGlvbiBiZXR3ZWVuIHRoZSBGaWxlVHlwZSBldmVudCBhbmQgc2V0dGluZyB0aGUgJ3N5bnRheCcgb3B0aW9uIHdhcworcHJldmlvdXNseSBpbiB0aGUgInN5bnRheCIgYXV0b2NvbW1hbmQgZ3JvdXAuICBUaGF0IGNhdXNlZCBjb25mdXNpb24gd2l0aCB0aGUKK1N5bnRheCBldmVudCBuYW1lLiAgVGhlIGdyb3VwIGlzIG5vdyBjYWxsZWQgInN5bnRheHNldCIuCisKK1RoZSBkaXN0cmlidXRlZCBzeW50YXggZmlsZXMgbm8gbG9uZ2VyIGNvbnRhaW4gInN5bnRheCBjbGVhciIuICBUaGF0IG1ha2VzIGl0Citwb3NzaWJsZSB0byBpbmNsdWRlIG9uZSBpbiB0aGUgb3RoZXIgd2l0aG91dCB0cmlja3MuICBUaGUgc3ludGF4IGlzIG5vdworY2xlYXJlZCB3aGVuIHRoZSAnc3ludGF4JyBvcHRpb24gaXMgc2V0IChieSBhbiBhdXRvY29tbWFuZCBhZGRlZCBmcm9tCitzeW5sb2FkLnZpbSkuICBUaGlzIG1ha2VzIHRoZSBzeW50YXggY2xlYXJlZCB3aGVuIHRoZSB2YWx1ZSBvZiAnc3ludGF4JyBkb2VzCitub3QgY29ycmVzcG9uZCB0byBhIHN5bnRheCBmaWxlLiAgUHJldmlvdXNseSB0aGUgZXhpc3RpbmcgaGlnaGxpZ2h0aW5nIHdhcwora2VwdC4KKworCitVbmxpc3RlZCBidWZmZXJzIGludHJvZHVjZWQJCQkqbmV3LXVubGlzdGVkLWJ1ZmZlcnMqCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhlcmUgaXMgbm93IGEgZGlmZmVyZW5jZSBiZXR3ZWVuIGJ1ZmZlcnMgd2hpY2ggZG9uJ3QgYXBwZWFyIGluIHRoZSBidWZmZXIKK2xpc3QgYW5kIGJ1ZmZlcnMgd2hpY2ggYXJlIHJlYWxseSBub3QgaW4gdGhlIGJ1ZmZlciBsaXN0LiAgQ29tbWFuZHMgbGlrZQorIjpscyIsICI6Ym5leHQiLCAiOmJsYXN0IiBhbmQgdGhlIEJ1ZmZlcnMgbWVudSB3aWxsIHNraXAgYnVmZmVycyBub3QgaW4gdGhlCitidWZmZXIgbGlzdC4gfHVubGlzdGVkLWJ1ZmZlcnwKK1RoZSAnYnVmbGlzdGVkJyBvcHRpb24gY2FuIGJlIHVzZWQgdG8gbWFrZSBhIGJ1ZmZlciBhcHBlYXIgaW4gdGhlIGJ1ZmZlciBsaXN0CitvciBub3QuCisKK1NldmVyYWwgY29tbWFuZHMgdGhhdCBwcmV2aW91c2x5IGFkZGVkIGEgYnVmZmVyIHRvIHRoZSBidWZmZXIgbGlzdCBub3cgY3JlYXRlCithbiB1bmxpc3RlZCBidWZmZXIuICBUaGlzIG1lYW5zIHRoYXQgYSAiOmJuZXh0IiBhbmQgIjpiYWxsIiB3aWxsIG5vdCBmaW5kIHRoZXNlCitmaWxlcyB1bnRpbCB0aGV5IGhhdmUgYWN0dWFsbHkgYmVlbiBlZGl0ZWQuICBGb3IgZXhhbXBsZSwgYnVmZmVycyB1c2VkIGZvciB0aGUKK2FsdGVybmF0aXZlIGZpbGUgYnkgIjp3cml0ZSBmaWxlIiBhbmQgIjpyZWFkIGZpbGUiLgorICAgT3RoZXIgY29tbWFuZHMgcHJldmlvdXNseSBjb21wbGV0ZWx5IGRlbGV0ZWQgYSBidWZmZXIgYW5kIG5vdyBvbmx5IHJlbW92ZQordGhlIGJ1ZmZlciBmcm9tIHRoZSBidWZmZXIgbGlzdC4gIENvbW1hbmRzIHJlbHlpbmcgb24gYSBidWZmZXIgbm90IHRvIGJlCitwcmVzZW50IG1pZ2h0IGZhaWwuICBGb3IgZXhhbXBsZSwgYSAiOmJkZWxldGUiIGNvbW1hbmQgaW4gYW4gYXV0b2NvbW1hbmQgdGhhdAorcmVsaWVkIG9uIHNvbWV0aGluZyBmb2xsb3dpbmcgdG8gZmFpbCAod2FzIHVzZWQgaW4gdGhlIGF1dG9tYXRpYyB0ZXN0cykuCit8OmJ3aXBlb3V0fCBjYW4gYmUgdXNlZCBmb3IgdGhlIG9sZCBtZWFuaW5nIG9mICI6YmRlbGV0ZSIuCisKK1RoZSBCdWZEZWxldGUgYXV0b2NvbW1hbmQgZXZlbnQgaXMgbm93IHRyaWdnZXJlZCB3aGVuIGEgYnVmZmVyIGlzIHJlbW92ZWQgZnJvbQordGhlIGJ1ZmZlciBsaXN0LiAgVGhlIEJ1ZkNyZWF0ZSBldmVudCBpcyBvbmx5IHRyaWdnZXJlZCB3aGVuIGEgYnVmZmVyIGlzCitjcmVhdGVkIHRoYXQgaXMgYWRkZWQgdG8gdGhlIGJ1ZmZlciBsaXN0LCBvciB3aGVuIGFuIGV4aXN0aW5nIGJ1ZmZlciBpcyBhZGRlZAordG8gdGhlIGJ1ZmZlciBsaXN0LiAgQnVmQWRkIGlzIGEgbmV3IG5hbWUgZm9yIEJ1ZkNyZWF0ZS4KK1RoZSBuZXcgQnVmTmV3IGV2ZW50IGlzIGZvciBjcmVhdGluZyBhbnkgYnVmZmVyIGFuZCBCdWZXaXBlb3V0IGZvciByZWFsbHkKK2RlbGV0aW5nIGEgYnVmZmVyLgorCitXaGVuIGRvaW5nIEluc2VydCBtb2RlIGNvbXBsZXRpb24sIG9ubHkgYnVmZmVycyBpbiB0aGUgYnVmZmVyIGxpc3QgYXJlCitzY2FubmVkLiAgQWRkZWQgdGhlICdVJyBmbGFnIHRvICdjb21wbGV0ZScgdG8gZG8gY29tcGxldGlvbiBmcm9tIHVubGlzdGVkCitidWZmZXJzLgorCitVbmxpc3RlZCBidWZmZXJzIGFyZSBub3Qgc3RvcmVkIGluIGEgdmltaW5mbyBmaWxlLgorCisKK0NUUkwtVSBpbiBDb21tYW5kLWxpbmUgbW9kZSBjaGFuZ2VkCQkqQ1RSTC1VLWNoYW5nZWQqCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitVc2luZyBDVFJMLVUgd2hlbiBlZGl0aW5nIHRoZSBjb21tYW5kIGxpbmUgY2xlYXJlZCB0aGUgd2hvbGUgbGluZS4gIE1vc3QKK3NoZWxscyBvbmx5IGRlbGV0ZSB0aGUgY2hhcmFjdGVycyBiZWZvcmUgdGhlIGN1cnNvci4gIE1hZGUgaXQgd29yayBsaWtlIHRoYXQuCisoU3RldmUgV2FsbCkKKworWW91IGNhbiBnZXQgdGhlIG9sZCBiZWhhdmlvciB3aXRoIENUUkwtRSBDVFJMLVU6ID4KKwk6Y25vcmVtYXAgPEMtVT4gPEMtRT48Qy1VPgorCisKK0N0YWdzIGdvbmUJCQkJCSpjdGFncy1nb25lKgorLS0tLS0tLS0tLQorCitDdGFncyBpcyBubyBsb25nZXIgcGFydCBvZiB0aGUgVmltIGRpc3RyaWJ1dGlvbi4gIEl0J3Mgbm93IGEgZ3Jvd24tdXAgcHJvZ3JhbQorYnkgaXRzZWxmLCBpdCBkZXNlcnZlcyB0byBiZSBkaXN0cmlidXRlZCBzZXBhcmF0ZWx5LgorQ3RhZ3MgY2FuIGJlIGZvdW5kIGhlcmU6IGh0dHA6Ly9jdGFncy5zZi5uZXQvLgorCisKK0RvY3VtZW50YXRpb24gcmVvcmdhbml6ZWQJCQkqZG9jdW1lbnRhdGlvbi02KgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGUgZG9jdW1lbnRhdGlvbiBoYXMgYmVlbiByZW9yZ2FuaXplZCwgYW4gaXRlbSBtYXkgbm90IGJlIHdoZXJlIHlvdSBmb3VuZCBpdAoraW4gVmltIDUueC4KKy0gVGhlIHVzZXIgbWFudWFsIHdhcyBhZGRlZCwgc29tZSBpdGVtcyBoYXZlIGJlZW4gbW92ZWQgdG8gaXQgZnJvbSB0aGUKKyAgcmVmZXJlbmNlIG1hbnVhbC4KKy0gVGhlIHF1aWNrIHJlZmVyZW5jZSBpcyBub3cgaW4gYSBzZXBhcmF0ZSBmaWxlIChzbyB0aGF0IGl0IGNhbiBiZSBwcmludGVkKS4KKworVGhlIGV4YW1wbGVzIGluIHRoZSBkb2N1bWVudGF0aW9uIHdlcmUgcHJldmlvdXNseSBtYXJrZWQgd2l0aCBhICI+IiBpbiB0aGUKK2ZpcnN0IGNvbHVtbi4gIFRoaXMgbWFkZSBpdCBkaWZmaWN1bHQgdG8gY29weS9wYXN0ZSB0aGVtLiAgVGhlcmUgaXMgbm93IGEKK3NpbmdsZSAiPiIgYmVmb3JlIHRoZSBleGFtcGxlIGFuZCBpdCBlbmRzIGF0IGEgIjwiIG9yIGEgbm9uLWJsYW5rIGluIHRoZSBmaXJzdAorY29sdW1uLiAgVGhpcyBhbHNvIGxvb2tzIGJldHRlciB3aXRob3V0IGhpZ2hsaWdodGluZy4KKworJ2hlbHBmaWxlJyBpcyBubyBsb25nZXIgdXNlZCB0byBmaW5kIHRoZSBoZWxwIHRhZ3MgZmlsZS4gIFRoaXMgYWxsb3dzIGEgdXNlcgordG8gYWRkIGl0cyBvd24gaGVscCBmaWxlcyAoZS5nLiwgZm9yIHBsdWdpbnMpLgorCisKK01vZGVsZXNzIHNlbGVjdGlvbiBhbmQgY2xpcGJvYXJkCQkqbW9kZWxlc3MtYW5kLWNsaXBib2FyZCoKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSBtb2RlbGVzcyBzZWxlY3Rpb24gaXMgdXNlZCB0byBzZWxlY3QgdGV4dCB3aGVuIFZpc3VhbCBtb2RlIGNhbid0IGJlIHVzZWQsCitmb3IgZXhhbXBsZSB3aGVuIGVkaXRpbmcgdGhlIGNvbW1hbmQgbGluZSBvciBhdCB0aGUgbW9yZSBwcm9tcHQuCitJbiBWaW0gNS54IHRoZSBtb2RlbGVzcyBzZWxlY3Rpb24gd2FzIGFsd2F5cyB1c2VkLiAgT24gTVMtV2luZG93cyB0aGlzIGNhdXNlZAordGhlIGNsaXBib2FyZCB0byBiZSBvdmVyd3JpdHRlbiwgd2l0aCBubyB3YXkgdG8gYXZvaWQgdGhhdC4gIFRoZSBtb2RlbGVzcworc2VsZWN0aW9uIG5vdyBvYmV5cyB0aGUgJ2EnIGFuZCAnQScgZmxhZ3MgaW4gJ2d1aW9wdGlvbnMnIGFuZCAiYXV0b3NlbGVjdCIgYW5kCisiYXV0b3NlbGVjdG1sIiBpbiAnY2xpcGJvYXJkJy4gIEJ5IGRlZmF1bHQgdGhlcmUgaXMgbm8gYXV0b21hdGljIGNvcHkgb24KK01TLVdpbmRvd3MuICBVc2UgdGhlIHxjX0NUUkwtWXwgY29tbWFuZCB0byBtYW51YWxseSBjb3B5IHRoZSBzZWxlY3Rpb24uCisKK1RvIGdldCB0aGUgb2xkIGJlaGF2aW9yIGJhY2ssIGRvIHRoaXM6ID4KKworCTpzZXQgY2xpcGJvYXJkXj1hdXRvc2VsZWN0bWwgZ3Vpb3B0aW9ucys9QQorCisKK1NtYWxsIGluY29tcGF0aWJpbGl0aWVzCQkJCSppbmNvbXAtc21hbGwtNioKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKydiYWNrdXBkaXInLCAnY2RwYXRoJywgJ2RpcmVjdG9yeScsICdlcXVhbHByZycsICdlcnJvcmZpbGUnLCAnZm9ybWF0cHJnJywKKydncmVwcHJnJywgJ2hlbHBmaWxlJywgJ21ha2VlZicsICdtYWtlcHJnJywgJ2tleXdvcmRwcmcnLCAnY3Njb3BlcHJnJywKKyd2aW1pbmZvJyBhbmQgJ3J1bnRpbWVwYXRoJyBjYW4gbm8gbG9uZ2VyIGJlIHNldCBmcm9tIGEgbW9kZWxpbmUsIGZvciBiZXR0ZXIKK3NlY3VyaXR5LgorCitSZW1vdmVkICdfJyBmcm9tIHRoZSAnYnJlYWthdCcgZGVmYXVsdDogSXQncyBjb21tb25seSB1c2VkIGluIGtleXdvcmRzLgorCitUaGUgZGVmYXVsdCBmb3IgJ21vdXNlaGlkZScgaXMgb24sIGJlY2F1c2UgdGhpcyB3b3JrcyB3ZWxsIGZvciBtb3N0IHBlb3BsZS4KKworVGhlIEFtaWdhIGJpbmFyeSBpcyBub3cgYWx3YXlzIGNvbXBpbGVkIHdpdGggImJpZyIgZmVhdHVyZXMuICBUaGUgImJpZyIgYmluYXJ5CithcmNoaXZlIG5vIGxvbmdlciBleGlzdHMuCisKK1RoZSBpdGVtcyAiW1JPXSIsICJbK10iLCAiW2hlbHBdIiwgIltQcmV2aWV3XSIgYW5kICJbZmlsZXR5cGVdIiBpbgorJ3N0YXR1c2xpbmUnIG5vIGxvbmdlciBoYXZlIGEgbGVhZGluZyBzcGFjZS4KKworTm9uLVVuaXggc3lzdGVtczogV2hlbiBleHBhbmRpbmcgd2lsZGNhcmRzIGZvciB0aGUgVmltIGFyZ3VtZW50cywgZG9uJ3QgdXNlCisnc3VmZml4ZXMnLiAgSXQgbm93IHdvcmtzIGFzIGlmIHRoZSBzaGVsbCBoYWQgZXhwYW5kZWQgdGhlIGFyZ3VtZW50cy4KKworVGhlICdsaXNwJywgJ3NtYXJ0aW5kZW50JyBhbmQgJ2NpbmRlbnQnIG9wdGlvbnMgYXJlIG5vdCBzd2l0Y2hlZCBvZmYgd2hlbgorJ3Bhc3RlJyBpcyBzZXQuICBUaGUgYXV0by1pbmRlbnRpbmcgaXMgZGlzYWJsZWQgd2hlbiAncGFzdGUnIGlzIHNldCwgYnV0CittYW51YWwgaW5kZW50aW5nIHdpdGggIj0iIHN0aWxsIHdvcmtzLgorCitXaGVuIGZvcm1hdHRpbmcgd2l0aCAiPSIgdXNlcyAnY2luZGVudCcgb3IgJ2luZGVudGV4cHInIGluZGVudGluZywgYW5kIHRoZXJlCitpcyBubyBjaGFuZ2UgaW4gaW5kZW50LCB0aGlzIGlzIG5vdCBjb3VudGVkIGFzIGEgY2hhbmdlICgnbW9kaWZpZWQnIGlzbid0IHNldAorYW5kIHRoZXJlIGlzIG5vdGhpbmcgdG8gdW5kbykuCisKK1JlcG9ydCAnbW9kaWZpZWQnIGFzIGNoYW5nZWQgd2hlbiAnZmlsZWVuY29kaW5nJyBvciAnZmlsZWZvcm1hdCcgd2FzIHNldC4KK1RodXMgaXQgcmVmbGVjdHMgdGhlIHBvc3NpYmlsaXR5IHRvIGFiYW5kb24gdGhlIGJ1ZmZlciB3aXRob3V0IGxvc2luZyBjaGFuZ2VzLgorCitUaGUgIlNhdmUgQXMiIG1lbnUgZW50cnkgbm93IGVkaXRzIHRoZSBzYXZlZCBmaWxlLiAgTW9zdCBwZW9wbGUgZXhwZWN0IGl0IHRvCit3b3JrIGxpa2UgdGhpcy4KKworQSBidWZmZXIgZm9yIGEgZGlyZWN0b3J5IGlzIG5vIGxvbmdlciBhZGRlZCB0byB0aGUgQnVmZmVycyBtZW51LgorCitSZW5hbWVkIDxSZXR1cm4+IHRvIDxFbnRlcj4sIHNpbmNlIHRoYXQncyB3aGF0IGl0J3MgY2FsbGVkIG9uIG1vc3Qga2V5Ym9hcmRzLgorVGh1cyBpdCdzIG5vdyB0aGUgaGl0LWVudGVyIHByb21wdCBpbnN0ZWFkIG9mIHRoZSBoaXQtcmV0dXJuIHByb21wdC4KK0NhbiBtYXAgPEVudGVyPiBqdXN0IGxpa2UgPENSPiBvciA8UmV0dXJuPi4KKworVGhlIGRlZmF1bHQgZm9yIHRoZSAndmltaW5mbycgb3B0aW9uIGlzIG5vdyAnMjAsIjUwLGggd2hlbiAnY29tcGF0aWJsZScgaXNuJ3QKK3NldC4gIE1vc3QgcGVvcGxlIHdpbGwgd2FudCB0byB1c2UgaXQsIGluY2x1ZGluZyBiZWdpbm5lcnMsIGJ1dCBpdCByZXF1aXJlZAorc2V0dGluZyB0aGUgb3B0aW9uLCB3aGljaCBpc24ndCB0aGF0IGVhc3kuCisKK0FmdGVyIHVzaW5nICI6Y29sZGVyIiB0aGUgbmV3ZXIgZXJyb3IgbGlzdHMgYXJlIG92ZXJ3cml0dGVuLiAgVGhpcyBtYWtlcyBpdAorcG9zc2libGUgdG8gdXNlICI6Z3JlcCIgdG8gYnJvd3NlIGluIGEgdHJlZS1saWtlIHdheS4gIE11c3QgdXNlICI6Y25ld2VyIDk5IgordG8gZ2V0IHRoZSBvbGQgYmVoYXZpb3IuCisKK1RoZSBwYXR0ZXJucyBpbiAnZXJyb3Jmb3JtYXQnIHdvdWxkIHNvbWV0aW1lcyBpZ25vcmUgY2FzZSAoTVMtV2luZG93cykgYW5kCitzb21ldGltZXMgbm90IChVbml4KS4gIE5vdyBjYXNlIGlzIGFsd2F5cyBpZ25vcmVkLiAgQWRkICJcQyIgdG8gdGhlIHBhdHRlcm4gdG8KK21hdGNoIGNhc2UuCisKK1RoZSAxNiBiaXQgTVMtRE9TIHZlcnNpb24gaXMgbm93IGNvbXBpbGVkIHdpdGhvdXQgdGhlICtsaXN0Y21kcyBmZWF0dXJlCisoYnVmZmVyIGxpc3QgbWFuaXB1bGF0aW9uIGNvbW1hbmRzKS4gIFRoZXkgYXJlIG5vdCBvZnRlbiBuZWVkZWQgYW5kIHRoaXMKK2V4ZWN1dGFibGUgbmVlZHMgdG8gYmUgc21hbGxlci4KKworJ3Nlc3Npb25vcHRpb25zJyBub3cgaW5jbHVkZXMgImN1cmRpciIgYnkgZGVmYXVsdC4gIFRoaXMgbWVhbnMgdGhhdCByZXN0b3JpbmcKK2Egc2Vzc2lvbiB3aWxsIHJlc3VsdCBpbiB0aGUgY3VycmVudCBkaXJlY3RvcnkgYmVpbmcgcmVzdG9yZWQsIGluc3RlYWQgb2YKK2dvaW5nIHRvIHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIHNlc3Npb24gZmlsZSBpcyBsb2NhdGVkLgorCitBIHNlc3Npb24gZGVsZXRlZCBhbGwgYnVmZmVycywgZGVsZXRpbmcgYWxsIG1hcmtzLiAgTm93IGtlZXAgdGhlIGJ1ZmZlciBsaXN0LAoraXQgc2hvdWxkbid0IGh1cnQgZm9yIHNvbWUgZXhpc3RpbmcgYnVmZmVycyB0byByZW1haW4gcHJlc2VudC4KK1doZW4gdGhlIGFyZ3VtZW50IGxpc3QgaXMgZW1wdHkgIjphcmdkZWwgKiIgY2F1c2VkIGFuIGVycm9yIG1lc3NhZ2UuCisKK05vIGxvbmdlciBwdXQgdGhlIHNlYXJjaCBwYXR0ZXJuIGZyb20gYSB0YWcganVtcCBpbiB0aGUgaGlzdG9yeS4KKworVXNlICJTcGVjaWFsS2V5IiBoaWdobGlnaHRpbmcgZm9yIHVucHJpbnRhYmxlIGNoYXJhY3RlcnMgaW5zdGVhZCBvZiAiTm9uVGV4dCIuCitUaGUgaWRlYSBpcyB0aGF0IHVucHJpbnRhYmxlIHRleHQgb3IgYW55IHRleHQgdGhhdCdzIGRpc3BsYXllZCBkaWZmZXJlbnRseQorZnJvbSB0aGUgY2hhcmFjdGVycyBpbiB0aGUgZmlsZSBpcyB1c2luZyAiU3BlY2lhbEtleSIsIGFuZCAiTm9uVGV4dCIgaXMgdXNlZAorZm9yIHRleHQgdGhhdCBkb2Vzbid0IHJlYWxseSBleGlzdCBpbiB0aGUgZmlsZS4KKworTW90aWYgbm93IHVzZXMgdGhlIHN5c3RlbSBkZWZhdWx0IGNvbG9ycyBmb3IgdGhlIG1lbnUgYW5kIHNjcm9sbGJhci4gIFVzZWQgdG8KK2JlIGdyZXkuICBJdCdzIHN0aWxsIHBvc3NpYmxlIHRvIHNldCB0aGUgY29sb3JzIHdpdGggIjpoaWdobGlnaHQiIGNvbW1hbmRzIGFuZAorcmVzb3VyY2VzLgorCitGb3JtYXR0aW5nIHRleHQgd2l0aCAiZ3EiIGJyZWFrcyBhIHBhcmFncmFwaCBhdCBhIG5vbi1lbXB0eSBibGFuayBsaW5lLgorUHJldmlvdXNseSB0aGUgbGluZSB3b3VsZCBiZSByZW1vdmVkLCB3aGljaCB3YXNuJ3QgdmVyeSB1c2VmdWwuCisKKyI6bm9ybWFsIiBkb2VzIG5vIGxvbmdlciBoYW5nIHdoZW4gdGhlIGFyZ3VtZW50IGVuZHMgaW4gaGFsZiBhIGNvbW1hbmQuCitQcmV2aW91c2x5IFZpbSB3b3VsZCB3YWl0IGZvciBtb3JlIGNoYXJhY3RlcnMgdG8gYmUgdHlwZWQsIHdpdGhvdXQgdXBkYXRpbmcKK3RoZSBzY3JlZW4uICBOb3cgaXQgcHJldGVuZHMgYW4gPEVzYz4gd2FzIHR5cGVkLgorCitCaXRtYXBzIGZvciB0aGUgdG9vbGJhciBhcmUgbm8gbG9uZ2VyIHNlYXJjaGVkIGZvciBpbiAiJFZJTS9iaXRtYXBzIiBidXQgaW4KK3RoZSAiYml0bWFwcyIgZGlyZWN0b3JpZXMgaW4gJ3J1bnRpbWVwYXRoJy4KKworTm93IHVzZSB0aGUgQ21kbGluZS1tb2RlIG1lbnVzIGZvciB0aGUgaGl0LWVudGVyIHByb21wdCBpbnN0ZWFkIG9mIHRoZSBOb3JtYWwKK21vZGUgbWVudXMuICBUaGlzIGdlbmVyYWxseSB3b3JrcyBiZXR0ZXIgYW5kIGFsbG93cyB1c2luZyB0aGUgIkNvcHkiIG1lbnUgdG8KK3Byb2R1Y2UgQ1RSTC1ZIHRvIGNvcHkgdGhlIG1vZGVsZXNzIHNlbGVjdGlvbi4KKworTW92ZWQgdGhlIGZvbnQgc2VsZWN0aW9uIGZyb20gdGhlIFdpbmRvdyB0byB0aGUgRWRpdCBtZW51LCB0b2dldGhlciB3aXRoIHRoZQorb3RoZXIgc2V0dGluZ3MuCisKK1RoZSBkZWZhdWx0IHZhbHVlcyBmb3IgJ2lzZm5hbWUnIGluY2x1ZGUgbW9yZSBjaGFyYWN0ZXJzIHRvIG1ha2UgImdmIiB3b3JrCitiZXR0ZXIuCisKK0NoYW5nZWQgdGhlIGxpY2Vuc2UgZm9yIHRoZSBkb2N1bWVudGF0aW9uIHRvIHRoZSBPcGVuIFB1YmxpY2F0aW9uIExpY2Vuc2UuCitUaGlzIHNlZW1lZCBmYWlyLCBjb25zaWRlcmluZyB0aGUgaW5jbHVzaW9uIG9mIHBhcnRzIG9mIHRoZSBWaW0gYm9vaywgd2hpY2ggaXMKK2Fsc28gcHVibGlzaGVkIHVuZGVyIHRoZSBPUEwuICBUaGUgZG93bnNpZGUgaXMgdGhhdCB3ZSBjYW4ndCBmb3JjZSBzb21lb25lIHdobword291bGQgc2VsbCBjb3BpZXMgb2YgdGhlIG1hbnVhbCB0byBjb250cmlidXRlIHRvIFVnYW5kYS4KKworQWZ0ZXIgICJheXkgIGRvbid0IGxldCAgIiJ5eSAgb3IgIDpsZXQgQCIgPSB2YWwgIG92ZXJ3cml0ZSB0aGUgImEgcmVnaXN0ZXIuCitVc2UgdGhlIHVubmFtZWQgcmVnaXN0ZXIgaW5zdGVhZC4KKworTVNET1M6IEEgcGF0dGVybiAiKi4qIiBwcmV2aW91c2x5IGFsc28gbWF0Y2hlZCBhIGZpbGUgbmFtZSB3aXRob3V0IGEgZG90LgorVGhpcyB3YXMgaW5jb25zaXN0ZW50IHdpdGggb3RoZXIgdmVyc2lvbnMuCisKK0luIEluc2VydCBtb2RlLCBDVFJMLU8gQ1RSTC1cIENUUkwtTiB7Y21kfSByZW1haW5zIGluIE5vcm1hbCBtb2RlLiAgUHJldmlvdXNseQoraXQgd291bGQgZ28gYmFjayB0byBJbnNlcnQgbW9kZSwgdGh1cyBjb25mdXNpbmcgdGhlIG1lYW5pbmcgb2YgQ1RSTC1cIENUUkwtTiwKK3doaWNoIGlzIHN1cHBvc2VkIHRvIHRha2UgdXMgdG8gTm9ybWFsIG1vZGUgKGVzcGVjaWFsbHkgaW4gIjphbWVudSIpLgorCitBbGxvdyB1c2luZyAiOiIgY29tbWFuZHMgYWZ0ZXIgYW4gb3BlcmF0b3IuICBDb3VsZCBiZSB1c2VkIHRvIGltcGxlbWVudCBhIG5ldworbW92ZW1lbnQgY29tbWFuZC4gIFRodXMgaXQgbm8gbG9uZ2VyIGFib3J0cyBhIHBlbmRpbmcgb3BlcmF0b3IuCisKK0ZvciB0aGUgQW1pZ2EgdGhlICItZCB7ZGV2aWNlfSIgYXJndW1lbnQgd2FzIHBvc3NpYmxlLiAgV2hlbiBjb21waWxlZCB3aXRoIHRoZQorZGlmZiBmZWF0dXJlLCB0aGlzIG5vIGxvbmdlciB3b3Jrcy4gIFVzZSAiLWRldiB7ZGV2aWNlfSIgaW5zdGVhZC4gfC1kZXZ8CisKK01hZGUgdGhlIGRlZmF1bHQgbWFwcGluZ3MgZm9yIDxTLUluc2VydD4gaW4gSW5zZXJ0IG1vZGUgaW5zZXJ0IHRoZSB0ZXh0CitsaXRlcmFsbHksIGF2b2lkcyB0aGF0IHNwZWNpYWwgY2hhcmFjdGVycyBsaWtlIEJTIGNhdXNlIHNpZGUgZWZmZWN0cy4KKworVXNpbmcgIjpjb25maXJtIiBhcHBsaWVkIHRvIHRoZSByZXN0IG9mIHRoZSBsaW5lLiAgTm93IGl0IGFwcGxpZXMgb25seSB0byB0aGUKK2NvbW1hbmQgcmlnaHQgYWZ0ZXIgaXQuICBUaHVzICI6Y29uZmlybSBpZiB4IHwgZWRpdCB8IGVuZGlmIiBubyBsb25nZXIgd29ya3MsCit1c2UgIjppZiB4IHwgY29uZmlybSBlZGl0IHwgZW5kaWYiLiAgVGhpcyB3YXMgdGhlIG9yaWdpbmFsIGludGVudGlvbiwgdGhhdCBpdAord29ya2VkIGRpZmZlcmVudGx5IHdhcyBhIGJ1Zy4KKworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitORVcgRkVBVFVSRVMJCQkJCQkqbmV3LTYqCisKK0ZvbGRpbmcJCQkJCQkJKm5ldy1mb2xkaW5nKgorLS0tLS0tLQorCitWaW0gY2FuIG5vdyBkaXNwbGF5IGEgYnVmZmVyIHdpdGggdGV4dCBmb2xkZWQuICBUaGlzIGFsbG93cyBvdmVydmlld2luZyB0aGUKK3N0cnVjdHVyZSBvZiBhIGZpbGUgcXVpY2tseS4gIEl0IGlzIGFsc28gcG9zc2libGUgdG8geWFuaywgZGVsZXRlIGFuZCBwdXQKK2ZvbGRlZCB0ZXh0LCBmb3IgZXhhbXBsZSB0byBtb3ZlIGEgZnVuY3Rpb24gdG8gYW5vdGhlciBwb3NpdGlvbi4KKworVGhlcmUgaXMgYSB3aG9sZSBidW5jaCBvZiBuZXcgY29tbWFuZHMgYW5kIG9wdGlvbnMgcmVsYXRlZCB0byBmb2xkaW5nLgorU2VlIHxmb2xkaW5nfC4KKworCitWZXJ0aWNhbGx5IHNwbGl0IHdpbmRvd3MJCQkJKm5ldy12ZXJ0c3BsaXQqCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworV2luZG93cyBjYW4gYWxzbyBiZSBzcGxpdCB2ZXJ0aWNhbGx5LiAgVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byBoYXZlIHdpbmRvd3MKK3NpZGUgYnkgc2lkZS4gIE9uZSBuaWNlIHVzZSBmb3IgdGhpcyBpcyB0byBjb21wYXJlIHR3byBzaW1pbGFyIGZpbGVzIChzZWUKK3xuZXctZGlmZi1tb2RlfCkuICBUaGUgJ3Njcm9sbGJpbmQnIG9wdGlvbiBjYW4gYmUgdXNlZCB0byBzeW5jaHJvbml6ZQorc2Nyb2xsaW5nLgorCitBIHZlcnRpY2FsIHNwbGl0IGNhbiBiZSBjcmVhdGVkIHdpdGggdGhlIGNvbW1hbmRzOgorCTp2c3BsaXQJICBvciAgQ1RSTC1XIHYgIG9yIENUUkwtVyBDVFJMLVYJfDp2c3BsaXR8CisJOnZuZXcJCQkJCQl8OnZuZXd8CisJOnZlcnRpY2FsIHtjbWR9CQkJCQl8OnZlcnRpY2FsfAorVGhlIGxhc3Qgb25lIGlzIGEgbW9kaWZpZXIsIHdoaWNoIGhhcyBhIG1lYW5pbmcgZm9yIGFueSBjb21tYW5kIHRoYXQgc3BsaXRzIGEKK3dpbmRvdy4gIEZvciBleGFtcGxlOiA+CisJOnZlcnRpY2FsIHN0YWcgbWFpbgorV2lsbCB2ZXJ0aWNhbGx5IHNwbGl0IHRoZSB3aW5kb3cgYW5kIGp1bXAgdG8gdGhlIHRhZyAibWFpbiIgaW4gdGhlIG5ldyB3aW5kb3cuCisKK01vdmluZyBmcm9tIHdpbmRvdyB0byB3aW5kb3cgaG9yaXpvbnRhbGx5IGNhbiBiZSBkb25lIHdpdGggdGhlIHxDVFJMLVdfaHwgYW5kCit8Q1RSTC1XX2x8IGNvbW1hbmRzLiAgVGhlIHxDVFJMLVdfa3wgYW5kIHxDVFJMLVdfanwgY29tbWFuZHMgaGF2ZSBiZWVuIGNoYW5nZWQKK3RvIGp1bXAgdG8gdGhlIHdpbmRvdyBhYm92ZSBvciBiZWxvdyB0aGUgY3Vyc29yIHBvc2l0aW9uLgorCitUaGUgdmVydGljYWwgYW5kIGhvcml6b250YWwgc3BsaXRzIGNhbiBiZSBtaXhlZCBhcyB5b3UgbGlrZS4gIFJlc2l6aW5nIHdpbmRvd3MKK2lzIGVhc3kgd2hlbiB1c2luZyB0aGUgbW91c2UsIGp1c3QgcG9zaXRpb24gdGhlIHBvaW50ZXIgb24gYSBzdGF0dXMgbGluZSBvcgordmVydGljYWwgc2VwYXJhdG9yIGFuZCBkcmFnIGl0LiAgSW4gdGhlIEdVSSBhIHNwZWNpYWwgbW91c2UgcG9pbnRlciBzaGFwZQoraW5kaWNhdGVzIHdoZXJlIHlvdSBjYW4gZHJhZyBhIHN0YXR1cyBvciBzZXBhcmF0b3IgbGluZS4KKworVG8gcmVzaXplIHZlcnRpY2FsbHkgc3BsaXQgd2luZG93cyB1c2UgdGhlIHxDVFJMLVdfPHwgYW5kIHxDVFJMLVdfPnwgY29tbWFuZHMuCitUbyBtYWtlIGEgd2luZG93IHRoZSBtYXhpbXVtIHdpZHRoIHVzZSB0aGUgQ1RSTC1XIHwgY29tbWFuZCB8Q1RSTC1XX2JhcnwuCisKK1RvIGZvcmNlIGEgbmV3IHdpbmRvdyB0byB1c2UgdGhlIGZ1bGwgd2lkdGggb3IgaGVpZ2h0IG9mIHRoZSBWaW0gd2luZG93LAordGhlc2UgdHdvIG1vZGlmaWVycyBhcmUgYXZhaWxhYmxlOgorCTp0b3BsZWZ0IHtjbWR9CQlOZXcgd2luZG93IGFwcGVhcnMgYXQgdGhlIHRvcCB3aXRoIGZ1bGwKKwkJCQl3aWR0aCBvciBhdCB0aGUgbGVmdCB3aXRoIGZ1bGwgaGVpZ2h0LgorCTpib3RyaWdodCB7Y21kfQkJTmV3IHdpbmRvdyBhcHBlYXJzIGF0IHRoZSBib3R0b20gd2l0aCBmdWxsCisJCQkJd2lkdGggb3IgYXQgdGhlIHJpZ2h0IHdpdGggZnVsbCBoZWlnaHQuCitUaGlzIGNhbiBiZSBjb21iaW5lZCB3aXRoICI6dmVydGljYWwiIHRvIGZvcmNlIGEgdmVydGljYWwgc3BsaXQ6ID4KKwk6dmVydCBib3QgZHNwbGl0IERFQlVHCitUaGlzIHdpbGwgb3BlbiBhIHdpbmRvdyBhdCB0aGUgZmFyIHJpZ2h0LCBvY2N1cHlpbmcgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSBWaW0KK3dpbmRvdywgd2l0aCB0aGUgY3Vyc29yIG9uIHRoZSBmaXJzdCBkZWZpbml0aW9uIG9mICJERUJVRyIuCitUaGUgaGVscCB3aW5kb3cgaXMgb3BlbmVkIGF0IHRoZSB0b3AsIGxpa2UgIjp0b3BsZWZ0IiB3YXMgdXNlZCwgaWYgdGhlIGN1cnJlbnQKK3dpbmRvdyBpcyBmZXdlciB0aGFuIDgwIGNoYXJhY3RlcnMgd2lkZS4KKworQSBmZXcgb3B0aW9ucyBjYW4gYmUgdXNlZCB0byBzZXQgdGhlIHByZWZlcmVuY2VzIGZvciB2ZXJ0aWNhbGx5IHNwbGl0IHdpbmRvd3MuCitUaGV5IHdvcmsgc2ltaWxhciB0byB0aGVpciBleGlzdGluZyBob3Jpem9udGFsIGVxdWl2YWxlbnRzOgorCWhvcml6b250YWwJdmVydGljYWwgfgorCSdzcGxpdGJlbG93Jwknc3BsaXRyaWdodCcKKwknd2luaGVpZ2h0Jwknd2lud2lkdGgnCisJJ3dpbm1pbmhlaWdodCcJJ3dpbm1pbndpZHRoJworSXQncyBwb3NzaWJsZSB0byBzZXQgJ3dpbm1pbndpZHRoJyB0byB6ZXJvLCBzbyB0aGF0IHRlbXBvcmFyaWx5IHVudXNlZCB3aW5kb3dzCitoYXJkbHkgdGFrZSB1cCBzcGFjZSB3aXRob3V0IGNsb3NpbmcgdGhlbS4KKworVGhlIG5ldyAnZWFkaXJlY3Rpb24nIG9wdGlvbiB0ZWxscyB3aGVyZSAnZXF1YWxhbHdheXMnIGFwcGxpZXM6CisJOnNldCBlYWRpcmVjdGlvbj1ib3RoCQlib3RoIGRpcmVjdGlvbnMKKwk6c2V0IGVhZGlyZWN0aW9uPXZlcgkJZXF1YWxpemUgd2luZG93IGhlaWdodHMKKwk6c2V0IGVhZGlyZWN0aW9uPWhvcgkJZXF1YWxpemUgd2luZG93cyB3aWR0aHMKK1RoaXMgY2FuIGJlIHVzZWQgdG8gYXZvaWQgY2hhbmdpbmcgd2luZG93IHNpemVzIHdoZW4geW91IHdhbnQgdG8ga2VlcCB0aGVtLgorCitTaW5jZSB3aW5kb3dzIGNhbiBiZWNvbWUgcXVpdGUgbmFycm93IHdpdGggdmVydGljYWwgc3BsaXRzLCB0ZXh0IGxpbmVzIHdpbGwKK29mdGVuIG5vdCBmaXQuICBUaGUgJ3NpZGVzY3JvbGxvZmYnIGhhcyBiZWVuIGFkZGVkIHRvIGtlZXAgc29tZSBjb250ZXh0IGxlZnQKK2FuZCByaWdodCBvZiB0aGUgY3Vyc29yLiAgVGhlICdsaXN0Y2hhcnMnIG9wdGlvbiBoYXMgYmVlbiBleHRlbmRlZCB3aXRoIHRoZQorInByZWNlZGVzIiBpdGVtLCB0byBzaG93IGEgIjwiIGZvciBleGFtcGxlLCB3aGVuIHRoZXJlIGlzIHRleHQgbGVmdCBvZmYgdGhlCitzY3JlZW4uIChVdHotVXdlIEhhdXMpCisKKyItTyIgY29tbWFuZCBsaW5lIGFyZ3VtZW50OiBMaWtlICItbyIgYnV0IHNwbGl0IHdpbmRvd3MgdmVydGljYWxseS4gKFNjb3R0CitVcmJhbikKKworQWRkZWQgY29tbWFuZHMgdG8gbW92ZSB0aGUgY3VycmVudCB3aW5kb3cgdG8gdGhlIHZlcnkgdG9wIChDVFJMLVcgSyksIGJvdHRvbQorKENUUkwtVyBKKSwgbGVmdCAoQ1RSTC1XIEgpIGFuZCByaWdodCAoQ1RSTC1XIEwpLiAgSW4gdGhlIG5ldyBwb3NpdGlvbiB0aGUKK3dpbmRvdyB1c2VzIHRoZSBmdWxsIHdpZHRoL2hlaWdodCBvZiB0aGUgc2NyZWVuLgorCitXaGVuIHRoZXJlIGlzIG5vdCBlbm91Z2ggcm9vbSBpbiB0aGUgc3RhdHVzIGxpbmUgZm9yIGJvdGggdGhlIGZpbGUgbmFtZSBhbmQKK3RoZSBydWxlciwgdXNlIHVwIHRvIGhhbGYgdGhlIHdpZHRoIGZvciB0aGUgcnVsZXIuICBVc2VmdWwgZm9yIG5hcnJvdyB3aW5kb3dzLgorCisKK0RpZmYgbW9kZQkJCQkJCSpuZXctZGlmZi1tb2RlKgorLS0tLS0tLS0tCisKK0luIGRpZmYgbW9kZSBWaW0gc2hvd3MgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdHdvLCB0aHJlZSBvciBmb3VyIGZpbGVzLgorRm9sZGluZyBpcyB1c2VkIHRvIGhpZGUgdGhlIHBhcnRzIG9mIHRoZSBmaWxlIHRoYXQgYXJlIGVxdWFsLgorSGlnaGxpZ2h0aW5nIGlzIHVzZWQgdG8gc2hvdyBkZWxldGVkIGFuZCBjaGFuZ2VkIGxpbmVzLgorU2VlIHxkaWZmLW1vZGV8LgorCitBbiBlYXN5IHdheSB0byBzdGFydCBpbiBkaWZmIG1vZGUgaXMgdG8gc3RhcnQgVmltIGFzICJ2aW1kaWZmIGZpbGUxIGZpbGUyIi4KK0FkZGVkIHRoZSB2aW1kaWZmIG1hbnBhZ2UuCisKK0luIGEgcnVubmluZyBWaW0gdGhlIHw6ZGlmZnNwbGl0fCBjb21tYW5kIHN0YXJ0cyBkaWZmIG1vZGUgZm9yIHRoZSBjdXJyZW50CitmaWxlIGFuZCBhbm90aGVyIGZpbGUuICBUaGUgfDpkaWZmcGF0Y2h8IGNvbW1hbmQgc3RhcnRzIGRpZmYgbW9kZSB1c2luZyB0aGUKK2N1cnJlbnQgZmlsZSBhbmQgYSBwYXRjaCBmaWxlLiAgVGhlIHw6ZGlmZnRoaXN8IGNvbW1hbmQgc3RhcnRzIGRpZmYgbW9kZSBmb3IKK3RoZSBjdXJyZW50IHdpbmRvdy4KKworRGlmZmVyZW5jZXMgY2FuIGJlIHJlbW92ZWQgd2l0aCB0aGUgfDpkaWZmZ2V0fCBhbmQgfDpkaWZmcHV0fCBjb21tYW5kcy4KKworLSBUaGUgJ2RpZmYnIG9wdGlvbiBzd2l0Y2hlcyBkaWZmIG1vZGUgb24gaW4gYSB3aW5kb3cuCistIFRoZSB8OmRpZmZ1cGRhdGV8IGNvbW1hbmQgcmVmcmVzaGVzIHRoZSBkaWZmcy4KKy0gVGhlICdkaWZmb3B0JyBvcHRpb24gY2hhbmdlcyBob3cgZGlmZnMgYXJlIGRpc3BsYXllZC4KKy0gVGhlICdkaWZmZXhwcicgb3B0aW9uIGNhbiBiZSBzZXQgaG93IGEgZGlmZiBpcyB0byBiZSBjcmVhdGVkLgorLSBUaGUgJ3BhdGNoZXhwcicgb3B0aW9uIGNhbiBiZSBzZXQgaG93IHBhdGNoIGlzIGFwcGxpZWQgdG8gYSBmaWxlLgorLSBBZGRlZCB0aGUgImRpZmYiIGZvbGRpbmcgbWV0aG9kLiAgV2hlbiBvcGVuaW5nIGEgd2luZG93IGZvciBkaWZmLW1vZGUsIHNldAorICAnZm9sZGxldmVsJyB0byB6ZXJvIGFuZCAnZm9sZGVuYWJsZScgb24sIHRvIGNsb3NlIHRoZSBmb2xkcy4KKy0gQWRkZWQgdGhlIERpZmZBZGQsIERpZmZDaGFuZ2UsIERpZmZEZWxldGUgYW5kIERpZmZUZXh0IGhpZ2hsaWdodCBncm91cHMgdG8KKyAgc3BlY2lmeSB0aGUgaGlnaGxpZ2h0aW5nIGZvciBkaWZmZXJlbmNlcy4gIFRoZSBkZWZhdWx0cyBhcmUgdWdseS4uLgorLSBVbml4OiBtYWtlIGEgdmltZGlmZiBzeW1ib2xpYyBsaW5rIGZvciAibWFrZSBpbnN0YWxsIi4KKy0gUmVtb3ZlZCB0aGUgbm93IG9ic29sZXRlICJ2aW1kaWZmLnZpbSIgc2NyaXB0IGZyb20gdGhlIGRpc3RyaWJ1dGlvbi4KKy0gQWRkZWQgdGhlICJbYyIgYW5kICJdYyIgY29tbWFuZHMgdG8gbW92ZSB0byB0aGUgbmV4dC9wcmV2aW91cyBjaGFuZ2UgaW4gZGlmZgorICBtb2RlLgorCisKK0Vhc3kgVmltOiBjbGljay1hbmQtdHlwZQkJCQkqbmV3LWV2aW0qCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworZVZpbSBzdGFuZHMgZm9yICJFYXN5IFZpbSIuICBUaGlzIGlzIGEgc2VwYXJhdGUgcHJvZ3JhbSwgYnV0IGNhbiBhbHNvIGJlCitzdGFydGVkIGFzICJ2aW0gLXkiLgorCitUaGlzIHN0YXJ0cyBWaW0gd2l0aCAnaW5zZXJ0bW9kZScgc2V0IHRvIGFsbG93IGNsaWNrLWFuZC10eXBlIGVkaXRpbmcuICBUaGUKKyRWSU1SVU5USU1FL2V2aW0udmltIHNjcmlwdCBpcyB1c2VkIHRvIGFkZCBtYXBwaW5ncyBhbmQgc2V0IG9wdGlvbnMgdG8gYmUgYWJsZQordG8gZG8gbW9zdCB0aGluZ3MgbGlrZSBOb3RlcGFkLiAgVGhpcyBpcyBvbmx5IGZvciBwZW9wbGUgd2hvIGNhbid0IHN0YW5kIHR3bworbW9kZXMuCisKK2VWaWV3IGRvZXMgdGhlIHNhbWUgYnV0IGluIHJlYWRvbmx5IG1vZGUuCisKK0luIHRoZSBHVUkgYSBDVFJMLUMgbm93IG9ubHkgaW50ZXJydXB0cyB3aGVuIGJ1c3kgd2l0aCBzb21ldGhpbmcsIG5vdCB3aGVuCit3YWl0aW5nIGZvciBhIGNoYXJhY3Rlci4gIEFsbG93cyB1c2luZyBDVFJMLUMgdG8gY29weSB0ZXh0IHRvIHRoZSBjbGlwYm9hcmQuCisKKworVXNlciBtYW51YWwJCQkJCQkqbmV3LXVzZXItbWFudWFsKgorLS0tLS0tLS0tLS0KKworVGhlIHVzZXIgbWFudWFsIGhhcyBiZWVuIGFkZGVkLiAgSXQgaXMgb3JnYW5pc2VkIGFyb3VuZCBlZGl0aW5nIHRhc2tzLiAgSXQKK3JlYWRzIGxpa2UgYSBib29rLCBmcm9tIHN0YXJ0IHRvIGVuZC4gIEl0IHNob3VsZCBhbGxvdyBiZWdpbm5lcnMgdG8gc3RhcnQKK2xlYXJuaW5nIFZpbS4gIEl0IGhlbHBzIGV2ZXJ5Ym9keSB0byBsZWFybiB1c2luZyB0aGUgbW9zdCB1c2VmdWwgVmltIGZlYXR1cmVzLgorSXQgaXMgbXVjaCBlYXNpZXIgdG8gcmVhZCB0aGFuIHRoZSByZWZlcmVuY2UgbWFudWFsLCBidXQgb21pdHMgZGV0YWlscy4gIFNlZQorfHVzZXItbWFudWFsfC4KKworVGhlIHVzZXIgbWFudWFsIGluY2x1ZGVzIHBhcnRzIG9mIHRoZSBWaW0gYm9vayBieSBTdGV2ZSBPdWFsbGluZSB8ZnJvbWJvb2t8LgorSXQgaXMgcHVibGlzaGVkIHVuZGVyIHRoZSBPUEwgfG1hbnVhbC1jb3B5cmlnaHR8LgorCitXaGVuIHN5bnRheCBoaWdobGlnaHRpbmcgaXMgbm90IGVuYWJsZWQsIHRoZSBjaGFyYWN0ZXJzIGluIHRoZSBoZWxwIGZpbGUgd2hpY2gKK21hcmsgZXhhbXBsZXMgKCc+JyBhbmQgJzwnKSBhbmQgaGVhZGVyIGxpbmVzICgnficpIGFyZSByZXBsYWNlZCB3aXRoIGEgc3BhY2UuCisKK1doZW4gY2xvc2luZyB0aGUgaGVscCB3aW5kb3csIHRoZSB3aW5kb3cgbGF5b3V0IGlzIHJlc3RvcmVkIGZyb20gYmVmb3JlCitvcGVuaW5nIGl0LCBpZiB0aGUgd2luZG93IGxheW91dCBkaWRuJ3QgY2hhbmdlIHNpbmNlIHRoZW4uCitXaGVuIG9wZW5pbmcgdGhlIGhlbHAgd2luZG93LCBwdXQgaXQgYXQgdGhlIHRvcCBvZiB0aGUgVmltIHdpbmRvdyBpZiB0aGUKK2N1cnJlbnQgd2luZG93IGlzIGZld2VyIHRoYW4gODAgY2hhcmFjdGVycyBhbmQgbm90IGZ1bGwgd2lkdGguCisKKworRmxleGlibGUgaW5kZW50aW5nCQkJCQkqbmV3LWluZGVudC1mbGV4KgorLS0tLS0tLS0tLS0tLS0tLS0tCisKK0F1dG9tYXRpYyBpbmRlbnRpbmcgaXMgbm93IHBvc3NpYmxlIGZvciBhbnkgbGFuZ3VhZ2UuICBJdCB3b3JrcyB3aXRoIGEgVmltCitzY3JpcHQsIHdoaWNoIG1ha2VzIGl0IHZlcnkgZmxleGlibGUgdG8gY29tcHV0ZSB0aGUgaW5kZW50LgorCitUaGUgIjpmaWxldHlwZSBpbmRlbnQgb24iIGNvbW1hbmQgZW5hYmxlcyB1c2luZyB0aGUgcHJvdmlkZWQgaW5kZW50IHNjcmlwdHMuCitUaGlzIGlzIGV4cGxhaW5lZCBpbiB0aGUgdXNlciBtYW51YWw6IHwzMC4zfC4KKworVGhlICdpbmRlbnRleHByJyBvcHRpb24gaXMgZXZhbHVhdGVkIHRvIGdldCB0aGUgaW5kZW50IGZvciBhIGxpbmUuICBUaGUKKydpbmRlbnRrZXlzJyBvcHRpb24gdGVsbHMgd2hlbiB0byB0cmlnZ2VyIHJlLWluZGVudGluZy4gIE5vcm1hbGx5IHRoZXNlCitvcHRpb25zIGFyZSBzZXQgZnJvbSBhbiBpbmRlbnQgc2NyaXB0LiAgTGlrZSBTeW50YXggZmlsZXMsIGluZGVudCBzY3JpcHRzIHdpbGwKK2JlIGNyZWF0ZWQgYW5kIG1haW50YWluZWQgYnkgbWFueSBwZW9wbGUuCisKKworRXh0ZW5kZWQgc2VhcmNoIHBhdHRlcm5zCQkJCSpuZXctc2VhcmNocGF0KgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0FkZGVkIHRoZSBwb3NzaWJpbGl0eSB0byBtYXRjaCBtb3JlIHRoYW4gb25lIGxpbmUgd2l0aCBhIHBhdHRlcm4uIChwYXJ0bHkgYnkKK0xvaWMgR3JlbmllKQorTmV3IGl0ZW1zIGluIGEgc2VhcmNoIHBhdHRlcm4gZm9yIG11bHRpLWxpbmUgbWF0Y2hlczoKK1xuCQltYXRjaCBlbmQtb2YtbGluZSwgYWxzbyBpbiBbXQorXF9bXQkJbWF0Y2ggY2hhcmFjdGVycyBpbiByYW5nZSBhbmQgZW5kLW9mLWxpbmUKK1xfeAkJbWF0Y2ggY2hhcmFjdGVyIGNsYXNzIGFuZCBlbmQtb2YtbGluZQorXF8uCQltYXRjaCBhbnkgY2hhcmFjdGVyIG9yIGVuZC1vZi1saW5lCitcX14JCW1hdGNoIHN0YXJ0LW9mLWxpbmUsIGNhbiBiZSB1c2VkIGFueXdoZXJlIGluIHRoZSByZWdleHAKK1xfJAkJbWF0Y2ggZW5kLW9mLWxpbmUsIGNhbiBiZSB1c2VkIGFueXdoZXJlIGluIHRoZSByZWdleHAKKworVmFyaW91cyBvdGhlciBuZXcgaXRlbXMgaW4gc2VhcmNoIHBhdHRlcm5zOgorXGMJCWlnbm9yZSBjYXNlIGZvciB0aGUgd2hvbGUgcGF0dGVybgorXEMJCW1hdGNoIGNhc2UgZm9yIHRoZSB3aG9sZSBwYXR0ZXJuCitcbQkJbWFnaWMgb24gZm9yIHRoZSBmb2xsb3dpbmcKK1xNCQltYWdpYyBvZmYgZm9yIHRoZSBmb2xsb3dpbmcKK1x2CQltYWtlIGZvbGxvd2luZyBjaGFyYWN0ZXJzICJ2ZXJ5IG1hZ2ljIgorXFYJCW1ha2UgZm9sbG93aW5nIGNoYXJhY3RlcnMgInZlcnkgbm9tYWdpYyIKKworXEAhCQlkb24ndCBtYXRjaCBhdG9tIGJlZm9yZSB0aGlzLgorCQlFeGFtcGxlOiAiZm9vXChiYXJcKVxAISIgbWF0Y2hlcyAiZm9vICIgYnV0IG5vdCAiZm9vYmFyIi4KK1xAPQkJbWF0Y2ggYXRvbSwgcmVzdWx0aW5nIGluICB6ZXJvLXdpZHRoIG1hdGNoCisJCUV4YW1wbGU6ICJmb29cKGJhclwpXEA9IiBtYXRjaGVzICJmb28iIGluICJmb29iYXIiLgorXEA8IQkJZG9uJ3QgbWF0Y2ggcHJlY2VkaW5nIGF0b20gYmVmb3JlIHRoZSBjdXJyZW50IHBvc2l0aW9uCitcQDw9CQltYXRjaCBwcmVjZWRpbmcgYXRvbSBiZWZvcmUgdGhlIGN1cnJlbnQgcG9zaXRpb24KK1xAPgkJbWF0Y2ggcHJlY2VkaW5nIGF0b20gYXMgYSBzdWJleHByZXNzaW9uCisKK1wmCQltYXRjaCBvbmx5IHdoZW4gYnJhbmNoIGJlZm9yZSBhbmQgYWZ0ZXIgaXQgbWF0Y2gKKworXCVbXQkJb3B0aW9uYWxseSBtYXRjaCBhIGxpc3Qgb2YgYXRvbXM7ICJlbmRcJVtpZl0iIG1hdGNoZXMgImVuZCIsCisJCSJlbmRpIiBhbmQgImVuZGlmIgorXCUoXCkJCWxpa2UgXChcKSwgYnV0IHdpdGhvdXQgY3JlYXRpbmcgYSBiYWNrLXJlZmVyZW5jZTsgdGhlcmUgY2FuIGJlCisJCWFueSBudW1iZXIgb2YgdGhlc2UsIG92ZXJjb21lcyB0aGUgbGltaXQgb2YgbmluZSBcKCBcKSBwYWlycworXCVeCQltYXRjaCBzdGFydC1vZi1maWxlIChDaGFzZSBUaW5nbGV5KQorXCUkCQltYXRjaCBlbmQtb2YtZmlsZSAoQ2hhc2UgVGluZ2xleSkKK1wlIwkJTWF0Y2ggd2l0aCB0aGUgY3Vyc29yIHBvc2l0aW9uLiAoQ2hhc2UgVGluZ2xleSkKK1w/CQlKdXN0IGxpa2UgIlw9IiBidXQgY2FuJ3QgYmUgdXNlZCBpbiBhICI/IiBjb21tYW5kLgorCitcJTIzbAkJbWF0Y2ggaW4gbGluZSAyMworXCU8MjNsCQltYXRjaCBiZWZvcmUgbGluZSAyMworXCU+MjNsCQltYXRjaCBhZnRlciBsaW5lIDIzCitcJTIzYywgXCU8MjNjLCBcJT4yM2MgICBtYXRjaCBpbi9iZWZvcmUvYWZ0ZXIgY29sdW1uIDIzCitcJTIzdiwgXCU8MjN2LCBcJT4yM3YJbWF0Y2ggaW4vYmVmb3JlL2FmdGVyIHZpcnR1YWwgY29sdW1uIDIzCisKKworRm9yIHN5bnRheCBpdGVtczoKK1x6KC4uLlwpCWV4dGVybmFsIHJlZmVyZW5jZSBtYXRjaCBzZXQgKGluIHJlZ2lvbiBzdGFydCBwYXR0ZXJuKQorXHoxIC0gXHo5CWV4dGVybmFsIHJlZmVyZW5jZSBtYXRjaCB1c2UgKGluIHJlZ2lvbiBza2lwIG9yIGVuZCBwYXR0ZXJuKQorCShTY290dCBCaWdoYW0pCisKK1x6cwkJdXNlIHBvc2l0aW9uIGFzIHN0YXJ0IG9mIG1hdGNoCitcemUJCXVzZSBwb3NpdGlvbiBhcyBlbmQgb2YgbWF0Y2gKKworUmVtb3ZlZCBsaW1pdCBvZiBtYXRjaGluZyBvbmx5IHVwIHRvIDMyNzY3IHRpbWVzIHdpdGggKiwgXCssIGV0Yy4KKworQWRkZWQgc3VwcG9ydCB0byBtYXRjaCBtdWx0aS1ieXRlIGNoYXJhY3RlcnMuIChwYXJ0bHkgYnkgTXVyYW9rYSBUYXJvKQorTWFkZSAiXDwiIGFuZCAiXD4iIHdvcmsgZm9yIFVURi04LiAoTXVyYW9rYSBUYXJvKQorCisKK1VURi04IHN1cHBvcnQJCQkJCQkqbmV3LXV0Zi04KgorLS0tLS0tLS0tLS0tLQorCitWaW0gY2FuIG5vdyBlZGl0IGZpbGVzIGluIFVURi04IGVuY29kaW5nLiAgVXAgdG8gMzEgYml0IGNoYXJhY3RlcnMgY2FuIGJlCit1c2VkLCBidXQgb25seSAxNiBiaXQgY2hhcmFjdGVycyBhcmUgZGlzcGxheWVkLiAgVXAgdG8gdHdvIGNvbWJpbmluZworY2hhcmFjdGVycyBhcmUgc3VwcG9ydGVkLCB0aGV5IG92ZXJwcmludCB0aGUgcHJlY2VkaW5nIGNoYXJhY3Rlci4KK0RvdWJsZS13aWRlIGNoYXJhY3RlcnMgYXJlIGFsc28gc3VwcG9ydGVkLiAgU2VlIHxVVEYtOHwuCisKK1VDUy0yLCBVQ1MtNCBhbmQgVVRGLTE2IGVuY29kaW5ncyBhcmUgc3VwcG9ydGVkIHRvbywgdGhleSBhcmUgY29udmVydGVkIHRvCitVVEYtOCBpbnRlcm5hbGx5LiAgVGhlcmUgaXMgYWxzbyBzdXBwb3J0IGZvciBlZGl0aW5nIFVuaWNvZGUgZmlsZXMgaW4gYSBMYXRpbjEKK2Vudmlyb25tZW50LiAgT3RoZXIgZW5jb2RpbmdzIGFyZSBjb252ZXJ0ZWQgd2l0aCBpY29udigpIG9yIGFuIGV4dGVybmFsCitjb252ZXJ0ZXIgc3BlY2lmaWVkIHdpdGggJ2NoYXJjb252ZXJ0Jy4KKworTWFueSBuZXcgaXRlbXMgZm9yIE11bHRpLWJ5dGUgc3VwcG9ydDoKKy0gQWRkZWQgJ2VuY29kaW5nJyBvcHRpb246IHNwZWNpZmllcyBjaGFyYWN0ZXIgZW5jb2RpbmcgdXNlZCBpbnNpZGUgVmltLiAgSXQKKyAgY2FuIGJlIGFueSA4LWJpdCBlbmNvZGluZywgc29tZSBkb3VibGUtYnl0ZSBlbmNvZGluZ3Mgb3IgVW5pY29kZS4KKyAgSXQgaXMgaW5pdGlhbGl6ZWQgZnJvbSB0aGUgZW52aXJvbm1lbnQgd2hlbiBhIHN1cHBvcnRlZCB2YWx1ZSBpcyBmb3VuZC4KKy0gQWRkZWQgJ2ZpbGVlbmNvZGluZycgYW5kICdmaWxlZW5jb2RpbmdzJzogc3BlY2lmeSBjaGFyYWN0ZXIgY29kaW5nIGluIGEKKyAgZmlsZSwgc2ltaWxhciB0byAnZmlsZWZvcm1hdCcgYW5kICdmaWxlZm9ybWF0cycuCisgIFdoZW4gJ2VuY29kaW5nJyBpcyAidXRmLTgiIGFuZCAnZmlsZWVuY29kaW5ncycgaXMgInV0Zi04LGxhdGluMSIgdGhpcyB3aWxsCisgIGF1dG9tYXRpY2FsbHkgc3dpdGNoIHRvIGxhdGluMSBpZiBhIGZpbGUgZG9lcyBub3QgY29udGFpbiB2YWxpZCBVVEYtOC4KKy0gQWRkZWQgJ2JvbWInIG9wdGlvbiBhbmQgZGV0ZWN0aW9uIG9mIGEgQk9NIGF0IHRoZSBzdGFydCBvZiBhIGZpbGUuICBDYW4gYmUKKyAgdXNlZCB3aXRoICJ1Y3MtYm9tIiBpbiAnZmlsZWVuY29kaW5ncycgdG8gYXV0b21hdGljYWxseSBkZXRlY3QgYSBVbmljb2RlCisgIGZpbGUgaWYgaXQgc3RhcnRzIHdpdGggYSBCT00uICBFc3BlY2lhbGx5IHVzZWZ1bCBvbiBNUy1XaW5kb3dzIChOVCBhbmQKKyAgMjAwMCksIHdoaWNoIHVzZXMgdWNzLTJsZSBmaWxlcyB3aXRoIGEgQk9NIChlLmcuLCB3aGVuIGV4cG9ydGluZyB0aGUKKyAgcmVnaXN0cnkpLgorLSBBZGRlZCB0aGUgJ3Rlcm1lbmNvZGluZycgb3B0aW9uOiBTcGVjaWZpZXMgdGhlIGVuY29kaW5nIHVzZWQgZm9yIHRoZQorICB0ZXJtaW5hbC4gIFVzZWZ1bCB0byBwdXQgVmltIGluIHV0Zi04IG1vZGUgd2hpbGUgaW4gYSBub24tVW5pY29kZSBsb2NhbGU6ID4KKyAgICA6bGV0ICZ0ZXJtZW5jb2RpbmcgPSAmZW5jb2RpbmcKKyAgICA6c2V0IGVuY29kaW5nPXV0Zi04CistIFdoZW4gJ3ZpbWluZm8nIGNvbnRhaW5zIHRoZSAnYycgZmxhZywgdGhlIHZpbWluZm8gZmlsZSBpcyBjb252ZXJ0ZWQgZnJvbSB0aGUKKyAgJ2VuY29kaW5nJyBpdCB3YXMgd3JpdHRlbiB3aXRoIHRvIHRoZSBjdXJyZW50ICdlbmNvZGluZycuCistIEFkZGVkICI6c2NyaXB0ZW5jb2RpbmciIGNvbW1hbmQ6IGNvbnZlcnQgbGluZXMgaW4gYSBzb3VyY2VkIHNjcmlwdCB0bworICAnZW5jb2RpbmcnLiAgVXNlZnVsIGZvciBtZW51IGZpbGVzLgorLSBBZGRlZCAnZ3VpZm9udHdpZGUnIHRvIHNwZWNpZnkgYSBmb250IGZvciBkb3VibGUtd2lkZSBjaGFyYWN0ZXJzLgorLSBBZGRlZCBLb3JlYW4gc3VwcG9ydCBmb3IgY2hhcmFjdGVyIGNsYXNzIGRldGVjdGlvbi4gIEFsc28gZml4IGNscygpIGluCisgIHNlYXJjaC5jLiAoQ2hvbmctRGFlIFBhcmspCistIFdpbjMyOiBUeXBpbmcgbXVsdGktYnl0ZSBjaGFyYWN0ZXJzIHdpdGhvdXQgSU1FLiAoQWxleGFuZGVyIFNtaXNobGFqZXYpCistIFdpbjMyIHdpdGggTWluZ3c6IGNvbXBpbGUgd2l0aCBpY29udiBsaWJyYXJ5LiAoUm9uIEFhcm9uKQorLSBXaW4zMiB3aXRoIE1TVkM6IGR5bmFtaWNhbGx5IGxvYWQgaWNvbnYuZGxsIGxpYnJhcnkuIChNdXJhb2thIFRhcm8pCistIE1ha2UgaXQgcG9zc2libGUgdG8gYnVpbGQgYSB2ZXJzaW9uIHdpdGggbXVsdGktYnl0ZSBhbmQgaWNvbnYgc3VwcG9ydCB3aXRoCisgIEJvcmxhbmQgNS41LiAgKFlhc3VoaXJvIE1hdHN1bW90bykKKy0gQWRkZWQgJ2RlbGNvbWJpbmUnIG9wdGlvbjogRGVsZXRlIGNvbWJpbmluZyBjaGFyYWN0ZXIgc2VwYXJhdGVseS4gKFJvbgorICBBYXJvbikKKy0gVGhlICJ4Zm9udHNldCIgZmVhdHVyZSBpc24ndCByZXF1aXJlZCBmb3IgInhpbSIuICBUaGVzZSBhcmUgbm93IHR3bworICBpbmRlcGVuZGVudCBmZWF0dXJlcy4KKy0gWElNOiBlbmFibGUgWElNIHdoZW4gdHlwaW5nIGEgbGFuZ3VhZ2UgY2hhcmFjdGVyIChJbnNlcnQgbW9kZSwgU2VhcmNoCisgIHBhdHRlcm4sICJmIiBvciAiciIgY29tbWFuZCkuICBEaXNhYmxlIFhJTSB3aGVuIHR5cGluZyBhIE5vcm1hbCBtb2RlCisgIGNvbW1hbmQuCistIFdoZW4gdGhlIFhJTSBpcyBhY3RpdmUsIHNob3cgIlhJTSIgaW4gdGhlICdzaG93bW9kZScgbWVzc2FnZS4gKE5hbSBTdW5nSHl1bikKKy0gU3VwcG9ydCAiQ3Vyc29ySU0iIGZvciBYSU0uICAoTmFtIFN1bmdIeXVuKQorLSBBZGRlZCAnbScgZmxhZyB0byAnZm9ybWF0b3B0aW9ucyc6IFdoZW4gd3JhcHBpbmcgd29yZHMsIGFsbG93IHNwbGl0dGluZyBhdAorICBlYWNoIG11bHRpYnl0ZSBjaGFyYWN0ZXIsIG5vdCBvbmx5IGF0IGEgc3BhY2UuCistIE1hZGUgIjpzeW50YXgga2V5d29yZCIgd29yayB3aXRoIG11bHRpLWJ5dGUgY2hhcmFjdGVycy4KKy0gQWRkZWQgc3VwcG9ydCBmb3IgVW5pY29kZSB1cHBlci9sb3dlcmNhc2UgZmxpcHBpbmcgYW5kIGNvbXBhcmluZy4gKGJhc2VkIG9uCisgIHBhdGNoIGJ5IFJhcGhhZWwgRmlua2VsKQorICBMZXQgIn4iIG9uIG11bHRpLWJ5dGUgY2hhcmFjdGVycyB0aGF0IGhhdmUgYSB0aGlyZCBjYXNlICgidGl0bGUgY2FzZSIpCisgIHN3aXRjaCBiZXR3ZWVuIHRoZSB0aHJlZSBjYXNlcy4gKFJhcGhhZWwgRmlua2VsKQorCitBbGxvdyBkZWZpbmluZyBkaWdyYXBocyBmb3IgbXVsdGktYnl0ZSBjaGFyYWN0ZXJzLgorQWRkZWQgUkZDMTM0NSBkaWdyYXBocyBmb3IgVW5pY29kZS4KK01vc3QgTm9ybWFsIG1vZGUgY29tbWFuZHMgdGhhdCBhY2NlcHQgYSBjaGFyYWN0ZXIgYXJndW1lbnQsIGxpa2UgInIiLCAidCIgYW5kCisiZiIgbm93IGFjY2VwdCBhIGRpZ3JhcGguICBUaGUgJ0QnIGZsYWcgaW4gJ2Nwb3B0aW9ucycgZGlzYWJsZXMgdGhpcyB0byByZW1haW4KK1ZpIGNvbXBhdGlibGUuCisKK0FkZGVkIExhbmd1YWdlIG1hcHBpbmcgYW5kICdrZXltYXAnIHRvIGJlIGFibGUgdG8gdHlwZSBtdWx0aS1ieXRlIGNoYXJhY3RlcnM6CistIEFkZGVkIHRoZSAiOmxtYXAiIGNvbW1hbmQgYW5kIGZyaWVuZHM6IERlZmluZSBtYXBwaW5ncyB0aGF0IGFyZSB1c2VkIHdoZW4KKyAgdHlwaW5nIGNoYXJhY3RlcnMgaW4gdGhlIGxhbmd1YWdlIG9mIHRoZSB0ZXh0LiAgQWxzbyBmb3IgInIiLCAidCIsIGV0Yy4gIEluCisgIEluc2VydCBhbmQgQ29tbWFuZC1saW5lIG1vZGUgQ1RSTC1eIHN3aXRjaGVzIHRoZSB1c2Ugb2YgdGhlIG1hcHBpbmdzIG9uL29mZi4KKyAgQ1RSTC1eIGFsc28gdG9nZ2xlcyB0aGUgdXNlIG9mIGFuIGlucHV0IG1ldGhvZCB3aGVuIG5vIGxhbmd1YWdlIG1hcHBpbmdzIGFyZQorICBwcmVzZW50LiAgQWxsb3dzIHN3aXRjaGluZyB0aGUgSU0gYmFjayBvbiBoYWxmd2F5IHR5cGluZy4KKy0gIjxjaGFyLTEyMz4iIGFyZ3VtZW50IHRvICI6bWFwIiwgYWxsb3dzIHRvIHNwZWNpZnkgdGhlIGRlY2ltYWwsIG9jdGFsIG9yCisgIGhleGFkZWNpbWFsIHZhbHVlIG9mIGEgY2hhcmFjdGVyLgorLSBJbXBsZW1lbnRlZCB0aGUgJ2tleW1hcCcgb3B0aW9uOiBMb2FkIGEga2V5bWFwIGZpbGUuICBVc2VzICI6bG5vcmVtYXAiIHRvCisgIGRlZmluZSBtYXBwaW5ncyBmb3IgdGhlIGtleW1hcC4gIFRoZSBuZXcgIjpsb2Fka2V5bWFwIiBjb21tYW5kIGlzIHVzZWQgaW4KKyAgdGhlIGtleW1hcCBmaWxlLgorLSBBZGRlZCAnaycgZmxhZyBpbiAnc3RhdHVzbGluZSc6IFZhbHVlIG9mICJiOmtleW1hcF9uYW1lIiBvciAna2V5bWFwJyB3aGVuCisgIGl0J3MgYmVpbmcgdXNlZC4gIFVzZXMgIjxsYW5nPiIgd2hlbiBubyBrZXltYXAgaXMgbG9hZGVkIGFuZCAiOmxtYXAicyBhcmUKKyAgYWN0aXZlLiAgU2hvdyB0aGlzIHRleHQgaW4gdGhlIGRlZmF1bHQgc3RhdHVzbGluZSB0b28uCistIEFkZGVkIHRoZSAnaW1pbnNlcnQnIGFuZCAnaW1zZWFyY2gnIG9wdGlvbnM6IFNwZWNpZnkgdXNlIG9mIGxhbmdtYXAgbWFwcGluZ3MKKyAgYW5kIElucHV0IE1ldGhvZCB3aXRoIGFuIG9wdGlvbi4gKE11cmFva2EgVGFybykKKyAgQWRkZWQgJ2ltY21kbGluZScgb3B0aW9uOiBXaGVuIHNldCB0aGUgaW5wdXQgbWV0aG9kIGlzIGFsd2F5cyBlbmFibGVkIHdoZW4KKyAgc3RhcnRpbmcgdG8gZWRpdCBhIGNvbW1hbmQgbGluZS4gIFVzZWZ1bCBmb3IgYSBYSU0gdGhhdCB1c2VzIGRlYWQga2V5cyB0bworICB0eXBlIGFjY2VudGVkIGNoYXJhY3RlcnMuCisgIEFkZGVkICdpbWFjdGl2YXRla2V5JyBvcHRpb24gdG8gYmV0dGVyIGNvbnRyb2wgWElNLiAgKE11cmFva2EgVGFybykKKy0gV2hlbiB0eXBpbmcgYSBtYXBwaW5nIHRoYXQncyBub3QgZmluaXNoZWQgeWV0LCBkaXNwbGF5IHRoZSBsYXN0IGNoYXJhY3RlcgorICB1bmRlciB0aGUgY3Vyc29yIGluIEluc2VydCBtb2RlIGFuZCBDb21tYW5kLWxpbmUgbW9kZS4gIExvb2tzIGdvb2QgZm9yIGRlYWQKKyAgY2hhcmFjdGVycy4KKy0gTWFkZSB0aGUgJ2xhbmdtYXAnIG9wdGlvbiByZWNvZ25pemUgbXVsdGktYnl0ZSBjaGFyYWN0ZXJzLiAgQnV0IG1hcHBpbmcgb25seQorICB3b3JrcyBmb3IgOC1iaXQgY2hhcmFjdGVycy4gIEhlbHBzIHdoZW4gdXNpbmcgVVRGLTguCistIFVzZSBhIGRpZmZlcmVudCBjdXJzb3IgZm9yIHdoZW4gIjpsbWFwIiBtYXBwaW5ncyBhcmUgYWN0aXZlLiAgQ2FuIHNwZWNpZnkKKyAgdHdvIGhpZ2hsaWdodCBncm91cHMgZm9yIGFuIGl0ZW0gaW4gJ2d1aWN1cnNvcicuICBCeSBkZWZhdWx0ICJsQ3Vyc29yIiBhbmQKKyAgIkN1cnNvciIgYXJlIGVxdWFsLCB0aGUgdXNlciBtdXN0IHNldCBhIGNvbG9yIGhlIGxpa2VzLgorICBVc2UgdGhlIGN1cnNvciBjb2xvciBmb3IgaGFuZ3VsIGlucHV0IGFzIHdlbGwuIChTdW5nLUh5dW4gTmFtKQorLSBTaG93ICIobGFuZykiIGZvciAnc2hvd21vZGUnIHdoZW4gbGFuZ3VhZ2UgbWFwcGluZyBpcyBlbmFibGVkLgorLSBVVEYtODogTWFkZSAiciIgd29yayB3aXRoIGEgIjpsbWFwIiB0aGF0IGluY2x1ZGVzIGEgY29tcG9zaW5nIGNoYXJhY3Rlci4KKyAgQWxzbyB3b3JrcyBmb3IgImYiLCB3aGljaCBub3cgd29ya3MgdG8gZmluZCBhIGNoYXJhY3RlciB0aGF0IGluY2x1ZGVzIGEKKyAgY29tcG9zaW5nIGNoYXJhY3Rlci4KKworT3RoZXIgbXVsdGktYnl0ZSBjaGFyYWN0ZXIgYWRkaXRpb25zOgorLSBTdXBwb3J0IGRvdWJsZS1ieXRlIHNpbmdsZS13aWR0aCBjaGFyYWN0ZXJzIGZvciBldWMtanA6IENoYXJhY3RlcnMgc3RhcnRpbmcKKyAgd2l0aCAweDhFLiAgQWRkZWQgU2NyZWVuTGluZXMyW10gdG8gc3RvcmUgdGhlIHNlY29uZCBieXRlLgorCisKK011bHRpLWxhbmd1YWdlIHN1cHBvcnQJCQkJCSpuZXctbXVsdGktbGFuZyoKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhlIG1lc3NhZ2VzIHVzZWQgaW4gVmltIGNhbiBiZSB0cmFuc2xhdGVkLiAgU2V2ZXJhbCB0cmFuc2xhdGlvbnMgYXJlCithdmFpbGFibGUuICBUaGlzIHVzZXMgdGhlIGdldHRleHQgbWVjaGFuaXNtLiAgSXQgYWxsb3dzIGFkZGluZyBhIHRyYW5zbGF0aW9uCit3aXRob3V0IHJlY29tcGlsaW5nIFZpbS4gIHxtdWx0aS1sYW5nfCAocGFydGx5IGJ5IE1hcmNpbiBEYWxlY2tpKQorCitUaGUgdHJhbnNsYXRpb24gZmlsZXMgYXJlIGluIHRoZSBzcmMvcG8gZGlyZWN0b3J5LiAgVGhlIHNyYy9wby9SRUFETUUudHh0IGZpbGUKK2V4cGxhaW5zIGEgZmV3IHRoaW5ncyBhYm91dCBkb2luZyBhIHRyYW5zbGF0aW9uLgorCitNZW51IHRyYW5zbGF0aW9ucyBhcmUgYXZhaWxhYmxlIGFzIHdlbGwuICBUaGlzIHVzZXMgdGhlIG5ldyB8Om1lbnV0cmFuc2xhdGV8Citjb21tYW5kLiAgVGhlIHRyYW5zbGF0aW9ucyBhcmUgZm91bmQgaW4gdGhlIHJ1bnRpbWUgZGlyZWN0b3J5ICJsYW5nIi4gIFRoaXMKK2FsbG93cyBhIHVzZXIgdG8gYWRkIGEgdHJhbnNsYXRpb24uCisKK0FkZGVkIHw6bGFuZ3VhZ2V8IGNvbW1hbmQgdG8gc2V0IHRoZSBsYW5ndWFnZSAobG9jYWxlKSBmb3IgbWVzc2FnZXMsIHRpbWUgYW5kCitjaGFyYWN0ZXIgdHlwZS4gIFRoaXMgYWxsb3dzIHN3aXRjaGluZyBsYW5ndWFnZXMgaW4gVmltIHdpdGhvdXQgY2hhbmdpbmcgdGhlCitsb2NhbGUgb3V0c2lkZSBvZiBWaW0uCisKK01hZGUgaXQgcG9zc2libGUgdG8gaGF2ZSB2aW10dXRvciB1c2UgZGlmZmVyZW50IGxhbmd1YWdlcy4gIChFZHVhcmRvIEZlcm5hbmRleikKK1NwYW5pc2ggKEVkdWFyZG8gRmVybmFuZGV6KSwgSXRhbGlhbiAoQW50b25pbyBDb2xvbWJvKSwgSmFwYW5lc2UgKFlhc3VoaXJvCitNYXRzdW1vdG8pIGFuZCBGcmVuY2ggKEFkcmllbiBCZWF1KSB0cmFuc2xhdGlvbnMgYXJlIGluY2x1ZGVkLgorQWRkZWQgInZpbXR1dG9yLmJhdCI6IHNjcmlwdCB0byBzdGFydCBWaW0gb24gYSBjb3B5IG9mIHRoZSB0dXRvciBmaWxlIGZvcgorTVMtV2luZG93cy4gKERhbiBTaGFycCkKKworLSBBZGRlZCB2OmxhbmcgdmFyaWFibGUgdG8gYmUgYWJsZSB0byBnZXQgY3VycmVudCBsYW5ndWFnZSBzZXR0aW5nLgorICAoTWFyY2luIERhbGVja2kpICBBbHNvIHY6bGNfdGltZSBhbmQgdjpjdHlwZS4KKy0gTWFrZSBpdCBwb3NzaWJsZSB0byB0cmFuc2xhdGUgdGhlIGRpYWxvZ3MgdXNlZCBieSB0aGUgbWVudXMuICBVc2VzIGdsb2JhbAorICAibWVudXRyYW5zXyIgdmFyaWFibGVzLiAgIjptZW51dHJhbnMgY2xlYXIiIGRlbGV0ZXMgdGhlbS4KKy0gcmVtb3ZlZCAiYnJva2VuIGxvY2FsZSIgKE1hcmNpbiBEYWxlY2tpKS4KKy0gRG9uJ3QgdXNlIGNvbG9yIG5hbWVzIGluIGljb25zLCB1c2UgUkdCIHZhbHVlcy4gIFRoZSBuYW1lcyBjb3VsZCBiZQorICB0cmFuc2xhdGVkLgorLSBXaW4zMjogQWRkZWQgZ2xvYmFsIElNRSBzdXBwb3J0IChNdXJhb2thKQorLSBXaW4zMjogQWRkZWQgZHluYW1pYyBsb2FkaW5nIG9mIElNRSBzdXBwb3J0LgorLSAiOm1lc3NhZ2VzIiBwcmludHMgYSBtZXNzYWdlIGFib3V0IHdobyBtYWludGFpbnMgdGhlIG1lc3NhZ2VzIG9yIHRoZQorICB0cmFuc2xhdGlvbnMuICBVc2VmdWwgdG8gZmluZCBvdXQgd2hlcmUgdG8gbWFrZSBhIHJlbWFyayBhYm91dCBhIHdyb25nCisgIHRyYW5zbGF0aW9uLgorLSAtLWRpc2FibGUtbmxzIGFyZ3VtZW50IGZvciBjb25maWd1cmU6IERpc2FibGUgdXNlIG9mIGdldHRleHQoKS4gKFN1bmctSHl1bgorICBOYW0pCistIEFkZGVkIE5MUyBzdXBwb3J0IGZvciBXaW4zMiB3aXRoIHRoZSBNaW5nVyBjb21waWxlci4gKEVkdWFyZG8gRmVybmFuZGV6KQorLSBXaGVuIGF2YWlsYWJsZSwgY2FsbCBiaW5kX3RleHRkb21haW5fY29kZXNldCgpIHRvIGhhdmUgZ2V0dGV4dCgpIHRyYW5zbGF0ZQorICBtZXNzYWdlcyB0byAnZW5jb2RpbmcnLiAgVGhpcyByZXF1aXJlcyBHTlUgZ2V0dGV4dCAwLjEwLjM2IG9yIGxhdGVyLgorLSBBZGRlZCBnZXR0ZXh0IHN1cHBvcnQgZm9yIFdpbjMyLiAgVGhpcyBtZWFucyBtZXNzYWdlcyB3aWxsIGJlIHRyYW5zbGF0ZWQKKyAgd2hlbiB0aGUgbG9jYWxlIGlzIHNldCBhbmQgbGliaW50bC5kbGwgY2FuIGJlIGZvdW5kLiAgKE11cmFva2EgVGFybykKKyAgQWxzbyBtYWRlIGl0IHdvcmsgd2l0aCBNaW5nVyBjb21waWxlci4gIChFZHVhcmRvIEZlcm5hbmRleikKKyAgRGV0ZWN0IHRoZSBsYW5ndWFnZSBhbmQgc2V0ICRMQU5HIHRvIGdldCB0aGUgYXBwcm9wcmlhdGUgdHJhbnNsYXRlZCBtZXNzYWdlcworICAoaWYgc3VwcG9ydGVkKS4gIEFsc28gdXNlICRMQU5HIHRvIHNlbGVjdCBhIGxhbmd1YWdlLCB2OmxhbmcgaXMgYSB2ZXJ5CisgIGRpZmZlcmVudCBraW5kIG9mIG5hbWUuCistIE1hZGUgZ3ZpbWV4dC5kbGwgdXNlIHRyYW5zbGF0ZWQgbWVzc2FnZXMsIGlmIHBvc3NpYmxlLiAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorCisKK1BsdWdpbiBzdXBwb3J0CQkJCQkqbmV3LXBsdWdpbnMqCistLS0tLS0tLS0tLS0tLQorCitUbyBtYWtlIGl0IHJlYWxseSBlYXN5IHRvIGxvYWQgYSBWaW0gc2NyaXB0IHdoZW4gc3RhcnRpbmcgVmltLCB0aGUgInBsdWdpbiIKK3J1bnRpbWUgZGlyZWN0b3J5IGNhbiBiZSB1c2VkLiAgQWxsICIqLnZpbSIgZmlsZXMgaW4gaXQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5Citsb2FkZWQuICBGb3IgVW5peCwgdGhlIGRpcmVjdG9yeSAifi8udmltL3BsdWdpbiIgaXMgdXNlZCBieSBkZWZhdWx0LiAgVGhlCisncnVudGltZXBhdGgnIG9wdGlvbiBjYW4gYmUgc2V0IHRvIGxvb2sgaW4gb3RoZXIgZGlyZWN0b3JpZXMgZm9yIHBsdWdpbnMuCit8bG9hZC1wbHVnaW5zfCB8YWRkLXBsdWdpbnwKKworVGhlIHw6cnVudGltZXwgY29tbWFuZCBoYXMgYmVlbiBhZGRlZCB0byBsb2FkIG9uZSBvciBtb3JlIGZpbGVzIGluCisncnVudGltZXBhdGgnLgorCitTdGFuZGFyZCBwbHVnaW5zOgorbmV0cncudmltIC0gRWRpdCBmaWxlcyBvdmVyIGEgbmV0d29yayB8bmV3LW5ldHdvcmstZmlsZXN8CitnemlwLnZpbSAtIEVkaXQgY29tcHJlc3NlZCBmaWxlcworZXhwbG9yZXIudmltIC0gQnJvd3NlIGRpcmVjdG9yaWVzIHxuZXctZmlsZS1icm93c2VyfAorCitBZGRlZCBzdXBwb3J0IGZvciBsb2NhbCBoZWxwIGZpbGVzLiB8YWRkLWxvY2FsLWhlbHB8LgorV2hlbiBzZWFyY2hpbmcgZm9yIGhlbHAgdGFncywgYWxsICJkb2MvdGFncyIgZmlsZXMgaW4gJ3J1bnRpbWVwYXRoJyBhcmUgdXNlZC4KK0FkZGVkIHRoZSAiOmhlbHB0YWdzIiBjb21tYW5kOiBHZW5lcmF0ZSBhIHRhZ3MgZmlsZSBmb3IgYSBoZWxwIGRpcmVjdG9yeS4KK1RoZSBmaXJzdCBsaW5lIG9mIGVhY2ggaGVscCBmaWxlIGlzIGF1dG9tYWdpY2FsbHkgYWRkZWQgdG8gdGhlICJMT0NBTAorQURESVRJT05TIiBzZWN0aW9uIGluIGRvYy9oZWxwLnR4dC4KKworQWRkZWQgdGhlIDx1bmlxdWU+IGFyZ3VtZW50IHRvICI6bWFwIjogb25seSBhZGQgYSBtYXBwaW5nIHdoZW4gaXQgd2Fzbid0CitkZWZpbmVkIGJlZm9yZS4KKworV2hlbiBkaXNwbGF5aW5nIGFuIG9wdGlvbiB2YWx1ZSB3aXRoICd2ZXJib3NlJyBzZXQgd2lsbCBnaXZlIGEgbWVzc2FnZSBhYm91dAord2hlcmUgdGhlIG9wdGlvbiB3YXMgbGFzdCBzZXQuICBWZXJ5IHVzZWZ1bCB0byBmaW5kIG91dCB3aGljaCBzY3JpcHQgZGlkIHNldAordGhlIHZhbHVlLgorCitUaGUgbmV3IHw6c2NyaXB0bmFtZXN8IGNvbW1hbmQgZGlzcGxheXMgYSBsaXN0IG9mIGFsbCBzY3JpcHRzIHRoYXQgaGF2ZSBiZWVuCitzb3VyY2VkLgorCitHVUk6IEZvciBBdGhlbmEsIE1vdGlmIGFuZCBHVEsgbG9vayBmb3IgYSB0b29sYmFyIGJpdG1hcCBpbiB0aGUgImJpdG1hcHMiCitkaXJlY3RvcmllcyBpbiAncnVudGltZXBhdGgnLiAgQWxsb3dzIGFkZGluZyB5b3VyIG93biBiaXRtYXBzLgorCisKK0ZpbGV0eXBlIHBsdWdpbnMJCQkJKm5ldy1maWxldHlwZS1wbHVnaW5zKgorLS0tLS0tLS0tLS0tLS0tLS0KKworQSBuZXcgZ3JvdXAgb2YgZmlsZXMgaGFzIGJlZW4gYWRkZWQgdG8gZG8gc2V0dGluZ3MgZm9yIHNwZWNpZmljIGZpbGUgdHlwZXMuCitUaGVzZSBjYW4gYmUgb3B0aW9ucyBhbmQgbWFwcGluZ3Mgd2hpY2ggYXJlIHNwZWNpZmljYWxseSB1c2VkIGZvciBvbmUgdmFsdWUgb2YKKydmaWxldHlwZScuCisKK1RoZSBmaWxlcyBhcmUgbG9jYXRlZCBpbiAiJFZJTVJVTlRJTUUvZnRwbHVnaW4iLiAgVGhlICdydW50aW1lcGF0aCcgb3B0aW9uCittYWtlcyBpdCBwb3NzaWJsZSB0byB1c2Ugc2V2ZXJhbCBzZXRzIG9mIHBsdWdpbnM6IFlvdXIgb3duLCBzeXN0ZW0td2lkZSwKK2luY2x1ZGVkIGluIHRoZSBWaW0gZGlzdHJpYnV0aW9uLCBldGMuCisKK1RvIGJlIGFibGUgdG8gbWFrZSB0aGlzIHdvcmssIHNldmVyYWwgZmVhdHVyZXMgd2VyZSBhZGRlZDoKKy0gQWRkZWQgdGhlICJzOiIgdmFyaWFibGVzLCBsb2NhbCB0byBhIHNjcmlwdC4gIEF2b2lkcyBuYW1lIGNvbmZsaWN0cyB3aXRoCisgIGdsb2JhbCB2YXJpYWJsZXMuICBUaGV5IGNhbiBiZSB1c2VkIGluIHRoZSBzY3JpcHQgYW5kIGluIGZ1bmN0aW9ucywKKyAgYXV0b2NvbW1hbmRzIGFuZCB1c2VyIGNvbW1hbmRzIGRlZmluZWQgaW4gdGhlIHNjcmlwdC4gIFRoZXkgYXJlIGtlcHQgYmV0d2VlbgorICBpbnZvY2F0aW9ucyBvZiB0aGUgc2FtZSBzY3JpcHQuICB8czp2YXJ8CistIEFkZGVkIHRoZSBnbG9iYWwgdmFsdWUgZm9yIGxvY2FsIG9wdGlvbnMuICBUaGlzIHZhbHVlIGlzIHVzZWQgd2hlbiBvcGVuaW5nCisgIGEgbmV3IGJ1ZmZlciBvciBlZGl0aW5nIGFub3RoZXIgZmlsZS4gIFRoZSBvcHRpb24gdmFsdWUgc3BlY2lmaWVkIGluIGEKKyAgbW9kZWxpbmUgb3IgZmlsZXR5cGUgc2V0dGluZyBpcyBub3QgY2FycmllZCBvdmVyIHRvIGFub3RoZXIgYnVmZmVyLgorICAiOnNldCIgc2V0cyBib3RoIHRoZSBsb2NhbCBhbmQgdGhlIGdsb2JhbCB2YWx1ZS4KKyAgIjpzZXRsb2NhbCIgc2V0cyB0aGUgbG9jYWwgb3B0aW9uIHZhbHVlIG9ubHkuCisgICI6c2V0Z2xvYmFsIiBzZXRzIG9yIGRpc3BsYXlzIHRoZSBnbG9iYWwgdmFsdWUgZm9yIGEgbG9jYWwgb3B0aW9uLgorICAiOnNldGxvY2FsIG5hbWU8IiBzZXRzIGEgbG9jYWwgb3B0aW9uIHRvIGl0cyBnbG9iYWwgdmFsdWUuCistIEFkZGVkIHRoZSBidWZmZXItbG9jYWwgdmFsdWUgZm9yIHNvbWUgZ2xvYmFsIG9wdGlvbnM6ICdlcXVhbHByZycsICdtYWtlcHJnJywKKyAgJ2Vycm9yZm9ybWF0JywgJ2dyZXBwcmcnLCAncGF0aCcsICdkaWN0aW9uYXJ5JywgJ3RoZXNhdXJ1cycsICd0YWdzJywKKyAgJ2luY2x1ZGUnIGFuZCAnZGVmaW5lJy4gIFRoaXMgYWxsb3dzIHNldHRpbmcgYSBsb2NhbCB2YWx1ZSBmb3IgdGhlc2UgZ2xvYmFsCisgIG9wdGlvbnMsIHdpdGhvdXQgbWFraW5nIGl0IGluY29tcGF0aWJsZS4KKy0gQWRkZWQgbWFwcGluZ3MgYW5kIGFiYnJldmlhdGlvbnMgbG9jYWwgdG8gYSBidWZmZXI6ICI6bWFwIDxidWZmZXI+Ii4KKy0gSW4gYSBtYXBwaW5nICI8TGVhZGVyPiIgY2FuIGJlIHVzZWQgdG8gZ2V0IHRoZSB2YWx1ZSBvZiB0aGUgIm1hcGxlYWRlciIKKyAgdmFyaWFibGUuICBUaGlzIHNpbXBsaWZpZXMgbWFwcGluZ3MgdGhhdCB1c2UgIm1hcGxlYWRlciIuICAiPExlYWRlcj4iCisgIGRlZmF1bHRzIHRvICJcIi4gICI8TG9jYWxMZWFkZXI+IiBkb2VzIHRoZSBzYW1lIHdpdGggIm1hcGxvY2FsbGVhZGVyIi4gIFRoaXMKKyAgaXMgdG8gYmUgdXNlZCBmb3IgbWFwcGluZ3MgbG9jYWwgdG8gYSBidWZmZXIuCistIEFkZGVkIDxTSUQ+IFNjcmlwdCBJRCB0byBkZWZpbmUgZnVuY3Rpb25zIGFuZCBtYXBwaW5ncyBsb2NhbCB0byBhIHNjcmlwdC4KKy0gQWRkZWQgPHNjcmlwdD4gYXJndW1lbnQgdG8gIjpub3JlbWFwIiBhbmQgIjpub3JlbWVudSI6IE9ubHkgcmVtYXAKKyAgc2NyaXB0LWxvY2FsIG1hcHBpbmdzLiAgQXZvaWRzIHRoYXQgbWFwcGluZ3MgZnJvbSBvdGhlciBzY3JpcHRzIGdldCBpbiB0aGUKKyAgd2F5LCBidXQgZG9lcyBhbGxvdyB1c2luZyBtYXBwaW5ncyBkZWZpbmVkIGluIHRoZSBzY3JpcHQuCistIFVzZXIgY29tbWFuZHMgY2FuIGJlIGxvY2FsIHRvIGEgYnVmZmVyOiAiOmNvbW1hbmQgLWJ1ZmZlciIuCisKK1RoZSBuZXcgIjpzZXRmaWxldHlwZSIgY29tbWFuZCBpcyB1c2VkIGluIHRoZSBmaWxldHlwZSBkZXRlY3Rpb24gYXV0b2NvbW1hbmRzLAordG8gYXZvaWQgdGhhdCAnZmlsZXR5cGUnIGlzIHNldCB0d2ljZS4KKworCitGaWxlIGJyb3dzZXIJCQkJCQkqbmV3LWZpbGUtYnJvd3NlcioKKy0tLS0tLS0tLS0tLQorCitXaGVuIGVkaXRpbmcgYSBkaXJlY3RvcnksIHRoZSBleHBsb3JlciBwbHVnaW4gd2lsbCBsaXN0IHRoZSBmaWxlcyBpbiB0aGUKK2RpcmVjdG9yeS4gIFByZXNzaW5nIDxFbnRlcj4gb24gYSBmaWxlIG5hbWUgZWRpdHMgdGhhdCBmaWxlLiAgUHJlc3NpbmcgPEVudGVyPgorb24gYSBkaXJlY3RvcnkgbW92ZXMgdGhlIGJyb3dzZXIgdG8gdGhhdCBkaXJlY3RvcnkuCisKK1RoZXJlIGFyZSBzZXZlcmFsIG90aGVyIHBvc3NpYmlsaXRpZXMsIHN1Y2ggYXMgb3BlbmluZyBhIGZpbGUgaW4gdGhlIHByZXZpZXcKK3dpbmRvdywgcmVuYW1pbmcgZmlsZXMgYW5kIGRlbGV0aW5nIGZpbGVzLgorCitTZWUgfGZpbGUtZXhwbG9yZXJ8LgorCisKK0VkaXRpbmcgZmlsZXMgb3ZlciBhIG5ldHdvcmsJCQkJKm5ldy1uZXR3b3JrLWZpbGVzKgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitGaWxlcyBzdGFydGluZyB3aXRoIHNjcDovLywgcmNwOi8vLCBmdHA6Ly8gYW5kIGh0dHA6Ly8gYXJlIHJlY29nbml6ZWQgYXMKK3JlbW90ZSBmaWxlcy4gIEFuIGF0dGVtcHQgaXMgbWFkZSB0byBhY2Nlc3MgdGhlc2UgZmlsZXMgd2l0aCB0aGUgaW5kaWNhdGVkCittZXRob2QuICBGb3IgaHR0cDovLyBvbmx5IHJlYWRpbmcgaXMgcG9zc2libGUsIGZvciB0aGUgb3RoZXJzIHdyaXRpbmcgaXMgYWxzbworc3VwcG9ydGVkLiAgVXNlcyB0aGUgbmV0cncudmltIHNjcmlwdCBhcyBhIHN0YW5kYXJkICJwbHVnaW4iLiB8bmV0cnd8CisKK01hZGUgImdmIiB3b3JrIG9uIGEgVVJMLiAgSXQgbm8gbG9uZ2VyIGFzc3VtZXMgdGhlIGZpbGUgaXMgbG9jYWwgb24gdGhlCitjb21wdXRlciAobW9zdGx5IGRpZG4ndCB3b3JrIGFueXdheSwgYmVjYXVzZSB0aGUgZnVsbCBwYXRoIHdhcyByZXF1aXJlZCkuCitBZGp1c3RlZCB0ZXN0MiBmb3IgdGhpcy4KKworQWxsb3cgdXNpbmcgYSBVUkwgaW4gJ3BhdGgnLiAgTWFrZXMgIjpmaW5kIGluZGV4Lmh0bWwiIHdvcmsuCisKK0dUSzogQWxsb3cgZHJvcHBpbmcgYSBodHRwOi8vIGFuZCBmdHA6Ly8gVVJMIG9uIFZpbS4gIFRoZSBuZXRydyBwbHVnaW4gdGFrZXMKK2NhcmUgb2YgZG93bmxvYWRpbmcgdGhlIGZpbGUuIChNaUthZWwgQmVydGhlKQorCisKK1dpbmRvdyBmb3IgY29tbWFuZC1saW5lIGVkaXRpbmcJCQkJKm5ldy1jbWR3aW4qCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSBDb21tYW5kLWxpbmUgd2luZG93IGNhbiBiZSB1c2VkIHRvIGVkaXQgYSBjb21tYW5kLWxpbmUgd2l0aCBOb3JtYWwgYW5kCitJbnNlcnQgbW9kZSBjb21tYW5kcy4gIFdoZW4gaXQgaXMgb3BlbmVkIGl0IGNvbnRhaW5zIHRoZSBoaXN0b3J5LiAgVGhpcyBhbGxvd3MKK2NvcHlpbmcgcGFydHMgb2YgcHJldmlvdXMgY29tbWFuZCBsaW5lcy4gfGNtZHdpbnwKKworVGhlIGNvbW1hbmQtbGluZSB3aW5kb3cgY2FuIGJlIG9wZW5lZCBmcm9tIHRoZSBjb21tYW5kLWxpbmUgd2l0aCB0aGUga2V5CitzcGVjaWZpZWQgYnkgdGhlICdjZWRpdCcgb3B0aW9uIChsaWtlIE52aSkuICBJdCBjYW4gYWxzbyBiZSBvcGVuZWQgZGlyZWN0bHkKK2Zyb20gTm9ybWFsIG1vZGUgd2l0aCAicToiLCAicS8iIGFuZCAicT8iLgorCitUaGUgJ2NtZHdpbmhlaWdodCcgaXMgdXNlZCB0byBzcGVjaWZ5IHRoZSBpbml0aWFsIGhlaWdodCBvZiB0aGUgd2luZG93LgorCitJbiBJbnNlcnQgbW9kZSBDVFJMLVggQ1RSTC1WIGNhbiBiZSB1c2VkIHRvIGNvbXBsZXRlIGFuIEV4IGNvbW1hbmQgbGluZSwgbGlrZQoraXQncyBkb25lIG9uIHRoZSBjb21tYW5kLWxpbmUuICBUaGlzIGlzIGFsc28gdXNlZnVsIGZvciB3cml0aW5nIFZpbSBzY3JpcHRzIQorCitBZGRpdGlvbmFsbHksIHRoZXJlIGlzICJpbXByb3ZlZCBFeCBtb2RlIi4gIEVudGVyZWQgd2hlbiBWaW0gaXMgc3RhcnRlZCBhcworImV4aW0iIG9yICJ2aW0gLUUiLCBhbmQgd2l0aCB0aGUgImdRIiBjb21tYW5kLiAgV29ya3MgbGlrZSByZXBlYXRlZCB1c2Ugb2YKKyI6Iiwgd2l0aCBmdWxsIGNvbW1hbmQtbGluZSBlZGl0aW5nIGFuZCBjb21wbGV0aW9uLiAoVWxmIENhcmxzc29uKQorCisKK0RlYnVnZ2luZyBtb2RlCQkJCQkJKm5ldy1kZWJ1Zy1tb2RlKgorLS0tLS0tLS0tLS0tLS0KKworSW4gZGVidWdnaW5nIG1vZGUgc291cmNlZCBzY3JpcHRzIGFuZCB1c2VyIGZ1bmN0aW9ucyBjYW4gYmUgZXhlY3V0ZWQgbGluZSBieQorbGluZS4gIFRoZXJlIGFyZSBjb21tYW5kcyB0byBzdGVwIG92ZXIgYSBjb21tYW5kIG9yIHN0ZXAgaW50byBpdC4gfGRlYnVnLW1vZGV8CisKK0JyZWFrcG9pbnRzIGNhbiBiZSBzZXQgdG8gcnVuIHVudGlsIGEgY2VydGFpbiBsaW5lIGluIGEgc2NyaXB0IG9yIHVzZXIKK2Z1bmN0aW9uIGlzIGV4ZWN1dGVkLiB8OmJyZWFrYWRkfAorCitEZWJ1Z2dpbmcgY2FuIGJlIHN0YXJ0ZWQgd2l0aCAiOmRlYnVnIHtjbWR9IiB0byBkZWJ1ZyB3aGF0IGhhcHBlbnMgd2hlbiBhCitjb21tYW5kIGV4ZWN1dGVzLiAgVGhlIHwtRHwgYXJndW1lbnQgY2FuIGJlIHVzZWQgdG8gZGVidWcgd2hpbGUgc3RhcnRpbmcgdXAuCisKKworQ3Vyc29yIGluIHZpcnR1YWwgcG9zaXRpb24JCQkJKm5ldy12aXJ0ZWRpdCoKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0FkZGVkIHRoZSAndmlydHVhbGVkaXQnIG9wdGlvbjogQWxsb3cgcG9zaXRpb25pbmcgdGhlIGN1cnNvciB3aGVyZSB0aGVyZSBpcyBubworYWN0dWFsIGNoYXJhY3RlciBpbiBJbnNlcnQgbW9kZSwgVmlzdWFsIG1vZGUgb3IgYWx3YXlzLiAoTWF0dGhpYXMgS3JhbW0pCitUaGlzIGlzIGVzcGVjaWFsbHkgdXNlZnVsIGluIFZpc3VhbC1ibG9jayBtb2RlLiAgSXQgYWxsb3dzIHBvc2l0aW9uaW5nIGEKK2Nvcm5lciBvZiB0aGUgYXJlYSB3aGVyZSB0aGVyZSBpcyBubyB0ZXh0IGNoYXJhY3Rlci4gIChNYW55IGltcHJvdmVtZW50cyBieQorQ2hhc2UgVGluZ2xleSkKKworCitEZWJ1Z2dlciBpbnRlcmZhY2UJCQkJCSpuZXctZGVidWctaXRmKgorLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoaXMgd2FzIG9yaWdpbmFsbHkgbWFkZSB0byB3b3JrIHdpdGggU3VuIFZpc3VhbCBXb3Jrc2hvcC4gKEdvcmRvbiBQcmlldXIpCitTZWUgfGRlYnVnZ2VyLnR4dHwsIHxzaWduLnR4dHwgYW5kIHx3b3Jrc2hvcC50eHR8LgorCitBZGRlZCB0aGUgIjpzaWduIiBjb21tYW5kIHRvIGRlZmluZSBhbmQgcGxhY2Ugc2lnbnMuICBUaGV5IGNhbiBiZSBkaXNwbGF5ZWQKK3dpdGggdHdvIEFTQ0lJIGNoYXJhY3RlcnMgb3IgYW4gaWNvbi4gIFRoZSBsaW5lIGFmdGVyIGl0IGNhbiBiZSBoaWdobGlnaHRlZC4KK1VzZWZ1bCB0byBkaXNwbGF5IGJyZWFrcG9pbnRzIGFuZCB0aGUgY3VycmVudCBQQyBwb3NpdGlvbi4KKworQWRkZWQgdGhlIHw6d3N2ZXJifCBjb21tYW5kIHRvIGV4ZWN1dGUgZGVidWdnZXIgY29tbWFuZHMuCisKK0FkZGVkIGJhbGxvb24gc3R1ZmY6ICdiYWxsb29uZGVsYXknIGFuZCAnYmFsbG9vbmV2YWwnIG9wdGlvbnMuCisKK0FkZGVkICJpY29uPSIgYXJndW1lbnQgZm9yICI6bWVudSIuICBBbGxvd3MgZGVmaW5pbmcgYSBzcGVjaWZpYyBpY29uIGZvciBhCitUb29sQmFyIGl0ZW0uCisKKworQ29tbXVuaWNhdGlvbiBiZXR3ZWVuIFZpbXMJCQkJKm5ldy12aW0tc2VydmVyKgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworQWRkZWQgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIHR3byBWaW1zLiAgTWFrZXMgaXQgcG9zc2libGUgdG8gc2VuZCBjb21tYW5kcyBmcm9tCitvbmUgVmltIHRvIGFub3RoZXIuICBXb3JrcyBmb3IgWC1XaW5kb3dzIGFuZCBNUy1XaW5kb3dzIHxjbGllbnRzZXJ2ZXJ8LgorCitVc2UgIi0tcmVtb3RlIiB0byBoYXZlIGZpbGVzIGJlIGVkaXRlZCBpbiBhbiBhbHJlYWR5IHJ1bm5pbmcgVmltLgorVXNlICItLXJlbW90ZS13YWl0IiB0byBkbyB0aGUgc2FtZSBhbmQgd2FpdCBmb3IgdGhlIGVkaXRpbmcgdG8gZmluaXNoLgorVXNlICItLXJlbW90ZS1zZW5kIiB0byBzZW5kIGNvbW1hbmRzIGZyb20gb25lIFZpbSB0byBhbm90aGVyLgorVXNlICItLXJlbW90ZS1leHByIiB0byBoYXZlIGFuIGV4cHJlc3Npb24gZXZhbHVhdGVkIGluIGFub3RoZXIgVmltLgorVXNlICItLXNlcnZlcmxpc3QiIHRvIGxpc3QgdGhlIGN1cnJlbnRseSBhdmFpbGFibGUgVmltIHNlcnZlcnMuIChYIG9ubHkpCitUaGVyZSBhcmUgYWxzbyBmdW5jdGlvbnMgdG8gY29tbXVuaWNhdGUgYmV0d2VlbiB0aGUgc2VydmVyIGFuZCB0aGUgY2xpZW50LgorfHJlbW90ZV9zZW5kKCl8IHxyZW1vdGVfZXhwcigpfAorCisoWC13aW5kb3dzIHZlcnNpb24gaW1wbGVtZW50ZWQgYnkgRmxlbW1pbmcgTWFkc2VuLCBNUy1XaW5kb3dzIHZlcnNpb24gYnkgUGF1bAorTW9vcmUpCisKK0FkZGVkIHRoZSBjb21tYW5kIHNlcnZlciBuYW1lIHRvIHRoZSB3aW5kb3cgdGl0bGUsIHNvIHlvdSBjYW4gc2VlIHdoaWNoIHNlcnZlcgorbmFtZSBiZWxvbmdzIHRvIHdoaWNoIFZpbS4KKworUmVtb3ZlZCB0aGUgT2xlVmltIGRpcmVjdG9yeSBhbmQgU2VuZFRvVmltLmV4ZSBhbmQgRWRpdFdpdGhWaW0uZXhlIGZyb20gdGhlCitkaXN0cmlidXRpb24uICBDYW4gbm93IHVzZSAiZ3ZpbSAtLXJlbW90ZSIgYW5kICJndmltIC0tcmVtb3RlLXNlbmQiLCB3aGljaCBpcworcG9ydGFibGUuCisKK0dUSys6IFN1cHBvcnQgcnVubmluZyBWaW0gaW5zaWRlIGFub3RoZXIgd2luZG93LiAgVXNlcyB0aGUgLS1zb2NrZXRpZCBhcmd1bWVudAorKE5laWwgQmlyZCkKKworCitCdWZmZXIgdHlwZSBvcHRpb25zCQkJCQkqbmV3LWJ1ZnR5cGUqCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSAnYnVmdHlwZScgYW5kICdidWZoaWRkZW4nIG9wdGlvbnMgaGF2ZSBiZWVuIGFkZGVkLiAgVGhleSBjYW4gYmUgc2V0IHRvCitoYXZlIGRpZmZlcmVudCBraW5kcyBvZiBidWZmZXJzLiAgRm9yIGV4YW1wbGU6CistICdidWZ0eXBlJyA9ICJxdWlja2ZpeCI6IGJ1ZmZlciB3aXRoIGVycm9yIGxpc3QKKy0gJ2J1ZnR5cGUnID0gIm5vZmlsZSIgYW5kICdidWZoaWRkZW4nID0gImRlbGV0ZSI6IHNjcmF0Y2ggYnVmZmVyIHRoYXQgd2lsbCBiZQorICBkZWxldGVkIGFzIHNvb24gYXMgdGhlcmUgaXMgbm8gd2luZG93IGRpc3BsYXlpbmcgaXQuCisKKydidWZoaWRkZW4nIGNhbiBiZSB1c2VkIHRvIG92ZXJydWxlIHRoZSAnaGlkZGVuJyBvcHRpb24gZm9yIG9uZSBidWZmZXIuCisKK0luIGNvbWJpbmF0aW9uIHdpdGggJ2J1Zmxpc3RlZCcgYW5kICdzd2FwZmlsZScgdGhpcyBvZmZlcnMgdGhlIHBvc3NpYmlsaXR5IHRvCit1c2UgdmFyaW91cyBraW5kcyBvZiBzcGVjaWFsIGJ1ZmZlcnMuICBTZWUgfHNwZWNpYWwtYnVmZmVyc3wuCisKKworUHJpbnRpbmcJCQkJCQkqbmV3LXByaW50aW5nKgorLS0tLS0tLS0KKworSW5jbHVkZWQgZmlyc3QgaW1wbGVtZW50YXRpb24gb2YgdGhlICI6aGFyZGNvcHkiIGNvbW1hbmQgZm9yIHByaW50aW5nCit0byBwYXBlci4gIEZvciBNUy1XaW5kb3dzIGFueSBpbnN0YWxsZWQgcHJpbnRlciBjYW4gYmUgdXNlZC4gIEZvciBvdGhlcgorc3lzdGVtcyBhIFBvc3RTY3JpcHQgZmlsZSBpcyBnZW5lcmF0ZWQsIHdoaWNoIGNhbiBiZSBwcmludGVkIHdpdGggdGhlCisncHJpbnRleHByJyBvcHRpb24uCisoTVMtV2luZG93cyBwYXJ0IGJ5IFZpbmNlIE5lZ3JpLCBWaXBpbiBBcmF2aW5kLCBQb3N0U2NyaXB0IGJ5IFZpbmNlIE5lZ3JpIGFuZAorTWlrZSBXaWxsaWFtcykKKworTWFkZSAiOmhhcmRjb3B5IiB3b3JrIHdpdGggbXVsdGktYnl0ZSBjaGFyYWN0ZXJzLiAoTXVyYW9rYSBUYXJvLCBZYXN1aGlybworTWF0c3Vtb3RvKQorCitBZGRlZCBvcHRpb25zIHRvIHR1bmUgdGhlIHdheSBwcmludGluZyB3b3JrczogKFZpbmNlIE5lZ3JpKQorLSAncHJpbnRvcHRpb25zJyBkZWZpbmVzIHZhcmlvdXMgdGhpbmdzLgorLSAncHJpbnRoZWFkZXInIHNwZWNpZmllcyB0aGUgaGVhZGVyIGZvcm1hdC4gIEFkZGVkICJOIiBmaWVsZCB0byAnc3RhdHVzbGluZScKKyAgZm9yIHRoZSBwYWdlIG51bWJlci4KKy0gJ3ByaW50Zm9udCcgc3BlY2lmaWVzIHRoZSBmb250IG5hbWUgYW5kIGF0dHJpYnV0ZXMuCistICdwcmludGRldmljZScgZGVmaW5lcyB0aGUgZGVmYXVsdCBwcmludGVyIGZvciAiOmhhcmRjb3B5ISIuCisKKworUG9ydHMJCQkJCQkJKnBvcnRzLTYqCistLS0tLQorCitQb3J0IHRvIE9TLzM5MCBVbml4IChSYWxmIFNjaGFuZGwpCistIEEgbG90IG9mIGNoYW5nZXMgdG8gaGFuZGxlIEVCQ0RJQyBlbmNvZGluZy4KKy0gQ2hhbmdlZCBDdHJsKCd4JykgdG8gQ3RybF94IGRlZmluZS4KKworSW5jbHVkZWQganNibW91c2Ugc3VwcG9ydC4gKERhcnJlbiBHYXJ0aCkKK1N1cHBvcnQgZm9yIGRlYyBtb3VzZSBpbiBVbml4LiAoU3RldmUgV2FsbCkKKworUG9ydCB0byAxNi1iaXQgTVMgV2luZG93cyAoV2luZG93cyAzLjF4KSAoVmluY2UgTmVncmkpCisKK1BvcnQgdG8gUU5YLiAgU3VwcG9ydHMgdGhlIFBob3RvbiBHVUksIG1vdXNlLCBldGMuIChKdWxpYW4gS2lucmFpZCkKKworQWxsb3cgY3Jvc3MtY29tcGlsaW5nIHRoZSBXaW4zMiB2ZXJzaW9uIHdpdGggTWFrZV9taW5nLm1hay4gKFJvbiBBYXJvbikKK0FkZGVkIFB5dGhvbiBzdXBwb3J0IGZvciBjb21waWxpbmcgd2l0aCBNaW5ndy4gKFJvbiBBYXJvbikKKworRG9zIDMyIGJpdDogQWRkZWQgc3VwcG9ydCB0aGUgV2luZG93cyBjbGlwYm9hcmQuIChEYXZpZCBLb3RjaGFuKQorCitXaW4zMjogRHluYW1pY2FsbHkgbG9hZCBQZXJsIGFuZCBQeXRob24uICBBbGxvd3MgY29tcGlsaW5nIFZpbSB3aXRoIHRoZXNlCitpbnRlcmZhY2VzIGFuZCB3aWxsIHRyeSB0byBmaW5kIHRoZSBETExzIGF0IHJ1bnRpbWUuIChNdXJhb2thIFRhcm8pCisKK0NvbXBpbGluZyB0aGUgV2luMzIgR1VJIHdpdGggQ3lnd2luLiAgQWxzbyBjb21waWxlIHZpbXJ1biwgZG9zaW5zdCBhbmQKK3VuaW5zdGFsbC4gIChHZXJmcmllZCkKKworTWFjOiBNYWtlIFZpbSBjb21waWxlIHdpdGggdGhlIGZyZWUgTVBXIGNvbXBpbGVyIHN1cHBsaWVkIGJ5IEFwcGxlLiAgQW5kCit1cGRhdGVzIGZvciBDb2RlV2Fycmlvci4gKEF4ZWwgS2llbGhvcm4pCisKK0FkZGVkIHR5cGVjYXN0cyBhbmQgaWZkZWZzIGFzIGEgc3RhcnQgdG8gbWFrZSBWaW0gd29yayBvbiBXaW42NCAoR2VvcmdlCitSZWlsbHkpCisKKworUXVpY2tmaXggZXh0ZW5kZWQJCQkJCSpxdWlja2ZpeC02KgorLS0tLS0tLS0tLS0tLS0tLS0KKworQWRkZWQgdGhlICJlcnJvciB3aW5kb3ciLiAgSXQgY29udGFpbnMgYWxsIHRoZSBlcnJvcnMgb2YgdGhlIGN1cnJlbnQgZXJyb3IKK2xpc3QuICBQcmVzc2luZyA8RW50ZXI+IGluIGEgbGluZSBtYWtlcyBWaW0ganVtcCB0byB0aGF0IGxpbmUgKGluIGFub3RoZXIKK3dpbmRvdykuICBUaGlzIG1ha2VzIGl0IGVhc3kgdG8gbmF2aWdhdGUgdGhyb3VnaCB0aGUgZXJyb3IgbGlzdC4KK3xxdWlja2ZpeC13aW5kb3d8LgorCistIHw6Y29wZW58IG9wZW5zIHRoZSBxdWlja2ZpeCB3aW5kb3cuCistIHw6Y2Nsb3NlfCBjbG9zZXMgdGhlIHF1aWNrZml4IHdpbmRvdy4KKy0gfDpjd2luZG93fCB0YWtlcyBjYXJlIHRoYXQgdGhlcmUgaXMgYSBxdWlja2ZpeCB3aW5kb3cgb25seSB3aGVuIHRoZXJlIGFyZQorICByZWNvZ25pemVkIGVycm9ycy4gKERhbiBTaGFycCkKKworLSBRdWlja2ZpeCBhbHNvIGtub3dzICJpbmZvIiwgbmV4dCB0byAid2FybmluZyIgYW5kICJlcnJvciIgdHlwZXMuICIlSSIgY2FuIGJlCisgIHVzZWQgZm9yIHRoZSBzdGFydCBvZiBhIG11bHRpLWxpbmUgaW5mb3JtYXRpb25hbCBtZXNzYWdlLiAoVG9ueSBMZW5laXMpCistIFRoZSAiJXAiIGFyZ3VtZW50IGNhbiBiZSB1c2VkIGluICdlcnJvcmZvcm1hdCcgdG8gZ2V0IHRoZSBjb2x1bW4gbnVtYmVyIGZyb20KKyAgYSBsaW5lIHdoZXJlICJeIiBwb2ludHMgdG8gdGhlIGNvbHVtbi4gKFN0ZWZhbiBSb2VtZXIpCistIFdoZW4gdXNpbmcgIiVmIiBpbiAnZXJyb3Jmb3JtYXQnIG9uIGEgRE9TL1dpbmRvd3Mgc3lzdGVtLCBhbHNvIGluY2x1ZGUgImM6IgorICBpbiB0aGUgZmlsZW5hbWUsIGV2ZW4gd2hlbiB1c2luZyAiJWY6Ii4KKworCitPcGVyYXRvciBtb2RpZmllcnMJCQkJCSpuZXctb3BlcmF0b3ItbW9kKgorLS0tLS0tLS0tLS0tLS0tLS0tCisKK0luc2VydCAidiIsICJWIiBvciBDVFJMLVYgYmV0d2VlbiBhbiBvcGVyYXRvciBhbmQgYSBtb3Rpb24gY29tbWFuZCB0byBmb3JjZQordGhlIG9wZXJhdG9yIHRvIHdvcmsgY2hhcmFjdGVyd2lzZSwgbGluZXdpc2Ugb3IgYmxvY2t3aXNlLiB8b192fAorCisKK1NlYXJjaCBQYXRoCQkJCQkJKm5ldy1zZWFyY2gtcGF0aCoKKy0tLS0tLS0tLS0tCisKK1ZpbSBjYW4gc2VhcmNoIGluIGEgZGlyZWN0b3J5IHRyZWUgbm90IG9ubHkgaW4gZG93bndhcmRzIGJ1dCBhbHNvIHVwd2FyZHMuCitXb3JrcyBmb3IgdGhlICdwYXRoJywgJ2NkcGF0aCcgYW5kICd0YWdzJyBvcHRpb25zLiAoUmFsZiBTY2hhbmRsKQorCitBbHNvIHVzZSAiKioiIGZvciAndGFncycgb3B0aW9uLiAoUmFsZiBTY2hhbmRsKQorCitBZGRlZCAnaW5jbHVkZWV4cHInLCBjYW4gYmUgdXNlZCB0byBtb2RpZnkgZmlsZSBuYW1lIGZvdW5kIGJ5ICdpbmNsdWRlJworb3B0aW9uLgorQWxzbyB1c2UgJ2luY2x1ZGVleHByJyBmb3IgImdmIiBhbmQgIjxjZmlsZT4iIHdoZW4gdGhlIGZpbGUgY2FuJ3QgYmUgZm91bmQKK3dpdGhvdXQgbW9kaWZpY2F0aW9uLiAgVXNlZnVsIGZvciBkb2luZyAiZ2YiIG9uIHRoZSBuYW1lIGFmdGVyIGFuIGluY2x1ZGUgb3IKK2ltcG9ydCBzdGF0ZW1lbnQuCisKK0FkZGVkIHRoZSAnY2RwYXRoJyBvcHRpb246IExvY2F0aW9ucyB0byBmaW5kIGEgIjpjZCIgYXJndW1lbnQuIChSYWYpCisKK0FkZGVkIHRoZSAnc3VmZml4ZXNhZGQnIG9wdGlvbjogU3VmZml4ZXMgdG8gYmUgYWRkZWQgdG8gYSBmaWxlIG5hbWUgd2hlbgorc2VhcmNoaW5nIGZvciBhIGZpbGUgZm9yIHRoZSAiZ2YiLCAiW0kiLCBldGMuIGNvbW1hbmRzLgorCisKK1dyaXRpbmcgZmlsZXMgaW1wcm92ZWQJCQkJCSpuZXctZmlsZS13cml0aW5nKgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitBZGRlZCB0aGUgJ2JhY2t1cGNvcHknIG9wdGlvbjogU2VsZWN0IHdoZXRoZXIgYSBmaWxlIGlzIHRvIGJlIGNvcGllZCBvcgorcmVuYW1lZCB0byBtYWtlIGEgYmFja3VwIGZpbGUuICBVc2VmdWwgb24gVW5peCB0byBzcGVlZCB1cCB3cml0aW5nIGFuIG9yZGluYXJ5CitmaWxlLiAgVXNlZnVsIG9uIG90aGVyIHN5c3RlbXMgdG8gcHJlc2VydmUgZmlsZSBhdHRyaWJ1dGVzIGFuZCB3aGVuIGVkaXRpbmcgYQorZmlsZSBvbiBhIFVuaXggZmlsZXN5c3RlbS4KKworQWRkZWQgdGhlICdhdXRvd3JpdGVhbGwnIG9wdGlvbi4gIFdvcmtzIGxpa2UgJ2F1dG93cml0ZScgYnV0IGZvciBtb3JlCitjb21tYW5kcy4KKworQWRkZWQgdGhlICdiYWNrdXBza2lwJyBvcHRpb246IEEgbGlzdCBvZiBmaWxlIHBhdHRlcm5zIHRvIHNraXAgbWFraW5nIGEgYmFja3VwCitmaWxlIHdoZW4gaXQgbWF0Y2hlcy4gIFRoZSBkZWZhdWx0IGZvciBVbml4IGluY2x1ZGVzICIvdG1wLyoiLCB0aGlzIG1ha2VzCisiY3JvbnRhYiAtZSIgd29yay4KKworQWRkZWQgc3VwcG9ydCBmb3IgQWNjZXNzIENvbnRyb2wgTGlzdHMgKEFDTCkgZm9yIEZyZWVCU0QgYW5kIFdpbjMyLiAgVGhlIEFDTAoraXMgY29waWVkIGZyb20gdGhlIG9yaWdpbmFsIGZpbGUgdG8gdGhlIG5ldyBmaWxlIChvciB0aGUgYmFja3VwIGlmIGl0J3MKK2NvcGllZCkuCitBQ0wgaXMgYWxzbyBzdXBwb3J0ZWQgZm9yIEFJWCwgU29sYXJpcyBhbmQgZ2VuZXJpYyBQT1NJWC4gKFRvbWFzIE9ncmVuKQorQW5kIG9uIFNHSS4KKworCitBcmd1bWVudCBsaXN0CQkJCQkJKm5ldy1hcmd1bWVudC1saXN0KgorLS0tLS0tLS0tLS0tLQorCitUaGUgc3VwcG9ydCBmb3IgdGhlIGFyZ3VtZW50IGxpc3QgaGFzIGJlZW4gZXh0ZW5kZWQuICBJdCBjYW4gbm93IGJlCittYW5pcHVsYXRlZCB0byBjb250YWluIHRoZSBmaWxlcyB5b3Ugd2FudCBpdCB0byBjb250YWluLgorCitUaGUgYXJndW1lbnQgbGlzdCBjYW4gbm93IGJlIGxvY2FsIHRvIGEgd2luZG93LiAgSXQgaXMgY3JlYXRlZCB3aXRoIHRoZQorfDphcmdsb2NhbHwgY29tbWFuZC4gIFRoZSB8OmFyZ2dsb2JhbHwgY29tbWFuZCBjYW4gYmUgdXNlZCB0byBnbyBiYWNrIHRvIHRoZQorZ2xvYmFsIGFyZ3VtZW50IGxpc3QuCisKK1RoZSB8OmFyZ2RvfCBjb21tYW5kIGV4ZWN1dGVzIGEgY29tbWFuZCBvbiBhbGwgZmlsZXMgaW4gdGhlIGFyZ3VtZW50IGxpc3QuCisKK0ZpbGUgbmFtZXMgY2FuIGJlIGFkZGVkIHRvIHRoZSBhcmd1bWVudCBsaXN0IHdpdGggfDphcmdhZGR8LiAgRmlsZSBuYW1lcyBjYW4KK2JlIHJlbW92ZWQgd2l0aCB8OmFyZ2RlbGV0ZXwuCisKKyIjIyIgY2FuIGJlIHVzZWQgbGlrZSAiIyIsIGl0IGlzIHJlcGxhY2VkIGJ5IGFsbCB0aGUgbmFtZXMgaW4gdGhlIGFyZ3VtZW50CitsaXN0IGNvbmNhdGVuYXRlZC4gIFVzZWZ1bCBmb3IgIjpncmVwIGZvbyAjIyIuCisKK1RoZSB8OmFyZ2VkaXR8IGFkZHMgYSBmaWxlIHRvIHRoZSBhcmd1bWVudCBsaXN0IGFuZCBlZGl0cyBpdC4gIExpa2UgIjphcmdhZGQiCithbmQgdGhlbiAiOmVkaXQiLgorCisKK1Jlc3RvcmUgYSBWaWV3CQkJCQkJKm5ldy1WaWV3KgorLS0tLS0tLS0tLS0tLS0KKworVGhlICI6bWt2aWV3IiBjb21tYW5kIHdyaXRlcyBhIFZpbSBzY3JpcHQgd2l0aCB0aGUgc2V0dGluZ3MgYW5kIG1hcHBpbmdzIGZvcgorb25lIHdpbmRvdy4gIFdoZW4gdGhlIGNyZWF0ZWQgZmlsZSBpcyBzb3VyY2VkLCB0aGUgdmlldyBvZiB0aGUgd2luZG93IGlzCityZXN0b3JlZC4gIEl0J3MgbGlrZSAiOm1rc2Vzc2lvbiIgZm9yIG9uZSB3aW5kb3cuCitUaGUgVmlldyBhbHNvIGNvbnRhaW5zIHRoZSBsb2NhbCBhcmd1bWVudCBsaXN0IGFuZCBtYW51YWxseSBjcmVhdGVkLCBvcGVuZWQKK2FuZCBjbG9zZWQgZm9sZHMuCisKK0FkZGVkIHRoZSAiOmxvYWR2aWV3IiBjb21tYW5kIGFuZCB0aGUgJ3ZpZXdkaXInIG9wdGlvbjogQWxsb3dzIGZvciBzYXZpbmcgYW5kCityZXN0b3Jpbmcgdmlld3Mgb2YgYSBmaWxlIHdpdGggc2ltcGxlIGNvbW1hbmRzLiAiOm1rdmlldyAxIiBzYXZlcyB2aWV3IDEgZm9yCit0aGUgY3VycmVudCBmaWxlLCAiOmxvYWR2aWV3IDEiIGxvYWRzIGl0IGFnYWluLiAgQWxzbyBhbGxvd3MgcXVpY2tseSBzd2l0Y2hpbmcKK2JldHdlZW4gdHdvIHZpZXdzIG9uIG9uZSBmaWxlLiAgQW5kIHNhdmluZyBhbmQgcmVzdG9yaW5nIG1hbnVhbCBmb2xkcyBhbmQgdGhlCitmb2xkaW5nIHN0YXRlLgorCitBZGRlZCAndmlld29wdGlvbnMnIHRvIHNwZWNpZnkgaG93ICI6bWt2aWV3IiB3b3Jrcy4KKworIjpta3Nlc3Npb24iIG5vdyBhbHNvIHdvcmtzIGZpbmUgd2l0aCB2ZXJ0aWNhbCBzcGxpdHMuICBJdCBoYXMgYmVlbiBmdXJ0aGVyCitpbXByb3ZlZCBhbmQgcmVzdG9yZXMgdGhlIHZpZXcgb2YgZWFjaCB3aW5kb3cuICBJdCBhbHNvIHdvcmtzIHByb3Blcmx5IHdpdGgKK3ByZXZpZXcgYW5kIHF1aWNrZml4IHdpbmRvd3MuCisKKydzZXNzaW9ub3B0aW9ucycgaXMgdXNlZCBmb3IgIjpta3ZpZXciIGFzIHdlbGwuCitBZGRlZCAiY3VyZGlyIiBhbmQgInNlc2RpciIgdG8gJ3Nlc3Npb25vcHRpb25zJy4gIEFsbG93cyBzZWxlY3Rpb24gb2Ygd2hhdAordGhlIGN1cnJlbnQgZGlyZWN0b3J5IHdpbGwgYmUgcmVzdG9yZWQgdG8uCisKK1RoZSBzZXNzaW9uIGZpbGUgbm93IGFsc28gY29udGFpbnMgdGhlIGFyZ3VtZW50IGxpc3QocykuCisKKworQ29sb3Igc2NoZW1lcwkJCQkJCSpuZXctY29sb3Itc2NoZW1lcyoKKy0tLS0tLS0tLS0tLS0KKworU3VwcG9ydCBmb3IgbG9hZGluZyBhIGNvbG9yIHNjaGVtZS4gIEFkZGVkIHRoZSAiOmNvbG9yc2NoZW1lIiBjb21tYW5kLgorQXV0b21hdGljYWxseSBhZGQgbWVudSBlbnRyaWVzIGZvciBhdmFpbGFibGUgc2NoZW1lcy4KK1Nob3VsZCBub3cgcHJvcGVybHkgcmVzZXQgdGhlIGNvbG9ycyB3aGVuICdiYWNrZ3JvdW5kJyBvciAndF9DbycgaXMgY2hhbmdlZC4KKyI6aGlnaGxpZ2h0IGNsZWFyIiBzZXRzIHRoZSBkZWZhdWx0IGNvbG9ycyBhZ2Fpbi4KKyI6c3ludGF4IHJlc2V0IiBzZXRzIHRoZSBzeW50YXggaGlnaGxpZ2h0IGNvbG9ycyBiYWNrIHRvIHRoZSBkZWZhdWx0cy4KK0ZvciAiOnNldCBiZyYiIGd1ZXNzIHRoZSB2YWx1ZS4gIFRoaXMgYWxsb3dzIGEgY29sb3Igc2NoZW1lIHRvIHN3aXRjaCBiYWNrIHRvCit0aGUgZGVmYXVsdCBjb2xvcnMuCitXaGVuIHN5bnRheCBoaWdobGlnaHRpbmcgaXMgc3dpdGNoZWQgb24gYW5kIGEgY29sb3Igc2NoZW1lIHdhcyBkZWZpbmVkLCByZWxvYWQKK3RoZSBjb2xvciBzY2hlbWUgdG8gZGVmaW5lIHRoZSBjb2xvcnMuCisKKworVmFyaW91cyBuZXcgaXRlbXMJCQkJCSpuZXctaXRlbXMtNioKKy0tLS0tLS0tLS0tLS0tLS0tCisKK05vcm1hbCBtb2RlIGNvbW1hbmRzOiB+CisKKyJnaSIJCUp1bXAgdG8gdGhlIF4gbWFyayBhbmQgc3RhcnQgSW5zZXJ0IG1vZGUuICBBbHNvIHdvcmtzIHdoZW4gdGhlCisJCW1hcmsgaXMganVzdCBhZnRlciB0aGUgbGluZS4gfGdpfAorCisiZydtIiBhbmQgImdgbSIKKwkJSnVtcCB0byBhIG1hcmsgd2l0aG91dCBjaGFuZ2luZyB0aGUganVtcGxpc3QuICBOb3cgeW91IGNhbiB1c2UKKwkJZ2AiIHRvIGp1bXAgdG8gdGhlIGxhc3Qga25vd24gcG9zaXRpb24gaW4gYSBmaWxlIHdpdGhvdXQgc2lkZQorCQllZmZlY3RzLiAgQWxzbyB1c2VmdWwgaW4gbWFwcGluZ3MuCisKK1snLCBbYCwgXScgYW5kIF1gCisJCW1vdmUgdGhlIGN1cnNvciB0byB0aGUgbmV4dC9wcmV2aW91cyBsb3dlcmNhc2UgbWFyay4KKworZ18JCUdvIHRvIGxhc3Qgbm9uLWJsYW5rIGluIGxpbmUuIChTdGV2ZSBXYWxsKQorCisKK09wdGlvbnM6IH4KKworJ2F1dG9yZWFkJwlXaGVuIGRldGVjdGVkIHRoYXQgYSBmaWxlIGNoYW5nZWQgb3V0c2lkZSBvZiBWaW0sCisJCWF1dG9tYXRpY2FsbHkgcmVhZCBhIGJ1ZmZlciBhZ2FpbiB3aGVuIGl0J3Mgbm90IGNoYW5nZWQuCisJCUl0IGhhcyBhIGdsb2JhbCBhbmQgYSBsb2NhbCB2YWx1ZS4gIFVzZSAiOnNldGxvY2FsIGF1dG9yZWFkPCIKKwkJdG8gZ28gYmFjayB0byB1c2luZyB0aGUgZ2xvYmFsIHZhbHVlIGZvciAnYXV0b3JlYWQnLgorCisnZGVidWcnCQlXaGVuIHNldCB0byAibXNnIiBpdCB3aWxsIHByaW50IGVycm9yIG1lc3NhZ2VzIHRoYXQgd291bGQKKwkJb3RoZXJ3aXNlIGJlIG9taXR0ZWQuICBVc2VmdWwgZm9yIGRlYnVnZ2luZyAnaW5kZW50ZXhwcicgYW5kCisJCSdmb2xkZXhwcicuCisKKydsaXNwd29yZHMnCUxpc3Qgb2Ygd29yZHMgdXNlZCBmb3IgbGlzcCBpbmRlbnRpbmcuICBJdCB3YXMgcHJldmlvdXNseSBoYXJkCisJCWNvZGVkLiAgQWRkZWQgYSBudW1iZXIgb2YgTGlzcCBuYW1lcyB0byB0aGUgZGVmYXVsdC4KKworJ2ZvbGQuLi4nCU1hbnkgbmV3IG9wdGlvbnMgZm9yIGZvbGRpbmcuCisKKydtb2RpZmlhYmxlJwlXaGVuIG9mZiwgaXQgaXMgaW1wb3NzaWJsZSB0byBtYWtlIGNoYW5nZXMgdG8gYSBidWZmZXIuCisJCVRoZSAlbSBhbmQgJU0gaXRlbXMgaW4gJ3N0YXR1c2xpbmUnIHNob3cgYSAnLScuCisKKydwcmV2aWV3d2luZG93JyBTZXQgaW4gdGhlIHByZXZpZXcgd2luZG93LiAgVXNlZCBpbiBhIHNlc3Npb24gZmlsZSB0byBtYXJrIGEKKwkJd2luZG93IGFzIHRoZSBwcmV2aWV3IHdpbmRvdy4KKworJ3ByaW50Zm9udCcKKydwcmludGV4cHInCisncHJpbnRoZWFkZXInCisncHJpbnRkZXZpY2UnCisncHJpbnRvcHRpb25zJwlmb3IgIjpoYXJkY29weSIuCisKKydidWZsaXN0ZWQnCU1ha2VzIGEgYnVmZmVyIGFwcGVhciBpbiB0aGUgYnVmZmVyIGxpc3Qgb3Igbm90LgorCitVc2UgInZpbXt2ZXJzaW9ufToiIGZvciBtb2RlbGluZXMsIG9ubHkgdG8gYmUgZXhlY3V0ZWQgd2hlbiB0aGUgdmVyc2lvbiBpcworPj0ge3ZlcnNpb259LiAgQWxzbyAidmltPnt2ZXJzaW9ufSIsICJ2aW08e3ZlcnNpb259IiBhbmQgInZpbT17dmVyc2lvbn0iLgorCisKK0V4IGNvbW1hbmRzOiB+CisKKzpzYXZbZWFzXVshXSB7ZmlsZX0KKwkJV29ya3MgbGlrZSAiOncgZmlsZSIgYW5kICI6ZSAjIiwgYnV0IHdpdGhvdXQgbG9hZGluZyB0aGUgZmlsZQorCQlhZ2FpbiBhbmQgYXZvaWRpbmcgb3RoZXIgc2lkZSBlZmZlY3RzLiB8OnNhdmVhc3wKKworOnNpbGVudFshXSB7Y21kfQorCQlFeGVjdXRlIGEgY29tbWFuZCBzaWxlbnRseS4gIEFsc28gZG9uJ3QgdXNlIGEgZGVsYXkgdGhhdCB3b3VsZAorCQljb21lIGFmdGVyIHRoZSBtZXNzYWdlLiAgQW5kIGRvbid0IGRvICdzaG93bWF0Y2gnLgorCQlSSVNDT1M6IFJlbW92ZWQgdGhhdCAiIX5jbWQiIGRpZG4ndCBvdXRwdXQgYW55dGhpbmcsIGFuZAorCQlkaWRuJ3Qgd2FpdCBmb3IgPEVudGVyPiBhZnRlcndhcmRzLiAgQ2FuIHVzZSAiOnNpbGVudCAhY21kIgorCQlub3cuCis6bWVudSA8c2lsZW50PiAgQWRkIGEgbWVudSB0aGF0IHdvbid0IGVjaG8gRXggY29tbWFuZHMuCis6bWFwIDxzaWxlbnQ+ICAgQWRkIGEgbWFwcGluZyB0aGF0IHdvbid0IGVjaG8gRXggY29tbWFuZHMuCisKKzpjaGVja3RpbWUJQ2hlY2sgZm9yIGNoYW5nZWQgYnVmZmVycy4KKworOnZlcmJvc2Uge2NtZH0gIFNldCAndmVyYm9zZScgZm9yIG9uZSBjb21tYW5kLgorCis6ZWNob21zZyB7ZXhwcn0KKzplY2hvZXJyIHtleHByfSBMaWtlICI6ZWNobyIgYnV0IHN0b3JlIHRoZSBtZXNzYWdlIGluIHRoZSBoaXN0b3J5LiAoTWFyaworCQlXYWdnb25lcikKKworOmdyZXBhZGQJV29ya3MganVzdCBsaWtlICI6Z3JlcCIgYnV0IGFkZHMgdG8gdGhlIGN1cnJlbnQgZXJyb3IgbGlzdAorCQlpbnN0ZWFkIG9mIGRlZmluaW5nIGEgbmV3IGxpc3QuIHw6Z3JlcGFkZHwKKworOmZpbmlzaAkJRmluaXNoIHNvdXJjaW5nIGEgZmlsZS4gIENhbiBiZSB1c2VkIHRvIHNraXAgdGhlIHJlc3Qgb2YgYSBWaW0KKwkJc2NyaXB0LiB8OmZpbmlzaHwKKworOmxlZnRhYm92ZQorOmFib3ZlbGVmdAlTcGxpdCBsZWZ0L2Fib3ZlIGN1cnJlbnQgd2luZG93LgorCis6cmlnaHRiZWxvdworOmJlbG93cmlnaHQJU3BsaXQgcmlnaHQvYmVsb3cgY3VycmVudCB3aW5kb3cuCisKKzpmaXJzdCwgOmJmaXJzdCwgOnB0Zmlyc3QsIGV0Yy4KKwkJQWxpYXMgZm9yICI6cmV3aW5kIi4gIEl0J3MgbW9yZSBsb2dpY2FsIGNvbXBhcmVkIHRvICI6bGFzdCIuCisKKzplbmV3CQlFZGl0IGEgbmV3LCB1bm5hbWVkIGJ1ZmZlci4gIFRoaXMgaXMgbmVlZGVkLCBiZWNhdXNlICI6ZWRpdCIKKwkJcmUtZWRpdHMgdGhlIHNhbWUgZmlsZS4gKFdhbGwpCisKKzpxdWl0YWxsCVNhbWUgYXMgIjpxYWxsIi4KKworOm1hdGNoCQlEZWZpbmUgbWF0Y2ggaGlnaGxpZ2h0aW5nIGxvY2FsIHRvIGEgd2luZG93LiAgQWxsb3dzCisJCWhpZ2hsaWdodGluZyBhbiBpdGVtIGluIHRoZSBjdXJyZW50IHdpbmRvdyB3aXRob3V0IGludGVyZmVyaW5nCisJCXdpdGggc3ludGF4IGhpZ2hsaWdodGluZy4KKworOm1lbnUgZW5hYmxlCis6bWVudSBkaXNhYmxlCUNvbW1hbmRzIHRvIGVuYWJsZS9kaXNhYmxlIG1lbnUgZW50cmllcyB3aXRob3V0IHJlbW92aW5nIHRoZW0uCisJCShNb25pc2ggU2hhaCkKKworOndpbmRvCQlFeGVjdXRlIGEgY29tbWFuZCBpbiBhbGwgd2luZG93cy4KKzpidWZkbwkJRXhlY3V0ZSBhIGNvbW1hbmQgaW4gYWxsIGJ1ZmZlcnMuCisKKzp3aW5jbWQJCVdpbmRvdyAoQ1RSTC1XKSBjb21tYW5kLiAgVXNlZnVsIHdoZW4gYSBOb3JtYWwgbW9kZSBjb21tYW5kCisJCWNhbid0IGJlIHVzZWQgKGUuZy4sIGZvciBhIEN1cnNvckhvbGQgYXV0b2NvbW1hbmQpLiAgU2VlCisJCXxDdXJzb3JIb2xkLWV4YW1wbGV8IGZvciBhIG5pY2UgYXBwbGljYXRpb24gd2l0aCBpdC4KKworOmxjZCBhbmQgOmxjaGRpcgorCQlTZXQgbG9jYWwgZGlyZWN0b3J5IGZvciBhIHdpbmRvdy4gKEJlbmppZSBDaGVuKQorCis6aGlkZSB7Y29tbWFuZH0KKwkJRXhlY3V0ZSB7Y29tbWFuZH0gd2l0aCAnaGlkZGVuJyBzZXQuCisKKzplbWVudQkJaW4gVmlzdWFsIG1vZGUgdG8gZXhlY3V0ZSBhICI6dm1lbnUiIGVudHJ5LgorCis6cG9wdXAJCVBvcCB1cCBhIHBvcHVwIG1lbnUuCisKKzpyZWRyYXcJCVJlZHJhdyB0aGUgc2NyZWVuIGV2ZW4gd2hlbiBidXN5IHdpdGggYSBzY3JpcHQgb3IgZnVuY3Rpb24uCisKKzpoYXJkY29weQlQcmludCB0byBwYXBlci4KKworOmNvbXBpbGVyCUxvYWQgYSBWaW0gc2NyaXB0IHRvIGRvIHNldHRpbmdzIGZvciBhIHNwZWNpZmljIGNvbXBpbGVyLgorCis6eiMJCUxpc3QgbnVtYmVyZWQgbGluZXMuIChCb2hkYW4gVmxhc3l1aykKKworCitOZXcgbWFya3M6IH4KKworJyggYW5kICcpCUJlZ2luIG9yIGVuZCBvZiBjdXJyZW50IHNlbnRlbmNlLiAgVXNlZnVsIGluIEV4IGNvbW1hbmRzLgorJ3sgYW5kICd9CUJlZ2luIG9yIGVuZCBvZiBjdXJyZW50IHBhcmFncmFwaC4gIFVzZWZ1bCBpbiBFeCBjb21tYW5kcy4KKycuCQlQb3NpdGlvbiBvZiB0aGUgbGFzdCBjaGFuZ2UgaW4gdGhlIGN1cnJlbnQgYnVmZmVyLgorJ14JCVBvc2l0aW9uIHdoZXJlIEluc2VydCBtb2RlIHdhcyBzdG9wcGVkLgorCitTdG9yZSB0aGUgXiBhbmQgLiBtYXJrcyBpbiB0aGUgdmltaW5mbyBmaWxlLiAgTWFrZXMgaXQgcG9zc2libGUgdG8ganVtcCB0byB0aGUKK2xhc3QgaW5zZXJ0IHBvc2l0aW9uIG9yIGNoYW5nZWQgdGV4dC4KKworCitOZXcgZnVuY3Rpb25zOiB+CithcmdpZHgoKQlDdXJyZW50IGluZGV4IGluIGFyZ3VtZW50IGxpc3QuCitidWZsaXN0ZWQoKQlDaGVja3MgaWYgdGhlIGJ1ZmZlciBleGlzdHMgYW5kIGhhcyAnYnVmbGlzdGVkJyBzZXQuCitjaW5kZW50KCkJR2V0IGluZGVudCBhY2NvcmRpbmcgdG8gJ2NpbmRlbnQnLgorZXZlbnRoYW5kbGVyKCkJUmV0dXJucyAxIHdoZW4gaW5zaWRlIGFuIGV2ZW50IGhhbmRsZXIgYW5kIGludGVyYWN0aXZlCisJCWNvbW1hbmRzIGNhbid0IGJlIHVzZWQuCitleGVjdXRhYmxlKCkJQ2hlY2tzIGlmIGEgcHJvZ3JhbSBvciBiYXRjaCBzY3JpcHQgY2FuIGJlIGV4ZWN1dGVkLgorZmlsZXdyaXRhYmxlKCkJQ2hlY2tzIGlmIGEgZmlsZSBjYW4gYmUgd3JpdHRlbi4gKFJvbiBBYXJvbikKK2ZvbGRjbG9zZWQoKQlGaW5kIG91dCBpZiB0aGVyZSBpcyBhIGNsb3NlZCBmb2xkLiAoSm9oYW5uZXMgWmVsbG5lcikuCitmb2xkY2xvc2VlbmQoKQlGaW5kIHRoZSBlbmQgb2YgYSBjbG9zZWQgZm9sZC4KK2ZvbGRsZXZlbCgpCUZpbmQgb3V0IHRoZSBmb2xkbGV2ZWwuIChKb2hhbm5lcyBaZWxsbmVyKQorZm9yZWdyb3VuZCgpCU1vdmUgdGhlIEdVSSB3aW5kb3cgdG8gdGhlIGZvcmVncm91bmQuCitnZXRjaGFyKCkJR2V0IG9uZSBjaGFyYWN0ZXIgZnJvbSB0aGUgdXNlci4gIENhbiBiZSB1c2VkIHRvIGRlZmluZSBhCisJCW1hcHBpbmcgdGhhdCB0YWtlcyBhbiBhcmd1bWVudC4KK2dldGNoYXJtb2QoKQlHZXQgbGFzdCB1c2VkIGtleSBtb2RpZmllci4KK2dldGJ1ZnZhcigpCWdldHMgdGhlIHZhbHVlIG9mIGFuIG9wdGlvbiBvciBsb2NhbCB2YXJpYWJsZSBpbiBhIGJ1ZmZlciAoUm9uCisJCUFhcm9uKQorZ2V0ZnNpemUoKQlSZXR1cm4gdGhlIHNpemUgb2YgYSBmaWxlLgorZ2V0d2ludmFyKCkJZ2V0cyB0aGUgdmFsdWUgb2YgYW4gb3B0aW9uIG9yIGxvY2FsIHZhcmlhYmxlIGluIGEgd2luZG93IChSb24KKwkJQWFyb24pCitnbG9icGF0aCgpCUZpbmQgbWF0Y2hpbmcgZmlsZXMgaW4gYSBsaXN0IG9mIGRpcmVjdG9yaWVzLgoraGFzbWFwdG8oKQlEZXRlY3QgaWYgYSBtYXBwaW5nIHRvIGEgc3RyaW5nIGlzIGFscmVhZHkgcHJlc2VudC4KK2ljb252KCkJCUNvbnZlcnQgYSBzdHJpbmcgZnJvbSBvbmUgZW5jb2RpbmcgdG8gYW5vdGhlci4KK2luZGVudCgpCWdldHMgdGhlIGluZGVudCBvZiBhIGxpbmUgKFJvbiBBYXJvbikKK2lucHV0ZGlhbG9nKCkJTGlrZSBpbnB1dCgpIGJ1dCB1c2UgYSBHVUkgZGlhbG9nIHdoZW4gcG9zc2libGUuICBDdXJyZW50bHkKKwkJb25seSB3b3JrcyBmb3IgV2luMzIsIE1vdGlmLCBBdGhlbmEgYW5kIEdUSy4KKwkJVXNlIGlucHV0ZGlhbG9nKCkgZm9yIHRoZSBFZGl0L1NldHRpbmdzL1RleHQgV2lkdGggbWVudS4gIEFsc28KKwkJZm9yIHRoZSBIZWxwL0ZpbmQuLiBhbmQgVG9vbGJhciBGaW5kSGVscCBpdGVtcy4KKwkJKFdpbjMyIHN1cHBvcnQgYnkgVGhvcmUgQi4gS2FybHNlbikKKwkJKFdpbjE2IHN1cHBvcnQgYnkgVmluY2UgTmVncmkpCitpbnB1dHNlY3JldCgpCUFzayB0aGUgdXNlciB0byB0eXBlIGEgc3RyaW5nIHdpdGhvdXQgc2hvd2luZyB0aGUgdHlwZWQga2V5cy4KKwkJKENoYXJsZXMgQ2FtcGJlbGwpCitsaWJjYWxsKCkJZm9yIFVuaXggKE5laWwgQmlyZCwgSm9oYW5uZXMgWmVsbG5lciwgU3RlcGhlbiBXYWxsKQorbGliY2FsbG5yKCkJZm9yIFdpbjMyIGFuZCBVbml4CitsaXNwaW5kZW50KCkJR2V0IGluZGVudCBhY2NvcmRpbmcgdG8gJ2xpc3AnLgorbW9kZSgpCQlSZXR1cm4gYSBzdHJpbmcgdGhhdCBpbmRpY2F0ZXMgdGhlIGN1cnJlbnQgbW9kZS4KK25leHRub25ibGFuaygpCVNraXAgYmxhbmsgbGluZXMgZm9yd2FyZHMuCitwcmV2bm9uYmxhbmsoKQlTa2lwIGJsYW5rIGxpbmVzIGJhY2t3YXJkcy4gIFVzZWZ1bCB0byBmb3IgaW5kZW50IHNjcmlwdHMuCityZXNvbHZlKCkJTVMtV2luZG93czogcmVzb2x2ZSBhIHNob3J0Y3V0IHRvIHRoZSBmaWxlIGl0IHBvaW50cyB0by4KKwkJVW5peDogcmVzb2x2ZSBhIHN5bWJvbGljIGxpbmsuCitzZWFyY2goKQlTZWFyY2ggZm9yIGEgcGF0dGVybi4KK3NlYXJjaHBhaXIoKQlTZWFyY2ggZm9yIG1hdGNoaW5nIHBhaXIuICBDYW4gYmUgdXNlZCBpbiBpbmRlbnQgZmlsZXMgdG8gZmluZAorCQl0aGUgImlmIiBtYXRjaGluZyBhbiBlbmRpZi4KK3NldGJ1ZnZhcigpCXNldHMgYW4gb3B0aW9uIG9yIHZhcmlhYmxlIGxvY2FsIHRvIGEgYnVmZmVyIChSb24gQWFyb24pCitzZXR3aW52YXIoKQlzZXRzIGFuIG9wdGlvbiBvciB2YXJpYWJsZSBsb2NhbCB0byBhIHdpbmRvdyAoUm9uIEFhcm9uKQorc3RyaWR4KCkJU2VhcmNoIGZvciBmaXJzdCBvY2N1cnJlbmNlIG9mIG9uZSBzdHJpbmcgaW4gYW5vdGhlci4KK3N0cnJpZHgoKQlTZWFyY2ggZm9yIGxhc3Qgb2NjdXJyZW5jZSBvZiBvbmUgc3RyaW5nIGluIGFub3RoZXIuCit0b2xvd2VyKCkJQ29udmVydCBzdHJpbmcgdG8gYWxsLWxvd2VyY2FzZS4KK3RvdXBwZXIoKQlDb252ZXJ0IHN0cmluZyB0byBhbGwtdXBwZXJjYXNlLgordHlwZSgpCQlDaGVjayB0aGUgdHlwZSBvZiBhbiBleHByZXNzaW9uLgord2luY29sKCkJd2luZG93IGNvbHVtbiBvZiB0aGUgY3Vyc29yCit3aW53aWR0aCgpCVdpZHRoIG9mIGEgd2luZG93LiAoSm9oYW5uZXMgWmVsbG5lcikKK3dpbmxpbmUoKQl3aW5kb3cgbGluZSBvZiB0aGUgY3Vyc29yCisKKworQWRkZWQgZXhwYW5zaW9uIG9mIGN1cmx5IGJyYWNlcyBpbiB2YXJpYWJsZSBhbmQgZnVuY3Rpb24gbmFtZXMuICBUaGlzIGNhbiBiZQordXNlZCBmb3IgdmFyaWFibGUgbmFtZXMgdGhhdCBpbmNsdWRlIHRoZSB2YWx1ZSBvZiBhbiBvcHRpb24uICBPciBhIHByaW1pdGl2ZQorZm9ybSBvZiBhcnJheXMuIChWaW5jZSBOZWdyaSkKKworCitOZXcgYXV0b2NvbW1hbmQgZXZlbnRzOiB+CitCdWZXaW5FbnRlcglUcmlnZ2VyZWQgd2hlbiBhIGJ1ZmZlciBpcyBkaXNwbGF5ZWQgaW4gYSB3aW5kb3csIGFmdGVyIHVzaW5nCisJCXRoZSBtb2RlbGluZXMuICBDYW4gYmUgdXNlZCB0byBsb2FkIGEgdmlldy4KK0J1ZldpbkxlYXZlCVRyaWdnZXJlZCB3aGVuIGEgYnVmZmVyIGlzIG5vIGxvbmdlciBpbiBhIHdpbmRvdy4gIEFsc28KKwkJdHJpZ2dlcmVkIHdoZW4gZXhpdGluZyBWaW0uICBDYW4gYmUgdXNlZCB0byBzYXZlIHZpZXdzLgorRmlsZUNoYW5nZWRSTwlUcmlnZ2VyZWQgYmVmb3JlIG1ha2luZyB0aGUgZmlyc3QgY2hhbmdlIHRvIGEgcmVhZC1vbmx5IGZpbGUuCisJCUNhbiBiZSB1c2VkIHRvIGNoZWNrLW91dCB0aGUgZmlsZS4gKFNjb3R0IEdyYWhhbSkKK1Rlcm1SZXNwb25zZQlUcmlnZ2VyZWQgd2hlbiB0aGUgdGVybWluYWwgcmVwbGllcyB0byB0aGUgdmVyc2lvbi1yZXF1ZXN0LgorCQlUaGUgdjp0ZXJtcmVzcG9uc2UgaW50ZXJuYWwgdmFyaWFibGUgaG9sZHMgdGhlIHJlc3VsdC4gIENhbiBiZQorCQl1c2VkIHRvIHJlYWN0IHRvIHRoZSB2ZXJzaW9uIG9mIHRoZSB0ZXJtaW5hbC4gIChSb25hbGQgU2NoaWxkKQorRmlsZVJlYWRDbWQJVHJpZ2dlcmVkIGJlZm9yZSByZWFkaW5nIGEgZmlsZS4KK0J1ZlJlYWRDbWQJVHJpZ2dlcmVkIGJlZm9yZSByZWFkaW5nIGEgZmlsZSBpbnRvIGEgYnVmZmVyLgorRmlsZVdyaXRlQ21kCVRyaWdnZXJlZCBiZWZvcmUgd3JpdGluZyBhIGZpbGUuCitCdWZXcml0ZUNtZAlUcmlnZ2VyZWQgYmVmb3JlIHdyaXRpbmcgYSBidWZmZXIgaW50byBhIGZpbGUuCitGaWxlQXBwZW5kQ21kCVRyaWdnZXJlZCBiZWZvcmUgYXBwZW5kaW5nIHRvIGEgZmlsZS4KK0Z1bmNVbmRlZmluZWQJVHJpZ2dlcmVkIHdoZW4gYSB1c2VyIGZ1bmN0aW9uIGlzIG5vdCBkZWZpbmVkLiAoUm9uIEFhcm9uKQorCitUaGUgYXV0b2NvbW1hbmRzIGZvciB0aGUgKkNtZCBldmVudHMgcmVhZCBvciB3cml0ZSB0aGUgZmlsZSBpbnN0ZWFkIG9mIG5vcm1hbAorZmlsZSByZWFkL3dyaXRlLiAgVXNlIHRoaXMgaW4gbmV0cncudmltIHRvIGJlIGFibGUgdG8gZWRpdCBmaWxlcyBvbiBhIHJlbW90ZQorc3lzdGVtLiAoQ2hhcmxlcyBDYW1wYmVsbCkKKworCitOZXcgU3ludGF4IGZpbGVzOiB+CisKK2JkZgkJQkRGIGZvbnQgZGVmaW5pdGlvbiAoTmlrb2xhaSBXZWlidWxsKQorY2F0YWxvZwkJU0dNTCBjYXRhbG9nIChKb2hhbm5lcyBaZWxsbmVyKQorZGViY2hhbmdlbG9nCURlYmlhbiBDaGFuZ2Vsb2cgKFdpY2hlcnQgQWtrZXJtYW4pCitkZWJjb250cm9sCURlYmlhbiBDb250cm9sIChXaWNoZXJ0IEFra2VybWFuKQorZG90CQlkb3QgKE1hcmt1cyBNb3R0bCkKK2RzbAkJRFNTU0wgc3ludGF4IChKb2hhbm5lcyBaZWxsbmVyKQorZXRlcm0JCUV0ZXJtIGNvbmZpZ3VyYXRpb24gKE5pa29sYWkgV2VpYnVsbCkKK2luZGVudAkJSW5kZW50IHByb2ZpbGUgKE5pa29sYWkgV2VpYnVsbCkKK2xmdHAJCUxGVFAgKE5pa29sYWkgV2VpYnVsbCkKK2x5bngJCUx5bnggY29uZmlnIChEb3VnIEtlYXJucykKK211c2gJCW11c2ggc291cmNlY29kZSAoQmVrIE9iZXJpbikKK25hdHVyYWwJCU5hdHVyYWwgKE1hcmtvIExlaXBlcnQpCitwaWxyYwkJUGFsIHJlc291cmNlIGNvbXBpbGVyIChCcmlhbiBTY2hhdSkKK3BsbQkJUEwvTSAoUGhpbGlwcGUgQ291bG9uZ2VzKQorcG92aW5pCQlQb3ZyYXkgY29uZmlndXJhdGlvbiAoRGF2aWQgTmVjYXMpCityYXRwb2lzb24JUmF0cG9pc29uIGNvbmZpZy9jb21tYW5kIChEb3VnIEtlYXJucykKK3JlYWRsaW5lCXJlYWRsaW5lIGNvbmZpZyAoTmlrb2xhaSBXZWlidWxsKQorc2NyZWVuCQlTY3JlZW4gUkMgKE5pa29sYWkgV2VpYnVsbCkKK3NwZWNtYW4JCVNwZWNtYW4gKE9yIEZyZXVuZCkKK3NxbGZvcm1zCVNRTCpGb3JtcyAoQXVzdGluIFppZWdsZXIpCit0ZXJtaW5mbwl0ZXJtaW5mbyAoTmlrb2xhaSBXZWlidWxsKQordGlkeQkJVGlkeSBjb25maWd1cmF0aW9uIChEb3VnIEtlYXJucykKK3dnZXQJCVdnZXQgY29uZmlndXJhdGlvbiAoRG91ZyBLZWFybnMpCisKKworVXBkYXRlZCBtYW55IHN5bnRheCBmaWxlcyB0byB3b3JrIGJvdGggd2l0aCBWaW0gNS43IGFuZCA2LjAuCisKK0ludGVyZmFjZSB0byBSdWJ5LiAoU2h1Z28gTWFlZGEpCitTdXBwb3J0IGR5bmFtaWMgbG9hZGluZyBvZiB0aGUgUnVieSBpbnRlcmZhY2Ugb24gTVMtV2luZG93cy4gKE11cmFva2EgVGFybykKK1N1cHBvcnQgdGhpcyBmb3IgTWluZ3cgdG9vLiAoQmVub2l0IENlcnJpbmEpCisKK1dpbjMyOiBBZGRlZCBwb3NzaWJpbGl0eSB0byBsb2FkIFRDTCBkeW5hbWljYWxseS4gKE11cmFva2EgVGFybykKK0Fsc28gZm9yIEJvcmxhbmQgNS41LiAoRGFuIFNoYXJwKQorCitXaW4zMjogV2hlbiBlZGl0aW5nIGEgZmlsZSB0aGF0IGlzIGEgc2hvcnRjdXQgKCoubG5rIGZpbGUpLCBlZGl0IHRoZSBmaWxlIGl0CitsaW5rcyB0by4gIFVubGVzcyAnYmluYXJ5JyBpcyBzZXQsIHRoZW4gZWRpdCB0aGUgc2hvcnRjdXQgZmlsZSBpdHNlbGYuCisoWWFzdWhpcm8gTWF0c3Vtb3RvKQorCitUaGUgIjpjb21tYW5kIiBjb21tYW5kIG5vdyBhY2NlcHRzIGEgIi1iYXIiIGFyZ3VtZW50LiAgVGhpcyBhbGxvd3MgdGhlIHVzZXIKK2NvbW1hbmQgdG8gYmUgZm9sbG93ZWQgYnkgInwgY29tbWFuZCIuCisKK1RoZSBwcmV2aWV3IHdpbmRvdyBpcyBub3cgYWxzbyB1c2VkIGJ5IHRoZXNlIGNvbW1hbmRzOgorLSB8OnBlZGl0fCBlZGl0cyB0aGUgc3BlY2lmaWVkIGZpbGUgaW4gdGhlIHByZXZpZXcgd2luZG93CistIHw6cHNlYXJjaHwgc2VhcmNoZXMgZm9yIGEgd29yZCBpbiBpbmNsdWRlZCBmaWxlcywgbGlrZSB8OmlqdW1wfCwgYW5kCisgIGRpc3BsYXlzIHRoZSBmb3VuZCB0ZXh0IGluIHRoZSBwcmV2aWV3IHdpbmRvdy4KK0FkZGVkIHRoZSBDVFJMLVcgUCBjb21tYW5kOiBnbyB0byBwcmV2aWV3IHdpbmRvdy4KKworTVMtRE9TIGFuZCBNUy1XaW5kb3dzIGFsc28gcmVhZCB0aGUgc3lzdGVtLXdpZGUgdmltcmMgZmlsZSAkVklNL3ZpbXJjLiAgTW9zdGx5Citmb3IgTlQgc3lzdGVtcyB3aXRoIG11bHRpcGxlIHVzZXJzLgorCitBIGRvdWJsZS1jbGljayBvZiB0aGUgbW91c2Ugb24gYSBjaGFyYWN0ZXIgdGhhdCBoYXMgYSAiJSIgbWF0Y2ggc2VsZWN0cyBmcm9tCit0aGF0IGNoYXJhY3RlciB0byB0aGUgbWF0Y2guICBTaW1pbGFyIHRvICJ2JSIuCisKKyItUyBzZXNzaW9uLnZpbSIgYXJndW1lbnQ6IFNvdXJjZSBhIHNjcmlwdCBmaWxlIHdoZW4gc3RhcnRpbmcgdXAuICBDb252ZW5pZW50Cit3YXkgdG8gc3RhcnQgVmltIHdpdGggYSBzZXNzaW9uIGZpbGUuCisKK0FkZGVkICItLWNtZCB7Y29tbWFuZH0iIFZpbSBhcmd1bWVudCB0byBleGVjdXRlIGEgY29tbWFuZCBiZWZvcmUgYSB2aW1yYyBmaWxlCitpcyBsb2FkZWQuIChWaW5jZSBOZWdyaSkKKworQWRkZWQgdGhlICItTSIgVmltIGFyZ3VtZW50OiByZXNldCAnbW9kaWZpYWJsZScgYW5kICd3cml0ZScsIHRodXMgZGlzYWxsb3cKK21ha2luZyBjaGFuZ2VzIGFuZCB3cml0aW5nIGZpbGVzLgorCitBZGRlZCBydW50aW1lL2RlbG1lbnUudmltLiAgU291cmNlIHRoaXMgdG8gcmVtb3ZlIGFsbCBtZW51cyBhbmQgcHJlcGFyZSBmb3IKK2xvYWRpbmcgbmV3IG1lbnVzLiAgVXNlZnVsIHdoZW4gY2hhbmdpbmcgJ2xhbmdtZW51Jy4KKworUGVybCBzY3JpcHQgdG8gZmlsdGVyIFBlcmwgZXJyb3IgbWVzc2FnZXMgdG8gcXVpY2tmaXggdXNhYmxlIGZvcm1hdC4gKEpvZXJnCitaaWVmbGUpCisKK0FkZGVkIHJ1bnRpbWUvbWFjcm9zL2xlc3MudmltOiBWaW0gc2NyaXB0IHRvIHNpbXVsYXRlIGxlc3MsIGJ1dCB3aXRoIHN5bnRheAoraGlnaGxpZ2h0aW5nLgorCitNUy1XaW5kb3dzIGluc3RhbGwgcHJvZ3JhbTogKEpvbiBNZXJ6KQorLSBUaGUgV2luMzIgcHJvZ3JhbSBjYW4gbm93IGNyZWF0ZSBzaG9ydGN1dHMgb24gdGhlIGRlc2t0b3AgYW5kIGluc3RhbGwgVmltIGluCisgIHRoZSBTdGFydCBtZW51LgorLSBQb3NzaWJseSByZW1vdmUgb2xkICJFZGl0IHdpdGggVmltIiBlbnRyaWVzLgorLSBUaGUgVmltIGV4ZWN1dGFibGUgaXMgbmV2ZXIgbW92ZWQgb3IgJFBBVEggY2hhbmdlZC4gIEEgc21hbGwgYmF0Y2ggZmlsZSBpcworICBjcmVhdGVkIGluIGEgZGlyZWN0b3J5IGluICRQQVRILiAgRmV3ZXIgY2hvaWNlcyB0byBiZSBtYWRlLgorLSBEZXRlY3QgYWxyZWFkeSBpbnN0YWxsZWQgVmltIHZlcnNpb25zIGFuZCBvZmZlciB0byB1bmluc3RhbGwgdGhlbSBmaXJzdC4KKworSW1wcm92ZWQgdGhlIE1TLVdpbmRvd3MgdW5pbnN0YWwgcHJvZ3JhbS4gIEl0IG5vdyBhbHNvIGRlbGV0ZXMgdGhlIGVudHJpZXMgaW4KK3RoZSBTdGFydCBtZW51LCBpY29ucyBmcm9tIHRoZSBkZXNrdG9wIGFuZCB0aGUgY3JlYXRlZCBiYXRjaCBmaWxlcy4gKEpvbiBNZXJ6KQorQWxzbyBtYWRlIGl0IHBvc3NpYmxlIHRvIGRlbGV0ZSBvbmx5IHNvbWUgb2YgdGhlc2UuICBBbHNvIHVucmVnaXN0ZXIgZ3ZpbSBmb3IKK09MRS4KKworR2VuZXJhdGUgYSBzZWxmLWluc3RhbGxpbmcgVmltIHBhY2thZ2UgZm9yIE1TLVdpbmRvd3MuICBUaGlzIHVzZXMgTlNJUy4gKEpvbgorTWVyeiBldCBhbC4pCisKK0FkZGVkICI6ZmlsZXR5cGUgZGV0ZWN0Ii4gIFRyeSBkZXRlY3RpbmcgdGhlIGZpbGV0eXBlIGFnYWluLiAgSGVscHMgd2hlbgord3JpdGluZyBhIG5ldyBzaGVsbCBzY3JpcHQsIGFmdGVyIGFkZGluZyAiIyEvYmluL2NzaCIuCisKK0FkZGVkICI6YXVncm91cCEgbmFtZSIgdG8gZGVsZXRlIGFuIGF1dG9jb21tYW5kIGdyb3VwLiAgTmVlZGVkIGZvciB0aGUKK2NsaWVudC1zZXJ2ZXIgIi0tcmVtb3RlLXdhaXQiLgorCitBZGQgdGhlIFZpbSB2ZXJzaW9uIG51bWJlciB0byB0aGUgdmltaW5mbyBmaWxlLCB1c2VmdWwgZm9yIGRlYnVnZ2luZy4KKworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitJTVBST1ZFTUVOVFMJCQkJCQkqaW1wcm92ZW1lbnRzLTYqCisKK0FkZGVkIHRoZSAnbicgZmxhZyBpbiAnY3BvcHRpb25zJzogV2hlbiBvbWl0dGVkIHRleHQgb2Ygd3JhcHBlZCBsaW5lcyBpcyBub3QKK3B1dCBiZXR3ZWVuIGxpbmUgbnVtYmVycyBmcm9tICdudW1iZXInIG9wdGlvbi4gIE1ha2VzIGl0IGEgbG90IGVhc2llciB0byByZWFkCit3cmFwcGVkIGxpbmVzLgorCitXaGVuIHRoZXJlIGlzIGEgZm9ybWF0IGVycm9yIGluIGEgdGFncyBmaWxlLCB0aGUgYnl0ZSBwb3NpdGlvbiBpcyByZXBvcnRlZCBzbwordGhhdCB0aGUgZXJyb3IgY2FuIGJlIGxvY2F0ZWQuCisKKyJnZiIgd29ya3MgaW4gVmlzdWFsIG1vZGU6IFVzZSB0aGUgc2VsZWN0ZWQgdGV4dCBhcyB0aGUgZmlsZSBuYW1lLiAoQ2hhc2UKK1RpbmdsZXkpCisKK0FsbG93IGFtYmlndW91cyBtYXBwaW5ncy4gIFRodXMgImFhIiBhbmQgImFhYSIgY2FuIGJvdGggYmUgbWFwcGVkLCB0aGUgbG9uZ2VzdAorbWF0Y2hpbmcgb25lIGlzIHVzZWQuICBFc3BlY2lhbGx5IHVzZWZ1bCBmb3IgIjpsbWFwIiBhbmQgJ2tleW1hcCcuCisKK0VuY3J5cHRpb246IEFzayB0aGUga2V5IHRvIGJlIHR5cGVkIHR3aWNlIHdoZW4gY3J5cHRpbmcgdGhlIGZpcnN0IHRpbWUuCitPdGhlcndpc2UgYSB0eXBvIG1pZ2h0IGNhdXNlIHRoZSB0ZXh0IHRvIGJlIGxvc3QgZm9yZXZlci4gKENoYXNlIFRpbmdsZXkpCisKK1RoZSB3aW5kb3cgdGl0bGUgbm93IGhhcyAiVklNIiBvbiB0aGUgZW5kLiAgVGhlIGZpbGUgbmFtZSBjb21lcyBmaXJzdCwgdXNlZnVsCitpbiB0aGUgdGFza2Jhci4gIEEgIisiIGlzIGFkZGVkIHdoZW4gdGhlIGZpbGUgaXMgbW9kaWZpZWQuICAiPSIgaXMgYWRkZWQgZm9yCithIHJlYWQtb25seSBmaWxlLiAgIi0iIGlzIGFkZGVkIGZvciBhIGZpbGUgd2l0aCAnbW9kaWZpYWJsZScgb2ZmLgorCitJbiBWaXN1YWwgbW9kZSwgbWVudGlvbiB0aGUgc2l6ZSBvZiB0aGUgc2VsZWN0ZWQgYXJlYSBpbiB0aGUgJ3Nob3djbWQnCitwb3NpdGlvbi4KKworQWRkZWQgdGhlICJiOmNoYW5nZWR0aWNrIiB2YXJpYWJsZS4gIEluY3JlbWVudGVkIGF0IGVhY2ggY2hhbmdlLCBhbHNvIGZvcgordW5kby4gIENhbiBiZSB1c2VkIHRvIHRha2UgYWN0aW9uIG9ubHkgaWYgdGhlIGJ1ZmZlciBoYXMgYmVlbiBjaGFuZ2VkLgorCitJbiB0aGUgcmVwbGFjZW1lbnQgc3RyaW5nIG9mIGEgIjpzIiBjb21tYW5kICJcPSIgY2FuIGJlIHVzZWQgdG8gcmVwbGFjZSB3aXRoCit0aGUgcmVzdWx0IG9mIGFuIGV4cHJlc3Npb24uICBGcm9tIHRoaXMgZXhwcmVzc2lvbiB0aGUgc3VibWF0Y2goKSBmdW5jdGlvbiBjYW4KK2JlIHVzZWQgdG8gYWNjZXNzIHN1Ym1hdGNoZXMuCisKK1doZW4gZG9pbmcgIjpxYWxsIiBhbmQgdGhlcmUgaXMgYSBjaGFuZ2UgaW4gYSBidWZmZXIgdGhhdCBpcyBiZWluZyBlZGl0ZWQgaW4KK2Fub3RoZXIgd2luZG93LCBqdW1wIHRvIHRoYXQgd2luZG93LCBpbnN0ZWFkIG9mIGVkaXRpbmcgdGhhdCBidWZmZXIgaW4gdGhlCitjdXJyZW50IHdpbmRvdy4KKworQWRkZWQgdGhlICIrK2VuYz0iIGFuZCAiKytmZj0iIGFyZ3VtZW50cyB0byBmaWxlIHJlYWQvd3JpdGUgY29tbWFuZHMgdG8gZm9yY2UKK3VzaW5nIHRoZSBnaXZlbiAnZW5jb2RpbmcnIG9yICdmaWxlZm9ybWF0Jy4gIEFuZCBhZGRlZCB0aGUgInY6Y21kYXJnIgordmFyaWFibGUsIHRvIGJlIHVzZWQgZm9yIEZpbGVSZWFkQ21kIGF1dG9jb21tYW5kcyB0aGF0IHJlYWQvd3JpdGUgdGhlIGZpbGUKK3RoZW1zZWx2ZXMuCisKK1doZW4gcmVhZGluZyBzdGRpbiwgZmlyc3QgcmVhZCB0aGUgdGV4dCBpbiBiaW5hcnkgbW9kZSBhbmQgdGhlbiByZS1yZWFkIGl0Cit3aXRoIGF1dG9tYXRpYyBzZWxlY3Rpb24gb2YgJ2ZpbGVmb3JtYXQnIGFuZCAnZmlsZWVuY29kaW5nJy4gIFRoaXMgYXZvaWRzCitwcm9ibGVtcyB3aXRoIG5vdCBiZWluZyBhYmxlIHRvIHJld2luZCB0aGUgZmlsZSAoZS5nLiwgd2hlbiBhIGxpbmUgbmVhciB0aGUKK2VuZCBvZiB0aGUgZmlsZSBlbmRzIGluIExGIGluc3RlYWQgb2YgQ1ItTEYpLgorV2hlbiByZWFkaW5nIHRleHQgZnJvbSBzdGRpbiBhbmQgdGhlIGJ1ZmZlciBpcyBlbXB0eSwgZG9uJ3QgbWFyayBpdCBjaGFuZ2VkLgorQWxsb3dzIGV4aXRpbmcgd2l0aG91dCB0cm91YmxlLgorCitBZGRlZCBhbiBJRCB0byBtYW55IGVycm9yIG1lc3NhZ2VzLiAgVGhpcyB3aWxsIG1ha2UgaXQgZWFzaWVyIHRvIGZpbmQgaGVscCBmb3IKK2EgbWVzc2FnZS4KKworSW5zZXJ0IG1vZGU6CistICJDVFJMLUcgaiIgYW5kICJDVFJMLUcgayIgY2FuIGJlIHVzZWQgdG8gaW5zZXJ0IGluIGFub3RoZXIgbGluZSBpbiB0aGUgc2FtZQorICBjb2x1bW4uICBVc2VmdWwgZm9yIGVkaXRpbmcgYSB0YWJsZS4KKy0gQWRkZWQgVGhlc2F1cnVzIGNvbXBsZXRpb24gd2l0aCBDVFJMLVggQ1RSTC1ULiAoVmluY2UgTmVncmkpCistIEFkZGVkIHRoZSAndGhlc2F1cnVzJyBvcHRpb24sIHRvIHVzZSBpbnN0ZWFkIG9mICdkaWN0aW9uYXJ5JyBmb3IgdGhlc2F1cnVzCisgIGNvbXBsZXRpb24uICBBZGRlZCB0aGUgJ3MnIGZsYWcgaW4gJ2NvbXBsZXRlJy4KKy0gTWFkZSBDVFJMLVggQ1RSTC1MIGluIEluc2VydCBtb2RlIHVzZSB0aGUgJ2NvbXBsZXRlJyBvcHRpb24uICBJdCBub3cgYWxzbworICBzY2FucyBvdGhlciBsb2FkZWQgYnVmZmVycyBmb3IgbWF0Y2hpbmcgbGluZXMuCistIENUUkwtUiBub3cgYWxzbyB3b3JrcyBpbiBJbnNlcnQgbW9kZSB3aGlsZSBkb2luZyBjb21wbGV0aW9uIHdpdGggQ1RSTC1YIG9yCisgIENUUkwtTi4gKE5laWwgQmlyZCkKKy0gV2hlbiBkb2luZyBJbnNlcnQgbW9kZSBjb21wbGV0aW9uLCB3aGVuIGNvbXBsZXRpb24gaXMgZmluaXNoZWQgY2hlY2sgZm9yIGEKKyAgbWF0Y2ggd2l0aCB3b3JkcyBmcm9tICdjaW5rZXlzJyBvciAnaW5kZW50a2V5cycuCisKK1BlcmZvcm1hbmNlOgorLSBNYWRlIGRpc3BsYXkgdXBkYXRpbmcgbW9yZSBlZmZpY2llbnQuICBJbnNlcnQvZGVsZXRlIGxpbmVzIG1heSBiZSB1c2VkIGZvcgorICBhbGwgY2hhbmdlcywgYWxzbyBmb3IgdW5kby9yZWRvLgorLSBUaGUgZGlzcGxheSBpcyBub3QgcmVkcmF3biB3aGVuIHRoZXJlIGlzIHR5cGVhaGVhZCBpbiBJbnNlcnQgbW9kZS4gIFNwZWVkcworICB1cCBDVFJMLVIgYSBsb3QuCistIEltcHJvdmVkIHNwZWVkIG9mIHNjcmVlbiBvdXRwdXQgZm9yIDMyIGJpdCBET1MgdmVyc2lvbi4gKFZpbmNlIE5lZ3JpKQorLSBXaGVuIGRyYWdnaW5nIHdpdGggdGhlIG1vdXNlLCB0aGVyZSBpcyBhIGxvb2thaGVhZCB0byBza2lwIG1vdXNlIGNvZGVzIHdoZW4KKyAgdGhlcmUgaXMgYW5vdGhlciBvbmUgbmV4dC4gIE1ha2VzIGRyYWdnaW5nIHdpdGggdGhlIG1vdXNlIGEgbG90IGZhc3Rlci4KKy0gQWxzbyBhIG1lbW9yeSB1c2FnZSBpbXByb3ZlbWVudDogV2hlbiBjYWxsaW5nIHVfc2F2ZSB3aXRoIGEgc2luZ2xlIGxpbmUsCisgIGRvbid0IHNhdmUgaXQgaWYgdGhlIGxpbmUgd2FzIHJlY2VudGx5IHNhdmVkIGZvciB0aGUgc2FtZSB1bmRvIGFscmVhZHkuCistIFdoZW4gdXNpbmcgYSBzY3JpcHQgdGhhdCBhcHBlbmRzIG9uZSBjaGFyYWN0ZXIgYXQgYSB0aW1lLCB0aGUgYW1vdW50IG9mCisgIGFsbG9jYXRlZCBtZW1vcnkgd2FzIGdyb3dpbmcgc3RlYWRpbHkuICBBbHNvIHdoZW4gJ3VuZG9sZXZlbHMnIGlzIC0xLgorICBDYXVzZWQgYnkgdGhlIGxpbmUgc2F2ZWQgZm9yICJVIiBuZXZlciB0byBiZSBmcmVlZC4gIE5vdyBmcmVlIGFuIHVuZG8gYmxvY2sKKyAgd2hlbiBpdCBiZWNvbWVzIGVtcHR5LgorLSBHVUkgYW5kIERvczMyOiBVc2UgYSB2ZXJ0aWNhbCBzY3JvbGwgcmVnaW9uLCB0byBtYWtlIHNjcm9sbGluZyBpbiBhCisgIHZlcnRpY2FsbHkgc3BsaXQgd2luZG93IGZhc3Rlci4gIE5vIG5lZWQgdG8gcmVkcmF3IHRoZSB3aG9sZSB3aW5kb3cuCistIFdoZW4gc2Nyb2xsaW5nIGlzbid0IHBvc3NpYmxlIHdpdGggdGVybWluYWwgY29kZXMgKGUuZy4sIGZvciBhIHZlcnRpY2FsbHkKKyAgc3BsaXQgd2luZG93KSByZWRyYXcgZnJvbSBTY3JlZW5MaW5lc1tdLiAgVGhhdCBzaG91bGQgYmUgZmFzdGVyIHRoYW4gZ29pbmcKKyAgdGhyb3VnaCB0aGUgbGluZXMgd2l0aCB3aW5fbGluZSgpLCBlc3BlY2lhbGx5IHdoZW4gdXNpbmcgc3ludGF4CisgIGhpZ2hsaWdodGluZy4KKy0gVGhlIFN5bnRheCBtZW51IGlzIG5vdyBwcmUtZ2VuZXJhdGVkIGJ5IGEgc2VwYXJhdGUgc2NyaXB0LiAgTWFrZXMgbG9hZGluZworICB0aGUgbWVudSA3MCUgZmFzdGVyLiAgVGhpcyBjYW4gaGFsdmUgdGhlIHN0YXJ0dXAgdGltZSBvZiBndmltLgorLSBXaGVuIGRvaW5nICI6aGVscCB0YWciLCBkb24ndCBvcGVuIGhlbHAudHh0IGZpcnN0LCBqdW1wIGRpcmVjdGx5IHRvIHRoZSBoZWxwCisgIHRhZy4gIEl0J3MgZmFzdGVyIGFuZCBhdm9pZHMgYW4gZXh0cmEgbWVzc2FnZS4KKy0gV2luMzI6IFdoZW4gYSBmaWxlIG5hbWUgZG9lc24ndCBlbmQgaW4gIi5sbmsiIGRvbid0IHRyeSByZXNvbHZpbmcgYQorICBzaG9ydGN1dCwgaXQgdGFrZXMgcXVpdGUgYSBiaXQgb2YgdGltZS4KKy0gRG9uJ3QgdXBkYXRlIHRoZSBtb3VzZSBwb2ludGVyIHNoYXBlIHdoaWxlIHRoZXJlIGFyZSB0eXBlYWhlYWQgY2hhcmFjdGVycy4KKy0gQ2hhbmdlIE1FVEFbXSBmcm9tIGEgc3RyaW5nIGludG8gYW4gYXJyYXksIGF2b2lkcyB1c2luZyBzdHJjaHIoKSBvbiBpdC4KKy0gRG9uJ3QgY2xlYXIgdGhlIGNvbW1hbmQgbGluZSB3aGVuIGFkZGluZyBjaGFyYWN0ZXJzLCBhdm9pZHMgdGhhdCBzY3JlZW5fZmlsbAorICBpcyBjYWxsZWQgYnV0IGRvZXNuJ3QgZG8gYW55dGhpbmcuCisKK1JvYnVzdG5lc3M6CistIFVuaXg6IENoZWNrIGZvciBydW5uaW5nIG91dCBvZiBzdGFjayBzcGFjZSB3aGVuIGV4ZWN1dGluZyBhIHJlZ2V4cC4gIEF2b2lkcworICBhIG5hc3R5IGNyYXNoLiAgT25seSB3b3JrcyB3aGVuIHRoZSBzeXN0ZW0gc3VwcG9ydHMgcnVubmluZyB0aGUgc2lnbmFsCisgIGZ1bmN0aW9uIG9uIGFub3RoZXIgc3RhY2suCistIERpc2FsbG93ICI6c291cmNlIDxkaXJuYW1lPiIuICBPbiB1bml4IGl0J3MgcG9zc2libGUgdG8gcmVhZCBhIGRpcmVjdG9yeSwKKyAgZG9lcyBub3QgbWFrZSBzZW5zZSB0byB1c2UgaXQgYXMgVmltIGNvbW1hbmRzLgorCitTZWN1cml0eToKKy0gV2hlbiByZWFkaW5nIGZyb20gb3Igd3JpdGluZyB0byBhIHRlbXBvcmFyeSBmaWxlLCBjaGVjayB0aGF0IGl0IGlzbid0IGEKKyAgc3ltYm9saWMgbGluay4gIEdpdmVzIHNvbWUgcHJvdGVjdGlvbiBhZ2FpbnN0IHN5bWxpbmsgYXR0YWNrcy4KKy0gV2hlbiBjcmVhdGluZyBhIGJhY2t1cCBmaWxlIGNvcHkgb3IgYSBzd2FwIGZpbGUsIGNoZWNrIGZvciBpdCBhbHJlYWR5CisgIGV4aXN0aW5nIHRvIGF2b2lkIGEgc3ltbGluayBhdHRhY2suIChDb2xpbiBQaGlwcHMpCistIEV2YWx1YXRpbmcgb3B0aW9ucyB3aGljaCBhcmUgYW4gZXhwcmVzc2lvbiBpcyBkb25lIGluIGEgfHNhbmRib3h8LiAgSWYgdGhlCisgIG9wdGlvbiB3YXMgc2V0IGJ5IGEgbW9kZWxpbmUsIGl0IGNhbm5vdCBjYXVzZSBkYW1hZ2UuCistIFVzZSBhIHNlY3VyZSB3YXkgdG8gZ2VuZXJhdGUgdGVtcCBmaWxlIG5hbWVzOiBDcmVhdGUgYSBwcml2YXRlIGRpcmVjdG9yeSBmb3IKKyAgdGVtcCBmaWxlcy4gIFVzZWQgZm9yIFVuaXgsIE1TLURPUyBhbmQgT1MvMi4KKy0gJ21ha2VlZicgY2FuIGJlIGVtcHR5LCB3aGljaCBtZWFucyB0aGF0IGFuIGludGVybmFsbHkgZ2VuZXJhdGVkIGZpbGUgbmFtZSBpcworICB1c2VkLiAgVGhlIG9sZCBkZWZhdWx0IHdhcyAiL3RtcC9maWxlIiwgd2hpY2ggaXMgYSBzZWN1cml0eSByaXNrLgorICBXcml0aW5nICdtYWtlZWYnIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBmYWlscyBpbiBhIHJlYWQtb25seSBkaXJlY3RvcnkgYW5kCisgIGNhdXNlcyB0cm91YmxlIHdoZW4gdXNpbmcgIjpncmVwIiBvbiBhbGwgZmlsZXMuICBNYWRlIHRoZSBkZWZhdWx0IGVtcHR5IGZvcgorICBhbGwgc3lzdGVtcywgc28gdGhhdCBhIHRlbXAgZmlsZSBpcyB1c2VkLgorLSBUaGUgY29tbWFuZCBmcm9tIGEgdGFncyBmaWxlIGlzIGV4ZWN1dGVkIGluIHRoZSBzYW5kYm94IGZvciBiZXR0ZXIgc2VjdXJpdHkuCistIFRoZSBSdWJ5LCBUY2wgYW5kIFB5dGhvbiBpbnRlcmZhY2VzIGNhbm5vdCBiZSB1c2VkIGZyb20gdGhlIHNhbmRib3guICBUaGV5CisgIG1pZ2h0IGRvIGRhbmdlcm91cyB0aGluZ3MuICBQZXJsIGlzIHN0aWxsIHBvc3NpYmxlLCBidXQgbGltaXRlZCB0byB0aGUgU2FmZQorICBlbnZpcm9ubWVudC4gKERvbm5pZSBTbWl0aCkKKworU3ludGF4IGhpZ2hsaWdodGluZzoKKy0gT3B0aW1pemVkIHRoZSBzcGVlZCBieSBjYWNoaW5nIHRoZSBzdGF0ZSBzdGFjayBhbGwgb3ZlciB0aGUgZmlsZSwgbm90IGp1c3QKKyAgdGhlIHBhcnQgYmVpbmcgZGlzcGxheWVkLiAgUmVxdWlyZWQgZm9yIGZvbGRpbmcuCistIEFkZGVkICI6c3ludGF4IHN5bmMgZnJvbXN0YXJ0IjogQWx3YXlzIHBhcnNlIGZyb20gdGhlIHN0YXJ0IG9mIHRoZSBmaWxlLgorLSBBZGRlZCB0aGUgImRpc3BsYXkiIGFyZ3VtZW50IGZvciBzeW50YXggaXRlbXM6IHVzZSB0aGUgaXRlbSBvbmx5IHdoZW4KKyAgZGlzcGxheWluZyB0aGUgcmVzdWx0LiAgQ2FuIG1ha2UgcGFyc2luZyBmYXN0ZXIgZm9yIHRleHQgdGhhdCBpc24ndCBnb2luZyB0bworICBiZSBkaXNwbGF5ZWQuCistIFdoZW4gdXNpbmcgQ1RSTC1MLCB0aGUgY2FjaGVkIHN0YXRlcyBhcmUgZGVsZXRlZCwgdG8gZm9yY2UgcGFyc2luZyB0aGUgdGV4dAorICBhZ2Fpbi4KKy0gVXNlIGVsZmhhc2ggYWxnb3JpdGhtIGZvciB0YWJsZSBvZiBrZXl3b3Jkcy4gIFRoaXMgc2hvdWxkIGdpdmUgYSBiZXR0ZXIKKyAgZGlzdHJpYnV0aW9uIGFuZCBzcGVlZHVwIGtleXdvcmQgbG9va3VwLiAoQ2FtcGJlbGwpCistIEFsc28gYWxsb3cgdGhlICJsYyIgbGVhZGluZyBjb250ZXh0IGZvciBza2lwIGFuZCBlbmQgcGF0dGVybnMuIChTY290dAorICBCaWdoYW0pCistIFN5bnRheCBpdGVtcyBjYW4gaGF2ZSB0aGUgImV4dGVuZCIgYXJndW1lbnQgdG8gdW5kbyB0aGUgZWZmZWN0IG9mIGEKKyAgImtlZXBlbmQiIGFyZ3VtZW50IG9mIGFuIGl0ZW0gaXQgaXMgY29udGFpbmVkIGluLiAgTWFrZXMgaXQgcG9zc2libGUgdG8gaGF2ZQorICBzb21lIGNvbnRhaW5lZCBpdGVtcyBleHRlbmQgYSByZWdpb24gd2hpbGUgb3RoZXJzIGRvbid0LgorLSAiOnN5bnRheCBjbGVhciIgbm93IGRlbGV0ZXMgdGhlIGI6Y3VycmVudF9zeW50YXggdmFyaWFibGUuICBUaGF0J3MgbG9naWNhbCwKKyAgc2luY2Ugbm8gc3ludGF4IGlzIGRlZmluZWQgYWZ0ZXIgdGhpcyBjb21tYW5kLgorLSBBZGRlZCAiOnN5bnRheCBlbmFibGUiOiBzd2l0Y2ggb24gc3ludGF4IGhpZ2hsaWdodGluZyB3aXRob3V0IGNoYW5naW5nIHRoZQorICBjb2xvcnMuICBUaGlzIGFsbG93cyBzcGVjaWZ5aW5nIHRoZSBjb2xvcnMgaW4gdGhlIC52aW1yYyBmaWxlIHdpdGhvdXQgdGhlCisgIG5lZWQgZm9yIGEgbXlzeW50YXhmaWxlLgorLSBBZGRlZCAiOnN5bnRheCByZXNldCI6IHJlc2V0IHRoZSBjb2xvcnMgdG8gdGhlaXIgZGVmYXVsdHMuCistIEFkZGVkIHRoZSAiY29udGFpbnM9VE9QIiBhbmQgImNvbnRhaW5zPUNPTlRBSU5FRCIgYXJndW1lbnRzLiAgTWFrZXMgaXQKKyAgcG9zc2libGUgdG8gZGVmaW5lIGEgdHJhbnNwYXJlbnQgaXRlbSB0aGF0IGRvZXNuJ3QgY29udGFpbiBpdHNlbGYuCistIEFkZGVkIGEgImNvbnRhaW5lZGluIiBhcmd1bWVudCB0byBzeW50YXggaXRlbXMuICBBbGxvd3MgYWRkaW5nIGEgY29udGFpbmVkCisgIGl0ZW0gdG8gYW4gZXhpc3RpbmcgaXRlbSAoZS5nLiwgdG8gaGlnaGxpZ2h0IGEgbmFtZSBpbiBhIGNvbW1lbnQpLgorCitNb2RlbGVzcyBzZWxlY3Rpb246CistIFdoZW4gaW4gdGhlIGNvbW1hbmQtbGluZSB3aW5kb3csIHVzZSBtb2RlbGVzcyBzZWxlY3Rpb24gaW4gdGhlIG90aGVyCisgIHdpbmRvd3MuICBNYWtlcyBpdCBwb3NzaWJsZSB0byBjb3B5IHZpc2libGUgdGV4dCB0byB0aGUgY29tbWFuZC1saW5lIHdpbmRvdy4KKy0gU3VwcG9ydCBtb2RlbGVzcyBzZWxlY3Rpb24gb24gdGhlIGNtZGxpbmUgaW4gYSB0ZXJtaW5hbC4gIFByZXZpb3VzbHkgaXQgd2FzCisgIG9ubHkgcG9zc2libGUgZm9yIHRoZSBHVUkuCistIE1ha2UgZG91YmxlLXJpZ2h0LWNsaWNrIGluIG1vZGVsZXNzIHNlbGVjdGlvbiBzZWxlY3QgYSB3aG9sZSB3b3JkLiAgU2luZ2xlCisgIHJpZ2h0IGNsaWNrIGRvZXNuJ3QgdXNlIHRoZSB3b3JkIHNlbGVjdGlvbiBzdGFydGVkIGJ5IGEgZG91YmxlLWxlZnQtY2xpY2suCisgIE1ha2VzIGl0IHdvcmsgbGlrZSBpbiBWaXN1YWwgbW9kZS4KKy0gVGhlIG1vZGVsZXNzIHNlbGVjdGlvbiBubyBsb25nZXIgaGFzIGFuIGltcGxpZWQgYXV0b21hdGljIGNvcHkgdG8gdGhlCisgIGNsaXBib2FyZC4gIEl0IG5vdyBvYmV5cyB0aGUgJ2EnIGFuZCAnQScgZmxhZ3MgaW4gJ2d1aW9wdGlvbnMnIG9yCisgICJhdXRvc2VsZWN0IiBhbmQgImF1dG9zZWxlY3RtbCIgaW4gJ2NsaXBib2FyZCcuCistIEFkZGVkIHRoZSBDVFJMLVkgY29tbWFuZCBpbiBDbWRsaW5lLW1vZGUgdG8gY29weSB0aGUgbW9kZWxlc3Mgc2VsZWN0aW9uIHRvCisgIHRoZSBjbGlwYm9hcmQuICBBbHNvIHdvcmtzIGF0IHRoZSBoaXQtZW50ZXIgcHJvbXB0IGFuZCB0aGUgbW9yZSBwcm9tcHQuCisgIFJlbW92ZWQgdGhlIG1hcHBpbmdzIGluIHJ1bnRpbWUvbXN3aW4udmltIGZvciBDVFJMLVkgYW5kIENUUkwtWiBpbgorICBjbWRsaW5lLW1vZGUgdG8gYmUgYWJsZSB0byB1c2UgQ1RSTC1ZIGluIHRoZSBuZXcgd2F5LgorCitSZWR1Y2VkIHRoZSBhbW91bnQgb2Ygc3RhY2sgc3BhY2UgdXNlZCBieSByZWdtYXRjaCgpIHRvIGFsbG93IGl0IHRvIGhhbmRsZQorY29tcGxpY2F0ZWQgcGF0dGVybnMgb24gYSBsb25nZXIgdGV4dC4KKworJ2lzZm5hbWUnIG5vdyBpbmNsdWRlcyAnJScgYW5kICcjJy4gIE1ha2VzICJ2aW0gZGlyXCNmaWxlIiB3b3JrIGZvciBNUy1ET1MuCisKK0FkZGVkIGtleXBhZCBzcGVjaWFsIGtleXMgPGtFbnRlcj4sIDxrMD4gLSA8azk+LiAgV2hlbiBub3QgbWFwcGVkIHRoZXkgYmVoYXZlCitsaWtlIHRoZSBBU0NJSSBlcXVpdmFsZW50LiAoSXZhbiBXZWxsZXN6IGFuZCBWaW5jZSBOZWdyaSkKK1JlY29nbml6ZSBhIGZldyBtb3JlIHh0ZXJtIGtleXM6IDxDLVJpZ2h0PiwgPEMtTGVmdD4sIDxDLUVuZD4sIDxDLUhvbWU+CisKK0Fsc28gdHJpZ2dlciB0aGUgQnVmVW5sb2FkIGV2ZW50IHdoZW4gVmltIGlzIGdvaW5nIHRvIGV4aXQuICBQZXJoYXBzIGEgc2NyaXB0CituZWVkcyB0byBkbyBzb21lIGNsZWFuaW5nIHVwLgorCitFeHBhbmQgZXhwcmVzc2lvbiBpbiBiYWNrdGlja3M6IGA9e2V4cHJ9YC4gIENhbiBiZSB1c2VkIHdoZXJlIGJhY2t0aWNrCitleHBhbnNpb24gaXMgZG9uZS4gKFZpbmNlIE5lZ3JpKQorCitHVUk6CistIEFkZGVkICdMJyBhbmQgJ1InIGZsYWdzIGluICdndWlvcHRpb25zJzogQWRkIGEgbGVmdCBvciByaWdodCBzY3JvbGxiYXIgb25seQorICB3aGVuIHRoZXJlIGlzIGEgdmVydGljYWxseSBzcGxpdCB3aW5kb3cuCistIFgxMTogV2hlbiBhIGNvbG9yIGNhbid0IGJlIGFsbG9jYXRlZCwgdXNlIHRoZSBuZWFyZXN0IG1hdGNoIGZyb20gdGhlCisgIGNvbG9ybWFwLiAgVGhpcyBhdm9pZHMgdGhhdCBibGFjayBpcyB1c2VkIGZvciBtYW55IHRoaW5ncy4gKE1vbmlzaCBTaGFoKQorICBBbHNvIGRvIHRoaXMgZm9yIHRoZSBtZW51IGFuZCBzY3JvbGxiYXIsIHRvIGF2b2lkIHRoYXQgdGhleSBiZWNvbWUgYmxhY2suCistIFdpbjMyIGFuZCBYMTE6IEFkZGVkICdtb3VzZXNoYXBlJyBvcHRpb246IEFkanVzdCB0aGUgbW91c2UgcG9pbnRlciBzaGFwZSB0bworICB0aGUgY3VycmVudCBtb2RlLiAoVmluY2UgTmVncmkpCistIEFkZGVkIHRoZSAnbGluZXNwYWNlJyBvcHRpb246IEluc2VydCBhIHBpeGVsIGxpbmUgYmV0d2VlbiBsaW5lcy4gKE5hbSkKKy0gQWxsb3cgbW9kZWxlc3Mgc2VsZWN0aW9uICh3aXRob3V0IG1vdmluZyB0aGUgY3Vyc29yKSBieSBrZWVwaW5nIENUUkwgYW5kCisgIFNISUZUIHByZXNzZWQuIChJdmFuIFdlbGxlc3opCistIE1vdGlmOiBhZGRlZCB0b29sYmFyLiAoR29yZG9uIFByaWV1cikgIEFsc28gYWRkZWQgdG9vbHRpcHMuCistIEF0aGVuYTogYWRkZWQgdG9vbGJhciBhbmQgdG9vbHRpcHMuIChEYXZpZCBIYXJyaXNvbiAtLSBiYXNlZCBvbiBHb3Jkb24KKyAgUHJpZXVyJ3Mgd29yaykKKy0gTWFkZSB0aGUgJ3Rvb2xiYXInIG9wdGlvbiB3b3JrIGZvciBBdGhlbmEgYW5kIE1vdGlmLiAgQ2FuIG5vdyBzd2l0Y2ggYmV0d2VlbgorICB0ZXh0IGFuZCBpY29ucyBvbiB0aGUgZmx5LiAgKERhdmlkIEhhcnJpc29uKQorLSBTdXBwb3J0IG1lbnUgc2VwYXJhdG9yIGxpbmVzIGZvciBBdGhlbmEuICAoRGF2aWQgSGFycmlzb24pCistIEF0aGVuYTogQWRqdXN0IHRoZSBhcnJvdyBwaXhtYXAgdXNlZCBpbiBhIHB1bGxyaWdodCBtZW51IHRvIHRoZSBzaXplIG9mIHRoZQorICBmb250LiAoRGF2aWQgSGFycmlzb24pCistIFdpbjMyOiBBZGRlZCAiYyIgZmxhZyB0byAnZ3VpZm9udCcgdG8gYmUgYWJsZSB0byBzcGVjaWZ5IHRoZSBjaGFyc2V0LiAoQXJ0ZW0KKyAgS2hvZHVzaCkKKy0gV2hlbiBubyAtLWVuYWJsZS14aW0gYXJndW1lbnQgaXMgZ2l2ZW4sIGF1dG9tYXRpY2FsbHkgZW5hYmxlIGl0IHdoZW4gYSBYIEdVSQorICBpcyB1c2VkLiAgUmVxdWlyZWQgZm9yIGRlYWQga2V5IHN1cHBvcnQgKGFuZCBtdWx0aS1ieXRlIGlucHV0KS4KKy0gQWZ0ZXIgYSBmaWxlIHNlbGVjdGlvbiBkaWFsb2csIGNoZWNrIHRoYXQgdGhlIGVkaXRlZCBmaWxlcyB3ZXJlIG5vdCBjaGFuZ2VkCisgIG9yIGRlbGV0ZWQuICBUaGUgV2luMzIgZGlhbG9nIGFsbG93cyBkZWxldGluZyBhbmQgcmVuYW1pbmcgZmlsZXMuCistIE1vdGlmIGFuZCBBdGhlbmE6IEFkZGVkIHN1cHBvcnQgZm9yICJlZGl0cmVzIi4gKE1hcnRpbiBEYWxlY2tpKQorLSBNb3RpZiBhbmQgQXRoZW5hOiBBZGRlZCAibWVudUZvbnQiIHRvIGJlIGFibGUgdG8gc3BlY2lmeSBhIGZvbnQgb3IgZm9udHNldAorICBmb3IgdGhlIG1lbnVzLiAgQ2FuIGFsc28gYmUgc2V0IHdpdGggdGhlICJNZW51IiBoaWdobGlnaHQgZ3JvdXAuICBVc2VmdWwKKyAgd2hlbiB0aGUgbG9jYWxlIGlzIGRpZmZlcmVudCBmcm9tICdlbmNvZGluZycuIChEYXZpZCBIYXJyaXNvbikKKyAgV2hlbiBGT05UU0VUX0FMV0FZUyBpcyBkZWZpbmVkLCBhbHdheXMgdXNlIGEgZm9udHNldCBmb3IgdGhlIG1lbnVzLiAgU2hvdWxkCisgIGF2b2lkIHRyb3VibGUgd2l0aCBjaGFuZ2luZyBmcm9tIGEgZm9udCB0byBhIGZvbnRzZXQuICAoRGF2aWQgSGFycmlzb24pCistIEhpZ2hsaWdodGluZyBhbmQgZm9udCBmb3IgdGhlIHRvb2x0aXBzIGNhbiBiZSBzcGVjaWZpZWQgd2l0aCB0aGUgIlRvb2x0aXAiCisgIGhpZ2hsaWdodCBncm91cC4gKERhdmlkIEhhcnJpc29uKQorLSBUaGUgQ21kbGluZS1tb2RlIG1lbnVzIGNhbiBiZSB1c2VkIGF0IHRoZSBtb3JlLXByb21wdC4gIFRoaXMgbW9zdGx5IHdvcmtzCisgIGZpbmUsIGJlY2F1c2UgdGhleSBzdGFydCB3aXRoIGEgQ1RSTC1DLiAgVGhlICJDb3B5IiBtZW51IHdvcmtzIHRvIGNvcHkgdGhlCisgIG1vZGVsZXNzIHNlbGVjdGlvbi4gIEFsbG93cyBjb3B5aW5nIHRoZSBvdXRwdXQgb2YgIjpzZXQgYWxsIiBvciAiOmludHJvIgorICB3aXRob3V0IGF1dG8tc2VsZWN0aW9uLgorLSBXaGVuIHN0YXJ0aW5nIHRoZSBHVUkgd2hlbiB0aGVyZSBpcyBubyB0ZXJtaW5hbCBjb25uZWN0ZWQgdG8gc3Rkb3V0IGFuZAorICBzdGRlcnIsIGRpc3BsYXkgZXJyb3IgbWVzc2FnZXMgaW4gYSBkaWFsb2cuICBQcmV2aW91c2x5IHRoZXkgd291bGRuJ3QgYmUKKyAgZGlzcGxheWVkIGF0IGFsbC4KKy0gQWxsb3cgc2V0dGluZyAnYnJvd3NlZGlyJyB0byB0aGUgbmFtZSBvZiBhIGRpcmVjdG9yeSwgdG8gYmUgdXNlZCBmb3IgdGhlCisgIGZpbGUgZGlhbG9nLiAoRGFuIFNoYXJwKQorLSBiOmJyb3dzZWZpbHRlciBhbmQgZzpicm93c2VmaWx0ZXIgY2FuIGJlIHNldCB0byB0aGUgZmlsdGVycyB1c2VkIGZvciB0aGUKKyAgZmlsZSBkaWFsb2cuICBTdXBwb3J0ZWQgZm9yIFdpbjMyIGFuZCBNb3RpZiBHVUkuIChEYW4gU2hhcnApCisKK1gxMToKKy0gU3VwcG9ydCBmb3IgdGhlIGNsaXBib2FyZCBzZWxlY3Rpb24gYXMgcmVnaXN0ZXIgIisuICBXaGVuIGV4aXRpbmcgb3IKKyAgc3VzcGVuZGluZyBjb3B5IHRoZSBzZWxlY3Rpb24gdG8gY3V0IGJ1ZmZlciAwLiAgU2hvdWxkIGFsbG93IGNvcHkvcGFzdGUgd2l0aAorICBtb3JlIGFwcGxpY2F0aW9ucyBpbiBhIFgxMS1zdGFuZGFyZCB3YXkuICAoTmVpbCBCaXJkKQorLSBVc2UgdGhlIFggY2xpcGJvYXJkIGluIGFueSB0ZXJtaW5hbCwgbm90IGp1c3QgaW4gYW4geHRlcm0uCisgIEFkZGVkICJleGNsdWRlOiIgaW4gJ2NsaXBib2FyZCc6IFNwZWNpZnkgYSBwYXR0ZXJuIHRvIG1hdGNoIGFnYWluc3QgdGVybWluYWwKKyAgbmFtZXMgZm9yIHdoaWNoIG5vIGNvbm5lY3Rpb24gc2hvdWxkIGJlIG1hZGUgdG8gdGhlIFggc2VydmVyLiAgVGhlIGRlZmF1bHQKKyAgY3VycmVudGx5IHdvcmsgZm9yIEZyZWVCU0QgYW5kIExpbnV4IGNvbnNvbGVzLgorLSBBZGRlZCBhIGZldyBtZXNzYWdlcyBmb3Igd2hlbiAndmVyYm9zZScgaXMgbm9uLXplcm8gdG8gc2hvdyB3aGF0IGhhcHBlbnMKKyAgd2hlbiB0cnlpbmcgdG8gY29ubmVjdCB0byB0aGUgWCBzZXJ2ZXIuICBTaG91bGQgaGVscCB3aGVuIHRyeWluZyB0byBmaW5kIG91dAorICB3aHkgc3RhcnR1cCBpcyBzbG93LgorCitHVEsgR1VJOiAocGFydGx5IGJ5IE1hcmNpbiBEYWxlY2tpKQorLSBXaXRoIHNvbWUgZm9udHMgdGhlIGNoYXJhY3RlcnMgY2FuIGJlIHRhbGxlciB0aGFuIGFzY2VudCArIGRlc2NlbnQuICBFLmcuLAorICAiLW1pc2MtZml4ZWQtKi0qLSotKi0xOC0qLSotKi0qLSotaXNvMTA2NDYtMSIuICBBZGQgb25lIHRvIHRoZSBjaGFyYWN0ZXIKKyAgY2VsbCBoZWlnaHQuCistIEltcGxlbWVudCAibm8iIHZhbHVlIGZvciAnd2luYWx0a2V5cyc6IGRvbid0IHVzZSBBbHQtS2V5IGFzIGEgbWVudSBzaG9ydGN1dCwKKyAgd2hlbiAnd2FrJyBjaGFuZ2VkIGFmdGVyIGNyZWF0aW5nIHRoZSBtZW51cy4KKy0gU2V0dGluZyAnd2FrJyBhZnRlciB0aGUgR1VJIHN0YXJ0ZWQgd29ya3MuCistIHJlY3ljbGUgdGV4dCBHQydzIHRvIHJlZHVjZSBjb21tdW5pY2F0aW9uLgorLSBBZGp1c3QgaWNvbiBzaXplIHRvIHdpbmRvdyBtYW5hZ2VyLgorLSBDbGVhbnVwIGluIGZvbnQgaGFuZGxpbmcuCistIFJlcGxhY2UgWFF1ZXJ5Q29sb3Igd2l0aCBHREsgY2FsbHMuCistIEdub21lIHN1cHBvcnQuICBEZXRlY3RzIEdub21lIGluIGNvbmZpZ3VyZSBhbmQgdXNlcyBkaWZmZXJlbnQgd2lkZ2V0cy4KKyAgT3RoZXJ3aXNlIGl0J3MgbXVjaCBsaWtlIEdUSy4gKEFuZHkgS2FobikKKyAgSXQgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCwgYmVjYXVzZSBpdCBjYXVzZXMgYSBmZXcgcHJvYmxlbXMuCistIFJlbW92ZWQgdGhlIHNwZWNpYWwgY29kZSB0byBmb3JrIGZpcnN0IGFuZCB0aGVuIHN0YXJ0IHRoZSBHVUkuICBOb3cgdXNlCisgIF9leGl0KCkgaW5zdGVhZCBvZiBleGl0KCksIHRoaXMgd29ya3MgZmluZSB3aXRob3V0IHNwZWNpYWwgdHJpY2tzLgorLSBEaWFsb2dzIHNvbWV0aW1lcyBhcHBlYXJlZCBhIGJpdCBmYXIgYXdheS4gIFBvc2l0aW9uIHRoZSBkaWFsb2dzIGluc2lkZQorICB0aGUgZ3ZpbSB3aW5kb3cuIChCcmVudCBWZXJuZXIpCistIFdoZW4gZHJvcHBpbmcgYSBmaWxlIG9uIFZpbSwgcmVtb3ZlIGV4dHJhIHNsYXNoZXMgZnJvbSB0aGUgc3RhcnQgb2YgdGhlCisgIHBhdGguICBBbHNvIHNob3J0ZW4gdGhlIGZpbGUgbmFtZSBpZiBwb3NzaWJsZS4KKworTW90aWY6IChNYXJ0aW4gRGFsZWNraSkKKy0gTWFkZSB0aGUgZGlhbG9nIGxheW91dCBiZXR0ZXIuCistIEFkZGVkIGZpbmQgYW5kIGZpbmQvcmVwbGFjZSBkaWFsb2dzLgorLSBGb3IgdGhlIG1lbnVzLCBjaGFuZ2UgImlzby04ODU5IiB0byAiaXNvXzg4NTkiLCBMaW51eCBhcHBlYXJzIHRvIG5lZWQgdGhpcy4KKy0gQWRkZWQgaWNvbiB0byBkaWFsb2dzLCBsaWtlIGZvciBHVEsuCistIFVzZSBYUE0gYml0bWFwcyBmb3IgdGhlIGljb24gd2hlbiBwb3NzaWJsZS4gIFVzZSB0aGUgU29sYXJpcyBYcG1QLmggaW5jbHVkZQorICBmaWxlIHdoZW4gaXQncyBhdmFpbGFibGUuCistIENoYW5nZSB0aGUgc2hhZG93IG9mIHRoZSB0b29sYmFyIGl0ZW1zIHRvIGdldCBhIHZpc3VhbCBmZWVkYmFjayBvZiBpdCBiZWluZworICBwcmVzc2VkIG9uIG5vbi1MZXNzVGlmZi4KKy0gVXNlIGdhZGdldHMgaW5zdGVhZCBvZiB3aW5kb3dzIGZvciBzb21lIGl0ZW1zIGZvciBzcGVlZC4KKworQ29tbWFuZCBsaW5lIGNvbXBsZXRpb246CistIENvbXBsZXRlIGVudmlyb25tZW50IHZhcmlhYmxlIG5hbWVzLiAoTWlrZSBTdGVlZCkKKy0gRm9yICI6Y29tbWFuZCIsIGFkZGVkIGEgZmV3IGNvbXBsZXRpb24gbWV0aG9kczogIm1hcHBpbmciLCAiZnVuY3Rpb24iLAorICAiZXhwcmVzc2lvbiIgYW5kICJlbnZpcm9ubWVudCIuCistIFdoZW4gYSBmdW5jdGlvbiBkb2Vzbid0IHRha2UgYXJndW1lbnRzLCBsZXQgY29tcGxldGlvbiBhZGQgKCkgaW5zdGVhZCBvZiAoLgorCitGb3IgTVMtRE9TLCBNUy1XaW5kb3dzIGFuZCBPUy8yOiBFeHBhbmQgJVZBUiUgZW52aXJvbm1lbnQgdmFyaWFibGVzIGxpa2UgJFZBUi4KKyhXYWx0ZXIgQnJpc2NvZSkKKworUmVkaXJlY3QgbWVzc2FnZXMgdG8gdGhlIGNsaXBib2FyZCAiOnJlZGlyIEAqIiBhbmQgdG8gdGhlIHVubmFtZWQgcmVnaXN0ZXIKKyI6cmVkaXIgQCIiLiAoV2FsbCkKKworIjpsZXQgQC8gPSAnJyIgY2xlYXJzIHRoZSBzZWFyY2ggcGF0dGVybiwgaW5zdGVhZCBvZiBzZXR0aW5nIGl0IHRvIGFuIGVtcHR5CitzdHJpbmcuCisKK0V4cHJlc3Npb24gZXZhbHVhdGlvbjoKKy0gIj8gOiIgY2FuIGJlIHVzZWQgbGlrZSBpbiBDLgorLSBjb2woIiQiKSByZXR1cm5zIHRoZSBsZW5ndGggb2YgdGhlIGN1cnNvciBsaW5lIHBsdXMgb25lLiAoU3RlcGhlbiBQLiBXYWxsKQorLSBPcHRpb25hbCBleHRyYSBhcmd1bWVudCBmb3IgbWF0Y2goKSwgbWF0Y2hlbmQoKSBhbmQgbWF0Y2hzdHIoKTogT2Zmc2V0IHRvCisgIHN0YXJ0IGxvb2tpbmcgZm9yIGEgbWF0Y2guCistIE1hZGUgdGhpcmQgYXJndW1lbnQgdG8gc3RycGFydCgpIG9wdGlvbmFsLiAgKFBhdWwgTW9vcmUsIFpkZW5layBTZWtlcmEpCistIGV4aXN0cygpIGNhbiBhbHNvIGJlIHVzZWQgdG8gY2hlY2sgZm9yIEV4IGNvbW1hbmRzIGFuZCBkZWZpbmVkIGF1dG9jb21tYW5kcy4KKy0gQWRkZWQgZXh0cmEgYXJndW1lbnQgdG8gaW5wdXQoKTogRGVmYXVsdCB0ZXh0LgorLSBBbHNvIHNldCAidjplcnJtc2ciIHdoZW4gdXNpbmcgIjpzaWxlbnQhIGNtZCIuCistIEFkZGVkIHRoZSB2OnByZXZjb3VudCB2YXJpYWJsZTogdjpjb3VudCBmb3IgdGhlIHByZXZpb3VzIGNvbW1hbmQuCistIEFkZGVkICJ2OnByb2duYW1lIiwgbmFtZSB3aXRoIHdoaWNoIFZpbSB3YXMgc3RhcnRlZC4gKFZpbmNlIE5lZ3JpKQorLSBJbiB0aGUgdmVyYm9zZSBtZXNzYWdlIGFib3V0IHJldHVybmluZyBmcm9tIGEgZnVuY3Rpb24sIGFsc28gc2hvdyB0aGUgcmV0dXJuCisgIHZhbHVlLgorCitDc2NvcGU6CistIEFkZGVkIHRoZSBjc2NvcGVfY29ubmVjdGlvbigpIGZ1bmN0aW9uLiAoQW5keSBLYWhuKQorLSAiOmNzY29wZSBraWxsIC0xIiBraWxscyBhbGwgY3Njb3BlIGNvbm5lY3Rpb25zLiAoQW5keSBLYWhuKQorLSBBZGRlZCB0aGUgJ2NzY29wZXBhdGhjb21wJyBvcHRpb24uIChTY290dCBIYXVjaykKKy0gQWRkZWQgIjpzY3Njb3BlIiBjb21tYW5kLCBzcGxpdCB3aW5kb3cgYW5kIGV4ZWN1dGUgQ3Njb3BlIGNvbW1hbmQuIChKYXNvbgorICBEdWVsbCkKKworVk1TOgorLSBDb21tYW5kIGxpbmUgYXJndW1lbnRzIGFyZSBhbHdheXMgdXBwZXJjYXNlLiAgSW50ZXJwcmV0IGEgIi1YIiBhcmd1bWVudCBhcworICAiLXgiIGFuZCAiLS9YIiBhcyAiLVgiLgorLSBTZXQgJ21ha2VwcmcnIGFuZCAnZ3JlcHByZycgdG8gbWVhbmluZ2Z1bCBkZWZhdWx0cy4gKFpvbHRhbiBBcnBhZGZmeSkKKy0gVXNlIHRoZSBYLWNsaXBib2FyZCBmZWF0dXJlIGFuZCB0aGUgWCBjb21tYW5kIHNlcnZlci4gKFpvbHRhbiBBcnBhZGZmeSkKKworTWFjaW50b3NoOiAoRGFueSBTdC1BbWFudCkKKy0gQWxsb3cgYSB0YWdzIGZpbGUgdG8gaGF2ZSBDUiwgQ1ItTEYgb3IgTEYgbGluZSBzZXBhcmF0b3IuIChBeGVsIEtpZWxob3JuKQorLSBDYXJib25pemVkICh3aGlsZSBrZWVwaW5nIG5vbiBDYXJib24gY29kZSkKKyAgKFNvbWUgd29yayAic3RvbGVuIiBmcm9tIEFtbW9uIFNraWRtb3JlKQorLSBJbXByb3ZlZCB0aGUgbWVudSBpdGVtIGluZGV4IGhhbmRsaW5nIChzaG91bGQgYmUgZmFzdGVyKQorLSBSdW50aW1lIGNvbW1hbmRzIG5vdyBoYW5kbGUgLyBpbiBmaWxlIG5hbWUgKE1hY09TIDkgdmVyc2lvbikKKy0gQWRkZWQgIjp3aW5wb3MiIHN1cHBvcnQuCistIFN1cHBvcnQgdXNpbmcgIn4iIGluIGZpbGUgbmFtZXMgZm9yIGhvbWUgZGlyZWN0b3J5LgorCitPcHRpb25zOgorLSBXaGVuIHVzaW5nIHNldCArPSBvciBePSAsIGNoZWNrIGZvciBpdGVtcyB1c2VkIHR3aWNlLiAgRHVwbGljYXRlcyBhcmUKKyAgcmVtb3ZlZC4gIChWaW5jZSBOZWdyaSkKKy0gV2hlbiBzZXR0aW5nIGFuIG9wdGlvbiB0aGF0IGlzIGEgbGlzdCBvZiBmbGFncywgcmVtb3ZlIGR1cGxpY2F0ZSBmbGFncy4KKy0gSWYgcG9zc2libGUsIHVzZSBnZXRybGltaXQoKSB0byBzZXQgJ21heG1lbXRvdCcgYW5kICdtYXhtZW0nLiAoUGluYSkKKy0gQWRkZWQgImFscGhhIiB0byAnbnJmb3JtYXRzJzogaW5jcmVtZW50IG9yIGRlY3JlbWVudCBhbiBhbHBoYWJldGljIGNoYXJhY3RlcgorICB3aXRoIENUUkwtQSBhbmQgQ1RSTC1YLgorLSAiOnNldCBvcHQmdmkiIHNldHMgYW4gb3B0aW9uIHRvIGl0cyBWaSBkZWZhdWx0LCAiOnNldCBvcHQmdmltIiB0byBpdHMgVmltCisgIGRlZmF1bHQuICBVc2VmdWwgdG8gc2V0ICdjcG8nIHRvIGl0cyBWaW0gZGVmYXVsdCB3aXRob3V0IGtub3dpbmcgd2hhdCBmbGFncworICB0aGF0IGluY2x1ZGVzLgorLSAnc2Nyb2xsb2ZmJyBub3cgYWxzbyBhcHBsaWVzIHRvIGEgbG9uZywgd3JhcHBlZCBsaW5lIHRoYXQgZG9lc24ndCBmaXQgaW4gdGhlCisgIHdpbmRvdy4KKy0gQWRkZWQgbW9yZSBvcHRpb24gc2V0dGluZ3MgdG8gdGhlIGRlZmF1bHQgbWVudXMuCistIFVwZGF0ZWQgdGhlIG9wdGlvbiB3aW5kb3cgd2l0aCBuZXcgb3B0aW9ucy4gIE1hZGUgaXQgYSBiaXQgZWFzaWVyIHRvIHJlYWQuCisKK0ludGVybmFsIGNoYW5nZXM6CistIFNwbGl0IGxpbmUgcG9pbnRlcnMgaW4gdGV4dCBwYXJ0IGFuZCBhdHRyaWJ1dGVzIHBhcnQuICBBbGxvd3MgZm9yIGZ1dHVyZQorICBjaGFuZ2UgdG8gbWFrZSBhdHRyaWJ1dGUgbW9yZSB0aGFuIG9uZSBieXRlLgorLSBQcm92aWRlIGEgcXNvcnQoKSBmdW5jdGlvbiBmb3Igc3lzdGVtcyB0aGF0IGRvbid0IGhhdmUgaXQuCistIENoYW5nZWQgdGhlIGJpZyBzd2l0Y2ggZm9yIE5vcm1hbCBtb2RlIGNvbW1hbmRzIGludG8gYSB0YWJsZS4gIFRoaXMgY2xlYW5zCisgIHVwIHRoZSBjb2RlIGNvbnNpZGVyYWJseSBhbmQgYXZvaWRzIHRyb3VibGUgZm9yIHNvbWUgb3B0aW1pemluZyBjb21waWxlcnMuCistIEFzc2lnbmVkIGEgbmVnYXRpdmUgdmFsdWUgdG8gc3BlY2lhbCBrZXlzLCB0byBhdm9pZCB0aGVtIGJlaW5nIG1peGVkIHVwIHdpdGgKKyAgVW5pY29kZSBjaGFyYWN0ZXJzLgorLSBHbG9iYWwgdmFyaWFibGVzIGV4cGFuZF9jb250ZXh0IGFuZCBleHBhbmRfcGF0dGVybiB3ZXJlIG5vdCBzdXBwb3NlZCB0byBiZQorICBnbG9iYWwuICBQYXNzIHRoZW0gdG8gRXhwYW5kT25lKCkgYW5kIGFsbCBmdW5jdGlvbnMgY2FsbGVkIGJ5IGl0LgorLSBObyBsb25nZXIgdXNlIHRoZSBnbG9iYWwgcmVnX2ljIGZsYWcuICBJdCBjYXVzZWQgdHJvdWJsZSBhbmQgaW4gYSBmZXcgcGxhY2VzCisgIGl0IHdhcyBub3Qgc2V0LgorLSBSZW1vdmVkIHRoZSB1c2Ugb2YgdGhlIHN0dWZmIGJ1ZmZlciBmb3IgIioiLCAiSyIsIENUUkwtXSwgZXRjLiAgQXZvaWRzCisgIHByb2JsZW0gd2l0aCBhdXRvY29tbWFuZHMuCistIE1vdmVkIHNvbWUgY29kZSBmcm9tIGV4X2RvY21kLmMgdG8gZXhfY21kczIuYy4gIFRoZSBmaWxlIHdhcyBnZXR0aW5nIHRvbworICBiaWcuICBBbHNvIG1vdmVkIHNvbWUgY29kZSBmcm9tIHNjcmVlbi5jIHRvIG1vdmUuYy4KKy0gRG9uJ3QgaW5jbHVkZSB0aGUgQ1JDIHRhYmxlIGZvciBlbmNyeXB0aW9uLCBnZW5lcmF0ZSBpdC4gIFNhdmVzIHF1aXRlIGEgYml0CisgIG9mIHNwYWNlIGluIHRoZSBzb3VyY2UgY29kZS4gKE1hdHRoaWFzIEtyYW1tKQorLSBSZW5hbWVkIG11bHRpYnl0ZS5jIHRvIG1ieXRlLmMgdG8gYXZvaWQgYSBwcm9ibGVtIHdpdGggOC4zIGZpbGVzeXN0ZW1zLgorLSBSZW1vdmVkIHRoZSBHVEsgaW1wbGVtZW50YXRpb24gb2YgIjpmaW5kaGVscCIsIGl0IG5vdyB1c2VzIHRoZQorICBUb29sQmFyLkZpbmRIZWxwICBtZW51IGVudHJ5LgorLSBSZW5hbWVkIG1jaF93aW5kZXhpdCgpIHRvIG1jaF9leGl0KCksIG1jaF9pbml0KCkgdG8gbWNoX2Vhcmx5X2luaXQoKSBhbmQKKyAgbWNoX3NoZWxsaW5pdCgpIHRvIG1jaF9pbml0KCkuCisKK0hpZ2hsaWdodGluZzoKKy0gSW4gYSAiOmhpZ2hsaWdodCIgbGlzdGluZywgc2hvdyAieHh4IiB3aXRoIHRoZSBoaWdobGlnaHQgY29sb3IuCistIEFkZGVkIHN1cHBvcnQgZm9yIHh0ZXJtIHdpdGggODggb3IgMjU2IGNvbG9ycy4gIFRoZSByaWdodCBjb2xvciBudW1iZXJzIHdpbGwKKyAgYmUgdXNlZCBmb3IgdGhlIG5hbWUgdXNlZCBpbiBhICI6aGlnaGxpZ2h0IiBjb21tYW5kLiAoU3RldmUgV2FsbCkKKy0gQWRkZWQgImRlZmF1bHQiIGFyZ3VtZW50IGZvciAiOmhpZ2hsaWdodCIuICBXaGVuIGluY2x1ZGVkLCB0aGUgY29tbWFuZCBpcworICBpZ25vcmVkIGlmIGhpZ2hsaWdodGluZyBmb3IgdGhlIGdyb3VwIHdhcyBhbHJlYWR5IGRlZmluZWQuCisgIEFsbCBzeW50YXggZmlsZXMgbm93IHVzZSAiOmhpIGRlZmF1bHQgLi4uIiB0byBhbGxvdyB0aGUgdXNlciB0byBzcGVjaWZ5CisgIGNvbG9ycyBpbiBoaXMgdmltcmMgZmlsZS4gIEFsc28sIHRoZSAiaWYgZGlkX3h4eF9zeW50YXhfaW5pdHMiIGlzIG5vdCBuZWVkZWQKKyAgYW55bW9yZS4gIFRoaXMgZ3JlYXRseSBzaW1wbGlmaWVzIHVzaW5nIG5vbi1kZWZhdWx0IGNvbG9ycyBmb3IgYSBzcGVjaWZpYworICBsYW5ndWFnZS4KKy0gQWRqdXN0ZWQgY29sb3J0ZXN0LnZpbTogSW5jbHVkZWQgY29sb3JzIG9uIG5vcm1hbCBiYWNrZ3JvdW5kIGFuZCByZWR1Y2VkIHRoZQorICBzaXplIGJ5IHVzaW5nIGEgd2hpbGUgbG9vcC4gKFJhZmFlbCBHYXJjaWEtU3VhcmV6KQorLSBBZGRlZCB0aGUgIkRhcmtZZWxsb3ciIGNvbG9yIG5hbWUuICBKdXN0IHRvIG1ha2UgdGhlIGxpc3Qgb2Ygc3RhbmRhcmQgY29sb3JzCisgIGNvbnNpc3RlbnQsIGl0J3Mgbm90IHJlYWxseSBhIG5pY2UgY29sb3IgdG8gdXNlLgorCitXaGVuIGFuIHh0ZXJtIGlzIGluIDgtYml0IG1vZGUgdGhpcyBpcyBkZXRlY3RlZCBieSB0aGUgY29kZSByZXR1cm5lZCBmb3IKK3x0X1JWfC4gIEFsbCBrZXkgY29kZXMgYXJlIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIHRoZWlyIDgtYml0IHZlcnNpb25zLgorCitUaGUgT1BUX1RDQVBfUVVFUlkgaW4geHRlcm0gcGF0Y2ggbGV2ZWwgMTQxIGFuZCBsYXRlciBpcyB1c2VkIHRvIG9idGFpbiB0aGUKK2FjdHVhbCBrZXkgY29kZXMgdXNlZCBhbmQgdGhlIG51bWJlciBvZiBjb2xvcnMgZm9yIHRfQ28uICBPbmx5IHdoZW4gfHRfUlZ8IGlzCithbHNvIHVzZWQuCisKKyI6YnJvd3NlIHNldCIgbm93IGFsc28gd29ya3MgaW4gdGhlIGNvbnNvbGUgbW9kZS4gICI6YnJvd3NlIGVkaXQiIHdpbGwgZ2l2ZSBhbgorZXJyb3IgbWVzc2FnZS4KKworIjpiZGVsZXRlIiBhbmQgIjpidW5sb2FkIiBvbmx5IHJlcG9ydCB0aGUgbnVtYmVyIG9mIGRlbGV0ZWQvdW5sb2FkZWQgYnVmZmVycword2hlbiBtb3JlIHRoYW4gJ3JlcG9ydCcuICBUaGUgbWVzc2FnZSB3YXMgYW5ub3lpbmcgd2hlbiBkZWxldGluZyBhIGJ1ZmZlciBpbiBhCitzY3JpcHQuCisKK0p1bXAgbGlzdDoKKy0gVGhlIG51bWJlciBvZiBtYXJrcyBrZXB0IGluIHRoZSBqdW1wbGlzdCBoYXMgYmVlbiBpbmNyZWFzZWQgZnJvbSA1MCB0byAxMDAuCistIFRoZSBqdW1wbGlzdCBpcyBub3cgc3RvcmVkIGluIHRoZSB2aW1pbmZvIGZpbGUuICBDVFJMLU8gY2FuIGJlIHVzZWQgdG8ganVtcAorICB0byBwb3NpdGlvbnMgZnJvbSBhIHByZXZpb3VzIGVkaXQgc2Vzc2lvbi4KKy0gV2hlbiBkb2luZyAiOnNwbGl0IiBjb3B5IHRoZSBqdW1wbGlzdCB0byB0aGUgbmV3IHdpbmRvdy4KKworQWxzbyBzZXQgdGhlICdbIGFuZCAnXSBtYXJrcyBmb3IgdGhlICJ+IiBhbmQgInIiIGNvbW1hbmRzLiAgVGhlc2UgbWFya3MgYXJlCitub3cgYWx3YXlzIHNldCB3aGVuIG1ha2luZyBhIGNoYW5nZSB3aXRoIGEgTm9ybWFsIG1vZGUgY29tbWFuZC4KKworUHl0aG9uIGludGVyZmFjZTogQWxsb3cgc2V0dGluZyB0aGUgd2lkdGggb2YgYSB2ZXJ0aWNhbGx5IHNwbGl0IHdpbmRvdy4gKEpvaG4KK0Nvb2spCisKK0FkZGVkICI9d29yZCIgYW5kICI9fndvcmQiIHRvICdjaW5rZXlzJyAoYWxzbyB1c2VkIGluICdpbmRlbnRrZXlzJykuCisKK0FkZGVkICJqMSIgYXJndW1lbnQgaW4gJ2Npbm9wdGlvbnMnOiBpbmRlbnQge30gaW5zaWRlICgpIGZvciBKYXZhLiAoSm9oYW5uZXMKK1plbGxuZXIpCitBZGRlZCB0aGUgImwiIGZsYWcgaW4gJ2Npbm9wdGlvbnMnLiAoQW5kdWluIFdpdGhlcnMpCitBZGRlZCAnQycsICdVJywgJ3cnIGFuZCAnbScgZmxhZ3MgdG8gJ2Npbm9wdGlvbnMnLiAoU2VydmF0aXVzIEJyYW5kdCkKKworV2hlbiBkb2luZyAiOndhbGwiIG9yICI6d3FhbGwiIGFuZCBhIG1vZGlmaWVkIGJ1ZmZlciBkb2Vzbid0IGhhdmUgYSBuYW1lLAorbWVudGlvbiBpdHMgYnVmZmVyIG51bWJlciBpbiB0aGUgZXJyb3IgbWVzc2FnZS4KKworIjpmdW5jdGlvbiBOYW1lIiBsaXN0cyB0aGUgZnVuY3Rpb24gd2l0aCBsaW5lIG51bWJlcnMuICBNYWtlcyBpdCBlYXNpZXIgdG8KK2ZpbmQgb3V0IHdoZXJlIGFuIGVycm9yIGhhcHBlbmVkLgorCitJbiBub24tYmxvY2t3aXNlIFZpc3VhbCBtb2RlLCAiciIgcmVwbGFjZXMgYWxsIHNlbGVjdGVkIGNoYXJhY3RlcnMgd2l0aCB0aGUKK3R5cGVkIG9uZSwgbGlrZSBpbiBibG9ja3dpc2UgVmlzdWFsIG1vZGUuCisKK1doZW4gZWRpdGluZyB0aGUgbGFzdCBmaWxlIGluIHRoZSBhcmd1bWVudCBsaXN0IGluIGFueSB3YXksIGFsbG93IGV4aXRpbmcuCitQcmV2aW91c2x5IHRoaXMgd2FzIG9ubHkgcG9zc2libGUgd2hlbiBnZXR0aW5nIHRvIHRoYXQgZmlsZSB3aXRoICI6bmV4dCIgb3IKKyI6bGFzdCIuCisKK0FkZGVkIHRoZSAnMScgZmxhZyB0byAnZm9ybWF0b3B0aW9ucycuIChWaXQgU3RyYWRhbCkKK0FkZGVkICduJyBmbGFnIGluICdmb3JtYXRvcHRpb25zJzogZm9ybWF0IGEgbnVtYmVyZWQgbGlzdC4KKworU3dhcCBmaWxlOgorLSBXaGVuIGEgc3dhcCBmaWxlIGFscmVhZHkgZXhpc3RzLCBhbmQgdGhlIHVzZXIgc2VsZWN0cyAiRGVsZXRlIiBhdCB0aGUKKyAgQVRURU5USU9OIHByb21wdCwgdXNlIHRoZSBzYW1lICIuc3dwIiBzd2FwZmlsZSwgdG8gYXZvaWQgY3JlYXRpbmcgYSAiLnN3byIKKyAgZmlsZSB3aGljaCB3b24ndCBhbHdheXMgYmUgZm91bmQuCistIFdoZW4gZ2l2aW5nIHRoZSBBVFRFTlRJT04gbWVzc2FnZSBhbmQgdGhlIGRhdGUgb2YgdGhlIGZpbGUgaXMgbmV3ZXIgdGhhbiB0aGUKKyAgZGF0ZSBvZiBzd2FwIGZpbGUsIGdpdmUgYSB3YXJuaW5nIGFib3V0IHRoaXMuCistIE1hZGUgdGhlIGluZm8gZm9yIGFuIGV4aXN0aW5nIHN3YXAgZmlsZSBhIGJpdCBzaG9ydGVyLCBzbyB0aGF0IGl0IHN0aWxsIGZpdHMKKyAgb24gYSAyNCBsaW5lIHNjcmVlbi4KKy0gSXQgd2FzIHBvc3NpYmxlIHRvIG1ha2UgYSBzeW1saW5rIHdpdGggdGhlIG5hbWUgb2YgYSBzd2FwIGZpbGUsIGxpbmtpbmcgdG8gYQorICBmaWxlIHRoYXQgZG9lc24ndCBleGlzdC4gIFZpbSB3b3VsZCB0aGVuIHNpbGVudGx5IHVzZSBhbm90aGVyIGZpbGUgKGlmIG9wZW4KKyAgd2l0aCBPX0VYQ0wgcmVmdXNlcyBhIHN5bWxpbmspLiAgTm93IGNoZWNrIGZvciBhIHN5bWxpbmsgdG8gZXhpc3QuICBBbHNvIGRvCisgIGFub3RoZXIgY2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN3YXAgZmlsZSBqdXN0IGJlZm9yZSBjcmVhdGluZyBpdCB0byBjYXRjaCBhCisgIHN5bWxpbmsgYXR0YWNrLgorCitUaGUgZyBDVFJMLUcgY29tbWFuZCBhbHNvIHdvcmtzIGluIFZpc3VhbCBtb2RlIGFuZCBjb3VudHMgdGhlIG51bWJlciBvZiB3b3Jkcy4KKyhDaGFzZSBUaW5nbGV5KQorCitHaXZlIGFuIGVycm9yIG1lc3NhZ2Ugd2hlbiB1c2luZyAnc2hlbGwnIGFuZCBpdCdzIGVtcHR5LgorCitBZGRlZCB0aGUgcG9zc2liaWxpdHkgdG8gaW5jbHVkZSAiJXMiIGluICdzaGVsbHBpcGUnLgorCitBZGRlZCAidWhleCIgdmFsdWUgZm9yICdkaXNwbGF5Jzogc2hvdyBub24tcHJpbnRhYmxlIGNoYXJhY3RlcnMgYXMgPHh4Pi4KK1Nob3cgdW5wcmludGFibGUgY2hhcmFjdGVycyB3aXRoIE5vblRleHQgaGlnaGxpZ2h0aW5nLCBhbHNvIGluIHRoZSBjb21tYW5kCitsaW5lLgorCitXaGVuIGFza2VkIHRvIGRpc3BsYXkgdGhlIHZhbHVlIG9mIGEgaGlkZGVuIG9wdGlvbiwgdGVsbCBpdCdzIG5vdCBzdXBwb3J0ZWQuCisKK1dpbjMyOgorLSBXaGVuIGRyb3BwaW5nIGEgc2hvcnRjdXQgb24gZ3ZpbSAoLmxuayBmaWxlKSBlZGl0IHRoZSB0YXJnZXQsIG5vdCB0aGUKKyAgc2hvcnRjdXQgaXRzZWxmLiAgKFlhc3VoaXJvIE1hdHN1bW90bykKKy0gQWRkZWQgQyB2ZXJzaW9ucyBvZiB0aGUgT3BlbldpdGhWaW0gYW5kIFNlbmRUb1ZpbSBwcm9ncmFtcy4gKFdhbHRlciBCcmlzY29lKQorLSBXaGVuICdzaGVsbCcgaXMgImNtZCIgb3IgImNtZC5leGUiLCBzZXQgJ3NoZWxscmVkaXInIHRvIHJlZGlyZWN0IHN0ZGVyciB0b28uCisgIEFsc28gY2hlY2sgZm9yIHRoZSBVbml4IHNoZWxsIG5hbWVzLgorLSBXaGVuICRIT01FRFJJVkUgYW5kICRIT01FUEFUSCBhcmUgZGVmaW5lZCwgdXNlIHRoZW0gdG8gZGVmaW5lICRIT01FLiAgKENyYWlnCisgIEJhcmtob3VzZSkKKworV2luMzIgY29uc29sZSB2ZXJzaW9uOgorLSBJbmNsdWRlcyB0aGUgdXNlciBhbmQgc3lzdGVtIG5hbWUgaW4gdGhlICI6dmVyc2lvbiIgbWVzc2FnZSwgd2hlbiBhdmFpbGFibGUuCisgIEl0IGdlbmVyYXRlcyBhIHBhdGhkZWYuYyBmaWxlIGZvciB0aGlzLiAgKEpvbiBNaW5lcikKKy0gU2V0IHRoZSB3aW5kb3cgaWNvbiB0byBWaW0ncyBpY29uIChvbmx5IGZvciBXaW5kb3dzIDIwMDApLiAgV2hpbGUgZXhlY3V0aW5nCisgIGEgc2hlbGwgY29tbWFuZCwgbW9kaWZ5IHRoZSB3aW5kb3cgdGl0bGUgdG8gc2hvdyB0aGlzLiAgV2hlbiBleGl0aW5nLAorICByZXN0b3JlIHRoZSBjdXJzb3IgcG9zaXRpb24gdG9vLiAgKENyYWlnIEJhcmtob3VzZSkKKy0gVGhlIFdpbjMyIGNvbnNvbGUgdmVyc2lvbiBjYW4gYmUgY29tcGlsZWQgd2l0aCBPTEUgc3VwcG9ydC4gIEl0IGNhbiBvbmx5CisgIGZ1bmN0aW9uIGFzIGEgY2xpZW50LCBub3QgYXMgYW4gT0xFIHNlcnZlci4KKworRXJyb3Jmb3JtYXQ6CistIExldCAiJXAiIGluICdlcnJvcmZvcm1hdCcgKGNvbHVtbiBvZiBlcnJvciBpbmRpY2F0ZWQgYnkgYSByb3cgb2YgY2hhcmFjdGVycykKKyAgYWxzbyBhY2NlcHQgYSBsaW5lIG9mIGRvdHMuCistIEFkZGVkICIldiIgaXRlbSBpbiAnZXJyb3Jmb3JtYXQnOiBWaXJ0dWFsIGNvbHVtbiBudW1iZXIuIChEYW4gU2hhcnApCistIEFkZGVkIGEgZGVmYXVsdCAnZXJyb3Jmb3JtYXQnIHZhbHVlIGZvciBWTVMuIChKaW0gQnVzaCkKKworVGhlICJwIiBjb21tYW5kIGNhbiBub3cgYmUgdXNlZCBpbiBWaXN1YWwgbW9kZS4gIEl0IG92ZXJ3cml0ZXMgdGhlIHNlbGVjdGVkCit0ZXh0IHdpdGggdGhlIGNvbnRlbnRzIG9mIGEgcmVnaXN0ZXIuCisKK0hpZ2hsaWdodCB0aGUgPD4gaXRlbXMgaW4gdGhlIGludHJvIG1lc3NhZ2UgdG8gbWFrZSBjbGVhciB0aGV5IGFyZSBzcGVjaWFsLgorCitXaGVuIHVzaW5nIHRoZSAiYyIgZmxhZyBmb3IgIjpzdWJzdGl0dXRlIiwgYWxsb3cgdHlwaW5nICJsIiBmb3IgcmVwbGFjaW5nIHRoaXMKK2l0ZW0gYW5kIHRoZW4gc3RvcDogImxhc3QiLgorCitXaGVuIHByaW50aW5nIGEgdmVyYm9zZSBtZXNzYWdlIGFib3V0IHNvdXJjaW5nIGFub3RoZXIgZmlsZSwgcHJpbnQgdGhlIGxpbmUKK251bWJlci4KKworV2hlbiByZXNpemluZyB0aGUgVmltIHdpbmRvdywgZG9uJ3QgdXNlICdlcXVhbGFsd2F5cycuICBBdm9pZHMgdGhhdCBtYWtpbmcgdGhlCitWaW0gd2luZG93IHNtYWxsZXIgbWFrZXMgc3BsaXQgd2luZG93cyBiaWdnZXIuICBBbmQgaXQncyB3aGF0IHRoZSBkb2NzIHNheS4KKworV2hlbiB0eXBpbmcgQ1RSTC1EIGluIEluc2VydCBtb2RlLCBqdXN0IGFmdGVyIGFuIGF1dG9pbmRlbnQsIHRoZW4gaGl0dGluZyBDUgora2VwdCB0aGUgcmVtYWluaW5nIHdoaXRlIHNwYWNlLiAgTm93IG1hZGUgaXQgd29yayBsaWtlIEJTOiBkZWxldGUgdGhlCithdXRvaW5kZW50IHRvIGF2b2lkIGEgYmxhbmsgbm9uLWVtcHR5IGxpbmUgcmVzdWx0cy4KKworQWRkZWQgYSBHZXRId25kKCkgY2FsbCB0byB0aGUgT0xFIGludGVyZmFjZS4gIChWaW5jZSBOZWdyaSkKKworTWFkZSAiOm5vcm1hbCIgd29yayBpbiBhbiBldmVudCBoYW5kbGVyLiAgVXNlZnVsIHdoZW4gZHJvcHBpbmcgYSBmaWxlIG9uIFZpbQorYW5kIGZvciBDdXJzb3JIb2xkIGF1dG9jb21tYW5kcy4KKworRm9yIHRoZSBNUy1XaW5kb3dzIHZlcnNpb24sIGRvbid0IGNoYW5nZSB0byB0aGUgZGlyZWN0b3J5IG9mIHRoZSBmaWxlIHdoZW4gYQorc2xhc2ggaXMgdXNlZCBpbnN0ZWFkIG9mIGEgYmFja3NsYXNoLiAgRXhwbG9yZXIgc2hvdWxkIGFsd2F5cyB1c2UgYSBiYWNrc2xhc2gsCit0aGUgdXNlciBjYW4gdXNlIGEgc2xhc2ggd2hlbiB0eXBpbmcgdGhlIGNvbW1hbmQuCisKK1RpbWVzdGFtcHM6CistIFdoZW4gYSBidWZmZXIgd2FzIGNoYW5nZWQgb3V0c2lkZSBvZiBWaW0gYW5kIHJlZ2FpbmluZyBmb2N1cywgZ2l2ZSBhIGRpYWxvZworICB0byBhbGxvdyB0aGUgdXNlciB0byByZWxvYWQgdGhlIGZpbGUuICBOb3cgYWxzbyBmb3Igb3RoZXIgR1VJcyB0aGFuCisgIE1TLVdpbmRvd3MuICBBbmQgYWxzbyB1c2VkIGluIHRoZSBjb25zb2xlLCB3aGVuIGNvbXBpbGVkIHdpdGggZGlhbG9nCisgIHN1cHBvcnQuCistIEluc3BlY3QgdGhlIGZpbGUgY29udGVudHMgdG8gZmluZCBvdXQgaWYgaXQgcmVhbGx5IGNoYW5nZWQsIGlnbm9yZQorICBzaXR1YXRpb25zIHdoZXJlIG9ubHkgdGhlIHRpbWUgc3RhbXAgY2hhbmdlZCAoZS5nLiwgY2hlY2tpbmcgdGhlIGZpbGUgb3V0CisgIGZyb20gQ1ZTKS4KKy0gV2hlbiBjaGVja2luZyB0aGUgdGltZXN0YW1wLCBmaXJzdCBjaGVjayBpZiB0aGUgZmlsZSBzaXplIGNoYW5nZWQsIHRvIGF2b2lkCisgIGEgZmlsZSBjb21wYXJlIHRoZW4uICBNYWtlcyBpdCBxdWlja2VyIGZvciBsYXJnZSAobG9nKSBmaWxlcyB0aGF0IGFyZQorICBhcHBlbmRlZCB0by4KKy0gRG9uJ3QgZ2l2ZSBhIHdhcm5pbmcgZm9yIGEgY2hhbmdlZCBvciBkZWxldGVkIGZpbGUgd2hlbiAnYnVmdHlwZScgaXMgc2V0LgorLSBObyBsb25nZXIgd2FybiBmb3IgYSBjaGFuZ2VkIGRpcmVjdG9yeS4gIFRoaXMgYXZvaWRzIHRoYXQgdGhlIGZpbGUgZXhwbG9yZXIKKyAgcHJvZHVjZXMgd2FybmluZ3MuCistIENoZWNraW5nIHRpbWVzdGFtcHMgaXMgb25seSBkb25lIGZvciBidWZmZXJzIHRoYXQgYXJlIG5vdCBoaWRkZW4uICBUaGVzZQorICB3aWxsIGJlIGNoZWNrZWQgd2hlbiB0aGV5IGJlY29tZSB1bmhpZGRlbi4KKy0gV2hlbiBjaGVja2luZyBmb3IgYSBmaWxlIGJlaW5nIGNoYW5nZWQgb3V0c2lkZSBvZiBWaW0sIGFsc28gY2hlY2sgaWYgdGhlCisgIGZpbGUgcGVybWlzc2lvbnMgY2hhbmdlZC4gIFdoZW4gdGhlIGZpbGUgY29udGVudHMgZGlkbid0IGNoYW5nZSBidXQgdGhlCisgIHBlcm1pc3Npb25zIGRpZCwgZ2l2ZSBhIHdhcm5pbmcuCistIEF2b2lkIGNoZWNraW5nIHRvbyBvZnRlbiwgb3RoZXJ3aXNlIHRoZSBkaWFsb2cga2VlcHMgcG9wcGluZyB1cCBmb3IgYSBsb2cKKyAgZmlsZSB0aGF0IHN0ZWFkaWx5IGdyb3dzLgorCitNYXBwaW5nIDxNLUE+IHdoZW4gJ2VuY29kaW5nJyBpcyAibGF0aW4xIiBhbmQgdGhlbiBzZXR0aW5nICdlbmNvZGluZycgdG8KKyJ1dGYtOCIgY2F1c2VzIHRoZSBmaXJzdCBieXRlIG9mIGEgbXVsdGktYnl0ZSB0byBiZSBtYXBwZWQuICBDYW4gY2F1c2UgdmVyeQoraGFyZCB0byBmaW5kIHByb2JsZW1zLiAgRGlzYWxsb3cgbWFwcGluZyBwYXJ0IG9mIGEgbXVsdGktYnl0ZSBjaGFyYWN0ZXIuCisKK0ZvciAiOnB5dGhvbiIgYW5kICI6dGNsIiBhY2NlcHQgYW4gaW4tbGluZSBzY3JpcHQuIChKb2hhbm5lcyBaZWxsbmVyKQorQWxzbyBmb3IgIjpydWJ5IiBhbmQgIjpwZXJsIi4gKEJlbm9pdCBDZXJyaW5hKQorCitNYWRlICI6c3luIGluY2x1ZGUiIHVzZSAncnVudGltZXBhdGgnIHdoZW4gdGhlIGZpbGUgbmFtZSBpcyBub3QgYSBmdWxsIHBhdGguCisKK1doZW4gJ3N3aXRjaGJ1ZicgY29udGFpbnMgInNwbGl0IiBhbmQgdGhlIGN1cnJlbnQgd2luZG93IGlzIGVtcHR5LCBkb24ndCBzcGxpdAordGhlIHdpbmRvdy4KKworVW5peDogQ2F0Y2ggU0lHUFdSIHRvIHByZXNlcnZlIGZpbGVzIHdoZW4gdGhlIHBvd2VyIGlzIGFib3V0IHRvIGdvIGRvd24uCisKK1NuaWZmIGludGVyZmFjZTogKEFudG9uIExlaGVyYmF1ZXIpCistIGZpeGVkIHdpbmRvd3MgY29kZSwgZXNwLiB0aGUgZXZlbnQgaGFuZGxpbmcgc3R1ZmYKKy0gYWRhcHRhdGlvbnMgZm9yIHNuaWZmIDQueCAoJFNOSUZGX0RJUjQpCistIHN1cHBvcnQgZm9yIGFkZGluZyBzbmlmZiByZXF1ZXN0cyBhdCBydW50aW1lCisKK1N1cHBvcnQgdGhlIG5vdGF0aW9uIDxBLXg+IGFzIGFuIGFsaWFzIGZvciA8TS14Pi4gIFRoaXMgbG9naWNhbCwgc2luY2UgdGhlIEFsdAora2V5IGlzIHVzZWQuCisKKyI6ZmluZCIgYWNjZXB0cyBhIGNvdW50LCB3aGljaCBtZWFucyB0aGF0IHRoZSBjb3VudCd0aCBtYXRjaCBpbiAncGF0aCcgaXMKK3VzZWQuCisKKyI6bHMiIGFuZCAiOmJ1ZmZlcnMiIG91dHB1dCBzaG93cyBtb2RpZmllZC9yZWFkb25seS9tb2RpZmlhYmxlIGZsYWcuICBXaGVuIGEKK2J1ZmZlciBpcyBhY3RpdmUgc2hvdyAiYSIgaW5zdGVhZCBvZiBub3RoaW5nLiAgV2hlbiBhIGJ1ZmZlciBpc24ndCBsb2FkZWQKK3Nob3cgbm90aGluZyBpbnN0ZWFkIG9mICItIi4KKworVW5peCBpbnN0YWxsOgorLSBXaGVuIGluc3RhbGxpbmcgdGhlIHRvb2xzLCBzZXQgYWJzb2x1dGUgcGF0aHMgaW4gdG9vbHMgc2NyaXB0cyBlZm1fcGVybC5wbAorICBhbmQgbXZlLmF3ay4gIEF2b2lkcyB0aGF0IHRoZSB1c2VyIGhhcyB0byBlZGl0IHRoZXNlIGZpbGVzLgorLSBJbnN0YWxsIEljb25zIGZvciBLREUgd2hlbiB0aGUgZGlyZWN0b3JpZXMgZXhpc3QgYW5kIHRoZSBpY29ucyBkbyBub3QgZXhpc3QKKyAgeWV0LgorCitBZGRlZCBoYXMoIndpbjk1IiksIHRvIGJlIGFibGUgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBNUy1XaW5kb3dzIDk1Lzk4L01FIGFuZAorTlQvMjAwMC9YUCBpbiBhIFZpbSBzY3JpcHQuCisKK1doZW4gYSAiOmNkIiBjb21tYW5kIHdhcyB0eXBlZCwgZWNobyB0aGUgbmV3IGN1cnJlbnQgZGlyZWN0b3J5LiAoRGFuIFNoYXJwKQorCitXaGVuIHVzaW5nICI6d2lucG9zIiBiZWZvcmUgdGhlIEdVSSB3aW5kb3cgaGFzIGJlZW4gb3BlbmVkLCByZW1lbWJlciB0aGUKK3ZhbHVlcyB1bnRpbCBpdCBpcyBvcGVuZWQuCisKK0luIHRoZSAiOnZlcnNpb24iIG91dHB1dCwgYWRkICIvZHluIiBmb3IgZmVhdHVyZXMgdGhhdCBhcmUgZHluYW1pY2FsbHkgbG9hZGVkLgorVGhpcyBpbmRpY2F0ZXMgdGhlIGZlYXR1cmUgbWF5IG5vdCBhbHdheXMgd29yay4KKworT24gV2luZG93cyBOVCBpdCBpcyBwb3NzaWJsZSB0aGF0IGEgZGlyZWN0b3J5IGlzIHJlYWQtb25seSwgYnV0IGEgZmlsZSBjYW4gYmUKK2RlbGV0ZWQuICBXaGVuIG1ha2luZyBhIGJhY2t1cCBieSByZW5hbWluZyB0aGUgZmlsZSBhbmQgJ2JhY2t1cGRpcicgZG9lc24ndAordXNlIHRoZSBjdXJyZW50IGRpcmVjdG9yeSwgdGhpcyBjYXVzZXMgdGhlIG9yaWdpbmFsIGZpbGUgdG8gYmUgZGVsZXRlZCwKK3dpdGhvdXQgdGhlIHBvc3NpYmlsaXR5IHRvIGNyZWF0ZSBhIG5ldyBmaWxlLiAgR2l2ZSBhbiBleHRyYSBlcnJvciBtZXNzYWdlCit0aGVuIHRvIHdhcm4gdG8gdXNlciBhYm91dCB0aGlzLgorCitNYWRlIENUUkwtUiBDVFJMLU8gYXQgdGhlIGNvbW1hbmQgbGluZSB3b3JrIGxpa2UgQ1RSTC1SIENUUkwtUiwgc28gdGhhdCBpdCdzCitjb25zaXN0ZW50IHdpdGggSW5zZXJ0IG1vZGUuCisKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorQ09NUElMRSBUSU1FIENIQU5HRVMJCQkJCSpjb21waWxlLWNoYW5nZXMtNioKKworQWxsIGdlbmVyYXRlZCBmaWxlcyBoYXZlIGJlZW4gbW92ZWQgb3V0IG9mIHRoZSAic3JjIiBkaXJlY3RvcnkuICBUaGlzIG1ha2VzIGl0CitlYXN5IHRvIHNlZSB3aGljaCBmaWxlcyBhcmUgbm90IGVkaXRlZCBieSBoYW5kLiAgVGhlIGZpbGVzIGdlbmVyYXRlZCBieQorY29uZmlndXJlIGFyZSBub3cgaW4gdGhlICJzcmMvYXV0byIgZGlyZWN0b3J5LiAgRm9yIFVuaXgsIGNvbXBpbGVkIG9iamVjdAorZmlsZXMgZ28gaW4gdGhlIG9iamVjdHMgZGlyZWN0b3J5LgorCitUaGUgc291cmNlIGFyY2hpdmUgd2FzIG92ZXIgdGhlIDEuNE0gZmxvcHB5IGxpbWl0LiAgVGhlIGFyY2hpdmVzIGFyZSBub3cgc3BsaXQKK3VwIGludG8gdHdvIHJ1bnRpbWUgYW5kIHR3byBzb3VyY2UgYXJjaGl2ZXMuICBBbHNvIHByb3ZpZGUgYSBiemlwMiBjb21wcmVzc2VkCithcmNoaXZlIHRoYXQgY29udGFpbnMgYWxsIHRoZSBzb3VyY2VzIGFuZCBydW50aW1lIGZpbGVzLgorCitBZGRlZCAicmVjb25maWciIGFzIGEgdGFyZ2V0IGZvciBtYWtlLiAgVXNlZnVsIHdoZW4gY2hhbmdpbmcgc29tZSBvZiB0aGUKK2FyZ3VtZW50cyB0aGF0IHJlcXVpcmUgZmx1c2hpbmcgdGhlIGNhY2hlLCBzdWNoIGFzIHN3aXRjaGluZyBmcm9tIEdUSyB0bworTW90aWYuICBBZGp1c3RlZCB0aGUgbWVhbmluZyBvZiBHVUlfSU5DX0xPQyBhbmQgR1VJX0xJQl9MT0MgdG8gYmUgY29uc2lzdGVudAorb3ZlciBkaWZmZXJlbnQgR1VJcy4KKworQWRkZWQgc3JjL1JFQURNRS50eHQgdG8gZ2l2ZSBhbiBvdmVydmlldyBvZiB0aGUgbWFpbiBwYXJ0cyBvZiB0aGUgc291cmNlIGNvZGUuCisKK1RoZSBVbml4IE1ha2VmaWxlIG5vdyBmdWxseSBzdXBwb3J0cyB1c2luZyAkKERFU1RESVIpIHRvIGluc3RhbGwgdG8gYSBzcGVjaWZpYworbG9jYXRpb24uICBSZXBsYWNlcyB0aGUgbWFudWFsIHNldHRpbmcgb2YgKkVORExPQyB2YXJpYWJsZXMuCisKK0FkZGVkIHRoZSBwb3NzaWJpbGl0eSBmb3IgYSBtYWludGFpbmVyIG9mIGEgYmluYXJ5IHZlcnNpb24gdG8gaW5jbHVkZSBoaXMKK2UtbWFpbCBhZGRyZXNzIHdpdGggdGhlIC0td2l0aC1jb21waWxlZGJ5IGNvbmZpZ3VyZSBhcmd1bWVudC4KKworSW5jbHVkZWQgZmVhdHVyZXMgYXJlIG5vdyBncm91cGVkIGluICJ0aW55IiwgInNtYWxsIiwgIm5vcm1hbCIsICJiaWciIGFuZAorImh1Z2UiLiAgVGhpcyByZXBsYWNlcyAibWluLWZlYXR1cmVzIiBhbmQgIm1heC1mZWF0dXJlcyIuICBVc2luZyAidGlueSIKK2Rpc2FibGVzIG11bHRpcGxlIHdpbmRvd3MgZm9yIGEgcmVhbGx5IHNtYWxsIFZpbS4KKworRm9yIHRoZSB0aW55IHZlcnNpb24gb3Igd2hlbiBGRUFUX1dJTkRPV1MgaXMgbm90IGRlZmluZWQ6IEZpcnN0d2luIGFuZCBsYXN0d2luCithcmUgZXF1YWwgdG8gY3Vyd2luIGFuZCBkb24ndCB1c2Ugd19uZXh0IGFuZCB3X3ByZXYuCisKK0FkZGVkIHRoZSArbGlzdGNtZHMgZmVhdHVyZS4gIENhbiBiZSB1c2VkIHRvIGNvbXBpbGUgd2l0aG91dCB0aGUgVmltIGNvbW1hbmRzCit0aGF0IG1hbmlwdWxhdGUgdGhlIGJ1ZmZlciBsaXN0IGFuZCBhcmd1bWVudCBsaXN0ICh0aGUgYnVmZmVyIGxpc3QgaXRzZWxmIGlzCitzdGlsbCB0aGVyZSwgY2FuJ3QgZG8gd2l0aG91dCBpdCkuCisKK0FkZGVkIHRoZSArdnJlcGxhY2UgZmVhdHVyZS4gIEl0IGlzIGRpc2FibGVkIGluIHRoZSAic21hbGwiIHZlcnNpb24gdG8gYXZvaWQKK3RoYXQgdGhlIDE2IGJpdCBET1MgdmVyc2lvbiBydW5zIG91dCBvZiBtZW1vcnkuCisKK1JlbW92ZWQgR1RLKyBzdXBwb3J0IGZvciB2ZXJzaW9ucyBvbGRlciB0aGFuIDEuMS4xNi4KKworVGhlIGNvbmZpZ3VyZSBjaGVja3MgZm9yIHVzaW5nIFBUWXMgaGF2ZSBiZWVuIGltcHJvdmVkLiAgQ29kZSB0YWtlbiBmcm9tIGEKK3JlY2VudCB2ZXJzaW9uIG9mIHNjcmVlbi4KKworQWRkZWQgY29uZmlndXJlIG9wdGlvbnMgdG8gaW5zdGFsbCBWaW0sIEV4IGFuZCBWaWV3IHVuZGVyIGFub3RoZXIgbmFtZSAoZS5nLiwKK3ZpbTYsIGV4NiBhbmQgdmlldzYpLgorCitBZGRlZCAiLS13aXRoLWdsb2JhbC1ydW50aW1lIiBjb25maWd1cmUgYXJndW1lbnQuICBBbGxvd3Mgc3BlY2lmeWluZyB0aGUKK2dsb2JhbCBkaXJlY3RvcnkgdXNlZCBpbiB0aGUgJ3J1bnRpbWVwYXRoJyBkZWZhdWx0LgorCitNYWRlIGVuYWJsaW5nIHRoZSBTTmlGRisgaW50ZXJmYWNlIHBvc3NpYmxlIHdpdGggYSBjb25maWd1cmUgYXJndW1lbnQuCisKK0NvbmZpZ3VyZSBub3cgYWx3YXlzIGNoZWNrcyAvdXNyL2xvY2FsL2xpYiBmb3IgbGlicmFyaWVzIGFuZAorL3Vzci9sb2NhbC9pbmNsdWRlIGZvciBpbmNsdWRlIGZpbGVzLiAgSGVscHMgZmluZGluZyB0aGUgc3R1ZmYgZm9yIGljb252KCkgYW5kCitnZXR0ZXh0KCkuCisKK01vdmVkIHRoZSBjb21tYW5kIGxpbmUgaGlzdG9yeSBzdHVmZiBpbnRvIHRoZSArY21kbGluZV9oaXN0IGZlYXR1cmUsIHRvCitleGNsdWRlIHRoZSBjb21tYW5kIGxpbmUgaGlzdG9yeSBmcm9tIHRoZSB0aW55IHZlcnNpb24uCisKK01TLVdpbmRvd3M6IE1vdmVkIGNvbW1vbiBmdW5jdGlvbnMgZnJvbSBXaW4xNiBhbmQgV2luMzIgdG8gb3NfbXN3aW4uYy4gIEF2b2lkcworaGF2aW5nIHRvIGNoYW5nZSB0d28gZmlsZXMgZm9yIG9uZSBwcm9ibGVtLiAgKFZpbmNlIE5lZ3JpKQorCitNb3ZlZCBjb21tb24gY29kZSBmcm9tIGd1aV93MTYuYyBhbmQgZ3VpX3czMi5jIHRvIGd1aV93NDguYyAoVmluY2UgTmVncmkpCisKK1RoZSBqdW1wbGlzdCBpcyBub3cgYSBzZXBhcmF0ZSBmZWF0dXJlLiAgSXQgaXMgZGlzYWJsZWQgZm9yIHRoZSAic21hbGwiCit2ZXJzaW9uICgxNiBiaXQgTVMtRE9TKS4KKworUmVuYW1lZCBhbGwgdHlwZXMgZW5kaW5nIGluIF90IHRvIGVuZCBpbiBfVC4gIEF2b2lkcyBwb3RlbnRpYWwgcHJvYmxlbXMgd2l0aAorc3lzdGVtIHR5cGVzLgorCitBZGRlZCBhIGNvbmZpZ3VyZSBjaGVjayBmb3IgWDExIGhlYWRlciBmaWxlcyB0aGF0IGltcGxpY2l0bHkgZGVmaW5lIHRoZSByZXR1cm4KK3R5cGUgdG8gaW50LiAoU3RldmUgV2FsbCkKKworIm1ha2UgZG9zbGFuZyIgaW4gdGhlIHRvcCBkaXJlY3RvcnkgbWFrZXMgYW4gYXJjaGl2ZSB3aXRoIHRoZSBtZW51IGFuZCAubW8KK2ZpbGVzIGZvciBXaW5kb3dzLiAgVGhpcyB1c2VzIHRoZSBmaWxlcyBnZW5lcmF0ZWQgb24gVW5peCwgdGhlc2Ugc2hvdWxkIHdvcmsKK29uIE1TLVdpbmRvd3MgYXMgd2VsbC4KKworTWVyZ2VkIGEgbGFyZ2UgcGFydCBvZiBvc192bXMuYyB3aXRoIG9zX3VuaXguYy4gIFRoZSBjb2RlIHdhcyBkdXBsaWNhdGVkIGluCit0aGUgcGFzdCB3aGljaCBtYWRlIG1haW50ZW5hbmNlIG1vcmUgd29yay4gIChab2x0YW4gQXJwYWRmZnkpCisKK1VwZGF0ZWQgdGhlIEJvcmxhbmQgQyB2ZXJzaW9uIDUgTWFrZWZpbGU6IChEYW4gU2hhcnApCistIEZpeGVkIHRoZSBQZXJsIGJ1aWxkCistIEFkZGVkIHB5dGhvbiBhbmQgdGNsIGJ1aWxkcworLSBBZGRlZCBkeW5hbWljIHBlcmwgYW5kIGR5bmFtaWMgcHl0aG9uIGJ1aWxkcworLSBBZGRlZCB1bmluc3RhbC5leGUgYnVpbGQKKy0gVXNlICJ5ZXMiIGFuZCAibm8iIGZvciB0aGUgb3B0aW9ucywgbGlrZSBpbiBNYWtlX212Yy5tYWsuCisKK1dpbjMyOiBNZXJnZWQgTWFrZV9ndmMubWFrIGFuZCBNYWtlX292Yy5tYWsgaW50byBvbmUgZmlsZTogTWFrZV9pdmMubWFrLiAgSXQncworbXVjaCBzbWFsbGVyLCBtYW55IHVubmVjZXNzYXJ5IHRleHQgaGFzIGJlZW4gcmVtb3ZlZC4gKFdhbHRlciBCcmlzY29lKQorQWRkZWQgTWFrZV9kdmMubWFrIHRvIGJlIGFibGUgdG8gZGVidWcgZXhlIGdlbmVyYXRlZCB3aXRoIE1ha2VfbXZjLm1hayBpbgorTVMtRGV2c3R1ZGlvLiAoV2FsdGVyIEJyaXNjb2UpCisKK01TLVdpbmRvd3M6IFRoZSBiaWcgZ3ZpbS5leGUsIHdoaWNoIGluY2x1ZGVzIE9MRSwgbm93IGFsc28gaW5jbHVkZXMKK2R5bmFtaWNhbGx5IGxvYWRlZCBUY2wsIFBlcmwgYW5kIFB5dGhvbi4gIFRoaXMgdXNlcyBBY3RpdmVQZXJsIDUuNi4xLAorQWN0aXZlUHl0aG9uIDIuMS4xIGFuZCBBY3RpdmVUQ0wgOC4zLjMKKworQWRkZWQgQUNfRVhFRVhUIHRvIGNvbmZpZ3VyZS5pbiwgdG8gY2hlY2sgaWYgdGhlIGV4ZWN1dGFibGUgbmVlZHMgIi5leGUiIGZvcgorQ3lnd2luIG9yIE1pbmdXLiAgUmVuYW1lZCBTVUZGSVggdG8gRVhFRVhUIGluIE1ha2VmaWxlLgorCitXaW4zMjogTG9hZCBjb21kbGczMi5kbGwgZGVsYXllZCBmb3IgZmFzdGVyIHN0YXJ0dXAuICBPbmx5IHdoZW4gdXNpbmcgVkMgNi4KKyhWaXBpbiBBcmF2aW5kKQorCitXaW4zMjogV2hlbiBjb21waWxpbmcgd2l0aCBCb3JsYW5kLCBhbGxvdyB1c2luZyBJTUUuIChZYXN1aGlybyBNYXRzdW1vdG8pCisKK1dpbjMyOiBBZGRlZCBNYWtlZmlsZSBmb3IgQm9ybGFuZCA1IHRvIGNvbXBpbGUgZ3ZpbWV4dC5kbGwuIChZYXN1aGlybworTWF0c3Vtb3RvKQorCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK0JVRyBGSVhFUwkJCQkJCSpidWctZml4ZXMtNioKKworV2hlbiBjaGVja2luZyB0aGUgY29tbWFuZCBuYW1lIGZvciAiZ3ZpbSIsICJleCIsIGV0Yy4gaWdub3JlIGNhc2UuICBSZXF1aXJlZAorZm9yIHN5c3RlbXMgd2hlcmUgY2FzZSBpcyBpZ25vcmVkIGluIGNvbW1hbmQgbmFtZXMuCisKK1NlYXJjaCBwYXR0ZXJuICJbYS1jLWVdIiBhbHNvIG1hdGNoZWQgYSAnZCcgYW5kIGRpZG4ndCBtYXRjaCBhICctJy4KKworV2hlbiBkb3VibGUtY2xpY2tpbmcgaW4gYW5vdGhlciB3aW5kb3csIHdhc24ndCByZWNvZ25pemVkIGFzIGRvdWJsZSBjbGljaywKK2JlY2F1c2UgdG9wbGluZSBpcyBkaWZmZXJlbnQuICBBZGRlZCBzZXRfbW91c2VfdG9wbGluZSgpLgorCitUaGUgQlJPS0VOX0xPQ0FMRSBjaGVjayB3YXMgYnJva2VuLiAgKE1hcmNpbiBEYWxlY2tpKQorCitXaGVuICJ0X0NvIiBpcyBzZXQsIHRoZSBkZWZhdWx0IGNvbG9ycyByZW1haW4gdGhlIHNhbWUsIHRodXMgd3JvbmcuICBSZXNldCB0aGUKK2NvbG9ycyBhZnRlciBjaGFuZ2luZyAidF9DbyIuIChTdGV2ZSBXYWxsKQorCitXaGVuIGV4aXRpbmcgd2l0aCAiOndxYWxsIiB0aGUgbWVzc2FnZXMgYWJvdXQgd3JpdGluZyBmaWxlcyBjb3VsZCBvdmVyd3JpdGUKK2VhY2ggb3RoZXIgYW5kIGJlIGxvc3QgZm9yZXZlci4KKworV2hlbiBzdGFydGluZyBWaW0gd2l0aCBhbiBleHRyZW1lbHkgbG9uZyBmaWxlIG5hbWUgKGFyb3VuZCAxMDI0IGNoYXJhY3RlcnMpIGl0Cit3b3VsZCBjcmFzaC4gIEFkZGVkIGEgZmV3IGNoZWNrcyB0byBhdm9pZCBidWZmZXIgb3ZlcmZsb3dzLgorCitDVFJMLUUgY291bGQgZ2V0IHN0dWNrIGluIGEgZmlsZSB3aXRoIHZlcnkgbG9uZyBsaW5lcy4KKworIjphdSBzeW50YXg8VGFiPiIgZXhwYW5kZWQgZXZlbnQgbmFtZXMgd2hpbGUgaXQgc2hvdWxkIGV4cGFuZCBncm91cHMgc3RhcnRpbmcKK3dpdGggInN5bnRheCIuCisKK1doZW4gZXhwYW5kaW5nIGEgZmlsZSBuYW1lIGNhdXNlZCBhbiBlcnJvciAoZS5nLiwgZm9yIDxhbWF0Y2g+KSBpdCB3YXMKK3Byb2R1Y2VkIGV2ZW4gd2hlbiBpbnNpZGUgYW4gImlmIDAiLgorCisnY2luZGVudCcgZm9ybWF0dGVkIEMgY29tbWVudHMgZGlmZmVyZW50bHkgZnJvbSB3aGF0IHRoZSAnY29tbWVudHMnIG9wdGlvbgorc3BlY2lmaWVkLiAoU3RldmUgV2FsbCkKKworRGVmYXVsdCBmb3IgJ2dyZXBwcmcnIGRpZG4ndCBpbmNsdWRlIHRoZSBmaWxlIG5hbWUgd2hlbiBvbmx5IGdyZXBwaW5nIGluIG9uZQorZmlsZS4gIE5vdyAvZGV2L251bGwgaGFzIGJlZW4gYWRkZWQgZm9yIFVuaXguCisKK09wZW5pbmcgdGhlIG9wdGlvbiB3aW5kb3cgdHdpY2UgY2F1c2VkIHRyb3VibGUuICBOb3cgdGhlIGN1cnNvciBnb2VzIHRvIHRoZQorZXhpc3Rpbmcgb3B0aW9uIHdpbmRvdy4KKworIjpzdmlldyIgYW5kICI6dmlldyIgZGlkbid0IHNldCAncmVhZG9ubHknIGZvciBhbiBleGlzdGluZyBidWZmZXIuICBOb3cgZG8gc2V0CisncmVhZG9ubHknLCB1bmxlc3MgdGhlIGJ1ZmZlciBpcyBhbHNvIGVkaXRlZCBpbiBhbm90aGVyIHdpbmRvdy4KKworR1RLIEdVSTogV2hlbiAnZ3Vpb3B0aW9ucycgZXhjbHVkZWQgJ2cnLCB0aGUgbW9yZSBwcm9tcHQgY2F1c2VkIHRoZSB0b29sYmFyCithbmQgbWVudWJhciB0byBkaXNhcHBlYXIgYW5kIHJlc2l6ZSB0aGUgd2luZG93ICh3aGljaCBjbGVhcnMgdGhlIHRleHQpLgorTm93IGFsd2F5cyBncmV5LW91dCB0aGUgdG9wbGV2ZWwgbWVudXMgdG8gYXZvaWQgdGhhdCB0aGUgbWVudWJhciBjaGFuZ2VzIHNpemUKK29yIGRpc2FwcGVhcnMuCisKK1doZW4gcmUtdXNpbmcgdGhlIGN1cnJlbnQgYnVmZmVyIGZvciBhIG5ldyBidWZmZXIsIGJ1ZmZlci1sb2NhbCB2YXJpYWJsZXMgd2VyZQorbm90IGRlbGV0ZWQuCisKK0dVSTogd2hlbiAnc2Nyb2xsb2ZmJyBpcyAwIGRyYWdnaW5nIHRoZSBtb3VzZSBhYm92ZSB0aGUgd2luZG93IGRpZG4ndCBjYXVzZSBhCitkb3duIHNjcm9sbC4gIE5vdyBwYXNzIG9uIGEgbW91c2UgZXZlbnQgd2l0aCBtb3VzZV9yb3cgc2V0IHRvIC0xLgorCitXaW4zMjogQ29uc29sZSB2ZXJzaW9uIGRpZG4ndCB3b3JrIG9uIHRlbG5ldCwgYmVjYXVzZSBvZiBzd2l0Y2hpbmcgYmV0d2VlbiB0d28KK2NvbnNvbGUgc2NyZWVucy4gIE5vdyB1c2Ugb25lIGNvbnNvbGUgc2NyZWVuIGFuZCBzYXZlL3Jlc3RvcmUgdGhlIGNvbnRlbnRzCit3aGVuIG5lZWRlZC4gIChDcmFpZyBCYXJraG91c2UpCisKK1doZW4gcmVhZGluZyBhIGZpbGUgdGhlIG1hZ2ljIG51bWJlciBmb3IgZW5jcnlwdGlvbiB3YXMgaW5jbHVkZWQgaW4gdGhlIGZpbGUKK2xlbmd0aC4gKEFudG9uaW8gQ29sb21ibykKKworVGhlIHF1aWNrZml4IHdpbmRvdyBjb250YWluZWQgbGVhZGluZyB3aGl0ZXNwYWNlIGFuZCBOVUxzIGZvciBtdWx0aS1saW5lCittZXNzYWdlcy4gKERhdmlkIEhhcnJpc29uKQorCitXaGVuIHVzaW5nIGNzY29wZSwgcmVkdW5kYW50IHRhZ3Mgd2VyZSByZW1vdmVkLiAgVGhpcyBjYXVzZWQgYSBudW1iZXJpbmcKK3Byb2JsZW0sIGJlY2F1c2UgdGhleSB3ZXJlIGFsbCBsaXN0ZWQuICBEb24ndCByZW1vdmUgcmVkdW5kYW50IGNzY29wZSB0YWdzLgorKERhdmlkIEJ1c3RvcykuCisKK0NzY29wZTogVGVzdCBmb3Igd2hpY2ggbWF0Y2hlcyBhcmUgaW4gdGhlIGN1cnJlbnQgYnVmZmVyIHNvbWV0aW1lcyBmYWlsZWQsCitjYXVzaW5nIGEganVtcCB0byBhbm90aGVyIG1hdGNoIHRoYW4gc2VsZWN0ZWQuIChEYXZpZCBCdXN0b3MpCisKK1dpbjMyOiBCdWZmZXIgb3ZlcmZsb3cgd2hlbiBhZGRpbmcgYSBjaGFyc2V0IG5hbWUgaW4gYSBmb250LgorCisndGl0bGVzdHJpbmcnIGFuZCAnaWNvbnN0cmluZycgd2VyZSBldmFsdWF0aW5nIGFuIGV4cHJlc3Npb24gaW4gdGhlIGN1cnJlbnQKK2NvbnRleHQsIHdoaWNoIGNvdWxkIGJlIGEgdXNlciBmdW5jdGlvbiwgd2hpY2ggaXMgYSBwcm9ibGVtIGZvciBsb2NhbAordmFyaWFibGVzIHZzIGdsb2JhbCB2YXJpYWJsZXMuCisKK1dpbjMyIEdVSTogTWFwcGluZyA8TS1GPiBkaWRuJ3Qgd29yay4gIE5vdyBoYW5kbGUgU0hJRlQgYW5kIENUUkwgaW4KK19PblN5c0NoYXIoKS4KKworV2luMzIgR1VJOiAob24gbm8gZmlsZSksIDp2czxDUj46cTxDUj4gbGVmdCBhIHRyYWlsIG9mIHBpeGVscyBkb3duIHRoZSBtaWRkbGUuCitDb3VsZCBhbHNvIGhhcHBlbiBmb3IgdGhlIHJ1bGVyLiAgc2NyZWVuX3B1dHMoKSBkaWRuJ3QgY2xlYXIgdGhlIHJpZ2h0IGNoYXIgaW4KK1NjcmVlbkxpbmVzW10gZm9yIHRoZSBib2xkIHRyaWNrLgorCitXaW4zMjogIjolIXNvcnR8dW5pcSIgZGlkbid0IHdvcmssIGJlY2F1c2UgdGhlIGlucHV0IGZpbGUgbmFtZSB0b3VjaGVzIHRoZQorInwiLiAgSW5zZXJ0IGEgc3BhY2UgYmVmb3JlIHRoZSAifCIuCisKK09TLzI6IEV4cGFuZGluZyB3aWxkY2FyZHMgaW5jbHVkZWQgbm9uLWV4aXN0aW5nIGZpbGVzLiAgQ2F1c2VkICI6cnVudGltZSIgdG8KK2ZhaWwsIHdoaWNoIGNhdXNlZCBzeW50YXggaGlnaGxpZ2h0aW5nIHRvIGZhaWwuCisKK1Bhc3RpbmcgYSByZWdpc3RlciBjb250YWluaW5nIENUUkwtUiBvbiB0aGUgY29tbWFuZCBsaW5lIGNvdWxkIGNhdXNlIGFuCitlbmRsZXNzIGxvb3AgdGhhdCBjYW4ndCBiZSBpbnRlcnJ1cHRlZC4gIE5vdyBpdCBjYW4gYmUgc3RvcHBlZCB3aXRoIENUUkwtQy4KKworV2hlbiAndmVyYm9zZScgaXMgc2V0LCBhIG1lc3NhZ2UgZm9yIGZpbGUgcmVhZC93cml0ZSBjb3VsZCBvdmVyd3JpdGUgdGhlCitwcmV2aW91cyBtZXNzYWdlLgorV2hlbiAndmVyYm9zZScgaXMgc2V0LCB0aGUgaGVhZGVyIGZyb20gIjpzZWxlY3QiIHdhcyBwdXQgYWZ0ZXIgdGhlIGxhc3QKK21lc3NhZ2UuICBOb3cgc3RhcnQgYSBuZXcgbGluZS4KKworVGhlIGhpdC1lbnRlciBwcm9tcHQgcmVhY3RlZCB0byB0aGUgcmVzcG9uc2Ugb2YgdGhlIHRfUlYgc3RyaW5nLCBjYXVzaW5nCittZXNzYWdlcyBhdCBzdGFydHVwIHRvIGRpc2FwcGVhci4KKworV2hlbiB0X0NvIHdhcyBzZXQgdG8gMSwgY29sb3JzIHdlcmUgc3RpbGwgdXNlZC4gIE5vdyBvbmx5IHVzZSBjb2xvciB3aGVuIHRfQ28KKz4gMS4KKworTGlzdGluZyBmdW5jdGlvbnMgd2l0aCAiOmZ1bmN0aW9uIiBkaWRuJ3QgcXVpdCB3aGVuICdxJyBvciAnOicgd2FzIHR5cGVkIGF0Cit0aGUgbW9yZSBwcm9tcHQuCisKK1VzZSBta3N0ZW1wKCkgaW5zdGVhZCBvZiBta3RlbXAoKSB3aGVuIGl0J3MgYXZhaWxhYmxlLCBhdm9pZHMgYSB3YXJuaW5nIGZvcgorbGlua2luZyBvbiBGcmVlQlNELgorCitXaGVuIGRvaW5nIEluc2VydCBtb2RlIGNvbXBsZXRpb24gaXQncyBwb3NzaWJsZSB0aGF0IGJfc2ZuYW1lIGlzIE5VTEwuICBEb24ndAorZ2l2ZSBpdCB0byBwcmludGYoKSBmb3IgdGhlICJTY2FubmluZyIgbWVzc2FnZS4KKworIjpzZXQgcnVudGltZXBhdGgtPSRWSU1SVU5USU1FIiBkaWRuJ3Qgd29yaywgYmVjYXVzZSBleHBhbnNpb24gb2Ygd2lsZGNhcmRzCit3YXMgZG9uZSBhZnRlciB0cnlpbmcgdG8gcmVtb3ZlIHRoZSBzdHJpbmcuICBOb3cgZm9yICI6c2V0IG9wdCs9dmFsIiBhbmQgIjpzZXQKK29wdC09dmFsIiB0aGUgZXhwYW5zaW9uIG9mIHdpbGRjYXJkcyBpcyBkb25lIGJlZm9yZSBhZGRpbmcgb3IgcmVtb3ZpbmcgInZhbCIuCisKK1VzaW5nIENUUkwtViB3aXRoIHRoZSAiciIgY29tbWFuZCB3aXRoIGEgYmxvY2t3aXNlIFZpc3VhbCBzZWxlY3Rpb24gaW5zZXJ0ZWQgYQorQ1RSTC1WIGluc3RlYWQgb2YgZ2V0dGluZyBhIHNwZWNpYWwgY2hhcmFjdGVyLgorCitVbml4OiBDaGFuZ2VkIHRoZSBvcmRlciBvZiBsaWJyYXJpZXM6IFB1dCAtbFhkbWNwIGFmdGVyIC1sWDExIGFuZCAtbFNNIC1sSUNFCithZnRlciAtbFhkbWNwLiAgU2hvdWxkIGZpeCBsaW5rIHByb2JsZW0gb24gSFAtVVggMTAuMjAuCisKK0Rvbid0IHJlbW92ZSB0aGUgbGFzdCAiLWxtIiBmcm9tIHRoZSBsaW5rIGxpbmUuICBWaW0gbWF5IGxpbmsgYnV0IGZhaWwgbGF0ZXIKK3doZW4gdGhlIEdVSSBzdGFydHMuCisKK1doZW4gdGhlIHNoZWxsIHJldHVybnMgd2l0aCBhbiBlcnJvciB3aGVuIHRyeWluZyB0byBleHBhbmQgd2lsZGNhcmRzLCBkbworaW5jbHVkZSB0aGUgcGF0dGVybiB3aGVuIHRoZSAiRVdfTk9URk9VTkQiIGZsYWcgd2FzIHNldC4KK1doZW4gZXhwYW5kaW5nIHdpbGRjYXJkcyB3aXRoIHRoZSBzaGVsbCBmYWlscywgZ2l2ZSBhIGNsZWFyIGVycm9yIG1lc3NhZ2UKK2luc3RlYWQgb2YganVzdCAiMSByZXR1cm5lZCIuCisKK1NlbGVjdGluZyBhIFZpc3VhbCBibG9jaywgd2l0aCB0aGUgc3RhcnQgcGFydGx5IG9uIGEgVGFiLCBkZWxldGluZyBpdCBsZWF2ZXMKK3RoZSBjdXJzb3IgdG9vIGZhciB0byB0aGUgbGVmdC4gIENhdXNlcyAicyIgdG8gd29yayBpbiB0aGUgd3JvbmcgcG9zaXRpb24uCisKK1BvdW5kIHNpZ24gaW4gbm9ybWFsLmMgY2F1c2VkIHRyb3VibGUgb24gc29tZSBjb21waWxlcnMuICBVc2UgMHhBMyBpbnN0ZWFkLgorCitXYXJuaW5nIGZvciBjaGFuZ2luZyBhIHJlYWQtb25seSBmaWxlIHdhc24ndCBnaXZlbiB3aGVuICdpbnNlcnRtb2RlJyB3YXMgc2V0LgorCitXaW4zMjogV2hlbiAnc2hlbGx4cXVvdGUnIGlzIHNldCB0byBhIGRvdWJsZSBxdW90ZSAoZS5nLiwgdXNpbmcgY3NoKSwgIjohc3RhcnQKK25vdGVwYWQgZmlsZSIgZG9lc24ndCB3b3JrLiAgUmVtb3ZlIHRoZSBkb3VibGUgcXVvdGVzIGFkZGVkIGJ5ICdzaGVsbHhxdW90ZScKK3doZW4gdXNpbmcgIjohc3RhcnQiLiAoUGF2b2wgSnVoYXMpCisKK1RoZSAiPGYtYXJncz4iIGFyZ3VtZW50IG9mICI6Y29tbWFuZCIgZGlkbid0IGFjY2VwdCBUYWJzIGZvciB3aGl0ZSBzcGFjZS4KK0Fsc28sIGRvbid0IGFkZCBhbiBlbXB0eSBhcmd1bWVudCB3aGVuIHRoZXJlIGFyZSB0cmFpbGluZyBibGFua3MuCisKKyI6ZSB0ZXN0XFxqZSIgZWRpdGVkICJ0ZXN0XGplIiwgYnV0ICI6bmV4dCB0ZXN0XFxqZSIgZWRpdGVkICJ0ZXN0amUiLgorQmFja3NsYXNoZXMgd2VyZSByZW1vdmVkIG9uZSB0aW1lIHRvbyBtYW55IGZvciAiOm5leHQiLgorCitWTVM6ICJnZiIgZGlkbid0IHdvcmsgcHJvcGVybHkuICBVc2Ugdm1zX2ZpeGZpbGVuYW1lKCkgdG8gdHJhbnNsYXRlIHRoZSBmaWxlCituYW1lLiAoWm9sdGFuIEFycGFkZmZ5KQorCitBZnRlciAiOmhpIE5vcm1hbCBjdGVybWJnPWJsYWNrIGN0ZXJtZmc9d2hpdGUiIGFuZCBzdXNwZW5kaW5nIFZpbSBub3QgYWxsCitjaGFyYWN0ZXJzIGFyZSByZWRyYXduIHdpdGggdGhlIHJpZ2h0IGJhY2tncm91bmQuCisKK1doZW4gZG9pbmcgIm1ha2UgdGVzdCIgd2l0aG91dCArZXZhbCBvciArd2luZG93cyBmZWF0dXJlLCBtYW55IHRlc3RzIGZhaWxlZC4KK05vdyBoYXZlIHRlc3QxIGdlbmVyYXRlIGEgc2NyaXB0IHRvIGNvcHkgdGhlIGNvcnJlY3Qgb3V0cHV0LCBzbyB0aGF0IGEgdGVzdAordGhhdCBkb2Vzbid0IHdvcmsgaXMgc2tpcHBlZC4KKworT24gRnJlZUJTRCB0aGUgUGVybCBpbnRlcmZhY2UgYWRkZWQgIi1sYyIgdG8gdGhlIGxpbmsgY29tbWFuZCBhbmQgUHl0aG9uIGFkZGVkCisiLXB0aHJlYWQiLiAgVGhlc2UgdHdvIGRvbid0IHdvcmsgdG9nZXRoZXIsIGJlY2F1c2UgdGhlIGxpYmNfciBsaWJyYXJ5IHNob3VsZAorYmUgdXNlZC4gIFJlbW92ZWQgIi1sYyIgZnJvbSBQZXJsLCBpdCBzaG91bGQgbm90IGJlIG5lZWRlZC4KK0Fsc286IEFkZCAiLXB0aHJlYWQiIHRvICRMSUJTLCBzbyB0aGF0IHRoZSBjaGVja3MgZm9yIGZ1bmN0aW9ucyBpcyBkb25lIHdpdGgKK2xpYmNfci4gIFNpZ2FsdHN0YWNrKCkgYXBwZWFycyB0byBiZSBtaXNzaW5nIGZyb20gbGliY19yLgorCitUaGUgU3ludGF4IHN1Yi1tZW51cyB3ZXJlIGdldHRpbmcgdG9vIGxvbmcsIHJlb3JnYW5pemVkIHRoZW0gYW5kIGFkZGVkIGFub3RoZXIKK2xldmVsIGZvciBzb21lIGxhbmd1YWdlcy4KKworVmlzdWFsIGJsb2NrICJyImVwbGFjZSBkaWRuJ3Qgd29yayB3ZWxsIHdoZW4gYSBUYWIgaXMgcGFydGx5IGluY2x1ZGVkLgorKE1hdHRoaWFzIEtyYW1tKQorCitXaGVuIHlhbmtpbmcgYSBWaXN1YWwgYmxvY2ssIHdoZXJlIHNvbWUgbGluZXMgZW5kIGhhbGZ3YXkgdGhlIGJsb2NrLCBwdXR0aW5nCit0aGUgdGV4dCBzb21ld2hlcmUgZWxzZSBkb2Vzbid0IGluc2VydCBhIGJsb2NrLiAgUGFkZCB3aXRoIHNwYWNlcyBmb3IgbWlzc2luZworY2hhcmFjdGVycy4gIEFkZGVkICJ5X3dpZHRoIiB0byBzdHJ1Y3QgeWFua3JlZy4gKE1hdHRoaWFzIEtyYW1tKQorCitJZiBhIHN1YnN0aXR1dGUgc3RyaW5nIGhhcyBhIG11bHRpYnl0ZSBjaGFyYWN0ZXIgYWZ0ZXIgYSBiYWNrc2xhc2ggb25seSB0aGUKK2ZpcnN0IGJ5dGUgb2YgaXQgd2FzIHNraXBwZWQuIChNdXJhb2thIFRhcm8pCisKK1dpbjMyOiBOdW1lcmljIGtleXBhZCBrZXlzIHdlcmUgbWlzc2luZyBmcm9tIHRoZSBidWlsdGluIHRlcm1jYXAgZW50cnkuCisKK1doZW4gYSBmaWxlIHdhcyByZWFkLW9ubHkgIjp3YSEiIGRpZG4ndCBmb3JjZSBpdCB0byBiZSB3cml0dGVuLiAoVmluY2UgTmVncmkpCisKK0FtaWdhOiBBIGZpbGUgbmFtZSBzdGFydGluZyB3aXRoIGEgY29sb24gd2FzIGNvbnNpZGVyZWQgYWJzb2x1dGUgYnV0IGl0IGlzbid0LgorQW1pZ2E6ICI6cHdkIiBhZGRlZCBhIHNsYXNoIHdoZW4gaW4gdGhlIHJvb3Qgb2YgYSBkcml2ZS4KKworRG9uJ3QgbGV0ICd0dHltb3VzZScgZGVmYXVsdCB0byAiZGVjIiB3aGVuIGNvbXBpbGVkIHdpdGggZGVjIG1vdXNlIHN1cHBvcnQuCitJdCBicmVha3MgdGhlIGdwbSBtb3VzZSAoTGludXggY29uc29sZSkuCisKK1RoZSBwcm90b3R5cGVzIGZvciB0aGUgUGVybCBpbnRlcmZhY2UgZGlkbid0IHdvcmsgZm9yIHRocmVhZGVkIFBlcmwuICBBZGRlZCBhCitzZWQgY29tbWFuZCB0byByZW1vdmUgdGhlIHByb3RvdHlwZXMgZnJvbSBwcm90by9pZl9wZXJsLnBybyBhbmQgYWRkZWQgdGhlbQorbWFudWFsbHkgdG8gaWZfcGVybC54cy4KKworV2hlbiAiOnchIiByZXNldHMgdGhlICdyZWFkb25seScgb3B0aW9uIHRoZSB0aXRsZSBhbmQgc3RhdHVzIGxpbmVzIHdlcmUgbm90Cit1cGRhdGVkLgorCisiOmFyZ3MiIHNob3dlZCB0aGUgY3VycmVudCBmaWxlIHdoZW4gdGhlIGFyZ3VtZW50IGxpc3Qgd2FzIGVtcHR5LiAgTWFkZSB0aGlzCit3b3JrIGxpa2UgVmk6IGRpc3BsYXkgbm90aGluZy4KKworIjk5OjxDLVU+ZWNobyB2OmNvdW50IiBlY2hvZWQgIjk5IiBpbiBOb3JtYWwgbW9kZSwgYnV0IDAgaW4gVmlzdWFsIG1vZGUuCitEb24ndCBzZXQgdjpjb3VudCB3aGVuIGV4ZWN1dGluZyBhIHN0dWZmZWQgY29tbWFuZC4KKworQW1pZ2E6IEdvdCBhIHJlcXVlc3RlciBmb3IgImhvbWU6IiBiZWNhdXNlIGl0J3MgaW4gdGhlIGRlZmF1bHQgcnVudGltZSBwYXRoLgorRG9uJ3QgYnJpbmcgdXAgYSByZXF1ZXN0ZXIgd2hlbiBzZWFyY2hpbmcgZm9yIGEgZmlsZSBpbiAncGF0aCcsIHNvdXJjaW5nIHRoZQorLnZpbXJjIGZpbGUgb3IgdXNpbmcgIjpydW50aW1lIi4KKworV2luMTYgYW5kIFdpbjMyOiBDb25zaWRlcmVkIGEgZmlsZSAiXHBhdGhcZmlsZSIgYWJzb2x1dGUuICBDYW4gY2F1c2UgdGhlIHNhbWUKK2ZpbGUgdG8gYXBwZWFyIGFzIHR3byBkaWZmZXJlbnQgYnVmZmVycy4KKworV2luMzI6IFJlbmFtaW5nIGEgZmlsZSB0byBhbiBlbXB0eSBzdHJpbmcgY3Jhc2hlZCBWaW0uICBIYXBwZW5lZCB3aGVuIHVzaW5nCitleHBsb3Jlci52aW0gYW5kIGhpdHRpbmcgRVNDIGF0IHRoZSByZW5hbWUgcHJvbXB0LgorCitXaW4zMjogc3RyZnRpbWUoKSBjcmFzaGVkIHdoZW4gY2FsbGVkIHdpdGggYSAiLTEiIHZhbHVlIGZvciB0aGUgdGltZS4KKworV2luMzIgd2l0aCBCb3JsYW5kIGNvbXBpbGVyOiBtY2hfRnVsbE5hbWUoKSBkaWRuJ3Qgd29yaywgY2F1c2VkIHRhZyBmaWxlIG5vdAordG8gYmUgZm91bmQuCisKK0NzY29wZSBzb21ldGltZXMganVtcGVkIHRvIHRoZSB3cm9uZyB0YWcuIChEYXZpZCBCdXN0b3MpCisKK09TLzI6IENvdWxkIG5vdCBmaW5kIHRoZSB0YWdzIGZpbGUuICBtY2hfZXhwYW5kX3dpbGRjYXJkcygpIGFkZGVkIGFub3RoZXIKK3NsYXNoIHRvIGEgZGlyZWN0b3J5IG5hbWUuCisKK1doZW4gdXNpbmcgIj4+IiB0aGUgYF0gbWFyayB3YXMgbm90IGluIHRoZSBsYXN0IGNvbHVtbi4KKworV2hlbiBWaW0gd2FzIGNvbXBpbGVkIHdpdGhvdXQgbWVudSBzdXBwb3J0LCBmaWxldHlwZS52aW0gd2FzIHN0aWxsIHRyeWluZyB0bworc291cmNlIHRoZSBtZW51LnZpbSBzY3JpcHQuIChSYWZhZWwgR2FyY2lhLVN1YXJleikKKworIjpwdGFnIiBhZGRlZCBhbiBpdGVtIHRvIHRoZSB0YWcgc3RhY2suCisKK1dpbjMyIElNRTogImdyIiBkaWRuJ3QgdXNlIElNRSBtb2RlLgorCitJbiB0aGUgInZpbSAtLWhlbHAiIG1lc3NhZ2UgdGhlIHRlcm0gIm9wdGlvbnMiIHdhcyB1c2VkIGZvciBhcmd1bWVudHMuICBUaGF0J3MKK2NvbmZ1c2luZywgY2FsbCB0aGVtICJhcmd1bWVudHMiLgorCitXaGVuIHRoZXJlIGFyZSB0d28gd2luZG93cywgYW5kIGEgQnVmVW5sb2FkIGF1dG9jb21tYW5kIGZvciBjbG9zaW5nIHdpbmRvdyAjMQorY2xvc2VkIHdpbmRvdyAjMiwgVmltIHdvdWxkIGNyYXNoLgorCitXaGVuIHRoZXJlIGlzIGEgcHJldmlldyB3aW5kb3cgYW5kIG9ubHkgb25lIG90aGVyIHdpbmRvdywgIjpxIiB3b3VsZG4ndCBleGl0LgorCitJbiBJbnNlcnQgbW9kZSwgd2hlbiBjYW5jZWxsaW5nIGEgZGlncmFwaCB3aXRoIEVTQywgdGhlICc/JyB3YXNuJ3QgcmVtb3ZlZC4KKworT24gVW5peCBnbG9iKCIuKiIpIHJldHVybmVkICIuIiBhbmQgIi4uIiwgb24gV2luZG93cyBpdCBkaWRuJ3QuICBPbiBXaW5kb3dzCitnbG9iKCIqIikgYWxzbyByZXR1cm5lZCBmaWxlcyBzdGFydGluZyB3aXRoIGEgZG90LiAgTWFkZSB0aGlzIHdvcmsgbGlrZSBVbml4CitvbiBhbGwgc3lzdGVtcy4KKworV2luMzI6IFJlbW92ZWQgb2xkIGNvZGUgdG8gb3BlbiBhIGNvbnNvbGUuICBWaW1ydW4gaXMgbm93IHVzZWQgYW5kIHdvcmtzIGZpbmUuCisKK0NvbXB1dGUgdGhlIHJvb20gbmVlZGVkIGJ5IHRoZSBpbnRybyBtZXNzYWdlIGFjY3VyYXRlbHksIHNvIHRoYXQgaXQgYWxzbyBmaXRzCitvbiBhIDI1IGxpbmUgY29uc29sZS4gKENyYWlnIEJhcmtob3VzZSkKKworIjpwdG5leHQiIHdhcyBicm9rZW4uICBOb3cgcmVtZW1iZXIgdGhlIGxhc3QgdGFnIHVzZWQgaW4gdGhlIHByZXZpZXcgd2luZG93CitzZXBhcmF0ZWx5IGZyb20gdGhlIHRhZ3N0YWNrLgorCitEaWRuJ3QgY2hlY2sgZm9yICItZGlzcGxheSIgYmVpbmcgdGhlIGxhc3QgYXJndW1lbnQuIChXaWNoZXJ0IEFra2VybWFuKQorCitHVEsgR1VJOiBXaGVuIHN0YXJ0aW5nICJndmltIiB1bmRlciBzb21lIGNvbmRpdGlvbnMgdGhlcmUgd291bGQgYmUgYW4gWCBlcnJvci4KK0Rvbid0IHJlcGxhY2UgdGhlIGVycm9yIGhhbmRsZXIgd2hlbiBjcmVhdGluZyB0aGUgeHRlcm0gY2xpcGJvYXJkLiAoV2ljaGVydAorQWtrZXJtYW4pCisKK0FkZGluZyBhIHNwYWNlIGFmdGVyIGEgaGVscCB0YWcgY2F1c2VkIHRoZSB0YWcgbm90IHRvIGJlIGZvdW5kLiAgRS5nLiwgIjpoZQorYXV0b2luZGVudCAiLgorCitXYXMgdHJ5aW5nIHRvIGV4cGFuZCBhIFVSTCBpbnRvIGEgZnVsbCBwYXRoIG5hbWUuICBPbiBXaW5kb3dzIHRoaXMgcmVzdWx0ZWQgaW4KK3RoZSBjdXJyZW50IGRpcmVjdG9yeSB0byBiZSBwcmVwZW5kZWQgdG8gdGhlIFVSTC4gIEFkZGVkIHZpbV9pc0Fic05hbWUoKSBhbmQKK3ZpbV9GdWxsTmFtZSgpIHRvIGF2b2lkIHRoYXQgdmFyaW91cyBtYWNoaW5lIHNwZWNpZmljIGZ1bmN0aW9ucyBkbyBpdAorZGlmZmVyZW50bHkuCisKKyI6biAqLmMiICI6Y2QgLi4iICI6biIgZGlkbid0IHVzZSB0aGUgb3JpZ2luYWwgZGlyZWN0b3J5IG9mIHRoZSBmaWxlLiAgVmkgb25seQorZG9lcyBpdCBmb3IgdGhlIGN1cnJlbnQgZmlsZSAobG9va3MgbGlrZSBhIGJ1ZykuICBOb3cgcmVtZW1iZXIgdGhlIGJ1ZmZlciB1c2VkCitmb3IgdGhlIGVudHJ5IGluIHRoZSBhcmd1bWVudCBsaXN0IGFuZCB1c2UgaXQncyBuYW1lIChhZGp1c3RlZCB3aGVuIGRvaW5nCisiOmNkIiksIHVubGVzcyBpdCdzIGRlbGV0ZWQuCisKK1doZW4gaW5zZXJ0aW5nIGEgc3BlY2lhbCBrZXkgYXMgaXRzIG5hbWUgKCI8Rjg+IiBhcyBmb3VyIGNoYXJhY3RlcnMpIGFmdGVyCittb3ZpbmcgYXJvdW5kIGluIEluc2VydCBtb2RlLCB1bmRvIGRpZG4ndCB3b3JrIHByb3Blcmx5LgorCitNb3RpZiBHVUk6IFdoZW4gdXNpbmcgdGhlIHJpZ2h0IG1vdXNlIGJ1dHRvbiwgZm9yIHNvbWUgcGVvcGxlIGd2aW0gZnJvemUgZm9yCithIGNvdXBsZSBvZiBzZWNvbmRzIChNb3RpZiAxLjI/KS4gIFRoaXMgZG9lc24ndCBoYXBwZW4gd2hlbiB0aGVyZSBpcyBubyBQb3B1cAorbWVudS4gIFNvbHZlZCBieSBvbmx5IGNyZWF0aW5nIGEgcG9wdXAgbWVudSB3aGVuICdtb3VzZW1vZGVsJyBpcyAicG9wdXAiIG9yCisicG9wdXBfc2V0cG9zIi4gKERhdmlkIEhhcnJpc29uKQorCitNb3RpZjogV2hlbiBhZGRpbmcgbWFueSBtZW51IGl0ZW1zLCB0aGUgIkhlbHAiIG1lbnUgZGlzYXBwZWFyZWQgYnV0IHRoZQorbWVudWJhciBkaWRuJ3Qgd3JhcC4gIE5vdyBtYW51YWxseSBzZXQgdGhlIG1lbnViYXIgaGVpZ2h0LgorCitXaGVuIHVzaW5nIDxCUz4gaW4gSW5zZXJ0IG1vZGUgdG8gcmVtb3ZlIGEgbGluZSBicmVhaywgb3IgdXNpbmcgIkoiIHRvIGpvaW4KK2xpbmVzLCB0aGUgY3Vyc29yIGNvdWxkIGVuZCB1cCBoYWxmd2F5IGEgbXVsdGktYnl0ZSBjaGFyYWN0ZXIuIChNdXJhb2thIFRhcm8pCisKK1JlbW92ZWQgZGVmaW5pbmcgU1ZSNCBpbiBjb25maWd1cmUuICBJdCBjYXVzZXMgcHJvYmxlbXMgZm9yIHNvbWUgWCBoZWFkZXIKK2ZpbGVzIGFuZCBkb2Vzbid0IGFwcGVhciB0byBiZSB1c2VkIGFueXdoZXJlLgorCitXaGVuICd3aWxkaWdub3JlJyBpcyB1c2VkLCAnaWdub3JlY2FzZScgZm9yIGEgdGFnIG1hdGNoIHdhcyBub3Qgd29ya2luZy4KKworV2hlbiAnd2lsZGlnbm9yZScgY29udGFpbnMgIip+IiBpdCB3YXMgaW1wb3NzaWJsZSB0byBlZGl0IGEgZmlsZSBlbmRpbmcgaW4gYQorIn4iLiAgTm93IGRvbid0IHJlY29nbml6ZSBhIGZpbGUgZW5kaW5nIGluICJ+IiBhcyBjb250YWluaW5nIHdpbGRjYXJkcy4KKworRGlzYWJsZWQgdGhlIG1vdXNlIGNvZGUgZm9yIE9TLzIuICBJdCB3YXMgbm90IHJlYWxseSB1c2VkLgorCisiOm1rc2Vzc2lvbiIgYWx3YXlzIHVzZWQgdGhlIGZ1bGwgcGF0aCBuYW1lIGZvciBhIGJ1ZmZlciwgYWxzbyB3aGVuIHRoZSBzaG9ydAorbmFtZSBjb3VsZCBiZSB1c2VkLgorIjpta3ZpbXJjIiBhbmQgIjpta3Nlc3Npb24iIGRpZG4ndCBzYXZlICd3aWxkY2hhcicgYW5kICdwYXN0ZXRvZ2dsZScgaW4gc3VjaCBhCit3YXkgdGhhdCB0aGV5IHdvdWxkIGJlIHJlc3RvcmVkLiAgTm93IHVzZSB0aGUga2V5IG5hbWUgaWYgcG9zc2libGUsIHRoaXMgaXMKK3BvcnRhYmxlLgorCitBZnRlciByZWNvdmVyaW5nIGEgZmlsZSBhbmQgYWJhbmRvbmluZyBpdCwgYW4gIjplZGl0IiBjb21tYW5kIGRpZG4ndCBnaXZlIHRoZQorQVRURU5USU9OIHByb21wdCBhZ2Fpbi4gIFdvdWxkIGJlIHVzZWZ1bCB0byBiZSBhYmxlIHRvIGRlbGV0ZSB0aGUgZmlsZSBpbiBhbgorZWFzeSB3YXkuICBSZXNldCB0aGUgQkZfUkVDT1ZFUkVEIGZsYWcgd2hlbiB1bmxvYWRpbmcgdGhlIGJ1ZmZlci4KKworaGlzdGRlbCgpIGNvdWxkIG1hdGNoIG9yIGlnbm9yZSBjYXNlLCBkZXBlbmRpbmcgb24gd2hhdCBoYXBwZW5lZCBiZWZvcmUgaXQuCitOb3cgYWx3YXlzIG1hdGNoIGNhc2UuCisKK1doZW4gYSB3aW5kb3cgc2l6ZSB3YXMgc3BlY2lmaWVkIHdoZW4gc3BsaXR0aW5nIGEgd2luZG93LCBpdCB3b3VsZCBzdGlsbCBnZXQKK3RoZSBzaXplIGZyb20gJ3dpbmhlaWdodCcgb3IgJ3dpbndpZHRoJyBpZiBpdCdzIGxhcmdlci4KKworV2hlbiB1c2luZyAiYXBwZW5kIiBvciAiaW5zZXJ0IiBpbnNpZGUgYSBmdW5jdGlvbiBkZWZpbml0aW9uLCBhIGxpbmUgc3RhcnRpbmcKK3dpdGggImZ1bmN0aW9uIiBvciAiZW5kZnVuY3Rpb24iIGNhdXNlZCBjb25mdXNpb24uICBOb3cgcmVjb2duaXplIHRoZSBjb21tYW5kcworYW5kIHNraXAgbGluZXMgdW50aWwgYSAiLiIuCisKK0F0IHRoZSBlbmQgb2YgYW55IGZ1bmN0aW9uIG9yIHNvdXJjZWQgZmlsZSBuZWVkX3dhaXRfcmV0dXJuIGNvdWxkIGJlIHJlc2V0LAorY2F1c2luZyBtZXNzYWdlcyB0byBkaXNhcHBlYXIgd2hlbiByZWRyYXdpbmcuCisKK1doZW4gaW4gYSB3aGlsZSBsb29wIHRoZSBsaW5lIG51bWJlciBmb3IgZXJyb3IgbWVzc2FnZXMgc3RheWVkIGZpeGVkLiAgTm93IHRoZQorbGluZSBudW1iZXIgaXMgcmVtZW1iZXJlZCBpbiB0aGUgd2hpbGUgbG9vcC4KKworImNkIGM6LyIgZGlkbid0IHdvcmsgb24gTVMtRE9TLiAgbWNoX2lzZGlyKCkgcmVtb3ZlZCBhIHRyYWlsaW5nIHNsYXNoLgorCitNUy1XaW5kb3dzOiBnZXRmdGltZSgpIGRpZG4ndCB3b3JrIHdoZW4gYSBkaXJlY3RvcnkgaGFkIGEgdHJhaWxpbmcgc2xhc2ggb3IKK2JhY2tzbGFzaC4gIERpZG4ndCBzaG93IHRoZSB0aW1lIGluIHRoZSBleHBsb3JlciBiZWNhdXNlIG9mIHRoaXMuCisKK1doZW4gZG9pbmcgd2lsZGNhcmQgY29tcGxldGlvbiwgYSBkaXJlY3RvcnkgImEvIiBzb3J0ZWQgYWZ0ZXIgImEtYiIuICBOb3cKK3JlY29nbml6ZSBwYXRoIHNlcGFyYXRvcnMgd2hlbiBzb3J0aW5nIGZpbGVzLgorCitOb24tVW5peCBzeXN0ZW1zOiBXaGVuIGVkaXRpbmcgImM6L2Rpci8uLi9maWxlIiBhbmQgImM6L2ZpbGUiIHRoZXkgd2VyZQorY3JlYXRlZCBhcyBkaWZmZXJlbnQgYnVmZmVycywgYWx0aG91Z2ggaXQncyB0aGUgc2FtZSBmaWxlLiAgRXhwYW5kIHRvIGEgZnVsbAorZmlsZSBuYW1lIGFsc28gd2hlbiBhbiBhYnNvbHV0ZSBuYW1lIGNvbnRhaW5zICIuLiIuCisKKyJnJiIgZGlkbid0IHJlcGVhdCB0aGUgbGFzdCBzdWJzdGl0dXRlIHByb3Blcmx5LgorCitXaGVuICdjbGlwYm9hcmQnIHdhcyBzZXQgdG8gInVubmFtZWQiLCBhICJZIiBjb21tYW5kIHdvdWxkIG5vdCB3cml0ZSB0byAiMC4KK05vdyBtYWtlIGEgY29weSBvZiByZWdpc3RlciAwIHRvIHRoZSBjbGlwYm9hcmQgcmVnaXN0ZXIuCisKK1doZW4gdGhlIHNlYXJjaCBwYXR0ZXJuIG1hdGNoZXMgaW4gbWFueSB3YXlzLCBpdCBjb3VsZCBub3QgYWx3YXlzIGJlCitpbnRlcnJ1cHRlZCB3aXRoIGEgQ1RSTC1DLiAgQW5kIENUUkwtQyB3b3VsZCBoYXZlIHRvIGJlIGhpdCBvbmNlIGZvciBldmVyeQorbGluZSB3aGVuICdobHNlYXJjaCcgaXMgb24uCitXaGVuICdpbmNzZWFyY2gnIGlzIG9uIGFuZCBpbnRlcnJ1cHRpbmcgdGhlIHNlYXJjaCBmb3IgYSBtYXRjaCwgZG9uJ3QgYWJhbmRvbgordGhlIGNvbW1hbmQgbGluZS4KKworV2hlbiB0dXJuaW5nIGEgZGlyZWN0b3J5IG5hbWUgaW50byBhIGZ1bGwgcGF0aCwgZS5nLiwgd2l0aCBmbmFtZW1vZGlmeSgpLAorc29tZXRpbWVzIGEgc2xhc2ggd2FzIGFkZGVkLiAgTWFrZSB0aGlzIGNvbnNpc3RlbnQ6IERvbid0IGFkZCBhIHNsYXNoLgorCitXaGVuIGEgZmlsZSBuYW1lIGNvbnRhaW5zIGEgIiEiLCB1c2luZyBpdCBpbiBhIHNoZWxsIGNvbW1hbmQgd2lsbCBjYXVzZQordHJvdWJsZTogIjohY2F0ICUiLiAgRXNjYXBlIHRoZSAiISIgdG8gYXZvaWQgdGhhdC4gIEVzY2FwZSBpdCBhbm90aGVyIHRpbWUKK3doZW4gJ3NoZWxsJyBjb250YWlucyAic2giLgorCitDb21wbGV0aW5nIGEgZmlsZSBuYW1lIHRoYXQgaGFzIGEgdGFpbCB0aGF0IHN0YXJ0cyB3aXRoIGEgIn4iIGRpZG4ndCB3b3JrOgorIjplIHZpZXcvfjxUYWI+Ii4KKworVXNpbmcgYSAiOmNvbW1hbmQiIGFyZ3VtZW50IHRoYXQgY29udGFpbnMgPCBhbmQgPiBidXQgbm90IGZvciBhIHNwZWNpYWwKK2FyZ3VtZW50IHdhcyBub3Qgc2tpcHBlZCBwcm9wZXJseS4KKworVGhlIERPUyBpbnN0YWxsIHByb2dyYW06IE9uIFdpbjIwMDAgdGhlIGNoZWNrIGZvciBhIHZpbS5leGUgb3IgZ3ZpbS5leGUgaW4KKyRQQVRIIGRpZG4ndCB3b3JrLCBpdCBhbHdheXMgZm91bmQgaXQgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5LgorUmVuYW1lIHRoZSB2aW0uZXhlIGluIHRoZSBjdXJyZW50IGRpciB0byBhdm9pZCB0aGlzLiAoV2FsdGVyIEJyaXNjb2UpCisKK0luIHRoZSBNUy1ET1MvV2luZG93cyBpbnN0YWxsIHByb2dyYW0sIHVzZSAlVklNJSBpbnN0ZWFkIG9mIGFuIGFic29sdXRlIHBhdGgsCitzbyB0aGF0IG1vdmluZyBWaW0gcmVxdWlyZXMgb25seSBvbmUgY2hhbmdlIGluIHRoZSBiYXRjaCBmaWxlLgorCitNYWM6IG1jaF9GdWxsTmFtZSgpIGNoYW5nZWQgdGhlICJmbmFtZSIgYXJndW1lbnQgYW5kIGRpZG4ndCBhbHdheXMgaW5pdGlhbGl6ZQordGhlIGJ1ZmZlci4KKworTVMtRE9TOiBtY2hfRnVsbE5hbWUoKSBkaWRuJ3QgZml4IGZvcndhcmQvYmFja3dhcmQgc2xhc2hlcyBpbiBhbiBhYnNvbHV0ZSBmaWxlCituYW1lLgorCisiZWNobyBleHBhbmQoIiU6cDpoIikiIHdpdGggYW4gZW1wdHkgZmlsZSBuYW1lIHJlbW92ZWQgb25lIGRpcmVjdG9yeSBuYW1lIG9uCitNUy1ET1MuICBGb3IgVW5peCwgd2hlbiB0aGUgZmlsZSBuYW1lIGlzIGEgZGlyZWN0b3J5LCB0aGUgZGlyZWN0b3J5IG5hbWUgd2FzCityZW1vdmVkLiAgTm93IG1ha2UgaXQgY29uc2lzdGVudDogIiU6cCIgYWRkcyBhIHBhdGggc2VwYXJhdG9yIGZvciBhbGwgc3lzdGVtcywKK2J1dCBubyBwYXRoIHNlcGFyYXRvciBpcyBhZGRlZCBpbiBvdGhlciBzaXR1YXRpb25zLgorCitVbml4OiBXaGVuIGNoZWNraW5nIGZvciBhIENUUkwtQyAoY291bGQgaGFwcGVuIGFueSB0aW1lKSBhbmQgdGhlcmUgaXMgYW4gWAorZXZlbnQgKGUuZy4sIGNsaXBib2FyZCB1cGRhdGVkKSBhbmQgdGhlcmUgaXMgdHlwZWFoZWFkLCBWaW0gd291bGQgaGFuZyB1bnRpbCBhCitjaGFyYWN0ZXIgd2FzIHR5cGVkLgorCitNUy1ET1MsIE1TLVdpbmRvd3MgYW5kIEFtaWdhOiBleHBhbmRpbmcgIiRFTlYvZm9vIiB3aGVuICRFTlYgZW5kcyBpbiBhIGNvbG9uLAoraGFkIHRoZSBzbGFzaCByZW1vdmVkLgorCisiOmhlIFxePSIgZ2F2ZSBhbiBlcnJvciBmb3IgdXNpbmcgXF8uICAiOmhlIF49IiBkaWRuJ3QgZmluZCB0YWcgOnNldF49LiAgRXZlbgorImhlIDpzZXRePSIgZGlkbid0IGZpbmQgaXQuCisKK0EgdGFncyBmaWxlIG5hbWUgIkQ6L3RhZ3MiIHdhcyB1c2VkIGFzIGZpbGUgInRhZ3MiIGluICJEOiIuICBUaGF0IGRvZXNuJ3Qgd29yaword2hlbiB0aGUgY3VycmVudCBwYXRoIGZvciBEOiBpc24ndCB0aGUgcm9vdCBvZiB0aGUgZHJpdmUuCisKK1JlbW92ZWQgY2FsbHMgdG8gWHRJbml0aWFsaXplV2lkZ2V0Q2xhc3MoKSwgdGhleSBzaG91bGRuJ3QgYmUgbmVjZXNzYXJ5LgorCitXaGVuIHVzaW5nIGEgZHR0ZXJtIG9yIHZhcmlvdXMgb3RoZXIgY29sb3IgdGVybWluYWxzLCBhbmQgdGhlIE5vcm1hbCBncm91cCBoYXMKK2JlZW4gc2V0IHRvIHVzZSBhIGRpZmZlcmVudCBiYWNrZ3JvdW5kIGNvbG9yLCB0aGUgYmFja2dyb3VuZCB3b3VsZG4ndCBhbHdheXMKK2JlIGRpc3BsYXllZCB3aXRoIHRoYXQgY29sb3IuICBBZGRlZCBjaGVjayBmb3IgInV0IiB0ZXJtY2FwIGVudHJ5OiBJZiBpdCdzCittaXNzaW5nLCBjbGVhcmluZyB0aGUgc2NyZWVuIHdvbid0IGdpdmUgdXMgdGhlIGN1cnJlbnQgYmFja2dyb3VuZCBjb2xvci4gIE5lZWQKK3RvIGRyYXcgZWFjaCBjaGFyYWN0ZXIgaW5zdGVhZC4gIFZpbSBub3cgYWxzbyB3b3JrcyB3aGVuIHRoZSAiY2wiIChjbGVhcgorc2NyZWVuKSB0ZXJtY2FwIGVudHJ5IGlzIG1pc3NpbmcuCisKK1doZW4gcmVwZWF0aW5nIGEgIi8iIHNlYXJjaCBjb21tYW5kIHdpdGggYSBsaW5lIG9mZnNldCwgdGhlICJuIiBkaWQgdXNlIHRoZQorb2Zmc2V0IGJ1dCBkaWRuJ3QgbWFrZSB0aGUgbW90aW9uIGxpbmV3aXNlLiAgTWFkZSAiZC9wYXQvKzIiIGFuZCAiZG4iIGRvIHRoZQorc2FtZS4KKworV2luMzI6IFRyeWluZyB0byB1c2UgIjp0ZWFyb2ZmIiBmb3IgYSBtZW51IHRoYXQgZG9lc24ndCBleGlzdCBjYXVzZWQgYSBjcmFzaC4KKworT3BlblBUWSgpIGRpZG4ndCB3b3JrIG9uIFNlcXVlbnQuICBBZGQgYSBjb25maWd1cmUgY2hlY2sgZm9yIGdldHBzZXVkb3R0eSgpLgorCitDLWluZGVudGluZzogSW5kZW50ZWQgYSBsaW5lIHN0YXJ0aW5nIHdpdGggIikiIHdpdGggdGhlIG1hdGNoaW5nICIoIiwgYnV0IG5vdAorYSBsaW5lIHN0YXJ0aW5nIHdpdGggIngpIiBsb29rcyBzdHJhbmdlLiAgQWxzbyBjb21wdXRlIHRoZSBpbmRlbnQgZm9yIGFsaWduaW5nCit3aXRoIGl0ZW1zIGluc2lkZSB0aGUgKCkgYW5kIHVzZSB0aGUgbG93ZXN0IGluZGVudC4KKworTVMtRE9TIGFuZCBXaW5kb3dzOiAiOm4gKi52aW0iIGFsc28gbWF0Y2hlZCBmaWxlcyBlbmRpbmcgaW4gIn4iLgorTW92ZWQgbWNoX2V4cGFuZHBhdGgoKSBmcm9tIG9zX3dpbjE2LmMgYW5kIG9zX21zZG9zLmMgdG8gbWlzYzEuYywgdGhleSBhcmUKK2VxdWFsLgorCitNYWNpbnRvc2g6IChEYW55IFN0LUFtYW50KQorLSBJbiBWaS1jb21wYXRpYmxlIG1vZGUgZGlkbid0IHJlYWQgZmlsZXMgd2l0aCBDUiBsaW5lIHNlcGFyYXRvcnMuCistIEZpeGVkIGEgYnVnIGluIHRoZSBoYW5kbGluZyBvZiBBY3RpdmF0ZS9EZWFjdGl2YXRlIEV2ZW50CistIEZpeGVkIGEgYnVnIGluIGd1aV9tY2hfZGlhbG9nICh1c2luZyB3cm9uZyBwb2ludGVyKQorCitNdWx0aWJ5dGUgR0RLIFhJTTogV2hpbGUgY29tcG9zaW5nIGEgbXVsdGlieXRlLXdvcmQsIGlmIHVzZXIgcHJlc3NlcyBhCittb3VzZSBidXR0b24sIHRoZW4gdGhlIHdvcmQgaXMgcmVtb3ZlZC4gIEl0IHNob3VsZCByZW1haW4gYW5kIGNvbXBvc2luZyBlbmQuCisoU3VuZy1IeXVuIE5hbSkKKworTVMtRE9TLCBNUy1XaW5kb3dzIGFuZCBPUy8yOiBXaGVuIHJlYWRpbmcgZnJvbSBzdGRpbiwgYXV0b21hdGljIENSLUxGCitjb252ZXJzaW9uIGJ5IHRoZSBDIGxpYnJhcnkgZ290IGluIHRoZSB3YXkgb2YgZGV0ZWN0aW5nIGEgImRvcyIgJ2ZpbGVmb3JtYXQnLgorCitXaGVuICdzbWFydGNhc2UnIGlzIHNldCwgcGF0dGVybnMgd2l0aCAiXFMiIHdvdWxkIGFsc28gbWFrZSAnaWdub3JlY2FzZScKK3Jlc2V0LgorCitXaGVuIGNsaWNraW5nIHRoZSBtb3VzZSBpbiBhIGNvbHVtbiBsYXJnZXIgdGhhbiAyMjIsIGl0IG1vdmVkIHRvIHRoZSBmaXJzdAorY29sdW1uLiAgQ2FuJ3QgZW5jb2RlIGEgbGFyZ2VyIG51bWJlciBpbiBhIGNoYXJhY3Rlci4gIE5vdyBsaW1pdCB0aGUgbnVtYmVyIHRvCisyMjIsIGRvbid0IGp1bXAgYmFjayB0byB0aGUgZmlyc3QgY29sdW1uLgorCitHVUk6IEluIHNvbWUgdmVyc2lvbnMgQ1NJIHdvdWxkIGNhdXNlIHRyb3VibGUsIGVpdGhlciB3aGVuIHR5cGVkIGRpcmVjdGx5IG9yCit3aGVuIHBhcnQgb2YgYSBtdWx0aS1ieXRlIHNlcXVlbmNlLgorCitXaGVuIHVzaW5nIG11bHRpYnl0ZSBjaGFyYWN0ZXJzIGluIGEgIjpub3JtYWwiIGNvbW1hbmQsIGEgdHJhaWxpbmcgYnl0ZSB0aGF0CitpcyBDU0kgb3IgS19TUEVDSUFMIGNhdXNlZCBwcm9ibGVtcy4KKworV2lsZG1lbnUgZGlkbid0IGhhbmRsZSBtdWx0aS1ieXRlIGNoYXJhY3RlcnMuCisKKyI6c2xlZXAgMTAiIGNvdWxkIG5vdCBiZSBpbnRlcnJ1cHRlZCBvbiBXaW5kb3dzLCB3aGlsZSAiZ3MiIGNvdWxkLiAgTWFkZSB0aGVtCitib3RoIHdvcmsgdGhlIHNhbWUuCisKK1VuaXg6IFdoZW4gd2FpdGluZyBmb3IgYSBjaGFyYWN0ZXIgaXMgaW50ZXJydXB0ZWQgYnkgYW4gWC13aW5kb3dzIGV2ZW50IChlLmcuLAordG8gb2J0YWluIHRoZSBjb250ZW50cyBvZiB0aGUgc2VsZWN0aW9uKSwgdGhlIHdhaXQgdGltZSB3b3VsZCBub3QgYmUgaG9ub3JlZC4KK0EgbWVzc2FnZSBjb3VsZCBiZSBvdmVyd3JpdHRlbiBxdWlja2x5LiAgTm93IGNvbXB1dGUgdGhlIHJlbWFpbmluZyB3YWl0aW5nCit0aW1lLgorCitXaW5kb3dzOiBDb21wbGV0aW5nICJcXHNoYXJlXGMkXFMiIGluc2VydGVkIGEgYmFja3NsYXNoIGJlZm9yZSB0aGUgJCBhbmQgdGhlbgordGhlIG5hbWUgaXMgaW52YWxpZC4gIERvbid0IGluc2VydCB0aGUgYmFja3NsYXNoLgorCitXaGVuIGRvaW5nIGFuIGF1dG8td3JpdGUgYmVmb3JlICI6bWFrZSIsIElPYnVmZiB3YXMgb3ZlcndyaXR0ZW4gYW5kIHRoZSB3cm9uZwordGV4dCBkaXNwbGF5ZWQgbGF0ZXIuCisKK09uIHRoZSBNYWMgdGhlIGRpcmVjdG9yaWVzICJjOi90bXAiIGFuZCAiYzovdGVtcCIgd2VyZSB1c2VkIGluIHRoZSBkZWZhdWx0cworZm9yICdiYWNrdXBkaXInIGFuZCAnZGlyZWN0b3J5JywgdGhleSBkb24ndCBleGlzdC4KKworVGhlIGNoZWNrIGZvciBhIG5ldyBmaWxlIG5vdCB0byBiZSBvbiBhbiBNUy1ET1MgZmlsZXN5c3RlbSBjcmVhdGVkIHRoZSBmaWxlCit0ZW1wb3JhcmlseSwgd2hpY2ggY2FuIGJlIHNsb3cuICBEb24ndCBkbyB0aGlzIGlmIHRoZXJlIGlzIGFub3RoZXIgY2hlY2sgZm9yCit0aGUgc3dhcCBmaWxlIGJlaW5nIG9uIGFuIE1TLURPUyBmaWxlc3lzdGVtLgorCitEb24ndCBnaXZlIHRoZSAiQ2hhbmdpbmcgYSByZWFkb25seSBmaWxlIiB3YXJuaW5nIHdoZW4gcmVhZGluZyBmcm9tIHN0ZGluLgorCitXaGVuIHVzaW5nIHRoZSAiU2F2ZSBBcyIgbWVudSBlbnRyeSBhbmQgbm90IGVudGVyaW5nIGEgZmlsZSBuYW1lLCB3b3VsZCBnZXQgYW4KK2Vycm9yIG1lc3NhZ2UgZm9yIHRoZSB0cmFpbGluZyAiOmVkaXQgIyIuICBOb3cgb25seSBkbyB0aGF0IHdoZW4gdGhlCithbHRlcm5hdGUgZmlsZSBuYW1lIHdhcyBjaGFuZ2VkLgorCitXaGVuIFZpbSBvd25zIHRoZSBYMTEgc2VsZWN0aW9uIGFuZCBpcyBiZWluZyBzdXNwZW5kZWQsIGFuIGFwcGxpY2F0aW9uIHRoYXQKK3RyaWVzIHRvIHVzZSB0aGUgc2VsZWN0aW9uIGhhbmdzLiAgV2hlbiBWaW0gY29udGludWVzIGl0IGNvdWxkIG5vIGxvbmdlcgorb2J0YWluIHRoZSBzZWxlY3Rpb24uICBOb3cgZ2l2ZSB1cCB0aGUgc2VsZWN0aW9uIHdoZW4gc3VzcGVuZGluZy4KKworb3B0aW9uLmggYW5kIGdsb2JhbHMuaCB3ZXJlIGluY2x1ZGVkIGluIHNvbWUgZmlsZXMsIHdoaWxlIHRoZXkgd2VyZSBhbHJlYWR5CitpbmNsdWRlZCBpbiB2aW0uaC4gIE1vdmVkIHRoZSBkZWZpbml0aW9uIG9mIEVYVEVSTiB0byB2aW0uaCB0byBhdm9pZCBkb2luZyBpdAordHdpY2UuCisKK1doZW4gcmVwZWF0aW5nIGFuIG9wZXJhdG9yIHRoYXQgdXNlZCBhIHNlYXJjaCBwYXR0ZXJuIGFuZCB0aGUgc2VhcmNoIHBhdHRlcm4KK2NvbnRhaW5lZCBjaGFyYWN0ZXJzIHRoYXQgaGF2ZSBhIHNwZWNpYWwgbWVhbmluZyBvbiB0aGUgY21kbGluZSAoZS5nLiwgQ1RSTC1VKQoraXQgZGlkbid0IHdvcmsuCisKK0ZpeGVkIHZhcmlvdXMgcHJvYmxlbXMgd2l0aCB1c2luZyBLX1NQRUNJQUwgKDB4ODApIGFuZCBDU0kgKDB4OWIpIGFzIGEgYnl0ZSBpbgorYSAobXVsdGlieXRlKSBjaGFyYWN0ZXIuICBGb3IgZXhhbXBsZSwgdGhlICJyIiBjb21tYW5kIGNvdWxkIG5vdCBiZSByZXBlYXRlZC4KKworVGhlIERPUy9XaW5kb3dzIGluc3RhbGwgcHJvZ3JhbSBkaWRuJ3QgYWx3YXlzIHdvcmsgZnJvbSBhIGRpcmVjdG9yeSB3aXRoIGEKK2xvbmcgZmlsZW5hbWUsIGJlY2F1c2UgJFZJTSBhbmQgdGhlIGV4ZWN1dGFibGUgbmFtZSB3b3VsZCBub3QgaGF2ZSB0aGUgc2FtZQorcGF0aC4KKworTXVsdGktYnl0ZToKKy0gVXNpbmcgYW4gYW55LWJ1dCBjaGFyYWN0ZXIgcmFuZ2UgW154XSBpbiBhIHJlZ2V4cCBkaWRuJ3Qgd29yayBmb3IgVVRGLTguCisgIChNdXJhb2thIFRhcm8pCistIFdoZW4gYmFja3NwYWNpbmcgb3ZlciBpbnNlcnRlZCBjaGFyYWN0ZXJzIGluIFJlcGxhY2UgbW9kZSBtdWx0aS1ieXRlCisgIGNoYXJhY3RlcnMgd2VyZSBub3QgaGFuZGxlZCBjb3JyZWN0bHkuIChNdXJhb2thIFRhcm8pCistIFNlYXJjaCBjb21tYW5kcyAiIyIgYW5kICIqIiBkaWRuJ3Qgd29yayB3aXRoIG11bHRpYnl0ZSBjaGFyYWN0ZXJzLiAoTXVyYW9rYQorICBUYXJvKQorLSBXb3JkIGNvbXBsZXRpb24gaW4gSW5zZXJ0IG1vZGUgZGlkbid0IHdvcmsgd2l0aCBtdWx0aWJ5dGUgY2hhcmFjdGVycy4KKyAgKE11cmFva2EgVGFybykKKy0gQXRoZW5hL01vdGlmIEdVSTogd2hlbiAnbGluZXNwYWNlJyBpcyBub24temVybyB0aGUgY3Vyc29yIHdvdWxkIGJlIGRyYXduIHRvbworICB3aWRlIChudW1iZXIgb2YgYnl0ZXMgaW5zdGVhZCBvZiBjZWxsIHdpZHRoKS4KKy0gV2hlbiBjaGFuZ2luZyAnZW5jb2RpbmcnIHRvICJldWMtanAiIGFuZCBpbnNlcnRpbmcgYSBjaGFyYWN0ZXIgVmltIHdvdWxkCisgIGNyYXNoLgorLSBGb3IgZXVjLWpwIGNoYXJhY3RlcnMgcG9zaXRpb25pbmcgdGhlIGN1cnNvciB3b3VsZCBzb21ldGltZXMgYmUgd3JvbmcuCisgIEFsc28sIHdpdGggdHdvIGNoYXJhY3RlcnMgd2l0aCAweDhlIGxlYWRpbmcgYnl0ZSBvbmx5IHRoZSBmaXJzdCBvbmUgd291bGQgYmUKKyAgZGlzcGxheWVkLgorLSBXaGVuIHVzaW5nIERZTkFNSUNfSUNPTlYgb24gV2luMzIgY29udmVyc2lvbiBtaWdodCBmYWlsIGJlY2F1c2Ugb2YgdXNpbmcgdGhlCisgIHdyb25nIGVycm9yIG51bWJlci4gKE11cmFva2EgVGFybykKKy0gVXNpbmcgQWx0LXggaW4gdGhlIEdVSSB3aGlsZSAnZW5jb2RpbmcnIHdhcyBzZXQgdG8gInV0Zi04IiBkaWRuJ3QgcHJvZHVjZQorICB0aGUgcmlnaHQgY2hhcmFjdGVyLgorLSBXaGVuIHVzaW5nIFZpc3VhbCBibG9jayBzZWxlY3Rpb24gYW5kIG9ubHkgdGhlIGxlZnQgaGFsdmUgb2YgYSBkb3VibGUtd2lkZQorICBjaGFyYWN0ZXIgaXMgc2VsZWN0ZWQsIHRoZSBoaWdobGlnaHRpbmcgY29udGludWVkIHRvIHRoZSBlbmQgb2YgdGhlIGxpbmUuCistIFZpc3VhbC1ibG9jayBkZWxldGUgZGlkbid0IHdvcmsgcHJvcGVybHkgd2hlbiBkZWxldGluZyB0aGUgcmlnaHQgaGFsdmUgb2YgYQorICBkb3VibGUtd2lkZSBjaGFyYWN0ZXIuCistIE92ZXJzdHJpa2UgbW9kZSBmb3IgdGhlIGNtZGxpbmUgcmVwbGFjZWQgb25seSB0aGUgZmlyc3QgYnl0ZSBvZiBhIG11bHRpYnl0ZQorICBjaGFyYWN0ZXIuCistIFRoZSBjdXJzb3IgaW4gUmVwbGFjZSBtb2RlIChhbHNvIGluIHRoZSBjbWRsaW5lKSB3YXMgdG8gc21hbGwgb24gYQorICBkb3VibGUtd2lkZSBjaGFyYWN0ZXIuCistIFdoZW4gYSBtdWx0aWJ5dGUgY2hhcmFjdGVyIGNvbnRhaW5lZCBhIDB4ODAgYnl0ZSwgaXQgZGlkbid0IHdvcmsgKHdhcyB1c2luZworICBhIENTSSBieXRlIGluc3RlYWQpLiAoTXVyYW9rYSBUYXJvKQorLSBXb3Jkd2lzZSBzZWxlY3Rpb24gd2l0aCB0aGUgbW91c2UgZGlkbid0IHdvcmsuCistIFlhbmtpbmcgYSBtb2RlbGVzcyBzZWxlY3Rpb24gb2YgbXVsdGktYnl0ZSBjaGFyYWN0ZXJzIGRpZG4ndCB3b3JrLgorLSBXaGVuICdzZWxlY3Rpb24nIGlzICJleGNsdXNpdmUiLCBzZWxlY3RpbmcgYSB3b3JkIHRoYXQgZW5kcyBpbiBhIG11bHRpLWJ5dGUKKyAgY2hhcmFjdGVyIHVzZWQgd3JvbmcgaGlnaGxpZ2h0aW5nIGZvciB0aGUgZm9sbG93aW5nIGNoYXJhY3Rlci4KKworV2luMzIgd2l0aCBNYWtlX212Yy5tYWs6IERpZG4ndCBjb21waWxlIGZvciBkZWJ1Z2dpbmcuIChDcmFpZyBCYXJraG91c2UpCisKK1dpbjMyIEdVSTogV2hlbiAidmltcnVuLmV4ZSIgaXMgdXNlZCB0byBleGVjdXRlIGFuIGV4dGVybmFsIGNvbW1hbmQsIGRvbid0CitnaXZlIGEgbWVzc2FnZSBib3ggd2l0aCB0aGUgcmV0dXJuIHZhbHVlLCBpdCB3YXMgYWxyZWFkeSBwcmludGVkIGJ5IHZpbXJ1bi4KK0Fsc28gYXZvaWQgcHJpbnRpbmcgdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgc2hlbGwgd2hlbiAiOnNpbGVudCEiIGlzIHVzZWQuCisKK1dpbjMyOiBzZWxlY3RpbmcgYSBsb3Qgb2YgdGV4dCBhbmQgdXNpbmcgdGhlICJmaW5kL3JlcGxhY2UiIGRpYWxvZyBjYXVzZWQgYQorY3Jhc2guCisKK1gxMSBHVUk6IFdoZW4gdHlwaW5nIGEgY2hhcmFjdGVyIHdpdGggdGhlIDh0aCBiaXQgc2V0IGFuZCB0aGUgTWV0YS9BbHQKK21vZGlmaWVyLCB0aGUgbW9kaWZpZXIgd2FzIHJlbW92ZWQgd2l0aG91dCBjaGFuZ2luZyB0aGUgY2hhcmFjdGVyLgorCitUcnVuY2F0aW5nIGEgbWVzc2FnZSB0byBtYWtlIGl0IGZpdCBvbiB0aGUgY29tbWFuZCBsaW5lLCB1c2luZyAiLi4uIiBmb3IgdGhlCittaWRkbGUsIGRpZG4ndCBhbHdheXMgY29tcHV0ZSB0aGUgc3BhY2UgY29ycmVjdGx5LgorCitDb3VsZCBub3QgaW1hcCA8Qy1APi4gIE5vdyBpdCB3b3JrcyBsaWtlIDxOdWw+LgorCitWTVM6CistIEZpeGVkIGEgZmV3IHRoaW5ncyBmb3IgVkFYQy4gIG9zX3Ztc19maXguY29tIGhhZCBzb21lIHN0cmFuZ2UgQ1RSTC1NCisgIGNoYXJhY3RlcnMuIChab2x0YW4gQXJwYWRmZnkgYW5kIEpvaG4gVy4gSGFtaWxsKQorLSBBZGRlZCBWTVMtc3BlY2lmaWMgZGVmYXVsdHMgZm9yIHRoZSAnaXNmbmFtZScgYW5kICdpc3ByaW50JyBvcHRpb25zLgorICAoWm9sdGFuIEFycGFkZmZ5KQorLSBSZW1vdmVkIG9zX3Ztc19vc2RlZi5oLCBpdCdzIG5vIGxvbmdlciB1c2VkLgorCitUaGUgZ3ppcCBwbHVnaW4gdXNlZCBhICI6bm9ybWFsIiBjb21tYW5kLCB0aGlzIGRvZXNuJ3Qgd29yayB3aGVuIGRyb3BwaW5nIGEKK2NvbXByZXNzZWQgZmlsZSBvbiBWaW0uCisKK0luIHZlcnkgcmFyZSBzaXR1YXRpb25zIGEgYmluYXJ5IHNlYXJjaCBmb3IgYSB0YWcgd291bGQgZmFpbCwgYmVjYXVzZSBhbgordW5pbml0aWFsaXplZCB2YWx1ZSBoYXBwZW5zIHRvIGJlIGhhbGYgdGhlIHNpemUgb2YgdGhlIHRhZyBmaWxlLiAoTmFyZW5kcmFuKQorCitXaGVuIHVzaW5nIEJ1ZkVudGVyIGFuZCBCdWZMZWF2ZSBhdXRvY29tbWFuZHMgdG8gZW5hYmxlL2Rpc2FibGUgYSBtZW51LCBpdAord2Fzbid0IHVwZGF0ZWQgcmlnaHQgYXdheS4KKworV2hlbiBkb2luZyBhIHJlcGxhY2Ugd2l0aCB0aGUgImMib25maXJtIGZsYWcsIHRoZSBjdXJzb3Igd2FzIHBvc2l0aW9uZWQgYWZ0ZXIKK3RoZSBydWxlciwgaW5zdGVhZCBvZiBhZnRlciB0aGUgcXVlc3Rpb24uICBXaXRoIGEgbG9uZyByZXBsYWNlbWVudCBzdHJpbmcgdGhlCitzY3JlZW4gY291bGQgc2Nyb2xsIHVwIGFuZCBjYXVzZSBhICJtb3JlIiBwcm9tcHQuICBOb3cgdGhlIG1lc3NhZ2UgaXMKK3RydW5jYXRlZCB0byBtYWtlIGl0IGZpdC4KKworTW90aWY6IFRoZSBhdXRvY29uZiBjaGVjayBmb3IgdGhlIFhwIGxpYnJhcnkgZGlkbid0IHdvcmsuCisKK1doZW4gJ3ZlcmJvc2UnIGlzIHNldCB0byBsaXN0IGxpbmVzIG9mIGEgc291cmNlZCBmaWxlLCBkZWZpbmluZyBhIGZ1bmN0aW9uCit3b3VsZCByZXNldCB0aGUgY291bnRlciB1c2VkIGZvciB0aGUgIm1vcmUiIHByb21wdC4KKworSW4gdGhlIFdpbjMyIGZpbmQvcmVwbGFjZSBkaWFsb2csIGEgJy8nIGNoYXJhY3RlciBjYXVzZWQgcHJvYmxlbXMuICBFc2NhcGUgaXQKK3dpdGggYSBiYWNrc2xhc2guCisKK1N0YXJ0aW5nIGEgc2hlbGwgd2l0aCAiOnNoIiB3YXMgZGlmZmVyZW50IGZyb20gc3RhcnRpbmcgYSBzaGVsbCBmb3IgQ1RSTC1aCit3aGVuIHN1c3BlbmRpbmcgZG9lc24ndCB3b3JrLiAgVGhleSBub3cgd29yayB0aGUgc2FtZSB3YXkuCisKK0p1bXBpbmcgdG8gYSBmaWxlIG1hcmsgd2hpbGUgaW4gYSBjaGFuZ2VkIGJ1ZmZlciBnYXZlIGEgIm1hcmsgbm90IHNldCIgZXJyb3IuCisKKyI6ZXhlY3V0ZSBoaXN0Z2V0KCJjbWQiKSIgY2F1c2VzIGFuIGVuZGxlc3MgbG9vcCBhbmQgY3Jhc2hlZCBWaW0uICBOb3cgY2F0Y2gKK2FsbCBjb21tYW5kcyB0aGF0IGNhdXNlIHRvbyBtdWNoIHJlY3Vyc2l2ZW5lc3MuCisKK1JlbW92ZWQgIkZhaWxlZCB0byBvcGVuIGlucHV0IG1ldGhvZCIgZXJyb3IgbWVzc2FnZSwgdG9vIG1hbnkgcGVvcGxlIGdvdCB0aGlzCit3aGVuIHRoZXkgZGlkbid0IHdhbnQgdG8gdXNlIGEgWElNLgorCitHVUk6IFdoZW4gY29tcGlsZWQgd2l0aG91dCB0aGUgK3dpbmRvd3MgZmVhdHVyZSwgdGhlIHNjcm9sbGJhciB3b3VsZCBzdGFydAorYmVsb3cgbGluZSBvbmUuCisKK1JlbW92ZWQgdGhlIHRyaWNrIHdpdGggcmVkZWZpbmluZyBjaGFyYWN0ZXIgY2xhc3MgZnVuY3Rpb25zIGZyb20gcmVnZXhwLmMuCisKK1dpbjMyIEdVSTogRmluZCBkaWFsb2cgZ2l2ZXMgZm9jdXMgYmFjayB0byBtYWluIHdpbmRvdywgd2hlbiB0eXBpbmcgYQorY2hhcmFjdGVyIG1vdXNlIHBvaW50ZXIgaXMgYmxhbmtlZCwgaXQgZGlkbid0IHJlYXBwZWFyIHdoZW4gbW92aW5nIGl0IGluIHRoZQorZGlhbG9nIHdpbmRvdy4gKFZpbmNlIE5lZ3JpKQorCitXaGVuIHJlY29yZGluZyBhbmQgdHlwaW5nIGEgQ1RSTC1DLCBubyBjaGFyYWN0ZXIgd2FzIHJlY29yZGVkLiAgV2hlbiBpbiBJbnNlcnQKK21vZGUgb3IgY2FuY2VsbGluZyBoYWxmIGEgY29tbWFuZCwgcGxheWluZyBiYWNrIHRoZSByZWNvcmRlZCBzZXF1ZW5jZSB3b3VsZG4ndAord29yay4gIE5vdyByZWNvcmQgdGhlIENUUkwtQy4KKworV2hlbiB0aGUgR1VJIHdhcyBzdGFydGVkLCBtb3VzZSBjb2RlcyBmb3IgREVDIGFuZCBuZXR0ZXJtIHdlcmUgc3RpbGwgY2hlY2tlZAorZm9yLgorCitHVUk6IFdoZW4gc2Nyb2xsaW5nIGFuZCAnd3JpdGVkZWxheScgaXMgbm9uLXplcm8sIHRoZSBjaGFyYWN0ZXIgdW5kZXIgdGhlCitjdXJzb3Igd2FzIGRpc3BsYXllZCBpbiB0aGUgd3JvbmcgcG9zaXRpb24gKG9uZSBsaW5lIGFib3ZlL2JlbG93IHdpdGgKK0NUUkwtRS9DVFJMLVkpLgorCitBICI6bm9ybWFsIiBjb21tYW5kIHdvdWxkIHJlc2V0IHRoZSAnc2Nyb2xsYmluZCcgaW5mby4gIENhdXNlcyBwcm9ibGVtcyB3aGVuCit1c2luZyBhICI6bm9ybWFsIiBjb21tYW5kIGluIGFuIGF1dG9jb21tYW5kIGZvciBvcGVuaW5nIGEgZmlsZS4KKworV2luZG93cyBHVUk6IGEgcG9pbnQgc2l6ZSB3aXRoIGEgZG90LCBsaWtlICI3LjUiLCB3YXNuJ3QgcmVjb2duaXplZC4gKE11cmFva2EKK1Rhcm8pCisKK1doZW4gJ3Njcm9sbGJpbmQnIHdhc24ndCBzZXQgd291bGQgc3RpbGwgcmVtZW1iZXIgdGhlIGN1cnJlbnQgcG9zaXRpb24sCit3YXN0aW5nIHRpbWUuCisKK0dUSzogQ3Jhc2ggd2hlbiAnc2hlbGwnIGRvZXNuJ3QgZXhpc3QgYW5kIGRvaW5nIjohbHMiLiAgVXNlIF9leGl0KCkgaW5zdGVhZCBvZgorZXhpdCgpIHdoZW4gdGhlIGNoaWxkIGNvdWxkbid0IGV4ZWN1dGUgdGhlIHNoZWxsLgorCitNdWx0aS1ieXRlOgorLSBHVUkgd2l0aCBkb3VibGUtYnl0ZSBlbmNvZGluZzogYSBtb3VzZSBjbGljayBpbiBsZWZ0IGhhbHZlIG9mIGRvdWJsZS13aWRlCisgIGNoYXJhY3RlciBwdXQgdGhlIGN1cnNvciBpbiBwcmV2aW91cyBjaGFyLgorLSBVc2luZyBkb3VibGUtYnl0ZSBlbmNvZGluZyBhbmQgJ3NlbGVjdGlvbicgaXMgImV4Y2x1c2l2ZSI6ICJ2ZXkiIGFuZCAiXlZleSIKKyAgaW5jbHVkZWQgdGhlIGNoYXJhY3RlciBhZnRlciB0aGUgd29yZC4KKy0gV2hlbiB1c2luZyBhIGRvdWJsZS1ieXRlIGVuY29kaW5nIGFuZCB0aGVyZSBpcyBhIGxlYWQgYnl0ZSBhdCB0aGUgZW5kIG9mIHRoZQorICBsaW5lLCB0aGUgcHJlY2VkaW5nIGxpbmUgd291bGQgYmUgZGlzcGxheWVkLiAgImdhIiBhbHNvIHNob3dlZCB3cm9uZyBpbmZvLgorLSAiZ2YiIGRpZG4ndCBpbmNsdWRlIG11bHRpLWJ5dGUgY2hhcmFjdGVycyBiZWZvcmUgdGhlIGN1cnNvciBwcm9wZXJseS4KKyAgKE11cmFva2EgVGFybykKKworR1VJOiBUaGUgY3Vyc29yIHdhcyBzb21ldGltZXMgbm90IHJlbW92ZWQgd2hlbiBzY3JvbGxpbmcuICBDaGFuZ2VkIHRoZSBwb2xpY3kKK2Zyb20gcmVkcmF3aW5nIHRoZSBjdXJzb3IgYWZ0ZXIgZWFjaCBjYWxsIHRvIGd1aV93cml0ZSgpIHRvIG9ubHkgdXBkYXRlIGl0IGF0Cit0aGUgZW5kIG9mIHVwZGF0ZV9zY3JlZW4oKSBvciB3aGVuIHNldHRpbmcgdGhlIGN1cnNvciBwb3NpdGlvbi4gIEFsc28gb25seQordXBkYXRlIHRoZSBzY3JvbGxiYXJzIGF0IHRoZSBlbmQgb2YgdXBkYXRlX3NjcmVlbigpLCB0aGF0J3MgdGhlIG9ubHkgcGxhY2UKK3doZXJlIHRoZSB3aW5kb3cgdGV4dCBtYXkgaGF2ZSBiZWVuIHNjcm9sbGVkLgorCitGb3JtYXR0aW5nICIvKjxUYWI+bG9uZyB0ZXh0IiwgcHJvZHVjZWQgIiogPFRhYj4iIGluIHRoZSBuZXh0IGxpbmUuICBOb3cKK3JlbW92ZSB0aGUgc3BhY2UgYmVmb3JlIHRoZSBUYWIuCitGb3JtYXR0aW5nICIvKjxUYWI+ICBsb25nIHRleHQiLCBwcm9kdWNlZCAiKiA8VGFiPiBsb25nIHRleHQiIGluIHRoZSBuZXh0CitsaW5lLiAgTm93IGtlZXAgdGhlIHNwYWNlIGFmdGVyIHRoZSBUYWIuCisKK0luIHNvbWUgcGxhY2VzIG5vbi1BU0NJSSBhbHBoYWJldGljYWwgY2hhcmFjdGVycyB3ZXJlIGFjY2VwdGVkLCB3aGljaCBjb3VsZAorY2F1c2UgcHJvYmxlbXMuICBGb3IgZXhhbXBsZSwgIjpYIiAoWCBiZWluZyBzdWNoIGEgY2hhcmFjdGVyKS4KKworV2hlbiBhIHBhdHRlcm4gbWF0Y2hlcyB0aGUgZW5kIG9mIHRoZSBsaW5lLCB0aGUgbGFzdCBjaGFyYWN0ZXIgaW4gdGhlIGxpbmUgd2FzCitoaWdobGlnaHRlZCBmb3IgJ2hsc2VhcmNoJy4gIFRoYXQgbG9va3Mgd3JvbmcgZm9yICIvXCUzYyIuICBOb3cgaGlnaGxpZ2h0IHRoZQorY2hhcmFjdGVyIGp1c3QgYWZ0ZXIgdGhlIGxpbmUuCisKK01vdGlmOiBJZiBhIGRpYWxvZyB3YXMgY2xvc2VkIGJ5IGNsaWNraW5nIG9uIHRoZSAiWCIgb2YgdGhlIHdpbmRvdyBmcmFtZSBWaW0KK3dvdWxkIG5vIGxvbmdlciByZXNwb25kLgorCitXaGVuIHVzaW5nIENUUkwtWCBvciBDVFJMLUEgb24gYSBudW1iZXIgd2l0aCBtYW55IGxlYWRpbmcgemVyb3MsIFZpbSB3b3VsZAorY3Jhc2guIChNYXRzdW1vdG8pCisKK1doZW4gJ2luc2VydG1vZGUnIGlzIHNldCwgdGhlIG1hcHBpbmcgaW4gbXN3aW4udmltIGZvciBDVFJMLVYgZGlkbid0IHdvcmsgaW4KK1NlbGVjdCBtb2RlLiAgSW5zZXJ0IG1vZGUgd2Fzbid0IHJlc3RhcnRlZCBhZnRlciBvdmVyd3JpdGluZyB0aGUgdGV4dC4KK05vdyBhbGxvdyBuZXN0aW5nIEluc2VydCBtb2RlIHdpdGggaW5zZXJ0IGFuZCBjaGFuZ2UgY29tbWFuZHMuICBDVFJMLU8KK2N3Zm9vPEVzYz4gbm93IGFsc28gd29ya3MuCisKK0NsaWNraW5nIHdpdGggdGhlIHJpZ2h0IG1vdXNlIGJ1dHRvbiBpbiBhbm90aGVyIHdpbmRvdyBzdGFydGVkIFZpc3VhbCBtb2RlLAorYnV0IHVzZWQgdGhlIHN0YXJ0IHBvc2l0aW9uIG9mIHRoZSBjdXJyZW50IHdpbmRvdy4gIENhdXNlZCBtbF9nZXQgZXJyb3JzIHdoZW4KK3RoZSBsaW5lIG51bWJlciB3YXMgaW52YWxpZC4gIE5vdyBzdGF5IGluIHRoZSBzYW1lIHdpbmRvdy4KKworV2hlbiAnc2VsZWN0aW9uJyBpcyAiZXhjbHVzaXZlIiwgImd2IiBzb21ldGltZXMgc2VsZWN0ZWQgb25lIGNoYXJhY3RlciBmZXdlci4KKworV2hlbiAnY29tbWVudHMnIGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgc3RhcnQvbWlkZGxlL2VuZCB0cmlwbGV0LCB0aGUgb3B0aW9uYWwKK2ZsYWdzIGNvdWxkIGJlIG1peGVkIHVwLiAgQWxzbyBkaWRuJ3QgYWxpZ24gdGhlIGVuZCB3aXRoIHRoZSBtaWRkbGUgcGFydC4KKworRG91YmxlLXJpZ2h0LWNsaWNrIGluIFZpc3VhbCBtb2RlIGRpZG4ndCB1cGRhdGUgdGhlIHNob3duIG1vZGUuCisKK1doZW4gdGhlIE5vcm1hbCBncm91cCBoYXMgYSBmb250IG5hbWUsIGl0IHdhcyBuZXZlciB1c2VkIHdoZW4gc3RhcnRpbmcgdXAuCitOb3cgdXNlIGl0IHdoZW4gJ2d1aWZvbnQnIGFuZCAnZ3VpZm9udHNldCcgYXJlIGVtcHR5LgorU2V0dGluZyBhIGZvbnQgbmFtZSB0byBhIGhpZ2hsaWdodCBncm91cCBiZWZvcmUgdGhlIEdVSSB3YXMgc3RhcnRlZCBkaWRuJ3QKK3dvcmsuCisKKyJtYWtlIHRlc3QiIGRpZG4ndCB1c2UgdGhlIG5hbWUgb2YgdGhlIGdlbmVyYXRlZCBWaW0gZXhlY3V0YWJsZS4KKworJ2NpbmRlbnQnIHByb2JsZW1zOgorLSBBbGlnbmVkIHdpdGggYW4gImVsc2UiIGluc2lkZSBhIGRvLXdoaWxlIGxvb3AgZm9yIGEgbGluZSBiZWxvdyB0aGF0IGxvb3AuCisgIChNZWlrZWwgQnJhbmRtZXllcikKKy0gQSBsaW5lIGJlZm9yZSBhIGZ1bmN0aW9uIHdvdWxkIGJlIGluZGVudGVkIGV2ZW4gd2hlbiB0ZXJtaW5hdGVkIHdpdGggYQorICBzZW1pY29sb24uIChNZWlrZWwgQnJhbmRtZXllcikKKy0gJ2NpbmRlbnQnIGdhdmUgdG9vIG11Y2ggaW5kZW50IHRvIGEgbGluZSBhZnRlciBhICJ9OyIgdGhhdCBlbmRzIGFuIGFycmF5CisgIGluaXQuCistIFN1cHBvcnQgZGVjbGFyYXRpb24gbGluZXMgZW5kaW5nIGluICIsIiBhbmQgIlwiLiAgKE1laWtlbCBCcmFuZG1leWVyKQorLSBBIGNhc2Ugc3RhdGVtZW50IGluc2lkZSBhIGRvLXdoaWxlIGxvb3Agd2FzIHVzZWQgZm9yIGluZGVudGluZyBhIGxpbmUgYWZ0ZXIKKyAgdGhlIGRvLXdoaWxlIGxvb3AuIChNZWlrZWwgQnJhbmRtZXllcikKKy0gV2hlbiBza2lwcGluZyBhIHN0cmluZyBpbiBhIGxpbmUgd2l0aCBvbmUgZG91YmxlIHF1b3RlIGl0IGNvdWxkIGNvbnRpbnVlIGluCisgIHRoZSBwcmV2aW91cyBsaW5lLiAoTWVpa2VsIEJyYW5kbWV5ZXIpCisKK1doZW4gJ2xpc3QnIGlzIHNldCwgJ2hsc2VhcmNoJyBkaWRuJ3QgaGlnaGxpZ2h0IGEgbWF0Y2ggYXQgdGhlIGVuZCBvZiB0aGUKK2xpbmUuICBOb3cgaGlnaGxpZ2h0IHRoZSAnJCcuCisKK1RoZSBQYXN0ZSBtZW51IGl0ZW0gaW4gdGhlIG1lbnUgYmFyLCB0aGUgcG9wdXAgbWVudSBhbmQgdGhlIHRvb2xiYXIgd2VyZSBhbGwKK2RpZmZlcmVudC4gIE5vdyBtYWRlIHRoZW0gYWxsIGVxdWFsIHRvIGhvdyBpdCB3YXMgZG9uZSBpbiBtc3dpbi52aW0uCisKK3N0X2RldiBjYW4gYmUgc21hbGxlciB0aGFuICJ1bnNpZ25lZCIuICBUaGUgY29tcGlsZXIgbWF5IGdpdmUgYW4gb3ZlcmZsb3cKK3dhcm5pbmcuICBBZGRlZCBhIGNvbmZpZ3VyZSBjaGVjayBmb3IgZGV2X3QuCisKK0F0aGVuYTogY2xvc2luZyBhIGNvbmZpcm0oKSBkaWFsb2cga2lsbGVkIFZpbS4KKworVmFyaW91cyB0eXBvcyBpbiB0aGUgZG9jdW1lbnRhdGlvbi4gKE1hdHQgRHVuZm9yZCkKKworUHl0aG9uIGludGVyZmFjZTogVGhlIGRlZmluaXRpb24gb2YgX0RFQlVHIGNvdWxkIGNhdXNlIHRyb3VibGUsIHVuZGVmaW5lIGl0LgorVGhlIGVycm9yIG1lc3NhZ2UgZm9yIG5vdCBiZWluZyBhYmxlIHRvIGxvYWQgdGhlIHNoYXJlZCBsaWJyYXJ5IHdhc24ndAordHJhbnNsYXRlZC4gIChNdXJhb2thIFRhcm8pCisKK01hYzogKERhbnkgU3QtQW1hbnQgYW5kIEF4ZWwgS2llbGhvcm4pCistIFNldmVyYWwgZml4ZXMuCistIFZpbSB3YXMgZWF0aW5nIDgwJSBvZiB0aGUgQ1BVIHRpbWUuCistIFRoZSBwcm9qZWN0IG9zX21hYy5wYnhwcm9qIGRpZG4ndCB3b3JrLCAgTW92ZWQgaXQgdG8gYSBzdWJkaXJlY3RvcnkuCistIE1hZGUgdGhlIG1lbnUgcHJpb3JpdHkgd29yayBmb3IgdGhlIG1lbnViYXIuCistIEZpeGVkIGEgcHJvYmxlbSB3aXRoIGRyYWdnaW5nIHRoZSBzY3JvbGxiYXIuCistIENsZWFuZWQgdXAgdGhlIHZhcmlvdXMgI2lmZGVmcy4KKworVW5peDogV2hlbiBjYXRjaGluZyBhIGRlYWRseSBzaWduYWwgYW5kIHdlIGtlZXAgZ2V0dGluZyBvbmUgdXNlIF9leGl0KCkgdG8KK2V4aXQgaW4gYSBxdWljayBhbmQgZGlydHkgd2F5LgorCitBdGhlbmEgbWVudSBvcmRlcmluZyBkaWRuJ3Qgd29yayBjb3JyZWN0bHkuIChEYXZpZCBIYXJyaXNvbikKKworQSAiOm1ha2UiIG9yICI6Z3JlcCIgY29tbWFuZCB3aXRoIGEgbG9uZyBhcmd1bWVudCBjb3VsZCBjYXVzZSBhIGNyYXNoLgorCitEb2luZyAiOm5ldyBmaWxlIiBhbmQgdXNpbmcgIlF1aXQiIGZvciB0aGUgQVRURU5USU9OIGRpYWxvZyBzdGlsbCBvcGVuZWQgYSBuZXcKK3dpbmRvdy4KKworR1RLOiBXaGVuIHN0YXJ0aW5nIHRoZSBHVUkgYW5kIHRoZXJlIGlzIGFuIGVycm9yIGluIHRoZSAudmltcmMgZmlsZSwgZG9uJ3QKK3ByZXNlbnQgdGhlIHdhaXQtcmV0dXJuIHByb21wdCwgc2luY2UgdGhlIG1lc3NhZ2Ugd2FzIGdpdmVuIGluIHRoZSB0ZXJtaW5hbC4KKworV2hlbiB0aGVyZSB3YXMgYW4gZXJyb3IgaW4gYSAudmltcmMgZmlsZSB0aGUgdGVybWluYWwgd2hlcmUgZ3ZpbSB3YXMgc3RhcnRlZAorY291bGQgYmUgY2xlYXJlZC4gIFNldCBtc2dfcm93IGluIG1haW4uYyBiZWZvcmUgd3JpdGluZyBhbnkgbWVzc2FnZXMuCisKK0dUSyBhbmQgWDExIEdVSTogV2hlbiB0cnlpbmcgdG8gcmVhZCBjaGFyYWN0ZXJzIGZyb20gdGhlIHVzZXIgKGUuZy4gd2l0aAoraW5wdXQoKSkgYmVmb3JlIHRoZSBWaW0gd2luZG93IHdhcyBvcGVuZWQgY2F1c2VkIFZpbSB0byBoYW5nIHdoZW4gaXQgd2FzCitzdGFydGVkIGZyb20gdGhlIGRlc2t0b3AuCisKK09TLzM5MCB1c2VzIDMxIGJpdCBwb2ludGVycy4gIFRoYXQgYnJva2Ugc29tZSBjb21wdXRhdGlvbnMgd2l0aCBNQVhfQ09MLgorUmVkdWNlIE1BWF9DT0wgYnkgb25lIGJpdCBmb3IgT1MvMzkwLiAoUmFsZiBTY2hhbmRsKQorCitXaGVuIGRlZmluaW5nIGEgZnVuY3Rpb24gYW5kIGl0IGFscmVhZHkgZXhpc3RzLCBWaW0gZGlkbid0IHNheSBpdCBleGlzdGVkCit1bnRpbCBhZnRlciB0eXBpbmcgaXQuICBOb3cgZG8gdGhpcyByaWdodCBhd2F5IHdoZW4gdHlwaW5nIGl0LgorCitUaGUgbWVzc2FnZSByZW1lbWJlcmVkIGZvciBkaXNwbGF5aW5nIGxhdGVyIChrZWVwX21zZykgd2FzIHNvbWV0aW1lcyBwb2ludGluZworaW50byBhIGdlbmVyaWMgYnVmZmVyLCB3aGljaCBtaWdodCBiZSBjaGFuZ2VkIGJ5IHRoZSB0aW1lIHRoZSBtZXNzYWdlIGlzCitkaXNwbGF5ZWQuICBOb3cgbWFrZSBhIGNvcHkgb2YgdGhlIG1lc3NhZ2UuCisKK1doZW4gdXNpbmcgbXVsdGktYnl0ZSBjaGFyYWN0ZXJzIGluIGEgbWVudSBhbmQgYSB0cmFpbGluZyBieXRlIGlzIGEgYmFja3NsYXNoLAordGhlIG1lbnUgd291bGQgbm90IGJlIGNyZWF0ZWQgY29ycmVjdGx5LiAgKE11cmFva2EgVGFybykKK1VzaW5nIGEgbXVsdGlieXRlIGNoYXJhY3RlciBpbiB0aGUgc3Vic3RpdHV0ZSBzdHJpbmcgd2hlcmUgYSB0cmFpbCBieXRlIGlzIGEKK2JhY2tzbGFzaCBkaWRuJ3Qgd29yay4gIChNdXJhb2thIFRhcm8pCisKK1doZW4gc2V0dGluZyAidF9DbyIgaW4gYSB2aW1yYyBmaWxlLCB0aGVuIHNldHRpbmcgaXQgYXV0b21hdGljYWxseSBmcm9tIGFuCit4dGVybSB0ZXJtcmVzcG9uc2UgYW5kIHRoZW4gc2V0dGluZyBpdCBhZ2FpbiBtYW51YWxseSBjYXVzZWQgYSBjcmFzaC4KKworV2hlbiBnZXR0aW5nIHRoZSB2YWx1ZSBvZiBhIHN0cmluZyBvcHRpb24gdGhhdCBpcyBub3Qgc3VwcG9ydGVkLCB0aGUgbnVtYmVyCit6ZXJvIHdhcyByZXR1cm5lZC4gIFRoaXMgYnJlYWtzIGEgY2hlY2sgbGlrZSAiJmVuYyA9PSAiYXNkZiIuICBOb3cgYW4gZW1wdHkKK3N0cmluZyBpcyByZXR1cm5lZCBmb3Igc3RyaW5nIG9wdGlvbnMuCisKK0NyYXNoZWQgd2hlbiBzdGFydGluZyB0aGUgR1RLIEdVSSB3aGlsZSB1c2luZyAnbm90aXRsZScgaW4gdGhlIHZpbXJjLCBzZXR0aW5nCisndGl0bGUnIGluIHRoZSBndmltcmMgYW5kIHN0YXJ0aW5nIHRoZSBHVUkgd2l0aCAiOmd1aSIuICBDbG9zZWQgdGhlIGNvbm5lY3Rpb24KK3RvIHRoZSBYIHNlcnZlciBhY2NpZGVudGFsbHkuCisKK0hhZCB0byBoaXQgcmV0dXJuIGFmdGVyIHNlbGVjdGluZyBhbiBlbnRyeSBmb3IgIjp0cyIuCisKK1RoZSBtZXNzYWdlIGZyb20gIjpjbiIgbWVzc2FnZSB3YXMgc29tZXRpbWVzIGNsZWFyZWQuICBOb3cgZGlzcGxheSBpdCBhZnRlcgorcmVkcmF3aW5nIGlmIGl0IGRvZXNuJ3QgY2F1c2UgYSBzY3JvbGwgKHRydW5jYXRlZCB3aGVuIG5lY2Vzc2FyeSkuCisKK2hhbmd1bGluLmMgZGlkbid0IGNvbXBpbGUgd2hlbiB0aGUgR1VJIHdhcyBkaXNhYmxlZC4gIERpc2FibGUgaXQgd2hlbiBpdCB3b24ndAord29yay4KKworV2hlbiBzZXR0aW5nIGEgdGVybWNhcCBvcHRpb24gbGlrZSAidF9DTyIsIHRoZSB2YWx1ZSBjb3VsZCBiZSBkaXNwbGF5ZWQgYXMKK2JlaW5nIGZvciBhIG5vcm1hbCBrZXkgd2l0aCBhIG1vZGlmaWVyLCBsaWtlICI8TS09PiIuCisKK1doZW4gZXhwYW5kaW5nIHRoZSBhcmd1bWVudCBsaXN0LCBlbnRyaWVzIHdoaWNoIGFyZSBhIGRpcmVjdG9yeSBuYW1lIGRpZCBub3QKK2dldCBpbmNsdWRlZC4gIFRoaXMgc3RvcHBlZCAidmltIGM6LyIgZnJvbSBvcGVuaW5nIHRoZSBmaWxlIGV4cGxvcmVyLgorCisiOnN5biBtYXRjaCBzZCAiXiIgbmV4dGdyb3VwPWFzZGYiIHNraXBwZWQgdGhlIGZpcnN0IGNvbHVtbiBhbmQgbWF0Y2hlZCB0aGUKK25leHRncm91cCBpbiB0aGUgc2Vjb25kIGNvbHVtbi4KKworR1VJOiBXaGVuICdsYXp5cmVkcmF3JyBpcyBzZXQsICdzaG93bWF0Y2gnIGRpZG4ndCB3b3JrLiAgUmVxdWlyZWQgZmx1c2hpbmcKK3RoZSBvdXRwdXQuCisKK0Rvbid0IGRlZmluZSB0aGUgPE5ldE1vdXNlPiB0ZXJtY29kZSBpbiBhbiB4dGVybSwgcmVkdWNlcyB0aGUgcHJvYmxlbSB3aGVuCitzb21lb25lIHR5cGVzIDxFc2M+IH0gaW4gSW5zZXJ0IG1vZGUuCisKK01hZGUgc2xhc2hfYWRqdXN0KCkgd29yayBjb3JyZWN0bHkgZm9yIG11bHRpLWJ5dGUgY2hhcmFjdGVycy4gKFlhc3VoaXJvCitNYXRzdW1vdG8pCitVc2luZyBhIGZpbGVuYW1lIGluIEJpZzUgZW5jb2RpbmcgZm9yIGF1dG9jb21tYW5kcyBkaWRuJ3Qgd29yayAoYmFja3NsYXNoIGluCit0cmFpbGJ5dGUpLiAgKFlhc3VoaXJvIE1hdHN1bW90bykKKworRE9TIGFuZCBXaW5kb3dzOiBFeHBhbmRpbmcgKi52aW0gYWxzbyBtYXRjaGVkIGZpbGUudmltZm9vLiAgRXhwYW5kIHBhdGggbGlrZQorVW5peCB0byBhdm9pZCBwcm9ibGVtcyB3aXRoIFdpbmRvd3MgZGlyIGZ1bmN0aW9ucy4gIE1lcmdlZCB0aGUgRE9TIGFuZCBXaW4zMgorZnVuY3Rpb25zLgorCitXaW4zMjogR3ZpbWV4dCBjb3VsZCBub3QgZWRpdCBtb3JlIHRoYW4gYSBmZXcgZmlsZXMgYXQgb25jZSwgdGhlIGxlbmd0aCBvZiB0aGUKK2FyZ3VtZW50IHdhcyBmaXhlZC4KKworImxzIC0xICogfCB4YXJncyB2aW0iIHdvcmtlZCwgYnV0IHRoZSBpbnB1dCB3YXMgaW4gY29va2VkIG1vZGUuICBOb3cgc3dpdGNoIHRvCityYXcgbW9kZSB3aGVuIG5lZWRlZC4gIFVzZSBkdXAoKSB0byBjb3B5IHRoZSBzdGRlcnIgZmlsZSBkZXNjcmlwdG9yIHRvIHN0ZGluCit0byBtYWtlIHNoZWxsIGNvbW1hbmRzIHdvcmsuICBObyBsb25nZXIgcmVxdWlyZXMgYW4gZXh0ZXJuYWwgcHJvZ3JhbSB0byBkbwordGhpcy4KKworV2hlbiB1c2luZyAiOmZpbGV0eXBlIG9mZiIsIGZ0cGx1Z2luIGFuZCBpbmRlbnQgdXNhZ2Ugd291bGQgYmUgc3dpdGNoZWQgb2ZmIGF0Cit0aGUgc2FtZSB0aW1lLiAgRG9uJ3QgZG8gdGhpcywgc2V0dGluZyAnZmlsZXR5cGUnIG1hbnVhbGx5IGNhbiBzdGlsbCB1c2UgdGhlbS4KKworR1VJOiBXaGVuIHdyaXRpbmcgYSBkb3VibGUtYnl0ZSBjaGFyYWN0ZXIsIGl0IGNvdWxkIGJlIHNwbGl0IHVwIGluIHR3byBjYWxscwordG8gZ3VpX3dyaXRlKCksIHdoaWNoIGRvZXNuJ3Qgd29yay4gIE5vdyBmbHVzaCBiZWZvcmUgdGhlIG91dHB1dCBidWZmZXIKK2JlY29tZXMgZnVsbC4KKworV2hlbiAnbGFzdHN0YXR1cycgaXMgc2V0IGFuZCAnY21kaGVpZ2h0JyBpcyB0d28gb3IgYmlnZ2VyLCB0aGUgaW50cm8gbWVzc2FnZQord291bGQgYmUgd3JpdHRlbiBvdmVyIHRoZSBzdGF0dXMgbGluZS4KK1RoZSAiOmludHJvIiBjb21tYW5kIGRpZG4ndCB3b3JrIHdoZW4gdGhlcmUgd2Fzbid0IGVub3VnaCByb29tLgorCitDb25maWd1cmluZyBmb3IgUnVieSBmYWlsZWQgd2l0aCBhIHJlY2VudCB2ZXJzaW9uIG9mIFJ1YnkuIChBa2lub3JpIE11c2hhKQorCitBdGhlbmE6IFdoZW4gZGVsZXRpbmcgdGhlIGRpcmVjdG9yeSBpbiB3aGljaCBWaW0gd2FzIHN0YXJ0ZWQsIHVzaW5nIHRoZSBmaWxlCiticm93c2VyIG1hZGUgVmltIGV4aXQuICBSZW1vdmVkIHRoZSB1c2Ugb2YgWHRBcHBFcnJvcigpLgorCitXaGVuIHVzaW5nIGF1dG9jb25mIDIuNTAsIFVOSVggd2FzIG5vdCBkZWZpbmVkLiAgTW92ZWQgdGhlIGNvbW1lbnQgZm9yICIjdW5kZWYKK1VOSVgiIHRvIGEgc2VwYXJhdGUgbGluZS4KKworV2luMzI6IERpc2FibGVkIF9PbldpbmRvd1Bvc0NoYW5naW5nKCkgdG8gbWFrZSBtYXhpbWl6ZSB3b3JrIGJldHRlci4KKworV2luMzI6IENvbXBpbGluZyB3aXRoIFZDIDQuMCBkaWRuJ3Qgd29yay4gKFdhbHRlciBCcmlzY29lKQorCitBdGhlbmE6CistIEZpbmFsbHkgZml4ZWQgdGhlIHByb2JsZW1zIHdpdGggZGVsZXRpbmcgYSBtZW51LiAoRGF2aWQgSGFycmlzb24pCistIEF0aGVuYTogV2hlbiBjbG9zaW5nIHRoZSBjb25maXJtKCkgZGlhbG9nLCB3b3JrZWQgbGlrZSBPSyB3YXMgcHJlc3NlZCwKKyAgaW5zdGVhZCBvZiBDYW5jZWwuCisKK1RoZSBmaWxlIGV4cGxvcmVyIGRpZG4ndCB3b3JrIGluIGNvbXBhdGlibGUgbW9kZSwgYmVjYXVzZSBvZiBsaW5lCitjb250aW51YXRpb24uCisKK0RpZG4ndCBnaXZlIGFuIGVycm9yIG1lc3NhZ2UgZm9yICI6ZGlncmFwaCBhIi4KKworV2hlbiB1c2luZyBFeCBtb2RlIGluIHRoZSBHVUkgYW5kIHR5cGluZyBhIHNwZWNpYWwga2V5LCA8QlM+IGRpZG4ndCBkZWxldGUgaXQKK2NvcnJlY3RseS4gIE5vdyBkaXNwbGF5ICc/JyBmb3IgYSBzcGVjaWFsIGtleS4KKworV2hlbiBhbiBvcGVyYXRvciBpcyBwZW5kaW5nLCBjbGlja2luZyBpbiBhbm90aGVyIHdpbmRvdyBtYWRlIGl0IGFwcGx5IHRvIHRoYXQKK3dpbmRvdywgZXZlbiB0aG91Z2ggdGhlIGxpbmUgbnVtYmVycyBjb3VsZCBiZSBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgYnVmZmVyLgorCitXaGVuIGEgZnVuY3Rpb24gY2FsbCBkb2Vzbid0IGhhdmUgYSB0ZXJtaW5hdGluZyAiKSIgVmltIGNvdWxkIGNyYXNoLgorCitQZXJsIGludGVyZmFjZTogY291bGQgY3Jhc2ggb24gZXhpdCB3aXRoIHBlcmwgNS42LjEuIChBbmR1aW4gV2l0aGVycykKKworVXNpbmcgJVAgaW4gJ2Vycm9yZm9ybWF0JyB3YXNuJ3QgaGFuZGxlZCBjb3JyZWN0bHkuIChUb21hcyBaZWxsZXJpbikKKworVXNpbmcgYSBzeW50YXggY2x1c3RlciB0aGF0IGluY2x1ZGVzIGl0c2VsZiBtYWRlIFZpbSBjcmFzaC4KKworR1VJOiBXaXRoICdscycgc2V0IHRvIDIsIGRyYWdnaW5nIHRoZSBzdGF0dXMgbGluZSBhbGwgdGhlIHdheSB1cCwgdGhlbiBtYWtpbmcKK3RoZSBWaW0gd2luZG93IHNtYWxsZXI6IENvdWxkIG5vdCB0aGUgZHJhZyBzdGF0dXMgbGluZSBhbnltb3JlLgorCisidmltIC1jIHN0YXJ0aW5zZXJ0ISBmaWxlIiBwbGFjZWQgY3Vyc29yIG9uIGxhc3QgY2hhciBvZiBhIGxpbmUsIGluc3RlYWQgb2YKK2FmdGVyIGl0LiAgQSAiOnNldCIgY29tbWFuZCBpbiB0aGUgYnVmZmVyIG1lbnUgc2V0IHdfc2V0X2N1cnN3YW50LiAgTm93IGRvbid0CitkbyB0aGlzIHdoZW4gd19jdXJzd2FudCBpcyBNQVhDT0wuCisKK1dpbjMyOiBXaGVuIHRoZSBndmltIHdpbmRvdyB3YXMgbWF4aW1pemVkIGFuZCBzZWxlY3RpbmcgYW5vdGhlciBmb250LCB0aGUKK3dpbmRvdyB3b3VsZCBubyBsb25nZXIgZmlsbCB0aGUgc2NyZWVuLgorCitUaGUgbGluZSB3aXRoICdwYXN0ZXRvZ2dsZScgaW4gIjpvcHRpb25zIiBkaWRuJ3Qgc2hvdyB0aGUgcmlnaHQgdmFsdWUgd2hlbiBpdAoraXMgYSBzcGVjaWFsIGtleS4gIEhpdHRpbmcgPENSPiBkaWRuJ3Qgd29yayBlaXRoZXIuCisKK0Zvcm1hdHRpbmcgdGV4dCwgcmVzdWx0aW5nIGluIGEgJSBsYW5kaW5nIGluIHRoZSBmaXJzdCBsaW5lLCByZXBlYXRlZCB0aGUgJSBpbgordGhlIGZvbGxvd2luZyBsaW5lcywgbGlrZSBpdCdzIHRoZSBzdGFydCBvZiBhIGNvbW1lbnQuCisKK0dUSzogV2hlbiBhZGRpbmcgYSB0b29sYmFyIGl0ZW0gd2hpbGUgZ3ZpbSBpcyBhbHJlYWR5IHJ1bm5pbmcsIGl0IHdhc24ndAorcG9zc2libGUgdG8gdXNlIHRoZSB0b29sdGlwLiAgTm93IGl0IHdvcmtzIGJ5IGFkZGluZyB0aGUgdG9vbHRpcCBmaXJzdC4KKworVGhlIG91dHB1dCBvZiAiZyBDVFJMLUciIG1lbnRpb25lZCAiQ2hhciIgYnV0IGl0J3MgYWN0dWFsbHkgYnl0ZXMuCisKK1NlYXJjaGluZyBmb3IgdGhlIGVuZCBvZiBhIG9uZWxpbmUgcmVnaW9uIGRpZG4ndCB3b3JrIGNvcnJlY3RseSB3aGVuIHRoZXJlIGlzCithbiBvZmZzZXQgZm9yIHRoZSBoaWdobGlnaHRpbmcuCisKK1N5bnRheCBoaWdobGlnaHRpbmc6IFdoZW4gc3luY2hyb25pemluZyBvbiBDLWNvbW1lbnRzLCAvLyovIHdhcyBzZWVuIGFzIHRoZQorc3RhcnQgb2YgYSBjb21tZW50LgorCitXaW4zMjogV2l0aG91dCBzY3JvbGxiYXJzIHByZXNlbnQsIHRoZSBNUyBtb3VzZSBzY3JvbGwgd2hlZWwgZGlkbid0IHdvcmsuCitBbHNvIGhhbmRsZSB0aGUgc2Nyb2xsYmFycyB3aGVuIHRoZXkgYXJlIG5vdCB2aXNpYmxlLgorCitNb3RpZjogV2hlbiB0aGVyZSBpcyBubyByaWdodCBzY3JvbGxiYXIsIHRoZSBib3R0b20gc2Nyb2xsYmFyIHdvdWxkIHN0aWxsCitsZWF2ZSByb29tIGZvciBpdC4gIChNYXJ0aW4gRGFsZWNraSkKKworV2hlbiBjaGFuZ2luZyAnZ3VpY3Vyc29yJyBhbmQgdGhlIHZhbHVlIGlzIGludmFsaWQsIHNvbWUgb2YgdGhlIGVmZmVjdHMgd291bGQKK3N0aWxsIHRha2UgcGxhY2UuICBOb3cgZmlyc3QgY2hlY2sgZm9yIGVycm9ycyBhbmQgb25seSBtYWtlIHRoZSBuZXcgdmFsdWUKK2VmZmVjdGl2ZSB3aGVuIGl0J3MgT0suCisKK1VzaW5nICJBIiBJbiBWaXN1YWwgYmxvY2sgbW9kZSwgYXBwZW5kaW5nIHRvIGxpbmVzIHRoYXQgZG9uJ3QgZXh0ZW5kIGludG8gdGhlCitibG9jaywgcGFkZGluZyB3YXMgd3JvbmcuCisKK1doZW4gcGFzdGluZyBhIGJsb2NrIG9mIHRleHQsIGEgY2hhcmFjdGVyIHRoYXQgb2NjdXBpZXMgbW9yZSB0aGFuIG9uZSBzY3JlZW4KK2NvbHVtbiBjb3VsZCBiZSBkZWxldGVkIGFuZCBzcGFjZXMgaW5zZXJ0ZWQgaW5zdGVhZC4gIE5vdyBvbmx5IGRvIHRoYXQgd2l0aCBhCit0YWIuCisKK0ZpeGVkIGNvbnZlcnNpb24gb2YgZG9jdW1lbnRhdGlvbiB0byBIVE1MIHVzaW5nIFBlcmwuIChEYW4gU2hhcnApCisKK0dpdmUgYW4gZXJyb3IgbWVzc2FnZSB3aGVuIGEgbWVudSBuYW1lIHN0YXJ0cyB3aXRoIGEgZG90LgorCitBdm9pZCBhIGhhbmcgd2hlbiBleGVjdXRpbmcgYSBzaGVsbCBmcm9tIHRoZSBHVUkgb24gSFAtVVggYnkgcHVzaGluZyAicHRlbSIKK2V2ZW4gd2hlbiBzeXMvcHRlbS5oIGlzbid0IHByZXNlbnQuCisKK1doZW4gY3JlYXRpbmcgdGhlIHRlbXAgZGlyZWN0b3J5LCBtYWtlIHN1cmUgdW1hc2sgaXMgMDc3LCBvdGhlcndpc2UgdGhlCitkaXJlY3RvcnkgaXMgbm90IGFjY2Vzc2libGUgd2hlbiBpdCB3YXMgc2V0IHRvIDAxNzcuCisKK1VuaXg6IFdoZW4gcmVzaXppbmcgdGhlIHdpbmRvdyBhbmQgYSByZWRyYXcgaXMgYSBiaXQgc2xvdywgY291bGQgZ2V0IGEgd2luZG93CityZXNpemUgZXZlbnQgd2hpbGUgcmVkcmF3aW5nLCByZXN1bHRpbmcgaW4gYSBtZXNzZWQgdXAgd2luZG93LiAgQW55IGlucHV0CisoZS5nLiwgYSBtb3VzZSBjbGljaykgd291bGQgcmVkcmF3LgorCitUaGUgIiVCIiBpdGVtIGluIHRoZSBzdGF0dXMgbGluZSBiZWNhbWUgemVybyBpbiBJbnNlcnQgbW9kZSAodGhhdCdzIG5vcm1hbCkKK2ZvciBhbm90aGVyIHRoYW4gdGhlIGN1cnJlbnQgd2luZG93LgorCitUaGUgbWVudSBlbnRyaWVzIHRvIGNvbnZlcnQgdG8geHhkIGFuZCBiYWNrIGRpZG4ndCB3b3JrIGluIEluc2VydCBtb2RlLgorCitXaGVuICI6dmdsb2JhbCIgZGlkbid0IGZpbmQgYSBsaW5lIHdoZXJlIHRoZSBwYXR0ZXJuIGRvZXNuJ3QgbWF0Y2gsIHRoZSBlcnJvcgorbWVzc2FnZSB3b3VsZCBiZSB0aGUgd3Jvbmcgd2F5IGFyb3VuZC4KKworV2hlbiBpZ25vcmluZyBhIG11bHRpLWxpbmUgZXJyb3IgbWVzc2FnZSB3aXRoICIlLUEiLCB0aGUgY29udGludWF0aW9uIGxpbmVzCit3b3VsZCBiZSB1c2VkIGFueXdheS4gKFNlcnZhdGl1cyBCcmFuZHQpCisKKyJncngiIG9uIGEgZG91YmxlLXdpZGUgY2hhcmFjdGVyIGluc2VydGVkICJ4IiwgaW5zdGVhZCBvZiByZXBsYWNpbmcgdGhlCitjaGFyYWN0ZXIgd2l0aCAieCAiLiAgImdSIiBvbiA8eHg+ICgnZGlzcGxheScgc2V0IHRoZSAidWhleCIpIGRpZG4ndCByZXBsYWNlCithdCBhbGwuICBXaGVuIGRvaW5nICJnUnh4IiBvbiBhIGNvbnRyb2wgY2hhcmFjdGVyIHRoZSBmaXJzdCAieCIgd291bGQgYmUKK2luc2VydGVkLCBicmVha2luZyB0aGUgYWxpZ25tZW50LgorCitBZGRlZCAiMCkiIHRvICdjaW5rZXlzJywgc28gdGhhdCB3aGVuIHR5cGluZyBhICkgaXQgaXMgcHV0IGluIHRoZSBzYW1lIHBsYWNlCithcyB3aGVyZSAiPT0iIHdvdWxkIHB1dCBpdC4KKworV2luMzI6IFdoZW4gbWF4aW1pemVkLCBhZGRpbmcvcmVtb3ZpbmcgdG9vbGJhciBkaWRuJ3QgcmVzaXplIHRoZSB0ZXh0IGFyZWEuCisKK1doZW4gdXNpbmcgPEMtUmlnaHRNb3VzZT4gYSBjb3VudCB3YXMgZGlzY2FyZGVkLgorCitXaGVuIHR5cGluZyBDVFJMLVYgYW5kIDxSaWdodE1vdXNlPiBpbiB0aGUgY29tbWFuZCBsaW5lLCB3b3VsZCBpbnNlcnQKKzxMZWZ0TW91c2U+LgorCitVc2luZyAidmlzIiBvciAidmFzIiB3aGVuICdzZWxlY3Rpb24nIGlzIGV4Y2x1c2l2ZSBkaWRuJ3QgaW5jbHVkZSB0aGUgbGFzdAorY2hhcmFjdGVyLgorCitXaGVuIGFkZGluZyB0byBhbiBvcHRpb24gbGlrZSAnZ3JlcHByZycsIGxlYWRpbmcgc3BhY2Ugd291bGQgYmUgbG9zdC4gIERvbid0CitleHBhbmQgZW52aXJvbm1lbnQgdmFyaWFibGVzIHdoZW4gdGhlcmUgaXMgbm8gY29tbWEgc2VwYXJhdGluZyB0aGUgaXRlbXMuCisKK0dVSTogV2hlbiB1c2luZyBhIGJvbGQtaXRhbGljIGZvbnQsIHdvdWxkIHN0aWxsIHVzZSB0aGUgYm9sZCB0cmljayBhbmQKK3VuZGVybGluaW5nLgorCitNb3RpZjogVGhlIGRlZmF1bHQgYnV0dG9uIGRpZG4ndCB3b3JrIGluIGRpYWxvZ3MsIHRoZSBmaXJzdCBvbmUgd2FzIGFsd2F5cwordXNlZC4gIEhhZCB0byBnaXZlIGlucHV0IGZvY3VzIHRvIHRoZSBkZWZhdWx0IGJ1dHRvbi4KKworV2hlbiB1c2luZyBDVFJMLVQgdG8ganVtcCB3aXRoaW4gdGhlIHNhbWUgZmlsZSwgdGhlICcnIG1hcmsgd2Fzbid0IHNldC4KKworVW5kbyB3YXNuJ3QgVmkgY29tcGF0aWJsZSB3aGVuIHVzaW5nIHRoZSAnYycgZmxhZyBmb3IgIjpzIi4gIE5vdyBpdCB1bmRvZXMgdGhlCit3aG9sZSAiOnMiIGNvbW1hbmQgaW5zdGVhZCBvZiBlYWNoIGNvbmZpcm1lZCByZXBsYWNlbWVudC4KKworVGhlIEJ1ZmZlcnMgbWVudSwgd2hlbiB0b3JuLW9mZiwgZGlzYXBwZWFyZWQgd2hlbiBiZWluZyByZWZyZXNoZWQuICBBZGQgYQorZHVtbXkgaXRlbSB0byBhdm9pZCB0aGlzLgorCitSZW1vdmVkIGNhbGxpbmcgbXNnX3N0YXJ0KCkgaW4gbWFpbigpLCBpdCBzaG91bGQgbm90IGJlIG5lZWRlZC4KKwordmltX3N0cnBicmsoKSBkaWQgbm90IHN1cHBvcnQgbXVsdGlieXRlIGNoYXJhY3RlcnMuIChNdXJhb2thIFRhcm8pCisKK1RoZSBBbWlnYSB2ZXJzaW9uIGRpZG4ndCBjb21waWxlLCB0aGUgY29kZSB3YXMgdG9vIGJpZyBmb3IgcmVsYXRpdmUganVtcHMuCitNb3ZlZCBhIGZldyBmaWxlcyBmcm9tIGV4X2RvY21kLmMgdG8gZXhfY21kczIuYworCitXaGVuIGV2YWx1YXRpbmcgdGhlICI9IHJlZ2lzdGVyIHJlc3VsdGVkIGluIHRoZSAiPSByZWdpc3RlciBiZWluZyBjaGFuZ2VkLCBWaW0KK3dvdWxkIGNyYXNoLgorCitXaGVuIGRvaW5nICI6dmlldyBmaWxlIiBhbmQgaXQgZmFpbHMsIHRoZSBjdXJyZW50IGJ1ZmZlciB3YXMgbWFkZSByZWFkLW9ubHkuCisKK01vdGlmOiBGb3Igc29tZSBwZW9wbGUgdGhlIHNlcGFyYXRvcnMgaW4gdGhlIHRvb2xiYXIgZGlzYXBwZWFyZWQgd2hlbiByZXNpemluZwordGhlIFZpbSB3aW5kb3cuIChNYXJ0aW4gRGFsZWNraSkKKworV2luMzIgR1VJOiB3aGVuIHNldHRpbmcgJ2xpbmVzJyB0byBhIGh1Z2UgbnVtYmVyLCB3b3VsZCBub3QgY29tcHV0ZSB0aGUKK2F2YWlsYWJsZSBzcGFjZSBjb3JyZWN0bHkuICBXYXMgY291bnRpbmcgdGhlIG1lbnUgaGVpZ2h0IHR3aWNlLgorCitDb252ZXJzaW9uIG9mIHRoZSBkb2NzIHRvIEhUTUwgZGlkbid0IGhhbmRsZSB0aGUgbGluZSB3aXRoIHRoZSArcXVpY2tmaXggdGFnCitjb3JyZWN0bHkuIChBbnRvbmlvIENvbG9tYm8pCisKK1dpbjMyOiBmbmFtZV9jYXNlKCkgZGlkbid0IGhhbmRsZSBtdWx0aS1ieXRlIGNoYXJhY3RlcnMgY29ycmVjdGx5LiAoWWFzdWhpcm8KK01hdHN1bW90bykKKworVGhlIEN5Z3dpbiB2ZXJzaW9uIGhhZCB0cm91YmxlIHdpdGggZmNoZGlyKCkuICBEb24ndCB1c2UgdGhhdCBmdW5jdGlvbiBmb3IKK0N5Z3dpbi4KKworVGhlIGdlbmVyaWMgY2hlY2sgaW4gc2NyaXB0cy52aW0gZm9yICJjb25mIiBzeW50YXggd2FzIGRvbmUgYmVmb3JlIHNvbWUgY2hlY2tzCitpbiBmaWxldHlwZS52aW0sIHJlc3VsdGluZyBpbiAiY29uZiIgc3ludGF4IHRvbyBvZnRlbi4KKworRG9zMzI6IFR5cGluZyBsYWdnZWQgYmVoaW5kLiAgV291bGQgd2FpdCBmb3Igb25lIGJpb3N0aWNrIHdoZW4gY2hlY2tpbmcgaWYgYQorY2hhcmFjdGVyIGlzIGF2YWlsYWJsZS4KKworR1RLOiBXaGVuIHNldHRpbmcgJ2NvbHVtbnMnIHdoaWxlIHN0YXJ0aW5nIHVwICJndmltIiwgd291bGQgc2V0IHRoZSB3aWR0aCBvZgordGhlIHRlcm1pbmFsIGl0IHdhcyBzdGFydGVkIGluLgorCitXaGVuIHVzaW5nIEVTQyBpbiBJbnNlcnQgbW9kZSwgYW4gYXV0b2luZGVudCB0aGF0IHdyYXBzIHRvIHRoZSBuZXh0IGxpbmUKK2NhdXNlZCB0aGUgY3Vyc29yIHRvIG1vdmUgdG8gdGhlIGVuZCBvZiB0aGUgbGluZSB0ZW1wb3JhcmlseS4gIFdoZW4gdGhlCitjaGFyYWN0ZXIgYmVmb3JlIHRoZSBjdXJzb3Igd2FzIGEgZG91YmxlLXdpZGUgbXVsdGktYnl0ZSBjaGFyYWN0ZXIgdGhlIGN1cnNvcgord291bGQgYmUgb24gdGhlIHJpZ2h0IGhhbHZlLCB3aGljaCBjYXVzZXMgcHJvYmxlbXMgd2l0aCBzb21lIHRlcm1pbmFscy4KKworRGlkbid0IGhhbmRsZSBtdWx0aS1ieXRlIGNoYXJhY3RlcnMgY29ycmVjdGx5IHdoZW4gZXhwYW5kaW5nIGEgZmlsZSBuYW1lLgorKFlhc3VoaXJvIE1hdHN1bW90bykKKworV2luMzIgR1VJOiBFcnJvcnMgZ2VuZXJhdGVkIGJlZm9yZSB0aGUgR1VJIGlzIGRlY2lkZWQgdG8gc3RhcnQgd2VyZSBub3QKK3JlcG9ydGVkLgorCitnbG9icGF0aCgpIGRpZG4ndCByZXNlcnZlIGVub3VnaCByb29tIGZvciBjb25jYXRlbmF0ZWQgcmVzdWx0cy4gKEFuZHVpbgorV2l0aGVycykKKworV2hlbiBleHBhbmRpbmcgYW4gb3B0aW9uIHRoYXQgaXMgdmVyeSBsb25nIGFscmVhZHksIGRvbid0IGRvIHRoZSBleHBhbnNpb24sIGl0Cit3b3VsZCBiZSB0cnVuY2F0ZWQgdG8gTUFYUEFUSEwuIChBbmR1aW4gV2l0aGVycykKKworV2hlbiAnc2VsZWN0aW9uJyBpcyAiZXhjbHVzaXZlIiwgdXNpbmcgIkZ4IiBpbiBWaXN1YWwgbW9kZSBvbmx5IG1vdmVkIHVudGlsCitqdXN0IGFmdGVyIHRoZSBjaGFyYWN0ZXIuCisKK1doZW4gdXNpbmcgSU1FIG9uIHRoZSBjb25zb2xlIHRvIGVudGVyIGEgZmlsZSBuYW1lLCB0aGUgc2NyZWVuIG1heSBzY3JvbGwgdXAuCitSZWRyYXcgdGhlIHNjcmVlbiB0aGVuLiAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorCitNb3RpZjogSW4gdGhlIGZpbmQvcmVwbGFjZSBkaWFsb2cgdGhlICJSZXBsYWNlIiBidXR0b24gZGlkbid0IHdvcmsgZmlyc3QgdGltZSwKK3NlY29uZCB0aW1lIGl0IHJlcGxhY2VkIGFsbCBtYXRjaGVzLiAgUmVtb3ZlZCB0aGUgdXNlIG9mICI6cy8vL2MiLgorR1RLOiBTaW1pbGFyIHByb2JsZW1zIHdpdGggdGhlIGZpbmQvcmVwbGFjZSBkaWFsb2csIG1vdmVkIHRoZSBjb2RlIHRvIGEgY29tbW9uCitmdW5jdGlvbi4KKworWDExOiBVc2Ugc2hhcmVkIEdDJ3MgZm9yIHRleHQuIChNYXJ0aW4gRGFsZWNraSkKKworIl1pIiBmb3VuZCB0aGUgbWF0Y2ggdW5kZXIgdGhlIGN1cnNvciwgaW5zdGVhZCBvZiB0aGUgZmlyc3Qgb25lIGJlbG93IGl0LgorU2FtZSBmb3IgIl1JIiwgIl0gQ1RSTC1JIiwgIl1kIiwgIl1EIiBhbmQgIl0gQ1RSTC1EIi4KKworV2luMTY6IFdoZW4gbWF4aW1pemVkIGFuZCB0aGUgZm9udCBpcyBjaGFuZ2VkLCBkb24ndCBjaGFuZ2UgdGhlIHdpbmRvdyBzaXplLgorKFZpbmNlIE5lZ3JpKQorCitXaGVuICdsYnInIGlzIHNldCwgZGVsZXRpbmcgYSBibG9jayBvZiB0ZXh0IGNvdWxkIGxlYXZlIHRoZSBjdXJzb3IgaW4gdGhlCit3cm9uZyBwb3NpdGlvbi4KKworV2luMzI6IFdoZW4gb3BlbmluZyBhIGZpbGUgd2l0aCB0aGUgIkVkaXQgd2l0aCBWaW0iIHBvcHVwIG1lbnUgZW50cnksCit3aWxkY2FyZHMgd291bGQgY2F1c2UgdHJvdWJsZS4gIEFkZGVkIHRoZSAiLS1saXRlcmFsIiBhcmd1bWVudCB0byBhdm9pZAorZXhwYW5kaW5nIGZpbGUgbmFtZXMuCisKK1doZW4gdXNpbmcgImd2IiwgaXQgZGlkbid0IHJlc3RvcmUgdGhhdCAiJCIgd2FzIHVzZWQgaW4gVmlzdWFsIGJsb2NrIG1vZGUuCisKK1dpbjMyIEdVSTogV2hpbGUgd2FpdGluZyBmb3IgYSBzaGVsbCBjb21tYW5kIHRvIGZpbmlzaCwgdGhlIHdpbmRvdyB3YXNuJ3QKK3JlZHJhd24gYXQgYWxsLiAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorCitTeW50YXggaGlnaGxpZ2h0aW5nOiBBIG1hdGNoIHRoYXQgY29udGludWVzIG9uIGEgbmV4dCBsaW5lIGJlY2F1c2Ugb2YgYQorY29udGFpbmVkIHJlZ2lvbiBkaWRuJ3QgZW5kIHdoZW4gdGhhdCByZWdpb24gZW5kZWQuCisKK1RoZSAiOnMiIGNvbW1hbmQgZGlkbid0IGFsbG93IGZsYWdzIGxpa2UgJ2UnIGFuZCAnaScgcmlnaHQgYWZ0ZXIgaXQuCisKK1doZW4gdXNpbmcgIjpzIiB0byBzcGxpdCBhIGxpbmUsIG1hcmtzIHdlcmUgbW92ZWQgdG8gdGhlIG5leHQgbGluZS4gIFZpIGtlZXBzCit0aGVtIGluIHRoZSBmaXJzdCBsaW5lLgorCitXaGVuIHVzaW5nICI6biIgIjpyZXciLCB0aGUgcHJldmlvdXMgY29udGV4dCBtYXJrIHdhcyBhdCB0aGUgdG9wIG9mIHRoZSBmaWxlLAord2hpbGUgVmkgcHV0cyBpdCBpbiB0aGUgc2FtZSBwbGFjZSBhcyB0aGUgY3Vyc29yLiAgTWFkZSBpdCBWaSBjb21wYXRpYmxlLgorCitGaXhlZCBWaSBpbmNvbXBhdGliaWxpdHk6IFRleHQgd2FzIG5vdCBwdXQgaW4gcmVnaXN0ZXIgMSB3aGVuIHVzaW5nICJjIiBhbmQKKyJkIiB3aXRoIGEgbW90aW9uIGNoYXJhY3Rlciwgd2hlbiBkZWxldGluZyB3aXRoaW4gb25lIGxpbmUgd2l0aCBvbmUgb2YgdGhlCitjb21tYW5kczogJSAoICkgYDxjaGFyYWN0ZXI+IC8gPyBOIG4geyB9CisKK1dpbjMyIEdVSTogVGhlIHRvb2x0aXAgZm9yIHRlYXItb2ZmIGl0ZW1zIHJlbWFpbmVkIHdoZW4gdGhlIHRlYXItb2ZmIGl0ZW0gd2FzCitubyBsb25nZXIgc2VsZWN0ZWQuCisKK0dVSTogV2hlbiB0eXBpbmcgIjoiIGF0IHRoZSBtb3JlIHByb21wdCwgd291bGQgcmV0dXJuIHRvIE5vcm1hbCBtb2RlIGFuZCBub3QKK3JlZHJhdyB0aGUgc2NyZWVuLgorCitXaGVuIHN0YXJ0aW5nIFZpbSB3aXRoIGFuIGFyZ3VtZW50ICItYyBnL2F0L3AiIHRoZSBwcmludGVkIGxpbmVzIHdvdWxkCitvdmVyd3JpdGUgZWFjaCBvdGhlci4KKworQmVPUzogRGlkbid0IGNvbXBpbGUuICBDb25maWd1cmUgZGlkbid0IGFkZCB0aGUgb3NfYmVvcyBmaWxlcywgdGhlIFFOWCBjaGVjaworcmVtb3ZlZCB0aGVtLiAgVmFyaW91cyBjaGFuZ2VzIHRvIG9zX2Jlb3MuY2MuIChKb3NodWEgSGFiZXJtYW4pCitSZW1vdmVkIHRoZSBjaGVjayBmb3IgdGhlIGhhcmR3YXJlIHBsYXRmb3JtLCB0aGUgQmVCb3ggaGFzIG5vdCBiZWVuIHByb2R1Y2VkCitmb3IgYSBsb25nIHRpbWUgbm93LgorCitXaW4zMiBHVUk6IGRvbid0IHVzZSBhIG1lc3NhZ2UgYm94IHdoZW4gdGhlIHNoZWxsIHJldHVybnMgYW4gZXJyb3IgY29kZSwKK2Rpc3BsYXkgdGhlIG1lc3NhZ2UgaW4gdGhlIFZpbSB3aW5kb3cuCisKK01ha2VfbXZjLm1hayBhbHdheXMgaW5jbHVkZWQgIi9kZWJ1ZyIgZm9yIGxpbmtpbmcuICAiR1VJPW5vIiBhcmd1bWVudCBkaWRuJ3QKK3dvcmsuICBVc2UgIkRFQlVHPXllcyIgaW5zdGVhZCBvZiAiREVCVUc9MSIgdG8gbWFrZSBpdCBjb25zaXN0ZW50LiAoRGFuIFNoYXJwKQorCitXaGVuIGEgbGluZSBpbiB0aGUgdGFncyBmaWxlIGVuZGVkIGluIDsiIChubyBUQUIgZm9sbG93aW5nKSB0aGUgY29tbWFuZCB3b3VsZAorbm90IGJlIHJlY29nbml6ZWQgYXMgYSBzZWFyY2ggY29tbWFuZC4KKworWDExOiBUaGUgaW5wdXRNZXRob2QgcmVzb3VyY2UgbmV2ZXIgd29ya2VkLiAgRG9uJ3QgdXNlIHRoZSAibm9uZSIgaW5wdXQgbWV0aG9kCitmb3IgU0dJLCBpdCBhcHBhcmVudGx5IG1ha2VzIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaW4gSW5wdXQgbWV0aG9kIGRyb3BwZWQuCisKK0ZpeGVkIGluY29ycmVjdCB0ZXN0cyBpbiBvc19tYWMuaC4gKEF4ZWwgS2llbGhvcm4pCisKK1dpbjMyIGNvbnNvbGU6IFdoZW4gdGhlIGNvbnNvbGUgd2hlcmUgVmltIHJ1bnMgaW4gaXMgY2xvc2VkLCBWaW0gY291bGQgaGFuZyBpbgordHJ5aW5nIHRvIHJlc3RvcmUgdGhlIHdpbmRvdyBpY29uLiAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorCitXaGVuIHVzaW5nICI6M2NhbGwgZnVuYygpIiBvciAiOjMsM2NhbGwgZnVuYygpIHRoZSBsaW5lIG51bWJlciB3YXMgaWdub3JlZC4KKworV2hlbiAnc2hvd2JyZWFrJyBhbmQgJ2xpbmVicmVhaycgd2VyZSBib3RoIHNldCwgVmlzdWFsIGhpZ2hsaWdodGluZyBzb21ldGltZXMKK2NvbnRpbnVlZCB1bnRpbCB0aGUgZW5kIG9mIHRoZSBsaW5lLgorCitHVEsgR1VJOiBUZWFyb2ZmIGl0ZW1zIHdlcmUgYWRkZWQgZXZlbiB3aGVuICdndWlvcHRpb25zJyBkaWRuJ3QgY29udGFpbiAndCcKK3doZW4gc3RhcnRpbmcgdXAuCisKK01TLVdpbmRvd3M6IFdoZW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5IGluY2x1ZGVzIGEgIn4iLCBzZWFyY2hpbmcgZmlsZXMgd2l0aAorImdmIiBvciAiOmZpbmQiIGRpZG4ndCB3b3JrLiAgQSAiJCIgaW4gdGhlIGRpcmVjdG9yeSBoYWQgdGhlIHNhbWUgcHJvYmxlbS4KK0FkZGVkIG1jaF9oYXNfZXhwX3dpbGRjYXJkKCkgZnVuY3Rpb25zLgorCitXaGVuIHJlZHVjaW5nIHRoZSBWaW0gd2luZG93IGhlaWdodCB3aGlsZSBzdGFydGluZyB1cCwgd291bGQgZ2V0IGFuCitvdXQtb2YtbWVtb3J5IGVycm9yIG1lc3NhZ2UuCisKK1doZW4gZWRpdGluZyBhIHZlcnkgbG9uZyBzZWFyY2ggcGF0dGVybiwgJ2luY3NlYXJjaCcgY2F1c2VkIHRoZSByZWRyYXcgb2YgdGhlCitjb21tYW5kIGxpbmUgdG8gZmFpbC4KKworTW90aWYgR1VJOiBPbiBzb21lIHN5c3RlbXMgdGhlICJIZWxwIiBtZW51IHdvdWxkIG5vdCBiZSBvbiB0aGUgZmFyIHJpZ2h0LCBhcworaXQgc2hvdWxkIGJlLiAgT24gc29tZSBvdGhlciBzeXN0ZW1zIChlc3AuIElSSVgpIHRoZSBjb21tYW5kIGxpbmUgd291bGQgbm90Citjb21wbGV0ZWx5IHNob3cuICBTb2x1dGlvbiBpcyB0byBvbmx5IHJlc2l6ZSB0aGUgbWVudWJhciBmb3IgTGVzc3RpZi4KKworVXNpbmcgIiUiIGluIGEgbGluZSB0aGF0IGNvbnRhaW5zICJcXCIgdHdpY2UgZGlkbid0IHRha2UgY2FyZSBvZiB0aGUgcXVvdGVzCitwcm9wZXJseS4gIE5vdyBtYWtlIGEgZGlmZmVyZW5jZSBiZXR3ZWVuIFwiIGFuZCBcXCIuCisKK0ZvciBub24tVW5peCBzeXN0ZW1zIGEgZHVtbXkgZmlsZSBpcyBjcmVhdGVkIHdoZW4gZmluZGluZyBhIHN3YXAgbmFtZSB0bworZGV0ZWN0IGEgOC4zIGZpbGVzeXN0ZW0uICBXaGVuIHRoZXJlIGlzIGFuIGV4aXN0aW5nIHN3YXAgZmlsZSwgd291bGQgZ2V0IGEKK3dhcm5pbmcgZm9yIHRoZSBmaWxlIGJlaW5nIGNyZWF0ZWQgb3V0c2lkZSBvZiBWaW0uICBBbHNvLCB3aGVuIGNsb3NpbmcgdGhlIFZpbQord2luZG93IHRoZSBmaWxlIHdvdWxkIHJlbWFpbi4KKworTW90aWY6IFRoZSBtZW51IGhlaWdodCB3YXMgYWx3YXlzIGNvbXB1dGVkLCB1c2luZyBhICItbWVudWhlaWdodCIgYXJndW1lbnQKK3dhcyBzZXR0aW5nIHRoZSByb29tIGZvciB0aGUgY29tbWFuZCBsaW5lLiAgTm93IG1ha2UgY2xlYXIgdGhlIGFyZ3VtZW50IGlzIG5vdAorc3VwcG9ydGVkLgorCitGb3Igc29tZSAoRUJDRElDKSBzeXN0ZW1zLCBQT1VORCB3YXMgZXF1YWwgdG8gJyMnLiAgQWRkZWQgYW4gI2lmIGZvciB0aGF0IHRvCithdm9pZCBhIGR1cGxpY2F0ZSBjYXNlIGluIGEgc3dpdGNoLgorCitUaGUgR1VJIG1heSBoYXZlIHByb2JsZW1zIHdoZW4gZm9ya2luZy4gIEFsd2F5cyBjYWxsIF9leGl0KCkgaW5zdGVhZCBvZiBleGl0KCkKK2luIHRoZSBwYXJlbnQsIHRoZSBjaGlsZCB3aWxsIGNhbGwgZXhpdCgpLgorCitXaW4zMiBHVUk6IEFjY2VudGVkIGNoYXJhY3RlcnMgd2VyZSBvZnRlbiB3cm9uZyBpbiBkaWFsb2dzIGFuZCB0ZWFyb2ZmIG1lbnVzLgorTm93IHVzZSBDUF9BQ1AgaW5zdGVhZCBvZiBDUF9PRU1DUC4gKFZpbmNlIE5lZ3JpKQorCitXaGVuIGRpc3BsYXlpbmcgdGV4dCB3aXRoIHN5bnRheCBoaWdobGlnaHRpbmcgY2F1c2VzIGFuIGVycm9yIChlLmcuLCBydW5uaW5nCitvdXQgb2Ygc3RhY2spIHRoZSBzeW50YXggaGlnaGxpZ2h0aW5nIGlzIGRpc2FibGVkIHRvIGF2b2lkIGZ1cnRoZXIgbWVzc2FnZXMuCisKK1doZW4gYSBjb21tYW5kIGluIGEgLnZpbXJjIG9yIC5ndmltcmMgY2F1c2VzIGFuIEFUVEVOVElPTiBwcm9tcHQsIGFuZCBWaW0gd2FzCitzdGFydGVkIGZyb20gdGhlIGRlc2t0b3AgKG5vIHBsYWNlIHRvIGRpc3BsYXkgbWVzc2FnZXMpIGl0IHdvdWxkIGhhbmcuICBOb3cKK29wZW4gdGhlIEdVSSB3aW5kb3cgZWFybHkgdG8gYmUgYWJsZSB0byBkaXNwbGF5IHRoZSBtZXNzYWdlcyBhbmQgcG9wIHVwIHRoZQorZGlhbG9nLgorCisicjxDUj4iIG9uIGEgbXVsdGktYnl0ZSBjaGFyYWN0ZXIgZGVsZXRlZCBvbmx5IHRoZSBmaXJzdCBieXRlIG9mIHRoZQorY2hhcmFjdGVyLiAiM3I8Q1I+IiBkZWxldGVkIHRocmVlIGJ5dGVzIGluc3RlYWQgb2YgdGhyZWUgY2hhcmFjdGVycy4KKworV2hlbiBpbnRlcnJ1cHRpbmcgcmVhZGluZyBhIGZpbGUsIFZpIGNvbnNpZGVycyB0aGUgYnVmZmVyIG1vZGlmaWVkLiAgQWRkZWQgdGhlCisnaScgZmxhZyBpbiAnY3BvcHRpb25zJyBmbGFnIGZvciB0aGlzICh3ZSBkb24ndCB3YW50IGl0IG1vZGlmaWVkIHRvIGJlIGFibGUgdG8KK2RvICI6cSIpLgorCitXaGVuIHVzaW5nIGFuIGl0ZW0gaW4gJ2d1aWN1cnNvcicgdGhhdCBzdGFydHMgd2l0aCBhIGNvbG9uLCBWaW0gd291bGQgZ2V0CitzdHVjayBvciBjcmFzaC4KKworV2hlbiBwdXR0aW5nIGEgZmlsZSBtYXJrIGluIGEgaGVscCBmaWxlIGFuZCBsYXRlciBqdW1waW5nIGJhY2sgdG8gaXQsIHRoZQorb3B0aW9ucyB3b3VsZCBub3QgYmUgc2V0LiAgRXh0ZW5kZWQgdGhlIG1vZGVsaW5lIGluIGFsbCBoZWxwIGZpbGVzIHRvIG1ha2UKK3RoaXMgd29yayBiZXR0ZXIuCisKK1doZW4gYSBtb2RlbGluZSBjb250YWluZWQgIjo6IiB0aGUgbG9jYWwgb3B0aW9uIHZhbHVlcyB3b3VsZCBiZSBwcmludGVkLiAgTm93CitpZ25vcmUgaXQuCisKK1NvbWUgaGVscCBmaWxlcyBkaWQgbm90IHVzZSBhIDguMyBuYW1lcywgd2hpY2ggY2F1c2VzIHByb2JsZW1zIHdoZW4gdXNpbmcKK01TLURPUyB1bnppcC4gIFJlbmFtZWQgIm11bHRpYnl0ZS50eHQiIHRvICJtYnl0ZS50eHQiLCAicmlnaHRsZWZ0LnR4dCIgdG8KKyJyaWxlZnQudHh0IiwgInRhZ3NlYXJjaC50eHQiIHRvICJ0YWdzcmNoLnR4dCIsICJvc19yaXNjb3MudHh0IiB0bworIm9zX3Jpc2MudHh0Ii4KKworV2hlbiBWaXN1YWwgbW9kZSBpcyBibG9ja3dpc2UsIHVzaW5nICJpdyIgb3IgImF3IiBtYWRlIGl0IGNoYXJhY3Rlcndpc2UuICBUaGF0Citkb2Vzbid0IHNlZW0gcmlnaHQsIG9ubHkgZG8gdGhpcyB3aGVuIGluIGxpbmV3aXNlIG1vZGUuICBCdXQgdGhlbiBkbyBpdAorYWx3YXlzLCBub3Qgb25seSB3aGVuIHN0YXJ0IGFuZCBlbmQgb2YgVmlzdWFsIG1vZGUgYXJlIGVxdWFsLgorCitXaGVuIHVzaW5nICJ2aXciIG9uIGEgc2luZ2xlLWxldHRlciB3b3JkIGFuZCAnc2VsZWN0aW9uJyBpcyBleGNsdXNpdmUsIHdvdWxkCitub3QgaW5jbHVkZSB0aGUgd29yZC4KKworV2hlbiBmb3JtYXR0aW5nIHRleHQgZnJvbSBJbnNlcnQgbW9kZSwgdXNpbmcgQ1RSTC1PLCBjb3VsZCBtZXNzIHVwIHVuZG8KK2luZm9ybWF0aW9uLgorCitXaGlsZSB3cml0aW5nIGEgZmlsZSAoYWxzbyBmb3IgdGhlIGJhY2t1cCBmaWxlKSB0aGVyZSB3YXMgbm8gY2hlY2sgZm9yIGFuCitpbnRlcnJ1cHQgKGhpdHRpbmcgQ1RSTC1DKS4gIFZpbSBjb3VsZCBoYW5nIHdoZW4gd3JpdGluZyBhIGxhcmdlIGZpbGUgb3ZlciBhCitzbG93IG5ldHdvcmssIGFuZCBtb3ZpbmcgdGhlIG1vdXNlIGRpZG4ndCBtYWtlIGl0IGFwcGVhciAod2hlbiAnbW91c2VoaWRlJyBpcworc2V0KSBhbmQgdGhlIHNjcmVlbiB3YXNuJ3QgdXBkYXRlZCBpbiB0aGUgR1VJLiAgQWxzbyBhbGxvdyBpbnRlcnJ1cHRpbmcgd2hlbgorc3luY2luZyB0aGUgc3dhcCBmaWxlLCBpdCBjYW4gdGFrZSBhIGxvbmcgdGltZS4KKworV2hlbiB1c2luZyAiOm1rc2Vzc2lvbiIgd2hpbGUgdGhlcmUgaXMgaGVscCB3aW5kb3csIGl0IHdvdWxkIGxhdGVyIGJlIHJlc3RvcmVkCit0byB0aGUgcmlnaHQgZmlsZSBidXQgbm90IG1hcmtlZCBhcyBhIGhlbHAgYnVmZmVyLiAgIjpoZWxwIiB3b3VsZCB0aGVuIG9wZW4KK2Fub3RoZXIgd2luZG93LiAgTm93IHVzZSB0aGUgdmFsdWUgImhlbHAiIGZvciAnYnVmdHlwZScgdG8gbWFyayBhIGhlbHAgYnVmZmVyLgorCitUaGUgc2Vzc2lvbiBmaWxlIGNvbnRhaW5lZCBhYnNvbHV0ZSBwYXRoIG5hbWVzIGluIG9wdGlvbiB2YWx1ZXMsIHRoYXQgZG9lc24ndAord29yayB3aGVuIHRoZSBob21lIGRpcmVjdG9yeSBkZXBlbmRzIG9uIHRoZSBzaXR1YXRpb24uICBSZXBsYWNlIHRoZSBob21lCitkaXJlY3Rvcnkgd2l0aCB+LyB3aGVuIHBvc3NpYmxlLgorCitXaGVuIHVzaW5nICdzaG93YnJlYWsnIGEgVEFCIGp1c3QgYWZ0ZXIgdGhlIHNob3duIGJyZWFrIHdvdWxkIG5vdCBiZSBjb3VudGVkCitjb3JyZWN0bHksIHRoZSBjdXJzb3Igd291bGQgYmUgcG9zaXRpb25lZCB3cm9uZy4KKworV2l0aCAnc2hvd2JyZWFrJyBzZXQgdG8gIi0tLT4iIG9yICItLS0tLS0tPiIgYW5kICdzdHMnIHNldCB0byA0LCBpbnNlcnRpbmcKK3RhYnMgZGlkIG5vdCB3b3JrIHJpZ2h0LiAgQ291bGQgY2F1c2UgYSBjcmFzaC4gIEJhY2tzcGFjaW5nIHdhcyBhbHNvIHdyb25nLAorY291bGQgZ2V0IHN0dWNrIGF0IGEgbGluZSBicmVhay4KKworV2luMzI6IGNyYXNoZWQgd2hlbiB0ZWFyaW5nIG9mZiBhIG1lbnUgd2l0aCBvdmVyIDMwMCBpdGVtcy4KKworR1VJOiBBIG1lbnUgb3IgdG9vbGJhciBpdGVtIHdvdWxkIGFwcGVhciB3aGVuIG9ubHkgYSB0b29sdGlwIHdhcyBkZWZpbmVkIGZvcgoraXQuCisKK1doZW4gJ3Njcm9sbG9mZicgaXMgbm9uLXplcm8gYW5kICIkIiBpcyBpbiAnY3BvcHRpb25zJywgdXNpbmcgInMiIHdoaWxlIHRoZQorbGFzdCBsaW5lIG9mIHRoZSBmaWxlIGlzIHRoZSBmaXJzdCBsaW5lIG9uIHNjcmVlbiwgdGhlIHRleHQgd2Fzbid0IGRpc3BsYXllZC4KKworV2hlbiBydW5uaW5nICJhdXRvY29uZiIsIGRlbGV0ZSB0aGUgY29uZmlndXJlIGNhY2hlIHRvIGZvcmNlIHN0YXJ0aW5nIGNsZWFubHkKK3doZW4gY29uZmlndXJlIGlzIHJ1biBhZ2Fpbi4KKworV2hlbiBjaGFuZ2luZyB0aGUgTm9ybWFsIGNvbG9ycyBmb3IgY3Rlcm0sIHRoZSB2YWx1ZSBvZiAnYmFja2dyb3VuZCcgd2FzCitjaGFuZ2VkIGV2ZW4gd2hlbiB0aGUgR1VJIHdhcyB1c2VkLgorCitUaGUgd2FybmluZyBmb3IgYSBtaXNzaW5nIHZpbXJ1bi5leGUgd2FzIGFsd2F5cyBnaXZlbiBvbiBzdGFydHVwLCBidXQgc29tZQorcGVvcGxlIGp1c3QgZWRpdGluZyBhIGZpbGUgZG9uJ3QgbmVlZCB0byBiZSBib3RoZXJlZCBieSBpdC4gIE9ubHkgc2hvdyBpdCB3aGVuCit2aW1ydW4gd291bGQgYmUgdXNlZC4KKworV2hlbiB1c2luZyAiJSIgaW4gYSBtdWx0aWJ5dGUgdGV4dCBpdCBjb3VsZCBnZXQgY29uZnVzZWQgYnkgdHJhaWxieXRlcyB0aGF0CittYXRjaC4gKE11cmFva2EgVGFybykKKworVGVybWNhcCBlbnRyeSBmb3IgUmlzY09TIHdhcyB3cm9uZywgdXNpbmcgNyBhbmQgOCBpbiBvY3RhbCBjb2Rlcy4KKworQXRoZW5hOiBUaGUgdGl0bGUgb2YgYSBkaWFsb2cgd2luZG93IGFuZCB0aGUgZmlsZSBzZWxlY3RvciB3aW5kb3cgd2VyZSBub3QKK3NldC4gKERhdmlkIEhhcnJpc29uKQorCitUaGUgImh0bWxMaW5rIiBoaWdobGlnaHQgZ3JvdXAgc3BlY2lmaWVkIGNvbG9ycywgd2hpY2ggZ2l2ZXMgcHJvYmxlbXMgd2hlbgordXNpbmcgYSBjb2xvciBzY2hlbWUuICBBZGRlZCB0aGUgIlVuZGVybGluZWQiIGhpZ2hsaWdodCBncm91cCBmb3IgdGhpcy4KKworQWZ0ZXIgdXNpbmcgIjppbnNlcnQiIG9yICI6Y2hhbmdlIiB0aGUgJ1sgbWFyayB3b3VsZCBiZSBvbmUgbGluZSB0b28gbG93LgorCitXaGVuIGxvb2tpbmcgZm9yIHRoZSBmaWxlIG5hbWUgYWZ0ZXIgYSBtYXRjaCB3aXRoICdpbmNsdWRlJyBvbmUgY2hhcmFjdGVyIHdhcworc2tpcHBlZC4gIFNhbWUgZm9yICdkZWZpbmUnLgorCitXaW4zMiBhbmQgREpHUFA6IFdoZW4gZWRpdGluZyBhIGZpbGUgd2l0aCBhIHNob3J0IG5hbWUgaW4gYSBkaXJlY3RvcnksIGFuZAorZWRpdGluZyB0aGUgc2FtZSBmaWxlIGJ1dCB1c2luZyB0aGUgbG9uZyBuYW1lLCB3b3VsZCBlbmQgdXAgd2l0aCB0d28gYnVmZmVycworb24gdGhlIHNhbWUgZmlsZS4KKworImdmIiBvbiBhIGZpbGVuYW1lIHRoYXQgc3RhcnRzIHdpdGggIi4uLyIgb25seSB3b3JrZWQgd2hlbiB0aGUgZmlsZSBiZWluZworZWRpdGVkIGlzIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4gIEFuIGluY2x1ZGUgZmlsZSBzZWFyY2ggZGlkbid0IHdvcmsKK3Byb3Blcmx5IGZvciBmaWxlcyBzdGFydGluZyB3aXRoICIuLi8iIG9yICIuIi4gIE5vdyBzZWFyY2ggYm90aCByZWxhdGl2ZSB0bwordGhlIGZpbGUgYW5kIHRvIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4KKworV2hlbiAncHJpbnRoZWFkZXInLCAndGl0bGVzdHJpbmcnLCAnaWNvbnN0cmluZycsICdydWxlcmZvcm1hdCcgb3IgJ3N0YXR1c2xpbmUnCitjb250YWluZWQgIiV7IiBidXQgbm8gZm9sbG93aW5nICJ9IiBtZW1vcnkgd2FzIGNvcnJ1cHRlZCBhbmQgYSBjcmFzaCBjb3VsZAoraGFwcGVuLgorCisiOjBhcHBlbmQiIGFuZCB0aGVuIGluc2VydGluZyB0d28gbGluZXMgZGlkIG5vdCByZWRyYXcgdGhlIGJsYW5rIGxpbmVzIHRoYXQKK3dlcmUgc2Nyb2xsZWQgYmFjayBkb3duLgorCitXaGVuIHVzaW5nIGluc2VydCBtb2RlIGNvbXBsZXRpb24gaW4gYSBuYXJyb3cgd2luZG93LCB0aGUgbWVzc2FnZSBjYXVzZWQgYQorc2Nyb2xsIHVwLiAgTm93IHNob3J0ZW4gdGhlIG1lc3NhZ2UgaWYgaXQgZG9lc24ndCBmaXQgYW5kIGF2b2lkIHdyaXRpbmcgdGhlCitydWxlciBvdmVyIHRoZSBtZXNzYWdlLgorCitYSU0gc3RpbGwgZGlkbid0IHdvcmsgY29ycmVjdGx5IG9uIHNvbWUgc3lzdGVtcywgZXNwZWNpYWxseSBTR0kvSVJJWC4gIEFkZGVkCit0aGUgJ2ltZGlzYWJsZScgb3B0aW9uLCB3aGljaCBpcyBzZXQgYnkgZGVmYXVsdCBmb3IgdGhhdCBzeXN0ZW0uCisKK1BhdGNoIDYuMGF3LjAwOAorUHJvYmxlbTogICAgV2hlbiB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIGEgZmlsZSBuYW1lIGlzIG92ZXIgMTI3LCB0aGUgQnVmZmVycworCSAgICBtZW51IGVudHJ5IHdvdWxkIGdldCBhIG5lZ2F0aXZlIHByaW9yaXR5IGFuZCBjYXVzZSBwcm9ibGVtcy4KK1NvbHV0aW9uOiAgIFJlZHVjZSB0aGUgbXVsdGlwbGllciBmb3IgdGhlIGZpcnN0IGNoYXJhY3RlciB3aGVuIGNvbXB1dGluZworCSAgICB0aGUgaGFzaCB2YWx1ZSBmb3IgYSBCdWZmZXJzIG1lbnUgZW50cnkuCitGaWxlczoJICAgIHJ1bnRpbWUvbWVudS52aW0KKworUGF0Y2ggNi4wYXcuMDEwCitQcm9ibGVtOiAgICBXaW4zMjogIjpicm93c2UgZWRpdCBkaXIvZGlyIiBkaWRuJ3Qgd29yay4gKFZpa2FzKQorU29sdXRpb246ICAgQ2hhbmdlIHNsYXNoZXMgdG8gYmFja3NsYXNoZXMgaW4gdGhlIGRpcmVjdG9yeSBwYXNzZWQgdG8gdGhlIGZpbGUKKwkgICAgYnJvd3Nlci4KK0ZpbGVzOgkgICAgc3JjL2d1aV93NDguYworCitBdGhlbmEgZmlsZSBicm93c2VyOiBPbiBzb21lIHN5c3RlbXMgd2NzdG9tYnMoKSBjYW4ndCBiZSB1c2VkIHRvIGdldCB0aGUKK2xlbmd0aCBvZiBhIG11bHRpLWJ5dGUgc3RyaW5nLiAgVXNlIHRoZSBtYXhpbXVtIGxlbmd0aCB0aGVuLiAoWWFzdWhpcm8KK01hdHN1bW90bykKKworUGF0Y2ggNi4wYXguMDAxCitQcm9ibGVtOiAgICBXaGVuICdwYXRjaG1vZGUnIGlzIHNldCwgYXBwZW5kaW5nIHRvIGEgZmlsZSBnaXZlcyBhbiBlbXB0eQorCSAgICBvcmlnaW5hbCBmaWxlLiAoRWQgUmFsc3RvbikKK1NvbHV0aW9uOiAgIEFsc28gbWFrZSBhIGJhY2t1cCBjb3B5IHdoZW4gYXBwZW5kaW5nIGFuZCAncGF0Y2htb2RlJyBpcyBzZXQuCitGaWxlczoJICAgIHNyYy9maWxlaW8uYworCitQYXRjaCA2LjBheC4wMDIKK1Byb2JsZW06ICAgIFdoZW4gJ3BhdGNobW9kZScgaXMgc2V0LCBhcHBlbmRpbmcgdG8gYSBjb21wcmVzc2VkIGZpbGUgZ2l2ZXMgYW4KKwkgICAgdW5jb21wcmVzc2VkIG9yaWdpbmFsIGZpbGUuIChFZCBSYWxzdG9uKQorU29sdXRpb246ICAgQ3JlYXRlIHRoZSBvcmlnaW5hbCBmaWxlIGJlZm9yZSBkZWNvbXByZXNzaW5nLgorRmlsZXM6CSAgICBydW50aW1lL3BsdWdpbi9nemlwLnZpbQorCitQYXRjaCA2LjBheC4wMDUKK1Byb2JsZW06ICAgIEF0aGVuYSBmaWxlIHNlbGVjdG9yIGtlZXBzIHRoZSB0aXRsZSBvZiB0aGUgZmlyc3QgaW52b2NhdGlvbi4KK1NvbHV0aW9uOiAgIFNldCB0aGUgdGl0bGUgZWFjaCB0aW1lIHRoZSBmaWxlIHNlbGVjdG9yIGlzIG9wZW5lZC4gKERhdmlkCisJICAgIEhhcnJpc29uKQorRmlsZXM6CSAgICBzcmMvZ3VpX2F0X2ZzLmMKKworUGF0Y2ggNi4wYXguMDA3CitQcm9ibGVtOiAgICBXaGVuIHVzaW5nIEdQTSAobW91c2UgZHJpdmVyIGluIGEgTGludXggY29uc29sZSkgYSBkb3VibGUgY2xpY2sgaXMKKwkgICAgaW50ZXJwcmV0ZWQgYXMgYSBzY3JvbGwgd2hlZWwgY2xpY2suCitTb2x1dGlvbjogICBDaGVjayBpZiBHUE0gaXMgYmVpbmcgdXNlZCB3aGVuIGRlY2lkaW5nIGlmIGEgbW91c2UgZXZlbnQgaXMgZm9yCisJICAgIHRoZSBzY3JvbGwgd2hlZWwuCitGaWxlczoJICAgIHNyYy90ZXJtLmMKKworUGF0Y2ggNi4wYXguMDEwCitQcm9ibGVtOiAgICBUaGUgRWRpdC5TYXZlIG1lbnUgYW5kIHRoZSBTYXZlIHRvb2xiYXIgYnV0dG9uIGRpZG4ndCB3b3JrIHdoZW4KKwkgICAgdGhlIGJ1ZmZlciBoYXMgbm8gZmlsZSBuYW1lLgorU29sdXRpb246ICAgVXNlIGEgZmlsZSBicm93c2VyIHRvIGFzayBmb3IgYSBmaWxlIG5hbWUuICBBbHNvIGZpeCB0aGUgdG9vbGJhcgorCSAgICBGaW5kIGl0ZW0gaW4gVmlzdWFsIG1vZGUuCitGaWxlczoJICAgIHJ1bnRpbWUvbWVudS52aW0KKworUGF0Y2ggNi4wYXguMDEyCitQcm9ibGVtOiAgICBXaGVuICdjcG9wdGlvbnMnIGNvbnRhaW5zICIkIiwgYnJlYWtpbmcgYSBsaW5lIGZvciAndGV4dHdpZHRoJworCSAgICBkb2Vzbid0IHJlZHJhdyBwcm9wZXJseS4gKFN0ZWZhbiBTY2h1bHplKQorU29sdXRpb246ICAgUmVtb3ZlIHRoZSBkb2xsYXIgYmVmb3JlIGJyZWFraW5nIHRoZSBsaW5lLgorRmlsZXM6CSAgICBzcmMvZWRpdC5jCisKK1BhdGNoIDYuMGF4LjAxNAorUHJvYmxlbTogICAgV2luMzI6IE9uIFdpbmRvd3MgOTggIjptYWtlIC1mIGZpbGUiIGRvZXNuJ3Qgd29yayB3aGVuICdzaGVsbCcgaXMKKwkgICAgImNvbW1hbmQuY29tIiBhbmQgJ21ha2VwcmcnIGlzICJubWFrZSIuICBUaGUgZW52aXJvbm1lbnQgaXNuJ3QKKwkgICAgcGFzc2VkIG9uIHRvICJubWFrZSIuCitTb2x1dGlvbjogICBBbHNvIHVzZSB2aW1ydW4uZXhlIHdoZW4gcmVkaXJlY3RpbmcgdGhlIG91dHB1dCBvZiBhIGNvbW1hbmQuCitGaWxlczoJICAgIHNyYy9vc193aW4zMi5jCisKK1BhdGNoIDYuMGF4LjAxNgorUHJvYmxlbTogICAgVGhlIHZlcnNpb24gbnVtYmVyIHdhcyByZXBvcnRlZCB3cm9uZyBpbiB0aGUgaW50cm8gc2NyZWVuLgorU29sdXRpb246ICAgQ2hlY2sgZm9yIGEgdmVyc2lvbiBudW1iZXIgd2l0aCB0d28gYWRkaXRpb25hbCBsZXR0ZXJzLgorRmlsZXM6CSAgICBzcmMvdmVyc2lvbi5jCisKK1BhdGNoIDYuMGF4LjAxOQorUHJvYmxlbTogICAgV2hlbiBzY3JvbGxpbmcgYSB3aW5kb3cgd2l0aCBmb2xkcyB1cHdhcmRzLCBzd2l0Y2hpbmcgdG8gYW5vdGhlcgorCSAgICB2ZXJ0aWNhbGx5IHNwbGl0IHdpbmRvdyBhbmQgYmFjayBtYXkgbm90IHVwZGF0ZSB0aGUgc2Nyb2xsYmFyLgorU29sdXRpb246ICAgTGltaXQgd19ib3RsaW5lIHRvIHRoZSBudW1iZXIgb2YgbGluZXMgaW4gdGhlIGJ1ZmZlciBwbHVzIG9uZS4KK0ZpbGVzOgkgICAgc3JjL21vdmUuYworCisKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorVkVSU0lPTiA2LjEJCQkJCQkqdmVyc2lvbi02LjEqCisKK1RoaXMgc2VjdGlvbiBpcyBhYm91dCBpbXByb3ZlbWVudHMgbWFkZSBiZXR3ZWVuIHZlcnNpb24gNi4wIGFuZCA2LjEuCisKK1RoaXMgaXMgYSBidWctZml4IHJlbGVhc2UsIHRoZXJlIGFyZSBub3QgcmVhbGx5IGFueSBuZXcgZmVhdHVyZXMuCisKKworQ2hhbmdlZAkJCQkJCQkqY2hhbmdlZC02LjEqCistLS0tLS0tCisKKydpbWluc2VydCcgYW5kICdpbXNlYXJjaCcgYXJlIG5vIGxvbmdlciBzZXQgYXMgYSBzaWRlIGVmZmVjdCBvZiBkZWZpbmluZyBhCitsYW5ndWFnZS1tYXBwaW5nIHVzaW5nICI6bG1hcCIuCisKKworQWRkZWQJCQkJCQkJKmFkZGVkLTYuMSoKKy0tLS0tCisKK1N5bnRheCBmaWxlczoKK2FtcGwJCUFNUEwgKERhdmlkIEtyaWVmKQorYW50CQlBbnQgKEpvaGFubmVzIFplbGxuZXIpCitiYWFuCQlCYWFuIChIZXIgdmFuIGRlIFZsaWVydCkKK2NzCQlDIyAoSm9oYW5uZXMgWmVsbG5lcikKK2xpZmVsaW5lcwlMaWZlbGluZXMgKFBhdHJpY2sgVGV4aWVyKQorbHNjcmlwdAkJTG90dXNTY3JpcHQgKFRhcnluIEVhc3QpCittb28JCU1PTyAoVGltbyBGcmVuYXkpCituc2lzCQlOU0lTIChBbGV4IEpha3VzaGV2KQorcHBkCQlQb3N0c2NyaXB0IFByaW50ZXIgRGVzY3JpcHRpb24gKEJqb2VybiBKYWNrZSkKK3JwbAkJUlBMLzIgKEpvZWwgQmVydHJhbmQpCitzY2lsYWIJCVNjaWxhYiAoQmVub2l0IEhhbWVsaW4pCitzcGxpbnQJCVNwbGludCAoUmFsZiBXaWxkZW5odWVzKQorc3FsagkJU1FMSiAoQW5kcmVhcyBGaXNjaGJhY2gpCit3dmRpYWwJCVd2RGlhbCAoUHJhaGxhZCBWYWlkeWFuYXRoYW4pCit4Zjg2Y29uZglYRnJlZTg2IGNvbmZpZyAoTmlrb2xhaSBXZWlidWxsKQoreG1vZG1hcAkJWG1vZG1hcCAoTmlrb2xhaSBXZWlidWxsKQoreHNsdAkJWHNsdCAoSm9oYW5uZXMgWmVsbG5lcikKK21vbmsJCU1vbmsgKE1pa2UgTGl0aGVybGFuZCkKK3hzZAkJWHNkIChKb2hhbm5lcyBaZWxsbmVyKQorY2RsCQlDREwgKFJhdWwgU2VndXJhIEFjZXZlZG8pCitzZW5kcHIJCVNlbmQtcHIgKEhlbmRyaWsgU2Nob2x6KQorCitBZGRlZCBpbmRlbnQgZmlsZSBmb3IgU2NoZW1lLiAoRG9yYWkgU2l0YXJhbSkKK0FkZGVkIGluZGVudCBmaWxlIGZvciBQcm9sb2cuIChLb250cmEgR2VyZ2VseSkKK0FkZGVkIGluZGVudCBmaWxlIGZvciBQb3ZyYXkgKERhdmlkIE5lY2FzKQorQWRkZWQgaW5kZW50IGZpbGUgZm9yIElETCAoQWxla3NhbmRhciBKZWxlbmFrKQorQWRkZWQgQyMgaW5kZW50IGFuZCBmdHBsdWdpbiBzY3JpcHRzLgorCitBZGRlZCBVa3JhaW5pYW4gbWVudSB0cmFuc2xhdGlvbnMuIChCb2hkYW4gVmxhc3l1aykKK0FkZGVkIEFTQ0lJIHZlcnNpb24gb2YgdGhlIEN6ZWNoIG1lbnVzLiAoSmlyaSBCcmV6aW5hKQorCitBZGRlZCBTaW1wbGlmaWVkIENoaW5lc2UgdHJhbnNsYXRpb24gb2YgdGhlIHR1dG9yLiAoTWVuZGVsIEwgQ2hhbikKKworQWRkZWQgUnVzc2lhbiBrZXltYXAgZm9yIHlhd2VydHkga2V5Ym9hcmQuCisKK0FkZGVkIGFuIGV4cGxhbmF0aW9uIG9mIHVzaW5nIHRoZSB2aW1yYyBmaWxlIGluIHRoZSB0dXRvci4KK0NoYW5nZWQgdHV0b3IudmltIHRvIGdldCB0aGUgcmlnaHQgZW5jb2RpbmcgZm9yIHRoZSBUYWl3YWluZXNlIHR1dG9yLgorCitBZGRlZCBSdXNzaWFuIHR1dG9yLiAoQW5kcmV5IEtpc2VsZXYpCitBZGRlZCBQb2xpc2ggdHV0b3IuIChNaWtvbGFqIE1hY2hvd3NraSkKKworQWRkZWQgZGFya2JsdWUgY29sb3Igc2NoZW1lLiAoQm9oZGFuIFZsYXN5dWspCisKK1doZW4gcGFja2luZyB0aGUgZG9zIGxhbmd1YWdlIGFyY2hpdmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZSB0aGUgLm1vIGZpbGVzCit0aGF0IGFyZSByZXF1aXJlZC4KKworSW1wcm92ZWQgTlNJUyBzY3JpcHQgdG8gc3VwcG9ydCBOU0lTIDE4MC4gIEFkZGVkIGljb25zIGZvciB0aGUKK2VuYWJsZWQvZGlzYWJsZWQgc3RhdHVzLiAoTWlyZWsgUHJ1Y2huaWspCisKK2NwMTI1MCB2ZXJzaW9uIG9mIHRoZSBTbG92YWsgbWVzc2FnZSB0cmFuc2xhdGlvbnMuCisKK0NvbXBpbGVyIHBsdWdpbnMgZm9yIElSSVggY29tcGlsZXJzLiAoRGF2aWQgSGFycmlzb24pCisKKworRml4ZWQJCQkJCQkJKmZpeGVkLTYuMSoKKy0tLS0tCisKK1RoZSBsaWNlbnNlIHRleHQgd2FzIHVwZGF0ZWQgdG8gbWFrZSB0aGUgbWVhbmluZyBjbGVhcmVyIGFuZCBtYWtlIGl0Citjb21wYXRpYmxlIHdpdGggdGhlIEdOVSBHUEwuICBPdGhlcndpc2UgZGlzdHJpYnV0b3JzIGhhdmUgYSBwcm9ibGVtIHdoZW4KK2xpbmtpbmcgVmltIHdpdGggYSBHUEwnZWQgbGlicmFyeS4KKworV2hlbiBpbnN0YWxsaW5nIHRoZSAibGVzcy5zaCIgc2NyaXB0IGl0IHdhcyBub3QgbWFkZSBleGVjdXRhYmxlLiAoQ2h1Y2sgQmVyZykKKworV2luMzI6IFRoZSAiOSIga2V5IG9uIHRoZSBudW1wYWQgd2Fzbid0IHdvcmtpbmcuIChKdWxpYW4gS2lucmFpZCkKKworVGhlIE5TSVMgaW5zdGFsbCBzY3JpcHQgZGlkbid0IHdvcmsgd2l0aCBOU0lTIDEuODAgb3IgbGF0ZXIuICBBbHNvIGFkZAorVmltLXNwZWNpZmljIGljb25zLiAoUHJ1Y2huaWspCisKK1RoZSBzY3JpcHQgZm9yIGNvbnZlcnNpb24gdG8gSFRNTCBjb250YWluZWQgYW4gImlmIiBpbiB0aGUgd3JvbmcgcGxhY2UuCisoTWljaGFlbCBHZWRkZXMpCisKK0FsbG93IHVzaW5nICI6YXNjaWkiIGluIHRoZSBzYW5kYm94LCBpdCdzIGhhcm1sZXNzLgorCitSZW1vdmVkIGNyZWF0KCkgZnJvbSBvc2RlZjIuaC5pbiwgaXQgd2Fzbid0IHVzZWQgYW5kIG1heSBjYXVzZSBhIHByb2JsZW0gd2hlbgoraXQncyByZWRlZmluZWQgdG8gY3JlYXQ2NCgpLgorCitUaGUgdGV4dCBmaWxlcyBpbiB0aGUgVmlzVmltIGRpcmVjdG9yeSB3ZXJlIGluICJkb3MiIGZvcm1hdC4gIFRoaXMgY2F1c2VkCitwcm9ibGVtcyB3aGVuIGFwcGx5aW5nIGEgcGF0Y2guICBOb3cga2VlcCB0aGVtIGluICJ1bml4IiBmb3JtYXQgYW5kIGNvbnZlcnQKK3RoZW0gdG8gImRvcyIgZm9ybWF0IG9ubHkgZm9yIHRoZSBQQyBhcmNoaXZlcy4KKworQWRkIHJ1YnkgZmlsZXMgdG8gdGhlIGRvcyBzb3VyY2UgYXJjaGl2ZSwgdGhleSBjYW4gYmUgdXNlZCBieSBNYWtlX212Yy5tYWsuCisoTWlyZWsgUHJ1Y2huaWspCisKKyJjcCAtZiIgZG9lc24ndCB3b3JrIG9uIGFsbCBzeXN0ZW1zLiAgQ2hhbmdlICJjcCAtZiIgaW4gdGhlIE1ha2VmaWxlIHRvICJybQorLWYiIGFuZCAiY3AiLgorCitEaWRuJ3QgY29tcGlsZSBvbiBhIENvbXBhcSBUYW5kZW0gSGltYWxheWEgT1NTLiAoTWljaGFlbCBBLiBCZW56aW5nZXIpCisKK1RoZSBHVEsgZmlsZSBzZWxlY3Rpb24gZGlhbG9nIGRpZG4ndCBpbmNsdWRlIHRoZSAiQ3JlYXRlIERpciIsICJEZWxldGUgRmlsZSIKK2FuZCAiUmVuYW1lIEZpbGUiIGJ1dHRvbnMuCisKK1doZW4gZG9pbmcgIjpicm93c2Ugc291cmNlIiB0aGUgZGlhbG9nIGhhcyB0aGUgdGl0bGUgIlJ1biBNYWNybyIuICBCZXR0ZXIKK3dvdWxkIGJlICJTb3VyY2UgVmltIHNjcmlwdCIuIChZZWdhcHBhbiBMYWtzaG1hbmFuKQorCitXaW4zMjogRG9uJ3QgdXNlIHRoZSBwcmludGVyIGZvbnQgYXMgZGVmYXVsdCBmb3IgdGhlIGZvbnQgZGlhbG9nLgorCisibWFrZSBkb3NsYW5nIiBkaWRuJ3Qgd29yayB3aGVuIGNvbmZpZ3VyZSBkaWRuJ3QgcnVuICh5ZXQpLiAgU2V0ICRNQUtFTU8gdG8KKyJ5ZXMiLiAoTWlyZWsgUHJ1Y2huaWspCisKK1RoZSBUb29sQmFyIFRhZ0p1bXAgaXRlbSB1c2VkICJnXSIsIHdoaWNoIHByb21wdHMgZm9yIGEgc2VsZWN0aW9uIGV2ZW4gd2hlbgordGhlcmUgaXMgb25seSBvbmUgbWF0Y2hpbmcgdGFnLiAgVXNlICJnPEMtXT4iIGluc3RlYWQuCisKK1RoZSBtaW5nIG1ha2VmaWxlIGZvciBtZXNzYWdlIHRyYW5zbGF0aW9ucyBkaWRuJ3QgaGF2ZSB0aGUgcmlnaHQgbGlzdCBvZgorZmlsZXMuCisKK1RoZSBNUy1XaW5kb3dzIDMuMSB2ZXJzaW9uIGNvbXBsYWlucyBhYm91dCBMSUJJTlRMLkRMTCBub3QgZm91bmQuICBDb21waWxlCit0aGlzIHZlcnNpb24gd2l0aG91dCBtZXNzYWdlIHRyYW5zbGF0aW9ucy4KKworVGhlIEJvcmxhbmQgNSBtYWtlZmlsZSBjb250YWluZWQgYSBjaGVjayBmb3IgUnVieSB3aGljaCBpcyBubyBsb25nZXIgbmVlZGVkLgorVGhlIFVSTHMgZm9yIHRoZSBUQ0wgbGlicmFyeSB3YXMgb3V0ZGF0ZWQuIChEYW4gU2hhcnApCisKK1RoZSBldmlzby5wcyBmaWxlIHdhcyBtaXNzaW5nIGZyb20gdGhlIERPUyBydW50aW1lIGFyY2hpdmUsIGl0J3MgbmVlZGVkIGZvcgorcHJpbnRpbmcgUG9zdFNjcmlwdCBpbiB0aGUgMzJiaXQgRE9TIHZlcnNpb24uCisKK0luIG1lbnUgZmlsZXMgIjpzY3JpcHRlbmNvZGluZyIgd2FzIHVzZWQgaW4gYSB3cm9uZyB3YXkgYWZ0ZXIgcGF0Y2ggNi4xYS4wMzIKK05vdyB1c2UgIjpzY3JpcHRlbmNvZGluZyIgaW4gdGhlIGZpbGUgd2hlcmUgdGhlIHRyYW5zbGF0aW9ucyBhcmUgZ2l2ZW4uICBEbwordGhlIHNhbWUgZm9yIGFsbCBtZW51cyBpbiBsYXRpbjEgZW5jb2RpbmcuCisKK0luY2x1ZGVkIGEgbG90IG9mIGZpeGVzIGZvciB0aGUgTWFjaW50b3NoLCBtb3N0bHkgdG8gbWFrZSBpdCB3b3JrIHdpdGggQ2FyYm9uLgorKERhbnkgU3RBbWFudCwgQXhlbCBLaWVsaG9ybiwgQmVuamkgRmlzaGVyKQorCitJbXByb3ZlZCB0aGUgdmltdHV0b3Igc2hlbGwgc2NyaXB0IHRvIHVzZSAkVE1QRElSIHdoZW4gaXQgZXhpc3RzLCBhbmQgZGVsZXRlCit0aGUgY29waWVkIGZpbGUgd2hlbiBleGl0aW5nIGluIGFuIGFibm9ybWFsIHdheS4gKE1heCBJc2NoZW5rbykKKworV2hlbiAiaWNvbnYuZGxsIiBjYW4ndCBiZSBmb3VuZCwgdHJ5IHVzaW5nICJsaWJpY29udi5kbGwiLgorCitXaGVuIGVuY3J5cHRpb24gaXMgdXNlZCwgZmlsdGVyaW5nIHdpdGggYSBzaGVsbCBjb21tYW5kIHdhc24ndCBwb3NzaWJsZS4KKworREpHUFA6ICI6Y2QgYzoiIGFsd2F5cyBmYWlsZWQsIGNhbid0IGdldCBwZXJtaXNzaW9ucyBmb3IgImM6Ii4KK1dpbjMyOiAiOmNkIGM6LyIgZmFpbGVkIGlmIHRoZSBwcmV2aW91cyBjdXJyZW50IGRpcmVjdG9yeSBvbiBjOiBoYWQgYmVjb21lCitpbnZhbGlkLgorCitESkdQUDogU2hpZnQtRGVsIGFuZCBEZWwgYm90aCBwcm9kdWNlIFwzMTZcMTIzLiAgRGVmYXVsdCBtYXBwaW5nIGZvciBEZWwgaXMKK3dyb25nLiAgRGlzYWJsZWQgaXQuCisKK0RlcGVuZGVuY2llcyBvbiBoZWFkZXIgZmlsZXMgaW4gTWluZ1cgbWFrZWZpbGUgd2FzIHdyb25nLgorCitXaW4zMjogRG9uJ3QgdXNlIEFDTCBzdHVmZiBmb3IgTVNWQyA0LjIsIGl0J3Mgbm90IHN1cHBvcnRlZC4gKFdhbHRlciBCcmlzY29lKQorCitXaW4zMiB3aXRoIEJvcmxhbmQ6IGJjYy5jZmcgd2FzIGNhY2hpbmcgdGhlIHZhbHVlIGZvciAkKEJPUiksIGJ1dCBwcm92aWRpbmcgYQorZGlmZmVyZW50IGFyZ3VtZW50IHRvIG1ha2UgZGlkbid0IHJlZ2VuZXJhdGUgaXQuCisKK1dpbjMyIHdpdGggTVNWQzogTWFrZV9pdmMubWFrIGdlbmVyYXRlcyBhIG5ldyBpZl9vbGUuaCBpbiBhIGRpZmZlcmVudAorZGlyZWN0b3J5LCB0aGUgaWZfb2xlLmggaW4gdGhlIHNyYyBkaXJlY3RvcnkgbWF5IGJlIHVzZWQgaW5zdGVhZC4gIERlbGV0ZSB0aGUKK2Rpc3RyaWJ1dGVkIGZpbGUuCisKK1doZW4gYSB3aW5kb3cgaXMgdmVydGljYWxseSBzcGxpdCBhbmQgdGhlbiAiOmJhbGwiIGlzIHVzZWQsIHRoZSB3aW5kb3cgbGF5b3V0CitpcyBtZXNzZWQgdXAsIGNhbiBjYXVzZSBhIGNyYXNoLiAoTXVyYW9rYSBUYXJvKQorCitXaGVuICdpbnNlcnRtb2RlJyBpcyBzZXQsIHVzaW5nIEZpbGUvTmV3IG1lbnUgYW5kIHRoZW4gZG91YmxlIGNsaWNraW5nLCAiaSIgaXMKK3Nvb24gaW5zZXJ0ZWQuIChNZXJsaW4gSGFuc2VuKQorCitXaGVuIFNlbGVjdCBtb2RlIGlzIGFjdGl2ZSBhbmQgdXNpbmcgdGhlIEJ1ZmZlcnMgbWVudSB0byBzd2l0Y2ggdG8gYW5vdGhlcgorYnVmZmVyLCBhbiBvbGQgc2VsZWN0aW9uIGNvbWVzIGJhY2suICBSZXNldCBWSXN1YWxfcmVzZWxlY3QgZm9yIGEgIjpidWZmZXIiCitjb21tYW5kLgorCitXaGVuIFNlbGVjdCBtb2RlIGlzIGFjdGl2ZSBhbmQgJ2luc2VydG1vZGUnIGlzIHNldCwgdXNpbmcgdGhlIEJ1ZmZlcnMgbWVudSB0bworc3dpdGNoIHRvIGFub3RoZXIgYnVmZmVyLCBkaWQgbm90IHJldHVybiB0byBJbnNlcnQgbW9kZS4gIE1ha2Ugc3VyZQorInJlc3RhcnRfZWRpdCIgaXMgc2V0LgorCitXaGVuIGRvdWJsZSBjbGlja2luZyBvbiB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIGEgd29yZCB3aGlsZSAnc2VsZWN0aW9uJyBpcworImV4Y2x1c2l2ZSIgZGlkbid0IHNlbGVjdCB0aGF0IHdvcmQuCisKKworUGF0Y2ggNi4wLjAwMQorUHJvYmxlbTogICAgTG9hZGluZyB0aGUgc2gudmltIHN5bnRheCBmaWxlIGNhdXNlcyBlcnJvciBtZXNzYWdlcyAuIChDb3Jpbm5hCisJICAgIFZpbnNjaGVuKQorU29sdXRpb246ICAgQWRkIGFuICJpZiIuIChDaGFybGVzIENhbXBiZWxsKQorRmlsZXM6CSAgICBydW50aW1lL3N5bnRheC9zaC52aW0KKworUGF0Y2ggNi4wLjAwMgorUHJvYmxlbTogICAgVXNpbmcgYSAnQCcgaXRlbSBpbiAndmltaW5mbycgZG9lc24ndCB3b3JrLiAoTWFya28gTGVpcGVydCkKK1NvbHV0aW9uOiAgIEFkZCAnQCcgdG8gdGhlIGxpc3Qgb2YgYWNjZXB0ZWQgaXRlbXMuCitGaWxlczoJICAgIHNyYy9vcHRpb24uYworCitQYXRjaCA2LjAuMDAzCitQcm9ibGVtOiAgICBUaGUgY29uZmlndXJlIGNoZWNrIGZvciBBQ0xzIG9uIEFJWCBkb2Vzbid0IHdvcmsuCitTb2x1dGlvbjogICBGaXggdGhlIHRlc3QgcHJvZ3JhbSBzbyB0aGF0IGl0IGNvbXBpbGVzLiAoVG9tYXMgT2dyZW4pCitGaWxlczoJICAgIHNyYy9jb25maWd1cmUuaW4sIHNyYy9hdXRvL2NvbmZpZ3VyZQorCitQYXRjaCA2LjAuMDA0CitQcm9ibGVtOiAgICBUaGUgZmluZC9yZXBsYWNlIGRpYWxvZyBkb2Vzbid0IHJldXNlIGEgcHJldmlvdXMgYXJndW1lbnQKKwkgICAgcHJvcGVybHkuCitTb2x1dGlvbjogICBBZnRlciByZW1vdmluZyBhICJcViIgdGVybWluYXRlIHRoZSBzdHJpbmcuIChad2FuZSBNd2Fpa2FtYm8pCitGaWxlczoJICAgIHNyYy9ndWkuYworCitQYXRjaCA2LjAuMDA1CitQcm9ibGVtOiAgICBJbiBJbnNlcnQgbW9kZSwgIkNUUkwtTyA6bHMiIGhhcyBhIGRlbGF5IGJlZm9yZSByZWRyYXdpbmcuCitTb2x1dGlvbjogICBEb24ndCBkZWxheSBqdXN0IGFmdGVyIHdhaXRfcmV0dXJuKCkgd2FzIGNhbGxlZC4gIEFkZGVkIHRoZQorCSAgICBkaWRfd2FpdF9yZXR1cm4gZmxhZy4KK0ZpbGVzOgkgICAgc3JjL2dsb2JhbHMuaCwgc3JjL21lc3NhZ2UuYywgc3JjL25vcm1hbC5jLCBzcmMvc2NyZWVuLmMKKworUGF0Y2ggNi4wLjAwNgorUHJvYmxlbTogICAgV2l0aCBhIHZlcnRpY2FsIHNwbGl0LCAnbnVtYmVyJyBzZXQgYW5kICdzY3JvbGxvZmYnIG5vbi16ZXJvLAorCSAgICBtYWtpbmcgdGhlIHdpbmRvdyB3aWR0aCB2ZXJ5IHNtYWxsIGNhdXNlcyBhIGNyYXNoLiAoTmlrbGFzCisJICAgIExpbmRzdHJvbSkKK1NvbHV0aW9uOiAgIENoZWNrIGZvciBhIHplcm8gd2lkdGguCitGaWxlczoJICAgIHNyYy9tb3ZlLmMKKworUGF0Y2ggNi4wLjAwNworUHJvYmxlbTogICAgV2hlbiBzZXR0aW5nICdmaWxldHlwZScgd2hpbGUgdGhlcmUgaXMgbm8gRmlsZVR5cGUgYXV0b2NvbW1hbmQsIGEKKwkgICAgZm9sbG93aW5nICI6c2V0ZmlsZXR5cGUiIHdvdWxkIHNldCAnZmlsZXR5cGUnIGFnYWluLiAoS29idXMKKwkgICAgUmV0aWVmKQorU29sdXRpb246ICAgU2V0IGRpZF9maWxldHlwZSBhbHdheXMgd2hlbiAnZmlsZXR5cGUnIGhhcyBiZWVuIHNldC4KK0ZpbGVzOgkgICAgc3JjL29wdGlvbi5jCisKK1BhdGNoIDYuMC4wMDgKK1Byb2JsZW06ICAgICdpbWRpc2FibGUnIGlzIG1pc3NpbmcgZnJvbSB0aGUgb3B0aW9ucyB3aW5kb3cuIChNaWNoYWVsIE5hdW1hbm4pCitTb2x1dGlvbjogICBBZGQgYW4gZW50cnkgZm9yIGl0LgorRmlsZXM6CSAgICBydW50aW1lL29wdHdpbi52aW0KKworUGF0Y2ggNi4wLjAwOQorUHJvYmxlbTogICAgTmV4dHN0ZXAgZG9lc24ndCBoYXZlIFNfSVNCTEsuIChKb2huIEJlcHB1KQorU29sdXRpb246ICAgRGVmaW5lIFNfSVNCTEsgdXNpbmcgU19JRkJMSy4KK0ZpbGVzOgkgICAgc3JjL29zX3VuaXguaAorCitQYXRjaCA2LjAuMDEwCitQcm9ibGVtOiAgICBVc2luZyAiZ2YiIG9uIGEgZmlsZSBuYW1lIHN0YXJ0aW5nIHdpdGggIi4vIiBvciAiLi4vIiBpbiBhIGJ1ZmZlcgorCSAgICB3aXRob3V0IGEgbmFtZSBjYXVzZXMgYSBjcmFzaC4gKFJveSBMZXdpcykKK1NvbHV0aW9uOiAgIENoZWNrIGZvciBhIE5VTEwgZmlsZSBuYW1lLgorRmlsZXM6CSAgICBzcmMvbWlzYzIuYworCitQYXRjaCA2LjAuMDExCitQcm9ibGVtOiAgICBQeXRob246IEFmdGVyIHJlcGxhY2luZyBvciBkZWxldGluZyBsaW5lcyBnZXQgYW4gbWxfZ2V0IGVycm9yLgorCSAgICAoTGVvIExpcGVsaXMpCitTb2x1dGlvbjogICBBZGp1c3QgdGhlIGN1cnNvciBwb3NpdGlvbiBmb3IgZGVsZXRlZCBvciBhZGRlZCBsaW5lcy4KK0ZpbGVzOgkgICAgc3JjL2lmX3B5dGhvbi5jCisKK1BhdGNoIDYuMC4wMTIKK1Byb2JsZW06ICAgIFBvbGlzaCB0cmFuc2xhdGlvbnMgY29udGFpbiBwcmludGYgZm9ybWF0IGVycm9ycywgdGhpcyBjYW4gcmVzdWx0CisJICAgIGluIGEgY3Jhc2ggd2hlbiB1c2luZyBvbmUgb2YgdGhlbS4KK1NvbHV0aW9uOiAgIEZpeCBmb3IgdHJhbnNsYXRlZCBtZXNzYWdlcy4gKE1pY2hhbCBQb2xpdG93c2tpKQorRmlsZXM6CSAgICBzcmMvcG8vcGwucG8KKworUGF0Y2ggNi4wLjAxMworUHJvYmxlbTogICAgVXNpbmcgIjpzaWxlbnQhIGNtZCIgc3RpbGwgZ2l2ZXMgc29tZSBlcnJvciBtZXNzYWdlcywgbGlrZSBmb3IgYW4KKwkgICAgaW52YWxpZCByYW5nZS4gKFNhbG1hbiBIYWxpbSkKK1NvbHV0aW9uOiAgIFJlc2V0IGVtc2dfc2lsZW50IGFmdGVyIGNhbGxpbmcgZW1zZygpIGluIGRvX29uZV9jbWQoKS4KK0ZpbGVzOgkgICAgc3JjL2V4X2RvY21kLmMKKworUGF0Y2ggNi4wLjAxNAorUHJvYmxlbTogICAgV2hlbiAnbW9kaWZpYWJsZScgaXMgb2ZmIGFuZCAndmlydHVhbGVkaXQnIGlzICJhbGwiLCAicngiIG9uIGEgVEFCCisJICAgIHN0aWxsIGNoYW5nZXMgdGhlIGJ1ZmZlci4gKE11cmFva2EgVGFybykKK1NvbHV0aW9uOiAgIENoZWNrIGlmIHNhdmluZyB0aGUgbGluZSBmb3IgdW5kbyBmYWlscy4KK0ZpbGVzOgkgICAgc3JjL25vcm1hbC5jCisKK1BhdGNoIDYuMC4wMTUKK1Byb2JsZW06ICAgIFdoZW4gJ2Nwb3B0aW9ucycgaW5jbHVkZXMgIlMiIGFuZCAiZmlsZXR5cGUgcGx1Z2luIG9uIiBoYXMgYmVlbgorCSAgICB1c2VkLCBjYW4gZ2V0IGFuIGVycm9yIGZvciBkZWxldGluZyB0aGUgYjpkaWRfZnRwbHVnaW4gdmFyaWFibGUuCisJICAgIChSYWxwaCBIZW5kZXJzb24pCitTb2x1dGlvbjogICBPbmx5IGRlbGV0ZSB0aGUgdmFyaWFibGUgd2hlbiBpdCBleGlzdHMuCitGaWxlczoJICAgIHJ1bnRpbWUvZnRwbHVnaW4udmltCisKK1BhdGNoIDYuMC4wMTYKK1Byb2JsZW06ICAgIGJ1Zm5yKCksIGJ1Zm5hbWUoKSBhbmQgYnVmd2lubnIoKSBkb24ndCBmaW5kIHVubGlzdGVkIGJ1ZmZlcnMgd2hlbgorCSAgICB0aGUgYXJndW1lbnQgaXMgYSBzdHJpbmcuIChIYXJpIEtyaXNobmEgRGFyYSkKKwkgICAgQWxzbyBmb3Igc2V0YnVmdmFyKCkgYW5kIGdldGJ1ZnZhcigpLgorU29sdXRpb246ICAgQWxzbyBmaW5kIHVubGlzdGVkIGJ1ZmZlcnMuCitGaWxlczoJICAgIHNyYy9ldmFsLmMKKworUGF0Y2ggNi4wLjAxNworUHJvYmxlbTogICAgV2hlbiAndHR5YnVpbHRpbicgaXMgc2V0IGFuZCBhIGJ1aWx0aW4gdGVybWNhcCBlbnRyeSBkZWZpbmVzIHRfQ28KKwkgICAgYW5kIHRoZSBleHRlcm5hbCBvbmUgZG9lc24ndCwgaXQgZ2V0cyByZXNldCB0byBlbXB0eS4gKERhdmlkCisJICAgIEhhcnJpc29uKQorU29sdXRpb246ICAgT25seSBzZXQgdF9DbyB3aGVuIGl0IHdhc24ndCBzZXQgeWV0LgorRmlsZXM6CSAgICBzcmMvdGVybS5jCisKK1BhdGNoIDYuMC4wMTgKK1Byb2JsZW06ICAgIEluaXRpYWxpemluZyAnZW5jb2RpbmcnIG1heSBjYXVzZSBhIGNyYXNoIHdoZW4gc2V0bG9jYWxlKCkgaXMgbm90CisJICAgIHVzZWQuIChEYW55IFN0LUFtYW50KQorU29sdXRpb246ICAgQ2hlY2sgZm9yIGEgTlVMTCBwb2ludGVyLgorRmlsZXM6CSAgICBzcmMvbWJ5dGUuYworCitQYXRjaCA2LjAuMDE5CitQcm9ibGVtOiAgICBDb252ZXJ0aW5nIGEgc3RyaW5nIHdpdGggbXVsdGktYnl0ZSBjaGFyYWN0ZXJzIHRvIGEgcHJpbnRhYmxlCisJICAgIHN0cmluZywgZS5nLiwgd2l0aCBzdHJ0cmFucygpLCBtYXkgY2F1c2UgYSBjcmFzaC4gKFRvbWFzIFplbGxlcmluKQorU29sdXRpb246ICAgQ29ycmVjdGx5IGNvbXB1dGUgdGhlIGxlbmd0aCBvZiB0aGUgcmVzdWx0IGluIHRyYW5zc3RyKCkuCitGaWxlczoJICAgIHNyYy9jaGFyc2V0LmMKKworUGF0Y2ggNi4wLjAyMAorUHJvYmxlbTogICAgV2hlbiBvYnRhaW5pbmcgdGhlIHZhbHVlIG9mIGEgZ2xvYmFsIHZhcmlhYmxlIGludGVybmFsbHksIGNvdWxkCisJICAgIGdldCB0aGUgZnVuY3Rpb24tbG9jYWwgdmFsdWUgaW5zdGVhZC4gIEFwcGxpZXMgdG8gdXNpbmcgPExlYWRlcj4KKwkgICAgYW5kIDxMb2NhbExlYWRlcj4gYW5kIHJlc2V0dGluZyBoaWdobGlnaHRpbmcgaW4gYSBmdW5jdGlvbi4KK1NvbHV0aW9uOiAgIFByZXBlbmQgImc6IiB0byB0aGUgdmFyaWFibGUgbmFtZS4gKEFyaWMgQmx1bWVyKQorRmlsZXM6CSAgICBzcmMvc3ludGF4LmMsIHNyYy90ZXJtLmMKKworUGF0Y2ggNi4wLjAyMQorUHJvYmxlbTogICAgVGhlICdjc2NvcGVwYXRoY29tcCcgb3B0aW9uIGRpZG4ndCB3b3JrLgorU29sdXRpb246ICAgQ2hhbmdlIFVTRV9DU0NPUEUgdG8gRkVBVF9DU0NPUEUuIChNYXJrIEZlbmcpCitGaWxlczoJICAgIHNyYy9vcHRpb24uYworCitQYXRjaCA2LjAuMDIyCitQcm9ibGVtOiAgICBXaGVuIHVzaW5nIHRoZSAnbGFuZ21hcCcgb3B0aW9uLCB0aGUgc2Vjb25kIGNoYXJhY3RlciBvZiBhIGNvbW1hbmQKKwkgICAgc3RhcnRpbmcgd2l0aCAiZyIgaXNuJ3QgYWRqdXN0ZWQuCitTb2x1dGlvbjogICBBcHBseSAnbGFuZ21hcCcgdG8gdGhlIHNlY29uZCBjaGFyYWN0ZXIuIChBbGV4IEthcHJhbm9mZikKK0ZpbGVzOgkgICAgc3JjL25vcm1hbC5jCisKK1BhdGNoIDYuMC4wMjMKK1Byb2JsZW06ICAgIExvYWRpbmcgdGhlIGxoYXNrZWxsIHN5bnRheCBkb2Vzbid0IHdvcmsuIChUaG9yZSBCLiBLYXJsc2VuKQorU29sdXRpb246ICAgVXNlICI6cnVudGltZSIgaW5zdGVhZCBvZiAic291cmNlIiB0byBsb2FkIGhhc2tlbGwudmltLgorRmlsZXM6CSAgICBydW50aW1lL3N5bnRheC9saGFza2VsbC52aW0KKworUGF0Y2ggNi4wLjAyNAorUHJvYmxlbTogICAgVXNpbmcgIkNUUkwtViB1IDk5MDAiIGluIEluc2VydCBtb2RlIG1heSBjYXVzZSBhIGNyYXNoLiAoTm9haAorCSAgICBMZXZpdHQpCitTb2x1dGlvbjogICBEb24ndCBpbnNlcnQgYSBOVUwgYnl0ZSBpbiB0aGUgdGV4dCwgdXNlIGEgbmV3bGluZS4KK0ZpbGVzOgkgICAgc3JjL21pc2MxLmMKKworUGF0Y2ggNi4wLjAyNQorUHJvYmxlbTogICAgVGhlIHBhdHRlcm4gIlx2eCgufCQpIiBkb2Vzbid0IG1hdGNoICJ4IiBhdCB0aGUgZW5kIG9mIGEgbGluZS4KKwkgICAgKFByZWJlbiBQZXBwZSBHdWxkYmVyZykKK1NvbHV0aW9uOiAgIEFsd2F5cyBzZWUgYSAiJCIgYXMgZW5kLW9mLWxpbmUgYWZ0ZXIgIlx2Ii4gIERvIHRoZSBzYW1lIGZvciAiXiIuCitGaWxlczoJICAgIHNyYy9yZWdleHAuYworCitQYXRjaCA2LjAuMDI2CitQcm9ibGVtOiAgICBHVEs6IFdoZW4gdXNpbmcgYXJyb3cga2V5cyB0byBuYXZpZ2F0ZSB0aHJvdWdoIHRoZSBtZW51cywgdGhlCisJICAgIHNlcGFyYXRvcnMgYXJlIHNlbGVjdGVkLgorU29sdXRpb246ICAgU2V0IHRoZSBzZXBhcmF0b3JzICJpbnNlbnNpdGl2ZSIuIChQYXZlbCBLYW5rb3Zza3kpCitGaWxlczoJICAgIHNyYy9ndWlfZ3RrLmMsIHNyYy9ndWlfZ3RrX3gxMS5jCisKK1BhdGNoIDYuMC4wMjcKK1Byb2JsZW06ICAgIFZNUzogUHJpbnRpbmcgZG9lc24ndCB3b3JrLCB0aGUgZmlsZSBpcyBkZWxldGVkIHRvbyBxdWlja2x5LgorCSAgICBObyBsb25nZXIgbmVlZCB0aGUgVk1TIHNwZWNpZmljIHByaW50aW5nIG1lbnUuCisJICAgIGdldGhvc3RuYW1lKCkgaXMgbm90IGF2YWlsYWJsZSB3aXRoIFZBWEMuCisJICAgIFRoZSBtYWtlZmlsZSB3YXMgbGFja2luZyBzZWxlY3Rpb24gb2YgdGhlIHRpbnktaHVnZSBmZWF0dXJlIHNldC4KK1NvbHV0aW9uOiAgIEFkanVzdCB0aGUgJ3ByaW50ZXhwcicgb3B0aW9uIGRlZmF1bHQuIEZpeCB0aGUgb3RoZXIgcHJvYmxlbXMgYW5kCisJICAgIHVwZGF0ZSB0aGUgZG9jdW1lbnRhdGlvbi4gIChab2x0YW4gQXJwYWRmZnkpCitGaWxlczoJICAgIHJ1bnRpbWUvZG9jL29zX3Ztcy50eHQsIHJ1bnRpbWUvbWVudS52aW0sIHNyYy9JTlNUQUxMdm1zLnR4dCwKKwkgICAgc3JjL01ha2Vfdm1zLm1tcywgc3JjL29wdGlvbi5jLCBzcmMvb3NfdW5peC5jLCBzcmMvb3Nfdm1zX2NvbmYuaAorCitQYXRjaCA2LjAuMDI4CitQcm9ibGVtOiAgICBDYW4ndCBjb21waWxlIHdpdGhvdXQgK3ZpcnR1YWxlZGl0IGFuZCB3aXRoICt2aXN1YWxleHRyYS4gKEdlemEKKwkgICAgTGFrbmVyKQorU29sdXRpb246ICAgQWRkIGFuICNpZmRlZiBmb3IgK3ZpcnR1YWxlZGl0LgorRmlsZXM6CSAgICBzcmMvb3BzLmMKKworUGF0Y2ggNi4wLjAyOQorUHJvYmxlbTogICAgV2hlbiBtYWtpbmcgYSBjaGFuZ2UgaW4gbGluZSAxLCB0aGVuIGluIGxpbmUgMiBhbmQgdGhlbiBkZWxldGluZworCSAgICBsaW5lIDEsIHVuZG8gaW5mbyBjb3VsZCBiZSB3cm9uZy4gT25seSB3aGVuIHRoZSBjaGFuZ2VzIGFyZSB1bmRvbmUKKwkgICAgYXQgb25jZS4gKEdlcmhhcmQgSG9jaGhvbHplcikKK1NvbHV0aW9uOiAgIFdoZW4gbm90IHNhdmluZyBhIGxpbmUgZm9yIHVuZG8gYmVjYXVzZSBpdCB3YXMgYWxyZWFkeSBkb25lCisJICAgIGJlZm9yZSwgcmVtZW1iZXIgZm9yIHdoaWNoIGVudHJ5IHRoZSBsYXN0IGxpbmUgbXVzdCBiZSBjb21wdXRlZC4KKwkgICAgQWRkZWQgdWVfZ2V0Ym90X2VudHJ5IHBvaW50ZXIgZm9yIHRoaXMuICBXaGVuIHRoZSBudW1iZXIgb2YgbGluZXMKKwkgICAgY2hhbmdlcywgYWRqdXN0IHRoZSBwb3NpdGlvbiBvZiBuZXdlciB1bmRvIGVudHJpZXMuCitGaWxlczoJICAgIHNyYy9zdHJ1Y3RzLmgsIHNyYy91bmRvLmMKKworUGF0Y2ggNi4wLjAzMAorUHJvYmxlbTogICAgVXNpbmcgIjpzb3VyY2UhIGZpbGUiIGRvZXNuJ3Qgd29yayBpbnNpZGUgYSBsb29wIG9yIGFmdGVyCisJICAgICI6YXJnZG8iLiAoUGF2b2wgSnVoYXMpCitTb2x1dGlvbjogICBFeGVjdXRlIHRoZSBjb21tYW5kcyBpbiB0aGUgZmlsZSByaWdodCBhd2F5LCBkbyBub3QgbGV0IHRoZSBtYWluCisJICAgIGxvb3AgZG8gaXQuCitGaWxlczoJICAgIHNyYy9leF9jbWRzMi5jLCBzcmMvZXhfZG9jbWQuYywgc3JjL2dldGNoYXIuYywgc3JjL2dsb2JhbHMuaCwKKwkgICAgc3JjL3Byb3RvL2V4X2RvY21kLnBybywgc3JjL3Byb3RvL2dldGNoYXIucHJvCisKK1BhdGNoIDYuMC4wMzEKK1Byb2JsZW06ICAgIE5leHRzdGVwIGRvZXNuJ3QgaGF2ZSBzZXRlbnYoKSBvciBwdXRlbnYoKS4gIChKb2huIEJlcHB1KQorU29sdXRpb246ICAgTW92ZSBwdXRlbnYoKSBmcm9tIHB0eS5jIHRvIG1pc2MyLmMKK0ZpbGVzOgkgICAgc3JjL21pc2MyLmMsIHNyYy9wdHkuYworCitQYXRjaCA2LjAuMDMyCitQcm9ibGVtOiAgICBXaGVuIGNoYW5naW5nIGEgc2V0dGluZyB0aGF0IGFmZmVjdHMgYWxsIGZvbGRzLCB0aGV5IGFyZSBub3QKKwkgICAgZGlzcGxheWVkIGltbWVkaWF0ZWx5LgorU29sdXRpb246ICAgU2V0IHRoZSByZWRyYXcgZmxhZyBpbiBmb2xkVXBkYXRlQWxsKCkuCitGaWxlczoJICAgIHNyYy9mb2xkLmMKKworUGF0Y2ggNi4wLjAzMworUHJvYmxlbTogICAgVXNpbmcgJ3dpbGRtZW51JyBvbiBNUy1XaW5kb3dzLCBmaWxlIG5hbWVzIHRoYXQgaW5jbHVkZSBhIHNwYWNlCisJICAgIGFyZSBvbmx5IGRpc3BsYXllZCBzdGFydGluZyB3aXRoIHRoYXQgc3BhY2UuIChYaWUgWXVoZW5nKQorU29sdXRpb246ICAgRG9uJ3QgcmVjb2duaXplIGEgYmFja3NsYXNoIGJlZm9yZSBhIHNwYWNlIGFzIGEgcGF0aCBzZXBhcmF0b3IuCitGaWxlczoJICAgIHNyYy9zY3JlZW4uYworCitQYXRjaCA2LjAuMDM0CitQcm9ibGVtOiAgICBDYWxsaW5nIHNlYXJjaHBhaXIoKSB3aXRoIHRocmVlIGFyZ3VtZW50cyBjb3VsZCByZXN1bHQgaW4gYSBjcmFzaAorCSAgICBvciBzdHJhbmdlIGVycm9yIG1lc3NhZ2UuIChLYWxsZSBCam9ya2xpZCkKK1NvbHV0aW9uOiAgIERvbid0IHVzZSB0aGUgZmlmdGggYXJndW1lbnQgd2hlbiB0aGVyZSBpcyBubyBmb3VydGggYXJndW1lbnQuCitGaWxlczoJICAgIHNyYy9ldmFsLmMKKworUGF0Y2ggNi4wLjAzNQorUHJvYmxlbTogICAgVGhlIG1lbnUgaXRlbSBFZGl0L0dsb2JhbF9TZXR0aW5ncy9Ub2dnbGVfVG9vbGJhciBkb2Vzbid0IHdvcmsKKwkgICAgd2hlbiAnaWdub3JlY2FzZScgaXMgc2V0LiAoQWxsZW4gQ2FzdGFiYW4pCitTb2x1dGlvbjogICBBbHdheXMgbWF0Y2ggY2FzZSB3aGVuIGNoZWNraW5nIGlmIGEgZmxhZyBpcyBhbHJlYWR5IHByZXNlbnQgaW4KKwkgICAgJ2d1aW9wdGlvbnMnLgorRmlsZXM6CSAgICBydW50aW1lL21lbnUudmltCisKK1BhdGNoIDYuMC4wMzYKK1Byb2JsZW06ICAgIE9TLzIsIE1TLURPUyBhbmQgTVMtV2luZG93czogVXNpbmcgYSBwYXRoIHRoYXQgc3RhcnRzIHdpdGggYQorCSAgICBzbGFzaCBpbiAndGFncycgZG9lc24ndCB3b3JrIGFzIGV4cGVjdGVkLiAoTWF0aGlhcyBLb2VocmVyCitTb2x1dGlvbjogICBPbmx5IHVzZSB0aGUgZHJpdmUsIG5vdCB0aGUgd2hvbGUgcGF0aCB0byB0aGUgY3VycmVudCBkaXJlY3RvcnkuCisJICAgIEFsc28gbWFrZSBpdCB3b3JrIGZvciAiYzpkaXIvZmlsZSIuCitGaWxlczoJICAgIHNyYy9taXNjMi5jCisKK1BhdGNoIDYuMC4wMzcKK1Byb2JsZW06ICAgIFdoZW4gdGhlIHVzZXIgaGFzIHNldCAiZGlkX2luc3RhbGxfc3ludGF4X21lbnUiIHRvIGF2b2lkIHRoZQorCSAgICBkZWZhdWx0IFN5bnRheCBtZW51IGl0IHN0aWxsIGFwcGVhcnMuIChWaXJnaWxpbykKK1NvbHV0aW9uOiAgIERvbid0IGFkZCB0aGUgdGhyZWUgZGVmYXVsdCBpdGVtcyB3aGVuICJkaWRfaW5zdGFsbF9zeW50YXhfbWVudSIKKwkgICAgaXMgc2V0LgorRmlsZXM6CSAgICBydW50aW1lL21lbnUudmltCisKK1BhdGNoIDYuMC4wMzgKK1Byb2JsZW06ICAgIFdoZW4gJ3NlbGVjdGlvbicgaXMgImV4Y2x1c2l2ZSIsIGRlbGV0aW5nIGEgYmxvY2sgb2YgdGV4dCBhdCB0aGUKKwkgICAgZW5kIG9mIGEgbGluZSBjYW4gbGVhdmUgdGhlIGN1cnNvciBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgbGluZS4KK1NvbHV0aW9uOiAgIENvcnJlY3QgdGhlIGN1cnNvciBwb3NpdGlvbi4KK0ZpbGVzOgkgICAgc3JjL29wcy5jCisKK1BhdGNoIDYuMC4wMzkKK1Byb2JsZW06ICAgICJnUCIgbGVhdmVzIHRoZSBjdXJzb3IgaW4gdGhlIHdyb25nIHBvc2l0aW9uIHdoZW4gJ3ZpcnR1YWxlZGl0JyBpcworCSAgICB1c2VkLiAgVXNpbmcgImMiIGluIGJsb2Nrd2lzZSBWaXN1YWwgbW9kZSBsZWF2ZXMgdGhlIGN1cnNvciBpbiBhCisJICAgIHN0cmFuZ2UgcG9zaXRpb24uCitTb2x1dGlvbjogICBGb3IgImdQIiByZXNldCB0aGUgImNvbGFkZCIgZmllbGQgZm9yIHRoZSAnXSBtYXJrLiAgRm9yICJjIiBsZWF2ZQorCSAgICB0aGUgY3Vyc29yIG9uIHRoZSBsYXN0IGluc2VydGVkIGNoYXJhY3Rlci4KK0ZpbGVzOgkgICAgc3JjL29wcy5jCisKK1BhdGNoIDYuMC4wNDAKK1Byb2JsZW06ICAgIFdoZW4gJ2ZpbGVlbmNvZGluZycgaXMgaW52YWxpZCBhbmQgd3JpdGluZyBmYWlscyBiZWNhdXNlIG9mCisJICAgIHRoaXMsIHRoZSBvcmlnaW5hbCBmaWxlIGlzIGdvbmUuIChFcmljIENhcmxpZXIpCitTb2x1dGlvbjogICBSZXN0b3JlIHRoZSBvcmlnaW5hbCBmaWxlIGZyb20gdGhlIGJhY2t1cC4KK0ZpbGVzOgkgICAgc3JjL2ZpbGVpby5jCisKK1BhdGNoIDYuMC4wNDEKK1Byb2JsZW06ICAgIFVzaW5nICI6bGFuZ3VhZ2UgbWVzc2FnZXMgZW4iIHdoZW4gTENfTUVTU0FHRVMgaXMgdW5kZWZpbmVkCisJICAgIHJlc3VsdHMgaW4gc2V0dGluZyBMQ19DVFlQRS4gKEVyaWMgQ2FybGllcikKK1NvbHV0aW9uOiAgIFNldCAkTENfTUVTU0FHRVMgaW5zdGVhZC4KK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMyLmMKKworUGF0Y2ggNi4wLjA0MgorUHJvYmxlbTogICAgIjpta3Nlc3Npb24iIGNhbid0IGhhbmRsZSBmaWxlIG5hbWVzIHdpdGggYSBzcGFjZS4KK1NvbHV0aW9uOiAgIEVzY2FwZSBzcGVjaWFsIGNoYXJhY3RlcnMgaW4gZmlsZSBuYW1lcyB3aXRoIGEgYmFja3NsYXNoLgorRmlsZXM6CSAgICBzcmMvZXhfZG9jbWQuYworCitQYXRjaCA2LjAuMDQzCitQcm9ibGVtOiAgICBQYXRjaCA2LjAuMDQxIHdhcyB3cm9uZy4KK1NvbHV0aW9uOiAgIFVzZSBtY2hfZ2V0ZW52KCkgaW5zdGVhZCBvZiB2aW1fZ2V0ZW52KCkuCitGaWxlczoJICAgIHNyYy9leF9jbWRzMi5jCisKK1BhdGNoIDYuMC4wNDQKK1Byb2JsZW06ICAgIFVzaW5nIGEgImNvbnRhaW5lZGluIiBsaXN0IGZvciBhIHN5bnRheCBpdGVtIGRvZXNuJ3Qgd29yayBmb3IgYW4KKwkgICAgaXRlbSB0aGF0IGRvZXNuJ3QgaGF2ZSBhICJjb250YWlucyIgYXJndW1lbnQuICBBbHNvLCAiY29udGFpbmVkaW4iCisJICAgIGRvZXNuJ3QgaWdub3JlIGEgdHJhbnNwYXJlbnQgaXRlbS4gKFRpbW8gRnJlbmF5KQorU29sdXRpb246ICAgV2hlbiB0aGVyZSBpcyBhICJjb250YWluZWRpbiIgYXJndW1lbnQgc29tZXdoZXJlLCBhbHdheXMgY2hlY2sgZm9yCisJICAgIGNvbnRhaW5lZCBpdGVtcy4gIERvbid0IGNoZWNrIGZvciB0aGUgdHJhbnNwYXJlbnQgaXRlbSBidXQgdGhlCisJICAgIGl0ZW0gaXQncyBjb250YWluZWQgaW4uCitGaWxlczoJICAgIHNyYy9zdHJ1Y3RzLmgsIHNyYy9zeW50YXguYworCitQYXRjaCA2LjAuMDQ1CitQcm9ibGVtOiAgICBBZnRlciBjcmVhdGluZyBhIGZvbGQgd2l0aCBhIFZpc3VhbCBzZWxlY3Rpb24sIGFub3RoZXIgd2luZG93CisJICAgIHdpdGggdGhlIHNhbWUgYnVmZmVyIHN0aWxsIGhhcyBpbnZlcnRlZCB0ZXh0LiAoU2FtaSBTYWxvbmVuKQorU29sdXRpb246ICAgUmVkcmF3IHRoZSBpbnZlcnRlZCB0ZXh0LgorRmlsZXM6CSAgICBzcmMvbm9ybWFsLmMKKworUGF0Y2ggNi4wLjA0NgorUHJvYmxlbTogICAgV2hlbiBnZXRybGltaXQoKSByZXR1cm5zIGFuIDggYnl0ZSBudW1iZXIgdGhlIGNoZWNrIGZvciBydW5uaW5nCisJICAgIG91dCBvZiBzdGFjayBtYXkgZmFpbC4gKEFudGhvbnkgTWVpamVyKQorU29sdXRpb246ICAgU2tpcCB0aGUgc3RhY2sgY2hlY2sgaWYgdGhlIGxpbWl0IGRvZXNuJ3QgZml0IGluIGEgbG9uZy4KK0ZpbGVzOgkgICAgc3JjL2F1dG8vY29uZmlndXJlLCBzcmMvY29uZmlnLmguaW4sIHNyYy9jb25maWd1cmUuaW4sCisJICAgIHNyYy9vc191bml4LmMKKworUGF0Y2ggNi4wLjA0NworUHJvYmxlbTogICAgVXNpbmcgYSByZWdleHAgd2l0aCAiXChcKSIgaW5zaWRlIGEgIlwlW10iIGl0ZW0gY2F1c2VzIGEgY3Jhc2guCisJICAgIChTYW11ZWwgTGFjYXMpCitTb2x1dGlvbjogICBEb24ndCBhbGxvdyBuZXN0ZWQgYXRvbXMgaW5zaWRlICJcJVtdIi4KK0ZpbGVzOgkgICAgc3JjL3JlZ2V4cC5jCisKK1BhdGNoIDYuMC4wNDgKK1Byb2JsZW06ICAgIFdpbjMyOiBJbiB0aGUgY29uc29sZSB0aGUgbW91c2UgZG9lc24ndCBhbHdheXMgd29yayBjb3JyZWN0bHkuCisJICAgIFNvbWV0aW1lcyBhZnRlciBnZXR0aW5nIGZvY3VzIGEgbW91c2UgbW92ZW1lbnQgaXMgaW50ZXJwcmV0ZWQgbGlrZQorCSAgICBhIGJ1dHRvbiBjbGljay4KK1NvbHV0aW9uOiAgIFVzZSBhIGRpZmZlcmVudCBmdW5jdGlvbiB0byBvYnRhaW4gdGhlIG51bWJlciBvZiBtb3VzZSBidXR0b25zLgorCSAgICBBdm9pZCByZWNvZ25pemluZyBhIGJ1dHRvbiBwcmVzcyBmcm9tIHVuZGVmaW5lZCBiaXRzLiAoVmluY2UgTmVncmkpCitGaWxlczoJICAgIHNyYy9vc193aW4zMi5jCisKK1BhdGNoIDYuMC4wNDkKK1Byb2JsZW06ICAgIFdoZW4gdXNpbmcgZXZpbSB0aGUgaW50cm8gc2NyZWVuIGlzIG1pc2xlYWRpbmcuIChBZHJpYW4gTmFnbGUpCitTb2x1dGlvbjogICBNZW50aW9uIHdoZXRoZXIgJ2luc2VydG1vZGUnIGlzIHNldCBhbmQgdGhlIG1lbnVzIHRvIGJlIHVzZWQuCitGaWxlczoJICAgIHJ1bnRpbWUvbWVudS52aW0sIHNyYy92ZXJzaW9uLmMKKworUGF0Y2ggNi4wLjA1MAorUHJvYmxlbTogICAgVVRGLTg6ICJ2aXciIGRvZXNuJ3QgaW5jbHVkZSBub24tQVNDSUkgY2hhcmFjdGVycyBiZWZvcmUgdGhlCisJICAgIGN1cnNvci4gKEJlcnRpbG8gV2VubmVyZ3JlbikKK1NvbHV0aW9uOiAgIFVzZSBkZWNfY3Vyc29yKCkgaW5zdGVhZCBvZiBkZWNyZW1lbnRpbmcgdGhlIGNvbHVtbiBudW1iZXIuCitGaWxlczoJICAgIHNyYy9zZWFyY2guYworCitQYXRjaCA2LjAuMDUxCitQcm9ibGVtOiAgICBVVEYtODogVXNpbmcgQ1RSTC1SIG9uIHRoZSBjb21tYW5kIGxpbmUgZG9lc24ndCBpbnNlcnQgY29tcG9zaW5nCisJICAgIGNoYXJhY3RlcnMuIChSb24gQWFyb24pCitTb2x1dGlvbjogICBBbHNvIGluY2x1ZGUgdGhlIGNvbXBvc2luZyBjaGFyYWN0ZXJzIGFuZCBmaXggcmVkcmF3aW5nIHRoZW0uCitGaWxlczoJICAgIHNyYy9leF9nZXRsbi5jLCBzcmMvb3BzLmMKKworUGF0Y2ggNi4wLjA1MgorUHJvYmxlbTogICAgVGhlIGNoZWNrIGZvciBybGltX3QgaW4gcGF0Y2ggNi4wLjA0NiBkb2VzIG5vdCB3b3JrIG9uIHNvbWUKKwkgICAgc3lzdGVtcy4gKFpkZW5layBTZWtlcmEpCitTb2x1dGlvbjogICBBbHNvIGxvb2sgaW4gc3lzL3Jlc291cmNlLmggZm9yIHJsaW1fdC4KK0ZpbGVzOgkgICAgc3JjL2F1dG8vY29uZmlndXJlLCBzcmMvY29uZmlndXJlLmluCisKK1BhdGNoIDYuMC4wNTMgKGV4dHJhKQorUHJvYmxlbTogICAgVmFyaW91cyBwcm9ibGVtcyB3aXRoIFFOWC4KK1NvbHV0aW9uOiAgIE1pbm9yIGZpeCBmb3IgY29uZmlndXJlLiAgU3dpdGNoIG9uIHRlcm1pbmFsIGNsaXBib2FyZCBzdXBwb3J0IGluCisJICAgIG1haW4uYy4gIEZpeCAicHRlcm0iIG1vdXNlIHN1cHBvcnQuICBvc19xbnguYyBkaWRuJ3QgYnVpbGQgd2l0aG91dAorCSAgICBwaG90b24uIChKdWxpYW4gS2lucmFpZCkKK0ZpbGVzOgkgICAgc3JjL2F1dG8vY29uZmlndXJlLCBzcmMvY29uZmlndXJlLmluLCBzcmMvZ3VpX3Bob3Rvbi5jLAorCSAgICBzcmMvbWFpbi5jLCBzcmMvbWlzYzIuYywgc3JjL29wdGlvbi5oLCBzcmMvb3NfcW54LmMsIHNyYy9vc19xbnguaCwKKwkgICAgc3JjL3N5bnRheC5jCisKK1BhdGNoIDYuMC4wNTQKK1Byb2JsZW06ICAgIFdoZW4gdXNpbmcgbXN3aW4udmltLCBDVFJMLVYgcGFzdGVzIGEgYmxvY2sgb2YgdGV4dCBsaWtlIGl0IGlzCisJICAgIG5vcm1hbCB0ZXh0LiAgVXNpbmcgQ1RSTC1WIGluIGJsb2Nrd2lzZSBWaXN1YWwgbW9kZSBsZWF2ZXMgIngiCisJICAgIGNoYXJhY3RlcnMgYmVoaW5kLgorU29sdXRpb246ICAgTWFrZSBDVFJMLVYgd29yayBhcyBpdCBzaG91bGQuICBEbyB0aGUgc2FtZSBmb3IgdGhlIFBhc3RlIG1lbnUKKwkgICAgZW50cmllcy4KK0ZpbGVzOgkgICAgcnVudGltZS9tZW51LnZpbSwgcnVudGltZS9tc3dpbi52aW0KKworUGF0Y2ggNi4wLjA1NQorUHJvYmxlbTogICAgR1RLOiBUaGUgc2VsZWN0aW9uIGlzbid0IGNvcGllZCB0aGUgZmlyc3QgdGltZS4KK1NvbHV0aW9uOiAgIE93biB0aGUgc2VsZWN0aW9uIGF0IHRoZSByaWdodCBtb21lbnQuCitGaWxlczoJICAgIHNyYy9ndWlfZ3RrX3gxMS5jCisKK1BhdGNoIDYuMC4wNTYKK1Byb2JsZW06ICAgIFVzaW5nICJDVFJMLU8gY3ciIGluIEluc2VydCBtb2RlIHJlc3VsdHMgaW4gYSBuZXN0ZWQgSW5zZXJ0IG1vZGUuCisJICAgIDxFc2M+IGRvZXNuJ3QgbGVhdmUgSW5zZXJ0IG1vZGUgdGhlbi4KK1NvbHV0aW9uOiAgIE9ubHkgdXNlIG5lc3RlZCBJbnNlcnQgbW9kZSB3aGVuICdpbnNlcnRtb2RlJyBpcyBzZXQgb3Igd2hlbiBhCisJICAgIG1hcHBpbmcgaXMgdXNlZC4KK0ZpbGVzOgkgICAgc3JjL25vcm1hbC5jCisKK1BhdGNoIDYuMC4wNTcKK1Byb2JsZW06ICAgIFVzaW5nICI6d2luY21kIGd9IiBpbiBhIGZ1bmN0aW9uIGRvZXNuJ3Qgd29yay4gIChHYXJ5IEhvbGxvd2F5KQorU29sdXRpb246ICAgRXhlY3V0ZSB0aGUgY29tbWFuZCBkaXJlY3RseSwgaW5zdGVhZCBvZiBwdXR0aW5nIGl0IGluIHRoZQorCSAgICB0eXBlYWhlYWQgYnVmZmVyLgorRmlsZXM6CSAgICBzcmMvbm9ybWFsLmMsIHNyYy9wcm90by9ub3JtYWwucHJvLCBzcmMvd2luZG93LmMKKworUGF0Y2ggNi4wLjA1OAorUHJvYmxlbTogICAgV2hlbiBhIEN1cnNvcmhvbGQgYXV0b2NvbW1hbmQgbW92ZWQgdGhlIGN1cnNvciwgdGhlIHJ1bGVyIHdhc24ndAorCSAgICB1cGRhdGVkLiAoQm9oZGFuIFZsYXN5dWspCitTb2x1dGlvbjogICBVcGRhdGUgdGhlIHJ1bGVyIGFmdGVyIGV4ZWN1dGluZyB0aGUgYXV0b2NvbW1hbmRzLgorRmlsZXM6CSAgICBzcmMvZ3VpLmMKKworUGF0Y2ggNi4wLjA1OQorUHJvYmxlbTogICAgSGlnaGxpZ2h0aW5nIGZvciAnaGxzZWFyY2gnIGlzbid0IHZpc2libGUgaW4gbGluZXMgdGhhdCBhcmUKKwkgICAgaGlnaGxpZ2h0ZWQgZm9yIGRpZmYgaGlnaGxpZ2h0aW5nLiAgKEdhcnkgSG9sbG93YXkpCitTb2x1dGlvbjogICBMZXQgJ2hsc2VhcmNoJyBoaWdobGlnaHRpbmcgb3ZlcnJ1bGUgZGlmZiBoaWdobGlnaHRpbmcuCitGaWxlczoJICAgIHNyYy9zY3JlZW4uYworCitQYXRjaCA2LjAuMDYwCitQcm9ibGVtOiAgICBNb3RpZjogV2hlbiB0aGUgdG9vbHRpcCBpcyB0byBiZSBwb3BwZWQgdXAsIFZpbSBjcmFzaGVzLgorCSAgICAoR2FyeSBIb2xsb3dheSkKK1NvbHV0aW9uOiAgIENoZWNrIGZvciBhIE5VTEwgcmV0dXJuIHZhbHVlIGZyb20gZ3VpX21vdGlmX2ZvbnRzZXQyZm9udGxpc3QoKS4KK0ZpbGVzOgkgICAgc3JjL2d1aV9iZXZhbC5jCisKK1BhdGNoIDYuMC4wNjEKK1Byb2JsZW06ICAgIFRoZSB0b29sYmFyIGJ1dHRvbnMgdG8gbG9hZCBhbmQgc2F2ZSBhIHNlc3Npb24gZG8gbm90IGNvcnJlY3RseQorCSAgICB1c2Ugdjp0aGlzX3Nlc3Npb24uCitTb2x1dGlvbjogICBDaGVjayBmb3Igdjp0aGlzX3Nlc3Npb24gdG8gYmUgZW1wdHkgaW5zdGVhZCBvZiBleGlzdGluZy4KK0ZpbGVzOgkgICAgcnVudGltZS9tZW51LnZpbQorCitQYXRjaCA2LjAuMDYyCitQcm9ibGVtOiAgICBDcmFzaCB3aGVuICd2ZXJib3NlJyBpcyA+IDMgYW5kIHVzaW5nICI6c2hlbGwiLiAoWWVnYXBwYW4KKwkgICAgTGFrc2htYW5hbikKK1NvbHV0aW9uOiAgIEF2b2lkIGdpdmluZyBhIE5VTEwgcG9pbnRlciB0byBwcmludGYoKS4gIEFsc28gb3V0cHV0IGEgbmV3bGluZQorCSAgICBhbmQgc3dpdGNoIHRoZSBjdXJzb3Igb24uCitGaWxlczoJICAgIHNyYy9taXNjMi5jCisKK1BhdGNoIDYuMC4wNjMKK1Byb2JsZW06ICAgIFdoZW4gJ2Nwb3B0aW9ucycgaW5jbHVkZXMgIiQiLCB1c2luZyAiY3ciIHRvIHR5cGUgYSAnKScgb24gdG9wIG9mCisJICAgIHRoZSAiJCIgZG9lc24ndCB1cGRhdGUgc3ludGF4IGhpZ2hsaWdodGluZyBhZnRlciBpdC4KK1NvbHV0aW9uOiAgIFN0b3AgZGlzcGxheWluZyB0aGUgIiQiIHdoZW4gdHlwaW5nIGEgJyknIGluIGl0cyBwb3NpdGlvbi4KK0ZpbGVzOgkgICAgc3JjL3NlYXJjaC5jCisKK1BhdGNoIDYuMC4wNjQgKGV4dHJhKQorUHJvYmxlbTogICAgVGhlIE5TSVMgaW5zdGFsbCBzY3JpcHQgZG9lc24ndCB3b3JrIHdpdGggbmV3ZXIgdmVyc2lvbnMgb2YgTlNJUy4KKwkgICAgVGhlIGRpZmYgZmVhdHVyZSBkb2Vzbid0IHdvcmsgd2hlbiB0aGVyZSBpc24ndCBhIGdvb2QgZGlmZi5leGUgb24KKwkgICAgdGhlIHN5c3RlbS4KK1NvbHV0aW9uOiAgIFJlcGxhY2UgdGhlIEdldFBhcmVudERpciBpbnN0cnVjdGlvbiBieSBhIHVzZXIgZnVuY3Rpb24uCisJICAgIEZpeCBhIGZldyBjb3NtZXRpYyBwcm9ibGVtcy4gIFVzZSBkZWZpbmVkIGNvbnN0YW50cyBmb3IgdGhlCisJICAgIHZlcnNpb24gbnVtYmVyLCBzbyB0aGF0IGl0J3MgZGVmaW5lZCBpbiBvbmUgcGxhY2Ugb25seS4KKwkgICAgT25seSBhY2NlcHQgdGhlIGluc3RhbGwgZGlyZWN0b3J5IHdoZW4gaXQgZW5kcyBpbiAidmltIi4KKwkgICAgKEVkdWFyZG8gRmVybmFuZGV6KQorCSAgICBBZGQgYSBkaWZmLmV4ZSBhbmQgdXNlIGl0IGZyb20gdGhlIGRlZmF1bHQgX3ZpbXJjLgorRmlsZXM6CSAgICBuc2lzL2d2aW0ubnNpLCBuc2lzL1JFQURNRS50eHQsIHNyYy9kb3NpbnN0LmMKKworUGF0Y2ggNi4wLjA2NQorUHJvYmxlbTogICAgV2hlbiB1c2luZyAiOm5vcm1hbCIgaW4gJ2luZGVudGV4cHInIGl0IG1heSB1c2UgcmVkbyBjaGFyYWN0ZXJzCisJICAgIGJlZm9yZSBpdHMgYXJndW1lbnQuICAoTmVpbCBCaXJkKQorU29sdXRpb246ICAgU2F2ZSBhbmQgcmVzdG9yZSB0aGUgc3R1ZmYgYnVmZmVyIGluIGV4X25vcm1hbCgpLgorRmlsZXM6CSAgICBzcmMvZXhfZG9jbWQuYywgc3JjL2dldGNoYXIuYywgc3JjL2dsb2JhbHMuaCwgc3JjL3N0cnVjdHMuaAorCitQYXRjaCA2LjAuMDY2CitQcm9ibGVtOiAgICBTb21ldGltZXMgdW5kbyBmb3Igb25lIGNvbW1hbmQgaXMgc3BsaXQgaW50byB0d28gdW5kbyBhY3Rpb25zLgorCSAgICAoSGFsaW0gU2FsbWFuKQorU29sdXRpb246ICAgRG9uJ3Qgc2V0IHRoZSB1bmRvLXN5bmNlZCBmbGFnIHdoZW4gcmV1c2luZyBhIGxpbmUgdGhhdCB3YXMKKwkgICAgYWxyZWFkeSBzYXZlZCBmb3IgdW5kby4KK0ZpbGVzOgkgICAgc3JjL3VuZG8uYworCitQYXRjaCA2LjAuMDY3CitQcm9ibGVtOiAgICBpZl94Y21kc3J2LmMgZG9lc24ndCBjb21waWxlIG9uIHN5c3RlbXMgd2hlcmUgZmRfc2V0IGlzbid0IGRlZmluZWQKKwkgICAgaW4gdGhlIHVzdWFsIGhlYWRlciBmaWxlIChlLmcuLCBBSVgpLiAoTWFyayBXYWdnb25lcikKK1NvbHV0aW9uOiAgIEluY2x1ZGUgc3lzL3NlbGVjdC5oIGluIGlmX3hjbWRzcnYuYyBmb3Igc3lzdGVtcyB0aGF0IGhhdmUgaXQuCitGaWxlczoJICAgIHNyYy9pZl94Y21kc3J2LmMKKworUGF0Y2ggNi4wLjA2OAorUHJvYmxlbTogICAgV2hlbiBmb3JtYXR0aW5nIGEgVmlzdWFsbHkgc2VsZWN0ZWQgYXJlYSB3aXRoICJncSIgYW5kIHRoZSBudW1iZXIKKwkgICAgb2YgbGluZXMgaW5jcmVhc2VzIHRoZSBsYXN0IGxpbmUgbWF5IG5vdCBiZSByZWRyYXduIGNvcnJlY3RseS4KKwkgICAgKFllZ2FwcGFuIExha3NobWFuYW4pCitTb2x1dGlvbjogICBDb3JyZWN0IHRoZSBhcmVhIHRvIGJlIHJlZHJhd24gZm9yIGluc2VydGVkL2RlbGV0ZWQgbGluZXMuCitGaWxlczoJICAgIHNyYy9vcHMuYworCitQYXRjaCA2LjAuMDY5CitQcm9ibGVtOiAgICBVc2luZyAiSyIgb24gYSB3b3JkIHRoYXQgaW5jbHVkZXMgYSAiISIgY2F1c2VzIGEgIk5vIHByZXZpb3VzCisJICAgIGNvbW1hbmQiIGVycm9yLCBiZWNhdXNlIHRoZSAiISIgaXMgZXhwYW5kZWQuIChDcmFpZyBKZWZmcmllcykKK1NvbHV0aW9uOiAgIFB1dCBhIGJhY2tzbGFzaCBiZWZvcmUgdGhlICIhIi4KK0ZpbGVzOgkgICAgc3JjL25vcm1hbC5jCisKK1BhdGNoIDYuMC4wNzAKK1Byb2JsZW06ICAgIFdpbjMyOiBUaGUgZXJyb3IgbWVzc2FnZSBmb3IgYSBmYWlsZWQgZHluYW1pYyBsaW5raW5nIG9mIGEgUGVybCwKKwkgICAgUnVieSwgVGNsIGFuZCBQeXRob24gbGlicmFyeSBpcyB1bmNsZWFyIGFib3V0IHdoYXQgd2VudCB3cm9uZy4KK1NvbHV0aW9uOiAgIEdpdmUgdGhlIG5hbWUgb2YgdGhlIGxpYnJhcnkgb3IgZnVuY3Rpb24gdGhhdCBjb3VsZCBub3QgYmUgbG9hZGVkLgorCSAgICBBbHNvIGZvciB0aGUgaWNvbnYgYW5kIGdldHRleHQgbGlicmFyaWVzIHdoZW4gJ3ZlcmJvc2UnIGlzIHNldC4KK0ZpbGVzOgkgICAgc3JjL2V2YWwuYywgc3JjL2lmX3BlcmwueHMsIHNyYy9pZl9weXRob24uYywgc3JjL2lmX3J1YnkuYywKKwkgICAgc3JjL2lmX3RjbC5jLCBzcmMvbWJ5dGUuYywgc3JjL29zX3dpbjMyLmMsIHNyYy9wcm90by9pZl9wZXJsLnBybywKKwkgICAgc3JjL3Byb3RvL2lmX3B5dGhvbi5wcm8sIHNyYy9wcm90by9pZl9ydWJ5LnBybywKKwkgICAgc3JjL3Byb3RvL2lmX3RjbC5wcm8sIHNyYy9wcm90by9tYnl0ZS5wcm8KKworUGF0Y2ggNi4wLjA3MQorUHJvYmxlbTogICAgVGhlICJpcmlzLWFuc2kiIGJ1aWx0aW4gdGVybWNhcCBpc24ndCB2ZXJ5IGdvb2QuCitTb2x1dGlvbjogICBGaXggdGhlIHdyb25nIGVudHJpZXMuIChEYXZpZCBIYXJyaXNvbikKK0ZpbGVzOgkgICAgc3JjL3Rlcm0uYworCitQYXRjaCA2LjAuMDcyCitQcm9ibGVtOiAgICBXaGVuICdsYXp5cmVkcmF3JyBpcyBzZXQsIGEgbWFwcGluZyB0aGF0IHN0b3BzIFZpc3VhbCBtb2RlLCBtb3ZlcworCSAgICB0aGUgY3Vyc29yIGFuZCBzdGFydHMgVmlzdWFsIG1vZGUgYWdhaW4gY2F1c2VzIGEgcmVkcmF3IHByb2JsZW0uCisJICAgIChCcmlhbiBTaWx2ZXJtYW4pCitTb2x1dGlvbjogICBSZWRyYXcgYm90aCB0aGUgb2xkIGFuZCB0aGUgbmV3IFZpc3VhbCBhcmVhIHdoZW4gbmVjZXNzYXJ5LgorRmlsZXM6CSAgICBzcmMvbm9ybWFsLmMsIHNyYy9zY3JlZW4uYworCitQYXRjaCA2LjAuMDczIChleHRyYSkKK1Byb2JsZW06ICAgIERKR1BQOiBXaGVuIHVzaW5nIENUUkwtWiB0byBzdGFydCBhIHNoZWxsLCB0aGUgcHJvbXB0IGlzIGhhbGZ3YXkKKwkgICAgdGhlIHRleHQuIChWb2xrZXIgS2llZmVsKQorU29sdXRpb246ICAgUG9zaXRpb24gdGhlIHN5c3RlbSBjdXJzb3IgYmVmb3JlIHN0YXJ0aW5nIHRoZSBzaGVsbC4KK0ZpbGVzOgkgICAgc3JjL29zX21zZG9zLmMKKworUGF0Y2ggNi4wLjA3NAorUHJvYmxlbTogICAgV2hlbiB1c2luZyAiJiIgaW4gYSBzdWJzdGl0dXRlIHN0cmluZyBhIG11bHRpLWJ5dGUgY2hhcmFjdGVyIHdpdGgKKwkgICAgYSB0cmFpbGJ5dGUgMHg1YyBpcyBub3QgaGFuZGxlZCBjb3JyZWN0bHkuCitTb2x1dGlvbjogICBSZWNvZ25pemUgbXVsdGktYnl0ZSBjaGFyYWN0ZXJzIGluc2lkZSB0aGUgIiYiIHBhcnQuIChNdXJhb2thIFRhcm8pCitGaWxlczoJICAgIHNyYy9yZWdleHAuYworCitQYXRjaCA2LjAuMDc1CitQcm9ibGVtOiAgICBXaGVuIGNsb3NpbmcgYSBob3Jpem9udGFsbHkgc3BsaXQgd2luZG93IHdoaWxlICdlYWRpcmVjdGlvbicgaXMKKwkgICAgImhvciIgYW5vdGhlciBob3Jpem9udGFsbHkgc3BsaXQgd2luZG93IGlzIHN0aWxsIHJlc2l6ZWQuIChBcm9uCisJICAgIEdyaWZmaXMpCitTb2x1dGlvbjogICBPbmx5IHJlc2l6ZSB3aW5kb3dzIGluIHRoZSBzYW1lIHRvcCBmcmFtZSBhcyB0aGUgd2luZG93IHRoYXQgaXMKKwkgICAgc3BsaXQgb3IgY2xvc2VkLgorRmlsZXM6CSAgICBzcmMvbWFpbi5jLCBzcmMvcHJvdG8vd2luZG93LnBybywgc3JjL3dpbmRvdy5jCisKK1BhdGNoIDYuMC4wNzYKK1Byb2JsZW06ICAgIFdhcm5pbmcgZm9yIHdyb25nIHBvaW50ZXIgdHlwZSB3aGVuIGNvbXBpbGluZy4KK1NvbHV0aW9uOiAgIFVzZSBjaGFyIGluc3RlYWQgb2YgY2hhcl91IHBvaW50ZXIuCitGaWxlczoJICAgIHNyYy92ZXJzaW9uLmMKKworUGF0Y2ggNi4wLjA3NworUHJvYmxlbTogICAgUGF0Y2ggNi4wLjA3NSB3YXMgaW5jb21wbGV0ZS4KK1NvbHV0aW9uOiAgIEZpeCBhbm90aGVyIGNhbGwgdG8gd2luX2VxdWFsKCkuCitGaWxlczoJICAgIHNyYy9vcHRpb24uYworCitQYXRjaCA2LjAuMDc4CitQcm9ibGVtOiAgICBVc2luZyAiZGF3IiBhdCB0aGUgZW5kIG9mIGEgbGluZSBvbiBhIHNpbmdsZS1jaGFyYWN0ZXIgd29yZCBkaWRuJ3QKKwkgICAgaW5jbHVkZSB0aGUgd2hpdGUgc3BhY2UgYmVmb3JlIGl0LiAgQXQgdGhlIGVuZCBvZiB0aGUgZmlsZSBpdAorCSAgICBkaWRuJ3Qgd29yayBhdCBhbGwuICAoR2F2aW4gU2luY2xhaXIpCitTb2x1dGlvbjogICBJbmNsdWRlIHRoZSB3aGl0ZSBzcGFjZSBiZWZvcmUgdGhlIHdvcmQuCitGaWxlczoJICAgIHNyYy9zZWFyY2guYworCitQYXRjaCA2LjAuMDc5CitQcm9ibGVtOiAgICBXaGVuICJXIiBpcyBpbiAnY3BvcHRpb25zJyBhbmQgJ2JhY2t1cGNvcHknIGlzICJubyIgb3IgImF1dG8iLCBjYW4KKwkgICAgc3RpbGwgb3ZlcndyaXRlIGEgcmVhZC1vbmx5IGZpbGUsIGJlY2F1c2UgaXQncyByZW5hbWVkLiAoR2FyeQorCSAgICBIb2xsb3dheSkKK1NvbHV0aW9uOiAgIEFkZCBhIGNoZWNrIGZvciBhIHJlYWQtb25seSBmaWxlIGJlZm9yZSByZW5hbWluZyB0aGUgZmlsZSB0bworCSAgICBiZWNvbWUgdGhlIGJhY2t1cC4KK0ZpbGVzOgkgICAgc3JjL2ZpbGVpby5jCisKK1BhdGNoIDYuMC4wODAKK1Byb2JsZW06ICAgIFdoZW4gdXNpbmcgYSBzZXNzaW9uIGZpbGUgdGhhdCBoYXMgdGhlIHNhbWUgZmlsZSBpbiB0d28gd2luZG93cywKKwkgICAgdGhlIGZpbGVpbmZvKCkgY2FsbCBpbiBkb19lY21kKCkgY2F1c2VzIGEgc2Nyb2xsIGFuZCBhIGhpdC1lbnRlcgorCSAgICBwcm9tcHQuIChSb2JlcnQgV2ViYikKK1NvbHV0aW9uOiAgIERvbid0IHNjcm9sbCB0aGlzIG1lc3NhZ2Ugd2hlbiAnc2hvcnRtZXNzJyBjb250YWlucyAnTycuCitGaWxlczoJICAgIHNyYy9leF9jbWRzLmMKKworUGF0Y2ggNi4wLjA4MQorUHJvYmxlbTogICAgQWZ0ZXIgdXNpbmcgIjpzYXZlYXMiIHRoZSBuZXcgYnVmZmVyIG5hbWUgaXMgYWRkZWQgdG8gdGhlIEJ1ZmZlcnMKKwkgICAgbWVudSB3aXRoIGEgd3JvbmcgbnVtYmVyLiAoQ2hhdWstTWVhbiBQcm91bSkKK1NvbHV0aW9uOiAgIFRyaWdnZXIgQnVmRmlsZVByZSBhbmQgQnVmRmlsZVBvc3QgZXZlbnRzIGZvciB0aGUgcmVuYW1lZCBidWZmZXIKKwkgICAgYW5kIEJ1ZkFkZCBmb3IgdGhlIG9sZCBuYW1lICh3aGljaCBpcyB3aXRoIGEgbmV3IGJ1ZmZlcikuCitGaWxlczoJICAgIHNyYy9leF9jbWRzLmMKKworUGF0Y2ggNi4wLjA4MgorUHJvYmxlbTogICAgV2hlbiBzd2FwcGluZyBzY3JlZW5zIGluIGFuIHh0ZXJtIGFuZCB0aGVyZSBpcyBhbiAoZXJyb3IpIG1lc3NhZ2UKKwkgICAgZnJvbSB0aGUgdmltcmMgc2NyaXB0LCB0aGUgc2hlbGwgcHJvbXB0IGlzIGFmdGVyIHRoZSBtZXNzYWdlLgorU29sdXRpb246ICAgT3V0cHV0IGEgbmV3bGluZSB3aGVuIHRoZXJlIHdhcyBvdXRwdXQgb24gdGhlIGFsdGVybmF0ZSBzY3JlZW4uCisJICAgIEFsc28gd2hlbiBzdGFydGluZyB0aGUgR1VJLgorRmlsZXM6CSAgICBzcmMvbWFpbi5jCisKK1BhdGNoIDYuMC4wODMKK1Byb2JsZW06ICAgIEdUSzogV2hlbiBjb21waWxlZCB3aXRob3V0IG1lbnUgc3VwcG9ydCB0aGUgYnV0dG9ucyBpbiBhIGRpYWxvZworCSAgICBkb24ndCBoYXZlIGFueSB0ZXh0LiAoRXJpayBFZGVsbWFubikKK1NvbHV0aW9uOiAgIEFkZCB0aGUgdGV4dCBhbHNvIHdoZW4gR1RLX1VTRV9BQ0NFTCBpc24ndCBkZWZpbmVkLiAgQW5kIGRlZmluZQorCSAgICBHVEtfVVNFX0FDQ0VMIGFsc28gd2hlbiBub3QgdXNpbmcgbWVudXMuCitGaWxlczoJICAgIHNyYy9ndWlfZ3RrLmMKKworUGF0Y2ggNi4wLjA4NAorUHJvYmxlbTogICAgVVRGLTg6IGEgInIiIGNvbW1hbmQgd2l0aCBhbiBhcmd1bWVudCB0aGF0IGlzIGEga2V5bWFwIGZvciBhCisJICAgIGNoYXJhY3RlciB3aXRoIGEgY29tcG9zaW5nIGNoYXJhY3RlciBjYW4ndCBiZSByZXBlYXRlZCB3aXRoICIuIi4KKwkgICAgKFJhcGhhZWwgRmlua2VsKQorU29sdXRpb246ICAgQWRkIHRoZSBjb21wb3NpbmcgY2hhcmFjdGVycyB0byB0aGUgcmVkbyBidWZmZXIuCitGaWxlczoJICAgIHNyYy9ub3JtYWwuYworCitQYXRjaCA2LjAuMDg1CitQcm9ibGVtOiAgICBXaGVuICdtb3VzZWZvY3VzJyBpcyBzZXQsIHVzaW5nICJzIiB0byBnbyB0byBJbnNlcnQgbW9kZSBhbmQgdGhlbgorCSAgICBtb3ZpbmcgdGhlIG1vdXNlIHBvaW50ZXIgdG8gYW5vdGhlciB3aW5kb3cgc3RvcHMgSW5zZXJ0IG1vZGUsCisJICAgIHdoaWxlIHRoaXMgZG9lc24ndCBoYXBwZW4gd2l0aCAiYSIgb3IgImkiLiAoUm9iZXJ0IFdlYmIpCitTb2x1dGlvbjogICBSZXNldCBmaW5pc2hfb3AgYmVmb3JlIGNhbGxpbmcgZWRpdCgpLgorRmlsZXM6CSAgICBzcmMvbm9ybWFsLmMKKworUGF0Y2ggNi4wLjA4NgorUHJvYmxlbTogICAgV2hlbiB1c2luZyAiZ3UiIHRoZSBtZXNzYWdlIHNheXMgIn5lZCIuCitTb2x1dGlvbjogICBNYWtlIHRoZSBtZXNzYWdlIHNheSAiY2hhbmdlZCIuCitGaWxlczoJICAgIHNyYy9vcHMuYworCitQYXRjaCA2LjAuMDg3IChsYW5nKQorUHJvYmxlbTogICAgTWVzc2FnZSB0cmFuc2xhdGlvbnMgYXJlIGluY29ycmVjdCwgd2hpY2ggbWF5IGNhdXNlIGEgY3Jhc2guCisJICAgIChQZXRlciBGaWd1cmEpCisJICAgIFRoZSBUdXJraXNoIHRyYW5zbGF0aW9ucyBuZWVkZWQgbW9yZSB3b3JrIGFuZCB0aGUgbWFpbnRhaW5lcgorCSAgICBkaWRuJ3QgaGF2ZSB0aW1lLgorU29sdXRpb246ICAgRml4IG9yZGVyIG9mIHByaW50ZiBhcmd1bWVudHMuICBSZW1vdmUgJTIkZCBjb25zdHJ1Y3RzLgorCSAgICBBZGQgIi12IiB0byBtc2dmbXQgdG8gZ2V0IGEgd2FybmluZyBmb3Igd3JvbmcgdHJhbnNsYXRpb25zLgorCSAgICBEb24ndCBpbnN0YWxsIHRoZSBUdXJraXNoIHRyYW5zbGF0aW9ucyBmb3Igbm93LgorCSAgICBVcGRhdGUgYSBmZXcgbW9yZSB0cmFuc2xhdGlvbnMuCitGaWxlczoJICAgIHNyYy9wby9NYWtlZmlsZSwgc3JjL3BvL2FmLnBvLCBzcmMvcG8vY3MucG8sIHNyYy9wby9jcy5jcDEyNTAucG8sCisJICAgIHNyYy9wby9kZS5wbywgc3JjL3BvL2VzLnBvLCBzcmMvcG8vZnIucG8sIHNyYy9wby9pdC5wbywKKwkgICAgc3JjL3BvL2phLnBvLCBzcmMvcG8vamEuc2ppcy5wbywgc3JjL3BvL2tvLnBvLCBzcmMvcG8vcGwucG8sCisJICAgIHNyYy9wby9zay5wbywgc3JjL3BvL3VrLnBvLCBzcmMvcG8vemhfQ04uVVRGLTgucG8sCisJICAgIHNyYy9wby96aF9DTi5jcDkzNi5wbywgc3JjL3BvL3poX0NOLnBvLCBzcmMvcG8vemhfVFcucG8KKworUGF0Y2ggNi4wLjA4OAorUHJvYmxlbTogICAgIi4iIGRvZXNuJ3Qgd29yayBhZnRlciB1c2luZyAicngiIGluIFZpc3VhbCBtb2RlLiAgKENoYXJsZXMKKwkgICAgQ2FtcGJlbGwpCitTb2x1dGlvbjogICBBbHNvIHN0b3JlIHRoZSByZXBsYWNlbWVudCBjaGFyYWN0ZXIgaW4gdGhlIHJlZG8gYnVmZmVyLgorRmlsZXM6CSAgICBzcmMvbm9ybWFsLmMKKworUGF0Y2ggNi4wLjA4OQorUHJvYmxlbTogICAgSW4gYSBDIGZpbGUsIHVzaW5nICI9PSIgdG8gYWxpZ24gYSBsaW5lIHN0YXJ0aW5nIHdpdGggIiogICIgYWZ0ZXIKKwkgICAgYSBsaW5lIHdpdGggIiogLSIgaW5kZW50cyBvbmUgc3BhY2UgdG9vIGZldy4gIChQaWV0IERlbHBvcnQpCitTb2x1dGlvbjogICBBbGlnbiB3aXRoIHRoZSBwcmV2aW91cyBsaW5lIGlmIHRoZSBjb21tZW50LXN0YXJ0LXN0cmluZyBtYXRjaGVzCisJICAgIHRoZXJlLgorRmlsZXM6CSAgICBzcmMvbWlzYzEuYworCitQYXRjaCA2LjAuMDkwCitQcm9ibGVtOiAgICBXaGVuIGEgd3JhcHBpbmcgbGluZSBkb2VzIG5vdCBmaXQgaW4gYSB3aW5kb3cgYW5kICdzY3JvbGxvZmYnIGlzCisJICAgIGJpZ2dlciB0aGFuIGhhbGYgdGhlIHdpbmRvdyBoZWlnaHQsIG1vdmluZyB0aGUgY3Vyc29yIGxlZnQgb3IKKwkgICAgcmlnaHQgY2F1c2VzIHRoZSBzY3JlZW4gdG8gZmxhc2ggYmFkbHkuIChMdWJvbWlyIEhvc3QpCitTb2x1dGlvbjogICBXaGVuIHRoZXJlIGlzIG5vdCBlbm91Z2ggcm9vbSB0byBzaG93ICdzY3JvbGxvZmYnIHNjcmVlbiBsaW5lcyBhbmQKKwkgICAgbmVhciB0aGUgZW5kIG9mIHRoZSBsaW5lLCBzaG93IHRoZSBlbmQgb2YgdGhlIGxpbmUuCitGaWxlczoJICAgIHNyYy9tb3ZlLmMKKworUGF0Y2ggNi4wLjA5MQorUHJvYmxlbTogICAgVXNpbmcgQ1RSTC1PIGluIEluc2VydCBtb2RlLCB3aGlsZSAndmlydHVhbGVkaXQnIGlzICJhbGwiIGFuZCB0aGUKKwkgICAgY3Vyc29yIGlzIGFmdGVyIHRoZSBlbmQtb2YtbGluZSwgbW92ZXMgdGhlIGN1cnNvciBsZWZ0LiAoWWVnYXBwYW4KKwkgICAgTGFrc2htYW5hbikKK1NvbHV0aW9uOiAgIEtlZXAgdGhlIGN1cnNvciBpbiB0aGUgc2FtZSBwb3NpdGlvbi4KK0ZpbGVzOgkgICAgc3JjL2VkaXQuYworCitQYXRjaCA2LjAuMDkyCitQcm9ibGVtOiAgICBUaGUgZXhwbG9yZXIgcGx1Z2luIGRvZXNuJ3QgaWdub3JlIGNhc2Ugb2YgJ3N1ZmZpeGVzJyBvbgorCSAgICBNUy1XaW5kb3dzLiAoTWlrZSBXaWxsaWFtcykKK1NvbHV0aW9uOiAgIE1hdGNoIG9yIGlnbm9yZSBjYXNlIGFzIGFwcHJvcHJpYXRlIGZvciB0aGUgT1MuCitGaWxlczoJICAgIHJ1bnRpbWUvcGx1Z2luL2V4cGxvcmVyLnZpbQorCitQYXRjaCA2LjAuMDkzCitQcm9ibGVtOiAgICBXaGVuIHRoZSBUY2wgbGlicmFyeSBjb3VsZG4ndCBiZSBsb2FkZWQgZHluYW1pY2FsbHksIGdldCBhbiBlcnJvcgorCSAgICBtZXNzYWdlIHdoZW4gY2xvc2luZyBhIGJ1ZmZlciBvciB3aW5kb3cuIChNdXJhb2thIFRhcm8pCitTb2x1dGlvbjogICBPbmx5IGZyZWUgc3RydWN0dXJlcyBpZiBhbHJlYWR5IHVzaW5nIHRoZSBUY2wgaW50ZXJwcmV0ZXIuCitGaWxlczoJICAgIHNyYy9pZl90Y2wuYworCitQYXRjaCA2LjAuMDk0CitQcm9ibGVtOiAgICBBdGhlbmE6IFdoZW4gY2xpY2tpbmcgaW4gdGhlIGhvcml6b250YWwgc2Nyb2xsYmFyIFZpbSBjcmFzaGVzLgorCSAgICAoUGF1bCBBY2tlcnN2aWxsZXIpCitTb2x1dGlvbjogICBVc2UgdGhlIHRodW1iIHNpemUgaW5zdGVhZCBvZiB0aGUgd2luZG93IHBvaW50ZXIgb2YgdGhlIHNjcm9sbGJhcgorCSAgICAod2hpY2ggaXMgTlVMTCkuIChEYXZpZCBIYXJyaXNvbikKKwkgICAgQWxzbyBhdm9pZCB0aGF0IHNjcm9sbGluZyBnb2VzIHRoZSB3cm9uZyB3YXkgaW4gYSBuYXJyb3cgd2luZG93LgorRmlsZXM6CSAgICBzcmMvZ3VpX2F0aGVuYS5jCisKK1BhdGNoIDYuMC4wOTUKK1Byb2JsZW06ICAgIFBlcmw6IERlbGV0aW5nIGxpbmVzIG1heSBsZWF2ZSB0aGUgY3Vyc29yIGJleW9uZCB0aGUgZW5kIG9mIHRoZQorCSAgICBmaWxlLgorU29sdXRpb246ICAgQ2hlY2sgdGhlIGN1cnNvciBwb3NpdGlvbiBhZnRlciBkZWxldGluZyBhIGxpbmUuIChTZXJndWVpKQorRmlsZXM6CSAgICBzcmMvaWZfcGVybC54cworCitQYXRjaCA2LjAuMDk2CitQcm9ibGVtOiAgICBXaGVuICI6c2F2ZWFzIGZuYW1lIiBmYWlscyBiZWNhdXNlIHRoZSBmaWxlIGFscmVhZHkgZXhpc3RzLCB0aGUKKwkgICAgZmlsZSBuYW1lIGlzIGNoYW5nZWQgYW55d2F5IGFuZCBhIGZvbGxvd2luZyAiOnciIHdpbGwgb3ZlcndyaXRlCisJICAgIHRoZSBmaWxlLiAoRXJpYyBDYXJsaWVyKQorU29sdXRpb246ICAgRG9uJ3QgY2hhbmdlIHRoZSBmaWxlIG5hbWUgaWYgdGhlIGZpbGUgYWxyZWFkeSBleGlzdHMuCitGaWxlczoJICAgIHNyYy9leF9jbWRzLmMKKworUGF0Y2ggNi4wLjA5NworUHJvYmxlbTogICAgUmUtaW5kZW50aW5nIGluIEluc2VydCBtb2RlIHdpdGggQ1RSTC1GIG1heSBjYXVzZSBhIGNyYXNoIHdpdGggYQorCSAgICBtdWx0aS1ieXRlIGVuY29kaW5nLgorU29sdXRpb246ICAgQXZvaWQgdXNpbmcgYSBjaGFyYWN0ZXIgYmVmb3JlIHRoZSBzdGFydCBvZiBhIGxpbmUuIChTZXJnZXkKKwkgICAgVmxhc292KQorRmlsZXM6CSAgICBzcmMvZWRpdC5jCisKK1BhdGNoIDYuMC4wOTgKK1Byb2JsZW06ICAgIEdUSzogV2hlbiB1c2luZyBHbm9tZSB0aGUgIlNlYXJjaCIgYW5kICJTZWFyY2ggYW5kIFJlcGxhY2UiIGRpYWxvZworCSAgICBib3hlcyBhcmUgbm90IHRyYW5zbGF0ZWQuCitTb2x1dGlvbjogICBEZWZpbmUgRU5BQkxFX05MUyBiZWZvcmUgaW5jbHVkaW5nIGdub21lLmguIChFZHVhcmRvIEZlcm5hbmRleikKK0ZpbGVzOgkgICAgc3JjL2d1aV9ndGsuYywgc3JjL2d1aV9ndGtfeDExLmMKKworUGF0Y2ggNi4wLjA5OQorUHJvYmxlbTogICAgQ3lnd2luOiBXaGVuIHJ1bm5pbmcgVmkgY29tcGF0aWJsZSBNUy1ET1MgbGluZSBlbmRpbmdzIGNhdXNlCisJICAgIHRyb3VibGUuCitTb2x1dGlvbjogICBNYWtlIHRoZSBkZWZhdWx0IGZvciAnZmlsZWZvcm1hdHMnICJ1bml4LGRvcyIgaW4gVmkgY29tcGF0aWJsZQorCSAgICBtb2RlLiAgKE1pY2hhZWwgU2NoYWFwKQorRmlsZXM6CSAgICBzcmMvb3B0aW9uLmgKKworUGF0Y2ggNi4wLjEwMAorUHJvYmxlbTogICAgIjpiYWRkICswIHRlc3QlZmlsZSIgY2F1c2VzIGEgY3Jhc2guCitTb2x1dGlvbjogICBUYWtlIGludG8gYWNjb3VudCB0aGF0IHRoZSAiKzAiIGlzIE5VTCB0ZXJtaW5hdGVkIHdoZW4gYWxsb2NhdGluZworCSAgICByb29tIGZvciByZXBsYWNpbmcgdGhlICIlIi4KK0ZpbGVzOgkgICAgc3JjL2V4X2RvY21kLmMKKworUGF0Y2ggNi4wLjEwMQorUHJvYmxlbTogICAgIjpta3Nlc3Npb24iIGRvZXNuJ3QgcmVzdG9yZSBlZGl0aW5nIGEgZmlsZSB0aGF0IGhhcyBhICcjJyBvciAnJScKKwkgICAgaW4gaXRzIG5hbWUuICAoV29sZmdhbmcgQmxhbmtlbmJ1cmcpCitTb2x1dGlvbjogICBQdXQgYSBiYWNrc2xhc2ggYmVmb3JlIHRoZSAnIycgYW5kICclJy4KK0ZpbGVzOgkgICAgc3JjL2V4X2RvY21kLmMKKworUGF0Y2ggNi4wLjEwMgorUHJvYmxlbTogICAgV2hlbiBjaGFuZ2luZyBmb2xkcyB0aGUgY3Vyc29yIG1heSBhcHBlYXIgaGFsZndheSBhIGNsb3NlZCBmb2xkLgorCSAgICAoTmFtIFN1bmdIeXVuKQorU29sdXRpb246ICAgU2V0IHdfY2xpbmVfZm9sZGVkIGNvcnJlY3RseS4gKFlhc3VoaXJvIE1hdHN1bW90bykKK0ZpbGVzOgkgICAgc3JjL21vdmUuYworCitQYXRjaCA2LjAuMTAzCitQcm9ibGVtOiAgICBXaGVuIHVzaW5nICdzY3JvbGxiaW5kJyBhIGxhcmdlIHZhbHVlIG9mICdzY3JvbGxvZmYnIHdpbGwgbWFrZSB0aGUKKwkgICAgc2Nyb2xsIGJpbmRpbmcgc3RvcCBuZWFyIHRoZSBlbmQgb2YgdGhlIGZpbGUuIChDb2VuIEVuZ2VsYmFydHMpCitTb2x1dGlvbjogICBEb24ndCB1c2UgJ3Njcm9sbG9mZicgd2hlbiBsaW1pdGluZyB0aGUgdG9wbGluZSBmb3Igc2Nyb2xsCisJICAgIGJpbmRpbmcuIChEYW55IFN0QW1hbnQpCitGaWxlczoJICAgIHNyYy9ub3JtYWwuYworCitQYXRjaCA2LjAuMTA0CitQcm9ibGVtOiAgICBNdWx0aS1ieXRlOiBXaGVuICckJyBpcyBpbiAnY3BvcHRpb25zJywgdHlwaW5nIGEgZG91YmxlLXdpZGUKKwkgICAgY2hhcmFjdGVyIHRoYXQgb3ZlcndyaXRlcyB0aGUgbGVmdCBoYWx2ZSBvZiBhbiBvbGQgZG91YmxlLXdpZGUKKwkgICAgY2hhcmFjdGVyIGNhdXNlcyBhIHJlZHJhdyBwcm9ibGVtIGFuZCB0aGUgY3Vyc29yIHN0b3BzIGJsaW5raW5nLgorU29sdXRpb246ICAgQ2xlYXIgdGhlIHJpZ2h0IGhhbGYgb2YgdGhlIG9sZCBjaGFyYWN0ZXIuIChZYXN1aGlybyBNYXRzdW1vdG8pCitGaWxlczoJICAgIHNyYy9lZGl0LmMsIHNyYy9zY3JlZW4uYworCitQYXRjaCA2LjAuMTA1CitQcm9ibGVtOiAgICBNdWx0aS1ieXRlOiBJbiBhIHdpbmRvdyBvZiBvbmUgY29sdW1uIHdpZGUsIHdpdGggc3ludGF4CisJICAgIGhpZ2hsaWdodGluZyBlbmFibGVkIGEgY3Jhc2ggbWlnaHQgaGFwcGVuLgorU29sdXRpb246ICAgU2tpcCBnZXR0aW5nIHRoZSBzeW50YXggYXR0cmlidXRlIHdoZW4gdGhlIGNoYXJhY3RlciBkb2Vzbid0IGZpdAorCSAgICBhbnl3YXkuICAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorRmlsZXM6CSAgICBzcmMvc2NyZWVuLmMKKworUGF0Y2ggNi4wLjEwNiAoZXh0cmEpCitQcm9ibGVtOiAgICBXaW4zMjogV2hlbiB0aGUgcHJpbnRlciBmb250IGlzIHdyb25nLCB0aGVyZSBpcyBubyBlcnJvciBtZXNzYWdlLgorU29sdXRpb246ICAgR2l2ZSBhbiBhcHByb3ByaWF0ZSBlcnJvciBtZXNzYWdlLiAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorRmlsZXM6CSAgICBzcmMvb3NfbXN3aW4uYworCitQYXRjaCA2LjAuMTA3IChleHRyYSkKK1Byb2JsZW06ICAgIFZpc1ZpbTogV2hlbiBlZGl0aW5nIGFub3RoZXIgZmlsZSwgYSBtb2RpZmllZCBmaWxlIG1heSBiZSB3cml0dGVuCisJICAgIHVuZXhwZWN0ZWRseSBhbmQgd2l0aG91dCB3YXJuaW5nLgorU29sdXRpb246ICAgU3BsaXQgdGhlIHdpbmRvdyBpZiBhIGZpbGUgd2FzIG1vZGlmaWVkLgorRmlsZXM6CSAgICBWaXNWaW0vQ29tbWFuZHMuY3BwCisKK1BhdGNoIDYuMC4xMDgKK1Byb2JsZW06ICAgIFdoZW4gdXNpbmcgZm9sZGluZyBjb3VsZCB0cnkgZGlzcGxheWluZyBsaW5lIHplcm8sIHJlc3VsdGluZyBpbiBhbgorCSAgICBlcnJvciBmb3IgYSBOVUxMIHBvaW50ZXIuCitTb2x1dGlvbjogICBTdG9wIGRlY3JlbWVudGluZyB3X3RvcGxpbmUgd2hlbiB0aGUgZmlyc3QgbGluZSBvZiBhIHdpbmRvdyBpcyBpbgorCSAgICBhIGNsb3NlZCBmb2xkLgorRmlsZXM6CSAgICBzcmMvd2luZG93LmMKKworUGF0Y2ggNi4wLjEwOQorUHJvYmxlbTogICAgWElNOiBXaGVuIHRoZSBpbnB1dCBtZXRob2QgaXMgZW5hYmxlZCwgcmVwZWF0aW5nIGFuIGluc2VydGlvbiB3aXRoCisJICAgICIuIiBkaXNhYmxlcyBpdC4gKE1hcmNlbCBTdml0YWxza3kpCitTb2x1dGlvbjogICBEb24ndCBzdG9yZSB0aGUgaW5wdXQgbWV0aG9kIHN0YXR1cyB3aGVuIGEgY29tbWFuZCBjb21lcyBmcm9tIHRoZQorCSAgICBzdHVmZiBidWZmZXIuCitGaWxlczoJICAgIHNyYy91aS5jCisKK1BhdGNoIDYuMC4xMTAKK1Byb2JsZW06ICAgIFVzaW5nIHVuZG8gYWZ0ZXIgZXhlY3V0aW5nICJPeBtqQXgba2RkIiBmcm9tIGEgcmVnaXN0ZXIgaW4KKwkgICAgYW4gZW1wdHkgYnVmZmVyIGdpdmVzIGFuIGVycm9yIG1lc3NhZ2UuICAoR2VyaGFyZCBIb2NoaG9semVyKQorU29sdXRpb246ICAgRG9uJ3QgYWRqdXN0IHRoZSBib3R0b20gbGluZSBudW1iZXIgb2YgYW4gdW5kbyBibG9jayB3aGVuIGl0J3MKKwkgICAgemVyby4gIEFkZCBhIHRlc3QgZm9yIHRoaXMgcHJvYmxlbS4KK0ZpbGVzOgkgICAgc3JjL3VuZG8uYywgc3JjL3Rlc3RkaXIvdGVzdDIwLmluLCBzcmMvdGVzdGRpci90ZXN0MjAub2sKKworUGF0Y2ggNi4wLjExMQorUHJvYmxlbTogICAgVGhlIHZpcnRjb2woKSBmdW5jdGlvbiBkb2Vzbid0IHRha2UgY2FyZSBvZiAndmlydHVhbGVkaXQnLgorU29sdXRpb246ICAgQWRkIHRoZSBjb2x1bW4gb2Zmc2V0IHdoZW4gbmVlZGVkLiAoWWVnYXBwYW4gTGFrc2htYW5hbikKK0ZpbGVzOgkgICAgc3JjL2V2YWwuYworCitQYXRjaCA2LjAuMTEyCitQcm9ibGVtOiAgICBUaGUgZXhwbG9yZXIgcGx1Z2luIGRvZXNuJ3Qgc29ydCBkaXJlY3RvcmllcyB3aXRoIGEgc3BhY2Ugb3IKKwkgICAgc3BlY2lhbCBjaGFyYWN0ZXIgYWZ0ZXIgYSBkaXJlY3Rvcnkgd2l0aCBhIHNob3J0ZXIgbmFtZS4KK1NvbHV0aW9uOiAgIElnbm9yZSB0aGUgdHJhaWxpbmcgc2xhc2ggd2hlbiBjb21wYXJpbmcgZGlyZWN0b3J5IG5hbWVzLiAgKE1pa2UKKwkgICAgV2lsbGlhbXMpCitGaWxlczoJICAgIHJ1bnRpbWUvcGx1Z2luL2V4cGxvcmVyLnZpbQorCitQYXRjaCA2LjAuMTEzCitQcm9ibGVtOiAgICAiOmVkaXQgfi9mbmFtZSIgZG9lc24ndCB3b3JrIGlmICRIT01FIGluY2x1ZGVzIGEgc3BhY2UuICBBbHNvLAorCSAgICBleHBhbmRpbmcgd2lsZGNhcmRzIHdpdGggdGhlIHNoZWxsIG1heSBmYWlsLiAoSm9obiBEYW5pZWwpCitTb2x1dGlvbjogICBFc2NhcGUgc3BhY2VzIHdpdGggYSBiYWNrc2xhc2ggd2hlbiBuZWVkZWQuCitGaWxlczoJICAgIHNyYy9leF9kb2NtZC5jLCBzcmMvbWlzYzEuYywgc3JjL3Byb3RvL21pc2MxLnBybywgc3JjL29zX3VuaXguYworCitQYXRjaCA2LjAuMTE0CitQcm9ibGVtOiAgICBVc2luZyAiOnAiIHdpdGggZm5hbWVtb2RpZnkoKSBkaWRuJ3QgZXhwYW5kICJ+LyIgb3IgIn51c2VyLyIgdG8gYQorCSAgICBmdWxsIHBhdGguICBGb3IgV2luMzIgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHdhcyBwcmVwZW5kZWQuCisJICAgIChNaWNoYWVsIEdlZGRlcykKK1NvbHV0aW9uOiAgIEV4cGFuZCB0aGUgaG9tZSBkaXJlY3RvcnkuCitGaWxlczoJICAgIHNyYy9ldmFsLmMKKworUGF0Y2ggNi4wLjExNSAoZXh0cmEpCitQcm9ibGVtOiAgICBXaW4zMjogV2hlbiB1c2luZyBhIGRpYWxvZyB3aXRoIGEgdGV4dGZpZWxkIGl0IGNhbm5vdCBzY3JvbGwgdGhlCisJICAgIHRleHQuCitTb2x1dGlvbjogICBBZGQgRVNfQVVUT0hTQ1JPTEwgdG8gdGhlIHRleHRmaWVsZCBzdHlsZS4gKFBlZHJvIEdvbWVzKQorRmlsZXM6CSAgICBzcmMvZ3VpX3czMi5jCisKK1BhdGNoIDYuMC4xMTYgKGV4dHJhKQorUHJvYmxlbTogICAgTVMtV2luZG93cyBOVC8yMDAwL1hQOiBmaWxld3JpdGFibGUoKSBkb2Vzbid0IHdvcmsgY29ycmVjdGx5IGZvcgorCSAgICBmaWxlc3lzdGVtcyB0aGF0IHVzZSBBQ0xzLgorU29sdXRpb246ICAgVXNlIEFDTCBmdW5jdGlvbnMgdG8gY2hlY2sgaWYgYSBmaWxlIGlzIHdyaXRhYmxlLiAoTWlrZSBXaWxsaWFtcykKK0ZpbGVzOgkgICAgc3JjL2V2YWwuYywgc3JjL21hY3Jvcy5oLCBzcmMvb3Nfd2luMzIuYywgc3JjL3Byb3RvL29zX3dpbjMyLnBybworCitQYXRjaCA2LjAuMTE3IChleHRyYSkKK1Byb2JsZW06ICAgIFdpbjMyOiB3aGVuIGRpc2FibGluZyB0aGUgbWVudSwgInNldCBsaW5lcz05OTkiIGRvZXNuJ3QgdXNlIGFsbAorCSAgICB0aGUgYXZhaWxhYmxlIHNjcmVlbiBzcGFjZS4KK1NvbHV0aW9uOiAgIERvbid0IHN1YnRyYWN0IHRoZSBmaXhlZCBjYXB0aW9uIGhlaWdodCBidXQgdGhlIHJlYWwgbWVudSBoZWlnaHQKKwkgICAgZnJvbSB0aGUgYXZhaWxhYmxlIHNjcmVlbiBzcGFjZS4gIEFsc286IEF2b2lkIHJlY3Vyc2lvbiBpbgorCSAgICBndWlfbXN3aW5fZ2V0X21lbnVfaGVpZ2h0KCkuCitGaWxlczoJICAgIHNyYy9ndWlfdzMyLmMsIHNyYy9ndWlfdzQ4LmMKKworUGF0Y2ggNi4wLjExOAorUHJvYmxlbTogICAgV2hlbiAkVE1QRElSIGlzIGEgcmVsYXRpdmUgcGF0aCwgdGhlIHRlbXAgZGlyZWN0b3J5IGlzIG1pc3NpbmcgYQorCSAgICB0cmFpbGluZyBzbGFzaCBhbmQgaXNuJ3QgZGVsZXRlZCB3aGVuIFZpbSBleGl0cy4gKFBldGVyIEhvbG0pCitTb2x1dGlvbjogICBBZGQgdGhlIHNsYXNoIGFmdGVyIGV4cGFuZGluZyB0aGUgZGlyZWN0b3J5IHRvIGFuIGFic29sdXRlIHBhdGguCitGaWxlczoJICAgIHNyYy9maWxlaW8uYworCitQYXRjaCA2LjAuMTE5IChkZXBlbmRzIG9uIHBhdGNoIDYuMC4xMTYpCitQcm9ibGVtOiAgICBWTVM6IGZpbGV3cml0YWJsZSgpIGRvZXNuJ3Qgd29yayBwcm9wZXJseS4KK1NvbHV0aW9uOiAgIFVzZSB0aGUgc2FtZSBtZXRob2QgYXMgZm9yIFVuaXguIChab2x0YW4gQXJwYWRmZnkpCitGaWxlczoJICAgIHNyYy9ldmFsLmMKKworUGF0Y2ggNi4wLjEyMAorUHJvYmxlbTogICAgVGhlIGNvbnZlcnNpb24gdG8gaHRtbCBpc24ndCBjb21wYXRpYmxlIHdpdGggWEhUTUwuCitTb2x1dGlvbjogICBRdW90ZSB0aGUgdmFsdWVzLiAoSmVzcyBUaHJ5c29lZSkKK0ZpbGVzOgkgICAgcnVudGltZS9zeW50YXgvMmh0bWwudmltCisKK1BhdGNoIDYuMC4xMjEgKGV4dHJhKSAoZGVwZW5kcyBvbiBwYXRjaCA2LjAuMTE2KQorUHJvYmxlbTogICAgV2luMzI6IEFmdGVyIHBhdGNoIDYuMC4xMTYgVmltIGRvZXNuJ3QgY29tcGlsZSB3aXRoIG1pbmd3MzIuCitTb2x1dGlvbjogICBBZGQgYW4gI2lmZGVmIEhBVkVfQUNMLgorRmlsZXM6CSAgICBzcmMvb3Nfd2luMzIuYworCitQYXRjaCA2LjAuMTIyIChleHRyYSkKK1Byb2JsZW06ICAgIFdpbjE2OiBTYW1lIHJlc2l6ZSBwcm9ibGVtcyBhcyBwYXRjaCA2LjAuMTE3IGZpeGVkIGZvciBXaW4zMi4gIEFuZAorCSAgICBkaWFsb2cgdGV4dGZpZWxkIHByb2JsZW0gZnJvbSBwYXRjaCA2LjAuMTE1LgorU29sdXRpb246ICAgU2V0IG9sZF9tZW51X2hlaWdodCBvbmx5IHdoZW4gdXNlZC4gIEFkZCBFU19BVVRPSFNDUk9MTCBmbGFnLgorCSAgICAoVmluY2UgTmVncmkpCitGaWxlczoJICAgIHNyYy9ndWlfdzE2LmMKKworUGF0Y2ggNi4wLjEyMyAoZGVwZW5kcyBvbiBwYXRjaCA2LjAuMTE5KQorUHJvYmxlbTogICAgV2luMTY6IENvbXBpbGF0aW9uIHByb2JsZW1zLgorU29sdXRpb246ICAgTW92ZSAiJiYiIHRvIG90aGVyIGxpbmVzLiAoVmluY2UgTmVncmkpCitGaWxlczoJICAgIHNyYy9ldmFsLmMKKworUGF0Y2ggNi4wLjEyNAorUHJvYmxlbTogICAgV2hlbiB1c2luZyBhICI6c3Vic3RpdHV0ZSIgY29tbWFuZCB0aGF0IHN0YXJ0cyB3aXRoICJcPSIKKwkgICAgKGV2YWx1YXRlZCBhcyBhbiBleHByZXNzaW9uKSwgIn4iIHdhcyBzdGlsbCByZXBsYWNlZCB3aXRoIHRoZQorCSAgICBwcmV2aW91cyBzdWJzdGl0dXRlIHN0cmluZy4KK1NvbHV0aW9uOiAgIFNraXAgdGhlIHJlcGxhY2VtZW50IHdoZW4gdGhlIHN1YnN0aXR1dGUgc3RyaW5nIHN0YXJ0cyB3aXRoICJcPSIuCisJICAgIEFsc28gYWRqdXN0IHRoZSBkb2N1bWVudGF0aW9uIGFib3V0IGRvdWJsaW5nIGJhY2tzbGFzaGVzLgorRmlsZXM6CSAgICBzcmMvZXhfY21kcy5jLCBydW50aW1lL2RvYy9jaGFuZ2UudHh0CisKK1BhdGNoIDYuMC4xMjUgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6IFdoZW4gdXNpbmcgdGhlIG11bHRpX2J5dGVfaW1lIGZlYXR1cmUgcHJlc3NpbmcgdGhlIHNoaWZ0CisJICAgIGtleSB3b3VsZCBiZSBoYW5kbGVkIGFzIGlmIGEgY2hhcmFjdGVyIHdhcyBlbnRlcmVkLCB0aHVzIG1hcHBpbmdzCisJICAgIHdpdGggYSBzaGlmdGVkIGtleSBkaWRuJ3Qgd29yay4gKENoYXJsZXMgQ2FtcGJlbGwpCitTb2x1dGlvbjogICBJZ25vcmUgcHJlc3NpbmcgdGhlIHNoaWZ0LCBjb250cm9sIGFuZCBhbHQga2V5cy4KK0ZpbGVzOgkgICAgc3JjL29zX3dpbjMyLmMKKworUGF0Y2ggNi4wLjEyNgorUHJvYmxlbTogICAgVGhlIHB5dGhvbiBsaWJyYXJ5IHdhcyBhbHdheXMgc3RhdGljYWxseSBsaW5rZWQuCitTb2x1dGlvbjogICBMaW5rIHRoZSBweXRob24gbGlicmFyeSBkeW5hbWljYWxseS4gKE1hdHRoaWFzIEtsb3NlKQorRmlsZXM6CSAgICBzcmMvYXV0by9jb25maWd1cmUsIHNyYy9jb25maWd1cmUuaW4KKworUGF0Y2ggNi4wLjEyNworUHJvYmxlbTogICAgV2hlbiB1c2luZyBhIHRlcm1pbmFsIHRoYXQgc3dhcHMgc2NyZWVucyBhbmQgdGhlIE5vcm1hbCBiYWNrZ3JvdW5kCisJICAgIGNvbG9yIGhhcyBhIGRpZmZlcmVudCBiYWNrZ3JvdW5kLCB1c2luZyBhbiBleHRlcm5hbCBjb21tYW5kIG1heQorCSAgICBjYXVzZSB0aGUgY29sb3Igb2YgdGhlIHdyb25nIHNjcmVlbiB0byBiZSBjaGFuZ2VkLiAoTWFyayBXYWdnb25lcikKK1NvbHV0aW9uOiAgIERvbid0IGNhbGwgc2NyZWVuX3N0b3BfaGlnaGxpZ2h0KCkgaW4gc3RvcHRlcm1jYXAoKS4KK0ZpbGVzOgkgICAgc3JjL3Rlcm0uYworCitQYXRjaCA2LjAuMTI4CitQcm9ibGVtOiAgICBXaGVuIG1vdmluZyBhIHZlcnRpY2FsbHkgc3BsaXQgd2luZG93IHRvIHRoZSBmYXIgbGVmdCBvciByaWdodCwKKwkgICAgdGhlIHNjcm9sbGJhcnMgYXJlIG5vdCBhZGp1c3RlZC4gKFNjb3R0IEUgTGVlKSAgV2hlbiAnbW91c2Vmb2N1cycKKwkgICAgaXMgc2V0IHRoZSBtb3VzZSBwb2ludGVyIHdhc24ndCBhZGp1c3RlZC4KK1NvbHV0aW9uOiAgIEFkanVzdCB0aGUgc2Nyb2xsYmFycyBhbmQgdGhlIG1vdXNlIHBvaW50ZXIuCitGaWxlczoJICAgIHNyYy93aW5kb3cuYworCitQYXRjaCA2LjAuMTI5CitQcm9ibGVtOiAgICBXaGVuIHVzaW5nIGEgdmVyeSBsb25nIGZpbGUgbmFtZSwgIjpscyIgKHJlcGVhdGVkIGEgZmV3IHRpbWVzKQorCSAgICBjYXVzZXMgYSBjcmFzaC4gIFRlc3Qgd2l0aCAidmltIGBwZXJsIC1lICdwcmludCAiQSJ4MTAwMCdgIi4KKwkgICAgKFRlamVkYSkKK1NvbHV0aW9uOiAgIFRlcm1pbmF0ZSBhIHN0cmluZyBiZWZvcmUgZ2V0dGluZyBpdHMgbGVuZ3RoIGluIGJ1Zmxpc3RfbGlzdCgpLgorRmlsZXM6CSAgICBzcmMvYnVmZmVyLmMKKworUGF0Y2ggNi4wLjEzMAorUHJvYmxlbTogICAgV2hlbiB1c2luZyAiOmNwcmV2IiB3aGlsZSB0aGUgZXJyb3Igd2luZG93IGlzIG9wZW4sIGFuZCB0aGUgbmV3CisJICAgIGxpbmUgYXQgdGhlIHRvcCB3cmFwcywgdGhlIHdpbmRvdyBpc24ndCBjb3JyZWN0bHkgZHJhd24uCisJICAgIChZZWdhcHBhbiBMYWtzaG1hbmFuKQorU29sdXRpb246ICAgV2hlbiByZWRyYXdpbmcgdGhlIHRvcGxpbmUgZG9uJ3Qgc2Nyb2xsIHR3aWNlLgorRmlsZXM6CSAgICBzcmMvc2NyZWVuLmMKKworUGF0Y2ggNi4wLjEzMQorUHJvYmxlbTogICAgV2hlbiB1c2luZyBidWZuYW1lKCkgYW5kIHRoZXJlIGFyZSB0d28gbWF0Y2hlcyBmb3IgbGlzdGVkIGJ1ZmZlcnMKKwkgICAgYW5kIG9uZSBtYXRjaCBmb3IgYW4gdW5saXN0ZWQgYnVmZmVyLCB0aGUgdW5saXN0ZWQgYnVmZmVyIGlzIHVzZWQuCisJICAgIChBcmljIEJsdW1lcikKK1NvbHV0aW9uOiAgIFdoZW4gdGhlcmUgaXMgYSBtYXRjaCB3aXRoIGEgbGlzdGVkIGJ1ZmZlciwgZG9uJ3QgY2hlY2sgZm9yCisJICAgIHVubGlzdGVkIGJ1ZmZlcnMuCitGaWxlczoJICAgIHNyYy9idWZmZXIuYworCitQYXRjaCA2LjAuMTMyCitQcm9ibGVtOiAgICBXaGVuIHNldHRpbmcgJ2ltaW5zZXJ0JyBpbiB0aGUgdmltcmMgYW5kIHVzaW5nIGFuIHh0ZXJtIHdpdGggdHdvCisJICAgIHNjcmVlbnMgdGhlIHJ1bGVyIGlzIGRyYXduIGluIHRoZSB3cm9uZyBzY3JlZW4uIChJZ29yIEdvbGRlbmJlcmcpCitTb2x1dGlvbjogICBPbmx5IGRyYXcgdGhlIHJ1bGVyIHdoZW4gdXNpbmcgdGhlIHJpZ2h0IHNjcmVlbi4KK0ZpbGVzOgkgICAgc3JjL29wdGlvbi5jCisKK1BhdGNoIDYuMC4xMzMKK1Byb2JsZW06ICAgIFdoZW4gb3BlbmluZyBhbm90aGVyIGJ1ZmZlciB3aGlsZSAna2V5bWFwJyBpcyBzZXQgYW5kICdpbWluc2VydCcKKwkgICAgaXMgemVybywgJ2ltaW5zZXJ0JyBpcyBzZXQgdG8gb25lIHVuZXhwZWN0ZWRseS4gKElnb3IgR29sZGVuYmVyZykKK1NvbHV0aW9uOiAgIERvbid0IHNldCAnaW1pbnNlcnQnIGFzIGEgc2lkZSBlZmZlY3Qgb2YgZGVmaW5pbmcgYSAiOmxtYXAiCisJICAgIG1hcHBpbmcuICBPbmx5IGRvIHRoYXQgd2hlbiAna2V5bWFwJyBpcyBzZXQuCitGaWxlczoJICAgIHNyYy9nZXRjaGFyLmMsIHNyYy9vcHRpb24uYworCitQYXRjaCA2LjAuMTM0CitQcm9ibGVtOiAgICBXaGVuIGNvbXBsZXRpbmcgIjpzZXQgdGFncz0iIGEgcGF0aCB3aXRoIGFuIGVtYmVkZGVkIHNwYWNlIGNhdXNlcworCSAgICB0aGUgY29tcGxldGlvbiB0byBzdG9wLiAoU2VrdG9yIHZhbiBTa2lqbGVuKQorU29sdXRpb246ICAgRXNjYXBlIHNwYWNlcyB3aXRoIGJhY2tzbGFzaGVzLCBsaWtlIGZvciAiOnNldCBwYXRoPSIuICBBbHNvIHRha2UKKwkgICAgYmFja3NsYXNoZXMgaW50byBhY2NvdW50IHdoZW4gc2VhcmNoaW5nIGZvciB0aGUgc3RhcnQgb2YgdGhlIHBhdGgKKwkgICAgdG8gY29tcGxldGUgKGUuZy4sIGZvciAnYmFja3VwZGlyJyBhbmQgJ2NzY29wZXByZycpLgorRmlsZXM6CSAgICBzcmMvZXhfZG9jbWQuYywgc3JjL2V4X2dldGxuLmMsIHNyYy9vcHRpb24uYywgc3JjL3N0cnVjdHMuaAorCitQYXRjaCA2LjAuMTM1CitQcm9ibGVtOiAgICBNZW51cyB0aGF0IGFyZSBub3Qgc3VwcG9zZWQgdG8gZG8gYW55dGhpbmcgdXNlZCAiPE51bD4iLCB3aGljaAorCSAgICBzdGlsbCBwcm9kdWNlZCBhbiBlcnJvciBiZWVwLgorCSAgICBXaGVuIENUUkwtTyBpcyBtYXBwZWQgZm9yIEluc2VydCBtb2RlLCAiOmFtZW51IiBjb21tYW5kcyBkaWRuJ3QKKwkgICAgd29yayBpbiBJbnNlcnQgbW9kZS4KKwkgICAgTWVudSBsYW5ndWFnZSBmYWxscyBiYWNrIHRvIEVuZ2xpc2ggd2hlbiAkTEFORyBlbmRzIGluICJAZXVybyIuCitTb2x1dGlvbjogICBVc2UgIjxOb3A+IiBmb3IgYSBtZW51IGl0ZW0gdGhhdCBkb2Vzbid0IGRvIGFueXRoaW5nLCBqdXN0IGxpa2UKKwkgICAgbWFwcGluZ3MuCisJICAgIFVzZSAiOmFub3JlbWVudSIgaW5zdGVhZCBvZiAiOmFtZW51Ii4KKwkgICAgSWdub3JlICJAZXVybyIgaW4gdGhlIGxvY2FsZSBuYW1lLgorRmlsZXM6CSAgICBydW50aW1lL21ha2VtZW51LnZpbSwgcnVudGltZS9tZW51LnZpbSwgc3JjL21lbnUuYworCitQYXRjaCA2LjAuMTM2CitQcm9ibGVtOiAgICBXaGVuIGNvbXBsZXRpbmcgaW4gSW5zZXJ0IG1vZGUsIGEgbWFwcGluZyBjb3VsZCBiZSB1bmV4cGVjdGVkbHkKKwkgICAgYXBwbGllZC4KK1NvbHV0aW9uOiAgIERvbid0IHVzZSBtYXBwaW5ncyB3aGVuIGNoZWNraW5nIGZvciBhIHR5cGVkIGNoYXJhY3Rlci4KK0ZpbGVzOgkgICAgc3JjL2VkaXQuYworCitQYXRjaCA2LjAuMTM3CitQcm9ibGVtOiAgICBHVUk6IFdoZW4gdXNpbmcgdGhlIGZpbmQgb3IgZmluZC9yZXBsYWNlIGRpYWxvZyBmcm9tIEluc2VydCBtb2RlLAorCSAgICB0aGUgaW5wdXQgbW9kZSBpcyBzdG9wcGVkLgorU29sdXRpb246ICAgRG9uJ3QgdXNlIHRoZSBpbnB1dCBtZXRob2Qgc3RhdHVzIHdoZW4gdGhlIG1haW4gd2luZG93IGRvZXNuJ3QKKwkgICAgaGF2ZSBmb2N1cy4KK0ZpbGVzOgkgICAgc3JjL3VpLmMKKworUGF0Y2ggNi4wLjEzOAorUHJvYmxlbTogICAgR1VJOiBXaGVuIHVzaW5nIHRoZSBmaW5kIG9yIGZpbmQvcmVwbGFjZSBkaWFsb2cgZnJvbSBJbnNlcnQgbW9kZSwKKwkgICAgdGhlIHRleHQgaXMgaW5zZXJ0ZWQgd2hlbiBDVFJMLU8gaXMgbWFwcGVkLiAoQW5kcmUgUGFuZykKKwkgICAgV2hlbiBvcGVuaW5nIHRoZSBkaWFsb2cgYWdhaW4sIGEgd2hvbGUgd29yZCBzZWFyY2ggaXNuJ3QKKwkgICAgcmVjb2duaXplZC4KKwkgICAgV2hlbiBkb2luZyAicmVwbGFjZSBhbGwiIGEgd2hvbGUgd29yZCBzZWFyY2ggd2FzIG5ldmVyIGRvbmUuCitTb2x1dGlvbjogICBEb24ndCBwdXQgYSBzZWFyY2ggb3IgcmVwbGFjZSBjb21tYW5kIGluIHRoZSBpbnB1dCBidWZmZXIsCisJICAgIGV4ZWN1dGUgaXQgZGlyZWN0bHkuCisJICAgIFJlY29nbml6ZSAiXDwiIGFuZCAiXD4iIGFmdGVyIHJlbW92aW5nICJcViIuCisJICAgIEFkZCAiXDwiIGFuZCAiXD4iIGFsc28gZm9yICJyZXBsYWNlIGFsbCIuCitGaWxlczoJICAgIHNyYy9ndWkuYworCitQYXRjaCA2LjAuMTM5CitQcm9ibGVtOiAgICBXaGVuIHN0b3BwaW5nICd3aWxkbWVudScgY29tcGxldGlvbiwgdGhlIHN0YXR1c2xpbmUgb2YgdGhlCisJICAgIGJvdHRvbS1sZWZ0IHZlcnRpY2FsbHkgc3BsaXQgd2luZG93IGlzbid0IHJlZHJhd24uIChZZWdhcHBhbgorCSAgICBMYWtzaG1hbmFuKQorU29sdXRpb246ICAgUmVkcmF3IGFsbCB0aGUgYm90dG9tIHN0YXR1c2xpbmVzLgorRmlsZXM6CSAgICBzcmMvZXhfZ2V0bG4uYywgc3JjL3Byb3RvL3NjcmVlbi5wcm8sIHNyYy9zY3JlZW4uYworCitQYXRjaCA2LjAuMTQwCitQcm9ibGVtOiAgICBNZW1vcnkgYWxsb2NhdGVkIGZvciBsb2NhbCBtYXBwaW5ncyBhbmQgYWJicmV2aWF0aW9ucyBpcyBsZWFrZWQKKwkgICAgd2hlbiB0aGUgYnVmZmVyIGlzIHdpcGVkIG91dC4KK1NvbHV0aW9uOiAgIENsZWFyIHRoZSBsb2NhbCBtYXBwaW5ncyB3aGVuIGRlbGV0aW5nIGEgYnVmZmVyLgorRmlsZXM6CSAgICBzcmMvYnVmZmVyLmMsIHNyYy9nZXRjaGFyLmMsIHNyYy9wcm90by9nZXRjaGFyLnBybywgc3JjL3ZpbS5oCisKK1BhdGNoIDYuMC4xNDEKK1Byb2JsZW06ICAgIFdoZW4gdXNpbmcgIjplbmV3IiBpbiBhbiBlbXB0eSBidWZmZXIsIHNvbWUgYnVmZmVyLWxvY2FsIHRoaW5ncworCSAgICBhcmUgbm90IGNsZWFyZWQuICBiOmtleW1hcF9uYW1lIGlzIG5vdCBzZXQuCitTb2x1dGlvbjogICBDbGVhciB1c2VyIGNvbW1hbmRzIGFuZCBtYXBwaW5ncyBsb2NhbCB0byB0aGUgYnVmZmVyIHdoZW4gcmUtdXNpbmcKKwkgICAgdGhlIGN1cnJlbnQgYnVmZmVyLiAgUmVsb2FkIHRoZSBrZXltYXAuCitGaWxlczoJICAgIHNyYy9idWZmZXIuYworCitQYXRjaCA2LjAuMTQyCitQcm9ibGVtOiAgICBXaGVuIFB5dGhvbiBpcyBsaW5rZWQgc3RhdGljYWxseSwgbG9hZGluZyBkeW5hbWljIGV4dGVuc2lvbnMgbWlnaHQKKwkgICAgZmFpbC4KK1NvbHV0aW9uOiAgIEFkZCBhbiBleHRyYSBsaW5raW5nIGZsYWcgd2hlbiBuZWVkZWQuIChBbmRyZXcgUm9kaW9ub2ZmKQorRmlsZXM6CSAgICBzcmMvY29uZmlndXJlLmluLCBzcmMvYXV0by9jb25maWd1cmUKKworUGF0Y2ggNi4wLjE0MworUHJvYmxlbTogICAgV2hlbiBhIHN5bnRheCBpdGVtIGluY2x1ZGVzIGEgbGluZSBicmVhayBpbiBhIHBhdHRlcm4sIHRoZSBzeW50YXgKKwkgICAgbWF5IG5vdCBiZSB1cGRhdGVkIHByb3Blcmx5IHdoZW4gbWFraW5nIGEgY2hhbmdlLgorU29sdXRpb246ICAgQWRkIHRoZSAibGluZWJyZWFrcyIgYXJndW1lbnQgdG8gIjpzeW4gc3luYyIuCitGaWxlczoJICAgIHJ1bnRpbWUvZG9jL3N5bnRheC50eHQsIHNyYy9zY3JlZW4uYywgc3JjL3N0cnVjdHMuaCwgc3JjL3N5bnRheC5jCisKK1BhdGNoIDYuMC4xNDQKK1Byb2JsZW06ICAgIEFmdGVyIHBhdGNoIDYuMC4wODggcmVkb2luZyAidmVVIiBkb2Vzbid0IHdvcmsuCitTb2x1dGlvbjogICBEb24ndCBhZGQgdGhlICJVIiB0byB0aGUgcmVkbyBidWZmZXIsIGl0IHdpbGwgYmUgdXNlZCBhcyBhbiB1bmRvCisJICAgIGNvbW1hbmQuCitGaWxlczoJICAgIHNyYy9ub3JtYWwuYworCitQYXRjaCA2LjAuMTQ1CitQcm9ibGVtOiAgICBXaGVuIFZpbSBjYW4ndCByZWFkIGFueSBpbnB1dCBpdCBtaWdodCBnZXQgc3R1Y2suICBXaGVuCisJICAgIHJlZGlyZWN0aW5nIHN0ZGluIGFuZCBzdGRlcnIgVmltIHdvdWxkIG5vdCByZWFkIGNvbW1hbmRzIGZyb20gYQorCSAgICBmaWxlLiAgKFNlcnZhdGl1cyBCcmFuZHQpCitTb2x1dGlvbjogICBXaGVuIHJlcGVhdGVkbHkgdHJ5aW5nIHRvIHJlYWQgYSBjaGFyYWN0ZXIgd2hlbiBpdCdzIG5vdCBwb3NzaWJsZSwKKwkgICAgZXhpdCBWaW0uICBXaGVuIHN0ZGluIGFuZCBzdGRlcnIgYXJlIG5vdCBhIHR0eSwgc3RpbGwgdHJ5IHJlYWRpbmcKKwkgICAgZnJvbSB0aGVtLCBidXQgZG9uJ3QgZG8gYSBibG9ja2luZyB3YWl0LgorRmlsZXM6CSAgICBzcmMvdWkuYworCitQYXRjaCA2LjAuMTQ2CitQcm9ibGVtOiAgICBXaGVuICdzdGF0dXNsaW5lJyBjb250YWlucyAiJXsnLSd9IiB0aGlzIHJlc3VsdHMgaW4gYSB6ZXJvLgorCSAgICAoTWlsYW4gVmFuY3VyYSkKK1NvbHV0aW9uOiAgIERvbid0IGhhbmRsZSBudW1iZXJzIHdpdGggYSBtaW51cyBhcyBhIG51bWJlciwgdGhleSB3ZXJlIG5vdAorCSAgICBkaXNwbGF5ZWQgYW55d2F5LgorRmlsZXM6CSAgICBzcmMvYnVmZmVyLmMKKworUGF0Y2ggNi4wLjE0NworUHJvYmxlbTogICAgSXQncyBub3QgZWFzeSB0byBtYXJrIGEgVmltIHZlcnNpb24gYXMgYmVpbmcgbW9kaWZpZWQuICBUaGUgbmV3CisJICAgIGxpY2Vuc2UgcmVxdWlyZXMgdGhpcy4KK1NvbHV0aW9uOiAgIEFkZCB0aGUgLS1tb2RpZmllZC1ieSBhcmd1bWVudCB0byBjb25maWd1cmUgYW5kIHRoZSBNT0RJRklFRF9CWQorCSAgICBkZWZpbmUuICBJJ3MgdXNlZCBpbiB0aGUgaW50cm8gc2NyZWVuIGFuZCB0aGUgIjp2ZXJzaW9uIiBvdXRwdXQuCitGaWxlczoJICAgIHNyYy9hdXRvL2NvbmZpZ3VyZSwgc3JjL2NvbmZpZ3VyZS5pbiwgc3JjL2NvbmZpZy5oLmluLAorCSAgICBzcmMvZmVhdHVyZS5oLCBzcmMvdmVyc2lvbi5jCisKK1BhdGNoIDYuMC4xNDgKK1Byb2JsZW06ICAgIEFmdGVyICJwIiBpbiBhbiBlbXB0eSBsaW5lLCBgWyBnb2VzIHRvIHRoZSBzZWNvbmQgY2hhcmFjdGVyLgorCSAgICAoS29udHJhIEdlcmdlbHkpCitTb2x1dGlvbjogICBEb24ndCBpbmNyZW1lbnQgdGhlIGNvbHVtbiBudW1iZXIgaW4gYW4gZW1wdHkgbGluZS4KK0ZpbGVzOgkgICAgc3JjL29wcy5jCisKK1BhdGNoIDYuMC4xNDkKK1Byb2JsZW06ICAgIFRoZSBwYXR0ZXJuICJcKC5cey19XCkqIiBjYXVzZXMgYSBoYW5nLiAgV2hlbiB1c2luZyBhIHNlYXJjaAorCSAgICBwYXR0ZXJuIHRoYXQgY2F1c2VzIGEgc3RhY2sgb3ZlcmZsb3cgdG8gYmUgZGV0ZWN0ZWQgVmltIGNvdWxkCisJICAgIHN0aWxsIGhhbmcuCitTb2x1dGlvbjogICBDb3JyZWN0bHkgcmVwb3J0ICJvcGVyYW5kIGNvdWxkIGJlIGVtcHR5IiB3aGVuIHVzaW5nICJcey19Ii4KKwkgICAgQ2hlY2sgZm9yICJvdXRfb2Zfc3RhY2siIGluc2lkZSBsb29wcyB0byBhdm9pZCBhIGhhbmcuCitGaWxlczoJICAgIHNyYy9yZWdleHAuYworCitQYXRjaCA2LjAuMTUwCitQcm9ibGVtOiAgICBXaGVuIHVzaW5nIGEgbXVsdGktYnl0ZSBlbmNvZGluZywgcGF0Y2ggNi4wLjE0OCBjYXVzZXMgInAiIHRvIHdvcmsKKwkgICAgbGlrZSAiUCIuIChTdW5nLUh5dW4gTmFtKQorU29sdXRpb246ICAgQ29tcHV0ZSB0aGUgYnl0ZSBsZW5ndGggb2YgYSBtdWx0aS1ieXRlIGNoYXJhY3Rlci4KK0ZpbGVzOgkgICAgc3JjL29wcy5jCisKK1BhdGNoIDYuMC4xNTEKK1Byb2JsZW06ICAgIFJlZHJhd2luZyB0aGUgc3RhdHVzIGxpbmUgYW5kIHJ1bGVyIGNhbiBiZSB3cm9uZyB3aGVuIGl0IGNvbnRhaW5zCisJICAgIG11bHRpLWJ5dGUgY2hhcmFjdGVycy4KK1NvbHV0aW9uOiAgIFVzZSBjaGFyYWN0ZXIgd2lkdGggYW5kIGJ5dGUgbGVuZ3RoIGNvcnJlY3RseS4gKFlhc3VoaXJvIE1hdHN1bW90bykKK0ZpbGVzOgkgICAgc3JjL3NjcmVlbi5jCisKK1BhdGNoIDYuMC4xNTIKK1Byb2JsZW06ICAgIHN0cnRyYW5zKCkgY291bGQgaGFuZyBvbiBhbiBpbGxlZ2FsIFVURi04IGJ5dGUgc2VxdWVuY2UuCitTb2x1dGlvbjogICBTa2lwIG92ZXIgaWxsZWdhbCBieXRlcy4gKFlhc3VoaXJvIE1hdHN1bW90bykKK0ZpbGVzOgkgICAgc3JjL2NoYXJzZXQuYworCitQYXRjaCA2LjAuMTUzCitQcm9ibGVtOiAgICBXaGVuIHVzaW5nIChpbGxlZ2FsKSBkb3VibGUtYnl0ZSBjaGFyYWN0ZXJzIGFuZCBWaW0gc3ludGF4CisJICAgIGhpZ2hsaWdodGluZyBWaW0gY2FuIGNyYXNoLiAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorU29sdXRpb246ICAgSW5jcmVhc2UgYSBwb2ludGVyIG92ZXIgYSBjaGFyYWN0ZXIgaW5zdGVhZCBvZiBhIGJ5dGUuCitGaWxlczoJICAgIHNyYy9yZWdleHAuYworCitQYXRjaCA2LjAuMTU0CitQcm9ibGVtOiAgICBNUy1ET1MgYW5kIE1TLVdpbmRvd3M6IFRoZSBtZW51IGVudHJpZXMgZm9yIHh4ZCBkb24ndCB3b3JrIHdoZW4KKwkgICAgdGhlcmUgaXMgbm8geHhkIGluIHRoZSBwYXRoLgorCSAgICBXaGVuIGNvbnZlcnRpbmcgYmFjayBmcm9tIEhleCB0aGUgZmlsZXR5cGUgbWF5IHJlbWFpbiAieHhkIiBpZiBpdAorCSAgICBpcyBub3QgZGV0ZWN0ZWQuCitTb2x1dGlvbjogICBXaGVuIHh4ZCBpcyBub3QgaW4gdGhlIHBhdGggdXNlIHRoZSBvbmUgaW4gdGhlIHJ1bnRpbWUgZGlyZWN0b3J5LAorCSAgICB3aGVyZSB0aGUgaW5zdGFsbCBwcm9ncmFtIGhhcyBwdXQgaXQuCisJICAgIENsZWFyIHRoZSAnZmlsZXR5cGUnIG9wdGlvbiBiZWZvcmUgZGV0ZWN0aW5nIHRoZSBuZXcgdmFsdWUuCitGaWxlczoJICAgIHJ1bnRpbWUvbWVudS52aW0KKworUGF0Y2ggNi4wLjE1NQorUHJvYmxlbTogICAgTWFjOiBjb21waWxhdGlvbiBwcm9ibGVtcyBpbiB1aS5jIGFmdGVyIHBhdGNoIDYuMC4xNDUuIChBeGVsCisJICAgIEtpZWxob3JuKQorU29sdXRpb246ICAgRG9uJ3QgY2FsbCBtY2hfaW5jaGFyKCkgd2hlbiBOT19DT05TT0xFIGlzIGRlZmluZWQuCitGaWxlczoJICAgIHNyYy91aS5jCisKK1BhdGNoIDYuMC4xNTYKK1Byb2JsZW06ICAgIFN0YXJ0aW5nIFZpbSB3aXRoIHRoZSAtYiBhcmd1bWVudCBhbmQgdHdvIGZpbGVzLCAiOm5leHQiIGRvZXNuJ3QKKwkgICAgc2V0ICdiaW5hcnknIGluIHRoZSBzZWNvbmQgZmlsZSwgbGlrZSBWaW0gNS43LiAoTm9ybWFuIERpYW1vbmQpCitTb2x1dGlvbjogICBTZXQgdGhlIGdsb2JhbCB2YWx1ZSBmb3IgJ2JpbmFyeScuCitGaWxlczoJICAgIHNyYy9vcHRpb24uYworCitQYXRjaCA2LjAuMTU3CitQcm9ibGVtOiAgICBXaGVuIGRlZmluaW5nIGEgdXNlciBjb21tYW5kIHdpdGggIi1jb21wbGV0ZT1kaXIiIGZpbGVzIHdpbGwgYWxzbworCSAgICBiZSBleHBhbmRlZC4gIEFsc28sICItY29tcGxldGU9bWFwcGluZyIgZG9lc24ndCBhcHBlYXIgdG8gd29yay4KKwkgICAgKE1pY2hhZWwgTmF1bWFubikKK1NvbHV0aW9uOiAgIFVzZSB0aGUgZXhwYW5zaW9uIGZsYWdzIGRlZmluZWQgd2l0aCB0aGUgdXNlciBjb21tYW5kLgorCSAgICBIYW5kbGUgZXhwYW5kaW5nIG1hcHBpbmdzIHNwZWNpZmljYWxseS4KK0ZpbGVzOgkgICAgc3JjL2V4X2RvY21kLmMKKworUGF0Y2ggNi4wLjE1OAorUHJvYmxlbTogICAgV2hlbiBnZXR0aW5nIHRoZSB3YXJuaW5nIGZvciBhIGZpbGUgYmVpbmcgY2hhbmdlZCBvdXRzaWRlIG9mIFZpbQorCSAgICBhbmQgcmVsb2FkaW5nIHRoZSBmaWxlLCB0aGUgJ3JlYWRvbmx5JyBvcHRpb24gaXMgcmVzZXQsIGV2ZW4gd2hlbgorCSAgICB0aGUgcGVybWlzc2lvbnMgZGlkbid0IGNoYW5nZS4gKE1hcmNlbCBTdml0YWxza3kpCitTb2x1dGlvbjogICBLZWVwICdyZWFkb25seScgc2V0IHdoZW4gcmVsb2FkaW5nIGEgZmlsZSBhbmQgdGhlIHBlcm1pc3Npb25zCisJICAgIGRpZG4ndCBjaGFuZ2UuCitGaWxlczoJICAgIHNyYy9maWxlaW8uYworCitQYXRjaCA2LjAuMTU5CitQcm9ibGVtOiAgICBXaWxkY2FyZCBleHBhbnNpb24gZm9yICI6ZW1lbnUiIGFsc28gc2hvd3Mgc2VwYXJhdG9ycy4KK1NvbHV0aW9uOiAgIFNraXAgbWVudSBzZXBhcmF0b3JzIGZvciAiOmVtZW51IiwgIjpwb3B1cCIgYW5kICI6dGVhcm9mZiIuCisJICAgIEFsc28sIGRvbid0IGhhbmRsZSAiOnRtZW51IiBhcyBpZiBpdCB3YXMgIjp0ZWFyb2ZmIi4gIEFuZCBsZWF2ZQorCSAgICBvdXQgdGhlIGFsdGVybmF0aXZlcyB3aXRoICImIiBpbmNsdWRlZC4KK0ZpbGVzOgkgICAgc3JjL21lbnUuYworCitQYXRjaCA2LjAuMTYwCitQcm9ibGVtOiAgICBXaGVuIGNvbXBpbGluZyB3aXRoIEdDQyAzLjAuMiBhbmQgdXNpbmcgdGhlICItTzIiIGFyZ3VtZW50LCB0aGUKKwkgICAgb3B0aW1pemVyIGNhdXNlcyBhIHByb2JsZW0gdGhhdCBtYWtlcyBWaW0gY3Jhc2guCitTb2x1dGlvbjogICBBZGQgYSBjb25maWd1cmUgY2hlY2sgdG8gYXZvaWQgIi1PMiIgZm9yIHRoaXMgdmVyc2lvbiBvZiBnY2MuCitGaWxlczoJICAgIHNyYy9jb25maWd1cmUuaW4sIHNyYy9hdXRvL2NvbmZpZ3VyZQorCitQYXRjaCA2LjAuMTYxIChleHRyYSkKK1Byb2JsZW06ICAgIFdpbjMyOiBCaXRtYXBzIGRvbid0IHdvcmsgd2l0aCBzaWducy4KK1NvbHV0aW9uOiAgIE1ha2UgaXQgcG9zc2libGUgdG8gdXNlIGJpdG1hcHMgd2l0aCBzaWducy4gKE11cmFva2EgVGFybykKK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMuYywgc3JjL2ZlYXR1cmUuaCwgc3JjL2d1aV93MzIuYywgc3JjL2d1aV94MTEuYywKKwkgICAgc3JjL3Byb3RvL2d1aV93MzIucHJvLCBzcmMvcHJvdG8vZ3VpX3gxMS5wcm8KKworUGF0Y2ggNi4wLjE2MgorUHJvYmxlbTogICAgQ2xpZW50LXNlcnZlcjogQW4gZXJyb3IgbWVzc2FnZSBmb3IgYSB3cm9uZyBleHByZXNzaW9uIGFwcGVhcnMgaW4KKwkgICAgdGhlIHNlcnZlciBpbnN0ZWFkIG9mIHRoZSBjbGllbnQuCitTb2x1dGlvbjogICBQYXNzIHRoZSBlcnJvciBtZXNzYWdlIGZyb20gdGhlIHNlcnZlciB0byB0aGUgY2xpZW50LiAgQWxzbworCSAgICBhZGp1c3QgdGhlIGV4YW1wbGUgY29kZS4gKEZsZW1taW5nIE1hZHNlbikKK0ZpbGVzOgkgICAgc3JjL2dsb2JhbHMuaCwgc3JjL2lmX3hjbWRzcnYuYywgc3JjL21haW4uYywgc3JjL29zX21zd2luLmMsCisJICAgIHNyYy9wcm90by9pZl94Y21kc3J2LnBybywgc3JjL3Byb3RvL29zX21zd2luLnBybywKKwkgICAgcnVudGltZS9kb2MvZXZhbC50eHQsIHJ1bnRpbWUvdG9vbHMveGNtZHNydl9jbGllbnQuYworCitQYXRjaCA2LjAuMTYzCitQcm9ibGVtOiAgICBXaGVuIHVzaW5nIGEgR1VJIGRpYWxvZywgYSBmaWxlIG5hbWUgaXMgc29tZXRpbWVzIHVzZWQgbGlrZSBpdCB3YXMKKwkgICAgYSBkaXJlY3RvcnkuCitTb2x1dGlvbjogICBTZXBhcmF0ZSBwYXRoIGFuZCBmaWxlIG5hbWUgcHJvcGVybHkuCisJICAgIEZvciBHVEssIE1vdGlmIGFuZCBBdGhlbmEgY29uY2F0ZW5hdGUgZGlyZWN0b3J5IGFuZCBmaWxlIG5hbWUgZm9yCisJICAgIHRoZSBkZWZhdWx0IHNlbGVjdGlvbi4KK0ZpbGVzOgkgICAgc3JjL2RpZmYuYywgc3JjL2V4X2NtZHMuYywgc3JjL2V4X2NtZHMyLmMsIHNyYy9leF9kb2NtZC5jLAorCSAgICBzcmMvZ3VpX2F0aGVuYS5jLCBzcmMvZ3VpX2d0ay5jLCBzcmMvZ3VpX21vdGlmLmMsIHNyYy9tZXNzYWdlLmMKKworUGF0Y2ggNi4wLjE2NAorUHJvYmxlbTogICAgQWZ0ZXIgcGF0Y2ggNi4wLjEzNSB0aGUgbWVudSBlbnRyaWVzIGZvciBwYXN0aW5nIGRvbid0IHdvcmsgaW4KKwkgICAgSW5zZXJ0IGFuZCBWaXN1YWwgbW9kZS4gKE11cmFva2EgVGFybykKK1NvbHV0aW9uOiAgIEFkZCA8c2NyaXB0PiB0byBhbGxvdyBzY3JpcHQtbG9jYWwgbWFwcGluZ3MuCitGaWxlczoJICAgIHJ1bnRpbWUvbWVudS52aW0KKworUGF0Y2ggNi4wLjE2NQorUHJvYmxlbTogICAgVXNpbmcgLS1yZW1vdGUgYW5kIGV4ZWN1dGluZyBsb2NhbGx5IGdpdmVzIHVuYXZvaWRhYmxlIGVycm9yCisJICAgIG1lc3NhZ2VzLgorU29sdXRpb246ICAgQWRkIC0tcmVtb3RlLXNpbGVudCBhbmQgLS1yZW1vdGUtd2FpdC1zaWxlbnQgdG8gc2lsZW50bHkgZXhlY3V0ZQorCSAgICBsb2NhbGx5LgorCSAgICBGb3IgV2luMzIgdGhlcmUgd2FzIG5vIGVycm9yIG1lc3NhZ2Ugd2hlbiBhIHNlcnZlciBkaWRuJ3QgZXhpc3QuCitGaWxlczoJICAgIHNyYy9ldmFsLmMsIHNyYy9pZl94Y21kc3J2LmMsIHNyYy9tYWluLmMsIHNyYy9vc19tc3dpbi5jLAorCSAgICBzcmMvcHJvdG8vaWZfeGNtZHNydi5wcm8sIHNyYy9wcm90by9vc19tc3dpbi5wcm8KKworUGF0Y2ggNi4wLjE2NgorUHJvYmxlbTogICAgR1VJOiBUaGVyZSBpcyBubyB3YXkgdG8gYXZvaWQgZGlhbG9ncyB0byBwb3AgdXAuCitTb2x1dGlvbjogICBBZGQgdGhlICdjJyBmbGFnIHRvICdndWlvcHRpb25zJzogVXNlIGNvbnNvbGUgZGlhbG9ncy4gIChZZWdhcHBhbgorCSAgICBMYWtzaG1hbmFuKQorRmlsZXM6CSAgICBydW50aW1lL2RvYy9vcHRpb25zLnR4dCwgc3JjL29wdGlvbi5oLCBzcmMvbWVzc2FnZS5jCisKK1BhdGNoIDYuMC4xNjcKK1Byb2JsZW06ICAgIFdoZW4gJ2ZpbGVlbmNvZGluZ3MnIGlzICJsYXRpbjIiIHNvbWUgY2hhcmFjdGVycyBpbiB0aGUgaGVscCBmaWxlcworCSAgICBhcmUgZGlzcGxheWVkIHdyb25nLgorU29sdXRpb246ICAgRm9yY2UgdGhlICdmaWxlZW5jb2RpbmcnIGZvciB0aGUgaGVscCBmaWxlcyB0byBiZSAibGF0aW4xIi4KK0ZpbGVzOgkgICAgc3JjL2ZpbGVpby5jCisKK1BhdGNoIDYuMC4xNjgKK1Byb2JsZW06ICAgICI6JXMvXG4vIy8iIGRvZXNuJ3QgcmVwbGFjZSBhdCBhbiBlbXB0eSBsaW5lLiAoQnJ1Y2UgRGVWaXNzZXIpCitTb2x1dGlvbjogICBEb24ndCBza2lwIG1hdGNoZXMgYWZ0ZXIgam9pbmluZyB0d28gbGluZXMuCitGaWxlczoJICAgIHNyYy9leF9jbWRzLmMKKworUGF0Y2ggNi4wLjE2OQorUHJvYmxlbTogICAgV2hlbiBydW4gYXMgZXZpbSBhbmQgdGhlIEdVSSBjYW4ndCBiZSBzdGFydGVkIHdlIGdldCBzdHVjayBpbiBhCisJICAgIHRlcm1pbmFsIHdpdGhvdXQgbWVudXMgaW4gSW5zZXJ0IG1vZGUuCitTb2x1dGlvbjogICBFeGl0IHdoZW4gdXNpbmcgImV2aW0iIGFuZCAiZ3ZpbSAteSIgd2hlbiB0aGUgR1VJIGNhbid0IGJlCisJICAgIHN0YXJ0ZWQuCitGaWxlczoJICAgIHNyYy9tYWluLmMKKworUGF0Y2ggNi4wLjE3MAorUHJvYmxlbTogICAgV2hlbiBwcmludGluZyBkb3VibGUtd2lkdGggY2hhcmFjdGVycyB0aGUgc2l6ZSBvZiB0YWJzIGFmdGVyIHRoZW0KKwkgICAgaXMgd3JvbmcuICAoTXVyYW9rYSBUYXJvKQorU29sdXRpb246ICAgQ29ycmVjdGx5IGNvbXB1dGUgdGhlIGNvbHVtbiBhZnRlciBhIGRvdWJsZS13aWR0aCBjaGFyYWN0ZXIuCitGaWxlczoJICAgIHNyYy9leF9jbWRzMi5jCisKK1BhdGNoIDYuMC4xNzEKK1Byb2JsZW06ICAgIFdpdGggJ2tleW1vZGVsJyBpbmNsdWRpbmcgInN0YXJ0c2VsIiwgaW4gSW5zZXJ0IG1vZGUgYWZ0ZXIgdGhlIGVuZAorCSAgICBvZiBhIGxpbmUsIHNoaWZ0LUxlZnQgZG9lcyBub3QgbW92ZSB0aGUgY3Vyc29yLiAoU3RldmUgSGFsbCkKK1NvbHV0aW9uOiAgIENUUkwtTyBkb2Vzbid0IG1vdmUgdGhlIGN1cnNvciBsZWZ0LCBuZWVkIHRvIGRvIHRoYXQgZXhwbGljaXRseS4KK0ZpbGVzOgkgICAgc3JjL2VkaXQuYworCitQYXRjaCA2LjAuMTcyCitQcm9ibGVtOiAgICBDVFJMLVEgZG9lc24ndCByZXBsYWNlIENUUkwtViBhZnRlciBDVFJMLVggaW4gSW5zZXJ0IG1vZGUgd2hpbGUgaXQKKwkgICAgZG9lcyBpbiBtb3N0IG90aGVyIHNpdHVhdGlvbnMuCitTb2x1dGlvbjogICBNYWtlIENUUkwtWCBDVFJMLVEgd29yayBsaWtlIENUUkwtWCBDVFJMLVYgaW4gSW5zZXJ0IG1vZGUuCitGaWxlczoJICAgIHNyYy9lZGl0LmMKKworUGF0Y2ggNi4wLjE3MworUHJvYmxlbTogICAgV2hlbiB1c2luZyAiUCIgdG8gaW5zZXJ0IGEgbGluZSBicmVhayB0aGUgY3Vyc29yIHJlbWFpbnMgcGFzdCB0aGUKKwkgICAgZW5kIG9mIHRoZSBsaW5lLgorU29sdXRpb246ICAgQ2hlY2sgZm9yIHRoZSBjdXJzb3IgYmVpbmcgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGxpbmUuCitGaWxlczoJICAgIHNyYy9vcHMuYworCitQYXRjaCA2LjAuMTc0CitQcm9ibGVtOiAgICBBZnRlciB1c2luZyAiZ2QiIG9yICJnRCIgdGhlIHNlYXJjaCBkaXJlY3Rpb24gZm9yICJuIiBtYXkgc3RpbGwgYmUKKwkgICAgYmFja3dhcmRzLiAoU2VydmF0aXVzIEJyYW5kdCkKK1NvbHV0aW9uOiAgIFJlc2V0IHRoZSBzZWFyY2ggZGlyZWN0aW9uIHRvIGZvcndhcmQuCitGaWxlczoJICAgIHNyYy9ub3JtYWwuYywgc3JjL3NlYXJjaC5jLCBzcmMvcHJvdG8vc2VhcmNoLnBybworCitQYXRjaCA2LjAuMTc1CitQcm9ibGVtOiAgICAiOmhlbHAgL1x6KFwpIiBkb2Vzbid0IHdvcmsuIChUaG9tYXMgS29laGxlcikKK1NvbHV0aW9uOiAgIERvdWJsZSB0aGUgYmFja3NsYXNoZXMuCitGaWxlczoJICAgIHNyYy9leF9jbWRzLmMKKworUGF0Y2ggNi4wLjE3NgorUHJvYmxlbTogICAgV2hlbiBraWxsZWQgYnkgYSBzaWduYWwgYXV0b2NvbW1hbmRzIGFyZSBzdGlsbCB0cmlnZ2VyZWQgYXMgaWYKKwkgICAgbm90aGluZyBoYXBwZW5lZC4KK1NvbHV0aW9uOiAgIEFkZCB0aGUgdjpkeWluZyB2YXJpYWJsZSB0byBhbGxvdyBhdXRvY29tbWFuZHMgdG8gd29yayBkaWZmZXJlbnRseQorCSAgICB3aGVuIGEgZGVhZGx5IHNpZ25hbCBoYXMgYmVlbiB0cmFwcGVkLgorRmlsZXM6CSAgICBzcmMvZXZhbC5jLCBzcmMvb3NfdW5peC5jLCBzcmMvdmltLmgKKworUGF0Y2ggNi4wLjE3NworUHJvYmxlbTogICAgV2hlbiAnY29tbWVudHN0cmluZycgaXMgZW1wdHkgYW5kICdmb2xkbWV0aG9kJyBpcyAibWFya2VyIiwgInpmIgorCSAgICBkb2Vzbid0IHdvcmsuIChUaG9tYXMgUy4gVXJiYW4pCitTb2x1dGlvbjogICBBZGQgdGhlIG1hcmtlciBldmVuIHdoZW4gJ2NvbW1lbnRzdHJpbmcnIGlzIGVtcHR5LgorRmlsZXM6CSAgICBzcmMvZm9sZC5jLCBzcmMvbm9ybWFsLmMKKworUGF0Y2ggNi4wLjE3OAorUHJvYmxlbTogICAgVW5pbml0aWFsaXplZCBtZW1vcnkgcmVhZCBmcm9tIHhwX2JhY2tzbGFzaCBmaWVsZC4KK1NvbHV0aW9uOiAgIEluaXRpYWxpemUgeHBfYmFja3NsYXNoIGZpZWxkIHByb3Blcmx5LgorRmlsZXM6CSAgICBzcmMvZXZhbC5jLCBzcmMvZXhfZG9jbWQuYywgc3JjL2V4X2dldGxuLmMsIHNyYy9taXNjMS5jLCBzcmMvdGFnLmMKKworUGF0Y2ggNi4wLjE3OQorUHJvYmxlbTogICAgV2luMzI6IFdoZW4gZGlzcGxheWluZyBVVEYtOCBjaGFyYWN0ZXJzIG1heSByZWFkIHVuaW5pdGlhbGl6ZWQKKwkgICAgbWVtb3J5LgorU29sdXRpb246ICAgQWRkIHV0ZmNfcHRyMmxlbl9jaGVja19sZW4oKSB0byBhdm9pZCByZWFkaW5nIHBhc3QgdGhlIGVuZCBvZiBhCisJICAgIHN0cmluZy4KK0ZpbGVzOgkgICAgc3JjL21ieXRlLmMsIHNyYy9wcm90by9tYnl0ZS5wcm8sIHNyYy9ndWlfdzMyLmMKKworUGF0Y2ggNi4wLjE4MAorUHJvYmxlbTogICAgRXhwYW5kaW5nIGVudmlyb25tZW50IHZhcmlhYmxlcyBpbiBhIHN0cmluZyB0aGF0IGVuZHMgaW4gYQorCSAgICBiYWNrc2xhc2ggY291bGQgZ28gcGFzdCB0aGUgZW5kIG9mIHRoZSBzdHJpbmcuCitTb2x1dGlvbjogICBEZXRlY3QgdGhlIHRyYWlsaW5nIGJhY2tzbGFzaC4KK0ZpbGVzOgkgICAgc3JjL21pc2MxLmMKKworUGF0Y2ggNi4wLjE4MQorUHJvYmxlbTogICAgV2hlbiB1c2luZyAiOmNkIGRpciIgbWVtb3J5IHdhcyBsZWFrZWQuCitTb2x1dGlvbjogICBGcmVlIHRoZSBhbGxvY2F0ZWQgbWVtb3J5LiAgQWxzbyBhdm9pZCBhbiB1bmluaXRpYWxpemVkIG1lbW9yeQorCSAgICByZWFkLgorRmlsZXM6CSAgICBzcmMvbWlzYzIuYworCitQYXRjaCA2LjAuMTgyCitQcm9ibGVtOiAgICBXaGVuIHVzaW5nIGEgcmVnZXhwIG9uIG11bHRpLWJ5dGUgY2hhcmFjdGVycywgY291bGQgdHJ5IHRvIHJlYWQgYQorCSAgICBjaGFyYWN0ZXIgYmVmb3JlIHRoZSBzdGFydCBvZiB0aGUgbGluZS4KK1NvbHV0aW9uOiAgIERvbid0IGRlY3JlbWVudCBhIHBvaW50ZXIgdG8gYmVmb3JlIHRoZSBzdGFydCBvZiB0aGUgbGluZS4KK0ZpbGVzOgkgICAgc3JjL3JlZ2V4cC5jCisKK1BhdGNoIDYuMC4xODMKK1Byb2JsZW06ICAgIExlYWtpbmcgbWVtb3J5IHdoZW4gIjpmdW5jISIgcmVkZWZpbmVzIGEgZnVuY3Rpb24uCitTb2x1dGlvbjogICBGcmVlIHRoZSBmdW5jdGlvbiBuYW1lIHdoZW4gaXQncyBub3QgdXNlZC4KK0ZpbGVzOgkgICAgc3JjL2V2YWwuYworCitQYXRjaCA2LjAuMTg0CitQcm9ibGVtOiAgICBMZWFraW5nIG1lbW9yeSB3aGVuIGV4cGFuZGluZyBvcHRpb24gdmFsdWVzLgorU29sdXRpb246ICAgRG9uJ3QgYWx3YXlzIGNvcHkgdGhlIGV4cGFuZGVkIG9wdGlvbiBpbnRvIGFsbG9jYXRlZCBtZW1vcnkuCitGaWxlczoJICAgIHNyYy9vcHRpb24uYworCitQYXRjaCA2LjAuMTg1CitQcm9ibGVtOiAgICBDcmFzaCBpbiBWaW0gd2hlbiBwYXN0aW5nIGEgc2VsZWN0aW9uIGluIGFub3RoZXIgYXBwbGljYXRpb24sIG9uIGEKKwkgICAgNjQgYml0IG1hY2hpbmUuCitTb2x1dGlvbjogICBGaXggdGhlIGZvcm1hdCBmb3IgYW4gQXRvbSB0byAzMiBiaXRzLiAoUGV0ZXIgRGVycikKK0ZpbGVzOgkgICAgc3JjL3VpLmMKKworUGF0Y2ggNi4wLjE4NgorUHJvYmxlbTogICAgWDExOiBUaHJlZSB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB0aGUgY2xpZW50LXNlcnZlciBjb2RlLgorU29sdXRpb246ICAgQWRkIGEgdHlwZWNhc3QgdG8gdW5zaWduZWQgY2hhci4KK0ZpbGVzOgkgICAgc3JjL2lmX3hjbWRzcnYuYworCitQYXRjaCA2LjAuMTg3CitQcm9ibGVtOiAgICAiSSIgaW4gVmlzdWFsIG1vZGUgYW5kIHRoZW4gInUiIHJlcG9ydHMgdG9vIG1hbnkgY2hhbmdlcy4gKEFuZHJldworCSAgICBTdHJ5a2VyKQorCSAgICAiSSIgaW4gVmlzdWFsIGxpbmV3aXNlIG1vZGUgYWRqdXN0cyB0aGUgaW5kZW50IGZvciBubyBhcHBhcmVudAorCSAgICByZWFzb24uCitTb2x1dGlvbjogICBPbmx5IHNhdmUgdGhvc2UgbGluZXMgZm9yIHVuZG8gdGhhdCBhcmUgY2hhbmdlZC4KKwkgICAgRG9uJ3QgY2hhbmdlIHRoZSBpbmRlbnQgYWZ0ZXIgaW5zZXJ0aW5nIGluIFZpc3VhbCBsaW5ld2lzZSBtb2RlLgorRmlsZXM6CSAgICBzcmMvb3BzLmMKKworUGF0Y2ggNi4wLjE4OAorUHJvYmxlbTogICAgV2luMzI6IEFmdGVyIHBhdGNoIDYuMC4xNjEgc2lnbnMgZGVmaW5lZCBpbiB0aGUgdmltcmMgZmlsZSBkb24ndAorCSAgICB3b3JrLgorU29sdXRpb246ICAgSW5pdGlhbGl6ZSB0aGUgc2lnbiBpY29ucyBhZnRlciBpbml0aWFsaXppbmcgdGhlIEdVSS4gKFZpbmNlCisJICAgIE5lZ3JpKQorRmlsZXM6CSAgICBzcmMvZ3VpLmMsIHNyYy9ndWlfeDExLmMKKworUGF0Y2ggNi4wLjE4OQorUHJvYmxlbTogICAgVGhlIHNpemUgb2YgdGhlIFZpc3VhbCBhcmVhIGlzbid0IGFsd2F5cyBkaXNwbGF5ZWQgd2hlbiBzY3JvbGxpbmcKKwkgICAgKCdydWxlcicgb2ZmLCAnc2hvd2NtZCcgb24pLiAgQWxzbyBub3Qgd2hlbiB1c2luZyBhIHNlYXJjaAorCSAgICBjb21tYW5kLiAoU3lsdmFpbiBIaXRpZXIpCitTb2x1dGlvbjogICBSZWRpc3BsYXkgdGhlIHNpemUgb2YgdGhlIHNlbGVjdGlvbiBhZnRlciBzaG93aW5nIHRoZSBtb2RlLgorRmlsZXM6CSAgICBzcmMvc2NyZWVuLmMKKworUGF0Y2ggNi4wLjE5MAorUHJvYmxlbTogICAgR1VJOiB3aGVuICdtb3VzZScgaXMgZW1wdHkgYSBjbGljayB3aXRoIHRoZSBtaWRkbGUgYnV0dG9uIHN0aWxsCisJICAgIG1vdmVzIHRoZSBjdXJzb3IuCitTb2x1dGlvbjogICBQYXN0ZSBhdCB0aGUgY3Vyc29yIHBvc2l0aW9uIGluc3RlYWQgb2YgdGhlIG1vdXNlIHBvc2l0aW9uLgorRmlsZXM6CSAgICBzcmMvbm9ybWFsLmMKKworUGF0Y2ggNi4wLjE5MQorUHJvYmxlbTogICAgV2hlbiBubyBzZXJ2ZXJzIGFyZSBhdmFpbGFibGUgc2VydmVybGlzdCgpIGdpdmVzIGFuIGVycm9yIGluc3RlYWQKKwkgICAgb2YgcmV0dXJuaW5nIGFuIGVtcHR5IHN0cmluZy4gKEhhcmkgS3Jpc2huYSkKK1NvbHV0aW9uOiAgIERvbid0IGdpdmUgYW4gZXJyb3IgbWVzc2FnZS4KK0ZpbGVzOgkgICAgc3JjL2V2YWwuYworCitQYXRjaCA2LjAuMTkyCitQcm9ibGVtOiAgICBXaGVuICd2aXJ0dWFsZWRpdCcgaXMgc2V0LCAieWxqIiBnb2VzIHRvIHRoZSB3cm9uZyBjb2x1bW4uIChBbmRyZXcKKwkgICAgTmlraXRpbikKK1NvbHV0aW9uOiAgIFJlc2V0IHRoZSBmbGFnIHRoYXQgd192aXJ0Y29sIGlzIHZhbGlkIHdoZW4gbW92aW5nIHRoZSBjdXJzb3IgYmFjaworCSAgICB0byB0aGUgc3RhcnQgb2YgdGhlIG9wZXJhdGVkIGFyZWEuCitGaWxlczoJICAgIHNyYy9ub3JtYWwuYworCitQYXRjaCA2LjAuMTkzCitQcm9ibGVtOiAgICBXaGVuICd2aXJ0dWFsZWRpdCcgaXMgc2V0LCBjb2woIi4iKSBhZnRlciB0aGUgZW5kIG9mIHRoZSBsaW5lCisJICAgIHNob3VsZCByZXR1cm4gb25lIGV4dHJhLgorU29sdXRpb246ICAgQWRkIG9uZSB0byB0aGUgY29sdW1uLgorRmlsZXM6CSAgICBzcmMvZXZhbC5jCisKK1BhdGNoIDYuMC4xOTQKK1Byb2JsZW06ICAgICItLXJlbW90ZS1zaWxlbnQiIHRyaWVzIHRvIHNlbmQgYSByZXBseSB0byB0aGUgY2xpZW50LCBsaWtlIGl0IHdhcworCSAgICAiLS1yZW1vdGUtd2FpdCIuCitTb2x1dGlvbjogICBQcm9wZXJseSBjaGVjayBmb3IgdGhlIGFyZ3VtZW50LgorRmlsZXM6CSAgICBzcmMvbWFpbi5jCisKK1BhdGNoIDYuMC4xOTUKK1Byb2JsZW06ICAgIFdoZW4gJ3ZpcnR1YWxlZGl0JyBpcyBzZXQgYW5kIGEgc2VhcmNoIHN0YXJ0cyBpbiB2aXJ0dWFsIHNwYWNlCisJICAgICI6Y2FsbCBzZWFyY2goJ3gnKSIgZ29lcyB0byB0aGUgd3JvbmcgcG9zaXRpb24uIChFcmljIExvbmcpCitTb2x1dGlvbjogICBSZXNldCBjb2xhZGQgd2hlbiBmaW5kaW5nIGEgbWF0Y2guCitGaWxlczoJICAgIHNyYy9zZWFyY2guYworCitQYXRjaCA2LjAuMTk2CitQcm9ibGVtOiAgICBXaGVuICd2aXJ0dWFsZWRpdCcgaXMgc2V0LCAnc2VsZWN0aW9uJyBpcyAiZXhjbHVzaXZlIiBhbmQgdmlzdWFsbHkKKwkgICAgc2VsZWN0aW5nIHBhcnQgb2YgYSB0YWIgYXQgdGhlIHN0YXJ0IG9mIGEgbGluZSwgIngiIGpvaW5zIGl0IHdpdGgKKwkgICAgdGhlIHByZXZpb3VzIGxpbmUuICBBbHNvLCB3aGVuIHRoZSBzZWxlY3Rpb24gc3BhbnMgbW9yZSB0aGFuIG9uZQorCSAgICBsaW5lIHRoZSB3aG9sZSB0YWIgaXMgZGVsZXRlZC4KK1NvbHV0aW9uOiAgIFRha2UgY29sYWRkIGludG8gYWNjb3VudCB3aGVuIGFkanVzdGluZyBmb3IgJ3NlbGVjdGlvbicgYmVpbmcKKwkgICAgImV4Y2x1c2l2ZSIuICBBbHNvIGV4cGFuZCBhIHRhYiBpbnRvIHNwYWNlcyB3aGVuIGRlbGV0aW5nIG1vcmUKKwkgICAgdGhhbiBvbmUgbGluZS4KK0ZpbGVzOgkgICAgc3JjL25vcm1hbC5jLCBzcmMvb3BzLmMKKworUGF0Y2ggNi4wLjE5NworUHJvYmxlbTogICAgV2hlbiAndmlydHVhbGVkaXQnIGlzIHNldCBhbmQgJ3NlbGVjdGlvbicgaXMgImV4Y2x1c2l2ZSIsICJ2JHgiCisJICAgIGRvZXNuJ3QgZGVsZXRlIHRoZSBsYXN0IGNoYXJhY3RlciBpbiB0aGUgbGluZS4gKEVyaWMgTG9uZykKK1NvbHV0aW9uOiAgIERvbid0IHJlc2V0IHRoZSBpbmNsdXNpdmUgZmxhZy4gKEhlbG11dCBTdGllZ2xlcikKK0ZpbGVzOgkgICAgc3JjL25vcm1hbC5jCisKK1BhdGNoIDYuMC4xOTgKK1Byb2JsZW06ICAgIFdoZW4gJ3ZpcnR1YWxlZGl0JyBpcyBzZXQgYW5kICdzaG93YnJlYWsnIGlzIG5vdCBlbXB0eSwgbW92aW5nIHRoZQorCSAgICBjdXJzb3Igb3ZlciB0aGUgbGluZSBicmVhayBkb2Vzbid0IHdvcmsgcHJvcGVybHkuIChFcmljIExvbmcpCitTb2x1dGlvbjogICBNYWtlIGdldHZpc2NvbCgpIGFuZCBnZXR2aXNjb2wyKCkgdXNlIGdldHZ2Y29sKCkgdG8gb2J0YWluIHRoZQorCSAgICB2aXJ0dWFsIGN1cnNvciBwb3NpdGlvbi4gIEFkanVzdCBjb2xhZHZhbmNlKCkgYW5kIG9uZWxlZnQoKSB0bworCSAgICBza2lwIG92ZXIgdGhlICdzaG93YnJlYWsnIGNoYXJhY3RlcnMuCitGaWxlczoJICAgIHNyYy9lZGl0LmMsIHNyYy9taXNjMi5jCisKK1BhdGNoIDYuMC4xOTkKK1Byb2JsZW06ICAgIE11bHRpLWJ5dGU6IGNvdWxkIHVzZSBpY29udigpIGFmdGVyIGNhbGxpbmcgaWNvbnZfZW5kKCkuCisJICAgIChZYXN1aGlybyBNYXRzdW1vdG8pCitTb2x1dGlvbjogICBTdG9wIGNvbnZlcnRpbmcgaW5wdXQgYW5kIG91dHB1dCBzdHJlYW0gYWZ0ZXIgY2FsbGluZyBpY29udl9lbmQoKS4KK0ZpbGVzOgkgICAgc3JjL21ieXRlLmMKKworUGF0Y2ggNi4wLjIwMAorUHJvYmxlbTogICAgQSBzY3JpcHQgdGhhdCBzdGFydHMgd2l0aCAiIyFwZXJsIiBpc24ndCByZWNvZ25pemVkIGFzIGEgUGVybAorCSAgICBmaWxldHlwZS4KK1NvbHV0aW9uOiAgIElnbm9yZSBhIG1pc3NpbmcgcGF0aCBpbiBhIHNjcmlwdCBoZWFkZXIuICBBbHNvLCBzcGVlZCB1cAorCSAgICByZWNvZ25pemluZyBzY3JpcHRzIGJ5IHNpbXBsaWZ5aW5nIHRoZSBwYXR0ZXJucyB1c2VkLgorRmlsZXM6CSAgICBydW50aW1lL3NjcmlwdHMudmltCisKK1BhdGNoIDYuMC4yMDEKK1Byb2JsZW06ICAgIFdoZW4gc2Nyb2xsYmluZGluZyBhbmQgZG9pbmcgYSBsb25nIGp1bXAsIHN3aXRjaGluZyB3aW5kb3dzIGp1bXBzCisJICAgIHRvIGFub3RoZXIgcG9zaXRpb24gaW4gdGhlIGZpbGUuICBTY3JvbGxpbmcgYSBmZXcgbGluZXMgYXQgYSB0aW1lCisJICAgIGlzIE9LLiAoSm9oYW5uZXMgWmVsbG5lcikKK1NvbHV0aW9uOiAgIFdoZW4gc2V0dGluZyB3X3RvcGxpbmUgcmVzZXQgdGhlIGZsYWcgdGhhdCBpbmRpY2F0ZXMgd19ib3RsaW5lIGlzCisJICAgIHZhbGlkLgorRmlsZXM6CSAgICBzcmMvZGlmZi5jCisKK1BhdGNoIDYuMC4yMDIKK1Byb2JsZW06ICAgIFRoZSAiaWNvbj0iIGFyZ3VtZW50IGZvciB0aGUgbWVudSBjb21tYW5kIHRvIGRlZmluZSBhIHRvb2xiYXIgaWNvbgorCSAgICB3aXRoIGEgZmlsZSBkaWRuJ3Qgd29yayBmb3IgR1RLLiAoQ2hyaXN0aWFuIEouIFJvYmluc29uKQorCSAgICBGb3IgTW90aWYgYW5kIEF0aGVuYSBhIGZ1bGwgcGF0aCB3YXMgcmVxdWlyZWQuCitTb2x1dGlvbjogICBTZWFyY2ggdGhlIGljb24gZmlsZSB1c2luZyB0aGUgc3BlY2lmaWVkIHBhdGguICBFeHBhbmQgZW52aXJvbm1lbnQKKwkgICAgdmFyaWFibGVzIGluIHRoZSBmaWxlIG5hbWUuCitGaWxlczoJICAgIHNyYy9ndWlfZ3RrLmMsIHNyYy9ndWlfeDExLmMKKworUGF0Y2ggNi4wLjIwMworUHJvYmxlbTogICAgQ2FuIGNoYW5nZSAnZmlsZWZvcm1hdCcgZXZlbiB0aG91Z2ggJ21vZGlmaWFibGUnIGlzIG9mZi4KKwkgICAgKFNlcnZhdGl1cyBCcmFuZHQpCitTb2x1dGlvbjogICBDb3JyZWN0IGNoZWNrIGZvciBraW5kIG9mIHNldCBjb21tYW5kLgorRmlsZXM6CSAgICBzcmMvb3B0aW9uLmMKKworUGF0Y2ggNi4wLjIwNAorUHJvYmxlbTogICAgIjp1bmxldCIgZG9lc24ndCB3b3JrIGZvciB2YXJpYWJsZXMgd2l0aCBjdXJseSBicmFjZXMuIChUaG9tYXMKKwkgICAgU2NvdHQgVXJiYW4pCitTb2x1dGlvbjogICBIYW5kbGUgdmFyaWFibGUgbmFtZXMgd2l0aCBjdXJseSBicmFjZXMgcHJvcGVybHkuIChWaW5jZSBOZWdyaSkKK0ZpbGVzOgkgICAgc3JjL2V2YWwuYworCitQYXRjaCA2LjAuMjA1IChleHRyYSkKK1Byb2JsZW06ICAgICJndmltIC1mIiBzdGlsbCBmb3JrcyB3aGVuIHVzaW5nIHRoZSBiYXRjaCBzY3JpcHQgdG8gc3RhcnQgVmltLgorU29sdXRpb246ICAgQWRkIGFuIGFyZ3VtZW50IHRvICJzdGFydCIgdG8gdXNlIGEgZm9yZWdyb3VuZCBzZXNzaW9uIChNaWNoYWVsCisJICAgIEdlZGRlcykKK0ZpbGVzOgkgICAgc3JjL2Rvc2luc3QuYworCitQYXRjaCA2LjAuMjA2CitQcm9ibGVtOiAgICBVbml4OiBpZiBleHBhbmRpbmcgYSB3aWxkY2FyZCBpbiBhIGZpbGUgbmFtZSByZXN1bHRzIGluIGEKKwkgICAgd2lsZGNhcmQgY2hhcmFjdGVyIGFuZCB0aGVyZSBhcmUgbW9yZSBwYXJ0cyBpbiB0aGUgcGF0aCB3aXRoIGEKKwkgICAgd2lsZGNhcmQsIGl0IGlzIGV4cGFuZGVkIGFnYWluLgorCSAgICBXaW5kb3dzOiAiOmVkaXQgXFthYmNdIiBjb3VsZCBuZXZlciBlZGl0IHRoZSBmaWxlICJbYWJjXSIuCitTb2x1dGlvbjogICBEb24ndCBleHBhbmQgd2lsZGNhcmRzIGluIGFscmVhZHkgZXhwYW5kZWQgcGFydHMuCisJICAgIERvbid0IHJlbW92ZSBiYWNrc2xhc2hlcyB1c2VkIHRvIGVzY2FwZSB0aGUgc3BlY2lhbCBtZWFuaW5nIG9mIGEKKwkgICAgd2lsZGNhcmQ7IGNhbiBlZGl0ICJbYWJjXSIgaWYgJ1snIGlzIHJlbW92ZWQgZnJvbSAnaXNmbmFtZScuCitGaWxlczoJICAgIHNyYy9taXNjMS5jLCBzcmMvb3NfdW5peC5jCisKK1BhdGNoIDYuMC4yMDcgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6IFRoZSBzaG9ydGN1dHMgYW5kIHN0YXJ0IG1lbnUgZW50cmllcyBsZXQgVmltIHN0YXJ0dXAgaW4gdGhlCisJICAgIGRlc2t0b3AgZGlyZWN0b3J5LCB3aGljaCBpcyBub3QgdmVyeSB1c2VmdWwuCitTb2x1dGlvbjogICBMZXQgc2hvcnRjdXRzIHN0YXJ0IFZpbSBpbiAkSE9NRSBvciAkSE9NRURJUiRIT01FUEFUSC4KK0ZpbGVzOgkgICAgc3JjL2Rvc2luc3QuYworCitQYXRjaCA2LjAuMjA4CitQcm9ibGVtOiAgICBHVUk6IFdoZW4gdXNpbmcgYSBrZXltYXAgYW5kIHRoZSBjdXJzb3IgaXMgbm90IGJsaW5raW5nLCBDVFJMLV4gaW4KKwkgICAgSW5zZXJ0IG1vZGUgZG9lc24ndCBkaXJlY3RseSBjaGFuZ2UgdGhlIGN1cnNvciBjb2xvci4gIChBbGV4CisJICAgIFNvbG93KQorU29sdXRpb246ICAgRm9yY2UgYSByZWRyYXcgb2YgdGhlIGN1cnNvciBhZnRlciBDVFJMLV4uCitGaWxlczoJICAgIHNyYy9lZGl0LmMKKworUGF0Y2ggNi4wLjIwOQorUHJvYmxlbTogICAgR1VJIEdUSzogQWZ0ZXIgc2VsZWN0aW5nIGEgJ2d1aWZvbnQnIHdpdGggdGhlIGZvbnQgZGlhbG9nIHRoZXJlCisJICAgIGFyZSByZWRyYXcgcHJvYmxlbXMgZm9yIG11bHRpLWJ5dGUgY2hhcmFjdGVycy4KK1NvbHV0aW9uOiAgIFNlcGFyYXRlIHRoZSBmb250IGRpYWxvZyBmcm9tIHNldHRpbmcgdGhlIG5ldyBmb250IG5hbWUgdG8gYXZvaWQKKwkgICAgdGhhdCAiKiIgaXMgdXNlZCB0byBmaW5kIHdpZGUgYW5kIGJvbGQgZm9udHMuCisJICAgIFdoZW4gcmVkcmF3aW5nIGV4dHJhIGNoYXJhY3RlcnMgZm9yIHRoZSBib2xkIHRyaWNrLCB0YWtlIGNhcmUgb2YKKwkgICAgVVRGLTggY2hhcmFjdGVycy4KK0ZpbGVzOgkgICAgc3JjL2d1aS5jLCBzcmMvZ3VpX2d0a194MTEuYywgc3JjL29wdGlvbi5jLCBzcmMvcHJvdG8vZ3VpLnBybywKKwkgICAgc3JjL3Byb3RvL2d1aV9ndGtfeDExLnBybworCitQYXRjaCA2LjAuMjEwCitQcm9ibGVtOiAgICBBZnRlciBwYXRjaCA2LjAuMTY3IGl0J3Mgbm8gbG9uZ2VyIHBvc3NpYmxlIHRvIGVkaXQgYSBoZWxwIGZpbGUgaW4KKwkgICAgYW5vdGhlciBlbmNvZGluZyB0aGFuIGxhdGluMS4KK1NvbHV0aW9uOiAgIExldCB0aGUgIisrZW5jPSIgYXJndW1lbnQgb3ZlcnJ1bGUgdGhlIGVuY29kaW5nLgorRmlsZXM6CSAgICBzcmMvZmlsZWlvLmMKKworUGF0Y2ggNi4wLjIxMQorUHJvYmxlbTogICAgV2hlbiByZWFkaW5nIGEgZmlsZSBmYWlscywgdGhlIGJ1ZmZlciBpcyBlbXB0eSwgYnV0IGl0IG1pZ2h0IHN0aWxsCisJICAgIGJlIHBvc3NpYmxlIHRvIHdyaXRlIGl0IHdpdGggIjp3IiBsYXRlci4gIFRoZSBvcmlnaW5hbCBmaWxlIGlzCisJICAgIGxvc3QgdGhlbi4gKFN0ZXZlIEFtZXJpZ2UpCitTb2x1dGlvbjogICBTZXQgdGhlICdyZWFkb25seScgb3B0aW9uIGZvciB0aGUgYnVmZmVyLgorRmlsZXM6CSAgICBzcmMvZmlsZWlvLmMKKworUGF0Y2ggNi4wLjIxMgorUHJvYmxlbTogICAgR1VJIEdUSzogY29uZmlybSgiZm9vIiwgIiIpIGNhdXNlcyBhIGNyYXNoLgorU29sdXRpb246ICAgRG9uJ3QgbWFrZSBhIG5vbi1leGlzdGluZyBidXR0b24gdGhlIGRlZmF1bHQuICBBZGQgYSBkZWZhdWx0ICJPSyIKKwkgICAgYnV0dG9uIGlmIG5vbmUgaXMgc3BlY2lmaWVkLgorRmlsZXM6CSAgICBzcmMvZXZhbC5jLCBzcmMvZ3VpX2d0ay5jCisKK1BhdGNoIDYuMC4yMTMKK1Byb2JsZW06ICAgIFdoZW4gYSBmaWxlIG5hbWUgY29udGFpbnMgdW5wcmludGFibGUgY2hhcmFjdGVycywgQ1RSTC1HIGFuZCBvdGhlcgorCSAgICBjb21tYW5kcyBkb24ndCB3b3JrIHdlbGwuCitTb2x1dGlvbjogICBUdXJuIHVucHJpbnRhYmxlIGludG8gcHJpbnRhYmxlIGNoYXJhY3RlcnMuIChZYXN1aGlybyBNYXRzdW1vdG8pCitGaWxlczoJICAgIHNyYy9idWZmZXIuYywgc3JjL2NoYXJzZXQuYworCitQYXRjaCA2LjAuMjE0CitQcm9ibGVtOiAgICBXaGVuIHRoZXJlIGlzIGEgYnVmZmVyIHdpdGhvdXQgYSBuYW1lLCBlbXB0eSBlbnRyaWVzIGFwcGVhciBpbiB0aGUKKwkgICAganVtcGxpc3Qgc2F2ZWQgaW4gdGhlIHZpbWluZm8gZmlsZS4KK1NvbHV0aW9uOiAgIERvbid0IHdyaXRlIGp1bXBsaXN0IGVudHJpZXMgd2l0aG91dCBhIGZpbGUgbmFtZS4KK0ZpbGVzOgkgICAgc3JjL21hcmsuYworCitQYXRjaCA2LjAuMjE1CitQcm9ibGVtOiAgICBBZnRlciB1c2luZyAiLyIgZnJvbSBWaXN1YWwgbW9kZSB0aGUgUGFzdGUgbWVudSBhbmQgVG9vbGJhcgorCSAgICBlbnRyaWVzIGRvbid0IHdvcmsuICBQYXN0aW5nIHdpdGggdGhlIG1pZGRsZSBtb3VzZSBkb2Vzbid0IHdvcmsKKwkgICAgYW5kIG1vZGVsZXNzIHNlbGVjdGlvbiBkb2Vzbid0IHdvcmsuCitTb2x1dGlvbjogICBVc2UgdGhlIGNvbW1hbmQgbGluZSBtb2RlIG1lbnVzIGFuZCB1c2UgdGhlIG1vdXNlIGxpa2UgaW4gdGhlCisJICAgIGNvbW1hbmQgbGluZS4KK0ZpbGVzOgkgICAgc3JjL2d1aS5jLCBzcmMvbWVudS5jLCBzcmMvdWkuYworCitQYXRjaCA2LjAuMjE2CitQcm9ibGVtOiAgICBBZnRlciByZWxvYWRpbmcgYSBmaWxlLCBkaXNwbGF5ZWQgaW4gYW5vdGhlciB3aW5kb3cgdGhhbiB0aGUKKwkgICAgY3VycmVudCBvbmUsIHdoaWNoIHdhcyBjaGFuZ2VkIG91dHNpZGUgb2YgVmltIHRoZSBwYXJ0IG9mIHRoZSBmaWxlCisJICAgIGFyb3VuZCB0aGUgY3Vyc29yIHNldCBieSBhdXRvY29tbWFuZHMgbWF5IGJlIGRpc3BsYXllZCwgYnV0CisJICAgIGp1bXBpbmcgYmFjayB0byB0aGUgb3JpZ2luYWwgY3Vyc29yIHBvc2l0aW9uIHdoZW4gZW50ZXJpbmcgdGhlCisJICAgIHdpbmRvdyBhZ2Fpbi4KK1NvbHV0aW9uOiAgIFJlc3RvcmUgdGhlIHRvcGxpbmUgb2YgdGhlIHdpbmRvdy4KK0ZpbGVzOgkgICAgc3JjL2ZpbGVpby5jCisKK1BhdGNoIDYuMC4yMTcKK1Byb2JsZW06ICAgIFdoZW4gZ2V0dGluZyBoZWxwIGZyb20gYSBoZWxwIGZpbGUgdGhhdCB3YXMgdXNlZCBiZWZvcmUsIGFuIGVtcHR5CisJICAgIHVubGlzdGVkIGJ1ZmZlciByZW1haW5zIGluIHRoZSBidWZmZXIgbGlzdC4gKEVyaWMgTG9uZykKK1NvbHV0aW9uOiAgIFdpcGUgb3V0IHRoZSBidWZmZXIgdXNlZCB0byBkbyB0aGUgdGFnIGp1bXAgZnJvbS4KK0ZpbGVzOgkgICAgc3JjL2J1ZmZlci5jLCBzcmMvZXhfY21kcy5jLCBzcmMvcHJvdG8vYnVmZmVyLnBybworCitQYXRjaCA2LjAuMjE4CitQcm9ibGVtOiAgICBXaXRoIGV4cGxvcmVyIHBsdWdpbjogInZpbSAtbyBmaWxlbmFtZSBkaXJuYW1lIiBkb2Vzbid0IGxvYWQgdGhlCisJICAgIGV4cGxvcmVyIHdpbmRvdyB1bnRpbCBlbnRlcmluZyB0aGUgd2luZG93LgorU29sdXRpb246ICAgQ2FsbCBzOkVkaXREaXIoKSBmb3IgZWFjaCB3aW5kb3cgYWZ0ZXIgc3RhcnRpbmcgdXAuCitGaWxlczoJICAgIHJ1bnRpbWUvcGx1Z2luL2V4cGxvcmVyLnZpbQorCitQYXRjaCA2LjAuMjE5CitQcm9ibGVtOiAgICAiOnNldGxvY2FsIiBhbmQgIjpzZXRnbG9iYWwiLCB3aXRob3V0IGFyZ3VtZW50cywgZGlzcGxheSB0ZXJtaW5hbAorCSAgICBvcHRpb25zLiAoWmRlbmVrIFNla2VyYSkKK1NvbHV0aW9uOiAgIFNraXAgdGVybWluYWwgb3B0aW9ucyBmb3IgdGhlc2UgdHdvIGNvbW1hbmRzLgorRmlsZXM6CSAgICBzcmMvb3B0aW9uLmMKKworUGF0Y2ggNi4wLjIyMAorUHJvYmxlbTogICAgQWZ0ZXIgcGF0Y2ggNi4wLjIxOCBnZXQgYSBiZWVwIG9uIHN0YXJ0dXAuIChNdXJhb2thIFRhcm8pCitTb2x1dGlvbjogICBEb24ndCB0cnkgZ29pbmcgdG8gYW5vdGhlciB3aW5kb3cgd2hlbiB0aGVyZSBpc24ndCBvbmUuCitGaWxlczoJICAgIHJ1bnRpbWUvcGx1Z2luL2V4cGxvcmVyLnZpbQorCitQYXRjaCA2LjAuMjIxCitQcm9ibGVtOiAgICBXaGVuIHVzaW5nICI6YmRlbCIgYW5kIGFsbCBvdGhlciBidWZmZXJzIGFyZSB1bmxvYWRlZCB0aGUgbG93ZXN0CisJICAgIG51bWJlcmVkIGJ1ZmZlciBpcyBqdW1wZWQgdG8gaW5zdGVhZCBvZiB0aGUgbW9zdCByZWNlbnQgb25lLiAoRGF2ZQorCSAgICBDZWNpbCkKK1NvbHV0aW9uOiAgIFByZWZlciBhbiB1bmxvYWRlZCBidWZmZXIgZnJvbSB0aGUganVtcGxpc3QuCitGaWxlczoJICAgIHNyYy9idWZmZXIuYworCitQYXRjaCA2LjAuMjIyCitQcm9ibGVtOiAgICBXaGVuICd2aXJ0dWFsZWRpdCcgaXMgc2V0IGFuZCB1c2luZyBhdXRvaW5kZW50LCBwcmVzc2luZyBFc2MgYWZ0ZXIKKwkgICAgc3RhcnRpbmcgYSBuZXcgbGluZSBsZWF2ZXMgYmVoaW5kIHBhcnQgb2YgdGhlIGF1dG9pbmRlbnQuIChIZWxtdXQKKwkgICAgU3RpZWdsZXIpCitTb2x1dGlvbjogICBBZnRlciBkZWxldGluZyB0aGUgbGFzdCBjaGFyIGluIHRoZSBsaW5lIGFkanVzdCB0aGUgY3Vyc29yCisJICAgIHBvc2l0aW9uIGluIGRlbF9ieXRlcygpLgorRmlsZXM6CSAgICBzcmMvbWlzYzEuYywgc3JjL29wcy5jCisKK1BhdGNoIDYuMC4yMjMKK1Byb2JsZW06ICAgIFdoZW4gc3BsaXR0aW5nIGEgd2luZG93IHRoYXQgY29udGFpbnMgdGhlIGV4cGxvcmVyLCBoaXR0aW5nIENSIG9uCisJICAgIGEgZmlsZSBuYW1lIGdpdmVzIGVycm9yIG1lc3NhZ2VzLgorU29sdXRpb246ICAgU2V0IHRoZSB3aW5kb3cgdmFyaWFibGVzIGFmdGVyIHNwbGl0dGluZyB0aGUgd2luZG93LgorRmlsZXM6CSAgICBydW50aW1lL3BsdWdpbi9leHBsb3Jlci52aW0KKworUGF0Y2ggNi4wLjIyNAorUHJvYmxlbTogICAgV2hlbiAnc2lkZXNjcm9sbCcgYW5kICdzaWRlc2Nyb2xsb2ZmJyBhcmUgc2V0IGluIGEgbmFycm93IHdpbmRvdworCSAgICB0aGUgdGV4dCBtYXkganVtcCBsZWZ0LXJpZ2h0IGFuZCB0aGUgY3Vyc29yIGlzIGRpc3BsYXllZCBpbiB0aGUKKwkgICAgd3JvbmcgcG9zaXRpb24uIChBcmljIEJsdW1lcikKK1NvbHV0aW9uOiAgIFdoZW4gdGhlcmUgaXMgbm90IGVub3VnaCByb29tLCBjb21wdXRlIHRoZSBsZWZ0IGNvbHVtbiBmb3IgdGhlCisJICAgIHdpbmRvdyB0byBwdXQgdGhlIGN1cnNvciBpbiB0aGUgbWlkZGxlLgorRmlsZXM6CSAgICBzcmMvbW92ZS5jCisKK1BhdGNoIDYuMC4yMjUKK1Byb2JsZW06ICAgIEluIFZpc3VhbCBtb2RlICJnayIgZ2V0cyBzdHVjayBpbiBhIGNsb3NlZCBmb2xkLiAoU3JpbmF0aAorCSAgICBBdmFkaGFudWxhKQorU29sdXRpb246ICAgQmVoYXZlIGRpZmZlcmVudGx5IGluIGEgY2xvc2VkIGZvbGQuCitGaWxlczoJICAgIHNyYy9ub3JtYWwuYworCitQYXRjaCA2LjAuMjI2CitQcm9ibGVtOiAgICBXaGVuIGRvaW5nICI6cmVjb3ZlciBmaWxlIiBnZXQgdGhlIEFUVEVOVElPTiBwcm9tcHQuCisJICAgIEFmdGVyIHJlY292ZXJpbmcgdGhlIHNhbWUgZmlsZSBmaXZlIHRpbWVzIGdldCBhIHJlYWQgZXJyb3Igb3IgYQorCSAgICBjcmFzaC4gIChBbGV4IERhdmlzKQorU29sdXRpb246ICAgU2V0IHRoZSByZWNvdmVyeW1vZGUgZmxhZyBiZWZvcmUgc2V0dGluZyB0aGUgZmlsZSBuYW1lLgorCSAgICBDb3JyZWN0IHRoZSBhbW91bnQgb2YgdXNlZCBtZW1vcnkgZm9yIHRoZSBzaXplIG9mIGJsb2NrIHplcm8uCitGaWxlczoJICAgIHNyYy9leF9kb2NtZC5jCisKK1BhdGNoIDYuMC4yMjcgKGV4dHJhKQorUHJvYmxlbTogICAgVGhlIFJJU0MgT1MgcG9ydCBoYXMgc2V2ZXJhbCBwcm9ibGVtcy4KK1NvbHV0aW9uOiAgIFVwZGF0ZSB0aGUgbWFrZWZpbGUgYW5kIGZpeCBzb21lIG9mIHRoZSBwcm9ibGVtcy4gKEFuZHkgV2luZ2F0ZSkKK0ZpbGVzOgkgICAgc3JjL01ha2Vfcm8ubWFrLCBzcmMvb3NfcmlzY29zLmMsIHNyYy9vc19yaXNjb3MuaCwKKwkgICAgc3JjL3Byb3RvL29zX3Jpc2Nvcy5wcm8sIHNyYy9zZWFyY2guYworCitQYXRjaCA2LjAuMjI4CitQcm9ibGVtOiAgICBBZnRlciBwdXR0aW5nIHRleHQgaW4gVmlzdWFsIG1vZGUgdGhlICddIG1hcmsgaXMgbm90IGF0IHRoZSBlbmQgb2YKKwkgICAgdGhlIHB1dCB0ZXh0LgorCSAgICBVbmRvIGRvZXNuJ3Qgd29yayBwcm9wZXJseSB3aGVuIHB1dHRpbmcgYSB3b3JkIGludG8gYSBWaXN1YWwKKwkgICAgc2VsZWN0aW9uIHRoYXQgc3BhbnMgbW9yZSB0aGFuIG9uZSBsaW5lLgorU29sdXRpb246ICAgQ29ycmVjdCB0aGUgJ10gbWFyayBmb3IgdGhlIGRlbGV0aW5nIHRoZSBWaXN1YWxseSBzZWxlY3RlZCB0ZXh0LgorCSAgICAjaWZkZWYgY29kZSB0aGF0IGRlcGVuZHMgb24gRkVBVF9WSVNVQUwgcHJvcGVybHkuCisJICAgIEFsc28gZml4IHRoYXQgImQiIGNyb3NzaW5nIGxpbmUgYm91bmRhcnkgcHV0cyAnWyBqdXN0IGJlZm9yZQorCSAgICBkZWxldGVkIHRleHQuCisJICAgIEZpeCB1bmRvIGJ5IHNhdmluZyBhbGwgZGVsZXRlZCBsaW5lcyBhdCBvbmNlLgorRmlsZXM6CSAgICBzcmMvZXhfZG9jbWQuYywgc3JjL2dsb2JhbHMuaCwgc3JjL25vcm1hbC5jLCBzcmMvb3BzLmMsCisJICAgIHNyYy9zdHJ1Y3RzLmgsIHNyYy92aW0uaAorCitQYXRjaCA2LjAuMjI5CitQcm9ibGVtOiAgICBNdWx0aS1ieXRlOiBXaXRoICdtJyBpbiAnZm9ybWF0b3B0aW9ucycsIGZvcm1hdHRpbmcgZG9lc24ndCBicmVhaworCSAgICBhdCBhIG11bHRpLWJ5dGUgY2hhciBmb2xsb3dlZCBieSBhbiBBU0NJSSBjaGFyLCBhbmQgdGhlIG90aGVyIHdheQorCSAgICBhcm91bmQuIChNdXJhb2thIFRhcm8pCisJICAgIFdoZW4gam9pbmluZyBsaW5lcyBhIHNwYWNlIGlzIGluc2VydGVkIGJldHdlZW4gbXVsdGktYnl0ZQorCSAgICBjaGFyYWN0ZXJzLCB3aGljaCBpcyBub3QgYWx3YXlzIHdhbnRlZC4KK1NvbHV0aW9uOiAgIENoZWNrIGZvciBtdWx0aS1ieXRlIGNoYXJhY3RlciBiZWZvcmUgYW5kIGFmdGVyIHRoZSBicmVha3BvaW50LgorCSAgICBEb24ndCBpbnNlcnQgYSBzcGFjZSBiZWZvcmUgb3IgYWZ0ZXIgYSBtdWx0aS1ieXRlIGNoYXJhY3RlciB3aGVuCisJICAgIGpvaW5pbmcgbGluZXMgYW5kIHRoZSAnTScgZmxhZyBpcyBpbiAnZm9ybWF0b3B0aW9ucycuICBEb24ndAorCSAgICBpbnNlcnQgYSBzcGFjZSBiZXR3ZWVuIG11bHRpLWJ5dGUgY2hhcmFjdGVycyB3aGVuIHRoZSAnQicgZmxhZyBpcworCSAgICBpbiAnZm9ybWF0b3B0aW9ucycuCitGaWxlczoJICAgIHNyYy9lZGl0LmMsIHNyYy9vcHMuYywgc3JjL29wdGlvbi5oCisKK1BhdGNoIDYuMC4yMzAKK1Byb2JsZW06ICAgIFRoZSAiOiIgdXNlZCBhcyBhIG1vdGlvbiBhZnRlciBhbiBvcGVyYXRvciBpcyBleGNsdXNpdmUsIGJ1dAorCSAgICBzb21ldGltZXMgaXQgc2hvdWxkIGJlIGluY2x1c2l2ZS4KK1NvbHV0aW9uOiAgIE1ha2UgdGhlICJ2IiBpbiBiZXR3ZWVuIGFuIG9wZXJhdG9yIGFuZCBtb3Rpb24gdG9nZ2xlCisJICAgIGluY2x1c2l2ZS9leGNsdXNpdmUuIChTZXJ2YXRpdXMgQnJhbmR0KQorRmlsZXM6CSAgICBydW50aW1lL2RvYy9tb3Rpb24udHh0LCBzcmMvbm9ybWFsLmMKKworUGF0Y2ggNi4wLjIzMQorUHJvYmxlbTogICAgImdkIiBhbmQgImdEIiBkb24ndCB3b3JrIHdoZW4gdGhlIHZhcmlhYmxlIG1hdGNoZXMgaW4gYSBjb21tZW50CisJICAgIGp1c3QgYWJvdmUgdGhlIG1hdGNoIHRvIGJlIGZvdW5kLiAoU2VydmF0aXVzIEJyYW5kdCkKK1NvbHV0aW9uOiAgIENvbnRpbnVlIHNlYXJjaGluZyBpbiB0aGUgZmlyc3QgY29sdW1uIGJlbG93IHRoZSBjb21tZW50LgorRmlsZXM6CSAgICBzcmMvbm9ybWFsLmMKKworUGF0Y2ggNi4wLjIzMgorUHJvYmxlbTogICAgInZpbSAtLXZlcnNpb24iIHByaW50cyBvbiBzdGRlcnIgd2hpbGUgInZpbSAtLWhlbHAiIHByaW50cyBvbgorCSAgICBzdGRvdXQuCitTb2x1dGlvbjogICBNYWtlICJ2aW0gLS12ZXJzaW9uIiB1c2Ugc3Rkb3V0LgorRmlsZXM6CSAgICBydW50aW1lL2RvYy9zdGFydGluZy50eHQsIHNyYy9nbG9iYWxzLmgsIHNyYy9tYWluLmMsIHNyYy9tZXNzYWdlLmMKKworUGF0Y2ggNi4wLjIzMworUHJvYmxlbTogICAgIlwxXHssOH0iIGluIGEgcmVnZXhwIGlzIG5vdCBhbGxvd2VkLCBidXQgaXQgc2hvdWxkIHdvcmssIGJlY2F1c2UKKwkgICAgdGhlcmUgaXMgYW4gdXBwZXIgbGltaXQuICAoSmltIEJhdHRsZSkKK1NvbHV0aW9uOiAgIEFsbG93IHVzaW5nICJce21pbixtYXh9IiBhZnRlciBhbiBhdG9tIHRoYXQgY2FuIGJlIGVtcHR5IGlmIHRoZXJlCisJICAgIGlzIGFuIHVwcGVyIGxpbWl0LgorRmlsZXM6CSAgICBzcmMvcmVnZXhwLmMKKworUGF0Y2ggNi4wLjIzNAorUHJvYmxlbTogICAgSXQncyBub3QgZWFzeSB0byBzZXQgdGhlIGN1cnNvciBwb3NpdGlvbiB3aXRob3V0IG1vZGlmeWluZyBtYXJrcy4KK1NvbHV0aW9uOiAgIEFkZCB0aGUgY3Vyc29yKCkgZnVuY3Rpb24uIChZZWdhcHBhbiBMYWtzaG1hbmFuKQorRmlsZXM6CSAgICBydW50aW1lL2RvYy9ldmFsLnR4dCwgc3JjL2V2YWwuYworCitQYXRjaCA2LjAuMjM1CitQcm9ibGVtOiAgICBXaGVuIHdyaXRpbmcgYSBmaWxlIGFuZCByZW5hbWluZyB0aGUgb3JpZ2luYWwgZmlsZSB0byBtYWtlIHRoZQorCSAgICBiYWNrdXAsIHBlcm1pc3Npb25zIGNvdWxkIGNoYW5nZSB3aGVuIHNldHRpbmcgdGhlIG93bmVyLgorU29sdXRpb246ICAgT25seSBzZXQgdGhlIG93bmVyIHdoZW4gaXQncyBuZWVkZWQgYW5kIHNldCB0aGUgcGVybWlzc2lvbnMgYWdhaW4KKwkgICAgYWZ0ZXJ3YXJkcy4KKwkgICAgV2hlbiAnYmFja3VwY29weScgaXMgImF1dG8iIGNoZWNrIHRoYXQgdGhlIG93bmVyIGFuZCBwZXJtaXNzaW9ucworCSAgICBvZiBhIG5ld2x5IGNyZWF0ZWQgZmlsZSBjYW4gYmUgc2V0IHByb3Blcmx5LgorRmlsZXM6CSAgICBzcmMvZmlsZWlvLmMKKworUGF0Y2ggNi4wLjIzNgorUHJvYmxlbTogICAgIjplZGl0IiB3aXRob3V0IGFyZ3VtZW50IHNob3VsZCBtb3ZlIGN1cnNvciB0byBsaW5lIDEgaW4gVmkKKwkgICAgY29tcGF0aWJsZSBtb2RlLgorU29sdXRpb246ICAgQWRkICdnJyBmbGFnIHRvICdjcG9wdGlvbnMnLgorRmlsZXM6CSAgICBydW50aW1lL2RvYy9vcHRpb25zLnR4dCwgc3JjL2V4X2RvY21kLmMsIHNyYy9vcHRpb24uaAorCitQYXRjaCA2LjAuMjM3CitQcm9ibGVtOiAgICBJbiBhIEMgZmlsZSwgdXNpbmcgdGhlIGZpbGV0eXBlIHBsdWdpbiwgcmUtaW5kZW50aW5nIGEgY29tbWVudAorCSAgICB3aXRoIHR3byBzcGFjZXMgYWZ0ZXIgdGhlIG1pZGRsZSAiKiIgZG9lc24ndCBhbGlnbiBwcm9wZXJseS4KK1NvbHV0aW9uOiAgIERvbid0IHVzZSBhIG1pZGRsZSBlbnRyeSBmcm9tIGEgc3RhcnQvbWlkZGxlL2VuZCB0byBsaW5lIHVwIHdpdGgKKwkgICAgdGhlIHN0YXJ0IG9mIHRoZSBjb21tZW50IHdoZW4gdGhlIHN0YXJ0IHBhcnQgZG9lc24ndCBtYXRjaCB3aXRoCisJICAgIHRoZSBhY3R1YWwgY29tbWVudCBzdGFydC4KK0ZpbGVzOgkgICAgc3JjL21pc2MxLmMKKworUGF0Y2ggNi4wLjIzOAorUHJvYmxlbTogICAgVXNpbmcgYSAiOnN1YnN0aXR1dGUiIGNvbW1hbmQgd2l0aCBhIHN1YnN0aXR1dGUoKSBjYWxsIGluIHRoZQorCSAgICBzdWJzdGl0dXRpb24gZXhwcmVzc2lvbiBjYXVzZXMgZXJyb3JzLiAoU3JpbmF0aCBBdmFkaGFudWxhKQorU29sdXRpb246ICAgU2F2ZSBhbmQgcmVzdG9yZSBwb2ludGVycyB3aGVuIGRvaW5nIHN1YnN0aXR1dGlvbiByZWN1cnNpdmVseS4KK0ZpbGVzOgkgICAgc3JjL3JlZ2V4cC5jCisKK1BhdGNoIDYuMC4yMzkKK1Byb2JsZW06ICAgIFVzaW5nICJBIiB0byBhcHBlbmQgYWZ0ZXIgYSBWaXN1YWxseSBzZWxlY3RlZCBibG9jayB3aGljaCBpcyBhZnRlcgorCSAgICB0aGUgZW5kIG9mIHRoZSBsaW5lLCBzcGFjZXMgYXJlIGluc2VydGVkIGluIHRoZSB3cm9uZyBsaW5lIGFuZAorCSAgICBvdGhlciB1bmV4cGVjdGVkIGVmZmVjdHMuIChNaWNoYWVsIE5hdW1hbm4pCitTb2x1dGlvbjogICBEb24ndCBhZHZhbmNlIHRoZSBjdXJzb3IgdG8gdGhlIG5leHQgbGluZS4KK0ZpbGVzOgkgICAgc3JjL29wcy5jCisKK1BhdGNoIDYuMC4yNDAKK1Byb2JsZW06ICAgIFdpbjMyOiBidWlsZGluZyB3aXRoIFB5dGhvbiAyLjIgZG9lc24ndCB3b3JrLgorU29sdXRpb246ICAgQWRkIHN1cHBvcnQgZm9yIFB5dGhvbiAyLjIgd2l0aCBkeW5hbWljIGxpbmtpbmcuIChQYXVsIE1vb3JlKQorRmlsZXM6CSAgICBzcmMvaWZfcHl0aG9uLmMKKworUGF0Y2ggNi4wLjI0MQorUHJvYmxlbTogICAgV2luMzI6IEV4cGFuZGluZyB0aGUgb2xkIHZhbHVlIG9mIGFuIG9wdGlvbiB0aGF0IGlzIGEgcGF0aCB0aGF0CisJICAgIHN0YXJ0cyB3aXRoIGEgYmFja3NsYXNoLCBhbiBleHRyYSBiYWNrc2xhc2ggaXMgaW5zZXJ0ZWQuCitTb2x1dGlvbjogICBPbmx5IGluc2VydCBiYWNrc2xhc2hlcyB3aGVyZSBuZWVkZWQuCisJICAgIEFsc28gaGFuZGxlIG11bHRpLWJ5dGUgY2hhcmFjdGVycyBwcm9wZXJseSB3aGVuIHJlbW92aW5nCisJICAgIGJhY2tzbGFzaGVzLgorRmlsZXM6CSAgICBzcmMvb3B0aW9uLmMKKworUGF0Y2ggNi4wLjI0MgorUHJvYmxlbTogICAgR1VJOiBPbiBhIHN5c3RlbSB3aXRoIGFuIEV4Y2VlZCBYIHNlcnZlciBzb21ldGltZXMgZ2V0IGEgIkJhZAorCSAgICBXaW5kb3ciIGVycm9yLiAoVG9tbWkgTWFla2l0YWxvKQorU29sdXRpb246ICAgV2hlbiBmb3JraW5nLCB1c2UgYSBwaXBlIHRvIHdhaXQgaW4gdGhlIHBhcmVudCBmb3IgdGhlIGNoaWxkIHRvCisJICAgIGhhdmUgZG9uZSB0aGUgc2V0c2lkKCkgY2FsbC4KK0ZpbGVzOgkgICAgc3JjL2d1aS5jCisKK1BhdGNoIDYuMC4yNDMKK1Byb2JsZW06ICAgIFVuaXg6ICJ2aW0gLS12ZXJzaW9uIiBvdXRwdXRzIGEgTkwgYmVmb3JlIHRoZSBsYXN0IGxpbmUgaW5zdGVhZCBvZgorCSAgICBhZnRlciBpdC4gKENoYXJsZXMgQ2FtcGJlbGwpCitTb2x1dGlvbjogICBTZW5kIHRoZSBOTCB0byB0aGUgc2FtZSBvdXRwdXQgc3RyZWFtIGFzIHRoZSB0ZXh0LgorRmlsZXM6CSAgICBzcmMvbWVzc2FnZS5jLCBzcmMvb3NfdW5peC5jLCBzcmMvcHJvdG8vbWVzc2FnZS5wcm8KKworUGF0Y2ggNi4wLjI0NAorUHJvYmxlbTogICAgTXVsdGktYnl0ZTogUHJvYmxlbXMgd2l0aCAoaWxsZWdhbCkgVVRGLTggY2hhcmFjdGVycyBpbiBtZW51IGFuZAorCSAgICBmaWxlIG5hbWUgKGUuZy4sIGljb24gdGV4dCwgc3RhdHVzIGxpbmUpLgorU29sdXRpb246ICAgQ29ycmVjdGx5IGhhbmRsZSB1bnByaW50YWJsZSBjaGFyYWN0ZXJzLiAgQ2F0Y2ggaWxsZWdhbCBVVEYtOAorCSAgICBjaGFyYWN0ZXJzIGFuZCByZXBsYWNlIHRoZW0gd2l0aCA8eHg+LiAgVHJ1bmNhdGluZyB0aGUgc3RhdHVzIGxpbmUKKwkgICAgd2Fzbid0IGRvbmUgY29ycmVjdGx5IGF0IGEgbXVsdGktYnl0ZSBjaGFyYWN0ZXIuIChZYXN1aGlybworCSAgICBNYXRzdW1vdG8pCisJICAgIEFkZGVkIGNvcnJlY3RfY21kc3BvcygpIGFuZCB0cmFuc2NoYXJfYnl0ZSgpLgorRmlsZXM6CSAgICBzcmMvYnVmZmVyLmMsIHNyYy9jaGFyc2V0LmMsIHNyYy9leF9nZXRsbi5jLCBzcmMvZ3VpLmMsCisJICAgIHNyYy9tZXNzYWdlLmMsIHNyYy9zY3JlZW4uYywgc3JjL3ZpbS5oCisKK1BhdGNoIDYuMC4yNDUKK1Byb2JsZW06ICAgIEFmdGVyIHVzaW5nIGEgY29sb3Igc2NoZW1lLCBzZXR0aW5nIHRoZSAnYmFja2dyb3VuZCcgb3B0aW9uIG1pZ2h0CisJICAgIG5vdCB3b3JrLiAoUGV0ZXIgSG9yc3QpCitTb2x1dGlvbjogICBEaXNhYmxlIHRoZSBjb2xvciBzY2hlbWUgaWYgaXQgc3dpdGNoZXMgJ2JhY2tncm91bmQnIGJhY2sgdG8gdGhlCisJICAgIHdyb25nIHZhbHVlLgorRmlsZXM6CSAgICBzcmMvb3B0aW9uLmMKKworUGF0Y2ggNi4wLjI0NgorUHJvYmxlbTogICAgIjplY2hvbXNnIiBkaWRuJ3QgdXNlIHRoZSBoaWdobGlnaHRpbmcgc2V0IGJ5ICI6ZWNob2hsIi4gKEdhcnkKKwkgICAgSG9sbG93YXkpCitTb2x1dGlvbjogICBVc2UgdGhlIHNwZWNpZmllZCBhdHRyaWJ1dGVzIGZvciB0aGUgbWVzc2FnZS4gKFllZ2FwcGFuCisJICAgIExha3NobWFuYW4pCitGaWxlczoJICAgIHNyYy9ldmFsLmMKKworUGF0Y2ggNi4wLjI0NworUHJvYmxlbTogICAgR1RLIEdVSTogQ2FuJ3QgdXNlIGd2aW0gaW4gYSBrcGFydCB3aWRnZXQuCitTb2x1dGlvbjogICBBZGQgdGhlICItLWVjaG8td2lkIiBhcmd1bWVudCB0byBsZXQgVmltIGVjaG8gdGhlIHdpbmRvdyBJRCBvbgorCSAgICBzdGRvdXQuIChQaGlsaXBwZSBGcmVteSkKK0ZpbGVzOgkgICAgcnVudGltZS9kb2Mvc3RhcnRpbmcudHh0LCBzcmMvZ2xvYmFscy5oLCBzcmMvZ3VpX2d0a194MTEuYywKKwkgICAgc3JjL21haW4uYworCitQYXRjaCA2LjAuMjQ4CitQcm9ibGVtOiAgICBXaGVuIHVzaW5nIGNvbXByZXNzZWQgaGVscCBmaWxlcyBhbmQgJ2VuY29kaW5nJyBpc24ndCAibGF0aW4xIiwKKwkgICAgVmltIGNvbnZlcnRzIHRoZSBoZWxwIGZpbGUgYmVmb3JlIGRlY29tcHJlc3NpbmcuIChEYXZpZCBSZXZpZWpvKQorU29sdXRpb246ICAgRG9uJ3QgY29udmVydCBhIGhlbHAgZmlsZSB3aGVuICdiaW5hcnknIGlzIHNldC4KK0ZpbGVzOgkgICAgc3JjL2ZpbGVpby5jCisKK1BhdGNoIDYuMC4yNDkKK1Byb2JsZW06ICAgICJ2aW0gLXQgZWRpdCAtYyAnc3RhIGV4X2hlbHAnIiBkb2Vzbid0IG1vdmUgY3Vyc29yIHRvIGVkaXQoKS4KK1NvbHV0aW9uOiAgIERvbid0IHNldCB0aGUgY3Vyc29yIG9uIHRoZSBmaXJzdCBsaW5lIGZvciAiLWMiIGFyZ3VtZW50cyB3aGVuCisJICAgIHRoZXJlIGFsc28gaXMgYSAiLXQiIGFyZ3VtZW50LgorRmlsZXM6CSAgICBzcmMvbWFpbi5jCisKK1BhdGNoIDYuMC4yNTAgKGV4dHJhKQorUHJvYmxlbTogICAgTWFjaW50b3NoOiBWYXJpb3VzIHByb2JsZW1zIHdoZW4gY29tcGlsaW5nLgorU29sdXRpb246ICAgVmFyaW91cyBmaXhlcywgbW9zdGx5ICNpZmRlZnMuIChEYW55IFN0LiBBbWFudCkKK0ZpbGVzOgkgICAgc3JjL2d1aV9tYWMuYywgc3JjL21haW4uYywgc3JjL21pc2MyLmMsIHNyYy9vc19tYWMuaCwKKwkgICAgc3JjL29zX21hYy5wYnByb2ovcHJvamVjdC5wYnhwcm9qLCBzcmMvb3NfdW5peC5jCisKK1BhdGNoIDYuMC4yNTEgKGV4dHJhKQorUHJvYmxlbTogICAgTWFjaW50b3NoOiBtZW51IHNob3J0Y3V0cyBhcmUgbm90IHZlcnkgY2xlYXIuCitTb2x1dGlvbjogICBTaG93IHRoZSBzaG9ydGN1dCB3aXRoIHRoZSBNYWMgY2xvdmVyIHN5bWJvbC4gKHJhaW5kb2cpCitGaWxlczoJICAgIHNyYy9ndWlfbWFjLmMKKworUGF0Y2ggNi4wLjI1MgorUHJvYmxlbTogICAgV2hlbiBhIHVzZXIgZnVuY3Rpb24gd2FzIGRlZmluZWQgd2l0aCAiYWJvcnQiLCBhbiBlcnJvciB0aGF0IGlzCisJICAgIG5vdCBpbnNpZGUgaWYvZW5kaWYgb3Igd2hpbGUvZW5kd2hpbGUgZG9lc24ndCBhYm9ydCB0aGUgZnVuY3Rpb24uCisJICAgIChTZXJ2YXRpdXMgQnJhbmR0KQorU29sdXRpb246ICAgRG9uJ3QgcmVzZXQgZGlkX2Vtc2cgd2hlbiB0aGUgZnVuY3Rpb24gaXMgdG8gYmUgYWJvcnRlZC4KK0ZpbGVzOgkgICAgc3JjL2V4X2RvY21kLmMKKworUGF0Y2ggNi4wLjI1MworUHJvYmxlbTogICAgV2hlbiAnaW5zZXJ0bW9kZScgaXMgc2V0LCBhZnRlciAiPEMtTz46ZWRpdCBmaWxlIiB0aGUgbmV4dCA8Qy1PPgorCSAgICBkb2Vzbid0IHdvcmsuIChCZW5qaSBGaXNoZXIpICA8Qy1MPiBoYXMgdGhlIHNhbWUgcHJvYmxlbS4KK1NvbHV0aW9uOiAgIFJlc2V0IG5lZWRfc3RhcnRfaW5zZXJ0bW9kZSBvbmNlIGluIGVkaXQoKS4KK0ZpbGVzOgkgICAgc3JjL2VkaXQuYworCitQYXRjaCA2LjAuMjU0IChleHRyYSkKK1Byb2JsZW06ICAgIEJvcmxhbmQgQysrIDUuNTogQ2hlY2tpbmcgZm9yIHN0YWNrIG92ZXJmbG93IGRvZXNuJ3Qgd29yaworCSAgICBjb3JyZWN0bHkuICBNYXR0ZXJzIHdoZW4gdXNpbmcgYSBjb21wbGljYXRlZCByZWdleHAuCitTb2x1dGlvbjogICBSZW1vdmUgLU4tIGZyb20gTWFrZV9iYzUubWFrLiAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorRmlsZXM6CSAgICBzcmMvTWFrZV9iYzUubWFrCisKK1BhdGNoIDYuMC4yNTUgKGV4dHJhKSAoZGVwZW5kcyBvbiBwYXRjaCA2LjAuMTE2IGFuZCA2LjAuMTIxKQorUHJvYmxlbTogICAgV2luMzI6IEFDTCBzdXBwb3J0IGRvZXNuJ3Qgd29yayB3ZWxsIG9uIFNhbWJhIGRyaXZlcy4KK1NvbHV0aW9uOiAgIEFkZCBhIGNoZWNrIGZvciB3b3JraW5nIEFDTCBzdXBwb3J0LiAoTWlrZSBXaWxsaWFtcykKK0ZpbGVzOgkgICAgc3JjL29zX3dpbjMyLmMKKworUGF0Y2ggNi4wLjI1NiAoZXh0cmEpCitQcm9ibGVtOiAgICBXaW4zMjogIjpoaWdobGlnaHQgQ29tbWVudCBndWlmZz1hc2RmIiBkb2VzIG5vdCBnaXZlIGFuIGVycm9yCisJICAgIG1lc3NhZ2UuIChSYW5kYWxsIFcuICBNb3JyaXMpICBBbHNvIGZvciBvdGhlciBzeXN0ZW1zLgorU29sdXRpb246ICAgQWRkIGd1aV9nZXRfY29sb3IoKSB0byBnaXZlIG9uZSBlcnJvciBtZXNzYWdlIGZvciBhbGwgc3lzdGVtcy4KK0ZpbGVzOgkgICAgc3JjL2d1aS5jLCBzcmMvZ3VpX2FtaWdhLmMsIHNyYy9ndWlfYXRoZW5hLmMsIHNyYy9ndWlfbW90aWYuYywKKwkgICAgc3JjL2d1aV9yaXNjb3MuYywgc3JjL2d1aV94MTEuYywgc3JjL2d1aV9ndGtfeDExLmMsCisJICAgIHNyYy9wcm90by9ndWkucHJvLCBzcmMvc3ludGF4LmMKKworUGF0Y2ggNi4wLjI1NworUHJvYmxlbTogICAgV2luMzI6IFdoZW4gJ21vdXNlZm9jdXMnIGlzIHNldCBhbmQgdGhlcmUgaXMgYSBCdWZSZWFkCisJICAgIGF1dG9jb21tYW5kLCBhZnRlciB0aGUgZGlhbG9nIGZvciBwZXJtaXNzaW9ucyBjaGFuZ2VkIG91dHNpZGUgb2YKKwkgICAgVmltOiAnbW91c2Vmb2N1cycgc3RvcHMgd29ya2luZy4gKFJvYmVydCBXZWJiKQorU29sdXRpb246ICAgUmVzZXQgbmVlZF9tb3VzZV9jb3JyZWN0IGFmdGVyIGNoZWNraW5nIHRpbWVzdGFtcHMuCitGaWxlczoJICAgIHNyYy9maWxlaW8uYworCitQYXRjaCA2LjAuMjU4CitQcm9ibGVtOiAgICBXaGVuICdzY3JvbGxvZmYnIGlzIDk5OSBhbmQgdGhlcmUgYXJlIGZvbGRzLCB0aGUgdGV4dCBjYW4ganVtcCB1cAorCSAgICBhbmQgZG93biB3aGVuIG1vdmluZyB0aGUgY3Vyc29yIGRvd24gbmVhciB0aGUgZW5kIG9mIHRoZSBmaWxlLgorCSAgICAoTHVib21pciBIb3N0KQorU29sdXRpb246ICAgV2hlbiBwdXR0aW5nIHRoZSBjdXJzb3IgaGFsZndheSB0aGUgd2luZG93IHN0YXJ0IGNvdW50aW5nIGxpbmVzIGF0CisJICAgIHRoZSBlbmQgb2YgYSBmb2xkLgorRmlsZXM6CSAgICBzcmMvbW92ZS5jCisKK1BhdGNoIDYuMC4yNTkKK1Byb2JsZW06ICAgIE1TLURPUzogYWZ0ZXIgZWRpdGluZyB0aGUgY29tbWFuZCBsaW5lIHRoZSBjdXJzb3Igc2hhcGUgbWF5IHJlbWFpbgorCSAgICBsaWtlIGluIEluc2VydCBtb2RlLiAoVm9sa2VyIEtpZWZlbCkKK1NvbHV0aW9uOiAgIFJlc2V0IHRoZSBjdXJzb3Igc2hhcGUgYWZ0ZXIgZWRpdGluZyB0aGUgY29tbWFuZCBsaW5lLgorRmlsZXM6CSAgICBzcmMvZXhfZ2V0bG4uYworCitQYXRjaCA2LjAuMjYwCitQcm9ibGVtOiAgICBHVUk6IE1heSBjcmFzaCB3aGlsZSBzdGFydGluZyB1cCB3aGVuIGdpdmluZyBhbiBlcnJvciBtZXNzYWdlIGZvcgorCSAgICBtaXNzaW5nIGNvbG9yLiAoU2VydmF0aXVzIEJyYW5kdCkKK1NvbHV0aW9uOiAgIERvbid0IGNhbGwgZ3VpX3dyaXRlKCkgd2hlbiBzdGlsbCBzdGFydGluZyB1cC4gIERvbid0IGdpdmUgZXJyb3IKKwkgICAgbWVzc2FnZSBmb3IgZW1wdHkgY29sb3IgbmFtZS4gIERvbid0IHVzZSAndF92Yicgd2hpbGUgdGhlIEdVSSBpcworCSAgICBzdGlsbCBzdGFydGluZyB1cC4KK0ZpbGVzOgkgICAgc3JjL2ZpbGVpby5jLCBzcmMvZ3VpLmMsIHNyYy9taXNjMS5jLCBzcmMvdWkuYworCitQYXRjaCA2LjAuMjYxCitQcm9ibGVtOiAgICBucjJjaGFyKCkgYW5kIGNoYXIybnIoKSBkb24ndCB3b3JrIHdpdGggbXVsdGktYnl0ZSBjaGFyYWN0ZXJzLgorU29sdXRpb246ICAgVXNlICdlbmNvZGluZycgZm9yIHRoZXNlIGZ1bmN0aW9ucy4gKFlhc3VoaXJvIE1hdHN1bW90bykKK0ZpbGVzOgkgICAgcnVudGltZS9kb2MvZXZhbC50eHQsIHNyYy9ldmFsLmMKKworUGF0Y2ggNi4wLjI2MiAoZXh0cmEpCitQcm9ibGVtOiAgICBXaW4zMjogSU1FIGRvZXNuJ3Qgd29yayBwcm9wZXJseS4gIE9uSW1lQ29tcG9zaXRpb24oKSBpc24ndCB1c2VkCisJICAgIGF0IGFsbC4KK1NvbHV0aW9uOiAgIEFkanVzdCB2YXJpb3VzIHRoaW5ncyBmb3IgSU1FLgorRmlsZXM6CSAgICBzcmMvZ2xvYmFscy5oLCBzcmMvZ3VpX3czMi5jLCBzcmMvbWJ5dGUuYywgc3JjL3Byb3RvL3VpLnBybywKKwkgICAgc3JjL3N0cnVjdHMuaCwgc3JjL3VpLmMKKworUGF0Y2ggNi4wLjI2MworUHJvYmxlbTogICAgR1RLOiBXaGVuIGEgZGlhbG9nIGlzIGNsb3NlZCBieSB0aGUgd2luZG93IG1hbmFnZXIsIFZpbSBoYW5ncy4KKwkgICAgKENocmlzdGlhbiBKLiBSb2JpbnNvbikKK1NvbHV0aW9uOiAgIFVzZSBHVEtfV0lER0VUX0RSQVdBQkxFKCkgaW5zdGVhZCBvZiBHVEtfV0lER0VUX1ZJU0lCTEUoKS4KK0ZpbGVzOgkgICAgc3JjL2d1aV9ndGsuYywgc3JjL2d1aV9ndGtfeDExLmMKKworUGF0Y2ggNi4wLjI2NAorUHJvYmxlbTogICAgVGhlIGFtb3VudCBvZiB2aXJ0dWFsIG1lbW9yeSBpcyB1c2VkIHRvIGluaXRpYWxpemUgJ21heG1lbXRvdCcsCisJICAgIHdoaWNoIG1heSBiZSBtdWNoIG1vcmUgdGhhbiB0aGUgYW1vdW50IG9mIHBoeXNpY2FsIG1lbW9yeSwKKwkgICAgcmVzdWx0aW5nIGluIGEgbG90IG9mIHN3YXBwaW5nLgorU29sdXRpb246ICAgR2V0IHRoZSBhbW91bnQgb2YgcGh5c2ljYWwgbWVtb3J5IHdpdGggc3lzY3RsKCksIHN5c2NvbmYoKSBvcgorCSAgICBzeXNpbmZvKCkgd2hlbiBwb3NzaWJsZS4KK0ZpbGVzOgkgICAgc3JjL2F1dG8vY29uZmlndXJlLCBzcmMvY29uZmlndXJlLmluLCBzcmMvY29uZmlnLmguaW4sCisJICAgIHNyYy9vc191bml4LmMsIHNyYy9vc191bml4LmgKKworUGF0Y2ggNi4wLjI2NQorUHJvYmxlbTogICAgV2luMzI6IFVzaW5nIGJhY2tzcGFjZSB3aGlsZSAnZmttYXAnIGlzIHNldCBjYXVzZXMgYSBjcmFzaC4KKwkgICAgKEphbXNoaWQgT2Fzam1vaGEpCitTb2x1dGlvbjogICBEb24ndCB0cnkgbWFwcGluZyBzcGVjaWFsIGtleXMuCitGaWxlczoJICAgIHNyYy9mYXJzaS5jCisKK1BhdGNoIDYuMC4yNjYKK1Byb2JsZW06ICAgIFRoZSByZW5hbWUoKSBmdW5jdGlvbiBkZWxldGVzIHRoZSBmaWxlIGlmIHRoZSBvbGQgYW5kIHRoZSBuZXcgbmFtZQorCSAgICBhcmUgdGhlIHNhbWUuIChWb2xrZXIgS2llZmVsKQorU29sdXRpb246ICAgRG9uJ3QgZG8gYW55dGhpbmcgaWYgdGhlIG5hbWVzIGFyZSBlcXVhbC4KK0ZpbGVzOgkgICAgc3JjL2ZpbGVpby5jCisKK1BhdGNoIDYuMC4yNjcKK1Byb2JsZW06ICAgIFVURi04OiBBbHRob3VnaCAnaXNwcmludCcgc2F5cyBhIGNoYXJhY3RlciBpcyBwcmludGFibGUsCisJICAgIHV0Zl9jaGFyMmNlbGxzKCkgc3RpbGwgY29uc2lkZXJzIGl0IHVucHJpbnRhYmxlLgorU29sdXRpb246ICAgVXNlIHZpbV9pc3ByaW50YygpIGZvciBjaGFyYWN0ZXJzIHVwdG8gMHgxMDAuIChZYXN1aGlybyBNYXRzdW1vdG8pCitGaWxlczoJICAgIHNyYy9tYnl0ZS5jCisKK1BhdGNoIDYuMC4yNjggKGV4dHJhKSAoZGVwZW5kcyBvbiBwYXRjaCA2LjAuMjU1KQorUHJvYmxlbTogICAgV2luMzI6IEFDTCBjaGVjayBjcmFzaGVzIHdoZW4gdXNpbmcgZm9yd2FyZCBzbGFzaCBpbiBmaWxlIG5hbWUuCitTb2x1dGlvbjogICBJbXByb3ZlIHRoZSBjaGVjayBmb3IgdGhlIHBhdGggaW4gdGhlIGZpbGUgbmFtZS4KK0ZpbGVzOgkgICAgc3JjL29zX3dpbjMyLmMKKworUGF0Y2ggNi4wLjI2OQorUHJvYmxlbTogICAgVW5wcmludGFibGUgY2hhcmFjdGVycyBpbiBhIGZpbGUgbmFtZSBtYXkgY2F1c2UgcHJvYmxlbXMgd2hlbgorCSAgICB1c2luZyB0aGUgJ3N0YXR1c2xpbmUnIG9wdGlvbiBvciB3aGVuICdidWZ0eXBlJyBpcyAibm9maWxlIi4KK1NvbHV0aW9uOiAgIGNhbGwgdHJhbnNfY2hhcmFjdGVycygpIGZvciB0aGUgcmVzdWx0aW5nIHN0YXR1c2xpbmUuIChZYXN1aGlybworCSAgICBNYXRzdW1vdG8pCitGaWxlczoJICAgIHNyYy9idWZmZXIuYywgc3JjL3NjcmVlbi5jLCBzcmMvY2hhcnNldC5jCisKK1BhdGNoIDYuMC4yNzAgKGRlcGVuZHMgb24gcGF0Y2ggNi4wLjI2NykKK1Byb2JsZW06ICAgIEEgdGFiIGNhdXNlcyBVVEYtOCB0ZXh0IHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgd3JvbmcgcG9zaXRpb24uCisJICAgIChSb24gQWFyb24pCitTb2x1dGlvbjogICBDb3JyZWN0IHV0Zl9jaGFyMmNlbGxzKCkgYWdhaW4uCitGaWxlczoJICAgIHNyYy9tYnl0ZS5jCisKK1BhdGNoIDYuMWEuMDAxIChleHRyYSkKK1Byb2JsZW06ICAgIDMyYml0IERPUzogY29weWluZyB0ZXh0IHRvIHRoZSBjbGlwYm9hcmQgbWF5IGNhdXNlIGEgY3Jhc2guCisJICAgIChKb25hdGhhbiBEIEpvaG5zdG9uKQorU29sdXRpb246ICAgRG9uJ3QgY29weSBvbmUgYnl0ZSB0b28gbXVjaCBpbiBTZXRDbGlwYm9hcmREYXRhKCkuCitGaWxlczoJICAgIHNyYy9vc19tc2Rvcy5jCisKK1BhdGNoIDYuMWEuMDAyCitQcm9ibGVtOiAgICBHVEs6IE9uIHNvbWUgY29uZmlndXJhdGlvbnMsIHdoZW4gY2xvc2luZyBhIGRpYWxvZyBmcm9tIHRoZSB3aW5kb3cKKwkgICAgbWFuYWdlciwgVmltIGhhbmdzLgorU29sdXRpb246ICAgQ2F0Y2ggdGhlICJkZXN0cm95IiBzaWduYWwuIChBcmljIEJsdW1lcikKK0ZpbGVzOgkgICAgc3JjL2d1aV9ndGsuYworCitQYXRjaCA2LjFhLjAwMworUHJvYmxlbTogICAgTXVsdGktYnl0ZTogV2l0aCBVVEYtOCBkb3VibGUtd2lkZSBjaGFyIGFuZCAndmlydHVhbGVkaXQnIHNldDoKKwkgICAgeWFua2luZyBpbiBWaXN1YWwgbW9kZSBkb2Vzbid0IGluY2x1ZGUgdGhlIGxhc3QgYnl0ZS4gKEVyaWMgTG9uZykKK1NvbHV0aW9uOiAgIERvbid0IGFkZCBhIHNwYWNlIGZvciBhIGRvdWJsZS13aWRlIGNoYXJhY3Rlci4KK0ZpbGVzOgkgICAgc3JjL29wcy5jCisKK1BhdGNoIDYuMWEuMDA0IChleHRyYSkKK1Byb2JsZW06ICAgIE1JTkdXOiB1bmRlZmluZWQgdHlwZS4gKFJvbiBBYXJvbikKK1NvbHV0aW9uOiAgIE1ha2UgR2V0Q29tcG9zaXRpb25TdHJpbmdfaW5VQ1MyKCkgc3RhdGljLgorRmlsZXM6CSAgICBzcmMvZ3VpX3czMi5jLCBzcmMvZ3VpX3c0OC5jLCBzcmMvcHJvdG8vZ3VpX3czMi5wcm8KKworUGF0Y2ggNi4xYS4wMDUgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6ICI6aGFyZGNvcHkiIGRvZXNuJ3Qgd29yayBhZnRlciAiOmhhcmRjb3B5ISIuIChKb25hdGhhbgorCSAgICBKb2huc3RvbikKK1NvbHV0aW9uOiAgIERvbid0IGtlZXAgdGhlIGRyaXZlciBjb250ZXh0IHdoZW4gdXNpbmcgIjpoYXJkY29weSEiLiAoVmluY2UKKwkgICAgTmVncmkpCitGaWxlczoJICAgIHNyYy9vc19tc3dpbi5jCisKK1BhdGNoIDYuMWEuMDA2CitQcm9ibGVtOiAgICBtdWx0aS1ieXRlOiBhZnRlciBzZXR0aW5nICdlbmNvZGluZycgdGhlIHdpbmRvdyB0aXRsZSBtaWdodCBiZQorCSAgICB3cm9uZy4KK1NvbHV0aW9uOiAgIEZvcmNlIHJlc2V0dGluZyB0aGUgdGl0bGUuIChZYXN1aGlybyBNYXRzdW1vdG8pCitGaWxlczoJICAgIHNyYy9vcHRpb24uYworCitQYXRjaCA2LjFhLjAwNworUHJvYmxlbTogICAgRmlsZXR5cGUgZGV0ZWN0aW9uIGZvciAiKi5pbmMiIGRvZXNuJ3Qgd29yay4KK1NvbHV0aW9uOiAgIFVzZSBhICI6bGV0IiBjb21tYW5kLiAoRGF2aWQgU2Nod2Vpa2VydCkKK0ZpbGVzOgkgICAgcnVudGltZS9maWxldHlwZS52aW0KKworUGF0Y2ggNi4xYS4wMDggKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6IEFDTCBkZXRlY3Rpb24gZm9yIG5ldHdvcmsgc2hhcmVzIGRvZXNuJ3Qgd29yay4KK1NvbHV0aW9uOiAgIEluY2x1ZGUgdGhlIHRyYWlsaW5nIChiYWNrKXNsYXNoIGluIHRoZSByb290IHBhdGguIChNaWtlIFdpbGxpYW1zKQorRmlsZXM6CSAgICBzcmMvb3Nfd2luMzIuYworCitQYXRjaCA2LjFhLjAwOQorUHJvYmxlbTogICAgV2hlbiB1c2luZyAiXEA8PSIgb3IgIlxAPCEiIGluIGEgcGF0dGVybiwgYSAiXDEiIG1heSByZWZlciB0byBhICgpCisJICAgIHBhcnQgdGhhdCBmb2xsb3dzLCBidXQgaXQgZ2VuZXJhdGVzIGFuIGVycm9yIG1lc3NhZ2UuCitTb2x1dGlvbjogICBBbGxvdyBhIGZvcndhcmQgcmVmZXJlbmNlIHdoZW4gdGhlcmUgaXMgYSBmb2xsb3dpbmcgIlxAPD0iIG9yCisJICAgICJcQDwhIi4KK0ZpbGVzOgkgICAgcnVudGltZS9kb2MvcGF0dGVybi50eHQsIHNyYy9yZWdleHAuYworCitQYXRjaCA2LjFhLjAxMAorUHJvYmxlbTogICAgV2hlbiB1c2luZyAiOmhlbHAiIGFuZCBvcGVuaW5nIGEgbmV3IHdpbmRvdywgdGhlIGFsdGVybmF0ZSBmaWxlCisJICAgIGlzbid0IHNldC4KK1NvbHV0aW9uOiAgIFNldCB0aGUgYWx0ZXJuYXRlIGZpbGUgdG8gdGhlIHByZXZpb3VzbHkgZWRpdGVkIGZpbGUuCitGaWxlczoJICAgIHNyYy9leF9jbWRzLmMKKworUGF0Y2ggNi4xYS4wMTEKK1Byb2JsZW06ICAgIEdUSzogIjpzZXQgY289NzciLCBjaGFuZ2Ugd2lkdGggd2l0aCB0aGUgbW91c2UsICI6c2V0IGNvPTc3IgorCSAgICBkb2Vzbid0IHJlc2l6ZSB0aGUgd2luZG93LiAoRGFycmVuIEhpZWJlcnQpCitTb2x1dGlvbjogICBTZXQgdGhlIGZvcm0gc2l6ZSBhZnRlciBoYW5kbGluZyBhIHJlc2l6ZSBldmVudC4KK0ZpbGVzOgkgICAgc3JjL2d1aV9ndGtfeDExLmMKKworUGF0Y2ggNi4xYS4wMTIKK1Byb2JsZW06ICAgIEdUSzogVGhlIGZpbGUgYnJvd3NlciBhbHdheXMgcmV0dXJucyBhIGZ1bGwgcGF0aC4gKExvaG5lcikKK1NvbHV0aW9uOiAgIFNob3J0ZW4gdGhlIGZpbGUgbmFtZSBpZiBwb3NzaWJsZS4KK0ZpbGVzOgkgICAgc3JjL2d1aV9ndGsuYworCitQYXRjaCA2LjFhLjAxMworUHJvYmxlbTogICAgV2hlbiB1c2luZyAiPX53b3JkIiBpbiAnY2lua2V5cycgb3IgJ2luZGVudGtleXMnLCB0aGUgY2FzZSBvZiB0aGUKKwkgICAgbGFzdCBjaGFyYWN0ZXIgb2YgdGhlIHdvcmQgaXNuJ3QgaWdub3JlZC4gKFJhdWwgU2VndXJhIEFjZXZlZG8pCitTb2x1dGlvbjogICBJZ25vcmUgY2FzZSB3aGVuIGNoZWNraW5nIHRoZSBsYXN0IHR5cGVkIGNoYXJhY3Rlci4KK0ZpbGVzOgkgICAgc3JjL2VkaXQuYworCitQYXRjaCA2LjFhLjAxNAorUHJvYmxlbTogICAgQWZ0ZXIgcGF0Y2ggNi4xYS4wMDYgY2FuJ3QgY29tcGlsZSB3aXRob3V0IHRoZSB0aXRsZSBmZWF0dXJlLgorU29sdXRpb246ICAgQWRkIGFuICNpZmRlZi4KK0ZpbGVzOgkgICAgc3JjL29wdGlvbi5jCisKK1BhdGNoIDYuMWEuMDE1CitQcm9ibGVtOiAgICBNUy1XaW5kb3dzOiBXaGVuIGV4cGFuZGluZyBhIGZpbGUgbmFtZSB0aGF0IGNvbnRhaW5zIGEgJ1snIG9yICd7JworCSAgICBhbiBleHRyYSBiYWNrc2xhc2ggaXMgaW5zZXJ0ZWQuIChSYXVsIFNlZ3VyYSBBY2V2ZWRvKQorU29sdXRpb246ICAgQXZvaWQgYWRkaW5nIHRoZSBiYWNrc2xhc2guCitGaWxlczoJICAgIHNyYy9leF9nZXRsbi5jCisKK1BhdGNoIDYuMWEuMDE2CitQcm9ibGVtOiAgICBDb21wbGV0aW9uIGFmdGVyICI6bGFuZ3VhZ2UiIGRvZXNuJ3QgaW5jbHVkZSAidGltZSIuIChSYXVsIFNlZ3VyYQorCSAgICBBY2V2ZWRvKQorU29sdXRpb246ICAgQWRkIHRoZSBhbHRlcm5hdGl2ZSB0byB0aGUgY29tcGxldGlvbnMuCitGaWxlczoJICAgIHNyYy9leF9jbWRzMi5jCisKK1BhdGNoIDYuMWEuMDE3CitQcm9ibGVtOiAgICBDbGlja2luZyB0aGUgbW91c2UgaW4gdGhlIHRvcCByb3cgb2YgYSB3aW5kb3cgd2hlcmUgdGhlIGZpcnN0IGxpbmUKKwkgICAgZG9lc24ndCBmaXQgbW92ZXMgdGhlIGN1cnNvciB0byB0aGUgd3JvbmcgY29sdW1uLgorU29sdXRpb246ICAgQWRkIHRoZSBza2lwY29sIGFsc28gZm9yIHRoZSB0b3Agcm93IG9mIGEgd2luZG93LgorRmlsZXM6CSAgICBzcmMvdWkuYworCitQYXRjaCA2LjFhLjAxOAorUHJvYmxlbTogICAgV2hlbiAnc2Nyb2xsb2ZmJyBpcyBvbmUgYW5kIHRoZSB3aW5kb3cgaGVpZ2h0IGlzIG9uZSwgImdqIiBjYW4gcHV0CisJICAgIHRoZSBjdXJzb3IgYWJvdmUgdGhlIHdpbmRvdy4gKFJhdWwgU2VndXJhIEFjZXZlZG8pCitTb2x1dGlvbjogICBEb24ndCBsZXQgc2tpcGNvbCBiZWNvbWUgYmlnZ2VyIHRoYW4gdGhlIGN1cnNvciBjb2x1bW4uCitGaWxlczoJICAgIHNyYy9tb3ZlLmMKKworUGF0Y2ggNi4xYS4wMTkKK1Byb2JsZW06ICAgIFdoZW4gdXNpbmcgYSBjb21wb3NpbmcgY2hhcmFjdGVyIG9uIHRvcCBvZiBhbiBBU0NJSSBjaGFyYWN0ZXIsIHRoZQorCSAgICAibCIgY29tbWFuZCBjbGVhcnMgdGhlIGNvbXBvc2luZyBjaGFyYWN0ZXIuICBPbmx5IHdoZW4gJ3J1bGVyJyBhbmQKKwkgICAgJ3Nob3djbWQnIGFyZSBvZmYuIChSYXBoYWVsIEZpbmtlbCkKK1NvbHV0aW9uOiAgIERvbid0IG1vdmUgdGhlIGN1cnNvciBieSBkaXNwbGF5aW5nIGNoYXJhY3RlcnMgd2hlbiB0aGVyZSBhcmUKKwkgICAgY29tcG9zaW5nIGNoYXJhY3RlcnMuCitGaWxlczoJICAgIHNyYy9zY3JlZW4uYworCitQYXRjaCA2LjFhLjAyMAorUHJvYmxlbTogICAgR1RLOiBhZnRlciBwYXRjaCA2LjFhLjAxMSByZXNpemluZyB3aXRoIHRoZSBtb3VzZSBkb2Vzbid0IGFsd2F5cworCSAgICB3b3JrIHdlbGwgZm9yIHNtYWxsIHNpemVzLiAoQWRyaWVuIEJlYXUpCitTb2x1dGlvbjogICBVc2UgYW5vdGhlciB3YXkgdG8gYXZvaWQgdGhlIHByb2JsZW0gd2l0aCAiOnNldCBjbz03NyIuCitGaWxlczoJICAgIHNyYy9ndWlfZ3RrX3gxMS5jCisKK1BhdGNoIDYuMWEuMDIxCitQcm9ibGVtOiAgICBTZXZlcmFsIFN5bnRheCBtZW51IGVudHJpZXMgYXJlIHdyb25nIG9yIGNvbmZ1c2luZy4KK1NvbHV0aW9uOiAgIFJlcGhyYXNlIGFuZCBjb3JyZWN0IHRoZSBtZW51IGVudHJpZXMuIChBZHJpZW4gQmVhdSkKK0ZpbGVzOgkgICAgcnVudGltZS9tYWtlbWVudS52aW0sIHJ1bnRpbWUvbWVudS52aW0KKworUGF0Y2ggNi4xYS4wMjIKK1Byb2JsZW06ICAgIEEgdGFncyBmaWxlIG1pZ2h0IGJlIHVzZWQgdHdpY2Ugb24gY2FzZSBpbnNlbnNpdGl2ZSBzeXN0ZW1zLgorCSAgICAoUmljayBTd2FudG9uKQorU29sdXRpb246ICAgRG9uJ3QgdXNlIHRoZSBzYW1lIGZpbGUgbmFtZSB0d2ljZSBpbiB0aGUgZGVmYXVsdCBmb3IgdGhlICd0YWdzJworCSAgICBvcHRpb24uICBJZ25vcmUgY2FzZSB3aGVuIGNvbXBhcmluZyBuYW1lcyBvZiBhbHJlYWR5IHZpc2l0ZWQKKwkgICAgZmlsZXMuCitGaWxlczoJICAgIHNyYy9taXNjMi5jLCBzcmMvb3B0aW9uLmMKKworUGF0Y2ggNi4xYS4wMjMKK1Byb2JsZW06ICAgIFdoZW4gc3RhcnRpbmcgdGhlIEdVSSBnZXQgIkMiIGNoYXJhY3RlcnMgZWNob2VkIGluIHRoZSB0ZXJtaW5hbC4KK1NvbHV0aW9uOiAgIERvbid0IHRyeSBzZW5kaW5nIGEgY2xlYXItc2NyZWVuIGNvbW1hbmQgd2hpbGUgdGhlIEdVSSBpcyBzdGFydGluZworCSAgICB1cC4KK0ZpbGVzOgkgICAgc3JjL3NjcmVlbi5jCisKK1BhdGNoIDYuMWEuMDI0CitQcm9ibGVtOiAgICBJbiBvdGhlciBlZGl0b3JzIENUUkwtRiBpcyBvZnRlbiB1c2VkIGZvciBhIGZpbmQgZGlhbG9nLgorU29sdXRpb246ICAgSW4gZXZpbSB1c2UgQ1RSTC1GIGZvciB0aGUgZmluZCBkaWFsb2cuCitGaWxlczoJICAgIHJ1bnRpbWUvZXZpbS52aW0KKworUGF0Y2ggNi4xYS4wMjUKK1Byb2JsZW06ICAgIFRoZSBjaG9pY2VzIGZvciB0aGUgZmlsZWZvcm1hdCBkaWFsb2cgY2FuJ3QgYmUgdHJhbnNsYXRlZC4KK1NvbHV0aW9uOiAgIEFkZCBnOm1lbnV0cmFuc19maWxlZm9ybWF0X2Nob2ljZXMuIChBZHJpZW4gQmVhdSkKK0ZpbGVzOgkgICAgcnVudGltZS9tZW51LnZpbQorCitQYXRjaCA2LjFhLjAyNgorUHJvYmxlbTogICAgSW5kZW50aW5nIEphdmEgZmlsZXMgaXMgd3Jvbmcgd2l0aCAidGhyb3dzIiwgImV4dGVuZHMiIGFuZAorCSAgICAiaW1wbGVtZW50cyIgY2xhdXNlcy4KK1NvbHV0aW9uOiAgIFVwZGF0ZSB0aGUgSmF2YSBpbmRlbnQgc2NyaXB0LgorRmlsZXM6CSAgICBydW50aW1lL2luZGVudC9qYXZhLnZpbQorCitQYXRjaCA2LjFhLjAyNworUHJvYmxlbTogICAgQSBmZXcgU3ludGF4IG1lbnUgZW50cmllcyBtaXNzaW5nIG9yIGluY29ycmVjdC4KK1NvbHV0aW9uOiAgIEFkZCBhbmQgY29ycmVjdCB0aGUgbWVudSBlbnRyaWVzLiAoQWRyaWVuIEJlYXUpCisJICAgIFNob3J0ZW4gYSBmZXcgbWVudXMgdG8gYXZvaWQgdGhleSBiZWNvbWUgdG9vIGxvbmcuCitGaWxlczoJICAgIHJ1bnRpbWUvbWFrZW1lbnUudmltLCBydW50aW1lL21lbnUudmltCisKK1BhdGNoIDYuMWEuMDI4CitQcm9ibGVtOiAgICBYSU06IHByb2JsZW1zIHdpdGggZmVlZGJhY2sgYW5kIHNvbWUgaW5wdXQgbWV0aG9kcy4KK1NvbHV0aW9uOiAgIFVzZSBpY29udiBmb3IgY2FsY3VsYXRpbmcgdGhlIGNlbGxzLiAgUmVtb3ZlIHRoZSBxdWV1ZSBmb3IKKwkgICAga2V5X3ByZXNzX2V2ZW50IG9ubHkgd2hlbiB0ZXh0IHdhcyBjaGFuZ2VkLiAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorRmlsZXM6CSAgICBzcmMvZ2xvYmFscy5oLCBzcmMvbWJ5dGUuYywgc3JjL3NjcmVlbi5jCisKK1BhdGNoIDYuMWEuMDI5CitQcm9ibGVtOiAgICBBZnRlciBwYXRjaCA2LjFhLjAyOCBjYW4ndCBjb21waWxlIEdUSyB2ZXJzaW9uIHdpdGggWElNIGJ1dAorCSAgICB3aXRob3V0IG11bHRpLWJ5dGUgY2hhcnMuCitTb2x1dGlvbjogICBBZGQgYW4gI2lmZGVmLiAoQXNjaHdpbiBNYXJzbWFuKQorRmlsZXM6CSAgICBzcmMvbWJ5dGUuYworCitQYXRjaCA2LjFhLjAzMAorUHJvYmxlbTogICAgV2l0aCBkb3VibGUtYnl0ZSBlbmNvZGluZ3MgdG91cHBlcigpIGFuZCB0b2xvd2VyKCkgbWF5IGhhdmUgd3JvbmcKKwkgICAgcmVzdWx0cy4KK1NvbHV0aW9uOiAgIFNraXAgZG91YmxlLWJ5dGUgY2hhcmFjdGVycy4gKEVyaWMgTG9uZykKK0ZpbGVzOgkgICAgc3JjL2V2YWwuYworCitQYXRjaCA2LjFhLjAzMQorUHJvYmxlbTogICAgQWNjZXNzaW5nIHRoZSAnYmFsbG9vbmRlbGF5JyB2YXJpYWJsZSBtYXkgY2F1c2UgYSBjcmFzaC4KK1NvbHV0aW9uOiAgIE1ha2UgdGhlIHZhcmlhYmxlIGZvciAnYmFsbG9vbmRlbGF5JyBhIGxvbmcuIChPbGFmIFNlaWJlcnQpCitGaWxlczoJICAgIHNyYy9vcHRpb24uaAorCitQYXRjaCA2LjFhLjAzMiAoZXh0cmEpCitQcm9ibGVtOiAgICBTb21lIG1lbnUgZmlsZXMgdXNlZCBhIHdyb25nIGVuY29kaW5nIG5hbWUgZm9yICJzY3JpcHRlbmNvZGluZyIuCitTb2x1dGlvbjogICBNb3ZlIHRoZSB0cmFuc2xhdGlvbnMgdG8gYSBzZXBhcmF0ZSBmaWxlLCB3aGljaCBpcyBzb3VyY2VkIGFmdGVyCisJICAgIHNldHRpbmcgInNjcmlwdGVuY29kaW5nIi4KKwkgICAgQWxzbyBhZGQgQ3plY2ggbWVudSB0cmFuc2xhdGlvbnMgaW4gQVNDSUkgYW5kIHVwZGF0ZSB0aGUgb3RoZXIKKwkgICAgZW5jb2RpbmdzLgorRmlsZXM6CSAgICBydW50aW1lL2xhbmcvbWVudV9jc19jei5pc29fODg1OS0xLnZpbSwKKwkgICAgcnVudGltZS9sYW5nL21lbnVfY3NfY3ouaXNvXzg4NTktMi52aW0sCisJICAgIHJ1bnRpbWUvbGFuZy9tZW51X2N6ZWNoX2N6ZWNoX3JlcHVibGljLjEyNTAudmltLAorCSAgICBydW50aW1lL2xhbmcvbWVudV9jemVjaF9jemVjaF9yZXB1YmxpYy4xMjUyLnZpbSwKKwkgICAgcnVudGltZS9sYW5nL21lbnVfY3plY2hfY3plY2hfcmVwdWJsaWMuYXNjaWkudmltLAorCSAgICBydW50aW1lL2xhbmcvbWVudV9kZV9kZS5pc29fODg1OS0xLnZpbSwKKwkgICAgcnVudGltZS9sYW5nL21lbnVfZGVfZGUubGF0aW4xLnZpbSwKKwkgICAgcnVudGltZS9sYW5nL21lbnVfZnJfZnIuaXNvXzg4NTktMS52aW0sCisJICAgIHJ1bnRpbWUvbGFuZy9tZW51X2ZyX2ZyLmxhdGluMS52aW0sCisJICAgIHJ1bnRpbWUvbGFuZy9tZW51X2ZyZW5jaF9mcmFuY2UuMTI1Mi52aW0sCisJICAgIHJ1bnRpbWUvbGFuZy9tZW51X2dlcm1hbl9nZXJtYW55LjEyNTIudmltLAorCSAgICBydW50aW1lL2xhbmcvbWVudV9qYV9qcC5ldWMtanAudmltLAorCSAgICBydW50aW1lL2xhbmcvbWVudV9qYV9qcC51dGYtOC52aW0sCisJICAgIHJ1bnRpbWUvbGFuZy9tZW51X2phcGFuZXNlX2phcGFuLjkzMi52aW0KKworUGF0Y2ggNi4xYS4wMzMKK1Byb2JsZW06ICAgIFhJTTogZG9lc24ndCByZXNldCBpbnB1dCBjb250ZXh0LgorU29sdXRpb246ICAgY2FsbCB4aW1fcmVzZXQoKSB3aXRoIGltX3NldF9hY3RpdmUoRkFMU0UpLiAoVGFrdWhpcm8gTmlzaGlva2EpCitGaWxlczoJICAgIHNyYy9tYnl0ZS5jCisKK1BhdGNoIDYuMWEuMDM0IChleHRyYSkKK1Byb2JsZW06ICAgIFdpbjMyOiBUaGUgQUNMIGNoZWNrcyBmb3IgYSByZWFkb25seSBmaWxlIHN0aWxsIGRvbid0IHdvcmsgd2VsbC4KK1NvbHV0aW9uOiAgIFJlbW92ZSB0aGUgQUNMIGNoZWNrcywgZ28gYmFjayB0byBob3cgaXQgd29ya2VkIGluIFZpbSA2LjAuCitGaWxlczoJICAgIHNyYy9vc193aW4zMi5jCisKK1BhdGNoIDYuMWEuMDM1CitQcm9ibGVtOiAgICBtdWx0aS1ieXRlOiBXaGVuIHVzaW5nICI6c2giIGluIHRoZSBHVUksIHR5cGVkIGFuZCBkaXNwbGF5ZWQKKwkgICAgbXVsdGktYnl0ZSBjaGFyYWN0ZXJzIGFyZSBub3QgaGFuZGxlZCBjb3JyZWN0bHkuCitTb2x1dGlvbjogICBEZWFsIHdpdGggbXVsdGktYnl0ZSBjaGFyYWN0ZXJzIHRvIGFuZCBmcm9tIHRoZSBzaGVsbC4gKFlhc3VoaXJvCisJICAgIE1hdHN1bW90bykgIEFsc28gaGFuZGxlIFVURi04IGNvbXBvc2luZyBjaGFyYWN0ZXJzLgorRmlsZXM6CSAgICBzcmMvb3NfdW5peC5jCisKK1BhdGNoIDYuMWEuMDM2CitQcm9ibGVtOiAgICBHVEs6IHRoZSBzYXZlLXlvdXJzZWxmIGV2ZW50IHdhcyBub3QgaGFuZGxlZC4KK1NvbHV0aW9uOiAgIENhdGNoIHRoZSBzYXZlLXlvdXJzZWxmIGV2ZW50IGFuZCBwcmVzZXJ2ZSBzd2FwIGZpbGVzLiAoTmVpbCBCaXJkKQorRmlsZXM6CSAgICBzcmMvZ3VpX2d0a194MTEuYworCitQYXRjaCA2LjFhLjAzNworUHJvYmxlbTogICAgVGhlIE1TLVdpbmRvd3Mga2V5IG1hcHBpbmcgZG9lc24ndCBpbmNsdWRlIENUUkwtUyBmb3Igc2F2aW5nLgorCSAgICAoVmxhZCBTYW5kcmluaSkKK1NvbHV0aW9uOiAgIE1hcCBDVFJMLVMgdG8gIjp1cGRhdGUiLgorRmlsZXM6CSAgICBydW50aW1lL21zd2luLnZpbQorCitQYXRjaCA2LjFhLjAzOAorUHJvYmxlbTogICAgU29sYXJpczogSW5jbHVkaW5nIGJvdGggc3lzL3N5c2N0bC5oIGFuZCBzeXMvc3lzaW5mby5oIGRvZXNuJ3QKKwkgICAgd29yay4gKEFudG9uaW8gQ29sb21ibykKK1NvbHV0aW9uOiAgIERvbid0IGluY2x1ZGUgc3lzL3N5c2luZm8uaCB3aGVuIG5vdCBjYWxsaW5nIHN5c2luZm8oKS4KK0ZpbGVzOgkgICAgc3JjL29zX3VuaXguYworCitQYXRjaCA2LjFhLjAzOQorUHJvYmxlbTogICAgTm90IGFsbCB2aXN1YWwgYmFzaWMgZmlsZXMgYXJlIHJlY29nbml6ZWQuCitTb2x1dGlvbjogICBBZGQgY2hlY2tzIHRvIGNhdGNoICouY3RsIGZpbGVzLiAoUmF1bCBTZWd1cmEgQWNldmVkbykKK0ZpbGVzOgkgICAgcnVudGltZS9maWxldHlwZS52aW0KKworUGF0Y2ggNi4xYS4wNDAKK1Byb2JsZW06ICAgIEEgKi5wbCBmaWxlIGlzIHJlY29nbml6ZWQgYXMgUGVybCwgYnV0IGl0IGNvdWxkIGJlIGEgcHJvbG9nIGZpbGUuCitTb2x1dGlvbjogICBDaGVjayB0aGUgZmlyc3Qgbm9uLWVtcHR5IGxpbmUuIChLb250cmEgR2VyZ2VseSkKK0ZpbGVzOgkgICAgcnVudGltZS9maWxldHlwZS52aW0KKworUGF0Y2ggNi4xYS4wNDEKK1Byb2JsZW06ICAgIFdoZW4gcHJlc3NpbmcgdGhlIGxlZnQgbW91c2UgYnV0dG9uIGluIHRoZSBjb21tYW5kIGxpbmUgYW5kIHRoZW0KKwkgICAgbW92aW5nIHRoZSBtb3VzZSB1cHdhcmRzLCBuZWFybHkgYWxsIHRoZSB0ZXh0IGlzIHNlbGVjdGVkLgorU29sdXRpb246ICAgRG9uJ3QgdHJ5IGV4dGVuZGluZyBhIG1vZGVsZXNzIHNlbGVjdGlvbiB3aGVuIHRoZXJlIGlzbid0IG9uZS4KK0ZpbGVzOgkgICAgc3JjL3VpLmMKKworUGF0Y2ggNi4xYS4wNDIKK1Byb2JsZW06ICAgIFdoZW4gbWVyZ2luZyBmaWxlcywgIjpkaWZmcHV0IiBhbmQgIjpkaWZmZ2V0IiBhcmUgdXNlZCBhIGxvdCwgYnV0CisJICAgIHRoZXkgcmVxdWlyZSBhIGxvdCBvZiB0eXBpbmcuCitTb2x1dGlvbjogICBBZGQgImRwIiBmb3IgIjpkaWZmcHV0IiBhbmQgImRvIiBmb3IgIjpkaWZmZ2V0Ii4KK0ZpbGVzOgkgICAgcnVudGltZS9kb2MvZGlmZi50eHQsIHNyYy9kaWZmLmMsIHNyYy9ub3JtYWwuYywgc3JjL3Byb3RvL2RpZmYucHJvCisKKworUGF0Y2ggNi4xYi4wMDEgKGV4dHJhKQorUHJvYmxlbTogICAgQ2hlY2tpbmcgZm9yIHdpbGRjYXJkcyBpbiBhIHBhdGggZG9lcyBub3QgaGFuZGxlIG11bHRpLWJ5dGUKKwkgICAgY2hhcmFjdGVycyB3aXRoIGEgdHJhaWwgYnl0ZSB3aGljaCBpcyBhIHdpbGRjYXJkLgorU29sdXRpb246ICAgSGFuZGxlIG11bHRpLWJ5dGUgY2hhcmFjdGVycyBjb3JyZWN0bHkuIChNdXJhb2thIFRhcm8pCitGaWxlczoJICAgIHNyYy9vc19hbWlnYS5jLCBzcmMvb3NfbWFjLmMsIHNyYy9vc19tc2Rvcy5jLCBzcmMvb3NfbXN3aW4uYywKKwkgICAgc3JjL29zX3VuaXguYworCitQYXRjaCA2LjFiLjAwMgorUHJvYmxlbTogICAgQSByZWdleHAgdGhhdCBlbmRzIGluICJceyIgaXMgbm90IGZsYWdnZWQgYXMgYW4gZXJyb3IuICBNYXkgY2F1c2UKKwkgICAgYSBzdGFjayBvdmVyZmxvdyB3aGVuICdpbmNzZWFyY2gnIGlzIHNldC4gKEdlcmhhcmQgSG9jaGhvbHplcikKK1NvbHV0aW9uOiAgIEhhbmRsZSBhIG1pc3NpbmcgIn0iIGFzIGFuIGVycm9yLgorRmlsZXM6CSAgICBzcmMvcmVnZXhwLmMKKworUGF0Y2ggNi4xYi4wMDMgKGV4dHJhKQorUHJvYmxlbTogICAgVGhlIFJJU0MgT1MgR1VJIGRvZXNuJ3QgY29tcGlsZS4KK1NvbHV0aW9uOiAgIEluY2x1ZGUgY2hhbmdlcyBzaW5jZSBWaW0gNS43LiAoQW5keSBXaW5nYXRlKQorRmlsZXM6CSAgICBzcmMvTWFrZV9yby5tYWssIHNyYy9ndWlfcmlzY29zLmMsIHNyYy9vc19yaXNjb3MuYywKKwkgICAgc3JjL29zX3Jpc2Nvcy5oLCBzcmMvcHJvdG8vZ3VpX3Jpc2Nvcy5wcm8KKworUGF0Y2ggNi4xYi4wMDQKK1Byb2JsZW06ICAgIGNvbCgiJz4iKSByZXR1cm5zIGEgbmVnYXRpdmUgbnVtYmVyIGZvciBsaW5ld2lzZSBzZWxlY3Rpb24uIChOZWlsCisJICAgIEJpcmQpCitTb2x1dGlvbjogICBEb24ndCBhZGQgb25lIHRvIE1BWENPTC4KK0ZpbGVzOgkgICAgc3JjL2V2YWwuYworCitQYXRjaCA2LjFiLjAwNQorUHJvYmxlbTogICAgVXNpbmcgYSBzZWFyY2ggcGF0dGVybiB0aGF0IGNhdXNlcyBhbiBvdXQtb2Ytc3RhY2sgZXJyb3Igd2hpbGUKKwkgICAgJ2hsc2VhcmNoJyBpcyBzZXQga2VlcHMgZ2l2aW5nIHRoZSBoaXQtRW50ZXIgcHJvbXB0LgorCSAgICBBIHNlYXJjaCBwYXR0ZXJuIHRoYXQgdGFrZXMgYSBsb25nIHRpbWUgZGVsYXlzIHR5cGluZyB3aGVuCisJICAgICdpbmNzZWFyY2gnIGlzIHNldC4KK1NvbHV0aW9uOiAgIFN0b3AgJ2hsc2VhcmNoJyBoaWdobGlnaHRpbmcgd2hlbiB0aGUgcmVnZXhwIGNhdXNlcyBhbiBlcnJvci4KKwkgICAgU3RvcCBzZWFyY2hpbmcgZm9yICdpbmNzZWFyY2gnIHdoZW4gYSBjaGFyYWN0ZXIgaXMgdHlwZWQuCitGaWxlczoJICAgIHNyYy9nbG9iYWxzLmgsIHNyYy9tZXNzYWdlLmMsIHNyYy9zY3JlZW4uYywgc3JjL3NlYXJjaC5jLAorCSAgICBzcmMvdmltLmgKKworUGF0Y2ggNi4xYi4wMDYKK1Byb2JsZW06ICAgIFdoZW4gZW50ZXJpbmcgYSBjb21wb3NpbmcgY2hhcmFjdGVyIG9uIHRoZSBjb21tYW5kIGxpbmUgd2l0aAorCSAgICBDVFJMLVYsIHRoZSB0ZXh0IGlzbid0IHJlZHJhd24gY29ycmVjdGx5LgorU29sdXRpb246ICAgUmVkcmF3IHRoZSB0ZXh0IHVuZGVyIGFuZCBhZnRlciB0aGUgY3Vyc29yLgorRmlsZXM6CSAgICBzcmMvZXhfZ2V0bG4uYworCitQYXRjaCA2LjFiLjAwNworUHJvYmxlbTogICAgV2hlbiB0aGUgY3Vyc29yIGlzIGluIHRoZSB3aGl0ZSBzcGFjZSBiZXR3ZWVuIHR3byBzZW50ZW5jZXMsICJkaXMiCisJICAgIGRlbGV0ZXMgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiB0aGUgZm9sbG93aW5nIHNlbnRlbmNlLCAiZGFzIgorCSAgICBkZWxldGVzIGEgc3BhY2UgYWZ0ZXIgdGhlIHNlbnRlbmNlLgorU29sdXRpb246ICAgQmFja3VwIHRoZSBjdXJzb3Igb25lIGNoYXJhY3RlciBpbiB0aGVzZSBzaXR1YXRpb25zLgorRmlsZXM6CSAgICBzcmMvc2VhcmNoLmMKKworUGF0Y2ggNi4xYi4wMDgKK1Byb2JsZW06ICAgICoueHNsIGZpbGVzIGFyZSBub3QgcmVjb2duaXplZCBhcyB4c2x0IGJ1dCB4bWwuCisJICAgIE1vbmsgZmlsZXMgYXJlIG5vdCByZWNvZ25pemVkLgorU29sdXRpb246ICAgRGVsZXRlIHRoZSBkdXBsaWNhdGUgbGluZSBmb3IgKi54c2wuIChKb2hhbm5lcyBaZWxsbmVyKQorCSAgICBSZWNvZ25pemUgbW9uayBmaWxlcy4KK0ZpbGVzOgkgICAgcnVudGltZS9maWxldHlwZS52aW0KKworUGF0Y2ggNi4xYi4wMDkKK1Byb2JsZW06ICAgIENhbid0IGFsd2F5cyBjb21waWxlIHNtYWxsIGZlYXR1cmVzIGFuZCB0aGVuIGFkZGluZyBldmFsIGZlYXR1cmUsCisJICAgICJzYW5kYm94IiBpcyB1bmRlZmluZWQuIChBeGVsIEtpZWxob3JuKQorU29sdXRpb246ICAgQWx3YXlzIGRlZmluZSAic2FuZGJveCIgd2hlbiB0aGUgZXZhbCBmZWF0dXJlIGlzIHVzZWQuCitGaWxlczoJICAgIHNyYy9nbG9iYWxzLmgKKworUGF0Y2ggNi4xYi4wMTAgKGV4dHJhKQorUHJvYmxlbTogICAgV2hlbiBjb21waWxpbmcgZ3ZpbWV4dC5jcHAgd2l0aCBNU1ZDIDQuMiBnZXQgYSBudW1iZXIgb2Ygd2FybmluZ3MuCitTb2x1dGlvbjogICBDaGFuZ2UgInRydWUiIHRvICJUUlVFIi4gKFdhbHRlciBCcmlzY29lKQorRmlsZXM6CSAgICBHdmltRXh0L2d2aW1leHQuY3BwCisKK1BhdGNoIDYuMWIuMDExCitQcm9ibGVtOiAgICBXaGVuIHVzaW5nIGEgdmVyeSBsb25nIHN0cmluZyBmb3IgY29uZmlybSgpLCBjYW4ndCBxdWl0IHRoZQorCSAgICBkaXNwbGF5aW5nIGF0IHRoZSBtb3JlIHByb21wdC4gKEhhcmkgS3Jpc2huYSBEYXJhKQorU29sdXRpb246ICAgSnVtcCB0byB0aGUgZW5kIG9mIHRoZSBtZXNzYWdlIHRvIHNob3cgdGhlIGNob2ljZXMuCitGaWxlczoJICAgIHNyYy9tZXNzYWdlLmMKKworUGF0Y2ggNi4xYi4wMTIKK1Byb2JsZW06ICAgIE11bHRpLWJ5dGU6IFdoZW4gJ3Nob3dicmVhaycgaXMgc2V0IGFuZCBhIGRvdWJsZS13aWRlIGNoYXJhY3RlcgorCSAgICBkb2Vzbid0IGZpdCBhdCB0aGUgcmlnaHQgd2luZG93IGVkZ2UgdGhlIGN1cnNvciBnZXRzIHN0dWNrIHRoZXJlLgorCSAgICBVc2luZyBjdXJzb3ItbGVmdCBnZXRzIHN0dWNrIHdoZW4gJ3ZpcnR1YWxlZGl0JyBpcyBzZXQuICAoRXJpYworCSAgICBMb25nKQorU29sdXRpb246ICAgRml4IHRoZSB3YXkgdGhlIGV4dHJhICI+IiBjaGFyYWN0ZXIgaXMgY291bnRlZCB3aGVuICdzaG93YnJlYWsnIGlzCisJICAgIHNldC4gIERvbid0IGNvcnJlY3QgY3Vyc29yIGZvciB2aXJ0dWFsIGVkaXRpbmcgb24gYSBkb3VibGUtd2lkZQorCSAgICBjaGFyYWN0ZXIuCitGaWxlczoJICAgIHNyYy9jaGFyc2V0LmMsIHNyYy9lZGl0LmMKKworUGF0Y2ggNi4xYi4wMTMKK1Byb2JsZW06ICAgIEEgdXNlciBjb21tYW5kIHRoYXQgcGFydGx5IG1hdGNoZXMgd2l0aCBhIGJ1ZmZlci1sb2NhbCB1c2VyCisJICAgIGNvbW1hbmQgYW5kIG1hdGNoZXMgZnVsbCB3aXRoIGEgZ2xvYmFsIHVzZXIgY29tbWFuZCB1bm5lY2Vzc2FyaWx5CisJICAgIGdpdmVzIGFuICdhbWJpZ3VvdXMgY29tbWFuZCcgZXJyb3IuCitTb2x1dGlvbjogICBGaW5kIHRoZSBmdWxsIGdsb2JhbCBtYXRjaCBldmVuIGFmdGVyIGEgcGFydGx5IGxvY2FsIG1hdGNoLgorRmlsZXM6CSAgICBzcmMvZXhfZG9jbWQuYworCitQYXRjaCA2LjFiLjAxNAorUHJvYmxlbTogICAgRUJDRElDOiBzd2l0Y2hpbmcgbW91c2UgZXZlbnRzIG9mZiBjYXVzZXMgZ2FyYmFnZSBvbiBzY3JlZW4uCisJICAgIFBvc2l0aW9uaW5nIHRoZSBjdXJzb3IgaW4gdGhlIEdVSSBjYXVzZXMgZ2FyYmFnZS4KK1NvbHV0aW9uOiAgIEluc2VydCBhbiBFU0MgaW4gdGhlIHRlcm1pbmFsIGNvZGUuIChSYWxmIFNjaGFuZGwpCisJICAgIFVzZSAiXGIiIGluc3RlYWQgb2YgIlwwMTAiIGZvciBLU19MRS4KK0ZpbGVzOgkgICAgc3JjL29zX3VuaXguYywgc3JjL3Rlcm0uYworCitQYXRjaCA2LjFiLjAxNQorUHJvYmxlbTogICAgVmltdHV0b3IgaGFzIGEgdHlwby4gIEdldCBhIHdhcm5pbmcgZm9yICJ0ZW1wZmlsZSIgaWYgaXQKKwkgICAgZG9lc24ndCBleGlzdC4KK1NvbHV0aW9uOiAgIE1vdmUgYSBxdW90ZSB0byB0aGUgZW5kIG9mIGEgbGluZS4gKE1heCBJc2NoZW5rbykKKwkgICAgVXNlICJta3RlbXAiIGZpcnN0LCBtb3JlIHN5c3RlbXMgaGF2ZSBpdC4KK0ZpbGVzOgkgICAgc3JjL3ZpbXR1dG9yCisKK1BhdGNoIDYuMWIuMDE2CitQcm9ibGVtOiAgICBHVEs6IGxvYWRpbmcgYSBmb250c2V0IHRoYXQgd29ya3MgcGFydGx5LCBWaW0gbWlnaHQgaGFuZyBvciBjcmFzaC4KK1NvbHV0aW9uOiAgIEF2b2lkIHRoYXQgY2hhcl93aWR0aCBiZWNvbWVzIHplcm8uIChZYXN1aGlybyBNYXRzdW1vdG8pCitGaWxlczoJICAgIHNyYy9ndWlfZ3RrX3gxMS5jCisKK1BhdGNoIDYuMWIuMDE3CitQcm9ibGVtOiAgICBHVUk6IFdoZW4gdXNpbmcgIjpzaGVsbCIgYW5kIHRoZXJlIGlzIGEgYmVlcCwgbm90aGluZyBoYXBwZW5zLgorU29sdXRpb246ICAgQ2FsbCB2aW1fYmVlcCgpIHRvIHByb2R1Y2UgdGhlIGJlZXAgZnJvbSB0aGUgc2hlbGwuIChZYXN1aGlybworCSAgICBNYXRzdW1vdG8pCitGaWxlczoJICAgIHNyYy9tZXNzYWdlLmMKKworUGF0Y2ggNi4xYi4wMTggKGRlcGVuZHMgb24gNi4xYi4wMDYpCitQcm9ibGVtOiAgICBXaGVuIGVudGVyaW5nIHRoZSBlbmNyeXB0aW9uIGtleSwgc3BlY2lhbCBrZXlzIG1heSBzdGlsbCByZXZlYWwKKwkgICAgdGhlIHR5cGVkIGNoYXJhY3RlcnMuCitTb2x1dGlvbjogICBNYWtlIHN1cmUgc3RhcnMgYXJlIHVzZWQgb3Igbm90aGluZyBpcyBzaG93biBpbiBhbGwgY2FzZXMuCitGaWxlczoJICAgIHNyYy9kaWdyYXBoLmMsIHNyYy9nZXRjaGFyLmMsIHNyYy9leF9nZXRsbi5jCisKK1BhdGNoIDYuMWIuMDE5IChkZXBlbmRzIG9uIDYuMWIuMDA1KQorUHJvYmxlbTogICAgQSBzZWFyY2ggcGF0dGVybiB0aGF0IHRha2VzIGEgbG9uZyB0aW1lIHNsb3dzIGRvd24gdHlwaW5nIHdoZW4KKwkgICAgJ2luY3NlYXJjaCcgaXMgc2V0LgorU29sdXRpb246ICAgUGFzcyBTRUFSQ0hfUEVFSyB0byBkb3NlYXJjaCgpLgorRmlsZXM6CSAgICBzcmMvZXhfZ2V0bG4uYworCitQYXRjaCA2LjFiLjAyMAorUHJvYmxlbTogICAgV2hlbiB1c2luZyB0aGUgbWF0Y2hpdCBwbHVnaW4sICIlIiBmaW5kcyBhIG1hdGNoIG9uIHRoZSAiZW5kIiBvZiBhCisJICAgICI6c3ludGF4IHJlZ2lvbiIgY29tbWFuZCBpbiBWaW0gc2NyaXB0cy4KK1NvbHV0aW9uOiAgIFNraXAgb3ZlciAiOnN5bnRheCByZWdpb24iIGNvbW1hbmRzIGJ5IHNldHRpbmcgYjptYXRjaF9za2lwLgorRmlsZXM6CSAgICBydW50aW1lL2Z0cGx1Z2luL3ZpbS52aW0KKworUGF0Y2ggNi4xYi4wMjEKK1Byb2JsZW06ICAgIHdoZW4gJ21vdXNlZm9jdXMnIGlzIHNldCwgQ1RSTC1XIENUUkwtXSBzb21ldGltZXMgZG9lc24ndCB3YXJwIHRoZQorCSAgICBwb2ludGVyIHRvIHRoZSBuZXcgd2luZG93LiAoUm9iZXJ0IFdlYmIpCitTb2x1dGlvbjogICBEb24ndCByZXNldCBuZWVkX21vdXNlX2NvcnJlY3Qgd2hlbiBjaGVja2luZyB0aGUgdGltZXN0YW1wIG9mIGEKKwkgICAgZmlsZS4KK0ZpbGVzOgkgICAgc3JjL2ZpbGVpby5jCisKK1BhdGNoIDYuMWIuMDIyCitQcm9ibGVtOiAgICBXaXRoIGxvdHMgb2YgZm9sZHMgImoiIGRvZXMgbm90IG9iZXkgJ3Njcm9sbG9mZicgcHJvcGVybHkuCisJICAgIChTcmluYXRoIEF2YWRoYW51bGEpCitTb2x1dGlvbjogICBHbyB0byBlbmQgb2YgdGhlIGZvbGQgYmVmb3JlIGNvdW50aW5nIGNvbnRleHQgbGluZXMuCitGaWxlczoJICAgIHNyYy9tb3ZlLmMKKworUGF0Y2ggNi4xYi4wMjMKK1Byb2JsZW06ICAgIE9uIE1TLVdpbmRvd3Mgc3lzdGVtKCkgbWF5IGNhdXNlIGNoZWNraW5nIHRpbWVzdGFtcHMsIGJlY2F1c2UgVmltCisJICAgIGxvb3NlcyBhbmQgZ2FpbnMgaW5wdXQgZm9jdXMsIHdoaWxlIHRoaXMgZG9lc24ndCBoYXBwZW4gb24gVW5peC4KK1NvbHV0aW9uOiAgIERvbid0IGNoZWNrIHRpbWVzdGFtcHMgd2hpbGUgc3lzdGVtKCkgaXMgYnVzeS4KK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMyLmMsIHNyYy9maWxlaW8uYywgc3JjL2dsb2JhbHMuaCwgc3JjL21pc2MxLmMKKworUGF0Y2ggNi4xYi4wMjQgKGV4dHJhKQorUHJvYmxlbTogICAgR2V0dGV4dCAwLjExIGNvbXBsYWlucyB0aGF0ICJzamlzIiBpcyBub3QgYSBzdGFuZGFyZCBuYW1lLgorU29sdXRpb246ICAgVXNlICJjcDkzMiIgaW5zdGVhZC4KK0ZpbGVzOgkgICAgc3JjL3BvL3NqaXNjb3JyLmMKKworUGF0Y2ggNi4xYi4wMjUgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6IFdoZW4gY2xvc2luZyBndmltIHdoaWxlIGl0IGlzIG1pbmltaXplZCAgYW5kIGhhcyBhIGNoYW5nZWQKKwkgICAgZmlsZSwgdGhlIGZpbGUtY2hhbmdlZCBkaWFsb2cgcG9wcyB1cCBpbiBhIGNvcm5lciBvZiB0aGUgc2NyZWVuLgorU29sdXRpb246ICAgUHV0IHRoZSBkaWFsb2cgaW4gdGhlIG1pZGRsZSBvZiB0aGUgc2NyZWVuLgorRmlsZXM6CSAgICBzcmMvZ3VpX3c0OC5jCisKK1BhdGNoIDYuMWIuMDI2CitQcm9ibGVtOiAgICBXaGVuICdkaWZmb3B0JyBjb250YWlucyAnaXdoaXRlJyBidXQgbm90ICdpY2FzZSc6IGRpZmZlcmVuY2VzIGluCisJICAgIGNhc2UgYXJlIG5vdCBoaWdobGlnaHRlZCBwcm9wZXJseS4gKEdlcmhhcmQgSG9jaGhvbHplcikKK1NvbHV0aW9uOiAgIERvbid0IGlnbm9yZSBjYXNlIHdoZW4gaWdub3Jpbmcgd2hpdGUgc3BhY2UgZGlmZmVyZW5jZXMuCitGaWxlczoJICAgIHNyYy9kaWZmLmMKKworUGF0Y2ggNi4xYi4wMjcKK1Byb2JsZW06ICAgICJ2aW0gLS1yZW1vdGUgKyIgbWF5IGNhdXNlIGEgY3Jhc2guCitTb2x1dGlvbjogICBDaGVjayBmb3IgbWlzc2luZyBmaWxlIG5hbWUgYXJndW1lbnQuIChNYXJ0aW4gS2FobGVydCkKK0ZpbGVzOgkgICAgc3JjL21haW4uYworCitQYXRjaCA2LjFiLjAyOCAoZXh0cmEpCitQcm9ibGVtOiAgICBXaW4xNjogQ2FuJ3QgY29tcGlsZSBhZnRlciBwYXRjaCA2LjFiLjAyNS4KK1NvbHV0aW9uOiAgIEFkZCBjb2RlIHNwZWNpZmljYWxseSBmb3IgV2luMTYuIChWaW5jZSBOZWdyaSkKK0ZpbGVzOgkgICAgc3JjL2d1aV93NDguYworCitQYXRjaCA2LjFiLjAyOQorUHJvYmxlbTogICAgV2luMzI6IFdoZW4gYSBkaXJlY3Rvcnkgb24gYW4gTlRGUyBwYXJ0aXRpb24gaXMgcmVhZC9leGVjdXRlIChubworCSAgICBkZWxldGUsbW9kaWZ5LHdyaXRlKSBhbmQgdGhlIGZpbGUgaGFzIG1vZGlmeSByaWdodHMsIHRyeWluZyB0bworCSAgICB3cml0ZSB0aGUgZmlsZSBkZWxldGVzIGl0LiAgTWFraW5nIHRoZSBmaWxlIHJlYWQvd3JpdGUvZXhlY3V0ZQorCSAgICAobm90IGRlbGV0ZSkgc29sdmVzIGl0LiAoTWFyayBDYW51cCkKK1NvbHV0aW9uOiAgIFVzZSB0aGUgVW5peCBjb2RlIHRvIGNoZWNrIGZvciBhIHdyaXRhYmxlIGRpcmVjdG9yeS4gIElmIG5vdCwgdGhlbgorCSAgICBtYWtlIGEgYmFja3VwIGNvcHkgYW5kIG92ZXJ3cml0ZSB0aGUgZmlsZS4KK0ZpbGVzOgkgICAgc3JjL2ZpbGVpby5jCisKK1BhdGNoIDYuMWIuMDMwIChleHRyYSkKK1Byb2JsZW06ICAgIE1hYzogc21hbGwgbWlzdGFrZSBpbiB0aGUgYnVpbGQgc2NyaXB0IGFuZCBwcm90b3R5cGVzLgorU29sdXRpb246ICAgRml4IHRoZSBidWlsZCBzY3JpcHQgYW5kIGFkZCB0aGUgcHJvdG90eXBlcy4gKEF4ZWwgS2llbGhvcm4pCitGaWxlczoJICAgIHNyYy9vc19tYWMuYnVpbGQsIHNyYy9ndWlfbWFjLmMKKworUGF0Y2ggNi4xYi4wMzEgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzIgR1VJOiAiOnNldCBndWlmb250PSoiIGRvZXNuJ3Qgc2V0ICdndWlmb250JyB0byB0aGUgcmVzdWx0aW5nCisJICAgIGZvbnQgbmFtZS4gKFZsYWQgU2FuZHJpbmkpCitTb2x1dGlvbjogICBQdXQgdGhlIGNvZGUgYmFjayBpbiBndWlfbWNoX2luaXRfZm9udCgpIHRvIGZvcm0gdGhlIGZvbnQgbmFtZSBvdXQKKwkgICAgb2YgdGhlIGxvZ2ZvbnQuCitGaWxlczoJICAgIHNyYy9ndWlfdzQ4LmMKKworUGF0Y2ggNi4xYi4wMzIKK1Byb2JsZW06ICAgIEF0aGVuYTogU2V0dGluZyBhIGNvbG9yIHNjaGVtZSBiZWZvcmUgdGhlIEdVSSBoYXMgc3RhcnRlZCBjYXVzZXMgYQorCSAgICBjcmFzaC4gKFRvZGQgQmx1bWVyKQorU29sdXRpb246ICAgRG9uJ3QgdHJ5IHVzaW5nIGNvbG9yIG5hbWVzIHRoYXQgaGF2ZW4ndCBiZWVuIHNldCB5ZXQuCitGaWxlczoJICAgIHNyYy9ndWlfYXRoZW5hLmMKKworUGF0Y2ggNi4xYi4wMzMKK1Byb2JsZW06ICAgIFdoZW4gdXNpbmcgYSBjb3VudCBhZnRlciBhICI6cyIgY29tbWFuZCBtYXkgZ2V0IG1sX2dldCBlcnJvcnMuCisJICAgIChEaWV0bWFyIExhbmcpCitTb2x1dGlvbjogICBDaGVjayB0aGF0IHRoZSByZXN1bHRpbmcgcmFuZ2UgZG9lcyBub3QgZ28gcGFzdCB0aGUgZW5kIG9mIHRoZQorCSAgICBidWZmZXIuCitGaWxlczoJICAgIHNyYy9leF9jbWRzLmMKKworUGF0Y2ggNi4xYi4wMzQKK1Byb2JsZW06ICAgIEFmdGVyIHNvdXJjaW5nIG1zd2luLnZpbSwgd2hlbiB1c2luZyA8Qy1TLVJpZ2h0PiBhZnRlcgorCSAgICBhdXRvLWluZGVudGluZyBhbmQgdGhlbiA8RGVsPiwgZ2V0IHdhcm5pbmcgZm9yIGFsbG9jYXRpbmcKKwkgICAgcmlkaWN1bG91cyBhbW91bnQgb2YgbWVtb3J5LiAoRGF2ZSBEZWxncmVjbykKK1NvbHV0aW9uOiAgIEFkanVzdCB0aGUgc3RhcnQgb2YgdGhlIFZpc3VhbCBhcmVhIHdoZW4gZGVsZXRpbmcgdGhlIGF1dG8taW5kZW50LgorRmlsZXM6CSAgICBzcmMvZWRpdC5jCisKK1BhdGNoIDYuMWIuMDM1CitQcm9ibGVtOiAgICBXaGVuIHVzaW5nIGV2aW0sIGRyb3BwaW5nIGEgZmlsZSBvbiBWaW0gYW5kIHRoZW4gZG91YmxlIGNsaWNraW5nCisJICAgIG9uIGEgd29yZCwgaXQgaXMgY2hhbmdlZCB0byAiaSIuIChNZXJsaW4gSGFuc2VuKQorU29sdXRpb246ICAgUmVzZXQgbmVlZF9zdGFydF9pbnNlcnRtb2RlIGFmdGVyIGVkaXRpbmcgdGhlIGZpbGUuCitGaWxlczoJICAgIHNyYy9leF9kb2NtZC5jCisKKworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitWRVJTSU9OIDYuMgkJCQkJCSp2ZXJzaW9uLTYuMioKKworVGhpcyBzZWN0aW9uIGlzIGFib3V0IGltcHJvdmVtZW50cyBtYWRlIGJldHdlZW4gdmVyc2lvbiA2LjEgYW5kIDYuMi4KKworVGhpcyBpcyBtYWlubHkgYSBidWctZml4IHJlbGVhc2UuICBUaGVyZSBhcmUgYWxzbyBhIGZldyBuZXcgZmVhdHVyZXMuCisKK01haW4gbmV3IGZlYXR1cmVzOgorLSBTdXBwb3J0IGZvciBHVEsgMi4gKERhbmllbCBFbHN0bmVyKQorLSBTdXBwb3J0IGZvciBlZGl0aW5nIEFyYWJpYyB0ZXh0LiAoTmFkaW0gU2hhaWtsaSAmIElzYW0gQmF5YXppZGkpCistICI6dHJ5IiBjb21tYW5kIGFuZCBleGNlcHRpb24gaGFuZGxpbmcuIChTZXJ2YXRpdXMgQnJhbmR0KQorLSBTdXBwb3J0IGZvciB0aGUgbmVYdGF3IEdVSSB0b29sa2l0IChtb3N0bHkgbGlrZSBBdGhlbmEpLiAoQWxleGV5IEZyb2xvZmYpCistIENzY29wZSBzdXBwb3J0IGZvciBXaW4zMi4gKEtob3JldiBTZXJnZXkpCistIFN1cHBvcnQgZm9yIFBvc3RTY3JpcHQgcHJpbnRpbmcgaW4gdmFyaW91cyA4LWJpdCBlbmNvZGluZ3MuIChNaWtlIFdpbGxpYW1zKQorCisKK0NoYW5nZWQJCQkJCQkJKmNoYW5nZWQtNi4yKgorLS0tLS0tLQorCitSZW1vdmVkIHRoZSBzY2hlbWUgaW5kZW50IGZpbGUsIHRoZSBpbnRlcm5hbCBMaXNwIGluZGVudGluZyB3b3JrcyB3ZWxsIG5vdy4KKworTW92ZWQgdGhlIEd2aW1FWHQsIE9sZVZpbSBhbmQgVmlzVmltIGRpcmVjdG9yaWVzIGludG8gdGhlICJzcmMiIGRpcmVjdG9yeS4KK1RoaXMgaXMgbW9yZSBjb25zaXN0ZW50IHdpdGggaG93IHh4ZCBpcyBoYW5kbGVkLgorCitUaGUgVmlzVmltLmRsbCBmaWxlIGlzIGluc3RhbGxlZCBpbiB0aGUgdG9wIGRpcmVjdG9yeSwgbmV4dCB0byBndmltZXh0LmRsbCwKK2luc3RlYWQgb2YgaW4gYSBzdWJkaXJlY3RvcnkgIlZpc1ZpbSIuICBGaXhlcyB0aGF0IE5TSVMgd2FzIHVuaW5zdGFsbGluZyBpdAorZnJvbSB0aGUgd3JvbmcgZGlyZWN0b3J5LgorCitSZW1vdmVkIHRoZSBhcnQgaW5kZW50IGZpbGUsIGl0IGRpZG4ndCBkbyBhbnl0aGluZy4KKworc3VibWF0Y2goKSByZXR1cm5lZCBsaW5lIGJyZWFrcyB3aXRoIENSIGluc3RlYWQgb2YgTEYuCisKK0NoYW5nZWQgdGhlIFdpbjMyIE1ha2VmaWxlcyB0byBiZWNvbWUgbW9yZSB1bmlmb3JtIGFuZCBjb21waWxlIGd2aW1leHQuZGxsLgorKERhbiBTaGFycCkKKworJ2NpbmRlbnQnOiBBbGlnbiBhICIvLyIgY29tbWVudCB3aXRoIGEgIi8vIiBjb21tZW50IGluIGEgcHJldmlvdXMgbGluZS4KKyhIZWxtdXQgU3RpZWdsZXIpCisKK1ByZXZpb3VzbHkgb25seSBmb3IgeHRlcm0tbGlrZSB0ZXJtaW5hbHMgcGFyZW50IHdpZGdldHMgd2VyZSBmb2xsb3dlZCB0byBmaW5kCit0aGUgdGl0bGUgYW5kIGljb24gbGFiZWwuICBOb3cgZG8gdGhpcyBmb3IgYWxsIHRlcm1pbmFsIGVtdWxhdG9ycy4KKworTWFkZSBpdCBwb3NzaWJsZSB0byByZWNvZ25pemUgYmFja3NsYXNoZXMgZm9yICIlIiBtYXRjaGluZy4gIFRoZSAnTScgZmxhZyBpbgorJ2Nwb3B0aW9ucycgZGlzYWJsZXMgaXQuIChIYWFrb24gUmlpc2VyKQorCitSZW1vdmVkIHRoZSBNYWtlX3RjYy5tYWsgbWFrZWZpbGUgZm9yIFR1cmJvIEMuICBJdCBkaWRuJ3Qgd29yayBhbmQgd2UgcHJvYmFibHkKK2Nhbid0IG1ha2UgaXQgd29yayAodGhlIGNvbXBpbGVyIHJ1bnMgb3V0IG9mIG1lbW9yeSkuCisKK0V2ZW4gdGhvdWdoIHRoZSBkb2N1bWVudGF0aW9uIHJlZmVycyB0byBrZXl3b3JkcywgIlsgQ1RSTC1EIiB3YXMgdXNpbmcKKydpc2lkZW50JyB0byBmaW5kIG1hdGNoZXMuICBDaGFuZ2VkIGl0IHRvIHVzZSAnaXNrZXl3b3JkJy4gIEFsc28gYXBwbGllcyB0bworb3RoZXIgY29tbWFuZHMgdGhhdCBzZWFyY2ggZm9yIGRlZmluZWQgd29yZHMgaW4gaW5jbHVkZWQgZmlsZXMgc3VjaCBhcworIjpkc2VhcmNoIiwgIltEIiBhbmQgIltkIi4KKworTWFkZSAna2V5d29yZHByZycgZ2xvYmFsLWxvY2FsLiAoQ2hyaXN0aWFuIFJvYmluc29uKQorCitFbmFibGVkIHRoZSBOZXRiZWFucyBpbnRlcmZhY2UgYnkgZGVmYXVsdC4gIFJldmVyc2VkIHRoZSBjb25maWd1cmUgYXJndW1lbnQKK2Zyb20gIi0tZW5hYmxlLW5ldGJlYW5zIiB0byAiLS1kaXNhYmxlLW5ldGJlYW5zIi4KKworCitBZGRlZAkJCQkJCQkqYWRkZWQtNi4yKgorLS0tLS0KKworTmV3IG9wdGlvbnM6CisJJ2FyYWJpYycKKwknYXJhYmljc2hhcGUnCisJJ2FtYml3aWR0aCcKKwknYXV0b2NoZGlyJworCSdjYXNlbWFwJworCSdjb3B5aW5kZW50JworCSdjc2NvcGVxdWlja2ZpeCcKKwkncHJlc2VydmVpbmRlbnQnCisJJ3ByaW50ZW5jb2RpbmcnCisJJ3JpZ2h0bGVmdGNtZCcKKwkndGVybWJpZGknCisJJ3Rvb2xiYXJpY29uc2l6ZScKKwknd2luZml4aGVpZ2h0JworCitOZXcga2V5bWFwczoKKwlTZXJiaWFuIChBbGVrc2FuZGFyIFZlc2VsaW5vdmljKQorCUNoaW5lc2UgUGlueWluIChGcmVkcmlrIFJvdWJlcnQpCisJRXNwZXJhbnRvIChBbnRvaW5lIEouIE1lY2hlbHluY2spCisKK05ldyBzeW50YXggZmlsZXM6CisJVmFsZ3JpbmQgKFJvZ2VyIEx1ZXRoaSkKKwlTbWFydHkgdGVtcGxhdGUgKE1hbmZyZWQgU3RpZW5zdHJhKQorCU15U1FMIChLZW5uZXRoIFByb25vdmljaSkKKwlSb2NrTGludXggcGFja2FnZSBkZXNjcmlwdGlvbiAoUGlvdHIgRXNkZW4tVGVtcHNraSkKKwlNTUlYIChEaXJrIEh1ZXNrZW4pCisJZ2tyZWxsbXJjIChEYXZpZCBOZWNhcykKKwlUaWxkZSAoVG9iaWFzIFJ1bmR0cm9tKQorCUxvZ3RhbGsgKFBhdWxvIE1vdXJhKQorCVBMUCAoSnVlcmQgV2FhbGJvZXIpCisJZnZ3bTJtNCAoRGF2aWQgTmVjYXMpCisJSVBmaWx0ZXIgKEhlbmRyaWsgU2Nob2x6KQorCWZzdGFiIChSYWR1IERpbmVpdSkKKwlRdWFrZSAoTmlrb2xhaSBXZWlidWxsKQorCU9jY2FtIChNYXJpbyBTY2h3ZWlnbGVyKQorCWxwYyAoU2hpemh1IFBhbikKKwlFeGltIGNvbmYgKERhdmlkIE5lY2FzKQorCUVESUYgKEFydGVtIFphbmtvdmljaCkKKwkuY3ZzcmMgKE5pa29sYWkgV2VpYnVsbCkKKwkuZmV0Y2htYWlscmMgKE5pa29sYWkgV2VpYnVsbCkKKwlHTlUgZ3BnIChOaWtvbGFpIFdlaWJ1bGwpCisJR3J1YiAoTmlrb2xhaSBXZWlidWxsKQorCU1vZGNvbmYgKE5pa29sYWkgV2VpYnVsbCkKKwlSQ1MgKERtaXRyeSBWYXNpbGlldikKKwlBcnQgKERvcmFpIFNpdGFyYW0pCisJUmVuZGVybWFuIEludGVyZmFjZSBCeXRlc3RyZWFtIChBbmRyZXcgSiBCcm9tYWdlKQorCU1haWxjYXAgKERvdWcgS2Vhcm5zKQorCVN1YnZlcnNpb24gY29tbWl0IGZpbGUgKERtaXRyeSBWYXNpbGlldikKKwlNaWNyb3NvZnQgSURMIChWYWRpbSBaZWl0bGluKQorCVdpbGRQYWNrZXRzIEV0aGVyUGVlayBEZWNvZGVyIChDaHJpc3RvcGhlciBTaGlubikKKwlTcHljZSAoUmltb24gQmFycikKKwlSZXNvbHYuY29uZiAoUmFkdSBEaW5laXUpCisJQTY1IChDbGVtZW5zIEtpcmNoZ2F0dGVyZXIpCisJc3NoY29uZmlnIGFuZCBzc2hkY29uZmlnIChEYXZpZCBOZWNhcykKKwlDaGVldGFoIGFuZCBIVE1MQ2hlZXRhaCAoTWF4IElzY2hlbmtvKQorCVBhY2tldCBmaWx0ZXIgKENhbWllbCBEb2JiZWxhYXIpCisKK05ldyBpbmRlbnQgZmlsZXM6CisJRWlmZmVsIChEYXZpZCBDbGFya2UpCisJVGlsZGUgKFRvYmlhcyBSdW5kdHJvbSkKKwlPY2NhbSAoTWFyaW8gU2Nod2VpZ2xlcikKKwlBcnQgKERvcmFpIFNpdGFyYW0pCisJUEhQIChNaWxlcyBMb3R0KQorCUR5bGFuIChCcmVudCBGdWxnaGFtKQorCitOZXcgdHV0b3IgdHJhbnNsYXRpb25zOgorCVNsb3ZhayAoTHVib3MgQ2Vsa28pCisJR3JlZWsgKENocmlzdG9zIEtvbnRhcykKKwlHZXJtYW4gKEpvYWNoaW0gSG9mbWFubikKKwlOb3J3ZWdpYW4gKNh5dmluZCBIb2xtKQorCitOZXcgZmlsZXR5cGUgcGx1Z2luczoKKwlPY2NhbSAoTWFyaW8gU2Nod2VpZ2xlcikKKwlBcnQgKERvcmFpIFNpdGFyYW0pCisJYW50LnZpbSwgYXNwdmJzLnZpbSwgY29uZmlnLnZpbSwgY3NjLnZpbSwgY3NoLnZpbSwgZHRkLnZpbSwgaHRtbC52aW0sCisJanNwLnZpbSwgcGFzY2FsLnZpbSwgcGhwLnZpbSwgc2dtbC52aW0sIHNoLnZpbSwgc3ZnLnZpbSwgdGNzaC52aW0sCisJeGh0bWwudmltLCB4bWwudmltLCB4c2QudmltLiAgKERhbiBTaGFycCkKKworTmV3IGNvbXBpbGVyIHBsdWdpbnM6CisJQ2hlY2tzdHlsZSAoRG91ZyBLZWFybnMpCisJZzc3IChSYWxmIFdpbGRlbmh1ZXMpCisJZm9ydHJhbiAoSm9oYW5uLUd1ZW50ZXIgU2ltb24pCisJWG1sbGludCAoRG91ZyBLZWFybnMpCisJUnVieSAoVGltIEhhbW1lcnF1aXN0KQorCU1vZGVsc2ltIHZjb20gKFBhdWwgQmFsZW1lKQorCitOZXcgbWVudSB0cmFuc2xhdGlvbnM6CisJQnJhemlsaWFuIChKb3PpIGRlIFBhdWxhKQorCUJyaXRpc2ggKE1pa2UgV2lsbGlhbXMpCisJS29yZWFuIGluIFVURi04LiAoTmFtIFN1bmdIeXVuKQorCU5vcndlZ2lhbiAo2Hl2aW5kIEhvbG0pCisJU2VyYmlhbiAoQWxla3NhbmRhciBKZWxlbmFrKQorCitOZXcgbWVzc2FnZSB0cmFuc2xhdGlvbiBmb3IgTm9yd2VnaWFuLiAo2Hl2aW5kIEhvbG0pCisKK05ldyBjb2xvciBzY2hlbWU6CisJZGVzZXJ0IChIYW5zIEZ1Z2FsKQorCitBcmFiaWMgc3BlY2lmaWMgZmVhdHVyZXMuICdhcmFiaWNzaGFwZScsICd0ZXJtYmlkaScsICdhcmFiaWMnIGFuZAorJ3JpZ2h0bGVmdGNtZCcgb3B0aW9ucy4gIChOYWRpbSBTaGFpa2xpICYgSXNhbSBCYXlhemlkaSkKKworU3VwcG9ydCBmb3IgbmVYdGF3IEdVSSB0b29sa2l0LCBtb3N0bHkgbGlrZSBBdGhlbmEuIChBbGV4ZXkgRnJvbG9mZikKKworV2luMzI6IGNzY29wZSBzdXBwb3J0LiAoS2hvcmV2IFNlcmdleSkKKworVk1TOiB2YXJpb3VzIGltcHJvdmVtZW50cyB0byBkb2N1bWVudGF0aW9uIGFuZCBtYWtlZmlsZXMuICAoWm9sdGFuIEFycGFkZmZ5KQorCitBZGRlZCAieCIga2V5IHRvIHRoZSBleHBsb3JlciBwbHVnaW46IGV4ZWN1dGUgdGhlIGRlZmF1bHQgYWN0aW9uLiAoWWFzdWhpcm8KK01hdHN1bW90bykKKworQ29tcGlsZSBndmltZXh0LmRsbCB3aXRoIE1pbmdXLiAoUmVuZSBkZSBad2FydCkKKworQWRkIHRoZSAidG9odG1sLnZpbSIgcGx1Z2luLiAgSXQgZGVmaW5lcyB0aGUgIjpUT2h0bWwiIHVzZXIgY29tbWFuZCwgYW4gZWFzeQord2F5IHRvIGNvbnZlcnQgdGV4dCB0byBIVE1MLgorCitBZGRlZCAiOnRyeSIgLyAiOmNhdGNoIiAvICI6ZmluYWxseSIgLyAiOmVuZHRyeSIgY29tbWFuZHMuICBBZGQgRTk5OSBudW1iZXJzCit0byBhbGwgZXJyb3IgbWVzc2FnZXMsIHNvIHRoYXQgdGhleSBjYW4gYmUgY2F1Z2h0IGJ5IHRoZSBudW1iZXIuCisoU2VydmF0aXVzIEJyYW5kdCkKK01vdmVkIHBhcnQgb2YgZXhfZG9jbWQuYyB0byB0aGUgbmV3IGV4X2V2YWwuYyBzb3VyY2UgZmlsZS4KKworSW5jbHVkZSBzdXBwb3J0IGZvciBHVEsrIDIuMi54IChEYW5pZWwgRWxzdG5lcikKK0FkZHMgdGhlICJ+IiByZWdpc3RlcjogZHJhZyAmIGRyb3AgdGV4dC4KK0FkZHMgdGhlICd0b29sYmFyaWNvbnNpemUnIG9wdGlvbi4KK0FkZCAtRGFsbG9jYSB3aGVuIHJ1bm5pbmcgbGludCB0byB3b3JrIGFyb3VuZCBhIHByb2JsZW0gd2l0aCBhbGxvY2EoKQorcHJvdG90eXBlLgorCitXaGVuIHNlbGVjdGluZyBhbiBpdGVtIGluIHRoZSBlcnJvciB3aW5kb3cgdG8ganVtcCB0bywgdGFrZSBzb21lIGVmZm9ydCB0bworZmluZCBhbiBvcmRpbmFyeSB3aW5kb3cgdG8gc2hvdyB0aGUgZmlsZSBpbiAobm90IGEgcHJldmlldyB3aW5kb3cpLgorCitTdXBwb3J0IGZvciBQb3N0U2NyaXB0IHByaW50aW5nIG9mIHZhcmlvdXMgOC1iaXQgZW5jb2RpbmdzLiAoTWlrZSBXaWxsaWFtcykKKworaW5wdXRkaWFsb2coKSBhY2NlcHRzIGEgdGhpcmQgYXJndW1lbnQgdGhhdCBpcyB1c2VkIHdoZW4gdGhlIGRpYWxvZyBpcworY2FuY2VsbGVkLiAgTWFrZXMgaXQgcG9zc2libGUgdG8gc2VlIGEgZGlmZmVyZW5jZSBiZXR3ZWVuIGNhbmNlbGxpbmcgYW5kCitlbnRlcmluZyBub3RoaW5nLgorCitJbmNsdWRlZCBBYXAgcmVjaXBlcy4gIENhbiBiZSB1c2VkIHRvIHVwZGF0ZSBWaW0gdG8gdGhlIGxhdGVzdCB2ZXJzaW9uLAorYnVpbGRpbmcgYW5kIGluc3RhbGxpbmcuCisKKyIvIiBvcHRpb24gaW4gJ2Npbm9wdGlvbnMnOiBleHRyYSBpbmRlbnQgZm9yIGNvbW1lbnQgbGluZXMuIChIZWxtdXQgU3RpZWdsZXIpCisKK1ZpbSB2YXJpYWJsZSAidjpyZWdpc3RlciIgYW5kIGZ1bmN0aW9ucyBzZXRyZWcoKSwgZ2V0cmVnKCkgYW5kIGdldHJlZ3R5cGUoKS4KKyhNaWNoYWVsIEdlZGRlcykKKworInYiIGZsYWcgaW4gJ2Nwb3B0aW9ucyc6IExlYXZlIHRleHQgb24gc2NyZWVuIHdpdGggYmFja3NwYWNlIGluIEluc2VydCBtb2RlLgorKFBoaWxsaXAgVmFuZHJ5KQorCitEb3NpbnN0LmV4ZSBhbHNvIGZpbmRzIGd2aW1leHQuZGxsIGluIHRoZSAiR3ZpbUV4dCIgZGlyZWN0b3J5LiAgVXNlZnVsIHdoZW4KK3J1bm5pbmcgaW5zdGFsbCBpbiB0aGUgInNyYyIgZGlyZWN0b3J5IGZvciB0ZXN0aW5nLgorCitTdXBwb3J0IHRhZyBmaWxlcyB0aGF0IHdlcmUgc29ydGVkIHdpdGggY2FzZSBpZ25vcmVkLiAoRmxlbW1pbmcgTWFkc2VuKQorCitXaGVuIGNvbXBsZXRpbmcgYSB3aWxkY2FyZCBpbiBhIGxlYWRpbmcgcGF0aCBlbGVtZW50LCBhcyBpbiAiLi4vKi9NYWtlZmlsZSIsCitvbmx5IHRoZSBsYXN0IHBhcnQgKCJNYWtlZmlsZSIpIHdhcyBsaXN0ZWQuICBTdXBwb3J0IGN1c3RvbSBkZWZpbmVkCitjb21tYW5kIGxpbmUgY29tcGxldGlvbi4gIChGbGVtbWluZyBNYWRzZW4pCisKK0Fsc28gcmVjb2duaXplICJyeHZ0IiBhcyBhbiB4dGVybS1saWtlIHRlcm1pbmFsLiAoVG9tYXMgU3R5YmxvKQorCitQcm9wZXIgWDExIHNlc3Npb24gbWFuYWdlbWVudC4gIEZpeGVzIHRoYXQgdGhlIFdNX1NBVkVfWU9VUlNFTEYgZXZlbnQgd2FzIG5vdAordXNlZCBieSBwb3B1bGFyIGRlc2t0b3BzLiAgKE5laWwgQmlyZCkKK05vdCB1c2VkIGZvciBHbm9tZSAyLCBpdCBoYXMgaXRzIG93biBoYW5kbGluZy4KKworU3VwcG9ydCBCT1IsIERFQlVHIGFuZCBTUEFXTk8gYXJndW1lbnRzIGZvciB0aGUgQm9ybGFuZCAzIE1ha2VmaWxlLiAoV2FsdGVyCitCcmlzY29lKQorCitTdXBwb3J0IHBhZ2UgYnJlYWtzIGZvciBwcmludGluZy4gIEFkZHMgdGhlICJmb3JtZmVlZCIgZmllbGQgaW4KKydwcmludG9wdGlvbnMnLiAgKE1pa2UgV2lsbGlhbXMpCisKK01hYyBPU1g6IG11bHRpLWxhbmd1YWdlIHN1cHBvcnQ6IGljb252IGFuZCBnZXR0ZXh0LiAoTXVyYW9rYSBUYXJvLCBBeGVsCitLaWVsaG9ybikKKworIlxaIiBmbGFnIGluIHBhdHRlcm5zOiBpZ25vcmUgZGlmZmVyZW5jZXMgaW4gY29tYmluaW5nIGNoYXJhY3RlcnMuIChSb24gQWFyb24pCisKK0FkZGVkICdwcmVzZXJ2ZWluZGVudCcgYW5kICdjb3B5aW5kZW50JyBvcHRpb25zLiAgVGhleSB1c2UgZXhpc3Rpbmcgd2hpdGUKK3NwYWNlIGNoYXJhY3RlcnMgaW5zdGVhZCBvZiB1c2luZyBUYWJzIGFzIG11Y2ggYXMgcG9zc2libGUuIChDaHJpcyBMZWlzaG1hbikKKworVXBkYXRlZCBVbmljb2RlIHRhYmxlcyB0byBVbmljb2RlIDQuMC4gKFJhcGhhZWwgRmlua2VsKQorCitTdXBwb3J0IGZvciB0aGUgbW91c2Ugd2hlZWwgaW4gcnh2dC4gKEFJREEgU2hpbnJhKQorCitXaW4zMjogQWRkZWQgIjo4IiBmaWxlIG1vZGlmaWVyIHRvIGdldCBzaG9ydCBmaWxlbmFtZS4gIFRlc3Q1MCB0ZXN0cyB0aGUgIjo4IgorZXhwYW5zaW9uIG9uIFdpbjMyIHN5c3RlbXMuIChNaWNoYWVsIEdlZGRlcykKKworJ2NzY29wZXF1aWNrZml4JyBvcHRpb246IE9wZW4gcXVpY2tmaXggd2luZG93IGZvciBDc2NvcGUgY29tbWFuZHMuICBBbHNvCitjbGVhbnVwIHRoZSBjb2RlIGZvciBnaXZpbmcgbWVzc2FnZXMuICAoS2hvcmV2IFNlcmdleSkKKworR1VJOiBTdXBwb3J0IG1vcmUgdGhhbiAyMjIgY29sdW1ucyBmb3IgbW91c2UgcG9zaXRpb25zLgorCisiOnN0b3BpbnNlcnQiIGNvbW1hbmQ6IERvbid0IHJldHVybiB0byBJbnNlcnQgbW9kZS4KKworImludGVycnVwdCIgY29tbWFuZCBmb3IgZGVidWcgbW9kZS4gIFVzZWZ1bCBmb3Igc2ltdWxhdGluZyBDVFJMLUMuIChTZXJ2YXRpdXMKK0JyYW5kdCkKKworCitGaXhlZAkJCQkJCQkqZml4ZWQtNi4yKgorLS0tLS0KKworUmVtb3ZlZCBhIGZldyB1bnVzZWQgI2RlZmluZXMgZnJvbSBjb25maWcuaC5pbiwgb3Nfb3MyX2NmZy5oIGFuZCBvc192bXNfY29uZi5oLgorCitUaGUgVmltIGljb25zIGluIFBORyBmb3JtYXQgZGlkbid0IGhhdmUgYSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kLiAoR3JlZworUm9lbG9mcykKKworRml4ZWQgYSBsYXJnZSBudW1iZXIgb2Ygc3BlbGxpbmcgbWlzdGFrZXMgaW4gdGhlIGRvY3MuIChBZHJpIFZlcmhvZWYpCisKK1RoZSAjZGVmaW5lcyBmb3IgcHJvdG90eXBlIGdlbmVyYXRpb24gd2VyZSBjYXVzaW5nIHRyb3VibGUuICBDaGFuZ2VkIHRoZW0gdG8KK3R5cGVkZWZzLgorCitBIG5ldyB2ZXJzaW9uIG9mIGxpYmludGwuaCB1c2VzIF9fYXNtX18sIHdoaWNoIGNvbmZ1c2VzIGNwcm90by4gIERlZmluZSBhCitkdW1teSBfX2FzbV9fIG1hY3JvLgorCitXaGVuICd2aXJ0dWFsZWRpdCcgaXMgc2V0IGNhbid0IG1vdmUgdG8gaGFsZndheSBhbiB1bnByaW50YWJsZSBjaGFyYWN0ZXIuCitDcmlwcGxlcyBDVFJMLVYgc2VsZWN0aW9uLiAoVGFybyBNdXJhb2thKQorQWxsb3cgbW92aW5nIHRvIGhhbGZ3YXkgYW4gdW5wcmludGFibGUgY2hhcmFjdGVyLiAgRG9uJ3QgbGV0IGdldHZ2Y29sKCkgY2hhbmdlCit0aGUgcG9zLT5jb2xhZGQgYXJndW1lbnQuCisKK1doZW4gYSB0YWIgd3JhcHMgdG8gdGhlIG5leHQgbGluZSwgJ2xpc3RjaGFycycgaXMgc2V0IGFuZCAnZm9sZGNvbHVtbicgaXMKK25vbi16ZXJvLCBvbmx5IG9uZSBjaGFyYWN0ZXIgb2YgdGhlIGZvbGRjb2x1bW4gaXMgaGlnaGxpZ2h0ZWQuIChNdXJhb2thIFRhcm8pCisKK1doZW4gdXNpbmcgIjpjYXRjaCIgd2l0aG91dCBhbiBhcmd1bWVudCBWaW0gY3Jhc2hlcy4gKFlhc3VoaXJvIE1hdHN1bW90bykKK1doZW4gbm8gYXJndW1lbnQgZ2l2ZW4gdXNlIHRoZSAiLioiIHBhdHRlcm4uCisKK1dpbjMyOiBXaGVuIGd2aW0uZXhlIGlzIHN0YXJ0ZWQgZnJvbSBhIHNob3J0Y3V0IHdpdGggdGhlIHdpbmRvdyBzdHlsZSBwcm9wZXJ0eQorc2V0IHRvIG1heGltaXplIFZpbSBkb2Vzbid0IHN0YXJ0IHdpdGggYSBtYXhpbWl6ZWQgd2luZG93LiAoWWFzdWhpcm8KK01hdHN1bW90bykgIE9wZW4gdGhlIHdpbmRvdyB3aXRoIHRoZSBkZWZhdWx0IHNpemUgYW5kIGRvbid0IGNhbGwgU2hvd1dpbmRvdygpCithZ2FpbiB3aGVuIGl0J3MgYWxyZWFkeSB2aXNpYmxlLiAoSGVsbXV0IFN0aWVnbGVyKQorCitndWlfZ3RrLmMgdXNlZCBNQVgsIGJ1dCBpdCdzIHVuZGVmaW5lZCB0byBhdm9pZCBhIGNvbmZsaWN0IHdpdGggc3lzdGVtIGhlYWRlcgorZmlsZXMuCisKK1dpbjMyOiBXaGVuIGNsb3NpbmcgYSB3aW5kb3cgZnJvbSBhIG1hcHBpbmcgc29tZSBwaXhlbHMgcmVtYWluIG9uIHRoZQorc3RhdHVzbGluZS4gKFlhc3VoaXJvIE1hdHN1bW90bykKKworQSBjb2x1bW4gbnVtYmVyIGluIGFuIGVycm9yZm9ybWF0IHRoYXQgZ29lcyBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgbGluZSBtYXkKK2NhdXNlIGEgY3Jhc2guCisKKyI6dGhyb3cgJ3Rlc3QnIiBjcmFzaGVzIFZpbS4gKFlhc3VoaXJvIE1hdHN1bW90bykKKworVGhlIGZpbGUgc2VsZWN0b3IncyBzY3JvbGxiYXIgY29sb3JzIGFyZSBub3Qgc2V0IGFmdGVyIGRvaW5nIGEgIjpoaSBTY3JvbGxiYXIKK2d1aWZnPWNvbG9yIi4gIEFuZCB0aGUgZmlsZSBzZWxlY3RvcidzIGNvbG9ycyBhcmUgbm90IGNoYW5nZWQgYnkgdGhlCitjb2xvcnNjaGVtZSBjb21tYW5kLiAgKERhdmlkIEhhcnJpc29uKQorCitNb3RpZjogV2hlbiBjb21waWxpbmcgd2l0aCBGRUFUX0ZPT1RFUiBkZWZpbmVkLCB0aGUgdGV4dCBhcmVhIGdldHMgYSBmZXcKK3BpeGVscyBleHRyYSBzcGFjZSBvbiB0aGUgcmlnaHQuICBSZW1vdmUgdGhlIHNwZWNpYWwgY2FzZSBpbgorZ3VpX2dldF9iYXNlX3dpZHRoKCkuIChEYXZpZCBIYXJyaXNvbikKKworVXNpbmcgQ1RSTC1SIENUUkwtUCBpbiBJbnNlcnQgbW9kZSBwdXRzIHRoZSAnXSBtYXJrIGluIHRoZSB3cm9uZyBwb3NpdGlvbi4KKyhIZWxtdXQgU3RpZWdsZXIpCisKK1doZW4gJ2Zvcm1hdG9wdGlvbnMnIGluY2x1ZGVzICJhd2N0IiBhIG5vbi1jb21tZW50IHdhc24ndCBhdXRvLWZvcm1hdHRlZC4KKworVXNpbmcgYSAiLS1jbWQiIGFyZ3VtZW50IG1vcmUgdGhhbiAxMCB0aW1lcyBjYXVzZWQgYSBjcmFzaC4KKworREVDIHN0eWxlIG1vdXNlIHN1cHBvcnQgZGlkbid0IHdvcmsgaWYgdGhlIHBhZ2UgZmllbGQgaXMgbm90IGVtcHR5LgorKFVyaWJhcnJpKQorCisidmltIC1sIG9uZSB0d28iIGRpZCBvbmx5IHNldCAnbGlzcCcgaW4gdGhlIGZpcnN0IGZpbGUuICBWaSBkb2VzIGl0IGZvciBldmVyeQorZmlsZS4KKworIjpzZXQgdHc8IiBkaWRuJ3Qgd29yay4gIFdhcyBjaGVja2luZyBmb3IgJ14nIGluc3RlYWQgb2YgJzwnLgorCitJbiAiOmhhcmRjb3B5ID4gJS5wcyIgdGhlICIlIiB3YXMgbm90IGV4cGFuZGVkIHRvIHRoZSBjdXJyZW50IGZpbGVuYW1lLgorCitNYWRlICI6cmVkcmF3IiBhbHNvIHVwZGF0ZSB0aGUgVmlzdWFsIGFyZWEuCisKK1doZW4gYSBub3QgaW1wbGVtZW50ZWQgY29tbWFuZCwgc3VjaCBhcyAiOnBlcmwiLCBoYXMgd3JvbmcgYXJndW1lbnRzIHRoZSBsZXNzCitpbXBvcnRhbnQgZXJyb3Igd2FzIHJlcG9ydGVkLCBnaXZpbmcgdGhlIHVzZXIgdGhlIGlkZWEgdGhlIGNvbW1hbmQgY291bGQgd29yay4KKworT24gbm9uLVVuaXggc3lzdGVtcyBhdXRvY29tbWFuZHMgZm9yIHdyaXRpbmcgZGlkIG5vdCBhdHRlbXB0IGEgbWF0Y2ggd2l0aCB0aGUKK3Nob3J0IGZpbGUgbmFtZSwgY2F1c2luZyBhIHBhdHRlcm4gbGlrZSAiYS9iIiB0byBmYWlsLgorCitWTVM6IGVfc2NyZWVubW9kZSB3YXMgbm90IGRlZmluZWQgYW5kIGEgZmV3IG90aGVyIGZpeGVzIGZvciBWTVMuIChab2x0YW4KK0FycGFkZmZ5KQorCityZWRyYXdfbXNnKCkgZGVwZW5kZWQgb24gRkVBVF9BUkFCSUMgaW5zdGVhZCBvZiBGRUFUX1JJR0hUTEVGVC4gKFdhbHRlcgorQnJpc2NvZSkKKworVmFyaW91cyBjaGFuZ2VzIGZvciB0aGUgUEMgTWFrZWZpbGVzLiAoV2FsdGVyIEJyaXNjb2UpCisKK1VzZSBfdHJ1ZW5hbWUoKSBpbnN0ZWFkIG9mIG91ciBvd24gY29kZSB0byBleHBhbmQgYSBmaWxlIG5hbWUgaW50byBhIGZ1bGwKK3BhdGguIChXYWx0ZXIgQnJpc2NvZSkKKworRXJyb3IgaW4gZmlsZXR5cGUgY2hlY2sgZm9yIC9ldGMvbW9kdXRpbHMuIChMdWJvbWlyIEhvc3QpCisKK0NzY29wZSBpbnRlcmZhY2U6IGFsbG9jYXRlZCBhIGJ1ZmZlciB0b28gc21hbGwuCisKK1dpbjE2OiByZW1vdmUgYSB0cmFpbGluZyBiYWNrc2xhc2ggZnJvbSBhIHBhdGggd2hlbiBvYnRhaW5pbmcgdGhlIHBlcm1pc3Npb24KK2ZsYWdzLiAoVmluY2UgTmVncmkpCisKK1doZW4gc2VhcmNoaW5nIGZvciB0YWdzIHdpdGggY2FzZSBpZ25vcmVkIFZpbSBjb3VsZCBoYW5nLgorCitXaGVuIHNlYXJjaGluZyBkaXJlY3RvcmllcyB3aXRoIGEgc3RvcGRpciBjb3VsZCBnZXQgYSBjcmFzaC4gIERpZCBub3QKK3JlLWFsbG9jYXRlIGVub3VnaCBtZW1vcnkuIChWaW5jZSBOZWdyaSkKKworQSB1c2VyIGNvbW1hbmQgbWF5IGNhdXNlIGEgY3Jhc2guICBEb24ndCB1c2UgdGhlIGNvbW1hbmQgaW5kZXggd2hlbiBpdCdzCituZWdhdGl2ZS4gKFZpbmNlIE5lZ3JpKQorCitwdXRlbnYoKSBkaWRuJ3Qgd29yayBmb3IgTWluZ1cgYW5kIEN5Z3dpbi4gKERhbiBTaGFycCkKKworTWFueSBmdW5jdGlvbnMgd2VyZSBjb21tb24gYmV0d2VlbiBvc19tc2Rvcy5jIGFuZCBvc193aW4xNi5jLiAgVXNlIG9zX21zZG9zLmMKK2ZvciBjb21waWxpbmcgdGhlIFdpbjE2IHZlcnNpb24gYW5kIHJlbW92ZSB0aGUgZnVuY3Rpb25zIGZyb20gb3Nfd2luMTYuYy4KKyhWaW5jZSBOZWdyaSkKKworRm9yIHRlcm1pbmFscyB0aGF0IGJlaGF2ZSBsaWtlIGFuIHh0ZXJtIGJ1dCBkaWRuJ3QgaGF2ZSBhIG5hbWUgdGhhdCBpcworcmVjb2duaXplZCwgdGhlIHdpbmRvdyB0aXRsZSB3b3VsZCBub3QgYWx3YXlzIGJlIHNldC4KKworV2hlbiBzeW50YXggaGlnaGxpZ2h0aW5nIGlzIG9mZiAiOmhhcmRjb3B5IiBjb3VsZCBzdGlsbCBhdHRlbXB0IHByaW50aW5nCitjb2xvcnMuCisKK0NyYXNoIHdoZW4gdXNpbmcgIjpjYXRjaCIgd2l0aG91dCBhbiBhcmd1bWVudC4gIChTZXJ2YXRpdXMgQnJhbmR0KQorCitXaW4zMjogIjpuICMiIGRvdWJsZWQgdGhlIGJhY2tzbGFzaGVzLgorCitGaXhlZCBBcmFiaWMgc2hhcGluZyBmb3IgdGhlIGNvbW1hbmQgbGluZS4gKE5hZGltIFNoYWlrbGkpCisKK0F2b2lkIHNwbGl0dGluZyB1cCBhIHN0cmluZyBkaXNwbGF5ZWQgb24gdGhlIGNvbW1hbmQgbGluZSBpbnRvIGluZGl2aWR1YWwKK2NoYXJhY3RlcnMsIGl0IGJyZWFrcyBBcmFiaWMgc2hhcGluZy4KKworVXBkYXRlZCBDeWd3aW4gYW5kIE1pbmdXIG1ha2VmaWxlcyB0byB1c2UgbW9yZSBkZXBlbmRlbmNpZXMuIChEYW4gU2hhcnApCisKKzJodG1sLnZpbSBkaWRuJ3Qgd29yayB3aXRoICdub21hZ2ljJyBzZXQuCisKK1doZW4gYSBsb2NhbCBhcmd1bWVudCBsaXN0IGlzIHVzZWQgYW5kIGRvaW5nICI6b25seSIgVmltIGNvdWxkIGNyYXNoIGxhdGVyLgorKE11cmFva2EgVGFybykKKworV2hlbiB1c2luZyAiJVAiIGluICdzdGF0dXNsaW5lJyBhbmQgdGhlIGZpbGxjaGFyIGlzICItIiwgYSBwZXJjZW50YWdlIG9mIDMlCitjb3VsZCByZXN1bHQgaW4gIi0zJSIuICBBbHNvIGF2b2lkIGNoYW5naW5nIGEgc3BhY2UgaW5zaWRlIGEgZmlsZW5hbWUgdG8gdGhlCitmaWxsIGNoYXJhY3Rlci4KKworTVN3aW46IEhhbmRsaW5nIG9mIGJhY2tzbGFzaGVzIGFuZCBkb3VibGUgcXVvdGVzIGZvciBjb21tYW5kIGxpbmUgYXJndW1lbnRzCit3YXMgbm90IGxpa2Ugd2hhdCBvdGhlciBhcHBsaWNhdGlvbnMgZG8uICAoV2FsdGVyIEJyaXNjb2UpCisKK1Rlc3QzMiBzb21ldGltZXMgZGlkbid0IHdvcmssIGJlY2F1c2UgdGVzdDExLm91dCB3YXMgd3JpdHRlbiBhcyBURVNUMTEuT1VULgorCitBdm9pZCBwb2ludGVyIGNvbnZlcnNpb25zIHdhcm5pbmdzIGZvciBCb3JsYW5kIEMgNS41IGluIGRvc2luc3QuYyBhbmQKK3VuaW5zdGFsLmMuCisKK01vcmUgaW1wcm92ZW1lbnRzIGZvciBNYWtlX2JjMy5tYWsgZmlsZS4gKFdhbHRlciBCcmlzY29lKQorCitXaGVuICI6c3luIHN5bmMgbGluZWJyZWFrcz0xIiBpcyB1c2VkLCBlZGl0aW5nIHRoZSBmaXJzdCBsaW5lIGNhdXNlZCBhIHJlZHJhdworb2YgdGhlIHdob2xlIHNjcmVlbi4KKworTWFraW5nIHRyYW5zbGF0ZWQgbWVzc2FnZXMgZGlkbid0IHdvcmssIGlmX3BlcmwueHMgd2Fzbid0IGZvdW5kLiAoVmxhZAorU2FuZHJpbmkpCisKK01vdGlmIGFuZCBBdGhlbmE6IG1vdmluZyBWaW0gdG8gdGhlIGZvcmVncm91bmQgZGlkbid0IHVuaWNvbmlmeSBpdC4gIFVzZQorWE1hcFJhaXNlZCgpIGluc3RlYWQgb2YgWFJhaXNlV2luZG93KCkuIChTcmlrYW50aCBTYW5rYXJhbikKKworV2hlbiB1c2luZyAiOnB0YWciIGluIGEgd2luZG93IHdoZXJlICdzY3JvbGxiaW5kJyBpcyBzZXQgdGhlIHByZXZpZXcgd2luZG93Cit3b3VsZCBhbHNvIGhhdmUgJ3Njcm9sbGJpbmQnIHNldC4gIEFsc28gcmVzZXQgJ2ZvbGRjb2x1bW4nIGFuZCAnZGlmZicuCisKK1ZhcmlvdXMgY29tbWFuZHMgdGhhdCBzcGxpdCBhIHdpbmRvdyB0b29rIG92ZXIgJ3Njcm9sbGJpbmQnLCB3aGljaCBpcyBoYXJkbHkKK2V2ZXIgZGVzaXJlZC4gIEVzcC4gZm9yICJxOiIgYW5kICI6Y29wZW4iLiAgTW9zdGx5IHJlc2V0ICdzY3JvbGxiaW5kJyB3aGVuCitzcGxpdHRpbmcgYSB3aW5kb3cuCisKK1doZW4gJ3NoZWxsc2xhc2gnIGlzIHNldCBpbiB0aGUgdmltcmMgZmlsZSB0aGUgZmlyc3QgZW50cnkgb2YgIjpzY3JpcHRuYW1lcyIKK3dvdWxkIHN0aWxsIGhhdmUgYmFja3NsYXNoZXMuICBFbnRyaWVzIGluIHRoZSBxdWlja2ZpeCBsaXN0IGNvdWxkIGFsc28gaGF2ZQord3JvbmcgKGJhY2spc2xhc2hlcy4KKworV2luMzI6IHByaW50ZXIgZGlhbG9nIHRleHRzIHdlcmUgbm90IHRyYW5zbGF0ZWQuIChZYXN1aGlybyBNYXRzdW1vdG8pCisKK1doZW4gdXNpbmcgYSBtdWx0aS1ieXRlIGNoYXJhY3RlciB3aXRoIGEgS19TUEVDSUFMIGJ5dGUgb3IgYSBzcGVjaWFsIGtleSBjb2RlCit3aXRoICItLXJlbW90ZS1zZW5kIiB0aGUgcmVjZWl2ZWQgYnl0ZSBzZXF1ZW5jZSB3YXMgbWFuZ2xlZC4gIFB1dCBpdCBpbiB0aGUKK3R5cGVhaGVhZCBidWZmZXIgaW5zdGVhZCBvZiB0aGUgaW5wdXQgYnVmZmVyLgorCitXaW4zMjogVGhlIGN1cnNvciBwb3NpdGlvbiB3YXMgaW5jb3JyZWN0IGFmdGVyIGNoYW5naW5nIGN1cnNvciBzaGFwZS4KKyhZYXN1aGlybyBNYXRzdW1vdG8pLgorCitXaW4zMjogV2hlbiAnZW5jb2RpbmcnIGlzIG5vdCB0aGUgY3VycmVudCBjb2RlcGFnZSB0aGUgdGl0bGUgY291bGQgbm90IGJlIHNldAordG8gbm9uLWFzY2lpIGNoYXJhY3RlcnMuCisKKyJ2aW0gLWQgc2NwOi8vbWFjaGluZS9maWxlMSBzY3A6Ly9tYWNoaW5lL2ZpbGUyIiBkaWQgbm90IHdvcmssIHRoZXJlIHdhcyBvbmx5CitvbmUgd2luZG93LiAgRml4ZWQgdGhlIG5ldHJ3IHBsdWdpbiBub3QgdG8gd2lwZSBvdXQgdGhlIGJ1ZmZlciBpZiBpdCBpcworZGlzcGxheWVkIGluIG90aGVyIHdpbmRvd3MuCisKKyIvJCIgY2F1c2VkICJlIiBpbiBsYXN0IGNvbHVtbiBvZiBzY3JlZW4gdG8gZGlzYXBwZWFyLCBhIGhpZ2hsaWdodGVkIGJsYW5rIHdhcworZGlzcGxheWVkIGluc3RlYWQuCisKKyI6cy8gKlx6ZVxuLy9lIiByZW1vdmVkIHRoZSBsaW5lIGJyZWFrIGFuZCBpbnRyb2R1Y2VkIGFyYml0cmFyeSB0ZXh0LiAgV2FzCit1c2luZyB0aGUgbGluZSBjb3VudCBpbmNsdWRpbmcgd2hhdCBtYXRjaGVkIGFmdGVyIHRoZSAiXHplIi4KKworVXNpbmcgdGhlICJjIiBmbGFnIHdpdGggIjpzIiBjaGFuZ2VkIHRoZSBiZWhhdmlvciB3aGVuIGEgbGluZSBicmVhayBpcworcmVwbGFjZWQgYW5kICJcQDw9IiBpcyB1c2VkLiAgV2l0aG91dCAiYyIgYSBmb2xsb3dpbmcgbWF0Y2ggd2FzIG5vdCBmb3VuZC4KKworIjolcy9cdkFAPD1cbkJAPS8vZ2NlIiBnb3Qgc3R1Y2sgb24gIkFcbkIiIHdoZW4gZW50ZXJpbmcgIm4iLgorCitWTVM6IGFkZCBIQVZFX1NUUkZUSU1FIGluIHRoZSBjb25maWcgZmlsZS4gKFpvbHRhbiBBcnBhZGZmeSkKKworV2hlbiBhIGRlbGV0ZSBwcm9tcHRzIGlmIGEgZGVsZXRlIHNob3VsZCBjb250aW51ZSB3aGVuIHlhbmtpbmcgaXMgbm90Citwb3NzaWJsZSwgcmVzdG9yZSBtc2dfc2lsZW50IGFmdGVyd2FyZHMuCisKKyI6c2lnbiIgZGlkIG5vdCBjb21wbGFpbiBhYm91dCBhIG1pc3NpbmcgYXJndW1lbnQuCisKK1doZW4gYWRkaW5nIG9yIGRlbGV0aW5nIGEgc2lnbiAnaGxzZWFyY2gnIGhpZ2hsaWdodGluZyBjb3VsZCBkaXNhcHBlYXIuCitVc2UgdGhlIGdlbmVyaWMgZnVuY3Rpb25zIGZvciB1cGRhdGluZyBzaWducy4KKworT24gTVMtV2luZG93cyBOVCwgMksgYW5kIFhQIGRvbid0IHVzZSBjb21tYW5kLmNvbSBidXQgY21kLmV4ZSBmb3IgdGVzdGluZy4KK01ha2VzIHRoZSB0ZXN0cyB3b3JrIG9uIG1vcmUgc3lzdGVtcy4KKworSW4gdGhlIERPUyB0ZXN0cyBkb24ndCBjcmVhdGUgIi90bXAiIHRvIGF2b2lkIGFuIGVycm9yLgorCitNYWMgY2xhc3NpYzogUHJvYmxlbXMgd2l0aCByZWFkaW5nIGZpbGVzIHdpdGggQ1IgdnMgQ1IvTEYuICBSZWx5IG9uIHRoZQorbGlicmFyeSB2ZXJzaW9uIG9mIGZnZXRzKCkgdG8gd29yayBjb3JyZWN0bHkgZm9yIE1ldHJvd2Vya3MgMi4yLiAoQXhlbAorS2llbGhvcm4pCisKK1doZW4gdHlwaW5nIGEgcGFzc3dvcmQgYSAiKiIgd2FzIHNob3duIGZvciBlYWNoIGJ5dGUgaW5zdGVhZCBvZiBmb3IgZWFjaAorY2hhcmFjdGVyLiAgQWRkZWQgbXVsdGktYnl0ZSBoYW5kbGluZyB0byBkaXNwbGF5aW5nIHRoZSBzdGFycy4gKFlhc3VoaXJvCitNYXRzdW1vdG8pCisKK1doZW4gdXNpbmcgUGVybCA1LjYgYWNjZXNzaW5nICRjdXJidWYgZG9lc24ndCB3b3JrLiAgQWRkIGFuICNpZmRlZiB0byB1c2UKK2RpZmZlcmVudCBjb2RlIGZvciA1LjYgYW5kIDUuOC4gIChEYW4gU2hhcnApCisKK01pbmdXIGFuZCBDeWd3aW46IERvbid0IHN0cmlwIHRoZSBkZWJ1ZyBleGVjdXRhYmxlLiAoRGFuIFNoYXJwKQorCitBbiBhc3NpZ25tZW50IHRvIGEgdmFyaWFibGUgd2l0aCBjdXJsaWVzIHRoYXQgaW5jbHVkZXMgIj09IiBkb2Vzbid0IHdvcmsuCitTa2lwIG92ZXIgdGhlIGN1cmxpZXMgYmVmb3JlIHNlYXJjaGluZyBmb3IgYW4gIj0iLiAoVmluY2UgTmVncmkpCisKK1doZW4gY2FuY2VsbGluZyB0aGUgc2VsZWN0aW9uIG9mIGFsdGVybmF0ZSBtYXRjaGluZyB0YWdzIHRoZSB0YWcgc3RhY2sgaW5kZXgKK2NvdWxkIGJlIGFkdmFuY2VkIHRvbyBmYXIsIHJlc3VsdGluZyBpbiBhbiBlcnJvciBtZXNzYWdlIHdoZW4gdXNpbmcgQ1RSTC1ULgorCisKK1BhdGNoIDYuMS4wMDEKK1Byb2JsZW06ICAgIFdoZW4gZm9ybWF0dGluZyBVVEYtOCB0ZXh0IGl0IG1pZ2h0IGJlIHdyYXBwZWQgYXQgYSBzcGFjZSB0aGF0IGlzCisJICAgIGZvbGxvd2VkIGJ5IGEgY29tcG9zaW5nIGNoYXJhY3Rlci4gKFJhcGhhZWwgRmlua2VsKQorCSAgICBBbHNvIGNvcnJlY3QgYSBkaXNwbGF5IGVycm9yIGZvciByZW1vdmluZyBhIGNvbXBvc2luZyBjaGFyIG9uIHRvcAorCSAgICBvZiBhIHNwYWNlLgorU29sdXRpb246ICAgQ2hlY2sgZm9yIGEgY29tcG9zaW5nIGNoYXJhY3RlciBvbiBhIHNwYWNlLgorRmlsZXM6CSAgICBzcmMvZWRpdC5jLCBzcmMvbWlzYzEuYywgc3JjL3NjcmVlbi5jCisKK1BhdGNoIDYuMS4wMDIgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6IGFmdGVyIGEgIjpwb3B1cCIgY29tbWFuZCB0aGUgbW91c2UgcG9pbnRlciBzdGF5cyBoaWRkZW4uCitTb2x1dGlvbjogICBVbmhpZGUgdGhlIG1vdXNlIHBvaW50ZXIgYmVmb3JlIHNob3dpbmcgdGhlIG1lbnUuCitGaWxlczoJICAgIHNyYy9ndWlfdzQ4LmMKKworUGF0Y2ggNi4xLjAwMworUHJvYmxlbTogICAgV2hlbiAnbGFzdHN0YXR1cycgaXMgemVybyBhbmQgdGhlcmUgaXMgYSB2ZXJ0aWNhbCBzcGxpdCwgdGhlCisJICAgIHZlcnRpY2FsIHNlcGFyYXRvciBpcyBkcmF3biBpbiB0aGUgY29tbWFuZCBsaW5lLiAoU3Jpa2FudAorCSAgICBTYW5rYXJhbikKK1NvbHV0aW9uOiAgIERvbid0IGRyYXcgdGhlIHZlcnRpY2FsIHNlcGFyYXRvciB3aGVyZSB0aGVyZSBpcyBubyBzdGF0dXNsaW5lLgorRmlsZXM6CSAgICBzcmMvc2NyZWVuLmMKKworUGF0Y2ggNi4xLjAwNAorUHJvYmxlbTogICAgVW5pY29kZSAzLjIgY2hhbmdlcyB3aWR0aCBhbmQgY29tcG9zaW5nIG9mIGEgZmV3IGNoYXJhY3RlcnMuCisJICAgIChNYXJrdXMgS3VobikKK1NvbHV0aW9uOiAgIEFkanVzdCB0aGUgVW5pY29kZSBmdW5jdGlvbnMgZm9yIHRoZSBjaGFyYWN0ZXIgd2lkdGggYW5kIGNvbXBvc2luZworCSAgICBjaGFyYWN0ZXJzLgorRmlsZXM6CSAgICBzcmMvbWJ5dGUuYworCitQYXRjaCA2LjEuMDA1CitQcm9ibGVtOiAgICBXaGVuIHVzaW5nIG1vcmUgdGhhbiA1MCBpdGVtcyBpbiAnc3RhdHVzbGluZScgVmltIG1pZ2h0IGNyYXNoLgorCSAgICAoU3RldmUgSGFsbCkKK1NvbHV0aW9uOiAgIEluY3JlbWVudCBpdGVtY250IGluIGNoZWNrX3N0bF9vcHRpb24oKS4gKEZsZW1taW5nIE1hZHNlbikKK0ZpbGVzOgkgICAgc3JjL29wdGlvbi5jCisKK1BhdGNoIDYuMS4wMDYKK1Byb2JsZW06ICAgIFdoZW4gdXNpbmcgIlAiIGluIFZpc3VhbCBtb2RlIHRvIHB1dCBsaW5ld2lzZSBzZWxlY3RlZCB0ZXh0LCB0aGUKKwkgICAgd3JvbmcgdGV4dCBpcyBkZWxldGVkLiAoSmFrdWIgVHVyc2tpKQorU29sdXRpb246ICAgUHV0IHRoZSB0ZXh0IGJlZm9yZSB0aGUgVmlzdWFsIGFyZWEgYW5kIGNvcnJlY3QgdGhlIHRleHQgdG8gYmUKKwkgICAgZGVsZXRlZCBmb3IgdGhlIGluc2VydGVkIGxpbmVzLgorCSAgICBBbHNvIGZpeCB0aGF0ICJwIiBvZiBsaW5ld2lzZSB0ZXh0IGluIFZpc3VhbCBibG9jayBtb2RlIGRvZXNuJ3QKKwkgICAgd29yayBjb3JyZWN0bHkuCitGaWxlczoJICAgIHNyYy9ub3JtYWwuYywgc3JjL29wcy5jCisKK1BhdGNoIDYuMS4wMDcKK1Byb2JsZW06ICAgIFVzaW5nICI6ZmlsZXR5cGUgcGx1Z2luIG9mZiIgd2hlbiBmaWxldHlwZSBwbHVnaW5zIHdlcmUgbmV2ZXIKKwkgICAgZW5hYmxlZCBjYXVzZXMgYW4gZXJyb3IgbWVzc2FnZS4gKFlpdSBXaW5nKQorU29sdXRpb246ICAgVXNlICI6c2lsZW50ISIgdG8gYXZvaWQgdGhlIGVycm9yIG1lc3NhZ2UuCitGaWxlczoJICAgIHJ1bnRpbWUvZnRwbHVnb2YudmltCisKK1BhdGNoIDYuMS4wMDgKK1Byb2JsZW06ICAgIFRoZSAiJSIgY29tbWFuZCBkb2Vzbid0IGlnbm9yZSBcIiBpbnNpZGUgYSBzdHJpbmcsIGl0J3Mgc2VlbiBhcworCSAgICB0aGUgZW5kIG9mIHRoZSBzdHJpbmcuIChLZW4gQ2xhcmspCitTb2x1dGlvbjogICBTa2lwIGEgZG91YmxlIHF1b3RlIHByZWNlZGVkIGJ5IGFuIG9kZCBudW1iZXIgb2YgYmFja3NsYXNoZXMuCitGaWxlczoJICAgIHNyYy9zZWFyY2guYworCitQYXRjaCA2LjEuMDA5CitQcm9ibGVtOiAgICBWaW0gY3Jhc2hlcyB3aGVuIHVzaW5nIGEgaHVnZSBudW1iZXIgZm9yIHRoZSBtYXh3aWQgdmFsdWUgaW4gYQorCSAgICBzdGF0dXNsaW5lLiAoUm9iZXJ0IE0uIE5vd290bmlhaykKK1NvbHV0aW9uOiAgIENoZWNrIGZvciBhbiBvdmVyZmxvdyB0aGF0IG1ha2VzIG1heHdpZCBuZWdhdGl2ZS4KK0ZpbGVzOgkgICAgc3JjL2J1ZmZlci5jCisKK1BhdGNoIDYuMS4wMTAKK1Byb2JsZW06ICAgIFNlYXJjaGluZyBiYWNrd2FyZHMgZm9yIGEgcXVlc3Rpb24gbWFyayB3aXRoICI/XD8iIGRvZXNuJ3Qgd29yay4KKwkgICAgKEFsYW4gSXNhYWMpICBTYW1lIHByb2JsZW0gaW4gIjpzP1w/PyIgYW5kICI6Zz9cPz8iLgorU29sdXRpb246ICAgQ2hhbmdlIHRoZSAiXD8iIGluIGEgcGF0dGVybiB0byAiPyIgd2hlbiB1c2luZyAiPyIgYXMgZGVsaW1pdGVyLgorRmlsZXM6CSAgICBzcmMvZXhfY21kcy5jLCBzcmMvZXhfZG9jbWQuYywgc3JjL3Byb3RvL3JlZ2V4cC5wcm8sIHNyYy9yZWdleHAuYywKKwkgICAgc3JjL3NlYXJjaC5jLCBzcmMvc3ludGF4LmMsIHNyYy90YWcuYworCitQYXRjaCA2LjEuMDExCitQcm9ibGVtOiAgICBYSU06IGRvZXNuJ3Qgd29yayBjb3JyZWN0bHkgd2hlbiAnbnVtYmVyJyBpcyBzZXQuICBBbHNvLCBhIGZvY3VzCisJICAgIHByb2JsZW0gd2hlbiBzZWxlY3RpbmcgY2FuZGlkYXRlcy4KK1NvbHV0aW9uOiAgIEZpeCB0aGUgWElNIHByb2JsZW1zLiAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorRmlsZXM6CSAgICBzcmMvbWJ5dGUuYywgc3JjL3NjcmVlbi5jCisKK1BhdGNoIDYuMS4wMTIKK1Byb2JsZW06ICAgIEEgc3lzdGVtKCkgY2FsbCBtaWdodCBmYWlsIGlmIGZyZWFkKCkgZG9lcyBDUi1MRiB0byBMRgorCSAgICB0cmFuc2xhdGlvbi4KK1NvbHV0aW9uOiAgIE9wZW4gdGhlIG91dHB1dCBmaWxlIGluIGJpbmFyeSBtb2RlLiAoUGF2b2wgSHVoYXMpCitGaWxlczoJICAgIHNyYy9taXNjMS5jCisKK1BhdGNoIDYuMS4wMTMKK1Byb2JsZW06ICAgIFdpbjMyOiBUaGUgZGVmYXVsdCBmb3IgJ3ByaW50ZXhwcicgZG9lc24ndCB3b3JrIHdoZW4gdGhlcmUgYXJlCisJICAgIHNwZWNpYWwgY2hhcmFjdGVycyBpbiAncHJpbnRkZXZpY2UnLgorU29sdXRpb246ICAgQWRkIGRvdWJsZSBxdW90ZXMgYXJvdW5kIHRoZSBkZXZpY2UgbmFtZS4gKE1pa2UgV2lsbGlhbXMpCitGaWxlczoJICAgIHJ1bnRpbWUvZG9jL29wdGlvbi50eHQsIHNyYy9vcHRpb24uYworCitQYXRjaCA2LjEuMDE0CitQcm9ibGVtOiAgICBBbiBvcGVyYXRvciBsaWtlICJyIiB1c2VkIGluIFZpc3VhbCBibG9jayBtb2RlIGRvZXNuJ3QgdXNlCisJICAgICd2aXJ0dWFsZWRpdCcgd2hlbiBpdCdzIHNldCB0byAiYmxvY2siLgorU29sdXRpb246ICAgQ2hlY2sgZm9yICd2aXJ0dWFsZWRpdCcgYmVpbmcgYWN0aXZlIGluIFZpc3VhbCBibG9jayBtb2RlIHdoZW4gdGhlCisJICAgIG9wZXJhdG9yIHdhcyBzdGFydGVkLgorRmlsZXM6CSAgICBzcmMvZXhfZG9jbWQuYywgc3JjL2dsb2JhbHMuaCwgc3JjL21pc2MyLmMsIHNyYy9ub3JtYWwuYywKKwkgICAgc3JjL29wcy5jLCBzcmMvdW5kby5jCisKK1BhdGNoIDYuMS4wMTUKK1Byb2JsZW06ICAgIEFmdGVyIHBhdGNoIDYuMS4wMTQgY2FuJ3QgY29tcGlsZSB3aXRoIHRpbnkgZmVhdHVyZXMuIChDaHJpc3RpYW4KKwkgICAgSi4gUm9iaW5zb24pCitTb2x1dGlvbjogICBBZGQgdGhlIG1pc3NpbmcgZGVmaW5lIG9mIHZpcnR1YWxfb3AuCitGaWxlczoJICAgIHNyYy92aW0uaAorCitQYXRjaCA2LjEuMDE2IChleHRyYSkKK1Byb2JsZW06ICAgIFdpbjMyOiBPdXRwdXR0aW5nIEhlYnJldyBvciBBcmFiaWMgdGV4dCBtaWdodCBoYXZlIGEgcHJvYmxlbSB3aXRoCisJICAgIHJldmVyc2luZy4KK1NvbHV0aW9uOiAgIFJlcGxhY2UgdGhlIFJldk91dCgpIGZ1bmN0aW9uIHdpdGggRVRPX0lHTk9SRUxBTkdVQUdFLiAoUm9uIEFhcm9uKQorRmlsZXM6CSAgICBzcmMvZ3VpX3czMi5jCisKK1BhdGNoIDYuMS4wMTcKK1Byb2JsZW06ICAgIEN5Z3dpbjogQWZ0ZXIgcGF0Y2ggNi4xLjAxMiBTdGlsbCBkb2Vzbid0IGRvIGJpbmFyeSBmaWxlIEkvTy4KKwkgICAgKFBhdm9sIEp1aGFzKQorU29sdXRpb246ICAgRGVmaW5lIEJJTkFSWV9GSUxFX0lPIGZvciBDeWd3aW4uCitGaWxlczoJICAgIHNyYy9vc191bml4LmgKKworUGF0Y2ggNi4xLjAxOAorUHJvYmxlbTogICAgRXJyb3IgbWVzc2FnZSB3aGVuIHVzaW5nIGN0ZXJtIGhpZ2hsaWdodGluZy4gKExlb25hcmRvIERpIExlbGxhKQorU29sdXRpb246ICAgUmVtb3ZlIGEgYmFja3NsYXNoIGJlZm9yZSBhIHF1ZXN0aW9uIG1hcmsuCitGaWxlczoJICAgIHJ1bnRpbWUvc3ludGF4L2N0ZXJtLnZpbQorCitQYXRjaCA2LjEuMDE5IChleHRyYSkKK1Byb2JsZW06ICAgIFdpbjMyOiBGaWxlIG5hbWUgaXMgbWVzc2VkIHVwIHdoZW4gZWRpdGluZyBqdXN0IGEgZHJpdmUgbmFtZS4KKwkgICAgKFdhbHRlciBCcmlzY29lKQorU29sdXRpb246ICAgQXBwZW5kIGEgTlVMIGFmdGVyIHRoZSBkcml2ZSBuYW1lLiAoVmluY2UgTmVncmkpCitGaWxlczoJICAgIHNyYy9vc193aW4zMi5jCisKK1BhdGNoIDYuMS4wMjAKK1Byb2JsZW06ICAgIGNvbCgiJz4iKSByZXR1cm5zIGEgaHVnZSBudW1iZXIgYWZ0ZXIgdXNpbmcgVmlzdWFsIGxpbmUgbW9kZS4KK1NvbHV0aW9uOiAgIFJldHVybiB0aGUgbGVuZ3RoIG9mIHRoZSBsaW5lIGluc3RlYWQuCitGaWxlczoJICAgIHNyYy9ldmFsLmMKKworUGF0Y2ggNi4xLjAyMSAoZGVwZW5kcyBvbiBwYXRjaCA2LjEuMDA5KQorUHJvYmxlbTogICAgVmltIGNyYXNoZXMgd2hlbiB1c2luZyBhIGh1Z2UgbnVtYmVyIGZvciB0aGUgbWlud2lkIHZhbHVlIGluIGEKKwkgICAgc3RhdHVzbGluZS4gKFJvYmVydCBNLiBOb3dvdG5pYWspCitTb2x1dGlvbjogICBDaGVjayBmb3IgYW4gb3ZlcmZsb3cgdGhhdCBtYWtlcyBtaW53aWQgbmVnYXRpdmUuCitGaWxlczoJICAgIHNyYy9idWZmZXIuYworCitQYXRjaCA2LjEuMDIyCitQcm9ibGVtOiAgICBHcmFiYmluZyB0aGUgc3RhdHVzIGxpbmUgYWJvdmUgdGhlIGNvbW1hbmQtbGluZSB3aW5kb3cgd29ya3MgbGlrZQorCSAgICB0aGUgYm90dG9tIHN0YXR1cyBsaW5lIHdhcyBncmFiYmVkLiAoSmltIEJhdHRsZSkKK1NvbHV0aW9uOiAgIE1ha2UgaXQgcG9zc2libGUgdG8gZ3JhYiB0aGUgc3RhdHVzIGxpbmUgYWJvdmUgdGhlIGNvbW1hbmQtbGluZQorCSAgICB3aW5kb3csIHNvIHRoYXQgaXQgY2FuIGJlIHJlc2l6ZWQuCitGaWxlczoJICAgIHNyYy91aS5jCisKK1BhdGNoIDYuMS4wMjMgKGV4dHJhKQorUHJvYmxlbTogICAgVk1TOiBydW5uaW5nIHRlc3RzIGRvZXNuJ3Qgd29yayBwcm9wZXJseS4KK1NvbHV0aW9uOiAgIEFkanVzdCB0aGUgbWFrZWZpbGUuIChab2x0YW4gQXJwYWRmZnkpCitGaWxlczoJICAgIHNyYy90ZXN0ZGlyL01ha2Vfdm1zLm1tcworCitQYXRjaCA2LjEuMDI0CitQcm9ibGVtOiAgICBXaGVuIGhlYWRlciBmaWxlcyB1c2UgYSBuZXcgc3ludGF4IGZvciBkZWNsYXJpbmcgZnVuY3Rpb25zLCBWaW0KKwkgICAgY2FuJ3QgZmlndXJlIG91dCBtaXNzaW5nIHByb3RvdHlwZXMgcHJvcGVybHkuCitTb2x1dGlvbjogICBBY2NlcHQgYnJhY2VzIGFyb3VuZCBhIGZ1bmN0aW9uIG5hbWUuIChNLiBXYXJuZXIgTG9zaCkKK0ZpbGVzOgkgICAgc3JjL29zZGVmLnNoCisKK1BhdGNoIDYuMS4wMjUKK1Byb2JsZW06ICAgIEZpdmUgbWVzc2FnZXMgZm9yICJ2aW0gLS1oZWxwIiBkb24ndCBzdGFydCB3aXRoIGEgY2FwaXRhbC4gKFZsYWQKKwkgICAgU2FuZHJpbmkpCitTb2x1dGlvbjogICBNYWtlIHRoZSBtZXNzYWdlcyBjb25zaXN0ZW50LgorRmlsZXM6CSAgICBzcmMvbWFpbi5jCisKK1BhdGNoIDYuMS4wMjYKK1Byb2JsZW06ICAgICoucGF0Y2ggZmlsZXMgYXJlIG5vdCByZWNvZ25pemVkIGFzIGRpZmYgZmlsZXMuICBJbiBhIHNjcmlwdCBhCisJICAgICJWQVI9dmFsIiBhcmd1bWVudCBhZnRlciAiZW52IiBpc24ndCBpZ25vcmVkLiAgUEhQIHNjcmlwdHMgYXJlIG5vdAorCSAgICByZWNvZ25pemVkLgorU29sdXRpb246ICAgQWRkICoucGF0Y2ggZm9yIGRpZmYgZmlsZXR5cGVzLiAgSWdub3JlICJWQVI9dmFsIi4gIFJlY29nbml6ZSBQSFAKKwkgICAgc2NyaXB0cy4gKFJvbWFuIE5ldWhhdXNlcikKK0ZpbGVzOgkgICAgcnVudGltZS9maWxldHlwZS52aW0sIHJ1bnRpbWUvc2NyaXB0cy52aW0KKworUGF0Y2ggNi4xLjAyNworUHJvYmxlbTogICAgV2hlbiAnZm9sZGNvbHVtbicgaXMgbm9uLXplcm8sIGEgc3BlY2lhbCBjaGFyYWN0ZXIgdGhhdCB3cmFwcyB0bworCSAgICB0aGUgbmV4dCBsaW5lIGRpc3R1cmJzIHRoZSBmb2xkY29sdW1uIGhpZ2hsaWdodGluZy4gIChZYXN1aGlybworCSAgICBNYXRzdW1vdG8pCitTb2x1dGlvbjogICBPbmx5IHVzZSB0aGUgc3BlY2lhbCBoaWdobGlnaHRpbmcgd2hlbiBkcmF3aW5nIHRleHQgY2hhcmFjdGVycy4KK0ZpbGVzOgkgICAgc3JjL3NjcmVlbi5jCisKK1BhdGNoIDYuMS4wMjgKK1Byb2JsZW06ICAgIENsaWVudC1zZXJ2ZXI6IFdoZW4gYSAtLXJlbW90ZS1leHByIGZhaWxzLCBWaW0gc3RpbGwgZXhpdHMgd2l0aAorCSAgICBzdGF0dXMgemVyby4KK1NvbHV0aW9uOiAgIEV4aXQgVmltIHdpdGggYSBub24temVybyBzdGF0dXMgdG8gaW5kaWNhdGUgdGhlIC0tcmVtb3RlLWV4cHIKKwkgICAgZmFpbGVkLiAoVGhvbWFzIFNjb3R0IFVyYmFuKQorRmlsZXM6CSAgICBzcmMvbWFpbi5jCisKK1BhdGNoIDYuMS4wMjkKK1Byb2JsZW06ICAgIFdoZW4gJ2VuY29kaW5nJyBpcyBhbiA4LWJpdCBlbmNvZGluZyBvdGhlciB0aGFuICJsYXRpbjEiLCBlZGl0aW5nCisJICAgIGEgdXRmLTggb3Igb3RoZXIgVW5pY29kZSBmaWxlIHVzZXMgdGhlIHdyb25nIGNvbnZlcnNpb24uIChKYW4KKwkgICAgRmVkYWspCitTb2x1dGlvbjogICBEb24ndCB1c2UgVW5pY29kZSB0byBsYXRpbjEgY29udmVyc2lvbiBmb3IgOC1iaXQgZW5jb2RpbmdzIG90aGVyCisJICAgIHRoYW4gImxhdGluMSIuCitGaWxlczoJICAgIHNyYy9maWxlaW8uYworCitQYXRjaCA2LjEuMDMwCitQcm9ibGVtOiAgICBXaGVuIENUUkwtTiBpcyBtYXBwZWQgaW4gSW5zZXJ0IG1vZGUsIGl0IGlzIGFsc28gbWFwcGVkIGFmdGVyCisJICAgIENUUkwtWCBDVFJMLU4sIHdoaWxlIGl0IGlzIG5vdCBtYXBwZWQgYWZ0ZXIgQ1RSTC1YIENUUkwtRi4KKwkgICAgKEtvbnRyYSBHZXJnZWx5KQorU29sdXRpb246ICAgRG9uJ3QgbWFwIENUUkwtTiBhZnRlciBDVFJMLVggQ1RSTC1OLiAgU2FtZSBmb3IgQ1RSTC1QLgorRmlsZXM6CSAgICBzcmMvZ2V0Y2hhci5jCisKK1BhdGNoIDYuMS4wMzEKK1Byb2JsZW06ICAgIEN5Z3dpbjogWHhkIGNvdWxkIHJlYWQgYSBmaWxlIGluIHRleHQgbW9kZSBpbnRlYWQgb2YgYmluYXJ5IG1vZGUuCitTb2x1dGlvbjogICBVc2UgInJiIiBvciAicnQiIHdoZW4gbmVlZGVkLiAoUGF2b2wgSnVoYXMpCitGaWxlczoJICAgIHNyYy94eGQveHhkLmMKKworUGF0Y2ggNi4xLjAzMgorUHJvYmxlbTogICAgQ2FuJ3Qgc3BlY2lmeSBhIHF1aWNrZml4IGZpbGUgd2l0aG91dCBqdW1waW5nIHRvIHRoZSBmaXJzdCBlcnJvci4KK1NvbHV0aW9uOiAgIEFkZCB0aGUgIjpjZ2V0ZmlsZSIgY29tbWFuZC4gKFllZ2FwcGFuIExha3NobWFuYW4pCitGaWxlczoJICAgIHJ1bnRpbWUvZG9jL2luZGV4LnR4dCwgcnVudGltZS9kb2MvcXVpY2tmaXgudHh0LCBzcmMvZXhfY21kcy5oLAorCSAgICBzcmMvcXVpY2tmaXguYworCitQYXRjaCA2LjEuMDMzCitQcm9ibGVtOiAgICBHVUk6IFdoZW4gdGhlIHNlbGVjdGlvbiBpcyBsb3N0IGFuZCB0aGUgVmlzdWFsIGhpZ2hsaWdodGluZyBpcworCSAgICBjaGFuZ2VkIHRvIHVuZGVybGluaW5nLCB0aGUgY3Vyc29yIGlzIGxlZnQgaW4gYSBkaWZmZXJlbnQKKwkgICAgcG9zaXRpb24uIChDaHJpc3RpYW4gTWljaG9uKQorU29sdXRpb246ICAgVXBkYXRlIHRoZSBjdXJzb3IgcG9zaXRpb24gYWZ0ZXIgcmVkcmF3aW5nIHRoZSBzZWxlY3Rpb24uCitGaWxlczoJICAgIHNyYy91aS5jCisKK1BhdGNoIDYuMS4wMzQKK1Byb2JsZW06ICAgIEEgQ1ZTIGRpZmYgZmlsZSBpc24ndCByZWNvZ25pemVkIGFzIGRpZmYgZmlsZXR5cGUuCitTb2x1dGlvbjogICBTa2lwIGxpbmVzIHN0YXJ0aW5nIHdpdGggIj8gIiBiZWZvcmUgY2hlY2tpbmcgZm9yIGFuICJJbmRleDoiIGxpbmUuCitGaWxlczoJICAgIHJ1bnRpbWUvc2NyaXB0cy52aW0KKworUGF0Y2ggNi4xLjAzNSAoZXh0cmEsIGRlcGVuZHMgb24gNi4xLjAxNikKK1Byb2JsZW06ICAgIFdpbjMyOiBPdXRwdXR0aW5nIEhlYnJldyBvciBBcmFiaWMgdGV4dCBtaWdodCBoYXZlIGEgcHJvYmxlbSB3aXRoCisJICAgIHJldmVyc2luZyBvbiBNUy1XaW5kb3dzIDk1Lzk4L01FLgorU29sdXRpb246ICAgUmVzdG9yZSB0aGUgUmV2T3V0KCkgZnVuY3Rpb24gYW5kIHVzZSBpdCBpbiBzcGVjaWZpYyBzaXR1YXRpb25zCisJICAgIG9ubHkuIChSb24gQWFyb24pCitGaWxlczoJICAgIHNyYy9ndWlfdzMyLmMKKworUGF0Y2ggNi4xLjAzNgorUHJvYmxlbTogICAgVGhpcyBjb21tYW5kIG1heSBjYXVzZSBhIGNyYXNoOiAiOnYvLi8sLy8taiIuIChSYWxmIEFyZW5zKQorU29sdXRpb246ICAgQ29tcHV0ZSB0aGUgcmlnaHQgbGVuZ3RoIG9mIHRoZSByZWdleHAgd2hlbiBpdCdzIGVtcHR5LgorRmlsZXM6CSAgICBzcmMvc2VhcmNoLmMKKworUGF0Y2ggNi4xLjAzNworUHJvYmxlbTogICAgV2hlbiAnbGF6eXJlZHJhdycgaXMgc2V0LCBwcmVzc2luZyAicSIgYXQgdGhlIGhpdC1lbnRlciBwcm9tcHQKKwkgICAgY2F1c2VzIGFuIGluY29tcGxldGUgcmVkcmF3IGFuZCB0aGUgY3Vyc29yIGlzbid0IHBvc2l0aW9uZWQuCisJICAgIChMdWJvbWlyIEhvc3QpCitTb2x1dGlvbjogICBPdmVycnVsZSAnbGF6eXJlZHJhdycgd2hlbiBkb19yZWRyYXcgaXMgc2V0LgorRmlsZXM6CSAgICBzcmMvbWFpbi5jLCBzcmMvc2NyZWVuLmMKKworUGF0Y2ggNi4xLjAzOAorUHJvYmxlbTogICAgTXVsdGktYnl0ZTogV2hlbiBhICI6cyIgY29tbWFuZCBjb250YWlucyBhIG11bHRpLWJ5dGUgY2hhcmFjdGVyCisJICAgIHdoZXJlIHRoZSB0cmFpbCBieXRlIGlzICd+JyB0aGUgdGV4dCBpcyBtZXNzZWQgdXAuCitTb2x1dGlvbjogICBQcm9wZXJseSBza2lwIG11bHRpLWJ5dGUgY2hhcmFjdGVycyBpbiByZWd0aWxkZSgpIChNdXJhb2thIFRhcm8pCitGaWxlczoJICAgIHNyYy9yZWdleHAuYworCitQYXRjaCA2LjEuMDM5CitQcm9ibGVtOiAgICBXaGVuIGZvbGRzIGFyZSBkZWZpbmVkIGFuZCB0aGUgZmlsZSBpcyBjaGFuZ2VkIG91dHNpZGUgb2YgVmltLAorCSAgICByZWxvYWRpbmcgdGhlIGZpbGUgZG9lc24ndCB1cGRhdGUgdGhlIGZvbGRzLiAoQW5kZXJzCisJICAgIFNjaGFjay1OaWVsc2VuKQorU29sdXRpb246ICAgUmVjb21wdXRlIHRoZSBmb2xkcyBhZnRlciByZWxvYWRpbmcgdGhlIGZpbGUuCitGaWxlczoJICAgIHNyYy9maWxlaW8uYworCitQYXRjaCA2LjEuMDQwCitQcm9ibGVtOiAgICBXaGVuIGNoYW5naW5nIGRpcmVjdG9yeSBmb3IgZXhwYW5kaW5nIGEgZmlsZSBuYW1lIGZhaWxzIHRoZXJlIGlzCisJICAgIG5vIGVycm9yIG1lc3NhZ2UuCitTb2x1dGlvbjogICBHaXZlIGFuIGVycm9yIG1lc3NhZ2UgZm9yIHRoaXMgc2l0dWF0aW9uLiAgRG9uJ3QgY2hhbmdlIGRpcmVjdG9yeQorCSAgICBpZiB3ZSBjYW4ndCByZXR1cm4gdG8gdGhlIG9yaWdpbmFsIGRpcmVjdG9yeS4KK0ZpbGVzOgkgICAgc3JjL2RpZmYuYywgc3JjL2V4X2RvY21kLmMsIHNyYy9nbG9iYWxzLmgsIHNyYy9taXNjMS5jLAorCSAgICBzcmMvb3NfdW5peC5jCisKK1BhdGNoIDYuMS4wNDEKK1Byb2JsZW06ICAgICI6bWt2aW1yYyIgZG9lc24ndCBoYW5kbGUgYSBtYXBwaW5nIHRoYXQgaGFzIGEgbGVhZGluZyBzcGFjZSBpbgorCSAgICB0aGUgcmhzLiAoRGF2eWQgT25kcmVqa28pCitTb2x1dGlvbjogICBJbnNlcnQgYSBDVFJMLVYgYmVmb3JlIHRoZSBsZWFkaW5nIHNwYWNlLiAgQWxzbyBkaXNwbGF5IGxlYWRpbmcKKwkgICAgYW5kIHRyYWlsaW5nIHdoaXRlIHNwYWNlIGluIDw+IGZvcm0uCitGaWxlczoJICAgIHNyYy9nZXRjaGFyLmMsIHNyYy9tZXNzYWdlLmMKKworUGF0Y2ggNi4xLjA0MgorUHJvYmxlbTogICAgInZpbSAtciIgZG9lc24ndCBzaG93IGFsbCBtYXRjaGVzIHdoZW4gJ3dpbGRpZ25vcmUnIHJlbW92ZXMgc3dhcAorCSAgICBmaWxlcy4gKFN0ZXZlIFRhbGxleSkKK1NvbHV0aW9uOiAgIEtlZXAgYWxsIG1hdGNoaW5nIHN3YXAgZmlsZSBuYW1lcy4KK0ZpbGVzOgkgICAgc3JjL21lbWxpbmUuYworCitQYXRjaCA2LjEuMDQzCitQcm9ibGVtOiAgICBBZnRlciBwYXRjaCA2LjEuMDQwIGEgZmV3IHdhcm5pbmdzIGFyZSBwcm9kdWNlZC4KK1NvbHV0aW9uOiAgIEFkZCBhIHR5cGUgY2FzdCB0byAiY2hhciAqIiBmb3IgbWNoX2NoZGlyKCkuIChBeGVsIEtpZWxob3JuKQorRmlsZXM6CSAgICBzcmMvZGlmZi5jLCBzcmMvZXhfZG9jbWQuYy5jLCBzcmMvbWlzYzEuYywgc3JjL29zX3VuaXguYworCitQYXRjaCA2LjEuMDQ0IChleHRyYSkKK1Byb2JsZW06ICAgIEdVSTogV2hlbiB1c2luZyB0aGUgZmluZC9yZXBsYWNlIGRpYWxvZyB3aXRoIHRleHQgdGhhdCBjb250YWlucyBhCisJICAgIHNsYXNoLCBhbiBpbnZhbGlkIHN1YnN0aXR1dGUgY29tbWFuZCBpcyBnZW5lcmF0ZWQuCisJICAgIE9uIFdpbjMyIGEgZmluZCBkb2Vzbid0IHdvcmsgd2hlbiAnaW5zZXJ0bW9kZScgaXMgc2V0LgorU29sdXRpb246ICAgRXNjYXBlIHNsYXNoZXMgd2l0aCBhIGJhY2tzbGFzaC4KKwkgICAgTWFrZSB0aGUgV2luMzIsIE1vdGlmIGFuZCBHVEsgZ3VpIHVzZSBjb21tb24gY29kZSBmb3IgdGhlCisJICAgIGZpbmQvcmVwbGFjZSBkaWFsb2cuCisJICAgIEFkZCB0aGUgIm1hdGNoIGNhc2UiIG9wdGlvbiBmb3IgTW90aWYgYW5kIEdUSy4KK0ZpbGVzOgkgICAgc3JjL2ZlYXR1cmUuaCwgc3JjL3Byb3RvL2d1aS5wcm8sIHNyYy9ndWkuYywgc3JjL2d1aS5oLAorCSAgICBzcmMvZ3VpX21vdGlmLmMsIHNyYy9ndWlfZ3RrLmMsIHNyYy9ndWlfdzQ4LmMKKworUGF0Y2ggNi4xLjA0NQorUHJvYmxlbTogICAgSW4gVmlzdWFsIG1vZGUsIHdpdGggbG90cyBvZiBmb2xkcyBhbmQgJ3Njcm9sbG9mZicgc2V0IHRvIDk5OSwKKwkgICAgbW92aW5nIHRoZSBjdXJzb3IgZG93biBuZWFyIHRoZSBlbmQgb2YgdGhlIGZpbGUgY2F1c2VzIHRoZSB0ZXh0IHRvCisJICAgIGp1bXAgdXAgYW5kIGRvd24uIChMdWJvbWlyIEhvc3QpCitTb2x1dGlvbjogICBUYWtlIGludG8gYWNjb3VudCB0aGF0IHRoZSBjdXJzb3IgbWF5IGJlIG9uIHRoZSBsYXN0IGxpbmUgb2YgYQorCSAgICBjbG9zZWQgZm9sZC4KK0ZpbGVzOgkgICAgc3JjL21vdmUuYworCitQYXRjaCA2LjEuMDQ2CitQcm9ibGVtOiAgICBYMTEgR1VJOiAiOnNldCBsc3A9MiBnY3I9bi12LWk6aG9yMS1ibGlua29uMCIgZHJhd3MgYSBibGFjaworCSAgICByZWN0YW5nbGUuICAiOnNldCBsc3A9MiBnY3I9bi12LWk6aG9yMTAtYmxpbmtvbjAiIG1ha2VzIHRoZSBjdXJzb3IKKwkgICAgZGlzYXBwZWFyLiAgKE5hbSBTdW5nSHl1bikKK1NvbHV0aW9uOiAgIENvcnJlY3RseSBjb21wdXRlIHRoZSBoZWlnaHQgb2YgdGhlIGhvcml6b250YWwgY3Vyc29yLgorRmlsZXM6CSAgICBzcmMvZ3VpX2d0a194MTEuYywgc3JjL2d1aV94MTEuYworCitQYXRjaCA2LjEuMDQ3CitQcm9ibGVtOiAgICBXaGVuIHNraXBwaW5nIGNvbW1hbmRzIGFmdGVyIGFuIGVycm9yIHdhcyBlbmNvdW50ZXJlZCwgZXhwcmVzc2lvbnMKKwkgICAgZm9yICI6aWYiLCAiO2Vsc2VpZiIgYW5kICI6d2hpbGUiIGFyZSBzdGlsbCBldmFsdWF0ZWQuCitTb2x1dGlvbjogICBTa2lwIHRoZSBleHByZXNzaW9uIGFmdGVyIGFuIGVycm9yLiAoU2VydmF0aXVzIEJyYW5kdCkKK0ZpbGVzOgkgICAgc3JjL2V4X2RvY21kLmMKKworUGF0Y2ggNi4xLjA0OAorUHJvYmxlbTogICAgVW5pY29kZSAzLjIgY2hhbmdlcyB3ZXJlIG1pc3NpbmcgYSBmZXcgSGFuZ3VsIEphbW8gY2hhcmFjdGVycy4KK1NvbHV0aW9uOiAgIFJlY29nbml6ZSBtb3JlIGNoYXJhY3RlcnMgYXMgY29tcG9zaW5nIGNoYXJhY3RlcnMuIChKdW5nc2hpayBTaGluKQorRmlsZXM6CSAgICBzcmMvbWJ5dGUuYworCitQYXRjaCA2LjEuMDQ5IChleHRyYSkKK1Byb2JsZW06ICAgIE9uIGEgMzIgYml0IGRpc3BsYXkgYSB2YWxpZCBjb2xvciBtYXkgY2F1c2UgYW4gZXJyb3IgbWVzc2FnZSwKKwkgICAgYmVjYXVzZSBpdHMgcGl4ZWwgdmFsdWUgaXMgbmVnYXRpdmUuIChDaHJpcyBQYXVsc29uLUVsbGlzKQorU29sdXRpb246ICAgQ2hlY2sgZm9yIC0xMTExMSBpbnN0ZWFkIG9mIHRoZSBjb2xvciBiZWluZyBuZWdhdGl2ZS4KKwkgICAgRG9uJ3QgYWRkIG9uZSB0byB0aGUgcGl4ZWwgdmFsdWUsIC0xIG1heSBiZSB1c2VkIGZvciB3aGl0ZS4KK0ZpbGVzOgkgICAgc3JjL2dsb2JhbHMuaCwgc3JjL2d1aS5jLCBzcmMvZ3VpLmgsIHNyYy9ndWlfYW1pZ2EuYywKKwkgICAgc3JjL2d1aV9hdGhlbmEuYywgc3JjL2d1aV9iZW9zLmNjLCBzcmMvZ3VpX2d0a194MTEuYywKKwkgICAgc3JjL2d1aV9tYWMuYywgc3JjL2d1aV9tb3RpZi5jLCBzcmMvZ3VpX3Bob3Rvbi5jLAorCSAgICBzcmMvZ3VpX3Jpc2Nvcy5jLCBzcmMvZ3VpX3cxNi5jLCBzcmMvZ3VpX3czMi5jLCBzcmMvZ3VpX3c0OC5jLAorCSAgICBzcmMvZ3VpX3gxMS5jLCBzcmMvbWJ5dGUuYywgc3JjL3N5bnRheC5jCisKK1BhdGNoIDYuMS4wNTAgKGRlcGVuZHMgb24gNi4xLjA0OSkKK1Byb2JsZW06ICAgIEFmdGVyIHBhdGNoIDYuMS4wNDkgdGhlIG5vbi1HVUkgdmVyc2lvbiBkb2Vzbid0IGNvbXBpbGUuCitTb2x1dGlvbjogICBBZGQgYW4gI2lmZGVmIEZFQVRfR1VJLiAgKFJvYmVydCBTdGFudG9uKQorRmlsZXM6CSAgICBzcmMvc3ludGF4LmMKKworUGF0Y2ggNi4xLjA1MSAoZGVwZW5kcyBvbiA2LjEuMDQ0KQorUHJvYmxlbTogICAgRG9lc24ndCBjb21waWxlIHdpdGggR1VJIGFuZCBzbWFsbCBmZWF0dXJlcy4KK1NvbHV0aW9uOiAgIEFkanVzdCB0aGUgI2lmIGZvciBnYV9hcHBlbmQoKS4KK0ZpbGVzOgkgICAgc3JjL21pc2MyLmMKKworUGF0Y2ggNi4xLjA1MgorUHJvYmxlbTogICAgVW5peDogVGhlIGV4ZWN1dGFibGUoKSBmdW5jdGlvbiBkb2Vzbid0IHdvcmsgd2hlbiB0aGUgIndoaWNoIgorCSAgICBjb21tYW5kIGlzbid0IGF2YWlsYWJsZS4KK1NvbHV0aW9uOiAgIEdvIHRocm91Z2ggJFBBVEggbWFudWFsbHkuICBBbHNvIG1ha2VzIGl0IHdvcmsgZm9yIFZNUy4KK0ZpbGVzOgkgICAgc3JjL29zX3VuaXguYworCitQYXRjaCA2LjEuMDUzCitQcm9ibGVtOiAgICBXaGVuICdzZXNzaW9ub3B0aW9ucycgY29udGFpbnMgImdsb2JhbHMiLCBvciAibG9jYWxvcHRpb25zIiBhbmQgYW4KKwkgICAgb3B0aW9uIHZhbHVlIGNvbnRhaW5zIGEgbGluZSBicmVhaywgdGhlIHJlc3VsdGluZyBzY3JpcHQgaXMgd3JvbmcuCitTb2x1dGlvbjogICBVc2UgIlxuIiBhbmQgIlxyIiBmb3IgYSBsaW5lIGJyZWFrLiAoU3JpbmF0aCBBdmFkaGFudWxhKQorRmlsZXM6CSAgICBzcmMvZXZhbC5jCisKK1BhdGNoIDYuMS4wNTQKK1Byb2JsZW06ICAgIEdVSTogQSBtb3VzZSBjbGljayBpcyBub3QgcmVjb2duaXplZCBhdCB0aGUgbW9yZSBwcm9tcHQsIGV2ZW4gd2hlbgorCSAgICAnbW91c2UnIGluY2x1ZGVzICdyJy4KK1NvbHV0aW9uOiAgIFJlY29nbml6ZSBhIG1vdXNlIGNsaWNrIGF0IHRoZSBtb3JlIHByb21wdC4KKwkgICAgQWxzbyBhY2NlcHQgYSBtb3VzZSBjbGljayBpbiB0aGUgbGFzdCBsaW5lIGluIHRoZSBHVUkuCisJICAgIEFkZCAibWwiIGVudHJ5IGluICdtb3VzZXNoYXBlJy4KK0ZpbGVzOgkgICAgc3JjL2d1aS5jLCBzcmMvbWVzc2FnZS5jLCBzcmMvbWlzYzEuYywgc3JjL21pc2MyLmMsIHNyYy9vcHRpb24uYywKKwkgICAgc3JjL3N0cnVjdHMuaAorCitQYXRjaCA2LjEuMDU1CitQcm9ibGVtOiAgICBXaGVuIGVkaXRpbmcgYSBjb21wcmVzc2VkIGZpbGUsIFZpbSB3aWxsIGluc3BlY3QgdGhlIGNvbnRlbnRzIHRvCisJICAgIGd1ZXNzIHRoZSBmaWxldHlwZS4KK1NvbHV0aW9uOiAgIERvbid0IHNvdXJjZSBzY3JpcHRzLnZpbSBmb3IgLlosIC5neiwgLmJ6MiwgLnppcCBhbmQgLnRneiBmaWxlcy4KK0ZpbGVzOgkgICAgcnVudGltZS9maWxldHlwZS52aW0sIHJ1bnRpbWUvcGx1Z2luL2d6aXAudmltCisKK1BhdGNoIDYuMS4wNTYKK1Byb2JsZW06ICAgIExvYWRpbmcgdGhlIFN5bnRheCBtZW51IGNhbiB0YWtlIHF1aXRlIGEgYml0IG9mIHRpbWUuCitTb2x1dGlvbjogICBBZGQgdGhlICJza2lwX3N5bnRheF9zZWxfbWVudSIgdmFyaWFibGUuICBXaGVuIGl0cyBkZWZpbmVkIHRoZQorCSAgICBhdmFpbGFibGUgc3ludGF4IGZpbGVzIGFyZSBub3QgaW4gdGhlIFN5bnRheCBtZW51LgorRmlsZXM6CSAgICBydW50aW1lL2RvYy9ndWkudHh0LCBydW50aW1lL21lbnUudmltCisKK1BhdGNoIDYuMS4wNTcKK1Byb2JsZW06ICAgIEFuIEVTQyBpbnNpZGUgYSBtYXBwaW5nIGRvZXNuJ3Qgd29yayBhcyBkb2N1bWVudGVkIHdoZW4KKwkgICAgJ2luc2VydG1vZGUnIGlzIHNldCwgaXQgZG9lcyBnbyBmcm9tIFZpc3VhbCBvciBOb3JtYWwgbW9kZSB0bworCSAgICBJbnNlcnQgbW9kZS4gKEJlbmppIEZpc2hlcikKK1NvbHV0aW9uOiAgIE1ha2UgaXQgd29yayBhcyBkb2N1bWVudGVkLgorRmlsZXM6CSAgICBzcmMvbm9ybWFsLmMKKworUGF0Y2ggNi4xLjA1OAorUHJvYmxlbTogICAgV2hlbiB0aGVyZSBpcyBhIGNsb3NlZCBmb2xkIGp1c3QgYWJvdmUgdGhlIGZpcnN0IGxpbmUgaW4gdGhlCisJICAgIHdpbmRvdywgdXNpbmcgQ1RSTC1YIENUUkwtWSBpbiBJbnNlcnQgbW9kZSB3aWxsIHNob3cgb25seSBvbmUgbGluZQorCSAgICBvZiB0aGUgZm9sZC4gKEFsZXhleSBNYXJpbmljaGV2KQorU29sdXRpb246ICAgQ29ycmVjdCB0aGUgdG9wbGluZSBieSBwdXR0aW5nIGl0IGF0IHRoZSBzdGFydCBvZiB0aGUgZm9sZC4KK0ZpbGVzOgkgICAgc3JjL21vdmUuYworCitQYXRjaCA2LjEuMDU5CitQcm9ibGVtOiAgICAiOnJlZGlyID4gfi9maWxlIiBkb2Vzbid0IHdvcmsuIChTdGVwaGVuIFJhc2t1KQorU29sdXRpb246ICAgRXhwYW5kIGVudmlyb25tZW50IHZhcmlhYmxlcyBpbiB0aGUgIjpyZWRpciA+IiBhcmd1bWVudC4KK0ZpbGVzOgkgICAgc3JjL2V4X2RvY21kLmMKKworUGF0Y2ggNi4xLjA2MAorUHJvYmxlbTogICAgV2hlbiAndmlydHVhbGVkaXQnIGlzIHNldCBhbmQgJ3NlbGVjdGlvbicgaXMgImV4Y2x1c2l2ZSIsIGRlbGV0aW5nCisJICAgIGEgY2hhcmFjdGVyIGp1c3QgYmVmb3JlIGEgdGFiIGNoYW5nZXMgdGhlIHRhYiBpbnRvIHNwYWNlcy4gIFVuZG8KKwkgICAgZG9lc24ndCByZXN0b3JlIHRoZSB0YWIuIChIZWxtdXQgU3RpZWdsZXIpCitTb2x1dGlvbjogICBEb24ndCByZXBsYWNlIHRoZSB0YWIgYnkgc3BhY2VzIHdoZW4gaXQncyBub3QgbmVlZGVkLiAgQ29ycmVjdGx5CisJICAgIHNhdmUgdGhlIGxpbmUgYmVmb3JlIGl0J3MgY2hhbmdlZC4KK0ZpbGVzOgkgICAgc3JjL29wcy5jCisKK1BhdGNoIDYuMS4wNjEKK1Byb2JsZW06ICAgIFdoZW4gJ3ZpcnR1YWxlZGl0JyBpcyBzZXQgYW5kICdzZWxlY3Rpb24nIGlzICJleGNsdXNpdmUiLCBhIFZpc3VhbAorCSAgICBzZWxlY3Rpb24gdGhhdCBlbmRzIGp1c3QgYWZ0ZXIgYSB0YWIgZG9lc24ndCBpbmNsdWRlIHRoYXQgdGFiIGluCisJICAgIHRoZSBoaWdobGlnaHRpbmcuICAoSGVsbXV0IFN0aWVnbGVyKQorU29sdXRpb246ICAgVXNlIGEgZGlmZmVyZW50IHdheSB0byBleGNsdWRlIHRoZSBjaGFyYWN0ZXIgdW5kZXIgdGhlIGN1cnNvci4KK0ZpbGVzOgkgICAgc3JjL3NjcmVlbi5jCisKK1BhdGNoIDYuMS4wNjIKK1Byb2JsZW06ICAgIFRoZSAibWFuIiBmaWxldHlwZSBwbHVnaW4gZG9lc24ndCB3b3JrIHByb3Blcmx5IG9uIFNvbGFyaXMgNS4KK1NvbHV0aW9uOiAgIFVzZSBhIGRpZmZlcmVudCB3YXkgdG8gZGV0ZWN0IHRoYXQgIm1hbiAtcyIgc2hvdWxkIGJlIHVzZWQuIChIdWdoCisJICAgIFNhc3NlKQorRmlsZXM6CSAgICBydW50aW1lL2Z0cGx1Z2luL21hbi52aW0KKworUGF0Y2ggNi4xLjA2MworUHJvYmxlbTogICAgSmF2YSBpbmRlbnRpbmcgZG9lc24ndCB3b3JrIHByb3Blcmx5LgorU29sdXRpb246ICAgSWdub3JlIGNvbW1lbnRzIHdoZW4gY2hlY2tpbmcgaWYgdGhlIGluZGVudCBkb2Vzbid0IGluY3JlYXNlIGFmdGVyCisJICAgIGEgIn0iLgorRmlsZXM6CSAgICBydW50aW1lL2luZGVudC9qYXZhLnZpbQorCitQYXRjaCA2LjEuMDY0CitQcm9ibGVtOiAgICBUaGUgVVJMcyB0aGF0IHRoZSBuZXRydyBwbHVnaW4gcmVjb2duaXplZCBmb3IgZnRwIGFuZCByY3AgZGlkIG5vdAorCSAgICBjb25mb3JtIHRvIHRoZSBzdGFuZGFyZCBtZXRob2Q6Ly9bdXNlckBdaG9zdFs6cG9ydF0vcGF0aC4KK1NvbHV0aW9uOiAgIFVzZSBmdHA6Ly9bdXNlckBdaG9zdFtbOiNdcG9ydF0vcGF0aCwgd2hpY2ggc3VwcG9ydHMgYm90aCB0aGUgbmV3CisJICAgIGFuZCB0aGUgcHJldmlvdXMgc3R5bGUuICBBbHNvIGFkZGVkIGEgYml0IG9mIGRhdi9jYWRhdmVyIHN1cHBvcnQuCisJICAgIChDaGFybGVzIENhbXBiZWxsKQorRmlsZXM6CSAgICBydW50aW1lL3BsdWdpbi9uZXRydy52aW0KKworUGF0Y2ggNi4xLjA2NQorUHJvYmxlbTogICAgVk1TOiBUaGUgY29sb3JzY2hlbWUsIGtleW1hcCBhbmQgY29tcGlsZXIgbWVudXMgYXJlIG5vdCBmaWxsZWQgaW4uCitTb2x1dGlvbjogICBJZ25vcmUgY2FzZSB3aGVuIGxvb2tpbmcgZm9yICIudmltIiBmaWxlcy4gKENvZW4gRW5nZWxiYXJ0cykKK0ZpbGVzOgkgICAgcnVudGltZS9tZW51LnZpbQorCitQYXRjaCA2LjEuMDY2IChleHRyYSkKK1Byb2JsZW06ICAgIFdoZW4gY2FsbGluZyBzeXN0ZW0oKSBpbiBhIHBsdWdpbiByZWFkaW5nIHN0ZGluIGhhbmdzLgorU29sdXRpb246ICAgRG9uJ3Qgc2V0IHRoZSB0ZXJtaW5hbCB0byBSQVcgbW9kZSB3aGVuIGl0IHdhc24ndCBpbiBSQVcgbW9kZQorCSAgICBiZWZvcmUgdGhlIHN5c3RlbSgpIGNhbGwuCitGaWxlczoJICAgIHNyYy9vc19hbWlnYS5jLCBzcmMvb3NfbXNkb3MuYywgc3JjL29zX3Jpc2Nvcy5jLCBzcmMvb3NfdW5peC5jLAorCSAgICBzcmMvb3Nfd2luMTYuYywgc3JjL29zX3dpbjMyLmMKKworUGF0Y2ggNi4xLjA2NworUHJvYmxlbTogICAgIjpzZXQgdmltaW5mbys9ZjAiIGlzIG5vdCB3b3JraW5nLiAoQmVuamkgRmlzaGVyKQorU29sdXRpb246ICAgQ2hlY2sgdGhlICJmIiBmbGFnIGluc3RlYWQgb2YgIiciIGluICd2aW1pbmZvJy4KK0ZpbGVzOgkgICAgc3JjL21hcmsuYworCitQYXRjaCA2LjEuMDY4CitQcm9ibGVtOiAgICBXaGVuIGEgZmlsZSBpcyByZWxvYWRlZCBhZnRlciBpdCB3YXMgY2hhbmdlZCBvdXRzaWRlIG9mIFZpbSwgZGlmZgorCSAgICBtb2RlIGlzbid0IHVwZGF0ZWQuIChNaWNoYWVsIE5hdW1hbm4pCitTb2x1dGlvbjogICBJbnZhbGlkYXRlIHRoZSBkaWZmIGluZm8gc28gdGhhdCBpdCdzIHVwZGF0ZWQgd2hlbiBuZWVkZWQuCitGaWxlczoJICAgIHNyYy9maWxlaW8uYworCitQYXRjaCA2LjEuMDY5CitQcm9ibGVtOiAgICBXaGVuICdzaG93bWF0Y2gnIGlzIHNldCBhbmQgIiQiIGlzIGluICdjcG9wdGlvbnMnLCB1c2luZworCSAgICAiQ308RXNjPiIgbWF5IGZvcmdldCB0byByZW1vdmUgdGhlICIkIi4gKFByZWJlbiBHdWxkYmVyZykKK1NvbHV0aW9uOiAgIFJlc3RvcmUgZG9sbGFyX3Zjb2wgYWZ0ZXIgZGlzcGxheWluZyB0aGUgbWF0Y2hpbmcgY3Vyc29yIHBvc2l0aW9uLgorRmlsZXM6CSAgICBzcmMvc2VhcmNoLmMKKworUGF0Y2ggNi4xLjA3MCAoZGVwZW5kcyBvbiA2LjEuMDYwKQorUHJvYmxlbTogICAgQ29tcGlsZXIgd2FybmluZyBmb3Igc2lnbmVkL3Vuc2lnbmVkIG1pc21hdGNoLiAoTWlrZSBXaWxsaWFtcykKK1NvbHV0aW9uOiAgIEFkZCBhIHR5cGVjYXN0IHRvIGludC4KK0ZpbGVzOgkgICAgc3JjL29wcy5jCisKK1BhdGNoIDYuMS4wNzEKK1Byb2JsZW06ICAgIFdoZW4gJ3NlbGVjdGlvbicgaXMgZXhjbHVzaXZlLCBnIENUUkwtRyBpbiBWaXN1YWwgbW9kZSBjb3VudHMgb25lCisJICAgIGNoYXJhY3RlciB0b28gbXVjaC4gKERhdmlkIE5lY2FzKQorU29sdXRpb246ICAgU3VidHJhY3Qgb25lIGZyb20gdGhlIGVuZCBwb3NpdGlvbi4KK0ZpbGVzOgkgICAgc3JjL29wcy5jCisKK1BhdGNoIDYuMS4wNzIKK1Byb2JsZW06ICAgIFdoZW4gYSBmaWxlIG5hbWUgaW4gYSB0YWdzIGZpbGUgc3RhcnRzIHdpdGggaHR0cDovLyBvciBzb21ldGhpbmcKKwkgICAgZWxzZSBmb3Igd2hpY2ggdGhlcmUgaXMgYSBCdWZSZWFkQ21kIGF1dG9jb21tYW5kLCB0aGUgZmlsZSBpc24ndAorCSAgICBvcGVuZWQgYW55d2F5LgorU29sdXRpb246ICAgQ2hlY2sgaWYgdGhlcmUgaXMgYSBtYXRjaGluZyBCdWZSZWFkQ21kIGF1dG9jb21tYW5kIGFuZCB0cnkgdG8KKwkgICAgb3BlbiB0aGUgZmlsZS4KK0ZpbGVzOgkgICAgc3JjL2ZpbGVpby5jLCBzcmMvcHJvdG8vZmlsZWlvLnBybywgc3JjL3RhZy5jCisKK1BhdGNoIDYuMS4wNzMgKGV4dHJhKQorUHJvYmxlbTogICAgQkM1OiBDYW4ndCBlYXNpbHkgc3BlY2lmeSBhIHRpbnksIHNtYWxsLCBub3JtYWwsIGJpZyBvciBodWdlCisJICAgIHZlcnNpb24uCitTb2x1dGlvbjogICBBbGxvdyBzZWxlY3RpbmcgdGhlIHZlcnNpb24gd2l0aCB0aGUgRkVBVFVSRVMgdmFyaWFibGUuIChBaml0CisJICAgIFRoYWtrYXIpCitGaWxlczoJICAgIHNyYy9NYWtlX2JjNS5tYWsKKworUGF0Y2ggNi4xLjA3NAorUHJvYmxlbTogICAgV2hlbiAnY2RwYXRoJyBpbmNsdWRlcyAiLi4vLi4iLCBjaGFuZ2luZyB0byBhIGRpcmVjdG9yeSBpbiB3aGljaAorCSAgICB3ZSBjdXJyZW50bHkgYWxyZWFkeSBhcmUgZG9lc24ndCB3b3JrLiAgZmZfY2hlY2tfdmlzaXRlZCgpIGFkZHMKKwkgICAgdGhlIGRpcmVjdG9yeSBib3RoIHdoZW4gdXNpbmcgaXQgYXMgdGhlIHJvb3QgZm9yIHNlYXJjaGluZyBhbmQgZm9yCisJICAgIHRoZSBhY3R1YWwgbWF0Y2hlcy4gKFN0ZXBoZW4gUmFza3UpCitTb2x1dGlvbjogICBVc2UgYSBzZXBhcmF0ZSBsaXN0IGZvciB0aGUgYWxyZWFkeSBzZWFyY2hlZCBkaXJlY3Rvcmllcy4KK0ZpbGVzOgkgICAgc3JjL21pc2MyLmMKKworUGF0Y2ggNi4xLjA3NSAoZGVwZW5kcyBvbiA2LjEuMDcyKQorUHJvYmxlbTogICAgQ2FuJ3QgY29tcGlsZSBmaWxlaW8uYyBvbiBNUy1XaW5kb3dzLgorU29sdXRpb246ICAgQWRkIGEgZGVjbGFyYXRpb24gZm9yIHRoZSAicCIgcG9pbnRlci4gKE1hZG9rYSBNYWNoaXRhbmkpCitGaWxlczoJICAgIHNyYy9maWxlaW8uYworCitQYXRjaCA2LjEuMDc2IChleHRyYSkKK1Byb2JsZW06ICAgIE1hY2ludG9zaDogZXhwbG9yZXIgcGx1Z2luIGRvZXNuJ3Qgd29yayBvbiBNYWMgQ2xhc3NpYy4KKwkgICAgSU1FIGRvZXNuJ3Qgd29yay4gIERpYWxvZyBib3hlcyBkb24ndCB3b3JrIG9uIE1hYyBPUyBYCitTb2x1dGlvbjogICBGaXggZXhwbG9yZXIgcGx1Z2luIGFuZCBrZXkgbW9kaWZpZXJzLiAoQXhlbCBLaWVsaG9ybikKKwkgICAgRml4IElNRSBzdXBwb3J0LiAoTXVyYW9rYSBUYXJvKQorCSAgICBEaXNhYmxlIGRpYWxvZyBib3hlcy4gKEJlbmppIEZpc2hlcikKK0ZpbGVzOgkgICAgc3JjL2VkaXQuYywgc3JjL2ZlYXR1cmUuaCwgc3JjL2d1aV9tYWMuYywgc3JjL29zX21hYy5jCisKK1BhdGNoIDYuMS4wNzcKK1Byb2JsZW06ICAgIE9uIGEgRGViaWFuIHN5c3RFbSB3aHQgQUNMIGxpbmtpbmcgZmFpbHMuIChMdWJvbWlyIEhvc3QpCitTb2x1dGlvbjogICBXaGVuIHRoZSAiYWNsIiBsaWJyYXJ5IGlzIHVzZWQsIGNoZWNrIGlmIHRoZSAiYXR0ciIgbGlicmFyeSBpcworCSAgICBwcmVzZW50IGFuZCB1c2UgaXQuCitGaWxlczoJICAgIHNyYy9hdXRvL2NvbmZpZ3VyZSwgc3JjL2NvbmZpZ3VyZS5pbiwgc3JjL2xpbmsuc2gKKworUGF0Y2ggNi4xLjA3OAorUHJvYmxlbTogICAgV2hlbiB1c2luZyAnZm9sZG1ldGhvZCcgIm1hcmtlciIgYW5kIHRoZSBlbmQgbWFya2VyIGFwcGVhcnMgYmVmb3JlCisJICAgIHRoZSBzdGFydCBtYXJrZXIgaW4gdGhlIGZpbGUsIG5vIGZvbGQgaXMgZm91bmQuIChOYXpyaSBSYW1saXkpCitTb2x1dGlvbjogICBEb24ndCBsZXQgdGhlIGZvbGQgZGVwdGggZ28gbmVnYXRpdmUuCitGaWxlczoJICAgIHNyYy9mb2xkLmMKKworUGF0Y2ggNi4xLjA3OQorUHJvYmxlbTogICAgV2hlbiB1c2luZyAicyIgaW4gVmlzdWFsIGJsb2NrIG1vZGUgd2l0aCAndmlydHVhbGVkaXQnIHNldCwgd2hlbgorCSAgICB0aGUgc2VsZWN0ZWQgYmxvY2sgaXMgYWZ0ZXIgdGhlIGVuZCBvZiBzb21lIGxpbmVzIHRoZSB3cm9uZyB0ZXh0CisJICAgIGlzIGluc2VydGVkIGFuZCBzb21lIGxpbmVzIGFyZSBza2lwcGVkLiAoU2VydmF0aXVzIEJyYW5kdCkKK1NvbHV0aW9uOiAgIEluc2VydCB0aGUgcmlnaHQgdGV4dCBhbmQgZXh0ZW5kIHNob3J0IGxpbmVzLgorRmlsZXM6CSAgICBzcmMvb3BzLmMKKworUGF0Y2ggNi4xLjA4MAorUHJvYmxlbTogICAgV2hlbiB1c2luZyBnY2Mgd2l0aCAvdXNyL2xvY2FsIGFscmVhZHkgaW4gdGhlIHNlYXJjaCBwYXRoLCBhZGRpbmcKKwkgICAgaXQgYWdhaW4gY2F1c2VzIHByb2JsZW1zLgorU29sdXRpb246ICAgQWRqdXN0IGNvbmZpZ3VyZS5pbiB0byBhdm9pZCBhZGRpbmcgL3Vzci9sb2NhbC9pbmNsdWRlIGFuZAorCSAgICAvdXNyL2xvY2FsL2xpYiB3aGVuIHVzaW5nIEdDQyBhbmQgdGhleSBhcmUgYWxyZWFkeSB1c2VkLiAoSm9oYW5uZXMKKwkgICAgWmVsbG5lcikKK0ZpbGVzOgkgICAgc3JjL2F1dG8vY29uZmlndXJlLCBzcmMvY29uZmlndXJlLmluCisKK1BhdGNoIDYuMS4wODEKK1Byb2JsZW06ICAgICI6aGVscCBDVFJMLVxfQ1RSTC1OIiBkb2Vzbid0IHdvcmsuICAoQ2hyaXN0aWFuIEouIFJvYmluc29uKQorU29sdXRpb246ICAgRG91YmxlIHRoZSBiYWNrc2xhc2ggdG8gYXZvaWQgdGhlIHNwZWNpYWwgbWVhbmluZyBvZiAiXF8iLgorRmlsZXM6CSAgICBzcmMvZXhfY21kcy5jCisKK1BhdGNoIDYuMS4wODIKK1Byb2JsZW06ICAgIE9uIE1TLVdpbmRvd3MgdGhlIHZpbXJjX2V4YW1wbGUudmltIHNjcmlwdCBpcyBzb3VyY2VkIGFuZCB0aGVuCisJICAgIG1zd2luLnZpbS4gIFRoaXMgZW5hYmxlcyB1c2luZyBzZWxlY3QgbW9kZSwgYnV0IHNpbmNlICJwIiBpcworCSAgICBtYXBwZWQgaXQgZG9lc24ndCByZXBsYWNlIHRoZSBzZWxlY3Rpb24uCitTb2x1dGlvbjogICBSZW1vdmUgdGhlIG1hcHBpbmcgb2YgInAiIGZyb20gdmltcmNfZXhhbXBsZS52aW0sIGl0J3Mgb2Jzb2xldGUuCisJICAgIChWbGFkIFNhbmRyaW5pKQorRmlsZXM6CSAgICBydW50aW1lL3ZpbXJjX2V4YW1wbGUudmltCisKK1BhdGNoIDYuMS4wODMKK1Byb2JsZW06ICAgIFdoZW4gJExBTkcgaXMgInNrIiBvciAic2tfc2siLCB0aGUgU2xvdmFrIG1lbnUgZmlsZSBpc24ndCBmb3VuZC4KKwkgICAgKE1hcnRpbiBMYWNrbykKK1NvbHV0aW9uOiAgIEd1ZXNzIHRoZSByaWdodCBtZW51IGZpbGUgYmFzZWQgb24gdGhlIHN5c3RlbS4KK0ZpbGVzOgkgICAgcnVudGltZS9sYW5nL21lbnVfc2tfc2sudmltCisKK1BhdGNoIDYuMS4wODQgKGRlcGVuZHMgb24gNi4xLjA4MCkKK1Byb2JsZW06ICAgICJpbmNsdWRlIiBhbmQgImxpYiIgYXJlIG1peGVkIHVwIHdoZW4gY2hlY2tpbmcgdGhlIGRpcmVjdG9yaWVzIGdjYworCSAgICBhbHJlYWR5IHNlYXJjaGVzLgorU29sdXRpb246ICAgU3dhcCB0aGUgdmFyaWFibGUgbmFtZXMuIChTdW5IbyBLaW0pCitGaWxlczoJICAgIHNyYy9hdXRvL2NvbmZpZ3VyZSwgc3JjL2NvbmZpZ3VyZS5pbgorCitQYXRjaCA2LjEuMDg1CitQcm9ibGVtOiAgICBXaGVuIHVzaW5nIENUUkwtTyBDVFJMLVwgQ1RSTC1OIGZyb20gSW5zZXJ0IG1vZGUsIHRoZSBkaXNwbGF5ZWQKKwkgICAgbW9kZSAiKGluc2VydCkiIGlzbid0IHJlbW92ZWQuIChCZW5qaSBGaXNoZXIpCitTb2x1dGlvbjogICBDbGVhciB0aGUgY29tbWFuZCBsaW5lLgorRmlsZXM6CSAgICBzcmMvbm9ybWFsLmMKKworUGF0Y2ggNi4xLjA4NiAoZGVwZW5kcyBvbiA2LjEuMDQ5KQorUHJvYmxlbTogICAgVGhlIGd1aWZnIGNvbG9yIGZvciBDdXJzb3JJTSBkb2Vzbid0IHRha2UgZWZmZWN0LgorU29sdXRpb246ICAgVXNlIHRoZSBmb3JlZ3JvdW5kIGNvbG9yIHdoZW4gaXQncyBkZWZpbmVkLiAoTXVyYW9rYSBUYXJvKQorRmlsZXM6CSAgICBzcmMvZ3VpLmMKKworUGF0Y2ggNi4xLjA4NworUHJvYmxlbTogICAgQSB0aGVzYXVydXMgd2l0aCBKYXBhbmVzZSBjaGFyYWN0ZXJzIGhhcyBwcm9ibGVtcyB3aXRoIGNoYXJhY3RlcnMKKwkgICAgaW4gZGlmZmVyZW50IHdvcmQgY2xhc3Nlcy4KK1NvbHV0aW9uOiAgIE9ubHkgc2VwYXJhdGUgd29yZHMgd2l0aCBzaW5nbGUtYnl0ZSBub24td29yZCBjaGFyYWN0ZXJzLgorCSAgICAoTXVyYW9rYSBUYXJvKQorRmlsZXM6CSAgICBzcmMvZWRpdC5jCisKK1BhdGNoIDYuMS4wODggKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6IG5vIGRlYnVnZ2luZyBpbmZvIGlzIGdlbmVyYXRlZC4gIFRhZ3MgZmlsZSBleGNsdWRlcyAuY3BwCisJICAgIGZpbGVzLgorU29sdXRpb246ICAgQWRkICIvbWFwIiB0byBjb21waWxlciBmbGFncy4gIEFkZCAiKi5jcHAiIHRvIGN0YWdzIGNvbW1hbmQuCisJICAgIChNdXJhb2thIFRhcm8pCitGaWxlczoJICAgIHNyYy9NYWtlX212Yy5tYWsKKworUGF0Y2ggNi4xLjA4OQorUHJvYmxlbTogICAgT24gQlNESSBzeXN0ZW1zIHRoZXJlIGlzIG5vIHNzX3NwIGZpZWxkIGluIHN0YWNrX3QuIChSb2JlcnQgSmFuKQorU29sdXRpb246ICAgVXNlIHNzX2Jhc2UgaW5zdGVhZC4KK0ZpbGVzOgkgICAgc3JjL2F1dG8vY29uZmlndXJlLCBzcmMvY29uZmlndXJlLmluLCBzcmMvY29uZmlnLmguaW4sCisJICAgIHNyYy9vc191bml4LmMKKworUGF0Y2ggNi4xLjA5MAorUHJvYmxlbTogICAgQ1RSTC1GIGdldHMgc3R1Y2sgd2hlbiAnc2Nyb2xsb2ZmJyBpcyBub24temVybyBhbmQgdGhlcmUgaXMgYSBtaXgKKwkgICAgb2YgbG9uZyB3cmFwcGluZyBsaW5lcyBhbmQgYSBub24td3JhcHBpbmcgbGluZS4KK1NvbHV0aW9uOiAgIENoZWNrIHRoYXQgQ1RSTC1GIHNjcm9sbHMgYXQgbGVhc3Qgb25lIGxpbmUuCitGaWxlczoJICAgIHNyYy9tb3ZlLmMKKworUGF0Y2ggNi4xLjA5MQorUHJvYmxlbTogICAgR1RLOiBDYW4ndCBjaGFuZ2UgcHJlZWRpdHN0YXRlIHdpdGhvdXQgc2V0dGluZyAnaW1hY3RpdmF0ZWtleScuCitTb2x1dGlvbjogICBBZGQgc29tZSBjb2RlIHRvIGNoYW5nZSBwcmVlZGl0c3RhdGUgZm9yIE9uVGhlU3BvdC4gKFlhc3VoaXJvCisJICAgIE1hdHN1bW90bykKK0ZpbGVzOgkgICAgc3JjL21ieXRlLmMKKworUGF0Y2ggNi4xLjA5MgorUHJvYmxlbTogICAgIjptYXBjbGVhciA8YnVmZmVyPiIgZG9lc24ndCB3b3JrLiAoU3Jpa2FudGggQWRheWFwYWxhbSkKK1NvbHV0aW9uOiAgIEFsbG93IGFuIGFyZ3VtZW50IGZvciAiOm1hcGNsZWFyIi4KK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMuaAorCitQYXRjaCA2LjEuMDkzIChleHRyYSkKK1Byb2JsZW06ICAgIE1hYyBhbmQgTVMtV2luZG93cyBHVUk6IHdoZW4gc2Nyb2xsaW5nIHdoaWxlICI6cyIgaXMgd29ya2luZyB0aGUKKwkgICAgcmVzdWx0cyBjYW4gYmUgbWVzc2VkIHVwLCBiZWNhdXNlIHRoZSBjdXJzb3IgaXMgbW92ZWQuCitTb2x1dGlvbjogICBEaXNhbGxvdyBkaXJlY3Qgc2Nyb2xsaW5nIHdoZW4gbm90IHdhaXRpbmcgZm9yIGEgY2hhcmFjdGVyLgorRmlsZXM6CSAgICBzcmMvZ3VpX21hYy5jLCBzcmMvZ3VpX3cxNi5jLCBzcmMvZ3VpX3czMi5jLCBzcmMvZ3VpX3c0OC5jCisKK1BhdGNoIDYuMS4wOTQKK1Byb2JsZW06ICAgIEN5Z3dpbjogUGFzc2luZyBhIGZpbGUgbmFtZSB0aGF0IGhhcyBiYWNrc2xhc2hlcyBpc24ndCBoYW5kbGVkCisJICAgIHZlcnkgd2VsbC4KK1NvbHV0aW9uOiAgIENvbnZlcnQgZmlsZSBuYW1lIGFyZ3VtZW50cyB0byBQb3NpeC4gIChDaHJpcyBNZXRjYWxmKQorRmlsZXM6CSAgICBzcmMvbWFpbi5jCisKK1BhdGNoIDYuMS4wOTUKK1Byb2JsZW06ICAgIFdoZW4gdXNpbmcgc2lnbnMgY2FuIGZyZWUgYW4gaXRlbSBvbiB0aGUgc3RhY2suCisJICAgIE92ZXJydWxpbmcgc2lnbiBjb2xvcnMgZG9lc24ndCB3b3JrLiAoU3Jpa2FudGggU2Fua2FyYW4pCitTb2x1dGlvbjogICBEb24ndCBmcmVlIHRoZSBpdGVtIG9uIHRoZSBzdGFjay4gIFVzZSBOVUxMIGluc3RlYWQgb2YgIm5vbmUiIGZvcgorCSAgICB0aGUgdmFsdWUgb2YgdGhlIGNvbG9yLgorRmlsZXM6CSAgICBzcmMvZ3VpX3gxMS5jCisKK1BhdGNoIDYuMS4wOTYKK1Byb2JsZW06ICAgIFdoZW4gZXJhc2luZyB0aGUgcmlnaHQgaGFsdmUgb2YgYSBkb3VibGUtYnl0ZSBjaGFyYWN0ZXIsIGl0IG1heQorCSAgICBjYXVzZSBmdXJ0aGVyIGNoYXJhY3RlcnMgdG8gYmUgZXJhc2VkLiAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorU29sdXRpb246ICAgTWFrZSBzdXJlIG9ubHkgb25lIGNoYXJhY3RlciBpcyBlcmFzZWQuCitGaWxlczoJICAgIHNyYy9zY3JlZW4uYworCitQYXRjaCA2LjEuMDk3IChkZXBlbmRzIG9uIDYuMS4wOTApCitQcm9ibGVtOiAgICBXaGVuICdzY3JvbGxvZmYnIGlzIHNldCB0byBhIGh1Z2UgdmFsdWUsIENUUkwtRiBhdCB0aGUgZW5kIG9mIHRoZQorCSAgICBmaWxlIHNjcm9sbHMgb25lIGxpbmUuIChMdWJvbWlyIEhvc3QpCitTb2x1dGlvbjogICBEb24ndCBzY3JvbGwgd2hlbiBDVFJMLUYgZGV0ZWN0cyB0aGUgZW5kLW9mLWZpbGUuCitGaWxlczoJICAgIHNyYy9tb3ZlLmMKKworUGF0Y2ggNi4xLjA5OAorUHJvYmxlbTogICAgTVMtV2luZG93czogV2hlbiB0aGUgeHhkIHByb2dyYW0gaXMgdW5kZXIgImM6XHByb2dyYW0gZmlsZXMiIHRoZQorCSAgICAiQ29udmVydCB0byBIZXgiIG1lbnUgZG9lc24ndCB3b3JrLiAoQnJpYW4gTWF0aGlzKQorU29sdXRpb246ICAgUHV0IHRoZSBwYXRoIHRvIHh4ZCBpbiBkb3VibGUgcXVvdGVzLgorRmlsZXM6CSAgICBydW50aW1lL21lbnUudmltCisKK1BhdGNoIDYuMS4wOTkKK1Byb2JsZW06ICAgIE1lbW9yeSBjb3JydXB0ZWQgd2hlbiBjbG9zaW5nIGEgZm9sZCB3aXRoIG1vcmUgdGhhbiA5OTk5OSBsaW5lcy4KK1NvbHV0aW9uOiAgIEFsbG9jYXRlIG1vcmUgc3BhY2UgZm9yIHRoZSBmb2xkIHRleHQuIChXYWx0ZXIgQnJpc2NvZSkKK0ZpbGVzOgkgICAgc3JjL2V2YWwuYworCitQYXRjaCA2LjEuMTAwIChleHRyYSwgZGVwZW5kcyBvbiA2LjEuMDg4KQorUHJvYmxlbTogICAgV2luMzI6IFZDNSBhbmQgZWFybGllciBkb24ndCBzdXBwb3J0IHRoZSAvbWFwaW5mbyBvcHRpb24uCitTb2x1dGlvbjogICBBZGQgIi9tYXBpbmZvIiBvbmx5IHdoZW4gIk1BUD1saW5lcyIgaXMgc3BlY2lmaWVkLiAoTXVyYW9rYSBUYXJvKQorRmlsZXM6CSAgICBzcmMvTWFrZV9tdmMubWFrCisKK1BhdGNoIDYuMS4xMDEKK1Byb2JsZW06ICAgIEFmdGVyIHVzaW5nICI6b3B0aW9ucyIgdGhlIHRhYnN0b3Agb2YgYSBuZXcgd2luZG93IGlzIDE1LiAgRW50cnkKKwkgICAgaW4gIjpvcHRpb25zIiB3aW5kb3cgZm9yICdhdXRvd3JpdGVhbGwnIGlzIHdyb25nLiAoQW50b2luZSBKCisJICAgIE1lY2hlbHluY2spICBDYW4ndCBpbnNlcnQgYSBzcGFjZSBpbiBhbiBvcHRpb24gdmFsdWUuCitTb2x1dGlvbjogICBVc2UgIjpzZXRsb2NhbCIgaW5zdGVhZCBvZiAiOnNldCIuICBDaGFuZ2UgImF3IiB0byAiYXdhIi4KKwkgICAgRG9uJ3QgbWFwIHNwYWNlIGluIEluc2VydCBtb2RlLgorRmlsZXM6CSAgICBydW50aW1lL29wdHdpbi52aW0KKworUGF0Y2ggNi4xLjEwMgorUHJvYmxlbTogICAgVW5wcmludGFibGUgYW5kIG11bHRpLWJ5dGUgY2hhcmFjdGVycyBpbiBhIHN0YXR1c2xpbmUgaXRlbSBhcmUgbm90CisJICAgIHRydW5jYXRlZCBjb3JyZWN0bHkuIChZYXN1aGlybyBNYXRzdW1vdG8pCitTb2x1dGlvbjogICBDb3VudCB0aGUgd2lkdGggb2YgY2hhcmFjdGVycyBpbnN0ZWFkIG9mIHRoZSBudW1iZXIgb2YgYnl0ZXMuCitGaWxlczoJICAgIHNyYy9idWZmZXIuYworCitQYXRjaCA2LjEuMTAzCitQcm9ibGVtOiAgICBBIGZ1bmN0aW9uIHJldHVybmluZyBmcm9tIGEgd2hpbGUgbG9vcCwgd2l0aCAndmVyYm9zZScgc2V0IHRvIDEyCisJICAgIG9yIGhpZ2hlciwgZG9lc24ndCBtZW50aW9uIHRoZSByZXR1cm4gdmFsdWUuICBBIGZ1bmN0aW9uIHdpdGggdGhlCisJICAgICdhYm9ydCcgYXR0cmlidXRlIG1heSByZXR1cm4gLTEgd2hpbGUgdGhlIHZlcmJvc2UgbWVzc2FnZSBzYXlzCisJICAgIHNvbWV0aGluZyBlbHNlLgorU29sdXRpb246ICAgTW92ZSB0aGUgdmVyYm9zZSBtZXNzYWdlIGFib3V0IHJldHVybmluZyBmcm9tIGEgZnVuY3Rpb24gdG8KKwkgICAgY2FsbF9mdW5jKCkuIChTZXJ2YXRpdXMgQnJhbmR0KQorRmlsZXM6CSAgICBzcmMvZXZhbC5jCisKK1BhdGNoIDYuMS4xMDQKK1Byb2JsZW06ICAgIEdDQyAzLjEgYXBwZWFycyB0byBoYXZlIGFuIG9wdGltaXplciBwcm9ibGVtIHRoYXQgbWFrZXMgdGVzdCAzCisJICAgIGNyYXNoLgorU29sdXRpb246ICAgRm9yIEdDQyAzLjEgYWRkIC1mbm8tc3RyZW5ndGgtcmVkdWNlIHRvIGF2b2lkIHRoZSBvcHRpbWl6ZXIgYnVnLgorCSAgICBGaWx0ZXIgb3V0IGV4dHJhIGluZm8gZnJvbSAiZ2NjIC0tdmVyc2lvbiIuCitGaWxlczoJICAgIHNyYy9hdXRvL2NvbmZpZ3VyZSwgc3JjL2NvbmZpZ3VyZS5pbgorCitQYXRjaCA2LjEuMTA1CitQcm9ibGVtOiAgICBXaW4zMjogVGhlIGRlZmF1bHQgZm9yICdzaGVsbHBpcGUnIGRvZXNuJ3QgcmVkaXJlY3Qgc3RkZXJyLiAoRGlvbgorCSAgICBOaWNvbGFhcykKK1NvbHV0aW9uOiAgIFJlZGlyZWN0IHN0ZGVyciwgZGVwZW5kaW5nIG9uIHRoZSBzaGVsbCAobGlrZSBmb3IgJ3NoZWxscmVkaXInKS4KK0ZpbGVzOgkgICAgc3JjL29wdGlvbi5jCisKK1BhdGNoIDYuMS4xMDYKK1Byb2JsZW06ICAgIFRoZSBtYXplIHByb2dyYW0gY3Jhc2hlcy4KK1NvbHV0aW9uOiAgIENoYW5nZSAiMTEiIHRvICIyNyIgYW5kIGl0IHdvcmtzLiAoR3JlZyBSb2Vsb2ZzKQorRmlsZXM6CSAgICBydW50aW1lL21hY3Jvcy9tYXplL21hemVhbnNpLmMKKworUGF0Y2ggNi4xLjEwNworUHJvYmxlbTogICAgV2hlbiAnbGlzdCcgaXMgc2V0IHRoZSBjdXJyZW50IGxpbmUgaW4gdGhlIGVycm9yIHdpbmRvdyBtYXkgYmUKKwkgICAgZGlzcGxheWVkIHdyb25nLiAoTXVyYW9rYSBUYXJvKQorU29sdXRpb246ICAgRG9uJ3QgY29udGludWUgdGhlIGxpbmUgYWZ0ZXIgdGhlICQgaGFzIGJlZW4gZGlzcGxheWVkIGFuZCB0aGUKKwkgICAgcmlnaHRtb3N0IGNvbHVtbiBpcyByZWFjaGVkLgorRmlsZXM6CSAgICBzcmMvc2NyZWVuLmMKKworUGF0Y2ggNi4xLjEwOAorUHJvYmxlbTogICAgV2hlbiBpbnRlcnJ1cHRpbmcgYSBmaWx0ZXIgY29tbWFuZCBzdWNoIGFzICIhIXNsZWVwIDIwIiB0aGUgZmlsZQorCSAgICBiZWNvbWVzIHJlYWQtb25seS4gKE1hcmsgQnJhZGVyKQorU29sdXRpb246ICAgT25seSBzZXQgdGhlIHJlYWQtb25seSBmbGFnIHdoZW4gb3BlbmluZyBhIGJ1ZmZlciBpcyBpbnRlcnJ1cHRlZC4KKwkgICAgV2hlbiB0aGUgc2hlbGwgY29tbWFuZCB3YXMgaW50ZXJydXB0ZWQsIHJlYWQgdGhlIG91dHB1dCB0aGF0IHdhcworCSAgICBwcm9kdWNlZCBzbyBmYXIuCitGaWxlczoJICAgIHNyYy9leF9jbWRzLmMsIHNyYy9maWxlaW8uYworCitQYXRjaCA2LjEuMTA5CitQcm9ibGVtOiAgICBXaGVuICdlYWRpcmVjdGlvbicgaXMgImhvciIsIHVzaW5nIENUUkwtVyA9IGRvZXNuJ3QgZXF1YWxpemUgdGhlCisJICAgIHdpbmRvdyBoZWlnaHRzLiAoUm9tYW4gTmV1aGF1c2VyKQorU29sdXRpb246ICAgSWdub3JlICdlYWRpcmVjdGlvbicgZm9yIENUUkwtVyA9CitGaWxlczoJICAgIHNyYy93aW5kb3cuYworCitQYXRjaCA2LjEuMTEwCitQcm9ibGVtOiAgICBXaGVuIHVzaW5nICI6YmFkZCBmaWxlIiB3aGVuICJmaWxlIiBpcyBhbHJlYWR5IHByZXNlbnQgYnV0IG5vdAorCSAgICBsaXN0ZWQsIGl0IHN0YXlzIHVubGlzdGVkLiAoRGF2aWQgRnJleSkKK1NvbHV0aW9uOiAgIFNldCAnYnVmbGlzdGVkJy4KK0ZpbGVzOgkgICAgc3JjL2J1ZmZlci5jCisKK1BhdGNoIDYuMS4xMTEKK1Byb2JsZW06ICAgIEl0J3Mgbm90IHBvc3NpYmxlIHRvIGRldGVjdCB1c2luZyB0aGUgVW5peCBzb3VyY2VzIG9uIFdpbjMyIG9yIE1hYy4KK1NvbHV0aW9uOiAgIEFkZCBoYXMoIm1hY3VuaXgiKSBhbmQgaGFzKCJ3aW4zMnVuaXgiKS4KK0ZpbGVzOgkgICAgcnVudGltZS9kb2MvZXZhbC50eHQsIHNyYy9ldmFsLmMKKworUGF0Y2ggNi4xLjExMgorUHJvYmxlbTogICAgV2hlbiB1c2luZyAiOmFyZ2RvIiwgIjpidWZkbyIgb3IgIjp3aW5kbyIsIENUUkwtTyBkb2Vzbid0IGdvIHRvCisJICAgIHRoZSBjdXJzb3IgcG9zaXRpb24gZnJvbSBiZWZvcmUgdGhpcyBjb21tYW5kIGJ1dCBldmVyeSBwb3NpdGlvbgorCSAgICB3aGVyZSB0aGUgYXJndW1lbnQgd2FzIGV4ZWN1dGVkLgorU29sdXRpb246ICAgT25seSByZW1lbWJlciB0aGUgY3Vyc29yIHBvc2l0aW9uIGZyb20gYmVmb3JlIHRoZSAiOmFyZ2RvIiwKKwkgICAgIjpidWZkbyIgYW5kICI6d2luZG8iLgorRmlsZXM6CSAgICBzcmMvZXhfY21kczIuYywgc3JjL21hcmsuYworCitQYXRjaCA2LjEuMTEzCitQcm9ibGVtOiAgICAiOmJ1ZmRvIGJ3aXBlIiBvbmx5IHdpcGVzIG91dCBoYWxmIHRoZSBidWZmZXJzLiAgKFJvbWFuIE5ldWhhdXNlcikKK1NvbHV0aW9uOiAgIERlY2lkZSB3aGF0IGJ1ZmZlciB0byBnbyB0byBuZXh0IGJlZm9yZSBleGVjdXRpbmcgdGhlIGNvbW1hbmQuCitGaWxlczoJICAgIHNyYy9leF9jbWRzMi5jCisKK1BhdGNoIDYuMS4xMTQKK1Byb2JsZW06ICAgICI6cHl0aG9uIGltcG9ydCB2aW0iLCAiOnB5dGhvbiB2aW0uY3VycmVudC5idWZmZXJbMDowXSA9IFtdIiBnaXZlcworCSAgICBhIGxhbGxvYygwKSBlcnJvci4gKENocmlzIFNvdXRoZXJuKQorU29sdXRpb246ICAgRG9uJ3QgYWxsb2NhdGUgYW4gYXJyYXkgd2hlbiBpdCdzIHNpemUgaXMgemVyby4KK0ZpbGVzOgkgICAgc3JjL2lmX3B5dGhvbi5jCisKK1BhdGNoIDYuMS4xMTUKK1Byb2JsZW06ICAgICJkYXMiIG9uIHRoZSB3aGl0ZSBzcGFjZSBhdCB0aGUgZW5kIG9mIGEgcGFyYWdyYXBoIGRvZXMgbm90IGRlbGV0ZQorCSAgICB0aGUgIi4iIHRoZSBzZW50ZW5jZSBlbmRzIHdpdGguCitTb2x1dGlvbjogICBEb24ndCBleGNsdWRlIHRoZSBsYXN0IGNoYXJhY3RlciB3aGVuIGl0IGlzIG5vdCB3aGl0ZSBzcGFjZS4KK0ZpbGVzOgkgICAgc3JjL3NlYXJjaC5jCisKK1BhdGNoIDYuMS4xMTYKK1Byb2JsZW06ICAgIFdoZW4gJ2VuZG9mbGluZScgaXMgY2hhbmdlZCB3aGlsZSAnYmluYXJ5JyBpcyBzZXQgYSBmaWxlIHNob3VsZCBiZQorCSAgICBjb25zaWRlcmVkIG1vZGlmaWVkLiAoT2xhZiBCdWRkZW5oYWdlbikKK1NvbHV0aW9uOiAgIFJlbWVtYmVyIHRoZSAnZW9sJyB2YWx1ZSB3aGVuIGVkaXRpbmcgc3RhcnRlZCBhbmQgY29uc2lkZXIgdGhlCisJICAgIGZpbGUgY2hhbmdlZCB3aGVuIHRoZSBjdXJyZW50IHZhbHVlIGlzIGRpZmZlcmVudCBhbmQgJ2JpbmFyeScgaXMKKwkgICAgc2V0LiAgQWxzbyBmaXggdGhhdCB0aGUgd2luZG93IHRpdGxlIGlzbid0IHVwZGF0ZWQgd2hlbiAnZmYnIG9yCisJICAgICdiaW4nIGNoYW5nZXMuCitGaWxlczoJICAgIHNyYy9vcHRpb24uYywgc3JjL3N0cnVjdHMuaAorCitQYXRjaCA2LjEuMTE3CitQcm9ibGVtOiAgICBTbWFsbCBwcm9ibGVtIHdpdGggZWRpdGluZyBhIGZpbGUgb3ZlciBmdHA6IGFuZCB3aXRoIEN5Z3dpbi4KK1NvbHV0aW9uOiAgIFJlbW92ZSBhIGRvdCBmcm9tIGEgIjpub3JtYWwiIGNvbW1hbmQuICBVc2UgImN5Z2RyaXZlIiB3aGVyZQorCSAgICBhcHByb3ByaWF0ZS4gIChDaGFybGVzIENhbXBiZWxsKQorRmlsZXM6CSAgICBydW50aW1lL3BsdWdpbi9uZXRydy52aW0KKworUGF0Y2ggNi4xLjExOAorUHJvYmxlbTogICAgV2hlbiBhIGZpbGUgaW4gZGlmZiBtb2RlIGlzIHJlbG9hZGVkIGJlY2F1c2UgaXQgY2hhbmdlZCBvdXRzaWRlCisJICAgIG9mIFZpbSwgb3RoZXIgd2luZG93cyBpbiBkaWZmIG1vZGUgYXJlIG5vdCBhbHdheXMgdXBkYXRlZC4KKwkgICAgKE1pY2hhZWwgTmF1bWFubikKK1NvbHV0aW9uOiAgIEFmdGVyIHJlbG9hZGluZyBhIGZpbGUgaW4gZGlmZiBtb2RlIG1hcmsgYWxsIHdpbmRvd3MgaW4gZGlmZiBtb2RlCisJICAgIGZvciByZWRyYXcuCitGaWxlczoJICAgIHNyYy9kaWZmLmMKKworUGF0Y2ggNi4xLjExOSAoZXh0cmEpCitQcm9ibGVtOiAgICBXaXRoIHRoZSBTbmlmZiBpbnRlcmZhY2UsIHVzaW5nIFNuaWZmIDQuMC5YIG9uIEhQLVVYLCB0aGVyZSBtYXkgYmUKKwkgICAgYSBjcmFzaCB3aGVuIGNvbm5lY3RpbmcgdG8gU25pZmYuCitTb2x1dGlvbjogICBJbml0aWFsaXplIHNuaWZmX3JxX3NlcCBzdWNoIHRoYXQgaXRzIHZhbHVlIGNhbiBiZSBjaGFuZ2VkLgorCSAgICAoTWFydGluIEVnbG9mZikKK0ZpbGVzOgkgICAgc3JjL2lmX3NuaWZmLmMKKworUGF0Y2ggNi4xLjEyMCAoZGVwZW5kcyBvbiA2LjEuMDk3KQorUHJvYmxlbTogICAgV2hlbiAnc2Nyb2xsb2ZmJyBpcyBub24temVybyBhbmQgdGhlcmUgYXJlIGZvbGRzLCBDVFJMLUYgYXQgdGhlCisJICAgIGVuZCBvZiB0aGUgZmlsZSBzY3JvbGxzIHBhcnQgb2YgYSBjbG9zZWQgZm9sZC4gIChMdWJvbWlyIEhvc3QpCitTb2x1dGlvbjogICBBZGp1c3QgdGhlIGZpcnN0IGxpbmUgdG8gdGhlIHN0YXJ0IG9mIGEgZm9sZC4KK0ZpbGVzOgkgICAgc3JjL21vdmUuYworCitQYXRjaCA2LjEuMTIxIChkZXBlbmRzIG9uIDYuMS4wOTgpCitQcm9ibGVtOiAgICBXaGVuIHN0YXJ0aW5nIFNlbGVjdCBtb2RlIGZyb20gSW5zZXJ0IG1vZGUsIHRoZW4gdXNpbmcgdGhlIFBhc3RlCisJICAgIG1lbnUgZW50cnksIHRoZSBjdXJzb3IgaXMgbGVmdCBiZWZvcmUgdGhlIGxhc3RlIHBhc3RlZCBjaGFyYWN0ZXIuCisJICAgIChNYXJpbyBTY2h3ZWlnbGVyKQorU29sdXRpb246ICAgU2V0IHRoZSBjdXJzb3IgZm9yIEluc2VydCBtb2RlIG9uZSBjaGFyYWN0ZXIgdG8gdGhlIHJpZ2h0LgorRmlsZXM6CSAgICBydW50aW1lL21lbnUudmltCisKK1BhdGNoIDYuMS4xMjIKK1Byb2JsZW06ICAgICI6ZmlsZSBuYW1lIiBjcmVhdGVzIGEgbmV3IGJ1ZmZlciB0byBob2xkIHRoZSBvbGQgYnVmZmVyIG5hbWUsCisJICAgIHdoaWNoIGJlY29tZXMgdGhlIGFsdGVybmF0ZSBmaWxlLiAgVGhpcyBidWZmZXIgaXMgdW5leHBlY3RlZGx5CisJICAgIGxpc3RlZC4KK1NvbHV0aW9uOiAgIENyZWF0ZSB0aGUgYnVmZmVyIGZvciB0aGUgYWx0ZXJuYXRlIG5hbWUgdW5saXN0ZWQuCitGaWxlczoJICAgIHNyYy9leF9jbWRzLmMKKworUGF0Y2ggNi4xLjEyMworUHJvYmxlbTogICAgQSAiOm1hdGNoIiBjb21tYW5kIHdpdGggbW9yZSB0aGFuIG9uZSBhcmd1bWVudCBkb2Vzbid0IHJlcG9ydCBhbgorCSAgICBlcnJvci4KK1NvbHV0aW9uOiAgIENoZWNrIGZvciBleHRyYSBjaGFyYWN0ZXJzLiAoU2VydmF0aXVzIEJyYW5kdCkKK0ZpbGVzOgkgICAgc3JjL2V4X2RvY21kLmMKKworUGF0Y2ggNi4xLjEyNAorUHJvYmxlbTogICAgV2hlbiB0cnlpbmcgdG8gZXhpdCBhbmQgdGhlcmUgaXMgYSBoaWRkZW4gYnVmZmVyIHRoYXQgaGFkICdlb2wnCisJICAgIG9mZiBhbmQgJ2Jpbicgc2V0IGV4aXRpbmcgaXNuJ3QgcG9zc2libGUuIChKb2huIE1jR293YW4pCitTb2x1dGlvbjogICBTZXQgYl9zdGFydF9lb2wgd2hlbiBjbGVhcmluZyB0aGUgYnVmZmVyLgorRmlsZXM6CSAgICBzcmMvYnVmZmVyLmMKKworUGF0Y2ggNi4xLjEyNQorUHJvYmxlbTogICAgRXhwbG9yZXIgcGx1Z2luIGFza3MgZm9yIHNhdmluZyBhIG1vZGlmaWVkIGJ1ZmZlciBldmVuIHdoZW4gaXQncworCSAgICBvcGVuIGluIGFub3RoZXIgd2luZG93IGFzIHdlbGwuCitTb2x1dGlvbjogICBDb3VudCB0aGUgbnVtYmVyIG9mIHdpbmRvd3MgdXNpbmcgdGhlIGJ1ZmZlci4KK0ZpbGVzOgkgICAgcnVudGltZS9wbHVnaW4vZXhwbG9yZXIudmltCisKK1BhdGNoIDYuMS4xMjYKK1Byb2JsZW06ICAgIEFkZGluZyB0aGUgY2hvaWNlcyBpbiB0aGUgc3ludGF4IG1lbnUgaXMgY29uc3VtaW5nIG11Y2ggb2YgdGhlCisJICAgIHN0YXJ0dXAgdGltZSBvZiB0aGUgR1VJIHdoaWxlIGl0J3Mgbm90IG9mdGVuIHVzZWQuCitTb2x1dGlvbjogICBPbmx5IGFkZCB0aGUgY2hvaWNlcyB3aGVuIHRoZSB1c2VyIHdhbnRzIHRvIHVzZSB0aGVtLgorRmlsZXM6CSAgICBNYWtlZmlsZSwgcnVudGltZS9tYWtlbWVudS52aW0sIHJ1bnRpbWUvbWVudS52aW0sCisJICAgIHJ1bnRpbWUvc3lubWVudS52aW0sIHNyYy9NYWtlZmlsZQorCitQYXRjaCA2LjEuMTI3CitQcm9ibGVtOiAgICBXaGVuIHVzaW5nICItLXJlbW90ZSBmaWxlIiBhbmQgdGhlIHNlcnZlciBoYXMgJ2luc2VydG1vZGUnIHNldCwKKwkgICAgY29tbWFuZHMgYXJlIGluc2VydGVkIGluc3RlYWQgb2YgYmVpbmcgZXhlY3V0ZWQuIChOaWtsYXMgVm9sYmVycykKK1NvbHV0aW9uOiAgIEdvIHRvIE5vcm1hbCBtb2RlIGFnYWluIGFmdGVyIHRoZSAiOmRyb3AiIGNvbW1hbmQuCitGaWxlczoJICAgIHNyYy9tYWluLmMKKworUGF0Y2ggNi4xLjEyOAorUHJvYmxlbTogICAgVGhlIGV4cHJlc3Npb24gImlucHV0KCd2ZXJ5IGxvbmcgcHJvbXB0JykiIHB1dHMgdGhlIGN1cnNvciBpbiB0aGUKKwkgICAgd3JvbmcgbGluZSAoY29sdW1uIGlzIE9LKS4KK1NvbHV0aW9uOiAgIEFkZCB0aGUgd3JhcHBlZCBsaW5lcyB0byB0aGUgaW5kZW50LiAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorRmlsZXM6CSAgICBzcmMvZXhfZ2V0bG4uYworCitQYXRjaCA2LjEuMTI5CitQcm9ibGVtOiAgICBPbiBTb2xhcmlzIGVkaXRpbmcgImZpbGUvIiBhbmQgdGhlbiAiZmlsZSIgcmVzdWx0cyBpbiB1c2luZyB0aGUKKwkgICAgc2FtZSBidWZmZXIuICAoSmltIEJhdHRsZSkKK1NvbHV0aW9uOiAgIEJlZm9yZSB1c2luZyBzdGF0KCksIGNoZWNrIHRoYXQgdGhlcmUgaXMgbm8gaWxsZWdhbCB0cmFpbGluZworCSAgICBzbGFzaC4KK0ZpbGVzOgkgICAgc3JjL2F1dG8vY29uZmlndXJlLCBzcmMvY29uZmlnLmguaW4sIHNyYy9jb25maWd1cmUuaW4sCisJICAgIHNyYy9tYWNyb3MuaCBzcmMvbWlzYzIuYywgc3JjL3Byb3RvL21pc2MyLnBybworCitQYXRjaCA2LjEuMTMwCitQcm9ibGVtOiAgICBUaGUgZG9jdW1lbnRhdGlvbiBmb3Igc29tZSBvZiB0aGUgJ2Vycm9yZm9ybWF0JyBpdGVtcyBpcyB1bmNsZWFyLgorU29sdXRpb246ICAgQWRkIG1vcmUgZXhhbXBsZXMgYW5kIGV4cGxhaW4gaGFyZCB0byB1bmRlcnN0YW5kIGl0ZW1zLiAoU3RlZmFuCisJICAgIFJvZW1lcikKK0ZpbGVzOgkgICAgcnVudGltZS9kb2MvcXVpY2tmaXgudHh0CisKK1BhdGNoIDYuMS4xMzEKK1Byb2JsZW06ICAgIFgxMSBHVUk6IHdoZW4gZXhwYW5kaW5nIGEgQ1NJIGJ5dGUgaW4gdGhlIGlucHV0IHN0cmVhbSB0byBLX0NTSSwKKwkgICAgdGhlIENTSSBieXRlIGl0c2VsZiBpc24ndCBjb3BpZWQuCitTb2x1dGlvbjogICBDb3B5IHRoZSBDU0kgYnl0ZS4KK0ZpbGVzOgkgICAgc3JjL2d1aV94MTEuYworCitQYXRjaCA2LjEuMTMyCitQcm9ibGVtOiAgICBFeGVjdXRpbmcgYSByZWdpc3RlciBpbiBFeCBtb2RlIG1heSBjYXVzZSBjb21tYW5kcyB0byBiZSBza2lwcGVkLgorCSAgICAoSm9obiBNY0dvd2FuKQorU29sdXRpb246ICAgSW4gRXggbW9kZSB1c2UgYW4gZXh0cmEgY2hlY2sgaWYgdGhlIHJlZ2lzdGVyIGNvbnRlbnRzIHdhcworCSAgICBjb25zdW1lZCwgdG8gYXZvaWQgaW5wdXQgZ29lcyBpbnRvIHRoZSB0eXBlYWhlYWQgYnVmZmVyLgorRmlsZXM6CSAgICBzcmMvZXhfZG9jbWQuYworCitQYXRjaCA2LjEuMTMzCitQcm9ibGVtOiAgICBXaGVuIGRyYXdpbmcgZG91YmxlLXdpZGUgY2hhcmFjdGVycyBpbiB0aGUgc3RhdHVzbGluZSwgbWF5IGNsZWFyCisJICAgIGhhbGYgb2YgYSBjaGFyYWN0ZXIuIChZYXN1aGlybyBNYXRzdW1vdG8pCitTb2x1dGlvbjogICBGb3JjZSByZWRyYXcgb2YgdGhlIG5leHQgY2hhcmFjdGVyIGJ5IHNldHRpbmcgdGhlIGF0dHJpYnV0ZXMKKwkgICAgaW5zdGVhZCBvZiBwdXR0aW5nIGEgTlVMIGluIFNjcmVlbkxpbmVzW10uICBEbyBwdXQgYSBOVUwgaW4KKwkgICAgU2NyZWVuTGluZXNbXSB3aGVuIG92ZXJ3cml0aW5nIGhhbGYgb2YgYSBkb3VibGUtd2lkZSBjaGFyYWN0ZXIuCitGaWxlczoJICAgIHNyYy9zY3JlZW4uYworCitQYXRjaCA2LjEuMTM0CitQcm9ibGVtOiAgICBBbiBlcnJvciBmb3IgYSB0cmFpbGluZyBhcmd1bWVudCBvZiAiOm1hdGNoIiBzaG91bGQgbm90IGJlIGdpdmVuCisJICAgIGFmdGVyICI6aWYgMCIuIChTZXJ2YXRpdXMgQnJhbmR0KQorU29sdXRpb246ICAgT25seSBkbyB0aGUgY2hlY2sgd2hlbiBleGVjdXRpbmcgY29tbWFuZHMuCitGaWxlczoJICAgIHNyYy9leF9kb2NtZC5jCisKK1BhdGNoIDYuMS4xMzUKK1Byb2JsZW06ICAgIFBhc3NpbmcgYSBjb21tYW5kIHRvIHRoZSBzaGVsbCB0aGF0IGluY2x1ZGVzIGEgbmV3bGluZSBhbHdheXMgaGFzCisJICAgIGEgYmFja3NsYXNoIGJlZm9yZSB0aGUgbmV3bGluZS4KK1NvbHV0aW9uOiAgIFJlbW92ZSBvbmUgYmFja3NsYXNoIGJlZm9yZSB0aGUgbmV3bGluZS4gIChTZXJ2YXRpdXMgQnJhbmR0KQorRmlsZXM6CSAgICBzcmMvZXhfZG9jbWQuYworCitQYXRjaCA2LjEuMTM2CitQcm9ibGVtOiAgICBXaGVuICRURVJNIGlzICJsaW51eCIgdGhlIGRlZmF1bHQgZm9yICdiYWNrZ3JvdW5kJyBpcyAiZGFyayIsIGV2ZW4KKwkgICAgdGhvdWdoIHRoZSBHVUkgdXNlcyBhIGxpZ2h0IGJhY2tncm91bmQuIChIdWdoIEFsbGVuKQorU29sdXRpb246ICAgRG9uJ3QgbWFyayB0aGUgb3B0aW9uIGFzIHNldCB3aGVuIGRlZmF1bHRpbmcgdG8gImRhcmsiIGZvciB0aGUKKwkgICAgbGludXggY29uc29sZS4gIEFsc28gcmVzZXQgJ2JhY2tncm91bmQnIHRvICJsaWdodCIgd2hlbiB0aGUgR1VJCisJICAgIGhhcyBhIGxpZ2h0IGJhY2tncm91bmQuCitGaWxlczoJICAgIHNyYy9vcHRpb24uYworCitQYXRjaCA2LjEuMTM3CitQcm9ibGVtOiAgICBDb252ZXJ0aW5nIHRvIEhUTUwgaGFzIGEgY2x1bXN5IHdheSBvZiBkZWFsaW5nIHdpdGggdGFicyB3aGljaCBtYXkKKwkgICAgY2hhbmdlIHRoZSBoaWdobGlnaHRpbmcuCitTb2x1dGlvbjogICBSZXBsYWNlIHRhYnMgd2l0aCBzcGFjZXMgYWZ0ZXIgY29udmVydGluZyBhIGxpbmUgdG8gSFRNTC4gKFByZWJlbgorCSAgICBHdWxkYmVyZykKK0ZpbGVzOgkgICAgcnVudGltZS9zeW50YXgvMmh0bWwudmltCisKK1BhdGNoIDYuMS4xMzggKGRlcGVuZHMgb24gNi4xLjEyNikKK1Byb2JsZW06ICAgIEFkZGluZyBleHRyYSBpdGVtcyB0byB0aGUgU3ludGF4IG1lbnUgY2FuJ3QgYmUgZG9uZSB3aGVuIHRoZSAiU2hvdworCSAgICBpbmRpdmlkdWFsIGNob2ljZXMiIG1lbnUgaXMgdXNlZC4KK1NvbHV0aW9uOiAgIFVzZSAiOnJ1bnRpbWUhIiBpbnN0ZWFkIG9mICI6c291cmNlIiwgc28gdGhhdCBhbGwgc3lubWVudS52aW0KKwkgICAgZmlsZXMgaW4gdGhlIHJ1bnRpbWUgcGF0aCBhcmUgbG9hZGVkLiAoU2VydmF0aXVzIEJyYW5kdCkKKwkgICAgQWxzbyBmaXggdGhhdCBhIHRyYW5zbGF0ZWQgbWVudSBjYW4ndCBiZSByZW1vdmVkLgorRmlsZXM6CSAgICBydW50aW1lL21lbnUudmltCisKK1BhdGNoIDYuMS4xMzkKK1Byb2JsZW06ICAgIEN5Z3dpbjogUEFUSF9NQVggaXMgbm90IGRlZmluZWQuCitTb2x1dGlvbjogICBJbmNsdWRlIGxpbWl0cy5oLiAoRGFuIFNoYXJwKQorRmlsZXM6CSAgICBzcmMvbWFpbi5jCisKK1BhdGNoIDYuMS4xNDAKK1Byb2JsZW06ICAgIEN5Z3dpbjogIjphcmdzIGBscyAqLmNgIiBkb2VzIG5vdCB3b3JrIGlmIHRoZSBzaGVsbCBjb21tYW5kCisJICAgIHByb2R1Y2VzIENSIE5MIGxpbmUgc2VwYXJhdG9ycy4KK1NvbHV0aW9uOiAgIFJlbW92ZSB0aGUgQ1IgY2hhcmFjdGVycyBvdXJzZWx2ZXMuIChQYXZvbCBKdWhhcykKK0ZpbGVzOgkgICAgc3JjL29zX3VuaXguYworCitQYXRjaCA2LjEuMTQxCitQcm9ibGVtOiAgICAiOndpbmNtZCBneCIgbWF5IGNhdXNlIHByb2JsZW1zIHdoZW4gbWl4ZWQgd2l0aCBvdGhlciBjb21tYW5kcy4KKwkgICAgIjp3aW5jbWQgYyIgZG9lc24ndCBjbG9zZSB0aGUgd2luZG93IGltbWVkaWF0ZWx5LiAoQmVuamkgRmlzaGVyKQorU29sdXRpb246ICAgUGFzcyB0aGUgZXh0cmEgY29tbWFuZCBjaGFyYWN0ZXIgZGlyZWN0bHkgaW5zdGVhZCBvZiB1c2luZyB0aGUKKwkgICAgc3R1ZmYgYnVmZmVyIGFuZCBjYWxsIGV4X2Nsb3NlKCkgZGlyZWN0bHkuCitGaWxlczoJICAgIHNyYy9leF9kb2NtZC5jLCBzcmMvbm9ybWFsLmMsIHNyYy9wcm90by9ub3JtYWwucHJvLAorCSAgICBzcmMvcHJvdG8vd2luZG93LnBybywgc3JjL3dpbmRvdy5jCisKK1BhdGNoIDYuMS4xNDIKK1Byb2JsZW06ICAgIERlZmluaW5nIHBhcmFncmFwaHMgd2l0aG91dCBhIHNlcGFyYXRpbmcgYmxhbmsgbGluZSBpc24ndAorCSAgICBwb3NzaWJsZS4gIFBhcmFncmFwaHMgY2FuJ3QgYmUgZm9ybWF0dGVkIGF1dG9tYXRpY2FsbHkuCitTb2x1dGlvbjogICBBbGxvdyBkZWZpbmluZyBwYXJhZ3JhcGhzIHdpdGggbGluZXMgdGhhdCBlbmQgaW4gd2hpdGUgc3BhY2UuCisJICAgIEFkZGVkIHRoZSAndycgYW5kICdhJyBmbGFncyBpbiAnZm9ybWF0b3B0aW9ucycuCitGaWxlczoJICAgIHJ1bnRpbWUvZG9jL2NoYW5nZS50eHQsIHNyYy9lZGl0LmMsIHNyYy9taXNjMS5jLCBzcmMvbm9ybWFsLmMsCisJICAgIHNyYy9vcHRpb24uaCwgc3JjL29wcy5jLCBzcmMvcHJvdG8vZWRpdC5wcm8sIHNyYy9wcm90by9vcHMucHJvLAorCSAgICBzcmMvdmltLmgKKworUGF0Y2ggNi4xLjE0MyAoZGVwZW5kcyBvbiA2LjEuMTQyKQorUHJvYmxlbTogICAgQXV0byBmb3JtYXR0aW5nIG5lYXIgdGhlIGVuZCBvZiB0aGUgZmlsZSBtb3ZlcyB0aGUgY3Vyc29yIHRvIGEKKwkgICAgd3JvbmcgcG9zaXRpb24uICBJbiBJbnNlcnQgbW9kZSBzb21lIGxpbmVzIGFyZSBtYWRlIG9uZSBjaGFyIHRvbworCSAgICBuYXJyb3cuICBXaGVuIGRlbGV0aW5nIGEgbGluZSB1bmRvIG1pZ2h0IG5vdCBhbHdheXMgd29yayBwcm9wZXJseS4KK1NvbHV0aW9uOiAgIERvbid0IGFsd2F5cyBtb3ZlIHRvIHRoZSBlbmQgb2YgdGhlIGxpbmUgaW4gdGhlIGxhc3QgbGluZS4gIERvbid0CisJICAgIHBvc2l0aW9uIHRoZSBjdXJzb3IgcGFzdCB0aGUgZW5kIG9mIHRoZSBsaW5lIGluIEluc2VydCBtb2RlLgorCSAgICBBZnRlciBkZWxldGluZyBhIGxpbmUgc2F2ZSB0aGUgY3Vyc29yIGxpbmUgZm9yIHVuZG8uCitGaWxlczoJICAgIHNyYy9lZGl0LmMsIHNyYy9vcHMuYywgc3JjL25vcm1hbC5jCisKK1BhdGNoIDYuMS4xNDQKK1Byb2JsZW06ICAgIE9idGFpbmluZyB0aGUgc2l6ZSBvZiBhIGxpbmUgaW4gc2NyZWVuIGNoYXJhY3RlcnMgY2FuIGJlIHdyb25nLgorCSAgICBBIHBvaW50ZXIgbWF5IHdyYXAgYXJvdW5kIHplcm8uCitTb2x1dGlvbjogICBJbiB3aW5fbGluZXRhYnNpemUoKSBjaGVjayBmb3IgYSBNQVhDT0wgbGVuZ3RoIGFyZ3VtZW50LiAoSmltCisJICAgIER1bmxlYXZ5KQorRmlsZXM6CSAgICBzcmMvY2hhcnNldC5jCisKK1BhdGNoIDYuMS4xNDUKK1Byb2JsZW06ICAgIEdUSzogRHJhZyZkcm9wIHdpdGggbW9yZSB0aGFuIDMgZmlsZXMgbWF5IGNhdXNlIGEgY3Jhc2guIChNaWNrYWVsCisJICAgIE1hcmNoYW5kKQorU29sdXRpb246ICAgUmV3cml0ZSB0aGUgY29kZSB0aGF0IHBhcnNlcyB0aGUgcmVjZWl2ZWQgbGlzdCBvZiBmaWxlcyB0byBiZSBtb3JlCisJICAgIHJvYnVzdC4KK0ZpbGVzOgkgICAgc3JjL2NoYXJzZXQuYywgc3JjL2d1aV9ndGtfeDExLmMKKworUGF0Y2ggNi4xLjE0NgorUHJvYmxlbTogICAgTVMtV2luZG93czogV2hlbiAkSE9NRSBpcyBjb25zdHJ1Y3RlZCBmcm9tICRIT01FRFJJVkUgYW5kCisJICAgICRIT01FUEFUSCwgaXQgaXMgbm90IHVzZWQgZm9yIHN0b3JpbmcgdGhlIF92aW1pbmZvIGZpbGUuICAoTm9ybWFsCisJICAgIERpYW1vbmQpCitTb2x1dGlvbjogICBTZXQgJEhPTUUgd2l0aCB0aGUgdmFsdWUgb2J0YWluZWQgZnJvbSAkSE9NRURSSVZFIGFuZCAkSE9NRVBBVEguCitGaWxlczoJICAgIHNyYy9taXNjMS5jCisKK1BhdGNoIDYuMS4xNDcgKGV4dHJhKQorUHJvYmxlbTogICAgTVMtV2luZG93czogV2hlbiBhIGRpYWxvZyBoYXMgbm8gZGVmYXVsdCBidXR0b24sIHByZXNzaW5nIEVudGVyCisJICAgIGVuZHMgaXQgYW55d2F5IGFuZCBhbGwgYnV0dG9ucyBhcmUgc2VsZWN0ZWQuCitTb2x1dGlvbjogICBEb24ndCBlbmQgYSBkaWFsb2cgd2hlbiB0aGVyZSBpcyBubyBkZWZhdWx0IGJ1dHRvbi4gIERvbid0IHNlbGVjdAorCSAgICBhbGwgYnV0dG9uIHdoZW4gdGhlcmUgaXMgbm8gZGVmYXVsdC4gKFZpbmNlIE5lZ3JpKQorRmlsZXM6CSAgICBzcmMvZ3VpX3czMi5jCisKK1BhdGNoIDYuMS4xNDggKGV4dHJhKQorUHJvYmxlbTogICAgTVMtV2luZG93czogQUNMIGlzIG5vdCBwcm9wZXJseSBzdXBwb3J0ZWQuCitTb2x1dGlvbjogICBBZGQgYW4gYWNjZXNzKCkgcmVwbGFjZW1lbnQgdGhhdCBhbHNvIHdvcmtzIGZvciBBQ0wuIChNaWtlCisJICAgIFdpbGxpYW1zKQorRmlsZXM6CSAgICBydW50aW1lL2RvYy9lZGl0aW5nLnR4dCwgc3JjL29zX3dpbjMyLmMKKworUGF0Y2ggNi4xLjE0OSAoZXh0cmEpCitQcm9ibGVtOiAgICBNUy1XaW5kb3dzOiBDYW4ndCB1c2UgZGlmZiBtb2RlIGZyb20gdGhlIGZpbGUgZXhwbG9yZXIuCitTb2x1dGlvbjogICBBZGQgYSAiZGlmZiB3aXRoIFZpbSIgY29udGV4dCBtZW51IGVudHJ5LiAoRGFuIFNoYXJwKQorRmlsZXM6CSAgICBHdmltRXh0L2d2aW1leHQuY3BwLCBHdmltRXh0L2d2aW1leHQuaAorCitQYXRjaCA2LjEuMTUwCitQcm9ibGVtOiAgICBPUy8yLCBNUy1XaW5kb3dzIGFuZCBNUy1ET1M6IFdoZW4gJ3NoZWxsc2xhc2gnIGlzIHNldCBnZXRjd2QoKQorCSAgICBzdGlsbCB1c2VzIGJhY2tzbGFzaC4gKFllZ2FwcGFuIExha3NobWFuYW4pCitTb2x1dGlvbjogICBBZGp1c3Qgc2xhc2hlcyBpbiBnZXRjd2QoKS4KK0ZpbGVzOgkgICAgc3JjL2V2YWwuYworCitQYXRjaCA2LjEuMTUxIChleHRyYSkKK1Byb2JsZW06ICAgIFdpbjMyOiBUaGUgTlRGUyBzdWJzdHJlYW0gaXNuJ3QgY29waWVkLgorU29sdXRpb246ICAgQ29weSB0aGUgc3Vic3RyZWFtIHdoZW4gbWFraW5nIGEgYmFja3VwIGNvcHkuIChNdXJhb2thIFRhcm8pCitGaWxlczoJICAgIHNyYy9maWxlaW8uYywgc3JjL29zX3dpbjMyLmMsIHNyYy9wcm90by9vc193aW4zMi5wcm8KKworUGF0Y2ggNi4xLjE1MgorUHJvYmxlbTogICAgV2hlbiAkTEFORyBpcyBpc284ODU5LTEgdHJhbnNsYXRlZCBtZW51cyBhcmUgbm90IHVzZWQuCitTb2x1dGlvbjogICBDaGFuZ2UgaXNvODg1OSB0byBpc29fODg1OS4KK0ZpbGVzOgkgICAgcnVudGltZS9tZW51LnZpbQorCitQYXRjaCA2LjEuMTUzCitQcm9ibGVtOiAgICBTZWFyY2hpbmcgaW4gaW5jbHVkZWQgZmlsZXMgbWF5IHNlYXJjaCByZWN1cnNpdmVseSB3aGVuIHRoZSBwYXRoCisJICAgIHN0YXJ0cyB3aXRoICIuLi8iLiAgKFN2ZW4gQmVya3ZlbnMtTWF0dGhpanNzZSkKK1NvbHV0aW9uOiAgIENvbXBhcmUgZnVsbCBmaWxlIG5hbWVzLCB1c2UgaW5vZGUvZGV2aWNlIHdoZW4gcG9zc2libGUuCitGaWxlczoJICAgIHNyYy9zZWFyY2guYworCitQYXRjaCA2LjEuMTU0IChleHRyYSkKK1Byb2JsZW06ICAgIERKR1BQOiAidmltIC1oIiBsZWF2ZXMgdGhlIGN1cnNvciBpbiBhIHdyb25nIHBvc2l0aW9uLgorU29sdXRpb246ICAgRG9uJ3QgcG9zaXRpb24gdGhlIGN1cnNvciB1c2luZyB1bmluaXRpYWxpemVkIHZhcmlhYmxlcy4gKEppbQorCSAgICBEdW5sZWF2eSkKK0ZpbGVzOgkgICAgc3JjL29zX21zZG9zLmMKKworUGF0Y2ggNi4xLjE1NQorUHJvYmxlbTogICAgV2luMzI6IEN1cnNvciBtYXkgc29tZXRpbWVzIGRpc2FwcGVhciBpbiBJbnNlcnQgbW9kZS4KK1NvbHV0aW9uOiAgIENoYW5nZSAiaG9yMTAiIGluICdndWljdXJzb3InIHRvICJob3IxNSIuIChXYWx0ZXIgQnJpc2NvZSkKK0ZpbGVzOgkgICAgc3JjL29wdGlvbi5jCisKK1BhdGNoIDYuMS4xNTYKK1Byb2JsZW06ICAgIENvbnZlcnNpb24gYmV0d2VlbiBEQkNTIGFuZCBVQ1MtMiBpc24ndCBpbXBsZW1lbnRlZCBjbGVhbmx5LgorU29sdXRpb246ICAgQ2xlYW4gdXAgYSBmZXcgdGhpbmdzLgorRmlsZXM6CSAgICBzcmMvbWJ5dGUuYywgc3JjL3N0cnVjdHMuaAorCitQYXRjaCA2LjEuMTU3CitQcm9ibGVtOiAgICAnaGxzZWFyY2gnIGhpZ2hsaWdodHMgb25seSB0aGUgc2Vjb25kIGNvbW1hIGluICIsLCwsLCIgd2l0aAorCSAgICAiLyxcQDw9W14sXSoiLiAoUHJlYmVuIEd1bGRiZXJnKQorU29sdXRpb246ICAgQWxzbyBjaGVjayBmb3IgYW4gZW1wdHkgbWF0Y2ggdG8gc3RhcnQganVzdCBhZnRlciBhIHByZXZpb3VzCisJICAgIG1hdGNoLgorRmlsZXM6CSAgICBzcmMvc2NyZWVuLmMKKworUGF0Y2ggNi4xLjE1OAorUHJvYmxlbTogICAgInpzIiBhbmQgInplIiBkb24ndCB3b3JrIGNvcnJlY3RseSB3aXRoICI6c2V0IG5vd3JhcCBzaXNvPTEiLgorCSAgICAoUHJlYmVuIEd1bGRiZXJnKQorU29sdXRpb246ICAgVGFrZSAnc2lzbycgaW50byBhY2NvdW50IHdoZW4gY29tcHV0aW5nIHRoZSBob3Jpem9udGFsIHNjcm9sbAorCSAgICBwb3NpdGlvbiBmb3IgInpzIiBhbmQgInplIi4KK0ZpbGVzOgkgICAgc3JjL25vcm1hbC5jCisKK1BhdGNoIDYuMS4xNTkKK1Byb2JsZW06ICAgIFdoZW4gZXhwYW5kaW5nIGFuIGFiYnJldmlhdGlvbiB0aGF0IGluY2x1ZGVzIGEgbXVsdGktYnl0ZQorCSAgICBjaGFyYWN0ZXIgdG9vIG1hbnkgY2hhcmFjdGVycyBhcmUgZGVsZXRlZC4gKEFuZHJleSBVcmF6b3YpCitTb2x1dGlvbjogICBEZWxldGUgdGhlIGFiYnJldmlhdGlvbiBjb3VudGluZyBjaGFyYWN0ZXJzIGluc3RlYWQgb2YgYnl0ZXMuCitGaWxlczoJICAgIHNyYy9nZXRjaGFyLmMKKworUGF0Y2ggNi4xLjE2MAorUHJvYmxlbTogICAgIjokcmVhZCBmaWxlLmd6IiBkb2Vzbid0IHdvcmsuIChQcmViZW4gR3VsZGJlcmcpCitTb2x1dGlvbjogICBEb24ndCB1c2UgdGhlICdbIG1hcmsgYWZ0ZXIgaXQgaGFzIGJlY29tZSBpbnZhbGlkLgorRmlsZXM6CSAgICBydW50aW1lL3BsdWdpbi9nemlwLnZpbQorCitQYXRjaCA2LjEuMTYxIChkZXBlbmRzIG9uIDYuMS4xNTgpCitQcm9ibGVtOiAgICBXYXJuaW5nIGZvciBzaWduZWQvdW5zaWduZWQgY29tcGFyZS4gIENhbiBzZXQgJ3Npc28nIHRvIGEgbmVnYXRpdmUKKwkgICAgdmFsdWUuIChNaWtlIFdpbGxpYW1zKQorU29sdXRpb246ICAgQWRkIGEgdHlwZWNhc3QuICBBZGQgYSBjaGVjayBmb3IgJ3Npc28nIGJlaW5nIG5lZ2F0aXZlLgorRmlsZXM6CSAgICBzcmMvbm9ybWFsLmMsIHNyYy9vcHRpb24uYworCitQYXRjaCA2LjEuMTYyCitQcm9ibGVtOiAgICBQeXRob24gaW50ZXJmYWNlOiBEaWRuJ3QgaW5pdGlhbGl6ZSB0aHJlYWRzIHByb3Blcmx5LgorU29sdXRpb246ICAgQ2FsbCBQeUV2YWxfSW5pdFRocmVhZHMoKSB3aGVuIHN0YXJ0aW5nIHVwLgorRmlsZXM6CSAgICBzcmMvaWZfcHl0aG9uLmMKKworUGF0Y2ggNi4xLjE2MworUHJvYmxlbTogICAgV2luMzI6IENhbid0IGNvbXBpbGUgd2l0aCBQeXRob24gYWZ0ZXIgNi4xLjE2Mi4KK1NvbHV0aW9uOiAgIER5bmFtaWNhbGx5IGxvYWQgIFB5RXZhbF9Jbml0VGhyZWFkcygpLiAoRGFuIFNoYXJwKQorRmlsZXM6CSAgICBzcmMvaWZfcHl0aG9uLmMKKworUGF0Y2ggNi4xLjE2NAorUHJvYmxlbTogICAgSWYgJ21vZGlmaWFibGUnIGlzIG9mZiwgY29udmVydGluZyB0byB4eGQgZmFpbHMgYW5kICdmaWxldHlwZScgaXMKKwkgICAgY2hhbmdlZCB0byAieHhkIiBhbnl3YXkuCitTb2x1dGlvbjogICBEb24ndCBjaGFuZ2UgJ2ZpbGV0eXBlJyB3aGVuIGNvbnZlcnNpb24gZmFpbGVkLgorRmlsZXM6CSAgICBydW50aW1lL21lbnUudmltCisKK1BhdGNoIDYuMS4xNjUKK1Byb2JsZW06ICAgIE1ha2luZyBjaGFuZ2VzIGluIHNldmVyYWwgbGluZXMgYW5kIHRoZW4gYSBjaGFuZ2UgaW4gb25lIG9mIHRoZXNlCisJICAgIGxpbmVzIHRoYXQgc3BsaXRzIGl0IGluIHR3byBvciBtb3JlIGxpbmVzLCB1bmRvIGluZm9ybWF0aW9uIHdhcworCSAgICBjb3JydXB0ZWQuICBNYXkgY2F1c2UgYSBjcmFzaC4gKERhdmUgRmlzaGJ1cm4pCitTb2x1dGlvbjogICBXaGVuIHNraXBwaW5nIHRvIHNhdmUgYSBsaW5lIGZvciB1bmRvIGJlY2F1c2UgaXQgd2FzIGFscmVhZHkKKwkgICAgc2F2ZWQsIG1vdmUgaXQgdG8gYmVjb21lIHRoZSBsYXN0IHNhdmVkIGxpbmUsIHNvIHRoYXQgd2hlbiB0aGUKKwkgICAgY29tbWFuZCBjaGFuZ2VzIHRoZSBsaW5lIGNvdW50IG90aGVyIHNhdmVkIGxpbmVzIGFyZSBub3QgaW52b2x2ZWQuCitGaWxlczoJICAgIHNyYy91bmRvLmMKKworUGF0Y2ggNi4xLjE2NgorUHJvYmxlbTogICAgV2hlbiAnYXV0b2luZGVudCcgaXMgc2V0IGFuZCBtc3dpbi52aW0gaGFzIGJlZW4gc291cmNlZCwgcGFzdGluZworCSAgICB3aXRoIENUUkwtViBqdXN0IGFmdGVyIGF1dG8taW5kZW50aW5nIHJlbW92ZXMgdGhlIGluZGVudC4gKFNobG9taQorCSAgICBGaXNoKQorU29sdXRpb246ICAgRmlyc3QgaW5zZXJ0IGFuICJ4IiBhbmQgZGVsZXRlIGl0IGFnYWluLCBzbyB0aGF0IHRoZSBhdXRvLWluZGVudAorCSAgICByZW1haW5zLgorRmlsZXM6CSAgICBydW50aW1lL21zd2luLnZpbQorCitQYXRjaCA2LjEuMTY3CitQcm9ibGVtOiAgICBXaGVuIGdpdmluZyBhIG5lZ2F0aXZlIGFyZ3VtZW50IHRvICI6cmV0YWIiIHN0cmFuZ2UgdGhpbmdzIHN0YXJ0CisJICAgIGhhcHBlbmluZy4gKEhhbnMgR2luemVsKQorU29sdXRpb246ICAgQ2hlY2sgZm9yIGEgbmVnYXRpdmUgdmFsdWUuCitGaWxlczoJICAgIHNyYy9leF9jbWRzLmMKKworUGF0Y2ggNi4xLjE2OAorUHJvYmxlbTogICAgUHJlc3NpbmcgQ1RSTC1DIGF0IHRoZSBoaXQtZW50ZXIgcHJvbXB0IGRvZXNuJ3QgZW5kIHRoZSBwcm9tcHQuCitTb2x1dGlvbjogICBNYWtlIENUUkwtQyBzdG9wIHRoZSBoaXQtZW50ZXIgcHJvbXB0LgorRmlsZXM6CSAgICBzcmMvbWVzc2FnZS5jCisKK1BhdGNoIDYuMS4xNjkKK1Byb2JsZW06ICAgIGJ1ZmV4aXN0cygpIGZpbmRzIGEgYnVmZmVyIGJ5IHVzaW5nIHRoZSBuYW1lIG9mIGEgc3ltYm9saWMgbGluayB0bworCSAgICBpdCwgYnV0IGJ1Zm5yKCkgZG9lc24ndC4gKFllZ2FwcGFuIExha3NobWFuYW4pCitTb2x1dGlvbjogICBXaGVuIGJ1Zm5yKCkgY2FuJ3QgZmluZCBhIGJ1ZmZlciwgdHJ5IHVzaW5nIHRoZSBzYW1lIG1ldGhvZCBhcworCSAgICBidWZleGlzdHMoKS4KK0ZpbGVzOgkgICAgc3JjL2V2YWwuYworCitQYXRjaCA2LjEuMTcwCitQcm9ibGVtOiAgICBVc2luZyAiOm1rc2Vzc2lvbiIgdXNlcyB0aGUgZGVmYXVsdCBzZXNzaW9uIGZpbGUgbmFtZSwgYnV0ICJ2aW0KKwkgICAgLVMiIGRvZXNuJ3QuIChIYW5zIEdpbnplbCkKK1NvbHV0aW9uOiAgIFVzZSB0aGUgZGVmYXVsdCBzZXNzaW9uIGZpbGUgbmFtZSBpZiAiLVMiIGlzIHRoZSBsYXN0IGNvbW1hbmQKKwkgICAgbGluZSBhcmd1bWVudCBvciBhbm90aGVyIG9wdGlvbiBmb2xsb3dzLgorRmlsZXM6CSAgICBydW50aW1lL2RvYy9zdGFydGluZy50eHQsIHNyYy9tYWluLmMKKworUGF0Y2ggNi4xLjE3MQorUHJvYmxlbTogICAgV2hlbiBvcGVuaW5nIGEgbGluZSBqdXN0IGFib3ZlIGEgY2xvc2VkIGZvbGQgd2l0aCAiTyIgYW5kIHRoZQorCSAgICBjb21tZW50IGxlYWRlciBpcyBhdXRvbWF0aWNhbGx5IGluc2VydGVkLCB0aGUgY3Vyc29yIGlzIGRpc3BsYXllZAorCSAgICBpbiB0aGUgZmlyc3QgY29sdW1uLiAoU3VuZy1IeXVuIE5hbSkKK1NvbHV0aW9uOiAgIFVwZGF0ZSB0aGUgZmxhZyB0aGF0IGluZGljYXRlcyB0aGUgY3Vyc29yIGlzIGluIGEgY2xvc2VkIGZvbGQuCitGaWxlczoJICAgIHNyYy9taXNjMS5jCisKK1BhdGNoIDYuMS4xNzIKK1Byb2JsZW06ICAgIENvbW1hbmQgbGluZSBjb21wbGV0aW9uIG9mICI6dGFnIC9wYXQiIGRvZXMgbm90IHNob3cgdGhlIHNhbWUKKwkgICAgcmVzdWx0cyBhcyB0aGUgdGFncyB0aGUgY29tbWFuZCBhY3R1YWxseSBmaW5kcy4gKEdpbGxlcyBSb3kpCitTb2x1dGlvbjogICBEb24ndCBtb2RpZnkgdGhlIHBhdHRlcm4gdG8gbWFrZSBpdCBhIHJlZ2V4cC4KK0ZpbGVzOgkgICAgc3JjL2V4X2dldGxuLmMsIHNyYy90YWcuYworCitQYXRjaCA2LjEuMTczCitQcm9ibGVtOiAgICBXaGVuIHVzaW5nIHJlbW90ZSBjb250cm9sIHRvIGVkaXQgYSBwb3NpdGlvbiBpbiBhIGZpbGUgYW5kIHRoaXMKKwkgICAgZmlsZSBpcyB0aGUgY3VycmVudCBidWZmZXIgYW5kIGl0J3MgbW9kaWZpZWQsIHRoZSB3aW5kb3cgaXMgc3BsaXQKKwkgICAgYW5kIHRoZSAiOmRyb3AiIGNvbW1hbmQgZmFpbHMuCitTb2x1dGlvbjogICBEb24ndCBzcGxpdCB0aGUgd2luZG93LCBrZWVwIGVkaXRpbmcgdGhlIHNhbWUgYnVmZmVyLgorCSAgICBVc2UgdGhlICI6ZHJvcCIgY29tbWFuZCBpbiBWaXNWaW0gdG8gYXZvaWQgdGhlIHByb2JsZW0gdGhlcmUuCitGaWxlczoJICAgIHNyYy9leF9jbWRzLmMsIHNyYy9leF9jbWRzMi5jLCBzcmMvcHJvdG8vZXhfY21kczIucHJvLAorCSAgICBWaXNWaW0vQ29tbWFuZHMuY3BwCisKK1BhdGNoIDYuMS4xNzQKK1Byb2JsZW06ICAgIEl0IGlzIGRpZmZpY3VsdCB0byBrbm93IGluIGEgc2NyaXB0IHdoZXRoZXIgYW4gb3B0aW9uIG5vdCBvbmx5CisJICAgIGV4aXN0cyBidXQgcmVhbGx5IHdvcmtzLgorU29sdXRpb246ICAgQWRkICJleGlzdHMoJytvcHRpb24nKSIuCitGaWxlczoJICAgIHJ1bnRpbWUvZG9jL2V2YWwudHh0LCBzcmMvZXZhbC5jCisKK1BhdGNoIDYuMS4xNzUKK1Byb2JsZW06ICAgIFdoZW4gcmVhZGluZyBjb21tYW5kcyBmcm9tIGEgcGlwZSBhbmQgYSBDVFJMLUMgaXMgcHJlc3NlZCwgVmltCisJICAgIHdpbGwgaGFuZy4gKFBpZXQgRGVscG9ydCkKK1NvbHV0aW9uOiAgIERvbid0IGtlZXAgcmVhZGluZyBjaGFyYWN0ZXJzIHRvIGNsZWFyIHR5cGVhaGVhZCB3aGVuIGFuIGludGVycnVwdAorCSAgICB3YXMgZGV0ZWN0ZWQsIHN0b3Agd2hlbiBhIHNpbmdsZSBDVFJMLUMgaXMgcmVhZC4KK0ZpbGVzOgkgICAgc3JjL2dldGNoYXIuYywgc3JjL3VpLmMKKworUGF0Y2ggNi4xLjE3NgorUHJvYmxlbTogICAgV2hlbiB0aGUgc3RhY2sgbGltaXQgaXMgdmVyeSBiaWcgYSBmYWxzZSBvdXQtb2Ytc3RhY2sgZXJyb3IgbWF5CisJICAgIGJlIGRldGVjdGVkLgorU29sdXRpb246ICAgQWRkIGEgY2hlY2sgZm9yIG92ZXJmbG93IG9mIHRoZSBzdGFjayBsaW1pdCBjb21wdXRhdGlvbi4gKEppbQorCSAgICBEdW5sZWF2eSkKK0ZpbGVzOgkgICAgc3JjL29zX3VuaXguYworCitQYXRjaCA2LjEuMTc3IChkZXBlbmRzIG9uIDYuMS4xNDEpCitQcm9ibGVtOiAgICAiOndpbmNtZCIgZG9lcyBub3QgYWxsb3cgYSBmb2xsb3dpbmcgY29tbWFuZC4gKEdhcnkgSm9obnNvbikKK1NvbHV0aW9uOiAgIENoZWNrIGZvciBhIGZvbGxvd2luZyAiIHwgY21kIi4gIEFsc28gZ2l2ZSBhbiBlcnJvciBmb3IgdHJhaWxpbmcKKwkgICAgY2hhcmFjdGVycy4KK0ZpbGVzOgkgICAgc3JjL2V4X2RvY21kLmMKKworUGF0Y2ggNi4xLjE3OAorUHJvYmxlbTogICAgV2hlbiAnZXhwYW5kdGFiJyBpcyBzZXQgInI8Qy1WPjxUYWI+IiBzdGlsbCBleHBhbmRzIHRoZSBUYWIuCisJICAgIChCcnVjZSBkZVZpc3NlcikKK1NvbHV0aW9uOiAgIFJlcGxhY2Ugd2l0aCBhIGxpdGVyYWwgVGFiLgorRmlsZXM6CSAgICBzcmMvbm9ybWFsLmMKKworUGF0Y2ggNi4xLjE3OSAoZGVwZW5kcyBvbiA2LjEuMDkxKQorUHJvYmxlbTogICAgV2hlbiB1c2luZyBYMTFSNSBYSU1QcmVzZXJ2ZVN0YXRlIGlzIHVuZGVmaW5lZC4gKEFsYmVydCBDaGluKQorU29sdXRpb246ICAgSW5jbHVkZSB0aGUgbWlzc2luZyBkZWZpbml0aW9ucy4KK0ZpbGVzOgkgICAgc3JjL21ieXRlLmMKKworUGF0Y2ggNi4xLjE4MAorUHJvYmxlbTogICAgVXNlIG9mIHRoZSBHVUkgY29kZSBmb3IgZm9ya2luZyBpcyBpbmNvbnNpc3RlbnQuCitTb2x1dGlvbjogICBEZWZpbmUgTUFZX0ZPUksgYW5kIHVzZSBpdCBmb3IgbGF0ZXIgI2lmZGVmcy4gKEJlbiBGb3dsd2VyKQorRmlsZXM6CSAgICBzcmMvZ3VpLmMKKworUGF0Y2ggNi4xLjE4MQorUHJvYmxlbTogICAgSWYgdGhlIHRlcm1pbmFsIGRvZXNuJ3Qgd3JhcCBmcm9tIHRoZSBsYXN0IGNoYXIgaW4gYSBsaW5lIHRvIHRoZQorCSAgICBuZXh0IGxpbmUsIHRoZSBsYXN0IGNvbHVtbiBpcyBibGFua2VkIG91dC4gKFBldGVyIEthcnApCitTb2x1dGlvbjogICBEb24ndCBvdXRwdXQgYSBzcGFjZSB0byBtYXJrIHRoZSB3cmFwLCBidXQgdGhlIHNhbWUgY2hhcmFjdGVyCisJICAgIGFnYWluLgorRmlsZXM6CSAgICBzcmMvc2NyZWVuLmMKKworUGF0Y2ggNi4xLjE4MiAoZGVwZW5kcyBvbiA2LjEuMTQyKQorUHJvYmxlbTogICAgSXQgaXMgbm90IHBvc3NpYmxlIHRvIGF1dG8tZm9ybWF0IGNvbW1lbnRzIG9ubHkuIChNb3NoZSBLYW1pbnNreSkKK1NvbHV0aW9uOiAgIFdoZW4gdGhlICdhJyBhbmQgJ2MnIGZsYWdzIGFyZSBpbiAnZm9ybWF0b3B0aW9ucycgb25seSBhdXRvLWZvcm1hdAorCSAgICBjb21tZW50cy4KK0ZpbGVzOgkgICAgcnVudGltZS9kb2MvY2hhbmdlLnR4dCwgc3JjL2VkaXQuYworCitQYXRjaCA2LjEuMTgzCitQcm9ibGVtOiAgICBXaGVuICdmZW5jcycgaXMgZW1wdHkgYW5kICdlbmMnIGlzIHV0Zi04LCByZWFkaW5nIGEgZmlsZSB3aXRoCisJICAgIGlsbGVnYWwgYnl0ZXMgZ2l2ZXMgIkNPTlZFUlNJT04gRVJST1IiIGV2ZW4gdGhvdWdoIG5vIGNvbnZlcnNpb24KKwkgICAgaXMgZG9uZS4gICdyZWFkb25seScgaXMgc2V0LCBldmVuIHRob3VnaCB3cml0aW5nIHRoZSBmaWxlIHJlc3VsdHMKKwkgICAgaW4gYW4gdW5tb2RpZmllZCBmaWxlLgorU29sdXRpb246ICAgRm9yIHRoaXMgc3BlY2lmaWMgZXJyb3IgdXNlICJJTExFR0FMIEJZVEUiIGFuZCBkb24ndCBzZXQKKwkgICAgJ3JlYWRvbmx5Jy4KK0ZpbGVzOgkgICAgc3JjL2ZpbGVpby5jCisKK1BhdGNoIDYuMS4xODQgKGV4dHJhKQorUHJvYmxlbTogICAgVGhlIGV4dHJhIG1vdXNlIGJ1dHRvbnMgZm91bmQgb24gc29tZSBtaWNlIGRvbid0IHdvcmsuCitTb2x1dGlvbjogICBTdXBwb3J0IHR3byBleHRyYSBidXR0b25zIGZvciBNUy1XaW5kb3dzLiAoTWljaGFlbCBHZWRkZXMpCitGaWxlczoJICAgIHJ1bnRpbWUvZG9jL3Rlcm0udHh0LCBzcmMvZWRpdC5jLCBzcmMvZXhfZ2V0bG4uYywgc3JjL2d1aS5jLAorCSAgICBzcmMvZ3VpX3czMi5jLCBzcmMvZ3VpX3c0OC5jLCBzcmMva2V5bWFwLmgsIHNyYy9tZXNzYWdlLmMsCisJICAgIHNyYy9taXNjMS5jLCBzcmMvbWlzYzIuYywgc3JjL25vcm1hbC5jLiBzcmMvdmltLmgKKworUGF0Y2ggNi4xLjE4NSAoZGVwZW5kcyBvbiA2LjEuMTgyKQorUHJvYmxlbTogICAgQ2FuJ3QgY29tcGlsZSB3aXRob3V0ICtjb21tZW50cyBmZWF0dXJlLgorU29sdXRpb246ICAgQWRkICNpZmRlZiBGRUFUX0NPTU1FTlRTLiAoQ2hyaXN0aWFuIEouIFJvYmluc29uKQorRmlsZXM6CSAgICBzcmMvZWRpdC5jCisKK1BhdGNoIDYuMS4xODYgKGRlcGVuZHMgb24gNi4xLjE3NykKK1Byb2JsZW06ICAgICI6d2luY21kIiBkb2VzIG5vdCBhbGxvdyBhIGZvbGxvd2luZyBjb21tZW50LiAoQXJpYyBCbHVtZXIpCitTb2x1dGlvbjogICBDaGVjayBmb3IgYSBmb2xsb3dpbmcgZG91YmxlIHF1b3RlLgorRmlsZXM6CSAgICBzcmMvZXhfZG9jbWQuYworCitQYXRjaCA2LjEuMTg3CitQcm9ibGVtOiAgICBVc2luZyAiOmRvYXJnIiB3aXRoICdoaWRkZW4nIHNldCBhbmQgdGhlIGN1cnJlbnQgZmlsZSBpcyB0aGUgb25seQorCSAgICBhcmd1bWVudCBhbmQgd2FzIG1vZGlmaWVkIGdpdmVzIGFuIGVycm9yIG1lc3NhZ2UuIChQcmViZW4KKwkgICAgR3VsZGJlcmcpCitTb2x1dGlvbjogICBEb24ndCB0cnkgcmUtZWRpdGluZyB0aGUgc2FtZSBmaWxlLgorRmlsZXM6CSAgICBzcmMvZXhfY21kczIuYworCitQYXRjaCA2LjEuMTg4IChkZXBlbmRzIG9uIDYuMS4xNzMpCitQcm9ibGVtOiAgICBVbnVzZWQgdmFyaWFibGUgaW4gdGhlIHNtYWxsIHZlcnNpb24uCitTb2x1dGlvbjogICBNb3ZlIHRoZSBkZWNsYXJhdGlvbiBmb3IgInAiIGluc2lkZSAjaWZkZWYgRkVBVF9MSVNUQ01EUy4KK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMyLmMKKworUGF0Y2ggNi4xLjE4OQorUHJvYmxlbTogICAgaW5wdXRkaWFsb2coKSBkb2Vzbid0IHdvcmsgd2hlbiAnYycgaXMgaW4gJ2d1aW9wdGlvbnMnLiAoQXJpYworCSAgICBCbHVtZXIpCitTb2x1dGlvbjogICBGYWxsIGJhY2sgdG8gdGhlIGlucHV0KCkgZnVuY3Rpb24gaW4gdGhpcyBzaXR1YXRpb24uCitGaWxlczoJICAgIHNyYy9ldmFsLmMKKworUGF0Y2ggNi4xLjE5MCAoZXh0cmEpCitQcm9ibGVtOiAgICBWTVM6IGRvZXNuJ3QgYnVpbGQgd2l0aCBHVEsgR1VJLiAgVmFyaW91cyBvdGhlciBwcm9ibGVtcy4KK1NvbHV0aW9uOiAgIEZpeCBidWlsZGluZyBmb3IgR1RLLiAgSW1wcm92ZWQgUGVybCwgUHl0aG9uIGFuZCBUQ0wgc3VwcG9ydC4KKwkgICAgSW1wcm92ZWQgVk1TIGRvY3VtZW50YXRpb24uIChab2x0YW4gQXJwYWRmZnkpCisJICAgIEFkZGVkIFZpbXR1dG9yIGZvciBWTVMgKFQuIFIuIFd5YW50KQorRmlsZXM6CSAgICBydW50aW1lL2RvYy9vc192bXMudHh0LCBzcmMvSU5TVEFMTHZtcy50eHQsIHNyYy9ndWlfZ3RrX2YuaCwKKwkgICAgc3JjL2lmX3RjbC5jLCBzcmMvbWFpbi5jLCBzcmMvZ3VpX2d0a192bXMuaCwgc3JjL01ha2Vfdm1zLm1tcywKKwkgICAgc3JjL29zX3Ztcy5vcHQsIHNyYy9wcm90by9pZl90Y2wucHJvLCB2aW10dXRvci5jb20sCisJICAgIHNyYy90ZXN0ZGlyL01ha2Vfdm1zLm1tcworCitQYXRjaCA2LjEuMTkxCitQcm9ibGVtOiAgICBXaGVuIHVzaW5nICJ2aW0gLXMgc2NyaXB0IiBhbmQgcmVkaXJlY3RpbmcgdGhlIG91dHB1dCwgdGhlIGRlbGF5CisJICAgIGZvciB0aGUgIk91dHB1dCBpcyBub3QgdG8gYSB0ZXJtaW5hbCIgd2FybmluZyBzbG93cyBWaW0gZG93biB0b28KKwkgICAgbXVjaC4KK1NvbHV0aW9uOiAgIERvbid0IGRlbGF5IHdoZW4gcmVhZGluZyBjb21tYW5kcyBmcm9tIGEgc2NyaXB0LgorRmlsZXM6CSAgICBzcmMvbWFpbi5jCisKK1BhdGNoIDYuMS4xOTIKK1Byb2JsZW06ICAgICI6ZGlmZnNwbGl0IiBkb2Vzbid0IGFkZCAiaG9yIiB0byAnc2Nyb2xsb3B0Jy4gKEdhcnkgSm9obnNvbikKK1NvbHV0aW9uOiAgIEFkZCAiaG9yIiB0byAnc2Nyb2xsb3B0JyBlYWNoIHRpbWUgIjpkaWZmc3BsaXQiIGlzIHVzZWQuCitGaWxlczoJICAgIHNyYy9kaWZmLmMsIHNyYy9tYWluLmMKKworUGF0Y2ggNi4xLjE5MworUHJvYmxlbTogICAgQ3Jhc2ggaW4gaW5faWRfbGlzdCgpIGZvciBhbiBpdGVtIHdpdGggYSAiY29udGFpbmVkaW4iIGxpc3QuIChEYXZlCisJICAgIEZpc2hidXJuKQorU29sdXRpb246ICAgQ2hlY2sgZm9yIGEgbmVnYXRpdmUgc3ludGF4IGlkLCB1c2VkIGZvciBrZXl3b3Jkcy4KK0ZpbGVzOgkgICAgc3JjL3N5bnRheC5jCisKK1BhdGNoIDYuMS4xOTQKK1Byb2JsZW06ICAgIFdoZW4gInRfdGkiIGlzIHNldCBidXQgaXQgZG9lc24ndCBjYXVzZSBzd2FwcGluZyB0ZXJtaW5hbCBwYWdlcywKKwkgICAgIlpaIiBtYXkgY2F1c2UgdGhlIHNoZWxsIHByb21wdCB0byBhcHBlYXIgb24gdG9wIG9mIHRoZSBmaWxlLXdyaXRlCisJICAgIG1lc3NhZ2UuCitTb2x1dGlvbjogICBTY3JvbGwgdGhlIHRleHQgdXAgaW4gdGhlIFZpbSBwYWdlIGJlZm9yZSBzd2FwcGluZyB0byB0aGUgdGVybWluYWwKKwkgICAgcGFnZS4gKE1pY2hhZWwgU2Nocm9lZGVyKQorRmlsZXM6CSAgICBzcmMvb3NfdW5peC5jCisKK1BhdGNoIDYuMS4xOTUKK1Byb2JsZW06ICAgIFRoZSBxdWlja2ZpeCBhbmQgcHJldmlldyB3aW5kb3dzIGFsd2F5cyBrZWVwIHRoZWlyIGhlaWdodCwgd2hpbGUKKwkgICAgb3RoZXIgd2luZG93cyBjYW4ndCBmaXggdGhlaXIgaGVpZ2h0LgorU29sdXRpb246ICAgQWRkIHRoZSAnd2luZml4aGVpZ2h0JyBvcHRpb24sIHNvIHRoYXQgYSBmaXhlZCBoZWlnaHQgY2FuIGJlCisJICAgIHNwZWNpZmllZCBmb3IgYW55IHdpbmRvdy4gIEFsc28gZml4IHRoYXQgdGhlIHdpbGRtZW51IG1heSByZXNpemUgYQorCSAgICBvbmUtbGluZSB3aW5kb3cgdG8gYSB0d28tbGluZSB3aW5kb3cgaWYgJ2xzJyBpcyB6ZXJvLgorRmlsZXM6CSAgICBydW50aW1lL2RvYy9vcHRpb25zLnR4dCwgcnVudGltZS9vcHR3aW4udmltLCBzcmMvZXhfY21kcy5jLAorCSAgICBzcmMvZXhfZ2V0bG4uYywgc3JjL2dsb2JhbHMuaCwgc3JjL29wdGlvbi5jLCBzcmMvcXVpY2tmaXguYywKKwkgICAgc3JjL3NjcmVlbi5jLCBzcmMvc3RydWN0cy5oLCBzcmMvd2luZG93LmMKKworUGF0Y2ggNi4xLjE5NiAgKGRlcGVuZHMgb24gNi4xLjA4NCkKK1Byb2JsZW06ICAgIE9uIE1hYyBPUyBYIDEwLjIgZ2VuZXJhdGluZyBvc2RlZi5oIGZhaWxzLgorU29sdXRpb246ICAgQWRkIC1uby1jcHAtcHJlY29tcCB0byBhdm9pZCB1c2luZyBwcmVjb21waWxlZCBoZWFkZXIgZmlsZXMsIHdoaWNoCisJICAgIGRpc2FibGVzIHByaW50aW5nIHRoZSBzZWFyY2ggcGF0aC4gKEJlbiBGb3dsZXIpCitGaWxlczoJICAgIHNyYy9hdXRvL2NvbmZpZ3VyZSwgc3JjL2NvbmZpZ3VyZS5pbgorCitQYXRjaCA2LjEuMTk3CitQcm9ibGVtOiAgICAiOmhlbHAgPEMtVj48Qy1cPjxDLVY+PEMtTj4iIChyZXN1bHRpbmcgaW4gPDFjPjwwZT4pIGdpdmVzIGFuCisJICAgIGVycm9yIG1lc3NhZ2UuIChTZXJ2YXRpdXMgQnJhbmR0KQorU29sdXRpb246ICAgRG91YmxlIHRoZSBiYWNrc2xhc2ggaW4gIkNUUkwtXCIuCitGaWxlczoJICAgIHNyYy9leF9jbWRzLmMKKworUGF0Y2ggNi4xLjE5OCAoZXh0cmEpIChkZXBlbmRzIG9uIDYuMS4wNzYpCitQcm9ibGVtOiAgICBNYWMgT1MgWDogRGlhbG9ndWVzIGRvbid0IHdvcmsuCitTb2x1dGlvbjogICBGaXggYSBjcmFzaGluZyBwcm9ibGVtIGZvciBzb21lIEdVSSBkaWFsb2d1ZXMuICBGaXggYSBwcm9ibGVtIHdoZW4KKwkgICAgc2F2aW5nIHRvIGEgbmV3IGZpbGUgZnJvbSB0aGUgR1VJLiAoUGV0ZXIgQ3Vja2EpCitGaWxlczoJICAgIHNyYy9mZWF0dXJlLmgsIHNyYy9ndWlfbWFjLmMKKworUGF0Y2ggNi4xLjE5OQorUHJvYmxlbTogICAgJ2d1aWZvbnR3aWRlJyBkb2Vzbid0IHdvcmsgb24gV2luMzIuCitTb2x1dGlvbjogICBPdXRwdXQgZWFjaCB3aWRlIGNoYXJhY3RlciBzZXBhcmF0ZWx5LiAoTWljaGFlbCBHZWRkZXMpCitGaWxlczoJICAgIHNyYy9ndWkuYworCitQYXRjaCA2LjEuMjAwCitQcm9ibGVtOiAgICAiOnN5biBzeW5jIGZyb21zdGFydCIgaXMgbm90IHNraXBwZWQgYWZ0ZXIgIjppZiAwIi4gIFRoaXMgY2FuIG1ha2UKKwkgICAgc3ludGF4IGhpZ2hsaWdodGluZyB2ZXJ5IHNsb3cuCitTb2x1dGlvbjogICBDaGVjayAiZWFwLT5za2lwIiBhcHByb3ByaWF0ZWx5LiAoUm9iIFdlc3QpCitGaWxlczoJICAgIHNyYy9zeW50YXguYworCitQYXRjaCA2LjEuMjAxIChkZXBlbmRzIG9uIDYuMS4xOTIpCitQcm9ibGVtOiAgICBXYXJuaW5nIGZvciBpbGxlZ2FsIHBvaW50ZXIgY29tYmluYXRpb24uIChab2x0YW4gQXJwYWRmZnkpCitTb2x1dGlvbjogICBBZGQgYSB0eXBlY2FzdC4KK0ZpbGVzOgkgICAgc3JjL2RpZmYuYworCitQYXRjaCA2LjEuMjAyICAoZXh0cmEpKGRlcGVuZHMgb24gNi4xLjE0OCkKK1Byb2JsZW06ICAgIFdpbjMyOiBmaWxld3JpdGFibGUoKSBkb2Vzbid0IHdvcmsgcHJvcGVybHkgb24gZGlyZWN0b3JpZXMuCitTb2x1dGlvbjogICBmaXggZmlsZXdyaXRhYmxlKCkuIChNaWtlIFdpbGxpYW1zKQorRmlsZXM6CSAgICBzcmMvb3Nfd2luMzIuYworCitQYXRjaCA2LjEuMjAzCitQcm9ibGVtOiAgICAiOiVzL34vLyIgY2F1c2VzIGEgY3Jhc2ggYWZ0ZXIgIjolcy94Ly8iLiAoR2FyeSBIb2xsb3dheSkKK1NvbHV0aW9uOiAgIEF2b2lkIHJlYWRpbmcgcGFzdCB0aGUgZW5kIG9mIGEgbGluZSB3aGVuICJ+IiBpcyBlbXB0eS4KK0ZpbGVzOgkgICAgc3JjL3JlZ2V4cC5jCisKK1BhdGNoIDYuMS4yMDQgKGRlcGVuZHMgb24gNi4xLjEyOSkKK1Byb2JsZW06ICAgIFdhcm5pbmcgZm9yIGFuIGlsbGVnYWwgcG9pbnRlciBvbiBTb2xhcmlzLgorU29sdXRpb246ICAgQWRkIGEgdHlwZWNhc3QuIChEZXJlayBXeWF0dCkKK0ZpbGVzOgkgICAgc3JjL21pc2MyLmMKKworUGF0Y2ggNi4xLjIwNQorUHJvYmxlbTogICAgVGhlIGd6aXAgcGx1Z2luIGNoYW5nZXMgdGhlIGFsdGVybmF0ZSBmaWxlIHdoZW4gZWRpdGluZyBhCisJICAgIGNvbXByZXNzZWQgZmlsZS4gKE9saXZlciBGdWNocykKK1NvbHV0aW9uOiAgIFRlbXBvcmFyaWx5IHJlbW92ZSB0aGUgJ2EnIGFuZCAnQScgZmxhZ3MgZnJvbSAnY3BvJy4KK0ZpbGVzOgkgICAgcnVudGltZS9wbHVnaW4vZ3ppcC52aW0KKworUGF0Y2ggNi4xLjIwNgorUHJvYmxlbTogICAgVGhlIHNjcmlwdCBnZW5lcmF0ZWQgd2l0aCAiOm1rc2Vzc2lvbiIgZG9lc24ndCB3b3JrIHByb3Blcmx5IHdoZW4KKwkgICAgc29tZSBjb21tYW5kcyBhcmUgbWFwcGVkLgorU29sdXRpb246ICAgVXNlICI6bm9ybWFsISIgaW5zdGVhZCBvZiAiOm5vcm1hbCIuICBBbmQgdXNlICI6d2luY21kIiB3aGVyZQorCSAgICBwb3NzaWJsZS4gKE11cmFva2EgVGFybykKK0ZpbGVzOgkgICAgc3JjL2V4X2RvY21kLmMsIHNyYy9mb2xkLmMKKworUGF0Y2ggNi4xLjIwNworUHJvYmxlbTogICAgSW5kZW50aW5nIGEgSmF2YSBmaWxlIGhhbmdzIGJlbG93IGEgbGluZSB3aXRoIGEgY29tbWVudCBhZnRlciBhCisJICAgIGNvbW1hbmQuCitTb2x1dGlvbjogICBCcmVhayBvdXQgb2YgYSBsb29wLiAoQW5kcmUgUGFuZykKKwkgICAgQWxzbyBsaW5lIHVwIH0gd2l0aCBtYXRjaGluZyB7LgorRmlsZXM6CSAgICBydW50aW1lL2luZGVudC9qYXZhLnZpbQorCitQYXRjaCA2LjEuMjA4CitQcm9ibGVtOiAgICBDYW4ndCB1c2UgdGhlIGJ1ZmZlciBudW1iZXIgZnJvbSB0aGUgUHl0aG9uIGludGVyZmFjZS4KK1NvbHV0aW9uOiAgIEFkZCBidWZmZXIubnVtYmVyLiAoTWljaGFsIFZpdGVjZWspCitGaWxlczoJICAgIHNyYy9pZl9weXRob24uYworCitQYXRjaCA2LjEuMjA5CitQcm9ibGVtOiAgICBQcmludGluZyBkb2Vzbid0IHdvcmsgb24gTWFjIE9TIGNsYXNzaWMuCitTb2x1dGlvbjogICBVc2UgYSAiOiIgZm9yIHBhdGggc2VwYXJhdG9yIHdoZW4gb3BlbmluZyB0aGUgcmVzb3VyY2UgZmlsZS4gKEF4ZWwKKwkgICAgS2llbGhvcm4pCitGaWxlczoJICAgIHNyYy9leF9jbWRzMi5jCisKK1BhdGNoIDYuMS4yMTAKK1Byb2JsZW06ICAgIFdoZW4gdGhlcmUgaXMgYW4gaWNvbnYoKSBjb252ZXJzaW9uIGVycm9yIHdoZW4gcmVhZGluZyBhIGZpbGUKKwkgICAgdGhlcmUgY2FuIGJlIGFuIGVycm9yIHRoZSBuZXh0IHRpbWUgaWNvbnYoKSBpcyB1c2VkLgorU29sdXRpb246ICAgUmVzZXQgdGhlIHN0YXRlIG9mIHRoZSBpY29udigpIGRlc2NyaXB0b3IuIChZYXN1aGlybyBNYXRzdW1vdG8pCitGaWxlczoJICAgIHNyYy9maWxlaW8uYworCitQYXRjaCA2LjEuMjExCitQcm9ibGVtOiAgICBUaGUgbWVzc2FnZSAidXNlICEgdG8gb3ZlcnJpZGUiIGlzIGNvbmZ1c2luZy4KK1NvbHV0aW9uOiAgIE1ha2UgaXQgImFkZCAhIHRvIG92ZXJyaWRlIi4KK0ZpbGVzOgkgICAgc3JjL2J1ZmZlci5jLCBzcmMvZXZhbC5jLCBzcmMvZXhfZG9jbWQuYywgc3JjL2ZpbGVpby5jLAorCSAgICBzcmMvZ2xvYmFscy5oCisKK1BhdGNoIDYuMS4yMTIKK1Byb2JsZW06ICAgIFdoZW4gVmltIHdhcyBzdGFydGVkIHdpdGggIi1SIiAiOm5ldyIgY3JlYXRlcyBhIGJ1ZmZlcgorCSAgICAnbm9yZWFkb25seScgd2hpbGUgIjplbmV3IiBoYXMgJ3JlYWRvbmx5JyBzZXQuIChQcmViZW4gR3VsZGJlcmcpCitTb2x1dGlvbjogICBEb24ndCBzZXQgJ3JlYWRvbmx5IGluIGEgbmV3IGVtcHR5IGJ1ZmZlciBmb3IgIjplbmV3Ii4KK0ZpbGVzOgkgICAgc3JjL2V4X2RvY21kLmMKKworUGF0Y2ggNi4xLjIxMworUHJvYmxlbTogICAgVXNpbmcgQ1RSTC1XIEggbWF5IGNhdXNlIGEgYmlnIGdhcCB0byBhcHBlYXIgYmVsb3cgdGhlIGxhc3QKKwkgICAgd2luZG93LiAoQXJpYyBCbHVtZXIpCitTb2x1dGlvbjogICBEb24ndCBzZXQgdGhlIHdpbmRvdyBoZWlnaHQgd2hlbiB0aGVyZSBpcyBhIHZlcnRpY2FsIHNwbGl0LgorCSAgICAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorRmlsZXM6CSAgICBzcmMvd2luZG93LmMKKworUGF0Y2ggNi4xLjIxNAorUHJvYmxlbTogICAgV2hlbiBpbnN0YWxsaW5nIFZpbSBhbmQgdGhlIHJ1bnRpbWUgZmlsZXMgd2VyZSBjaGVja2VkIG91dCBmcm9tCisJICAgIENWUyB0aGUgQ1ZTIGRpcmVjdG9yaWVzIHdpbGwgYWxzbyBiZSBpbnN0YWxsZWQuCitTb2x1dGlvbjogICBBdm9pZCBpbnN0YWxsaW5nIHRoZSBDVlMgZGlycyBhbmQgdGhlaXIgY29udGVudHMuCitGaWxlczoJICAgIHNyYy9NYWtlZmlsZQorCitQYXRjaCA2LjEuMjE1CitQcm9ibGVtOiAgICBXaW4zMjogIjpwd2QiIHVzZXMgYmFja3NsYXNoZXMgZXZlbiB3aGVuICdzaGVsbHNsYXNoJyBpcyBzZXQuCisJICAgIChYaWFuZ2ppYW5nIE1hKQorU29sdXRpb246ICAgQWRqdXN0IGJhY2tzbGFzaGVzIGJlZm9yZSBwcmludGluZyB0aGUgbWVzc2FnZS4KK0ZpbGVzOgkgICAgc3JjL2V4X2RvY21kLmMKKworUGF0Y2ggNi4xLjIxNgorUHJvYmxlbTogICAgV2hlbiBkeW5hbWljYWxseSBsb2FkaW5nIHRoZSBpY29udiBsaWJyYXJ5LCB0aGUgZXJyb3IgY29kZXMgbWF5IGJlCisJICAgIGNvbmZ1c2VkLgorU29sdXRpb246ICAgVXNlIHNwZWNpZmljIGVycm9yIGNvZGVzIGZvciBpY29udiBhbmQgcmVkZWZpbmUgdGhlbSBmb3IgZHluYW1pYworCSAgICBsb2FkaW5nLiAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorRmlsZXM6CSAgICBzcmMvZmlsZWlvLmMsIHNyYy9tYnl0ZS5jLCBzcmMvdmltLmgKKworUGF0Y2ggNi4xLjIxNworUHJvYmxlbTogICAgV2hlbiBzb3VyY2luZyB0aGUgc2FtZSBWaW0gc2NyaXB0IHVzaW5nIGEgZGlmZmVyZW50IG5hbWUgKHN5bWJvbGljCisJICAgIGxpbmsgb3IgTVMtV2luZG93cyA4LjMgbmFtZSkgaXQgaXMgbGlzdGVkIHR3aWNlIHdpdGgKKwkgICAgIjpzY3JpcHRuYW1lcyIuICAoVG9ueSBNZWNoZWx5bmNrKQorU29sdXRpb246ICAgVHVybiB0aGUgc2NyaXB0IG5hbWUgaW50byBhIGZ1bGwgcGF0aCBiZWZvcmUgdXNpbmcgaXQuICBPbiBVbml4CisJICAgIGNvbXBhcmUgaW5vZGUvZGV2aWNlIG51bWJlcnMuCitGaWxlczoJICAgIHNyYy9leF9jbWRzMi5jCisKK1BhdGNoIDYuMS4yMTgKK1Byb2JsZW06ICAgIE5vIGVycm9yIG1lc3NhZ2UgZm9yIHVzaW5nIHRoZSBmdW5jdGlvbiBhcmd1bWVudCAiNSsiLiAgKFNlcnZhdGl1cworCSAgICBCcmFuZHQpCitTb2x1dGlvbjogICBHaXZlIGFuIGVycm9yIG1lc3NhZ2UgaWYgYSBmdW5jdGlvbiBvciB2YXJpYWJsZSBpcyBleHBlY3RlZCBidXQgaXMKKwkgICAgbm90IGZvdW5kLgorRmlsZXM6CSAgICBzcmMvZXZhbC5jCisKK1BhdGNoIDYuMS4yMTkKK1Byb2JsZW06ICAgIFdoZW4gdXNpbmcgIjphbWVudSA6YiAxPENSPiIgd2l0aCBhIFZpc3VhbCBzZWxlY3Rpb24gYW5kCisJICAgICdpbnNlcnRtb2RlJyBpcyBzZXQsIFZpbSBkb2VzIG5vdCByZXR1cm4gdG8gSW5zZXJ0IG1vZGUuIChNaWNrYWVsCisJICAgIE1hcmNoYW5kKQorU29sdXRpb246ICAgQWRkIHRoZSBjb21tYW5kIENUUkwtXCBDVFJMLUcgdGhhdCBnb2VzIHRvIEluc2VydCBtb2RlIGlmCisJICAgICdpbnNlcnRtb2RlJyBpcyBzZXQgYW5kIHRvIE5vcm1hbCBtb2RlIG90aGVyd2lzZS4gIEFwcGVuZCB0aGlzIHRvCisJICAgIG1lbnVzIGRlZmluZWQgd2l0aCAiOmFtZW51Ii4KK0ZpbGVzOgkgICAgc3JjL2VkaXQuYywgc3JjL2V4X2dldGxuLmMsIHNyYy9ub3JtYWwuYworCitQYXRjaCA2LjEuMjIwCitQcm9ibGVtOiAgICBXaGVuIHVzaW5nIGEgQnVmUmVhZFBvc3QgYXV0b2NvbW1hbmQgdGhhdCBjaGFuZ2VzIHRoZSBsaW5lIGNvdW50LAorCSAgICBlLmcuLCAiJC0xam9pbiIsIHJlbG9hZGluZyBhIGZpbGUgdGhhdCB3YXMgY2hhbmdlZCBvdXRzaWRlIFZpbQorCSAgICBkb2VzIG5vdCB3b3JrIHByb3Blcmx5LiAoQWxhbiBHIElzYWFjKQorU29sdXRpb246ICAgTWFrZSB0aGUgYnVmZmVyIGVtcHR5IGJlZm9yZSByZWFkaW5nIHRoZSBuZXcgdmVyc2lvbiBvZiB0aGUgZmlsZS4KKwkgICAgU2F2ZSB0aGUgbGluZXMgaW4gYSBkdW1teSBidWZmZXIsIHNvIHRoYXQgdGhleSBjYW4gYmUgcHV0IGJhY2sKKwkgICAgd2hlbiByZWFkaW5nIHRoZSBmaWxlIGZhaWxzLgorRmlsZXM6CSAgICBzcmMvYnVmZmVyLmMsIHNyYy9leF9jbWRzLmMsIHNyYy9maWxlaW8uYywgc3JjL2dsb2JhbHMuaCwKKwkgICAgc3JjL3Byb3RvL2J1ZmZlci5wcm8KKworUGF0Y2ggNi4xLjIyMQorUHJvYmxlbTogICAgQ2hhbmdpbmcgY2FzZSBtYXkgbm90IHdvcmsgcHJvcGVybHksIGRlcGVuZGluZyBvbiB0aGUgY3VycmVudAorCSAgICBsb2NhbGUuCitTb2x1dGlvbjogICBBZGQgdGhlICdjYXNlbWFwJyBvcHRpb24gdG8gbGV0IHRoZSB1c2VyIGNob3NlIGhvdyBjaGFuZ2luZyBjYXNlCisJICAgIGlzIHRvIGJlIGRvbmUuCisJICAgIEFsc28gZml4IGxvd2VyaW5nIGNhc2Ugd2hlbiBhbiBVVEYtOCBjaGFyYWN0ZXIgZG9lc24ndCBrZWVwIHRoZQorCSAgICBzYW1lIGJ5dGUgbGVuZ3RoLgorRmlsZXM6CSAgICBydW50aW1lL2RvYy9vcHRpb25zLnR4dCwgc3JjL2FzY2lpLmgsIHNyYy9hdXRvL2NvbmZpZ3VyZSwKKwkgICAgc3JjL2J1ZmZlci5jLCBzcmMvY2hhcnNldC5jLCBzcmMvY29uZmlnLmguaW4sIHNyYy9jb25maWd1cmUuaW4sCisJICAgIHNyYy9kaWZmLmMsIHNyYy9lZGl0LmMsIHNyYy9ldmFsLmMsIHNyYy9leF9jbWRzMi5jLAorCSAgICBzcmMvZXhfZG9jbWQuYywgc3JjL2V4X2dldGxuLmMsIHNyYy9maWxlaW8uYywgc3JjL2d1aV9hbWlnYS5jCisJICAgIHNyYy9ndWlfbWFjLmMsIHNyYy9ndWlfcGhvdG9uLmMsIHNyYy9ndWlfdzQ4LmMsIHNyYy9ndWlfYmVvcy5jYywKKwkgICAgc3JjL21hY3Jvcy5oLCBzcmMvbWFpbi5jLCBzcmMvbWJ5dGUuYywgc3JjL21lbnUuYywgc3JjL21lc3NhZ2UuYywKKwkgICAgc3JjL21pc2MxLmMsIHNyYy9taXNjMi5jLCBzcmMvb3B0aW9uLmMsIHNyYy9vc19tc2Rvcy5jLAorCSAgICBzcmMvb3NfbXN3aW4uYywgc3JjL3Byb3RvL2NoYXJzZXQucHJvLCBzcmMvcmVnZXhwLmMsIHNyYy9vcHRpb24uaCwKKwkgICAgc3JjL3N5bnRheC5jCisKK1BhdGNoIDYuMS4yMjIgKGRlcGVuZHMgb24gNi4xLjIxOSkKK1Byb2JsZW06ICAgIFBhdGNoIDYuMS4yMTkgd2FzIGluY29tcGxldGUuCitTb2x1dGlvbjogICBBZGQgdGhlIGNoYW5nZXMgZm9yICI6YW1lbnUiLgorRmlsZXM6CSAgICBzcmMvbWVudS5jCisKK1BhdGNoIDYuMS4yMjMgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6IFdoZW4gSU1FIGlzIGFjdGl2YXRlZCAnaW1pbnNlcnQnIGlzIHNldCwgYnV0IGl0IG1pZ2h0IG5ldmVyCisJICAgIGJlIHJlc2V0IHdoZW4gSU1FIGlzIGRpc2FibGVkLiAoTXVyYW9rYSBUYXJvKQorCSAgICBBbGwgc3lzdGVtczogJ2ltaW5zZXJ0JyBpcyBzZXQgdG8gMiB3aGVuIGxlYXZpbmcgSW5zZXJ0IG1vZGUsIGV2ZW4KKwkgICAgd2hlbiBsYW5nbWFwIGlzIGJlaW5nIHVzZWQuIChQZXRlciBWYWxhY2gpCitTb2x1dGlvbjogICBEb24ndCBzZXQgImJfcF9pbWluc2VydCIgaW4gX09uSW1lTm90aWZ5KCkuIChNdXJhb2thIFRhcm8pCisJICAgIERvbid0IHN0b3JlIHRoZSBzdGF0dXMgb2YgdGhlIGlucHV0IG1ldGhvZCBpbiAnaW1pbnNlcnQnIHdoZW4KKwkgICAgJ2ltaW5zZXJ0JyBpcyBvbmUuICBBbHNvIGZvciBlZGl0aW5nIHRoZSBjb21tYW5kIGxpbmUgYW5kIGZvcgorCSAgICBhcmd1bWVudHMgdG8gTm9ybWFsIG1vZGUgY29tbWFuZHMuCitGaWxlczoJICAgIHNyYy9lZGl0LmMsIHNyYy9leF9nZXRsbi5jLCBzcmMvZ3VpX3czMi5jLCBzcmMvbm9ybWFsLmMKKworUGF0Y2ggNi4xLjIyNAorUHJvYmxlbTogICAgImV4cGFuZCgnJFZBUicpIiByZXR1cm5zIGFuIGVtcHR5IHN0cmluZyB3aGVuIHRoZSBleHBhbmRlZCAkVkFSCisJICAgIGlzIG5vdCBhbiBleGlzdGluZyBmaWxlLiAoQXJpYyBCbHVtZXIpCitTb2x1dGlvbjogICBJbmNsdWRlZCBub24tZXhpc3RpbmcgZmlsZXMsIGFzIGRvY3VtZW50ZWQuCitGaWxlczoJICAgIHNyYy9ldmFsLmMKKworUGF0Y2ggNi4xLjIyNQorUHJvYmxlbTogICAgVXNpbmcgPEMtTz48Qy1ePiBpbiBJbnNlcnQgbW9kZSBoYXMgYSBkZWxheSB3aGVuIHN0YXJ0aW5nICJ2aW0gLXUKKwkgICAgTk9ORSIgYW5kICI6c2V0IG5vY3AgaGlkZGVuIi4gKEVtbWFudWVsKSAgZG9fZWNtZCgpIHVzZXMKKwkgICAgZmlsZWluZm8oKSwgdGhlIHJlZHJhdyBpcyBkb25lIGFmdGVyIGEgZGVsYXkgdG8gZ2l2ZSB0aGUgdXNlciB0aW1lCisJICAgIHRvIHJlYWQgdGhlIG1lc3NhZ2UuCitTb2x1dGlvbjogICBQdXQgdGhlIG1lc3NhZ2UgZnJvbSBmaWxlaW8oKSBpbiAia2VlcF9tc2ciLCBzbyB0aGF0IHRoZSByZWRyYXcgaXMKKwkgICAgZG9uZSBiZWZvcmUgdGhlIGRlbGF5IChzdGlsbCBuZWVkZWQgdG8gYXZvaWQgdGhlIG1vZGUgbWVzc2FnZQorCSAgICBvdmVyd3JpdGVzIHRoZSBmaWxlaW5mbygpIG1lc3NhZ2UpLgorRmlsZXM6CSAgICBzcmMvYnVmZmVyLmMKKworUGF0Y2ggNi4xLjIyNgorUHJvYmxlbTogICAgVXNpbmcgIjpkZWJ1ZyIgd2l0aCBhICI6bm9ybWFsIiBjb21tYW5kIG1heSBjYXVzZSBhIGhhbmcuICAoQ29saW4KKwkgICAgS2VpdGgpCitTb2x1dGlvbjogICBTYXZlIHRoZSB0eXBlYWhlYWQgYnVmZmVyIHdoZW4gb2J0YWluaW5nIGEgZGVidWcgY29tbWFuZC4KK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMyLmMsIHNyYy9nZXRjaGFyLmMsIHNyYy9wcm90by9nZXRjaGFyLnBybworCitQYXRjaCA2LjEuMjI3CitQcm9ibGVtOiAgICBJdCBpcyBwb3NzaWJsZSB0byB1c2UgYSB2YXJpYWJsZSBuYW1lICJhc2RmOmFzZGYiIGFuZCAiOmxldCBqOmFzZGYKKwkgICAgPSA1IiBkb2VzIG5vdCBnaXZlIGFuIGVycm9yIG1lc3NhZ2UuIChNaWtvbGFqIE1hY2hvd3NraSkKK1NvbHV0aW9uOiAgIENoZWNrIGZvciBhICI6IiBpbnNpZGUgdGhlIHZhcmlhYmxlIG5hbWUuCitGaWxlczoJICAgIHNyYy9ldmFsLmMKKworUGF0Y2ggNi4xLjIyOCAoZXh0cmEpCitQcm9ibGVtOiAgICBXaW4zMjogVGhlIHNwZWNpYWwgb3V0cHV0IGZ1bmN0aW9uIGZvciBIYW5ndWwgaXMgdXNlZCB0b28gb2Z0ZW4sCisJICAgIGNhdXNpbmcgc3BlY2lhbCBoYW5kbGluZyBmb3Igb3RoZXIgc2l0dWF0aW9ucyB0byBiZSBza2lwcGVkLgorCSAgICBiSW5Db21wb3NpdGlvbiBpcyBhbHdheXMgRkFMU0UsIGNhdXNpbmcgSW1lR2V0VGVtcENvbXBvc2l0aW9uKCkKKwkgICAgYWx3YXlzIHRvIHJldHVybiBOVUxMLgorU29sdXRpb246ICAgUmVtb3ZlIEhhbkV4dFRleHRPdXQoKS4gIERlbGV0ZSB0aGUgZGVhZCBjb2RlIGFyb3VuZAorCSAgICBiSW5Db21wb3NpdGlvbiBhbmQgSW1lR2V0VGVtcENvbXBvc2l0aW9uKCkuCitGaWxlczoJICAgIHNyYy9ndWlfdzE2LmMsIHNyYy9ndWlfdzMyLmMsIHNyYy9ndWlfdzQ4LmMKKworUGF0Y2ggNi4xLjIyOQorUHJvYmxlbTogICAgV2luMzI6IENvbnZlcnNpb24gdG8vZnJvbSBvZnRlbiB1c2VkIGNvZGVwYWdlcyByZXF1aXJlcyB0aGUgaWNvbnYKKwkgICAgbGlicmFyeSwgd2hpY2ggaXMgbm90IGFsd2F5cyBhdmFpbGFibGUuCitTb2x1dGlvbjogICBVc2Ugc3RhbmRhcmQgTVMtV2luZG93cyBmdW5jdGlvbnMgZm9yIHRoZSBjb252ZXJzaW9uIHdoZW4KKwkgICAgcG9zc2libGUuIChtb3N0bHkgYnkgR2xlbm4gTWF5bmFyZCkKKwkgICAgQWxzbyBmaXhlcyBtaXNzaW5nIGRlY2xhcmF0aW9uIGZvciBwYXRjaCA2LjEuMjIwLgorRmlsZXM6CSAgICBzcmMvZmlsZWlvLmMKKworUGF0Y2ggNi4xLjIzMCAoZXh0cmEpCitQcm9ibGVtOiAgICBXaW4xNjogYnVpbGRpbmcgZG9lc24ndCB3b3JrLgorU29sdXRpb246ICAgRXhjbHVkZSB0aGUgWEJVVFRPTiBoYW5kbGluZy4gKFZpbmNlIE5lZ3JpKQorRmlsZXM6CSAgICBzcmMvZ3VpX3c0OC5jCisKK1BhdGNoIDYuMS4yMzEKK1Byb2JsZW06ICAgIERvdWJsZSBjbGlja2luZyB3aXRoIHRoZSBtb3VzZSB0byBzZWxlY3QgYSB3b3JkIGRvZXMgbm90IHdvcmsgZm9yCisJICAgIG11bHRpLWJ5dGUgY2hhcmFjdGVycy4KK1NvbHV0aW9uOiAgIFVzZSB2aW1faXN3b3JkYygpIGluc3RlYWQgb2YgdmltX2lzSURjKCkuICBUaGlzIG1lYW5zICdpc2tleXdvcmQnCisJICAgIGlzIHVzZWQgaW50ZWFkIG9mICdpc2lkZW50Jy4gIEFsc28gZml4IHRoYXQgbWl4aW5nIEFTQ0lJIHdpdGgKKwkgICAgbXVsdGktYnl0ZSB3b3JkIGNoYXJhY3RlcnMgZG9lc24ndCB3b3JrLCB0aGUgbW91c2UgY2xhc3MgZm9yCisJICAgIHB1bmN0dWF0aW9uIGFuZCB3b3JkIGNoYXJhY3RlcnMgd2FzIG1peGVkIHVwLgorRmlsZXM6CSAgICBzcmMvbm9ybWFsLmMKKworUGF0Y2ggNi4xLjIzMiAoZGVwZW5kcyBvbiA2LjEuMjI2KQorUHJvYmxlbTogICAgVXNpbmcgZXhfbm9ybWFsX2J1c3kgd2hpbGUgaXQgbWlnaHQgbm90IGJlIGF2YWlsYWJsZS4gKEF4ZWwKKwkgICAgS2llbGhvcm4pCitTb2x1dGlvbjogICBPbmx5IHVzZSBleF9ub3JtYWxfYnVzeSB3aGVuIEZFQVRfRVhfRVhUUkEgaXMgZGVmaW5lZC4KK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMyLmMKKworUGF0Y2ggNi4xLjIzMworUHJvYmxlbTogICAgIjpoZWxwIGV4cHItfHwiIGRvZXMgbm90IHdvcmsuCitTb2x1dGlvbjogICBEb24ndCB1c2UgdGhlICd8JyBhcyBhIGNvbW1hbmQgc2VwYXJhdG9yCitGaWxlczoJICAgIHNyYy9leF9jbWRzLmMKKworUGF0Y2ggNi4xLjIzNCAoZGVwZW5kcyBvbiA2LjEuMjE3KQorUHJvYmxlbTogICAgR2V0IGEgd2FybmluZyBmb3IgdXNpbmcgYSBuZWdhdGl2ZSB2YWx1ZSBmb3Igc3RfZGV2LgorU29sdXRpb246ICAgRG9uJ3QgYXNzaWduIGEgbmVnYXRpdmUgdmFsdWUgdG8gc3RfZGV2LgorRmlsZXM6CSAgICBzcmMvZXhfY21kczIuYworCitQYXRjaCA2LjEuMjM1IChkZXBlbmRzIG9uIDYuMS4yMjMpCitQcm9ibGVtOiAgICAnaW1pbnNlcnQnIGlzIGNoYW5nZWQgZnJvbSAxIHRvIDIgd2hlbiBsZWF2aW5nIEluc2VydCBtb2RlLiAoUGV0ZXIKKwkgICAgVmFsYWNoKQorU29sdXRpb246ICAgQ2hlY2sgIlN0YXRlIiBiZWZvcmUgcmVzZXR0aW5nIGl0IHRvIE5PUk1BTC4KK0ZpbGVzOgkgICAgc3JjL2VkaXQuYworCitQYXRjaCA2LjEuMjM2CitQcm9ibGVtOiAgICBNZW1vcnkgbGVha3Mgd2hlbiBhcHBlbmRpbmcgbGluZXMgZm9yICI6ZGlmZmdldCIgb3IgIjpkaWZmcHV0IiBhbmQKKwkgICAgd2hlbiByZWxvYWRpbmcgYSBjaGFuZ2VkIGJ1ZmZlci4KK1NvbHV0aW9uOiAgIEZyZWUgYSBsaW5lIGFmdGVyIGNhbGxpbmcgbWxfYXBwZW5kKCkuCitGaWxlczoJICAgIHNyYy9kaWZmLmMsIHNyYy9maWxlaW8uYworCitQYXRjaCA2LjEuMjM3CitQcm9ibGVtOiAgICBQdXR0aW5nIGluIFZpc3VhbCBibG9jayBtb2RlIGRvZXMgbm90IHdvcmsgY29ycmVjdGx5IHdoZW4gIiQiIHdhcworCSAgICB1c2VkIG9yIHdoZW4gdGhlIGZpcnN0IGxpbmUgaXMgc2hvcnQuICAoQ2hyaXN0aWFuIE1pY2hvbikKK1NvbHV0aW9uOiAgIEZpcnN0IGRlbGV0ZSB0aGUgc2VsZWN0ZWQgdGV4dCBhbmQgdGhlbiBwdXQgdGhlIG5ldyB0ZXh0LiAgU2F2ZQorCSAgICBhbmQgcmVzdG9yZSByZWdpc3RlcnMgYXMgbmVjZXNzYXJ5LgorRmlsZXM6CSAgICBzcmMvZ2xvYmFscy5oLCBzcmMvbm9ybWFsLmMsIHNyYy9vcHMuYywgc3JjL3Byb3RvL29wcy5wcm8sCisJICAgIHNyYy92aW0uaAorCitQYXRjaCA2LjEuMjM4IChleHRyYSkKK1Byb2JsZW06ICAgIFdpbjMyOiBUaGUgImljb249IiBhcmd1bWVudCBmb3IgdGhlICI6bWVudSIgY29tbWFuZCBkb2VzIG5vdAorCSAgICBzZWFyY2ggZm9yIHRoZSBiaXRtYXAgZmlsZS4KK1NvbHV0aW9uOiAgIEV4cGFuZCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYW5kIHNlYXJjaCBmb3IgdGhlIGJpdG1hcCBmaWxlLgorCSAgICAoVmluY2UgTmVncmkpCisJICAgIE1ha2UgaXQgY29uc2lzdGVudCwgdXNlIHRoZSBzYW1lIG1lY2hhbmlzbSBmb3IgWDExIGFuZCBHVEsuCitGaWxlczoJICAgIHNyYy9ndWkuYyBzcmMvZ3VpX2d0ay5jLCBzcmMvZ3VpX3czMi5jLCBzcmMvZ3VpX3gxMS5jLAorCSAgICBzcmMvcHJvdG8vZ3VpLnBybworCitQYXRjaCA2LjEuMjM5CitQcm9ibGVtOiAgICBHaXZpbmcgYW4gZXJyb3IgZm9yIG1pc3NpbmcgOmVuZGlmIG9yIDplbmR3aGlsZSB3aGVuIGJlaW5nCisJICAgIGludGVycnVwdGVkLgorU29sdXRpb246ICAgRG9uJ3QgZ2l2ZSB0aGVzZSBtZXNzYWdlcyB3aGVuIGludGVycnVwdGVkLgorRmlsZXM6CSAgICBzcmMvZXhfZG9jbWQuYywgc3JjL29zX3VuaXguYworCitQYXRjaCA2LjEuMjQwIChleHRyYSkKK1Byb2JsZW06ICAgIFdpbjMyIHdpdGggQkNDIDU6IENQVSBtYXkgYmUgZGVmaW5lZCBpbiB0aGUgZW52aXJvbm1lbnQsIHdoaWNoCisJICAgIGNhdXNlcyBhIHdyb25nIGFyZ3VtZW50IGZvciB0aGUgY29tcGlsZXIuIChXYWx0ZXIgQnJpc2NvZSkKK1NvbHV0aW9uOiAgIFVzZSBDUFVOUiBpbnN0ZWFkIG9mIENQVS4KK0ZpbGVzOgkgICAgc3JjL01ha2VfYmM1Lm1haworCitQYXRjaCA2LjEuMjQxCitQcm9ibGVtOiAgICBTb21ldGhpbmcgZ29lcyB3cm9uZyB3aGVuIGRyYXdpbmcgb3IgdW5kcmF3aW5nIHRoZSBjdXJzb3IuCitTb2x1dGlvbjogICBSZW1lbWJlciB3aGVuIHRoZSBjdXJzb3IgaW52YWxpZCBpbiBhIGJldHRlciB3YXkuCitGaWxlczoJICAgIHNyYy9ndWkuYworCitQYXRjaCA2LjEuMjQyCitQcm9ibGVtOiAgICBXaGVuIHBhc3RpbmcgYSBsYXJnZSBudW1iZXIgb2YgbGluZXMgb24gdGhlIGNvbW1hbmQgbGluZSBpdCBpcyBub3QKKwkgICAgcG9zc2libGUgdG8gaW50ZXJydXB0LiAoSmVhbiBKb3JkYWFuKQorU29sdXRpb246ICAgQ2hlY2sgZm9yIGFuIGludGVycnVwdCBhZnRlciBlYWNoIHBhc3RlZCBsaW5lLgorRmlsZXM6CSAgICBzcmMvb3BzLmMKKworUGF0Y2ggNi4xLjI0MyAoZXh0cmEpCitQcm9ibGVtOiAgICBXaW4zMjogV2hlbiB0aGUgT0xFIHZlcnNpb24gaXMgc3RhcnRlZCBhbmQgd2Fzbid0IHJlZ2lzdGVyZWQsIGEKKwkgICAgbWVzc2FnZSBwb3BzIHVwIHRvIHN1Z2dlc3QgcmVnaXN0ZXJpbmcsIGV2ZW4gd2hlbiB0aGlzIGlzbid0CisJICAgIHBvc3NpYmxlICh3aGVuIHRoZSByZWdpc3RyeSBpcyBub3Qgd3JpdGFibGUpLgorU29sdXRpb246ICAgQ2hlY2sgaWYgcmVnaXN0ZXJpbmcgaXMgcG9zc2libGUgYmVmb3JlIGFza2luZyB3aGV0aGVyIGl0IHNob3VsZAorCSAgICBiZSBkb25lLiAoV2FsdGVyIEJyaXNjb2UpCisJICAgIEFsc28gYXZvaWQgcmVzdGFydGluZyBWaW0gYWZ0ZXIgcmVnaXN0ZXJpbmcuCitGaWxlczoJICAgIHNyYy9pZl9vbGUuY3BwCisKK1BhdGNoIDYuMS4yNDQKK1Byb2JsZW06ICAgIFBhdGNoIDYuMS4yMzcgd2FzIG1pc3NpbmcgdGhlIGRpZmYgZm9yIHZpbS5oLiAoSWdvciBHb2xkZW5iZXJnKQorU29sdXRpb246ICAgSW5jbHVkZSBpdCBoZXJlLgorRmlsZXM6CSAgICBzcmMvdmltLmgKKworUGF0Y2ggNi4xLjI0NQorUHJvYmxlbTogICAgQ29tcGFyaW5nIHdpdGggaWdub3JlZCBjYXNlIGRvZXMgbm90IHdvcmsgcHJvcGVybHkgZm9yIFVuaWNvZGUKKwkgICAgd2l0aCBhIGxvY2FsZSB3aGVyZSBjYXNlIGZvbGRpbmcgYW4gQVNDSUkgY2hhcmFjdGVyIHJlc3VsdHMgaW4gYQorCSAgICBtdWx0aS1ieXRlIGNoYXJhY3Rlci4gKEdsZW5uIE1heW5hcmQpCitTb2x1dGlvbjogICBIYW5kbGUgaWdub3JlLWNhc2UgY29tcGFyZSBmb3IgVW5pY29kZSBkaWZmZXJlbnRseS4KK0ZpbGVzOgkgICAgc3JjL21ieXRlLmMKKworUGF0Y2ggNi4xLjI0NgorUHJvYmxlbTogICAgIjpibGFzdCIgZ29lcyB0byB0aGUgZmlyc3QgYnVmZmVyIGlmIHRoZSBsYXN0IG9uZSBpcyB1bmxpc3RlZC4KKwkgICAgKEFuZHJldyBTdHJ5a2VyKQorU29sdXRpb246ICAgRnJvbSB0aGUgbGFzdCBidWZmZXIgc2VhcmNoIGJhY2t3YXJkcyBmb3IgdGhlIGZpcnN0IGxpc3RlZCBidWZmZXIKKwkgICAgaW5zdGVhZCBvZiBmb3J3YXJkcy4KK0ZpbGVzOgkgICAgc3JjL2V4X2RvY21kLmMKKworUGF0Y2ggNi4xLjI0NworUHJvYmxlbTogICAgQUNMIHN1cHBvcnQgZG9lc24ndCBhbHdheXMgd29yayBwcm9wZXJseS4KK1NvbHV0aW9uOiAgIEFkZCBhIGNvbmZpZ3VyZSBhcmd1bWVudCB0byBkaXNhYmxlIEFDTCAiLS1kaXNhYmxlLWFjbCIuIChUaGllcnJ5CisJICAgIFZpZ25hdWQpCitGaWxlczoJICAgIHNyYy9hdXRvL2NvbmZpZ3VyZSwgc3JjL2NvbmZpZ3VyZS5pbgorCitQYXRjaCA2LjEuMjQ4CitQcm9ibGVtOiAgICBUeXBpbmcgJ3EnIGF0IHRoZSBtb3JlLXByb21wdCBmb3IgIjpsZXQiIGRvZXMgbm90IHF1aXQgdGhlCisJICAgIGxpc3RpbmcuIChIYXJpIEtyaXNobmEgRGFyYSkKK1NvbHV0aW9uOiAgIFF1aXQgdGhlIGxpc3Rpbmcgd2hlbiBnb3RfaW50IGlzIHNldC4KK0ZpbGVzOgkgICAgc3JjL2V2YWwuYworCitQYXRjaCA2LjEuMjQ5CitQcm9ibGVtOiAgICBDYW4ndCBleHBhbmQgYSBwYXRoIG9uIHRoZSBjb21tYW5kIGxpbmUgaWYgaXQgaW5jbHVkZXMgYSAifCIgYXMgYQorCSAgICB0cmFpbCBieXRlIG9mIGEgbXVsdGktYnl0ZSBjaGFyYWN0ZXIuCitTb2x1dGlvbjogICBDaGVjayBmb3IgbXVsdGktYnl0ZSBjaGFyYWN0ZXJzLiAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorRmlsZXM6CSAgICBzcmMvZXhfZG9jbWQuYworCitQYXRjaCA2LjEuMjUwCitQcm9ibGVtOiAgICBXaGVuIGNoYW5naW5nIHRoZSB2YWx1ZSBvZiAnbGluZXMnIGluc2lkZSB0aGUgZXhwcmVzc2lvbiBzZXQgd2l0aAorCSAgICAnZGlmZmV4cHInIFZpbSBtaWdodCBjcmFzaC4gKERhdmUgRmlzaGJ1cm4pCitTb2x1dGlvbjogICBEb24ndCBhbGxvdyBjaGFuZ2luZyB0aGUgc2NyZWVuIHNpemUgd2hpbGUgdXBkYXRpbmcgdGhlIHNjcmVlbi4KK0ZpbGVzOgkgICAgc3JjL2dsb2JhbHMuaCwgc3JjL29wdGlvbi5jLCBzcmMvc2NyZWVuLmMKKworUGF0Y2ggNi4xLjI1MQorUHJvYmxlbTogICAgQ2FuJ3QgdXNlIGNvbXBsZXRpb24gZm9yICI6bGNkIiBhbmQgIjpsY2hkaXIiIGxpa2UgIjpjZCIuCitTb2x1dGlvbjogICBFeHBhbmQgZGlyZWN0b3J5IG5hbWVzIGZvciB0aGVzZSBjb21tYW5kcy4gKFNlcnZhdGl1cyBCcmFuZHQpCitGaWxlczoJICAgIHNyYy9leF9kb2NtZC5jCisKK1BhdGNoIDYuMS4yNTIKK1Byb2JsZW06ICAgICJ2aX0iIGRvZXMgbm90IGluY2x1ZGUgYSBsaW5lIGJyZWFrIHdoZW4gdGhlICJ9IiBpcyBhdCB0aGUgc3RhcnQKKwkgICAgb2YgYSBmb2xsb3dpbmcgbGluZS4gKEthbWlsIEJ1cnp5bnNraSkKK1NvbHV0aW9uOiAgIEluY2x1ZGUgdGhlIGxpbmUgYnJlYWsuCitGaWxlczoJICAgIHNyYy9zZWFyY2guYworCitQYXRjaCA2LjEuMjUzIChleHRyYSkKK1Byb2JsZW06ICAgIFdpbjMyIHdpdGggQ3lnd2luOiBDaGFuZ2VzIHRoZSBwYXRoIG9mIGFyZ3VtZW50cyBpbiBhIHdyb25nIHdheS4KKwkgICAgKFhpYW5namlhbmcgTWEpCitTb2x1dGlvbjogICBEb24ndCB1c2UgY3lnd2luX2NvbnZfdG9fcG9zaXhfcGF0aCgpIGZvciB0aGUgV2luMzIgdmVyc2lvbi4KKwkgICAgVXBkYXRlIHRoZSBDeWd3aW4gbWFrZWZpbGUgdG8gc3VwcG9ydCBtb3JlIGZlYXR1cmVzLiAgKERhbiBTaGFycCkKK0ZpbGVzOgkgICAgc3JjL01ha2VfY3lnLm1haywgc3JjL2lmX29sZS5jcHAsIHNyYy9tYWluLmMKKworUGF0Y2ggNi4xLjI1NAorUHJvYmxlbTogICAgZXhpc3RzKCJmb297YmFyfSIpIGRvZXMgbm90IHdvcmsuICAnOnVubGV0IHZ7ImEifXInIGRvZXMgbm90IHdvcmsuCisJICAgICI6bGV0IHZ7YX1yMSB2e2F9cjIiIGRvZXMgbm90IHdvcmsuICI6ZnVuYyBGeygxKX0iIGRvZXMgbm90IHdvcmsuCisJICAgICI6ZGVsZnVuYyBGeyIgZG9lcyBub3QgZ2l2ZSBhbiBlcnJvciBtZXNzYWdlLiAgJzpkZWxmdW5jIEZ7IkYifScKKwkgICAgZG9lcyBub3Qgd29yay4KK1NvbHV0aW9uOiAgIFN1cHBvcnQgbWFnaWMgYnJhY2VzIGZvciB0aGUgZXhpc3RzKCkgYXJndW1lbnQuIChWaW5jZSBOZWdyaSkKKwkgICAgQ2hlY2sgZm9yIHRyYWlsaW5nIGNvbW1lbnRzIGV4cGxpY2l0bHkgZm9yICI6dW5sZXQiLiAgQWRkIHN1cHBvcnQKKwkgICAgZm9yIG1hZ2ljIGJyYWNlcyBpbiBmdXJ0aGVyIGFyZ3VtZW50cyBvZiAiOmxldCIuICBMb29rIGZvciBhCisJICAgIHBhcmVudGhlc2lzIG9ubHkgYWZ0ZXIgdGhlIGZ1bmN0aW9uIG5hbWUuICAoU2VydmF0aXVzIEJyYW5kdCkKKwkgICAgQWxzbyBleHBhbmQgbWFnaWMgYnJhY2VzIGZvciAiZXhpc3RzKCcqZXhwcicpIi4gIEdpdmUgYW4gZXJyb3IKKwkgICAgbWVzc2FnZSBmb3IgYW4gaW52YWxpZCAiOmRlbGZ1bmMiIGFyZ3VtZW50LiAgQWxsb3cgcXVvdGVzIGluIHRoZQorCSAgICAiOmRlbGZ1bmMiIGFyZ3VtZW50LgorRmlsZXM6CSAgICBzcmMvZXZhbC5jLCBzcmMvZXhfY21kcy5oLCBzcmMvZXhfZG9jbWQuYworCitQYXRjaCA2LjEuMjU1IChkZXBlbmRzIG9uIDYuMS4yNTQpCitQcm9ibGVtOiAgICBDcmFzaCB3aGVuIGxvYWRpbmcgbWVudS52aW0gYSBzZWNvbmQgdGltZS4gKENocmlzdGlhbiBSb2JpbnNvbikKKwkgICAgIjp1bmxldCBnYXJiYWdlIGZvbyIgdHJpZXMgdW5sZXR0aW5nICJmb28iIGFmdGVyIGFuIGVycm9yIG1lc3NhZ2UuCisJICAgIChTZXJ2YXRpdXMgQnJhbmR0KQorCSAgICBWZXJ5IGxvbmcgZnVuY3Rpb24gYXJndW1lbnRzIGNhdXNlIHZlcnkgbG9uZyBtZXNzYWdlcyB3aGVuCisJICAgICd2ZXJib3NlJyBpcyAxNCBvciBoaWdoZXIuCitTb2x1dGlvbjogICBBdm9pZCByZWFkaW5nIGZyb20gdW5pbml0aWFsaXplZCBtZW1vcnkuCisJICAgIEJyZWFrIG91dCBvZiBhIGxvb3AgYWZ0ZXIgYW4gaW52YWxpZCBhcmd1bWVudCBmb3IgIjp1bmxldCIuCisJICAgIFRydW5jYXRlIGxvbmcgZnVuY3Rpb24gYXJndW1lbnRzIHRvIDgwIGNoYXJhY3RlcnMuCitGaWxlczoJICAgIHNyYy9ldmFsLmMKKworUGF0Y2ggNi4xLjI1NiAoZGVwZW5kcyBvbiA2LjEuMjU1KQorUHJvYmxlbTogICAgRGVmaW5pbmcgYSBmdW5jdGlvbiBhZnRlciAiOmlmIDAiIGNvdWxkIHN0aWxsIGNhdXNlIGFuIGVycm9yCisJICAgIG1lc3NhZ2UgZm9yIGFuIGV4aXN0aW5nIGZ1bmN0aW9uLgorCSAgICBMZWFraW5nIG1lbW9yeSB3aGVuIHRoZXJlIGFyZSB0cmFpbGluZyBjaGFyYWN0ZXJzIGZvciAiOmRlbGZ1bmMiLgorU29sdXRpb246ICAgQ2hlY2sgdGhlICJza2lwIiBmbGFnLiAgRnJlZSB0aGUgbWVtb3J5LiAoU2VydmF0aXVzIEJyYW5kdCkKK0ZpbGVzOgkgICAgc3JjL2V2YWwuYworCitQYXRjaCA2LjEuMjU3CitQcm9ibGVtOiAgICAiOmN3aW5kb3ciIGFsd2F5cyBzZXRzIHRoZSBwcmV2aW91cyB3aW5kb3cgdG8gdGhlIGxhc3QgYnV0IG9uZQorCSAgICB3aW5kb3cuICAoQmVuamkgRmlzaGVyKQorU29sdXRpb246ICAgU2V0IHRoZSBwcmV2aW91cyB3aW5kb3cgcHJvcGVybHkuCitGaWxlczoJICAgIHNyYy9nbG9iYWxzLmMsIHNyYy9xdWlja2ZpeC5jLCBzcmMvd2luZG93LmMKKworUGF0Y2ggNi4xLjI1OAorUHJvYmxlbTogICAgQnVmZmVycyBtZW51IGRvZXNuJ3Qgd29yayBwcm9wZXJseSBmb3IgbXVsdGlieXRlIGJ1ZmZlciBuYW1lcy4KK1NvbHV0aW9uOiAgIFVzZSBhIHBhdHRlcm4gdG8gZ2V0IHRoZSBsZWZ0IGFuZCByaWdodCBwYXJ0IG9mIHRoZSBuYW1lLgorCSAgICAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorRmlsZXM6CSAgICBydW50aW1lL21lbnUudmltCisKK1BhdGNoIDYuMS4yNTkgKGV4dHJhKQorUHJvYmxlbTogICAgTWFjOiB3aXRoICdwYXRjaG1vZGUnIGlzIHVzZWQgZmlsZW5hbWVzIGFyZSB0cnVuY2F0ZWQuCitTb2x1dGlvbjogICBJbmNyZWFzZSB0aGUgQkFTRU5BTUVMRU4gZm9yIE1hYyBPUyBYLiAoRWQgUmFsc3RvbikKK0ZpbGVzOgkgICAgc3JjL29zX21hYy5oCisKK1BhdGNoIDYuMS4yNjAgKGRlcGVuZHMgb24gNi4xLjEwNCkKK1Byb2JsZW06ICAgIEdDQyAzLjIgc3RpbGwgc2VlbXMgdG8gaGF2ZSBhbiBvcHRpbWl6ZXIgcHJvYmxlbS4gKFp2aSBIYXInRWwpCitTb2x1dGlvbjogICBVc2UgdGhlIHNhbWUgY29uZmlndXJlIGNoZWNrIGFzIHVzZWQgZm9yIEdDQyAzLjEuCitGaWxlczoJICAgIHNyYy9hdXRvL2NvbmZpZ3VyZSwgc3JjL2NvbmZpZ3VyZS5pbgorCitQYXRjaCA2LjEuMjYxCitQcm9ibGVtOiAgICBXaGVuIGRlbGV0aW5nIGEgbGluZSBpbiBhIGJ1ZmZlciB3aGljaCBpcyBub3QgdGhlIGN1cnJlbnQgYnVmZmVyLAorCSAgICB1c2luZyB0aGUgUGVybCBpbnRlcmZhY2UgRGVsZXRlKCksIHRoZSBjdXJzb3IgaW4gdGhlIGN1cnJlbnQKKwkgICAgd2luZG93IG1heSBtb3ZlLiAoQ2hyaXMgSG91c2VyKQorU29sdXRpb246ICAgRG9uJ3QgYWRqdXN0IHRoZSBjdXJzb3IgcG9zaXRpb24gd2hlbiBjaGFuZ2luZyBhbm90aGVyIGJ1ZmZlci4KK0ZpbGVzOgkgICAgc3JjL2lmX3BlcmwueHMKKworUGF0Y2ggNi4xLjI2MgorUHJvYmxlbTogICAgV2hlbiBqdW1waW5nIG92ZXIgZm9sZHMgd2l0aCAielsiLCAiemoiIGFuZCAiemsiIHRoZSBwcmV2aW91cworCSAgICBwb3NpdGlvbiBpcyBub3QgcmVtZW1iZXJlZC4gKEhhcmkgS3Jpc2huYSBEYXJhKQorU29sdXRpb246ICAgU2V0IHRoZSBwcmV2aW91cyBjb250ZXh0IG1hcmsgYmVmb3JlIGp1bXBpbmcuCitGaWxlczoJICAgIHNyYy9mb2xkLmMKKworUGF0Y2ggNi4xLjI2MworUHJvYmxlbTogICAgV2hlbiB0eXBpbmcgYSBtdWx0aS1ieXRlIGNoYXJhY3RlciB0aGF0IHRyaWdnZXJzIGFuIGFiYnJldmlhdGlvbgorCSAgICBpdCBpcyBub3QgaW5zZXJ0ZWQgcHJvcGVybHkuCitTb2x1dGlvbjogICBIYW5kbGUgYWRkaW5nIHRoZSB0eXBlZCBtdWx0aS1ieXRlIGNoYXJhY3Rlci4gKFlhc3VoaXJvIE1hdHN1bW90bykKK0ZpbGVzOgkgICAgc3JjL2dldGNoYXIuYworCitQYXRjaCA2LjEuMjY0IChkZXBlbmRzIG9uIHBhdGNoIDYuMS4yNTQpCitQcm9ibGVtOiAgICBleGlzdHMoKSBkb2VzIG5vdCB3b3JrIGZvciBidWlsdC1pbiBmdW5jdGlvbnMuIChTdGV2ZSBXYWxsKQorU29sdXRpb246ICAgRG9uJ3QgY2hlY2sgZm9yIHRoZSBmdW5jdGlvbiBuYW1lIHRvIHN0YXJ0IHdpdGggYSBjYXBpdGFsLgorRmlsZXM6CSAgICBzcmMvZXZhbC5jCisKK1BhdGNoIDYuMS4yNjUKK1Byb2JsZW06ICAgIGxpYmNhbGwoKSBjYW4gYmUgdXNlZCBpbiAnZm9sZGV4cHInIHRvIGNhbGwgYW55IHN5c3RlbSBmdW5jdGlvbi4KKwkgICAgcmVuYW1lKCksIGRlbGV0ZSgpIGFuZCByZW1vdGVfc2VuZCgpIGNhbiBhbHNvIGJlIHVzZWQgaW4KKwkgICAgJ2ZvbGRleHByJy4gIFRoZXNlIGFyZSBzZWN1cml0eSBwcm9ibGVtcy4gKEdlb3JnaSBHdW5pbnNraSkKK1NvbHV0aW9uOiAgIERvbid0IGFsbG93IHVzaW5nIGxpYmNhbGwoKSwgcmVuYW1lKCksIGRlbGV0ZSgpLCByZW1vdGVfc2VuZCgpIGFuZAorCSAgICBzaW1pbGFyIGZ1bmN0aW9ucyBpbiB0aGUgc2FuZGJveC4KK0ZpbGVzOgkgICAgc3JjL2V2YWwuYworCitQYXRjaCA2LjEuMjY2IChkZXBlbmRzIG9uIDYuMS4yNjUpCitQcm9ibGVtOiAgICBXaW4zMjogY29tcGlsZSBlcnJvciBpbiBldmFsLmMuIChCaWxsIE1jQ2FydGh5KQorU29sdXRpb246ICAgTW92ZSBhIHZhcmlhYmxlIGRlY2xhcmF0aW9uLgorRmlsZXM6CSAgICBzcmMvZXZhbC5jCisKK1BhdGNoIDYuMS4yNjcKK1Byb2JsZW06ICAgIFVzaW5nICJwIiB0byBwYXN0ZSBpbnRvIGEgVmlzdWFsIHNlbGVjdGVkIGFyZWEgbWF5IGNhdXNlIGEgY3Jhc2guCitTb2x1dGlvbjogICBBbGxvY2F0ZSBlbm91Z2ggbWVtb3J5IGZvciBzYXZpbmcgdGhlIHJlZ2lzdGVyIGNvbnRlbnRzLiAoTXVyYW9rYQorCSAgICBUYXJvKQorRmlsZXM6CSAgICBzcmMvb3BzLmMKKworUGF0Y2ggNi4xLjI2OAorUHJvYmxlbTogICAgV2hlbiB0cmlnZ2VyaW5nIGFuIGFiYnJldmlhdGlvbiB3aXRoIGEgbXVsdGktYnl0ZSBjaGFyYWN0ZXIsIHRoaXMKKwkgICAgY2hhcmFjdGVyIGlzIG5vdCBjb3JyZWN0bHkgaW5zZXJ0ZWQgYWZ0ZXIgZXhwYW5kaW5nIHRoZQorCSAgICBhYmJyZXZpYXRpb24uIChUYXJvIE11cmFva2EpCitTb2x1dGlvbjogICBBZGQgQUJCUl9PRkYgdG8gYWxsIGNoYXJhY3RlcnMgYWJvdmUgMHhmZi4KK0ZpbGVzOgkgICAgc3JjL2VkaXQuYywgc3JjL2V4X2dldGxuLmMsIHNyYy9nZXRjaGFyLmMKKworUGF0Y2ggNi4xLjI2OQorUHJvYmxlbTogICAgQWZ0ZXIgdXNpbmcgaW5wdXQoKSB0ZXh0IHdyaXR0ZW4gd2l0aCAiOnJlZGlyIiBnZXRzIGV4dHJhIGluZGVudC4KKwkgICAgKERhdmlkIEZpc2hidXJuKQorU29sdXRpb246ICAgUmVzdG9yZSBtc2dfY29sIGFmdGVyIHVzaW5nIGlucHV0KCkuCitGaWxlczoJICAgIHNyYy9leF9nZXRsbi5jCisKK1BhdGNoIDYuMS4yNzAgKGRlcGVuZHMgb24gNi4xLjI2MCkKK1Byb2JsZW06ICAgIEdDQyAzLjIuMSBzdGlsbCBzZWVtcyB0byBoYXZlIGFuIG9wdGltaXplciBwcm9ibGVtLgorU29sdXRpb246ICAgVXNlIHRoZSBzYW1lIGNvbmZpZ3VyZSBjaGVjayBhcyB1c2VkIGZvciBHQ0MgMy4xLgorRmlsZXM6CSAgICBzcmMvYXV0by9jb25maWd1cmUsIHNyYy9jb25maWd1cmUuaW4KKworUGF0Y2ggNi4xLjI3MQorUHJvYmxlbTogICAgV2hlbiBjb21waWxpbmcgd2l0aG91dCB0aGUgK3N5bnRheCBmZWF0dXJlIHRoZXJlIGFyZSBlcnJvcnMuCitTb2x1dGlvbjogICBEb24ndCB1c2Ugc29tZSBjb2RlIGZvciBzeW50YXggaGlnaGxpZ2h0aW5nLiAoUm9nZXIgQ29ybmVsaXVzKQorCSAgICBNYWtlIHRlc3QgNDUgd29yayB3aXRob3V0IHN5bnRheCBoaWdobGlnaHRpbmcuCisJICAgIEFsc28gZml4IGFuIGVycm9yIGluIGEgcGF0dGVybiBtYXRjaGluZzogIlwlKCIgd2FzIG5vdCBzdXBwb3J0ZWQuCitGaWxlczoJICAgIHNyYy9leF9jbWRzMi5jLCBzcmMvcmVnZXhwLmMsIHNyYy90ZXN0ZGlyL3Rlc3Q0NS5pbgorCitQYXRjaCA2LjEuMjcyCitQcm9ibGVtOiAgICBBZnRlciB1c2luZyAiOnNldCBkZWZpbmU8IiBhIGNyYXNoIG1heSBoYXBwZW4uIChDaHJpc3RpYW4gUm9iaW5zb24pCitTb2x1dGlvbjogICBNYWtlIGEgY29weSBvZiB0aGUgb3B0aW9uIHZhbHVlIGluIGFsbG9jYXRlZCBtZW1vcnkuCitGaWxlczoJICAgIHNyYy9vcHRpb24uYworCitQYXRjaCA2LjEuMjczCitQcm9ibGVtOiAgICBXaGVuIHRoZSBjdXJzb3IgZG9lc24ndCBibGluaywgcmVkcmF3aW5nIGFuIGV4cG9zZWQgYXJlYSBtYXkgaGlkZQorCSAgICB0aGUgY3Vyc29yLgorU29sdXRpb246ICAgQWx3YXlzIGRyYXcgdGhlIGN1cnNvciwgYWxzbyB3aGVuIGl0IGRpZG4ndCBtb3ZlLiAoTXVyYW9rYSBUYXJvKQorRmlsZXM6CSAgICBzcmMvZ3VpLmMKKworUGF0Y2ggNi4xLjI3NCAoZGVwZW5kcyBvbiA2LjEuMjEwKQorUHJvYmxlbTogICAgUmVzZXR0aW5nIHRoZSBpY29udigpIHN0YXRlIGFmdGVyIGVhY2ggZXJyb3IgaXMgd3JvbmcgZm9yIGFuCisJICAgIGluY29tcGxldGUgc2VxdWVuY2UuCitTb2x1dGlvbjogICBEb24ndCByZXNldCB0aGUgaWNvbnYoKSBzdGF0ZS4KK0ZpbGVzOgkgICAgc3JjL2ZpbGVpby5jCisKK1BhdGNoIDYuMS4yNzUKK1Byb2JsZW06ICAgIFdoZW4gdXNpbmcgInYiIGluIGEgc3RhcnR1cCBzY3JpcHQsIGdldCB3YXJuaW5nIG1lc3NhZ2UgdGhhdAorCSAgICB0ZXJtaW5hbCBjYW5ub3QgaGlnaGxpZ2h0LiAoQ2hhcmxlcyBDYW1wYmVsbCkKK1NvbHV0aW9uOiAgIE9ubHkgZ2l2ZSB0aGUgbWVzc2FnZSBhZnRlciB0aGUgdGVybWluYWwgaGFzIGJlZW4gaW5pdGlhbGl6ZWQuCitGaWxlczoJICAgIHNyYy9ub3JtYWwuYworCitQYXRjaCA2LjEuMjc2CitQcm9ibGVtOiAgICAiZ3ZpbSAtLXJlbW90ZSBmaWxlIiBkb2Vzbid0IHByb21wdCBmb3IgYW4gZW5jcnlwdGlvbiBrZXkuCitTb2x1dGlvbjogICBUaGUgZnVydGhlciBjaGFyYWN0ZXJzIHRoZSBjbGllbnQgc2VuZHMgdG8gdGhlIHNlcnZlciBhcmUgdXNlZC4KKwkgICAgQWRkZWQgaW5wdXRzYXZlKCkgYW5kIGlucHV0cmVzdG9yZSgpIHRvIGFsbG93IHByb21wdGluZyB0aGUKKwkgICAgdXNlciBkaXJlY3RseSBhbmQgbm90IHVzaW5nIHR5cGVhaGVhZC4KKwkgICAgQWxzbyBmaXggcG9zc2libGUgbWVtb3J5IGxlYWsgZm9yICI6bm9ybWFsIi4KK0ZpbGVzOgkgICAgc3JjL2V2YWwuYywgc3JjL2V4X2NtZHMyLmMsIHNyYy9leF9kb2NtZC5jLCBzcmMvZ2V0Y2hhci5jLAorCSAgICBzcmMvbWFpbi5jLCBzcmMvcHJvdG8vZ2V0Y2hhci5wcm8sIHNyYy9wcm90by91aS5wcm8sCisJICAgIHNyYy9ydW50aW1lL2RvYy9ldmFsLnR4dCwgc3JjL3N0cnVjdHMuaCwgc3JjL3VpLmMsIHNyYy92aW0uaAorCitQYXRjaCA2LjEuMjc3IChkZXBlbmRzIG9uIDYuMS4yNzYpCitQcm9ibGVtOiAgICBDb21waWxhdGlvbiBlcnJvciB3aGVuIGJ1aWxkaW5nIHdpdGggc21hbGwgZmVhdHVyZXMuCitTb2x1dGlvbjogICBEZWZpbmUgdHJhc2hfaW5wdXRfYnVmKCkgd2hlbiBuZWVkZWQuIChLZWx2aW4gTGVlKQorRmlsZXM6CSAgICBzcmMvdWkuYworCitQYXRjaCA2LjEuMjc4CitQcm9ibGVtOiAgICBXaGVuIHVzaW5nIHNpZ25zIHRoZSBsaW5lIG51bWJlciBvZiBhIGNsb3NlZCBmb2xkIGRvZXNuJ3QgbGluZSB1cAorCSAgICB3aXRoIHRoZSBvdGhlciBsaW5lIG51bWJlcnMuIChLYW1pbCBCdXJ6eW5za2kpCitTb2x1dGlvbjogICBJbnNlcnQgdHdvIHNwYWNlcyBmb3IgdGhlIHNpZ24gY29sdW1uLgorRmlsZXM6CSAgICBzcmMvc2NyZWVuLmMKKworUGF0Y2ggNi4xLjI3OQorUHJvYmxlbTogICAgVGhlIHByb3RvdHlwZSBmb3Igc21zZygpIGFuZCBzbXNnX2F0dHIoKSBkbyBub3QgbWF0Y2ggdGhlIGZ1bmN0aW9uCisJICAgIGRlZmluaXRpb24uICBUaGlzIG1heSBjYXVzZSB0cm91YmxlIGZvciBzb21lIGNvbXBpbGVycy4gKE5peCkKK1NvbHV0aW9uOiAgIFVzZSB2YV9saXN0IGZvciBzeXN0ZW1zIHRoYXQgaGF2ZSBzdGRhcmcuaC4gIFVzZSAiaW50IiBpbnN0ZWFkIG9mCisJICAgICJ2b2lkIiBmb3IgdGhlIHJldHVybiB0eXBlLgorRmlsZXM6CSAgICBzcmMvYXV0by9jb25maWd1cmUsIHNyYy9jb25maWcuaC5pbiwgc3JjL2NvbmZpZ3VyZS5pbiwKKwkgICAgc3JjL3Byb3RvLmgsIHNyYy9tZXNzYWdlLmMKKworUGF0Y2ggNi4xLjI4MAorUHJvYmxlbTogICAgSXQncyBwb3NzaWJsZSB0byB1c2UgYW4gYXJndW1lbnQgImZpcnN0bGluZSIgb3IgImxhc3RsaW5lIiBmb3IgYQorCSAgICBmdW5jdGlvbiBidXQgdXNpbmcgImE6Zmlyc3RsaW5lIiBvciAiYTpsYXN0bGluZSIgaW4gdGhlIGZ1bmN0aW9uCisJICAgIHdvbid0IHdvcmsuICAoQmVuamkgRmlzaGVyKQorU29sdXRpb246ICAgR2l2ZSBhbiBlcnJvciBtZXNzYWdlIGZvciB0aGVzZSBhcmd1bWVudHMuCisJICAgIEFsc28gYXZvaWQgdGhhdCB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIGJvZHkgY2F1c2VzIGEgd2hvbGUgcm93IG9mCisJICAgIGVycm9ycywgc2tpcCBvdmVyIGl0IGFmdGVyIGFuIGVycm9yIGluIHRoZSBmaXJzdCBsaW5lLgorRmlsZXM6CSAgICBzcmMvZXZhbC5jCisKK1BhdGNoIDYuMS4yODEKK1Byb2JsZW06ICAgIEluIEluc2VydCBtb2RlIENUUkwtWCBDVFJMLUcgbGVhdmVzIHRoZSBjdXJzb3IgYWZ0ZXIgdGhlIHJ1bGVyLgorU29sdXRpb246ICAgU2V0IHRoZSBjdXJzb3IgcG9zaXRpb24gYmVmb3JlIHdhaXRpbmcgZm9yIHRoZSBhcmd1bWVudCBvZiBDVFJMLUcuCisJICAgIChZYXN1aGlybyBNYXRzdW1vdG8pCitGaWxlczoJICAgIHNyYy9lZGl0LmMKKworUGF0Y2ggNi4xLjI4MgorUHJvYmxlbTogICAgRWx2aXMgdXNlcyAic2UiIGluIGEgbW9kZWxpbmUsIFZpbSBkb2Vzbid0IHJlY29nbml6ZSB0aGlzLgorU29sdXRpb246ICAgQWxzbyBhY2NlcHQgInNlICIgd2hlcmUgInNldCAiIGlzIGFjY2VwdGVkIGluIGEgbW9kZWxpbmUuCisJICAgIChZYXN1aGlybyBNYXRzdW1vdG8pCitGaWxlczoJICAgIHNyYy9idWZmZXIuYworCitQYXRjaCA2LjEuMjgzCitQcm9ibGVtOiAgICBGb3IgIjpzaWduIiB0aGUgaWNvbiBmaWxlIG5hbWUgY2Fubm90IGNvbnRhaW4gYSBzcGFjZS4KK1NvbHV0aW9uOiAgIEhhbmRsZSBiYWNrc2xhc2hlcyBpbiB0aGUgZmlsZSBuYW1lLiAgKFlhc3VoaXJvIE1hdHN1bW90bykKK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMuYworCitQYXRjaCA2LjEuMjg0CitQcm9ibGVtOiAgICBPbiBTb2xhcmlzIHRoZXJlIGlzIGEgd2FybmluZyBmb3IgInN0cnVjdCB1dGltYnVmIi4KK1NvbHV0aW9uOiAgIE1vdmUgaW5jbHVkaW5nICJ1dGltZS5oIiB0byBvdXRzaWRlIHRoZSBmdW5jdGlvbi4gKERlcmVrIFd5YXR0KQorRmlsZXM6CSAgICBzcmMvZmlsZWlvLmMKKworUGF0Y2ggNi4xLjI4NQorUHJvYmxlbTogICAgQ2FuJ3Qgd2lwZSBvdXQgYSBidWZmZXIgd2l0aCAnYnVmaGlkZScgb3B0aW9uLgorU29sdXRpb246ICAgQWRkICJ3aXBlIiB2YWx1ZSB0byAnYnVmaGlkZScuIChZZWdhcHBhbiBMYWtzaG1hbmFuKQorRmlsZXM6CSAgICBydW50aW1lL2RvYy9vcHRpb25zLnR4dCwgc3JjL2J1ZmZlci5jLCBzcmMvb3B0aW9uLmMsCisJICAgIHNyYy9xdWlja2ZpeC5jCisKK1BhdGNoIDYuMS4yODYKK1Byb2JsZW06ICAgICdzaG93YnJlYWsnIGNhbm5vdCBjb250YWluIG11bHRpLWJ5dGUgY2hhcmFjdGVycy4KK1NvbHV0aW9uOiAgIEFsbG93IHVzaW5nIGFsbCBwcmludGFibGUgY2hhcmFjdGVycyBmb3IgJ3Nob3dicmVhaycuCitGaWxlczoJICAgIHNyYy9jaGFyc2V0LmMsIHNyYy9tb3ZlLmMsIHNyYy9vcHRpb24uYworCitQYXRjaCA2LjEuMjg3IChkZXBlbmRzIG9uIDYuMS4yODUpCitQcm9ibGVtOiAgICBFZmZlY3Qgb2YgImRlbGV0ZSIgYW5kICJ3aXBlIiBpbiAnYnVmaGlkZScgd2VyZSBtaXhlZCB1cC4KK1NvbHV0aW9uOiAgIFdpcGUgb3V0IHdoZW4gd2lwaW5nIG91dCBpcyBhc2tlZCBmb3IuCitGaWxlczoJICAgIHNyYy9idWZmZXIuYworCitQYXRjaCA2LjEuMjg4CitQcm9ibGVtOiAgICAiOnNpbGVudCBmdW5jdGlvbiBGIiBoYW5ncy4gKEhhcmkgS3Jpc2huYSBEYXJhKQorU29sdXRpb246ICAgRG9uJ3QgdXNlIG1zZ19jb2wsIGl0IGlzIG5vdCBpbmNyZW1lbnRlZCB3aGVuIHVzaW5nICI6c2lsZW50Ii4KKwkgICAgQWxzbyBtYWRlIHRoZSBmdW5jdGlvbiBvdXRwdXQgbG9vayBhIGJpdCBiZXR0ZXIuICBEb24ndCB0cmFuc2xhdGUKKwkgICAgImZ1bmN0aW9uIi4KK0ZpbGVzOgkgICAgc3JjL2V2YWwuYworCitQYXRjaCA2LjEuMjg5IChkZXBlbmRzIG9uIDYuMS4yNzgpCitQcm9ibGVtOiAgICBDb21waWxlciB3YXJuaW5nIGZvciBwb2ludGVyLiAoQXhlbCBLaWVsaG9ybikKK1NvbHV0aW9uOiAgIEFkZCBhIHR5cGVjYXN0IGZvciAiICAiLgorRmlsZXM6CSAgICBzcmMvc2NyZWVuLmMKKworUGF0Y2ggNi4xLjI5MCAoZXh0cmEpCitQcm9ibGVtOiAgICBUcnVuY2F0aW5nIGxvbmcgdGV4dCBmb3IgbWVzc2FnZSBib3ggbWF5IGJyZWFrIG11bHRpLWJ5dGUKKwkgICAgY2hhcmFjdGVyLgorU29sdXRpb246ICAgQWRqdXN0IHRvIHN0YXJ0IG9mIG11bHRpLWJ5dGUgY2hhcmFjdGVyLiAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorRmlsZXM6CSAgICBzcmMvb3NfbXN3aW4uYworCitQYXRjaCA2LjEuMjkxIChleHRyYSkKK1Byb2JsZW06ICAgIFdpbjMyOiBDVFJMLUAgZG9lc24ndCB3b3JrLiAgRG9uJ3QgZXZlbiBnZXQgYSBtZXNzYWdlIGZvciBpdC4KK1NvbHV0aW9uOiAgIFJlY29nbml6ZSB0aGUga2V5Y29kZSBmb3IgQ1RSTC1ALiAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorRmlsZXM6CSAgICBzcmMvZ3VpX3c0OC5jCisKK1BhdGNoIDYuMS4yOTIgKGV4dHJhLCBkZXBlbmRzIG9uIDYuMS4yNTMpCitQcm9ibGVtOiAgICBXaW4zMjogQ2FuJ3QgY29tcGlsZSB3aXRoIG5ldyBNaW5nVyBjb21waWxlci4KKwkgICAgQm9ybGFuZCA1IG1ha2VmaWxlIGRvZXNuJ3QgZ2VuZXJhdGUgcGF0aGRlZi5jLgorU29sdXRpb246ICAgUmVtb3ZlIC13d2lkZS1tdWx0aXBseSBhcmd1bWVudC4gKFJlbmUgZGUgWndhcnQpCisJICAgIFZhcmlvdXMgZml4ZXMgZm9yIG90aGVyIHByb2JsZW1zIGluIFdpbjMyIG1ha2VmaWxlcy4gKERhbiBTaGFycCkKK0ZpbGVzOgkgICAgc3JjL01ha2VfYmM1Lm1haywgc3JjL01ha2VfY3lnLm1haywgc3JjL01ha2VfbWluZy5tYWssCisJICAgIHNyYy9NYWtlX212Yy5tYWsKKworUGF0Y2ggNi4xLjI5MworUHJvYmxlbTogICAgYnl0ZTJsaW5lKCkgcmV0dXJucyBhIHdyb25nIHJlc3VsdCBmb3Igc29tZSB2YWx1ZXMuCitTb2x1dGlvbjogICBDaGFuZ2UgIj49IiB0byAiPiIgaW4gbWxfZmluZF9saW5lX29yX29mZnNldCgpLiAoQnJhZGZvcmQgQyBTbWl0aCkKKwkgICAgQWRkIG9uZSB0byB0aGUgbGluZSBudW1iZXIgd2hlbiBhdCB0aGUgZW5kIG9mIGEgYmxvY2suCitGaWxlczoJICAgIHNyYy9tZW1saW5lLmMKKworUGF0Y2ggNi4xLjI5NAorUHJvYmxlbTogICAgQ2FuJ3QgaW5jbHVkZSBhIG11bHRpLWJ5dGUgY2hhcmFjdGVyIGluIGEgc3RyaW5nIGJ5IGl0cyBoZXggdmFsdWUuCisJICAgIChCZW5qaSBGaXNoZXIpCitTb2x1dGlvbjogICBBZGQgIlx1Li4uLiI6IGEgY2hhcmFjdGVyIHNwZWNpZmllZCB3aXRoIHVwIHRvIGZvdXIgaGV4IG51bWJlcnMKKwkgICAgYW5kIHN0b3JlZCBhY2NvcmRpbmcgdG8gdGhlIHZhbHVlIG9mICdlbmNvZGluZycuCitGaWxlczoJICAgIHNyYy9ldmFsLmMKKworUGF0Y2ggNi4xLjI5NSAoZXh0cmEpCitQcm9ibGVtOiAgICBQcm9jZXNzaW5nIHRoZSBjcy5wbyBmaWxlIGdlbmVyYXRlcyBhbiBlcnJvci4gKFJhaHVsIEFncmF3YWwpCitTb2x1dGlvbjogICBGaXggdGhlIHByaW50ZiBmb3JtYXQgY2hhcmFjdGVycyBpbiB0aGUgdHJhbnNsYXRpb24uCitGaWxlczoJICAgIHNyYy9wby9jcy5wbworCitQYXRjaCA2LjEuMjk2CitQcm9ibGVtOiAgICBXaW4zMjogV2hlbiBjYW5jZWxsaW5nIHRoZSBmb250IGRpYWxvZyAnZ3VpZm9udCcgcmVtYWlucyBzZXQgdG8KKwkgICAgIioiLgorU29sdXRpb246ICAgUmVzdG9yZSB0aGUgb2xkIHZhbHVlIG9mICdndWlmb250JyAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorRmlsZXM6CSAgICBzcmMvb3B0aW9uLmMKKworUGF0Y2ggNi4xLjI5NworUHJvYmxlbTogICAgIm1ha2UgdGVzdCIgZmFpbHMgaW4gdGVzdDYgaW4gYW4gVVRGLTggZW52aXJvbm1lbnQuIChCZW5qaSBGaXNoZXIpCitTb2x1dGlvbjogICBCZWZvcmUgZXhlY3V0aW5nIHRoZSBCdWZSZWFkUG9zdCBhdXRvY29tbWFuZHMgc2F2ZSB0aGUgY3VycmVudAorCSAgICBmaWxlZW5jb2RpbmcsIHNvIHRoYXQgdGhlIGZpbGUgaXNuJ3QgbWFya2VkIGNoYW5nZWQuCitGaWxlczoJICAgIHNyYy9maWxlaW8uYworCitQYXRjaCA2LjEuMjk4CitQcm9ibGVtOiAgICBXaGVuIHVzaW5nIHNpZ25zIGFuZCB0aGUgZmlyc3QgbGluZSBvZiBhIGNsb3NlZCBmb2xkIGhhcyBhIHNpZ24KKwkgICAgaXQgY2FuIGJlIHJlZHJhd24gYXMgaWYgdGhlIGZvbGQgd2FzIG9wZW4uICAoS2FtaWwgQnVyenluc2tpKQorU29sdXRpb246ICAgRG9uJ3QgcmVkcmF3IGEgc2lnbiBpbnNpZGUgYSBjbG9zZWQgZm9sZC4KK0ZpbGVzOgkgICAgc3JjL3NjcmVlbi5jCisKK1BhdGNoIDYuMS4yOTkKK1Byb2JsZW06ICAgICI6ZWRpdCArc2V0XCBybyBmaWxlIiBkb2Vzbid0IHdvcmsuCitTb2x1dGlvbjogICBIYWx2ZSB0aGUgbnVtYmVyIG9mIGJhY2tzbGFzaGVzIGluIHRoZSAiK2NtZCIgYXJndW1lbnQuCitGaWxlczoJICAgIHNyYy9leF9kb2NtZC5jCisKK1BhdGNoIDYuMS4zMDAgKGV4dHJhKQorUHJvYmxlbTogICAgSGFuZGxpbmcgb2YgRVRPX0lHTk9SRUxBTkdVQUdFIGlzIGNvbmZ1c2luZy4KK1NvbHV0aW9uOiAgIENsZWFuIHVwIHRoZSBoYW5kbGluZyBvZiBFVE9fSUdOT1JFTEFOR1VBR0UuIChHbGVubiBNYXluYXJkKQorRmlsZXM6CSAgICBzcmMvZ3VpX3czMi5jCisKK1BhdGNoIDYuMS4zMDEgKGV4dHJhKQorUHJvYmxlbTogICAgRnJlbmNoIHRyYW5zbGF0aW9uIG9mIGZpbGUtc2F2ZSBkaWFsb2cgZG9lc24ndCBzaG93IGZpbGUgbmFtZS4KK1NvbHV0aW9uOiAgIEluc2VydCBhIHN0YXIgaW4gdGhlIHByaW50ZiBzdHJpbmcuIChGcmFuY29pcyBUZXJyb3QpCitGaWxlczoJICAgIHNyYy9wby9mci5wbworCitQYXRjaCA2LjEuMzAyCitQcm9ibGVtOiAgICBDb3VudGluZyBsaW5lcyBvZiB0aGUgVmlzdWFsIGFyZWEgaXMgaW5jb3JyZWN0IGZvciBjbG9zZWQgZm9sZHMuCisJICAgIChNaWtvbGFqIE1hY2hvd3NraSkKK1NvbHV0aW9uOiAgIENvcnJlY3QgdGhlIHN0YXJ0IGFuZCBlbmQgZm9yIHRoZSBjbG9zZWQgZm9sZC4KK0ZpbGVzOgkgICAgc3JjL25vcm1hbC5jCisKK1BhdGNoIDYuMS4zMDMgKGV4dHJhKQorUHJvYmxlbTogICAgVGhlIFRvcC9Cb3R0b20vQWxsIHRleHQgZG9lcyBub3QgYWx3YXlzIGZpdCBpbiB0aGUgcnVsZXIgd2hlbgorCSAgICB0cmFuc2xhdGVkIHRvIEphcGFuZXNlLiAgUHJvYmxlbSB3aXRoIGEgY2hhcmFjdGVyIGJlaW5nIHdpZGVyIHdoZW4KKwkgICAgaW4gYSBib2xkIGZvbnQuCitTb2x1dGlvbjogICBVc2UgRVRPX1BEWSB0byBzcGVjaWZ5IHRoZSB3aWR0aCBvZiBlYWNoIGNoYXJhY3Rlci4gKFlhc3VoaXJvCisJICAgIE1hdHN1bW90bykKK0ZpbGVzOgkgICAgc3JjL2d1aV93MzIuYworCitQYXRjaCA2LjEuMzA0IChleHRyYSwgZGVwZW5kcyBvbiA2LjEuMjkyKQorUHJvYmxlbTogICAgV2luMzI6IFBvc3RzY3JpcHQgaXMgYWx3YXlzIGVuYWJsZWQgaW4gdGhlIE1pbmdXIE1ha2VmaWxlLgorCSAgICBQYXRoZGVmLmMgaXNuJ3QgZ2VuZXJhdGVkIHByb3Blcmx5IHdpdGggTWFrZV9iYzUubWFrLiAoWWFzdWhpcm8KKwkgICAgTWF0c3Vtb3RvKQorU29sdXRpb246ICAgQ2hhbmdlIGFuIGlmZGVmIHRvIGFuIGlmZXEuIChNYWRva2EgTWFjaGl0YW5pKQorCSAgICBVc2UgdGhlIEJvcmxhbmQgbWFrZSByZWRpcmVjdGlvbiB0byBnZW5lcmF0ZSBwYXRoZGVmLmMuIChNYXVyaWNlCisJICAgIEJhcm51bSkKK0ZpbGVzOgkgICAgc3JjL01ha2VfYmM1Lm1haywgc3JjL01ha2VfbWluZy5tYWsKKworUGF0Y2ggNi4xLjMwNQorUHJvYmxlbTogICAgV2hlbiAndmVyYm9zZScgaXMgMTQgb3IgaGlnaGVyLCBhIGZ1bmN0aW9uIGNhbGwgbWF5IGNhdXNlIHJlYWRpbmcKKwkgICAgdW5pbml0aWFsaXplZCBkYXRhLiAoV2FsdGVyIEJyaXNjb2UpCitTb2x1dGlvbjogICBDaGVjayBmb3IgZW5kLW9mLXN0cmluZyBpbiB0cnVuY19zdHJpbmcoKS4KK0ZpbGVzOgkgICAgc3JjL21lc3NhZ2UuYworCitQYXRjaCA2LjEuMzA2CitQcm9ibGVtOiAgICBUaGUgQUlYIFZpc3VhbEFnZSBjYyBjb21waWxlciBkb2Vzbid0IGRlZmluZSBfX1NURENfXy4KK1NvbHV0aW9uOiAgIFVzZSBfX0VYVEVOREVEX18gbGlrZSBfX1NURENfXy4gKEplc3MgVGhyeXNvZWUpCitGaWxlczoJICAgIHNyYy9vc191bml4LmgKKworUGF0Y2ggNi4xLjMwNworUHJvYmxlbTogICAgV2hlbiBhIGRvdWJsZS1ieXRlIGNoYXJhY3RlciBoYXMgYW4gaWxsZWdhbCB0YWlsIGJ5dGUgdGhlIGRpc3BsYXkKKwkgICAgaXMgbWVzc2VkIHVwLiAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorU29sdXRpb246ICAgRHJhdyAiWFgiIGluc3RlYWQgb2YgdGhlIHdyb25nIGNoYXJhY3Rlci4KK0ZpbGVzOgkgICAgc3JjL3NjcmVlbi5jCisKK1BhdGNoIDYuMS4zMDgKK1Byb2JsZW06ICAgIENhbid0IHJlc2V0IHRoZSBWaXN1YWwgbW9kZSByZXR1cm5lZCBieSB2aXN1YWxtb2RlKCkuCitTb2x1dGlvbjogICBVc2UgYW4gb3B0aW9uYWwgYXJndW1lbnQgdG8gdmlzdWFsbW9kZSgpLiAoQ2hhcmxlcyBDYW1wYmVsbCkKK0ZpbGVzOgkgICAgcnVudGltZS9kb2MvZXZhbC50eHQsIHNyYy9ldmFsLmMsIHNyYy9ub3JtYWwuYywKKwkgICAgc3JjL3N0cnVjdHMuaAorCitQYXRjaCA2LjEuMzA5CitQcm9ibGVtOiAgICBUaGUgdHV0b3IgZG9lc24ndCBzZWxlY3QgR2VybWFuIGlmIHRoZSBsb2NhbGUgbmFtZSBpcworCSAgICAiR2VybWFuX0dlcm1hbnkuMTI1MiIuIChKb2FjaGltIEhvZm1hbm4pCitTb2x1dGlvbjogICBDaGVjayBmb3IgIkdlcm1hbiIgaW4gdGhlIGxvY2FsZSBuYW1lLiAgQWxzbyBjaGVjayBmb3IKKwkgICAgIi5nZSIuICBBbmQgaW5jbHVkZSB0aGUgR2VybWFuIGFuZCBHcmVlayB0dXRvcnMuCitGaWxlczoJICAgIHJ1bnRpbWUvdHV0b3IvdHV0b3IuZGUsIHJ1bnRpbWUvdHV0b3IvdHV0b3IudmltLAorCSAgICBydW50aW1lL3R1dG9yL3R1dG9yLmdyLCBydW50aW1lL3R1dG9yL3R1dG9yLmdyLmNwNzM3CisKK1BhdGNoIDYuMS4zMTAgKGRlcGVuZHMgb24gNi4xLjMwNykKK1Byb2JsZW06ICAgIEFsbCBkb3VibGUtYnl0ZSBjaGFyYWN0ZXJzIGFyZSBkaXNwbGF5ZWQgYXMgIlhYIi4KK1NvbHV0aW9uOiAgIFVzZSAiPj0gMzIiIGluc3RlYWQgb2YgIjwgMzIiLiAgKFlhc3VoaXJvIE1hdHN1bW90bykKK0ZpbGVzOgkgICAgc3JjL3NjcmVlbi5jCisKK1BhdGNoIDYuMS4zMTEgKGV4dHJhKQorUHJvYmxlbTogICAgVk1TOiBwYXRoIGluIHdpbmRvdyB0aXRsZSBkb2Vzbid0IGluY2x1ZGUgbmVjZXNzYXJ5IHNlcGFyYXRvci4KKwkgICAgZmlsZSB2ZXJzaW9uIGRvZXNuJ3QgYWx3YXlzIHdvcmsgcHJvcGVybHkgd2l0aCBVbml4LgorCSAgICBDcmFzaGVzIGJlY2F1c2Ugb2YgbWVtb3J5IG92ZXJ3cml0ZSBpbiBHVUkuCisJICAgIERpZG4ndCBhbHdheXMgaGFuZGxlIGZpbGVzIHdpdGggbG93ZXJjYXNlIGFuZCBjb3JyZWN0IHBhdGguCitTb2x1dGlvbjogICBGaXggdGhlIHByb2JsZW1zLiAgUmVtb3ZlIHVubmVjZXNzYXJ5IGZpbGUgbmFtZSB0cmFuc2xhdGlvbnMuCisJICAgIChab2x0YW4gQXJwYWRmZnkpCitGaWxlczoJICAgIHNyYy9idWZmZXIuYywgc3JjL2V4X2NtZHMyLmMsIHNyYy9maWxlaW8uYywgc3JjL21lbWxpbmUuYywKKwkgICAgc3JjL21pc2MxLmMsIHNyYy9taXNjMi5jLCBzcmMvb3NfdW5peC5jLCBzcmMvb3Nfdm1zLmMsIHNyYy90YWcuYworCitQYXRjaCA2LjEuMzEyCitQcm9ibGVtOiAgICBXaGVuIHVzaW5nICI6c2lsZW50IiBkZWJ1Z2dpbmcgaXMgYWxzbyBkb25lIHNpbGVudGx5LgorU29sdXRpb246ICAgRGlzYWJsZSBzaWxlbmNlIHdoaWxlIGF0IHRoZSBkZWJ1ZyBwcm9tcHQuCitGaWxlczoJICAgIHNyYy9leF9jbWRzMi5jCisKK1BhdGNoIDYuMS4zMTMKK1Byb2JsZW06ICAgIFdoZW4gYSAiOmRyb3AgZm5hbWUiIGNvbW1hbmQgaXMgdXNlZCBhbmQgImZuYW1lIiBpcyBvcGVuIGluCisJICAgIGFub3RoZXIgd2luZG93LCBpdCBpcyBhbHNvIG9wZW5lZCBpbiB0aGUgY3VycmVudCB3aW5kb3cuCitTb2x1dGlvbjogICBDaGFuZ2UgdG8gdGhlIHdpbmRvdyB3aXRoICJmbmFtZSIgaW5zdGVhZC4KKwkgICAgRG9uJ3QgcmVkZWZpbmUgdGhlIGFyZ3VtZW50IGxpc3Qgd2hlbiBkcm9wcGluZyBvbmx5IG9uZSBmaWxlLgorRmlsZXM6CSAgICBydW50aW1lL2RvYy93aW5kb3dzLnR4dCwgc3JjL2V4X2NtZHMyLmMsIHNyYy9leF9jbWRzLmMsCisJICAgIHNyYy9leF9kb2NtZC5jLCBzcmMvcHJvdG8vZXhfY21kczIucHJvLCBzcmMvcHJvdG8vZXhfZG9jbWQucHJvCisKK1BhdGNoIDYuMS4zMTQgKGRlcGVuZHMgb24gNi4xLjEyNikKK1Byb2JsZW06ICAgIE1pc3NpbmcgYmFja3NsYXNoIGluICJHZW5lcmljIENvbmZpZyBmaWxlIiBzeW50YXggbWVudS4KK1NvbHV0aW9uOiAgIEluc2VydCB0aGUgYmFja3NsYXNoLiAoWmFrIEJlY2spCitGaWxlczoJICAgIHJ1bnRpbWUvbWFrZW1lbnUudmltLCBydW50aW1lL3N5bm1lbnUudmltCisKK1BhdGNoIDYuMS4zMTUgKGV4dHJhKQorUHJvYmxlbTogICAgQSB2ZXJ5IGxvbmcgaG9zdG5hbWUgbWF5IGxlYWQgdG8gYW4gdW50ZXJtaW5hdGVkIHN0cmluZy4gIEZhaWxpbmcKKwkgICAgdG8gb2J0YWluIGEgaG9zdG5hbWUgbWF5IHJlc3VsdCBpbiBnYXJiYWdlLiAgKFdhbHRlciBCcmlzY29lKQorU29sdXRpb246ICAgQWRkIGEgTlVMIGF0IHRoZSBlbmQgb2YgdGhlIGhvc3RuYW1lIGJ1ZmZlci4KK0ZpbGVzOgkgICAgc3JjL29zX21hYy5jLCBzcmMvb3NfbXNkb3MuYywgc3JjL29zX3VuaXguYywgc3JjL29zX3dpbjE2LmMsCisJICAgIHNyYy9vc193aW4zMi5jCisKK1BhdGNoIDYuMS4zMTYKK1Byb2JsZW06ICAgIFdoZW4gZXhpdGluZyB3aXRoICJ3cSIgYW5kIHRoZXJlIGlzIGEgaGlkZGVuIGJ1ZmZlciwgYWZ0ZXIgdGhlCisJICAgICJmaWxlIGNoYW5nZWQiIGRpYWxvZyB0aGVyZSBpcyBhIHdhcm5pbmcgZm9yIGEgY2hhbmdlZCBidWZmZXIuCisJICAgIChBaml0IFRoYWtrYXIpCitTb2x1dGlvbjogICBEbyB1cGRhdGUgdGhlIGJ1ZmZlciB0aW1lc3RhbXBzIHdoZW4gZXhpdGluZy4KK0ZpbGVzOgkgICAgc3JjL2ZpbGVpby5jCisKK1BhdGNoIDYuMS4zMTcKK1Byb2JsZW06ICAgIENsb3NpbmcgYSB3aW5kb3cgbWF5IGNhdXNlIHNvbWUgb2YgdGhlIHJlbWFpbmluZyB3aW5kb3dzIHRvIGJlCisJICAgIHBvc2l0aW9uZWQgd3JvbmcgaWYgdGhlcmUgaXMgYSBtaXggb2YgaG9yaXpvbnRhbCBhbmQgdmVydGljYWwKKwkgICAgc3BsaXRzLiAoU3RlZmFuIEluZ2kgVmFsZGltYXJzc29uKQorU29sdXRpb246ICAgVXBkYXRlIHRoZSBmcmFtZSBzaXplcyBiZWZvcmUgdXBkYXRpbmcgdGhlIHdpbmRvdyBwb3NpdGlvbnMuCitGaWxlczoJICAgIHNyYy93aW5kb3cuYworCitQYXRjaCA2LjEuMzE4CitQcm9ibGVtOiAgICBhdXRvL3BhdGhkZWYuYyBjYW4gaW5jbHVkZSB3cm9uZyBxdW90ZXMgd2hlbiBhIGNvbXBpbGVyIGZsYWcKKwkgICAgaW5jbHVkZXMgcXVvdGVzLgorU29sdXRpb246ICAgUHV0IGEgYmFja3NsYXNoIGJlZm9yZSB0aGUgcXVvdGVzIGluIGNvbXBpbGVyIGZsYWdzLiAoU2hpbnJhIEFpZGEpCitGaWxlczoJICAgIHNyYy9NYWtlZmlsZQorCitQYXRjaCA2LjEuMzE5IChkZXBlbmRzIG9uIDYuMS4yNzYpCitQcm9ibGVtOiAgICBVc2luZyAiLS1yZW1vdGUgK2NtZCBmaWxlIiBkb2VzIG5vdCBleGVjdXRlICJjbWQiLgorU29sdXRpb246ICAgQ2FsbCBpbnB1dHJlc3RvcmUoKSBpbiB0aGUgc2FtZSBjb21tYW5kIGxpbmUgYXMgaW5wdXRzYXZlKCksCisJICAgIG90aGVyd2lzZSBpdCB3aWxsIG5ldmVyIGdldCBleGVjdXRlZC4KK0ZpbGVzOgkgICAgc3JjL21haW4uYworCitQYXRjaCA2LjEuMzIwIChkZXBlbmRzIG9uIDYuMS4zMTMpCitQcm9ibGVtOiAgICBXaGVuIGEgIjpkcm9wIG9uZVwgZmlsZSIgY29tbWFuZCBpcyB1c2VkIHRoZSBmaWxlICJvbmVcIGZpbGUiIGlzCisJICAgIG9wZW5lZCwgdGhlIGJhY2tzbGFzaCBpcyBub3QgcmVtb3ZlZC4gKFRhcm8gTXVyYW9rYSkKK1NvbHV0aW9uOiAgIEhhbmRsZSBiYWNrc2xhc2hlcyBjb3JyZWN0bHkuICBBbHdheXMgc2V0IHRoZSBhcmd1bWVudCBsaXN0IHRvCisJICAgIGtlZXAgaXQgc2ltcGxlLgorRmlsZXM6CSAgICBydW50aW1lL2RvYy93aW5kb3dzLnR4dCwgc3JjL2V4X2NtZHMuYworCitQYXRjaCA2LjEuMzIxCitQcm9ibGVtOiAgICBXaGVuICdtb3VzZScgaW5jbHVkZXMgJ24nIGJ1dCBub3QgJ3YnLCBkb24ndCBhbGxvdyBzdGFydGluZyBWaXN1YWwKKwkgICAgbW9kZSB3aXRoIHRoZSBtb3VzZS4KK1NvbHV0aW9uOiAgIERvbid0IHVzZSBNT1VTRV9NQVlfVklTIHdoZW4gdGhlcmUgaXMgbm8gJ3YnIGluICdtb3VzZScuIChGbGVtbWluZworCSAgICBNYWRzZW4pCitGaWxlczoJICAgIHNyYy9ub3JtYWwuYworCitQYXRjaCA2LjEuMzIyIChleHRyYSwgZGVwZW5kcyBvbiA2LjEuMzE1KQorUHJvYmxlbTogICAgV2luMzI6IFRoZSBob3N0IG5hbWUgaXMgYWx3YXlzICJQQyAiIHBsdXMgdGhlIHJlYWwgaG9zdCBuYW1lLgorU29sdXRpb246ICAgRG9uJ3QgaW5zZXJ0ICJQQyAiIGJlZm9yZSB0aGUgaG9zdCBuYW1lLgorRmlsZXM6CSAgICBzcmMvb3Nfd2luMzIuYworCitQYXRjaCA2LjEuMzIzCitQcm9ibGVtOiAgICAiOnJlZ2lzdGVycyIgZG9lc24ndCBzdG9wIGxpc3RpbmcgZm9yIGEgInEiIGF0IHRoZSBtb3JlIHByb21wdC4KKwkgICAgKEhhcmkgS3Jpc2huYSBEYXJhKQorU29sdXRpb246ICAgQ2hlY2sgZm9yIGludGVycnVwdCBhbmQgZ290X2ludC4KK0ZpbGVzOgkgICAgc3JjL29wcy5jLCBzcmMvcHJvdG8vb3BzLnBybworCitQYXRjaCA2LjEuMzI0CitQcm9ibGVtOiAgICBDcmFzaCB3aGVuIGRyYWdnaW5nIGEgdmVydGljYWwgc2VwYXJhdG9yIHdoZW4gPExlZnRNb3VzZT4gaXMKKwkgICAgcmVtYXBwZWQgdG8ganVtcCB0byBhbm90aGVyIHdpbmRvdy4KK1NvbHV0aW9uOiAgIFBhc3MgdGhlIHdpbmRvdyBwb2ludGVyIHRvIHRoZSBmdW5jdGlvbiBkb2luZyB0aGUgZHJhZ2dpbmcgaW5zdGVhZAorCSAgICBvZiBhbHdheXMgdXNpbmcgdGhlIGN1cnJlbnQgd2luZG93LiAoRGFuaWVsIEVsc3RuZXIpCisJICAgIEFsc28gZml4IHRoYXQgc3RhcnRpbmcgYSBkcmFnIGNoYW5nZXMgd2luZG93IGZvY3VzLgorRmlsZXM6CSAgICBzcmMvbm9ybWFsLmMsIHNyYy9wcm90by93aW5kb3cucHJvLCBzcmMvdWkuYywgc3JjL3ZpbS5oLAorCSAgICBzcmMvd2luZG93LmMKKworUGF0Y2ggNi4xLjMyNQorUHJvYmxlbTogICAgU2hpZnQtVGFiIGlzIG5vdCBhdXRvbWF0aWNhbGx5IHJlY29nbml6ZWQgaW4gYW4geHRlcm0uCitTb2x1dGlvbjogICBBZGQgPEVzYz5bWiBhcyB0aGUgdGVybWNhcCBjb2RlLiAoQW5kcmV3IFBpbWxvdHQpCitGaWxlczoJICAgIHNyYy90ZXJtLmMKKworUGF0Y2ggNi4xLjMyNgorUHJvYmxlbTogICAgVXNpbmcgYSBzZWFyY2ggcGF0dGVybiBtYXkgcmVhZCBmcm9tIHVuaW5pdGlhbGl6ZWQgZGF0YSAoWWFzdWhpcm8KKwkgICAgTWF0c3Vtb3RvKQorU29sdXRpb246ICAgSW5pdGlhbGl6ZSBwb2ludGVycyB0byBOVUxMLgorRmlsZXM6CSAgICBzcmMvcmVnZXhwLmMKKworUGF0Y2ggNi4xLjMyNworUHJvYmxlbTogICAgV2hlbiBvcGVuaW5nIHRoZSAibWJ5dGUudHh0IiBoZWxwIGZpbGUgdGhlIHV0Zi04IGNoYXJhY3RlcnMgYXJlCisJICAgIHVucmVhZGFibGUsIGJlY2F1c2UgdGhlIGZpbGVlbmNvZGluZyBpcyBmb3JjZWQgdG8gYmUgbGF0aW4xLgorU29sdXRpb246ICAgQ2hlY2sgZm9yIHV0Zi04IGVuY29kaW5nIGZpcnN0IGluIGhlbHAgZmlsZXMuIChEYW5pZWwgRWxzdG5lcikKK0ZpbGVzOgkgICAgcnVudGltZS9kb2MvbWJ5dGUudHh0LCBzcmMvZmlsZWlvLmMKKworUGF0Y2ggNi4xLjMyOAorUHJvYmxlbTogICAgUHJvdG90eXBlIGZvciBlbmNfY2Fub25fc2VhcmNoKCkgaXMgbWlzc2luZy4KK1NvbHV0aW9uOiAgIEFkZCB0aGUgcHJvdG90eXBlLiAoV2FsdGVyIEJyaXNjb2UpCitGaWxlczoJICAgIHNyYy9tYnl0ZS5jCisKK1BhdGNoIDYuMS4zMjkKK1Byb2JsZW06ICAgIFdoZW4gZWRpdGluZyBhIGZpbGUgImEgYiBjIiByZXBsYWNpbmcgIiUiIGluICI6Q21kICUiIG9yICI6bmV4dCAlIgorCSAgICBkb2VzIG5vdCB3b3JrIHByb3Blcmx5LiAgKEhhcmkgS3Jpc2huYSBEYXJhKQorU29sdXRpb246ICAgQWx3YXlzIGVzY2FwZSBzcGFjZXMgd2hlbiBleHBhbmRpbmcgIiUiLiAgRG9uJ3Qgc3BsaXQgYXJndW1lbnQgZm9yCisJICAgIDxmLWFyZ3M+IGluIGEgdXNlciBjb21tYW5kIHdoZW4gb25seSBvbmUgYXJndW1lbnQgaXMgdXNlZC4KK0ZpbGVzOgkgICAgc3JjL2V4X2RvY21kLmMKKworUGF0Y2ggNi4xLjMzMAorUHJvYmxlbTogICAgR1RLLCBNb3RpZiBhbmQgQXRoZW5hOiBLZXlwYWQga2V5cyBwcm9kdWNlIHRoZSBzYW1lIGNvZGUgYXMKKwkgICAgbm9uLWtleXBhZCBrZXlzLCBtYWtpbmcgaXQgaW1wb3NzaWJsZSB0byBtYXAgdGhlbSBzZXBhcmF0ZWx5LgorU29sdXRpb246ICAgVXNlIGRpZmZlcmVudCB0ZXJtY2FwIGNvZGVzIGZvciB0aGUga2V5cGFkIGtleXMuIChOZWlsIEJpcmQpCitGaWxlczoJICAgIHNyYy9ndWlfZ3RrX3gxMS5jLCBzcmMvZ3VpX3gxMS5jCisKK1BhdGNoIDYuMS4zMzEKK1Byb2JsZW06ICAgIFdoZW4gdHJhbnNsYXRpbmcgdGhlIGhlbHAgZmlsZXMsICJMT0NBTCBBRERJVElPTlMiIG5vIGxvbmdlciBtYXJrcworCSAgICB0aGUgc3BvdCB3aGVyZSBoZWxwIGZpbGVzIGZyb20gcGx1Z2lucyBhcmUgdG8gYmUgbGlzdGVkLgorU29sdXRpb246ICAgQWRkIGEgImxvY2FsLWFkZGl0aW9ucyIgdGFnIGFuZCB1c2UgdGhhdCB0byBmaW5kIHRoZSByaWdodCBzcG90LgorRmlsZXM6CSAgICBydW50aW1lL2RvYy9oZWxwLnR4dCwgc3JjL2V4X2NtZHMuYworCitQYXRjaCA2LjEuMzMyIChleHRyYSkKK1Byb2JsZW06ICAgIFdpbjMyOiBMb2FkaW5nIFBlcmwgZHluYW1pY2FsbHkgZG9lc24ndCB3b3JrIHdpdGggUGVybCA1LjguCisJICAgIFBlcmwgNS44IGFsc28gZG9lcyBub3Qgd29yayB3aXRoIEN5Z3dpbiBhbmQgTWluZy4KK1NvbHV0aW9uOiAgIEFkanVzdCB0aGUgZnVuY3Rpb24gY2FsbHMuIChUYXJvIE11cmFva2EpCisJICAgIEFkanVzdCB0aGUgY3lnIGFuZCBtaW5nIG1ha2VmaWxlcy4gKERhbiBTaGFycCkKK0ZpbGVzOgkgICAgc3JjL01ha2VfY3lnLm1haywgc3JjL01ha2VfbWluZy5tYWssIHNyYy9NYWtlX212Yy5tYWssCisJICAgIHNyYy9pZl9wZXJsLnhzCisKK1BhdGNoIDYuMS4zMzMgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6IENhbid0IGhhbmRsZSBVbmljb2RlIHRleHQgb24gdGhlIGNsaXBib2FyZC4KKwkgICAgQ2FuJ3QgcGFzcyBOVUwgYnl0ZSwgaXQgYmVjb21lcyBhIGxpbmUgYnJlYWsuICAoQnJ1Y2UgRGVWaXNzZXIpCitTb2x1dGlvbjogICBTdXBwb3J0IFVuaWNvZGUgZm9yIHRoZSBjbGlwYm9hcmQgKFJvbiBBYXJvbiBhbmQgR2xlbm4gTWF5bmFyZCkKKwkgICAgQWxzbyBzdXBwb3J0IGNvcHkvcGFzdGUgb2YgTlVMIGJ5dGVzLgorRmlsZXM6CSAgICBzcmMvb3NfbXN3aW4uYywgc3JjL29zX3dpbjE2LmMgc3JjL29zX3dpbjMyLmMKKworUGF0Y2ggNi4xLjMzNCAoZXh0cmEsIGRlcGVuZHMgb24gNi4xLjMwMykKK1Byb2JsZW06ICAgIFByb2JsZW0gd2l0aCBkcmF3aW5nIEhlYnJldyBjaGFyYWN0ZXJzLgorU29sdXRpb246ICAgT25seSB1c2UgRVRPX1BEWSBmb3IgV2luZG93cyBOVCBhbmQgdGhlIGxpa2UuIChZYXN1aGlybyBNYXRzdW1vdG8pCitGaWxlczoJICAgIHNyYy9ndWlfdzMyLmMKKworUGF0Y2ggNi4xLjMzNSAoZXh0cmEpCitQcm9ibGVtOiAgICBGYWlsdXJlIG9mIG9idGFpbmluZyB0aGUgY3Vyc29yIHBvc2l0aW9uIGFuZCB3aW5kb3cgc2l6ZSBpcworCSAgICBpZ25vcmVkLgorU29sdXRpb246ICAgUmVtb3ZlIGEgc2VtaWNvbG9uIGFmdGVyIGFuICJpZiIuIChXYWx0ZXIgQnJpc2NvZSkKK0ZpbGVzOgkgICAgc3JjL2d1aV93MzIuYworCitQYXRjaCA2LjEuMzM2IChleHRyYSkKK1Byb2JsZW06ICAgIFdhcm5pbmcgZm9yIHVzZSBvZiBmdW5jdGlvbiBwcm90b3R5cGVzIG9mIHNtc2coKS4KK1NvbHV0aW9uOiAgIERlZmluZSBIQVZFX1NUREFSR19ILiAoV2FsdGVyIEJyaXNjb2UpCitGaWxlczoJICAgIHNyYy9vc193aW4zMi5oCisKK1BhdGNoIDYuMS4zMzcKK1Byb2JsZW06ICAgIFdoZW4gdXNpbmcgImZpbmlzaCIgaW4gZGVidWcgbW9kZSBpbiBmdW5jdGlvbiBCKCkgZm9yICI6Y2FsbAorCSAgICBBKEIoKSkiIGRvZXMgbm90IHN0b3AgYWZ0ZXIgQigpIGlzIGZpbmlzaGVkLgorU29sdXRpb246ICAgSW5jcmVhc2UgZGVidWdfbGV2ZWwgd2hpbGUgZXZhbHVhdGluZyBhIGZ1bmN0aW9uLgorRmlsZXM6CSAgICBzcmMvZXhfZG9jbWQuYworCitQYXRjaCA2LjEuMzM4CitQcm9ibGVtOiAgICBXaGVuIHVzaW5nIGEgbWVudSB0aGF0IGNoZWNrcyBvdXQgdGhlIGN1cnJlbnQgZmlsZSBmcm9tIEluc2VydAorCSAgICBtb2RlLCB0aGVyZSBpcyBubyB3YXJuaW5nIGZvciB0aGUgY2hhbmdlZCBmaWxlIHVudGlsIGV4aXRpbmcKKwkgICAgSW5zZXJ0IG1vZGUuICAoU3Jpa2FudGggU2Fua2FyYW4pCitTb2x1dGlvbjogICBBZGQgYSBjaGVjayBmb3IgbmVlZF9jaGVja190aW1lc3RhbXBzIGluIHRoZSBJbnNlcnQgbW9kZSBsb29wLgorRmlsZXM6CSAgICBzcmMvZWRpdC5jCisKK1BhdGNoIDYuMS4zMzkKK1Byb2JsZW06ICAgIENvbXBsZXRpb24gZG9lc24ndCBhbGxvdyAiZzoiIGluICI6bGV0IGc6ZGlkXzxUYWI+Ii4gKEJlbmppCisJICAgIEZpc2hlcikKK1NvbHV0aW9uOiAgIFJldHVybiAiZzp2YXIiIGZvciBnbG9iYWwgdmFyaWFibGVzIHdoZW4gdGhhdCBpcyB3aGF0IGlzIGJlaW5nCisJICAgIGV4cGFuZGVkLiAoRmxlbW1pbmcgTWFkc2VuKQorRmlsZXM6CSAgICBzcmMvZXZhbC5jCisKK1BhdGNoIDYuMS4zNDAgKGV4dHJhLCBkZXBlbmRzIG9uIDYuMS4zMzIpCitQcm9ibGVtOiAgICBXaW4zMjogQ2FuJ3QgY29tcGlsZSB0aGUgUGVybCBpbnRlcmZhY2Ugd2l0aCBubWFrZS4KK1NvbHV0aW9uOiAgIERvbid0IGNvbXBhcmUgdGhlIHZlcnNpb24gbnVtYmVyIGFzIGEgc3RyaW5nIGJ1dCBhcyBhIG51bWJlci4KKwkgICAgKEp1ZXJnZW4gS3JhZW1lcikKK0ZpbGVzOgkgICAgc3JjL01ha2VfbXZjLm1haworCitQYXRjaCA2LjEuMzQxCitQcm9ibGVtOiAgICBJbiBJbnNlcnQgbW9kZSB3aXRoICdyaWdodGxlZnQnIHNldCB0aGUgY3Vyc29yIGlzIGRyYXduIGhhbGZ3YXkgYQorCSAgICBkb3VibGUtd2lkZSBjaGFyYWN0ZXIuICBGb3IgQ1RSTC1SIGFuZCBDVFJMLUsgaW4gSW5zZXJ0IG1vZGUgdGhlICIKKwkgICAgb3IgPyBpcyBub3QgZGlzcGxheWVkLgorU29sdXRpb246ICAgRHJhdyB0aGUgY3Vyc29yIGluIHRoZSBuZXh0IGNoYXJhY3RlciBjZWxsLiAgRGlzcGxheSB0aGUgIiBvciA/CisJICAgIG92ZXIgdGhlIHJpZ2h0IGhhbGYgb2YgdGhlIGRvdWJsZS13aWRlIGNoYXJhY3Rlci4gKFlhc3VoaXJvCisJICAgIE1hdHN1bW90bykgIEFsc28gZml4IHRoYXQgY2FuY2VsbGluZyBhIGRpZ3JhcGggZG9lc24ndCByZWRyYXcKKwkgICAgYSBkb3VibGUtYnl0ZSBjaGFyYWN0ZXIgY29ycmVjdGx5LgorRmlsZXM6CSAgICBzcmMvZWRpdC5jLCBzcmMvZ3VpLmMsIHNyYy9tYnl0ZS5jCisKK1BhdGNoIDYuMS4zNDIgKGRlcGVuZHMgb24gNi4xLjM0MSkKK1Byb2JsZW06ICAgIFdpdGggJ3JpZ2h0bGVmdCcgc2V0IHR5cGluZyAiYyIgb24gYSBkb3VibGUtd2lkZSBjaGFyYWN0ZXIgY2F1c2VzCisJICAgIHRoZSBjdXJzb3IgdG8gYmUgZGlzcGxheWVkIG9uZSBjZWxsIHRvIHRoZSBsZWZ0LgorU29sdXRpb246ICAgRHJhdyB0aGUgY3Vyc29yIGluIHRoZSBuZXh0IGNoYXJhY3RlciBjZWxsLiAgKFlhc3VoaXJvIE1hdHN1bW90bykKK0ZpbGVzOgkgICAgc3JjL2d1aS5jCisKK1BhdGNoIDYuMS4zNDMgKGRlcGVuZHMgb24gNi4xLjM0MikKK1Byb2JsZW06ICAgIENhbm5vdCBjb21waWxlIHdpdGggdGhlICttdWx0aV9ieXRlIGZlYXR1cmUgYnV0IHdpdGhvdXQgK3JpZ2h0bGVmdC4KKwkgICAgQ2Fubm90IGNvbXBpbGUgd2l0aG91dCB0aGUgR1VJLgorU29sdXRpb246ICAgRml4IHRoZSAjaWZkZWZzLiAgKHBhcnRseSBieSBOYW0gU3VuZ0h5dW4pCitGaWxlczoJICAgIHNyYy9ndWkuYywgc3JjL21ieXRlLmMsIHNyYy91aS5jCisKK1BhdGNoIDYuMS4zNDQKK1Byb2JsZW06ICAgIFdoZW4gdXNpbmcgIjpzaWxlbnQgZmlsZXR5cGUiIHRoZSBvdXRwdXQgaXMgc3RpbGwgcHV0IGluIHRoZQorCSAgICBtZXNzYWdlIGhpc3RvcnkuIChIYXJpIEtyaXNobmEgRGFyYSkKK1NvbHV0aW9uOiAgIERvbid0IGFkZCBtZXNzYWdlcyBpbiB0aGUgaGlzdG9yeSB3aGVuICI6c2lsZW50IiBpcyB1c2VkLgorRmlsZXM6CSAgICBzcmMvbWVzc2FnZS5jCisKK1BhdGNoIDYuMS4zNDUgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6ICdpbWRpc2FibGUnIGRvZXNuJ3Qgd29yay4KK1NvbHV0aW9uOiAgIE1ha2UgJ2ltZGlzYWJsZScgd29yay4gKFlhc3VoaXJvIE1hdHN1bW90bykKK0ZpbGVzOgkgICAgc3JjL2d1aV93MzIuYworCitQYXRjaCA2LjEuMzQ2CitQcm9ibGVtOiAgICBUaGUgc2Nyb2xsIHdoZWVsIGNhbiBvbmx5IHNjcm9sbCB0aGUgY3VycmVudCB3aW5kb3cuCitTb2x1dGlvbjogICBNYWtlIHRoZSBzY3JvbGwgd2hlZWwgc2Nyb2xsIHRoZSB3aW5kb3cgdGhhdCB0aGUgbW91c2UgcG9pbnRzIHRvLgorCSAgICAoRGFuaWVsIEVsc3RuZXIpCitGaWxlczoJICAgIHNyYy9lZGl0LmMsIHNyYy9ndWkuYywgc3JjL25vcm1hbC5jLCBzcmMvdGVybS5jCisKK1BhdGNoIDYuMS4zNDcKK1Byb2JsZW06ICAgIFdoZW4gdXNpbmcgY3Njb3BlIHRvIGxpc3QgbWF0Y2hpbmcgdGFncywgdGhlIGxpc3RlZCBudW1iZXIgaXMKKwkgICAgc29tZXRpbWVzIG5vdCBlcXVhbCB0byB3aGF0IGNzY29wZSB1c2VzLiAoVmlocmVuIE1pbGV2KQorU29sdXRpb246ICAgRm9yIGNzY29wZSB0YWdzIHVzZSBvbmx5IG9uZSB0YWJsZSwgZG9uJ3QgZ2l2ZSB0YWdzIGluIHRoZSBjdXJyZW50CisJICAgIGZpbGUgYSBoaWdoZXIgcHJpb3JpdHkuCitGaWxlczoJICAgIHNyYy90YWcuYworCitQYXRjaCA2LjEuMzQ4CitQcm9ibGVtOiAgICBXaWxkbW9kZSB3aXRoIHdpbGRtZW51OiAiOnNldCB3aWxkbW9kZT1saXN0LGZ1bGwiLCAiOmNvbG9yc2NoZW1lCisJICAgIDx0YWI+IiByZXN1bHRzIGluICJ6ZWxsbmVyIiBpbnN0ZWFkIG9mIHRoZSBmaXJzdCBlbnRyeS4gKEFuYW5kCisJICAgIEhhcmloYXJhbikKK1NvbHV0aW9uOiAgIERvbid0IGNhbGwgRXhwYW5kT25lKCkgZnJvbSBnbG9icGF0aCgpLiAoRmxlbW1pbmcgTWFkc2VuKQorRmlsZXM6CSAgICBzcmMvZXhfZ2V0bG4uYworCitQYXRjaCA2LjEuMzQ5CitQcm9ibGVtOiAgICAidmltIC0tc2VydmVybGlzdCIgd2hlbiBubyBzZXJ2ZXIgd2FzIGV2ZXIgc3RhcnRlZCBnaXZlcyBhbiBlcnJvcgorCSAgICBtZXNzYWdlIHdpdGhvdXQgIlxuIi4KKwkgICAgInZpbSAtLXNlcnZlcmxpc3QiIGRvZXNuJ3QgZXhpdCB3aGVuIHRoZSBYIHNlcnZlciBjYW4ndCBiZQorCSAgICBjb250YWN0ZWQsIGl0IHN0YXJ0cyBWaW0gdW5leHBlY3RlZGx5LiAoUmljYXJkbyBTaWduZXMpCitTb2x1dGlvbjogICBEb24ndCBnaXZlIGFuIGVycm9yIHdoZW4gbm8gVmltIHNlcnZlciB3YXMgZXZlciBzdGFydGVkLgorCSAgICBUcmVhdCBmYWlsaW5nIG9mIG9wZW5pbmcgdGhlIGRpc3BsYXkgZXF1YWwgdG8gZXJyb3JzIGluc2lkZSB0aGUKKwkgICAgcmVtb3RlKigpIGZ1bmN0aW9ucy4gKEZsZW1taW5nIE1hZHNlbikKK0ZpbGVzOgkgICAgc3JjL2lmX3hjbWRzcnYuYywgc3JjL21haW4uYworCitQYXRjaCA2LjEuMzUwCitQcm9ibGVtOiAgICBXaGVuIGVudGVyaW5nIGEgYnVmZmVyIHdpdGggIjpibmV4dCIgZm9yIHRoZSBmaXJzdCB0aW1lLCB1c2luZyBhbgorCSAgICBhdXRvY29tbWFuZCB0byByZXN0b3JlIHRoZSBsYXN0IHVzZWQgY3Vyc29yIHBvc2l0aW9uIGRvZXNuJ3Qgd29yay4KKwkgICAgKFBhb2xvIEdpYXJ1c3NvKQorU29sdXRpb246ICAgRG9uJ3QgdXNlIHRoZSBsYXN0IGtub3duIGN1cnNvciBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCBWaW0KKwkgICAgaW52b2NhdGlvbiBpZiBhbiBhdXRvY29tbWFuZCBjaGFuZ2VkIHRoZSBwb3NpdGlvbi4KK0ZpbGVzOgkgICAgc3JjL2J1ZmZlci5jCisKK1BhdGNoIDYuMS4zNTEgKGRlcGVuZHMgb24gNi4xLjM0OSkKK1Byb2JsZW06ICAgIENyYXNoIHdoZW4gc3RhcnRpbmcgVmltIHRoZSBmaXJzdCB0aW1lIGluIGFuIFggc2VydmVyLiAoSm9obgorCSAgICBNY0dvd2FuKQorU29sdXRpb246ICAgRG9uJ3QgY2FsbCB4RnJlZSgpIHdpdGggYSBmaXhlZCBzdHJpbmcuCitGaWxlczoJICAgIHNyYy9pZl94Y21kc3J2LmMKKworUGF0Y2ggNi4xLjM1MiAoZXh0cmEsIGRlcGVuZHMgb24gNi4xLjM0NSkKK1Byb2JsZW06ICAgIFdpbjMyOiBDcmFzaCB3aGVuIHNldHRpbmcgImltZGlzYWJsZSIgaW4gX3ZpbXJjLgorU29sdXRpb246ICAgRG9uJ3QgY2FsbCBJTUUgZnVuY3Rpb25zIHdoZW4gaW1tMzIuZGxsIHdhcyBub3QgbG9hZGVkICh5ZXQpLgorCSAgICBBbHNvIGFkZCB0eXBlY2FzdHMgdG8gYXZvaWQgQ29tcGlsZXIgd2FybmluZ3MgZm9yCisJICAgIEltbUFzc29jaWF0ZUNvbnRleHQoKSBhcmd1bWVudC4KK0ZpbGVzOgkgICAgc3JjL2d1aV93MzIuYworCitQYXRjaCA2LjEuMzUzIChleHRyYSwgZGVwZW5kcyBvbiA2LjEuMzM0KQorUHJvYmxlbTogICAgUHJvYmxlbSB3aXRoIGRyYXdpbmcgQXJhYmljIGNoYXJhY3RlcnMuCitTb2x1dGlvbjogICBEb24ndCB1c2UgRVRPX1BEWSwgZG8gdXNlIHBhZGRpbmcuCitGaWxlczoJICAgIHNyYy9ndWlfdzMyLmMKKworUGF0Y2ggNi4xLjM1NCAoZXh0cmEsIGRlcGVuZHMgb24gNi4xLjMzMykKK1Byb2JsZW06ICAgIE1TLVdpbmRvd3MgOTg6IE5vdGVwYWQgY2FuJ3QgcGFzdGUgdGV4dCBjb3BpZWQgZnJvbSBWaW0gd2hlbgorCSAgICAnZW5jb2RpbmcnIGlzICJ1dGYtOCIuCitTb2x1dGlvbjogICBBbHNvIG1ha2UgQ0ZfVEVYVCBhdmFpbGFibGUgb24gdGhlIGNsaXBib2FyZC4gKFJvbiBBYXJvbikKK0ZpbGVzOgkgICAgc3JjL29zX21zd2luLmMKKworUGF0Y2ggNi4xLjM1NQorUHJvYmxlbTogICAgSW4gYSByZWdleHAgJ1xuJyB3aWxsIG5ldmVyIG1hdGNoIGFueXRoaW5nIGluIGEgc3RyaW5nLgorU29sdXRpb246ICAgTWFrZSAnXG4nIG1hdGNoIGEgbmV3bGluZSBjaGFyYWN0ZXIuCitGaWxlczoJICAgIHNyYy9idWZmZXIuYywgc3JjL2VkaXQuYywgc3JjL2V2YWwuYywgc3JjL2V4X2NtZHMyLmMsCisJICAgIHNyYy9leF9kb2NtZC5jLCBzcmMvZXhfZ2V0bG4uYywgc3JjL2ZpbGVpby5jLCBzcmMvbWlzYzEuYywKKwkgICAgc3JjL29wdGlvbi5jLCBzcmMvb3NfbWFjLmMsIHNyYy9vc191bml4LmMsIHNyYy9xdWlja2ZpeC5jLAorCSAgICBzcmMvcmVnZXhwLmMsIHNyYy9zZWFyY2guYywgc3JjL3N5bnRheC5jLCBzcmMvdGFnLmMsIHNyYy92aW0uaAorCitQYXRjaCA2LjEuMzU2IChleHRyYSwgZGVwZW5kcyBvbiwgd2VsbCwgZWgsIHNldmVyYWwgb3RoZXJzKQorUHJvYmxlbTogICAgQ29tcGlsZXIgd2FybmluZ3MgZm9yIHVzaW5nIGNvbnZlcnRfc2V0dXAoKSBhbmQgYSBmZXcgb3RoZXIKKwkgICAgdGhpbmdzLgorU29sdXRpb246ICAgQWRkIHR5cGVjYXN0cy4KK0ZpbGVzOgkgICAgc3JjL21ieXRlLmMsIHNyYy9vc19tc3dpbi5jLCBzcmMvcHJvdG8vb3Nfd2luMzIucHJvLCBzcmMvb3Nfd2luMzIuYworCitQYXRjaCA2LjEuMzU3CitQcm9ibGVtOiAgICBDUiBpbiB0aGUgcXVpY2tmaXggd2luZG93IGp1bXBzIHRvIHRoZSBlcnJvciB1bmRlciB0aGUgY3Vyc29yLCBidXQKKwkgICAgdGhpcyBkb2Vzbid0IHdvcmsgaW4gSW5zZXJ0IG1vZGUuIChTcmlrYW50aCBTYW5rYXJhbikKK1NvbHV0aW9uOiAgIEhhbmRsZSBDUiBpbiBJbnNlcnQgbW9kZSBpbiB0aGUgcXVpY2tmaXggd2luZG93LgorRmlsZXM6CSAgICBzcmMvZWRpdC5jCisKK1BhdGNoIDYuMS4zNTgKK1Byb2JsZW06ICAgIFRoZSB0dXRvciBkb2Vzbid0IHNlbGVjdCBhbm90aGVyIGxvY2FsZSB2ZXJzaW9uIHByb3Blcmx5LgorU29sdXRpb246ICAgSW5zZXJ0IHRoZSAibGV0IiBjb21tYW5kLiAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorRmlsZXM6CSAgICBydW50aW1lL3R1dG9yL3R1dG9yLnZpbQorCitQYXRjaCA2LjEuMzU5IChleHRyYSkKK1Byb2JsZW06ICAgIE1hYyBDYXJib246IFZpbSBkb2Vzbid0IGdldCBmb2N1cyB3aGVuIHN0YXJ0ZWQgZnJvbSB0aGUgY29tbWFuZAorCSAgICBsaW5lLiAgQ3Jhc2ggd2hlbiB1c2luZyBob3Jpem9udGFsIHNjcm9sbCBiYXIuCitTb2x1dGlvbjogICBTZXQgVmltIGFzIHRoZSBmcm9udHByb2Nlc3MuICBGaXggc2Nyb2xsaW5nLiAgKFBldGVyIEN1Y2thKQorRmlsZXM6CSAgICBzcmMvZ3VpX21hYy5jCisKK1BhdGNoIDYuMS4zNjAgKGRlcGVuZHMgb24gNi4xLjM0MSkKK1Byb2JsZW06ICAgIEluIEluc2VydCBtb2RlIENUUkwtSyBFU0MgbWVzc2VzIHVwIGEgbXVsdGktYnl0ZSBjaGFyYWN0ZXIuCisJICAgIChBbmRlcnMgSGVsbWVyc3NvbikKK1NvbHV0aW9uOiAgIFNhdmUgYWxsIGJ5dGVzIG9mIGEgY2hhcmFjdGVyIHdoZW4gZGlzcGxheWluZyBhIGNoYXJhY3RlcgorCSAgICB0ZW1wb3JhcmlseS4KK0ZpbGVzOgkgICAgc3JjL2VkaXQuYywgc3JjL3Byb3RvL3NjcmVlbi5wcm8sIHNyYy9zY3JlZW4uYworCitQYXRjaCA2LjEuMzYxCitQcm9ibGVtOiAgICBDYW5ub3QganVtcCB0byBhIGZpbGUgbWFyayB3aXRoICI6J00iLgorU29sdXRpb246ICAgQWxsb3cganVtcGluZyB0byBhbm90aGVyIGZpbGUgZm9yIGEgbWFyayBpbiBhbiBFeCBhZGRyZXNzIHdoZW4gaXQKKwkgICAgaXMgdGhlIG9ubHkgdGhpbmcgaW4gdGhlIGNvbW1hbmQgbGluZS4KK0ZpbGVzOgkgICAgc3JjL2V4X2RvY21kLmMKKworUGF0Y2ggNi4xLjM2MgorUHJvYmxlbTogICAgdGdldGVudCgpIG1heSByZXR1cm4gemVybyBmb3Igc3VjY2Vzcy4gdGdldGZsYWcoKSBtYXkgcmV0dXJuIC0xCisJICAgIGZvciBhbiBlcnJvci4KK1NvbHV0aW9uOiAgIENoZWNrIHRnZXRmbGFnKCkgZm9yIHJldHVybmluZyBhIHBvc2l0aXZlIHZhbHVlLiAgQWRkIGFuIGF1dG9jb25mCisJICAgIGNoZWNrIGZvciB0aGUgdmFsdWUgdGhhdCB0Z2V0ZW50KCkgcmV0dXJucy4KK0ZpbGVzOgkgICAgc3JjL2F1dG8vY29uZmlndXJlLCBzcmMvY29uZmlnLmguaW4sIHNyYy9jb25maWd1cmUuaW4sIHNyYy90ZXJtLmMKKworUGF0Y2ggNi4xLjM2MworUHJvYmxlbTogICAgYnl0ZTJsaW5lKCkgY2FuIHJldHVybiBvbmUgbW9yZSB0aGFuIHRoZSBudW1iZXIgb2YgbGluZXMuCitTb2x1dGlvbjogICBSZXR1cm4gLTEgaWYgdGhlIG9mZnNldCBpcyBvbmUgYnl0ZSBwYXN0IHRoZSBlbmQuCitGaWxlczoJICAgIHNyYy9tZW1saW5lLmMKKworUGF0Y2ggNi4xLjM2NAorUHJvYmxlbTogICAgVGhhdCB0aGUgRmlsZUNoYW5nZWRTaGVsbCBhdXRvY29tbWFuZCBldmVudCBuZXZlciBuZXN0cyBtYWtlcyBpdAorCSAgICBkaWZmaWN1bHQgdG8gcmVsb2FkIGEgZmlsZSBpbiBhIG5vcm1hbCB3YXkuCitTb2x1dGlvbjogICBBbGxvdyBuZXN0aW5nIGZvciB0aGUgRmlsZUNoYW5nZWRTaGVsbCBldmVudCBidXQgZG8gbm90IGFsbG93CisJICAgIHRyaWdnZXJpbmcgaXRzZWxmIGFnYWluLgorCSAgICBBbHNvIGF2b2lkIGF1dG9jb21tYW5kcyBmb3IgdGhlIGNtZGxpbmUgd2luZG93IGluIHJhcmUgY2FzZXMuCitGaWxlczoJICAgIHNyYy9leF9nZXRsbi5jLCBzcmMvZmlsZWlvLmMsIHNyYy93aW5kb3cuYworCitQYXRjaCA2LjEuMzY1IChkZXBlbmRzIG9uIDYuMS4yMTcpCitQcm9ibGVtOiAgICBTZXR0aW5nIGEgYnJlYWtwb2ludCBpbiBhIHNvdXJjZWQgZmlsZSB3aXRoIGEgcmVsYXRpdmUgcGF0aCBuYW1lCisJICAgIGRvZXNuJ3Qgd29yay4gKFNlcnZhdGl1cyBCcmFuZHQpCitTb2x1dGlvbjogICBFeHBhbmQgdGhlIGZpbGUgbmFtZSB0byBhIGZ1bGwgcGF0aC4KK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMyLmMKKworUGF0Y2ggNi4xLjM2NgorUHJvYmxlbTogICAgQ2FuJ3QgdXNlIFZpbSB3aXRoIE5ldGJlYW5zLgorU29sdXRpb246ICAgQWRkIHRoZSBOZXRiZWFucyBpbnRlcmZhY2UuICBJbmNsdWRlcyBzdXBwb3J0IGZvciBzaWduIGljb25zIGFuZAorCSAgICAiLWZnIiBhbmQgIi1iZyIgYXJndW1lbnRzIGZvciBHVEsuICBBZGQgdGhlICdhdXRvY2hkaXInCisJICAgIG9wdGlvbi4gIChHb3Jkb24gUHJpZXVyLCBHZW9yZ2UgSGVybmFuZGV6LCBEYXZlIFdlYXRoZXJmb3JkKQorCSAgICBNYWtlIGl0IHBvc3NpYmxlIHRvIGRpc3BsYXkgYm90aCBhIHNpZ24gd2l0aCBhIHRleHQgYW5kIG9uZSB3aXRoCisJICAgIGxpbmUgaGlnaGxpZ2h0aW5nIGluIHRoZSBzYW1lIGxpbmUuCisJICAgIEFkZCBzdXBwb3J0IGZvciBBZ2lkZSwgaW50ZXJmYWNlIHZlcnNpb24gMi4xLgorCSAgICBBbHNvIGZpeCB0aGF0IHdoZW4gJ2lza2V5d29yZCcgaW5jbHVkZXMgJz8nIHRoZSAiKiIgY29tbWFuZAorCSAgICBkb2Vzbid0IHdvcmsgcHJvcGVybHkgb24gYSB3b3JkIHRoYXQgaW5jbHVkZXMgIj8iIChCaWxsIE1jQ2FydGh5KToKKwkgICAgRG9uJ3QgZXNjYXBlICI/IiB0byAiXD8iIHdoZW4gc2VhcmNoaW5nIGZvcndhcmQuCitGaWxlczoJICAgIHJ1bnRpbWUvZG9jL01ha2VmaWxlLCBydW50aW1lL2RvYy9uZXRiZWFucy50eHQsCisJICAgIHJ1bnRpbWUvZG9jL29wdGlvbnMudHh0LCBydW50aW1lL2RvYy92YXJpb3VzLnR4dCwKKwkgICAgc3JjL01ha2VmaWxlLCBzcmMvYXV0by9jb25maWd1cmUsIHNyYy9idWZmZXIuYywgc3JjL2NvbmZpZy5oLmluLAorCSAgICBzcmMvY29uZmlnLm1rLmluLCBzcmMvY29uZmlndXJlLmluLCBzcmMvZWRpdC5jLCBzcmMvZXhfY21kcy5jLAorCSAgICBzcmMvZXhfZG9jbWQuYywgc3JjL2ZlYXR1cmUuaCwgc3JjL2ZpbGVpby5jLCBzcmMvZ2xvYmFscy5oLAorCSAgICBzcmMvZ3VpLmMsIHNyYy9ndWlfYmV2YWwuYywgc3JjL2d1aV9ndGtfeDExLmMsIHNyYy9ndWlfeDExLmMsCisJICAgIHNyYy9tYWluLmMsIHNyYy9tZW1saW5lLmMsIHNyYy9taXNjMS5jLCBzcmMvbWlzYzIuYywgc3JjL21vdmUuYywKKwkgICAgc3JjL25iZGVidWcuYywgc3JjL25iZGVidWcuaCwgc3JjL25ldGJlYW5zLmMsIHNyYy9ub3JtYWwuYywKKwkgICAgc3JjL29wcy5jLCBzcmMvb3B0aW9uLmMsIHNyYy9vcHRpb24uaCwgc3JjL3Byb3RvL2J1ZmZlci5wcm8sCisJICAgIHNyYy9wcm90by9ndWlfYmV2YWwucHJvLCBzcmMvcHJvdG8vZ3VpX2d0a194MTEucHJvLAorCSAgICBzcmMvcHJvdG8vZ3VpX3gxMS5wcm8sIHNyYy9wcm90by9taXNjMi5wcm8sCisJICAgIHNyYy9wcm90by9uZXRiZWFucy5wcm8sIHNyYy9wcm90by9ub3JtYWwucHJvLCBzcmMvcHJvdG8vdWkucHJvLAorCSAgICBzcmMvcHJvdG8uaCwgc3JjL3NjcmVlbi5jLCBzcmMvc3RydWN0cy5oLCBzcmMvdWkuYywgc3JjL3VuZG8uYywKKwkgICAgc3JjL3ZpbS5oLCBzcmMvd2luZG93LmMsIHNyYy93b3Jrc2hvcC5jCisKK1BhdGNoIDYuMS4zNjcgKGRlcGVuZHMgb24gNi4xLjM2NSkKK1Byb2JsZW06ICAgIFNldHRpbmcgYSBicmVha3BvaW50IGluIGEgZnVuY3Rpb24gZG9lc24ndCB3b3JrLiAgRm9yIGEgc291cmNlZAorCSAgICBmaWxlIGl0IGRvZXNuJ3Qgd29yayB3aGVuIHN5bWJvbGljIGxpbmtzIGFyZSBpbnZvbHZlZC4gIChTZXJ2YXRpdXMKKwkgICAgQnJhbmR0KQorU29sdXRpb246ICAgRXhwYW5kIHRoZSBmaWxlIG5hbWUgaW4gdGhlIHNhbWUgd2F5IGFzIGRvX3NvdXJjZSgpIGRvZXMuICBEb24ndAorCSAgICBwcmVwZW5kIHRoZSBwYXRoIHRvIGEgZnVuY3Rpb24gbmFtZS4KK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMyLmMKKworUGF0Y2ggNi4xLjM2OAorUHJvYmxlbTogICAgQ29tcGxldGlvbiBmb3IgIjptYXAiIGRvZXMgbm90IGluY2x1ZGUgPHNpbGVudD4gYW5kIDxzY3JpcHQ+LgorCSAgICAiOm1rZXhyYyIgZG8gbm90IHNhdmUgdGhlIDxzaWxlbnQ+IGF0dHJpYnV0ZSBvZiBtYXBwaW5ncy4KK1NvbHV0aW9uOiAgIEFkZCAiPHNpbGVudD4iIHRvIHRoZSBnZW5lcmF0ZWQgbWFwIGNvbW1hbmRzIHdoZW4gYXBwcm9wcmlhdGUuCisJICAgIChEYXZpZCBFbHN0bmVyKQorCSAgICBBZGQgPHNpbGVudD4gYW5kIDxzY3JpcHQ+IHRvIGNvbW1hbmQgbGluZSBjb21wbGV0aW9uLgorRmlsZXM6CSAgICBzcmMvZ2V0Y2hhci5jCisKK1BhdGNoIDYuMS4zNjkgKGV4dHJhKQorUHJvYmxlbTogICAgVk1TOiBWaW0gaGFuZ3Mgd2hlbiBhdHRlbXB0aW5nIHRvIGVkaXQgYSByZWFkLW9ubHkgZmlsZSBpbiB0aGUKKwkgICAgdGVybWluYWwuICBQcm9ibGVtIHdpdGggVk1TIGZpbGVuYW1lcyBmb3IgcXVpY2tmaXguCitTb2x1dGlvbjogICBSZXdyaXRlIGxvdyBsZXZlbCBpbnB1dC4gIFJlbW92ZSB2ZXJzaW9uIG51bWJlciBmcm9tIGZpbGUgbmFtZSBpbgorCSAgICBhIGNvdXBsZSBtb3JlIHBsYWNlcy4gIEZpeCBjcmFzaCBhZnRlciBwYXRjaCA2LjEuMzYyLiAgQ29ycmVjdAorCSAgICByZXR1cm4gY29kZSBmb3Igc3lzdGVtKCkuICAoWm9sdGFuIEFycGFkZmZ5LCBUb21hcyBTdGVobGlrKQorRmlsZXM6CSAgICBzcmMvbWlzYzEuYywgc3JjL29zX3VuaXguYywgc3JjL29zX3Ztcy5jLCBzcmMvcHJvdG8vb3Nfdm1zLnBybywKKwkgICAgc3JjL29zX3Ztc19jb25mLmgsIHNyYy9xdWlja2ZpeC5jLCBzcmMvdWkuYworCitQYXRjaCA2LjEuMzcwCitQcm9ibGVtOiAgICAjaWZkZWYgbmVzdGluZyBpcyB1bmNsZWFyLgorU29sdXRpb246ICAgSW5zZXJ0IHNwYWNlcyB0byBpbmRpY2F0ZSB0aGUgbmVzdGluZy4KK0ZpbGVzOgkgICAgc3JjL29zX3VuaXguYworCitQYXRjaCA2LjEuMzcxCitQcm9ibGVtOiAgICAiJVYiIGluICdzdGF0dXNsaW5lJyBkb2Vzbid0IHNob3cgIjAtMSIgaW4gYW4gZW1wdHkgbGluZS4KK1NvbHV0aW9uOiAgIEFkZCBvbmUgdG8gdGhlIGNvbHVtbiB3aGVuIGNvbXBhcmluZyB3aXRoIHZpcnR1YWwgY29sdW1uIChBbmRyZXcKKwkgICAgUGltbG90dCkKK0ZpbGVzOgkgICAgc3JjL2J1ZmZlci5jCisKK1BhdGNoIDYuMS4zNzIKK1Byb2JsZW06ICAgIFdpdGggMTYgYml0IGludHMgdGhlcmUgYXJlIGNvbXBpbGVyIHdhcm5pbmdzLiAoV2FsdGVyIEJyaXNjb2UpCitTb2x1dGlvbjogICBDaGFuZ2UgaW50IGludG8gbG9uZy4KK0ZpbGVzOgkgICAgc3JjL3N0cnVjdHMuaCwgc3JjL3N5bnRheC5jCisKK1BhdGNoIDYuMS4zNzMKK1Byb2JsZW06ICAgIFRoZSBkZWZhdWx0IHBhZ2UgaGVhZGVyIGZvciBwcmludGluZyBpcyBub3QgdHJhbnNsYXRlZC4KK1NvbHV0aW9uOiAgIEFkZCBfKCkgYXJvdW5kIHRoZSB0d28gcGxhY2VzIHdoZXJlICJQYWdlIiBpcyB1c2VkLiAoTWlrZQorCSAgICBXaWxsaWFtcykgIFRyYW5zbGF0ZSB0aGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgJ3RpdGxlb2xkJyBhbmQKKwkgICAgJ3ByaW50aGVhZGVyJyBvcHRpb25zLgorRmlsZXM6CSAgICBzcmMvZXhfY21kczIuYywgc3JjL29wdGlvbi5jCisKK1BhdGNoIDYuMS4zNzQgKGV4dHJhKQorUHJvYmxlbTogICAgTVMtV2luZG93czogQ2Fubm90IGJ1aWxkIEd2aW1FeHQgd2l0aCBNaW5nVyBvciBDeWd3aW4uCitTb2x1dGlvbjogICBBZGQgbWFrZWZpbGUgYW5kIG1vZGlmaWVkIHJlc291cmNlIGZpbGVzLiAoUmVuZSBkZSBad2FydCkKKwkgICAgQWxzbyBzdXBwb3J0IEN5Z3dpbi4gKEFsZWphbmRybyBMb3Blel9WYWxlbmNpYSkKK0ZpbGVzOgkgICAgR3ZpbUV4dC9NYWtlX2N5Zy5tYWssIEd2aW1FeHQvTWFrZV9taW5nLm1haywgR3ZpbUV4dC9NYWtlZmlsZSwKKwkgICAgR3ZpbUV4dC9ndmltZXh0X21pbmcuZGVmLCBHdmltRXh0L2d2aW1leHRfbWluZy5yYworCitQYXRjaCA2LjEuMzc1CitQcm9ibGVtOiAgICBNUy1XaW5kb3dzOiAnOiFkaXIgIiUiJyBkb2VzIG5vdCB3b3JrIGZvciBhIGZpbGUgbmFtZSB3aXRoIHNwYWNlcy4KKwkgICAgKFhpYW5namlhbmcgTWEpCitTb2x1dGlvbjogICBEb24ndCBpbnNlcnQgYmFja3NsYXNoZXMgZm9yIHNwYWNlcyBpbiBhIHNoZWxsIGNvbW1hbmQuCitGaWxlczoJICAgIHNyYy9leF9kb2NtZC5jCisKK1BhdGNoIDYuMS4zNzYKK1Byb2JsZW06ICAgICJ2aW0gLS12ZXJzaW9uIiBhbmQgInZpbSAtLWhlbHAiIGhhdmUgYSBub24temVybyBleGl0IGNvZGUuCisJICAgIFRoYXQgaXMgdW51c3VhbC4gKFBldGVzZWEpCitTb2x1dGlvbjogICBVc2UgYSB6ZXJvIGV4aXQgY29kZS4KK0ZpbGVzOgkgICAgc3JjL21haW4uYworCitQYXRjaCA2LjEuMzc3CitQcm9ibGVtOiAgICBDYW4ndCBhZGQgd29yZHMgdG8gJ2xpc3B3b3Jkcycgb3B0aW9uLgorU29sdXRpb246ICAgQWRkIFBfQ09NTUEgYW5kIFBfTk9EVVAgZmxhZ3MuIChIYWFrb24gUmlpc2VyKQorRmlsZXM6CSAgICBzcmMvb3B0aW9uLmMKKworUGF0Y2ggNi4xLjM3OAorUHJvYmxlbTogICAgV2hlbiB0d28gYnVmZmVyLWxvY2FsIHVzZXIgY29tbWFuZHMgYXJlIGFtYmlndW91cywgYSBmdWxsIG1hdGNoCisJICAgIHdpdGggYSBnbG9iYWwgdXNlciBjb21tYW5kIGlzbid0IGZvdW5kLiAoSGFyaSBLcmlzaG5hIERhcmEpCitTb2x1dGlvbjogICBEZXRlY3QgdGhpcyBzaXR1YXRpb24gYW5kIGFjY2VwdCB0aGUgZ2xvYmFsIGNvbW1hbmQuCitGaWxlczoJICAgIHNyYy9leF9kb2NtZC5jCisKK1BhdGNoIDYuMS4zNzkKK1Byb2JsZW06ICAgIExpbnV4IHdpdGgga2VybmVsIDIuMiBjYW4ndCB1c2UgdGhlIGFsdGVybmF0ZSBzdGFjayBpbiBjb21iaW5hdGlvbgorCSAgICB3aXRoIHRocmVhZGluZywgY2F1c2VzIGFuIGluZmluaXRlIGxvb3AuCitTb2x1dGlvbjogICBEb24ndCB1c2UgdGhlIGFsdGVybmF0ZSBzdGFjayBpbiB0aGlzIHNpdHVhdGlvbi4KK0ZpbGVzOgkgICAgc3JjL29zX3VuaXguYworCitQYXRjaCA2LjEuMzgwCitQcm9ibGVtOiAgICBXaGVuICd3aW5taW5oZWlnaHQnIGlzIHplcm8gYW5kIHRoZSBxdWlja2ZpeCB3aW5kb3cgaXMgemVybyBsaW5lcywKKwkgICAgZW50ZXJpbmcgdGhlIHdpbmRvdyBkb2Vzbid0IG1ha2UgaXQgaGlnaGVyLiAoQ2hyaXN0aWFuIEouCisJICAgIFJvYmluc29uKQorU29sdXRpb246ICAgTWFrZSBzdXJlIHRoZSBjdXJyZW50IHdpbmRvdyBpcyBhdCBsZWFzdCBvbmUgbGluZSBoaWdoLgorRmlsZXM6CSAgICBzcmMvd2luZG93LmMKKworUGF0Y2ggNi4xLjM4MQorUHJvYmxlbTogICAgV2hlbiBhIEJ1ZldyaXRlQ21kIGlzIHVzZWQgYW5kIGl0IGxlYXZlcyB0aGUgYnVmZmVyIG1vZGlmaWVkLCB0aGUKKwkgICAgd2luZG93IG1heSBzdGlsbCBiZSBjbG9zZWQuIChIYXJpIEtyaXNobmEgRGFyYSkKK1NvbHV0aW9uOiAgIFJldHVybiBGQUlMIGZyb20gYnVmX3dyaXRlKCkgd2hlbiB0aGUgYnVmZmVyIGlzIHN0aWxsIG1vZGlmaWVkCisJICAgIGFmdGVyIGEgQnVmV3JpdGVDbWQgYXV0b2NvbW1hbmQgd2FzIHVzZWQuCitGaWxlczoJICAgIHNyYy9maWxlaW8uYworCitQYXRjaCA2LjEuMzgyIChleHRyYSkKK1Byb2JsZW06ICAgIFdpbjMyIEdVSTogV2hlbiB1c2luZyB0d28gbW9uaXRvcnMsIHRoZSBjb2RlIHRoYXQgY2hlY2tzL2ZpeGVzIHRoZQorCSAgICB3aW5kb3cgc2l6ZSBhbmQgcG9zaXRpb24gKGUuZy4gd2hlbiBhIGZvbnQgY2hhbmdlcykgZG9lc24ndCB3b3JrCisJICAgIHByb3Blcmx5LiAgKEdlb3JnZSBSZWlsbHkpCitTb2x1dGlvbjogICBIYW5kbGUgYSBkb3VibGUgbW9uaXRvciBzaXR1YXRpb24uIChIZWxtdXQgU3RpZWdsZXIpCitGaWxlczoJICAgIHNyYy9ndWlfdzMyLmMKKworUGF0Y2ggNi4xLjM4MworUHJvYmxlbTogICAgVGhlIGZpbGxpbmcgb2YgdGhlIHN0YXR1cyBsaW5lIGRvZXNuJ3Qgd29yayBwcm9wZXJseSBmb3IKKwkgICAgbXVsdGktYnl0ZSBjaGFyYWN0ZXJzLiAoTmFtIFN1bmdIeXVuKQorCSAgICBUaGVyZSBpcyBubyBjaGVjayBmb3IgZ29pbmcgcGFzdCB0aGUgZW5kIG9mIHRoZSBidWZmZXIuCitTb2x1dGlvbjogICBQcm9wZXJseSBkaXN0aW5ndWlzaCBjaGFyYWN0ZXJzIGFuZCBieXRlcy4gIFByb3Blcmx5IGNoZWNrIGZvcgorCSAgICBydW5uaW5nIG91dCBvZiBidWZmZXIgc3BhY2UuCitGaWxlczoJICAgIHNyYy9idWZmZXIuYywgc3JjL2V4X2NtZHMyLmMsIHNyYy9wcm90by9idWZmZXIucHJvLCBzcmMvc2NyZWVuLmMKKworUGF0Y2ggNi4xLjM4NAorUHJvYmxlbTogICAgSXQgaXMgbm90IHBvc3NpYmxlIHRvIGZpbmQgaWYgYSBjZXJ0YWluIHBhdGNoIGhhcyBiZWVuIGluY2x1ZGVkLgorCSAgICAoTHVib21pciBIb3N0KQorU29sdXRpb246ICAgU3VwcG9ydCB1c2luZyBoYXMoKSB0byBjaGVjayBpZiBhIHBhdGNoIHdhcyBpbmNsdWRlZC4KK0ZpbGVzOgkgICAgcnVudGltZS9kb2MvZXZhbC50eHQsIHNyYy9ldmFsLmMsIHNyYy9wcm90by92ZXJzaW9uLnBybywKKwkgICAgc3JjL3ZlcnNpb24uYworCitQYXRjaCA2LjEuMzg1IChkZXBlbmRzIG9uIDYuMS4zODMpCitQcm9ibGVtOiAgICBDYW4ndCBjb21waWxlIHdpdGhvdXQgdGhlIG11bHRpLWJ5dGUgZmVhdHVyZS4KK1NvbHV0aW9uOiAgIE1vdmUgYW4gI2lmZGVmLiAgKENocmlzdGlhbiBKLiBSb2JpbnNvbikKK0ZpbGVzOgkgICAgc3JjL2J1ZmZlci5jCisKK1BhdGNoIDYuMS4zODYKK1Byb2JsZW06ICAgIEdldCBkdXBsaWNhdGUgdGFncyB3aGVuIHJ1bm5pbmcgIjpoZWxwdGFncyIuCitTb2x1dGlvbjogICBEbyB0aGUgb3RoZXIgaGFsdmUgb2YgbW92aW5nIGEgc2VjdGlvbiB0byBhbm90aGVyIGhlbHAgZmlsZS4KK0ZpbGVzOgkgICAgcnVudGltZS90YWdzcmNoLnR4dAorCitQYXRjaCA2LjEuMzg3IChkZXBlbmRzIG9uIDYuMS4zNzMpCitQcm9ibGVtOiAgICBDb21waWxlciB3YXJuaW5nIGZvciBwb2ludGVyIGNhc3QuCitTb2x1dGlvbjogICBBZGQgKGNoYXJfdSAqKS4KK0ZpbGVzOgkgICAgc3JjL29wdGlvbi5jCisKK1BhdGNoIDYuMS4zODggKGRlcGVuZHMgb24gNi4xLjM4NCkKK1Byb2JsZW06ICAgIENvbXBpbGVyIHdhcm5pbmcgZm9yIHBvaW50ZXIgY2FzdC4KK1NvbHV0aW9uOiAgIEFkZCAoY2hhciAqKS4gIE9ubHkgaW5jbHVkZSBoYXNfcGF0Y2goKSB3aGVuIHVzZWQuCitGaWxlczoJICAgIHNyYy9ldmFsLmMsIHNyYy92ZXJzaW9uLmMKKworUGF0Y2ggNi4xLjM4OSAoZGVwZW5kcyBvbiA2LjEuMzY2KQorUHJvYmxlbTogICAgQmFsbG9vbiBldmFsdWF0aW9uIGRvZXNuJ3Qgd29yayBmb3IgR1RLLgorCSAgICBoYXMoImJhbGxvb25fZXZhbCIpIGRvZXNuJ3Qgd29yay4KK1NvbHV0aW9uOiAgIEFkZCBiYWxsb29uIGV2YWx1YXRpb24gZm9yIEdUSy4gIEFsc28gaW1wcm92ZSBkaXNwbGF5aW5nIG9mIHNpZ25zLgorCSAgICAoRGFuaWVsIEVsc3RuZXIpCisJICAgIEFsc28gbWFrZSAiOmd1aSIgc3RhcnQgdGhlIG5ldGJlYW5zIGNvbm5lY3Rpb24gYW5kIGF2b2lkIHVzaW5nCisJICAgIG5ldGJlYW5zIGZ1bmN0aW9ucyB3aGVuIHRoZSBjb25uZWN0aW9uIGlzIG5vdCBvcGVuLgorRmlsZXM6CSAgICBzcmMvTWFrZWZpbGUsIHNyYy9mZWF0dXJlLmgsIHNyYy9ndWkuYywgc3JjL2d1aS5oLAorCSAgICBzcmMvZ3VpX2JldmFsLmMsIHNyYy9ndWlfYmV2YWwuaCwgc3JjL2d1aV9ndGsuYywKKwkgICAgc3JjL2d1aV9ndGtfeDExLmMsIHNyYy9ldmFsLmMsIHNyYy9tZW1saW5lLmMsIHNyYy9tZW51LmMsCisJICAgIHNyYy9uZXRiZWFucy5jLCBzcmMvcHJvdG8vZ3VpX2JldmFsLnBybywgc3JjL3Byb3RvL2d1aV9ndGsucHJvLAorCSAgICBzcmMvc3RydWN0cy5oLCBzcmMvc3ludGF4LmMsIHNyYy91aS5jLCBzcmMvd29ya3Nob3AuYworCitQYXRjaCA2LjEuMzkwIChkZXBlbmRzIG9uIDYuMS4zODkpCitQcm9ibGVtOiAgICBJdCdzIG5vdCBwb3NzaWJsZSB0byB0ZWxsIFZpbSB0byBzYXZlIGFuZCBleGl0IHRocm91Z2ggdGhlCisJICAgIE5ldGJlYW5zIGludGVyZmFjZS4gIFdvdWxkIHN0aWxsIHRyeSB0byBzZW5kIGJhbGxvb24gZXZhbCB0ZXh0CisJICAgIGFmdGVyIHRoZSBjb25uZWN0aW9uIGlzIGNsb3NlZC4KKwkgICAgQ2FuJ3QgdXNlIFVuaWNvZGUgY2hhcmFjdGVycyBmb3Igc2lnbiB0ZXh0LgorU29sdXRpb246ICAgQWRkIGZ1bmN0aW9ucyAic2F2ZUFuZEV4aXQiIGFuZCAiZ2V0TW9kaWZpZWQiLiAgQ2hlY2sgZm9yIGEKKwkgICAgd29ya2luZyBjb25uZWN0aW9uIGJlZm9yZSBzZW5kaW5nIGEgYmFsbG9vblRleHQgZXZlbnQuCisJICAgIHZhcmlvdXMgb3RoZXIgY2xlYW51cHMuCisJICAgIFN1cHBvcnQgYW55IGNoYXJhY3RlciBmb3Igc2lnbiB0ZXh0LiAoRGFuaWVsIEVsc3RuZXIpCitGaWxlczoJICAgIHJ1bnRpbWUvZG9jL25ldGJlYW5zLnR4dCwgcnVudGltZS9kb2Mvc2lnbi50eHQsIHNyYy9leF9jbWRzLmMsCisJICAgIHNyYy9uZXRiZWFucy5jLCBzcmMvc2NyZWVuLmMKKworUGF0Y2ggNi4xLjM5MQorUHJvYmxlbTogICAgbWxfZ2V0KCkgZXJyb3Igd2hlbiB1c2luZyB2aXJ0dWFsZWRpdC4gKENoYXJsZXMgQ2FtcGJlbGwpCitTb2x1dGlvbjogICBHZXQgYSBsaW5lIGZyb20gYSBzcGVjaWZpYyB3aW5kb3csIG5vdCB0aGUgY3VycmVudCBvbmUuCitGaWxlczoJICAgIHNyYy9jaGFyc2V0LmMKKworUGF0Y2ggNi4xLjM5MiAoZGVwZW5kcyBvbiA2LjEuMzgzKQorUHJvYmxlbTogICAgSGlnaGxpZ2h0aW5nIGluIHRoZSAnc3RhdHVzbGluZScgaXMgaW4gdGhlIHdyb25nIHBvc2l0aW9uIHdoZW4gYW4KKwkgICAgaXRlbSBpcyB0cnVuY2F0ZWQuIChaYWsgQmVjaykKK1NvbHV0aW9uOiAgIENvcnJlY3QgdGhlIHN0YXJ0IG9mICdzdGF0dXNsaW5lJyBpdGVtcyBwcm9wZXJseSBmb3IgYSB0cnVuY2F0ZWQKKwkgICAgaXRlbS4KK0ZpbGVzOgkgICAgc3JjL2J1ZmZlci5jCisKK1BhdGNoIDYuMS4zOTMKK1Byb2JsZW06ICAgIFdoZW4gY29tcGlsZWQgd2l0aCBQeXRob24gYW5kIHRocmVhZHMsIGRldGFjaGluZyB0aGUgdGVybWluYWwgbWF5CisJICAgIGNhdXNlIFZpbSB0byBsb29wIGZvcmV2ZXIuCitTb2x1dGlvbjogICBBZGQgLXB0aHJlYWQgdG8gJENGTEFHUyB3aGVuIHVzaW5nIFB5dGhvbiBhbmQgZ2NjLiAoRGFuaWVsCisJICAgIEVsc3RuZXIpCitGaWxlczoJICAgIHNyYy9hdXRvL2NvbmZpZ3VyZSwsIHNyYy9jb25maWd1cmUuaW4KKworUGF0Y2ggNi4xLjM5NCAoZGVwZW5kcyBvbiA2LjEuMzkwKQorUHJvYmxlbTogICAgVGhlIG5ldGJlYW5zIGludGVyZmFjZSBkb2Vzbid0IHJlY29nbml6ZSBtdWx0aWJ5dGUgZ2x5cGggbmFtZXMuCitTb2x1dGlvbjogICBDaGVjayB0aGUgbnVtYmVyIG9mIGNlbGxzIHJhdGhlciB0aGFuIGJ5dGVzIHRvIGRlY2lkZQorCSAgICB3aGV0aGVyIGEgZ2x5cGggbmFtZSBpcyBub3QgYSBmaWxlbmFtZS4gKERhbmllbCBFbHN0bmVyKQorRmlsZXM6CSAgICBzcmMvbmV0YmVhbnMuYworCitQYXRjaCA2LjEuMzk1IChleHRyYSwgZGVwZW5kcyBvbiA2LjEuMzY5KQorUHJvYmxlbTogICAgVk1TOiBPTERfVk1TIGlzIG5ldmVyIGRlZmluZWQuICBNaXNzaW5nIGZ1bmN0aW9uIHByb3RvdHlwZS4KK1NvbHV0aW9uOiAgIERlZmluZSBPTERfVk1TIGluIE1ha2Vfdm1zLm1tcy4gIEFkZCB2bXNfc3lzX3N0YXR1cygpIHRvCisJICAgIG9zX3Ztcy5wcm8uIChab2x0YW4gQXJwYWRmZnkpCitGaWxlczoJICAgIHNyYy9NYWtlX3Ztcy5tbXMsIHNyYy9wcm90by9vc192bXMucHJvCisKK1BhdGNoIDYuMS4zOTYgKGRlcGVuZHMgb24gNi4xLjMzMCkKK1Byb2JsZW06ICAgIENvbXBpbGVyIHdhcm5pbmdzIGZvciB1c2luZyBlbnVtLgorU29sdXRpb246ICAgQWRkIHR5cGVjYXN0IHRvIGNoYXJfdS4KK0ZpbGVzOgkgICAgc3JjL2d1aV9ndGtfeDExLmMsIHNyYy9ndWlfeDExLmMKKworUGF0Y2ggNi4xLjM5NyAoZXh0cmEpCitQcm9ibGVtOiAgICBUaGUgaW5zdGFsbCBwcm9ncmFtIG1heSB1c2UgYSB3cm9uZyBwYXRoIGZvciB0aGUgZGlmZiBjb21tYW5kIGlmCisJICAgIHRoZXJlIGlzIGEgc3BhY2UgaW4gdGhlIGluc3RhbGwgZGlyZWN0b3J5IHBhdGguCitTb2x1dGlvbjogICBVc2UgZG91YmxlIHF1b3RlcyBhcm91bmQgdGhlIHBhdGggaWYgbmVjZXNzYXJ5LiAoQWxlamFuZHJvCisJICAgIExvcGV6LVZhbGVuY2lhKSAgQWxzbyB1c2UgZG91YmxlIHF1b3RlcyBhcm91bmQgdGhlIGZpbGUgbmFtZQorCSAgICBhcmd1bWVudHMuCitGaWxlczoJICAgIHNyYy9kb3NpbnN0LmMKKworUGF0Y2ggNi4xLjM5OAorUHJvYmxlbTogICAgU2F2aW5nIHRoZSB0eXBlYWhlYWQgZm9yIGRlYnVnIG1vZGUgY2F1c2VzIHRyb3VibGUgZm9yIGEgdGVzdAorCSAgICBzY3JpcHQuIChTZXJ2YXRpdXMgQnJhbmR0KQorU29sdXRpb246ICAgQWRkIHRoZSAiOmRlYnVnZ3JlZWR5IiBjb21tYW5kIHRvIGF2b2lkIHNhdmluZyB0aGUgdHlwZWFoZWFkLgorRmlsZXM6CSAgICBydW50aW1lL2RvYy9yZXBlYXQudHh0LCBzcmMvZXhfY21kcy5oLCBzcmMvZXhfY21kczIuYywKKwkgICAgc3JjL2V4X2RvY21kLmMsIHNyYy9wcm90by9leF9jbWRzMi5wcm8KKworUGF0Y2ggNi4xLjM5OQorUHJvYmxlbTogICAgV2FybmluZyBmb3IgdW51c2VkIHZhcmlhYmxlLgorU29sdXRpb246ICAgUmVtb3ZlIHRoZSB2YXJpYWJsZSB0d29fb3JfbW9yZS4KK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMuYworCitQYXRjaCA2LjEuNDAwIChkZXBlbmRzIG9uIDYuMS4zODEpCitQcm9ibGVtOiAgICBXaGVuIGEgQnVmV3JpdGVDbWQgd2lwZXMgb3V0IHRoZSBidWZmZXIgaXQgbWF5IHN0aWxsIGJlIGFjY2Vzc2VkLgorU29sdXRpb246ICAgRG9uJ3QgdHJ5IGFjY2Vzc2luZyBhIGJ1ZmZlciB0aGF0IGhhcyBiZWVuIHdpcGVkIG91dC4KK0ZpbGVzOgkgICAgc3JjL2ZpbGVpby5jCisKK1BhdGNoIDYuMS40MDEgKGV4dHJhKQorUHJvYmxlbTogICAgQnVpbGRpbmcgdGhlIFdpbjE2IHZlcnNpb24gd2l0aCBCb3JsYW5kIDUuMDEgZG9lc24ndCB3b3JrLgorCSAgICAibWFrZSB0ZXN0IiBkb2Vzbid0IHdvcmsgd2l0aCBNYWtlX2Rvcy5tYWsuIChXYWx0ZXIgQnJpc2NvZSkKK1NvbHV0aW9uOiAgIFZhcmlvdXMgZml4ZXMgdG8gdGhlIHcxNiBtYWtlZmlsZS4gKFdhbHRlciBCcmlzY29lKQorCSAgICBEb24ndCB1c2UgZGVsdHJlZS4gIFVzZSAibWtkaXIgXHRtcCIgaW5zdGVhZCBvZiAibWtkaXIgL3RtcCIuCitGaWxlczoJICAgIHNyYy9NYWtlX3cxNi5tYWssIHNyYy90ZXN0ZGlyL01ha2VfZG9zLm1haworCitQYXRjaCA2LjEuNDAyCitQcm9ibGVtOiAgICBXaGVuIGV2YWx1YXRpbmcgYSBmdW5jdGlvbiBuYW1lIHdpdGggY3VybHkgYnJhY2VzLCBhbiBlcnJvcgorCSAgICBpcyBub3QgaGFuZGxlZCBjb25zaXN0ZW50bHkuCitTb2x1dGlvbjogICBBY2NlcHQgdGhlIHJlc3VsdCBvZiBhbiBjdXJseSBicmFjZXMgZXhwcmVzc2lvbiB3aGVuIGFuCisJICAgIGVycm9yIHdhcyBlbmNvdW50ZXJlZC4gIFNraXAgZXZhbHVhdGluZyBhbiBleHByZXNzaW9uIGluIGN1cmx5CisJICAgIGJyYWNlcyB3aGVuIHNraXBwaW5nLiAgKFNlcnZhdGl1cyBCcmFuZHQpCitGaWxlczoJICAgIHNyYy9ldmFsLmMKKworUGF0Y2ggNi4xLjQwMyAoZXh0cmEpCitQcm9ibGVtOiAgICBNUy1XaW5kb3dzIDE2IGJpdDogY29tcGlsZXIgd2FybmluZ3MuCitTb2x1dGlvbjogICBBZGQgdHlwZWNhc3RzLiAoV2FsdGVyIEJyaXNjb2UpCitGaWxlczoJICAgIHNyYy9leF9jbWRzMi5jLCBzcmMvZ3VpX3c0OC5jLCBzcmMvb3NfbXN3aW4uYywgc3JjL29zX3dpbjE2LmMsCisJICAgIHNyYy9zeW50YXguYworCitQYXRjaCA2LjEuNDA0IChleHRyYSkKK1Byb2JsZW06ICAgIFZhcmlvdXMgc21hbGwgcHJvYmxlbXMuCitTb2x1dGlvbjogICBGaXggY29tbWVudHMuICBWYXJpb3VzIHNtYWxsIGFkZGl0aW9ucywgY2hhbmdlcyBpbiBpbmRlbnQsIHJlbW92YWwKKwkgICAgb2YgdW51c2VkIGl0ZW1zIGFuZCBmaXhlcy4KK0ZpbGVzOgkgICAgTWFrZWZpbGUsIFJFQURNRS50eHQsIHJ1bnRpbWUvbWVudS52aW0sIHJ1bnRpbWUvdmltcmNfZXhhbXBsZS52aW0sCisJICAgIHNyYy9JTlNUQUxMLCBzcmMvSU5TVEFMTG9sZS50eHQsIHNyYy9NYWtlX2JjNS5tYWssCisJICAgIHNyYy9NYWtlX2N5Zy5tYWssIHNyYy9NYWtlX21pbmcubWFrLCBzcmMvTWFrZWZpbGUsCisJICAgIHNyYy9jb25maWcuaC5pbiwgc3JjL2VkaXQuYywgc3JjL2V2YWwuYywgc3JjL2V4X2NtZHMyLmMsCisJICAgIHNyYy9leF9kb2NtZC5jLCBzcmMvZXhfZ2V0bG4uYywgc3JjL2ZpbGVpby5jLCBzcmMvZ2V0Y2hhci5jLAorCSAgICBzcmMvZ3VpLmMsIHNyYy9ndWlfZ3RrLmMsIHNyYy9ndWlfcGhvdG9uLmMsIHNyYy9pZl9jc2NvcGUuYywKKwkgICAgc3JjL2lmX3B5dGhvbi5jLCBzcmMva2V5bWFwLmgsIHNyYy9tYXJrLmMsIHNyYy9tYnl0ZS5jLAorCSAgICBzcmMvbWVzc2FnZS5jLCBzcmMvbWlzYzEuYywgc3JjL21pc2MyLmMsIHNyYy9ub3JtYWwuYywKKwkgICAgc3JjL29wdGlvbi5jLCBzcmMvb3Nfb3MyX2NmZy5oLCBzcmMvb3Nfd2luMzIuYywKKwkgICAgc3JjL3Byb3RvL2dldGNoYXIucHJvLCBzcmMvcHJvdG8vbWVzc2FnZS5wcm8sCisJICAgIHNyYy9wcm90by9yZWdleHAucHJvLCBzcmMvc2NyZWVuLmMsIHNyYy9zdHJ1Y3RzLmgsIHNyYy9zeW50YXguYywKKwkgICAgc3JjL3Rlcm0uYywgc3JjL3Rlc3RkaXIvdGVzdDE1LmluLCBzcmMvdGVzdGRpci90ZXN0MTUub2ssCisJICAgIHNyYy92aW0ucmMsIHNyYy94eGQvTWFrZV9jeWcubWFrLCBzcmMveHhkL01ha2VmaWxlCisKK1BhdGNoIDYuMS40MDUKK1Byb2JsZW06ICAgIEEgZmV3IGZpbGVzIGFyZSBtaXNzaW5nIGZyb20gdGhlIHRvcGxldmVsIE1ha2VmaWxlLgorU29sdXRpb246ICAgQWRkIHRoZSBtaXNzaW5nIGZpbGVzLgorRmlsZXM6CSAgICBNYWtlZmlsZQorCitQYXRjaCA2LjEuNDA2IChkZXBlbmRzIG9uIDYuMS4zOTIpCitQcm9ibGVtOiAgICBXaGVuIGEgc3RhdHVzbGluZSBpdGVtIGRvZXNuJ3QgZml0IGFyYml0cmFyeSB0ZXh0IGFwcGVhcnMuCisJICAgIChDaHJpc3RpYW4gSi4gUm9iaW5zb24pCitTb2x1dGlvbjogICBXaGVuIHRoZXJlIGlzIGp1c3QgZW5vdWdoIHJvb20gYnV0IG5vdCBmb3IgdGhlICI8IiB0cnVuY2F0ZSB0aGUKKwkgICAgc3RhdHVzbGluZSBpdGVtIGxpa2UgdGhlcmUgaXMgbm8gcm9vbS4KK0ZpbGVzOgkgICAgc3JjL2J1ZmZlci5jCisKK1BhdGNoIDYuMS40MDcKK1Byb2JsZW06ICAgICI6c2V0IHNjcm9sbGJpbmQgfCBoZWxwIiBzY3JvbGxiaW5kcyB0aGUgaGVscCB3aW5kb3cuIChBbmRyZXcKKwkgICAgUGltbG90dCkKK1NvbHV0aW9uOiAgIFJlc2V0ICdzY3JvbGxiaW5kJyB3aGVuIG9wZW5pbmcgYSBoZWxwIHdpbmRvdy4KK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMuYworCitQYXRjaCA2LjEuNDA4CitQcm9ibGVtOiAgICBXaGVuICdyaWdodGxlZnQnIGlzIHNldCB1bnByaW50YWJsZSBjaGFyYWN0ZXIgMHgwYyBpcyBkaXNwbGF5ZWQgYXMKKwkgICAgIj5jMDwiLgorU29sdXRpb246ICAgUmV2ZXJzZSB0aGUgdGV4dCBvZiB0aGUgaGV4IGNoYXJhY3Rlci4KK0ZpbGVzOgkgICAgc3JjL3NjcmVlbi5jCisKK1BhdGNoIDYuMS40MDkKK1Byb2JsZW06ICAgIEdlbmVyYXRpbmcgdGFncyBmb3IgdGhlIGhlbHAgZG9lc24ndCB3b3JrIGZvciBzb21lIGxvY2FsZXMuCitTb2x1dGlvbjogICBTZXQgTEFORz1DIExDX0FMTD1DIGluIHRoZSBlbnZpcm9ubWVudCBmb3IgInNvcnQiLiAoRGFuaWVsCisJICAgIEVsc3RuZXIpCitGaWxlczoJICAgIHJ1bnRpbWUvZG9jL01ha2VmaWxlCisKK1BhdGNoIDYuMS40MTAgKGRlcGVuZHMgb24gNi4xLjM5MCkKK1Byb2JsZW06ICAgIExpbmtpbmcgZXJyb3Igd2hlbiBjb21waWxpbmcgd2l0aCBOZXRiZWFucyBidXQgd2l0aG91dCBzaWduIGljb25zLgorCSAgICAoTWFsdGUgTmV1bWFubikKK1NvbHV0aW9uOiAgIERvbid0IGRlZmluZSBidWZfc2lnbmNvdW50KCkgd2hlbiBzaWduIGljb25zIGFyZSB1bmF2YWlsYWJsZS4KK0ZpbGVzOgkgICAgc3JjL2J1ZmZlci5jCisKK1BhdGNoIDYuMS40MTEKK1Byb2JsZW06ICAgIFdoZW4gJ3ZpcnR1YWxlZGl0JyBpcyBzZXQsIGhpZ2hsaWdodGluZyBhIFZpc3VhbCBibG9jayBiZXlvbmQgdGhlCisJICAgIGVuZCBvZiBhIGxpbmUgbWF5IGJlIHdyb25nLgorU29sdXRpb246ICAgQ29ycmVjdCB0aGUgdmlydHVhbCBjb2x1bW4gd2hlbiB0aGUgZW5kIG9mIHRoZSBsaW5lIGlzIGJlZm9yZSB0aGUKKwkgICAgZGlzcGxheWVkIHBhcnQgb2YgdGhlIGxpbmUuIChNdXJhb2thIFRhcm8pCitGaWxlczoJICAgIHNyYy9zY3JlZW4uYworCitQYXRjaCA2LjEuNDEyCitQcm9ibGVtOiAgICBXaGVuIHN3YXBwaW5nIHRlcm1pbmFsIHNjcmVlbnMgYW5kIHVzaW5nICI6Z3VpIiB0byBzdGFydCB0aGUgR1VJLAorCSAgICB0aGUgc2hlbGwgcHJvbXB0IG1heSBiZSBhZnRlciBhIGhpdC1lbnRlciBwcm9tcHQuCitTb2x1dGlvbjogICBPdXRwdXQgYSBuZXdsaW5lIGluIHRoZSB0ZXJtaW5hbCB3aGVuIHN0YXJ0aW5nIHRoZSBHVUkgYW5kIHRoZXJlCisJICAgIHdhcyBhIGhpdC1lbnRlciBwcm9tcHQuLgorRmlsZXM6CSAgICBzcmMvZ3VpLmMKKworUGF0Y2ggNi4xLjQxMworUHJvYmxlbTogICAgV2hlbiAnY2xpcGJvYXJkJyBjb250YWlucyAidW5uYW1lZCIsICJwIiBpbiBWaXN1YWwgbW9kZSBkb2Vzbid0CisJICAgIHdvcmsgY29ycmVjdGx5LgorU29sdXRpb246ICAgU2F2ZSB0aGUgcmVnaXN0ZXIgYmVmb3JlIG92ZXJ3cml0aW5nIGl0IGFuZCBwdXQgdGhlIHJlc3VsdGluZyB0ZXh0CisJICAgIG9uIHRoZSBjbGlwYm9hcmQgYWZ0ZXJ3YXJkcy4gIChNdXJhb2thIFRhcm8pCitGaWxlczoJICAgIHNyYy9ub3JtYWwuYywgc3JjL29wcy5jCisKK1BhdGNoIDYuMS40MTQgKGV4dHJhLCBkZXBlbmRzIG9uIDYuMS4zNjkpCitQcm9ibGVtOiAgICBWTVM6IFZpbSBidXN5IHdhaXRzIHdoZW4gd2FpdGluZyBmb3IgaW5wdXQuCitTb2x1dGlvbjogICBEZWxheSBmb3IgYSBzaG9ydCB3aGlsZSBiZWZvcmUgZ2V0dGluZyBhbm90aGVyIGNoYXJhY3Rlci4gIChab2x0YW4KKwkgICAgQXJwYWRmZnkpCitGaWxlczoJICAgIHNyYy9vc192bXMuYworCitQYXRjaCA2LjEuNDE1CitQcm9ibGVtOiAgICBXaGVuIHRoZXJlIGlzIGEgdmVydGljYWwgc3BsaXQgYW5kIGEgcXVpY2tmaXggd2luZG93LCByZWR1Y2luZyB0aGUKKwkgICAgc2l6ZSBvZiB0aGUgVmltIHdpbmRvdyBtYXkgcmVzdWx0IGluIGEgd3Jvbmcgd2luZG93IGxheW91dCBhbmQgYQorCSAgICBjcmFzaC4KK1NvbHV0aW9uOiAgIFdoZW4gcmVkdWNpbmcgdGhlIHdpbmRvdyBzaXplIGFuZCB0aGVyZSBpcyBub3QgZW5vdWdoIHNwYWNlIGZvcgorCSAgICAnd2luZml4aGVpZ2h0JyBzZXQgdGhlIGZyYW1lIGhlaWdodCB0byB0aGUgbGFyZ2VyIGhlaWdodCwgc28gdGhhdAorCSAgICB0aGVyZSBpcyBhIHJldHJ5IHdoaWxlIGlnbm9yaW5nICd3aW5maXhoZWlnaHQnLiAoWWFzdWhpcm8KKwkgICAgTWF0c3Vtb3RvKQorRmlsZXM6CSAgICBzcmMvd2luZG93LmMKKworUGF0Y2ggNi4xLjQxNiAoZGVwZW5kcyBvbiA2LjEuMzY2KQorUHJvYmxlbTogICAgV2hlbiB1c2luZyB0aGUgTmV0YmVhbnMgaW50ZXJmYWNlLCBhIGxpbmUgd2l0aCBhIHNpZ24gY2Fubm90IGJlCisJICAgIGNoYW5nZWQuCitTb2x1dGlvbjogICBSZXNwZWN0IHRoZSBHVUFSREVET0ZGU0VUIGZvciBzaWduIElEcyB3aGVuIGNoZWNraW5nIGZvciBhIGd1YXJkZWQKKwkgICAgYXJlYS4KK0ZpbGVzOgkgICAgc3JjL25ldGJlYW5zLmMKKworUGF0Y2ggNi4xLjQxNworUHJvYmxlbTogICAgVW5wcmludGFibGUgbXVsdGktYnl0ZSBjaGFyYWN0ZXJzIGFyZSBub3QgaGFuZGxlZCBjb3JyZWN0bHkuCisJICAgIE11bHRpLWJ5dGUgY2hhcmFjdGVycyBhYm92ZSAweGZmZmYgYXJlIGRpc3BsYXllZCBhcyBhbm90aGVyCisJICAgIGNoYXJhY3Rlci4KK1NvbHV0aW9uOiAgIEhhbmRsZSB1bnByaW50YWJsZSBtdWx0aS1ieXRlIGNoYXJhY3RlcnMuICBEaXNwbGF5IG11bHRpLWJ5dGUKKwkgICAgY2hhcmFjdGVycyBhYm92ZSAweGZmZmYgd2l0aCBhIG1hcmtlci4gIFJlY29nbml6ZSBVVEYtMTYgd29yZHMgYW5kCisJICAgIEJPTSB3b3JkcyBhcyB1bnByaW50YWJsZS4gIChEYW5pZWwgRWxzdG5lcikKK0ZpbGVzOgkgICAgc3JjL2NoYXJzZXQuYywgc3JjL21ieXRlLmMsIHNyYy9zY3JlZW4uYworCitQYXRjaCA2LjEuNDE4CitQcm9ibGVtOiAgICBUaGUgcmVzdWx0IG9mIHN0cmZ0aW1lKCkgaXMgaW4gdGhlIGN1cnJlbnQgbG9jYWxzLiAgTmVlZCB0bworCSAgICBjb252ZXJ0IGl0IHRvICdlbmNvZGluZycuCitTb2x1dGlvbjogICBPYnRhaW4gdGhlIGN1cnJlbnQgbG9jYWxlIGFuZCBjb252ZXJ0IHRoZSBhcmd1bWVudCBmb3Igc3RyZnRpbWUoKQorCSAgICB0byBpdCBhbmQgdGhlIHJlc3VsdCBiYWNrIHRvICdlbmNvZGluZycuICAoRGFuaWVsIEVsc3RuZXIpCitGaWxlczoJICAgIHNyYy9ldmFsLmMsIHNyYy9leF9jbWRzLmMsIHNyYy9leF9jbWRzMi5jLCBzcmMvbWJ5dGUuYywKKwkgICAgc3JjL3Byb3RvL21ieXRlLnBybywgc3JjL29wdGlvbi5jLCBzcmMvb3NfbXN3aW4uYworCitQYXRjaCA2LjEuNDE5CitQcm9ibGVtOiAgICBWaW0gZG9lc24ndCBjb21waWxlIG9uIEFJWCA1LjEuCitTb2x1dGlvbjogICBEb24ndCBkZWZpbmUgX05PX1BST1RPIG9uIHRoaXMgc3lzdGVtLiAoVXJpYmFycmkpCitGaWxlczoJICAgIHNyYy9hdXRvL2NvbmZpZ3VyZSwgc3JjL2NvbmZpZ3VyZS5pbgorCitQYXRjaCA2LjEuNDIwIChleHRyYSkKK1Byb2JsZW06ICAgIGNvbnZlcnRfaW5wdXQoKSBoYXMgYW4gdW5uZWNlc3NhcnkgU1RSTEVOKCkuCisJICAgIENvbnZlcnNpb24gZnJvbSBVQ1MtMiB0byBhIGNvZGVwYWdlIHVzZXMgd29yZCBjb3VudCBpbnN0ZWFkIG9mCisJICAgIGJ5dGUgY291bnQuCitTb2x1dGlvbjogICBSZW1vdmUgdGhlIFNUUkxFTigpIGNhbGwuIChEYW5pZWwgRWxzdG5lcikKKwkgICAgQWx3YXlzIHVzZSBieXRlIGNvdW50IGZvciBzdHJpbmdfY29udmVydCgpLgorRmlsZXM6CSAgICBzcmMvZ3VpX3czMi5jLCBzcmMvbWJ5dGUuYworCitQYXRjaCA2LjEuNDIxIChleHRyYSwgZGVwZW5kcyBvbiA2LjEuMzU0KQorUHJvYmxlbTogICAgTVMtV2luZG93cyA5eDogV2hlbiBwdXR0aW5nIHRleHQgb24gdGhlIGNsaXBib2FyZCBpdCBjYW4gYmUgaW4KKwkgICAgdGhlIHdyb25nIGVuY29kaW5nLgorU29sdXRpb246ICAgQ29udmVydCB0ZXh0IHRvIHRoZSBhY3RpdmUgY29kZXBhZ2UgZm9yIENGX1RFWFQuIChHbGVubiBNYXluYXJkKQorRmlsZXM6CSAgICBzcmMvb3NfbXN3aW4uYworCitQYXRjaCA2LjEuNDIyCitQcm9ibGVtOiAgICBFcnJvciBpbiAudmltcmMgZG9lc24ndCBjYXVzZSBoaXQtZW50ZXIgcHJvbXB0IHdoZW4gc3dhcHBpbmcKKwkgICAgc2NyZWVucy4gKE5laWwgQmlyZCkKK1NvbHV0aW9uOiAgIFNldCBtc2dfZGlkYW55IGFsc28gd2hlbiBzZW5kaW5nIGEgbWVzc2FnZSB0byB0aGUgdGVybWluYWwKKwkgICAgZGlyZWN0bHkuCitGaWxlczoJICAgIHNyYy9tZXNzYWdlLmMKKworUGF0Y2ggNi4xLjQyMworUHJvYmxlbTogICAgQ2FuJ3QgZmluZCBhcmJpdHJhcnkgdGV4dCBpbiBoZWxwIGZpbGVzLgorU29sdXRpb246ICAgQWRkZWQgdGhlICI6aGVscGdyZXAiIGNvbW1hbmQuCitGaWxlczoJICAgIHJ1bnRpbWUvZG9jL3ZhcmlvdXMudHh0LCBzcmMvZXhfY21kcy5oLCBzcmMvZXhfZG9jbWQuYywKKwkgICAgc3JjL3Byb3RvL3F1aWNrZml4LnBybywgc3JjL3F1aWNrZml4LmMKKworUGF0Y2ggNi4xLjQyNCAoZXh0cmEpCitQcm9ibGVtOiAgICBXaW4zMjogR3ZpbSBjb21waWxlZCB3aXRoIFZDKysgNy4wIHJ1biBvbiBXaW5kb3dzIDk1IGRvZXMgbm90IHNob3cKKwkgICAgbWVudSBpdGVtcy4KK1NvbHV0aW9uOiAgIERlZmluZSAkV0lOVkVSIHRvIGF2b2lkIGFuIGV4dHJhIGl0ZW0gaXMgYWRkZWQgdG8gTUVOVUlURU1JTkZPLgorCSAgICAoTXVyYW9rYSBUYXJvKQorRmlsZXM6CSAgICBzcmMvTWFrZV9tdmMubWFrCisKK1BhdGNoIDYuMS40MjUKK1Byb2JsZW06ICAgICI6aGVscHRhZ3MgJFZJTVJVTlRJTUUvZG9jIiBkb2VzIG5vdCBhZGQgdGhlICJoZWxwLXRhZ3MiIHRhZy4KK1NvbHV0aW9uOiAgIERvIGFkZCB0aGUgImhlbHAtdGFncyIgdGFnIGZvciB0aGF0IHNwZWNpZmljIGRpcmVjdG9yeS4KK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMuYworCitQYXRjaCA2LjEuNDI2CitQcm9ibGVtOiAgICAiLS1yZW1vdGUtd2FpdCArY21kIGZpbGUiIHdhaXRzIGZvcmV2ZXIuIChWYWxlcnkgS29uZGFrb2ZmKQorU29sdXRpb246ICAgRG9uJ3Qgd2FpdCBmb3IgdGhlICIrY21kIiBhcmd1bWVudCB0byBoYXZlIGJlZW4gZWRpdGVkLgorRmlsZXM6CSAgICBzcmMvbWFpbi5jCisKK1BhdGNoIDYuMS40MjcKK1Byb2JsZW06ICAgIFNldmVyYWwgZXJyb3IgbWVzc2FnZXMgZm9yIHJlZ2V4cCBwYXR0ZXJucyBhcmUgbm90IHRyYW5zbGF0ZWQuCitTb2x1dGlvbjogICBVc2UgXygpIHByb3Blcmx5LiAoTXVyYW9rYSBUYXJvKQorRmlsZXM6CSAgICBzcmMvcmVnZXhwLmMKKworUGF0Y2ggNi4xLjQyOAorUHJvYmxlbTogICAgRnJlZUJTRDogd2FpdCgpIG1heSBoYW5nIHdoZW4gY29tcGlsZWQgd2l0aCBQeXRob24gc3VwcG9ydCBhbmQKKwkgICAgZG9pbmcgYSBzeXN0ZW0oKSBjYWxsIGluIGEgc3RhcnR1cCBzY3JpcHQuCitTb2x1dGlvbjogICBVc2Ugd2FpdHBpZCgpIGluc3RlYWQgb2Ygd2FpdCgpIGFuZCBwb2xsIGV2ZXJ5IDEwIG1zZWMsIGp1c3QgbGlrZQorCSAgICB3aGF0IGlzIGRvbmUgaW4gdGhlIEdVSS4KK0ZpbGVzOgkgICAgc3JjL29zX3VuaXguYworCitQYXRjaCA2LjEuNDI5IChkZXBlbmRzIG9uIDYuMS4zOTApCitQcm9ibGVtOiAgICBDcmFzaCB3aGVuIHVzaW5nIHNob3dtYXJrcy52aW0gcGx1Z2luLiAoQ2hhcmxlcyBDYW1wYmVsbCkKK1NvbHV0aW9uOiAgIENoZWNrIGZvciBzaWduX2dldF90ZXh0KCkgcmV0dXJuaW5nIGEgTlVMTCBwb2ludGVyLgorRmlsZXM6CSAgICBzcmMvc2NyZWVuLmMKKworUGF0Y2ggNi4xLjQzMAorUHJvYmxlbTogICAgSW4gTGlzcCBjb2RlIGJhY2tzbGFzaGVkIHBhcmVucyBzaG91bGQgYmUgaWdub3JlZCBmb3IgIiUiLiAoRG9yYWkpCitTb2x1dGlvbjogICBTa2lwIG92ZXIgYmFja3NsYXNoZWQgcGFyZW5zLgorRmlsZXM6CSAgICBzcmMvc2VhcmNoLmMKKworUGF0Y2ggNi4xLjQzMQorUHJvYmxlbTogICAgRGVidWcgY29tbWFuZHMgZW5kIHVwIGluIHJlZGlyZWN0ZWQgdGV4dC4KK1NvbHV0aW9uOiAgIERpc2FibGUgcmVkaXJlY3Rpb24gd2hpbGUgaGFuZGxpbmcgZGVidWcgY29tbWFuZHMuCitGaWxlczoJICAgIHNyYy9leF9jbWRzMi5jCisKK1BhdGNoIDYuMS40MzIgKGRlcGVuZHMgb24gNi4xLjM3NSkKK1Byb2JsZW06ICAgIE1TLVdpbmRvd3M6ICI6bWFrZSAlOnAiIGluc2VydHMgZXh0cmEgYmFja3NsYXNoZXMuIChEYXZpZCBSZW5uYWxscykKK1NvbHV0aW9uOiAgIERvbid0IGFkZCBiYWNrc2xhc2hlcywgaGFuZGxlIGl0IGxpa2UgIjohY21kIi4KK0ZpbGVzOgkgICAgc3JjL2V4X2RvY21kLmMKKworUGF0Y2ggNi4xLjQzMworUHJvYmxlbTogICAgIjpwb3B1cCIgb25seSB3b3JrcyBmb3IgV2luMzIuCitTb2x1dGlvbjogICBBZGQgIjpwb3B1cCIgc3VwcG9ydCBmb3IgR1RLLiAgKERhbmllbCBFbHN0bmVyKQorRmlsZXM6CSAgICBydW50aW1lL2RvYy9ndWkudHh0LCBzcmMvZXhfZG9jbWQuYywgc3JjL2d1aV9ndGsuYywgc3JjL21lbnUuYywKKwkgICAgc3JjL3Byb3RvL2d1aV9ndGsucHJvCisKK1BhdGNoIDYuMS40MzQgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6IFdoZW4gdGhlcmUgYXJlIG1vcmUgdGhhbiAzMjc2NyBsaW5lcywgdGhlIHNjcm9sbGJhciBoYXMgYQorCSAgICByb3VuZG9mZiBlcnJvci4KK1NvbHV0aW9uOiAgIE1ha2UgYSBjbGljayBvbiBhbiBhcnJvdyBtb3ZlIG9uZSBsaW5lLiAgQWxzbyBtb3ZlIHRoZSBjb2RlIHRvCisJICAgIGd1aV93NDguYywgdGhlcmUgaXMgaGFyZGx5IGFueSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIDE2IGJpdCBhbmQKKwkgICAgMzIgYml0IHZlcnNpb25zLiAoV2FsdGVyIEJyaXNjb2UpCitGaWxlczoJICAgIHNyYy9ndWlfdzE2LmMsIHNyYy9ndWlfdzMyLmMsIHNyYy9ndWlfdzQ4LmMKKworUGF0Y2ggNi4xLjQzNQorUHJvYmxlbTogICAgIjp3aW5zaXplIHgiIHJlc2l6ZXMgdGhlIFZpbSB3aW5kb3cgdG8gdGhlIG1pbmltYWwgc2l6ZS4gKEFuZHJldworCSAgICBQaW1sb3R0KQorU29sdXRpb246ICAgR2l2ZSBhbiBlcnJvciBtZXNzYWdlIGZvciB3cm9uZyBhcmd1bWVudHMgb2YgIjp3aW5zaXplIiBhbmQKKwkgICAgIjp3aW5wb3MiLgorRmlsZXM6CSAgICBzcmMvZXhfZG9jbWQuYworCitQYXRjaCA2LjEuNDM2CitQcm9ibGVtOiAgICBXaGVuIGEgbG9uZyBVVEYtOCBmaWxlIGNvbnRhaW5zIGFuIGlsbGVnYWwgYnl0ZSBpdCdzIGhhcmQgdG8gZmluZAorCSAgICBvdXQgd2hlcmUgaXQgaXMuIChSb24gQWFyb24pCitTb2x1dGlvbjogICBBZGQgdGhlIGxpbmUgbnVtYmVyIHRvIHRoZSBlcnJvciBtZXNzYWdlLgorRmlsZXM6CSAgICBzcmMvZmlsZWlvLmMKKworUGF0Y2ggNi4xLjQzNyAoZXh0cmEsIGRlcGVuZHMgb24gNi4xLjQyMSkKK1Byb2JsZW06ICAgIFVzaW5nIG11bHRpLWJ5dGUgZnVuY3Rpb25zIHdoZW4gdGhleSBhcmUgbm90IGF2YWlsYWJsZS4KK1NvbHV0aW9uOiAgIFB1dCB0aGUgY2xpcGJvYXJkIGNvbnZlcnNpb24gaW5zaWRlIGFuICNpZmRlZi4gKFZpbmNlIE5lZ3JpKQorCSAgICBBbHNvIGZpeCBhIHBvaW50ZXIgdHlwZSBtaXN0YWtlLiAoV2FsdGVyIEJyaXNjb2UpCitGaWxlczoJICAgIHNyYy9vc19tc3dpbi5jCisKK1BhdGNoIDYuMS40MzgKK1Byb2JsZW06ICAgIFdoZW4gUGVybCBoYXMgdGhyZWFkIHN1cHBvcnQgVmltIGNhbm5vdCB1c2UgdGhlIFBlcmwgaW50ZXJmYWNlLgorU29sdXRpb246ICAgQWRkIGEgY29uZmlndXJlIGNoZWNrIGFuZCBkaXNhYmxlIFBlcmwgd2hlbiBpdCB3aWxsIG5vdCB3b3JrLgorCSAgICAoQXJvbiBHcmlmZmlzKQorRmlsZXM6CSAgICBzcmMvYXV0by9jb25maWd1cmUsIHNyYy9jb25maWd1cmUuaW4KKworUGF0Y2ggNi4xLjQzOQorUHJvYmxlbTogICAgTmV0YmVhbnM6IEEgImNyZWF0ZSIgZnVuY3Rpb24gZG9lc24ndCBhY3R1YWxseSBjcmVhdGUgYSBidWZmZXIsCisJICAgIGZvbGxvd2luZyBmdW5jdGlvbnMgbWF5IGZhaWwuCitTb2x1dGlvbjogICBDcmVhdGUgYSBWaW0gYnVmZmVyIHdpdGhvdXQgYSBuYW1lIHdoZW4gImNyZWF0ZSIgaXMgY2FsbGVkLgorCSAgICAoR29yZG9uIFByaWV1cikKK0ZpbGVzOgkgICAgcnVudGltZS9kb2MvbmV0YmVhbnMudHh0LCBzcmMvbmV0YmVhbnMuYworCitQYXRjaCA2LjEuNDQwCitQcm9ibGVtOiAgICBUaGUgIkAqIiBjb21tYW5kIGRvZXNuJ3Qgb2J0YWluIHRoZSBhY3R1YWwgY29udGVudHMgb2YgdGhlCisJICAgIGNsaXBib2FyZC4gKEhhcmkgS3Jpc2huYSBEYXJhKQorU29sdXRpb246ICAgT2J0YWluIHRoZSBjbGlwYm9hcmQgdGV4dCBiZWZvcmUgZXhlY3V0aW5nIHRoZSBjb21tYW5kLgorRmlsZXM6CSAgICBzcmMvb3BzLmMKKworUGF0Y2ggNi4xLjQ0MQorUHJvYmxlbTogICAgInpqIiBhbmQgInprIiBjYW5ub3QgYmUgdXNlZCBhcyBhIG1vdGlvbiBjb21tYW5kIGFmdGVyIGFuCisJICAgIG9wZXJhdG9yLiAoUmFsZiBIZXR6ZWwpCitTb2x1dGlvbjogICBBY2NlcHQgdGhlc2UgY29tbWFuZHMgYXMgbW90aW9uIGNvbW1hbmRzLgorRmlsZXM6CSAgICBzcmMvbm9ybWFsLmMKKworUGF0Y2ggNi4xLjQ0MgorUHJvYmxlbTogICAgVW5pY29kZSAzLjIgZGVmaW5lcyBtb3JlIHNwYWNlIGFuZCBwdW5jdHVhdGlvbiBjaGFyYWN0ZXJzLgorU29sdXRpb246ICAgQWRkIHRoZSBuZXcgY2hhcmFjdGVycyB0byB0aGUgVW5pY29kZSB0YWJsZXMuIChSYXBoYWVsIEZpbmtlbCkKK0ZpbGVzOgkgICAgc3JjL21ieXRlLmMKKworUGF0Y2ggNi4xLjQ0MyAoZXh0cmEpCitQcm9ibGVtOiAgICBXaW4zMjogVGhlIGd2aW1leHQuZGxsIGJ1aWxkIHdpdGggQm9ybGFuZCA1LjUgcmVxdWlyZXMgYW5vdGhlcgorCSAgICBETEwuCitTb2x1dGlvbjogICBCdWlsZCBhIHN0YXRpY2FsbHkgbGlua2VkIHZlcnNpb24gYnkgZGVmYXVsdC4gKERhbiBTaGFycCkKK0ZpbGVzOgkgICAgR3ZpbUV4dC9NYWtlX2JjNS5tYWsKKworUGF0Y2ggNi4xLjQ0NCAoZXh0cmEpCitQcm9ibGVtOiAgICBXaW4zMjogRW5hYmxpbmcgYSBidWlsZCB3aXRoIGdldHRleHQgc3VwcG9ydCBpcyBub3QgY29uc2lzdGVudC4KK1NvbHV0aW9uOiAgIFVzZSAiR0VUVEVYVCIgZm9yIEJvcmxhbmQgYW5kIG1zdmMgbWFrZWZpbGVzLiAoRGFuIFNoYXJwKQorRmlsZXM6CSAgICBzcmMvTWFrZV9iYzUubWFrLCBzcmMvTWFrZV9tdmMubWFrCisKK1BhdGNoIDYuMS40NDUgKGV4dHJhKQorUHJvYmxlbTogICAgREpHUFA6IGdldCB3YXJuaW5nIGZvciBhcmd1bWVudCBvZiBwdXRlbnYoKQorU29sdXRpb246ICAgRGVmaW5lIEhBVkVfUFVURU5WIHRvIHVzZSBESkdQUCdzIHB1dGVudigpLiAoV2FsdGVyIEJyaXNjb2UpCitGaWxlczoJICAgIHNyYy9vc19tc2Rvcy5oCisKK1BhdGNoIDYuMS40NDYgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6IFRoZSBNaW5nVyBtYWtlZmlsZSB1c2VzIGEgZGlmZmVyZW50IHN0eWxlIG9mIGFyZ3VtZW50cyB0aGFuCisJICAgIG90aGVyIG1ha2VmaWxlcy4KKwkgICAgRHluYW1pYyBJTUUgaXMgbm90IHN1cHBvcnRlZCBmb3IgQ3lnd2luLgorU29sdXRpb246ICAgVXNlICJubyIgYW5kICJ5ZXMiIHN0eWxlIGFyZ3VtZW50cy4gIFJlbW92ZSB0aGUgdXNlIG9mIHRoZQorCSAgICBkeW4tbWluZy5oIGluY2x1ZGUgZmlsZS4gKERhbiBTaGFycCkKKwkgICAgRG8gbm90IGluY2x1ZGUgdGhlIGltZS5oIGZpbGUgYW5kIGFkanVzdCB0aGUgbWFrZWZpbGUuIChBbGVqYW5kcm8KKwkgICAgTG9wZXotVmFsZW5jaWEpCitGaWxlczoJICAgIHNyYy9NYWtlX2N5Zy5tYWssIHNyYy9NYWtlX21pbmcubWFrLCBzcmMvZ3VpX3czMi5jLAorCSAgICBzcmMvaWZfcGVybC54cywgc3JjL2lmX3B5dGhvbi5jLCBzcmMvaWZfcnVieS5jLCBzcmMvb3Nfd2luMzIuYworCitQYXRjaCA2LjEuNDQ3CitQcm9ibGVtOiAgICAibWFrZSBpbnN0YWxsIiB1c2VzICJtYWtlIiBkaXJlY3RseSBmb3IgZ2VuZXJhdGluZyBoZWxwIHRhZ3MuCitTb2x1dGlvbjogICBVc2UgJChNQUtFKSBpbnN0ZWFkIG9mICJtYWtlIi4gKFRpbSBNb29uZXkpCitGaWxlczoJICAgIHNyYy9NYWtlZmlsZQorCitQYXRjaCA2LjEuNDQ4CitQcm9ibGVtOiAgICAndGl0bGVzdHJpbmcnIGhhcyBhIGRlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiA1MCBjaGFycyBwZXIgaXRlbS4KK1NvbHV0aW9uOiAgIFJlbW92ZSB0aGUgZGVmYXVsdCBtYXhpbXVtIChhbHNvIGZvciAnc3RhdHVzbGluZScpLgorRmlsZXM6CSAgICBzcmMvYnVmZmVyLmMKKworUGF0Y2ggNi4xLjQ0OQorUHJvYmxlbTogICAgV2hlbiAiMSIgYW5kICJhIiBhcmUgaW4gJ2Zvcm1hdG9wdGlvbnMnLCBhdXRvLWZvcm1hdHRpbmcgYWx3YXlzCisJICAgIG1vdmVzIGEgbmV3bHkgYWRkZWQgY2hhcmFjdGVyIHRvIHRoZSBuZXh0IGxpbmUuIChTZXJ2YXRpdXMgQnJhbmR0KQorU29sdXRpb246ICAgRG9uJ3QgbW92ZSBhIHNpbmdsZSBjaGFyYWN0ZXIgdG8gdGhlIG5leHQgbGluZSB3aGVuIGl0IHdhcyBqdXN0CisJICAgIHR5cGVkLgorRmlsZXM6CSAgICBzcmMvZWRpdC5jCisKK1BhdGNoIDYuMS40NTAKK1Byb2JsZW06ICAgIFRlcm1jYXAgZW50cnkgImtCIiBmb3IgYmFjay10YWIgaXMgbm90IHJlY29nbml6ZWQuCitTb2x1dGlvbjogICBVc2UgYmFjay10YWIgYXMgdGhlIHNoaWZ0LXRhYiBjb2RlLgorRmlsZXM6CSAgICBzcmMva2V5bWFwLmgsIHNyYy9taXNjMi5jLCBzcmMvdGVybS5jCisKK1BhdGNoIDYuMS40NTEKK1Byb2JsZW06ICAgIEdVSTogV2hlbiB0ZXh0IGluIHRoZSBmaW5kIGRpYWxvZyBjb250YWlucyBhIHNsYXNoLCBhIGJhY2tzbGFzaCBpcworCSAgICBpbnNlcnRlZCB0aGUgbmV4dCB0aW1lIGl0IGlzIG9wZW5lZC4gKE1lenopCitTb2x1dGlvbjogICBSZW1vdmUgZXNjYXBlZCBiYWNrc2xhc2hlcyBhbmQgcXVlc3Rpb24gbWFya3MuIChEYW5pZWwgRWxzdG5lcikKK0ZpbGVzOgkgICAgc3JjL2d1aS5jCisKK1BhdGNoIDYuMS40NTIgKGV4dHJhLCBhZnRlciA2LjEuNDQ2KQorUHJvYmxlbTogICAgV2luMzI6IElNRSBzdXBwb3J0IGRvZXNuJ3Qgd29yayBmb3IgTVNWQy4KK1NvbHV0aW9uOiAgIFVzZSBfTVNDX1ZFUiBpbnN0ZWFkIG9mIF9fTVNWQy4gKEFsZWphbmRybyBMb3Blei1WYWxlbmNpYSkKK0ZpbGVzOgkgICAgc3JjL2d1aV93MzIuYworCitQYXRjaCA2LjEuNDUzIChhZnRlciA2LjEuNDI5KQorUHJvYmxlbTogICAgV2hlbiBjb21waWxlZCB3aXRob3V0IHNpZ24gaWNvbnMgYnV0IHdpdGggc2lnbiBzdXBwb3J0LCBhZGRpbmcgYQorCSAgICBzaWduIG1heSBjYXVzZSBhIGNyYXNoLgorU29sdXRpb246ICAgQ2hlY2sgZm9yIHRoZSB0ZXh0IHNpZ24gdG8gZXhpc3QgYmVmb3JlIHVzaW5nIGl0LiAoS2FtaWwKKwkgICAgQnVyenluc2tpKQorRmlsZXM6CSAgICBzcmMvc2NyZWVuLmMKKworUGF0Y2ggNi4xLjQ1NCAoZXh0cmEpCitQcm9ibGVtOiAgICBXaW4zMjogcGFzdGluZyBSdXNzaWFuIHRleHQgaW4gVmltIHdpdGggJ2VuYycgc2V0IHRvIGNwMTI1MQorCSAgICByZXN1bHRzIGluIHV0Zi04IGJ5dGVzLiAgKFBlcmVseXVic2tpeSkKKwkgICAgQ29udmVyc2lvbiBmcm9tIERCQ1MgdG8gVUNTMiBkb2VzIG5vdCB3b3JrIHdoZW4gJ2VuY29kaW5nJyBpcyBub3QKKwkgICAgdGhlIGFjdGl2ZSBjb2RlcGFnZS4KK1NvbHV0aW9uOiAgIEludHJvZHVjZSBlbmNfY29kZXBhZ2UgYW5kIHVzZSBpdCBmb3IgY29udmVyc2lvbiB0byAnZW5jb2RpbmcnCisJICAgIChHbGVubiBNYXluYXJkKQorCSAgICBVc2UgTXVsdGlCeXRlVG9XaWRlQ2hhcigpIGFuZCBXaWRlQ2hhclRvTXVsdGlCeXRlKCkgaW5zdGVhZCBvZgorCSAgICBpY29udigpLiAgU2hvdWxkIGRvIG1vc3QgbmVlZGVkIGNvbnZlcnNpb25zIHdpdGhvdXQgaWNvbnYuZGxsLgorRmlsZXM6CSAgICBzcmMvZ2xvYmFscy5oLCBzcmMvZ3VpX3czMi5jLCBzcmMvbWJ5dGUuYywgc3JjL29zX21zd2luLmMsCisJICAgIHNyYy9wcm90by9tYnl0ZS5wcm8sIHNyYy9wcm90by9vc19tc3dpbi5wcm8sIHNyYy9zdHJ1Y3RzLmgKKworUGF0Y2ggNi4xLjQ1NQorUHJvYmxlbTogICAgU29tZSBVbmljb2RlIGNoYXJhY3RlcnMgY2FuIGJlIG9uZSBvciB0d28gY2hhcmFjdGVyIGNlbGxzIHdpZGUuCitTb2x1dGlvbjogICBBZGQgdGhlICdhbWJpd2lkdGgnIG9wdGlvbiB0byB0ZWxsIFZpbSBob3cgdG8gZGlzcGxheSB0aGVzZQorCSAgICBjaGFyYWN0ZXJzLiAoSnVuZ3NoaWsgU2hpbikKKwkgICAgQWxzbyByZXNldCB0aGUgc2NyaXB0IElEIHdoZW4gc2V0dGluZyBhbiBvcHRpb24gdG8gaXRzIGRlZmF1bHQKKwkgICAgdmFsdWUsIHNvIHRoYXQgIjp2ZXJib3NlIHNldCIgd29uJ3QgZ2l2ZSB3cm9uZyBpbmZvLgorRmlsZXM6CSAgICBydW50aW1lL2RvYy9vcHRpb25zLnR4dCwgc3JjL21ieXRlLmMsIHNyYy9vcHRpb24uYywgc3JjL29wdGlvbi5oCisKK1BhdGNoIDYuMS40NTYgKGV4dHJhLCBhZnRlciA2LjEuNDU0KQorUHJvYmxlbTogICAgV2luMzI6IElNRSBkb2Vzbid0IHdvcmsuCitTb2x1dGlvbjogICBJbW1HZXRDb21wb3NpdGlvblN0cmluZ1coKSByZXR1cm5zIHRoZSBzaXplIGluIGJ5dGVzLCBub3Qgd29yZHMuCisJICAgIChZYXN1aGlybyBNYXRzdW1vdG8pICBBbHNvIGZpeCB0eXBlY2FzdCBwcm9ibGVtLgorRmlsZXM6CSAgICBzcmMvZ3VpX3czMi5jLCBzcmMvb3NfbXN3aW4uYworCitQYXRjaCA2LjEuNDU3CitQcm9ibGVtOiAgICBBbiBlbXB0eSByZWdpc3RlciBpbiB2aW1pbmZvIGNhdXNlcyBjb252ZXJzaW9uIHRvIGZhaWwuCitTb2x1dGlvbjogICBEb24ndCBjb252ZXJ0IGFuIGVtcHR5IHN0cmluZy4gKFlhc3VoaXJvIE1hdHN1bW90bykKK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMuYywgc3JjL21ieXRlLmMKKworUGF0Y2ggNi4xLjQ1OAorUHJvYmxlbTogICAgQ29tcGlsZXIgd2FybmluZyBmb3IgcG9pbnRlci4KK1NvbHV0aW9uOiAgIEFkZCBhIHR5cGVjYXN0LgorRmlsZXM6CSAgICBzcmMvZXhfY21kcy5jCisKK1BhdGNoIDYuMS40NTkgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6IGxpYmNhbGwoKSBtYXkgcmV0dXJuIGFuIGludmFsaWQgcG9pbnRlciBhbmQgY2F1c2UgVmltIHRvCisJICAgIGNyYXNoLgorU29sdXRpb246ICAgQWRkIGEgc3RyaWN0IGNoZWNrIGZvciB0aGUgcmV0dXJuZWQgcG9pbnRlci4gKEJydWNlIE1lbGxvd3MpCitGaWxlczoJICAgIHNyYy9vc19tc3dpbi5jCisKK1BhdGNoIDYuMS40NjAKK1Byb2JsZW06ICAgIEdUSzogYWZ0ZXIgc2Nyb2xsaW5nIHRoZSB0ZXh0IG9uZSBsaW5lIHdpdGggYSBrZXksIGNsaWNraW5nIHRoZQorCSAgICBhcnJvdyBvZiB0aGUgc2Nyb2xsYmFyIGRvZXMgbm90IGFsd2F5cyB3b3JrLiAoTmFtIFN1bmdIeXVuKQorU29sdXRpb246ICAgQWx3YXlzIHVwZGF0ZSB0aGUgc2Nyb2xsYmFyIHRodW1iIHdoZW4gdGhlIHZhbHVlIGNoYW5nZWQsIGV2ZW4KKwkgICAgd2hlbiBpdCB3b3VsZCBub3QgbW92ZSwgbGlrZSBmb3IgUklTQ09TLiAgKERhbmllbCBFbHN0bmVyKQorRmlsZXM6CSAgICBzcmMvZ3VpLmMsIHNyYy9ndWkuaAorCitQYXRjaCA2LjEuNDYxCitQcm9ibGVtOiAgICBXaGVuIGEga2V5bWFwIGlzIGFjdGl2ZSwgdHlwaW5nIGEgY2hhcmFjdGVyIGluIFNlbGVjdCBtb2RlIGRvZXMKKwkgICAgbm90IHVzZSBpdC4gKEJlbmppIEZpc2hlcikKK1NvbHV0aW9uOiAgIEFwcGx5IEluc2VydCBtb2RlIG1hcHBpbmcgdG8gdGhlIGNoYXJhY3RlciB0eXBlZCBpbiBTZWxlY3QgbW9kZS4KK0ZpbGVzOgkgICAgc3JjL25vcm1hbC5jCisKK1BhdGNoIDYuMS40NjIKK1Byb2JsZW06ICAgIFdoZW4gYXV0b2NvbW1hbmRzIHdpcGUgb3V0IGEgYnVmZmVyLCBhIGNyYXNoIG1heSBoYXBwZW4uIChIYXJpCisJICAgIEtyaXNobmEgRGFyYSkKK1NvbHV0aW9uOiAgIERvbid0IGRlY3JlbWVudCB0aGUgd2luZG93IGNvdW50IG9mIGEgYnVmZmVyIGJlZm9yZSBjYWxsaW5nIHRoZQorCSAgICBhdXRvY29tbWFuZHMgZm9yIGl0LiAgV2hlbiByZS11c2luZyB0aGUgY3VycmVudCBidWZmZXIsIHdhdGNoIG91dAorCSAgICBmb3IgYXV0b2NvbW1hbmRzIGNoYW5naW5nIHRoZSBjdXJyZW50IGJ1ZmZlci4KK0ZpbGVzOgkgICAgc3JjL2J1ZmZlci5jLCBzcmMvZXhfY21kcy5jLCBzcmMvcHJvdG8vYnVmZmVyLnBybworCitQYXRjaCA2LjEuNDYzCitQcm9ibGVtOiAgICBXaGVuIHdyaXRpbmcgYSBjb21wcmVzc2VkIGZpbGUsIHRoZSBmaWxlIG5hbWUgdGhhdCBnemlwIHN0b3JlcyBpbgorCSAgICB0aGUgZmlsZSBpcyB0aGUgd2VpcmQgdGVtcG9yYXJ5IGZpbGUgbmFtZS4gKERhdmlkIFJlbm5hbGxzKQorU29sdXRpb246ICAgVXNlIHRoZSByZWFsIGZpbGUgbmFtZSB3aGVuIHBvc3NpYmxlLgorRmlsZXM6CSAgICBydW50aW1lL3BsdWdpbi9nemlwLnZpbQorCitQYXRjaCA2LjEuNDY0CitQcm9ibGVtOiAgICBDcmFzaCB3aGVuIHVzaW5nIEMrKyBzeW50YXggaGlnaGxpZ2h0aW5nLiAoR2VyaGFyZCBIb2NoaG9semVyKQorU29sdXRpb246ICAgQ2hlY2sgZm9yIGEgbmVnYXRpdmUgaW5kZXguCitGaWxlczoJICAgIHNyYy9zeW50YXguYworCitQYXRjaCA2LjEuNDY1IChhZnRlciA2LjEuNDU0KQorUHJvYmxlbTogICAgQ29tcGlsZSBlcnJvciB3aGVuIHVzaW5nIGN5Z3dpbi4KK1NvbHV0aW9uOiAgIENoYW5nZSAjaWZkZWYgV0lOMzIgdG8gI2lmZGVmIFdJTjMyNjQuIChBbGVqYW5kcm8gTG9wZXotVmFsZW5jaWEpCisJICAgIFVuZGVmaW5lIFdJTjMyIGFmdGVyIGluY2x1ZGluZyB3aW5kb3dzLmgKK0ZpbGVzOgkgICAgc3JjL21ieXRlLmMKKworUGF0Y2ggNi4xLjQ2NgorUHJvYmxlbTogICAgVGhlICItZiIgYXJndW1lbnQgaXMgYSBiaXQgb2JzY3VyZS4KK1NvbHV0aW9uOiAgIEFkZCB0aGUgIi0tbm9mb3JrIiBhcmd1bWVudC4gIEltcHJvdmUgdGhlIGhlbHAgdGV4dCBhIGJpdC4KK0ZpbGVzOgkgICAgcnVudGltZS9kb2Mvc3RhcnRpbmcudHh0LCBzcmMvbWFpbi5jCisKK1BhdGNoIDYuMS40NjcKK1Byb2JsZW06ICAgIFNldHRpbmcgdGhlIHdpbmRvdyB0aXRsZSBkb2Vzbid0IHdvcmsgZm9yIENoaW5lc2UuCitTb2x1dGlvbjogICBVc2UgYW4gWDExIGZ1bmN0aW9uIHRvIGNvbnZlcnQgdGV4dCB0byBhIHRleHQgcHJvcGVydHkuIChLZW50YXJvCisJICAgIE5ha2F6YXdhKQorRmlsZXM6CSAgICBzcmMvb3NfdW5peC5jCisKK1BhdGNoIDYuMS40NjgKK1Byb2JsZW06ICAgICI6bWtzZXNzaW9uIiBhbHNvIHN0b3JlcyBmb2xkcyBmb3IgYnVmZmVycyB3aGljaCB3aWxsIG5vdCBiZQorCSAgICByZXN0b3JlZC4KK1NvbHV0aW9uOiAgIE9ubHkgc3RvcmUgZm9sZHMgZm9yIGEgYnVmZmVyIHdpdGggJ2J1ZnR5cGUnIGVtcHR5IGFuZCBoZWxwIGZpbGVzLgorRmlsZXM6CSAgICBzcmMvZXhfZG9jbWQuYworCitQYXRjaCA2LjEuNDY5CitQcm9ibGVtOiAgICAnbGlzdGNoYXJzJyBjYW5ub3QgY29udGFpbiBtdWx0aS1ieXRlIGNoYXJhY3RlcnMuCitTb2x1dGlvbjogICBIYW5kbGUgbXVsdGktYnl0ZSBVVEYtOCBsaXN0IGNoYXJhY3RlcnMuIChNYXR0aGV3IFNhbXNvbm9mZikKK0ZpbGVzOgkgICAgc3JjL21lc3NhZ2UuYywgc3JjL29wdGlvbi5jLCBzcmMvc2NyZWVuLmMKKworUGF0Y2ggNi4xLjQ3MCAobGFuZykKK1Byb2JsZW06ICAgIFBvbGlzaCBtZXNzYWdlcyBkb24ndCBzaG93IHVwIGNvcnJlY3RseSBvbiBNUy1XaW5kb3dzLgorU29sdXRpb246ICAgQ29udmVydCBtZXNzYWdlcyB0byBjcDEyNTAuIChNaWtvbGFqIE1hY2hvd3NraSkKKwkgICAgQWxzbyBhZGQgRW5nbGlzaCBtZXNzYWdlIHRyYW5zbGF0aW9ucywgYmVjYXVzZSBpdCBnb3QgaW4gdGhlIHdheQorCSAgICBvZiB0aGUgcGF0Y2guCitGaWxlczoJICAgIE1ha2VmaWxlLCBzcmMvcG8vTWFrZWZpbGUsIHNyYy9wby9lbl9nYi5wbywgc3JjL3BvL3BsLnBvCisKK1BhdGNoIDYuMS40NzEKK1Byb2JsZW06ICAgICI6anVtcHMiIG91dHB1dCBjb250aW51ZXMgYWZ0ZXIgcHJlc3NpbmcgInEiIGF0IHRoZSBtb3JlLXByb21wdC4KKwkgICAgKEhhcmkgS3Jpc2huYSBEYXJhKQorU29sdXRpb246ICAgQ2hlY2sgZm9yICJnb3RfaW50IiBiZWluZyBzZXQuCitGaWxlczoJICAgIHNyYy9tYXJrLmMKKworUGF0Y2ggNi4xLjQ3MgorUHJvYmxlbTogICAgV2hlbiB0aGVyZSBpcyBhbiBhdXRoZW50aWNhdGlvbiBlcnJvciB3aGVuIGNvbm5lY3RpbmcgdG8gdGhlIFgKKwkgICAgc2VydmVyIFZpbSBleGl0cy4KK1NvbHV0aW9uOiAgIFVzZSBYU2V0SU9FcnJvckhhbmRsZXIoKSB0byBjYXRjaCB0aGUgZXJyb3IgYW5kIGxvbmdqbXAoKSB0byBhdm9pZAorCSAgICB0aGUgZXhpdC4gIEFsc28gZG8gdGhpcyBpbiB0aGUgbWFpbiBsb29wLCBzbyB0aGF0IHdoZW4gdGhlIFgKKwkgICAgc2VydmVyIGV4aXRzIGEgVmltIHJ1bm5pbmcgaW4gYSBjb25zb2xlIGlzbid0IGtpbGxlZC4KK0ZpbGVzOgkgICAgc3JjL2dsb2JhbHMuaCwgc3JjL21haW4uYywgc3JjL29zX3VuaXguYworCitQYXRjaCA2LjEuNDczCitQcm9ibGVtOiAgICBSZWZlcnJpbmcgdG8gJGN1cndpbiBvciAkY3VyYnVmIGluIFBlcmwgNS42IGNhdXNlcyBhIGNyYXNoLgorU29sdXRpb246ICAgQWRkICJwVEhYXyIgdG8gY3VyX3ZhbCgpLiAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorRmlsZXM6CSAgICBzcmMvaWZfcGVybC54cworCitQYXRjaCA2LjEuNDc0CitQcm9ibGVtOiAgICBXaGVuIG9wZW5pbmcgdGhlIGNvbW1hbmQtbGluZSB3aW5kb3cgaW4gRXggbW9kZSBpdCdzIGltcG9zc2libGUgdG8KKwkgICAgZ28gYmFjay4gKFBhdm9sIEp1aGFzKQorU29sdXRpb246ICAgUmVzZXQgImV4bW9kZV9hY3RpdmUiIGFuZCByZXN0b3JlIGl0IHdoZW4gdGhlIGNvbW1hbmQtbGluZSB3aW5kb3cKKwkgICAgaXMgY2xvc2VkLgorRmlsZXM6CSAgICBzcmMvZXhfZ2V0bG4uYworCisKK1BhdGNoIDYuMmYuMDAxCitQcm9ibGVtOiAgICBUaGUgY29uZmlndXJlIGNoZWNrIGZvciBSdWJ5IGRpZG4ndCB3b3JrIHByb3Blcmx5IGZvciBSdWJ5IDEuOC4wLgorU29sdXRpb246ICAgQ2hhbmdlIHRoZSB3YXkgdGhlIFJ1YnkgY2hlY2sgaXMgZG9uZS4gKEFyb24gR3JpZmZpcykKK0ZpbGVzOgkgICAgc3JjL2F1dG8vY29uZmlndXJlLCBzcmMvY29uZmlndXJlLmluCisKK1BhdGNoIDYuMmYuMDAyCitQcm9ibGVtOiAgICBUaGUgb3V0cHV0IG9mICI6bHMiIGRvZXNuJ3Qgc2hvdyB3aGV0aGVyIGEgYnVmZmVyIGhhZCByZWFkIGVycm9ycy4KK1NvbHV0aW9uOiAgIEFkZCB0aGUgIngiIGZsYWcgaW4gdGhlICI6bHMiIG91dHB1dC4KK0ZpbGVzOgkgICAgcnVudGltZS9kb2Mvd2luZG93cy50eHQsIHNyYy9idWZmZXIuYworCitQYXRjaCA2LjJmLjAwMworUHJvYmxlbTogICAgVGVzdDQ5IGRvZXNuJ3QgcHJvcGVybHkgdGVzdCB0aGUgYmVoYXZpb3Igb2YgIjpjYXRjaCIgd2l0aG91dCBhbgorCSAgICBhcmd1bWVudC4KK1NvbHV0aW9uOiAgIFVwZGF0ZSB0ZXN0NDkuIChTZXJ2YXRpdXMgQnJhbmR0KQorRmlsZXM6CSAgICBzcmMvdGVzdGRpci90ZXN0NDkub2ssIHNyYy90ZXN0ZGlyL3Rlc3Q0OS52aW0KKworUGF0Y2ggNi4yZi4wMDQKK1Byb2JsZW06ICAgICJ2aW0gLS12ZXJzaW9uIiBhbHdheXMgdXNlcyBDUi9MRiBpbiB0aGUgb3V0cHV0LgorU29sdXRpb246ICAgT21pdCB0aGUgQ1IuCitGaWxlczoJICAgIHNyYy9tZXNzYWdlLmMsIHNyYy9vc191bml4LmMKKworUGF0Y2ggNi4yZi4wMDUKK1Byb2JsZW06ICAgIFR3byBlcnJvciBtZXNzYWdlcyB3aXRob3V0IGEgY29sb24gYWZ0ZXIgdGhlIG51bWJlci4KK1NvbHV0aW9uOiAgIEFkZCB0aGUgY29sb24uIChUYXJvIE11cmFva2EpCitGaWxlczoJICAgIHNyYy9pZl9jc2NvcGUuYworCitQYXRjaCA2LjJmLjAwNgorUHJvYmxlbTogICAgV2hlbiBzYXZpbmcgYSBmaWxlIHRha2VzIGEgd2hpbGUgYW5kIFZpbSByZWdhaW5zIGZvY3VzIHRoaXMgY2FuCisJICAgIHJlc3VsdCBpbiBhICJmaWxlIGNoYW5nZWQgb3V0c2lkZSBvZiBWaW0iIHdhcm5pbmcgYW5kIG1sX2dldCgpCisJICAgIGVycm9ycy4gKE1pa2UgV2lsbGlhbXMpCitTb2x1dGlvbjogICBBZGQgdGhlICJiX3NhdmluZyIgZmxhZyB0byBhdm9pZCBjaGVja2luZyB0aGUgdGltZXN0YW1wIHdoaWxlIHRoZQorCSAgICBidWZmZXIgaXMgYmVpbmcgc2F2ZWQuIChNaWNoYWVsIFNjaGFhcCkKK0ZpbGVzOgkgICAgc3JjL2ZpbGVpby5jLCBzcmMvc3RydWN0cy5oCisKK1BhdGNoIDYuMmYuMDA3CitQcm9ibGVtOiAgICBJcml4IGNvbXBpbGVyIGNvbXBsYWlucyBhYm91dCBtdWx0aXBsZSBkZWZpbmVkIHN5bWJvbHMuCisJICAgIHZzbnByaW50ZigpIGlzIG5vdCBhdmFpbGFibGUuICAoQ2hhcmxlcyBDYW1wYmVsbCkKK1NvbHV0aW9uOiAgIEluc2VydCBFWFRFUk4gZm9yIHZhcmlhYmxlcyBpbiBnbG9iYWxzLmguICBDaGFuZ2UgdGhlIGNvbmZpZ3VyZQorCSAgICBjaGVjayBmb3IgdnNucHJpbnRmKCkgZnJvbSBjb21waWxpbmcgdG8gbGlua2luZy4KK0ZpbGVzOgkgICAgc3JjL2F1dG8vY29uZmlndXJlLCBzcmMvY29uZmlndXJlLmluLCBzcmMvZ2xvYmFscy5oCisKK1BhdGNoIDYuMmYuMDA4CitQcm9ibGVtOiAgICBUaGUgQWFwIHJlY2lwZSBkb2Vzbid0IHdvcmsgd2l0aCBBYXAgMC4xNDkuCitTb2x1dGlvbjogICBDaGFuZ2UgdGFyZ2V0YXJnIHRvIFRBUkdFVEFSRy4gIFVwZGF0ZSB0aGUgbXlzaWduIGZpbGUuCitGaWxlczoJICAgIHNyYy9tYWluLmFhcCwgc3JjL215c2lnbgorCitQYXRjaCA2LjJmLjAwOSAoZXh0cmEpCitQcm9ibGVtOiAgICBTbWFsbCBwcm9ibGVtIHdoZW4gYnVpbGRpbmcgd2l0aCBCb3JsYW5kIDUuMDEuCitTb2x1dGlvbjogICBVc2UgbWtkaXIoKSBpbnN0ZWFkIG9mIF9ta2RpcigpLiAoV2FsdGVyIEJyaXNjb2UpCitGaWxlczoJICAgIHNyYy9kb3NpbnN0LmgKKworUGF0Y2ggNi4yZi4wMTAKK1Byb2JsZW06ICAgIFdhcm5pbmcgZm9yIG1pc3NpbmcgcHJvdG90eXBlcy4KK1NvbHV0aW9uOiAgIEFkZCBtaXNzaW5nIHByb3RvdHlwZXMuIChXYWx0ZXIgQnJpc2NvZSkKK0ZpbGVzOgkgICAgc3JjL2lmX2NzY29wZS5jCisKK1BhdGNoIDYuMmYuMDExCitQcm9ibGVtOiAgICBUaGUgY29uZmlndXJlIHNjcmlwdCBkb2Vzbid0IHdvcmsgd2l0aCBhdXRvY29uZiAyLjV4LgorU29sdXRpb246ICAgQWRkIHNxdWFyZSBicmFja2V0cyBhcm91bmQgYSBoZWFkZXIgY2hlY2suIChBcm9uIEdyaWZmaXMpCisJICAgIE5vdGU6IHRvdWNoIHNyYy9hdXRvL2NvbmZpZ3VyZSBhZnRlciBhcHBseWluZyB0aGlzIHBhdGNoLgorRmlsZXM6CSAgICBzcmMvY29uZmlndXJlLmluCisKK1BhdGNoIDYuMmYuMDEyCitQcm9ibGVtOiAgICAiOmVjaG9lcnIiIGRvZXNuJ3Qgd29yayBjb3JyZWN0bHkgaW5zaWRlIHRyeS9lbmR0cnkuCitTb2x1dGlvbjogICBEb24ndCByZXNldCBkaWRfZW1zZyBpbnNpZGUgYSB0cnkvZW5kdHJ5LiAoU2VydmF0aXVzIEJyYW5kdCkKK0ZpbGVzOgkgICAgc3JjL2V2YWwuYworCitQYXRjaCA2LjJmLjAxMyAoZXh0cmEpCitQcm9ibGVtOiAgICBNYWNpbnRvc2g6IENvbXBpbGVyIHdhcm5pbmcgZm9yIGEgdHJpZ3JhcGguCitTb2x1dGlvbjogICBJbnNlcnQgYSBiYWNrc2xhc2ggYmVmb3JlIGVhY2ggcXVlc3Rpb24gbWFyay4gKFBldGVyIEN1Y2thKQorRmlsZXM6CSAgICBzcmMvb3NfbWFjLmgKKworUGF0Y2ggNi4yZi4wMTQgKGV4dHJhKQorUHJvYmxlbTogICAgTWFjaW50b3NoOiBleF9ldmFsIGlzIG5vdCBpbmNsdWRlZCBpbiB0aGUgcHJvamVjdCBmaWxlLgorU29sdXRpb246ICAgQWRkIGV4X2V2YWwuIChEYW55IFN0LUFtYW50KQorRmlsZXM6CSAgICBzcmMvb3NfbWFjLnBicHJvai9wcm9qZWN0LnBieHByb2oKKworUGF0Y2ggNi4yZi4wMTUgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6IFdoZW4gY2hhbmdpbmcgaGVhZGVyIGZpbGVzIG5vdCBhbGwgc291cmNlIGZpbGVzIGludm9sdmVkCisJICAgIGFyZSByZWNvbXBpbGVkLgorU29sdXRpb246ICAgSW1wcm92ZSB0aGUgZGVwZW5kZW5jeSBydWxlcy4gKERhbiBTaGFycCkKK0ZpbGVzOgkgICAgc3JjL01ha2VfY3lnLm1haywgc3JjL01ha2VfbWluZy5tYWsKKworUGF0Y2ggNi4yZi4wMTYKK1Byb2JsZW06ICAgICJ2aW0gLS12ZXJzaW9uID4gZmYiIG9uIG5vbi1Vbml4IHN5c3RlbXMgcmVzdWx0cyBpbiBhIGZpbGUgd2l0aCBhCisJICAgIG1pc3NpbmcgbGluZSBicmVhayBhdCB0aGUgZW5kLiAoQmlsbCBNY0NBcnRoeSkKK1NvbHV0aW9uOiAgIEFkZCBhIGxpbmUgYnJlYWsuCitGaWxlczoJICAgIHNyYy9tYWluLmMKKworUGF0Y2ggNi4yZi4wMTcKK1Byb2JsZW06ICAgIFVuaXg6IHN0YXJ0aW5nIFZpbSBpbiB0aGUgYmFja2dyb3VuZCBhbmQgdGhlbiBicmluZ2luZyBpdCB0byB0aGUKKwkgICAgZm9yZWdyb3VuZCBtYXkgY2F1c2UgdGhlIHRlcm1pbmFsIHNldHRpbmdzIHRvIGJlIHdyb25nLgorU29sdXRpb246ICAgQ2hlY2sgZm9yIHRjc2V0YXR0cigpIHRvIHJldHVybiBhbiBlcnJvciwgcmV0cnkgd2hlbiBpdCBkb2VzLgorCSAgICAoUGF1bCBUYXBwZXIpCitGaWxlczoJICAgIHNyYy9vc191bml4LmMKKworUGF0Y2ggNi4yZi4wMTgKK1Byb2JsZW06ICAgIE1hYyBPUyBYIDEwLjI6IE9LIGlzIGRlZmluZWQgdG8gemVybyBpbiBjdXJzdXMuaCB3aGlsZSBWaW0gdXNlcworCSAgICBvbmUuICBSZWRlZmluaW5nIGl0IGNhdXNlcyBhIHdhcm5pbmcgbWVzc2FnZS4KK1NvbHV0aW9uOiAgIFVuZGVmaW5lIE9LIGJlZm9yZSBkZWZpbmluZyBpdCB0byBvbmUuIChUYXJvIE11cmFva2EpCitGaWxlczoJICAgIHNyYy92aW0uaAorCitQYXRjaCA2LjJmLjAxOQorUHJvYmxlbTogICAgTWFjIE9TIFggMTAuMjogQ09MT1JfQkxBQ0sgYW5kIENPTE9SX1dISVRFIGFyZSBkZWZpbmVkIGluCisJICAgIGN1cnNlcy5oLgorU29sdXRpb246ICAgUmVuYW1lIHRoZW0gdG8gUFJDT0xPUl9CTEFDSyBhbmQgUFJDT0xPUl9XSElURS4KK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMyLmMKKworUGF0Y2ggNi4yZi4wMjAKK1Byb2JsZW06ICAgIFdpbjMyOiB0ZXN0NTAgcHJvZHVjZXMgYmVlcHMgYW5kIGZhaWxzIHdpdGggc29tZSB2ZXJzaW9ucyBvZiBkaWZmLgorU29sdXRpb246ICAgUmVtb3ZlIGVtcHR5IGxpbmVzIGFuZCBjb252ZXJ0IHRoZSBvdXRwdXQgdG8gZG9zIGZpbGVmb3JtYXQuCitGaWxlczoJICAgIHNyYy90ZXN0ZGlyL3Rlc3Q1MC5pbgorCitQYXRjaCA2LjJmLjAyMQorUHJvYmxlbTogICAgUnVubmluZyBjb25maWd1cmUgd2l0aCAiLS1lbmFibGUtbmV0YmVhbnMiIGRpc2FibGVzIE5ldGJlYW5zLgorCSAgICAoR29yZG9uIFByaWV1cikKK1NvbHV0aW9uOiAgIEZpeCB0aGUgdGVzdHMgaW4gY29uZmlndXJlLmluIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRvIGVuYWJsZSBhCisJICAgIGZlYXR1cmUuICBGaXggdGhhdCAiLS1lbmFibGUtYWNsIiByZXBvcnRlZCAieWVzIiBjb25mdXNpbmdseS4KK0ZpbGVzOgkgICAgc3JjL2F1dG8vY29uZmlndXJlLCBzcmMvY29uZmlndXJlLmluLCBzcmMvbXlzaWduCisKK1BhdGNoIDYuMmYuMDIyCitQcm9ibGVtOiAgICBBIGJvZ3VzIHZhbHVlIGZvciAnZm9sZG1hcmtlcicgaXMgbm90IHJlamVjdGVkLCBwb3NzaWJseSBjYXVzaW5nIGEKKwkgICAgaGFuZy4gKERlcmVrIFd5YXR0KQorU29sdXRpb246ICAgQ2hlY2sgZm9yIGEgbm9uLWVtcHR5IHN0cmluZyBiZWZvcmUgYW5kIGFmdGVyIHRoZSBjb21tYS4KK0ZpbGVzOgkgICAgc3JjL29wdGlvbi5jCisKK1BhdGNoIDYuMmYuMDIzCitQcm9ibGVtOiAgICBXaGVuIHRoZSBoZWxwIGZpbGVzIGFyZSBub3QgaW4gJFZJTVJVTlRJTUUgYnV0ICdoZWxwZmlsZScgaXMKKwkgICAgY29ycmVjdCBWaW0gc3RpbGwgY2FuJ3QgZmluZCB0aGUgaGVscCBmaWxlcy4KK1NvbHV0aW9uOiAgIEFsc28gbG9vayBmb3IgYSB0YWdzIGZpbGUgaW4gdGhlIGRpcmVjdG9yeSBvZiAnaGVscGZpbGUnLgorRmlsZXM6CSAgICBzcmMvdGFnLmMKKworUGF0Y2ggNi4yZi4wMjQKK1Byb2JsZW06ICAgIFdoZW4gJ2RlbGNvbWJpbmUnIGlzIHNldCBhbmQgYSBjaGFyYWN0ZXIgaGFzIG1vcmUgdGhhbiB0d28KKwkgICAgY29tcG9zaW5nIGNoYXJhY3RlcnMgIngiIGRlbGV0ZXMgdGhlbSBhbGwuCitTb2x1dGlvbjogICBBbHdheXMgZGVsZXRlIG9ubHkgdGhlIGxhc3QgY29tcG9zaW5nIGNoYXJhY3Rlci4KK0ZpbGVzOgkgICAgc3JjL21pc2MxLmMKKworUGF0Y2ggNi4yZi4wMjUKK1Byb2JsZW06ICAgIFdoZW4gcmVhZGluZyBhIGZpbGUgZnJvbSBzdGRpbiB0aGF0IGhhcyBET1MgbGluZSBlbmRpbmdzIGJ1dCBhCisJICAgIG1pc3NpbmcgZW5kLW9mLWxpbmUgZm9yIHRoZSBsYXN0IGxpbmUgJ2ZpbGVmb3JtYXQnIGJlY29tZXMgInVuaXgiLgorCSAgICAoQmlsbCBNY0NhcnRoeSkKK1NvbHV0aW9uOiAgIERvbid0IGFkZCB0aGUgbWlzc2luZyBsaW5lIGJyZWFrIHdoZW4gcmUtcmVhZGluZyB0aGUgdGV4dCBmcm9tIHRoZQorCSAgICBidWZmZXIuCitGaWxlczoJICAgIHNyYy9maWxlaW8uYworCitQYXRjaCA2LjJmLjAyNgorUHJvYmxlbTogICAgV2hlbiB0eXBpbmcgbmV3IHRleHQgYXQgdGhlIGNvbW1hbmQgbGluZSwgb2xkIGNvbXBvc2luZyBjaGFyYWN0ZXJzCisJICAgIG1heSBiZSBkaXNwbGF5ZWQuCitTb2x1dGlvbjogICBEb24ndCByZWFkIGNvbXBvc2luZyBjaGFyYWN0ZXJzIGZyb20gYWZ0ZXIgdGhlIGVuZCBvZiB0aGUKKwkgICAgdGV4dCB0byBiZSBkaXNwbGF5ZWQuCitGaWxlczoJICAgIHNyYy9leF9nZXRsbi5jLCBzcmMvbWJ5dGUuYywgc3JjL21lc3NhZ2UuYywgc3JjL3Byb3RvL21ieXRlLnBybywKKwkgICAgc3JjL3NjcmVlbi5jCisKK1BhdGNoIDYuMmYuMDI3CitQcm9ibGVtOiAgICBDb21waWxlciB3YXJuaW5ncyBmb3IgdW5zaWduZWQgY2hhciBwb2ludGVycy4gKFRvbnkgTGVuZWlzKQorU29sdXRpb246ICAgQWRkIHR5cGVjYXN0cyB0byBjaGFyIHBvaW50ZXIuCitGaWxlczoJICAgIHNyYy9xdWlja2ZpeC5jCisKK1BhdGNoIDYuMmYuMDI4CitQcm9ibGVtOiAgICBHVEs6IFdoZW4gJ2ltYWN0aXZhdGVrZXknIGlzIGVtcHR5IGFuZCBYSU0gaXMgaW5hY3RpdmUgaXQgY2FuJ3QgYmUKKwkgICAgbWFkZSBhY3RpdmUgYWdhaW4uICBDdXJzb3IgaXNuJ3QgdXBkYXRlZCBpbW1lZGlhdGVseSB3aGVuIGNoYW5naW5nCisJICAgIFhJTSBhY3RpdmF0aW9uLiAgSmFwYW5lc2UgWElNIG1heSBoYW5nIHdoZW4gdXNpbmcgJ2ltYWN0aXZhdGVrZXknLgorCSAgICBDYW4ndCBhY3RpdmF0ZSBYSU0gYWZ0ZXIgdHlwaW5nIGZGdFQgY29tbWFuZCBvciAiOnNoIi4KK1NvbHV0aW9uOiAgIFByb3Blcmx5IHNldCB0aGUgZmxhZyB0aGF0IGluZGljYXRlcyB0aGUgSU0gaXMgYWN0aXZlLiAgVXBkYXRlIHRoZQorCSAgICBjdXJzb3IgcmlnaHQgYXdheS4gIERvIG5vdCBzZW5kIGEga2V5LXJlbGVhc2UgZXZlbnQuICBIYW5kbGUKKwkgICAgTm9ybWFsIG1vZGUgYW5kIHJ1bm5pbmcgYW4gZXh0ZXJuYWwgY29tbWFuZCBkaWZmZXJlbnRseS4KKwkgICAgKFlhc3VoaXJvIE1hdHN1bW90bykKK0ZpbGVzOgkgICAgc3JjL21ieXRlLmMKKworUGF0Y2ggNi4yZi4wMjkKK1Byb2JsZW06ICAgIE1peGluZyB1c2Ugb2YgaW50IGFuZCBlbnVtLgorU29sdXRpb246ICAgQWRqdXN0IGFyZ3VtZW50IHR5cGUgb2YgY3NfdXNhZ2VfbXNnKCkuICBGaXggd3JvbmcgdHlwZWRlZi4KK0ZpbGVzOgkgICAgc3JjL2lmX2NzY29wZS5jLCBzcmMvaWZfY3Njb3BlLmgKKworUGF0Y2ggNi4yZi4wMzAgKGFmdGVyIDYuMmYuMDI4KQorUHJvYmxlbTogICAgQ3Vyc29yIG1vdmVzIHVwIHdoZW4gdXNpbmcgWElNLgorU29sdXRpb246ICAgUmVzZXQgaW1fcHJlZWRpdF9jdXJzb3IuICAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorRmlsZXM6CSAgICBzcmMvbWJ5dGUuYworCitQYXRjaCA2LjJmLjAzMQorUHJvYmxlbTogICAgQ3Jhc2ggd2hlbiBsaXN0aW5nIGEgZnVuY3Rpb24gYXJndW1lbnQgaW4gdGhlIGRlYnVnZ2VyLiAoUm9uIEFhcm9uKQorU29sdXRpb246ICAgSW5pdCB0aGUgbmFtZSBmaWVsZCBvZiBhbiBhcmd1bWVudCB0byBOVUxMLgorRmlsZXM6CSAgICBzcmMvZXZhbC5jCisKK1BhdGNoIDYuMmYuMDMyCitQcm9ibGVtOiAgICBXaGVuIGEgd3JpdGUgZmFpbHMgZm9yIGEgIjpzaWxlbnQhIiB3aGlsZSBpbnNpZGUgdHJ5L2VuZHRyeSB0aGUKKwkgICAgQnVmV3JpdGVQb3N0IGF1dG9jb21tYW5kcyBhcmUgbm90IHRyaWdnZXJlZC4KK1NvbHV0aW9uOiAgIENoZWNrIHRoZSBlbXNnX3NpbGVudCBmbGFnIGluIHNob3VsZF9hYm9ydCgpLiAoU2VydmF0aXVzIEJyYW5kdCkKK0ZpbGVzOgkgICAgc3JjL2V4X2V2YWwuYywgc3JjL3Rlc3RkaXIvdGVzdDQ5Lm9rLCBzcmMvdGVzdGRpci90ZXN0NDkudmltCisKK1BhdGNoIDYuMmYuMDMzCitQcm9ibGVtOiAgICBDc2NvcGU6IHJlLWVudHJhbmNlIHByb2JsZW0gZm9yICI6Y3Njb3BlIiBjb21tYW5kLiAgQ2hlY2tpbmcgZm9yCisJICAgIGR1cGxpY2F0ZSBkYXRhYmFzZSBkaWRuJ3Qgd29yayB3ZWxsIGZvciBXaW45NS4gIERpZG4ndCBjaGVjayBmb3IKKwkgICAgZHVwbGljYXRlIGRhdGFiYXNlcyBhZnRlciBhbiBlbXB0eSBlbnRyeS4KK1NvbHV0aW9uOiAgIERvbid0IHNldCBwb3N0cG9uZWRfc3BsaXQgdG9vIGVhcmx5LiAgUmVtZW1iZXIgZmlyc3QgZW1wdHkKKwkgICAgZGF0YWJhc2UgZW50cnkuIChTZXJnZXkgS2hvcmV2KQorRmlsZXM6CSAgICBzcmMvaWZfY3Njb3BlLmMKKworUGF0Y2ggNi4yZi4wMzQKK1Byb2JsZW06ICAgIFRoZSBuZXRiZWFucyBpbnRlcmZhY2UgY2Fubm90IGJlIHVzZWQgb24gc3lzdGVtcyB3aXRob3V0CisJICAgIHZzbnByaW50ZigpLiAoVG9ueSBMZW5laXMpCitTb2x1dGlvbjogICBVc2UgRU1TRygpLCBFTVNHTigpIGFuZCBFTVNHMigpIGluc3RlYWQuCitGaWxlczoJICAgIHNyYy9hdXRvL2NvbmZpZ3VyZSwgc3JjL2NvbmZpZ3VyZS5pbiwgc3JjL25ldGJlYW5zLmMKKworUGF0Y2ggNi4yZi4wMzUKK1Byb2JsZW06ICAgIFRoZSBjb25maWd1cmUgY2hlY2sgZm9yIHRoZSBuZXRiZWFucyBpbnRlcmZhY2UgZG9lc24ndCB3b3JrIGlmIHRoZQorCSAgICBzb2NrZXQgYW5kIG5zbCBsaWJyYXJpZXMgYXJlIHJlcXVpcmVkLgorU29sdXRpb246ICAgQ2hlY2sgZm9yIHRoZSBzb2NrZXQgYW5kIG5zbCBsaWJyYXJpZXMgYmVmb3JlIHRoZSBuZXRiZWFucyBjaGVjay4KK0ZpbGVzOgkgICAgc3JjL2F1dG8vY29uZmlndXJlLCBzcmMvY29uZmlndXJlLmluCisKK1BhdGNoIDYuMmYuMDM2CitQcm9ibGVtOiAgICBNb3ZpbmcgbGVmdHdhcmRzIG92ZXIgdGV4dCB3aXRoIGFuIGlsbGVnYWwgVVRGLTggYnl0ZSBtb3ZlcyBvbmUKKwkgICAgYnl0ZSBpbnN0ZWFkIG9mIG9uZSBjaGFyYWN0ZXIuCitTb2x1dGlvbjogICBJZ25vcmUgYW4gaWxsZWdhbCBieXRlIGFmdGVyIHRoZSBjdXJzb3IgcG9zaXRpb24uCitGaWxlczoJICAgIHNyYy9tYnl0ZS5jCisKK1BhdGNoIDYuMmYuMDM3CitQcm9ibGVtOiAgICBXaGVuIHJlY2VpdmluZyBhIE5ldGJlYW5zIGNvbW1hbmQgYXQgdGhlIGhpdC1lbnRlciBvciBtb3JlIHByb21wdAorCSAgICB0aGUgc2NyZWVuIGlzIHJlZHJhd24gYnV0IFZpbSBpcyBzdGlsbCB3YWl0aW5nIGF0IHRoZSBwcm9tcHQuCitTb2x1dGlvbjogICBRdWl0IHRoZSBwcm9tcHQgbGlrZSBhIENUUkwtQyB3YXMgdHlwZWQuCitGaWxlczoJICAgIHNyYy9uZXRiZWFucy5jCisKK1BhdGNoIDYuMmYuMDM4CitQcm9ibGVtOiAgICBUaGUgZGVwZW5kZW5jeSB0byBydW4gYXV0b2NvbmYgY2F1c2VzIGEgcGF0Y2ggZm9yIGNvbmZpZ3VyZS5pbgorCSAgICB0byBydW4gYXV0b2NvbmYsIGV2ZW4gdGhvdWdoIHRoZSBjb25maWd1cmUgc2NyaXB0IHdhcyB1cGRhdGVkIGFzCisJICAgIHdlbGwuCitTb2x1dGlvbjogICBPbmx5IHJ1biBhdXRvY29uZiB3aXRoICJtYWtlIGF1dG9jb25mIi4KK0ZpbGVzOgkgICAgc3JjL01ha2VmaWxlCisKK1BhdGNoIDYuMmYuMDM5CitQcm9ibGVtOiAgICBDVFJMLVcgSyBtYWtlcyB0aGUgbmV3IHRvcCB3aW5kb3cgdmVyeSBoaWdoLgorU29sdXRpb246ICAgV2hlbiAnZXF1YWxhbHdheXMnIGlzIHNldCBlcXVhbGl6ZSB0aGUgd2luZG93IGhlaWdodHMuCitGaWxlczoJICAgIHNyYy93aW5kb3cuYworCisKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorVkVSU0lPTiA2LjMJCQkJCQkqdmVyc2lvbi02LjMqCisKK1RoaXMgc2VjdGlvbiBpcyBhYm91dCBpbXByb3ZlbWVudHMgbWFkZSBiZXR3ZWVuIHZlcnNpb24gNi4yIGFuZCA2LjMuCisKK1RoaXMgaXMgbWFpbmx5IGEgYnVnLWZpeCByZWxlYXNlLiAgVGhlcmUgYXJlIGFsc28gYSBmZXcgbmV3IGZlYXR1cmVzLgorVGhlIG1ham9yIG51bWJlciBvZiBuZXcgaXRlbXMgaXMgaW4gdGhlIHJ1bnRpbWUgZmlsZXMgYW5kIHRyYW5zbGF0aW9ucy4KKworCitDaGFuZ2VkCQkJCQkJCSpjaGFuZ2VkLTYuMyoKKy0tLS0tLS0KKworVGhlIGludHJvIG1lc3NhZ2UgYWxzbyBkaXNwbGF5cyBhIG5vdGUgYWJvdXQgc3BvbnNvcmluZyBWaW0sIG1peGVkIHJhbmRvbWx5Cit3aXRoIHRoZSBtZXNzYWdlIGFib3V0IGhlbHBpbmcgY2hpbGRyZW4gaW4gVWdhbmRhLgorCitJbmNsdWRlZCB0aGUgdHJhbnNsYXRlZCBtZW51cywga2V5bWFwcyBhbmQgdHV0b3JzIHdpdGggdGhlIG5vcm1hbCBydW50aW1lCitmaWxlcy4gIFRoZSBzZXBhcmF0ZSAibGFuZyIgYXJjaGl2ZSBub3cgb25seSBjb250YWlucyB0cmFuc2xhdGVkIG1lc3NhZ2VzLgorCitNYWRlIHRoZSB0cmFuc2xhdGVkIG1lbnUgZmlsZSBuYW1lcyBhIGJpdCBtb3JlIGNvbnNpc3RlbnQuICBVc2UgImxhdGluMSIgZm9yCisiaXNvXzg4NTktMSIgYW5kICJpc29fODg1OS0xNSIuCisKK1JlbW92ZWQgdGhlICJmaWxlX3NlbGVjdC52aW0iIHNjcmlwdCBmcm9tIHRoZSBkaXN0cmlidXRpb24uICBJdCdzIG5vdCBtb3JlCit1c2VmdWwgdGhhbiBvdGhlciBzY3JpcHRzIHRoYXQgY2FuIGJlIGRvd25sb2FkZWQgZnJvbSB3d3cudmltLm9yZy4KKworVGhlICJydW50aW1lL2RvYy90YWdzIiBmaWxlIGlzIG5vdyBhbHdheXMgaW4gdW5peCBmaWxlZm9ybWF0LiAgT24gTVMtV2luZG93cworaXQgdXNlZCB0byBiZSBkb3MgZmlsZWZvcm1hdCwgYnV0ICI6aGVscHRhZ3MiIGdlbmVyYXRlcyBhIHVuaXggZm9ybWF0IGZpbGUuCisKKworQWRkZWQJCQkJCQkJKmFkZGVkLTYuMyoKKy0tLS0tCisKK05ldyBjb21tYW5kczoKKwk6Y05maWxlCQlnbyB0byBsYXN0IGVycm9yIGluIHByZXZpb3VzIGZpbGUKKwk6Y3BmaWxlCQlpZGVtCisJOmNoYW5nZXMJcHJpbnQgdGhlIGNoYW5nZSBsaXN0CisJOmtlZXBtYXJrcwlmb2xsb3dpbmcgY29tbWFuZCBrZWVwcyBtYXJrcyB3aGVyZSB0aGV5IGFyZQorCTprZWVwanVtcHMJZm9sbG93aW5nIGNvbW1hbmQga2VlcHMganVtcGxpc3QgYW5kIG1hcmtzCisJOmxvY2ttYXJrcwlmb2xsb3dpbmcgY29tbWFuZCBrZWVwcyBtYXJrcyB3aGVyZSB0aGV5IGFyZQorCTpyZWRyYXdzdGF0dXMJZm9yY2UgYSByZWRyYXcgb2YgdGhlIHN0YXR1cyBsaW5lKHMpCisKK05ldyBvcHRpb25zOgorCSdhbnRpYWxpYXMnCU1hYyBPUyBYOiB1c2Ugc21vb3RoLCBhbnRpYWxpYXNlZCBmb250cworCSdoZWxwbGFuZycJcHJlZmVycmVkIGhlbHAgbGFuZ3VhZ2VzCisKK1N5bnRheCBmaWxlczoKKwlBcmNoIGludmVudG9yeSAoTmlrb2xhaSBXZWlidWxsKQorCUNhbGVuZGFyIChOaWtvbGFpIFdlaWJ1bGwpCisJQ2ggKFdheW5lIENoZW5nKQorCUNvbnRyb2xsYWJsZSBSZWdleCBNdXRpbGF0b3IgKE5pa29sYWkgV2VpYnVsbCkKKwlEIChKYXNvbiBNaWxscykKKwlEZXNrdG9wIChNaWtvbGFqIE1hY2hvd3NraSkKKwlEaXJjb2xvcnMgKE5pa29sYWkgV2VpYnVsbCkKKwlFbGlua3MgY29uZmlndXJhdGlvbiAoTmlrb2xhaSBXZWlidWxsKQorCUZBU00gKFJvbiBBYXJvbikKKwlHckFEUyBzY3JpcHRzIChTdGVmYW4gRnJvbnplaykKKwlJY2V3bSBtZW51IChKYW1lcyBNYWhsZXIpCisJTERJRiAoWmFrIEpvaG5zb24pCisJTG9jYWxlIGlucHV0LCBmZGNjLiAoRHdheW5lIEJhaWxleSkKKwlQaW5mbyBjb25maWcgKE5pa29sYWkgV2VpYnVsbCkKKwlQeXJleCAoTWFyY28gQmFyaXNpb25lKQorCVJlbGF4IE5HIENvbXBhY3QgKE5pa29sYWkgV2VpYnVsbCkKKwlTbGljZSAoTW9yZWwgQm9kaW4pCisJVkFYIE1hY3JvIEFzc2VtYmx5IChUb20gVWlqbGRlcnQpCisJZ3JhZHMgKFN0ZWZhbiBGcm9uemVrKQorCWxpYmFvIChOaWtvbGFpIFdlaWJ1bGwpCisJbXBsYXllciAoTmlrb2xhaSBXZWlidWxsKQorCXJzdCAoTmlrb2xhaSBXZWlidWxsKQorCXRjc2ggKEdhdXRhbSBJeWVyKQorCXlhbWwgKE5pa29sYWkgV2VpYnVsbCkKKworQ29tcGlsZXIgcGx1Z2luczoKKwlBVFQgZG90IChNYXJjb3MgTWFjZWRvKQorCUFwcGxlIFByb2plY3QgQnVpbGRlciAoQWxleGFuZGVyIHZvbiBCZWxvdykKKwlJbnRlbCAoRGF2aWQgSGFycmlzb24pCisJYmRmIChOaWtvbGFpIFdlaWJ1bGwpCisJaWNjIChQZXRlciBQdWNrKQorCWphdmFjIChEb3VnIEtlYXJucykKKwluZWF0byAoTWFyY29zIE1hY2VkbykKKwlvbnNnbWxzIChSb2JlcnQgQi4gUm93c29tZSkKKwlwZXJsIChDaHJpc3RpYW4gSi4gUm9iaW5zb24pCisJcnN0IChOaWtvbGFpIFdlaWJ1bGwpCisJc2UgKFNtYXJ0RWlmZmVsKSAoRG91ZyBLZWFybnMpCisJdGNsIChEb3VnIEtlYXJucykKKwl4bWx3ZiAoUm9iZXJ0IEIuIFJvd3NvbWUpCisKK0ZpbGV0eXBlIHBsdWdpbnM6CisJQWFwIChCcmFtIE1vb2xlbmFhcikKKwlDaCAoV2F5bmUgQ2hlbmcpCisJQ3NzIChOaWtvbGFpIFdlaWJ1bGwpCisJUHlyZXggKE1hcmNvIEJhcmlzaW9uZSkKKwlSc3QgKE5pa29sYWkgV2VpYnVsbCkKKworSW5kZW50IHNjcmlwdHM6CisJQWFwIChCcmFtIE1vb2xlbmFhcikKKwlDaCAoV2F5bmUgQ2hlbmcpCisJRG9jQm9vayAoTmlrb2xhaSBXZWlidWxsKQorCU1ldGFQb3N0IChFdWdlbmUgTWlua292c2tpaSkKKwlPYmplY3RpdmUtQyAoS2F6dW5vYnUgS3VyaXlhbWEpCisJUHlyZXggKE1hcmNvIEJhcmlzaW9uZSkKKwlSc3QgKE5pa29sYWkgV2VpYnVsbCkKKwlUY3NoIChHYXV0YW0gSXllcikKKwlYRnJlZTg2IGNvbmZpZ3VyYXRpb24gZmlsZSAoTmlrb2xhaSBXZWlidWxsKQorCVpzaCAoTmlrb2xhaSBXZWlidWxsKQorCitLZXltYXBzOgorCUdyZWVrIGZvciBjcDEyNTMgKFBhbmFnaW90aXMgTG91cmlkYXMpCisJSHVuZ2FyaWFuIChNYWd5YXIpIChMYXN6bG8gWmF2YWxldGEpCisJUGVyc2lhbi1JcmFuaWFuIChCZWhuYW0gRXNmYWhib2QpCisKK01lc3NhZ2UgdHJhbnNsYXRpb25zOgorCUNhdGFsYW4gKEVybmVzdCBBZHJvZ3VlKQorCVJ1c3NpYW4gKFZhc3NpbHkgUmFnb3NpbikKKwlTd2VkaXNoIChKb2hhbiBTdmVkYmVyZykKKworTWVudSB0cmFuc2xhdGlvbnM6CisJQ2F0YWxhbiAoRXJuZXN0IEFkcm9ndWUpCisJUnVzc2lhbiAoVGltIEFsZXhlZXZza3kpCisJU3dlZGlzaCAoSm9oYW4gU3ZlZGJlcmcpCisKK1R1dG9yIHRyYW5zbGF0aW9uczoKKwlDYXRhbGFuIChFcm5lc3QgQWRyb2d1ZSkKKwlSdXNzaWFuIGluIGNwMTI1MSAoQWxleGV5IEZyb2xvZmYpCisJU2xvdmFrIGluIGNwMTI1MSBhbmQgaXNvODg1OS0yIChMdWJvcyBDZWxrbykKKwlTd2VkaXNoIChKb2hhbiBTdmVkYmVyZykKKwlLb3JlYW4gKEtlZS1Xb24gU2VvKQorCVVURi04IHZlcnNpb24gb2YgdGhlIEphcGFuZXNlIHR1dG9yIChZYXN1aGlybyBNYXRzdW1vdG8pIFVzZSB0aGlzIGFzCisJCXRoZSBvcmlnaW5hbCwgY3JlYXRlIHRoZSBvdGhlciBKYXBhbmVzZSB0dXRvciBieSBjb252ZXJzaW9uLgorCitJbmNsdWRlZCAicnVzc2lhbi50eHQiIGhlbHAgZmlsZS4gKFZhc3NpbHkgUmFnb3NpbikKKworSW5jbHVkZSBFbmNhcHN1bGF0ZWQgUG9zdFNjcmlwdCBhbmQgUERGIHZlcnNpb25zIG9mIHRoZSBWaW0gbG9nbyBpbiB0aGUgZXh0cmEKK2FyY2hpdmUuCisKK1RoZSBoZWxwIGhpZ2hsaWdodGluZyBmaW5kcyB0aGUgaGlnaGxpZ2h0IGdyb3VwcyBhbmQgc2hvd3MgdGhlbSBpbiB0aGUgY29sb3IKK3RoYXQgaXMgYWN0dWFsbHkgYmVpbmcgdXNlZC4gKGlkZWEgZnJvbSBZYWtvdiBMZXJuZXIpCisKK1RoZSBiaWcgV2luMzIgdmVyc2lvbiBpcyBub3cgY29tcGlsZWQgd2l0aCBSdWJ5IGludGVyZmFjZSwgdmVyc2lvbiAxLjguICBGb3IKK1B5dGhvbiB2ZXJzaW9uIDIuMyBpcyB1c2VkLiAgRm9yIFBlcmwgdmVyc2lvbiA1LjggaXMgdXNlZC4KKworVGhlICJmdGRldGVjdCIgZGlyZWN0b3J5IGlzIG1lbnRpb25lZCBpbiB0aGUgZG9jdW1lbnRhdGlvbi4gIFRoZSBET1MgaW5zdGFsbAorcHJvZ3JhbSBjcmVhdGVzIGl0LgorCisKK0ZpeGVkCQkJCQkJCSpmaXhlZC02LjMqCistLS0tLQorCitUZXN0IDQyIGZhaWxlZCBvbiBNUy1XaW5kb3dzLiAgU2V0IGFuZCByZXNldCAnZmlsZWZvcm1hdCcgYW5kICdiaW5hcnknIG9wdGlvbnMKK2hlcmUgYW5kIHRoZXJlLiAgKFdhbHRlciBCcmlzY29lKQorCitUaGUgZXhwbG9yZXIgcGx1Z2luIGRpZG4ndCB3b3JrIGZvciBkb3VibGUtYnl0ZSAnZW5jb2Rpbmcncy4KKworVXNlICJjb3B5IC95IiBpbiBNYWtlX2JjNS5tYWsgdG8gYXZvaWQgYSBwcm9tcHQgZm9yIG92ZXJ3cml0aW5nLgorCitQYXRjaCA2LjIuMDAxCitQcm9ibGVtOiAgICBUaGUgIjpzdG9waW5zZXJ0IiBjb21tYW5kIGRvZXNuJ3QgaGF2ZSBhIGhlbHAgdGFnLgorU29sdXRpb246ICAgQWRkIHRoZSB0YWcuIChBbnRvaW5lIEouICBNZWNoZWx5bmNrKQorRmlsZXM6CSAgICBydW50aW1lL2RvYy9pbnNlcnQudHh0LCBydW50aW1lL2RvYy90YWdzCisKK1BhdGNoIDYuMi4wMDIKK1Byb2JsZW06ICAgIFdoZW4gY29tcGlsZWQgd2l0aCB0aGUgK211bHRpX2J5dGUgZmVhdHVyZSBidXQgd2l0aG91dCArZXZhbCwKKwkgICAgZGlzcGxheWluZyBVVEYtOCBjaGFyYWN0ZXJzIG1heSBjYXVzZSBhIGNyYXNoLiAoS2Fyc3RlbiBIb3BwKQorU29sdXRpb246ICAgQWxzbyBzZXQgdGhlIGRlZmF1bHQgZm9yICdhbWJpd2lkdGgnIHdoZW4gY29tcGlsZWQgd2l0aG91dCB0aGUKKwkgICAgK2V2YWwgZmVhdHVyZS4KK0ZpbGVzOgkgICAgc3JjL29wdGlvbi5jCisKK1BhdGNoIDYuMi4wMDMKK1Byb2JsZW06ICAgIEdUSyAyOiBkb3VibGUtd2lkZSBjaGFyYWN0ZXJzIGJlbG93IDI1NiBhcmUgbm90IGRpc3BsYXllZAorCSAgICBjb3JyZWN0bHkuCitTb2x1dGlvbjogICBDaGVjayB0aGUgY2VsbCB3aWR0aCBmb3IgY2hhcmFjdGVycyBhYm92ZSAxMjcuIChZYXN1aGlybworCSAgICBNYXRzdW1vdG8pCitGaWxlczoJICAgIHNyYy9ndWlfZ3RrX3gxMS5jCisKK1BhdGNoIDYuMi4wMDQKK1Byb2JsZW06ICAgIFdpdGggYSBsaW5lLVZpc3VhbCBzZWxlY3Rpb24gYXQgdGhlIGVuZCBvZiB0aGUgZmlsZSBhICJwIiBjb21tYW5kCisJICAgIHB1dHMgdGhlIHRleHQgb25lIGxpbmUgdXB3YXJkcy4KK1NvbHV0aW9uOiAgIERldGVjdCB0aGF0IHRoZSBsYXN0IGxpbmUgd2FzIGRlbGV0ZWQgYW5kIHB1dCBmb3J3YXJkLiAoVGFybworCSAgICBNdXJhb2thKQorRmlsZXM6CSAgICBzcmMvbm9ybWFsLmMKKworUGF0Y2ggNi4yLjAwNQorUHJvYmxlbTogICAgR1RLOiB0aGUgIkZpbmQiIGFuZCAiRmluZCBhbmQgUmVwbGFjZSIgdG9vbHMgZG9uJ3Qgd29yay4gKEFzY2h3aW4KKwkgICAgTWFyc21hbikKK1NvbHV0aW9uOiAgIFNob3cgdGhlIGRpYWxvZyBhZnRlciBjcmVhdGluZyBpdC4gIChEYXZpZCBOZWNhcykKK0ZpbGVzOgkgICAgc3JjL2d1aV9ndGsuYworCitQYXRjaCA2LjIuMDA2CitQcm9ibGVtOiAgICBUaGUgTmV0YmVhbnMgY29kZSBjb250YWlucyBhbiBvYnNvbGV0ZSBmdW5jdGlvbiB0aGF0IHVzZXMgInZpbTYxIgorCSAgICBhbmQgc2V0cyB0aGUgZmFsbC1iYWNrIHZhbHVlIGZvciAkVklNUlVOVElNRS4KK1NvbHV0aW9uOiAgIERlbGV0ZSB0aGUgb2Jzb2xldGUgZnVuY3Rpb24uCitGaWxlczoJICAgIHNyYy9tYWluLmMsIHNyYy9uZXRiZWFucy5jLCBzcmMvcHJvdG8vbmV0YmVhbnMucHJvCisKK1BhdGNoIDYuMi4wMDcKK1Byb2JsZW06ICAgIExpc3RpbmcgdGFncyBmb3IgQ3Njb3BlIGRvZXNuJ3QgYWx3YXlzIHdvcmsuCitTb2x1dGlvbjogICBBdm9pZCB1c2luZyBzbWdzX2F0dHIoKS4gKFNlcmdleSBLaG9yZXYpCitGaWxlczoJICAgIHNyYy9pZl9jc2NvcGUuYworCitQYXRjaCA2LjIuMDA4CitQcm9ibGVtOiAgICBYSU0gd2l0aCBHVEsgMjogQWZ0ZXIgYmFja3NwYWNpbmcgcHJlZWRpdCBjaGFyYWN0ZXJzIGFyZSB3cm9uZy4KK1NvbHV0aW9uOiAgIFJlc2V0IHRoZSBjdXJzb3IgcG9zaXRpb24uIChZYXN1aGlybyBNYXRzdW1vdG8pCitGaWxlczoJICAgIHNyYy9tYnl0ZS5jCisKK1BhdGNoIDYuMi4wMDkKK1Byb2JsZW06ICAgIFdpbjMyOiBUaGUgc2VsZi1pbnN0YWxsaW5nIGV4ZWN1dGFibGUgIkZ1bGwiIHNlbGVjdGlvbiBvbmx5CisJICAgIHNlbGVjdHMgc29tZSBvZiB0aGUgaXRlbXMgdG8gaW5zdGFsbC4gKFNhbG1hbiBNb2hzaW4pCitTb2x1dGlvbjogICBDaGFuZ2UgY29tbWFzIHRvIHNwYWNlcyBpbiBiZXR3ZWVuIHNlY3Rpb24gbnVtYmVycy4KK0ZpbGVzOgkgICAgbnNpcy9ndmltLm5zaQorCitQYXRjaCA2LjIuMDEwCitQcm9ibGVtOiAgICBXaGVuICd2aXJ0dWFsZWRpdCcgaXMgZWZmZWN0aXZlIGFuZCBhIGxpbmUgc3RhcnRzIHdpdGggYQorCSAgICBtdWx0aS1ieXRlIGNoYXJhY3RlciwgbW92aW5nIHRoZSBjdXJzb3IgcmlnaHQgZG9lc24ndCB3b3JrLgorU29sdXRpb246ICAgT2J0YWluIHRoZSByaWdodCBjaGFyYWN0ZXIgdG8gY29tcHV0ZSB0aGUgY29sdW1uIG9mZnNldC4gKFRhcm8KKwkgICAgTXVyYW9rYSkKK0ZpbGVzOgkgICAgc3JjL2NoYXJzZXQuYworCitQYXRjaCA2LjIuMDExCitQcm9ibGVtOiAgICBBbHBoYSBPU0YxOiBzdGF0KCkgaXMgYSBtYWNybyBhbmQgZG9lc24ndCBhbGxvdyBhbiAjaWZkZWYgaGFsZndheS4KKwkgICAgKE1vc2hlIEthbWluc2t5KQorU29sdXRpb246ICAgTW92ZSB0aGUgI2lmZGVmIG91dHNpZGUgb2Ygc3RhdCgpLgorRmlsZXM6CSAgICBzcmMvb3NfdW5peC5jCisKK1BhdGNoIDYuMi4wMTIKK1Byb2JsZW06ICAgIE1heSBoYW5nIHdoZW4gcG9sbGluZyBmb3IgYSBjaGFyYWN0ZXIuCitTb2x1dGlvbjogICBCcmVhayB0aGUgd2FpdCBsb29wIHdoZW4gbm90IHdhaXRpbmcgZm9yIGEgY2hhcmFjdGVyLgorRmlsZXM6CSAgICBzcmMvb3NfdW5peC5jCisKK1BhdGNoIDYuMi4wMTMgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6IFRoZSByZWdpc3RyeSBrZXkgZm9yIHVuaW5zdGFsbGluZyBHdmltRXh0IHN0aWxsIHVzZXMgIjYuMSIuCitTb2x1dGlvbjogICBDaGFuZ2UgdGhlIHZlcnNpb24gbnVtYmVyIHRvICI2LjIiLiAoQWppdCBUaGFra2FyKQorRmlsZXM6CSAgICBzcmMvR3ZpbUV4dC9HdmltRXh0LnJlZworCitQYXRjaCA2LjIuMDE0IChhZnRlciA2LjIuMDEyKQorUHJvYmxlbTogICAgWFNNUCBkb2Vzbid0IHdvcmsgd2hlbiB1c2luZyBwb2xsKCkuCitTb2x1dGlvbjogICBVc2UgeHNtcF9pZHggaW5zdGVhZCBvZiBncG1faWR4LiAoTmVpbCBCaXJkKQorRmlsZXM6CSAgICBzcmMvb3NfdW5peC5jCisKK1BhdGNoIDYuMi4wMTUKK1Byb2JsZW06ICAgIFRoZSAreHNtcCBmZWF0dXJlIGlzIG5ldmVyIGVuYWJsZWQuCitTb2x1dGlvbjogICBNb3ZlIHRoZSAjZGVmaW5lIGZvciBVU0VfWFNNUCB0byBiZWxvdyB3aGVyZSBXQU5UX1gxMSBpcyBkZWZpbmVkLgorCSAgICAoQWxleGV5IEZyb2xvZmYpCitGaWxlczoJICAgIHNyYy9mZWF0dXJlLmgKKworUGF0Y2ggNi4yLjAxNgorUHJvYmxlbTogICAgVXNpbmcgIjpzY3Njb3BlIGZpbmQiIHdpdGggJ2NzY29wZXF1aWNrZml4JyBkb2VzIG5vdCBhbHdheXMgc3BsaXQKKwkgICAgdGhlIHdpbmRvdy4gKEdhcnkgSm9obnNvbikKKwkgICAgV2luMzI6ICI6Y3Njb3BlIGFkZCIgY291bGQgbWFrZSB0aGUgc2NyaXB0IHRoYXQgY29udGFpbnMgaXQKKwkgICAgcmVhZC1vbmx5IHVudGlsIHRoZSBjb3JyZXNwb25kaW5nICI6Y3Njb3BlIGtpbGwiLgorCSAgICBFcnJvcnMgZHVyaW5nICI6Y3Njb3BlIGFkZCIgbWF5IG5vdCBiZSBoYW5kbGVkIHByb3Blcmx5LgorU29sdXRpb246ICAgV2hlbiB1c2luZyB0aGUgcXVpY2tmaXggd2luZG93IG1heSBuZWVkIHRvIHNwbGl0IHRoZSB3aW5kb3cuCisJICAgIEF2b2lkIGZpbGUgaGFuZGxlIGluaGVyaXRhbmNlIGZvciB0aGUgc2NyaXB0LgorCSAgICBDaGVjayBmb3IgYSBmYWlsZWQgY29ubmVjdGlvbiBhbmQvb3IgcHJvY2Vzcy4gIChTZXJnZXkgS2hvcmV2KQorRmlsZXM6CSAgICBzcmMvZXhfY21kczIuYywgc3JjL2lmX2NzY29wZS5jCisKK1BhdGNoIDYuMi4wMTcKK1Byb2JsZW06ICAgIFRlc3QxMSBzb21ldGltZXMgcHJvbXB0cyB0aGUgdXNlciwgYmVjYXVzZSBhIGZpbGUgd291bGQgaGF2ZSBiZWVuCisJICAgIGNoYW5nZWQgb3V0c2lkZSBvZiBWaW0uIChBbnRvbmlvIENvbG9tYm8pCitTb2x1dGlvbjogICBBZGQgYSBGaWxlQ2hhbmdlZFNoZWxsIGF1dG9jb21tYW5kIHRvIGF2b2lkIHRoZSBwcm9tcHQuCitGaWxlczoJICAgIHNyYy90ZXN0ZGlyL3Rlc3QxMS5pbgorCitQYXRjaCA2LjIuMDE4CitQcm9ibGVtOiAgICBXaGVuIHVzaW5nIHRoZSBYU01QIHByb3RvY29sIGFuZCByZWFkaW5nIGZyb20gc3RkaW4gVmltIG1heSB3YWl0CisJICAgIGZvciBhIGtleSB0byBiZSBwcmVzc2VkLgorU29sdXRpb246ICAgQXZvaWQgdGhhdCBSZWFsV2FpdEZvckNoYXIoKSBpcyB1c2VkIHJlY3Vyc2l2ZWx5LgorRmlsZXM6CSAgICBzcmMvb3NfdW5peC5jCisKK1BhdGNoIDYuMi4wMTkgKGxhbmcpCitQcm9ibGVtOiAgICBMb2FkaW5nIHRoZSBQb3J0dWd1ZXNlIG1lbnUgY2F1c2VzIGFuIGVycm9yIG1lc3NhZ2UuCitTb2x1dGlvbjogICBKb2luIHR3byBsaW5lcy4gIChKb3NlIFBlZHJvIE9saXZlaXJhLCBKb3PpIGRlIFBhdWxhKQorRmlsZXM6CSAgICBydW50aW1lL2xhbmcvbWVudV9wdF9ici52aW0KKworUGF0Y2ggNi4yLjAyMAorUHJvYmxlbTogICAgVGhlICJTeW50YXgvU2V0IHN5bnRheCBvbmx5IiBtZW51IGl0ZW0gY2F1c2VzIGFuIGVycm9yIG1lc3NhZ2UuCisJICAgIChPeXZpbmQgSG9sbSkKK1NvbHV0aW9uOiAgIFNldCB0aGUgc2NyaXB0LWxvY2FsIHZhcmlhYmxlIGluIGEgZnVuY3Rpb24uIChCZW5qaSBGaXNoZXIpCitGaWxlczoJICAgIHJ1bnRpbWUvc3lubWVudS52aW0KKworUGF0Y2ggNi4yLjAyMQorUHJvYmxlbTogICAgVGhlIHVzZXIgbWFudWFsIHNlY3Rpb24gb24gZXhjZXB0aW9ucyBjb250YWlucyBzbWFsbCBtaXN0YWtlcy4KK1NvbHV0aW9uOiAgIEdpdmUgYSBnb29kIGV4YW1wbGUgb2YgYW4gZXJyb3IgdGhhdCBjb3VsZCBiZSBtaXNzZWQgYW5kIG90aGVyCisJICAgIGltcHJvdmVtZW50cy4gKFNlcnZhdGl1cyBCcmFuZHQpCitGaWxlczoJICAgIHJ1bnRpbWUvZG9jL3Vzcl80MS50eHQKKworUGF0Y2ggNi4yLjAyMiAoZXh0cmEpCitQcm9ibGVtOiAgICBXaW4zMjogQWZ0ZXIgZGVsZXRpbmcgYSBtZW51IGl0ZW0gaXQgc3RpbGwgYXBwZWFycyBpbiBhIHRlYXItb2ZmCisJICAgIHdpbmRvdy4KK1NvbHV0aW9uOiAgIFNldCB0aGUgbW9kZSB0byB6ZXJvIGZvciB0aGUgZGVsZXRlZCBpdGVtLiAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorRmlsZXM6CSAgICBzcmMvZ3VpX3czMi5jCisKK1BhdGNoIDYuMi4wMjMgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6IE1ha2VfaXZjLm1hayBkb2VzIG5vdCBjbGVhbiBldmVyeXRoaW5nLgorU29sdXRpb246ICAgRGVsZXRlIG1vcmUgZmlsZXMgaW4gdGhlIGNsZWFuIHJ1bGUuIChXYWx0ZXIgQnJpc2NvZSkKK0ZpbGVzOgkgICAgc3JjL01ha2VfaXZjLm1haworCitQYXRjaCA2LjIuMDI0IChleHRyYSkKK1Byb2JsZW06ICAgIFdpbjMyOiBDb21waWxlciB3YXJuaW5ncyBmb3IgdHlwZWNhc3RzLgorU29sdXRpb246ICAgVXNlIERXT1JEIGluc3RlYWQgb2YgV09SRC4gKFdhbHRlciBCcmlzY29lKQorRmlsZXM6CSAgICBzcmMvZ3VpX3czMi5jCisKK1BhdGNoIDYuMi4wMjUKK1Byb2JsZW06ICAgIE1pc3NpbmcgcHJvdG90eXBlIGZvciBzaWdhbHRzdGFjaygpLgorU29sdXRpb246ICAgQWRkIHRoZSBwcm90b3R5cGUgd2hlbiBpdCBpcyBub3QgZm91bmQgaW4gYSBoZWFkZXIgZmlsZS4KK0ZpbGVzOgkgICAgc3JjL29zX3VuaXguYworCitQYXRjaCA2LjIuMDI2CitQcm9ibGVtOiAgICBXYXJuaW5nIGZvciB1dGltZXMoKSBhcmd1bWVudC4KK1NvbHV0aW9uOiAgIEFkZCBhIHR5cGVjYXN0LgorRmlsZXM6CSAgICBzcmMvZmlsZWlvLmMKKworUGF0Y2ggNi4yLjAyNworUHJvYmxlbTogICAgV2FybmluZyBmb3IgdW5pbml0aWFsaXplZCB2YXJpYWJsZS4KK1NvbHV0aW9uOiAgIFNldCBtYl9sIHRvIG9uZSB3aGVuIG5vdCB1c2luZyBtdWx0aS1ieXRlIGNoYXJhY3RlcnMuCitGaWxlczoJICAgIHNyYy9tZXNzYWdlLmMKKworUGF0Y2ggNi4yLjAyOAorUHJvYmxlbTogICAgQ3Njb3BlIGNvbm5lY3Rpb24gbWF5IGtpbGwgVmltIHByb2Nlc3MgYW5kIG90aGVycy4KK1NvbHV0aW9uOiAgIENoZWNrIGZvciBwaWQgYmVpbmcgbGFyZ2VyIHRoYW4gb25lLiAoS2hvcmV2IFNlcmdleSkKK0ZpbGVzOgkgICAgc3JjL2lmX2NzY29wZS5jCisKK1BhdGNoIDYuMi4wMjkKK1Byb2JsZW06ICAgIFdoZW4gdXNpbmcgdGhlIHJlbW90ZSBzZXJ2ZXIgZnVuY3Rpb25hbGl0eSBWaW0gbWF5IGxlYWsgbWVtb3J5LgorCSAgICAoU3Jpa2FudGggU2Fua2FyYW4pCitTb2x1dGlvbjogICBGcmVlIHRoZSByZXN1bHQgb2YgWExpc3RQcm9wZXJ0aWVzKCkuCitGaWxlczoJICAgIHNyYy9pZl94Y21kc3J2LmMKKworUGF0Y2ggNi4yLjAzMAorUHJvYmxlbTogICAgTWFjOiBXYXJuaW5nIGZvciBub3QgYmVpbmcgYWJsZSB0byB1c2UgcHJlY29tcGlsZWQgaGVhZGVyIGZpbGVzLgorU29sdXRpb246ICAgRG9uJ3QgcmVkZWZpbmUgc2VsZWN0LiAgVXNlIC1uby1jcHAtcHJlY29tcCBmb3IgY29tcGlsaW5nLCBzbyB0aGF0CisJICAgIGZ1bmN0aW9uIHByb3RvdHlwZXMgYXJlIHN0aWxsIGZvdW5kLgorRmlsZXM6CSAgICBzcmMvb3NfdW5peC5jLCBzcmMvb3NkZWYuc2gKKworUGF0Y2ggNi4yLjAzMQorUHJvYmxlbTogICAgVGhlIGxhbmdtZW51IGVudHJ5IGluIHRoZSBvcHRpb25zIHdpbmRvdyBkb2Vzbid0IHdvcmsuIChSb2RvbGZvCisJICAgIExpbWEpCisJICAgIFdpdGggR1RLIDEgdGhlICI6b3B0aW9ucyIgY29tbWFuZCBjYXVzZXMgYW4gZXJyb3IgbWVzc2FnZS4KKwkgICAgKE1pY2hhZWwgTmF1bWFubikKK1NvbHV0aW9uOiAgIENoYW5nZSAibG1lbnUiIHRvICJsYW5nbWVudSIuICBPbmx5IGRpc3BsYXkgdGhlICd0YmlzJyBvcHRpb24gZm9yCisJICAgIEdUSyAyLgorRmlsZXM6CSAgICBydW50aW1lL29wdHdpbi52aW0KKworUGF0Y2ggNi4yLjAzMgorUHJvYmxlbTogICAgVGhlIGxwYyBmaWxldHlwZSBpcyBuZXZlciByZWNvZ25pemVkLiAoU2hpemh1IFBhbikKK1NvbHV0aW9uOiAgIENoZWNrIGZvciBnOmxwY19zeW50YXhfZm9yX2MgaW5zdGVhZCBvZiB0aGUgbG9jYWwgdmFyaWFibGUKKwkgICAgbHBjX3N5bnRheF9mb3JfYy4gKEJlbmppIEZpc2hlcikKK0ZpbGVzOgkgICAgcnVudGltZS9maWxldHlwZS52aW0KKworUGF0Y2ggNi4yLjAzMyAoZXh0cmEpCitQcm9ibGVtOiAgICBNYWM6IFZhcmlvdXMgY29tcGlsZXIgd2FybmluZ3MuCitTb2x1dGlvbjogICBEb24ndCBpbmNsdWRlIENsYXNzaWMtb25seSBoZWFkZXJzIGluIFVuaXggdmVyc2lvbi4KKwkgICAgUmVtb3ZlIHJlZmVyZW5jZXMgdG8gc2V2ZXJhbCB1bnVzZWQgdmFyaWFibGVzLiAoQmVuIEZvd2xlcikKKwkgICAgRml4IGRvdWJsZSBkZWZpbml0aW9uIG9mIERFRkFVTFRfVEVSTS4KKwkgICAgVXNlIGludCBpbnN0ZWFkIG9mIHVuc2lnbmVkIHNob3J0IGZvciBwaXhlbCB2YWx1ZXMsIHNvIHRoYXQgdGhlCisJICAgIG5lZ2F0aXZlIGVycm9yIHZhbHVlcyBhcmUgcmVjb2duaXplZC4KK0ZpbGVzOgkgICAgc3JjL2d1aV9tYWMuYywgc3JjL3Rlcm0uYworCitQYXRjaCA2LjIuMDM0CitQcm9ibGVtOiAgICBNYWM6IENvbXBpbGVyIHdhcm5pbmcgZm9yIHJlZGVmaW5pbmcgREVGQVVMVF9URVJNLgorU29sdXRpb246ICAgRml4IGRvdWJsZSBkZWZpbml0aW9uIG9mIERFRkFVTFRfVEVSTS4KK0ZpbGVzOgkgICAgc3JjL3Rlcm0uYworCitQYXRjaCA2LjIuMDM1CitQcm9ibGVtOiAgICBNYWM6IENvbXBpbGVyIHdhcm5pbmdzIGluIFB5dGhvbiBpbnRlcmZhY2UuCitTb2x1dGlvbjogICBNYWtlIGEgZGlmZmVyZW5jZSBiZXR3ZWVuIHB1cmUgTWFjIGFuZCBVbml4LU1hYy4gKFBldGVyIEN1Y2thKQorRmlsZXM6CSAgICBzcmMvaWZfcHl0aG9uLmMKKworUGF0Y2ggNi4yLjAzNiAoZXh0cmEpCitQcm9ibGVtOiAgICBNYWMgVW5peCB2ZXJzaW9uOiBJZiBmb28gaXMgYSBkaXJlY3RvcnksIHRoZW4gIjplIGY8VGFiPiIgc2hvdWxkCisJICAgIGV4cGFuZCB0byAiOmUgZm9vLyIgaW5zdGVhZCBvZiAiOmUgZm9vIiAuICAoVmFkaW0gWmVpdGxpbikKK1NvbHV0aW9uOiAgIERlZmluZSBET05UX0FERF9QQVRIU0VQX1RPX0RJUiBvbmx5IGZvciBwdXJlIE1hYy4gKEJlbmppIEZpc2hlcikKK0ZpbGVzOgkgICAgc3JjL29zX21hYy5oCisKK1BhdGNoIDYuMi4wMzcKK1Byb2JsZW06ICAgIFdpbjMyOiBjb252ZXJ0aW5nIGFuIGVuY29kaW5nIG5hbWUgdG8gYSBjb2RlcGFnZSBjb3VsZCByZXN1bHQgaW4KKwkgICAgYW4gYXJiaXRyYXJ5IG51bWJlci4KK1NvbHV0aW9uOiAgIG1ha2UgZW5jbmFtZTJjb2RlcGFnZSgpIHJldHVybiB6ZXJvIGlmIHRoZSBlbmNvZGluZyBuYW1lIGRvZXNuJ3QKKwkgICAgY29udGFpbiBhIGNvZGVwYWdlIG51bWJlci4KK0ZpbGVzOgkgICAgc3JjL21ieXRlLmMKKworUGF0Y2ggNi4yLjAzOCAoZXh0cmEpCitQcm9ibGVtOiAgICBXYXJuaW5nIG1lc3NhZ2VzIHdoZW4gdXNpbmcgdGhlIE1pbmdXIGNvbXBpbGVyLiAoQmlsbCBNY0NhcnRoeSkKKwkgICAgQ2FuJ3QgY29tcGlsZSBjb25zb2xlIHZlcnNpb24gd2l0aG91dCArbW91c2UgZmVhdHVyZS4KK1NvbHV0aW9uOiAgIEluaXRpYWxpemUgdmFyaWFibGVzLCBhZGQgcGFyZW50aGVzaXMuCisJICAgIEFkZCBhbiAjaWZkZWYgYXJvdW5kIGdfbk1vdXNlQ2xpY2suIChBaml0IFRoYWtrYXIpCitGaWxlczoJICAgIHNyYy9ldmFsLmMsIHNyYy9vc193aW4zMi5jLCBzcmMvZ3VpX3czMi5jLCBzcmMvZG9zaW5zdC5jCisKK1BhdGNoIDYuMi4wMzkgKGV4dHJhKQorUHJvYmxlbTogICAgTW9yZSB3YXJuaW5nIG1lc3NhZ2VzIHdoZW4gdXNpbmcgdGhlIE1pbmdXIGNvbXBpbGVyLgorU29sdXRpb246ICAgSW5pdGlhbGl6ZSB2YXJpYWJsZXMuIChCaWxsIE1jQ2FydGh5KQorRmlsZXM6CSAgICBzcmMvb3NfbXN3aW4uYworCitQYXRjaCA2LjIuMDQwCitQcm9ibGVtOiAgICBGcmVlQlNEOiBDcmFzaCB3aGlsZSBzdGFydGluZyB1cCB3aGVuIGNvbXBpbGVkIHdpdGggK3hzbXAgZmVhdHVyZS4KK1NvbHV0aW9uOiAgIFBhc3MgYSBub24tTlVMTCBhcmd1bWVudCB0byBJY2VBZGRDb25uZWN0aW9uV2F0Y2goKS4KK0ZpbGVzOgkgICAgc3JjL29zX3VuaXguYworCitQYXRjaCA2LjIuMDQxIChleHRyYSwgYWZ0ZXIgNi4yLjAzMykKK1Byb2JsZW06ICAgIE1hYzogQ29tcGlsZXIgd2FybmluZ3MgZm9yIGNvbnZlcnNpb24gdHlwZXMsIG1pc3NpbmcgcHJvdG90eXBlLAorCSAgICBtaXNzaW5nIHJldHVybiB0eXBlLgorU29sdXRpb246ICAgQ2hhbmdlIHNzY2FuZiAiJWhkIiB0byAiJWQiLCB0aGUgYXJndW1lbnQgaXMgYW4gaW50IG5vdy4gIEFkZAorCSAgICBndWlfbWNoX2luaXRfY2hlY2soKSBwcm90b3R5cGUuICBBZGQgImludCIgdG8gdGVybWxpYiBmdW5jdGlvbnMuCitGaWxlczoJICAgIHNyYy9ndWlfbWFjLmMsIHNyYy9wcm90by9ndWlfbWFjLnBybywgc3JjL3Rlcm1saWIuYy4KKworUGF0Y2ggNi4yLjA0MiAoZXh0cmEpCitQcm9ibGVtOiAgICBDeWd3aW46IGdjYyAzLjIgaGFzIGFuIG9wdGltaXplciBwcm9ibGVtLCBzb21ldGltZXMgY2F1c2luZyBhCisJICAgIGNyYXNoLgorU29sdXRpb246ICAgQWRkIC1mbm8tc3RyZW5ndGgtcmVkdWNlIHRvIHRoZSBjb21waWxlciBhcmd1bWVudHMuIChEYW4gU2hhcnApCitGaWxlczoJICAgIHNyYy9NYWtlX2N5Zy5tYWsKKworUGF0Y2ggNi4yLjA0MworUHJvYmxlbTogICAgQ29tcGlsaW5nIHdpdGggYm90aCBuZXRiZWFucyBhbmQgd29ya3Nob3AgZG9lc24ndCB3b3JrLgorU29sdXRpb246ICAgTW92ZSB0aGUgc2hlbGxSZWN0YW5nbGUoKSBmdW5jdGlvbiB0byBndWlfeDExLmMuIChHb3Jkb24gUHJpZXVyKQorRmlsZXM6CSAgICBzcmMvZ3VpX3gxMS5jLCBzcmMvaW50ZWdyYXRpb24uYywgc3JjL25ldGJlYW5zLmMsCisJICAgIHNyYy9wcm90by9uZXRiZWFucy5wcm8KKworUGF0Y2ggNi4yLjA0NAorUHJvYmxlbTogICAgIjphdSBmaWxldHlwZWRldGVjdCIgZ2l2ZXMgYW4gZXJyb3IgZm9yIGEgbm9uLWV4aXN0aW5nIGV2ZW50IG5hbWUsCisJICAgIGJ1dCBpdCdzIGFjdHVhbGx5IGEgbm9uLWV4aXN0aW5nIGdyb3VwIG5hbWUuIChBbnRvaW5lIE1lY2hlbHluY2spCitTb2x1dGlvbjogICBNYWtlIHRoZSBlcnJvciBtZXNzYWdlIGNsZWFyZXIuCitGaWxlczoJICAgIHNyYy9maWxlaW8uYworCitQYXRjaCA2LjIuMDQ1CitQcm9ibGVtOiAgICBPYnRhaW5pbmcgdGhlICcoIG1hcmsgY2hhbmdlcyB0aGUgJycgbWFyay4gKEdhcnkgSG9sbG93YXkpCitTb2x1dGlvbjogICBEb24ndCBzZXQgdGhlICcnIG1hcmsgd2hlbiBzZWFyY2hpbmcgZm9yIHRoZSBzdGFydC9lbmQgb2YgdGhlCisJICAgIGN1cnJlbnQgc2VudGVuY2UvcGFyYWdyYXBoLgorRmlsZXM6CSAgICBzcmMvbWFyay5jCisKK1BhdGNoIDYuMi4wNDYKK1Byb2JsZW06ICAgIFdoZW4gZXZhbHVhdGluZyBhbiBhcmd1bWVudCBvZiBhIGZ1bmN0aW9uIHRocm93cyBhbiBleGNlcHRpb24gdGhlCisJICAgIGZ1bmN0aW9uIGlzIHN0aWxsIGNhbGxlZC4gKEhhcmkgS3Jpc2huYSBEYXJhKQorU29sdXRpb246ICAgRG9uJ3QgY2FsbCB0aGUgZnVuY3Rpb24gd2hlbiBhbiBleGNlcHRpb24gd2FzIHRocm93bi4KK0ZpbGVzOgkgICAgc3JjL2V2YWwuYworCitQYXRjaCA2LjIuMDQ3IChleHRyYSkKK1Byb2JsZW06ICAgIENvbXBpbGVyIHdhcm5pbmdzIHdoZW4gdXNpbmcgTWluZ1cuIChCaWxsIE1jQ2FydGh5KQorU29sdXRpb246ICAgR2l2ZSB0aGUgc19kd0xhc3RDbGlja1RpbWUgdmFyaWFibGUgYSB0eXBlLiAgSW5pdGlhbGl6ZSBkd0VuZFRpbWUuCitGaWxlczoJICAgIHNyYy9vc193aW4zMi5jCisKK1BhdGNoIDYuMi4wNDgKK1Byb2JsZW06ICAgIFRoZSBQeXRob24gaW50ZXJmYWNlIGRvZXNuJ3QgY29tcGlsZSB3aXRoIFB5dGhvbiAyLjMgd2hlbgorCSAgICBkeW5hbWljYWxseSBsb2FkZWQuCitTb2x1dGlvbjogICBVc2UgZGxsX1B5T2JqZWN0X01hbGxvYyBhbmQgZGxsX1B5T2JqZWN0X0ZyZWUuIChQYXVsIE1vb3JlKQorRmlsZXM6CSAgICBzcmMvaWZfcHl0aG9uLmMKKworUGF0Y2ggNi4yLjA0OQorUHJvYmxlbTogICAgVXNpbmcgYSAiLXJhbmdlPSIgYXJndW1lbnQgd2l0aCAiOmNvbW1hbmQiIGRvZXNuJ3Qgd29yayBhbmQKKwkgICAgZG9lc24ndCBnZW5lcmF0ZSBhbiBlcnJvciBtZXNzYWdlLgorU29sdXRpb246ICAgR2VuZXJhdGUgYW4gZXJyb3IgbWVzc2FnZS4KK0ZpbGVzOgkgICAgc3JjL2V4X2RvY21kLmMKKworUGF0Y2ggNi4yLjA1MAorUHJvYmxlbTogICAgVGVzdCAzMiBkaWRuJ3Qgd29yayBvbiBNUy1XaW5kb3dzLgorU29sdXRpb246ICAgV3JpdGUgdGhlIHRlbXAgZmlsZSBpbiBVbml4IGZpbGVmb3JtYXQuIChXYWx0ZXIgQnJpc2NvZSkKK0ZpbGVzOgkgICAgc3JjL3Rlc3RkaXIvdGVzdDMyLmluCisKK1BhdGNoIDYuMi4wNTEKK1Byb2JsZW06ICAgIFdoZW4gdXNpbmcgIlw9c3VibWF0Y2goMCkiIGluIGEgIjpzIiBjb21tYW5kLCBsaW5lIGJyZWFrcyBiZWNvbWUKKwkgICAgTlVMIGNoYXJhY3RlcnMuCitTb2x1dGlvbjogICBDaGFuZ2UgTkwgdG8gQ1IgY2hhcmFjdGVycywgc28gdGhhdCB0aGV5IGJlY29tZSBsaW5lIGJyZWFrcy4KK0ZpbGVzOgkgICAgc3JjL3JlZ2V4cC5jCisKK1BhdGNoIDYuMi4wNTIKK1Byb2JsZW06ICAgIEEgZmV3IG1lc3NhZ2VzIGFyZSBub3QgdHJhbnNsYXRlZC4KK1NvbHV0aW9uOiAgIEFkZCBfKCkgdG8gdGhlIG1lc3NhZ2VzLiAoTXVyYW9rYSBUYXJvKQorRmlsZXM6CSAgICBzcmMvZXhfY21kcy5jCisKK1BhdGNoIDYuMi4wNTMKK1Byb2JsZW06ICAgIFByb3RvdHlwZSBmb3IgYnplcm8oKSBkb2Vzbid0IG1hdGNoIG1vc3Qgc3lzdGVtcy4KK1NvbHV0aW9uOiAgIFVzZSAidm9pZCAqIiBpbnN0ZWFkIG9mICJjaGFyICoiIGFuZCAic2l6ZV90IiBpbnRlYWQgb2YgImludCIuCitGaWxlczoJICAgIHNyYy9vc2RlZjEuaC5pbgorCitQYXRjaCA2LjIuMDU0CitQcm9ibGVtOiAgICBBIGRvdWJsZS1ieXRlIGNoYXJhY3RlciB3aXRoIGEgc2Vjb25kIGJ5dGUgdGhhdCBpcyBhIGJhY2tzbGFzaAorCSAgICBjYXVzZXMgcHJvYmxlbXMgaW5zaWRlIGEgc3RyaW5nLgorU29sdXRpb246ICAgU2tpcCBvdmVyIG11bHRpLWJ5dGUgY2hhcmFjdGVycyBpbiBhIHN0cmluZyBwcm9wZXJseS4gKFlhc3VoaXJvCisJICAgIE1hdHN1bW90bykKK0ZpbGVzOgkgICAgc3JjL2V2YWwuYworCitQYXRjaCA2LjIuMDU1CitQcm9ibGVtOiAgICBVc2luZyBjb2woJy4nKSBmcm9tIENUUkwtTyBpbiBJbnNlcnQgbW9kZSBkb2VzIG5vdCByZXR1cm4gdGhlCisJICAgIGNvcnJlY3QgdmFsdWUgZm9yIG11bHRpLWJ5dGUgY2hhcmFjdGVycy4KK1NvbHV0aW9uOiAgIENvcnJlY3QgdGhlIGN1cnNvciBwb3NpdGlvbiB3aGVuIGl0IGlzIG5lY2Vzc2FyeSwgbW92ZSB0byB0aGUKKwkgICAgZmlyc3QgYnl0ZSBvZiBhIG11bHRpLWJ5dGUgY2hhcmFjdGVyLiAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorRmlsZXM6CSAgICBzcmMvZWRpdC5jCisKK1BhdGNoIDYuMi4wNTYgKGV4dHJhKQorUHJvYmxlbTogICAgQnVpbGRpbmcgd2l0aCBTbmlmZisrIGRvZXNuJ3Qgd29yay4KK1NvbHV0aW9uOiAgIFVzZSB0aGUgbXVsdGktdGhyZWFkZWQgbGliYyB3aGVuIG5lZWRlZC4gKEhvbGdlciBEaXR0aW5nKQorRmlsZXM6CSAgICBzcmMvTWFrZV9tdmMubWFrCisKK1BhdGNoIDYuMi4wNTcgKGV4dHJhKQorUHJvYmxlbTogICAgTWFjOiBXaXRoIC1ETUFDT1NfWCBwdXRlbnYoKSBpcyBkZWZpbmVkIHR3aWNlLCBpdCBpcyBpbiBhIHN5c3RlbQorCSAgICBsaWJyYXJ5LiAgR2V0IGEgd2FybmluZyBmb3IgcmVkZWZpbmluZyBPSy4gIFVudXNlZCB2YXJpYWJsZXMgaW4KKwkgICAgb3NfbWFjLmMKK1NvbHV0aW9uOiAgIERlZmluZSBIQVZFX1BVVEVOVi4gIFVuZGVmaW5lIE9LIGFmdGVyIGluY2x1ZGluZyBjdXJzZXMuaC4KKwkgICAgUmVtb3ZlIGRlY2xhcmF0aW9ucyBmb3IgdW51c2VkIHZhcmlhYmxlcy4KK0ZpbGVzOgkgICAgc3JjL29zX21hYy5jLCBzcmMvb3NfbWFjLmgsIHNyYy92aW0uaAorCitQYXRjaCA2LjIuMDU4CitQcm9ibGVtOiAgICBXaGVuICdhdXRvY2hkaXInIGlzIHNldCAiOmJuZXh0IiB0byBhIGJ1ZmZlciB3aXRob3V0IGEgbmFtZSBjYXVzZXMKKwkgICAgYSBjcmFzaC4KK1NvbHV0aW9uOiAgIERvbid0IGNhbGwgdmltX2NoZGlyZmlsZSgpIHdoZW4gdGhlIGZpbGUgbmFtZSBpcyBOVUxMLiAoVGFybworCSAgICBNdXJhb2thKQorRmlsZXM6CSAgICBzcmMvYnVmZmVyLmMKKworUGF0Y2ggNi4yLjA1OQorUHJvYmxlbTogICAgV2hlbiAnc2Nyb2xsb2ZmJyBpcyBhIGxhcmdlIG51bWJlciBhbmQgbGlzdGluZyBjb21wbGV0aW9uIHJlc3VsdHMKKwkgICAgb24gdGhlIGNvbW1hbmQgbGluZSwgdGhlbiBleGVjdXRpbmcgYSBjb21tYW5kIHRoYXQganVtcHMgY2xvc2UgdG8KKwkgICAgd2hlcmUgdGhlIGN1cnNvciB3YXMgYmVmb3JlLCBwYXJ0IG9mIHRoZSBzY3JlZW4gaXMgbm90IHVwZGF0ZWQuCisJICAgIChZYWtvdiBMZXJuZXIpCitTb2x1dGlvbjogICBEb24ndCBza2lwIHJlZHJhd2luZyBwYXJ0IG9mIHRoZSB3aW5kb3cgd2hlbiBpdCB3YXMgc2Nyb2xsZWQuCitGaWxlczoJICAgIHNyYy9zY3JlZW4uYworCitQYXRjaCA2LjIuMDYwIChleHRyYSkKK1Byb2JsZW06ICAgIFdpbjMyOiBXaGVuICdlbmNvZGluZycgaXMgc2V0IHRvICJpc28tODg1OS03IiBjb3B5L3Bhc3RlIHRvL2Zyb20KKwkgICAgdGhlIGNsaXBib2FyZCBnaXZlcyBhIGxhbGxvYygwKSBlcnJvci4gKEtyaXRvbiBLeXJpbWlzKQorU29sdXRpb246ICAgV2hlbiB0aGUgc3RyaW5nIGxlbmd0aCBpcyB6ZXJvIGFsbG9jYXRlIG9uZSBieXRlLiAgQWxzbyBmaXggdGhhdAorCSAgICB3aGVuIHRoZSBsZW5ndGggb2YgdGhlIFVuaWNvZGUgdGV4dCBpcyB6ZXJvIChjb252ZXJzaW9uIGZyb20KKwkgICAgJ2VuY29kaW5nJyB0byBVQ1MtMiB3YXMgbm90IHBvc3NpYmxlKSB0aGUgbm9ybWFsIHRleHQgaXMgdXNlZC4KK0ZpbGVzOgkgICAgc3JjL29zX21zd2luLmMKKworUGF0Y2ggNi4yLjA2MQorUHJvYmxlbTogICAgR1VJOiBVc2luZyB0aGUgbGVmdCBtb3VzZSBidXR0b24gd2l0aCB0aGUgc2hpZnQga2V5IHNob3VsZCB3b3JrCisJICAgIGxpa2UgIioiIGJ1dCBpdCBzY3JvbGxzIGluc3RlYWQuIChNYXJ0aW4gQmVsbGVyKQorU29sdXRpb246ICAgRG9uJ3QgcmVjb2duaXplIGFuIHJ4dnQgc2Nyb2xsIHdoZWVsIGV2ZW50IHdoZW4gdXNpbmcgdGhlIEdVSS4KK0ZpbGVzOgkgICAgc3JjL3Rlcm0uYworCitQYXRjaCA2LjIuMDYyCitQcm9ibGVtOiAgICBXaGVuIG9uZSBidWZmZXIgdXNlcyBhIHN5bnRheCB3aXRoICJjb250YWluZWRpbiIgYW5kIGFub3RoZXIKKwkgICAgYnVmZmVyIGRvZXMgbm90LCByZWRyYXdpbmcgZGVwZW5kcyBvbiB3aGF0IHRoZSBjdXJyZW50IGJ1ZmZlciBpcy4KKwkgICAgKEJyZXR0IFBlcnNoaW5nIFN0YWhsbWFuKQorU29sdXRpb246ICAgVXNlICJzeW5fYnVmIiBpbnN0ZWFkIG9mICJjdXJidWYiIHRvIGdldCB0aGUgYl9zeW5fY29udGFpbmVkaW4KKwkgICAgZmxhZy4KK0ZpbGVzOgkgICAgc3JjL3N5bnRheC5jCisKK1BhdGNoIDYuMi4wNjMKK1Byb2JsZW06ICAgIFdoZW4gdXNpbmcgY3VzdG9tIGNvbXBsZXRpb24gZW5kIHVwIHdpdGggbm8gbWF0Y2hlcy4KK1NvbHV0aW9uOiAgIE1ha2UgY21kX251bWZpbGVzIGFuZCBjbWRfZmlsZXMgbG9jYWwgdG8gY29tcGxldGlvbiB0byBhdm9pZCB0aGF0CisJICAgIHRoZXkgYXJlIG92ZXJ3cml0dGVuIHdoZW4gRXhwYW5kT25lKCkgaXMgY2FsbGVkIHJlY3Vyc2l2ZWx5IGJ5CisJICAgIGZfZ2xvYigpLgorRmlsZXM6CSAgICBzcmMvZXZhbC5jLCBzcmMvZXhfZG9jbWQuYywgc3JjL2V4X2dldGxuLmMsIHNyYy9wcm90by9leF9nZXRsbi5wcm8sCisJICAgIHNyYy9taXNjMS5jLCBzcmMvc3RydWN0cy5oLCBzcmMvdGFnLmMKKworUGF0Y2ggNi4yLjA2NAorUHJvYmxlbTogICAgcmVzb2x2ZSgpIG9ubHkgaGFuZGxlcyBvbmUgc3ltYm9saWMgbGluaywgbmVlZCB0byByZXBlYXQgaXQgdG8KKwkgICAgcmVzb2x2ZSBhbGwgb2YgdGhlbS4gIFRoZW4gbmVlZCB0byBzaW1wbGlmeSB0aGUgZmlsZSBuYW1lLgorU29sdXRpb246ICAgTWFrZSByZXNvbHZlKCkgcmVzb2x2ZSBhbGwgc3ltYm9saWMgbGlua3MgYW5kIHNpbXBsaWZ5IHRoZSByZXN1bHQuCisJICAgIEFkZCBzaW1wbGlmeSgpIHRvIGp1c3Qgc2ltcGxpZnkgYSBmaWxlIG5hbWUuICBGaXggdGhhdCB0ZXN0NDkKKwkgICAgZG9lc24ndCB3b3JrIGlmIC90bXAgaXMgYSBzeW1ib2xpYyBsaW5rLiAgKFNlcnZhdGl1cyBCcmFuZHQpCitGaWxlczoJICAgIHJ1bnRpbWUvZG9jL2V2YWwudHh0LCBzcmMvZXZhbC5jLCBzcmMvdGFnLmMsCisJICAgIHNyYy90ZXN0ZGlyL3Rlc3Q0OS52aW0KKworUGF0Y2ggNi4yLjA2NQorUHJvYmxlbTogICAgIjp3aW5kbyAxMjMiIG9ubHkgdXBkYXRlcyBvdGhlciB3aW5kb3dzIHdoZW4gZW50ZXJpbmcgdGhlbS4KKwkgICAgKFdhbHRlciBCcmlzY29lKQorU29sdXRpb246ICAgVXBkYXRlIHRoZSB0b3BsaW5lIGJlZm9yZSBnb2luZyB0byB0aGUgbmV4dCB3aW5kb3cuCitGaWxlczoJICAgIHNyYy9leF9jbWRzMi5jCisKK1BhdGNoIDYuMi4wNjYgKGV4dHJhKQorUHJvYmxlbTogICAgUnVieSBpbnRlcmZhY2UgZG9lc24ndCB3b3JrIHdpdGggUnVieSAxLjguMC4KK1NvbHV0aW9uOiAgIENoYW5nZSAiZGVmb3V0IiB0byAic3Rkb3V0Ii4gKEFyb24gR3JpZmlzKQorCSAgICBDaGFuZ2UgZHluYW1pYyBsb2FkaW5nLiAoVGFybyBNdXJhb2thKQorRmlsZXM6CSAgICBzcmMvaWZfcnVieS5jLCBzcmMvTWFrZV9tdmMubWFrCisKK1BhdGNoIDYuMi4wNjcKK1Byb2JsZW06ICAgIFdoZW4gc2VhcmNoaW5nIGZvciBhIHN0cmluZyB0aGF0IHN0YXJ0cyB3aXRoIGEgY29tcG9zaW5nIGNoYXJhY3RlcgorCSAgICB0aGUgY29tbWFuZCBsaW5lIGlzbid0IGRyYXduIHByb3Blcmx5LgorU29sdXRpb246ICAgRG9uJ3QgY291bnQgdGhlIHNwYWNlIHRvIGRyYXcgdGhlIGNvbXBvc2luZyBjaGFyYWN0ZXIgb24gYW5kCisJICAgIGFkanVzdCB0aGUgY3Vyc29yIGNvbHVtbiBhZnRlciBkcmF3aW5nIHRoZSBzdHJpbmcuCitGaWxlczoJICAgIHNyYy9tZXNzYWdlLmMKKworUGF0Y2ggNi4yLjA2OAorUHJvYmxlbTogICAgRXZlbnRzIGZvciB0aGUgbmV0YmVhbnMgaW50ZXJmYWNlIHRoYXQgaW5jbHVkZSBhIGZpbGUgbmFtZSB3aXRoCisJICAgIHNwZWNpYWwgY2hhcmFjdGVycyBkb24ndCB3b3JrIHByb3Blcmx5LgorU29sdXRpb246ICAgVXNlIG5iX3F1b3RlKCkgb24gdGhlIGZpbGUgbmFtZS4gKFNlcmdleSBLaG9yZXYpCitGaWxlczoJICAgIHNyYy9uZXRiZWFucy5jCisKK1BhdGNoIDYuMi4wNjkgKGFmdGVyIDYuMi4wNjQpCitQcm9ibGVtOiAgICBVbnVzZWQgdmFyaWFibGVzICJsaW1pdCIgYW5kICJuZXdfc3QiIGFuZCB1bnVzZWQgbGFiZWwgImZhaWwiIGluCisJICAgIHNvbWUgc2l0dWF0aW9uLiAoQmlsbCBNY0NhcnRoeSkKK1NvbHV0aW9uOiAgIFB1dCB0aGUgZGVjbGFyYXRpb25zIGluc2lkZSBhbiAjaWZkZWYuIChTZXJ2YXRpdXMgQnJhbmR0KQorRmlsZXM6CSAgICBzcmMvZXZhbC5jLCBzcmMvdGFnLmMKKworUGF0Y2ggNi4yLjA3MCAoYWZ0ZXIgNi4yLjA2OSkKK1Byb2JsZW06ICAgIFN0aWxsIHVudXNlZCB2YXJpYWJsZSAibmV3X3N0Ii4gKEJpbGwgTWNDYXJ0aHkpCitTb2x1dGlvbjogICBNb3ZlIHRoZSBkZWNsYXJhdGlvbiB0byB0aGUgcmlnaHQgYmxvY2sgdGhpcyB0aW1lLgorRmlsZXM6CSAgICBzcmMvdGFnLmMKKworUGF0Y2ggNi4yLjA3MQorUHJvYmxlbTogICAgJ3N0YXR1c2xpbmUnIGNhbiBvbmx5IGNvbnRhaW4gNTAgJSBpdGVtcy4gKEFudG9ueSBTY3JpdmVuKQorU29sdXRpb246ICAgQWxsb3cgODAgaXRlbXMgYW5kIG1lbnRpb24gaXQgaW4gdGhlIGRvY3MuCitGaWxlczoJICAgIHJ1bnRpbWUvZG9jL29wdGlvbi50eHQsIHNyYy92aW0uaAorCitQYXRjaCA2LjIuMDcyCitQcm9ibGVtOiAgICBXaGVuIHVzaW5nIGV4cHJlc3Npb24gZm9sZGluZywgZm9sZGV4cHIoKSBtb3N0bHkgcmV0dXJucyAtMSBmb3IKKwkgICAgdGhlIHByZXZpb3VzIGxpbmUsIHdoaWNoIG1ha2VzIGl0IGRpZmZpY3VsdCB0byB3cml0ZSBhIGZvbGQKKwkgICAgZXhwcmVzc2lvbi4KK1NvbHV0aW9uOiAgIE1ha2UgdGhlIGxldmVsIG9mIHRoZSBwcmV2aW91cyBsaW5lIGF2YWlsYWJsZSB3aGlsZSBzdGlsbCBsb29raW5nCisJICAgIGZvciB0aGUgZW5kIG9mIGEgZm9sZC4KK0ZpbGVzOgkgICAgc3JjL2ZvbGQuYworCitQYXRjaCA2LjIuMDczCitQcm9ibGVtOiAgICBXaGVuIGFkZGluZyBkZXRlY3Rpb24gb2YgYSBzcGVjaWZpYyBmaWxldHlwZSBmb3IgYSBwbHVnaW4geW91IG5lZWQKKwkgICAgdG8gZWRpdCAiZmlsZXR5cGUudmltIi4KK1NvbHV0aW9uOiAgIFNvdXJjZSBmaWxlcyBmcm9tIHRoZSAiZnRkZXRlY3QiIGRpcmVjdG9yeSwgc28gdGhhdCBhIGZpbGV0eXBlCisJICAgIGRldGVjdGlvbiBwbHVnaW4gb25seSBuZWVkcyB0byBiZSBkcm9wcGVkIGluIGEgZGlyZWN0b3J5LgorRmlsZXM6CSAgICBydW50aW1lL2RvYy9maWxldHlwZS50eHQsIHJ1bnRpbWUvZG9jL3Vzcl8wNS50eHQsCisJICAgIHJ1bnRpbWUvZG9jL3Vzcl80MS50eHQsIHJ1bnRpbWUvZmlsZXR5cGUudmltCisKK1BhdGNoIDYuMi4wNzQKK1Byb2JsZW06ICAgIFdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHRoZSBQeXRob24gaW50ZXJmYWNlLiAoQWppdCBUaGFra2FyKQorU29sdXRpb246ICAgVXNlIEFOU0kgZnVuY3Rpb24gZGVjbGFyYXRpb25zLgorRmlsZXM6CSAgICBzcmMvaWZfcHl0aG9uLmMKKworUGF0Y2ggNi4yLjA3NQorUHJvYmxlbTogICAgV2hlbiB0aGUgdGVtcCBmaWxlIGZvciB3cml0aW5nIHZpbWluZm8gY2FuJ3QgYmUgdXNlZCAiTlVMTCIKKwkgICAgYXBwZWFycyBpbiB0aGUgZXJyb3IgbWVzc2FnZS4gKEJlbiBMYXZlbmRlcikKK1NvbHV0aW9uOiAgIFByaW50IHRoZSBvcmlnaW5hbCBmaWxlIG5hbWUgd2hlbiB0aGVyZSBpcyBubyB0ZW1wIGZpbGUgbmFtZS4KK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMuYworCitQYXRjaCA2LjIuMDc2CitQcm9ibGVtOiAgICBUaGUgdGFncyBsaXN0ZWQgZm9yIGNzY29wZSBhcmUgaW4gdGhlIHdyb25nIG9yZGVyLiAoSm9oYW5uZXMKKwkgICAgU3RlemVuYmFjaCkKK1NvbHV0aW9uOiAgIFJlbW92ZSB0aGUgcmVvcmRlcmluZyBvZiB0YWdzIGZvciB0aGUgY3VycmVudCBmaWxlLiAoU2VyZ2V5CisJICAgIEtob3JldikKK0ZpbGVzOgkgICAgc3JjL2lmX2NzY29wZS5jCisKK1BhdGNoIDYuMi4wNzcKK1Byb2JsZW06ICAgIFdoZW4gYSB1c2VyIGZ1bmN0aW9uIHNwZWNpZmllcyBjdXN0b20gY29tcGxldGlvbiwgdGhlIGZ1bmN0aW9uCisJICAgIGdldHMgYSB6ZXJvIGFyZ3VtZW50IGluc3RlYWQgb2YgYW4gZW1wdHkgc3RyaW5nIHdoZW4gdGhlcmUgaXMgbm8KKwkgICAgd29yZCBiZWZvcmUgdGhlIGN1cnNvci4gKFByZWJlbiBHdWxkYmVyZykKK1NvbHV0aW9uOiAgIERvbid0IGNvbnZlcnQgYW4gZW1wdHkgc3RyaW5nIHRvIGEgemVyby4KK0ZpbGVzOgkgICAgc3JjL2V2YWwuYworCitQYXRjaCA2LjIuMDc4CitQcm9ibGVtOiAgICAibWFrZSB0ZXN0IiBkb2Vzbid0IHdvcmsgaWYgVmltIHdhc24ndCBjb21waWxlZCB5ZXQuIChFZCBBdmlzKQorU29sdXRpb246ICAgQnVpbGQgVmltIGJlZm9yZSBydW5uaW5nIHRoZSB0ZXN0cy4KK0ZpbGVzOgkgICAgc3JjL01ha2VmaWxlCisKK1BhdGNoIDYuMi4wNzkKK1Byb2JsZW06ICAgICI6dyArK2VuYz11dGYtOCAhY21kIiBkb2Vzbid0IHdvcmsuCitTb2x1dGlvbjogICBDaGVjayBmb3IgdGhlICIrKyIgYXJndW1lbnQgYmVmb3JlIHRoZSAiISIuCitGaWxlczoJICAgIHNyYy9leF9kb2NtZC5jCisKK1BhdGNoIDYuMi4wODAKK1Byb2JsZW06ICAgIFdoZW4gJ3RfdGknIGlzIG5vdCBlbXB0eSBidXQgZG9lc24ndCBzd2FwIHNjcmVlbnMsIHVzaW5nICJaWiIgaW4KKwkgICAgYW4gdW5tb2RpZmllZCBmaWxlIGRvZXNuJ3QgY2xlYXIgdGhlIGxhc3QgbGluZS4KK1NvbHV0aW9uOiAgIENhbGwgbXNnX2Nscl9lb3MoKSB3aGVuIG5lZWRlZC4gKE1pY2hhZWwgU2Nocm9lZGVyKQorRmlsZXM6CSAgICBzcmMvb3NfdW5peC5jCisKK1BhdGNoIDYuMi4wODEKK1Byb2JsZW06ICAgIFByb2JsZW0gd2hlbiB1c2luZyBhIGxvbmcgbXVsdGlieXRlIHN0cmluZyBmb3IgdGhlIHN0YXR1c2xpbmUuCitTb2x1dGlvbjogICBVc2UgdGhlIHJpZ2h0IHBvaW50ZXIgdG8gZ2V0IHRoZSBjZWxsIHNpemUuIChUYXJvIE11cmFva2EpCitGaWxlczoJICAgIHNyYy9idWZmZXIuYworCitQYXRjaCA2LjIuMDgyCitQcm9ibGVtOiAgICBDYW4ndCBjb21waWxlIHdpdGggUGVybCA1LjguMS4KK1NvbHV0aW9uOiAgIFJlbmFtZSAiZV9udW1iZXIiIHRvICJlX251bWJlcl9leHAiLiAoU2FzY2hhIEJsYW5rKQorRmlsZXM6CSAgICBzcmMvZGlncmFwaC5jLCBzcmMvZ2xvYmFscy5oCisKK1BhdGNoIDYuMi4wODMKK1Byb2JsZW06ICAgIFdoZW4gYSBjb21waWxlciB1c2VzIF5eXl4gdG8gbWFyayBhIHdvcmQgdGhlIGluZm9ybWF0aW9uIGlzIG5vdAorCSAgICB2aXNpYmxlIGluIHRoZSBxdWlja2ZpeCB3aW5kb3cuIChTcmlrYW50aCBTYW5rYXJhbikKK1NvbHV0aW9uOiAgIERvbid0IHJlbW92ZSB0aGUgaW5kZW50IGZvciBhIGxpbmUgdGhhdCBpcyBub3QgcmVjb2duaXplZCBhcyBhbgorCSAgICBlcnJvciBtZXNzYWdlLgorRmlsZXM6CSAgICBzcmMvcXVpY2tmaXguYworCitQYXRjaCA2LjIuMDg0CitQcm9ibGVtOiAgICAiZ18iIGluIFZpc3VhbCBtb2RlIGFsd2F5cyBnb2VzIHRvIHRoZSBjaGFyYWN0ZXIgYWZ0ZXIgdGhlIGxpbmUuCisJICAgIChKZWFuLVJlbmUgRGF2aWQpCitTb2x1dGlvbjogICBJZ25vcmUgdGhlIE5VTCBhdCB0aGUgZW5kIG9mIHRoZSBsaW5lLgorRmlsZXM6CSAgICBzcmMvbm9ybWFsLmMKKworUGF0Y2ggNi4yLjA4NQorUHJvYmxlbTogICAgIjp2ZXJib3NlIHNldCB0cyIgZG9lc24ndCBzYXkgYW4gb3B0aW9uIHdhcyBzZXQgd2l0aCBhICItYyIgb3IKKwkgICAgIi0tY21kIiBhcmd1bWVudC4KK1NvbHV0aW9uOiAgIFJlbWVtYmVyIHRoZSBvcHRpb24gd2FzIHNldCBmcm9tIGEgVmltIGFyZ3VtZW50LgorRmlsZXM6CSAgICBzcmMvbWFpbi5jLCBzcmMvZXhfY21kczIuYywgc3JjL3ZpbS5oCisKK1BhdGNoIDYuMi4wODYKK1Byb2JsZW06ICAgICJ7IiBhbmQgIn0iIHN0b3AgaW5zaWRlIGEgY2xvc2VkIGZvbGQuCitTb2x1dGlvbjogICBPbmx5IHN0b3Agb25jZSBpbnNpZGUgYSBjbG9zZWQgZm9sZC4gKFN0ZXBoZW4gUmllaG0pCitGaWxlczoJICAgIHNyYy9zZWFyY2guYworCitQYXRjaCA2LjIuMDg3CitQcm9ibGVtOiAgICBDVFJMLV4gZG9lc24ndCB1c2UgdGhlICdjb25maXJtJyBvcHRpb24uICBTYW1lIHByb2JsZW0gd2l0aAorCSAgICAiOmJuZXh0Ii4gKFlha292IExlcm5lcikKK1NvbHV0aW9uOiAgIFB1dCB1cCBhIGRpYWxvZyBmb3IgYSBjaGFuZ2VkIGZpbGUgd2hlbiAnY29uZmlybScgaXMgc2V0IGluIG1vcmUKKwkgICAgc2l0dWF0aW9ucy4KK0ZpbGVzOgkgICAgc3JjL2J1ZmZlci5jLCBzcmMvZXhfY21kcy5jCisKK1BhdGNoIDYuMi4wODgKK1Byb2JsZW06ICAgIFdoZW4gJ3NpZGVzY3JvbGxvZmYnIGlzIHNldCAnc2hvd21hdGNoJyBkb2Vzbid0IHdvcmsgY29ycmVjdGx5IGlmCisJICAgIHRoZSBtYXRjaCBpcyBsZXNzIHRoYW4gJ3NpZGVzY3JvbGxvZmYnIG9mZiBmcm9tIHRoZSBzaWRlIG9mIHRoZQorCSAgICB3aW5kb3cuICAoUm9sYW5kIFN0YWhuKQorU29sdXRpb246ICAgU2V0ICdzaWRlc2Nyb2xsb2ZmJyB0byB6ZXJvIHdoaWxlIGRpc3BsYXlpbmcgdGhlIG1hdGNoLgorRmlsZXM6CSAgICBzcmMvc2VhcmNoLmMKKworUGF0Y2ggNi4yLjA4OQorUHJvYmxlbTogICAgIjpzZXQgaXNrKz0iIGFkZHMgYSBjb21tYS4gKE1hcmsgV2FnZ29uZXIpCitTb2x1dGlvbjogICBEb24ndCBhZGQgYSBjb21tYSB3aGVuIHRoZSBhZGRlZCB2YWx1ZSBpcyBlbXB0eS4KK0ZpbGVzOgkgICAgc3JjL29wdGlvbi5jCisKK1BhdGNoIDYuMi4wOTAgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6IE1pbmdXIGNvbXBpbGVyIGNvbXBsYWlucyBhYm91dCAjcHJhZ21hcy4gKEJpbGwgTWNDYXJ0aHkpCitTb2x1dGlvbjogICBQdXQgYW4gI2lmZGVmIGFyb3VuZCB0aGUgI3ByYWdtYXMuCitGaWxlczoJICAgIHNyYy9vc193aW4zMi5jCisKK1BhdGNoIDYuMi4wOTEKK1Byb2JsZW06ICAgIFdoZW4gYW4gYXV0b2NvbW1hbmQgaXMgdHJpZ2dlcmVkIHdoZW4gYSBmaWxlIGlzIGRyb3BwZWQgb24gVmltIGFuZAorCSAgICBpdCBwcm9kdWNlcyBvdXRwdXQsIG1lc3NhZ2VzIGZyb20gYSBmb2xsb3dpbmcgY29tbWFuZCBtYXkgYmUKKwkgICAgc2Nyb2xsZWQgdW5leHBlY3RlZGx5LiAoRGF2aWQgUmVubmFsbHMpCitTb2x1dGlvbjogICBTYXZlIGFuZCByZXN0b3JlIG1zZ19zY3JvbGwgaW4gaGFuZGxlX2Ryb3AoKS4KK0ZpbGVzOgkgICAgc3JjL2V4X2RvY21kLmMKKworUGF0Y2ggNi4yLjA5MgorUHJvYmxlbTogICAgSW52YWxpZCBpdGVtcyBhcHBlYXIgaW4gdGhlIGhlbHAgZmlsZSB0YWdzLiAoQW50b25pbyBDb2xvbWJvKQorU29sdXRpb246ICAgT25seSBhY2NlcHQgdGFncyB3aXRoIHdoaXRlIHNwYWNlIGJlZm9yZSB0aGUgZmlyc3QgIioiLgorRmlsZXM6CSAgICBydW50aW1lL2RvYy9kb2N0YWdzLmMsIHNyYy9leF9jbWRzLmMKKworUGF0Y2ggNi4yLjA5MworUHJvYmxlbTogICAgIjpubm9yZW1lbnUiIGFsc28gZGVmaW5lcyBtZW51IGZvciBWaXN1YWwgbW9kZS4gKEtsYXVzIEJvc2F1KQorU29sdXRpb246ICAgQ2hlY2sgdGhlIHNlY29uZCBjb21tYW5kIGNoYXJhY3RlciBmb3IgYW4gIm8iLCBub3QgdGhlIHRoaXJkLgorRmlsZXM6CSAgICBzcmMvbWVudS5jCisKK1BhdGNoIDYuMi4wOTQKK1Byb2JsZW06ICAgIENhbid0IGNvbXBpbGUgd2l0aCBHVEsgYW5kIHRpbnkgZmVhdHVyZXMuCitTb2x1dGlvbjogICBJbmNsdWRlIGhhbmRsZV9kcm9wKCkgYW5kIHZpbV9jaGRpcmZpbGUoKSB3aGVuIEZFQVRfRE5EIGlzIGRlZmluZWQuCisJICAgIERvIG5vdCB0cnkgdG8gc3BsaXQgdGhlIHdpbmRvdy4KK0ZpbGVzOgkgICAgc3JjL2V4X2RvY21kLmMsIHNyYy9taXNjMi5jCisKK1BhdGNoIDYuMi4wOTUKK1Byb2JsZW06ICAgIFRoZSBtZXNzYWdlICJDYW5ub3QgZ28gdG8gYnVmZmVyIHgiIGlzIGNvbmZ1c2luZyBmb3IgIjpidWYgNiIuCisJICAgIChGcmFucyBFbmdsaWNoKQorU29sdXRpb246ICAgTWFrZSBpdCAiQnVmZmVyIHggZG9lcyBub3QgZXhpc3QiLgorRmlsZXM6CSAgICBzcmMvYnVmZmVyLmMKKworUGF0Y2ggNi4yLjA5NgorUHJvYmxlbTogICAgV2luMzI6ICI6bGV0IEAqID0gJyciIHB1dCBhIG5ld2xpbmUgb24gdGhlIGNsaXBib2FyZC4gKEtsYXVzCisJICAgIEJvc2F1KQorU29sdXRpb246ICAgUHV0IHplcm8gYnl0ZXMgb24gdGhlIGNsaWJwb2FyZCBmb3IgYW4gZW1wdHkgc3RyaW5nLgorRmlsZXM6CSAgICBzcmMvb3BzLmMKKworUGF0Y2ggNi4yLjA5NworUHJvYmxlbTogICAgU2V0dGluZyBvciByZXNldHRpbmcgJ2luc2VydG1vZGUnIGluIGEgQnVmRW50ZXIgYXV0b2NvbW1hbmQKKwkgICAgZG9lc24ndCBhbHdheXMgaGF2ZSBpbW1lZGlhdGUgZWZmZWN0LiAoTmFnZ2VyKQorU29sdXRpb246ICAgV2hlbiAnaW5zZXJ0bW9kZScgaXMgc2V0LCBzZXQgbmVlZF9zdGFydF9pbnNlcnRtb2RlLCB3aGVuIGl0J3MKKwkgICAgcmVzZXQgc2V0IHN0b3BfaW5zZXJ0X21vZGUuCitGaWxlczoJICAgIHNyYy9vcHRpb24uYworCitQYXRjaCA2LjIuMDk4IChhZnRlciA2LjIuMDk3KQorUHJvYmxlbTogICAgQ2FuJ3QgYnVpbGQgVmltIHdpdGggdGlueSBmZWF0dXJlcy4gKENocmlzdGlhbiBKLiBSb2JpbnNvbikKK1NvbHV0aW9uOiAgIERlY2xhcmUgc3RvcF9pbnNlcnRfbW9kZSBhbHdheXMuCitGaWxlczoJICAgIHNyYy9lZGl0LmMsIHNyYy9nbG9iYWxzLmgKKworUGF0Y2ggNi4yLjA5OSAoZXh0cmEpCitQcm9ibGVtOiAgICBUZXN0IDQ5IGZhaWxzLiAoTWlrb2xhaiBNYWNob3dza2kpCitTb2x1dGlvbjogICBUaGUgUG9saXNoIHRyYW5zbGF0aW9uIG11c3Qgbm90IGNoYW5nZSAiRTExNiIgdG8gIlIxMTYiLgorRmlsZXM6CSAgICBzcmMvcG8vcGwucG8KKworUGF0Y2ggNi4yLjEwMAorUHJvYmxlbTogICAgIm1ha2UgcHJvdG8iIGZhaWxzIHdoZW4gY29tcGlsZWQgd2l0aCB0aGUgUGVybCBpbnRlcmZhY2UuCitTb2x1dGlvbjogICBSZW1vdmUgIi1mbm8uKiIgZnJvbSBQRVJMX0NGTEFHUywgY3Byb3RvIHNlZXMgaXQgYXMgaXRzIG9wdGlvbi4KK0ZpbGVzOgkgICAgc3JjL2F1dG8vY29uZmlndXJlLCBzcmMvY29uZmlndXJlLmluCisKK1BhdGNoIDYuMi4xMDEKK1Byb2JsZW06ICAgIFdoZW4gdXNpbmcgc3ludGF4IGZvbGRpbmcsIG9wZW5pbmcgYSBmaWxlIHNsb3dzIGRvd24gYSBsb3Qgd2hlbgorCSAgICBpdCdzIHNpemUgaW5jcmVhc2VzIGJ5IG9ubHkgMjAlLiAoR2FyeSBKb2huc29uKQorU29sdXRpb246ICAgVGhlIGFycmF5IHdpdGggY2FjaGVkIHN5bnRheCBzdGF0ZXMgaXMgbGVha2luZyBlbnRyaWVzLiAgQWZ0ZXIKKwkgICAgY2xlYW5pbmcgdXAgdGhlIGxpc3Qgb2J0YWluIHRoZSBjdXJyZW50IGVudHJ5IGFnYWluLgorRmlsZXM6CSAgICBzcmMvc3ludGF4LmMKKworUGF0Y2ggNi4yLjEwMgorUHJvYmxlbTogICAgVGhlIG1hY3JvcyBlcXVhbCgpIGFuZCBDUiBjb25mbGljdCB3aXRoIGEgQ2FyYm9uIGhlYWRlciBmaWxlLgorU29sdXRpb246ICAgUmVuYW1lIGVxdWFsKCkgdG8gZXF1YWxwb3MoKS4gIFJlbmFtZSBDUiB0byBDQVIuCisJICAgIERvIHRoaXMgaW4gdGhlIG5vbi1leHRyYSBmaWxlcyBvbmx5LgorRmlsZXM6CSAgICBzcmMvYXNjaWkuaCwgc3JjL2J1ZmZlci5jLCBzcmMvY2hhcnNldC5jLCBzcmMvZWRpdC5jLCBzcmMvZXZhbC5jLAorCSAgICBzcmMvZXhfY21kcy5jLCBzcmMvZXhfY21kczIuYywgc3JjL2V4X2dldGxuLmMsIHNyYy9maWxlaW8uYywKKwkgICAgc3JjL2dldGNoYXIuYywgc3JjL2d1aS5jLCBzcmMvZ3VpX2F0aGVuYS5jLCBzcmMvZ3VpX2d0a194MTEuYywKKwkgICAgc3JjL2d1aV9tb3RpZi5jLCBzcmMvbWFjcm9zLmgsIHNyYy9tYXJrLmMsIHNyYy9tZXNzYWdlLmMsCisJICAgIHNyYy9taXNjMS5jLCBzcmMvbWlzYzIuYywgc3JjL25vcm1hbC5jLCBzcmMvb3BzLmMsIHNyYy9vc191bml4LmMsCisJICAgIHNyYy9yZWdleHAuYywgc3JjL3NlYXJjaC5jLCBzcmMvdWkuYywgc3JjL3dvcmtzaG9wLmMKKworUGF0Y2ggNi4yLjEwMyAoZXh0cmEpCitQcm9ibGVtOiAgICBUaGUgbWFjcm9zIGVxdWFsKCkgYW5kIENSIGNvbmZsaWN0IHdpdGggYSBDYXJib24gaGVhZGVyIGZpbGUuCitTb2x1dGlvbjogICBSZW5hbWUgZXF1YWwoKSB0byBlcXVhbHBvcygpLiAgUmVuYW1lIENSIHRvIENBUi4KKwkgICAgRG8gdGhpcyBpbiB0aGUgZXh0cmEgZmlsZXMgb25seS4KK0ZpbGVzOgkgICAgc3JjL2d1aV9waG90b24uYywgc3JjL2d1aV93NDguYworCitQYXRjaCA2LjIuMTA0CitQcm9ibGVtOiAgICBVbm1hdGNoZWQgYnJhY2VzIGluIHRoZSB0YWJsZSB3aXRoIG9wdGlvbnMuCitTb2x1dGlvbjogICBNb3ZlIHRoZSAifSwiIG91dHNpZGUgb2YgdGhlICNpZmRlZi4gKFlha292IExlcm5lcikKK0ZpbGVzOgkgICAgc3JjL29wdGlvbi5jCisKK1BhdGNoIDYuMi4xMDUKK1Byb2JsZW06ICAgIFdoZW4gdGhlIGN1cnNvciBpcyBwYXN0IHRoZSBlbmQgb2YgdGhlIGxpbmUgd2hlbiBjYWxsaW5nCisJICAgIGdldF9jX2luZGVudCgpIGEgY3Jhc2ggbWlnaHQgb2NjdXIuCitTb2x1dGlvbjogICBEb24ndCBsb29rIHBhc3QgdGhlIGVuZCBvZiB0aGUgbGluZS4gKE5KIFZlcmVuaW5pKQorRmlsZXM6CSAgICBzcmMvbWlzYzEuYworCitQYXRjaCA2LjIuMTA2CitQcm9ibGVtOiAgICBUYWcgc2VhcmNoaW5nIGdldHMgc3R1Y2sgb24gYSB2ZXJ5IGxvbmcgbGluZSBpbiB0aGUgdGFncyBmaWxlLgorU29sdXRpb246ICAgV2hlbiBza2lwcGluZyBiYWNrIHRvIHNlYXJjaCB0aGUgZmlyc3QgbWF0Y2hpbmcgdGFnIHJlbWVtYmVyIHRoZQorCSAgICBvZmZzZXQgd2hlcmUgc2VhcmNoaW5nIHN0YXJ0ZWQgbG9va2luZyBmb3IgYSBsaW5lIGJyZWFrLgorRmlsZXM6CSAgICBzcmMvdGFnLmMKKworUGF0Y2ggNi4yLjEwNyAoZXh0cmEpCitQcm9ibGVtOiAgICBUaGUgTmV0QmVhbnMgaW50ZXJmYWNlIGNhbm5vdCBiZSB1c2VkIG9uIFdpbjMyLgorU29sdXRpb246ICAgQWRkIHN1cHBvcnQgZm9yIHRoZSBOZXRCZWFucyBmb3IgV2luMzIuICBBZGQgc3VwcG9ydCBmb3IgcmVhZGluZworCSAgICBYUE0gZmlsZXMgb24gV2luMzIuICBBbHNvIGZpeGVzIHRoYXQgYSBzaWduIGljb24gd2l0aCBhIHNwYWNlIGluCisJICAgIHRoZSBmaWxlIG5hbWUgZGlkIG5vdCB3b3JrIHRocm91Z2ggdGhlIE5ldEJlYW5zIGludGVyZmFjZS4KKwkgICAgKFNlcmdleSBLaG9yZXYpCisJICAgIEFsc286IGF2b2lkIHJlcGVhdGluZyBlcnJvciBtZXNzYWdlcyB3aGVuIHRoZSBjb25uZWN0aW9uIGlzIGxvc3QuCitGaWxlczoJICAgIE1ha2VmaWxlLCBydW50aW1lL2RvYy9uZXRiZWFucy50eHQsIHNyYy9NYWtlX2JjNS5tYWssCisJICAgIHNyYy9NYWtlX2N5Zy5tYWssIHNyYy9NYWtlX21pbmcubWFrLCBzcmMvTWFrZV9tdmMubWFrLAorCSAgICBzcmMvYmlndmltLmJhdCwgc3JjL2ZlYXR1cmUuaCwgc3JjL2d1aV9iZXZhbC5jLCBzcmMvZ3VpX2JldmFsLmgsCisJICAgIHNyYy9ndWlfdzMyLmMsIHNyYy9ndWlfdzQ4LmMsIHNyYy9tZW51LmMsIHNyYy9uYmRlYnVnLmMsCisJICAgIHNyYy9uYmRlYnVnLmgsIHNyYy9uZXRiZWFucy5jLCBzcmMvb3NfbXN3aW4uYywgc3JjL29zX3dpbjMyLmgsCisJICAgIHNyYy9wcm90by9ndWlfYmV2YWwucHJvLCBzcmMvcHJvdG8vZ3VpX3czMi5wcm8sCisJICAgIHNyYy9wcm90by9uZXRiZWFucy5wcm8sIHNyYy9wcm90by5oLCBzcmMvdmVyc2lvbi5jLCBzcmMvdmltLmgsCisJICAgIHNyYy94cG1fdzMyLmMsIHNyYy94cG1fdzMyLmgKKworUGF0Y2ggNi4yLjEwOAorUHJvYmxlbTogICAgQ3Jhc2ggd2hlbiBnaXZpbmcgYSBtZXNzYWdlIGFib3V0IGlnbm9yaW5nIGNhc2UgaW4gYSB0YWcuIChNYW5mcmVkCisJICAgIEt1ZWhuKQorU29sdXRpb246ICAgVXNlIGEgbG9uZ2VyIGJ1ZmZlciBmb3IgdGhlIG1lc3NhZ2UuCitGaWxlczoJICAgIHNyYy90YWcuYworCitQYXRjaCA2LjIuMTA5CitQcm9ibGVtOiAgICBDb21waWxlciB3YXJuaW5ncyB3aXRoIHZhcmlvdXMgQW1pZ2EgY29tcGlsZXJzLgorU29sdXRpb246ICAgQWRkIHR5cGVjYXN0LCBwcm90b3R5cGVzLCBldCBhbC4gdGhhdCBhcmUgYWxzbyB1c2VmdWwgZm9yIG90aGVyCisJICAgIHN5c3RlbXMuICAoRmxhdmlvIFN0YW5jaGluYSkKK0ZpbGVzOgkgICAgc3JjL2V2YWwuYywgc3JjL29wcy5jCisKK1BhdGNoIDYuMi4xMTAKK1Byb2JsZW06ICAgIFdoZW4gJExBTkcgaW5jbHVkZXMgdGhlIGVuY29kaW5nLCBhIG1lbnUgd2l0aG91dCBhbiBlbmNvZGluZyBuYW1lCisJICAgIGlzIG5vdCBmb3VuZC4KK1NvbHV0aW9uOiAgIEFsc28gbG9vayBmb3IgYSBtZW51IGZpbGUgd2l0aG91dCBhbnkgZW5jb2RpbmcuCitGaWxlczoJICAgIHJ1bnRpbWUvbWVudS52aW0KKworUGF0Y2ggNi4yLjExMQorUHJvYmxlbTogICAgRW5jb2RpbmcgImNwMTI1MSIgaXMgbm90IHJlY29nbml6ZWQuCitTb2x1dGlvbjogICBBZGQgImNwMTI1MSIgdG8gdGhlIHRhYmxlIG9mIGVuY29jaW5ncy4gKEFsZXhleSBGcm9sb2ZmKQorRmlsZXM6CSAgICBzcmMvbWJ5dGUuYworCitQYXRjaCA2LjIuMTEyCitQcm9ibGVtOiAgICBBZnRlciBhcHBseWluZyBwYXRjaGVzIHRlc3QzMiBmYWlscy4gKEFudG9uaW8gQ29sb21ibykKK1NvbHV0aW9uOiAgIEhhdmUgIm1ha2UgY2xlYW4iIGluIHRoZSB0ZXN0ZGlyIGRlbGV0ZSAqLnJlaiBhbmQgKi5vcmlnIGZpbGVzLgorCSAgICBVc2UgdGhpcyB3aGVuIGRvaW5nICJtYWtlIGNsZWFuIiBpbiB0aGUgc3JjIGRpcmVjdG9yeS4KK0ZpbGVzOgkgICAgc3JjL01ha2VmaWxlLCBzcmMvdGVzdGRpci9NYWtlZmlsZQorCitQYXRjaCA2LjIuMTEzCitQcm9ibGVtOiAgICBVc2luZyAiOnN0YXJ0aW5zZXJ0IiBhZnRlciAiJCIgd29ya3MgbGlrZSAiYSIgaW5zdGVhZCBvZiAiaSIuCisJICAgIChBaml0IFRoYWtrYXIpCitTb2x1dGlvbjogICBSZXNldCAid19jdXJzd2FudCIgZm9yICI6c3RhcnRpbnNlcnQiIGFuZCByZXNldCBvX2VvbCBpbiBlZGl0KCkuCitGaWxlczoJICAgIHNyYy9lZGl0LmMsIHNyYy9leF9kb2NtZC5jCisKK1BhdGNoIDYuMi4xMTQKK1Byb2JsZW06ICAgIFdoZW4gc3Rkb3V0IGlzIHBpcGVkIHRocm91Z2ggInRlZSIsIHRoZSBzaXplIG9mIHRoZSBzY3JlZW4gbWF5IG5vdAorCSAgICBiZSBjb3JyZWN0LgorU29sdXRpb246ICAgVXNlIHN0ZGluIGluc3RlYWQgb2Ygc3Rkb3V0IGZvciBpb2N0bCgpIHdoZW4gc3RkaW4gaXMgYSB0dHkgYW5kCisJICAgIHN0ZG91dCBpc24ndC4KK0ZpbGVzOgkgICAgc3JjL29zX3VuaXguYworCitQYXRjaCA2LjIuMTE1IChleHRyYSkKK1Byb2JsZW06ICAgIENvbXBpbGVyIHdhcm5pbmdzIHdpdGggdmFyaW91cyBBbWlnYSBjb21waWxlcnMuCitTb2x1dGlvbjogICBBZGQgdHlwZWNhc3QsIHByb3RvdHlwZXMsIGV0IGFsLiAgVGhvc2UgY2hhbmdlcyB0aGF0IGFyZQorCSAgICBBbWlnYS1zcGVjaWZpYy4gKEZsYXZpbyBTdGFuY2hpbmEpCitGaWxlczoJICAgIHNyYy9maWxlaW8uYywgc3JjL21lbWZpbGUuYywgc3JjL29zX2FtaWdhLmMsIHNyYy9vc19hbWlnYS5oLAorCSAgICBzcmMvdmltLmgKKworUGF0Y2ggNi4yLjExNiAoZXh0cmEpCitQcm9ibGVtOiAgICBHZXJtYW4ga2V5Ym9hcmQgd2l0aCBOdW1sb2NrIHNldCBkaWZmZXJlbnQgZnJvbSBzeXN0ZW0gc3RhcnR1cAorCSAgICBjYXVzZXMgcHJvYmxlbXMuCitTb2x1dGlvbjogICBJZ25vcmUga2V5cyB3aXRoIGNvZGUgMHhmZi4gKEhlbG11dCBTdGllZ2xlcikKK0ZpbGVzOgkgICAgc3JjL2d1aV93NDguYworCitQYXRjaCA2LjIuMTE3CitQcm9ibGVtOiAgICBCcmVha3BvaW50cyBpbiBsb29wcyBvZiBzb3VyY2VkIGZpbGVzIGFuZCBmdW5jdGlvbnMgYXJlIG5vdAorCSAgICBkZXRlY3RlZC4gKEhhcmkgS3Jpc2huYSBEYXJhKQorU29sdXRpb246ICAgQ2hlY2sgZm9yIGJyZWFrcG9pbnRzIHdoZW4gdXNpbmcgbGluZXMgdGhhdCB3ZXJlIHByZXZpb3VzbHkgcmVhZC4KKwkgICAgKFNlcnZhdGl1cyBCcmFuZHQpCitGaWxlczoJICAgIHNyYy9ldmFsLmMsIHNyYy9leF9jbWRzMi5jLCBzcmMvZXhfZG9jbWQuYywgc3JjL3Byb3RvL2V2YWwucHJvLAorCSAgICBzcmMvcHJvdG8vZXhfY21kczIucHJvCisKK1BhdGNoIDYuMi4xMTggKGV4dHJhKQorUHJvYmxlbTogICAgTWFjOiBDb21waWxpbmcgaXMgZG9uZSBpbiBhIG5vbi1zdGFuZGFyZCB3YXkuCitTb2x1dGlvbjogICBVc2UgdGhlIFVuaXggbWV0aG9kIGZvciBNYWMgT1MgWCwgd2l0aCBhdXRvY29uZi4gIEFkZCAiQ0FSQk9OR1VJIgorCSAgICB0byBNYWtlZmlsZSBhbmQgY29uZmlndXJlLiAoRXJpYyBLb3cpCisJICAgIE1vdmUgYSBmZXcgcHJvdG90eXBlcyBmcm9tIG9zX21hYy5wcm8gdG8gZ3VpX21hYy5wcm8uCitGaWxlczoJICAgIHNyYy9NYWtlZmlsZSwgc3JjL2F1dG8vY29uZmlndXJlLCBzcmMvY29uZmlndXJlLmluLAorCSAgICBzcmMvY29uZmlnLm1rLmluLCBzcmMvZ3VpX21hYy5jLCBzcmMvb3NfbWFjLmgsIHNyYy9vc19tYWNvc3guYywKKwkgICAgc3JjL3Byb3RvL2d1aV9tYWMucHJvLCBzcmMvcHJvdG8vb3NfbWFjLnBybywKKwkgICAgc3JjL2luZnBsaXN0LnhtbCwgc3JjL3ZpbS5oCisKK1BhdGNoIDYuMi4xMTkgKGFmdGVyIDYuMi4xMDcpCitQcm9ibGVtOiAgICBXaGVuIHBhY2tpbmcgdGhlIE1TLVdpbmRvd3MgYXJjaGl2ZXMgYSBmZXcgZmlsZXMgYXJlIG1pc3NpbmcuCisJICAgIChHdW9wZW5nIFdlbikKK1NvbHV0aW9uOiAgIEFkZCBndWlfYmV2YWwuKiB0byB0aGUgbGlzdCBvZiBnZW5lcmljIHNvdXJjZSBmaWxlcy4KK0ZpbGVzOgkgICAgTWFrZWZpbGUKKworUGF0Y2ggNi4yLjEyMAorUHJvYmxlbTogICAgV2luMzIgR1VJOiBUaGUgY29uc29sZSBkaWFsb2dzIGFyZSBub3Qgc3VwcG9ydGVkIG9uIE1TLVdpbmRvd3MsCisJICAgIGRpc2FibGluZyB0aGUgJ2MnIGZsYWcgb2YgJ2d1aW9wdGlvbnMnLiAoU2VydmF0aXVzIEJyYW5kdCkKK1NvbHV0aW9uOiAgIERlZmluZSBGRUFUX0NPTl9ESUFMT0cgYWxzbyBmb3IgR1VJLW9ubHkgYnVpbGRzLgorRmlsZXM6CSAgICBzcmMvZmVhdHVyZS5oCisKK1BhdGNoIDYuMi4xMjEgKGFmdGVyIDYuMi4xMTgpCitQcm9ibGVtOiAgICBOb3QgYWxsIG1ha2UgcHJvZ3JhbXMgc3VwcG9ydCAiKz0iLiAoQ2hhcmxlcyBDYW1wYmVsbCkKK1NvbHV0aW9uOiAgIFVzZSBhIG5vcm1hbCBhc3NpZ25tZW50LgorRmlsZXM6CSAgICBzcmMvTWFrZWZpbGUKKworUGF0Y2ggNi4yLjEyMiAoYWZ0ZXIgNi4yLjExOSkKK1Byb2JsZW06ICAgIE5vdCBhbGwgc2hlbGxzIGNhbiBleHBhbmQgW15+XS4gIEZpbGUgbWlzc2luZy4gIChHdW9wZW5nIFdlbikKK1NvbHV0aW9uOiAgIFVzZSBhIHNpbXBsZXIgcGF0dGVybi4gIEFkZCB0aGUgQWFwIHJlY2lwZSBmb3IgdGhlIG1hemUgcHJvZ3JhbQorCSAgICBhbmQgYSBjbGVhbiB2ZXJzaW9uIG9mIHRoZSBzb3VyY2UgY29kZS4KK0ZpbGVzOgkgICAgTWFrZWZpbGUsIHJ1bnRpbWUvbWFjcm9zL21hemUvTWFrZWZpbGUsCisJICAgIHJ1bnRpbWUvbWFjcm9zL21hemUvUkVBRE1FLnR4dCwgcnVudGltZS9tYWNyb3MvbWF6ZS9tYWluLmFhcCwKKwkgICAgcnVudGltZS9tYWNyb3MvbWF6ZS9tYXplY2xlYW4uYworCitQYXRjaCA2LjIuMTIzIChhZnRlciA2LjIuMTE4KQorUHJvYmxlbTogICAgUnVubmluZyBjb25maWd1cmUgZmFpbHMuIChUb255IExlbmVpcykKK1NvbHV0aW9uOiAgIENoYW5nZSAiPT0iIHRvICI9IiBmb3IgYSB0ZXN0LgorRmlsZXM6CSAgICBzcmMvYXV0by9jb25maWd1cmUsIHNyYy9jb25maWd1cmUuaW4KKworUGF0Y2ggNi4yLjEyNCAoYWZ0ZXIgNi4yLjEyMSkoZXh0cmEpCitQcm9ibGVtOiAgICBNYWM6IFJlY3Vyc2l2ZSB1c2Ugb2YgTTRGTEFHUyBjYXVzZXMgcHJvYmxlbXMuICBXaGVuIHJ1bm5pbmcgVmltCisJICAgIGRpcmVjdGx5IGl0IGNhbid0IGZpbmQgdGhlIHJ1bnRpbWUgZmlsZXMuICAoRW1pbHkgSmFja3NvbikKKwkgICAgVXNpbmcgR05VIGNvbnN0cnVjdHMgY2F1c2VzIHdhcm5pbmdzIHdpdGggb3RoZXIgbWFrZSBwcm9ncmFtcy4KKwkgICAgKFJvbmFsZCBTY2hpbGQpCitTb2x1dGlvbjogICBVc2UgYW5vdGhlciBuYW1lIGZvciB0aGUgTTRGTEFHUyB2YXJpYWJsZS4KKwkgICAgRG9uJ3QgcmVtb3ZlICJWaW0uYXBwIiBmcm9tIHRoZSBwYXRoLgorCSAgICBVcGRhdGUgdGhlIGV4cGxhbmF0aW9uIGZvciBjb21waWxpbmcgb24gdGhlIE1hYy4gKEVyaWMgS293KQorCSAgICBEb24ndCB1c2UgJChzaGVsbCApIGFuZCAkKGFkZHByZWZpeCApLgorRmlsZXM6CSAgICBzcmMvSU5TVEFMTG1hYy50eHQsIHNyYy9NYWtlZmlsZSwgc3JjL21pc2MxLmMKKworUGF0Y2ggNi4yLjEyNSAoYWZ0ZXIgNi4yLjEwNykKK1Byb2JsZW06ICAgIFRoZSAid2luc29jazIuaCIgZmlsZSBpc24ndCBhbHdheXMgYXZhaWxhYmxlLgorU29sdXRpb246ICAgRG9uJ3QgaW5jbHVkZSB0aGlzIGhlYWRlciBmaWxlLgorRmlsZXM6CSAgICBzcmMvbmV0YmVhbnMuYworCitQYXRjaCA2LjIuMTI2CitQcm9ibGVtOiAgICBUeXBpbmcgQ1RSTC1DIGF0IGEgY29uZmlybSgpIHByb21wdCBkb2Vzbid0IHRocm93IGFuIGV4Y2VwdGlvbi4KK1NvbHV0aW9uOiAgIFJlc2V0ICJtYXBwZWRfY3RybF9jIiBpbiBnZXRfa2V5c3Ryb2tlKCksIHNvIHRoYXQgImdvdF9pbnQiIGlzIHNldAorCSAgICBpbiBfT25DaGFyKCkuCitGaWxlczoJICAgIHNyYy9taXNjMS5jCisKK1BhdGNoIDYuMi4xMjcgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzIgY29uc29sZTogVHlwaW5nIENUUkwtQyBkb2Vzbid0IHRocm93IGFuIGV4Y2VwdGlvbi4KK1NvbHV0aW9uOiAgIFNldCBnb3RfaW50IGltbWVkaWF0ZWx5IHdoZW4gQ1RSTC1DIGlzIHR5cGVkLCBkb24ndCB3YWl0IGZvcgorCSAgICBtY2hfYnJlYWtjaGVjaygpIGJlaW5nIGNhbGxlZC4KK0ZpbGVzOgkgICAgc3JjL29zX3dpbjMyLmMKKworUGF0Y2ggNi4yLjEyOCAoYWZ0ZXIgNi4yLjExOCkKK1Byb2JsZW06ICAgIHNyYy9hdXRvL2NvbmZpZ3VyZSBpcyBub3QgY29uc2lzdGVudCB3aXRoIHNyYy9jb25maWd1cmUuaW4uCitTb2x1dGlvbjogICBVc2UgdGhlIG5ld2x5IGdlbmVyYXRlZCBjb25maWd1cmUgc2NyaXB0LgorRmlsZXM6CSAgICBzcmMvYXV0by9jb25maWd1cmUKKworUGF0Y2ggNi4yLjEyOQorUHJvYmxlbTogICAgV2hlbiAnbnVtYmVyJyBpcyBzZXQgJ3dyYXBtYXJnaW4nIGRvZXMgbm90IHdvcmsgVmktY29tcGF0aWJsZS4KKwkgICAgKFlhc3VoaXJvIE1hdHN1bW90bykKK1NvbHV0aW9uOiAgIFJlZHVjZSB0aGUgdGV4dHdpZHRoIHdoZW4gJ251bWJlcicgaXMgc2V0LiAgQWxzbyBmb3IgJ2ZvbGRjb2x1bW4nCisJICAgIGFuZCBzaW1pbGFyIHRoaW5ncy4KK0ZpbGVzOgkgICAgc3JjL2VkaXQuYworCitQYXRjaCA2LjIuMTMwIChleHRyYSkKK1Byb2JsZW06ICAgIFdpbjMyIGNvbnNvbGU6IFdoZW4gJ3Jlc3RvcmVzY3JlZW4nIGlzIG5vdCBzZXQgZXhpdGluZyBWaW0gY2F1c2VzCisJICAgIHRoZSBzY3JlZW4gdG8gYmUgY2xlYXJlZC4gKE1pY2hhZWwgQS4gTWFuZ2lubykKK1NvbHV0aW9uOiAgIERvbid0IGNsZWFyIHRoZSBzY3JlZW4gd2hlbiBleGl0aW5nIGFuZCAncmVzdG9yZXNjcmVlbicgaXNuJ3Qgc2V0LgorRmlsZXM6CSAgICBzcmMvb3Nfd2luMzIuYworCitQYXRjaCA2LjIuMTMxIChleHRyYSkKK1Byb2JsZW06ICAgIFdpbjMyOiBGb250IGhhbmRsZXMgYXJlIGxlYWtlZC4KK1NvbHV0aW9uOiAgIEZyZWUgaXRhbGljLCBib2xkIGFuZCBib2xkLWl0YWxpYyBoYW5kbGVzIGJlZm9yZSBvdmVyd3JpdGluZyB0aGVtLgorCSAgICAoTWljaGFlbCBXb29rZXkpCitGaWxlczoJICAgIHNyYy9ndWlfdzQ4LmMKKworUGF0Y2ggNi4yLjEzMiAoZXh0cmEpCitQcm9ibGVtOiAgICBXaW4zMjogY29uc29sZSB2ZXJzaW9uIGRvZXNuJ3Qgd29yayBvbiBsYXRlc3QgV2luZG93cyBTZXJ2ZXIgMjAwMy4KK1NvbHV0aW9uOiAgIENvcHkgMTIwMDAgaW5zdGVhZCBvZiAxNTAwMCBjZWxscyBhdCBhIHRpbWUgdG8gYXZvaWQgcnVubmluZyBvdXQKKwkgICAgb2YgbWVtb3J5LgorRmlsZXM6CSAgICBzcmMvb3Nfd2luMzIuYworCitQYXRjaCA2LjIuMTMzCitQcm9ibGVtOiAgICBXaGVuIHN0YXJ0aW5nIHRoZSBHVUkgYSBib2d1cyBlcnJvciBtZXNzYWdlIGFib3V0ICdpbWFjdGl2YXRla2V5JworCSAgICBtYXkgYmUgZ2l2ZW4uCitTb2x1dGlvbjogICBPbmx5IGNoZWNrIHRoZSB2YWx1ZSBvZiAnaW1hY3RpdmF0ZWtleScgd2hlbiB0aGUgR1VJIGlzIHJ1bm5pbmcuCitGaWxlczoJICAgIHNyYy9ndWkuYywgc3JjL29wdGlvbi5jCisKK1BhdGNoIDYuMi4xMzQgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6IFdoZW4gc2Nyb2xsaW5nIHBhcnRzIG9mIHRoZSB3aW5kb3cgYXJlIHJlZHJhd24gd2hlbiB0aGlzCisJICAgIGlzbid0IG5lY2Vzc2FyeS4KK1NvbHV0aW9uOiAgIE9ubHkgaW52YWxpZGF0ZSBwYXJ0cyBvZiB0aGUgd2luZG93IHdoZW4gdGhleSBhcmUgb2JzY3VyZWQgYnkKKwkgICAgb3RoZXIgd2luZG93cy4gKE1pY2hhZWwgV29va2V5KQorRmlsZXM6CSAgICBzcmMvZ3VpX3c0OC5jCisKK1BhdGNoIDYuMi4xMzUKK1Byb2JsZW06ICAgIEFuIGl0ZW0gPD4gaW4gdGhlICI6Y29tbWFuZCIgYXJndW1lbnQgaXMgaW50ZXJwcmV0ZWQgYXMgPGFyZ3M+LgorU29sdXRpb246ICAgQXZvaWQgdGhhdCA8PiBpcyByZWNvZ25pemVkIGFzIDxhcmdzPi4KK0ZpbGVzOgkgICAgc3JjL2V4X2RvY21kLmMKKworUGF0Y2ggNi4yLjEzNgorUHJvYmxlbTogICAgIjplICsrZW5jPWxhdGluMSBuZXdmaWxlIiBkb2Vzbid0IHNldCAnZmVuYycgd2hlbiB0aGUgZmlsZSBkb2Vzbid0CisJICAgIGV4aXN0LiAgKE1pcm9zbGF3IERvYnJ6YW5za2ktTmV1bWFubikKK1NvbHV0aW9uOiAgIFNldCAnZmlsZWVuY29kaW5nJyB0byB0aGUgc3BlY2lmaWVkIGVuY29kaW5nIHdoZW4gZWRpdGluZyBhIGZpbGUKKwkgICAgdGhhdCBkb2VzIG5vdCBleGlzdC4KK0ZpbGVzOgkgICAgc3JjL2ZpbGVpby5jCisKK1BhdGNoIDYuMi4xMzcKK1Byb2JsZW06ICAgICJkOmNtZDxDUj4iIGNhbm5vdCBiZSByZXBlYXRlZCB3aXRoICIuIi4gIEJyZWFrcyByZXBlYXRpbmcgImQlIgorCSAgICB3aGVuIHVzaW5nIHRoZSBtYXRjaGl0IHBsdWdpbi4KK1NvbHV0aW9uOiAgIFN0b3JlIHRoZSBjb21tYW5kIHRvIGJlIHJlcGVhdGVkLiAgVGhpcyBpcyByZXN0cmljdGVkIHRvCisJICAgIHNpbmdsZS1saW5lIGNvbW1hbmRzLgorRmlsZXM6CSAgICBzcmMvZXhfZG9jbWQuYywgc3JjL2dsb2JhbHMuaCwgc3JjL25vcm1hbC5jLCBzcmMvdmltLmgKKworUGF0Y2ggNi4yLjEzOCAoZXh0cmEpCitQcm9ibGVtOiAgICBDb21waWxhdGlvbiBwcm9ibGVtIG9uIFZNUyB3aXRoIGR5bmFtaWMgYnVmZmVyIG9uIHRoZSBzdGFjay4KK1NvbHV0aW9uOiAgIFJlYWQgb25lIGJ5dGUgbGVzcyB0aGFuIHRoZSBzaXplIG9mIHRoZSBidWZmZXIsIHNvIHRoYXQgd2UgY2FuCisJICAgIGNoZWNrIGZvciB0aGUgc3RyaW5nIGxlbmd0aCB3aXRob3V0IGFuIGV4dHJhIGJ1ZmZlci4KK0ZpbGVzOgkgICAgc3JjL29zX3Ztcy5jCisKK1BhdGNoIDYuMi4xMzkKK1Byb2JsZW06ICAgIENvZGUgaXMgcmVwZWF0ZWQgaW4gdGhlIHR3byBQZXJsIGZpbGVzLgorU29sdXRpb246ICAgTW92ZSBjb21tb24gY29kZSBmcm9tIGlmX3BlcmwueHMgYW5kIGlmX3BlcmxzZmlvLmMgdG8gdmltLmguCisJICAgIEFsc28gZml4IGEgcHJvYmxlbSB3aXRoIGdlbmVyYXRpbmcgcHJvdG90eXBlcy4KK0ZpbGVzOgkgICAgc3JjL2lmX3BlcmwueHMsIHNyYy9pZl9wZXJsc2Zpby5jLCBzcmMvdmltLmgKKworUGF0Y2ggNi4yLjE0MCAoYWZ0ZXIgNi4yLjEyMSkKK1Byb2JsZW06ICAgIE1hYzogQ29tcGlsaW5nIHdpdGggUHl0aG9uIGFuZCBQZXJsIGRvZXNuJ3Qgd29yay4KK1NvbHV0aW9uOiAgIEFkanVzdCB0aGUgY29uZmlndXJlIGNoZWNrIGZvciBQeXRob24gdG8gdXNlICItZnJhbWV3b3JrIFB5dGhvbiIKKwkgICAgZm9yIFB5dGhvbiAyLjMgb24gTWFjIE9TL1guCisJICAgIE1vdmUgIi1sZGwiIGFmdGVyICJEeW5hTG9hZGVyLmEiIGluIHRoZSBsaW5rIGNvbW1hbmQuCisJICAgIENoYW5nZSAicGVybGxpYnMiIHRvICJQRVJMX0xJQlMiLgorRmlsZXM6CSAgICBzcmMvYXV0by9jb25maWd1cmUsIHNyYy9jb25maWd1cmUuaW4sIHNyYy9jb25maWcubWsuaW4KKworUGF0Y2ggNi4yLjE0MSAoZXh0cmEpCitQcm9ibGVtOiAgICBNYWM6IFRoZSBiX0ZTU3BlYyBmaWVsZCBpcyBzb21ldGltZXMgdW51c2VkLgorU29sdXRpb246ICAgQ2hhbmdlIHRoZSAjaWZkZWYgdG8gRkVBVF9DV19FRElUT1IgYW5kIGRlZmluZWQgaXQgaW4gZmVhdHVyZS5oCitGaWxlczoJICAgIHNyYy9maWxlaW8uYywgc3JjL2d1aV9tYWMuYywgc3JjL3N0cnVjdHMuaCwgc3JjL2ZlYXR1cmUuaAorCitQYXRjaCA2LjIuMTQyIChhZnRlciA2LjIuMTI0KQorUHJvYmxlbTogICAgTWFjOiBidWlsZGluZyB3aXRob3V0IEdVSSB0aHJvdWdoIGNvbmZpZ3VyZSBkb2Vzbid0IHdvcmsuCisJICAgIFdoZW4gdGhlIHN5c3RlbSBpcyBzbG93LCB1bnBhY2tpbmcgdGhlIHJlc291cmNlIGZpbGUgdGFrZXMgdG9vCisJICAgIGxvbmcuCitTb2x1dGlvbjogICBEb24ndCBhbHdheXMgZGVmaW5lIEZFQVRfR1VJX01BQyB3aGVuIE1BQ09TIGlzIGRlZmluZWQsIGRlZmluZSBpdAorCSAgICBpbiB0aGUgTWFrZWZpbGUuCisJICAgIEFkZCBhIGNvbmZpZ3VyZSBvcHRpb24gdG8gc2tpcCBEYXJ3aW4gZGV0ZWN0aW9uLgorCSAgICBVc2UgYSBQeXRob24gc2NyaXB0IHRvIHVucGFjayB0aGUgcmVzb3VyY2VzIHRvIGF2b2lkIGEgcmFjZQorCSAgICBjb25kaXRpb24uIChUYXJvIE11cmFva2EpCitGaWxlczoJICAgIE1ha2VmaWxlLCBzcmMvTWFrZWZpbGUsIHNyYy9hdXRvL2NvbmZpZ3VyZSwgc3JjL2NvbmZpZ3VyZS5pbiwKKwkgICAgc3JjL2RlaHF4LnB5LCBzcmMvdmltLmgKKworUGF0Y2ggNi4yLjE0MworUHJvYmxlbTogICAgVXNpbmcgIksiIG9uIFZpc3VhbGx5IHNlbGVjdGVkIHRleHQgZG9lc24ndCB3b3JrIGlmIGl0IGVuZHMgaW4KKwkgICAgYSBtdWx0aS1ieXRlIGNoYXJhY3Rlci4KK1NvbHV0aW9uOiAgIEluY2x1ZGUgYWxsIHRoZSBieXRlcyBvZiB0aGUgbGFzdCBjaGFyYWN0ZXIuIChUYXJvIE11cmFva2EpCitGaWxlczoJICAgIHNyYy9ub3JtYWwuYworCitQYXRjaCA2LjIuMTQ0CitQcm9ibGVtOiAgICBXaGVuICJnOmh0bWxfdXNlX2NzcyIgaXMgc2V0IHRoZSBIVE1MIGhlYWRlciBnZW5lcmF0ZWQgYnkgdGhlCisJICAgIDJodG1sIHNjcmlwdCBpcyB3cm9uZy4KK1NvbHV0aW9uOiAgIEFkZCB0aGUgaGVhZGVyIGFmdGVyIGFkZGluZyBIUkVGIGZvciBsaW5rcy4KKwkgICAgQWxzbyB1c2UgIjpub3JtYWwhIiBpbnN0ZWFkIG9mICI6bm9ybWFsIiB0byBhdm9pZCBtYXBwaW5ncworCSAgICBnZXR0aW5nIGluIHRoZSB3YXkuCitGaWxlczoJICAgIHJ1bnRpbWUvc3ludGF4LzJodG1sLnZpbQorCitQYXRjaCA2LjIuMTQ1IChhZnRlciA2LjIuMTM5KQorUHJvYmxlbTogICAgVW5kZWZpbmluZyAiYm9vbCIgZG9lc24ndCB3b3JrIGZvciBvbGRlciBzeXN0ZW1zLiAoV29qdGVrIFBpbG9yeikKK1NvbHV0aW9uOiAgIE9ubHkgdW5kZWZpbmUgImJvb2wiIG9uIE1hYyBPUy4KK0ZpbGVzOgkgICAgc3JjL3ZpbS5oCisKK1BhdGNoIDYuMi4xNDYKK1Byb2JsZW06ICAgIE9uIHNvbWUgc3lzdGVtcyB0aGUgcHJvdG90eXBlIGZvciBpY29udigpIGlzIHdyb25nLCBjYXVzaW5nIGEKKwkgICAgd2FybmluZyBtZXNzYWdlLgorU29sdXRpb246ICAgVXNlIGEgY2FzdCAodm9pZCAqKSB0byBhdm9pZCB0aGUgd2FybmluZy4gKENoYXJsZXMgQ2FtcGJlbGwpCitGaWxlczoJICAgIHNyYy9maWxlaW8uYywgc3JjL21ieXRlLmMKKworUGF0Y2ggNi4yLjE0NworUHJvYmxlbTogICAgIjpzL3BhdC9cPWNvbCgnLicpIiBhbHdheXMgcmVwbGFjZXMgd2l0aCAiMSIuCitTb2x1dGlvbjogICBTZXQgdGhlIGN1cnNvciB0byB0aGUgc3RhcnQgb2YgdGhlIG1hdGNoIGJlZm9yZSBzdWJzdGl0dXRpbmcuCisJICAgIChIZWxtdXQgU3RpZWdsZXIpCitGaWxlczoJICAgIHNyYy9leF9jbWRzLmMKKworUGF0Y2ggNi4yLjE0OAorUHJvYmxlbTogICAgQ2FuJ3QgYnJlYWsgYW4gSW5zZXJ0IGludG8gc2V2ZXJhbCB1bmRvYWJsZSBwYXJ0cy4KK1NvbHV0aW9uOiAgIEFkZCB0aGUgQ1RSTC1HIHUgY29tbWFuZC4KK0ZpbGVzOgkgICAgcnVudGltZS9kb2MvaW5zZXJ0LnR4dCwgc3JjL2VkaXQuYworCitQYXRjaCA2LjIuMTQ5CitQcm9ibGVtOiAgICBXaGVuIHRoZSBjdXJzb3IgaXMgb24gYSBsaW5lIHBhc3QgMjEsNDc0LDc0OCB0aGUgaW5kaWNhdGVkCisJICAgIHBlcmNlbnRhZ2Ugb2YgdGhlIHBvc2l0aW9uIGlzIGludmFsaWQuICBXaXRoIHRoYXQgbWFueSBsaW5lcworCSAgICAiMTAwJSIgY2F1c2VzIGEgbmVnYXRpdmUgY3Vyc29yIGxpbmUgbnVtYmVyLCByZXN1bHRpbmcgaW4gYSBjcmFzaC4KKwkgICAgKERhbmllbCBHb3Vqb3QpCitTb2x1dGlvbjogICBEaXZpZGUgYnkgMTAwIGluc3RlYWQgb2YgbXVsdGlwbHlpbmcuICBBdm9pZCBvdmVyZmxvdyB3aGVuCisJICAgIGNvbXB1dGluZyB0aGUgbGluZSBudW1iZXIgZm9yICIxMDAlIi4KK0ZpbGVzOgkgICAgc3JjL2J1ZmZlci5jLCBzcmMvZXhfY21kczIuYywgc3JjL25vcm1hbC5jCisKK1BhdGNoIDYuMi4xNTAKK1Byb2JsZW06ICAgIFdoZW4gZG9pbmcgInZpbSAtIDwgZmlsZSIgbGluZXMgYXJlIGJyb2tlbiBhdCBOVUwgY2hhcnMuCisJICAgIChEYW5pZWwgR291am90KQorU29sdXRpb246ICAgQ2hhbmdlIE5MIGNoYXJhY3RlcnMgYmFjayB0byBOVUwgd2hlbiByZWFkaW5nIGZyb20gdGhlIHRlbXAKKwkgICAgYnVmZmVyLgorRmlsZXM6CSAgICBzcmMvZmlsZWlvLmMKKworUGF0Y2ggNi4yLjE1MQorUHJvYmxlbTogICAgV2hlbiBkb2luZyAidmltIC0tcmVtb3RlICtzdGFydGluc2VydCBmaWxlIiBzb21lIGNvbW1hbmRzIGFyZQorCSAgICBpbnNlcnRlZCBhcyB0ZXh0LiAoS2xhdXMgQm9zYXUpCitTb2x1dGlvbjogICBQdXQgYWxsIHRoZSBpbml0IGNvbW1hbmRzIGluIG9uZSBFeCBsaW5lLCBub3QgdXNpbmcgYSA8Q1I+LCBzbworCSAgICB0aGF0IEluc2VydCBtb2RlIGlzbid0IHN0YXJ0ZWQgdG9vIGVhcmx5LgorRmlsZXM6CSAgICBzcmMvbWFpbi5jCisKK1BhdGNoIDYuMi4xNTIKK1Byb2JsZW06ICAgIFRoZSBjdXJzb3IoKSBmdW5jdGlvbiBkb2Vzbid0IHJlc2V0IHRoZSBjb2x1bW4gb2Zmc2V0IGZvcgorCSAgICAndmlydHVhbGVkaXQnLgorU29sdXRpb246ICAgUmVzZXQgdGhlIG9mZnNldCB0byB6ZXJvLiAoSGVsbXV0IFN0aWVnbGVyKQorRmlsZXM6CSAgICBzcmMvZXZhbC5jCisKK1BhdGNoIDYuMi4xNTMKK1Byb2JsZW06ICAgIFdpbjMyOiAiOmxhbmcgZ2VybWFuIiBkb2Vzbid0IHVzZSBHZXJtYW4gbWVzc2FnZXMuCitTb2x1dGlvbjogICBBZGQgYSB0YWJsZSB0byB0cmFuc2xhdGUgdGhlIFdpbjMyIGxhbmd1YWdlIG5hbWVzIHRvIHR3by1sZXR0ZXIKKwkgICAgbGFuZ3VhZ2UgY29kZXMuCitGaWxlczoJICAgIHNyYy9leF9jbWRzMi5jCisKK1BhdGNoIDYuMi4xNTQKK1Byb2JsZW06ICAgIFB5dGhvbiBiYWlscyBvdXQgd2hlbiBnaXZpbmcgYSB3YXJuaW5nIG1lc3NhZ2UuIChFdWdlbmUKKwkgICAgTWlua292c2tpaSkKK1NvbHV0aW9uOiAgIFNldCBzeXMuYXJndltdIHRvIGFuIGVtcHR5IHN0cmluZy4KK0ZpbGVzOgkgICAgc3JjL2lmX3B5dGhvbi5jCisKK1BhdGNoIDYuMi4xNTUKK1Byb2JsZW06ICAgIFdpbjMyOiBVc2luZyAiOnRqdW1wIHd3dyIgaW4gYSBoZWxwIGZpbGUgZ2l2ZXMgdHdvIHJlc3VsdHMuCisJICAgIChEYXZlIFJvYmVydHMpCitTb2x1dGlvbjogICBJZ25vcmUgZGlmZmVyZW5jZXMgYmV0d2VlbiBzbGFzaGVzIGFuZCBiYWNrc2xhc2hlcyB3aGVuIGNoZWNraW5nCisJICAgIGZvciBpZGVudGljYWwgdGFnIG1hdGNoZXMuCitGaWxlczoJICAgIHNyYy90YWcuYworCitQYXRjaCA2LjIuMTU2IChhZnRlciA2LjIuMTI1KQorUHJvYmxlbTogICAgV2luMzI6IE5ldGJlYW5zIGZhaWxzIHRvIGJ1aWxkLCBFSU5UUiBpcyBub3QgZGVmaW5lZC4KK1NvbHV0aW9uOiAgIFJlZGVmaW5lIEVJTlRSIHRvIFdTQUVJTlRSLiAoTWlrZSBXaWxsaWFtcykKK0ZpbGVzOgkgICAgc3JjL25ldGJlYW5zLmMKKworUGF0Y2ggNi4yLjE1NworUHJvYmxlbTogICAgVXNpbmcgIiVwIiBpbiAnZXJyb3Jmb3JtYXQnIGdpdmVzIGEgY29sdW1uIG51bWJlciB0aGF0IGlzIHRvbworCSAgICBoaWdoLgorU29sdXRpb246ICAgU2V0IHRoZSBmbGFnIHRvIHVzZSB0aGUgbnVtYmVyIGFzIGEgdmlydHVhbCBjb2x1bW4uICAoTGVmdGVyaXMKKwkgICAgS291dHNvbG91a2FzKQorRmlsZXM6CSAgICBzcmMvcXVpY2tmaXguYworCitQYXRjaCA2LjIuMTU4CitQcm9ibGVtOiAgICBUaGUgc2VkIGNvbW1hbmQgb24gU29sYXJpcyBhbmQgSFBVWCBkb2Vzbid0IHdvcmsgZm9yIGEgbGluZSB0aGF0CisJICAgIGRvZXNuJ3QgZW5kIGluIGEgbmV3bGluZS4KK1NvbHV0aW9uOiAgIEFkZCBhIG5ld2xpbmUgd2hlbiBmZWVkaW5nIHRleHQgdG8gc2VkLiAoTWFyayBXYWdnb25lcikKK0ZpbGVzOgkgICAgc3JjL2NvbmZpZ3VyZS5pbiwgc3JjL2F1dG8vY29uZmlndXJlCisKK1BhdGNoIDYuMi4xNTkKK1Byb2JsZW06ICAgIFdoZW4gdXNpbmcgZXhwcmVzc2lvbiBmb2xkaW5nIGFuZCAnZm9sZG9wZW4nIGlzICJ1bmRvIiBhbiB1bmRvCisJICAgIGNvbW1hbmQgZG9lc24ndCBhbHdheXMgb3BlbiB0aGUgZm9sZC4KK1NvbHV0aW9uOiAgIFNhdmUgYW5kIHJlc3RvcmUgdGhlIEtleVR5cGVkIHZhcmlhYmxlIHdoZW4gZXZhbHVhdGluZyAnZm9sZGV4cHInLgorCSAgICAoVGFybyBNdXJhb2thKQorRmlsZXM6CSAgICBzcmMvZm9sZC5jCisKK1BhdGNoIDYuMi4xNjAKK1Byb2JsZW06ICAgIFdoZW4gJ3ZpcnR1YWxlZGl0JyBpcyAiYWxsIiBhbmQgJ3NlbGVjdGlvbiBpcyAiZXhjbHVzaXZlIiwKKwkgICAgc2VsZWN0aW5nIGEgZG91YmxlLXdpZHRoIGNoYXJhY3RlciBiZWxvdyBhIHNpbmdsZS13aWR0aCBjaGFyYWN0ZXIKKwkgICAgbWF5IGNhdXNlIGEgY3Jhc2guCitTb2x1dGlvbjogICBBdm9pZCBvdmVyZmxvdyBvbiB1bnNpZ25lZCBpbnRlZ2VyIGRlY3JlbWVudC4gKFRhcm8gTXVyYW9rYSkKK0ZpbGVzOgkgICAgc3JjL25vcm1hbC5jCisKK1BhdGNoIDYuMi4xNjEgKGV4dHJhKQorUHJvYmxlbTogICAgVk1TOiBNaXNzaW5nIGhlYWRlciBmaWxlLiAgUmVhZGluZyBpbnB1dCBidXN5IGxvb3BzLgorU29sdXRpb246ICAgSW5jbHVkZSB0ZXJtZGVmLmguICBBdm9pZCB0aGUgdXNlIG9mIGEgd2FpdCBmdW5jdGlvbiBpbgorCSAgICB2bXNfcmVhZCgpLiAgKEZyYW5rIFJpZXMpCitGaWxlczoJICAgIHNyYy9vc191bml4LmgsIHNyYy9vc192bXMuYworCitQYXRjaCA2LjIuMTYyCitQcm9ibGVtOiAgICAiOnJlZHJhdyIgZG9lc24ndCBhbHdheXMgZGlzcGxheSB0aGUgdGV4dCB0aGF0IGluY2x1ZGVzIHRoZSBjdXJzb3IKKwkgICAgcG9zaXRpb24sIGUuZy4gYWZ0ZXIgIjpjYWxsIGN1cnNvcigxLCAwKSIuIChFdWdlbmUgTWlua292c2tpaSkKK1NvbHV0aW9uOiAgIENhbGwgdXBkYXRlX3RvcGxpbmUoKSBiZWZvcmUgcmVkcmF3aW5nLgorRmlsZXM6CSAgICBzcmMvZXhfZG9jbWQuYworCitQYXRjaCA2LjIuMTYzCitQcm9ibGVtOiAgICAibWFrZSBpbnN0YWxsIiBtYXkgYWxzbyBjb3B5IEFBUERJUiBkaXJlY3Rvcmllcy4KK1NvbHV0aW9uOiAgIERlbGV0ZSBBQVBESVIgZGlyZWN0b3JpZXMsIGp1c3QgbGlrZSBDVlMgZGlyZWN0b3JpZXMuCitGaWxlczoJICAgIHNyYy9NYWtlZmlsZQorCitQYXRjaCA2LjIuMTY0IChhZnRlciA2LjIuMTQ0KQorUHJvYmxlbTogICAgV2hlbiAiZzpodG1sX3VzZV9jc3MiIGlzIHNldCB0aGUgSFRNTCBoZWFkZXIgZ2VuZXJhdGVkIGJ5IHRoZQorCSAgICAyaHRtbCBzY3JpcHQgaXMgc3RpbGwgd3JvbmcuCitTb2x1dGlvbjogICBTZWFyY2ggZm9yIGEgc3RyaW5nIGluc3RlYWQgb2YganVtcGluZyB0byBhIGZpeGVkIGxpbmUgbnVtYmVyLgorCSAgICBHbyB0byB0aGUgc3RhcnQgb2YgdGhlIGxpbmUgYmVmb3JlIGluc2VydGluZyB0aGUgaGVhZGVyLgorCSAgICAoSmVzcyBUaHJ5c29lZSkKK0ZpbGVzOgkgICAgcnVudGltZS9zeW50YXgvMmh0bWwudmltCisKK1BhdGNoIDYuMi4xNjUKK1Byb2JsZW06ICAgIFRoZSBjb25maWd1cmUgY2hlY2tzIGhhbmcgd2hlbiB1c2luZyBhdXRvY29uZiAyLjU3LgorU29sdXRpb246ICAgSW52b2tlIEFDX1BST0dSQU1fRUdSRVAgdG8gc2V0ICRFR1JFUC4gKEFyb24gR3JpZmZpcykKK0ZpbGVzOgkgICAgc3JjL2F1dG8vY29uZmlndXJlLCBzcmMvY29uZmlndXJlLmluCisKK1BhdGNoIDYuMi4xNjYKK1Byb2JsZW06ICAgIFdoZW4gJEdaSVAgY29udGFpbnMgIi1OIiBlZGl0aW5nIGNvbXByZXNzZWQgZmlsZXMgZG9lc24ndCB3b3JrCisJICAgIHByb3Blcmx5LgorU29sdXRpb246ICAgQWRkICItbiIgdG8gImd6aXAgLWQiIHRvIGF2b2lkIHJlc3RvcmluZyB0aGUgZmlsZSBuYW1lLiAoT3l2aW5kCisJICAgIEhvbG0pCitGaWxlczoJICAgIHJ1bnRpbWUvcGx1Z2luL2d6aXAudmltCisKK1BhdGNoIDYuMi4xNjcKK1Byb2JsZW06ICAgIFRoZSBQeXRob24gaW50ZXJmYWNlIGxlYWtzIG1lbW9yeSB3aGVuIGFzc2lnbmluZyBsaW5lcyB0byBhCisJICAgIGJ1ZmZlci4gKFNlcmdleSBLaG9yZXYpCitTb2x1dGlvbjogICBEbyBub3QgY29weSB0aGUgbGluZSB3aGVuIGNhbGxpbmcgbWxfcmVwbGFjZSgpLgorRmlsZXM6CSAgICBzcmMvaWZfcHl0aG9uLmMKKworUGF0Y2ggNi4yLjE2OAorUHJvYmxlbTogICAgUHl0aG9uIGludGVyZmFjZTogVGhlcmUgaXMgbm8gd2F5IHRvIGdldCB0aGUgaW5kaWNlcyBmcm9tIGEgcmFuZ2UKKwkgICAgb2JqZWN0LgorU29sdXRpb246ICAgQWRkIHRoZSAic3RhcnQiIGFuZCAiZW5kIiBhdHRyaWJ1dGVzLiAoTWF1cmljZSBTLiBCYXJudW0pCitGaWxlczoJICAgIHNyYy9pZl9weXRob24uYywgcnVudGltZS9kb2MvaWZfcHl0aC50eHQKKworUGF0Y2ggNi4yLjE2OQorUHJvYmxlbTogICAgVGhlIHByb3RvdHlwZSBmb3IgX1htYmxlbigpIGFwcGVhcnMgaW4gYSByZWNlbnQgWEZyZWU4NiBoZWFkZXIKKwkgICAgZmlsZSwgY2F1c2luZyBhIHdhcm5pbmcgZm9yIG91ciBwcm90b3R5cGUuIChIaXNhc2hpIFQgRnVqaW5ha2EpCitTb2x1dGlvbjogICBNb3ZlIHRoZSBwcm90b3R5cGUgdG8gYW4gb3NkZWYgZmlsZSwgc28gdGhhdCBpdCdzIGZpbHRlcmVkIG91dC4KK0ZpbGVzOgkgICAgc3JjL21ieXRlLmMsIHNyYy9vc2RlZjIuaC5pbgorCitQYXRjaCA2LjIuMTcwCitQcm9ibGVtOiAgICBXaGVuIHVzaW5nIFN1biBXb3JrU2hvcCB0aGUgY3VycmVudCBkaXJlY3RvcnkgaXNuJ3QgY2hhbmdlZCB0bworCSAgICB3aGVyZSB0aGUgZmlsZSBpcy4KK1NvbHV0aW9uOiAgIFNldCB0aGUgJ2F1dG9jaGRpcicgb3B0aW9uIHdoZW4gdXNpbmcgV29ya1Nob3AuICBBbmQgYXZvaWQgdXNpbmcKKwkgICAgdGhlIGJhc2VuYW1lIHdoZW4gJ2F1dG9jaGRpcicgaXMgbm90IHNldC4KK0ZpbGVzOgkgICAgc3JjL2d1aV94MTEuYywgc3JjL2V4X2NtZHMuYworCitQYXRjaCA2LjIuMTcxIChhZnRlciA2LjIuMTYzKQorUHJvYmxlbTogICAgVGhlICItb3IiIGFyZ3VtZW50IG9mICJmaW5kIiBkb2Vzbid0IHdvcmsgZm9yIFN5c1Ygc3lzdGVtcy4KK1NvbHV0aW9uOiAgIFVzZSAiLW8iIGluc3RlYWQuIChHb3Jkb24gUHJpZXVyKQorRmlsZXM6CSAgICBzcmMvTWFrZWZpbGUKKworUGF0Y2ggNi4yLjE3MiAoYWZ0ZXIgNi4yLjE2OSkKK1Byb2JsZW06ICAgIFRoZSBwcm90b3R5cGUgZm9yIF9YbWJsZW4oKSBzdGlsbCBjYXVzZXMgdHJvdWJsZS4KK1NvbHV0aW9uOiAgIEluY2x1ZGUgdGhlIFgxMSBoZWFkZXIgZmlsZSB0aGF0IGRlZmluZXMgdGhlIHByb3RvdHlwZS4KK0ZpbGVzOgkgICAgc3JjL29zZGVmMi5oLmluLCBzcmMvb3NkZWYuc2gKKworUGF0Y2ggNi4yLjE3MyAoZXh0cmEpCitQcm9ibGVtOiAgICBXaW4zMjogUnVieSBpbnRlcmZhY2UgZG9lc24ndCB3b3JrIHdpdGggUnVieSAxLjguMCBmb3Igb3RoZXIKKwkgICAgY29tcGlsZXJzIHRoYW4gTVNWQy4KK1NvbHV0aW9uOiAgIEZpeCB0aGUgQkM1LCBDeWd3aW4gYW5kIE1pbmd3IG1ha2VmaWxlcy4gKERhbiBTaGFycCkKK0ZpbGVzOgkgICAgc3JjL01ha2VfYmM1Lm1haywgc3JjL01ha2VfY3lnLm1haywgc3JjL01ha2VfbWluZy5tYWsKKworUGF0Y2ggNi4yLjE3NAorUHJvYmxlbTogICAgQWZ0ZXIgdGhlICI6aW50cm8iIG1lc3NhZ2Ugb25seSBhIG1vdXNlIGNsaWNrIGluIHRoZSBsYXN0IGxpbmUKKwkgICAgZ2V0cyBwYXN0IHRoZSBoaXQtcmV0dXJuIHByb21wdC4KK1NvbHV0aW9uOiAgIEFjY2VwdCBhIGNsaWNrIGF0IG9yIGJlbG93IHRoZSBoaXQtcmV0dXJuIHByb21wdC4KK0ZpbGVzOgkgICAgc3JjL2d1aS5jLCBzcmMvbWVzc2FnZS5jCisKK1BhdGNoIDYuMi4xNzUKK1Byb2JsZW06ICAgIENoYW5naW5nICdiYWNrdXBleHQnIGluIGEgKldyaXRlUHJlIGF1dG9jb21tYW5kIGRvZXNuJ3Qgd29yay4KKwkgICAgKFdpbGxpYW0gTmF0dGVyKQorU29sdXRpb246ICAgTW92ZSB0aGUgdXNlIG9mIHBfYmV4IHRvIGFmdGVyIGV4ZWN1dGluZyB0aGUgKldyaXRlUHJlCisJICAgIGF1dG9jb21tYW5kcy4gIEFsc28gYXZvaWRzIHJlYWRpbmcgYWxsb2NhdGVkIG1lbW9yeSBhZnRlciBmcmVlaW5nLgorRmlsZXM6CSAgICBzcmMvZmlsZWlvLmMKKworUGF0Y2ggNi4yLjE3NgorUHJvYmxlbTogICAgQWNjZW50ZWQgY2hhcmFjdGVycyBpbiB0cmFuc2xhdGVkIGhlbHAgZmlsZXMgYXJlIG5vdCBoYW5kbGVkCisJICAgIGNvcnJlY3RseS4gKEZhYmllbiBWYXlzc2llcmUpCitTb2x1dGlvbjogICBJbmNsdWRlICIxOTItMjU1IiBpbiAnaXNrZXl3b3JkJyBmb3IgdGhlIGhlbHAgd2luZG93LgorRmlsZXM6CSAgICBzcmMvZXhfY21kcy5jCisKK1BhdGNoIDYuMi4xNzcgKGV4dHJhKQorUHJvYmxlbTogICAgVmlzVmltOiBPcGVuaW5nIGEgZmlsZSB3aXRoIGEgc3BhY2UgaW4gdGhlIG5hbWUgZG9lc24ndCB3b3JrLiAoUm9iCisJICAgIFJldHRlcikgIEFyYml0cmFyeSBjb21tYW5kcyBhcmUgYmVpbmcgZXhlY3V0ZWQuIChOZWlsIEJpcmQpCitTb2x1dGlvbjogICBQdXQgYSBiYWNrc2xhc2ggaW4gZnJvbnQgb2YgZXZlcnkgc3BhY2UgaW4gdGhlIGZpbGUgbmFtZS4KKwkgICAgKEdlcmFyZCBCbGFpcykgIFRlcm1pbmF0ZSB0aGUgQ1RSTC1cIENUUkwtTiBjb21tYW5kIHdpdGggYSBOVUwuCitGaWxlczoJICAgIHNyYy9WaXNWaW0vQ29tbWFuZHMuY3BwLCBzcmMvVmlzVmltL1Zpc1ZpbS5yYworCitQYXRjaCA2LjIuMTc4CitQcm9ibGVtOiAgICBQZW9wbGUgd2hvIGRvbid0IGtub3cgaG93IHRvIGV4aXQgVmltIHRyeSBwcmVzc2luZyBDVFJMLUMuCitTb2x1dGlvbjogICBHaXZlIGEgbWVzc2FnZSBob3cgdG8gZXhpdCBWaW0gd2hlbiBDVFJMLUMgaXMgcHJlc3NlZCBhbmQgaXQKKwkgICAgZG9lc24ndCBjYW5jZWwgYW55dGhpbmcuCitGaWxlczoJICAgIHNyYy9ub3JtYWwuYworCitQYXRjaCA2LjIuMTc5IChleHRyYSkKK1Byb2JsZW06ICAgIFRoZSBlbl9nYiBtZXNzYWdlcyBmaWxlIGlzbid0IGZvdW5kIG9uIGNhc2Ugc2Vuc2l0aXZlIHN5c3RlbXMuCitTb2x1dGlvbjogICBSZW5hbWUgZW5fZ2IgdG8gZW5fR0IuIChNaWtlIFdpbGxpYW1zKQorRmlsZXM6CSAgICBzcmMvcG8vZW5fZ2IucG8sIHNyYy9wby9lbl9HQi5wbywgc3JjL3BvL01ha2VfbWluZy5tYWssCisJICAgIHNyYy9wby9NYWtlX212Yy5tYWssIHNyYy9wby9NYWtlZmlsZSwgc3JjL3BvL1JFQURNRV9tdmMudHh0CisKK1BhdGNoIDYuMi4xODAKK1Byb2JsZW06ICAgIENvbXBpbGluZyB3aXRoIEdUSzIgb24gV2luMzIgZG9lc24ndCB3b3JrLgorU29sdXRpb246ICAgSW5jbHVkZSBnZGt3aW4zMi5oIGluc3RlYWQgb2YgZ2RreC5oLiAoU3JpbmF0aCBBdmFkaGFudWxhKQorRmlsZXM6CSAgICBzcmMvZ3VpX2d0ay5jLCBzcmMvZ3VpX2d0a19mLmMsIHNyYy9ndWlfZ3RrX3gxMS5jLCBzcmMvbWJ5dGUuYworCitQYXRjaCA2LjIuMTgxIChhZnRlciA2LjIuMTcxKQorUHJvYmxlbTogICAgVGhlICItbyIgYXJndW1lbnQgb2YgImZpbmQiIGhhcyBsb3dlciBwcmlvcml0eSB0aGFuIHRoZSBpbXBsaWVkCisJICAgICJhbmQiIHdpdGggIi1wcmludCIuCitTb2x1dGlvbjogICBBZGQgcGFyZW50aGVzaXMgYXJvdW5kIHRoZSAiLW8iIGV4cHJlc3Npb24uIChHb3Jkb24gUHJpZXVyKQorRmlsZXM6CSAgICBzcmMvTWFrZWZpbGUKKworUGF0Y2ggNi4yLjE4MiAoYWZ0ZXIgNi4yLjA5NCkKK1Byb2JsZW06ICAgIENvbXBpbGF0aW9uIHdpdGggdGlueSBmZWF0dXJlcyBmYWlscyBiZWNhdXNlIG9mIG1pc3NpbmcKKwkgICAgZ2V0X3Bhc3RfaGVhZCgpIGZ1bmN0aW9uLgorU29sdXRpb246ICAgQWRqdXN0IHRoZSAjaWZkZWYgZm9yIGdldF9wYXN0X2hlYWQoKS4KK0ZpbGVzOgkgICAgc3JjL21pc2MxLmMKKworUGF0Y2ggNi4yLjE4MyAoYWZ0ZXIgNi4yLjE3OCkKK1Byb2JsZW06ICAgIFdhcm5pbmcgZm9yIGNoYXIvdW5zaWduZWQgY2hhciBtaXh1cC4KK1NvbHV0aW9uOiAgIFVzZSBNU0coKSBpbnN0ZWFkIG9mIG1zZygpLiAoVG9ueSBMZW5laXMpCitGaWxlczoJICAgIHNyYy9ub3JtYWwuYworCitQYXRjaCA2LjIuMTg0CitQcm9ibGVtOiAgICBXaXRoICdmb3JtYXRvcHRpb25zJyBzZXQgdG8gIjFhdyIgaW5zZXJ0aW5nIHRleHQgbWF5IGNhdXNlIHRoZQorCSAgICBwYXJhZ3JhcGggdG8gYmUgZW5kZWQuIChBbGFuIFNjaG1pdHQpCitTb2x1dGlvbjogICBUZW1wb3JhcmlseSBhZGQgYW4gZXh0cmEgc3BhY2UgdG8gbWFrZSB0aGUgcGFyYWdyYXBoIGNvbnRpbnVlCisJICAgIGFmdGVyIG1vdmluZyB0aGUgd29yZCBhZnRlciB0aGUgY3Vyc29yIHRvIHRoZSBuZXh0IGxpbmUuCisJICAgIEFsc28gZm9ybWF0IHdoZW4gcHJlc3NpbmcgRXNjLgorRmlsZXM6CSAgICBzcmMvZWRpdC5jLCBzcmMvbm9ybWFsLmMsIHNyYy9wcm90by9lZGl0LnBybworCitQYXRjaCA2LjIuMTg1CitQcm9ibGVtOiAgICBSZXN0b3JpbmcgYSBzZXNzaW9uIHdpdGggemVyby1oZWlnaHQgd2luZG93cyBkb2VzIG5vdCB3b3JrCisJICAgIHByb3Blcmx5LiAoQ2hhcmxlcyBDYW1wYmVsbCkKK1NvbHV0aW9uOiAgIEFjY2VwdCBhIHplcm8gYXJndW1lbnQgdG8gIjpyZXNpemUiIGFzIGludGVuZGVkLiAgQWRkIGEgd2luZG93CisJICAgIG51bWJlciBhcmd1bWVudCB0byAiOnJlc2l6ZSIgdG8gYmUgYWJsZSB0byBzZXQgdGhlIHNpemUgb2Ygb3RoZXIKKwkgICAgd2luZG93cywgYmVjYXVzZSB0aGUgY3VycmVudCB3aW5kb3cgY2Fubm90IGJlIHplcm8taGVpZ2h0LgorCSAgICBGaXggdGhlIGV4cGxvcmVyIHBsdWdpbiB0byBhdm9pZCBjaGFuZ2luZyB0aGUgd2luZG93IHNpemVzLiAgQWRkCisJICAgIHRoZSB3aW5yZXN0Y21kKCkgZnVuY3Rpb24gZm9yIHRoaXMuCitGaWxlczoJICAgIHJ1bnRpbWUvZG9jL2V2YWwudHh0LCBydW50aW1lL3BsdWdpbi9leHBsb3Jlci52aW0sIHNyYy9ldmFsLmMsCisJICAgIHNyYy9leF9jbWRzLmgsIHNyYy9leF9kb2NtZC5jLCBzcmMvcHJvdG8vd2luZG93LnBybywgc3JjL3dpbmRvdy5jCisKK1BhdGNoIDYuMi4xODYgKGFmdGVyIDYuMi4xODUpCitQcm9ibGVtOiAgICBEb2N1bWVudGF0aW9uIGZpbGUgZXZhbC50eHQgY29udGFpbnMgZXhhbXBsZXMgd2l0aG91dCBpbmRlbnQuCitTb2x1dGlvbjogICBJbnNlcnQgdGhlIGluZGVudC4gIEFsc28gZml4IG90aGVyIG1pc3Rha2VzLgorRmlsZXM6CSAgICBydW50aW1lL2RvYy9ldmFsLnR4dAorCitQYXRjaCA2LjIuMTg3CitQcm9ibGVtOiAgICBVc2luZyBJbnN1cmUrKyByZXZlYWxzIGEgbnVtYmVyIG9mIGJ1Z3MuICAoRG9taW51cXVlIFBlbGxlKQorU29sdXRpb246ICAgSW5pdGlhbGl6ZSB2YXJpYWJsZXMgd2hlcmUgbmVlZGVkLiAgRnJlZSBhbGxvY2F0ZWQgbWVtb3J5IHRvIGF2b2lkCisJICAgIGxlYWtzLiAgRml4IGNvbXBhcmluZyB0YWdzIHRvIGF2b2lkIHJlYWRpbmcgcGFzdCBhbGxvY2F0ZWQgbWVtb3J5LgorRmlsZXM6CSAgICBzcmMvYnVmZmVyLmMsIHNyYy9kaWZmLmMsIHNyYy9maWxlaW8uYywgc3JjL21hcmsuYywgc3JjL21pc2MxLmMsCisJICAgIHNyYy9taXNjMi5jLCBzcmMvb3BzLmMsIHNyYy9vcHRpb24uYywgc3JjL3RhZy5jLCBzcmMvdWkuYworCitQYXRjaCA2LjIuMTg4IChleHRyYSkKK1Byb2JsZW06ICAgIE1TLVdpbmRvd3M6IE11bHRpLWJ5dGUgY2hhcmFjdGVycyBpbiBhIGZpbGVuYW1lIGNhdXNlIHRyb3VibGUgZm9yCisJICAgIHRoZSB3aW5kb3cgdGl0bGUuCitTb2x1dGlvbjogICBSZXR1cm4gd2hlbiB0aGUgd2lkZSBmdW5jdGlvbiBmb3Igc2V0dGluZyB0aGUgdGl0bGUgZGlkIGl0cyB3b3JrLgorRmlsZXM6CSAgICBzcmMvZ3VpX3c0OC5jCisKK1BhdGNoIDYuMi4xODkKK1Byb2JsZW06ICAgIFdoZW4gc2V0dGluZyAndmltaW5mbycgYWZ0ZXIgZWRpdGluZyBhIG5ldyBidWZmZXIgaXRzIG1hcmtzIGFyZQorCSAgICBub3Qgc3RvcmVkLiAoS2VpdGggUm9iZXJ0cykKK1NvbHV0aW9uOiAgIFNldCB0aGUgImJfbWFya3NfcmVhZCIgZmxhZyB3aGVuIHNraXBwaW5nIHRvIHJlYWQgbWFya3MgZnJvbSB0aGUKKwkgICAgdmltaW5mbyBmaWxlLgorRmlsZXM6CSAgICBzcmMvZmlsZWlvLmMKKworUGF0Y2ggNi4yLjE5MAorUHJvYmxlbTogICAgV2hlbiBlZGl0aW5nIGEgY29tcHJlc3NlZCBmaWxlcywgbWFya3MgYXJlIGxvc3QuCitTb2x1dGlvbjogICBBZGQgdGhlICI6bG9ja21hcmtzIiBtb2RpZmllciBhbmQgdXNlIGl0IGluIHRoZSBnemlwIHBsdWdpbi4KKwkgICAgTWFrZSBleGlzdHMoKSBhbHNvIGNoZWNrIGZvciBjb21tYW5kIG1vZGlmaWVycywgc28gdGhhdCB0aGUKKwkgICAgZXhpc3RlbmNlIG9mICI6bG9ja21hcmtzIiBjYW4gYmUgY2hlY2tlZCBmb3IuCisJICAgIEFsc28gYWRkICI6a2VlcG1hcmtzIiB0byBhdm9pZCB0aGF0IG1hcmtzIGFyZSBkZWxldGVkIHdoZW4KKwkgICAgZmlsdGVyaW5nIHRleHQuCisJICAgIFdoZW4gZGVsZXRpbmcgbGluZXMgcHV0IG1hcmtzICdBIC0gJ1ogYW5kICcwIC0gJzkgYXQgdGhlIGZpcnN0CisJICAgIGRlbGV0ZWQgbGluZSBpbnN0ZWFkIG9mIGNsZWFyaW5nIHRoZSBtYXJrLiAgVGhleSB3ZXJlIGtlcHQgaW4gdGhlCisJICAgIHZpbWluZm8gZmlsZSBhbnl3YXkuCisJICAgIEF2b2lkIHRoYXQgdGhlIGd6aXAgcGx1Z2luIHB1dHMgZGVsZXRlZCB0ZXh0IGluIHJlZ2lzdGVycy4KK0ZpbGVzOgkgICAgcnVudGltZS9kb2MvbW90aW9uLnR4dCwgcnVudGltZS9wbHVnaW4vZ3ppcC52aW0sIHNyYy9leF9jbWRzLmMsCisJICAgIHNyYy9leF9kb2NtZC5jLCBzcmMvbWFyay5jLCBzcmMvc3RydWN0cy5oCisKK1BhdGNoIDYuMi4xOTEKK1Byb2JsZW06ICAgIFRoZSBpbnRybyBtZXNzYWdlIGlzIG91dGRhdGVkLiAgSW5mb3JtYXRpb24gYWJvdXQgc3BvbnNvcmluZyBhbmQKKwkgICAgcmVnaXN0ZXJpbmcgaXMgbWlzc2luZy4KK1NvbHV0aW9uOiAgIFNob3cgaW5mbyBhYm91dCBzcG9uc29yaW5nIGFuZCByZWdpc3RlcmluZyBWaW0gaW4gdGhlIGludHJvCisJICAgIG1lc3NhZ2Ugbm93IGFuZCB0aGVuLiAgQWRkIGhlbHAgZmlsZSBhYm91dCBzcG9uc29yaW5nLgorRmlsZXM6CSAgICBydW50aW1lL2RvYy9oZWxwLnR4dCwgcnVudGltZS9kb2Mvc3BvbnNvci50eHQsIHJ1bnRpbWUvZG9jL3RhZ3MsCisJICAgIHJ1bnRpbWUvbWVudS52aW0sIHNyYy92ZXJzaW9uLmMKKworUGF0Y2ggNi4yLjE5MgorUHJvYmxlbTogICAgVXNpbmcgQ1RSTC1UIGFuZCBDVFJMLUQgd2l0aCAiZ1IiIG1lc3NlcyB1cCB0aGUgdGV4dC4gIChKb25haHRhbgorCSAgICBIYW5raW5zKQorU29sdXRpb246ICAgQXZvaWQgY2FsbGluZyBjaGFuZ2VfaW5kZW50KCkgcmVjdXJzaXZlbHkuCitGaWxlczoJICAgIHNyYy9lZGl0LmMKKworUGF0Y2ggNi4yLjE5MworUHJvYmxlbTogICAgV2hlbiByZWNhbGxpbmcgYSBzZWFyY2ggcGF0dGVybiBmcm9tIHRoZSBoaXN0b3J5IGZyb20gYSAiOnMsYS9jLCIKKwkgICAgY29tbWFuZCB0aGUgJy8nIGVuZHMgdGhlIHNlYXJjaCBzdHJpbmcuIChKQyB2YW4gV2lua2VsKQorU29sdXRpb246ICAgU3RvcmUgdGhlIHNlcGFyYXRvciBjaGFyYWN0ZXIgd2l0aCB0aGUgaGlzdG9yeSBlbnRyaWVzLiAgRXNjYXBlCisJICAgIGNoYXJhY3RlcnMgd2hlbiBuZWVkZWQsIHJlcGxhY2UgdGhlIG9sZCBzZXBhcmF0b3Igd2l0aCB0aGUgbmV3IG9uZS4KKwkgICAgQWxzbyBmaXhlcyB0aGF0IHJlY2FsbGluZyBhICIvIiBzZWFyY2ggZm9yIGEgIj8iIGNvbW1hbmQgbWVzc2VzIHVwCisJICAgIHRyYWlsaW5nIGZsYWdzLgorRmlsZXM6CSAgICBzcmMvZXZhbC5jLCBzcmMvZXhfZ2V0bG4uYywgc3JjL25vcm1hbC5jLCBzcmMvcHJvdG8vZXhfZ2V0bG4ucHJvLAorCSAgICBzcmMvc2VhcmNoLmMsIHNyYy90YWcuYworCitQYXRjaCA2LjIuMTk0IChhZnRlciA2LjIuMDY4KQorUHJvYmxlbTogICAgRm9yIE5ldEJlYW5zLCBpbnN0ZWFkIG9mIHdyaXRpbmcgdGhlIGZpbGUgYW5kIHNlbmRpbmcgYW4gZXZlbnQKKwkgICAgYWJvdXQgaXQsIHRlbGwgTmV0QmVhbnMgdG8gd3JpdGUgdGhlIGZpbGUuCitTb2x1dGlvbjogICBBZGQgdGhlICJzYXZlIiBjb21tYW5kLCAibmV0YmVhbnNCdWZmZXIiIGNvbW1hbmQgYW5kCisJICAgICJidXR0b25SZWxlYXNlIiBldmVudCB0byB0aGUgbmV0YmVhbnMgcHJvdG9jb2wuICBVcGRhdGVkIHRoZQorCSAgICBpbnRlcmZhY2UgdG8gdmVyc2lvbiAyLjIuICAoR29yZG9uIFByaWV1cikKKwkgICAgQWxzbzogb3BlbiBhIGZvbGQgd2hlbiB0aGUgY3Vyc29yIGhhcyBiZWVuIHBvc2l0aW9uZWQuCisJICAgIEFsc286IGZpeCBtZW1vcnkgbGVhaywgZnJlZSByZXN1bHQgb2YgbmJfcXVvdGUoKS4KK0ZpbGVzOgkgICAgcnVudGltZS9kb2MvbmV0YmVhbnMudHh0LCBzcmMvZmlsZWlvLmMsIHNyYy9uZXRiZWFucy5jLAorCSAgICBzcmMvbm9ybWFsLmMsIHNyYy9wcm90by9uZXRiZWFucy5wcm8sIHNyYy9zdHJ1Y3RzLmgKKworUGF0Y2ggNi4yLjE5NSAoYWZ0ZXIgNi4yLjE5MCkKK1Byb2JsZW06ICAgIENvbXBpbGluZyBmYWlscyBmb3IgbWlzc2luZyBDUE9fUkVNTUFSSyBzeW1ib2wuCitTb2x1dGlvbjogICBBZGQgdGhlIHBhdGNoIEkgZm9yZ290IHRvIGluY2x1ZGUuLi4KK0ZpbGVzOgkgICAgc3JjL29wdGlvbi5oCisKK1BhdGNoIDYuMi4xOTYgKGFmdGVyIDYuMi4xOTEpCitQcm9ibGVtOiAgICBSZWJ1aWxkaW5nIHRoZSBkb2N1bWVudGF0aW9uIGRvZXNuJ3QgdXNlIHRoZSBzcG9uc29yLnR4dCBmaWxlLgorU29sdXRpb246ICAgQWRkIHNwb25zb3IudHh0IHRvIHRoZSBNYWtlZmlsZS4gKENocmlzdGlhbiBKLiBSb2JpbnNvbikKK0ZpbGVzOgkgICAgcnVudGltZS9kb2MvTWFrZWZpbGUKKworUGF0Y2ggNi4yLjE5NworUHJvYmxlbTogICAgSXQgaXMgbm90IHBvc3NpYmxlIHRvIGZvcmNlIGEgcmVkcmF3IG9mIHN0YXR1cyBsaW5lcy4gKEdhcnkKKwkgICAgSm9obnNvbikKK1NvbHV0aW9uOiAgIEFkZCB0aGUgIjpyZWRyYXdzdGF0dXMiIGNvbW1hbmQuCitGaWxlczoJICAgIHJ1bnRpbWUvZG9jL3ZhcmlvdXMudHh0LCBzcmMvZXhfY21kcy5oLCBzcmMvZXhfZG9jbWQuYywKKwkgICAgc3JjL3NjcmVlbi5jCisKK1BhdGNoIDYuMi4xOTgKK1Byb2JsZW06ICAgIEEgZmV3IG1lc3NhZ2VzIGFyZSBub3QgdHJhbnNsYXRlZC4gKEVybmVzdCBBZHJvZ3VlKQorU29sdXRpb246ICAgTWFyayB0aGUgbWVzc2FnZXMgdG8gYmUgdHJhbnNsYXRlZC4KK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMuYworCitQYXRjaCA2LjIuMTk5IChhZnRlciA2LjIuMTk0KQorUHJvYmxlbTogICAgVmltIGRvZXNuJ3Qgd29yayBwZXJmZWN0bHkgd2VsbCB3aXRoIE5ldEJlYW5zLgorU29sdXRpb246ICAgV2hlbiBOZXRCZWFucyBzYXZlcyB0aGUgZmlsZSwgcmVzZXQgdGhlIHRpbWVzdGFtcCB0byBhdm9pZCAiZmlsZQorCSAgICBjaGFuZ2VkIiB3YXJuaW5ncy4gIENsb3NlIGEgYnVmZmVyIGluIGEgcHJvcGVyIHdheS4gIERvbid0IHRyeQorCSAgICBnaXZpbmcgYSBkZWJ1ZyBtZXNzYWdlIHdpdGggYW4gaW52YWxpZCBwb2ludGVyLiAgU2VuZCBhCisJICAgIG5ld0RvdEFuZE1hcmsgbWVzc2FnZSB3aGVuIG5lZWRlZC4gIFJlcG9ydCBhIGNoYW5nZSBieSB0aGUgInIiCisJICAgIGNvbW1hbmQgdG8gTmV0QmVhbnMuICAoR29yZG9uIFByaWV1cikKK0ZpbGVzOgkgICAgc3JjL25ldGJlYW5zLmMsIHNyYy9ub3JtYWwuYworCitQYXRjaCA2LjIuMjAwCitQcm9ibGVtOiAgICBXaGVuIHJlY292ZXJpbmcgYSBmaWxlLCAnZmlsZWZvcm1hdCcgaXMgYWx3YXlzIHRoZSBkZWZhdWx0LCB0aHVzCisJICAgIHdyaXRpbmcgdGhlIGZpbGUgbWF5IHJlc3VsdCBpbiBkaWZmZXJlbmNlcy4gKFBlbmVsb3BlIEZ1ZGQpCitTb2x1dGlvbjogICBCZWZvcmUgcmVjb3ZlcmluZyB0aGUgZmlsZSB0cnkgcmVhZGluZyB0aGUgb3JpZ2luYWwgZmlsZSB0byBvYnRhaW4KKwkgICAgdGhlIHZhbHVlcyBvZiAnZmlsZWZvcm1hdCcsICdmaWxlZW5jb2RpbmcnLCBldGMuCitGaWxlczoJICAgIHNyYy9tZW1saW5lLmMKKworUGF0Y2ggNi4yLjIwMQorUHJvYmxlbTogICAgV2hlbiAnYXV0b3dyaXRlYWxsJyBpcyBzZXQgIjpxYWxsIiBzdGlsbCByZWZ1c2VzIHRvIGV4aXQgaWYgdGhlcmUKKwkgICAgaXMgYSBtb2RpZmllZCBidWZmZXIuIChBbnRvaW5lIE1lY2hlbHluY2spCitTb2x1dGlvbjogICBBdHRlbXB0IHdyaXRpbmcgbW9kaWZpZWQgYnVmZmVycyBhcyBpbnRlbmRlZC4KK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMyLmMKKworUGF0Y2ggNi4yLjIwMgorUHJvYmxlbTogICAgRmlsZXR5cGUgbmFtZXMgb2YgQ0hJTEwgYW5kIGNoIHNjcmlwdCBhcmUgY29uZnVzaW5nLgorU29sdXRpb246ICAgUmVuYW1lICJjaCIgdG8gImNoaWxsIiBhbmQgImNoc2NyaXB0IiB0byAiY2giLgorRmlsZXM6CSAgICBydW50aW1lL2ZpbGV0eXBlLnZpbSwgcnVudGltZS9tYWtlbWVudS52aW0sIHJ1bnRpbWUvc3lubWVudS52aW0KKwkgICAgcnVudGltZS9zeW50YXgvY2gudmltLCBydW50aW1lL3N5bnRheC9jaGlsbC52aW0KKworUGF0Y2ggNi4yLjIwMworUHJvYmxlbTogICAgV2l0aCBjaGFyYWN0ZXJ3aXNlIHRleHQgdGhhdCBoYXMgbW9yZSB0aGFuIG9uZSBsaW5lLCAiM1AiIHdvcmtzCisJICAgIHdyb25nLiAgIjNwIiBoYXMgdGhlIHNhbWUgcHJvYmxlbS4gIFRoZXJlIGFsc28gaXMgYSBkaXNwbGF5CisJICAgIHByb2JsZW0uIChEYW5pZWwgR291am90KQorU29sdXRpb246ICAgUGVyZm9ybSBjaGFyYWN0ZXJ3aXNlIHB1dHMgd2l0aCBhIGNvdW50IGluIHRoZSByaWdodCBwb3NpdGlvbi4KK0ZpbGVzOgkgICAgc3JjL29wcy5jCisKK1BhdGNoIDYuMi4yMDQgKGFmdGVyIDYuMi4wODYpCitQcm9ibGVtOiAgICAiXV0iIGluIGEgZmlsZSB3aXRoIGNsb3NlZCBmb2xkcyBtb3ZlcyB0byB0aGUgZW5kIG9mIHRoZSBmaWxlLgorCSAgICAoTmFtIFN1bmdIeXVuKQorU29sdXRpb246ICAgRmluZCBvbmUgcG9zaXRpb24gaW4gZWFjaCBjbG9zZWQgZm9sZCwgdGhlbiBtb3ZlIHRvIGFmdGVyIHRoZSBmb2xkLgorRmlsZXM6CSAgICBzcmMvc2VhcmNoLmMKKworUGF0Y2ggNi4yLjIwNSAoZXh0cmEpCitQcm9ibGVtOiAgICBNUy1XaW5kb3dzOiBXaGVuIHRoZSB0YXNrYmFyIGlzIGF0IHRoZSBsZWZ0IG9yIHRvcCBvZiB0aGUgc2NyZWVuLAorCSAgICB0aGUgVmltIHdpbmRvdyBwbGFjZW1lbnQgaXMgd3JvbmcuCitTb2x1dGlvbjogICBDb21wdXRlIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiB0aGUgd2luZG93IGNvcnJlY3RseS4gKFRhcm8KKwkgICAgTXVyYW9rYSkKK0ZpbGVzOgkgICAgc3JjL2d1aV93MzIuYywgc3JjL2d1aV93NDguYworCitQYXRjaCA2LjIuMjA2CitQcm9ibGVtOiAgICBNdWx0aS1ieXRlIGNoYXJhY3RlcnMgY2Fubm90IGJlIHVzZWQgYXMgaG90a2V5cyBpbiBhIGNvbnNvbGUKKwkgICAgZGlhbG9nLiAgKE1hdHRpYXMgRXJraXNzb24pCitTb2x1dGlvbjogICBIYW5kbGUgbXVsdGktYnl0ZSBjaGFyYWN0ZXJzIHByb3Blcmx5LiAgQWxzbyBwdXQgKCkgb3IgW10gYXJvdW5kCisJICAgIGRlZmF1bHQgaG90a2V5cy4KK0ZpbGVzOgkgICAgc3JjL21lc3NhZ2UuYywgc3JjL21hY3Jvcy5oCisKK1BhdGNoIDYuMi4yMDcKK1Byb2JsZW06ICAgIFdoZW4gJ2VuY29kaW5nJyBpcyBhIG11bHRpLWJ5dGUgZW5jb2RpbmcsIGV4cGFuZGluZyBhbgorCSAgICBhYmJyZXZpYXRpb24gdGhhdCBzdGFydHMgd2hlcmUgaW5zZXJ0aW9uIHN0YXJ0ZWQgcmVzdWx0cyBpbgorCSAgICBjaGFyYWN0ZXJzIGJlZm9yZSB0aGUgaW5zZXJ0aW9uIHRvIGJlIGRlbGV0ZWQuICAoWGlhbmdqaWFuZyBNYSkKK1NvbHV0aW9uOiAgIFN0b3Agc2VhcmNoaW5nIGxlZnR3YXJkcyBmb3IgdGhlIHN0YXJ0IG9mIHRoZSB3b3JkIGF0IHRoZSBwb3NpdGlvbgorCSAgICB3aGVyZSBpbnNlcnRpb24gc3RhcnRlZC4KK0ZpbGVzOgkgICAgc3JjL2dldGNoYXIuYworCitQYXRjaCA2LjIuMjA4CitQcm9ibGVtOiAgICBXaGVuIHVzaW5nIGZvbGQgbWFya2VycywgdGhyZWUgbGluZXMgaW4gYSByb3cgaGF2ZSB0aGUgc3RhcnQKKwkgICAgbWFya2VyIGFuZCBkZWxldGluZyB0aGUgZmlyc3Qgb25lIHdpdGggImRkIiwgYSBuZXN0ZWQgZm9sZCBpcyBub3QKKwkgICAgZGVsZXRlZC4gIChLYW1pbCBCdXJ6eW5za2kpCisJICAgIFVzaW5nIG1hcmtlciBmb2xkaW5nLCBhIGxldmVsIDEgZm9sZCBkb2Vzbid0IHN0b3Agd2hlbiBpdCBpcworCSAgICBmb2xsb3dlZCBieSAie3t7MiIsIHN0YXJ0aW5nIGEgbGV2ZWwgMiBmb2xkLgorU29sdXRpb246ICAgRG9uJ3Qgc3RvcCB1cGRhdGluZyBmb2xkcyBhdCB0aGUgZW5kIG9mIGEgY2hhbmdlIHdoZW4gdGhlIG5lc3RpbmcKKwkgICAgbGV2ZWwgb2YgZm9sZHMgaXMgbGFyZ2VyIHRoYW4gdGhlIGZvbGQgbGV2ZWwuCisJICAgIENvcnJlY3RseSBjb21wdXRlIHRoZSBudW1iZXIgb2YgZm9sZHMgdGhhdCBzdGFydCBhdCAie3t7MiIuCisJICAgIEFsc28gYXZvaWQgYSBjcmFzaCBmb3IgYSBOVUxMIHBvaW50ZXIuCitGaWxlczoJICAgIHNyYy9mb2xkLmMKKworUGF0Y2ggNi4yLjIwOQorUHJvYmxlbTogICAgQSBib2d1cyBmb2xkIGlzIGNyZWF0ZWQgd2hlbiB1c2luZyAiUCIgd2hpbGUgdGhlIGN1cnNvciBpcyBpbiB0aGUKKwkgICAgbWlkZGxlIG9mIGEgY2xvc2VkIGZvbGQuIChLYW1pbCBCdXJ6eW5za2kpCitTb2x1dGlvbjogICBDb3JyZWN0IHRoZSBsaW5lIG51bWJlciB3aGVyZSBtYXJrcyBhcmUgbW9kaWZpZWQgZm9yIGNsb3NlZCBmb2xkcy4KK0ZpbGVzOgkgICAgc3JjL29wcy5jCisKK1BhdGNoIDYuMi4yMTAgKGV4dHJhKQorUHJvYmxlbTogICAgTWFjIE9TWDogYW50aWFsaWFzZWQgZm9udHMgYXJlIG5vdCBzdXBwb3J0ZWQuCitTb2x1dGlvbjogICBBZGQgdGhlICdhbnRpYWxpYXMnIG9wdGlvbiB0byBzd2l0Y2ggb24gYW50aWFsaWFzaW5nIG9uIE1hYyBPU1gKKwkgICAgMTAuMiBhbmQgbGF0ZXIuIChQZXRlciBDdWNrYSkKK0ZpbGVzOgkgICAgcnVudGltZS9kb2Mvb3B0aW9ucy50eHQsIHNyYy9ndWlfbWFjLmMsIHNyYy9vcHRpb24uaCwgc3JjL29wdGlvbi5jCisKK1BhdGNoIDYuMi4yMTEgKGV4dHJhKQorUHJvYmxlbTogICAgQ29kZSBmb3IgaGFuZGxpbmcgZmlsZSBkcm9wcGVkIG9uIFZpbSBpcyBkdXBsaWNhdGVkLgorU29sdXRpb246ICAgTW92ZSB0aGUgY29tbW9uIGNvZGUgdG8gZ3VpX2hhbmRsZV9kcm9wKCkuCisJICAgIEFkZCBjb2RlIHRvIGRyb3AgdGhlIGZpbGVzIGluIHRoZSB3aW5kb3cgdW5kZXIgdGhlIGN1cnNvci4KKwkgICAgU3VwcG9ydCBkcmFnJmRyb3Agb24gdGhlIE1hY2ludG9zaC4gIChUYXJvIE11cmFva2EpCisJICAgIFdoZW4gZHJvcHBpbmcgYSBkaXJlY3RvcnkgbmFtZSBlZGl0IHRoYXQgZGlyZWN0b3J5ICh1c2luZyB0aGUKKwkgICAgZXhwbG9yZXIgcGx1Z2luKQorCSAgICBGaXggdGhhdCBjaGFuZ2luZyBkaXJlY3Rvcnkgd2l0aCBTaGlmdCBwcmVzc2VkIGRpZG4ndCB3b3JrIGZvcgorCSAgICByZWxhdGl2ZSBwYXRoIG5hbWVzLgorRmlsZXM6CSAgICBzcmMvZmlsZWlvLmMsIHNyYy9ndWkuYywgc3JjL2d1aV9ndGtfeDExLmMsIHNyYy9ndWlfbWFjLmMsCisJICAgIHNyYy9ndWlfdzQ4LmMsIHNyYy9wcm90by9maWxlaW8ucHJvLCBzcmMvcHJvdG8vZ3VpLnBybworCitQYXRjaCA2LjIuMjEyIChhZnRlciA2LjIuMTk5KQorUHJvYmxlbTogICAgTmV0QmVhbnM6IFJlcGxhY2luZyB3aXRoIGEgY291bnQgaXMgbm90IGhhbmRsZWQgY29ycmVjdGx5LgorU29sdXRpb246ICAgTW92ZSByZXBvcnRpbmcgdGhlIGNoYW5nZSBvdXRzaWRlIG9mIHRoZSBsb29wIGZvciB0aGUgY291bnQuCisJICAgIChHb3Jkb24gUHJpZXVyKQorRmlsZXM6CSAgICBzcmMvbm9ybWFsLmMKKworUGF0Y2ggNi4yLjIxMyAoYWZ0ZXIgNi4yLjIwOCkKK1Byb2JsZW06ICAgIFVzaW5nIG1hcmtlciBmb2xkaW5nLCAie3t7MSIgZG9lc24ndCBzdGFydCBhIG5ldyBmb2xkIHdoZW4gYWxyZWFkeQorCSAgICBhdCBmb2xkIGxldmVsIDEuIChTZXJ2YXRpdXMgQnJhbmR0KQorU29sdXRpb246ICAgQ29ycmVjdGx5IGNvbXB1dGUgdGhlIG51bWJlciBvZiBmb2xkcyB0aGF0IHN0YXJ0IGF0ICJ7e3sxIi4KK0ZpbGVzOgkgICAgc3JjL2ZvbGQuYworCitQYXRjaCA2LjIuMjE0IChhZnRlciA2LjIuMjExKSAoZXh0cmEpCitQcm9ibGVtOiAgICBXYXJuaW5nIGZvciBhbiB1bnVzZWQgdmFyaWFibGUuCitTb2x1dGlvbjogICBEZWxldGUgdGhlIGRlY2xhcmF0aW9uLiAoQmlsbCBNY0NhcnRoeSkKK0ZpbGVzOgkgICAgc3JjL2d1aV93NDguYworCitQYXRjaCA2LjIuMjE1CitQcm9ibGVtOiAgICBOZXRCZWFuczogcHJvYmxlbXMgc2F2aW5nIGFuIHVubW9kaWZpZWQgZmlsZS4KK1NvbHV0aW9uOiAgIEFkZCBpc05ldGJlYW5zTW9kaWZpZWQoKSBmdW5jdGlvbi4gIERpc2FibGUgbmV0YmVhbnNfdW5tb2RpZmllZCgpLgorCSAgICAoR29yZG9uIFByaWV1cikKK0ZpbGVzOgkgICAgc3JjL2ZpbGVpby5jLCBzcmMvbmV0YmVhbnMuYywgc3JjL3Byb3RvL25ldGJlYW5zLnBybywKKwkgICAgcnVudGltZS9kb2MvbmV0YmVhbnMudHh0LCBydW50aW1lL2RvYy90YWdzCisKK1BhdGNoIDYuMi4yMTYgKGFmdGVyIDYuMi4yMDYpCitQcm9ibGVtOiAgICBNdWx0aS1ieXRlIGNoYXJhY3RlcnMgc3RpbCBjYW5ub3QgYmUgdXNlZCBhcyBob3RrZXlzIGluIGEgY29uc29sZQorCSAgICBkaWFsb2cuICAoTWF0dGlhcyBFcmtpc3NvbikKK1NvbHV0aW9uOiAgIE1ha2UgZ2V0X2tleXN0cm9rZSgpIGhhbmRsZSBtdWx0aS1ieXRlIGNoYXJhY3RlcnMuCitGaWxlczoJICAgIHNyYy9taXNjMS5jCisKK1BhdGNoIDYuMi4yMTcKK1Byb2JsZW06ICAgIEdUSzogc2V0dGluZyB0aGUgdGl0bGUgZG9lc24ndCBhbHdheXMgd29yayBjb3JyZWN0bHkuCitTb2x1dGlvbjogICBJbnZva2UgZ3VpX21jaF9zZXR0aXRsZSgpLiAoVG9tYXMgU3RlaGxpaykKK0ZpbGVzOgkgICAgc3JjL29zX3VuaXguYworCitQYXRjaCA2LjIuMjE4CitQcm9ibGVtOiAgICBXYXJuaW5nIGZvciBmdW5jdGlvbiB3aXRob3V0IHByb3RvdHlwZS4KK1NvbHV0aW9uOiAgIEFkZCBhcmd1bWVudCB0eXBlcyB0byB0aGUgbXNnQ0IgZmllbGQgb2YgdGhlIEJhbGxvb25FdmFsIHN0cnVjdC4KK0ZpbGVzOgkgICAgc3JjL2d1aV9iZXZhbC5oCisKK1BhdGNoIDYuMi4yMTkKK1Byb2JsZW06ICAgIFN5bnRheCBoaWdobGlnaHRpbmcgaGFuZ3Mgb24gYW4gZW1wdHkgbWF0Y2ggb2YgYW4gaXRlbSB3aXRoIGEKKwkgICAgbmV4dGdyb3VwLiAgKENoYXJsZXMgQ2FtcGJlbGwpCitTb2x1dGlvbjogICBSZW1lbWJlciB0aGF0IHRoZSBpdGVtIGhhcyBhbHJlYWR5IG1hdGNoZWQgYW5kIGRvbid0IG1hdGNoIGl0CisJICAgIGFnYWluIGF0IHRoZSBzYW1lIHBvc2l0aW9uLgorRmlsZXM6CSAgICBzcmMvc3ludGF4LmMKKworUGF0Y2ggNi4yLjIyMAorUHJvYmxlbTogICAgV2hlbiBhIFZpbSBzZXJ2ZXIgcnVucyBpbiBhIGNvbnNvbGUgYSByZW1vdGUgY29tbWFuZCBpc24ndCBoYW5kbGVkCisJICAgIGJlZm9yZSBhIGtleSBpcyB0eXBlZC4gIChKb3NodWEgTmV1aGVpc2VsKQorU29sdXRpb246ICAgRG9uJ3QgdHJ5IHJlYWRpbmcgbW9yZSBpbnB1dCB3aGVuIGEgY2xpZW50LXNlcnZlciBjb21tYW5kIGhhcyBiZWVuCisJICAgIHJlY2VpdmVkLgorRmlsZXM6CSAgICBzcmMvb3NfdW5peC5jCisKK1BhdGNoIDYuMi4yMjEKK1Byb2JsZW06ICAgIE5vIGZpbGUgbmFtZSBjb21wbGV0aW9uIGZvciAiOmNzY29wZSBhZGQiLgorU29sdXRpb246ICAgQWRkIHRoZSBYRklMRSBmbGFnIHRvICI6Y3Njb3BlIi4gKEdhcnkgSm9obnNvbikKK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMuaAorCitQYXRjaCA2LjIuMjIyCitQcm9ibGVtOiAgICBVc2luZyAiLS1yZW1vdGUiIHNldmVyYWwgdGltZXMgb24gYSByb3cgb25seSBvcGVucyBzb21lIG9mIHRoZQorCSAgICBmaWxlcy4gKERhbnkgU3QtQW1hbnQpCitTb2x1dGlvbjogICBEb24ndCBkZWxldGUgYWxsIHR5cGVoZWFkIHdoZW4gdGhlIHNlcnZlciByZWNlaXZlcyBhIGNvbW1hbmQgZnJvbQorCSAgICBhIGNsaWVudCwgb25seSBkZWxldGUgdHlwZWQgY2hhcmFjdGVycy4KK0ZpbGVzOgkgICAgc3JjL21haW4uYworCitQYXRjaCA2LjIuMjIzCitQcm9ibGVtOiAgICBDc2NvcGU6IEF2b2lkIGEgaGFuZyB3aGVuIGNzY29wZSB3YWl0cyBmb3IgYSByZXNwb25zZSB3aGlsZSBWaW0KKwkgICAgd2FpdHMgZm9yIGEgcHJvbXB0LgorCSAgICBFcnJvciBtZXNzYWdlcyBmcm9tIENzY29wZSBtZXNzIHVwIHRoZSBkaXNwbGF5LgorU29sdXRpb246ICAgRGV0ZWN0IHRoZSBoaXQtZW50ZXIgbWVzc2FnZSBhbmQgcmVzcG9uZCBieSBzZW5kaW5nIGEgcmV0dXJuCisJICAgIGNoYXJhY3RlciB0byBjc2NvcGUuIChHYXJ5IEpvaG5zb24pCisJICAgIFVzZSBFTVNHKCkgYW5kIHN0cmVycm9yKCkgd2hlbiBwb3NzaWJsZS4gIFJlcGxhY2UgcGVycm9yKCkgd2l0aAorCSAgICBQRVJST1IoKSBldmVyeXdoZXJlLCBhZGQgZW1zZzMoKS4KK0ZpbGVzOgkgICAgc3JjL2RpZmYuYywgc3JjL2lmX2NzY29wZS5jLCBzcmMvaW50ZWdyYXRpb24uYywgc3JjL21lc3NhZ2UuYywKKwkgICAgc3JjL3Byb3RvL21lc3NhZ2UucHJvLCBzcmMvbWlzYzIuYywgc3JjL25ldGJlYW5zLmMsIHNyYy92aW0uaAorCitQYXRjaCA2LjIuMjI0CitQcm9ibGVtOiAgICBNYWM6IENhbid0IGNvbXBpbGUgd2l0aCBzbWFsbCBmZWF0dXJlcy4gKEF4ZWwgS2llbGhvcm4pCitTb2x1dGlvbjogICBBbHNvIGluY2x1ZGUgdmltX2NoZGlyZmlsZSgpIHdoZW4gY29tcGlsaW5nIGZvciB0aGUgTWFjLgorRmlsZXM6CSAgICBzcmMvbWlzYzIuYworCitQYXRjaCA2LjIuMjI1CitQcm9ibGVtOiAgICBOZXRCZWFuczogUmVwb3J0ZWQgbW9kaWZpZWQgc3RhdGUgaXNuJ3QgZXhhY3RseSByaWdodC4KK1NvbHV0aW9uOiAgIFJlcG9ydCBhIGZpbGUgYmVpbmcgbW9kaWZpZWQgaW4gdGhlIE5ldEJlYW5zIHdheS4KK0ZpbGVzOgkgICAgc3JjL25ldGJlYW5zLmMKKworUGF0Y2ggNi4yLjIyNiAoYWZ0ZXIgNi4yLjEwNykgKGV4dHJhKQorUHJvYmxlbTogICAgVGhlICJ3czItMzIubGliIiBmaWxlIGlzbid0IGFsd2F5cyBhdmFpbGFibGUuCitTb2x1dGlvbjogICBVc2UgIldTb2NrMzIubGliIiBpbnN0ZWFkLiAoVGFybyBNdXJhb2thLCBEYW4gU2hhcnApCitGaWxlczoJICAgIHNyYy9NYWtlX2N5Zy5tYWssIHNyYy9NYWtlX21pbmcubWFrLCBzcmMvTWFrZV9tdmMubWFrCisKK1BhdGNoIDYuMi4yMjcgKGV4dHJhKQorUHJvYmxlbTogICAgVGhlICJQQyIgc3ltYm9sIGlzIGRlZmluZWQgYnV0IG5vdCB1c2VkIGFueXdoZXJlLgorU29sdXRpb246ICAgUmVtb3ZlICItRFBDIiBmcm9tIHRoZSBtYWtlZmlsZXMuCitGaWxlczoJICAgIHNyYy9NYWtlX2JjMy5tYWssIHNyYy9NYWtlX2JjNS5tYWssIHNyYy9NYWtlX2N5Zy5tYWssCisJICAgIHNyYy9NYWtlX21pbmcubWFrCisKK1BhdGNoIDYuMi4yMjgKK1Byb2JsZW06ICAgIFJlY2VpdmluZyBDVFJMLVwgQ1RSTC1OIGFmdGVyIHR5cGluZyAiZiIgb3IgIm0iIGRvZXNuJ3Qgc3dpdGNoIFZpbQorCSAgICBiYWNrIHRvIE5vcm1hbCBtb2RlLiAgU2FtZSBmb3IgQ1RSTC1cIENUUkwtRy4KK1NvbHV0aW9uOiAgIENoZWNrIGlmIHRoZSBjaGFyYWN0ZXIgdHlwZWQgYWZ0ZXIgYSBjb21tYW5kIGlzIENUUkwtXCBhbmQgb2J0YWluCisJICAgIGFub3RoZXIgY2hhcmFjdGVyIHRvIGNoZWNrIGZvciBDVFJMLU4gb3IgQ1RSTC1HLCB3YWl0aW5nIHVwIHRvCisJICAgICd0dGltZW91dGxlbicgbXNlYy4KK0ZpbGVzOgkgICAgc3JjL25vcm1hbC5jCisKK1BhdGNoIDYuMi4yMjkKK1Byb2JsZW06ICAgICI6ZnVuY3Rpb24iIHdpdGggYSBuYW1lIHRoYXQgdXNlcyBtYWdpYyBjdXJsaWVzIGRvZXMgbm90IHdvcmsKKwkgICAgaW5zaWRlIGEgZnVuY3Rpb24uICAoU2VydmF0aXVzIEJyYW5kdCkKK1NvbHV0aW9uOiAgIFNraXAgb3ZlciB0aGUgZnVuY3Rpb24gbmFtZSBwcm9wZXJseS4KK0ZpbGVzOgkgICAgc3JjL2V2YWwuYworCitQYXRjaCA2LjIuMjMwIChleHRyYSkKK1Byb2JsZW06ICAgIFdpbjMyOiBhIGNvbXBsZXggcGF0dGVybiBtYXkgY2F1c2UgYSBjcmFzaC4KK1NvbHV0aW9uOiAgIFVzZSBfX3RyeSBhbmQgX19leGNlcHQgdG8gY2F0Y2ggdGhlIGV4Y2VwdGlvbiBhbmQgaGFuZGxlIGl0CisJICAgIGdyYWNlZnVsbHksIHdoZW4gcG9zc2libGUuICBBZGQgbXlyZXNldHN0a29mbHcoKSB0byByZXNldCB0aGUKKwkgICAgc3RhY2sgb3ZlcmZsb3cuIChCZW5qYW1pbiBQZXRlcnNvbikKK0ZpbGVzOgkgICAgc3JjL01ha2VfYmM1Lm1haywgc3JjL29zX21zd2luLmMgc3JjL29zX3dpbjMyLmMsIHNyYy9vc193aW4zMi5oLAorCSAgICBzcmMvcHJvdG8vb3Nfd2luMzIucHJvLCBzcmMvcmVnZXhwLmMKKworUGF0Y2ggNi4yLjIzMSAoYWZ0ZXIgNi4yLjA0NikKK1Byb2JsZW06ICAgIFZhcmlvdXMgcHJvYmxlbXMgd2hlbiBhbiBlcnJvciBleGNlcHRpb24gaXMgcmFpc2VkIGZyb20gd2l0aGluIGEKKwkgICAgYnVpbHRpbiBmdW5jdGlvbi4gIFdoZW4gaXQgaXMgaW52b2tlZCB3aGlsZSBldmFsdWF0aW5nIGFyZ3VtZW50cworCSAgICB0byBhIGZ1bmN0aW9uIGZvbGxvd2luZyBhcmd1bWVudHMgYXJlIHN0aWxsIGV2YWx1YXRlZC4gIFdoZW4KKwkgICAgaW52b2tlZCB3aXRoIGEgbGluZSByYW5nZSBpdCB3aWxsIGJlIGNhbGxlZCBmb3IgcmVtYWluaW5nIGxpbmVzLgorU29sdXRpb246ICAgVXBkYXRlICJmb3JjZV9hYm9ydCIgYWxzbyBhZnRlciBjYWxsaW5nIGEgYnVpbHRpbiBmdW5jdGlvbiwgc28KKwkgICAgdGhhdCBhYm9ydGluZygpIGFsd2F5cyByZXR1cm5zIHRoZSBjb3JyZWN0IHZhbHVlLiAoU2VydmF0aXVzCisJICAgIEJyYW5kdCkKK0ZpbGVzOgkgICAgc3JjL2V2YWwuYywgc3JjL2V4X2V2YWwuYywgc3JjL3Byb3RvL2V4X2V2YWwucHJvLAorCSAgICBzcmMvdGVzdGRpci90ZXN0NDkub2ssIHNyYy90ZXN0ZGlyL3Rlc3Q0OS52aW0KKworUGF0Y2ggNi4yLjIzMgorUHJvYmxlbTogICAgIjpweXRob24gdmltLmNvbW1hbmQoJ3B5dGhvbiBwcmludCAyKjInKSIgY3Jhc2hlcyBWaW0uICAoRXVnZW5lCisJICAgIE1pbmtvdnNraWkpCitTb2x1dGlvbjogICBEaXNhbGxvdyBleGVjdXRpbmcgYSBQeXRob24gY29tbWFuZCByZWN1cnNpdmVseSBhbmQgZ2l2ZSBhbiBlcnJvcgorCSAgICBtZXNzYWdlLgorRmlsZXM6CSAgICBzcmMvaWZfcHl0aG9uLmMKKworUGF0Y2ggNi4yLjIzMworUHJvYmxlbTogICAgT24gTWFjIE9TWCBhZGRpbmcgLXB0aHJlYWQgZm9yIFB5dGhvbiBvbmx5IGdlbmVyYXRlcyBhIHdhcm5pbmcuCisJICAgIFRoZSB0ZXN0IGZvciBQZXJsIHRocmVhZHMgcmVqZWN0cyBQZXJsIHdoaWxlIGl0J3MgT0suCisJICAgIFRjbCBkb2Vzbid0IHdvcmsgYXQgYWxsLgorCSAgICBUaGUgdGVzdCBmb3IgUnVieSBmYWlscyBpZiBydWJ5IGV4aXN0cyBidXQgdGhlcmUgYXJlIG5vIGhlYWRlcgorCSAgICBmaWxlcy4gIFRoZSBSdWJ5IGxpYnJhcnkgaXNuJ3QgZGV0ZWN0ZWQgcHJvcGVybHkKK1NvbHV0aW9uOiAgIEF2b2lkIGFkZGluZyAtcHRocmVhZCBvbiBNYWMgT1NYLiAgQWNjZXB0IFBlcmwgdGhyZWFkcyB3aGVuIGl0J3MKKwkgICAgbm90IHRoZSA1LjUgdGhyZWFkcy4KKwkgICAgVXNlIHRoZSBUY2wgZnJhbWV3b3JrIGZvciBoZWFkZXIgZmlsZXMuICBGb3IgUnVieSByZW5hbWUgY1dpbmRvdworCSAgICB0byBjVmltV2luZG93IHRvIGF2b2lkIGEgbmFtZSBjbGFzaC4gKEtlbiBTY290dCkKKwkgICAgT25seSBlbmFibGUgUnVieSB3aGVuIHRoZSBoZWFkZXIgZmlsZXMgY2FuIGJlIGZvdW5kLiAgVXNlICItbHJ1YnkiCisJICAgIGluc3RlYWQgb2YgImxpYnJ1YnkuYSIgd2hlbiBpdCBjYW4ndCBiZSBmb3VuZC4KK0ZpbGVzOgkgICAgc3JjL2F1dG8vY29uZmlndXJlLCBzcmMvY29uZmlndXJlLmluLCBzcmMvaWZfcnVieS5jCisKK1BhdGNoIDYuMi4yMzQKK1Byb2JsZW06ICAgIEdUSyAyIEdVSTogIjpzcCIgYW5kIHRoZSAiOnEiIGxlYXZlcyB0aGUgY3Vyc29yIG9uIHRoZSBjb21tYW5kCisJICAgIGxpbmUuCitTb2x1dGlvbjogICBGbHVzaCBvdXRwdXQgYmVmb3JlIHJlbW92aW5nIHNjcm9sbGJhcnMuICBBbHNvIGRvIHRoaXMgaW4gb3RoZXIKKwkgICAgcGxhY2VzIHdoZXJlIGd1aV9tY2hfKigpIGZ1bmN0aW9ucyBhcmUgaW52b2tlZC4KK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMuYywgc3JjL29wdGlvbi5jLCBzcmMvd2luZG93LmMKKworUGF0Y2ggNi4yLjIzNSAoZXh0cmEpCitQcm9ibGVtOiAgICBXaW4zMjogQ3Vyc29yIGlzbid0IHJlbW92ZWQgd2l0aCBhIDI1eDgwIHdpbmRvdyBhbmQgZG9pbmc6CisJICAgICIxODMwaWE8RXNjPjQwMGEtPEVzYz4wdzAiLiAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorU29sdXRpb246ICAgUmVtb3ZlIHRoZSBjYWxsIHRvIGd1aV91bmRyYXdfY3Vyc29yKCkgZnJvbSBndWlfbWNoX2luc2VydF9saW5lcygpLgorRmlsZXM6CSAgICBzcmMvZ3VpX3c0OC5jCisKK1BhdGNoIDYuMi4yMzYKK1Byb2JsZW06ICAgIFVzaW5nIGd2aW0gd2l0aCBBZ2lkZSBnaXZlcyAiY29ubmVjdGlvbiBsb3N0IiBlcnJvciBtZXNzYWdlcy4KK1NvbHV0aW9uOiAgIE9ubHkgZ2l2ZSB0aGUgImNvbm5lY3Rpb24gbG9zdCIgbWVzc2FnZSB3aGVuIHRoZSBidWZmZXIgd2FzIG9uY2UKKwkgICAgb3duZWQgYnkgTmV0QmVhbnMuCitGaWxlczoJICAgIHNyYy9uZXRiZWFucy5jLCBzcmMvc3RydWN0cy5oCisKK1BhdGNoIDYuMi4yMzcKK1Byb2JsZW06ICAgIEdUSyAyOiBUaGFpIHRleHQgaXMgZHJhd24gd3JvbmcuICBJdCBjaGFuZ2VzIHdoZW4gbW92aW5nIHRoZQorCSAgICBjdXJzb3Igb3ZlciBpdC4KK1NvbHV0aW9uOiAgIERpc2FibGUgdGhlIHNoYXBpbmcgZW5naW5lLCBpdCBtb3ZlcyBjb21iaW5pbmcgY2hhcmFjdGVycyB0byBhCisJICAgIHdyb25nIHBvc2l0aW9uIGFuZCBjb21iaW5lcyBjaGFyYWN0ZXJzLCB3aGlsZSBkcmF3aW5nIHRoZSBjdXJzb3IKKwkgICAgZG9lc24ndCBjb21iaW5lIGNoYXJhY3RlcnMuCitGaWxlczoJICAgIHNyYy9ndWlfZ3RrX3gxMS5jCisKK1BhdGNoIDYuMi4yMzggKGFmdGVyIDYuMi4yMzEpCitQcm9ibGVtOiAgICAiOmZ1bmN0aW9uIiBkb2VzIG5vdCB3b3JrIGluc2lkZSBhIHdoaWxlIGxvb3AuIChTZXJ2YXRpdXMgQnJhbmR0KQorU29sdXRpb246ICAgQWRkIGdldF93aGlsZV9saW5lKCkgYW5kIHBhc3MgaXQgdG8gZG9fb25lX2NtZCgpIHdoZW4gaW4gYSB3aGlsZQorCSAgICBsb29wLCBzbyB0aGF0IGFsbCBsaW5lcyBhcmUgc3RvcmVkIGFuZCBjYW4gYmUgdXNlZCBhZ2FpbiB3aGVuCisJICAgIHJlcGVhdGluZyB0aGUgbG9vcC4KKwkgICAgQWRqdXN0IHRlc3QgNDkgc28gdGhhdCBpdCBjaGVja3MgZm9yIHRoZSBmaXhlZCBwcm9ibGVtcy4KKwkgICAgKFNlcnZhdGl1cyBCcmFuZHQpCitGaWxlczoJICAgIHNyYy9kaWdyYXBoLmMsIHNyYy9leF9jbWRzMi5jLCBzcmMvZXhfZG9jbWQuYywgc3JjL2V4X2V2YWwuYywKKwkgICAgc3JjL3Byb3RvL2V4X2NtZHMyLnBybywgc3JjL3Byb3RvL2V4X2RvY21kLnBybywKKwkgICAgc3JjL3Rlc3RkaXIvdGVzdDQ5LmluLCBzcmMvdGVzdGRpci90ZXN0NDkub2ssCisJICAgIHNyYy90ZXN0ZGlyL3Rlc3Q0OS52aW0KKworUGF0Y2ggNi4yLjIzOQorUHJvYmxlbTogICAgR1RLIDI6IFdpdGggY2xvc2VkIGZvbGRzIHRoZSBhcnJvdyBidXR0b25zIG9mIGEgdmVydGljYWwgc2Nyb2xsYmFyCisJICAgIG9mdGVuIGRvZXNuJ3Qgc2Nyb2xsLiAoTW9zaGUgS2FtaW5za3kpCitTb2x1dGlvbjogICBIYWNraXNoIHNvbHV0aW9uOiBEZXRlY3QgdGhhdCB0aGUgYnV0dG9uIHdhcyBwcmVzc2VkIGZyb20gdGhlCisJICAgIG1vdXNlIHBvaW50ZXIgcG9zaXRpb24uCitGaWxlczoJICAgIHNyYy9ndWlfZ3RrLmMsIHNyYy9ndWkuYworCitQYXRjaCA2LjIuMjQwCitQcm9ibGVtOiAgICBHVEsgMjogU2VhcmNoaW5nIGZvciBiaXRtYXBzIGZvciB0aGUgdG9vbGJhciBkb2Vzbid0IHdvcmsgYXMgd2l0aAorCSAgICBvdGhlciBzeXN0ZW1zLiAgTmVlZCB0byBleHBsaWNpdGx5IHVzZSAiaWNvbj1uYW1lIi4gIChOZWQgS29ueiwKKwkgICAgQ2hyaXN0aWFuIEouICBSb2JpbnNvbikKK1NvbHV0aW9uOiAgIFNlYXJjaCBmb3IgaWNvbnMgbGlrZSBkb25lIGZvciBNb3RpZi4KK0ZpbGVzOgkgICAgc3JjL2d1aV9ndGsuYworCitQYXRjaCA2LjIuMjQxCitQcm9ibGVtOiAgICBHVEsgMjogU2VhcmNoIGFuZCBTZWFyY2gvUmVwbGFjZSBkaWFsb2dzIGFyZSBzeW5jZWQsIHRoYXQgbWFrZXMgbm8KKwkgICAgc2Vuc2UuICBCdXR0b25zIGFyZSBzb21ldGltZXMgZ3JleWVkLW91dC4gKEplcmVteSBNZXNzZW5nZXIpCitTb2x1dGlvbjogICBSZW1vdmUgdGhlIGNvZGUgdG8gc3luYyB0aGUgdHdvIGRpYWxvZ3MuICBBZGp1c3QgdGhlIGNvZGUgdG8gcmVhY3QKKwkgICAgdG8gYW4gZW1wdHkgc2VhcmNoIHN0cmluZyB0byBhbHNvIHdvcmsgZm9yIEdUSzIuIChEYXZpZCBOZWNhcykKK0ZpbGVzOgkgICAgc3JjL2d1aV9ndGsuYworCitQYXRjaCA2LjIuMjQyCitQcm9ibGVtOiAgICBHbm9tZTogInZpbSAtLWhlbHAiIG9ubHkgc2hvd3MgdGhlIEdub21lIGFyZ3VtZW50cywgbm90IHRoZSBWaW0KKwkgICAgYXJndW1lbnRzLgorU29sdXRpb246ICAgRG9uJ3QgbGV0IHRoZSBHbm9tZSBjb2RlIHJlbW92ZSB0aGUgIi0taGVscCIgYXJndW1lbnQgYW5kIGRvbid0CisJICAgIGV4aXQgYXQgdGhlIGVuZCBvZiB1c2FnZSgpLgorRmlsZXM6CSAgICBzcmMvZ3VpX2d0a194MTEuYywgc3JjL21haW4uYworCitQYXRjaCA2LjIuMjQzIChleHRyYSkKK1Byb2JsZW06ICAgIE1hYzogRHJvcHBpbmcgYSBmaWxlIG9uIGEgVmltIGljb24gY2F1c2VzIGEgaGl0LWVudGVyIHByb21wdC4KK1NvbHV0aW9uOiAgIE1vdmUgdGhlIGRyb3BwZWQgZmlsZXMgdG8gdGhlIGdsb2JhbCBhcmd1bWVudCBsaXN0LCBpbnN0ZWFkIG9mIHRoZQorCSAgICB1c3VhbCBkcm9wIGhhbmRsaW5nLiAoRWNrZWhhcmQgQmVybnMpCitGaWxlczoJICAgIHNyYy9tYWluLmMsIHNyYy9ndWlfbWFjLmMKKworUGF0Y2ggNi4yLjI0NAorUHJvYmxlbTogICAgJzplY2hvICJceGY3IicgZGlzcGxheXMgdGhlIGlsbGVnYWwgYnl0ZSBhcyBpZiBpdCB3YXMgYSBjaGFyYWN0ZXIKKwkgICAgYW5kIGxlYXZlcyAiY2hvIiBhZnRlciBpdC4KK1NvbHV0aW9uOiAgIFdoZW4gY2hlY2tpbmcgdGhlIGxlbmd0aCBvZiBhIFVURi04IGJ5dGUgc2VxdWVuY2UgYW5kIGl0J3Mgc2hvcnRlcgorCSAgICB0aGFuIHRoZSBudW1iZXIgb2YgYnl0ZXMgYXZhaWxhYmxlLCBhc3N1bWUgaXQncyBhbiBpbGxlZ2FsIGJ5dGUuCitGaWxlczoJICAgIHNyYy9tYnl0ZS5jCisKK1BhdGNoIDYuMi4yNDUKK1Byb2JsZW06ICAgIENvbXBsZXRpb24gZG9lc24ndCB3b3JrIGZvciAiOmtlZXBtYXJrcyIgYW5kICI6bG9ja21hcmtzIi4KK1NvbHV0aW9uOiAgIEFkZCB0aGUgY29tbWFuZCBtb2RpZmllcnMgdG8gdGhlIHRhYmxlIG9mIGNvbW1hbmRzLiAoTWFkb2thCisJICAgIE1hY2hpdGFuaSkKK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMuaCwgc3JjL2V4X2RvY21kLmMKKworUGF0Y2ggNi4yLjI0NgorUHJvYmxlbTogICAgTWFjOiBTdGFydGluZyBWaW0gZnJvbSBGaW5kZXIgZG9lc24ndCBzaG93IGVycm9yIG1lc3NhZ2VzLgorU29sdXRpb246ICAgUmVjb2duaXplIHRoYXQgb3V0cHV0IGlzIGJlaW5nIGRpc3BsYXllZCBieSBzdGRlcnIgYmVpbmcKKwkgICAgIi9kZXYvY29uc29sZSIuICAoRWNrZWhhcmQgQmVybnMpCitGaWxlczoJICAgIHNyYy9tYWluLmMsIHNyYy9tZXNzYWdlLmMKKworUGF0Y2ggNi4yLjI0NyAoYWZ0ZXIgNi4yLjE5MykKK1Byb2JsZW06ICAgIFdoZW4gdXNpbmcgYSBzZWFyY2ggcGF0dGVybiBmcm9tIHRoZSB2aW1pbmZvIGZpbGUgdGhlIGxhc3QKKwkgICAgY2hhcmFjdGVyIGlzIHJlcGxhY2VkIHdpdGggYSAnLycuCitTb2x1dGlvbjogICBTdG9yZSB0aGUgc2VwYXJhdG9yIGNoYXJhY3RlciBpbiB0aGUgcmlnaHQgcGxhY2UuIChLZWx2aW4gTGVlKQorRmlsZXM6CSAgICBzcmMvZXhfZ2V0bG4uYworCitQYXRjaCA2LjIuMjQ4CitQcm9ibGVtOiAgICBHVEs6IFdoZW4gWElNIGlzIGVuYWJsZWQgbm9ybWFsICIyIiBhbmQga2V5cGFkICIyIiBjYW5ub3QgYmUKKwkgICAgZGlzdGluZ3Vpc2hlZC4KK1NvbHV0aW9uOiAgIERldGVjdCB0aGF0IFhJTSBjaGFuZ2VzIHRoZSBrZXlwYWQga2V5IHRvIHRoZSBleHBlY3RlZCBBU0NJSQorCSAgICBjaGFyYWN0ZXIgYW5kIGZhbGwgYmFjayB0byB0aGUgbm9uLVhJTSBjb2RlLiAoTmVpbCBCaXJkKQorRmlsZXM6CSAgICBzcmMvZ3VpX2d0a194MTEuYywgc3JjL21ieXRlLmMsIHNyYy9wcm90by9tYnl0ZS5wcm8KKworUGF0Y2ggNi4yLjI0OQorUHJvYmxlbTogICAgIjpjbmV4dCIgbW92ZXMgdG8gdGhlIGVycm9yIGluIHRoZSBuZXh0IGZpbGUsIGJ1dCB0aGVyZSBpcyBubworCSAgICBtZXRob2QgdG8gZ28gYmFjay4KK1NvbHV0aW9uOiAgIEFkZCAiOmNwZmlsZSIgYW5kICI6Y05maWxlIi4KK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMuaCwgc3JjL3F1aWNrZml4LmMsIHNyYy92aW0uaCwgcnVudGltZS9kb2MvcXVpY2tmaXgudHh0CisKK1BhdGNoIDYuMi4yNTAKK1Byb2JsZW06ICAgIE1lbW9yeSBsZWFrcyB3aGVuIHVzaW5nIHNpZ25zLiAoWGF2aWVyIGRlIEdheWUpCitTb2x1dGlvbjogICBEZWxldGUgdGhlIGxpc3Qgb2Ygc2lnbnMgd2hlbiB1bmxvYWRpbmcgYSBidWZmZXIuCitGaWxlczoJICAgIHNyYy9idWZmZXIuYworCitQYXRjaCA2LjIuMjUxCitQcm9ibGVtOiAgICBHVEs6IFRoZSAndicgZmxhZyBpbiAnZ3Vpb3B0aW9ucycgZG9lc24ndCB3b3JrLiAoU3RldmUgSGFsbCkKKwkgICAgT3JkZXIgb2YgYnV0dG9ucyBpcyByZXZlcnNlZCBmb3IgR1RLIDIuMi40LiAgRG9uJ3QgYWx3YXlzIGdldAorCSAgICBmb2N1cyBiYWNrIGFmdGVyIGhhbmRsaW5nIGEgZGlhbG9nLgorU29sdXRpb246ICAgTWFrZSBidXR0b25zIGFwcGVhciB2ZXJ0aWNhbGx5IHdoZW4gZGVzaXJlZC4gIFJldmVyc2UgdGhlIG9yZGVyIGluCisJICAgIHdoaWNoIGJ1dHRvbnMgYXJlIGFkZGVkIHRvIGEgZGlhbG9nLiAgTW92ZSBtb3VzZSBwb2ludGVyIGFyb3VuZAorCSAgICB3aGVuIHRoZSBkaWFsb2cgaXMgZG9uZSBhbmQgd2UgZG9uJ3QgaGF2ZSBmb2N1cy4KK0ZpbGVzOgkgICAgc3JjL2d1aV9ndGsuYworCitQYXRjaCA2LjIuMjUyIChleHRyYSwgYWZ0ZXIgNi4yLjI0MykKK1Byb2JsZW06ICAgIE1hYzogRHJvcHBpbmcgYSBmaWxlIG9uIGEgVmltIGljb24gY2F1c2VzIGEgaGl0LWVudGVyIHByb21wdCBmb3IKKwkgICAgTWFjIE9TIGNsYXNzaWMuCitTb2x1dGlvbjogICBSZW1vdmUgdGhlICNpZmRlZiBmcm9tIHRoZSBjb2RlIHRoYXQgZml4ZXMgaXQgZm9yIE1hYyBPU1guCitGaWxlczoJICAgIHNyYy9ndWlfbWFjLmMKKworUGF0Y2ggNi4yLjI1MworUHJvYmxlbTogICAgV2hlbiAndGFnc3RhY2snIGlzIG5vdCBzZXQgYSAiOnRhZyBpZCIgY29tbWFuZCBkb2VzIG5vdCB3b3JrIGFmdGVyCisJICAgIGEgIjp0anVtcCIgY29tbWFuZC4KK1NvbHV0aW9uOiAgIFNldCAibmV3X3RhZyIgd2hlbiAndGFnc3RhY2snIGlzbid0IHNldC4gKEcuIE5hcmVuZHJhbikKK0ZpbGVzOgkgICAgc3JjL3RhZy5jCisKK1BhdGNoIDYuMi4yNTQKK1Byb2JsZW06ICAgIE1heSBydW4gb3V0IG9mIHNwYWNlIGZvciBlcnJvciBtZXNzYWdlcy4KK1NvbHV0aW9uOiAgIEtlZXAgcm9vbSBmb3IgdHdvIG1vcmUgYnl0ZXMuCitGaWxlczoJICAgIHNyYy9xdWlja2ZpeC5jCisKK1BhdGNoIDYuMi4yNTUKK1Byb2JsZW06ICAgIEdUSzogQSBuZXcgaXRlbSBpbiB0aGUgcG9wdXAgbWVudSBpcyBwdXQganVzdCBhZnRlciBpbnN0ZWFkIG9mCisJICAgIGp1c3QgYmVmb3JlIHRoZSByaWdodCBpdGVtLiAoR2FicmllbCBaYWNobWFubikKK1NvbHV0aW9uOiAgIERvbid0IGluY3JlbWVudCB0aGUgbWVudSBpdGVtIGluZGV4LgorRmlsZXM6CSAgICBzcmMvZ3VpX2d0ay5jCisKK1BhdGNoIDYuMi4yNTYKK1Byb2JsZW06ICAgIE1hYzogIm1hY3JvbWFuIiBlbmNvZGluZyBpc24ndCByZWNvZ25pemVkLCBuZWVkIHRvIHVzZQorCSAgICAiOGJpdC1tYWNyb21hbi4KK1NvbHV0aW9uOiAgIFJlY29nbml6ZSAibWFjcm9tYW4iIHdpdGggYW4gYWxpYXMgIm1hYyIuIChFY2tlaGFyZCBCZXJucykKK0ZpbGVzOgkgICAgc3JjL21ieXRlLmMKKworUGF0Y2ggNi4yLjI1NyAoYWZ0ZXIgNi4yLjI1MCkKK1Byb2JsZW06ICAgIFNpZ25zIGFyZSBkZWxldGVkIGZvciAiOmJkZWwiLCBidXQgdGhleSBjb3VsZCBzdGlsbCBiZSB1c2VmdWwuCitTb2x1dGlvbjogICBEZWxldGUgc2lnbnMgb25seSBmb3IgIjpid2lwZSIuCitGaWxlczoJICAgIHNyYy9idWZmZXIuYworCitQYXRjaCA2LjIuMjU4CitQcm9ibGVtOiAgICBHVUk6IGNhbid0IGRpc2FibGUgKGdyZXktb3V0KSBhIHBvcHVwIG1lbnUgaXRlbS4gIChBaml0IFRoYWtrYXIpCitTb2x1dGlvbjogICBMb29wIG92ZXIgdGhlIHBvcHVwIG1lbnVzIGZvciBhbGwgbW9kZXMuCitGaWxlczoJICAgIHNyYy9tZW51LmMKKworUGF0Y2ggNi4yLjI1OQorUHJvYmxlbTogICAgSWYgdGhlcmUgYXJlIG1lc3NhZ2VzIHdoZW4gZXhpdGluZywgb24gdGhlIGNvbnNvbGUgdGhlcmUgaXMgYQorCSAgICBoaXQtZW50ZXIgcHJvbXB0IHdoaWxlIHRoZSBtZXNzYWdlIGNhbiBiZSByZWFkOyBpbiB0aGUgR1VJIHRoZQorCSAgICBtZXNzYWdlIG1heSBub3QgYmUgdmlzaWJsZS4KK1NvbHV0aW9uOiAgIFVzZSB0aGUgaGl0LWVudGVyIHByb21wdCB3aGVuIHRoZXJlIGlzIGFuIGVycm9yIG1lc3NhZ2UgZnJvbQorCSAgICB3cml0aW5nIHRoZSB2aW1pbmZvIGZpbGUgb3IgYXV0b2NvbW1hbmRzLCBvciB3aGVuIHRoZXJlIGlzIGFueQorCSAgICBvdXRwdXQgaW4gdGhlIEdVSSBhbmQgJ3ZlcmJvc2UnIGlzIHNldC4gIERvbid0IHVzZSBhIGhpdC1lbnRlcgorCSAgICBwcm9tcHQgZm9yIHRoZSBub24tR1VJIHZlcnNpb24gdW5sZXNzIHRoZXJlIGlzIGFuIGVycm9yIG1lc3NhZ2UuCitGaWxlczoJICAgIHNyYy9tYWluLmMKKworUGF0Y2ggNi4yLjI2MAorUHJvYmxlbTogICAgR1RLIDI6IENhbid0IHF1aXQgYSBkaWFsb2cgd2l0aCA8RXNjPi4KKwkgICAgR1RLIDEgYW5kIDI6IDxFbnRlcj4gYWx3YXlzIGdpdmVzIGEgcmVzdWx0LCBldmVuIHdoZW4gdGhlIGRlZmF1bHQKKwkgICAgYnV0dG9uIGhhcyBiZWVuIGRpc2FibGVkLgorU29sdXRpb246ICAgSGFuZGxlIHRoZXNlIGtleXMgZXhwbGljaXRseS4gIFdoZW4gbm8gZGVmYXVsdCBidXR0b24gaXMgc3BlY2lmaWVkCisJICAgIHVzZSB0aGUgZmlyc3Qgb25lICh3b3JrcyBtb3N0bHkgbGlrZSBpdCB3YXMgYmVmb3JlKS4KK0ZpbGVzOgkgICAgc3JjL2d1aV9ndGsuYworCitQYXRjaCA2LjIuMjYxCitQcm9ibGVtOiAgICBXaGVuICdhdXRvaW5kZW50JyBhbmQgJ2NpbmRlbnQnIGFyZSBzZXQgYW5kIGEgbGluZSBpcyByZWNvZ25pemVkCisJICAgIGFzIGEgY29tbWVudCwgc3RhcnRpbmcgYSBuZXcgbGluZSB3b24ndCBkbyAnY2luZGVudCcgZm9ybWF0dGluZy4KK1NvbHV0aW9uOiAgIEFsc28gdXNlICdjaW5kZW50JyBmb3JtYXR0aW5nIGZvciBsaW5lcyB0aGF0IGFyZSB1c2VkIGFzIGEKKwkgICAgY29tbWVudC4gKFNlcnZhdGl1cyBCcmFuZHQpCitGaWxlczoJICAgIHNyYy9taXNjMS5jCisKK1BhdGNoIDYuMi4yNjIKK1Byb2JsZW06ICAgIDEgQ1RSTC1XIHcgYmVlcHMsIGV2ZW4gdGhvdWdoIGdvaW5nIHRvIHRoZSBmaXJzdCB3aW5kb3cgaXMKKwkgICAgcG9zc2libGUuIChDaGFybGVzIENhbXBiZWxsKQorU29sdXRpb246ICAgRG9uJ3QgYmVlcC4KK0ZpbGVzOgkgICAgc3JjL3dpbmRvdy5jCisKK1BhdGNoIDYuMi4yNjMKK1Byb2JsZW06ICAgIExpbnQgd2FybmluZ3M6IER1cGxpY2F0ZSBmdW5jdGlvbiBwcm90b3R5cGVzLCBkdXBsaWNhdGUgbWFjcm9zLAorCSAgICB1c2Ugb2YgYSB6ZXJvIGNoYXJhY3RlciBpbnN0ZWFkIG9mIGEgemVybyBwb2ludGVyLCB1bnVzZWQKKwkgICAgdmFyaWFibGUuICBDbGVhcmluZyBhbGxvY2F0ZWQgbWVtb3J5IGluIGEgY29tcGxpY2F0ZWQgd2F5LgorU29sdXRpb246ICAgUmVtb3ZlIHRoZSBmdW5jdGlvbiBwcm90b3R5cGVzIGZyb20gZmFyc2kuaC4gIFJlbW92ZSB0aGUKKwkgICAgZHVwbGljYXRlZCBsaW5lcyBpbiBrZXltYXAuaC4gIENoYW5nZSBnZXR2Y29sKCkgYXJndW1lbnQgZnJvbSBOVUwKKwkgICAgdG8gTlVMTC4gIFJlbW92ZSB0aGUgImNvbCIgdmFyaWFibGUgaW4gcmVnbWF0Y2goKS4gIFVzZQorCSAgICBsYWxsb2NfY2xlYXIoKSBpbnN0ZWFkIG9mIGxhbGxvYygpLiAoV2FsdGVyIEJyaXNjb2UpCitGaWxlczoJICAgIHNyYy9mYXJzaS5oLCBzcmMva2V5bWFwLmgsIHNyYy9vcHMuYywgc3JjL3JlZ2V4cC5jLCBzcmMvc2VhcmNoLmMKKworUGF0Y2ggNi4yLjI2NCAoYWZ0ZXIgNi4yLjI0NykKK1Byb2JsZW06ICAgIFdyaXRpbmcgcGFzdCBhbGxvY2F0ZWQgbWVtb3J5IHdoZW4gdXNpbmcgYSBjb21tYW5kIGxpbmUgZnJvbSB0aGUKKwkgICAgdmltaW5mbyBmaWxlLgorU29sdXRpb246ICAgU3RvcmUgdGhlIE5VTCBpbiB0aGUgcmlnaHQgcGxhY2UuCitGaWxlczoJICAgIHNyYy9leF9nZXRsbi5jCisKK1BhdGNoIDYuMi4yNjUKK1Byb2JsZW06ICAgIEFsdGhvdWdoICI6c2V0IiBpcyBub3QgYWxsb3dlZCBpbiB0aGUgc2FuZGJveCwgIjpsZXQgJm9wdCA9IHZhbCIKKwkgICAgd29ya3MuCitTb2x1dGlvbjogICBEbyBhbGxvdyBjaGFuZ2luZyBvcHRpb25zIGluIHRoZSBzYW5kYm94LCBidXQgbm90IHRoZSBvbmVzIHRoYXQKKwkgICAgY2FuJ3QgYmUgY2hhbmdlZCBmcm9tIGEgbW9kZWxpbmUuCitGaWxlczoJICAgIHNyYy9leF9jbWRzLmgsIHNyYy9vcHRpb25zLmMKKworUGF0Y2ggNi4yLjI2NgorUHJvYmxlbTogICAgV2hlbiByZWRpcmVjdGluZyBvdXRwdXQgYW5kIHVzaW5nICI6c2lsZW50IiwgbGluZSBicmVha3MgYXJlCisJICAgIG1pc3NpbmcgZnJvbSBvdXRwdXQgb2YgIjptYXAiIGFuZCAiOnRzZWxlY3QiLiAgQWxpZ25tZW50IG9mCisJICAgIGNvbHVtbnMgaXMgd3JvbmcuCitTb2x1dGlvbjogICBJbnNlcnQgYSBsaW5lIGJyZWFrIHdoZXJlICJtc2dfZGlkb3V0IiB3YXMgdGVzdGVkLiAgVXBkYXRlIG1zZ19jb2wKKwkgICAgd2hlbiByZWRpcmVjdGluZyBhbmQgdXNpbmcgIjpzaWxlbnQiLgorRmlsZXM6CSAgICBzcmMvZ2V0Y2hhci5jLCBzcmMvbWVzc2FnZS5jCisKK1BhdGNoIDYuMi4yNjcgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6ICImJiIgaW4gYSB0ZWFyb2ZmIG1lbnUgaXMgbm90IHNob3duLiAoTHVjIEhlcm1pdHRlKQorU29sdXRpb246ICAgVXNlIHRoZSAibmFtZSIgaXRlbSBmcm9tIHRoZSBtZW51IGluc3RlYWQgb2YgdGhlICJkbmFtZSIgaXRlbS4KK0ZpbGVzOgkgICAgc3JjL2d1aV93MzIuYywgc3JjL21lbnUuYworCitQYXRjaCA2LjIuMjY4CitQcm9ibGVtOiAgICBHVUk6IFdoZW4gY2hhbmdpbmcgJ2d1aW9wdGlvbnMnIHBhcnQgb2YgdGhlIHdpbmRvdyBtYXkgYmUgb2ZmCisJICAgIHNjcmVlbi4gKFJhbmRhbGwgTW9ycmlzKQorU29sdXRpb246ICAgQWRqdXN0IHRoZSBzaXplIG9mIHRoZSB3aW5kb3cgd2hlbiBjaGFuZ2luZyAnZ3Vpb3B0aW9ucycsIGJ1dCBvbmx5CisJICAgIHdoZW4gYWRkaW5nIHNvbWV0aGluZy4KK0ZpbGVzOgkgICAgc3JjL2d1aS5jCisKK1BhdGNoIDYuMi4yNjkKK1Byb2JsZW06ICAgIERpZmYgbW9kZSBkb2VzIG5vdCBoaWdobGlnaHQgYSBjaGFuZ2UgaW4gYSBjb21iaW5pbmcgY2hhcmFjdGVyLgorCSAgICAoUmFwaGFlbCBGaW5rZWwpCitTb2x1dGlvbjogICBNYWtlIGRpZmZfZmluZF9jaGFuZ2UoKSBtdWx0aS1ieXRlIGF3YXJlOiBmaW5kIHRoZSBzdGFydCBieXRlIG9mCisJICAgIGEgY2hhcmFjdGVyIHRoYXQgY29udGFpbnMgYSBjaGFuZ2UuCitGaWxlczoJICAgIHNyYy9kaWZmLmMKKworUGF0Y2ggNi4yLjI3MAorUHJvYmxlbTogICAgQ29tcGxldGlvbiBpbiBJbnNlcnQgbW9kZSwgdGhlbiByZXBlYXRpbmcgd2l0aCAiLiIsIGRvZXNuJ3QgaGFuZGxlCisJICAgIGNvbXBvc2luZyBjaGFyYWN0ZXJzIGluIHRoZSBjb21wbGV0ZWQgdGV4dC4gKFJhcGhhZWwgRmlua2VsKQorU29sdXRpb246ICAgRG9uJ3Qgc2tpcCBvdmVyIGNvbXBvc2luZyBjaGFycyB3aGVuIGFkZGluZyBjb21wbGV0ZWQgdGV4dCB0byB0aGUKKwkgICAgcmVkbyBidWZmZXIuCitGaWxlczoJICAgIHNyYy9nZXRjaGFyLmMKKworUGF0Y2ggNi4yLjI3MQorUHJvYmxlbTogICAgTmV0QmVhbnM6IENhbid0IGRvICJ0YWlsIC1mIiBvbiB0aGUgbG9nLiAgUGFzc2luZyBzb2NrZXQgaW5mbyB3aXRoCisJICAgIGFuIGFyZ3VtZW50IG9yIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIG5vdCBzZWN1cmUuCitTb2x1dGlvbjogICBXYWl0IGFmdGVyIGluaXRpYWxpemluZyB0aGUgbG9nLiAgQWxsb3cgcGFzc2luZyB0aGUgc29ja2V0IGluZm8KKwkgICAgdGhyb3VnaCBhIGZpbGUuIChHb3Jkb24gUHJpZXVyKQorRmlsZXM6CSAgICBydW50aW1lL2RvYy9uZXRiZWFucy50eHQsIHNyYy9tYWluLmMsIHNyYy9uZXRiZWFucy5jCisKK1BhdGNoIDYuMi4yNzIKK1Byb2JsZW06ICAgIFdoZW4gdGhlICJwbyIgZGlyZWN0b3J5IGV4aXN0cywgYnV0ICJwby9NYWtlZmlsZSIgZG9lc24ndCwKKwkgICAgYnVpbGRpbmcgZmFpbHMuICBNYWtlIGxvb3BzIHdoZW4gdGhlICJwbyIgZGlyZWN0b3J5IGhhcyBiZWVuCisJICAgIGRlbGV0ZWQgYWZ0ZXIgcnVubmluZyBjb25maWd1cmUuCitTb2x1dGlvbjogICBDaGVjayBmb3IgdGhlICJwby9NYWtlZmlsZSIgaW5zdGVhZCBvZiBqdXN0IHRoZSAicG8iIGRpcmVjdG9yeS4KKwkgICAgQ2hlY2sgdGhpcyBhZ2FpbiBiZWZvcmUgdHJ5aW5nIHRvIHJ1biBtYWtlIHdpdGggdGhhdCBNYWtlZmlsZS4KK0ZpbGVzOgkgICAgc3JjL2F1dG8vY29uZmlndXJlLCBzcmMvY29uZmlndXJlLmluLCBzcmMvTWFrZWZpbGUKKworUGF0Y2ggNi4yLjI3MworUHJvYmxlbTogICAgQ2hhbmdpbmcgdGhlIHNvcnQgb3JkZXIgaW4gYW4gZXhwbG9yZXIgd2luZG93IGZvciBhbiBlbXB0eQorCSAgICBkaXJlY3RvcnkgcHJvZHVjZXMgZXJyb3IgbWVzc2FnZXMuIChEb3VnIEtlYXJucykKK1NvbHV0aW9uOiAgIFdoZW4gYW4gaW52YWxpZCByYW5nZSBpcyB1c2VkIGZvciBhIGZ1bmN0aW9uIHRoYXQgaXMgbm90IGdvaW5nIHRvCisJICAgIGJlIGV4ZWN1dGVkLCBza2lwIG92ZXIgdGhlIGFyZ3VtZW50cyBhbnl3YXkuCitGaWxlczoJICAgIHNyYy9ldmFsLmMKKworUGF0Y2ggNi4yLjI3NAorUHJvYmxlbTogICAgIjpwcmludCIgc2tpcHMgZW1wdHkgbGluZXMgd2hlbiAnbGlzdCcgaXMgc2V0IGFuZCB0aGVyZSBpcyBubworCSAgICAiZW9sIiBpbiAnbGlzdGNoYXJzJy4gKFlha292IExlcm5lcikKK1NvbHV0aW9uOiAgIFNraXAgb3V0cHV0dGluZyBhIHNwYWNlIGZvciBhbiBlbXB0eSBsaW5lIG9ubHkgd2hlbiAnbGlzdCcgaXMgc2V0CisJICAgIGFuZCB0aGUgZW5kLW9mLWxpbmUgY2hhcmFjdGVyIGlzIG5vdCBlbXB0eS4KK0ZpbGVzOgkgICAgc3JjL21lc3NhZ2UuYworCitQYXRjaCA2LjIuMjc1IChleHRyYSwgYWZ0ZXIgNi4yLjI2NykKK1Byb2JsZW06ICAgIFdhcm5pbmcgZm9yIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgd2hlbiB1c2luZyBnY2MuCitTb2x1dGlvbjogICBJbml0aWFsaXplICJhY0xlbiIgdG8gemVyby4gKEJpbGwgTWNDYXJ0aHkpCitGaWxlczoJICAgIHNyYy9ndWlfdzMyLmMKKworUGF0Y2ggNi4yLjI3NgorUHJvYmxlbTogICAgIjplY2hvIFgoKSIgZG9lcyBub3QgcHV0IGEgbGluZSBicmVhayBiZXR3ZWVuIHRoZSBtZXNzYWdlIHRoYXQgWCgpCisJICAgIGRpc3BsYXlzIGFuZCB0aGUgdGV4dCB0aGF0IFgoKSByZXR1cm5zLiAoWWFrb3YgTGVybmVyKQorU29sdXRpb246ICAgSW52b2tlIG1zZ19zdGFydCgpIGFmdGVyIGV2YWx1YXRpbmcgdGhlIGFyZ3VtZW50LgorRmlsZXM6CSAgICBzcmMvZXZhbC5jCisKK1BhdGNoIDYuMi4yNzcKK1Byb2JsZW06ICAgIFZpbSBjcmFzaGVzIHdoZW4gYSAiOnJ1bnRpbWUgZnRwbHVnaW4vYWRhLnZpbSIgY2F1c2VzIGEgcmVjdXJzaXZlCisJICAgIGxvb3AuIChSb2JlcnQgTm93b3RuaWFrKQorU29sdXRpb246ICAgUmVzdG9yZSAibXNnX2xpc3QiIGJlZm9yZSByZXR1cm5pbmcgZnJvbSBkb19jbWRsaW5lKCkuCitGaWxlczoJICAgIHNyYy9leF9kb2NtZC5jCisKK1BhdGNoIDYuMi4yNzgKK1Byb2JsZW06ICAgIFVzaW5nICJtdWNoIiBpbnN0ZWFkIG9mICJtYW55Ii4KK1NvbHV0aW9uOiAgIENvcnJlY3QgdGhlIGVycm9yIG1lc3NhZ2UuCitGaWxlczoJICAgIHNyYy9ldmFsLmMKKworUGF0Y2ggNi4yLjI3OQorUHJvYmxlbTogICAgVGhlcmUgaXMgbm8gZGVmYXVsdCBjaG9pY2UgZm9yIGEgY29uZmlybSgpIGRpYWxvZywgbm93IHRoYXQgaXQgaXMKKwkgICAgcG9zc2libGUgbm90IHRvIGhhdmUgYSBkZWZhdWx0IGNob2ljZS4KK1NvbHV0aW9uOiAgIE1ha2UgdGhlIGZpcnN0IGNob2ljZSB0aGUgZGVmYXVsdCBjaG9pY2UuCitGaWxlczoJICAgIHJ1bnRpbWUvZG9jL2V2YWwudHh0LCBzcmMvZXZhbC5jCisKK1BhdGNoIDYuMi4yODAKK1Byb2JsZW06ICAgICJkbyIgYW5kICI6ZGlmZmdldCIgZG9uJ3Qgd29yayBpbiB0aGUgZmlyc3QgbGluZSBhbmQgdGhlIGxhc3QgbGluZQorCSAgICBvZiBhIGJ1ZmZlci4gKEFyb24gR3JpZmZpcykKK1NvbHV0aW9uOiAgIEZpbmQgYSBkaWZmZXJlbmNlIGFib3ZlIHRoZSBmaXJzdCBsaW5lIGFuZCBiZWxvdyB0aGUgbGFzdCBsaW5lLgorCSAgICBBbHNvIGZpeCBhIGZldyBkaXNwbGF5IHVwZGF0aW5nIGJ1Z3MuCitGaWxlczoJICAgIHNyYy9kaWZmLmMsIHNyYy9mb2xkLmMsIHNyYy9tb3ZlLmMKKworUGF0Y2ggNi4yLjI4MQorUHJvYmxlbTogICAgUG9zdFNjcmlwdCBwcmludGluZyBkb2Vzbid0IHdvcmsgb24gTWFjIE9TIFggMTAuMy4yLgorU29sdXRpb246ICAgQWRqdXN0IHRoZSBoZWFkZXIgZmlsZS4gKE1pa2UgV2lsbGlhbXMpCitGaWxlczoJICAgIHJ1bnRpbWUvcHJpbnQvcHJvbG9nLnBzCisKK1BhdGNoIDYuMi4yODIKK1Byb2JsZW06ICAgIFdoZW4gdXNpbmcgQ1RSTC1PIHRvIGdvIGJhY2sgdG8gYSBoZWxwIGZpbGUsIGl0IGJlY29tZXMgbGlzdGVkLgorCSAgICAoQW5kcmV3IE5lc2JpdCkKKwkgICAgVXNpbmcgIjp0YWciIG9yICI6dGp1bXAiIGluIGEgaGVscCBmaWxlIGRvZXNuJ3Qga2VlcCB0aGUgaGVscCBmaWxlCisJICAgIHNldHRpbmdzIChlLmcuIGZvciAnaXNrZXl3b3JkJykuCitTb2x1dGlvbjogICBEb24ndCBtYXJrIGEgYnVmZmVyIGFzIGxpc3RlZCB3aGVuIGl0cyBoZWxwIGZsYWcgaXMgc2V0LiAgUHV0IGFsbAorCSAgICB0aGUgb3B0aW9uIHNldHRpbmdzIGZvciBhIGhlbHAgYnVmZmVyIHRvZ2V0aGVyIGluIGRvX2VjbWQoKS4KK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMuYworCitQYXRjaCA2LjIuMjgzCitQcm9ibGVtOiAgICBUaGUgImxvY2FsIGFkZGl0aW9ucyIgaW4gaGVscC50eHQgYXJlIHVzZWQgd2l0aG91dCBjb252ZXJzaW9uLAorCSAgICBjYXVzaW5nIGxhdGluMSBjaGFyYWN0ZXJzIHNob3dpbmcgdXAgd3Jvbmcgd2hlbiAnZW5jJyBpcyB1dGYtOC4KKwkgICAgKEFudG9pbmUgSi4gTWVjaGVseW5jaykKK1NvbHV0aW9uOiAgIENvbnZlcnQgdGhlIHRleHQgdG8gJ2VuY29kaW5nJy4KK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMuYworCitQYXRjaCA2LjIuMjg0CitQcm9ibGVtOiAgICBMaXN0aW5nIGEgZnVuY3Rpb24gcHV0cyAiZW5kZnVuY3Rpb24iIGluIHRoZSBtZXNzYWdlIGhpc3RvcnkuCisJICAgIFR5cGluZyAicSIgYXQgdGhlIG1vcmUgcHJvbXB0IGlzbid0IGhhbmRsZWQgY29ycmVjdGx5IHdoZW4gbGlzdGluZworCSAgICB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucy4gIChIYXJhIEtyaXNobmEgRGFyYSkKK1NvbHV0aW9uOiAgIERvbid0IHVzZSBtc2coKSBmb3IgImVuZGZ1bmN0aW9uIi4gIENoZWNrICJnb3RfaW50IiByZWd1bGFybHkuCitGaWxlczoJICAgIHNyYy9ldmFsLmMKKworUGF0Y2ggNi4yLjI4NQorUHJvYmxlbTogICAgR1VJOiBJbiBhIHNpbmdsZSB3cmFwcGVkIGxpbmUgdGhhdCBmaWxscyB0aGUgd2luZG93LCAiZ2oiIGluIHRoZQorCSAgICBsYXN0IHNjcmVlbiBsaW5lIGxlYXZlcyB0aGUgY3Vyc29yIGJlaGluZC4gKEl2YW4gVGFyYXNvdikKK1NvbHV0aW9uOiAgIFVuZHJhdyB0aGUgY3Vyc29yIGJlZm9yZSBzY3JvbGxpbmcgdGhlIHRleHQgdXAuCitGaWxlczoJICAgIHNyYy9ndWkuYworCitQYXRjaCA2LjIuMjg2CitQcm9ibGVtOiAgICBXaGVuIHRyeWluZyB0byByZW5hbWUgYSBmaWxlIGFuZCBpdCBkb2Vzbid0IGV4aXN0LCB0aGUgZGVzdGluYXRpb24KKwkgICAgZmlsZSBpcyBkZWxldGVkIGFueXdheS4gKEx1YyBEZXV4KQorU29sdXRpb246ICAgRG9uJ3QgZGVsZXRlIHRoZSBkZXN0aW5hdGlvbiB3aGVuIHRoZSBzb3VyY2UgZG9lc24ndCBleGlzdC4gKFRhcm8KKwkgICAgTXVyYW9rYSkKK0ZpbGVzOgkgICAgc3JjL2ZpbGVpby5jCisKK1BhdGNoIDYuMi4yODcgKGFmdGVyIDYuMi4yNjQpCitQcm9ibGVtOiAgICBEdXBsaWNhdGUgbGluZXMgYXJlIGFkZGVkIHRvIHRoZSB2aW1pbmZvIGZpbGUuCitTb2x1dGlvbjogICBDb21wYXJlIHdpdGggZXhpc3RpbmcgZW50cmllcyB3aXRob3V0IGFuIG9mZnNldC4gIEFsc28gZml4ZXMKKwkgICAgcmVhZGluZyB2ZXJ5IGxvbmcgaGlzdG9yeSBsaW5lcyBmcm9tIHZpbWluZm8uCitGaWxlczoJICAgIHNyYy9leF9nZXRsbi5jCisKK1BhdGNoIDYuMi4yODggKGV4dHJhKQorUHJvYmxlbTogICAgTWFjOiBBbiBleHRlcm5hbCBwcm9ncmFtIGNhbid0IGJlIGludGVycnVwdGVkLgorU29sdXRpb246ICAgRG9uJ3QgdXNlIHRoZSAnYycga2V5IGZvciBiYWNrc3BhY2UuIChFY2tlaGFyZCBCZXJucykKK0ZpbGVzOgkgICAgc3JjL2d1aV9tYWMuYworCitQYXRjaCA2LjIuMjg5CitQcm9ibGVtOiAgICBDb21waWxpbmcgdGhlIFRjbCBpbnRlcmZhY2Ugd2l0aCB0aHJlYWQgc3VwcG9ydCBjYXVzZXMgIjptYWtlIiB0bworCSAgICBmYWlsLiAgKEp1ZXJnZW4gU2FsaykKK1NvbHV0aW9uOiAgIFVzZSAkVENMX0RFRlMgZnJvbSB0aGUgVGNsIGNvbmZpZyBzY3JpcHQgdG8gb2J0YWluIHRoZSByZXF1aXJlZAorCSAgICBjb21waWxlIGZsYWdzIGZvciB1c2luZyB0aGUgdGhyZWFkIGxpYnJhcnkuCitGaWxlczoJICAgIHNyYy9hdXRvL2NvbmZpZ3VyZSwgc3JjL2NvbmZpZ3VyZS5pbgorCitQYXRjaCA2LjIuMjkwIChleHRyYSkKK1Byb2JsZW06ICAgIE1hYzogVGhlIG1vdXNld2hlZWwgZG9lc24ndCB3b3JrLgorU29sdXRpb246ICAgQWRkIG1vdXNld2hlZWwgc3VwcG9ydC4gIEFsc28gZml4IHVwZGF0aW5nIHRoZSB0aHVtYiBhZnRlciBhIGRyYWcKKwkgICAgYW5kIHRoZW4gdXNpbmcgYW5vdGhlciB3YXkgdG8gc2Nyb2xsLiAgKEVja2VoYXJkIEJlcm5zKQorRmlsZXM6CSAgICBzcmMvZ3VpX21hYy5jCisKK1BhdGNoIDYuMi4yOTEgKGV4dHJhKQorUHJvYmxlbTogICAgTWFjOiB0aGUgcGx1cyBidXR0b24gYW5kIGNsb3NlIGJ1dHRvbiBkb24ndCBkbyBhbnl0aGluZy4KK1NvbHV0aW9uOiAgIE1ha2UgdGhlIHBsdXMgYnV0dG9uIG1heGltaXplIHRoZSB3aW5kb3cgYW5kIHRoZSBjbG9zZSBidXR0b24KKwkgICAgY2xvc2UgVmltLiAoRWNrZWhhcmQgQmVybnMpCitGaWxlczoJICAgIHNyYy9ndWkuYywgc3JjL2d1aV9tYWMuYworCitQYXRjaCA2LjIuMjkyCitQcm9ibGVtOiAgICBNb3RpZjogV2hlbiByZW1vdmluZyBHVUkgYXJndW1lbnRzIGZyb20gYXJndltdIGEgInBzIC1lZiIgc2hvd3MKKwkgICAgdGhlIGxhc3QgYXJndW1lbnQgcmVwZWF0ZWQuCitTb2x1dGlvbjogICBTZXQgYXJndlthcmdjXSB0byBOVUxMLiAoTWljaGFlbCBKYXJ2aXMpCitGaWxlczoJICAgIHNyYy9ndWlfeDExLmMKKworUGF0Y2ggNi4yLjI5MyAoYWZ0ZXIgNi4yLjI1NSkKK1Byb2JsZW06ICAgIEdUSzogQSBuZXcgaXRlbSBpbiBhIG1lbnUgaXMgcHV0IGJlZm9yZSB0aGUgdGVhcm9mZiBpdGVtLgorU29sdXRpb246ICAgRG8gaW5jcmVtZW50IHRoZSBtZW51IGl0ZW0gaW5kZXggZm9yIG5vbi1wb3B1cCBtZW51IGl0ZW1zLgorRmlsZXM6CSAgICBzcmMvZ3VpX2d0ay5jCisKK1BhdGNoIDYuMi4yOTQgKGV4dHJhKQorUHJvYmxlbTogICAgTWFjOiBDYW5ub3QgdXNlIG1vZGlmaWVycyB3aXRoIFNwYWNlLCBUYWIsIEVudGVyIGFuZCBFc2NhcGUuCitTb2x1dGlvbjogICBIYW5kbGUgYWxsIG1vZGlmaWVycyBmb3IgdGhlc2Uga2V5cy4gIChFY2tlaGFyZCBCZXJucykKK0ZpbGVzOgkgICAgc3JjL2d1aV9tYWMuYworCitQYXRjaCA2LjIuMjk1CitQcm9ibGVtOiAgICBXaGVuIGluIGRlYnVnIG1vZGUsIHJlY2VpdmluZyBhIG1lc3NhZ2UgZnJvbSBhIHJlbW90ZSBjbGllbnQKKwkgICAgY2F1c2VzIGEgY3Jhc2guICBFdmFsdWF0aW5nIGFuIGV4cHJlc3Npb24gY2F1c2VzIFZpbSB0byB3YWl0IGZvcgorCSAgICAiY29udCIgdG8gYmUgdHlwZWQsIHdpdGhvdXQgYSBwcm9tcHQuICAoSGFyaSBLcmlzaG5hIERhcmEpCitTb2x1dGlvbjogICBEaXNhYmxlIGRlYnVnZ2luZyB3aGVuIGV2YWx1YXRpbmcgYW4gZXhwcmVzc2lvbiBmb3IgYSBjbGllbnQuCisJICAgIChNaWNoYWVsIEdlZGRlcykgIERvbid0IHRyeSByZWFkaW5nIGludG8gdGhlIHR5cGVoZWFkIGJ1ZmZlciB3aGVuCisJICAgIGl0IG1heSBoYXZlIGJlZW4gZmlsbGVkIGluIGFub3RoZXIgd2F5LgorRmlsZXM6CSAgICBzcmMvZXhfZ2V0bG4uYywgc3JjL2dldGNoYXIuYywgc3JjL2lmX3hjbWRzcnYuYywgc3JjL21haW4uYywKKwkgICAgc3JjL21pc2MxLmMsIHNyYy9wcm90by9nZXRjaGFyLnBybywgc3JjL3Byb3RvL21haW4ucHJvLAorCSAgICBzcmMvcHJvdG8vb3NfdW5peC5wcm8sIHNyYy9wcm90by91aS5wcm8sIHNyYy9zdHJ1Y3RzLmgsCisJICAgIHNyYy9vc191bml4LmMsIHNyYy91aS5jCisKK1BhdGNoIDYuMi4yOTYgKGV4dHJhKQorUHJvYmxlbTogICAgU2FtZSBhcyA2LjIuMjk1LgorU29sdXRpb246ICAgRXh0cmEgZmlsZXMgZm9yIHBhdGNoIDYuMi4yOTUuCitGaWxlczoJICAgIHNyYy9vc19hbWlnYS5jLCBzcmMvb3NfbXNkb3MuYywgc3JjL29zX3Jpc2Nvcy5jLCBzcmMvb3Nfd2luMzIuYywKKwkgICAgc3JjL3Byb3RvL29zX2FtaWdhLnBybywgc3JjL3Byb3RvL29zX21zZG9zLnBybywKKwkgICAgc3JjL3Byb3RvL29zX3Jpc2Nvcy5wcm8sIHNyYy9wcm90by9vc193aW4zMi5wcm8KKworUGF0Y2ggNi4yLjI5NyAoYWZ0ZXIgNi4yLjIzMikKK1Byb2JsZW06ICAgIENhbm5vdCBpbnZva2UgUHl0aG9uIGNvbW1hbmRzIHJlY3Vyc2l2ZWx5LgorU29sdXRpb246ICAgV2l0aCBQeXRob24gMi4zIGFuZCBsYXRlciB1c2UgdGhlIGF2YWlsYWJsZSBtZWNoYW5pc21zIHRvIGludm9rZQorCSAgICBQeXRob24gcmVjdXJzaXZlbHkuIChNYXR0aGV3IE11ZWxsZXIpCitGaWxlczoJICAgIHNyYy9pZl9weXRob24uYworCitQYXRjaCA2LjIuMjk4CitQcm9ibGVtOiAgICBBIGNoYW5nZSBhbHdheXMgc2V0cyB0aGUgJy4gbWFyayBhbmQgYW4gaW5zZXJ0IGFsd2F5cyBzZXRzIHRoZSAnXgorCSAgICBtYXJrLCBldmVuIHdoZW4gdGhpcyBpcyBub3Qgd2FudGVkLgorCSAgICBDYW5ub3QgZ28gYmFjayB0byB0aGUgcG9zaXRpb24gb2Ygb2xkZXIgY2hhbmdlcyB3aXRob3V0IHVuZG9pbmcKKwkgICAgdGhvc2UgY2hhbmdlcy4KK1NvbHV0aW9uOiAgIEFkZCB0aGUgIjprZWVwanVtcHMiIGNvbW1hbmQgbW9kaWZpZXIuCisJICAgIEFkZCB0aGUgImcsIiBhbmQgImc7IiBjb21tYW5kcy4KK0ZpbGVzOgkgICAgcnVudGltZS9kb2MvbW90aW9uLnR4dCwgc3JjL2V4X2NtZHMuaCwgc3JjL2V4X2RvY21kLmMsIHNyYy9lZGl0LmMsCisJICAgIHNyYy9tYXJrLmMsIHNyYy9taXNjMS5jLCBzcmMvbm9ybWFsLmMsIHNyYy9wcm90by9tYXJrLnBybywKKwkgICAgc3JjL3N0cnVjdHMuaCwgc3JjL3VuZG8uYworCitQYXRjaCA2LjIuMjk5CitQcm9ibGVtOiAgICBDYW4gb25seSB1c2Ugb25lIGxhbmd1YWdlIGZvciBoZWxwIGZpbGVzLgorU29sdXRpb246ICAgQWRkIHRoZSAnaGVscGxhbmcnIG9wdGlvbiB0byBzZWxlY3QgdGhlIHByZWZlcnJlZCBsYW5ndWFnZShzKS4KKwkgICAgTWFrZSAiOmhlbHB0YWdzIiBnZW5lcmF0ZSB0YWdzIGZpbGVzIGZvciBhbGwgbGFuZ3VhZ2VzLgorRmlsZXM6CSAgICBydW50aW1lL2RvYy9vcHRpb25zLnR4dCwgcnVudGltZS9kb2MvdmFyaW91cy50eHQsIHNyYy9NYWtlZmlsZSwKKwkgICAgc3JjL2V4X2NtZHMuYywgc3JjL2V4X2NtZHMyLmMsIHNyYy9leF9jbWRzLmgsIHNyYy9leF9nZXRsbi5jLAorCSAgICBzcmMvbm9ybWFsLmMsIHNyYy9vcHRpb24uYywgc3JjL29wdGlvbi5oLCBzcmMvcHJvdG8vZXhfY21kcy5wcm8sCisJICAgIHNyYy9wcm90by9leF9jbWRzMi5wcm8sIHNyYy9wcm90by9vcHRpb24ucHJvLCBzcmMvc3RydWN0cy5oLAorCSAgICBzcmMvdGFnLmMsIHNyYy92aW0uaAorCitQYXRjaCA2LjIuMzAwIChhZnRlciA2LjIuMjk3KQorUHJvYmxlbTogICAgQ2Fubm90IGJ1aWxkIFB5dGhvbiBpbnRlcmZhY2Ugd2l0aCBQeXRob24gMi4yIG9yIGVhcmxpZXIuCitTb2x1dGlvbjogICBBZGQgYSBzZW1pY29sb24uCitGaWxlczoJICAgIHNyYy9pZl9weXRob24uYworCitQYXRjaCA2LjIuMzAxCitQcm9ibGVtOiAgICBUaGUgInNlbGVjdCBhbGwiIGl0ZW0gZnJvbSB0aGUgcG9wdXAgbWVudSBkb2Vzbid0IHdvcmsgZm9yIFNlbGVjdAorCSAgICBtb2RlLgorU29sdXRpb246ICAgVXNlIHRoZSBzYW1lIGNvbW1hbmRzIGFzIGZvciB0aGUgIkVkaXQuc2VsZWN0IGFsbCIgbWVudS4KKwkgICAgKEJlbmppIEZpc2hlcikKK0ZpbGVzOgkgICAgcnVudGltZS9tZW51LnZpbQorCitQYXRjaCA2LjIuMzAyCitQcm9ibGVtOiAgICBVc2luZyAiQ1RSTC1PIC4iIGluIEluc2VydCBtb2RlIGRvZXNuJ3Qgd29yayBwcm9wZXJseS4gKEJlbmppCisJICAgIEZpc2hlcikKK1NvbHV0aW9uOiAgIFJlc3RvcmUgInJlc3RhcnRfZWRpdCIgYWZ0ZXIgYW4gaW5zZXJ0IGNvbW1hbmQgdGhhdCB3YXMgbm90IHR5cGVkLgorCSAgICBBdm9pZCB3YWl0aW5nIHdpdGggZGlzcGxheWluZyB0aGUgbW9kZSB3aGVuIHRoZXJlIGlzIG5vIHRleHQgdG8gYmUKKwkgICAgb3ZlcndyaXR0ZW4uCisJICAgIEZpeCB0aGF0ICJDVFJMLU8gLiIgc29tZXRpbWVzIGRvZXNuJ3QgcHV0IHRoZSBjdXJzb3IgYmFjayBhZnRlcgorCSAgICB0aGUgZW5kLW9mLWxpbmUuICBPbmx5IHJlc2V0IHRoZSBmbGFnIHRoYXQgQ1RSTC1PIHdhcyB1c2VkIHBhc3QKKwkgICAgdGhlIGVuZCBvZiB0aGUgbGluZSB3aGVuIHJlc3RhcnRpbmcgZWRpdGluZy4gIFVwZGF0ZSAib19sbnVtIgorCSAgICBudW1iZXIgd2hlbiBpbnNlcnRpbmcgdGV4dCBhbmQgIm9fZW9sIiBpcyBzZXQuCitGaWxlczoJICAgIHNyYy9lZGl0LmMsIHNyYy9ub3JtYWwuYworCitQYXRjaCA2LjIuMzAzCitQcm9ibGVtOiAgICBDYW5ub3QgdXNlIFVuaWNvZGUgZGlncmFwaHMgd2hpbGUgJ2VuY29kaW5nJyBpcyBub3QgVW5pY29kZS4KK1NvbHV0aW9uOiAgIENvbnZlcnQgdGhlIGNoYXJhY3RlciBmcm9tIFVuaWNvZGUgdG8gJ2VuY29kaW5nJyB3aGVuIG5lZWRlZC4KKwkgICAgVXNlIHRoZSBVbmljb2RlIGRpZ3JhcGhzIGZvciB0aGUgTWFjaW50b3NoLiAoRWNrZWhhcmQgQmVybnMpCitGaWxlczoJICAgIHNyYy9kaWdyYXBoLmMKKworUGF0Y2ggNi4yLjMwNCAoZXh0cmEsIGFmdGVyIDYuMi4yNTYpCitQcm9ibGVtOiAgICBNYWM6IE5vIHByb3BlciBzdXBwb3J0IGZvciAnZW5jb2RpbmcnLiAgQ29udmVyc2lvbiB3aXRob3V0IGljb252KCkKKwkgICAgaXMgbm90IHBvc3NpYmxlLgorU29sdXRpb246ICAgQ29udmVydCBpbnB1dCBmcm9tICd0ZXJtZW5jb2RpbmcnIHRvICdlbmNvZGluZycuICBBZGQKKwkgICAgbWFjX3N0cmluZ19jb252ZXJ0KCkuICBDb252ZXJ0IHRleHQgZm9yIHRoZSBjbGlwYm9hcmQgd2hlbiBuZWVkZWQuCisJICAgIChFY2tlaGFyZCBCZXJucykKK0ZpbGVzOgkgICAgc3JjL2d1aV9tYWMuYywgc3JjL21ieXRlLmMsIHNyYy9zdHJ1Y3RzLmgsIHNyYy92aW0uaAorCitQYXRjaCA2LjIuMzA1IChhZnRlciA2LjIuMzAwKQorUHJvYmxlbTogICAgV2luMzI6IENhbm5vdCBidWlsZCBQeXRob24gaW50ZXJmYWNlIHdpdGggUHl0aG9uIDIuMy4gKEFqaXQKKwkgICAgVGhha2thcikKK1NvbHV0aW9uOiAgIEFkZCB0d28gZnVuY3Rpb25zIHRvIHRoZSBkeW5hbWljIGxvYWRpbmcgZmVhdHVyZS4KK0ZpbGVzOgkgICAgc3JjL2lmX3B5dGhvbi5jCisKK1BhdGNoIDYuMi4zMDYgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6IEJ1aWxkaW5nIGNvbnNvbGUgdmVyc2lvbiB3aXRoIEJDQyA1LjUgZ2l2ZXMgYSB3YXJuaW5nIGZvcgorCSAgICBnZXRfY21kX2FyZ3MoKSBwcm90b3R5cGUgbWlzc2luZy4gIChBaml0IFRoYWtrYXIpCitTb2x1dGlvbjogICBEb24ndCBidWlsZCBvc193MzJleGUuYyBmb3IgdGhlIGNvbnNvbGUgdmVyc2lvbi4KK0ZpbGVzOgkgICAgc3JjL01ha2VfYmM1Lm1haworCitQYXRjaCA2LjIuMzA3IChhZnRlciA2LjIuMjk5KQorUHJvYmxlbTogICAgSW5zdGFsbGluZyBoZWxwIGZpbGVzIGZhaWxzLgorU29sdXRpb246ICAgRXhwYW5kIHdpbGRjYXJkcyBmb3IgdHJhbnNsYXRlZCBoZWxwIGZpbGVzIHNlcGFyYXRlbHkuCitGaWxlczoJICAgIHNyYy9NYWtlZmlsZQorCitQYXRjaCA2LjIuMzA4CitQcm9ibGVtOiAgICBOb3QgYWxsIHN5c3RlbXMgaGF2ZSAid2hvYW1pIiwgcmVzdWx0aW5nIGluIGFuIGVtcHR5IHVzZXIgbmFtZS4KK1NvbHV0aW9uOiAgIFVzZSAibG9nbmFtZSIgd2hlbiBwb3NzaWJsZSwgIndob2FtaSIgb3RoZXJ3aXNlLiAgKERhdmlkIEJveWNlKQorRmlsZXM6CSAgICBzcmMvTWFrZWZpbGUKKworUGF0Y2ggNi4yLjMwOQorUHJvYmxlbTogICAgIjNncngiIHdhaXRzIGZvciB0d28gRVNDIHRvIGJlIHR5cGVkLiAgKEplbnMgUGF1bHVzKQorU29sdXRpb246ICAgQXBwZW5kIHRoZSBFU0MgdG8gdGhlIHN0dWZmIGJ1ZmZlciB3aGVuIHJlZG9pbmcgdGhlICJnciIgaW5zZXJ0LgorRmlsZXM6CSAgICBzcmMvZWRpdC5jCisKK1BhdGNoIDYuMi4zMTAKK1Byb2JsZW06ICAgIFdoZW4gc2V0dGluZyAndW5kb2xldmVscycgdG8gLTEsIG1ha2luZyBhIGNoYW5nZSBhbmQgc2V0dGluZworCSAgICAndW5kb2xldmVscycgdG8gYSBwb3NpdGl2ZSB2YWx1ZSBhbiAidW5kbyBsaXN0IGNvcnJ1cHQiIGVycm9yCisJICAgIG9jY3Vycy4gKE1hZG9rYSBNYWNoaXRhbmkpCitTb2x1dGlvbjogICBTeW5jIHVuZG8gYmVmb3JlIGNoYW5naW5nICd1bmRvbGV2ZWxzJy4KK0ZpbGVzOgkgICAgc3JjL29wdGlvbi5jCisKK1BhdGNoIDYuMi4zMTEgKGFmdGVyIDYuMi4yOTgpCitQcm9ibGVtOiAgICBXaGVuIG1ha2luZyBzZXZlcmFsIGNoYW5nZXMgaW4gb25lIGxpbmUgdGhlIGNoYW5nZWxpc3QgZ3Jvd3MKKwkgICAgcXVpY2tseS4gIFRoZXJlIGlzIG5vIGVycm9yIG1lc3NhZ2UgZm9yIHJlYWNoaW5nIHRoZSBlbmQgb2YgdGhlCisJICAgIGNoYW5nZWxpc3QuICBSZWFkaW5nIGNoYW5nZWxpc3QgbWFya3MgZnJvbSB2aW1pbmZvIGRvZXNuJ3Qgd29yaworCSAgICBwcm9wZXJseS4KK1NvbHV0aW9uOiAgIE9ubHkgbWFrZSBhIG5ldyBlbnRyeSBpbiB0aGUgY2hhbmdlbGlzdCB3aGVuIG1ha2luZyBhIGNoYW5nZSBpbgorCSAgICBhbm90aGVyIGxpbmUgb3IgJ3RleHR3aWR0aCcgY29sdW1ucyBhd2F5LiAgQWRkIEU2NjIsIEU2NjMgYW5kIEU2NjQKKwkgICAgZXJyb3IgbWVzc2FnZXMuICBQdXQgYSBjaGFuZ2VsaXN0IG1hcmsgZnJvbSB2aW1pbmZvIG9uZSBwb3NpdGlvbgorCSAgICBiZWZvcmUgdGhlIGVuZC4KK0ZpbGVzOgkgICAgcnVudGltZS9kb2MvbW90aW9uLnR4dCwgc3JjL21hcmsuYywgc3JjL21pc2MxLmMsIHNyYy9ub3JtYWwuYworCitQYXRjaCA2LjIuMzEyIChhZnRlciA2LjIuMjk5KQorUHJvYmxlbTogICAgIm1ha2UgaW5zdGFsbCIgY2xlYXJzIHRoZSBzY3JlZW4gd2hlbiBpbnN0YWxsaW5nIHRoZSBkb2NzLgorU29sdXRpb246ICAgRXhlY3V0ZSAiOmhlbHB0YWdzIiBpbiBzaWxlbnQgbW9kZS4KK0ZpbGVzOgkgICAgcnVudGltZS9kb2MvTWFrZWZpbGUKKworUGF0Y2ggNi4yLjMxMworUHJvYmxlbTogICAgV2hlbiBvcGVuaW5nIGZvbGRzIGluIGEgZGlmZiB3aW5kb3csIG90aGVyIGRpZmYgd2luZG93cyBubyBsb25nZXIKKwkgICAgc2hvdyB0aGUgc2FtZSB0ZXh0LgorU29sdXRpb246ICAgU3luYyB0aGUgZm9sZHMgaW4gZGlmZiB3aW5kb3dzLgorRmlsZXM6CSAgICBzcmMvZGlmZi5jLCBzcmMvZm9sZC5jLCBzcmMvbW92ZS5jLCBzcmMvcHJvdG8vZGlmZi5wcm8sCisJICAgIHNyYy9wcm90by9tb3ZlLnBybworCitQYXRjaCA2LjIuMzE0CitQcm9ibGVtOiAgICBXaGVuICd2aXJ0dWFsZWRpdCcgaXMgc2V0ICJyeCIgbWF5IGNhdXNlIGEgY3Jhc2ggd2l0aCBhIGJsb2Nrd2lzZQorCSAgICBzZWxlY3Rpb24gYW5kIHVzaW5nICIkIi4gKE1vcml0eiBPcmJhY2gpCitTb2x1dGlvbjogICBEb24ndCB0cnkgcmVwbGFjaW5nIGNoYXJzIGluIGEgbGluZSB0aGF0IGhhcyBubyBjaGFyYWN0ZXJzIGluIHRoZQorCSAgICBibG9jay4KK0ZpbGVzOgkgICAgc3JjL29wcy5jCisKK1BhdGNoIDYuMi4zMTUKK1Byb2JsZW06ICAgIFVzaW5nIENUUkwtQyBpbiBhIFZpc3VhbCBtb2RlIG1hcHBpbmcgd2hpbGUgJ2luc2VydG1vZGUnIGlzIHNldAorCSAgICBzdG9wcyBWaW0gZnJvbSByZXR1cm5pbmcgdG8gSW5zZXJ0IG1vZGUuCitTb2x1dGlvbjogICBEb24ndCByZXNldCAicmVzdGFydF9lZGl0IiB3aGVuIGEgQ1RSTC1DIGlzIGZvdW5kIGFuZCAnaW5zZXJ0bW9kZScKKwkgICAgaXMgc2V0LgorRmlsZXM6CSAgICBzcmMvbm9ybWFsLmMKKworUGF0Y2ggNi4yLjMxNiAoYWZ0ZXIgNi4yLjMxMikKK1Byb2JsZW06ICAgICJtYWtlIGluc3RhbGwiIHRyaWVzIGNvbm5lY3RpbmcgdG8gdGhlIFggc2VydmVyIHdoZW4gaW5zdGFsbGluZworCSAgICB0aGUgZG9jcy4gKFN0ZXBoZW4gVGhvbWFzKQorU29sdXRpb246ICAgQWRkIHRoZSAiLVgiIGFyZ3VtZW50LgorRmlsZXM6CSAgICBydW50aW1lL2RvYy9NYWtlZmlsZQorCitQYXRjaCA2LjIuMzE3IChhZnRlciA2LjIuMzEzKQorUHJvYmxlbTogICAgV2hlbiB1c2luZyAiemkiIGluIGEgZGlmZiB3aW5kb3csIG90aGVyIGRpZmYgd2luZG93cyBhcmUgbm90CisJICAgIGFkanVzdGVkLiAoUmljaGFyZCBDdXJub3cpCitTb2x1dGlvbjogICBEaXN0cmlidXRlIGEgY2hhbmdlIGluICdmb2xkZW5hYmxlJyB0byBvdGhlciBkaWZmIHdpbmRvd3MuCitGaWxlczoJICAgIHNyYy9ub3JtYWwuYworCitQYXRjaCA2LjIuMzE4CitQcm9ibGVtOiAgICBXaGVuIGNvbXBpbGluZyB3aXRoIF9USFJFQURfU0FGRSBleHRlcm5hbCBjb21tYW5kcyBkb24ndCBlY2hvCisJICAgIHR5cGVkIGNoYXJhY3RlcnMuCitTb2x1dGlvbjogICBEb24ndCBzZXQgdGhlIHRlcm1pbmFsIG1vZGUgdG8gVE1PREVfU0xFRVAgd2hlbiBpdCdzIGFscmVhZHkgYXQKKwkgICAgVE1PREVfQ09PSy4KK0ZpbGVzOgkgICAgc3JjL29zX3VuaXguYworCitQYXRjaCA2LjIuMzE5IChleHRyYSkKK1Byb2JsZW06ICAgIEJ1aWxkaW5nIGd2aW1leHQuZGxsIHdpdGggTWluZ3cgZG9lc24ndCB3b3JrIHByb3Blcmx5LgorU29sdXRpb246ICAgVXNlIGdjYyBpbnN0ZWFkIG9mIGRsbHdyYXAuICBVc2UgbG9uZyBvcHRpb24gbmFtZXMuIChBbGVqYW5kcm8KKwkgICAgTG9wZXotVmFsZW5jaWEpCitGaWxlczoJICAgIHNyYy9HdmltRXh0L01ha2VfbWluZy5tYWsKKworUGF0Y2ggNi4yLjMyMAorUHJvYmxlbTogICAgV2luMzI6IEFkZGluZyBhbmQgcmVtb3ZpbmcgdGhlIG1lbnViYXIgcmVzaXplcyB0aGUgVmltIHdpbmRvdy4KKwkgICAgKEpvbmF0aG9uIE1lcnopCitTb2x1dGlvbjogICBEb24ndCBsZXQgYSByZXNpemUgZXZlbnQgY2hhbmdlICdsaW5lcycgdW5leHBlY3RlZGx5LgorRmlsZXM6CSAgICBzcmMvZ3VpLmMKKworUGF0Y2ggNi4yLjMyMQorUHJvYmxlbTogICAgV2hlbiB1c2luZyBtb2RlbGVzcyBzZWxlY3Rpb24sIHdyYXBwaW5nIGxpbmVzIGFyZSBub3QgcmVjb2duaXplZCwKKwkgICAgYSBsaW5lIGJyZWFrIGlzIGFsd2F5cyBpbnNlcnRlZC4KK1NvbHV0aW9uOiAgIEFkZCBMaW5lV3JhcHNbXSB0byByZW1lbWJlciB3aGV0aGVyIGEgbGluZSB3cmFwcGVkIG9yIG5vdC4KK0ZpbGVzOgkgICAgc3JjL2dsb2JhbHMuaCwgc3JjL3NjcmVlbi5jLCBzcmMvdWkuYworCitQYXRjaCA2LjIuMzIyCitQcm9ibGVtOiAgICBXaXRoICdzaG93Y21kJyBzZXQsIGFmdGVyIHR5cGluZyAiZGQiIHRoZSBuZXh0ICJkIiBtYXkgbm90IGJlCisJICAgIGRpc3BsYXllZC4gKEplbnMgUGF1bHVzKQorU29sdXRpb246ICAgUmVkcmF3IHRoZSBjb21tYW5kIGxpbmUgYWZ0ZXIgdXBkYXRpbmcgdGhlIHNjcmVlbiwgc2Nyb2xsaW5nIG1heQorCSAgICBoYXZlIHNldCAiY2xlYXJfY21kbGluZSIuCitGaWxlczoJICAgIHNyYy9zY3JlZW4uYworCitQYXRjaCA2LjIuMzIzCitQcm9ibGVtOiAgICBXaW4zMjogZXhwYW5kaW5nICJ+L2ZpbGUiIGluIGFuIGF1dG9jb21tYW5kIHBhdHRlcm4gcmVzdWx0cyBpbgorCSAgICBiYWNrc2xhc2hlcywgd2hpbGUgdGhpcyBwYXR0ZXJuIHNob3VsZCBvbmx5IGhhdmUgZm9yd2FyZCBzbGFzaGVzLgorU29sdXRpb246ICAgTWFrZSBleHBhbmRpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzIHJlc3BlY3QgJ3NoZWxsc2xhc2gnIGFuZCBzZXQKKwkgICAgcF9zc2wgd2hlbiBleHBhbmRpbmcgdGhlIGF1dG9jb21tYW5kIHBhdHRlcm4uCitGaWxlczoJICAgIHNyYy9maWxlaW8uYywgc3JjL21pc2MxLmMsIHNyYy9wcm90by9maWxlaW8ucHJvCisKK1BhdGNoIDYuMi4zMjQgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6IHdoZW4gInZpbXJ1bi5leGUiIGhhcyBhIHBhdGggd2l0aCB3aGl0ZSBzcGFjZSwgc3VjaCBhcworCSAgICAiUHJvZ3JhbSBGaWxlcyIsIGV4ZWN1dGluZyBleHRlcm5hbCBjb21tYW5kcyBtYXkgZmFpbC4KK1NvbHV0aW9uOiAgIFB1dCBkb3VibGUgcXVvdGVzIGFyb3VuZCB0aGUgcGF0aCB0byAidmltcnVuIi4KK0ZpbGVzOgkgICAgc3JjL29zX3dpbjMyLmMKKworUGF0Y2ggNi4yLjMyNQorUHJvYmxlbTogICAgV2hlbiAkSE9NRSBpbmNsdWRlcyBhIHNwYWNlLCBkb2luZyAiOnNldCB0YWdzPX4vdGFncyIgZG9lc24ndAorCSAgICB3b3JrLCB0aGUgc3BhY2UgaXMgdXNlZCB0byBzZXBhcmF0ZSBmaWxlIG5hbWVzLiAgKEJyZXR0IFN0YWhsbWFuKQorU29sdXRpb246ICAgRXNjYXBlIHRoZSBzcGFjZSB3aXRoIGEgYmFja3NsYXNoLgorRmlsZXM6CSAgICBzcmMvb3B0aW9uLmMKKworUGF0Y2ggNi4yLjMyNgorUHJvYmxlbTogICAgIjp3aW5kbyBzZXQgc3ludGF4PWZvbyIgZG9lc24ndCB3b3JrLiAgKFRpbSBDaGFzZSkKK1NvbHV0aW9uOiAgIERvbid0IGNoYW5nZSAnZXZlbnRpZ25vcmUnIGZvciAiOndpbmRvIi4KK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMyLmMKKworUGF0Y2ggNi4yLjMyNworUHJvYmxlbTogICAgV2hlbiBmb3JtYXR0aW5nIHRleHQgYWxsIG1hcmtzIGluIHRoZSBmb3JtYXR0ZWQgbGluZXMgYXJlIGxvc3QuCisJICAgIEEgd29yZCBpcyBub3Qgam9pbmVkIHRvIGEgcHJldmlvdXMgbGluZSB3aGVuIHRoaXMgd291bGQgYmUKKwkgICAgcG9zc2libGUuICAoTWlrb2xhaiBNYWNob3dza2kpCitTb2x1dGlvbjogICBUcnkgdG8ga2VlcCBtYXJrcyBpbiB0aGUgc2FtZSBwb3NpdGlvbiBhcyBtdWNoIGFzIHBvc3NpYmxlLgorCSAgICBBbHNvIGtlZXAgbWFyayBwb3NpdGlvbnMgd2hlbiBqb2luaW5nIGxpbmVzLgorCSAgICBTdGFydCBhdXRvLWZvcm1hdHRpbmcgaW4gdGhlIHByZXZpb3VzIGxpbmUgd2hlbiBhcHByb3ByaWF0ZS4KKwkgICAgQWRkIHRoZSAiZ3ciIG9wZXJhdG9yOiBMaWtlICJncSIgYnV0IGtlZXAgdGhlIGN1cnNvciB3aGVyZSBpdCBpcy4KK0ZpbGVzOgkgICAgcnVudGltZS9kb2MvY2hhbmdlLnR4dCwgc3JjL2VkaXQuYywgc3JjL2dsb2JhbHMuaCwgc3JjL21hcmsuYywKKwkgICAgc3JjL21pc2MxLmMsIHNyYy9ub3JtYWwuYywgc3JjL29wcy5jLCBzcmMvcHJvdG8vZWRpdC5wcm8sCisJICAgIHNyYy9wcm90by9tYXJrLnBybywgc3JjL3Byb3RvL29wcy5wcm8sIHNyYy9zdHJ1Y3RzLmgsIHNyYy92aW0uaAorCitQYXRjaCA2LjIuMzI4CitQcm9ibGVtOiAgICBYSU0gd2l0aCBHVEs6IEl0IGlzIGhhcmQgdG8gdW5kZXJzdGFuZCB3aGF0IFhJTSBpcyBkb2luZy4KK1NvbHV0aW9uOiAgIEFkZCB4aW1fbG9nKCkgdG8gbG9nIFhJTSBldmVudHMgYW5kIGhlbHAgd2l0aCBkZWJ1Z2dpbmcuCitGaWxlczoJICAgIHNyYy9tYnl0ZS5jCisKK1BhdGNoIDYuMi4zMjkKK1Byb2JsZW06ICAgICI6PSIgZG9lcyBub3Qgd29yayBWaSBjb21wYXRpYmxlLiAoQW50b255IFNjcml2ZW4pCitTb2x1dGlvbjogICBQcmludCB0aGUgbGFzdCBsaW5lIG51bWJlciBpbnN0ZWFkIG9mIHRoZSBjdXJyZW50IGxpbmUuICBEb24ndAorCSAgICBwcmludCAibGluZSIuCitGaWxlczoJICAgIHNyYy9leF9jbWRzLmgsIHNyYy9leF9kb2NtZC5jCisKK1BhdGNoIDYuMi4zMzAgKGV4dHJhLCBhZnRlciA2LjIuMjY3KQorUHJvYmxlbTogICAgV2luMzI6IENyYXNoIHdoZW4gdGVhcmluZyBvZmYgYSBtZW51LgorU29sdXRpb246ICAgVGVybWluYXRlIGEgc3RyaW5nIHdpdGggYSBOVUwuIChZYXN1aGlybyBNYXRzdW1vdG8pCitGaWxlczoJICAgIHNyYy9ndWlfdzMyLmMKKworUGF0Y2ggNi4yLjMzMSAoYWZ0ZXIgNi4yLjMyNykKK1Byb2JsZW06ICAgICJnd2FwIiBsZWF2ZXMgY3Vyc29yIGluIHRoZSB3cm9uZyBsaW5lLgorU29sdXRpb246ICAgUmVtZW1iZXIgdGhlIGN1cnNvciBwb3NpdGlvbiBiZWZvcmUgZmluZGluZyB0aGUgZW5kcyBvZiB0aGUKKwkgICAgcGFyYWdyYXBoLgorRmlsZXM6CSAgICBzcmMvbm9ybWFsLmMsIHNyYy9vcHMuYywgc3JjL3N0cnVjdHMuaAorCitQYXRjaCA2LjIuMzMyIChleHRyYSkKK1Byb2JsZW06ICAgIEFtaWdhOiBDb21waWxlIGVycm9yIGZvciBzdHJpbmcgYXJyYXkuIENvbXBpbGluZyB0aGUgQW1pZ2EgR1VJCisJICAgIGRvZXNuJ3Qgd29yay4KK1NvbHV0aW9uOiAgIFVzZSBhIGNoYXIgcG9pbnRlciBpbnN0ZWFkLiAgTW92ZSBpbmNsdWRpbmcgImd1aV9hbWlnYS5oIiB0byBhZnRlcgorCSAgICBpbmNsdWRpbmcgInZpbS5oIi4gIEFkZCBhIHNlbWljb2xvbi4gKEFsaSBBa2NhYWdhYykKK0ZpbGVzOgkgICAgc3JjL2d1aV9hbWlnYS5jLCBzcmMvb3NfYW1pZ2EuYworCitQYXRjaCA2LjIuMzMzIChleHRyYSkKK1Byb2JsZW06ICAgIFdpbjMyOiBwcmludGluZyBkb2Vzbid0IHdvcmsgd2l0aCBzcGVjaWZpZWQgZm9udCBjaGFyc2V0LgorU29sdXRpb246ICAgVXNlIHRoZSBzcGVjaWZpZWQgZm9udCBjaGFyc2V0LiAoTWlrZSBXaWxsaWFtcykKK0ZpbGVzOgkgICAgc3JjL29zX21zd2luLmMKKworUGF0Y2ggNi4yLjMzNCAoZXh0cmEsIGFmdGVyIDYuMi4yOTYpCitQcm9ibGVtOiAgICBXaW4zMjogZXZhbHVhdGluZyBjbGllbnQgZXhwcmVzc2lvbiBpbiBkZWJ1ZyBtb2RlIHJlcXVpcmVzIHR5cGluZworCSAgICAiY29udCIuCitTb2x1dGlvbjogICBVc2UgZXZhbF9jbGllbnRfZXhwcl90b19zdHJpbmcoKS4KK0ZpbGVzOgkgICAgc3JjL29zX21zd2luLmMKKworUGF0Y2ggNi4yLjMzNQorUHJvYmxlbTogICAgVGhlICI6c2lnbiIgY29tbWFuZCBjYW5ub3QgYmUgZm9sbG93ZWQgYnkgYW5vdGhlciBjb21tYW5kLgorU29sdXRpb246ICAgQWRkIFRSTEJBUiB0byB0aGUgY29tbWFuZCBmbGFncy4KK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMuaAorCitQYXRjaCA2LjIuMzM2IChhZnRlciA2LjIuMzI3KQorUHJvYmxlbTogICAgTWl4dXAgb2YgaXRlbXMgaW4gYW4gZXhwcmVzc2lvbi4KK1NvbHV0aW9uOiAgIE1vdmUgIj09IE5VTCIgdG8gdGhlIHJpZ2h0IHNwb3QuCitGaWxlczoJICAgIHNyYy9lZGl0LmMKKworUGF0Y2ggNi4yLjMzNyAoZXh0cmEsIGFmdGVyIDYuMi4zMTkpCitQcm9ibGVtOiAgICBCdWlsZGluZyBndmltZXh0LmRsbCB3aXRoIE1pbmd3IGRvZXNuJ3Qgd29yayBwcm9wZXJseS4KK1NvbHV0aW9uOiAgIEZpeCB3aGl0ZSBzcGFjZSBhbmQgb3RoZXIgZGV0YWlscy4gKEFsZWphbmRybyBMb3Blei1WYWxlbmNpYSkKK0ZpbGVzOgkgICAgc3JjL0d2aW1FeHQvTWFrZV9taW5nLm1haworCitQYXRjaCA2LjIuMzM4IChhZnRlciA2LjIuMzMxKQorUHJvYmxlbTogICAgV2hlbiB1bmRvaW5nICJnd2FwIiB0aGUgY3Vyc29yIGlzIGFsd2F5cyBwdXQgYXQgdGhlIHN0YXJ0IG9mIHRoZQorCSAgICBwYXJhZ3JhcGguICBXaGVuIHVuZG9pbmcgYXV0by1mb3JtYXR0aW5nIHRoZSBjdXJzb3IgbWF5IGJlIGFib3ZlCisJICAgIHRoZSBjaGFuZ2UuCitTb2x1dGlvbjogICBUcnkgdG8gbW92ZSB0aGUgY3Vyc29yIGJhY2sgdG8gd2hlcmUgaXQgd2FzIG9yIHRvIHRoZSBmaXJzdCBsaW5lCisJICAgIHRoYXQgYWN0dWFsbHkgY2hhbmdlZC4KK0ZpbGVzOgkgICAgc3JjL25vcm1hbC5jLCBzcmMvb3BzLmMsIHNyYy91bmRvLmMKKworUGF0Y2ggNi4yLjMzOQorUHJvYmxlbTogICAgQ3Jhc2ggd2hlbiB1c2luZyBtYW55IGRpZmZlcmVudCBoaWdobGlnaHQgZ3JvdXBzIGFuZCBhIFVzZXIKKwkgICAgaGlnaGxpZ2h0IGdyb3VwLiAgKEp1ZXJnZW4gS3JhZW1lcikKK1NvbHV0aW9uOiAgIERvIG5vdCB1c2UgdGhlIHNnX25hbWVfdSBwb2ludGVyIHdoZW4gaXQgaXMgTlVMTC4gIEFsc28gc2ltcGxpZnkKKwkgICAgdXNlIG9mIHRoZSBoaWdobGlnaHQgZ3JvdXAgdGFibGUuCitGaWxlczoJICAgIHNyYy9zeW50YXguYworCitQYXRjaCA2LjIuMzQwCitQcm9ibGVtOiAgICAiOnJlZyIgZG9lc24ndCBzaG93IHRoZSBhY3R1YWwgY29udGVudHMgb2YgdGhlIGNsaXBib2FyZCBpZiBpdCB3YXMKKwkgICAgZmlsbGVkIG91dHNpZGUgb2YgVmltLiAoU3R1YXJ0IE1hY0RvbmFsZCkKK1NvbHV0aW9uOiAgIE9idGFpbiB0aGUgY2xpcGJvYXJkIGNvbnRlbnRzIGJlZm9yZSBkaXNwbGF5aW5nIGl0LgorRmlsZXM6CSAgICBzcmMvb3BzLmMKKworUGF0Y2ggNi4yLjM0MSAoZXh0cmEpCitQcm9ibGVtOiAgICBXaW4zMjogV2hlbiB0aGUgcGF0aCB0byBkaWZmLmV4ZSBjb250YWlucyBhIHNwYWNlIGFuZCB1c2luZyB0aGUKKwkgICAgdmltcmMgZ2VuZXJhdGVkIGJ5IHRoZSBpbnN0YWxsIHByb2dyYW0sIGRpZmYgbW9kZSBkb2VzIG5vdCB3b3JrLgorU29sdXRpb246ICAgUHV0IHRoZSBmaXJzdCBkb3VibGUgcXVvdGUganVzdCBiZWZvcmUgdGhlIHNwYWNlIGluc3RlYWQgb2YgYmVmb3JlCisJICAgIHRoZSBwYXRoLgorRmlsZXM6CSAgICBzcmMvZG9zaW5zdC5jCisKK1BhdGNoIDYuMi4zNDIgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6IG1hY3JvcyBhcmUgbm90IGFsd2F5cyB1c2VkIGFzIGV4cGVjdGVkLgorU29sdXRpb246ICAgRGVmaW5lIFdJTlZFUiB0byAweDA0MDAgaW5zdGVhZCBvZiAweDQwMC4gKEFsZWphbmRybworCSAgICBMb3Blei1WYWxlbmNpYSkKK0ZpbGVzOgkgICAgc3JjL01ha2VfYmM1Lm1haywgc3JjL01ha2VfY3lnLm1haywgc3JjL01ha2VfbXZjLm1haworCitQYXRjaCA2LjIuMzQzCitQcm9ibGVtOiAgICBUaXRsZSBkb2Vzbid0IHdvcmsgd2l0aCBzb21lIHdpbmRvdyBtYW5hZ2Vycy4gIFgxMTogU2V0dGluZyB0aGUKKwkgICAgdGV4dCBwcm9wZXJ0eSBmb3IgdGhlIHdpbmRvdyB0aXRsZSBpcyBoYXJkIGNvZGVkLgorU29sdXRpb246ICAgVXNlIFNUUklORyBmb3JtYXQgd2hlbiBwb3NzaWJsZS4gIFVzZSB0aGUgVVRGLTggZnVuY3Rpb24gd2hlbgorCSAgICBpdCdzIGF2YWlsYWJsZSBhbmQgJ2VuY29kaW5nJyBpcyB1dGYtOC4gVXNlCisJICAgIFhTdHJpbmdMaXN0VG9UZXh0UHJvcGVydHkoKS4gIERvIHRoZSBzYW1lIGZvciB0aGUgaWNvbiBuYW1lLgorCSAgICAoRGF2aWQgSGFycmlzb24pCitGaWxlczoJICAgIHNyYy9vc191bml4LmMKKworUGF0Y2ggNi4yLjM0NCAoZXh0cmEsIGFmdGVyIDYuMi4zMzcpCitQcm9ibGVtOiAgICBDYW5ub3QgYnVpbGQgZ3ZpbWV4dC5kbGwgd2l0aCBNaW5nVyBvbiBMaW51eC4KK1NvbHV0aW9uOiAgIEFkZCBzdXBwb3J0IGZvciBjcm9zcyBjb21waWxpbmcuIChSb25hbGQgSG9lbGx3YXJ0aCkKK0ZpbGVzOgkgICAgc3JjL0d2aW1FeHQvTWFrZV9taW5nLm1haworCitQYXRjaCA2LjIuMzQ1IChleHRyYSkKK1Byb2JsZW06ICAgIFdpbjMyOiBDb3B5L3Bhc3RlIGJldHdlZW4gdHdvIFZpbXMgZmFpbHMgaWYgJ2VuY29kaW5nJyBpcyBub3Qgc2V0CisJICAgIHByb3Blcmx5IG9yIHRoZXJlIGFyZSBpbGxlZ2FsIGJ5dGVzLgorU29sdXRpb246ICAgVXNlIGEgcmF3IGJ5dGUgZm9ybWF0LiAgQWx3YXlzIHNldCBpdCB3aGVuIGNvcHlpbmcuICBXaGVuIHBhc3RpbmcKKwkgICAgdXNlIHRoZSByYXcgZm9ybWF0IGlmICdlbmNvZGluZycgaXMgdGhlIHNhbWUuCitGaWxlczoJICAgIHNyYy9vc19tc3dpbi5jLCBzcmMvb3Nfd2luMTYuYywgc3JjL29zX3dpbjMyLmMsIHNyYy92aW0uaAorCitQYXRjaCA2LjIuMzQ2CitQcm9ibGVtOiAgICBXaW4zMiBjb25zb2xlOiBBZnRlciB1c2luZyAiY2hjcCIgVmltIGRvZXMgbm90IGRldGVjdCB0aGUKKwkgICAgZGlmZmVyZW50IGNvZGVwYWdlLgorU29sdXRpb246ICAgVXNlIEdldENvbnNvbGVDUCgpIGFuZCB3aGVuIGl0IGlzIGRpZmZlcmVudCBmcm9tIEdldEFDUCgpIHNldAorCSAgICAndGVybWVuY29kaW5nJy4KK0ZpbGVzOgkgICAgc3JjL29wdGlvbi5jCisKK1BhdGNoIDYuMi4zNDcgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6IFhQIHRoZW1lIHN1cHBvcnQgaXMgbWlzc2luZy4KK1NvbHV0aW9uOiAgIEFkZCBhIG1hbmlmZXN0IGFuZCByZWZlciB0byBpdCBmcm9tIHRoZSByZXNvdXJjZSBmaWxlLiAgKE1pY2hhZWwKKwkgICAgV29va2V5KQorRmlsZXM6CSAgICBNYWtlZmlsZSwgc3JjL2d2aW0uZXhlLm1uZiwgc3JjL3ZpbS5yYworCitQYXRjaCA2LjIuMzQ4CitQcm9ibGVtOiAgICBXaW4zMjogInZpbSBjOlxkaXJcKHRlc3QpIiBkb2Vzbid0IHdvcmssIGJlY2F1c2UgdGhlICdpc2ZuYW1lJworCSAgICBkZWZhdWx0IHZhbHVlIGRvZXNuJ3QgY29udGFpbiBwYXJlbnRoZXNpcy4KK1NvbHV0aW9uOiAgIFRlbXBvcmFyaWx5IGFkZCAnKCcgYW5kICcpJyB0byAnaXNmbmFtZScgd2hlbiBleHBhbmRpbmcgZmlsZSBuYW1lCisJICAgIGFyZ3VtZW50cy4KK0ZpbGVzOgkgICAgc3JjL21haW4uYworCitQYXRjaCA2LjIuMzQ5CitQcm9ibGVtOiAgICBGaW5kaW5nIGEgbWF0Y2ggdXNpbmcgJ21hdGNocGFpcnMnIG1heSBjYXVzZSBhIGNyYXNoLgorCSAgICAnbWF0Y2hwYWlycycgaXMgbm90IHVzZWQgZm9yICdzaG93bWF0Y2gnLgorU29sdXRpb246ICAgRG9uJ3QgbG9vayBwYXN0IHRoZSBOVUwgaW4gJ21hdGNocGFpcnMnLiAgVXNlICdtYXRjaHBhaXJzJyBmb3IKKwkgICAgJ3Nob3dtYXRjaCcuIChEYXZlIE9sc3pld2tza2kpCitGaWxlczoJICAgIHNyYy9taXNjMS5jLCBzcmMvbm9ybWFsLmMsIHNyYy9wcm90by9zZWFyY2gucHJvLCBzcmMvc2VhcmNoLmMKKworUGF0Y2ggNi4yLjM1MAorUHJvYmxlbTogICAgTm90IGVub3VnaCBpbmZvIGFib3V0IHN0YXJ0dXAgdGltaW5nLgorU29sdXRpb246ICAgQWRkIGEgZmV3IG1vcmUgVElNRV9NU0coKSBjYWxscy4KK0ZpbGVzOgkgICAgc3JjL21haW4uYworCitQYXRjaCA2LjIuMzUxCitQcm9ibGVtOiAgICBXaW4zMjogJEhPTUUgbWF5IGJlIHNldCB0byAlVVNFUlBST0ZJTEUlLgorU29sdXRpb246ICAgRXhwYW5kICVWQVIlIGF0IHRoZSBzdGFydCBvZiAkSE9NRS4KK0ZpbGVzOgkgICAgc3JjL21pc2MxLmMKKworUGF0Y2ggNi4yLjM1MiAoYWZ0ZXIgNi4yLjMzNSkKK1Byb2JsZW06ICAgICI6c2lnbiB0ZXh0aGw9fHwiIGRvZXMgbm90IHdvcmsuCitTb2x1dGlvbjogICBSZW1vdmUgdGhlIGNoZWNrIGZvciBhIGZvbGxvd2luZyBjb21tYW5kLiAgR2l2ZSBhbiBlcnJvciBmb3IgZXh0cmEKKwkgICAgYXJndW1lbnRzIGFmdGVyICJidWZmPTEiLgorRmlsZXM6CSAgICBzcmMvZXhfY21kcy5jLCBzcmMvZXhfY21kcy5oCisKK1BhdGNoIDYuMi4zNTMgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6IFN1cHBvcnRlZCBzZXJ2ZXIgbmFtZSBsZW5ndGggaXMgbGltaXRlZC4gKFBhdWwgQm9zc2kpCitTb2x1dGlvbjogICBVc2UgTUFYX1BBVEggaW5zdGVhZCBvZiAyNS4KK0ZpbGVzOgkgICAgc3JjL29zX21zd2luLmMKKworUGF0Y2ggNi4yLjM1NCAoZXh0cmEpCitQcm9ibGVtOiAgICBXaW4zMjogV2hlbiB0aGUgbW91c2UgcG9pbnRlciBpcyBvbiBhIHRlYXItb2ZmIG1lbnUgaXQgaXMgaGlkZGVuCisJICAgIHdoZW4gdHlwaW5nIGJ1dCBpcyBub3QgcmVkaXNwbGF5ZWQgd2hlbiBtb3ZlZC4gKE1hcmt4IEhhY2ttYW5uKQorU29sdXRpb246ICAgSGFuZGxlIHRoZSBwb2ludGVyIG1vdmUgZXZlbnQgZm9yIHRoZSB0ZWFyLW9mZiBtZW51IHdpbmRvdy4KK0ZpbGVzOgkgICAgc3JjL2d1aV93MzIuYworCitQYXRjaCA2LjIuMzU1IChhZnRlciA2LjIuMzAzKQorUHJvYmxlbTogICAgV2hlbiAnZW5jb2RpbmcnIGlzIGEgZG91YmxlLWJ5dGUgZW5jb2RpbmcgZGlmZmVyZW50IGZyb20gdGhlCisJICAgIGN1cnJlbnQgbG9jYWxlLCB0aGUgd2lkdGggb2YgY2hhcmFjdGVycyBpcyBub3QgY29ycmVjdC4KKwkgICAgUG9zc2libGUgZmFpbHVyZSBhbmQgbWVtb3J5IGxlYWsgd2hlbiB1c2luZyBpY29udiwgVW5pY29kZQorCSAgICBkaWdyYXBocyBhbmQgJ2VuY29kaW5nJyBpcyBub3QgInV0Zi04Ii4KK1NvbHV0aW9uOiAgIFVzZSBpY29udigpIHRvIGRpc2NvdmVyIHRoZSBhY3R1YWwgd2lkdGggb2YgY2hhcmFjdGVycy4KKwkgICAgQWRkIHRoZSAidmNfZmFpbCIgZmllbGQgdG8gdmltY29udl9ULgorCSAgICBXaGVuIGNvbnZlcnRpbmcgYSBkaWdyYXBoLCBpbml0IHRoZSBjb252ZXJzaW9uIHR5cGUgdG8gTk9ORSBhbmQKKwkgICAgY2xlYW51cCBhZnRlcndhcmRzLgorRmlsZXM6CSAgICBzcmMvZGlncmFwaC5jLCBzcmMvbWJ5dGUuYywgc3JjL3N0cnVjdHMuaAorCitQYXRjaCA2LjIuMzU2CitQcm9ibGVtOiAgICBXaGVuIHVzaW5nIGEgZG91YmxlLWJ5dGUgJ2VuY29kaW5nJyBhbmQgJ3NlbGVjdGlvbicgaXMKKwkgICAgImV4Y2x1c2l2ZSIsICJ2eSIgb25seSB5YW5rcyB0aGUgZmlyc3QgYnl0ZSBvZiBhIGRvdWJsZS1ieXRlCisJICAgIGNoYXJhY3Rlci4gIChYaWFuZ2ppYW5nIE1hKQorU29sdXRpb246ICAgQ29ycmVjdCB0aGUgY29sdW1uIGluIHVuYWRqdXN0X2Zvcl9zZWwoKSB0byBwb3NpdGlvbiBvbiB0aGUgZmlyc3QKKwkgICAgYnl0ZSwgYWx3YXlzIGluY2x1ZGUgdGhlIHRyYWlsaW5nIGJ5dGUgb2YgdGhlIHNlbGVjdGVkIHRleHQuCitGaWxlczoJICAgIHNyYy9ub3JtYWwuYworCitQYXRjaCA2LjIuMzU3IChhZnRlciA2LjIuMzIxKQorUHJvYmxlbTogICAgTWVtb3J5IGxlYWsgd2hlbiByZXNpemluZyB0aGUgVmltIHdpbmRvdy4KK1NvbHV0aW9uOiAgIEZyZWUgdGhlIExpbmVXcmFwcyBhcnJheS4KK0ZpbGVzOgkgICAgc3JjL3NjcmVlbi5jCisKK1BhdGNoIDYuMi4zNTggKGFmdGVyIDYuMi4yOTkpCitQcm9ibGVtOiAgICBNZW1vcnkgbGVhayB3aGVuIHVzaW5nICI6aGVscCIgYW5kIHRoZSBsYW5ndWFnZSBkb2Vzbid0IG1hdGNoLgorU29sdXRpb246ICAgRnJlZSB0aGUgYXJyYXkgd2l0aCBtYXRjaGluZyB0YWdzLgorRmlsZXM6CSAgICBzcmMvZXhfY21kcy5jCisKK1BhdGNoIDYuMi4zNTkgKGFmdGVyIDYuMi4zNTIpCitQcm9ibGVtOiAgICBDb21waWxlciB3YXJuaW5nIGZvciBsb25nIHRvIGludCB0eXBlIGNhc3QuCitTb2x1dGlvbjogICBBZGQgZXhwbGljaXQgdHlwZSBjYXN0LgorRmlsZXM6CSAgICBzcmMvZXhfY21kcy5jCisKK1BhdGNoIDYuMi4zNjAKK1Byb2JsZW06ICAgICIxMDB8IiBpbiBhbiBlbXB0eSBsaW5lIHJlc3VsdHMgaW4gYSBydWxlciAiMSwwLTEwMCIuIChQYXZvbAorCSAgICBKdWhhcykKK1NvbHV0aW9uOiAgIFJlY29tcHV0ZSB3X3ZpcnRjb2wgaWYgdGhlIHRhcmdldCBjb2x1bW4gd2FzIG5vdCByZWFjaGVkLgorRmlsZXM6CSAgICBzcmMvbWlzYzIuYworCitQYXRjaCA2LjIuMzYxIChleHRyYSkKK1Byb2JsZW06ICAgIFdpbjMyOiBSdW4gZ3ZpbSwgIjpzZXQgZ28tPW0iLCB1c2UgQWx0LVRhYiwga2VlcCBBbHQgcHJlc3NlZCB3aGlsZQorCSAgICBwcmVzc2luZyBFc2MsIHRoZW4gcmVsZWFzZSBBbHQ6IEN1cnNvciBkaXNhcHBlYXJzIGFuZCB0eXBpbmcgYSBrZXkKKwkgICAgY2F1c2VzIGEgYmVlcC4gKEhhcmkgS3Jpc2huYSBEYXJhKQorU29sdXRpb246ICAgRG9uJ3QgaWdub3JlIHRoZSBXTV9TWVNLRVlVUCBldmVudCB3aGVuIHRoZSBtZW51IGlzIGRpc2FibGVkLgorRmlsZXM6CSAgICBzcmMvZ3VpX3czMi5jCisKK1BhdGNoIDYuMi4zNjIgKGV4dHJhLCBhZnRlciA2LjIuMzQ3KQorUHJvYmxlbTogICAgV2luMzI6IFRoZSBtYW5pZmVzdCBjYXVzZXMgR3ZpbSBub3QgdG8gd29yay4gKERhdmUgUm9iZXJ0cykKK1NvbHV0aW9uOiAgIENoYW5nZSAieDg2IiB0byAiWDg2Ii4gKFNlcmdlIFBpcm90dGUpCitGaWxlczoJICAgIHNyYy9ndmltLmV4ZS5tbmYKKworUGF0Y2ggNi4yLjM2MworUHJvYmxlbTogICAgSW4gYW4gZW1wdHkgZmlsZSB3aXRoICdzaG93bW9kZScgb2ZmLCAiaSIgZG9lc24ndCBjaGFuZ2UgdGhlIHJ1bGVyCisJICAgIGZyb20gIjAtMSIgdG8gIjEiLiAgVHlwaW5nICJ4PEJTPiIgZG9lcyBzaG93ICIxIiwgYnV0IHRoZW4gPEVzYz4KKwkgICAgZG9lc24ndCBtYWtlIGl0ICIwLTEiIGFnYWluLiAgU2FtZSBwcm9ibGVtIGZvciBydWxlciBpbgorCSAgICBzdGF0dXNsaW5lLiAgKEFuZHJldyBQaW1sb3R0KQorU29sdXRpb246ICAgUmVtZW1iZXIgdGhlICJlbXB0eSBsaW5lIiBmbGFnIHdpdGggSW5zZXJ0IG1vZGUgYW5kJ2VkIHRvIGl0LgorRmlsZXM6CSAgICBzcmMvc2NyZWVuLmMKKworUGF0Y2ggNi4yLjM2NAorUHJvYmxlbTogICAgSFRNTCB2ZXJzaW9uIG9mIHRoZSBkb2N1bWVudGF0aW9uIGRvZXNuJ3QgbWVudGlvbiB0aGUgZW5jb2RpbmcsCisJICAgIHdoaWNoIGlzIGEgcHJvYmxlbSBmb3IgbWJ5dGUudHh0LgorU29sdXRpb246ICAgQWRqdXN0IHRoZSBhd2sgc2NyaXB0LiAoSWx5YSBTaGVyKQorRmlsZXM6CSAgICBydW50aW1lL2RvYy9tYWtlaHRtbC5hd2sKKworUGF0Y2ggNi4yLjM2NQorUHJvYmxlbTogICAgVGhlIGNvbmZpZ3VyZSBjaGVja3MgZm9yIFBlcmwgYW5kIFB5dGhvbiBtYXkgYWRkIGNvbXBpbGUgYW5kIGxpbmsKKwkgICAgYXJndW1lbnRzIHRoYXQgYnJlYWsgYnVpbGRpbmcgVmltLgorU29sdXRpb246ICAgRG8gYSBzYW5pdHkgY2hlY2s6IHRyeSBidWlsZGluZyB3aXRoIHRoZSBhcmd1bWVudHMuCitGaWxlczoJICAgIHNyYy9hdXRvL2NvbmZpZ3VyZSwgc3JjL2NvbmZpZ3VyZS5pbgorCitQYXRjaCA2LjIuMzY2CitQcm9ibGVtOiAgICBXaGVuIHRoZSBHVUkgY2FuJ3Qgc3RhcnQgYmVjYXVzZSBubyB2YWxpZCBmb250IGlzIGZvdW5kLCB0aGVyZSBpcworCSAgICBubyBlcnJvciBtZXNzYWdlLiAoVWdlbikKK1NvbHV0aW9uOiAgIEFkZCBhbiBlcnJvciBtZXNzYWdlLgorRmlsZXM6CSAgICBzcmMvZ3VpLmMKKworUGF0Y2ggNi4yLjM2NworUHJvYmxlbTogICAgQnVpbGRpbmcgdGhlIGhlbHAgdGFncyBmaWxlIHdoaWxlIGluc3RhbGxpbmcgbWF5IGZhaWwgaWYgdGhlcmUgaXMKKwkgICAgYW5vdGhlciBWaW0gaW4gJFBBVEguCitTb2x1dGlvbjogICBTcGVjaWZ5IHRoZSBqdXN0IGluc3RhbGxlZCBWaW0gZXhlY3V0YWJsZS4gKEdvcmRvbiBQcmlldXIpCitGaWxlczoJICAgIHNyYy9NYWtlZmlsZQorCitQYXRjaCA2LjIuMzY4CitQcm9ibGVtOiAgICBXaGVuICdhdXRvY2hkaXInIGlzIHNldCwgY2xvc2luZyBhIHdpbmRvdyBkb2Vzbid0IGNoYW5nZSB0byB0aGUKKwkgICAgZGlyZWN0b3J5IG9mIHRoZSBuZXcgY3VycmVudCB3aW5kb3cuIChTYWxtYW4gSGFsaW0pCitTb2x1dGlvbjogICBIYW5kbGUgJ2F1dG9jaGRpcicgYWx3YXlzIHdoZW4gYSB3aW5kb3cgYmVjb21lcyB0aGUgY3VycmVudCBvbmUuCitGaWxlczoJICAgIHNyYy93aW5kb3cuYworCitQYXRjaCA2LjIuMzY5CitQcm9ibGVtOiAgICBWYXJpb3VzIG1lbW9yeSBsZWFrczogd2hlbiB1c2luZyBnbG9icGF0aCgpLCB3aGVuIHNlYXJjaGluZyBmb3IKKwkgICAgaGVscCB0YWdzIGZpbGVzLCB3aGVuIGRlZmluaW5nIGEgZnVuY3Rpb24gaW5zaWRlIGEgZnVuY3Rpb24sIHdoZW4KKwkgICAgZ2l2aW5nIGFuIGVycm9yIG1lc3NhZ2UgdGhyb3VnaCBhbiBleGNlcHRpb24sIGZvciB0aGUgZmluYWwgIi4iCisJICAgIGxpbmUgaW4gIjphcHBlbmQiLCBpbiBleHByZXNzaW9uICJjb25kID8gYSA6IGIiIHRoYXQgZmFpbHMgYW5kIGZvcgorCSAgICBtaXNzaW5nICIpIiBpbiBhbiBleHByZXNzaW9uLiAgVXNpbmcgTlVMTCBwb2ludGVyIHdoZW4gYWRkaW5nCisJICAgIGZpcnN0IHVzZXIgY29tbWFuZCBhbmQgZm9yIHBvaW50ZXIgY29tcHV0YXRpb25zIHdpdGggcmVnZXhwLgorCSAgICAodGVzdHMgYnkgRG9taW5pcXVlIFBlbGxlKQorU29sdXRpb246ICAgRml4IHRoZSBsZWFrcyBieSBmcmVlaW5nIHRoZSBhbGxvY2F0ZWQgbWVtb3J5LiAgRG9uJ3QgdXNlIHRoZQorCSAgICBhcnJheSBvZiB1c2VyIGNvbW1hbmRzIHdoZW4gdGhlcmUgYXJlIG5vIGVudHJpZXMuICBVc2UgYSBtYWNybworCSAgICBpbnN0ZWFkIG9mIGEgZnVuY3Rpb24gY2FsbCBmb3Igc2F2aW5nIGFuZCByZXN0b3JpbmcgcmVnZXhwIHN0YXRlcy4KK0ZpbGVzOgkgICAgc3JjL2V2YWwuYywgc3JjL2V4X2NtZHMuYywgc3JjL2V4X2RvY21kLmMsIHNyYy9leF9nZXRsbi5jLAorCSAgICBzcmMvbWlzYzIuYywgc3JjL3JlZ2V4cC5jLCBzcmMvc2NyZWVuLmMsIHNyYy90YWcuYworCitQYXRjaCA2LjIuMzcwIChleHRyYSwgYWZ0ZXI2LjIuMzQxKQorUHJvYmxlbTogICAgV2luMzI6IFdoZW4gdGhlIHBhdGggdG8gZGlmZi5leGUgY29udGFpbnMgYSBzcGFjZSBhbmQgdXNpbmcgdGhlCisJICAgIHZpbXJjIGdlbmVyYXRlZCBieSB0aGUgaW5zdGFsbCBwcm9ncmFtLCBkaWZmIG1vZGUgbWF5IG5vdCB3b3JrLgorCSAgICAoQWxlamFuZHJvIExvcGV6LVZhbGVuY2lhKQorU29sdXRpb246ICAgRG8gbm90IHVzZSBkb3VibGUgcXVvdGVzIGZvciBhcmd1bWVudHMgdGhhdCBkbyBub3QgaGF2ZSBhIHNwYWNlLgorRmlsZXM6CSAgICBzcmMvZG9zaW5zdC5jCisKK1BhdGNoIDYuMi4zNzEKK1Byb2JsZW06ICAgIFdoZW4gJ3ZpcnR1YWxlZGl0JyBpcyBzZXQgYW5kIHRoZXJlIGlzIGEgVGFiIGJlZm9yZSB0aGUgbmV4dCAieCIsCisJICAgICJkdHgiIGRvZXMgbm90IGRlbGV0ZSB0aGUgd2hvbGUgVGFiLiAoS2VuIEhhc2hpc2hpKQorU29sdXRpb246ICAgTW92ZSB0aGUgY3Vyc29yIHRvIHRoZSBsYXN0IHBvc2l0aW9uIG9mIHRoZSBUYWIuICBBbHNvIGZvcgorCSAgICAiZGY8VGFiPiIuCitGaWxlczoJICAgIHNyYy9ub3JtYWwuYworCitQYXRjaCA2LjIuMzcyCitQcm9ibGVtOiAgICBXaGVuIHVzaW5nIGJhbGxvb24gZXZhbHVhdGlvbiwgbm8gdmFsdWUgaXMgZGlzcGxheWVkIGZvciBtZW1iZXJzCisJICAgIG9mIHN0cnVjdHVyZXMgYW5kIGl0ZW1zIG9mIGFuIGFycmF5LgorU29sdXRpb246ICAgSW5jbHVkZSAiLT4iLCAiLiIgYW5kICJbKl0iIGluIHRoZSBleHByZXNzaW9uLgorRmlsZXM6CSAgICBzcmMvZ3VpX2JldmFsLmMsIHNyYy9ub3JtYWwuYywgc3JjL3ZpbS5oCisKK1BhdGNoIDYuMi4zNzMKK1Byb2JsZW06ICAgIFdoZW4gJ3dpbm1pbmhlaWdodCcgaXMgemVybyBhbmQgYSB3aW5kb3cgaXMgcmVkdWNlZCB0byB6ZXJvCisJICAgIGhlaWdodCwgdGhlIHJ1bGVyIGFsd2F5cyBzYXlzICJUb3AiIGluc3RlYWQgb2YgdGhlIGN1cnNvcgorCSAgICBwb3NpdGlvbi4gKEFudG9pbmUgSi4gTWVjaGVseW5jaykKK1NvbHV0aW9uOiAgIERvbid0IHJlY29tcHV0ZSB3X3RvcGxpbmUgZm9yIGEgemVyby1oZWlnaHQgd2luZG93LgorRmlsZXM6CSAgICBzcmMvd2luZG93LmMKKworUGF0Y2ggNi4yLjM3NAorUHJvYmxlbTogICAgIjplY2hvICJoZWxsbyIgfCBzaWxlbnQgbm9ybWFsIG4iIHJlbW92ZXMgdGhlICJoZWxsbyIgbWVzc2FnZS4KKwkgICAgKFNlcnZhdGl1cyBCcmFuZHQpCitTb2x1dGlvbjogICBEb24ndCBlY2hvIHRoZSBzZWFyY2ggc3RyaW5nIHdoZW4gIjpzaWxlbnQiIHdhcyB1c2VkLiAgQWxzbyBkb24ndAorCSAgICBzaG93IHRoZSBtb2RlLiAgSW4gZ2VuZXJhbDogZG9uJ3QgY2xlYXIgdG8gdGhlIGVuZCBvZiB0aGUgc2NyZWVuLgorRmlsZXM6CSAgICBzcmMvZ3VpLmMsIHNyYy9tZXNzYWdlLmMsIHNyYy9vc191bml4LmMsIHNyYy9wcm90by9tZXNzYWdlLnBybywKKwkgICAgc3JjL3NjcmVlbi5jLCBzcmMvc2VhcmNoLmMsIHNyYy93aW5kb3cuYworCitQYXRjaCA2LjIuMzc1CitQcm9ibGVtOiAgICBXaGVuIGNoYW5naW5nICdndWlvcHRpb25zJyB0aGUgaGl0LWVudGVyIHByb21wdCBtYXkgYmUgYmVsb3cgdGhlCisJICAgIGVuZCBvZiB0aGUgVmltIHdpbmRvdy4KK1NvbHV0aW9uOiAgIENhbGwgc2NyZWVuX2FsbG9jKCkgYmVmb3JlIHNob3dpbmcgdGhlIHByb21wdC4KK0ZpbGVzOgkgICAgc3JjL21lc3NhZ2UuYworCitQYXRjaCA2LjIuMzc2CitQcm9ibGVtOiAgICBXaW4zMjogUnVieSBpbnRlcmZhY2UgY2Fubm90IGJlIGR5bmFtaWNhbGx5IGxpbmtlZCB3aXRoIFJ1YnkgMS42LgorU29sdXRpb246ICAgQWRkICNpZmRlZnMgYXJvdW5kIHVzZSBvZiByYl93MzJfc25wcmludGYoKS4gIChCZW5v7nQgQ2VycmluYSkKK0ZpbGVzOgkgICAgc3JjL2lmX3J1YnkuYworCitQYXRjaCA2LjIuMzc3IChhZnRlciA2LjIuMzcyKQorUHJvYmxlbTogICAgQ29tcGlsZXIgd2FybmluZ3MgZm9yIHNpZ25lZC91bnNpZ25lZCBjb21wYXJlLiAoTWljaGFlbCBXb29rZXkpCitTb2x1dGlvbjogICBBZGQgdHlwZSBjYXN0LgorRmlsZXM6CSAgICBzcmMvbm9ybWFsLmMKKworUGF0Y2ggNi4yLjM3OCAoZXh0cmEsIGFmdGVyIDYuMi4xMTgpCitQcm9ibGVtOiAgICBNYWM6IGNhbm5vdCBidWlsZCB3aXRoIFByb2plY3QgQnVpbGRlci4KK1NvbHV0aW9uOiAgIEFkZCByZW1vdmVfdGFpbF93aXRoX2V4dCgpIHRvIGxvY2F0ZSBhbmQgcmVtb3ZlIHRoZSAiYnVpbGQiCisJICAgIGRpcmVjdG9yeSBmcm9tIHRoZSBydW50aW1lIHBhdGguICBJbmNsdWRlIG9zX3VuaXguYyB3aGVuIG5lZWRlZC4KKwkgICAgKERhbnkgU3QgQW1hbnQpCitGaWxlczoJICAgIHNyYy9taXNjMS5jLCBzcmMvb3NfbWFjb3N4LmMsIHNyYy92aW0uaAorCitQYXRjaCA2LjIuMzc5CitQcm9ibGVtOiAgICBVc2luZyAiOm1rdmltcmMiIGluIHRoZSAiOm9wdGlvbnMiIHdpbmRvdyBzZXRzICdidWZoaWRkZW4nIHRvCisJICAgICJkZWxldGUiLiAoTWljaGFlbCBOYXVtYW5uKQorU29sdXRpb246ICAgRG8gbm90IGFkZCBidWZmZXItc3BlY2lmaWMgb3B0aW9uIHZhbHVlcyB0byBhIGdsb2JhbCB2aW1yYyBmaWxlLgorRmlsZXM6CSAgICBzcmMvb3B0aW9uLmMKKworUGF0Y2ggNi4yLjM4MCAoZXh0cmEpCitQcm9ibGVtOiAgICBET1M6ICJtYWtlIHRlc3QiIGZhaWxzIHdoZW4gcnVubmluZyBpdCBhZ2Fpbi4gIENhbid0ICJtYWtlIHRlc3QiCisJICAgIHdpdGggQm9ybGFuZCBDLgorU29sdXRpb246ICAgTWFrZSBzdXJlICIub3V0IiBmaWxlcyBhcmUgZGVsZXRlZCB3aGVuIHRoZXkgZ2V0IGluIHRoZSB3YXkuICBBZGQKKwkgICAgYSAidGVzdCIgdGFyZ2V0IHRvIHRoZSBCb3JsYW5kIEMgTWFrZWZpbGUuCitGaWxlczoJICAgIHNyYy9NYWtlX2JjNS5tYWssIHNyYy90ZXN0ZGlyL01ha2VfZG9zLm1haworCitQYXRjaCA2LjIuMzgxCitQcm9ibGVtOiAgICBTZXR0aW5nICdmaWxlZW5jb2RpbmcnIHRvIGEgY29tbWEgc2VwYXJhdGVkIGxpc3QgKGNvbmZ1c2luZyBpdAorCSAgICB3aXRoICdmaWxlZW5jb2RpbmdzJykgZG9lcyBub3QgcmVzdWx0IGluIGFuIGVycm9yIG1lc3NhZ2UuCisJICAgIFNldHRpbmcgJ2ZpbGVlbmNvZGluZycgaW4gYW4gZW1wdHkgZmlsZSBtYXJrcyBpdCBhcyBtb2RpZmllZC4KKwkgICAgVGhlcmUgaXMgbm8gIisiIGluIHRoZSB0aXRsZSBhZnRlciBzZXR0aW5nICdmaWxlZW5jb2RpbmcnLgorU29sdXRpb246ICAgQ2hlY2sgZm9yIGEgY29tbWEgaW4gJ2ZpbGVlbmNvZGluZycuICBPbmx5IGNvbnNpZGVyIGEgbm9uLWVtcHR5CisJICAgIGZpbGUgbW9kaWZpZWQgYnkgY2hhbmdpbmcgJ2ZpbGVlbmNvZGluZycuICBVcGRhdGUgdGhlIHRpdGxlIGFmdGVyCisJICAgIGNoYW5naW5nICdmaWxlZW5jb2RpbmcnLgorRmlsZXM6CSAgICBzcmMvb3B0aW9uLmMKKworUGF0Y2ggNi4yLjM4MgorUHJvYmxlbTogICAgUnVubmluZyAibWFrZSB0ZXN0IiBwdXRzIG1hcmtzIGZyb20gdGVzdCBmaWxlcyBpbiB2aW1pbmZvLgorU29sdXRpb246ICAgU3BlY2lmeSBhIGRpZmZlcmVudCB2aW1pbmZvIGZpbGUgdG8gdXNlLgorRmlsZXM6CSAgICBzcmMvdGVzdGRpci90ZXN0MTUuaW4sIHNyYy90ZXN0ZGlyL3Rlc3Q0OS5pbgorCitQYXRjaCA2LjIuMzgzCitQcm9ibGVtOiAgICAiOmhpIGZvbyB0ZXJtPSdibGEiIGNyYXNoZXMgVmltLiAoQW50b255IFNjcml2ZW4pCitTb2x1dGlvbjogICBDaGVjayB0aGF0IHRoZSBjbG9zaW5nICcgaXMgdGhlcmUuCitGaWxlczoJICAgIHNyYy9zeW50YXguYworCitQYXRjaCA2LjIuMzg0CitQcm9ibGVtOiAgICAiOm1lbnUgYS4mYiIgIjp1bm1lbnUgYS5iIiBvbmx5IHdvcmtzIGlmICImYiIgaXNuJ3QgdHJhbnNsYXRlZC4KK1NvbHV0aW9uOiAgIEFsc28gY29tcGFyZSB0aGUgbmFtZXMgd2l0aG91dCAnJicgY2hhcmFjdGVycy4KK0ZpbGVzOgkgICAgc3JjL21lbnUuYworCitQYXRjaCA2LjIuMzg1ICAoZXh0cmEpCitQcm9ibGVtOiAgICBXaW4zMjogZm9yd2FyZF9zbGFzaCgpIGFuZCB0cmFzaF9pbnB1dF9idWYoKSBhcmUgdW5kZWZpbmVkIHdoZW4KKwkgICAgY29tcGlsaW5nIHdpdGggc21hbGwgZmVhdHVyZXMuIChBaml0IFRoYWtrYXIpCitTb2x1dGlvbjogICBDaGFuZ2UgdGhlICNpZmRlZnMgZm9yIGZvcndhcmRfc2xhc2goKS4gIERvbid0IGNhbGwKKwkgICAgdHJhc2hfaW5wdXRfYnVmKCkgaWYgdGhlIGlucHV0IGJ1ZmZlciBpc24ndCB1c2VkLgorRmlsZXM6CSAgICBzcmMvZmlsZWlvLmMsIHNyYy9vc193aW4zMi5jCisKK1BhdGNoIDYuMi4zODYKK1Byb2JsZW06ICAgIFdhc3RpbmcgdGltZSB0cnlpbmcgdG8gcmVhZCBtYXJrcyBmcm9tIHRoZSB2aW1pbmZvIGZpbGUgZm9yIGEKKwkgICAgYnVmZmVyIHdpdGhvdXQgYSBuYW1lLgorU29sdXRpb246ICAgU2tpcCByZWFkaW5nIG1hcmtzIHdoZW4gdGhlIGJ1ZmZlciBoYXMgbm8gbmFtZS4KK0ZpbGVzOgkgICAgc3JjL2ZpbGVpby5jCisKK1BhdGNoIDYuMi4zODcKK1Byb2JsZW06ICAgIFRoZXJlIGlzIG5vIGhpZ2hsaWdodGluZyBvZiB0cmFuc2xhdGVkIGl0ZW1zIGluIGhlbHAgZmlsZXMuCitTb2x1dGlvbjogICBTZWFyY2ggZm9yIGEgImhlbHBfYWIudmltIiBzeW50YXggZmlsZSB3aGVuIHRoZSBoZWxwIGZpbGUgaXMKKwkgICAgY2FsbGVkICIqLmFieCIuICBBbHNvIGltcHJvdmUgdGhlIGhlbHAgaGlnaGxpZ2h0aW5nIGEgYml0LgorRmlsZXM6CSAgICBydW50aW1lL3N5bnRheC9oZWxwLnZpbQorCitQYXRjaCA2LjIuMzg4CitQcm9ibGVtOiAgICBHVEs6IFdoZW4gZGlzcGxheWluZyBzb21lIGRvdWJsZS13aWR0aCBjaGFyYWN0ZXJzIHRoZXkgYXJlIGRyYXduCisJICAgIGFzIHNpbmdsZS13aWR0aCwgYmVjYXVzZSBvZiBjb252ZXJzaW9uIHRvIFVURi04LgorU29sdXRpb246ICAgQ2hlY2sgdGhlIHdpZHRoIHRoYXQgR1RLIHVzZXMgYW5kIGFkZCBhIHNwYWNlIGlmIGl0J3Mgb25lIGluc3RlYWQKKwkgICAgb2YgdHdvLgorRmlsZXM6CSAgICBzcmMvZ3VpX2d0a194MTEuYworCitQYXRjaCA2LjIuMzg5CitQcm9ibGVtOiAgICBXaGVuIHdvcmtpbmcgb3ZlciBhIHNsb3cgY29ubmVjdGlvbiwgaXQncyB2ZXJ5IGFubm95aW5nIHRoYXQgdGhlCisJICAgIGxhc3QgbGluZSBpcyBwYXJ0bHkgZHJhd24gYW5kIHRoZW4gY2xlYXJlZCBmb3IgZXZlcnkgY2hhbmdlLgorU29sdXRpb246ICAgRG9uJ3QgcmVkcmF3IHRoZSBib3R0b20gbGluZSBpZiBubyByb3dzIHdlcmUgaW5zZXJ0ZWQgb3IgZGVsZXRlZC4KKwkgICAgRG9uJ3QgZHJhdyB0aGUgbGluZSBpZiB3ZSBrbm93ICJAIiBsaW5lcyB3aWxsIGJlIHVzZWQuCitGaWxlczoJICAgIHNyYy9zY3JlZW4uYworCitQYXRjaCA2LjIuMzkwCitQcm9ibGVtOiAgICBVc2luZyAicioiIGluIFZpc3VhbCBtb2RlIG9uIG11bHRpLWJ5dGUgY2hhcmFjdGVycyBvbmx5IHJlcGxhY2VzCisJICAgIGV2ZXJ5IG90aGVyIGNoYXJhY3Rlci4gKFR5c29uIFJvYmVydHMpCitTb2x1dGlvbjogICBDb3JyZWN0IHRoZSBjdXJzb3IgcG9zaXRpb24gYWZ0ZXIgcmVwbGFjaW5nIGVhY2ggY2hhcmFjdGVyLgorRmlsZXM6CSAgICBzcmMvb3BzLmMKKworUGF0Y2ggNi4yLjM5MSAoZXh0cmEpCitQcm9ibGVtOiAgICBUaGUgIjpoaWdobGlnaHQiIGNvbW1hbmQgaXMgbm90IHRlc3RlZC4KK1NvbHV0aW9uOiAgIEFkZCBhIHRlc3Qgc2NyaXB0IGZvciAiOmhpZ2hsaWdodCIuCitGaWxlczoJICAgIHNyYy90ZXN0ZGlyL01ha2VmaWxlLCBzcmMvdGVzdGRpci9NYWtlX2FtaWdhLm1haywKKwkgICAgc3JjL3Rlc3RkaXIvTWFrZV9kb3MubWFrLCBzcmMvdGVzdGRpci9NYWtlX29zMi5tYWssCisJICAgIHNyYy90ZXN0ZGlyL01ha2Vfdm1zLm1tcywgc3JjL3Rlc3RkaXIvdGVzdDUxLmluLAorCSAgICBzcmMvdGVzdGRpci90ZXN0NTEub2sKKworUGF0Y2ggNi4yLjM5MiAoYWZ0ZXIgNi4yLjM4NCkKK1Byb2JsZW06ICAgIFVudXNlZCB2YXJpYWJsZS4KK1NvbHV0aW9uOiAgIFJlbW92ZSAiZGxlbiIuCitGaWxlczoJICAgIHNyYy9tZW51LmMKKworUGF0Y2ggNi4yLjM5MworUHJvYmxlbTogICAgV2hlbiB1c2luZyB2ZXJ5IGxvbmcgbGluZXMgdGhlIHZpbWluZm8gZmlsZSBjYW4gYmVjb21lIHZlcnkgYmlnLgorU29sdXRpb246ICAgQWRkIHRoZSAicyIgZmxhZyB0byAndmltaW5mbyc6IHNraXAgcmVnaXN0ZXJzIHdpdGggbW9yZSB0aGFuIHRoZQorCSAgICBzcGVjaWZpZWQgS2J5dGUgb2YgdGV4dC4KK0ZpbGVzOgkgICAgcnVudGltZS9kb2Mvb3B0aW9ucy50eHQsIHNyYy9vcHMuYywgc3JjL29wdGlvbi5jCisKK1BhdGNoIDYuMi4zOTQgIChhZnRlciA2LjIuMzkxKQorUHJvYmxlbTogICAgVGVzdCA1MSBmYWlscyBvbiBhIHRlcm1pbmFsIHdpdGggOCBjb2xvcnMuIChUb255IExlbmVpcykKK1NvbHV0aW9uOiAgIFVzZSAiRGFya0JsdWUiIGluc3RlYWQgb2YgIkJsdWUiIHRvIGF2b2lkIHRoZSAiYm9sZCIgYXR0cmlidXRlLgorRmlsZXM6CSAgICBzcmMvdGVzdGRpci90ZXN0NTEuaW4KKworUGF0Y2ggNi4yLjM5NQorUHJvYmxlbTogICAgV2hlbiB1c2luZyAiOnRhZyIgb3IgIjpwb3AiIHRoZSBwcmV2aW91cyBtYXRjaGluZyB0YWcgaXMgdXNlZC4KKwkgICAgQnV0IHNpbmNlIHRoZSBjdXJyZW50IGZpbGUgaXMgZGlmZmVyZW50LCB0aGUgb3JkZXJpbmcgb2YgdGhlIHRhZ3MKKwkgICAgbWF5IGNoYW5nZS4KK1NvbHV0aW9uOiAgIFJlbWVtYmVyIHdoYXQgdGhlIGN1cnJlbnQgYnVmZmVyIHdhcyBmb3Igd2hlbiByZS11c2luZyBjdXJfbWF0Y2guCitGaWxlczoJICAgIHNyYy9lZGl0LmMsIHNyYy9leF9jbWRzLmMsIHNyYy9wcm90by90YWcucHJvLCBzcmMvc3RydWN0cy5oLAorCSAgICBzcmMvdGFnLmMKKworUGF0Y2ggNi4yLjM5NgorUHJvYmxlbTogICAgV2hlbiBDVFJMLVQganVtcHMgdG8gYW5vdGhlciBmaWxlIGFuZCBhbiBhdXRvY29tbWFuZCBtb3ZlcyB0aGUKKwkgICAgY3Vyc29yIHRvIHRoZSAnIiBtYXJrLCBkb24ndCBlbmQgdXAgb24gdGhlIHJpZ2h0IGxpbmUuICAoTWljaGFsCisJICAgIE1hbGVja2kpCitTb2x1dGlvbjogICBTZXQgdGhlIGxpbmUgbnVtYmVyIGFmdGVyIGxvYWRpbmcgdGhlIGZpbGUuCitGaWxlczoJICAgIHNyYy90YWcuYworCitQYXRjaCA2LjIuMzk3CitQcm9ibGVtOiAgICBXaGVuIHVzaW5nIGEgZG91YmxlLWJ5dGUgJ2VuY29kaW5nJyBtYXBwaW5nIDxNLXg+IGRvZXNuJ3Qgd29yay4KKwkgICAgKFlhc3VoaXJvIE1hdHN1bW90bykKK1NvbHV0aW9uOiAgIERvIG5vdCBzZXQgdGhlIDh0aCBiaXQgb2YgdGhlIGNoYXJhY3RlciBidXQgdXNlIGEgbW9kaWZpZXIuCitGaWxlczoJICAgIHNyYy9ndWlfZ3RrX3gxMS5jLCBzcmMvZ3VpX3gxMS5jLCBzcmMvbWlzYzIuYworCitQYXRjaCA2LjIuMzk4IChleHRyYSkKK1Byb2JsZW06ICAgIFdpbjMyIGNvbnNvbGU6IG5vIGV4dHJhIGtleSBtb2RpZmllcnMgYXJlIHN1cHBvcnRlZC4KK1NvbHV0aW9uOiAgIEVuY29kZSB0aGUgbW9kaWZpZXJzIGludG8gdGhlIGlucHV0IHN0cmVhbS4gIEFsc28gZml4IHRoYXQgc3BlY2lhbAorCSAgICBrZXlzIGFyZSBjb252ZXJ0ZWQgYW5kIHN0b3Agd29ya2luZyB3aGVuICd0ZW5jJyBpcyBzZXQuICBBbHNvIGZpeAorCSAgICB0aGF0IHdoZW4gJ3RlbmMnIGlzIGludGlhbGl6ZWQgdGhlIGlucHV0IGFuZCBvdXRwdXQgY29udmVyc2lvbiBpcworCSAgICBub3Qgc2V0dXAgcHJvcGVybHkgdW50aWwgJ2VuYycgb3IgJ3RlbmMnIGlzIHNldC4KK0ZpbGVzOgkgICAgc3JjL2dldGNoYXIuYywgc3JjL29wdGlvbi5jLCBzcmMvb3Nfd2luMzIuYworCitQYXRjaCA2LjIuMzk5CitQcm9ibGVtOiAgICBBICI6c2V0IiBjb21tYW5kIHRoYXQgZmFpbHMgc3RpbGwgd3JpdGVzIGEgbWVzc2FnZSB3aGVuIGl0IGlzCisJICAgIGluc2lkZSBhIHRyeS9jYXRjaCBibG9jay4KK1NvbHV0aW9uOiAgIEluY2x1ZGUgYWxsIHRoZSB0ZXh0IG9mIHRoZSBtZXNzYWdlIGluIHRoZSBlcnJvciBtZXNzYWdlLgorRmlsZXM6CSAgICBzcmMvY2hhcnNldC5jLCBzcmMvb3B0aW9uLmMKKworUGF0Y2ggNi4yLjQwMAorUHJvYmxlbTogICAgQ2FuJ3QgY29tcGlsZSBpZl94Y21kc3J2LmMgb24gSFAtVVggMTEuMC4KK1NvbHV0aW9uOiAgIEluY2x1ZGUgaGVhZGVyIGZpbGUgcG9sbC5oLiAoTWFsdGUgTmV1bWFubikKK0ZpbGVzOgkgICAgc3JjL2lmX3hjbWRzcnYuYworCitQYXRjaCA2LjIuNDAxCitQcm9ibGVtOiAgICBXaGVuIG9wZW5pbmcgYSBidWZmZXIgdGhhdCB3YXMgcHJldmlvdXNseSBvcGVuZWQsIFZpbSBkb2VzIG5vdAorCSAgICByZXN0b3JlIHRoZSBjdXJzb3IgcG9zaXRpb24gaWYgdGhlIGZpcnN0IGxpbmUgc3RhcnRzIHdpdGggd2hpdGUKKwkgICAgc3BhY2UuICAoR3JlZ29yeSBNYXJnbykKK1NvbHV0aW9uOiAgIERvbid0IHNraXAgcmVzdG9yaW5nIHRoZSBjdXJzb3IgcG9zaXRpb24gaWYgaXQgaXMgcGFzdCB0aGUgYmxhbmtzCisJICAgIGluIHRoZSBmaXJzdCBsaW5lLgorRmlsZXM6CSAgICBzcmMvYnVmZmVyLmMKKworUGF0Y2ggNi4yLjQwMgorUHJvYmxlbTogICAgTWFjOiAibWFrZSBpbnN0YWxsIiBkb2Vzbid0IGdlbmVyYXRlIGhlbHAgdGFncy4gKEJlbmppIEZpc2hlcikKK1NvbHV0aW9uOiAgIEdlbmVyYXRlIGhlbHAgdGFncyBiZWZvcmUgY29weWluZyB0aGUgcnVudGltZSBmaWxlcy4KK0ZpbGVzOgkgICAgc3JjL01ha2VmaWxlCisKK1BhdGNoIDYuMi40MDMKK1Byb2JsZW06ICAgICI6QHkiIGNoZWNrcyBzdGRpbiBpZiB0aGVyZSBhcmUgbW9yZSBjb21tYW5kcyB0byBleGVjdXRlLiAgVGhpcworCSAgICBmYWlscyBpZiBzdGRpbiBpcyBub3QgY29ubmVjdGVkLCBlLmcuLCB3aGVuIHN0YXJ0aW5nIHRoZSBHVUkgZnJvbQorCSAgICBLREUuIChOZWQgS29ueikKK1NvbHV0aW9uOiAgIE9ubHkgY2hlY2sgZm9yIGEgbmV4dCBjb21tYW5kIGlmIHRoZXJlIHN0aWxsIGlzIHR5cGVhaGVhZC4KK0ZpbGVzOgkgICAgc3JjL2V4X2RvY21kLmMKKworUGF0Y2ggNi4yLjQwNAorUHJvYmxlbTogICAgT3VyIG93biBmdW5jdGlvbiB0byBkZXRlcm1pbmUgd2lkdGggb2YgVW5pY29kZSBjaGFyYWN0ZXJzIG1heSBnZXQKKwkgICAgb3V0ZGF0ZWQuIChNYXJrdXMgS3VobikKK1NvbHV0aW9uOiAgIFVzZSB3Y3dpZHRoKCkgd2hlbiBpdCBpcyBhdmFpbGFibGUuICBBbHNvIHVzZSBpc3dwcmludCgpLgorRmlsZXM6CSAgICBzcmMvYXV0by9jb25maWd1cmUsIHNyYy9jb25maWd1cmUuaW4sIHNyYy9jb25maWcuaC5pbiwgc3JjL21ieXRlLmMKKworUGF0Y2ggNi4yLjQwNQorUHJvYmxlbTogICAgQ2Fubm90IG1hcCB6ZXJvIHdpdGhvdXQgYnJlYWtpbmcgdGhlIGNvdW50IGJlZm9yZSBhIGNvbW1hbmQuCisJICAgIChCZW5qaSBGaXNoZXIpCitTb2x1dGlvbjogICBEaXNhYmxlIG1hcHBpbmcgemVybyB3aGVuIGVudGVyaW5nIGEgY291bnQuCitGaWxlczoJICAgIHNyYy9nZXRjaGFyLmMsIHNyYy9nbG9iYWxzLmgsIHNyYy9ub3JtYWwuYworCitQYXRjaCA2LjIuNDA2CitQcm9ibGVtOiAgICAiOmhlbHAgXHpzIiwgIjpoZWxwIFxAPSIgYW5kIHNpbWlsYXIgZG9uJ3QgZmluZCB1c2VmdWwgaGVscC4KK1NvbHV0aW9uOiAgIFByZXBlbmQgIi9cIiB0byB0aGUgYXJndW1lbnRzIHRvIGZpbmQgdGhlIGRlc2lyZWQgaGVscCB0YWcuCitGaWxlczoJICAgIHNyYy9leF9jbWRzLmMKKworUGF0Y2ggNi4yLjQwNyAoYWZ0ZXIgNi4yLjI5OSkKK1Byb2JsZW06ICAgICI6aGVscCBcQDw9IiBkb2Vzbid0IGZpbmQgaGVscC4KK1NvbHV0aW9uOiAgIEF2b2lkIHRoYXQgIjpoZWxwIFxAPD0iIHNlYXJjaGVzIGZvciB0aGUgIjw9IiBsYW5ndWFnZS4KK0ZpbGVzOgkgICAgc3JjL3RhZy5jCisKK1BhdGNoIDYuMi40MDgKK1Byb2JsZW06ICAgICI6Y29tcGlsZXIiIGlzIG5vdCBjb25zaXN0ZW50OiBTZXRzIGxvY2FsIG9wdGlvbnMgYW5kIGEgZ2xvYmFsCisJICAgIHZhcmlhYmxlLiAoRG91Z2xhcyBQb3R0cykgIFRoZXJlIGlzIG5vIGVycm9yIG1lc3NhZ2Ugd2hlbiBhCisJICAgIGNvbXBpbGVyIGlzIG5vdCBzdXBwb3J0ZWQuCitTb2x1dGlvbjogICBVc2UgIjpjb21waWxlciEiIHRvIHNldCBhIGNvbXBpbGVyIGdsb2JhbGx5LCBvdGhlcndpc2UgaXQncyBsb2NhbAorCSAgICB0byB0aGUgYnVmZmVyIGFuZCAiYjpjdXJyZW50X2NvbXBpbGVyIiBpcyB1c2VkLiAgR2l2ZSBhbiBlcnJvcgorCSAgICB3aGVuIG5vIGNvbXBpbGVyIHNjcmlwdCBjb3VsZCBiZSBmb3VuZC4KKwkgICAgTm90ZTogdXBkYXRlZCBjb21waWxlciBwbHVnaW5zIGNhbiBiZSBmb3VuZCBhdAorCSAgICBmdHA6Ly9mdHAudmltLm9yZy9wdWIvdmltL3J1bnRpbWUvY29tcGlsZXIvCitGaWxlczoJICAgIHJ1bnRpbWUvY29tcGlsZXIvbXN2Yy52aW0sIHJ1bnRpbWUvZG9jL3F1aWNrZml4LnR4dCwgc3JjL2V2YWwuYywKKwkgICAgc3JjL2V4X2NtZHMyLmMKKworUGF0Y2ggNi4yLjQwOQorUHJvYmxlbTogICAgVGhlIGN1cnNvciBlbmRzIHVwIGluIHRoZSBsYXN0IGNvbHVtbiBpbnN0ZWFkIG9mIGFmdGVyIHRoZSBsaW5lCisJICAgIHdoZW4gZG9pbmcgImkvLzxFc2M+byIgd2l0aCAnaW5kZW50ZXhwcicgc2V0IHRvICJjaW5kZW50KHY6bG51bSkiLgorCSAgICAoVG9ieSBBbGxzb3BwKQorU29sdXRpb246ICAgQWRqdXN0IHRoZSBjdXJzb3IgYXMgaWYgaW4gSW5zZXJ0IG1vZGUuCitGaWxlczoJICAgIHNyYy9taXNjMS5jCisKK1BhdGNoIDYuMi40MTAgKGFmdGVyIDYuMi4zODkpCitQcm9ibGVtOiAgICBJbiBkaWZmIG1vZGUsIHdoZW4gdGhlcmUgYXJlIG1vcmUgZmlsbGVyIGxpbmVzIHRoYW4gZml0IGluIHRoZQorCSAgICB3aW5kb3csIHRoZXkgYXJlIG5vdCBkcmF3bi4KK1NvbHV0aW9uOiAgIENoZWNrIGZvciBmaWxsZXIgbGluZXMgd2hlbiBza2lwcGluZyB0byBkcmF3IGEgbGluZSB0aGF0IGRvZXNuJ3QKKwkgICAgZml0LgorRmlsZXM6CSAgICBzcmMvc2NyZWVuLmMKKworUGF0Y2ggNi4yLjQxMQorUHJvYmxlbTogICAgQSAiXG4iIGluc2lkZSBhIHN0cmluZyBpcyBub3Qgc2VlbiBhcyBhIGxpbmUgYnJlYWsgYnkgdGhlIHJlZ3VsYXIKKwkgICAgZXhwcmVzc2lvbiBtYXRjaGluZy4gKEhhcmkgS3Jpc2huYSBEYXJhKQorU29sdXRpb246ICAgQWRkIHRoZSB2aW1fcmVnZXhlY19ubCgpIGZ1bmN0aW9uIGZvciBzdHJpbmdzIHdoZXJlICJcbiIgaXMgdG8gYmUKKwkgICAgbWF0Y2hlZCB3aXRoIGEgbGluZSBicmVhay4KK0ZpbGVzOgkgICAgc3JjL2V2YWwuYywgc3JjL2V4X2V2YWwuYywgc3JjL3Byb3RvL3JlZ2V4cC5jLCBzcmMvcmVnZXhwLmMKKworUGF0Y2ggNi4yLjQxMgorUHJvYmxlbTogICAgUnVieTogInJ1YnkgPDwgRU9GIiBpbnNpZGUgYSBmdW5jdGlvbiBkb2Vzbid0IGFsd2F5cyB3b3JrLiAgQWxzbworCSAgICBmb3IgIjpweXRob24iLCAiOnRjbCIgYW5kICI6cGVybCIuCitTb2x1dGlvbjogICBDaGVjayBmb3IgIjw8IG1hcmtlciIgYW5kIHNraXAgdW50aWwgIm1hcmtlciIgYmVmb3JlIGNoZWNraW5nIGZvcgorCSAgICAiZW5kZnVuY3Rpb24iLgorRmlsZXM6CSAgICBzcmMvZXZhbC5jCisKK1BhdGNoIDYuMi40MTMgKGFmdGVyIDYuMi40MTEpCitQcm9ibGVtOiAgICBNaXNzaW5nIHByb3RvdHlwZSBmb3IgdmltX3JlZ2V4ZWNfbmwoKS4gKE1hcmNlbCBTdml0YWxza3kpCitTb2x1dGlvbjogICBOb3cgcmVhbGx5IGluY2x1ZGUgdGhlIHByb3RvdHlwZS4KK0ZpbGVzOgkgICAgc3JjL3Byb3RvL3JlZ2V4cC5wcm8KKworUGF0Y2ggNi4yLjQxNAorUHJvYmxlbTogICAgVGhlIGZ1bmN0aW9uIHVzZWQgZm9yIGN1c3RvbSBjb21wbGV0aW9uIG9mIHVzZXIgY29tbWFuZHMgY2Fubm90CisJICAgIGhhdmUgPFNJRD4gdG8gbWFrZSBpdCBsb2NhbC4gKEhhcmkgS3Jpc2huYSBEYXJhKQorU29sdXRpb246ICAgUGFzcyB0aGUgU0lEIG9mIHRoZSBzY3JpcHQgd2hlcmUgdGhlIHVzZXIgY29tbWFuZCB3YXMgZGVmaW5lZCBvbgorCSAgICB0byB0aGUgY29tcGxldGlvbi4gIEFsc28gY2xlYW4gdXAgI2lmZGVmcy4KK0ZpbGVzOgkgICAgc3JjL2V4X2RvY21kLmMsIHNyYy9ldmFsLmMsIHNyYy9leF9nZXRsbi5jLCBzcmMvc3RydWN0cy5oCisKK1BhdGNoIDYuMi40MTUKK1Byb2JsZW06ICAgIFZpbSBtYXkgY3Jhc2ggYWZ0ZXIgYSBzZXF1ZW5jZSBvZiBldmVudHMgdGhhdCBjaGFuZ2UgdGhlIHdpbmRvdworCSAgICBzaXplLiAgVGhlIHdpbmRvdyBsYXlvdXQgYXNzdW1lcyBhIGxhcmdlciB3aW5kb3cgdGhhbiBpcyBhY3R1YWxseQorCSAgICBhdmFpbGFibGUuIChTZXJ2YXRpdXMgQnJhbmR0KQorU29sdXRpb246ICAgSW52b2tlIHdpbl9uZXdfc2hlbGxzaXplKCkgZnJvbSBzY3JlZW5hbGxvYygpIGluc3RlYWQgb2YgZnJvbQorCSAgICBzZXRfc2hlbGxzaXplKCkuCitGaWxlczoJICAgIHNyYy9zY3JlZW4uYywgc3JjL3Rlcm0uYworCitQYXRjaCA2LjIuNDE2CitQcm9ibGVtOiAgICBDb21waWxlciB3YXJuaW5nIGZvciBpbmNvbXBhdGlibGUgcG9pbnRlci4KK1NvbHV0aW9uOiAgIFJlbW92ZSB0aGUgIiYiIGluIHRoZSBjYWxsIHRvIHBvbGwoKS4gKFhhdmllciBkZSBHYXllKQorRmlsZXM6CSAgICBzcmMvb3NfdW5peC5jCisKK1BhdGNoIDYuMi40MTcgKGFmdGVyIDYuMi4zOTMpCitQcm9ibGVtOiAgICBNYW55IHBlb3BsZSBmb3JnZXQgdGhhdCB0aGUgJyInIGl0ZW0gaW4gJ3ZpbWluZm8nIG5lZWRzIHRvIGJlCisJICAgIHByZWNlZGVkIHdpdGggYSBiYWNrc2xhc2gsCitTb2x1dGlvbjogICBBZGQgJzwnIGFzIGFuIGFsaWFzIGZvciB0aGUgJyInIGl0ZW0uCitGaWxlczoJICAgIHJ1bnRpbWUvZG9jL29wdGlvbnMudHh0LCBzcmMvb3BzLmMsIHNyYy9vcHRpb24uYworCitQYXRjaCA2LjIuNDE4CitQcm9ibGVtOiAgICBVc2luZyAiOm5ub3JlbWFwIDxGMTI+IDplY2hvICJjaGVlc2UiIGFuZCAiOmNhYmJyIGNoZWVzZSB4eHgiOgorCSAgICB3aGVuIHByZXNzaW5nIDxGMTI+IHN0aWxsIHVzZXMgdGhlIGFiYnJldmlhdGlvbi4gKEhhcmkgS3Jpc2huYSkKK1NvbHV0aW9uOiAgIEFsc28gYXBwbHkgIm5vcmVtYXAiIHRvIGFiYnJldmlhdGlvbnMuCitGaWxlczoJICAgIHNyYy9nZXRjaGFyLmMKKworUGF0Y2ggNi4yLjQxOSAoZXh0cmEpCitQcm9ibGVtOiAgICBXaW4zMjogQ2Fubm90IG9wZW4gdGhlIFZpbSB3aW5kb3cgaW5zaWRlIGFub3RoZXIgYXBwbGljYXRpb24uCitTb2x1dGlvbjogICBBZGQgdGhlICItUCIgYXJndW1lbnQgdG8gc3BlY2lmeSB0aGUgd2luZG93IHRpdGxlIG9mIHRoZQorCSAgICBhcHBsaWNhdGlvbiB0byBydW4gaW5zaWRlLiAoWmlibyBaaGFvKQorRmlsZXM6CSAgICBydW50aW1lL2RvYy9zdGFydGluZy50eHQsIHNyYy9tYWluLmMsIHNyYy9ndWlfdzMyLmMsCisJICAgIHNyYy9ndWlfdzQ4LmMsIHNyYy9pZl9vbGUuY3BwLCBzcmMvb3NfbXN3aW4uYywKKwkgICAgc3JjL3Byb3RvL2d1aV93MzIucHJvCisKK1BhdGNoIDYuMi40MjAKK1Byb2JsZW06ICAgIENhbm5vdCBzcGVjaWZ5IGEgZmlsZSB0byBiZSBlZGl0ZWQgaW4gYmluYXJ5IG1vZGUgd2l0aG91dCBzZXR0aW5nCisJICAgIHRoZSBnbG9iYWwgdmFsdWUgb2YgdGhlICdiaW5hcnknIG9wdGlvbi4KK1NvbHV0aW9uOiAgIFN1cHBvcnQgIjplZGl0ICsrYmluIGZpbGUiLgorRmlsZXM6CSAgICBydW50aW1lL2RvYy9lZGl0aW5nLnR4dCwgc3JjL2J1ZmZlci5jLCBzcmMvZXZhbC5jLCBzcmMvZXhfY21kcy5oLAorCSAgICBzcmMvZXhfZG9jbWQuYywgc3JjL2ZpbGVpby5jLCBzcmMvbWlzYzIuYworCitQYXRjaCA2LjIuNDIxCitQcm9ibGVtOiAgICBDYW5ub3Qgc2V0IHRoZSAnWyBhbmQgJ10gbWFyaywgd2hpY2ggbWF5IGJlIG5lY2Vzc2FyeSB3aGVuIGFuCisJICAgIGF1dG9jb21tYW5kIHNpbXVsYXRlcyByZWFkaW5nIGEgZmlsZS4KK1NvbHV0aW9uOiAgIEFsbG93IHVzaW5nICJtWyIgYW5kICJtXSIuCitGaWxlczoJICAgIHJ1bnRpbWUvZG9jL21vdGlvbi50eHQsIHNyYy9tYXJrLmMKKworUGF0Y2ggNi4yLjQyMgorUHJvYmxlbTogICAgSW4gQ1RSTC1YIGNvbXBsZXRpb24gbWVzc2FnZXMgdGhlICIvIiBtYWtlcyB0aGVtIGxlc3MgcmVhZGFibGUuCitTb2x1dGlvbjogICBSZW1vdmUgdGhlIHNsYXNoZXMuIChBbnRvbnkgU2NyaXZlbikKK0ZpbGVzOgkgICAgc3JjL2VkaXQuYworCitQYXRjaCA2LjIuNDIzCitQcm9ibGVtOiAgICAiOnZlcnRpY2FsIHdpbmNtZCBdIiBkb2VzIG5vdCBzcGxpdCB2ZXJ0aWNhbGx5LgorU29sdXRpb246ICAgQWRkICJwb3N0cG9uZWRfc3BsaXRfZmxhZ3MiLgorRmlsZXM6CSAgICBzcmMvZXhfZG9jbWQuYywgc3JjL2dsb2JhbHMuaCwgc3JjL2lmX2NzY29wZS5jLCBzcmMvdGFnLmMKKworUGF0Y2ggNi4yLjQyNAorUHJvYmxlbTogICAgQSBCdWZFbnRlciBhdXRvY29tbWFuZCB0aGF0IHNldHMgYW4gb3B0aW9uIHN0b3BzICdtb3VzZWZvY3VzJyBmcm9tCisJICAgIHdvcmtpbmcgaW4gSW5zZXJ0IG1vZGUgKE5vcm1hbCBtb2RlIGlzIE9LKS4gKEdyZWdvcnkgU2VpZG1hbikKK1NvbHV0aW9uOiAgIEluIHRoZSBJbnNlcnQgbW9kZSBsb29wIGludm9rZSBndWlfbW91c2VfY29ycmVjdCgpIHdoZW4gbmVlZGVkLgorRmlsZXM6CSAgICBzcmMvZWRpdC5jCisKK1BhdGNoIDYuMi40MjUKK1Byb2JsZW06ICAgIFZlcnRpY2FsIHNwbGl0IGFuZCBjb21tYW5kIGxpbmUgd2luZG93OiBjYW4gb25seSBkcmFnIHN0YXR1cyBsaW5lCisJICAgIGFib3ZlIHRoZSBjbWRsaW5lIHdpbmRvdyBvbiB0aGUgcmlnaHRoYW5kIHNpZGUsIG5vdCBsZWZ0aGFuZCBzaWRlLgorU29sdXRpb246ICAgQ2hlY2sgdGhlIHN0YXR1cyBsaW5lIHJvdyBpbnN0ZWFkIG9mIHRoZSB3aW5kb3cgcG9pbnRlci4KK0ZpbGVzOgkgICAgc3JjL3VpLmMKKworUGF0Y2ggNi4yLjQyNgorUHJvYmxlbTogICAgQSBzeW50YXggcmVnaW9uIGVuZCBtYXRjaCB3aXRoIGEgbWF0Y2hncm91cCB0aGF0IGluY2x1ZGVzIGEgbGluZQorCSAgICBicmVhayBvbmx5IGhpZ2hsaWdodHMgdGhlIGxhc3QgbGluZSB3aXRoIG1hdGNoZ3JvdXAuIChHYXJ5CisJICAgIEhvbGxvd2F5KQorU29sdXRpb246ICAgQWxzbyB1c2UgdGhlIGxpbmUgbnVtYmVyIG9mIHRoZSBwb3NpdGlvbiB3aGVyZSB0aGUgcmVnaW9uCisJICAgIGhpZ2hsaWdodGluZyBlbmRzLgorRmlsZXM6CSAgICBzcmMvc3ludGF4LmMKKworUGF0Y2ggNi4yLjQyNyAoZXh0cmEpCitQcm9ibGVtOiAgICBXaGVuIHBhc3RpbmcgYSBsb3Qgb2YgdGV4dCBpbiBhIG11bHRpLWJ5dGUgZW5jb2RpbmcsIGNvbnZlcnNpb24KKwkgICAgZnJvbSAndGVybWVuY29kaW5nJyB0byAnZW5jb2RpbmcnIG1heSBmYWlsIGZvciBzb21lIGNoYXJhY3RlcnMuCisJICAgIChLdWFuZy1jaGUgV3UpCitTb2x1dGlvbjogICBXaGVuIHRoZXJlIGlzIGFuIGluY29tcGxldGUgYnl0ZSBzZXF1ZW5jZSBhdCB0aGUgZW5kIG9mIHRoZSByZWFkCisJICAgIHRleHQga2VlcCBpdCBmb3IgdGhlIG5leHQgdGltZS4KK0ZpbGVzOgkgICAgc3JjL21ieXRlLmMsIHNyYy9vc19hbWlnYS5jLCBzcmMvb3NfbXN3aW4uYywgc3JjL3Byb3RvL21ieXRlLnBybywKKwkgICAgc3JjL3Byb3RvL29zX21zd2luLnBybywgc3JjL3VpLmMKKworUGF0Y2ggNi4yLjQyOAorUHJvYmxlbTogICAgVGhlIFgxMSBjbGlwYm9hcmQgc3VwcG9ydHMgdGhlIFZpbSBzZWxlY3Rpb24gZm9yIGNoYXIvbGluZS9ibG9jaworCSAgICBtb2RlLCBidXQgc2luY2UgdGhlIGVuY29kaW5nIGlzIG5vdCBpbmNsdWRlZCAgY2FuJ3QgY29weS9wYXN0ZQorCSAgICBiZXR3ZWVuIHR3byBWaW1zIHdpdGggYSBkaWZmZXJlbnQgJ2VuY29kaW5nJy4KK1NvbHV0aW9uOiAgIEFkZCBhIG5ldyBzZWxlY3Rpb24gZm9ybWF0IHRoYXQgaW5jbHVkZXMgdGhlICdlbmNvZGluZycuICBQZXJmb3JtCisJICAgIGNvbnZlcnNpb24gd2hlbiBuZWNlc3NhcnkuCitGaWxlczoJICAgIHNyYy9ndWlfZ3RrX3gxMS5jLCBzcmMvdWkuYywgc3JjL3ZpbS5oCisKK1BhdGNoIDYuMi40MjkKK1Byb2JsZW06ICAgIFVuaXg6IGdsb2IoKSBkb2Vzbid0IHdvcmsgZm9yIGEgZGlyZWN0b3J5IHdpdGggYSBzaW5nbGUgcXVvdGUgaW4KKwkgICAgdGhlIG5hbWUuIChOYXpyaSBSYW1saXkpCitTb2x1dGlvbjogICBXaGVuIHVzaW5nIHRoZSBzaGVsbCB0byBleHBhbmQsIG9ubHkgcHV0IGRvdWJsZSBxdW90ZXMgYXJvdW5kCisJICAgIHNwYWNlcyBhbmQgc2luZ2xlIHF1b3Rlcywgbm90IHRoZSB3aG9sZSB0aGluZy4KK0ZpbGVzOgkgICAgc3JjL29zX3VuaXguYworCitQYXRjaCA2LjIuNDMwCitQcm9ibGVtOiAgICBCT00gYXQgc3RhcnQgb2YgYSB2aW0gc2NyaXB0IGZpbGUgaXMgbm90IHJlY29nbml6ZWQgYW5kIGNhdXNlcyBhbgorCSAgICBlcnJvciBtZXNzYWdlLgorU29sdXRpb246ICAgRGV0ZWN0IHRoZSBCT00gYW5kIHNraXAgb3ZlciBpdC4gIEFsc28gZml4IHRoYXQgYWZ0ZXIgdXNpbmcKKwkgICAgIjpzY3JpcHRlbmNvZGluZyIgdGhlIGljb252KCkgZmlsZSBkZXNjcmlwdG9yIHdhcyBub3QgY2xvc2VkCisJICAgIChtZW1vcnkgbGVhaykuCitGaWxlczoJICAgIHNyYy9leF9jbWRzMi5jCisKK1BhdGNoIDYuMi40MzEKK1Byb2JsZW06ICAgIFdoZW4gdXNpbmcgdGhlIGhvcml6b250YWwgc2Nyb2xsYmFyLCB0aGUgc2Nyb2xsaW5nIGlzIGxpbWl0ZWQgdG8KKwkgICAgdGhlIGxlbmd0aCBvZiB0aGUgY3Vyc29yIGxpbmUuCitTb2x1dGlvbjogICBNYWtlIHRoZSBzY3JvbGwgbGltaXQgZGVwZW5kIG9uIHRoZSBsb25nZXN0IHZpc2libGUgbGluZS4gIFRoZQorCSAgICBjdXJzb3IgaXMgbW92ZWQgd2hlbiBuZWNlc3NhcnkuICBJbmNsdWRpbmcgdGhlICdoJyBmbGFnIGluCisJICAgICdndWlvcHRpb25zJyBkaXNhYmxlcyB0aGlzLgorRmlsZXM6CSAgICBydW50aW1lL2RvYy9ndWkudHh0LCBydW50aW1lL2RvYy9vcHRpb25zLnR4dCwgc3JjL2d1aS5jLAorCSAgICBzcmMvbWlzYzIuYywgc3JjL29wdGlvbi5oCisKK1BhdGNoIDYuMi40MzIgKGFmdGVyIDYuMi40MzAgYW5kIDYuMi40MzEpCitQcm9ibGVtOiAgICBMaW50IHdhcm5pbmdzLgorU29sdXRpb246ICAgQWRkIHR5cGUgY2FzdHMuCitGaWxlczoJICAgIHNyYy9leF9jbWRzMi5jLCBzcmMvZ3VpLmMKKworUGF0Y2ggNi4yLjQzMworUHJvYmxlbTogICAgVHJhbnNsYXRpbmcgIlZJU1VBTCIgYW5kICJCTE9DSyIgc2VwYXJhdGVseSBkb2Vzbid0IGdpdmUgYSBnb29kCisJICAgIHJlc3VsdC4gKEFsZWphbmRybyBMb3BleiBWYWxlbmNpYSkKK1NvbHV0aW9uOiAgIFVzZSBhIHN0cmluZyBmb3IgZWFjaCBjb21iaW5hdGlvbi4KK0ZpbGVzOgkgICAgc3JjL3NjcmVlbi5jCisKK1BhdGNoIDYuMi40MzQgKGFmdGVyIDYuMi40MzEpCitQcm9ibGVtOiAgICBDb21waWxlciB3YXJuaW5nLiAoU2FsbWFuIEhhbGltKQorU29sdXRpb246ICAgQWRkIHR5cGUgY2FzdHMuCitGaWxlczoJICAgIHNyYy9ndWkuYworCitQYXRjaCA2LjIuNDM1CitQcm9ibGVtOiAgICBXaGVuIHRoZXJlIGFyZSB2ZXJ0aWNhbGx5IHNwbGl0IHdpbmRvd3MgdGhlIG1pbmltYWwgVmltIHdpbmRvdworCSAgICBoZWlnaHQgaXMgY29tcHV0ZWQgd3JvbmcuCitTb2x1dGlvbjogICBVc2UgZnJhbWVfbWluaGVpZ2h0KCkgdG8gY29ycmVjdGx5IGNvbXB1dGUgdGhlIG1pbmltYWwgaGVpZ2h0LgorRmlsZXM6CSAgICBzcmMvd2luZG93LmMKKworUGF0Y2ggNi4yLjQzNgorUHJvYmxlbTogICAgUnVubmluZyB0aGUgdGVzdHMgY2hhbmdlcyB0aGUgdXNlcidzIHZpbWluZm8gZmlsZS4KK1NvbHV0aW9uOiAgIEluIHRlc3QgNDkgdGVsbCB0aGUgZXh0cmEgVmltIHRvIHVzZSB0aGUgdGVzdCB2aW1pbmZvIGZpbGUuCitGaWxlczoJICAgIHNyYy90ZXN0ZGlyL3Rlc3Q0OS52aW0KKworUGF0Y2ggNi4yLjQzNworUHJvYmxlbTogICAgIjpta3Nlc3Npb24iIGFsd2F5cyBwdXRzICJzZXQgbm9jb21wYXRpYmxlIiBpbiB0aGUgc2Vzc2lvbiBmaWxlLgorCSAgICBUaGlzIGNoYW5nZXMgb3B0aW9uIHNldHRpbmdzLiAoUm9uIEFhcm9uKQorU29sdXRpb246ICAgQWRkIGFuICJpZiIgdG8gb25seSBjaGFuZ2UgJ2NvbXBhdGlibGUnIHdoZW4gbmVlZGVkLgorRmlsZXM6CSAgICBzcmMvZXhfZG9jbWQuYworCitQYXRjaCA2LjIuNDM4CitQcm9ibGVtOiAgICBXaGVuIHRoZSAndicgZmxhZyBpcyBwcmVzZW50IGluICdjcG9wdGlvbnMnLCBiYWNrc3BhY2luZyBhbmQgdGhlbgorCSAgICB0eXBpbmcgdGV4dCBhZ2Fpbjogb25lIGNoYXJhY3RlciB0b28gbXVjaCBpcyBvdmVydHlwZWQgYmVmb3JlCisJICAgIGluc2VydGluZyBpcyBkb25lIGFnYWluLgorU29sdXRpb246ICAgU2V0ICJkb2xsYXJfdmNvbCIgdG8gdGhlIHJpZ2h0IGNvbHVtbi4KK0ZpbGVzOgkgICAgc3JjL2VkaXQuYworCitQYXRjaCA2LjIuNDM5CitQcm9ibGVtOiAgICBHVEsgMjogQ2hhbmdpbmcgJ2xpbmVzJyBtYXkgY2F1c2UgYSBtaXNtYXRjaCBiZXR3ZWVuIHRoZSB3aW5kb3cKKwkgICAgbGF5b3V0IGFuZCB0aGUgc2l6ZSBvZiB0aGUgd2luZG93LgorU29sdXRpb246ICAgRGlzYWJsZSB0aGUgaGFjayB3aXRoIGZvcmNlX3NoZWxsX3Jlc2l6ZV9pZGxlKCkuCitGaWxlczoJICAgIHNyYy9ndWlfZ3RrX3gxMS5jCisKK1BhdGNoIDYuMi40NDAKK1Byb2JsZW06ICAgIFdoZW4gJ2xhenlyZWRyYXcnIGlzIHNldCB0aGUgd2luZG93IHRpdGxlIGlzIHN0aWxsIHVwZGF0ZWQuCisJICAgIFRoZSBzaXplIG9mIHRoZSBWaXN1YWwgYXJlYSBhbmQgdGhlIHJ1bGVyIGFyZSBkaXNwbGF5ZWQgdG9vIG9mdGVuLgorU29sdXRpb246ICAgUG9zdHBvbmUgcmVkcmF3aW5nIHRoZSB3aW5kb3cgdGl0bGUuICBPbmx5IHNob3cgdGhlIFZpc3VhbCBhcmVhCisJICAgIHNpemUgd2hlbiB3YWl0aW5nIGZvciBhIGNoYXJhY3Rlci4gIERvbid0IGRyYXcgdGhlIHJ1bGVyCisJICAgIHVubmVjZXNzYXJ5LgorRmlsZXM6CSAgICBzcmMvYnVmZmVyLmMsIHNyYy9ub3JtYWwuYywgc3JjL3NjcmVlbi5jCisKK1BhdGNoIDYuMi40NDEKK1Byb2JsZW06ICAgICI6dW5hYmJyZXZpYXRlIGZvbyAiIGRvZXNuJ3Qgd29yaywgYmVjYXVzZSBvZiB0aGUgdHJhaWxpbmcgc3BhY2UsCisJICAgIHdoaWxlIGFuIGFiYnJldmlhdGlvbiB3aXRoIGEgdHJhaWxpbmcgc3BhY2UgaXMgbm90IHBvc3NpYmxlLiAoUGF1bAorCSAgICBKb2xseSkKK1NvbHV0aW9uOiAgIEFjY2VwdCBhIG1hdGNoIHdpdGggdGhlIGxocyBvZiBhbiBhYmJyZXZpYXRpb24gd2l0aG91dCB0aGUKKwkgICAgdHJhaWxpbmcgc3BhY2UuCitGaWxlczoJICAgIHNyYy9nZXRjaGFyLmMKKworUGF0Y2ggNi4yLjQ0MgorUHJvYmxlbTogICAgQ2Fubm90IG1hbmlwdWxhdGUgdGhlIGNvbW1hbmQgbGluZSBmcm9tIGEgZnVuY3Rpb24uCitTb2x1dGlvbjogICBBZGQgZ2V0Y21kbGluZSgpLCBnZXRjbWRwb3MoKSBhbmQgc2V0Y21kcG9zKCkgZnVuY3Rpb25zIGFuZCB0aGUKKwkgICAgQ1RSTC1cIGUgY29tbWFuZC4KK0ZpbGVzOgkgICAgcnVudGltZS9kb2MvY21kbGluZS50eHQsIHJ1bnRpbWUvZG9jL2V2YWwudHh0LCBzcmMvZXZhbC5jCisJICAgIHNyYy9leF9nZXRsbi5jLCBzcmMvb3BzLmMsIHNyYy9wcm90by9leF9nZXRsbi5wcm8sCisJICAgIHNyYy9wcm90by9vcHMucHJvCisKK1BhdGNoIDYuMi40NDMKK1Byb2JsZW06ICAgIFdpdGggIjpzaWxlbnQhIGVjaG9lcnIgc29tZXRoaW5nIiB5b3UgZG9uJ3QgZ2V0IHRoZSBwb3NpdGlvbiBvZgorCSAgICB0aGUgZXJyb3IuICBlbXNnKCkgb25seSB3cml0ZXMgdGhlIG1lc3NhZ2UgaXRzZWxmIGFuZCByZXR1cm5zLgorU29sdXRpb246ICAgQWxzbyByZWRpcmVjdCB0aGUgcG9zaXRpb24gb2YgdGhlIGVycm9yLgorRmlsZXM6CSAgICBzcmMvbWVzc2FnZS5jCisKK1BhdGNoIDYuMi40NDQKK1Byb2JsZW06ICAgIFdoZW4gYWRkaW5nIHRoZSAnYycgZmxhZyB0byBhICI6c3Vic3RpdHV0ZSIgY29tbWFuZCBpdCBtYXkgcmVwbGFjZQorCSAgICBtb3JlIHRpbWVzIHRoYW4gd2l0aG91dCB0aGUgJ2MnIGZsYWcuICBIYXBwZW5zIGZvciBhICBtYXRjaCB0aGF0CisJICAgIHN0YXJ0cyB3aXRoICJcemUiIChNYXJjZWwgU3ZpdGFsc2spIGFuZCB3aGVuIHVzaW5nICJcQDw9IiAoS2xhdXMKKwkgICAgQm9zYXUpLgorU29sdXRpb246ICAgQ29ycmVjdCAicHJldl9tYXRjaGNvbCIgd2hlbiByZXBsYWNpbmcgdGhlIGxpbmUuICBEb24ndCByZXBsYWNlCisJICAgIHRoZSBsaW5lIHdoZW4gdGhlIHBhdHRlcm4gdXNlcyBsb29rLWJlaGluZCBtYXRjaGluZy4KK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMuYywgc3JjL3Byb3RvL3JlZ2V4cC5wcm8sIHNyYy9yZWdleHAuYworCitQYXRjaCA2LjIuNDQ1CitQcm9ibGVtOiAgICBDb3B5aW5nIHZpbXR1dG9yIHRvIC90bXAvc29tZXRoaW5nIGlzIG5vdCBzZWN1cmUsIGEgc3ltbGluayBtYXkKKwkgICAgY2F1c2UgdHJvdWJsZS4KK1NvbHV0aW9uOiAgIENyZWF0ZSBhIGRpcmVjdG9yeSBhbmQgY3JlYXRlIHRoZSBmaWxlIGluIGl0LiAgVXNlICJ1bWFzayIgdG8KKwkgICAgY3JlYXRlIHRoZSBkaXJlY3Rvcnkgd2l0aCBtb2RlIDcwMC4gIChTdGVmYW4gTm9yZGhhdXNlbikKK0ZpbGVzOgkgICAgc3JjL3ZpbXR1dG9yCisKK1BhdGNoIDYuMi40NDYgKGFmdGVyIDYuMi40MDQpCitQcm9ibGVtOiAgICBVc2luZyBsaWJyYXJ5IGZ1bmN0aW9ucyB3Y3dpZHRoKCkgYW5kIGlzd3ByaW50KCkgcmVzdWx0cyBpbgorCSAgICBkaXNwbGF5IHByb2JsZW1zIGZvciBIZWJyZXcgY2hhcmFjdGVycy4gKFJvbiBBYXJvbikKK1NvbHV0aW9uOiAgIERpc2FibGUgdGhlIGNvZGUgdG8gdXNlIHRoZSBsaWJyYXJ5IGZ1bmN0aW9ucywgdXNlIG91ciBvd24uCitGaWxlczoJICAgIHNyYy9tYnl0ZS5jCisKK1BhdGNoIDYuMi40NDcgKGFmdGVyIDYuMi40NDApCitQcm9ibGVtOiAgICBOb3cgdGhhdCB0aGUgdGl0bGUgaXMgb25seSB1cGRhdGVkIHdoZW4gcmVkcmF3aW5nLCBpdCBpcyBubyBsb25nZXIKKwkgICAgcG9zc2libGUgdG8gc2hvdyBpdCB3aGlsZSBleGVjdXRpbmcgYSBmdW5jdGlvbi4gKE1hZG9rYSBNYWNoaXRhbmkpCitTb2x1dGlvbjogICBNYWtlICI6cmVkcmF3IiBhbHNvIHVwZGF0ZSB0aGUgdGl0bGUuCitGaWxlczoJICAgIHNyYy9leF9kb2NtZC5jCisKK1BhdGNoIDYuMi40NDggKGFmdGVyIDYuMi40MjcpCitQcm9ibGVtOiAgICBNYWM6IGNvbnZlcnNpb24gZG9uZSB3aGVuICd0ZXJtZW5jb2RpbmcnIGRpZmZlcnMgZnJvbSAnZW5jb2RpbmcnCisJICAgIGZhaWxzIHdoZW4gcGFzdGluZyBhIGxvbmdlciB0ZXh0LgorU29sdXRpb246ICAgQ2hlY2sgZm9yIGFuIGluY29tcGxldGUgc2VxdWVuY2UgYXQgdGhlIGVuZCBvZiB0aGUgY2h1bmsgdG8gYmUKKwkgICAgY29udmVydGVkLiAoRWNrZWhhcmQgQmVybnMpCitGaWxlczoJICAgIHNyYy9tYnl0ZS5jCisKK1BhdGNoIDYuMi40NDkgKGFmdGVyIDYuMi40MzEpCitQcm9ibGVtOiAgICBHZXQgZXJyb3IgbWVzc2FnZXMgd2hlbiBzd2l0Y2hpbmcgZmlsZXMuCitTb2x1dGlvbjogICBDaGVjayBmb3IgYSB2YWxpZCBsaW5lIG51bWJlciB3aGVuIGNhbGN1bGF0aW5nIHRoZSB3aWR0aCBvZiB0aGUKKwkgICAgaG9yaXpvbnRhbCBzY3JvbGxiYXIuIChIZWxtdXQgU3RpZWdsZXIpCitGaWxlczoJICAgIHNyYy9ndWkuYworCitQYXRjaCA2LjIuNDUwCitQcm9ibGVtOiAgICAiICAjaW5jbHVkZSIgYW5kICIgICNkZWZpbmUiIGFyZSBub3QgcmVjb2duaXplZCB3aXRoIHRoZSBkZWZhdWx0CisJICAgIG9wdGlvbiB2YWx1ZXMgZm9yICdpbmNsdWRlJyBhbmQgJ2RlZmluZWQnLiAoUkcgS2lyYW4pCitTb2x1dGlvbjogICBBZGp1c3QgdGhlIGRlZmF1bHQgdmFsdWVzIHRvIGFsbG93IHdoaXRlIHNwYWNlIGJlZm9yZSB0aGUgIy4KK0ZpbGVzOgkgICAgcnVudGltZS9kb2Mvb3B0aW9ucy50eHQsIHNyYy9vcHRpb24uYworCitQYXRjaCA2LjIuNDUxCitQcm9ibGVtOiAgICBHVEs6IHdoZW4gdXNpbmcgWElNIHRoZXJlIGFyZSB2YXJpb3VzIHByb2JsZW1zLCBpbmNsdWRpbmcgc2V0dGluZworCSAgICAnbW9kaWZpZWQnIGFuZCBicmVha2luZyB1bmRvIGF0IHRoZSB3cm9uZyBtb21lbnQuCitTb2x1dGlvbjogICBBZGQgInhpbV9jaGFuZ2VkX3doaWxlX3ByZWVkaXRpbmciLCAicHJlZWRpdF9lbmRfY29sIiBhbmQKKwkgICAgaW1faXNfcHJlZWRpdGluZygpLiAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorRmlsZXM6CSAgICBzcmMvZXhfZ2V0bG4uYywgc3JjL2dsb2JhbHMuaCwgc3JjL2d1aV9ndGsuYywgc3JjL2d1aV9ndGtfeDExLmMsCisJICAgIHNyYy9tYnl0ZS5jLCBzcmMvbWlzYzEuYywgc3JjL3Byb3RvL21ieXRlLnBybywgc3JjL3NjcmVlbi5jLAorCSAgICBzcmMvdW5kby5jCisKK1BhdGNoIDYuMi40NTIKK1Byb2JsZW06ICAgIEluIGRpZmYgbW9kZSwgd2hlbiBEaWZmQWRkIGFuZCBEaWZmVGV4dCBoaWdobGlnaHQgc2V0dGluZ3MgYXJlCisJICAgIGVxdWFsLCBhbiBhZGRlZCBsaW5lIGlzIGhpZ2hsaWdodGVkIHdpdGggRGlmZkNoYW5nZS4gKFRvbSBTY2h1bW0pCitTb2x1dGlvbjogICBSZW1lbWJlciB0aGUgZGlmZiBoaWdobGlnaHQgdHlwZSBpbnN0ZWFkIG9mIHRoZSBhdHRyaWJ1dGVzLgorRmlsZXM6CSAgICBzcmMvc2NyZWVuLmMKKworUGF0Y2ggNi4yLjQ1MworUHJvYmxlbTogICAgIjpzL2Zvb1x8XG5iYXIveC9nIiBkb2VzIG5vdCByZXBsYWNlIHR3byB0aW1lcyBpbiAiZm9vXG5iYXIiLgorCSAgICAoUGF2ZWwgUGFwdXNoZXYpCitTb2x1dGlvbjogICBXaGVuIHRoZSBwYXR0ZXJuIGNhbiBtYXRjaCBhIGxpbmUgYnJlYWsgYWxzbyB0cnkgbWF0Y2hpbmcgYXQgdGhlCisJICAgIE5VTCBhdCB0aGUgZW5kIG9mIGEgbGluZS4KK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMuYywgc3JjL3JlZ2V4cC5jCisKK1BhdGNoIDYuMi40NTQKK1Byb2JsZW06ICAgICI6bGV0IGI6Y2hhbmdlZHRpY2siIGRvZXNuJ3Qgd29yay4gKEFsYW4gU2NobWl0dCkgICI6bGV0CisJICAgIGI6Y2hhbmdlZHRpY2sgPSA5OSIgZG9lcyBub3QgZ2l2ZSBhbiBlcnJvciBtZXNzYWdlLgorU29sdXRpb246ICAgQWRkIGNvZGUgdG8gcmVjb2duaXplICI6bGV0IGI6Y2hhbmdlZHRpY2siLgorRmlsZXM6CSAgICBzcmMvZXZhbC5jCisKK1BhdGNoIDYuMi40NTUgKGFmdGVyIDYuMi4yOTcpCitQcm9ibGVtOiAgICBJbiBQeXRob24gY29tbWFuZHMgdGhlIGN1cnJlbnQgbG9jYWxlIGNoYW5nZXMgaG93IGNlcnRhaW4gUHl0aG9uCisJICAgIGZ1bmN0aW9ucyB3b3JrLiAoRXVnZW5lIE0uIE1pbmtvdnNraWkpCitTb2x1dGlvbjogICBTZXQgdGhlIExDX05VTUVSSUMgbG9jYWxlIHRvICJDIiB3aGlsZSBleGVjdXRpbmcgYSBQeXRob24gY29tbWFuZC4KK0ZpbGVzOgkgICAgc3JjL2lmX3B5dGhvbi5jCisKK1BhdGNoIDYuMi40NTYgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6IEVkaXRpbmcgYSBmaWxlIGJ5IGl0cyBVbmljb2RlIG5hbWUgKGRyb3BwaW5nIGl0IG9uIFZpbSBvcgorCSAgICB1c2luZyB0aGUgZmlsZSBzZWxlY3Rpb24gZGlhbG9nKSBkb2Vzbid0IHdvcmsuIChZYWtvdiBMZXJuZXIsIEFsZXgKKwkgICAgSmFrdXNoZXYpCitTb2x1dGlvbjogICBVc2Ugd2lkZSBjaGFyYWN0ZXIgZnVuY3Rpb25zIHdoZW4gZmlsZSBuYW1lcyBhcmUgaW52b2x2ZWQgYW5kCisJICAgIGNvbnZlcnQgZnJvbS90byAnZW5jb2RpbmcnIHdoZXJlIG5lZWRlZC4KK0ZpbGVzOgkgICAgc3JjL2d1aV93NDguYywgc3JjL21hY3Jvcy5oLCBzcmMvbWVtZmlsZS5jLCBzcmMvbWVtbGluZS5jLAorCSAgICBzcmMvb3NfbXN3aW4uYywgc3JjL29zX3dpbjMyLmMKKworUGF0Y2ggNi4yLjQ1NyAoYWZ0ZXIgNi4yLjI0NCkKK1Byb2JsZW06ICAgIFdoZW4gJ2VuY29kaW5nJyBpcyAidXRmLTgiIGFuZCB3cml0aW5nIHRleHQgd2l0aCBjaGFycyBhYm92ZSAweDgwCisJICAgIGluIGxhdGluMSwgY29udmVyc2lvbiBpcyB3cm9uZyBldmVyeSA4MjAwIGJ5dGVzLiAoT3l2aW5kIEhvbG0pCitTb2x1dGlvbjogICBDb3JyZWN0IHRoZSB1dGZfcHRyMmxlbl9jaGVja19sZW4oKSBmdW5jdGlvbiBhbmQgZml4IHRoZSBwcm9ibGVtCisJICAgIG9mIGRpc3BsYXlpbmcgMHhmNyBpbiB1dGZjX3B0cjJsZW5fY2hlY2tfbGVuKCkuCitGaWxlczoJICAgIHNyYy9tYnl0ZS5jCisKK1BhdGNoIDYuMi40NTgKK1Byb2JsZW06ICAgIFdoZW4gJ3ZpcnR1YWxlZGl0JyBpcyBzZXQgIiQiIGRvZXNuJ3QgbW92ZSB0byB0aGUgZW5kIG9mIGFuCisJICAgIHVucHJpbnRhYmxlIGNoYXJhY3RlciwgY2F1c2luZyAieSQiIG5vdCB0byBpbmNsdWRlIHRoYXQgY2hhcmFjdGVyLgorCSAgICAoRnJlZCBNYSkKK1NvbHV0aW9uOiAgIFNldCAiY29sYWRkIiB0byBtb3ZlIHRoZSBjdXJzb3IgdG8gdGhlIGVuZCBvZiB0aGUgY2hhcmFjdGVyLgorRmlsZXM6CSAgICBzcmMvbWlzYzIuYworCitQYXRjaCA2LjIuNDU5IChhZnRlciA2LjIuNDU0KQorUHJvYmxlbTogICAgVmFyaWFibGUgImIiIGNhbm5vdCBiZSB3cml0dGVuLiAoU2FsbWFuIEhhbGltKQorU29sdXRpb246ICAgQ29tcGFyZSBzdHJpbmdzIHByb3Blcmx5LgorRmlsZXM6CSAgICBzcmMvZXZhbC5jCisKK1BhdGNoIDYuMi40NjAgKGV4dHJhLCBhZnRlciA2LjIuNDU2KQorUHJvYmxlbTogICAgQ29tcGlsZXIgd2FybmluZ3MgZm9yIG1pc3NpbmcgcHJvdG90eXBlcy4KK1NvbHV0aW9uOiAgIEluY2x1ZGUgdGhlIG1pc3NpbmcgcHJvdG90eXBlcy4KK0ZpbGVzOgkgICAgc3JjL3Byb3RvL29zX3dpbjMyLnBybworCitQYXRjaCA2LjIuNDYxCitQcm9ibGVtOiAgICBBZnRlciB1c2luZyBhIHNlYXJjaCBjb21tYW5kICJ4IiBzdGFydHMgcHV0dGluZyBzaW5nbGUgY2hhcmFjdGVycworCSAgICBpbiB0aGUgbnVtYmVyZWQgcmVnaXN0ZXJzLgorU29sdXRpb246ICAgUmVzZXQgInVzZV9yZWdfb25lIiBhdCB0aGUgcmlnaHQgbW9tZW50LgorRmlsZXM6CSAgICBzcmMvbm9ybWFsLmMKKworUGF0Y2ggNi4yLjQ2MgorUHJvYmxlbTogICAgRmluZGluZyBhIG1hdGNoaW5nIHBhcmVudGhlc2lzIGRvZXMgbm90IGNvcnJlY3RseSBoYW5kbGUgYQorCSAgICBiYWNrc2xhc2ggaW4gYSB0cmFpbGluZyBieXRlLgorU29sdXRpb246ICAgSGFuZGxlIG11bHRpLWJ5dGUgY2hhcmFjdGVycyBjb3JyZWN0bHkuIChUYXJvIE11cmFva2EpCitGaWxlczoJICAgIHNyYy9zZWFyY2guYworCitQYXRjaCA2LjIuNDYzIChleHRyYSkKK1Byb2JsZW06ICAgIFdpbjMyOiBBbiBOVEZTIGZpbGUgc3lzdGVtIG1heSBjb250YWluIGZpbGVzIHdpdGggZXh0cmEgaW5mbworCSAgICBzdHJlYW1zLiAgVGhlIGN1cnJlbnQgbWV0aG9kIHRvIGNvcHkgdGhlbSBjcmVhdGVzIG9uZSBhbmQgdGhlbgorCSAgICBkZWxldGVzIGl0IGFnYWluLiAgKFBldGVyIFRvZW5uaWVzKSAgQWxzbywgb25seSB0aHJlZSBzdHJlYW1zIHdpdGgKKwkgICAgaGFyZCBjb2RlZCBuYW1lcyBhcmUgY29waWVkLgorU29sdXRpb246ICAgVXNlIEJhY2t1cFJlYWQoKSB0byBjaGVjayB3aGljaCBpbmZvIHN0cmVhbXMgdGhlIG9yaWdpbmFsIGZpbGUKKwkgICAgY29udGFpbnMgYW5kIG9ubHkgY29weSB0aGVzZSBzdHJlYW1zLgorRmlsZXM6CSAgICBzcmMvb3Nfd2luMzIuYworCitQYXRjaCA2LjIuNDY0IChleHRyYSwgYWZ0ZXIgNi4yLjQyNykKK1Byb2JsZW06ICAgIEFtaWdhOiBDb21waWxhdGlvbiBlcnJvciB3aXRoIGdjYy4gKEFsaSBBa2NhYWdhYykKK1NvbHV0aW9uOiAgIE1vdmUgdGhlICNpZmRlZiBvdXRzaWRlIG9mIFJlYWQoKS4KK0ZpbGVzOgkgICAgc3JjL29zX2FtaWdhLmMKKworUGF0Y2ggNi4yLjQ2NQorUHJvYmxlbTogICAgV2hlbiByZXNpemluZyB0aGUgR1VJIHdpbmRvdyB0aGUgd2luZG93IG1hbmFnZXIgc29tZXRpbWVzIG1vdmVzIGl0CisJICAgIGxlZnQgb2Ygb3IgYWJvdmUgdGhlIHNjcmVlbi4gKE1pY2hhZWwgTWNDYXJ0eSkKK1NvbHV0aW9uOiAgIENoZWNrIHRoZSB3aW5kb3cgcG9zaXRpb24gYWZ0ZXIgcmVzaXppbmcgaXQgYW5kIG1vdmUgaXQgb250byB0aGUKKwkgICAgc2NyZWVuIHdoZW4gaXQgaXNuJ3QuCitGaWxlczoJICAgIHNyYy9ndWkuYworCitQYXRjaCA2LjIuNDY2IChleHRyYSwgYWZ0ZXIgNi4yLjQ1NikKK1Byb2JsZW06ICAgIFdpbjMyOiBDb21waWxpbmcgd2l0aCBCb3JsYW5kIEMgZmFpbHMsIGFuZCBhbiB1bi9zaWduZWQgd2FybmluZy4KK1NvbHV0aW9uOiAgIFJlZGVmaW5lIHdjc2ljbXAoKSB0byB3Y3NjbXBpKCkgYW5kIGFkZCB0eXBlIGNhc3RzLiAoWWFzdWhpcm8KKwkgICAgTWF0c3Vtb3RvKQorRmlsZXM6CSAgICBzcmMvb3Nfd2luMzIuYworCitQYXRjaCA2LjIuNDY3IChleHRyYSwgYWZ0ZXIgNi4yLjQ2MykKK1Byb2JsZW06ICAgIFdpbjMyOiBjYW4ndCBjb21waWxlIHdpdGhvdXQgbXVsdGktYnl0ZSBmZWF0dXJlLiAoQWppdCBUaGFra2FyKQorU29sdXRpb246ICAgQWRkICNpZmRlZnMgYXJvdW5kIHRoZSBpbmZvIHN0cmVhbSBjb2RlLgorRmlsZXM6CSAgICBzcmMvb3Nfd2luMzIuYworCitQYXRjaCA2LjIuNDY4CitQcm9ibGVtOiAgICBDb21waWxlciB3YXJuaW5ncyBmb3Igc2hhZG93ZWQgdmFyaWFibGVzLiAoTWF0dGhpYXMgTW9ocikKK1NvbHV0aW9uOiAgIERlbGV0ZSBzdXBlcmZsdW91cyB2YXJpYWJsZXMgYW5kIHJlbmFtZSBvdGhlcnMuCitGaWxlczoJICAgIHNyYy9ldmFsLmMsIHNyYy9leF9kb2NtZC5jLCBzcmMvZXhfZXZhbC5jLCBzcmMvaWZfY3Njb3BlLmMsCisJICAgIHNyYy9mb2xkLmMsIHNyYy9vcHRpb24uYywgc3JjL29zX3VuaXguYywgc3JjL3F1aWNrZml4LmMsCisJICAgIHNyYy9yZWdleHAuYworCitQYXRjaCA2LjIuNDY5IChleHRyYSwgYWZ0ZXIgNi4yLjQ1NikKK1Byb2JsZW06ICAgIFdpbjMyOiBDYW4ndCBjcmVhdGUgc3dhcCBmaWxlIHdoZW4gJ2VuY29kaW5nJyBkaWZmZXJzIGZyb20gdGhlCisJICAgIGFjdGl2ZSBjb2RlIHBhZ2UuIChLcml0b24gS3lyaW1pcykKK1NvbHV0aW9uOiAgIEluIGVuY190b191Y3MyKCkgdGVybWluYXRlIHRoZSBjb252ZXJ0ZWQgc3RyaW5nIHdpdGggYSBOVUwKK0ZpbGVzOgkgICAgc3JjL29zX21zd2luLmMKKworUGF0Y2ggNi4yLjQ3MAorUHJvYmxlbTogICAgVGhlIG5hbWUgcmV0dXJuZWQgYnkgdGVtcG5hbWUoKSBtYXkgYmUgZXF1YWwgdG8gdGhlIGZpbGUgdXNlZCBmb3IKKwkgICAgc2hlbGwgb3V0cHV0IHdoZW4gaWdub3JpbmcgY2FzZS4KK1NvbHV0aW9uOiAgIFNraXAgJ08nIGFuZCAnSScgaW4gdGVtcG5hbWUoKS4KK0ZpbGVzOgkgICAgc3JjL2V2YWwuYworCitQYXRjaCA2LjIuNDcxCitQcm9ibGVtOiAgICAiLUwvdXNyL2xpYiIgaXMgdXNlZCBpbiB0aGUgbGluayBjb21tYW5kLCBldmVuIHRob3VnaCBpdCdzCisJICAgIHN1cHBvc2VkIHRvIGJlIGZpbHRlcmVkIG91dC4gIi1sdyIgYW5kICItbGRsIiBhcmUgbm90CisJICAgIGF1dG9tYXRpY2FsbHkgYWRkZWQgd2hlbiBuZWVkZWQgZm9yICItbFhtdSIuIChBbnRvbmlvIENvbG9tYm8pCitTb2x1dGlvbjogICBDaGVjayBmb3IgYSBzcGFjZSBhZnRlciB0aGUgYXJndW1lbnQgaW5zdGVhZCBvZiBiZWZvcmUuICBBbHNvCisJICAgIHJlbW92ZSAiLVIvdXNyL2xpYiIgaWYgaXQncyB0aGVyZS4gIENoZWNrIGZvciAiLWx3IiBhbmQgIi1sZGwiCisJICAgIGJlZm9yZSB0cnlpbmcgIi1sWG11Ii4KK0ZpbGVzOgkgICAgc3JjL2F1dG8vY29uZmlndXJlLCBzcmMvY29uZmlndXJlLmluLCBzcmMvbGluay5zaAorCitQYXRjaCA2LjIuNDcyCitQcm9ibGVtOiAgICBXaGVuIHVzaW5nIGEgRmlsZUNoYW5nZWRTaGVsbCBhdXRvY29tbWFuZCB0aGF0IGNoYW5nZXMgdGhlIGN1cnJlbnQKKwkgICAgYnVmZmVyLCBhIGJ1ZmZlciBleGlzdHMgdGhhdCBjYW4ndCBiZSB3aXBlZCBvdXQuCisJICAgIEFsc28sIFZpbSBzb21ldGltZXMgY3Jhc2hlcyB3aGVuIGV4ZWN1dGluZyBhbiBleHRlcm5hbCBjb21tYW5kCisJICAgIHRoYXQgY2hhbmdlcyB0aGUgYnVmZmVyIGFuZCBhIEZpbGVDaGFuZ2VkU2hlbGwgYXV0b2NvbW1hbmQgaXMKKwkgICAgdXNlZC4gIChIYXJpIEtyaXNobmEgRGFyYSkKKwkgICAgVXNlcnMgYXJlIGNvbmZ1c2VkIGJ5IHRoZSB3YXJuaW5nIGZvciBhIGZpbGUgYmVpbmcgY2hhbmdlZCBvdXRzaWRlCisJICAgIG9mIFZpbS4KK1NvbHV0aW9uOiAgIEF2b2lkIHRoYXQgdGhlIHdpbmRvdyBjb3VudGVyIGZvciBhIGJ1ZmZlciBpcyBpbmNyZW1lbnRlZCB0d2ljZS4KKwkgICAgQXZvaWQgdGhhdCBidWZfY2hlY2tfdGltZXN0YW1wKCkgaXMgdXNlZCByZWN1cnNpdmVseS4KKwkgICAgQWRkIGEgaGludCB0byBsb29rIGluIHRoZSBoZWxwIGZvciBtb3JlIGluZm8uCitGaWxlczoJICAgIHNyYy9leF9jbWRzLmMsIHNyYy9maWxlaW8uYworCitQYXRjaCA2LjIuNDczCitQcm9ibGVtOiAgICBVc2luZyBDVFJMLV0gaW4gYSBoZWxwIGJ1ZmZlciB3aXRob3V0IGEgbmFtZSBjYXVzZXMgYSBjcmFzaC4KK1NvbHV0aW9uOiAgIENoZWNrIGZvciBuYW1lIHRvIGJlIHByZXNlbnQgYmVmb3JlIHVzaW5nIGl0LiAoVGFybyBNdXJhb2thKQorRmlsZXM6CSAgICBzcmMvdGFnLmMKKworUGF0Y2ggNi4yLjQ3NCAoZXh0cmEsIGFmdGVyIDYuMi40NTYpCitQcm9ibGVtOiAgICBXaGVuIFZpbSBpcyBzdGFydGluZyB1cCBjb252ZXJzaW9uIGlzIGRvbmUgdW5uZWNlc3NhcmlseS4gIEZhaWx1cmUKKwkgICAgdG8gZmluZCB0aGUgcnVudGltZSBmaWxlcyBvbiBXaW5kb3dzIDk4LiAoUmFuZGFsbCBXLiBNb3JyaXMpCitTb2x1dGlvbjogICBJbml0IGVuY19jb2RlcGFnZSBuZWdhdGl2ZSwgb25seSB1c2UgaXQgd2hlbiBub3QgbmVnYXRpdmUuCisJICAgIERvbid0IHVzZSBHZXRGaWxlQXR0cmlidXRlc1coKSBvbiBXaW5kb3dzIDk4IG9yIGVhcmxpZXIuCitGaWxlczoJICAgIHNyYy9nbG9iYWxzLmgsIHNyYy9ndWlfdzMyLmMsIHNyYy9ndWlfdzQ4LmMsIHNyYy9vc19tc3dpbi5jLAorCSAgICBzcmMvb3Nfd2luMzIuYworCitQYXRjaCA2LjIuNDc1CitQcm9ibGVtOiAgICBDb21tYW5kcyBhZnRlciAicGVybCA8PEVPRiIgYXJlIHBhcnNlZCBhcyBWaW0gY29tbWFuZHMgd2hlbiB0aGV5CisJICAgIGFyZSBub3QgZXhlY3V0ZWQuCitTb2x1dGlvbjogICBQcm9wZXJseSBza2lwIG92ZXIgdGhlIHBlcmwgY29tbWFuZHMuCitGaWxlczoJICAgIHNyYy9leF9kb2NtZC5jLCBzcmMvZXhfZ2V0bG4uYywgc3JjL2lmX3BlcmwueHMsIHNyYy9pZl9weXRob24uYywKKwkgICAgc3JjL2lmX3J1YnkuYywgc3JjL2lmX3RjbC5jLCBzcmMvbWlzYzIuYworCitQYXRjaCA2LjIuNDc2CitQcm9ibGVtOiAgICBXaGVuIHJlbG9hZGluZyBhIGhpZGRlbiBidWZmZXIgY2hhbmdlZCBvdXRzaWRlIG9mIFZpbSBhbmQgdGhlCisJICAgIGN1cnJlbnQgYnVmZmVyIGlzIHJlYWQtb25seSwgdGhlIHJlbG9hZGVkIGJ1ZmZlciBiZWNvbWVzCisJICAgIHJlYWQtb25seS4gIChIYXJpIEtyaXNobmEgRGFyYSkKK1NvbHV0aW9uOiAgIFNhdmUgdGhlICdyZWFkb25seScgZmxhZyBvZiB0aGUgcmVhbG9hZGVkIGJ1ZmZlciBpbnN0ZWFkIG9mIHRoZQorCSAgICBjdXJyZW50IGJ1ZmZlci4KK0ZpbGVzOgkgICAgc3JjL2ZpbGVpby5jCisKK1BhdGNoIDYuMi40NzcKK1Byb2JsZW06ICAgIFVzaW5nIHJlbW90ZV9zZW5kKHY6c2VydmVybmFtZSwgIlw8Qy1WPiIpIGNhdXNlcyBWaW0gdG8gaGFuZy4KKwkgICAgKFlha292IExlcm5lcikKK1NvbHV0aW9uOiAgIFdoZW4gdGhlIHJlc3VsdGluZyBzdHJpbmcgaXMgZW1wdHkgZG9uJ3Qgc2V0IHJlY2VpdmVkX2Zyb21fY2xpZW50LgorRmlsZXM6CSAgICBzcmMvbWFpbi5jCisKK1BhdGNoIDYuMi40NzgKK1Byb2JsZW06ICAgIFdpbjMyOiAiLS1yZW1vdGUgZmlsZSIgZmFpbHMgY2hhbmdpbmcgZGlyZWN0b3J5IGlmIHRoZSBjdXJyZW50CisJICAgIGRpcmVjdG9yeSBuYW1lIHN0YXJ0cyB3aXRoIGEgc2luZ2xlIHF1b3RlLiAgKEllc3R5biBXYWx0ZXJzKQorU29sdXRpb246ICAgQWRkIGEgYmFja3NsYXNoIHdoZXJlIGl0IHdpbGwgYmUgcmVtb3ZlZCBsYXRlci4KK0ZpbGVzOgkgICAgc3JjL21haW4uYywgc3JjL21pc2MyLmMsIHNyYy9wcm90by9taXNjMi5wcm8KKworUGF0Y2ggNi4yLjQ3OQorUHJvYmxlbTogICAgVGhlIGVycm9yIG1lc3NhZ2UgZm9yIGVycm9ycyBkdXJpbmcgcmVjb3ZlcnkgZ29lcyB1bm5vdGljZWQuCitTb2x1dGlvbjogICBBdm9pZCB0aGF0IHRoZSBoaXQtZW50ZXIgcHJvbXB0IG92ZXJ3cml0ZXMgdGhlIG1lc3NhZ2UuICBBZGQgYSBmZXcKKwkgICAgbGluZXMgdG8gbWFrZSB0aGUgZXJyb3Igc3RhbmQgb3V0LgorRmlsZXM6CSAgICBzcmMvbWFpbi5jLCBzcmMvbWVzc2FnZS5jLCBzcmMvbWVtbGluZS5jCisKK1BhdGNoIDYuMi40ODAKK1Byb2JsZW06ICAgIE5ldEJlYW5zOiBVc2luZyBuZWdhdGl2ZSBpbmRleCBpbiBhcnJheS4gIGJhY2tzbGFzaCBhdCBlbmQgb2YKKwkgICAgbWVzc2FnZSBtYXkgY2F1c2UgVmltIHRvIGNyYXNoLiAoWGF2aWVyIGRlIEdheWUpCitTb2x1dGlvbjogICBJbml0aWFsaXplIGJ1Zl9saXN0X3VzZWQgdG8gemVyby4gQ2hlY2sgZm9yIHRyYWlsaW5nIGJhY2tzbGFzaC4KK0ZpbGVzOgkgICAgc3JjL25ldGJlYW5zLmMKKworUGF0Y2ggNi4yLjQ4MQorUHJvYmxlbTogICAgV2hlbiB3cml0aW5nIGEgZmlsZSBpdCBpcyBub3QgcG9zc2libGUgdG8gc3BlY2lmeSB0aGF0IGhhcmQgYW5kL29yCisJICAgIHN5bWxpbmtzIGFyZSB0byBiZSBicm9rZW4gaW5zdGVhZCBvZiBwcmVzZXJ2ZWQuCitTb2x1dGlvbjogICBBZGQgdGhlICJicmVha3N5bWxpbmsiIGFuZCAiYnJlYWtoYXJkbGluayIgdmFsdWVzIHRvICdiYWNrdXBjb3B5Jy4KKwkgICAgKFNpbW9uIEVrc3RyYW5kKQorRmlsZXM6CSAgICBydW50aW1lL2RvYy9vcHRpb25zLnR4dCwgc3JjL2ZpbGVpby5jLCBzcmMvb3B0aW9uLmMsIHNyYy9vcHRpb24uaAorCitQYXRjaCA2LjIuNDgyCitQcm9ibGVtOiAgICBSZXBlYXRpbmcgaW5zZXJ0IG9mIENUUkwtSyAxIFMgZG9lc24ndCB3b3JrLiAgVGhlIHN1cGVyc2NyaXB0IDEgaXMKKwkgICAgY29uc2lkZXJlZCB0byBiZSBhIGRpZ2l0LiAoSnVlcmdlbiBLcmFlbWVyKQorU29sdXRpb246ICAgSW4gdmltX2lzZGlnaXQoKSBvbmx5IGFjY2VwdCAnMCcgdG8gJzknLiAgVXNlIFZJTV9JU0RJR0lUKCkgZm9yCisJICAgIHNwZWVkIHdoZXJlIHBvc3NpYmxlLiAgQWxzbyBhZGQgdmltX2lzeGRpZ2l0KCkuCitGaWxlczoJICAgIHNyYy9idWZmZXIuYywgc3JjL2NoYXJzZXQuYywgc3JjL2RpZmYuYywgc3JjL2RpZ3JhcGguYywKKwkgICAgc3JjL2VkaXQuYywgc3JjL2V2YWwuYywsIHNyYy9leF9jbWRzLmMsIHNyYy9leF9jbWRzMi5jLAorCSAgICBzcmMvZXhfZG9jbWQuYywgc3JjL2V4X2V2YWwuYywgc3JjL2V4X2dldGxuLmMsCisJICAgIHNyYy9pZl94Y21kc3J2LmMsIHNyYy9mYXJzaS5jLCBzcmMvZmlsZWlvLmMsIHNyYy9mb2xkLmMsCisJICAgIHNyYy9nZXRjaGFyLmMsIHNyYy9ndWkuYywgc3JjL2lmX2NzY29wZS5jLCBzcmMvbWFjcm9zLmgsCisJICAgIHNyYy9tYWluLmMsIHNyYy9tYXJrLmMsIHNyYy9tYnl0ZS5jLCBzcmMvbWVudS5jLCBzcmMvbWlzYzEuYywKKwkgICAgc3JjL21pc2MyLmMsIHNyYy9ub3JtYWwuYywgc3JjL29wcy5jLCBzcmMvb3B0aW9uLmMsCisJICAgIHNyYy9wcm90by9jaGFyc2V0LnBybywgc3JjL3JlZ2V4cC5jLCBzcmMvc2NyZWVuLmMsIHNyYy9zZWFyY2guYywKKwkgICAgc3JjL3N5bnRheC5jLCBzcmMvdGFnLmMsIHNyYy90ZXJtLmMsIHNyYy90ZXJtbGliLmMKKworUGF0Y2ggNi4yLjQ4MyAoZXh0cmEsIGFmdGVyIDYuMi40ODIpCitQcm9ibGVtOiAgICBTZWUgNi4yLjQ4Mi4KK1NvbHV0aW9uOiAgIEV4dHJhIHBhcnQgb2YgcGF0Y2ggNi4yLjQ4Mi4KK0ZpbGVzOgkgICAgc3JjL2d1aV9waG90b24uYywgc3JjL2d1aV93NDguYywgc3JjL29zX21zZG9zLmMsIHNyYy9vc19tc3dpbi5jCisKK1BhdGNoIDYuMi40ODQKK1Byb2JsZW06ICAgIE1TLVdpbmRvd3M6IFdpdGggdGhlIGluY2x1ZGVkIGRpZmYuZXhlLCBkaWZmZXJlbmNlcyBhZnRlciBhIENUUkwtWgorCSAgICBhcmUgbm90IHJlY29nbml6ZWQuICAoUGV0ZXIgS2VyZXN6dGVzKQorU29sdXRpb246ICAgV3JpdGUgdGhlIGZpbGVzIHdpdGggdW5peCBmaWxlZm9ybWF0IGFuZCBpbnZva2UgZGlmZiB3aXRoIC0tYmluYXJ5CisJICAgIGlmIHBvc3NpYmxlLgorRmlsZXM6CSAgICBzcmMvZGlmZi5jCisKK1BhdGNoIDYuMi40ODUKK1Byb2JsZW06ICAgIEEgQnVmV3JpdGVDbWQgYXV0b2NvbW1hbmQgY2Fubm90IGtub3cgaWYgIiEiIHdhcyB1c2VkIG9yIG5vdC4KKwkgICAgKEhhcmkgS3Jpc2huYSBEYXJhKQorU29sdXRpb246ICAgQWRkIHRoZSB2OmNtZGJhbmcgdmFyaWFibGUuCitGaWxlczoJICAgIHJ1bnRpbWUvZG9jL2V2YWwudHh0LCBzcmMvZXZhbC5jLCBzcmMvcHJvdG8vZXZhbC5wcm8sCisJICAgIHNyYy9maWxlaW8uYywgc3JjL3ZpbS5oCisKK1BhdGNoIDYuMi40ODYgKDYuMi40ODIpCitQcm9ibGVtOiAgICBEaWZmIGZvciBldmFsLmMgaXMgbWlzc2luZy4KK1NvbHV0aW9uOiAgIEFkZGl0aW9uIHRvIHBhdGNoIDYuMi40ODIuCitGaWxlczoJICAgIHNyYy9ldmFsLmMKKworUGF0Y2ggNi4yLjQ4NyAoZXh0cmEsIGFmdGVyIDYuMi40NTYpCitQcm9ibGVtOiAgICBDb21waWxlciB3YXJuaW5ncyBmb3Igd3JvbmcgcHJvdG90eXBlLiAoQWxlamFuZHJvIExvcGV6IFZhbGVuY2lhKQorU29sdXRpb246ICAgRGVsZXRlIHRoZSBwcm90b3R5cGUgZm9yIEhhbmRsZV9XTV9Ob3RpZnkoKS4KK0ZpbGVzOgkgICAgc3JjL3Byb3RvL2d1aV93MzIucHJvCisKK1BhdGNoIDYuMi40ODgKK1Byb2JsZW06ICAgIE1pc3NpbmcgIikiIGluICouY2ggZmlsZXR5cGUgZGV0ZWN0aW9uLgorU29sdXRpb246ICAgQWRkIHRoZSAiKSIuICAoQ2lhcmFuIE1jQ3JlZXNoKQorRmlsZXM6CSAgICBydW50aW1lL2ZpbGV0eXBlLnZpbQorCitQYXRjaCA2LjIuNDg5CitQcm9ibGVtOiAgICBXaGVuIGFjY2lkZW50YWxseSBvcGVuaW5nIGEgc2Vzc2lvbiBpbiBWaW0gd2hpY2ggaGFzIGFscmVhZHkgYmVlbgorCSAgICBvcGVuZWQgaW4gYW5vdGhlciBWaW0gdGhlcmUgaXMgYSBsb25nIHJvdyBvZiBBVFRFTlRJT04gcHJvbXB0cy4KKwkgICAgTmVlZCB0byBxdWl0IGVhY2ggb2YgdGhlbSB0byBnZXQgb3V0LiAoUm9iZXJ0IFdlYmIpCitTb2x1dGlvbjogICBBZGQgdGhlICJBYm9ydCIgYWx0ZXJuYXRpdmUgdG8gdGhlIGRpYWxvZy4KK0ZpbGVzOgkgICAgc3JjL21lbWxpbmUuYworCitQYXRjaCA2LjIuNDkwCitQcm9ibGVtOiAgICBXaXRoICdwYXJhZ3JhcGgnIGl0IGlzIG5vdCBwb3NzaWJsZSB0byB1c2UgYSBzaW5nbGUgZG90IGFzIGEKKwkgICAgcGFyYWdyYXBoIGJvdW5kYXJ5LiAgKERvcmFpIFNpdGFyYW0pCitTb2x1dGlvbjogICBBbGxvdyB1c2luZyAiICAiICh0d28gc3BhY2VzKSBpbiAncGFyYWdyYXBoJyB0byBtYXRjaCAiLiQiIG9yCisJICAgICIuICQiCitGaWxlczoJICAgIHNyYy9zZWFyY2guYworCitQYXRjaCA2LjIuNDkxCitQcm9ibGVtOiAgICBEZWNyZW1lbnRpbmcgYSBwb3NpdGlvbiBkb2Vzbid0IHRha2UgY2FyZSBvZiBtdWx0aS1ieXRlIGNoYXJzLgorU29sdXRpb246ICAgQWRqdXN0IHRoZSBjb2x1bW4gZm9yIG11bHRpLWJ5dGUgY2hhcmFjdGVycy4gIFJlbW92ZSBtYl9kZWMoKS4KKwkgICAgKFlhc3VoaXJvIE1hdHN1bW90bykKK0ZpbGVzOgkgICAgc3JjL21ieXRlLmMsIHNyYy9taXNjMi5jLCBzcmMvcHJvdG8vbWJ5dGUucHJvCisKK1BhdGNoIDYuMi40OTIKK1Byb2JsZW06ICAgIFdoZW4gdXNpbmcgIjpyZWRyYXciIHdoaWxlIHRoZXJlIGlzIGEgbWVzc2FnZSwgdGhlIG5leHQgIjplY2hvIgorCSAgICBzdGlsbCBjYXVzZXMgdGV4dCB0byBzY3JvbGwuIChZYXN1aGlybyBNYXRzdW1vdG8pCitTb2x1dGlvbjogICBSZXNldCBtc2dfZGlkb3V0IGFuZCBtc2dfY29sLCBzbyB0aGF0IGFmdGVyICI6cmVkcmF3IiB0aGUgbmV4dAorCSAgICBtZXNzYWdlIG92ZXJ3cml0ZXMgYW4gZXhpc3Rpbmcgb25lLgorRmlsZXM6CSAgICBzcmMvZXhfZG9jbWQuYworCitQYXRjaCA2LjIuNDkzCitQcm9ibGVtOiAgICAiQHgiIGRvZXNuJ3Qgd29yayB3aGVuICdpbnNlcnRtb2RlJyBpcyBzZXQuIChCZW5qaSBGaXNoZXIpCitTb2x1dGlvbjogICBQdXQgInJlc3RhcnRfZWRpdCIgaW4gdGhlIHR5cGVhaGVhZCBidWZmZXIsIHNvIHRoYXQgaXQncyB1c2VkCisJICAgIGFmdGVyIGV4ZWN1dGluZyB0aGUgcmVnaXN0ZXIgY29udGVudHMuCitGaWxlczoJICAgIHNyYy9vcHMuYworCitQYXRjaCA2LjIuNDk0CitQcm9ibGVtOiAgICBVc2luZyBkaWZmIG1vZGUgd2l0aCB0d28gd2luZG93cywgd2hlbiBtb3ZpbmcgaG9yaXpvbnRhbGx5IGluCisJICAgIGluc2VydGVkIGxpbmVzLCBhIGZvbGQgaW4gdGhlIG90aGVyIHdpbmRvdyBtYXkgb3Blbi4KK1NvbHV0aW9uOiAgIENvbXB1dGUgdGhlIGxpbmUgbnVtYmVyIGluIHRoZSBvdGhlciB3aW5kb3cgY29ycmVjdGx5LgorRmlsZXM6CSAgICBzcmMvZGlmZi5jCisKK1BhdGNoIDYuMi40OTUgKGV4dHJhLCBhZnRlciA2LjIuNDU2KQorUHJvYmxlbTogICAgV2luMzI6IFRoZSBmaWxlIGRpYWxvZyBkb2Vzbid0IHdvcmsgb24gV2luZG93cyA5NS4KK1NvbHV0aW9uOiAgIFB1dCB0aGUgd2lkZSBjb2RlIG9mIGd1aV9tY2hfYnJvd3NlKCkgaW4gZ3VpX21jaF9icm93c2VXKCkgYW5kIHVzZQorCSAgICBpdCBvbmx5IG9uIFdpbmRvd3MgTlQvMjAwMC9YUC4KK0ZpbGVzOgkgICAgc3JjL2d1aV93MzIuYywgc3JjL2d1aV93NDguYworCitQYXRjaCA2LjIuNDk2CitQcm9ibGVtOiAgICBGcmVlQlNEIDQueDogV2hlbiBjb21waWxlZCB3aXRoIHRoZSBwdGhyZWFkIGxpYnJhcnkgKFB5dGhvbikgYQorCSAgICBjb21wbGljYXRlZCBwYXR0ZXJuIG1heSBjYXVzZSBWaW0gdG8gY3Jhc2guICBDYXRjaGluZyB0aGUgc2lnbmFsCisJICAgIGRvZXNuJ3Qgd29yay4KK1NvbHV0aW9uOiAgIFdoZW4gY29tcGlsZWQgd2l0aCB0aHJlYWRzLCBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBub3JtYWwgc3RhY2tzaXplCisJICAgIGxpbWl0LCB1c2UgdGhlIHNpemUgb2YgdGhlIGluaXRpYWwgc3RhY2suCitGaWxlczoJICAgIHNyYy9hdXRvL2NvbmZpZ3VyZSwgc3JjL2NvbmZpZy5oLmluLCBzcmMvY29uZmlndXJlLmluLAorCSAgICBzcmMvb3NfdW5peC5jCisKK1BhdGNoIDYuMi40OTcgKGV4dHJhKQorUHJvYmxlbTogICAgUnVzc2lhbiBtZXNzYWdlcyBhcmUgb25seSBhdmFpbGFibGUgaW4gb25lIGVuY29kaW5nLgorU29sdXRpb246ICAgQ29udmVydCB0aGUgbWVzc2FnZXMgdG8gTVMtV2luZG93cyBjb2RlcGFnZXMuIChWYXNzaWx5IFJhZ29zaW4pCitGaWxlczoJICAgIHNyYy9wby9NYWtlZmlsZQorCitQYXRjaCA2LjIuNDk4CitQcm9ibGVtOiAgICBOb24tbGF0aW4xIGhlbHAgZmlsZXMgYXJlIG5vdCBwcm9wZXJseSBzdXBwb3J0ZWQuCitTb2x1dGlvbjogICBTdXBwb3J0IHV0Zi04IGhlbHAgZmlsZXMgYW5kIGNvbnZlcnQgdGhlbSB0byAnZW5jb2RpbmcnIHdoZW4KKwkgICAgbmVlZGVkLgorRmlsZXM6CSAgICBzcmMvZmlsZWlvLmMKKworUGF0Y2ggNi4yLjQ5OQorUHJvYmxlbTogICAgV2hlbiB3cml0aW5nIGEgZmlsZSBhbmQgaGFsdGluZyB0aGUgc3lzdGVtLCB0aGUgZmlsZSBtaWdodCBiZSBsb3N0CisJICAgIHdoZW4gdXNpbmcgYSBqb3VybmFsbGluZyBmaWxlIHN5c3RlbS4KK1NvbHV0aW9uOiAgIFVzZSBmc3luYygpIHRvIGZsdXNoIHRoZSBmaWxlIGRhdGEgdG8gZGlzayBhZnRlciB3cml0aW5nIGEgZmlsZS4KKwkgICAgKFJhZGltIEtvbGFyKQorRmlsZXM6CSAgICBzcmMvZmlsZWlvLmMKKworUGF0Y2ggNi4yLjUwMCAoZXh0cmEpCitQcm9ibGVtOiAgICBUaGUgRE9TL01TLVdpbmRvd3MgdGhlIGluc3RhbGxlciBkb2Vzbid0IHVzZSB0aGUgLS1iaW5hcnkgZmxhZyBmb3IKKwkgICAgZGlmZi4KK1NvbHV0aW9uOiAgIEFkZCAtLWJpbmFyeSB0byB0aGUgZGlmZiBhcmd1bWVudCBpbiBNeURpZmYoKS4gKEFsZWphbmRybyBMb3Blei0KKwkgICAgVmFsZW5jaWEpCitGaWxlczoJICAgIHNyYy9kb3NpbnN0LmMKKworUGF0Y2ggNi4yLjUwMQorUHJvYmxlbTogICAgVmltIGRvZXMgbm90IGNvbXBpbGUgd2l0aCBNb3JwaE9TLgorU29sdXRpb246ICAgQWRkIGEgTWFrZWZpbGUgYW5kIGEgZmV3IGNoYW5nZXMgdG8gbWFrZSBWaW0gd29yayB3aXRoIE1vcnBoT1MuCisJICAgIChBbGkgQWtjYWFnYWMpCitGaWxlczoJICAgIHJ1bnRpbWUvZG9jL29zX2FtaWdhLnR4dCwgc3JjL0lOU1RBTExhbWkudHh0LAorCSAgICBzcmMvTWFrZV9tb3JwaG9zLm1haywgc3JjL21lbWZpbGUuYywgc3JjL3Rlcm0uYworCitQYXRjaCA2LjIuNTAyCitQcm9ibGVtOiAgICBCdWlsZGluZyBmYWlscyBmb3IgZ2VuZXJhdGluZyBtZXNzYWdlIGZpbGVzLgorU29sdXRpb246ICAgQWRkIGR1bW15IG1lc3NhZ2UgZmlsZXMuCitGaWxlczoJICAgIHNyYy9wby9jYS5wbywgc3JjL3BvL3J1LnBvLCBzcmMvcG8vc3YucG8KKworUGF0Y2ggNi4yLjUwMworUHJvYmxlbTogICAgTWFjOiBDYW4ndCBjb21waWxlIE1hY1JvbWFuIGNvbnZlcnNpb25zIHdpdGhvdXQgdGhlIEdVSS4KK1NvbHV0aW9uOiAgIEFsc28gbGluayB3aXRoIHRoZSBDYXJib24gZnJhbWV3b3JrIGZvciB0aGUgdGVybWluYWwgdmVyc2lvbiwgZm9yCisJICAgIHRoZSBNYWNSb21hbiBjb252ZXJzaW9uIGZ1bmN0aW9ucy4gKEVja2VoYXJkIEJlcm5zKQorCSAgICBSZW1vdmUgLWx0ZXJtY2FwIGZyb20gdGhlIEdVSSBsaW5rIGNvbW1hbmQsIGl0IGlzIG5vdCBuZWVkZWQuCitGaWxlczoJICAgIHNyYy9hdXRvL2NvbmZpZ3VyZSwgc3JjL01ha2VmaWxlLCBzcmMvY29uZmlndXJlLmluCisKK1BhdGNoIDYuMi41MDQKK1Byb2JsZW06ICAgIFZhcmlvdXMgcHJvYmxlbXMgd2l0aCAnY2luZGVudCcsIGFtb25nIHdoaWNoIHRoYXQgYQorCSAgICBsaXN0IG9mIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyBpcyBub3QgaW5kZW50ZWQgcHJvcGVybHkuCitTb2x1dGlvbjogICBGaXggdGhlIHdyb25nIGluZGVudGluZy4gIEltcHJvdmUgaW5kZW50aW5nIG9mIEMrKyBtZXRob2RzLgorCSAgICBBZGQgdGhlICdpJywgJ2InIGFuZCAnVycgb3B0aW9ucyB0byAnY2lub3B0aW9ucycuIChtb3N0bHkgYnkKKwkgICAgSGVsbXV0IFN0aWVnbGVyKQorCSAgICBJbXByb3ZlIGluZGVudGluZyBvZiBwcmVwcm9jZXNzb3ItY29udGludWF0aW9uIGxpbmVzLgorRmlsZXM6CSAgICBydW50aW1lL2RvYy9pbmRlbnQudHh0LCBzcmMvbWlzYzEuYywgc3JjL3Rlc3RkaXIvdGVzdDMuaW4sCisJICAgIHNyYy90ZXN0ZGlyL3Rlc3QzLm9rCisKK1BhdGNoIDYuMi41MDUKK1Byb2JsZW06ICAgIEhlbHAgZm9yIC1QIGFyZ3VtZW50IGlzIG1pc3NpbmcuIChSb25hbGQgSG9lbGx3YXJ0aCkKK1NvbHV0aW9uOiAgIEFkZCB0aGUgcGF0Y2ggdGhhdCB3YXMgbWlzc2luZyBpbiA2LjIuNDE5LgorRmlsZXM6CSAgICBydW50aW1lL2RvYy9zdGFydGluZy50eHQKKworUGF0Y2ggNi4yLjUwNiAoZXh0cmEpCitQcm9ibGVtOiAgICBXaW4zMjogV2hlbiAnZW5jb2RpbmcnIGlzIGEgY29kZXBhZ2UgdGhlbiByZWFkaW5nIGEgdXRmLTggZmlsZQorCSAgICBvbmx5IHdvcmtzIHdoZW4gaWNvbnYgaXMgYXZhaWxhYmxlLiAgV3JpdGluZyBhIGZpbGUgaW4gYW5vdGhlcgorCSAgICBjb2RlcGFnZSB1c2VzIHRoZSB3cm9uZyBraW5kIG9mIGNvbnZlcnNpb24uCitTb2x1dGlvbjogICBVc2UgaW50ZXJuYWwgY29udmVyc2lvbiBmdW5jdGlvbnMuICBFbmFibGUgcmVhZGluZyBhbmQgd3JpdGluZworCSAgICBmaWxlcyB3aXRoICdmaWxlZW5jb2RpbmcnIGRpZmZlcmVudCBmcm9tICdlbmNvZGluZycgZm9yIGFsbCB2YWxpZAorCSAgICBjb2RlcGFnZXMgYW5kIHV0Zi04IHdpdGhvdXQgdGhlIG5lZWQgZm9yIGljb252LgorRmlsZXM6CSAgICBzcmMvZmlsZWlvLmMsIHNyYy90ZXN0ZGlyL01ha2VfZG9zLm1haywgc3JjL3Rlc3RkaXIvdGVzdDUyLmluLAorCSAgICBzcmMvdGVzdGRpci90ZXN0NTIub2sKKworUGF0Y2ggNi4yLjUwNworUHJvYmxlbTogICAgVGhlIG93bmVyc2hpcCBvZiB0aGUgZmlsZSB3aXRoIHRoZSBwYXNzd29yZCBmb3IgdGhlIE5ldEJlYW5zCisJICAgIGNvbm5lY3Rpb24gaXMgbm90IGNoZWNrZWQuICAiLW5iPXtmaWxlfSIgZG9lc24ndCB3b3JrIGZvciBHVEsuCitTb2x1dGlvbjogICBPbmx5IGFjY2VwdCB0aGUgZmlsZSB3aGVuIG93bmVkIGJ5IHRoZSB1c2VyIGFuZCBub3QgYWNjZXNzaWJsZSBieQorCSAgICBvdGhlcnMuICBEZXRlY3QgIi1uYj0iIGZvciBHVEsuCitGaWxlczoJICAgIHNyYy9uZXRiZWFucy5jLCBzcmMvZ3VpX2d0a194MTEuYworCitQYXRjaCA2LjIuNTA4CitQcm9ibGVtOiAgICBXaW4zMjogInY6bGFuZyIgZG9lcyBub3Qgc2hvdyB0aGUgY3VycmVudCBsYW5ndWFnZSBmb3IgbWVzc2FnZXMgaWYKKwkgICAgaXQgZGlmZmVycyBmcm9tIHRoZSBvdGhlciBsb2NhbGUgc2V0dGluZ3MuCitTb2x1dGlvbjogICBVc2UgdGhlIHZhbHVlIG9mIHRoZSAkTENfTUVTU0FHRVMgZW52aXJvbm1lbnQgdmFyaWFibGUuCitGaWxlczoJICAgIHNyYy9leF9jbWRzMi5jCisKK1BhdGNoIDYuMi41MDkgKGFmdGVyIDYuMi41MDgpCitQcm9ibGVtOiAgICBDcmFzaCB3aGVuICRMQU5HIGlzIG5vdCBzZXQuCitTb2x1dGlvbjogICBBZGQgY2hlY2sgZm9yIE5VTEwgcG9pbnRlci4gKFJvbiBBYXJvbikKK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMyLmMKKworUGF0Y2ggNi4yLjUxMCAoYWZ0ZXIgNi4yLjUwNykKK1Byb2JsZW06ICAgIFdhcm5pbmcgZm9yIHBvaW50ZXIgY29udmVyc2lvbi4KK1NvbHV0aW9uOiAgIEFkZCBhIHR5cGUgY2FzdC4KK0ZpbGVzOgkgICAgc3JjL2d1aV9ndGtfeDExLmMKKworUGF0Y2ggNi4yLjUxMQorUHJvYmxlbTogICAgVGFncyBpbiBSdXNzaWFuIGhlbHAgZmlsZXMgYXJlIGluIHV0Zi04IGVuY29kaW5nLCB3aGljaCBtYXkgYmUKKwkgICAgZGlmZmVyZW50IGZyb20gJ2VuY29kaW5nJy4KK1NvbHV0aW9uOiAgIFVzZSB0aGUgIlRBR19GSUxFX0VOQ09ESU5HIiBmaWVsZCBpbiB0aGUgdGFncyBmaWxlIHRvIHNwZWNpZnkgdGhlCisJICAgIGVuY29kaW5nIG9mIHRoZSB0YWdzLiAgQ29udmVydCBoZWxwIHRhZ3MgZnJvbSAnZW5jb2RpbmcnIHRvIHRoZQorCSAgICB0YWcgZmlsZSBlbmNvZGluZyB3aGVuIHNlYXJjaGluZyBmb3IgbWF0Y2hlcywgZG8gdGhlIHJldmVyc2Ugd2hlbgorCSAgICBsaXN0aW5nIGhlbHAgdGFncy4KK0ZpbGVzOgkgICAgcnVudGltZS9kb2MvdGFnc3JjaC50eHQsIHNyYy9leF9jbWRzLmMsIHNyYy90YWcuYworCitQYXRjaCA2LjIuNTEyCitQcm9ibGVtOiAgICBUcmFuc2xhdGluZyAiXCJcbiIgaXMgdXNlbGVzcy4gKEdlcmZyaWVkIEZ1Y2hzKQorU29sdXRpb246ICAgUmVtb3ZlIHRoZSBfKCkgYXJvdW5kIGl0LgorRmlsZXM6CSAgICBzcmMvbWFpbi5jLCBzcmMvbWVtbGluZS5jCisKK1BhdGNoIDYuMi41MTMgKGFmdGVyIDYuMi41MDcpCitQcm9ibGVtOiAgICBOZXRCZWFuczogdGhlIGNoZWNrIGZvciBvd25pbmcgdGhlIGNvbm5lY3Rpb24gaW5mbyBmaWxlIGNhbiBiZQorCSAgICBzaW1wbGlmaWVkLiAoTmlrb2xheSBNb2xjaGFub3YpCitTb2x1dGlvbjogICBPbmx5IGNoZWNrIGlmIHRoZSBhY2Nlc3MgbW9kZSBpcyByaWdodC4KK0ZpbGVzOgkgICAgc3JjL25ldGJlYW5zLmMKKworUGF0Y2ggNi4yLjUxNAorUHJvYmxlbTogICAgV2hlbiBhIGhpZ2hsaWdodC9zeW50YXggZ3JvdXAgbmFtZSBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlcnMKKwkgICAgdGhlcmUgaXMgbm8gd2FybmluZy4KK1NvbHV0aW9uOiAgIEFkZCBhbiBlcnJvciBmb3IgdW5wcmludGFibGUgY2hhcmFjdGVycyBhbmQgYSB3YXJuaW5nIGZvciBvdGhlcgorCSAgICBpbnZhbGlkIGNoYXJhY3RlcnMuCitGaWxlczoJICAgIHNyYy9zeW50YXguYworCitQYXRjaCA2LjIuNTE1CitQcm9ibGVtOiAgICBXaGVuIHVzaW5nIHRoZSBvcHRpb25zIHdpbmRvdyAnc3dhcGZpbGUnIGlzIHJlc2V0LgorU29sdXRpb246ICAgVXNlICI6c2V0bG9jYWwiIGluc3RlYWQgb2YgIjpzZXQiLgorRmlsZXM6CSAgICBydW50aW1lL29wdHdpbi52aW0KKworUGF0Y2ggNi4yLjUxNgorUHJvYmxlbTogICAgVGhlIHNpZ24gY29sdW1uIGNhbm5vdCBiZSBzZWVuLCBsb29rcyBsaWtlIHRoZXJlIGFyZSB0d28gc3BhY2VzCisJICAgIGJlZm9yZSB0aGUgdGV4dC4gKFJvYiBSZXR0ZXIpCitTb2x1dGlvbjogICBBZGQgdGhlIFNpZ25Db2x1bW4gaGlnaGxpZ2h0IGdyb3VwLgorRmlsZXM6CSAgICBydW50aW1lL2RvYy9vcHRpb25zLnR4dCwgcnVudGltZS9kb2Mvc2lnbi50eHQsIHNyYy9vcHRpb24uYywKKwkgICAgc3JjL3NjcmVlbi5jLCBzcmMvc3ludGF4LmMsIHNyYy92aW0uaAorCitQYXRjaCA2LjIuNTE3CitQcm9ibGVtOiAgICBVc2luZyAicioiIGluIFZpc3VhbCBtb2RlIG9uIG11bHRpLWJ5dGUgY2hhcmFjdGVycyByZXBsYWNlcworCSAgICB0b28gbWFueSBjaGFyYWN0ZXJzLiAgSW4gVmlzdWFsIEJsb2NrIG1vZGUgcmVwbGFjaW5nIHdpdGggYQorCSAgICBtdWx0aS1ieXRlIGNoYXJhY3RlciBkb2Vzbid0IHdvcmsuCitTb2x1dGlvbjogICBBZGp1c3QgdGhlIG9wZXJhdG9yIGVuZCBmb3IgdGhlIGRpZmZlcmVuY2UgaW4gYnl0ZSBsZW5ndGggb2YgdGhlCisJICAgIG9yaWdpbmFsIGFuZCB0aGUgcmVwbGFjZWQgY2hhcmFjdGVyLiAgSW5zZXJ0IGFsbCBieXRlcyBvZiBhCisJICAgIG11bHRpLWJ5dGUgY2hhcmFjdGVyLCB0YWtlIGNhcmUgb2YgZG91YmxlLXdpZGUgY2hhcmFjdGVycy4KK0ZpbGVzOgkgICAgc3JjL29wcy5jCisKK1BhdGNoIDYuMi41MTgKK1Byb2JsZW06ICAgIExhc3QgbGluZSBvZiBhIHdpbmRvdyBpcyBub3QgdXBkYXRlZCBhZnRlciB1c2luZyAiSiIgYW5kIHRoZW4gIkQiLgorCSAgICAoQWRyaSBWZXJob2VmKQorU29sdXRpb246ICAgV2hlbiBubyBsaW5lIGlzIGZvdW5kIGJlbG93IGEgY2hhbmdlIHRoYXQgZG9lc24ndCBuZWVkIHVwZGF0aW5nLAorCSAgICB1cGRhdGUgYWxsIGxpbmVzIGJlbG93IHRoZSBjaGFuZ2UuCitGaWxlczoJICAgIHNyYy9zY3JlZW4uYworCitQYXRjaCA2LjIuNTE5CitQcm9ibGVtOiAgICBNYWM6IGNhbm5vdCByZWFkL3dyaXRlIGZpbGVzIGluIE1hY1JvbWFuIGZvcm1hdC4KK1NvbHV0aW9uOiAgIERvIGludGVybmFsIGNvbnZlcnNpb24gZnJvbS90byBNYWNSb21hbiB0by9mcm9tIHV0Zi04IGFuZCBsYXRpbjEuCisJICAgIChFY2tlaGFyZCBCZXJucykKK0ZpbGVzOgkgICAgc3JjL2ZpbGVpby5jCisKK1BhdGNoIDYuMi41MjAgKGV4dHJhKQorUHJvYmxlbTogICAgVGhlIE5TSVMgaW5zdGFsbGVyIGlzIG91dGRhdGVkLgorU29sdXRpb246ICAgTWFrZSBpdCB3b3JrIHdpdGggTlNJUyAyLjAuICBBbHNvIGluY2x1ZGUgY29uc29sZSBleGVjdXRhYmxlcyBmb3IKKwkgICAgV2luIDk1Lzk4L01FIGFuZCBXaW4gTlQvMjAwMC9YUC4gIFVzZSBMWldBIGNvbXByZXNzaW9uLiAgVXNlCisJICAgICIvb25hbWUiIHRvIGF2b2lkIGhhdmluZyB0byByZW5hbWUgZmlsZXMgYmVmb3JlIHJ1bm5pbmcgTlNJUy4KK0ZpbGVzOgkgICAgTWFrZWZpbGUsIG5zaXMvZ3ZpbS5uc2kKKworUGF0Y2ggNi4yLjUyMQorUHJvYmxlbTogICAgV2hlbiB1c2luZyBzaWxlbnQgRXggbW9kZSB0aGUgImNoYW5naW5nIGEgcmVhZG9ubHkgZmlsZSIgd2FybmluZworCSAgICBpcyBvbWl0dGVkIGJ1dCB0aGUgb25lIHNlY29uZCB3YWl0IGlzbid0LiAoWWFrb3YgTGVybmVyKQorU29sdXRpb246ICAgU2tpcCB0aGUgZGVsYXkgd2hlbiAic2lsZW50X21vZGUiIGlzIHNldC4KK0ZpbGVzOgkgICAgc3JjL21pc2MxLmMKKworUGF0Y2ggNi4yLjUyMgorUHJvYmxlbTogICAgR1VJOiB3aGVuIGNoYW5naW5nICdjbWRoZWlnaHQnIGluIHRoZSBndmltcmMgZmlsZSB0aGUgd2luZG93CisJICAgIGxheW91dCBpcyBtZXNzZWQgdXAuIChLZWl0aCBEYXJ0KQorU29sdXRpb246ICAgU2tpcCB1cGRhdGluZyB0aGUgd2luZG93IGxheW91dCB3aGVuIGNoYW5naW5nICdjbWRoZWlnaHQnIHdoaWxlCisJICAgIHN0aWxsIHN0YXJ0aW5nIHVwLgorRmlsZXM6CSAgICBzcmMvb3B0aW9uLmMKKworUGF0Y2ggNi4yLjUyMworUHJvYmxlbTogICAgV2hlbiBsb2FkaW5nIGEgc2Vzc2lvbiBhbmQgYWJvcnRpbmcgd2hlbiBhIHN3YXAgZmlsZSBhbHJlYWR5CisJICAgIGV4aXN0cywgdGhlIHVzZXIgaXMgbGVmdCB3aXRoIHVzZWxlc3Mgd2luZG93cy4gKFJvYmVydCBXZWJiKQorU29sdXRpb246ICAgTG9hZCBvbmUgZmlsZSBiZWZvcmUgY3JlYXRpbmcgdGhlIHdpbmRvd3MuCitGaWxlczoJICAgIHNyYy9leF9kb2NtZC5jCisKK1BhdGNoIDYuMi41MjQgKGV4dHJhLCBhZnRlciA2LjIuNTIwKQorUHJvYmxlbTogICAgV2luMzI6ICh1bilpbnN0YWxsaW5nIGd2aW1leHQuZGxsIG1heSBmYWlsIGlmIGl0IHdhcyB1c2VkLgorCSAgICBUaGUgZGVza3RvcCBhbmQgc3RhcnQgbWVudSBsaW5rcyBhcmUgY3JlYXRlZCBmb3IgdGhlIGN1cnJlbnQgdXNlcgorCSAgICBpbnN0ZWFkIG9mIGFsbCB1c2Vycy4KKwkgICAgVXNpbmcgdGhlIGhvbWUgZGlyZWN0b3J5IGFzIHdvcmtpbmcgZGlyZWN0b3J5IGZvciB0aGUgbGlua3MgaXMgYQorCSAgICBiYWQgaWRlYSBmb3IgbXVsdGktdXNlciBzeXN0ZW1zLgorCSAgICBDYW5ub3QgdXNlIFZpbSBmcm9tIHRoZSAiT3BlbiBXaXRoLi4uIiBtZW51LgorU29sdXRpb246ICAgRm9yY2UgYSByZWJvb3QgaWYgbmVjZXNzYXJ5LiAoQWxlamFuZHJvIExvcGV6LVZhbGVuY2lhKSAgQWxzbyB1c2UKKwkgICAgbWFjcm9zIGZvciB0aGUgZGlyZWN0b3J5IG9mIHRoZSBzb3VyY2UgYW5kIHJ1bnRpbWUgZmlsZXMuICBVc2UKKwkgICAgIkNTSURMX0NPTU1PTl8qIiBpbnN0ZWFkIG9mICJDU0lETF8qIiB3aGVuIHBvc3NpYmxlLgorCSAgICBEbyBub3Qgc3BlY2lmeSBhIHdvcmtpbmcgZGlyZWN0b3J5IGluIHRoZSBsaW5rcy4KKwkgICAgQWRkIFZpbSB0byB0aGUgIk9wZW4gV2l0aC4uLiIgbWVudS4gKEdpdXNlcHBlIEJpbG90dGEpCitGaWxlczoJICAgIG5zaXMvZ3ZpbS5uc2ksIHNyYy9kb3NpbnN0LmMsIHNyYy9kb3NpbnN0LmgsIHNyYy91bmluc3RhbC5jCisKK1BhdGNoIDYuMi41MjUKK1Byb2JsZW06ICAgIFdoZW4gdGhlIGhpc3RvcnkgY29udGFpbnMgYSB2ZXJ5IGxvbmcgbGluZSAiOmhpc3RvcnkiIGNhdXNlcyBhCisJICAgIGNyYXNoLiAoVm9sa2VyIEtpZWZlbCkKK1NvbHV0aW9uOiAgIFNob3J0ZW4gdGhlIGhpc3RvcnkgZW50cnkgdG8gZml0IGl0IGluIG9uZSBsaW5lLgorRmlsZXM6CSAgICBzcmMvZXhfZ2V0bG4uYworCitQYXRjaCA2LjIuNTI2CitQcm9ibGVtOiAgICBXaGVuIHM6bGFuZyBpcyAiamEiIHRoZSBKYXBhbmVzZSBtZW51cyBhcmUgbm90IHVzZWQuCitTb2x1dGlvbjogICBBZGQgJ2VuY29kaW5nJyB0byB0aGUgbGFuZ3VhZ2Ugd2hlbiB0aGVyZSBpcyBubyBjaGFyc2V0LgorRmlsZXM6CSAgICBydW50aW1lL21lbnUudmltCisKK1BhdGNoIDYuMi41MjcKK1Byb2JsZW06ICAgIFRoZSAyaHRtbCBzY3JpcHQgdXNlcyAiOndpbmNtZCBwIiwgd2hpY2ggYnJlYWtzIHdoZW4gdXNpbmcgc29tZQorCSAgICBhdXRvY29tbWFuZHMuCitTb2x1dGlvbjogICBSZW1lbWJlciB0aGUgd2luZG93IG51bWJlcnMgYW5kIGp1bXAgdG8gdGhlbSB3aXRoICI6d2luY21kIHciLgorCSAgICBBbHNvIGFkZCBYSFRNTCBzdXBwb3J0LiAoUGFuYWdpb3RpcyBJc3NhcmlzKQorRmlsZXM6CSAgICBydW50aW1lL3N5bnRheC8yaHRtbC52aW0KKworUGF0Y2ggNi4yLjUyOAorUHJvYmxlbTogICAgTmV0QmVhbnM6IENoYW5nZXMgb2YgdGhlICJ+IiBjb21tYW5kIGFyZSBub3QgcmVwb3J0ZWQuCitTb2x1dGlvbjogICBDYWxsIG5ldGJlYW5zX2luc2VydGVkKCkgYWZ0ZXIgcGVyZm9ybWluZyAifiIuIChHb3Jkb24gUHJpZXVyKQorCSAgICBBbHNvIGNoYW5nZSBOZXRCZWFucyBkZWJ1Z2dpbmcgdG8gYXBwZW5kIHRvIHRoZSBsb2cgZmlsZS4KKwkgICAgQWxzbyBmaXggdGhhdCAifiIgaW4gVmlzdWFsIGJsb2NrIG1vZGUgY2hhbmdlcyB0b28gbXVjaCBpZiB0aGVyZQorCSAgICBhcmUgbXVsdGktYnl0ZSBjaGFyYWN0ZXJzLgorRmlsZXM6CSAgICBzcmMvbmJkZWJ1Zy5jLCBzcmMvbm9ybWFsLmMsIHNyYy9vcHMuYworCitQYXRjaCA2LjIuNTI5IChleHRyYSkKK1Byb2JsZW06ICAgIFZpc1ZpbSBvbmx5IHdvcmtzIGZvciBBZG1pbi4gIERvaW5nIGl0IGZvciBvbmUgdXNlciBkb2Vzbid0IHdvcmsuCisJICAgIChBbGV4YW5kcmUgR291cmF1ZCkKK1NvbHV0aW9uOiAgIFdoZW4gcmVnaXN0ZXJpbmcgdGhlIG1vZHVsZSBmYWlscywgc2ltcGx5IGNvbnRpbnVlLgorRmlsZXM6CSAgICBzcmMvVmlzVmltL1Zpc1ZpbS5jcHAKKworUGF0Y2ggNi4yLjUzMAorUHJvYmxlbTogICAgV2FybmluZyBmb3IgbWlzc2luZyBwcm90b3R5cGUgb24gdGhlIEFtaWdhLgorU29sdXRpb246ICAgSW5jbHVkZSB0aW1lLmgKK0ZpbGVzOgkgICAgc3JjL3ZlcnNpb24uYworCitQYXRjaCA2LjIuNTMxCitQcm9ibGVtOiAgICBJbiBzaWxlbnQgZXggbW9kZSBubyBtZXNzYWdlcyBhcmUgZ2l2ZW4sIHdoaWNoIG1ha2VzIGRlYnVnZ2luZworCSAgICB2ZXJ5IGRpZmZpY3VsdC4KK1NvbHV0aW9uOiAgIERvIG91dHB1dCBtZXNzYWdlcyB3aGVuICd2ZXJib3NlJyBpcyBzZXQuCitGaWxlczoJICAgIHNyYy9tZXNzYWdlLmMsIHNyYy91aS5jCisKK1BhdGNoIDYuMi41MzIgKGV4dHJhKQorUHJvYmxlbTogICAgQ29tcGlsaW5nIGZvciBXaW4zMnMgd2l0aCBWQyA0LjEgZG9lc24ndCB3b3JrLgorU29sdXRpb246ICAgRG9uJ3QgdXNlIENQX1VURjggaWYgaXQncyBub3QgZGVmaW5lZC4gIERvbid0IHVzZSBDU0lETF9DT01NT04qCisJICAgIHdoZW4gbm90IGRlZmluZWQuCitGaWxlczoJICAgIHNyYy9kb3NpbnN0LmgsIHNyYy9maWxlaW8uYworCitXaW4zMiBjb25zb2xlOiBBZnRlciBwYXRjaCA2LjIuMzk4IEV4IG1vZGUgZGlkIG5vdCB3b3JrLiAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorCitQYXRjaCA2LjNhLjAwMQorUHJvYmxlbTogICAgV2luMzI6IGlmIHRlc3RpbmcgZm9yIHRoZSAiLS1iaW5hcnkiIG9wdGlvbiBmYWlscywgZGlmZiBpc24ndCB1c2VkCisJICAgIGF0IGFsbC4KK1NvbHV0aW9uOiAgIEhhbmRsZSB0aGUgIm9rIiBmbGFnIHByb3Blcmx5LiAoWWFzdWhpcm8gTWF0c3Vtb3RvKQorRmlsZXM6CSAgICBzcmMvZGlmZi5jCisKK1BhdGNoIDYuM2EuMDAyCitQcm9ibGVtOiAgICBOZXRCZWFuczogQW4gaW5zZXJ0IGNvbW1hbmQgZnJvbSBOZXRCZWFucyBiZXlvbmQgdGhlIGVuZCBvZiBhCisJICAgIGJ1ZmZlciBjcmFzaGVzIFZpbS4gKFhhdmllciBkZSBHYXllKQorU29sdXRpb246ICAgVXNlIGEgbG9jYWwgcG9zX1Qgc3RydWN0dXJlIGZvciB0aGUgcG9zaXRpb24uCitGaWxlczoJICAgIHNyYy9uZXRiZWFucy5jCisKK1BhdGNoIDYuM2EuMDAzCitQcm9ibGVtOiAgICBFMzE1IGVycm9yIHdpdGggYXV0by1mb3JtYXR0aW5nIGNvbW1lbnRzLiAoSGVucnkgVmFuIFJvZXNzZWwpCitTb2x1dGlvbjogICBQYXNzIHRoZSBsaW5lIG51bWJlciB0byBzYW1lX2xlYWRlcigpLgorRmlsZXM6CSAgICBzcmMvb3BzLmMKKworUGF0Y2ggNi4zYS4wMDQKK1Byb2JsZW06ICAgIFRlc3QzMiBmYWlscyBvbiBXaW5kb3dzIFhQIGZvciB0aGUgREpHUFAgdmVyc2lvbi4gIFJlbmFtaW5nCisJICAgIHRlc3QxMS5vdXQgZmFpbHMuCitTb2x1dGlvbjogICBEb24ndCB0cnkgcmVuYW1pbmcsIGNyZWF0ZSBuZXcgZmlsZXMgdG8gdXNlIGZvciB0aGUgdGVzdC4KK0ZpbGVzOgkgICAgc3JjL3Rlc3RkaXIvdGVzdDMyLmluLCBzcmMvdGVzdGRpci90ZXN0MzIub2sKKworUGF0Y2ggNi4zYS4wMDUKK1Byb2JsZW06ICAgICI6Y2hlY2twYXRoISIgZG9lcyBub3QgdXNlICdpbmNsdWRlZXhwcicuCitTb2x1dGlvbjogICBVc2UgYSBmaWxlIG5hbWUgdGhhdCB3YXMgZm91bmQgZGlyZWN0bHkuICBXaGVuIGEgZmlsZSB3YXMgbm90CisJICAgIGZvdW5kIGFuZCB0aGUgbG9jYXRlZCBuYW1lIGlzIGVtcHR5LCB1c2UgdGhlIHJlc3Qgb2YgdGhlIGxpbmUuCitGaWxlczoJICAgIHNyYy9zZWFyY2guYworCitQYXRjaCA2LjNhLjAwNgorUHJvYmxlbTogICAgInlpcCIgbW92ZXMgdGhlIGN1cnNvciB0byB0aGUgZmlyc3QgeWFua2VkIGxpbmUsIGJ1dCBub3QgdG8gdGhlCisJICAgIGZpcnN0IGNvbHVtbi4gIExvb2tzIGxpa2Ugbm90IGFsbCB0ZXh0IHdhcyB5YW5rZWQuIChKZW5zIFBhdWx1cykKK1NvbHV0aW9uOiAgIE1vdmUgdGhlIGN1cnNvciB0byB0aGUgZmlyc3QgY29sdW1uLgorRmlsZXM6CSAgICBzcmMvc2VhcmNoLmMKKworUGF0Y2ggNi4zYS4wMDcKK1Byb2JsZW06ICAgICdjaW5kZW50JyByZWNvZ25pemVzICJlbnVtIiBidXQgbm90ICJ0eXBlZGVmIGVudW0iLgorU29sdXRpb246ICAgU2tpcCBvdmVyICJ0eXBlZGVmIiBiZWZvcmUgY2hlY2tpbmcgZm9yICJlbnVtIi4gKEhlbG11dCBTdGllZ2xlcikKKwkgICAgQWxzbyBhdm9pZCB0aGF0IHNlYXJjaGluZyBmb3IgdGhpcyBpdGVtIGdvZXMgdG9vIGZhciBiYWNrLgorRmlsZXM6CSAgICBzcmMvbWlzYzEuYywgc3JjL3Rlc3RkaXIvdGVzdDMuaW4sIHNyYy90ZXN0ZGlyL3Rlc3QzLm9rCisKK1BhdGNoIDYuM2EuMDA4IChleHRyYSkKK1Byb2JsZW06ICAgIFdpbmRvd3MgOTg6IFNvbWUgb2YgdGhlIHdpZGUgZnVuY3Rpb25zIGFyZSBub3QgaW1wbGVtZW50ZWQsCisJICAgIHJlc3VsdGluZyBpbiBmaWxlIEkvTyB0byBmYWlsLiAgVGhpcyBkZXBlbmRzIG9uIHdoYXQgVW5pY29kZQorCSAgICBzdXBwb3J0IGlzIGluc3RhbGxlZC4KK1NvbHV0aW9uOiAgIEhhbmRsZSB0aGUgZmFpbHVyZSBhbmQgZmFsbCBiYWNrIHRvIG5vbi13aWRlIGZ1bmN0aW9ucy4KK0ZpbGVzOgkgICAgc3JjL29zX3dpbjMyLmMKKworUGF0Y2ggNi4zYS4wMDkKK1Byb2JsZW06ICAgIFdpbjMyOiBDb21wbGV0aW9uIG9mIGZpbGVuYW1lcyBkb2VzIG5vdCB3b3JrIHByb3Blcmx5IHdoZW4KKwkgICAgJ2VuY29kaW5nJyBkaWZmZXJzIGZyb20gdGhlIGFjdGl2ZSBjb2RlIHBhZ2UuCitTb2x1dGlvbjogICBVc2Ugd2lkZSBmdW5jdGlvbnMgZm9yIGV4cGFuZGluZyB3aWxkY2FyZHMgd2hlbiBhcHByb3ByaWF0ZS4KK0ZpbGVzOgkgICAgc3JjL21pc2MxLmMKKworUGF0Y2ggNi4zYS4wMTAgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6IENoYXJhY3RlcnMgaW4gdGhlIHdpbmRvdyB0aXRsZSB0aGF0IGRvIG5vdCBhcHBlYXIgaW4gdGhlCisJICAgIGFjdGl2ZSBjb2RlcGFnZSBhcmUgcmVwbGFjZWQgYnkgYSBxdWVzdGlvbiBtYXJrLgorU29sdXRpb246ICAgVXNlIERlZldpbmRvd1Byb2NXKCkgaW5zdGVhZCBvZiBEZWZXaW5kb3dQcm9jKCkgd2hlbiBwb3NzaWJsZS4KK0ZpbGVzOgkgICAgc3JjL2dsYmxfaW1lLmNwcCwgc3JjL2dsb2JhbHMuaCwgc3JjL3Byb3RvL2d1aV93MTYucHJvLAorCSAgICBzcmMvcHJvdG8vZ3VpX3czMi5wcm8sIHNyYy9ndWlfdzE2LmMsIHNyYy9ndWlfdzMyLmMsIHNyYy9ndWlfdzQ4LmMKKworUGF0Y2ggNi4zYS4wMTEKK1Byb2JsZW06ICAgIFVzaW5nIHRoZSBleHBsb3JlciBwbHVnaW4gY2hhbmdlcyBhIGxvY2FsIGRpcmVjdG9yeSB0byB0aGUgZ2xvYmFsCisJICAgIGRpcmVjdG9yeS4KK1NvbHV0aW9uOiAgIERvbid0IHVzZSAiOmNoZGlyIiB0byByZXN0b3JlIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4gIE1ha2UKKwkgICAgImV4cGFuZCgnJTpwJykiIHJlbW92ZSAiLy4uLyIgYW5kICIvLi8iIGl0ZW1zIGZyb20gdGhlIHBhdGguCitGaWxlczoJICAgIHJ1bnRpbWUvcGx1Z2luL2V4cGxvcmVyLnZpbSwgc3JjL2V2YWwuYywgc3JjL29zX3VuaXguYworCitQYXRjaCA2LjNhLjAxMiAoZXh0cmEpCitQcm9ibGVtOiAgICBPbiBXaW5kb3dzIDk4IHRoZSBpbnN0YWxsZXIgZG9lc24ndCB3b3JrLCBkb24ndCBldmVuIGdldCB0aGUgIkkKKwkgICAgYWdyZWUiIGJ1dHRvbi4gIFRoZSBjaGVjayBmb3IgdGhlIHBhdGggZW5kaW5nIGluICJ2aW0iIG1ha2VzIHRoZQorCSAgICBicm93c2UgZGlhbG9nIGhhcmQgdG8gdXNlLiAgVGhlIGRlZmF1bHQgcGF0aCB3aGVuIG5vIHByZXZpb3VzIFZpbQorCSAgICBpcyBpbnN0YWxsZWQgaXMgImM6XHZpbSIgaW5zdGVhZCBvZiAiYzpcUHJvZ3JhbSBGaWxlc1xWaW0iLgorU29sdXRpb246ICAgUmVtb3ZlIHRoZSBiYWNrZ3JvdW5kIGdyYWRpZW50IGNvbW1hbmQuICBDaGFuZ2UgdGhlCisJICAgIC5vblZlcmlmeUluc3REaXIgZnVuY3Rpb24gdG8gYSBsZWF2ZSBmdW5jdGlvbiBmb3IgdGhlIGRpcmVjdG9yeQorCSAgICBwYWdlLiAgRG9uJ3QgbGV0IHRoZSBpbnN0YWxsIHByb2dyYW0gZGVmYXVsdCB0byBjOlx2aW0gd2hlbiBubworCSAgICBwYXRoIGNvdWxkIGJlIGZvdW5kLgorRmlsZXM6CSAgICBuc2lzL2d2aW0ubnNpLCBzcmMvZG9zaW5zdC5jCisKK1BhdGNoIDYuM2EuMDEzIChleHRyYSkKK1Byb2JsZW06ICAgIFdpbjMyOiBDaGFyYWN0ZXJzIGluIHRoZSBtZW51IHRoYXQgYXJlIG5vdCBpbiB0aGUgYWN0aXZlIGNvZGVwYWdlCisJICAgIGFyZSBnYXJibGVkLgorU29sdXRpb246ICAgQ29udmVydCBtZW51IHN0cmluZ3MgZnJvbSAnZW5jb2RpbmcnIHRvIHRoZSBhY3RpdmUgY29kZXBhZ2UuCitGaWxlczoJICAgIHNyYy9ndWlfdzMyLmMsIHNyYy9ndWlfdzQ4LmMKKworUGF0Y2ggNi4zYS4wMTQKK1Byb2JsZW06ICAgIFVzaW5nIG11bHRpLWJ5dGUgdGV4dCBhbmQgaGlnaGxpZ2h0aW5nIGluIGEgc3RhdHVzbGluZSBjYXVzZXMgZ2FwcworCSAgICB0byBhcHBlYXIuIChIZWxtdXQgU3RpZWdsZXIpCitTb2x1dGlvbjogICBBZHZhbmNlIHRoZSBjb2x1bW4gYnkgdGV4dCB3aWR0aCBpbnN0ZWFkIG9mIG51bWJlciBvZiBieXRlcy4gIEFkZAorCSAgICB0aGUgdmltX3N0cm5zaXplKCkgZnVuY3Rpb24uCitGaWxlczoJICAgIHNyYy9jaGFyc2V0LmMsIHNyYy9wcm90by9jaGFyc2V0LnBybywgc3JjL3NjcmVlbi5jCisKK1BhdGNoIDYuM2EuMDE1CitQcm9ibGVtOiAgICBVc2luZyB0aGUgInNlbGVjdCBhbGwiIG1lbnUgaXRlbSB3aGVuICdpbnNlcnRtb2RlJyBpcyBzZXQgYW5kCisJICAgIGNsaWNraW5nIHRoZSBtb3VzZSBidXR0b24gZG9lc24ndCByZXR1cm4gdG8gSW5zZXJ0IG1vZGUuICBUaGUKKwkgICAgQnVmZmVycy9EZWxldGUgbWVudSBkb2Vzbid0IG9mZmVyIGEgY2hvaWNlIHRvIGFiYW5kb24gYSBjaGFuZ2VkCisJICAgIGJ1ZmZlci4gIChKZW5zIFBhdWx1cykKK1NvbHV0aW9uOiAgIERvbid0IHVzZSBDVFJMLVwgQ1RSTC1OLiAgQWRkICI6Y29uZmlybSIgZm9yIHRoZSBCdWZmZXJzIG1lbnUKKwkgICAgaXRlbXMuCitGaWxlczoJICAgIHJ1bnRpbWUvbWVudS52aW0KKworUGF0Y2ggNi4zYS4wMTYKK1Byb2JsZW06ICAgIEFmdGVyIGNhbmNlbGxpbmcgdGhlICI6Y29uZmlybSIgZGlhbG9nIHRoZSBlcnJvciBtZXNzYWdlIGFuZAorCSAgICBoaXQtZW50ZXIgcHJvbXB0IG1heSBub3QgYmUgZGlzcGxheWVkIHByb3Blcmx5LgorU29sdXRpb246ICAgRmx1c2ggb3V0cHV0IGFmdGVyIHNob3dpbmcgdGhlIGRpYWxvZy4KK0ZpbGVzOgkgICAgc3JjL21lc3NhZ2UuYworCitQYXRjaCA2LjNhLjAxNworUHJvYmxlbTogICAgc2VydmVybmFtZSgpIGRvZXNuJ3Qgd29yayB3aGVuIFZpbSB3YXMgc3RhcnRlZCB3aXRoIHRoZSAiLVgiCisJICAgIGFyZ3VtZW50IG9yIHdoZW4gdGhlICJleGNsdWRlIiBpbiAnY2xpcGJvYXJkJyBtYXRjaGVzIHRoZSB0ZXJtaW5hbAorCSAgICBuYW1lLiAgKFJvYmVydCBOb3dvdG5pYWspCitTb2x1dGlvbjogICBGb3JjZSBjb25uZWN0aW5nIHRvIHRoZSBYIHNlcnZlciB3aGVuIHVzaW5nIGNsaWVudC1zZXJ2ZXIKKwkgICAgY29tbWFuZHMuCitGaWxlczoJICAgIHNyYy9ldmFsLmMsIHNyYy9nbG9iYWxzLmgsIHNyYy9vc191bml4LmMKKworUGF0Y2ggNi4zYS4wMTggKGFmdGVyIDYuM2EuMDE3KQorUHJvYmxlbTogICAgQ29tcGlsZXIgd2FybmluZyBmb3IgcmV0dXJuIHZhbHVlIG9mIG1ha2VfY29ubmVjdGlvbigpLgorU29sdXRpb246ICAgVXNlIHZvaWQgcmV0dXJuIHR5cGUuCitGaWxlczoJICAgIHNyYy9ldmFsLmMKKworUGF0Y2ggNi4zYS4wMTkgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6IHR5cGluZyBub24tbGF0aW4xIGNoYXJhY3RlcnMgZG9lc24ndCB3b3JrLgorU29sdXRpb246ICAgSW52b2tlIF9PbkNoYXIoKSBkaXJlY3RseSB0byBhdm9pZCB0aGF0IHRoZSBhcmd1bWVudCBpcyB0cnVuY2F0ZWQKKwkgICAgdG8gYSBieXRlLiAgQ29udmVydCB0aGUgVVRGLTE2IGNoYXJhY3RlciB0byBieXRlcyBhY2NvcmRpbmcgdG8KKwkgICAgJ2VuY29kaW5nJyBhbmQgaWdub3JlICd0ZXJtZW5jb2RpbmcnLiAgU2FtZSBmb3IgX09uU3lzQ2hhcigpLgorRmlsZXM6CSAgICBzcmMvZ3VpX3czMi5jLCBzcmMvZ3VpX3c0OC5jCisKK1BhdGNoIDYuM2EuMDIwIChleHRyYSkKK1Byb2JsZW06ICAgIE1pc3Npbmcgc3VwcG9ydCBmb3IgQVJPUyAoQW1pZ2FPUyByZWltcGxlbWVudGF0aW9uKS4gIEFtaWdhIEdVSQorCSAgICBkb2Vzbid0IHdvcmsuCitTb2x1dGlvbjogICBBZGQgQVJPUyBzdXBwb3J0LiAgKEFkYW0gQ2hvZG9yb3dza2kpCisJICAgIEZpeCBBbWlnYSBHVUkgcHJvYmxlbXMuIChHZW9yZyBTdGVnZXIsIEFsaSBBa2NhYWdhYykKK0ZpbGVzOgkgICAgTWFrZWZpbGUsIHNyYy9NYWtlX2Fyb3MubWFrLCBzcmMvZ3VpX2FtaWdhLmMsIHNyYy9ndWlfYW1pZ2EuaCwKKwkgICAgc3JjL21lbWZpbGUuYywgc3JjL29zX2FtaWdhLmMsIHNyYy90ZXJtLmMKKworUGF0Y2ggNi4zYS4wMjEgKGFmdGVyIDYuM2EuMDE3KQorUHJvYmxlbTogICAgQ2FuJ3QgY29tcGlsZSB3aXRoIFgxMSBidXQgd2l0aG91dCBHVUkuCitTb2x1dGlvbjogICBQdXQgdXNlIG9mICJndWkuaW5fdXNlIiBpbnNpZGUgYW4gI2lmZGVmLgorRmlsZXM6CSAgICBzcmMvZXZhbC5jCisKK1BhdGNoIDYuM2EuMDIyCitQcm9ibGVtOiAgICBXaGVuIHR5cGluZyBUYWJzIHdoZW4gJ3NvZnR0YWJzdG9wJyBpcyB1c2VkIGFuZCAnbGlzdCcgaXMgc2V0IGEKKwkgICAgdGFiIGlzIGNvdW50ZWQgZm9yIHR3byBzcGFjZXMuCitTb2x1dGlvbjogICBVc2UgdGhlICJMIiBmbGFnIGluICdjcG9wdGlvbnMnIHRvIHRlbGwgd2hldGhlciBhIHRhYiBpcyBjb3VudGVkCisJICAgIGFzIHR3byBzcGFjZXMgb3IgYXMgJ3RhYnN0b3AnLiAoQW50b255IFNjcml2ZW4pCitGaWxlczoJICAgIHJ1bnRpbWUvZG9jL29wdGlvbnMudHh0LCBzcmMvZWRpdC5jCisKK1BhdGNoIDYuM2EuMDIzCitQcm9ibGVtOiAgICBDb21wbGV0aW9uIG9uIHRoZSBjb21tYW5kIGxpbmUgZG9lc24ndCBoYW5kbGUgYmFja3NsYXNoZXMKKwkgICAgcHJvcGVybHkuICBPbmx5IHRoZSB0YWlsIG9mIG1hdGNoZXMgaXMgc2hvd24sIGV2ZW4gd2hlbiBub3QKKwkgICAgY29tcGxldGluZyBmaWxlbmFtZXMuCitTb2x1dGlvbjogICBXaGVuIHR1cm5pbmcgdGhlIHN0cmluZyBpbnRvIGEgcGF0dGVybiBkb3VibGUgYmFja3NsYXNoZXMuICBEb24ndAorCSAgICBvbWl0IHRoZSBwYXRoIHdoZW4gbm90IGV4cGFuZGluZyBmaWxlcyBvciBkaXJlY3Rvcmllcy4KK0ZpbGVzOgkgICAgc3JjL2V4X2dldGxuLmMKKworUGF0Y2ggNi4zYS4wMjQKK1Byb2JsZW06ICAgIFRoZSAic2F2ZSBhbGwiIHRvb2xiYXIgaXRlbSBmYWlscyBmb3IgYnVmZmVycyB0aGF0IGRvbid0IGhhdmUgYQorCSAgICBuYW1lLiAgV2hlbiB1c2luZyAiOndhIiBvciBjbG9zaW5nIHRoZSBWaW0gd2luZG93IGFuZCB0aGVyZSBhcmUKKwkgICAgbmFtZWxlc3MgYnVmZmVycywgYnJvd3NpbmcgZm9yIGEgbmFtZSBtYXkgY2F1c2UgdGhlIG5hbWUgYmVpbmcKKwkgICAgZ2l2ZW4gdG8gdGhlIHdyb25nIGJ1ZmZlciBvciBub3Qgc3RvcmVkIHByb3Blcmx5LiAgIjpicm93c2UiIG9ubHkKKwkgICAgd29ya2VkIGZvciBvbmUgZmlsZS4KK1NvbHV0aW9uOiAgIFVzZSAiOmNvbmZpcm0gYnJvd3NlIiBmb3IgInNhdmUgYWxsIi4KKwkgICAgUGFzcyBidWZmZXIgYXJndW1lbnQgdG8gc2V0Zm5hbWUoKS4gIFJlc3RvcmUgImJyb3dzZSIgZmxhZyBhbmQKKwkgICAgImZvcmNlaXQiIGFmdGVyIGRvaW5nIHRoZSB3b3JrIGZvciBvbmUgZmlsZS4KK0ZpbGVzOgkgICAgcnVudGltZS9tZW51LnZpbSwgc3JjL2J1ZmZlci5jLCBzcmMvZXhfY21kcy5jLCBzcmMvZXhfY21kczIuYywKKwkgICAgc3JjL2V4X2RvY21kLmMsIHNyYy9leF9nZXRsbi5jLCBzcmMvZmlsZWlvLmMsIHNyYy9tZW1saW5lLmMsCisJICAgIHNyYy9tZXNzYWdlLmMsIHNyYy93aW5kb3cuYywgc3JjL3Byb3RvL2J1ZmZlci5wcm8sCisJICAgIHNyYy9wcm90by9leF9jbWRzMi5wcm8sIHNyYy9wcm90by9tZW1saW5lLnBybworCitQYXRjaCA2LjNhLjAyNQorUHJvYmxlbTogICAgU2V0dGluZyAndmlydHVhbGVkaXQnIG1vdmVzIHRoZSBjdXJzb3IuIChCZW5qaSBGaXNoZXIpCitTb2x1dGlvbjogICBVcGRhdGUgdGhlIHZpcnR1YWwgY29sdW1uIGJlZm9yZSB1c2luZyBpdC4KK0ZpbGVzOgkgICAgc3JjL29wdGlvbi5jCisKK1BhdGNoIDYuM2EuMDI2IChleHRyYSwgYWZ0ZXIgNi4zYS4wMDgpCitQcm9ibGVtOiAgICBFZGl0aW5nIGZpbGVzIG9uIFdpbmRvd3MgOTggZG9lc24ndCB3b3JrIHdoZW4gJ2VuY29kaW5nJyBpcworCSAgICAidXRmLTgiIChBbnRvaW5lIE1lY2hlbHluY2spCisJICAgIFdhcm5pbmcgZm9yIG1pc3NpbmcgZnVuY3Rpb24gcHJvdG90eXBlLgorU29sdXRpb246ICAgRm9yIGFsbCB3aWRlIGZ1bmN0aW9ucyBjaGVjayBpZiBpdCBmYWlsZWQgYmVjYXVzZSBpdCBpcyBub3QKKwkgICAgaW1wbGVtZW50ZWQuICBVc2UgQU5TSSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBmb3IgY2hhcl90b19zdHJpbmcoKS4KK0ZpbGVzOgkgICAgc3JjL2d1aV93NDguYywgc3JjL29zX21zd2luLmMsIHNyYy9vc193aW4zMi5jCisKK1BhdGNoIDYuM2EuMDI3IChleHRyYSwgYWZ0ZXIgNi4zYS4wMjYpCitQcm9ibGVtOiAgICBDb21waWxlciB3YXJuaW5nIGZvciBmdW5jdGlvbiBhcmd1bWVudC4KK1NvbHV0aW9uOiAgIERlY2xhcmUgYm90aCBjaGFyIGFuZCBXQ0hBUiBhcnJheXMuCitGaWxlczoJICAgIHNyYy9ndWlfdzQ4LmMKKworUGF0Y2ggNi4zYS4wMjgKK1Byb2JsZW06ICAgICI6bm9ybWFsIC4iIGRvZXNuJ3Qgd29yayBpbnNpZGUgYSBmdW5jdGlvbiwgYmVjYXVzZSByZWRvIGlzIHNhdmVkCisJICAgIGFuZCByZXN0b3JlZC4gKEJlbmppIEZpc2hlcikKK1NvbHV0aW9uOiAgIE1ha2UgYSBjb3B5IG9mIHRoZSByZWRvIGJ1ZmZlciB3aGVuIGV4ZWN1dGluZyBhIGZ1bmN0aW9uLgorRmlsZXM6CSAgICBzcmMvZ2V0Y2hhci5jCisKK1BhdGNoIDYuM2IuMDAxIChleHRyYSkKK1Byb2JsZW06ICAgIEJjYyA1OiBUaGUgZ2VuZXJhdGVkIGF1dG8vcGF0aGRlZiBjYW4ndCBiZSBjb21waWxlZC4KK1NvbHV0aW9uOiAgIEZpeCB0aGUgd2F5IHF1b3RlcyBhbmQgYmFja3NsYXNoZXMgYXJlIGVzY2FwZWQuCitGaWxlczoJICAgIHNyYy9NYWtlX2JjNS5tYWsKKworUGF0Y2ggNi4zYi4wMDIKK1Byb2JsZW06ICAgIFdpbjMyOiBjb252ZXJzaW9uIGR1cmluZyBmaWxlIHdyaXRlIGZhaWxzIHdoZW4gYSBkb3VibGUtYnl0ZQorCSAgICBjaGFyYWN0ZXIgaXMgc3BsaXQgb3ZlciB0d28gd3JpdGVzLgorU29sdXRpb246ICAgRml4IHRoZSBjb252ZXJzaW9uIHJldHJ5IHdpdGhvdXQgYSB0cmFpbGluZyBieXRlLiAoVGFybyBNdXJhb2thKQorRmlsZXM6CSAgICBzcmMvZmlsZWlvLmMKKworUGF0Y2ggNi4zYi4wMDMgKGV4dHJhKQorUHJvYmxlbTogICAgV2luMzI6IFdoZW4gY29tcGlsaW5nIHdpdGggQm9ybGFuZCBDIDUuNSBhbmQgJ2VuY29kaW5nJyBpcyAidXRmLTgiCisJICAgIHRoZW4gVmltIGNhbid0IG9wZW4gZmlsZXMgdW5kZXIgTVMtV2luZG93cyA5OC4gKEFudG9pbmUgSi4KKwkgICAgTWVjaGVseW5jaykKK1NvbHV0aW9uOiAgIERvbid0IHVzZSBfd3N0YXQoKSwgX3dvcGVuKCkgYW5kIF93Zm9wZW4oKSBpbiB0aGlzIHNpdHVhdGlvbi4KK0ZpbGVzOgkgICAgc3JjL29zX21zd2luLmMsIHNyYy9vc193aW4zMi5jCisKK1BhdGNoIDYuM2IuMDA0CitQcm9ibGVtOiAgICAiOmhlbHBncmVwIiBpbmNsdWRlcyBhIHRyYWlsaW5nIENSIGluIHRoZSB0ZXh0IGxpbmUuCitTb2x1dGlvbjogICBSZW1vdmUgdGhlIENSLgorRmlsZXM6CSAgICBzcmMvcXVpY2tmaXguYworCitQYXRjaCA2LjNiLjAwNQorUHJvYmxlbTogICAgIjplY2hvICZnOmFpIiByZXN1bHRzIGluIHRoZSBsb2NhbCBvcHRpb24gdmFsdWUuIChTYWxtYW4gSGFsaW0pCitTb2x1dGlvbjogICBQYXNzIHRoZSBmbGFncyBmcm9tIGZpbmRfb3B0aW9uX2VuZCgpIHRvIGdldF9vcHRpb25fdmFsdWUoKS4KK0ZpbGVzOgkgICAgc3JjL2V2YWwuYworCitQYXRjaCA2LjNiLjAwNgorUHJvYmxlbTogICAgV2hlbiB1c2luZyAibXN3aW4udmltIiwgQ1RSTC1WIGluIEluc2VydCBtb2RlIGxlYXZlcyBjdXJzb3IgYmVmb3JlCisJICAgIGxhc3QgcGFzdGVkIGNoYXJhY3Rlci4gIChNYXRoZXcgRGF2aXMpCitTb2x1dGlvbjogICBVc2UgdGhlIHNhbWUgUGFzdGUoKSBmdW5jdGlvbiBhcyBpbiBtZW51LnZpbS4KK0ZpbGVzOgkgICAgcnVudGltZS9tc3dpbi52aW0KKworUGF0Y2ggNi4zYi4wMDcKK1Byb2JsZW06ICAgIFNlc3Npb24gZmlsZSBkb2Vzbid0IHJlc3RvcmUgdmlldyBvbiB3aW5kb3dzIHByb3Blcmx5LiAoUm9iZXJ0CisJICAgIFdlYmIpCitTb2x1dGlvbjogICBSZXN0b3JlIHdpbmRvdyBzaXplcyBib3RoIGJlZm9yZSBhbmQgYWZ0ZXIgcmVzdG9yaW5nIHRoZSB2aWV3LCBzbworCSAgICB0aGF0IHRoZSB2aWV3LCBjdXJzb3IgcG9zaXRpb24gYW5kIHNpemUgYXJlIHJlc3RvcmVkIHByb3Blcmx5LgorRmlsZXM6CSAgICBzcmMvZXhfZG9jbWQuYworCitQYXRjaCA2LjNiLjAwOAorUHJvYmxlbTogICAgVXNpbmcgIjpmaW5hbGx5IiBpbiBhIHVzZXIgY29tbWFuZCBkb2Vzbid0IGFsd2F5cyB3b3JrLiAoSGFyaQorCSAgICBLcmlzaG5hIERhcmEpCitTb2x1dGlvbjogICBEb24ndCBhc3N1bWUgdGhhdCB1c2luZyBnZXRleGxpbmUoKSBtZWFucyB0aGUgY29tbWFuZCB3YXMgdHlwZWQuCitGaWxlczoJICAgIHNyYy9leF9kb2NtZC5jCisKK1BhdGNoIDYuM2IuMDA5IChleHRyYSkKK1Byb2JsZW06ICAgIFdpbjMyOiBXaGVuIHRoZSAtUCBhcmd1bWVudCBpcyBub3QgZm91bmQgaW4gYSB3aW5kb3cgdGl0bGUsIHRoZXJlCisJICAgIGlzIG5vIGVycm9yIG1lc3NhZ2UuCitTb2x1dGlvbjogICBXaGVuIHRoZSB3aW5kb3cgY2FuJ3QgYmUgZm91bmQgZ2l2ZSBhbiBlcnJvciBtZXNzYWdlIGFuZCBleGl0LgorCSAgICBBbHNvIHVzZSB0cnkvZXhjZXB0IHRvIGNhdGNoIGZhaWxpbmcgdG8gb3BlbiB0aGUgTURJIHdpbmRvdy4KKwkgICAgKE1pY2hhZWwgV29va2V5KQorRmlsZXM6CSAgICBzcmMvZ3VpX3czMi5jCisKK1BhdGNoIDYuM2IuMDEwCitQcm9ibGVtOiAgICBXaW4zMjogVXNpbmcgdGhlICItRCIgYXJndW1lbnQgYW5kIGV4cGFuZGluZyBhcmd1bWVudHMgbWF5IGNhdXNlIGEKKwkgICAgaGFuZywgYmVjYXVzZSB0aGUgdGVybWluYWwgaXNuJ3QgaW5pdGlhbGl6ZWQgeWV0LiAoVmluY2UgTmVncmkpCitTb2x1dGlvbjogICBEb24ndCBnbyBpbnRvIGRlYnVnIG1vZGUgYmVmb3JlIHRoZSB0ZXJtaW5hbCBpcyBpbml0aWFsaXplZC4KK0ZpbGVzOgkgICAgc3JjL21haW4uYworCitQYXRjaCA2LjNiLjAxMQorUHJvYmxlbTogICAgVXNpbmcgQ1RSTC1cIGUgd2hpbGUgb2J0YWluaW5nIGFuIGV4cHJlc3Npb24gYWJvcnRzIHRoZSBjb21tYW5kCisJICAgIGxpbmUuIChIYXJpIEtyaXNobmEgRGFyYSkKK1NvbHV0aW9uOiAgIEluc2VydCB0aGUgQ1RSTC1cIGUgYXMgdHlwZWQuCitGaWxlczoJICAgIHNyYy9leF9nZXRsbi5jCisKK1BhdGNoIDYuM2IuMDEyIChhZnRlciA2LjNiLjAxMCkKK1Byb2JsZW06ICAgIENhbid0IGNvbXBpbGUgd2l0aCB0aW55IGZlYXR1cmVzLiAoTm9yYmVydCBUcmV0a293c2tpKQorU29sdXRpb246ICAgQWRkICNpZmRlZnMuCitGaWxlczoJICAgIHNyYy9tYWluLmMKKworUGF0Y2ggNi4zYi4wMTMKK1Byb2JsZW06ICAgIExvYWRpbmcgYSBzZXNzaW9uIGZpbGUgcmVzdWx0cyBpbiBlZGl0aW5nIHRoZSB3cm9uZyBmaWxlIGluIHRoZQorCSAgICBmaXJzdCB3aW5kb3cgd2hlbiB0aGlzIGlzIG5vdCB0aGUgZmlsZSBhdCB0aGUgY3VycmVudCBwb3NpdGlvbiBpbgorCSAgICB0aGUgYXJndW1lbnQgbGlzdC4gKFJvYmVydCBXZWJiKQorU29sdXRpb246ICAgQ2hlY2sgd19hcmdfaWR4X2ludmFsaWQgdG8gZGVjaWRlIHdoZXRoZXIgdG8gZWRpdCBhIGZpbGUuCitGaWxlczoJICAgIHNyYy9leF9kb2NtZC5jCisKK1BhdGNoIDYuM2IuMDE0CitQcm9ibGVtOiAgICAiOnJ1bnRpbWUhIGZvbyoudmltIiBtYXkgdXNpbmcgZnJlZWQgbWVtb3J5IHdoZW4gYSBzb3VyY2VkIHNjcmlwdAorCSAgICBjaGFuZ2VzIHRoZSB2YWx1ZSBvZiAncnVudGltZXBhdGgnLgorU29sdXRpb246ICAgTWFrZSBhIGNvcHkgb2YgJ3J1bnRpbWVwYXRoJyB3aGVuIGxvb3Bpbmcgb3ZlciB0aGUgbWF0Y2hlcy4KK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMyLmMKKworUGF0Y2ggNi4zYi4wMTUKK1Byb2JsZW06ICAgIEdldCBsYWxsb2MoMCkgZXJyb3Igd2hlbiB1c2luZyAicCIgaW4gVmlzdWFsIG1vZGUgd2hpbGUKKwkgICAgJ2NsaXBib2FyZCcgY29udGFpbnMgImF1dG9zZWxlY3QsdW5uYW1lZCIuIChNYXJrIFdhZ29ubmVyKQorU29sdXRpb246ICAgQXZvaWQgYWxsb2NhdGluZyB6ZXJvIGJ5dGVzLiAgT2J0YWluIHRoZSBjbGlwYm9hcmQgd2hlbiBuZWNlc3NhcnkuCitGaWxlczoJICAgIHNyYy9vcHMuYworCitQYXRjaCA2LjNiLjAxNgorUHJvYmxlbTogICAgV2hlbiAndmlydHVhbGVkaXQnIGlzIHVzZWQgIngiIGRvZXNuJ3QgZGVsZXRlIHRoZSBsYXN0IGNoYXJhY3RlcgorCSAgICBvZiBhIGxpbmUgdGhhdCBoYXMgYXMgbWFueSBjaGFyYWN0ZXJzIGFzICdjb2x1bW5zJy4gKFlha292IExlcm5lcikKK1NvbHV0aW9uOiAgIFdoZW4gdGhlIGN1cnNvciBpc24ndCBtb3ZlZCBsZXQgb25lcmlnaHQoKSByZXR1cm4gRkFJTC4KK0ZpbGVzOgkgICAgc3JjL2VkaXQuYworCitQYXRjaCA2LjNiLjAxNworUHJvYmxlbTogICAgV2luMzI6ICJ2aW0gLS1yZW1vdGUtd2FpdCIgZG9lc24ndCBleGl0IHdoZW4gdGhlIHNlcnZlciBmaW5pc2hlZAorCSAgICBlZGl0aW5nIHRoZSBmaWxlLiAoRGF2aWQgRmlzaGJ1cm4pCitTb2x1dGlvbjogICBJbiB0aGUgcnJoZWxwZXIgcGx1Z2luIGNoYW5nZSBiYWNrc2xhc2hlcyB0byBmb3J3YXJkIHNsYXNoZXMgYW5kCisJICAgIGVzY2FwZSBzcGVjaWFsIGNoYXJhY3RlcnMuCitGaWxlczoJICAgIHJ1bnRpbWUvcGx1Z2luL3JyaGVscGVyLnZpbQorCitQYXRjaCA2LjNiLjAxOAorUHJvYmxlbTogICAgVGhlIGxpc3Qgb2YgaGVscCBmaWxlcyBpbiB0aGUgImxvY2FsIGFkZGl0aW9ucyIgdGFibGUgZG9lc24ndAorCSAgICByZWNvZ25pemUgdXRmLTggZW5jb2RpbmcuIChZYXN1aGlybyBNYXRzdW1vdG8pCitTb2x1dGlvbjogICBSZWNvZ25pemUgdXRmLTggY2hhcmFjdGVycy4KK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMuYworCitQYXRjaCA2LjNiLjAxOQorUHJvYmxlbTogICAgV2hlbiAkVklNUlVOVElNRSBpcyBub3QgYSBmdWxsIHBhdGggbmFtZSB0aGUgImxvY2FsIGFkZGl0aW9ucyIKKwkgICAgdGFibGUgbGlzdHMgYWxsIHRoZSBoZWxwIGZpbGVzLgorU29sdXRpb246ICAgVXNlIGZ1bGxwYXRoY21wKCkgaW5zdGVhZCBvZiBmbmFtZWNtcCgpIHRvIGNvbXBhcmUgdGhlIGRpcmVjdG9yeQorCSAgICBuYW1lcy4KK0ZpbGVzOgkgICAgc3JjL2V4X2NtZHMuYworCitQYXRjaCA2LjNiLjAyMAorUHJvYmxlbTogICAgV2hlbiB1c2luZyBDVFJMLV4gd2hlbiBlbnRlcmluZyBhIHNlYXJjaCBzdHJpbmcsIHRoZSBpdGVtIGluIHRoZQorCSAgICBzdGF0dXNsaW5lIHRoYXQgaW5kaWNhdGVzIHRoZSBrZXltYXAgaXMgbm90IHVwZGF0ZWQuIChJbHlhCisJICAgIERvZ29sYXpreSkKK1NvbHV0aW9uOiAgIE1hcmsgdGhlIHN0YXR1c2xpbmVzIGZvciB1cGRhdGluZy4KK0ZpbGVzOgkgICAgc3JjL2V4X2dldGxuLmMKKworUGF0Y2ggNi4zYi4wMjEKK1Byb2JsZW06ICAgIFRoZSBzd2FwZmlsZSBpcyBub3QgcmVhZGFibGUgZm9yIG90aGVycywgdGhlIEFUVEVOVElPTiBwcm9tcHQgZG9lcworCSAgICBub3Qgc2hvdyBhbGwgaW5mbyB3aGVuIHNvbWVvbmUgZWxzZSBpcyBlZGl0aW5nIHRoZSBzYW1lIGZpbGUuCisJICAgIChNYXJjZWwgU3ZpdGFsc2t5KQorU29sdXRpb246ICAgVXNlIHRoZSBwcm90ZWN0aW9uIG9mIG9yaWdpbmFsIGZpbGUgZm9yIHRoZSBzd2FwZmlsZSBhbmQgc2V0IGl0CisJICAgIGFmdGVyIGNyZWF0aW5nIHRoZSBzd2FwZmlsZS4KK0ZpbGVzOgkgICAgc3JjL2ZpbGVpby5jCisKK1BhdGNoIDYuM2IuMDIyCitQcm9ibGVtOiAgICBVc2luZyAiNHYiIHRvIHNlbGVjdCBmb3VyIHRpbWVzIHRoZSBvbGQgVmlzdWFsIGFyZWEgbWF5IHB1dCB0aGUKKwkgICAgY3Vyc29yIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBsaW5lLiAoSmVucyBQYXVsdXMpCitTb2x1dGlvbjogICBDb3JyZWN0IHRoZSBjdXJzb3IgY29sdW1uLgorRmlsZXM6CSAgICBzcmMvbm9ybWFsLmMKKworUGF0Y2ggNi4zYi4wMjMKK1Byb2JsZW06ICAgIFdoZW4gIjNkaXAiIHN0YXJ0cyBpbiBhbiBlbXB0eSBsaW5lLCB3aGl0ZSBsaW5lcyBhZnRlciB0aGUKKwkgICAgbm9uLXdoaXRlIGxpbmVzIGFyZSBub3QgZGVsZXRlZC4gKEplbnMgUGF1bHVzKQorU29sdXRpb246ICAgSW5jbHVkZSB0aGUgd2hpdGUgbGluZXMuCitGaWxlczoJICAgIHNyYy9zZWFyY2guYworCitQYXRjaCA2LjNiLjAyNAorUHJvYmxlbTogICAgIjJkYXciIGRvZXMgbm90IGRlbGV0ZSBsZWFkaW5nIHdoaXRlIHNwYWNlIGxpa2UgImRhdyIgZG9lcy4gIChKZW5zCisJICAgIFBhdWx1cykKK1NvbHV0aW9uOiAgIEluY2x1ZGUgdGhlIHdoaXRlIHNwYWNlIHdoZW4gYSBjb3VudCBpcyB1c2VkLgorRmlsZXM6CSAgICBzcmMvc2VhcmNoLmMKKworUGF0Y2ggNi4zYi4wMjUKK1Byb2JsZW06ICAgIFBlcmNlbnRhZ2UgaW4gcnVsZXIgaXNuJ3QgdXBkYXRlZCB3aGVuIGEgbGluZSBpcyBkZWxldGVkLiAoSmVucworCSAgICBQYXVsdXMpCitTb2x1dGlvbjogICBDaGVjayBmb3IgYSBjaGFuZ2UgaW4gbGluZSBjb3VudCB3aGVuIGRlY2lkaW5nIHRvIHVwZGF0ZSB0aGUgcnVsZXIuCitGaWxlczoJICAgIHNyYy9zY3JlZW4uYywgc3JjL3N0cnVjdHMuaAorCitQYXRjaCA2LjNiLjAyNgorUHJvYmxlbTogICAgV2hlbiBzZWxlY3RpbmcgImFib3J0IiBhdCB0aGUgQVRURU5USU9OIHByb21wdCBmb3IgYSBmaWxlIHRoYXQgaXMKKwkgICAgYWxyZWFkeSBiZWluZyBlZGl0ZWQgVmltIGNyYXNoZXMuCitTb2x1dGlvbjogICBEb24ndCBhYm9ydCBjcmVhdGluZyBhIG5ldyBidWZmZXIgd2hlbiB3ZSByZWFsbHkgbmVlZCBpdC4KK0ZpbGVzOgkgICAgc3JjL2J1ZmZlci5jLCBzcmMvdmltLmgKKworUGF0Y2ggNi4zYi4wMjcKK1Byb2JsZW06ICAgIFdpbjMyOiBXaGVuIGVuYWJsaW5nIHRoZSBtZW51IGluIGEgbWF4aW1pemVkIHdpbmRvdywgVmltIHVzZXMgbW9yZQorCSAgICBsaW5lcyB0aGFuIHdoYXQgaXMgcm9vbSBmb3IuIChTaGl6aHUgUGFuKQorU29sdXRpb246ICAgV2hlbiBkZWNpZGluZyB0byBjYWxsIHNoZWxsX3Jlc2l6ZWQoKSwgYWxzbyBjb21wYXJlIHRoZSB0ZXh0IGFyZWEKKwkgICAgc2l6ZSB3aXRoIFJvd3MgYW5kIENvbHVtbnMsIG5vdCBqdXN0IHdpdGggc2NyZWVuX1Jvd3MgYW5kCisJICAgIHNjcmVlbl9Db2x1bW5zLgorRmlsZXM6CSAgICBzcmMvZ3VpLmMKKworUGF0Y2ggNi4zYi4wMjgKK1Byb2JsZW06ICAgIFdoZW4gaW4gZGlmZiBtb2RlLCBzZXR0aW5nICdyaWdodGxlZnQnIGNhdXNlcyBhIGNyYXNoLiAoRWRkaW5lKQorU29sdXRpb246ICAgQ2hlY2sgZm9yIGxhc3QgY29sdW1uIGRpZmZlcmVudGx5IHdoZW4gJ3JpZ2h0bGVmdCcgaXMgc2V0LgorRmlsZXM6CSAgICBzcmMvc2NyZWVuLmMKKworUGF0Y2ggNi4zYi4wMjkKK1Byb2JsZW06ICAgIFdpbjMyOiB3YXJuaW5nIGZvciB1bmluaXRpYWxpemVkIHZhcmlhYmxlLgorU29sdXRpb246ICAgSW5pdGlhbGl6ZSB0byB6ZXJvLgorRmlsZXM6CSAgICBzcmMvbWlzYzEuYworCitQYXRjaCA2LjNiLjAzMAorUHJvYmxlbTogICAgQWZ0ZXIgVmlzdWFsbHkgc2VsZWN0aW5nIGZvdXIgY2hhcmFjdGVycywgY2hhbmdpbmcgaXQgdG8gb3RoZXIKKwkgICAgdGV4dCwgVmlzdWFsbHkgc2VsZWN0aW5nIGFuZCB5YW5raW5nIHR3byBjaGFyYWN0ZXJzOiAiLiIgY2hhbmdlcworCSAgICBmb3VyIGNoYXJhY3RlcnMsIGFub3RoZXIgIi4iIGNoYW5nZXMgdHdvIGNoYXJhY3RlcnMuIChSb2JlcnQgV2ViYikKK1NvbHV0aW9uOiAgIERvbid0IHN0b3JlIHRoZSBzaXplIG9mIHRoZSBWaXN1YWwgYXJlYSB3aGVuIHJlZG8gaXMgYWN0aXZlLgorRmlsZXM6CSAgICBzcmMvbm9ybWFsLmMKKworIHZpbTp0dz03ODp0cz04OmZ0PWhlbHA6bm9ybDoK