From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (EUR05-VI1-obe.outbound.protection.outlook.com [40.107.21.54]) by mx.groups.io with SMTP id smtpd.web08.1540.1627454509368451179 for ; Tue, 27 Jul 2021 23:41:51 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=Wjcham0Q; spf=pass (domain: arm.com, ip: 40.107.21.54, mailfrom: sami.mujawar@arm.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gQvrqaOPmj6/z+0cSzC3MZTcaLI1VsmMvu/wBcpIHz0=; b=Wjcham0Qj11X+Dt1AonRPMJE5McQJMjfewrZJWrNSNcU0ya2s99+FJctTm2pGKTJWSZxDk6ASyZYIQB/vbU+LzX4gvoskNkc3P3zPvTmwCFFpb89DGqiOp9VqntYMlJw4ipQtubEXhkI1fhOhrxGdA3ToR5g/Nm+vjw5VPUUs0Q= Received: from DB8PR06CA0003.eurprd06.prod.outlook.com (2603:10a6:10:100::16) by AS8PR08MB6376.eurprd08.prod.outlook.com (2603:10a6:20b:33e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18; Wed, 28 Jul 2021 06:41:45 +0000 Received: from DB5EUR03FT042.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:100:cafe::3d) by DB8PR06CA0003.outlook.office365.com (2603:10a6:10:100::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18 via Frontend Transport; Wed, 28 Jul 2021 06:41:45 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; edk2.groups.io; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;edk2.groups.io; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT042.mail.protection.outlook.com (10.152.21.123) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.24 via Frontend Transport; Wed, 28 Jul 2021 06:41:45 +0000 Received: ("Tessian outbound 1942ea606101:v100"); Wed, 28 Jul 2021 06:41:45 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 4711c9695dc607c3 X-CR-MTA-TID: 64aa7808 Received: from 4dbe5e66a6ed.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id F80240FB-0AD5-4425-B254-BD6917382B10.1; Wed, 28 Jul 2021 06:41:36 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4dbe5e66a6ed.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 28 Jul 2021 06:41:36 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V5dgb/qnhWAyUV95Xq/ChFUJ4aTm9yswMV54l18DmirwvBk1U4FiajZWOGko2Bj1pg89nyzz33d+XHZyzL0TMmMuIP9GUnc2UQnUYn1g+O3usELKe5KdGNJXwn0f2WQCGBNnh7hZDXsD6RmEEoCn78Snb88oXT9pLNkvxC1qTDBxeA/YvnEoQh9ki55AZJ/lC72D7No7gr1YHr6ZrWbatvKofeG3MWr9nTPPnO2hzfDYqZMRC3PiDazJ5/3DTL3huOCl4V7T/f8p4pgyJCgTz4xd8iv0PBSG0DdkzBVsof3LgS1a6Z5bq94DJusraqkCO/cMuis6/tqvNJmd1pTe1g== 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=gQvrqaOPmj6/z+0cSzC3MZTcaLI1VsmMvu/wBcpIHz0=; b=WYZRZnkW2ykg9K/MUnQ93KfrMPgY7ch65WdbCDpiT3pbbWwvdzerkl8a04WfwjrHBH0xOcA7nKzqS5W72hHKOhRpnz6hhFKxO06MKTz/1gL4iWMdlPUEl1n4bn224xM8y+xz8I3nzxI6SePSy1YuM1nf4mm87KIAIq6lUIDINEEU86v4ISmvfrPxzvuRJIFKO+MCC4m7wJtlmJuWuDKCSdYnhXdR7PYz15HYkqScO3TjdGPxqcoqezyETxHqBjEW51/wbal4v6fRoikjTIU/XdhKY7/xw0eqNaJmOBkyY27u0PpvBoZ4l69irhQtJ/KNb3p/a7ddGZX4N6n2zobPNA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gQvrqaOPmj6/z+0cSzC3MZTcaLI1VsmMvu/wBcpIHz0=; b=Wjcham0Qj11X+Dt1AonRPMJE5McQJMjfewrZJWrNSNcU0ya2s99+FJctTm2pGKTJWSZxDk6ASyZYIQB/vbU+LzX4gvoskNkc3P3zPvTmwCFFpb89DGqiOp9VqntYMlJw4ipQtubEXhkI1fhOhrxGdA3ToR5g/Nm+vjw5VPUUs0Q= Received: from AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) by AM6PR08MB2983.eurprd08.prod.outlook.com (2603:10a6:209:4d::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.25; Wed, 28 Jul 2021 06:41:33 +0000 Received: from AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::ca6:6171:e2f1:3d40]) by AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::ca6:6171:e2f1:3d40%5]) with mapi id 15.20.4352.031; Wed, 28 Jul 2021 06:41:32 +0000 From: "Sami Mujawar" To: gaoliming , "devel@edk2.groups.io" , "ardb@kernel.org" CC: 'Etienne Carriere' , Achin Gupta , 'Ard Biesheuvel' , 'Jiewen Yao' , 'Leif Lindholm' , 'Sughosh Ganu' , nd Subject: Re: [edk2-devel] [PATCH v4 5/5] StandaloneMmPkg: build for 32bit arm machines Thread-Topic: [edk2-devel] [PATCH v4 5/5] StandaloneMmPkg: build for 32bit arm machines Thread-Index: AQHXTH7biAEKxXqwx0+lL8tXj3K7bwLpIro9Ah7PCmoB25RMjgFi2aGOA3wkz/WqTOu7QICtXjrQ Date: Wed, 28 Jul 2021 06:41:32 +0000 Message-ID: References: <20210519071421.16387-1-etienne.carriere@linaro.org> <20210519071421.16387-5-etienne.carriere@linaro.org> <1eac1393-0845-5126-2093-960017dc47f6@arm.com> <004001d77d0b$12d8f680$388ae380$@byosoft.com.cn> <1693754E76E980B8.5055@groups.io>,<01e201d7837a$7965ea50$6c31bef0$@byosoft.com.cn> In-Reply-To: <01e201d7837a$7965ea50$6c31bef0$@byosoft.com.cn> Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Authentication-Results-Original: byosoft.com.cn; dkim=none (message not signed) header.d=none;byosoft.com.cn; dmarc=none action=none header.from=arm.com; x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: c364ace1-fc45-420b-b5bd-08d95192c4ba x-ms-traffictypediagnostic: AM6PR08MB2983:|AS8PR08MB6376: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:785;OLM:785; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: sZxjO6SZ26yrONkNwrnss5+3GrGhzSmCGlnUIUAwRh3maaVNvKj6P+slXFGKnEtplFvIJOryc8BmjSpGbjevY4y6nZr2Zono7SuI5cNTe+x71KOvS8gOFWcMNaN63jRkMKXScqeUw132RU5wpZmnEhILYTd88iAjW/wENaGhpw+6qdZ0IJw12RyeBCClopa0t+fxtvG1hxd3Y+9im1HmaeskCtgkgDKbYG5vB9DndkSL61JcHwQrlaTBpVFpl2ap+l/4tRTpz0Sy+GtKH2CiR6ZLAY4AvpjulmIUBGaFl+8Y7/Xp74G5KDLgtmKW2bUah8XFo40xvmEI/ru//1hxNRAZ4jt6R3CUt09ljrHTxGA42expL1fELq4AmMLvyiIxvl4rca4if7GGh/W9zhq8tspdV3mSi0eifZqb/YjA4vi433g2aKazN9sJwasD79zNcvCIYZvWSUDU8vWEdmS5RuJt2zGi9qUixHEb2lnehIagMtzaClU/QroOjYepZu8r26FTyo8JjgNJ33i2KMdwu2p1sRIG2Ng5wKcRHF2ps/VRPhOlvbykLM9DqTqZPm4zVC2TIiT+9PQrMwIQzIsqo1/W/owKPj9uqAbC0tDXEyxkCho6r1bIbWHCfaGZfUZuPZwNBKjDBsvyVaOcpcSVozXbNLMrEGebDFPRXAjKHZa1ciGFGpnKTEwQkLOg+9oQVs5Y1ErbZT3an0JBWW4B2V5hZUUS4OTq6Pj2sdGomjdMLo//2QRiwyXQ/M2B+0GIP5CAod2bqfdD0ZnHKGmiBefITdBOAhibHpIsEFrB2r/PJHm0Z6iTpsBTVHhJEn1O+bLYMPaV0v/qsBGix2Jcpw== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB6806.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(6029001)(4636009)(39850400004)(136003)(396003)(366004)(346002)(376002)(33656002)(91956017)(316002)(76116006)(66446008)(110136005)(86362001)(66476007)(54906003)(66556008)(55016002)(66946007)(26005)(122000001)(8676002)(83380400001)(53546011)(7696005)(5660300002)(4326008)(38100700002)(30864003)(478600001)(186003)(8936002)(64756008)(2906002)(166002)(9686003)(6506007)(52536014)(38070700005)(71200400001)(966005)(579004);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?gb2312?B?eXFpdmVRZVhGYnJ0clp4b0pSdXhObTFhWXVyalNabS9QZmF1bTQwRlBSRU9Y?= =?gb2312?B?cXdPYlJTbU1DVjB4c0duVTZUWFBxZEEyNHdIK0dpem9TeWUyWWNaUlZ2YjhL?= =?gb2312?B?RlpwcmUyc09NbXFVZ1RNWXgyelVpbEpYWHFNSFF4SWlkY00wekRvOHdxRHFH?= =?gb2312?B?YU84cEIyVFV6eUMzVk9tTGRzTlF6UEhxSUxmWGRRSDFxUUF3Rkl3M2p4VU9z?= =?gb2312?B?bFBETkRHOWdrM0xLdkdnc2dJUWtGbmhabUw1aUNYZlNjbHdYTnhqSS9qdjVR?= =?gb2312?B?LzAxejBTd21OWDVFOEkxUmdDQlNvT0dhdGRTSEtxY1JsaXZDVEdnVVMvdlFr?= =?gb2312?B?VEpta1J4QmlOcnF2OExvMmJjUEtJWE9WUFFpYkVOdE1KemlKWkx2UlBzNmVH?= =?gb2312?B?VGUyNXF3TXVodFQwQjJzeW5lay9EVGo2Q0Zma3A3ZlhKeGxPUERXejM3YUNX?= =?gb2312?B?eXh1QVlja0FDdGRLZ0w3cEhnYldwSmFZME80VU52VXVabWpOOCt2SnRHdmhv?= =?gb2312?B?YXVpNEFQdk9Nd1NvSmRqaWdLN3VFbWx0OHN3VS9kdHA1c1crSWpCUzRZU1dt?= =?gb2312?B?K3dHekR6Vi9TbTZzWkt1QXJXdTF0VXVnMUwxbENKRVk1QXhLQVM3eUFUNk1X?= =?gb2312?B?Rm1oa0NNUDA2c2EvaXgyVzU2RngzS0lZYUo5OFdYcHBUOTZkNEE0UlV1QkRm?= =?gb2312?B?b3kvTlYvTzE0djJIWi9talNteVBqQzBrNkFSWUVMUTN0MTJmVzVySkhuMGtM?= =?gb2312?B?c1pyazlNNVNOUnBqZUw0ZkgvS2haYjBaOGY2ZElLQzVyUXVUd3ZYTjhHV0RP?= =?gb2312?B?NzN1TWtEMk5JZTJRditlc0ZtZ255YmxkZWhPS1VvOWpBNk5DYklRblAzQTl1?= =?gb2312?B?ZFVwODhVeFd4bXA1cWljY1U1VXlDelF6MUZiMjdoVW1FQ0h2eWxiR0oyZ0Nv?= =?gb2312?B?V05WMzVrelZuRUhZc1F3aXBXWDFlNFhLQmlabFZBWFZUV1oyNEpjNjVMZlFp?= =?gb2312?B?K1B2Z3A0Q3JzbVJPbHhaMHQ3bjdjWWRnOHlBamlndkNmeGFXUVJXTVhCU2xE?= =?gb2312?B?QzRka0J5MjhHZUNEQjduU2tiTE1hcFJOM0pxVXo1UzBza0VLc3d2Nlk4d2pp?= =?gb2312?B?Vk1Nc3RCTk9TdldtK2xFQzBJOVVLblY2RXlTNjRKYzB3WHY2Wm54MSs5L0E5?= =?gb2312?B?Z2FGQ2ZHSHRVdGM1c05lWVA1cW1WZnU3czZqcW10Q1lUNHg4cm1lNFNtNHpB?= =?gb2312?B?VVBNV3RnaU1WZHZSV3VsbVJCRk9SN3g0bFloUlNPQmFsK3k3WjlJT1V1VGR0?= =?gb2312?B?Q2NXU3hwTkFSdFhWSE5BS1JXbTlmcUZ2VFBOZjU5Q3h1eWJTYnkyTE5LWjVO?= =?gb2312?B?MWZZMXFSMUtSY3VJWVBJOUF6NUFqelVBNVBpN1loTnZubDVUVWpPZmkyVHhE?= =?gb2312?B?N3ozY2VseGd6dU1IbnQrR0VVcVd5SXJub3A0MHk4d1VkM3dKcWkvaG5WdmUy?= =?gb2312?B?aWxqdG5VelRSajFibmNCQnB1bDdOeldxMU1YcVZOL0k2N29GUDAxdE5lYi90?= =?gb2312?B?dndFTG9ZOTQ4NVp0VG83eEFJdE9Vd2xlNkFZL2hKQ0phazFPanRxa3lvSm9m?= =?gb2312?B?RzJ2Z1hXeDd4VjNzSk16elRucDh2eFFKRkw4K3E3QVY0MEx5U3AxdEdqTG1J?= =?gb2312?B?NUh2TTBCeW9xRDNuZDNZbzl3UDRLcmxLMVlCT3VNVG9oQUswVEMvVW1rdE5z?= =?gb2312?B?SGVwb0NnOUxVWENzRzFWRkU4KzBJR0dBR1d5eldaaDhFYjcrcWpOYVVjUDEw?= =?gb2312?B?S3ZrMS9kNnB0K1QxN0VSdz09?= MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB2983 Original-Authentication-Results: byosoft.com.cn; dkim=none (message not signed) header.d=none;byosoft.com.cn; dmarc=none action=none header.from=arm.com; Return-Path: Sami.Mujawar@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT042.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 00905597-f8ad-4a05-57f8-08d95192bd03 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: auac+KCdNIZS7G5/Q+KmGw5Yvv+ppHtdziW/oAGC7nyn8LSxYyMDk0e/LbGEPogXgDgCRLfeOZiePTUJeyw196J5JTrFPUSMq07OmbVPZPI9ctvLfCD09HQqcD24xg470yA4xl5hq2aG38JMgWBdhj3LzC1qClVLWgzQUrzNAm8db7PfCvro3U+2nPMxMRwRTAop75XbXsY/X+i+K2fH5nZdrn/4711acq+F86HXRCpeWDi2vbKi7FqzPzTJVgDfxK69rDI2Lz9jrmMmWrZmrkdMhYl0fh6q07PQO3AmgUfVlGMc3HFPp1Qo/EquAncHXl0agKxQBGRZZ3EHsEes7HlIuD+8mKlNTcJv4l8QQ0djBVm58vejlTqVNtB69HDxdGnCqei7X3DfLfgyLqtUHPah+E4lN6RfbYeptkNRZGSSWBzxF+H8chhRCKICdlOX5V3lOMsG7B3zfi7jAlvrcKRbIjR9phVvr3u+hRwMuq3GXXDnH+2RRQQX9oDcl7A99TyizLmPHZAoZE/3zN99wVNgR9WLSViEdbnvPu3sbD4QaAIex/U6QdKqoLAH+ppx3X1DK1Mc1tvCLCTBXebNUsxmm2YlZRlGCM1VztGAyFjDowhhxbcbJezpH/e88xKFJBBUdMB7vnL9bXivIJuAUkW+A8Erk3jMIxc9DiNwIxp/QteQ4EggCBpRGQ0PUcym/u1MGY52lRBOTZQx6xxSjtjGThr/jTmJZvN+kx3vf7xUWY7YG0c8OZp0jqFIPk/bh52MsVXSXwinrBLUlVwVE8oaalMiYZ4RBxSqP17c+34YT38kn26gdhplp1SR0sXGydIbtCMXGy88KFaPBX6F9Q== X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(6029001)(4636009)(346002)(136003)(376002)(396003)(39860400002)(36840700001)(46966006)(6506007)(5660300002)(356005)(316002)(53546011)(33656002)(966005)(7696005)(26005)(110136005)(478600001)(166002)(52536014)(54906003)(70586007)(19627235002)(83380400001)(70206006)(186003)(55016002)(9686003)(86362001)(2906002)(336012)(82740400003)(36860700001)(82310400003)(4326008)(47076005)(8676002)(30864003)(8936002)(81166007)(559001)(579004);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jul 2021 06:41:45.7131 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c364ace1-fc45-420b-b5bd-08d95192c4ba X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT042.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6376 Content-Language: en-GB Content-Type: multipart/alternative; boundary="_000_AS8PR08MB680611AEB22CC4138AF3E9A984EA9AS8PR08MB6806eurp_" --_000_AS8PR08MB680611AEB22CC4138AF3E9A984EA9AS8PR08MB6806eurp_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 SGkgTGltaW5nLA0KDQpJIHdpbGwgbG9vayBpbnRvIHRoaXMgc2hvcnRseS4NCg0KUmVnYXJkcywN Cg0KU2FtaSBNdWphd2FyDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQpGcm9t OiBnYW9saW1pbmcgPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NClNlbnQ6IFdlZG5lc2RheSwg MjggSnVseSAyMDIxLCA3OjMzIGFtDQpUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IGdhb2xpbWlu Z0BieW9zb2Z0LmNvbS5jbjsgYXJkYkBrZXJuZWwub3JnDQpDYzogU2FtaSBNdWphd2FyOyAnRXRp ZW5uZSBDYXJyaWVyZSc7IEFjaGluIEd1cHRhOyAnQXJkIEJpZXNoZXV2ZWwnOyAnSmlld2VuIFlh byc7ICdMZWlmIExpbmRob2xtJzsgJ1N1Z2hvc2ggR2FudSc7IG5kDQpTdWJqZWN0OiC72Li0OiBb ZWRrMi1kZXZlbF0gW1BBVENIIHY0IDUvNV0gU3RhbmRhbG9uZU1tUGtnOiBidWlsZCBmb3IgMzJi aXQgYXJtIG1hY2hpbmVzDQoNCkFyZCBhbmQgU2FtaToNCiAgV2lsbCB5b3UgaGVscCBtZXJnZSB0 aGlzIHBhdGNoIHNldCBmb3IgMjAyMTA4IHN0YWJsZSB0YWc/DQoNClRoYW5rcw0KTGltaW5nDQo+ IC0tLS0t08q8/tStvP4tLS0tLQ0KPiC3orz+yMs6IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZl bEBlZGsyLmdyb3Vwcy5pbz4gtPqx7SBnYW9saW1pbmcNCj4gt6LLzcqxvOQ6IDIwMjHE6jfUwjIw yNUgMTc6MjENCj4gytW8/sjLOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgYXJkYkBrZXJuZWwub3Jn DQo+ILOty806ICdTYW1pIE11amF3YXInIDxzYW1pLm11amF3YXJAYXJtLmNvbT47ICdFdGllbm5l IENhcnJpZXJlJw0KPiA8ZXRpZW5uZS5jYXJyaWVyZUBsaW5hcm8ub3JnPjsgJ0FjaGluIEd1cHRh JyA8YWNoaW4uZ3VwdGFAYXJtLmNvbT47ICdBcmQNCj4gQmllc2hldXZlbCcgPGFyZGIrdGlhbm9j b3JlQGtlcm5lbC5vcmc+OyAnSmlld2VuIFlhbycNCj4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsg J0xlaWYgTGluZGhvbG0nIDxsZWlmQG51dmlhaW5jLmNvbT47ICdTdWdob3NoDQo+IEdhbnUnIDxz dWdob3NoLmdhbnVAbGluYXJvLm9yZz47ICduZCcgPG5kQGFybS5jb20+DQo+INb3zOI6ILvYuLQ6 IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjQgNS81XSBTdGFuZGFsb25lTW1Qa2c6IGJ1aWxkIGZvciAz MmJpdA0KPiBhcm0gbWFjaGluZXMNCj4NCj4gQXJkOg0KPiAgIFRoYW5rcyEgSSBoYXZlIGFkZGVk IHRoaXMgZmVhdHVyZSBpbnRvDQo+IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvdGlhbm9j b3JlLmdpdGh1Yi5pby93aWtpL0VESy1JSS1SZWxlYXNlLVBsYW5uaQ0KPiBuZy4NCj4NCj4gVGhh bmtzDQo+IExpbWluZw0KPiA+IC0tLS0t08q8/tStvP4tLS0tLQ0KPiA+ILeivP7IyzogZGV2ZWxA ZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiC0+rHtIEFyZA0KPiA+IEJpZXNo ZXV2ZWwNCj4gPiC3osvNyrG85DogMjAyMcTqN9TCMjDI1SAxNTo0Ng0KPiA+IMrVvP7IyzogZWRr Mi1kZXZlbC1ncm91cHMtaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPjsgTGltaW5nIEdhbw0KPiAo Qnlvc29mdA0KPiA+IGFkZHJlc3MpIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+DQo+ID4gs63L zTogU2FtaSBNdWphd2FyIDxzYW1pLm11amF3YXJAYXJtLmNvbT47IEV0aWVubmUgQ2FycmllcmUN Cj4gPiA8ZXRpZW5uZS5jYXJyaWVyZUBsaW5hcm8ub3JnPjsgQWNoaW4gR3VwdGEgPGFjaGluLmd1 cHRhQGFybS5jb20+OyBBcmQNCj4gPiBCaWVzaGV1dmVsIDxhcmRiK3RpYW5vY29yZUBrZXJuZWwu b3JnPjsgSmlld2VuIFlhbw0KPiA+IDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IExlaWYgTGluZGhv bG0gPGxlaWZAbnV2aWFpbmMuY29tPjsgU3VnaG9zaA0KPiBHYW51DQo+ID4gPHN1Z2hvc2guZ2Fu dUBsaW5hcm8ub3JnPjsgbmQgPG5kQGFybS5jb20+DQo+ID4g1vfM4jogUmU6IFtlZGsyLWRldmVs XSBbUEFUQ0ggdjQgNS81XSBTdGFuZGFsb25lTW1Qa2c6IGJ1aWxkIGZvciAzMmJpdA0KPiBhcm0N Cj4gPiBtYWNoaW5lcw0KPiA+DQo+ID4gT24gVHVlLCAyMCBKdWwgMjAyMSBhdCAwNDowMSwgZ2Fv bGltaW5nIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+DQo+IHdyb3RlOg0KPiA+ID4NCj4gPiA+ IEhpLCBhbGwNCj4gPiA+ICAgVGhpcyBwYXRjaCBzZXQgaGFzIHBhc3NlZCBjb2RlIHJldmlldy4g SG93IGFib3V0IG1lcmdlIGl0IGZvciB0aGlzDQo+ID4gc3RhYmxlIHRhZyBlZGsyIDIwMjEwOD8N Cj4gPiA+DQo+ID4NCj4gPiBPSywgSSB3aWxsIHBpY2sgdGhlc2UgdXAuIFdvdWxkIHlvdSBtaW5k IGNyZWF0aW5nIHRoZSBlbnRyeSBmb3IgdGhlDQo+ID4gcmVsZWFzZSBub3Rlcz8NCj4gPg0KPiA+ DQo+ID4gPiBUaGFua3MNCj4gPiA+IExpbWluZw0KPiA+ID4gPiAtLS0tLdPKvP7Urbz+LS0tLS0N Cj4gPiA+ID4gt6K8/sjLOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMu aW8+ILT6se0gU2FtaQ0KPiA+ID4gPiBNdWphd2FyDQo+ID4gPiA+ILeiy83KsbzkOiAyMDIxxOo1 1MIxOcjVIDE3OjU4DQo+ID4gPiA+IMrVvP7IyzogRXRpZW5uZSBDYXJyaWVyZSA8ZXRpZW5uZS5j YXJyaWVyZUBsaW5hcm8ub3JnPjsNCj4gPiA+ID4gZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiA+ ID4gs63LzTogQWNoaW4gR3VwdGEgPGFjaGluLmd1cHRhQGFybS5jb20+OyBBcmQgQmllc2hldXZl bA0KPiA+ID4gPiA8YXJkYit0aWFub2NvcmVAa2VybmVsLm9yZz47IEppZXdlbiBZYW8gPGppZXdl bi55YW9AaW50ZWwuY29tPjsNCj4gTGVpZg0KPiA+ID4gPiBMaW5kaG9sbSA8bGVpZkBudXZpYWlu Yy5jb20+OyBTdWdob3NoIEdhbnUNCj4gPiA8c3VnaG9zaC5nYW51QGxpbmFyby5vcmc+Ow0KPiA+ ID4gPiBuZEBhcm0uY29tDQo+ID4gPiA+INb3zOI6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIHY0 IDUvNV0gU3RhbmRhbG9uZU1tUGtnOiBidWlsZCBmb3INCj4gMzJiaXQNCj4gPiBhcm0NCj4gPiA+ ID4gbWFjaGluZXMNCj4gPiA+ID4NCj4gPiA+ID4gSGkgRXRpZW5uLA0KPiA+ID4gPg0KPiA+ID4g PiBUaGlzIHBhdGNoIGxvb2tzIGdvb2QgdG8gbWUuDQo+ID4gPiA+DQo+ID4gPiA+IFJldmlld2Vk LWJ5OiBTYW1pIE11amF3YXIgPHNhbWkubXVqYXdhckBhcm0uY29tPg0KPiA+ID4gPg0KPiA+ID4g PiBSZWdhcmRzLA0KPiA+ID4gPg0KPiA+ID4gPiBTYW1pIE11amF3YXINCj4gPiA+ID4NCj4gPiA+ ID4gT24gMTkvMDUvMjAyMSAwODoxNCBBTSwgRXRpZW5uZSBDYXJyaWVyZSB3cm90ZToNCj4gPiA+ ID4gPiBUaGlzIGNoYW5nZSBhbGxvd3MgdG8gYnVpbGQgU3RhbmRhbG9uZU1tUGtnIGNvbXBvbmVu dHMgZm9yIDMyYml0DQo+ID4gQXJtDQo+ID4gPiA+ID4gU3RhbmRhbG9uZU1tIGZpcm13YXJlLg0K PiA+ID4gPiA+DQo+ID4gPiA+ID4gVGhpcyBjaGFuZ2UgbWFpbmx5IG1vdmVzIEFBcmNoNjQvIHNv dXJjZSBmaWxlcyB0byBBcm0vIHNpZGUgZGlyZWN0b3J5DQo+ID4gPiA+ID4gZm9yIHNldmVyYWwg Y29tcG9uZW50czogIFN0YW5kYWxvbmVNbUNwdSwNCj4gPiA+ID4gU3RhbmRhbG9uZU1tQ29yZUVu dHJ5UG9pbnQNCj4gPiA+ID4gPiBhbmQgU3RhbmRhbG9uZU1tTWVtTGliLiBUaGUgc291cmNlIGZp bGUgaXMgYnVpbHQgZm9yIGJvdGggMzJiIGFuZA0KPiA2NGINCj4gPiA+ID4gPiBBcm0gdGFyZ2V0 cy4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IEV0aWVubmUgQ2FycmllcmUg PGV0aWVubmUuY2FycmllcmVAbGluYXJvLm9yZz4NCj4gPiA+ID4gPiAtLS0NCj4gPiA+ID4gPiBD aGFuZ2VzIHNpbmNlIHYzOg0KPiA+ID4gPiA+IC0gRml4IEJ1aWxkT3B0aW9ucy5BUk0gaW4gU3Rh bmRhbG9uZU1tUGtnLg0KPiA+ID4gPiA+IC0gUmVtb3ZlIENjIHRhZ3MuDQo+ID4gPiA+ID4NCj4g PiA+ID4gPiBObyBjaGFuZ2Ugc2luY2UgdjINCj4gPiA+ID4gPg0KPiA+ID4gPiA+IENoYW5nZXMg c2luY2UgdjE6DQo+ID4gPiA+ID4gLSBBUk1fU01DX0lEX01NX0NPTU1VTklDQVRFIDMyYi82NGIg YWdub3N0aWMgaGVscGVyIElEIGlzDQo+ID4gPiA+IGRlZmluZWQNCj4gPiA+ID4gPiAgICBpbiBB cm1TdGRTbWMuaCAoc2VlIDFzdCBjb21taXQgaW4gdGhpcyBzZXJpZXMpIGluc3RlYWQgb2YgYmVp bmcNCj4gPiA+ID4gPiAgICBsb2NhbCB0byBFdmVudEhhbmRsZS5jLg0KPiA+ID4gPiA+IC0gRml4 IHZvaWQgb2NjdXJyZW5jZSB0byBWT0lELg0KPiA+ID4gPiA+IC0gRml4IHBhdGggaW4gU3RhbmRh bG9uZU1tUGtnL1N0YW5kYWxvbmVNbVBrZy5kc2MNCj4gPiA+ID4gPiAtLS0NCj4gPiA+ID4gPiAg IFN0YW5kYWxvbmVNbVBrZy9Db3JlL1N0YW5kYWxvbmVNbUNvcmUuaW5mDQo+ID4gPiA+IHwgIDIg Ky0NCj4gPiA+ID4gPiAgIFN0YW5kYWxvbmVNbVBrZy9Ecml2ZXJzL1N0YW5kYWxvbmVNbUNwdS97 QUFyY2g2NA0KPiA+ID4gPiA9PiB9L0V2ZW50SGFuZGxlLmMNCj4gPiA+ID4gfCAgNSArKystLQ0K PiA+ID4gPiA+ICAgU3RhbmRhbG9uZU1tUGtnL0RyaXZlcnMvU3RhbmRhbG9uZU1tQ3B1L3tBQXJj aDY0DQo+ID4gPiA+ID0+IH0vU3RhbmRhbG9uZU1tQ3B1LmMNCj4gPiA+ID4gfCAgMiArLQ0KPiA+ ID4gPiA+ICAgU3RhbmRhbG9uZU1tUGtnL0RyaXZlcnMvU3RhbmRhbG9uZU1tQ3B1L3tBQXJjaDY0 DQo+ID4gPiA+ID0+IH0vU3RhbmRhbG9uZU1tQ3B1LmgNCj4gPiA+ID4gfCAgMA0KPiA+ID4gPiA+ ICAgU3RhbmRhbG9uZU1tUGtnL0RyaXZlcnMvU3RhbmRhbG9uZU1tQ3B1L3tBQXJjaDY0DQo+ID4g PiA+ID0+IH0vU3RhbmRhbG9uZU1tQ3B1LmluZg0KPiA+ID4gPiB8ICAwDQo+ID4gPiA+ID4gICBT dGFuZGFsb25lTW1Qa2cvSW5jbHVkZS9MaWJyYXJ5L3tBQXJjaDY0ID0+DQo+ID4gPiA+IEFybX0v U3RhbmRhbG9uZU1tQ29yZUVudHJ5UG9pbnQuaA0KPiA+ID4gPiB8ICAwDQo+ID4gPiA+ID4NCj4g U3RhbmRhbG9uZU1tUGtnL0xpYnJhcnkvU3RhbmRhbG9uZU1tQ29yZUVudHJ5UG9pbnQve0FBcmNo NjQNCj4gPiA9Pg0KPiA+ID4gPiBBcm19L0NyZWF0ZUhvYkxpc3QuYyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAyICstDQo+ID4gPiA+ID4NCj4gU3RhbmRhbG9uZU1tUGtnL0xp YnJhcnkvU3RhbmRhbG9uZU1tQ29yZUVudHJ5UG9pbnQve0FBcmNoNjQNCj4gPiA9Pg0KPiA+ID4g PiBBcm19L1NldFBlcm1pc3Npb25zLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAyICstDQo+ID4gPiA+ID4NCj4gU3RhbmRhbG9uZU1tUGtnL0xpYnJhcnkvU3RhbmRhbG9uZU1t Q29yZUVudHJ5UG9pbnQve0FBcmNoNjQNCj4gPiA9Pg0KPiA+ID4gPiBBcm19L1N0YW5kYWxvbmVN bUNvcmVFbnRyeVBvaW50LmMgICAgICAgICAgICAgICAgICAgICB8IDE2DQo+ID4gPiA+ICsrKysr KysrLS0tLS0tLS0NCj4gPiA+ID4gPg0KPiA+ID4gPg0KPiA+DQo+IFN0YW5kYWxvbmVNbVBrZy9M aWJyYXJ5L1N0YW5kYWxvbmVNbUNvcmVFbnRyeVBvaW50L1N0YW5kYWxvbmVNbUNvcg0KPiA+ID4g PiBlRW50cnlQb2ludC5pbmYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDE0 DQo+ID4gPiA+ICsrKysrKystLS0tLS0tDQo+ID4gPiA+ID4gICBTdGFuZGFsb25lTW1Qa2cvTGli cmFyeS9TdGFuZGFsb25lTW1Db3JlSG9iTGliL3tBQXJjaDY0DQo+ID0+DQo+ID4gPiA+IEFybX0v U3RhbmRhbG9uZU1tQ29yZUhvYkxpYi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ ID4gMA0KPiA+ID4gPiA+ICAgU3RhbmRhbG9uZU1tUGtnL0xpYnJhcnkvU3RhbmRhbG9uZU1tQ29y ZUhvYkxpYi97QUFyY2g2NA0KPiA9Pg0KPiA+ID4gPiBBcm19L1N0YW5kYWxvbmVNbUNvcmVIb2JM aWJJbnRlcm5hbC5jICAgICAgICAgICAgICAgICAgICAgfA0KPiAwDQo+ID4gPiA+ID4NCj4gPiA+ ID4NCj4gPg0KPiBTdGFuZGFsb25lTW1Qa2cvTGlicmFyeS9TdGFuZGFsb25lTW1Db3JlSG9iTGli L1N0YW5kYWxvbmVNbUNvcmVIDQo+ID4gPiA+IG9iTGliLmluZiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgOA0KPiA+ICsrKystLS0tDQo+ID4gPiA+ID4NCj4g PiA+ID4NCj4gPg0KPiBTdGFuZGFsb25lTW1Qa2cvTGlicmFyeS9TdGFuZGFsb25lTW1NZW1MaWIv e0FBcmNoNjQvU3RhbmRhbG9uZU1tDQo+ID4gPiA+IE1lbUxpYkludGVybmFsLmMgPT4gQXJtU3Rh bmRhbG9uZU1tTWVtTGliSW50ZXJuYWwuY30gfCAgOQ0KPiA+ICsrKysrKysrLQ0KPiA+ID4gPiA+ DQo+ID4gPiA+DQo+ID4NCj4gU3RhbmRhbG9uZU1tUGtnL0xpYnJhcnkvU3RhbmRhbG9uZU1tTWVt TGliL1N0YW5kYWxvbmVNbU1lbUxpYi5pDQo+ID4gPiA+IG5mICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDYNCj4gPiA+ID4gKysrLS0tDQo+ID4g PiA+ID4NCj4gPiA+ID4NCj4gPg0KPiBTdGFuZGFsb25lTW1Qa2cvTGlicmFyeS9WYXJpYWJsZU1t RGVwZW5kZW5jeS9WYXJpYWJsZU1tRGVwZW5kZW5jDQo+ID4gPiA+IHkuaW5mICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQ0KPiA+ID4gPiA+ICAg U3RhbmRhbG9uZU1tUGtnL1N0YW5kYWxvbmVNbVBrZy5kc2MNCj4gPiA+ID4gfCAxMiArKysrKysr Ky0tLS0NCj4gPiA+ID4gPiAgIDE3IGZpbGVzIGNoYW5nZWQsIDQ2IGluc2VydGlvbnMoKyksIDM0 IGRlbGV0aW9ucygtKQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL1N0YW5kYWxv bmVNbVBrZy9Db3JlL1N0YW5kYWxvbmVNbUNvcmUuaW5mDQo+ID4gPiA+IGIvU3RhbmRhbG9uZU1t UGtnL0NvcmUvU3RhbmRhbG9uZU1tQ29yZS5pbmYNCj4gPiA+ID4gPiBpbmRleCA4N2JmNmU5NDQw Li41NjA0MmI3YjM5IDEwMDY0NA0KPiA+ID4gPiA+IC0tLSBhL1N0YW5kYWxvbmVNbVBrZy9Db3Jl L1N0YW5kYWxvbmVNbUNvcmUuaW5mDQo+ID4gPiA+ID4gKysrIGIvU3RhbmRhbG9uZU1tUGtnL0Nv cmUvU3RhbmRhbG9uZU1tQ29yZS5pbmYNCj4gPiA+ID4gPiBAQCAtMTcsNyArMTcsNyBAQA0KPiA+ ID4gPiA+ICAgICBQSV9TUEVDSUZJQ0FUSU9OX1ZFUlNJT04gICAgICAgPSAweDAwMDEwMDMyDQo+ ID4gPiA+ID4gICAgIEVOVFJZX1BPSU5UICAgICAgICAgICAgICAgICAgICA9IFN0YW5kYWxvbmVN bU1haW4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IC0jICBWQUxJRF9BUkNISVRFQ1RVUkVTICAgICAg ICAgICA9IElBMzIgWDY0IEFBUkNINjQNCj4gPiA+ID4gPiArIyAgVkFMSURfQVJDSElURUNUVVJF UyAgICAgICAgICAgPSBJQTMyIFg2NCBBQVJDSDY0IEFSTQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4g ICBbU291cmNlc10NCj4gPiA+ID4gPiAgICAgU3RhbmRhbG9uZU1tQ29yZS5jDQo+ID4gPiA+ID4g ZGlmZiAtLWdpdA0KPiA+ID4gPg0KPiBhL1N0YW5kYWxvbmVNbVBrZy9Ecml2ZXJzL1N0YW5kYWxv bmVNbUNwdS9BQXJjaDY0L0V2ZW50SGFuZGxlLmMNCj4gPiA+ID4gYi9TdGFuZGFsb25lTW1Qa2cv RHJpdmVycy9TdGFuZGFsb25lTW1DcHUvRXZlbnRIYW5kbGUuYw0KPiA+ID4gPiA+IHNpbWlsYXJp dHkgaW5kZXggOTUlDQo+ID4gPiA+ID4gcmVuYW1lIGZyb20NCj4gPiA+ID4gU3RhbmRhbG9uZU1t UGtnL0RyaXZlcnMvU3RhbmRhbG9uZU1tQ3B1L0FBcmNoNjQvRXZlbnRIYW5kbGUuYw0KPiA+ID4g PiA+IHJlbmFtZSB0bw0KPiA+IFN0YW5kYWxvbmVNbVBrZy9Ecml2ZXJzL1N0YW5kYWxvbmVNbUNw dS9FdmVudEhhbmRsZS5jDQo+ID4gPiA+ID4gaW5kZXggNjNmYmUyNjY0Mi4uMTY1ZDY5NmY5OSAx MDA2NDQNCj4gPiA+ID4gPiAtLS0NCj4gPiA+ID4NCj4gYS9TdGFuZGFsb25lTW1Qa2cvRHJpdmVy cy9TdGFuZGFsb25lTW1DcHUvQUFyY2g2NC9FdmVudEhhbmRsZS5jDQo+ID4gPiA+ID4gKysrIGIv U3RhbmRhbG9uZU1tUGtnL0RyaXZlcnMvU3RhbmRhbG9uZU1tQ3B1L0V2ZW50SGFuZGxlLmMNCj4g PiA+ID4gPiBAQCAtMiw2ICsyLDcgQEANCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICAgICBDb3B5cmln aHQgKGMpIDIwMTYgSFAgRGV2ZWxvcG1lbnQgQ29tcGFueSwgTC5QLg0KPiA+ID4gPiA+ICAgICBD b3B5cmlnaHQgKGMpIDIwMTYgLSAyMDIxLCBBcm0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZl ZC4NCj4gPiA+ID4gPiArICBDb3B5cmlnaHQgKGMpIDIwMjEsIExpbmFybyBMaW1pdGVkDQo+ID4g PiA+ID4NCj4gPiA+ID4gPiAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVz ZS1QYXRlbnQNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEBAIC05Miw4ICs5Myw4IEBAIFBpTW1TdGFu ZGFsb25lQXJtVGZDcHVEcml2ZXJFbnRyeSAoDQo+ID4gPiA+ID4gICAgIC8vIHJlY2VpcHQgb2Yg YSBzeW5jaHJvbm91cyBNTSByZXF1ZXN0LiBVc2UgdGhlIEV2ZW50IElEIHRvDQo+ID4gPiA+IGRp c3Rpbmd1aXNoDQo+ID4gPiA+ID4gICAgIC8vIGJldHdlZW4gc3luY2hyb25vdXMgYW5kIGFzeW5j aHJvbm91cyBldmVudHMuDQo+ID4gPiA+ID4gICAgIC8vDQo+ID4gPiA+ID4gLSAgaWYgKChBUk1f U01DX0lEX01NX0NPTU1VTklDQVRFX0FBUkNINjQgIT0gRXZlbnRJZCkgJiYNCj4gPiA+ID4gPiAt ICAgICAgKEFSTV9TVkNfSURfRkZBX01TR19TRU5EX0RJUkVDVF9SRVFfQUFSQ0g2NCAhPQ0KPiA+ ID4gPiBFdmVudElkKSkgew0KPiA+ID4gPiA+ICsgIGlmICgoQVJNX1NNQ19JRF9NTV9DT01NVU5J Q0FURSAhPSBFdmVudElkKSAmJg0KPiA+ID4gPiA+ICsgICAgICAoQVJNX1NWQ19JRF9GRkFfTVNH X1NFTkRfRElSRUNUX1JFUSAhPSBFdmVudElkKSkgew0KPiA+ID4gPiA+ICAgICAgIERFQlVHICgo REVCVUdfSU5GTywgIlVuUmVjb2duaXplZCBFdmVudCAtIDB4JXhcbiIsDQo+ID4gRXZlbnRJZCkp Ow0KPiA+ID4gPiA+ICAgICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ID4gPiA+ ID4gICAgIH0NCj4gPiA+ID4gPiBkaWZmIC0tZ2l0DQo+ID4gPiA+DQo+ID4NCj4gYS9TdGFuZGFs b25lTW1Qa2cvRHJpdmVycy9TdGFuZGFsb25lTW1DcHUvQUFyY2g2NC9TdGFuZGFsb25lTW1DcA0K PiA+ID4gPiB1LmMNCj4gPiBiL1N0YW5kYWxvbmVNbVBrZy9Ecml2ZXJzL1N0YW5kYWxvbmVNbUNw dS9TdGFuZGFsb25lTW1DcHUuYw0KPiA+ID4gPiA+IHNpbWlsYXJpdHkgaW5kZXggOTYlDQo+ID4g PiA+ID4gcmVuYW1lIGZyb20NCj4gPiA+ID4NCj4gPg0KPiBTdGFuZGFsb25lTW1Qa2cvRHJpdmVy cy9TdGFuZGFsb25lTW1DcHUvQUFyY2g2NC9TdGFuZGFsb25lTW1DcHUuDQo+ID4gPiA+IGMNCj4g PiA+ID4gPiByZW5hbWUgdG8NCj4gPiA+ID4gU3RhbmRhbG9uZU1tUGtnL0RyaXZlcnMvU3RhbmRh bG9uZU1tQ3B1L1N0YW5kYWxvbmVNbUNwdS5jDQo+ID4gPiA+ID4gaW5kZXggZDQ1OTBiY2QxOS4u MTAwOTdmNzkyZiAxMDA2NDQNCj4gPiA+ID4gPiAtLS0NCj4gPiA+ID4NCj4gPg0KPiBhL1N0YW5k YWxvbmVNbVBrZy9Ecml2ZXJzL1N0YW5kYWxvbmVNbUNwdS9BQXJjaDY0L1N0YW5kYWxvbmVNbUNw DQo+ID4gPiA+IHUuYw0KPiA+ID4gPiA+ICsrKw0KPiA+IGIvU3RhbmRhbG9uZU1tUGtnL0RyaXZl cnMvU3RhbmRhbG9uZU1tQ3B1L1N0YW5kYWxvbmVNbUNwdS5jDQo+ID4gPiA+ID4gQEAgLTEwLDcg KzEwLDcgQEANCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICAgI2luY2x1ZGUgPEJhc2UuaD4NCj4gPiA+ ID4gPiAgICNpbmNsdWRlIDxQaS9QaU1tQ2lzLmg+DQo+ID4gPiA+ID4gLSNpbmNsdWRlIDxMaWJy YXJ5L0FBcmNoNjQvU3RhbmRhbG9uZU1tQ29yZUVudHJ5UG9pbnQuaD4NCj4gPiA+ID4gPiArI2lu Y2x1ZGUgPExpYnJhcnkvQXJtL1N0YW5kYWxvbmVNbUNvcmVFbnRyeVBvaW50Lmg+DQo+ID4gPiA+ ID4gICAjaW5jbHVkZSA8TGlicmFyeS9EZWJ1Z0xpYi5oPg0KPiA+ID4gPiA+ICAgI2luY2x1ZGUg PExpYnJhcnkvQXJtU3ZjTGliLmg+DQo+ID4gPiA+ID4gICAjaW5jbHVkZSA8TGlicmFyeS9Bcm1M aWIuaD4NCj4gPiA+ID4gPiBkaWZmIC0tZ2l0DQo+ID4gPiA+DQo+ID4NCj4gYS9TdGFuZGFsb25l TW1Qa2cvRHJpdmVycy9TdGFuZGFsb25lTW1DcHUvQUFyY2g2NC9TdGFuZGFsb25lTW1DcA0KPiA+ ID4gPiB1LmgNCj4gPiBiL1N0YW5kYWxvbmVNbVBrZy9Ecml2ZXJzL1N0YW5kYWxvbmVNbUNwdS9T dGFuZGFsb25lTW1DcHUuaA0KPiA+ID4gPiA+IHNpbWlsYXJpdHkgaW5kZXggMTAwJQ0KPiA+ID4g PiA+IHJlbmFtZSBmcm9tDQo+ID4gPiA+DQo+ID4NCj4gU3RhbmRhbG9uZU1tUGtnL0RyaXZlcnMv U3RhbmRhbG9uZU1tQ3B1L0FBcmNoNjQvU3RhbmRhbG9uZU1tQ3B1Lg0KPiA+ID4gPiBoDQo+ID4g PiA+ID4gcmVuYW1lIHRvDQo+ID4gPiA+IFN0YW5kYWxvbmVNbVBrZy9Ecml2ZXJzL1N0YW5kYWxv bmVNbUNwdS9TdGFuZGFsb25lTW1DcHUuaA0KPiA+ID4gPiA+IGRpZmYgLS1naXQNCj4gPiA+ID4N Cj4gPg0KPiBhL1N0YW5kYWxvbmVNbVBrZy9Ecml2ZXJzL1N0YW5kYWxvbmVNbUNwdS9BQXJjaDY0 L1N0YW5kYWxvbmVNbUNwDQo+ID4gPiA+IHUuaW5mDQo+ID4gYi9TdGFuZGFsb25lTW1Qa2cvRHJp dmVycy9TdGFuZGFsb25lTW1DcHUvU3RhbmRhbG9uZU1tQ3B1LmluZg0KPiA+ID4gPiA+IHNpbWls YXJpdHkgaW5kZXggMTAwJQ0KPiA+ID4gPiA+IHJlbmFtZSBmcm9tDQo+ID4gPiA+DQo+ID4NCj4g U3RhbmRhbG9uZU1tUGtnL0RyaXZlcnMvU3RhbmRhbG9uZU1tQ3B1L0FBcmNoNjQvU3RhbmRhbG9u ZU1tQ3B1LmkNCj4gPiA+ID4gbmYNCj4gPiA+ID4gPiByZW5hbWUgdG8NCj4gPiA+ID4gU3RhbmRh bG9uZU1tUGtnL0RyaXZlcnMvU3RhbmRhbG9uZU1tQ3B1L1N0YW5kYWxvbmVNbUNwdS5pbmYNCj4g PiA+ID4gPiBkaWZmIC0tZ2l0DQo+ID4gPiA+DQo+ID4NCj4gYS9TdGFuZGFsb25lTW1Qa2cvSW5j bHVkZS9MaWJyYXJ5L0FBcmNoNjQvU3RhbmRhbG9uZU1tQ29yZUVudHJ5UG9pbg0KPiA+ID4gPiB0 LmgNCj4gPiA+ID4NCj4gPiBiL1N0YW5kYWxvbmVNbVBrZy9JbmNsdWRlL0xpYnJhcnkvQXJtL1N0 YW5kYWxvbmVNbUNvcmVFbnRyeVBvaW50LmgNCj4gPiA+ID4gPiBzaW1pbGFyaXR5IGluZGV4IDEw MCUNCj4gPiA+ID4gPiByZW5hbWUgZnJvbQ0KPiA+ID4gPg0KPiA+DQo+IFN0YW5kYWxvbmVNbVBr Zy9JbmNsdWRlL0xpYnJhcnkvQUFyY2g2NC9TdGFuZGFsb25lTW1Db3JlRW50cnlQb2ludC5oDQo+ ID4gPiA+ID4gcmVuYW1lIHRvDQo+ID4gPiA+DQo+IFN0YW5kYWxvbmVNbVBrZy9JbmNsdWRlL0xp YnJhcnkvQXJtL1N0YW5kYWxvbmVNbUNvcmVFbnRyeVBvaW50LmgNCj4gPiA+ID4gPiBkaWZmIC0t Z2l0DQo+ID4gPiA+DQo+ID4NCj4gYS9TdGFuZGFsb25lTW1Qa2cvTGlicmFyeS9TdGFuZGFsb25l TW1Db3JlRW50cnlQb2ludC9BQXJjaDY0L0NyZWF0ZQ0KPiA+ID4gPiBIb2JMaXN0LmMNCj4gPiA+ ID4NCj4gPg0KPiBiL1N0YW5kYWxvbmVNbVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbUNvcmVFbnRy eVBvaW50L0FybS9DcmVhdGVIb2INCj4gPiA+ID4gTGlzdC5jDQo+ID4gPiA+ID4gc2ltaWxhcml0 eSBpbmRleCA5NyUNCj4gPiA+ID4gPiByZW5hbWUgZnJvbQ0KPiA+ID4gPg0KPiA+DQo+IFN0YW5k YWxvbmVNbVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbUNvcmVFbnRyeVBvaW50L0FBcmNoNjQvQ3Jl YXRlSG8NCj4gPiA+ID4gYkxpc3QuYw0KPiA+ID4gPiA+IHJlbmFtZSB0bw0KPiA+ID4gPg0KPiA+ DQo+IFN0YW5kYWxvbmVNbVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbUNvcmVFbnRyeVBvaW50L0Fy bS9DcmVhdGVIb2JMaXMNCj4gPiA+ID4gdC5jDQo+ID4gPiA+ID4gaW5kZXggNGQ0Y2YzZDVmZi4u ODVmODE5NDY4NyAxMDA2NDQNCj4gPiA+ID4gPiAtLS0NCj4gPiA+ID4NCj4gPg0KPiBhL1N0YW5k YWxvbmVNbVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbUNvcmVFbnRyeVBvaW50L0FBcmNoNjQvQ3Jl YXRlDQo+ID4gPiA+IEhvYkxpc3QuYw0KPiA+ID4gPiA+ICsrKw0KPiA+ID4gPg0KPiA+DQo+IGIv U3RhbmRhbG9uZU1tUGtnL0xpYnJhcnkvU3RhbmRhbG9uZU1tQ29yZUVudHJ5UG9pbnQvQXJtL0Ny ZWF0ZUhvYg0KPiA+ID4gPiBMaXN0LmMNCj4gPiA+ID4gPiBAQCAtMTQsNyArMTQsNyBAQCBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiA+ID4gPiA+ICAgI2lu Y2x1ZGUgPEd1aWQvTW1yYW1NZW1vcnlSZXNlcnZlLmg+DQo+ID4gPiA+ID4gICAjaW5jbHVkZSA8 R3VpZC9NcEluZm9ybWF0aW9uLmg+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAtI2luY2x1ZGUgPExp YnJhcnkvQUFyY2g2NC9TdGFuZGFsb25lTW1Db3JlRW50cnlQb2ludC5oPg0KPiA+ID4gPiA+ICsj aW5jbHVkZSA8TGlicmFyeS9Bcm0vU3RhbmRhbG9uZU1tQ29yZUVudHJ5UG9pbnQuaD4NCj4gPiA+ ID4gPiAgICNpbmNsdWRlIDxMaWJyYXJ5L0FybU1tdUxpYi5oPg0KPiA+ID4gPiA+ICAgI2luY2x1 ZGUgPExpYnJhcnkvQXJtU3ZjTGliLmg+DQo+ID4gPiA+ID4gICAjaW5jbHVkZSA8TGlicmFyeS9E ZWJ1Z0xpYi5oPg0KPiA+ID4gPiA+IGRpZmYgLS1naXQNCj4gPiA+ID4NCj4gPg0KPiBhL1N0YW5k YWxvbmVNbVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbUNvcmVFbnRyeVBvaW50L0FBcmNoNjQvU2V0 UGVyDQo+ID4gPiA+IG1pc3Npb25zLmMNCj4gPiA+ID4NCj4gPg0KPiBiL1N0YW5kYWxvbmVNbVBr Zy9MaWJyYXJ5L1N0YW5kYWxvbmVNbUNvcmVFbnRyeVBvaW50L0FybS9TZXRQZXJtaXNzaQ0KPiA+ ID4gPiBvbnMuYw0KPiA+ID4gPiA+IHNpbWlsYXJpdHkgaW5kZXggOTYlDQo+ID4gPiA+ID4gcmVu YW1lIGZyb20NCj4gPiA+ID4NCj4gPg0KPiBTdGFuZGFsb25lTW1Qa2cvTGlicmFyeS9TdGFuZGFs b25lTW1Db3JlRW50cnlQb2ludC9BQXJjaDY0L1NldFBlcm1pDQo+ID4gPiA+IHNzaW9ucy5jDQo+ ID4gPiA+ID4gcmVuYW1lIHRvDQo+ID4gPiA+DQo+ID4NCj4gU3RhbmRhbG9uZU1tUGtnL0xpYnJh cnkvU3RhbmRhbG9uZU1tQ29yZUVudHJ5UG9pbnQvQXJtL1NldFBlcm1pc3Npbw0KPiA+ID4gPiBu cy5jDQo+ID4gPiA+ID4gaW5kZXggNGEzODBkZjRhNi4uY2Q0YjkwODIzZSAxMDA2NDQNCj4gPiA+ ID4gPiAtLS0NCj4gPiA+ID4NCj4gPg0KPiBhL1N0YW5kYWxvbmVNbVBrZy9MaWJyYXJ5L1N0YW5k YWxvbmVNbUNvcmVFbnRyeVBvaW50L0FBcmNoNjQvU2V0UGVyDQo+ID4gPiA+IG1pc3Npb25zLmMN Cj4gPiA+ID4gPiArKysNCj4gPiA+ID4NCj4gPg0KPiBiL1N0YW5kYWxvbmVNbVBrZy9MaWJyYXJ5 L1N0YW5kYWxvbmVNbUNvcmVFbnRyeVBvaW50L0FybS9TZXRQZXJtaXNzaQ0KPiA+ID4gPiBvbnMu Yw0KPiA+ID4gPiA+IEBAIC0xNCw3ICsxNCw3IEBAIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBC U0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4gPiA+ID4gICAjaW5jbHVkZSA8R3VpZC9NbXJhbU1lbW9y eVJlc2VydmUuaD4NCj4gPiA+ID4gPiAgICNpbmNsdWRlIDxHdWlkL01wSW5mb3JtYXRpb24uaD4N Cj4gPiA+ID4gPg0KPiA+ID4gPiA+IC0jaW5jbHVkZSA8TGlicmFyeS9BQXJjaDY0L1N0YW5kYWxv bmVNbUNvcmVFbnRyeVBvaW50Lmg+DQo+ID4gPiA+ID4gKyNpbmNsdWRlIDxMaWJyYXJ5L0FybS9T dGFuZGFsb25lTW1Db3JlRW50cnlQb2ludC5oPg0KPiA+ID4gPiA+ICAgI2luY2x1ZGUgPExpYnJh cnkvQXJtTW11TGliLmg+DQo+ID4gPiA+ID4gICAjaW5jbHVkZSA8TGlicmFyeS9Bcm1TdmNMaWIu aD4NCj4gPiA+ID4gPiAgICNpbmNsdWRlIDxMaWJyYXJ5L0RlYnVnTGliLmg+DQo+ID4gPiA+ID4g ZGlmZiAtLWdpdA0KPiA+ID4gPg0KPiA+DQo+IGEvU3RhbmRhbG9uZU1tUGtnL0xpYnJhcnkvU3Rh bmRhbG9uZU1tQ29yZUVudHJ5UG9pbnQvQUFyY2g2NC9TdGFuZGENCj4gPiA+ID4gbG9uZU1tQ29y ZUVudHJ5UG9pbnQuYw0KPiA+ID4gPg0KPiA+DQo+IGIvU3RhbmRhbG9uZU1tUGtnL0xpYnJhcnkv U3RhbmRhbG9uZU1tQ29yZUVudHJ5UG9pbnQvQXJtL1N0YW5kYWxvbmUNCj4gPiA+ID4gTW1Db3Jl RW50cnlQb2ludC5jDQo+ID4gPiA+ID4gc2ltaWxhcml0eSBpbmRleCA5NCUNCj4gPiA+ID4gPiBy ZW5hbWUgZnJvbQ0KPiA+ID4gPg0KPiA+DQo+IFN0YW5kYWxvbmVNbVBrZy9MaWJyYXJ5L1N0YW5k YWxvbmVNbUNvcmVFbnRyeVBvaW50L0FBcmNoNjQvU3RhbmRhbG8NCj4gPiA+ID4gbmVNbUNvcmVF bnRyeVBvaW50LmMNCj4gPiA+ID4gPiByZW5hbWUgdG8NCj4gPiA+ID4NCj4gPg0KPiBTdGFuZGFs b25lTW1Qa2cvTGlicmFyeS9TdGFuZGFsb25lTW1Db3JlRW50cnlQb2ludC9Bcm0vU3RhbmRhbG9u ZU0NCj4gPiA+ID4gbUNvcmVFbnRyeVBvaW50LmMNCj4gPiA+ID4gPiBpbmRleCBiNDQ1ZDY5NDJl Li40OWNmNTFhNzg5IDEwMDY0NA0KPiA+ID4gPiA+IC0tLQ0KPiA+ID4gPg0KPiA+DQo+IGEvU3Rh bmRhbG9uZU1tUGtnL0xpYnJhcnkvU3RhbmRhbG9uZU1tQ29yZUVudHJ5UG9pbnQvQUFyY2g2NC9T dGFuZGENCj4gPiA+ID4gbG9uZU1tQ29yZUVudHJ5UG9pbnQuYw0KPiA+ID4gPiA+ICsrKw0KPiA+ ID4gPg0KPiA+DQo+IGIvU3RhbmRhbG9uZU1tUGtnL0xpYnJhcnkvU3RhbmRhbG9uZU1tQ29yZUVu dHJ5UG9pbnQvQXJtL1N0YW5kYWxvbmUNCj4gPiA+ID4gTW1Db3JlRW50cnlQb2ludC5jDQo+ID4g PiA+ID4gQEAgLTEwLDcgKzEwLDcgQEAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNs YXVzZS1QYXRlbnQNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICAgI2luY2x1ZGUgPFBpTW0uaD4NCj4g PiA+ID4gPg0KPiA+ID4gPiA+IC0jaW5jbHVkZSA8TGlicmFyeS9BQXJjaDY0L1N0YW5kYWxvbmVN bUNvcmVFbnRyeVBvaW50Lmg+DQo+ID4gPiA+ID4gKyNpbmNsdWRlIDxMaWJyYXJ5L0FybS9TdGFu ZGFsb25lTW1Db3JlRW50cnlQb2ludC5oPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gICAjaW5jbHVk ZSA8UGlQZWkuaD4NCj4gPiA+ID4gPiAgICNpbmNsdWRlIDxHdWlkL01tcmFtTWVtb3J5UmVzZXJ2 ZS5oPg0KPiA+ID4gPiA+IEBAIC0xODIsMTMgKzE4MiwxMyBAQCBEZWxlZ2F0ZWRFdmVudExvb3Ag KA0KPiA+ID4gPiA+ICAgICAgIH0NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICAgICAgIGlmIChGZmFF bmFibGVkKSB7DQo+ID4gPiA+ID4gLSAgICAgIEV2ZW50Q29tcGxldGVTdmNBcmdzLT5BcmcwID0N Cj4gPiA+ID4gQVJNX1NWQ19JRF9GRkFfTVNHX1NFTkRfRElSRUNUX1JFU1BfQUFSQ0g2NDsNCj4g PiA+ID4gPiArICAgICAgRXZlbnRDb21wbGV0ZVN2Y0FyZ3MtPkFyZzAgPQ0KPiA+ID4gPiBBUk1f U1ZDX0lEX0ZGQV9NU0dfU0VORF9ESVJFQ1RfUkVTUDsNCj4gPiA+ID4gPiAgICAgICAgIEV2ZW50 Q29tcGxldGVTdmNBcmdzLT5BcmcxID0gMDsNCj4gPiA+ID4gPiAgICAgICAgIEV2ZW50Q29tcGxl dGVTdmNBcmdzLT5BcmcyID0gMDsNCj4gPiA+ID4gPiAtICAgICAgRXZlbnRDb21wbGV0ZVN2Y0Fy Z3MtPkFyZzMgPQ0KPiA+ID4gPiBBUk1fU1ZDX0lEX1NQX0VWRU5UX0NPTVBMRVRFX0FBUkNINjQ7 DQo+ID4gPiA+ID4gKyAgICAgIEV2ZW50Q29tcGxldGVTdmNBcmdzLT5BcmczID0NCj4gPiA+ID4g QVJNX1NWQ19JRF9TUF9FVkVOVF9DT01QTEVURTsNCj4gPiA+ID4gPiAgICAgICAgIEV2ZW50Q29t cGxldGVTdmNBcmdzLT5Bcmc0ID0gU3ZjU3RhdHVzOw0KPiA+ID4gPiA+ICAgICAgIH0gZWxzZSB7 DQo+ID4gPiA+ID4gLSAgICAgIEV2ZW50Q29tcGxldGVTdmNBcmdzLT5BcmcwID0NCj4gPiA+ID4g QVJNX1NWQ19JRF9TUF9FVkVOVF9DT01QTEVURV9BQVJDSDY0Ow0KPiA+ID4gPiA+ICsgICAgICBF dmVudENvbXBsZXRlU3ZjQXJncy0+QXJnMCA9DQo+ID4gPiA+IEFSTV9TVkNfSURfU1BfRVZFTlRf Q09NUExFVEU7DQo+ID4gPiA+ID4gICAgICAgICBFdmVudENvbXBsZXRlU3ZjQXJncy0+QXJnMSA9 IFN2Y1N0YXR1czsNCj4gPiA+ID4gPiAgICAgICB9DQo+ID4gPiA+ID4gICAgIH0NCj4gPiA+ID4g PiBAQCAtMjczLDEzICsyNzMsMTMgQEAgSW5pdEFybVN2Y0FyZ3MgKA0KPiA+ID4gPiA+ICAgICAp DQo+ID4gPiA+ID4gICB7DQo+ID4gPiA+ID4gICAgIGlmIChGZWF0dXJlUGNkR2V0IChQY2RGZmFF bmFibGUpKSB7DQo+ID4gPiA+ID4gLSAgICBJbml0TW1Gb3VuZGF0aW9uU3ZjQXJncy0+QXJnMCA9 DQo+ID4gPiA+IEFSTV9TVkNfSURfRkZBX01TR19TRU5EX0RJUkVDVF9SRVNQX0FBUkNINjQ7DQo+ ID4gPiA+ID4gKyAgICBJbml0TW1Gb3VuZGF0aW9uU3ZjQXJncy0+QXJnMCA9DQo+ID4gPiA+IEFS TV9TVkNfSURfRkZBX01TR19TRU5EX0RJUkVDVF9SRVNQOw0KPiA+ID4gPiA+ICAgICAgIEluaXRN bUZvdW5kYXRpb25TdmNBcmdzLT5BcmcxID0gMDsNCj4gPiA+ID4gPiAgICAgICBJbml0TW1Gb3Vu ZGF0aW9uU3ZjQXJncy0+QXJnMiA9IDA7DQo+ID4gPiA+ID4gLSAgICBJbml0TW1Gb3VuZGF0aW9u U3ZjQXJncy0+QXJnMyA9DQo+ID4gPiA+IEFSTV9TVkNfSURfU1BfRVZFTlRfQ09NUExFVEVfQUFS Q0g2NDsNCj4gPiA+ID4gPiArICAgIEluaXRNbUZvdW5kYXRpb25TdmNBcmdzLT5BcmczID0NCj4g PiA+ID4gQVJNX1NWQ19JRF9TUF9FVkVOVF9DT01QTEVURTsNCj4gPiA+ID4gPiAgICAgICBJbml0 TW1Gb3VuZGF0aW9uU3ZjQXJncy0+QXJnNCA9ICpSZXQ7DQo+ID4gPiA+ID4gICAgIH0gZWxzZSB7 DQo+ID4gPiA+ID4gLSAgICBJbml0TW1Gb3VuZGF0aW9uU3ZjQXJncy0+QXJnMCA9DQo+ID4gPiA+ IEFSTV9TVkNfSURfU1BfRVZFTlRfQ09NUExFVEVfQUFSQ0g2NDsNCj4gPiA+ID4gPiArICAgIElu aXRNbUZvdW5kYXRpb25TdmNBcmdzLT5BcmcwID0NCj4gPiA+ID4gQVJNX1NWQ19JRF9TUF9FVkVO VF9DT01QTEVURTsNCj4gPiA+ID4gPiAgICAgICBJbml0TW1Gb3VuZGF0aW9uU3ZjQXJncy0+QXJn MSA9ICpSZXQ7DQo+ID4gPiA+ID4gICAgIH0NCj4gPiA+ID4gPiAgIH0NCj4gPiA+ID4gPiBAQCAt Mzk1LDcgKzM5NSw3IEBAIF9Nb2R1bGVFbnRyeVBvaW50ICgNCj4gPiA+ID4gPiAgICAgLy8NCj4g PiA+ID4gPiAgICAgUHJvY2Vzc01vZHVsZUVudHJ5UG9pbnRMaXN0IChIb2JTdGFydCk7DQo+ID4g PiA+ID4NCj4gPiA+ID4gPiAtICBERUJVRyAoKERFQlVHX0lORk8sICJTaGFyZWQgQ3B1IERyaXZl ciBFUCAweCVseFxuIiwgKFVJTlQ2NCkNCj4gPiA+ID4gQ3B1RHJpdmVyRW50cnlQb2ludCkpOw0K PiA+ID4gPiA+ICsgIERFQlVHICgoREVCVUdfSU5GTywgIlNoYXJlZCBDcHUgRHJpdmVyIEVQICVw XG4iLCAoVk9JRCAqKQ0KPiA+ID4gPiBDcHVEcml2ZXJFbnRyeVBvaW50KSk7DQo+ID4gPiA+ID4N Cj4gPiA+ID4gPiAgIGZpbmlzaDoNCj4gPiA+ID4gPiAgICAgaWYgKFN0YXR1cyA9PSBSRVRVUk5f VU5TVVBQT1JURUQpIHsNCj4gPiA+ID4gPiBkaWZmIC0tZ2l0DQo+ID4gPiA+DQo+ID4NCj4gYS9T dGFuZGFsb25lTW1Qa2cvTGlicmFyeS9TdGFuZGFsb25lTW1Db3JlRW50cnlQb2ludC9TdGFuZGFs b25lTW0NCj4gPiA+ID4gQ29yZUVudHJ5UG9pbnQuaW5mDQo+ID4gPiA+DQo+ID4NCj4gYi9TdGFu ZGFsb25lTW1Qa2cvTGlicmFyeS9TdGFuZGFsb25lTW1Db3JlRW50cnlQb2ludC9TdGFuZGFsb25l TW0NCj4gPiA+ID4gQ29yZUVudHJ5UG9pbnQuaW5mDQo+ID4gPiA+ID4gaW5kZXggNGZhNDI2ZjU4 ZS4uMTc2MjU4NmNmYSAxMDA2NDQNCj4gPiA+ID4gPiAtLS0NCj4gPiA+ID4NCj4gPg0KPiBhL1N0 YW5kYWxvbmVNbVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbUNvcmVFbnRyeVBvaW50L1N0YW5kYWxv bmVNbQ0KPiA+ID4gPiBDb3JlRW50cnlQb2ludC5pbmYNCj4gPiA+ID4gPiArKysNCj4gPiA+ID4N Cj4gPg0KPiBiL1N0YW5kYWxvbmVNbVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbUNvcmVFbnRyeVBv aW50L1N0YW5kYWxvbmVNbQ0KPiA+ID4gPiBDb3JlRW50cnlQb2ludC5pbmYNCj4gPiA+ID4gPiBA QCAtMjEsMTAgKzIxLDEwIEBADQo+ID4gPiA+ID4gICAjICBWQUxJRF9BUkNISVRFQ1RVUkVTICAg ICAgICAgICA9IElBMzIgWDY0IElQRiBFQkMgKEVCQw0KPiBpcw0KPiA+IGZvcg0KPiA+ID4gPiBi dWlsZCBvbmx5KQ0KPiA+ID4gPiA+ICAgIw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gLVtTb3VyY2Vz LkFBUkNINjRdDQo+ID4gPiA+ID4gLSAgQUFyY2g2NC9TdGFuZGFsb25lTW1Db3JlRW50cnlQb2lu dC5jDQo+ID4gPiA+ID4gLSAgQUFyY2g2NC9TZXRQZXJtaXNzaW9ucy5jDQo+ID4gPiA+ID4gLSAg QUFyY2g2NC9DcmVhdGVIb2JMaXN0LmMNCj4gPiA+ID4gPiArW1NvdXJjZXMuQUFSQ0g2NCwgU291 cmNlcy5BUk1dDQo+ID4gPiA+ID4gKyAgQXJtL1N0YW5kYWxvbmVNbUNvcmVFbnRyeVBvaW50LmMN Cj4gPiA+ID4gPiArICBBcm0vU2V0UGVybWlzc2lvbnMuYw0KPiA+ID4gPiA+ICsgIEFybS9DcmVh dGVIb2JMaXN0LmMNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICAgW1NvdXJjZXMuWDY0XQ0KPiA+ID4g PiA+ICAgICBYNjQvU3RhbmRhbG9uZU1tQ29yZUVudHJ5UG9pbnQuYw0KPiA+ID4gPiA+IEBAIC0z NCwxNCArMzQsMTQgQEANCj4gPiA+ID4gPiAgICAgTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5k ZWMNCj4gPiA+ID4gPiAgICAgU3RhbmRhbG9uZU1tUGtnL1N0YW5kYWxvbmVNbVBrZy5kZWMNCj4g PiA+ID4gPg0KPiA+ID4gPiA+IC1bUGFja2FnZXMuQUFSQ0g2NF0NCj4gPiA+ID4gPiArW1BhY2th Z2VzLkFSTSwgUGFja2FnZXMuQUFSQ0g2NF0NCj4gPiA+ID4gPiAgICAgQXJtUGtnL0FybVBrZy5k ZWMNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICAgW0xpYnJhcnlDbGFzc2VzXQ0KPiA+ID4gPiA+ICAg ICBCYXNlTGliDQo+ID4gPiA+ID4gICAgIERlYnVnTGliDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAt W0xpYnJhcnlDbGFzc2VzLkFBUkNINjRdDQo+ID4gPiA+ID4gK1tMaWJyYXJ5Q2xhc3Nlcy5BUk0s IExpYnJhcnlDbGFzc2VzLkFBUkNINjRdDQo+ID4gPiA+ID4gICAgIFN0YW5kYWxvbmVNbU1tdUxp Yg0KPiA+ID4gPiA+ICAgICBBcm1TdmNMaWINCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEBAIC01MSw3 ICs1MSw3IEBADQo+ID4gPiA+ID4gICAgIGdFZmlTdGFuZGFsb25lTW1Ob25TZWN1cmVCdWZmZXJH dWlkDQo+ID4gPiA+ID4gICAgIGdFZmlBcm1UZkNwdURyaXZlckVwRGVzY3JpcHRvckd1aWQNCj4g PiA+ID4gPg0KPiA+ID4gPiA+IC1bRmVhdHVyZVBjZC5BQVJDSDY0XQ0KPiA+ID4gPiA+ICtbRmVh dHVyZVBjZC5BUk0sIEZlYXR1cmVQY2QuQUFSQ0g2NF0NCj4gPiA+ID4gPiAgICAgZ0FybVRva2Vu U3BhY2VHdWlkLlBjZEZmYUVuYWJsZQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gICBbQnVpbGRPcHRp b25zXQ0KPiA+ID4gPiA+IGRpZmYgLS1naXQNCj4gPiA+ID4NCj4gPg0KPiBhL1N0YW5kYWxvbmVN bVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbUNvcmVIb2JMaWIvQUFyY2g2NC9TdGFuZGFsb24NCj4g PiA+ID4gZU1tQ29yZUhvYkxpYi5jDQo+ID4gPiA+DQo+ID4NCj4gYi9TdGFuZGFsb25lTW1Qa2cv TGlicmFyeS9TdGFuZGFsb25lTW1Db3JlSG9iTGliL0FybS9TdGFuZGFsb25lTQ0KPiA+ID4gPiBt Q29yZUhvYkxpYi5jDQo+ID4gPiA+ID4gc2ltaWxhcml0eSBpbmRleCAxMDAlDQo+ID4gPiA+ID4g cmVuYW1lIGZyb20NCj4gPiA+ID4NCj4gPg0KPiBTdGFuZGFsb25lTW1Qa2cvTGlicmFyeS9TdGFu ZGFsb25lTW1Db3JlSG9iTGliL0FBcmNoNjQvU3RhbmRhbG9uZQ0KPiA+ID4gPiBNbUNvcmVIb2JM aWIuYw0KPiA+ID4gPiA+IHJlbmFtZSB0bw0KPiA+ID4gPg0KPiA+DQo+IFN0YW5kYWxvbmVNbVBr Zy9MaWJyYXJ5L1N0YW5kYWxvbmVNbUNvcmVIb2JMaWIvQXJtL1N0YW5kYWxvbmVNbUMNCj4gPiA+ ID4gb3JlSG9iTGliLmMNCj4gPiA+ID4gPiBkaWZmIC0tZ2l0DQo+ID4gPiA+DQo+ID4NCj4gYS9T dGFuZGFsb25lTW1Qa2cvTGlicmFyeS9TdGFuZGFsb25lTW1Db3JlSG9iTGliL0FBcmNoNjQvU3Rh bmRhbG9uDQo+ID4gPiA+IGVNbUNvcmVIb2JMaWJJbnRlcm5hbC5jDQo+ID4gPiA+DQo+ID4NCj4g Yi9TdGFuZGFsb25lTW1Qa2cvTGlicmFyeS9TdGFuZGFsb25lTW1Db3JlSG9iTGliL0FybS9TdGFu ZGFsb25lTQ0KPiA+ID4gPiBtQ29yZUhvYkxpYkludGVybmFsLmMNCj4gPiA+ID4gPiBzaW1pbGFy aXR5IGluZGV4IDEwMCUNCj4gPiA+ID4gPiByZW5hbWUgZnJvbQ0KPiA+ID4gPg0KPiA+DQo+IFN0 YW5kYWxvbmVNbVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbUNvcmVIb2JMaWIvQUFyY2g2NC9TdGFu ZGFsb25lDQo+ID4gPiA+IE1tQ29yZUhvYkxpYkludGVybmFsLmMNCj4gPiA+ID4gPiByZW5hbWUg dG8NCj4gPiA+ID4NCj4gPg0KPiBTdGFuZGFsb25lTW1Qa2cvTGlicmFyeS9TdGFuZGFsb25lTW1D b3JlSG9iTGliL0FybS9TdGFuZGFsb25lTW1DDQo+ID4gPiA+IG9yZUhvYkxpYkludGVybmFsLmMN Cj4gPiA+ID4gPiBkaWZmIC0tZ2l0DQo+ID4gPiA+DQo+ID4NCj4gYS9TdGFuZGFsb25lTW1Qa2cv TGlicmFyeS9TdGFuZGFsb25lTW1Db3JlSG9iTGliL1N0YW5kYWxvbmVNbUNvcmUNCj4gPiA+ID4g SG9iTGliLmluZg0KPiA+ID4gPg0KPiA+DQo+IGIvU3RhbmRhbG9uZU1tUGtnL0xpYnJhcnkvU3Rh bmRhbG9uZU1tQ29yZUhvYkxpYi9TdGFuZGFsb25lTW1Db3JlDQo+ID4gPiA+IEhvYkxpYi5pbmYN Cj4gPiA+ID4gPiBpbmRleCBhMjU1OTkyMGU4Li4zNGVkNTM2NDgwIDEwMDY0NA0KPiA+ID4gPiA+ IC0tLQ0KPiA+ID4gPg0KPiA+DQo+IGEvU3RhbmRhbG9uZU1tUGtnL0xpYnJhcnkvU3RhbmRhbG9u ZU1tQ29yZUhvYkxpYi9TdGFuZGFsb25lTW1Db3JlDQo+ID4gPiA+IEhvYkxpYi5pbmYNCj4gPiA+ ID4gPiArKysNCj4gPiA+ID4NCj4gPg0KPiBiL1N0YW5kYWxvbmVNbVBrZy9MaWJyYXJ5L1N0YW5k YWxvbmVNbUNvcmVIb2JMaWIvU3RhbmRhbG9uZU1tQ29yZQ0KPiA+ID4gPiBIb2JMaWIuaW5mDQo+ ID4gPiA+ID4gQEAgLTIyLDcgKzIyLDcgQEANCj4gPiA+ID4gPiAgICAgTElCUkFSWV9DTEFTUyAg ICAgICAgICAgICAgICAgID0NCj4gPiA+ID4gSG9iTGlifE1NX0NPUkVfU1RBTkRBTE9ORQ0KPiA+ ID4gPiA+DQo+ID4gPiA+ID4gICAjDQo+ID4gPiA+ID4gLSMgIFZBTElEX0FSQ0hJVEVDVFVSRVMg ICAgICAgICAgID0gWDY0IEFBUkNINjQNCj4gPiA+ID4gPiArIyAgVkFMSURfQVJDSElURUNUVVJF UyAgICAgICAgICAgPSBYNjQgQUFSQ0g2NCBBUk0NCj4gPiA+ID4gPiAgICMNCj4gPiA+ID4gPiAg IFtTb3VyY2VzLmNvbW1vbl0NCj4gPiA+ID4gPiAgICAgQ29tbW9uLmMNCj4gPiA+ID4gPiBAQCAt MzAsOSArMzAsOSBAQA0KPiA+ID4gPiA+ICAgW1NvdXJjZXMuWDY0XQ0KPiA+ID4gPiA+ICAgICBY NjQvU3RhbmRhbG9uZU1tQ29yZUhvYkxpYi5jDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAtW1NvdXJj ZXMuQUFSQ0g2NF0NCj4gPiA+ID4gPiAtICBBQXJjaDY0L1N0YW5kYWxvbmVNbUNvcmVIb2JMaWIu Yw0KPiA+ID4gPiA+IC0gIEFBcmNoNjQvU3RhbmRhbG9uZU1tQ29yZUhvYkxpYkludGVybmFsLmMN Cj4gPiA+ID4gPiArW1NvdXJjZXMuQUFSQ0g2NCwgU291cmNlcy5BUk1dDQo+ID4gPiA+ID4gKyAg QXJtL1N0YW5kYWxvbmVNbUNvcmVIb2JMaWIuYw0KPiA+ID4gPiA+ICsgIEFybS9TdGFuZGFsb25l TW1Db3JlSG9iTGliSW50ZXJuYWwuYw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gICBbUGFja2FnZXNd DQo+ID4gPiA+ID4gICAgIE1kZVBrZy9NZGVQa2cuZGVjDQo+ID4gPiA+ID4gZGlmZiAtLWdpdA0K PiA+ID4gPg0KPiA+DQo+IGEvU3RhbmRhbG9uZU1tUGtnL0xpYnJhcnkvU3RhbmRhbG9uZU1tTWVt TGliL0FBcmNoNjQvU3RhbmRhbG9uZU0NCj4gPiA+ID4gbU1lbUxpYkludGVybmFsLmMNCj4gPiA+ ID4NCj4gPg0KPiBiL1N0YW5kYWxvbmVNbVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbU1lbUxpYi9B cm1TdGFuZGFsb25lTW1NZQ0KPiA+ID4gPiBtTGliSW50ZXJuYWwuYw0KPiA+ID4gPiA+IHNpbWls YXJpdHkgaW5kZXggODYlDQo+ID4gPiA+ID4gcmVuYW1lIGZyb20NCj4gPiA+ID4NCj4gPg0KPiBT dGFuZGFsb25lTW1Qa2cvTGlicmFyeS9TdGFuZGFsb25lTW1NZW1MaWIvQUFyY2g2NC9TdGFuZGFs b25lTW0NCj4gPiA+ID4gTWVtTGliSW50ZXJuYWwuYw0KPiA+ID4gPiA+IHJlbmFtZSB0bw0KPiA+ ID4gPg0KPiA+DQo+IFN0YW5kYWxvbmVNbVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbU1lbUxpYi9B cm1TdGFuZGFsb25lTW1NZW1MDQo+ID4gPiA+IGliSW50ZXJuYWwuYw0KPiA+ID4gPiA+IGluZGV4 IDQxMjQ5NTllMDQuLmZhN2RmNDY0MTMgMTAwNjQ0DQo+ID4gPiA+ID4gLS0tDQo+ID4gPiA+DQo+ ID4NCj4gYS9TdGFuZGFsb25lTW1Qa2cvTGlicmFyeS9TdGFuZGFsb25lTW1NZW1MaWIvQUFyY2g2 NC9TdGFuZGFsb25lTQ0KPiA+ID4gPiBtTWVtTGliSW50ZXJuYWwuYw0KPiA+ID4gPiA+ICsrKw0K PiA+ID4gPg0KPiA+DQo+IGIvU3RhbmRhbG9uZU1tUGtnL0xpYnJhcnkvU3RhbmRhbG9uZU1tTWVt TGliL0FybVN0YW5kYWxvbmVNbU1lDQo+ID4gPiA+IG1MaWJJbnRlcm5hbC5jDQo+ID4gPiA+ID4g QEAgLTIwLDYgKzIwLDEzIEBADQo+ID4gPiA+ID4gICAvLw0KPiA+ID4gPiA+ICAgZXh0ZXJuIEVG SV9QSFlTSUNBTF9BRERSRVNTDQo+ID4gPiA+IG1NbU1lbUxpYkludGVybmFsTWF4aW11bVN1cHBv cnRBZGRyZXNzOw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKyNpZmRlZiBNREVfQ1BVX0FBUkNINjQN Cj4gPiA+ID4gPiArI2RlZmluZSBBUk1fUEhZU0lDQUxfQUREUkVTU19CSVRTIDM2DQo+ID4gPiA+ ID4gKyNlbmRpZg0KPiA+ID4gPiA+ICsjaWZkZWYgTURFX0NQVV9BUk0NCj4gPiA+ID4gPiArI2Rl ZmluZSBBUk1fUEhZU0lDQUxfQUREUkVTU19CSVRTIDMyDQo+ID4gPiA+ID4gKyNlbmRpZg0KPiA+ ID4gPiA+ICsNCj4gPiA+ID4gPiAgIC8qKg0KPiA+ID4gPiA+ICAgICBDYWxjdWxhdGUgYW5kIHNh dmUgdGhlIG1heGltdW0gc3VwcG9ydCBhZGRyZXNzLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gQEAg LTMxLDcgKzM4LDcgQEANCj4gPiA+ID4gTW1NZW1MaWJJbnRlcm5hbENhbGN1bGF0ZU1heGltdW1T dXBwb3J0QWRkcmVzcyAoDQo+ID4gPiA+ID4gICB7DQo+ID4gPiA+ID4gICAgIFVJTlQ4ICAgICAg ICBQaHlzaWNhbEFkZHJlc3NCaXRzOw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gLSAgUGh5c2ljYWxB ZGRyZXNzQml0cyA9IDM2Ow0KPiA+ID4gPiA+ICsgIFBoeXNpY2FsQWRkcmVzc0JpdHMgPSBBUk1f UEhZU0lDQUxfQUREUkVTU19CSVRTOw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gICAgIC8vDQo+ID4g PiA+ID4gICAgIC8vIFNhdmUgdGhlIG1heGltdW0gc3VwcG9ydCBhZGRyZXNzIGluIG9uZSBnbG9i YWwgdmFyaWFibGUNCj4gPiA+ID4gPiBkaWZmIC0tZ2l0DQo+ID4gPiA+DQo+ID4NCj4gYS9TdGFu ZGFsb25lTW1Qa2cvTGlicmFyeS9TdGFuZGFsb25lTW1NZW1MaWIvU3RhbmRhbG9uZU1tTWVtTGli DQo+ID4gPiA+IC5pbmYNCj4gPiA+ID4NCj4gPg0KPiBiL1N0YW5kYWxvbmVNbVBrZy9MaWJyYXJ5 L1N0YW5kYWxvbmVNbU1lbUxpYi9TdGFuZGFsb25lTW1NZW1MaWINCj4gPiA+ID4gLmluZg0KPiA+ ID4gPiA+IGluZGV4IDA2MmIwZDdhMTEuLmIyOWQ5N2E3NDYgMTAwNjQ0DQo+ID4gPiA+ID4gLS0t DQo+ID4gPiA+DQo+ID4NCj4gYS9TdGFuZGFsb25lTW1Qa2cvTGlicmFyeS9TdGFuZGFsb25lTW1N ZW1MaWIvU3RhbmRhbG9uZU1tTWVtTGliDQo+ID4gPiA+IC5pbmYNCj4gPiA+ID4gPiArKysNCj4g PiA+ID4NCj4gPg0KPiBiL1N0YW5kYWxvbmVNbVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbU1lbUxp Yi9TdGFuZGFsb25lTW1NZW1MaWINCj4gPiA+ID4gLmluZg0KPiA+ID4gPiA+IEBAIC0yOCw3ICsy OCw3IEBADQo+ID4gPiA+ID4gICAjDQo+ID4gPiA+ID4gICAjIFRoZSBmb2xsb3dpbmcgaW5mb3Jt YXRpb24gaXMgZm9yIHJlZmVyZW5jZSBvbmx5IGFuZCBub3QgcmVxdWlyZWQNCj4gYnkNCj4gPiB0 aGUNCj4gPiA+ID4gYnVpbGQgdG9vbHMuDQo+ID4gPiA+ID4gICAjDQo+ID4gPiA+ID4gLSMgIFZB TElEX0FSQ0hJVEVDVFVSRVMgICAgICAgICAgID0gSUEzMiBYNjQgQUFSQ0g2NA0KPiA+ID4gPiA+ ICsjICBWQUxJRF9BUkNISVRFQ1RVUkVTICAgICAgICAgICA9IElBMzIgWDY0IEFBUkNINjQgQVJN DQo+ID4gPiA+ID4gICAjDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAgIFtTb3VyY2VzLkNvbW1vbl0N Cj4gPiA+ID4gPiBAQCAtMzcsOCArMzcsOCBAQA0KPiA+ID4gPiA+ICAgW1NvdXJjZXMuSUEzMiwg U291cmNlcy5YNjRdDQo+ID4gPiA+ID4gICAgIFg4NlN0YW5kYWxvbmVNbU1lbUxpYkludGVybmFs LmMNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IC1bU291cmNlcy5BQVJDSDY0XQ0KPiA+ID4gPiA+IC0g IEFBcmNoNjQvU3RhbmRhbG9uZU1tTWVtTGliSW50ZXJuYWwuYw0KPiA+ID4gPiA+ICtbU291cmNl cy5BQVJDSDY0LCBTb3VyY2VzLkFSTV0NCj4gPiA+ID4gPiArICBBcm1TdGFuZGFsb25lTW1NZW1M aWJJbnRlcm5hbC5jDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAgIFtQYWNrYWdlc10NCj4gPiA+ID4g PiAgICAgTWRlUGtnL01kZVBrZy5kZWMNCj4gPiA+ID4gPiBkaWZmIC0tZ2l0DQo+ID4gPiA+DQo+ ID4NCj4gYS9TdGFuZGFsb25lTW1Qa2cvTGlicmFyeS9WYXJpYWJsZU1tRGVwZW5kZW5jeS9WYXJp YWJsZU1tRGVwZW5kZQ0KPiA+ID4gPiBuY3kuaW5mDQo+ID4gPiA+DQo+ID4NCj4gYi9TdGFuZGFs b25lTW1Qa2cvTGlicmFyeS9WYXJpYWJsZU1tRGVwZW5kZW5jeS9WYXJpYWJsZU1tRGVwZW5kZQ0K PiA+ID4gPiBuY3kuaW5mDQo+ID4gPiA+ID4gaW5kZXggYTJhMDU5YzVkNi4uZmZiMmE2ZDA4MyAx MDA2NDQNCj4gPiA+ID4gPiAtLS0NCj4gPiA+ID4NCj4gPg0KPiBhL1N0YW5kYWxvbmVNbVBrZy9M aWJyYXJ5L1ZhcmlhYmxlTW1EZXBlbmRlbmN5L1ZhcmlhYmxlTW1EZXBlbmRlDQo+ID4gPiA+IG5j eS5pbmYNCj4gPiA+ID4gPiArKysNCj4gPiA+ID4NCj4gPg0KPiBiL1N0YW5kYWxvbmVNbVBrZy9M aWJyYXJ5L1ZhcmlhYmxlTW1EZXBlbmRlbmN5L1ZhcmlhYmxlTW1EZXBlbmRlDQo+ID4gPiA+IG5j eS5pbmYNCj4gPiA+ID4gPiBAQCAtMjAsNyArMjAsNyBAQA0KPiA+ID4gPiA+ICAgIw0KPiA+ID4g PiA+ICAgIyBUaGUgZm9sbG93aW5nIGluZm9ybWF0aW9uIGlzIGZvciByZWZlcmVuY2Ugb25seSBh bmQgbm90IHJlcXVpcmVkDQo+IGJ5DQo+ID4gdGhlDQo+ID4gPiA+IGJ1aWxkIHRvb2xzLg0KPiA+ ID4gPiA+ICAgIw0KPiA+ID4gPiA+IC0jICBWQUxJRF9BUkNISVRFQ1RVUkVTICAgICAgICAgICA9 IEFBUkNINjQNCj4gPiA+ID4gPiArIyAgVkFMSURfQVJDSElURUNUVVJFUyAgICAgICAgICAgPSBB QVJDSDY0fEFSTQ0KPiA+ID4gPiA+ICAgIw0KPiA+ID4gPiA+ICAgIw0KPiA+ID4gPiA+DQo+ID4g PiA+ID4gZGlmZiAtLWdpdCBhL1N0YW5kYWxvbmVNbVBrZy9TdGFuZGFsb25lTW1Qa2cuZHNjDQo+ ID4gPiA+IGIvU3RhbmRhbG9uZU1tUGtnL1N0YW5kYWxvbmVNbVBrZy5kc2MNCj4gPiA+ID4gPiBp bmRleCAwYzQ1ZGY5NWUyLi44MDEyZjkzYjdkIDEwMDY0NA0KPiA+ID4gPiA+IC0tLSBhL1N0YW5k YWxvbmVNbVBrZy9TdGFuZGFsb25lTW1Qa2cuZHNjDQo+ID4gPiA+ID4gKysrIGIvU3RhbmRhbG9u ZU1tUGtnL1N0YW5kYWxvbmVNbVBrZy5kc2MNCj4gPiA+ID4gPiBAQCAtMjAsNyArMjAsNyBAQA0K PiA+ID4gPiA+ICAgICBQTEFURk9STV9WRVJTSU9OICAgICAgICAgICAgICAgPSAxLjANCj4gPiA+ ID4gPiAgICAgRFNDX1NQRUNJRklDQVRJT04gICAgICAgICAgICAgID0gMHgwMDAxMDAxMQ0KPiA+ ID4gPiA+ICAgICBPVVRQVVRfRElSRUNUT1JZICAgICAgICAgICAgICAgPSBCdWlsZC9TdGFuZGFs b25lTW0NCj4gPiA+ID4gPiAtICBTVVBQT1JURURfQVJDSElURUNUVVJFUyAgICAgICAgPSBBQVJD SDY0fFg2NA0KPiA+ID4gPiA+ICsgIFNVUFBPUlRFRF9BUkNISVRFQ1RVUkVTICAgICAgICA9IEFB UkNINjR8WDY0fEFSTQ0KPiA+ID4gPiA+ICAgICBCVUlMRF9UQVJHRVRTICAgICAgICAgICAgICAg ICAgPSBERUJVR3xSRUxFQVNFDQo+ID4gPiA+ID4gICAgIFNLVUlEX0lERU5USUZJRVIgICAgICAg ICAgICAgICA9IERFRkFVTFQNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEBAIC02MCw3ICs2MCw3IEBA DQo+ID4gPiA+ID4NCj4gPiA+ID4NCj4gPg0KPiBTdGFuZGFsb25lTW1Ecml2ZXJFbnRyeVBvaW50 fE1kZVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbURyaXZlckVudHJ5UA0KPiA+ID4gPiBvaW50L1N0 YW5kYWxvbmVNbURyaXZlckVudHJ5UG9pbnQuaW5mDQo+ID4gPiA+ID4NCj4gPiA+ID4NCj4gPg0K PiBWYXJpYWJsZU1tRGVwZW5kZW5jeXxTdGFuZGFsb25lTW1Qa2cvTGlicmFyeS9WYXJpYWJsZU1t RGVwZW5kZW5jDQo+ID4gPiA+IHkvVmFyaWFibGVNbURlcGVuZGVuY3kuaW5mDQo+ID4gPiA+ID4N Cj4gPiA+ID4gPiAtW0xpYnJhcnlDbGFzc2VzLkFBUkNINjRdDQo+ID4gPiA+ID4gK1tMaWJyYXJ5 Q2xhc3Nlcy5BQVJDSDY0LCBMaWJyYXJ5Q2xhc3Nlcy5BUk1dDQo+ID4gPiA+ID4gICAgIEFybUxp YnxBcm1Qa2cvTGlicmFyeS9Bcm1MaWIvQXJtQmFzZUxpYi5pbmYNCj4gPiA+ID4gPg0KPiA+ID4g Pg0KPiA+DQo+IFN0YW5kYWxvbmVNbU1tdUxpYnxBcm1Qa2cvTGlicmFyeS9TdGFuZGFsb25lTW1N bXVMaWIvQXJtTW11U3QNCj4gPiA+ID4gYW5kYWxvbmVNbUxpYi5pbmYNCj4gPiA+ID4gPiAgICAg QXJtU3ZjTGlifEFybVBrZy9MaWJyYXJ5L0FybVN2Y0xpYi9Bcm1TdmNMaWIuaW5mDQo+ID4gPiA+ ID4gQEAgLTExOCw4ICsxMTgsOCBAQA0KPiA+ID4gPiA+DQo+ID4gPiA+DQo+ID4NCj4gU3RhbmRh bG9uZU1tUGtnL0xpYnJhcnkvU3RhbmRhbG9uZU1tTWVtb3J5QWxsb2NhdGlvbkxpYi9TdGFuZGFs b25lDQo+ID4gPiA+IE1tTWVtb3J5QWxsb2NhdGlvbkxpYi5pbmYNCj4gPiA+ID4gPg0KPiA+ID4g Pg0KPiA+DQo+IFN0YW5kYWxvbmVNbVBrZy9MaWJyYXJ5L1ZhcmlhYmxlTW1EZXBlbmRlbmN5L1Zh cmlhYmxlTW1EZXBlbmRlbmMNCj4gPiA+ID4geS5pbmYNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IC1b Q29tcG9uZW50cy5BQVJDSDY0XQ0KPiA+ID4gPiA+IC0NCj4gPiA+ID4NCj4gPg0KPiBTdGFuZGFs b25lTW1Qa2cvRHJpdmVycy9TdGFuZGFsb25lTW1DcHUvQUFyY2g2NC9TdGFuZGFsb25lTW1DcHUu aQ0KPiA+ID4gPiBuZg0KPiA+ID4gPiA+ICtbQ29tcG9uZW50cy5BQVJDSDY0LCBDb21wb25lbnRz LkFSTV0NCj4gPiA+ID4gPiArDQo+ID4gU3RhbmRhbG9uZU1tUGtnL0RyaXZlcnMvU3RhbmRhbG9u ZU1tQ3B1L1N0YW5kYWxvbmVNbUNwdS5pbmYNCj4gPiA+ID4gPg0KPiA+ID4gPg0KPiA+DQo+IFN0 YW5kYWxvbmVNbVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbVBlQ29mZkV4dHJhQWN0aW9uTGliL1N0 YW5kYWxvbmUNCj4gPiA+ID4gTW1QZUNvZmZFeHRyYUFjdGlvbkxpYi5pbmYNCj4gPiA+ID4gPg0K PiA+ID4gPiA+DQo+ID4gPiA+DQo+ID4NCj4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gPiA+ID4gIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiA+ID4gPiA+IEBAIC0xMzUsNiArMTM1LDEwIEBADQo+ ID4gPiA+ID4gICBHQ0M6Kl8qXypfRExJTktfRkxBR1MgPSAteiBjb21tb24tcGFnZS1zaXplPTB4 MTAwMA0KPiA+ID4gPiAtbWFyY2g9YXJtdjgtYStub2ZwIC1tc3RyaWN0LWFsaWduDQo+ID4gPiA+ ID4gICBHQ0M6Kl8qXypfQ0NfRkxBR1MgPSAtbXN0cmljdC1hbGlnbg0KPiA+ID4gPiA+DQo+ID4g PiA+ID4gK1tCdWlsZE9wdGlvbnMuQVJNXQ0KPiA+ID4gPiA+ICtHQ0M6Kl8qXypfRExJTktfRkxB R1MgPSAteiBjb21tb24tcGFnZS1zaXplPTB4MTAwMA0KPiA+ID4gPiAtbWFyY2g9YXJtdjctYQ0K PiA+ID4gPiA+ICtHQ0M6Kl8qXypfQ0NfRkxBR1MgPSAtZm5vLXN0YWNrLXByb3RlY3Rvcg0KPiA+ ID4gPiA+ICsNCj4gPiA+ID4gPiAgIFtCdWlsZE9wdGlvbnMuWDY0XQ0KPiA+ID4gPiA+ICAgICBN U0ZUOipfKl8qX0RMSU5LX0ZMQUdTID0gL0FMSUdOOjQwOTYNCj4gPiA+ID4gPiAgICAgR0NDOipf R0NDKl8qX0RMSU5LX0ZMQUdTID0gLXogY29tbW9uLXBhZ2Utc2l6ZT0weDEwMDANCj4gPiA+ID4N Cj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4N Cj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+DQo+ID4NCj4gPg0KPiA+DQo+ DQo+DQo+DQo+DQo+DQo+IA0KPg0KDQoNCg0KDQo= --_000_AS8PR08MB680611AEB22CC4138AF3E9A984EA9AS8PR08MB6806eurp_ Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable Hi Liming,

