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=-0.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED 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 9A039C3A59E for ; Thu, 22 Aug 2019 02:07:16 +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 1BA6722DD3 for ; Thu, 22 Aug 2019 02:07:16 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=cs.rochester.edu header.i=@cs.rochester.edu header.b="U2ldj2a0" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1BA6722DD3 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=cs.rochester.edu 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 1i0cV6-0000og-5U; Thu, 22 Aug 2019 02:06:56 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i0cV4-0000oZ-8r for xen-devel@lists.xenproject.org; Thu, 22 Aug 2019 02:06:54 +0000 X-Inumbo-ID: 8255150a-c481-11e9-ac23-bc764e2007e4 Received: from NAM04-BN3-obe.outbound.protection.outlook.com (unknown [40.107.68.109]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 8255150a-c481-11e9-ac23-bc764e2007e4; Thu, 22 Aug 2019 02:06:52 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E2Ahoq1D4QV6EzjO07AdkM2MummDWS1QAQP3k+h7NkQzrebohB4nVxUgQN2l9eeAWLnVcIv+ub8gdNJTNHtdsyTPmMDStfBI0KtfVyF00cUJC8AWBq/zgKd1XkTqq/cz2SgmbmybxvnO3lK8q8V4cC4BQ0lq7V+eVVFILYuNusiWicQwPzIA/toKK7pjHLmQ/lexOy1t/67TEMRLhzc6K90AII4TIGhV8Psd7EuZFptgSOS0imnE8rOaQZ97J4TG8tYEeEUExj+fRcRX+u3RUmgEBBu9928i+ktyw3i3XJvqnzykicb8ENKOYfM9HF+SfjqGwoBvWgLQqstNSPhtHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dWIuGFSykaYfUziYC1sjPKx5lSxWragNV0TwW9R9wtY=; b=Q4crcE3jtjgry7KhCjcRQiRa4N0567iuCP9Z1zmgk0hmYy+fsioS/TP1fmQhJ6AmZRU496fUg7KYAVcNeZn+uulyARlkp8GV8opM+Se3YPa4wYPLk4hIDkHC41jt2WUPmgEWmt+qNEYLHK8+kElqWJsBSM+53A4n4oQ5b7jBoIdNCocx+1emaJqLZPSKcqrEr91hAoFq4ThRACmHwJq0kREpVsogiiwyRJ555DQDa0VcsOi4765Ftwn3VZ5AYYpfKirXe1ccQjViK2XF80/IjfUPJAsROxwsMh4tYcITd59s+pBr2gUuifHnh0Xae/lu2c0oT7WK5P9agzUW2jWcMg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cs.rochester.edu; dmarc=pass action=none header.from=cs.rochester.edu; dkim=pass header.d=cs.rochester.edu; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.rochester.edu; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dWIuGFSykaYfUziYC1sjPKx5lSxWragNV0TwW9R9wtY=; b=U2ldj2a0h55sy1uRlzWAwlwobWQT/RzhjSajf2RVFohfHQU03pf10RYDkkfqNMq9vg75YDtmRdGYBcV6UseHinDieKSLnIywPAL1Pi5rPxIzouhWAkv+53f0RZXN/lhNOPh3ysYFbiAGEgdB52sOcC2xsz8SI3exZwgKwi8286w= Received: from DM6PR07MB6396.namprd07.prod.outlook.com (20.179.69.208) by DM6PR07MB5737.namprd07.prod.outlook.com (20.178.2.213) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2178.18; Thu, 22 Aug 2019 02:06:50 +0000 Received: from DM6PR07MB6396.namprd07.prod.outlook.com ([fe80::5165:4092:7216:5c1c]) by DM6PR07MB6396.namprd07.prod.outlook.com ([fe80::5165:4092:7216:5c1c%5]) with mapi id 15.20.2178.020; Thu, 22 Aug 2019 02:06:50 +0000 From: "Johnson, Ethan" To: Andrew Cooper , "xen-devel@lists.xenproject.org" Thread-Topic: [Xen-devel] More questions about Xen memory layout/usage, access to guest memory Thread-Index: AQHVVGwBqHs+h+C1MEiqJCnmi4iK96b/Lh4AgAdFi4A= Date: Thu, 22 Aug 2019 02:06:50 +0000 Message-ID: References: <15a4c482-1207-1d8a-fd2a-dc4f25956c27@cs.rochester.edu> <79c7b71f-0b61-2799-4a79-644536a9c891@citrix.com> In-Reply-To: <79c7b71f-0b61-2799-4a79-644536a9c891@citrix.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: BL0PR02CA0042.namprd02.prod.outlook.com (2603:10b6:207:3d::19) To DM6PR07MB6396.namprd07.prod.outlook.com (2603:10b6:5:157::16) authentication-results: spf=none (sender IP is ) smtp.mailfrom=ejohns48@cs.rochester.edu; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [2604:6000:100a:12:e51d:9715:9c19:1519] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0f0deba9-84c3-49af-ba3b-08d726a56539 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:DM6PR07MB5737; x-ms-traffictypediagnostic: DM6PR07MB5737: x-ms-exchange-purlcount: 2 x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2043; x-forefront-prvs: 01371B902F x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(396003)(39850400004)(42606007)(136003)(346002)(376002)(366004)(199004)(189003)(86362001)(66556008)(76176011)(6512007)(6306002)(2501003)(966005)(186003)(486006)(52116002)(8936002)(6436002)(71200400001)(6246003)(5660300002)(102836004)(2616005)(6506007)(446003)(478600001)(71190400001)(31686004)(6116002)(14454004)(46003)(75432002)(81166006)(81156014)(316002)(786003)(2906002)(31696002)(386003)(53936002)(88552002)(53546011)(7736002)(476003)(11346002)(99286004)(6486002)(110136005)(305945005)(256004)(66446008)(229853002)(66946007)(8676002)(25786009)(14444005)(64756008)(66476007); DIR:OUT; SFP:1102; SCL:1; SRVR:DM6PR07MB5737; H:DM6PR07MB6396.namprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: cs.rochester.edu does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: 6xnmXsIMK/A7G01SMWftbz8v/472O7ldlVtr09tGviWK+GVKKAIP38/s8r4DAsybvXr6L00vspNPPESKqLlql6oZngAA0Bro2Rx7KcTQepQ20z5VtzW9kiF3rQu043WE1Oa4p5NO9F/bhnBYhJE5JqGkdaBlkTp7gPCe4Xj1FgAz0qrYUPMuoiRaBtvMI+Gd9PoMbm9cZW0S1ZQSOBsJwdEls5/4MJTwWfaVfSJfOxK8avbJHD81+E+Te7tCPdyD8iSqum83Szn/PN0ctA00hJ0iCjZBf0e6YlnSizRAZGHPtHZbvLlK4+CJgbg3pQ1nMLEUp7iYekN2UTdFt6j/CooarsaHA5NLPnaMABOTxM9C4KPnJhdd9ASnWQlikaqb9Jt+788F3zTrUkRQVlsQbtdiFmjqN8cPjhxpQ8jPzzU= x-ms-exchange-transport-forked: True Content-ID: <722029E22A2DC040B27002CAD92158C9@namprd07.prod.outlook.com> MIME-Version: 1.0 X-OriginatorOrg: cs.rochester.edu X-MS-Exchange-CrossTenant-Network-Message-Id: 0f0deba9-84c3-49af-ba3b-08d726a56539 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Aug 2019 02:06:50.7345 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 374e17f4-cf11-4ce2-b3ef-5de76bf4ce41 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: riw91Ph9JdASMOUuZjUVU3PhrzR0li16uOXJs//FaqOPFMs3P4mpzofhR8tJMBF65KolzMXVMdaYsi58rRiXpzn04OPlBJe+hnNmeOrvx9k= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR07MB5737 Subject: Re: [Xen-devel] More questions about Xen memory layout/usage, access to guest memory 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: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" T24gOC8xNy8yMDE5IDc6MDQgQU0sIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiBTaW1pbGFybHks IHRvIHdoYXQgZXh0ZW50IGRvZXMgdGhlIGRvbTAgKG9yIG90aGVyIHN1Y2gNCj4+IHByaXZpbGVn ZWQgZG9tYWluKSB1dGlsaXplICJmb3JlaWduIG1lbW9yeSBtYXBzIiB0byByZWFjaCBpbnRvIGFu b3RoZXINCj4+IGd1ZXN0J3MgbWVtb3J5PyBJIHVuZGVyc3RhbmQgdGhhdCB0aGlzIGlzIG5lY2Vz c2FyeSB3aGVuIGNyZWF0aW5nIGENCj4+IGd1ZXN0LCBmb3IgbGl2ZSBtaWdyYXRpb24sIGFuZCBm b3IgUUVNVSB0byBlbXVsYXRlIHN0dWZmIGZvciBIVk0gZ3Vlc3RzOw0KPj4gYnV0IGZvciBQVkgs IGlzIGl0IGV2ZXIgbmVjZXNzYXJ5IGZvciBYZW4gb3IgdGhlIGRvbTAgdG8gImZvcmNpYmx5Ig0K Pj4gYWNjZXNzIGEgZ3Vlc3QncyBtZW1vcnk/DQo+IEknbSBub3Qgc3VyZSB3aGF0IHlvdSBtZWFu IGJ5IGZvcmNpYmx5LsKgIERvbTAgaGFzIHRoZSBhYmlsaXR5IHRvIGRvIHNvLA0KPiBpZiBpdCBj aG9vc2VzLsKgIFRoZXJlIGlzIG5vICJmb3JjZSIgYWJvdXQgaXQuDQo+DQo+IERlYnVnZ2VycyBh bmQvb3IgSW50cm9zcGVjdGlvbiBhcmUgb3RoZXIgcmVhc29ucyB3aHkgZG9tMCBtaWdodCBjaG9z ZSB0bw0KPiBtYXAgZ3Vlc3QgUkFNLCBidXQgSSB0aGluayB5b3UndmUgY292ZXJlZCB0aGUgY29t bW9uIGNhc2VzLg0KPg0KPj4gKEkgYXNrIGJlY2F1c2UgdGhlIHJlc2VhcmNoIHByb2plY3QgSSdt IHdvcmtpbmcgb24gaXMgc2Vla2luZyB0byBwcm90ZWN0DQo+PiBndWVzdHMgZnJvbSBhIGNvbXBy b21pc2VkIGh5cGVydmlzb3IgYW5kIGRvbTAsIHNvIEkgbmVlZCB0byBsaW1pdA0KPj4gb3V0c2lk ZSBhY2Nlc3MgdG8gYSBndWVzdCdzIG1lbW9yeSB0byBleHBsaWNpdGx5IHNoYXJlZCBwYWdlcyB0 aGF0IHRoZQ0KPj4gZ3Vlc3Qgd2lsbCB0cmVhdCBhcyB1bnRydXN0ZWQgLSBub3Qgc3RvcmluZyBh bnkgc2VjcmV0cyB0aGVyZSwgdmV0dGluZw0KPj4gaW5wdXQgYXMgbmVjZXNzYXJ5LCBldGMuKQ0K PiBTb3JyeSB0byBjb21lIGFsb25nIHdpdGggcm9hZGJsb2NrcywgYnV0IGhvdyBvbiBlYXJ0aCBk byB5b3UgaW50ZW5kIHRvDQo+IHByZXZlbnQgYSBjb21wcm9taXNlZCBYZW4gZnJvbSBhY2Nlc3Np bmcgZ3Vlc3QgbWVtb3J5P8KgIEEgY29tcHJvbWlzZWQNCj4gWGVuIGNhbiBkbyBhbG1vc3QgYW55 dGhpbmcgaXQgbGlrZXMsIGFuZCB3aXRob3V0IHJlY291cnNlLsKgIFRoaXMgaXMNCj4gdWx0aW1h dGVseSB3aHkgdGVjaG5vbG9naWVzIHN1Y2ggYXMgSW50ZWwgU0dYIG9yIEFNRCBTZWN1cmUgRW5j cnlwdGVkIFZNDQo+IGFyZSBjb21pbmcgYWxvbmcsIGJlY2F1c2Ugb25seSB0aGUgaGFyZHdhcmUg aXRzZWxmIGlzIGluIGEgcG9zaXRpb24gdG8NCj4gaXNvbGF0ZSBhbiB1bnRydXN0ZWQgaHlwZXJ2 aXNvci9rZXJuZWwgZnJvbSBndWVzdCBkYXRhLg0KPg0KPiBGb3IgZG9tMCwgdGhhdCdzIHBlcmhh cHMgZWFzaWVyLsKgIFlvdSBjb3VsZCByZWZlcmVuY2UgY291bnQgdGhlIG51bWJlcg0KPiBvZiBm b3JlaWduIG1hcHBpbmdzIGludG8gdGhlIGRvbWFpbiBhcyBpdCBpcyBjcmVhdGVkLCBhbmQgcmVm dXNlIHRvDQo+IHVucGF1c2UgdGhlIGd1ZXN0cyB2Y3B1cyB1bnRpbCB0aGUgZm9yZWlnbiBtYXAg Y291bnQgaGFzIGRyb3BwZWQgdG8gMC4NCg0KV2UncmUgdXNpbmcgYSB0ZWNobmlxdWUgd2hlcmUg cHJpdmlsZWdlZCBzeXN0ZW0gc29mdHdhcmUgKGluIHRoaXMgY2FzZSwgDQp0aGUgaHlwZXJ2aXNv cikgaXMgY29tcGlsZWQgdG8gYSB2aXJ0dWFsIGluc3RydWN0aW9uIHNldCAoYmFzZWQgb24gTExW TSANCklSKSB0aGF0IGxpbWl0cyBpdHMgYWNjZXNzIHRvIGhhcmR3YXJlIGZlYXR1cmVzIGFuZCBp dHMgdmlldyBvZiANCmF2YWlsYWJsZSBtZW1vcnkuIFRoZXNlIGxpbWl0YXRpb25zIGFyZS9jYW4g YmUgZW5mb3JjZWQgaW4gYSB2YXJpZXR5IG9mIA0Kd2F5cyBidXQgdGhlIG1haW4gdGVjaG5pcXVl cyB3ZSdyZSBlbXBsb3lpbmcgYXJlIHNvZnR3YXJlIGZhdWx0IA0KaXNvbGF0aW9uIChpLmUuLCBt ZW1vcnkgbG9hZHMgYW5kIHN0b3JlcyBpbiBwcml2aWxlZ2VkIGNvZGUgYXJlIA0KaW5zdHJ1bWVu dGVkIHdpdGggY2hlY2tzIHRvIGVuc3VyZSB0aGV5IGFyZW4ndCBhY2Nlc3NpbmcgZm9yYmlkZGVu IA0KcmVnaW9ucyksIGFuZCBtZWRpYXRpb24gb2YgcGFnZSB0YWJsZSB1cGRhdGVzIChieSBtb2Rp ZnlpbmcgcHJpdmlsZWdlZCANCnNvZnR3YXJlIHRvIG1ha2UgcGFnZSB0YWJsZSB1cGRhdGVzIHRo cm91Z2ggYSB2aXJ0dWFsIGluc3RydWN0aW9uIHNldCANCmludGVyZmFjZSwgdmVyeSBzaW1pbGFy bHkgdG8gaG93IFhlbiBQViBndWVzdHMgbWFrZSBwYWdlIHRhYmxlIHVwZGF0ZXMgDQp0aHJvdWdo IGh5cGVyY2FsbHMgd2hpY2ggZ2l2ZXMgWGVuIHRoZSBvcHBvcnR1bml0eSB0byBlbnN1cmUgbWFw cGluZ3MgDQphcmVuJ3QgbWFkZSB0byBwcm90ZWN0ZWQgcmVnaW9ucykuDQoNCk91ciB0ZWNobmlx dWUgaXMgYmFzZWQgb24gdGhhdCB1c2VkIGJ5IHRoZSAiVmlydHVhbCBHaG9zdCIgcHJvamVjdCAo c2VlIA0KaHR0cHM6Ly9kbC5hY20ub3JnL2NpdGF0aW9uLmNmbT9pZD0yNTQxOTg2IGZvciB0aGUg cGFwZXI7IGRpcmVjdCBQREYgDQpsaW5rOiBodHRwOi8vc3ZhLmNzLmlsbGlub2lzLmVkdS9wdWJz L1ZpcnR1YWxHaG9zdC1BU1BMT1MtMjAxNC5wZGYpLCANCndoaWNoIGRvZXMgc29tZXRoaW5nIHNp bWlsYXIgdG8gcHJvdGVjdCBhcHBsaWNhdGlvbnMgZnJvbSBhIGNvbXByb21pc2VkIA0Kb3BlcmF0 aW5nIHN5c3RlbSBrZXJuZWwgd2l0aG91dCByZWx5aW5nIG9uIHNvbWV0aGluZyBsaWtlIGEgaHlw ZXJ2aXNvciANCm9wZXJhdGluZyBhdCBhIGhpZ2hlciBwcml2aWxlZ2VkIGxldmVsLiBXZSdyZSBs b29raW5nIHRvIGV4dGVuZCB0aGF0IA0KYXBwcm9hY2ggdG8gaHlwZXJ2aXNvcnMgdG8gcHJvdGVj dCBndWVzdCBWTXMgZnJvbSBhIGNvbXByb21pc2VkIGh5cGVydmlzb3IuDQoNCj4+IEFnYWluLCB0 aGlzIG1vc3RseSBib2lscyBkb3duIHRvOiB1bmRlciB3aGF0IGNpcmN1bXN0YW5jZXMsIGlmIGV2 ZXIsDQo+PiBkb2VzIFhlbiBldmVyICJmb3JjZSIgYWNjZXNzIHRvIGFueSBwYXJ0IG9mIGEgZ3Vl c3QncyBtZW1vcnk/DQo+PiAoUGFydGljdWxhcmx5IGZvciBQVihIKS4gQ2xlYXJseSB0aGF0IG11 c3QgaGFwcGVuIGZvciBIVk0gc2luY2UsIGJ5DQo+PiBkZWZpbml0aW9uLCB0aGUgZ3Vlc3QgaXMg dW5hd2FyZSB0aGVyZSdzIGEgaHlwZXJ2aXNvciBjb250cm9sbGluZyBpdHMNCj4+IHdvcmxkIGFu ZCBlbXVsYXRpbmcgaGFyZHdhcmUgYmVoYXZpb3IsIGFuZCB0aHVzIGlzIGluIG5vIHBvc2l0aW9u IHRvDQo+PiBjb29wZXJhdGl2ZWx5L3ZvbHVudGFyaWx5IGdpdmUgdGhlIGh5cGVydmlzb3IgYW5k IGRvbTAgYWNjZXNzIHRvIGl0cw0KPj4gbWVtb3J5LikNCj4gVGhlcmUgYXJlIGNhc2VzIGZvciBh bGwgZ3Vlc3QgdHlwZXMgd2hlcmUgWGVuIHdpbGwgbmVlZCB0byBlbXVsYXRlDQo+IGluc3RydWN0 aW9ucy7CoCBYZW4gd2lsbCBhY2Nlc3MgZ3Vlc3QgbWVtb3J5IGluIG9yZGVyIHRvIHBlcmZvbQ0K PiBhcmNoaXRlY3R1cmFsbHkgY29ycmVjdCBhY3Rpb25zLCB3aGljaCBnZW5lcmFsbHkgc3RhcnRz IHdpdGggcmVhZGluZyB0aGUNCj4gaW5zdHJ1Y3Rpb24gdW5kZXIgJXJpcC4NCj4NCj4gRm9yIFBW IGd1ZXN0cywgdGhpcyBhbG1vc3QgZW50aXJlbHkgcmVzdHJpY3RlZCB0byBndWVzdC1rZXJuZWwN Cj4gb3BlcmF0aW9ucyB3aGljaCBhcmUgcHJpdmlsZWdlZCBpbiBuYXR1cmUuwqAgQWNjZXNzIHRv IE1TUnMsIHdyaXRlcyB0bw0KPiBwYWdldGFibGVzLCBldGMuDQo+DQo+IEZvciBIVk0gYW5kIFBW SCBndWVzdHMsIHdoaWxlIFBWSCBtZWFucyAiSFZNIHdpdGhvdXQgUWVtdSIsIGl0IGRvZXNuJ3QN Cj4gYmUgYSBjb21wbGV0ZSBhYnNlbmNlIG9mIGVtdWxhdGlvbi7CoCBUaGUgTG9jYWwgQVBJQyBp cyBlbXVsYXRlZCBieSBYZW4NCj4gaW4gbW9zdCBjYXNlcywgYXMgYSBiYXJlIG1pbmltdW0sIGJ1 dCBmb3IgZXhhbXBsZSwgdGhlIExNU1cgaW5zdHJ1Y3Rpb24NCj4gb24gQU1EIGhhcmR3YXJlIGRv ZXNuJ3QgaGF2ZSBhbnkgaW50ZXJjZXB0IGRlY29kaW5nIHRvIGhlbHAgdGhlDQo+IGh5cGVydmlz b3Igb3V0IHdoZW4gYSBndWVzdCB1c2VzIHRoZSBpbnN0cnVjdGlvbi4NCj4NCj4gfkFuZHJldw0K DQpJJ3ZlIGZvdW5kIGEgbnVtYmVyIG9mIGZpbGVzIGluIHRoZSBYZW4gc291cmNlIHRyZWUgd2hp Y2ggc2VlbSB0byBiZSANCnJlbGF0ZWQgdG8gaW5zdHJ1Y3Rpb24veDg2IHBsYXRmb3JtIGVtdWxh dGlvbjoNCg0KYXJjaC94ODYveDg2X2VtdWxhdGUuYw0KYXJjaC94ODYvaHZtL2VtdWxhdGUuYw0K YXJjaC94ODYvaHZtL3ZteC9yZWFsbW9kZS5jDQphcmNoL3g4Ni9odm0vc3ZtL2VtdWxhdGUuYw0K YXJjaC94ODYvcHYvZW11bGF0ZS5jDQphcmNoL3g4Ni9wdi9lbXVsLXByaXYtb3AuYw0KYXJjaC94 ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuYw0KDQpUaGUgbGFzdCBvZiB0aGVzZSwgaW4gcGFy dGljdWxhciwgbG9va3MgZXNwZWNpYWxseSBoYWlyeSAoaXQgc2VlbXMgdG8gDQpzdXBwb3J0IGVt dWxhdGlvbiBvZiBlc3NlbnRpYWxseSB0aGUgZW50aXJlIHg4NiBpbnN0cnVjdGlvbiBzZXQgdGhy b3VnaCANCmEgcXVpdGUgaW1wcmVzc2l2ZSBlZGlmaWNlIG9mIHN3aXRjaCBzdGF0ZW1lbnRzKS4N Cg0KSG93IGRvZXMgYWxsIG9mIHRoaXMgZml0IGludG8gdGhlIGJpZyBwaWN0dXJlIG9mIGhvdyBY ZW4gdmlydHVhbGl6ZXMgdGhlIA0KZGlmZmVyZW50IHR5cGVzIG9mIFZNcyAoUFYvSFZNL1BWSCk/ DQoNCk15IGltcHJlc3Npb24gKGZyb20gcmVhZGluZyB0aGUgb3JpZ2luYWwgIlhlbiBhbmQgdGhl IEFydCBvZiANClZpcnR1YWxpemF0aW9uIiBTT1NQICcwMyBwYXBlciB0aGF0IGRlc2NyaWJlcyB0 aGUgYmFzaWMgYXJjaGl0ZWN0dXJlKSANCmhhZCBiZWVuIHRoYXQgUFYgZ3Vlc3RzLCBpbiBwYXJ0 aWN1bGFyLCB1c2VkIGh5cGVyY2FsbHMgaW4gcGxhY2Ugb2YgYWxsIA0KcHJpdmlsZWdlZCBvcGVy YXRpb25zIHRoYXQgdGhlIGd1ZXN0IGtlcm5lbCB3b3VsZCBvdGhlcndpc2UgbmVlZCB0byANCmV4 ZWN1dGUgaW4gcmluZyAwOyBhbmQgdGhhdCBhbGwgb3RoZXIgKHVucHJpdmlsZWdlZCkgb3BlcmF0 aW9ucyBjb3VsZCANCmV4ZWN1dGUgbmF0aXZlbHkgb24gdGhlIENQVSB3aXRob3V0IHJlcXVpcmlu ZyBlbXVsYXRpb24uIEZyb20gd2hhdCANCnlvdSdyZSBzYXlpbmcgKGFuZCB3aGF0IEknbSBzZWVp bmcgaW4gdGhlIHNvdXJjZSBjb2RlKSwgdGhvdWdoLCBpdCANCnNvdW5kcyBsaWtlIGluIHJlYWxp dHkgdGhpbmdzIGFyZSBhIGJpdCBmdXp6aWVyIC0gdGhhdCB0aGVyZSBhcmUgc29tZSANCm9wZXJh dGlvbnMgdGhhdCBYZW4gdHJhcHMgYW5kIGVtdWxhdGVzIGluc3RlYWQgb2YgZXhwbGljaXRseSAN CnBhcmF2aXJ0dWFsaXppbmcuDQoNCkxpa2V3aXNlLCB0aGUgWGVuIGRlc2lnbiBkZXNjcmliZWQg aW4gdGhlIFNPU1AgcGFwZXIgZGlzY3Vzc2VkIGd1ZXN0IEkvTyANCmFzIHNvbWV0aGluZyB0aGF0 J3MgZnVsbHkgcGFyYXZpcnR1YWxpemVkLCB0YWtpbmcgcGxhY2Ugbm90IHRocm91Z2ggDQplbXVs YXRpb24gb2YgZWl0aGVyIG1lbW9yeS1tYXBwZWQgb3IgcG9ydCBJL08gYnV0IHJhdGhlciB0aHJv dWdoIHJpbmcgDQpidWZmZXJzIHNoYXJlZCBiZXR3ZWVuIHRoZSBndWVzdCBhbmQgZG9tMCB2aWEg Z3JhbnQgdGFibGVzLiBJIHdhcyBhIGJpdCANCmNvbmZ1c2VkIHRvIGZpbmQgSS9PIGVtdWxhdGlv biBjb2RlIHVuZGVyIGFyY2gveDg2L3B2IChzZWUgZS5nLiANCmFyY2gveDg2L3B2L2VtdWwtcHJp di1vcC5jKSB0aGF0IHNlZW1zIHRvIGJlIHRhbGtpbmcgYWJvdXQgInBvcnRzIiBhbmQgDQp0aGUg bGlrZS4gSXMgdGhpcyBhbm90aGVyIGV4YW1wbGUgb2YgdGhpbmdzIGJlaW5nIGZ1enppZXIgaW4g cmVhbGl0eSANCnRoYW4gaW4gdGhlICJ0aGVvcmV0aWNhbCIgUFYgZGVzaWduPyBXaGF0IGRldmlj ZXMsIGlmIGFueSwgYXJlIGVtdWxhdGVkIA0KcmF0aGVyIHRoYW4gcGFyYXZpcnR1YWxpemVkIGZv ciBhIFBWIGd1ZXN0PyBJIGtub3cgdGhhdCBmb3IgUFZILCB5b3UgDQptZW50aW9uZWQgdGhhdCB0 aGUgTG9jYWwgQVBJQyBpcyAoYXQgYSBtaW5pbXVtKSBlbXVsYXRlZCwgYWxvbmcgd2l0aCANCnNv bWUgc3BlY2lhbCBpbnN0cnVjdGlvbnM7IGlzIHRoYXQgdHJ1ZSBmb3IgY2xhc3NpYyBQViBhcyB3 ZWxsPw0KDQpGb3IgSFZNLCBvYnZpb3VzbHkgYW55dGhpbmcgdGhhdCBjYW4ndCBiZSB2aXJ0dWFs aXplZCBuYXRpdmVseSBieSB0aGUgDQpoYXJkd2FyZSBuZWVkcyB0byBiZSBlbXVsYXRlZCBieSBY ZW4vUUVNVSAoc2luY2UgdGhlIGd1ZXN0IGtlcm5lbCBpc24ndCANCmV4cGVjdGVkIHRvIGJlIGNv b3BlcmF0aXZlIHRvIGlzc3VlIFBWIGh5cGVyY2FsbHMgaW5zdGVhZCk7IGJ1dCBJIHdvdWxkIA0K ZXhwZWN0IGVtdWxhdGlvbiB0byBiZSBsaW1pdGVkIHRvIHRoZSByZWxhdGl2ZWx5IHNtYWxsIHN1 YnNldCBvZiB0aGUgSVNBIA0KdGhhdCBWTVgvU1ZNIGNhbid0IG5hdGl2ZWx5IHZpcnR1YWxpemUu IFlldCBJIHNlZSB0aGF0IHg4Nl9lbXVsYXRlLmMgDQpzdXBwb3J0cyBlbXVsYXRpbmcganVzdCBh Ym91dCBldmVyeXRoaW5nLiBVbmRlciB3aGF0IGNpcmN1bXN0YW5jZXMgZG9lcyANClhlbiBhY3R1 YWxseSBuZWVkIHRvIHB1dCBhbGwgdGhhdCBlbXVsYXRpb24gY29kZSB0byB1c2U/DQoNCkknbSBh bHNvIHdvbmRlcmluZyBqdXN0IGhvdyBtdWNoIG9mIHRoaXMgaXMgWGVuJ3MgcmVzcG9uc2liaWxp dHkgdnMuIA0KUUVNVSdzLiBJIHVuZGVyc3RhbmQgdGhhdCB3aGVuIFFFTVUgaXMgdXNlZCBvbiBp dHMgb3duIChpLmUuLCBub3Qgd2l0aCANClhlbiksIGl0IHVzZXMgZHluYW1pYyBiaW5hcnkgcmVj b21waWxhdGlvbiB0byBoYW5kbGUgdGhlIHBhcnRzIG9mIHRoZSANCklTQSB0aGF0IGNhbid0IGJl IHZpcnR1YWxpemVkIG5hdGl2ZWx5IGluIGxvd2VyLXByaXZpbGVnZSBtb2Rlcy4gRG9lcyANClhl biBvbmx5IHVzZSBRRU1VIGZvciBlbXVsYXRpbmcgb2ZmLUNQVSBkZXZpY2VzIChpbnRlcnJ1cHQg Y29udHJvbGxlciwgDQpub24tcGFyYXZpcnR1YWxpemVkIGRpc2svbmV0d29yay9ncmFwaGljcy9l dGMuKSwgb3IgZG9lcyBpdCBldmVyIGVtcGxveSANCmFueSBvZiBRRU1VJ3MgeDg2IGVtdWxhdGlv biBzdXBwb3J0IGluIGFkZGl0aW9uIHRvIFhlbidzIG93biBlbXVsYXRpb24gY29kZT8NCg0KSXMg dGhlcmUgYW55IHBhcnRpY3VsYXIgcGxhY2UgaW4gdGhlIGNvZGUgd2hlcmUgSSBjYW4gZ28gdG8g Z2V0IGEgDQpjb21wcmVoZW5zaXZlICJsaXN0IiAob3Igb3RoZXIgc3VjaCBzdW1tYXJ5KSBvZiB3 aGljaCBwYXJ0cyBvZiB0aGUgSVNBIA0KYW5kIG9mZi1DUFUgc3lzdGVtIGFyZSBlbXVsYXRlZCBm b3IgZWFjaCByZXNwZWN0aXZlIGd1ZXN0IHR5cGUgKFBWLCBIVk0sIA0KYW5kIFBWSCk/IEkgcmVh bGl6ZSB0aGF0IHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gSFZNIGFuZCBQVkggaXMgbW9yZSBvZiBh IA0KY29udGludXVtIHRoYW4gYSBsaW5lOyB3aGF0IEknbSBlc3BlY2lhbGx5IGludGVyZXN0ZWQg aW4gaXMsIHdoYXQncyB0aGUgDQoqYmFyZSBtaW5pbXVtKiBvZiBlbXVsYXRpb24gcmVxdWlyZWQg Zm9yIGEgUFZIIGd1ZXN0IHRoYXQncyB1c2luZyBhcyANCm11Y2ggcGFyYXZpcnR1YWxpemF0aW9u IGFzIHBvc3NpYmxlPyAoVGhhdCdzIHRoZSBzZXR0aW5nIEknbSBsb29raW5nIHRvIA0KdGFyZ2V0 IGZvciBteSByZXNlYXJjaCBvbiBwcm90ZWN0aW5nIGd1ZXN0cyBmcm9tIGEgY29tcHJvbWlzZWQg DQpoeXBlcnZpc29yLCBzaW5jZSBJJ20gdHJ5aW5nIHRvIG1pbmltaXplIHRoZSBzY29wZSBvZiBp bnRlcmFjdGlvbnMgDQpiZXR3ZWVuIHRoZSBndWVzdCBhbmQgaHlwZXJ2aXNvci9kb20wIHRoYXQg b3VyIHZpcnR1YWwgaW5zdHJ1Y3Rpb24gc2V0IA0KbGF5ZXIgbmVlZHMgdG8gbWVkaWF0ZS4pLy8N Cg0KDQpPbiBhIHNvbWV3aGF0IHJlbGF0ZWQgbm90ZSwgSSBhbHNvIGhhdmUgYSBxdWVzdGlvbiBh Ym91dCBhIHBhcnRpY3VsYXIgDQpwaWVjZSBvZiBjb2RlIGluIGFyY2gveDg2L3B2L2VtdWwtcHJp di1vcC5jLCBuYW1lbHkgdGhlIGZ1bmN0aW9uIA0KaW9fZW11bF9zdHViX3NldHVwKCkuIEl0IGxv b2tzIGxpa2UgaXQgaXMsIGF0IHJ1bnRpbWUsIGNyYWZ0aW5nIGEgDQpmdW5jdGlvbiB0aGF0IHN3 aXRjaGVzIHRvIHRoZSBndWVzdCByZWdpc3RlciBjb250ZXh0LCBlbXVsYXRlcyBhIA0KcGFydGlj dWxhciBJL08gb3BlcmF0aW9uLCB0aGVuIHN3aXRjaGVzIGJhY2sgdG8gdGhlIGhvc3QgcmVnaXN0 ZXIgDQpjb250ZXh0LiBUaGlzIGNhdWdodCBvdXIgYXR0ZW50aW9uIHdoaWxlIHdlIHdlcmUgaW1w bGVtZW50aW5nIENvbnRyb2wgDQpGbG93IEludGVncml0eSAoQ0ZJKSBpbnN0cnVtZW50YXRpb24g Zm9yIFhlbiAod2hpY2ggaXMgbmVjZXNzYXJ5IGZvciB1cyANCnRvIGVuZm9yY2UgdGhlIHNvZnR3 YXJlIGZhdWx0IGlzb2xhdGlvbiAoU0ZJKSBpbnN0cnVtZW50YXRpb24gdGhhdCANCnByb3ZpZGVz IG91ciBtZW1vcnkgcHJvdGVjdGlvbnMpLiBXaHkgZG9lcyBYZW4gdXNlIGR5bmFtaWNhbGx5LWdl bmVyYXRlZCANCmNvZGUgaGVyZT8gSXMgaXQganVzdCBmb3IgaW1wbGVtZW50YXRpb24gY29udmVu aWVuY2UgKGkuZS4sIHRvIGltcHJvdmUgDQp0aGUgZ2VuZXJhbGl6YWJpbGl0eSBvZiB0aGUgY29k ZSk/DQoNClRoYW5rcyBhZ2FpbiBmb3IgYWxsIHlvdXIgdGltZSBhbmQgZWZmb3J0IHNwZW50IGFu c3dlcmluZyBteSBxdWVzdGlvbnMuIA0KSSBrbm93IEknbSB0aHJvd2luZyBhIGxvdCBvZiB1bnVz dWFsIHF1ZXN0aW9ucyBvdXQgdGhlcmUgLSB0aGlzIA0KYmFjay1hbmQtZm9ydGggaGFzIGJlZW4g dmVyeSBoZWxwZnVsIGZvciBtZSBpbiBmaWd1cmluZyBvdXQgKndoYXQqIA0KcXVlc3Rpb25zIEkg bmVlZCB0byBiZSBhc2tpbmcgaW4gdGhlIGZpcnN0IHBsYWNlIHRvIHVuZGVyc3RhbmQgd2hhdCdz IA0KZmVhc2libGUgdG8gZG8gaW4gdGhlIFhlbiBhcmNoaXRlY3R1cmUgYW5kIGhvdyBJIG1pZ2h0 IGdvIGFib3V0IGRvaW5nIA0KaXQuIDotKQ0KDQpUaGFua3MsDQpFdGhhbiBKb2huc29uDQoNCi0t IA0KRXRoYW4gSi4gSm9obnNvbg0KQ29tcHV0ZXIgU2NpZW5jZSBQaEQgc3R1ZGVudCwgU3lzdGVt cyBncm91cCwgVW5pdmVyc2l0eSBvZiBSb2NoZXN0ZXINCmVqb2huczQ4QGNzLnJvY2hlc3Rlci5l ZHUNCmV0aGFuam9obnNvbkBhY20ub3JnDQpQR1AgcHVibGljIGtleSBhdmFpbGFibGUgZnJvbSBw dWJsaWMgZGlyZWN0b3J5IG9yIG9uIHJlcXVlc3QNCg0KX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu L2xpc3RpbmZvL3hlbi1kZXZlbA==