Received: by 2002:a05:6a10:2785:0:0:0:0 with SMTP id ia5csp3249331pxb; Tue, 12 Jan 2021 09:50:30 -0800 (PST) X-Google-Smtp-Source: ABdhPJwfeS1PXTehkaVTl4+p0o2ehDHYeeVH4BpHhvv6qqWeQVT+Vtq92v1o+wDIAJ0j7xkRKLBm X-Received: by 2002:a50:e78b:: with SMTP id b11mr220315edn.165.1610473830727; Tue, 12 Jan 2021 09:50:30 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1610473830; cv=pass; d=google.com; s=arc-20160816; b=a8nmuCPt1iOyATq+j1f9zsXy/qThN66vyHplA1J0wnpbW3UOGiwl2ySAnoOMjtGKeQ s1beedrC38UH8hGPWod66zT0RBnPPpjuzTtHuTXSxJ4221iELgcc8pBO97z6EWcU2fYB l0BzD3vni4uvlsFGKBQpnON50+SOFV6m1XPPA4KnGNK19Ao4axnsLWV0E8CIwUH2OEI9 1oNcnTbgMfy1Ki3ZxSelqwBu1i5ZjmomyrwBLpt03M6dvCxlG92yfIUsmk+zte2WFlL6 9WDqHi0+qdALi7KR3LLOYDpknxdb9UtCqpyHyzOmiq99iPMbhysebWG9p0+c0+DBDarQ 3jbA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-id:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from :dkim-signature; bh=GqCr2uI+muNCbuy3+ViuZmwKd0D8K8DpoZqVVgXmzB0=; b=t3Z0TVFlkohjB8+h+kF7ILrnZKB3dLjVCfMO4wDaXB0NImfwI5vKDvM20RteMRZpJy xfpBlhAottu1KMZanShwS1OASadG4iYhHFLjV9qfdx2pqQTLOiEbvXnCqAeh0+T/QdWJ 905ni702Hm9gih0CiajHBqjsdlJWHr4eSQ5CQyDrDwrvfO8nP4UscAEcgduG+hjKoioI PNr0ljomE3Gq4yAO5FEiQ1daeuSIUePfp0v/udTj8eQxLNlLpz8sJ8E0Pc0WiXRXzLHe ar7kxDR6iJ+wJcMxaSF590CFiYlFU5IRSm8RwgQBu7Z15eRsRyrItDRLr2xOvTywMYCK oMeg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b=D7iVLieP; arc=pass (i=1 spf=pass spfdomain=hammerspace.com dkim=pass dkdomain=hammerspace.com dmarc=pass fromdomain=hammerspace.com); spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=hammerspace.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p3si1704754edy.190.2021.01.12.09.50.08; Tue, 12 Jan 2021 09:50:30 -0800 (PST) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b=D7iVLieP; arc=pass (i=1 spf=pass spfdomain=hammerspace.com dkim=pass dkdomain=hammerspace.com dmarc=pass fromdomain=hammerspace.com); spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=hammerspace.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389771AbhALRsb (ORCPT + 99 others); Tue, 12 Jan 2021 12:48:31 -0500 Received: from mail-bn8nam08on2126.outbound.protection.outlook.com ([40.107.100.126]:4506 "EHLO NAM04-BN8-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2388593AbhALRsa (ORCPT ); Tue, 12 Jan 2021 12:48:30 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TM/WRAKdgd1BcDCHpsQ79EM/qOiZ0yimV/32oaFR6dq0TpXjQmTxlkwjVaK184zBwG+flU5lREKx6RI+b0o4VU7492LOL27J7/19DQrBDGJeguVl9XaXYSfeghD86ZkfnGdFlKskxWkcmF5+2UWBhsf28EjEJZfO80fPRKIcjtVEmm7CHiUIbeO3N3OH6sJZV7qLaKMZA69LeekKnCUtaPOCZYWqF94IAGgVN8Kr9BkA1ZmfBopjU/DHraMEERT2ZCoQ21IPB2YwqnQrwibDJ+avcV43BC4kMBy61mdmL/YN55UPw2OFE38eiJmvz0TpiJ4aLzHlJiUyhTRMwM1ZHw== 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=GqCr2uI+muNCbuy3+ViuZmwKd0D8K8DpoZqVVgXmzB0=; b=cUfK422y3H0vch1wk1GSyu1OQUn1TC7M2h5fXgR7i41UJNjCDib6VlZOyBPwm05vEp9zjtnL+b25/sEBuUj4j9rDUe6muJZ2gAqeftqT8p4tJUM02IqM7Ctpr2onWxWZ6l/dLR5InszhP3yj2iybGIG2N+obGtL1Uk96yWLstxPfLyExBd5yUSC0rDUhGMNEvcjdCHDpPhGi0MPmY3oUF7FEVvueul0+mqzy+hBVar20Obzl0+Cx/VETbwyReIEW1S55S9tRzET6iK+SDHC9NSlw719POyPwaeLG0eTBcCojCVB/UOr7OnwpmolI0jEkSs2bhNmnuhAvpo3Z/gq6KA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hammerspace.com; dmarc=pass action=none header.from=hammerspace.com; dkim=pass header.d=hammerspace.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hammerspace.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GqCr2uI+muNCbuy3+ViuZmwKd0D8K8DpoZqVVgXmzB0=; b=D7iVLiePNAcCe5an5MG8yDUvvuTMxk35tOZuVOcROMKUGyDK2LAotnAnzX+qKCGZ312vq9lNjJdA64I7iplInkXQiavxbLj+iA4KnCLvofzW6x6fyhYB2QdaX3tpZximS+5HOYhPAGyg+bQElciVxBZ9LdEAnmUtBXVayLs33Hs= Received: from CH2PR13MB3525.namprd13.prod.outlook.com (2603:10b6:610:21::29) by CH0PR13MB4633.namprd13.prod.outlook.com (2603:10b6:610:ca::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3763.2; Tue, 12 Jan 2021 17:47:35 +0000 Received: from CH2PR13MB3525.namprd13.prod.outlook.com ([fe80::f9a6:6c23:4015:b7fc]) by CH2PR13MB3525.namprd13.prod.outlook.com ([fe80::f9a6:6c23:4015:b7fc%6]) with mapi id 15.20.3763.009; Tue, 12 Jan 2021 17:47:35 +0000 From: Trond Myklebust To: "wangzhibei1999@gmail.com" CC: "bfields@fieldses.org" , "security@kernel.org" , "w@1wt.eu" , "greg@kroah.com" , "linux-nfs@vger.kernel.org" , "chuck.lever@oracle.com" Subject: Re: nfsd vurlerability submit Thread-Topic: nfsd vurlerability submit Thread-Index: AQHW6PgWrSMkggXjGU6epPPdOSc+z6okNQOAgAAFaYCAAAmkgA== Date: Tue, 12 Jan 2021 17:47:35 +0000 Message-ID: <96aea58bde3fe4c09cccd9ead2a1c85eb887d276.camel@hammerspace.com> References: <20210105165633.GC14893@fieldses.org> <20210108152017.GA4183@fieldses.org> <20210108152607.GA950@1wt.eu> <20210108153237.GB4183@fieldses.org> <20210108154230.GB950@1wt.eu> <20210111193655.GC2600@fieldses.org> <20210112153208.GF9248@fieldses.org> <8296b696a7fa5591ad3fbb05bfcf6bdf6175cc38.camel@hammerspace.com> In-Reply-To: Accept-Language: en-US, en-GB Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=hammerspace.com; x-originating-ip: [68.36.133.222] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3c23b8fc-58b8-48db-0c1a-08d8b7222528 x-ms-traffictypediagnostic: CH0PR13MB4633: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 5BgsLSHhz2M32dLKojvh+VTKKmvPbE2l+vRBQkd6KSxHVllCLt3Qk2tC0QegCnzlIF+m5w2CNIgQDGXo4b9wltDsm7k7jdL3hZsd2w4lfcvKq2OdAj1rP9RMyeHwT7uJe4AmbuHtJoVr6nDlEXcvl0xveXIhedbvBFPfs3E4p2C6J/qbXXxqXX7XiO3UOEno1s4J5DPU8uuAacxMUNe9d6lYEHL3e+0+rIi2RfyGl2pNGmDGg/XRIavIOUyVQ+qR4n28ZC844/zWSjZaghnv4Bf3bxM2VqOMuAJS3N4ULIyzNzNvWHumP4r4HtsGuluwSCQGPQjbGPjCe33tS1UMnjgxjsVKXL16CFQhV5TwBCr5DTqnXEg1lHnZQeOOCUh9hGSFsMnSGAts5h9SOwxRJd6D01PElukWsgSdmFnt1Mcuhb9gNdiICfnzxkRdW3GhQVJuQfidrgUWYHNk4m6eww== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR13MB3525.namprd13.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(39840400004)(376002)(136003)(396003)(366004)(6512007)(71200400001)(478600001)(54906003)(26005)(186003)(66476007)(64756008)(6916009)(8936002)(6506007)(4326008)(7116003)(83380400001)(66446008)(86362001)(5660300002)(6486002)(66946007)(36756003)(2616005)(8676002)(2906002)(66556008)(966005)(76116006)(15974865002)(316002)(3480700007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?SHNpTS9adEZNeXB0WTREK2o4VnFxQTU5QlFmWEpSK1BxVEljdWVlT2xRaWJx?= =?utf-8?B?NWxiSmtNUFREQXZWU3dHQys5L2pYTjRlNUFYUldGS2cvQXNkUENNYkpVM29u?= =?utf-8?B?WlluOUNjLzhxTGtWRGFXWERRaDRuQ3kzMnB0U3ZhUHArcHRTZld4cEpyaXN0?= =?utf-8?B?N3VEZWJseFBENkY0QkhpTk94ekE2aVhCL3BhRDdNWGVnQ1NIQXNJM24vdkZn?= =?utf-8?B?cmdEdFdzYWg2L3ZSMXZ1QVF6NW5mUGtDYllIUlo0enJzRlZZYWxkMGdqd282?= =?utf-8?B?K2ljZ1hSL2ZwYlFTNlFlL2d6Z0d0aE53MEtNQVMzakNUa0dLU3dJZjdrVWFu?= =?utf-8?B?VFF6ejlKMmpQb2RMUEhSaWt0M2dNMkU1NXcwQkRPMCtsTlFQcEZUZENzZ2Zx?= =?utf-8?B?SjdPQ3c3bUp1SU5teUY0VkVSdmxkeVpoZkVCY1IxR2JuQ0RuaUFnc0pqN1Z3?= =?utf-8?B?ZExTZWFJTTdya2FQZmFZNDhtQWV3UkdsZndXUGN2T2ZybTdqT1hoYmVSK2hX?= =?utf-8?B?NHlTUkVVV2pzQUJ0RS82RDFIRlk5VGFnZVFzU1lUNlhjcUljMDZRaGp3Z0Ji?= =?utf-8?B?R0hIUGpSZEI1TjJrM0hNa0ZWVGVTOTNPcEcwT0V1b1dyeFArbEhqcHA0elBl?= =?utf-8?B?Nmo0U29qSGdJUU45dkdVdzZicWVmeC9ZZ3l1ZjVkU3IycTR2aktKWm5YT29N?= =?utf-8?B?Rno4MUhBZjBnTGs3T3JjN2ExcEhvcHlpNHNEbTJpRnJ3eU9Bb2NPQnVURG4w?= =?utf-8?B?TmNiV0x5Sy9jaFpBYlB2UTNnTzlKY3kzL3piRDNZcVRKMzFBYXpaTFpoVEF4?= =?utf-8?B?blo0SXZ5cm5JNXlQZWcweW5ZWjdVTU10TUx0enBMK0ZadnV0NXhZbnUyVDI3?= =?utf-8?B?UTA5NGdDbWExMDhQeExxNGJpZ2w2SEtwN0pFeGQ2NEZqbEd5R29EYmFIdmIr?= =?utf-8?B?SHJ4TmJBTGpRbS9hT0dXN3I3UnZ6Z2Z0QTdTTDFZZmt0ZTRwV2JJa25VM2xh?= =?utf-8?B?SkJQR1BRSUZja3ZkQ2hTK2tnQkw3RjM5bFNmbXBTQ1ZzRmtWQVJpNmNXcDNY?= =?utf-8?B?NVFNQkdhNDZWMHdtbDJna0UyTWZ0VUs5VlZNMkFqUEJ3aVZVaWZENFplQk1q?= =?utf-8?B?N1Rzcng2dmd4M1p3anZNRFRTL1FlM3J0b3p1M3J3Z3h5ekh1TzBFQjFBcTdZ?= =?utf-8?B?bEUxVjVrbmRPMFJ5eFhvWGhyQmk1TjFuWmd6SnlZSVJncGNzUmZPSzlVOFF3?= =?utf-8?B?M3FoUlFVZjRpR1BLeTFnOUZDUERsZ2VQaFVTd3h6My9QMDdIRER5c1JQcjdw?= =?utf-8?Q?NaiYn4yjaMs2GDQem4rcGewrAgYMuXhiP9?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: hammerspace.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR13MB3525.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3c23b8fc-58b8-48db-0c1a-08d8b7222528 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Jan 2021 17:47:35.2138 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 0d4fed5c-3a70-46fe-9430-ece41741f59e X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: mJff6wLs7FZMWjOICw2rd6jXwxxXqFNVTJt2M5imERq6b/jJ31cINZeQrtu3BP8q3KyAUAVWMIKwQ2KA0V+jmg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR13MB4633 Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org T24gV2VkLCAyMDIxLTAxLTEzIGF0IDAxOjEzICswODAwLCDlkLTlvIIgd3JvdGU6DQo+IEhlbGxv LA0KPiANCj4gV2VsbCxtYXliZSB0aGUgYmVzdCBtZXRob2QgaXMgdG8gcHJvaGliaXQgwqBleHBv cnRpbmcNCj4gc3ViZGlyZWN0aXJpZXMsYW5kIEkgZG9uJ3Qga25vdyBob3cgZGlmZmljdWx0IGl0 IHdpbGwgYmUuDQoNCg0KU28sIHRoZXJlIGlzIGEgZGlzY3Vzc2lvbiBvZiBhbGwgdGhpcyBpbiB0 aGUgJ2V4cG9ydHMnIG1hbnBhZ2UgYm90aCBpbg0KdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSAnbm9f c3VidHJlZV9jaGVjaycgb3B0aW9uLCBhbmQgaW4gdGhlIHNlY3Rpb24gb24NCidTdWJkaXJlY3Rv cnkgRXhwb3J0cycuDQpJbiBwYXJ0aWN1bGFyLCB0aGUgbGF0dGVyIHNlY3Rpb24gZG9lcyBkZXNj cmliZSB0aGUgaXNzdWUgdGhhdCB5b3UgYXJlDQpyYWlzaW5nIGhlcmU6DQoNCiAgIFN1YmRpcmVj dG9yeSBFeHBvcnRzDQogICAgICAgTm9ybWFsbHkgeW91IHNob3VsZCBvbmx5IGV4cG9ydCBvbmx5 IHRoZSByb290IG9mIGEgZmlsZXN5c3RlbS4gIFRoZSBORlMNCiAgICAgICBzZXJ2ZXIgd2lsbCBh bHNvIGFsbG93IHlvdSB0byBleHBvcnQgYSBzdWJkaXJlY3RvcnkgIG9mICBhICBmaWxlc3lzdGVt LA0KICAgICAgIGhvd2V2ZXIsIHRoaXMgaGFzIGRyYXdiYWNrczoNCg0KICAgICAgIEZpcnN0LCAg aXQgIG1heSBiZSBwb3NzaWJsZSBmb3IgYSBtYWxpY2lvdXMgdXNlciB0byBhY2Nlc3MgZmlsZXMg b24gdGhlDQogICAgICAgZmlsZXN5c3RlbSBvdXRzaWRlIG9mIHRoZSBleHBvcnRlZCBzdWJkaXJl Y3RvcnksIGJ5ICBndWVzc2luZyAgZmlsZWhhbuKAkA0KICAgICAgIGRsZXMgIGZvciAgdGhvc2Ug b3RoZXIgZmlsZXMuICBUaGUgb25seSB3YXkgdG8gcHJldmVudCB0aGlzIGlzIGJ5IHVzaW5nDQog ICAgICAgdGhlIG5vX3N1YnRyZWVfY2hlY2sgb3B0aW9uLCB3aGljaCBjYW4gY2F1c2Ugb3RoZXIg cHJvYmxlbXMuDQoNCiAgICAgICBTZWNvbmQsIGV4cG9ydCBvcHRpb25zIG1heSBub3QgYmUgZW5m b3JjZWQgaW4gdGhlIHdheSAgdGhhdCAgeW91ICB3b3VsZA0KICAgICAgIGV4cGVjdC4gIEZvciBl eGFtcGxlLCB0aGUgc2VjdXJpdHlfbGFiZWwgb3B0aW9uIHdpbGwgbm90IHdvcmsgb24gc3ViZGni gJANCiAgICAgICByZWN0b3J5IGV4cG9ydHMsIGFuZCBpZiBuZXN0ZWQgc3ViZGlyZWN0b3J5IGV4 cG9ydHMgIGNoYW5nZSAgdGhlICBzZWN14oCQDQogICAgICAgcml0eV9sYWJlbCAgb3IgIHNlYz0g IG9wdGlvbnMsIE5GU3Y0IGNsaWVudHMgd2lsbCBub3JtYWxseSBzZWUgb25seSB0aGUNCiAgICAg ICBvcHRpb25zIG9uIHRoZSBwYXJlbnQgZXhwb3J0LiAgQWxzbywgd2hlcmUgc2VjdXJpdHkgb3B0 aW9ucyAgZGlmZmVyLCAgYQ0KICAgICAgIG1hbGljaW91cyAgY2xpZW50ICBtYXkgIHVzZSAgZmls ZWhhbmRsZS1ndWVzc2luZyAgYXR0YWNrcyB0byBhY2Nlc3MgdGhlDQogICAgICAgZmlsZXMgZnJv bSBvbmUgc3ViZGlyZWN0b3J5IHVzaW5nIHRoZSBvcHRpb25zIGZyb20gYW5vdGhlci4NCg0KDQpX aHkgZG8gd2UgbmVlZCB0byBnbyBmdXJ0aGVyIHRoYW4gdGhpcywgd2hlbiB0aGVyZSBhcmUgY2xl YXJseSBhbHNvIGENCmxvYWQgb2Ygc2NlbmFyaW9zIHdoZXJlIHRoZSBjbGllbnRzIGFyZSBhbGwg dHJ1c3RlZCwgYW5kIHRoZSBzZWN1cml0eQ0KaXNzdWUgaXMgbW9vdD8NCg0KDQo+IA0KPiBUaGFu a3MsDQo+IA0KPiDlnKggMjAyMeW5tDHmnIgxM+aXpeaYn+acn+S4ie+8jFRyb25kIE15a2xlYnVz dCA8dHJvbmRteUBoYW1tZXJzcGFjZS5jb20+IOWGmemBk++8mg0KPiA+IE9uIFR1ZSwgMjAyMS0w MS0xMiBhdCAxMDozMiAtMDUwMCwgSi4gQnJ1Y2UgRmllbGRzIHdyb3RlOg0KPiA+ID4gT24gVHVl LCBKYW4gMTIsIDIwMjEgYXQgMTA6NDg6MDBQTSArMDgwMCwg5ZC05byCIHdyb3RlOg0KPiA+ID4g PiBUZWxsaW5nIHVzZXJzIGhvdyB0byBjb25maWd1cmUgdGhlIGV4cG9ydGVkIGZpbGUgc3lzdGVt IGluIHRoZQ0KPiBtb3N0DQo+ID4gPiA+IHNlY3VyZQ0KPiA+ID4gPiB3YXkgZG9lcw0KPiA+ID4g PiBtaXRpZ2F0ZSB0aGUgcHJvYmxlbSB0byBzb21lIGV4dGVudCwgYnV0IHRoaXMgZG9lcyBub3Qg c2VlbSB0bw0KPiA+ID4gPiBhZGRyZXNzIHRoZQ0KPiA+ID4gPiBzZWN1cml0eSByaXNrcyBwb3Nl ZCBieSBub18gc3VidHJlZV8gY2hlY2sgaW4gdGhlIGNvZGUuIEluIG15DQo+ID4gPiA+IG9waW5p b24sd2hlbg0KPiA+ID4gPiB0aGUgZ2VuZXJhdGVkIGZpbGVoYW5kbGUgZG9lcyBub3QgY29udGFp biB0aGUgaW5vZGUgaW5mb3JtYXRpb24NCj4gb2YNCj4gPiA+ID4gdGhlDQo+ID4gPiA+IHBhcmVu dCBkaXJlY3RvcnksdGhlIG5mc2RfYWNjZXB0YWJsZSBmdW5jdGlvbiBjYW4gYWxzbw0KPiByZWN1 cnNpdmVseQ0KPiA+ID4gPiBkZXRlcm1pbmUgd2hldGhlciB0aGUgcmVxdWVzdCBmaWxlIGV4Y2Vl ZHMgdGhlIGV4cG9ydCBwYXRoDQo+ID4gPiA+IGRlbnRyeS5FbmFibGluZw0KPiA+ID4gPiBzdWJ0 cmVlX2NoZWNrIHRvIGFkZCBwYXJlbnQgZGlyZWN0b3J5IGluZm9ybWF0aW9uIG9ubHkgYnJpbmdz DQo+IHNvbWUNCj4gPiA+ID4gdHJvdWJsZXMuDQo+ID4gPiANCj4gPiA+IEZpbGVzeXN0ZW1zIGRv bid0IG5lY2Vzc2FyaWx5IHByb3ZpZGUgdXMgd2l0aCBhbiBlZmZpY2llbnQgd2F5IHRvDQo+ID4g PiBmaW5kDQo+ID4gPiBwYXJlbnQgZGlyZWN0b3JpZXMgZnJvbSBhbnkgZ2l2ZW4gZmlsZS7CoCAo QW5kIG5vdGUgYSBzaW5nbGUgZmlsZQ0KPiBtYXkNCj4gPiA+IGhhdmUgbXVsdGlwbGUgcGFyZW50 IGRpcmVjdG9yaWVzLikNCj4gPiA+IA0KPiA+ID4gKEkgZG8gd29uZGVyIGlmIHdlIGNvdWxkIGRv IGJldHRlciBpbiB0aGUgZGlyZWN0b3J5IGNhc2UsDQo+ID4gPiB0aG91Z2guwqANCj4gV2UNCj4g PiA+IGFscmVhZHkgcmVjb25uZWN0IGRpcmVjdG9yaWVzIGFsbCB0aGUgd2F5IGJhY2sgdXAgdG8g dGhlIHJvb3QuKQ0KPiA+ID4gDQo+ID4gPiA+IEkgaGF2ZSBhIGJvbGQgaWRlYSwgd2h5IG5vdCBk aXJlY3RseSByZW1vdmUgdGhlIGZpbGUgaGFuZGxlDQo+ID4gPiA+IG1vZGlmaWNhdGlvbiBpbg0K PiA+ID4gPiBzdWJ0cmVlX2NoZWNrLCBhbmQgdGhlbiBub3JtYWxpemUgdGhlIGp1ZGdtZW50IG9m IHdoZXRoZXINCj4gPiA+ID4gZGVudHJ5DQo+ID4gPiA+IGV4Y2VlZHMNCj4gPiA+ID4gdGhlIGV4 cG9ydCBwb2ludCBkaXJlY3RvcnkgaW4gbmZzZF9hY2NlcHRhYmxlIChsaW5lIDM4IHRvIDU0IGlu DQo+ID4gPiA+IC9mcy9uZnNkL25mc2ZoLmMpIC4NCj4gPiA+ID4gDQo+ID4gPiA+IEFzIGZhciBh cyBJIHVuZGVyc3RhbmQgaXQsIHRoZSByZWFzb24gd2h5IHN1YnRyZWVfY2hlY2sgaXMgbm90DQo+ ID4gPiA+IHR1cm5lZCBvbiBieQ0KPiA+ID4gPiBkZWZhdWx0IGlzIHRoYXQgaXQgd2lsbCBjYXVz ZSBwcm9ibGVtcyB3aGVuIHJlYWRpbmcgYW5kIHdyaXRpbmcNCj4gPiA+ID4gZmlsZXMsDQo+ID4g PiA+IHJhdGhlciB0aGFuIGl0IHdhc3RlcyBtb3JlIHRpbWUgd2hlbiBuZnNkX2FjY2VwdGFibGUu DQo+ID4gPiA+IA0KPiA+ID4gPiBJbiBzaG9ydCxJIHRoaW5rIGl0J3Mgb3BlbiB0byBxdWVzdGlv biB3aGV0aGVyIHRoZSBzZWN1cml0eSBvZg0KPiB0aGUNCj4gPiA+ID4gc3lzdGVtDQo+ID4gPiA+ IGRlcGVuZHMgb24gdGhlIHVzZXIncyBjb21wbGV0ZSBjb3JyZWN0IGNvbmZpZ3VyYXRpb24odGhl IHN5c3RlbQ0KPiA+ID4gPiBkb2VzIG5vdA0KPiA+ID4gPiBwcm9oaWJpdCB0aGUgZXhwb3J0IG9m IGEgc3ViZGlyZWN0b3J5KS4NCj4gPiA+IA0KPiA+ID4gPiBFbmFibGluZyBzdWJ0cmVlX2NoZWNr IHRvIGFkZCBwYXJlbnQgZGlyZWN0b3J5aW5mb3JtYXRpb24gb25seQ0KPiA+ID4gPiBicmluZ3MN Cj4gPiA+ID4gc29tZSB0cm91Ymxlcy4NCj4gPiA+ID4gDQo+ID4gPiA+IEluIHNob3J0LEkgdGhp bmsgaXQncyBvcGVuIHRvIHF1ZXN0aW9uIHdoZXRoZXIgdGhlIHNlY3VyaXR5IG9mDQo+IHRoZQ0K PiA+ID4gPiBzeXN0ZW0gZGVwZW5kcyBvbiB0aGUgdXNlcidzIGNvbXBsZXRlIGNvcnJlY3QgY29u ZmlndXJhdGlvbih0aGUNCj4gPiA+ID4gc3lzdGVtDQo+ID4gPiA+IGRvZXMgbm90IHByb2hpYml0 IHRoZSBleHBvcnQgb2YgYSBzdWJkaXJlY3RvcnkpLg0KPiA+ID4gDQo+ID4gPiBJJ2QgbG92ZSB0 byByZXBsYWNlIHRoZSBleHBvcnQgaW50ZXJmYWNlIGJ5IG9uZSB0aGF0IHByb2hpYml0ZWQNCj4g PiA+IHN1YmRpcmVjdG9yeSBleHBvcnRzIChvciBhdCBsZWFzdCBtYWRlIGl0IG1vcmUgb2J2aW91 cyB3aGVyZQ0KPiB0aGV5J3JlDQo+ID4gPiBiZWluZyB1c2VkLikNCj4gPiA+IA0KPiA+ID4gQnV0 IGdpdmVuIHRoZSBpbnRlcmZhY2Ugd2UgYWxyZWFkeSBoYXZlLCB0aGF0IHdvdWxkIGJlIGENCj4g ZGlzcnVwdGl2ZQ0KPiA+ID4gYW5kDQo+ID4gPiB0aW1lLWNvbnN1bWluZyBjaGFuZ2UuDQo+ID4g PiANCj4gPiA+IEFub3RoZXIgYXBwcm9hY2ggaXMgdG8gYWRkIG1vcmUgZW50cm9weSB0byBmaWxl aGFuZGxlcyBzbyB0aGV5J3JlDQo+ID4gPiBoYXJkZXINCj4gPiA+IHRvIGd1ZXNzOyBzZWUgZS5n LjoNCj4gPiA+IA0KPiA+ID4gDQo+IMKgwqDCoMKgwqDCoMKgwqBodHRwczovL3d3dy5mc2wuY3Mu c3Rvbnlicm9vay5lZHUvZG9jcy9uZnNjcmFjay10ci9pbmRleC5odG1sDQo+ID4gPiANCj4gPiA+ IEluIHRoZSBlbmQgbm9uZSBvZiB0aGVzZSBjaGFuZ2UgdGhlIGZhY3QgdGhhdCBhIGZpbGVoYW5k bGUgaGFzIGFuDQo+ID4gPiBpbmZpbml0ZSBsaWZldGltZSwgc28gb25jZSBpdCdzIGxlYWtlZCwg dGhlcmUncyBub3RoaW5nIHlvdSBjYW4NCj4gZG8uwqANCj4gPiA+IFRoZQ0KPiA+ID4gYXV0aG9y cyBzdWdnZXN0IE5GU3Y0IHZvbGF0aWxlIGZpbGVoYW5kbGVzIGFzIGEgc29sdXRpb24gdG8gdGhh dA0KPiA+ID4gcHJvYmxlbSwgYnV0IEkgZG9uJ3QgdGhpbmsgdGhleSd2ZSB0aG91Z2h0IHRocm91 Z2ggdGhlIG9ic3RhY2xlcw0KPiB0bw0KPiA+ID4gbWFraW5nIHZvbGF0aWxlIGZpbGVoYW5kbGVz IHdvcmsuDQo+ID4gPiANCj4gPiA+IC0tYi4NCj4gPiANCj4gPiBUaGUgcG9pbnQgaXMgdGhhdCB0 aGVyZSBpcyBubyBnb29kIHNvbHV0aW9uIHRvIHRoZSAnSSB3YW50IHRvDQo+IGV4cG9ydCBhDQo+ ID4gc3VidHJlZSBvZiBhIGZpbGVzeXN0ZW0nIHByb2JsZW0sIGFuZCBzbyBpdCBpcyBwbGFpbmx5 IHdyb25nIHRvIHRyeQ0KPiB0bw0KPiA+IG1ha2UgYSBkZWZhdWx0IG9mIHRob3NlIHNvbHV0aW9u cywgd2hpY2ggYnJlYWsgdGhlIG9uZSBzYW5lIGNhc2Ugb2YNCj4gPiBleHBvcnRpbmcgdGhlIHdo b2xlIGZpbGVzeXN0ZW0uDQo+ID4gDQo+ID4gSnVzdCBhIHJlbWluZGVyIHRoYXQgd2Uga2lja2Vk IG91dCBzdWJ0cmVlX2NoZWNrIG5vdCBvbmx5IGJlY2F1c2UgYQ0KPiA+IHRyaXZpYWwgcmVuYW1l IG9mIGEgZmlsZSBicmVha3MgdGhlIGNsaWVudCdzIGFiaWxpdHkgdG8gcGVyZm9ybSBJL08NCj4g YnkNCj4gPiBpbnZhbGlkYXRpbmcgdGhlIGZpbGVoYW5kbGUuIEluIGFkZGl0aW9uLCB0aGF0IG9w dGlvbiBjYXVzZXMNCj4gZmlsZWhhbmRsZQ0KPiA+IGFsaWFzaW5nIChpLmUuIG11bHRpcGxlIGZp bGVoYW5kbGVzIHBvaW50aW5nIHRvIHRoZSBzYW1lIGZpbGUpDQo+IHdoaWNoIGlzDQo+ID4gYSBt YWpvciBQSVRBIGZvciBjbGllbnRzIHRvIHRyeSB0byBtYW5hZ2UgZm9yIG1vcmUgb3IgbGVzcyB0 aGUgc2FtZQ0KPiA+IHJlYXNvbiB0aGF0IGl0IGlzIGEgbWFqb3IgUElUQSB0byB0cnkgdG8gbWFu YWdlIHRoZXNlIGZpbGVzIHVzaW5nDQo+ID4gcGF0aHMuDQo+ID4gDQo+ID4gVGhlIGRpc2N1c3Np b24gb24gdm9sYXRpbGUgZmlsZWhhbmRsZXMgaW4gUkZDNTY2MSBkb2VzIHRyeSB0bw0KPiBhZGRy ZXNzDQo+ID4gc29tZSBvZiB0aGUgYWJvdmUgaXNzdWVzLCBidXQgZW5kcyB1cCBjb25jbHVkaW5n IHRoYXQgeW91IG5lZWQgdG8NCj4gPiBpbnRyb2R1Y2UgUE9TSVgtaW5jb21wYXRpYmxlIHJlc3Ry aWN0aW9ucywgc3VjaCBhcyB0cnlpbmcgdG8gYmFuDQo+ID4gcmVuYW1lcyBhbmQgZGVsZXRpb25z IG9mIG9wZW4gZmlsZXMgaW4gb3JkZXIgdG8gbWFrZSBpdCB3b3JrLg0KPiA+IA0KPiA+IE5vbmUg b2YgdGhlc2UgY29tcHJvbWlzZXMgYXJlIG5lY2Vzc2FyeSBpZiB5b3UgZXhwb3J0IGEgd2hvbGUN Cj4gPiBmaWxlc3lzdGVtIChvciBhIGhpZXJhcmNoeSBvZiB3aG9sZSBmaWxlc3lzdGVtcykuIFRo YXQncyB0aGUgc2FuZQ0KPiBjYXNlLg0KPiA+IFRoYXQncyB0aGUgb25lIHRoYXQgcGVvcGxlIHNo b3VsZCBkZWZhdWx0IHRvIHVzaW5nLg0KPiA+IA0KPiA+IC0tDQo+ID4gVHJvbmQgTXlrbGVidXN0 DQo+ID4gTGludXggTkZTIGNsaWVudCBtYWludGFpbmVyLCBIYW1tZXJzcGFjZQ0KPiA+IHRyb25k Lm15a2xlYnVzdEBoYW1tZXJzcGFjZS5jb20NCj4gPiANCj4gPiANCj4gPiANCg0KLS0gDQpUcm9u ZCBNeWtsZWJ1c3QNCkNUTywgSGFtbWVyc3BhY2UgSW5jDQo0OTg0IEVsIENhbWlubyBSZWFsLCBT dWl0ZSAyMDgNCkxvcyBBbHRvcywgQ0EgOTQwMjINCuKAiw0Kd3d3LmhhbW1lci5zcGFjZQ0KDQo=