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 ESMTPS id 6DDCD4B9A0 for ; Thu, 30 Jan 2025 23:22:13 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8CFF268C155; Fri, 31 Jan 2025 01:22:09 +0200 (EET) Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02olkn2084.outbound.protection.outlook.com [40.92.43.84]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E722B68BF24 for ; Fri, 31 Jan 2025 01:22:01 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rja6dWqpNndL7f4RbhsOgjF1dkmIbK2wk6QhCLAqmK9e6RMOkcbV5bqt5N4TMQrOMsflnB0PGgd0FjWKv7G7x09fnKCc4NK1c6bl5jVgyNhHAjquGNk2hV/c1kRK640olTH2YxcJIT8bcwTrCTz3ArO9i8tG5aOsaNShnylDfaUNcn/CTxXnEn1zlkj65o+Pu8mLBvjUNobCwJKekO1BiWX8hRsXwqEdm+O8ikRVaW2dG9tEZDagIfl/iwFSI3uj/VPkd+uKpkSoUpZpAejPgEuuWEC2DDEdBTr0lr/nv3si4Mk/2JcKPcZt91w0r40mWoks5zC4d3aZ26UVyRKNSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=tiuRBy2uhwEUQUFm3L5oLaicwx1p/GsQ0jNROUnHoD0=; b=kh34MvjBIN/mK7O5DThR80BgErop4GQ8/m2ElQCbf7IZOu/ZaRsRcOWrm3WknytQe7eq11Ff7eZ5tSGiCsifkBGizltFnUL21EYzghx2o0KRCyKoUBPWBTaCNol/gSJrVNHZBLYj4EVQ+Yo40fkByWnG8BUKi/g4vJwcgB8mrVecogcX775qGdKQlbCfVllwegLc+0lwMmZEUMbUXu4iLmmQ58DOHx/AffSdoIUhmVo7eWpgFOvVN33GfjmFk6dZcfn6IansjqVD6K2K8j1TvVPBwtR7qlkNYvFXgaWHNYIo5mfThQNNXhOv/W7PHMqAuuKftfVR7QFmimQgbXHHSA== 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=tiuRBy2uhwEUQUFm3L5oLaicwx1p/GsQ0jNROUnHoD0=; b=OvT328AWcKBaw6d2qHePFzrB4SAP8t8LO6Q1BffvT+SEIRd/VnfKYGazdXmO7DXbfzE6i/I4UzsjOMpYNiCout5x87HzhvpMGjvgIAbF4BYcKJmRBbz+aHXEy9tTc3h1XaRsDzvOi/1M3Bdg3vANeW5DXmjNv6gDYQF1F0n2rmOFVi7TMRrYKAe/2z6x7+IwHyaQHuXhEok5e52WBD317oUqxIl7oRn3H5sKC7us/cNiSdV4HnbriTeNdMvqY7wyOqCUZ5gOcP7f74hzb9Z51PpZdBdPOCirKiUf6AJ5EroWOBebzZHQ4xFywkaFDQoA38LpMLZDk8TzIg3yXunZuA== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by CH2P223MB1273.NAMP223.PROD.OUTLOOK.COM (2603:10b6:610:283::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.17; Thu, 30 Jan 2025 23:21:59 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::bf09:8e9:b07f:98a7]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::bf09:8e9:b07f:98a7%6]) with mapi id 15.20.8398.020; Thu, 30 Jan 2025 23:21:58 +0000 From: Soft Works To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] Democratization Thread-Index: AQHbXSEdhWCzQdrIdkmOEyKi6gkY87MfJx+AgADLmgCAAAZugIAAhbGAgAX1hQCAAaBGAIAAJTwAgAETngCAABkAgIAAEGSAgAAcq4CAAAZDAIAAEQOAgAADMoCAABNfgIAC5zgAgADOb4CAAGRpAIAAK9WAgABdl4CAAAhtgIAACLrQgACR8gCAAPPwwA== Date: Thu, 30 Jan 2025 23:21:57 +0000 Message-ID: References: <20250102141731.GR4991@pb2> <20250126191713.GQ4991@pb2> <2572295.Sgy9Pd6rRy@basile.remlab.net> <20250128182122.GX4991@pb2> <20250129161629.GB159671@haasn.xyz> <20250129222137.GB6909@haasn.xyz> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM8P223MB0365:EE_|CH2P223MB1273:EE_ x-ms-office365-filtering-correlation-id: 31afdcfb-0b85-4e21-16d4-08dd4184e465 x-microsoft-antispam: BCL:0; ARA:14566002|12121999004|19110799003|8060799006|7092599003|15080799006|8062599003|8022599003|461199028|56899033|102099032|3412199025|440099028|12091999003|41001999003; x-microsoft-antispam-message-info: =?utf-8?B?Z3BjMzczdTREYUFKSmQvWkduMWd6OHVMejRTTGxLa0FmQndaUXVkRjBNelNI?= =?utf-8?B?NXJJN002Q3lrOWllTldLbThLb2M4ejBLRXV6UVNlc1lKVXBkSUR6WktZRjRR?= =?utf-8?B?Sy9CWTNVMDRiV3UyRkZIODNVbHlhYzQ0TDdIdEtpbCsyZm5zaGc0OUlldTJI?= =?utf-8?B?ZkF2V3haY042Mm9sMnE5RW9sT1QwTWMvOTBpcFBXbXRISnBlZTBIVklFRUY0?= =?utf-8?B?TFV5OWRnV1V1Nk5xQ1NROXhZL3NzbEJteFl6b28vWEpoU0xmVDN3T0NFeWhV?= =?utf-8?B?Nng1RDlpdTNCYjMzUjJvZVJmM25IMk5rUVdHNDZadG9ySlh3QXhVV0NGYVNr?= =?utf-8?B?WHY1MnV3L0lhdkpKVTY5NHdNbG1la1V1a1RSOEJKN3RqSW5MK04yYUNpNXBn?= =?utf-8?B?aTBDdGFXQ2NGcHdadmRmSmp1NFRXcGpFb3NwQllmSGNQY2hPQ2tsV2UvUVZZ?= =?utf-8?B?L3FSSzIyekw3L1lWUnM2b1hLRGdrYWZCRXV5U0YzZE1yeVVvMTZXSCtFUmhJ?= =?utf-8?B?L0NKMVlqT1I0U3VQVEVIQkhMUDNKR1pJak5SNzlQOHdqKzJaMWt2SXZBcEhL?= =?utf-8?B?L0x5UTRTYm1leStLQVBYd3hOZkdaZzM0UFQ1QXZtRlRHWWZHWkh1ZnAwalds?= =?utf-8?B?K3BFYlJiTG90NkRET2NCWDlFVkhwTUg5UlRnMkxpOG9qNHdkWEtZY1JvcTVM?= =?utf-8?B?MUFaNUhtQU9TSDRRUytnK1VzSURtNTQ5RjhnTlQzUDMyYXRtNDU4WGdVVGNM?= =?utf-8?B?d3VmVnl6ajZLSldlVDJWRW9ySHBxaXVuWTI1dlJyaEU3OWVRazdjcWpLS0E5?= =?utf-8?B?YkNzY1lRR1NDeVVEMzE1U2hMSjRrMk9YeUNXemFjemxSSmhPS2tYYS9DRkVO?= =?utf-8?B?UVNoS016ajByR1ppYXRXODhLN2NlVmJSaHdiL3BQUHEvK0thcHJtWTAyUllq?= =?utf-8?B?ZEh5TzBiMVpqRXI3WFI2ZVpYWkFIcXVncHk4T0h6V2pRcWRNcDJ3eHJhdzF2?= =?utf-8?B?MW5NaU9uaHJIQ3cxRExuQS9ydzRVM09sVnlaeDZKVHVmaHhOWUxYSnBUWG4z?= =?utf-8?B?TzV5QkJTNkpSTmxlbU5WOFhpOUd5clliY01MZmk3bHY5M1VEckRsM2Z1UWZN?= =?utf-8?B?Rk1KSUQydjJzWDZXRVY3MEVxYzdWYTFoaG41aCs2ZFJGZWRReU52VldPT3dB?= =?utf-8?B?VWFudnRDOWs5K0R2dFhiZmNiN2ZqTlVVWUE2eFFoaU8zaE1MUklRU25pbzZz?= =?utf-8?B?N0FQaTdJSi8yRWlhbmpyWFpmQVlPclBxdjloV3R1UVdlNEIyR2FsRVFabGdZ?= =?utf-8?B?R1BKblg0MUo2WHJmR293aldJT1FnNEk0NjI3SVArUDBwTklqMkp2dXpsZ3BV?= =?utf-8?B?RmxweWt5bEgzL1ZPbFVNMENERTF2azB5MEJHYjNDSFV0M0V3T1dPUXJLdnpk?= =?utf-8?B?bGR6Rm9hSHZFWmFjY2ZDWTRyL3N1SnhhRVRMWGMwSFV4amhkYzZTZ21GNVJw?= =?utf-8?B?ckNSWWw3UTBzWnBoRFF1aTBCUDU2NUw2Q0tITEFaYlRTN1o4MHN3MzVVVk55?= =?utf-8?B?WDRJV2psT2VtazNCdVE4NTZPN1pFNCszaW5lYVVTaGp5WHFXWTlWQVAraWFh?= =?utf-8?B?b2R3OXFReDVJMVdBUDRIb1pWc29UZGc9PQ==?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZFRHZ013cStRSnpnSG5KNkpobktBVGRIKzlGcmc3K0xlMmZVTGdXRjNzQllI?= =?utf-8?B?alRZbzQ2NHZocWVYaGV4OWJBMTNxQklObWhMc1NieDRxN2pUTitnNldnNDRm?= =?utf-8?B?RVZZUnBaOFRaY0c5bnJmMFA1V25QdjhBSDVDVUhBQzlDbm4vWEdQVXF3VFpj?= =?utf-8?B?NUozYmp1amZ6WElGRnFScG9oa01WN29kemVpU1MxWXBKV25oL1ZQb09LdENQ?= =?utf-8?B?SnR5dHczc3ZQN0ljWkFQMDhaZi9qS1I1bGpDVUVseEtxVWpZbzcraTNSZTl2?= =?utf-8?B?Ly9Td1BwYXYraHBmWXkzRzkrYlVSMnc2YklueG9LdXRaYklsRTNxVDNJempn?= =?utf-8?B?MTkxekdjQ3JaTzRPQ3B1bXFWYUNoRHVWQnlrZ2VYWEIyNUJaR1VJQUlJT1VR?= =?utf-8?B?QTA0Ujh4K2NPVitoMFlCSDNJUnNGOVliaXBuYTZIWlVjbm0rTUwxRkJ4bXlE?= =?utf-8?B?dGVyT1BSTzZGRWg4ejdWeFRxVnF4U2I1UXB0T0xWSmhKbDJ0OEZvemo0WnlS?= =?utf-8?B?Wk1iNENHNkJYc0hLT0VMN0t5LzNiN3ZXMXFRSnJnMXU3dGZMbDduNEM3OXky?= =?utf-8?B?bFRqR3ZrR25YMUkvMUlHVkk0R0ZPOTUwSW5TUjl4ZFpUdVBvNDBoNWlmN01O?= =?utf-8?B?dHJhbTJDV29RaFkzMno3T0xOQ084YUtVQUxCVE5NdFBwRlo1dkVEdkc3RE4y?= =?utf-8?B?dkpvdTRrR0FqYWNxMzZzcWZoakF2cDVFOEpqVVVFWW83UndkZnVrL1Nscm9u?= =?utf-8?B?NndZaW8zaG5HeTg4NlJZTEcxeTNpSXNhRjBaYkxyTExsbTUwbmhTalQxS2V1?= =?utf-8?B?ZDhCTDRtMUIzRHVyNFRXczdicVpXaFdZcUNzOWM4Ym9yZlEraXhwRHVFZlZr?= =?utf-8?B?MUljNmgxaVlVZ3hlbE56WjRnOXZvT01EWTcyYzgxTzY1eVdWV3NQMEdWbnlS?= =?utf-8?B?OFEyOFppNTgvS2dKQ3hlc0xVSWplbHgwNGY0MVlUZStVM1Z6UHhUYXR5RGRI?= =?utf-8?B?bTY3aDFWTGZRSDhnSFB1SUVlbVVmbXd2aWdxazc5bGlQN2VoRlR3UkJFS1h0?= =?utf-8?B?U2Z5cXhnS2JMaU1heEo3Nm50Z1JSbGVVeWZaMmVER3J6M3BzL0pCOURWbU1v?= =?utf-8?B?TmYxWlpVeC9TTWFIOGZrUGhRUlZIeXRJZk92bGFuTmw0YVR2TWJUMjJLcW9L?= =?utf-8?B?dm03QmxNUktjVXNXNzhHWFpINm41Ykg1S2Rnd282a2sybW9aY0VxTXNheEJP?= =?utf-8?B?VXVhNVFDUlpTYi9wSFZJRDJYcm54SXZYUVRRbFppWWZzTVZWbTVuNGMraDFu?= =?utf-8?B?NlFyckJMM0tQQjJpdzErWmcwZ1JNZVVuelRSMGdJMzRxT0JkNjRGNlNZSjd2?= =?utf-8?B?SFFDa0JTbWlQOGlsN0h2K05IeGtwc2svZE9rekJ3ZDVuSmkxUi83cjlwdjNu?= =?utf-8?B?dXFCY2h5blhOSzdYMWloTnVveHd5T2F6S055NW1HRkgwOFZVeGpuaGtmdFpa?= =?utf-8?B?Ull0d2taYXVac3dIMkY3NmV1U0NKcWUrQ251cFFiM2VLZmU4OUxrMGpVWkZM?= =?utf-8?B?R2pYRmRYeStNai9NL210T21XUkZzNkNLMCt1M2dFU2dXTWZaSWtVaVdTYjNM?= =?utf-8?Q?VBoUQ45Y93jQTzlKRyyAIu7QpE+JKJ1e5PXk/a7zprYY=3D?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-92255.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 31afdcfb-0b85-4e21-16d4-08dd4184e465 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jan 2025 23:21:57.9234 (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: CH2P223MB1273 Subject: Re: [FFmpeg-devel] Democratization 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: PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBmZm1wZWctZGV2ZWwgPGZmbXBl Zy1kZXZlbC1ib3VuY2VzQGZmbXBlZy5vcmc+IE9uIEJlaGFsZiBPZg0KPiBWaXR0b3JpbyBHaW92 YXJhDQo+IFNlbnQ6IFRodXJzZGF5LCBKYW51YXJ5IDMwLCAyMDI1IDc6MzUgQU0NCj4gVG86IEZG bXBlZyBkZXZlbG9wbWVudCBkaXNjdXNzaW9ucyBhbmQgcGF0Y2hlcyA8ZmZtcGVnLQ0KPiBkZXZl bEBmZm1wZWcub3JnPg0KPiBTdWJqZWN0OiBSZTogW0ZGbXBlZy1kZXZlbF0gRGVtb2NyYXRpemF0 aW9uDQo+IA0KPiBPbiBUaHUsIEphbiAzMCwgMjAyNSBhdCAxMjoyN+KAr0FNIFNvZnQgV29ya3Mg PA0KPiBzb2Z0d29ya3otYXQtaG90bWFpbC5jb21AZmZtcGVnLm9yZz4gd3JvdGU6DQo+IA0KPiA+ ID4NCj4gPiA+IElmIHlvdSBoYXZlIHJlYXNvbiB0byBiZWxpZXZlIG90aGVyd2lzZSwgdGhlbiBp bmRlZWQgdGhlDQo+IHNpdHVhdGlvbiBpcw0KPiA+ID4gbW9yZQ0KPiA+ID4gY29tcGxpY2F0ZWQu IEFuZCB0aGVuIHdlIG1heSBoYXZlIGEgdGhpcmQgZmFjdGlvbiBjb25zaXN0aW5nIG9mDQo+IHNv bWUNCj4gPiA+IHN1YnNldCBvZg0KPiA+ID4gKE1pY2hhZWwsIFRpbW8sIEZhYnJpY2UsIGFuZCBw b3NzaWJseSBvdGhlciBwZW9wbGUgd2Ugd2VyZSBub3QNCj4gbWFkZQ0KPiA+ID4gYXdhcmUgb2Yp Lg0KPiA+DQo+ID4NCj4gPiBZb3UgbWlnaHQgYmUgb24gYSByaWdodCB0cmFjayBoZXJlLCBiZWNh dXNlIEkgYmVsaWV2ZSB0aGF0IHRoZQ0KPiBjb21tb24NCj4gPiBhc3Nlc3NtZW50IGFzIGxhaWQg b3V0IGJ5IHNldmVyYWwgc3VwcG9ydGVycyBvZiB0aGUgImNvbW11bml0eQ0KPiBnb3Zlcm5hbmNl DQo+ID4gbW9kZWwiIG1hdGNoZXMgcmVhbGl0eSBqdXN0IHBhcnRpYWxseSBhdCBiZXN0Lg0KPiA+ DQo+ID4gVGhlIGNvbW1vbiB0ZWxsaW5nIGlzIHRoYXQgdGhlcmUncyBNaWNoYWVsIG9uIG9uZSBz aWRlIHdpdGggYQ0KPiBudW1iZXIgb2YNCj4gPiAiaGlzIGJ1ZGRpZXMiIG9yICJzdXJyb2dhdGVz IiBhbmQgb24gdGhlIG90aGVyIHNpZGUgdGhlcmUncyAidGhlDQo+IGNvbW11bml0eSINCj4gPiB3 aG8gd2FudCB0aGUgcHJvamVjdCB0byBiZSBsZWQgYnkgInRoZSBjb21tdW5pdHkiIC0gYWxsIGlu DQo+IGFncmVlbWVudC4NCj4gPg0KPiA+IEJ1dCB0aGF0IG1pZ2h0IGJlIGp1c3Qgd2lzaGZ1bCBz dG9yeXRlbGxpbmcsIGFzIHRoZSBzaXR1YXRpb24gaXMNCj4gbW9yZQ0KPiA+IGNvbXBsaWNhdGVk IGluZGVlZC4NCj4gPiBOb25lIG9mIHVzIGhhdmUgYW55IGZpZ3VyZXMsIHNvIHdlIGNhbid0IGtu b3cgZXhhY3RseSBiZWZvcmUgYW55DQo+IHZvdGUgaGFzDQo+ID4gaGFwcGVuZWQsIHdoYXQgSSB3 YW50IHRvIHBvaW50IG91dCB0aG91Z2gsIGlzIHRoYXQgdGhpcyBpZGVhIG9mDQo+ICJNaWNoYWVs ICsNCj4gPiBCdWRkaWVzIiB2cy4gIlRoZSBDb21tdW5pdHkiIGRvZXNuJ3QgZml0IGluIGl0cyBz aW1wbGljaXR5Lg0KPiA+DQo+IA0KPiBUaGF0IGRvZXMgbm90IG1lYW4gaXQgd291bGQgYmUgd29y dGggdHJ5aW5nIHNvbWV0aGluZyBkaWZmZXJlbnQuIEkNCj4gYWxyZWFkeQ0KPiBsaXN0ZWQgdGhl IGluY2lkZW50cyBJJ3ZlIGp1c3Qgc2VlbiBoYXBwZW4gYmVmb3JlIG15IGV5ZXMgaW4gdGhpcw0K PiBtYWlsaW5nDQo+IGxpc3QgYW5kIHRoZXNlIGFyZSBub3QgZnVuIGluY2lkZW50cy4gSWRlYWxs eSB0aGVyZSBzaG91bGQgYmUgc29tZQ0KPiBndWFyYW50ZWUgYmV5b25kIE1pY2hlYWwncyB3b3Jk IG5vdCB0byByZXBlYXQgdGhlbSBhZ2Fpbi4gV2hhdCB5b3UncmUNCj4gc2F5aW5nIGlzICJ0aGlz IGlzIGhvdyBpdCBoYXMgYWx3YXlzIGJlZW4sIHRoZXJlZm9yZSB3ZSBzaG91bGQganVzdA0KPiBh Y2NlcHQNCj4gaXQiLCB3aGljaCBpcyB1bmZhaXIsIGVzcGVjaWFsbHkgdG8gdGhlIG1vc3QgYWN0 aXZlIGNvbnRyaWJ1dG9ycy4NCg0KSSdtIG5vdCBzYXlpbmcgeW91IHNob3VsZCBhY2NlcHQgaXQg YmVjYXVzZSAidGhpcyBpcyBob3cgaXQgaGFzIGFsd2F5cyBiZWVuIi4NCkknbSBzYXlpbmcgeW91 IHNob3VsZCBhY2NlcHQgaXQgYmVjYXVzZSB0aGUgcHJvamVjdCBoYXMgYSBwcml2YXRlIG93bmVy c2hpcCB3aGljaCAiaXMgaG93IGl0IGhhcyBhbHdheXMgYmVlbiIuDQpUaGlzIGhhcyBiZWVuIGNs ZWFyIGV2ZXIgc2luY2UgYW5kIGZvciBhbGwgY29udHJpYnV0b3JzLiBUaGUgcHJvamVjdCBkb2Vz bid0IG93biB0aGUgY29kZSAtIHlvdSBhcmUgZnJlZSB0byBmb3JrIGF0IGFueSB0aW1lIGFuZCBy dW4geW91ciBvd24gdGhpbmcuIEJ1dCB0aGVyZSdzIG5vdGhpbmcgZnJvbSB3aGljaCB5b3UgY291 bGQgZGVyaXZlIGFueSByaWdodCB0byBkZW1hbmQgZm9yIGEgY2hhbmdlIG9mIG93bmVyc2hpcCwg bmVpdGhlciBpcyB0aGVyZSBhbnkgYmFzaXMgb24gd2hpY2ggeW91IGNvdWxkIGRlbWFuZCBhbnkg Imd1YXJhbnRlZXMiIHJlZ2FyZGluZyB0aGUgb3duZXIncyBhY3Rpb25zLg0KDQoNCj4gT25jZSBh Z2FpbiwgeW91IGFyZSBpbnZpdGVkIHRvIHRoZSBmb3NkZW0gbWVldGluZyBhbmQgc2VlIGZvcg0K PiB5b3Vyc2VsZiB3aGF0DQo+IHRoZSBjb21tdW5pdHkgcmVhbGx5IHdhbnRzLg0KDQpGT1NERU0g IT0gInRoZSBjb21tdW5pdHkiDQoNCj4gVGhpcyAiY29tbXVuaXR5IiBpbiBpdHMgY3VycmVudCBm b3JtIGFuZCBhcHBlYXJhbmNlIGFuZCB0aGUgd2F5IGl0IGlzDQo+ID4gcmVwcmVzZW50ZWQgYnkg aXRzIG1lbWJlcnMgaXMgZnVuZGFtZW50YWxseSBpbmNhcGFibGUgb2YgbGVhZGluZw0KPiBhbmQN Cj4gPiBleGVjdXRpbmcgY29udHJvbCBvdmVyIGEgcHJvamVjdCBsaWtlIGZmbXBlZy4NCj4gPiBJ J20gYXdhcmUgdGhhdCB0aGVyZSBhcmUgcHJvamVjdHMgd2hlcmUgdGhpcyBpcyB3b3JraW5nLCBz YW1lIGFzDQo+IEkndmUgc2Vlbg0KPiA+IHByb2plY3RzIHdoZXJlIGFsbCBtZW1iZXJzIGFyZSBw cmV0dHkgbXVjaCBvbiB0aGUgc2FtZSBsaW5lIGFuZA0KPiB3aGVuDQo+ID4gdGhlcmUncyBhIGNv bW1pdHRlZSB3aXRoIGEgaGFuZGZ1bCBvZiBtZW1iZXJzLCBwZXJzb25zIGxlYXZlLCBvdGhlcg0K PiBwZXJzb25zDQo+ID4gam9pbiwgYnV0IHRoYXQgZG9lc24ndCBjaGFuZ2UgYW55dGhpbmcgYmVj YXVzZSB0aGV5IGFsbCBzaGFyZSB0aGUNCj4gc2FtZQ0KPiA+IGlkZWFzIGFuZCBwbGFucyBhbmQg YWxsIGFyZSB3b3JraW5nIHRvZ2V0aGVyIGhhbmQtaW4taGFuZC4NCj4gPg0KPiANCj4gVGhpcyBp cyBsaWtlIHlvdXIgb3BpbmlvbiBtYW4uDQoNClllcywgdGhpcyBpcyBteSBvcGluaW9uIGFuZCBp dCBnZXRzIGNvbmZpcm1lZCBhbG1vc3QgYW55IG90aGVyIGRheSB3aGVuIHJlYWRpbmcgdGhlIE1M LiBUaGF0IGEgZGVlcGx5IGRpdmlkZWQgY29tbXVuaXR5IGNhbm5vdCBiZSBnaXZlbiBjb250cm9s IG92ZXIgYSBwcm9qZWN0IGxpa2UgZmZtcGVnIGlzIGp1c3QgY29tbW9uIHNlbnNlIGltbywgZXZl biB0aG91Z2ggSSByZXNwZWN0IHRoYXQgeW91IGhhdmUgYSBkaWZmZXJlbnQgb3Bpbmlvbi4NCg0K DQo+ID4gVGhlcmUgYXJlIG90aGVycyB3aG8gYXJlIHdhdGNoaW5nIHRoaXMgTUwgZnJvbSBhIGRp c3RhbmNlIGFuZA0KPiB0aGlua2luZw0KPiA+IGFib3V0IHRoZSBzYW1lIC0ganVzdCBzaWxlbnRs eS4NCj4gPiBXZSBkb24ndCBrbm93IGZpZ3VyZXMsIGJ1dCBub2JvZHkgc2hvdWxkIHRoaW5rIGl0 IHdvdWxkIGJlIGEgc3VyZQ0KPiB0aGluZw0KPiA+IHRoYXQgYWxsICJub24tYnVkZGllcyIgd291 bGQgd2FudCBhbmQgdm90ZSBmb3IgYSBjb21tdW5pdHkNCj4gb3duZXJzaGlwLg0KPiANCj4gSW5j bHVkaW5nIHBlb3BsZSB3aG8gd291bGQgbGlrZSB0byBqb2luIHRoZSBjb21tdW5pdHkgYnV0IGFy ZQ0KPiBob3JyaWZpZWQgYnkgaG93IHRoaW5ncyBhcmUuIA0KDQpUaGUgdHlwZSBvZiBlLW1haWxz IHlvdSBhcmUgc2VuZGluZyB0byB0aGUgTUwgbWFraW5nIGEgc3Vic3RhbnRpYWwgcGFydCBvZiB0 aG9zZSBtb3N0ICJob3JyaWZ5aW5nIHRoaW5ncyIuDQoNCj4gQW5kIGl0J3MgMjAyNSwgbm9ib2R5 IHdpbGwgam9pbiBhIHByb2plY3Qgd2hlcmUgdGhlIGxlYWRlciBjYW4gYmFuIGF0IHdpbGwNCg0K SGFyZGx5IGFueWJvZHkgY2FyZXMgYWJvdXQgdGhhdCwgYmVjYXVzZSBub2JvZHkgd2FudHMgdG8g d3JpdGUgYSBtYWlsIGxpa2UgdGhlIG9uZSB5b3UgZGlkIGFuZCwgdGhlbiBidWlsZGluZyB1cCBh IGJpZyBkcmFtYSBzaG93IGFyb3VuZCB0aGUgZmFjdCB0aGF0IGl0IGhhcyBiZWVuIG1vZGVyYXRl ZC4NCkkgdGhpbmsgdGhlIHByb2NlZHVyZSB3YXNuJ3Qgb2theSwgYnV0IEkgYWxzbyB0aGluayB0 aGF0IHRoZSBlLW1haWwgd2Fzbid0IG9rYXksIHNvIGlkZWFsbHkgaXQgc2hvdWxkIGhhdmUgYmVl biBtb2RlcmF0ZWQgYnkgYW4gZXN0YWJsaXNoZWQgcHJvY2VkdXJlLCB5ZXQgdGhlIG91dGNvbWUg d291bGQgaGF2ZSBiZWVuIHRoZSBzYW1lLCB0aGF0J3Mgd2h5IEkgZG9uJ3Qgc2hhcmUgdGhlIGV4 Y2l0ZW1lbnQgZXhwcmVzc2VkIGJ5IHNvbWUgb3RoZXJzLg0KDQo+IGh1c3NsZSBzcG9uc29ycw0K DQpObyBuZXcgY29udHJpYnV0b3Igd2lsbCBjYXJlIGFib3V0IHRoYXQuDQoNCg0KPiA+IEZ1cnRo ZXIsIG1hbnkgZGV2ZWxvcGVycyBoZXJlIGFyZSB3b3JraW5nIGZvciB0aGUgaW5kdXN0cnkgaW4g b25lDQo+IG9yDQo+ID4gYW5vdGhlciBmb3JtLCBhbmQgd2hhdCBidXNpbmVzc2VzIHdhbnQgaXMg c3RhYmlsaXR5IGFuZA0KPiBwcmVkaWN0YWJpbGl0eSAtDQo+ID4gbm90IGEgY29tbXVuaXR5IHdo ZXJlIG1ham9yaXRpZXMgbWlnaHQgYmUgdm9sYXRpbGUgYW5kIGl0IGNhbg0KPiBxdWlja2x5DQo+ ID4gaGFwcGVuIHRoYXQgc3RyYXRlZ2ljYWxseSBpbXBvcnRhbnQgY29kZSBpcyB0aHJvd24gb3V0 IG9mIGZmbXBlZyBieQ0KPiB2b3RlDQo+ID4gZnJvbSBhIGdyb3VwIG9mIGlkZW9sb2dpc3RzIHdo byBtYW5hZ2VkIHRvIGdhaW4gYW4gaW50ZXJtaXR0ZW50DQo+IG1ham9yaXR5Lg0KPiA+DQo+IA0K PiBCb2xkIG9mIHlvdSB0byBpbXBseSB0aGF0IE1pY2hlYWwncyBkZWNpc2lvbiBhcmUgYW55dGhp bmcgYnV0IHN0YWJsZSA7KQ0KDQpJJ20gc3VyZSB5b3UgYXJlIGhhdmluZyB5b3VyIHBvaW50cyBo ZXJlLCBidXQgdGhvc2UgYXJlIG5vdCBkZWNpc2lvbnMgd2hpY2ggYnVzaW5lc3NlcyBhcmUgY2Fy aW5nIGFib3V0LiBGZXcgeWVhcnMgYWdvLCBzb21lIHN0YXJ0ZWQgYSBkaXNjdXNzaW9uIGFib3V0 IHJlbW92aW5nIGNvZGUgd2hpY2ggaXMgc3VwcG9ydGluZyBoYXJkd2FyZSB3aXRoIGNsb3NlZC1z b3VyY2UgQVBJcyBhbmQgd2hlbiBpdCB3b3VsZG4ndCBoYXZlIG1lYW50IHRvIGFsc28gcmVtb3Zl IHN1cHBvcnQgZm9yIE52aWRpYSwgaXQgbWlnaHQgaGF2ZSBnb25lIGV2ZW4gZnVydGhlci4gVGhl c2UgYXJlIGRlY2lzaW9ucyByZWxldmFudCBmb3IgYnVzaW5lc3NlcyBhbmQgdGhhdCdzIHdoeSB0 aGV5IHdvbid0IHN1cHBvcnQgaGFuZGluZyBvdmVyIHN1Y2ggZGVjaXNpb25zIHRvICJ0aGUgY29t bXVuaXR5Ii4NCg0KIA0KPiA+IEZpbmFsbHksIHRoZXJlIGFyZSBhbHNvIGNvbnRyaWJ1dG9ycyB3 aG8gZG9uJ3QgY2FyZSBhYm91dA0KPiBjb21tdW5pdHksDQo+ID4gbWVtYmVyc2hpcCBvciBpbmZs dWVuY2UgLSB0aGV5IGp1c3Qgd2FudCB0byBnZXQgdGhlaXIgY29kZSBtZXJnZWQNCj4gd2l0aG91 dA0KPiA+IHRyb3VibGUuIFdpbGwgdGhleSB2b3RlIGZvciBhIGNvbW11bml0eSBnb3Zlcm5hbmNl IHdoZXJlIGV2ZXJ5DQo+IGxpdHRsZSBuaXQNCj4gPiBmcm9tIHNvbWVvbmUgd2lsbCByZXF1aXJl IHRvIGNvbmR1Y3QgYSB2b3RlIG9uIGl0Pw0KPiA+DQo+IA0KPiBBbm90aGVyICJ3aGF0IGlmIiBv ZiBhbiB1bmxpa2VseSBzY2VuYXJpbw0KDQpVbmxpa2VseT8gVGhhdCBhcHBsaWVzIHRvIGFsbCB0 aG9zZSBjb250cmlidXRvcnMgd2hvIEkgbWV0IGluIHRoZSBwYXN0IHllYXJzLCB0cmllZCB0byBt YWtlIGEgY29udHJpYnV0aW9uIGFuZCB3YWxrZWQgYXdheSB3aXRoIHRoZSBjb25jbHVzaW9uIHRo YXQgaXQncyBwb2ludGxlc3MgYW5kIG5vdCB3b3J0aCB0cnlpbmcgZXZlciBhZ2FpbiBpbiB0aGUg ZnV0dXJlIQ0KDQo+IGluIHRoZSB1bmxpa2VseSBjYXNlIG9mIGNvbmZsaWN0IHdlIGhhdmUgYSBU QyB0aGF0IGRvZXMgd2hhdCB5b3UgZGVzY3JpYmUgd2hlbiBuZWVkZWQuDQo+IEknbSBzdXJlIHlv dSB1bmRlcnN0YW5kIDUgcGVvcGxlIGhhdmUgYW4gZWFzaWVyIHRpbWUgbWFuYWdpbmcgYSBjYXNl IHRoYW4gdGhlIHdob2xlIGNvbW11bml0eS4NCg0KVGhpcyBpdCB0b3RhbGx5IGluZWZmZWN0aXZl LiBUaGUgY3VycmVudCByZWFsaXR5IChlc3BlY2lhbGx5IGZvciBub24tZXN0YWJsaXNoZWQgY29u dHJpYnV0b3JzKSBpcyBvZnRlbiBzb21ldGhpbmcgbGlrZSB0aGlzOg0KDQoNCi0gWW91IG1ha2Ug YSBzdWJtaXNzaW9uDQogIC0gRWl0aGVyIG5vYm9keSBldmVyIHJlYWN0cw0KICAtIE9yOg0KICAg IC0gZmZNZW1iZXIxIHNheXMgIm5vIiB0byBBIGFuZCBCDQogICAgLSBmZk1lbWJlcjIgc2F5cyAi bm8iIHRvIEMNCi0gT2YgY291cnNlIG5vYm9keSB0b2xkIHlvdSB3aGF0IHRvIGRvIGluc3RlYWQs IHNvIHlvdSBuZWVkIA0KICB0byAiZ3Vlc3MiIHdoYXQgdGhleSB3YW50IGFuZCBtYWtlIGFuIHVw ZGF0ZWQgc3VibWlzc2lvbiB3aXRoIA0KICBjaGFuZ2VzIEExLCBCMSBhbmQgQzENCiAgLSBUaGVu DQogICAgLSBmZk1lbWJlcjEgc2F5cyAibm8iIHRvIEIxIChub3RoaW5nIGFnYWluc3QgQTEpDQog ICAgLSBmZk1lbWJlcjIgc2F5cyAibm8iIHRvIEMxIGFuZCBub3cgYWxzbyBEICAgIA0KICAgIC0g ZmZNZW1iZXIzIHNheXMgIm5vIiB0byBBMSBhbmQgRQ0KLSBOZXh0IGd1ZXNzaW5nIHRvIGFkZHJl c3MgaXNzdWVzIHdpdGggQTIsIEIyLCBDMiwgRDEgYW5kIEUxDQogIC0gVGhlbg0KICAgIC0gZmZN ZW1iZXIxIHNheXMgbm90aGluZw0KICAgIC0gZmZNZW1iZXIyIHNheXMgbm90aGluZyAgICANCiAg ICAtIGZmTWVtYmVyMyBzYXlzICJubyIgRTEgYW5kIG5vdyBhbHNvIEcNCi0gTmV4dCBndWVzc2lu ZyB0byBhZGRyZXNzIGlzc3VlczogRTIgYW5kIEcxDQogIC0gVGhlbg0KICAgIC0gZmZNZW1iZXIx IHNheXMgbm90aGluZw0KICAgIC0gZmZNZW1iZXIyIHNheXMgbm90aGluZyAgICANCiAgICAtIGZm TWVtYmVyMyBzYXlzIG5vdGhpbmcNCi0gWW91IGJ1bXAsIHlvdSBwaW5nIC0gbm8gcmVzcG9uc2UN Ci0gWW91IGJ1bXAgYW5kIHBpbmcgDQogICAgLSBmZk1lbWJlcjEgc2F5cyAiSSBoYXZlIHRvbGQg eW91IHRoYXQgQjEgaXMgIm5vIiBhbmQgQTEgaXMgIm5vIg0KICAgICAgKGhhcyBuZXZlciByZXZp ZXdlZCBBMiBhbmQgQjIpDQogICAgLSBmZk1lbWJlcjMgc2F5cyAibGlrZSBmZk1lbWJlcjEgc2Fp ZCwgYXMgbG9uZyB5b3UgZG9uJ3QgZml4IEExLCANCiAgICAgIGl0IGNhbid0IGJlIG1lcmdlZCIg DQogICAgICAoZXZlbiB0aG91Z2ggaGUgaGFkIGFza2VkIGZvciBBMiBhbmQgc2VlbWluZ2x5IGFj Y2VwdGVkIEEyIGJ5IG5vdCANCiAgICAgIG1lbnRpb25pbmcgaXQgb24gdGhlIG5leHQgcmV2aWV3 KQ0KLSBOb3cgeW91IHN0YW5kIHRoZXJlIHdpdGhvdXQgZXZlbiBoYXZpbmcgYSBjbHVlIHdoYXQg dG8gZG8gdG8gc2F0aXNmeSANCiAgZXZlcnlvbmUuIElmIHlvdSBhcmUga2VlbiwgeW91IG1pZ2h0 IGFzayBhZ2FpbiB3aGF0IHRvIGRvIGluc3RlYWQsIGJ1dA0KICB3aGlsZSB5b3UgY2FuIGdldCBs b3RzIG9mIHJlc3BvbnNlcyBmb3IgdGhlICJubyJzLCB5b3UgcmFyZWx5IGdldCANCiAgcmVzcG9u c2VzIG9uIHRoZSAiaG93IHRoZW4/IiBxdWVzdGlvbnMsIHByb2JhYmx5IGJlY2F1c2UgZmZNZW1i ZXJYDQogIGlzIHRvbyBhZnJhaWQgb2Ygc2VlaW5nIGFuIGZmTWVtYmVyWSBjb250cmFkaWN0aW5n Lg0KDQpBbmQgdGhlbiB0aGUgY29udHJpYnV0b3Igc2hvdWxkIGNvbnRhY3QgdGhlIFRDPyANCg0K LSBGaXJzdCBvZiBhbGwsIG1vc3QgZG9uJ3QgZXZlbiBrbm93IGFib3V0IGl0cyBleGlzdGVuY2UN Ci0gSWYgb25lIGtub3dzIGFib3V0IGl0cyBleGlzdGVuY2UsIG9uZSBtaWdodCBzdGlsbCBub3Qg a25vdyBob3cgdG8gY29udGFjdCBpdA0KLSBBbmQgZmluYWxseSwgeW91IGRvbid0IGV2ZW4ga25v dyBleGFjdGx5IHdoaWNoIHF1ZXN0aW9uL3JlcXVlc3QgdG8gbWFrZSB0byB0aGUgVEMNCiAgLSBJ dCdzIG5vdCBsaWtlIHlvdSB3YW50IFggYW5kIHNvbWVib2R5IGVsc2Ugd2FudHMgWQ0KICAtIEl0 J3MgcmF0aGVyIGxpa2Ugc29tZSBzYWlkIG5vIHRvIEEsIEExLCBub2JvZHkgc2FpZCBzb21ldGhp bmcgdG8gQTIgYW5kIHlvdSB3b3VsZCBoYXBwaWx5IGRvIEEzIG9yIEE0IG9yIEE1IG9yIEE2IC0g YmVjYXVzZSB5b3UgZG9uJ3QgY2FyZSBidXQgeW91IGFyZSB0aXJlZCBvZiBndWVzc2luZyANCg0K DQpXaGF0IGFuIGV4dGVybmFsIGNvbnRyaWJ1dG9yIHdhbnRzIGluc3RlYWQgaXMgdGhpczoNCg0K LSBZb3UgbWFrZSBhIHN1Ym1pc3Npb24NCiAgLSBNYWludGFpbmVyIHNheXMgDQogICAgLSBBIG5l ZWRzIHRvIGJlIGRvbmUgbGlrZSBBMQ0KICAgIC0gQiBuZWVkcyB0byBiZSBkb25lIGxpa2UgQjEN CiAgLSBQZXJzb25JbkNoYXJnZSAgc2F5cw0KICAgIC0gQyBuZWVkcyB0byBiZSBkb25lIGxpa2Ug QzENCiAgICAtIEQgbmVlZHMgdG8gYmUgZG9uZSBsaWtlIEQxDQotIFlvdSBtYWtlIGNoYW5nZXMg QTEsIEIxLCBDMSwgRDENCiAgLSBNYWludGFpbmVyIExHVE0NCiAgLSBQZXJzb25JbkNoYXJnZSBz YXlzIEMxIHNob3VsZCBiZXR0ZXIgYmUgbGlrZSBDMg0KLSBZb3UgbWFrZSBjaGFuZ2VzIEMyDQog IC0gUGVyc29uSW5DaGFyZ2Ugc2F5cyBMR1RNDQotIE1lcmdlZCArIERvbmUNCg0KDQpIYXJkbHkg YW55IGV4dGVybmFsIGNvbnRyaWJ1dG9yIGlzIGludGVyZXN0ZWQgaW4gYW55IGNvbW1pdHRlZXMg b3IgaGF2aW5nIHRoZSBjb21tdW5pdHkgdm90aW5nIGFib3V0IHRoZWlyIGNvbnRyaWJ1dGlvbnMu IFRoZXkganVzdCB3YW50IHRvIGdldCBhdHRlbnRpb24gYW5kIGJlIHRvbGQgd2hhdCB0byBkbyB0 byBnZXQgdGhlaXIgY29kZSBpbnRvIGEgZm9ybSB0aGF0IGl0IHdpbGwgZ2V0IG1lcmdlZCAtIGFz IHNpbXBsZSBhcyB0aGF0LiANCg0KQmVmb3JlIGNhbGxpbmcgZm9yIGEgdm90ZSwgdGhleSB3aWxs IHJhdGhlciBnaXZlIHVwIGFuZCB3YWxrIGF3YXkuIEJ1dCBpbiBjYXNlIHRoZXkgYWxyZWFkeSBt YWRlIGEgZmV3IGNvbnRyaWJ1dGlvbnMgYW5kIGFyZSBlbnRpdGxlZCB0byB2b3RlLCB0aGV5IHdp bGwgc3VyZWx5IG5vdCB2b3RlIGZvciBzb21ldGhpbmcgd2hpY2ggbWFrZXMgdGhlaXIgY29udHJp YnV0aW9uIHByb2Nlc3MgZXZlbiBtb3JlIGNvbXBsaWNhdGVkLCBsZW5ndGh5IGFuZCB1bnByZWRp Y3RhYmxlLg0KDQoNCkxldCdzIENhbGN1bGF0ZQ0KDQotIFJlbWFpbmRlciA9ICJUaGUgQ29tbW51 bml0eSINCiAgLSBtaW51cyAiTWljaGFlbCdzIEJ1ZGRpZXMiDQogIC0gbWludXMgbWVtYmVycyBs aWtlIG1lIHdobyBkb24ndCBjb25zaWRlciB0aGUgY29tbXVuaXR5IA0KICAgIGNhcGFibGUgb2Yg bWFuYWdpbmcgdGhlIHByb2plY3QNCiAgLSBtaW51cyBtZW1iZXJzIHdvcmtpbmcgZm9yIHRoZSBp bmR1c3RyeQ0KICAtIG1pbnVzIG9jY2FzaW9uYWwgY29udHJpYnV0b3JzIHdpdGhvdXQgaW50ZXJl c3QgaW4gdGhlIHByb2plY3QNCiAgLSBtaW51cyBhbGwgdGhvc2Ugd2hvIGhhdmUgb3RoZXIgcmVh c29ucyBhZ2FpbnN0IGNvbW11bml0eSANCiAgICBvd25lcnNoaXANCg0KQ29uY2x1c2lvbnMNCg0K LSBJdCBpcyBub3QgdmFsaWQgdG8gbWFrZSBhbnkgY2xhaW1zIGxpa2UNCiAgIlRoZSBDb21tdW5p dHkgd2FudHMgdGhlIHByb2plY3QgdG8gYmUgb3duZWQgYnkgdGhlIGNvbW11bml0eSINCi0gSXQg aXMgbm90IGV2ZW4gdmFsaWQgdG8gbWFrZSBhbnkgY2xhaW1zIGxpa2UNCiAgIlRoZSBtYWpvcml0 eSBvZiB0aGUgQ29tbXVuaXR5IHdhbnRzIHRoZSBwcm9qZWN0IHRvIGJlIG93bmVkIGJ5IHRoZSBj b21tdW5pdHkiDQoNClRoZSBsYXR0ZXIgaXNuJ3QgdmFsaWQgYmVjYXVzZSB3ZSBkb24ndCBoYXZl IGZpZ3VyZXMsIHNvIHdlIGp1c3QgY2FuJ3Qga25vdy4NCkZvciBtZSwgaXQgZG9lc24ndCBsb29r IHRoZXJlJ3MgYSBtYWpvcml0eSBmb3IgaXQsIGp1c3QgYSBmZXcgcGVvcGxlIGFza2luZyBmb3Ig aXQgdmVyeSBsb3VkbHkuDQoNCkJlc2lkZXMgdGhhdCwgaXQncyBhbHJlYWR5IGNsZWFyIHRoYXQg dGhpcyB3b24ndCBoYXBwZW4sIGV2ZW4gd2hlbiBhIG1ham9yaXR5IHdvdWxkIHdhbnQgaXQsIHNv IGl0J3MgcHJvYmFibHkgbW9yZSBwcm9kdWN0aXZlIHRvIGFjY2VwdCB0aGF0IGFuZCByYXRoZXIg cGFydGljaXBhdGUgaW4gdGhlIHN1Z2dlc3Rpb25zIHRoYXQgTWljaGFlbCBpcyBtYWtpbmcsIGtl ZXBpbmcgaW4gbWluZCB0aGF0IGhlIGlzbid0IG9ibGlnZWQgdG8gZG8gdGhpcyBhdCBhbGwuDQoN CnN3DQoNCg0KDQoNCg0KDQoNCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVn Lm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRv IHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVx dWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=