Received: by 2002:ab2:3350:0:b0:1f4:6588:b3a7 with SMTP id o16csp1969907lqe; Tue, 9 Apr 2024 06:15:24 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVvhjyKHu/m8UTQiZdlmzlJRIwXNBgzJrBg/OoGp4Qf7tzWRt69lpPRQylfV5+uUXFg+aHf81iW/DNOJomrAfOl+lslz7Z1BnIgABzYtg== X-Google-Smtp-Source: AGHT+IHbmbJF0smJqPA0GLIsghkp/coeBKuvyJLupQc9FmkLyIESwE0tZxqy5m9+oVGZdmowLOuT X-Received: by 2002:a05:620a:22d9:b0:78d:5700:2ce0 with SMTP id o25-20020a05620a22d900b0078d57002ce0mr8220030qki.68.1712668524680; Tue, 09 Apr 2024 06:15:24 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1712668524; cv=pass; d=google.com; s=arc-20160816; b=EjeEYfDwUpaGpI/ZxYcDtV9Yts3kyZawn6w/rm+alyS5ySssB8f3vzmaETe3K1Cd6w NjT/XcRXRQKu/wp9JvfcsqesK+g/zbKTudMQJjarFtlrf7/02Hqtlmizz9f9rmmeBUSY 5hfGhNyf8J7wh9Lo7ty4KRbVr5UeZY+TQEGodYtKMFWb/CGi4/P46saT0ZcXb5JrkKgr BlaBtLdtYpeE4cQXmzCeIXBNV6yPM5wcM1aURm8VrCuc+jyGWJJGPqz1E/RsxG8PLsnC cdTcUb58y66cODLXP9aMeCxSCJ83YUTFGY2YBs4OY8mK/9w+U6DmvY1rr22/lJ+AnNvy 3epQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :user-agent:content-transfer-encoding:references:in-reply-to:date:cc :to:from:subject:message-id:dkim-signature; bh=nmsHvnGuQ/fXvGo1l3oBKGNiQnMN/3o2c/y+lMb3nUM=; fh=5CPRTKQu/Cd/K+6FwP7wLOZ+2L89098kNryMTvyzAKQ=; b=H9XzoMgW6pDz7+fO0r+qljhOAyP8rZT/Y/gAa3EzdxK0yYyKzPo+6YtGywgtcGAGBn HPI2BT3wHO5m27wl8TczAn2wM5pHSjiryOorsK0ua2LkyytSWLWCl/QcwaUZPU4d68ga +iRCb7mnIIJBN71FhL3mgi6rLxlU/Jtr52yhX3uWxv2iA5bHdK3yp2pzHYpCJquGp4b4 7RBRyFXMhwL/XWtVclsfXjH2+k/edYg2NgDx7ax7mqGDi/oKydI8TytML6DCw8vP4IWW uAnOQUrppPX07GYyF+7YDiRy2Q56IN2qwzFc+8Iy/1CbjhEaOevTXnrLXa8G2zbiObbO ueqg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@microchip.com header.s=mchp header.b="jEMIY/Jb"; arc=pass (i=1 spf=pass spfdomain=microchip.com dkim=pass dkdomain=microchip.com dmarc=pass fromdomain=microchip.com); spf=pass (google.com: domain of linux-kernel+bounces-136924-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-136924-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=microchip.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id sq13-20020a05620a4acd00b0078a078f100csi10097236qkn.333.2024.04.09.06.15.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Apr 2024 06:15:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-136924-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@microchip.com header.s=mchp header.b="jEMIY/Jb"; arc=pass (i=1 spf=pass spfdomain=microchip.com dkim=pass dkdomain=microchip.com dmarc=pass fromdomain=microchip.com); spf=pass (google.com: domain of linux-kernel+bounces-136924-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-136924-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=microchip.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 456031C22745 for ; Tue, 9 Apr 2024 13:15:24 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 3D41A12F593; Tue, 9 Apr 2024 13:15:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=microchip.com header.i=@microchip.com header.b="jEMIY/Jb" Received: from esa.microchip.iphmx.com (esa.microchip.iphmx.com [68.232.154.123]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7D9A112DDAB; Tue, 9 Apr 2024 13:15:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=68.232.154.123 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712668503; cv=none; b=uZijSFQO2+zdjAvJv5fGjFBtzC9Yx0q7Mh0Y0NURUKWe197At+zdIi8MfFT8dRk/WA9jcQRqPRBzxcI832OYrTes9hY00hCRNGCEjbfxiG1D9zzBS2pd3o8DGSEwbyfne76h4pFXvL+/unGZT6OG8h9sduOq78eo3z3ohye3ujc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712668503; c=relaxed/simple; bh=nmsHvnGuQ/fXvGo1l3oBKGNiQnMN/3o2c/y+lMb3nUM=; h=Message-ID:Subject:From:To:CC:Date:In-Reply-To:References: Content-Type:MIME-Version; b=vDtj+Kh6iU+J7GApxbtRlX3cxuHgRbyLp39fYnANh+CKVIOisbzIx8vsJK5/51ceme7SKMI48nl1AFqF+wJCne3Kz6ezF5lmamzw0IKDNB8TTHDusOEY6kSWq5AUBjftqEQWFAQWZDNGOhpAUoguTaS/fkxtNxcxzqEj/kf57Xc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=microchip.com; spf=pass smtp.mailfrom=microchip.com; dkim=pass (2048-bit key) header.d=microchip.com header.i=@microchip.com header.b=jEMIY/Jb; arc=none smtp.client-ip=68.232.154.123 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=microchip.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=microchip.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1712668500; x=1744204500; h=message-id:subject:from:to:cc:date:in-reply-to: references:content-transfer-encoding:mime-version; bh=nmsHvnGuQ/fXvGo1l3oBKGNiQnMN/3o2c/y+lMb3nUM=; b=jEMIY/JbCtuP42kNVCkCesHt9yLyDfjDjDQ63Qrt+HSjM+Ojv+BuLZeo GZ4XEuz/XMCNm03ysN7VufmgXBK1ieKWJGgE93VYhoW7p2nN6s4Htii4N 6/GD3Vv4Xx56MHtmliVx6I/m+3q2xBZOLDnOlFUXp4TQSHN3Us9+zPgPW HeJ0dSMz41ajHqWzOP3tHWulpfrV736A+IfgM9RihD8iYPd6dtCAOJWYq 1Vu/QiuyurVTiWZ9gLyXgU2pvTmBWgBgHzWNazmlWrG6cV1y8RKMUYJxN +lpZpJogMV4tMKApHiL7fpl1RUXmxHK22itDRBTLmv47QqNSexRzDjLp+ w==; X-CSE-ConnectionGUID: 7xldgr/XTPqTSwUwQp/tIQ== X-CSE-MsgGUID: Z5WbEmexQMeI6c6AzzY7kQ== X-IronPort-AV: E=Sophos;i="6.07,189,1708412400"; d="scan'208";a="20723685" X-Amp-Result: SKIPPED(no attachment in message) Received: from unknown (HELO email.microchip.com) ([170.129.1.10]) by esa2.microchip.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 09 Apr 2024 06:14:59 -0700 Received: from chn-vm-ex01.mchp-main.com (10.10.85.143) by chn-vm-ex04.mchp-main.com (10.10.85.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 9 Apr 2024 06:14:58 -0700 Received: from DEN-DL-M31857.microsemi.net (10.10.85.11) by chn-vm-ex01.mchp-main.com (10.10.85.143) with Microsoft SMTP Server id 15.1.2507.35 via Frontend Transport; Tue, 9 Apr 2024 06:14:56 -0700 Message-ID: <276efefdc8904eff8f4d9f836a78c6ffcc282d7e.camel@microchip.com> Subject: Re: [PATCH net] net: sparx5: flower: fix fragment flags handling From: Steen Hegelund To: =?ISO-8859-1?Q?Asbj=F8rn?= Sloth =?ISO-8859-1?Q?T=F8nnesen?= , Lars Povlsen , Daniel Machon , "David S. Miller" , "Eric Dumazet" , Jakub Kicinski , "Paolo Abeni" CC: , , Date: Tue, 9 Apr 2024 15:14:55 +0200 In-Reply-To: <20240408172738.96447-1-ast@fiberby.net> References: <20240408172738.96447-1-ast@fiberby.net> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 User-Agent: Evolution 3.44.4-0ubuntu2 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 SGkgQXNiasO4cm4sCgoKT24gTW9uLCAyMDI0LTA0LTA4IGF0IDE3OjI3ICswMDAwLCBBc2Jqw7hy biBTbG90aCBUw7hubmVzZW4gd3JvdGU6Cj4gW1NvbWUgcGVvcGxlIHdobyByZWNlaXZlZCB0aGlz IG1lc3NhZ2UgZG9uJ3Qgb2Z0ZW4gZ2V0IGVtYWlsIGZyb20KPiBhc3RAZmliZXJieS5uZXQuIExl YXJuIHdoeSB0aGlzIGlzIGltcG9ydGFudCBhdAo+IGh0dHBzOi8vYWthLm1zL0xlYXJuQWJvdXRT ZW5kZXJJZGVudGlmaWNhdGlvbsKgXQo+IAo+IEVYVEVSTkFMIEVNQUlMOiBEbyBub3QgY2xpY2sg bGlua3Mgb3Igb3BlbiBhdHRhY2htZW50cyB1bmxlc3MgeW91Cj4ga25vdyB0aGUgY29udGVudCBp cyBzYWZlCj4gCj4gSSBub3RpY2VkIHRoYXQgb25seSAzIG91dCBvZiB0aGUgNCBpbnB1dCBiaXRz IHdlcmUgdXNlZCwKPiBtdC5rZXktPmZsYWdzICYgRkxPV19ESVNfSVNfRlJBR01FTlQgd2FzIG5l dmVyIGNoZWNrZWQuCj4gCj4gSW4gb3JkZXIgdG8gYXZvaWQgYSBjb21wbGljYXRlZCBtYXplLCBJ IGNvbnZlcnRlZCBpdCB0bwo+IHVzZSBhIDE2IGJ5dGUgbWFwcGluZyB0YWJsZS4KPiAKPiBBcyBz aG93biBpbiB0aGUgdGFibGUgYmVsb3cgdGhlIG9sZCBoZXVyaXN0aWNzIGRvZXNuJ3QKPiBhbHdh eXMgZG8gdGhlIHJpZ2h0IHRoaW5nLCBpZS4gd2hlbiBGTE9XX0RJU19JU19GUkFHTUVOVD0xLzEK PiB0aGVuIGl0IHVzZWQgdG8gb25seSBtYXRjaCBmb2xsb3ctdXAgZnJhZ21lbnQgcGFja2V0cy4K PiAKPiBIZXJlIGFyZSBhbGwgdGhlIGNvbWJpbmF0aW9ucywgYW5kIHRoZWlyIHJlc3VsdGluZyBu ZXcvb2xkCj4gVkNBUCBrZXkvbWFzayBmaWx0ZXI6Cj4gCj4gwqAgLy0gRkxPV19ESVNfSVNfRlJB R01FTlQgKGtleS9tYXNrKQo+IMKgIHzCoMKgwqAgLy0gRkxPV19ESVNfRklSU1RfRlJBRyAoa2V5 L21hc2spCj4gwqAgfMKgwqDCoCB8wqDCoMKgIC8tLSBuZXcgVkNBUCBmcmFnbWVudCAoa2V5L21h c2spCj4gwqAgdsKgwqDCoCB2wqDCoMKgIHbCoMKgwqAgdi0gb2xkIFZDQVAgZnJhZ21lbnQgKGtl eS9tYXNrKQo+IAo+IMKgMC8wwqAgMC8wwqAgLS8twqAgLS8twqDCoMKgwqAgaW1wb3NzaWJsZSAo ZHVlIHRvIGVudHJ5IGNvbmQuIG9uIG1hc2spCj4gwqAwLzDCoCAwLzHCoCAtLy3CoCAwLzMgISHC oCBpbnZhbGlkIChjYW4ndCBtYXRjaCBub24tZnJhZ21lbnQgKyBmb2xsb3ctdXAKPiBmcmFnKQo+ IMKgMC8wwqAgMS8wwqAgLS8twqAgLS8twqDCoMKgwqAgaW1wb3NzaWJsZSAoa2V5ID4gbWFzaykK PiDCoDAvMMKgIDEvMcKgIDEvM8KgIDEvM8KgwqDCoMKgIGZpcnN0IGZyYWdtZW50Cj4gCj4gwqAw LzHCoCAwLzDCoCAwLzPCoCAzLzMgISHCoCBub3QgZnJhZ21lbnRlZAo+IMKgMC8xwqAgMC8xwqAg MC8zwqAgMy8zICEhwqAgbm90IGZyYWdtZW50ZWQgKCsgbm90IGZpcnN0IGZyYWdtZW50KQo+IMKg MC8xwqAgMS8wwqAgLS8twqAgLS8twqDCoMKgwqAgaW1wb3NzaWJsZSAoa2V5ID4gbWFzaykKPiDC oDAvMcKgIDEvMcKgIC0vLcKgIDEvMyAhIcKgIGludmFsaWQgKG5vbi1mcmFnbWVudCBhbmQgZmly c3QgZnJhZykKPiAKPiDCoDEvMMKgIDAvMMKgIC0vLcKgIC0vLcKgwqDCoMKgIGltcG9zc2libGUg KGtleSA+IG1hc2spCj4gwqAxLzDCoCAwLzHCoCAtLy3CoCAtLy3CoMKgwqDCoCBpbXBvc3NpYmxl IChrZXkgPiBtYXNrKQo+IMKgMS8wwqAgMS8wwqAgLS8twqAgLS8twqDCoMKgwqAgaW1wb3NzaWJs ZSAoa2V5ID4gbWFzaykKPiDCoDEvMMKgIDEvMcKgIC0vLcKgIC0vLcKgwqDCoMKgIGltcG9zc2li bGUgKGtleSA+IG1hc2spCj4gCj4gwqAxLzHCoCAwLzDCoCAxLzHCoCAzLzMgISHCoCBzb21lIGZy YWdtZW50Cj4gwqAxLzHCoCAwLzHCoCAzLzPCoCAzLzPCoMKgwqDCoCBmb2xsb3ctdXAgZnJhZ21l bnQKPiDCoDEvMcKgIDEvMMKgIC0vLcKgIC0vLcKgwqDCoMKgIGltcG9zc2libGUgKGtleSA+IG1h c2spCj4gwqAxLzHCoCAxLzHCoCAxLzPCoCAxLzPCoMKgwqDCoCBmaXJzdCBmcmFnbWVudAo+IAo+ IEluIHRoZSBkYXRhc2hlZXQgdGhlIFZDQVAgZnJhZ21lbnQgdmFsdWVzIGFyZSBkb2N1bWVudGVk IGFzOgo+IMKgMCA9IG5vIGZyYWdtZW50Cj4gwqAxID0gaW5pdGlhbCBmcmFnbWVudAo+IMKgMiA9 IHN1c3BpY2lvdXMgZnJhZ21lbnQKPiDCoDMgPSB2YWxpZCBmb2xsb3ctdXAgZnJhZ21lbnQKPiAK PiBSZXN1bHQ6IDMgY29tYmluYXRpb25zIG1hdGNoIHRoZSBvbGQgYmVoYXZpb3IsCj4gwqDCoMKg wqDCoMKgwqAgMyBjb21iaW5hdGlvbnMgaGF2ZSBiZWVuIGNvcnJlY3RlZCwKPiDCoMKgwqDCoMKg wqDCoCAyIGNvbWJpbmF0aW9ucyBhcmUgbm93IGludmFsaWQsIGFuZCBmYWlsLAo+IMKgwqDCoMKg wqDCoMKgIDggY29tYmluYXRpb25zIGFyZSBpbXBvc3NpYmxlLgoKR29vZCB3b3JrIG9tIG1hcHBp bmcgdGhpcyBvdXQgaW4gZGV0YWlsLgoKPiAKPiBJdCBzaG91bGQgbm93IGJlIGFsaWduZWQgd2l0 aCBob3cgRkxPV19ESVNfSVNfRlJBR01FTlQKPiBhbmQgRkxPV19ESVNfRklSU1RfRlJBRyBpcyBz ZXQgaW4gX19za2JfZmxvd19kaXNzZWN0KCkgaW4KPiBuZXQvY29yZS9mbG93X2Rpc3NlY3Rvci5j Cj4gCj4gU2luY2UgdGhlIFZDQVAgZnJhZ21lbnQgdmFsdWVzIGFyZSBub3QgYSBiaXRmaWVsZCwg d2UgaGF2ZQo+IHRvIGlnbm9yZSB0aGUgc3VzcGljaW91cyBmcmFnbWVudCB2YWx1ZSwgZWcuIHdo ZW4gbWF0Y2hpbmcKPiBvbiBhbnkga2luZCBvZiBmcmFnbWVudCB3aXRoIEZMT1dfRElTX0lTX0ZS QUdNRU5UPTEvMS4KPiAKPiBPbmx5IGNvbXBpbGUgdGVzdGVkLCBhbmQgbG9naWMgdGVzdGVkIGlu IHVzZXJzcGFjZSwgYXMgSQo+IHVuZm9ydHVuYXRlbHkgZG9uJ3QgaGF2ZSBhY2Nlc3MgdG8gdGhp cyBzd2l0Y2ggY2hpcCAoeWV0KS4KPiAKPiBGaXhlczogZDZjMjk2NGRiM2ZlICgibmV0OiBtaWNy b2NoaXA6IHNwYXJ4NTogQWRkaW5nIG1vcmUgdGMgZmxvd2VyCj4ga2V5cyBmb3IgdGhlIElTMiBW Q0FQIikKPiBTaWduZWQtb2ZmLWJ5OiBBc2Jqw7hybiBTbG90aCBUw7hubmVzZW4gPGFzdEBmaWJl cmJ5Lm5ldD4KPiAtLS0KPiDCoC4uLi9taWNyb2NoaXAvc3Bhcng1L3NwYXJ4NV90Y19mbG93ZXIu Y8KgwqDCoMKgwqDCoCB8IDYwICsrKysrKysrKysrKy0tLS0tCj4gLS0KPiDCoDEgZmlsZSBjaGFu Z2VkLCAzOSBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWljcm9jaGlwL3NwYXJ4NS9zcGFyeDVfdGNfZmxvd2VyLmMK PiBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21pY3JvY2hpcC9zcGFyeDUvc3Bhcng1X3RjX2Zsb3dl ci5jCj4gaW5kZXggNTIzZTBjNDcwODk0Zi4uMmY4N2NjYjhjZjhjOCAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL25ldC9ldGhlcm5ldC9taWNyb2NoaXAvc3Bhcng1L3NwYXJ4NV90Y19mbG93ZXIuYwo+ ICsrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21pY3JvY2hpcC9zcGFyeDUvc3Bhcng1X3RjX2Zs b3dlci5jCj4gQEAgLTEzNSw2ICsxMzUsMjYgQEAgc3Bhcng1X3RjX2Zsb3dlcl9oYW5kbGVyX2Jh c2ljX3VzYWdlKHN0cnVjdAo+IHZjYXBfdGNfZmxvd2VyX3BhcnNlX3VzYWdlICpzdCkKPiDCoMKg wqDCoMKgwqDCoCByZXR1cm4gZXJyOwo+IMKgfQo+IAo+ICsvKiBTcGFyWC01IFZDQVAgZnJhZ21l bnQgdHlwZXM6Cj4gKyAqIDAgPSBubyBmcmFnbWVudCwgMSA9IGluaXRpYWwgZnJhZ21lbnQsCj4g KyAqIDIgPSBzdXNwaWNpb3VzIGZyYWdtZW50LCAzID0gdmFsaWQgZm9sbG93LXVwIGZyYWdtZW50 Cj4gKyAqLwo+ICtlbnVtIHvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyog a2V5IC8gbWFzayAqLwo+ICvCoMKgwqDCoMKgwqAgRlJBR19OT1TCoMKgID0gMHgwMywgLyogMCAv IDMgKi8KPiArwqDCoMKgwqDCoMKgIEZSQUdfU09NRcKgID0gMHgxMSwgLyogMSAvIDEgKi8KPiAr wqDCoMKgwqDCoMKgIEZSQUdfRklSU1QgPSAweDEzLCAvKiAxIC8gMyAqLwo+ICvCoMKgwqDCoMKg wqAgRlJBR19MQVRFUiA9IDB4MzMsIC8qIDMgLyAzICovCj4gK8KgwqDCoMKgwqDCoCBGUkFHX0lO VkFMID0gMHhmZiwgLyogaW52YWxpZCAqLwo+ICt9Owo+ICsKPiArLyogRmxvd2VyIGZyYWdtZW50 IGZsYWcgdG8gVkNBUCBmcmFnbWVudCB0eXBlIG1hcHBpbmcgKi8KClBsZWFzZSBhZGQgaW5mbyBh Ym91dCB0aGUgeCwgeSBkaW1lbnNpb25zOiAoZmlyc3RfZnJhZywgZnJhZ2dlZCkKCj4gK3N0YXRp YyBjb25zdCB1OCBzcGFyeDVfdmNhcF9mcmFnX21hcFs0XVs0XSA9IHsKPiArwqDCoMKgwqDCoMKg IHsgRlJBR19JTlZBTCwgRlJBR19JTlZBTCwgRlJBR19JTlZBTCwgRlJBR19GSVJTVCB9LAo+ICvC oMKgwqDCoMKgwqAgeyBGUkFHX05PVCzCoMKgIEZSQUdfTk9ULMKgwqAgRlJBR19JTlZBTCwgRlJB R19JTlZBTCB9LAo+ICvCoMKgwqDCoMKgwqAgeyBGUkFHX0lOVkFMLCBGUkFHX0lOVkFMLCBGUkFH X0lOVkFMLCBGUkFHX0lOVkFMIH0sCj4gK8KgwqDCoMKgwqDCoCB7IEZSQUdfU09NRSzCoCBGUkFH X0xBVEVSLCBGUkFHX0lOVkFMLCBGUkFHX0ZJUlNUIH0KPiArfTsKPiArCgoKSSB3b3VsZCBwcmVm ZXIgdGhlIGVudW1zIGFuZCB0YWJsZSB0byBiZSBhdCB0aGUgdG9wIG9mIHRoZSBmaWxlIGluc3Rl YWQKb2YgaGVyZS4KCj4gwqBzdGF0aWMgaW50Cj4gwqBzcGFyeDVfdGNfZmxvd2VyX2hhbmRsZXJf Y29udHJvbF91c2FnZShzdHJ1Y3QKPiB2Y2FwX3RjX2Zsb3dlcl9wYXJzZV91c2FnZSAqc3QpCj4g wqB7Cj4gQEAgLTE0NSwyOSArMTY1LDI3IEBAIHNwYXJ4NV90Y19mbG93ZXJfaGFuZGxlcl9jb250 cm9sX3VzYWdlKHN0cnVjdAo+IHZjYXBfdGNfZmxvd2VyX3BhcnNlX3VzYWdlICpzdCkKPiDCoMKg wqDCoMKgwqDCoCBmbG93X3J1bGVfbWF0Y2hfY29udHJvbChzdC0+ZnJ1bGUsICZtdCk7Cj4gCj4g wqDCoMKgwqDCoMKgwqAgaWYgKG10Lm1hc2stPmZsYWdzKSB7Cj4gLcKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgaWYgKG10Lm1hc2stPmZsYWdzICYgRkxPV19ESVNfRklSU1RfRlJBRykgewo+ IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAobXQua2V5 LT5mbGFncyAmIEZMT1dfRElTX0ZJUlNUX0ZSQUcpIHsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZhbHVlID0gMTsgLyogaW5p dGlhbCBmcmFnbWVudCAqLwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbWFzayA9IDB4MzsKPiAtwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfSBlbHNlIHsKPiAtwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChtdC5tYXNrLT5m bGFncyAmCj4gRkxPV19ESVNfSVNfRlJBR01FTlQpIHsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB2 YWx1ZSA9IDM7IC8qIGZvbGxvdyB1cAo+IGZyYWdtZW50ICovCj4gLcKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgbWFzayA9IDB4MzsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIH0gZWxzZSB7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdmFs dWUgPSAwOyAvKiBubyBmcmFnbWVudCAqLwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG1hc2sgPSAw eDM7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB9Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIH0KPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9IGVsc2Ugewo+IC3CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAobXQubWFzay0+ZmxhZ3Mg JiBGTE9XX0RJU19JU19GUkFHTUVOVCkgewo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdmFsdWUgPSAzOyAvKiBmb2xsb3cgdXAg ZnJhZ21lbnQgKi8KPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIG1hc2sgPSAweDM7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIH0gZWxzZSB7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB2YWx1ZSA9IDA7IC8qIG5vIGZy YWdtZW50ICovCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBtYXNrID0gMHgzOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB9Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdTgg aXNfZnJhZ19rZXkgPSAhIShtdC5rZXktPmZsYWdzICYKPiBGTE9XX0RJU19JU19GUkFHTUVOVCk7 Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdTggaXNfZnJhZ19tYXNrID0gISEobXQu bWFzay0+ZmxhZ3MgJgo+IEZMT1dfRElTX0lTX0ZSQUdNRU5UKTsKPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCB1OCBpc19mcmFnX2lkeCA9IChpc19mcmFnX2tleSA8PCAxKSB8IGlzX2Zy YWdfbWFzazsKPiArCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdTggZmlyc3RfZnJh Z19rZXkgPSAhIShtdC5rZXktPmZsYWdzICYKPiBGTE9XX0RJU19GSVJTVF9GUkFHKTsKPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1OCBmaXJzdF9mcmFnX21hc2sgPSAhIShtdC5tYXNr LT5mbGFncyAmCj4gRkxPV19ESVNfRklSU1RfRlJBRyk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgdTggZmlyc3RfZnJhZ19pZHggPSAoZmlyc3RfZnJhZ19rZXkgPDwgMSkgfAo+IGZp cnN0X2ZyYWdfbWFzazsKPiArCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyogbG9v a3VwIHZlcmRpY3QgYmFzZWQgb24gdGhlIDIgKyAyIGlucHV0IGJpdHMgKi8KPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB1OCB2ZHQgPQo+IHNwYXJ4NV92Y2FwX2ZyYWdfbWFwW2lzX2Zy YWdfaWR4XVtmaXJzdF9mcmFnX2lkeF07Cj4gKwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGlmICh2ZHQgPT0gRlJBR19JTlZBTCkgewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBOTF9TRVRfRVJSX01TR19NT0Qoc3QtPmZjby0+Y29tbW9uLmV4 dGFjaywKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAibWF0Y2ggb24gaW52YWxpZCBmcmFn bWVudAo+IGZsYWcgY29tYmluYXRpb24iKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIC1FSU5WQUw7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIH0KPiAKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvKiBleHRyYWN0 IFZDQVAgZnJhZ21lbnQga2V5IGFuZCBtYXNrIGZyb20gdmVyZGljdCAqLwo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHZhbHVlID0gKHZkdCA+PiA0KSAmIDB4MzsKPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBtYXNrID0gdmR0ICYgMHgzOwo+ICsKPiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgZXJyID0gdmNhcF9ydWxlX2FkZF9rZXlfdTMyKHN0LT52cnVsZSwK PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBWQ0FQX0tGX0wzX0ZSQUdNRU5UX1RZUEUs Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdmFsdWUsIG1hc2spOwo+IC0tCj4gMi40 My4wCj4gCgpUaGFua3MgZm9yIHRoZSBwYXRjaCEKClJldmlld2VkLWJ5OiBTdGVlbiBIZWdlbHVu ZCA8U3RlZW4uSGVnZWx1bmRAbWljcm9jaGlwLmNvbT4KCkJSClN0ZWVuCg==