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 11AF143A97 for ; Wed, 6 Jul 2022 23:43:49 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 55BF968B9AC; Thu, 7 Jul 2022 02:43:46 +0300 (EEST) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12olkn2025.outbound.protection.outlook.com [40.92.22.25]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 88BBB68B7E1 for ; Thu, 7 Jul 2022 02:43:39 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kZMPCm+z6ehLmKRh+jiAcbjGq/SSCcwFyoLl88uN9y/MSRe0HOwCj+DfhRJHJF0XNO0s92dEJdUDTFv7epQteYkbMeWwV+7HPHdvqLU8u6lURhpCL7ny/ajhPqfu77GUf24EAmQD9hr3j+pbuhQ7SXNWca++HS91u1QTPhocDPYeyh3044ggsa8ZQH438XNgnNJoMc+XDvPq/O+/GKxQuQIl2yvy3ZDu1XI9dkPrU0vBU4o826fdhXOtiTenXzOKYV2yNPdfOK2US7lux1pUnTxa0v4b53ycjg0m+15dpC22gHhQkug0mN2NsWdmGaptd1y3/V4OecXc/Xd7W/zHQg== 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=X6myIO4ZRZMMv6hXsD/vwYjMndES+xs8jSHTepeZ3v8=; b=ZS+VFitjSGqLIHtwIt31VruVAfa6UFeyJUBHfUgDXO3BR/yvHeHW8dFOGqDd8qPjEII0UHv3oVNkIjFR6aRo/YMiAtg15eQU7L1UqF6BgCt9tmMbeHRK6gUD32ReW2nJfuSuE+CqW8zq8BoXddzZ9I42pK9kUR3cm4l82IkPZCt7+vVCPthFM0whIT+OSLMrVMj3/ydnZ06YQszXBB32DFlHQBVHimpDQm2MWxhrPRfoaPx2pCzhiu2R+Vv17tHTDPrDib43p0tOvn3zJuzJLMhEUEaDl6N0RGzs1oYxMELmIKNSN6NHKWkJPYNMP4Ml6aOl4SNjZ79SejTzEn4oTg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=X6myIO4ZRZMMv6hXsD/vwYjMndES+xs8jSHTepeZ3v8=; b=dZXMDOc4Ca6fSrGgPDnkLiU6nk7EcuVU3E+7pHROzqndL23VULg9jri0MF5szaiDZBXuMU3yz7OLHA4m+6ZEVZiuCde1vXWXtyEqlFWnsB1eZZPk5rgDXuKG4T0ZXNLuhK76mVOxOBBmgaAy74kc//TNMq9jSrkd0kt5elGNg0rESdsHcxb7RgFTAZUOOyKJ4g9WP+gMgYWEal1EWrz4lAZIagnne+QI+AMFRatejh5uOuw7rPLoG//36OBjmt25jvz+dum7/7UH8Bj2oqv/fOPNdeYOoGZexf39/V4HaCGR6+knTSJ2IHVJwowL7ec9A8TsK4ehp81rlQxhO1S9OA== Received: from PH0PR13MB5921.namprd13.prod.outlook.com (2603:10b6:510:164::14) by CO3PR13MB5734.namprd13.prod.outlook.com (2603:10b6:303:178::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.8; Wed, 6 Jul 2022 23:43:35 +0000 Received: from PH0PR13MB5921.namprd13.prod.outlook.com ([fe80::a0f7:d887:29be:1ac2]) by PH0PR13MB5921.namprd13.prod.outlook.com ([fe80::a0f7:d887:29be:1ac2%5]) with mapi id 15.20.5417.013; Wed, 6 Jul 2022 23:43:35 +0000 From: Raymond Cheng To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH] Support bidirectional metadata in drawtext filter Thread-Index: AdiRPFeH5Wv1hIhET1SsiWHtZ8S97A== Date: Wed, 6 Jul 2022 23:43:35 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=adfd05ae-463d-4009-8dc2-0b4273e51c47; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2022-07-06T23:43:25Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [L3IxjX+lO2DVj3PE+fbcj/gXrSUt9+Sr] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ef5ea89d-287a-476b-7779-08da5fa9581a x-ms-exchange-slblob-mailprops: q+fD6XS3/UJHbwLX8nOd1ITY5zc7NV/ur9mHUxa13yu5Q2G6R+iKaxWRmj9Hf6R/coS7VM9Q3UzqnznMa1dPE9PzRhV8SbmX6nnKXBPWFE0e0SJPsLT9J2+4etTTJIa34lGXrfuG2gEDKzcVHYvgYucooUCaSxhg9Pd2BG/TtGy6aDIfVzBI6smdnVKUtFZk+EepVGkHmdoWRBwjjzzb4I01H3GQ1/U1IS0dTkOChDuvfyA/kFcYdIoUVOCfxGKCsuYVmQRj0yrC1uPE6EvjqGCNuQzvjAeprcs7BLh5czUJdHolx7bRg3cjtb9fWmff0CdjY+yOYw4vOE2vezWNhQnpaWXedXDssWfkIenFH+EKqtLyozOqM84Xu5uMmLP694q5z9LZA4SHXBtRW5fzZWukRP23+4k3eqjoWtX6UDKYpHcQ0rYETe+mm0CSIw27QEfhmfN5j0vIoIJ8krhuzXSoXitXidcCYcm+MBDod+UibkMGxdXsix8WcuV2M3lKz1rOEqxGCi8qHqKGR8ECZAgW5hc9+It5UZ9RhBRFl5Z4rpwb+2GnJ0LKkCuLxFczSBoAcKRPYNELlOaN7LGg5S3GfefdWECBIRoesAV3LYAX5VZbJH+ExkLYMVjNqZa4/CJzMx+djn5adG8wM39snwyN7XKFncP2D2z4ZEDJ5e46YcXIJsYP34XuJKblOQXUcHwRTn1N0s6ov/VK4a8aTA== x-ms-traffictypediagnostic: CO3PR13MB5734:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: KayCm0aBYjJWnXub51YcDLYZJD5+Col+f+BtSTCgPT7Wugq3qwKXkNX+QWrdxAkYqs240vHRuLYodzUcBugVVVT/UzsGICvSFUKw+ulX2/gS6lvB0fJPIkIjrNPr/B8ArVgqU2ziXvMjVcIgTEbQj+BHGX0RZqHegRxFl1Tlg/yWBHKKyaISCNgGHzMo3fFNTx/ncLsLT9mE0kt55VqUYGaqluzR45AMxwXBcWPPSKPA2oVMeDXu4FiR0sVXiBj1RRecV204RggbBeYL+liey+MY4OydP191qe3m+ktoFqMq7u8THuRmwa3sWLgEZbifPqFK70warxCx8cFQ1j8qXIbCmRe2vonCBpITjOalCAxyDoyU2uV9zGI9uPJczqGspHAdcw6t0tBoMdCAqRKsNK28Q8fQqfie+cPzw0uXqm30twwvvxscCv+OEMazv8X2IpCcy85kuc9wSqz1TEaW8jfS05dNiOp2a7gFqt67Epk4Benvi8TZJgrLqXRJ6FV8EX3EG1c2ot6KujBs2bcQafRQq0w4SOGDO1FZZNodclWfyHDxjtqEQ2z3Rr9GFZW9it8Xxaw/QgmYW1JnmMUBIcXcpYDA2rR4W14YMXArIFKdCBxKrWqlMU1k7wH+aQg3E5F16dAhtzoxrVKtfVTCp2uWBrmET6ERB5qdUsJttkVlwICAv2t488no2muzXcIS+FM1gzmTzcFpCAKbrz9c/w== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UDJ0aHd1bm1rRnY2UER3dTA0ZXpDYkw5Y3lYc3hwN1NHQ1F5cEhWMEU1U0x5?= =?utf-8?B?QnZUZStyOWJ1dExZQUE3Q0MxZ1Q4M3o3ZjEyVndmS29tS2wvZ3FTUmtUL2Ro?= =?utf-8?B?WUFiOXpBVUJnZ0psM3RseWduUjBvSDRiR0dwRWdrNWpmSjlKWmViempiWDYw?= =?utf-8?B?T1pQT2V3M1pEMmczTUlGY1c4U2s2dy8rcWtmSFJnaktJSVlxTGJMa1NEaTU1?= =?utf-8?B?OUduelBEaklmOEltbkZCVGRuRjlOaFFFaTR0WVNseDJGY1FncUc1SVlGczVk?= =?utf-8?B?ZHkxNG9PNDVBOTVNK3NTOEI1a0x5Z1ZNL0RYUTRUZ3BWMFZidE9QbDBqR0JE?= =?utf-8?B?OUwyMVhKc0ZrMFZMZCt5bWRmbjFxSnF1aThjYlVqajBNVWdnWlN6OVNrUmdo?= =?utf-8?B?c2J4eERDTS9sV0FWYVBHUWRFbzh0OXRnTjNreDduVWhOQ05HUXM0R2d6MktV?= =?utf-8?B?Y2VvUWVFbXp3RGV4czFZQ2RoNHdKdm9iRVNhUlZLcExqOXNhZ29LbmJJNjFj?= =?utf-8?B?cWNpb3ZVV1hoTEU1WW5DWEFESXl1cTJXVytZTGJjYnBra3lBUFNYUWZnczZm?= =?utf-8?B?OTJUeVVaeVZHY012MTFiUTZ2NUJSWGp6VjNZOUxDQTRSelI3THpsSzZlcDBS?= =?utf-8?B?YXViSGxmOTArT2J3L2Z2RzBBRHQxM2RHaUJwaWc1bXpyWlYwSjY5WTlwWVNj?= =?utf-8?B?NzN2alR6clpPeEdDMTRLZWxzTFMrR25uenhPK1dlbnVaRmFCYmg3SisyMzd2?= =?utf-8?B?TVppOUtiem1qN1ZIOStTWjNBVms1L1VWblF6ajRCYThRbkFBeTJUYWpFVlZo?= =?utf-8?B?eTgwUHoyc3dKQUVCUUpNSHR6QlJxR3BKYnd0eUdhVnJKYjBYTzdCVHF0enlG?= =?utf-8?B?eElUS0ZiT21oa1ZvT3Y2OVUxTGU5SiswSFczVzZMMmhrTFFLQTJMdE1wRCtj?= =?utf-8?B?UzN0M01TbkNSUHhOYzVQVUprM1d2bzBiMWpvdmV5SnFuQjRicE52VHBYVW1O?= =?utf-8?B?UEdFTHZWc0dPWTJVdDNqSVVpbzJmMG1lRjhWZlNsbDYzL1lMemhpdkl6VSt3?= =?utf-8?B?T2x5RGlPdStJeGtsazFwaml1M0NkakxZWjFYOE5JTXZxaUZCSXNiLzBac2Z4?= =?utf-8?B?Um1naERWTG5KMjVtRGI5VnlIVHRoRGkwdW5SSFpGM0ljcGR4TkRXTkZCYTIr?= =?utf-8?B?N2V6OC9WSGV4TVdWeUpBM1FuZGpxa3pPWkcyTXd1cFBUdkg1OGlFSjJ1NDhs?= =?utf-8?B?OXM3U2RmbjZUemExZ0QzVElXSmxZT3M2a3ZXa2l0MUxMeFNwMHMrajVLNjkz?= =?utf-8?B?U2xyMEpaZXgzWXFsbnJBMndJd25sM0F1dHczOGVrOU90ZmZmTGZobU9ZQkhO?= =?utf-8?B?QVM5VnhneTliU3dGTFpTK0F3ZTQ3Z0pMOWUzWW9CQ2prb3ZvRkJmM3N0MEZz?= =?utf-8?B?MkNCRTRwT21yNTVjZFZRUHBPaTdPSkI3VkJLTTNRakRENjk3aHcrWkZBcDNv?= =?utf-8?B?RXlkRmdldXJNUTVQOVFZT1ZFenJydjNLMFIzSytWbm5PTG9FaU1OeDVydm5z?= =?utf-8?B?dk9hTE00Q1kwOGZERHdzZzY3TjFWako5NE53SmtONmExSnR5c1pNL1FwOHhk?= =?utf-8?B?OXhmSTlWVTdzRkRNeU4xSTFFZjEwSndaR3dKZVdTMWZrdFYxZFY2eUg1MGV0?= =?utf-8?B?aDJwK01Hb3hzbDZ4eUp4QVZsWDRnc2FYMGdRUWhrVUZYNDdWbDU5dVJnPT0=?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-4778-2-msonline-outlook-da780.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR13MB5921.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: ef5ea89d-287a-476b-7779-08da5fa9581a X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jul 2022 23:43:35.8119 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO3PR13MB5734 Subject: [FFmpeg-devel] [PATCH] Support bidirectional metadata in drawtext filter 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: VGhlIGRyYXd0ZXh0IGZpbHRlciBzdXBwb3J0cyBzdGF0aWMgYmlkaSB0ZXh0IHZpYSBhIGZ1bmN0 aW9uIGNhbGxlZA0Kc2hhcGVfdGV4dCgpLiBGaXhlZCBzbyB0aGF0IGl0IGNhbGxzIHNoYXBlX3Rl eHQoKSB3aGVuIHJlbmRlcmluZw0Kbm9uLXN0YXRpYyB0ZXh0IGZyb20gbWV0YWRhdGEgKHNvIHRo YXQgYmlkaSB0ZXh0IGlzIHJlbmRlcmVkIHByb3Blcmx5KS4NCg0KQXMgYW4gZXhhbXBsZSwgIkhl bGxvIHdvcmxkIiBpcyAi2YXYsdit2KjYpyDYqNin2YTYudin2YTZhSIgaW4gQXJhYmljLiBUaGUN CmZvbGxvd2luZyBjb21tYW5kIGxpbmUgd29ya2VkIGp1c3QgZmluZSBiZWZvcmUsIGFuZCBzdGls bCB3b3Jrcw0KYWZ0ZXIgdGhpcyBjaGFuZ2U6DQoNCiAgZmZtcGVnIC1pIGlucHV0IC12ZiBkcmF3 dGV4dD1mb250c2l6ZT0zMDp4PTMwOnk9MzA6Zm9udGNvbG9yPXllbGxvdzp0ZXh0PSfZhdix2K3Y qNinINio2KfZhNi52KfZhNmFJyBvdXQubXA0DQoNCkhvd2V2ZXIsIHRoaXMgY29tbWFuZCBsaW5l IGRpZCBOT1Qgd29yazoNCg0KICBmZm1wZWcgLWkgaW5wdXQgLXZmIG1ldGFkYXRhPW1vZGU9YWRk OmtleT10cmFuc2NyaXB0aW9uOnZhbHVlPSfZhdix2K3YqNinINio2KfZhNi52KfZhNmFJyxkcmF3 dGV4dD1mb250c2l6ZT0zMDp4PTMwOnk9MzA6Zm9udGNvbG9yPXllbGxvdzp0ZXh0PSInRnJvbSBt ZXRhZGF0YVw6ICV7bWV0YWRhdGFcOnRyYW5zY3JpcHRpb259JyIgb3V0Lm1wNA0KDQpUaGlzIGNv bW1pdCBmaXhlcyBpdCBzbyB0aGF0IHRoaXMgc2Vjb25kIGNvbW1hbmQgbGluZSBub3cgd29ya3Mu DQoNCk5PVEUgdGhhdCB0aGUgYWJvdmUgY29tbWFuZCBsaW5lcyBhcmUgZm9yIGV4YW1wbGUgb25s eS4gVGhleSByZW5kZXINCnRoZSBwcm9wZXIgdGV4dCwgYnV0IGltcHJvcGVybHkganVzdGlmaWVk IChsZWZ0LWp1c3RpZmllZCBpbnN0ZWFkIG9mDQpyaWdodC1qdXN0aWZpZWQpLiBGb3Igb25lLWxp bmUgdHJhbnNjcmlwdGlvbnMsIHRoaXMgaXMgZWFzaWx5IGZpeGVkDQpieSByZXBsYWNpbmcgeD0z MCB3aXRoIHg9XCg3MDAtdHdcKS4gVHdvLWxpbmUgdHJhbnNjcmlwdGlvbnMgZG8gbm90DQpoYXZl IGEgc2ltcGxlIHNvbHV0aW9uLg0KDQpTaWduZWQtb2ZmLWJ5OiBSYXltb25kIENoZW5nIDxyYXlj aEBtaWNyb3NvZnQuY29tPg0KLS0tDQogbGliYXZmaWx0ZXIvdmZfZHJhd3RleHQuYyB8IDU3ICsr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQ0KIDEgZmlsZSBjaGFuZ2VkLCAz NyBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL2xpYmF2Zmls dGVyL3ZmX2RyYXd0ZXh0LmMgYi9saWJhdmZpbHRlci92Zl9kcmF3dGV4dC5jDQppbmRleCBmZWI2 ODk4ODQ4Li45ZTRhNjNiN2ZkIDEwMDY0NA0KLS0tIGEvbGliYXZmaWx0ZXIvdmZfZHJhd3RleHQu Yw0KKysrIGIvbGliYXZmaWx0ZXIvdmZfZHJhd3RleHQuYw0KQEAgLTYwOCw3ICs2MDgsNyBAQCBz dGF0aWMgaW50IGxvYWRfdGV4dGZpbGUoQVZGaWx0ZXJDb250ZXh0ICpjdHgpDQogfQ0KIA0KICNp ZiBDT05GSUdfTElCRlJJQklESQ0KLXN0YXRpYyBpbnQgc2hhcGVfdGV4dChBVkZpbHRlckNvbnRl eHQgKmN0eCkNCitzdGF0aWMgaW50IHNoYXBlX3RleHRfYXJnKEFWRmlsdGVyQ29udGV4dCAqY3R4 LCBjaGFyICoqcHBUZXh0KQ0KIHsNCiAgICAgRHJhd1RleHRDb250ZXh0ICpzID0gY3R4LT5wcml2 Ow0KICAgICB1aW50OF90ICp0bXA7DQpAQCAtNjI1LDEyICs2MjUsMTUgQEAgc3RhdGljIGludCBz aGFwZV90ZXh0KEFWRmlsdGVyQ29udGV4dCAqY3R4KQ0KICAgICBGcmlCaWRpQ2hhclR5cGUgKmJp ZGlfdHlwZXMgPSBOVUxMOw0KICAgICBGcmlCaWRpU3RySW5kZXggaSxqOw0KIA0KLSAgICBsZW4g PSBzdHJsZW4ocy0+dGV4dCk7DQorICAgIGlmICghcy0+dGV4dF9zaGFwaW5nKQ0KKyAgICAgICAg cmV0dXJuIDA7IC8vIERvIG5vdGhpbmcNCisNCisgICAgbGVuID0gc3RybGVuKCpwcFRleHQpOw0K ICAgICBpZiAoISh1bmljb2Rlc3RyID0gYXZfbWFsbG9jX2FycmF5KGxlbiwgc2l6ZW9mKCp1bmlj b2Rlc3RyKSkpKSB7DQogICAgICAgICBnb3RvIG91dDsNCiAgICAgfQ0KICAgICBsZW4gPSBmcmli aWRpX2NoYXJzZXRfdG9fdW5pY29kZShGUklCSURJX0NIQVJfU0VUX1VURjgsDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPnRleHQsIGxlbiwgdW5pY29kZXN0cik7DQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpwcFRleHQsIGxlbiwgdW5pY29k ZXN0cik7DQogDQogICAgIGJpZGlfdHlwZXMgPSBhdl9tYWxsb2NfYXJyYXkobGVuLCBzaXplb2Yo KmJpZGlfdHlwZXMpKTsNCiAgICAgaWYgKCFiaWRpX3R5cGVzKSB7DQpAQCAtNjc2LDE0ICs2Nzks MTQgQEAgc3RhdGljIGludCBzaGFwZV90ZXh0KEFWRmlsdGVyQ29udGV4dCAqY3R4KQ0KICAgICAg ICAgICAgIHVuaWNvZGVzdHJbaisrXSA9IHVuaWNvZGVzdHJbaV07DQogICAgIGxlbiA9IGo7DQog DQotICAgIGlmICghKHRtcCA9IGF2X3JlYWxsb2Mocy0+dGV4dCwgKGxlbiAqIDQgKyAxKSAqIHNp emVvZigqcy0+dGV4dCkpKSkgew0KKyAgICBpZiAoISh0bXAgPSBhdl9yZWFsbG9jKCpwcFRleHQs IChsZW4gKiA0ICsgMSkgKiBzaXplb2YoKipwcFRleHQpKSkpIHsNCiAgICAgICAgIC8qIFVzZSBs ZW4gKiA0LCBhcyBhIHVuaWNvZGUgY2hhcmFjdGVyIGNhbiBiZSB1cCB0byA0IGJ5dGVzIGluIFVU Ri04ICovDQogICAgICAgICBnb3RvIG91dDsNCiAgICAgfQ0KIA0KLSAgICBzLT50ZXh0ID0gdG1w Ow0KKyAgICAqcHBUZXh0ID0gdG1wOw0KICAgICBsZW4gPSBmcmliaWRpX3VuaWNvZGVfdG9fY2hh cnNldChGUklCSURJX0NIQVJfU0VUX1VURjgsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVuaWNvZGVzdHIsIGxlbiwgcy0+dGV4dCk7DQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVuaWNvZGVzdHIsIGxlbiwgKnBwVGV4dCk7DQogICAgIHJldCA9 IDA7DQogDQogb3V0Og0KQEAgLTY5Myw4ICs2OTYsMTkgQEAgb3V0Og0KICAgICBhdl9mcmVlKGJp ZGlfdHlwZXMpOw0KICAgICByZXR1cm4gcmV0Ow0KIH0NCisjZWxzZQ0KK3N0YXRpYyBpbnQgc2hh cGVfdGV4dF9hcmcoQVZGaWx0ZXJDb250ZXh0ICpjdHgsIGNoYXIgKipwcFRleHQpDQorew0KKyAg ICByZXR1cm4gMDsNCit9DQogI2VuZGlmDQogDQorc3RhdGljIGludCBzaGFwZV90ZXh0KEFWRmls dGVyQ29udGV4dCAqY3R4KQ0KK3sNCisgICAgRHJhd1RleHRDb250ZXh0ICpzID0gY3R4LT5wcml2 Ow0KKyAgICByZXR1cm4gc2hhcGVfdGV4dF9hcmcoY3R4LCAoY2hhciAqKikmcy0+dGV4dCk7DQor fQ0KKw0KIHN0YXRpYyBlbnVtIEFWRnJhbWVTaWRlRGF0YVR5cGUgdGV4dF9zb3VyY2Vfc3RyaW5n X3BhcnNlKGNvbnN0IGNoYXIgKnRleHRfc291cmNlX3N0cmluZykNCiB7DQogICAgIGF2X2Fzc2Vy dDAodGV4dF9zb3VyY2Vfc3RyaW5nKTsNCkBAIC03NzEsMTEgKzc4NSw4IEBAIHN0YXRpYyBhdl9j b2xkIGludCBpbml0KEFWRmlsdGVyQ29udGV4dCAqY3R4KQ0KICAgICAgICAgcmV0dXJuIEFWRVJS T1IoRUlOVkFMKTsNCiAgICAgfQ0KIA0KLSNpZiBDT05GSUdfTElCRlJJQklESQ0KLSAgICBpZiAo cy0+dGV4dF9zaGFwaW5nKQ0KLSAgICAgICAgaWYgKChlcnIgPSBzaGFwZV90ZXh0KGN0eCkpIDwg MCkNCi0gICAgICAgICAgICByZXR1cm4gZXJyOw0KLSNlbmRpZg0KKyAgICBpZiAoKGVyciA9IHNo YXBlX3RleHQoY3R4KSkgPCAwKQ0KKyAgICAgICAgcmV0dXJuIGVycjsNCiANCiAgICAgaWYgKChl cnIgPSBGVF9Jbml0X0ZyZWVUeXBlKCYocy0+bGlicmFyeSkpKSkgew0KICAgICAgICAgYXZfbG9n KGN0eCwgQVZfTE9HX0VSUk9SLA0KQEAgLTEwMzQsMTEgKzEwNDUsMTkgQEAgc3RhdGljIGludCBm dW5jX21ldGFkYXRhKEFWRmlsdGVyQ29udGV4dCAqY3R4LCBBVkJQcmludCAqYnAsDQogew0KICAg ICBEcmF3VGV4dENvbnRleHQgKnMgPSBjdHgtPnByaXY7DQogICAgIEFWRGljdGlvbmFyeUVudHJ5 ICplID0gYXZfZGljdF9nZXQocy0+bWV0YWRhdGEsIGFyZ3ZbMF0sIE5VTEwsIDApOw0KKyAgICBp bnQgZXJyOw0KKw0KKyAgICBpZiAoZSAmJiBlLT52YWx1ZSkgew0KKyAgICAgICAgaWYgKChlcnIg PSBzaGFwZV90ZXh0X2FyZyhjdHgsICZlLT52YWx1ZSkpIDwgMCkNCisgICAgICAgICAgICByZXR1 cm4gZXJyOw0KIA0KLSAgICBpZiAoZSAmJiBlLT52YWx1ZSkNCiAgICAgICAgIGF2X2JwcmludGYo YnAsICIlcyIsIGUtPnZhbHVlKTsNCi0gICAgZWxzZSBpZiAoYXJnYyA+PSAyKQ0KKyAgICB9IGVs c2UgaWYgKGFyZ2MgPj0gMikgew0KKyAgICAgICAgaWYgKChlcnIgPSBzaGFwZV90ZXh0X2FyZyhj dHgsICZhcmd2WzFdKSkgPCAwKQ0KKyAgICAgICAgICAgIHJldHVybiBlcnI7DQorDQogICAgICAg ICBhdl9icHJpbnRmKGJwLCAiJXMiLCBhcmd2WzFdKTsNCisgICAgfQ0KICAgICByZXR1cm4gMDsN CiB9DQogDQpAQCAtMTYzNCwxMyArMTY1MywxMSBAQCBzdGF0aWMgaW50IGZpbHRlcl9mcmFtZShB VkZpbHRlckxpbmsgKmlubGluaywgQVZGcmFtZSAqZnJhbWUpDQogICAgICAgICAgICAgYXZfZnJh bWVfZnJlZSgmZnJhbWUpOw0KICAgICAgICAgICAgIHJldHVybiByZXQ7DQogICAgICAgICB9DQot I2lmIENPTkZJR19MSUJGUklCSURJDQotICAgICAgICBpZiAocy0+dGV4dF9zaGFwaW5nKQ0KLSAg ICAgICAgICAgIGlmICgocmV0ID0gc2hhcGVfdGV4dChjdHgpKSA8IDApIHsNCi0gICAgICAgICAg ICAgICAgYXZfZnJhbWVfZnJlZSgmZnJhbWUpOw0KLSAgICAgICAgICAgICAgICByZXR1cm4gcmV0 Ow0KLSAgICAgICAgICAgIH0NCi0jZW5kaWYNCisNCisgICAgICAgIGlmICgocmV0ID0gc2hhcGVf dGV4dChjdHgpKSA8IDApIHsNCisgICAgICAgICAgICBhdl9mcmFtZV9mcmVlKCZmcmFtZSk7DQor ICAgICAgICAgICAgcmV0dXJuIHJldDsNCisgICAgICAgIH0NCiAgICAgfQ0KIA0KICAgICBzLT52 YXJfdmFsdWVzW1ZBUl9OXSA9IGlubGluay0+ZnJhbWVfY291bnRfb3V0ICsgcy0+c3RhcnRfbnVt YmVyOw0KLS0gDQoyLjM0LjENCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVn Lm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRv IHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVx dWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=