From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.0 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0BE81C3A5A8 for ; Wed, 4 Sep 2019 16:52:40 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id BCAD2208E4 for ; Wed, 4 Sep 2019 16:52:39 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=citrix.com header.i=@citrix.com header.b="DghBxMqF" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BCAD2208E4 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i5YW7-0006HI-8t; Wed, 04 Sep 2019 16:52:23 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i5YW5-0006H3-C3 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2019 16:52:21 +0000 X-Inumbo-ID: 5be9f5da-cf34-11e9-abbb-12813bfff9fa Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 5be9f5da-cf34-11e9-abbb-12813bfff9fa; Wed, 04 Sep 2019 16:52:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1567615940; h=subject:to:cc:references:from:message-id:date: mime-version:in-reply-to:content-transfer-encoding; bh=9kJgAl1goL+qJXEgS49GcWOrEDPfH55Aho5pCa4yW60=; b=DghBxMqFKYBgx1uoFyTO9OTzKgWYK+SsgLMn5IcPnAVvpSBStlxYscMj rjVJnr63VMLWsrIy4QFK70+dxOyBfs5X7aSKmbfnx3qCaqvyPrfQlOf6v SFpOOoHVLUaosk9pmSOs5ZYmhgjbQDVKjJVq243ueliHZXyw1HuqX9kU/ k=; Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=george.dunlap@citrix.com; spf=Pass smtp.mailfrom=George.Dunlap@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa4.hc3370-68.iphmx.com: no sender authenticity information available from domain of george.dunlap@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa4.hc3370-68.iphmx.com; envelope-from="George.Dunlap@citrix.com"; x-sender="george.dunlap@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa4.hc3370-68.iphmx.com: domain of George.Dunlap@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa4.hc3370-68.iphmx.com; envelope-from="George.Dunlap@citrix.com"; x-sender="George.Dunlap@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ~all" Received-SPF: None (esa4.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa4.hc3370-68.iphmx.com; envelope-from="George.Dunlap@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: a8i7fX02H1N9zFmSyGga8PjytLWhKx/FpVGssahZE/VANRnJAaO2iVjpb9NbWPVQkKTmF415+5 rW2Qo+DofJxIq7vPnWGDXYHSSRRC/5Ds4Jr1cH92/PvQHBC3Cywv6fvB5RelyRkKhvoX4TWdjO BXHWGDBB9q7/Ljr2e1HJ52MDIblAZ65errdA8ZpEbvkzbG09ZWC6xVrcR1gPlekD9dStMHqBTn gCXWpyiBWvHY0iRq8ikqrCINgW2vsAwVjdytyL7xnj2rkGCq5a15Ywibh81j8MDK70wwbhdj1h s6o= X-SBRS: 2.7 X-MesageID: 5404882 X-Ironport-Server: esa4.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.64,467,1559534400"; d="scan'208";a="5404882" To: Nicholas Rosbrook , "xen-devel@lists.xenproject.org" References: <5c6f3ed7b2f444918feea4f4b7cec107@ainfosec.com> <3da1f8bd6ee94d03b76d9f54e16de8a5@ainfosec.com> <24acd142b70345038dc0dfdd61bb9520@ainfosec.com> <76c02038-fcce-2774-c4f5-73ab9e0fdeef@citrix.com> <102c4923aacb48b9b80795e65107451a@ainfosec.com> From: George Dunlap Openpgp: preference=signencrypt Autocrypt: addr=george.dunlap@citrix.com; prefer-encrypt=mutual; keydata= mQINBFPqG+MBEACwPYTQpHepyshcufo0dVmqxDo917iWPslB8lauFxVf4WZtGvQSsKStHJSj 92Qkxp4CH2DwudI8qpVbnWCXsZxodDWac9c3PordLwz5/XL41LevEoM3NWRm5TNgJ3ckPA+J K5OfSK04QtmwSHFP3G/SXDJpGs+oDJgASta2AOl9vPV+t3xG6xyfa2NMGn9wmEvvVMD44Z7R W3RhZPn/NEZ5gaJhIUMgTChGwwWDOX0YPY19vcy5fT4bTIxvoZsLOkLSGoZb/jHIzkAAznug Q7PPeZJ1kXpbW9EHHaUHiCD9C87dMyty0N3TmWfp0VvBCaw32yFtM9jUgB7UVneoZUMUKeHA fgIXhJ7I7JFmw3J0PjGLxCLHf2Q5JOD8jeEXpdxugqF7B/fWYYmyIgwKutiGZeoPhl9c/7RE Bf6f9Qv4AtQoJwtLw6+5pDXsTD5q/GwhPjt7ohF7aQZTMMHhZuS52/izKhDzIufl6uiqUBge 0lqG+/ViLKwCkxHDREuSUTtfjRc9/AoAt2V2HOfgKORSCjFC1eI0+8UMxlfdq2z1AAchinU0 eSkRpX2An3CPEjgGFmu2Je4a/R/Kd6nGU8AFaE8ta0oq5BSFDRYdcKchw4TSxetkG6iUtqOO ZFS7VAdF00eqFJNQpi6IUQryhnrOByw+zSobqlOPUO7XC5fjnwARAQABtCRHZW9yZ2UgVy4g RHVubGFwIDxkdW5sYXBnQHVtaWNoLmVkdT6JAlcEEwEKAEECGwMFCwkIBwMFFQoJCAsFFgID AQACHgECF4ACGQEWIQTXqBy2bTNXPzpOYFimNjwxBZC0bQUCXEowWQUJDCJ7dgAKCRCmNjwx BZC0beKvEACJ75YlJXd7TnNHgFyiCJkm/qPeoQ3sFGSDZuZh7SKcdt9+3V2bFEb0Mii1hQaz 3hRqZb8sYPHJrGP0ljK09k3wf8k3OuNxziLQBJyzvn7WNlE4wBEcy/Ejo9TVBdA4ph5D0YaZ nqdsPmxe/xlTFuSkgu4ep1v9dfVP1TQR0e+JIBa/Ss+cKC5intKm+8JxpOploAHuzaPu0L/X FapzsIXqgT9eIQeBEgO2hge6h9Jov3WeED/vh8kA7f8c6zQ/gs5E7VGALwsiLrhr0LZFcKcw kI3oCCrB/C/wyPZv789Ra8EXbeRSJmTjcnBwHRPjnjwQmetRDD1t+VyrkC6uujT5jmgOBzaj KCqZ8PcMAssOzdzQtKmjUQ2b3ICPs2X13xZ5M5/OVs1W3TG5gkvMh4YoHi4ilFnOk+v3/j7q 65FG6N0JLb94Ndi80HkIOQQ1XVGTyu6bUPaBg3rWK91Csp1682kD/dNVF3FKHrRLmSVtmEQR 5rK0+VGc/FmR6vd4haKGWIRuPxzg+pBR77avIZpU7C7+UXGuZ5CbHwIdY8LojJg2TuUdqaVj yxmEZLOA8rVHipCGrslRNthVbJrGN/pqtKjCClFZHIAYJQ9EGLHXLG9Pj76opfjHij3MpR3o pCGAh6KsCrfrsvjnpDwqSbngGyEVH030irSk4SwIqZ7FwLkBDQRUWmc6AQgAzpc8Ng5Opbrh iZrn69Xr3js28p+b4a+0BOvC48NfrNovZw4eFeKIzmI/t6EkJkSqBIxobWRpBkwGweENsqnd 0qigmsDw4N7J9Xx0h9ARDqiWxX4jr7u9xauI+CRJ1rBNO3VV30QdACwQ4LqhR/WA+IjdhyMH wj3EJGE61NdP/h0zfaLYAbvEg47/TPThFsm4m8Rd6bX7RkrrOgBbL/AOnYOMEivyfZZKX1vv iEemAvLfdk2lZt7Vm6X/fbKbV8tPUuZELzNedJvTTBS3/l1FVz9OUcLDeWhGEdlxqXH0sYWh E9+PXTAfz5JxKH+LMetwEM8DbuOoDIpmIGZKrZ+2fQARAQABiQNbBBgBCgAmAhsCFiEE16gc tm0zVz86TmBYpjY8MQWQtG0FAlxKMJ4FCQnQ/OQBKcBdIAQZAQoABgUCVFpnOgAKCRCyFcen x4Qb7cXrCAC0qQeEWmLa9oEAPa+5U6wvG1t/mi22gZN6uzQXH1faIOoDehr7PPESE6tuR/vI CTTnaSrd4UDPNeqOqVF07YexWD1LDcQG6PnRqC5DIX1RGE3BaSaMl2pFJP8y+chews11yP8G DBbxaIsTcHZI1iVIC9XLhoeegWi84vYc8F4ziADVfowbmbvcVw11gE8tmALCwTeBeZVteXjh 0OELHwrc1/4j4yvENjIXRO+QLIgk43kB57Upr4tP2MEcs0odgPM+Q+oETOJ00xzLgkTnLPim C1FIW2bOZdTj+Uq6ezRS2LKsNmW+PRRvNyA5ojEbA/faxmAjMZtLdSSSeFK8y4SoCRCmNjwx BZC0bevWEACRu+GyQgrdGmorUptniIeO1jQlpTiP5WpVnk9Oe8SiLoXUhXXNj6EtzyLGpYmf kEAbki+S6WAKnzZd3shL58AuMyDxtFNNjNeKJOcl6FL7JPBIIgIp3wR401Ep+/s5pl3Nw8Ii 157f0T7o8CPb54w6S1WsMkU78WzTxIs/1lLblSMcvyz1Jq64g4OqiWI85JfkzPLlloVf1rzy ebIBLrrmjhCE2tL1RONpE/KRVb+Q+PIs5+YcZ+Q1e0vXWA7NhTWFbWx3+N6WW6gaGpbFbopo FkYRpj+2TA5cX5zW148/xU5/ATEb5vdUkFLUFVy5YNUSyeBHuaf6fGmBrDc47rQjAOt1rmyD 56MUBHpLUbvA6NkPezb7T6bQpupyzGRkMUmSwHiLyQNJQhVe+9NiJJvtEE3jol0JVJoQ9WVn FAzPNCgHQyvbsIF3gYkCYKI0w8EhEoH5FHYLoKS6Jg880IY5rXzoAEfPvLXegy6mhYl+mNVN QUBD4h9XtOvcdzR559lZuC0Ksy7Xqw3BMolmKsRO3gWKhXSna3zKl4UuheyZtubVWoNWP/bn vbyiYnLwuiKDfNAinEWERC8nPKlv3PkZw5d3t46F1Dx0TMf16NmP+azsRpnMZyzpY8BL2eur feSGAOB9qjZNyzbo5nEKHldKWCKE7Ye0EPEjECS1gjKDwbkBDQRUWrq9AQgA7aJ0i1pQSmUR 6ZXZD2YEDxia2ByR0uZoTS7N0NYv1OjU8v6p017u0Fco5+Qoju/fZ97ScHhp5xGVAk5kxZBF DT4ovJd0nIeSr3bbWwfNzGx1waztfdzXt6n3MBKr7AhioB1m+vuk31redUdnhbtvN7O40MC+ fgSk5/+jRGxY3IOVPooQKzUO7M51GoOg4wl9ia3H2EzOoGhN2vpTbT8qCcL92ZZZwkBRldoA Wn7c1hEKSTuT3f1VpSmhjnX0J4uvKZ1V2R7rooKJYFBcySC0wa8aTmAtAvLgfcpe+legOtgq DKzLuN45xzEjyjCiI521t8zxNMPJY9FiCPNv0sCkDwARAQABiQI8BBgBCgAmAhsMFiEE16gc tm0zVz86TmBYpjY8MQWQtG0FAlxKNJYFCQnQrVkACgkQpjY8MQWQtG2Xxg//RrRP+PFYuNXt 9C5hec/JoY24TkGPPd2tMC9usWZVImIk7VlHlAeqHeE0lWU0LRGIvOBITbS9izw6fOVQBvCA Fni56S12fKLusWgWhgu03toT9ZGxZ9W22yfw5uThSHQ4y09wRWAIYvhJsKnPGGC2KDxFvtz5 4pYYNe8Icy4bwsxcgbaSFaRh+mYtts6wE9VzyJvyfTqbe8VrvE+3InG5rrlNn51AO6M4Wv20 iFEgYanJXfhicl0WCQrHyTLfdB5p1w+072CL8uryHQVfD0FcDe+J/wl3bmYze+aD1SlPzFoI MaSIXKejC6oh6DAT4rvU8kMAbX90T834Mvbc3jplaWorNJEwjAH/r+v877AI9Vsmptis+rni JwUissjRbcdlkKBisoUZRPmxQeUifxUpqgulZcYwbEC/a49+WvbaYUriaDLHzg9xisijHwD2 yWV8igBeg+cmwnk0mPz8tIVvwi4lICAgXob7HZiaqKnwaDXs4LiS4vdG5s/ElnE3rIc87yru 24n3ypeDZ6f5LkdqL1UNp5/0Aqbr3EiN7/ina4YVyscy9754l944kyHnnMRLVykg0v+kakj0 h0RJ5LbfLAMM8M52KIA3y14g0Fb7kHLcOUMVcgfQ3PrN6chtC+5l6ouDIlSLR3toxH8Aam7E rIFfe2Dk+lD9A9BVd2rfoHA= Message-ID: <871a9191-f32b-383e-4f78-1a0a79737cd8@citrix.com> Date: Wed, 4 Sep 2019 17:52:16 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: <102c4923aacb48b9b80795e65107451a@ainfosec.com> Content-Language: en-US Subject: Re: [Xen-devel] [RFC] Generating Go bindings for libxl X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: "anthony.perard@citrix.com" , Brendan Kerrigan , "ian.jackson@eu.citrix.com" , Nicolas Belouin , "wl@xen.org" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" T24gOS80LzE5IDE6MzYgQU0sIE5pY2hvbGFzIFJvc2Jyb29rIHdyb3RlOgo+IEdlb3JnZSwKPiAK Pj4gQXJlIHlvdSB1cCBmb3IgdGFraW5nIGEgc3RhYiBhdCBzb21ldGhpbmcgbGlrZSBgZ2VuZ290 eXBlcy5weWA/Cj4gCj4gSSBoYXZlIHdhcyBhYmxlIHRvIG1ha2UgYSBiaXQgb2YgcHJvZ3Jlc3Mg b24gdGhpcyBvdmVyIHRoZSB3ZWVrZW5kLiBJJ3ZlIHN0YXJ0ZWQKPiBgZ2VuZ290eXBlcy5weWAg aW4gbXkgYnJhbmNoWzFdOyB0aGUgcG9ydGlvbiB3aGljaCBnZW5lcmF0ZXMgYHhlbmxpZ2h0X3R5 cGVzLmdvYAo+ICh0aGUgY291bnRlcnBhcnQgdG8gX2xpYnhsX3R5cGVzLmgpIGlzIG1vc3RseSB3 b3JraW5nLiAKPiAKPiBUaGUgbWFpbiBleGNlcHRpb24gaXMgdGhhdCBJIGFtIG5vdCBjZXJ0YWlu IGhvdyB0aGUgYEtleWVkVW5pb25gIHR5cGUgZnJvbSB0aGUgSURMCj4gc2hvdWxkIGJlIHRyYW5z bGF0ZWQgZm9yIEdvLiBPbmUgb3B0aW9uIGlzIHRvIGRvIHNvbWV0aGluZyBzaW1pbGFyIHRvIHRo ZSBgb25lb2ZgIGZpZWxkIAo+IGluIGdSUEMncyBwcm90b2J1ZiBtZXNzYWdlc1syXS4gRXNzZW50 aWFsbHksIHdlIHdvdWxkIGRlZmluZSBhIHNlcGFyYXRlIHN0cnVjdCBmb3IgZWFjaAo+IG9mIHRo ZSBzdHJ1Y3RzIHRoYXQgYmVsb25nIHRvIHRoZSB1bmlvbi4gVGhlbiwgd2hlcmUgYSB1bmlvbiB3 b3VsZCBiZSB1c2VkIGluIEMsIHdlIHVzZQo+IGFuIGludGVyZmFjZSB0eXBlIHdoaWNoIHRoZSBw cmV2aW91c2x5IGRlZmluZWQgc3RydWN0cyBpbXBsZW1lbnQuCgpZZXMsIEkgdGhpbmsgdGhhdCdz IHJlYWxseSB0aGUgb25seSBvcHRpb24uICBQb2tpbmcgYXJvdW5kLCBpdCBsb29rcwpsaWtlIGEg bG90IG9mIGRpZmZlcmVudCBwZW9wbGUgaGF2ZSByZWNvbW1lbmRlZCBpdDsgYW5kIHRoZSBmYWN0 IHRoYXQKaXQncyBpbiB1c2UgYnkgZ1JQQyBtZWFucyBpdCBjYW4ndCBiZSB0b28gdGVycmlibGUg YSBzb2x1dGlvbi4KClRoZSByZWFsbHkgYW5ub3lpbmcgdGhpbmcgaXMgdGhhdCB3aXRoIHRoZSAi aW50ZXJmYWNlLWFzLXVuaW9uIiwgd2UKY2FuJ3QgdXNlIGFub255bW91cyB0eXBlczogd2UnbGwg aGF2ZSB0byBleHBsaWNpdGx5IGRlZmluZSB0aGUKe3BhcmVudC1zdHJ1Y3R9IHgge3VuaW9uLWtl eX0gYXMgYSBkaXN0aW5jdCB0eXBlLCBhbmQgdGhlIGlzJFRZUEUoKQptZXRob2Qgb24gZWFjaCBv bmUuCgo+IEUuZy4KPiAKPiB0eXBlIGlzRG9tYWluVHlwZVN0cnVjdCBpbnRlcmZhY2Ugewo+ICAg ICAgICAgaXNEb21haW5UeXBlU3RydWN0KCkKPiB9CgpUaGUgaW50ZXJmYWNlIHR5cGUgaXRzZWxm IHdpbGwgbmVlZCB0byBiZSBleHBvcnRlZCwgcmlnaHQ/ICAoT2J2aW91c2x5CndlIGRvbid0IHdh bnQgdG8gZXhwb3J0IHRoZSBkZWZpbmluZyBtZXRob2QuKQoKPiB0eXBlIGRvbWFpblR5cGVIVk1T dHJ1Y3Qgc3RydWN0IHsKPiAgICAgICAgIC4uLgo+IH0KClNvIHlvdSd2ZSBuYW1lZCB0aGUgc3Ry dWN0IGFmdGVyIHRoZSBuYW1lIG9mIHRoZSBrZXkgKGxpYnhsX2RvbWFpbl90eXBlKQphbmQgdGhl IGtleSB2YWx1ZSAoaHZtKTsgYnV0IEkgZG9uJ3QgdGhpbmsgdGhhdCdzIHN1ZmZpY2llbnQuICBB bHJlYWR5CnRoZXJlIGFyZSB0d28gZGlmZmVyZW50IHN0cnVjdHVyZXMgaW5kZXhlZCBieSBsaWJ4 bF9jaGFubmVsX2Nvbm5lY3Rpb246Cgp0eXBlZGVmIHN0cnVjdCBsaWJ4bF9kZXZpY2VfY2hhbm5l bCB7CiAgICBsaWJ4bF9kb21pZCBiYWNrZW5kX2RvbWlkOwogICAgY2hhciAqIGJhY2tlbmRfZG9t bmFtZTsKICAgIGxpYnhsX2RldmlkIGRldmlkOwogICAgY2hhciAqIG5hbWU7CiAgICBsaWJ4bF9j aGFubmVsX2Nvbm5lY3Rpb24gY29ubmVjdGlvbjsKICAgIHVuaW9uIHsKICAgICAgICBzdHJ1Y3Qg ewogICAgICAgICAgICBjaGFyICogcGF0aDsKICAgICAgICB9IHNvY2tldDsKICAgIH0gdTsKfSBs aWJ4bF9kZXZpY2VfY2hhbm5lbDsKCnR5cGVkZWYgc3RydWN0IGxpYnhsX2NoYW5uZWxpbmZvIHsK ICAgIGNoYXIgKiBiYWNrZW5kOwogICAgdWludDMyX3QgYmFja2VuZF9pZDsKICAgIGNoYXIgKiBm cm9udGVuZDsKICAgIHVpbnQzMl90IGZyb250ZW5kX2lkOwogICAgbGlieGxfZGV2aWQgZGV2aWQ7 CiAgICBpbnQgc3RhdGU7CiAgICBpbnQgZXZ0Y2g7CiAgICBpbnQgcnJlZjsKICAgIGxpYnhsX2No YW5uZWxfY29ubmVjdGlvbiBjb25uZWN0aW9uOwogICAgdW5pb24gewogICAgICAgIHN0cnVjdCB7 CiAgICAgICAgICAgIGNoYXIgKiBwYXRoOwogICAgICAgIH0gcHR5OwogICAgfSB1Owp9IGxpYnhs X2NoYW5uZWxpbmZvOwoKCihOb3RlIHRoYXQgaW4gb25lLCBgc29ja2V0YCBpcyBkZWZpbmVkLCBh bmQgaW4gdGhlIG90aGVyLCBgcHR5YCBpcwpkZWZpbmVkLiAgSSdtIG5vdCBzdXJlIHRoYXQncyBu b3QgYSBidWcsIGJ1dCBhbnl3YXksIHRoYXQncyB3aGF0IHRoZSBJREwKYWxsb3dzLikKCkFuZCB0 aGVyZSdzIG5vIHJlYXNvbiwgdGhlb3JldGljYWxseSwgd2UgY291bGRuJ3QgaGF2ZSB0aGUgZm9s bG93aW5nOgoKICAgICgidTEiLCBLZXllZFVuaW9uKE5vbmUsIGxpYnhsX2NoYW5uZWxfY29ubmVj dGlvbiwgImNvbm5lY3Rpb24iLAogICAgICAgICAgIFsvKiBPbmUgc2V0IG9mIHR5cGVzICovLAog ICAgICAgICAgIF0pKSwKICAgICgidTIiLCBLZXllZFVuaW9uKE5vbmUsIGxpYnhsX2NoYW5uZWxf Y29ubmVjdGlvbiwgImNvbm5lY3Rpb24yIiwKICAgICAgICAgICBbLyogQSBzZWNvbmQgc2V0IG9m IHR5cGVzIHNldCBvZiB0eXBlcyAqLywKICAgICAgICAgICBdKSksCgpTbyB3ZSBuZWVkIHRvIGlu Y2x1ZGUgdGhlIGVsZW1lbnQgbmFtZSBhcyB3ZWxsLiAgQnV0IGFjdHVhbGx5LCBJIHN1cHBvc2UK dGhhdCBtZWFucyB3ZSBkb24ndCBhY3R1YWxseSBuZWVkIHRvIGluY2x1ZGUgdGhlIHR5cGUsIHNp bmNlIHRoZSBlbGVtZW50Cm5hbWUgd2lsbCBiZSB1bmlxdWUuCgo+IGZ1bmMgKGQgZG9tYWluVHlw ZUhWTVN0cnVjdCkgaXNEb21haW5UeXBlU3RydWN0KCkge30KPiAKPiB0eXBlIERvbWFpbkJ1aWxk SW5mbyBzdHJ1Y3Qgewo+ICAgICAgICAgLi4uCj4gICAgICAgICBUeXBlIERvbWFpblR5cGUKPiAg ICAgICAgIGR0cyAgICBpc0RvbWFpblR5cGVTdHJ1Y3QKPiB9CgouLi5hbmQgdGhlbiBJJ20gYWZy YWlkIHlvdSdkIG5lZWQgdG8gaGF2ZSAnRHRzJyAoc2hvdWxkIGJlIGV4cG9ydGVkLApyaWdodD8p IGluc3RlYWQgYnkgdGhlIGVsZW1lbnQgc3BlY2lmaWVkIGJ5IHRoZSBJREw7IHNvICdVJyBpbiBh bGwgdGhlCmN1cnJlbnQgY2FzZXMuCgpUaGlzIGdpdmVzIHVzOgoKdHlwZSBEb21haW5CdWlsZElu Zm9VIGludGVyZmFjZSB7CiAgICBpc0RvbWFpbkJ1aWxkSW5mb1UoKQp9Cgp0eXBlIERvbWFpbkJ1 aWxkSW5mb1VIdm1zdHJ1Y3QgewogIC8vIC4uLgp9CgpmdW5jIChzIERvbWFpbkJ1aWxkSW5mb1VI dm0pIGlzRG9tYWluQnVpbGRJbmZvVSgpIHsgfQoKLi4uCgpzdHJ1Y3QgRG9tYWluQnVpbGRJbmZv IHsKICAgIC8vIC4uLgogICAgVHlwZSBEb21haW5UeXBlCiAgICBVICAgIERvbWFpbkJ1aWxkSW5m b1UKICAgIC8vIC4uLgp9CgpBbHRlcm5hdGVseSwgc2luY2UgdGhlICJrZXkiIGVsZW1lbnQgaXMg YWxzbyB1bmlxdWUsIHdlIGNvdWxkIHVzZSB0aGF0Cmluc3RlYWQ6Cgp0eXBlIERvbWFpbkJ1aWxk SW5mb1R5cGVVbmlvbiB7CiAvLyAuLi4KfQoKc3RydWN0IERvbWFpbkJ1aWxkSW5mbyB7CiAgICAv LyAuLi4KICAgIFR5cGUgICAgICBEb21haW5UeXBlCiAgICBUeXBlVW5pb24gRG9tYWluQnVpbGRJ bmZvVHlwZVVuaW9uCiAgICAvLyAuLi4KfQoKKEFuZCBpbiB0aGUgZXhhbXBsZSBnaXZlbiBhYm92 ZSB3aGVyZSB0aGVyZSBhcmUgdHdvIGtleWVkIHVuaW9ucywgb25lCndvdWxkIGJlICJDb25uZWN0 aW9uVW5pb24gUGFyZW50VHlwZUNvbm5lY3Rpb25VbmlvbiIgYW5kCiJDb25uZWN0aW9uMlVuaW9u IFBhcmVudFR5cGVDb25uZWN0aW9uMlVuaW9uIi4pCgpJIHRoaW5rIHRoZSBzZWNvbmQgb25lIGxv b2tzIHByZXR0aWVyLiAgKEFjdHVhbGx5IEkgdGhpbmsgdXNpbmcgJ3UnIGFzCnRoZSBlbGVtZW50 IG5hbWUgZm9yIHRoZSB1bmlvbiB3YXMga2luZCBvZiBhIGJhZCBpZGVhIGluIHRoZSBmaXJzdApw bGFjZS4pICBCdXQgdGhhdCBkb2VzIG1lYW4gd2UncmUgJ292ZXJyaWRpbmcnIHRoZSBpbnN0cnVj dGlvbnMgb2YgdGhlCklETCAod2hpY2ggcHJlc2NyaWJlIGJvdGggdGhlIGtleSBlbGVtZW50IG5h bWUgYW5kIHRoZSB1bmlvbiBlbGVtZW50IG5hbWUpLgoKV2hhdCBkbyB5b3UgdGhpbms/ICBJZiBs aWtlIG1lLCB5b3UgcHJlZmVyIHRoZSBzZWNvbmQgb25lLCBJJ2xsIHRyeSB0bwpwaW5nIElhbiBK YWNrc29uIHRvIG1ha2Ugc3VyZSBoZSBkb2Vzbid0IGhhdmUgYW55IG9iamVjdGlvbnMgdG8gaXQu CgogLUdlb3JnZQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcK aHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==