From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christopher Clark Subject: [PATCH v2 00/18] Argo: hypervisor-mediated interdomain communication Date: Wed, 19 Dec 2018 22:38:57 -0800 Message-ID: <1545287955-27684-1-git-send-email-christopher.w.clark@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gZrzY-0005oa-SA for xen-devel@lists.xenproject.org; Thu, 20 Dec 2018 06:39:32 +0000 Received: by mail-it1-x141.google.com with SMTP id w18so1421764ite.1 for ; Wed, 19 Dec 2018 22:39:31 -0800 (PST) List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Jason Andryuk , Daniel Smith , Chris Patterson , James McKenzie , Rich Persaud , Jan Beulich , Stefano Stabellini , Tim Deegan , Jean Guyader , Lars Kurth , Ross Philipson , Konrad Rzeszutek Wilk , Paul Durrant , Juergen Gross , Wei Liu , George Dunlap , Andrew Cooper , Ian Jackson , Julien Grall , Daniel De Graaf , Eric Chanudet , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org VGhpcyBpcyB0aGUgc2Vjb25kIHZlcnNpb24gb2YgdGhlIHBhdGNoIHNlcmllcyB0aGF0IGltcGxl bWVudHMgdGhlIEFyZ28KaHlwZXJ2aXNvci1tZWRpYXRlZCBpbnRlcmRvbWFpbiBjb21tdW5pY2F0 aW9uIG1lY2hhbmlzbSBhcyBhbiBleHBlcmltZW50YWwKZmVhdHVyZSBmb3IgaW5jb3Jwb3JhdGlv biBpbnRvIHRoZSBYZW4gaHlwZXJ2aXNvci4KCkZlZWRiYWNrIGZyb20gdmVyc2lvbiBvbmUgaGFz IGJlZW4gaW5jb3Jwb3JhdGVkLCB3aXRoIG5vdGFibGUgY2hhbmdlczoKCiogVklSUXMgYXJlIHVz ZWQgZXhjbHVzaXZlbHkgZm9yIHNpZ25hbCBkZWxpdmVyeQogIChpZS4gbm90IHJhdyBldmVudHMs IG9yIElTQSBJUlEgaW4gdGhpcyB2ZXJzaW9uKS4KCiogVGhlIGdldF9jb25maWcgb3BlcmF0aW9u IGhhcyBiZWVuIGRyb3BwZWQgZnJvbSB0aGUgc2VyaWVzIHNpbmNlIHRoZQogIHJhdyBldmVudCBj aGFubmVscyBhcmUgbm90IGluIHVzZSBhbmQgY2hhbm5lbCBudW1iZXIgbmVlZCBub3QgYmUgcXVl cmllZC4KCiogVGhlIG1lbW9yeSBwYWdlcyBzdXBwbGllZCBieSB0aGUgZ3Vlc3QgaW4gdGhlIHJl Z2lzdGVyIHJpbmcgb3BlcmF0aW9uCiAgYXJlIGRlc2NyaWJlZCB1c2luZyB2YWx1ZXMgdGhhdCBp bmRpY2F0ZSBwYWdlIGFkZHJlc3MgYW5kIGdyYW51bGFyaXR5CiAgcmF0aGVyIHRoYW4gZ3Vlc3Qg ZnJhbWUgbnVtYmVyLgoKKiBYZW4ncyBzb2Z0IHJlc2V0IG9wZXJhdGlvbiBoYXMgYmVlbiBpbXBs ZW1lbnRlZC4KCiogVGhlIGNvbXBhdCBtYWNoaW5lcnkgZm9yIHZhbGlkYXRpbmcgaHlwZXJjYWxs IGFyZ3VtZW50cyBzdHJ1Y3R1cmVzCiAgaGFzIGJlZW4gZW5hYmxlZC4KCiogJ2dvdG8nIGhhcyBi ZWVuIHJlaW50cm9kdWNlZCBieSBwb3B1bGFyIGRlbWFuZCwgYW5kIGluZGVudGF0aW9uCiAgZGVj cmVhc2VkLgoKKiBDb21tZW50cyBoYXZlIGJlZW4gYWRkZWQgd2hlcmUgcmV2aWV3cyBoYXZlIGlk ZW50aWZpZWQgcXVlcmllczsKICBjb21taXQgbWVzc2FnZXMgYXJlIGV4cGFuZGVkLgoKKiBYZW4t cHJlZml4ZXMgaGF2ZSBiZWVuIGFwcGxpZWQgdGhyb3VnaG91dCB0aGUgcHVibGljIGhlYWRlciwK ICBhbmQgdGhlbiBldmVyeXdoZXJlIGVsc2UgdG8gbWF0Y2guCgoqIFRoZSBwdWJsaWMgaGVhZGVy IGhhcyBiZWVuIHJlbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQogIEJTRCBMaWNlbnNl LCB3aXRoIHNpZ24tb2ZmIHRvIGJlIGNvbmZpcm1lZCBieSBDaXRyaXggd2l0aCB0aGlzIHNlcmll cy4KCiogU2V2ZXJhbCBwYXRjaGVzIG1lbGRlZCwgZm9sZGluZyByZWxhdGVkIHdvcmsgdG9nZXRo ZXIuCgphbmQgbW9yZS4KClRoYW5rLXlvdSB0byBQYXVsLCBKYW4sIEp1bGllbiBhbmQgUm9nZXIg Zm9yIHRoZSBleHRlbnNpdmUgYW5kIGhlbHBmdWwKcmV2aWV3cyBvZiB0aGUgZmlyc3QgdmVyc2lv biBvZiB0aGlzIHNlcmllcy4KCkNocmlzdG9waGVyCgo9PT0KdjEgY292ZXIgbGV0dGVyOgoKUmVs ZXZhbnQgdG8gdGhlIEFSTSBkZWFkbGluZSBmb3IgaW5jbHVzaW9uIGluIHRoZSBYZW4gNC4xMiBy ZWxlYXNlLAp0aGVyZSBhcmUgdmVyeSBmZXcgYW5kIG9ubHkgbWlub3IgQVJNLXNwZWNpZmljIGNo YW5nZXMgaW4gdGhpcyBzZXJpZXMuCgpUaGlzIGlzIGRlcml2ZWQgZnJvbSB0aGUgdjR2IHdvcmsg b2YgWGVuQ2xpZW50LCByZXRhaW5lZCBpbiB0aGUgT3BlblhUClByb2plY3QgYW5kIGRldmVsb3Bl ZCBmdXJ0aGVyIGJ5IEJyb21pdW0gaW4gdXhlbi4gSXQgaGFzIGJlbmVmaXR0ZWQgZnJvbQphbmQg YmVlbiBpbXByb3ZlZCBieSBwcmV2aW91cyByb3VuZHMgb2YgcmV2aWV3IGluIHRoaXMgWGVuIGNv bW11bml0eSwKYW5kIGlzIHRoZSBjb21iaW5lZCB3b3JrIG9mIGEgc2VyaWVzIG9mIFhlbiBlbmdp bmVlcnMgdGhhdCBoYXZlCnByZWNlZWRlZCB0aGUgZWZmb3J0cyBvZiB0aGUgY3VycmVudCBzdWJt aXNzaW9uLgoKVGhlIG1vdGl2YXRpb24gZm9yIHRoaXMgZmVhdHVyZSBjb250aW51ZXMgdG8gYmUg dGhhdCBhIG5vbi1uZXR3b3JraW5nLApub24tc2hhcmVkIG1lbW9yeSwgaHlwZXJ2aXNvci1tZWRp YXRlZCBjb21tdW5pY2F0aW9uIG1lY2hhbmlzbSBiZXR3ZWVuCmRvbWFpbnMgY29uY3VycmVudGx5 IGV4ZWN1dGluZyBvbiB0aGUgc2FtZSBoeXBlcnZpc29yIGhhcyBhdHRyYWN0aXZlCnByb3BlcnRp ZXMgZm9yIHVzZSBjYXNlcyB0aGF0IHZhbHVlIHN0cm9uZyBtZWNoYW5pc21zIGZvciBwb2xpY3kK ZW5mb3JjZW1lbnQgYW5kIGlzb2xhdGlvbi4KCkluIHRoaXMgc2VyaWVzLCBBcmdvIGlzIG1hZGUg b3B0aW9uYWwgZm9yIGluY2x1c2lvbiB2aWEgS2NvbmZpZy4gV2hlbgppbmNsdWRlZCwgaXQgZGVm YXVsdHMgdG8gZGlzYWJsZWQgYW5kIHJlcXVpcmVzIGEgWGVuIGJvb3QgcGFyYW1ldGVyIHRvCmVu YWJsZSBpdC4gIEl0IGhhcyBYU00gaW50ZWdyYXRpb24gZm9yIGFjY2VzcyBjb250cm9sIG92ZXIK ZG9tYWluLXRvLWRvbWFpbiBjb21tdW5pY2F0aW9uLCBhbmQgYSBzZWNvbmQgYm9vdCBwYXJhbWV0 ZXIgZ292ZXJucyB0aGUKbGV2ZWwgb2YgcGVybWlzc2l2ZW5lc3Mgb3ZlciBzaGFyZWQgY29tbXVu aWNhdGlvbiByaW5ncyB3aGVuIHVzaW5nIHRoZQpub24tWFNNL0ZsYXNrIGRlZmF1bHQuCgpEZXNp Z24gZG9jdW1lbnRhdGlvbiBjYW4gYmUgZm91bmQgb24gdGhlIFhlbiB3aWtpLCBhdDoKaHR0cHM6 Ly93aWtpLnhlbnByb2plY3Qub3JnL3dpa2kvQXJnbzpfSHlwZXJ2aXNvci1NZWRpYXRlZF9FeGNo YW5nZV8oSE1YKV9mb3JfWGVuCgphbmQgaXQgd2lsbCBiZSB1cGRhdGVkIHRvIGNvcnJlc3BvbmQg dG8gdGhlIHN1Ym1pc3Npb24gaGVyZSBpbiB0aGUgY29taW5nIGRheXMuCgpBcmdvIGhhcyByZWNl bnRseSBiZWVuIGRpc2N1c3NlZCBvbiB0aGUgWGVuIHg4NiBDb21tdW5pdHkgQ2FsbCwgbWludXRl czoKaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vZG9jdW1lbnQvZC8xVlVQZFd3ZDFyYURPUGhqUmVW VmttYjZZb1FCM1g1b1UxMkU0RXhqTzFuMC9lZGl0I2hlYWRpbmc9aC5tejF3amI5dmVram4KCklu ICh2ZXJ5KSBzaG9ydCwgQXJnbyBpcyBpbXBsZW1lbnRlZCBieSBhIG5ldyBoeXBlcmNhbGwgd2l0 aCBmaXZlIG9wZXJhdGlvbnM6CiAgICAqIHJlZ2lzdGVyIHJpbmcKICAgICogdW5yZWdpc3RlciBy aW5nCiAgICAqIHNlbmR2CiAgICAqIG5vdGlmeQogICAgKiBnZXQgY29uZmlnCgpSaW5nIHJlZ2lz dHJhdGlvbiBpcyBwZXJmb3JtZWQgYnkgYSBkb21haW4gdG8gcHJvdmlkZSBhIHJlZ2lvbiBvZiBt ZW1vcnkKZm9yIHJlY2VpdmluZyBtZXNzYWdlcyBmcm9tIG9uZSBvciBtYW55IG90aGVyIGRvbWFp bnMuIEEgZG9tYWluIGNhbgppc3N1ZSBhIHNlbmQgb3BlcmF0aW9uIHRvIHNlbmQgbWVzc2FnZXMg dG8gYW5vdGhlciBkb21haW4ncyByaW5nLiBUaGUKZGF0YSBpcyB0cmFuc2ZlcnJlZCBzeW5jaHJv bm91c2x5IGJ5IHRoZSBoeXBlcnZpc29yLiBUaGVyZSBpcyBubyBzaGFyZWQKbWVtb3J5IGJldHdl ZW4gZG9tYWlucywgYWxsb3dpbmcgZm9yIGluY3JlYXNlZCBjb25maWRlbmNlIGJ5IHRoZSBkb21h aW4KdGhhdCB0aGUgbWVtb3J5IGFjY2Vzc2VzIGluIHRoZSByZWdpc3RlcmVkIHJpbmcgY29uZm9y bSB0byB0aGUgZXhwZWN0ZWQKcHJvdG9jb2wuIFRoZSBoeXBlcnZpc29yIGlzIGFibGUgdG8gZW5m b3JjZSBhY2Nlc3MgY29udHJvbCBwb2xpY3kgb3Zlcgp0aGUgY29tbXVuaWNhdGlvbi4KCj09IE5h bWluZwoKdjR2IGxpdmVzIG9uIGluIHRoZSBCcm9taXVtIHV4ZW4gY29kZWJhc2UuIEl0IGlzIG5v dCB0aGUgc2FtZQppbXBsZW1lbnRhdGlvbiBhcyB0aGlzLCBpdCBkb2Vzbid0IGhhdmUgcXVpdGUg dGhlIHNhbWUgcHJvcGVydGllcyBhbmQKSSBkb24ndCBleHBlY3QgdGhlIHR3byB0byBjb252ZXJn ZSAodGhvdWdoIEkgZG8gaG9wZSBjb250aW51ZWQKY3Jvc3MtcG9sbGluYXRpb24gd2lsbCBoYXBw ZW4pLiBHaXZlbiB0aGF0LCB0aGlzIGZlYXR1cmUgbmVlZHMgdG8gYmUKZGVzY3JpYmFibGUgd2l0 aCBhIGRpZmZlcmVudCBuYW1lLgoKSXQncyBhbHNvIGEgY29tcGxleCBlbm91Z2ggc3lzdGVtLCB3 aXRoIGRlc2lnbiBkZXRhaWxzIHRoYXQgbWF0dGVyIGFuZAphZmZlY3QgaW1wb3J0YW50IHByb3Bl cnRpZXMgb2YgaXQsIHRoYXQgYSBnZW5lcmljIHRlcm0gKGVnLiAibWVzc2FnZQpyaW5ncyIpIGlz IG5vdCBzdWZmaWNpZW50LgoKWGVuJ3MgbmFtZSBvcmlnaW5hdGVzIGZyb20gWGVuaWEsIHRoZSBh bmNpZW50IEdyZWVrIGNvbmNlcHQgb2YKaG9zcGl0YWxpdHkuIEFyZ28gaXMgdGhlIHNoaXAgZnJv bSBHcmVlayBteXRob2xvZ3kgdGhhdCBwcm92aWRlZCBzZWN1cmUKdHJhbnNwb3J0IGZvciB0aGUg bWlzc2lvbiB0byBvYnRhaW4gdGhlIEdvbGRlbiBGbGVlY2UuIFRoaXMgZmVhdHVyZSBhaW1zCnRv IHByb3ZpZGUgc2VjdXJlIHRyYW5zcG9ydC4KCldpdGggdGhpcyBzZXJpZXMsIEknbSBwcm9wb3Np bmcgdGhhdCB0aGlzIHdvcmsgc2hhbGwgdXNlIHRoZSBuYW1lOiBhcmdvLgooc2hvcnQsIHByb25v dW5jYWJsZSwgdW5pcXVlIHdpdGhpbiBYZW4ncyBjb250ZXh0IHNvIGFjY2VwdGFibGUgaW4gY29k ZQphbmQgbWF0ZXJpYWwgYXJ0ZWZhY3RzIHdpbGwgYmUgZGlzY292ZXJhYmxlIHdpdGggYSBzZWFy Y2ggZW5naW5lLikKClZhbHVlZCBmZWVkYmFjayB3YXMgZ2l2ZW4gaW4gcmV2aWV3IHByaW9yIHRv IHRoaXMgcG9zdGluZyBhYm91dCB3aGV0aGVyCm5hbWluZyBhc3BlY3RzIG9mIHRoZSBpbXBsZW1l bnRhdGlvbiAnYXJnbycgd2FzIG9rLiBJIHRvb2sgdGhpcwpzZXJpb3VzbHksIGFuZCBzcGVudCBz aWduaWZpY2FudCB0aW1lIGxvb2tpbmcgYXQgaG93IHRvIHJlZHVjZSB0aGUgbGV2ZWwKb2YgYXJn by1uZXNzIGluIHRoaXMgaW1wbGVtZW50YXRpb24uIFRoaXMgdmVyc2lvbiBkb2VzIGluY29ycG9y YXRlIGNoYW5nZXMKZnJvbSB0aGF0IGVmZm9ydCBidXQgaW4gZ2VuZXJhbCwgbXkgdmlldyBpcyB0 aGF0IHVzZSBvZiB0aGUgbmFtZSBpbiB0aGUKY29kZSBhc3Npc3RzIHRoZSBjbGFyaXR5IG9mIGl0 LCBzbyBtdWNoIG9mIGl0IGhhcyBiZWVuIHJldGFpbmVkLgoKVGhlIHRlcm0gIkh5cGVydmlzb3It TWVkaWF0ZWQgZGF0YSBlWGNoYW5nZSAoSE1YKSIgd2FzIGludHJvZHVjZWQgaW4gYQpwcmVzZW50 YXRpb24gYXQgdGhlIFBsYXRmb3JtIFNlY3VyaXR5IFN1bW1pdCAyMDE4LCB0byBkZXNjcmliZSB0 aGUKZ2VuZXJhbCwgaHlwZXJ2aXNvci1hZ25vc3RpYywgY2FwYWJpbGl0eSBvZiBkYXRhIHRyYW5z ZmVyIGJldHdlZW4KZG9tYWlucyBwZXJmb3JtZWQgYnkgdGhlIGh5cGVydmlzb3IuIEl0IGlzIHZp ZXdhYmxlIGF0OgoKICBodHRwczovL3d3dy5wbGF0Zm9ybXNlY3VyaXR5c3VtbWl0LmNvbS8yMDE4 L3NwZWFrZXIvY2xhcmsvCgpBcmdvIGNvbmZvcm1zIHRvIEhNWCBhcyBkZXNjcmliZWQsIGFzIGRv ZXMgSHlwZXItVidzIG1lc3NhZ2Utc2VuZGluZwpwcmltaXRpdmUuCgo9PSBGdXR1cmUgaXRlbXMK ClRoZSBMaW51eCBkZXZpY2UgZHJpdmVyIHVzZWQgdG8gdGVzdCB0aGlzIHNvZnR3YXJlIGlzIGRl cml2ZWQgZnJvbSB0aGUKT3BlblhUIHY0diBMaW51eCBkZXZpY2UgZHJpdmVyLCBhdmFpbGFibGUg YXQ6CiAgICBodHRwczovL2dpdGh1Yi5jb20vT3BlblhUL3Y0dgpUaGUgQXJnbyBpbXBsZW1lbnRh dGlvbiBpcyBub3QgeWV0IHJlYWR5IHRvIHB1Ymxpc2ggKGZvY3VzIGhhcyBiZWVuIG9uCnRoZSBo eXBlcnZpc29yIGNvZGUgdG8gdGhpcyBwb2ludCkuIEEgTGludXggZGV2aWNlIGRyaXZlciBzdWl0 YWJsZSBmb3IKaW5jbHVzaW9uIGluIFhlbiB3aWxsIGJlIHN1Ym1pdHRlZCBmb3IgYSBmdXR1cmUg WGVuIHJlbGVhc2UgYW5kCmluY29ycG9yYXRpb24gaW50byBPcGVuWFQuCgpUaGlzIHN1Ym1pc3Np b24gZG9lcyBub3QgaW5jbHVkZSBhIGZpcmV3YWxsIGZvciBjb25zdHJhaW5pbmcKZG9tYWluLXRv LWRvbWFpbiBjb21tdW5pY2F0aW9uLiBUaGUgWFNNIGhvb2tzIGFkZGVkIGN1cnJlbnRseSBwcm92 aWRlCmdyYW51bGFyaXR5IG9mIGNvbnRyb2wgYXQgZG9tYWluLXRvLWRvbWFpbiBsZXZlbC4gV2Ug aW50ZW5kIHRvIGV4dGVuZAp0aGlzIHRvIHByb3ZpZGUgZmluZXItZ3JhaW5lZCBhY2Nlc3MgY29u dHJvbCBpbiBhIGZ1dHVyZSBzdWJtaXNzaW9uLCBidXQKdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRp b24gc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gcHJvdmlkZSBzdWZmaWNpZW50Cmlzb2xhdGlvbiBm b3Igc29tZSB1c2UgY2FzZXMuCgpDb21tdW5pY2F0aW9uIGJldHdlZW4gVk1zIGF0IGRpZmZlcmVu dCBsZXZlbHMgb2YgbmVzdGluZyBpbiBhCm11bHRpLWh5cGVydmlzb3Igc3lzdGVtIGlzIG9mIHN0 cm9uZyBpbnRlcmVzdCBhbmQgd2lsbCBpbmZvcm0gbmVhci10ZXJtCmVuaGFuY2VtZW50cy4KCk9w dGltaXphdGlvbiBvZiBub3RpZmljYXRpb24gZGVsaXZlcnkgdG8gVk1zIGlzIGEga25vd24gYXJl YSBmb3IgaW1wcm92ZW1lbnQuCiogdXhlbidzIHY0diB1c2VzIGFuIGVkZ2UtdHJpZ2dlcmVkIGlu dGVycnVwdCB0byByZWR1Y2UgVk1FWElUIGxvYWQuCiogZGVsaXZlcmluZyBleHRlbmRlZCBub3Rp ZmljYXRpb24gZGF0YSB2aWEgYSBkZWRpY2F0ZWQgcmVnaXN0ZXJlZCByaW5nCiAgd2lsbCBhbGxv dyBhIGd1ZXN0IHRvIGF2b2lkIGEgc2VhcmNoIHRvIGlkZW50aWZ5IG5vdGlmaWNhdGlvbiBjYXVz ZXMuCgpBZGRpdGlvbmFsIGl0ZW1zIHdpbGwgYmUgbm90ZWQgb24gdGhlIFhlbiB3aWtpLgoKPT0g Q3JlZGl0cwoKQ29udHJpYnV0b3JzIHRvIHRoZSBkZXNpZ24gYW5kIGltcGxlbWVudGF0aW9uIG9m IHRoaXMgc29mdHdhcmUgaW5jbHVkZToKSmFtZXMgTWNLZW56aWUsIEplYW4gR3V5YWRlciwgUm9z cyBQaGlsaXBzb24sIENocmlzdG9waGVyIENsYXJrCgp3aXRoIHRoZSBzdXBwb3J0IG9mIHRoZSBP cGVuWFQgUHJvamVjdC4KClRoYW5rcyBhcmUgZHVlIGZvciB0aGUgaGVscGZ1bCByZXZpZXdzIG9m IGVhcmxpZXIgcmV2aXNpb25zIGJ5ClRpbSBEZWVnYW4sIEphbiBCZXVsaWNoLCBJYW4gQ2FtcGJl bGwgYW5kIEVyaWMgQ2hhbnVkZXQuCgoKQ2hyaXN0b3BoZXIgQ2xhcmsgKDE4KToKICBhcmdvOiBJ bnRyb2R1Y2UgdGhlIEtjb25maWcgb3B0aW9uIHRvIGdvdmVybiBpbmNsdXNpb24gb2YgQXJnbwog IGFyZ286IGludHJvZHVjZSB0aGUgYXJnb19tZXNzYWdlX29wIGh5cGVyY2FsbCBib2lsZXJwbGF0 ZQogIGFyZ286IGRlZmluZSBhcmdvX2RwcmludGsgZm9yIHN1YnN5c3RlbSBkZWJ1Z2dpbmcKICBh cmdvOiBpbml0LCBkZXN0cm95IGFuZCBzb2Z0LXJlc2V0LCB3aXRoIGVuYWJsZSBjb21tYW5kIGxp bmUgb3B0CiAgeGVuOiBhZGQgc2ltcGxlIGVycm5vLXJldHVybmluZyBtYWNyb3MgZm9yIGNvcHkg ZnJvbSBndWVzdAogIHhlbjogYWRkIFhFTl9HVUVTVF9IQU5ETEVfTlVMTCBtYWNyb3MgZm9yIG51 bGwgWEVOX0dVRVNUX0hBTkRMRQogIGVycm5vOiBhZGQgUE9TSVggZXJyb3IgY29kZXMgRU1TR1NJ WkUsIEVDT05OUkVGVVNFRCB0byB0aGUgQUJJCiAgeGVuL2FybTogaW50cm9kdWNlIGd1ZXN0X2hh bmRsZV9mb3JfZmllbGQoKQogIHhzbSwgYXJnbzogWFNNIGNvbnRyb2wgZm9yIGFyZ28gcmVnaXN0 ZXI7IGFkZCBhcmdvX21hYyBib290cGFyYW0KICB4c20sIGFyZ286IFhTTSBjb250cm9sIGZvciBh cmdvIG1lc3NhZ2Ugc2VuZCBvcGVyYXRpb24KICBhcmdvOiBpbXBsZW1lbnQgdGhlIHJlZ2lzdGVy IG9wCiAgYXJnbzogaW1wbGVtZW50IHRoZSB1bnJlZ2lzdGVyIG9wCiAgYXJnbzogaW1wbGVtZW50 IHRoZSBzZW5kdiBvcDsgZXZ0Y2huOiBleHBvc2Ugc2VuZF9ndWVzdF9nbG9iYWxfdmlycQogIGFy Z286IGltcGxlbWVudCB0aGUgbm90aWZ5IG9wCiAgeHNtLCBhcmdvOiBYU00gY29udHJvbCBmb3Ig YW55IGFjY2VzcyB0byBhcmdvIGJ5IGEgZG9tYWluCiAgeHNtLCBhcmdvOiBub3RpZnk6IGRvbid0 IGRlc2NyaWJlIHJpbmdzIHRoYXQgY2Fubm90IGJlIHNlbnQgdG8KICBhcmdvOiB2YWxpZGF0ZSBo eXBlcmNhbGwgYXJnIHN0cnVjdHVyZXMgdmlhIGNvbXBhdCBtYWNoaW5lcnkKICBhcmdvOiB1bm1h cCByaW5ncyBvbiBzdXNwZW5kOyBzaWduYWwgcmluZy1vd25lcnMgb24gcmVzdW1lCgogeGVuL2Fy Y2gveDg2L2d1ZXN0L2h5cGVyY2FsbF9wYWdlLlMgICB8ICAgIDIgKy0KIHhlbi9hcmNoL3g4Ni9o dm0vaHlwZXJjYWxsLmMgICAgICAgICAgfCAgICAzICsKIHhlbi9hcmNoL3g4Ni9oeXBlcmNhbGwu YyAgICAgICAgICAgICAgfCAgICAzICsKIHhlbi9hcmNoL3g4Ni9wdi9oeXBlcmNhbGwuYyAgICAg ICAgICAgfCAgICAzICsKIHhlbi9jb21tb24vS2NvbmZpZyAgICAgICAgICAgICAgICAgICAgfCAg IDIwICsKIHhlbi9jb21tb24vTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgfCAgICAzICstCiB4 ZW4vY29tbW9uL2FyZ28uYyAgICAgICAgICAgICAgICAgICAgIHwgMjI5NiArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKIHhlbi9jb21tb24vY29tcGF0L2FyZ28uYyAgICAgICAgICAg ICAgfCAgIDYwICsKIHhlbi9jb21tb24vZG9tYWluLmMgICAgICAgICAgICAgICAgICAgfCAgIDI5 ICsKIHhlbi9jb21tb24vZXZlbnRfY2hhbm5lbC5jICAgICAgICAgICAgfCAgICAyICstCiB4ZW4v aW5jbHVkZS9NYWtlZmlsZSAgICAgICAgICAgICAgICAgIHwgICAgMSArCiB4ZW4vaW5jbHVkZS9h c20tYXJtL2d1ZXN0X2FjY2Vzcy5oICAgIHwgICAyMyArCiB4ZW4vaW5jbHVkZS9hc20teDg2L2d1 ZXN0X2FjY2Vzcy5oICAgIHwgICAyMCArCiB4ZW4vaW5jbHVkZS9wdWJsaWMvYXJnby5oICAgICAg ICAgICAgIHwgIDI4NCArKysrCiB4ZW4vaW5jbHVkZS9wdWJsaWMvZXJybm8uaCAgICAgICAgICAg IHwgICAgMiArCiB4ZW4vaW5jbHVkZS9wdWJsaWMveGVuLmggICAgICAgICAgICAgIHwgICAgOCAr LQogeGVuL2luY2x1ZGUveGVuL2FyZ28uaCAgICAgICAgICAgICAgICB8ICAgMjUgKwogeGVuL2lu Y2x1ZGUveGVuL2V2ZW50LmggICAgICAgICAgICAgICB8ICAgIDcgKwogeGVuL2luY2x1ZGUveGVu L2d1ZXN0X2FjY2Vzcy5oICAgICAgICB8ICAgIDMgKwogeGVuL2luY2x1ZGUveGVuL2h5cGVyY2Fs bC5oICAgICAgICAgICB8ICAgIDkgKwogeGVuL2luY2x1ZGUveGVuL3NjaGVkLmggICAgICAgICAg ICAgICB8ICAgIDYgKwogeGVuL2luY2x1ZGUveGxhdC5sc3QgICAgICAgICAgICAgICAgICB8ICAg IDcgKwogeGVuL2luY2x1ZGUveHNtL2R1bW15LmggICAgICAgICAgICAgICB8ICAgMjYgKwogeGVu L2luY2x1ZGUveHNtL3hzbS5oICAgICAgICAgICAgICAgICB8ICAgMzEgKwogeGVuL3hzbS9kdW1t eS5jICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDYgKwogeGVuL3hzbS9mbGFzay9ob29rcy5j ICAgICAgICAgICAgICAgICB8ICAgNDEgKy0KIHhlbi94c20vZmxhc2svcG9saWN5L2FjY2Vzc192 ZWN0b3JzICAgfCAgIDE2ICsKIHhlbi94c20vZmxhc2svcG9saWN5L3NlY3VyaXR5X2NsYXNzZXMg fCAgICAxICsKIDI4IGZpbGVzIGNoYW5nZWQsIDI5MjkgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlv bnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vY29tbW9uL2FyZ28uYwogY3JlYXRlIG1vZGUg MTAwNjQ0IHhlbi9jb21tb24vY29tcGF0L2FyZ28uYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi9p bmNsdWRlL3B1YmxpYy9hcmdvLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vaW5jbHVkZS94ZW4v YXJnby5oCgotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9q ZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVu LWRldmVs