From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2092.outbound.protection.outlook.com [40.107.94.92]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 867E43B29D for ; Tue, 30 Apr 2024 22:46:47 -0400 (EDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZmTo8iZAeyV+0eZtN/6I2frBRGw7rKTDNJYKKNec29449/XSScuSbXFUhhP7pKljzpLb5Ds6uoBsZnJQ0eR9JR9KKj6sH3rkyHOEDBtO4R2cDwQDyC0qwmHStvyQFlXi2JOJoFf/fSYNrZCFJANQJ+iuXhGfyNU9nplC8MuMDH6cmxiIx4BCAggOUM+pOQdi1+0ICqutb2Zx/r4tp2yUia5UppCiKwoaWrkYwgVeCv+KATt8+IQRMBIgtAAjy1HOkvHNKd88jFOlCZEMPpU151vESpzOEoXAV8PADFQVbty2Hy8Sz/mRTI10qx6yHBCMmyVhXdSQ1zMvOcTmHeLuMQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=fR8yiZli2cHU/JowbiEXLygQTyCDteDii1b46t5DS18=; b=mm7ZdxJmsIc+uthIJtgHP71lX7PWYMu08VYemszSxjVviiNR+VXbz9tFINSQVXlzRO6cNRI1iOHpRL+0ASSGOo87SIY8qEasKFFhZ6mzQjPplTLOsXafMZOymge0r+gR7PKjwpbHjejNDXBJ9aY7UiqHedi2k6SGmb6oJoiIeJYLkcsvBaYwMfkv6Nf1N85uZtCuncBcX+eIYK7AienFm66C9iWU77+rvKF6TK2r+fyLow+p9DaJpUjJb24TU9m4eKpgs1E/z+DEo6wfXoHKehGqEFqMGev4+WCabJkTBUd3aSXUoPBbNXSnWw0MmrlskUSM4KZzIm02zjhqIJaK7Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=higbie.name; dmarc=pass action=none header.from=higbie.name; dkim=pass header.d=higbie.name; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=higbie.name; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fR8yiZli2cHU/JowbiEXLygQTyCDteDii1b46t5DS18=; b=bZy+2Z0yydREL8oQL5inA6IHI81JnaY4jnTKG8djUx3PtZhwAd0OgRaQIwUg0qZsiG84P67cMFjLsiyWnF6vxHHcHqMYtxAf5WpDACGJAE8/NchpNwYzkOVMsQJyvEjWXBxDrWGzkSdRs+LDNImgArhywbN+3MqHvus+0lEFHhkd02TMMt8n8wykLlbMKWJvYyDgNt0WN34N9OMHPnCNqM+hqMxdO5lXSXmTPUOcTqCZsZvQtRAATFctPDhzud1ywJgIoguoVWcaJmLLcw6KATqU3KICf0KkQ3K1eDK7KW9+kbirW1hljgYMtTsEwlTGz2jeqaGZ0KHYMjn36ZD7xQ== Received: from MN2PR16MB3391.namprd16.prod.outlook.com (2603:10b6:208:150::23) by DM4PR16MB5418.namprd16.prod.outlook.com (2603:10b6:8:185::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.34; Wed, 1 May 2024 02:46:44 +0000 Received: from MN2PR16MB3391.namprd16.prod.outlook.com ([fe80::cffb:a1ce:b951:4c4f]) by MN2PR16MB3391.namprd16.prod.outlook.com ([fe80::cffb:a1ce:b951:4c4f%2]) with mapi id 15.20.7519.031; Wed, 1 May 2024 02:46:43 +0000 From: Colin_Higbie To: David Lang CC: "starlink@lists.bufferbloat.net" Thread-Topic: =?utf-8?B?W1N0YXJsaW5rXSBJdMq8cyB0aGUgTGF0ZW5jeSwgRkND?= Thread-Index: AQHam2HIuUihQd07Ak2sxErP6TADObGBmMKA Date: Wed, 1 May 2024 02:46:43 +0000 Message-ID: References: <7n9n40q0-qn32-snpo-q968-q4o4o036pooq@ynat.uz> In-Reply-To: <7n9n40q0-qn32-snpo-q968-q4o4o036pooq@ynat.uz> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=Higbie.name; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR16MB3391:EE_|DM4PR16MB5418:EE_ x-ms-office365-filtering-correlation-id: 8bfa053d-5ba3-4613-608f-08dc6988efc7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230031|1800799015|376005|366007|38070700009; x-microsoft-antispam-message-info: =?utf-8?B?aithTnk5R09JK0pxdEpDQ2xUUEh4Q2lGMXlwMkpTcHltSG52eXJudktTMlhr?= =?utf-8?B?SU1PWUY3UEFWTTI4R1Noa0ZxYmpXZmRnY3IrTXVOay96RG5BbzYzQkg0K2dy?= =?utf-8?B?bDJPSnhYbEVQazlNWXd6TzczZmFxMW5hdGNETE56dE9DQ3M0L2ZpaHN3eURo?= =?utf-8?B?ME1mdW5LSHZadkx4RTByNHFyb3UxRHZaWHE5WTlYUDVXNXVybHJ4akMyR2c3?= =?utf-8?B?ZHBUZVhkaHVXc0REYmx2aFhZMFQ3d2hHZXZpRlhyUVVLanE3a24xaWYwcWY1?= =?utf-8?B?Nm5FWU53UnhJYWN0Ujhza1dpVmdxVTFNbzN5YVZOL1hPUWlXditpOGlQOC9k?= =?utf-8?B?WWIwY3N4NlFjVjEwQVJmdll5L3JHUTJBd3J4Z05xRU5TU29IMU04UWYzc0hm?= =?utf-8?B?SEk4SWw4OTNSTjBWMmtXU1Y5VDlMaU95MFhtY2lVZ3JQcUlweXc4aXRpZ2wz?= =?utf-8?B?U1h1V1VLWGwzalBvMlBzWjR4b3FRQk9UMjA4ekVmekdsUkd1MXpuTE1HcG56?= =?utf-8?B?NG1DQ0FtdnZrbjJPcEg5Sm8zRnNUejFiaFNXR3hXYjQ3Z0EwaHgreXlod0Vy?= =?utf-8?B?VGgyUlB6VE1xLzFzdkRQcHA4MlNrNXlkWTVFRm1jQk9aOEtTSkVSZHBXVWxz?= =?utf-8?B?TVhoT1JwbVFzbUhuZU9OQTV4bUVudXBpMVNENENKQTB3RWZXNU5lZzdrVjc4?= =?utf-8?B?YVB0N1ZweTU2YlpmUVk3aGlubUNaaC9MckpSaU0wNWhvNXNhWkVHRVJMc21l?= =?utf-8?B?S0dkNHl0L2ZsOGh6NFpUS3dpVnQvQUt0c1IyNVBmUVlodzRkRDdSSlFpNXV1?= =?utf-8?B?MkwrWEVCd05ZS3dQa0ttU1JiN3lEb2hqeUhZUFBQQVNwSlYxYVYrTDBUMytk?= =?utf-8?B?VkZwb0xhSElMTUZoNFB2QnhGQW9oeElqQmxEOTVlb2NZeVh0SUc3dWtXbG9l?= =?utf-8?B?SE9PWEQyODVxVkkzWW4wb0E5NjVzdjE0dThhMkVEaTdtQzBzRUloVzVTUG9J?= =?utf-8?B?UXBETitSS2VINXo2VVk0dDMreUw2VURZaGZRYlFQMGsxdHdFMlZjMnhxVTZ1?= =?utf-8?B?b1ZTd2FrbzhReWJGQjN1NEltWFZLb2QzOGhIcmNxSDNuRS9wVUFvVHY5dkpL?= =?utf-8?B?c3Z5bWJXWndlSzdYN0ltM0p3cTVaZnM4bFQ3c2l3c2JXOW9qRWFsOTFzVUF3?= =?utf-8?B?enJkZm1aUmJXcldRbE1LS0N4N0FodTNsYUdaR2h3cXpKOGNiR2M2OFpGd3F4?= =?utf-8?B?dUJ2bWFEZlJKL0llWVQ5bTMvajArOUlkcFF6Rm10NUh4NFlSQmdrMkd6VHQy?= =?utf-8?B?NGhFcDB4ZW9LZDc5anlLd0VkNFRjNkhxanRUWlREMWJlZURGemZ4MTFPN1Vj?= =?utf-8?B?QStwRW41bDh4d0J6dDNLbWxMYWlQRi81QXF3bXJad09aYnZQNWN1L090cnQw?= =?utf-8?B?QWRSNmFxcEN1eDNOb3NWYXcyV3VWRUtXRGRtQSsvYnpRY0g0WkFDdkQwaEl1?= =?utf-8?B?TFJwOG9pM24xNTJOamMwMmJIZk5rVUJUOEdOQ29Lbm9YSVlkcVMycFVRTnZo?= =?utf-8?B?QWVNZzVDak1DUkkwME1mVVpUeXE1TlpYV0E2aXZ6L1A2Q2JQUFlvVkR5NXFT?= =?utf-8?B?ajdoQ2ZkekxZWGZoc1NRVXhYSVAxMlJsamJiWTlXTXlhd1ErTzBaa1pjNEZq?= =?utf-8?B?TjEycUtkaDcrQW5TUUZ4MUl0K0tHSWdOMWhkdTBLcDJPTlYrT3ZEbXRiTjdX?= =?utf-8?B?bVZWZUtqVy9JenpEbGI1dDV1V0R2VElHWXFsenpZRWJLVVA4ZGRKRlFtSEE1?= =?utf-8?B?bnFKK2hHbHl6TUZtR1orQT09?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR16MB3391.namprd16.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(1800799015)(376005)(366007)(38070700009); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MHExblkyMUViNVM5dXhCYXFwYmlKZDVuQ0NFTnVYdlF3ZnduMWVXSWZoR2JP?= =?utf-8?B?MndFOWVDTzNJWjJhMTQxUisvY2htdEJLK0RpUG5VY0lUTnV2Tlc0VlNFR09J?= =?utf-8?B?UkdFbkxscXFXait4dzFRV1Z6b1VhZ2VyU2FHRXZNUjJvWXZXTUFLNDBVbEow?= =?utf-8?B?dzhaWFRzWE1jZGVabk1Hd1lBdGpFTGlGMXlRZzU4MVZYV3VTU0ViUFRkdkhn?= =?utf-8?B?V0NYWkpUS0ltZjVIZGlHb2lQd25BaVhSYmNNY0x0UmhwVm9vNWl5MlBPSGN2?= =?utf-8?B?aDlGbHVvamgxRmtEQUJVUzlvbkVIaUw2OHZqV1JhZXRkS0tzeUJWemM0MzNv?= =?utf-8?B?dXE1dHlFZVFhTm9FZmQ5SEkwY3h1dnVSaG10Q0NlY1cxbW9QbGM4Znk4bHNM?= =?utf-8?B?N3NYNXpDRzRTM1BIRlB3NURDaHY4TWd5Z1d0NWtVeFl5MU9XczdBcG45ZDll?= =?utf-8?B?RERGN2hzQkN6NytPbGJjYXB1cHZKV2FIc3YxNUZuc0Y3N0JEZHRXN3RkVEs2?= =?utf-8?B?NStLRXloMHFuN0FqRzBzQUdpZzVMZysvWURyTnNOYzFudk5NVDJLRU03ZDFo?= =?utf-8?B?by8xMlVWQ2NOcEZ5bW96dU82Tm1TMUZPc2h0dEtxSDhka0FwNGk5VDVnTmlI?= =?utf-8?B?UlIvcUF5aTdhWDBQQ2JkS0p1ai9mQ2ZVYTZyU1M5Rk9WK3N2T3pWOTRjUnhY?= =?utf-8?B?ZEFvSDFjeWF4WU1BdUpIQmgyYnh2cXY2UlpBeGhxUGl1eWVJNzBBUlE5UEE3?= =?utf-8?B?KzdBYTRoeDREdUdCbHN2NHo2MWFjOW56VFBQbFFPbVpjTk4vZFU3NlgxajNN?= =?utf-8?B?UkxMS3BoVTRvYmJ1T3RtbGY2TnNrRmFBSzRWUm5YWUZHYUFRY3M3dER0aEdZ?= =?utf-8?B?LytyTVkvazI5VTdHSlJROGVrZFlKdmRqeXJKcmg0K1VwR0dvQ1h5Tm1jZkh3?= =?utf-8?B?M2VGaFBWeCtTMFoydTBpYlZmZm5QTS84ZDdBWkxhV0J1Z05CWGJBRVNSK0VH?= =?utf-8?B?V1RxRVdEbE9HQ1RjWUJUZ0VzRDdvZTdaZU9nRXpXMzQwbFpycVg0NlR4bW05?= =?utf-8?B?MnNnVTBTVUtzTk5zdGs2aEl6by9sdjNZQUpPek5MTDNFQTJaU0NhRUNNbWdS?= =?utf-8?B?VUZncUVvdkswdXZVbk4vcEJPR2tmc3RZUkRMNVlMd2F4RXdYSTVYZ0xjMUU0?= =?utf-8?B?K3lBTGhmb2wvY09VTzJhY0kwSmM5aXN5SkoxM25WbDVNR1F3b0dqQ1BMTVFz?= =?utf-8?B?R3p2WU9HY2VXRHFXbmhDcy9TMWw4VmZDZytmUjRRQmtzVGhvTGIyUk9Lb0F4?= =?utf-8?B?MVVuWnhUcG1NcjNGWFQ5alZtU0NQNXFsQStmNm00SVUySWxYTjcraTBVUmw3?= =?utf-8?B?d3VvdnljRy91c1NONC9YVmd4R25RSmF2ayt2d05TUkt1U2JvUXFGRnNkeWhu?= =?utf-8?B?ZFNzRTBaQkhCNWt5U09aMnR4Z1BqTUhxb3dqRHFSazVaQ1BBczBiaXQxMW1F?= =?utf-8?B?SXo2K3BwS3NjM2FFVkFaSzZOY1dkUmVXQTcwVUVzRTBGVVBwUjE4a0VMbFJo?= =?utf-8?B?Umlyck0zR0dwOWtNMVhQU0d2YTFjb1VwU3Q0WHF6cDdXa1JTUm9rU3A3OStl?= =?utf-8?B?dHNwaWMwaUIrQzF3SXVxOUNUbmJNUzdpTU40SVVwOWJFbi8vWlYrNXdiQmkr?= =?utf-8?B?dURPUlJ3MDdEY3NXUWpNNnVkV2hsVmErVGR4OXhteFpGREJBOWtDZGdQdGZP?= =?utf-8?B?S2k5cGFSTHJsOXVWWEljOUR6R1lOM3E2cVd2cDE5RzFic05BT3FTOEZ2S1Ji?= =?utf-8?B?UDVFK2FjOGU5cW1nb2RmeXIwekNoTVc5b0xKOG9XdXF0N1ppS0srb05kYjZ6?= =?utf-8?B?azhUMTc4SE1xZTh5K2VzcGUyV0lOb1ZJaEVLN1p4T2xEMitYVGViZ2JlNHRv?= =?utf-8?B?V0ljWHlMbTF0dG5WYzdvUzN4R2YxWGc3Wmg1NWZXZmZielZLdlZ4NWpFdEti?= =?utf-8?B?WW5tcVIrbkZnTk1BNEZMUlFrSDBPTC9DeDF5WnVOSGlpejI1bmpwOHBFeFg2?= =?utf-8?Q?z2a2Zg?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: higbie.name X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR16MB3391.namprd16.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8bfa053d-5ba3-4613-608f-08dc6988efc7 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 May 2024 02:46:43.8425 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 223bbcd9-6252-452c-afb2-140040991a08 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: +hhhqjefmor6PcnoUrAZfavv4/RMSwOoaopZbPFdj+hpIaD3QcmN0E2w20CVK/5EZ/gEULRBv2InOVvWvb4a7Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR16MB5418 Subject: Re: [Starlink] =?utf-8?q?It=CA=BCs_the_Latency=2C_FCC?= X-BeenThere: starlink@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Starlink has bufferbloat. Bad." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 May 2024 02:46:47 -0000 RGF2aWQsDQoNClllcywgcG9vciB3b3JkIGNob2ljZSBvbiBteSBwYXJ0IHRvIHNheSAibmVhcmx5 IGFsbCBUVnMgc29sZCB0b2RheSBhcmUgNEsgVFZzLiIgSSB3YXMgdGhpbmtpbmcgb2YgNEsgc2V0 cyBpbiBjb250cmFzdCB0byB0aGUgdGlueSAlIG9mIDhLIHNldHMgd2hlbiBJIHdyb3RlIHRoYXQg dG8gbWFrZSB0aGUgcG9pbnQgdGhhdCA4SyBpcyBub3QgYWJvdXQgdG8gYmVjb21lIGEgbWFya2V0 IHN0YW5kYXJkIGxpa2UgNEsuIEJldHRlciB0byBoYXZlIHNhaWQsICJUaGUgbWFya2V0IGZvciA4 SyB0diBzZXRzIGlzIHRpbnkuIiBZb3UgYXJlIGNvcnJlY3QgdGhhdCB0aGVyZSBhcmUgc3RpbGwg bWFueSAxMDgwcCBzZXRzIGFsc28gc29sZCBhdCB0aGUgbG93IGVuZC4gDQoNCkJ1dCB0aGlzIG1p c3N0ZXAgb24gbXkgcGFydCBpcyBpbW1hdGVyaWFsIHRvIHRoZSBjb3JlIHBvaW50LiBJJ20gbm90 IHN1cmUgaWYgeW91IGFyZSBqdXN0IChmYWlybHkgYW5kIGNvcnJlY3RseSkgY2FsbGluZyBtZSBv dXQgZm9yIHRoYXQgbWlzdGFrZSBvciBpZiB5b3UgYWN0dWFsbHkgZGlzYWdyZWUgdGhhdCBJU1Bz IHNob3VsZCBpbnZlc3QgKGlmIG5lZWRlZCkgdG8gb2ZmZXIgYXQgbGVhc3QgMjVNYnBzIHNlcnZp Y2UgdG8gc3VwcG9ydCA0SyBIRFIgc3RyZWFtaW5nLCBpbiB3aGljaCBjYXNlIHlvdSBmdW5kYW1l bnRhbGx5IG1pc3VuZGVyc3RhbmQgdGhlIG1hcmtldCBmb3IgSW50ZXJuZXQgdXNhZ2UuIA0KDQpU aGlzIGlzIGEgbGFyZ2VseSBibGFjayBhbmQgd2hpdGUgaXNzdWU6IHRoZXJlIGFyZSBhIHNpZ25p ZmljYW50ICMgb2YgdXNlcnMgd2hvIG5lZWQgNEsgc3RyZWFtaW5nIHN1cHBvcnQuIFBlcmlvZC4g VGhpcyBpcyBhIG1hcmtldCBzdGFuZGFyZCwgbGlrZSA5MSBvY3RhbmUgZ2FzLCA4MDIuMTFheCBX aS1GaSwgc2tpbSAoMCUpIG1pbGssIDUwIFNQRiBzdW5ibG9jaywgYW5kIDVHIHBob25lcy4gVGhl IGZhY3QgdGhhdCBub3QgZXZlcnlvbmUgdXNlcyBvbmUgb2YgdGhvc2UgbWFya2V0LWVzdGFibGlz aGVkIHN0YW5kYXJkcyBkb2VzIG5vdCBtZWFuIHRoYXQgZWFjaCBpcyBub3QgYW4gaW1wb3J0YW50 IHN0YW5kYXJkIHdpdGggYSBzaXphYmxlIG1hcmtldCBjb2hvcnQgdGhhdCBtZXJpdHMgc3VwcG9y dC4gMjVNYnBzIGZvciA0SyBIRFIgc3RyZWFtaW5nIGlzIG9uZSBzdWNoIHN0YW5kYXJkLiBUaGF0 J3Mgbm90IG15IG9waW5pb24uIFRoYXQncyBhIG1hcmtldC1lc3RhYmxpc2hlZCBmYWN0IGFuZCB0 aGUgb25seSByZWFzb24gSSBwb3N0ZWQgaGVyZSDigJMgdG8gZW5zdXJlIHRoaXMgZ3JvdXAgaGFz IHRoYXQgaW5mb3JtYXRpb24gc28gdGhhdCB5b3UgY2FuIGJlIG1vcmUgZWZmZWN0aXZlIGluIHBy ZXNlbnRpbmcgeW91ciBsYXRlbmN5IGFyZ3VtZW50cyBhbmQgc29sdXRpb25zIHRvIHRoZSBJU1Bz Lg0KDQpUaGVyZSBpcyBubyBjb25mbGljdCBiZXR3ZWVuIHRoZSBuZWVkIHRvIHN1cHBvcnQgMjVN YnBzIEludGVybmV0IGFuZCB0aGlzIGdyb3VwJ3MgZ29hbCBvZiByZWR1Y2luZyBsYXRlbmN5IGF0 IGxvYWQuIE9uIHRoZSBvdGhlciBoYW5kLCB5b3UgbG9zZSBjcmVkaWJpbGl0eSBhbmQgd29uJ3Qg YmUgdGFrZW4gc2VyaW91c2x5IGJ5IHlvdXIgdGFyZ2V0IGF1ZGllbmNlIGlmIHlvdSBkaXNyZWdh cmQgdGhlIGltcG9ydGFuY2Ugb2YgdGhlIG5lZWQgZm9yIGV2ZXJ5IElTUCByb2xsaW5nIG91dCBh IG5ldyBwbGFuIHRvIGF0IGxlYXN0IG9mZmVyIGEgMjVNYnBzIGJhbmR3aWR0aCBsZXZlbCBvZiBz dXBwb3J0LiBBcmd1aW5nIHdpdGggbWUgdGhhdCBub3QgZXZlcnlvbmUgY2FyZXMgYWJvdXQgNEsg aXMgbGlrZSBhcmd1aW5nIHdpdGggdGhlIHN1cGVybWFya2V0IHRoYXQgdGhleSBzaG91bGRuJ3Qg Y2Fycnkgc2tpbSBtaWxrIG9yIHlvdXIgbG9jYWwgZ2FzIHN0YXRpb24gdGhhdCB0aGV5IHNob3Vs ZCBkcm9wIDkxIChvciA5Mykgb2N0YW5lIG9yIHlvdXIgbG9jYWwgQmVzdCBCdXkgdGhhdCB0aGV5 IGRvbid0IG5lZWQgdG8gd2FzdGUgc2hlbGYgc3BhY2Ugd2l0aCBXaS1GaSA2ZSBvciA3IHJvdXRl cnMgYmVjYXVzZSBub3QgZXZlcnlvbmUgdXNlcyB0aG9zZS4gSXQncyBwdXJlbHkgY291bnRlcnBy b2R1Y3RpdmUgYW5kIHByZXZlbnRzIHlvdXIgb3RoZXJzIHBvaW50cyBmcm9tIGJlaW5nIGhlYXJk Lg0KDQpPbiBnYW1pbmcsIGFuZCBJIHN1c3BlY3QgeW91IGtub3cgdGhpcywgdGhlcmUgYXJlIGRp ZmZlcmVudCB1c2UgY2FzZXMgb2YgSW50ZXJuZXQgZm9yIGdhbWluZy4gVGhlcmUgaXMgY29tcGV0 aXRpdmUgZ2FtaW5nLCB3aGVyZSBiYW5kd2lkdGggaXMgbGFyZ2VseSBtZWFuaW5nbGVzcyAocHJv dmlkZWQgaXQgaXMgYXQgYSBzdWZmaWNpZW50IGxldmVsIG9mIGF0IGxlYXN0IGEgZmV3IE1icHMp IGJlY2F1c2UgdGhlIGdhbWVzIGFyZSBwbGF5ZWQgbG9jYWxseSB3aXRoIG9ubHkgbW9kZXN0IGRh dGEgZXhjaGFuZ2VzIHRvIHNoYXJlIGxvY2F0aW9uIGFuZCBzdGF0dXMgaW5mb3JtYXRpb24uIEZv ciB0aG9zZSBnYW1lcywgbGF0ZW5jeSBpcyBraW5nLiBJbiB0aGUgZXh0cmVtZSBjYXNlcyB0aGVy ZSwgZXZlbiAxMG1zIGxhdGVuY3kgbWF5IGJlIHB1c2hpbmcgdGhlIGxpbWl0cyBvZiB3aGF0IGdh bWVycyBjYW4gdG9sZXJhdGUsIGJ1dCBzdWIgNjBtcyBvciA1MG1zIGlzIHVzdWFsbHkgc3VmZmlj aWVudCAoc3RyYXRlZ3kgYW5kIHR1cm4tYmFzZWQgZ2FtZXMgYXJlIGZpbmUgd2l0aCBtdWNoIGhp Z2hlciBsYXRlbmNpZXMsIGZpcnN0LXBlcnNvbiBzaG9vdGVycyBvciBkcml2aW5nIGdhbWVzIHJl cXVpcmUgbG93ZXIgbGF0ZW5jaWVzKS4gDQoNCkhvd2V2ZXIsIHRoZXJlIGlzIGFsc28gYSBncm93 aW5nLCBidXQgc3RpbGwgcmVsYXRpdmVseSBuaWNoZSwgZ2FtZSBzdHJlYW1pbmcgbWFya2V0LiBU aGlzIGluY2x1ZGVzIHNlcnZpY2VzIGxpa2UgWGJveCBDbG91ZCBHYW1pbmcsIEdlRm9yY2UgTm93 LCBhbmQgQW1hem9uIEx1bmEuIEdlRm9yY2UgTm93IHJlcXVpcmVzIDQ1TWJwcyBtaW5pbXVtIGNv bm5lY3Rpb24gZm9yIDRLIGdhbWluZyAoc2FtZSBsYXRlbmN5IG5vdGVzIGFzIGFib3ZlIGRlcGVu ZGluZyBvbiB0aGUgZ2FtZSBnZW5yZSkuIFRoZSBoaWdoZXIgYmFuZHdpZHRoIGhlcmUgY29tcGFy ZWQgdG8gMjVNYnBzIGZvciB2aWRlbyBzdHJlYW1pbmcgc2VydmljZXMgaXMgZHVlIHRvIHRoZSBo aWdoZXIgZnJhbWVyYXRlIGFuZCBsZXNzIGxvc3N5IGNvbXByZXNzaW9uIHVzZWQgZm9yIHRvIHBy ZXNlcnZlIHRoZSBIVUQgd2hpY2ggbXVzdCBiZSBwZXJmZWN0bHkgc2hhcnAgZm9yIGdhbWluZy4g SG93ZXZlciwgbm90ZSB0aGF0IEkgd291bGQgbm90IHNheSB0aGF0IHRoaXMgaXMgYSBuZWVkZWQg c3RhbmRhcmQgbGlrZSBzdXBwb3J0IGZvciA0SyBIRFIgc3RyZWFtaW5nLiBVbmxpa2UgNEsgdmlk ZW8gc3RyZWFtaW5nIHdoaWNoIGlzIG1hc3MgbWFya2V0LCA0SyBnYW1lIHN0cmVhbWluZyBpcyBl eHRyZW1lbHkgbmljaGUuIFhib3ggQ2xvdWQgR2FtaW5nIGRvZXNuJ3QgZXZlbiBvZmZlciA0SyBz dHJlYW1pbmcgYXQgcHJlc2VudCAoYnV0IHRoZXkgbGlrZWx5IHdpbGwgYWRkIGl0IHdpdGhpbiB0 aGUgbmV4dCB5ZWFyIG9yIHR3byBhbmQgdGhleSBkbyBzdXBwb3J0IDYwZnBzIGF0IDEwODBwLCB3 aGljaCBpcyBkb3VibGUgdGhlIGZyYW1lcmF0ZSBvZiB2aWRlbyBzdHJlYW1pbmcgdGhhdCBvbmx5 IHJ1bnMgYXQgMzBmcHMpLiANCg0KWW91IGFsc28gY29tbWVudGVkIG9uIHVwbG9hZCBiYW5kd2lk dGguIElmIHVwbG9hZGluZyBsYXJnZSBmaWxlcywgb2J2aW91c2x5IGhpZ2hlciBpcyBiZXR0ZXIs IGJ1dCB0aGVyZSdzIG5vIGNsZWFyIG1hcmtldCByZXF1aXJlbWVudCBvbiB0aGlzLiBHZW5lcmFs bHkgKGJ1dCBub3QgYWx3YXlzKSwgd2l0aCBhc3ltbWV0cmljYWwgY29ubmVjdGlvbnMsIGEgaGln aGVyIGRvd25sb2FkIGJhbmR3aWR0aCBjb3JyZXNwb25kcyB0byBhIGhpZ2hlciB1cGxvYWQgYmFu ZHdpZHRoLiBUaGF0J3Mgd2h5IEkgc2FpZCB0aGF0IGhpZ2hlciBiYW5kd2lkdGggZG9lcyBoYXZl IGFkdmFudGFnZXMgZm9yIHJlbW90ZSB3b3JrLiBJIGFtIG5vdCBhc3NlcnRpbmcgdGhhdCBhbGwg cmVtb3RlIHdvcmtlcnMgbmVlZCB0aGF0LCBidXQgY2xlYXJseSBoaWdoZXIgYmFuZHdpZHRoIGFu ZCBsb3dlciBsYXRlbmN5IGFyZSBib3RoIGJldHRlciB0aGFuIHRoZSBhbHRlcm5hdGl2ZXMuDQoN CkZvciBteSByZW1vdGUgd29yayAoYW5kIDRLIHZpZGVvIHN0cmVhbWluZyksIFN0YXJsaW5rJ3Mg ZG93bmxvYWQgYmFuZHdpZHRoICg3MC0yMDBNYnBzKSB3YXMgYWx3YXlzIHBsZW50eSwgbW9yZSB0 aGFuIEkgbmVlZC4gSG93ZXZlciwgU3RhcmxpbmsncyB1cGxvYWQgYmFuZHdpZHRoIChvcmlnaW5h bGx5IDItMTBNYnBzKSB1c2VkIHRvIGZyZXF1ZW50bHkgZmFsbCBzaG9ydCBvZiBteSBuZWVkcyBm b3IgdmlkZW8gY29uZmVyZW5jaW5nIHdoaWxlIHVwbG9hZGluZyBtZWRpYSBmaWxlcy4gSW1wcm92 ZW1lbnRzIG92ZXIgdGhlIHBhc3QgeWVhciBoYWQgbGFyZ2VseSByZXNvbHZlZCB0aGF0IHdoZXJl IEkgc2F3IHN0YWJsZSB1cGxvYWQgYmFuZHdpZHRoIGJldHdlZW4gMTItMjBNYnBzLiANCg0KSSBj b25mZXNzIHRoYXQgSSBoYXZlIHNoaWZ0ZWQgdG8gb25seSBrZWVwaW5nIFN0YXJsaW5rIGZvciBl bWVyZ2VuY3kgYmFja3VwIGJlY2F1c2Ugd2UgcmVjZW50bHkgZ2FpbmVkIGFjY2VzcyB0byBmaWJl ciB3aXRoIGEgc3ltbWV0cmljIDFHYnBzIHVwbG9hZCBhbmQgZG93bmxvYWQgYW5kIG5lZ2xpZ2li bGUgYnVmZmVyYmxvYXQgKGEgcmVhbCBzdXJwcmlzZSB3aGVuIG91ciBwb3dlciBjb21wYW55IGRl cGxveWVkIHRoYXQgb3V0IGhlcmUgaW4gdGhlIGNvdW50cnkgaW4gcnVyYWwgTkggd2hlcmUgd2Ug Y2FuJ3QgZXZlbiBnZXQgY2FibGUgVFYsIHllYWggdGhlIHBvd2VyIGNvbXBhbnksIG5vdCB0aGUg dGVsZXBob25lIG9yIGNhYmxlIFRWIHByb3ZpZGVyKS4gVGhleSBhbHNvIG9mZmVyIHVwIHRvIDIu NUdicHMgaW4gYm90aCBkaXJlY3Rpb25zIGFuZCB3aGlsZSBteSBMQU4gaGFyZHdhcmUgc3VwcG9y dHMgMi41R2JwcyB0aHJvdWdob3V0LCBpdCdzIG5vdCB3b3J0aCBwYXlpbmcgYW55dGhpbmcgZXh0 cmEgdG8gZ28gYmV5b25kIDFHYnBzIGZvciBtZS4gDQoNCg0KDQoNCg0KLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCkZyb206IERhdmlkIExhbmcgPGRhdmlkQGxhbmcuaG0+IA0KU2VudDogVHVl c2RheSwgQXByaWwgMzAsIDIwMjQgODo1MiBQTQ0KVG86IENvbGluIEhpZ2JpZSA8Y29saW4uaGln YmllQHNjcmlibC5jb20+DQpDYzogc3RhcmxpbmtAbGlzdHMuYnVmZmVyYmxvYXQubmV0DQpTdWJq ZWN0OiBSZTogW1N0YXJsaW5rXSBJdMq8cyB0aGUgTGF0ZW5jeSwgRkNDDQoNCk9uIFR1ZSwgMzAg QXByIDIwMjQsIENvbGluIEhpZ2JpZSB2aWEgU3Rhcmxpbmsgd3JvdGU6DQoNCj4gR3JlYXQgcG9p bnRzLiBJIG1vc3RseSBhZ3JlZSBhbmQgZXNwZWNpYWxseSB0YWtlIHlvdXIgcG9pbnQgb24gbG93 ZXIgbGF0ZW5jeSBpbmNyZWFzaW5nIHRoZSBlZmZlY3RpdmUgInJhbmdlIiBvZiByZW1vdGUgc2l0 ZXMvc2VydmljZXMgdGhhdCBiZWNvbWUgYWNjZXNzaWJsZSBiYXNlZCBvbiB0aGVpciBvd24gYWRk ZWQgbGF0ZW5jeSBkdWUgdG8gZGlzdGFuY2UuIFRoYXQncyBhIGdyZWF0IHBvaW50IEkgd2FzIG5v dCBjb25zaWRlcmluZy4gQXMgYW4gQW1lcmljYW4sIEkgdGVuZCB0byB0aGluayBvZiBldmVyeXRo aW5nIGFzICJjbG9zZSBlbm91Z2giIHRoYXQgbm8gc2l0ZXMgaGF2ZSBsYXRlbmN5IHByb2JsZW1z LCBidXQgeW91IGFyZSBjbGVhcmx5IGNvcnJlY3QgdGhhdCdzIG5vdCBmYWlyIHRvIHByb2plY3Qg YXMgYSB1bml2ZXJzYWwgcGVyc3BlY3RpdmUsIGVzcGVjaWFsbHkgdG8gdXNlcnMgaW4gb3RoZXIg Y291bnRyaWVzIHdobyBoYXZlIHRvIHJlYWNoIHNlcnZlcnMgaW4gdGhlIFUuUy4gKGFuZCBJJ20g c3VyZSBzb21lIHVzZXJzIGluIHRoZSBVLlMuIGFsc28gbmVlZCB0byByZWFjaCBzZXJ2ZXJzIGlu IG90aGVyIGNvdW50cmllcyB0b28sIGp1c3Qgbm90IHZlcnkgb2Z0ZW4gaW4gbXkgZXhwZXJpZW5j ZSkuDQo+DQo+IEhvd2V2ZXIsIHR3byBwb2ludHMgb2Ygc2xpZ2h0IGRpc2FncmVlbWVudCwgb3Ig YXQgbGVhc3QgZGVzaXJlIHRvIGdldCANCj4gaW4gdGhlIGxhc3Qgd29yZCA7LSkNCg0KPiB0aGUg ZmFjdCByZW1haW5zIHRoYXQgNEsgc2VydmljZXMgYXJlIGEgc3RhbmRhcmQgYW5kIGEgZ3Jvd2lu ZyBvbmUgYXMgDQo+IG5lYXJseSBhbGwgVFZzIHNvbGQgdG9kYXkgYXJlIDRLIFRWcy4NCg0KcmVh bGx5PyB0aGVuIHdoeSB3YXMgd2FsbWFydCBzdGlsbCBoYXZlIGFsbW9zdCAyMDAgdHYgbW9kZWxz IGF0IDEwODBwIG9yIGJlbG93DQoNCg0KPiAyLiBVc2luZyBhIFJlbW90ZSBEZXNrdG9wIGNhbiBi ZSBhIGdyZWF0IHNvbHV0aW9uIHRvIHNvbHZlIHNvbWUgb2YgdGhlIA0KPiBiYW5kd2lkdGggcHJv YmxlbXMgaWYgdGhlIGZpbGVzIGNhbiBzdGFydCBhbmQgZW5kIG9uIHRoZSByZW1vdGUgc3lzdGVt cy4NCj4gSG93ZXZlciwgZXZlbiB0aGVuIGl0J3MgYSB2ZXJ5IHNwZWNpZmljIHNvbHV0aW9uIGFu ZCBub3QgYWx3YXlzIGFuIG9wdGlvbi4gDQo+IEp1c3QgdG8gdXNlIG15c2VsZiBhcyBhbiBleGFt cGxlLCBJIGRvIG1lZGlhIHdvcmsgd2l0aCBhIHRlYW0gb2YgDQo+IHBlb3BsZS4gV2UgYXJlIGdl b2dyYXBoaWNhbGx5IGRpc3BlcnNlZC4gVGhlcmUgYXJlIGNvbW1vbiBzZXJ2ZXJzIGZvciANCj4g c3RvcmluZyB0aGUgZGF0YSAoT25lRHJpdmUgYW5kIEFtYXpvbiBTMyBhbmQgUkRTIGFuZCBvdXIg b3duIGN1c3RvbSANCj4gTGludXggc3lzdGVtcyB0byBydW4gdmFyaW91cyBtZWRpYSBhZGp1c3Rt ZW50cyBhdXRvbWF0aWNhbGx5KSwgYnV0IHRoZXkgYXJlIG5vdCBsb2NhbCB0byBhbnlvbmUuDQo+ IFRoZSBidWxrIG9mIHRoZSB3b3JrIG11c3QgYmUgZG9uZSBsb2NhbGx5LiBJIHN1cHBvc2UgeW91 IGNvdWxkIHdvcmsgb24gDQo+IGEgbWVkaWEgZmlsZSB2aWEgYSByZW1vdGUgZGVza3RvcCBmdW5j dGlvbiB3aXRoIHN1ZmZpY2llbnQgYmFuZHdpZHRoIA0KPiB0byBwcm92aWRlIHJlYWwtdGltZSA0 SyBvciA1SyBzdHJlYW1pbmcgYW5kIHN1cGVyIGxvdyBsYXRlbmN5IChvZnRlbiANCj4gbmVlZCB0 byBtYWtlIGNoYW5nZXMgaW4gZnJhY3Rpb24tb2YtYS1zZWNvbmQgaW5jcmVtZW50cywgaGl0IA0K PiBwYXVzZS9wbGF5IGF0IGV4YWN0bHkgdGhlIHJpZ2h0IG1vbWVudCwgZXRjLikuIEJ1dCBldmVu IGlmIHlvdSBoYWQgdGhlIA0KPiBoaWdoIHNwZWVkcyBhbHJlYWR5IHRvIGRvIHRoYXQgcmVtb3Rl bHksIHlvdSB3b3VsZCBzdGlsbCBuZWVkIHRvIA0KPiB1cGxvYWQgdGhlIGZpbGUgaW4gdGhlIGZp cnN0IHBsYWNlIGZyb20gd2hlcmV2ZXIgeW91IGFyZSB3aXRoIHRoZSANCj4gbWljcm9waG9uZXMg YW5kIGNhbWVyYXMuIFJhdyB2aWRlbyBmaWxlcywgd2hpY2ggYXJlIHN0aWxsIHVuY29tcHJlc3Nl ZCANCj4gb3IsIGF0IGJlc3QsIGNvbXByZXNzZWQgdXNpbmcgbG9zc2xlc3MgY29tcHJlc3Npb24s IGFyZSBIVUdFIChtYW55IA0KPiBHQnMpLiBFdmVuIHJhdyBzdHJhaWdodCBhdWRpbyBmaWxlcyBh cmUgdHlwaWNhbGx5IGluIHRoZSBodW5kcmVkcyBvZiANCj4gTUJzIGFuZCBzb21ldGltZXMgYSBm ZXcgR0JzLiBGdXJ0aGVyLCBpZiB0aGUgbWljcyBhbmQgY2FtZXJhcyBhcmUgDQo+IGNvbm5lY3Rl ZCBkaXJlY3RseSB0byB0aGUgY29tcHV0ZXIsIHRoZXJlIGFyZSBtYW55IHJlYWwtdGltZSBjaGFu Z2VzIHRoYXQgY2FuIGJlIG1hZGUgRFVSSU5HIHRoZSByZWNvcmRpbmcsIHdoaWNoIHdvdWxkIGJl IGltcG9zc2libGUgb24gYSByZW1vdGUgc3lzdGVtLg0KDQpoYXJkbHkgeW91ciB0eXBpY2FsIHJl bW90ZSB3b3JrZXIuDQoNCldlIGFyZSBub3Qgc2F5aW5nIHRoYXQgbm9ib2R5IG5lZWRzIGhpZ2hl ciBiYW5kd2lkdGgsIGp1c3QgdGhhdCBwb2ludGluZyBhdCB0aGluZ3MgbGlrZSB0aGlzIGFuZCBz YXlpbmcgdGhhdCB0aGUgbWluaW11bSBjb25uZWN0aW9uIHNob3VsZCBzdXBwb3J0IHRoZW0gaXMg bm90IHJlYXNvbmFibGUuDQoNCj4gU2FtZSBhcHBsaWVzIGZvciBhbnlvbmUgd2hvIHdhbnRzIHRv IHBvc3QgdG8gWW91VHViZS4gTWFueSB3aWxsIHRvIGRvIA0KPiBtb3N0IG9mIHRoZWlyIHZpZGVv IGVkaXRpbmcgbG9jYWxseSBiZWZvcmUgdXBsb2FkaW5nIHRvIFlvdVR1YmUuIFRob3NlIA0KPiB0 aGF0IGRvIHRoZWlyIGVkaXRpbmcgaW4gdGhlIGNsb3VkIHN0aWxsIGhhdmUgdG8gdXBsb2FkIGl0 IHRvIHRoZSANCj4gY2xvdWQuIEFuIGFjdGl2ZSBZb3VUdWJlciBtaWdodCB1cGxvYWQgbXVsdGlw bGUgbWFueS1HQiB2aWRlbyBmaWxlcyBldmVyeSBkYXkuDQoNCnlvdSBkbyByZWFsaXplIHRoYXQg YSBsb3Qgb2YgJzI1TWIgY29ubmVjdGlvbnMnIG9ubHkgdXBsb2FkIGF0IDEwTWIgb3Igc2xvd2Vy LCByaWdodD8gSSBwYXkgZm9yIGEgNjAwTWIgY2FibGVtb2RlbSBhbmQgdGhhdCBvbmx5IGdpdmVz IG1lIDMwTWIgdXBsb2FkPw0KDQo+IFNpbWlsYXJseSwgZm9yIGdhbWluZywgeWVzLCB3aXRoIGhp Z2ggZW5vdWdoIGJhbmR3aWR0aCBhbmQgbG93LWVub3VnaCANCj4gbGF0ZW5jeSwgeW91IGNvdWxk IHBheSBhIG1vbnRobHkgZmVlIGZvciBhIGdhbWUgc2VydmljZSBhbmQgZ2V0IGRlY2VudCANCj4g Z3JhcGhpY3MgYW5kIGxhdGVuY3ksIGJ1dCBpdCdzIHN0aWxsIG5vdCBhcyBnb29kIGFzIGEgaGln aC1lbmQgc3lzdGVtIA0KPiBsb2NhbGx5IChvciBpZiB5b3UganVzdCB3YW50IHRvIGF2b2lkIHRo ZSBtb250aGx5IGZlZSkuIFRoZXJlJ3MgYWx3YXlzIA0KPiBhIG11c2hpbmVzcyB0byB0aGUgbGF0 ZW5jeSBhbmQgZ2VuZXJhbGx5IHNvbWUgY29tcHJlc3Npb24gYXJ0aWZhY3RzIGluIA0KPiB0aGUg Z3JhcGhpY3MgdGhhdCBhcmUgbm90IHRoZXJlIHdoZW4gdGhlIHNjcmVlbiBpcyBiZWluZyByZW5k ZXJlZCANCj4gbG9jYWxseSB3aXRoIG5vIGNvbXByZXNzaW9uIHVzaW5nIGEgbXVsdGktR2JwcyBj b25uZWN0aW9uIGJldHdlZW4gc3lzdGVtIGFuZCBtb25pdG9yL1RWLg0KDQpzbyBsZXQgZ2FtZXJz IHBheSBmb3IgaGlnaGVyIGJhbmR3aWR0aCBpZiB0aGV5IG5lZWQgaXQ/IGJ1dCBpcyB0aGUgcHJv YmxlbSByZWFsbHkgYmFuZHdpZHRoLCBvciBpcyBpdCBsYXRlbmN5IGJlaW5nIHBhcGVyZWQgb3Zl ciB3aXRoIGJhbmR3aWR0aD8NCg0KPiBJbiBhbm90aGVyIGNhc2UsIHdlIGJ1aWx0IGFuIGVsZWN0 cm9uaWMgbWVkaWNhbCByZWNvcmRzIHN5c3RlbSBmb3IgcGh5c2ljaWFucy4gDQo+IFRoZSBwZXJm b3JtYW5jZSB1c2luZyByZW1vdGUgZGVza3RvcCB0byBhIHZpcnR1YWwgbWFjaGluZSBldmVuIG9u IHRoZSANCj4gc2FtZSBMQU4gd2FzIHRvbyBzbG93LiBJdCB3YXNuJ3QgdW51c2FibHkgc2xvdywg YnV0IGl0IHdhcyBzbG93IGVub3VnaCANCj4gdGhhdCB1c2VycyB3aG8gaGFkIG9wdGVkIHRoYXQg cm91dGUgdG8gc2F2ZSBtb25leSByb3V0aW5lbHkgdXBncmFkZWQgDQo+IHRvIG1vcmUgcGVyZm9y bWFudCBXaW5kb3dzIHRhYmxldHMgZm9yIHRoZSBwZXJmb3JtYW5jZSBib29zdCBvZiB0aGUgDQo+ IG5hdGl2ZSBVSS4gVG8gYmUgZmFpciwgdGhpcyB3YXMgYmFjayBhdCA4MjAuMTFuLCB3aGVuIFdp LUZpIExBTiBzcGVlZHMgDQo+IHRvcHBlZCBvdXQgYXQgYWJvdXQgNDBNYnBzIGZyb20gbW9zdCBs b2NhdGlvbnMgaW4gdGhlIG9mZmljZXMgKGhpZ2hlciANCj4gaWYgcmVhbGx5IGNsb3NlIHRvIHRo ZSBBUCwgYnV0IHRob3NlIGlkZWFsIGNvbmRpdGlvbnMgd2VyZSByYXJlKS4gV2hlbiANCj4gdGhl IHRhYmxldHMgdGhlIGRvY3RvcnMgdXNlZCByYW4gdGhlIFVJIG5hdGl2ZWx5LCBub3QgYXMgZHVt YiANCj4gdGVybWluYWxzLCBwZXJmb3JtYW5jZSBVWCBhbmQgY3VzdG9tZXIgZmVlZGJhY2sgd2Fz IGZhciBiZXR0ZXIuIFdoZW4gDQo+IHVzaW5nIGEgcGVuL3N0eWx1cywgZXZlbiBhIDIwbXMgbGFn IGlzIGVub3VnaCB0byBtYWtlIHRoZSB3cml0aW5nIGZlZWwgDQo+IHdyb25nLiBBIGZldyB0ZW5z IG9mIG1zIHRvIHJlZHJhdyB0aGUgc2NyZWVuIHdoZW4gdHJ5aW5nIHRvIHNodXR0bGUgDQo+IHRo cm91Z2ggcGFnZXMgb2Ygbm90ZXMgaW4gYSBmZXcgc2Vjb25kcyB0byBza2ltIGZvciBhIHNwZWNp ZmljIHBpZWNlIG9mIGRhdGEgaXMgcGFpbmZ1bGx5IHNsb3cuDQoNCmFnYWluLCBub3QgYSBtaW5p bWFsIGhvbWUgdXNlciBleHBlcmllbmNlLg0KDQpEYXZpZCBMYW5nDQoNCj4gQ2hlZXJzLA0KPiBD b2xpbg0KPg0KPiANCg0K