From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id D0D7C44F5B for ; Mon, 12 Jun 2023 07:26:41 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3471E68C217; Mon, 12 Jun 2023 10:26:38 +0300 (EEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C3F1768C1EC for ; Mon, 12 Jun 2023 10:26:23 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1686554793; x=1718090793; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=yNKvB0CaWbVqYuUXnX227sQ++YOzDIs9Rii2wD4hO1s=; b=G93U/fLWdtkwhxkijjoAnIdGJpyehX3TNwwJFnMzOUAnABnp6DLCBqjQ LWwL3ZI9eFwGuEzNuLVJYeCLEMYYnN5DWBhqk5NEh719rBVl1pnNmOzqt 4v9NzoYZu0Jj05ZIqdYZ441ti3nNszB1W1lGHQDo6wtBQ/aUo+aOo77CM 1aXNxkl44B/CC/sDcHBecAjEw9A/epRWe/tckqISxn3+mbgTxE9m7Zd2r uLdnY1stCZPfJGPG2VapvS2X4JGfAjK1gOukPo2lVZPN9x+zpOng0BK0I USVJ35jWzjaNM2kVS6VQDA99eesrN2Ejwns6ohW4F7IqQQaNZw+EwgO+B g==; X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="386351688" X-IronPort-AV: E=Sophos;i="6.00,236,1681196400"; d="scan'208";a="386351688" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2023 00:26:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="776245408" X-IronPort-AV: E=Sophos;i="6.00,236,1681196400"; d="scan'208";a="776245408" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga008.fm.intel.com with ESMTP; 12 Jun 2023 00:25:42 -0700 Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Mon, 12 Jun 2023 00:25:36 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Mon, 12 Jun 2023 00:25:36 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.177) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Mon, 12 Jun 2023 00:25:36 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QgFFQjXm+gVTFSXrpfPcgcnDjfE+YKIk9DHZJr0wa6FFowtHRY3/dSqnymKxtctCUzamNKIAP8cp+xEA/joR+vcDtc5NadNVtVe0bhq0wGzd/IU1El9yupJSSgrN3NrhV7iCINJBmKCWFvVTa9S1qW7UUiYdJX0mzKJfFSfCoNfVXaBiFjCNkflN22/6vEIo05k41GgW7zQ1WrrYkR/7G4HdPaGyoMww6naTQxNHfSBAsmprNy7u4U8yQ3dymjWKOU8A1B4TR/UyESm0jQvkn9FWMovcOnCAi7nzO5B0PE8ikUD2tADxgwbKaoM+7r86nBgIPHcjH4XUc6C2ys0hTQ== 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=yNKvB0CaWbVqYuUXnX227sQ++YOzDIs9Rii2wD4hO1s=; b=ddjrLWzDP0u+wsdvm99P4nkkWdxE6meJ0l/tnYj0RrGLv9S9kvTNfaHch/J/M5F+hWRg0uuo+IynK0pctGOvp9CpjFfbQE1z/jtFMLN4QvGH6x8bisE/+n072xTbZ5a6GGW6nENueWp7UnYfwn9tevEVY6N9t/EUhks4rpyvXpOAjTJOpWq9+3WiyJgy1hSMDQDjxKHXs1TqmWpQxct3gVqCtAfIjjWIbQNoJn84yWoKI+Yr8APaKmUPgQT76nug7q2FDl6Hdak2wrUGm5/+rnBkcLiK5JXFByyOtnhGwkFlwB0INXrxTkYQvEAy0CB+iXxuGYG6zs5/ACNkPzfooQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from BN9PR11MB5515.namprd11.prod.outlook.com (2603:10b6:408:104::8) by MW3PR11MB4540.namprd11.prod.outlook.com (2603:10b6:303:56::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.29; Mon, 12 Jun 2023 07:25:34 +0000 Received: from BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::16c7:a931:6718:45bf]) by BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::16c7:a931:6718:45bf%7]) with mapi id 15.20.6477.028; Mon, 12 Jun 2023 07:25:34 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] [PATCH v1 3/3] lavfi/{denoise, procamp, scale, sharpness}_vaapi: Add passthrough mode Thread-Index: AQHZko35TKTOluLZ6kesZJau1l6Opq+G2QmA Date: Mon, 12 Jun 2023 07:25:34 +0000 Message-ID: <31de0ca0022dc90f4ece7127cad1c3ec85a35c92.camel@intel.com> References: <20230530002950.1590409-1-fei.w.wang@intel.com> <20230530002950.1590409-3-fei.w.wang@intel.com> In-Reply-To: <20230530002950.1590409-3-fei.w.wang@intel.com> Accept-Language: en-AS, zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.44.4-0ubuntu1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BN9PR11MB5515:EE_|MW3PR11MB4540:EE_ x-ms-office365-filtering-correlation-id: 3d24cc54-9152-4737-3391-08db6b16363a x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: DrxQ3CcjO63uo64ygcwDS6i3l7aiCJNjuLy0YxdheaTNOJUgEnx4sYTrd6x/TCKFofBv8trUVxwTtjC4WK7e4GVp9Bai89gGLKfkmwcEw70oBCLxeVoj6NNxNzxSoKzNGL31Q0IBC5VZuxzi1bk4Zo45aDVkfhWI7bhvfL3ufjI0MfGyDnRtAUMvBY9uYnEg+nBdRVsndZK5zFlZKlLFMHe6fgBMi2NHQ240tMmRvvVHLavYS3g1/ekrNvHacqxFk91yoqR7kMFZMoj4/cJZlQAQQmQ8YeWp1BrCthRJBhUPkZTsjQQ/khTV3HWNmT4FcKjWL7Wl7ge2eatIuqIKIdJj/xgiyEUh1exjaRw3fvf4MHPI6JTyp2yu44ZR78kZKqsg+N76zwDhEiy6l12bWv54rDrFjBtBlTF7vNLR4uYX+nWz3XM/OgApyPo9e5SA1PgNgB76o1yObtDMI7TRqd2Jj9Iwm8ACVDxAo/W20LZcR4RcJoG2V4ITPkGt+VcuoBDhjmC2ihrxCwJTPQQ9vPkWF60vPOyEa+hcsELHfRI+faSdNwIeAI6mBvmdpDMXYKyZfKzwNlOmj4sDAubFFVY9olz68/09PiFAGO+Fan7c1XwNDD9GYjRSZdyCFAm/ x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN9PR11MB5515.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(346002)(376002)(39860400002)(366004)(396003)(136003)(451199021)(86362001)(6486002)(316002)(8676002)(41300700001)(82960400001)(83380400001)(5660300002)(26005)(38100700002)(6512007)(6506007)(71200400001)(122000001)(8936002)(38070700005)(66446008)(66476007)(36756003)(66556008)(64756008)(76116006)(66946007)(6916009)(91956017)(478600001)(186003)(2906002)(2616005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bWNlUDRuZnNUZU5sWDArQmx3OTAzRzF6ZnFBdnpyTmQ3Q2REMGNaaDVGeHU4?= =?utf-8?B?bHA2VG5UNWhEVXF5eWhORjhISnh2NWZkUmljNStHU2VmdVZaVWNlWGZFS0Ju?= =?utf-8?B?ZFA2aXNBTlUrZHFNT29TMzZEeml1V2xnMFZLZjBaMndZR0dMb1VIeVBWc3lY?= =?utf-8?B?S2t2cmZjUkZZbjdhUWw1RjgzUFZYQ2xUMTNlTHVHYlFxVmdxY29SNGhGeGxw?= =?utf-8?B?LzVpV2dUQWw0cG9aZlV2REZQYXJJZ0VLWmRkNG9UUHdueWVUYWRpVlhNRXpW?= =?utf-8?B?QWxySGxDYlN1Wlk5ZXJib3RGRXBsODdCR0g3aS9DU045akZGaEcxaHlDNSs4?= =?utf-8?B?T281SUpuVzZuU0JSbHdSU1RBY3p4MVpJQ3dML3AyOXVOSThKTnpuaTYrdlpM?= =?utf-8?B?SDlWSHdaSDNKM0YzdDNpdlhLUjdtcHRpYStKZ2w1MUlCNlQwQVZKU1pQRzN4?= =?utf-8?B?Ym8veWFtd0ozSk9qa09UL0owck5lYSt3UFRFVi9CQ0NJRTlvVUJWRkM2WFF1?= =?utf-8?B?cTZxaFJBa2h0dndNaG9JWDBZaGxOczIrZ1VQd3NJWGRST1ZTUlBpdDBGUWdo?= =?utf-8?B?UlRjUEdFL3JnSG9KUUxaSk9IQjBSTUpVSTV5MlVnZHZRNlhDempsVE0yMU82?= =?utf-8?B?c2JxSTNnSXhEZFdyTkp0NnBKUmxSM0ptYjltbVF1UVpVeWxvZnFyNzJLZjRN?= =?utf-8?B?dmU4c0xCQXRxdHE0T3BTWUI1bEhUemc5TlZkY2lIZGVHdVFDcEY5b1pEN2JU?= =?utf-8?B?WXMvN3paSHdKdXB0dU5GS3RHTTE4T2plbyt1VnRabG1ZMDZvVm1BbEpCeEVl?= =?utf-8?B?Wit6NWR6NnY2cTRBR3VzVjZBb0tCS2FxSnl5bFFSVWNoS24wVWF1ZUorQUgz?= =?utf-8?B?UWsxQXV3NGVWNi9qekQrNTlGZUhDd243QkovVldwWTduY3pnVDcvaXJxdVFJ?= =?utf-8?B?K3pkVHM0N1BHdmVUd3FoZ2pTTWFzUmIwT09LOVlwRWpodjVHWFRkOGF3UTlO?= =?utf-8?B?L0VuSkp3ZnVzcDZleVNaUFhYTDN5N0NpVUFyU3pubFVnZXFUMy9seUZyTDNT?= =?utf-8?B?RTcvNTZTOU9SQnZPbDZoRjFsNytYSnhpWGlTcmRlc0lNckk0K1ZoNXEyTjIy?= =?utf-8?B?Y2E0SUpLU0JVUXlQSld5TG9ldTN4MjdpM0lVcXNLK21uTThacXhTYmhEa091?= =?utf-8?B?MDdhQXlDcTA0dVk0VnVFbUR5eEhGS1lvSVJQV0hnUEpwUTFEa1NaVE9CM3Ny?= =?utf-8?B?MFUvamFpYzdQdlYvZDlrbVU3eUlyQWdoVGRQSm1vcWg2NUphVWwvQm1nS2pY?= =?utf-8?B?Qm9DT3BWdU5YdlA5SzVBdTl3MDMrb24rZHd2bGtLSGUwaW4xTFRwZVVTUTJ6?= =?utf-8?B?elVESWJsNHNRSGhrcGR6S1pLamRSRzNTNDVRa0RzeVJFbFd0S09obTM3NEt1?= =?utf-8?B?dGpjRXZITi9VVi9MbGdJd1JpSlBsa2psbi9Fck1OWnVZT0h3V2dMYTBaQjZU?= =?utf-8?B?a3dNaUMvZjdEYlFrUFhtSi9rVjNPVXBaYU9wWGhXaVJzTi9xd3FQUGNEczNF?= =?utf-8?B?aEN0N2ZTc3llQy9ua3dKWWZ3SGpKTDg5ajQyZzdTNk5jR3F2N1YrNVhjTk9p?= =?utf-8?B?cHRYT3pkVFZWSzVSZDB2azJEWGpFZkpVanVTa0c4Qm5JSTNia0lVTGRBeDhB?= =?utf-8?B?YlVYZ0tXUHJ6WkpOM2hDSzI4QzlPMEVOL2VVSUhTMW82Yk1WT1NoZ2N2SURm?= =?utf-8?B?QU5hbzkrWXZTQ1NmcUticnA1UFc0RUJWVnBXdG1LdTRPQTBBQk1WRnV4cURF?= =?utf-8?B?SERoQ3FyTUx6aFhZdlh3eDFSNEVROXYrVTU4dUlVL2JwODhtNk9nM0hCMTJy?= =?utf-8?B?K0hCRElsSlNCWTVpdnNMa3BXVnlhNXZKMWNkOG1Jai9iMFVUZ044cXgvSzQr?= =?utf-8?B?MEJEZEY1bFgvdjRDS2RsYzc4R3ZabEU0UFRZaUNMR3JiaTd4Q3BGdXBWQlQw?= =?utf-8?B?THVoMjNTUnFaSkhrdk52U3ZWcTFyNHRFam9xRG9XZVEwSUdZZFg3TmNiZkho?= =?utf-8?B?QXVUcEdyVlpTNzZyNlhTU0d1OXlvdkVleUJmV0kwSjZXdXl5SFlidGVvTDlG?= =?utf-8?B?SGx3VzRlL1Z4ZmgveUliWHBoYmxzZ2dnZyt2dUlNRUZSNDRRY2JENmRQYzhn?= =?utf-8?B?dkE9PQ==?= Content-ID: <1A8172036A865144A5AB2E56EA7BE128@namprd11.prod.outlook.com> MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5515.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3d24cc54-9152-4737-3391-08db6b16363a X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Jun 2023 07:25:34.6257 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: pVf3Au2MPlFwNbXekxlf2Fheq4fMWXX31NAWVV17FFE5nX/3wX94iSHoZbUsruNuwk7DwiX0ZijdRuNwpcLHrw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR11MB4540 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH v1 3/3] lavfi/{denoise, procamp, scale, sharpness}_vaapi: Add passthrough mode X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: T24gRGksIDIwMjMtMDUtMzAgYXQgMDg6MjkgKzA4MDAsIEZlaSBXYW5nIHdyb3RlOg0KPiBTaWdu ZWQtb2ZmLWJ5OiBGZWkgV2FuZyA8ZmVpLncud2FuZ0BpbnRlbC5jb20+DQo+IC0tLQ0KPiDCoGxp YmF2ZmlsdGVyL3ZhYXBpX3ZwcC5jwqDCoMKgwqDCoMKgwqAgfCAxNSArKysrKysrKysrKystLS0N Cj4gwqBsaWJhdmZpbHRlci92YWFwaV92cHAuaMKgwqDCoMKgwqDCoMKgIHzCoCAyICsrDQo+IMKg bGliYXZmaWx0ZXIvdmZfbWlzY192YWFwaS5jwqDCoMKgIHzCoCA5ICsrKysrKysrKw0KPiDCoGxp YmF2ZmlsdGVyL3ZmX3Byb2NhbXBfdmFhcGkuYyB8IDEwICsrKysrKysrKysNCj4gwqBsaWJhdmZp bHRlci92Zl9zY2FsZV92YWFwaS5jwqDCoCB8wqAgOSArKysrKysrKysNCj4gwqA1IGZpbGVzIGNo YW5nZWQsIDQyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0 IGEvbGliYXZmaWx0ZXIvdmFhcGlfdnBwLmMgYi9saWJhdmZpbHRlci92YWFwaV92cHAuYw0KPiBp bmRleCA0ZGUxOTU2NGU5Li5jZjI1OTJlMDY4IDEwMDY0NA0KPiAtLS0gYS9saWJhdmZpbHRlci92 YWFwaV92cHAuYw0KPiArKysgYi9saWJhdmZpbHRlci92YWFwaV92cHAuYw0KPiBAQCAtOTUsNiAr OTUsNyBAQCBpbnQgZmZfdmFhcGlfdnBwX2NvbmZpZ19pbnB1dChBVkZpbHRlckxpbmsgKmlubGlu aykNCj4gwqBpbnQgZmZfdmFhcGlfdnBwX2NvbmZpZ19vdXRwdXQoQVZGaWx0ZXJMaW5rICpvdXRs aW5rKQ0KPiDCoHsNCj4gwqDCoMKgwqAgQVZGaWx0ZXJDb250ZXh0ICphdmN0eCA9IG91dGxpbmst PnNyYzsNCj4gK8KgwqDCoCBBVkZpbHRlckxpbmvCoMKgICppbmxpbmsgPSBhdmN0eC0+aW5wdXRz WzBdOw0KPiDCoMKgwqDCoCBWQUFQSVZQUENvbnRleHQgKmN0eMKgwqAgPSBhdmN0eC0+cHJpdjsN Cj4gwqDCoMKgwqAgQVZWQUFQSUhXQ29uZmlnICpod2NvbmZpZyA9IE5VTEw7DQo+IMKgwqDCoMKg IEFWSFdGcmFtZXNDb25zdHJhaW50cyAqY29uc3RyYWludHMgPSBOVUxMOw0KPiBAQCAtMTExLDYg KzExMiwxNyBAQCBpbnQgZmZfdmFhcGlfdnBwX2NvbmZpZ19vdXRwdXQoQVZGaWx0ZXJMaW5rICpv dXRsaW5rKQ0KPiDCoMKgwqDCoCBpZiAoIWN0eC0+b3V0cHV0X2hlaWdodCkNCj4gwqDCoMKgwqDC oMKgwqDCoCBjdHgtPm91dHB1dF9oZWlnaHQgPSBhdmN0eC0+aW5wdXRzWzBdLT5oOw0KPiDCoA0K PiArwqDCoMKgIG91dGxpbmstPncgPSBjdHgtPm91dHB1dF93aWR0aDsNCj4gK8KgwqDCoCBvdXRs aW5rLT5oID0gY3R4LT5vdXRwdXRfaGVpZ2h0Ow0KPiArDQo+ICvCoMKgwqAgaWYgKGN0eC0+cGFz c3Rocm91Z2gpIHsNCj4gK8KgwqDCoMKgwqDCoMKgIGlmIChpbmxpbmstPmh3X2ZyYW1lc19jdHgp DQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG91dGxpbmstPmh3X2ZyYW1lc19jdHggPSBhdl9i dWZmZXJfcmVmKGlubGluay0+aHdfZnJhbWVzX2N0eCk7DQo+ICvCoMKgwqDCoMKgwqDCoCBhdl9s b2coY3R4LCBBVl9MT0dfVkVSQk9TRSwgIlVzaW5nIFZBQVBJIGZpbHRlciBwYXNzdGhyb3VnaA0K PiBtb2RlLlxuIik7DQo+ICsNCj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiAwOw0KPiArwqDCoMKg IH0NCj4gKw0KPiDCoMKgwqDCoCBhdl9hc3NlcnQwKGN0eC0+aW5wdXRfZnJhbWVzKTsNCj4gwqDC oMKgwqAgY3R4LT5kZXZpY2VfcmVmID0gYXZfYnVmZmVyX3JlZihjdHgtPmlucHV0X2ZyYW1lcy0+ ZGV2aWNlX3JlZik7DQo+IMKgwqDCoMKgIGlmICghY3R4LT5kZXZpY2VfcmVmKSB7DQo+IEBAIC0y MTQsOSArMjI2LDYgQEAgaW50IGZmX3ZhYXBpX3ZwcF9jb25maWdfb3V0cHV0KEFWRmlsdGVyTGlu ayAqb3V0bGluaykNCj4gwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gQVZFUlJPUihFSU8pOw0KPiDC oMKgwqDCoCB9DQo+IMKgDQo+IC3CoMKgwqAgb3V0bGluay0+dyA9IGN0eC0+b3V0cHV0X3dpZHRo Ow0KPiAtwqDCoMKgIG91dGxpbmstPmggPSBjdHgtPm91dHB1dF9oZWlnaHQ7DQo+IC0NCj4gwqDC oMKgwqAgaWYgKGN0eC0+YnVpbGRfZmlsdGVyX3BhcmFtcykgew0KPiDCoMKgwqDCoMKgwqDCoMKg IGVyciA9IGN0eC0+YnVpbGRfZmlsdGVyX3BhcmFtcyhhdmN0eCk7DQo+IMKgwqDCoMKgwqDCoMKg wqAgaWYgKGVyciA8IDApDQo+IGRpZmYgLS1naXQgYS9saWJhdmZpbHRlci92YWFwaV92cHAuaCBi L2xpYmF2ZmlsdGVyL3ZhYXBpX3ZwcC5oDQo+IGluZGV4IGNjODQ1Yjg1NGMuLjY3NjRhYjBjMzkg MTAwNjQ0DQo+IC0tLSBhL2xpYmF2ZmlsdGVyL3ZhYXBpX3ZwcC5oDQo+ICsrKyBiL2xpYmF2Zmls dGVyL3ZhYXBpX3ZwcC5oDQo+IEBAIC01Niw2ICs1Niw4IEBAIHR5cGVkZWYgc3RydWN0IFZBQVBJ VlBQQ29udGV4dCB7DQo+IMKgwqDCoMKgIFZBQnVmZmVySUTCoMKgwqDCoMKgwqDCoMKgIGZpbHRl cl9idWZmZXJzW1ZBUHJvY0ZpbHRlckNvdW50XTsNCj4gwqDCoMKgwqAgaW50wqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIG5iX2ZpbHRlcl9idWZmZXJzOw0KPiDCoA0KPiArwqDCoMKgIGlu dCBwYXNzdGhyb3VnaDsNCj4gKw0KPiDCoMKgwqDCoCBpbnQgKCpidWlsZF9maWx0ZXJfcGFyYW1z KShBVkZpbHRlckNvbnRleHQgKmF2Y3R4KTsNCj4gwqANCj4gwqDCoMKgwqAgdm9pZCAoKnBpcGVs aW5lX3VuaW5pdCkoQVZGaWx0ZXJDb250ZXh0ICphdmN0eCk7DQo+IGRpZmYgLS1naXQgYS9saWJh dmZpbHRlci92Zl9taXNjX3ZhYXBpLmMgYi9saWJhdmZpbHRlci92Zl9taXNjX3ZhYXBpLmMNCj4g aW5kZXggZGIzZTY5Njc5YS4uMGE0YzE3NGFiOSAxMDA2NDQNCj4gLS0tIGEvbGliYXZmaWx0ZXIv dmZfbWlzY192YWFwaS5jDQo+ICsrKyBiL2xpYmF2ZmlsdGVyL3ZmX21pc2NfdmFhcGkuYw0KPiBA QCAtMTMxLDYgKzEzMSw5IEBAIHN0YXRpYyBpbnQgbWlzY192YWFwaV9maWx0ZXJfZnJhbWUoQVZG aWx0ZXJMaW5rICppbmxpbmssDQo+IEFWRnJhbWUgKmlucHV0X2ZyYW1lKQ0KPiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGF2X2dldF9waXhfZm10X25hbWUoaW5wdXRfZnJhbWUtPmZvcm1hdCksDQo+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaW5wdXRfZnJhbWUtPndpZHRoLCBpbnB1dF9mcmFtZS0+ aGVpZ2h0LCBpbnB1dF9mcmFtZS0+cHRzKTsNCj4gwqANCj4gK8KgwqDCoCBpZiAodnBwX2N0eC0+ cGFzc3Rocm91Z2gpDQo+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gZmZfZmlsdGVyX2ZyYW1lKG91 dGxpbmssIGlucHV0X2ZyYW1lKTsNCj4gKw0KPiDCoMKgwqDCoCBpZiAodnBwX2N0eC0+dmFfY29u dGV4dCA9PSBWQV9JTlZBTElEX0lEKQ0KPiDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBBVkVSUk9S KEVJTlZBTCk7DQo+IMKgDQo+IEBAIC0xNzYsMTEgKzE3OSwxNCBAQCBmYWlsOg0KPiDCoHN0YXRp YyBhdl9jb2xkIGludCBkZW5vaXNlX3ZhYXBpX2luaXQoQVZGaWx0ZXJDb250ZXh0ICphdmN0eCkN Cj4gwqB7DQo+IMKgwqDCoMKgIFZBQVBJVlBQQ29udGV4dCAqdnBwX2N0eCA9IGF2Y3R4LT5wcml2 Ow0KPiArwqDCoMKgIERlbm9pc2VWQUFQSUNvbnRleHQgKmN0eCA9IGF2Y3R4LT5wcml2Ow0KPiDC oA0KPiDCoMKgwqDCoCBmZl92YWFwaV92cHBfY3R4X2luaXQoYXZjdHgpOw0KPiDCoMKgwqDCoCB2 cHBfY3R4LT5waXBlbGluZV91bmluaXTCoMKgwqDCoCA9IGZmX3ZhYXBpX3ZwcF9waXBlbGluZV91 bmluaXQ7DQo+IMKgwqDCoMKgIHZwcF9jdHgtPmJ1aWxkX2ZpbHRlcl9wYXJhbXMgPSBkZW5vaXNl X3ZhYXBpX2J1aWxkX2ZpbHRlcl9wYXJhbXM7DQo+IMKgwqDCoMKgIHZwcF9jdHgtPm91dHB1dF9m b3JtYXTCoMKgwqDCoMKgwqAgPSBBVl9QSVhfRk1UX05PTkU7DQo+ICvCoMKgwqAgaWYgKCFjdHgt PmRlbm9pc2UpDQo+ICvCoMKgwqDCoMKgwqDCoCB2cHBfY3R4LT5wYXNzdGhyb3VnaCA9IDE7DQo+ IMKgDQo+IMKgwqDCoMKgIHJldHVybiAwOw0KPiDCoH0NCj4gQEAgLTE4OCwxMSArMTk0LDE0IEBA IHN0YXRpYyBhdl9jb2xkIGludCBkZW5vaXNlX3ZhYXBpX2luaXQoQVZGaWx0ZXJDb250ZXh0DQo+ ICphdmN0eCkNCj4gwqBzdGF0aWMgYXZfY29sZCBpbnQgc2hhcnBuZXNzX3ZhYXBpX2luaXQoQVZG aWx0ZXJDb250ZXh0ICphdmN0eCkNCj4gwqB7DQo+IMKgwqDCoMKgIFZBQVBJVlBQQ29udGV4dCAq dnBwX2N0eCA9IGF2Y3R4LT5wcml2Ow0KPiArwqDCoMKgIFNoYXJwbmVzc1ZBQVBJQ29udGV4dCAq Y3R4ID0gYXZjdHgtPnByaXY7DQo+IMKgDQo+IMKgwqDCoMKgIGZmX3ZhYXBpX3ZwcF9jdHhfaW5p dChhdmN0eCk7DQo+IMKgwqDCoMKgIHZwcF9jdHgtPnBpcGVsaW5lX3VuaW5pdMKgwqDCoMKgID0g ZmZfdmFhcGlfdnBwX3BpcGVsaW5lX3VuaW5pdDsNCj4gwqDCoMKgwqAgdnBwX2N0eC0+YnVpbGRf ZmlsdGVyX3BhcmFtcyA9IHNoYXJwbmVzc192YWFwaV9idWlsZF9maWx0ZXJfcGFyYW1zOw0KPiDC oMKgwqDCoCB2cHBfY3R4LT5vdXRwdXRfZm9ybWF0wqDCoMKgwqDCoMKgID0gQVZfUElYX0ZNVF9O T05FOw0KPiArwqDCoMKgIGlmICghY3R4LT5zaGFycG5lc3MpDQo+ICvCoMKgwqDCoMKgwqDCoCB2 cHBfY3R4LT5wYXNzdGhyb3VnaCA9IDE7DQo+IMKgDQo+IMKgwqDCoMKgIHJldHVybiAwOw0KPiDC oH0NCj4gZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL3ZmX3Byb2NhbXBfdmFhcGkuYyBiL2xpYmF2 ZmlsdGVyL3ZmX3Byb2NhbXBfdmFhcGkuYw0KPiBpbmRleCA0YTNiOWQwNzY2Li44MmM0NDZkYzc2 IDEwMDY0NA0KPiAtLS0gYS9saWJhdmZpbHRlci92Zl9wcm9jYW1wX3ZhYXBpLmMNCj4gKysrIGIv bGliYXZmaWx0ZXIvdmZfcHJvY2FtcF92YWFwaS5jDQo+IEBAIC0xMzYsNiArMTM2LDkgQEAgc3Rh dGljIGludCBwcm9jYW1wX3ZhYXBpX2ZpbHRlcl9mcmFtZShBVkZpbHRlckxpbmsNCj4gKmlubGlu aywgQVZGcmFtZSAqaW5wdXRfZnJhbWUNCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBhdl9nZXRf cGl4X2ZtdF9uYW1lKGlucHV0X2ZyYW1lLT5mb3JtYXQpLA0KPiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGlucHV0X2ZyYW1lLT53aWR0aCwgaW5wdXRfZnJhbWUtPmhlaWdodCwgaW5wdXRfZnJhbWUt PnB0cyk7DQo+IMKgDQo+ICvCoMKgwqAgaWYgKHZwcF9jdHgtPnBhc3N0aHJvdWdoKQ0KPiArwqDC oMKgwqDCoMKgwqAgcmV0dXJuIGZmX2ZpbHRlcl9mcmFtZShvdXRsaW5rLCBpbnB1dF9mcmFtZSk7 DQo+ICsNCj4gwqDCoMKgwqAgaWYgKHZwcF9jdHgtPnZhX2NvbnRleHQgPT0gVkFfSU5WQUxJRF9J RCkNCj4gwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gQVZFUlJPUihFSU5WQUwpOw0KPiDCoA0KPiBA QCAtMTc5LDExICsxODIsMTggQEAgZmFpbDoNCj4gwqBzdGF0aWMgYXZfY29sZCBpbnQgcHJvY2Ft cF92YWFwaV9pbml0KEFWRmlsdGVyQ29udGV4dCAqYXZjdHgpDQo+IMKgew0KPiDCoMKgwqDCoCBW QUFQSVZQUENvbnRleHQgKnZwcF9jdHggPSBhdmN0eC0+cHJpdjsNCj4gK8KgwqDCoCBQcm9jYW1w VkFBUElDb250ZXh0ICpjdHggPSBhdmN0eC0+cHJpdjsNCj4gK8KgwqDCoCBmbG9hdCBlcHMgPSAw LjAwMDE7DQoNClVzZSBhIHNtYWxsZXIgZXBzLCBlLmcuIDEuMGUtMTBmID8gDQoNCj4gwqANCj4g wqDCoMKgwqAgZmZfdmFhcGlfdnBwX2N0eF9pbml0KGF2Y3R4KTsNCj4gwqDCoMKgwqAgdnBwX2N0 eC0+cGlwZWxpbmVfdW5pbml0wqDCoMKgwqAgPSBmZl92YWFwaV92cHBfcGlwZWxpbmVfdW5pbml0 Ow0KPiDCoMKgwqDCoCB2cHBfY3R4LT5idWlsZF9maWx0ZXJfcGFyYW1zID0gcHJvY2FtcF92YWFw aV9idWlsZF9maWx0ZXJfcGFyYW1zOw0KPiDCoMKgwqDCoCB2cHBfY3R4LT5vdXRwdXRfZm9ybWF0 wqDCoMKgwqDCoMKgID0gQVZfUElYX0ZNVF9OT05FOw0KPiArwqDCoMKgIGlmIChmYWJzKGN0eC0+ c2F0dXJhdGlvbiAtIFNBVFVSQVRJT05fREVGQVVMVCkgPCBlcHMgJiYNCj4gK8KgwqDCoMKgwqDC oMKgIGZhYnMoY3R4LT5icmlnaHQgLSBCUklHSFRORVNTX0RFRkFVTFQpIDwgZXBzICYmDQo+ICvC oMKgwqDCoMKgwqDCoCBmYWJzKGN0eC0+Y29udHJhc3QgLSBDT05UUkFTVF9ERUZBVUxUKSA8IGVw cyAmJg0KPiArwqDCoMKgwqDCoMKgwqAgZmFicyhjdHgtPmh1ZSAtIEhVRV9ERUZBVUxUKSA8IGVw cykNCj4gK8KgwqDCoMKgwqDCoMKgIHZwcF9jdHgtPnBhc3N0aHJvdWdoID0gMTsNCj4gwqANCj4g wqDCoMKgwqAgcmV0dXJuIDA7DQo+IMKgfQ0KPiBkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvdmZf c2NhbGVfdmFhcGkuYyBiL2xpYmF2ZmlsdGVyL3ZmX3NjYWxlX3ZhYXBpLmMNCj4gaW5kZXggYTM3 MTA3N2VlMC4uYWExODg5MWM1NiAxMDA2NDQNCj4gLS0tIGEvbGliYXZmaWx0ZXIvdmZfc2NhbGVf dmFhcGkuYw0KPiArKysgYi9saWJhdmZpbHRlci92Zl9zY2FsZV92YWFwaS5jDQo+IEBAIC04NSw2 ICs4NSwxNSBAQCBzdGF0aWMgaW50IHNjYWxlX3ZhYXBpX2NvbmZpZ19vdXRwdXQoQVZGaWx0ZXJM aW5rICpvdXRsaW5rKQ0KPiDCoMKgwqDCoCBmZl9zY2FsZV9hZGp1c3RfZGltZW5zaW9ucyhpbmxp bmssICZ2cHBfY3R4LT5vdXRwdXRfd2lkdGgsICZ2cHBfY3R4LQ0KPiA+b3V0cHV0X2hlaWdodCwN Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgY3R4LT5mb3JjZV9vcmlnaW5hbF9hc3BlY3RfcmF0aW8sIGN0eC0NCj4gPmZvcmNl X2RpdmlzaWJsZV9ieSk7DQo+IMKgDQo+ICvCoMKgwqAgaWYgKGlubGluay0+dyA9PSBvdXRsaW5r LT53ICYmIGlubGluay0+aCA9PSBvdXRsaW5rLT53ICYmDQoNCidpbmxpbmstPmggPT0gb3V0bGlu ay0+dycgc2hvdWxkIGJlwqB0eXBvIG9mDQonaW5saW5rLT5oID09IG91dGxpbmstPmgnDQoNCkJU VyBvdXRsaW5rLT53IGFuZCBvdXRsaW5rLWggYXJlIHNldCBpbiBmZl92YWFwaV92cHBfY29uZmln X291dHB1dCwgaGVyZSBib3RoDQpvdXRsaW5rLT53IGFuZCBvdXRsaW5rLT5oIGFyZSAwLiANCg0K PiArwqDCoMKgwqDCoMKgwqAgdnBwX2N0eC0+aW5wdXRfZnJhbWVzLT5zd19mb3JtYXQgPT0gdnBw X2N0eC0+b3V0cHV0X2Zvcm1hdCAmJg0KPiArwqDCoMKgwqDCoMKgwqAgY3R4LT5jb2xvdXJfcHJp bWFyaWVzID09IEFWQ09MX1BSSV9VTlNQRUNJRklFRCAmJg0KPiArwqDCoMKgwqDCoMKgwqAgY3R4 LT5jb2xvdXJfdHJhbnNmZXIgPT0gQVZDT0xfVFJDX1VOU1BFQ0lGSUVEICYmDQo+ICvCoMKgwqDC oMKgwqDCoCBjdHgtPmNvbG91cl9tYXRyaXggPT0gQVZDT0xfU1BDX1VOU1BFQ0lGSUVEICYmDQo+ ICvCoMKgwqDCoMKgwqDCoCBjdHgtPmNvbG91cl9yYW5nZSA9PSBBVkNPTF9SQU5HRV9VTlNQRUNJ RklFRCAmJg0KPiArwqDCoMKgwqDCoMKgwqAgY3R4LT5jaHJvbWFfbG9jYXRpb24gPT0gQVZDSFJP TUFfTE9DX1VOU1BFQ0lGSUVEKQ0KPiArwqDCoMKgwqDCoMKgwqAgdnBwX2N0eC0+cGFzc3Rocm91 Z2ggPSAxOw0KPiArDQoNCk1heSB3ZSBlbmFibGUgcGFzc3Rocm91Z2ggd2hlbiBjdHgtPm1vZGUg aXMgbm90IDAgPyANCg0KVGhhbmtzDQpIYWloYW8NCg0KPiDCoMKgwqDCoCBlcnIgPSBmZl92YWFw aV92cHBfY29uZmlnX291dHB1dChvdXRsaW5rKTsNCj4gwqDCoMKgwqAgaWYgKGVyciA8IDApDQo+ IMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIGVycjsNCg0KX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWct ZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1w ZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1w ZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=