From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: passt.top; dmarc=pass (p=quarantine dis=none) header.from=tamu.edu Authentication-Results: passt.top; dkim=pass (2048-bit key; secure) header.d=tamu.edu header.i=@tamu.edu header.a=rsa-sha256 header.s=ppae6d7b header.b=DGCEzLqu; dkim-atps=neutral Received: from mx0b-00178102.pphosted.com (mx0b-00178102.pphosted.com [148.163.139.245]) by passt.top (Postfix) with ESMTPS id B50C95A0262 for ; Tue, 21 Jul 2026 06:44:32 +0200 (CEST) Received: from pps.filterd (m0231225.ppops.net [127.0.0.1]) by mx0b-00178102.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66L4OZdH3510186; Mon, 20 Jul 2026 23:44:09 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tamu.edu; h=cc :content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=ppae6d7b; bh=9eeIxFuCidrUSZGIcuyMib5NS R4X/059rhXNx3PFhQ0=; b=DGCEzLqua3FSelfplcbT1An4mYs7gbuv7ut6u9kIm Qj7kY1N/lClN9BN8+YSXrMlwu5eW3CpRaYuLZbKJL7sN+fYGeDPc6qKTRx+8cLaP MOXK0cqFCUZBJyvWJrFPIvKRzU1kclYtMg2LjnNJFNmptgib1MS6iefG59u9D+nt /lCVQ01a19gmW4v61Cn+l+4kUBssztn94s1956W9B/ktOLMfoVRvrV/KaLySsQGJ qpHgYv5O/k1W01tMkpdFNi7xa9ZRUClWrwJ8Ub+iaeBF191XSH3l7gXntPAv8BD6 YUfv61/cPDj/rGfYkpUD75lQO3PfjsXyG+K8nv3jCiURA== Received: from ph8pr06cu001.outbound.protection.outlook.com (mail-westus3azon11012002.outbound.protection.outlook.com [40.107.209.2]) by mx0b-00178102.pphosted.com (PPS) with ESMTPS id 4fhu6t9k21-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 20 Jul 2026 23:44:09 -0500 (CDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=T8X90NCo8KsLx7umxmv1DPQvC2i0kXTIJk+2g06lDHuJG0l/z1QnRXTETsvdsz6PlfH/UtCzEbJ0M0fV7H/llgChhU6RxPuX9/TlbFrsYX34DSqQ4N2dFLU1yF8Lsoz3SLYl85JCjqJ5vT6hzyzt7Q+h+j5x+YNKytWLHCbt0KC9KGBQXDFwzeuQuGc/iGXLL5+14UbzOyVWV3rJvkdorYWAiN55gQNZSYzxwR/h7EdrkOuCG9/yD5z0Si8fqTagG2WCtDWo9M5Zealom2fvMnosL+myzM/cTU6aon6OgCHkusb7KQpOBrlDiqi9Je6l2iASNmxDpyOEt3K/W8B0+Q== 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=9eeIxFuCidrUSZGIcuyMib5NSR4X/059rhXNx3PFhQ0=; b=PGfqhiN5lBYMaMnNT17GpP7h6UWUWqhW8X+AtZNCstBUk3U8I74xe4QPnGcbgPerjR+NYeb8ayNnGtX43ZUAWiJ+Xe1repgKgr+M9edGKrRc7Gu3/P+a0XaOSr+vAHiYDE83hcJ/nLFmt6mTjGSDsKqwXsrWexMKvpVPje4t1x45xZIBBrN9DOJNc+Oe/eyLQEy63u20Cz69zZOJ9vZqQIV2WE1lMkoCUX8OO6AOKQNPX5TX4TRNkUxXjW2nmfOiBhB2GndVI1gArTAtHI8SqtytxYh1JqyfUerA8RBZaQMlSnoUoIw0k+2r0jluraKuqhcmZjVMawG0J5j3t0oKVg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=tamu.edu; dmarc=pass action=none header.from=tamu.edu; dkim=pass header.d=tamu.edu; arc=none Received: from DM3PR11MB8713.namprd11.prod.outlook.com (2603:10b6:0:45::15) by SJ1PR11MB6105.namprd11.prod.outlook.com (2603:10b6:a03:48c::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.18; Tue, 21 Jul 2026 04:44:06 +0000 Received: from DM3PR11MB8713.namprd11.prod.outlook.com ([fe80::e63e:f56e:ed80:ee28]) by DM3PR11MB8713.namprd11.prod.outlook.com ([fe80::e63e:f56e:ed80:ee28%4]) with mapi id 15.21.0223.017; Tue, 21 Jul 2026 04:44:06 +0000 From: "Lawrence, Richard E" To: David Gibson Subject: Re: [PATCH v3] feat: Add cli option '--pass-fds' for pasta mode. Thread-Topic: [PATCH v3] feat: Add cli option '--pass-fds' for pasta mode. Thread-Index: AQHdF7miLfiX5ML8g0ex7IILdr+LkrZ1v4GAgAGWhbI= Date: Tue, 21 Jul 2026 04:44:05 +0000 Message-ID: References: <20260719200300.201469-1-rlawrence@tamu.edu> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM3PR11MB8713:EE_|SJ1PR11MB6105:EE_ x-ms-office365-filtering-correlation-id: 28f134cc-8d2d-41a1-2b17-08dee6e2b241 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|23010399003|786006|1800799024|38070700021|22082099003|18002099003|3023799007|6133799003|8096899003|56012099006|4143699003|11063799006|10067099003; x-microsoft-antispam-message-info: oPz9kMiQO5juUEqKAYJTcXmuoY0V5RQUsEsg3fu82CCX8jorXYV1HYVV/DrhS67GxaCTlm65J26UOO8NKBCz+lX90nOC4kvWWwxd1L0ItyLm3iU3kLVY6LE1W0BibPuBVMMjdYJCVGnRQ6oYhLr3x+Wsx0GvVofplCS0aF3LokNJdfs1gwru74meiuUarS75KEZPf6M5gPtBZJ5RP/IH/vPNZaqiO8x8Ce/GGU+8vHxWYLzC3XHtGpT7AFJuH0aivDE1QW37BhXpWaTYwq1vcY55Ch2ENimAb754uXD2d/iGgvS4jpENQb3GqvypOV5qBg3rLTxOYQTZdMALKsZ8NOCCvwmDsIUSc1aJhuj8Hm0z8R0TQirzye+kq3wSdfRk+y9snoQm9HHezcW3Lq11Q07HLD4xSVBCxGGB/wGpurQf4d1sgncWGckHaxtex4FC1xrZOX4hH7EInFIw3eQ4DbtmS+QTVchlHlAywv3do1uA/SpEvugrlHm77qSTbigNW00iWuPh+FH5gjuVtaixocXYF+l21asM5fCaUJ45rmnL16/d74PtbCTyKtGQW3YPeSp6D3nQ1p3FbdsUe9QF0bxDMm4jrVnyKfITRUhdN0G/jzlTAgWci6EbEIhm0cmc9ssR8qVkhI02Ix9Q7syil9zRyX/qrY8PLIJNbVLocG4= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM3PR11MB8713.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(23010399003)(786006)(1800799024)(38070700021)(22082099003)(18002099003)(3023799007)(6133799003)(8096899003)(56012099006)(4143699003)(11063799006)(10067099003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dHp6MUR1MlFkNDlQWjdiOHQ1UGk2cEM3Z2ovTHU1MmpCcHVDY05Dd2h6enJE?= =?utf-8?B?VG1YR0pqT1N3TkRVVjY5RDc3bkV0QUdhYTVaaHBRRWJ6TmtaSlJyMlp4d2hq?= =?utf-8?B?NmZRVmZVcUR0L0gvRXNMajF1TVFPMVBoZVBjN0hjVDdDMWVNY2Q5dW9zYSto?= =?utf-8?B?SXd0OGhNY3RleE83VU9pNExzTUlZRUUvZ3E4SjE4NEVYMVR0VHQ0cVNVdi9H?= =?utf-8?B?bWllTFNGMDNQNHRDNXZuVlc3cXVvTnBJZU5sRlNiaVp0RlpmNWJVbDRJL0ZT?= =?utf-8?B?N3lDYy8zWExSaHU0QmhyWC9zSTNvK1RxVmNia1pmSlVqQ2lJOCtteGd0N3hx?= =?utf-8?B?WEk5RjQxdmFyUlpqM05CbmpGeGc3U0hpRmVRWVc0WWdNYWZCbWF6OHplTDRB?= =?utf-8?B?QUk5ZFUrc1F6K0VnM0toRm1hZzVseERSQVVldThscWNaejE0TGtUR2cyaVJx?= =?utf-8?B?Q2I3SFFvWHFiOW8ybWE1UTZSTzMwck53aG43NW5GNmtqUGp6aE9vWFBWT3RS?= =?utf-8?B?RUl5YjNmVEcvRzAyeXIvLzZ2NVdUd1ZtVHJOODRHVEg0VFExK2FuNEVONGN5?= =?utf-8?B?VkordEFsZDlDdkdqbkQ5UDBqb0tWazZBaTA5RFB1U3VRZHRZNGN3OWkxK1ZO?= =?utf-8?B?c0ZJN1NkOXN2TzhkVEZVa0Z0aVNZQng1ZkUvK3NzTnZOWFZoUGpNRU1QcDcz?= =?utf-8?B?c1UrWURURTQrc2ZhZlNTVEpiREoyN3JSWmhEbXVGTXFoVnplbzkrdUxZMU45?= =?utf-8?B?VHI4aERES3BXck4vbTVnYWdyZWhjbzg4R3lUNGMrWkpCUDhKeUw2aTA1WGxM?= =?utf-8?B?M3ovN0VHbTNLN2Y4Wm5PNGJCRG5hV3lNOXNJNldkRHk3TGZXTHdXb29zdU5R?= =?utf-8?B?MDNBQWFHQjFOMzJkVW8wN3VZTlFQTTZ4MkE1THhHRGwzUGJXcC96ZFJudWZN?= =?utf-8?B?SERtN2JFQkJJY05PUXpHOTIwL0lGWnY3VTZqSTJRRklmdjBuV29IdW0zbHky?= =?utf-8?B?Ni81ZEpERk5aangyZ0hYQ2JWS0l3MXJpTGxHN0FIa3pwVmxocTNzYzJwSEF5?= =?utf-8?B?THc0QlRWRFdwajJzRjlvYkFHSmJ5MDNxSzdBRHY5ek9DajJqTDFudk1EREpw?= =?utf-8?B?eVM1Z3o2L0Y1bTZSRFBQQ25Qd1p4aDZNQXZZUXlKUnJhL0dwUHBLVkpLU3ox?= =?utf-8?B?TXYxTHBsb2RGYUZjSFFCbzUxbVJwdlc4Qm9mRkl4RHlHTDNPYTFPTmUzL2dj?= =?utf-8?B?V1Q2bXJrQUJzUEd6Zk96TjlZei9ZcSt4b216cHFqa2NvcGZjSjU0WVRZSlFJ?= =?utf-8?B?bHpvNFB6czdEeXl4L3kyeGthWXkwVDZ0d3Jta1k1OGFDckFaUmx5ZmN4Z2gr?= =?utf-8?B?TEcycDgrNGRDQVptcDJ5bk5nRTJsNzBBOGhjYW5vekdNZ2VQNU5pRzJxT3Fw?= =?utf-8?B?ZVY3UGMvYzlJNHIvNmRFWkM3cm1ZK1dXTTdsZmVwWlhWbkdNREY2bGFqb1Fz?= =?utf-8?B?YlIrV25wdS9SQmIvU0dhOFc2N1UyM3VzNU9HSmxlaWlkNU9venZvclloZkJO?= =?utf-8?B?cWVKQWZwUHFVVEVneHU0elZ3RzVjWXdtM1AwK05yaWNrR0xzZ2RLVUtZSnFn?= =?utf-8?B?R3RUYWZzWTRkOWczRnZOLzN1bmZHSUNMcFlobGRLbWgyMmxzR3R1T2hCWEMz?= =?utf-8?B?VGwyVDFoS1dPN2ZpZTRXUW1QSXRzVDU1aUlQSXJlc0xhM2ZzVWVKSXZmQ2Nr?= =?utf-8?B?SmRBQXpHQXAyTWZRYjRIKytkQVhXQnhrVHlDa29RdUt2dUw5eVFJeVAxRDdH?= =?utf-8?B?N3c0ME8vcTdWRWViWVNJRzJFd0NjRmxyZ2Q5M0pQOTdjMVFEWnpVSk9yTVZB?= =?utf-8?B?eUxPNTJGOHQ3SnBCWUJKdEhvVzFXRUpqd3dTT2dWbTc1YTV1bWdHQ2dzbm9s?= =?utf-8?B?OU1MbjBTV01wS0xpUGU1dXd2c3hTRVJmWGxjYWhmMnZNMFRobU1lV0M5UDRm?= =?utf-8?B?cTZYU1JQOWg0OENLUjAwcFVIdzVrdStoZm5BemhkcG9TQjZKWS9PcnI2NzFq?= =?utf-8?B?Y2tTSFZtMzdwMWkrYTQydUZobDROc21lTld1aDd1aGFhVDI5bmxXejRJWm9W?= =?utf-8?B?c09BSXVvSTdwTURLazBtSGRVZDdjQi9nNi9KVGRhTThOQ3VCWUhFdEhFdUxz?= =?utf-8?B?TUQ4MXJEZDIzdlptNjRReEd3cVlqUGdFekRjalhLY0l3bnBMZ0hVV3h4Smlt?= =?utf-8?B?NWZ3WHUwUXN4RVZqWGpUaGNrVFI2NGgrNzV3MjBGVW1mUUd0RWhqWnBwV2Vp?= =?utf-8?Q?Ms1xjNVSpDcvpL4uDn?= Content-Type: multipart/alternative; boundary="_000_DM3PR11MB87130E6E4965562A18326228DAC22DM3PR11MB8713namp_" MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: qIhwTMob/rHfoJzvJt7kOqZhzVcI+E2kcCOhJNHBp7+AO+xI9yCjQIhkvIRz/Z6j15m8wcF3ee429LDNW94U7dG76jhW/NqFkk4WX01OkUGiTLku32dv7kL+4MLNkBAMA+FQHzrN5m0zzJnNkNW5L3dg/gQfEghCHDsuISsKRQ5DrASaZLi7xUrXDm6h7GwmSBTQaO+pmcileAdVt9ENnji5EGLEeIre5NCD6KTgeic+/CrNnTphtUyWbYijHmZhc/I+/G1zbapqjouPeHHoBHaX1Ksl62e6YuSra1nDBGVqWlITdTYks0JegiXdBwP4N+9Y1fpj8KRGHvZrXWo8Fw== X-OriginatorOrg: tamu.edu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM3PR11MB8713.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 28f134cc-8d2d-41a1-2b17-08dee6e2b241 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jul 2026 04:44:06.0168 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 68f381e3-46da-47b9-ba57-6f322b8f0da1 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: m0iqwTxjGVQetGuC96IJFLkmAsfF5UFxhCiAByUzKxMYtEAU24or5eCba7g3rkHQnqGbmVRa68E6JGlScQrJ0w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR11MB6105 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIxMDA0NiBTYWx0ZWRfX/2bzprn5xJap S/mlgdAjleHUpJyVbS1Y8F+HnasiSqSz8Nt7d0p8VbtQOKz84PYH2JXe7w1j1LbAeXGtvTvfSMq IlcwjrScrji7WY6OWdfToza/BT1M38ine9bNxZhHtEFmT3K46VTfId8CnY9KV3bOQjA5iOwT2Fn 697LBeRewgE5N1Q2WsLX7TIUiwuhCTgOMw4rRoh4uwD56DzuEkBlkZJCQJN/t/hBcXiCNDHyFlf ydIZycL1Bmivn81GPDeI5dGAYclMbNZMkrRH1vu6k0v0peFHOfxrpuz5xbt4CqkaNvUk2A2v5U/ PP4dycpxuiRWkf/6b2saXzXvN+07IcccePG84euuKp3zUfPGGfdHldEgY6FsdROZqmBcYHJLEyA uNBs8XizBYkzNJU6PUYBWq1sdNza/l5N2hDHQWNX4iLDOzXM4BwlpK+lmxGLfVtSO9oA9mpOpnR mWneTdErRPzso2QMHeg== X-Proofpoint-ORIG-GUID: 16yPx4JScL4Kq9u_f51NH06CNpntvBgY X-Authority-Analysis: v=2.4 cv=K+AS2SWI c=1 sm=1 tr=0 ts=6a5ef919 cx=c_pps a=ziZy7zD1dJq8wwEro8zYwA==:117 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=RAioF0-LDSMA:10 a=x7bEGLp0ZPQA:10 a=fWIk7vUBimkA:10 a=VkNPw1HP01LnGYTKEx00:22 a=HuL5yKgYSaDc2Nh3iM7q:22 a=2YkiAc8siqMr346Pb3oA:22 a=pNgXkJcRAAAA:8 a=voM4FWlXAAAA:8 a=btVHSsReAAAA:8 a=B910RkmbNBtAme4EkkMA:9 a=Z2EVtHUYbIje7TQ1:21 a=QEXdDO2ut3YA:10 a=osORWHxG3VDeFb9XmWcA:9 a=tqdMzFhGG8mD8GCBlf4leDhY3gs=:19 a=X0oVT5DxPR0fIN9s:21 a=frz4AuCg-hUA:10 a=_W_S_7VecoQA:10 a=tKe0A8swS_RTMQ4Dt1Wu:22 a=IC2XNlieTeVoXbcui8wp:22 a=3UV5jaWp_vrj6uxwUC0B:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIxMDA0NiBTYWx0ZWRfXyiJe6XDYnbpl eNrgFbLdLXkY4zzHjlDXuVaNVAydW3FqJPZdo3EhoC3RZitVIF/sEN1lH8hk569UvuMYRJAxpsb 67HGdBBa/3n07JuTfnDtLqC7XU9svos= X-Proofpoint-GUID: 16yPx4JScL4Kq9u_f51NH06CNpntvBgY X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-20_06,2026-07-20_03,2025-10-01_01 X-MailFrom: rlawrence@tamu.edu X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation Message-ID-Hash: DU2ZDWUA5XPAKGNCJTCFMKORZYGZCLH5 X-Message-ID-Hash: DU2ZDWUA5XPAKGNCJTCFMKORZYGZCLH5 X-Mailman-Approved-At: Tue, 21 Jul 2026 13:35:24 +0200 CC: "passt-dev@passt.top" , "jbash@jbash.com" X-Mailman-Version: 3.3.8 Precedence: list List-Id: Development discussion and patches for passt Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: --_000_DM3PR11MB87130E6E4965562A18326228DAC22DM3PR11MB8713namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGVsbG8gRGF2aWQsDQoNClRoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjay4gSSBzZWUgeW91ciBw b2ludCB0aGF0IEkgaGF2ZW4ndCBtYWRlIHRoZSBjYXNlIHdoeSB0aGlzIGZlYXR1cmUgaXMgd29y dGh3aGlsZS4gSSB3b3VsZCBsaWtlIHRvIGV4cGxhaW4gaG93IEkgY2FtZSB0byBteSBwb3NpdGlv bi4NCg0KSSB3YW50IHRvIGRvIGJ1YmJsZXdyYXAgKyBwYXN0YSBzbyB0aGF0IEkgY2FuIGdpdmUg bXkgcGVyc29uYWwgYWdlbnQgc2FuZGJveGVkIGNvZGUgZXhlY3V0aW9uIHRvIHN1cHBvcnQgU0tJ TExTLm1kIGV4dGVuc2lvbnMuIEEgdmVyeSBjb21tb24gcGF0dGVybiBpbiBTS0lMTFMubWQgaXMg cHl0aG9uIGNvZGUgd2l0aCBpbmxpbmUgc2NyaXB0IG1ldGFkYXRhIGRlcGVuZGVuY2llcyBzbyB0 aGF0IHV2eCBjYW4gZ2VuZXJhdGUgZXBoZW1lcmFsIHZpcnR1YWwgZW52aXJvbm1lbnRzIG9uIGRl bWFuZCB0byBydW4gdGhlIHNjcmlwdHMuIFRoaXMgc3RyYXRlZ3kgcmVxdWlyZXMgZ3JhbnRpbmcg YWNjZXNzIHRvIHRoZSBpbnRlcm5ldCwgYnV0IEkgc3RpbGwgd2FudCB0byBkZW55IGFjY2VzcyB0 byBwb3J0cyBvbiBsb2NhbGhvc3QuIEkgZG9uJ3Qgd2FudCBhIGNvbmZ1c2VkIGFnZW50IG9yIG1h bGljaW91cyB0aGlyZCBwYXJ0eSBzY3JpcHRzIHRvIGhhdmUgdGhlIG9wcG9ydHVuaXR5IHRvIHRp bmtlciB3aXRoIG90aGVyIHNlcnZpY2VzIHJ1bm5pbmcgb24gbXkgbWFjaGluZSBvciB0aG9zZSBv ZiBteSBvZmZpY2UgbmVpZ2hib3JzLiBQYXN0YSBzZWVtZWQgbGlrZSB0aGUgcmlnaHQgdG9vbCBm b3IgdGhlIGpvYi4gSXQgY2FuIGRpc3Rpbmd1aXNoIGJldHdlZW4gbG9jYWwgYXJlYSBhbmQgd2lk ZSBhcmVhIG91dGJvdW5kIHRyYWZmaWMuDQoNCkkgdHJpZWQgbWFueSwgbWFueSBjb21iaW5hdGlv bnMgZm9yIGdldHRpbmcgYndyYXAgYW5kIHBhc3RhIHRvIGdldCBhbG9uZy4NCg0KSSBhc3N1bWUg dGhhdCBwYXN0YSBzaG91bGQgYmUgcnVubmluZyBiZWZvcmUgdGhlIHNhbmRib3hlZCBjb21tYW5k IGJlZ2lucyB0byBydW4gaW4gdGhlIGNvbnRhaW5lciwgc2luY2UgYWxtb3N0IHRoZSBmaXJzdCB0 aGluZyB0aGF0IHdvdWxkIGhhcHBlbiBpcyB0aGUgcGFja2FnZSBtYW5hZ2VyIHV2IHJlYWNoaW5n IG91dCB0byB0aGUgaW50ZXJuZXQgdG8gZ2F0aGVyIHRoZSBzY3JpcHQncyBkZXBlbmRlbmNpZXMu IElmIHBhc3RhIGpvaW5zIHRoZSBuYW1lc3BhY2UgY3JlYXRlZCBieSBid3JhcCwgdGhlbiBJIGhh dmUgdG8gc29tZWhvdyBkZWxheSB0aGUgc3RhcnQgb2YgdGhlIHNjcmlwdCBleGVjdXRpb24gdW50 aWwgcGFzdGEgc2lnbmFscyB0aGF0IGl0IGlzIHJlYWR5LiBUaGF0IGlzIGEgdmVyeSBzY2FyeSBw cm9wb3NpdGlvbiB0byBtZTsgSSBhbSBub3Qgc3VyZSBob3cgSSB3b3VsZCBkbyBpdCBldmVuIGlu IHRoZW9yeS4gU28gdGhhdCBtYWtlcyBtZSB3YW50IHRvIHN0YXJ0IHBhc3RhIGZpcnN0IGFuZCB0 aGVuIHN0YXJ0IGJ1YmJsZXdyYXAuDQoNCk9uIHRoZSBvdGhlciBoYW5kLCBzaW5jZSBid3JhcCBj YW4ndCB5ZXQgam9pbiBleGlzdGluZyBuZXR3b3JrIG5hbWVzcGFjZXMsIGl0IHR1cm5lZCBvdXQg dG8gYmUgYSByZWFsbHkgZGlmZmljdWx0IHByb2JsZW0uIEkgdHJpZWQgd3JhcHBpbmcgYnViYmxl d3JhcCBpbiBuc2VudGVyLCBidXQgdGhhdCBleHBvc2VkIGEgcmVhbGx5IHN1YnRsZSBpc3N1ZSB3 aXRoIG5lc3RlZCBuYW1lc3BhY2VzLiBJIGRvbid0IDEwMCUgdW5kZXJzdGFuZCBpdCwgYnV0IGlu IHNob3J0LCBpbm5lciBuYW1lc3BhY2VzIHRlbmQgdG8gaW1wbGljaXR5IGRyb3AgY2FwYWJpbGl0 aWVzIGlmIHRoZXkgYXJlbid0IHZlcnkgcHJlY2lzZWx5IG1hbmFnZWQuIFNvIHRoZSByZXN1bHQg b2YgbXkgYXR0ZW1wdCB3YXMgdGhhdCBzb21lIGNvbW1hbmRzIGxpa2UgcGluZyB3b3VsZCBub3Qg d29yayBpbnNpZGUgdGhlIGlubmVyIG5hbWVzcGFjZSBiZWNhdXNlIHRoZSB1c2VyIGluIHRoZSBp bm5lciBuYW1lc3BhY2UgZGlkbid0IGdldCBtYXBwZWQgdG8gdGhlIHJhbmdlIG9mIHVzZXJzIGlu IHRoZSBvdXRlciBuYW1lc3BhY2Ugd2hvIGFyZSBhbGxvd2VkIHRvIGV4ZWN1dGUgcGluZy4NCg0K SSB0cmllZCBleGVjdXRpbmcgYnViYmxld3JhcCB3aXRoaW4gcGFzdGEuIEFuZCBpdCdzIHNvIGNs b3NlIHRvIGJlaW5nIHdoYXQgSSB3YW50ZWQhIEl0J3MgYSBzaW1wbGUgb25lLWxpbmVyIGFuZCBm b3Igc29tZSByZWFzb24gSSBkb24ndCB1bmRlcnN0YW5kLCBhdm9pZHMgdGhlIGlzc3VlIHdpdGgg dGhlIG5lc3RlZCBuYW1lc3BhY2UuIEJ1dCBpdCBzdGlsbCBpc24ndCB3aGF0IEkgd2FudGVkLCBi ZWNhdXNlIGFub3RoZXIgdGhpbmcgSSBsaWtlIHRvIGRvIGlzIGRlbGl2ZXIgYndyYXAncyBtYW55 IG1hbnkgYXJncyB0byBpdCB2aWEgYSBmaWxlIGRlc2NyaXB0b3IgKC0tYXJncyBGRCkgdG8gc2lt cGxpZnkgdGhlIHByb2Nlc3MgbmFtZSBmb3IgcHMgYW5kIGF2b2lkIGxlYWtpbmcgcHJpdmF0ZSBp bmZvcm1hdGlvbiB0byBhbnlvbmUgZWxzZSBydW5uaW5nIG9uIHRoZSBzYW1lIG5vZGUuIEJ1dCBz aW5jZSBwYXN0YSBjb3VsZG4ndCBwYXNzIEZEJ3MgdGhyb3VnaCB0byBidWJibGV3cmFwLCBzbyBu b3cgSSBoYXZlIHRvIHdyYXAgbXkgYnViYmxld3JhcCBjb21tYW5kIGluc2lkZSBzb21lIG90aGVy IGJlc3Bva2Ugc2NyaXB0IHdob3NlIGpvYiBpcyB0byBvcGVuIGEgdGVtcG9yYXJ5IGZpbGUgSSBh bSBzZXJ2aW5nIHNvbWV3aGVyZSwgd2hpY2gganVzdCBiZWNvbWVzIGFub3RoZXIgb3Bwb3J0dW5p dHkgdG8gbGVhayBteSBwcml2YXRlIGluZm9ybWF0aW9uLg0KDQpTaWRlYmFyOiBpZiB5b3UgdGhp bmsgYWJvdXQgaXQsIHRoZSBvbmx5IHJlYXNvbiB0aGUgbnNlbnRlciBzdHJhdGVneSBjYW4gZXZl biBiZSBjb25zaWRlcmVkIGEgIndvcmthcm91bmQiIGZvciBwYXN0YSBub3QgaGF2aW5nIC0tcGFz cy1mZCBpcyB0aGF0IG5zZW50ZXIgZG9lcyBoYXZlIHRoZSBmZWF0dXJlIHRvIHBhc3MgRkQncyB0 aHJvdWdoIChpbiBmYWN0LCBpdCBpcyB0aGUgZGVmYXVsdCkuIFRoYXQncyBub3QgYSBnb29kIGxv b2sgZm9yIHBhc3RhLg0KDQpTaWRlYmFyOiBZZXMsIGl0IGNhbiBiZSBzYWlkIHRoYXQgbXkgcHJv YmxlbSB3b3VsZCBiZSBzb2x2ZWQgb24gdGhlIGJ1YmJsZXdyYXAgc2lkZSBpZiBvbmx5IGJ1YmJs ZXdyYXAgY291bGQgam9pbiBhbiBleGlzdGluZyBuZXR3b3JrIG5hbWVzcGFjZS4gSSBhbHNvIHN1 Ym1pdHRlZCB0aGUgUFIgdG8gY3JlYXRlIHRoYXQgZmVhdHVyZS4gTmV2ZXJ0aGVsZXNzLCBJIGZl ZWwgc3Ryb25nbHkgdGhhdCBwYXNzaW5nIEZEJ3MgaGFzIG90aGVyIHBsYXVzaWJsZSBjb25zdW1l cnMgYmVzaWRlcyBzcGVjaWZpY2FsbHkgYnViYmxld3JhcC4NCg0KSW4gdGhlIGVuZCwgSSBmZWx0 IHN1cGVyLCBzdXBlciBmcnVzdHJhdGVkIGJlY2F1c2Ugd2hhdCBzZWVtZWQgbGlrZSBhbiBlYXN5 IHByb2JsZW0gdHVybmVkIG91dCB0byBiZSBuZWFybHkgaW1wb3NzaWJsZS4gSW4gbXkgd29ya3Bs YWNlLCBJIGFtIGNvbnNpZGVyZWQgdGhlIGxvY2FsIGV4cGVydCBvbiBjb250YWluZXJzLCBhbmQg ZXZlbiBJIGNvdWxkbid0IGZpZ3VyZSBpdCBvdXQuIE15IExMTSBjb2RpbmcgYWdlbnQgY291bGRu J3QgZmlndXJlIGl0IG91dCBlaXRoZXIuIFRoaXMgd291bGQgYmUgY29tcGxldGVseSBob3BlbGVz cyBmb3Igc29tZSBnYW1lciB0cnlpbmcgdG8gaXNvbGF0ZSBuZXR3b3JrIGFjY2VzcyBmb3IgYSBt dWx0aXBsYXllciBnYW1lIGluc3RhbGxlZCB2aWEgZmxhdHBhay4NCg0KSSB0ZWFjaCB0aGUgY29u dGFpbmVyIHNob3J0Y291cnNlIGF0IG15IGluc3RpdHV0aW9uLCBhbmQgSSBnZW51aW5lbHkgY2Fy ZSBhYm91dCB0aGUgZnV0dXJlIG9mIHRoaXMgdGVjaG5vbG9neS4gSXQgaXMgbXkgaG9wZSB0byBo ZWxwIG1ha2UgbW9kZXJuIGxpZ2h0d2VpZ2h0IGFuZCBzZWN1cmUgY29udGFpbmVyIHRlY2hub2xv Z2llcyBhcyB1c2VyLWZyaWVuZGx5IGFzIHBvc3NpYmxlLCBzbyB0aGF0IG1vcmUgcGVvcGxlIHdp bGwgY2hvb3NlIHRoZW0gb3ZlciAic3VkbyBkb2NrZXIiLiBJZiB3ZSBjYW4gcmVhY2ggYSBjb25z ZW5zdXMgcmVnYXJkaW5nIHRoZSBpZGVhbCBzY29wZSBvZiB0aGlzIGZlYXR1cmUsIEkgd2lsbCBn bGFkbHkgYWRkcmVzcyBhbGwgeW91ciB0ZWNobmljYWwgY29tcGxhaW50cy4NCg0KSWYgeW91IHJl YWQgdGhpcyBmYXIsIEkgYW0gZ3JhdGVmdWwgZm9yIHlvdXIgYXR0ZW50aW9uLCBhbmQgSSBhcG9s b2dpc2UgZm9yIHJhbWJsaW5nLiBJdCBpcyBsYXRlIGhlcmUsIGFuZCBteSBicmFpbiBkb24ndCB3 b3JrIHNvIGdvb2QganVzdCBiZWZvcmUgYmVkLg0KDQpSaWNoYXJkIExhd3JlbmNlDQoNCg0KDQoN Cg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCkZyb206IERhdmlkIEdpYnNvbg0K U2VudDogU3VuZGF5LCBKdWx5IDE5LCAyMDI2IDEwOjI1IFBNDQpUbzogTGF3cmVuY2UsIFJpY2hh cmQgRQ0KQ2M6IHBhc3N0LWRldkBwYXNzdC50b3A7IGpiYXNoQGpiYXNoLmNvbTsgTGF3cmVuY2Us IFJpY2hhcmQgRQ0KU3ViamVjdDogUmU6IFtQQVRDSCB2M10gZmVhdDogQWRkIGNsaSBvcHRpb24g Jy0tcGFzcy1mZHMnIGZvciBwYXN0YSBtb2RlLg0KDQpPbiBTdW4sIEp1bCAxOSwgMjAyNiBhdCAw MzrigIowMzrigIowMFBNIC0wNTAwLCBSaWNoYXJkIExhd3JlbmNlIHdyb3RlOiA+IEZyb206IFJp Y2hhcmQgTGF3cmVuY2UgPHJhcmVuc3VA4oCKdGFtdS7igIplZHU+ID4gPiBXaGVuIHBhc3RhIG1v ZGUgaXMgdXNlZCB0byBsYXVuY2ggYW4gZXhlY3V0YWJsZSAoYHBhc3RhIFtDT01NQU5EXWApIGFu ZCB0aGF0IGV4ZWN1dGFibGUgYWNjZXB0cyBpbnB1dHMgaW4gdGhlIGZvcm0NClpqUWNtUVJZRnBm cHRCYW5uZXJTdGFydA0KVGhpcyBNZXNzYWdlIElzIEZyb20gYW4gRXh0ZXJuYWwgU2VuZGVyDQpU aGlzIG1lc3NhZ2UgY2FtZSBmcm9tIG91dHNpZGUgeW91ciBvcmdhbml6YXRpb24uDQoNClpqUWNt UVJZRnBmcHRCYW5uZXJFbmQNCg0KT24gU3VuLCBKdWwgMTksIDIwMjYgYXQgMDM6MDM6MDBQTSAt MDUwMCwgUmljaGFyZCBMYXdyZW5jZSB3cm90ZToNCj4gRnJvbTogUmljaGFyZCBMYXdyZW5jZSA8 cmFyZW5zdUB0YW11LmVkdT4NCj4NCj4gV2hlbiBwYXN0YSBtb2RlIGlzIHVzZWQgdG8gbGF1bmNo IGFuIGV4ZWN1dGFibGUgKGBwYXN0YSBbQ09NTUFORF1gKSBhbmQgdGhhdCBleGVjdXRhYmxlIGFj Y2VwdHMgaW5wdXRzIGluIHRoZSBmb3JtIG9mIGFyYml0cmFyeSBmaWxlIGRlc2NyaXB0b3JzIChz dWNoIGFzIGBid3JhcGApLCB0aGVuIHBhc3N0IHNob3VsZCBub3Qgc3RhbmQgaW4gdGhlIHdheSBv ZiB0aGUgcGFyZW50IHByb2Nlc3MgaGFuZGluZyBvZmYgdGhvc2UgZmlsZSBkZXNjcmlwdG9ycyB0 byB0aGUgY2hpbGQgcHJvY2Vzcy4gU2VlIGJ1ZyAyMDQgZm9yIGFkZGl0aW9uYWwgZGlzY3Vzc2lv bi4NCg0KTml0OiB3cmFwIGNvbW1pdCBtZXNzYWdlcyBhdCA4MCBjb2x1bW5zLCBwbGVhc2UuDQoN Cj4gVGhlIGBwYXNzLWZkc2Agb3B0aW9uIGFjY2VwdHMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBv ZiBmaWxlDQo+IGRlc2NyaXB0b3IgbnVtYmVycy4gYGNvbmZfcGFzc19mZHMoKWAgcGFyc2VzIHRo ZSBjb21tYW5kIGxpbmUNCj4gYXJndW1lbnQsIHRoZW4gYGlzb2xhdGVfZmRzKClgIHNraXBzIGNs b3NpbmcgdGhlIHNwZWNpZmllZCBmZHMgYnkNCj4gY2FsbGluZyBgY2xvc2VfcmFuZ2UoKWAgb24g dGhlIGdhcHMgYmV0d2VlbiB0aGVtLg0KDQpJJ20gc3RpbGwgbm90IHJlYWxseSBzZWVpbmcgdGhl IHZhbHVlIG9mIHRoaXMgb3B0aW9uLCBvdmVyIHN0YXJ0aW5nDQp0aGUgbmFtZXNwYWNlIHNlcGFy YXRlbHksIHBhc3NpbmcgdGhlIGZkcyB5b3Ugd2FudCwgYW5kIHRoZW4NCmNvbm5lY3RpbmcgcGFz dGEuICBPciB5b3UgY2FuIGRvIGl0IHRoZSBvdGhlciB3YXkgYXJvdW5kOiBzdGFydCB3aXRoIGEN CnBsYWNlaG9sZGVyIHByb2Nlc3MsIHRoZW4gdXNlIG5zZW50ZXIgdG8gcHV0IHRoZSAicmVhbCIg d29ya2xvYWQgaW50bw0KdGhlIHNhbWUgbnMsIGFsb25nIHdpdGggd2hhdGV2ZXIgZmRzIHlvdSB3 YW50ICh0aGlzIGFwcHJvYWNoIGNhbiBiZSBhDQpiaXQgZmlkZGx5IHRvIGRpc2NvdmVyIHRoZSBy aWdodCBwaWQgaW4gdGhlIHBhcmVudCBuYW1lc3BhY2UsIHRob3VnaCkuDQoNCkluIG90aGVyIHdv cmRzLCBuZWl0aGVyIGhlcmUsIG5vciBvbiB0aGUgYnVnIGhhdmUgSSBzZWVuIGFueSByZXNwb25z ZQ0KdG8gbXkgY29tbWVudHMgaW4gaHR0cHM6Ly9idWdzLnBhc3N0LnRvcC9zaG93X2J1Zy5jZ2k/ aWQ9MjA0I2MzDQoNCkkgaGF2ZSBjb21tZW50cyBvbiB0aGUgaW1wbGVtZW50YXRpb24gYmVsb3cs IGJ1dCBhZGRyZXNzaW5nIGFsbCB0aG9zZQ0Kd291bGQgbm90IGJlIGVub3VnaCBmb3IgbWUgdG8g YXBwcm92ZSB0aGlzIHBhdGNoLCB3aXRob3V0IGEgY2FzZSBmb3INCndoeSB0aGUgZmVhdHVyZSBp cyBzdWZmaWNpZW50bHkgdmFsdWFibGUgaW4gdGhlIGZpcnN0IHBsYWNlLg0KDQo+IEFkZGl0aW9u YWxseSwgdGhlIHRhcCBmZCBpcyBzYWZlbHkgcmVsb2NhdGVkIHRvIHRoZSBsb3dlc3QgdW51c2Vk IGZkDQo+IG51bWJlciB3aGljaCBpdCBhdCBsZWFzdCAzLCB0byBhdm9pZCBhY2NpZGVudGFsbHkg b3ZlcndyaXRpbmcgYW4NCj4gZXhpc3RpbmcgZmQuDQoNClRoYW5rIHlvdSBmb3IgcmVtb3Zpbmcg dGhlIGNvbmZ1c2luZyBDby1hdXRob3JlZCB0YWdzLiAgT2J2aW91c2x5IEkNCmNhbid0IGJlIGNl cnRhaW4gYnV0IHRoaXMgcGF0Y2ggc3RpbGwgcmVhZHMgbGlrZSBpdCB3YXMgTExNIGFzc2lzdGVk LA0Kd2hpY2ggc2hvdWxkIGJlIGFja25vd2xlZGdlZCBpbiBzb21lIHdheS4gIE15IHBlcnNvbmFs IHByZWZlcmVuY2UNCndvdWxkIGJlIHRoZSBgQXNzaXN0ZWQtYnlgIHRhZyByZWNlbnRseSBhZG9w dGVkIGJ5IHRoZSBMaW51eCBrZXJuZWwsDQpidXQgU3RlZmFubyBhbmQgSSBoYXZlbid0IGRpc2N1 c3NlZCB0aGF0IHlldC4NCg0KPiBTaWduZWQtb2ZmLWJ5OiBSaWNoYXJkIExhd3JlbmNlIDxybGF3 cmVuY2VAdGFtdS5lZHU+DQo+IC0tLQ0KPiAgY29uZi5jICAgICAgfCA3NCArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQ0KPiAgY29uZi5oICAgICAg fCAgMyArKysNCj4gIGlzb2xhdGlvbi5jIHwgNzMgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0tLS0tLS0tLQ0KPiAgcGFzc3QuMSAgICAgfCAgNSArKysrDQo+ICA0 IGZpbGVzIGNoYW5nZWQsIDE0MCBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkNCj4NCj4g ZGlmZiAtLWdpdCBhL2NvbmYuYyBiL2NvbmYuYw0KPiBpbmRleCAwZmNiYTVjLi43Mjk4MTZkIDEw MDY0NA0KPiAtLS0gYS9jb25mLmMNCj4gKysrIGIvY29uZi5jDQo+IEBAIC03MzIsNyArNzMyLDkg QEAgcGFzdGFfb3B0czoNCj4gICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICAgICAgICBE b24ndCBjb3B5IGFsbCBhZGRyZXNzZXMgdG8gbmFtZXNwYWNlXG4iDQo+ICAgICAgICAgICAgICAg IiAgLS1ucy1tYWMtYWRkciBBRERSICAgU2V0IE1BQyBhZGRyZXNzIG9uIHRhcCBpbnRlcmZhY2Vc biINCj4gICAgICAgICAgICAgICAiICAtLW5vLXNwbGljZSAgICAgICAgICBEaXNhYmxlIGluYm91 bmQgc29ja2V0IHNwbGljaW5nXG4iDQo+IC0gICAgICAgICAgICAgIiAgLS1zcGxpY2Utb25seSAg ICAgICAgT25seSBlbmFibGUgbG9vcGJhY2sgZm9yd2FyZGluZ1xuIik7DQo+ICsgICAgICAgICAg ICAgIiAgLS1zcGxpY2Utb25seSAgICAgICAgT25seSBlbmFibGUgbG9vcGJhY2sgZm9yd2FyZGlu Z1xuIg0KPiArICAgICAgICAgICAgICIgIC0tcGFzcy1mZHMgRkRTICAgICAgIENvbW1hLXNlcGFy YXRlZCBsaXN0IG9mIGZkcyB0byBwYXNzIHRvXG4iDQo+ICsgICAgICAgICAgICAgIiAgICAgICAg ICAgICAgICAgICAgICAgdGhlIHNwYXduZWQgY29tbWFuZFxuIik7DQo+DQo+ICAgICAgIHBhc3N0 X2V4aXQoc3RhdHVzKTsNCj4gIH0NCj4gQEAgLTExODMsNiArMTE4NSw3MSBAQCBpbnQgY29uZl90 YXBfZmQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQ0KPiAgICAgICByZXR1cm4gdmFsOw0KPiAgfQ0K Pg0KPiArLyoqDQo+ICsgKiBjb25mX3Bhc3NfZmRzKCkgLSBSZWFkIGZkcyBhcyBzdXBwbGllZCBi eSAtLXBhc3MtZmRzIGNvbW1hbmQgbGluZSBvcHRpb24NCj4gKyAqIEBhcmdjOiAgICBBcmd1bWVu dCBjb3VudA0KPiArICogQGFyZ3Y6ICAgIENvbW1hbmQgbGluZSBvcHRpb25zDQo+ICsgKiBAZmRz OiAgICAgQXJyYXkgd2hlcmUgd2Ugc3RvcmUgdGhlIHBhcnNlZCBmZHMNCj4gKyAqIEBtYXhfZmRz OiBNYXhpbXVtIHNpemUgb2YgdGhlIGFycmF5DQo+ICsgKg0KPiArICogUmV0dXJuOiBudW1iZXIg b2YgcGFyc2VkIGZkcywgb3IgLTEgaWYgb3B0aW9uIG5vdCBzcGVjaWZpZWQNCj4gKyAqLw0KPiAr aW50IGNvbmZfcGFzc19mZHMoaW50IGFyZ2MsIGNoYXIgKiphcmd2LCBpbnQgKmZkcywgaW50IG1h eF9mZHMpDQo+ICt7DQo+ICsgICAgIGNvbnN0IHN0cnVjdCBvcHRpb24gb3B0W10gPSB7IHsgInBh c3MtZmRzIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIDMzIH0sDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsgMCB9LCB9Ow0KDQpJJ2QgYmUgaW5jbGluZWQgdG8gcGFy c2UgLS1mZCBhbmQgLS1wYXNzLWZkcyBpbiBhIHNpbmdsZSBlYXJseSBwYXNzLA0KcmF0aGVyIHRo YW4gaW4gdHdvIGZ1bmN0aW9ucw0Kc2luY2Ugd2UgbmVlZCB0aGVtIGF0IHRoZSBzYW1lIHRpbWUN Cg0KPiArICAgICBjb25zdCBjaGFyICpmZHNhcmcgPSBOVUxMOw0KPiArICAgICBpbnQgbmFtZSwg ZmRzX2NudCA9IDA7DQo+ICsgICAgIGludCBvbGRfb3B0ZXJyOw0KPiArDQo+ICsgICAgIG9sZF9v cHRlcnIgPSBvcHRlcnI7DQoNClVtLi4gd2h5PyAgZ2V0b3B0X2xvbmcoKSBpcyB0aG9yb3VnaGx5 IG5vbi1yZWVudHJhbnQgYW5kIHNhdmluZyB0aGUNCmVycm9yIGNvZGUgaXNuJ3QgZ29pbmcgdG8g bWFrZSBpdCBzby4NCg0KPiArICAgICBvcHRlcnIgPSAwOw0KPiArICAgICBvcHRpbmQgPSAwOw0K PiArICAgICBkbyB7DQo+ICsgICAgICAgICAgICAgbmFtZSA9IGdldG9wdF9sb25nKGFyZ2MsIGFy Z3YsICItOiIsIG9wdCwgTlVMTCk7DQo+ICsgICAgICAgICAgICAgaWYgKG5hbWUgPT0gMzMpDQo+ ICsgICAgICAgICAgICAgICAgICAgICBmZHNhcmcgPSBvcHRhcmc7DQo+ICsgICAgIH0gd2hpbGUg KG5hbWUgIT0gLTEpOw0KPiArICAgICBvcHRlcnIgPSBvbGRfb3B0ZXJyOw0KPiArDQo+ICsgICAg IGlmICghZmRzYXJnKQ0KPiArICAgICAgICAgICAgIHJldHVybiAtMTsNCj4gKw0KPiArICAgICBj b25zdCBjaGFyICpvcmlnX2Zkc2FyZyA9IGZkc2FyZzsNCg0KQWx0aG91Z2ggaXQncyBwZXJtaXR0 ZWQgYnkgQzExIHdlIGRvbid0IHVzZSBpbmxpbmUgZGVjbGFyYXRpb25zLCBieQ0KY29udmVudGlv bi4NCg0KPiArICAgICB3aGlsZSAoKmZkc2FyZykgew0KPiArICAgICAgICAgICAgIHVuc2lnbmVk IGxvbmcgdmFsOw0KPiArICAgICAgICAgICAgIGNoYXIgKmVuZHB0cjsNCj4gKw0KPiArICAgICAg ICAgICAgIHZhbCA9IHN0cnRvdWwoZmRzYXJnLCAmZW5kcHRyLCAxMCk7DQo+ICsgICAgICAgICAg ICAgaWYgKGZkc2FyZyA9PSBlbmRwdHIpIHsNCj4gKyAgICAgICAgICAgICAgICAgICAgIGRpZSgi SW52YWxpZCBjaGFyYWN0ZXIgaW4gLS1wYXNzLWZkcyBvcHRpb24gJyVzJyAobmVhciAnJXMnKSIs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ19mZHNhcmcsIGZkc2FyZyk7DQo+ICsg ICAgICAgICAgICAgfQ0KDQpUaGUgcmVjZW50bHkgYWRkZWQgcGFyc2VfdW5zaWduZWQoKSBhbmQg cmVsYXRlZCBmdW5jdGlvbnMgY2FuIGRvIHRoaXMNCm1vcmUgbmljZWx5LiAgQnV0Li4gaXQgYWxz byBvY2N1cnMgdG8gbWUgdGhhdCBoYXZpbmcgdGhlIG1vZGVyYXRlbHkNCmNvbXBsZXggcGFyc2lu ZyBvZiBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IGlzIHVubmVjZXNzYXJ5LiAgU2VlbXMNCnNpbXBs ZXIgdG8gY2hhbmdlIGl0IHRvIC0tcGFzcy1mZCwgd2hpY2ggdGFrZXMgb25seSBhIHNpbmdsZSBm ZCwgYW5kDQpjYW4gYmUgc3BlY2lmaWVkIG11bHRpcGxlIHRpbWVzLg0KDQo+ICsNCj4gKyAgICAg ICAgICAgICBpZiAodmFsID4gSU5UX01BWCkgew0KPiArICAgICAgICAgICAgICAgICAgICAgZGll KCJJbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBpbiAtLXBhc3MtZmRzIG9wdGlvbiAnJXMnIChuZWFy ICclcycpIiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICBvcmlnX2Zkc2FyZywgZmRzYXJn KTsNCj4gKyAgICAgICAgICAgICB9DQo+ICsNCj4gKyAgICAgICAgICAgICBpZiAoZmRzX2NudCA+ PSBtYXhfZmRzKQ0KPiArICAgICAgICAgICAgICAgICAgICAgZGllKCJUb28gbWFueSBmaWxlIGRl c2NyaXB0b3JzIGluIC0tcGFzcy1mZHMiKTsNCj4gKw0KPiArICAgICAgICAgICAgIGZkc1tmZHNf Y250KytdID0gKGludCl2YWw7DQo+ICsNCj4gKyAgICAgICAgICAgICBpZiAoKmVuZHB0ciA9PSAn LCcpDQo+ICsgICAgICAgICAgICAgICAgICAgICBmZHNhcmcgPSBlbmRwdHIgKyAxOw0KPiArICAg ICAgICAgICAgIGVsc2UgaWYgKCplbmRwdHIgPT0gJ1wwJykNCj4gKyAgICAgICAgICAgICAgICAg ICAgIGZkc2FyZyA9IGVuZHB0cjsNCj4gKyAgICAgICAgICAgICBlbHNlIHsNCj4gKyAgICAgICAg ICAgICAgICAgICAgIGRpZSgiSW52YWxpZCBjaGFyYWN0ZXIgaW4gLS1wYXNzLWZkcyBvcHRpb24g JyVzJyAobmVhciAnJXMnKSIsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ19mZHNh cmcsIGVuZHB0cik7DQo+ICsgICAgICAgICAgICAgfQ0KPiArICAgICB9DQo+ICsNCj4gKyAgICAg cmV0dXJuIGZkc19jbnQ7DQo+ICt9DQo+ICsNCj4gIC8qKg0KPiAgICogY29uZl9hZGRyKCkgLSBD b25maWd1cmUgZ3Vlc3QgYWRkcmVzcyB3aXRoIC1hIG9wdGlvbg0KPiAgICogQGM6ICAgICAgICAg ICAgICAgRXhlY3V0aW9uIGNvbnRleHQNCj4gQEAgLTEzMzEsNiArMTM5OCw3IEBAIHZvaWQgY29u ZihzdHJ1Y3QgY3R4ICpjLCBpbnQgYXJnYywgY2hhciAqKmFyZ3YpDQo+ICAgICAgICAgICAgICAg eyJzdGF0cyIsIHJlcXVpcmVkX2FyZ3VtZW50LCAgICAgICAgICAgIE5VTEwsICAgICAgICAgICAz MSB9LA0KPiAgICAgICAgICAgICAgIHsiY29uZi1wYXRoIiwgICByZXF1aXJlZF9hcmd1bWVudCwg ICAgICBOVUxMLCAgICAgICAgICAgJ2MnIH0sDQo+ICAgICAgICAgICAgICAgeyJjaHJvb3QtZmFs bGJhY2siLCBub19hcmd1bWVudCwgICAgICAgIE5VTEwsICAgICAgICAgICAzMiB9LA0KPiArICAg ICAgICAgICAgIHsicGFzcy1mZHMiLCAgICByZXF1aXJlZF9hcmd1bWVudCwgICAgICBOVUxMLCAg ICAgICAgICAgMzMgfSwNCj4gICAgICAgICAgICAgICB7IDAgfSwNCj4gICAgICAgfTsNCj4gICAg ICAgY29uc3QgY2hhciAqb3B0c3RyaW5nID0gIitkcWZlbDpoczpjOkY6STpwOlA6bTphOm46TTpn Omk6bzpEOlM6SDo0NjF0OnU6VDpVOiI7DQo+IEBAIC0xNTcyLDYgKzE2NDAsMTAgQEAgdm9pZCBj b25mKHN0cnVjdCBjdHggKmMsIGludCBhcmdjLCBjaGFyICoqYXJndikNCj4gICAgICAgICAgICAg ICBjYXNlIDMyOg0KPiAgICAgICAgICAgICAgICAgICAgICAgYy0+Y2hyb290X2ZhbGxiYWNrID0g dHJ1ZTsNCj4gICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KPiArICAgICAgICAgICAgIGNh c2UgMzM6DQo+ICsgICAgICAgICAgICAgICAgICAgICBpZiAoYy0+bW9kZSAhPSBNT0RFX1BBU1RB KQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWUoIi0tcGFzcy1mZHMgaXMgZm9y IHBhc3RhIG1vZGUgb25seSIpOw0KPiArICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQo+ICAg ICAgICAgICAgICAgY2FzZSAnZCc6DQo+ICAgICAgICAgICAgICAgICAgICAgICBjLT5kZWJ1ZyA9 IDE7DQo+ICAgICAgICAgICAgICAgICAgICAgICBjLT5xdWlldCA9IDA7DQo+IGRpZmYgLS1naXQg YS9jb25mLmggYi9jb25mLmgNCj4gaW5kZXggMTliZjliYy4uMjhhOWFjYyAxMDA2NDQNCj4gLS0t IGEvY29uZi5oDQo+ICsrKyBiL2NvbmYuaA0KPiBAQCAtNiw3ICs2LDEwIEBADQo+ICAjaWZuZGVm IENPTkZfSA0KPiAgI2RlZmluZSBDT05GX0gNCj4NCj4gKyNkZWZpbmUgUEFTU19GRFNfTUFYIDEw MjQNCj4gKw0KPiAgZW51bSBwYXNzdF9tb2RlcyBjb25mX21vZGUoaW50IGFyZ2MsIGNoYXIgKmFy Z3ZbXSk7DQo+ICtpbnQgY29uZl9wYXNzX2ZkcyhpbnQgYXJnYywgY2hhciAqKmFyZ3YsIGludCAq ZmRzLCBpbnQgbWF4X2Zkcyk7DQo+ICBpbnQgY29uZl90YXBfZmQoaW50IGFyZ2MsIGNoYXIgKiph cmd2KTsNCj4gIHZvaWQgY29uZihzdHJ1Y3QgY3R4ICpjLCBpbnQgYXJnYywgY2hhciAqKmFyZ3Yp Ow0KPiAgdm9pZCBjb25mX2xpc3Rlbl9oYW5kbGVyKHN0cnVjdCBjdHggKmMsIHVpbnQzMl90IGV2 ZW50cyk7DQo+IGRpZmYgLS1naXQgYS9pc29sYXRpb24uYyBiL2lzb2xhdGlvbi5jDQo+IGluZGV4 IDk0Y2JlN2YuLjI1ZjU5OWIgMTAwNjQ0DQo+IC0tLSBhL2lzb2xhdGlvbi5jDQo+ICsrKyBiL2lz b2xhdGlvbi5jDQo+IEBAIC0yNDksMzIgKzI0OSw3NyBAQCB2b2lkIGlzb2xhdGVfaW5pdGlhbCh2 b2lkKQ0KPiAgfQ0KPg0KPiAgLyoNCj4gLSAqIGlzb2xhdGVfZmRzKCkgLSBDbG9zZSBsZWFrZWQg ZmlsZXMsIGJ1dCBub3QgLS1mZCwgc3RkaW4sIHN0ZG91dCwgc3RkZXJyDQo+ICsgKiBpc29sYXRl X2ZkcygpIC0gQ2xvc2UgbGVha2VkIGZpbGVzLCBidXQgbm90IC0tZmQsIC0tcGFzcy1mZHMsIHN0 YW5kYXJkIHN0cmVhbXMNCj4gICAqIEBhcmdjOiAgICBBcmd1bWVudCBjb3VudA0KPiAtICogQGFy Z3Y6ICAgIENvbW1hbmQgbGluZSBvcHRpb25zLCBhcyB3ZSBuZWVkIHRvIHNraXAgYW55IGZpbGUg Z2l2ZW4gdmlhIC0tZmQNCj4gKyAqIEBhcmd2OiAgICBDb21tYW5kIGxpbmUgb3B0aW9ucw0KPiAg ICoNCj4gICAqIFNob3VsZDoNCj4gLSAqICAtIGNsb3NlIGFsbCBvcGVuIGZpbGVzIGV4Y2VwdCBm b3Igc3RhbmRhcmQgc3RyZWFtcyBhbmQgdGhlIG9uZSBmcm9tIC0tZmQNCj4gKyAqICAtIGNsb3Nl IGFsbCBvcGVuIGZpbGVzIGV4Y2VwdCBmb3Igc3RhbmRhcmQgc3RyZWFtcywgLS1mZCwgYW5kIC0t cGFzcy1mZHMNCj4gICAqICAtIG1vdmUgdGhlIC0tZmQgZGVzY3JpcHRvciBvdXQgb2YgdGhlIHJh bmdlIDAtMg0KPiAgICoNCj4gICAqIFJldHVybjogbmV3IGZkIG51bWJlciBmb3IgZGVzY3JpcHRv ciBmcm9tIC0tZmQsIG9yIC0xIGlmIG5vdCBzcGVjaWZpZWQNCj4gICAqLw0KPiAgaW50IGlzb2xh dGVfZmRzKGludCBhcmdjLCBjaGFyICoqYXJndikNCj4gIHsNCj4gLSAgICAgaW50IGZkLCBjbG9z ZV9mcm9tID0gU1RERVJSX0ZJTEVOTyArIDE7DQo+ICsgICAgIGludCBmZHNbUEFTU19GRFNfTUFY ICsgMV07DQo+ICsgICAgIGludCBmZHNfY250ID0gMDsNCj4gKyAgICAgaW50IHByZXZfZmQ7DQo+ ICsgICAgIGludCBuZXh0X2ZkOw0KPiArICAgICBpbnQgdGFwX2ZkOw0KPiArICAgICBpbnQgcmMg PSAwOw0KPiArICAgICBpbnQgaTsNCj4gKw0KPiArICAgICB0YXBfZmQgPSBjb25mX3RhcF9mZChh cmdjLCBhcmd2KTsNCj4gKyAgICAgaWYgKHRhcF9mZCA+PSAwICYmIHRhcF9mZCA8IDMpIHsNCg0K VXNlIFNURCpfRklMRU5PIGNvbnN0YW50cy4NCg0KPiArICAgICAgICAgICAgIC8qIE1vdmUgdGhl IHRhcCBmZCB0byBhIHNhZmVyIGxvY2F0aW9uICovDQo+ICsgICAgICAgICAgICAgaW50IG5ld19m ZCA9IGZjbnRsKHRhcF9mZCwgRl9EVVBGRCwgU1RERVJSX0ZJTEVOTyArIDEpOw0KPiArDQo+ICsg ICAgICAgICAgICAgaWYgKG5ld19mZCA8IDApDQo+ICsgICAgICAgICAgICAgICAgICAgICBkaWVf cGVycm9yKCJDb3VsZCBub3QgcmVsb2NhdGUgLS1mZCBkZXNjcmlwdG9yIik7DQo+ICsNCj4gKyAg ICAgICAgICAgICBjbG9zZSh0YXBfZmQpOw0KPiArICAgICAgICAgICAgIHRhcF9mZCA9IG5ld19m ZDsNCj4gKyAgICAgfQ0KPiArDQo+ICsgICAgIGlmICh0YXBfZmQgPj0gMCkNCj4gKyAgICAgICAg ICAgICAvKiBLZWVwIHRoZSB0YXAgZmQgKi8NCj4gKyAgICAgICAgICAgICBmZHNbZmRzX2NudCsr XSA9IHRhcF9mZDsNCj4gKw0KPiArICAgICByYyA9IGNvbmZfcGFzc19mZHMoYXJnYywgYXJndiwg ZmRzICsgZmRzX2NudCwgUEFTU19GRFNfTUFYKTsNCg0KVGhpcyBpcyBvbmx5IGNvcnJlY3QgYmVj YXVzZSBmZHNfY250IGNhbid0IGV4Y2VlZCAxIGF0IHRoaXMgcG9pbnQsDQp3aGljaCBpcyBkYW5n ZXJvdXNseSBzdWJ0bGUuICBJdCB3b3VsZCBwcm9iYWJseSBiZSBtb3JlIG5hdHVyYWwgdG8NCnBh cnNlIC0tcGFzcy1mZHMgZmlyc3QsIHRoZW4gYXBwZW5kIC0tZmQuDQoNCj4gKyAgICAgaWYgKHJj ID4gMCkNCj4gKyAgICAgICAgICAgICAvKiBLZWVwIHRoZSBwYXNzLWZkcyAqLw0KPiArICAgICAg ICAgICAgIGZkc19jbnQgKz0gcmM7DQo+DQo+IC0gICAgIGZkID0gY29uZl90YXBfZmQoYXJnYywg YXJndik7DQo+ICsgICAgIHJjID0gMDsNCj4NCj4gLSAgICAgaWYgKGZkID49IDApIHsNCj4gLSAg ICAgICAgICAgICAvKiBNb3ZlIHRoZSBwYXNzZWQgZmQgdG8gYSBtb3JlIGNvbnZlbmllbnQgbG9j YXRpb24gKi8NCj4gLSAgICAgICAgICAgICBpZiAoZmQgIT0gY2xvc2VfZnJvbSAgICAgICAgICAg ICAgICAgICAgJiYNCj4gLSAgICAgICAgICAgICAgICAgKGR1cDIoZmQsIGNsb3NlX2Zyb20pICE9 IGNsb3NlX2Zyb20gfHwNCj4gLSAgICAgICAgICAgICAgICAgIGNsb3NlKGZkKSkpDQo+IC0gICAg ICAgICAgICAgICAgICAgICBkaWVfcGVycm9yKCJDb3VsZCBub3QgbW92ZSAtLWZkIGRlc2NyaXB0 b3IiKTsNCj4gLSAgICAgICAgICAgICBmZCA9IGNsb3NlX2Zyb20rKzsNCj4gKyAgICAgLyogS2Vl cCBzdGFuZGFyZCBzdHJlYW1zICovDQo+ICsgICAgIHByZXZfZmQgPSBTVERFUlJfRklMRU5POw0K PiArDQo+ICsgICAgIHdoaWxlICgxKSB7DQo+ICsgICAgICAgICAgICAgbmV4dF9mZCA9IC0xOw0K PiArDQo+ICsgICAgICAgICAgICAgLyogRmluZCB0aGUgbmV4dC1sb3dlc3QgZmQgdG8ga2VlcCAq Lw0KPiArICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBmZHNfY250OyBpKyspIHsNCj4gKyAg ICAgICAgICAgICAgICAgICAgIGlmIChmZHNbaV0gPiBwcmV2X2ZkICYmIChuZXh0X2ZkID09IC0x IHx8IGZkc1tpXSA8IG5leHRfZmQpKQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBu ZXh0X2ZkID0gZmRzW2ldOw0KPiArICAgICAgICAgICAgIH0NCj4gKw0KPiArICAgICAgICAgICAg IGlmIChuZXh0X2ZkID09IC0xKQ0KPiArICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQo+ICsN Cj4gKyAgICAgICAgICAgICBpZiAobmV4dF9mZCA+IHByZXZfZmQgKyAxKSB7DQo+ICsgICAgICAg ICAgICAgICAgICAgICAvKiBDbG9zZSBmZHMgYmV0d2VlbiB0d28ga2VwdCBmZHMgKi8NCj4gKyAg ICAgICAgICAgICAgICAgICAgIGlmIChjbG9zZV9yYW5nZShwcmV2X2ZkICsgMSwgbmV4dF9mZCAt IDEsIENMT1NFX1JBTkdFX1VOU0hBUkUpKQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICByYyA9IC0xOw0KPiArICAgICAgICAgICAgIH0NCj4gKyAgICAgICAgICAgICBwcmV2X2ZkID0g bmV4dF9mZDsNCj4gICAgICAgfQ0KPiArDQo+ICsgICAgIC8qIENsb3NlIGFsbCBvdGhlciBmZHMg Ki8NCj4gKyAgICAgaWYgKGNsb3NlX3JhbmdlKHByZXZfZmQgKyAxLCB+MFUsIENMT1NFX1JBTkdF X1VOU0hBUkUpKQ0KPiArICAgICAgICAgICAgIHJjID0gLTE7DQo+DQo+IC0gICAgIGlmIChjbG9z ZV9yYW5nZShjbG9zZV9mcm9tLCB+MFUsIENMT1NFX1JBTkdFX1VOU0hBUkUpKSB7DQo+ICsgICAg IGlmIChyYykgew0KPiAgICAgICAgICAgICAgIGlmIChlcnJubyA9PSBFTk9TWVMgfHwgZXJybm8g PT0gRUlOVkFMKSB7DQoNCklmIHRoZSBmYWlsdXJlIHdhcyBub3QgaW4gdGhlIGxhc3QgY2xvc2Vf cmFuZ2UoKSwgZXJybm8gaGFzIGJlZW4NCmNsb2JiZXJlZCBiZWZvcmUgeW91IHRlc3QgaXQgaGVy ZS4NCg0KSXQncyBhIGJpdCBzaW1wbGVyIHRoYW4gdGhlIGVhcmxpZXIgdmVyc2lvbiwgYnV0IHRo aXMgc3RpbGwgc2VlbXMgdmVyeQ0KaW52b2x2ZWQgZm9yIHNvbWV0aGluZyB0aGF0IGNhbiBiZSBh dm9pZGVkIGJ5IGEgZGlmZmVyZW50IHdheSBvZg0KaW52b2tpbmcgeW91ciBwcm9ncmFtLg0KDQo+ ICAgICAgICAgICAgICAgICAgICAgICAvKiBUaGlzIHByb2JhYmx5IG1lYW5zIGNsb3NlX3Jhbmdl KCkgb3IgdGhlDQo+ICAgICAgICAgICAgICAgICAgICAgICAgKiBDTE9TRV9SQU5HRV9VTlNIQVJF IGZsYWcgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUNCj4gQEAgLTI4OCw3ICszMzMsNyBAQCBpbnQg aXNvbGF0ZV9mZHMoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQ0KPiAgICAgICAgICAgICAgIH0NCj4g ICAgICAgfQ0KPg0KPiAtICAgICByZXR1cm4gZmQ7DQo+ICsgICAgIHJldHVybiB0YXBfZmQ7DQo+ ICB9DQo+DQo+ICAvKioNCj4gZGlmZiAtLWdpdCBhL3Bhc3N0LjEgYi9wYXNzdC4xDQo+IGluZGV4 IDk5NTU5MGEuLmJjZDNhZmYgMTAwNjQ0DQo+IC0tLSBhL3Bhc3N0LjENCj4gKysrIGIvcGFzc3Qu MQ0KPiBAQCAtNzU1LDYgKzc1NSwxMSBAQCBvZiBsb2NhbCB0cmFmZmljIGluIHBhc3RhXGZSIGlu IHRoZSBcZkJOT1RFU1xmUiBmb3IgbW9yZSBkZXRhaWxzLg0KPiAgRG8gbm90IGNyZWF0ZSBhIHRh cCBkZXZpY2UgaW4gdGhlIG5hbWVzcGFjZS4gSW4gdGhpcyBtb2RlLCBcZklwYXN0YVxmUiBvbmx5 DQo+ICBmb3J3YXJkcyBsb29wYmFjayB0cmFmZmljIGJldHdlZW4gbmFtZXNwYWNlcy4NCj4NCj4g Ky5UUA0KPiArLkJSIFwtXC1wYXNzXC1mZHMgIiAiIFxmSWZkc1xmUg0KPiArUGFzcyBhIGNvbW1h LXNlcGFyYXRlZCBsaXN0IG9mIGZpbGUgZGVzY3JpcHRvcnMgdG8gdGhlIHNwYXduZWQgY29tbWFu ZC4NCj4gK1RoZXNlIGZpbGUgZGVzY3JpcHRvcnMgd2lsbCBiZSBrZXB0IG9wZW4uDQoNCiJXaWxs IGJlIGtlcHQgb3BlbiIgaXMgbm90IG5lY2Vzc2FyaWx5IHZlcnkgY2xlYXIgdG8gdGhlIGF1ZGll bmNlIG9mDQp0aGlzIGRvY3VtZW50Lg0KDQpJdCdzIGFsc28gdHJ1ZSBpbiBhIHdheSB0aGF0IGlz bid0IGlkZWFsIC0gZXZlbiBhZnRlciB3ZSd2ZSBmb3JrKCllZA0Kb2ZmIHRoZSBjb21tYW5kLCB3 ZSBkb24ndCBjbG9zZSgpIHRoZSByZW1haW5pbmcgZmRzLCB3ZWFrZW5pbmcgbW9yZQ0KdGhhbiBz dHJpY3RseSBuZWNlc3NhcnkgdGhlIHNlY3VyaXR5IGJlbmVmaXRzIG9mIGlzb2xhdGVfZmRzKCku DQoNCj4gKw0KPiAgLlNIIEVYQU1QTEVTDQo+DQo+ICAuU1MgXGZCcGFzdGENCj4gLS0NCj4gMi41 Mi4wDQo+DQoNCi0tDQpEYXZpZCBHaWJzb24gKGhlIG9yIHRoZXkpICAgICAgIHwgSSdsbCBoYXZl IG15IG11c2ljIGJhcm9xdWUsIGFuZCBteSBjb2RlDQpkYXZpZCBBVCBnaWJzb24uZHJvcGJlYXIu aWQuYXUgIHwgbWluaW1hbGlzdCwgdGhhbmsgeW91LCBub3QgdGhlIG90aGVyIHdheQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFyb3VuZC4NCmh0dHA6Ly93d3cub3psYWJzLm9y Zy9+ZGdpYnNvbg0KDQo= --_000_DM3PR11MB87130E6E4965562A18326228DAC22DM3PR11MB8713namp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgc3R5bGU9 ImRpc3BsYXk6bm9uZTsiPiBQIHttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO30gPC9zdHls ZT4NCjwvaGVhZD4NCjxib2R5IGRpcj0ibHRyIj4NCjxkaXYgY2xhc3M9ImVsZW1lbnRUb1Byb29m IiBzdHlsZT0iZm9udC1mYW1pbHk6IEFwdG9zLCBBcHRvc19FbWJlZGRlZEZvbnQsIEFwdG9zX01T Rm9udFNlcnZpY2UsIENhbGlicmksIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAx MnB0OyBjb2xvcjogcmdiKDAsIDAsIDApOyI+DQpIZWxsbyBEYXZpZCwmbmJzcDs8L2Rpdj4NCjxk aXYgY2xhc3M9ImVsZW1lbnRUb1Byb29mIiBzdHlsZT0iZm9udC1mYW1pbHk6IEFwdG9zLCBBcHRv c19FbWJlZGRlZEZvbnQsIEFwdG9zX01TRm9udFNlcnZpY2UsIENhbGlicmksIEhlbHZldGljYSwg c2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMnB0OyBjb2xvcjogcmdiKDAsIDAsIDApOyI+DQo8YnI+ DQo8L2Rpdj4NCjxkaXYgY2xhc3M9ImVsZW1lbnRUb1Byb29mIiBzdHlsZT0iZm9udC1mYW1pbHk6 IEFwdG9zLCBBcHRvc19FbWJlZGRlZEZvbnQsIEFwdG9zX01TRm9udFNlcnZpY2UsIENhbGlicmks IEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMnB0OyBjb2xvcjogcmdiKDAsIDAs IDApOyI+DQpUaGFuayB5b3UgZm9yIHlvdXIgZmVlZGJhY2suIEkgc2VlIHlvdXIgcG9pbnQgdGhh dCBJIGhhdmVuJ3QgbWFkZSB0aGUgY2FzZSB3aHkgdGhpcyBmZWF0dXJlIGlzIHdvcnRod2hpbGUu IEkgd291bGQgbGlrZSB0byBleHBsYWluIGhvdyBJIGNhbWUgdG8gbXkgcG9zaXRpb24uJm5ic3A7 PC9kaXY+DQo8ZGl2IGNsYXNzPSJlbGVtZW50VG9Qcm9vZiIgc3R5bGU9ImZvbnQtZmFtaWx5OiBB cHRvcywgQXB0b3NfRW1iZWRkZWRGb250LCBBcHRvc19NU0ZvbnRTZXJ2aWNlLCBDYWxpYnJpLCBI ZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsgY29sb3I6IHJnYigwLCAwLCAw KTsiPg0KPGJyPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJlbGVtZW50VG9Qcm9vZiIgc3R5bGU9ImZv bnQtZmFtaWx5OiBBcHRvcywgQXB0b3NfRW1iZWRkZWRGb250LCBBcHRvc19NU0ZvbnRTZXJ2aWNl LCBDYWxpYnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsgY29sb3I6 IHJnYigwLCAwLCAwKTsiPg0KSSB3YW50IHRvIGRvIGJ1YmJsZXdyYXAgKyBwYXN0YSBzbyB0aGF0 IEkgY2FuIGdpdmUgbXkgcGVyc29uYWwgYWdlbnQgc2FuZGJveGVkIGNvZGUgZXhlY3V0aW9uIHRv IHN1cHBvcnQgU0tJTExTLm1kIGV4dGVuc2lvbnMuIEEgdmVyeSBjb21tb24gcGF0dGVybiBpbiBT S0lMTFMubWQgaXMgcHl0aG9uIGNvZGUgd2l0aCBpbmxpbmUgc2NyaXB0IG1ldGFkYXRhIGRlcGVu ZGVuY2llcyBzbyB0aGF0DQo8Y29kZT51dng8L2NvZGU+Jm5ic3A7Y2FuIGdlbmVyYXRlIGVwaGVt ZXJhbCB2aXJ0dWFsIGVudmlyb25tZW50cyBvbiBkZW1hbmQgdG8gcnVuIHRoZSBzY3JpcHRzLiBU aGlzIHN0cmF0ZWd5IHJlcXVpcmVzIGdyYW50aW5nIGFjY2VzcyB0byB0aGUgaW50ZXJuZXQsIGJ1 dCBJIHN0aWxsIHdhbnQgdG8gZGVueSBhY2Nlc3MgdG8gcG9ydHMgb24gbG9jYWxob3N0LiBJIGRv bid0IHdhbnQgYSBjb25mdXNlZCBhZ2VudCBvciBtYWxpY2lvdXMgdGhpcmQgcGFydHkNCiBzY3Jp cHRzIHRvIGhhdmUgdGhlIG9wcG9ydHVuaXR5IHRvIHRpbmtlciB3aXRoIG90aGVyIHNlcnZpY2Vz IHJ1bm5pbmcgb24gbXkgbWFjaGluZSBvciB0aG9zZSBvZiBteSBvZmZpY2UgbmVpZ2hib3JzLiBQ YXN0YSBzZWVtZWQgbGlrZSB0aGUgcmlnaHQgdG9vbCBmb3IgdGhlIGpvYi4gSXQgY2FuIGRpc3Rp bmd1aXNoIGJldHdlZW4gbG9jYWwgYXJlYSBhbmQgd2lkZSBhcmVhIG91dGJvdW5kIHRyYWZmaWMu Jm5ic3A7PC9kaXY+DQo8ZGl2IGNsYXNzPSJlbGVtZW50VG9Qcm9vZiIgc3R5bGU9ImZvbnQtZmFt aWx5OiBBcHRvcywgQXB0b3NfRW1iZWRkZWRGb250LCBBcHRvc19NU0ZvbnRTZXJ2aWNlLCBDYWxp YnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsgY29sb3I6IHJnYigw LCAwLCAwKTsiPg0KPGJyPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJlbGVtZW50VG9Qcm9vZiIgc3R5 bGU9ImZvbnQtZmFtaWx5OiBBcHRvcywgQXB0b3NfRW1iZWRkZWRGb250LCBBcHRvc19NU0ZvbnRT ZXJ2aWNlLCBDYWxpYnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsg Y29sb3I6IHJnYigwLCAwLCAwKTsiPg0KSSB0cmllZCBtYW55LCBtYW55IGNvbWJpbmF0aW9ucyBm b3IgZ2V0dGluZyBid3JhcCBhbmQgcGFzdGEgdG8gZ2V0IGFsb25nLiZuYnNwOzwvZGl2Pg0KPGRp diBjbGFzcz0iZWxlbWVudFRvUHJvb2YiIHN0eWxlPSJmb250LWZhbWlseTogQXB0b3MsIEFwdG9z X0VtYmVkZGVkRm9udCwgQXB0b3NfTVNGb250U2VydmljZSwgQ2FsaWJyaSwgSGVsdmV0aWNhLCBz YW5zLXNlcmlmOyBmb250LXNpemU6IDEycHQ7IGNvbG9yOiByZ2IoMCwgMCwgMCk7Ij4NCjxicj4N CjwvZGl2Pg0KPGRpdiBjbGFzcz0iZWxlbWVudFRvUHJvb2YiIHN0eWxlPSJmb250LWZhbWlseTog QXB0b3MsIEFwdG9zX0VtYmVkZGVkRm9udCwgQXB0b3NfTVNGb250U2VydmljZSwgQ2FsaWJyaSwg SGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEycHQ7IGNvbG9yOiByZ2IoMCwgMCwg MCk7Ij4NCkkgYXNzdW1lIHRoYXQgcGFzdGEgc2hvdWxkIGJlIHJ1bm5pbmcgYmVmb3JlIHRoZSBz YW5kYm94ZWQgY29tbWFuZCBiZWdpbnMgdG8gcnVuIGluIHRoZSBjb250YWluZXIsIHNpbmNlIGFs bW9zdCB0aGUgZmlyc3QgdGhpbmcgdGhhdCB3b3VsZCBoYXBwZW4gaXMgdGhlIHBhY2thZ2UgbWFu YWdlcg0KPGNvZGU+dXY8L2NvZGU+IHJlYWNoaW5nIG91dCB0byB0aGUgaW50ZXJuZXQgdG8gZ2F0 aGVyIHRoZSBzY3JpcHQncyBkZXBlbmRlbmNpZXMuIElmIHBhc3RhIGpvaW5zIHRoZSBuYW1lc3Bh Y2UgY3JlYXRlZCBieSBid3JhcCwgdGhlbiBJIGhhdmUgdG8gc29tZWhvdyBkZWxheSB0aGUgc3Rh cnQgb2YgdGhlIHNjcmlwdCBleGVjdXRpb24gdW50aWwgcGFzdGEgc2lnbmFscyB0aGF0IGl0IGlz IHJlYWR5LiBUaGF0IGlzIGEgdmVyeSBzY2FyeSBwcm9wb3NpdGlvbg0KIHRvIG1lOyBJIGFtIG5v dCBzdXJlIGhvdyBJIHdvdWxkIGRvIGl0IGV2ZW4gaW4gdGhlb3J5LiBTbyB0aGF0IG1ha2VzIG1l IHdhbnQgdG8gc3RhcnQgcGFzdGEgZmlyc3QgYW5kIHRoZW4gc3RhcnQgYnViYmxld3JhcC4mbmJz cDs8L2Rpdj4NCjxkaXYgY2xhc3M9ImVsZW1lbnRUb1Byb29mIiBzdHlsZT0iZm9udC1mYW1pbHk6 IEFwdG9zLCBBcHRvc19FbWJlZGRlZEZvbnQsIEFwdG9zX01TRm9udFNlcnZpY2UsIENhbGlicmks IEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMnB0OyBjb2xvcjogcmdiKDAsIDAs IDApOyI+DQo8YnI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9ImVsZW1lbnRUb1Byb29mIiBzdHlsZT0i Zm9udC1mYW1pbHk6IEFwdG9zLCBBcHRvc19FbWJlZGRlZEZvbnQsIEFwdG9zX01TRm9udFNlcnZp Y2UsIENhbGlicmksIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMnB0OyBjb2xv cjogcmdiKDAsIDAsIDApOyI+DQpPbiB0aGUgb3RoZXIgaGFuZCwgc2luY2UgYndyYXAgY2FuJ3Qg eWV0IGpvaW4gZXhpc3RpbmcgbmV0d29yayBuYW1lc3BhY2VzLCBpdCB0dXJuZWQgb3V0IHRvIGJl IGEgcmVhbGx5IGRpZmZpY3VsdCBwcm9ibGVtLiBJIHRyaWVkIHdyYXBwaW5nIGJ1YmJsZXdyYXAg aW4gbnNlbnRlciwgYnV0IHRoYXQgZXhwb3NlZCBhIHJlYWxseSBzdWJ0bGUgaXNzdWUgd2l0aCBu ZXN0ZWQgbmFtZXNwYWNlcy4gSSBkb24ndCAxMDAlIHVuZGVyc3RhbmQgaXQsIGJ1dA0KIGluIHNo b3J0LCBpbm5lciBuYW1lc3BhY2VzIHRlbmQgdG8gaW1wbGljaXR5IGRyb3AgY2FwYWJpbGl0aWVz IGlmIHRoZXkgYXJlbid0IHZlcnkgcHJlY2lzZWx5IG1hbmFnZWQuIFNvIHRoZSByZXN1bHQgb2Yg bXkgYXR0ZW1wdCB3YXMgdGhhdCBzb21lIGNvbW1hbmRzIGxpa2UNCjxjb2RlPnBpbmc8L2NvZGU+ Jm5ic3A7d291bGQgbm90IHdvcmsgaW5zaWRlIHRoZSBpbm5lciBuYW1lc3BhY2UgYmVjYXVzZSB0 aGUgdXNlciBpbiB0aGUgaW5uZXIgbmFtZXNwYWNlIGRpZG4ndCBnZXQgbWFwcGVkIHRvIHRoZSBy YW5nZSBvZiB1c2VycyBpbiB0aGUgb3V0ZXIgbmFtZXNwYWNlIHdobyBhcmUgYWxsb3dlZCB0byBl eGVjdXRlDQo8Y29kZT5waW5nPC9jb2RlPi4mbmJzcDs8L2Rpdj4NCjxkaXYgY2xhc3M9ImVsZW1l bnRUb1Byb29mIiBzdHlsZT0iZm9udC1mYW1pbHk6IEFwdG9zLCBBcHRvc19FbWJlZGRlZEZvbnQs IEFwdG9zX01TRm9udFNlcnZpY2UsIENhbGlicmksIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9u dC1zaXplOiAxMnB0OyBjb2xvcjogcmdiKDAsIDAsIDApOyI+DQo8YnI+DQo8L2Rpdj4NCjxkaXYg Y2xhc3M9ImVsZW1lbnRUb1Byb29mIiBzdHlsZT0iZm9udC1mYW1pbHk6IEFwdG9zLCBBcHRvc19F bWJlZGRlZEZvbnQsIEFwdG9zX01TRm9udFNlcnZpY2UsIENhbGlicmksIEhlbHZldGljYSwgc2Fu cy1zZXJpZjsgZm9udC1zaXplOiAxMnB0OyBjb2xvcjogcmdiKDAsIDAsIDApOyI+DQpJIHRyaWVk IGV4ZWN1dGluZyBidWJibGV3cmFwIHdpdGhpbiBwYXN0YS4gQW5kIGl0J3Mgc28gY2xvc2UgdG8g YmVpbmcgd2hhdCBJIHdhbnRlZCEgSXQncyBhIHNpbXBsZSBvbmUtbGluZXIgYW5kIGZvciBzb21l IHJlYXNvbiBJIGRvbid0IHVuZGVyc3RhbmQsIGF2b2lkcyB0aGUgaXNzdWUgd2l0aCB0aGUgbmVz dGVkIG5hbWVzcGFjZS4gQnV0IGl0DQo8aT5zdGlsbDwvaT4mbmJzcDtpc24ndCB3aGF0IEkgd2Fu dGVkLCBiZWNhdXNlIGFub3RoZXIgdGhpbmcgSSBsaWtlIHRvIGRvIGlzIGRlbGl2ZXIgYndyYXAn cyBtYW55IG1hbnkgYXJncyB0byBpdCB2aWEgYSBmaWxlIGRlc2NyaXB0b3IgKC0tYXJncyBGRCkg dG8gc2ltcGxpZnkgdGhlIHByb2Nlc3MgbmFtZSBmb3INCjxjb2RlPnBzPC9jb2RlPiBhbmQgYXZv aWQgbGVha2luZyBwcml2YXRlIGluZm9ybWF0aW9uIHRvIGFueW9uZSBlbHNlIHJ1bm5pbmcgb24g dGhlIHNhbWUgbm9kZS4gQnV0IHNpbmNlIHBhc3RhIGNvdWxkbid0IHBhc3MgRkQncyB0aHJvdWdo IHRvIGJ1YmJsZXdyYXAsIHNvIG5vdyBJIGhhdmUgdG8gd3JhcCBteSBidWJibGV3cmFwIGNvbW1h bmQgaW5zaWRlIHNvbWUgb3RoZXIgYmVzcG9rZSBzY3JpcHQgd2hvc2Ugam9iIGlzIHRvIG9wZW4g YSB0ZW1wb3JhcnkNCiBmaWxlIEkgYW0gc2VydmluZyBzb21ld2hlcmUsIHdoaWNoIGp1c3QgYmVj b21lcyBhbm90aGVyIG9wcG9ydHVuaXR5IHRvIGxlYWsgbXkgcHJpdmF0ZSBpbmZvcm1hdGlvbi4m bmJzcDs8L2Rpdj4NCjxkaXYgY2xhc3M9ImVsZW1lbnRUb1Byb29mIiBzdHlsZT0iZm9udC1mYW1p bHk6IEFwdG9zLCBBcHRvc19FbWJlZGRlZEZvbnQsIEFwdG9zX01TRm9udFNlcnZpY2UsIENhbGli cmksIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMnB0OyBjb2xvcjogcmdiKDAs IDAsIDApOyI+DQo8YnI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9ImVsZW1lbnRUb1Byb29mIiBzdHls ZT0iZm9udC1mYW1pbHk6IEFwdG9zLCBBcHRvc19FbWJlZGRlZEZvbnQsIEFwdG9zX01TRm9udFNl cnZpY2UsIENhbGlicmksIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMnB0OyBj b2xvcjogcmdiKDAsIDAsIDApOyI+DQpTaWRlYmFyOiBpZiB5b3UgdGhpbmsgYWJvdXQgaXQsIHRo ZSBvbmx5IHJlYXNvbiB0aGUgbnNlbnRlciBzdHJhdGVneSBjYW4gZXZlbiBiZSBjb25zaWRlcmVk IGEgJnF1b3Q7d29ya2Fyb3VuZCZxdW90OyBmb3IgcGFzdGEgbm90IGhhdmluZyAtLXBhc3MtZmQg aXMgdGhhdCBuc2VudGVyIGRvZXMgaGF2ZSB0aGUgZmVhdHVyZSB0byBwYXNzIEZEJ3MgdGhyb3Vn aCAoaW4gZmFjdCwgaXQgaXMgdGhlIGRlZmF1bHQpLiBUaGF0J3Mgbm90IGEgZ29vZCBsb29rIGZv ciBwYXN0YS4mbmJzcDs8L2Rpdj4NCjxkaXYgY2xhc3M9ImVsZW1lbnRUb1Byb29mIiBzdHlsZT0i Zm9udC1mYW1pbHk6IEFwdG9zLCBBcHRvc19FbWJlZGRlZEZvbnQsIEFwdG9zX01TRm9udFNlcnZp Y2UsIENhbGlicmksIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMnB0OyBjb2xv cjogcmdiKDAsIDAsIDApOyI+DQo8YnI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9ImVsZW1lbnRUb1By b29mIiBzdHlsZT0iZm9udC1mYW1pbHk6IEFwdG9zLCBBcHRvc19FbWJlZGRlZEZvbnQsIEFwdG9z X01TRm9udFNlcnZpY2UsIENhbGlicmksIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXpl OiAxMnB0OyBjb2xvcjogcmdiKDAsIDAsIDApOyI+DQpTaWRlYmFyOiBZZXMsIGl0IGNhbiBiZSBz YWlkIHRoYXQgbXkgcHJvYmxlbSB3b3VsZCBiZSBzb2x2ZWQgb24gdGhlIGJ1YmJsZXdyYXAgc2lk ZSBpZiBvbmx5IGJ1YmJsZXdyYXAgY291bGQgam9pbiBhbiBleGlzdGluZyBuZXR3b3JrIG5hbWVz cGFjZS4gSSBhbHNvIHN1Ym1pdHRlZCB0aGUgUFIgdG8gY3JlYXRlIHRoYXQgZmVhdHVyZS4gTmV2 ZXJ0aGVsZXNzLCBJIGZlZWwgc3Ryb25nbHkgdGhhdCBwYXNzaW5nIEZEJ3MgaGFzIG90aGVyIHBs YXVzaWJsZQ0KIGNvbnN1bWVycyBiZXNpZGVzIHNwZWNpZmljYWxseSBidWJibGV3cmFwLjwvZGl2 Pg0KPGRpdiBjbGFzcz0iZWxlbWVudFRvUHJvb2YiIHN0eWxlPSJmb250LWZhbWlseTogQXB0b3Ms IEFwdG9zX0VtYmVkZGVkRm9udCwgQXB0b3NfTVNGb250U2VydmljZSwgQ2FsaWJyaSwgSGVsdmV0 aWNhLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEycHQ7IGNvbG9yOiByZ2IoMCwgMCwgMCk7Ij4N Cjxicj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iZWxlbWVudFRvUHJvb2YiIHN0eWxlPSJmb250LWZh bWlseTogQXB0b3MsIEFwdG9zX0VtYmVkZGVkRm9udCwgQXB0b3NfTVNGb250U2VydmljZSwgQ2Fs aWJyaSwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEycHQ7IGNvbG9yOiByZ2Io MCwgMCwgMCk7Ij4NCkluIHRoZSBlbmQsIEkgZmVsdCBzdXBlciwgc3VwZXIgZnJ1c3RyYXRlZCBi ZWNhdXNlIHdoYXQgc2VlbWVkIGxpa2UgYW4gZWFzeSBwcm9ibGVtIHR1cm5lZCBvdXQgdG8gYmUg bmVhcmx5IGltcG9zc2libGUuIEluIG15IHdvcmtwbGFjZSwgSSBhbSBjb25zaWRlcmVkIHRoZSBs b2NhbCBleHBlcnQgb24gY29udGFpbmVycywgYW5kIGV2ZW4gSSBjb3VsZG4ndCBmaWd1cmUgaXQg b3V0LiBNeSBMTE0gY29kaW5nIGFnZW50IGNvdWxkbid0IGZpZ3VyZSBpdA0KIG91dCBlaXRoZXIu IFRoaXMgd291bGQgYmUgY29tcGxldGVseSBob3BlbGVzcyBmb3Igc29tZSBnYW1lciB0cnlpbmcg dG8gaXNvbGF0ZSBuZXR3b3JrIGFjY2VzcyBmb3IgYSBtdWx0aXBsYXllciBnYW1lIGluc3RhbGxl ZCB2aWEgZmxhdHBhay48L2Rpdj4NCjxkaXYgY2xhc3M9ImVsZW1lbnRUb1Byb29mIiBzdHlsZT0i Zm9udC1mYW1pbHk6IEFwdG9zLCBBcHRvc19FbWJlZGRlZEZvbnQsIEFwdG9zX01TRm9udFNlcnZp Y2UsIENhbGlicmksIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMnB0OyBjb2xv cjogcmdiKDAsIDAsIDApOyI+DQo8YnI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9ImVsZW1lbnRUb1By b29mIiBzdHlsZT0iZm9udC1mYW1pbHk6IEFwdG9zLCBBcHRvc19FbWJlZGRlZEZvbnQsIEFwdG9z X01TRm9udFNlcnZpY2UsIENhbGlicmksIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXpl OiAxMnB0OyBjb2xvcjogcmdiKDAsIDAsIDApOyI+DQpJIHRlYWNoIHRoZSBjb250YWluZXIgc2hv cnRjb3Vyc2UgYXQgbXkgaW5zdGl0dXRpb24sIGFuZCBJIGdlbnVpbmVseSBjYXJlIGFib3V0IHRo ZSBmdXR1cmUgb2YgdGhpcyB0ZWNobm9sb2d5LiBJdCBpcyBteSBob3BlIHRvIGhlbHAgbWFrZSBt b2Rlcm4gbGlnaHR3ZWlnaHQgYW5kIHNlY3VyZSBjb250YWluZXIgdGVjaG5vbG9naWVzIGFzIHVz ZXItZnJpZW5kbHkgYXMgcG9zc2libGUsIHNvIHRoYXQgbW9yZSBwZW9wbGUgd2lsbCBjaG9vc2Ug dGhlbQ0KIG92ZXIgJnF1b3Q7c3VkbyBkb2NrZXImcXVvdDsuIElmIHdlIGNhbiByZWFjaCBhIGNv bnNlbnN1cyByZWdhcmRpbmcgdGhlIGlkZWFsIHNjb3BlIG9mIHRoaXMgZmVhdHVyZSwgSSB3aWxs IGdsYWRseSBhZGRyZXNzIGFsbCB5b3VyIHRlY2huaWNhbCBjb21wbGFpbnRzLiZuYnNwOzwvZGl2 Pg0KPGRpdiBjbGFzcz0iZWxlbWVudFRvUHJvb2YiIHN0eWxlPSJmb250LWZhbWlseTogQXB0b3Ms IEFwdG9zX0VtYmVkZGVkRm9udCwgQXB0b3NfTVNGb250U2VydmljZSwgQ2FsaWJyaSwgSGVsdmV0 aWNhLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEycHQ7IGNvbG9yOiByZ2IoMCwgMCwgMCk7Ij4N Cjxicj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iZWxlbWVudFRvUHJvb2YiIHN0eWxlPSJmb250LWZh bWlseTogQXB0b3MsIEFwdG9zX0VtYmVkZGVkRm9udCwgQXB0b3NfTVNGb250U2VydmljZSwgQ2Fs aWJyaSwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEycHQ7IGNvbG9yOiByZ2Io MCwgMCwgMCk7Ij4NCklmIHlvdSByZWFkIHRoaXMgZmFyLCBJIGFtIGdyYXRlZnVsIGZvciB5b3Vy IGF0dGVudGlvbiwgYW5kIEkgYXBvbG9naXNlIGZvciByYW1ibGluZy4gSXQgaXMgbGF0ZSBoZXJl LCBhbmQgbXkgYnJhaW4gZG9uJ3Qgd29yayBzbyBnb29kIGp1c3QgYmVmb3JlIGJlZC48L2Rpdj4N CjxkaXYgY2xhc3M9ImVsZW1lbnRUb1Byb29mIiBzdHlsZT0iZm9udC1mYW1pbHk6IEFwdG9zLCBB cHRvc19FbWJlZGRlZEZvbnQsIEFwdG9zX01TRm9udFNlcnZpY2UsIENhbGlicmksIEhlbHZldGlj YSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMnB0OyBjb2xvcjogcmdiKDAsIDAsIDApOyI+DQo8 YnI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9ImVsZW1lbnRUb1Byb29mIiBzdHlsZT0iZm9udC1mYW1p bHk6IEFwdG9zLCBBcHRvc19FbWJlZGRlZEZvbnQsIEFwdG9zX01TRm9udFNlcnZpY2UsIENhbGli cmksIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMnB0OyBjb2xvcjogcmdiKDAs IDAsIDApOyI+DQpSaWNoYXJkIExhd3JlbmNlPC9kaXY+DQo8ZGl2IGNsYXNzPSJlbGVtZW50VG9Q cm9vZiIgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcHRvcywgQXB0b3NfRW1iZWRkZWRGb250LCBBcHRv c19NU0ZvbnRTZXJ2aWNlLCBDYWxpYnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQtc2l6 ZTogMTJwdDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPg0KPGJyPg0KPC9kaXY+DQo8ZGl2IGNsYXNz PSJlbGVtZW50VG9Qcm9vZiIgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcHRvcywgQXB0b3NfRW1iZWRk ZWRGb250LCBBcHRvc19NU0ZvbnRTZXJ2aWNlLCBDYWxpYnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2Vy aWY7IGZvbnQtc2l6ZTogMTJwdDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPg0KPGJyPg0KPC9kaXY+ DQo8ZGl2IGNsYXNzPSJlbGVtZW50VG9Qcm9vZiIgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcHRvcywg QXB0b3NfRW1iZWRkZWRGb250LCBBcHRvc19NU0ZvbnRTZXJ2aWNlLCBDYWxpYnJpLCBIZWx2ZXRp Y2EsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPg0K PGJyPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJlbGVtZW50VG9Qcm9vZiIgc3R5bGU9ImZvbnQtZmFt aWx5OiBBcHRvcywgQXB0b3NfRW1iZWRkZWRGb250LCBBcHRvc19NU0ZvbnRTZXJ2aWNlLCBDYWxp YnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsgY29sb3I6IHJnYigw LCAwLCAwKTsiPg0KPGJyPg0KPC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQ2FsaWJy aSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMnB0OyBjb2xvcjog cmdiKDAsIDAsIDApOyI+DQo8YnI+DQo8L2Rpdj4NCjxociBzdHlsZT0iZGlzcGxheTogaW5saW5l LWJsb2NrOyB3aWR0aDogOTglOyI+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQ2FsaWJyaSwg QXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMnB0OyBjb2xvcjogcmdi KDAsIDAsIDApOyI+DQo8Yj5Gcm9tOjwvYj4gRGF2aWQgR2lic29uPGJyPg0KPGI+U2VudDo8L2I+ IFN1bmRheSwgSnVseSAxOSwgMjAyNiAxMDoyNSBQTTxicj4NCjxiPlRvOjwvYj4gTGF3cmVuY2Us IFJpY2hhcmQgRTxicj4NCjxiPkNjOjwvYj4gcGFzc3QtZGV2QHBhc3N0LnRvcDsgamJhc2hAamJh c2guY29tOyBMYXdyZW5jZSwgUmljaGFyZCBFPGJyPg0KPGI+U3ViamVjdDo8L2I+IFJlOiBbUEFU Q0ggdjNdIGZlYXQ6IEFkZCBjbGkgb3B0aW9uICctLXBhc3MtZmRzJyBmb3IgcGFzdGEgbW9kZS4g PC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQ2FsaWJyaSwgQXJpYWwsIEhlbHZldGlj YSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMnB0OyBjb2xvcjogcmdiKDAsIDAsIDApOyI+DQo8 YnI+DQo8L2Rpdj4NCjxkaXYgc3R5bGU9ImxpbmUtaGVpZ2h0OiAxcHg7IGRpc3BsYXk6IG5vbmU7 IGZvbnQtc2l6ZTogMXB4OyBjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOyI+DQpPbiBTdW4sIEp1 bCAxOSwgMjAyNiBhdCAwMzrigIowMzrigIowMFBNIC0wNTAwLCBSaWNoYXJkIExhd3JlbmNlIHdy b3RlOiAmZ3Q7IEZyb206IFJpY2hhcmQgTGF3cmVuY2UgJmx0O3JhcmVuc3VA4oCKdGFtdS7igIpl ZHUmZ3Q7ICZndDsgJmd0OyBXaGVuIHBhc3RhIG1vZGUgaXMgdXNlZCB0byBsYXVuY2ggYW4gZXhl Y3V0YWJsZSAoYHBhc3RhIFtDT01NQU5EXWApIGFuZCB0aGF0IGV4ZWN1dGFibGUgYWNjZXB0cyBp bnB1dHMgaW4gdGhlIGZvcm08L2Rpdj4NCjxkaXYgc3R5bGU9ImxpbmUtaGVpZ2h0OiAxcHg7IGRp c3BsYXk6IG5vbmU7IGZvbnQtc2l6ZTogMXB4OyBjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOyI+ DQpaalFjbVFSWUZwZnB0QmFubmVyU3RhcnQ8L2Rpdj4NCjxkaXYgaWQ9InhfcGZwdEJhbm5lcmVm Nm55aWoiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjA4LCAyMTYsIDIyMCk7IG1hcmdp bjogMHB4IDBweCAxMHB4OyBwYWRkaW5nOiA3cHggMTZweCA4cHg7IGJvcmRlci10b3A6IDRweCBz b2xpZCByZ2IoMTQ0LCAxNjQsIDE3NCk7IGJvcmRlci1yYWRpdXM6IDRweDsgbWluLXdpZHRoOiAy MDBweDsgZGlzcGxheTogYmxvY2s7Ij4NCjxkaXYgaWQ9InhfcGZwdEJhbm5lcmVmNm55aWoiIHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjA4LCAyMTYsIDIyMCk7IG1hcmdpbjogMXB4IDBw eDsgZGlzcGxheTogYmxvY2s7Ij4NCjxkaXYgaWQ9InhfcGZwdEJhbm5lcmVmNm55aWoiIHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjA4LCAyMTYsIDIyMCk7IGRpc3BsYXk6IGJsb2NrOyI+ DQo8ZGl2IHN0eWxlPSJkaXJlY3Rpb246IGx0cjsgdGV4dC1hbGlnbjogbGVmdDsgbGluZS1oZWln aHQ6IDEuMjk7IGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4 OyBjb2xvcjogcmdiKDAsIDAsIDApOyI+DQo8Yj5UaGlzIE1lc3NhZ2UgSXMgRnJvbSBhbiBFeHRl cm5hbCBTZW5kZXI8L2I+PC9kaXY+DQo8L2Rpdj4NCjxkaXYgaWQ9InhfcGZwdEJhbm5lcmVmNm55 aWoiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjA4LCAyMTYsIDIyMCk7IG1hcmdpbi10 b3A6IDJweDsgZGlzcGxheTogYmxvY2s7Ij4NCjxkaXYgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyB0 ZXh0LWFsaWduOiBsZWZ0OyBsaW5lLWhlaWdodDogMS41OyBmb250LWZhbWlseTogQXJpYWwsIHNh bnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJweDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPg0KVGhpcyBt ZXNzYWdlIGNhbWUgZnJvbSBvdXRzaWRlIHlvdXIgb3JnYW5pemF0aW9uLjwvZGl2Pg0KPC9kaXY+ DQo8L2Rpdj4NCjxkaXYgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyB0ZXh0LWFsaWduOiBsZWZ0OyBs aW5lLWhlaWdodDogMDsgZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogMC4wMXB4OyI+DQombmJz cDs8L2Rpdj4NCjwvZGl2Pg0KPGRpdiBzdHlsZT0ibGluZS1oZWlnaHQ6IDFweDsgZGlzcGxheTog bm9uZTsgZm9udC1zaXplOiAxcHg7IGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7Ij4NClpqUWNt UVJZRnBmcHRCYW5uZXJFbmQ8L2Rpdj4NCjxwcmU+PGRpdiBzdHlsZT0id2hpdGUtc3BhY2U6IHBy ZS13cmFwOyBmb250LWZhbWlseTogc2Fucy1zZXJpZjsiPk9uIFN1biwgSnVsIDE5LCAyMDI2IGF0 IDAzOjAzOjAwUE0gLTA1MDAsIFJpY2hhcmQgTGF3cmVuY2Ugd3JvdGU6CiZndDsgRnJvbTogUmlj aGFyZCBMYXdyZW5jZSAmbHQ7cmFyZW5zdUB0YW11LmVkdSZndDsKJmd0OyAKJmd0OyBXaGVuIHBh c3RhIG1vZGUgaXMgdXNlZCB0byBsYXVuY2ggYW4gZXhlY3V0YWJsZSAoYHBhc3RhIFtDT01NQU5E XWApIGFuZCB0aGF0IGV4ZWN1dGFibGUgYWNjZXB0cyBpbnB1dHMgaW4gdGhlIGZvcm0gb2YgYXJi aXRyYXJ5IGZpbGUgZGVzY3JpcHRvcnMgKHN1Y2ggYXMgYGJ3cmFwYCksIHRoZW4gcGFzc3Qgc2hv dWxkIG5vdCBzdGFuZCBpbiB0aGUgd2F5IG9mIHRoZSBwYXJlbnQgcHJvY2VzcyBoYW5kaW5nIG9m ZiB0aG9zZSBmaWxlIGRlc2NyaXB0b3JzIHRvIHRoZSBjaGlsZCBwcm9jZXNzLiBTZWUgYnVnIDIw NCBmb3IgYWRkaXRpb25hbCBkaXNjdXNzaW9uLgoKTml0OiB3cmFwIGNvbW1pdCBtZXNzYWdlcyBh dCA4MCBjb2x1bW5zLCBwbGVhc2UuCgomZ3Q7IFRoZSBgcGFzcy1mZHNgIG9wdGlvbiBhY2NlcHRz IGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgZmlsZQomZ3Q7IGRlc2NyaXB0b3IgbnVtYmVycy4g YGNvbmZfcGFzc19mZHMoKWAgcGFyc2VzIHRoZSBjb21tYW5kIGxpbmUKJmd0OyBhcmd1bWVudCwg dGhlbiBgaXNvbGF0ZV9mZHMoKWAgc2tpcHMgY2xvc2luZyB0aGUgc3BlY2lmaWVkIGZkcyBieQom Z3Q7IGNhbGxpbmcgYGNsb3NlX3JhbmdlKClgIG9uIHRoZSBnYXBzIGJldHdlZW4gdGhlbS4KCkkn bSBzdGlsbCBub3QgcmVhbGx5IHNlZWluZyB0aGUgdmFsdWUgb2YgdGhpcyBvcHRpb24sIG92ZXIg c3RhcnRpbmcKdGhlIG5hbWVzcGFjZSBzZXBhcmF0ZWx5LCBwYXNzaW5nIHRoZSBmZHMgeW91IHdh bnQsIGFuZCB0aGVuCmNvbm5lY3RpbmcgcGFzdGEuICZuYnNwO09yIHlvdSBjYW4gZG8gaXQgdGhl IG90aGVyIHdheSBhcm91bmQ6IHN0YXJ0IHdpdGggYQpwbGFjZWhvbGRlciBwcm9jZXNzLCB0aGVu IHVzZSBuc2VudGVyIHRvIHB1dCB0aGUgJnF1b3Q7cmVhbCZxdW90OyB3b3JrbG9hZCBpbnRvCnRo ZSBzYW1lIG5zLCBhbG9uZyB3aXRoIHdoYXRldmVyIGZkcyB5b3Ugd2FudCAodGhpcyBhcHByb2Fj aCBjYW4gYmUgYQpiaXQgZmlkZGx5IHRvIGRpc2NvdmVyIHRoZSByaWdodCBwaWQgaW4gdGhlIHBh cmVudCBuYW1lc3BhY2UsIHRob3VnaCkuCgpJbiBvdGhlciB3b3JkcywgbmVpdGhlciBoZXJlLCBu b3Igb24gdGhlIGJ1ZyBoYXZlIEkgc2VlbiBhbnkgcmVzcG9uc2UKdG8gbXkgY29tbWVudHMgaW4g aHR0cHM6Ly9idWdzLnBhc3N0LnRvcC9zaG93X2J1Zy5jZ2k/aWQ9MjA0I2MzCgpJIGhhdmUgY29t bWVudHMgb24gdGhlIGltcGxlbWVudGF0aW9uIGJlbG93LCBidXQgYWRkcmVzc2luZyBhbGwgdGhv c2UKd291bGQgbm90IGJlIGVub3VnaCBmb3IgbWUgdG8gYXBwcm92ZSB0aGlzIHBhdGNoLCB3aXRo b3V0IGEgY2FzZSBmb3IKd2h5IHRoZSBmZWF0dXJlIGlzIHN1ZmZpY2llbnRseSB2YWx1YWJsZSBp biB0aGUgZmlyc3QgcGxhY2UuCgomZ3Q7IEFkZGl0aW9uYWxseSwgdGhlIHRhcCBmZCBpcyBzYWZl bHkgcmVsb2NhdGVkIHRvIHRoZSBsb3dlc3QgdW51c2VkIGZkCiZndDsgbnVtYmVyIHdoaWNoIGl0 IGF0IGxlYXN0IDMsIHRvIGF2b2lkIGFjY2lkZW50YWxseSBvdmVyd3JpdGluZyBhbgomZ3Q7IGV4 aXN0aW5nIGZkLgoKVGhhbmsgeW91IGZvciByZW1vdmluZyB0aGUgY29uZnVzaW5nIENvLWF1dGhv cmVkIHRhZ3MuICZuYnNwO09idmlvdXNseSBJCmNhbid0IGJlIGNlcnRhaW4gYnV0IHRoaXMgcGF0 Y2ggc3RpbGwgcmVhZHMgbGlrZSBpdCB3YXMgTExNIGFzc2lzdGVkLAp3aGljaCBzaG91bGQgYmUg YWNrbm93bGVkZ2VkIGluIHNvbWUgd2F5LiAmbmJzcDtNeSBwZXJzb25hbCBwcmVmZXJlbmNlCndv dWxkIGJlIHRoZSBgQXNzaXN0ZWQtYnlgIHRhZyByZWNlbnRseSBhZG9wdGVkIGJ5IHRoZSBMaW51 eCBrZXJuZWwsCmJ1dCBTdGVmYW5vIGFuZCBJIGhhdmVuJ3QgZGlzY3Vzc2VkIHRoYXQgeWV0LgoK Jmd0OyBTaWduZWQtb2ZmLWJ5OiBSaWNoYXJkIExhd3JlbmNlICZsdDtybGF3cmVuY2VAdGFtdS5l ZHUmZ3Q7CiZndDsgLS0tCiZndDsgJm5ic3A7Y29uZi5jICZuYnNwOyAmbmJzcDsgJm5ic3A7fCA3 NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQom Z3Q7ICZuYnNwO2NvbmYuaCAmbmJzcDsgJm5ic3A7ICZuYnNwO3wgJm5ic3A7MyArKysKJmd0OyAm bmJzcDtpc29sYXRpb24uYyB8IDczICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0KJmd0OyAmbmJzcDtwYXNzdC4xICZuYnNwOyAmbmJzcDsgfCAmbmJz cDs1ICsrKysKJmd0OyAmbmJzcDs0IGZpbGVzIGNoYW5nZWQsIDE0MCBpbnNlcnRpb25zKCspLCAx NSBkZWxldGlvbnMoLSkKJmd0OyAKJmd0OyBkaWZmIC0tZ2l0IGEvY29uZi5jIGIvY29uZi5jCiZn dDsgaW5kZXggMGZjYmE1Yy4uNzI5ODE2ZCAxMDA2NDQKJmd0OyAtLS0gYS9jb25mLmMKJmd0OyAr KysgYi9jb25mLmMKJmd0OyBAQCAtNzMyLDcgKzczMiw5IEBAIHBhc3RhX29wdHM6CiZndDsgJm5i c3A7CQkmcXVvdDsJCQlEb24ndCBjb3B5IGFsbCBhZGRyZXNzZXMgdG8gbmFtZXNwYWNlXG4mcXVv dDsKJmd0OyAmbmJzcDsJCSZxdW90OyAmbmJzcDstLW5zLW1hYy1hZGRyIEFERFIJU2V0IE1BQyBh ZGRyZXNzIG9uIHRhcCBpbnRlcmZhY2VcbiZxdW90OwomZ3Q7ICZuYnNwOwkJJnF1b3Q7ICZuYnNw Oy0tbm8tc3BsaWNlCQlEaXNhYmxlIGluYm91bmQgc29ja2V0IHNwbGljaW5nXG4mcXVvdDsKJmd0 OyAtCQkmcXVvdDsgJm5ic3A7LS1zcGxpY2Utb25seQlPbmx5IGVuYWJsZSBsb29wYmFjayBmb3J3 YXJkaW5nXG4mcXVvdDspOwomZ3Q7ICsJCSZxdW90OyAmbmJzcDstLXNwbGljZS1vbmx5CU9ubHkg ZW5hYmxlIGxvb3BiYWNrIGZvcndhcmRpbmdcbiZxdW90OwomZ3Q7ICsJCSZxdW90OyAmbmJzcDst LXBhc3MtZmRzIEZEUwlDb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBmZHMgdG8gcGFzcyB0b1xuJnF1 b3Q7CiZndDsgKwkJJnF1b3Q7CQkJdGhlIHNwYXduZWQgY29tbWFuZFxuJnF1b3Q7KTsKJmd0OyAm bmJzcDsKJmd0OyAmbmJzcDsJcGFzc3RfZXhpdChzdGF0dXMpOwomZ3Q7ICZuYnNwO30KJmd0OyBA QCAtMTE4Myw2ICsxMTg1LDcxIEBAIGludCBjb25mX3RhcF9mZChpbnQgYXJnYywgY2hhciAqKmFy Z3YpCiZndDsgJm5ic3A7CXJldHVybiB2YWw7CiZndDsgJm5ic3A7fQomZ3Q7ICZuYnNwOwomZ3Q7 ICsvKioKJmd0OyArICogY29uZl9wYXNzX2ZkcygpIC0gUmVhZCBmZHMgYXMgc3VwcGxpZWQgYnkg LS1wYXNzLWZkcyBjb21tYW5kIGxpbmUgb3B0aW9uCiZndDsgKyAqIEBhcmdjOglBcmd1bWVudCBj b3VudAomZ3Q7ICsgKiBAYXJndjoJQ29tbWFuZCBsaW5lIG9wdGlvbnMKJmd0OyArICogQGZkczoJ QXJyYXkgd2hlcmUgd2Ugc3RvcmUgdGhlIHBhcnNlZCBmZHMKJmd0OyArICogQG1heF9mZHM6CU1h eGltdW0gc2l6ZSBvZiB0aGUgYXJyYXkKJmd0OyArICoKJmd0OyArICogUmV0dXJuOiBudW1iZXIg b2YgcGFyc2VkIGZkcywgb3IgLTEgaWYgb3B0aW9uIG5vdCBzcGVjaWZpZWQKJmd0OyArICovCiZn dDsgK2ludCBjb25mX3Bhc3NfZmRzKGludCBhcmdjLCBjaGFyICoqYXJndiwgaW50ICpmZHMsIGlu dCBtYXhfZmRzKQomZ3Q7ICt7CiZndDsgKwljb25zdCBzdHJ1Y3Qgb3B0aW9uIG9wdFtdID0geyB7 ICZxdW90O3Bhc3MtZmRzJnF1b3Q7LCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgMzMgfSwKJmd0 OyArCQkJCSAmbmJzcDsgJm5ic3A7ICZuYnNwO3sgMCB9LCB9OwoKSSdkIGJlIGluY2xpbmVkIHRv IHBhcnNlIC0tZmQgYW5kIC0tcGFzcy1mZHMgaW4gYSBzaW5nbGUgZWFybHkgcGFzcywKcmF0aGVy IHRoYW4gaW4gdHdvIGZ1bmN0aW9ucwpzaW5jZSB3ZSBuZWVkIHRoZW0gYXQgdGhlIHNhbWUgdGlt ZQoKJmd0OyArCWNvbnN0IGNoYXIgKmZkc2FyZyA9IE5VTEw7CiZndDsgKwlpbnQgbmFtZSwgZmRz X2NudCA9IDA7CiZndDsgKwlpbnQgb2xkX29wdGVycjsKJmd0OyArCiZndDsgKwlvbGRfb3B0ZXJy ID0gb3B0ZXJyOwoKVW0uLiB3aHk/ICZuYnNwO2dldG9wdF9sb25nKCkgaXMgdGhvcm91Z2hseSBu b24tcmVlbnRyYW50IGFuZCBzYXZpbmcgdGhlCmVycm9yIGNvZGUgaXNuJ3QgZ29pbmcgdG8gbWFr ZSBpdCBzby4KCiZndDsgKwlvcHRlcnIgPSAwOwomZ3Q7ICsJb3B0aW5kID0gMDsKJmd0OyArCWRv IHsKJmd0OyArCQluYW1lID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgJnF1b3Q7LTomcXVvdDss IG9wdCwgTlVMTCk7CiZndDsgKwkJaWYgKG5hbWUgPT0gMzMpCiZndDsgKwkJCWZkc2FyZyA9IG9w dGFyZzsKJmd0OyArCX0gd2hpbGUgKG5hbWUgIT0gLTEpOwomZ3Q7ICsJb3B0ZXJyID0gb2xkX29w dGVycjsKJmd0OyArCiZndDsgKwlpZiAoIWZkc2FyZykKJmd0OyArCQlyZXR1cm4gLTE7CiZndDsg KwomZ3Q7ICsJY29uc3QgY2hhciAqb3JpZ19mZHNhcmcgPSBmZHNhcmc7CgpBbHRob3VnaCBpdCdz IHBlcm1pdHRlZCBieSBDMTEgd2UgZG9uJ3QgdXNlIGlubGluZSBkZWNsYXJhdGlvbnMsIGJ5CmNv bnZlbnRpb24uCgomZ3Q7ICsJd2hpbGUgKCpmZHNhcmcpIHsKJmd0OyArCQl1bnNpZ25lZCBsb25n IHZhbDsKJmd0OyArCQljaGFyICplbmRwdHI7CiZndDsgKwomZ3Q7ICsJCXZhbCA9IHN0cnRvdWwo ZmRzYXJnLCAmYW1wO2VuZHB0ciwgMTApOwomZ3Q7ICsJCWlmIChmZHNhcmcgPT0gZW5kcHRyKSB7 CiZndDsgKwkJCWRpZSgmcXVvdDtJbnZhbGlkIGNoYXJhY3RlciBpbiAtLXBhc3MtZmRzIG9wdGlv biAnJXMnIChuZWFyICclcycpJnF1b3Q7LAomZ3Q7ICsJCQkgJm5ic3A7ICZuYnNwO29yaWdfZmRz YXJnLCBmZHNhcmcpOwomZ3Q7ICsJCX0KClRoZSByZWNlbnRseSBhZGRlZCBwYXJzZV91bnNpZ25l ZCgpIGFuZCByZWxhdGVkIGZ1bmN0aW9ucyBjYW4gZG8gdGhpcwptb3JlIG5pY2VseS4gJm5ic3A7 QnV0Li4gaXQgYWxzbyBvY2N1cnMgdG8gbWUgdGhhdCBoYXZpbmcgdGhlIG1vZGVyYXRlbHkKY29t cGxleCBwYXJzaW5nIG9mIGEgY29tbWEgc2VwYXJhdGVkIGxpc3QgaXMgdW5uZWNlc3NhcnkuICZu YnNwO1NlZW1zCnNpbXBsZXIgdG8gY2hhbmdlIGl0IHRvIC0tcGFzcy1mZCwgd2hpY2ggdGFrZXMg b25seSBhIHNpbmdsZSBmZCwgYW5kCmNhbiBiZSBzcGVjaWZpZWQgbXVsdGlwbGUgdGltZXMuCgom Z3Q7ICsKJmd0OyArCQlpZiAodmFsICZndDsgSU5UX01BWCkgewomZ3Q7ICsJCQlkaWUoJnF1b3Q7 SW52YWxpZCBmaWxlIGRlc2NyaXB0b3IgaW4gLS1wYXNzLWZkcyBvcHRpb24gJyVzJyAobmVhciAn JXMnKSZxdW90OywKJmd0OyArCQkJICZuYnNwOyAmbmJzcDtvcmlnX2Zkc2FyZywgZmRzYXJnKTsK Jmd0OyArCQl9CiZndDsgKwomZ3Q7ICsJCWlmIChmZHNfY250ICZndDs9IG1heF9mZHMpCiZndDsg KwkJCWRpZSgmcXVvdDtUb28gbWFueSBmaWxlIGRlc2NyaXB0b3JzIGluIC0tcGFzcy1mZHMmcXVv dDspOwomZ3Q7ICsKJmd0OyArCQlmZHNbZmRzX2NudCsrXSA9IChpbnQpdmFsOwomZ3Q7ICsKJmd0 OyArCQlpZiAoKmVuZHB0ciA9PSAnLCcpCiZndDsgKwkJCWZkc2FyZyA9IGVuZHB0ciArIDE7CiZn dDsgKwkJZWxzZSBpZiAoKmVuZHB0ciA9PSAnXDAnKQomZ3Q7ICsJCQlmZHNhcmcgPSBlbmRwdHI7 CiZndDsgKwkJZWxzZSB7CiZndDsgKwkJCWRpZSgmcXVvdDtJbnZhbGlkIGNoYXJhY3RlciBpbiAt LXBhc3MtZmRzIG9wdGlvbiAnJXMnIChuZWFyICclcycpJnF1b3Q7LAomZ3Q7ICsJCQkgJm5ic3A7 ICZuYnNwO29yaWdfZmRzYXJnLCBlbmRwdHIpOwomZ3Q7ICsJCX0KJmd0OyArCX0KJmd0OyArCiZn dDsgKwlyZXR1cm4gZmRzX2NudDsKJmd0OyArfQomZ3Q7ICsKJmd0OyAmbmJzcDsvKioKJmd0OyAm bmJzcDsgKiBjb25mX2FkZHIoKSAtIENvbmZpZ3VyZSBndWVzdCBhZGRyZXNzIHdpdGggLWEgb3B0 aW9uCiZndDsgJm5ic3A7ICogQGM6CQlFeGVjdXRpb24gY29udGV4dAomZ3Q7IEBAIC0xMzMxLDYg KzEzOTgsNyBAQCB2b2lkIGNvbmYoc3RydWN0IGN0eCAqYywgaW50IGFyZ2MsIGNoYXIgKiphcmd2 KQomZ3Q7ICZuYnNwOwkJeyZxdW90O3N0YXRzJnF1b3Q7LCByZXF1aXJlZF9hcmd1bWVudCwJCU5V TEwsCQkzMSB9LAomZ3Q7ICZuYnNwOwkJeyZxdW90O2NvbmYtcGF0aCZxdW90OywJcmVxdWlyZWRf YXJndW1lbnQsCU5VTEwsCQknYycgfSwKJmd0OyAmbmJzcDsJCXsmcXVvdDtjaHJvb3QtZmFsbGJh Y2smcXVvdDssIG5vX2FyZ3VtZW50LAlOVUxMLCAJCTMyIH0sCiZndDsgKwkJeyZxdW90O3Bhc3Mt ZmRzJnF1b3Q7LAlyZXF1aXJlZF9hcmd1bWVudCwJTlVMTCwJCTMzIH0sCiZndDsgJm5ic3A7CQl7 IDAgfSwKJmd0OyAmbmJzcDsJfTsKJmd0OyAmbmJzcDsJY29uc3QgY2hhciAqb3B0c3RyaW5nID0g JnF1b3Q7K2RxZmVsOmhzOmM6RjpJOnA6UDptOmE6bjpNOmc6aTpvOkQ6UzpIOjQ2MXQ6dTpUOlU6 JnF1b3Q7OwomZ3Q7IEBAIC0xNTcyLDYgKzE2NDAsMTAgQEAgdm9pZCBjb25mKHN0cnVjdCBjdHgg KmMsIGludCBhcmdjLCBjaGFyICoqYXJndikKJmd0OyAmbmJzcDsJCWNhc2UgMzI6CiZndDsgJm5i c3A7CQkJYy0mZ3Q7Y2hyb290X2ZhbGxiYWNrID0gdHJ1ZTsKJmd0OyAmbmJzcDsJCQlicmVhazsK Jmd0OyArCQljYXNlIDMzOgomZ3Q7ICsJCQlpZiAoYy0mZ3Q7bW9kZSAhPSBNT0RFX1BBU1RBKQom Z3Q7ICsJCQkJZGllKCZxdW90Oy0tcGFzcy1mZHMgaXMgZm9yIHBhc3RhIG1vZGUgb25seSZxdW90 Oyk7CiZndDsgKwkJCWJyZWFrOwomZ3Q7ICZuYnNwOwkJY2FzZSAnZCc6CiZndDsgJm5ic3A7CQkJ Yy0mZ3Q7ZGVidWcgPSAxOwomZ3Q7ICZuYnNwOwkJCWMtJmd0O3F1aWV0ID0gMDsKJmd0OyBkaWZm IC0tZ2l0IGEvY29uZi5oIGIvY29uZi5oCiZndDsgaW5kZXggMTliZjliYy4uMjhhOWFjYyAxMDA2 NDQKJmd0OyAtLS0gYS9jb25mLmgKJmd0OyArKysgYi9jb25mLmgKJmd0OyBAQCAtNiw3ICs2LDEw IEBACiZndDsgJm5ic3A7I2lmbmRlZiBDT05GX0gKJmd0OyAmbmJzcDsjZGVmaW5lIENPTkZfSAom Z3Q7ICZuYnNwOwomZ3Q7ICsjZGVmaW5lIFBBU1NfRkRTX01BWAkxMDI0CiZndDsgKwomZ3Q7ICZu YnNwO2VudW0gcGFzc3RfbW9kZXMgY29uZl9tb2RlKGludCBhcmdjLCBjaGFyICphcmd2W10pOwom Z3Q7ICtpbnQgY29uZl9wYXNzX2ZkcyhpbnQgYXJnYywgY2hhciAqKmFyZ3YsIGludCAqZmRzLCBp bnQgbWF4X2Zkcyk7CiZndDsgJm5ic3A7aW50IGNvbmZfdGFwX2ZkKGludCBhcmdjLCBjaGFyICoq YXJndik7CiZndDsgJm5ic3A7dm9pZCBjb25mKHN0cnVjdCBjdHggKmMsIGludCBhcmdjLCBjaGFy ICoqYXJndik7CiZndDsgJm5ic3A7dm9pZCBjb25mX2xpc3Rlbl9oYW5kbGVyKHN0cnVjdCBjdHgg KmMsIHVpbnQzMl90IGV2ZW50cyk7CiZndDsgZGlmZiAtLWdpdCBhL2lzb2xhdGlvbi5jIGIvaXNv bGF0aW9uLmMKJmd0OyBpbmRleCA5NGNiZTdmLi4yNWY1OTliIDEwMDY0NAomZ3Q7IC0tLSBhL2lz b2xhdGlvbi5jCiZndDsgKysrIGIvaXNvbGF0aW9uLmMKJmd0OyBAQCAtMjQ5LDMyICsyNDksNzcg QEAgdm9pZCBpc29sYXRlX2luaXRpYWwodm9pZCkKJmd0OyAmbmJzcDt9CiZndDsgJm5ic3A7CiZn dDsgJm5ic3A7LyoKJmd0OyAtICogaXNvbGF0ZV9mZHMoKSAtIENsb3NlIGxlYWtlZCBmaWxlcywg YnV0IG5vdCAtLWZkLCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIKJmd0OyArICogaXNvbGF0ZV9mZHMo KSAtIENsb3NlIGxlYWtlZCBmaWxlcywgYnV0IG5vdCAtLWZkLCAtLXBhc3MtZmRzLCBzdGFuZGFy ZCBzdHJlYW1zCiZndDsgJm5ic3A7ICogQGFyZ2M6CUFyZ3VtZW50IGNvdW50CiZndDsgLSAqIEBh cmd2OglDb21tYW5kIGxpbmUgb3B0aW9ucywgYXMgd2UgbmVlZCB0byBza2lwIGFueSBmaWxlIGdp dmVuIHZpYSAtLWZkCiZndDsgKyAqIEBhcmd2OglDb21tYW5kIGxpbmUgb3B0aW9ucwomZ3Q7ICZu YnNwOyAqCiZndDsgJm5ic3A7ICogU2hvdWxkOgomZ3Q7IC0gKiAmbmJzcDstIGNsb3NlIGFsbCBv cGVuIGZpbGVzIGV4Y2VwdCBmb3Igc3RhbmRhcmQgc3RyZWFtcyBhbmQgdGhlIG9uZSBmcm9tIC0t ZmQKJmd0OyArICogJm5ic3A7LSBjbG9zZSBhbGwgb3BlbiBmaWxlcyBleGNlcHQgZm9yIHN0YW5k YXJkIHN0cmVhbXMsIC0tZmQsIGFuZCAtLXBhc3MtZmRzCiZndDsgJm5ic3A7ICogJm5ic3A7LSBt b3ZlIHRoZSAtLWZkIGRlc2NyaXB0b3Igb3V0IG9mIHRoZSByYW5nZSAwLTIKJmd0OyAmbmJzcDsg KgomZ3Q7ICZuYnNwOyAqIFJldHVybjogbmV3IGZkIG51bWJlciBmb3IgZGVzY3JpcHRvciBmcm9t IC0tZmQsIG9yIC0xIGlmIG5vdCBzcGVjaWZpZWQKJmd0OyAmbmJzcDsgKi8KJmd0OyAmbmJzcDtp bnQgaXNvbGF0ZV9mZHMoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQomZ3Q7ICZuYnNwO3sKJmd0OyAt CWludCBmZCwgY2xvc2VfZnJvbSA9IFNUREVSUl9GSUxFTk8gKyAxOwomZ3Q7ICsJaW50IGZkc1tQ QVNTX0ZEU19NQVggKyAxXTsKJmd0OyArCWludCBmZHNfY250ID0gMDsKJmd0OyArCWludCBwcmV2 X2ZkOwomZ3Q7ICsJaW50IG5leHRfZmQ7CiZndDsgKwlpbnQgdGFwX2ZkOwomZ3Q7ICsJaW50IHJj ID0gMDsKJmd0OyArCWludCBpOwomZ3Q7ICsKJmd0OyArCXRhcF9mZCA9IGNvbmZfdGFwX2ZkKGFy Z2MsIGFyZ3YpOwomZ3Q7ICsJaWYgKHRhcF9mZCAmZ3Q7PSAwICZhbXA7JmFtcDsgdGFwX2ZkICZs dDsgMykgewoKVXNlIFNURCpfRklMRU5PIGNvbnN0YW50cy4KCiZndDsgKwkJLyogTW92ZSB0aGUg dGFwIGZkIHRvIGEgc2FmZXIgbG9jYXRpb24gKi8KJmd0OyArCQlpbnQgbmV3X2ZkID0gZmNudGwo dGFwX2ZkLCBGX0RVUEZELCBTVERFUlJfRklMRU5PICsgMSk7CiZndDsgKwomZ3Q7ICsJCWlmIChu ZXdfZmQgJmx0OyAwKQomZ3Q7ICsJCQlkaWVfcGVycm9yKCZxdW90O0NvdWxkIG5vdCByZWxvY2F0 ZSAtLWZkIGRlc2NyaXB0b3ImcXVvdDspOwomZ3Q7ICsKJmd0OyArCQljbG9zZSh0YXBfZmQpOwom Z3Q7ICsJCXRhcF9mZCA9IG5ld19mZDsKJmd0OyArCX0KJmd0OyArCiZndDsgKwlpZiAodGFwX2Zk ICZndDs9IDApCiZndDsgKwkJLyogS2VlcCB0aGUgdGFwIGZkICovCiZndDsgKwkJZmRzW2Zkc19j bnQrK10gPSB0YXBfZmQ7CiZndDsgKwomZ3Q7ICsJcmMgPSBjb25mX3Bhc3NfZmRzKGFyZ2MsIGFy Z3YsIGZkcyArIGZkc19jbnQsIFBBU1NfRkRTX01BWCk7CgpUaGlzIGlzIG9ubHkgY29ycmVjdCBi ZWNhdXNlIGZkc19jbnQgY2FuJ3QgZXhjZWVkIDEgYXQgdGhpcyBwb2ludCwKd2hpY2ggaXMgZGFu Z2Vyb3VzbHkgc3VidGxlLiAmbmJzcDtJdCB3b3VsZCBwcm9iYWJseSBiZSBtb3JlIG5hdHVyYWwg dG8KcGFyc2UgLS1wYXNzLWZkcyBmaXJzdCwgdGhlbiBhcHBlbmQgLS1mZC4KCiZndDsgKwlpZiAo cmMgJmd0OyAwKQomZ3Q7ICsJCS8qIEtlZXAgdGhlIHBhc3MtZmRzICovCiZndDsgKwkJZmRzX2Nu dCArPSByYzsKJmd0OyAmbmJzcDsKJmd0OyAtCWZkID0gY29uZl90YXBfZmQoYXJnYywgYXJndik7 CiZndDsgKwlyYyA9IDA7CiZndDsgJm5ic3A7CiZndDsgLQlpZiAoZmQgJmd0Oz0gMCkgewomZ3Q7 IC0JCS8qIE1vdmUgdGhlIHBhc3NlZCBmZCB0byBhIG1vcmUgY29udmVuaWVudCBsb2NhdGlvbiAq LwomZ3Q7IC0JCWlmIChmZCAhPSBjbG9zZV9mcm9tCQkJJmFtcDsmYW1wOwomZ3Q7IC0JCSAmbmJz cDsgJm5ic3A7KGR1cDIoZmQsIGNsb3NlX2Zyb20pICE9IGNsb3NlX2Zyb20JfHwKJmd0OyAtCQkg Jm5ic3A7ICZuYnNwOyBjbG9zZShmZCkpKQomZ3Q7IC0JCQlkaWVfcGVycm9yKCZxdW90O0NvdWxk IG5vdCBtb3ZlIC0tZmQgZGVzY3JpcHRvciZxdW90Oyk7CiZndDsgLQkJZmQgPSBjbG9zZV9mcm9t Kys7CiZndDsgKwkvKiBLZWVwIHN0YW5kYXJkIHN0cmVhbXMgKi8KJmd0OyArCXByZXZfZmQgPSBT VERFUlJfRklMRU5POwomZ3Q7ICsKJmd0OyArCXdoaWxlICgxKSB7CiZndDsgKwkJbmV4dF9mZCA9 IC0xOwomZ3Q7ICsKJmd0OyArCQkvKiBGaW5kIHRoZSBuZXh0LWxvd2VzdCBmZCB0byBrZWVwICov CiZndDsgKwkJZm9yIChpID0gMDsgaSAmbHQ7IGZkc19jbnQ7IGkrKykgewomZ3Q7ICsJCQlpZiAo ZmRzW2ldICZndDsgcHJldl9mZCAmYW1wOyZhbXA7IChuZXh0X2ZkID09IC0xIHx8IGZkc1tpXSAm bHQ7IG5leHRfZmQpKQomZ3Q7ICsJCQkJbmV4dF9mZCA9IGZkc1tpXTsKJmd0OyArCQl9CiZndDsg KwomZ3Q7ICsJCWlmIChuZXh0X2ZkID09IC0xKQomZ3Q7ICsJCQlicmVhazsKJmd0OyArCiZndDsg KwkJaWYgKG5leHRfZmQgJmd0OyBwcmV2X2ZkICsgMSkgewomZ3Q7ICsJCQkvKiBDbG9zZSBmZHMg YmV0d2VlbiB0d28ga2VwdCBmZHMgKi8KJmd0OyArCQkJaWYgKGNsb3NlX3JhbmdlKHByZXZfZmQg KyAxLCBuZXh0X2ZkIC0gMSwgQ0xPU0VfUkFOR0VfVU5TSEFSRSkpCiZndDsgKwkJCQlyYyA9IC0x OwomZ3Q7ICsJCX0KJmd0OyArCQlwcmV2X2ZkID0gbmV4dF9mZDsKJmd0OyAmbmJzcDsJfQomZ3Q7 ICsJCiZndDsgKwkvKiBDbG9zZSBhbGwgb3RoZXIgZmRzICovCiZndDsgKwlpZiAoY2xvc2VfcmFu Z2UocHJldl9mZCArIDEsIH4wVSwgQ0xPU0VfUkFOR0VfVU5TSEFSRSkpCiZndDsgKwkJcmMgPSAt MTsKJmd0OyAmbmJzcDsKJmd0OyAtCWlmIChjbG9zZV9yYW5nZShjbG9zZV9mcm9tLCB+MFUsIENM T1NFX1JBTkdFX1VOU0hBUkUpKSB7CiZndDsgKwlpZiAocmMpIHsKJmd0OyAmbmJzcDsJCWlmIChl cnJubyA9PSBFTk9TWVMgfHwgZXJybm8gPT0gRUlOVkFMKSB7CgpJZiB0aGUgZmFpbHVyZSB3YXMg bm90IGluIHRoZSBsYXN0IGNsb3NlX3JhbmdlKCksIGVycm5vIGhhcyBiZWVuCmNsb2JiZXJlZCBi ZWZvcmUgeW91IHRlc3QgaXQgaGVyZS4KCkl0J3MgYSBiaXQgc2ltcGxlciB0aGFuIHRoZSBlYXJs aWVyIHZlcnNpb24sIGJ1dCB0aGlzIHN0aWxsIHNlZW1zIHZlcnkKaW52b2x2ZWQgZm9yIHNvbWV0 aGluZyB0aGF0IGNhbiBiZSBhdm9pZGVkIGJ5IGEgZGlmZmVyZW50IHdheSBvZgppbnZva2luZyB5 b3VyIHByb2dyYW0uCgomZ3Q7ICZuYnNwOwkJCS8qIFRoaXMgcHJvYmFibHkgbWVhbnMgY2xvc2Vf cmFuZ2UoKSBvciB0aGUKJmd0OyAmbmJzcDsJCQkgKiBDTE9TRV9SQU5HRV9VTlNIQVJFIGZsYWcg aXMgbm90IHN1cHBvcnRlZCBieSB0aGUKJmd0OyBAQCAtMjg4LDcgKzMzMyw3IEBAIGludCBpc29s YXRlX2ZkcyhpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiZndDsgJm5ic3A7CQl9CiZndDsgJm5ic3A7 CX0KJmd0OyAmbmJzcDsKJmd0OyAtCXJldHVybiBmZDsKJmd0OyArCXJldHVybiB0YXBfZmQ7CiZn dDsgJm5ic3A7fQomZ3Q7ICZuYnNwOwomZ3Q7ICZuYnNwOy8qKgomZ3Q7IGRpZmYgLS1naXQgYS9w YXNzdC4xIGIvcGFzc3QuMQomZ3Q7IGluZGV4IDk5NTU5MGEuLmJjZDNhZmYgMTAwNjQ0CiZndDsg LS0tIGEvcGFzc3QuMQomZ3Q7ICsrKyBiL3Bhc3N0LjEKJmd0OyBAQCAtNzU1LDYgKzc1NSwxMSBA QCBvZiBsb2NhbCB0cmFmZmljIGluIHBhc3RhXGZSIGluIHRoZSBcZkJOT1RFU1xmUiBmb3IgbW9y ZSBkZXRhaWxzLgomZ3Q7ICZuYnNwO0RvIG5vdCBjcmVhdGUgYSB0YXAgZGV2aWNlIGluIHRoZSBu YW1lc3BhY2UuIEluIHRoaXMgbW9kZSwgXGZJcGFzdGFcZlIgb25seQomZ3Q7ICZuYnNwO2Zvcndh cmRzIGxvb3BiYWNrIHRyYWZmaWMgYmV0d2VlbiBuYW1lc3BhY2VzLgomZ3Q7ICZuYnNwOwomZ3Q7 ICsuVFAKJmd0OyArLkJSIFwtXC1wYXNzXC1mZHMgJnF1b3Q7ICZxdW90OyBcZklmZHNcZlIKJmd0 OyArUGFzcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGZpbGUgZGVzY3JpcHRvcnMgdG8gdGhl IHNwYXduZWQgY29tbWFuZC4KJmd0OyArVGhlc2UgZmlsZSBkZXNjcmlwdG9ycyB3aWxsIGJlIGtl cHQgb3Blbi4KCiZxdW90O1dpbGwgYmUga2VwdCBvcGVuJnF1b3Q7IGlzIG5vdCBuZWNlc3Nhcmls eSB2ZXJ5IGNsZWFyIHRvIHRoZSBhdWRpZW5jZSBvZgp0aGlzIGRvY3VtZW50LgoKSXQncyBhbHNv IHRydWUgaW4gYSB3YXkgdGhhdCBpc24ndCBpZGVhbCAtIGV2ZW4gYWZ0ZXIgd2UndmUgZm9yaygp ZWQKb2ZmIHRoZSBjb21tYW5kLCB3ZSBkb24ndCBjbG9zZSgpIHRoZSByZW1haW5pbmcgZmRzLCB3 ZWFrZW5pbmcgbW9yZQp0aGFuIHN0cmljdGx5IG5lY2Vzc2FyeSB0aGUgc2VjdXJpdHkgYmVuZWZp dHMgb2YgaXNvbGF0ZV9mZHMoKS4KCiZndDsgKwomZ3Q7ICZuYnNwOy5TSCBFWEFNUExFUwomZ3Q7 ICZuYnNwOwomZ3Q7ICZuYnNwOy5TUyBcZkJwYXN0YQomZ3Q7IC0tIAomZ3Q7IDIuNTIuMAomZ3Q7 IAoKLS0gCkRhdmlkIEdpYnNvbiAoaGUgb3IgdGhleSkJfCBJJ2xsIGhhdmUgbXkgbXVzaWMgYmFy b3F1ZSwgYW5kIG15IGNvZGUKZGF2aWQgQVQgZ2lic29uLmRyb3BiZWFyLmlkLmF1CXwgbWluaW1h bGlzdCwgdGhhbmsgeW91LCBub3QgdGhlIG90aGVyIHdheQoJCQkJfCBhcm91bmQuCmh0dHA6Ly93 d3cub3psYWJzLm9yZy9+ZGdpYnNvbgo8L2Rpdj48L3ByZT4NCjwvYm9keT4NCjwvaHRtbD4NCg== --_000_DM3PR11MB87130E6E4965562A18326228DAC22DM3PR11MB8713namp_--