I will look into this shortly.

Regards,

Sami Mujawar


From: gaoliming <gaoliming@b= yosoft.com.cn>
Sent: Wednesday, 28 July 2021, 7:33 am
To: devel@edk2.groups.io; gaoliming@byosoft.com.cn; ardb@= kernel.org
Cc: Sami Mujawar; 'Etienne Carriere'; Achin Gupta; 'Ard B= iesheuvel'; 'Jiewen Yao'; 'Leif Lindholm'; 'Sughosh Ganu'; nd
Subject: =BB=D8=B8=B4: [edk2-devel] [PATCH v4 5/5] Standa= loneMmPkg: build for 32bit arm machines

Ard and Sami:
  Will you help merge this patch set for 202108 stable tag?

Thanks
Liming
> -----=D3=CA=BC=FE=D4=AD=BC=FE-----
> =B7=A2=BC=FE=C8=CB: devel@edk2.groups.io <devel@edk2.groups.io>= =B4=FA=B1=ED gaoliming
> =B7=A2=CB=CD=CA=B1=BC=E4: 2021=C4=EA7=D4=C220=C8=D5 17:21
> =CA=D5=BC=FE=C8=CB: devel@edk2.groups.io; ardb@kernel.org
> =B3=AD=CB=CD: 'Sami Mujawar' <sami.mujawar@arm.com>; 'Etienne C= arriere'
> <etienne.carriere@linaro.org>; 'Achin Gupta' <achin.gupta@ar= m.com>; 'Ard
> Biesheuvel' <ardb+tianocore@kernel.org>; 'Jiewen Yao'
> <jiewen.yao@intel.com>; 'Leif Lindholm' <leif@nuviainc.com&g= t;; 'Sughosh
> Ganu' <sughosh.ganu@linaro.org>; 'nd' <nd@arm.com>
> =D6=F7=CC=E2: =BB=D8=B8=B4: [edk2-devel] [PATCH v4 5/5] StandaloneMmP= kg: build for 32bit
> arm machines
>
> Ard:
>   Thanks! I have added this feature into
> https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-Release-Plann= i
> ng.
>
> Thanks
> Liming
> > -----=D3=CA=BC=FE=D4=AD=BC=FE-----
> > =B7=A2=BC=FE=C8=CB: devel@edk2.groups.io <devel@edk2.groups.i= o> =B4=FA=B1=ED Ard
> > Biesheuvel
> > =B7=A2=CB=CD=CA=B1=BC=E4: 2021=C4=EA7=D4=C220=C8=D5 15:46
> > =CA=D5=BC=FE=C8=CB: edk2-devel-groups-io <devel@edk2.groups.i= o>; Liming Gao
> (Byosoft
> > address) <gaoliming@byosoft.com.cn>
> > =B3=AD=CB=CD: Sami Mujawar <sami.mujawar@arm.com>; Etienne= Carriere
> > <etienne.carriere@linaro.org>; Achin Gupta <achin.gupta= @arm.com>; Ard
> > Biesheuvel <ardb+tianocore@kernel.org>; Jiewen Yao
> > <jiewen.yao@intel.com>; Leif Lindholm <leif@nuviainc.co= m>; Sughosh
> Ganu
> > <sughosh.ganu@linaro.org>; nd <nd@arm.com>
> > =D6=F7=CC=E2: Re: [edk2-devel] [PATCH v4 5/5] StandaloneMmPkg: b= uild for 32bit
> arm
> > machines
> >
> > On Tue, 20 Jul 2021 at 04:01, gaoliming <gaoliming@byosoft.co= m.cn>
> wrote:
> > >
> > > Hi, all
> > >   This patch set has passed code review. How abou= t merge it for this
> > stable tag edk2 202108?
> > >
> >
> > OK, I will pick these up. Would you mind creating the entry for = the
> > release notes?
> >
> >
> > > Thanks
> > > Liming
> > > > -----=D3=CA=BC=FE=D4=AD=BC=FE-----
> > > > =B7=A2=BC=FE=C8=CB: devel@edk2.groups.io <devel@edk= 2.groups.io> =B4=FA=B1=ED Sami
> > > > Mujawar
> > > > =B7=A2=CB=CD=CA=B1=BC=E4: 2021=C4=EA5=D4=C219=C8=D5 17= :58
> > > > =CA=D5=BC=FE=C8=CB: Etienne Carriere <etienne.carri= ere@linaro.org>;
> > > > devel@edk2.groups.io
> > > > =B3=AD=CB=CD: Achin Gupta <achin.gupta@arm.com>;= Ard Biesheuvel
> > > > <ardb+tianocore@kernel.org>; Jiewen Yao <jiew= en.yao@intel.com>;
> Leif
> > > > Lindholm <leif@nuviainc.com>; Sughosh Ganu
> > <sughosh.ganu@linaro.org>;
> > > > nd@arm.com
> > > > =D6=F7=CC=E2: Re: [edk2-devel] [PATCH v4 5/5] Standalo= neMmPkg: build for
> 32bit
> > arm
> > > > machines
> > > >
> > > > Hi Etienn,
> > > >
> > > > This patch looks good to me.
> > > >
> > > > Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>=
> > > >
> > > > Regards,
> > > >
> > > > Sami Mujawar
> > > >
> > > > On 19/05/2021 08:14 AM, Etienne Carriere wrote:
> > > > > This change allows to build StandaloneMmPkg compo= nents for 32bit
> > Arm
> > > > > StandaloneMm firmware.
> > > > >
> > > > > This change mainly moves AArch64/ source files to= Arm/ side directory
> > > > > for several components:  StandaloneMmCpu, > > > > StandaloneMmCoreEntryPoint
> > > > > and StandaloneMmMemLib. The source file is built = for both 32b and
> 64b
> > > > > Arm targets.
> > > > >
> > > > > Signed-off-by: Etienne Carriere <etienne.carri= ere@linaro.org>
> > > > > ---
> > > > > Changes since v3:
> > > > > - Fix BuildOptions.ARM in StandaloneMmPkg.
> > > > > - Remove Cc tags.
> > > > >
> > > > > No change since v2
> > > > >
> > > > > Changes since v1:
> > > > > - ARM_SMC_ID_MM_COMMUNICATE 32b/64b agnostic help= er ID is
> > > > defined
> > > > >    in ArmStdSmc.h (see 1st commit = in this series) instead of being
> > > > >    local to EventHandle.c.
> > > > > - Fix void occurrence to VOID.
> > > > > - Fix path in StandaloneMmPkg/StandaloneMmPkg.dsc=
> > > > > ---
> > > > >   StandaloneMmPkg/Core/StandaloneMmCore= .inf
> > > > |  2 +-
> > > > >   StandaloneMmPkg/Drivers/StandaloneMmC= pu/{AArch64
> > > > =3D> }/EventHandle.c
> > > > |  5 +++--
> > > > >   StandaloneMmPkg/Drivers/StandaloneMmC= pu/{AArch64
> > > > =3D> }/StandaloneMmCpu.c
> > > > |  2 +-
> > > > >   StandaloneMmPkg/Drivers/StandaloneMmC= pu/{AArch64
> > > > =3D> }/StandaloneMmCpu.h
> > > > |  0
> > > > >   StandaloneMmPkg/Drivers/StandaloneMmC= pu/{AArch64
> > > > =3D> }/StandaloneMmCpu.inf
> > > > |  0
> > > > >   StandaloneMmPkg/Include/Library/{AArc= h64 =3D>
> > > > Arm}/StandaloneMmCoreEntryPoint.h
> > > > |  0
> > > > >
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/{AArch64
> > =3D>
> > > > Arm}/CreateHobList.c     &nbs= p;            &= nbsp;           &nbs= p;   |  2 +-
> > > > >
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/{AArch64
> > =3D>
> > > > Arm}/SetPermissions.c     &nb= sp;            =             &nb= sp;  |  2 +-
> > > > >
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/{AArch64
> > =3D>
> > > > Arm}/StandaloneMmCoreEntryPoint.c   &nb= sp;            =      | 16
> > > > ++++++++--------
> > > > >
> > > >
> >
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCor > > > > eEntryPoint.inf      &nb= sp;            =             &nb= sp;    | 14
> > > > +++++++-------
> > > > >   StandaloneMmPkg/Library/StandaloneMmC= oreHobLib/{AArch64
> =3D>
> > > > Arm}/StandaloneMmCoreHobLib.c    &= nbsp;           &nbs= p;            |
> > 0
> > > > >   StandaloneMmPkg/Library/StandaloneMmC= oreHobLib/{AArch64
> =3D>
> > > > Arm}/StandaloneMmCoreHobLibInternal.c   = ;            &n= bsp;     |
> 0
> > > > >
> > > >
> >
> StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCoreH
> > > > obLib.inf       &nb= sp;            =             &nb= sp;           |  8 > > ++++----
> > > > >
> > > >
> >
> StandaloneMmPkg/Library/StandaloneMmMemLib/{AArch64/StandaloneMm
> > > > MemLibInternal.c =3D> ArmStandaloneMmMemLibInternal= .c} |  9
> > ++++++++-
> > > > >
> > > >
> >
> StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.i
> > > > nf        &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;     |  6
> > > > +++---
> > > > >
> > > >
> >
> StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependenc
> > > > y.inf        &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;  |  2 +-
> > > > >   StandaloneMmPkg/StandaloneMmPkg.dsc > > > > | 12 ++++++++----
> > > > >   17 files changed, 46 insertions(+), 3= 4 deletions(-)
> > > > >
> > > > > diff --git a/StandaloneMmPkg/Core/StandaloneMmCor= e.inf
> > > > b/StandaloneMmPkg/Core/StandaloneMmCore.inf
> > > > > index 87bf6e9440..56042b7b39 100644
> > > > > --- a/StandaloneMmPkg/Core/StandaloneMmCore.inf > > > > > +++ b/StandaloneMmPkg/Core/StandaloneMmCore.inf > > > > > @@ -17,7 +17,7 @@
> > > > >     PI_SPECIFICATION_VERSION&= nbsp;      =3D 0x00010032
> > > > >     ENTRY_POINT  &n= bsp;            = ;     =3D StandaloneMmMain
> > > > >
> > > > > -#  VALID_ARCHITECTURES   &nb= sp;       =3D IA32 X64 AARCH64
> > > > > +#  VALID_ARCHITECTURES   &nb= sp;       =3D IA32 X64 AARCH64 ARM
> > > > >
> > > > >   [Sources]
> > > > >     StandaloneMmCore.c
> > > > > diff --git
> > > >
> a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c
> > > > b/StandaloneMmPkg/Drivers/StandaloneMmCpu/EventHandle.= c
> > > > > similarity index 95%
> > > > > rename from
> > > > StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventH= andle.c
> > > > > rename to
> > StandaloneMmPkg/Drivers/StandaloneMmCpu/EventHandle.c
> > > > > index 63fbe26642..165d696f99 100644
> > > > > ---
> > > >
> a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c
> > > > > +++ b/StandaloneMmPkg/Drivers/StandaloneMmCpu/Eve= ntHandle.c
> > > > > @@ -2,6 +2,7 @@
> > > > >
> > > > >     Copyright (c) 2016 HP Dev= elopment Company, L.P.
> > > > >     Copyright (c) 2016 - 2021= , Arm Limited. All rights reserved.
> > > > > +  Copyright (c) 2021, Linaro Limited
> > > > >
> > > > >     SPDX-License-Identifier: = BSD-2-Clause-Patent
> > > > >
> > > > > @@ -92,8 +93,8 @@ PiMmStandaloneArmTfCpuDriverEnt= ry (
> > > > >     // receipt of a synchrono= us MM request. Use the Event ID to
> > > > distinguish
> > > > >     // between synchronous an= d asynchronous events.
> > > > >     //
> > > > > -  if ((ARM_SMC_ID_MM_COMMUNICATE_AARCH64 != =3D EventId) &&
> > > > > -      (ARM_SVC_ID_FFA_M= SG_SEND_DIRECT_REQ_AARCH64 !=3D
> > > > EventId)) {
> > > > > +  if ((ARM_SMC_ID_MM_COMMUNICATE !=3D Event= Id) &&
> > > > > +      (ARM_SVC_ID_FFA_M= SG_SEND_DIRECT_REQ !=3D EventId)) {
> > > > >       DEBUG ((DEBUG= _INFO, "UnRecognized Event - 0x%x\n",
> > EventId));
> > > > >       return EFI_IN= VALID_PARAMETER;
> > > > >     }
> > > > > diff --git
> > > >
> >
> a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCp
> > > > u.c
> > b/StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.c
> > > > > similarity index 96%
> > > > > rename from
> > > >
> >
> StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.
> > > > c
> > > > > rename to
> > > > StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCp= u.c
> > > > > index d4590bcd19..10097f792f 100644
> > > > > ---
> > > >
> >
> a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCp
> > > > u.c
> > > > > +++
> > b/StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.c
> > > > > @@ -10,7 +10,7 @@
> > > > >
> > > > >   #include <Base.h>
> > > > >   #include <Pi/PiMmCis.h>
> > > > > -#include <Library/AArch64/StandaloneMmCoreEnt= ryPoint.h>
> > > > > +#include <Library/Arm/StandaloneMmCoreEntryPo= int.h>
> > > > >   #include <Library/DebugLib.h> > > > > >   #include <Library/ArmSvcLib.h><= br> > > > > >   #include <Library/ArmLib.h>
> > > > > diff --git
> > > >
> >
> a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCp
> > > > u.h
> > b/StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.h
> > > > > similarity index 100%
> > > > > rename from
> > > >
> >
> StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.
> > > > h
> > > > > rename to
> > > > StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCp= u.h
> > > > > diff --git
> > > >
> >
> a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCp
> > > > u.inf
> > b/StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.inf > > > > > similarity index 100%
> > > > > rename from
> > > >
> >
> StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.i
> > > > nf
> > > > > rename to
> > > > StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCp= u.inf
> > > > > diff --git
> > > >
> >
> a/StandaloneMmPkg/Include/Library/AArch64/StandaloneMmCoreEntryPoin > > > > t.h
> > > >
> > b/StandaloneMmPkg/Include/Library/Arm/StandaloneMmCoreEntryPoint= .h
> > > > > similarity index 100%
> > > > > rename from
> > > >
> >
> StandaloneMmPkg/Include/Library/AArch64/StandaloneMmCoreEntryPoint.h<= br> > > > > > rename to
> > > >
> StandaloneMmPkg/Include/Library/Arm/StandaloneMmCoreEntryPoint.h
> > > > > diff --git
> > > >
> >
> a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/Create > > > > HobList.c
> > > >
> >
> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/CreateHob > > > > List.c
> > > > > similarity index 97%
> > > > > rename from
> > > >
> >
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/CreateHo > > > > bList.c
> > > > > rename to
> > > >
> >
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/CreateHobLis > > > > t.c
> > > > > index 4d4cf3d5ff..85f8194687 100644
> > > > > ---
> > > >
> >
> a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/Create > > > > HobList.c
> > > > > +++
> > > >
> >
> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/CreateHob > > > > List.c
> > > > > @@ -14,7 +14,7 @@ SPDX-License-Identifier: BSD-2-= Clause-Patent
> > > > >   #include <Guid/MmramMemoryReserve.= h>
> > > > >   #include <Guid/MpInformation.h>=
> > > > >
> > > > > -#include <Library/AArch64/StandaloneMmCoreEnt= ryPoint.h>
> > > > > +#include <Library/Arm/StandaloneMmCoreEntryPo= int.h>
> > > > >   #include <Library/ArmMmuLib.h><= br> > > > > >   #include <Library/ArmSvcLib.h><= br> > > > > >   #include <Library/DebugLib.h> > > > > > diff --git
> > > >
> >
> a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPer > > > > missions.c
> > > >
> >
> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/SetPermissi<= br> > > > > ons.c
> > > > > similarity index 96%
> > > > > rename from
> > > >
> >
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPermi > > > > ssions.c
> > > > > rename to
> > > >
> >
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/SetPermissio > > > > ns.c
> > > > > index 4a380df4a6..cd4b90823e 100644
> > > > > ---
> > > >
> >
> a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPer > > > > missions.c
> > > > > +++
> > > >
> >
> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/SetPermissi<= br> > > > > ons.c
> > > > > @@ -14,7 +14,7 @@ SPDX-License-Identifier: BSD-2-= Clause-Patent
> > > > >   #include <Guid/MmramMemoryReserve.= h>
> > > > >   #include <Guid/MpInformation.h>=
> > > > >
> > > > > -#include <Library/AArch64/StandaloneMmCoreEnt= ryPoint.h>
> > > > > +#include <Library/Arm/StandaloneMmCoreEntryPo= int.h>
> > > > >   #include <Library/ArmMmuLib.h><= br> > > > > >   #include <Library/ArmSvcLib.h><= br> > > > > >   #include <Library/DebugLib.h> > > > > > diff --git
> > > >
> >
> a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/Standa > > > > loneMmCoreEntryPoint.c
> > > >
> >
> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/Standalone > > > > MmCoreEntryPoint.c
> > > > > similarity index 94%
> > > > > rename from
> > > >
> >
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/Standalo > > > > neMmCoreEntryPoint.c
> > > > > rename to
> > > >
> >
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/StandaloneM > > > > mCoreEntryPoint.c
> > > > > index b445d6942e..49cf51a789 100644
> > > > > ---
> > > >
> >
> a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/Standa > > > > loneMmCoreEntryPoint.c
> > > > > +++
> > > >
> >
> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/Standalone > > > > MmCoreEntryPoint.c
> > > > > @@ -10,7 +10,7 @@ SPDX-License-Identifier: BSD-2-= Clause-Patent
> > > > >
> > > > >   #include <PiMm.h>
> > > > >
> > > > > -#include <Library/AArch64/StandaloneMmCoreEnt= ryPoint.h>
> > > > > +#include <Library/Arm/StandaloneMmCoreEntryPo= int.h>
> > > > >
> > > > >   #include <PiPei.h>
> > > > >   #include <Guid/MmramMemoryReserve.= h>
> > > > > @@ -182,13 +182,13 @@ DelegatedEventLoop (
> > > > >       }
> > > > >
> > > > >       if (FfaEnable= d) {
> > > > > -      EventCompleteSvcA= rgs->Arg0 =3D
> > > > ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP_AARCH64;
> > > > > +      EventCompleteSvcA= rgs->Arg0 =3D
> > > > ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP;
> > > > >         E= ventCompleteSvcArgs->Arg1 =3D 0;
> > > > >         E= ventCompleteSvcArgs->Arg2 =3D 0;
> > > > > -      EventCompleteSvcA= rgs->Arg3 =3D
> > > > ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH64;
> > > > > +      EventCompleteSvcA= rgs->Arg3 =3D
> > > > ARM_SVC_ID_SP_EVENT_COMPLETE;
> > > > >         E= ventCompleteSvcArgs->Arg4 =3D SvcStatus;
> > > > >       } else {
> > > > > -      EventCompleteSvcA= rgs->Arg0 =3D
> > > > ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH64;
> > > > > +      EventCompleteSvcA= rgs->Arg0 =3D
> > > > ARM_SVC_ID_SP_EVENT_COMPLETE;
> > > > >         E= ventCompleteSvcArgs->Arg1 =3D SvcStatus;
> > > > >       }
> > > > >     }
> > > > > @@ -273,13 +273,13 @@ InitArmSvcArgs (
> > > > >     )
> > > > >   {
> > > > >     if (FeaturePcdGet (PcdFfa= Enable)) {
> > > > > -    InitMmFoundationSvcArgs->A= rg0 =3D
> > > > ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP_AARCH64;
> > > > > +    InitMmFoundationSvcArgs->A= rg0 =3D
> > > > ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP;
> > > > >       InitMmFoundat= ionSvcArgs->Arg1 =3D 0;
> > > > >       InitMmFoundat= ionSvcArgs->Arg2 =3D 0;
> > > > > -    InitMmFoundationSvcArgs->A= rg3 =3D
> > > > ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH64;
> > > > > +    InitMmFoundationSvcArgs->A= rg3 =3D
> > > > ARM_SVC_ID_SP_EVENT_COMPLETE;
> > > > >       InitMmFoundat= ionSvcArgs->Arg4 =3D *Ret;
> > > > >     } else {
> > > > > -    InitMmFoundationSvcArgs->A= rg0 =3D
> > > > ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH64;
> > > > > +    InitMmFoundationSvcArgs->A= rg0 =3D
> > > > ARM_SVC_ID_SP_EVENT_COMPLETE;
> > > > >       InitMmFoundat= ionSvcArgs->Arg1 =3D *Ret;
> > > > >     }
> > > > >   }
> > > > > @@ -395,7 +395,7 @@ _ModuleEntryPoint (
> > > > >     //
> > > > >     ProcessModuleEntryPointLi= st (HobStart);
> > > > >
> > > > > -  DEBUG ((DEBUG_INFO, "Shared Cpu Driv= er EP 0x%lx\n", (UINT64)
> > > > CpuDriverEntryPoint));
> > > > > +  DEBUG ((DEBUG_INFO, "Shared Cpu Driv= er EP %p\n", (VOID *)
> > > > CpuDriverEntryPoint));
> > > > >
> > > > >   finish:
> > > > >     if (Status =3D=3D RETURN_= UNSUPPORTED) {
> > > > > diff --git
> > > >
> >
> a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMm
> > > > CoreEntryPoint.inf
> > > >
> >
> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMm
> > > > CoreEntryPoint.inf
> > > > > index 4fa426f58e..1762586cfa 100644
> > > > > ---
> > > >
> >
> a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMm
> > > > CoreEntryPoint.inf
> > > > > +++
> > > >
> >
> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMm
> > > > CoreEntryPoint.inf
> > > > > @@ -21,10 +21,10 @@
> > > > >   #  VALID_ARCHITECTURES &nbs= p;         =3D IA32 X64 IPF EBC (EB= C
> is
> > for
> > > > build only)
> > > > >   #
> > > > >
> > > > > -[Sources.AARCH64]
> > > > > -  AArch64/StandaloneMmCoreEntryPoint.c
> > > > > -  AArch64/SetPermissions.c
> > > > > -  AArch64/CreateHobList.c
> > > > > +[Sources.AARCH64, Sources.ARM]
> > > > > +  Arm/StandaloneMmCoreEntryPoint.c
> > > > > +  Arm/SetPermissions.c
> > > > > +  Arm/CreateHobList.c
> > > > >
> > > > >   [Sources.X64]
> > > > >     X64/StandaloneMmCoreEntry= Point.c
> > > > > @@ -34,14 +34,14 @@
> > > > >     MdeModulePkg/MdeModulePkg= .dec
> > > > >     StandaloneMmPkg/Standalon= eMmPkg.dec
> > > > >
> > > > > -[Packages.AARCH64]
> > > > > +[Packages.ARM, Packages.AARCH64]
> > > > >     ArmPkg/ArmPkg.dec
> > > > >
> > > > >   [LibraryClasses]
> > > > >     BaseLib
> > > > >     DebugLib
> > > > >
> > > > > -[LibraryClasses.AARCH64]
> > > > > +[LibraryClasses.ARM, LibraryClasses.AARCH64]
> > > > >     StandaloneMmMmuLib
> > > > >     ArmSvcLib
> > > > >
> > > > > @@ -51,7 +51,7 @@
> > > > >     gEfiStandaloneMmNonSecure= BufferGuid
> > > > >     gEfiArmTfCpuDriverEpDescr= iptorGuid
> > > > >
> > > > > -[FeaturePcd.AARCH64]
> > > > > +[FeaturePcd.ARM, FeaturePcd.AARCH64]
> > > > >     gArmTokenSpaceGuid.PcdFfa= Enable
> > > > >
> > > > >   [BuildOptions]
> > > > > diff --git
> > > >
> >
> a/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/AArch64/Standalon > > > > eMmCoreHobLib.c
> > > >
> >
> b/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/Arm/StandaloneM
> > > > mCoreHobLib.c
> > > > > similarity index 100%
> > > > > rename from
> > > >
> >
> StandaloneMmPkg/Library/StandaloneMmCoreHobLib/AArch64/Standalone
> > > > MmCoreHobLib.c
> > > > > rename to
> > > >
> >
> StandaloneMmPkg/Library/StandaloneMmCoreHobLib/Arm/StandaloneMmC
> > > > oreHobLib.c
> > > > > diff --git
> > > >
> >
> a/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/AArch64/Standalon > > > > eMmCoreHobLibInternal.c
> > > >
> >
> b/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/Arm/StandaloneM
> > > > mCoreHobLibInternal.c
> > > > > similarity index 100%
> > > > > rename from
> > > >
> >
> StandaloneMmPkg/Library/StandaloneMmCoreHobLib/AArch64/Standalone
> > > > MmCoreHobLibInternal.c
> > > > > rename to
> > > >
> >
> StandaloneMmPkg/Library/StandaloneMmCoreHobLib/Arm/StandaloneMmC
> > > > oreHobLibInternal.c
> > > > > diff --git
> > > >
> >
> a/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCore
> > > > HobLib.inf
> > > >
> >
> b/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCore
> > > > HobLib.inf
> > > > > index a2559920e8..34ed536480 100644
> > > > > ---
> > > >
> >
> a/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCore
> > > > HobLib.inf
> > > > > +++
> > > >
> >
> b/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCore
> > > > HobLib.inf
> > > > > @@ -22,7 +22,7 @@
> > > > >     LIBRARY_CLASS  =             &nb= sp;   =3D
> > > > HobLib|MM_CORE_STANDALONE
> > > > >
> > > > >   #
> > > > > -#  VALID_ARCHITECTURES   &nb= sp;       =3D X64 AARCH64
> > > > > +#  VALID_ARCHITECTURES   &nb= sp;       =3D X64 AARCH64 ARM
> > > > >   #
> > > > >   [Sources.common]
> > > > >     Common.c
> > > > > @@ -30,9 +30,9 @@
> > > > >   [Sources.X64]
> > > > >     X64/StandaloneMmCoreHobLi= b.c
> > > > >
> > > > > -[Sources.AARCH64]
> > > > > -  AArch64/StandaloneMmCoreHobLib.c
> > > > > -  AArch64/StandaloneMmCoreHobLibInternal.c<= br> > > > > > +[Sources.AARCH64, Sources.ARM]
> > > > > +  Arm/StandaloneMmCoreHobLib.c
> > > > > +  Arm/StandaloneMmCoreHobLibInternal.c
> > > > >
> > > > >   [Packages]
> > > > >     MdePkg/MdePkg.dec
> > > > > diff --git
> > > >
> >
> a/StandaloneMmPkg/Library/StandaloneMmMemLib/AArch64/StandaloneM
> > > > mMemLibInternal.c
> > > >
> >
> b/StandaloneMmPkg/Library/StandaloneMmMemLib/ArmStandaloneMmMe
> > > > mLibInternal.c
> > > > > similarity index 86%
> > > > > rename from
> > > >
> >
> StandaloneMmPkg/Library/StandaloneMmMemLib/AArch64/StandaloneMm
> > > > MemLibInternal.c
> > > > > rename to
> > > >
> >
> StandaloneMmPkg/Library/StandaloneMmMemLib/ArmStandaloneMmMemL
> > > > ibInternal.c
> > > > > index 4124959e04..fa7df46413 100644
> > > > > ---
> > > >
> >
> a/StandaloneMmPkg/Library/StandaloneMmMemLib/AArch64/StandaloneM
> > > > mMemLibInternal.c
> > > > > +++
> > > >
> >
> b/StandaloneMmPkg/Library/StandaloneMmMemLib/ArmStandaloneMmMe
> > > > mLibInternal.c
> > > > > @@ -20,6 +20,13 @@
> > > > >   //
> > > > >   extern EFI_PHYSICAL_ADDRESS
> > > > mMmMemLibInternalMaximumSupportAddress;
> > > > >
> > > > > +#ifdef MDE_CPU_AARCH64
> > > > > +#define ARM_PHYSICAL_ADDRESS_BITS 36
> > > > > +#endif
> > > > > +#ifdef MDE_CPU_ARM
> > > > > +#define ARM_PHYSICAL_ADDRESS_BITS 32
> > > > > +#endif
> > > > > +
> > > > >   /**
> > > > >     Calculate and save the ma= ximum support address.
> > > > >
> > > > > @@ -31,7 +38,7 @@
> > > > MmMemLibInternalCalculateMaximumSupportAddress (
> > > > >   {
> > > > >     UINT8   &n= bsp;    PhysicalAddressBits;
> > > > >
> > > > > -  PhysicalAddressBits =3D 36;
> > > > > +  PhysicalAddressBits =3D ARM_PHYSICAL_ADDR= ESS_BITS;
> > > > >
> > > > >     //
> > > > >     // Save the maximum suppo= rt address in one global variable
> > > > > diff --git
> > > >
> >
> a/StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib
> > > > .inf
> > > >
> >
> b/StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib
> > > > .inf
> > > > > index 062b0d7a11..b29d97a746 100644
> > > > > ---
> > > >
> >
> a/StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib
> > > > .inf
> > > > > +++
> > > >
> >
> b/StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib
> > > > .inf
> > > > > @@ -28,7 +28,7 @@
> > > > >   #
> > > > >   # The following information is for re= ference only and not required
> by
> > the
> > > > build tools.
> > > > >   #
> > > > > -#  VALID_ARCHITECTURES   &nb= sp;       =3D IA32 X64 AARCH64
> > > > > +#  VALID_ARCHITECTURES   &nb= sp;       =3D IA32 X64 AARCH64 ARM
> > > > >   #
> > > > >
> > > > >   [Sources.Common]
> > > > > @@ -37,8 +37,8 @@
> > > > >   [Sources.IA32, Sources.X64]
> > > > >     X86StandaloneMmMemLibInte= rnal.c
> > > > >
> > > > > -[Sources.AARCH64]
> > > > > -  AArch64/StandaloneMmMemLibInternal.c
> > > > > +[Sources.AARCH64, Sources.ARM]
> > > > > +  ArmStandaloneMmMemLibInternal.c
> > > > >
> > > > >   [Packages]
> > > > >     MdePkg/MdePkg.dec
> > > > > diff --git
> > > >
> >
> a/StandaloneMmPkg/Library/VariableMmDependency/VariableMmDepende
> > > > ncy.inf
> > > >
> >
> b/StandaloneMmPkg/Library/VariableMmDependency/VariableMmDepende
> > > > ncy.inf
> > > > > index a2a059c5d6..ffb2a6d083 100644
> > > > > ---
> > > >
> >
> a/StandaloneMmPkg/Library/VariableMmDependency/VariableMmDepende
> > > > ncy.inf
> > > > > +++
> > > >
> >
> b/StandaloneMmPkg/Library/VariableMmDependency/VariableMmDepende
> > > > ncy.inf
> > > > > @@ -20,7 +20,7 @@
> > > > >   #
> > > > >   # The following information is for re= ference only and not required
> by
> > the
> > > > build tools.
> > > > >   #
> > > > > -#  VALID_ARCHITECTURES   &nb= sp;       =3D AARCH64
> > > > > +#  VALID_ARCHITECTURES   &nb= sp;       =3D AARCH64|ARM
> > > > >   #
> > > > >   #
> > > > >
> > > > > diff --git a/StandaloneMmPkg/StandaloneMmPkg.dsc<= br> > > > > b/StandaloneMmPkg/StandaloneMmPkg.dsc
> > > > > index 0c45df95e2..8012f93b7d 100644
> > > > > --- a/StandaloneMmPkg/StandaloneMmPkg.dsc
> > > > > +++ b/StandaloneMmPkg/StandaloneMmPkg.dsc
> > > > > @@ -20,7 +20,7 @@
> > > > >     PLATFORM_VERSION &nb= sp;            = =3D 1.0
> > > > >     DSC_SPECIFICATION &n= bsp;            =3D = 0x00010011
> > > > >     OUTPUT_DIRECTORY &nb= sp;            = =3D Build/StandaloneMm
> > > > > -  SUPPORTED_ARCHITECTURES   =      =3D AARCH64|X64
> > > > > +  SUPPORTED_ARCHITECTURES   =      =3D AARCH64|X64|ARM
> > > > >     BUILD_TARGETS  =             &nb= sp;   =3D DEBUG|RELEASE
> > > > >     SKUID_IDENTIFIER &nb= sp;            = =3D DEFAULT
> > > > >
> > > > > @@ -60,7 +60,7 @@
> > > > >
> > > >
> >
> StandaloneMmDriverEntryPoint|MdePkg/Library/StandaloneMmDriverEntryP<= br> > > > > oint/StandaloneMmDriverEntryPoint.inf
> > > > >
> > > >
> >
> VariableMmDependency|StandaloneMmPkg/Library/VariableMmDependenc
> > > > y/VariableMmDependency.inf
> > > > >
> > > > > -[LibraryClasses.AARCH64]
> > > > > +[LibraryClasses.AARCH64, LibraryClasses.ARM]
> > > > >     ArmLib|ArmPkg/Library/Arm= Lib/ArmBaseLib.inf
> > > > >
> > > >
> >
> StandaloneMmMmuLib|ArmPkg/Library/StandaloneMmMmuLib/ArmMmuSt
> > > > andaloneMmLib.inf
> > > > >     ArmSvcLib|ArmPkg/Library/= ArmSvcLib/ArmSvcLib.inf
> > > > > @@ -118,8 +118,8 @@
> > > > >
> > > >
> >
> StandaloneMmPkg/Library/StandaloneMmMemoryAllocationLib/Standalone > > > > MmMemoryAllocationLib.inf
> > > > >
> > > >
> >
> StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependenc
> > > > y.inf
> > > > >
> > > > > -[Components.AARCH64]
> > > > > -
> > > >
> >
> StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.i
> > > > nf
> > > > > +[Components.AARCH64, Components.ARM]
> > > > > +
> > StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.inf
> > > > >
> > > >
> >
> StandaloneMmPkg/Library/StandaloneMmPeCoffExtraActionLib/Standalone > > > > MmPeCoffExtraActionLib.inf
> > > > >
> > > > >
> > > >
> >
> ##############################################################
> > > > #####################################
> > > > > @@ -135,6 +135,10 @@
> > > > >   GCC:*_*_*_DLINK_FLAGS =3D -z common-p= age-size=3D0x1000
> > > > -march=3Darmv8-a+nofp -mstrict-align
> > > > >   GCC:*_*_*_CC_FLAGS =3D -mstrict-align=
> > > > >
> > > > > +[BuildOptions.ARM]
> > > > > +GCC:*_*_*_DLINK_FLAGS =3D -z common-page-size=3D= 0x1000
> > > > -march=3Darmv7-a
> > > > > +GCC:*_*_*_CC_FLAGS =3D -fno-stack-protector
> > > > > +
> > > > >   [BuildOptions.X64]
> > > > >     MSFT:*_*_*_DLINK_FLAGS = =3D /ALIGN:4096
> > > > >     GCC:*_GCC*_*_DLINK_FLAGS = = =3D -z common-page-size=3D0x1000
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> >
> >
> >
>
>
>
>
>
>
>




--_000_AS8PR08MB680611AEB22CC4138AF3E9A984EA9AS8PR08MB6806eurp_--