From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 935F2C77B70 for ; Mon, 17 Apr 2023 09:46:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229719AbjDQJqO (ORCPT ); Mon, 17 Apr 2023 05:46:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46550 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229658AbjDQJqI (ORCPT ); Mon, 17 Apr 2023 05:46:08 -0400 Received: from mx0a-00128a01.pphosted.com (mx0a-00128a01.pphosted.com [148.163.135.77]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 949CA6198; Mon, 17 Apr 2023 02:45:26 -0700 (PDT) Received: from pps.filterd (m0167088.ppops.net [127.0.0.1]) by mx0a-00128a01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 33H6fjZU005105; Mon, 17 Apr 2023 05:44:25 -0400 Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2109.outbound.protection.outlook.com [104.47.55.109]) by mx0a-00128a01.pphosted.com (PPS) with ESMTPS id 3pyns71m23-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 17 Apr 2023 05:44:25 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gH6bkzRL2xxkHNSttstHPhvUqvbGHtOI8JASEPzx1Sz2dBm4qj+A0Do2+dJK1DYpLjVQ02S/qutqWwZcyeKLCanBJqvETVji58SLO/O4zjcBWqRpeaVmNN2h6YpzhADhCx2BCOu1ZYAANNsLvCbKYlr+DO0jVeOz5WDDnTRwjjgIis4fNmTuK9y3DkK1zidw7EstgsfF+mouWnR/FRoH8y09vhqrjOrX+wVNPTMb6ZAjHhMqGsBbgifv9sQ/NgiIHaukdcXWT4Z3W6m9e0l7X99tEk5VXamO4Y8sxkWSaQk5Xo7eadEGacGWmDaMlbfqXV3cy+ydMB7iyCKZGpc9/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=8AX8Hn3mrixV+RhWd59YV/U9bc9uE0zfUqTr8eEUIKo=; b=dQwFPkcjwK6CWNT1Yk47k6846tLM7EyQ8bpYGjUOKwZzscN+uONqs/xvuQasqfH4a4+TRhxGxhM+MPpviMxV+8N1MEEHQcjev8LDDy8MjKeM1EgDo+V86c/9cCJ9uevlrTRCtO1nVLEdbKMe5XOkSbGoBMUAkJFHoF+AViq3VwZ6BpNw47CK4r2tRJz1od+XSSDEVXzJs+15RAL2xAzmIq7fAD34A7eFd4ritSkNeISFJPal2fR0TlJ2VaQRLtNVRdbDKGDEAAsQm90xMm/4roDDVU1nV07ZKB+2++m0u0B847hD37XneUS6/j0ju4TifF3SbaQMbgsZRUKYgnV3IA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=analog.com; dmarc=pass action=none header.from=analog.com; dkim=pass header.d=analog.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=analog.onmicrosoft.com; s=selector2-analog-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8AX8Hn3mrixV+RhWd59YV/U9bc9uE0zfUqTr8eEUIKo=; b=PUhrkcYqNm7N9L0Yi1d9eoUTJEuEbepGuE+TxsvuAVU5Gk/qeJJPgpP/lCy1lodohVP+k+5nVeJolNZ/ZsdTiUBvkd1fhU3kuuo4uKKSVf5tnpwjkqqBBnWaPRkhxNpA91aFURE8dNP0IE7v2So4Ht+t1pOKO22Ue4Ou3HlE1sE= Received: from MN2PR03MB5197.namprd03.prod.outlook.com (2603:10b6:208:1f0::18) by SA2PR03MB5881.namprd03.prod.outlook.com (2603:10b6:806:11d::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.45; Mon, 17 Apr 2023 09:44:20 +0000 Received: from MN2PR03MB5197.namprd03.prod.outlook.com ([fe80::c9df:9ae8:8919:f81b]) by MN2PR03MB5197.namprd03.prod.outlook.com ([fe80::c9df:9ae8:8919:f81b%4]) with mapi id 15.20.6298.045; Mon, 17 Apr 2023 09:44:19 +0000 From: "Arslanbenzer, Zeynep" To: Lee Jones CC: "robh+dt@kernel.org" , "krzysztof.kozlowski+dt@linaro.org" , "sre@kernel.org" , "lgirdwood@gmail.com" , "broonie@kernel.org" , "linux-kernel@vger.kernel.org" , "devicetree@vger.kernel.org" , "linux-pm@vger.kernel.org" Subject: RE: [PATCH v2 8/8] mfd: max77658: Add ADI MAX77643/54/58/59 MFD Support Thread-Topic: [PATCH v2 8/8] mfd: max77658: Add ADI MAX77643/54/58/59 MFD Support Thread-Index: AQHZXINeEVIC3kkykUqcpgTtpflY8a8TThwAgBwIbVA= Date: Mon, 17 Apr 2023 09:44:18 +0000 Message-ID: References: <20230322055628.4441-1-Zeynep.Arslanbenzer@analog.com> <20230322055628.4441-9-Zeynep.Arslanbenzer@analog.com> <20230330123136.GF434339@google.com> In-Reply-To: <20230330123136.GF434339@google.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-dg-ref: =?utf-8?B?UEcxbGRHRStQR0YwSUc1dFBTSmliMlI1TG5SNGRDSWdjRDBpWXpwY2RYTmxj?= =?utf-8?B?bk5jZW1WNWJtVndMbUZ5YzJ4aGJtSmxibnBsY2x4aGNIQmtZWFJoWEhKdllX?= =?utf-8?B?MXBibWRjTURsa09EUTVZall0TXpKa015MDBZVFF3TFRnMVpXVXRObUk0TkdK?= =?utf-8?B?aE1qbGxNelZpWEcxelozTmNiWE5uTFRZNU1tRTVZMlUwTFdSa01EUXRNVEZs?= =?utf-8?B?WkMxaVpqUXhMVFpqT1RRMk5tUmpNRGt4T1Z4aGJXVXRkR1Z6ZEZ3Mk9USmhP?= =?utf-8?B?V05sTmkxa1pEQTBMVEV4WldRdFltWTBNUzAyWXprME5qWmtZekE1TVRsaWIy?= =?utf-8?B?UjVMblI0ZENJZ2MzbzlJalEzTWpFd0lpQjBQU0l4TXpNeU5qRTVPREkxTkRJ?= =?utf-8?B?Mk16Y3dNalVpSUdnOUlrbENjbmRxZEhGd1pIcHFiVnBHVlZCUFozZEdRVk5u?= =?utf-8?B?ZUM5TldUMGlJR2xrUFNJaUlHSnNQU0l3SWlCaWJ6MGlNU0lnWTJrOUltTkJR?= =?utf-8?B?VUZCUlZKSVZURlNVMUpWUms1RFoxVkJRVVZ2UTBGQlJHaHdORkZ5UlZoSVdr?= =?utf-8?B?RlphVWN3VVdVNUwyWnlhR2xKWWxKQ056TTVLM1ZGUkVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZJUVVGQlFVUmhRVkZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkZRVUZSUVVKQlFVRkJVMnBGV0hoM1FVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCU2pSQlFVRkNhRUZIVVVGaFVVSm1RVWhOUVZwUlFt?= =?utf-8?B?cEJTRlZCWTJkQ2JFRkdPRUZqUVVKNVFVYzRRV0ZuUW14QlIwMUJaRUZDZWtG?= =?utf-8?B?R09FRmFaMEpvUVVkM1FXTjNRbXhCUmpoQldtZENka0ZJVFVGaFVVSXdRVWRy?= =?utf-8?B?UVdSblFteEJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVVkJRVUZCUVVGQlFVRkJaMEZCUVVGQlFXNW5RVUZCUjBWQldrRkNjRUZH?= =?utf-8?B?T0VGamQwSnNRVWROUVdSUlFubEJSMVZCV0hkQ2QwRklTVUZpZDBKeFFVZFZR?= =?utf-8?B?VmwzUWpCQlNFMUJXSGRDTUVGSGEwRmFVVUo1UVVSRlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZSUVVGQlFVRkJRVUZCUTBGQlFVRkJRVU5sUVVGQlFW?= =?utf-8?B?bFJRbXRCUjJ0QldIZENla0ZIVlVGWmQwSXhRVWhKUVZwUlFtWkJTRUZCWTJk?= =?utf-8?B?Q2RrRkhiMEZhVVVKcVFVaFJRV04zUW1aQlNGRkJZVkZDYkVGSVNVRk5aMEZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQ1FVRkJRVUZCUVVGQlFVbEJRVUZC?= =?utf-8?Q?QUFBPT0iLz48L21ldGE+?= x-dg-rorf: true x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR03MB5197:EE_|SA2PR03MB5881:EE_ x-ms-office365-filtering-correlation-id: 18a734ba-81f7-41bd-9a6d-08db3f2850ec x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: QegTJkoBy84rxvyjCUryDqQfYsKKQq9SnY5WZOXkY3RsRw0utfRQSau6+GkS5bYQC8KbzaPWY5p7WDfjo1bGpsUlwqiIru6CAHIzK9bxrIeg0KuOtPCtRvaaU7atHUicw0P91f52Ig7zzVs1F7KKYSwZiUXBe8CUD6ZOCth80jm3POm8IdjEQ+a75oT0k3D7k4Ys5SaOXsr2p7nOoPkrtownQ3LhSecQaN6mfd4FAIo9a90k26Z2O5kWnn+FoYqLtYW7Jq10jIRFy3cNF3g+SyEv/tB4c53/Nkys0St5VWYzIEI06n7o1Jmla2eeaGX0yxe1s2JEH45PHehxJxfkdnxz3cH08MmvPoZxX8lRs1ogzwwRLRnscxcKCgWPhkKPqqywTGboVG6KDVDig7avXTdLcMalsphReouiDPZdtn/i3rC/nfrZXFxi+xVXqSByPFAh5fTK5LdYB3B6JAqZNkfeAVynLZiHhwR5mBUU216ufh6nm3jrc89mnC6MV3gVFQtZrFaNyF8mHDCw9rX36DKnNklZc9L56TskhgQ/pDkfQo9uFKuoQApMRsZLHSx5ImqsFglE+Xd0MPLSfuVZx6VHtAbBhuqdhyWCb9zN7Xk= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR03MB5197.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(346002)(136003)(39860400002)(396003)(366004)(376002)(451199021)(38100700002)(8676002)(8936002)(122000001)(38070700005)(52536014)(5660300002)(2906002)(30864003)(33656002)(86362001)(55016003)(478600001)(7696005)(71200400001)(54906003)(186003)(966005)(26005)(6506007)(9686003)(76116006)(66946007)(66476007)(66446008)(83380400001)(316002)(41300700001)(4326008)(64756008)(6916009)(66556008)(559001)(579004);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VnJxUTZIWjcwM3pqMUhxU0FxRVlUTDdqQ09XbkJOUWRYYTJBbnY5QlF4d3Jt?= =?utf-8?B?aUhLOEl6OGRzWEtheUVjaEY0N0s5amE5S1dRbmhMcFdSaVBXdHJFOG1rWmht?= =?utf-8?B?cEloUGl1ZHZKMHpZclE3MlpQWTN2L2JnVjRqSHp2MmRMWXBKQkU4REtYWHhK?= =?utf-8?B?SFFBaHlKTGZtdkQ2RU96T2thays1RHVFK0RXSVoyTlo2WWNXQTVEeEhId1VY?= =?utf-8?B?aHBnaUR4aUJnV1l2TWEwY0NXTVlSeTJUM0VnSysxbElheFluOHNaejFXdTA5?= =?utf-8?B?UjVFbEdmWndlMTVmaGEyTk1sSDVuY2huNnBQV1NyUVpyYjA1QjZ1UXpKckcv?= =?utf-8?B?cnhBZmlwSVJjYldENTVETW5mcXE0UTl4US9LRENFR2pvd1Jpd3dMbjBURW9C?= =?utf-8?B?NkNLd2J6YWxhZ09oR0twdVZrL3k0a2pMR3h5YWNGM0ZSbFdFSDM0MXNFUWZO?= =?utf-8?B?YlUyQWE0WktZbUc5SHAzQnpMWmh5TGxWMjFad09zaFRjckQ0K1RhaUJhRnJn?= =?utf-8?B?eGczVXlQeGthVnJsS3ovQlkvcFN3WEwwMEVDUHMzSi9PejkwSXRmRGdFa1Ry?= =?utf-8?B?Ym9FUStGRlBZUEpYZExPYlNoSFJNWWluYUZmdW55c1l6ckhSL0lZejBPaDc4?= =?utf-8?B?bWg5WDdKdmNsMDcxSUpTRWVzZWg3ZzVodXU1Y041dzlwdjBXK2hIMDhBb1U0?= =?utf-8?B?NE4vK0RtdUtwcGNuN2Q5aHN0YlJpOUNsRVZRYjl4QlFtcXRQbCtJb2dRdzZx?= =?utf-8?B?SlRFRmlNVEozbU5xNFpvbVZqQkRUWFpBdXlWNjJmMkp3eCt0WlFNYytSZUVl?= =?utf-8?B?YzdSbW9WL2lGOTFTN0ZqclViUnFFZDlEeHFLV3JSbG0zL1RTbDZVNlljSkFy?= =?utf-8?B?Nk5nOG5oYm9XQVhMZy9veTQway8vdlpNQm1LdzIxVkdJOXpjVHJ2VGhvTzBL?= =?utf-8?B?aWxXc3ozWFhVcjFsOW9UTHBnbndMdmhrWEhsN0VacGdpMzk0MjFFdmROMVcw?= =?utf-8?B?eHBRTGM5Q2J1YzlwYjM5MXk2b1hMSW9aOU12alFnaFVlbUhZSERTKzVLR1ZL?= =?utf-8?B?cHB4YzRLTDZUSUVYdkZSNFFESTJUYVpuUlUwTEFJY25oK01keW1Mamo3ZHpQ?= =?utf-8?B?dWZ0SWlIalBUUEpvNmxyMEx3V0pQank0MFlKbXVxN3dIVGdmRld1RDZsTXNC?= =?utf-8?B?aXdHa3J3cEIrbVBQVWNpWDIwaDRHMmRiZXZtTmU3bjdLREVXN05vd0xMK0t0?= =?utf-8?B?bWI3a01JdFRLWGtGZVV1SGRrdXh0L1UvYXBqS01adUsxT2RuajlBQk51QzBF?= =?utf-8?B?UDYvRHdjaGZCRERJVjU3RU53KytSZjZBbks3bUc3U1BtQkJoWXNTb0dHT0Nk?= =?utf-8?B?YWlzVFhJUWxPUGdUemFFOVg5TlYybFQ4cE1oZ05ZTUpaTkZxdXJZUCtobFNh?= =?utf-8?B?R0VLVGVXNHNLVlNGSllnRTJKdjlQdHBlSHkwdUFHWVFNOVZXMW43OFhlYTVN?= =?utf-8?B?MDBvc0k3SE1NSmFPY0Nkb05xdmQva050VXcwT3FsZFhFMmFPTTRwVWMyUytv?= =?utf-8?B?Y0NSOGJJeEJjOXdWVWYxblhXWGtEZGVCZXlYcE1rOWVuUFRab1Q1OVlodnVG?= =?utf-8?B?QURLSkxTUkIxcmkxaGVMczFqK3lvOCs2WWMyL3E4UGpCbFNpc3lISS9QTXVF?= =?utf-8?B?YWpNaENVTlYxMStTSXY5SnEweXQ4NU9lMmdjU1pjTXQyWm1SQ29DMUw5Y3hG?= =?utf-8?B?MG43VFdzajFpTUl0NjQyeUl5akNBV0gzdmd3OEVuQ29xcmRxUzZwOGVtN0Rs?= =?utf-8?B?Q3Npc3EyTFJxaDBCbHUyWjlYOVIrcFdLQXNWVUZwR012Nk0rME04eHNLL3ZV?= =?utf-8?B?cTFiV2p4UitMWm5nWFMrdk5NK2Y1Qm1rZ3pzd3RjWDc3RGJXeXRzRFpGellv?= =?utf-8?B?alNSK3lkUXVNNGs4MmdIdTh2WkhRTEJwVCtrR0FsQUZFZFVKckp3ZUJSTzU4?= =?utf-8?B?RFY4L0o5RXNzRVVCVSswSWlPblV0MnczWjRIRGRMcDlCMFBYTEtFUnRjbGlu?= =?utf-8?B?cDRIS0lObjFGWWlFbjhZamQ1ZUM2R3lVbExTdTZmc0RqWFBIYk5VeFhSUm1C?= =?utf-8?B?TmlFQ0k2Y3h3ZTR0QzVsek1aa1NpTjBpU3IvVWFQbnNRTytSSnFhYk9qc2lq?= =?utf-8?B?N0E9PQ==?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: analog.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR03MB5197.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 18a734ba-81f7-41bd-9a6d-08db3f2850ec X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Apr 2023 09:44:18.8908 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: eaa689b4-8f87-40e0-9c6f-7228de4d754a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Q0GUnDLhiQ0iVRqqGovuUi0S+WMX0iSSdjXW6/foU5He+Verz8b3Vf+uazMBbW86tpyr0rtJUTIsKCgEyrtRenV/Aehf2ecRnWs2gvkyaNg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR03MB5881 X-Proofpoint-GUID: mQMAmJvKVZxqUzz9UnwNqNnBwixJa5Fn X-Proofpoint-ORIG-GUID: mQMAmJvKVZxqUzz9UnwNqNnBwixJa5Fn X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-17_05,2023-04-14_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 priorityscore=1501 impostorscore=0 suspectscore=0 mlxlogscore=917 bulkscore=0 mlxscore=0 adultscore=0 malwarescore=0 clxscore=1011 phishscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304170087 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Pk9uIFdlZCwgMjIgTWFyIDIwMjMsIFpleW5lcCBBcnNsYW5iZW56ZXIgd3JvdGU6DQo+DQo+PiBN RkQgZHJpdmVyIGZvciBNQVg3NzY0My9NQVg3NzY1NC9NQVg3NzY1OC9NQVg3NzY1OSB0byBlbmFi bGUgaXRzIHN1Yg0KPg0KPlBsZWFzZSBkcm9wIGFsbCByZWZlcmVuY2VzIHRvICdNRkQnLg0KPg0K PldoYXQgYXJlIHRoZXNlIGRldmljZXMsIHJlYWxseT8gIEkgc3VzcGVjdCB0aGV5IGFyZSBQTUlD cz8NCg0KSGkgTGVlLA0KDQpUaGFuayB5b3UgZm9yIHlvdXIgcmV2aWV3LiBZZXMsIGFsbCBkZXZp Y2VzIGNvdmVyZWQgYnkgdGhpcyBwYXRjaCBhcmUgUE1JQy4NCg0KPg0KPj4gZGV2aWNlcy4NCj4+ DQo+PiBUaGUgTUFYNzc2NDMgaXMgYSBtdWx0aS1mdW5jdGlvbiBkZXZpY2VzLiBJdCBpbmNsdWRl cyByZWd1bGF0b3IuDQo+Pg0KPj4gVGhlIE1BWDc3NjU0IGlzIGEgbXVsdGktZnVuY3Rpb24gZGV2 aWNlcy4gSXQgaW5jbHVkZXMgcmVndWxhdG9yIGFuZCANCj4+IGNoYXJnZXIuDQo+Pg0KPj4gVGhl IE1BWDc3NjU4IGlzIGEgbXVsdGktZnVuY3Rpb24gZGV2aWNlcy4gSXQgaW5jbHVkZXMgcmVndWxh dG9yLCANCj4+IGNoYXJnZXIgYW5kIGJhdHRlcnkuDQo+Pg0KPj4gVGhlIE1BWDc3NjU5IGlzIGEg bXVsdGktZnVuY3Rpb24gZGV2aWNlcy4gSXQgaW5jbHVkZXMgcmVndWxhdG9yIGFuZCANCj4+IGNo YXJnZXIuDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogTnVyZXR0aW4gQm9sdWN1IDxOdXJldHRpbi5C b2x1Y3VAYW5hbG9nLmNvbT4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBaZXluZXAgQXJzbGFuYmVuemVy IDxaZXluZXAuQXJzbGFuYmVuemVyQGFuYWxvZy5jb20+Pg0KPj4gLS0tDQo+PiAgZHJpdmVycy9t ZmQvS2NvbmZpZyAgICAgICAgICB8ICAxNSArKw0KPj4gIGRyaXZlcnMvbWZkL01ha2VmaWxlICAg ICAgICAgfCAgIDEgKw0KPj4gIGRyaXZlcnMvbWZkL21heDc3NjU4LmMgICAgICAgfCA0NDggKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4+ICBpbmNsdWRlL2xpbnV4L21mZC9t YXg3NzY1OC5oIHwgIDg4ICsrKysrKysNCj4+ICA0IGZpbGVzIGNoYW5nZWQsIDU1MiBpbnNlcnRp b25zKCspDQo+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbWZkL21heDc3NjU4LmMgIGNy ZWF0ZSBtb2RlIDEwMDY0NCANCj4+IGluY2x1ZGUvbGludXgvbWZkL21heDc3NjU4LmgNCj4+DQo+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZmQvS2NvbmZpZyBiL2RyaXZlcnMvbWZkL0tjb25maWcg aW5kZXggDQo+PiA4YjkzODU2ZGU0MzIuLjdiNGJlN2ZiODY2MiAxMDA2NDQNCj4+IC0tLSBhL2Ry aXZlcnMvbWZkL0tjb25maWcNCj4+ICsrKyBiL2RyaXZlcnMvbWZkL0tjb25maWcNCj4+IEBAIC04 MjEsNiArODIxLDIxIEBAIGNvbmZpZyBNRkRfTUFYNzc2NTANCj4+ICAJICB0aGUgZm9sbG93aW5n IGZ1bmN0aW9uYWxpdGllcyBvZiB0aGUgZGV2aWNlOiBHUElPLCByZWd1bGF0b3IsDQo+PiAgCSAg Y2hhcmdlciwgTEVELCBvbmtleS4NCj4+DQo+PiArY29uZmlnIE1GRF9NQVg3NzY1OA0KPj4gKwl0 cmlzdGF0ZSAiQW5hbG9nIERldmljZXMgTUFYNzc2NDMvTUFYNzc2NTQvTUFYNzc2NTgvTUFYNzc2 NTkgUE1JQyBTdXBwb3J0Ig0KPj4gKwlkZXBlbmRzIG9uIEkyQw0KPj4gKwlkZXBlbmRzIG9uIE9G DQo+PiArCXNlbGVjdCBNRkRfQ09SRQ0KPj4gKwlzZWxlY3QgUkVHTUFQX0kyQw0KPj4gKwlzZWxl Y3QgUkVHTUFQX0lSUQ0KPj4gKwloZWxwDQo+PiArCSAgU2F5IFkgaGVyZSB0byBhZGQgc3VwcG9y dCBmb3IgQW5hbG9nIERldmljZXMNCj4+ICsJICBNQVg3NzY0My9NQVg3NzY1NC9NQVg3NzY1OC9N QVg3NzY1OSBQb3dlciBNYW5hZ2VtZW50IElDLg0KPg0KPiJNQVg3NzZ4eCBzZXJpZXMiPw0KDQpJ IHdpbGwgdXBkYXRlIHRoZSBwYXRjaCB0byBiZSBjb21wYXRpYmxlIHdpdGggdGhlIE1BWDc3Nnh4 Lg0KDQo+DQo+PiArCSAgVGhpcyBpcyB0aGUgY29yZSBtdWx0aWZ1bmN0aW9uDQo+DQo+SnVzdCAi Y29yZSBkcml2ZXIiIGlzIGZpbmUuDQo+DQo+T2RkIHBsYWNlIHRvIGxpbmUgd3JhcD8NCj4NCj4+ ICsJICBkcml2ZXIgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIGRldmljZS4gQWRkaXRpb25hbCBk cml2ZXJzIGNhbiBiZQ0KPg0KPiJjYW4gYmUiPyAgSXQncyBwcm9iYWJseSBwcmV0dHkgdXNlbGVz cyBpZiB5b3UgZG9uJ3QsIG5vPw0KPg0KPj4gKwkgIGVuYWJsZWQgaW4gb3JkZXIgdG8gdXNlIHRo ZSBmb2xsb3dpbmcgZnVuY3Rpb25hbGl0aWVzIG9mIHRoZSBkZXZpY2U6DQo+PiArCSAgcmVndWxh dG9yLCBjaGFyZ2VyLg0KPg0KPiIuLi4gaW4gb3JkZXIgdG8gdXNlIHRoZSByZWd1bGFyIGFuZCBj aGFyZ2VyIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIGRldmljZSIuDQo+DQo+PiAgY29uZmlnIE1GRF9N QVg3NzY4Ng0KPj4gIAl0cmlzdGF0ZSAiTWF4aW0gU2VtaWNvbmR1Y3RvciBNQVg3NzY4Ni84MDIg UE1JQyBTdXBwb3J0Ig0KPj4gIAlkZXBlbmRzIG9uIEkyQw0KPj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvbWZkL01ha2VmaWxlIGIvZHJpdmVycy9tZmQvTWFrZWZpbGUgaW5kZXggDQo+PiA3ZWQzZWY0 YTY5OGMuLmY1MmFmZjQ1ODc4ZiAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvbWZkL01ha2VmaWxl DQo+PiArKysgYi9kcml2ZXJzL21mZC9NYWtlZmlsZQ0KPj4gQEAgLTE2Myw2ICsxNjMsNyBAQCBv YmotJChDT05GSUdfTUZEX0RBOTE1MCkJKz0gZGE5MTUwLWNvcmUubw0KPj4gIG9iai0kKENPTkZJ R19NRkRfTUFYMTQ1NzcpCSs9IG1heDE0NTc3Lm8NCj4+ICBvYmotJChDT05GSUdfTUZEX01BWDc3 NjIwKQkrPSBtYXg3NzYyMC5vDQo+PiAgb2JqLSQoQ09ORklHX01GRF9NQVg3NzY1MCkJKz0gbWF4 Nzc2NTAubw0KPj4gK29iai0kKENPTkZJR19NRkRfTUFYNzc2NTgpCSs9IG1heDc3NjU4Lm8NCj4+ ICBvYmotJChDT05GSUdfTUZEX01BWDc3Njg2KQkrPSBtYXg3NzY4Ni5vDQo+PiAgb2JqLSQoQ09O RklHX01GRF9NQVg3NzY5MykJKz0gbWF4Nzc2OTMubw0KPj4gIG9iai0kKENPTkZJR19NRkRfTUFY Nzc3MTQpCSs9IG1heDc3NzE0Lm8NCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21mZC9tYXg3NzY1 OC5jIGIvZHJpdmVycy9tZmQvbWF4Nzc2NTguYyBuZXcgZmlsZSANCj4+IG1vZGUgMTAwNjQ0IGlu ZGV4IDAwMDAwMDAwMDAwMC4uYTFjNmRiNDhlYjA4DQo+PiAtLS0gL2Rldi9udWxsDQo+PiArKysg Yi9kcml2ZXJzL21mZC9tYXg3NzY1OC5jDQo+PiBAQCAtMCwwICsxLDQ0OCBAQA0KPj4gKy8vIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyDQo+PiArLyoNCj4+ICsgKiBD b3B5cmlnaHQgKGMpIDIwMjMgQW5hbG9nIERldmljZXMsIEluYy4NCj4+ICsgKiBBREkgZHJpdmVy IGZvciB0aGUgTUFYNzc2NDMvTUFYNzc2NTQvTUFYNzc2NTgvTUFYNzc2NTkNCj4+ICsgKi8NCj4N Cj5ObyBuZWVkIHRvIGxpc3QgZXZlcnkgZGV2aWNlLg0KPg0KPiJNQVg3NzZ4eCBzZXJpZXMiPw0K Pg0KPj4gKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4+DQo+PiArI2luY2x1ZGUgPGxpbnV4L21mZC9j b3JlLmg+Pg0KPj4gKyNpbmNsdWRlIDxsaW51eC9tZmQvbWF4Nzc2NTguaD4+DQo+PiArI2luY2x1 ZGUgPGxpbnV4L21vZF9kZXZpY2V0YWJsZS5oPj4NCj4+ICsjaW5jbHVkZSA8bGludXgvb2ZfZGV2 aWNlLmg+Pg0KPj4gKyNpbmNsdWRlIDxsaW51eC9yZWdtYXAuaD4+DQo+PiArDQo+PiArI2RlZmlu ZSBJMkNfQUREUl9GVUVMX0dBVUdFICgweDZDID4+Pj4gMSkNCj4+ICsNCj4+ICtzdGF0aWMgY29u c3Qgc3RydWN0IHJlZ21hcF9jb25maWcgbWF4Nzc2NThfcmVnbWFwX2NvbmZpZyA9IHsNCj4+ICsJ LnJlZ19iaXRzICAgPSA4LA0KPj4gKwkudmFsX2JpdHMgICA9IDgsDQo+PiArfTsNCj4+ICsNCj4+ ICtzdGF0aWMgY29uc3Qgc3RydWN0IHJlZ21hcF9jb25maWcgbWF4Nzc2NThfcmVnbWFwX2NvbmZp Z19mZyA9IHsNCj4+ICsJLnJlZ19iaXRzICAgPSA4LA0KPj4gKwkudmFsX2JpdHMgICA9IDE2LA0K Pj4gKwkuY2FjaGVfdHlwZSA9IFJFR0NBQ0hFX05PTkUsDQo+PiArCS52YWxfZm9ybWF0X2VuZGlh biA9IFJFR01BUF9FTkRJQU5fTElUVExFLCB9Ow0KPj4gKw0KPj4gK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgcmVnbWFwX2lycSBtYXg3NzY0M19nbGJsMF9pcnFzW10gPSB7DQo+PiArCXsgLm1hc2sgPSBN QVg3NzY1OF9CSVRfSU5UX0dMQkwwX0dQSU8wX0YsIH0sDQo+PiArCXsgLm1hc2sgPSBNQVg3NzY1 OF9CSVRfSU5UX0dMQkwwX0dQSU8wX1IsIH0sDQo+PiArCXsgLm1hc2sgPSBNQVg3NzY1OF9CSVRf SU5UX0dMQkwwX0VOX0YsIH0sDQo+PiArCXsgLm1hc2sgPSBNQVg3NzY1OF9CSVRfSU5UX0dMQkww X0VOX1IsIH0sDQo+PiArCXsgLm1hc2sgPSBNQVg3NzY1OF9CSVRfSU5UX0dMQkwwX1RKQUwxX1Is IH0sDQo+PiArCXsgLm1hc2sgPSBNQVg3NzY1OF9CSVRfSU5UX0dMQkwwX1RKQUwyX1IsIH0sDQo+ PiArCXsgLm1hc2sgPSBNQVg3NzY0M19CSVRfSU5UX0dMQkwwX0RPRDBfUiwgfSwgfTsNCj4+ICsN Cj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHJlZ21hcF9pcnFfY2hpcCBtYXg3NzY0M19nbGJsMF9p cnFfY2hpcCA9IHsNCj4+ICsJLm5hbWUgICAgICAgICAgID0gIm1heDc3NjQzX2dsYmwwIiwNCj4+ ICsJLnN0YXR1c19iYXNlICAgID0gTUFYNzc2NThfUkVHX0lOVF9HTEJMMCwNCj4+ICsJLm1hc2tf YmFzZSAgICAgID0gTUFYNzc2NDNfUkVHX0lOVE1fR0xCTDAsDQo+PiArCS5udW1fcmVncyAgICAg ICA9IDEsDQo+PiArCS5pcnFzICAgICAgICAgICA9IG1heDc3NjQzX2dsYmwwX2lycXMsDQo+PiAr CS5udW1faXJxcyAgICAgICA9IEFSUkFZX1NJWkUobWF4Nzc2NDNfZ2xibDBfaXJxcyksDQo+PiAr fTsNCj4+ICsNCj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHJlZ21hcF9pcnEgbWF4Nzc2NThfZ2xi bDBfaXJxc1tdID0gew0KPj4gKwl7IC5tYXNrID0gTUFYNzc2NThfQklUX0lOVF9HTEJMMF9HUElP MF9GLCB9LA0KPj4gKwl7IC5tYXNrID0gTUFYNzc2NThfQklUX0lOVF9HTEJMMF9HUElPMF9SLCB9 LA0KPj4gKwl7IC5tYXNrID0gTUFYNzc2NThfQklUX0lOVF9HTEJMMF9FTl9GLCB9LA0KPj4gKwl7 IC5tYXNrID0gTUFYNzc2NThfQklUX0lOVF9HTEJMMF9FTl9SLCB9LA0KPj4gKwl7IC5tYXNrID0g TUFYNzc2NThfQklUX0lOVF9HTEJMMF9USkFMMV9SLCB9LA0KPj4gKwl7IC5tYXNrID0gTUFYNzc2 NThfQklUX0lOVF9HTEJMMF9USkFMMl9SLCB9LA0KPj4gKwl7IC5tYXNrID0gTUFYNzc2NThfQklU X0lOVF9HTEJMMF9ET0QxX1IsIH0sDQo+PiArCXsgLm1hc2sgPSBNQVg3NzY1OF9CSVRfSU5UX0dM QkwwX0RPRDBfUiwgfSwgfTsNCj4+ICsNCj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHJlZ21hcF9p cnFfY2hpcCBtYXg3NzY1NF9nbGJsMF9pcnFfY2hpcCA9IHsNCj4+ICsJLm5hbWUgICAgICAgICAg ID0gIm1heDc3NjU0X2dsYmwwIiwNCj4+ICsJLnN0YXR1c19iYXNlICAgID0gTUFYNzc2NThfUkVH X0lOVF9HTEJMMCwNCj4+ICsJLm1hc2tfYmFzZSAgICAgID0gTUFYNzc2NTRfUkVHX0lOVE1fR0xC TDAsDQo+PiArCS5udW1fcmVncyAgICAgICA9IDEsDQo+PiArCS5pcnFzICAgICAgICAgICA9IG1h eDc3NjU4X2dsYmwwX2lycXMsDQo+PiArCS5udW1faXJxcyAgICAgICA9IEFSUkFZX1NJWkUobWF4 Nzc2NThfZ2xibDBfaXJxcyksDQo+PiArfTsNCj4+ICsNCj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0 IHJlZ21hcF9pcnFfY2hpcCBtYXg3NzY1OF9nbGJsMF9pcnFfY2hpcCA9IHsNCj4+ICsJLm5hbWUg ICAgICAgICAgID0gIm1heDc3NjU4X2dsYmwwIiwNCj4+ICsJLnN0YXR1c19iYXNlICAgID0gTUFY Nzc2NThfUkVHX0lOVF9HTEJMMCwNCj4+ICsJLm1hc2tfYmFzZSAgICAgID0gTUFYNzc2NThfUkVH X0lOVE1fR0xCTDAsDQo+PiArCS5udW1fcmVncyAgICAgICA9IDEsDQo+PiArCS5pcnFzICAgICAg ICAgICA9IG1heDc3NjU4X2dsYmwwX2lycXMsDQo+PiArCS5udW1faXJxcyAgICAgICA9IEFSUkFZ X1NJWkUobWF4Nzc2NThfZ2xibDBfaXJxcyksDQo+PiArfTsNCj4+ICsNCj4+ICtzdGF0aWMgY29u c3Qgc3RydWN0IHJlZ21hcF9pcnEgbWF4Nzc2NTlfZ2xibDBfaXJxc1tdID0gew0KPj4gKwl7IC5t YXNrID0gTUFYNzc2NThfQklUX0lOVF9HTEJMMF9HUElPMF9GLCB9LA0KPj4gKwl7IC5tYXNrID0g TUFYNzc2NThfQklUX0lOVF9HTEJMMF9HUElPMF9SLCB9LA0KPj4gKwl7IC5tYXNrID0gTUFYNzc2 NThfQklUX0lOVF9HTEJMMF9FTl9GLCB9LA0KPj4gKwl7IC5tYXNrID0gTUFYNzc2NThfQklUX0lO VF9HTEJMMF9FTl9SLCB9LA0KPj4gKwl7IC5tYXNrID0gTUFYNzc2NThfQklUX0lOVF9HTEJMMF9U SkFMMV9SLCB9LA0KPj4gKwl7IC5tYXNrID0gTUFYNzc2NThfQklUX0lOVF9HTEJMMF9USkFMMl9S LCB9LA0KPj4gKwl7IC5tYXNrID0gTUFYNzc2NThfQklUX0lOVF9HTEJMMF9ET0QwX1IsIH0sIH07 DQo+PiArDQo+PiArc3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfaXJxX2NoaXAgbWF4Nzc2NTlf Z2xibDBfaXJxX2NoaXAgPSB7DQo+PiArCS5uYW1lICAgICAgICAgICA9ICJtYXg3NzY1OV9nbGJs MCIsDQo+PiArCS5zdGF0dXNfYmFzZSAgICA9IE1BWDc3NjU4X1JFR19JTlRfR0xCTDAsDQo+PiAr CS5tYXNrX2Jhc2UgICAgICA9IE1BWDc3NjU0X1JFR19JTlRNX0dMQkwwLA0KPj4gKwkubnVtX3Jl Z3MgICAgICAgPSAxLA0KPj4gKwkuaXJxcyAgICAgICAgICAgPSBtYXg3NzY1OV9nbGJsMF9pcnFz LA0KPj4gKwkubnVtX2lycXMgICAgICAgPSBBUlJBWV9TSVpFKG1heDc3NjU5X2dsYmwwX2lycXMp LA0KPj4gK307DQo+PiArDQo+PiArc3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfaXJxIG1heDc3 NjQzX2dsYmwxX2lycXNbXSA9IHsNCj4+ICsJeyAubWFzayA9IE1BWDc3NjU4X0JJVF9JTlRfR0xC TDFfR1BJMV9GLCB9LA0KPj4gKwl7IC5tYXNrID0gTUFYNzc2NThfQklUX0lOVF9HTEJMMV9HUEkx X1IsIH0sDQo+PiArCXsgLm1hc2sgPSBNQVg3NzY1OF9CSVRfSU5UX0dMQkwxX1NCQjBfRiwgfSwN Cj4+ICsJeyAubWFzayA9IE1BWDc3NjU4X0JJVF9JTlRfR0xCTDFfU0JCMV9GLCB9LA0KPj4gKwl7 IC5tYXNrID0gTUFYNzc2NThfQklUX0lOVF9HTEJMMV9TQkIyX0YsIH0sDQo+PiArCXsgLm1hc2sg PSBNQVg3NzY1OF9CSVRfSU5UX0dMQkwxX0xETzBfRiwgfSwgfTsNCj4+ICsNCj4+ICtzdGF0aWMg Y29uc3Qgc3RydWN0IHJlZ21hcF9pcnFfY2hpcCBtYXg3NzY0M19nbGJsMV9pcnFfY2hpcCA9IHsN Cj4+ICsJLm5hbWUgICAgICAgICAgID0gIm1heDc3NjQzX2dsYmwxIiwNCj4+ICsJLnN0YXR1c19i YXNlICAgID0gTUFYNzc2NThfUkVHX0lOVF9HTEJMMSwNCj4+ICsJLm1hc2tfYmFzZSAgICAgID0g TUFYNzc2NDNfUkVHX0lOVE1fR0xCTDEsDQo+PiArCS5udW1fcmVncyAgICAgICA9IDEsDQo+PiAr CS5pcnFzICAgICAgICAgICA9IG1heDc3NjQzX2dsYmwxX2lycXMsDQo+PiArCS5udW1faXJxcyAg ICAgICA9IEFSUkFZX1NJWkUobWF4Nzc2NDNfZ2xibDFfaXJxcyksDQo+PiArfTsNCj4+ICsNCj4+ ICtzdGF0aWMgY29uc3Qgc3RydWN0IHJlZ21hcF9pcnEgbWF4Nzc2NTRfZ2xibDFfaXJxc1tdID0g ew0KPj4gKwl7IC5tYXNrID0gTUFYNzc2NThfQklUX0lOVF9HTEJMMV9HUEkxX0YsIH0sDQo+PiAr CXsgLm1hc2sgPSBNQVg3NzY1OF9CSVRfSU5UX0dMQkwxX0dQSTFfUiwgfSwNCj4+ICsJeyAubWFz ayA9IE1BWDc3NjU0X0JJVF9JTlRfR0xCTDFfR1BJMl9GLCB9LA0KPj4gKwl7IC5tYXNrID0gTUFY Nzc2NTRfQklUX0lOVF9HTEJMMV9HUEkyX1IsIH0sDQo+PiArCXsgLm1hc2sgPSBNQVg3NzY1NF9C SVRfSU5UX0dMQkwxX1NCQl9UTywgfSwNCj4+ICsJeyAubWFzayA9IE1BWDc3NjU4X0JJVF9JTlRf R0xCTDFfTERPMF9GLCB9LA0KPj4gKwl7IC5tYXNrID0gTUFYNzc2NThfQklUX0lOVF9HTEJMMV9M RE8xX0YsIH0sIH07DQo+PiArDQo+PiArc3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfaXJxX2No aXAgbWF4Nzc2NTRfZ2xibDFfaXJxX2NoaXAgPSB7DQo+PiArCS5uYW1lICAgICAgICAgICA9ICJt YXg3NzY1NF9nbGJsMSIsDQo+PiArCS5zdGF0dXNfYmFzZSAgICA9IE1BWDc3NjU4X1JFR19JTlRf R0xCTDEsDQo+PiArCS5tYXNrX2Jhc2UgICAgICA9IE1BWDc3NjU0X1JFR19JTlRNX0dMQkwxLA0K Pj4gKwkubnVtX3JlZ3MgICAgICAgPSAxLA0KPj4gKwkuaXJxcyAgICAgICAgICAgPSBtYXg3NzY1 NF9nbGJsMV9pcnFzLA0KPj4gKwkubnVtX2lycXMgICAgICAgPSBBUlJBWV9TSVpFKG1heDc3NjU0 X2dsYmwxX2lycXMpLA0KPj4gK307DQo+PiArDQo+PiArc3RhdGljIGNvbnN0IHN0cnVjdCByZWdt YXBfaXJxIG1heDc3NjU4X2dsYmwxX2lycXNbXSA9IHsNCj4+ICsJeyAubWFzayA9IE1BWDc3NjU4 X0JJVF9JTlRfR0xCTDFfR1BJMV9GLCB9LA0KPj4gKwl7IC5tYXNrID0gTUFYNzc2NThfQklUX0lO VF9HTEJMMV9HUEkxX1IsIH0sDQo+PiArCXsgLm1hc2sgPSBNQVg3NzY1OF9CSVRfSU5UX0dMQkwx X1NCQjBfRiwgfSwNCj4+ICsJeyAubWFzayA9IE1BWDc3NjU4X0JJVF9JTlRfR0xCTDFfU0JCMV9G LCB9LA0KPj4gKwl7IC5tYXNrID0gTUFYNzc2NThfQklUX0lOVF9HTEJMMV9TQkIyX0YsIH0sDQo+ PiArCXsgLm1hc2sgPSBNQVg3NzY1OF9CSVRfSU5UX0dMQkwxX0xETzBfRiwgfSwNCj4+ICsJeyAu bWFzayA9IE1BWDc3NjU4X0JJVF9JTlRfR0xCTDFfTERPMV9GLCB9LCB9Ow0KPj4gKw0KPj4gK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgcmVnbWFwX2lycV9jaGlwIG1heDc3NjU4X2dsYmwxX2lycV9jaGlw ID0gew0KPj4gKwkubmFtZSAgICAgICAgICAgPSAibWF4Nzc2NThfZ2xibDEiLA0KPj4gKwkuc3Rh dHVzX2Jhc2UgICAgPSBNQVg3NzY1OF9SRUdfSU5UX0dMQkwxLA0KPj4gKwkubWFza19iYXNlICAg ICAgPSBNQVg3NzY1OF9SRUdfSU5UTV9HTEJMMSwNCj4+ICsJLm51bV9yZWdzICAgICAgID0gMSwN Cj4+ICsJLmlycXMgICAgICAgICAgID0gbWF4Nzc2NThfZ2xibDFfaXJxcywNCj4+ICsJLm51bV9p cnFzICAgICAgID0gQVJSQVlfU0laRShtYXg3NzY1OF9nbGJsMV9pcnFzKSwNCj4+ICt9Ow0KPj4g Kw0KPj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcmVnbWFwX2lycSBtYXg3NzY1OV9nbGJsMV9pcnFz W10gPSB7DQo+PiArCXsgLm1hc2sgPSBNQVg3NzY1OF9CSVRfSU5UX0dMQkwxX0dQSTFfRiwgfSwN Cj4+ICsJeyAubWFzayA9IE1BWDc3NjU4X0JJVF9JTlRfR0xCTDFfR1BJMV9SLCB9LA0KPj4gKwl7 IC5tYXNrID0gTUFYNzc2NTlfQklUX0lOVF9HTEJMMV9TQkJfVE8sIH0sDQo+PiArCXsgLm1hc2sg PSBNQVg3NzY1OF9CSVRfSU5UX0dMQkwxX0xETzBfRiwgfSwgfTsNCj4+ICsNCj4+ICtzdGF0aWMg Y29uc3Qgc3RydWN0IHJlZ21hcF9pcnFfY2hpcCBtYXg3NzY1OV9nbGJsMV9pcnFfY2hpcCA9IHsN Cj4+ICsJLm5hbWUgICAgICAgICAgID0gIm1heDc3NjU5X2dsYmwxIiwNCj4+ICsJLnN0YXR1c19i YXNlICAgID0gTUFYNzc2NThfUkVHX0lOVF9HTEJMMSwNCj4+ICsJLm1hc2tfYmFzZSAgICAgID0g TUFYNzc2NThfUkVHX0lOVE1fR0xCTDEsDQo+PiArCS5udW1fcmVncyAgICAgICA9IDEsDQo+PiAr CS5pcnFzICAgICAgICAgICA9IG1heDc3NjU5X2dsYmwxX2lycXMsDQo+PiArCS5udW1faXJxcyAg ICAgICA9IEFSUkFZX1NJWkUobWF4Nzc2NTlfZ2xibDFfaXJxcyksDQo+PiArfTsNCj4+ICsNCj4+ ICtzdGF0aWMgY29uc3Qgc3RydWN0IHJlZ21hcF9pcnEgbWF4Nzc2NThfY2hnX2lycXNbXSA9IHsN Cj4+ICsJeyAubWFzayA9IE1BWDc3NjU4X0JJVF9JTlRfVEhNLCB9LA0KPj4gKwl7IC5tYXNrID0g TUFYNzc2NThfQklUX0lOVF9DSEcsIH0sDQo+PiArCXsgLm1hc2sgPSBNQVg3NzY1OF9CSVRfSU5U X0NIR0lOLCB9LA0KPj4gKwl7IC5tYXNrID0gTUFYNzc2NThfQklUX0lOVF9USl9SRUcsIH0sDQo+ PiArCXsgLm1hc2sgPSBNQVg3NzY1OF9CSVRfSU5UX0NIR0lOX0NUUkwsIH0sDQo+PiArCXsgLm1h c2sgPSBNQVg3NzY1OF9CSVRfSU5UX1NZU19DVFJMLCB9LA0KPj4gKwl7IC5tYXNrID0gTUFYNzc2 NThfQklUX0lOVF9TWVNfQ05GRywgfSwgfTsNCj4+ICsNCj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0 IHJlZ21hcF9pcnFfY2hpcCBtYXg3NzY1NF9jaGdfaXJxX2NoaXAgPSB7DQo+PiArCS5uYW1lICAg ICAgICAgICA9ICJtYXg3NzY1NF9jaGciLA0KPj4gKwkuc3RhdHVzX2Jhc2UgICAgPSBNQVg3NzY1 OF9SRUdfSU5UX0NIRywNCj4+ICsJLm1hc2tfYmFzZSAgICAgID0gTUFYNzc2NThfUkVHX0lOVE1f Q0hHLA0KPj4gKwkubnVtX3JlZ3MgICAgICAgPSAxLA0KPj4gKwkuaXJxcyAgICAgICAgICAgPSBt YXg3NzY1OF9jaGdfaXJxcywNCj4+ICsJLm51bV9pcnFzICAgICAgID0gQVJSQVlfU0laRShtYXg3 NzY1OF9jaGdfaXJxcyksDQo+PiArfTsNCj4+ICsNCj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHJl Z21hcF9pcnFfY2hpcCBtYXg3NzY1OF9jaGdfaXJxX2NoaXAgPSB7DQo+PiArCS5uYW1lICAgICAg ICAgICA9ICJtYXg3NzY1OF9jaGciLA0KPj4gKwkuc3RhdHVzX2Jhc2UgICAgPSBNQVg3NzY1OF9S RUdfSU5UX0NIRywNCj4+ICsJLm1hc2tfYmFzZSAgICAgID0gTUFYNzc2NThfUkVHX0lOVE1fQ0hH LA0KPj4gKwkubnVtX3JlZ3MgICAgICAgPSAxLA0KPj4gKwkuaXJxcyAgICAgICAgICAgPSBtYXg3 NzY1OF9jaGdfaXJxcywNCj4+ICsJLm51bV9pcnFzICAgICAgID0gQVJSQVlfU0laRShtYXg3NzY1 OF9jaGdfaXJxcyksDQo+PiArfTsNCj4+ICsNCj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHJlZ21h cF9pcnEgbWF4Nzc2NTlfY2hnX2lycXNbXSA9IHsNCj4+ICsJeyAubWFzayA9IE1BWDc3NjU4X0JJ VF9JTlRfVEhNLCB9LA0KPj4gKwl7IC5tYXNrID0gTUFYNzc2NThfQklUX0lOVF9DSEcsIH0sDQo+ PiArCXsgLm1hc2sgPSBNQVg3NzY1OF9CSVRfSU5UX0NIR0lOLCB9LA0KPj4gKwl7IC5tYXNrID0g TUFYNzc2NThfQklUX0lOVF9USl9SRUcsIH0sDQo+PiArCXsgLm1hc2sgPSBNQVg3NzY1NjlfQklU X0lOVF9TWVNfQ1RSTCwgfSwgfTsNCj4+ICsNCj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHJlZ21h cF9pcnFfY2hpcCBtYXg3NzY1OV9jaGdfaXJxX2NoaXAgPSB7DQo+PiArCS5uYW1lICAgICAgICAg ICA9ICJtYXg3NzY1OV9jaGciLA0KPj4gKwkuc3RhdHVzX2Jhc2UgICAgPSBNQVg3NzY1OF9SRUdf SU5UX0NIRywNCj4+ICsJLm1hc2tfYmFzZSAgICAgID0gTUFYNzc2NThfUkVHX0lOVE1fQ0hHLA0K Pj4gKwkubnVtX3JlZ3MgICAgICAgPSAxLA0KPj4gKwkuaXJxcyAgICAgICAgICAgPSBtYXg3NzY1 OV9jaGdfaXJxcywNCj4+ICsJLm51bV9pcnFzICAgICAgID0gQVJSQVlfU0laRShtYXg3NzY1OV9j aGdfaXJxcyksDQo+PiArfTsNCj4+ICsNCj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG1mZF9jZWxs IG1heDc3NjQzX2RldnNbXSA9IHsNCj4+ICsJTUZEX0NFTExfT0YoIm1heDc3NjQzLXJlZ3VsYXRv ciIsIE5VTEwsIE5VTEwsIDAsIDAsDQo+PiArCQkgICAgImFkaSxtYXg3NzY0My1yZWd1bGF0b3Ii KSwNCj4+ICt9Ow0KPj4gKw0KPj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbWZkX2NlbGwgbWF4Nzc2 NTRfZGV2c1tdID0gew0KPj4gKwlNRkRfQ0VMTF9PRigibWF4Nzc2NTQtcmVndWxhdG9yIiwgTlVM TCwgTlVMTCwgMCwgMCwNCj4+ICsJCSAgICAiYWRpLG1heDc3NjU0LXJlZ3VsYXRvciIpLA0KPj4g KwlNRkRfQ0VMTF9PRigibWF4Nzc2NTQtY2hhcmdlciIsIE5VTEwsIE5VTEwsIDAsIDAsDQo+PiAr CQkgICAgImFkaSxtYXg3NzY1NC1jaGFyZ2VyIiksDQo+PiArfTsNCj4+ICsNCj4+ICtzdGF0aWMg Y29uc3Qgc3RydWN0IG1mZF9jZWxsIG1heDc3NjU4X2RldnNbXSA9IHsNCj4+ICsJTUZEX0NFTExf T0YoIm1heDc3NjU4LXJlZ3VsYXRvciIsIE5VTEwsIE5VTEwsIDAsIDAsDQo+PiArCQkgICAgImFk aSxtYXg3NzY1OC1yZWd1bGF0b3IiKSwNCj4+ICsJTUZEX0NFTExfT0YoIm1heDc3NjU4LWNoYXJn ZXIiLCBOVUxMLCBOVUxMLCAwLCAwLA0KPj4gKwkJICAgICJhZGksbWF4Nzc2NTgtY2hhcmdlciIp LA0KPj4gKwlNRkRfQ0VMTF9PRigibWF4Nzc2NTgtYmF0dGVyeSIsIE5VTEwsIE5VTEwsIDAsIDAs DQo+PiArCQkgICAgImFkaSxtYXg3NzY1OC1iYXR0ZXJ5IiksDQo+PiArfTsNCj4+ICsNCj4+ICtz dGF0aWMgY29uc3Qgc3RydWN0IG1mZF9jZWxsIG1heDc3NjU5X2RldnNbXSA9IHsNCj4+ICsJTUZE X0NFTExfT0YoIm1heDc3NjU5LXJlZ3VsYXRvciIsIE5VTEwsIE5VTEwsIDAsIDAsDQo+PiArCQkg ICAgImFkaSxtYXg3NzY1OS1yZWd1bGF0b3IiKSwNCj4+ICsJTUZEX0NFTExfT0YoIm1heDc3NjU5 LWNoYXJnZXIiLCBOVUxMLCBOVUxMLCAwLCAwLA0KPj4gKwkJICAgICJhZGksbWF4Nzc2NTktY2hh cmdlciIpLA0KPj4gK307DQo+DQo+WW91IGNhbiB1bndyYXAgYWxsIG9mIHRoZXNlLCB5b3UgaGF2 ZSAxMDAtY2hhcnMgdG8gcGxheSB3aXRoLg0KDQpCYXNlZCBvbiBvdGhlciBtYWludGFpbmVycycg cmV2aWV3cywgSSBsaW1pdGVkIHRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyBwZXIgbGluZSB0byA4 MC4gDQpIZXJlIGlzIHRoZSBsaW5rIGZvciB0aGUgcmVsYXRlZCByZXZpZXcgLT4gaHR0cHM6Ly9s b3JlLmtlcm5lbC5vcmcvbGttbC85OTE1ZTA3OS1jNmI1LWE4ZjQtNzM0ZS1mMDMyNTgwOWVmZDBA bGluYXJvLm9yZy8NCkkgY2FuIGNvbnRpbnVlIGFjY29yZGluZyB0byB0aGUgam9pbnQgZGVjaXNp b24uDQoNCj4NCj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGNoaXBfaW5mbyBjaGlwW10gPSB7DQo+ PiArCVtJRF9NQVg3NzY0M10gPSB7DQo+PiArCQkuaWQgPSBJRF9NQVg3NzY0MywNCj4+ICsJCS5u X2RldnMgPSBBUlJBWV9TSVpFKG1heDc3NjQzX2RldnMpLA0KPj4gKwkJLmRldnMgPSBtYXg3NzY0 M19kZXZzLA0KPj4gKwl9LA0KPj4gKwlbSURfTUFYNzc2NTRdID0gew0KPj4gKwkJLmlkID0gSURf TUFYNzc2NTQsDQo+PiArCQkubl9kZXZzID0gQVJSQVlfU0laRShtYXg3NzY1NF9kZXZzKSwNCj4+ ICsJCS5kZXZzID0gbWF4Nzc2NTRfZGV2cywNCj4+ICsJfSwNCj4+ICsJW0lEX01BWDc3NjU4XSA9 IHsNCj4+ICsJCS5pZCA9IElEX01BWDc3NjU4LA0KPj4gKwkJLm5fZGV2cyA9IEFSUkFZX1NJWkUo bWF4Nzc2NThfZGV2cyksDQo+PiArCQkuZGV2cyA9IG1heDc3NjU4X2RldnMsDQo+PiArCX0sDQo+ PiArCVtJRF9NQVg3NzY1OV0gPSB7DQo+PiArCQkuaWQgPSBJRF9NQVg3NzY1OSwNCj4+ICsJCS5u X2RldnMgPSBBUlJBWV9TSVpFKG1heDc3NjU5X2RldnMpLA0KPj4gKwkJLmRldnMgPSBtYXg3NzY1 OV9kZXZzLA0KPj4gKwl9LA0KPj4gK307DQo+PiArDQo+PiArc3RhdGljIGludCBtYXg3NzY1OF9w bWljX2lycV9pbml0KHN0cnVjdCBkZXZpY2UgKmRldikgew0KPj4gKwljb25zdCBzdHJ1Y3QgcmVn bWFwX2lycV9jaGlwICpnbGJsMF9jaGlwLCAqZ2xibDFfY2hpcCwgKmNoZ19jaGlwOw0KPj4gKwlz dHJ1Y3QgbWF4Nzc2NThfZGV2ICptYXg3NzY1OCA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPj4g KwlpbnQgcmV0LCBpOw0KPj4gKw0KPj4gKwlzd2l0Y2ggKG1heDc3NjU4LT4+Y2hpcC0+PmlkKSB7 DQo+PiArCWNhc2UgSURfTUFYNzc2NDM6DQo+PiArCQlnbGJsMF9jaGlwID0gJm1heDc3NjQzX2ds YmwwX2lycV9jaGlwOw0KPj4gKwkJZ2xibDFfY2hpcCA9ICZtYXg3NzY0M19nbGJsMV9pcnFfY2hp cDsNCj4+ICsJCWJyZWFrOw0KPj4gKwljYXNlIElEX01BWDc3NjU0Og0KPj4gKwkJZ2xibDBfY2hp cCA9ICZtYXg3NzY1NF9nbGJsMF9pcnFfY2hpcDsNCj4+ICsJCWdsYmwxX2NoaXAgPSAmbWF4Nzc2 NTRfZ2xibDFfaXJxX2NoaXA7DQo+PiArCQljaGdfY2hpcCA9ICZtYXg3NzY1NF9jaGdfaXJxX2No aXA7DQo+PiArCQlicmVhazsNCj4+ICsJY2FzZSBJRF9NQVg3NzY1ODoNCj4+ICsJCWdsYmwwX2No aXAgPSAmbWF4Nzc2NThfZ2xibDBfaXJxX2NoaXA7DQo+PiArCQlnbGJsMV9jaGlwID0gJm1heDc3 NjU4X2dsYmwxX2lycV9jaGlwOw0KPj4gKwkJY2hnX2NoaXAgPSAmbWF4Nzc2NThfY2hnX2lycV9j aGlwOw0KPj4gKwkJYnJlYWs7DQo+PiArCWNhc2UgSURfTUFYNzc2NTk6DQo+PiArCQlnbGJsMF9j aGlwID0gJm1heDc3NjU5X2dsYmwwX2lycV9jaGlwOw0KPj4gKwkJZ2xibDFfY2hpcCA9ICZtYXg3 NzY1OV9nbGJsMV9pcnFfY2hpcDsNCj4+ICsJCWNoZ19jaGlwID0gJm1heDc3NjU5X2NoZ19pcnFf Y2hpcDsNCj4+ICsJCWJyZWFrOw0KPj4gKwlkZWZhdWx0Og0KPj4gKwkJYnJlYWs7DQo+PiArCX0N Cj4+ICsNCj4+ICsJZm9yIChpID0gMDsgaSA8IGdsYmwwX2NoaXAtPj5udW1fcmVnczsgaSsrKSB7 DQo+PiArCQlyZXQgPSByZWdtYXBfdXBkYXRlX2JpdHMobWF4Nzc2NTgtPj5yZWdtYXAsDQo+PiAr CQkJCQkgZ2xibDBfY2hpcC0+Pm1hc2tfYmFzZSwNCj4+ICsJCQkJCSAoMSA8PCBnbGJsMF9jaGlw LT4+aXJxc1tpXS5yZWdfb2Zmc2V0KSwNCj4+ICsJCQkJCSAxKTsNCj4+ICsJCWlmIChyZXQpDQo+ PiArCQkJcmV0dXJuIGRldl9lcnJfcHJvYmUoZGV2LCByZXQsDQo+PiArCQkJCQkgICAgICJVbmFi bGUgdG8gd3JpdGUgR2xvYmFsMCBJbnRlcnJ1cHQgTWFza2luZyByZWdpc3RlclxuIik7DQo+PiAr CX0NCj4+ICsNCj4+ICsJZm9yIChpID0gMDsgaSA8IGdsYmwxX2NoaXAtPj5udW1fcmVnczsgaSsr KSB7DQo+PiArCQlyZXQgPSByZWdtYXBfdXBkYXRlX2JpdHMobWF4Nzc2NTgtPj5yZWdtYXAsDQo+ PiArCQkJCQkgZ2xibDFfY2hpcC0+Pm1hc2tfYmFzZSwNCj4+ICsJCQkJCSAoMSA8PCBnbGJsMV9j aGlwLT4+aXJxc1tpXS5yZWdfb2Zmc2V0KSwNCj4+ICsJCQkJCSAxKTsNCj4+ICsJCWlmIChyZXQp DQo+PiArCQkJcmV0dXJuIGRldl9lcnJfcHJvYmUoZGV2LCByZXQsDQo+PiArCQkJCQkgICAgICJV bmFibGUgdG8gd3JpdGUgR2xvYmFsMSBJbnRlcnJ1cHQgTWFza2luZyByZWdpc3RlclxuIik7DQo+ PiArCX0NCj4+ICsNCj4+ICsJaWYgKG1heDc3NjU4LT4+Y2hpcC0+PmlkICE9IElEX01BWDc3NjQz KSB7DQo+PiArCQlmb3IgKGkgPSAwOyBpIDwgY2hnX2NoaXAtPj5udW1fcmVnczsgaSsrKSB7DQo+ PiArCQkJcmV0ID0gcmVnbWFwX3VwZGF0ZV9iaXRzKG1heDc3NjU4LT4+cmVnbWFwLA0KPj4gKwkJ CQkJCSBjaGdfY2hpcC0+Pm1hc2tfYmFzZSwNCj4+ICsJCQkJCQkgKDEgPDwNCj4+ICsJCQkJCQkg Y2hnX2NoaXAtPj5pcnFzW2ldLnJlZ19vZmZzZXQpLA0KPj4gKwkJCQkJCSAxKTsNCj4+ICsJCQlp ZiAocmV0KQ0KPj4gKwkJCQlyZXR1cm4gZGV2X2Vycl9wcm9iZShkZXYsIHJldCwNCj4+ICsJCQkJ CQkgICAgICJVbmFibGUgdG8gd3JpdGUgQ2hhcmdlciBJbnRlcnJ1cHQgTWFza2luZyByZWdpc3Rl clxuIik7DQo+PiArCQl9DQo+PiArDQo+PiArCQlyZXQgPSBkZXZtX3JlZ21hcF9hZGRfaXJxX2No aXAoZGV2LCBtYXg3NzY1OC0+PnJlZ21hcCwNCj4+ICsJCQkJCSAgICAgICBtYXg3NzY1OC0+Pmly cSwNCj4+ICsJCQkJCSAgICAgICBJUlFGX09ORVNIT1QgfCBJUlFGX1NIQVJFRCwgMCwNCj4+ICsJ CQkJCSAgICAgICBjaGdfY2hpcCwgJm1heDc3NjU4LT4+aXJxY19jaGcpOw0KPj4gKwkJaWYgKHJl dCkNCj4+ICsJCQlyZXR1cm4gZGV2X2Vycl9wcm9iZShkZXYsIHJldCwNCj4+ICsJCQkJCSAgICAg IkZhaWxlZCB0byBhZGQgY2hhcmdlciBJUlEgY2hpcFxuIik7DQo+PiArCX0NCj4+ICsNCj4+ICsJ cmV0ID0gZGV2bV9yZWdtYXBfYWRkX2lycV9jaGlwKGRldiwgbWF4Nzc2NTgtPj5yZWdtYXAsIG1h eDc3NjU4LT4+aXJxLA0KPj4gKwkJCQkgICAgICAgSVJRRl9PTkVTSE9UIHwgSVJRRl9TSEFSRUQs IDAsDQo+PiArCQkJCSAgICAgICBnbGJsMF9jaGlwLCAmbWF4Nzc2NTgtPj5pcnFjX2dsYmwwKTsN Cj4+ICsJaWYgKHJldCkNCj4+ICsJCXJldHVybiBkZXZfZXJyX3Byb2JlKGRldiwgcmV0LA0KPj4g KwkJCQkgICAgICJGYWlsZWQgdG8gYWRkIGdsb2JhbDAgSVJRIGNoaXBcbiIpOw0KPj4gKw0KPj4g KwlyZXR1cm4gZGV2bV9yZWdtYXBfYWRkX2lycV9jaGlwKGRldiwgbWF4Nzc2NTgtPj5yZWdtYXAs IG1heDc3NjU4LT4+aXJxLA0KPj4gKwkJCQkJSVJRRl9PTkVTSE9UIHwgSVJRRl9TSEFSRUQsIDAs DQo+PiArCQkJCQlnbGJsMV9jaGlwLCAmbWF4Nzc2NTgtPj5pcnFjX2dsYmwxKTsNCj4NCj5UaGlz IGZ1bmN0aW9uIGlzIGhlY3RpYy4NCj4NCj5XaGF0IGV4YWN0bHkgYXJlIHlvdSBkb2luZyBoZXJl Pw0KDQpJIG1hc2sgYWxsIGludGVycnVwdHMgb2YgZ2xvYmFsMCwgZ2xvYmFsMSwgYW5kIGNoYXJn ZXIgaW5zaWRlIHRoZSBsb29wcy4gDQoNCj4NCj4+ICt9DQo+PiArDQo+PiArc3RhdGljIGludCBt YXg3NzY1OF9wbWljX3NldHVwKHN0cnVjdCBkZXZpY2UgKmRldikgew0KPj4gKwlzdHJ1Y3QgbWF4 Nzc2NThfZGV2ICptYXg3NzY1OCA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPj4gKwlpbnQgcmV0 Ow0KPj4gKw0KPj4gKwlyZXQgPSBtYXg3NzY1OF9wbWljX2lycV9pbml0KG1heDc3NjU4LT4+ZGV2 KTsNCj4+ICsJaWYgKHJldCkNCj4+ICsJCXJldHVybiByZXQ7DQo+PiArDQo+PiArCXJldCA9IGRl dm1fbWZkX2FkZF9kZXZpY2VzKGRldiwgUExBVEZPUk1fREVWSURfTk9ORSwNCj4+ICsJCQkJICAg bWF4Nzc2NTgtPj5jaGlwLT4+ZGV2cywgbWF4Nzc2NTgtPj5jaGlwLT4+bl9kZXZzLA0KPj4gKwkJ CQkgICBOVUxMLCAwLCBOVUxMKTsNCj4+ICsNCj4NCj5UaGVzZSBhcmUgdXN1YWxseSBwbGFjZWQg aW4gcHJvYmUuDQo+DQo+PiArCWlmIChyZXQpDQo+PiArCQlyZXR1cm4gZGV2X2Vycl9wcm9iZShk ZXYsIHJldCwgIkZhaWxlZCB0byBhZGQgc3ViLWRldmljZXNcbiIpOw0KPj4gKw0KPj4gKwlyZXQg PSBkZXZpY2VfaW5pdF93YWtldXAoZGV2LCB0cnVlKTsNCj4+ICsJaWYgKHJldCkNCj4+ICsJCXJl dHVybiBkZXZfZXJyX3Byb2JlKGRldiwgcmV0LCAiVW5hYmxlIHRvIGluaXQgd2FrZXVwXG4iKTsN Cj4+ICsNCj4+ICsJcmV0dXJuIDA7DQo+PiArfQ0KPj4gKw0KPj4gK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgaTJjX2RldmljZV9pZCBtYXg3NzY1OF9pMmNfaWRbXTsNCj4NCj5XaGF0IG9uIGVhcnRoIGlz IHRoaXM/ICBBIHN0cnVjdCBmb3J3YXJkIGRlY2xhcmF0aW9uPw0KPg0KPklmIHlvdSBuZWVkIHRo aXMsIGp1c3QgbW92ZSB0aGUgb3JpZ2luYWwgY29kZSBibG9jayB0byBoZXJlLg0KPg0KPj4gK3N0 YXRpYyBpbnQgbWF4Nzc2NThfaTJjX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpIHsN Cj4+ICsJc3RydWN0IG1heDc3NjU4X2RldiAqbWF4Nzc2NTg7DQo+PiArCXN0cnVjdCBpMmNfY2xp ZW50ICpmdWVsOw0KPj4gKw0KPj4gKwltYXg3NzY1OCA9IGRldm1fa3phbGxvYygmY2xpZW50LT4+ ZGV2LCBzaXplb2YoKm1heDc3NjU4KSwgR0ZQX0tFUk5FTCk7DQo+PiArCWlmICghbWF4Nzc2NTgp DQo+PiArCQlyZXR1cm4gLUVOT01FTTsNCj4+ICsNCj4+ICsJaTJjX3NldF9jbGllbnRkYXRhKGNs aWVudCwgbWF4Nzc2NTgpOw0KPj4gKwltYXg3NzY1OC0+PmRldiA9ICZjbGllbnQtPj5kZXY7DQo+ DQo+SG93IGRvIHlvdSBmZXRjaCBiYWNrIG1heDc3NjU4Pw0KPg0KPkRvbid0IHlvdSBuZWVkIGFj Y2VzcyB0byB0aGUgZGV2aWNlIHN0cnVjdHM/DQo+DQo+SWYgc28sIHlvdSBhbHJlYWR5IGhhdmUg YSByZWZlcmVuY2UsIG5vPw0KPg0KPj4gKwltYXg3NzY1OC0+PmlycSA9IGNsaWVudC0+PmlycTsN Cj4+ICsNCj4+ICsJaWYgKG1heDc3NjU4LT4+ZGV2LT4+b2Zfbm9kZSkNCj4+ICsJCW1heDc3NjU4 LT4+Y2hpcCAgPSBvZl9kZXZpY2VfZ2V0X21hdGNoX2RhdGEobWF4Nzc2NTgtPj5kZXYpOw0KPj4g KwllbHNlDQo+PiArCQltYXg3NzY1OC0+PmNoaXAgID0gKHN0cnVjdCBjaGlwX2luZm8gKikNCj4N Cj5DYXN0IGZyb20gdm9pZCAqIHNob3VsZG4ndCBiZSByZXF1aXJlZC4NCj4NCj4+ICsJCQkJCWky Y19tYXRjaF9pZChtYXg3NzY1OF9pMmNfaWQsDQo+PiArCQkJCQkJICAgICBjbGllbnQpLT4+ZHJp dmVyX2RhdGE7DQo+DQo+MTAwLWNoYXJzIGV2ZXJ5d2hlcmUuDQo+DQo+PiArCWlmICghbWF4Nzc2 NTgtPj5jaGlwKQ0KPj4gKwkJcmV0dXJuIC1FSU5WQUw7DQo+PiArDQo+PiArCW1heDc3NjU4LT4+ cmVnbWFwID0gZGV2bV9yZWdtYXBfaW5pdF9pMmMoY2xpZW50LA0KPj4gKwkJCQkJCSZtYXg3NzY1 OF9yZWdtYXBfY29uZmlnKTsNCj4+ICsJaWYgKElTX0VSUihtYXg3NzY1OC0+PnJlZ21hcCkpDQo+ PiArCQlyZXR1cm4gZGV2X2Vycl9wcm9iZShtYXg3NzY1OC0+PmRldiwgUFRSX0VSUihtYXg3NzY1 OC0+PnJlZ21hcCksDQo+PiArCQkJCSAgICAgIkZhaWxlZCB0byBhbGxvY2F0ZSByZWdpc3RlciBt YXBcbiIpOw0KPg0KPnMvYWxsb2NhdGUvaW5pdGlhbGlzZS8NCj4NCj4icmVnbWFwIiBpcyBmaW5l Lg0KPg0KPj4gKwlmdWVsID0gaTJjX25ld19kdW1teV9kZXZpY2UoY2xpZW50LT4+YWRhcHRlciwg STJDX0FERFJfRlVFTF9HQVVHRSk7DQo+PiArCWlmIChJU19FUlIoZnVlbCkpDQo+PiArCQlyZXR1 cm4gZGV2X2Vycl9wcm9iZShtYXg3NzY1OC0+PmRldiwgUFRSX0VSUihmdWVsKSwNCj4+ICsJCQkJ ICAgICAiZmFpbGVkIGFkZCBpMmMgZGV2aWNlWzB4JVhoXVxuIiwNCj4NCj4iRmFpbGVkIHRvIGNy ZWF0ZSBJMkMgZGV2aWNlIg0KPg0KPj4gKwkJCQkgICAgICBJMkNfQUREUl9GVUVMX0dBVUdFKTsN Cj4+ICsNCj4+ICsJaTJjX3NldF9jbGllbnRkYXRhKGZ1ZWwsIG1heDc3NjU4KTsNCj4+ICsNCj4+ ICsJbWF4Nzc2NTgtPj5yZWdtYXBfZmcgPSBkZXZtX3JlZ21hcF9pbml0X2kyYyhmdWVsLA0KPj4g KwkJCQkJCSAgICZtYXg3NzY1OF9yZWdtYXBfY29uZmlnX2ZnKTsNCj4+ICsJaWYgKElTX0VSUiht YXg3NzY1OC0+PnJlZ21hcF9mZykpDQo+PiArCQlyZXR1cm4gZGV2X2Vycl9wcm9iZShtYXg3NzY1 OC0+PmRldiwNCj4+ICsJCQkJICAgICBQVFJfRVJSKG1heDc3NjU4LT4+cmVnbWFwX2ZnKSwNCj4+ ICsJCQkJICAgICAiZmFpbGVkIHRvIGluaXRpYWxpemUgaTJjIGRldmljZVsweCVYaF1cbiIsDQo+ DQo+IkZhaWxlZCINCj4NCj4iSTJDIg0KPg0KPj4gKwkJCQkgICAgIEkyQ19BRERSX0ZVRUxfR0FV R0UpOw0KPj4gKw0KPj4gKwlyZXR1cm4gbWF4Nzc2NThfcG1pY19zZXR1cChtYXg3NzY1OC0+PmRl dik7DQo+PiArfQ0KPj4gKw0KPj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG1h eDc3NjU4X29mX2lkW10gPSB7DQo+PiArCXsgLmNvbXBhdGlibGUgPSAiYWRpLG1heDc3NjQzIiwg LmRhdGEgPSAmY2hpcFtJRF9NQVg3NzY0M10gfSwNCj4+ICsJeyAuY29tcGF0aWJsZSA9ICJhZGks bWF4Nzc2NTQiLCAuZGF0YSA9ICZjaGlwW0lEX01BWDc3NjU0XSB9LA0KPj4gKwl7IC5jb21wYXRp YmxlID0gImFkaSxtYXg3NzY1OCIsIC5kYXRhID0gJmNoaXBbSURfTUFYNzc2NThdIH0sDQo+PiAr CXsgLmNvbXBhdGlibGUgPSAiYWRpLG1heDc3NjU5IiwgLmRhdGEgPSAmY2hpcFtJRF9NQVg3NzY1 OV0gfSwNCj4+ICsJeyAvKiBzZW50aW5lbCAqLyB9DQo+PiArfTsNCj4+ICtNT0RVTEVfREVWSUNF X1RBQkxFKG9mLCBtYXg3NzY1OF9vZl9pZCk7DQo+PiArDQo+PiArc3RhdGljIGNvbnN0IHN0cnVj dCBpMmNfZGV2aWNlX2lkIG1heDc3NjU4X2kyY19pZFtdID0gew0KPj4gKwl7ICJtYXg3NzY0MyIs IChrZXJuZWxfdWxvbmdfdCkmY2hpcFtJRF9NQVg3NzY0M10gfSwNCj4+ICsJeyAibWF4Nzc2NTQi LCAoa2VybmVsX3Vsb25nX3QpJmNoaXBbSURfTUFYNzc2NTRdIH0sDQo+PiArCXsgIm1heDc3NjU4 IiwgKGtlcm5lbF91bG9uZ190KSZjaGlwW0lEX01BWDc3NjU4XSB9LA0KPj4gKwl7ICJtYXg3NzY1 OSIsIChrZXJuZWxfdWxvbmdfdCkmY2hpcFtJRF9NQVg3NzY1OV0gfSwNCj4+ICsJeyAvKiBzZW50 aW5lbCAqLyB9DQo+PiArfTsNCj4+ICtNT0RVTEVfREVWSUNFX1RBQkxFKGkyYywgbWF4Nzc2NThf aTJjX2lkKTsNCj4NCj5QbGVhc2UgZG9uJ3QgcGFzcyBNRkQgZGF0YSB0aHJvdWdoIHRoZSBEVCBw bGF0Zm9ybSBpbml0aWFsaXNhdGlvbiBBUEkuDQo+DQo+UGFzcyB0aGUgQ2hpcCBJRCBhbmQgbWF0 Y2ggaW4gQy1jb2RlLg0KPg0KPj4gK3N0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciBtYXg3NzY1OF9k cml2ZXIgPSB7DQo+PiArCS5kcml2ZXIgPSB7DQo+PiArCQkubmFtZSA9ICJtYXg3NzY1OCIsDQo+ PiArCQkub2ZfbWF0Y2hfdGFibGUgPSBtYXg3NzY1OF9vZl9pZCwNCj4+ICsJfSwNCj4+ICsJLnBy b2JlX25ldyA9IG1heDc3NjU4X2kyY19wcm9iZSwNCj4+ICsJLmlkX3RhYmxlID0gbWF4Nzc2NThf aTJjX2lkLA0KPj4gK307DQo+PiArbW9kdWxlX2kyY19kcml2ZXIobWF4Nzc2NThfZHJpdmVyKTsN Cj4+ICsNCj4+ICtNT0RVTEVfREVTQ1JJUFRJT04oIk1BWDc3NjU4IE1GRCBEcml2ZXIiKTsgDQo+ PiArTU9EVUxFX0FVVEhPUigiTnVyZXR0aW4uQm9sdWN1QGFuYWxvZy5jb20sIA0KPj4gK1pleW5l cC5BcnNsYW5iZW56ZXJAYW5hbG9nLmNvbSIpOyBNT0RVTEVfTElDRU5TRSgiR1BMIik7DQo+PiBk aWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tZmQvbWF4Nzc2NTguaCANCj4+IGIvaW5jbHVkZS9s aW51eC9tZmQvbWF4Nzc2NTguaCBuZXcgZmlsZSBtb2RlIDEwMDY0NCBpbmRleCANCj4+IDAwMDAw MDAwMDAwMC4uNDcxYTg0NzQ1MTNlDQo+PiAtLS0gL2Rldi9udWxsDQo+PiArKysgYi9pbmNsdWRl L2xpbnV4L21mZC9tYXg3NzY1OC5oDQo+PiBAQCAtMCwwICsxLDg4IEBADQo+PiArLyogU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIgKi8NCj4+ICsNCj4+ICsjaWZuZGVm IF9fTUFYNzc2NThfTUZEX0hfXw0KPj4gKyNkZWZpbmUgX19NQVg3NzY1OF9NRkRfSF9fDQo+PiAr DQo+PiArI2luY2x1ZGUgPGxpbnV4L2JpdHMuaD4+DQo+PiArI2luY2x1ZGUgPGxpbnV4L3R5cGVz Lmg+Pg0KPj4gKw0KPj4gKyNkZWZpbmUgTUFYNzc2NThfUkVHX0lOVF9HTEJMMAkweDAwDQo+PiAr I2RlZmluZSBNQVg3NzY1OF9SRUdfSU5UX0NIRwkweDAxDQo+PiArI2RlZmluZSBNQVg3NzY1OF9S RUdfSU5UX0dMQkwxCTB4MDQNCj4+ICsjZGVmaW5lIE1BWDc3NjU4X1JFR19JTlRNX0NIRwkweDA3 DQo+PiArI2RlZmluZSBNQVg3NzY1OF9SRUdfSU5UTV9HTEJMMAkweDA4DQo+PiArI2RlZmluZSBN QVg3NzY1OF9SRUdfSU5UTV9HTEJMMQkweDA5DQo+PiArDQo+PiArI2RlZmluZSBNQVg3NzY1NF9S RUdfSU5UTV9HTEJMMQkweDA4DQo+PiArI2RlZmluZSBNQVg3NzY1NF9SRUdfSU5UTV9HTEJMMAkw eDA5DQo+PiArDQo+PiArI2RlZmluZSBNQVg3NzY0M19SRUdfSU5UX0dMQkwxCTB4MDENCj4+ICsj ZGVmaW5lIE1BWDc3NjQzX1JFR19JTlRNX0dMQkwwCTB4MDQNCj4+ICsjZGVmaW5lIE1BWDc3NjQz X1JFR19JTlRNX0dMQkwxCTB4MDUNCj4+ICsNCj4+ICsjZGVmaW5lIE1BWDc3NjU4X0JJVF9JTlRf R0xCTDBfR1BJTzBfRglCSVQoMCkNCj4+ICsjZGVmaW5lIE1BWDc3NjU4X0JJVF9JTlRfR0xCTDBf R1BJTzBfUglCSVQoMSkNCj4+ICsjZGVmaW5lIE1BWDc3NjU4X0JJVF9JTlRfR0xCTDBfRU5fRglC SVQoMikNCj4+ICsjZGVmaW5lIE1BWDc3NjU4X0JJVF9JTlRfR0xCTDBfRU5fUglCSVQoMykNCj4+ ICsjZGVmaW5lIE1BWDc3NjU4X0JJVF9JTlRfR0xCTDBfVEpBTDFfUglCSVQoNCkNCj4+ICsjZGVm aW5lIE1BWDc3NjU4X0JJVF9JTlRfR0xCTDBfVEpBTDJfUglCSVQoNSkNCj4+ICsjZGVmaW5lIE1B WDc3NjU4X0JJVF9JTlRfR0xCTDBfRE9EMV9SCUJJVCg2KQ0KPj4gKyNkZWZpbmUgTUFYNzc2NThf QklUX0lOVF9HTEJMMF9ET0QwX1IJQklUKDcpDQo+PiArDQo+PiArI2RlZmluZSBNQVg3NzY0M19C SVRfSU5UX0dMQkwwX0RPRDBfUglCSVQoNikNCj4+ICsNCj4+ICsjZGVmaW5lIE1BWDc3NjU4X0JJ VF9JTlRfR0xCTDFfR1BJMV9GCUJJVCgwKQ0KPj4gKyNkZWZpbmUgTUFYNzc2NThfQklUX0lOVF9H TEJMMV9HUEkxX1IJQklUKDEpDQo+PiArI2RlZmluZSBNQVg3NzY1OF9CSVRfSU5UX0dMQkwxX1NC QjBfRglCSVQoMikNCj4+ICsjZGVmaW5lIE1BWDc3NjU4X0JJVF9JTlRfR0xCTDFfU0JCMV9GCUJJ VCgzKQ0KPj4gKyNkZWZpbmUgTUFYNzc2NThfQklUX0lOVF9HTEJMMV9TQkIyX0YJQklUKDQpDQo+ PiArI2RlZmluZSBNQVg3NzY1OF9CSVRfSU5UX0dMQkwxX0xETzBfRglCSVQoNSkNCj4+ICsjZGVm aW5lIE1BWDc3NjU4X0JJVF9JTlRfR0xCTDFfTERPMV9GCUJJVCg2KQ0KPj4gKw0KPj4gKyNkZWZp bmUgTUFYNzc2NTlfQklUX0lOVF9HTEJMMV9TQkJfVE8JQklUKDQpDQo+PiArDQo+PiArI2RlZmlu ZSBNQVg3NzY1NF9CSVRfSU5UX0dMQkwxX0dQSTJfRglCSVQoMikNCj4+ICsjZGVmaW5lIE1BWDc3 NjU0X0JJVF9JTlRfR0xCTDFfR1BJMl9SCUJJVCgzKQ0KPj4gKyNkZWZpbmUgTUFYNzc2NTRfQklU X0lOVF9HTEJMMV9TQkJfVE8JQklUKDQpDQo+PiArDQo+PiArI2RlZmluZSBNQVg3NzY1OF9CSVRf SU5UX1RITQkJQklUKDApDQo+PiArI2RlZmluZSBNQVg3NzY1OF9CSVRfSU5UX0NIRwkJQklUKDEp DQo+PiArI2RlZmluZSBNQVg3NzY1OF9CSVRfSU5UX0NIR0lOCQlCSVQoMikNCj4+ICsjZGVmaW5l IE1BWDc3NjU4X0JJVF9JTlRfVEpfUkVHCQlCSVQoMykNCj4+ICsjZGVmaW5lIE1BWDc3NjU4X0JJ VF9JTlRfQ0hHSU5fQ1RSTAlCSVQoNCkNCj4+ICsjZGVmaW5lIE1BWDc3NjU4X0JJVF9JTlRfU1lT X0NUUkwJQklUKDUpDQo+PiArI2RlZmluZSBNQVg3NzY1OF9CSVRfSU5UX1NZU19DTkZHCUJJVCg2 KQ0KPj4gKw0KPj4gKyNkZWZpbmUgTUFYNzc2NTY5X0JJVF9JTlRfU1lTX0NUUkwJQklUKDQpDQo+ PiArDQo+PiArZW51bSBtYXg3NzY1OF9pZHMgew0KPj4gKwlJRF9NQVg3NzY0MywNCj4+ICsJSURf TUFYNzc2NTQsDQo+PiArCUlEX01BWDc3NjU4LA0KPj4gKwlJRF9NQVg3NzY1OQ0KPj4gK307DQo+ PiArDQo+PiArc3RydWN0IGNoaXBfaW5mbyB7DQo+PiArCWVudW0gbWF4Nzc2NThfaWRzIGlkOw0K Pj4gKwlpbnQgbl9kZXZzOw0KPj4gKwljb25zdCBzdHJ1Y3QgbWZkX2NlbGwgKmRldnM7DQo+PiAr fTsNCj4+ICsNCj4+ICtzdHJ1Y3QgZGV2aWNlOw0KPj4gK3N0cnVjdCByZWdtYXA7DQo+PiArc3Ry dWN0IHJlZ21hcF9pcnFfY2hpcF9kYXRhOw0KPj4gKw0KPj4gK3N0cnVjdCBtYXg3NzY1OF9kZXYg ew0KPj4gKwlzdHJ1Y3QgZGV2aWNlICpkZXY7DQo+PiArCWNvbnN0IHN0cnVjdCBjaGlwX2luZm8g KmNoaXA7DQo+PiArDQo+PiArCWludCBpcnE7DQo+PiArCXN0cnVjdCByZWdtYXBfaXJxX2NoaXBf ZGF0YSAqaXJxY19nbGJsMDsNCj4+ICsJc3RydWN0IHJlZ21hcF9pcnFfY2hpcF9kYXRhICppcnFj X2dsYmwxOw0KPj4gKwlzdHJ1Y3QgcmVnbWFwX2lycV9jaGlwX2RhdGEgKmlycWNfY2hnOw0KPj4g Kw0KPj4gKwlzdHJ1Y3QgcmVnbWFwICpyZWdtYXA7DQo+PiArCXN0cnVjdCByZWdtYXAgKnJlZ21h cF9mZzsNCj4+ICt9Ow0KPj4gKw0KPj4gKyNlbmRpZiAvKiBfX01BWDc3NjU4X01GRF9IX18gKi8N Cj4+IC0tDQo+PiAyLjI1LjENCj4+DQo+DQo+LS0NCj5MZWUgSm9uZXMgW+adjueQvOaWr10NCg0K QmVzdCByZWdhcmRzLA0KWmV5bmVwDQo=