From nobody Sun Apr 09 09:31:37 2023 X-Original-To: freebsd-transport@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvRh21lB3z449St; Sun, 9 Apr 2023 09:31:46 +0000 (UTC) (envelope-from Richard.Scheffenegger@netapp.com) Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on20622.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e83::622]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "DigiCert Cloud Services CA-1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvRh16nYxz47VF; Sun, 9 Apr 2023 09:31:45 +0000 (UTC) (envelope-from Richard.Scheffenegger@netapp.com) Authentication-Results: mx1.freebsd.org; none ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=O105p9Eq1NHctnE8yy679SZxnaeZEl9N6ytz2ZE95kZnxrZKdZtwNUYj5qbXchxkHcTpIjOqk8KD1w5H7a/Ap857jf3uzFPUln5SbVcgZOOQcvG08zGf/rpoMRznHth9tYZj9PSoLundBuf+T3pNQQBItkd2dxr0IuB8wZhykbO8wMsd9k9CRW52ng/Sa3NyOIntyYbBtuu2FjhfN6tY22AV5A1rHcLkEQoF8n/oY937ybI0ygXXwkYsad29qsU+Ooml0jG69+2i1maxUaB3Vzh/LlChtdwWYfuuGt7SpQzzg/fiBkzgfANXgtGKtWtuFjieXHcKKZWXGg1RPyfofQ== 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=+mUQYKh5rWR38VW/zAS4OO9hJWjV3g92QPFp0ubJiNk=; b=Ge2cNsjZMNNrfltySE27GTcYEZM9PC1GGOva/OvPugmhIHWGktMl1vT7GSwbrMJvDT8Shnw0tRaipJoLY2TvFP4nitPmOwBXF86X3lm6vMl6Vur4vjJC9vrCVoEIo6sVZ9irLS70zyoK/YUzlm1Jbv5uM4BFEVTjH7Vpl+q7EZGb12891rGlZiZc9+D/sOIfdjL6wNIXDfyrstnoyzjGmNnjByhjk7fKefbWvViilOk/jvpNdfNgMtmQmarGjBvcsZfG6a6LUXTLoD/jDhsQVUDtlnd6afWUSE8/mX9LG6v6ULJtokvQgXlWr9SOpP/5KCWGSqfYBuJ/x+FeCHD9Og== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=netapp.com; dmarc=pass action=none header.from=netapp.com; dkim=pass header.d=netapp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netapp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+mUQYKh5rWR38VW/zAS4OO9hJWjV3g92QPFp0ubJiNk=; b=w137kkyhnl90RuN/9rrZIlCxoEIn2RbYx4+Gg+H852r5thqq328jKt1oBjCERnTrj9/BTlu1Ng1J+Sf8DOJNWrerLzVHj+MDmhBsnDfrA1PsQgNSwSLhfbAyG/0IZ34sqVVlnus1w4OdIO5YMivhj3xHOvhLgHk6/FMr93DUxBIvBlpFcNTfq7F27gNxalB7MA7nx3Xla0xDlapb5kGd2/r7ZNDsVmT6rA/3TgNVv/n6EJLgyiR0L+pWTMUhFXHJC9rGQRrHX8cp7Q5s0T5O15xeGjXBNCqlsOYgV7dBBjGrec7lmXvpGl07HKNJjecU82BNwwBSR7uy3Xk5i53rgw== Received: from PH0PR06MB7639.namprd06.prod.outlook.com (2603:10b6:510:4e::18) by DM5PR06MB3163.namprd06.prod.outlook.com (2603:10b6:4:47::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.36; Sun, 9 Apr 2023 09:31:41 +0000 Received: from PH0PR06MB7639.namprd06.prod.outlook.com ([fe80::cb86:dfe3:75f5:3913]) by PH0PR06MB7639.namprd06.prod.outlook.com ([fe80::cb86:dfe3:75f5:3913%9]) with mapi id 15.20.6277.035; Sun, 9 Apr 2023 09:31:38 +0000 From: "Scheffenegger, Richard" To: "Rodney W. Grimes" , Richard Perini CC: "freebsd-hackers@FreeBSD.org" , "rscheff@FreeBSD.org" , "cc@freebsd.org" , "tuexen@freebsd.org" , "" Subject: RE: low TCP speed, wrong rtt measurement Thread-Topic: low TCP speed, wrong rtt measurement Thread-Index: AQHZan6DMItQPi696Uiz7/N1Hljl068iqFyw Date: Sun, 9 Apr 2023 09:31:37 +0000 Message-ID: References: <202304090058.3390wrE1020757@gndrsh.dnsmgr.net> In-Reply-To: <202304090058.3390wrE1020757@gndrsh.dnsmgr.net> Accept-Language: de-AT, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.6.701.4 dlp-reaction: no-action x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR06MB7639:EE_|DM5PR06MB3163:EE_ x-ms-office365-filtering-correlation-id: 02bd83bd-1088-4f0d-565b-08db38dd37bb x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ZNX0HFhQ1OMu45tSVkmhSMgD2lJlB8NkXFMpyMOTJ5T4JTTWjBW2WghWGC8Y4VVTCOM4B2xn1ZZyYiDA7zD+dDjJ/FodCW4Ad2kOjThnJYmMvnEmeFZtO15QSqL+fxzx7hLWUMZCa4BWNzCOJnAhb5NzO6dXs8Z4n/Fatv3lJlHwvD+4Vj7x8QW9WrGilZNKKNvaIrAXOUPJRoHngpiefBfWsB3qlGEiqU1gBXSxFe1E06nuXQx0NOf9F8cNIiSJmzPPQVtADsZ+nXPC0RMK4TJpzB72av9hKF2YVJpS/hPPkv8z3Dyj9PEv37kQQYKbYE93n+JfpYGXnEzTf5eQjc3XCL5wX/BtZory2U3f3dqqJHSGuEC47hiZGeksJ4aM5bFsRxMMWwqsbevlM4/5Fc+jsxUjCNUKjtY5YB69mqwCy5nheF84p6CFpJqNAbWWXBDuutqQXA925A1tSmgMnsp0EIG/HcsTQVBTCJUSLRGqBzwTZiRxl5uutl53f8pYVQdB2l6QGerGqgzV5CRwxcCnan/LTI36wghAHZDc78hvyMf3SxdcRGBLdihCku+t2LHjGbhPp2+3MX7oHbSPFbZZhQm7R8NZJdU7bHxBTCI/GzNhhKyrHs5Fc96JDAFd x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR06MB7639.namprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(396003)(39860400002)(366004)(376002)(346002)(451199021)(478600001)(71200400001)(38100700002)(8676002)(8936002)(316002)(41300700001)(76116006)(66946007)(66556008)(4326008)(55016003)(66476007)(66446008)(64756008)(54906003)(110136005)(122000001)(186003)(2906002)(53546011)(38070700005)(9686003)(6506007)(26005)(86362001)(83380400001)(33656002)(52536014)(5660300002)(7696005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WkZvYXhxeDJmUVY3QysrbXluNTJmVHJBUlhhZE04UExLL1BjQndmNWlPZm9F?= =?utf-8?B?YllyeGhoUnN2dGJ3NUIxYzRaa2wwcXVMM3M0YUd0M3FjTE5IWnZDVXpZVUox?= =?utf-8?B?K284MGkrNjFPYmNYdEovMHB0VHVSK0tISFV6QnV4cUF4d0s1bGQxR1REZldm?= =?utf-8?B?NGFLNG84Z2s3MnBaSnpjQ3RGekhMN0dxdjVSYjZKbU0zVXEzb3BlUTVzWUVY?= =?utf-8?B?aTlqZ0xQbitiKzd1WWxDY1lKaGY2NnMvcnBFTmUvRGJYMTMzMHlieUwyNjNs?= =?utf-8?B?bkluc0krZGFqV2E2K2xjMGZwRGFHejV3MElMWDJQV1VucXJ1cEFTUzFjNnNC?= =?utf-8?B?MzFCTm9HL2VFd1Rsd0FSSCt3eHJNV2NwdXd0RVJaNzRMS0l0YW1WdXBHeFB1?= =?utf-8?B?Q0wvaFFwRUFCL3V5ay90dzJOais5WmFicjhOaFBPaHpDZlZ1L1dGVDhvODNu?= =?utf-8?B?a2YxakQxNHNDLzVXS3E0SmowNzBKaXBqUnk3ckk1Sng3N0c5bnRNNjg1VmN2?= =?utf-8?B?N2JEVnRBa1Q2MmU4eVdVTkcvdUxNRkplTE9SeW52YTFXZEZmcHFWdGErbDJO?= =?utf-8?B?Qm5LMVFJQlhXQW1ST1lMWCtFL2swUnRsWE54RkhFVS92angxeTJSdHpZSW1D?= =?utf-8?B?bkdvUGxwRndEaFAxVGg3TzdyMm42R2pySG4vWFJEUXMyUWc4bWR5YVJ1Vlov?= =?utf-8?B?enZZd3B2RTVTcWlPR2twU2toTFVqdjFrblpqTzdrN1Z1VkJrbmRFSHNIUWUr?= =?utf-8?B?M0E1N2lUUTFFbldmcEdRMTZGcEVxTGtaQXdCRHYxWXFpTzExaWlObHAzWi8v?= =?utf-8?B?eEk1dHdnMzZ4MGNjVDV0ZDk0SDV3MVhTV2R0RnVMU2hnL3c4SHVibisvc3I5?= =?utf-8?B?VFJ3TS9QeEovaytia0FPcWcyRDFJMDgxTllxcEZSZkpCUkJLRWhBaTVVUzdM?= =?utf-8?B?dnczbkgraEhIamVONUkwS3NqQ1RWQi9obUtINU9iSm9kUGcwSW0yZWZmTHB1?= =?utf-8?B?UFJJNmRFWFFwaVFmK1JZd2NQMlNUeHYyOFpGb3lmcVNyL1V0aXNBNmdwZnZz?= =?utf-8?B?RnlkN1VacWJSa21kYWNyZFljSS8rdmtOeGsvRVViQ1EraEs0QnE5NHgvaTdx?= =?utf-8?B?M2syTDkrVFZDdVlydm84REg0RzBNai9NbXM3SDI1K25HTmg0dExYaXpJYStY?= =?utf-8?B?NU04NkkxMmpjMW5CYzZJZlNLZ1BqeDk3N3paY2FRTjFlRWJXN3lqTitCSCtz?= =?utf-8?B?VUpOR1RFODYvaHZwcFhET2RUS3p6VTVScGZTazlUcWxBb1pNTStjbXZwTjJk?= =?utf-8?B?aFZ6VkVTV1lqSTl5Z0U4d2dPNWJpcDlxbm9KNXhENm05NTZsVk1iU25LWEhG?= =?utf-8?B?MFBRcWtaTGI2Q1diMGFma3hLeHFFT0FFbEhnRG01UTRZM0RGSDNGd2tlZHlp?= =?utf-8?B?dnV5dC9zRW9yR2JGekxJc240czB1eUFFcnZ0dVJidCtibFF2LzNjY01Sb3pU?= =?utf-8?B?Vy9ZOUJMTHp0RC9PL1VmNnNlNUtpVkluUHc4Wmc1VVdEN0krVEo1YXZNTi9S?= =?utf-8?B?WFZFTE0rSnp5aW1mYUZwdGdsOG5VMHhYblFzYU8vTUM3NzJONUFkMVB4RUFX?= =?utf-8?B?SllRdE1HZW1xMDdrQXkwQ21HYThWOGJBZ2E2Mk9tSVdHVnh6TGNSZ0xCdndB?= =?utf-8?B?MHpXRzVpdXMzV1pRUEhPUkdIMGVvMkZjbHNudm5taGlpVmRzNXlCY2VEYlVX?= =?utf-8?B?WWVwbWxScE0yakxFQ20vOVpmTWxUZXBqY2dtbWNiakNCSXNFV1BKOU5KYThp?= =?utf-8?B?NHBJYkMxYjcyVVJxdmx4bW9YVm8zcjFpRm9pbkdvNFhFOVk2dkJFMTd2c25V?= =?utf-8?B?MUM4Sy8yOTZxVkEzU1h6V0NvK21xMHM2QjRrSEdSWXhFWDNVamNxZC9LMUVX?= =?utf-8?B?d1RNUkZqYlJ6SHBBTkZpUHUrbjFzblpZK054SzROaXMrTFZaZW1XZGRPRkdP?= =?utf-8?B?K3doK0I5aFpmWkU0Myt5NFMwMldIaVd2dmJRWEJ2N2xwMk9DUFJlUDVnMEZ3?= =?utf-8?B?TUVHQWZaTGV5YWtsU0FDZWs0TkxqRVlnQ3htY1gwa3VVSnhDaXRDUUc3S2dG?= =?utf-8?Q?1tYwUrcA+n+WLovrA8uzGZuzY?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 List-Id: Discussions List-Archive: https://lists.freebsd.org/archives/freebsd-transport List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-transport@freebsd.org X-BeenThere: freebsd-transport@freebsd.org MIME-Version: 1.0 X-OriginatorOrg: netapp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR06MB7639.namprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 02bd83bd-1088-4f0d-565b-08db38dd37bb X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Apr 2023 09:31:37.6786 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4b0911a0-929b-4715-944b-c03745165b3a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: hwl9AVKJN99mElWA5g1HVlvGK2telEp48mzYDyWOGHxuR/4xK3BIehFU+tt+vF6mOMUbeiz/kmT7oJMTy1qEgA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR06MB3163 X-Rspamd-Queue-Id: 4PvRh16nYxz47VF X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:8075, ipnet:2a01:111:f000::/36, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N SGksDQoNCkFkZGluZyBmYnNkLXRyYW5zcG9ydCB0b28uDQoNCkZvciBzdGFibGUtMTIsIEkgYmVs aWV2ZSBhbGwgcmVsZXZhbnQgKGFsZ29yaXRobSkgaW1wcm92ZW1lbnRzIHdlbnQgaW4uDQoNCkhv d2V2ZXIsIDEyLjIgaXMgbWlzc2luZyBEMjY4MDcgYW5kIEQyNjgwOCAtIGltcHJvdmVtZW50cyBp biBDdWJpYyB0byByZXRyYW5zbWlzc2lvbiB0aW1lb3V0cyAoYnV0IHRoZXNlIGFyZSBub3QgbWF0 ZXJpYWwpDQoNCldoaWxlIDEyLjEuIGhhcyBub25lIG9mIHRoZSBpbXByb3ZlbWVudHMgZG9uZSBp biAyMDIwIHRvIHRoZSBDdWJpYyBtb2R1bGUgLSBEMTg5NTQsIEQxODk4MiwgRDE5MTE4LCBEMjMz NTMsIEQyMzY1NSwgRDI1MDY1LCBEMjUxMzMsIEQyNTc0NCwgRDI0NjU3LCBEMjU3NDYsIEQyNTk3 NiwgRDI2MDYwLCBEMjY4MDcsIEQyNjgwOC4NCg0KVGhlc2Ugc2hvdWxkIGZpeCBudW1lcm91cyBp c3N1ZXMgaW4gY3ViaWMsIHdoaWNoIHdvdWxkIHZlcnkgbGlrZWx5IG1ha2UgaXQgcGVyZm9ybSBw b29ybHkgcGFydGljdWxhcmx5IG9uIGxvbmdlciBkdXJhdGlvbiBzZXNzaW9ucy4NCg0KSG93ZXZl ciwgQ3ViaWMgaXMgaGVhdmlseSByZWxpYW50IG9uIGEgdmFsaWQgbWVhc3VyZW1lbnQgb2YgUlRU IGFuZCB0aGUgZXBvY2ggc2luY2UgdGhlIGxhc3QgY29uZ2VzdGlvbiByZXNwb25zZSAobWVhc3Vy ZWQgaW4gdW5pdHMgb2YgUlRUKS4gQW4gaXNzdWUgaW4gZ2V0dGluZyBSVFQgbWVhc3VyZWQgcHJv cGVybHkgd291bGQgZGVyYWlsIGN1YmljIGZvciBzdXJlIChtb3N0IGxpa2VseSBjdWJpYyB3b3Vs ZCBpbmZsYXRlIGN3bmQgbXVjaCBmYXN0ZXIsIHRoZW4gcnVubmluZyBpbnRvIHNpZ25pZmljYW50 IHBhY2tldCBsb3NzLCB2ZXJ5IGxpa2VseSBsb3NzIG9mIHJldHJhbnNtaXNzaW9ucywgZm9sbG93 ZWQgYnkgcmV0cmFuc21pc3Npb24gdGltZW91dHMsIGFuZCBzaHJpbmtpbmcgb2YgdGhlIHNzdGhy ZXNoIHRvIHNtYWxsIHZhbHVlcy4NCg0KDQpJIGhhdmVuJ3QgbG9va2VkIGludG8gY2NfdmVnYXMg b3IgdGhlIGVydHQgbW9kdWxlIHRob3VnaC4NCg0KT25lIG1vcmUgaW5pdGlhbCBxdWVzdGlvbjog QXJlIHlvdSB1c2luZyB0aW1lc3RhbXBzIG9uIHRoYXQgbG9uZywgdGhpbiBwaXBlIC0gb3IgaXMg bmV0LmluZXQudGNwLnJmYzEzMjMgZGlzYWJsZWQgKG1vcmUgcmVjZW50IHZlcnNpb25zIGFsbG93 IHRoZSBzZWxlY3RpdmUgZW5hYmxlbWVudC9kaXNhYmxpbmcgb2Ygd2luZG93IHNjYWxpbmcgYW5k IHRpbWVzdGFtcHMgaW5kZXBlbnRlbmQgb2YgZWFjaCBvdGhlciwgYnV0IEkgZG9uJ3QgdGhpbmsg dGhpcyBpcyBpbiBhbmQgMTIgcmVsZWFzZS4gKEQzNjg2Myk/DQoNCkZpbmFsbHksIHlvdSBjb3Vs ZCBiZSB1c2luZyBTSUZUUiB0byB0cmFjayB0aGUgZXZvbHV0aW9uIG9mIHRoZSBtaW5ydHQgdmFs dWUgb3ZlciB0aGUgY291cnNlIG9mIHRoZSBzZXNzaW9uLiANCg0KQWx0aG91Z2ggSSBzdXNwZWN0 IHVsdGltYXRlbHkgYSB0Y3BkdW1wIGluY2x1ZGluZyB0aGUgdGNwIGhlYWRlciAoLXMgODApICwg YW5kIHRoZSBzaWZ0ZXIgaW50ZXJuYWwgc3RhdGUgZXZvbHV0aW9uIHdvdWxkIGJlIG9wdGltYWwg dG8gdW5kZXJzdGFuZGluZyB3aGVuIGFuZCB3aHkgdGhlIFJUVCB2YWx1ZXMgZ28gb2ZmIHRoZSBy YWlscy4NCg0KDQpBdCBmaXJzdCBnbGFuY2UsIHRoZSBlcnR0IG1vZHVsZSBtYXkgYmUgcHJvbmUg dG8gbWlzY2FsY3VsYXRpb25zLCB3aGVuIHJldHJhbnNtaXNzaW9ucyBhcmUgaW4gcGxheSAtIG5v IHNwZWNpYWwgcHJlY2F1dGlvbnMgYXBwZWFyIHRvIGJlIHByZXNlbnQsIHRvIGRpc3Rpbmd1aXNo IGJldHdlZW4gdGhlIG9yaWdpbmFsbHkgc2VudCBwYWNrZXQsIGFuZCBhbnkgcmV0cmFuc21pc3Np b24sIG5vciBhbnkgZmlsdGVyaW5nIG9mIEFDS3Mgd2hpY2ggY29tZSBpbiBhcyBkdXBsaWNhdGVz LiBUaHVzIHRoZXJlIGNvdWxkIGJlIGEgc2NlbmFyaW8sIHdoZXJlIGFuIEFDSyBmb3IgYSBzcHVy aW91cyByZXRyYW5zbWlzc2lvbiwgZS5nLiBkdWUgdG8gcmVvcmRlcmluZywgY291bGQgbGVhZCB0 byBhIHdyb25nIGJhc2VsaW5lIFJUVCBtZWFzdXJlbWVudCwgd2hpY2ggaXMgcGh5c2ljYWxseSBp bXBvc3NpYmxlIG9uIHN1Y2ggYSBsb25nIGRpc3RhbmNlIGNvbm5lY3Rpb24uLi4NCg0KQnV0IGFn YWluLCBJIGhhdmVuJ3QgbG9va2VkIGludG8gdGhlIGVydHQgbW9kdWxlIHNvIGZhciBhdCBhbGwu DQoNCkhvdyBhcmUgdGhlIGJhc2Ugc3RhY2sgUlRUIHJlbGF0ZWQgdmFsdWVzIGxvb2sgb24gdGhl c2UgbWlzYmVoYXZpbmcgc2Vzc2lvbnM/DQpUY3BjYi0+IHRfcnR0bWluLCB0X3NydHQsIHRfcnR0 dmFyLCB0X3J4dGN1ciwgdF9ydHR0aW1lLCB0X3J0c2VxLCB0X3J0dGxvdywgdF9ydHR1cGRhdGVk DQoNCkJlc3QgcmVnYXJkcywNCiAgUmljaGFyZA0KDQoNCg0KDQotLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KRnJvbTogUm9kbmV5IFcuIEdyaW1lcyA8ZnJlZWJzZC1yd2dAZ25kcnNoLmRuc21n ci5uZXQ+IA0KU2VudDogU29ubnRhZywgOS4gQXByaWwgMjAyMyAwMjo1OQ0KVG86IFJpY2hhcmQg UGVyaW5pIDxycHBAY2kuY29tLmF1Pg0KQ2M6IGZyZWVic2QtaGFja2Vyc0BGcmVlQlNELm9yZzsg cnNjaGVmZkBGcmVlQlNELm9yZw0KU3ViamVjdDogUmU6IGxvdyBUQ1Agc3BlZWQsIHdyb25nIHJ0 dCBtZWFzdXJlbWVudA0KDQpOZXRBcHAgU2VjdXJpdHkgV0FSTklORzogVGhpcyBpcyBhbiBleHRl cm5hbCBlbWFpbC4gRG8gbm90IGNsaWNrIGxpbmtzIG9yIG9wZW4gYXR0YWNobWVudHMgdW5sZXNz IHlvdSByZWNvZ25pemUgdGhlIHNlbmRlciBhbmQga25vdyB0aGUgY29udGVudCBpcyBzYWZlLg0K DQoNCg0KDQo+IE9uIFR1ZSwgQXByIDA0LCAyMDIzIGF0IDAyOjQ2OjM0UE0gLTAwMDAsIFBldGVy ICdQTWMnIE11Y2ggd3JvdGU6DQo+ID4gKiogbWF5YmUgdGhpcyBzaG91bGQgcmF0aGVyIGdvIHRo ZSAtbmV0IGxpc3QsIGJ1dCB0aGVuDQo+ID4gKiogdGhlcmUgYXJlIG9ubHkgYnVnIG1lc3NhZ2Vz DQo+ID4NCj4gPiBIaSwNCj4gPiAgIEknbSB0cnlpbmcgdG8gdHJhbnNmZXIgYmFja3VwIGRhdGEg dmlhIFdBTjsgdGhlIGxpbmsgYmFuZHdpZHRoIGlzIA0KPiA+IG9ubHkgfjIgTWJpdCwgYnV0IHRo aXMgY2FuIHdlbGwgcnVuIGZvciBkYXlzIGFuZCBqdXN0IHNhdHVyYXRlIHRoZSANCj4gPiBzcGFy ZSBiYW5kd2lkdGguDQo+ID4NCj4gPiBUaGUgcHJvYmxlbSBpcywgaXQgZG9lc24ndCBzYXR1cmF0 ZSB0aGUgYmFuZHdpZHRoLg0KPiA+DQo+ID4gSSBmb3VuZCB0aGF0IHRoZSBiYWNrdXAgYXBwbGlj YXRpb24gb3BlbnMgdGhlIHNvY2tldCBpbiB0aGlzIHdheToNCj4gPiAgICAgICBpZiAoKGZkID0g c29ja2V0KGlwYWRkci0+R2V0RmFtaWx5KCksIFNPQ0tfU1RSRUFNLCAwKSkgPCAwKSB7DQo+ID4N Cj4gPiBBcHBhcmVudGx5IHRoYXQgZG9lc24ndCB3b3JrIHdlbGwuIFNvIEkgcGF0Y2hlZCB0aGUg YXBwbGljYXRpb24gdG8gDQo+ID4gZG8gaXQgdGhpcyB3YXk6DQo+ID4gLSAgICAgIGlmICgoZmQg PSBzb2NrZXQoaXBhZGRyLT5HZXRGYW1pbHkoKSwgU09DS19TVFJFQU0sIDApKSA8IDApIHsNCj4g PiArICAgICAgaWYgKChmZCA9IHNvY2tldChpcGFkZHItPkdldEZhbWlseSgpLCBTT0NLX1NUUkVB TSwgDQo+ID4gKyBJUFBST1RPX1RDUCkpIDwgMCkgew0KPiA+DQo+ID4gVGhlIHJlc3VsdCwgb2Jz ZXJ2ZWQgd2l0aCB0Y3BkdW1wLCB3YXMgbm93IG5vdGljZWFibHkgZGlmZmVyZW50LCBidXQgDQo+ ID4gcmF0aGVyIHdvcnNlIHRoYW4gYmV0dGVyLg0KPiA+DQo+ID4gSSB0cmllZCB2YXJpb3VzIGNj IGFsZ29yaXRobXMsIGFsbCBiZWhhdmVkIHZlcnkgYmFkIHdpdGggdGhlIA0KPiA+IGV4Y2VwdGlv biBvZiBjY192ZWdhcy4gVmVnYXMsIGFmdGVyIHR1bmluZyB0aGUgYWxwaGEgYW5kIGJldGEsIGdh dmUgDQo+ID4gc2F0aXNmeWluZyByZXN1bHRzIHdpdGggbGVzcyB0aGFuIDElIHRyYWRlb2ZmLg0K PiA+DQo+ID4gQnV0IG9ubHkgZm9yIGEgdGltZS4gQWZ0ZXIgdHJhbnNmZXJyaW5nIGZvciBhIGNv dXBsZSBvZiBob3VycyB0aGUgDQo+ID4gdGhyb3VnaHB1dCB3ZW50IGJhZCBhZ2FpbjoNCj4gPg0K PiA+ICMgbmV0c3RhdCAtYUMNCj4gPiBQcm90byBSZWN2LVEgU2VuZC1RIExvY2FsIEFkZHJlc3Mg ICAgICAgICAgRm9yZWlnbiBBZGRyZXNzICAgICAgICAoc3RhdGUpICAgICBDQyAgICAgICAgICBj d2luICAgc3N0aHJlc2ggICBNU1MgRUNODQo+ID4gdGNwNiAgICAgICAwICA1NzM1MSBlZGdlLWpv LjI2OTk2ICAgICAgICAgIHBvbGUtbi4yMiAgICAgICAgICAgICAgRVNUQUJMSVNIRUQgdmVnYXMg ICAgICAyMjIwMyAgICAgIDEwMzkyICAxMzExIG9mZg0KPiA+IHRjcDQgICAgICAgMCAxMDYzMDUg ZWRnZS1lLjYyMjc1ICAgICAgICAgICBwb2xlLW4uYmFjdWxhLXNkICAgICAgIEVTVEFCTElTSEVE IHZlZ2FzICAgICAgMTE5NDMgICAgICAgNTI3NiAgMTMzMSBvZmYNCj4gPg0KPiA+IFRoZSBmaXJz dCBjb25uZWN0aW9uIGlzIGZyZXNobHkgY3JlYXRlZC4gVGhlIHNlY29uZCBvbmUgcnVucyBmb3Ig YSANCj4gPiBkYXkgYWxyZWFkeSAsIGFuZCBpdCBpcyBvYnZpb3VzZWx5IGhvc2VkIC0gaXQgZG9l c24ndCByZWNvdmVyLg0KPiA+DQo+ID4gIyBzeXNjdGwgbmV0LmluZXQudGNwLmNjLnZlZ2FzDQo+ ID4gbmV0LmluZXQudGNwLmNjLnZlZ2FzLmJldGE6IDE0DQo+ID4gbmV0LmluZXQudGNwLmNjLnZl Z2FzLmFscGhhOiA4DQo+ID4NCj4gPiA4IChhbHBoYSkgeCAxMzMxIChtc3MpID0gMTA2NDgNCj4g Pg0KPiA+IFRoZSBjd2luIGlzIGFkanVzdGVkIHRvIHByZWNpc2VseSBvbmUgdGljayBhYm92ZSB0 aGUgYWxwaGEsIGFuZCANCj4gPiBkb2Vzbid0IHJpc2UgZnVydGhlci4gKEluY3JlYXNpbmcgdGhl IGFscGhhIGZ1cnRoZXIgZG9lcyBzb2x2ZSB0aGUgDQo+ID4gaXNzdWUgZm9yIHRoaXMgY29ubmVj dGlvbiAtIGJ1dCB0aGF0IGlzIG5vdCBob3cgdGhpbmdzIGFyZSBzdXBwb3NlZCANCj4gPiB0bw0K PiA+IHdvcmsuKQ0KPiA+DQo+ID4gTm93IEkgdHJpZWQgdG8gbG9vayBpbnRvIHRoZSBkYXRhIHRo YXQgdmVnYXMgd291bGQgdXNlIGZvciBpdCdzIA0KPiA+IGRlY2lzaW9ucywgYW5kIGZvdW5kIHRo aXM6DQo+ID4NCj4gPiAjIGR0cmFjZSAtbiAnZmJ0Omtlcm5lbDp2ZWdhc19hY2tfcmVjZWl2ZWQ6 ZW50cnkgeyBwcmludGYoIiVzICV1ICVkIA0KPiA+ICVkICVkICVkIiwgZXhlY25hbWUsXCAoKigo c3RydWN0IHRjcGNiICoqKShhcmcwKzI0KSkpLT5zbmRfY3duZCxcIA0KPiA+ICgoc3RydWN0IGVy dHQgKikoKCooKHN0cnVjdCB0Y3BjYiANCj4gPiAqKikoYXJnMCsyNCkpKS0+b3NkLT5vc2Rfc2xv dHNbMF0pKS0+bWlucnR0LFwNCj4gPiAoKHN0cnVjdCBlcnR0ICopKCgqKChzdHJ1Y3QgdGNwY2Ig DQo+ID4gKiopKGFyZzArMjQpKSktPm9zZC0+b3NkX3Nsb3RzWzBdKSktPm1hcmtlZF9zbmRfY3du ZCxcDQo+ID4gKChzdHJ1Y3QgZXJ0dCAqKSgoKigoc3RydWN0IHRjcGNiIA0KPiA+ICoqKShhcmcw KzI0KSkpLT5vc2QtPm9zZF9zbG90c1swXSkpLT5ieXRlc190eF9pbl9tYXJrZWRfcnR0LFwNCj4g PiAoKHN0cnVjdCBlcnR0ICopKCgqKChzdHJ1Y3QgdGNwY2IgDQo+ID4gKiopKGFyZzArMjQpKSkt Pm9zZC0+b3NkX3Nsb3RzWzBdKSktPm1hcmtlZHBrdF9ydHQpO1wNCj4gPiB9Jw0KPiA+IENQVSAg ICAgSUQgICAgICAgICAgICAgICAgICAgIEZVTkNUSU9OOk5BTUUNCj4gPiAgIDYgIDE3NDc4ICAg ICAgICAgdmVnYXNfYWNrX3JlY2VpdmVkOmVudHJ5IG5nX3F1ZXVlIDExOTQzIDEgMTE5NDMgMTA1 NTIgMTMxDQo+ID4gIDE3ICAxNzQ3OCAgICAgICAgIHZlZ2FzX2Fja19yZWNlaXZlZDplbnRyeSBu Z19xdWV1ZSAyMjIwMyA1NiAyMjIwMyAyMDc4NCAyNjENCj4gPiAgMTcgIDE3NDc4ICAgICAgICAg dmVnYXNfYWNrX3JlY2VpdmVkOmVudHJ5IG5nX3F1ZXVlIDIyMjAzIDU2IDIyMjAzIDIwNzg0IDI2 MQ0KPiA+ICAgMyAgMTc0NzggICAgICAgICB2ZWdhc19hY2tfcmVjZWl2ZWQ6ZW50cnkgbmdfcXVl dWUgMTE5NDMgMSAxMTk0MyAxMDU1MiAxMzENCj4gPiAgIDUgIDE3NDc4ICAgICAgICAgdmVnYXNf YWNrX3JlY2VpdmVkOmVudHJ5IG5nX3F1ZXVlIDIyMjAzIDU2IDIyMjAzIDIwNzg0IDI2MQ0KPiA+ ICAxNyAgMTc0NzggICAgICAgICB2ZWdhc19hY2tfcmVjZWl2ZWQ6ZW50cnkgbmdfcXVldWUgMTE5 NDMgMSAxMTk0MyAxMDU1MiAxMzENCj4gPiAgMTEgIDE3NDc4ICAgICAgICAgdmVnYXNfYWNrX3Jl Y2VpdmVkOmVudHJ5IG5nX3F1ZXVlIDExOTQzIDEgMTE5NDMgMTA1NTIgMTA2DQo+ID4gIDE1ICAx NzQ3OCAgICAgICAgIHZlZ2FzX2Fja19yZWNlaXZlZDplbnRyeSBuZ19xdWV1ZSAyMjIwMyA1NiAy MjIwMyAyMDc4NCAyNjENCj4gPiAgMTMgIDE3NDc4ICAgICAgICAgdmVnYXNfYWNrX3JlY2VpdmVk OmVudHJ5IG5nX3F1ZXVlIDIyMjAzIDU2IDIyMjAzIDIwNzg0IDI2MQ0KPiA+ICAxNiAgMTc0Nzgg ICAgICAgICB2ZWdhc19hY2tfcmVjZWl2ZWQ6ZW50cnkgbmdfcXVldWUgMTE5NDMgMSAxMTk0MyAx MDU1MiAxMDYNCj4gPiAgIDMgIDE3NDc4ICAgICAgICAgdmVnYXNfYWNrX3JlY2VpdmVkOmVudHJ5 IG5nX3F1ZXVlIDIyMjAzIDU2IDIyMjAzIDIwNzg0IDI2MQ0KPiA+DQo+ID4gT25lIGNhbiBzZWUg dGhhdCB0aGUgIm1pbnJ0dCIgdmFsdWUgZm9yIHRoZSBmcmVzaGx5IGNyZWF0ZWQgDQo+ID4gY29u bmVjdGlvbiBpcyA1NiAod2hpY2ggaXMgdmVyeSBwbGF1c2libGUpLg0KPiA+IEJ1dCB0aGUgb2xk IGFuZCBob3NlZCBjb25uZWN0aW9uIHNob3dzIG1pbnJ0dCA9IDEsIHdoaWNoIGV4cGxhaW5zIA0K PiA+IHRoZSBvYnNlcnZlZCBjd2luLg0KPiA+DQo+ID4gVGhlIG1pbnJ0dCBnZXRzIGNhbGN1bGF0 ZWQgaW4gc3lzL25ldGluZXQva2hlbHAvaF9lcnR0LmM6DQo+ID4gICAgICAgICAgICAgICBlX3Qt PnJ0dCA9IHRjcF90c19nZXR0aWNrcygpIC0gdHhzaS0+dHhfdHMgKyAxOyBUaGVyZSANCj4gPiBp cyBhICIrMSIsIHNvIHRoaXMgd2FzIGFwcGFyZW50bHkgemVyby4NCj4gPg0KPiA+IEJ1dCBzb3Vy Y2UgYW5kIGRlc3RpbmF0aW9uIGFyZSBhdCBsZWFzdCAxMDAwIGttIGFwYXJ0LiBTbyBlaXRoZXIg d2UgDQo+ID4gaGF2ZSBoYWQgb25lIG9mIHRoZSByYXJlIG9jY2FzaW9ucyBvZiBoeXBlcnNwYWNl IHR1bm5lbGxpbmcsIG9yIA0KPiA+IHNvbWV0aGluZyBpcyBnb2luZyB3cm9uZyBpbiB0aGUgZXJ0 dCBtZWFzdXJlbWVudCBjb2RlLg0KPiA+DQo+ID4gRm9yIG5vdyB0aGlzIGlzIGEgb25lLXRpbWUg b2JzZXJ2YXRpb24sIGJ1dCBpdCBtaWdodCBhbHNvIGV4cGxhaW4gDQo+ID4gd2h5IHRoZSBvdGhl ciBjYyBhbGdvcml0aG1zIGJlaGF2ZWQgYmFkbHkuIFRoZXNlIGFsZ29yaXRobXMgYXJlIA0KPiA+ IHdpZGVseSBpbiB1c2UgYW5kIHNob3VsZCB3b3JrIC0gdGhlIGVydHQgbWVhc3VyZW1lbnQgaG93 ZXZlciBpcyB0aGUgDQo+ID4gc2FtZSBmb3IgYWxsIG9mIHRoZW0uDQo+DQo+IEkgY2FuIGNvbmZp cm0gSSBhbSBzZWVpbmcgc2ltaWxhciBwcm9ibGVtcyB0cmFuc2ZlcnJpbmcgZmlsZXMgdG8gb3Vy IA0KPiB2YXJpb3VzIHByb2R1Y3Rpb24gc2l0ZXMgYXJvdW5kIEF1c3RyYWxpYS4gVmFyaW91cyB0 eXBlcy9zaXplcyBvZiBsaW5rcyBhbmQgYmFuZHdpZHRocy4NCj4gSSBjYW4gc2F0dXJhdGUgdGhl IG5lYXJieSBsaW5rcywgYnV0IHRoZSBsaW5rIHV0aWxpc2F0aW9uL3NhdHVyYXRpb24gDQo+IGRl Y3JlYXNlcyB3aXRoIGRpc3RhbmNlLg0KPg0KPiBJJ3ZlIHRyaWVkIHZhcmlvdXMgdHJhbnNmZXIg cHJvdG9jb2xzOiBmdHAsIHNjcCwgcmNwLCBodHRwOiByZXN1bHRzIA0KPiBhcmUgc2ltaWxhciBm b3IgYWxsLiAgUGluZyB0aW1lcyBmb3IgdGhlIGNsb3Nlc3QgV0FOIGxpbmsgaXMgMi4zbXMsIA0K PiBmdXJ0aGVzdCBpcyA2MG1zLiAgT24gdGhlIGZ1cnRoZXN0IGxpbmssIHdlIGdldCBhcm91bmQg MTUlIA0KPiB1dGlsaXNhdGlvbi4gVHJhbnNmZXIgYmV0d2Vlbg0KPiAyIFdpbmRvd3MgaG9zdHMg b24gdGhlIGZ1cnRoZXN0IGxpbmsgeWllbGRzIH44MCUgdXRpbGlzYXRpb24uDQoNCldpbmRvd3Mg c2hvdWxkIGJlIHVzaW5nIGNjX2N1YmljLCB5b3Ugc2F5IGFib3ZlIHlvdSBoYWQgdHJpZWQgYWxs IHRoZSBjb25nZXN0aW9uIGFsZ29yaXRoaW1zLCBhbmQgb25seSBjY192ZWdhcyBhZnRlciB0dW5p bmcgZ2F2ZSBnb29kIHJlc3VsdHMuDQoNCj4NCj4gRnJlZUJTRCB2ZXJzaW9ucyBpbnZvbHZlZCBh cmUgMTIuMSBhbmQgMTIuMi4NCg0KSSB3b25kZXIgaWYgY2NfY3ViaWMgaXMgYnJva2VuIGluIDEy LlgsIGl0IHNob3VsZCBnaXZlIHNpbWlsaWFyIHJlc3VsdHMgdG8gd2luZG93cyBpZiB0aGluZ3Mg YXJlIHdvcmtpbmcgY29ycmVjdGx5Lg0KDQpJIGFtIGFkZGluZyBSaWNoYXJkIFNjaGVmZmVuZWdn ZXIgYXMgaGUgaXMgdGhlIG1vc3QgcmVjZW50IGV4cGVjdCBvbiB0aGUgY29uZ2VzdGlvbiBjb250 cm9sIGNvZGUgaW4gRnJlZUJTRC4NCg0KPiAtLQ0KPiBSaWNoYXJkIFBlcmluaQ0KPiBSYW1pY28g QXVzdHJhbGlhIFB0eSBMdGQgICBTeWRuZXksIEF1c3RyYWxpYSAgIHJwcEBjaS5jb20uYXUgICs2 MSAyIDk1NTIgNTUwMA0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IC0tLS0tLS0gIlRoZSBkaWZmZXJlbmNl IGJldHdlZW4gdGhlb3J5IGFuZCBwcmFjdGljZSBpcyB0aGF0IGluIHRoZW9yeSANCj4gdGhlcmUg aXMgbm8gIGRpZmZlcmVuY2UsIGJ1dCBpbiBwcmFjdGljZSB0aGVyZSBpcyINCg0KLS0NClJvZCBH cmltZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmdy aW1lc0BmcmVlYnNkLm9yZw0K