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 CAD3448C4D for ; Tue, 23 Jan 2024 17:34:59 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1E9BE68CFFC; Tue, 23 Jan 2024 19:34:56 +0200 (EET) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on2051.outbound.protection.outlook.com [40.107.6.51]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8454468CDFB for ; Tue, 23 Jan 2024 19:34:49 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kMNXodi7kiO77ezlurgw9z6hEpyzTodu1V53k8cRPTROYoTiQ1Mji1+AWEZ4k8SK7Id9yzf5IpUX+Pb6KD8O7TYlhhoCX9gU4icDvPLNGY6HZ+iMSJ8INYj/d7BP87X5K9HsEqy0Ed94X9a08eqPo1TCcukvF4UH15bcNnTgQTFZ32N+slKTFlZUOQNDxS2dPI29MZwlLA6MyvPJxlJ7gQoVWNIGycEXyW9CyYP3vWgsxnnfiZ5tkNSdm/JTN5oVQWQGTozDK3agH4rSu5npPiRHykGJvLQHmK7GxeTJ6UwVwxiiDH/y16Ne26z0N5HSlj29YcSPSul5q7HaFpPrUQ== 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=VX0HYmqLagcYQuWaWsZRitTjExSUJX6sHuYjhibNHqc=; b=IwbapJNP/3RLdLXmS6s9ZHOly8HnoJxfpDPXx6hMpsFby5HzCyjglyP9JI8JqnQYi02WkP2tjxKa5O1r/9TpnFkEZrKTmRQ9d/hXRLeg+V8T136IVv1sBgEPi8aYqfkFnqc58BilI4wkSoHBkjvx7nY4WuJFXxjIxqioybUI6+FrKaZXP23GYtNnkXTT6VnaEWhDUI8BYBaUMqt7b0tyPjisbTrnhHg5UV4W6e/6UQqJEQEa6F1gN0Q52mMBH6aOD9fX2icigBOE/OPULK1SODPt2K0tMO9moNw/AwFcIV0RIqYlhkZjc1pGc6/sOzBET5GJsREsEV6EchsGC0J5Ug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=axelera.ai; dmarc=pass action=none header.from=axelera.ai; dkim=pass header.d=axelera.ai; arc=none Received: from DB8P194MB0839.EURP194.PROD.OUTLOOK.COM (2603:10a6:10:16b::21) by DB9P194MB1209.EURP194.PROD.OUTLOOK.COM (2603:10a6:10:29e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.21; Tue, 23 Jan 2024 17:34:46 +0000 Received: from DB8P194MB0839.EURP194.PROD.OUTLOOK.COM ([fe80::10ba:9021:161e:c004]) by DB8P194MB0839.EURP194.PROD.OUTLOOK.COM ([fe80::10ba:9021:161e:c004%5]) with mapi id 15.20.7228.020; Tue, 23 Jan 2024 17:34:46 +0000 To: =?utf-8?B?UsOpbWkgRGVuaXMtQ291cm1vbnQ=?= , "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] RISC-V vector DSP functions: Motivation for commit 446b009 Thread-Index: AdpK68+SrJKoEYZBRD+92ap362gqHwADxZQAAMTJeuA= Date: Tue, 23 Jan 2024 17:34:46 +0000 Message-ID: References: <2165884.x4K2pz0Oi7@basile.remlab.net> In-Reply-To: <2165884.x4K2pz0Oi7@basile.remlab.net> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DB8P194MB0839:EE_|DB9P194MB1209:EE_ x-ms-office365-filtering-correlation-id: 71ea17ea-d7e1-4da7-83ce-08dc1c39979e x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Kwed6sA0+0QQw37PdiTtunOThrhIoZb5DFlGXWiI28iUaNHEr0+XtwZ4y3n4lf/h3t5ounrQiN7Mmfa7yZYr5fA74cU1wrTA8sb/rfEldAhgAW3DPE6lQH4U0kaavu4MNPVUA3UIXxD3iqGVjlOjdVdBRd+ryC/7KBcWV0A++GomtwvgVqjdjFVYd/6k30YsZtVL60grhofIdvwMEUuNkZsvMHv4QtGOe4iOREobtWLyJFJG8DtvdN/VPXKKO5UMsVKwYgDDnHrDSA35zx/in37fHlDW3Uu/knnSd8RcMJY6haJWqr6+rErLvD7wsIx+tvaODWDrsYlXa9Ye+D5KEbMKDtABTDX56oNZQ4o24Y3iSHMTOu+O0bHIbbBJlz8gq3SmfoxeoqeDekpw0fWfQt/1+sBKVR6pvvalzXqVH3sh39QDn7YokziL/WD4MWynllO2W22WFQ3wFw09sGnefNf+oUoVKnr6yRmQSuy9FH5dPNGkzzopzQ/mb6D6X+x+1jg/YbFrf+iLTfG3TnzMCeFLRwL/fn2MQdrYO4DfwIf/PGuoTikRLB9425vAQvSWDlQzvmPz5ivDOOg3bnjBWCXHJo9/CyBeV05PJOuPP9GXcz6EfoEU4Uqi9i8gtrff x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB8P194MB0839.EURP194.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230031)(346002)(376002)(136003)(396003)(366004)(39840400004)(230922051799003)(64100799003)(451199024)(1800799012)(186009)(122000001)(38100700002)(66899024)(2906002)(86362001)(9686003)(7696005)(6506007)(316002)(110136005)(64756008)(66446008)(66476007)(66556008)(66946007)(76116006)(55016003)(478600001)(33656002)(41300700001)(38070700009)(71200400001)(44832011)(5660300002)(83380400001)(8936002)(66574015)(26005)(8676002)(52536014); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NGtUOG1KTlJESGZrNDVnd1BZaFFEaU12TmdPMlJRaERaYjBseGpUUzlGTHhy?= =?utf-8?B?dW95Zm5rZGtDZnVrdVVqU2Y5elNiVnAxZjMxQTFMODlHTkRocE53WUJ2UlNS?= =?utf-8?B?UkFvUWV6QTQyVFlLSVVEaElLbDM4WldmSDNndU1qUTNaZjZnS2lzZnBCcFNi?= =?utf-8?B?SVh6dDZ1YlBsQWFlek92WGFpYzRsajI0blB0Z0NGQVh2RnV1R1dETVJzUFJD?= =?utf-8?B?cFcrVG8yWkpld0N5Y0FZc1phMDdjY1ovVElNbVh2WVlPNXdwUmJmZDRMa2ZB?= =?utf-8?B?QThKdGl4cWRja0E1WER3M29ucWdXTFZETDZScGdCN2RXN2ovVUdIS0FLZndZ?= =?utf-8?B?bXR3RUdKblAwNWFqaENPeS80dzROaVB5bk44R2RIczRjWDRxUmZVbFJydmFj?= =?utf-8?B?TmQxZ0wxUEhXQnpXWUhnMEx0QVJGUXdJSVFMUWhyUEtkNXRVZmZjUDBhRHZE?= =?utf-8?B?VXRwYWtaN3cyVDJ6bjJwcDZGZ3FnTmJyMS9kT0luMDVERmtEWk52eURpTTRI?= =?utf-8?B?NUgxYmR6NHRYd1VvWVREenVkNkJ0RXplQitCUEVzTTNuTUtJdlZKMmdmcFp3?= =?utf-8?B?WldlZXZzY3VkTjJ4QzdHZXRVTUtJeEs1NE05V0xmRmx0T3pHOVFuVEYyUVV1?= =?utf-8?B?VGsrVGNiaVU1UDVXc0hGOW9iNStDM29iUGs4ZFE4Y3ZGenBzRXFQcUlsd0dp?= =?utf-8?B?TnZjSmlKYkd6bHlOUnBzeUtJeThTOUF1WFN3WHAyL1AyVDB2WkZpZGFuV0RJ?= =?utf-8?B?UXcvbWo0WlN2MzYwS0JIeTU2dy9tM3gwcGRuRE9mM3p0QVBDWmV0MGFtQTdR?= =?utf-8?B?NXVwTVpwR3FsZCtCMXVpQWhBaDQ4aVg2Vjl6anZFQUxVNlVuU2dXUmlSNjFr?= =?utf-8?B?cDR3QXFDV2lVN2JYeDZ4SmljRjcxVXVZM2Z1NmVQblhmV29hS3Q2ck1QOEYz?= =?utf-8?B?RWI1alFWeVZVY2drNzU5ZWIwaXBSUlBsSjFxbUZRMTVvaGEvcFFFNUZwbkJs?= =?utf-8?B?alRwS2FIVEsrTnoxWkdEODdxclBUZEoxMEQrN0graXZwSU1rSHpwWDZjMGdq?= =?utf-8?B?Y2hRWXdZWUhoOUttYmlEUDBiYjFLOG82T1VMSGlTdkFpOUxCYXZkS2hDQyto?= =?utf-8?B?YlBuMzJ0V3lDeTlUMTh5VVh4MnJCRUdEY3R6MXJwK05xeS9xRkM4djU4cXl1?= =?utf-8?B?bDRQQ0c2RW5CQWtTL1BYcldST0cwL0IxOTJ5elRNRjlReTQ2Q2IwTUhzV1Uw?= =?utf-8?B?MnBzMk03dFp5ampYblphUzJYbER0ZldUVnJjQnNaTTZleHVkZ0ViRk1xdXJw?= =?utf-8?B?azdEQ29KZlVla1hmOWZhdWRQbUZLODAyYWhlTmlhbEl4cHp5NnhueXNtcVRQ?= =?utf-8?B?UFFadVlQQmlTWjNUWjJTN0owNllnR01Jb1pBUmFRTU5CY1ZIMVdsSHF1T0VW?= =?utf-8?B?ODk0M3J0WkFUSUl3SGwvY2IxdkNrNWJPUU83b2dmMjZjZmN1WFRYZGlPUGVh?= =?utf-8?B?SDhPWE84My9YYVp0emR3WU5BT3BFU04yWHlURDZ1Njgwam9OcmFycCtuTHN0?= =?utf-8?B?S2x6ZmdHaEwzK0V6SFNoaXFVU0d6UFJUNStnRkI3M0pMSUJEVGVoNWtKd0Fp?= =?utf-8?B?RXRxSVBGQmpPeDVuMVNjeVRpYUZuTVdhQnZ0cFpIWGR3T1RNU3h1dUg0SzRa?= =?utf-8?B?bFNNeXREU29maUxUaGx5MlFTUEp6ajlLVHMwZHBack9wRmZoSnFqRUxsaGV3?= =?utf-8?B?REdZTHIrTjIrTm9Rbm9lMjl3d3ZVblJaeTZ5YzRBTnR6WXdkTXFrZmN2OS9Y?= =?utf-8?B?cERwQTAzclVESkQ3S2hXWUZlbmgzbHY5bDRQN1Y5a0I3WFBrc0J1ZWtsZk5Y?= =?utf-8?B?cjNZQmZDeFVQVFIxTksyclRBdXR0NlNoOHJRZStaZy91MEQxQVdIVmNiWjIr?= =?utf-8?B?T0t0OWcvU2l3MG9BTGUvZ0U4bVljc2VHNnNDcm9HUDEzQWVtdWdGYmxwWXVO?= =?utf-8?B?VkN2NG1rbGdGZ3pscFJqQ1Z2VktGRnJrUjgyN2FmK3hlRXhpSktYc3RONmlP?= =?utf-8?B?RUIyZkF6Vm4xMmd2MVlZYi84U1pIOEZFUjl0Ymo0SDA2RXNmUGwxY0szWnlV?= =?utf-8?B?S0lFTHNSYmdqOXlVMytVSXdCMFhGdElNVk5LTkkxcVlweTRvcFlDY1c0bzE3?= =?utf-8?B?WlE9PQ==?= MIME-Version: 1.0 X-OriginatorOrg: axelera.ai X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DB8P194MB0839.EURP194.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 71ea17ea-d7e1-4da7-83ce-08dc1c39979e X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Jan 2024 17:34:46.1948 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9c838ba7-c38c-416d-a793-1de07a190ebd X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: WEzeBm+TG7IszkPwMjdyVD19GkBFAFy4xpGDtnNCl2A8pcgkCm/thphlt6NSnHebPjeXaVLDkdO07E3Hqcx5KEP1tyyADlTsUBz6oqp5orA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9P194MB1209 Subject: Re: [FFmpeg-devel] RISC-V vector DSP functions: Motivation for commit 446b009 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: , From: Michael Platzer via ffmpeg-devel Reply-To: FFmpeg development discussions and patches Cc: Michael Platzer 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: SGkgUsOpbWksDQoNClRoYW5rcyBmb3IgeW91ciByZXBseS4NCg0KPiBJdCB3YXMgZmFzdGVyIG9u IHdoYXQgdGhlIGJlc3QgYXBwcm94aW1hdGlvbiBvZiByZWFsIGhhcmR3YXJlIGF2YWlsYWJsZSBh dCB0aGUgdGltZSwgaS5lLiBhIFNpcGVlZCBMaWNoZWUgUGk0QSBib2FyZC4gVGhlcmUgYXJlIG5v IGJlbmNobWFya3MgaW4gdGhlIGNvbW1pdCBiZWNhdXNlIEkgZG9uJ3QgbGlrZSB0byBwdWJsaXNo IGJlbmNobWFya3MgY29sbGVjdGVkIGZyb20gcHJvdG90eXBlcy4NCj4gTmV2ZXJ0aGVsZXNzIEkg dGhpbmsgdGhlIGNvbW1pdCBtZXNzYWdlIGhpbnRzIGVub3VnaCB0aGF0IGFueWJvZHkgY291bGQg ZWFzaWx5IGd1ZXNzIHRoYXQgaXQgd2FzIGEgcGVyZm9ybWFuY2Ugb3B0aW1pc2F0aW9uLCBpZiBJ J20gYmVpbmcgaG9uZXN0Lg0KPiANCj4gVGhpcyBpcyBub3QgZXhhY3RseSBzdXJwcmlzaW5nOiB0 eXBpY2FsIGhhcmR3YXJlIGNhbiBvbmx5IGFjY2VzcyBzbyBtYW55IG1lbW9yeSBhZGRyZXNzZXMg c2ltdWx0YW5lb3VzbHkgKGkuZS4gb25lIG9yIG1heWJlIHR3byksIHNvIGluZGV4ZWQgbG9hZHMg YW5kIHN0cmlkZWQgbG9hZHMgYXJlIGJvdW5kIHRvIGJlIG11Y2ggc2xvd2VyIHRoYW4gdW5pdC1z dHJpZGVkIGxvYWRzLg0KDQpJIGFncmVlIHRoYXQgdGhlIGluZGV4ZWQgYW5kIHN0cmlkZWQgbG9h ZHMgYW5kIHN0b3JlcyBhcmUgY2VydGFpbmx5IHNsb3dlciB0aGFuIHVuaXQtc3RyaWRlZCBsb2Fk cyBhbmQgc3RvcmVzLiBIb3dldmVyLCB0aGUgdnJnYXRoZXIgaW5zdHJ1Y3Rpb24gaXMgdW5saWtl bHkgdG8gYmUgdmVyeSBwZXJmb3JtYW50IGVpdGhlciwgdW5sZXNzIHRoZSB2ZWN0b3IgbGVuZ3Ro IGlzIHJlbGF0aXZlbHkgc2hvcnQuIFBhcnRpY3VsYXJseSwgaWYgdmVjdG9yIHJlZ2lzdGVyIGdy b3VwcyBhcmUgdXNlZCB2aWEgYSBsZW5ndGggbXVsdGlwbGllciBMTVVMIG9mLCBlLmcuLCA4LCB0 aGVuIGFueSBlbGVtZW50IGluIHRoZSBkZXN0aW5hdGlvbiB2ZWN0b3IgcmVnaXN0ZXIgY291bGQg YmUgc291cmNlZCBmcm9tIGFueSBlbGVtZW50IGluIHRoZSA4IHNvdXJjZSB2ZWN0b3IgcmVnaXN0 ZXJzIChpLmUuLCAxLzQgb2YgdGhlIHZlY3RvciByZWdpc3RlciBmaWxlKS4NCg0KQUZBSUsgKGJ1 dCBwbGVhc2UgY29ycmVjdCBtZSBpZiBJIGFtIHdyb25nKSB0aGUgU2lwZWVkIExpY2hlZSBQaTRB IHVzZXMgYSBxdWFkLWNvcmUgWFQtOTEwLCB3aGljaCBkZXBlbmRpbmcgb24gdGhlIGV4YWN0IHZh cmlhbnQgaGFzIGEgdmVjdG9yIHJlZ2lzdGVyIGxlbmd0aCAoVkxFTikgb2YgZWl0aGVyIDY0IG9y IDEyOCBiaXRzLCBzbyBnaXZlbiB0aGUgY29uZmlndXJlZCBlbGVtZW50IHdpZHRoIG9mIDMyIGJp dHMgYW5kIGxlbmd0aCBtdWx0aXBsaWVyIG9mIDIsIHdlIGFyZSBsb29raW5nIGF0IHZlY3RvcnMg b2YgNCBvciA4IGVsZW1lbnRzLg0KDQpUaGVyZSBpcyBhIGNvbW1lbnQgdGhhdCByZWFkcyAiZTE2 L20yIGFuZCBlMzIvbTQgYXJlIHBvc3NpYmxlIGJ1dCBzbG93ZXIgZHVlIHRvIGdhdGhlciIsIHdo aWNoIGRvZXMgbm90IHN1cnByaXNlIG1lLCBzaW5jZSB0aGUgcGVyZm9ybWFuY2Ugb2YgdnJnYXRo ZXIgbW9zdCBsaWtlbHkgc2NhbGVzIHF1YWRyYXRpY2FsbHkgY29tcGFyZWQgdG8gdGhlIHZlY3Rv ciBsZW5ndGguIFNpbWlsYXJseSwgdnJnYXRoZXIgaXMgbGlrZWx5IGxlc3MgcGVyZm9ybWFudCBv biBhIFJJU0MtViBDUFUgd2l0aCBsYXJnZXIgVkxFTiwgc2luY2UgdGhlIGhhcmR3YXJlIHJlc291 cmNlcyBmb3IgYSBjcm9zc2JhciByZXF1aXJlZCBmb3IgYSBwZXJtdXRhdGlvbiBvdmVyIHRoZSBm dWxsIHZlY3RvciByZWdpc3RlciBsZW5ndGggYmVjb21lIHByb2hpYml0aXZlIGZvciBWTEVOIGJl eW9uZCAxMjggYml0cy4gVGhpcyByZXF1aXJlcyB0aGUgcGVybXV0YXRpb24gdG8gYmUgc3ByZWFk IG92ZXIgc2V2ZXJhbCBpdGVyYXRpb25zIGluc3RlYWQsIHdoaWNoIG5lZWQgdG8gY292ZXIgZXZl cnkgY29tYmluYXRpb24gb2YgaW5wdXQgYW5kIG91dHB1dCBlbGVtZW50cyAoaGVuY2UgdGhlIHF1 YWRyYXRpYyBncm93dGggaW4gZXhlY3V0aW9uIHRpbWUpLg0KDQpCeSBjb250cmFzdCwgdGhlIHBl cmZvcm1hbmNlIG9mIHN0cmlkZWQgbG9hZHMgYW5kIHN0b3Jlcywgd2hpbGUgY2VydGFpbmx5IHNs b3dlciB0aGFuIHVuaXQtc3RyaWRlZCBsb2FkcyBhbmQgc3RvcmVzLCBsaWtlbHkgc2NhbGVzIGxp bmVhcmx5IHdpdGggdGhlIHZlY3RvciBsZW5ndGgsIHNvIG9uIENQVXMgd2l0aCBsYXJnZSBWTEVO IHRoZSBvcmlnaW5hbCBjb2RlIGNvdWxkIHZlcnkgd2VsbCBydW4gZmFzdGVyIHRoYW4gdGhlIHZh cmlhbnQgd2l0aCB2cmdhdGhlciwgZGVzcGl0ZSB0aGUgc2xvd2VyIHN0cmlkZWQgbG9hZHMgYW5k IHN0b3Jlcy4NCg0KPiBNYXliZSB5b3UgaGF2ZSBhY2Nlc3MgdG8gc3BlY2lhbCBoYXJkd2FyZSB0 aGF0IGlzIGFibGUgdG8gb3B0aW1pc2UgdGhlIHNwZWNpYWwgY2FzZSBvZiBzdHJpZGVzIGVxdWFs IHRvIG1pbnVzIG9uZSB0byByZWR1Y2UgdGhlIG51bWJlciBvZiBtZW1vcnkgYWNjZXNzZXMuDQo+ IEJ1dCBJIGRpZG4ndCBiYWNrIHRoZW4sIGFuZCBhcyBhIG1hdHRlciBvZiBmYWN0LCBJIHN0aWxs IGRvbid0LiBIYXJkd2FyZSBkb25hdGlvbnMgYXJlIHdlbGNvbWUuDQoNCkhhcmR3YXJlIGF2YWls YWJpbGl0eSBpcyBpbmRlZWQgc3RpbGwgYW4gaXNzdWUgZm9yIFJJU0MtViB2ZWN0b3IgcHJvY2Vz c2luZy4NCg0KPiA+IFRoZSBSSVNDLVYgdmVjdG9yIGxvYWRzIGFuZCBzdG9yZXMgc3VwcG9ydCBu ZWdhdGl2ZSBzdHJpZGUgdmFsdWVzIGZvciANCj4gPiB1c2UgY2FzZXMgc3VjaCBhcyB0aGlzIG9u ZS4NCj4gDQo+IFtDaXRhdGlvbiByZXF1aXJlZF0NCg0KVGhlIHB1cnBvc2Ugb2Ygc3RyaWRlZCBs b2FkcyBhbmQgc3RvcmVzIGlzIHRvIGxvYWQvc3RvcmUgZWxlbWVudHMgdGhhdCBhcmUgbm90IGNv bnNlY3V0aXZlIGluIG1lbW9yeSwgYnV0IGluc3RlYWQgc2VwYXJhdGVkIGJ5IGEgY29uc3RhbnQg b2Zmc2V0LiBBZGRpdGlvbmFsbHksIHRoZSBhdXRob3JzIG9mIHRoZSBzcGVjaWZpY2F0aW9uIGRl Y2lkZWQgdG8gYWxsb3cgbmVnYXRpdmUgc3RyaWRlIHZhbHVlcywgc2luY2UgdGhleSBhcHBhcmVu dGx5IGRlZW1lZCBpdCB1c2VmdWwgdG8gYmUgYWJsZSB0byByZXZlcnNlIHRoZSBvcmRlciBvZiB0 aG9zZSBlbGVtZW50cy4NCg0KPiA+IFVzaW5nIHZyZ2F0aGVyIGluc3RlYWQgcmVwbGFjZXMgdGhl IG1vcmUgc3BlY2lmaWMgb3BlcmF0aW9uIHdpdGggYSANCj4gPiBtb3JlIGdlbmVyaWMgb25lLA0K PiANCj4gVGhhdCBpcyBhIHZlcnkgc3ViamVjdGl2ZSBhbmQgdW5zdWJzdGFudGlhdGVkIGFzc2Vy dGlvbi4gVGhpcyBmZWVscyBhIGJpdCBoeXBvY3JpdGljYWwgd2hpbGUgeW91IGFyZSBhdHRhY2tp bmcgbWUgZm9yIG5vdCBwcm92aWRpbmcganVzdGlmaWNhdGlvbi4NCg0KdnJnYXRoZXIgaXMgbW9y ZSBnZW5lcmljIGJlY2F1c2UgaXQgY2FuIGJlIHVzZWQgZm9yIGFueSBraW5kIG9mIHBlcm11dGF0 aW9uLCB3aGljaCBzdHJpZGVkIGxvYWRzIGFuZCBzdG9yZXMgY2Fubm90LiBUaGlzIGlzIG5vdCBz dWJqZWN0aXZlLg0KDQo+IEFzIGZhciBhcyBJIGNhbiB0ZWxsLCBuZWl0aGVyIGluc3RydWN0aW9u IGFyZSBzcGVjaWZpYyB0byByZXZlcnNpbmcgdmVjdG9yIGVsZW1lbnQgb3JkZXIuIEFuIGFjdHVh bCByZWFsLWxpZmUgc3BlY2lmaWMgaW5zdHJ1Y3Rpb24gZXhpc3RzIG9uIEFybSBpbiB0aGUgZm9y bSBvZiB2ZWN0b3ItcmV2ZXJzZS4gSSBkb24ndCBrbm93IGFueSBJU0Egd2l0aCBsb2FkLXJldmVy c2Ugb3Igc3RvcmUtIHJldmVyc2UuDQoNCkEgbG9hZC1yZXZlcnNlIG9yIHN0b3JlLXJldmVyc2Ug d291bGQganVzdCBiZSBhIHNwZWNpYWwgY2FzZSBvZiBzdHJpZGVkIGxvYWQvc3RvcmUuDQoNCj4g PiB3aGljaCBpcyBsaWtlbHkgdG8gYmUgbGVzcyBwZXJmb3JtYW50IG9uIG1vc3QgSFcgYXJjaGl0 ZWN0dXJlcy4NCj4gDQo+IFdvdWxkIHlvdSBjYXJlIHRvIGRlZmluZSAibW9zdCBhcmNoaXRlY3R1 cmVzIj8gSSBvbmx5IGtub3cgb25lIGNvbW1lcmNpYWxseSBhdmFpbGFibGUgaGFyZHdhcmUgYXJj aGl0ZWN0dXJlIGFzIG9mIHRvZGF5LCBLZW5kcnl0ZSBLMjMwIFNvQyB3aXRoIFQtSGVhZA0KPiBD OTA4IENQVSwgc28gSSBjYW4ndCBtYWtlIG11Y2ggc2Vuc2Ugb2YgeW91ciBzZW50ZW5jZSBoZXJl Lg0KDQpXaGVuIHdyaXRpbmcgYWJvdXQgdGhlIHBlcmZvcm1hbmNlIG9mIHZyZ2F0aGVyIEkgcHJp bWFyaWx5IGhhZCB0aGUgc2NhbGFiaWxpdHkgaXNzdWVzIGV4cGxhaW5lZCBhYm92ZSBpbiBtaW5k LiBJdCBzZWVtcyB0aGF0IHlvdSBoYXZlIGFscmVhZHkgZXhwZXJpZW5jZWQgdGhlc2UsIHNpbmNl IHlvdSBmb3VuZCB0aGF0IGEgbGFyZ2VyIExNVUwgcmVkdWNlcyB0aGUgcGVyZm9ybWFuY2Ugb2Yg dnJnYXRoZXIuDQoNCj4gPiBJbiBhZGRpdGlvbiwgaXQgcmVxdWlyZXMgdG8gc2V0dXAgYW4gaW5k ZXggdmVjdG9yLA0KPiANCj4gVGhhdCBpcyBpcnJlbGV2YW50IHNpbmNlIGluIHRoaXMgbG9vcCwg dGhlIHZlY3RvciBiYW5rIGlzIG5vdCBhIGJvdHRsZW5lY2suDQo+IFRoZSBsb29wIGNhbiBydW4g d2l0aCBtYXhpbXVsIExNVUwgZWl0aGVyIHdheS4gQW5kIGJlc2lkZXMsIHRoZSBsb29wIHR1cm5l ZCBvdXQgdG8gYmUgZmFzdGVyIHdpdGggYSBzbWFsbGVyIG11bHRpcGxpZXIuDQoNClRoYXQgaXMg YmVjYXVzZSB0aGUgcGVyZm9ybWFuY2Ugb2YgdnJnYXRoZXIgZG9lcyBub3Qgc2NhbGUgbGluZWFy bHkuIEkgd291bGQgYXNzdW1lIHRoYXQgdGhpcyBkb2VzIG5vdCBoYXBwZW4gd2l0aCB0aGUgb3Jp Z2luYWwgY29kZSAoaS5lLiwgdGhlIHBlcmZvcm1hbmNlIG9mIHN0cmlkZWQgbG9hZHMvc3RvcmVz IGRvZXMgbm90IGRlY3JlYXNlIGZvciBsYXJnZXIgTE1VTCkuDQoNCj4gPiB0aHVzIHJhaXNpbmcg ZHluYW1pYyBpbnN0cnVjdGlvbiBjb3VudC4NCj4gDQo+IEl0IGFkZHMgb25seSBvbmUgaW5zdHJ1 Y3Rpb24gKHJldmVyc2Ugc3VidHJhY3Rpb24pIGluIHRoZSBtYWluIGxvb3AsDQoNCklmIEkgcmVh ZCB0aGUgZGlmZiBjb3JyZWN0bHksIHRoZSBzdHJpZGVkIGxvYWQgaXMgcmVwbGFjZWQgYnkgYSB1 bml0LXN0cmlkZWQgbG9hZCBhbmQgYSB2cmdhdGhlciAob25lIGluc3RydWN0aW9uIHJlcGxhY2Vk IGJ5IHR3bykuIFNvLCB0aGVyZSBhcmUgdHdvIGFkZGl0aW9uYWwgaW5zdHJ1Y3Rpb25zIGluIHRo ZSBtYWluIGxvb3AuDQoNCj4gYW5kIGV2ZW4gdGhhdCBjb3VsZCBiZSBvcHRpbWlzZWQgYXdheSBp ZiByZWxldmFudC4NCg0KSG93IHdvdWxkIHRoZSByZXZlcnNlIHN1YnRyYWN0aW9uIGJlIG9wdGlt aXplZCBhd2F5PyBJIGFzc3VtZSB0aGF0IGl0IG5lZWRzIHRvIGJlIHBhcnQgb2YgdGhlIGxvb3Ag c2luY2UgaXQgZGVwZW5kcyBvbiB0aGUgVkwgb2YgdGhlIGN1cnJlbnQgaXRlcmF0aW9uLg0KDQpN aWNoYWVsDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpm Zm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8v ZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUs IHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5v cmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==