From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id B65543857413 for ; Wed, 11 Aug 2021 15:31:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B65543857413 Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 17BFHZ4f029363; Wed, 11 Aug 2021 15:30:57 GMT Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by mx0b-00069f02.pphosted.com with ESMTP id 3aceudrf04-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 11 Aug 2021 15:30:57 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 17BFUYpa160737; Wed, 11 Aug 2021 15:30:56 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2104.outbound.protection.outlook.com [104.47.58.104]) by userp3020.oracle.com with ESMTP id 3aa3xvavqc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 11 Aug 2021 15:30:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZuRzhs23MsA2U3LtOWfSpmAr9WKtLP4DFru3x30SSo5ID3d/TF15U9kOtI9gT1j3vMopnMCnOAP/vUpZHRKKA5StwpAxoIXOsXm2c6mP+ajTPQg8ZfMbVp79zcHI1/G/zHP23lq5p6LTdnyLoU5ytSm0zTLwPJriZuniDDd3Ptz+CNAW+Xd6WJjn8R5D8SWgcirANSRZVSljHLKHiIYtj5Ses1pDVaIPxKFG/fL4JNYP08VwflMLOf9PGthCzDUUP67xXy+jKDn0r98xZSiB0rJfsxFaZU3mcn7N+YD09lTYCM8j523GFcWP/0qPe5NB32veXg/MmYv43NcFYzzFAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BZ16RiHaLAAu1Y7kP4rFhApF8lyVxGYpE4qIU9FVrGU=; b=f691afvc2qjmqdAEHPZDlf9wHmijW5+jImuWi5TZmgG+T7BJdjTWbDccsSr89qNy6LnjozW1ExQi2hcrF0qqZX6n8Os/JFVOH/E8XggWf8ajtxR0i7oyAyVsBGMR4slEGwnsjzusWuid3V86YUhEdcLruDnN92WlAtjY3lgbbJneLy3i5QgcIZXOEz2DynvyGO2hpG8p3qnofZm9u5fmabNtwmBkdZIsAoEgG8a3i2VHDrKJqHzRzt08u8jfx5KiZeEExk0Jpmk2akjX73nG7VGUAcCH0WjtTRuJ2hIG1vXBA4KmvPJspsavQHiNWAlOQGG0nVAMJx28u52S7uq1HA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by CH2PR10MB4022.namprd10.prod.outlook.com (2603:10b6:610:9::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.20; Wed, 11 Aug 2021 15:30:41 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::f463:6b71:2491:d547]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::f463:6b71:2491:d547%9]) with mapi id 15.20.4415.014; Wed, 11 Aug 2021 15:30:41 +0000 From: Qing Zhao To: Richard Biener , Richard Sandiford CC: Jakub Jelinek , Nick Alcock via Gcc-patches , Kees Cook Subject: Re: [patch][version 6] add -ftrivial-auto-var-init and variable attribute "uninitialized" to gcc Thread-Topic: [patch][version 6] add -ftrivial-auto-var-init and variable attribute "uninitialized" to gcc Thread-Index: AQHXgpcfj6SO0Rka1UmU0GU91mFncqtrSzIAgAApjACAAPr8gIAAZYMAgAAKVgCAAAy9gIAABZoAgABR/YCAACR6AIAAkCQAgABtVACAAAEPAIAABLkAgAABQACAABmfAA== Date: Wed, 11 Aug 2021 15:30:40 +0000 Message-ID: References: <52E29277-1403-4755-901A-528116C43FB8@oracle.com> <58ADBC0C-9D44-485B-BB5A-B072664B9C4F@oracle.com> <6FD42B95-F73D-4B75-B83A-BAC4925B1714@oracle.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3608.120.23.2.7) x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 586613fc-b674-45be-53cb-08d95cdcfa3d x-ms-traffictypediagnostic: CH2PR10MB4022: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ZB2JpoM7Qmmekis6jnIyenQOMjIEtAfeDpm4UV+9RVSlvJiLY/bDFHmepIGQmmA6Q7Hc4MY97a/7x4+d1z0abuxmtvaD3NRzot4BNQdB3jf3X+gQfI51ChIgKjH+u4denME2ZC1+sdM3M5YR2GwJXsIB3mRBB3LEH8bsRGsrAtcnW+EVhE+UP2Xe/8rzF5NE4qeL8rU7iy92+CkugOw2fXyvLJ0yFXGWo93Bjw+OOtwDueThwN/CdBpJTOVnb+k+zaQ1fTIF7s2zVKNyONYaS3caj1s0175/ugTB1fN0MDfcdZ3xI/c02iyZH8q9Dg88HgcSca4a/9cz9yD5Rs/SRcLWHZK2K2zPre1I0fhzBiBa0WcHKn2Zb9+O77FgHFPXPPqJyb4EHBa0b/9VBKhc4/nIhmEBcV0JONkherzPwNieltuqrUjDHt2JF9s8NwCYUqf+YCfKImu9IOHZDGOa+2Q2oCDMEATt932dyE9P3YGdL0ajHnBLkxJs7YdITSezsOag0UQg82khQEuOWsMtJHzZZzmWNSVSq72soq7Yz4Zi9bgv8kD8cemAR5qAiSM8r54nZMkXqCIfPESzCNVbddzP5XmjhZ/ZlLD2c//FN6XsneUbgzcBy5NvYskamqiu0cnHSVmZ2Un7r4rQtePmX6WS/VEqQPBT8dPcXIfXFWDZBC7gJp/N4z0g9FuicETgoVSVpWlBiscLupGL7FCM1qZWgA33tlMLMNsK1+cGm6NhnRUOftaPEqLVZ0Z1WKIuk6Nv6yrLAhfxRC5iwzCcxg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR10MB4344.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(396003)(39860400002)(376002)(136003)(346002)(366004)(186003)(44832011)(26005)(6512007)(71200400001)(110136005)(478600001)(38070700005)(2616005)(4326008)(5660300002)(54906003)(316002)(66556008)(8936002)(2906002)(76116006)(91956017)(53546011)(83380400001)(8676002)(6506007)(33656002)(122000001)(66446008)(64756008)(36756003)(86362001)(66574015)(66476007)(38100700002)(6486002)(66946007)(45980500001)(266184004); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?anQ1WDZTQzhuRDExK0hzNHBFb1ZDNWFvY1VjMUpWbXJkMlNrSGNSUWF3TlhS?= =?utf-8?B?a3kwby9pWEk1NG5PNXh4UXl1aWdtSVNtenUwb21tdmNrcUVQTCtFdG9FQTRS?= =?utf-8?B?MFUxSmdVRnR3Zm1uRkgvelFjME5RQ2QzZXc5REk0dER1SlVheTd5QnlRTWVj?= =?utf-8?B?WUVrTWQ4NXVEaTArYzdidWdxSVEveFc5d09pQTNBbmZuVzlYZmlRZUE2SkxO?= =?utf-8?B?alRXdUtudUlaQ1NCZkd0bEJJbDRYVVloN0JhdmNNbC8zK2c4LzJHL2pxSGdp?= =?utf-8?B?ZnJaM1NOcVFscU5LOXFENmhvSHZEVkpqcTl0TTlLcTd6aG1uWk4wN3c2THMz?= =?utf-8?B?ZWNXLzJqTk43YXFYaUVYYUYxREFyK0YzU2MycWl2TXZoVFk0VjFjVlE5ckVn?= =?utf-8?B?V0VTWFJubzdvcE5tYXM4MW1VVzluRVQ0WXAxU0N0dk9LTE5KUkkxemVnaGR2?= =?utf-8?B?d1JwYWltNjhBR3RuNGlnTUFFUldsR0FGeit6U2dQNENwdHRTa2F3QlVoRW1t?= =?utf-8?B?TEhsSGJ2V1E5Y2hmeG5aR0IydTdQNE5kb1lhRVFNbFUwdk02SW1JanZsSmpF?= =?utf-8?B?UXIyejg0STJ1VEpielBQUlViQnlQeTlZUmRPZEx1TWFtcWZKajZKbnl3UU5u?= =?utf-8?B?aU5LZmVsMWtPUnJUS2NTS2ZpbXovZWRSaXFrT0JiZU5Nd1ZKWVkrc1A1Z09l?= =?utf-8?B?cjFEOEhnRTVMVUdNN2c1ejhpUkNoZG5NdEUrMDY5TENsN2p3S2E4Z3EvT29Z?= =?utf-8?B?Mlh1dmVuQzV2Q1lQajZjNTVvbDFhZVVsbGwvNXEyTVpMRWlJODh5Umpsbnc3?= =?utf-8?B?OGpEY1MyQmxxVmRjWSsrbStIZGtxazVUdVJ3L2JEbnZOdmk0QVhhcUVLWCta?= =?utf-8?B?ckVhQjRON3ZjdXBjb1ZTVDIxckdlY0RCRklnaWpzc2hOQXhtbkgyOXMvZHpQ?= =?utf-8?B?TEk3N3VtaTA2dlNZbEx5RTFTOFRlekJLTGFCZmMxdyt6Z2VKNVB0anlhVGE2?= =?utf-8?B?ZHk5QlBhWHJ6VUxlN0Y0blREMzBvYjZZUmV1eWVSZ2VTVDgxNHdOWk00MkRh?= =?utf-8?B?Z0lGdHVhRHJXVTFQNjFHVmpid2hpQjVlcVpPSHdVTGRuOWNBbVJ1WkptT3lv?= =?utf-8?B?SXdra3I3VWhNdTNvckpLajVIT2lGUURGNUtEYThTVSt5Um45bXhlZ2llTVZW?= =?utf-8?B?Qmd1R2IwemJSbUJxMUdnTHZ4WGUvVm5CMUhwbytIUEFlS1o2ODhYbFdsYkxn?= =?utf-8?B?WEh6UHVSYkd3M3JkZ25vVlZZTEtXWFlRSUpMek40SEYyVStna1RUWTB2YXFt?= =?utf-8?B?OWt4d1M0aWp1N3pXRUJHK29iYXRxTGFqK3NWSStOWUVaQWt0dTRVWXRpMDUw?= =?utf-8?B?aG1pVzYreE5IbG5wMCtuTmo3UEg0bDhrZnFIN2RmbmJQMTlBaXRDU3F3bytX?= =?utf-8?B?SlFpRnBBVm1FWDRSUWNEMmN3Q2xQczFoWGQ2b2paMWp1V2Y0VVZiYXRpSmlk?= =?utf-8?B?dzAxeGdPMmhYTW40em1lWmJkVnNNVkJCZjE0bGhYKyt4K1E3UnpQVnVmRUhP?= =?utf-8?B?SlZvdnNmOUEvQVNESVFSV2tSRUk1REhWdWZMaTFIRGlqUEhaU2ZOaUxsaVkz?= =?utf-8?B?OWpacTFZUFpCYU5wVElhRFhqb1U3RVRuUDZtbDV3eEhqSTFoOVZ2a0dzeXJN?= =?utf-8?B?VkV3di9zRjI1R2xIb1dLWWxyUCtVWjBpYmEyMEdFS2tvcmxFb1dUZTdRYkZZ?= =?utf-8?Q?31+fYB5OT4KMhmj05doyilDqQt6wvnf0pUKv0/l?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR10MB4344.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 586613fc-b674-45be-53cb-08d95cdcfa3d X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2021 15:30:40.9265 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: TskoS/+7i2RR7zAF/7JJ2TiKGymAKQXueVS0l4B66hy8EcoMw/fmNbo2ljJMBetEa9CjPsXNlz6wrkYUXnYhew== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR10MB4022 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10073 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 mlxscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2107140000 definitions=main-2108110104 X-Proofpoint-ORIG-GUID: Nw3J7J1Y3l3C3fjtyzCSYOzxo-K3d3o- X-Proofpoint-GUID: Nw3J7J1Y3l3C3fjtyzCSYOzxo-K3d3o- X-Spam-Status: No, score=-10.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_BL, RCVD_IN_MSPIKE_L3, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Aug 2021 15:31:12 -0000 SSBtb2RpZmllZCB0aGUgcm91dGluZSDigJxnaW1wbGVfYWRkX2luaXRfZm9yX2F1dG9fdmFy4oCd IGFzIHRoZSBmb2xsb3dpbmc6DQo9PT09DQovKiBHZW5lcmF0ZSBpbml0aWFsaXphdGlvbiB0byBh dXRvbWF0aWMgdmFyaWFibGUgREVDTCBiYXNlZCBvbiBJTklUX1RZUEUuDQogICBCdWlsZCBhIGNh bGwgdG8gaW50ZXJuYWwgY29uc3QgZnVuY3Rpb24gREVGRVJSRURfSU5JVDoNCiAgIDFzdCBhcmd1 bWVudDogU0laRSBvZiB0aGUgREVDTDsNCiAgIDJuZCBhcmd1bWVudDogSU5JVF9UWVBFOw0KICAg M3JkIGFyZ3VtZW50OiBJU19WTEEsIDAgTk8sIDEgWUVTOw0KDQogICBhcyBERUZFUlJFRF9JTklU IChTSVpFIG9mIHRoZSBERUNMLCBJTklUX1RZUEUsIElTX1ZMQSkuICAqLw0Kc3RhdGljIHZvaWQN CmdpbXBsZV9hZGRfaW5pdF9mb3JfYXV0b192YXIgKHRyZWUgZGVjbCwNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGVudW0gYXV0b19pbml0X3R5cGUgaW5pdF90eXBlLA0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc192bGEsDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBnaW1wbGVfc2VxICpzZXFfcCkNCnsNCiAgZ2NjX2Fzc2VydCAoVkFSX1AgKGRlY2wp ICYmICFERUNMX0VYVEVSTkFMIChkZWNsKSAmJiAhVFJFRV9TVEFUSUMgKGRlY2wpKTsNCiAgZ2Nj X2Fzc2VydCAoaW5pdF90eXBlID4gQVVUT19JTklUX1VOSU5JVElBTElaRUQpOw0KICB0cmVlIGRl Y2xfc2l6ZSA9IFRZUEVfU0laRV9VTklUIChUUkVFX1RZUEUgKGRlY2wpKTsNCg0KICB0cmVlIGlu aXRfdHlwZV9ub2RlDQogICAgPSBidWlsZF9pbnRfY3N0IChpbnRlZ2VyX3R5cGVfbm9kZSwgKGlu dCkgaW5pdF90eXBlKTsNCiAgdHJlZSBpc192bGFfbm9kZQ0KICAgID0gYnVpbGRfaW50X2NzdCAo aW50ZWdlcl90eXBlX25vZGUsIChpbnQpIGlzX3ZsYSk7DQoNCiAgdHJlZSBjYWxsID0gYnVpbGRf Y2FsbF9leHByX2ludGVybmFsX2xvYyAoVU5LTk9XTl9MT0NBVElPTiwgSUZOX0RFRkVSUkVEX0lO SVQsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSRUVfVFlQ RSAoZGVjbCksIDMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGRlY2xfc2l6ZSwgaW5pdF90eXBlX25vZGUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGlzX3ZsYV9ub2RlKTsNCg0KICAvKiBJZiB0aGlzIERFQ0wgaXMgYSBW TEEsIGEgdGVtcG9yYXJ5IGFkZHJlc3MgdmFyaWFibGUgZm9yIGl0IGhhcyBiZWVuDQogICAgIGNy ZWF0ZWQsIHRoZSByZXBsYWNlbWVudCBmb3IgREVDTCBpcyByZWNvcmRlZCBpbiBERUNMX1ZBTFVF X0VYUFIgKGRlY2wpLA0KICAgICB3ZSBzaG91bGQgdXNlIGl0IGFzIHRoZSBMSFMgb2YgdGhlIGNh bGwuICAqLw0KDQogIHRyZWUgbGhzX2NhbGwNCiAgICA9IGlzX3ZsYSA/IERFQ0xfVkFMVUVfRVhQ UiAoZGVjbCkgOiBkZWNsOw0KICBnaW1wbGlmeV9hc3NpZ24gKGxoc19jYWxsLCBjYWxsLCBzZXFf cCk7DQp9DQoNCldpdGggdGhpcyBjaGFuZ2UsIHRoZSBjdXJyZW50IGlzc3VlIGlzIHJlc29sdmVk LCB0aGUgZ2ltcGxlIGR1bXAgbm93IGlzOg0KDQogKCphcnIuMSkgPSAuREVGRVJSRURfSU5JVCAo RC4xOTUyLCAyLCAxKTsNCg0KSG93ZXZlciwgdGhlcmUgaXMgYW5vdGhlciBuZXcgaXNzdWU6DQoN CkZvciB0aGUgZm9sbG93aW5nIHRlc3RpbmcgY2FzZToNCg0KPT09PT09DQpbb3BjQHFpbnpoYW8t b2w4dTMteDg2IGdjY10kIGNhdCB0LmMNCmludCBiYXI7DQoNCmV4dGVybiB2b2lkIGRlY29kZV9y ZWxvYyhpbnQgKik7DQoNCnZvaWQgdGVzdGZ1bmMoKQ0Kew0KICBpbnQgYWx0X3JlbG9jOw0KDQog IGRlY29kZV9yZWxvYygmYWx0X3JlbG9jKTsNCg0KICBpZiAoYWx0X3JlbG9jKSAvKiB7IGRnLXdh cm5pbmcgIm1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQiIH0gKi8NCiAgICBiYXIgPSA0MjsgDQp9 DQo9PT09PQ0KDQpJbiB0aGUgYWJvdmUsIHRoZSBhdXRvIHZhciDigJxhbHRfcmVsb2PigJ0gaXMg YWRkcmVzcyB0YWtlbiwgdGhlbiB0aGUgZ2ltcGxlIGR1bXAgZm9yIGl0IHdoZW4gY29tcGlsZWQg d2l0aCAtZnRyaXZpYWwtYXV0by12YXItaW5pdD16ZXJvIGlzOg0KDQp2b2lkIHRlc3RmdW5jICgp DQp7DQogIGludCBhbHRfcmVsb2M7DQoNCiAgdHJ5DQogICAgew0KICAgICAgXzEgPSAuREVGRVJS RURfSU5JVCAoNCwgMiwgMCk7DQogICAgICBhbHRfcmVsb2MgPSBfMTsNCiAgICAgIGRlY29kZV9y ZWxvYyAoJmFsdF9yZWxvYyk7DQogICAgICBhbHRfcmVsb2MuMF8yID0gYWx0X3JlbG9jOw0KICAg ICAgaWYgKGFsdF9yZWxvYy4wXzIgIT0gMCkgZ290byA8RC4xOTQ5PjsgZWxzZSBnb3RvIDxELjE5 NTA+Ow0KICAgICAgPEQuMTk0OT46DQogICAgICBiYXIgPSA0MjsNCiAgICAgIDxELjE5NTA+Og0K ICAgIH0NCiAgZmluYWxseQ0KICAgIHsNCiAgICAgIGFsdF9yZWxvYyA9IHtDTE9CQkVSfTsNCiAg ICB9DQp9DQoNCkkuZSwgaW5zdGVhZCBvZiB0aGUgZXhwZWN0ZWQgSVI6DQoNCmFsdF9yZWxvYyA9 IC5ERUZFUlJFRF9JTklUICg0LCAyLCAwKTsNCg0KV2UgZ290IHRoZSBmb2xsb3dpbmc6DQoNCiBf MSA9IC5ERUZFUlJFRF9JTklUICg0LCAyLCAwKTsNCiAgICAgIGFsdF9yZWxvYyA9IF8xOw0KDQpJ IGd1ZXNzIHRoZSB0ZW1wIOKAnF8x4oCdIGlzIGNyZWF0ZWQgYmVjYXVzZSDigJxhbHRfcmVsb2Pi gJ0gaXMgYWRkcmVzcyB0YWtlbi4gDQoNCk15IHF1ZXN0aW9uczoNCg0KU2hhbGwgd2UgYWNjZXB0 IHN1Y2ggSVIgZm9yIC5ERUZFUlJFRF9JTklUIHB1cnBvc2Ugd2hlbiB0aGUgYXV0byB2YXIgaXMg YWRkcmVzcyB0YWtlbj8gDQpJZiBzbywg4oCcdW5pbml0aWFsaXplZCBhbmFseXNpc+KAnSBwaGFz ZSBuZWVkIHRvIGJlIGZ1cnRoZXIgYWRqdXN0ZWQgdG8gc3BlY2lhbGx5IGhhbmRsZSBzdWNoIElS LiANCg0KSWYgbm90LCB3aGF0IHNob3VsZCB3ZSBkbyB3aGVuIHRoZSBhdXRvIHZhciBpcyBhZGRy ZXNzIHRha2VuPw0KDQpUaGFua3MgYSBsb3QuDQoNClFpbmcNCg0KDQo+IE9uIEF1ZyAxMSwgMjAy MSwgYXQgODo1OCBBTSwgUmljaGFyZCBCaWVuZXIgPHJndWVudGhlckBzdXNlLmRlPiB3cm90ZToN Cj4gDQo+IE9uIFdlZCwgMTEgQXVnIDIwMjEsIFFpbmcgWmhhbyB3cm90ZToNCj4gDQo+PiANCj4+ IA0KPj4+IE9uIEF1ZyAxMSwgMjAyMSwgYXQgODozNyBBTSwgUmljaGFyZCBCaWVuZXIgPHJndWVu dGhlckBzdXNlLmRlPiB3cm90ZToNCj4+PiANCj4+PiBPbiBXZWQsIDExIEF1ZyAyMDIxLCBRaW5n IFpoYW8gd3JvdGU6DQo+Pj4gDQo+Pj4+IA0KPj4+PiANCj4+Pj4+IE9uIEF1ZyAxMSwgMjAyMSwg YXQgMjowMiBBTSwgUmljaGFyZCBCaWVuZXIgPHJndWVudGhlckBzdXNlLmRlPiB3cm90ZToNCj4+ Pj4+IA0KPj4+Pj4gT24gVHVlLCAxMCBBdWcgMjAyMSwgUWluZyBaaGFvIHdyb3RlOg0KPj4+Pj4g DQo+Pj4+Pj4gDQo+Pj4+Pj4gDQo+Pj4+Pj4+IE9uIEF1ZyAxMCwgMjAyMSwgYXQgMzoxNiBQTSwg UWluZyBaaGFvIHZpYSBHY2MtcGF0Y2hlcyA8Z2NjLXBhdGNoZXNAZ2NjLmdudS5vcmc+IHdyb3Rl Og0KPj4+Pj4+PiANCj4+Pj4+Pj4gSGksIFJpY2hhcmQsDQo+Pj4+Pj4+IA0KPj4+Pj4+Pj4gT24g QXVnIDEwLCAyMDIxLCBhdCAxMDoyMiBBTSwgUmljaGFyZCBCaWVuZXIgPHJndWVudGhlckBzdXNl LmRlPiB3cm90ZToNCj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+IEVzcGVjaWFsbHkgaW4gdGhlIFZM QSBjYXNlIGJ1dCBsaWtlbHkgYWxzbyBpbiBnZW5lcmFsICh0aG91Z2ggdW5saWtlbHkNCj4+Pj4+ Pj4+Pj4gc2luY2UgdXN1YWxseSB0aGUgcmVjZWl2ZXIgb2YgaW5pdGlhbGl6YXRpb25zIGFyZSBz aW1wbGUgZW5vdWdoKS4gIEknZA0KPj4+Pj4+Pj4+PiBleHBlY3QgdGhlIFZMQSBjYXNlIGVuZCB1 cCBhcw0KPj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+Pj4gKnB0cl90b19kZWNsID0gLkRFRkVSUkVEX0lO SVQgKC4uLik7DQo+Pj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+PiB3aGVyZSAqcHRyX3RvX2RlY2wgaXMg dGhlIERFQ0xfVkFMVUVfRVhQUiBvZiB0aGUgZGVjbC4NCj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+PiBT bywgZm9yIHRoZSBmb2xsb3dpbmcgc21hbGwgdGVzdGluZyBjYXNlOg0KPj4+Pj4+Pj4+IA0KPj4+ Pj4+Pj4+ID09PT0NCj4+Pj4+Pj4+PiBleHRlcm4gdm9pZCBiYXIgKGludCk7DQo+Pj4+Pj4+Pj4g DQo+Pj4+Pj4+Pj4gdm9pZCBmb28oaW50IG4pDQo+Pj4+Pj4+Pj4gew0KPj4+Pj4+Pj4+IGludCBh cnJbbl07DQo+Pj4+Pj4+Pj4gYmFyIChhcnJbMl0pOw0KPj4+Pj4+Pj4+IHJldHVybjsNCj4+Pj4+ Pj4+PiB9DQo+Pj4+Pj4+Pj4gPT09PT0NCj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+PiBJZiBJIGNvbXBp bGUgaXQgd2l0aCAtZnRyaXZpYWwtYXV0by12YXItaW5pdD16ZXJvIC1mZHVtcC10cmVlLWdpbXBs ZSAtUyAtbyBhdXRvLWluaXQtMTEucyAtZmR1bXAtcnRsLWV4cGFuZCwgdGhlICouZ2ltcGxlIGR1 bXAgaXM6DQo+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4gPT09PT0NCj4+Pj4+Pj4+PiB2b2lkIGZvbyAo aW50IG4pDQo+Pj4+Pj4+Pj4gew0KPj4+Pj4+Pj4+IGludCBuLjA7DQo+Pj4+Pj4+Pj4gc2l6ZXR5 cGUgRC4xOTUwOw0KPj4+Pj4+Pj4+IGJpdHNpemV0eXBlIEQuMTk1MTsNCj4+Pj4+Pj4+PiBzaXpl dHlwZSBELjE5NTI7DQo+Pj4+Pj4+Pj4gYml0c2l6ZXR5cGUgRC4xOTUzOw0KPj4+Pj4+Pj4+IHNp emV0eXBlIEQuMTk1NDsNCj4+Pj4+Pj4+PiBpbnRbMDpELjE5NTBdICogYXJyLjE7DQo+Pj4+Pj4+ Pj4gdm9pZCAqIHNhdmVkX3N0YWNrLjI7DQo+Pj4+Pj4+Pj4gaW50IGFyclswOkQuMTk1MF0gW3Zh bHVlLWV4cHI6ICphcnIuMV07DQo+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4gc2F2ZWRfc3RhY2suMiA9 IF9fYnVpbHRpbl9zdGFja19zYXZlICgpOw0KPj4+Pj4+Pj4+IHRyeQ0KPj4+Pj4+Pj4+IHsNCj4+ Pj4+Pj4+PiAgbi4wID0gbjsNCj4+Pj4+Pj4+PiAgXzEgPSAobG9uZyBpbnQpIG4uMDsNCj4+Pj4+ Pj4+PiAgXzIgPSBfMSArIC0xOw0KPj4+Pj4+Pj4+ICBfMyA9IChzaXpldHlwZSkgXzI7DQo+Pj4+ Pj4+Pj4gIEQuMTk1MCA9IF8zOw0KPj4+Pj4+Pj4+ICBfNCA9IChzaXpldHlwZSkgbi4wOw0KPj4+ Pj4+Pj4+ICBfNSA9IChiaXRzaXpldHlwZSkgXzQ7DQo+Pj4+Pj4+Pj4gIF82ID0gXzUgKiAzMjsN Cj4+Pj4+Pj4+PiAgRC4xOTUxID0gXzY7DQo+Pj4+Pj4+Pj4gIF83ID0gKHNpemV0eXBlKSBuLjA7 DQo+Pj4+Pj4+Pj4gIF84ID0gXzcgKiA0Ow0KPj4+Pj4+Pj4+ICBELjE5NTIgPSBfODsNCj4+Pj4+ Pj4+PiAgXzkgPSAoc2l6ZXR5cGUpIG4uMDsNCj4+Pj4+Pj4+PiAgXzEwID0gKGJpdHNpemV0eXBl KSBfOTsNCj4+Pj4+Pj4+PiAgXzExID0gXzEwICogMzI7DQo+Pj4+Pj4+Pj4gIEQuMTk1MyA9IF8x MTsNCj4+Pj4+Pj4+PiAgXzEyID0gKHNpemV0eXBlKSBuLjA7DQo+Pj4+Pj4+Pj4gIF8xMyA9IF8x MiAqIDQ7DQo+Pj4+Pj4+Pj4gIEQuMTk1NCA9IF8xMzsNCj4+Pj4+Pj4+PiAgYXJyLjEgPSBfX2J1 aWx0aW5fYWxsb2NhX3dpdGhfYWxpZ24gKEQuMTk1NCwgMzIpOw0KPj4+Pj4+Pj4+ICBhcnIgPSAu REVGRVJSRURfSU5JVCAoRC4xOTUyLCAyLCAxKTsNCj4+Pj4+Pj4+PiAgXzE0ID0gKCphcnIuMSlb Ml07DQo+Pj4+Pj4+Pj4gIGJhciAoXzE0KTsNCj4+Pj4+Pj4+PiAgcmV0dXJuOw0KPj4+Pj4+Pj4+ IH0NCj4+Pj4+Pj4+PiBmaW5hbGx5DQo+Pj4+Pj4+Pj4gew0KPj4+Pj4+Pj4+ICBfX2J1aWx0aW5f c3RhY2tfcmVzdG9yZSAoc2F2ZWRfc3RhY2suMik7DQo+Pj4+Pj4+Pj4gfQ0KPj4+Pj4+Pj4+IH0N Cj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+PiA9PT09DQo+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4gWW91IHRo aW5rIHRoYXQgdGhlIGFib3ZlIC5ERUZFRVJFRF9JTklUIGlzIG5vdCBjb3JyZWN0Pw0KPj4+Pj4+ Pj4+IEl0IHNob3VsZCBiZToNCj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+PiAqYXJyLjEgPSAuREVGRVJS RURfSU5JVCAoRC4xOTUyLiAyLCAxKTsNCj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+PiA/DQo+Pj4+Pj4+ PiANCj4+Pj4+Pj4+IFllcy4NCj4+Pj4+Pj4+IA0KPj4+Pj4+PiANCj4+Pj4+Pj4gSSB1cGRhdGVk IGdpbXBsaWZ5LmMgZm9yIFZMQSBhbmQgbm93IGl0IGVtaXRzIHRoZSBjYWxsIHRvIC5ERUZFUlJF RF9JTklUIGFzOg0KPj4+Pj4+PiANCj4+Pj4+Pj4gICBhcnIuMSA9IF9fYnVpbHRpbl9hbGxvY2Ff d2l0aF9hbGlnbiAoRC4xOTU0LCAzMik7DQo+Pj4+Pj4+ICAgKmFyci4xID0gLkRFRkVSUkVEX0lO SVQgKEQuMTk1MiwgMiwgMSk7DQo+Pj4+Pj4+IA0KPj4+Pj4+PiBIb3dldmVyLCB0aGlzIGNhbGwg dHJpZ2dlcmVkIHRoZSBhc3NlcnRpb24gZmFpbHVyZSBpbiB2ZXJpZnlfZ2ltcGxlX2NhbGwgb2Yg dHJlZS1jZmcuYyBiZWNhdXNlIHRoZSBMSFMgaXMgbm90IGEgdmFsaWQgTEhTLiANCj4+Pj4+Pj4g VGhlbiBJIG1vZGlmeSB0cmVlLWNmZy5jIGFzOg0KPj4+Pj4+PiANCj4+Pj4+Pj4gZGlmZiAtLWdp dCBhL2djYy90cmVlLWNmZy5jIGIvZ2NjL3RyZWUtY2ZnLmMNCj4+Pj4+Pj4gaW5kZXggMzMwZWI3 ZGQ4OWJmLi4xODBkNGYxZjllMzIgMTAwNjQ0DQo+Pj4+Pj4+IC0tLSBhL2djYy90cmVlLWNmZy5j DQo+Pj4+Pj4+ICsrKyBiL2djYy90cmVlLWNmZy5jDQo+Pj4+Pj4+IEBAIC0zMzc1LDcgKzMzNzUs MTEgQEAgdmVyaWZ5X2dpbXBsZV9jYWxsIChnY2FsbCAqc3RtdCkNCj4+Pj4+Pj4gICB9DQo+Pj4+ Pj4+IA0KPj4+Pj4+PiB0cmVlIGxocyA9IGdpbXBsZV9jYWxsX2xocyAoc3RtdCk7DQo+Pj4+Pj4+ ICsgIC8qIEZvciAuREVGRVJSRURfSU5JVCBjYWxsLCB0aGUgTEhTIG1pZ2h0IGJlIGFuIGluZGly ZWN0aW9uIG9mDQo+Pj4+Pj4+ICsgICAgIGEgcG9pbnRlciBmb3IgdGhlIFZMQSB2YXJpYWJsZSwg d2hpY2ggaXMgbm90IGEgdmFsaWQgTEhTIG9mDQo+Pj4+Pj4+ICsgICAgIGEgZ2ltcGxlIGNhbGws IHdlIGlnbm9yZSB0aGUgYXNzc2VydGlvbiBvbiB0aGlzLiAgKi8gDQo+Pj4+Pj4+IGlmIChsaHMN Cj4+Pj4+Pj4gKyAgICAgICYmICghZ2ltcGxlX2NhbGxfaW50ZXJuYWxfcCAoc3RtdCwgSUZOX0RF RkVSUkVEX0lOSVQpKQ0KPj4+Pj4+PiAgICAmJiAoIWlzX2dpbXBsZV9yZWcgKGxocykNCj4+Pj4+ Pj4gICAgICAgJiYgKCFpc19naW1wbGVfbHZhbHVlIChsaHMpDQo+Pj4+Pj4+ICAgICAgICAgICB8 fCB2ZXJpZnlfdHlwZXNfaW5fZ2ltcGxlX3JlZmVyZW5jZQ0KPj4+Pj4+PiANCj4+Pj4+Pj4gVGhl IGFzc2VydGlvbiBmYWlsdXJlIGluIHRyZWUtY2ZnLmMgZ290IHJlc29sdmVkLCBidXQgSSBnb3Qg YW5vdGhlciBhc3NlcnRpb24gZmFpbHVyZSBpbiBvcGVyYW5kc19zY2FubmVyOjpnZXRfZXhwcl9v cGVyYW5kcyAodHJlZSAqZXhwcl9wLCBpbnQgZmxhZ3MpLCBsaW5lIDk0NToNCj4+Pj4+Pj4gDQo+ Pj4+Pj4+IDkzOSAgIC8qIElmIHdlIGdldCBoZXJlLCBzb21ldGhpbmcgaGFzIGdvbmUgd3Jvbmcu ICAqLw0KPj4+Pj4+PiA5NDAgICBpZiAoZmxhZ19jaGVja2luZykNCj4+Pj4+Pj4gOTQxICAgICB7 DQo+Pj4+Pj4+IDk0MiAgICAgICBmcHJpbnRmIChzdGRlcnIsICJ1bmhhbmRsZWQgZXhwcmVzc2lv biBpbiBnZXRfZXhwcl9vcGVyYW5kcygpOlxuIik7DQo+Pj4+Pj4+IDk0MyAgICAgICBkZWJ1Z190 cmVlIChleHByKTsNCj4+Pj4+Pj4gOTQ0ICAgICAgIGZwdXRzICgiXG4iLCBzdGRlcnIpOw0KPj4+ Pj4+PiA5NDUgICAgICAgZ2NjX3VucmVhY2hhYmxlICgpOw0KPj4+Pj4+PiA5NDYgICAgIH0NCj4+ Pj4+Pj4gDQo+Pj4+Pj4+IExvb2tzIGxpa2UgdGhhdCAgdGhlIGdpbXBsZSBzdGF0ZW1lbnQ6DQo+ Pj4+Pj4+ICphcnIuMSA9IC5ERUZFUlJFRF9JTklUIChELjE5NTIsIDIsIDEpOw0KPj4+Pj4+PiAN Cj4+Pj4+Pj4gSXMgbm90IHZhbGlkLiAgaS5lLCB0aGUgTEhTIHNob3VsZCBub3QgYmUgYW4gaW5k aXJlY3Rpb24gdG8gYSBwb2ludGVyLiANCj4+Pj4+Pj4gDQo+Pj4+Pj4+IEhvdyB0byByZXNvbHZl IHRoaXMgaXNzdWU/DQo+Pj4+PiANCj4+Pj4+IEl0IHNvdW5kcyBsaWtlIHRoZSBMSFMgaXMgYW4g SU5ESVJFQ1RfUkVGIG1heWJlPyAgVGhhdCBtZWFucyBpdCdzDQo+Pj4+PiBzdGlsbCBub3QgcHJv cGVybHkgZ2ltcGxpZmllZCBiZWNhdXNlIGl0IHNob3VsZCBlbmQgdXAgYXMgYSBNRU1fUkVGDQo+ Pj4+PiBpbnN0ZWFkLg0KPj4+Pj4gDQo+Pj4+PiBCdXQgSSdtIGp1c3QgZ3Vlc3NpbmcgaGVyZSAu Li4gaWYgeW91IGFyZSBpbiBhIGRlYnVnZ2VyIHRoZW4geW91IGNhbg0KPj4+Pj4gaW52b2tlIGRl YnVnX3RyZWUgKGxocykgaW4gdGhlIGluZmVyaW9yIHRvIHNlZSB3aGF0IGl0IGV4YWN0bHkgaXMN Cj4+Pj4+IGF0IHRoZSBwb2ludCBvZiB0aGUgZmFpbHVyZS4NCj4+Pj4gDQo+Pj4+IFllcywgaXTi gJlzIGFuIElORElSRUNUX1JFRiBhdCB0aGUgcG9pbnQgb2YgdGhlIGZhaWx1cmUgZXZlbiB0aG91 Z2ggSSBhZGRlZCBhIA0KPj4+PiANCj4+Pj4gZ2ltcGxpZnlfdmFyX29yX3Bhcm1fZGVjbCAgKGxo cykgDQo+Pj4gDQo+Pj4gSSB0aGluayB0aGUgZWFzaWVzdCBpcyB0byBidWlsZCB0aGUgLkRFRkVS UkVEX0lOSVQgYXMgR0VORVJJQw0KPj4+IGFuZCB1c2UgZ2ltcGxpZnlfYXNzaWduICgpIHRvIGdp bXBsaWZ5IGFuZCBhZGQgdGhlIHJlc3VsdA0KPj4+IHRvIHRoZSBzZXF1ZW5jZS4gIFRodXMsIGJ1 aWxkIGEgR0VORVJJQyBDQUxMX0VYUFIgYW5kIHRoZW4NCj4+PiBnaW1wbGlmeV9hc3NpZ24gKGxo cywgY2FsbF9leHByLCBzZXEpOw0KPj4gDQo+PiBXaGljaCB1dGlsaXR5IHJvdXRpbmUgaXMgdXNl ZCB0byBidWlsZCBhbiBJbnRlcm5hbCBnZW5lcmljIGNhbGw/DQo+PiBDdXJyZW50bHksIEkgdXNl ZCDigJxnaW1wbGVfYnVpbGRfY2FsbF9pbnRlcm5hbOKAnSB0byBidWlsZCB0aGlzIGludGVybmFs IGdpbXBsZSBjYWxsLg0KPj4gDQo+PiBGb3IgdGhlIGdlbmVyaWMgY2FsbCwgc2hhbGwgSSB1c2Ug 4oCcYnVpbGRfY2FsbF9leHByX2xvY+KAnSA/IA0KPiANCj4gRm9yIGV4YW1wbGUgbG9vayBhdCBi dWlsZF9hc2FuX3BvaXNvbl9jYWxsX2V4cHIgd2hpY2ggZG9lcyBzdWNoIHRoaW5nDQo+IGZvciBB U0FOIHBvaXNvbiBpbnRlcm5hbCBmdW5jdGlvbiBjYWxsIGluc2VydGlvbiBhdCBnaW1wbGlmaWNh dGlvbiB0aW1lLg0KPiANCj4gUmljaGFyZC4NCj4gDQo+PiBRaW5nDQo+PiANCj4+PiANCj4+PiBS aWNoYXJkLg0KPj4+IA0KPj4+PiBRaW5nDQo+Pj4+IA0KPj4+Pj4gDQo+Pj4+Pj4gSSBjYW1lIHVw IHdpdGggdGhlIGZvbGxvd2luZyBzb2x1dGlvbjoNCj4+Pj4+PiANCj4+Pj4+PiBEZWZpbmUgdGhl IElGTl9ERUZFUlJFRF9JTklUIGZ1bmN0aW9uIGFzOg0KPj4+Pj4+IA0KPj4+Pj4+IExIUyA9IERF RkVSUkVEX0lOSVQgKFNJWkUgb2YgdGhlIERFQ0wsIElOSVRfVFlQRSwgSVNfVkxBKTsNCj4+Pj4+ PiANCj4+Pj4+PiBpZiBJU19WTEEgaXMgZmFsc2UsIHRoZSBMSFMgaXMgdGhlIERFQ0wgaXRzZWxm LA0KPj4+Pj4+IGlmIElTX1ZMQSBpcyB0cnVlLCB0aGUgTEhTIGlzIHRoZSBwb2ludGVyIHRvIHRo aXMgREVDTCB0aGF0IGNyZWF0ZWQgYnkNCj4+Pj4+PiBnaW1wbGlmeV92bGFfZGVjbC4NCj4+Pj4+ PiANCj4+Pj4+PiANCj4+Pj4+PiBUaGUgYmVuZWZpdCBvZiB0aGlzIHNvbHV0aW9uIGFyZToNCj4+ Pj4+PiANCj4+Pj4+PiAxLiBSZXNvbHZlZCB0aGUgaW52YWxpZCBJUiBpc3N1ZTsNCj4+Pj4+PiAy LiBUaGUgY2FsbCBzdG10IGNhcnJpZXMgdGhlIGFkZHJlc3Mgb2YgdGhlIFZMQSBuYXR1YWxseTsN Cj4+Pj4+PiANCj4+Pj4+PiBUaGUgaXNzdWUgd2l0aCB0aGlzIHNvbHV0aW9uIGlzOg0KPj4+Pj4+ IA0KPj4+Pj4+IEZvciBWTEEgYW5kIG5vbi1WTEEsIHRoZSBMSFMgd2lsbCBiZSBkaWZmZXJlbnQs IA0KPj4+Pj4+IA0KPj4+Pj4+IERvIHlvdSBzZWUgYW55IG90aGVyIHBvdGVudGlhbCBpc3N1ZXMg d2l0aCB0aGlzIHNvbHV0aW9uPw0KPj4+Pj4+IA0KPj4+Pj4+IHRoYW5rcy4NCj4+Pj4+PiANCj4+ Pj4+PiBRaW5nDQo+Pj4+Pj4gDQo+Pj4+Pj4gDQo+Pj4+Pj4gDQo+Pj4+Pj4gDQo+Pj4+Pj4gDQo+ Pj4+PiANCj4+Pj4+IC0tIA0KPj4+Pj4gUmljaGFyZCBCaWVuZXIgPHJndWVudGhlckBzdXNlLmRl Pg0KPj4+Pj4gU1VTRSBTb2Z0d2FyZSBTb2x1dGlvbnMgR2VybWFueSBHbWJILCBNYXhmZWxkc3Ry YXNzZSA1LCA5MDQwOSBOdWVybmJlcmcsDQo+Pj4+PiBHZXJtYW55OyBHRjogRmVsaXggSW1lbmTD tnJmZmVyOyBIUkIgMzY4MDkgKEFHIE51ZXJuYmVyZykNCj4+Pj4gDQo+Pj4+IA0KPj4+IA0KPj4+ IC0tIA0KPj4+IFJpY2hhcmQgQmllbmVyIDxyZ3VlbnRoZXJAc3VzZS5kZT4NCj4+PiBTVVNFIFNv ZnR3YXJlIFNvbHV0aW9ucyBHZXJtYW55IEdtYkgsIE1heGZlbGRzdHJhc3NlIDUsIDkwNDA5IE51 ZXJuYmVyZywNCj4+PiBHZXJtYW55OyBHRjogRmVsaXggSW1lbmTDtnJmZmVyOyBIUkIgMzY4MDkg KEFHIE51ZXJuYmVyZykNCj4+IA0KPj4gDQo+IA0KPiAtLSANCj4gUmljaGFyZCBCaWVuZXIgPHJn dWVudGhlckBzdXNlLmRlPg0KPiBTVVNFIFNvZnR3YXJlIFNvbHV0aW9ucyBHZXJtYW55IEdtYkgs IE1heGZlbGRzdHJhc3NlIDUsIDkwNDA5IE51ZXJuYmVyZywNCj4gR2VybWFueTsgR0Y6IEZlbGl4 IEltZW5kw7ZyZmZlcjsgSFJCIDM2ODA5IChBRyBOdWVybmJlcmcpDQoNCg==