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 5213D4A939 for ; Fri, 24 May 2024 13:17:09 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 879E768D547; Fri, 24 May 2024 16:17:07 +0300 (EEST) Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on2072.outbound.protection.outlook.com [40.107.249.72]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0164668D504 for ; Fri, 24 May 2024 16:17:00 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TFZQ2nBycr9S66IXX3EXvnNmekztLmkFnFWdW6TdwaSScku5Q6l4rruCgpJgeFL0lU3ivjE1l3GqTOYjOdKWbh1o9+Y/GYXJ8oI+epXxUQaXnb9CqxTRdlSTWe504lDEsp+agdfx3DAkz8KEltoipGmp4AzTeEel9+TL7RS03rnZ4b4ZoWlrMb3l/2TegLwwT/ubeIqA4Dwy8X3BL2s9SL3+8e5Dhu/RnAwaEEQNJj6QJjM5EOkq0eSe0IZJBNek+aLAjxdqxc6jwmUMd51ogXrpad9j5g/ZMvNHz4Q7Ya+Lu9Z+8w7RZvKREouGEwL/ZIKMML9WvNfGAaca4jCb/g== 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=fV3T8ag+PxPN6blHfvyHqlaYvso/EeBmRPlHCT/xi54=; b=gStvW5cX3JxHz771AkBoafRlVUqIsAuQzijNHWgazpwGD+IMZMLvld6mdCWuScdBtlETipBHrDiEoMcxFnR29kkqEq8dA6nj8Algcp3KA9n9jz8Rx/R0DtDuZBAhIm9JM9u4nBTPvrwSNOg80deNLWTm3rtuGMuqDxTBgryq4WbO3i1SQXyNIQiF8ntQ2Z6l7g/a5Uayk63NiLgvGAMiMttX8vwOE9Q9duIbzaom92mwSHEwkJqdGjJMJPtqf/wGXERMYZBJwTwcKrNWTdgkNX5ppqTIInIWCuFHS3rZGW2uQZtvh5OouwPXpnM0SFup5ob85kC12t0jDwA2IguVnw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=milestone.dk; dmarc=pass action=none header.from=milestone.dk; dkim=pass header.d=milestone.dk; arc=none Received: from AM9PR02MB6850.eurprd02.prod.outlook.com (2603:10a6:20b:2c2::22) by AM7PR02MB5862.eurprd02.prod.outlook.com (2603:10a6:20b:10e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.35; Fri, 24 May 2024 13:16:57 +0000 Received: from AM9PR02MB6850.eurprd02.prod.outlook.com ([fe80::94de:827b:151e:29fc]) by AM9PR02MB6850.eurprd02.prod.outlook.com ([fe80::94de:827b:151e:29fc%5]) with mapi id 15.20.7587.035; Fri, 24 May 2024 13:16:57 +0000 To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] Flushing while decoding , but need already decoded frames Thread-Index: AdqtvA39uKfblkmhQgS6ABbihVmWNQABW6GAAANhKYAAAzBakA== Date: Fri, 24 May 2024 13:16:57 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-DK, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-processedbytemplafy: true x-templafyemailsigvstoversion: 9.13.0.0 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: AM9PR02MB6850:EE_|AM7PR02MB5862:EE_ x-ms-office365-filtering-correlation-id: c20b2d6f-6508-4814-3c91-08dc7bf3c9d3 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230031|376005|366007|1800799015|38070700009; x-microsoft-antispam-message-info: =?utf-8?B?Z3dNV0VqNUgxamZKRGpaRnVjTXpCSTR6RjJYMUlSMjdiNWlPWW5qRzduS1Jw?= =?utf-8?B?ZnBwYlVZSXNEZEUyTzVPZEh6YjBYdHExNkVlS1RSc0ZNWHlBSlNVQjcxSjBJ?= =?utf-8?B?RlFDRTU1Q2N3ODZISHRxYyt1YXJxYlphNG91eGZuc1JLb1ZvNERqVy9kcVAw?= =?utf-8?B?SWIyRVJTamZFa1NabnZPWkREREJ6UlYvbVF3SjVoZ1gvbnJqeGhlUzQwSmFm?= =?utf-8?B?eitUZ29NY0YrYVVGNGJObmVqMUN6SVQ1ZUVOUzZSTHdUUmJQUEtlRk9IZGlK?= =?utf-8?B?TzlaOTJWY0tUdEVBcnVTbmNNZU9xeHhSRWJ2N0ZFWVdVT2hhQ2VqTmJMSkNo?= =?utf-8?B?U2VzTVpHSjFuSVBJSzJpbFBPd21qVVJoQVZtMWpDUmMwdWtsTzY4ZGNZVXVM?= =?utf-8?B?ekZULzhHNldXa2UrcUdCZC8vQW5nWXhpM0ZOeXV3R3BUeUdJV2hlUTNlWk9T?= =?utf-8?B?dy9BOUgwSFIvNTJxRGtRd1V5Nk5UNXprRGtzRS9yc2dDb2VrMzB6OHZ6UzIx?= =?utf-8?B?UG8zcmM3Uy9Sa1BWVnN3clZYZWgzZ3k2dmphRXJmZU9odHU1RDl4SFJEQ2Vq?= =?utf-8?B?WEY1b21vMFZmblV2K3UxQjdrbHVzKzhETzQyeG9rbVh2N1F5Q3ViYUlyTDA1?= =?utf-8?B?T3VFR1gwbC9tNXdvSlBjL2FVa3pmRkkveXF4cnozT0dHaXFBQ2ZsaDZwWVZ1?= =?utf-8?B?eHZNVmVSUUIwMWNQR3gvZVphaUJudHdsdmZmR2lKMGhQc3pEZnBseFdaQnhr?= =?utf-8?B?NTlxWUtHbFFmcHExOUtJZ1lITkFaYTJheEJjaTI2dHFmR0dsZks3ZDlEalEx?= =?utf-8?B?SFd5MmkyeGMwVHJ3UUJkK1FWYzdMWUJmOGtPQjRISUlCaUpUY21UUENlMTVL?= =?utf-8?B?T2padTVQWlVZaEdJdit1WjFzQUltUjJQc1lPQ3NQWXBVcmJaN25LZTluSUJ1?= =?utf-8?B?WG1MOHVvdnhWOU5RdnVKaW0xV1FSZlAza1VqVlRRQVVpNlVJN1QwdFBUTUx2?= =?utf-8?B?a1gyOFJpTTRBNDBXVGkrQmVaTnVvdXllbmV0MkhGSjRpK1k4bTQyQUdncjla?= =?utf-8?B?Y0pBbkI3cTZjSzJJYVpOZmU1YUxLMWYyMkMxT3pGUXd1N1h2aUxQNTlVeStO?= =?utf-8?B?UlVyVC8yMWZmQU9vdG9ub2tCNzdpUDlDd08rbzlhbllUVmtnQjhIU2gxU2F2?= =?utf-8?B?NjdFa3ZaemVDQmliVGozQmc3NGNzdVJwbzR4RVVialkyczBwR2d2Q24vL09o?= =?utf-8?B?dG4zRXZsN1ZjYWhmeC9qSi9IZE95OGMvdzMxeWF6TzFaMmtVdm50UXpCbTFL?= =?utf-8?B?eFRMYmQ3TDJvVWhGYkFabWZtTlFaSnZmUkphOWJYeXZqQVdaRHFzenJMdy9n?= =?utf-8?B?WllPOWhoS081MnpZV0tqTy93QWRlNG4zckZZWmV5VzZGcElGMDNiLzkxb1JT?= =?utf-8?B?SFE0Z0RNaXRNRDVEcnM4aVdpQWZOdUhZTzVnRDJNdjNoV09IVloreU9qUEZq?= =?utf-8?B?U0hjM0k5TXRRQmlqNmREYk9SM01NRExpaTlYRFI2a1I3NzdoUHBIcVM5M2xF?= =?utf-8?B?YkJGU1l3UkF5Wk5xQjRRTGJKaVZEN2U1a1dLQmlIeXNXeTd3MmFBUDFSSUJT?= =?utf-8?B?MkZOVVNIRHo2TkJOS2FpSnYvZmROZzllWGdUa0ZnYU4vVUliSmhTQTR1RkpV?= =?utf-8?B?Zk8xQjl2dCtHeDROdGdQWjZSOCtUWU5kYWovL3BuSmVJTmlrL053aWdBPT0=?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR02MB6850.eurprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376005)(366007)(1800799015)(38070700009); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?V0o1d0o2SDNqMFkwU1M0L1hGczlwaUN1QmJ1dnJTQnBPeW5vbks2TGpPUkxP?= =?utf-8?B?Mm1LSnJ6UDNoZHkyNU9GWU0vS0RPSDRVN2VMeHF0NTVCVStTWVd1TjhPN0Zl?= =?utf-8?B?NTNLQVQ5L0xGNkdkSWFDK1dyb21URW5Yb1RmT0RSVERWRDRwNTFMOXo2WE1B?= =?utf-8?B?cVpKbHBRMXZIc2l2WTFBSjFIOVZ3WDRMRVhsbGVoakt5Rzk3MkdlT2lLV3pZ?= =?utf-8?B?dVFmalZFMjRxQ3lXRUlHTUtZK0FLR24vbEtscWEvY2FPeVR0S0R5SWdrMGFC?= =?utf-8?B?Ylh5OG1IWnpCRlNMQ2IzSEI1cUZSZ1Y2YkVuZExPaFJwWjdwS1Y5S2hnMTBV?= =?utf-8?B?MzJ0S1JWS1JVYlIxOGlGQ1MvMUJHUDljdVQrbFB5TmRqbXpKZXVhS21Cc2M0?= =?utf-8?B?eDA1VDBhTXIrb20vekFkQzF3V1Z0UVJ4SGpJMDdWclpEZ1NsTGtOb0lYNWZo?= =?utf-8?B?MjA0dkhuVWpHKzRYL3FLSHcyaStGS00xWFlrMUVuY2dRbzVYbVUzT252WnNC?= =?utf-8?B?MnZ1blpFNmk2NUdkNU1GVWV4Q293T2p5VmpPMmFNWUNqdkRSd2tLY3hzUEVS?= =?utf-8?B?S2xwbzQxNkZPVXlnMFFRK3RRZTVlVXFuTW5JYnhNdlRMZzk5dUFXaDVsY2xN?= =?utf-8?B?bkJpVzUvcTZpN0RXSVI1MTlXdWlFcjFvdk15RThmNitQSnJIUllvbmVMSENT?= =?utf-8?B?V0w3RGlPSnVnOW5SeG9iTXdETUN5N3hBYnFLb3MwVzZ3RXRXZEVVV2hPR0pv?= =?utf-8?B?aUN0bnlOT2JZcC9NKzVXb1dBWmJWYVdIWWtRQ2l2cmdhNlg4OUxURUFtakNI?= =?utf-8?B?NjNnSHRrL0VON1lhaHNEYzd0bjFPQUdsMVJaclNOemVPVUJ1WXJ4Smh1eW1y?= =?utf-8?B?N2gzVGorOUVVV05Tb3NoL1F0SUVPS3ovME83T2loNGxFUmVPWGRKc2wzMEN0?= =?utf-8?B?Snh6RkVSUHVkSGZSQ3J0ZXF3SGloejl2M2RZMXprT3hVVlF1bjg4bGZ0QUlQ?= =?utf-8?B?RVpZQmp5UlQycE5vdWFEQlUxMCs2WkxOWUF4dUU1WDQwOGxBejlVbnJJYm5x?= =?utf-8?B?NHVrQ2NybWFZSlBoMXQzM25WbkowNWhGVFQ3dzV5UHpIZmlqY3g3L1VleFox?= =?utf-8?B?cWFrQ21jMjNEZ05jT0x6ZjFGYzl1VXJOK2I0UzFVelQxUi80YzNQdEsrN0NK?= =?utf-8?B?MXhpNGQvcWp1R0Z5bm52SEVjVUt4QlZkd1REdm1KVUpTZFJRZ0kxRUt3cVNx?= =?utf-8?B?Qk9TRU9xV3Y4Y1oxLytiOElhNFB2K1lRcTEvV1RkakUzNlpOODZvbHg3Mjdw?= =?utf-8?B?Z2pkMUthZTMra2VITXBFSmhJcHkyclZ2UUNTYTJtQjdQcHN4eWVqT2tzc3gx?= =?utf-8?B?WHdtaFc3TzM0RmpHSllEemgrTFNjTmJhRGUwcUZiZUJUdnJiaU1Jc05jWDN0?= =?utf-8?B?bjJsZWJMWjVIZXJ1dVVSV3JVaG1hcERCRmlLQkVvcVdLNkdEU0pZQ0ZJMFZN?= =?utf-8?B?WXppY25JYjNTaUFweTRXVHV0TnlSMjNlUzVZcmFyVGZINzdvbEZraXlva3pD?= =?utf-8?B?ZCtVcWQ1YkRndFFEelQxczlId3NEalRvbW1SUWg4R3RROU1ENWNuM2lGVjlH?= =?utf-8?B?TEp1S1h2TzFGbHJUUHVmZ3BkRUwzM2tsSmRvZURQaUY4V29jV3BQTlBRNVVw?= =?utf-8?B?UHJ0WGQ2U0hJSTM4cnN4eEFvNGpVd044TWgxWjN0bllIa2w3T1JncHFEREho?= =?utf-8?B?TkJqMGhqZjJXR3pkbUdpNHhSYlFHSDRNaVNENit0NS96UHZ5em4yNjhab2lO?= =?utf-8?B?ODBoV29pVnlUUGNmYlJ5RndTaTBnUmozQlpEZWRGWVBvbHhYMVcveXI0V3BE?= =?utf-8?B?QnF0Rk5RV29FdkpiMDg2VS9kWncvd0k4Q0FVL2NzdVBGNUUxcG9QQW4zS2tj?= =?utf-8?B?Yjk3WDBCMTBrQ2xLZU1tUWt6V1NiTThJTGJ0SC9pTEZ5M1RPUHkyYnc5ZGQv?= =?utf-8?B?RXZVRGhiZGRTYzMzcitjY3VCRC81S0VSa0VSMklvd29zUVdHU1dFdUtPWmor?= =?utf-8?B?YVYwL3pobUo1TElsczB3Nlo5SGpYWGpqeHhiZz09?= MIME-Version: 1.0 X-OriginatorOrg: milestone.dk X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM9PR02MB6850.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c20b2d6f-6508-4814-3c91-08dc7bf3c9d3 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 May 2024 13:16:57.2513 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4744e4b2-072d-4754-be71-250b45e049fe X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: s2/URWKlU/1Dx0jlN9W+3ByiZ9Qa2gHW2MKIBRJHeBk7MdN6tp1IGSL+aQls/ff8532P3Ihy4SmpQrnscbDPSw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR02MB5862 Subject: Re: [FFmpeg-devel] Flushing while decoding , but need already decoded frames 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 Henrik Bodenhoff via ffmpeg-devel Reply-To: FFmpeg development discussions and patches Cc: Michael Henrik Bodenhoff 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: SGkgQW5kcmV5ICwNCg0KIndoZW4gdGhlIGRlY29kZXIgaXMgc2V0IHVwIHRvIGlnbm9yZSBCIGZy YW1lcyINCg0KSG93IGRvIHlvdSBkbyB0aGF0ID8g8J+Ysg0KDQpXZSBtdXN0IGhhdmUgbWlzc2Vk IHNvbWV0aGluZyB3aGlsZSB3ZSB0cmllZCB1c2luZyBGRm1wZWcsIGJlY2F1c2Ugd2UgY291bGRu J3QgZmluZCBhIHdheSBvZiB0ZWxsaW5nIHRoZSBkZWNvZGVyIHRvIGlnbm9yZSBCIGZyYW1lcywg d2UgYWN0dWFsbHkgZ290IHNvIGRlc3BlcmF0ZSB0aGF0IHdlIGNvbnNpZGVyZWQgaWYgaXQgd2Fz IHBvc3NpYmxlIHRvIG1vZGlmeSB0aGUgaW5jb21pbmcgZW5jb2RlZCBzdHJlYW0gdG8gbWFrZSBG Rm1wZWcgYmVsaWV2ZSB0aGF0IHRoZSBzdHJlYW0gZG9lc24ndCBjb250YWluIEIgZnJhbWVzIOKY uQ0KDQpNaWNoYWVsIEJvZGVuaG9mZg0KUHJpbmNpcGFsIFNvZnR3YXJlIEVuZ2luZWVyDQoNCkZU MDENCg0KRW1haWw6IG1pYm9AbWlsZXN0b25lLmRrDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KRnJvbTogZmZtcGVnLWRldmVsIDxmZm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBP biBCZWhhbGYgT2YgQW5kcmV5IFR1cmtpbg0KU2VudDogMjQuIG1haiAyMDI0IDEzOjM5DQpUbzog RkZtcGVnIGRldmVsb3BtZW50IGRpc2N1c3Npb25zIGFuZCBwYXRjaGVzIDxmZm1wZWctZGV2ZWxA ZmZtcGVnLm9yZz4NClN1YmplY3Q6IFJlOiBbRkZtcGVnLWRldmVsXSBGbHVzaGluZyB3aGlsZSBk ZWNvZGluZyAsIGJ1dCBuZWVkIGFscmVhZHkgZGVjb2RlZCBmcmFtZXMNCg0KW1lvdSBkb24ndCBv ZnRlbiBnZXQgZW1haWwgZnJvbSBhbmRyZXkudHVya2luQGdtYWlsLmNvbS4gTGVhcm4gd2h5IHRo aXMgaXMgaW1wb3J0YW50IGF0IGh0dHBzOi8vYWthLm1zL0xlYXJuQWJvdXRTZW5kZXJJZGVudGlm aWNhdGlvbiBdDQoNCkhhdmUgdG8gc2F5LCB0aGlzIGlzc3VlIGhhcyBiZWVuIGEgbG9uZyBncmll dmFuY2Ugb2YgbWluZS4gVGhlcmUgaXMgbm8gcmVhc29uIHRvIGRlbGF5IGZyYW1lcyB3aGVuIHRo ZSBkZWNvZGVyIGlzIHNldCB1cCB0byBpZ25vcmUgQiBmcmFtZXMgYXMgdGhlcmUgaXMgbm8gcmVv cmRlcmluZyB0byBiZSBkb25lOyBpZGVhbGx5IHRoaXMgc2hvdWxkIGJlIHplcm8tZGVsYXkgY2Fz ZSAocGFja2V0IGdvZXMgaW4sIGZyYW1lIGdvZXMgb3V0KSB5ZXQgdGhlIG1vc3QgY29tbW9uIGRl Y29kZXJzIGRlbGF5IGZyYW1lcyBhbnl3YXksIGFzIGlmIHRvIGRlY29kZSBCIGZyYW1lcy4gTW9y ZW92ZXIsIHdpdGggdGhlICJuZXciIHNlbmQvcmVjZWl2ZSBBUEkgSSB0aGluayB0aGVyZSBpcyBu byByZWFzb24gdG8gZGVsYXkgZnJhbWVzIGF0IGFsbCAtIGEgc2luZ2xlIHNlbmRfcGFja2V0IGNv dWxkIGRlY29kZSBhbmQgcXVldWUgbXVsdGlwbGUgZnJhbWVzIHRvIGJlIHJlY2VpdmVkLCBzbyBp dCBtYWtlcyBzZW5zZSB0byBzZW5kIGZyYW1lcyBhcyBzb29uIGFzIHBvc3NpYmxlIC0geWV0IHRo YXQgaXMgbm90IHRoZSBjYXNlIGFzIHdlbGwuDQoNCtC/0YIsIDI0INC80LDRjyAyMDI04oCv0LMu INCyIDEzOjE3LCBBbmRyZWFzIFJoZWluaGFyZHQgPGFuZHJlYXMucmhlaW5oYXJkdEBvdXRsb29r LmNvbT46DQo+DQo+IE1pY2hhZWwgSGVucmlrIEJvZGVuaG9mZiB2aWEgZmZtcGVnLWRldmVsOg0K PiA+IEhpICwNCj4gPg0KPiA+IG15IHRlYW0gcmVjZW50bHkgaGFkIHRvIGFiYW5kb24gc3dpdGNo aW5nIHRvIHVzaW5nIEZGbXBlZyBmcm9tDQo+ID4gc3BlY2lmaWMgZGVjb2RlciBpbXBsZW1lbnRh dGlvbnMgKE52REVDLCBJbnRlbCBNZWRpYSBTREsgLCBJUFAgYW5kDQo+ID4gcXVpdGUgYSBmZXcg Y29kZWMgc3BlY2lmaWMgZGVjb2RlcnMpIGJlY2F1c2Ugb2YgYmlnIHBlcmZvcm1hbmNlDQo+ID4g aXNzdWVzIGJlY2F1c2Ugb2YgdGhlIHdheSBGRm1wZWcgd29ya3PigKYuLiBvciBhdCBsZWFzdCB3 ZSB0aGluayBpdCBpcw0KPiA+ICh3ZeKAmXJlIEZGbXBlZyBub29icyDwn5iDICApDQo+ID4NCj4g PiBJdCdzIGFjdHVhbGx5IGFuIGlzc3VlIHdlIGFsc28gaGFkIHdpdGggSW50ZWwgTWVkaWEgU0RL LCAgbGVhZGluZyB1cyB0byBwYXkgSW50ZWwgdG8gZXh0ZW5kIE1lZGlhIFNESyB0byBkbyB3aGF0 IHdlIG5lZWRlZC4NCj4gPg0KPiA+IE91ciBwcm9kdWN0IGlzIGEgdmlkZW8gc3VydmVpbGxhbmNl IHN5c3RlbSwgYW5kIHRoYXQgbWVhbnMgd2UgaGF2ZSB0byBkZWNvZGUgYSBMT1Qgb2YgdmlkZW8g c3RyZWFtcyBzaW11bHRhbmVvdXNseS4NCj4gPg0KPiA+IEZvciBtb3Rpb24gZGV0ZWN0aW9uIHdl IHdhbnQgdG8gb25seSBkZWNvZGUga2V5ZnJhbWVzLCBhbmQgc2tpcCBQIGFuZCBCIGZyYW1lcyAs IGFuZCB0aGF0IHdvcmtzIGZpbmUgd2l0aCBGRm1wZWcgbW9zdCBvZiB0aGUgdGltZSwgZXhjZXB0 IGZvciB3aGVuIHRoZSB2aWRlbyBzdHJlYW0gY29udGFpbnMgQiBmcmFtZXMuDQo+ID4gV2l0aG91 dCBCLUZyYW1lcyBpdOKAmXMgcmVhbGx5IHNpbXBsZSAoc2ltcGxpZmllZCBwc2V1ZG9jb2RlKSA6 DQo+ID4NCj4gPiB3aGlsZSh0cnVlKQ0KPiA+IHsNCj4gPiAgIHJlY2VpdmVTdHJlYW1Db21wbGV0 ZUZyYW1lKCk7DQo+ID4gICBJZihLZXlGcmFtZSkNCj4gPiAgIHsNCj4gPiAgICAgYXZjb2RlY19z ZW5kX3BhY2tldCgpOw0KPiA+ICAgICBpZihhdmNvZGVjX3JlY2VpdmVfZnJhbWUoKT09MCkNCj4g PiAgICAgew0KPiA+ICAgICAgICAvLyBkbyBtb3Rpb24gZGV0ZWN0aW9uDQo+ID4gICAgIH0NCj4g PiAgIH0NCj4gPiB9DQo+ID4NCj4gPiBCdXQhIHdpdGggQiBGcmFtZXMgRkZtcGVnIGRvZXNu4oCZ dCByZXR1cm4ga2V5ZnJhbWVzIHdoZW4gdGhleSBhcmUgZGVjb2RlZCwgdGhleSBhcmUga2VwdCwg YW5kIHdlIGNhbuKAmXQgc2VlbSB0byBmbHVzaCB0aGVtIG91dC4gYXZjb2RlY19mbHVzaF9idWZm ZXJzIGFsbG93IHVzIHRvIGNvbnRpbnVlIHRvIG5leHQga2V5ZnJhbWUsIGJ1dCBpdCBkb2VzbuKA mXQgc2VlbSB0byBnaXZlIHVzIHRoZSBrZXlmcmFtZSB3ZSBqdXN0IGdhdmUgdG8gRkZtcGVnIHdp dGggYXZjb2RlY19zZW5kX3BhY2tldC4NCj4gPg0KPiA+IHdoaWxlKHRydWUpDQo+ID4gew0KPiA+ ICAgcmVjZWl2ZVN0cmVhbUNvbXBsZXRlRnJhbWUoKTsNCj4gPiAgIElmKEtleUZyYW1lKQ0KPiA+ ICAgew0KPiA+ICAgICBhdmNvZGVjX3NlbmRfcGFja2V0KCk7DQo+ID4gICAgIGlmKGF2Y29kZWNf cmVjZWl2ZV9mcmFtZSgpPT0wKQ0KPiA+ICAgICB7DQo+ID4gICAgICAgIC8vIGRvIG1vdGlvbiBk ZXRlY3Rpb24NCj4gPiAgICAgfQ0KPiA+ICAgICBFbHNlDQo+ID4gICAgIHsNCj4gPiAgICAgICBh dmNvZGVjX2ZsdXNoX2J1ZmZlcnMoKTsNCj4gPiAgICAgICBpZihhdmNvZGVjX3JlY2VpdmVfZnJh bWUoKT09MCkNCj4gPiAgICAgICB7DQo+ID4gICAgICAgICAgLy8gZG8gbW90aW9uIGRldGVjdGlv bg0KPiA+ICAgICAgIH0NCj4gPiAgICAgfQ0KPiA+ICAgfQ0KPiA+IH0NCj4gPg0KPiA+IENhbGxp bmcgYXZjb2RlY19yZWNlaXZlX2ZyYW1lIGFmdGVyIGNhbGxpbmcgYXZjb2RlY19mbHVzaF9idWZm ZXINCj4gPiByZXN1bHRzIGluIC0xMSBhbmQgbm8gZnJhbWUNCj4gPg0KPiA+IGlzIHRoZXJlIGFu eXdheSBhcm91bmQgdGhpcyA/IEFuZCBpZiBub3QsIGNvdWxkIEZGbXBlZyBiZSBtYWRlIHRvIGhh dmUgdGhpcyBmdW5jdGlvbmFsaXR5ID8NCj4gPg0KPiA+IEkgdHJpZWQgY29udGFjdGluZyBvbmUg b2YgdGhlIEZGbXBlZyBjb25zdWx0YW50cyBmcm9tDQo+ID4gaHR0cHM6Ly9mZi8NCj4gPiBtcGVn Lm9yZyUyRmNvbnN1bHRpbmcuaHRtbCZkYXRhPTA1JTdDMDIlN0NtaWJvJTQwbWlsZXN0b25lLmRr JTdDNDZiYw0KPiA+IGI1NTdkMjE5NGViOGI3NmQwOGRjN2JlNjM1MjglN0M0NzQ0ZTRiMjA3MmQ0 NzU0YmU3MTI1MGI0NWUwNDlmZSU3QzAlDQo+ID4gN0MwJTdDNjM4NTIxNDc1ODY2Mzc5NzE0JTdD VW5rbm93biU3Q1RXRnBiR1pzYjNkOGV5SldJam9pTUM0d0xqQXdNREENCj4gPiBpTENKUUlqb2lW Mmx1TXpJaUxDSkJUaUk2SWsxaGFXd2lMQ0pYVkNJNk1uMCUzRCU3QzAlN0MlN0MlN0Mmc2RhdGE9 SA0KPiA+IFY4YlBaeXZEa2xvNWlHcyUyQm5yVzR1RUo2bSUyQjl0T0V4Y3l2dDhXM1Z4eVElM0Qm cmVzZXJ2ZWQ9MCBidXQNCj4gPiBuZXZlciBnb3QgYSByZXNwb25zZQ0KPiA+DQo+DQo+IFNlbmQg eW91ciBwYWNrZXQgd2l0aCB0aGUga2V5ZnJhbWUsIHNlbmQgYSBOVUxMIHBhY2tldCAodG8gc2ln bmFsDQo+IEVPRiksIHRoZW4gdGhlIGludGVybmFsbHkgc3RvcmVkIGZyYW1lcyBzaG91bGQgYmUg b3V0cHV0IGJ5DQo+IGF2Y29kZWNfcmVjZWl2ZV9mcmFtZSgpLiBUaGVuIGZsdXNoIHRoZSBkZWNv ZGVyICh0byBiZSBhYmxlIHRvIHNlbmQNCj4gbmV3IHBhY2tldHMgdG8gaXQpLg0KPg0KPiAtIEFu ZHJlYXMNCj4NCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18NCj4gZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdA0KPiBmZm1wZWctZGV2ZWxAZmZtcGVnLm9y Zw0KPiBodHRwczovL2ZmbXAvDQo+IGVnLm9yZyUyRm1haWxtYW4lMkZsaXN0aW5mbyUyRmZmbXBl Zy1kZXZlbCZkYXRhPTA1JTdDMDIlN0NtaWJvJTQwbWlsZXMNCj4gdG9uZS5kayU3QzQ2YmNiNTU3 ZDIxOTRlYjhiNzZkMDhkYzdiZTYzNTI4JTdDNDc0NGU0YjIwNzJkNDc1NGJlNzEyNTBiNA0KPiA1 ZTA0OWZlJTdDMCU3QzAlN0M2Mzg1MjE0NzU4NjYzODgyNjUlN0NVbmtub3duJTdDVFdGcGJHWnNi M2Q4ZXlKV0lqb2lNDQo+IEM0d0xqQXdNREFpTENKUUlqb2lWMmx1TXpJaUxDSkJUaUk2SWsxaGFX d2lMQ0pYVkNJNk1uMCUzRCU3QzAlN0MlN0MlN0MNCj4gJnNkYXRhPXZ4enk5ZkZHcWhUZ2hicXVH ME85elVFMWUlMkZvUHJrYUpic1BBZmtON050RSUzRCZyZXNlcnZlZD0wDQo+DQo+IFRvIHVuc3Vi c2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbA0KPiBmZm1wZWctZGV2ZWwtcmVxdWVz dEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLg0KX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxp c3QNCmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnDQpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9s aXN0aW5mby9mZm1wZWctZGV2ZWwNCg0KVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUs IG9yIGVtYWlsIGZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1 bnN1YnNjcmliZSIuDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0 dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJz Y3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZm bXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==