From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from 14.mo6.mail-out.ovh.net (14.mo6.mail-out.ovh.net [46.105.56.113]) by gabe.freedesktop.org (Postfix) with ESMTPS id D638389012 for ; Mon, 13 May 2019 00:45:31 +0000 (UTC) Received: from player773.ha.ovh.net (unknown [10.109.146.163]) by mo6.mail-out.ovh.net (Postfix) with ESMTP id CFA981C5286 for ; Mon, 13 May 2019 02:45:28 +0200 (CEST) From: Andi Shyti Date: Mon, 13 May 2019 03:44:54 +0300 Message-Id: <20190513004508.8042-1-andi@etezian.org> MIME-Version: 1.0 Subject: [igt-dev] [PATCH v23 00/14] new engine discovery interface List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: IGT dev Cc: Andi Shyti List-ID: RnJvbTogQW5kaSBTaHl0aSA8YW5kaS5zaHl0aUBpbnRlbC5jb20+CgpIaSwKCkluIHRoaXMgcGF0 Y2hzZXQgSSBwcm9wb3NlIGFuIGFsdGVybmF0aXZlIHdheSBvZiBlbmdpbmUgZGlzY292ZXJ5CnRo YW5rcyB0byB0aGUgbmV3IGludGVyZmFjZXMgZGV2ZWxvcGVkIGJ5IFR2cnRrbyBhbmQgQ2hyaXNb NF0uCgpUaGFua3MgVHZydGtvLCBDaHJpcywgQW50b25pbyBhbmQgUGV0cmkgZm9yIHlvdXIgY29t bWVudHMgaW4gdGhlCnByZXZpb3VzIFJGQ3MuCgpBbmRpCgp2MjIgLS0+IHYyMwo9PT09PT09PT09 PQp1cGRhdGVkIHRoZSBmb2xsb3dpbmcgdGVzdHMgdG8gdGhlIG5ldyBBUElzOgoKZ2VtX2J1c3kK Z2VtX2NzX3RsYgpnZW1fY3R4X2V4ZWMKZ2VtX2V4ZWNfYmFzaWMKZ2VtX2V4ZWNfcGFyYWxsZWwK Z2VtX2V4ZWNfc3RvcmUKZ2VtX3dhaXQKaTkxNV9oYW5nbWFuCgp2MjEgLS0+IHYyMgo9PT09PT09 PT09PQogLSBqdXN0IHJlbW92ZWQgY29udGV4dCBjcmVhdGlvbiBhbmQgZGVsZXRpb24gZnJvbQog ICBlbmdpbmVfdG9wb2xvZ3kgYW5kIGZpeGVkIHBlcmZfcG11IGFjY29yZGluZ2x5LgoKdjIwIC0t PiB2MjEKPT09PT09PT09PT0KIC0gcmVtb3ZlZCBUdnJ0a28ncyBkZWJ1ZyBtZXNzYWdlcwogLSBm ZXcgZml4ZXMgZnJvbSBDaHJpcyBsYXN0IHJldmlldwoKdjE5IC0tPiB2MjAKPT09PT09PT09PT0K IC0gYWRkZWQgc29tZSBkZWJ1Z3MgZnJvbSBUdnJ0a28gdG8gZ2V0IG1vcmUgaW5mbyBhYm91dCBn ZW1fd2FpdAogICBmYWlsdXJlLgogLSBmZXcgZml4ZXMgaW4gZ2VtX2VuZ2luZV90b3BvbG9neS5j IGZyb20gVHZydGtvJ3MgY29tbWVudHMsCiAgIGluY2x1ZGluZyBhIGJpZ2dlciBmaXggYWJvdXQg YW4gdW5jb250cm9sbGVkIHZhcmlhYmxlCiAgIGluY3JlbWVudCBpbiB0aGUgX25leHQgZnVuY3Rp b24KCnYxOCAtLT4gdjE5Cj09PT09PT09PT09CiAtIGludGVncmF0ZWQgVHZydGtvJ3MgZml4dXAg cGF0Y2ggWzE3XS4gRnJvbSB0aGlzIHBhdGNoIHNvbWUKICAgY2hhbmdlcyBoYXZlIGJlZW4gbW92 ZWQgdG8gZ2VtX2VuZ2luZV90b3BvbG9neSBhcyBhIG5ldyBoZWxwZXIKICAgZm9yIGdldHRpbmcg dGhlIGVuZ2luZSdzIHByb3BlcnRpZXMuCgp2MTcgLS0+IHYxOAo9PT09PT09PT09PQogLSB0aHJl ZSBwYXRjaGVzIGhhdmUgYmVlbiBhcHBsaWVkICh0aGUgb25lcyB0aGF0IGFkZAogICBnZW1fY29u dGV4dF9oYXNfZW5naW5lKCkgZnVuY3Rpb24pCiAtIGZldyBjb3NtZXRpYyBmaXhlcwogLSBhbmQg c29tZSBjaGFuZ2VzIGNvbWluZyBmcm9tIFR2cnRrbydzIHJldmlldyBvbiB2MTcKCnYxNiAtLT4g djE3Cj09PT09PT09PT09CmFtb25nc3QgbWFueSBsaXR0bGUgdGhpbmdzLCB0aHJlZSBtYWluIGNo YW5nZXM6CiAtIGltcHJvdmVkIHBlcmZfcG11IGFkYXB0YXRpb24gdG8gZ2VtX2VuZ2luZV90b3Bv bG9neQogLSByZW1vdmVkIHRoZSBleGVjLWN0eCB0ZXN0LCBwZXJmX3BtdSB3aWxsIGJlIHRoZSBm bGFnIHRlc3QKIC0gd2hlbiBjcmVhdGluZyB0aGUgZW5naW5lIGxpc3QsIG5vdyB0aGUKICAgZm9y X2VhY2hfZW5naW5lX3BoeXNpY2FsIGNhbiBiZSBleGVjdXRlZCBzYWZlbHkgZHVyaW5nIHN1YnRl c3QKICAgbGlzdGluZwoKdjE1IC0tPiB2MTYKPT09PT09PT09PT0KIC0gZmV3IGNoYW5nZXMgdG8g dGhlIGdlbV9lbmdpbmVfdG9wb2xvZ3kgc3R1ZmYKIC0gYWRkZWQgdW5lIG1vcmUgZHVtbXkgdGVz dCB3aGljaCBsb29wcyB0aHJvdWdoIHRoZSBwaHlzaWNhbAogICBlbmdpbmVzLCBhcyB3ZWxsLgog LSBjaGFuZ2VzIHRvIHRlc3QvcGVyZl9wbXUgcmVxdWlyZWQgc29tZSBtb3JlIGNoYW5nZXMgdGhh bgogICBleHBlY3RlZCAodGhlIDMgbGFzdCBwYXRjaGVzKQoKdjE0IC0tPiB2MTUKPT09PT09PT09 PT0KUEFUQ0ggdjE0OiBbMTZdCgogLSB2aXJ0dWFsIGVuZ2luZXMgd2lsbCBiZSBjYWxsZWQgInZp cnR1YWwiIGxpa2UgdW5yZWNvZ25pc2VkCiAgIGVuZ2luZXMgd2lsbCBiZSBjYWxsZWQgInVua25v d24iCgogLSByZW5hbWVkIHRoZSBmb3JfZWFjaCBsb29wcyB0byBtb3JlIG1lYW5pbmdmdWwgbmFt ZXMKICAgKF9fZm9yX2VhY2hfc3RhdGljX2VuZ2luZSBhbmQgZm9yX2VhY2hfY29udGV4dF9lbmdp bmUpIGFuZAogICBtb3ZlZCBpbnRvIGdlbV9lbmdpbmVfdG9wb2xvZ3kuaAoKIC0gbWlub3IgY2hh bmdlcyBhYm91dCBkYXRhIHR5cGVzLgoKdjEzIC0tPiB2MTQKPT09PT09PT09PT0KUEFUQ0ggdjEz OiBbMTVdCm1pbm9yIGNoYW5nZXMgdGhpcyB0aW1lOgogLSBzcXVhc2hlZCBwYXRjaCAyIGFuZCAz IChmcm9tIHYxMykgd2l0aCBhIGxpdHRsZSByZW5hbWUgYW5kCiAgIGFkZGVkIENocmlzIHItYgoK IC0gZml4ZWQgc29tZSBpbmRleCBpc3N1ZXMgYW5kIHN0cmluZyBhc3NpZ25lbWVudCBsZWFrcwoK IC0gc3F1YXNoZWQgcGF0Y2hlcyA1LCA2LCA3IGFuZCA4IGZyb20gdjEzCgp2MTIgLS0+IHYxMwo9 PT09PT09PT09PQpQQVRDSCB2MTI6IFsxNF0KVGhpcyBwYXRjaCBpcyBhbHNvIHZlcnkgZGlmZmVy ZW50IGZyb20gdGhlIHByZXZpb3VzIG90aGVyIHRoYW4Kc29tZSByZW9yZ2FuaXphdGlvbiBvZiB0 aGUgY29kZSB0aGVzZSBhcmUgdGhlIG1haW4gY2hhbmdlczoKCiAtIHRoZSBwcmV2aW91cyB2ZXJz aW9uIGxhY2tlZCB0aGUgY2FzZSB3aGVuIHRoZSBjb250ZXh0IGhhZCBpdHMKICAgZW5naW5lcyBt YXBwZWQuIGNoZWNrcyBpbiB0aGUgZm9sbG93aW5nIG9yZGVyCgogaWYgdGhlIGRyaXZlciBkb2Vz bid0IGhhdmUgdGhlIG5ldyBBUEkKICAtPiBnZXQgdGhlIGVuZ2luZXMgZnJvbSB0aGUgc3RhdGlj IGxpc3QKIGlmIHRoZSBkcml2ZXIgaGFzIHRoZSBBUEkgYnV0IHRoZSBjb250ZXh0IGhhcyBub3Ro aW5nIG1hcHBlZAogIC0+IGdldCB0aGUgZW5naW5lcyBmcm9tICJxdWVyeSIgYW5kIG1hcCB0aGVt CiBpZiB0aGUgZHJpdmVyIGhhcyB0aGUgQVBJIGFuZCB0aGUgY29udGV4dCBoYXMgZW5naW5lcyBt YXBwZWQKICAtPiBnZXQgdGhlIGVuZ2luZXMgZnJvbSB0aGUgY29udGV4dAoKIC0gdGhlIGhlbHBl ciBmdW5jdGlvbnMgaGF2ZSBiZWVuIHJlbW92ZWQgYXMgdGhleSB3ZXJlIG9mIG5vIHVzZS4KCnYx MSAtLT4gdjEyCj09PT09PT09PT09ClBBVENIIHYxMTogWzEzXQpUaGlzIDEydGggdmVyc2lvbiBz dGFydHMgZnJvbSBhIGNvbXBsZXRlbHkgZGlmZmVyZW50IHRob3VnaHQuCkhlcmUncyB0aGUgbWFp biBkaWZmZXJlbmNlczoKCiAtIFRoZSBsaXN0IG9mIGVuZ2luZXMgaXMgcHJvdmlkZWQgaW4gYW4g ZW5naW5lX2RhdGEgc3RydWN0dXJlCiAgIHdoaWNoIGNvbnRhaW5zIGFuIGluZGV4ICh1c2VmdWwg Zm9yIGxvb3BpbmcgdGhyb3VnaCBhbmQgZm9yCiAgIGVuZ2luZS9jb250ZXh0IGluZGV4IG1hcHBp bmcpIGluc3RlYWQgb2YgYW4gYXJyYXkgb2YgZW5naW5lcy4KCiAtIFRoZSBsaXN0IG9mIGVuZ2lu ZXMgaXMgZ2VuZXJhdGVkIGV2ZXJ5IHRpbWUgdGhlIGluaXQgZnVuY3Rpb24KICAgaXMgY2FsbGVk IGFuZCBub3RoaW5nIGlzIGFsbG9jYXRlZCBpbiBoZWFwIG1lbW9yeS4KCiAtIFRoZSBpb2N0bCBj aGVjayBpcyBkb25lIGFscmVhZHkgZHVyaW5nIHRoZSBpbml0aWFsaXphdGlvbiBwYXJ0CiAgIGFu ZCBpZiB0aGUgbmV3IGlvY3RscyBhcmUgbm90IGltcGxlbWVudGVkLCB0aGVuIHRoZSBpbml0CiAg IGZ1bmN0aW9uIHN0aWxsIHN0b3JlcyBvbmx5IHRob3NlIHByZXNlbnQgaW4gdGhlIEdQVS4KCiAt IFRoZSBmb3JfZWFjaCBsb29wIGlzIGltcGxlbWVudGVkIGJ5IHJlLXVzaW5nIHRoZSBwcmV2aW91 cwogICAnZm9yX2VhY2hfZW5naW5lX2NsYXNzX2luc3RhbmNlKCknIGltcGxlbWVudGVkIGJ5IFR2 cnRrby4KCiAtIFRoZSBnZW1fdG9wb2xvZ3kgbGlicmFyeSBvZmZlcnMgZmV3IGhlbHBlciBmdW5j dGlvbnMgZm9yCiAgIGNoZWNraW5nIHRoZSBlbmdpbmUgcHJlc2VuY2UsIGNoZWNraW5nIHRoZSBp bXBsZW1lbnRhdGlvbiBvZgogICB0aGUgaW9jdGxzIGFuZCBleGVjdXRpbmcgdGhlIGJ1ZmZlciwg aW4gb3JkZXIgdG8gYmUgY29tcGxldGVseQogICB1bmF3YXJlIG9mIHRoZSBkcml2ZXIgaW1wbGVt ZW50YXRpb24uCgpUaGFua3MgVHZydGtvIGZvciBhbGwgeW91ciBpbnB1dHMuCgp2MTAgLS0+IHYx MQo9PT09PT09PT09PQpSRkMgdjEwOiBbMTJdCmZldyBjb3NtZXRpYyBjaGFuZ2VzIGluIHYxMSBh bmQgbWlub3IgYXJjaGl0ZWN0dXJhbCBkZXRhaWxzLgpUaGFua3MgVHZydGtvLgoKLSB0aGUgJ3F1 ZXJ5X2VuZ2luZXMoKScgZnVuY3Rpb25zIGFyZSBzdGF0aWMgYXMgbm8gb25lIGlzIHVzaW5nCiAg dGhlbSB5ZXQuCgotIHJlbW92ZWQgdGhlICdnZW1faGFzX2VuZ2luZV90b3BvbG9neSgpJyBmdW5j dGlvbiBiZWNhdXNlIGl0J3MKICB2ZXJ5IGxpdHRsZSB1c2VkLCAnZ2V0X2FjdGl2ZV9lbmdpbmVz KCknIGNhbiBiZSB1c2VkIGluc3RlYWQuCgotIGEgbWlub3IgcmluZyAtPiBlbmdpbmUgcmVuYW1p bmcgY29taW5nIGZyb20gQ2hyaXMuIAoKdjkgLS0+IHYxMAo9PT09PT09PT09ClJGQyB2OTogWzEx XQphbHNvIHRoaXMgdGltZSBxdWl0ZSBtYW55IGNoYW5nZXMsIHRoYW5rcyBDaHJpcyBmb3IgdGhl IHJldmlld3MsCmhlcmUgdGhlIG1vc3QgcmVsZXZhbnQgb2YgdGhlbS4KCi0gZ2VtX3F1ZXJ5Lltj aF0gaGF2ZSBiZWVuIHJlbmFtZWQgdG8gZ2VtX2VuZ2luZV90b3BvbG9neS5bY2hdCiAgYW5kIGFs bCB0aGUgZnVuY3Rpb25zIGVuZGVkIHVwIHRoZXJlIGFzIHRoZXkgYXJlIHJlZmVycmluZyB0bwog IHRoZSB0b3BvbG9neSBvZiB0aGUgZW5naW5lcy4KCi0gdGhlIGZ1bmN0aW9ucyAnZ2V0X2FjdGl2 ZV9lbmdpbmVzKCknLAogICdnZW1fc2V0X2NvbnRleHRfZ2V0X2VuZ2luZXMoKScgYW5kCiAgJ2ln dF9yZXF1aXJlX2dlbV9lbmdpbmVfbGlzdCgpJyB3aWxsIGJlIHRoZSBtYWluIGludGVyZmFjZSB0 bwogIHRoZSBnZW1fZW5naW5lX3RvcG9sb2d5IGxpYnJhcnksIHJlZmVyIHRvIHBhdGNoIDIgZm9y IGRldGFpbHMuCgotIHRoZSBkZWZpbmUgJ2Zvcl9lYWNoX2VuZ2luZTIoKScgZG9lc24ndCBleHBv c2UgYW55bW9yZSB0aGUKICBpdGVyYXRvci4KCi0gJ2dlbV9jb250ZXh0X2hhc19lbmdpbmUoKScg aGFzIGJlZW4gbW92ZWQgZnJvbSBpb2N0bF93cmFwcGVycy5jCiAgdG8gZ2VtX2NvbnRleHQuYy4K Ci0gdGhlIGdlbV9leGVjX2Jhc2ljIGV4ZWMtY3R4IHN1YnRlc3QgZG9lcyBub3QgYWJvcnQgaWYg dGhlIG5ldwogIGdldHBhcmFtL3NldHBhcmFtIGFuZCBxdWVyeSBhcGlzIGFyZSBub3QgaW1wbGVt ZW50ZWQgYXMgaXQgY2FuCiAgd29yayB3aXRoIGJvdGggKGFzIGl0IHdhcyBkb25lIGF0IHRoZSBi ZWdpbm5pbmcpLgoKdjggLS0+IHY5Cj09PT09PT09PQpSRkMgdjg6IFsxMF0KcXVpdGUgbWFueSBj aGFuZ2VzLCBwbGVhc2UgcmVmZXIgdG8gdGhlIHJldmlldyBpbiBbMTBdLiBUaGFua3MKQ2hyaXMg Zm9yIHRoZSByZXZpZXcuIFRoZXNlIGFyZSB0aGUgbW9zdCByZWxldmFudDoKCi0gYWxsIHRoZSBh bGxvY2F0aW9uIGluIGdlbV9xdWVyeSBoYXZlIGJlZW4gbWFkZSBpbiBzdGFjaywgbm90CiAgYW55 bW9yZSBhbGxvY2F0ZWQgZHluYW1pY2FsbHkuCgotIHJlbW92ZWQgZ2V0L3NldF9jb250ZXh0IGFz IGl0IHdhcyBhbHJlYWR5IGltcGxlbWVudGVkIGFuZCBJCiAgZGlkbid0IGtub3cuCgotIHJlbmFt ZWQgc29tZSBmdW5jdGlvbnMgYW5kIHZhcmlhYmxlcyB0byBob3BlZnVsbHkgbW9yZQogIG1lYW5p bmdmdWwgbmFtZXMuCgpWNyAtLT4gdjgKPT09PT09PT09ClJGQyB2NzogWzldCgotIGFsbCBmdW5j dGlvbnMgaGF2ZSBiZWVuIG1vdmVkIGZyb20gbGliL2lndF9ndC57YyxofSBhbmQKICBsaWIvaW9j dGxfd3JhcHBlcnMue2MsaH0gdG8gbGliL2k5MTYvZ2VtX3F1ZXJ5LntjLGh9LiAodGhhbmtzCiAg Q2hyaXMpCgotICdmb3JfZWFjaF9lbmdpbmVfY3R4JyBoYXMgYmVlbiByZW5hbWVkIHRvICdmb3Jf ZWFjaF9lbmdpbmUyJyB0bwogIGJlIGNvbnNpc3RlbnQgd2l0aCB0aGUgJzInIHRoYXQgaW5kaWNh dGVzIHRoZSBuZXcgJ3N0cnVjdAogIGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyJyBkYXRhIHN0cnVj dHVyZS4KClY2IC0tPiBWNwo9PT09PT09PT0KUkZDIHY2OiBbOF0KCi0gYSBuZXcgcGF0Y2ggaGFz IGJlZW4gYWRkZWQgKHBhdGNoIDMpIHdoaWNoIGFkZHMgYSBuZXcKICByZXF1aXJlbWVudCBjaGVj ayB0aHJvdWdoIHRoZSBpZ3RfcmVxdWlyZV9nZW1fZW5naW5lX2xpc3QoKQogIGZ1bmN0aW9uLiAo dGhhbmtzIENocmlzKSBUaGlzIGZ1bmN0aW9uIHdpbGwgaW5pdGlhbGl6ZSB0aGUKICBlbmdpbmUg bGlzdCBpbnN0ZWFkIG9mIHRoZSBpbnN0ZWFkIG9mIGlndF9yZXF1aXJlX2dlbSgpIGFzIGl0CiAg d2FzIGluIHY2CgotIGFsbCB0aGUgaW9jdGxzIGhhdmUgYmVlbiB3cmFwcGVkICh0aGFua3MgQ2hy aXMgYW5kIEFudG9uaW8pIGFuZAogIG5ldyBsaWJyYXJ5IGZ1bmN0aW9ucyBoYXZlIGJlZW4gYWRk ZWQgYW5kIGFzc2VydCB0aGUgaW9jdGxzCgotIGdlbV9pbml0X2VuZ2luZV9saXN0KCkgZnVuY3Rp b24gcmV0dXJucyB0aGUgZXJybm8gZnJvbSB0aGUKICBHRVRQQVJBTSBpb2N0bCBpbiBvcmRlciB0 byBiZSB1c2VkIGFzIGEgcmVxdWlyZW1lbnQuICh0aGFua3MKICBDaHJpcykKCi0gZml4ZWQgZmV3 IHJlcXVpcmVzL2Fzc2VydHMKCi0gVGhlIGVuZ2luZSBsaXN0ICJpbnRlbF9hY3RpdmVfZW5naW5l czIiIGlzIGFsbG9jYXRlZCBvZiB0aGUKICBudW1iZXIgb2YgZW5naW5lcyBpbnN0ZWFkIG9mIGEg cG9saXRpY2FsIDY0ICh0aGFua3MgQW50b25pbykuCgotIHNvbWUgcGFyYW1ldGVyIHJlbmFtaW5n IGluIGdlbV9oYXNfcmluZ19ieV9pZHgoKS4gKHRoYW5rcwogIENocmlzKS4KCi0gdGhlIG9yaWdp bmFsICJpbnRlbF9leGVjdXRpb25fZW5naW5lczIiIGhhcyBub3QgYmVlbiByZW5hbWVkLAogIGJl Y2F1c2UgaXQgaXMgdXNlZCB0byBjcmVhdGUgc3VidGVzdHMgYmVmb3JlIGV2ZW4gZXhlY3V0aW5n IGFueQogIHRlc3QvaW9jdGwuIEJ5IHJlbmFtaW5nIGl0LCBzb21lIHN1YnRlc3QgZ2VuZXJhdGlv bnMgZmFpbGVkLgogICh0aGFua3MgUGV0cmkpCgpWNSAtLT4gVjYKPT09PT09PT09ClJGQyB2NTog WzddCi0gQ2hyaXMgaW1wbGVtZW50ZWQgdGhlIGdldHBhcmFtIGlvY3RsIHdoaWNoIGFsbG93cyB0 byB0aGUgdGVzdAogIHRvIGZpZ3VyZSBvdHUgd2hldGhlciB0aGUgbmV3IGludGVyZmFjZSBoYXMg YmVlbiBpbXBsZW1lbnRlZC4KICBUaGlzIHdheSB0aGUgZm9yX2VhY2hfZW5naW5lX2N0eCgpIGlz IGFibGUgdG8gd29yayB3aXRoIG5ldyBhbmQKICBvbGQga2VybmVsIHVhcGkgKHRoYW5rcyBDaHJp cykKClY0IC0tPiBWNQo9PT09PT09PT0KUkZDIHY0OiBbNl0KCi0gdGhlIGVuZ2luZSBsaXN0IGlz IG5vdyBidWlsdCBpbiAnaWd0X3JlcXVpcmVfZ2VtKCknIGluc3RlYWQgb2YKICAnX19vcGVuX2Ry aXZlcigpJyBzbyB0aGF0IHdlIGtlZXAgdGhpcyBkaXNjb3ZlcnkgbWV0aG9kCiAgc3BlY2lmaWMg dG8gdGhlIGk5MTUgZHJpdmVyICh0aGFua3MgQ2hyaXMpLgoKLSBBbGwgdGhlIHF1ZXJ5L3NldHBh cmFtIHN0cnVjdHVyZXMgZHluYW1pYyBhbGxvY2F0aW9uIGJhc2VkIG9uCiAgdGhlIG51bWJlciBv ZiBlbmdpbmVzLCBub3cgYXJlIHBvbGl0aWNhbGx5IGFsbG9jYXRlZCA2NCB0aW1lcywKICB0byBh dm9pZCBleHRyYSBpb2N0bCBjYWxscyB0aGF0IHJldHJpZXZlIHRoZSBlbmdpbmUgbnVtYmVyCiAg KHRoYW5rcyBDaHJpcykKCi0gdXNlIGlndF9pb2N0bCBpbnN0ZWFkIG9mIGlvY3RsICh0aGFua3Mg Q2hyaXMpCgotIGFsbG9jYXRlIGludGVsX2V4ZWN1dGlvbl9lbmdpbmVzMiBkeW5hbWljYWxseSBp bnN0ZWFkIG9mCiAgc3RhdGljYWxseSAodGhhbmtzIFR2cnRrbykKCi0gc2ltcGxpZnkgdGhlIHRl c3QgaW4gJ2dlbV9leGVjX2Jhc2ljKCknIHNvIHRoYXQgc2ltcGx5IGNoZWNrcwogIHRoZSBwcmVz ZW5jZSBvZiB0aGUgZW5naW5lIGluc3RlYWQgb2YgZXhlY3V0aW5nIGEgYnVmZmVyCiAgKHRoYW5r IENocmlzKQoKLSBhIG5ldyBwYXRjaCBoYXMgYmVlbiBhZGRlZCAocGF0Y2ggMykgdGhhdCBleHRl bmRzIHRoZQogICdnZW1faGFzX3JpbmcoKScgYm9vbGVhbiBmdW5jdGlvbi4gVGhlIG5ldyB2ZXJz aW9uIHNldHMgdGhlCiAgaW5kZXggYXMgaXQncyBtYXBwZWQgaW4gdGhlIGtlcm5lbC5UaGUgcHJl dmlvdXMgZnVuY3Rpb24gaXMgbm93CiAgYSB3cmFwcGVyIHRvIHRoZSBuZXcgZnVuY3Rpb24uCgpW MyAtLT4gVjQKPT09PT09PT09ClBBVENIIHYzOiBbM10KCi0gcmUtYXJjaGl0ZWN0dXJlZCB0aGUg ZGlzY292ZXJ5IG1lY2hhbmlzbSBiYXNlZCBvbiBUdnJ0a28ncwogIHN1Z2VzdGlvbiBhbmQgcmV2 aWV3cy4uIEluIHRoaXMgdmVyc2lvbiB0aGUgZGlzY292ZXJ5IGlzIGRvbmUKICBkdXJpbmcgdGhl IGRldmljZSBvcGVuaW5nIGFuZCBzdG9yZWQgaW4gYSBOVUxMIHRlcm1pbmF0ZWQKICBhcnJheSwg d2hpY2ggcmVwbGFjZXMgdGhlIGV4aXN0aW5nIGludGVsX2V4ZWN1dGlvbl9lbmdpbmVzMgogIHRo YXQgaXMgbWFpbmx5IHVzZWQgYXMgYSByZWZlcmVuY2UuCgpWMiAtLT4gVjMKPT09PT09PT09ClJG QyB2MjogWzJdCgotIHJlbW92ZWQgYSBzdGFuZGFsb25lIGdlbV9xdWVyeV9lbmdpbmVzX2RlbW8g dGVzdCBhbmQgYWRkZWQgdGhlCiAgZXhlYy1jdHggc3VidGVzdCBpbnNpZGUgZ2VtX2V4ZWNfYmFz aWMgKHRoYW5rcyBUdnJ0a28pLgoKLSBmaXhlZCBtb3N0IG9mIFR2cnRrbydzIGNvbW1lbnRzIGlu IFs1XSwgd2hpY2ggY29uc2lzdCBpbgogIHB1dHRpbmcgdGhlIG1hbGxvY3MgaWd0X2Fzc2VydCBh bmQgaWN0bHMgaW4gaWd0X3JlcXVpcmUgYW5kIGZldwogIHJlZmFjdG9yaW5nICh0aGFua3MgVHZy dGtvKS4KClYxIC0tPiBWMgo9PT09PT09PT0KUkZDIHYxOiBbMV0KCi0gYWRkZWQgYSBkZW1vIHRl c3QgdGhhdCBzaW1wbHkgcXVlcmllcyB0aGUgZHJpdmVyIGFib3V0IHRoZQogIGVuZ2luZXMgYW5k IGV4ZWN1dGVzIGEgYnVmZmVyICh0aGFua3MgVHZydGtvKQoKLSByZWZhY3RvcmVkIHRoZSBmb3Jf ZWFjaF9lbmdpbmVfY3R4KCkgbWFjcm8gc28gdGhhdCB3aGF0IGluIHRoZQogIHByZXZpb3VzIHZl cnNpb24gd2FzIGRvbmUgYnkgdGhlICJiaW5kIiBmdW5jdGlvbiwgbm93IGl0J3MgZG9uZQogIGlu IHRoZSBmaXJzdCBpdGVyYXRpb24uIChUaGFua3MgQ3JoaXMpCgotIHJlbW92ZWQgdGhlICJnZW1f aGFzX3JpbmdfY3R4KCkiIGJlY2F1c2UgaXQgd2FzIG91dCBvZiB0aGUKICBzY29wZS4KCi0gcmVu YW1lIGZ1bmN0aW9ucyB0byBtb3JlIG1lYW5pbmdmdWwgbmFtZXMKClsxXSBSRkMgdjE6IGh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2lndC1kZXYvMjAxOC1Ob3ZlbWJlci8w MDcwMjUuaHRtbApbMl0gUkZDIHYyOiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNo aXZlcy9pZ3QtZGV2LzIwMTgtTm92ZW1iZXIvMDA3MDc5Lmh0bWwKWzNdIFBBVENIIHYzOiBodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9pZ3QtZGV2LzIwMTgtTm92ZW1iZXIv MDA3MTQ4Lmh0bWwKWzRdIGh0dHBzOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcvfnR1cnN1bGluL2Ry bS1pbnRlbC9sb2cvP2g9bWVkaWEKWzVdIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2Fy Y2hpdmVzL2lndC1kZXYvMjAxOC1Ob3ZlbWJlci8wMDcxMDAuaHRtbApbNl0gaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZXMvaWd0LWRldi8yMDE5LUphbnVhcnkvMDA4MDI5Lmh0 bWwKWzddIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2lndC1kZXYvMjAx OS1KYW51YXJ5LzAwODE2NS5odG1sCls4XSBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9h cmNoaXZlcy9pZ3QtZGV2LzIwMTktRmVicnVhcnkvMDA4OTAyLmh0bWwKWzldIGh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2lndC1kZXYvMjAxOS1GZWJydWFyeS8wMDkxODUu aHRtbApbMTBdIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2lndC1kZXYv MjAxOS1GZWJydWFyeS8wMDkyMDUuaHRtbApbMTFdIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL2FyY2hpdmVzL2lndC1kZXYvMjAxOS1GZWJydWFyeS8wMDkyNzcuaHRtbApbMTJdIGh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2lndC1kZXYvMjAxOS1NYXJjaC8wMTAx OTcuaHRtbApbMTNdIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2lndC1k ZXYvMjAxOS1NYXJjaC8wMTA0NjcuaHRtbApbMTRdIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL2FyY2hpdmVzL2lndC1kZXYvMjAxOS1NYXJjaC8wMTA3NzYuaHRtbApbMTVdIGh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2lndC1kZXYvMjAxOS1NYXJjaC8wMTA4Mjcu aHRtbApbMTZdIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2lndC1kZXYv MjAxOS1NYXJjaC8wMTA5MTYuaHRtbApbMTddIGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L2FyY2hpdmVzL2lndC1kZXYvMjAxOS1BcHJpbC8wMTE4MjEuaHRtbAoKQW5kaSBTaHl0aSAoMTQp OgogIGluY2x1ZGUvZHJtLXVhcGk6IGltcG9ydCBpOTE1X2RybS5oIGhlYWRlciBmaWxlCiAgbGli L2k5MTU6IGFkZCBnZW1fZW5naW5lX3RvcG9sb2d5IGxpYnJhcnkgYW5kIGZvcl9lYWNoIGxvb3Ag ZGVmaW5pdGlvbgogIGxpYjogaWd0X2d0OiBhZGQgZXhlY3V0aW9uIGJ1ZmZlciBmbGFncyB0byBj bGFzcyBoZWxwZXIKICBsaWI6IGlndF9ndDogbWFrZSBnZW1fZW5naW5lX2Nhbl9zdG9yZV9kd29y ZCgpIGNoZWNrIGVuZ2luZSBjbGFzcwogIGxpYjogaWd0X2R1bW15bG9hZDogdXNlIGZvcl9lYWNo X2NvbnRleHRfZW5naW5lKCkKICB0ZXN0OiBwZXJmX3BtdTogdXNlIHRoZSBnZW1fZW5naW5lX3Rv cG9sb2d5IGxpYnJhcnkKICB0ZXN0L2k5MTU6IGdlbV9idXN5OiB1c2UgdGhlIGdlbV9lbmdpbmVf dG9wb2xvZ3kgbGlicmFyeQogIHRlc3QvaTkxNTogZ2VtX2NzX3RsYjogdXNlIHRoZSBnZW1fZW5n aW5lX3RvcG9sb2d5IGxpYnJhcnkKICB0ZXN0L2k5MTU6IGdlbV9jdHhfZXhlYzogdXNlIHRoZSBn ZW1fZW5naW5lX3RvcG9sb2d5IGxpYnJhcnkKICB0ZXN0L2k5MTU6IGdlbV9leGVjX2Jhc2ljOiB1 c2UgdGhlIGdlbV9lbmdpbmVfdG9wb2xvZ3kgbGlicmFyeQogIHRlc3QvaTkxNTogZ2VtX2V4ZWNf cGFyYWxsZWw6IHVzZSB0aGUgZ2VtX2VuZ2luZV90b3BvbG9neSBsaWJyYXJ5CiAgdGVzdC9pOTE1 OiBnZW1fZXhlY19zdG9yZTogdXNlIHRoZSBnZW1fZW5naW5lX3RvcG9sb2d5IGxpYnJhcnkKICB0 ZXN0L2k5MTU6IGdlbV93YWl0OiB1c2UgdGhlIGdlbV9lbmdpbmVfdG9wb2xvZ3kgbGlicmFyeQog IHRlc3QvaTkxNTogaTkxNV9oYW5nbWFuOiB1c2UgdGhlIGdlbV9lbmdpbmVfdG9wb2xvZ3kgbGli cmFyeQoKIGluY2x1ZGUvZHJtLXVhcGkvaTkxNV9kcm0uaCAgICB8IDIwOSArKysrKysrKysrKysr KysrKysrKysrKy0KIGxpYi9NYWtlZmlsZS5zb3VyY2VzICAgICAgICAgICB8ICAgMiArCiBsaWIv aTkxNS9nZW1fZW5naW5lX3RvcG9sb2d5LmMgfCAyODIgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiBsaWIvaTkxNS9nZW1fZW5naW5lX3RvcG9sb2d5LmggfCAgNzkgKysrKysrKysr CiBsaWIvaWd0LmggICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogbGliL2lndF9kdW1teWxv YWQuYyAgICAgICAgICAgIHwgIDI5ICsrLS0KIGxpYi9pZ3RfZ3QuYyAgICAgICAgICAgICAgICAg ICB8ICAzMCArKystCiBsaWIvaWd0X2d0LmggICAgICAgICAgICAgICAgICAgfCAgMTIgKy0KIGxp Yi9tZXNvbi5idWlsZCAgICAgICAgICAgICAgICB8ICAgMSArCiB0ZXN0cy9pOTE1L2dlbV9idXN5 LmMgICAgICAgICAgfCAxMzMgKysrKysrLS0tLS0tLS0tLQogdGVzdHMvaTkxNS9nZW1fY3NfdGxi LmMgICAgICAgIHwgICA4ICstCiB0ZXN0cy9pOTE1L2dlbV9jdHhfZXhlYy5jICAgICAgfCAgMTUg Ky0KIHRlc3RzL2k5MTUvZ2VtX2V4ZWNfYmFzaWMuYyAgICB8ICAyOCArKy0tCiB0ZXN0cy9pOTE1 L2dlbV9leGVjX3BhcmFsbGVsLmMgfCAgIDcgKy0KIHRlc3RzL2k5MTUvZ2VtX2V4ZWNfc3RvcmUu YyAgICB8ICAyNSArKy0KIHRlc3RzL2k5MTUvZ2VtX3dhaXQuYyAgICAgICAgICB8ICAyNCArLS0K IHRlc3RzL2k5MTUvaTkxNV9oYW5nbWFuLmMgICAgICB8ICAxNSArLQogdGVzdHMvcGVyZl9wbXUu YyAgICAgICAgICAgICAgIHwgMTUxICsrKysrKysrKysrLS0tLS0tLQogMTggZmlsZXMgY2hhbmdl ZCwgODIyIGluc2VydGlvbnMoKyksIDIyOSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBsaWIvaTkxNS9nZW1fZW5naW5lX3RvcG9sb2d5LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIv aTkxNS9nZW1fZW5naW5lX3RvcG9sb2d5LmgKCi0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1k ZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaWd0LWRldg==