From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smarthost4.atos.net (smtppost.atos.net [193.56.114.177]) by sourceware.org (Postfix) with ESMTPS id 1F8673842428 for ; Tue, 16 Feb 2021 09:59:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 1F8673842428 X-IronPort-AV: E=Sophos;i="5.81,183,1610406000"; d="scan'208,223";a="169568514" X-MGA-submission: =?us-ascii?q?MDHYd80WlMBVAfggi1wcPi9/9jbuT8AgZZBoE8?= =?us-ascii?q?fmjLG9ZQZH6sLmSK2pE7K4g4FbT8dy+LsrR0NFXMcCDxxvwyNELszQPL?= =?us-ascii?q?bpu6YG/yYwMmyRUwfc2esh08hQPjaVE0GDT5gmE058zFiLbH4njO2Le7?= =?us-ascii?q?uN?= Received: from mail.sis.atos.net (HELO GITEXCPRDMB13.ww931.my-it-solutions.net) ([10.89.28.143]) by smarthost4.atos.net with ESMTP/TLS/AES256-GCM-SHA384; 16 Feb 2021 10:58:59 +0100 Received: from GITEXCPRDMB14.ww931.my-it-solutions.net (10.89.28.144) by GITEXCPRDMB13.ww931.my-it-solutions.net (10.89.28.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Tue, 16 Feb 2021 10:58:56 +0100 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (172.16.214.169) by GITEXCPRDMB14.ww931.my-it-solutions.net (10.89.28.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2 via Frontend Transport; Tue, 16 Feb 2021 10:58:56 +0100 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TJSe8/894E31J5xHmMyDdKosR3/PP32haBhm5kM0A5aBAmmFVor+gpZfRC4ZYBZeKlfme1fwuPDNRcWR5BCHqD2tfFM2S5w3V07e3fkhtKuE6HZJzEf2gk/lcqPPtnNMR/xXQVVU05tzcKDKIl41Kjffq77ZwpT51JjSaQVgTJNM5TIEb4ldD6UVHJQZt+TmnxV/ag3auzk3s6TT9HnL9eY+JXeW+baH+LpNQyxdhasJnRy6fojy4PxvVKp81Q7b06qS6yY1kqXh2DXLwGPPBgdbPEBrSVF8wNU7A4Lj0yM3LbCRBI69BRUf3uZVOSsEw4Dt/zMiDm5XyhCnOrTAHA== 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=cGMvAbvlokQBiuQqkblNzhjE+t0svbIbhYUj/FDhPD8=; b=AZGvGfj1XR9KCmG17ffGSTqDrRskUxi84Jm/35wkFWNxb3cxiGy7kUyI3U8YjUddzdK14pvNlapOAEH26FAVBtrfyEspezfk1vBClkta7bozp7iZGiOu1a4Ge+Otd2YTCMYUrtqtk9i/HWk1RYLNefsE2QczGahstT1gd3He45R/A1rjV+pluTPlz7Ub+JTGBIhKX5bM6MhFSYztB/IRjv2najpd1geB9XBGRLqQ/hND1XaejUKl5ErQXBj3fTRGM9Zg3xs6S6WJrvqOqmFDjhgwc9hGnLakfrXIfxBM27igFlOTG3pDwTyAyiNyzbv4kkCCKBe5X+iT76a3PfliXg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=atos.net; dmarc=pass action=none header.from=atos.net; dkim=pass header.d=atos.net; arc=none Received: from PA4PR02MB6686.eurprd02.prod.outlook.com (2603:10a6:102:ff::14) by PA4PR02MB6943.eurprd02.prod.outlook.com (2603:10a6:102:bd::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3846.29; Tue, 16 Feb 2021 09:58:55 +0000 Received: from PA4PR02MB6686.eurprd02.prod.outlook.com ([fe80::e187:6d8d:478b:5402]) by PA4PR02MB6686.eurprd02.prod.outlook.com ([fe80::e187:6d8d:478b:5402%4]) with mapi id 15.20.3846.043; Tue, 16 Feb 2021 09:58:55 +0000 From: "CHIGOT, CLEMENT" To: "binutils@sourceware.org" Subject: [PATCH 5/6] aix: implement R_TOCU and R_TOCL relocations Thread-Topic: [PATCH 5/6] aix: implement R_TOCU and R_TOCL relocations Thread-Index: AQHXBEpCnbvOAvJhTUWmU0k/TFYTsA== Date: Tue, 16 Feb 2021 09:58:55 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: MSIP_Label_e463cba9-5f6c-478d-9329-7b2295e4e8ed_Enabled=True; MSIP_Label_e463cba9-5f6c-478d-9329-7b2295e4e8ed_SiteId=33440fc6-b7c7-412c-bb73-0e70b0198d5a; MSIP_Label_e463cba9-5f6c-478d-9329-7b2295e4e8ed_SetDate=2021-02-16T09:58:54.844Z; MSIP_Label_e463cba9-5f6c-478d-9329-7b2295e4e8ed_Name=Atos For Internal Use - All Employees; MSIP_Label_e463cba9-5f6c-478d-9329-7b2295e4e8ed_ContentBits=0; MSIP_Label_e463cba9-5f6c-478d-9329-7b2295e4e8ed_Method=Standard; x-originating-ip: [165.225.77.51] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 194e0a7e-25c1-4fcc-3280-08d8d26178bf x-ms-traffictypediagnostic: PA4PR02MB6943: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:341; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: /t03qkaQwV3HFlGHYKDZxtRnoFq8xih+CIVZdH/3mADYPCQNe56pI7ZyzE6iYegkiN8zBwXpgN2HtRrKMttuocL1huJ7TXBaZ4HPyEhN1HLt0Q2PVhHkWV6kb8UaaaxWkcGjxzuXir5YwnRA/j9LpuPpXeF1CNGiQg5msiapMjGpsl131fjsHFShIsTKQGCn8pTMYgjte/c8krJZVuZQVCARRWNK4fai/tHNTWwlXMQz5fgWc7ErWRKxk6117vJQ4N7xyIqg48fvg60KlDksx/yq+xcJlQ3saFifgl/xpKEiNji4kzlcv9mxEphR0DNPhNTab/js7+2QYcem75c4eGHUoRVH09Z6LrGhwpFqoCmItGHw3nlBYu3cxmDbtGBKR0UeRebKBynIBOVN7ZlQ8jmR+0gRWBjImTpqDr8VzGN1XTHDLF7muOkdJOGpr3kuFNwBkKiUB9xsmsZISZ377od8wOncIDTh/Us/nQXPkwJTvu+qBU5aysDT2Bp29FgGTnAsUaiOQkqRyuh3JAR3YQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PA4PR02MB6686.eurprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(366004)(346002)(376002)(136003)(396003)(4326008)(2906002)(26005)(8676002)(55236004)(478600001)(76116006)(66446008)(66946007)(66616009)(66476007)(99936003)(186003)(66556008)(71200400001)(64756008)(86362001)(316002)(5660300002)(7696005)(9686003)(33656002)(6916009)(8936002)(6506007)(55016002)(52536014)(4001150100001)(66574015); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?iso-8859-1?Q?OZFW5wxkOB5ZoExCgyIcGYdViVwHmdBxhWNSSf0GqmQB7zVZrEm3+TUip/?= =?iso-8859-1?Q?rUXN8d1SoqggRepCnadeOkvdN1rSHwqU54ye+Xz1i7zFGzdyEyrhMEs+m+?= =?iso-8859-1?Q?AvvviEuYasTE757oWYdtQzNrXqbOVg1xZZd6hf+0ycInMtaKQCCkXca0Y2?= =?iso-8859-1?Q?KedGvi0WnWgJSjXxWFOW8dCagRlKdQohT8bhDX7k1xeSYt8f8WkrZpUbSC?= =?iso-8859-1?Q?ILXDguY2e18+mihjQILEeVNH9F8yJXHMkpD8PNY1iPMXeIjVX2gZKKiLP3?= =?iso-8859-1?Q?8Sf93P7hgNUF4BQqlA6OJxPJ/lHN9C9+fJFcRri1sy+b1TuQjOxDbLLwWY?= =?iso-8859-1?Q?d2dgbhdzYKixey4FvPeJ9RDy4XsQZgPVutUQ9IesPbun2M/hII9lNoTPZl?= =?iso-8859-1?Q?wvpNpYTINKom5mesQ0sYEZCUtKZA926RUl/aYWJ66azPnQs2MfqJtbvxfF?= =?iso-8859-1?Q?2W90lq/vjlFVWejByRLD7s72m7HZW/2qrJNAmckmt2//hgARAkCdz2iKWw?= =?iso-8859-1?Q?7X/jA0v6Hb2xWeijdlzt3t3/B0GTKlGYZUGvWmOgpgE1bLYROfnYHdOdKE?= =?iso-8859-1?Q?KXkPsKJN7Z0X2bPFVLsKuXIcTbxaDt1PN7z124iGl3E8fUa0bDVMl71YFc?= =?iso-8859-1?Q?lOiZZkpLr//76vDwqrhMcEjqL2l+5f17rbVBcvWIls3dXxVi0CXmO1gOAD?= =?iso-8859-1?Q?gug+M+2LoE8C6+K/8AYtHLx0DfigVMIIUVdJvr7plR+5RuU0/dN0AANtKT?= =?iso-8859-1?Q?xQQwm76bcvRDChOBn4apxFTnbUypP/vKCwb1EdhJO0dUrSFWoM/4Flmun5?= =?iso-8859-1?Q?+3mtDbfzBcm0uLzadcvhNCl4btR5m7fiIVqg6M42xKpHKtms8H9EwfdDRb?= =?iso-8859-1?Q?HvaVTz1zoS1xQ+ss78oNA7sI2Yt1oAFruCkETaWPBL1mdpCmZz0Q3F7dMR?= =?iso-8859-1?Q?poThAqayxZhpMDu5cEFlkgtHOgR5PAkzWmqRZi9u0syna0+JFzKniOG0mu?= =?iso-8859-1?Q?OIqQUJbECHMkrHmKaAXu0YtU1YmsbB/rEh3FPDrIhcpsrlVuxbaxvAyXhA?= =?iso-8859-1?Q?/lOc4KZtBw1qmASokm9MnE4w5JoGgjAoJNyCiCPp7flNsEbsIfBbh4jpEs?= =?iso-8859-1?Q?1xLphLDJbzzA58UOFsrNtKu1+/z1bLztATm4izgJFsLbNaJ7C0dIOlsb8n?= =?iso-8859-1?Q?Q06qt0ReK4uVzGleSnALSOdIM7CVOMJI8AIMNZFNCreuOQ+lQBpT7vuIAp?= =?iso-8859-1?Q?UknbMeKbdU4lJKtoto5mPhy9YcBnZb7ZgDy2uVERqn/6epDARgIrgNh1t7?= =?iso-8859-1?Q?MMc1+smNeuNr0arq/KSmVRDveBIpxgbIjpOuTl2HR3vj0f0=3D?= x-ms-exchange-transport-forked: True Content-Type: multipart/mixed; boundary="_002_PA4PR02MB6686035217709AC56A62B9F6EA879PA4PR02MB6686eurp_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PA4PR02MB6686.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 194e0a7e-25c1-4fcc-3280-08d8d26178bf X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Feb 2021 09:58:55.1336 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 33440fc6-b7c7-412c-bb73-0e70b0198d5a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: HUnvrqzHsJmgCBijNnHZnxmig+YDoHMYijlf0okHXwTB6mA1vby78lrw2yxVPhcZ15BcjbmOrIKE42ko9H5ncg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR02MB6943 X-OriginatorOrg: atos.net X-Spam-Status: No, score=1.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_ABUSEAT, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_SBL_CSS, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Level: * X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Feb 2021 09:59:26 -0000 --_002_PA4PR02MB6686035217709AC56A62B9F6EA879PA4PR02MB6686eurp_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Implement support for largetoc on XCOFF.=0A= R_TOCU and R_TOCL are referenced by the new BFD defines:=0A= BFD_RELOC_PPC_TOC16_HI and BFD_RELOC_PPC_TOC16_LO.=0A= A new toc storage class is added XMC_TE.=0A= =0A= In gas, add a function to transform addis format used by AIX=0A= "addis RT, D(RA)" into the ELF format "addis RT, RA, SI".=0A= =0A= bfd/ChangeLog:=0A= 2020-11-20 =A0Cl=E9ment Chigot =A0=0A= =0A= =A0 =A0 =A0 =A0 * bfd-in2.h (BFD_RELOC_PPC_TOC16_HI, BFD_RELOC_PPC_TOC16_LO= ):=0A= =A0 =A0 =A0 =A0 New defines=0A= =A0 =A0 =A0 =A0 * coff-rs6000.c (xcoff_calculate_relocation): Call=0A= =A0 =A0 =A0 =A0 xcoff_reloc_type_=A8toc for R_TOCU and R_TOCL.=0A= =A0 =A0 =A0 =A0 (xcoff_howto_table): Add R_TOCU and R_TOCL howtos.=0A= =A0 =A0 =A0 =A0 (_bfd_xcoff_reloc_type_lookup): Add cases for=0A= =A0 =A0 =A0 =A0 BFD_RELOC_PPC_TOC16_{HI, LO}.=0A= =A0 =A0 =A0 =A0 (xcoff_reloc_type_toc): Implement R_TOCU and R_TOCL.=0A= =A0 =A0 =A0 =A0 * coff64-rs6000.c (xcoff64_calculate_relocation): Call=0A= =A0 =A0 =A0 =A0 xcoff_reloc_type_toc for R_TOCU and R_TOCL.=0A= =A0 =A0 =A0 =A0 (xcoff64_howto_table): Add R_TOCU and R_TOCL howtos.=0A= =A0 =A0 =A0 =A0 (xcoff64_reloc_type_lookup): Add cases for=0A= =A0 =A0 =A0 =A0 BFD_RELOC_PPC_TOC16_{HI, LO}.=0A= =A0 =A0 =A0 =A0 (xcoff64_reloc_type_toc): Implement R_TOCU and R_TOCL.=0A= =A0 =A0 =A0 =A0 * libbfd.h (bfd_reloc_code_real_names): Add=0A= =A0 =A0 =A0 =A0 BFD_RELOC_PPC_TOC16_{HI, LO}.=0A= =0A= gas/ChangeLog:=0A= 2020-11-20 =A0Cl=E9ment Chigot =A0=0A= =0A= =A0 =A0 =A0 =A0 * config/tc-ppc.c (ppc_xcoff_suffix): New function.=0A= =A0 =A0 =A0 =A0 (MAP, MAP32, MAP64): New macros for XCOFF.=0A= =A0 =A0 =A0 =A0 (ppc_xcoff_fixup_addis): New function.=0A= =A0 =A0 =A0 =A0 (ppc_is_toc_sym): Handle XMC_TE.=0A= =A0 =A0 =A0 =A0 (fixup_size): Add cases for BFD_RELOC_PPC_TOC16_{HI,LO}.=0A= =A0 =A0 =A0 =A0 (md_assemble): Call ppc_xcoff_fixup_addis for XCOFF.=0A= =A0 =A0 =A0 =A0 (ppc_change_csect): Handle XMC_TE.=0A= =A0 =A0 =A0 =A0 (ppc_tc): Enable .tc symbols to have only a XMC_TC or XMC_T= E=0A= =A0 =A0 =A0 =A0 storage class.=0A= =A0 =A0 =A0 =A0 (ppc_symbol_new_hook): Handle XMC_TE.=0A= =A0 =A0 =A0 =A0 (ppc_frob_symbol): Likewise.=0A= =A0 =A0 =A0 =A0 (ppc_fix_adjustable): Likewise.=0A= =A0 =A0 =A0 =A0 (md_apply_fix): Handle BFD_RELOC_PPC_TOC16_{HI,LO}.=0A= =0A= ld/ChangeLog:=0A= 2020-11-20 =A0Cl=E9ment Chigot =A0=0A= =0A= =A0 =A0 =A0 =A0 * scripttempl/aix.sc: Add .te to .data section.=0A= =A0 =A0 =A0 =A0 * testsuite/ld-powerpc/aix52.exp: Add test structure for AI= X7+.=0A= =A0 =A0 =A0 =A0 Add aix-largetoc-1 test.=0A= =A0 =A0 =A0 =A0 * testsuite/ld-powerpc/aix-largetoc-1-32.d: New test.=0A= =A0 =A0 =A0 =A0 * testsuite/ld-powerpc/aix-largetoc-1-64.d: New test.=0A= =A0 =A0 =A0 =A0 * testsuite/ld-powerpc/aix-largetoc-1.ex: New test.=0A= =A0 =A0 =A0 =A0 * testsuite/ld-powerpc/aix-largetoc-1.s: New test.=0A= =0A= =0A= =0A= Cl=E9ment Chigot=0A= =0A= =0A= --_002_PA4PR02MB6686035217709AC56A62B9F6EA879PA4PR02MB6686eurp_ Content-Type: application/octet-stream; name="0005-aix-implement-R_TOCU-and-R_TOCL-relocations.patch" Content-Description: 0005-aix-implement-R_TOCU-and-R_TOCL-relocations.patch Content-Disposition: attachment; filename="0005-aix-implement-R_TOCU-and-R_TOCL-relocations.patch"; size=21030; creation-date="Tue, 16 Feb 2021 09:58:51 GMT"; modification-date="Tue, 16 Feb 2021 09:58:51 GMT" Content-Transfer-Encoding: base64 RnJvbSBmNWFkYTg3Y2VjODI2MTZjMTIyYTQzZmY3NTBlYjYxNzQ1N2YzYjBmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Q2w9QzM9QTltZW50PTIwQ2hpZ290Pz0gPGNs ZW1lbnQuY2hpZ290QGF0b3MubmV0PgpEYXRlOiBUdWUsIDE2IEZlYiAyMDIxIDEwOjQxOjU3ICsw MTAwClN1YmplY3Q6IFtQQVRDSCA1LzZdIGFpeDogaW1wbGVtZW50IFJfVE9DVSBhbmQgUl9UT0NM IHJlbG9jYXRpb25zCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsg Y2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpJbXBsZW1lbnQg c3VwcG9ydCBmb3IgbGFyZ2V0b2Mgb24gWENPRkYuClJfVE9DVSBhbmQgUl9UT0NMIGFyZSByZWZl cmVuY2VkIGJ5IHRoZSBuZXcgQkZEIGRlZmluZXM6CkJGRF9SRUxPQ19QUENfVE9DMTZfSEkgYW5k IEJGRF9SRUxPQ19QUENfVE9DMTZfTE8uCkEgbmV3IHRvYyBzdG9yYWdlIGNsYXNzIGlzIGFkZGVk IFhNQ19URS4KCkluIGdhcywgYWRkIGEgZnVuY3Rpb24gdG8gdHJhbnNmb3JtIGFkZGlzIGZvcm1h dCB1c2VkIGJ5IEFJWAoiYWRkaXMgUlQsIEQoUkEpIiBpbnRvIHRoZSBFTEYgZm9ybWF0ICJhZGRp cyBSVCwgUkEsIFNJIi4KCmJmZC9DaGFuZ2VMb2c6CjIwMjAtMTEtMjAgIENsw6ltZW50IENoaWdv dCAgPGNsZW1lbnQuY2hpZ290QGF0b3MubmV0PgoKICAgICAgICAqIGJmZC1pbjIuaCAoQkZEX1JF TE9DX1BQQ19UT0MxNl9ISSwgQkZEX1JFTE9DX1BQQ19UT0MxNl9MTyk6CiAgICAgICAgTmV3IGRl ZmluZXMKICAgICAgICAqIGNvZmYtcnM2MDAwLmMgKHhjb2ZmX2NhbGN1bGF0ZV9yZWxvY2F0aW9u KTogQ2FsbAogICAgICAgIHhjb2ZmX3JlbG9jX3R5cGVfwqh0b2MgZm9yIFJfVE9DVSBhbmQgUl9U T0NMLgogICAgICAgICh4Y29mZl9ob3d0b190YWJsZSk6IEFkZCBSX1RPQ1UgYW5kIFJfVE9DTCBo b3d0b3MuCiAgICAgICAgKF9iZmRfeGNvZmZfcmVsb2NfdHlwZV9sb29rdXApOiBBZGQgY2FzZXMg Zm9yCiAgICAgICAgQkZEX1JFTE9DX1BQQ19UT0MxNl97SEksIExPfS4KICAgICAgICAoeGNvZmZf cmVsb2NfdHlwZV90b2MpOiBJbXBsZW1lbnQgUl9UT0NVIGFuZCBSX1RPQ0wuCiAgICAgICAgKiBj b2ZmNjQtcnM2MDAwLmMgKHhjb2ZmNjRfY2FsY3VsYXRlX3JlbG9jYXRpb24pOiBDYWxsCiAgICAg ICAgeGNvZmZfcmVsb2NfdHlwZV90b2MgZm9yIFJfVE9DVSBhbmQgUl9UT0NMLgogICAgICAgICh4 Y29mZjY0X2hvd3RvX3RhYmxlKTogQWRkIFJfVE9DVSBhbmQgUl9UT0NMIGhvd3Rvcy4KICAgICAg ICAoeGNvZmY2NF9yZWxvY190eXBlX2xvb2t1cCk6IEFkZCBjYXNlcyBmb3IKICAgICAgICBCRkRf UkVMT0NfUFBDX1RPQzE2X3tISSwgTE99LgogICAgICAgICh4Y29mZjY0X3JlbG9jX3R5cGVfdG9j KTogSW1wbGVtZW50IFJfVE9DVSBhbmQgUl9UT0NMLgogICAgICAgICogbGliYmZkLmggKGJmZF9y ZWxvY19jb2RlX3JlYWxfbmFtZXMpOiBBZGQKICAgICAgICBCRkRfUkVMT0NfUFBDX1RPQzE2X3tI SSwgTE99LgoKZ2FzL0NoYW5nZUxvZzoKMjAyMC0xMS0yMCAgQ2zDqW1lbnQgQ2hpZ290ICA8Y2xl bWVudC5jaGlnb3RAYXRvcy5uZXQ+CgogICAgICAgICogY29uZmlnL3RjLXBwYy5jIChwcGNfeGNv ZmZfc3VmZml4KTogTmV3IGZ1bmN0aW9uLgogICAgICAgIChNQVAsIE1BUDMyLCBNQVA2NCk6IE5l dyBtYWNyb3MgZm9yIFhDT0ZGLgogICAgICAgIChwcGNfeGNvZmZfZml4dXBfYWRkaXMpOiBOZXcg ZnVuY3Rpb24uCiAgICAgICAgKHBwY19pc190b2Nfc3ltKTogSGFuZGxlIFhNQ19URS4KICAgICAg ICAoZml4dXBfc2l6ZSk6IEFkZCBjYXNlcyBmb3IgQkZEX1JFTE9DX1BQQ19UT0MxNl97SEksTE99 LgogICAgICAgIChtZF9hc3NlbWJsZSk6IENhbGwgcHBjX3hjb2ZmX2ZpeHVwX2FkZGlzIGZvciBY Q09GRi4KICAgICAgICAocHBjX2NoYW5nZV9jc2VjdCk6IEhhbmRsZSBYTUNfVEUuCiAgICAgICAg KHBwY190Yyk6IEVuYWJsZSAudGMgc3ltYm9scyB0byBoYXZlIG9ubHkgYSBYTUNfVEMgb3IgWE1D X1RFCiAgICAgICAgc3RvcmFnZSBjbGFzcy4KICAgICAgICAocHBjX3N5bWJvbF9uZXdfaG9vayk6 IEhhbmRsZSBYTUNfVEUuCiAgICAgICAgKHBwY19mcm9iX3N5bWJvbCk6IExpa2V3aXNlLgogICAg ICAgIChwcGNfZml4X2FkanVzdGFibGUpOiBMaWtld2lzZS4KICAgICAgICAobWRfYXBwbHlfZml4 KTogSGFuZGxlIEJGRF9SRUxPQ19QUENfVE9DMTZfe0hJLExPfS4KCmxkL0NoYW5nZUxvZzoKMjAy MC0xMS0yMCAgQ2zDqW1lbnQgQ2hpZ290ICA8Y2xlbWVudC5jaGlnb3RAYXRvcy5uZXQ+CgogICAg ICAgICogc2NyaXB0dGVtcGwvYWl4LnNjOiBBZGQgLnRlIHRvIC5kYXRhIHNlY3Rpb24uCiAgICAg ICAgKiB0ZXN0c3VpdGUvbGQtcG93ZXJwYy9haXg1Mi5leHA6IEFkZCB0ZXN0IHN0cnVjdHVyZSBm b3IgQUlYNysuCiAgICAgICAgQWRkIGFpeC1sYXJnZXRvYy0xIHRlc3QuCiAgICAgICAgKiB0ZXN0 c3VpdGUvbGQtcG93ZXJwYy9haXgtbGFyZ2V0b2MtMS0zMi5kOiBOZXcgdGVzdC4KICAgICAgICAq IHRlc3RzdWl0ZS9sZC1wb3dlcnBjL2FpeC1sYXJnZXRvYy0xLTY0LmQ6IE5ldyB0ZXN0LgogICAg ICAgICogdGVzdHN1aXRlL2xkLXBvd2VycGMvYWl4LWxhcmdldG9jLTEuZXg6IE5ldyB0ZXN0Lgog ICAgICAgICogdGVzdHN1aXRlL2xkLXBvd2VycGMvYWl4LWxhcmdldG9jLTEuczogTmV3IHRlc3Qu Ci0tLQogYmZkL2JmZC1pbjIuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiAr CiBiZmQvY29mZi1yczYwMDAuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDUyICsrKysr Ky0KIGJmZC9jb2ZmNjQtcnM2MDAwLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMzcgKysr Ky0KIGJmZC9saWJiZmQuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKwog Z2FzL2NvbmZpZy90Yy1wcGMuYyAgICAgICAgICAgICAgICAgICAgICAgICB8IDE0MiArKysrKysr KysrKysrKysrKystLQogbGQvc2NyaXB0dGVtcGwvYWl4LnNjICAgICAgICAgICAgICAgICAgICAg ICB8ICAgMSArCiBsZC90ZXN0c3VpdGUvbGQtcG93ZXJwYy9haXgtbGFyZ2V0b2MtMS0zMi5kIHwg IDIwICsrKwogbGQvdGVzdHN1aXRlL2xkLXBvd2VycGMvYWl4LWxhcmdldG9jLTEtNjQuZCB8ICAy MCArKysKIGxkL3Rlc3RzdWl0ZS9sZC1wb3dlcnBjL2FpeC1sYXJnZXRvYy0xLmV4ICAgfCAgIDEg KwogbGQvdGVzdHN1aXRlL2xkLXBvd2VycGMvYWl4LWxhcmdldG9jLTEucyAgICB8ICAyNSArKysr CiBsZC90ZXN0c3VpdGUvbGQtcG93ZXJwYy9haXg1Mi5leHAgICAgICAgICAgIHwgIDIxICsrKwog MTEgZmlsZXMgY2hhbmdlZCwgMzA0IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQogY3Jl YXRlIG1vZGUgMTAwNjQ0IGxkL3Rlc3RzdWl0ZS9sZC1wb3dlcnBjL2FpeC1sYXJnZXRvYy0xLTMy LmQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsZC90ZXN0c3VpdGUvbGQtcG93ZXJwYy9haXgtbGFyZ2V0 b2MtMS02NC5kCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGQvdGVzdHN1aXRlL2xkLXBvd2VycGMvYWl4 LWxhcmdldG9jLTEuZXgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsZC90ZXN0c3VpdGUvbGQtcG93ZXJw Yy9haXgtbGFyZ2V0b2MtMS5zCgpkaWZmIC0tZ2l0IGEvYmZkL2JmZC1pbjIuaCBiL2JmZC9iZmQt aW4yLmgKaW5kZXggZDE0MmJiNTIyMS4uMmIyYzJjMmIxNiAxMDA2NDQKLS0tIGEvYmZkL2JmZC1p bjIuaAorKysgYi9iZmQvYmZkLWluMi5oCkBAIC0yODk5LDYgKzI4OTksOCBAQCBpbnN0cnVjdGlv bi4gICovCiAgIEJGRF9SRUxPQ19QUENfQjI2LAogICBCRkRfUkVMT0NfUFBDX0JBMjYsCiAgIEJG RF9SRUxPQ19QUENfVE9DMTYsCisgIEJGRF9SRUxPQ19QUENfVE9DMTZfSEksCisgIEJGRF9SRUxP Q19QUENfVE9DMTZfTE8sCiAgIEJGRF9SRUxPQ19QUENfQjE2LAogICBCRkRfUkVMT0NfUFBDX0Ix Nl9CUlRBS0VOLAogICBCRkRfUkVMT0NfUFBDX0IxNl9CUk5UQUtFTiwKZGlmZiAtLWdpdCBhL2Jm ZC9jb2ZmLXJzNjAwMC5jIGIvYmZkL2NvZmYtcnM2MDAwLmMKaW5kZXggYWUyNzM4NzcyYi4uMjA5 NGY3ZjZhNCAxMDA2NDQKLS0tIGEvYmZkL2NvZmYtcnM2MDAwLmMKKysrIGIvYmZkL2NvZmYtcnM2 MDAwLmMKQEAgLTIwNiw4ICsyMDYsOCBAQCB4Y29mZl9jYWxjdWxhdGVfcmVsb2NhdGlvbltYQ09G Rl9NQVhfQ0FMQ1VMQVRFX1JFTE9DQVRJT05dID0KICAgeGNvZmZfcmVsb2NfdHlwZV9mYWlsLCAv KiAgICAgICAgICAgKDB4MmQpICovCiAgIHhjb2ZmX3JlbG9jX3R5cGVfZmFpbCwgLyogICAgICAg ICAgICgweDJlKSAqLwogICB4Y29mZl9yZWxvY190eXBlX2ZhaWwsIC8qICAgICAgICAgICAoMHgy ZikgKi8KLSAgeGNvZmZfcmVsb2NfdHlwZV9mYWlsLCAvKiBSX1RPQ1UgICAgKDB4MzApICovCi0g IHhjb2ZmX3JlbG9jX3R5cGVfZmFpbCwgLyogUl9UT0NMICAgICgweDMxKSAqLworICB4Y29mZl9y ZWxvY190eXBlX3RvYywgIC8qIFJfVE9DVSAgICAoMHgzMCkgKi8KKyAgeGNvZmZfcmVsb2NfdHlw ZV90b2MsICAvKiBSX1RPQ0wgICAgKDB4MzEpICovCiB9OwogCiB4Y29mZl9jb21wbGFpbl9mdW5j dGlvbiAqY29uc3QKQEAgLTEwOTMsMTAgKzEwOTMsMzQgQEAgcmVsb2NfaG93dG9fdHlwZSB4Y29m Zl9ob3d0b190YWJsZVtdID0KICAgRU1QVFlfSE9XVE8oMHgyZiksCiAKICAgLyogMHgzMDogSGln aC1vcmRlciAxNiBiaXQgVE9DIHJlbGF0aXZlIHJlbG9jYXRpb24uICAqLwotICBFTVBUWV9IT1dU TyAoUl9UT0NVKSwKKyAgSE9XVE8gKFJfVE9DVSwJCS8qIHR5cGUgKi8KKwkgMTYsCQkJLyogcmln aHRzaGlmdCAqLworCSAxLAkJCS8qIHNpemUgKDAgPSBieXRlLCAxID0gc2hvcnQsIDIgPSBsb25n KSAqLworCSAxNiwJCQkvKiBiaXRzaXplICovCisJIEZBTFNFLAkJCS8qIHBjX3JlbGF0aXZlICov CisJIDAsCQkJLyogYml0cG9zICovCisJIGNvbXBsYWluX292ZXJmbG93X2JpdGZpZWxkLCAvKiBj b21wbGFpbl9vbl9vdmVyZmxvdyAqLworCSAwLAkJCS8qIHNwZWNpYWxfZnVuY3Rpb24gKi8KKwkg IlJfVE9DVSIsCQkvKiBuYW1lICovCisJIFRSVUUsCQkJLyogcGFydGlhbF9pbnBsYWNlICovCisJ IDB4ZmZmZiwJCS8qIHNyY19tYXNrICovCisJIDB4ZmZmZiwJCS8qIGRzdF9tYXNrICovCisJIEZB TFNFKSwJCS8qIHBjcmVsX29mZnNldCAqLwogCiAgIC8qIDB4MzE6IExvdy1vcmRlciAxNiBiaXQg VE9DIHJlbGF0aXZlIHJlbG9jYXRpb24uICAqLwotICBFTVBUWV9IT1dUTyAoUl9UT0NMKSwKKyAg SE9XVE8gKFJfVE9DTCwJCS8qIHR5cGUgKi8KKwkgMCwJCQkvKiByaWdodHNoaWZ0ICovCisJIDEs CQkJLyogc2l6ZSAoMCA9IGJ5dGUsIDEgPSBzaG9ydCwgMiA9IGxvbmcpICovCisJIDE2LAkJCS8q IGJpdHNpemUgKi8KKwkgRkFMU0UsCQkJLyogcGNfcmVsYXRpdmUgKi8KKwkgMCwJCQkvKiBiaXRw b3MgKi8KKwkgY29tcGxhaW5fb3ZlcmZsb3dfZG9udCwgLyogY29tcGxhaW5fb25fb3ZlcmZsb3cg Ki8KKwkgMCwJCQkvKiBzcGVjaWFsX2Z1bmN0aW9uICovCisJICJSX1RPQ0wiLAkJLyogbmFtZSAq LworCSBUUlVFLAkJCS8qIHBhcnRpYWxfaW5wbGFjZSAqLworCSAweGZmZmYsCQkvKiBzcmNfbWFz ayAqLworCSAweGZmZmYsCQkvKiBkc3RfbWFzayAqLworCSBGQUxTRSksCQkvKiBwY3JlbF9vZmZz ZXQgKi8KIAogfTsKIApAQCAtMTE0NSw2ICsxMTY5LDEwIEBAIF9iZmRfeGNvZmZfcmVsb2NfdHlw ZV9sb29rdXAgKGJmZCAqYWJmZCBBVFRSSUJVVEVfVU5VU0VELAogICAgICAgcmV0dXJuICZ4Y29m Zl9ob3d0b190YWJsZVs4XTsKICAgICBjYXNlIEJGRF9SRUxPQ19QUENfVE9DMTY6CiAgICAgICBy ZXR1cm4gJnhjb2ZmX2hvd3RvX3RhYmxlWzNdOworICAgIGNhc2UgQkZEX1JFTE9DX1BQQ19UT0Mx Nl9ISToKKyAgICAgIHJldHVybiAmeGNvZmZfaG93dG9fdGFibGVbMHgzMF07CisgICAgY2FzZSBC RkRfUkVMT0NfUFBDX1RPQzE2X0xPOgorICAgICAgcmV0dXJuICZ4Y29mZl9ob3d0b190YWJsZVsw eDMxXTsKICAgICBjYXNlIEJGRF9SRUxPQ18xNjoKICAgICAgIC8qIE5vdGUgdGhhdCB0aGlzIHJl bG9jYXRpb24gaXMgb25seSBpbnRlcm5hbGx5IHVzZWQgYnkgZ2FzLiAgKi8KICAgICAgIHJldHVy biAmeGNvZmZfaG93dG9fdGFibGVbMHhjXTsKQEAgLTI5MzcsNiArMjk2NSwxMiBAQCB4Y29mZl9y ZWxvY190eXBlX3RvYyAoYmZkICppbnB1dF9iZmQsCiAKICAgKnJlbG9jYXRpb24gPSAoKHZhbCAt IHhjb2ZmX2RhdGEgKG91dHB1dF9iZmQpLT50b2MpCiAJCSAtIChzeW0tPm5fdmFsdWUgLSB4Y29m Zl9kYXRhIChpbnB1dF9iZmQpLT50b2MpKTsKKworICBpZiAocmVsLT5yX3R5cGUgPT0gUl9UT0NV KQorICAgICpyZWxvY2F0aW9uID0gKCpyZWxvY2F0aW9uICYgMHhmZmZmMDAwMCkgPj4gMTYgOwor ICBpZiAocmVsLT5yX3R5cGUgPT0gUl9UT0NMKQorICAgICpyZWxvY2F0aW9uID0gKnJlbG9jYXRp b24gJiAweDAwMDBmZmZmOworCiAgIHJldHVybiBUUlVFOwogfQogCkBAIC0zMjk2LDggKzMzMzAs NiBAQCB4Y29mZl9jb21wbGFpbl9vdmVyZmxvd191bnNpZ25lZF9mdW5jIChiZmQgKmlucHV0X2Jm ZCwKICAgIHF1aXRlIGZpZ3VyZSBvdXQgd2hlbiB0aGlzIGlzIHVzZWZ1bC4gIFRoZXNlIHJlbG9j cyBhcmUKICAgIG5vdCBkZWZpbmVkIGJ5IHRoZSBQb3dlck9wZW4gQUJJLgogCi0gICBSX1RPQ1UK LSAgIFJfVE9DTAogICAgUl9UTFMKICAgIFJfVExTX0lFCiAgICBSX1RMU19MRApAQCAtMzM5OSw2 ICszNDMxLDE0IEBAIHhjb2ZmX2NvbXBsYWluX292ZXJmbG93X3Vuc2lnbmVkX2Z1bmMgKGJmZCAq aW5wdXRfYmZkLAogICAgVGhlIFBvd2VyUEMgQUJJIGRlZmluZXMgdGhpcyBhcyBhbiBhYnNvbHV0 ZSBicmFuY2ggdG8gYQogICAgZml4ZWQgYWRkcmVzcyB3aGljaCBtYXkgYmUgbW9kaWZpZWQgdG8g YSByZWxhdGl2ZSBicmFuY2guCiAgICBUaGUgUG93ZXJPcGVuIEFCSSBkb2VzIG5vdCBkZWZpbmUg dGhpcyByZWxvY2F0aW9uIHR5cGUuCisKKyAgIFJfVE9DVToKKyAgIFVwcGVyIFRPQyByZWxhdGl2 ZSByZWxvY2F0aW9uLiBUaGUgdmFsdWUgaXMgdGhlCisgICBoaWdoLW9yZGVyIDE2IGJpdCBvZiBh IFRPQyByZWxhdGl2ZSByZWxvY2F0aW9uLgorCisgICBSX1RPQ0w6CisgICBMb3dlciBUT0MgcmVs YXRpdmUgcmVsb2NhdGlvbi4gVGhlIHZhbHVlIGlzIHRoZQorICAgbG93LW9yZGVyIDE2IGJpdCBv ZiBhIFRPQyByZWxhdGl2ZSByZWxvY2F0aW9uLgogKi8KIAogYmZkX2Jvb2xlYW4KZGlmZiAtLWdp dCBhL2JmZC9jb2ZmNjQtcnM2MDAwLmMgYi9iZmQvY29mZjY0LXJzNjAwMC5jCmluZGV4IDU1YmIx NDE2MjYuLjRmNzRjMzM5ZGUgMTAwNjQ0Ci0tLSBhL2JmZC9jb2ZmNjQtcnM2MDAwLmMKKysrIGIv YmZkL2NvZmY2NC1yczYwMDAuYwpAQCAtMjI4LDggKzIyOCw4IEBAIHhjb2ZmNjRfY2FsY3VsYXRl X3JlbG9jYXRpb25bWENPRkZfTUFYX0NBTENVTEFURV9SRUxPQ0FUSU9OXSA9CiAgIHhjb2ZmX3Jl bG9jX3R5cGVfZmFpbCwgLyogICAgICAgICAgICgweDJkKSAqLwogICB4Y29mZl9yZWxvY190eXBl X2ZhaWwsIC8qICAgICAgICAgICAoMHgyZSkgKi8KICAgeGNvZmZfcmVsb2NfdHlwZV9mYWlsLCAv KiAgICAgICAgICAgKDB4MmYpICovCi0gIHhjb2ZmX3JlbG9jX3R5cGVfZmFpbCwgLyogUl9UT0NV ICAgICgweDMwKSAqLwotICB4Y29mZl9yZWxvY190eXBlX2ZhaWwsIC8qIFJfVE9DTCAgICAoMHgz MSkgKi8KKyAgeGNvZmZfcmVsb2NfdHlwZV90b2MsIC8qIFJfVE9DVSAgICAoMHgzMCkgKi8KKyAg eGNvZmZfcmVsb2NfdHlwZV90b2MsIC8qIFJfVE9DTCAgICAoMHgzMSkgKi8KIH07CiAKIC8qIGNv ZmZjb2RlLmggbmVlZHMgdGhlc2UgdG8gYmUgZGVmaW5lZC4gICovCkBAIC0xMTU2LDExICsxMTU2 LDM0IEBAIHJlbG9jX2hvd3RvX3R5cGUgeGNvZmY2NF9ob3d0b190YWJsZVtdID0KICAgRU1QVFlf SE9XVE8oMHgyZSksCiAgIEVNUFRZX0hPV1RPKDB4MmYpLAogCi0gIC8qIDB4MzA6IEhpZ2gtb3Jk ZXIgMTYgYml0IFRPQyByZWxhdGl2ZSByZWxvY2F0aW9uLiAgKi8KLSAgRU1QVFlfSE9XVE8gKFJf VE9DVSksCisgIEhPV1RPIChSX1RPQ1UsCQkvKiB0eXBlICovCisJIDE2LAkJCS8qIHJpZ2h0c2hp ZnQgKi8KKwkgMSwJCQkvKiBzaXplICgwID0gYnl0ZSwgMSA9IHNob3J0LCAyID0gbG9uZykgKi8K KwkgMTYsCQkJLyogYml0c2l6ZSAqLworCSBGQUxTRSwJCQkvKiBwY19yZWxhdGl2ZSAqLworCSAw LAkJCS8qIGJpdHBvcyAqLworCSBjb21wbGFpbl9vdmVyZmxvd19iaXRmaWVsZCwgLyogY29tcGxh aW5fb25fb3ZlcmZsb3cgKi8KKwkgMCwJCQkvKiBzcGVjaWFsX2Z1bmN0aW9uICovCisJICJSX1RP Q1UiLAkJLyogbmFtZSAqLworCSBUUlVFLAkJCS8qIHBhcnRpYWxfaW5wbGFjZSAqLworCSAweGZm ZmYsCQkvKiBzcmNfbWFzayAqLworCSAweGZmZmYsCQkvKiBkc3RfbWFzayAqLworCSBGQUxTRSks CQkvKiBwY3JlbF9vZmZzZXQgKi8KIAogICAvKiAweDMxOiBMb3ctb3JkZXIgMTYgYml0IFRPQyBy ZWxhdGl2ZSByZWxvY2F0aW9uLiAgKi8KLSAgRU1QVFlfSE9XVE8gKFJfVE9DTCksCisgIEhPV1RP IChSX1RPQ0wsCQkvKiB0eXBlICovCisJIDAsCQkJLyogcmlnaHRzaGlmdCAqLworCSAxLAkJCS8q IHNpemUgKDAgPSBieXRlLCAxID0gc2hvcnQsIDIgPSBsb25nKSAqLworCSAxNiwJCQkvKiBiaXRz aXplICovCisJIEZBTFNFLAkJCS8qIHBjX3JlbGF0aXZlICovCisJIDAsCQkJLyogYml0cG9zICov CisJIGNvbXBsYWluX292ZXJmbG93X2RvbnQsIC8qIGNvbXBsYWluX29uX292ZXJmbG93ICovCisJ IDAsCQkJLyogc3BlY2lhbF9mdW5jdGlvbiAqLworCSAiUl9UT0NMIiwJCS8qIG5hbWUgKi8KKwkg VFJVRSwJCQkvKiBwYXJ0aWFsX2lucGxhY2UgKi8KKwkgMHhmZmZmLAkJLyogc3JjX21hc2sgKi8K KwkgMHhmZmZmLAkJLyogZHN0X21hc2sgKi8KKwkgRkFMU0UpLAkJLyogcGNyZWxfb2Zmc2V0ICov CiAKIH07CiAKQEAgLTEyMTUsNiArMTIzOCwxMCBAQCB4Y29mZjY0X3JlbG9jX3R5cGVfbG9va3Vw IChiZmQgKmFiZmQgQVRUUklCVVRFX1VOVVNFRCwKICAgICAgIHJldHVybiAmeGNvZmY2NF9ob3d0 b190YWJsZVs4XTsKICAgICBjYXNlIEJGRF9SRUxPQ19QUENfVE9DMTY6CiAgICAgICByZXR1cm4g Jnhjb2ZmNjRfaG93dG9fdGFibGVbM107CisgICAgY2FzZSBCRkRfUkVMT0NfUFBDX1RPQzE2X0hJ OgorICAgICAgcmV0dXJuICZ4Y29mZjY0X2hvd3RvX3RhYmxlWzB4MzBdOworICAgIGNhc2UgQkZE X1JFTE9DX1BQQ19UT0MxNl9MTzoKKyAgICAgIHJldHVybiAmeGNvZmY2NF9ob3d0b190YWJsZVsw eDMxXTsKICAgICBjYXNlIEJGRF9SRUxPQ18xNjoKICAgICAgIC8qIE5vdGUgdGhhdCB0aGlzIHJl bG9jYXRpb24gaXMgb25seSBpbnRlcm5hbGx5IHVzZWQgYnkgZ2FzLiAgKi8KICAgICAgIHJldHVy biAmeGNvZmY2NF9ob3d0b190YWJsZVsweGNdOwpkaWZmIC0tZ2l0IGEvYmZkL2xpYmJmZC5oIGIv YmZkL2xpYmJmZC5oCmluZGV4IDcyNzFhMmFkNWEuLjc5MWUyMzQwNTggMTAwNjQ0Ci0tLSBhL2Jm ZC9saWJiZmQuaAorKysgYi9iZmQvbGliYmZkLmgKQEAgLTE0NjAsNiArMTQ2MCw4IEBAIHN0YXRp YyBjb25zdCBjaGFyICpjb25zdCBiZmRfcmVsb2NfY29kZV9yZWFsX25hbWVzW10gPSB7ICJAQHVu aW5pdGlhbGl6ZWRAQCIsCiAgICJCRkRfUkVMT0NfUFBDX0IyNiIsCiAgICJCRkRfUkVMT0NfUFBD X0JBMjYiLAogICAiQkZEX1JFTE9DX1BQQ19UT0MxNiIsCisgICJCRkRfUkVMT0NfUFBDX1RPQzE2 X0hJIiwKKyAgIkJGRF9SRUxPQ19QUENfVE9DMTZfTE8iLAogICAiQkZEX1JFTE9DX1BQQ19CMTYi LAogICAiQkZEX1JFTE9DX1BQQ19CMTZfQlJUQUtFTiIsCiAgICJCRkRfUkVMT0NfUFBDX0IxNl9C Uk5UQUtFTiIsCmRpZmYgLS1naXQgYS9nYXMvY29uZmlnL3RjLXBwYy5jIGIvZ2FzL2NvbmZpZy90 Yy1wcGMuYwppbmRleCA5NTAwMGZkMjhhLi4yYmM0OTIzN2EyIDEwMDY0NAotLS0gYS9nYXMvY29u ZmlnL3RjLXBwYy5jCisrKyBiL2dhcy9jb25maWcvdGMtcHBjLmMKQEAgLTI2NDYsNiArMjY0Niw5 NSBAQCBwcGNfZWxmX2FkanVzdF9zeW10YWIgKHZvaWQpCiAgICAgfQogfQogI2VuZGlmIC8qIE9C Sl9FTEYgKi8KKworI2lmZGVmIE9CSl9YQ09GRgorLyogUGFyc2UgWENPRkYgcmVsb2NhdGlvbnMu ICAqLworc3RhdGljIGJmZF9yZWxvY19jb2RlX3JlYWxfdHlwZQorcHBjX3hjb2ZmX3N1ZmZpeCAo Y2hhciAqKnN0cl9wKQoreworICBzdHJ1Y3QgbWFwX2JmZCB7CisgICAgY29uc3QgY2hhciAqc3Ry aW5nOworICAgIHVuc2lnbmVkIGludCBsZW5ndGggOiA4OworICAgIHVuc2lnbmVkIGludCB2YWxp ZDMyIDogMTsKKyAgICB1bnNpZ25lZCBpbnQgdmFsaWQ2NCA6IDE7CisgICAgdW5zaWduZWQgaW50 IHJlbG9jOworICB9OworCisgIGNoYXIgaWRlbnRbMjBdOworICBjaGFyICpzdHIgPSAqc3RyX3A7 CisgIGNoYXIgKnN0cjI7CisgIGludCBjaDsKKyAgaW50IGxlbjsKKyAgY29uc3Qgc3RydWN0IG1h cF9iZmQgKnB0cjsKKworI2RlZmluZSBNQVAoc3RyLCByZWxvYykgICB7IHN0ciwgc2l6ZW9mIChz dHIpIC0gMSwgMSwgMSwgcmVsb2MgfQorI2RlZmluZSBNQVAzMihzdHIsIHJlbG9jKSB7IHN0ciwg c2l6ZW9mIChzdHIpIC0gMSwgMSwgMCwgcmVsb2MgfQorI2RlZmluZSBNQVA2NChzdHIsIHJlbG9j KSB7IHN0ciwgc2l6ZW9mIChzdHIpIC0gMSwgMCwgMSwgcmVsb2MgfQorCisgIHN0YXRpYyBjb25z dCBzdHJ1Y3QgbWFwX2JmZCBtYXBwaW5nW10gPSB7CisgICAgTUFQICgibCIsCQkJQkZEX1JFTE9D X1BQQ19UT0MxNl9MTyksCisgICAgTUFQICgidSIsCQkJQkZEX1JFTE9DX1BQQ19UT0MxNl9ISSks CisgIH07CisKKyAgaWYgKCpzdHIrKyAhPSAnQCcpCisgICAgcmV0dXJuIEJGRF9SRUxPQ19OT05F OworCisgIGZvciAoY2ggPSAqc3RyLCBzdHIyID0gaWRlbnQ7CisgICAgICAgKHN0cjIgPCBpZGVu dCArIHNpemVvZiAoaWRlbnQpIC0gMQorCSYmIChJU0FMTlVNIChjaCkgfHwgY2ggPT0gJ0AnKSk7 CisgICAgICAgY2ggPSAqKytzdHIpCisgICAgeworICAgICAgKnN0cjIrKyA9IFRPTE9XRVIgKGNo KTsKKyAgICB9CisKKyAgKnN0cjIgPSAnXDAnOworICBsZW4gPSBzdHIyIC0gaWRlbnQ7CisKKyAg Y2ggPSBpZGVudFswXTsKKyAgZm9yIChwdHIgPSAmbWFwcGluZ1swXTsgcHRyLT5sZW5ndGggPiAw OyBwdHIrKykKKyAgICBpZiAoY2ggPT0gcHRyLT5zdHJpbmdbMF0KKwkmJiBsZW4gPT0gcHRyLT5s ZW5ndGgKKwkmJiBtZW1jbXAgKGlkZW50LCBwdHItPnN0cmluZywgcHRyLT5sZW5ndGgpID09IDAK KwkmJiAocHBjX29iajY0ID8gcHRyLT52YWxpZDY0IDogcHRyLT52YWxpZDMyKSkKKyAgICAgIHsK Kwkqc3RyX3AgPSBzdHI7CisJcmV0dXJuIChiZmRfcmVsb2NfY29kZV9yZWFsX3R5cGUpIHB0ci0+ cmVsb2M7CisgICAgICB9CisKKyAgcmV0dXJuIEJGRF9SRUxPQ19OT05FOworfQorCisvKiBSZXN0 b3JlIFhDT0ZGIGFkZGlzIGluc3RydWN0aW9uIHRvIEVMRiBmb3JtYXQuCisgICBBSVggb2Z0ZW4g Z2VuZXJhdGVzIGFkZGlzIGluc3RydWN0aW9ucyB1c2luZyAiYWRkaXMgUlQsIEQoUkEpIgorICAg Zm9ybWF0IGluc3RlYWQgb2YgdGhlIEVMRiAiYWRkaXMgUlQsIFJBLCBTSSIgb25lLiAgKi8KK3N0 YXRpYyB2b2lkCitwcGNfeGNvZmZfZml4dXBfYWRkaXMgKGNoYXIgKipzdHJfcCkKK3sKKyAgY2hh ciogZF9lID0gc3RyY2hyICgqc3RyX3AsICcoJyk7CisgIGNoYXIgKnJ0X2UgPSBzdHJjaHIgKCpz dHJfcCwgJywnKTsKKyAgY2hhciAqcmFfZSA9IHN0cmNociAoKnN0cl9wLCAnKScpOworICBpbnQg cnRfc2l6ZSA9ICBydF9lIC0gKnN0cl9wOworICBpbnQgZF9zaXplID0gZF9lIC0gcnRfZSAtIDEg LyogJywnIGFmdGVyIFJUICovOworICBpbnQgcmFfc2l6ZSA9IHJhX2UgLSBkX2UgLSAxIC8qICco JyBhZnRlciBEICovOworCisgIGNoYXIgKnN0cjIgPSBtYWxsb2MgKHN0cmxlbiAoKnN0cl9wKSk7 CisKKyAgLyogY29weSBSVCAqLworICBtZW1jcHkgKHN0cjIsICpzdHJfcCwgcnRfc2l6ZSk7Cisg IHN0cjJbcnRfc2l6ZV0gPSAnLCc7CisKKyAgLyogY29weSBSQSAqLworICBtZW1jcHkgKHN0cjIg KyBydF9zaXplICsgMSwgZF9lICsgMSwgcmFfc2l6ZSk7CisgIHN0cjJbcnRfc2l6ZSArIHJhX3Np emUgKyAxXSA9ICcsJzsKKworICAvKiBjb3B5IEQgKi8KKyAgbWVtY3B5IChzdHIyICsgcnRfc2l6 ZSArIHJhX3NpemUgKyAyLCBydF9lICsgMSwgZF9zaXplKTsKKworICBzdHJjcHkgKCpzdHJfcCwg c3RyMik7CisgIGZyZWUgKHN0cjIpOworfQorCisjZW5kaWYgLyogT0JKX1hDT0ZGICovCiAMCiAj aWYgZGVmaW5lZCAoT0JKX1hDT0ZGKSB8fCBkZWZpbmVkIChPQkpfRUxGKQogLyogU2VlIHdoZXRo ZXIgYSBzeW1ib2wgaXMgaW4gdGhlIFRPQyBzZWN0aW9uLiAgKi8KQEAgLTI2NTUsNiArMjc0NCw3 IEBAIHBwY19pc190b2Nfc3ltIChzeW1ib2xTICpzeW0pCiB7CiAjaWZkZWYgT0JKX1hDT0ZGCiAg IHJldHVybiAoc3ltYm9sX2dldF90YyAoc3ltKS0+c3ltYm9sX2NsYXNzID09IFhNQ19UQworCSAg fHwgc3ltYm9sX2dldF90YyAoc3ltKS0+c3ltYm9sX2NsYXNzID09IFhNQ19URQogCSAgfHwgc3lt Ym9sX2dldF90YyAoc3ltKS0+c3ltYm9sX2NsYXNzID09IFhNQ19UQzApOwogI2VuZGlmCiAjaWZk ZWYgT0JKX0VMRgpAQCAtMjkyMCw2ICszMDEwLDggQEAgZml4dXBfc2l6ZSAoYmZkX3JlbG9jX2Nv ZGVfcmVhbF90eXBlIHJlbG9jLCBiZmRfYm9vbGVhbiAqcGNfcmVsYXRpdmUpCiAgICAgY2FzZSBC RkRfUkVMT0NfUFBDX0dPVF9UUFJFTDE2X0hJOgogICAgIGNhc2UgQkZEX1JFTE9DX1BQQ19HT1Rf VFBSRUwxNl9MTzoKICAgICBjYXNlIEJGRF9SRUxPQ19QUENfVE9DMTY6CisgICAgY2FzZSBCRkRf UkVMT0NfUFBDX1RPQzE2X0hJOgorICAgIGNhc2UgQkZEX1JFTE9DX1BQQ19UT0MxNl9MTzoKICAg ICBjYXNlIEJGRF9SRUxPQ19QUENfVFBSRUwxNjoKICAgICBjYXNlIEJGRF9SRUxPQ19QUENfVFBS RUwxNl9IQToKICAgICBjYXNlIEJGRF9SRUxPQ19QUENfVFBSRUwxNl9ISToKQEAgLTMxNjIsNiAr MzI1NCwxNSBAQCBtZF9hc3NlbWJsZSAoY2hhciAqc3RyKQogICB3aGlsZSAoSVNTUEFDRSAoKnN0 cikpCiAgICAgKytzdHI7CiAKKyNpZmRlZiBPQkpfWENPRkYKKyAgLyogQUlYIG9mdGVuIGdlbmVy YXRlcyBhZGRpcyBpbnN0cnVjdGlvbnMgdXNpbmcgImFkZGlzIFJULCBEKFJBKSIKKyAgICAgZm9y bWF0IGluc3RlYWQgb2YgdGhlIGNsYXNzaWMgImFkZGlzIFJULCBSQSwgU0kiIG9uZS4KKyAgICAg UmVzdG9yZSBpdCB0byB0aGUgZGVmYXVsdCBmb3JtYXQgYXMgaXQncyB0aGUgb25lIGVuY29kZWQK KyAgICAgaW4gcHBjIG9wY29kZXMuICAqLworICBpZiAoIXN0cmNtcCAob3Bjb2RlLT5uYW1lLCAi YWRkaXMiKSAmJiBzdHJjaHIgKHN0ciwgJygnKSAhPSBOVUxMKQorICAgIHBwY194Y29mZl9maXh1 cF9hZGRpcyAoJnN0cik7CisjZW5kaWYKKwogICAvKiBQb3dlclBDIG9wZXJhbmRzIGFyZSBqdXN0 IGV4cHJlc3Npb25zLiAgVGhlIG9ubHkgcmVhbCBpc3N1ZSBpcwogICAgICB0aGF0IGEgZmV3IG9w ZXJhbmQgdHlwZXMgYXJlIG9wdGlvbmFsLiAgSWYgYW4gaW5zdHJ1Y3Rpb24gaGFzCiAgICAgIG11 bHRpcGxlIG9wdGlvbmFsIG9wZXJhbmRzIGFuZCBvbmUgaXMgb21pdHRlZCwgdGhlbiBhbGwgb3B0 aW9uYWwKQEAgLTM1NTgsNiArMzY1OSw5IEBAIG1kX2Fzc2VtYmxlIChjaGFyICpzdHIpCiAJCX0K IAkgICAgfQogI2VuZGlmIC8qIE9CSl9FTEYgKi8KKyNpZmRlZiBPQkpfWENPRkYKKwkgIHJlbG9j ID0gcHBjX3hjb2ZmX3N1ZmZpeCAoJnN0cik7CisjZW5kaWYgLyogT0JKX1hDT0ZGICovCiAKIAkg IGlmIChyZWxvYyAhPSBCRkRfUkVMT0NfTk9ORSkKIAkgICAgOwpAQCAtNDMzNiw2ICs0NDQwLDcg QEAgcHBjX2NoYW5nZV9jc2VjdCAoc3ltYm9sUyAqc3ltLCBvZmZzZXRUIGFsaWduKQogCWNhc2Ug WE1DX1JXOgogCWNhc2UgWE1DX1RDMDoKIAljYXNlIFhNQ19UQzoKKwljYXNlIFhNQ19URToKIAlj YXNlIFhNQ19EUzoKIAljYXNlIFhNQ19VQToKIAljYXNlIFhNQ19CUzoKQEAgLTUzODMsNyArNTQ4 OCwyMSBAQCBwcGNfdGMgKGludCBpZ25vcmUgQVRUUklCVVRFX1VOVVNFRCkKICAgICBTX1NFVF9T RUdNRU5UIChzeW0sIG5vd19zZWcpOwogICAgIHN5bWJvbF9zZXRfZnJhZyAoc3ltLCBmcmFnX25v dyk7CiAgICAgU19TRVRfVkFMVUUgKHN5bSwgKHZhbHVlVCkgZnJhZ19ub3dfZml4ICgpKTsKLSAg ICBzeW1ib2xfZ2V0X3RjIChzeW0pLT5zeW1ib2xfY2xhc3MgPSBYTUNfVEM7CisKKyAgICAvKiBB SVggYXNzZW1ibGVyIHNlZW1zIHRvIGFsbG93IGFueSBzdG9yYWdlIGNsYXNzIHRvIGJlIHNldCBp biAudGMuCisgICAgICAgQnV0IGZvciBub3csIG9ubHkgWE1DX1RDIGFuZCBYTUNfVEUgYXJlIHN1 cHBvcnRlZCBieSB1cy4gICovCisgICAgc3dpdGNoIChzeW1ib2xfZ2V0X3RjIChzeW0pLT5zeW1i b2xfY2xhc3MpCisgICAgICB7CisgICAgICBjYXNlIFhNQ19UQzoKKyAgICAgIGNhc2UgWE1DX1RF OgorCWJyZWFrOworCisgICAgICBkZWZhdWx0OgorCWFzX2JhZCAoXygiLnRjIHdpdGggc3RvcmFn ZSBjbGFzcyAlZCBub3QgeWV0IHN1cHBvcnRlZCIpLAorCQlzeW1ib2xfZ2V0X3RjIChzeW0pLT5z eW1ib2xfY2xhc3MpOworCWlnbm9yZV9yZXN0X29mX2xpbmUgKCk7CisJcmV0dXJuOworICAgICAg fQogICAgIHN5bWJvbF9nZXRfdGMgKHN5bSktPm91dHB1dCA9IDE7CiAKICAgICBwcGNfZnJvYl9s YWJlbCAoc3ltKTsKQEAgLTU1ODUsNiArNTcwNCw4IEBAIHBwY19zeW1ib2xfbmV3X2hvb2sgKHN5 bWJvbFMgKnN5bSkKIAl0Yy0+c3ltYm9sX2NsYXNzID0gWE1DX1RCOwogICAgICAgZWxzZSBpZiAo c3RyY21wIChzLCAiVEMwXSIpID09IDAgfHwgc3RyY21wIChzLCAiVDBdIikgPT0gMCkKIAl0Yy0+ c3ltYm9sX2NsYXNzID0gWE1DX1RDMDsKKyAgICAgIGVsc2UgaWYgKHN0cmNtcCAocywgIlRFXSIp ID09IDApCisJdGMtPnN5bWJvbF9jbGFzcyA9IFhNQ19URTsKICAgICAgIGJyZWFrOwogICAgIGNh c2UgJ1UnOgogICAgICAgaWYgKHN0cmNtcCAocywgIlVBXSIpID09IDApCkBAIC01NzU3LDcgKzU4 NzgsNyBAQCBwcGNfZnJvYl9zeW1ib2wgKHN5bWJvbFMgKnN5bSkKIAkgIGEtPnhfY3NlY3QueF9z Y25sZW4ubCA9IDA7CiAJICBhLT54X2NzZWN0Lnhfc210eXAgPSBYVFlfRVI7CiAJfQotICAgICAg ZWxzZSBpZiAoc3ltYm9sX2dldF90YyAoc3ltKS0+c3ltYm9sX2NsYXNzID09IFhNQ19UQykKKyAg ICAgIGVsc2UgaWYgKHBwY19pc190b2Nfc3ltIChzeW0pKQogCXsKIAkgIHN5bWJvbFMgKm5leHQ7 CiAKQEAgLTU3NjcsNyArNTg4OCw3IEBAIHBwY19mcm9iX3N5bWJvbCAoc3ltYm9sUyAqc3ltKQog CSAgd2hpbGUgKHN5bWJvbF9nZXRfdGMgKG5leHQpLT5zeW1ib2xfY2xhc3MgPT0gWE1DX1RDMCkK IAkgICAgbmV4dCA9IHN5bWJvbF9uZXh0IChuZXh0KTsKIAkgIGlmIChuZXh0ID09IChzeW1ib2xT ICopIE5VTEwKLQkgICAgICB8fCBzeW1ib2xfZ2V0X3RjIChuZXh0KS0+c3ltYm9sX2NsYXNzICE9 IFhNQ19UQykKKwkgICAgICB8fCAoIXBwY19pc190b2Nfc3ltIChuZXh0KSkpCiAJICAgIHsKIAkg ICAgICBpZiAocHBjX2FmdGVyX3RvY19mcmFnID09IChmcmFnUyAqKSBOVUxMKQogCQlhLT54X2Nz ZWN0Lnhfc2NubGVuLmwgPSAoYmZkX3NlY3Rpb25fc2l6ZSAoZGF0YV9zZWN0aW9uKQpAQCAtNjA1 Myw3ICs2MTc0LDggQEAgcHBjX2ZpeF9hZGp1c3RhYmxlIChmaXhTICpmaXgpCiAKIAkgIGlmIChz eV90Yy0+c3ltYm9sX2NsYXNzID09IFhNQ19UQzApCiAJICAgIGNvbnRpbnVlOwotCSAgaWYgKHN5 X3RjLT5zeW1ib2xfY2xhc3MgIT0gWE1DX1RDKQorCSAgaWYgKHN5X3RjLT5zeW1ib2xfY2xhc3Mg IT0gWE1DX1RDCisJICAgICAgJiYgc3lfdGMtPnN5bWJvbF9jbGFzcyAhPSBYTUNfVEUpCiAJICAg IGJyZWFrOwogCSAgaWYgKHZhbCA9PSByZXNvbHZlX3N5bWJvbF92YWx1ZSAoc3kpKQogCSAgICB7 CkBAIC02MDcyLDYgKzYxOTQsNyBAQCBwcGNfZml4X2FkanVzdGFibGUgKGZpeFMgKmZpeCkKICAg aWYgKHRjLT5zdWJzZWcgPT0gMAogICAgICAgJiYgdGMtPnN5bWJvbF9jbGFzcyAhPSBYTUNfVEMw CiAgICAgICAmJiB0Yy0+c3ltYm9sX2NsYXNzICE9IFhNQ19UQworICAgICAgJiYgdGMtPnN5bWJv bF9jbGFzcyAhPSBYTUNfVEUKICAgICAgICYmIHN5bXNlZyAhPSBic3Nfc2VjdGlvbgogICAgICAg LyogRG9uJ3QgYWRqdXN0IGlmIHRoaXMgaXMgYSByZWxvYyBpbiB0aGUgdG9jIHNlY3Rpb24uICAq LwogICAgICAgJiYgKHN5bXNlZyAhPSBkYXRhX3NlY3Rpb24KQEAgLTY1MTYsOCArNjYzOSw3IEBA IG1kX2FwcGx5X2ZpeCAoZml4UyAqZml4UCwgdmFsdWVUICp2YWxQLCBzZWdUIHNlZykKIAkgICYm IChvcGVyYW5kLT5pbnNlcnQgPT0gTlVMTCB8fCBwcGNfb2JqNjQpCiAJICAmJiBmaXhQLT5meF9h ZGRzeSAhPSBOVUxMCiAJICAmJiBzeW1ib2xfZ2V0X3RjIChmaXhQLT5meF9hZGRzeSktPnN1YnNl ZyAhPSAwCi0JICAmJiBzeW1ib2xfZ2V0X3RjIChmaXhQLT5meF9hZGRzeSktPnN5bWJvbF9jbGFz cyAhPSBYTUNfVEMKLQkgICYmIHN5bWJvbF9nZXRfdGMgKGZpeFAtPmZ4X2FkZHN5KS0+c3ltYm9s X2NsYXNzICE9IFhNQ19UQzAKKwkgICYmICFwcGNfaXNfdG9jX3N5bSAoZml4UC0+ZnhfYWRkc3kp CiAJICAmJiBTX0dFVF9TRUdNRU5UIChmaXhQLT5meF9hZGRzeSkgIT0gYnNzX3NlY3Rpb24pCiAJ ewogCSAgdmFsdWUgPSBmaXhQLT5meF9vZmZzZXQ7CkBAIC02NTMxLDcgKzY2NTMsNyBAQCBtZF9h cHBseV9maXggKGZpeFMgKmZpeFAsIHZhbHVlVCAqdmFsUCwgc2VnVCBzZWcpCiAgICAgICAgaWYg KGZpeFAtPmZ4X3JfdHlwZSA9PSBCRkRfUkVMT0NfMTYKICAgICAgICAgICAgJiYgZml4UC0+Znhf YWRkc3kgIT0gTlVMTAogICAgICAgICAgICAmJiBwcGNfaXNfdG9jX3N5bSAoZml4UC0+ZnhfYWRk c3kpKQotICAgICAgICAgZml4UC0+Znhfcl90eXBlID0gQkZEX1JFTE9DX1BQQ19UT0MxNjsKKwkg Zml4UC0+Znhfcl90eXBlID0gQkZEX1JFTE9DX1BQQ19UT0MxNjsKICNlbmRpZgogICAgIH0KIApA QCAtNjk4NCw2ICs3MTA2LDggQEAgbWRfYXBwbHlfZml4IChmaXhTICpmaXhQLCB2YWx1ZVQgKnZh bFAsIHNlZ1Qgc2VnKQogCWNhc2UgQkZEX1JFTE9DX1BQQ19FTUJfUkVMU0RBOgogCWNhc2UgQkZE X1JFTE9DX1BQQzY0X1RPQzoKIAljYXNlIEJGRF9SRUxPQ19QUENfVE9DMTY6CisJY2FzZSBCRkRf UkVMT0NfUFBDX1RPQzE2X0xPOgorCWNhc2UgQkZEX1JFTE9DX1BQQ19UT0MxNl9ISToKIAljYXNl IEJGRF9SRUxPQ19QUEM2NF9UT0MxNl9MTzoKIAljYXNlIEJGRF9SRUxPQ19QUEM2NF9UT0MxNl9I SToKIAljYXNlIEJGRF9SRUxPQ19QUEM2NF9UT0MxNl9IQToKQEAgLTcwNjEsNyArNzE4NSw5IEBA IG1kX2FwcGx5X2ZpeCAoZml4UyAqZml4UCwgdmFsdWVUICp2YWxQLCBzZWdUIHNlZykKIAlzeW1i b2xfZ2V0X2JmZHN5bSAoZml4UC0+ZnhfYWRkc3kpLT5mbGFncyB8PSBCU0ZfS0VFUDsKICAgICB9 CiAjZWxzZQotICBpZiAoZml4UC0+Znhfcl90eXBlICE9IEJGRF9SRUxPQ19QUENfVE9DMTYpCisg IGlmIChmaXhQLT5meF9yX3R5cGUgIT0gQkZEX1JFTE9DX1BQQ19UT0MxNgorICAgICAgJiYgZml4 UC0+Znhfcl90eXBlICE9IEJGRF9SRUxPQ19QUENfVE9DMTZfSEkKKyAgICAgICYmIGZpeFAtPmZ4 X3JfdHlwZSAhPSBCRkRfUkVMT0NfUFBDX1RPQzE2X0xPKQogICAgIGZpeFAtPmZ4X2FkZG51bWJl ciA9IDA7CiAgIGVsc2UKICAgICB7CmRpZmYgLS1naXQgYS9sZC9zY3JpcHR0ZW1wbC9haXguc2Mg Yi9sZC9zY3JpcHR0ZW1wbC9haXguc2MKaW5kZXggYWJmMTVmY2IxMy4uYWExMjlkOThmYiAxMDA2 NDQKLS0tIGEvbGQvc2NyaXB0dGVtcGwvYWl4LnNjCisrKyBiL2xkL3NjcmlwdHRlbXBsL2FpeC5z YwpAQCAtNTIsNiArNTIsNyBAQCBTRUNUSU9OUwogICAgICooLnRjMCkKICAgICAqKC50YykKICAg ICAqKC50ZCkKKyAgICAqKC50ZSkKICAgICAke1JFTE9DQVRJTkcrUFJPVklERSAoX2VkYXRhID0g Lik7fQogICB9CiAgIC5ic3MgOiB7CmRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtcG93ZXJw Yy9haXgtbGFyZ2V0b2MtMS0zMi5kIGIvbGQvdGVzdHN1aXRlL2xkLXBvd2VycGMvYWl4LWxhcmdl dG9jLTEtMzIuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi44YWIyZTc3 Y2JkCi0tLSAvZGV2L251bGwKKysrIGIvbGQvdGVzdHN1aXRlL2xkLXBvd2VycGMvYWl4LWxhcmdl dG9jLTEtMzIuZApAQCAtMCwwICsxLDIwIEBACisjc291cmNlOiBhaXgtbGFyZ2V0b2MtMS5zCisj YXM6IC1hMzIKKyNsZDogLWIzMiAtc2hhcmVkIC1iRTphaXgtbGFyZ2V0b2MtMS5leAorI29iamR1 bXA6IC1kcgorI3RhcmdldDogcG93ZXJwYyotKi1haXgqCisKKy4qCisKK0Rpc2Fzc2VtYmx5IG9m IHNlY3Rpb24gXC50ZXh0OgorCisuKiA8XC5mb28+OgorLio6CTNkIDIyIDAwIDAwIAljYXUgICAg IHI5LHIyLDAKKy4qOiBSX1RPQ1UJYS0uKgorLio6CTM5IDI5IDAwIDAwIAljYWwgICAgIHI5LDBc KHI5XCkKKy4qOiBSX1RPQ0wJYS0uKgorLio6CTNkIDIyIDAwIDAwIAljYXUgICAgIHI5LHIyLDAK Ky4qOiBSX1RPQ1UJYi0uKgorLio6CTM5IDI5IDAwIDA0IAljYWwgICAgIHI5LDRcKHI5XCkKKy4q OiBSX1RPQ0wJYi0uKgorIy4uLgpkaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLXBvd2VycGMv YWl4LWxhcmdldG9jLTEtNjQuZCBiL2xkL3Rlc3RzdWl0ZS9sZC1wb3dlcnBjL2FpeC1sYXJnZXRv Yy0xLTY0LmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMjQ3NDExYTQ2 YgotLS0gL2Rldi9udWxsCisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC1wb3dlcnBjL2FpeC1sYXJnZXRv Yy0xLTY0LmQKQEAgLTAsMCArMSwyMCBAQAorI3NvdXJjZTogYWl4LWxhcmdldG9jLTEucworI2Fz OiAtYTY0CisjbGQ6IC1iNjQgLXNoYXJlZCAtYkU6YWl4LWxhcmdldG9jLTEuZXgKKyNvYmpkdW1w OiAtZHIKKyN0YXJnZXQ6IHBvd2VycGMqLSotYWl4KgorCisuKgorCitEaXNhc3NlbWJseSBvZiBz ZWN0aW9uIFwudGV4dDoKKworLiogPFwuZm9vPjoKKy4qOgkzZCAyMiAwMCAwMCAJYWRkaXMgICBy OSxyMiwwCisuKjogUl9UT0NVCWEtLioKKy4qOgkzOSAyOSAwMCAwMCAJYWRkaSAgICByOSxyOSww CisuKjogUl9UT0NMCWEtLioKKy4qOgkzZCAyMiAwMCAwMCAJYWRkaXMgICByOSxyMiwwCisuKjog Ul9UT0NVCWItLioKKy4qOgkzOSAyOSAwMCAwOCAJYWRkaSAgICByOSxyOSw4CisuKjogUl9UT0NM CWItLioKKyMuLi4KZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1wb3dlcnBjL2FpeC1sYXJn ZXRvYy0xLmV4IGIvbGQvdGVzdHN1aXRlL2xkLXBvd2VycGMvYWl4LWxhcmdldG9jLTEuZXgKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMjU3Y2M1NjQyYwotLS0gL2Rldi9u dWxsCisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC1wb3dlcnBjL2FpeC1sYXJnZXRvYy0xLmV4CkBAIC0w LDAgKzEgQEAKK2ZvbwpkaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLXBvd2VycGMvYWl4LWxh cmdldG9jLTEucyBiL2xkL3Rlc3RzdWl0ZS9sZC1wb3dlcnBjL2FpeC1sYXJnZXRvYy0xLnMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMjc4MzkwMzAwYwotLS0gL2Rldi9u dWxsCisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC1wb3dlcnBjL2FpeC1sYXJnZXRvYy0xLnMKQEAgLTAs MCArMSwyNSBAQAorCS5nbG9ibCBhCisJLmNzZWN0IC5kYXRhW1JXXQorYToKKwkubG9uZwkxCisJ LnRvYworCS50YyBhW1RFXSxhCisJLnRjIGJbVEVdLGEKKworCS5nbG9ibCBmb28KKwkuZ2xvYmwg LmZvbworCS5jc2VjdCBmb29bRFNdLDMKK2ZvbzoKKwkuaWYgc2l6ZSA9PSAzMgorCS5sb25nIC5m b28sIFRPQ1t0YzBdLCAwCisJLmVsc2UKKwkubGxvbmcgLmZvbywgVE9DW3RjMF0sIDAKKwkuZW5k aWYKKworCS5jc2VjdCAudGV4dFtQUl0KKy5mb286CisJYWRkaXMgOSxhW1RFXUB1KDIpCisJbGEg OSxhW1RFXUBsKDkpCisKKwlhZGRpcyA5LGJbVEVdQHUoMikKKwlsYSA5LGJbVEVdQGwoOSkKZGlm ZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1wb3dlcnBjL2FpeDUyLmV4cCBiL2xkL3Rlc3RzdWl0 ZS9sZC1wb3dlcnBjL2FpeDUyLmV4cAppbmRleCBkNWU4YjJmOGFmLi5hY2UwMDZkYWM2IDEwMDY0 NAotLS0gYS9sZC90ZXN0c3VpdGUvbGQtcG93ZXJwYy9haXg1Mi5leHAKKysrIGIvbGQvdGVzdHN1 aXRlL2xkLXBvd2VycGMvYWl4NTIuZXhwCkBAIC0yNjYsMyArMjY2LDI0IEBAIHJ1bl9kdW1wX3Rl c3QgImFpeC1nbGluay0zLTMyIgogcnVuX2R1bXBfdGVzdCAiYWl4LWdsaW5rLTMtNjQiCiBydW5f ZHVtcF90ZXN0ICJhaXgtd2Vhay0zLTMyIgogcnVuX2R1bXBfdGVzdCAiYWl4LXdlYWstMy02NCIK KworCisjIFRlc3RzIGFkZGVkIGZvciBmZWF0dXJlcyBpbiBBSVggNysuCisKK2lmIHsgIVtpc3Rh cmdldCAiKi0qLWFpeFxbNy05XF0qIl0gfSB7CisgICAgcmV0dXJuCit9CisKK3NldCBhaXg3dGVz dHMgeworICAgIHsiTGFyZ2UgVE9DIHRlc3QgMSIgIi1zaGFyZWQgLWJFOmFpeC1sYXJnZXRvYy0x LmV4IgorCSIiIHthaXgtbGFyZ2V0b2MtMS5zfQorCXt7b2JqZHVtcCAtZHIgYWl4LWxhcmdldG9j LTEtU0laRS5kfX0KKwkiYWl4LWxhcmdldG9jLTEuc28ifQorfQorCitmb3JlYWNoIHRlc3QgJGFp eDd0ZXN0cyB7CisgICAgZm9yZWFjaCB7IG5hbWUgbGRvcHRzIGFzb3B0cyBzb3VyY2VzIHRvb2xz IG91dHB1dCB9ICR0ZXN0IHsKKwlydW5fYWl4X3Rlc3QgMzIgJG5hbWUgJGxkb3B0cyAkYXNvcHRz ICRzb3VyY2VzICR0b29scyAkb3V0cHV0CisJcnVuX2FpeF90ZXN0IDY0ICRuYW1lICRsZG9wdHMg JGFzb3B0cyAkc291cmNlcyAkdG9vbHMgJG91dHB1dAorICAgIH0KK30KLS0gCjIuMjUuMQoK --_002_PA4PR02MB6686035217709AC56A62B9F6EA879PA4PR02MB6686eurp_--