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.84]) by mx.groups.io with SMTP id smtpd.web11.14399.1596184047419969548 for ; Fri, 31 Jul 2020 01:27:29 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=Jx0pOI1o; spf=pass (domain: arm.com, ip: 40.107.21.84, mailfrom: ard.biesheuvel@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=DvCslqv+RzVKSvZlUTo+SgocD/4DT4z/9uk5q0azcRk=; b=Jx0pOI1oPRzgw4oS46OtlmXeoiydrqhJmAW5wwEPGsY1n8MMvkM1qxGh7iCErwg2L6nVqCsgeiHUr+UVCOdTpNwhDHN+3XGfSLLh7CfNUYqsS2ICuTT6HI84U34iEWRNIk3BkH6P+05YdBkR4sPmEV7c3HGRvZ7SeqWnEVGDVdY= Received: from DB6PR0802CA0048.eurprd08.prod.outlook.com (2603:10a6:4:a3::34) by AM4PR08MB2897.eurprd08.prod.outlook.com (2603:10a6:205:a::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.17; Fri, 31 Jul 2020 08:27:20 +0000 Received: from DB5EUR03FT059.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:a3:cafe::3) by DB6PR0802CA0048.outlook.office365.com (2603:10a6:4:a3::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.17 via Frontend Transport; Fri, 31 Jul 2020 08:27:20 +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=bestguesspass 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 DB5EUR03FT059.mail.protection.outlook.com (10.152.21.175) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.17 via Frontend Transport; Fri, 31 Jul 2020 08:27:20 +0000 Received: ("Tessian outbound c4059ed8d7bf:v62"); Fri, 31 Jul 2020 08:27:20 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 802a69156fad5448 X-CR-MTA-TID: 64aa7808 Received: from e56900e5550f.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 80843EA7-FD99-4326-89BD-832A60706C84.1; Fri, 31 Jul 2020 08:27:13 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e56900e5550f.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 31 Jul 2020 08:27:13 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MhlTWhYNPttCfX0kFKBH5B/98ekafHVgyg3YXDGwrmsHVgVyDyTU74CqMpPmyHtLYGIp7rJOjN/mU8BSlhrFCcajy2SeHgIjyHYJ4co8wT/Qc+5cM68Lv5vJejci15dDku7STm7wDJUselxX68h0aQrMUZtO44LJ8/fZ7ixzET3ZSg2Ku6f4AQ1mOmkuICV5EZPtPEp7I5UPbETPIwfgWf5M8AsEc7K+7hSedu7KtLPjyCx33a4rj60uj0jFu1jh8+BC1zHTIXTk/EZw8tM+2SmF4n/AHfrR/jaRqv7X3J0RbPn1PG9jU8vWK2Ek8YTYEKHRM7aG043M3UkOQ+Y5oA== 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=DvCslqv+RzVKSvZlUTo+SgocD/4DT4z/9uk5q0azcRk=; b=N0ybvsljcCzoP7G2hSTfGNDXdaRvm8jSoV3JJqRdvgQ7TnN4dHbEXboXaPjPIvs66P2PbnP8e/1AshjOSX27+VjARGtPitloMAAsFyVTeQ8eY9hCxcF83QaAvBmnjkZLgACHZcTeQiULdq7f80lVCFjmFkn1PUIp8CvKK0e4rgSucJSA7z8raqOcoKikC8+vJdKeLDGBEnciBo1G8G/K6+HtMiR5oTV6IAvBFHwDVjjrLvz7hbFkuudAQJqqe3C7LdHZd0VZ+dMxYAShyPN6nWTE5G3XgTJz6F+DZG6dpKxUCPz9N9zbtu1eTub3DLY6T02MBIeJVjYa57jOARhm4Q== 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=DvCslqv+RzVKSvZlUTo+SgocD/4DT4z/9uk5q0azcRk=; b=Jx0pOI1oPRzgw4oS46OtlmXeoiydrqhJmAW5wwEPGsY1n8MMvkM1qxGh7iCErwg2L6nVqCsgeiHUr+UVCOdTpNwhDHN+3XGfSLLh7CfNUYqsS2ICuTT6HI84U34iEWRNIk3BkH6P+05YdBkR4sPmEV7c3HGRvZ7SeqWnEVGDVdY= Received: from DB7PR08MB3772.eurprd08.prod.outlook.com (2603:10a6:10:73::15) by DBBPR08MB4427.eurprd08.prod.outlook.com (2603:10a6:10:c2::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3216.24; Fri, 31 Jul 2020 08:27:10 +0000 Received: from DB7PR08MB3772.eurprd08.prod.outlook.com ([fe80::408d:c8a4:c8ab:89fd]) by DB7PR08MB3772.eurprd08.prod.outlook.com ([fe80::408d:c8a4:c8ab:89fd%4]) with mapi id 15.20.3239.020; Fri, 31 Jul 2020 08:27:10 +0000 From: "Ard Biesheuvel" To: Pete Batard , "devel@edk2.groups.io" , "liming.gao@intel.com" , "mw@semihalf.com" , Leif Lindholm CC: "Zhang, Shenglei" , "Kinney, Michael D" , Ming Huang Subject: Re: [edk2-devel] [PATCH] MdePkg: Remove code wrapped by DISABLE_NEW_DEPRECATED_INTERFACES Thread-Topic: [edk2-devel] [PATCH] MdePkg: Remove code wrapped by DISABLE_NEW_DEPRECATED_INTERFACES Thread-Index: AQHWOxExyaUUOGYkJk6ZtEReqBR8H6jQR8pggE49B/CAAEtlgIAAE76AgAG9dICAAKO4AIAAZAqAgAAIZLI= Date: Fri, 31 Jul 2020 08:27:10 +0000 Message-ID: References: <20200605081233.20400-1-shenglei.zhang@intel.com> <1616E217E641F212.17072@groups.io> <20200729122415.GJ31778@vanye> <20200729133455.GK31778@vanye> ,<0610b3af-7b3e-7b47-d288-1ea4e2813980@akeo.ie> In-Reply-To: <0610b3af-7b3e-7b47-d288-1ea4e2813980@akeo.ie> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Authentication-Results-Original: akeo.ie; dkim=none (message not signed) header.d=none;akeo.ie; dmarc=none action=none header.from=arm.com; x-originating-ip: [77.204.104.123] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 477c9c7c-960f-4477-1d74-08d8352b8ac3 x-ms-traffictypediagnostic: DBBPR08MB4427:|AM4PR08MB2897: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: F0jKcwCS9GZwFJZxBSbFV07/qJDk8yw0fF/C1+KktIPiVIqQu634/nORWRaPfVTghDQvcpXV/w/6g8jzgQZ/34QS7V5WBboVS63A9rI9XF0fL98mKh05JX3kohRzWJBIU66yT+nNcxO9VityxFPH24UluXTbM2hWiYX/lpw4QMs3ycbAb/vg1W26F5lBVnWTZYnP1FYQSe7LoKIuLPprWCPz4EF7Sa0Sr6RSHG6LUTqYBaaSC91sbFPuSRy4WrKsYdY4NZQIPDaZaYSK1KN8iWKmCXl4VKcKbur6KB1vhhiu9lgfIH4+TC+T1WcufuX4jYR+vZ2WBg2npIpGDBsksjQ2YVutijq/OZDlX7ucm3+6YmLPh94J5WOzBXIkWHs976d1qVGeE7jo5VwF4c8JHOKivQBhtO1Niv6bulH1JvfR6WI+EOGi+46CmTsf0/rM X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR08MB3772.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(396003)(136003)(376002)(346002)(366004)(39860400002)(478600001)(7696005)(30864003)(8936002)(966005)(8676002)(66446008)(64756008)(55016002)(71200400001)(316002)(5660300002)(54906003)(52536014)(86362001)(33656002)(66476007)(66556008)(9686003)(110136005)(4326008)(83380400001)(2906002)(166002)(19627235002)(26005)(53546011)(6506007)(76116006)(66946007)(186003)(559001)(569008);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: 4JTf4rVhNAk8I58WagPc7U/r15wcSfm6UMMw06+uELoe40Rb/gTmzLLtkUHBVXwX4SajesAm50PLMB1mEdvjx6FhKMgYJOpw1+DFn5hLGhvxLtVCvNBDKLdOBZ2D9+qsj8LY+OMPFJPWSEQ/AK2Si2eCZjWwZsZ2aP2Y870a1KMApUPSFajK8QqQmE6ny+frI50sjlMeshMuDLF5fa1OTQBYoTiqt1c3eae3bFjZIm/+/HqB2vj/gdOZfHmwBDEIitTo1TiDwbVykhjJVqKOUogygnoHQ4V96CteAkdz0vOHU8a2Gx2Gi9EnWWBxDyHWVFGFg1nHdRd/mf3JLxIpiEmCLt1cMCvZJrvtdVRU1Drb7yw22/iOinu07k8pdO9j+x3zPS9Gp4DmMlcEMsh5wDiI87RUC4oZ10Dl7PphUy8RPQoK5tMCqmLPfnUv5MUC0AosEbI5FLHzJXmT/JbWQbf07iNZ08G+rz4dgA5pRz9VZ6LpqF9PRJhQ8UWYcblY x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4427 Original-Authentication-Results: akeo.ie; dkim=none (message not signed) header.d=none;akeo.ie; dmarc=none action=none header.from=arm.com; Return-Path: Ard.Biesheuvel@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT059.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: e3d7c8ea-5923-47e1-b823-08d8352b852c X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CF/+McgsXGxYB+3PWIWQvhxFiMWXTyTR0hsZPLI2dkKARgc1GHyKqgKH3gheHwFbhBbzHRQRf9jeHp4juot0WwG0RFSGpENnNwNVSjYL9E6adEioFEo1wsTrMtfTFHC/BqKVVqCtTH1yGSCWD9bWpNi+rXDFtq6Oc9Q3kWb+93hrWAi904Gc3KASqlp7NvVmJ1yQ4lDIn2qWBgtSenG1HMRM4gcPwbVmV3LFdRgI898eIiJ7Lp7lFqpnUlTMFVG3gUvMrik7gtM9VKrph84eJZunfC34YuBDuivXbnB8d6yZ19iEjj5Iqw9OJnjTpVI2zhU6hexR/wFo8+n/8/t11nU/fTKZcJCIVxmx3nWFnmVHVlm/H2ZExi5xN3YQIngY7oNmICxBKky6WanN1T9QNHtPxHv1FtLSRe3EHG1cr66lmwbeH2PttWM1JwojD61y1iKtiTs82y+lWtMhZAGsAR0eUrJaA+wvhSV2V4cyf+ilBaDhJIEF2uCh4/w9aV/Z 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;SFTY:;SFS:(4636009)(39860400002)(346002)(136003)(396003)(376002)(46966005)(4326008)(26005)(5660300002)(86362001)(316002)(83380400001)(2906002)(52536014)(336012)(70206006)(70586007)(478600001)(55016002)(9686003)(7696005)(966005)(30864003)(33964004)(33656002)(82740400003)(186003)(82310400002)(166002)(356005)(19627235002)(107886003)(53546011)(8676002)(6506007)(110136005)(8936002)(54906003)(47076004)(81166007)(569008);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2020 08:27:20.0743 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 477c9c7c-960f-4477-1d74-08d8352b8ac3 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: DB5EUR03FT059.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR08MB2897 Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_DB7PR08MB3772E39C3A457CB00E3C701F884E0DB7PR08MB3772eurp_" --_000_DB7PR08MB3772E39C3A457CB00E3C701F884E0DB7PR08MB3772eurp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhlIHJlYXNvbiBQY2RTZXQjIyB3YXMgZGVwcmVjYXRlZCBpbiB0aGUgZmlyc3QgcGxhY2Ugd2Fz IGJlY2F1c2UgaXQgY2Fubm90IHNpZ25hbCBmYWlsdXJlLCB3aGVyZWFzIFBjZFNldCMjUyBjYW4u DQoNClNvIHBsZWFzZSBmaXggdGhlIGFmZmVjdGVkIHBsYXRmb3JtcyBieSBjYXB0dXJpbmcgdGhl IHJldHVybmVkIHN0YXR1cyB2YWx1ZSwgYW5kIGF0IHRoZSB2ZXJ5IGxlYXN0LCB1c2UgQVNTRVJU X0VGSV9FUlJPUigpIG9uIGl0IHNvIHdlIGNhbiBzcG90IGFueSBmYWlsdXJlcyBpbiBERUJVRyBi dWlsZHMuIEp1c3Qgc3dhcHBpbmcgb3V0IG9uZSBmb3IgdGhlIG90aGVyIGtpbmQgb2YgZGVmZWF0 cyB0aGUgcHVycG9zZS4NCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCkZyb206 IFBldGUgQmF0YXJkIDxwZXRlQGFrZW8uaWU+DQpTZW50OiBGcmlkYXksIEp1bHkgMzEsIDIwMjAg MDk6NTMNClRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+OyBs aW1pbmcuZ2FvQGludGVsLmNvbSA8bGltaW5nLmdhb0BpbnRlbC5jb20+OyBtd0BzZW1paGFsZi5j b20gPG13QHNlbWloYWxmLmNvbT47IExlaWYgTGluZGhvbG0gPGxlaWZAbnV2aWFpbmMuY29tPg0K Q2M6IFpoYW5nLCBTaGVuZ2xlaSA8c2hlbmdsZWkuemhhbmdAaW50ZWwuY29tPjsgQXJkIEJpZXNo ZXV2ZWwgPEFyZC5CaWVzaGV1dmVsQGFybS5jb20+OyBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFl bC5kLmtpbm5leUBpbnRlbC5jb20+OyBNaW5nIEh1YW5nIDxodWFuZ21pbmcyM0BodWF3ZWkuY29t Pg0KU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0hdIE1kZVBrZzogUmVtb3ZlIGNvZGUg d3JhcHBlZCBieSBESVNBQkxFX05FV19ERVBSRUNBVEVEX0lOVEVSRkFDRVMNCg0KQWxsLA0KDQpG aXggZm9yIFJhc3BiZXJyeSBQaSBwbGF0Zm9ybXMgc3VibWl0dGVkIGF0Og0KaHR0cHM6Ly9lZGsy Lmdyb3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvNjM1NTQNCg0KUmVnYXJkcywNCg0KL1BldGUNCg0K T24gMjAyMC4wNy4zMSAwMjo1NSwgTGltaW5nIEdhbyB3cm90ZToNCj4gVGhhbmtzIE1hcmNpbi4N Cj4NCj4gTGVpZjoNCj4gICAgSXMgdGhlcmUgdGhlIHdheSB0byBnZXQgdGhlIGZpeCBwbGFuIGZy b20gdGhlIHBsYXRmb3JtIG93bmVyPyBJZiBzbywgSSBjYW4gd29yayB0aGUgcGxhbiB0byBtZXJn ZSB0aGlzIGNoYW5nZS4NCj4NCj4gVGhhbmtzDQo+IExpbWluZw0KPiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91 cHMuaW8+IE9uIEJlaGFsZiBPZiBNYXJjaW4gV29qdGFzDQo+IFNlbnQ6IDIwMjDlubQ35pyIMzHm l6UgMDowOQ0KPiBUbzogTGVpZiBMaW5kaG9sbSA8bGVpZkBudXZpYWluYy5jb20+DQo+IENjOiBH YW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsg WmhhbmcsIFNoZW5nbGVpIDxzaGVuZ2xlaS56aGFuZ0BpbnRlbC5jb20+OyBBcmQgQmllc2hldXZl bCA8YXJkLmJpZXNoZXV2ZWxAYXJtLmNvbT47IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQu a2lubmV5QGludGVsLmNvbT47IE1pbmcgSHVhbmcgPGh1YW5nbWluZzIzQGh1YXdlaS5jb20+OyBQ ZXRlIEJhdGFyZCA8cGV0ZUBha2VvLmllPg0KPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQ QVRDSF0gTWRlUGtnOiBSZW1vdmUgY29kZSB3cmFwcGVkIGJ5IERJU0FCTEVfTkVXX0RFUFJFQ0FU RURfSU5URVJGQUNFUw0KPg0KPiBIaSBMZWlmLA0KPg0KPg0KPiDFm3IuLCAyOSBsaXAgMjAyMCBv IDE1OjM1IExlaWYgTGluZGhvbG0gPGxlaWZAbnV2aWFpbmMuY29tPiBuYXBpc2HFgihhKToNCj4+ DQo+PiBSaWdodCwgc28gdGhlIGZvbGxvd2luZyBwbGF0Zm9ybXMgYnJlYWsgb25jZSB0aGlzIHBh dGNoIGlzIG1lcmdlZDoNCj4+DQo+PiAtIEFNRCBPdmVyZHJpdmUsIE92ZXJkcml2ZSAxMDAwLCBD ZWxsbw0KPj4gLSBIaXNpbGljb24gRDAzLCBEMDUsIEQwNiAoc29tZSBvZiB0aGVzZSBkdWUgdG8g YmluYXJ5IGRyaXZlcnMgaW4NCj4+ICAgIGVkazItbm9uLW9zaSkNCj4+IC0gTWFydmVsbCBBcm1h ZGEgNzh4MC84MHgwLCBNYWNjaGlhdG9CSU4NCj4NCj4gRml4IGZvciBNYXJ2ZWxsIHBsYXRmb3Jt cyBzdWJtaXR0ZWQ6DQo+IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9tZXNzYWdlLzYz NDcyDQo+DQo+IEJlc3QgcmVnYXJkcywNCj4gTWFyY2luDQo+DQo+PiAtIFJhc3BiZXJyeSBQaSAz LzQNCj4+DQo+PiBJIHRoaW5rIHRoaXMgcHJvdmlkZXMgZW5vdWdoIGFyZ3VtZW50IHRvIHB1c2gg dGhpcyBwYXRjaCBhdCBsZWFzdA0KPj4gdW50aWwgYWZ0ZXIgQXVndXN0IHN0YWJsZSB0YWcuDQo+ Pg0KPj4gQXMgZmFyIGFzIEkgY2FuIHRlbGwsIGFsbCBvZiB0aGVzZSBhcmUgZHVlIHRvIHRoZSBQ Y2RTZXQgQW5kDQo+PiBVbmljb2RlU3RyVG9Bc2NpaVN0ciBmdW5jdGlvbnMvbWFjcm9zIGRpc2Fw cGVhcmluZy4gUHJlc3VtYWJseSB0aGVzZQ0KPj4gc2hvdWxkIGJlIHJlcGxhY2VkIHdpdGggdGhl aXIgUy1zdWZmaXhlZCBjb3VudGVycGFydHMuDQo+Pg0KPj4gTWFpbnRhaW5lcnMvcmV2aWV3ZXJz IG9uIGNjLiBJJ2QgYXBwcmVjaWF0ZSBpZiB5b3UgY291bGQgdXBkYXRlIGFuZA0KPj4gc2FuaXR5 IGNoZWNrIHlvdXIgcGxhdGZvcm1zIGFuZCBzZW5kIG91dCBwYXRjaGVzLg0KPj4NCj4+IEJlc3Qg UmVnYXJkcywNCj4+DQo+PiBMZWlmDQo+Pg0KPj4gT24gV2VkLCBKdWwgMjksIDIwMjAgYXQgMTM6 MjQ6MTUgKzAxMDAsIExlaWYgTGluZGhvbG0gd3JvdGU6DQo+Pj4gVGhhbmtzIExpbWluZywNCj4+ Pg0KPj4+IFllcywgdGhpcyBkb2VzIGFmZmVjdCBzZXZlcmFsIEFSTSBwbGF0Zm9ybXMuIEN1cnJl bnRseSBydW5uaW5nIGEgYnVpbGQNCj4+PiB0ZXN0IHRvIGRldGVybWluZSBqdXN0IGhvdyBtYW55 LiBNeSBwcmVmZXJlbmNlIHdvdWxkIGJlIGZvciBhIGNoYW5nZQ0KPj4+IG9mIHRoaXMgbWFnbml0 dWRlIHRvIGdvIGluIGp1c3QgYWZ0ZXIgYSBzdGFibGUgdGFnIC0gd2hhdCwgaWYgYW55LCBhcmUN Cj4+PiB0aGUgcGxhbnMgZm9yIHRoaXMgcGF0Y2g/DQo+Pj4NCj4+PiBCZXN0IFJlZ2FyZHMsDQo+ Pj4NCj4+PiBMZWlmDQo+Pj4NCj4+PiBPbiBXZWQsIEp1bCAyOSwgMjAyMCBhdCAwNzo1NTowOSAr MDAwMCwgR2FvLCBMaW1pbmcgd3JvdGU6DQo+Pj4+IEluY2x1ZGUgTGVpZiBhbmQgQXJkLiBUaGlz IGNoYW5nZSBtYXkgaW1wYWN0IEFSTSBwbGF0Zm9ybS4NCj4+Pj4NCj4+Pj4gVGhhbmtzDQo+Pj4+ IExpbWluZw0KPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4+PiBGcm9tOiBkZXZl bEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBMaW1p bmcgR2FvDQo+Pj4+IFNlbnQ6IDIwMjDlubQ25pyIOeaXpSAyMTowOA0KPj4+PiBUbzogWmhhbmcs IFNoZW5nbGVpIDxzaGVuZ2xlaS56aGFuZ0BpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5p bw0KPj4+PiBDYzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29t Pg0KPj4+PiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSF0gTWRlUGtnOiBSZW1vdmUg Y29kZSB3cmFwcGVkIGJ5IERJU0FCTEVfTkVXX0RFUFJFQ0FURURfSU5URVJGQUNFUw0KPj4+Pg0K Pj4+PiBTaGVuZ2xlaToNCj4+Pj4gICAgUGxlYXNlIGFsc28gcmVtb3ZlIHRoZSBkZXByZWNhdGVk IGNvZGUgaW4gTWRlTW9kdWxlUGtnLg0KPj4+Pg0KPj4+PiBUaGFua3MNCj4+Pj4gTGltaW5nDQo+ Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4+Pj4gRnJvbTogWmhhbmcsIFNoZW5n bGVpIDxzaGVuZ2xlaS56aGFuZ0BpbnRlbC5jb20+DQo+Pj4+PiBTZW50OiBGcmlkYXksIEp1bmUg NSwgMjAyMCA0OjEzIFBNDQo+Pj4+PiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4+Pj4+IENj OiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBHYW8sIExp bWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+DQo+Pj4+PiBTdWJqZWN0OiBbUEFUQ0hdIE1kZVBr ZzogUmVtb3ZlIGNvZGUgd3JhcHBlZCBieSBESVNBQkxFX05FV19ERVBSRUNBVEVEX0lOVEVSRkFD RVMNCj4+Pj4+DQo+Pj4+PiBSRUY6IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93 X2J1Zy5jZ2k/aWQ9Mjc3Nw0KPj4+Pj4gQ29kZSB3cmFwcGVkIGJ5IERJU0FCTEVfTkVXX0RFUFJF Q0FURURfSU5URVJGQUNFUyBpcyBkZXByZWNhdGVkLg0KPj4+Pj4gU28gcmVtb3ZlIGl0Lg0KPj4+ Pj4NCj4+Pj4+IENjOiBNaWNoYWVsIEQgS2lubmV5IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNv bT4NCj4+Pj4+IENjOiBMaW1pbmcgR2FvIDxsaW1pbmcuZ2FvQGludGVsLmNvbT4NCj4+Pj4+IFNp Z25lZC1vZmYtYnk6IFNoZW5nbGVpIFpoYW5nIDxzaGVuZ2xlaS56aGFuZ0BpbnRlbC5jb20+DQo+ Pj4+PiAtLS0NCj4+Pj4+ICAgTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9TdHJpbmcuYyAgICAgICAg fCA2MjYgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPj4+Pj4gICBNZGVQa2cvTGlicmFyeS9C YXNlUGNkTGliTnVsbC9QY2RMaWIuYyB8IDM2MSAtLS0tLS0tLS0tLS0tLQ0KPj4+Pj4gICBNZGVQ a2cvTGlicmFyeS9CYXNlUHJpbnRMaWIvUHJpbnRMaWIuYyB8IDExOCAtLS0tLQ0KPj4+Pj4gICBN ZGVQa2cvTGlicmFyeS9EeGVQY2RMaWIvRHhlUGNkTGliLmMgICB8IDM5OSAtLS0tLS0tLS0tLS0t LS0tDQo+Pj4+PiAgIE1kZVBrZy9MaWJyYXJ5L1BlaVBjZExpYi9QZWlQY2RMaWIuYyAgIHwgMzk3 IC0tLS0tLS0tLS0tLS0tLS0NCj4+Pj4+ICAgTWRlUGtnL0xpYnJhcnkvVWVmaUxpYi9VZWZpTGli LmMgICAgICAgfCAgOTIgLS0tLQ0KPj4+Pj4gICBNZGVQa2cvSW5jbHVkZS9MaWJyYXJ5L0Jhc2VM aWIuaCAgICAgICB8IDQwOSAtLS0tLS0tLS0tLS0tLS0tDQo+Pj4+PiAgIE1kZVBrZy9JbmNsdWRl L0xpYnJhcnkvUGNkTGliLmggICAgICAgIHwgNTIwIC0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+Pj4+ PiAgIE1kZVBrZy9JbmNsdWRlL0xpYnJhcnkvUHJpbnRMaWIuaCAgICAgIHwgMTEwIC0tLS0tDQo+ Pj4+PiAgIE1kZVBrZy9JbmNsdWRlL0xpYnJhcnkvVWVmaUxpYi5oICAgICAgIHwgIDUzIC0tLQ0K Pj4+Pj4gICBNZGVQa2cvTWRlUGtnLmRzYyAgICAgICAgICAgICAgICAgICAgICB8ICAgMSAtDQo+ Pj4+PiAgIDExIGZpbGVzIGNoYW5nZWQsIDMwODYgZGVsZXRpb25zKC0pDQo+Pj4+Pg0KPj4+Pj4g ZGlmZiAtLWdpdCBhL01kZVBrZy9MaWJyYXJ5L0Jhc2VMaWIvU3RyaW5nLmMgYi9NZGVQa2cvTGli cmFyeS9CYXNlTGliL1N0cmluZy5jDQo+Pj4+PiBpbmRleCA0NTE5ODM3M2YyNWMuLmY0ODU0ZjM1 N2UzYSAxMDA2NDQNCj4+Pj4+IC0tLSBhL01kZVBrZy9MaWJyYXJ5L0Jhc2VMaWIvU3RyaW5nLmMN Cj4+Pj4+ICsrKyBiL01kZVBrZy9MaWJyYXJ5L0Jhc2VMaWIvU3RyaW5nLmMNCj4+Pj4+IEBAIC04 LDEzNSArOCw2IEBADQo+Pj4+Pg0KPj4+Pj4gICAjaW5jbHVkZSAiQmFzZUxpYkludGVybmFscy5o Ig0KPj4+Pj4NCj4+Pj4+IC0jaWZuZGVmIERJU0FCTEVfTkVXX0RFUFJFQ0FURURfSU5URVJGQUNF Uw0KPj4+Pj4gLQ0KPj4+Pj4gLS8qKg0KPj4+Pj4gLSAgW0FUVEVOVElPTl0gVGhpcyBmdW5jdGlv biB3aWxsIGJlIGRlcHJlY2F0ZWQgZm9yIHNlY3VyaXR5IHJlYXNvbi4NCj4+Pj4+IC0NCj4+Pj4+ IC0gIENvcGllcyBvbmUgTnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nIHRvIGFub3RoZXIg TnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUNCj4+Pj4+IC0gIHN0cmluZyBhbmQgcmV0dXJucyB0aGUg bmV3IFVuaWNvZGUgc3RyaW5nLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgVGhpcyBmdW5jdGlvbiBjb3Bp ZXMgdGhlIGNvbnRlbnRzIG9mIHRoZSBVbmljb2RlIHN0cmluZyBTb3VyY2UgdG8gdGhlIFVuaWNv ZGUNCj4+Pj4+IC0gIHN0cmluZyBEZXN0aW5hdGlvbiwgYW5kIHJldHVybnMgRGVzdGluYXRpb24u IElmIFNvdXJjZSBhbmQgRGVzdGluYXRpb24NCj4+Pj4+IC0gIG92ZXJsYXAsIHRoZW4gdGhlIHJl c3VsdHMgYXJlIHVuZGVmaW5lZC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIElmIERlc3RpbmF0aW9uIGlz IE5VTEwsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJZiBEZXN0aW5hdGlvbiBpcyBub3QgYWxp Z25lZCBvbiBhIDE2LWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIFNv dXJjZSBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgU291cmNlIGlzIG5vdCBh bGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYg U291cmNlIGFuZCBEZXN0aW5hdGlvbiBvdmVybGFwLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAg SWYgUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGggaXMgbm90IHplcm8sIGFuZCBTb3VyY2Ug Y29udGFpbnMgbW9yZSB0aGFuDQo+Pj4+PiAtICBQY2RNYXhpbXVtVW5pY29kZVN0cmluZ0xlbmd0 aCBVbmljb2RlIGNoYXJhY3RlcnMsIG5vdCBpbmNsdWRpbmcgdGhlDQo+Pj4+PiAtICBOdWxsLXRl cm1pbmF0b3IsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcGFyYW0gIERlc3Rp bmF0aW9uIEEgcG9pbnRlciB0byBhIE51bGwtdGVybWluYXRlZCBVbmljb2RlIHN0cmluZy4NCj4+ Pj4+IC0gIEBwYXJhbSAgU291cmNlICAgICAgQSBwb2ludGVyIHRvIGEgTnVsbC10ZXJtaW5hdGVk IFVuaWNvZGUgc3RyaW5nLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHJldHVybiBEZXN0aW5hdGlvbi4N Cj4+Pj4+IC0NCj4+Pj4+IC0qKi8NCj4+Pj4+IC1DSEFSMTYgKg0KPj4+Pj4gLUVGSUFQSQ0KPj4+ Pj4gLVN0ckNweSAoDQo+Pj4+PiAtICBPVVQgICAgIENIQVIxNiAgICAgICAgICAgICAgICAgICAg KkRlc3RpbmF0aW9uLA0KPj4+Pj4gLSAgSU4gICAgICBDT05TVCBDSEFSMTYgICAgICAgICAgICAg ICpTb3VyY2UNCj4+Pj4+IC0gICkNCj4+Pj4+IC17DQo+Pj4+PiAtICBDSEFSMTYgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKlJldHVyblZhbHVlOw0KPj4+Pj4gLQ0KPj4+Pj4gLSAgLy8NCj4+ Pj4+IC0gIC8vIERlc3RpbmF0aW9uIGNhbm5vdCBiZSBOVUxMDQo+Pj4+PiAtICAvLw0KPj4+Pj4g LSAgQVNTRVJUIChEZXN0aW5hdGlvbiAhPSBOVUxMKTsNCj4+Pj4+IC0gIEFTU0VSVCAoKChVSU5U TikgRGVzdGluYXRpb24gJiBCSVQwKSA9PSAwKTsNCj4+Pj4+IC0NCj4+Pj4+IC0gIC8vDQo+Pj4+ PiAtICAvLyBEZXN0aW5hdGlvbiBhbmQgc291cmNlIGNhbm5vdCBvdmVybGFwDQo+Pj4+PiAtICAv Lw0KPj4+Pj4gLSAgQVNTRVJUICgoVUlOVE4pKERlc3RpbmF0aW9uIC0gU291cmNlKSA+IFN0ckxl biAoU291cmNlKSk7DQo+Pj4+PiAtICBBU1NFUlQgKChVSU5UTikoU291cmNlIC0gRGVzdGluYXRp b24pID4gU3RyTGVuIChTb3VyY2UpKTsNCj4+Pj4+IC0NCj4+Pj4+IC0gIFJldHVyblZhbHVlID0g RGVzdGluYXRpb247DQo+Pj4+PiAtICB3aGlsZSAoKlNvdXJjZSAhPSAwKSB7DQo+Pj4+PiAtICAg ICooRGVzdGluYXRpb24rKykgPSAqKFNvdXJjZSsrKTsNCj4+Pj4+IC0gIH0NCj4+Pj4+IC0gICpE ZXN0aW5hdGlvbiA9IDA7DQo+Pj4+PiAtICByZXR1cm4gUmV0dXJuVmFsdWU7DQo+Pj4+PiAtfQ0K Pj4+Pj4gLQ0KPj4+Pj4gLS8qKg0KPj4+Pj4gLSAgW0FUVEVOVElPTl0gVGhpcyBmdW5jdGlvbiB3 aWxsIGJlIGRlcHJlY2F0ZWQgZm9yIHNlY3VyaXR5IHJlYXNvbi4NCj4+Pj4+IC0NCj4+Pj4+IC0g IENvcGllcyB1cCB0byBhIHNwZWNpZmllZCBsZW5ndGggZnJvbSBvbmUgTnVsbC10ZXJtaW5hdGVk IFVuaWNvZGUgc3RyaW5nICB0bw0KPj4+Pj4gLSAgYW5vdGhlciBOdWxsLXRlcm1pbmF0ZWQgVW5p Y29kZSBzdHJpbmcgYW5kIHJldHVybnMgdGhlIG5ldyBVbmljb2RlIHN0cmluZy4NCj4+Pj4+IC0N Cj4+Pj4+IC0gIFRoaXMgZnVuY3Rpb24gY29waWVzIHRoZSBjb250ZW50cyBvZiB0aGUgVW5pY29k ZSBzdHJpbmcgU291cmNlIHRvIHRoZSBVbmljb2RlDQo+Pj4+PiAtICBzdHJpbmcgRGVzdGluYXRp b24sIGFuZCByZXR1cm5zIERlc3RpbmF0aW9uLiBBdCBtb3N0LCBMZW5ndGggVW5pY29kZQ0KPj4+ Pj4gLSAgY2hhcmFjdGVycyBhcmUgY29waWVkIGZyb20gU291cmNlIHRvIERlc3RpbmF0aW9uLiBJ ZiBMZW5ndGggaXMgMCwgdGhlbg0KPj4+Pj4gLSAgRGVzdGluYXRpb24gaXMgcmV0dXJuZWQgdW5t b2RpZmllZC4gSWYgTGVuZ3RoIGlzIGdyZWF0ZXIgdGhhdCB0aGUgbnVtYmVyIG9mDQo+Pj4+PiAt ICBVbmljb2RlIGNoYXJhY3RlcnMgaW4gU291cmNlLCB0aGVuIERlc3RpbmF0aW9uIGlzIHBhZGRl ZCB3aXRoIE51bGwgVW5pY29kZQ0KPj4+Pj4gLSAgY2hhcmFjdGVycy4gSWYgU291cmNlIGFuZCBE ZXN0aW5hdGlvbiBvdmVybGFwLCB0aGVuIHRoZSByZXN1bHRzIGFyZQ0KPj4+Pj4gLSAgdW5kZWZp bmVkLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgSWYgTGVuZ3RoID4gMCBhbmQgRGVzdGluYXRpb24gaXMg TlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIExlbmd0aCA+IDAgYW5kIERlc3RpbmF0 aW9uIGlzIG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLg0K Pj4+Pj4gLSAgSWYgTGVuZ3RoID4gMCBhbmQgU291cmNlIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCku DQo+Pj4+PiAtICBJZiBMZW5ndGggPiAwIGFuZCBTb3VyY2UgaXMgbm90IGFsaWduZWQgb24gYSAx Ni1iaXQgYm91bmRhcnksIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJZiBTb3VyY2UgYW5kIERl c3RpbmF0aW9uIG92ZXJsYXAsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJZiBQY2RNYXhpbXVt VW5pY29kZVN0cmluZ0xlbmd0aCBpcyBub3QgemVybywgYW5kIExlbmd0aCBpcyBncmVhdGVyIHRo YW4NCj4+Pj4+IC0gIFBjZE1heGltdW1Vbmljb2RlU3RyaW5nTGVuZ3RoLCB0aGVuIEFTU0VSVCgp Lg0KPj4+Pj4gLSAgSWYgUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGggaXMgbm90IHplcm8s IGFuZCBTb3VyY2UgY29udGFpbnMgbW9yZSB0aGFuDQo+Pj4+PiAtICBQY2RNYXhpbXVtVW5pY29k ZVN0cmluZ0xlbmd0aCBVbmljb2RlIGNoYXJhY3RlcnMsIG5vdCBpbmNsdWRpbmcgdGhlIE51bGwt dGVybWluYXRvciwNCj4+Pj4+IC0gIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtDQo+Pj4+PiAtICBA cGFyYW0gIERlc3RpbmF0aW9uIEEgcG9pbnRlciB0byBhIE51bGwtdGVybWluYXRlZCBVbmljb2Rl IHN0cmluZy4NCj4+Pj4+IC0gIEBwYXJhbSAgU291cmNlICAgICAgQSBwb2ludGVyIHRvIGEgTnVs bC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nLg0KPj4+Pj4gLSAgQHBhcmFtICBMZW5ndGggICAg ICBUaGUgbWF4aW11bSBudW1iZXIgb2YgVW5pY29kZSBjaGFyYWN0ZXJzIHRvIGNvcHkuDQo+Pj4+ PiAtDQo+Pj4+PiAtICBAcmV0dXJuIERlc3RpbmF0aW9uLg0KPj4+Pj4gLQ0KPj4+Pj4gLSoqLw0K Pj4+Pj4gLUNIQVIxNiAqDQo+Pj4+PiAtRUZJQVBJDQo+Pj4+PiAtU3RybkNweSAoDQo+Pj4+PiAt ICBPVVQgICAgIENIQVIxNiAgICAgICAgICAgICAgICAgICAgKkRlc3RpbmF0aW9uLA0KPj4+Pj4g LSAgSU4gICAgICBDT05TVCBDSEFSMTYgICAgICAgICAgICAgICpTb3VyY2UsDQo+Pj4+PiAtICBJ TiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgTGVuZ3RoDQo+Pj4+PiAtICApDQo+Pj4+ PiAtew0KPj4+Pj4gLSAgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICpSZXR1cm5W YWx1ZTsNCj4+Pj4+IC0NCj4+Pj4+IC0gIGlmIChMZW5ndGggPT0gMCkgew0KPj4+Pj4gLSAgICBy ZXR1cm4gRGVzdGluYXRpb247DQo+Pj4+PiAtICB9DQo+Pj4+PiAtDQo+Pj4+PiAtICAvLw0KPj4+ Pj4gLSAgLy8gRGVzdGluYXRpb24gY2Fubm90IGJlIE5VTEwgaWYgTGVuZ3RoIGlzIG5vdCB6ZXJv DQo+Pj4+PiAtICAvLw0KPj4+Pj4gLSAgQVNTRVJUIChEZXN0aW5hdGlvbiAhPSBOVUxMKTsNCj4+ Pj4+IC0gIEFTU0VSVCAoKChVSU5UTikgRGVzdGluYXRpb24gJiBCSVQwKSA9PSAwKTsNCj4+Pj4+ IC0NCj4+Pj4+IC0gIC8vDQo+Pj4+PiAtICAvLyBEZXN0aW5hdGlvbiBhbmQgc291cmNlIGNhbm5v dCBvdmVybGFwDQo+Pj4+PiAtICAvLw0KPj4+Pj4gLSAgQVNTRVJUICgoVUlOVE4pKERlc3RpbmF0 aW9uIC0gU291cmNlKSA+IFN0ckxlbiAoU291cmNlKSk7DQo+Pj4+PiAtICBBU1NFUlQgKChVSU5U TikoU291cmNlIC0gRGVzdGluYXRpb24pID49IExlbmd0aCk7DQo+Pj4+PiAtDQo+Pj4+PiAtICBp ZiAoUGNkR2V0MzIgKFBjZE1heGltdW1Vbmljb2RlU3RyaW5nTGVuZ3RoKSAhPSAwKSB7DQo+Pj4+ PiAtICAgIEFTU0VSVCAoTGVuZ3RoIDw9IFBjZEdldDMyIChQY2RNYXhpbXVtVW5pY29kZVN0cmlu Z0xlbmd0aCkpOw0KPj4+Pj4gLSAgfQ0KPj4+Pj4gLQ0KPj4+Pj4gLSAgUmV0dXJuVmFsdWUgPSBE ZXN0aW5hdGlvbjsNCj4+Pj4+IC0NCj4+Pj4+IC0gIHdoaWxlICgoKlNvdXJjZSAhPSBMJ1wwJykg JiYgKExlbmd0aCA+IDApKSB7DQo+Pj4+PiAtICAgICooRGVzdGluYXRpb24rKykgPSAqKFNvdXJj ZSsrKTsNCj4+Pj4+IC0gICAgTGVuZ3RoLS07DQo+Pj4+PiAtICB9DQo+Pj4+PiAtDQo+Pj4+PiAt ICBaZXJvTWVtIChEZXN0aW5hdGlvbiwgTGVuZ3RoICogc2l6ZW9mICgqRGVzdGluYXRpb24pKTsN Cj4+Pj4+IC0gIHJldHVybiBSZXR1cm5WYWx1ZTsNCj4+Pj4+IC19DQo+Pj4+PiAtI2VuZGlmDQo+ Pj4+Pg0KPj4+Pj4gICAvKioNCj4+Pj4+ICAgICBSZXR1cm5zIHRoZSBsZW5ndGggb2YgYSBOdWxs LXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcuDQo+Pj4+PiBAQCAtMzIwLDEyMSArMTkxLDYgQEAg U3RybkNtcCAoDQo+Pj4+PiAgICAgcmV0dXJuICpGaXJzdFN0cmluZyAtICpTZWNvbmRTdHJpbmc7 DQo+Pj4+PiAgIH0NCj4+Pj4+DQo+Pj4+PiAtI2lmbmRlZiBESVNBQkxFX05FV19ERVBSRUNBVEVE X0lOVEVSRkFDRVMNCj4+Pj4+IC0NCj4+Pj4+IC0vKioNCj4+Pj4+IC0gIFtBVFRFTlRJT05dIFRo aXMgZnVuY3Rpb24gd2lsbCBiZSBkZXByZWNhdGVkIGZvciBzZWN1cml0eSByZWFzb24uDQo+Pj4+ PiAtDQo+Pj4+PiAtICBDb25jYXRlbmF0ZXMgb25lIE51bGwtdGVybWluYXRlZCBVbmljb2RlIHN0 cmluZyB0byBhbm90aGVyIE51bGwtdGVybWluYXRlZA0KPj4+Pj4gLSAgVW5pY29kZSBzdHJpbmcs IGFuZCByZXR1cm5zIHRoZSBjb25jYXRlbmF0ZWQgVW5pY29kZSBzdHJpbmcuDQo+Pj4+PiAtDQo+ Pj4+PiAtICBUaGlzIGZ1bmN0aW9uIGNvbmNhdGVuYXRlcyB0d28gTnVsbC10ZXJtaW5hdGVkIFVu aWNvZGUgc3RyaW5ncy4gVGhlIGNvbnRlbnRzDQo+Pj4+PiAtICBvZiBOdWxsLXRlcm1pbmF0ZWQg VW5pY29kZSBzdHJpbmcgU291cmNlIGFyZSBjb25jYXRlbmF0ZWQgdG8gdGhlIGVuZCBvZg0KPj4+ Pj4gLSAgTnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nIERlc3RpbmF0aW9uLiBUaGUgTnVs bC10ZXJtaW5hdGVkIGNvbmNhdGVuYXRlZA0KPj4+Pj4gLSAgVW5pY29kZSBTdHJpbmcgaXMgcmV0 dXJuZWQuIElmIFNvdXJjZSBhbmQgRGVzdGluYXRpb24gb3ZlcmxhcCwgdGhlbiB0aGUNCj4+Pj4+ IC0gIHJlc3VsdHMgYXJlIHVuZGVmaW5lZC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIElmIERlc3RpbmF0 aW9uIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJZiBEZXN0aW5hdGlvbiBpcyBu b3QgYWxpZ25lZCBvbiBhIDE2LWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0g IElmIFNvdXJjZSBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgU291cmNlIGlz IG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4g LSAgSWYgU291cmNlIGFuZCBEZXN0aW5hdGlvbiBvdmVybGFwLCB0aGVuIEFTU0VSVCgpLg0KPj4+ Pj4gLSAgSWYgUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGggaXMgbm90IHplcm8sIGFuZCBE ZXN0aW5hdGlvbiBjb250YWlucyBtb3JlDQo+Pj4+PiAtICB0aGFuIFBjZE1heGltdW1Vbmljb2Rl U3RyaW5nTGVuZ3RoIFVuaWNvZGUgY2hhcmFjdGVycywgbm90IGluY2x1ZGluZyB0aGUNCj4+Pj4+ IC0gIE51bGwtdGVybWluYXRvciwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIFBjZE1heGlt dW1Vbmljb2RlU3RyaW5nTGVuZ3RoIGlzIG5vdCB6ZXJvLCBhbmQgU291cmNlIGNvbnRhaW5zIG1v cmUgdGhhbg0KPj4+Pj4gLSAgUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGggVW5pY29kZSBj aGFyYWN0ZXJzLCBub3QgaW5jbHVkaW5nIHRoZQ0KPj4+Pj4gLSAgTnVsbC10ZXJtaW5hdG9yLCB0 aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGgg aXMgbm90IHplcm8sIGFuZCBjb25jYXRlbmF0aW5nIERlc3RpbmF0aW9uDQo+Pj4+PiAtICBhbmQg U291cmNlIHJlc3VsdHMgaW4gYSBVbmljb2RlIHN0cmluZyB3aXRoIG1vcmUgdGhhbg0KPj4+Pj4g LSAgUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGggVW5pY29kZSBjaGFyYWN0ZXJzLCBub3Qg aW5jbHVkaW5nIHRoZQ0KPj4+Pj4gLSAgTnVsbC10ZXJtaW5hdG9yLCB0aGVuIEFTU0VSVCgpLg0K Pj4+Pj4gLQ0KPj4+Pj4gLSAgQHBhcmFtICBEZXN0aW5hdGlvbiBBIHBvaW50ZXIgdG8gYSBOdWxs LXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcuDQo+Pj4+PiAtICBAcGFyYW0gIFNvdXJjZSAgICAg IEEgcG9pbnRlciB0byBhIE51bGwtdGVybWluYXRlZCBVbmljb2RlIHN0cmluZy4NCj4+Pj4+IC0N Cj4+Pj4+IC0gIEByZXR1cm4gRGVzdGluYXRpb24uDQo+Pj4+PiAtDQo+Pj4+PiAtKiovDQo+Pj4+ PiAtQ0hBUjE2ICoNCj4+Pj4+IC1FRklBUEkNCj4+Pj4+IC1TdHJDYXQgKA0KPj4+Pj4gLSAgSU4g T1VUICBDSEFSMTYgICAgICAgICAgICAgICAgICAgICpEZXN0aW5hdGlvbiwNCj4+Pj4+IC0gIElO ICAgICAgQ09OU1QgQ0hBUjE2ICAgICAgICAgICAgICAqU291cmNlDQo+Pj4+PiAtICApDQo+Pj4+ PiAtew0KPj4+Pj4gLSAgU3RyQ3B5IChEZXN0aW5hdGlvbiArIFN0ckxlbiAoRGVzdGluYXRpb24p LCBTb3VyY2UpOw0KPj4+Pj4gLQ0KPj4+Pj4gLSAgLy8NCj4+Pj4+IC0gIC8vIFNpemUgb2YgdGhl IHJlc3VsdGluZyBzdHJpbmcgc2hvdWxkIG5ldmVyIGJlIHplcm8uDQo+Pj4+PiAtICAvLyBQY2RN YXhpbXVtVW5pY29kZVN0cmluZ0xlbmd0aCBpcyB0ZXN0ZWQgaW5zaWRlIFN0ckxlbigpLg0KPj4+ Pj4gLSAgLy8NCj4+Pj4+IC0gIEFTU0VSVCAoU3RyU2l6ZSAoRGVzdGluYXRpb24pICE9IDApOw0K Pj4+Pj4gLSAgcmV0dXJuIERlc3RpbmF0aW9uOw0KPj4+Pj4gLX0NCj4+Pj4+IC0NCj4+Pj4+IC0v KioNCj4+Pj4+IC0gIFtBVFRFTlRJT05dIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSBkZXByZWNhdGVk IGZvciBzZWN1cml0eSByZWFzb24uDQo+Pj4+PiAtDQo+Pj4+PiAtICBDb25jYXRlbmF0ZXMgdXAg dG8gYSBzcGVjaWZpZWQgbGVuZ3RoIG9uZSBOdWxsLXRlcm1pbmF0ZWQgVW5pY29kZSB0byB0aGUg ZW5kDQo+Pj4+PiAtICBvZiBhbm90aGVyIE51bGwtdGVybWluYXRlZCBVbmljb2RlIHN0cmluZywg YW5kIHJldHVybnMgdGhlIGNvbmNhdGVuYXRlZA0KPj4+Pj4gLSAgVW5pY29kZSBzdHJpbmcuDQo+ Pj4+PiAtDQo+Pj4+PiAtICBUaGlzIGZ1bmN0aW9uIGNvbmNhdGVuYXRlcyB0d28gTnVsbC10ZXJt aW5hdGVkIFVuaWNvZGUgc3RyaW5ncy4gVGhlIGNvbnRlbnRzDQo+Pj4+PiAtICBvZiBOdWxsLXRl cm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcgU291cmNlIGFyZSBjb25jYXRlbmF0ZWQgdG8gdGhlIGVu ZCBvZg0KPj4+Pj4gLSAgTnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nIERlc3RpbmF0aW9u LCBhbmQgRGVzdGluYXRpb24gaXMgcmV0dXJuZWQuIEF0DQo+Pj4+PiAtICBtb3N0LCBMZW5ndGgg VW5pY29kZSBjaGFyYWN0ZXJzIGFyZSBjb25jYXRlbmF0ZWQgZnJvbSBTb3VyY2UgdG8gdGhlIGVu ZCBvZg0KPj4+Pj4gLSAgRGVzdGluYXRpb24sIGFuZCBEZXN0aW5hdGlvbiBpcyBhbHdheXMgTnVs bC10ZXJtaW5hdGVkLiBJZiBMZW5ndGggaXMgMCwgdGhlbg0KPj4+Pj4gLSAgRGVzdGluYXRpb24g aXMgcmV0dXJuZWQgdW5tb2RpZmllZC4gSWYgU291cmNlIGFuZCBEZXN0aW5hdGlvbiBvdmVybGFw LCB0aGVuDQo+Pj4+PiAtICB0aGUgcmVzdWx0cyBhcmUgdW5kZWZpbmVkLg0KPj4+Pj4gLQ0KPj4+ Pj4gLSAgSWYgRGVzdGluYXRpb24gaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElm IExlbmd0aCA+IDAgYW5kIERlc3RpbmF0aW9uIGlzIG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJv dW5kYXJ5LCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgTGVuZ3RoID4gMCBhbmQgU291cmNl IGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJZiBMZW5ndGggPiAwIGFuZCBTb3Vy Y2UgaXMgbm90IGFsaWduZWQgb24gYSAxNi1iaXQgYm91bmRhcnksIHRoZW4gQVNTRVJUKCkuDQo+ Pj4+PiAtICBJZiBTb3VyY2UgYW5kIERlc3RpbmF0aW9uIG92ZXJsYXAsIHRoZW4gQVNTRVJUKCku DQo+Pj4+PiAtICBJZiBQY2RNYXhpbXVtVW5pY29kZVN0cmluZ0xlbmd0aCBpcyBub3QgemVybywg YW5kIExlbmd0aCBpcyBncmVhdGVyIHRoYW4NCj4+Pj4+IC0gIFBjZE1heGltdW1Vbmljb2RlU3Ry aW5nTGVuZ3RoLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgUGNkTWF4aW11bVVuaWNvZGVT dHJpbmdMZW5ndGggaXMgbm90IHplcm8sIGFuZCBEZXN0aW5hdGlvbiBjb250YWlucyBtb3JlDQo+ Pj4+PiAtICB0aGFuIFBjZE1heGltdW1Vbmljb2RlU3RyaW5nTGVuZ3RoIFVuaWNvZGUgY2hhcmFj dGVycywgbm90IGluY2x1ZGluZyB0aGUNCj4+Pj4+IC0gIE51bGwtdGVybWluYXRvciwgdGhlbiBB U1NFUlQoKS4NCj4+Pj4+IC0gIElmIFBjZE1heGltdW1Vbmljb2RlU3RyaW5nTGVuZ3RoIGlzIG5v dCB6ZXJvLCBhbmQgU291cmNlIGNvbnRhaW5zIG1vcmUgdGhhbg0KPj4+Pj4gLSAgUGNkTWF4aW11 bVVuaWNvZGVTdHJpbmdMZW5ndGggVW5pY29kZSBjaGFyYWN0ZXJzLCBub3QgaW5jbHVkaW5nIHRo ZQ0KPj4+Pj4gLSAgTnVsbC10ZXJtaW5hdG9yLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYg UGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGggaXMgbm90IHplcm8sIGFuZCBjb25jYXRlbmF0 aW5nIERlc3RpbmF0aW9uDQo+Pj4+PiAtICBhbmQgU291cmNlIHJlc3VsdHMgaW4gYSBVbmljb2Rl IHN0cmluZyB3aXRoIG1vcmUgdGhhbiBQY2RNYXhpbXVtVW5pY29kZVN0cmluZ0xlbmd0aA0KPj4+ Pj4gLSAgVW5pY29kZSBjaGFyYWN0ZXJzLCBub3QgaW5jbHVkaW5nIHRoZSBOdWxsLXRlcm1pbmF0 b3IsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcGFyYW0gIERlc3RpbmF0aW9u IEEgcG9pbnRlciB0byBhIE51bGwtdGVybWluYXRlZCBVbmljb2RlIHN0cmluZy4NCj4+Pj4+IC0g IEBwYXJhbSAgU291cmNlICAgICAgQSBwb2ludGVyIHRvIGEgTnVsbC10ZXJtaW5hdGVkIFVuaWNv ZGUgc3RyaW5nLg0KPj4+Pj4gLSAgQHBhcmFtICBMZW5ndGggICAgICBUaGUgbWF4aW11bSBudW1i ZXIgb2YgVW5pY29kZSBjaGFyYWN0ZXJzIHRvIGNvbmNhdGVuYXRlIGZyb20NCj4+Pj4+IC0gICAg ICAgICAgICAgICAgICAgICAgU291cmNlLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHJldHVybiBEZXN0 aW5hdGlvbi4NCj4+Pj4+IC0NCj4+Pj4+IC0qKi8NCj4+Pj4+IC1DSEFSMTYgKg0KPj4+Pj4gLUVG SUFQSQ0KPj4+Pj4gLVN0cm5DYXQgKA0KPj4+Pj4gLSAgSU4gT1VUICBDSEFSMTYgICAgICAgICAg ICAgICAgICAgICpEZXN0aW5hdGlvbiwNCj4+Pj4+IC0gIElOICAgICAgQ09OU1QgQ0hBUjE2ICAg ICAgICAgICAgICAqU291cmNlLA0KPj4+Pj4gLSAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAg ICAgICAgIExlbmd0aA0KPj4+Pj4gLSAgKQ0KPj4+Pj4gLXsNCj4+Pj4+IC0gIFVJTlROICAgRGVz dGluYXRpb25MZW47DQo+Pj4+PiAtDQo+Pj4+PiAtICBEZXN0aW5hdGlvbkxlbiA9IFN0ckxlbiAo RGVzdGluYXRpb24pOw0KPj4+Pj4gLSAgU3RybkNweSAoRGVzdGluYXRpb24gKyBEZXN0aW5hdGlv bkxlbiwgU291cmNlLCBMZW5ndGgpOw0KPj4+Pj4gLSAgRGVzdGluYXRpb25bRGVzdGluYXRpb25M ZW4gKyBMZW5ndGhdID0gTCdcMCc7DQo+Pj4+PiAtDQo+Pj4+PiAtICAvLw0KPj4+Pj4gLSAgLy8g U2l6ZSBvZiB0aGUgcmVzdWx0aW5nIHN0cmluZyBzaG91bGQgbmV2ZXIgYmUgemVyby4NCj4+Pj4+ IC0gIC8vIFBjZE1heGltdW1Vbmljb2RlU3RyaW5nTGVuZ3RoIGlzIHRlc3RlZCBpbnNpZGUgU3Ry TGVuKCkuDQo+Pj4+PiAtICAvLw0KPj4+Pj4gLSAgQVNTRVJUIChTdHJTaXplIChEZXN0aW5hdGlv bikgIT0gMCk7DQo+Pj4+PiAtICByZXR1cm4gRGVzdGluYXRpb247DQo+Pj4+PiAtfQ0KPj4+Pj4g LSNlbmRpZg0KPj4+Pj4NCj4+Pj4+ICAgLyoqDQo+Pj4+PiAgICAgUmV0dXJucyB0aGUgZmlyc3Qg b2NjdXJyZW5jZSBvZiBhIE51bGwtdGVybWluYXRlZCBVbmljb2RlIHN1Yi1zdHJpbmcNCj4+Pj4+ IEBAIC04NDUsMjA4ICs2MDEsNiBAQCBJbnRlcm5hbEFzY2lpSXNIZXhhRGVjaW1hbERpZ2l0Q2hh cmFjdGVyICgNCj4+Pj4+ICAgICAgIChDaGFyID49ICdhJyAmJiBDaGFyIDw9ICdmJykpOw0KPj4+ Pj4gICB9DQo+Pj4+Pg0KPj4+Pj4gLSNpZm5kZWYgRElTQUJMRV9ORVdfREVQUkVDQVRFRF9JTlRF UkZBQ0VTDQo+Pj4+PiAtDQo+Pj4+PiAtLyoqDQo+Pj4+PiAtICBbQVRURU5USU9OXSBUaGlzIGZ1 bmN0aW9uIGlzIGRlcHJlY2F0ZWQgZm9yIHNlY3VyaXR5IHJlYXNvbi4NCj4+Pj4+IC0NCj4+Pj4+ IC0gIENvbnZlcnQgYSBOdWxsLXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcgdG8gYSBOdWxsLXRl cm1pbmF0ZWQNCj4+Pj4+IC0gIEFTQ0lJIHN0cmluZyBhbmQgcmV0dXJucyB0aGUgQVNDSUkgc3Ry aW5nLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgVGhpcyBmdW5jdGlvbiBjb252ZXJ0cyB0aGUgY29udGVu dCBvZiB0aGUgVW5pY29kZSBzdHJpbmcgU291cmNlDQo+Pj4+PiAtICB0byB0aGUgQVNDSUkgc3Ry aW5nIERlc3RpbmF0aW9uIGJ5IGNvcHlpbmcgdGhlIGxvd2VyIDggYml0cyBvZg0KPj4+Pj4gLSAg ZWFjaCBVbmljb2RlIGNoYXJhY3Rlci4gSXQgcmV0dXJucyBEZXN0aW5hdGlvbi4NCj4+Pj4+IC0N Cj4+Pj4+IC0gIFRoZSBjYWxsZXIgaXMgcmVzcG9uc2libGUgdG8gbWFrZSBzdXJlIERlc3RpbmF0 aW9uIHBvaW50cyB0byBhIGJ1ZmZlciB3aXRoIHNpemUNCj4+Pj4+IC0gIGVxdWFsIG9yIGdyZWF0 ZXIgdGhhbiAoKFN0ckxlbiAoU291cmNlKSArIDEpICogc2l6ZW9mIChDSEFSOCkpIGluIGJ5dGVz Lg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgSWYgYW55IFVuaWNvZGUgY2hhcmFjdGVycyBpbiBTb3VyY2Ug Y29udGFpbiBub24temVybyB2YWx1ZSBpbg0KPj4+Pj4gLSAgdGhlIHVwcGVyIDggYml0cywgdGhl biBBU1NFUlQoKS4NCj4+Pj4+IC0NCj4+Pj4+IC0gIElmIERlc3RpbmF0aW9uIGlzIE5VTEwsIHRo ZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJZiBTb3VyY2UgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4N Cj4+Pj4+IC0gIElmIFNvdXJjZSBpcyBub3QgYWxpZ25lZCBvbiBhIDE2LWJpdCBib3VuZGFyeSwg dGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIFNvdXJjZSBhbmQgRGVzdGluYXRpb24gb3Zlcmxh cCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0NCj4+Pj4+IC0gIElmIFBjZE1heGltdW1Vbmljb2Rl U3RyaW5nTGVuZ3RoIGlzIG5vdCB6ZXJvLCBhbmQgU291cmNlIGNvbnRhaW5zDQo+Pj4+PiAtICBt b3JlIHRoYW4gUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGggVW5pY29kZSBjaGFyYWN0ZXJz LCBub3QgaW5jbHVkaW5nDQo+Pj4+PiAtICB0aGUgTnVsbC10ZXJtaW5hdG9yLCB0aGVuIEFTU0VS VCgpLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgSWYgUGNkTWF4aW11bUFzY2lpU3RyaW5nTGVuZ3RoIGlz IG5vdCB6ZXJvLCBhbmQgU291cmNlIGNvbnRhaW5zIG1vcmUNCj4+Pj4+IC0gIHRoYW4gUGNkTWF4 aW11bUFzY2lpU3RyaW5nTGVuZ3RoIFVuaWNvZGUgY2hhcmFjdGVycywgbm90IGluY2x1ZGluZyB0 aGUNCj4+Pj4+IC0gIE51bGwtdGVybWluYXRvciwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0NCj4+ Pj4+IC0gIEBwYXJhbSAgU291cmNlICAgICAgICBBIHBvaW50ZXIgdG8gYSBOdWxsLXRlcm1pbmF0 ZWQgVW5pY29kZSBzdHJpbmcuDQo+Pj4+PiAtICBAcGFyYW0gIERlc3RpbmF0aW9uICAgQSBwb2lu dGVyIHRvIGEgTnVsbC10ZXJtaW5hdGVkIEFTQ0lJIHN0cmluZy4NCj4+Pj4+IC0NCj4+Pj4+IC0g IEByZXR1cm4gRGVzdGluYXRpb24uDQo+Pj4+PiAtDQo+Pj4+PiAtKiovDQo+Pj4+PiAtQ0hBUjgg Kg0KPj4+Pj4gLUVGSUFQSQ0KPj4+Pj4gLVVuaWNvZGVTdHJUb0FzY2lpU3RyICgNCj4+Pj4+IC0g IElOICAgICAgQ09OU1QgQ0hBUjE2ICAgICAgICAgICAgICAqU291cmNlLA0KPj4+Pj4gLSAgT1VU ICAgICBDSEFSOCAgICAgICAgICAgICAgICAgICAgICpEZXN0aW5hdGlvbg0KPj4+Pj4gLSAgKQ0K Pj4+Pj4gLXsNCj4+Pj4+IC0gIENIQVI4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpS ZXR1cm5WYWx1ZTsNCj4+Pj4+IC0NCj4+Pj4+IC0gIEFTU0VSVCAoRGVzdGluYXRpb24gIT0gTlVM TCk7DQo+Pj4+PiAtDQo+Pj4+PiAtICAvLw0KPj4+Pj4gLSAgLy8gQVNTRVJUIGlmIFNvdXJjZSBp cyBsb25nIHRoYW4gUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGguDQo+Pj4+PiAtICAvLyBM ZW5ndGggdGVzdHMgYXJlIHBlcmZvcm1lZCBpbnNpZGUgU3RyTGVuKCkuDQo+Pj4+PiAtICAvLw0K Pj4+Pj4gLSAgQVNTRVJUIChTdHJTaXplIChTb3VyY2UpICE9IDApOw0KPj4+Pj4gLQ0KPj4+Pj4g LSAgLy8NCj4+Pj4+IC0gIC8vIFNvdXJjZSBhbmQgRGVzdGluYXRpb24gc2hvdWxkIG5vdCBvdmVy bGFwDQo+Pj4+PiAtICAvLw0KPj4+Pj4gLSAgQVNTRVJUICgoVUlOVE4pIChEZXN0aW5hdGlvbiAt IChDSEFSOCAqKSBTb3VyY2UpID49IFN0clNpemUgKFNvdXJjZSkpOw0KPj4+Pj4gLSAgQVNTRVJU ICgoVUlOVE4pICgoQ0hBUjggKikgU291cmNlIC0gRGVzdGluYXRpb24pID4gU3RyTGVuIChTb3Vy Y2UpKTsNCj4+Pj4+IC0NCj4+Pj4+IC0NCj4+Pj4+IC0gIFJldHVyblZhbHVlID0gRGVzdGluYXRp b247DQo+Pj4+PiAtICB3aGlsZSAoKlNvdXJjZSAhPSAnXDAnKSB7DQo+Pj4+PiAtICAgIC8vDQo+ Pj4+PiAtICAgIC8vIElmIGFueSBVbmljb2RlIGNoYXJhY3RlcnMgaW4gU291cmNlIGNvbnRhaW4N Cj4+Pj4+IC0gICAgLy8gbm9uLXplcm8gdmFsdWUgaW4gdGhlIHVwcGVyIDggYml0cywgdGhlbiBB U1NFUlQoKS4NCj4+Pj4+IC0gICAgLy8NCj4+Pj4+IC0gICAgQVNTRVJUICgqU291cmNlIDwgMHgx MDApOw0KPj4+Pj4gLSAgICAqKERlc3RpbmF0aW9uKyspID0gKENIQVI4KSAqKFNvdXJjZSsrKTsN Cj4+Pj4+IC0gIH0NCj4+Pj4+IC0NCj4+Pj4+IC0gICpEZXN0aW5hdGlvbiA9ICdcMCc7DQo+Pj4+ PiAtDQo+Pj4+PiAtICAvLw0KPj4+Pj4gLSAgLy8gQVNTRVJUIE9yaWdpbmFsIERlc3RpbmF0aW9u IGlzIGxlc3MgbG9uZyB0aGFuIFBjZE1heGltdW1Bc2NpaVN0cmluZ0xlbmd0aC4NCj4+Pj4+IC0g IC8vIExlbmd0aCB0ZXN0cyBhcmUgcGVyZm9ybWVkIGluc2lkZSBBc2NpaVN0ckxlbigpLg0KPj4+ Pj4gLSAgLy8NCj4+Pj4+IC0gIEFTU0VSVCAoQXNjaWlTdHJTaXplIChSZXR1cm5WYWx1ZSkgIT0g MCk7DQo+Pj4+PiAtDQo+Pj4+PiAtICByZXR1cm4gUmV0dXJuVmFsdWU7DQo+Pj4+PiAtfQ0KPj4+ Pj4gLQ0KPj4+Pj4gLS8qKg0KPj4+Pj4gLSAgW0FUVEVOVElPTl0gVGhpcyBmdW5jdGlvbiB3aWxs IGJlIGRlcHJlY2F0ZWQgZm9yIHNlY3VyaXR5IHJlYXNvbi4NCj4+Pj4+IC0NCj4+Pj4+IC0gIENv cGllcyBvbmUgTnVsbC10ZXJtaW5hdGVkIEFTQ0lJIHN0cmluZyB0byBhbm90aGVyIE51bGwtdGVy bWluYXRlZCBBU0NJSQ0KPj4+Pj4gLSAgc3RyaW5nIGFuZCByZXR1cm5zIHRoZSBuZXcgQVNDSUkg c3RyaW5nLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgVGhpcyBmdW5jdGlvbiBjb3BpZXMgdGhlIGNvbnRl bnRzIG9mIHRoZSBBU0NJSSBzdHJpbmcgU291cmNlIHRvIHRoZSBBU0NJSQ0KPj4+Pj4gLSAgc3Ry aW5nIERlc3RpbmF0aW9uLCBhbmQgcmV0dXJucyBEZXN0aW5hdGlvbi4gSWYgU291cmNlIGFuZCBE ZXN0aW5hdGlvbg0KPj4+Pj4gLSAgb3ZlcmxhcCwgdGhlbiB0aGUgcmVzdWx0cyBhcmUgdW5kZWZp bmVkLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgSWYgRGVzdGluYXRpb24gaXMgTlVMTCwgdGhlbiBBU1NF UlQoKS4NCj4+Pj4+IC0gIElmIFNvdXJjZSBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4g LSAgSWYgU291cmNlIGFuZCBEZXN0aW5hdGlvbiBvdmVybGFwLCB0aGVuIEFTU0VSVCgpLg0KPj4+ Pj4gLSAgSWYgUGNkTWF4aW11bUFzY2lpU3RyaW5nTGVuZ3RoIGlzIG5vdCB6ZXJvIGFuZCBTb3Vy Y2UgY29udGFpbnMgbW9yZSB0aGFuDQo+Pj4+PiAtICBQY2RNYXhpbXVtQXNjaWlTdHJpbmdMZW5n dGggQVNDSUkgY2hhcmFjdGVycywgbm90IGluY2x1ZGluZyB0aGUgTnVsbC10ZXJtaW5hdG9yLA0K Pj4+Pj4gLSAgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEBwYXJhbSAgRGVzdGlu YXRpb24gQSBwb2ludGVyIHRvIGEgTnVsbC10ZXJtaW5hdGVkIEFTQ0lJIHN0cmluZy4NCj4+Pj4+ IC0gIEBwYXJhbSAgU291cmNlICAgICAgQSBwb2ludGVyIHRvIGEgTnVsbC10ZXJtaW5hdGVkIEFT Q0lJIHN0cmluZy4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEByZXR1cm4gRGVzdGluYXRpb24NCj4+Pj4+ IC0NCj4+Pj4+IC0qKi8NCj4+Pj4+IC1DSEFSOCAqDQo+Pj4+PiAtRUZJQVBJDQo+Pj4+PiAtQXNj aWlTdHJDcHkgKA0KPj4+Pj4gLSAgT1VUICAgICBDSEFSOCAgICAgICAgICAgICAgICAgICAgICpE ZXN0aW5hdGlvbiwNCj4+Pj4+IC0gIElOICAgICAgQ09OU1QgQ0hBUjggICAgICAgICAgICAgICAq U291cmNlDQo+Pj4+PiAtICApDQo+Pj4+PiAtew0KPj4+Pj4gLSAgQ0hBUjggICAgICAgICAgICAg ICAgICAgICAgICAgICAgICpSZXR1cm5WYWx1ZTsNCj4+Pj4+IC0NCj4+Pj4+IC0gIC8vDQo+Pj4+ PiAtICAvLyBEZXN0aW5hdGlvbiBjYW5ub3QgYmUgTlVMTA0KPj4+Pj4gLSAgLy8NCj4+Pj4+IC0g IEFTU0VSVCAoRGVzdGluYXRpb24gIT0gTlVMTCk7DQo+Pj4+PiAtDQo+Pj4+PiAtICAvLw0KPj4+ Pj4gLSAgLy8gRGVzdGluYXRpb24gYW5kIHNvdXJjZSBjYW5ub3Qgb3ZlcmxhcA0KPj4+Pj4gLSAg Ly8NCj4+Pj4+IC0gIEFTU0VSVCAoKFVJTlROKShEZXN0aW5hdGlvbiAtIFNvdXJjZSkgPiBBc2Np aVN0ckxlbiAoU291cmNlKSk7DQo+Pj4+PiAtICBBU1NFUlQgKChVSU5UTikoU291cmNlIC0gRGVz dGluYXRpb24pID4gQXNjaWlTdHJMZW4gKFNvdXJjZSkpOw0KPj4+Pj4gLQ0KPj4+Pj4gLSAgUmV0 dXJuVmFsdWUgPSBEZXN0aW5hdGlvbjsNCj4+Pj4+IC0gIHdoaWxlICgqU291cmNlICE9IDApIHsN Cj4+Pj4+IC0gICAgKihEZXN0aW5hdGlvbisrKSA9ICooU291cmNlKyspOw0KPj4+Pj4gLSAgfQ0K Pj4+Pj4gLSAgKkRlc3RpbmF0aW9uID0gMDsNCj4+Pj4+IC0gIHJldHVybiBSZXR1cm5WYWx1ZTsN Cj4+Pj4+IC19DQo+Pj4+PiAtDQo+Pj4+PiAtLyoqDQo+Pj4+PiAtICBbQVRURU5USU9OXSBUaGlz IGZ1bmN0aW9uIHdpbGwgYmUgZGVwcmVjYXRlZCBmb3Igc2VjdXJpdHkgcmVhc29uLg0KPj4+Pj4g LQ0KPj4+Pj4gLSAgQ29waWVzIHVwIHRvIGEgc3BlY2lmaWVkIGxlbmd0aCBvbmUgTnVsbC10ZXJt aW5hdGVkIEFTQ0lJIHN0cmluZyB0byBhbm90aGVyDQo+Pj4+PiAtICBOdWxsLXRlcm1pbmF0ZWQg QVNDSUkgc3RyaW5nIGFuZCByZXR1cm5zIHRoZSBuZXcgQVNDSUkgc3RyaW5nLg0KPj4+Pj4gLQ0K Pj4+Pj4gLSAgVGhpcyBmdW5jdGlvbiBjb3BpZXMgdGhlIGNvbnRlbnRzIG9mIHRoZSBBU0NJSSBz dHJpbmcgU291cmNlIHRvIHRoZSBBU0NJSQ0KPj4+Pj4gLSAgc3RyaW5nIERlc3RpbmF0aW9uLCBh bmQgcmV0dXJucyBEZXN0aW5hdGlvbi4gQXQgbW9zdCwgTGVuZ3RoIEFTQ0lJIGNoYXJhY3RlcnMN Cj4+Pj4+IC0gIGFyZSBjb3BpZWQgZnJvbSBTb3VyY2UgdG8gRGVzdGluYXRpb24uIElmIExlbmd0 aCBpcyAwLCB0aGVuIERlc3RpbmF0aW9uIGlzDQo+Pj4+PiAtICByZXR1cm5lZCB1bm1vZGlmaWVk LiBJZiBMZW5ndGggaXMgZ3JlYXRlciB0aGF0IHRoZSBudW1iZXIgb2YgQVNDSUkgY2hhcmFjdGVy cw0KPj4+Pj4gLSAgaW4gU291cmNlLCB0aGVuIERlc3RpbmF0aW9uIGlzIHBhZGRlZCB3aXRoIE51 bGwgQVNDSUkgY2hhcmFjdGVycy4gSWYgU291cmNlDQo+Pj4+PiAtICBhbmQgRGVzdGluYXRpb24g b3ZlcmxhcCwgdGhlbiB0aGUgcmVzdWx0cyBhcmUgdW5kZWZpbmVkLg0KPj4+Pj4gLQ0KPj4+Pj4g LSAgSWYgRGVzdGluYXRpb24gaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIFNv dXJjZSBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgU291cmNlIGFuZCBEZXN0 aW5hdGlvbiBvdmVybGFwLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgUGNkTWF4aW11bUFz Y2lpU3RyaW5nTGVuZ3RoIGlzIG5vdCB6ZXJvLCBhbmQgTGVuZ3RoIGlzIGdyZWF0ZXIgdGhhbg0K Pj4+Pj4gLSAgUGNkTWF4aW11bUFzY2lpU3RyaW5nTGVuZ3RoLCB0aGVuIEFTU0VSVCgpLg0KPj4+ Pj4gLSAgSWYgUGNkTWF4aW11bUFzY2lpU3RyaW5nTGVuZ3RoIGlzIG5vdCB6ZXJvLCBhbmQgU291 cmNlIGNvbnRhaW5zIG1vcmUgdGhhbg0KPj4+Pj4gLSAgUGNkTWF4aW11bUFzY2lpU3RyaW5nTGVu Z3RoIEFTQ0lJIGNoYXJhY3RlcnMsIG5vdCBpbmNsdWRpbmcgdGhlIE51bGwtdGVybWluYXRvciwN Cj4+Pj4+IC0gIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcGFyYW0gIERlc3Rp bmF0aW9uIEEgcG9pbnRlciB0byBhIE51bGwtdGVybWluYXRlZCBBU0NJSSBzdHJpbmcuDQo+Pj4+ PiAtICBAcGFyYW0gIFNvdXJjZSAgICAgIEEgcG9pbnRlciB0byBhIE51bGwtdGVybWluYXRlZCBB U0NJSSBzdHJpbmcuDQo+Pj4+PiAtICBAcGFyYW0gIExlbmd0aCAgICAgIFRoZSBtYXhpbXVtIG51 bWJlciBvZiBBU0NJSSBjaGFyYWN0ZXJzIHRvIGNvcHkuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcmV0 dXJuIERlc3RpbmF0aW9uDQo+Pj4+PiAtDQo+Pj4+PiAtKiovDQo+Pj4+PiAtQ0hBUjggKg0KPj4+ Pj4gLUVGSUFQSQ0KPj4+Pj4gLUFzY2lpU3RybkNweSAoDQo+Pj4+PiAtICBPVVQgICAgIENIQVI4 ICAgICAgICAgICAgICAgICAgICAgKkRlc3RpbmF0aW9uLA0KPj4+Pj4gLSAgSU4gICAgICBDT05T VCBDSEFSOCAgICAgICAgICAgICAgICpTb3VyY2UsDQo+Pj4+PiAtICBJTiAgICAgIFVJTlROICAg ICAgICAgICAgICAgICAgICAgTGVuZ3RoDQo+Pj4+PiAtICApDQo+Pj4+PiAtew0KPj4+Pj4gLSAg Q0hBUjggICAgICAgICAgICAgICAgICAgICAgICAgICAgICpSZXR1cm5WYWx1ZTsNCj4+Pj4+IC0N Cj4+Pj4+IC0gIGlmIChMZW5ndGggPT0gMCkgew0KPj4+Pj4gLSAgICByZXR1cm4gRGVzdGluYXRp b247DQo+Pj4+PiAtICB9DQo+Pj4+PiAtDQo+Pj4+PiAtICAvLw0KPj4+Pj4gLSAgLy8gRGVzdGlu YXRpb24gY2Fubm90IGJlIE5VTEwNCj4+Pj4+IC0gIC8vDQo+Pj4+PiAtICBBU1NFUlQgKERlc3Rp bmF0aW9uICE9IE5VTEwpOw0KPj4+Pj4gLQ0KPj4+Pj4gLSAgLy8NCj4+Pj4+IC0gIC8vIERlc3Rp bmF0aW9uIGFuZCBzb3VyY2UgY2Fubm90IG92ZXJsYXANCj4+Pj4+IC0gIC8vDQo+Pj4+PiAtICBB U1NFUlQgKChVSU5UTikoRGVzdGluYXRpb24gLSBTb3VyY2UpID4gQXNjaWlTdHJMZW4gKFNvdXJj ZSkpOw0KPj4+Pj4gLSAgQVNTRVJUICgoVUlOVE4pKFNvdXJjZSAtIERlc3RpbmF0aW9uKSA+PSBM ZW5ndGgpOw0KPj4+Pj4gLQ0KPj4+Pj4gLSAgaWYgKFBjZEdldDMyIChQY2RNYXhpbXVtQXNjaWlT dHJpbmdMZW5ndGgpICE9IDApIHsNCj4+Pj4+IC0gICAgQVNTRVJUIChMZW5ndGggPD0gUGNkR2V0 MzIgKFBjZE1heGltdW1Bc2NpaVN0cmluZ0xlbmd0aCkpOw0KPj4+Pj4gLSAgfQ0KPj4+Pj4gLQ0K Pj4+Pj4gLSAgUmV0dXJuVmFsdWUgPSBEZXN0aW5hdGlvbjsNCj4+Pj4+IC0NCj4+Pj4+IC0gIHdo aWxlICgqU291cmNlICE9IDAgJiYgTGVuZ3RoID4gMCkgew0KPj4+Pj4gLSAgICAqKERlc3RpbmF0 aW9uKyspID0gKihTb3VyY2UrKyk7DQo+Pj4+PiAtICAgIExlbmd0aC0tOw0KPj4+Pj4gLSAgfQ0K Pj4+Pj4gLQ0KPj4+Pj4gLSAgWmVyb01lbSAoRGVzdGluYXRpb24sIExlbmd0aCAqIHNpemVvZiAo KkRlc3RpbmF0aW9uKSk7DQo+Pj4+PiAtICByZXR1cm4gUmV0dXJuVmFsdWU7DQo+Pj4+PiAtfQ0K Pj4+Pj4gLSNlbmRpZg0KPj4+Pj4NCj4+Pj4+ICAgLyoqDQo+Pj4+PiAgICAgUmV0dXJucyB0aGUg bGVuZ3RoIG9mIGEgTnVsbC10ZXJtaW5hdGVkIEFTQ0lJIHN0cmluZy4NCj4+Pj4+IEBAIC0xMzI5 LDExNCArODgzLDYgQEAgQXNjaWlTdHJuQ21wICgNCj4+Pj4+ICAgICByZXR1cm4gKkZpcnN0U3Ry aW5nIC0gKlNlY29uZFN0cmluZzsNCj4+Pj4+ICAgfQ0KPj4+Pj4NCj4+Pj4+IC0jaWZuZGVmIERJ U0FCTEVfTkVXX0RFUFJFQ0FURURfSU5URVJGQUNFUw0KPj4+Pj4gLQ0KPj4+Pj4gLS8qKg0KPj4+ Pj4gLSAgW0FUVEVOVElPTl0gVGhpcyBmdW5jdGlvbiB3aWxsIGJlIGRlcHJlY2F0ZWQgZm9yIHNl Y3VyaXR5IHJlYXNvbi4NCj4+Pj4+IC0NCj4+Pj4+IC0gIENvbmNhdGVuYXRlcyBvbmUgTnVsbC10 ZXJtaW5hdGVkIEFTQ0lJIHN0cmluZyB0byBhbm90aGVyIE51bGwtdGVybWluYXRlZA0KPj4+Pj4g LSAgQVNDSUkgc3RyaW5nLCBhbmQgcmV0dXJucyB0aGUgY29uY2F0ZW5hdGVkIEFTQ0lJIHN0cmlu Zy4NCj4+Pj4+IC0NCj4+Pj4+IC0gIFRoaXMgZnVuY3Rpb24gY29uY2F0ZW5hdGVzIHR3byBOdWxs LXRlcm1pbmF0ZWQgQVNDSUkgc3RyaW5ncy4gVGhlIGNvbnRlbnRzIG9mDQo+Pj4+PiAtICBOdWxs LXRlcm1pbmF0ZWQgQVNDSUkgc3RyaW5nIFNvdXJjZSBhcmUgY29uY2F0ZW5hdGVkIHRvIHRoZSBl bmQgb2YgTnVsbC0NCj4+Pj4+IC0gIHRlcm1pbmF0ZWQgQVNDSUkgc3RyaW5nIERlc3RpbmF0aW9u LiBUaGUgTnVsbC10ZXJtaW5hdGVkIGNvbmNhdGVuYXRlZCBBU0NJSQ0KPj4+Pj4gLSAgU3RyaW5n IGlzIHJldHVybmVkLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgSWYgRGVzdGluYXRpb24gaXMgTlVMTCwg dGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIFNvdXJjZSBpcyBOVUxMLCB0aGVuIEFTU0VSVCgp Lg0KPj4+Pj4gLSAgSWYgUGNkTWF4aW11bUFzY2lpU3RyaW5nTGVuZ3RoIGlzIG5vdCB6ZXJvIGFu ZCBEZXN0aW5hdGlvbiBjb250YWlucyBtb3JlIHRoYW4NCj4+Pj4+IC0gIFBjZE1heGltdW1Bc2Np aVN0cmluZ0xlbmd0aCBBU0NJSSBjaGFyYWN0ZXJzLCBub3QgaW5jbHVkaW5nIHRoZSBOdWxsLXRl cm1pbmF0b3IsDQo+Pj4+PiAtICB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgUGNkTWF4aW11 bUFzY2lpU3RyaW5nTGVuZ3RoIGlzIG5vdCB6ZXJvIGFuZCBTb3VyY2UgY29udGFpbnMgbW9yZSB0 aGFuDQo+Pj4+PiAtICBQY2RNYXhpbXVtQXNjaWlTdHJpbmdMZW5ndGggQVNDSUkgY2hhcmFjdGVy cywgbm90IGluY2x1ZGluZyB0aGUgTnVsbC10ZXJtaW5hdG9yLA0KPj4+Pj4gLSAgdGhlbiBBU1NF UlQoKS4NCj4+Pj4+IC0gIElmIFBjZE1heGltdW1Bc2NpaVN0cmluZ0xlbmd0aCBpcyBub3QgemVy byBhbmQgY29uY2F0ZW5hdGluZyBEZXN0aW5hdGlvbiBhbmQNCj4+Pj4+IC0gIFNvdXJjZSByZXN1 bHRzIGluIGEgQVNDSUkgc3RyaW5nIHdpdGggbW9yZSB0aGFuIFBjZE1heGltdW1Bc2NpaVN0cmlu Z0xlbmd0aA0KPj4+Pj4gLSAgQVNDSUkgY2hhcmFjdGVycywgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+ IC0NCj4+Pj4+IC0gIEBwYXJhbSAgRGVzdGluYXRpb24gQSBwb2ludGVyIHRvIGEgTnVsbC10ZXJt aW5hdGVkIEFTQ0lJIHN0cmluZy4NCj4+Pj4+IC0gIEBwYXJhbSAgU291cmNlICAgICAgQSBwb2lu dGVyIHRvIGEgTnVsbC10ZXJtaW5hdGVkIEFTQ0lJIHN0cmluZy4NCj4+Pj4+IC0NCj4+Pj4+IC0g IEByZXR1cm4gRGVzdGluYXRpb24NCj4+Pj4+IC0NCj4+Pj4+IC0qKi8NCj4+Pj4+IC1DSEFSOCAq DQo+Pj4+PiAtRUZJQVBJDQo+Pj4+PiAtQXNjaWlTdHJDYXQgKA0KPj4+Pj4gLSAgSU4gT1VUIENI QVI4ICAgICpEZXN0aW5hdGlvbiwNCj4+Pj4+IC0gIElOIENPTlNUIENIQVI4ICAqU291cmNlDQo+ Pj4+PiAtICApDQo+Pj4+PiAtew0KPj4+Pj4gLSAgQXNjaWlTdHJDcHkgKERlc3RpbmF0aW9uICsg QXNjaWlTdHJMZW4gKERlc3RpbmF0aW9uKSwgU291cmNlKTsNCj4+Pj4+IC0NCj4+Pj4+IC0gIC8v DQo+Pj4+PiAtICAvLyBTaXplIG9mIHRoZSByZXN1bHRpbmcgc3RyaW5nIHNob3VsZCBuZXZlciBi ZSB6ZXJvLg0KPj4+Pj4gLSAgLy8gUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGggaXMgdGVz dGVkIGluc2lkZSBTdHJMZW4oKS4NCj4+Pj4+IC0gIC8vDQo+Pj4+PiAtICBBU1NFUlQgKEFzY2lp U3RyU2l6ZSAoRGVzdGluYXRpb24pICE9IDApOw0KPj4+Pj4gLSAgcmV0dXJuIERlc3RpbmF0aW9u Ow0KPj4+Pj4gLX0NCj4+Pj4+IC0NCj4+Pj4+IC0vKioNCj4+Pj4+IC0gIFtBVFRFTlRJT05dIFRo aXMgZnVuY3Rpb24gd2lsbCBiZSBkZXByZWNhdGVkIGZvciBzZWN1cml0eSByZWFzb24uDQo+Pj4+ PiAtDQo+Pj4+PiAtICBDb25jYXRlbmF0ZXMgdXAgdG8gYSBzcGVjaWZpZWQgbGVuZ3RoIG9uZSBO dWxsLXRlcm1pbmF0ZWQgQVNDSUkgc3RyaW5nIHRvDQo+Pj4+PiAtICB0aGUgZW5kIG9mIGFub3Ro ZXIgTnVsbC10ZXJtaW5hdGVkIEFTQ0lJIHN0cmluZywgYW5kIHJldHVybnMgdGhlDQo+Pj4+PiAt ICBjb25jYXRlbmF0ZWQgQVNDSUkgc3RyaW5nLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgVGhpcyBmdW5j dGlvbiBjb25jYXRlbmF0ZXMgdHdvIE51bGwtdGVybWluYXRlZCBBU0NJSSBzdHJpbmdzLiBUaGUg Y29udGVudHMNCj4+Pj4+IC0gIG9mIE51bGwtdGVybWluYXRlZCBBU0NJSSBzdHJpbmcgU291cmNl IGFyZSBjb25jYXRlbmF0ZWQgdG8gdGhlIGVuZCBvZiBOdWxsLQ0KPj4+Pj4gLSAgdGVybWluYXRl ZCBBU0NJSSBzdHJpbmcgRGVzdGluYXRpb24sIGFuZCBEZXN0aW5hdGlvbiBpcyByZXR1cm5lZC4g QXQgbW9zdCwNCj4+Pj4+IC0gIExlbmd0aCBBU0NJSSBjaGFyYWN0ZXJzIGFyZSBjb25jYXRlbmF0 ZWQgZnJvbSBTb3VyY2UgdG8gdGhlIGVuZCBvZg0KPj4+Pj4gLSAgRGVzdGluYXRpb24sIGFuZCBE ZXN0aW5hdGlvbiBpcyBhbHdheXMgTnVsbC10ZXJtaW5hdGVkLiBJZiBMZW5ndGggaXMgMCwgdGhl bg0KPj4+Pj4gLSAgRGVzdGluYXRpb24gaXMgcmV0dXJuZWQgdW5tb2RpZmllZC4gSWYgU291cmNl IGFuZCBEZXN0aW5hdGlvbiBvdmVybGFwLCB0aGVuDQo+Pj4+PiAtICB0aGUgcmVzdWx0cyBhcmUg dW5kZWZpbmVkLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgSWYgTGVuZ3RoID4gMCBhbmQgRGVzdGluYXRp b24gaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIExlbmd0aCA+IDAgYW5kIFNv dXJjZSBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgU291cmNlIGFuZCBEZXN0 aW5hdGlvbiBvdmVybGFwLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgUGNkTWF4aW11bUFz Y2lpU3RyaW5nTGVuZ3RoIGlzIG5vdCB6ZXJvLCBhbmQgTGVuZ3RoIGlzIGdyZWF0ZXIgdGhhbg0K Pj4+Pj4gLSAgUGNkTWF4aW11bUFzY2lpU3RyaW5nTGVuZ3RoLCB0aGVuIEFTU0VSVCgpLg0KPj4+ Pj4gLSAgSWYgUGNkTWF4aW11bUFzY2lpU3RyaW5nTGVuZ3RoIGlzIG5vdCB6ZXJvLCBhbmQgRGVz dGluYXRpb24gY29udGFpbnMgbW9yZSB0aGFuDQo+Pj4+PiAtICBQY2RNYXhpbXVtQXNjaWlTdHJp bmdMZW5ndGggQVNDSUkgY2hhcmFjdGVycywgbm90IGluY2x1ZGluZyB0aGUgTnVsbC10ZXJtaW5h dG9yLA0KPj4+Pj4gLSAgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIFBjZE1heGltdW1Bc2Np aVN0cmluZ0xlbmd0aCBpcyBub3QgemVybywgYW5kIFNvdXJjZSBjb250YWlucyBtb3JlIHRoYW4N Cj4+Pj4+IC0gIFBjZE1heGltdW1Bc2NpaVN0cmluZ0xlbmd0aCBBU0NJSSBjaGFyYWN0ZXJzLCBu b3QgaW5jbHVkaW5nIHRoZSBOdWxsLXRlcm1pbmF0b3IsDQo+Pj4+PiAtICB0aGVuIEFTU0VSVCgp Lg0KPj4+Pj4gLSAgSWYgUGNkTWF4aW11bUFzY2lpU3RyaW5nTGVuZ3RoIGlzIG5vdCB6ZXJvLCBh bmQgY29uY2F0ZW5hdGluZyBEZXN0aW5hdGlvbiBhbmQNCj4+Pj4+IC0gIFNvdXJjZSByZXN1bHRz IGluIGEgQVNDSUkgc3RyaW5nIHdpdGggbW9yZSB0aGFuIFBjZE1heGltdW1Bc2NpaVN0cmluZ0xl bmd0aA0KPj4+Pj4gLSAgQVNDSUkgY2hhcmFjdGVycywgbm90IGluY2x1ZGluZyB0aGUgTnVsbC10 ZXJtaW5hdG9yLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHBhcmFtICBEZXN0 aW5hdGlvbiBBIHBvaW50ZXIgdG8gYSBOdWxsLXRlcm1pbmF0ZWQgQVNDSUkgc3RyaW5nLg0KPj4+ Pj4gLSAgQHBhcmFtICBTb3VyY2UgICAgICBBIHBvaW50ZXIgdG8gYSBOdWxsLXRlcm1pbmF0ZWQg QVNDSUkgc3RyaW5nLg0KPj4+Pj4gLSAgQHBhcmFtICBMZW5ndGggICAgICBUaGUgbWF4aW11bSBu dW1iZXIgb2YgQVNDSUkgY2hhcmFjdGVycyB0byBjb25jYXRlbmF0ZSBmcm9tDQo+Pj4+PiAtICAg ICAgICAgICAgICAgICAgICAgIFNvdXJjZS4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEByZXR1cm4gRGVz dGluYXRpb24NCj4+Pj4+IC0NCj4+Pj4+IC0qKi8NCj4+Pj4+IC1DSEFSOCAqDQo+Pj4+PiAtRUZJ QVBJDQo+Pj4+PiAtQXNjaWlTdHJuQ2F0ICgNCj4+Pj4+IC0gIElOIE9VVCAgQ0hBUjggICAgICAg ICAgICAgICAgICAgICAqRGVzdGluYXRpb24sDQo+Pj4+PiAtICBJTiAgICAgIENPTlNUIENIQVI4 ICAgICAgICAgICAgICAgKlNvdXJjZSwNCj4+Pj4+IC0gIElOICAgICAgVUlOVE4gICAgICAgICAg ICAgICAgICAgICBMZW5ndGgNCj4+Pj4+IC0gICkNCj4+Pj4+IC17DQo+Pj4+PiAtICBVSU5UTiAg IERlc3RpbmF0aW9uTGVuOw0KPj4+Pj4gLQ0KPj4+Pj4gLSAgRGVzdGluYXRpb25MZW4gPSBBc2Np aVN0ckxlbiAoRGVzdGluYXRpb24pOw0KPj4+Pj4gLSAgQXNjaWlTdHJuQ3B5IChEZXN0aW5hdGlv biArIERlc3RpbmF0aW9uTGVuLCBTb3VyY2UsIExlbmd0aCk7DQo+Pj4+PiAtICBEZXN0aW5hdGlv bltEZXN0aW5hdGlvbkxlbiArIExlbmd0aF0gPSAnXDAnOw0KPj4+Pj4gLQ0KPj4+Pj4gLSAgLy8N Cj4+Pj4+IC0gIC8vIFNpemUgb2YgdGhlIHJlc3VsdGluZyBzdHJpbmcgc2hvdWxkIG5ldmVyIGJl IHplcm8uDQo+Pj4+PiAtICAvLyBQY2RNYXhpbXVtVW5pY29kZVN0cmluZ0xlbmd0aCBpcyB0ZXN0 ZWQgaW5zaWRlIFN0ckxlbigpLg0KPj4+Pj4gLSAgLy8NCj4+Pj4+IC0gIEFTU0VSVCAoQXNjaWlT dHJTaXplIChEZXN0aW5hdGlvbikgIT0gMCk7DQo+Pj4+PiAtICByZXR1cm4gRGVzdGluYXRpb247 DQo+Pj4+PiAtfQ0KPj4+Pj4gLSNlbmRpZg0KPj4+Pj4NCj4+Pj4+ICAgLyoqDQo+Pj4+PiAgICAg UmV0dXJucyB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiBhIE51bGwtdGVybWluYXRlZCBBU0NJSSBz dWItc3RyaW5nDQo+Pj4+PiBAQCAtMTY4NCw3OCArMTEzMCw2IEBAIEFzY2lpU3RySGV4VG9VaW50 NjQgKA0KPj4+Pj4gICAgIHJldHVybiBSZXN1bHQ7DQo+Pj4+PiAgIH0NCj4+Pj4+DQo+Pj4+PiAt I2lmbmRlZiBESVNBQkxFX05FV19ERVBSRUNBVEVEX0lOVEVSRkFDRVMNCj4+Pj4+IC0NCj4+Pj4+ IC0vKioNCj4+Pj4+IC0gIFtBVFRFTlRJT05dIFRoaXMgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBm b3Igc2VjdXJpdHkgcmVhc29uLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQ29udmVydCBvbmUgTnVsbC10 ZXJtaW5hdGVkIEFTQ0lJIHN0cmluZyB0byBhIE51bGwtdGVybWluYXRlZA0KPj4+Pj4gLSAgVW5p Y29kZSBzdHJpbmcgYW5kIHJldHVybnMgdGhlIFVuaWNvZGUgc3RyaW5nLg0KPj4+Pj4gLQ0KPj4+ Pj4gLSAgVGhpcyBmdW5jdGlvbiBjb252ZXJ0cyB0aGUgY29udGVudHMgb2YgdGhlIEFTQ0lJIHN0 cmluZyBTb3VyY2UgdG8gdGhlIFVuaWNvZGUNCj4+Pj4+IC0gIHN0cmluZyBEZXN0aW5hdGlvbiwg YW5kIHJldHVybnMgRGVzdGluYXRpb24uICBUaGUgZnVuY3Rpb24gdGVybWluYXRlcyB0aGUNCj4+ Pj4+IC0gIFVuaWNvZGUgc3RyaW5nIERlc3RpbmF0aW9uIGJ5IGFwcGVuZGluZyBhIE51bGwtdGVy bWluYXRvciBjaGFyYWN0ZXIgYXQgdGhlIGVuZC4NCj4+Pj4+IC0gIFRoZSBjYWxsZXIgaXMgcmVz cG9uc2libGUgdG8gbWFrZSBzdXJlIERlc3RpbmF0aW9uIHBvaW50cyB0byBhIGJ1ZmZlciB3aXRo IHNpemUNCj4+Pj4+IC0gIGVxdWFsIG9yIGdyZWF0ZXIgdGhhbiAoKEFzY2lpU3RyTGVuIChTb3Vy Y2UpICsgMSkgKiBzaXplb2YgKENIQVIxNikpIGluIGJ5dGVzLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAg SWYgRGVzdGluYXRpb24gaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIERlc3Rp bmF0aW9uIGlzIG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgp Lg0KPj4+Pj4gLSAgSWYgU291cmNlIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJ ZiBTb3VyY2UgYW5kIERlc3RpbmF0aW9uIG92ZXJsYXAsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAt ICBJZiBQY2RNYXhpbXVtQXNjaWlTdHJpbmdMZW5ndGggaXMgbm90IHplcm8sIGFuZCBTb3VyY2Ug Y29udGFpbnMgbW9yZSB0aGFuDQo+Pj4+PiAtICBQY2RNYXhpbXVtQXNjaWlTdHJpbmdMZW5ndGgg QVNDSUkgY2hhcmFjdGVycyBub3QgaW5jbHVkaW5nIHRoZSBOdWxsLXRlcm1pbmF0b3IsDQo+Pj4+ PiAtICB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdM ZW5ndGggaXMgbm90IHplcm8sIGFuZCBTb3VyY2UgY29udGFpbnMgbW9yZSB0aGFuDQo+Pj4+PiAt ICBQY2RNYXhpbXVtVW5pY29kZVN0cmluZ0xlbmd0aCBBU0NJSSBjaGFyYWN0ZXJzIG5vdCBpbmNs dWRpbmcgdGhlDQo+Pj4+PiAtICBOdWxsLXRlcm1pbmF0b3IsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+ PiAtDQo+Pj4+PiAtICBAcGFyYW0gIFNvdXJjZSAgICAgICAgQSBwb2ludGVyIHRvIGEgTnVsbC10 ZXJtaW5hdGVkIEFTQ0lJIHN0cmluZy4NCj4+Pj4+IC0gIEBwYXJhbSAgRGVzdGluYXRpb24gICBB IHBvaW50ZXIgdG8gYSBOdWxsLXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcuDQo+Pj4+PiAtDQo+ Pj4+PiAtICBAcmV0dXJuIERlc3RpbmF0aW9uLg0KPj4+Pj4gLQ0KPj4+Pj4gLSoqLw0KPj4+Pj4g LUNIQVIxNiAqDQo+Pj4+PiAtRUZJQVBJDQo+Pj4+PiAtQXNjaWlTdHJUb1VuaWNvZGVTdHIgKA0K Pj4+Pj4gLSAgSU4gICAgICBDT05TVCBDSEFSOCAgICAgICAgICAgICAgICpTb3VyY2UsDQo+Pj4+ PiAtICBPVVQgICAgIENIQVIxNiAgICAgICAgICAgICAgICAgICAgKkRlc3RpbmF0aW9uDQo+Pj4+ PiAtICApDQo+Pj4+PiAtew0KPj4+Pj4gLSAgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICpSZXR1cm5WYWx1ZTsNCj4+Pj4+IC0NCj4+Pj4+IC0gIEFTU0VSVCAoRGVzdGluYXRpb24g IT0gTlVMTCk7DQo+Pj4+PiAtDQo+Pj4+PiAtICAvLw0KPj4+Pj4gLSAgLy8gQVNTRVJUIFNvdXJj ZSBpcyBsZXNzIGxvbmcgdGhhbiBQY2RNYXhpbXVtQXNjaWlTdHJpbmdMZW5ndGgNCj4+Pj4+IC0g IC8vDQo+Pj4+PiAtICBBU1NFUlQgKEFzY2lpU3RyU2l6ZSAoU291cmNlKSAhPSAwKTsNCj4+Pj4+ IC0NCj4+Pj4+IC0gIC8vDQo+Pj4+PiAtICAvLyBTb3VyY2UgYW5kIERlc3RpbmF0aW9uIHNob3Vs ZCBub3Qgb3ZlcmxhcA0KPj4+Pj4gLSAgLy8NCj4+Pj4+IC0gIEFTU0VSVCAoKFVJTlROKSAoKENI QVI4ICopIERlc3RpbmF0aW9uIC0gU291cmNlKSA+IEFzY2lpU3RyTGVuIChTb3VyY2UpKTsNCj4+ Pj4+IC0gIEFTU0VSVCAoKFVJTlROKSAoU291cmNlIC0gKENIQVI4ICopIERlc3RpbmF0aW9uKSA+ PSAoQXNjaWlTdHJTaXplIChTb3VyY2UpICogc2l6ZW9mIChDSEFSMTYpKSk7DQo+Pj4+PiAtDQo+ Pj4+PiAtDQo+Pj4+PiAtICBSZXR1cm5WYWx1ZSA9IERlc3RpbmF0aW9uOw0KPj4+Pj4gLSAgd2hp bGUgKCpTb3VyY2UgIT0gJ1wwJykgew0KPj4+Pj4gLSAgICAqKERlc3RpbmF0aW9uKyspID0gKENI QVIxNikoVUlOVDgpICooU291cmNlKyspOw0KPj4+Pj4gLSAgfQ0KPj4+Pj4gLSAgLy8NCj4+Pj4+ IC0gIC8vIEVuZCB0aGUgRGVzdGluYXRpb24gd2l0aCBhIE5VTEwuDQo+Pj4+PiAtICAvLw0KPj4+ Pj4gLSAgKkRlc3RpbmF0aW9uID0gJ1wwJzsNCj4+Pj4+IC0NCj4+Pj4+IC0gIC8vDQo+Pj4+PiAt ICAvLyBBU1NFUlQgT3JpZ2luYWwgRGVzdGluYXRpb24gaXMgbGVzcyBsb25nIHRoYW4gUGNkTWF4 aW11bVVuaWNvZGVTdHJpbmdMZW5ndGgNCj4+Pj4+IC0gIC8vDQo+Pj4+PiAtICBBU1NFUlQgKFN0 clNpemUgKFJldHVyblZhbHVlKSAhPSAwKTsNCj4+Pj4+IC0NCj4+Pj4+IC0gIHJldHVybiBSZXR1 cm5WYWx1ZTsNCj4+Pj4+IC19DQo+Pj4+PiAtDQo+Pj4+PiAtI2VuZGlmDQo+Pj4+Pg0KPj4+Pj4g ICBTVEFUSUMgQ0hBUjggRW5jb2RpbmdUYWJsZVtdID0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZX WFlaIg0KPj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhYmNkZWZnaGlq a2xtbm9wcXJzdHV2d3h5eiINCj4+Pj4+IGRpZmYgLS1naXQgYS9NZGVQa2cvTGlicmFyeS9CYXNl UGNkTGliTnVsbC9QY2RMaWIuYyBiL01kZVBrZy9MaWJyYXJ5L0Jhc2VQY2RMaWJOdWxsL1BjZExp Yi5jDQo+Pj4+PiBpbmRleCA0OTQ0Nzg4MGFlOGIuLjI2NWZhZTVkNzM2OCAxMDA2NDQNCj4+Pj4+ IC0tLSBhL01kZVBrZy9MaWJyYXJ5L0Jhc2VQY2RMaWJOdWxsL1BjZExpYi5jDQo+Pj4+PiArKysg Yi9NZGVQa2cvTGlicmFyeS9CYXNlUGNkTGliTnVsbC9QY2RMaWIuYw0KPj4+Pj4gQEAgLTM4Niwz NjcgKzM4Niw2IEBAIExpYlBjZEdldEV4U2l6ZSAoDQo+Pj4+PiAgIH0NCj4+Pj4+DQo+Pj4+Pg0K Pj4+Pj4gLQ0KPj4+Pj4gLSNpZm5kZWYgRElTQUJMRV9ORVdfREVQUkVDQVRFRF9JTlRFUkZBQ0VT DQo+Pj4+PiAtLyoqDQo+Pj4+PiAtICBUaGlzIGZ1bmN0aW9uIHByb3ZpZGVzIGEgbWVhbnMgYnkg d2hpY2ggdG8gc2V0IGEgdmFsdWUgZm9yIGEgZ2l2ZW4gUENEIHRva2VuLg0KPj4+Pj4gLQ0KPj4+ Pj4gLSAgU2V0cyB0aGUgOC1iaXQgdmFsdWUgZm9yIHRoZSB0b2tlbiBzcGVjaWZpZWQgYnkgVG9r ZW5OdW1iZXINCj4+Pj4+IC0gIHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgVmFsdWUuICBWYWx1 ZSBpcyByZXR1cm5lZC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIFRva2VuTnVtYmVy ICAgVGhlIFBDRCB0b2tlbiBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1ZSBmb3IuDQo+Pj4+ PiAtICBAcGFyYW1baW5dICBWYWx1ZSAgICAgICAgIFRoZSA4LWJpdCB2YWx1ZSB0byBzZXQuDQo+ Pj4+PiAtDQo+Pj4+PiAtICBAcmV0dXJuIFJldHVybiB0aGUgdmFsdWUgdGhhdCB3YXMgc2V0Lg0K Pj4+Pj4gLQ0KPj4+Pj4gLSoqLw0KPj4+Pj4gLVVJTlQ4DQo+Pj4+PiAtRUZJQVBJDQo+Pj4+PiAt TGliUGNkU2V0OCAoDQo+Pj4+PiAtICBJTiBVSU5UTiAgICAgICAgICAgICBUb2tlbk51bWJlciwN Cj4+Pj4+IC0gIElOIFVJTlQ4ICAgICAgICAgICAgIFZhbHVlDQo+Pj4+PiAtICApDQo+Pj4+PiAt ew0KPj4+Pj4gLSAgQVNTRVJUIChGQUxTRSk7DQo+Pj4+PiAtDQo+Pj4+PiAtICByZXR1cm4gMDsN Cj4+Pj4+IC19DQo+Pj4+PiAtDQo+Pj4+PiAtDQo+Pj4+PiAtDQo+Pj4+PiAtLyoqDQo+Pj4+PiAt ICBUaGlzIGZ1bmN0aW9uIHByb3ZpZGVzIGEgbWVhbnMgYnkgd2hpY2ggdG8gc2V0IGEgdmFsdWUg Zm9yIGEgZ2l2ZW4gUENEIHRva2VuLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgU2V0cyB0aGUgMTYtYml0 IHZhbHVlIGZvciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IFRva2VuTnVtYmVyDQo+Pj4+PiAtICB0 byB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IFZhbHVlLiAgVmFsdWUgaXMgcmV0dXJuZWQuDQo+Pj4+ PiAtDQo+Pj4+PiAtICBAcGFyYW1baW5dICBUb2tlbk51bWJlciAgIFRoZSBQQ0QgdG9rZW4gbnVt YmVyIHRvIHNldCBhIGN1cnJlbnQgdmFsdWUgZm9yLg0KPj4+Pj4gLSAgQHBhcmFtW2luXSAgVmFs dWUgICAgICAgICBUaGUgMTYtYml0IHZhbHVlIHRvIHNldC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEBy ZXR1cm4gUmV0dXJuIHRoZSB2YWx1ZSB0aGF0IHdhcyBzZXQuDQo+Pj4+PiAtDQo+Pj4+PiAtKiov DQo+Pj4+PiAtVUlOVDE2DQo+Pj4+PiAtRUZJQVBJDQo+Pj4+PiAtTGliUGNkU2V0MTYgKA0KPj4+ Pj4gLSAgSU4gVUlOVE4gICAgICAgICAgICAgVG9rZW5OdW1iZXIsDQo+Pj4+PiAtICBJTiBVSU5U MTYgICAgICAgICAgICBWYWx1ZQ0KPj4+Pj4gLSAgKQ0KPj4+Pj4gLXsNCj4+Pj4+IC0gIEFTU0VS VCAoRkFMU0UpOw0KPj4+Pj4gLQ0KPj4+Pj4gLSAgcmV0dXJuIDA7DQo+Pj4+PiAtfQ0KPj4+Pj4g LQ0KPj4+Pj4gLQ0KPj4+Pj4gLQ0KPj4+Pj4gLS8qKg0KPj4+Pj4gLSAgVGhpcyBmdW5jdGlvbiBw cm92aWRlcyBhIG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVlIGZvciBhIGdpdmVuIFBDRCB0 b2tlbi4NCj4+Pj4+IC0NCj4+Pj4+IC0gIFNldHMgdGhlIDMyLWJpdCB2YWx1ZSBmb3IgdGhlIHRv a2VuIHNwZWNpZmllZCBieSBUb2tlbk51bWJlcg0KPj4+Pj4gLSAgdG8gdGhlIHZhbHVlIHNwZWNp ZmllZCBieSBWYWx1ZS4gIFZhbHVlIGlzIHJldHVybmVkLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHBh cmFtW2luXSAgVG9rZW5OdW1iZXIgICBUaGUgUENEIHRva2VuIG51bWJlciB0byBzZXQgYSBjdXJy ZW50IHZhbHVlIGZvci4NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIFZhbHVlICAgICAgICAgVGhlIDMy LWJpdCB2YWx1ZSB0byBzZXQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcmV0dXJuIFJldHVybiB0aGUg dmFsdWUgdGhhdCB3YXMgc2V0Lg0KPj4+Pj4gLQ0KPj4+Pj4gLSoqLw0KPj4+Pj4gLVVJTlQzMg0K Pj4+Pj4gLUVGSUFQSQ0KPj4+Pj4gLUxpYlBjZFNldDMyICgNCj4+Pj4+IC0gIElOIFVJTlROICAg ICAgICAgICAgIFRva2VuTnVtYmVyLA0KPj4+Pj4gLSAgSU4gVUlOVDMyICAgICAgICAgICAgVmFs dWUNCj4+Pj4+IC0gICkNCj4+Pj4+IC17DQo+Pj4+PiAtICBBU1NFUlQgKEZBTFNFKTsNCj4+Pj4+ IC0NCj4+Pj4+IC0gIHJldHVybiAwOw0KPj4+Pj4gLX0NCj4+Pj4+IC0NCj4+Pj4+IC0NCj4+Pj4+ IC0NCj4+Pj4+IC0vKioNCj4+Pj4+IC0gIFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgYSBtZWFucyBi eSB3aGljaCB0byBzZXQgYSB2YWx1ZSBmb3IgYSBnaXZlbiBQQ0QgdG9rZW4uDQo+Pj4+PiAtDQo+ Pj4+PiAtICBTZXRzIHRoZSA2NC1iaXQgdmFsdWUgZm9yIHRoZSB0b2tlbiBzcGVjaWZpZWQgYnkg VG9rZW5OdW1iZXINCj4+Pj4+IC0gIHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgVmFsdWUuICBW YWx1ZSBpcyByZXR1cm5lZC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIFRva2VuTnVt YmVyICAgVGhlIFBDRCB0b2tlbiBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1ZSBmb3IuDQo+ Pj4+PiAtICBAcGFyYW1baW5dICBWYWx1ZSAgICAgICAgIFRoZSA2NC1iaXQgdmFsdWUgdG8gc2V0 Lg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHJldHVybiBSZXR1cm4gdGhlIHZhbHVlIHRoYXQgd2FzIHNl dC4NCj4+Pj4+IC0NCj4+Pj4+IC0qKi8NCj4+Pj4+IC1VSU5UNjQNCj4+Pj4+IC1FRklBUEkNCj4+ Pj4+IC1MaWJQY2RTZXQ2NCAoDQo+Pj4+PiAtICBJTiBVSU5UTiAgICAgICAgICAgICBUb2tlbk51 bWJlciwNCj4+Pj4+IC0gIElOIFVJTlQ2NCAgICAgICAgICAgIFZhbHVlDQo+Pj4+PiAtICApDQo+ Pj4+PiAtew0KPj4+Pj4gLSAgQVNTRVJUIChGQUxTRSk7DQo+Pj4+PiAtDQo+Pj4+PiAtICByZXR1 cm4gMDsNCj4+Pj4+IC19DQo+Pj4+PiAtDQo+Pj4+PiAtDQo+Pj4+PiAtDQo+Pj4+PiAtLyoqDQo+ Pj4+PiAtICBUaGlzIGZ1bmN0aW9uIHByb3ZpZGVzIGEgbWVhbnMgYnkgd2hpY2ggdG8gc2V0IGEg dmFsdWUgZm9yIGEgZ2l2ZW4gUENEIHRva2VuLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgU2V0cyBhIGJ1 ZmZlciBmb3IgdGhlIHRva2VuIHNwZWNpZmllZCBieSBUb2tlbk51bWJlciB0byB0aGUgdmFsdWUN Cj4+Pj4+IC0gIHNwZWNpZmllZCBieSBCdWZmZXIgYW5kIFNpemVPZkJ1ZmZlci4gIEJ1ZmZlciBp cyByZXR1cm5lZC4NCj4+Pj4+IC0gIElmIFNpemVPZkJ1ZmZlciBpcyBncmVhdGVyIHRoYW4gdGhl IG1heGltdW0gc2l6ZSBzdXBwb3J0IGJ5IFRva2VuTnVtYmVyLA0KPj4+Pj4gLSAgdGhlbiBzZXQg U2l6ZU9mQnVmZmVyIHRvIHRoZSBtYXhpbXVtIHNpemUgc3VwcG9ydGVkIGJ5IFRva2VuTnVtYmVy IGFuZA0KPj4+Pj4gLSAgcmV0dXJuIE5VTEwgdG8gaW5kaWNhdGUgdGhhdCB0aGUgc2V0IG9wZXJh dGlvbiB3YXMgbm90IGFjdHVhbGx5IHBlcmZvcm1lZC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIElmIFNp emVPZkJ1ZmZlciBpcyBzZXQgdG8gTUFYX0FERFJFU1MsIHRoZW4gU2l6ZU9mQnVmZmVyIG11c3Qg YmUgc2V0IHRvIHRoZQ0KPj4+Pj4gLSAgbWF4aW11bSBzaXplIHN1cHBvcnRlZCBieSBUb2tlbk5h bWUgYW5kIE5VTEwgbXVzdCBiZSByZXR1cm5lZC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIElmIFNpemVP ZkJ1ZmZlciBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgU2l6ZU9mQnVmZmVy ID4gMCBhbmQgQnVmZmVyIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtDQo+Pj4+PiAt ICBAcGFyYW1baW5dICAgICAgVG9rZW5OdW1iZXIgICBUaGUgUENEIHRva2VuIG51bWJlciB0byBz ZXQgYSBjdXJyZW50IHZhbHVlIGZvci4NCj4+Pj4+IC0gIEBwYXJhbVtpbiwgb3V0XSBTaXplT2ZC dWZmZXIgIFRoZSBzaXplLCBpbiBieXRlcywgb2YgQnVmZmVyLg0KPj4+Pj4gLSAgQHBhcmFtW2lu XSAgICAgIEJ1ZmZlciAgICAgICAgQSBwb2ludGVyIHRvIHRoZSBidWZmZXIgdG8gc2V0Lg0KPj4+ Pj4gLQ0KPj4+Pj4gLSAgQHJldHVybiBSZXR1cm4gdGhlIHBvaW50ZXIgZm9yIHRoZSBidWZmZXIg YmVlbiBzZXQuDQo+Pj4+PiAtDQo+Pj4+PiAtKiovDQo+Pj4+PiAtVk9JRCAqDQo+Pj4+PiAtRUZJ QVBJDQo+Pj4+PiAtTGliUGNkU2V0UHRyICgNCj4+Pj4+IC0gIElOICAgICAgICBVSU5UTiAgICAg ICAgICAgICBUb2tlbk51bWJlciwNCj4+Pj4+IC0gIElOIE9VVCAgICBVSU5UTiAgICAgICAgICAg ICAqU2l6ZU9mQnVmZmVyLA0KPj4+Pj4gLSAgSU4gQ09OU1QgIFZPSUQgICAgICAgICAgICAgICpC dWZmZXINCj4+Pj4+IC0gICkNCj4+Pj4+IC17DQo+Pj4+PiAtICBBU1NFUlQgKEZBTFNFKTsNCj4+ Pj4+IC0NCj4+Pj4+IC0gIHJldHVybiBOVUxMOw0KPj4+Pj4gLX0NCj4+Pj4+IC0NCj4+Pj4+IC0N Cj4+Pj4+IC0NCj4+Pj4+IC0vKioNCj4+Pj4+IC0gIFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgYSBt ZWFucyBieSB3aGljaCB0byBzZXQgYSB2YWx1ZSBmb3IgYSBnaXZlbiBQQ0QgdG9rZW4uDQo+Pj4+ PiAtDQo+Pj4+PiAtICBTZXRzIHRoZSBCb29sZWFuIHZhbHVlIGZvciB0aGUgdG9rZW4gc3BlY2lm aWVkIGJ5IFRva2VuTnVtYmVyDQo+Pj4+PiAtICB0byB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IFZh bHVlLiAgVmFsdWUgaXMgcmV0dXJuZWQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcGFyYW1baW5dICBU b2tlbk51bWJlciAgIFRoZSBQQ0QgdG9rZW4gbnVtYmVyIHRvIHNldCBhIGN1cnJlbnQgdmFsdWUg Zm9yLg0KPj4+Pj4gLSAgQHBhcmFtW2luXSAgVmFsdWUgICAgICAgICBUaGUgYm9vbGVhbiB2YWx1 ZSB0byBzZXQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcmV0dXJuIFJldHVybiB0aGUgdmFsdWUgdGhh dCB3YXMgc2V0Lg0KPj4+Pj4gLQ0KPj4+Pj4gLSoqLw0KPj4+Pj4gLUJPT0xFQU4NCj4+Pj4+IC1F RklBUEkNCj4+Pj4+IC1MaWJQY2RTZXRCb29sICgNCj4+Pj4+IC0gIElOIFVJTlROICAgICAgICAg ICAgIFRva2VuTnVtYmVyLA0KPj4+Pj4gLSAgSU4gQk9PTEVBTiAgICAgICAgICAgVmFsdWUNCj4+ Pj4+IC0gICkNCj4+Pj4+IC17DQo+Pj4+PiAtICBBU1NFUlQgKEZBTFNFKTsNCj4+Pj4+IC0NCj4+ Pj4+IC0gIHJldHVybiBGQUxTRTsNCj4+Pj4+IC19DQo+Pj4+PiAtDQo+Pj4+PiAtDQo+Pj4+PiAt DQo+Pj4+PiAtLyoqDQo+Pj4+PiAtICBUaGlzIGZ1bmN0aW9uIHByb3ZpZGVzIGEgbWVhbnMgYnkg d2hpY2ggdG8gc2V0IGEgdmFsdWUgZm9yIGEgZ2l2ZW4gUENEIHRva2VuLg0KPj4+Pj4gLQ0KPj4+ Pj4gLSAgU2V0cyB0aGUgOC1iaXQgdmFsdWUgZm9yIHRoZSB0b2tlbiBzcGVjaWZpZWQgYnkgVG9r ZW5OdW1iZXIgYW5kDQo+Pj4+PiAtICBHdWlkIHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgVmFs dWUuIFZhbHVlIGlzIHJldHVybmVkLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgSWYgR3VpZCBpcyBOVUxM LCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHBhcmFtW2luXSAgR3VpZCAgICAg ICAgICBUaGUgcG9pbnRlciB0byBhIDEyOC1iaXQgdW5pcXVlIHZhbHVlIHRoYXQNCj4+Pj4+IC0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzaWduYXRlcyB3aGljaCBuYW1lc3BhY2UgdG8g c2V0IGEgdmFsdWUgZnJvbS4NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIFRva2VuTnVtYmVyICAgVGhl IFBDRCB0b2tlbiBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1ZSBmb3IuDQo+Pj4+PiAtICBA cGFyYW1baW5dICBWYWx1ZSAgICAgICAgIFRoZSA4LWJpdCB2YWx1ZSB0byBzZXQuDQo+Pj4+PiAt DQo+Pj4+PiAtICBAcmV0dXJuIFJldHVybiB0aGUgdmFsdWUgdGhhdCB3YXMgc2V0Lg0KPj4+Pj4g LQ0KPj4+Pj4gLSoqLw0KPj4+Pj4gLVVJTlQ4DQo+Pj4+PiAtRUZJQVBJDQo+Pj4+PiAtTGliUGNk U2V0RXg4ICgNCj4+Pj4+IC0gIElOIENPTlNUIEdVSUQgICAgICAgICpHdWlkLA0KPj4+Pj4gLSAg SU4gVUlOVE4gICAgICAgICAgICAgVG9rZW5OdW1iZXIsDQo+Pj4+PiAtICBJTiBVSU5UOCAgICAg ICAgICAgICBWYWx1ZQ0KPj4+Pj4gLSAgKQ0KPj4+Pj4gLXsNCj4+Pj4+IC0gIEFTU0VSVCAoRkFM U0UpOw0KPj4+Pj4gLQ0KPj4+Pj4gLSAgcmV0dXJuIDA7DQo+Pj4+PiAtfQ0KPj4+Pj4gLQ0KPj4+ Pj4gLQ0KPj4+Pj4gLQ0KPj4+Pj4gLS8qKg0KPj4+Pj4gLSAgVGhpcyBmdW5jdGlvbiBwcm92aWRl cyBhIG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVlIGZvciBhIGdpdmVuIFBDRCB0b2tlbi4N Cj4+Pj4+IC0NCj4+Pj4+IC0gIFNldHMgdGhlIDE2LWJpdCB2YWx1ZSBmb3IgdGhlIHRva2VuIHNw ZWNpZmllZCBieSBUb2tlbk51bWJlciBhbmQNCj4+Pj4+IC0gIEd1aWQgdG8gdGhlIHZhbHVlIHNw ZWNpZmllZCBieSBWYWx1ZS4gVmFsdWUgaXMgcmV0dXJuZWQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBJ ZiBHdWlkIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcGFyYW1b aW5dICBHdWlkICAgICAgICAgIFRoZSBwb2ludGVyIHRvIGEgMTI4LWJpdCB1bmlxdWUgdmFsdWUg dGhhdA0KPj4+Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNpZ25hdGVzIHdoaWNo IG5hbWVzcGFjZSB0byBzZXQgYSB2YWx1ZSBmcm9tLg0KPj4+Pj4gLSAgQHBhcmFtW2luXSAgVG9r ZW5OdW1iZXIgICBUaGUgUENEIHRva2VuIG51bWJlciB0byBzZXQgYSBjdXJyZW50IHZhbHVlIGZv ci4NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIFZhbHVlICAgICAgICAgVGhlIDE2LWJpdCB2YWx1ZSB0 byBzZXQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcmV0dXJuIFJldHVybiB0aGUgdmFsdWUgdGhhdCB3 YXMgc2V0Lg0KPj4+Pj4gLQ0KPj4+Pj4gLSoqLw0KPj4+Pj4gLVVJTlQxNg0KPj4+Pj4gLUVGSUFQ SQ0KPj4+Pj4gLUxpYlBjZFNldEV4MTYgKA0KPj4+Pj4gLSAgSU4gQ09OU1QgR1VJRCAgICAgICAg Kkd1aWQsDQo+Pj4+PiAtICBJTiBVSU5UTiAgICAgICAgICAgICBUb2tlbk51bWJlciwNCj4+Pj4+ IC0gIElOIFVJTlQxNiAgICAgICAgICAgIFZhbHVlDQo+Pj4+PiAtICApDQo+Pj4+PiAtew0KPj4+ Pj4gLSAgQVNTRVJUIChGQUxTRSk7DQo+Pj4+PiAtDQo+Pj4+PiAtICByZXR1cm4gMDsNCj4+Pj4+ IC19DQo+Pj4+PiAtDQo+Pj4+PiAtDQo+Pj4+PiAtDQo+Pj4+PiAtLyoqDQo+Pj4+PiAtICBUaGlz IGZ1bmN0aW9uIHByb3ZpZGVzIGEgbWVhbnMgYnkgd2hpY2ggdG8gc2V0IGEgdmFsdWUgZm9yIGEg Z2l2ZW4gUENEIHRva2VuLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgU2V0cyB0aGUgMzItYml0IHZhbHVl IGZvciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IFRva2VuTnVtYmVyIGFuZA0KPj4+Pj4gLSAgR3Vp ZCB0byB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IFZhbHVlLiBWYWx1ZSBpcyByZXR1cm5lZC4NCj4+ Pj4+IC0NCj4+Pj4+IC0gIElmIEd1aWQgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0N Cj4+Pj4+IC0gIEBwYXJhbVtpbl0gIEd1aWQgICAgICAgICAgVGhlIHBvaW50ZXIgdG8gYSAxMjgt Yml0IHVuaXF1ZSB2YWx1ZSB0aGF0DQo+Pj4+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAg IGRlc2lnbmF0ZXMgd2hpY2ggbmFtZXNwYWNlIHRvIHNldCBhIHZhbHVlIGZyb20uDQo+Pj4+PiAt ICBAcGFyYW1baW5dICBUb2tlbk51bWJlciAgIFRoZSBQQ0QgdG9rZW4gbnVtYmVyIHRvIHNldCBh IGN1cnJlbnQgdmFsdWUgZm9yLg0KPj4+Pj4gLSAgQHBhcmFtW2luXSAgVmFsdWUgICAgICAgICBU aGUgMzItYml0IHZhbHVlIHRvIHNldC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEByZXR1cm4gUmV0dXJu IHRoZSB2YWx1ZSB0aGF0IHdhcyBzZXQuDQo+Pj4+PiAtDQo+Pj4+PiAtKiovDQo+Pj4+PiAtVUlO VDMyDQo+Pj4+PiAtRUZJQVBJDQo+Pj4+PiAtTGliUGNkU2V0RXgzMiAoDQo+Pj4+PiAtICBJTiBD T05TVCBHVUlEICAgICAgICAqR3VpZCwNCj4+Pj4+IC0gIElOIFVJTlROICAgICAgICAgICAgIFRv a2VuTnVtYmVyLA0KPj4+Pj4gLSAgSU4gVUlOVDMyICAgICAgICAgICAgVmFsdWUNCj4+Pj4+IC0g ICkNCj4+Pj4+IC17DQo+Pj4+PiAtICBBU1NFUlQgKEZBTFNFKTsNCj4+Pj4+IC0NCj4+Pj4+IC0g IHJldHVybiAwOw0KPj4+Pj4gLX0NCj4+Pj4+IC0NCj4+Pj4+IC0NCj4+Pj4+IC0NCj4+Pj4+IC0v KioNCj4+Pj4+IC0gIFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgYSBtZWFucyBieSB3aGljaCB0byBz ZXQgYSB2YWx1ZSBmb3IgYSBnaXZlbiBQQ0QgdG9rZW4uDQo+Pj4+PiAtDQo+Pj4+PiAtICBTZXRz IHRoZSA2NC1iaXQgdmFsdWUgZm9yIHRoZSB0b2tlbiBzcGVjaWZpZWQgYnkgVG9rZW5OdW1iZXIg YW5kDQo+Pj4+PiAtICBHdWlkIHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgVmFsdWUuIFZhbHVl IGlzIHJldHVybmVkLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgSWYgR3VpZCBpcyBOVUxMLCB0aGVuIEFT U0VSVCgpLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHBhcmFtW2luXSAgR3VpZCAgICAgICAgICBUaGUg cG9pbnRlciB0byBhIDEyOC1iaXQgdW5pcXVlIHZhbHVlIHRoYXQNCj4+Pj4+IC0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgZGVzaWduYXRlcyB3aGljaCBuYW1lc3BhY2UgdG8gc2V0IGEgdmFs dWUgZnJvbS4NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIFRva2VuTnVtYmVyICAgVGhlIFBDRCB0b2tl biBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1ZSBmb3IuDQo+Pj4+PiAtICBAcGFyYW1baW5d ICBWYWx1ZSAgICAgICAgIFRoZSA2NC1iaXQgdmFsdWUgdG8gc2V0Lg0KPj4+Pj4gLQ0KPj4+Pj4g LSAgQHJldHVybiBSZXR1cm4gdGhlIHZhbHVlIHRoYXQgd2FzIHNldC4NCj4+Pj4+IC0NCj4+Pj4+ IC0qKi8NCj4+Pj4+IC1VSU5UNjQNCj4+Pj4+IC1FRklBUEkNCj4+Pj4+IC1MaWJQY2RTZXRFeDY0 ICgNCj4+Pj4+IC0gIElOIENPTlNUIEdVSUQgICAgICAgICpHdWlkLA0KPj4+Pj4gLSAgSU4gVUlO VE4gICAgICAgICAgICAgVG9rZW5OdW1iZXIsDQo+Pj4+PiAtICBJTiBVSU5UNjQgICAgICAgICAg ICBWYWx1ZQ0KPj4+Pj4gLSAgKQ0KPj4+Pj4gLXsNCj4+Pj4+IC0gIEFTU0VSVCAoRkFMU0UpOw0K Pj4+Pj4gLQ0KPj4+Pj4gLSAgcmV0dXJuIDA7DQo+Pj4+PiAtfQ0KPj4+Pj4gLQ0KPj4+Pj4gLQ0K Pj4+Pj4gLQ0KPj4+Pj4gLS8qKg0KPj4+Pj4gLSAgVGhpcyBmdW5jdGlvbiBwcm92aWRlcyBhIG1l YW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVlIGZvciBhIGdpdmVuIFBDRCB0b2tlbi4NCj4+Pj4+ IC0NCj4+Pj4+IC0gIFNldHMgYSBidWZmZXIgZm9yIHRoZSB0b2tlbiBzcGVjaWZpZWQgYnkgVG9r ZW5OdW1iZXIgdG8gdGhlIHZhbHVlIHNwZWNpZmllZCBieQ0KPj4+Pj4gLSAgQnVmZmVyIGFuZCBT aXplT2ZCdWZmZXIuICBCdWZmZXIgaXMgcmV0dXJuZWQuICBJZiBTaXplT2ZCdWZmZXIgaXMgZ3Jl YXRlciB0aGFuDQo+Pj4+PiAtICB0aGUgbWF4aW11bSBzaXplIHN1cHBvcnQgYnkgVG9rZW5OdW1i ZXIsIHRoZW4gc2V0IFNpemVPZkJ1ZmZlciB0byB0aGUgbWF4aW11bSBzaXplDQo+Pj4+PiAtICBz dXBwb3J0ZWQgYnkgVG9rZW5OdW1iZXIgYW5kIHJldHVybiBOVUxMIHRvIGluZGljYXRlIHRoYXQg dGhlIHNldCBvcGVyYXRpb24NCj4+Pj4+IC0gIHdhcyBub3QgYWN0dWFsbHkgcGVyZm9ybWVkLg0K Pj4+Pj4gLQ0KPj4+Pj4gLSAgSWYgR3VpZCBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4g LSAgSWYgU2l6ZU9mQnVmZmVyIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJZiBT aXplT2ZCdWZmZXIgPiAwIGFuZCBCdWZmZXIgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+ IC0NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIEd1aWQgICAgICAgICAgICAgIFRoZSBwb2ludGVyIHRv IGEgMTI4LWJpdCB1bmlxdWUgdmFsdWUgdGhhdA0KPj4+Pj4gLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZGVzaWduYXRlcyB3aGljaCBuYW1lc3BhY2UgdG8gc2V0IGEgdmFsdWUgZnJv bS4NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIFRva2VuTnVtYmVyICAgICAgIFRoZSBQQ0QgdG9rZW4g bnVtYmVyIHRvIHNldCBhIGN1cnJlbnQgdmFsdWUgZm9yLg0KPj4+Pj4gLSAgQHBhcmFtW2luLCBv dXRdIFNpemVPZkJ1ZmZlciAgVGhlIHNpemUsIGluIGJ5dGVzLCBvZiBCdWZmZXIuDQo+Pj4+PiAt ICBAcGFyYW1baW5dICBCdWZmZXIgICAgICAgICAgICBBIHBvaW50ZXIgdG8gdGhlIGJ1ZmZlciB0 byBzZXQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcmV0dXJuIFJldHVybiB0aGUgcGludGVyIHRvIHRo ZSBidWZmZXIgYmVlbiBzZXQuDQo+Pj4+PiAtDQo+Pj4+PiAtKiovDQo+Pj4+PiAtVk9JRCAqDQo+ Pj4+PiAtRUZJQVBJDQo+Pj4+PiAtTGliUGNkU2V0RXhQdHIgKA0KPj4+Pj4gLSAgSU4gICAgICBD T05TVCBHVUlEICAgICAgICAqR3VpZCwNCj4+Pj4+IC0gIElOICAgICAgVUlOVE4gICAgICAgICAg ICAgVG9rZW5OdW1iZXIsDQo+Pj4+PiAtICBJTiBPVVQgIFVJTlROICAgICAgICAgICAgICpTaXpl T2ZCdWZmZXIsDQo+Pj4+PiAtICBJTiAgICAgIFZPSUQgICAgICAgICAgICAgICpCdWZmZXINCj4+ Pj4+IC0gICkNCj4+Pj4+IC17DQo+Pj4+PiAtICBBU1NFUlQgKEZBTFNFKTsNCj4+Pj4+IC0NCj4+ Pj4+IC0gIHJldHVybiBOVUxMOw0KPj4+Pj4gLX0NCj4+Pj4+IC0NCj4+Pj4+IC0NCj4+Pj4+IC0N Cj4+Pj4+IC0vKioNCj4+Pj4+IC0gIFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgYSBtZWFucyBieSB3 aGljaCB0byBzZXQgYSB2YWx1ZSBmb3IgYSBnaXZlbiBQQ0QgdG9rZW4uDQo+Pj4+PiAtDQo+Pj4+ PiAtICBTZXRzIHRoZSBCb29sZWFuIHZhbHVlIGZvciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IFRv a2VuTnVtYmVyIGFuZA0KPj4+Pj4gLSAgR3VpZCB0byB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IFZh bHVlLiBWYWx1ZSBpcyByZXR1cm5lZC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIElmIEd1aWQgaXMgTlVM TCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIEd1aWQgICAg ICAgICAgVGhlIHBvaW50ZXIgdG8gYSAxMjgtYml0IHVuaXF1ZSB2YWx1ZSB0aGF0DQo+Pj4+PiAt ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2lnbmF0ZXMgd2hpY2ggbmFtZXNwYWNlIHRv IHNldCBhIHZhbHVlIGZyb20uDQo+Pj4+PiAtICBAcGFyYW1baW5dICBUb2tlbk51bWJlciAgIFRo ZSBQQ0QgdG9rZW4gbnVtYmVyIHRvIHNldCBhIGN1cnJlbnQgdmFsdWUgZm9yLg0KPj4+Pj4gLSAg QHBhcmFtW2luXSAgVmFsdWUgICAgICAgICBUaGUgQm9vbGVhbiB2YWx1ZSB0byBzZXQuDQo+Pj4+ PiAtDQo+Pj4+PiAtICBAcmV0dXJuIFJldHVybiB0aGUgdmFsdWUgdGhhdCB3YXMgc2V0Lg0KPj4+ Pj4gLQ0KPj4+Pj4gLSoqLw0KPj4+Pj4gLUJPT0xFQU4NCj4+Pj4+IC1FRklBUEkNCj4+Pj4+IC1M aWJQY2RTZXRFeEJvb2wgKA0KPj4+Pj4gLSAgSU4gQ09OU1QgR1VJRCAgICAgICAgKkd1aWQsDQo+ Pj4+PiAtICBJTiBVSU5UTiAgICAgICAgICAgICBUb2tlbk51bWJlciwNCj4+Pj4+IC0gIElOIEJP T0xFQU4gICAgICAgICAgIFZhbHVlDQo+Pj4+PiAtICApDQo+Pj4+PiAtew0KPj4+Pj4gLSAgQVNT RVJUIChGQUxTRSk7DQo+Pj4+PiAtDQo+Pj4+PiAtICByZXR1cm4gRkFMU0U7DQo+Pj4+PiAtfQ0K Pj4+Pj4gLSNlbmRpZg0KPj4+Pj4gLQ0KPj4+Pj4gICAvKioNCj4+Pj4+ICAgICBUaGlzIGZ1bmN0 aW9uIHByb3ZpZGVzIGEgbWVhbnMgYnkgd2hpY2ggdG8gc2V0IGEgdmFsdWUgZm9yIGEgZ2l2ZW4g UENEIHRva2VuLg0KPj4+Pj4NCj4+Pj4+IGRpZmYgLS1naXQgYS9NZGVQa2cvTGlicmFyeS9CYXNl UHJpbnRMaWIvUHJpbnRMaWIuYyBiL01kZVBrZy9MaWJyYXJ5L0Jhc2VQcmludExpYi9QcmludExp Yi5jDQo+Pj4+PiBpbmRleCBhZjc3MTY1MmU0YjAuLjhiZmJhYjA1ZjU4YyAxMDA2NDQNCj4+Pj4+ IC0tLSBhL01kZVBrZy9MaWJyYXJ5L0Jhc2VQcmludExpYi9QcmludExpYi5jDQo+Pj4+PiArKysg Yi9NZGVQa2cvTGlicmFyeS9CYXNlUHJpbnRMaWIvUHJpbnRMaWIuYw0KPj4+Pj4gQEAgLTM0Myw2 NSArMzQzLDYgQEAgVW5pY29kZVNQcmludEFzY2lpRm9ybWF0ICgNCj4+Pj4+ICAgICByZXR1cm4g TnVtYmVyT2ZQcmludGVkOw0KPj4+Pj4gICB9DQo+Pj4+Pg0KPj4+Pj4gLSNpZm5kZWYgRElTQUJM RV9ORVdfREVQUkVDQVRFRF9JTlRFUkZBQ0VTDQo+Pj4+PiAtDQo+Pj4+PiAtLyoqDQo+Pj4+PiAt ICBbQVRURU5USU9OXSBUaGlzIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgZm9yIHNlY3VyaXR5IHJl YXNvbi4NCj4+Pj4+IC0NCj4+Pj4+IC0gIENvbnZlcnRzIGEgZGVjaW1hbCB2YWx1ZSB0byBhIE51 bGwtdGVybWluYXRlZCBVbmljb2RlIHN0cmluZy4NCj4+Pj4+IC0NCj4+Pj4+IC0gIENvbnZlcnRz IHRoZSBkZWNpbWFsIG51bWJlciBzcGVjaWZpZWQgYnkgVmFsdWUgdG8gYSBOdWxsLXRlcm1pbmF0 ZWQgVW5pY29kZQ0KPj4+Pj4gLSAgc3RyaW5nIHNwZWNpZmllZCBieSBCdWZmZXIgY29udGFpbmlu ZyBhdCBtb3N0IFdpZHRoIGNoYXJhY3RlcnMuIE5vIHBhZGRpbmcgb2Ygc3BhY2VzDQo+Pj4+PiAt ICBpcyBldmVyIHBlcmZvcm1lZC4gSWYgV2lkdGggaXMgMCB0aGVuIGEgd2lkdGggb2YgTUFYSU1V TV9WQUxVRV9DSEFSQUNURVJTIGlzIGFzc3VtZWQuDQo+Pj4+PiAtICBUaGUgbnVtYmVyIG9mIFVu aWNvZGUgY2hhcmFjdGVycyBpbiBCdWZmZXIgaXMgcmV0dXJuZWQgbm90IGluY2x1ZGluZyB0aGUg TnVsbC10ZXJtaW5hdG9yLg0KPj4+Pj4gLSAgSWYgdGhlIGNvbnZlcnNpb24gY29udGFpbnMgbW9y ZSB0aGFuIFdpZHRoIGNoYXJhY3RlcnMsIHRoZW4gb25seSB0aGUgZmlyc3QNCj4+Pj4+IC0gIFdp ZHRoIGNoYXJhY3RlcnMgYXJlIHJldHVybmVkLCBhbmQgdGhlIHRvdGFsIG51bWJlciBvZiBjaGFy YWN0ZXJzDQo+Pj4+PiAtICByZXF1aXJlZCB0byBwZXJmb3JtIHRoZSBjb252ZXJzaW9uIGlzIHJl dHVybmVkLg0KPj4+Pj4gLSAgQWRkaXRpb25hbCBjb252ZXJzaW9uIHBhcmFtZXRlcnMgYXJlIHNw ZWNpZmllZCBpbiBGbGFncy4NCj4+Pj4+IC0NCj4+Pj4+IC0gIFRoZSBGbGFncyBiaXQgTEVGVF9K VVNUSUZZIGlzIGFsd2F5cyBpZ25vcmVkLg0KPj4+Pj4gLSAgQWxsIGNvbnZlcnNpb25zIGFyZSBs ZWZ0IGp1c3RpZmllZCBpbiBCdWZmZXIuDQo+Pj4+PiAtICBJZiBXaWR0aCBpcyAwLCBQUkVGSVhf WkVSTyBpcyBpZ25vcmVkIGluIEZsYWdzLg0KPj4+Pj4gLSAgSWYgQ09NTUFfVFlQRSBpcyBzZXQg aW4gRmxhZ3MsIHRoZW4gUFJFRklYX1pFUk8gaXMgaWdub3JlZCBpbiBGbGFncywgYW5kIGNvbW1h cw0KPj4+Pj4gLSAgYXJlIGluc2VydGVkIGV2ZXJ5IDNyZCBkaWdpdCBzdGFydGluZyBmcm9tIHRo ZSByaWdodC4NCj4+Pj4+IC0gIElmIFJBRElYX0hFWCBpcyBzZXQgaW4gRmxhZ3MsIHRoZW4gdGhl IG91dHB1dCBidWZmZXIgd2lsbCBiZQ0KPj4+Pj4gLSAgZm9ybWF0dGVkIGluIGhleGFkZWNpbWFs IGZvcm1hdC4NCj4+Pj4+IC0gIElmIFZhbHVlIGlzIDwgMCBhbmQgUkFESVhfSEVYIGlzIG5vdCBz ZXQgaW4gRmxhZ3MsIHRoZW4gdGhlIGZpc3QgY2hhcmFjdGVyIGluIEJ1ZmZlciBpcyBhICctJy4N Cj4+Pj4+IC0gIElmIFBSRUZJWF9aRVJPIGlzIHNldCBpbiBGbGFncyBhbmQgUFJFRklYX1pFUk8g aXMgbm90IGJlaW5nIGlnbm9yZWQsDQo+Pj4+PiAtICB0aGVuIEJ1ZmZlciBpcyBwYWRkZWQgd2l0 aCAnMCcgY2hhcmFjdGVycyBzbyB0aGUgY29tYmluYXRpb24gb2YgdGhlIG9wdGlvbmFsICctJw0K Pj4+Pj4gLSAgc2lnbiBjaGFyYWN0ZXIsICcwJyBjaGFyYWN0ZXJzLCBkaWdpdCBjaGFyYWN0ZXJz IGZvciBWYWx1ZSwgYW5kIHRoZSBOdWxsLXRlcm1pbmF0b3INCj4+Pj4+IC0gIGFkZCB1cCB0byBX aWR0aCBjaGFyYWN0ZXJzLg0KPj4+Pj4gLSAgSWYgYm90aCBDT01NQV9UWVBFIGFuZCBSQURJWF9I RVggYXJlIHNldCBpbiBGbGFncywgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIEJ1ZmZlciBp cyBOVUxMLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgQnVmZmVyIGlzIG5vdCBhbGlnbmVk IG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgdW5zdXBw b3J0ZWQgYml0cyBhcmUgc2V0IGluIEZsYWdzLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYg Ym90aCBDT01NQV9UWVBFIGFuZCBSQURJWF9IRVggYXJlIHNldCBpbiBGbGFncywgdGhlbiBBU1NF UlQoKS4NCj4+Pj4+IC0gIElmIFdpZHRoID49IE1BWElNVU1fVkFMVUVfQ0hBUkFDVEVSUywgdGhl biBBU1NFUlQoKQ0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHBhcmFtICBCdWZmZXIgIFRoZSBwb2ludGVy IHRvIHRoZSBvdXRwdXQgYnVmZmVyIGZvciB0aGUgcHJvZHVjZWQgTnVsbC10ZXJtaW5hdGVkDQo+ Pj4+PiAtICAgICAgICAgICAgICAgICAgVW5pY29kZSBzdHJpbmcuDQo+Pj4+PiAtICBAcGFyYW0g IEZsYWdzICAgVGhlIGJpdG1hc2sgb2YgZmxhZ3MgdGhhdCBzcGVjaWZ5IGxlZnQganVzdGlmaWNh dGlvbiwgemVybyBwYWQsIGFuZCBjb21tYXMuDQo+Pj4+PiAtICBAcGFyYW0gIFZhbHVlICAgVGhl IDY0LWJpdCBzaWduZWQgdmFsdWUgdG8gY29udmVydCB0byBhIHN0cmluZy4NCj4+Pj4+IC0gIEBw YXJhbSAgV2lkdGggICBUaGUgbWF4aW11bSBudW1iZXIgb2YgVW5pY29kZSBjaGFyYWN0ZXJzIHRv IHBsYWNlIGluIEJ1ZmZlciwgbm90IGluY2x1ZGluZw0KPj4+Pj4gLSAgICAgICAgICAgICAgICAg IHRoZSBOdWxsLXRlcm1pbmF0b3IuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcmV0dXJuIFRoZSBudW1i ZXIgb2YgVW5pY29kZSBjaGFyYWN0ZXJzIGluIEJ1ZmZlciBub3QgaW5jbHVkaW5nIHRoZSBOdWxs LXRlcm1pbmF0b3IuDQo+Pj4+PiAtDQo+Pj4+PiAtKiovDQo+Pj4+PiAtVUlOVE4NCj4+Pj4+IC1F RklBUEkNCj4+Pj4+IC1Vbmljb2RlVmFsdWVUb1N0cmluZyAoDQo+Pj4+PiAtICBJTiBPVVQgQ0hB UjE2ICAqQnVmZmVyLA0KPj4+Pj4gLSAgSU4gVUlOVE4gICAgICAgRmxhZ3MsDQo+Pj4+PiAtICBJ TiBJTlQ2NCAgICAgICBWYWx1ZSwNCj4+Pj4+IC0gIElOIFVJTlROICAgICAgIFdpZHRoDQo+Pj4+ PiAtICApDQo+Pj4+PiAtew0KPj4+Pj4gLSAgQVNTRVJUX1VOSUNPREVfQlVGRkVSKEJ1ZmZlcik7 DQo+Pj4+PiAtICByZXR1cm4gQmFzZVByaW50TGliQ29udmVydFZhbHVlVG9TdHJpbmcgKChDSEFS OCAqKUJ1ZmZlciwgRmxhZ3MsIFZhbHVlLCBXaWR0aCwgMik7DQo+Pj4+PiAtfQ0KPj4+Pj4gLQ0K Pj4+Pj4gLSNlbmRpZg0KPj4+Pj4NCj4+Pj4+ICAgLyoqDQo+Pj4+PiAgICAgQ29udmVydHMgYSBk ZWNpbWFsIHZhbHVlIHRvIGEgTnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nLg0KPj4+Pj4g QEAgLTc4MCw2NSArNzIxLDYgQEAgQXNjaWlTUHJpbnRVbmljb2RlRm9ybWF0ICgNCj4+Pj4+ICAg ICByZXR1cm4gTnVtYmVyT2ZQcmludGVkOw0KPj4+Pj4gICB9DQo+Pj4+Pg0KPj4+Pj4gLQ0KPj4+ Pj4gLSNpZm5kZWYgRElTQUJMRV9ORVdfREVQUkVDQVRFRF9JTlRFUkZBQ0VTDQo+Pj4+PiAtDQo+ Pj4+PiAtLyoqDQo+Pj4+PiAtICBbQVRURU5USU9OXSBUaGlzIGZ1bmN0aW9uIGlzIGRlcHJlY2F0 ZWQgZm9yIHNlY3VyaXR5IHJlYXNvbi4NCj4+Pj4+IC0NCj4+Pj4+IC0gIENvbnZlcnRzIGEgZGVj aW1hbCB2YWx1ZSB0byBhIE51bGwtdGVybWluYXRlZCBBU0NJSSBzdHJpbmcuDQo+Pj4+PiAtDQo+ Pj4+PiAtICBDb252ZXJ0cyB0aGUgZGVjaW1hbCBudW1iZXIgc3BlY2lmaWVkIGJ5IFZhbHVlIHRv IGEgTnVsbC10ZXJtaW5hdGVkIEFTQ0lJIHN0cmluZw0KPj4+Pj4gLSAgc3BlY2lmaWVkIGJ5IEJ1 ZmZlciBjb250YWluaW5nIGF0IG1vc3QgV2lkdGggY2hhcmFjdGVycy4gTm8gcGFkZGluZyBvZiBz cGFjZXMNCj4+Pj4+IC0gIGlzIGV2ZXIgcGVyZm9ybWVkLg0KPj4+Pj4gLSAgSWYgV2lkdGggaXMg MCB0aGVuIGEgd2lkdGggb2YgIE1BWElNVU1fVkFMVUVfQ0hBUkFDVEVSUyBpcyBhc3N1bWVkLg0K Pj4+Pj4gLSAgVGhlIG51bWJlciBvZiBBU0NJSSBjaGFyYWN0ZXJzIGluIEJ1ZmZlciBpcyByZXR1 cm5lZCBub3QgaW5jbHVkaW5nIHRoZSBOdWxsLXRlcm1pbmF0b3IuDQo+Pj4+PiAtICBJZiB0aGUg Y29udmVyc2lvbiBjb250YWlucyBtb3JlIHRoYW4gV2lkdGggY2hhcmFjdGVycywgdGhlbiBvbmx5 IHRoZSBmaXJzdCBXaWR0aA0KPj4+Pj4gLSAgY2hhcmFjdGVycyBhcmUgcmV0dXJuZWQsIGFuZCB0 aGUgdG90YWwgbnVtYmVyIG9mIGNoYXJhY3RlcnMgcmVxdWlyZWQgdG8gcGVyZm9ybQ0KPj4+Pj4g LSAgdGhlIGNvbnZlcnNpb24gaXMgcmV0dXJuZWQuDQo+Pj4+PiAtICBBZGRpdGlvbmFsIGNvbnZl cnNpb24gcGFyYW1ldGVycyBhcmUgc3BlY2lmaWVkIGluIEZsYWdzLg0KPj4+Pj4gLSAgVGhlIEZs YWdzIGJpdCBMRUZUX0pVU1RJRlkgaXMgYWx3YXlzIGlnbm9yZWQuDQo+Pj4+PiAtICBBbGwgY29u dmVyc2lvbnMgYXJlIGxlZnQganVzdGlmaWVkIGluIEJ1ZmZlci4NCj4+Pj4+IC0gIElmIFdpZHRo IGlzIDAsIFBSRUZJWF9aRVJPIGlzIGlnbm9yZWQgaW4gRmxhZ3MuDQo+Pj4+PiAtICBJZiBDT01N QV9UWVBFIGlzIHNldCBpbiBGbGFncywgdGhlbiBQUkVGSVhfWkVSTyBpcyBpZ25vcmVkIGluIEZs YWdzLCBhbmQgY29tbWFzDQo+Pj4+PiAtICBhcmUgaW5zZXJ0ZWQgZXZlcnkgM3JkIGRpZ2l0IHN0 YXJ0aW5nIGZyb20gdGhlIHJpZ2h0Lg0KPj4+Pj4gLSAgSWYgUkFESVhfSEVYIGlzIHNldCBpbiBG bGFncywgdGhlbiB0aGUgb3V0cHV0IGJ1ZmZlciB3aWxsIGJlDQo+Pj4+PiAtICBmb3JtYXR0ZWQg aW4gaGV4YWRlY2ltYWwgZm9ybWF0Lg0KPj4+Pj4gLSAgSWYgVmFsdWUgaXMgPCAwIGFuZCBSQURJ WF9IRVggaXMgbm90IHNldCBpbiBGbGFncywgdGhlbiB0aGUgZmlzdCBjaGFyYWN0ZXIgaW4gQnVm ZmVyIGlzIGEgJy0nLg0KPj4+Pj4gLSAgSWYgUFJFRklYX1pFUk8gaXMgc2V0IGluIEZsYWdzIGFu ZCBQUkVGSVhfWkVSTyBpcyBub3QgYmVpbmcgaWdub3JlZCwNCj4+Pj4+IC0gIHRoZW4gQnVmZmVy IGlzIHBhZGRlZCB3aXRoICcwJyBjaGFyYWN0ZXJzIHNvIHRoZSBjb21iaW5hdGlvbiBvZiB0aGUg b3B0aW9uYWwgJy0nDQo+Pj4+PiAtICBzaWduIGNoYXJhY3RlciwgJzAnIGNoYXJhY3RlcnMsIGRp Z2l0IGNoYXJhY3RlcnMgZm9yIFZhbHVlLCBhbmQgdGhlIE51bGwtdGVybWluYXRvcg0KPj4+Pj4g LSAgYWRkIHVwIHRvIFdpZHRoIGNoYXJhY3RlcnMuDQo+Pj4+PiAtDQo+Pj4+PiAtICBJZiBCdWZm ZXIgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIHVuc3VwcG9ydGVkIGJpdHMg YXJlIHNldCBpbiBGbGFncywgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIGJvdGggQ09NTUFf VFlQRSBhbmQgUkFESVhfSEVYIGFyZSBzZXQgaW4gRmxhZ3MsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+ PiAtICBJZiBXaWR0aCA+PSBNQVhJTVVNX1ZBTFVFX0NIQVJBQ1RFUlMsIHRoZW4gQVNTRVJUKCkN Cj4+Pj4+IC0NCj4+Pj4+IC0gIEBwYXJhbSAgQnVmZmVyICBUaGUgcG9pbnRlciB0byB0aGUgb3V0 cHV0IGJ1ZmZlciBmb3IgdGhlIHByb2R1Y2VkIE51bGwtdGVybWluYXRlZA0KPj4+Pj4gLSAgICAg ICAgICAgICAgICAgIEFTQ0lJIHN0cmluZy4NCj4+Pj4+IC0gIEBwYXJhbSAgRmxhZ3MgICBUaGUg Yml0bWFzayBvZiBmbGFncyB0aGF0IHNwZWNpZnkgbGVmdCBqdXN0aWZpY2F0aW9uLCB6ZXJvIHBh ZCwgYW5kIGNvbW1hcy4NCj4+Pj4+IC0gIEBwYXJhbSAgVmFsdWUgICBUaGUgNjQtYml0IHNpZ25l ZCB2YWx1ZSB0byBjb252ZXJ0IHRvIGEgc3RyaW5nLg0KPj4+Pj4gLSAgQHBhcmFtICBXaWR0aCAg IFRoZSBtYXhpbXVtIG51bWJlciBvZiBBU0NJSSBjaGFyYWN0ZXJzIHRvIHBsYWNlIGluIEJ1ZmZl ciwgbm90IGluY2x1ZGluZw0KPj4+Pj4gLSAgICAgICAgICAgICAgICAgIHRoZSBOdWxsLXRlcm1p bmF0b3IuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcmV0dXJuIFRoZSBudW1iZXIgb2YgQVNDSUkgY2hh cmFjdGVycyBpbiBCdWZmZXIgbm90IGluY2x1ZGluZyB0aGUgTnVsbC10ZXJtaW5hdG9yLg0KPj4+ Pj4gLQ0KPj4+Pj4gLSoqLw0KPj4+Pj4gLVVJTlRODQo+Pj4+PiAtRUZJQVBJDQo+Pj4+PiAtQXNj aWlWYWx1ZVRvU3RyaW5nICgNCj4+Pj4+IC0gIE9VVCBDSEFSOCAgICAgICpCdWZmZXIsDQo+Pj4+ PiAtICBJTiAgVUlOVE4gICAgICBGbGFncywNCj4+Pj4+IC0gIElOICBJTlQ2NCAgICAgIFZhbHVl LA0KPj4+Pj4gLSAgSU4gIFVJTlROICAgICAgV2lkdGgNCj4+Pj4+IC0gICkNCj4+Pj4+IC17DQo+ Pj4+PiAtICByZXR1cm4gQmFzZVByaW50TGliQ29udmVydFZhbHVlVG9TdHJpbmcgKEJ1ZmZlciwg RmxhZ3MsIFZhbHVlLCBXaWR0aCwgMSk7DQo+Pj4+PiAtfQ0KPj4+Pj4gLQ0KPj4+Pj4gLSNlbmRp Zg0KPj4+Pj4gLQ0KPj4+Pj4gICAvKioNCj4+Pj4+ICAgICBDb252ZXJ0cyBhIGRlY2ltYWwgdmFs dWUgdG8gYSBOdWxsLXRlcm1pbmF0ZWQgQXNjaWkgc3RyaW5nLg0KPj4+Pj4NCj4+Pj4+IGRpZmYg LS1naXQgYS9NZGVQa2cvTGlicmFyeS9EeGVQY2RMaWIvRHhlUGNkTGliLmMgYi9NZGVQa2cvTGli cmFyeS9EeGVQY2RMaWIvRHhlUGNkTGliLmMNCj4+Pj4+IGluZGV4IDZlM2U0ZTcwNjk3Zi4uMmFj Y2FlZGEyY2Q2IDEwMDY0NA0KPj4+Pj4gLS0tIGEvTWRlUGtnL0xpYnJhcnkvRHhlUGNkTGliL0R4 ZVBjZExpYi5jDQo+Pj4+PiArKysgYi9NZGVQa2cvTGlicmFyeS9EeGVQY2RMaWIvRHhlUGNkTGli LmMNCj4+Pj4+IEBAIC00NzQsNDA1ICs0NzQsNiBAQCBMaWJQY2RHZXRFeFNpemUgKA0KPj4+Pj4g ICB9DQo+Pj4+Pg0KPj4+Pj4NCj4+Pj4+IC0NCj4+Pj4+IC0jaWZuZGVmIERJU0FCTEVfTkVXX0RF UFJFQ0FURURfSU5URVJGQUNFUw0KPj4+Pj4gLS8qKg0KPj4+Pj4gLSAgVGhpcyBmdW5jdGlvbiBw cm92aWRlcyBhIG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVlIGZvciBhIGdpdmVuIFBDRCB0 b2tlbi4NCj4+Pj4+IC0NCj4+Pj4+IC0gIFNldHMgdGhlIDgtYml0IHZhbHVlIGZvciB0aGUgdG9r ZW4gc3BlY2lmaWVkIGJ5IFRva2VuTnVtYmVyDQo+Pj4+PiAtICB0byB0aGUgdmFsdWUgc3BlY2lm aWVkIGJ5IFZhbHVlLiAgVmFsdWUgaXMgcmV0dXJuZWQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcGFy YW1baW5dICBUb2tlbk51bWJlciAgIFRoZSBQQ0QgdG9rZW4gbnVtYmVyIHRvIHNldCBhIGN1cnJl bnQgdmFsdWUgZm9yLg0KPj4+Pj4gLSAgQHBhcmFtW2luXSAgVmFsdWUgICAgICAgICBUaGUgOC1i aXQgdmFsdWUgdG8gc2V0Lg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHJldHVybiBSZXR1cm4gdGhlIHZh bHVlIHRoYXQgd2FzIHNldC4NCj4+Pj4+IC0NCj4+Pj4+IC0qKi8NCj4+Pj4+IC1VSU5UOA0KPj4+ Pj4gLUVGSUFQSQ0KPj4+Pj4gLUxpYlBjZFNldDggKA0KPj4+Pj4gLSAgSU4gVUlOVE4gICAgICAg ICAgICAgVG9rZW5OdW1iZXIsDQo+Pj4+PiAtICBJTiBVSU5UOCAgICAgICAgICAgICBWYWx1ZQ0K Pj4+Pj4gLSAgKQ0KPj4+Pj4gLXsNCj4+Pj4+IC0gIEdldFBjZFByb3RvY29sKCktPlNldDggKFRv a2VuTnVtYmVyLCBWYWx1ZSk7DQo+Pj4+PiAtDQo+Pj4+PiAtICByZXR1cm4gVmFsdWU7DQo+Pj4+ PiAtfQ0KPj4+Pj4gLQ0KPj4+Pj4gLQ0KPj4+Pj4gLQ0KPj4+Pj4gLS8qKg0KPj4+Pj4gLSAgVGhp cyBmdW5jdGlvbiBwcm92aWRlcyBhIG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVlIGZvciBh IGdpdmVuIFBDRCB0b2tlbi4NCj4+Pj4+IC0NCj4+Pj4+IC0gIFNldHMgdGhlIDE2LWJpdCB2YWx1 ZSBmb3IgdGhlIHRva2VuIHNwZWNpZmllZCBieSBUb2tlbk51bWJlcg0KPj4+Pj4gLSAgdG8gdGhl IHZhbHVlIHNwZWNpZmllZCBieSBWYWx1ZS4gIFZhbHVlIGlzIHJldHVybmVkLg0KPj4+Pj4gLQ0K Pj4+Pj4gLSAgQHBhcmFtW2luXSAgVG9rZW5OdW1iZXIgICBUaGUgUENEIHRva2VuIG51bWJlciB0 byBzZXQgYSBjdXJyZW50IHZhbHVlIGZvci4NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIFZhbHVlICAg ICAgICAgVGhlIDE2LWJpdCB2YWx1ZSB0byBzZXQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcmV0dXJu IFJldHVybiB0aGUgdmFsdWUgdGhhdCB3YXMgc2V0Lg0KPj4+Pj4gLQ0KPj4+Pj4gLSoqLw0KPj4+ Pj4gLVVJTlQxNg0KPj4+Pj4gLUVGSUFQSQ0KPj4+Pj4gLUxpYlBjZFNldDE2ICgNCj4+Pj4+IC0g IElOIFVJTlROICAgICAgICAgICAgIFRva2VuTnVtYmVyLA0KPj4+Pj4gLSAgSU4gVUlOVDE2ICAg ICAgICAgICAgVmFsdWUNCj4+Pj4+IC0gICkNCj4+Pj4+IC17DQo+Pj4+PiAtICBHZXRQY2RQcm90 b2NvbCgpLT5TZXQxNiAoVG9rZW5OdW1iZXIsIFZhbHVlKTsNCj4+Pj4+IC0NCj4+Pj4+IC0gIHJl dHVybiBWYWx1ZTsNCj4+Pj4+IC19DQo+Pj4+PiAtDQo+Pj4+PiAtDQo+Pj4+PiAtDQo+Pj4+PiAt LyoqDQo+Pj4+PiAtICBUaGlzIGZ1bmN0aW9uIHByb3ZpZGVzIGEgbWVhbnMgYnkgd2hpY2ggdG8g c2V0IGEgdmFsdWUgZm9yIGEgZ2l2ZW4gUENEIHRva2VuLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgU2V0 cyB0aGUgMzItYml0IHZhbHVlIGZvciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IFRva2VuTnVtYmVy DQo+Pj4+PiAtICB0byB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IFZhbHVlLiAgVmFsdWUgaXMgcmV0 dXJuZWQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcGFyYW1baW5dICBUb2tlbk51bWJlciAgIFRoZSBQ Q0QgdG9rZW4gbnVtYmVyIHRvIHNldCBhIGN1cnJlbnQgdmFsdWUgZm9yLg0KPj4+Pj4gLSAgQHBh cmFtW2luXSAgVmFsdWUgICAgICAgICBUaGUgMzItYml0IHZhbHVlIHRvIHNldC4NCj4+Pj4+IC0N Cj4+Pj4+IC0gIEByZXR1cm4gUmV0dXJuIHRoZSB2YWx1ZSB0aGF0IHdhcyBzZXQuDQo+Pj4+PiAt DQo+Pj4+PiAtKiovDQo+Pj4+PiAtVUlOVDMyDQo+Pj4+PiAtRUZJQVBJDQo+Pj4+PiAtTGliUGNk U2V0MzIgKA0KPj4+Pj4gLSAgSU4gVUlOVE4gICAgICAgICAgICAgVG9rZW5OdW1iZXIsDQo+Pj4+ PiAtICBJTiBVSU5UMzIgICAgICAgICAgICBWYWx1ZQ0KPj4+Pj4gLSAgKQ0KPj4+Pj4gLXsNCj4+ Pj4+IC0gIEdldFBjZFByb3RvY29sKCktPlNldDMyIChUb2tlbk51bWJlciwgVmFsdWUpOw0KPj4+ Pj4gLQ0KPj4+Pj4gLSAgcmV0dXJuIFZhbHVlOw0KPj4+Pj4gLX0NCj4+Pj4+IC0NCj4+Pj4+IC0N Cj4+Pj4+IC0NCj4+Pj4+IC0vKioNCj4+Pj4+IC0gIFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgYSBt ZWFucyBieSB3aGljaCB0byBzZXQgYSB2YWx1ZSBmb3IgYSBnaXZlbiBQQ0QgdG9rZW4uDQo+Pj4+ PiAtDQo+Pj4+PiAtICBTZXRzIHRoZSA2NC1iaXQgdmFsdWUgZm9yIHRoZSB0b2tlbiBzcGVjaWZp ZWQgYnkgVG9rZW5OdW1iZXINCj4+Pj4+IC0gIHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgVmFs dWUuICBWYWx1ZSBpcyByZXR1cm5lZC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIFRv a2VuTnVtYmVyICAgVGhlIFBDRCB0b2tlbiBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1ZSBm b3IuDQo+Pj4+PiAtICBAcGFyYW1baW5dICBWYWx1ZSAgICAgICAgIFRoZSA2NC1iaXQgdmFsdWUg dG8gc2V0Lg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHJldHVybiBSZXR1cm4gdGhlIHZhbHVlIHRoYXQg d2FzIHNldC4NCj4+Pj4+IC0NCj4+Pj4+IC0qKi8NCj4+Pj4+IC1VSU5UNjQNCj4+Pj4+IC1FRklB UEkNCj4+Pj4+IC1MaWJQY2RTZXQ2NCAoDQo+Pj4+PiAtICBJTiBVSU5UTiAgICAgICAgICAgICBU b2tlbk51bWJlciwNCj4+Pj4+IC0gIElOIFVJTlQ2NCAgICAgICAgICAgIFZhbHVlDQo+Pj4+PiAt ICApDQo+Pj4+PiAtew0KPj4+Pj4gLSAgR2V0UGNkUHJvdG9jb2woKS0+U2V0NjQgKFRva2VuTnVt YmVyLCBWYWx1ZSk7DQo+Pj4+PiAtDQo+Pj4+PiAtICByZXR1cm4gVmFsdWU7DQo+Pj4+PiAtfQ0K Pj4+Pj4gLQ0KPj4+Pj4gLQ0KPj4+Pj4gLQ0KPj4+Pj4gLS8qKg0KPj4+Pj4gLSAgVGhpcyBmdW5j dGlvbiBwcm92aWRlcyBhIG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVlIGZvciBhIGdpdmVu IFBDRCB0b2tlbi4NCj4+Pj4+IC0NCj4+Pj4+IC0gIFNldHMgYSBidWZmZXIgZm9yIHRoZSB0b2tl biBzcGVjaWZpZWQgYnkgVG9rZW5OdW1iZXIgdG8gdGhlIHZhbHVlDQo+Pj4+PiAtICBzcGVjaWZp ZWQgYnkgQnVmZmVyIGFuZCBTaXplT2ZCdWZmZXIuICBCdWZmZXIgaXMgcmV0dXJuZWQuDQo+Pj4+ PiAtICBJZiBTaXplT2ZCdWZmZXIgaXMgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtIHNpemUgc3Vw cG9ydCBieSBUb2tlbk51bWJlciwNCj4+Pj4+IC0gIHRoZW4gc2V0IFNpemVPZkJ1ZmZlciB0byB0 aGUgbWF4aW11bSBzaXplIHN1cHBvcnRlZCBieSBUb2tlbk51bWJlciBhbmQNCj4+Pj4+IC0gIHJl dHVybiBOVUxMIHRvIGluZGljYXRlIHRoYXQgdGhlIHNldCBvcGVyYXRpb24gd2FzIG5vdCBhY3R1 YWxseSBwZXJmb3JtZWQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBJZiBTaXplT2ZCdWZmZXIgaXMgc2V0 IHRvIE1BWF9BRERSRVNTLCB0aGVuIFNpemVPZkJ1ZmZlciBtdXN0IGJlIHNldCB0byB0aGUNCj4+ Pj4+IC0gIG1heGltdW0gc2l6ZSBzdXBwb3J0ZWQgYnkgVG9rZW5OYW1lIGFuZCBOVUxMIG11c3Qg YmUgcmV0dXJuZWQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBJZiBTaXplT2ZCdWZmZXIgaXMgTlVMTCwg dGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIFNpemVPZkJ1ZmZlciA+IDAgYW5kIEJ1ZmZlciBp cyBOVUxMLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHBhcmFtW2luXSAgICAg IFRva2VuTnVtYmVyICAgVGhlIFBDRCB0b2tlbiBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1 ZSBmb3IuDQo+Pj4+PiAtICBAcGFyYW1baW4sIG91dF0gU2l6ZU9mQnVmZmVyICBUaGUgc2l6ZSwg aW4gYnl0ZXMsIG9mIEJ1ZmZlci4NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gICAgICBCdWZmZXIgICAg ICAgIEEgcG9pbnRlciB0byB0aGUgYnVmZmVyIHRvIHNldC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEBy ZXR1cm4gUmV0dXJuIHRoZSBwb2ludGVyIGZvciB0aGUgYnVmZmVyIGJlZW4gc2V0Lg0KPj4+Pj4g LQ0KPj4+Pj4gLSoqLw0KPj4+Pj4gLVZPSUQgKg0KPj4+Pj4gLUVGSUFQSQ0KPj4+Pj4gLUxpYlBj ZFNldFB0ciAoDQo+Pj4+PiAtICBJTiAgICAgICAgVUlOVE4gICAgICAgICAgICAgVG9rZW5OdW1i ZXIsDQo+Pj4+PiAtICBJTiBPVVQgICAgVUlOVE4gICAgICAgICAgICAgKlNpemVPZkJ1ZmZlciwN Cj4+Pj4+IC0gIElOIENPTlNUICBWT0lEICAgICAgICAgICAgICAqQnVmZmVyDQo+Pj4+PiAtICAp DQo+Pj4+PiAtew0KPj4+Pj4gLSAgRUZJX1NUQVRVUyBTdGF0dXM7DQo+Pj4+PiAtICBVSU5UTiAg ICAgIElucHV0U2l6ZU9mQnVmZmVyOw0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQVNTRVJUIChTaXplT2ZC dWZmZXIgIT0gTlVMTCk7DQo+Pj4+PiAtDQo+Pj4+PiAtICBpZiAoKlNpemVPZkJ1ZmZlciA+IDAp IHsNCj4+Pj4+IC0gICAgQVNTRVJUIChCdWZmZXIgIT0gTlVMTCk7DQo+Pj4+PiAtICB9DQo+Pj4+ PiAtDQo+Pj4+PiAtICBJbnB1dFNpemVPZkJ1ZmZlciA9ICpTaXplT2ZCdWZmZXI7DQo+Pj4+PiAt ICBTdGF0dXMgPSBHZXRQY2RQcm90b2NvbCgpLT5TZXRQdHIgKFRva2VuTnVtYmVyLCBTaXplT2ZC dWZmZXIsIChWT0lEICopIEJ1ZmZlcik7DQo+Pj4+PiAtICBpZiAoRUZJX0VSUk9SIChTdGF0dXMp ICYmICgqU2l6ZU9mQnVmZmVyIDwgSW5wdXRTaXplT2ZCdWZmZXIpKSB7DQo+Pj4+PiAtICAgIHJl dHVybiBOVUxMOw0KPj4+Pj4gLSAgfQ0KPj4+Pj4gLQ0KPj4+Pj4gLSAgcmV0dXJuIChWT0lEICop QnVmZmVyOw0KPj4+Pj4gLX0NCj4+Pj4+IC0NCj4+Pj4+IC0NCj4+Pj4+IC0NCj4+Pj4+IC0vKioN Cj4+Pj4+IC0gIFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgYSBtZWFucyBieSB3aGljaCB0byBzZXQg YSB2YWx1ZSBmb3IgYSBnaXZlbiBQQ0QgdG9rZW4uDQo+Pj4+PiAtDQo+Pj4+PiAtICBTZXRzIHRo ZSBCb29sZWFuIHZhbHVlIGZvciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IFRva2VuTnVtYmVyDQo+ Pj4+PiAtICB0byB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IFZhbHVlLiAgVmFsdWUgaXMgcmV0dXJu ZWQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcGFyYW1baW5dICBUb2tlbk51bWJlciAgIFRoZSBQQ0Qg dG9rZW4gbnVtYmVyIHRvIHNldCBhIGN1cnJlbnQgdmFsdWUgZm9yLg0KPj4+Pj4gLSAgQHBhcmFt W2luXSAgVmFsdWUgICAgICAgICBUaGUgYm9vbGVhbiB2YWx1ZSB0byBzZXQuDQo+Pj4+PiAtDQo+ Pj4+PiAtICBAcmV0dXJuIFJldHVybiB0aGUgdmFsdWUgdGhhdCB3YXMgc2V0Lg0KPj4+Pj4gLQ0K Pj4+Pj4gLSoqLw0KPj4+Pj4gLUJPT0xFQU4NCj4+Pj4+IC1FRklBUEkNCj4+Pj4+IC1MaWJQY2RT ZXRCb29sICgNCj4+Pj4+IC0gIElOIFVJTlROICAgICAgICAgICAgIFRva2VuTnVtYmVyLA0KPj4+ Pj4gLSAgSU4gQk9PTEVBTiAgICAgICAgICAgVmFsdWUNCj4+Pj4+IC0gICkNCj4+Pj4+IC17DQo+ Pj4+PiAtICBHZXRQY2RQcm90b2NvbCgpLT5TZXRCb29sIChUb2tlbk51bWJlciwgVmFsdWUpOw0K Pj4+Pj4gLQ0KPj4+Pj4gLSAgcmV0dXJuIFZhbHVlOw0KPj4+Pj4gLX0NCj4+Pj4+IC0NCj4+Pj4+ IC0NCj4+Pj4+IC0NCj4+Pj4+IC0vKioNCj4+Pj4+IC0gIFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMg YSBtZWFucyBieSB3aGljaCB0byBzZXQgYSB2YWx1ZSBmb3IgYSBnaXZlbiBQQ0QgdG9rZW4uDQo+ Pj4+PiAtDQo+Pj4+PiAtICBTZXRzIHRoZSA4LWJpdCB2YWx1ZSBmb3IgdGhlIHRva2VuIHNwZWNp ZmllZCBieSBUb2tlbk51bWJlciBhbmQNCj4+Pj4+IC0gIEd1aWQgdG8gdGhlIHZhbHVlIHNwZWNp ZmllZCBieSBWYWx1ZS4gVmFsdWUgaXMgcmV0dXJuZWQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBJZiBH dWlkIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcGFyYW1baW5d ICBHdWlkICAgICAgICAgIFRoZSBwb2ludGVyIHRvIGEgMTI4LWJpdCB1bmlxdWUgdmFsdWUgdGhh dA0KPj4+Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNpZ25hdGVzIHdoaWNoIG5h bWVzcGFjZSB0byBzZXQgYSB2YWx1ZSBmcm9tLg0KPj4+Pj4gLSAgQHBhcmFtW2luXSAgVG9rZW5O dW1iZXIgICBUaGUgUENEIHRva2VuIG51bWJlciB0byBzZXQgYSBjdXJyZW50IHZhbHVlIGZvci4N Cj4+Pj4+IC0gIEBwYXJhbVtpbl0gIFZhbHVlICAgICAgICAgVGhlIDgtYml0IHZhbHVlIHRvIHNl dC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEByZXR1cm4gUmV0dXJuIHRoZSB2YWx1ZSB0aGF0IHdhcyBz ZXQuDQo+Pj4+PiAtDQo+Pj4+PiAtKiovDQo+Pj4+PiAtVUlOVDgNCj4+Pj4+IC1FRklBUEkNCj4+ Pj4+IC1MaWJQY2RTZXRFeDggKA0KPj4+Pj4gLSAgSU4gQ09OU1QgR1VJRCAgICAgICAgKkd1aWQs DQo+Pj4+PiAtICBJTiBVSU5UTiAgICAgICAgICAgICBUb2tlbk51bWJlciwNCj4+Pj4+IC0gIElO IFVJTlQ4ICAgICAgICAgICAgIFZhbHVlDQo+Pj4+PiAtICApDQo+Pj4+PiAtew0KPj4+Pj4gLSAg QVNTRVJUIChHdWlkICE9IE5VTEwpOw0KPj4+Pj4gLQ0KPj4+Pj4gLSAgR2V0UGlQY2RQcm90b2Nv bCgpLT5TZXQ4IChHdWlkLCBUb2tlbk51bWJlciwgVmFsdWUpOw0KPj4+Pj4gLQ0KPj4+Pj4gLSAg cmV0dXJuIFZhbHVlOw0KPj4+Pj4gLX0NCj4+Pj4+IC0NCj4+Pj4+IC0NCj4+Pj4+IC0NCj4+Pj4+ IC0vKioNCj4+Pj4+IC0gIFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgYSBtZWFucyBieSB3aGljaCB0 byBzZXQgYSB2YWx1ZSBmb3IgYSBnaXZlbiBQQ0QgdG9rZW4uDQo+Pj4+PiAtDQo+Pj4+PiAtICBT ZXRzIHRoZSAxNi1iaXQgdmFsdWUgZm9yIHRoZSB0b2tlbiBzcGVjaWZpZWQgYnkgVG9rZW5OdW1i ZXIgYW5kDQo+Pj4+PiAtICBHdWlkIHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgVmFsdWUuIFZh bHVlIGlzIHJldHVybmVkLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgSWYgR3VpZCBpcyBOVUxMLCB0aGVu IEFTU0VSVCgpLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHBhcmFtW2luXSAgR3VpZCAgICAgICAgICBU aGUgcG9pbnRlciB0byBhIDEyOC1iaXQgdW5pcXVlIHZhbHVlIHRoYXQNCj4+Pj4+IC0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgZGVzaWduYXRlcyB3aGljaCBuYW1lc3BhY2UgdG8gc2V0IGEg dmFsdWUgZnJvbS4NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIFRva2VuTnVtYmVyICAgVGhlIFBDRCB0 b2tlbiBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1ZSBmb3IuDQo+Pj4+PiAtICBAcGFyYW1b aW5dICBWYWx1ZSAgICAgICAgIFRoZSAxNi1iaXQgdmFsdWUgdG8gc2V0Lg0KPj4+Pj4gLQ0KPj4+ Pj4gLSAgQHJldHVybiBSZXR1cm4gdGhlIHZhbHVlIHRoYXQgd2FzIHNldC4NCj4+Pj4+IC0NCj4+ Pj4+IC0qKi8NCj4+Pj4+IC1VSU5UMTYNCj4+Pj4+IC1FRklBUEkNCj4+Pj4+IC1MaWJQY2RTZXRF eDE2ICgNCj4+Pj4+IC0gIElOIENPTlNUIEdVSUQgICAgICAgICpHdWlkLA0KPj4+Pj4gLSAgSU4g VUlOVE4gICAgICAgICAgICAgVG9rZW5OdW1iZXIsDQo+Pj4+PiAtICBJTiBVSU5UMTYgICAgICAg ICAgICBWYWx1ZQ0KPj4+Pj4gLSAgKQ0KPj4+Pj4gLXsNCj4+Pj4+IC0gIEFTU0VSVCAoR3VpZCAh PSBOVUxMKTsNCj4+Pj4+IC0NCj4+Pj4+IC0gIEdldFBpUGNkUHJvdG9jb2woKS0+U2V0MTYgKEd1 aWQsIFRva2VuTnVtYmVyLCBWYWx1ZSk7DQo+Pj4+PiAtDQo+Pj4+PiAtICByZXR1cm4gVmFsdWU7 DQo+Pj4+PiAtfQ0KPj4+Pj4gLQ0KPj4+Pj4gLQ0KPj4+Pj4gLQ0KPj4+Pj4gLS8qKg0KPj4+Pj4g LSAgVGhpcyBmdW5jdGlvbiBwcm92aWRlcyBhIG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVl IGZvciBhIGdpdmVuIFBDRCB0b2tlbi4NCj4+Pj4+IC0NCj4+Pj4+IC0gIFNldHMgdGhlIDMyLWJp dCB2YWx1ZSBmb3IgdGhlIHRva2VuIHNwZWNpZmllZCBieSBUb2tlbk51bWJlciBhbmQNCj4+Pj4+ IC0gIEd1aWQgdG8gdGhlIHZhbHVlIHNwZWNpZmllZCBieSBWYWx1ZS4gVmFsdWUgaXMgcmV0dXJu ZWQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBJZiBHdWlkIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuDQo+ Pj4+PiAtDQo+Pj4+PiAtICBAcGFyYW1baW5dICBHdWlkICAgICAgICAgIFRoZSBwb2ludGVyIHRv IGEgMTI4LWJpdCB1bmlxdWUgdmFsdWUgdGhhdA0KPj4+Pj4gLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkZXNpZ25hdGVzIHdoaWNoIG5hbWVzcGFjZSB0byBzZXQgYSB2YWx1ZSBmcm9tLg0K Pj4+Pj4gLSAgQHBhcmFtW2luXSAgVG9rZW5OdW1iZXIgICBUaGUgUENEIHRva2VuIG51bWJlciB0 byBzZXQgYSBjdXJyZW50IHZhbHVlIGZvci4NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIFZhbHVlICAg ICAgICAgVGhlIDMyLWJpdCB2YWx1ZSB0byBzZXQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcmV0dXJu IFJldHVybiB0aGUgdmFsdWUgdGhhdCB3YXMgc2V0Lg0KPj4+Pj4gLQ0KPj4+Pj4gLSoqLw0KPj4+ Pj4gLVVJTlQzMg0KPj4+Pj4gLUVGSUFQSQ0KPj4+Pj4gLUxpYlBjZFNldEV4MzIgKA0KPj4+Pj4g LSAgSU4gQ09OU1QgR1VJRCAgICAgICAgKkd1aWQsDQo+Pj4+PiAtICBJTiBVSU5UTiAgICAgICAg ICAgICBUb2tlbk51bWJlciwNCj4+Pj4+IC0gIElOIFVJTlQzMiAgICAgICAgICAgIFZhbHVlDQo+ Pj4+PiAtICApDQo+Pj4+PiAtew0KPj4+Pj4gLSAgQVNTRVJUIChHdWlkICE9IE5VTEwpOw0KPj4+ Pj4gLQ0KPj4+Pj4gLSAgR2V0UGlQY2RQcm90b2NvbCgpLT5TZXQzMiAoR3VpZCwgVG9rZW5OdW1i ZXIsIFZhbHVlKTsNCj4+Pj4+IC0NCj4+Pj4+IC0gIHJldHVybiBWYWx1ZTsNCj4+Pj4+IC19DQo+ Pj4+PiAtDQo+Pj4+PiAtDQo+Pj4+PiAtDQo+Pj4+PiAtLyoqDQo+Pj4+PiAtICBUaGlzIGZ1bmN0 aW9uIHByb3ZpZGVzIGEgbWVhbnMgYnkgd2hpY2ggdG8gc2V0IGEgdmFsdWUgZm9yIGEgZ2l2ZW4g UENEIHRva2VuLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgU2V0cyB0aGUgNjQtYml0IHZhbHVlIGZvciB0 aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IFRva2VuTnVtYmVyIGFuZA0KPj4+Pj4gLSAgR3VpZCB0byB0 aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IFZhbHVlLiBWYWx1ZSBpcyByZXR1cm5lZC4NCj4+Pj4+IC0N Cj4+Pj4+IC0gIElmIEd1aWQgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0NCj4+Pj4+ IC0gIEBwYXJhbVtpbl0gIEd1aWQgICAgICAgICAgVGhlIHBvaW50ZXIgdG8gYSAxMjgtYml0IHVu aXF1ZSB2YWx1ZSB0aGF0DQo+Pj4+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2ln bmF0ZXMgd2hpY2ggbmFtZXNwYWNlIHRvIHNldCBhIHZhbHVlIGZyb20uDQo+Pj4+PiAtICBAcGFy YW1baW5dICBUb2tlbk51bWJlciAgIFRoZSBQQ0QgdG9rZW4gbnVtYmVyIHRvIHNldCBhIGN1cnJl bnQgdmFsdWUgZm9yLg0KPj4+Pj4gLSAgQHBhcmFtW2luXSAgVmFsdWUgICAgICAgICBUaGUgNjQt Yml0IHZhbHVlIHRvIHNldC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEByZXR1cm4gUmV0dXJuIHRoZSB2 YWx1ZSB0aGF0IHdhcyBzZXQuDQo+Pj4+PiAtDQo+Pj4+PiAtKiovDQo+Pj4+PiAtVUlOVDY0DQo+ Pj4+PiAtRUZJQVBJDQo+Pj4+PiAtTGliUGNkU2V0RXg2NCAoDQo+Pj4+PiAtICBJTiBDT05TVCBH VUlEICAgICAgICAqR3VpZCwNCj4+Pj4+IC0gIElOIFVJTlROICAgICAgICAgICAgIFRva2VuTnVt YmVyLA0KPj4+Pj4gLSAgSU4gVUlOVDY0ICAgICAgICAgICAgVmFsdWUNCj4+Pj4+IC0gICkNCj4+ Pj4+IC17DQo+Pj4+PiAtICBBU1NFUlQgKEd1aWQgIT0gTlVMTCk7DQo+Pj4+PiAtDQo+Pj4+PiAt ICBHZXRQaVBjZFByb3RvY29sKCktPlNldDY0IChHdWlkLCBUb2tlbk51bWJlciwgVmFsdWUpOw0K Pj4+Pj4gLQ0KPj4+Pj4gLSAgcmV0dXJuIFZhbHVlOw0KPj4+Pj4gLX0NCj4+Pj4+IC0NCj4+Pj4+ IC0NCj4+Pj4+IC0NCj4+Pj4+IC0vKioNCj4+Pj4+IC0gIFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMg YSBtZWFucyBieSB3aGljaCB0byBzZXQgYSB2YWx1ZSBmb3IgYSBnaXZlbiBQQ0QgdG9rZW4uDQo+ Pj4+PiAtDQo+Pj4+PiAtICBTZXRzIGEgYnVmZmVyIGZvciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5 IFRva2VuTnVtYmVyIHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkNCj4+Pj4+IC0gIEJ1ZmZlciBh bmQgU2l6ZU9mQnVmZmVyLiAgQnVmZmVyIGlzIHJldHVybmVkLiAgSWYgU2l6ZU9mQnVmZmVyIGlz IGdyZWF0ZXIgdGhhbg0KPj4+Pj4gLSAgdGhlIG1heGltdW0gc2l6ZSBzdXBwb3J0IGJ5IFRva2Vu TnVtYmVyLCB0aGVuIHNldCBTaXplT2ZCdWZmZXIgdG8gdGhlIG1heGltdW0gc2l6ZQ0KPj4+Pj4g LSAgc3VwcG9ydGVkIGJ5IFRva2VuTnVtYmVyIGFuZCByZXR1cm4gTlVMTCB0byBpbmRpY2F0ZSB0 aGF0IHRoZSBzZXQgb3BlcmF0aW9uDQo+Pj4+PiAtICB3YXMgbm90IGFjdHVhbGx5IHBlcmZvcm1l ZC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIElmIEd1aWQgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4+ Pj4+IC0gIElmIFNpemVPZkJ1ZmZlciBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAg SWYgU2l6ZU9mQnVmZmVyID4gMCBhbmQgQnVmZmVyIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuDQo+ Pj4+PiAtDQo+Pj4+PiAtICBAcGFyYW1baW5dICBHdWlkICAgICAgICAgICAgICBUaGUgcG9pbnRl ciB0byBhIDEyOC1iaXQgdW5pcXVlIHZhbHVlIHRoYXQNCj4+Pj4+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGRlc2lnbmF0ZXMgd2hpY2ggbmFtZXNwYWNlIHRvIHNldCBhIHZhbHVl IGZyb20uDQo+Pj4+PiAtICBAcGFyYW1baW5dICBUb2tlbk51bWJlciAgICAgICBUaGUgUENEIHRv a2VuIG51bWJlciB0byBzZXQgYSBjdXJyZW50IHZhbHVlIGZvci4NCj4+Pj4+IC0gIEBwYXJhbVtp biwgb3V0XSBTaXplT2ZCdWZmZXIgIFRoZSBzaXplLCBpbiBieXRlcywgb2YgQnVmZmVyLg0KPj4+ Pj4gLSAgQHBhcmFtW2luXSAgQnVmZmVyICAgICAgICAgICAgQSBwb2ludGVyIHRvIHRoZSBidWZm ZXIgdG8gc2V0Lg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHJldHVybiBSZXR1cm4gdGhlIHBvaW50ZXIg dG8gdGhlIGJ1ZmZlciBiZWVuIHNldC4NCj4+Pj4+IC0NCj4+Pj4+IC0qKi8NCj4+Pj4+IC1WT0lE ICoNCj4+Pj4+IC1FRklBUEkNCj4+Pj4+IC1MaWJQY2RTZXRFeFB0ciAoDQo+Pj4+PiAtICBJTiAg ICAgIENPTlNUIEdVSUQgICAgICAgICpHdWlkLA0KPj4+Pj4gLSAgSU4gICAgICBVSU5UTiAgICAg ICAgICAgICBUb2tlbk51bWJlciwNCj4+Pj4+IC0gIElOIE9VVCAgVUlOVE4gICAgICAgICAgICAg KlNpemVPZkJ1ZmZlciwNCj4+Pj4+IC0gIElOICAgICAgVk9JRCAgICAgICAgICAgICAgKkJ1ZmZl cg0KPj4+Pj4gLSAgKQ0KPj4+Pj4gLXsNCj4+Pj4+IC0gIEVGSV9TVEFUVVMgIFN0YXR1czsNCj4+ Pj4+IC0gIFVJTlROICAgICAgIElucHV0U2l6ZU9mQnVmZmVyOw0KPj4+Pj4gLQ0KPj4+Pj4gLSAg QVNTRVJUIChHdWlkICE9IE5VTEwpOw0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQVNTRVJUIChTaXplT2ZC dWZmZXIgIT0gTlVMTCk7DQo+Pj4+PiAtDQo+Pj4+PiAtICBpZiAoKlNpemVPZkJ1ZmZlciA+IDAp IHsNCj4+Pj4+IC0gICAgQVNTRVJUIChCdWZmZXIgIT0gTlVMTCk7DQo+Pj4+PiAtICB9DQo+Pj4+ PiAtDQo+Pj4+PiAtICBJbnB1dFNpemVPZkJ1ZmZlciA9ICpTaXplT2ZCdWZmZXI7DQo+Pj4+PiAt ICBTdGF0dXMgPSBHZXRQaVBjZFByb3RvY29sKCktPlNldFB0ciAoR3VpZCwgVG9rZW5OdW1iZXIs IFNpemVPZkJ1ZmZlciwgQnVmZmVyKTsNCj4+Pj4+IC0gIGlmIChFRklfRVJST1IgKFN0YXR1cykg JiYgKCpTaXplT2ZCdWZmZXIgPCBJbnB1dFNpemVPZkJ1ZmZlcikpIHsNCj4+Pj4+IC0gICAgcmV0 dXJuIE5VTEw7DQo+Pj4+PiAtICB9DQo+Pj4+PiAtDQo+Pj4+PiAtICByZXR1cm4gQnVmZmVyOw0K Pj4+Pj4gLX0NCj4+Pj4+IC0NCj4+Pj4+IC0NCj4+Pj4+IC0NCj4+Pj4+IC0vKioNCj4+Pj4+IC0g IFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgYSBtZWFucyBieSB3aGljaCB0byBzZXQgYSB2YWx1ZSBm b3IgYSBnaXZlbiBQQ0QgdG9rZW4uDQo+Pj4+PiAtDQo+Pj4+PiAtICBTZXRzIHRoZSBCb29sZWFu IHZhbHVlIGZvciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IFRva2VuTnVtYmVyIGFuZA0KPj4+Pj4g LSAgR3VpZCB0byB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IFZhbHVlLiBWYWx1ZSBpcyByZXR1cm5l ZC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIElmIEd1aWQgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4+ Pj4+IC0NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIEd1aWQgICAgICAgICAgVGhlIHBvaW50ZXIgdG8g YSAxMjgtYml0IHVuaXF1ZSB2YWx1ZSB0aGF0DQo+Pj4+PiAtICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGRlc2lnbmF0ZXMgd2hpY2ggbmFtZXNwYWNlIHRvIHNldCBhIHZhbHVlIGZyb20uDQo+ Pj4+PiAtICBAcGFyYW1baW5dICBUb2tlbk51bWJlciAgIFRoZSBQQ0QgdG9rZW4gbnVtYmVyIHRv IHNldCBhIGN1cnJlbnQgdmFsdWUgZm9yLg0KPj4+Pj4gLSAgQHBhcmFtW2luXSAgVmFsdWUgICAg ICAgICBUaGUgQm9vbGVhbiB2YWx1ZSB0byBzZXQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcmV0dXJu IFJldHVybiB0aGUgdmFsdWUgdGhhdCB3YXMgc2V0Lg0KPj4+Pj4gLQ0KPj4+Pj4gLSoqLw0KPj4+ Pj4gLUJPT0xFQU4NCj4+Pj4+IC1FRklBUEkNCj4+Pj4+IC1MaWJQY2RTZXRFeEJvb2wgKA0KPj4+ Pj4gLSAgSU4gQ09OU1QgR1VJRCAgICAgICAgKkd1aWQsDQo+Pj4+PiAtICBJTiBVSU5UTiAgICAg ICAgICAgICBUb2tlbk51bWJlciwNCj4+Pj4+IC0gIElOIEJPT0xFQU4gICAgICAgICAgIFZhbHVl DQo+Pj4+PiAtICApDQo+Pj4+PiAtew0KPj4+Pj4gLSAgQVNTRVJUIChHdWlkICE9IE5VTEwpOw0K Pj4+Pj4gLQ0KPj4+Pj4gLSAgR2V0UGlQY2RQcm90b2NvbCgpLT5TZXRCb29sIChHdWlkLCBUb2tl bk51bWJlciwgVmFsdWUpOw0KPj4+Pj4gLQ0KPj4+Pj4gLSAgcmV0dXJuIFZhbHVlOw0KPj4+Pj4g LX0NCj4+Pj4+IC0jZW5kaWYNCj4+Pj4+IC0NCj4+Pj4+ICAgLyoqDQo+Pj4+PiAgICAgVGhpcyBm dW5jdGlvbiBwcm92aWRlcyBhIG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVlIGZvciBhIGdp dmVuIFBDRCB0b2tlbi4NCj4+Pj4+DQo+Pj4+PiBkaWZmIC0tZ2l0IGEvTWRlUGtnL0xpYnJhcnkv UGVpUGNkTGliL1BlaVBjZExpYi5jIGIvTWRlUGtnL0xpYnJhcnkvUGVpUGNkTGliL1BlaVBjZExp Yi5jDQo+Pj4+PiBpbmRleCA5MTZhMmMwODQ0ZWIuLmQ5NzliMjhjYzhkZCAxMDA2NDQNCj4+Pj4+ IC0tLSBhL01kZVBrZy9MaWJyYXJ5L1BlaVBjZExpYi9QZWlQY2RMaWIuYw0KPj4+Pj4gKysrIGIv TWRlUGtnL0xpYnJhcnkvUGVpUGNkTGliL1BlaVBjZExpYi5jDQo+Pj4+PiBAQCAtNDc0LDQwMyAr NDc0LDYgQEAgTGliUGNkR2V0RXhTaXplICgNCj4+Pj4+ICAgfQ0KPj4+Pj4NCj4+Pj4+DQo+Pj4+ PiAtDQo+Pj4+PiAtI2lmbmRlZiBESVNBQkxFX05FV19ERVBSRUNBVEVEX0lOVEVSRkFDRVMNCj4+ Pj4+IC0vKioNCj4+Pj4+IC0gIFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgYSBtZWFucyBieSB3aGlj aCB0byBzZXQgYSB2YWx1ZSBmb3IgYSBnaXZlbiBQQ0QgdG9rZW4uDQo+Pj4+PiAtDQo+Pj4+PiAt ICBTZXRzIHRoZSA4LWJpdCB2YWx1ZSBmb3IgdGhlIHRva2VuIHNwZWNpZmllZCBieSBUb2tlbk51 bWJlcg0KPj4+Pj4gLSAgdG8gdGhlIHZhbHVlIHNwZWNpZmllZCBieSBWYWx1ZS4gIFZhbHVlIGlz IHJldHVybmVkLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHBhcmFtW2luXSAgVG9rZW5OdW1iZXIgICBU aGUgUENEIHRva2VuIG51bWJlciB0byBzZXQgYSBjdXJyZW50IHZhbHVlIGZvci4NCj4+Pj4+IC0g IEBwYXJhbVtpbl0gIFZhbHVlICAgICAgICAgVGhlIDgtYml0IHZhbHVlIHRvIHNldC4NCj4+Pj4+ IC0NCj4+Pj4+IC0gIEByZXR1cm4gUmV0dXJuIHRoZSB2YWx1ZSB0aGF0IHdhcyBzZXQuDQo+Pj4+ PiAtDQo+Pj4+PiAtKiovDQo+Pj4+PiAtVUlOVDgNCj4+Pj4+IC1FRklBUEkNCj4+Pj4+IC1MaWJQ Y2RTZXQ4ICgNCj4+Pj4+IC0gIElOIFVJTlROICAgICAgICAgICAgIFRva2VuTnVtYmVyLA0KPj4+ Pj4gLSAgSU4gVUlOVDggICAgICAgICAgICAgVmFsdWUNCj4+Pj4+IC0gICkNCj4+Pj4+IC17DQo+ Pj4+PiAtICAoR2V0UGNkUHBpUG9pbnRlciAoKSktPlNldDggKFRva2VuTnVtYmVyLCBWYWx1ZSk7 DQo+Pj4+PiAtDQo+Pj4+PiAtICByZXR1cm4gVmFsdWU7DQo+Pj4+PiAtfQ0KPj4+Pj4gLQ0KPj4+ Pj4gLQ0KPj4+Pj4gLQ0KPj4+Pj4gLS8qKg0KPj4+Pj4gLSAgVGhpcyBmdW5jdGlvbiBwcm92aWRl cyBhIG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVlIGZvciBhIGdpdmVuIFBDRCB0b2tlbi4N Cj4+Pj4+IC0NCj4+Pj4+IC0gIFNldHMgdGhlIDE2LWJpdCB2YWx1ZSBmb3IgdGhlIHRva2VuIHNw ZWNpZmllZCBieSBUb2tlbk51bWJlcg0KPj4+Pj4gLSAgdG8gdGhlIHZhbHVlIHNwZWNpZmllZCBi eSBWYWx1ZS4gIFZhbHVlIGlzIHJldHVybmVkLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHBhcmFtW2lu XSAgVG9rZW5OdW1iZXIgICBUaGUgUENEIHRva2VuIG51bWJlciB0byBzZXQgYSBjdXJyZW50IHZh bHVlIGZvci4NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIFZhbHVlICAgICAgICAgVGhlIDE2LWJpdCB2 YWx1ZSB0byBzZXQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcmV0dXJuIFJldHVybiB0aGUgdmFsdWUg dGhhdCB3YXMgc2V0Lg0KPj4+Pj4gLQ0KPj4+Pj4gLSoqLw0KPj4+Pj4gLVVJTlQxNg0KPj4+Pj4g LUVGSUFQSQ0KPj4+Pj4gLUxpYlBjZFNldDE2ICgNCj4+Pj4+IC0gIElOIFVJTlROICAgICAgICAg ICAgIFRva2VuTnVtYmVyLA0KPj4+Pj4gLSAgSU4gVUlOVDE2ICAgICAgICAgICAgVmFsdWUNCj4+ Pj4+IC0gICkNCj4+Pj4+IC17DQo+Pj4+PiAtICAoR2V0UGNkUHBpUG9pbnRlciAoKSktPlNldDE2 IChUb2tlbk51bWJlciwgVmFsdWUpOw0KPj4+Pj4gLQ0KPj4+Pj4gLSAgcmV0dXJuIFZhbHVlOw0K Pj4+Pj4gLX0NCj4+Pj4+IC0NCj4+Pj4+IC0NCj4+Pj4+IC0NCj4+Pj4+IC0vKioNCj4+Pj4+IC0g IFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgYSBtZWFucyBieSB3aGljaCB0byBzZXQgYSB2YWx1ZSBm b3IgYSBnaXZlbiBQQ0QgdG9rZW4uDQo+Pj4+PiAtDQo+Pj4+PiAtICBTZXRzIHRoZSAzMi1iaXQg dmFsdWUgZm9yIHRoZSB0b2tlbiBzcGVjaWZpZWQgYnkgVG9rZW5OdW1iZXINCj4+Pj4+IC0gIHRv IHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgVmFsdWUuICBWYWx1ZSBpcyByZXR1cm5lZC4NCj4+Pj4+ IC0NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIFRva2VuTnVtYmVyICAgVGhlIFBDRCB0b2tlbiBudW1i ZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1ZSBmb3IuDQo+Pj4+PiAtICBAcGFyYW1baW5dICBWYWx1 ZSAgICAgICAgIFRoZSAzMi1iaXQgdmFsdWUgdG8gc2V0Lg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHJl dHVybiBSZXR1cm4gdGhlIHZhbHVlIHRoYXQgd2FzIHNldC4NCj4+Pj4+IC0NCj4+Pj4+IC0qKi8N Cj4+Pj4+IC1VSU5UMzINCj4+Pj4+IC1FRklBUEkNCj4+Pj4+IC1MaWJQY2RTZXQzMiAoDQo+Pj4+ PiAtICBJTiBVSU5UTiAgICAgICAgICAgICBUb2tlbk51bWJlciwNCj4+Pj4+IC0gIElOIFVJTlQz MiAgICAgICAgICAgIFZhbHVlDQo+Pj4+PiAtICApDQo+Pj4+PiAtew0KPj4+Pj4gLSAgKEdldFBj ZFBwaVBvaW50ZXIgKCkpLT5TZXQzMiAoVG9rZW5OdW1iZXIsIFZhbHVlKTsNCj4+Pj4+IC0NCj4+ Pj4+IC0gIHJldHVybiBWYWx1ZTsNCj4+Pj4+IC19DQo+Pj4+PiAtDQo+Pj4+PiAtDQo+Pj4+PiAt DQo+Pj4+PiAtLyoqDQo+Pj4+PiAtICBUaGlzIGZ1bmN0aW9uIHByb3ZpZGVzIGEgbWVhbnMgYnkg d2hpY2ggdG8gc2V0IGEgdmFsdWUgZm9yIGEgZ2l2ZW4gUENEIHRva2VuLg0KPj4+Pj4gLQ0KPj4+ Pj4gLSAgU2V0cyB0aGUgNjQtYml0IHZhbHVlIGZvciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IFRv a2VuTnVtYmVyDQo+Pj4+PiAtICB0byB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IFZhbHVlLiAgVmFs dWUgaXMgcmV0dXJuZWQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcGFyYW1baW5dICBUb2tlbk51bWJl ciAgIFRoZSBQQ0QgdG9rZW4gbnVtYmVyIHRvIHNldCBhIGN1cnJlbnQgdmFsdWUgZm9yLg0KPj4+ Pj4gLSAgQHBhcmFtW2luXSAgVmFsdWUgICAgICAgICBUaGUgNjQtYml0IHZhbHVlIHRvIHNldC4N Cj4+Pj4+IC0NCj4+Pj4+IC0gIEByZXR1cm4gUmV0dXJuIHRoZSB2YWx1ZSB0aGF0IHdhcyBzZXQu DQo+Pj4+PiAtDQo+Pj4+PiAtKiovDQo+Pj4+PiAtVUlOVDY0DQo+Pj4+PiAtRUZJQVBJDQo+Pj4+ PiAtTGliUGNkU2V0NjQgKA0KPj4+Pj4gLSAgSU4gVUlOVE4gICAgICAgICAgICAgVG9rZW5OdW1i ZXIsDQo+Pj4+PiAtICBJTiBVSU5UNjQgICAgICAgICAgICBWYWx1ZQ0KPj4+Pj4gLSAgKQ0KPj4+ Pj4gLXsNCj4+Pj4+IC0gIChHZXRQY2RQcGlQb2ludGVyICgpKS0+U2V0NjQgKFRva2VuTnVtYmVy LCBWYWx1ZSk7DQo+Pj4+PiAtDQo+Pj4+PiAtICByZXR1cm4gVmFsdWU7DQo+Pj4+PiAtfQ0KPj4+ Pj4gLQ0KPj4+Pj4gLQ0KPj4+Pj4gLQ0KPj4+Pj4gLS8qKg0KPj4+Pj4gLSAgVGhpcyBmdW5jdGlv biBwcm92aWRlcyBhIG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVlIGZvciBhIGdpdmVuIFBD RCB0b2tlbi4NCj4+Pj4+IC0NCj4+Pj4+IC0gIFNldHMgYSBidWZmZXIgZm9yIHRoZSB0b2tlbiBz cGVjaWZpZWQgYnkgVG9rZW5OdW1iZXIgdG8gdGhlIHZhbHVlDQo+Pj4+PiAtICBzcGVjaWZpZWQg YnkgQnVmZmVyIGFuZCBTaXplT2ZCdWZmZXIuICBCdWZmZXIgaXMgcmV0dXJuZWQuDQo+Pj4+PiAt ICBJZiBTaXplT2ZCdWZmZXIgaXMgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtIHNpemUgc3VwcG9y dCBieSBUb2tlbk51bWJlciwNCj4+Pj4+IC0gIHRoZW4gc2V0IFNpemVPZkJ1ZmZlciB0byB0aGUg bWF4aW11bSBzaXplIHN1cHBvcnRlZCBieSBUb2tlbk51bWJlciBhbmQNCj4+Pj4+IC0gIHJldHVy biBOVUxMIHRvIGluZGljYXRlIHRoYXQgdGhlIHNldCBvcGVyYXRpb24gd2FzIG5vdCBhY3R1YWxs eSBwZXJmb3JtZWQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBJZiBTaXplT2ZCdWZmZXIgaXMgc2V0IHRv IE1BWF9BRERSRVNTLCB0aGVuIFNpemVPZkJ1ZmZlciBtdXN0IGJlIHNldCB0byB0aGUNCj4+Pj4+ IC0gIG1heGltdW0gc2l6ZSBzdXBwb3J0ZWQgYnkgVG9rZW5OYW1lIGFuZCBOVUxMIG11c3QgYmUg cmV0dXJuZWQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBJZiBTaXplT2ZCdWZmZXIgaXMgTlVMTCwgdGhl biBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIFNpemVPZkJ1ZmZlciA+IDAgYW5kIEJ1ZmZlciBpcyBO VUxMLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHBhcmFtW2luXSAgICAgIFRv a2VuTnVtYmVyICAgVGhlIFBDRCB0b2tlbiBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1ZSBm b3IuDQo+Pj4+PiAtICBAcGFyYW1baW4sIG91dF0gU2l6ZU9mQnVmZmVyICBUaGUgc2l6ZSwgaW4g Ynl0ZXMsIG9mIEJ1ZmZlci4NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gICAgICBCdWZmZXIgICAgICAg IEEgcG9pbnRlciB0byB0aGUgYnVmZmVyIHRvIHNldC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEByZXR1 cm4gUmV0dXJuIHRoZSBwb2ludGVyIGZvciB0aGUgYnVmZmVyIGJlZW4gc2V0Lg0KPj4+Pj4gLQ0K Pj4+Pj4gLSoqLw0KPj4+Pj4gLVZPSUQgKg0KPj4+Pj4gLUVGSUFQSQ0KPj4+Pj4gLUxpYlBjZFNl dFB0ciAoDQo+Pj4+PiAtICBJTiAgICAgICAgVUlOVE4gICAgICAgICAgICAgVG9rZW5OdW1iZXIs DQo+Pj4+PiAtICBJTiBPVVQgICAgVUlOVE4gICAgICAgICAgICAgKlNpemVPZkJ1ZmZlciwNCj4+ Pj4+IC0gIElOIENPTlNUICBWT0lEICAgICAgICAgICAgICAqQnVmZmVyDQo+Pj4+PiAtICApDQo+ Pj4+PiAtew0KPj4+Pj4gLSAgRUZJX1NUQVRVUyBTdGF0dXM7DQo+Pj4+PiAtICBVSU5UTiAgICAg IElucHV0U2l6ZU9mQnVmZmVyOw0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQVNTRVJUIChTaXplT2ZCdWZm ZXIgIT0gTlVMTCk7DQo+Pj4+PiAtDQo+Pj4+PiAtICBpZiAoKlNpemVPZkJ1ZmZlciA+IDApIHsN Cj4+Pj4+IC0gICAgQVNTRVJUIChCdWZmZXIgIT0gTlVMTCk7DQo+Pj4+PiAtICB9DQo+Pj4+PiAt DQo+Pj4+PiAtICBJbnB1dFNpemVPZkJ1ZmZlciA9ICpTaXplT2ZCdWZmZXI7DQo+Pj4+PiAtICBT dGF0dXMgPSAoR2V0UGNkUHBpUG9pbnRlciAoKSktPlNldFB0ciAoVG9rZW5OdW1iZXIsIFNpemVP ZkJ1ZmZlciwgKFZPSUQgKikgQnVmZmVyKTsNCj4+Pj4+IC0gIGlmIChFRklfRVJST1IgKFN0YXR1 cykgJiYgKCpTaXplT2ZCdWZmZXIgPCBJbnB1dFNpemVPZkJ1ZmZlcikpIHsNCj4+Pj4+IC0gICAg cmV0dXJuIE5VTEw7DQo+Pj4+PiAtICB9DQo+Pj4+PiAtDQo+Pj4+PiAtICByZXR1cm4gKFZPSUQg KikgQnVmZmVyOw0KPj4+Pj4gLX0NCj4+Pj4+IC0NCj4+Pj4+IC0NCj4+Pj4+IC0NCj4+Pj4+IC0v KioNCj4+Pj4+IC0gIFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgYSBtZWFucyBieSB3aGljaCB0byBz ZXQgYSB2YWx1ZSBmb3IgYSBnaXZlbiBQQ0QgdG9rZW4uDQo+Pj4+PiAtDQo+Pj4+PiAtICBTZXRz IHRoZSBCb29sZWFuIHZhbHVlIGZvciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IFRva2VuTnVtYmVy DQo+Pj4+PiAtICB0byB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IFZhbHVlLiAgVmFsdWUgaXMgcmV0 dXJuZWQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcGFyYW1baW5dICBUb2tlbk51bWJlciAgIFRoZSBQ Q0QgdG9rZW4gbnVtYmVyIHRvIHNldCBhIGN1cnJlbnQgdmFsdWUgZm9yLg0KPj4+Pj4gLSAgQHBh cmFtW2luXSAgVmFsdWUgICAgICAgICBUaGUgYm9vbGVhbiB2YWx1ZSB0byBzZXQuDQo+Pj4+PiAt DQo+Pj4+PiAtICBAcmV0dXJuIFJldHVybiB0aGUgdmFsdWUgdGhhdCB3YXMgc2V0Lg0KPj4+Pj4g LQ0KPj4+Pj4gLSoqLw0KPj4+Pj4gLUJPT0xFQU4NCj4+Pj4+IC1FRklBUEkNCj4+Pj4+IC1MaWJQ Y2RTZXRCb29sICgNCj4+Pj4+IC0gIElOIFVJTlROICAgICAgICAgICAgIFRva2VuTnVtYmVyLA0K Pj4+Pj4gLSAgSU4gQk9PTEVBTiAgICAgICAgICAgVmFsdWUNCj4+Pj4+IC0gICkNCj4+Pj4+IC17 DQo+Pj4+PiAtICAoR2V0UGNkUHBpUG9pbnRlciAoKSktPlNldEJvb2wgKFRva2VuTnVtYmVyLCBW YWx1ZSk7DQo+Pj4+PiAtDQo+Pj4+PiAtICByZXR1cm4gVmFsdWU7DQo+Pj4+PiAtfQ0KPj4+Pj4g LQ0KPj4+Pj4gLQ0KPj4+Pj4gLQ0KPj4+Pj4gLS8qKg0KPj4+Pj4gLSAgVGhpcyBmdW5jdGlvbiBw cm92aWRlcyBhIG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVlIGZvciBhIGdpdmVuIFBDRCB0 b2tlbi4NCj4+Pj4+IC0NCj4+Pj4+IC0gIFNldHMgdGhlIDgtYml0IHZhbHVlIGZvciB0aGUgdG9r ZW4gc3BlY2lmaWVkIGJ5IFRva2VuTnVtYmVyIGFuZA0KPj4+Pj4gLSAgR3VpZCB0byB0aGUgdmFs dWUgc3BlY2lmaWVkIGJ5IFZhbHVlLiBWYWx1ZSBpcyByZXR1cm5lZC4NCj4+Pj4+IC0NCj4+Pj4+ IC0gIElmIEd1aWQgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEBw YXJhbVtpbl0gIEd1aWQgICAgICAgICAgVGhlIHBvaW50ZXIgdG8gYSAxMjgtYml0IHVuaXF1ZSB2 YWx1ZSB0aGF0DQo+Pj4+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2lnbmF0ZXMg d2hpY2ggbmFtZXNwYWNlIHRvIHNldCBhIHZhbHVlIGZyb20uDQo+Pj4+PiAtICBAcGFyYW1baW5d ICBUb2tlbk51bWJlciAgIFRoZSBQQ0QgdG9rZW4gbnVtYmVyIHRvIHNldCBhIGN1cnJlbnQgdmFs dWUgZm9yLg0KPj4+Pj4gLSAgQHBhcmFtW2luXSAgVmFsdWUgICAgICAgICBUaGUgOC1iaXQgdmFs dWUgdG8gc2V0Lg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHJldHVybiBSZXR1cm4gdGhlIHZhbHVlIHRo YXQgd2FzIHNldC4NCj4+Pj4+IC0NCj4+Pj4+IC0qKi8NCj4+Pj4+IC1VSU5UOA0KPj4+Pj4gLUVG SUFQSQ0KPj4+Pj4gLUxpYlBjZFNldEV4OCAoDQo+Pj4+PiAtICBJTiBDT05TVCBHVUlEICAgICAg ICAqR3VpZCwNCj4+Pj4+IC0gIElOIFVJTlROICAgICAgICAgICAgIFRva2VuTnVtYmVyLA0KPj4+ Pj4gLSAgSU4gVUlOVDggICAgICAgICAgICAgVmFsdWUNCj4+Pj4+IC0gICkNCj4+Pj4+IC17DQo+ Pj4+PiAtICBBU1NFUlQgKEd1aWQgIT0gTlVMTCk7DQo+Pj4+PiAtDQo+Pj4+PiAtICAoR2V0UGlQ Y2RQcGlQb2ludGVyICgpKS0+U2V0OCAoR3VpZCwgVG9rZW5OdW1iZXIsIFZhbHVlKTsNCj4+Pj4+ IC0NCj4+Pj4+IC0gIHJldHVybiBWYWx1ZTsNCj4+Pj4+IC19DQo+Pj4+PiAtDQo+Pj4+PiAtDQo+ Pj4+PiAtDQo+Pj4+PiAtLyoqDQo+Pj4+PiAtICBUaGlzIGZ1bmN0aW9uIHByb3ZpZGVzIGEgbWVh bnMgYnkgd2hpY2ggdG8gc2V0IGEgdmFsdWUgZm9yIGEgZ2l2ZW4gUENEIHRva2VuLg0KPj4+Pj4g LQ0KPj4+Pj4gLSAgU2V0cyB0aGUgMTYtYml0IHZhbHVlIGZvciB0aGUgdG9rZW4gc3BlY2lmaWVk IGJ5IFRva2VuTnVtYmVyIGFuZA0KPj4+Pj4gLSAgR3VpZCB0byB0aGUgdmFsdWUgc3BlY2lmaWVk IGJ5IFZhbHVlLiBWYWx1ZSBpcyByZXR1cm5lZC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIElmIEd1aWQg aXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIEd1 aWQgICAgICAgICAgVGhlIHBvaW50ZXIgdG8gYSAxMjgtYml0IHVuaXF1ZSB2YWx1ZSB0aGF0DQo+ Pj4+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2lnbmF0ZXMgd2hpY2ggbmFtZXNw YWNlIHRvIHNldCBhIHZhbHVlIGZyb20uDQo+Pj4+PiAtICBAcGFyYW1baW5dICBUb2tlbk51bWJl ciAgIFRoZSBQQ0QgdG9rZW4gbnVtYmVyIHRvIHNldCBhIGN1cnJlbnQgdmFsdWUgZm9yLg0KPj4+ Pj4gLSAgQHBhcmFtW2luXSAgVmFsdWUgICAgICAgICBUaGUgMTYtYml0IHZhbHVlIHRvIHNldC4N Cj4+Pj4+IC0NCj4+Pj4+IC0gIEByZXR1cm4gUmV0dXJuIHRoZSB2YWx1ZSB0aGF0IHdhcyBzZXQu DQo+Pj4+PiAtDQo+Pj4+PiAtKiovDQo+Pj4+PiAtVUlOVDE2DQo+Pj4+PiAtRUZJQVBJDQo+Pj4+ PiAtTGliUGNkU2V0RXgxNiAoDQo+Pj4+PiAtICBJTiBDT05TVCBHVUlEICAgICAgICAqR3VpZCwN Cj4+Pj4+IC0gIElOIFVJTlROICAgICAgICAgICAgIFRva2VuTnVtYmVyLA0KPj4+Pj4gLSAgSU4g VUlOVDE2ICAgICAgICAgICAgVmFsdWUNCj4+Pj4+IC0gICkNCj4+Pj4+IC17DQo+Pj4+PiAtICBB U1NFUlQgKEd1aWQgIT0gTlVMTCk7DQo+Pj4+PiAtDQo+Pj4+PiAtICAoR2V0UGlQY2RQcGlQb2lu dGVyICgpKS0+U2V0MTYgKEd1aWQsIFRva2VuTnVtYmVyLCBWYWx1ZSk7DQo+Pj4+PiAtDQo+Pj4+ PiAtICByZXR1cm4gVmFsdWU7DQo+Pj4+PiAtfQ0KPj4+Pj4gLQ0KPj4+Pj4gLQ0KPj4+Pj4gLQ0K Pj4+Pj4gLS8qKg0KPj4+Pj4gLSAgVGhpcyBmdW5jdGlvbiBwcm92aWRlcyBhIG1lYW5zIGJ5IHdo aWNoIHRvIHNldCBhIHZhbHVlIGZvciBhIGdpdmVuIFBDRCB0b2tlbi4NCj4+Pj4+IC0NCj4+Pj4+ IC0gIFNldHMgdGhlIDMyLWJpdCB2YWx1ZSBmb3IgdGhlIHRva2VuIHNwZWNpZmllZCBieSBUb2tl bk51bWJlciBhbmQNCj4+Pj4+IC0gIEd1aWQgdG8gdGhlIHZhbHVlIHNwZWNpZmllZCBieSBWYWx1 ZS4gVmFsdWUgaXMgcmV0dXJuZWQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBJZiBHdWlkIGlzIE5VTEws IHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcGFyYW1baW5dICBHdWlkICAgICAg ICAgIFRoZSBwb2ludGVyIHRvIGEgMTI4LWJpdCB1bmlxdWUgdmFsdWUgdGhhdA0KPj4+Pj4gLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNpZ25hdGVzIHdoaWNoIG5hbWVzcGFjZSB0byBz ZXQgYSB2YWx1ZSBmcm9tLg0KPj4+Pj4gLSAgQHBhcmFtW2luXSAgVG9rZW5OdW1iZXIgICBUaGUg UENEIHRva2VuIG51bWJlciB0byBzZXQgYSBjdXJyZW50IHZhbHVlIGZvci4NCj4+Pj4+IC0gIEBw YXJhbVtpbl0gIFZhbHVlICAgICAgICAgVGhlIDMyLWJpdCB2YWx1ZSB0byBzZXQuDQo+Pj4+PiAt DQo+Pj4+PiAtICBAcmV0dXJuIFJldHVybiB0aGUgdmFsdWUgdGhhdCB3YXMgc2V0Lg0KPj4+Pj4g LQ0KPj4+Pj4gLSoqLw0KPj4+Pj4gLVVJTlQzMg0KPj4+Pj4gLUVGSUFQSQ0KPj4+Pj4gLUxpYlBj ZFNldEV4MzIgKA0KPj4+Pj4gLSAgSU4gQ09OU1QgR1VJRCAgICAgICAgKkd1aWQsDQo+Pj4+PiAt ICBJTiBVSU5UTiAgICAgICAgICAgICBUb2tlbk51bWJlciwNCj4+Pj4+IC0gIElOIFVJTlQzMiAg ICAgICAgICAgIFZhbHVlDQo+Pj4+PiAtICApDQo+Pj4+PiAtew0KPj4+Pj4gLSAgQVNTRVJUIChH dWlkICE9IE5VTEwpOw0KPj4+Pj4gLQ0KPj4+Pj4gLSAgKEdldFBpUGNkUHBpUG9pbnRlciAoKSkt PlNldDMyIChHdWlkLCBUb2tlbk51bWJlciwgVmFsdWUpOw0KPj4+Pj4gLQ0KPj4+Pj4gLSAgcmV0 dXJuIFZhbHVlOw0KPj4+Pj4gLX0NCj4+Pj4+IC0NCj4+Pj4+IC0NCj4+Pj4+IC0NCj4+Pj4+IC0v KioNCj4+Pj4+IC0gIFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgYSBtZWFucyBieSB3aGljaCB0byBz ZXQgYSB2YWx1ZSBmb3IgYSBnaXZlbiBQQ0QgdG9rZW4uDQo+Pj4+PiAtDQo+Pj4+PiAtICBTZXRz IHRoZSA2NC1iaXQgdmFsdWUgZm9yIHRoZSB0b2tlbiBzcGVjaWZpZWQgYnkgVG9rZW5OdW1iZXIg YW5kDQo+Pj4+PiAtICBHdWlkIHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgVmFsdWUuIFZhbHVl IGlzIHJldHVybmVkLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgSWYgR3VpZCBpcyBOVUxMLCB0aGVuIEFT U0VSVCgpLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHBhcmFtW2luXSAgR3VpZCAgICAgICAgICBUaGUg cG9pbnRlciB0byBhIDEyOC1iaXQgdW5pcXVlIHZhbHVlIHRoYXQNCj4+Pj4+IC0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgZGVzaWduYXRlcyB3aGljaCBuYW1lc3BhY2UgdG8gc2V0IGEgdmFs dWUgZnJvbS4NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIFRva2VuTnVtYmVyICAgVGhlIFBDRCB0b2tl biBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1ZSBmb3IuDQo+Pj4+PiAtICBAcGFyYW1baW5d ICBWYWx1ZSAgICAgICAgIFRoZSA2NC1iaXQgdmFsdWUgdG8gc2V0Lg0KPj4+Pj4gLQ0KPj4+Pj4g LSAgQHJldHVybiBSZXR1cm4gdGhlIHZhbHVlIHRoYXQgd2FzIHNldC4NCj4+Pj4+IC0NCj4+Pj4+ IC0qKi8NCj4+Pj4+IC1VSU5UNjQNCj4+Pj4+IC1FRklBUEkNCj4+Pj4+IC1MaWJQY2RTZXRFeDY0 ICgNCj4+Pj4+IC0gIElOIENPTlNUIEdVSUQgICAgICAgICpHdWlkLA0KPj4+Pj4gLSAgSU4gVUlO VE4gICAgICAgICAgICAgVG9rZW5OdW1iZXIsDQo+Pj4+PiAtICBJTiBVSU5UNjQgICAgICAgICAg ICBWYWx1ZQ0KPj4+Pj4gLSAgKQ0KPj4+Pj4gLXsNCj4+Pj4+IC0gIEFTU0VSVCAoR3VpZCAhPSBO VUxMKTsNCj4+Pj4+IC0NCj4+Pj4+IC0gIChHZXRQaVBjZFBwaVBvaW50ZXIgKCkpLT5TZXQ2NCAo R3VpZCwgVG9rZW5OdW1iZXIsIFZhbHVlKTsNCj4+Pj4+IC0NCj4+Pj4+IC0gIHJldHVybiBWYWx1 ZTsNCj4+Pj4+IC19DQo+Pj4+PiAtDQo+Pj4+PiAtDQo+Pj4+PiAtDQo+Pj4+PiAtLyoqDQo+Pj4+ PiAtICBUaGlzIGZ1bmN0aW9uIHByb3ZpZGVzIGEgbWVhbnMgYnkgd2hpY2ggdG8gc2V0IGEgdmFs dWUgZm9yIGEgZ2l2ZW4gUENEIHRva2VuLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgU2V0cyBhIGJ1ZmZl ciBmb3IgdGhlIHRva2VuIHNwZWNpZmllZCBieSBUb2tlbk51bWJlciB0byB0aGUgdmFsdWUgc3Bl Y2lmaWVkIGJ5DQo+Pj4+PiAtICBCdWZmZXIgYW5kIFNpemVPZkJ1ZmZlci4gIEJ1ZmZlciBpcyBy ZXR1cm5lZC4gIElmIFNpemVPZkJ1ZmZlciBpcyBncmVhdGVyIHRoYW4NCj4+Pj4+IC0gIHRoZSBt YXhpbXVtIHNpemUgc3VwcG9ydCBieSBUb2tlbk51bWJlciwgdGhlbiBzZXQgU2l6ZU9mQnVmZmVy IHRvIHRoZSBtYXhpbXVtIHNpemUNCj4+Pj4+IC0gIHN1cHBvcnRlZCBieSBUb2tlbk51bWJlciBh bmQgcmV0dXJuIE5VTEwgdG8gaW5kaWNhdGUgdGhhdCB0aGUgc2V0IG9wZXJhdGlvbg0KPj4+Pj4g LSAgd2FzIG5vdCBhY3R1YWxseSBwZXJmb3JtZWQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBJZiBHdWlk IGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJZiBTaXplT2ZCdWZmZXIgaXMgTlVM TCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIFNpemVPZkJ1ZmZlciA+IDAgYW5kIEJ1ZmZl ciBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHBhcmFtW2luXSAg R3VpZCAgICAgICAgICAgICAgVGhlIHBvaW50ZXIgdG8gYSAxMjgtYml0IHVuaXF1ZSB2YWx1ZSB0 aGF0DQo+Pj4+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNpZ25hdGVzIHdo aWNoIG5hbWVzcGFjZSB0byBzZXQgYSB2YWx1ZSBmcm9tLg0KPj4+Pj4gLSAgQHBhcmFtW2luXSAg VG9rZW5OdW1iZXIgICAgICAgVGhlIFBDRCB0b2tlbiBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2 YWx1ZSBmb3IuDQo+Pj4+PiAtICBAcGFyYW1baW4sIG91dF0gU2l6ZU9mQnVmZmVyICBUaGUgc2l6 ZSwgaW4gYnl0ZXMsIG9mIEJ1ZmZlci4NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIEJ1ZmZlciAgICAg ICAgICAgIEEgcG9pbnRlciB0byB0aGUgYnVmZmVyIHRvIHNldC4NCj4+Pj4+IC0NCj4+Pj4+IC0g IEByZXR1cm4gUmV0dXJuIHRoZSBwaW50ZXIgdG8gdGhlIGJ1ZmZlciBiZWVuIHNldC4NCj4+Pj4+ IC0NCj4+Pj4+IC0qKi8NCj4+Pj4+IC1WT0lEICoNCj4+Pj4+IC1FRklBUEkNCj4+Pj4+IC1MaWJQ Y2RTZXRFeFB0ciAoDQo+Pj4+PiAtICBJTiAgICAgIENPTlNUIEdVSUQgICAgICAgICpHdWlkLA0K Pj4+Pj4gLSAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICBUb2tlbk51bWJlciwNCj4+Pj4+IC0g IElOIE9VVCAgVUlOVE4gICAgICAgICAgICAgKlNpemVPZkJ1ZmZlciwNCj4+Pj4+IC0gIElOICAg ICAgVk9JRCAgICAgICAgICAgICAgKkJ1ZmZlcg0KPj4+Pj4gLSAgKQ0KPj4+Pj4gLXsNCj4+Pj4+ IC0gIEVGSV9TVEFUVVMgICAgICBTdGF0dXM7DQo+Pj4+PiAtICBVSU5UTiAgICAgICAgICAgSW5w dXRTaXplT2ZCdWZmZXI7DQo+Pj4+PiAtDQo+Pj4+PiAtICBBU1NFUlQgKFNpemVPZkJ1ZmZlciAh PSBOVUxMKTsNCj4+Pj4+IC0gIGlmICgqU2l6ZU9mQnVmZmVyID4gMCkgew0KPj4+Pj4gLSAgICBB U1NFUlQgKEJ1ZmZlciAhPSBOVUxMKTsNCj4+Pj4+IC0gIH0NCj4+Pj4+IC0gIEFTU0VSVCAoR3Vp ZCAhPSBOVUxMKTsNCj4+Pj4+IC0NCj4+Pj4+IC0gIElucHV0U2l6ZU9mQnVmZmVyID0gKlNpemVP ZkJ1ZmZlcjsNCj4+Pj4+IC0gIFN0YXR1cyA9IChHZXRQaVBjZFBwaVBvaW50ZXIgKCkpLT5TZXRQ dHIgKEd1aWQsIFRva2VuTnVtYmVyLCBTaXplT2ZCdWZmZXIsIEJ1ZmZlcik7DQo+Pj4+PiAtICBp ZiAoRUZJX0VSUk9SIChTdGF0dXMpICYmICgqU2l6ZU9mQnVmZmVyIDwgSW5wdXRTaXplT2ZCdWZm ZXIpKSB7DQo+Pj4+PiAtICAgIHJldHVybiBOVUxMOw0KPj4+Pj4gLSAgfQ0KPj4+Pj4gLQ0KPj4+ Pj4gLSAgcmV0dXJuIEJ1ZmZlcjsNCj4+Pj4+IC19DQo+Pj4+PiAtDQo+Pj4+PiAtDQo+Pj4+PiAt DQo+Pj4+PiAtLyoqDQo+Pj4+PiAtICBUaGlzIGZ1bmN0aW9uIHByb3ZpZGVzIGEgbWVhbnMgYnkg d2hpY2ggdG8gc2V0IGEgdmFsdWUgZm9yIGEgZ2l2ZW4gUENEIHRva2VuLg0KPj4+Pj4gLQ0KPj4+ Pj4gLSAgU2V0cyB0aGUgQm9vbGVhbiB2YWx1ZSBmb3IgdGhlIHRva2VuIHNwZWNpZmllZCBieSBU b2tlbk51bWJlciBhbmQNCj4+Pj4+IC0gIEd1aWQgdG8gdGhlIHZhbHVlIHNwZWNpZmllZCBieSBW YWx1ZS4gVmFsdWUgaXMgcmV0dXJuZWQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBJZiBHdWlkIGlzIE5V TEwsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcGFyYW1baW5dICBHdWlkICAg ICAgICAgIFRoZSBwb2ludGVyIHRvIGEgMTI4LWJpdCB1bmlxdWUgdmFsdWUgdGhhdA0KPj4+Pj4g LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNpZ25hdGVzIHdoaWNoIG5hbWVzcGFjZSB0 byBzZXQgYSB2YWx1ZSBmcm9tLg0KPj4+Pj4gLSAgQHBhcmFtW2luXSAgVG9rZW5OdW1iZXIgICBU aGUgUENEIHRva2VuIG51bWJlciB0byBzZXQgYSBjdXJyZW50IHZhbHVlIGZvci4NCj4+Pj4+IC0g IEBwYXJhbVtpbl0gIFZhbHVlICAgICAgICAgVGhlIEJvb2xlYW4gdmFsdWUgdG8gc2V0Lg0KPj4+ Pj4gLQ0KPj4+Pj4gLSAgQHJldHVybiBSZXR1cm4gdGhlIHZhbHVlIHRoYXQgd2FzIHNldC4NCj4+ Pj4+IC0NCj4+Pj4+IC0qKi8NCj4+Pj4+IC1CT09MRUFODQo+Pj4+PiAtRUZJQVBJDQo+Pj4+PiAt TGliUGNkU2V0RXhCb29sICgNCj4+Pj4+IC0gIElOIENPTlNUIEdVSUQgICAgICAgICpHdWlkLA0K Pj4+Pj4gLSAgSU4gVUlOVE4gICAgICAgICAgICAgVG9rZW5OdW1iZXIsDQo+Pj4+PiAtICBJTiBC T09MRUFOICAgICAgICAgICBWYWx1ZQ0KPj4+Pj4gLSAgKQ0KPj4+Pj4gLXsNCj4+Pj4+IC0gIEFT U0VSVCAoR3VpZCAhPSBOVUxMKTsNCj4+Pj4+IC0NCj4+Pj4+IC0gIChHZXRQaVBjZFBwaVBvaW50 ZXIgKCkpLT5TZXRCb29sIChHdWlkLCBUb2tlbk51bWJlciwgVmFsdWUpOw0KPj4+Pj4gLQ0KPj4+ Pj4gLSAgcmV0dXJuIFZhbHVlOw0KPj4+Pj4gLX0NCj4+Pj4+IC0jZW5kaWYNCj4+Pj4+IC0NCj4+ Pj4+ICAgLyoqDQo+Pj4+PiAgICAgVGhpcyBmdW5jdGlvbiBwcm92aWRlcyBhIG1lYW5zIGJ5IHdo aWNoIHRvIHNldCBhIHZhbHVlIGZvciBhIGdpdmVuIFBDRCB0b2tlbi4NCj4+Pj4+DQo+Pj4+PiBk aWZmIC0tZ2l0IGEvTWRlUGtnL0xpYnJhcnkvVWVmaUxpYi9VZWZpTGliLmMgYi9NZGVQa2cvTGli cmFyeS9VZWZpTGliL1VlZmlMaWIuYw0KPj4+Pj4gaW5kZXggMDdjNDVkMWU5MWZmLi44MzUyMThm OTgyNGYgMTAwNjQ0DQo+Pj4+PiAtLS0gYS9NZGVQa2cvTGlicmFyeS9VZWZpTGliL1VlZmlMaWIu Yw0KPj4+Pj4gKysrIGIvTWRlUGtnL0xpYnJhcnkvVWVmaUxpYi9VZWZpTGliLmMNCj4+Pj4+IEBA IC0xMjg1LDk4ICsxMjg1LDYgQEAgRnJlZVVuaWNvZGVTdHJpbmdUYWJsZSAoDQo+Pj4+PiAgICAg cmV0dXJuIEVGSV9TVUNDRVNTOw0KPj4+Pj4gICB9DQo+Pj4+Pg0KPj4+Pj4gLSNpZm5kZWYgRElT QUJMRV9ORVdfREVQUkVDQVRFRF9JTlRFUkZBQ0VTDQo+Pj4+PiAtDQo+Pj4+PiAtLyoqDQo+Pj4+ PiAtICBbQVRURU5USU9OXSBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgZGVwcmVjYXRlZCBmb3Igc2Vj dXJpdHkgcmVhc29uLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgUmV0dXJucyBhIHBvaW50ZXIgdG8gYW4g YWxsb2NhdGVkIGJ1ZmZlciB0aGF0IGNvbnRhaW5zIHRoZSBjb250ZW50cyBvZiBhDQo+Pj4+PiAt ICB2YXJpYWJsZSByZXRyaWV2ZWQgdGhyb3VnaCB0aGUgVUVGSSBSdW50aW1lIFNlcnZpY2UgR2V0 VmFyaWFibGUoKS4gIFRoZQ0KPj4+Pj4gLSAgcmV0dXJuZWQgYnVmZmVyIGlzIGFsbG9jYXRlZCB1 c2luZyBBbGxvY2F0ZVBvb2woKS4gIFRoZSBjYWxsZXIgaXMgcmVzcG9uc2libGUNCj4+Pj4+IC0g IGZvciBmcmVlaW5nIHRoaXMgYnVmZmVyIHdpdGggRnJlZVBvb2woKS4NCj4+Pj4+IC0NCj4+Pj4+ IC0gIElmIE5hbWUgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIEd1aWQgaXMg TlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIE5hbWUg IFRoZSBwb2ludGVyIHRvIGEgTnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nLg0KPj4+Pj4g LSAgQHBhcmFtW2luXSAgR3VpZCAgVGhlIHBvaW50ZXIgdG8gYW4gRUZJX0dVSUQgc3RydWN0dXJl DQo+Pj4+PiAtDQo+Pj4+PiAtICBAcmV0dmFsIE5VTEwgICBUaGUgdmFyaWFibGUgY291bGQgbm90 IGJlIHJldHJpZXZlZC4NCj4+Pj4+IC0gIEByZXR2YWwgTlVMTCAgIFRoZXJlIGFyZSBub3QgZW5v dWdoIHJlc291cmNlcyBhdmFpbGFibGUgZm9yIHRoZSB2YXJpYWJsZSBjb250ZW50cy4NCj4+Pj4+ IC0gIEByZXR2YWwgT3RoZXIgIEEgcG9pbnRlciB0byBhbGxvY2F0ZWQgYnVmZmVyIGNvbnRhaW5p bmcgdGhlIHZhcmlhYmxlIGNvbnRlbnRzLg0KPj4+Pj4gLQ0KPj4+Pj4gLSoqLw0KPj4+Pj4gLVZP SUQgKg0KPj4+Pj4gLUVGSUFQSQ0KPj4+Pj4gLUdldFZhcmlhYmxlICgNCj4+Pj4+IC0gIElOIENP TlNUIENIQVIxNiAgICAqTmFtZSwNCj4+Pj4+IC0gIElOIENPTlNUIEVGSV9HVUlEICAqR3VpZA0K Pj4+Pj4gLSAgKQ0KPj4+Pj4gLXsNCj4+Pj4+IC0gIEVGSV9TVEFUVVMgIFN0YXR1czsNCj4+Pj4+ IC0gIFVJTlROICAgICAgIFNpemU7DQo+Pj4+PiAtICBWT0lEICAgICAgICAqVmFsdWU7DQo+Pj4+ PiAtDQo+Pj4+PiAtICBBU1NFUlQgKE5hbWUgIT0gTlVMTCk7DQo+Pj4+PiAtICBBU1NFUlQgKEd1 aWQgIT0gTlVMTCk7DQo+Pj4+PiAtDQo+Pj4+PiAtICAvLw0KPj4+Pj4gLSAgLy8gVHJ5IHRvIGdl dCB0aGUgdmFyaWFibGUgc2l6ZS4NCj4+Pj4+IC0gIC8vDQo+Pj4+PiAtICBWYWx1ZSA9IE5VTEw7 DQo+Pj4+PiAtICBTaXplID0gMDsNCj4+Pj4+IC0gIFN0YXR1cyA9IGdSVC0+R2V0VmFyaWFibGUg KChDSEFSMTYgKikgTmFtZSwgKEVGSV9HVUlEICopIEd1aWQsIE5VTEwsICZTaXplLCBWYWx1ZSk7 DQo+Pj4+PiAtICBpZiAoU3RhdHVzICE9IEVGSV9CVUZGRVJfVE9PX1NNQUxMKSB7DQo+Pj4+PiAt ICAgIHJldHVybiBOVUxMOw0KPj4+Pj4gLSAgfQ0KPj4+Pj4gLQ0KPj4+Pj4gLSAgLy8NCj4+Pj4+ IC0gIC8vIEFsbG9jYXRlIGJ1ZmZlciB0byBnZXQgdGhlIHZhcmlhYmxlLg0KPj4+Pj4gLSAgLy8N Cj4+Pj4+IC0gIFZhbHVlID0gQWxsb2NhdGVQb29sIChTaXplKTsNCj4+Pj4+IC0gIGlmIChWYWx1 ZSA9PSBOVUxMKSB7DQo+Pj4+PiAtICAgIHJldHVybiBOVUxMOw0KPj4+Pj4gLSAgfQ0KPj4+Pj4g LQ0KPj4+Pj4gLSAgLy8NCj4+Pj4+IC0gIC8vIEdldCB0aGUgdmFyaWFibGUgZGF0YS4NCj4+Pj4+ IC0gIC8vDQo+Pj4+PiAtICBTdGF0dXMgPSBnUlQtPkdldFZhcmlhYmxlICgoQ0hBUjE2ICopIE5h bWUsIChFRklfR1VJRCAqKSBHdWlkLCBOVUxMLCAmU2l6ZSwgVmFsdWUpOw0KPj4+Pj4gLSAgaWYg KEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPj4+Pj4gLSAgICBGcmVlUG9vbChWYWx1ZSk7DQo+Pj4+ PiAtICAgIHJldHVybiBOVUxMOw0KPj4+Pj4gLSAgfQ0KPj4+Pj4gLQ0KPj4+Pj4gLSAgcmV0dXJu IFZhbHVlOw0KPj4+Pj4gLX0NCj4+Pj4+IC0NCj4+Pj4+IC0vKioNCj4+Pj4+IC0gIFtBVFRFTlRJ T05dIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSBkZXByZWNhdGVkIGZvciBzZWN1cml0eSByZWFzb24u DQo+Pj4+PiAtDQo+Pj4+PiAtICBSZXR1cm5zIGEgcG9pbnRlciB0byBhbiBhbGxvY2F0ZWQgYnVm ZmVyIHRoYXQgY29udGFpbnMgdGhlIGNvbnRlbnRzIG9mIGENCj4+Pj4+IC0gIHZhcmlhYmxlIHJl dHJpZXZlZCB0aHJvdWdoIHRoZSBVRUZJIFJ1bnRpbWUgU2VydmljZSBHZXRWYXJpYWJsZSgpLiAg VGhpcw0KPj4+Pj4gLSAgZnVuY3Rpb24gYWx3YXlzIHVzZXMgdGhlIEVGSV9HTE9CQUxfVkFSSUFC TEUgR1VJRCB0byByZXRyaWV2ZSB2YXJpYWJsZXMuDQo+Pj4+PiAtICBUaGUgcmV0dXJuZWQgYnVm ZmVyIGlzIGFsbG9jYXRlZCB1c2luZyBBbGxvY2F0ZVBvb2woKS4gIFRoZSBjYWxsZXIgaXMNCj4+ Pj4+IC0gIHJlc3BvbnNpYmxlIGZvciBmcmVlaW5nIHRoaXMgYnVmZmVyIHdpdGggRnJlZVBvb2wo KS4NCj4+Pj4+IC0NCj4+Pj4+IC0gIElmIE5hbWUgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4+ Pj4+IC0NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIE5hbWUgIFRoZSBwb2ludGVyIHRvIGEgTnVsbC10 ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHJldHZhbCBOVUxM ICAgVGhlIHZhcmlhYmxlIGNvdWxkIG5vdCBiZSByZXRyaWV2ZWQuDQo+Pj4+PiAtICBAcmV0dmFs IE5VTEwgICBUaGVyZSBhcmUgbm90IGVub3VnaCByZXNvdXJjZXMgYXZhaWxhYmxlIGZvciB0aGUg dmFyaWFibGUgY29udGVudHMuDQo+Pj4+PiAtICBAcmV0dmFsIE90aGVyICBBIHBvaW50ZXIgdG8g YWxsb2NhdGVkIGJ1ZmZlciBjb250YWluaW5nIHRoZSB2YXJpYWJsZSBjb250ZW50cy4NCj4+Pj4+ IC0NCj4+Pj4+IC0qKi8NCj4+Pj4+IC1WT0lEICoNCj4+Pj4+IC1FRklBUEkNCj4+Pj4+IC1HZXRF ZmlHbG9iYWxWYXJpYWJsZSAoDQo+Pj4+PiAtICBJTiBDT05TVCBDSEFSMTYgICpOYW1lDQo+Pj4+ PiAtICApDQo+Pj4+PiAtew0KPj4+Pj4gLSAgcmV0dXJuIEdldFZhcmlhYmxlIChOYW1lLCAmZ0Vm aUdsb2JhbFZhcmlhYmxlR3VpZCk7DQo+Pj4+PiAtfQ0KPj4+Pj4gLSNlbmRpZg0KPj4+Pj4NCj4+ Pj4+ICAgLyoqDQo+Pj4+PiAgICAgUmV0dXJucyB0aGUgc3RhdHVzIHdoZXRoZXIgZ2V0IHRoZSB2 YXJpYWJsZSBzdWNjZXNzLiBUaGUgZnVuY3Rpb24gcmV0cmlldmVzDQo+Pj4+PiBkaWZmIC0tZ2l0 IGEvTWRlUGtnL0luY2x1ZGUvTGlicmFyeS9CYXNlTGliLmggYi9NZGVQa2cvSW5jbHVkZS9MaWJy YXJ5L0Jhc2VMaWIuaA0KPj4+Pj4gaW5kZXggOGU3Yjg3Y2JkYTRlLi5iOTJhMWEzYTQwMjggMTAw NjQ0DQo+Pj4+PiAtLS0gYS9NZGVQa2cvSW5jbHVkZS9MaWJyYXJ5L0Jhc2VMaWIuaA0KPj4+Pj4g KysrIGIvTWRlUGtnL0luY2x1ZGUvTGlicmFyeS9CYXNlTGliLmgNCj4+Pj4+IEBAIC05NjIsODIg Kzk2Miw2IEBAIEFzY2lpU3RySGV4VG9VaW50NjRTICgNCj4+Pj4+ICAgICApOw0KPj4+Pj4NCj4+ Pj4+DQo+Pj4+PiAtI2lmbmRlZiBESVNBQkxFX05FV19ERVBSRUNBVEVEX0lOVEVSRkFDRVMNCj4+ Pj4+IC0NCj4+Pj4+IC0vKioNCj4+Pj4+IC0gIFtBVFRFTlRJT05dIFRoaXMgZnVuY3Rpb24gaXMg ZGVwcmVjYXRlZCBmb3Igc2VjdXJpdHkgcmVhc29uLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQ29waWVz IG9uZSBOdWxsLXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcgdG8gYW5vdGhlciBOdWxsLXRlcm1p bmF0ZWQgVW5pY29kZQ0KPj4+Pj4gLSAgc3RyaW5nIGFuZCByZXR1cm5zIHRoZSBuZXcgVW5pY29k ZSBzdHJpbmcuDQo+Pj4+PiAtDQo+Pj4+PiAtICBUaGlzIGZ1bmN0aW9uIGNvcGllcyB0aGUgY29u dGVudHMgb2YgdGhlIFVuaWNvZGUgc3RyaW5nIFNvdXJjZSB0byB0aGUgVW5pY29kZQ0KPj4+Pj4g LSAgc3RyaW5nIERlc3RpbmF0aW9uLCBhbmQgcmV0dXJucyBEZXN0aW5hdGlvbi4gSWYgU291cmNl IGFuZCBEZXN0aW5hdGlvbg0KPj4+Pj4gLSAgb3ZlcmxhcCwgdGhlbiB0aGUgcmVzdWx0cyBhcmUg dW5kZWZpbmVkLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgSWYgRGVzdGluYXRpb24gaXMgTlVMTCwgdGhl biBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIERlc3RpbmF0aW9uIGlzIG5vdCBhbGlnbmVkIG9uIGEg MTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgU291cmNlIGlzIE5V TEwsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJZiBTb3VyY2UgaXMgbm90IGFsaWduZWQgb24g YSAxNi1iaXQgYm91bmRhcnksIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJZiBTb3VyY2UgYW5k IERlc3RpbmF0aW9uIG92ZXJsYXAsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJZiBQY2RNYXhp bXVtVW5pY29kZVN0cmluZ0xlbmd0aCBpcyBub3QgemVybywgYW5kIFNvdXJjZSBjb250YWlucyBt b3JlIHRoYW4NCj4+Pj4+IC0gIFBjZE1heGltdW1Vbmljb2RlU3RyaW5nTGVuZ3RoIFVuaWNvZGUg Y2hhcmFjdGVycyBub3QgaW5jbHVkaW5nIHRoZQ0KPj4+Pj4gLSAgTnVsbC10ZXJtaW5hdG9yLCB0 aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHBhcmFtICBEZXN0aW5hdGlvbiBUaGUg cG9pbnRlciB0byBhIE51bGwtdGVybWluYXRlZCBVbmljb2RlIHN0cmluZy4NCj4+Pj4+IC0gIEBw YXJhbSAgU291cmNlICAgICAgVGhlIHBvaW50ZXIgdG8gYSBOdWxsLXRlcm1pbmF0ZWQgVW5pY29k ZSBzdHJpbmcuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcmV0dXJuIERlc3RpbmF0aW9uLg0KPj4+Pj4g LQ0KPj4+Pj4gLSoqLw0KPj4+Pj4gLUNIQVIxNiAqDQo+Pj4+PiAtRUZJQVBJDQo+Pj4+PiAtU3Ry Q3B5ICgNCj4+Pj4+IC0gIE9VVCAgICAgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAqRGVzdGlu YXRpb24sDQo+Pj4+PiAtICBJTiAgICAgIENPTlNUIENIQVIxNiAgICAgICAgICAgICAgKlNvdXJj ZQ0KPj4+Pj4gLSAgKTsNCj4+Pj4+IC0NCj4+Pj4+IC0NCj4+Pj4+IC0vKioNCj4+Pj4+IC0gIFtB VFRFTlRJT05dIFRoaXMgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBmb3Igc2VjdXJpdHkgcmVhc29u Lg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQ29waWVzIHVwIHRvIGEgc3BlY2lmaWVkIGxlbmd0aCBmcm9t IG9uZSBOdWxsLXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcgdG8NCj4+Pj4+IC0gIGFub3RoZXIg TnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nIGFuZCByZXR1cm5zIHRoZSBuZXcgVW5pY29k ZSBzdHJpbmcuDQo+Pj4+PiAtDQo+Pj4+PiAtICBUaGlzIGZ1bmN0aW9uIGNvcGllcyB0aGUgY29u dGVudHMgb2YgdGhlIFVuaWNvZGUgc3RyaW5nIFNvdXJjZSB0byB0aGUgVW5pY29kZQ0KPj4+Pj4g LSAgc3RyaW5nIERlc3RpbmF0aW9uLCBhbmQgcmV0dXJucyBEZXN0aW5hdGlvbi4gQXQgbW9zdCwg TGVuZ3RoIFVuaWNvZGUNCj4+Pj4+IC0gIGNoYXJhY3RlcnMgYXJlIGNvcGllZCBmcm9tIFNvdXJj ZSB0byBEZXN0aW5hdGlvbi4gSWYgTGVuZ3RoIGlzIDAsIHRoZW4NCj4+Pj4+IC0gIERlc3RpbmF0 aW9uIGlzIHJldHVybmVkIHVubW9kaWZpZWQuIElmIExlbmd0aCBpcyBncmVhdGVyIHRoYXQgdGhl IG51bWJlciBvZg0KPj4+Pj4gLSAgVW5pY29kZSBjaGFyYWN0ZXJzIGluIFNvdXJjZSwgdGhlbiBE ZXN0aW5hdGlvbiBpcyBwYWRkZWQgd2l0aCBOdWxsIFVuaWNvZGUNCj4+Pj4+IC0gIGNoYXJhY3Rl cnMuIElmIFNvdXJjZSBhbmQgRGVzdGluYXRpb24gb3ZlcmxhcCwgdGhlbiB0aGUgcmVzdWx0cyBh cmUNCj4+Pj4+IC0gIHVuZGVmaW5lZC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIElmIExlbmd0aCA+IDAg YW5kIERlc3RpbmF0aW9uIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJZiBMZW5n dGggPiAwIGFuZCBEZXN0aW5hdGlvbiBpcyBub3QgYWxpZ25lZCBvbiBhIDE2LWJpdCBib3VuZGFy eSwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIExlbmd0aCA+IDAgYW5kIFNvdXJjZSBpcyBO VUxMLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgTGVuZ3RoID4gMCBhbmQgU291cmNlIGlz IG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4g LSAgSWYgU291cmNlIGFuZCBEZXN0aW5hdGlvbiBvdmVybGFwLCB0aGVuIEFTU0VSVCgpLg0KPj4+ Pj4gLSAgSWYgUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGggaXMgbm90IHplcm8sIGFuZCBM ZW5ndGggaXMgZ3JlYXRlciB0aGFuDQo+Pj4+PiAtICBQY2RNYXhpbXVtVW5pY29kZVN0cmluZ0xl bmd0aCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIFBjZE1heGltdW1Vbmljb2RlU3RyaW5n TGVuZ3RoIGlzIG5vdCB6ZXJvLCBhbmQgU291cmNlIGNvbnRhaW5zIG1vcmUgdGhhbg0KPj4+Pj4g LSAgUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGggVW5pY29kZSBjaGFyYWN0ZXJzLCBub3Qg aW5jbHVkaW5nIHRoZSBOdWxsLXRlcm1pbmF0b3IsDQo+Pj4+PiAtICB0aGVuIEFTU0VSVCgpLg0K Pj4+Pj4gLQ0KPj4+Pj4gLSAgQHBhcmFtICBEZXN0aW5hdGlvbiBUaGUgcG9pbnRlciB0byBhIE51 bGwtdGVybWluYXRlZCBVbmljb2RlIHN0cmluZy4NCj4+Pj4+IC0gIEBwYXJhbSAgU291cmNlICAg ICAgVGhlIHBvaW50ZXIgdG8gYSBOdWxsLXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcuDQo+Pj4+ PiAtICBAcGFyYW0gIExlbmd0aCAgICAgIFRoZSBtYXhpbXVtIG51bWJlciBvZiBVbmljb2RlIGNo YXJhY3RlcnMgdG8gY29weS4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEByZXR1cm4gRGVzdGluYXRpb24u DQo+Pj4+PiAtDQo+Pj4+PiAtKiovDQo+Pj4+PiAtQ0hBUjE2ICoNCj4+Pj4+IC1FRklBUEkNCj4+ Pj4+IC1TdHJuQ3B5ICgNCj4+Pj4+IC0gIE9VVCAgICAgQ0hBUjE2ICAgICAgICAgICAgICAgICAg ICAqRGVzdGluYXRpb24sDQo+Pj4+PiAtICBJTiAgICAgIENPTlNUIENIQVIxNiAgICAgICAgICAg ICAgKlNvdXJjZSwNCj4+Pj4+IC0gIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBM ZW5ndGgNCj4+Pj4+IC0gICk7DQo+Pj4+PiAtI2VuZGlmIC8vICFkZWZpbmVkIChESVNBQkxFX05F V19ERVBSRUNBVEVEX0lOVEVSRkFDRVMpDQo+Pj4+PiAtDQo+Pj4+PiAgIC8qKg0KPj4+Pj4gICAg IFJldHVybnMgdGhlIGxlbmd0aCBvZiBhIE51bGwtdGVybWluYXRlZCBVbmljb2RlIHN0cmluZy4N Cj4+Pj4+DQo+Pj4+PiBAQCAtMTE2NCw5OSArMTA4OCw2IEBAIFN0cm5DbXAgKA0KPj4+Pj4gICAg ICk7DQo+Pj4+Pg0KPj4+Pj4NCj4+Pj4+IC0jaWZuZGVmIERJU0FCTEVfTkVXX0RFUFJFQ0FURURf SU5URVJGQUNFUw0KPj4+Pj4gLQ0KPj4+Pj4gLS8qKg0KPj4+Pj4gLSAgW0FUVEVOVElPTl0gVGhp cyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGZvciBzZWN1cml0eSByZWFzb24uDQo+Pj4+PiAtDQo+ Pj4+PiAtICBDb25jYXRlbmF0ZXMgb25lIE51bGwtdGVybWluYXRlZCBVbmljb2RlIHN0cmluZyB0 byBhbm90aGVyIE51bGwtdGVybWluYXRlZA0KPj4+Pj4gLSAgVW5pY29kZSBzdHJpbmcsIGFuZCBy ZXR1cm5zIHRoZSBjb25jYXRlbmF0ZWQgVW5pY29kZSBzdHJpbmcuDQo+Pj4+PiAtDQo+Pj4+PiAt ICBUaGlzIGZ1bmN0aW9uIGNvbmNhdGVuYXRlcyB0d28gTnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUg c3RyaW5ncy4gVGhlIGNvbnRlbnRzDQo+Pj4+PiAtICBvZiBOdWxsLXRlcm1pbmF0ZWQgVW5pY29k ZSBzdHJpbmcgU291cmNlIGFyZSBjb25jYXRlbmF0ZWQgdG8gdGhlIGVuZCBvZg0KPj4+Pj4gLSAg TnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nIERlc3RpbmF0aW9uLiBUaGUgTnVsbC10ZXJt aW5hdGVkIGNvbmNhdGVuYXRlZA0KPj4+Pj4gLSAgVW5pY29kZSBTdHJpbmcgaXMgcmV0dXJuZWQu IElmIFNvdXJjZSBhbmQgRGVzdGluYXRpb24gb3ZlcmxhcCwgdGhlbiB0aGUNCj4+Pj4+IC0gIHJl c3VsdHMgYXJlIHVuZGVmaW5lZC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIElmIERlc3RpbmF0aW9uIGlz IE5VTEwsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJZiBEZXN0aW5hdGlvbiBpcyBub3QgYWxp Z25lZCBvbiBhIDE2LWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIFNv dXJjZSBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgU291cmNlIGlzIG5vdCBh bGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYg U291cmNlIGFuZCBEZXN0aW5hdGlvbiBvdmVybGFwLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAg SWYgUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGggaXMgbm90IHplcm8sIGFuZCBEZXN0aW5h dGlvbiBjb250YWlucyBtb3JlDQo+Pj4+PiAtICB0aGFuIFBjZE1heGltdW1Vbmljb2RlU3RyaW5n TGVuZ3RoIFVuaWNvZGUgY2hhcmFjdGVycywgbm90IGluY2x1ZGluZyB0aGUNCj4+Pj4+IC0gIE51 bGwtdGVybWluYXRvciwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIFBjZE1heGltdW1Vbmlj b2RlU3RyaW5nTGVuZ3RoIGlzIG5vdCB6ZXJvLCBhbmQgU291cmNlIGNvbnRhaW5zIG1vcmUgdGhh bg0KPj4+Pj4gLSAgUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGggVW5pY29kZSBjaGFyYWN0 ZXJzLCBub3QgaW5jbHVkaW5nIHRoZQ0KPj4+Pj4gLSAgTnVsbC10ZXJtaW5hdG9yLCB0aGVuIEFT U0VSVCgpLg0KPj4+Pj4gLSAgSWYgUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGggaXMgbm90 IHplcm8sIGFuZCBjb25jYXRlbmF0aW5nIERlc3RpbmF0aW9uDQo+Pj4+PiAtICBhbmQgU291cmNl IHJlc3VsdHMgaW4gYSBVbmljb2RlIHN0cmluZyB3aXRoIG1vcmUgdGhhbg0KPj4+Pj4gLSAgUGNk TWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGggVW5pY29kZSBjaGFyYWN0ZXJzLCBub3QgaW5jbHVk aW5nIHRoZQ0KPj4+Pj4gLSAgTnVsbC10ZXJtaW5hdG9yLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4g LQ0KPj4+Pj4gLSAgQHBhcmFtICBEZXN0aW5hdGlvbiBUaGUgcG9pbnRlciB0byBhIE51bGwtdGVy bWluYXRlZCBVbmljb2RlIHN0cmluZy4NCj4+Pj4+IC0gIEBwYXJhbSAgU291cmNlICAgICAgVGhl IHBvaW50ZXIgdG8gYSBOdWxsLXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcuDQo+Pj4+PiAtDQo+ Pj4+PiAtICBAcmV0dXJuIERlc3RpbmF0aW9uLg0KPj4+Pj4gLQ0KPj4+Pj4gLSoqLw0KPj4+Pj4g LUNIQVIxNiAqDQo+Pj4+PiAtRUZJQVBJDQo+Pj4+PiAtU3RyQ2F0ICgNCj4+Pj4+IC0gIElOIE9V VCAgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAqRGVzdGluYXRpb24sDQo+Pj4+PiAtICBJTiAg ICAgIENPTlNUIENIQVIxNiAgICAgICAgICAgICAgKlNvdXJjZQ0KPj4+Pj4gLSAgKTsNCj4+Pj4+ IC0NCj4+Pj4+IC0NCj4+Pj4+IC0vKioNCj4+Pj4+IC0gIFtBVFRFTlRJT05dIFRoaXMgZnVuY3Rp b24gaXMgZGVwcmVjYXRlZCBmb3Igc2VjdXJpdHkgcmVhc29uLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAg Q29uY2F0ZW5hdGVzIHVwIHRvIGEgc3BlY2lmaWVkIGxlbmd0aCBvbmUgTnVsbC10ZXJtaW5hdGVk IFVuaWNvZGUgdG8gdGhlIGVuZA0KPj4+Pj4gLSAgb2YgYW5vdGhlciBOdWxsLXRlcm1pbmF0ZWQg VW5pY29kZSBzdHJpbmcsIGFuZCByZXR1cm5zIHRoZSBjb25jYXRlbmF0ZWQNCj4+Pj4+IC0gIFVu aWNvZGUgc3RyaW5nLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgVGhpcyBmdW5jdGlvbiBjb25jYXRlbmF0 ZXMgdHdvIE51bGwtdGVybWluYXRlZCBVbmljb2RlIHN0cmluZ3MuIFRoZSBjb250ZW50cw0KPj4+ Pj4gLSAgb2YgTnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nIFNvdXJjZSBhcmUgY29uY2F0 ZW5hdGVkIHRvIHRoZSBlbmQgb2YNCj4+Pj4+IC0gIE51bGwtdGVybWluYXRlZCBVbmljb2RlIHN0 cmluZyBEZXN0aW5hdGlvbiwgYW5kIERlc3RpbmF0aW9uIGlzIHJldHVybmVkLiBBdA0KPj4+Pj4g LSAgbW9zdCwgTGVuZ3RoIFVuaWNvZGUgY2hhcmFjdGVycyBhcmUgY29uY2F0ZW5hdGVkIGZyb20g U291cmNlIHRvIHRoZSBlbmQgb2YNCj4+Pj4+IC0gIERlc3RpbmF0aW9uLCBhbmQgRGVzdGluYXRp b24gaXMgYWx3YXlzIE51bGwtdGVybWluYXRlZC4gSWYgTGVuZ3RoIGlzIDAsIHRoZW4NCj4+Pj4+ IC0gIERlc3RpbmF0aW9uIGlzIHJldHVybmVkIHVubW9kaWZpZWQuIElmIFNvdXJjZSBhbmQgRGVz dGluYXRpb24gb3ZlcmxhcCwgdGhlbg0KPj4+Pj4gLSAgdGhlIHJlc3VsdHMgYXJlIHVuZGVmaW5l ZC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIElmIERlc3RpbmF0aW9uIGlzIE5VTEwsIHRoZW4gQVNTRVJU KCkuDQo+Pj4+PiAtICBJZiBMZW5ndGggPiAwIGFuZCBEZXN0aW5hdGlvbiBpcyBub3QgYWxpZ25l ZCBvbiBhIDE2LWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIExlbmd0 aCA+IDAgYW5kIFNvdXJjZSBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgTGVu Z3RoID4gMCBhbmQgU291cmNlIGlzIG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0 aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgU291cmNlIGFuZCBEZXN0aW5hdGlvbiBvdmVybGFw LCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5n dGggaXMgbm90IHplcm8sIGFuZCBMZW5ndGggaXMgZ3JlYXRlciB0aGFuDQo+Pj4+PiAtICBQY2RN YXhpbXVtVW5pY29kZVN0cmluZ0xlbmd0aCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIFBj ZE1heGltdW1Vbmljb2RlU3RyaW5nTGVuZ3RoIGlzIG5vdCB6ZXJvLCBhbmQgRGVzdGluYXRpb24g Y29udGFpbnMgbW9yZQ0KPj4+Pj4gLSAgdGhhbiBQY2RNYXhpbXVtVW5pY29kZVN0cmluZ0xlbmd0 aCBVbmljb2RlIGNoYXJhY3RlcnMsIG5vdCBpbmNsdWRpbmcgdGhlDQo+Pj4+PiAtICBOdWxsLXRl cm1pbmF0b3IsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJZiBQY2RNYXhpbXVtVW5pY29kZVN0 cmluZ0xlbmd0aCBpcyBub3QgemVybywgYW5kIFNvdXJjZSBjb250YWlucyBtb3JlIHRoYW4NCj4+ Pj4+IC0gIFBjZE1heGltdW1Vbmljb2RlU3RyaW5nTGVuZ3RoIFVuaWNvZGUgY2hhcmFjdGVycywg bm90IGluY2x1ZGluZyB0aGUNCj4+Pj4+IC0gIE51bGwtdGVybWluYXRvciwgdGhlbiBBU1NFUlQo KS4NCj4+Pj4+IC0gIElmIFBjZE1heGltdW1Vbmljb2RlU3RyaW5nTGVuZ3RoIGlzIG5vdCB6ZXJv LCBhbmQgY29uY2F0ZW5hdGluZyBEZXN0aW5hdGlvbg0KPj4+Pj4gLSAgYW5kIFNvdXJjZSByZXN1 bHRzIGluIGEgVW5pY29kZSBzdHJpbmcgd2l0aCBtb3JlIHRoYW4gUGNkTWF4aW11bVVuaWNvZGVT dHJpbmdMZW5ndGgNCj4+Pj4+IC0gIFVuaWNvZGUgY2hhcmFjdGVycywgbm90IGluY2x1ZGluZyB0 aGUgTnVsbC10ZXJtaW5hdG9yLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHBh cmFtICBEZXN0aW5hdGlvbiBUaGUgcG9pbnRlciB0byBhIE51bGwtdGVybWluYXRlZCBVbmljb2Rl IHN0cmluZy4NCj4+Pj4+IC0gIEBwYXJhbSAgU291cmNlICAgICAgVGhlIHBvaW50ZXIgdG8gYSBO dWxsLXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcuDQo+Pj4+PiAtICBAcGFyYW0gIExlbmd0aCAg ICAgIFRoZSBtYXhpbXVtIG51bWJlciBvZiBVbmljb2RlIGNoYXJhY3RlcnMgdG8gY29uY2F0ZW5h dGUgZnJvbQ0KPj4+Pj4gLSAgICAgICAgICAgICAgICAgICAgICBTb3VyY2UuDQo+Pj4+PiAtDQo+ Pj4+PiAtICBAcmV0dXJuIERlc3RpbmF0aW9uLg0KPj4+Pj4gLQ0KPj4+Pj4gLSoqLw0KPj4+Pj4g LUNIQVIxNiAqDQo+Pj4+PiAtRUZJQVBJDQo+Pj4+PiAtU3RybkNhdCAoDQo+Pj4+PiAtICBJTiBP VVQgIENIQVIxNiAgICAgICAgICAgICAgICAgICAgKkRlc3RpbmF0aW9uLA0KPj4+Pj4gLSAgSU4g ICAgICBDT05TVCBDSEFSMTYgICAgICAgICAgICAgICpTb3VyY2UsDQo+Pj4+PiAtICBJTiAgICAg IFVJTlROICAgICAgICAgICAgICAgICAgICAgTGVuZ3RoDQo+Pj4+PiAtICApOw0KPj4+Pj4gLSNl bmRpZiAvLyAhZGVmaW5lZCAoRElTQUJMRV9ORVdfREVQUkVDQVRFRF9JTlRFUkZBQ0VTKQ0KPj4+ Pj4gLQ0KPj4+Pj4gICAvKioNCj4+Pj4+ICAgICBSZXR1cm5zIHRoZSBmaXJzdCBvY2N1cnJlbmNl IG9mIGEgTnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3ViLXN0cmluZw0KPj4+Pj4gICAgIGluIGEg TnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nLg0KPj4+Pj4gQEAgLTE2NTUsNTEgKzE0ODYs NiBAQCBTdHJIZXhUb0J5dGVzICgNCj4+Pj4+ICAgICBJTiAgVUlOVE4gICAgICAgICAgICAgIE1h eEJ1ZmZlclNpemUNCj4+Pj4+ICAgICApOw0KPj4+Pj4NCj4+Pj4+IC0jaWZuZGVmIERJU0FCTEVf TkVXX0RFUFJFQ0FURURfSU5URVJGQUNFUw0KPj4+Pj4gLQ0KPj4+Pj4gLS8qKg0KPj4+Pj4gLSAg W0FUVEVOVElPTl0gVGhpcyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGZvciBzZWN1cml0eSByZWFz b24uDQo+Pj4+PiAtDQo+Pj4+PiAtICBDb252ZXJ0IGEgTnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUg c3RyaW5nIHRvIGEgTnVsbC10ZXJtaW5hdGVkDQo+Pj4+PiAtICBBU0NJSSBzdHJpbmcgYW5kIHJl dHVybnMgdGhlIEFTQ0lJIHN0cmluZy4NCj4+Pj4+IC0NCj4+Pj4+IC0gIFRoaXMgZnVuY3Rpb24g Y29udmVydHMgdGhlIGNvbnRlbnQgb2YgdGhlIFVuaWNvZGUgc3RyaW5nIFNvdXJjZQ0KPj4+Pj4g LSAgdG8gdGhlIEFTQ0lJIHN0cmluZyBEZXN0aW5hdGlvbiBieSBjb3B5aW5nIHRoZSBsb3dlciA4 IGJpdHMgb2YNCj4+Pj4+IC0gIGVhY2ggVW5pY29kZSBjaGFyYWN0ZXIuIEl0IHJldHVybnMgRGVz dGluYXRpb24uDQo+Pj4+PiAtDQo+Pj4+PiAtICBUaGUgY2FsbGVyIGlzIHJlc3BvbnNpYmxlIHRv IG1ha2Ugc3VyZSBEZXN0aW5hdGlvbiBwb2ludHMgdG8gYSBidWZmZXIgd2l0aCBzaXplDQo+Pj4+ PiAtICBlcXVhbCBvciBncmVhdGVyIHRoYW4gKChTdHJMZW4gKFNvdXJjZSkgKyAxKSAqIHNpemVv ZiAoQ0hBUjgpKSBpbiBieXRlcy4NCj4+Pj4+IC0NCj4+Pj4+IC0gIElmIGFueSBVbmljb2RlIGNo YXJhY3RlcnMgaW4gU291cmNlIGNvbnRhaW4gbm9uLXplcm8gdmFsdWUgaW4NCj4+Pj4+IC0gIHRo ZSB1cHBlciA4IGJpdHMsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtDQo+Pj4+PiAtICBJZiBEZXN0 aW5hdGlvbiBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgU291cmNlIGlzIE5V TEwsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJZiBTb3VyY2UgaXMgbm90IGFsaWduZWQgb24g YSAxNi1iaXQgYm91bmRhcnksIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJZiBTb3VyY2UgYW5k IERlc3RpbmF0aW9uIG92ZXJsYXAsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtDQo+Pj4+PiAtICBJ ZiBQY2RNYXhpbXVtVW5pY29kZVN0cmluZ0xlbmd0aCBpcyBub3QgemVybywgYW5kIFNvdXJjZSBj b250YWlucw0KPj4+Pj4gLSAgbW9yZSB0aGFuIFBjZE1heGltdW1Vbmljb2RlU3RyaW5nTGVuZ3Ro IFVuaWNvZGUgY2hhcmFjdGVycyBub3QgaW5jbHVkaW5nDQo+Pj4+PiAtICB0aGUgTnVsbC10ZXJt aW5hdG9yLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgSWYgUGNkTWF4aW11bUFz Y2lpU3RyaW5nTGVuZ3RoIGlzIG5vdCB6ZXJvLCBhbmQgU291cmNlIGNvbnRhaW5zIG1vcmUNCj4+ Pj4+IC0gIHRoYW4gUGNkTWF4aW11bUFzY2lpU3RyaW5nTGVuZ3RoIFVuaWNvZGUgY2hhcmFjdGVy cyBub3QgaW5jbHVkaW5nIHRoZQ0KPj4+Pj4gLSAgTnVsbC10ZXJtaW5hdG9yLCB0aGVuIEFTU0VS VCgpLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHBhcmFtICBTb3VyY2UgICAgICAgIFRoZSBwb2ludGVy IHRvIGEgTnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nLg0KPj4+Pj4gLSAgQHBhcmFtICBE ZXN0aW5hdGlvbiAgIFRoZSBwb2ludGVyIHRvIGEgTnVsbC10ZXJtaW5hdGVkIEFTQ0lJIHN0cmlu Zy4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEByZXR1cm4gRGVzdGluYXRpb24uDQo+Pj4+PiAtDQo+Pj4+ PiAtKiovDQo+Pj4+PiAtQ0hBUjggKg0KPj4+Pj4gLUVGSUFQSQ0KPj4+Pj4gLVVuaWNvZGVTdHJU b0FzY2lpU3RyICgNCj4+Pj4+IC0gIElOICAgICAgQ09OU1QgQ0hBUjE2ICAgICAgICAgICAgICAq U291cmNlLA0KPj4+Pj4gLSAgT1VUICAgICBDSEFSOCAgICAgICAgICAgICAgICAgICAgICpEZXN0 aW5hdGlvbg0KPj4+Pj4gLSAgKTsNCj4+Pj4+IC0NCj4+Pj4+IC0jZW5kaWYgLy8gIWRlZmluZWQg KERJU0FCTEVfTkVXX0RFUFJFQ0FURURfSU5URVJGQUNFUykNCj4+Pj4+DQo+Pj4+PiAgIC8qKg0K Pj4+Pj4gICAgIENvbnZlcnQgYSBOdWxsLXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcgdG8gYSBO dWxsLXRlcm1pbmF0ZWQNCj4+Pj4+IEBAIC0xODAyLDc2ICsxNTg4LDYgQEAgVW5pY29kZVN0cm5U b0FzY2lpU3RyUyAoDQo+Pj4+PiAgICAgT1VUICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAg ICpEZXN0aW5hdGlvbkxlbmd0aA0KPj4+Pj4gICAgICk7DQo+Pj4+Pg0KPj4+Pj4gLSNpZm5kZWYg RElTQUJMRV9ORVdfREVQUkVDQVRFRF9JTlRFUkZBQ0VTDQo+Pj4+PiAtDQo+Pj4+PiAtLyoqDQo+ Pj4+PiAtICBbQVRURU5USU9OXSBUaGlzIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgZm9yIHNlY3Vy aXR5IHJlYXNvbi4NCj4+Pj4+IC0NCj4+Pj4+IC0gIENvcGllcyBvbmUgTnVsbC10ZXJtaW5hdGVk IEFTQ0lJIHN0cmluZyB0byBhbm90aGVyIE51bGwtdGVybWluYXRlZCBBU0NJSQ0KPj4+Pj4gLSAg c3RyaW5nIGFuZCByZXR1cm5zIHRoZSBuZXcgQVNDSUkgc3RyaW5nLg0KPj4+Pj4gLQ0KPj4+Pj4g LSAgVGhpcyBmdW5jdGlvbiBjb3BpZXMgdGhlIGNvbnRlbnRzIG9mIHRoZSBBU0NJSSBzdHJpbmcg U291cmNlIHRvIHRoZSBBU0NJSQ0KPj4+Pj4gLSAgc3RyaW5nIERlc3RpbmF0aW9uLCBhbmQgcmV0 dXJucyBEZXN0aW5hdGlvbi4gSWYgU291cmNlIGFuZCBEZXN0aW5hdGlvbg0KPj4+Pj4gLSAgb3Zl cmxhcCwgdGhlbiB0aGUgcmVzdWx0cyBhcmUgdW5kZWZpbmVkLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAg SWYgRGVzdGluYXRpb24gaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIFNvdXJj ZSBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgU291cmNlIGFuZCBEZXN0aW5h dGlvbiBvdmVybGFwLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgUGNkTWF4aW11bUFzY2lp U3RyaW5nTGVuZ3RoIGlzIG5vdCB6ZXJvIGFuZCBTb3VyY2UgY29udGFpbnMgbW9yZSB0aGFuDQo+ Pj4+PiAtICBQY2RNYXhpbXVtQXNjaWlTdHJpbmdMZW5ndGggQVNDSUkgY2hhcmFjdGVycyBub3Qg aW5jbHVkaW5nIHRoZSBOdWxsLXRlcm1pbmF0b3IsDQo+Pj4+PiAtICB0aGVuIEFTU0VSVCgpLg0K Pj4+Pj4gLQ0KPj4+Pj4gLSAgQHBhcmFtICBEZXN0aW5hdGlvbiBUaGUgcG9pbnRlciB0byBhIE51 bGwtdGVybWluYXRlZCBBU0NJSSBzdHJpbmcuDQo+Pj4+PiAtICBAcGFyYW0gIFNvdXJjZSAgICAg IFRoZSBwb2ludGVyIHRvIGEgTnVsbC10ZXJtaW5hdGVkIEFTQ0lJIHN0cmluZy4NCj4+Pj4+IC0N Cj4+Pj4+IC0gIEByZXR1cm4gRGVzdGluYXRpb24NCj4+Pj4+IC0NCj4+Pj4+IC0qKi8NCj4+Pj4+ IC1DSEFSOCAqDQo+Pj4+PiAtRUZJQVBJDQo+Pj4+PiAtQXNjaWlTdHJDcHkgKA0KPj4+Pj4gLSAg T1VUICAgICBDSEFSOCAgICAgICAgICAgICAgICAgICAgICpEZXN0aW5hdGlvbiwNCj4+Pj4+IC0g IElOICAgICAgQ09OU1QgQ0hBUjggICAgICAgICAgICAgICAqU291cmNlDQo+Pj4+PiAtICApOw0K Pj4+Pj4gLQ0KPj4+Pj4gLQ0KPj4+Pj4gLS8qKg0KPj4+Pj4gLSAgW0FUVEVOVElPTl0gVGhpcyBm dW5jdGlvbiBpcyBkZXByZWNhdGVkIGZvciBzZWN1cml0eSByZWFzb24uDQo+Pj4+PiAtDQo+Pj4+ PiAtICBDb3BpZXMgdXAgdG8gYSBzcGVjaWZpZWQgbGVuZ3RoIG9uZSBOdWxsLXRlcm1pbmF0ZWQg QVNDSUkgc3RyaW5nIHRvIGFub3RoZXINCj4+Pj4+IC0gIE51bGwtdGVybWluYXRlZCBBU0NJSSBz dHJpbmcgYW5kIHJldHVybnMgdGhlIG5ldyBBU0NJSSBzdHJpbmcuDQo+Pj4+PiAtDQo+Pj4+PiAt ICBUaGlzIGZ1bmN0aW9uIGNvcGllcyB0aGUgY29udGVudHMgb2YgdGhlIEFTQ0lJIHN0cmluZyBT b3VyY2UgdG8gdGhlIEFTQ0lJDQo+Pj4+PiAtICBzdHJpbmcgRGVzdGluYXRpb24sIGFuZCByZXR1 cm5zIERlc3RpbmF0aW9uLiBBdCBtb3N0LCBMZW5ndGggQVNDSUkgY2hhcmFjdGVycw0KPj4+Pj4g LSAgYXJlIGNvcGllZCBmcm9tIFNvdXJjZSB0byBEZXN0aW5hdGlvbi4gSWYgTGVuZ3RoIGlzIDAs IHRoZW4gRGVzdGluYXRpb24gaXMNCj4+Pj4+IC0gIHJldHVybmVkIHVubW9kaWZpZWQuIElmIExl bmd0aCBpcyBncmVhdGVyIHRoYXQgdGhlIG51bWJlciBvZiBBU0NJSSBjaGFyYWN0ZXJzDQo+Pj4+ PiAtICBpbiBTb3VyY2UsIHRoZW4gRGVzdGluYXRpb24gaXMgcGFkZGVkIHdpdGggTnVsbCBBU0NJ SSBjaGFyYWN0ZXJzLiBJZiBTb3VyY2UNCj4+Pj4+IC0gIGFuZCBEZXN0aW5hdGlvbiBvdmVybGFw LCB0aGVuIHRoZSByZXN1bHRzIGFyZSB1bmRlZmluZWQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBJZiBE ZXN0aW5hdGlvbiBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgU291cmNlIGlz IE5VTEwsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJZiBTb3VyY2UgYW5kIERlc3RpbmF0aW9u IG92ZXJsYXAsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJZiBQY2RNYXhpbXVtQXNjaWlTdHJp bmdMZW5ndGggaXMgbm90IHplcm8sIGFuZCBMZW5ndGggaXMgZ3JlYXRlciB0aGFuDQo+Pj4+PiAt ICBQY2RNYXhpbXVtQXNjaWlTdHJpbmdMZW5ndGgsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJ ZiBQY2RNYXhpbXVtQXNjaWlTdHJpbmdMZW5ndGggaXMgbm90IHplcm8sIGFuZCBTb3VyY2UgY29u dGFpbnMgbW9yZSB0aGFuDQo+Pj4+PiAtICBQY2RNYXhpbXVtQXNjaWlTdHJpbmdMZW5ndGggQVND SUkgY2hhcmFjdGVycywgbm90IGluY2x1ZGluZyB0aGUgTnVsbC10ZXJtaW5hdG9yLA0KPj4+Pj4g LSAgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEBwYXJhbSAgRGVzdGluYXRpb24g VGhlIHBvaW50ZXIgdG8gYSBOdWxsLXRlcm1pbmF0ZWQgQVNDSUkgc3RyaW5nLg0KPj4+Pj4gLSAg QHBhcmFtICBTb3VyY2UgICAgICBUaGUgcG9pbnRlciB0byBhIE51bGwtdGVybWluYXRlZCBBU0NJ SSBzdHJpbmcuDQo+Pj4+PiAtICBAcGFyYW0gIExlbmd0aCAgICAgIFRoZSBtYXhpbXVtIG51bWJl ciBvZiBBU0NJSSBjaGFyYWN0ZXJzIHRvIGNvcHkuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcmV0dXJu IERlc3RpbmF0aW9uDQo+Pj4+PiAtDQo+Pj4+PiAtKiovDQo+Pj4+PiAtQ0hBUjggKg0KPj4+Pj4g LUVGSUFQSQ0KPj4+Pj4gLUFzY2lpU3RybkNweSAoDQo+Pj4+PiAtICBPVVQgICAgIENIQVI4ICAg ICAgICAgICAgICAgICAgICAgKkRlc3RpbmF0aW9uLA0KPj4+Pj4gLSAgSU4gICAgICBDT05TVCBD SEFSOCAgICAgICAgICAgICAgICpTb3VyY2UsDQo+Pj4+PiAtICBJTiAgICAgIFVJTlROICAgICAg ICAgICAgICAgICAgICAgTGVuZ3RoDQo+Pj4+PiAtICApOw0KPj4+Pj4gLSNlbmRpZiAvLyAhZGVm aW5lZCAoRElTQUJMRV9ORVdfREVQUkVDQVRFRF9JTlRFUkZBQ0VTKQ0KPj4+Pj4NCj4+Pj4+ICAg LyoqDQo+Pj4+PiAgICAgUmV0dXJucyB0aGUgbGVuZ3RoIG9mIGEgTnVsbC10ZXJtaW5hdGVkIEFT Q0lJIHN0cmluZy4NCj4+Pj4+IEBAIC0yMDMxLDkyICsxNzQ3LDYgQEAgQXNjaWlTdHJuQ21wICgN Cj4+Pj4+ICAgICApOw0KPj4+Pj4NCj4+Pj4+DQo+Pj4+PiAtI2lmbmRlZiBESVNBQkxFX05FV19E RVBSRUNBVEVEX0lOVEVSRkFDRVMNCj4+Pj4+IC0NCj4+Pj4+IC0vKioNCj4+Pj4+IC0gIFtBVFRF TlRJT05dIFRoaXMgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBmb3Igc2VjdXJpdHkgcmVhc29uLg0K Pj4+Pj4gLQ0KPj4+Pj4gLSAgQ29uY2F0ZW5hdGVzIG9uZSBOdWxsLXRlcm1pbmF0ZWQgQVNDSUkg c3RyaW5nIHRvIGFub3RoZXIgTnVsbC10ZXJtaW5hdGVkDQo+Pj4+PiAtICBBU0NJSSBzdHJpbmcs IGFuZCByZXR1cm5zIHRoZSBjb25jYXRlbmF0ZWQgQVNDSUkgc3RyaW5nLg0KPj4+Pj4gLQ0KPj4+ Pj4gLSAgVGhpcyBmdW5jdGlvbiBjb25jYXRlbmF0ZXMgdHdvIE51bGwtdGVybWluYXRlZCBBU0NJ SSBzdHJpbmdzLiBUaGUgY29udGVudHMgb2YNCj4+Pj4+IC0gIE51bGwtdGVybWluYXRlZCBBU0NJ SSBzdHJpbmcgU291cmNlIGFyZSBjb25jYXRlbmF0ZWQgdG8gdGhlIGVuZCBvZiBOdWxsLQ0KPj4+ Pj4gLSAgdGVybWluYXRlZCBBU0NJSSBzdHJpbmcgRGVzdGluYXRpb24uIFRoZSBOdWxsLXRlcm1p bmF0ZWQgY29uY2F0ZW5hdGVkIEFTQ0lJDQo+Pj4+PiAtICBTdHJpbmcgaXMgcmV0dXJuZWQuDQo+ Pj4+PiAtDQo+Pj4+PiAtICBJZiBEZXN0aW5hdGlvbiBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLg0K Pj4+Pj4gLSAgSWYgU291cmNlIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJZiBQ Y2RNYXhpbXVtQXNjaWlTdHJpbmdMZW5ndGggaXMgbm90IHplcm8gYW5kIERlc3RpbmF0aW9uIGNv bnRhaW5zIG1vcmUgdGhhbg0KPj4+Pj4gLSAgUGNkTWF4aW11bUFzY2lpU3RyaW5nTGVuZ3RoIEFT Q0lJIGNoYXJhY3RlcnMgbm90IGluY2x1ZGluZyB0aGUgTnVsbC10ZXJtaW5hdG9yLA0KPj4+Pj4g LSAgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIFBjZE1heGltdW1Bc2NpaVN0cmluZ0xlbmd0 aCBpcyBub3QgemVybyBhbmQgU291cmNlIGNvbnRhaW5zIG1vcmUgdGhhbg0KPj4+Pj4gLSAgUGNk TWF4aW11bUFzY2lpU3RyaW5nTGVuZ3RoIEFTQ0lJIGNoYXJhY3RlcnMgbm90IGluY2x1ZGluZyB0 aGUgTnVsbC10ZXJtaW5hdG9yLA0KPj4+Pj4gLSAgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElm IFBjZE1heGltdW1Bc2NpaVN0cmluZ0xlbmd0aCBpcyBub3QgemVybyBhbmQgY29uY2F0ZW5hdGlu ZyBEZXN0aW5hdGlvbiBhbmQNCj4+Pj4+IC0gIFNvdXJjZSByZXN1bHRzIGluIGEgQVNDSUkgc3Ry aW5nIHdpdGggbW9yZSB0aGFuIFBjZE1heGltdW1Bc2NpaVN0cmluZ0xlbmd0aA0KPj4+Pj4gLSAg QVNDSUkgY2hhcmFjdGVycywgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEBwYXJh bSAgRGVzdGluYXRpb24gVGhlIHBvaW50ZXIgdG8gYSBOdWxsLXRlcm1pbmF0ZWQgQVNDSUkgc3Ry aW5nLg0KPj4+Pj4gLSAgQHBhcmFtICBTb3VyY2UgICAgICBUaGUgcG9pbnRlciB0byBhIE51bGwt dGVybWluYXRlZCBBU0NJSSBzdHJpbmcuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcmV0dXJuIERlc3Rp bmF0aW9uDQo+Pj4+PiAtDQo+Pj4+PiAtKiovDQo+Pj4+PiAtQ0hBUjggKg0KPj4+Pj4gLUVGSUFQ SQ0KPj4+Pj4gLUFzY2lpU3RyQ2F0ICgNCj4+Pj4+IC0gIElOIE9VVCBDSEFSOCAgICAqRGVzdGlu YXRpb24sDQo+Pj4+PiAtICBJTiBDT05TVCBDSEFSOCAgKlNvdXJjZQ0KPj4+Pj4gLSAgKTsNCj4+ Pj4+IC0NCj4+Pj4+IC0NCj4+Pj4+IC0vKioNCj4+Pj4+IC0gIFtBVFRFTlRJT05dIFRoaXMgZnVu Y3Rpb24gaXMgZGVwcmVjYXRlZCBmb3Igc2VjdXJpdHkgcmVhc29uLg0KPj4+Pj4gLQ0KPj4+Pj4g LSAgQ29uY2F0ZW5hdGVzIHVwIHRvIGEgc3BlY2lmaWVkIGxlbmd0aCBvbmUgTnVsbC10ZXJtaW5h dGVkIEFTQ0lJIHN0cmluZyB0bw0KPj4+Pj4gLSAgdGhlIGVuZCBvZiBhbm90aGVyIE51bGwtdGVy bWluYXRlZCBBU0NJSSBzdHJpbmcsIGFuZCByZXR1cm5zIHRoZQ0KPj4+Pj4gLSAgY29uY2F0ZW5h dGVkIEFTQ0lJIHN0cmluZy4NCj4+Pj4+IC0NCj4+Pj4+IC0gIFRoaXMgZnVuY3Rpb24gY29uY2F0 ZW5hdGVzIHR3byBOdWxsLXRlcm1pbmF0ZWQgQVNDSUkgc3RyaW5ncy4gVGhlIGNvbnRlbnRzDQo+ Pj4+PiAtICBvZiBOdWxsLXRlcm1pbmF0ZWQgQVNDSUkgc3RyaW5nIFNvdXJjZSBhcmUgY29uY2F0 ZW5hdGVkIHRvIHRoZSBlbmQgb2YgTnVsbC0NCj4+Pj4+IC0gIHRlcm1pbmF0ZWQgQVNDSUkgc3Ry aW5nIERlc3RpbmF0aW9uLCBhbmQgRGVzdGluYXRpb24gaXMgcmV0dXJuZWQuIEF0IG1vc3QsDQo+ Pj4+PiAtICBMZW5ndGggQVNDSUkgY2hhcmFjdGVycyBhcmUgY29uY2F0ZW5hdGVkIGZyb20gU291 cmNlIHRvIHRoZSBlbmQgb2YNCj4+Pj4+IC0gIERlc3RpbmF0aW9uLCBhbmQgRGVzdGluYXRpb24g aXMgYWx3YXlzIE51bGwtdGVybWluYXRlZC4gSWYgTGVuZ3RoIGlzIDAsIHRoZW4NCj4+Pj4+IC0g IERlc3RpbmF0aW9uIGlzIHJldHVybmVkIHVubW9kaWZpZWQuIElmIFNvdXJjZSBhbmQgRGVzdGlu YXRpb24gb3ZlcmxhcCwgdGhlbg0KPj4+Pj4gLSAgdGhlIHJlc3VsdHMgYXJlIHVuZGVmaW5lZC4N Cj4+Pj4+IC0NCj4+Pj4+IC0gIElmIExlbmd0aCA+IDAgYW5kIERlc3RpbmF0aW9uIGlzIE5VTEws IHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJZiBMZW5ndGggPiAwIGFuZCBTb3VyY2UgaXMgTlVM TCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIFNvdXJjZSBhbmQgRGVzdGluYXRpb24gb3Zl cmxhcCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIFBjZE1heGltdW1Bc2NpaVN0cmluZ0xl bmd0aCBpcyBub3QgemVybywgYW5kIExlbmd0aCBpcyBncmVhdGVyIHRoYW4NCj4+Pj4+IC0gIFBj ZE1heGltdW1Bc2NpaVN0cmluZ0xlbmd0aCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIFBj ZE1heGltdW1Bc2NpaVN0cmluZ0xlbmd0aCBpcyBub3QgemVybywgYW5kIERlc3RpbmF0aW9uIGNv bnRhaW5zIG1vcmUgdGhhbg0KPj4+Pj4gLSAgUGNkTWF4aW11bUFzY2lpU3RyaW5nTGVuZ3RoIEFT Q0lJIGNoYXJhY3RlcnMsIG5vdCBpbmNsdWRpbmcgdGhlIE51bGwtdGVybWluYXRvciwNCj4+Pj4+ IC0gIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJZiBQY2RNYXhpbXVtQXNjaWlTdHJpbmdMZW5n dGggaXMgbm90IHplcm8sIGFuZCBTb3VyY2UgY29udGFpbnMgbW9yZSB0aGFuDQo+Pj4+PiAtICBQ Y2RNYXhpbXVtQXNjaWlTdHJpbmdMZW5ndGggQVNDSUkgY2hhcmFjdGVycywgbm90IGluY2x1ZGlu ZyB0aGUgTnVsbC10ZXJtaW5hdG9yLA0KPj4+Pj4gLSAgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0g IElmIFBjZE1heGltdW1Bc2NpaVN0cmluZ0xlbmd0aCBpcyBub3QgemVybywgYW5kIGNvbmNhdGVu YXRpbmcgRGVzdGluYXRpb24gYW5kDQo+Pj4+PiAtICBTb3VyY2UgcmVzdWx0cyBpbiBhIEFTQ0lJ IHN0cmluZyB3aXRoIG1vcmUgdGhhbiBQY2RNYXhpbXVtQXNjaWlTdHJpbmdMZW5ndGgNCj4+Pj4+ IC0gIEFTQ0lJIGNoYXJhY3RlcnMsIG5vdCBpbmNsdWRpbmcgdGhlIE51bGwtdGVybWluYXRvciwg dGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEBwYXJhbSAgRGVzdGluYXRpb24gVGhl IHBvaW50ZXIgdG8gYSBOdWxsLXRlcm1pbmF0ZWQgQVNDSUkgc3RyaW5nLg0KPj4+Pj4gLSAgQHBh cmFtICBTb3VyY2UgICAgICBUaGUgcG9pbnRlciB0byBhIE51bGwtdGVybWluYXRlZCBBU0NJSSBz dHJpbmcuDQo+Pj4+PiAtICBAcGFyYW0gIExlbmd0aCAgICAgIFRoZSBtYXhpbXVtIG51bWJlciBv ZiBBU0NJSSBjaGFyYWN0ZXJzIHRvIGNvbmNhdGVuYXRlIGZyb20NCj4+Pj4+IC0gICAgICAgICAg ICAgICAgICAgICAgU291cmNlLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHJldHVybiBEZXN0aW5hdGlv bg0KPj4+Pj4gLQ0KPj4+Pj4gLSoqLw0KPj4+Pj4gLUNIQVI4ICoNCj4+Pj4+IC1FRklBUEkNCj4+ Pj4+IC1Bc2NpaVN0cm5DYXQgKA0KPj4+Pj4gLSAgSU4gT1VUICBDSEFSOCAgICAgICAgICAgICAg ICAgICAgICpEZXN0aW5hdGlvbiwNCj4+Pj4+IC0gIElOICAgICAgQ09OU1QgQ0hBUjggICAgICAg ICAgICAgICAqU291cmNlLA0KPj4+Pj4gLSAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAgICAg ICAgIExlbmd0aA0KPj4+Pj4gLSAgKTsNCj4+Pj4+IC0jZW5kaWYgLy8gIWRlZmluZWQgKERJU0FC TEVfTkVXX0RFUFJFQ0FURURfSU5URVJGQUNFUykNCj4+Pj4+IC0NCj4+Pj4+ICAgLyoqDQo+Pj4+ PiAgICAgUmV0dXJucyB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiBhIE51bGwtdGVybWluYXRlZCBB U0NJSSBzdWItc3RyaW5nDQo+Pj4+PiAgICAgaW4gYSBOdWxsLXRlcm1pbmF0ZWQgQVNDSUkgc3Ry aW5nLg0KPj4+Pj4gQEAgLTI0OTYsNDUgKzIxMjYsNiBAQCBBc2NpaVN0ckhleFRvQnl0ZXMgKA0K Pj4+Pj4gICAgIElOICBVSU5UTiAgICAgICAgICAgICAgTWF4QnVmZmVyU2l6ZQ0KPj4+Pj4gICAg ICk7DQo+Pj4+Pg0KPj4+Pj4gLSNpZm5kZWYgRElTQUJMRV9ORVdfREVQUkVDQVRFRF9JTlRFUkZB Q0VTDQo+Pj4+PiAtDQo+Pj4+PiAtLyoqDQo+Pj4+PiAtICBbQVRURU5USU9OXSBUaGlzIGZ1bmN0 aW9uIGlzIGRlcHJlY2F0ZWQgZm9yIHNlY3VyaXR5IHJlYXNvbi4NCj4+Pj4+IC0NCj4+Pj4+IC0g IENvbnZlcnQgb25lIE51bGwtdGVybWluYXRlZCBBU0NJSSBzdHJpbmcgdG8gYSBOdWxsLXRlcm1p bmF0ZWQNCj4+Pj4+IC0gIFVuaWNvZGUgc3RyaW5nIGFuZCByZXR1cm5zIHRoZSBVbmljb2RlIHN0 cmluZy4NCj4+Pj4+IC0NCj4+Pj4+IC0gIFRoaXMgZnVuY3Rpb24gY29udmVydHMgdGhlIGNvbnRl bnRzIG9mIHRoZSBBU0NJSSBzdHJpbmcgU291cmNlIHRvIHRoZSBVbmljb2RlDQo+Pj4+PiAtICBz dHJpbmcgRGVzdGluYXRpb24sIGFuZCByZXR1cm5zIERlc3RpbmF0aW9uLiAgVGhlIGZ1bmN0aW9u IHRlcm1pbmF0ZXMgdGhlDQo+Pj4+PiAtICBVbmljb2RlIHN0cmluZyBEZXN0aW5hdGlvbiBieSBh cHBlbmRpbmcgYSBOdWxsLXRlcm1pbmF0b3IgY2hhcmFjdGVyIGF0IHRoZSBlbmQuDQo+Pj4+PiAt ICBUaGUgY2FsbGVyIGlzIHJlc3BvbnNpYmxlIHRvIG1ha2Ugc3VyZSBEZXN0aW5hdGlvbiBwb2lu dHMgdG8gYSBidWZmZXIgd2l0aCBzaXplDQo+Pj4+PiAtICBlcXVhbCBvciBncmVhdGVyIHRoYW4g KChBc2NpaVN0ckxlbiAoU291cmNlKSArIDEpICogc2l6ZW9mIChDSEFSMTYpKSBpbiBieXRlcy4N Cj4+Pj4+IC0NCj4+Pj4+IC0gIElmIERlc3RpbmF0aW9uIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCku DQo+Pj4+PiAtICBJZiBEZXN0aW5hdGlvbiBpcyBub3QgYWxpZ25lZCBvbiBhIDE2LWJpdCBib3Vu ZGFyeSwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIFNvdXJjZSBpcyBOVUxMLCB0aGVuIEFT U0VSVCgpLg0KPj4+Pj4gLSAgSWYgU291cmNlIGFuZCBEZXN0aW5hdGlvbiBvdmVybGFwLCB0aGVu IEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgUGNkTWF4aW11bUFzY2lpU3RyaW5nTGVuZ3RoIGlzIG5v dCB6ZXJvLCBhbmQgU291cmNlIGNvbnRhaW5zIG1vcmUgdGhhbg0KPj4+Pj4gLSAgUGNkTWF4aW11 bUFzY2lpU3RyaW5nTGVuZ3RoIEFTQ0lJIGNoYXJhY3RlcnMgbm90IGluY2x1ZGluZyB0aGUgTnVs bC10ZXJtaW5hdG9yLA0KPj4+Pj4gLSAgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIFBjZE1h eGltdW1Vbmljb2RlU3RyaW5nTGVuZ3RoIGlzIG5vdCB6ZXJvLCBhbmQgU291cmNlIGNvbnRhaW5z IG1vcmUgdGhhbg0KPj4+Pj4gLSAgUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGggQVNDSUkg Y2hhcmFjdGVycyBub3QgaW5jbHVkaW5nIHRoZQ0KPj4+Pj4gLSAgTnVsbC10ZXJtaW5hdG9yLCB0 aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHBhcmFtICBTb3VyY2UgICAgICAgIFRo ZSBwb2ludGVyIHRvIGEgTnVsbC10ZXJtaW5hdGVkIEFTQ0lJIHN0cmluZy4NCj4+Pj4+IC0gIEBw YXJhbSAgRGVzdGluYXRpb24gICBUaGUgcG9pbnRlciB0byBhIE51bGwtdGVybWluYXRlZCBVbmlj b2RlIHN0cmluZy4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEByZXR1cm4gRGVzdGluYXRpb24uDQo+Pj4+ PiAtDQo+Pj4+PiAtKiovDQo+Pj4+PiAtQ0hBUjE2ICoNCj4+Pj4+IC1FRklBUEkNCj4+Pj4+IC1B c2NpaVN0clRvVW5pY29kZVN0ciAoDQo+Pj4+PiAtICBJTiAgICAgIENPTlNUIENIQVI4ICAgICAg ICAgICAgICAgKlNvdXJjZSwNCj4+Pj4+IC0gIE9VVCAgICAgQ0hBUjE2ICAgICAgICAgICAgICAg ICAgICAqRGVzdGluYXRpb24NCj4+Pj4+IC0gICk7DQo+Pj4+PiAtDQo+Pj4+PiAtI2VuZGlmIC8v ICFkZWZpbmVkIChESVNBQkxFX05FV19ERVBSRUNBVEVEX0lOVEVSRkFDRVMpDQo+Pj4+Pg0KPj4+ Pj4gICAvKioNCj4+Pj4+ICAgICBDb252ZXJ0IG9uZSBOdWxsLXRlcm1pbmF0ZWQgQVNDSUkgc3Ry aW5nIHRvIGEgTnVsbC10ZXJtaW5hdGVkDQo+Pj4+PiBkaWZmIC0tZ2l0IGEvTWRlUGtnL0luY2x1 ZGUvTGlicmFyeS9QY2RMaWIuaCBiL01kZVBrZy9JbmNsdWRlL0xpYnJhcnkvUGNkTGliLmgNCj4+ Pj4+IGluZGV4IGYwOTA1M2UzY2I4Ni4uNzE3Mzg4NTdhZDE5IDEwMDY0NA0KPj4+Pj4gLS0tIGEv TWRlUGtnL0luY2x1ZGUvTGlicmFyeS9QY2RMaWIuaA0KPj4+Pj4gKysrIGIvTWRlUGtnL0luY2x1 ZGUvTGlicmFyeS9QY2RMaWIuaA0KPj4+Pj4gQEAgLTQ4MSwxMDYgKzQ4MSw2IEBAIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+Pj4+PiAgICoqLw0KPj4+Pj4g ICAjZGVmaW5lIFBjZEdldEV4U2l6ZShHdWlkLCBUb2tlbk5hbWUpIExpYlBjZEdldEV4U2l6ZSAo KEd1aWQpLCBQY2RUb2tlbkV4KEd1aWQsVG9rZW5OYW1lKSkNCj4+Pj4+DQo+Pj4+PiAtI2lmbmRl ZiBESVNBQkxFX05FV19ERVBSRUNBVEVEX0lOVEVSRkFDRVMNCj4+Pj4+IC0vKioNCj4+Pj4+IC0g IFNldHMgYW4gOC1iaXQgUENEIHRva2VuIHZhbHVlIGJhc2VkIG9uIGEgdG9rZW4gbmFtZS4NCj4+ Pj4+IC0NCj4+Pj4+IC0gIFNldHMgdGhlIDgtYml0IHZhbHVlIGZvciB0aGUgdG9rZW4gc3BlY2lm aWVkIGJ5IFRva2VuTmFtZS4gVmFsdWUgaXMgcmV0dXJuZWQuDQo+Pj4+PiAtICBJZiBUb2tlbk5h bWUgaXMgbm90IGEgdmFsaWQgdG9rZW4gaW4gdGhlIHRva2VuIHNwYWNlLCB0aGVuIHRoZSBtb2R1 bGUgd2lsbCBub3QgYnVpbGQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcGFyYW0gICBUb2tlbk5hbWUg IFRoZSBuYW1lIG9mIHRoZSBQQ0QgdG9rZW4gdG8gcmV0cmlldmUgYSBjdXJyZW50IHZhbHVlIGZv ci4NCj4+Pj4+IC0gIEBwYXJhbSAgIFZhbHVlICAgICAgVGhlIDgtYml0IHZhbHVlIHRvIHNldC4N Cj4+Pj4+IC0NCj4+Pj4+IC0gIEByZXR1cm4gUmV0dXJuIHRoZSBWYWx1ZSB0aGF0IHdhcyBzZXQu DQo+Pj4+PiAtDQo+Pj4+PiAtKiovDQo+Pj4+PiAtI2RlZmluZSBQY2RTZXQ4KFRva2VuTmFtZSwg VmFsdWUpICAgICAgICAgICBfUENEX1NFVF9NT0RFXzhfIyNUb2tlbk5hbWUgICAgICgoVmFsdWUp KQ0KPj4+Pj4gLQ0KPj4+Pj4gLQ0KPj4+Pj4gLS8qKg0KPj4+Pj4gLSAgU2V0cyBhIDE2LWJpdCBQ Q0QgdG9rZW4gdmFsdWUgYmFzZWQgb24gYSB0b2tlbiBuYW1lLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAg U2V0cyB0aGUgMTYtYml0IHZhbHVlIGZvciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IFRva2VuTmFt ZS4gVmFsdWUgaXMgcmV0dXJuZWQuDQo+Pj4+PiAtICBJZiBUb2tlbk5hbWUgaXMgbm90IGEgdmFs aWQgdG9rZW4gaW4gdGhlIHRva2VuIHNwYWNlLCB0aGVuIHRoZSBtb2R1bGUgd2lsbCBub3QgYnVp bGQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcGFyYW0gICBUb2tlbk5hbWUgIFRoZSBuYW1lIG9mIHRo ZSBQQ0QgdG9rZW4gdG8gcmV0cmlldmUgYSBjdXJyZW50IHZhbHVlIGZvci4NCj4+Pj4+IC0gIEBw YXJhbSAgIFZhbHVlICAgICAgVGhlIDE2LWJpdCB2YWx1ZSB0byBzZXQuDQo+Pj4+PiAtDQo+Pj4+ PiAtICBAcmV0dXJuIFJldHVybiB0aGUgVmFsdWUgdGhhdCB3YXMgc2V0Lg0KPj4+Pj4gLQ0KPj4+ Pj4gLSoqLw0KPj4+Pj4gLSNkZWZpbmUgUGNkU2V0MTYoVG9rZW5OYW1lLCBWYWx1ZSkgICAgICAg ICAgX1BDRF9TRVRfTU9ERV8xNl8jI1Rva2VuTmFtZSAgICAoKFZhbHVlKSkNCj4+Pj4+IC0NCj4+ Pj4+IC0NCj4+Pj4+IC0vKioNCj4+Pj4+IC0gIFNldHMgYSAzMi1iaXQgUENEIHRva2VuIHZhbHVl IGJhc2VkIG9uIGEgdG9rZW4gbmFtZS4NCj4+Pj4+IC0NCj4+Pj4+IC0gIFNldHMgdGhlIDMyLWJp dCB2YWx1ZSBmb3IgdGhlIHRva2VuIHNwZWNpZmllZCBieSBUb2tlbk5hbWUuIFZhbHVlIGlzIHJl dHVybmVkLg0KPj4+Pj4gLSAgSWYgVG9rZW5OYW1lIGlzIG5vdCBhIHZhbGlkIHRva2VuIGluIHRo ZSB0b2tlbiBzcGFjZSwgdGhlbiB0aGUgbW9kdWxlIHdpbGwgbm90IGJ1aWxkLg0KPj4+Pj4gLQ0K Pj4+Pj4gLSAgQHBhcmFtICAgVG9rZW5OYW1lICBUaGUgbmFtZSBvZiB0aGUgUENEIHRva2VuIHRv IHJldHJpZXZlIGEgY3VycmVudCB2YWx1ZSBmb3IuDQo+Pj4+PiAtICBAcGFyYW0gICBWYWx1ZSAg ICAgIFRoZSAzMi1iaXQgdmFsdWUgdG8gc2V0Lg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHJldHVybiBS ZXR1cm4gdGhlIFZhbHVlIHRoYXQgd2FzIHNldC4NCj4+Pj4+IC0NCj4+Pj4+IC0qKi8NCj4+Pj4+ IC0jZGVmaW5lIFBjZFNldDMyKFRva2VuTmFtZSwgVmFsdWUpICAgICAgICAgIF9QQ0RfU0VUX01P REVfMzJfIyNUb2tlbk5hbWUgICAgKChWYWx1ZSkpDQo+Pj4+PiAtDQo+Pj4+PiAtDQo+Pj4+PiAt LyoqDQo+Pj4+PiAtICBTZXRzIGEgNjQtYml0IFBDRCB0b2tlbiB2YWx1ZSBiYXNlZCBvbiBhIHRv a2VuIG5hbWUuDQo+Pj4+PiAtDQo+Pj4+PiAtICBTZXRzIHRoZSA2NC1iaXQgdmFsdWUgZm9yIHRo ZSB0b2tlbiBzcGVjaWZpZWQgYnkgVG9rZW5OYW1lLiBWYWx1ZSBpcyByZXR1cm5lZC4NCj4+Pj4+ IC0gIElmIFRva2VuTmFtZSBpcyBub3QgYSB2YWxpZCB0b2tlbiBpbiB0aGUgdG9rZW4gc3BhY2Us IHRoZW4gdGhlIG1vZHVsZSB3aWxsIG5vdCBidWlsZC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEBwYXJh bSAgIFRva2VuTmFtZSAgVGhlIG5hbWUgb2YgdGhlIFBDRCB0b2tlbiB0byByZXRyaWV2ZSBhIGN1 cnJlbnQgdmFsdWUgZm9yLg0KPj4+Pj4gLSAgQHBhcmFtICAgVmFsdWUgICAgICBUaGUgNjQtYml0 IHZhbHVlIHRvIHNldC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEByZXR1cm4gUmV0dXJuIHRoZSBWYWx1 ZSB0aGF0IHdhcyBzZXQuDQo+Pj4+PiAtDQo+Pj4+PiAtKiovDQo+Pj4+PiAtI2RlZmluZSBQY2RT ZXQ2NChUb2tlbk5hbWUsIFZhbHVlKSAgICAgICAgICBfUENEX1NFVF9NT0RFXzY0XyMjVG9rZW5O YW1lICAgICgoVmFsdWUpKQ0KPj4+Pj4gLQ0KPj4+Pj4gLQ0KPj4+Pj4gLS8qKg0KPj4+Pj4gLSAg U2V0cyBhIHBvaW50ZXIgdG8gYSBQQ0QgdG9rZW4gYnVmZmVyIGJhc2VkIG9uIGEgdG9rZW4gbmFt ZS4NCj4+Pj4+IC0NCj4+Pj4+IC0gIFNldHMgdGhlIGJ1ZmZlciBmb3IgdGhlIHRva2VuIHNwZWNp ZmllZCBieSBUb2tlbk5hbWUuIEJ1ZmZlciBpcyByZXR1cm5lZC4NCj4+Pj4+IC0gIElmIFNpemVP ZkJ1ZmZlciBpcyBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gc2l6ZSBzdXBwb3J0ZWQgYnkgVG9r ZW5OYW1lLA0KPj4+Pj4gLSAgdGhlbiBzZXQgU2l6ZU9mQnVmZmVyIHRvIHRoZSBtYXhpbXVtIHNp emUgc3VwcG9ydGVkIGJ5IFRva2VuTmFtZSBhbmQgcmV0dXJuIE5VTEwNCj4+Pj4+IC0gIHRvIGlu ZGljYXRlIHRoYXQgdGhlIHNldCBvcGVyYXRpb24gd2FzIG5vdCBhY3R1YWxseSBwZXJmb3JtZWQu ICBJZiBTaXplT2ZCdWZmZXINCj4+Pj4+IC0gIGlzIHNldCB0byBNQVhfQUREUkVTUywgdGhlbiBT aXplT2ZCdWZmZXIgbXVzdCBiZSBzZXQgdG8gdGhlIG1heGltdW0gc2l6ZSBzdXBwb3J0ZWQNCj4+ Pj4+IC0gIGJ5IFRva2VuTmFtZSBhbmQgTlVMTCBtdXN0IGJlIHJldHVybmVkLg0KPj4+Pj4gLSAg SWYgVG9rZW5OYW1lIGlzIG5vdCBhIHZhbGlkIHRva2VuIGluIHRoZSB0b2tlbiBzcGFjZSwgdGhl biB0aGUgbW9kdWxlIHdpbGwgbm90IGJ1aWxkLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgSWYgU2l6ZU9m QnVmZmVyIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJZiBTaXplT2ZCdWZmZXIg PiAwIGFuZCBCdWZmZXIgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0NCj4+Pj4+IC0g IEBwYXJhbSAgIFRva2VuTmFtZSAgICAgIFRoZSBuYW1lIG9mIHRoZSBQQ0QgdG9rZW4gdG8gc2V0 IHRoZSBjdXJyZW50IHZhbHVlIGZvci4NCj4+Pj4+IC0gIEBwYXJhbSAgIFNpemVPZkJ1ZmZlciAg IEEgcG9pbnRlciB0byB0aGUgc2l6ZSwgaW4gYnl0ZXMsIG9mIEJ1ZmZlci4NCj4+Pj4+IC0gIEBw YXJhbSAgIEJ1ZmZlciAgICAgICAgIEEgcG9pbnRlciB0byB0aGUgYnVmZmVyIHRvIHNldC4NCj4+ Pj4+IC0NCj4+Pj4+IC0gIEByZXR1cm4gUmV0dXJuIHRoZSBwb2ludGVyIHRvIHRoZSBCdWZmZXIg dGhhdCB3YXMgc2V0Lg0KPj4+Pj4gLQ0KPj4+Pj4gLSoqLw0KPj4+Pj4gLSNkZWZpbmUgUGNkU2V0 UHRyKFRva2VuTmFtZSwgU2l6ZU9mQnVmZmVyLCBCdWZmZXIpIFwNCj4+Pj4+IC0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9QQ0RfU0VUX01PREVfUFRSXyMjVG9r ZW5OYW1lICAgKChTaXplT2ZCdWZmZXIpLCAoQnVmZmVyKSkNCj4+Pj4+IC0NCj4+Pj4+IC0vKioN Cj4+Pj4+IC0gIFNldHMgYSBCb29sZWFuIFBDRCB0b2tlbiB2YWx1ZSBiYXNlZCBvbiBhIHRva2Vu IG5hbWUuDQo+Pj4+PiAtDQo+Pj4+PiAtICBTZXRzIHRoZSBCb29sZWFuIHZhbHVlIGZvciB0aGUg dG9rZW4gc3BlY2lmaWVkIGJ5IFRva2VuTmFtZS4gVmFsdWUgaXMgcmV0dXJuZWQuDQo+Pj4+PiAt ICBJZiBUb2tlbk5hbWUgaXMgbm90IGEgdmFsaWQgdG9rZW4gaW4gdGhlIHRva2VuIHNwYWNlLCB0 aGVuIHRoZSBtb2R1bGUgd2lsbCBub3QgYnVpbGQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcGFyYW0g ICBUb2tlbk5hbWUgICAgICBUaGUgbmFtZSBvZiB0aGUgUENEIHRva2VuIHRvIHNldCB0aGUgY3Vy cmVudCB2YWx1ZSBmb3IuDQo+Pj4+PiAtICBAcGFyYW0gICBCdWZmZXIgICAgICAgICBUaGUgQm9v bGVhbiB2YWx1ZSB0byBzZXQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcmV0dXJuIFJldHVybiB0aGUg VmFsdWUgdGhhdCB3YXMgc2V0Lg0KPj4+Pj4gLQ0KPj4+Pj4gLSoqLw0KPj4+Pj4gLSNkZWZpbmUg UGNkU2V0Qm9vbChUb2tlbk5hbWUsIFZhbHVlKSAgICAgICAgX1BDRF9TRVRfTU9ERV9CT09MXyMj VG9rZW5OYW1lICAoKFZhbHVlKSkNCj4+Pj4+IC0jZW5kaWYNCj4+Pj4+IC0NCj4+Pj4+ICAgLyoq DQo+Pj4+PiAgICAgU2V0cyBhIDgtYml0IFBDRCB0b2tlbiB2YWx1ZSBiYXNlZCBvbiBhIHRva2Vu IG5hbWUuDQo+Pj4+Pg0KPj4+Pj4gQEAgLTgwNiwxMzcgKzcwNiw2IEBAIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+Pj4+Pg0KPj4+Pj4NCj4+Pj4+DQo+Pj4+ PiAtI2lmbmRlZiBESVNBQkxFX05FV19ERVBSRUNBVEVEX0lOVEVSRkFDRVMNCj4+Pj4+IC0vKioN Cj4+Pj4+IC0gIFNldHMgYW4gOC1iaXQgUENEIHRva2VuIHZhbHVlIGJhc2VkIG9uIGEgR1VJRCBh bmQgYSB0b2tlbiBuYW1lLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgU2V0cyB0aGUgOC1iaXQgdmFsdWUg Zm9yIHRoZSB0b2tlbiBzcGVjaWZpZWQgYnkgR3VpZCBhbmQgVG9rZW5OYW1lLiBWYWx1ZSBpcyBy ZXR1cm5lZC4NCj4+Pj4+IC0gIElmIFRva2VuTmFtZSBpcyBub3QgYSB2YWxpZCB0b2tlbiBpbiB0 aGUgdG9rZW4gc3BhY2Ugc3BlY2lmaWVkIGJ5IEd1aWQsDQo+Pj4+PiAtICB0aGVuIHRoZSBtb2R1 bGUgd2lsbCBub3QgYnVpbGQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBJZiBHdWlkIGlzIE5VTEwsIHRo ZW4gQVNTRVJUKCkuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcGFyYW0gICBHdWlkICAgICAgICBQb2lu dGVyIHRvIGEgMTI4LWJpdCB1bmlxdWUgdmFsdWUgdGhhdCBkZXNpZ25hdGVzDQo+Pj4+PiAtICAg ICAgICAgICAgICAgICAgICAgICB3aGljaCBuYW1lc3BhY2UgdG8gcmV0cmlldmUgYSB2YWx1ZSBm cm9tLg0KPj4+Pj4gLSAgQHBhcmFtICAgVG9rZW5OYW1lICAgVGhlIG5hbWUgb2YgdGhlIFBDRCB0 b2tlbiB0byBzZXQgdGhlIGN1cnJlbnQgdmFsdWUgZm9yLg0KPj4+Pj4gLSAgQHBhcmFtICAgVmFs dWUgICAgICAgVGhlIDgtYml0IHZhbHVlIHRvIHNldC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEByZXR1 cm4gUmV0dXJuIHRoZSBWYWx1ZSB0aGF0IHdhcyBzZXQuDQo+Pj4+PiAtDQo+Pj4+PiAtKiovDQo+ Pj4+PiAtI2RlZmluZSBQY2RTZXRFeDgoR3VpZCwgVG9rZW5OYW1lLCBWYWx1ZSkgICBMaWJQY2RT ZXRFeDggICAoKEd1aWQpLCBQY2RUb2tlbkV4KEd1aWQsVG9rZW5OYW1lKSwgKFZhbHVlKSkNCj4+ Pj4+IC0NCj4+Pj4+IC0NCj4+Pj4+IC0vKioNCj4+Pj4+IC0gIFNldHMgYSAxNi1iaXQgUENEIHRv a2VuIHZhbHVlIGJhc2VkIG9uIGEgR1VJRCBhbmQgYSB0b2tlbiBuYW1lLg0KPj4+Pj4gLQ0KPj4+ Pj4gLSAgU2V0cyB0aGUgMTYtYml0IHZhbHVlIGZvciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IEd1 aWQgYW5kIFRva2VuTmFtZS4gVmFsdWUgaXMgcmV0dXJuZWQuDQo+Pj4+PiAtICBJZiBUb2tlbk5h bWUgaXMgbm90IGEgdmFsaWQgdG9rZW4gaW4gdGhlIHRva2VuIHNwYWNlIHNwZWNpZmllZCBieSBH dWlkLA0KPj4+Pj4gLSAgdGhlbiB0aGUgbW9kdWxlIHdpbGwgbm90IGJ1aWxkLg0KPj4+Pj4gLQ0K Pj4+Pj4gLSAgSWYgR3VpZCBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLQ0KPj4+Pj4g LSAgQHBhcmFtICAgR3VpZCAgICAgICAgUG9pbnRlciB0byBhIDEyOC1iaXQgdW5pcXVlIHZhbHVl IHRoYXQgZGVzaWduYXRlcw0KPj4+Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgd2hpY2ggbmFt ZXNwYWNlIHRvIHJldHJpZXZlIGEgdmFsdWUgZnJvbS4NCj4+Pj4+IC0gIEBwYXJhbSAgIFRva2Vu TmFtZSAgIFRoZSBuYW1lIG9mIHRoZSBQQ0QgdG9rZW4gdG8gc2V0IHRoZSBjdXJyZW50IHZhbHVl IGZvci4NCj4+Pj4+IC0gIEBwYXJhbSAgIFZhbHVlICAgICAgIFRoZSAxNi1iaXQgdmFsdWUgdG8g c2V0Lg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHJldHVybiBSZXR1cm4gdGhlIFZhbHVlIHRoYXQgd2Fz IHNldC4NCj4+Pj4+IC0NCj4+Pj4+IC0qKi8NCj4+Pj4+IC0jZGVmaW5lIFBjZFNldEV4MTYoR3Vp ZCwgVG9rZW5OYW1lLCBWYWx1ZSkgIExpYlBjZFNldEV4MTYgICgoR3VpZCksIFBjZFRva2VuRXgo R3VpZCxUb2tlbk5hbWUpLCAoVmFsdWUpKQ0KPj4+Pj4gLQ0KPj4+Pj4gLQ0KPj4+Pj4gLS8qKg0K Pj4+Pj4gLSAgU2V0cyBhIDMyLWJpdCBQQ0QgdG9rZW4gdmFsdWUgYmFzZWQgb24gYSBHVUlEIGFu ZCBhIHRva2VuIG5hbWUuDQo+Pj4+PiAtDQo+Pj4+PiAtICBTZXRzIHRoZSAzMi1iaXQgdmFsdWUg Zm9yIHRoZSB0b2tlbiBzcGVjaWZpZWQgYnkgR3VpZCBhbmQgVG9rZW5OYW1lLiBWYWx1ZSBpcyBy ZXR1cm5lZC4NCj4+Pj4+IC0gIElmIFRva2VuTmFtZSBpcyBub3QgYSB2YWxpZCB0b2tlbiBpbiB0 aGUgdG9rZW4gc3BhY2Ugc3BlY2lmaWVkIGJ5IEd1aWQsDQo+Pj4+PiAtICB0aGVuIHRoZSBtb2R1 bGUgd2lsbCBub3QgYnVpbGQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBJZiBHdWlkIGlzIE5VTEwsIHRo ZW4gQVNTRVJUKCkuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcGFyYW0gICBHdWlkICAgICAgICBQb2lu dGVyIHRvIGEgMTI4LWJpdCB1bmlxdWUgdmFsdWUgdGhhdCBkZXNpZ25hdGVzDQo+Pj4+PiAtICAg ICAgICAgICAgICAgICAgICAgICB3aGljaCBuYW1lc3BhY2UgdG8gcmV0cmlldmUgYSB2YWx1ZSBm cm9tLg0KPj4+Pj4gLSAgQHBhcmFtICAgVG9rZW5OYW1lICAgVGhlIG5hbWUgb2YgdGhlIFBDRCB0 b2tlbiB0byBzZXQgdGhlIGN1cnJlbnQgdmFsdWUgZm9yLg0KPj4+Pj4gLSAgQHBhcmFtICAgVmFs dWUgICAgICAgVGhlIDMyLWJpdCB2YWx1ZSB0byBzZXQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcmV0 dXJuIFJldHVybiB0aGUgVmFsdWUgdGhhdCB3YXMgc2V0Lg0KPj4+Pj4gLQ0KPj4+Pj4gLSoqLw0K Pj4+Pj4gLSNkZWZpbmUgUGNkU2V0RXgzMihHdWlkLCBUb2tlbk5hbWUsIFZhbHVlKSAgTGliUGNk U2V0RXgzMiAgKChHdWlkKSwgUGNkVG9rZW5FeChHdWlkLFRva2VuTmFtZSksIChWYWx1ZSkpDQo+ Pj4+PiAtDQo+Pj4+PiAtDQo+Pj4+PiAtLyoqDQo+Pj4+PiAtICBTZXRzIGEgNjQtYml0IFBDRCB0 b2tlbiB2YWx1ZSBiYXNlZCBvbiBhIEdVSUQgYW5kIGEgdG9rZW4gbmFtZS4NCj4+Pj4+IC0NCj4+ Pj4+IC0gIFNldHMgdGhlIDY0LWJpdCB2YWx1ZSBmb3IgdGhlIHRva2VuIHNwZWNpZmllZCBieSBH dWlkIGFuZCBUb2tlbk5hbWUuIFZhbHVlIGlzIHJldHVybmVkLg0KPj4+Pj4gLSAgSWYgVG9rZW5O YW1lIGlzIG5vdCBhIHZhbGlkIHRva2VuIGluIHRoZSB0b2tlbiBzcGFjZSBzcGVjaWZpZWQgYnkg R3VpZCwNCj4+Pj4+IC0gIHRoZW4gdGhlIG1vZHVsZSB3aWxsIG5vdCBidWlsZC4NCj4+Pj4+IC0N Cj4+Pj4+IC0gIElmIEd1aWQgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0NCj4+Pj4+ IC0gIEBwYXJhbSAgIEd1aWQgICAgICAgIFBvaW50ZXIgdG8gYSAxMjgtYml0IHVuaXF1ZSB2YWx1 ZSB0aGF0IGRlc2lnbmF0ZXMNCj4+Pj4+IC0gIHdoaWNoIG5hbWVzcGFjZSB0byByZXRyaWV2ZSBh IHZhbHVlIGZyb20uDQo+Pj4+PiAtICBAcGFyYW0gICBUb2tlbk5hbWUgICBUaGUgbmFtZSBvZiB0 aGUgUENEIHRva2VuIHRvIHNldCB0aGUgY3VycmVudCB2YWx1ZSBmb3IuDQo+Pj4+PiAtICBAcGFy YW0gICBWYWx1ZSAgICAgICBUaGUgNjQtYml0IHZhbHVlIHRvIHNldC4NCj4+Pj4+IC0NCj4+Pj4+ IC0gIEByZXR1cm4gUmV0dXJuIHRoZSBWYWx1ZSB0aGF0IHdhcyBzZXQuDQo+Pj4+PiAtDQo+Pj4+ PiAtKiovDQo+Pj4+PiAtI2RlZmluZSBQY2RTZXRFeDY0KEd1aWQsIFRva2VuTmFtZSwgVmFsdWUp ICBMaWJQY2RTZXRFeDY0ICAoKEd1aWQpLCBQY2RUb2tlbkV4KEd1aWQsVG9rZW5OYW1lKSwgKFZh bHVlKSkNCj4+Pj4+IC0NCj4+Pj4+IC0NCj4+Pj4+IC0vKioNCj4+Pj4+IC0gIFNldHMgYSBwb2lu dGVyIHRvIGEgUENEIHRva2VuIGJ1ZmZlciBiYXNlZCBvbiBhIEdVSUQgYW5kIGEgdG9rZW4gbmFt ZS4NCj4+Pj4+IC0NCj4+Pj4+IC0gIFNldHMgdGhlIGJ1ZmZlciBmb3IgdGhlIHRva2VuIHNwZWNp ZmllZCBieSBHdWlkIGFuZCBUb2tlbk5hbWUuIEJ1ZmZlciBpcyByZXR1cm5lZC4NCj4+Pj4+IC0g IElmIFNpemVPZkJ1ZmZlciBpcyBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gc2l6ZSBzdXBwb3J0 ZWQgYnkgR3VpZCBhbmQgVG9rZW5OYW1lLA0KPj4+Pj4gLSAgdGhlbiBzZXQgU2l6ZU9mQnVmZmVy IHRvIHRoZSBtYXhpbXVtIHNpemUgc3VwcG9ydGVkIGJ5IEd1aWQgYW5kIFRva2VuTmFtZSBhbmQg cmV0dXJuDQo+Pj4+PiAtICBOVUxMIHRvIGluZGljYXRlIHRoYXQgdGhlIHNldCBvcGVyYXRpb24g d2FzIG5vdCBhY3R1YWxseSBwZXJmb3JtZWQuIElmIFNpemVPZkJ1ZmZlcg0KPj4+Pj4gLSAgaXMg c2V0IHRvIE1BWF9BRERSRVNTLCB0aGVuIFNpemVPZkJ1ZmZlciBtdXN0IGJlIHNldCB0byB0aGUg bWF4aW11bSBzaXplIHN1cHBvcnRlZCBieQ0KPj4+Pj4gLSAgR3VpZCBhbmQgVG9rZW5OYW1lIGFu ZCBOVUxMIG11c3QgYmUgcmV0dXJuZWQuDQo+Pj4+PiAtICBJZiBUb2tlbk5hbWUgaXMgbm90IGEg dmFsaWQgdG9rZW4gaW4gdGhlIHRva2VuIHNwYWNlIHNwZWNpZmllZCBieSBHdWlkLA0KPj4+Pj4g LSAgdGhlbiB0aGUgbW9kdWxlIHdpbGwgbm90IGJ1aWxkLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgSWYg R3VpZCBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgU2l6ZU9mQnVmZmVyIGlz IE5VTEwsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJZiBTaXplT2ZCdWZmZXIgPiAwIGFuZCBC dWZmZXIgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEBwYXJhbSAg IEd1aWQgICAgICAgICAgIFBvaW50ZXIgdG8gYSAxMjgtYml0IHVuaXF1ZSB2YWx1ZSB0aGF0IGRl c2lnbmF0ZXMNCj4+Pj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWNoIG5hbWVzcGFj ZSB0byByZXRyaWV2ZSBhIHZhbHVlIGZyb20uDQo+Pj4+PiAtICBAcGFyYW0gICBUb2tlbk5hbWUg ICAgICBUaGUgbmFtZSBvZiB0aGUgUENEIHRva2VuIHRvIHNldCB0aGUgY3VycmVudCB2YWx1ZSBm b3IuDQo+Pj4+PiAtICBAcGFyYW0gICBTaXplT2ZCdWZmZXIgICBBIHBvaW50ZXIgdG8gdGhlIHNp emUsIGluIGJ5dGVzLCBvZiBCdWZmZXIuDQo+Pj4+PiAtICBAcGFyYW0gICBCdWZmZXIgICAgICAg ICBQb2ludGVyIHRvIHRoZSBidWZmZXIgdG8gc2V0Lg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHJldHVy biBSZXR1cm4gdGhlIHBvaW50ZXIgdG8gdGhlIEJ1ZmZlciB0aGF0IHdhcyBzZXQuDQo+Pj4+PiAt DQo+Pj4+PiAtKiovDQo+Pj4+PiAtI2RlZmluZSBQY2RTZXRFeFB0cihHdWlkLCBUb2tlbk5hbWUs IFNpemVPZkJ1ZmZlciwgQnVmZmVyKSBcDQo+Pj4+PiAtICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBMaWJQY2RTZXRFeFB0ciAoKEd1aWQpLCBQY2RUb2tlbkV4KEd1 aWQsVG9rZW5OYW1lKSwgKFNpemVPZkJ1ZmZlciksIChCdWZmZXIpKQ0KPj4+Pj4gLQ0KPj4+Pj4g LQ0KPj4+Pj4gLS8qKg0KPj4+Pj4gLSAgU2V0cyBhIEJvb2xlYW4gUENEIHRva2VuIHZhbHVlIGJh c2VkIG9uIGEgR1VJRCBhbmQgYSB0b2tlbiBuYW1lLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgU2V0cyB0 aGUgQm9vbGVhbiB2YWx1ZSBmb3IgdGhlIHRva2VuIHNwZWNpZmllZCBieSBHdWlkIGFuZCBUb2tl bk5hbWUuIFZhbHVlIGlzIHJldHVybmVkLg0KPj4+Pj4gLSAgSWYgVG9rZW5OYW1lIGlzIG5vdCBh IHZhbGlkIHRva2VuIGluIHRoZSB0b2tlbiBzcGFjZSBzcGVjaWZpZWQgYnkgR3VpZCwNCj4+Pj4+ IC0gIHRoZW4gdGhlIG1vZHVsZSB3aWxsIG5vdCBidWlsZC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIElm IEd1aWQgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEBwYXJhbSAg IEd1aWQgICAgICAgICAgIFBvaW50ZXIgdG8gYSAxMjgtYml0IHVuaXF1ZSB2YWx1ZSB0aGF0IGRl c2lnbmF0ZXMNCj4+Pj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWNoIG5hbWVzcGFj ZSB0byByZXRyaWV2ZSBhIHZhbHVlIGZyb20uDQo+Pj4+PiAtICBAcGFyYW0gICBUb2tlbk5hbWUg ICAgICBUaGUgbmFtZSBvZiB0aGUgUENEIHRva2VuIHRvIHNldCB0aGUgY3VycmVudCB2YWx1ZSBm b3IuDQo+Pj4+PiAtICBAcGFyYW0gICBWYWx1ZSAgICAgICAgICBUaGUgQm9vbGVhbiB2YWx1ZSB0 byBzZXQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcmV0dXJuIFJldHVybiB0aGUgVmFsdWUgdGhhdCB3 YXMgc2V0Lg0KPj4+Pj4gLQ0KPj4+Pj4gLSoqLw0KPj4+Pj4gLSNkZWZpbmUgUGNkU2V0RXhCb29s KEd1aWQsIFRva2VuTmFtZSwgVmFsdWUpIFwNCj4+Pj4+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIExpYlBjZFNldEV4Qm9vbCgoR3VpZCksIFBjZFRva2VuRXgo R3VpZCxUb2tlbk5hbWUpLCAoVmFsdWUpKQ0KPj4+Pj4gLSNlbmRpZg0KPj4+Pj4gLQ0KPj4+Pj4g ICAvKioNCj4+Pj4+ICAgICBTZXRzIGFuIDgtYml0IFBDRCB0b2tlbiB2YWx1ZSBiYXNlZCBvbiBh IEdVSUQgYW5kIGEgdG9rZW4gbmFtZS4NCj4+Pj4+DQo+Pj4+PiBAQCAtMTM0OCwyOTUgKzExMTcs NiBAQCBMaWJQY2RHZXRFeFNpemUgKA0KPj4+Pj4gICAgICk7DQo+Pj4+Pg0KPj4+Pj4NCj4+Pj4+ IC0jaWZuZGVmIERJU0FCTEVfTkVXX0RFUFJFQ0FURURfSU5URVJGQUNFUw0KPj4+Pj4gLS8qKg0K Pj4+Pj4gLSAgVGhpcyBmdW5jdGlvbiBwcm92aWRlcyBhIG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBh IHZhbHVlIGZvciBhIGdpdmVuIFBDRCB0b2tlbi4NCj4+Pj4+IC0NCj4+Pj4+IC0gIFNldHMgdGhl IDgtYml0IHZhbHVlIGZvciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IFRva2VuTnVtYmVyDQo+Pj4+ PiAtICB0byB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IFZhbHVlLiAgVmFsdWUgaXMgcmV0dXJuZWQu DQo+Pj4+PiAtDQo+Pj4+PiAtICBAcGFyYW1baW5dICBUb2tlbk51bWJlciAgIFRoZSBQQ0QgdG9r ZW4gbnVtYmVyIHRvIHNldCBhIGN1cnJlbnQgdmFsdWUgZm9yLg0KPj4+Pj4gLSAgQHBhcmFtW2lu XSAgVmFsdWUgICAgICAgICBUaGUgOC1iaXQgdmFsdWUgdG8gc2V0Lg0KPj4+Pj4gLQ0KPj4+Pj4g LSAgQHJldHVybiBSZXR1cm4gdGhlIFZhbHVlIHRoYXQgd2FzIHNldC4NCj4+Pj4+IC0NCj4+Pj4+ IC0qKi8NCj4+Pj4+IC1VSU5UOA0KPj4+Pj4gLUVGSUFQSQ0KPj4+Pj4gLUxpYlBjZFNldDggKA0K Pj4+Pj4gLSAgSU4gVUlOVE4gICAgICAgICAgICAgVG9rZW5OdW1iZXIsDQo+Pj4+PiAtICBJTiBV SU5UOCAgICAgICAgICAgICBWYWx1ZQ0KPj4+Pj4gLSAgKTsNCj4+Pj4+IC0NCj4+Pj4+IC0NCj4+ Pj4+IC0vKioNCj4+Pj4+IC0gIFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgYSBtZWFucyBieSB3aGlj aCB0byBzZXQgYSB2YWx1ZSBmb3IgYSBnaXZlbiBQQ0QgdG9rZW4uDQo+Pj4+PiAtDQo+Pj4+PiAt ICBTZXRzIHRoZSAxNi1iaXQgdmFsdWUgZm9yIHRoZSB0b2tlbiBzcGVjaWZpZWQgYnkgVG9rZW5O dW1iZXINCj4+Pj4+IC0gIHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgVmFsdWUuICBWYWx1ZSBp cyByZXR1cm5lZC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIFRva2VuTnVtYmVyICAg VGhlIFBDRCB0b2tlbiBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1ZSBmb3IuDQo+Pj4+PiAt ICBAcGFyYW1baW5dICBWYWx1ZSAgICAgICAgIFRoZSAxNi1iaXQgdmFsdWUgdG8gc2V0Lg0KPj4+ Pj4gLQ0KPj4+Pj4gLSAgQHJldHVybiBSZXR1cm4gdGhlIFZhbHVlIHRoYXQgd2FzIHNldC4NCj4+ Pj4+IC0NCj4+Pj4+IC0qKi8NCj4+Pj4+IC1VSU5UMTYNCj4+Pj4+IC1FRklBUEkNCj4+Pj4+IC1M aWJQY2RTZXQxNiAoDQo+Pj4+PiAtICBJTiBVSU5UTiAgICAgICAgICAgICBUb2tlbk51bWJlciwN Cj4+Pj4+IC0gIElOIFVJTlQxNiAgICAgICAgICAgIFZhbHVlDQo+Pj4+PiAtICApOw0KPj4+Pj4g LQ0KPj4+Pj4gLQ0KPj4+Pj4gLS8qKg0KPj4+Pj4gLSAgVGhpcyBmdW5jdGlvbiBwcm92aWRlcyBh IG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVlIGZvciBhIGdpdmVuIFBDRCB0b2tlbi4NCj4+ Pj4+IC0NCj4+Pj4+IC0gIFNldHMgdGhlIDMyLWJpdCB2YWx1ZSBmb3IgdGhlIHRva2VuIHNwZWNp ZmllZCBieSBUb2tlbk51bWJlcg0KPj4+Pj4gLSAgdG8gdGhlIHZhbHVlIHNwZWNpZmllZCBieSBW YWx1ZS4gIFZhbHVlIGlzIHJldHVybmVkLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHBhcmFtW2luXSAg VG9rZW5OdW1iZXIgICBUaGUgUENEIHRva2VuIG51bWJlciB0byBzZXQgYSBjdXJyZW50IHZhbHVl IGZvci4NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIFZhbHVlICAgICAgICAgVGhlIDMyLWJpdCB2YWx1 ZSB0byBzZXQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcmV0dXJuIFJldHVybiB0aGUgVmFsdWUgdGhh dCB3YXMgc2V0Lg0KPj4+Pj4gLQ0KPj4+Pj4gLSoqLw0KPj4+Pj4gLVVJTlQzMg0KPj4+Pj4gLUVG SUFQSQ0KPj4+Pj4gLUxpYlBjZFNldDMyICgNCj4+Pj4+IC0gIElOIFVJTlROICAgICAgICAgICAg IFRva2VuTnVtYmVyLA0KPj4+Pj4gLSAgSU4gVUlOVDMyICAgICAgICAgICAgVmFsdWUNCj4+Pj4+ IC0gICk7DQo+Pj4+PiAtDQo+Pj4+PiAtDQo+Pj4+PiAtLyoqDQo+Pj4+PiAtICBUaGlzIGZ1bmN0 aW9uIHByb3ZpZGVzIGEgbWVhbnMgYnkgd2hpY2ggdG8gc2V0IGEgdmFsdWUgZm9yIGEgZ2l2ZW4g UENEIHRva2VuLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgU2V0cyB0aGUgNjQtYml0IHZhbHVlIGZvciB0 aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IFRva2VuTnVtYmVyDQo+Pj4+PiAtICB0byB0aGUgdmFsdWUg c3BlY2lmaWVkIGJ5IFZhbHVlLiAgVmFsdWUgaXMgcmV0dXJuZWQuDQo+Pj4+PiAtDQo+Pj4+PiAt ICBAcGFyYW1baW5dICBUb2tlbk51bWJlciAgIFRoZSBQQ0QgdG9rZW4gbnVtYmVyIHRvIHNldCBh IGN1cnJlbnQgdmFsdWUgZm9yLg0KPj4+Pj4gLSAgQHBhcmFtW2luXSAgVmFsdWUgICAgICAgICBU aGUgNjQtYml0IHZhbHVlIHRvIHNldC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEByZXR1cm4gUmV0dXJu IHRoZSBWYWx1ZSB0aGF0IHdhcyBzZXQuDQo+Pj4+PiAtDQo+Pj4+PiAtKiovDQo+Pj4+PiAtVUlO VDY0DQo+Pj4+PiAtRUZJQVBJDQo+Pj4+PiAtTGliUGNkU2V0NjQgKA0KPj4+Pj4gLSAgSU4gVUlO VE4gICAgICAgICAgICAgVG9rZW5OdW1iZXIsDQo+Pj4+PiAtICBJTiBVSU5UNjQgICAgICAgICAg ICBWYWx1ZQ0KPj4+Pj4gLSAgKTsNCj4+Pj4+IC0NCj4+Pj4+IC0NCj4+Pj4+IC0vKioNCj4+Pj4+ IC0gIFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgYSBtZWFucyBieSB3aGljaCB0byBzZXQgYSB2YWx1 ZSBmb3IgYSBnaXZlbiBQQ0QgdG9rZW4uDQo+Pj4+PiAtDQo+Pj4+PiAtICBTZXRzIGEgYnVmZmVy IGZvciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IFRva2VuTnVtYmVyIHRvIHRoZSB2YWx1ZQ0KPj4+ Pj4gLSAgc3BlY2lmaWVkIGJ5IEJ1ZmZlciBhbmQgU2l6ZU9mQnVmZmVyLiAgQnVmZmVyIGlzIHJl dHVybmVkLg0KPj4+Pj4gLSAgSWYgU2l6ZU9mQnVmZmVyIGlzIGdyZWF0ZXIgdGhhbiB0aGUgbWF4 aW11bSBzaXplIHN1cHBvcnQgYnkgVG9rZW5OdW1iZXIsDQo+Pj4+PiAtICB0aGVuIHNldCBTaXpl T2ZCdWZmZXIgdG8gdGhlIG1heGltdW0gc2l6ZSBzdXBwb3J0ZWQgYnkgVG9rZW5OdW1iZXIgYW5k DQo+Pj4+PiAtICByZXR1cm4gTlVMTCB0byBpbmRpY2F0ZSB0aGF0IHRoZSBzZXQgb3BlcmF0aW9u IHdhcyBub3QgYWN0dWFsbHkgcGVyZm9ybWVkLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgSWYgU2l6ZU9m QnVmZmVyIGlzIHNldCB0byBNQVhfQUREUkVTUywgdGhlbiBTaXplT2ZCdWZmZXIgbXVzdCBiZSBz ZXQgdG8gdGhlDQo+Pj4+PiAtICBtYXhpbXVtIHNpemUgc3VwcG9ydGVkIGJ5IFRva2VuTmFtZSBh bmQgTlVMTCBtdXN0IGJlIHJldHVybmVkLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgSWYgU2l6ZU9mQnVm ZmVyIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJZiBTaXplT2ZCdWZmZXIgPiAw IGFuZCBCdWZmZXIgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEBw YXJhbVtpbl0gICAgICBUb2tlbk51bWJlciAgIFRoZSBQQ0QgdG9rZW4gbnVtYmVyIHRvIHNldCBh IGN1cnJlbnQgdmFsdWUgZm9yLg0KPj4+Pj4gLSAgQHBhcmFtW2luLCBvdXRdIFNpemVPZkJ1ZmZl ciAgVGhlIHNpemUsIGluIGJ5dGVzLCBvZiBCdWZmZXIuDQo+Pj4+PiAtICBAcGFyYW1baW5dICAg ICAgQnVmZmVyICAgICAgICBBIHBvaW50ZXIgdG8gdGhlIGJ1ZmZlciB0byBzZXQuDQo+Pj4+PiAt DQo+Pj4+PiAtICBAcmV0dXJuIFJldHVybiB0aGUgcG9pbnRlciBmb3IgdGhlIEJ1ZmZlciB0aGF0 IHdhcyBzZXQuDQo+Pj4+PiAtDQo+Pj4+PiAtKiovDQo+Pj4+PiAtVk9JRCAqDQo+Pj4+PiAtRUZJ QVBJDQo+Pj4+PiAtTGliUGNkU2V0UHRyICgNCj4+Pj4+IC0gIElOICAgICAgICBVSU5UTiAgICAg ICAgICAgICBUb2tlbk51bWJlciwNCj4+Pj4+IC0gIElOIE9VVCAgICBVSU5UTiAgICAgICAgICAg ICAqU2l6ZU9mQnVmZmVyLA0KPj4+Pj4gLSAgSU4gQ09OU1QgIFZPSUQgICAgICAgICAgICAgICpC dWZmZXINCj4+Pj4+IC0gICk7DQo+Pj4+PiAtDQo+Pj4+PiAtDQo+Pj4+PiAtLyoqDQo+Pj4+PiAt ICBUaGlzIGZ1bmN0aW9uIHByb3ZpZGVzIGEgbWVhbnMgYnkgd2hpY2ggdG8gc2V0IGEgdmFsdWUg Zm9yIGEgZ2l2ZW4gUENEIHRva2VuLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgU2V0cyB0aGUgQm9vbGVh biB2YWx1ZSBmb3IgdGhlIHRva2VuIHNwZWNpZmllZCBieSBUb2tlbk51bWJlcg0KPj4+Pj4gLSAg dG8gdGhlIHZhbHVlIHNwZWNpZmllZCBieSBWYWx1ZS4gIFZhbHVlIGlzIHJldHVybmVkLg0KPj4+ Pj4gLQ0KPj4+Pj4gLSAgQHBhcmFtW2luXSAgVG9rZW5OdW1iZXIgICBUaGUgUENEIHRva2VuIG51 bWJlciB0byBzZXQgYSBjdXJyZW50IHZhbHVlIGZvci4NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIFZh bHVlICAgICAgICAgVGhlIGJvb2xlYW4gdmFsdWUgdG8gc2V0Lg0KPj4+Pj4gLQ0KPj4+Pj4gLSAg QHJldHVybiBSZXR1cm4gdGhlIFZhbHVlIHRoYXQgd2FzIHNldC4NCj4+Pj4+IC0NCj4+Pj4+IC0q Ki8NCj4+Pj4+IC1CT09MRUFODQo+Pj4+PiAtRUZJQVBJDQo+Pj4+PiAtTGliUGNkU2V0Qm9vbCAo DQo+Pj4+PiAtICBJTiBVSU5UTiAgICAgICAgICAgICBUb2tlbk51bWJlciwNCj4+Pj4+IC0gIElO IEJPT0xFQU4gICAgICAgICAgIFZhbHVlDQo+Pj4+PiAtICApOw0KPj4+Pj4gLQ0KPj4+Pj4gLQ0K Pj4+Pj4gLS8qKg0KPj4+Pj4gLSAgVGhpcyBmdW5jdGlvbiBwcm92aWRlcyBhIG1lYW5zIGJ5IHdo aWNoIHRvIHNldCBhIHZhbHVlIGZvciBhIGdpdmVuIFBDRCB0b2tlbi4NCj4+Pj4+IC0NCj4+Pj4+ IC0gIFNldHMgdGhlIDgtYml0IHZhbHVlIGZvciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IFRva2Vu TnVtYmVyIGFuZA0KPj4+Pj4gLSAgR3VpZCB0byB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IFZhbHVl LiBWYWx1ZSBpcyByZXR1cm5lZC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIElmIEd1aWQgaXMgTlVMTCwg dGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIEd1aWQgICAgICAg ICAgUG9pbnRlciB0byBhIDEyOC1iaXQgdW5pcXVlIHZhbHVlIHRoYXQNCj4+Pj4+IC0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgZGVzaWduYXRlcyB3aGljaCBuYW1lc3BhY2UgdG8gc2V0IGEg dmFsdWUgZnJvbS4NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIFRva2VuTnVtYmVyICAgVGhlIFBDRCB0 b2tlbiBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1ZSBmb3IuDQo+Pj4+PiAtICBAcGFyYW1b aW5dICBWYWx1ZSAgICAgICAgIFRoZSA4LWJpdCB2YWx1ZSB0byBzZXQuDQo+Pj4+PiAtDQo+Pj4+ PiAtICBAcmV0dXJuIFJldHVybiB0aGUgVmFsdWUgdGhhdCB3YXMgc2V0Lg0KPj4+Pj4gLQ0KPj4+ Pj4gLSoqLw0KPj4+Pj4gLVVJTlQ4DQo+Pj4+PiAtRUZJQVBJDQo+Pj4+PiAtTGliUGNkU2V0RXg4 ICgNCj4+Pj4+IC0gIElOIENPTlNUIEdVSUQgICAgICAgICpHdWlkLA0KPj4+Pj4gLSAgSU4gVUlO VE4gICAgICAgICAgICAgVG9rZW5OdW1iZXIsDQo+Pj4+PiAtICBJTiBVSU5UOCAgICAgICAgICAg ICBWYWx1ZQ0KPj4+Pj4gLSAgKTsNCj4+Pj4+IC0NCj4+Pj4+IC0NCj4+Pj4+IC0vKioNCj4+Pj4+ IC0gIFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgYSBtZWFucyBieSB3aGljaCB0byBzZXQgYSB2YWx1 ZSBmb3IgYSBnaXZlbiBQQ0QgdG9rZW4uDQo+Pj4+PiAtDQo+Pj4+PiAtICBTZXRzIHRoZSAxNi1i aXQgdmFsdWUgZm9yIHRoZSB0b2tlbiBzcGVjaWZpZWQgYnkgVG9rZW5OdW1iZXIgYW5kDQo+Pj4+ PiAtICBHdWlkIHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgVmFsdWUuIFZhbHVlIGlzIHJldHVy bmVkLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgSWYgR3VpZCBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLg0K Pj4+Pj4gLQ0KPj4+Pj4gLSAgQHBhcmFtW2luXSAgR3VpZCAgICAgICAgICBQb2ludGVyIHRvIGEg MTI4LWJpdCB1bmlxdWUgdmFsdWUgdGhhdA0KPj4+Pj4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICBkZXNpZ25hdGVzIHdoaWNoIG5hbWVzcGFjZSB0byBzZXQgYSB2YWx1ZSBmcm9tLg0KPj4+ Pj4gLSAgQHBhcmFtW2luXSAgVG9rZW5OdW1iZXIgICBUaGUgUENEIHRva2VuIG51bWJlciB0byBz ZXQgYSBjdXJyZW50IHZhbHVlIGZvci4NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIFZhbHVlICAgICAg ICAgVGhlIDE2LWJpdCB2YWx1ZSB0byBzZXQuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcmV0dXJuIFJl dHVybiB0aGUgVmFsdWUgdGhhdCB3YXMgc2V0Lg0KPj4+Pj4gLQ0KPj4+Pj4gLSoqLw0KPj4+Pj4g LVVJTlQxNg0KPj4+Pj4gLUVGSUFQSQ0KPj4+Pj4gLUxpYlBjZFNldEV4MTYgKA0KPj4+Pj4gLSAg SU4gQ09OU1QgR1VJRCAgICAgICAgKkd1aWQsDQo+Pj4+PiAtICBJTiBVSU5UTiAgICAgICAgICAg ICBUb2tlbk51bWJlciwNCj4+Pj4+IC0gIElOIFVJTlQxNiAgICAgICAgICAgIFZhbHVlDQo+Pj4+ PiAtICApOw0KPj4+Pj4gLQ0KPj4+Pj4gLQ0KPj4+Pj4gLS8qKg0KPj4+Pj4gLSAgVGhpcyBmdW5j dGlvbiBwcm92aWRlcyBhIG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVlIGZvciBhIGdpdmVu IFBDRCB0b2tlbi4NCj4+Pj4+IC0NCj4+Pj4+IC0gIFNldHMgdGhlIDMyLWJpdCB2YWx1ZSBmb3Ig dGhlIHRva2VuIHNwZWNpZmllZCBieSBUb2tlbk51bWJlciBhbmQNCj4+Pj4+IC0gIEd1aWQgdG8g dGhlIHZhbHVlIHNwZWNpZmllZCBieSBWYWx1ZS4gVmFsdWUgaXMgcmV0dXJuZWQuDQo+Pj4+PiAt DQo+Pj4+PiAtICBJZiBHdWlkIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtDQo+Pj4+ PiAtICBAcGFyYW1baW5dICBHdWlkICAgICAgICAgIFBvaW50ZXIgdG8gYSAxMjgtYml0IHVuaXF1 ZSB2YWx1ZSB0aGF0DQo+Pj4+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2lnbmF0 ZXMgd2hpY2ggbmFtZXNwYWNlIHRvIHNldCBhIHZhbHVlIGZyb20uDQo+Pj4+PiAtICBAcGFyYW1b aW5dICBUb2tlbk51bWJlciAgIFRoZSBQQ0QgdG9rZW4gbnVtYmVyIHRvIHNldCBhIGN1cnJlbnQg dmFsdWUgZm9yLg0KPj4+Pj4gLSAgQHBhcmFtW2luXSAgVmFsdWUgICAgICAgICBUaGUgMzItYml0 IHZhbHVlIHRvIHNldC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEByZXR1cm4gUmV0dXJuIHRoZSBWYWx1 ZSB0aGF0IHdhcyBzZXQuDQo+Pj4+PiAtDQo+Pj4+PiAtKiovDQo+Pj4+PiAtVUlOVDMyDQo+Pj4+ PiAtRUZJQVBJDQo+Pj4+PiAtTGliUGNkU2V0RXgzMiAoDQo+Pj4+PiAtICBJTiBDT05TVCBHVUlE ICAgICAgICAqR3VpZCwNCj4+Pj4+IC0gIElOIFVJTlROICAgICAgICAgICAgIFRva2VuTnVtYmVy LA0KPj4+Pj4gLSAgSU4gVUlOVDMyICAgICAgICAgICAgVmFsdWUNCj4+Pj4+IC0gICk7DQo+Pj4+ PiAtDQo+Pj4+PiAtDQo+Pj4+PiAtLyoqDQo+Pj4+PiAtICBUaGlzIGZ1bmN0aW9uIHByb3ZpZGVz IGEgbWVhbnMgYnkgd2hpY2ggdG8gc2V0IGEgdmFsdWUgZm9yIGEgZ2l2ZW4gUENEIHRva2VuLg0K Pj4+Pj4gLQ0KPj4+Pj4gLSAgU2V0cyB0aGUgNjQtYml0IHZhbHVlIGZvciB0aGUgdG9rZW4gc3Bl Y2lmaWVkIGJ5IFRva2VuTnVtYmVyIGFuZA0KPj4+Pj4gLSAgR3VpZCB0byB0aGUgdmFsdWUgc3Bl Y2lmaWVkIGJ5IFZhbHVlLiBWYWx1ZSBpcyByZXR1cm5lZC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIElm IEd1aWQgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEBwYXJhbVtp bl0gIEd1aWQgICAgICAgICAgUG9pbnRlciB0byBhIDEyOC1iaXQgdW5pcXVlIHZhbHVlIHRoYXQN Cj4+Pj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzaWduYXRlcyB3aGljaCBuYW1l c3BhY2UgdG8gc2V0IGEgdmFsdWUgZnJvbS4NCj4+Pj4+IC0gIEBwYXJhbVtpbl0gIFRva2VuTnVt YmVyICAgVGhlIFBDRCB0b2tlbiBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1ZSBmb3IuDQo+ Pj4+PiAtICBAcGFyYW1baW5dICBWYWx1ZSAgICAgICAgIFRoZSA2NC1iaXQgdmFsdWUgdG8gc2V0 Lg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHJldHVybiBSZXR1cm4gdGhlIFZhbHVlIHRoYXQgd2FzIHNl dC4NCj4+Pj4+IC0NCj4+Pj4+IC0qKi8NCj4+Pj4+IC1VSU5UNjQNCj4+Pj4+IC1FRklBUEkNCj4+ Pj4+IC1MaWJQY2RTZXRFeDY0ICgNCj4+Pj4+IC0gIElOIENPTlNUIEdVSUQgICAgICAgICpHdWlk LA0KPj4+Pj4gLSAgSU4gVUlOVE4gICAgICAgICAgICAgVG9rZW5OdW1iZXIsDQo+Pj4+PiAtICBJ TiBVSU5UNjQgICAgICAgICAgICBWYWx1ZQ0KPj4+Pj4gLSAgKTsNCj4+Pj4+IC0NCj4+Pj4+IC0N Cj4+Pj4+IC0vKioNCj4+Pj4+IC0gIFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgYSBtZWFucyBieSB3 aGljaCB0byBzZXQgYSB2YWx1ZSBmb3IgYSBnaXZlbiBQQ0QgdG9rZW4uDQo+Pj4+PiAtDQo+Pj4+ PiAtICBTZXRzIGEgYnVmZmVyIGZvciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IFRva2VuTnVtYmVy IHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkNCj4+Pj4+IC0gIEJ1ZmZlciBhbmQgU2l6ZU9mQnVm ZmVyLiAgQnVmZmVyIGlzIHJldHVybmVkLiAgSWYgU2l6ZU9mQnVmZmVyIGlzIGdyZWF0ZXIgdGhh bg0KPj4+Pj4gLSAgdGhlIG1heGltdW0gc2l6ZSBzdXBwb3J0IGJ5IFRva2VuTnVtYmVyLCB0aGVu IHNldCBTaXplT2ZCdWZmZXIgdG8gdGhlIG1heGltdW0gc2l6ZQ0KPj4+Pj4gLSAgc3VwcG9ydGVk IGJ5IFRva2VuTnVtYmVyIGFuZCByZXR1cm4gTlVMTCB0byBpbmRpY2F0ZSB0aGF0IHRoZSBzZXQg b3BlcmF0aW9uDQo+Pj4+PiAtICB3YXMgbm90IGFjdHVhbGx5IHBlcmZvcm1lZC4NCj4+Pj4+IC0N Cj4+Pj4+IC0gIElmIEd1aWQgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIFNp emVPZkJ1ZmZlciBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgU2l6ZU9mQnVm ZmVyID4gMCBhbmQgQnVmZmVyIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtDQo+Pj4+ PiAtICBAcGFyYW1baW5dICBHdWlkICAgICAgICAgICAgICBQb2ludGVyIHRvIGEgMTI4LWJpdCB1 bmlxdWUgdmFsdWUgdGhhdA0KPj4+Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZGVzaWduYXRlcyB3aGljaCBuYW1lc3BhY2UgdG8gc2V0IGEgdmFsdWUgZnJvbS4NCj4+Pj4+IC0g IEBwYXJhbVtpbl0gIFRva2VuTnVtYmVyICAgICAgIFRoZSBQQ0QgdG9rZW4gbnVtYmVyIHRvIHNl dCBhIGN1cnJlbnQgdmFsdWUgZm9yLg0KPj4+Pj4gLSAgQHBhcmFtW2luLCBvdXRdIFNpemVPZkJ1 ZmZlciAgVGhlIHNpemUsIGluIGJ5dGVzLCBvZiBCdWZmZXIuDQo+Pj4+PiAtICBAcGFyYW1baW5d ICBCdWZmZXIgICAgICAgICAgICBBIHBvaW50ZXIgdG8gdGhlIGJ1ZmZlciB0byBzZXQuDQo+Pj4+ PiAtDQo+Pj4+PiAtICBAcmV0dXJuIFJldHVybiB0aGUgcG9pbnRlciB0byB0aGUgQnVmZmVyIHRo YXQgd2FzIHNldC4NCj4+Pj4+IC0NCj4+Pj4+IC0qKi8NCj4+Pj4+IC1WT0lEICoNCj4+Pj4+IC1F RklBUEkNCj4+Pj4+IC1MaWJQY2RTZXRFeFB0ciAoDQo+Pj4+PiAtICBJTiAgICAgIENPTlNUIEdV SUQgICAgICAgICpHdWlkLA0KPj4+Pj4gLSAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICBUb2tl bk51bWJlciwNCj4+Pj4+IC0gIElOIE9VVCAgVUlOVE4gICAgICAgICAgICAgKlNpemVPZkJ1ZmZl ciwNCj4+Pj4+IC0gIElOICAgICAgVk9JRCAgICAgICAgICAgICAgKkJ1ZmZlcg0KPj4+Pj4gLSAg KTsNCj4+Pj4+IC0NCj4+Pj4+IC0NCj4+Pj4+IC0vKioNCj4+Pj4+IC0gIFRoaXMgZnVuY3Rpb24g cHJvdmlkZXMgYSBtZWFucyBieSB3aGljaCB0byBzZXQgYSB2YWx1ZSBmb3IgYSBnaXZlbiBQQ0Qg dG9rZW4uDQo+Pj4+PiAtDQo+Pj4+PiAtICBTZXRzIHRoZSBCb29sZWFuIHZhbHVlIGZvciB0aGUg dG9rZW4gc3BlY2lmaWVkIGJ5IFRva2VuTnVtYmVyIGFuZA0KPj4+Pj4gLSAgR3VpZCB0byB0aGUg dmFsdWUgc3BlY2lmaWVkIGJ5IFZhbHVlLiBWYWx1ZSBpcyByZXR1cm5lZC4NCj4+Pj4+IC0NCj4+ Pj4+IC0gIElmIEd1aWQgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0NCj4+Pj4+IC0g IEBwYXJhbVtpbl0gIEd1aWQgICAgICAgICAgUG9pbnRlciB0byBhIDEyOC1iaXQgdW5pcXVlIHZh bHVlIHRoYXQNCj4+Pj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzaWduYXRlcyB3 aGljaCBuYW1lc3BhY2UgdG8gc2V0IGEgdmFsdWUgZnJvbS4NCj4+Pj4+IC0gIEBwYXJhbVtpbl0g IFRva2VuTnVtYmVyICAgVGhlIFBDRCB0b2tlbiBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1 ZSBmb3IuDQo+Pj4+PiAtICBAcGFyYW1baW5dICBWYWx1ZSAgICAgICAgIFRoZSBCb29sZWFuIHZh bHVlIHRvIHNldC4NCj4+Pj4+IC0NCj4+Pj4+IC0gIEByZXR1cm4gUmV0dXJuIHRoZSBWYWx1ZSB0 aGF0IHdhcyBzZXQuDQo+Pj4+PiAtDQo+Pj4+PiAtKiovDQo+Pj4+PiAtQk9PTEVBTg0KPj4+Pj4g LUVGSUFQSQ0KPj4+Pj4gLUxpYlBjZFNldEV4Qm9vbCAoDQo+Pj4+PiAtICBJTiBDT05TVCBHVUlE ICAgICAgICAqR3VpZCwNCj4+Pj4+IC0gIElOIFVJTlROICAgICAgICAgICAgIFRva2VuTnVtYmVy LA0KPj4+Pj4gLSAgSU4gQk9PTEVBTiAgICAgICAgICAgVmFsdWUNCj4+Pj4+IC0gICk7DQo+Pj4+ PiAtI2VuZGlmDQo+Pj4+PiAtDQo+Pj4+PiAgIC8qKg0KPj4+Pj4gICAgIFRoaXMgZnVuY3Rpb24g cHJvdmlkZXMgYSBtZWFucyBieSB3aGljaCB0byBzZXQgYSB2YWx1ZSBmb3IgYSBnaXZlbiBQQ0Qg dG9rZW4uDQo+Pj4+Pg0KPj4+Pj4gZGlmZiAtLWdpdCBhL01kZVBrZy9JbmNsdWRlL0xpYnJhcnkv UHJpbnRMaWIuaCBiL01kZVBrZy9JbmNsdWRlL0xpYnJhcnkvUHJpbnRMaWIuaA0KPj4+Pj4gaW5k ZXggZGZiY2QxYjM0MGJlLi4wYjM4ZGE2MDg0ZTEgMTAwNjQ0DQo+Pj4+PiAtLS0gYS9NZGVQa2cv SW5jbHVkZS9MaWJyYXJ5L1ByaW50TGliLmgNCj4+Pj4+ICsrKyBiL01kZVBrZy9JbmNsdWRlL0xp YnJhcnkvUHJpbnRMaWIuaA0KPj4+Pj4gQEAgLTQ4NSw2MiArNDg1LDYgQEAgVW5pY29kZVNQcmlu dEFzY2lpRm9ybWF0ICgNCj4+Pj4+ICAgICAuLi4NCj4+Pj4+ICAgICApOw0KPj4+Pj4NCj4+Pj4+ IC0jaWZuZGVmIERJU0FCTEVfTkVXX0RFUFJFQ0FURURfSU5URVJGQUNFUw0KPj4+Pj4gLQ0KPj4+ Pj4gLS8qKg0KPj4+Pj4gLSAgW0FUVEVOVElPTl0gVGhpcyBmdW5jdGlvbiBpcyBkZXByZWNhdGVk IGZvciBzZWN1cml0eSByZWFzb24uDQo+Pj4+PiAtDQo+Pj4+PiAtICBDb252ZXJ0cyBhIGRlY2lt YWwgdmFsdWUgdG8gYSBOdWxsLXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcuDQo+Pj4+PiAtDQo+ Pj4+PiAtICBDb252ZXJ0cyB0aGUgZGVjaW1hbCBudW1iZXIgc3BlY2lmaWVkIGJ5IFZhbHVlIHRv IGEgTnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUNCj4+Pj4+IC0gIHN0cmluZyBzcGVjaWZpZWQgYnkg QnVmZmVyIGNvbnRhaW5pbmcgYXQgbW9zdCBXaWR0aCBjaGFyYWN0ZXJzLiBObyBwYWRkaW5nIG9m IHNwYWNlcw0KPj4+Pj4gLSAgaXMgZXZlciBwZXJmb3JtZWQuIElmIFdpZHRoIGlzIDAgdGhlbiBh IHdpZHRoIG9mIE1BWElNVU1fVkFMVUVfQ0hBUkFDVEVSUyBpcyBhc3N1bWVkLg0KPj4+Pj4gLSAg VGhlIG51bWJlciBvZiBVbmljb2RlIGNoYXJhY3RlcnMgaW4gQnVmZmVyIGlzIHJldHVybmVkLCBu b3QgaW5jbHVkaW5nIHRoZSBOdWxsLXRlcm1pbmF0b3IuDQo+Pj4+PiAtICBJZiB0aGUgY29udmVy c2lvbiBjb250YWlucyBtb3JlIHRoYW4gV2lkdGggY2hhcmFjdGVycywgdGhlbiBvbmx5IHRoZSBm aXJzdA0KPj4+Pj4gLSAgV2lkdGggY2hhcmFjdGVycyBhcmUgcmV0dXJuZWQsIGFuZCB0aGUgdG90 YWwgbnVtYmVyIG9mIGNoYXJhY3RlcnMNCj4+Pj4+IC0gIHJlcXVpcmVkIHRvIHBlcmZvcm0gdGhl IGNvbnZlcnNpb24gaXMgcmV0dXJuZWQuDQo+Pj4+PiAtICBBZGRpdGlvbmFsIGNvbnZlcnNpb24g cGFyYW1ldGVycyBhcmUgc3BlY2lmaWVkIGluIEZsYWdzLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgVGhl IEZsYWdzIGJpdCBMRUZUX0pVU1RJRlkgaXMgYWx3YXlzIGlnbm9yZWQuDQo+Pj4+PiAtICBBbGwg Y29udmVyc2lvbnMgYXJlIGxlZnQganVzdGlmaWVkIGluIEJ1ZmZlci4NCj4+Pj4+IC0gIElmIFdp ZHRoIGlzIDAsIFBSRUZJWF9aRVJPIGlzIGlnbm9yZWQgaW4gRmxhZ3MuDQo+Pj4+PiAtICBJZiBD T01NQV9UWVBFIGlzIHNldCBpbiBGbGFncywgdGhlbiBQUkVGSVhfWkVSTyBpcyBpZ25vcmVkIGlu IEZsYWdzLCBhbmQgY29tbWFzDQo+Pj4+PiAtICBhcmUgaW5zZXJ0ZWQgZXZlcnkgM3JkIGRpZ2l0 IHN0YXJ0aW5nIGZyb20gdGhlIHJpZ2h0Lg0KPj4+Pj4gLSAgSWYgUkFESVhfSEVYIGlzIHNldCBp biBGbGFncywgdGhlbiB0aGUgb3V0cHV0IGJ1ZmZlciB3aWxsIGJlDQo+Pj4+PiAtICBmb3JtYXR0 ZWQgaW4gaGV4YWRlY2ltYWwgZm9ybWF0Lg0KPj4+Pj4gLSAgSWYgVmFsdWUgaXMgPCAwIGFuZCBS QURJWF9IRVggaXMgbm90IHNldCBpbiBGbGFncywgdGhlbiB0aGUgZmlzdCBjaGFyYWN0ZXIgaW4g QnVmZmVyIGlzIGEgJy0nLg0KPj4+Pj4gLSAgSWYgUFJFRklYX1pFUk8gaXMgc2V0IGluIEZsYWdz IGFuZCBQUkVGSVhfWkVSTyBpcyBub3QgYmVpbmcgaWdub3JlZCwNCj4+Pj4+IC0gIHRoZW4gQnVm ZmVyIGlzIHBhZGRlZCB3aXRoICcwJyBjaGFyYWN0ZXJzIHNvIHRoZSBjb21iaW5hdGlvbiBvZiB0 aGUgb3B0aW9uYWwgJy0nDQo+Pj4+PiAtICBzaWduIGNoYXJhY3RlciwgJzAnIGNoYXJhY3RlcnMs IGRpZ2l0IGNoYXJhY3RlcnMgZm9yIFZhbHVlLCBhbmQgdGhlIE51bGwtdGVybWluYXRvcg0KPj4+ Pj4gLSAgYWRkIHVwIHRvIFdpZHRoIGNoYXJhY3RlcnMuDQo+Pj4+PiAtICBJZiBib3RoIENPTU1B X1RZUEUgYW5kIFJBRElYX0hFWCBhcmUgc2V0IGluIEZsYWdzLCB0aGVuIEFTU0VSVCgpLg0KPj4+ Pj4gLSAgSWYgQnVmZmVyIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuDQo+Pj4+PiAtICBJZiBCdWZm ZXIgaXMgbm90IGFsaWduZWQgb24gYSAxNi1iaXQgYm91bmRhcnksIHRoZW4gQVNTRVJUKCkuDQo+ Pj4+PiAtICBJZiB1bnN1cHBvcnRlZCBiaXRzIGFyZSBzZXQgaW4gRmxhZ3MsIHRoZW4gQVNTRVJU KCkuDQo+Pj4+PiAtICBJZiBib3RoIENPTU1BX1RZUEUgYW5kIFJBRElYX0hFWCBhcmUgc2V0IGlu IEZsYWdzLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgV2lkdGggPj0gTUFYSU1VTV9WQUxV RV9DSEFSQUNURVJTLCB0aGVuIEFTU0VSVCgpDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcGFyYW0gIEJ1 ZmZlciAgVGhlIHBvaW50ZXIgdG8gdGhlIG91dHB1dCBidWZmZXIgZm9yIHRoZSBwcm9kdWNlZCBO dWxsLXRlcm1pbmF0ZWQNCj4+Pj4+IC0gICAgICAgICAgICAgICAgICBVbmljb2RlIHN0cmluZy4N Cj4+Pj4+IC0gIEBwYXJhbSAgRmxhZ3MgICBUaGUgYml0bWFzayBvZiBmbGFncyB0aGF0IHNwZWNp ZnkgbGVmdCBqdXN0aWZpY2F0aW9uLCB6ZXJvIHBhZCwgYW5kIGNvbW1hcy4NCj4+Pj4+IC0gIEBw YXJhbSAgVmFsdWUgICBUaGUgNjQtYml0IHNpZ25lZCB2YWx1ZSB0byBjb252ZXJ0IHRvIGEgc3Ry aW5nLg0KPj4+Pj4gLSAgQHBhcmFtICBXaWR0aCAgIFRoZSBtYXhpbXVtIG51bWJlciBvZiBVbmlj b2RlIGNoYXJhY3RlcnMgdG8gcGxhY2UgaW4gQnVmZmVyLCBub3QgaW5jbHVkaW5nDQo+Pj4+PiAt ICAgICAgICAgICAgICAgICAgdGhlIE51bGwtdGVybWluYXRvci4NCj4+Pj4+IC0NCj4+Pj4+IC0g IEByZXR1cm4gVGhlIG51bWJlciBvZiBVbmljb2RlIGNoYXJhY3RlcnMgaW4gQnVmZmVyLCBub3Qg aW5jbHVkaW5nIHRoZSBOdWxsLXRlcm1pbmF0b3IuDQo+Pj4+PiAtDQo+Pj4+PiAtKiovDQo+Pj4+ PiAtVUlOVE4NCj4+Pj4+IC1FRklBUEkNCj4+Pj4+IC1Vbmljb2RlVmFsdWVUb1N0cmluZyAoDQo+ Pj4+PiAtICBJTiBPVVQgQ0hBUjE2ICAqQnVmZmVyLA0KPj4+Pj4gLSAgSU4gVUlOVE4gICAgICAg RmxhZ3MsDQo+Pj4+PiAtICBJTiBJTlQ2NCAgICAgICBWYWx1ZSwNCj4+Pj4+IC0gIElOIFVJTlRO ICAgICAgIFdpZHRoDQo+Pj4+PiAtICApOw0KPj4+Pj4gLQ0KPj4+Pj4gLSNlbmRpZg0KPj4+Pj4g LQ0KPj4+Pj4gICAvKioNCj4+Pj4+ICAgICBDb252ZXJ0cyBhIGRlY2ltYWwgdmFsdWUgdG8gYSBO dWxsLXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcuDQo+Pj4+Pg0KPj4+Pj4gQEAgLTg4Miw2MCAr ODI2LDYgQEAgQXNjaWlTUHJpbnRVbmljb2RlRm9ybWF0ICgNCj4+Pj4+ICAgICAuLi4NCj4+Pj4+ ICAgICApOw0KPj4+Pj4NCj4+Pj4+IC0jaWZuZGVmIERJU0FCTEVfTkVXX0RFUFJFQ0FURURfSU5U RVJGQUNFUw0KPj4+Pj4gLQ0KPj4+Pj4gLS8qKg0KPj4+Pj4gLSAgW0FUVEVOVElPTl0gVGhpcyBm dW5jdGlvbiBpcyBkZXByZWNhdGVkIGZvciBzZWN1cml0eSByZWFzb24uDQo+Pj4+PiAtDQo+Pj4+ PiAtICBDb252ZXJ0cyBhIGRlY2ltYWwgdmFsdWUgdG8gYSBOdWxsLXRlcm1pbmF0ZWQgQVNDSUkg c3RyaW5nLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQ29udmVydHMgdGhlIGRlY2ltYWwgbnVtYmVyIHNw ZWNpZmllZCBieSBWYWx1ZSB0byBhIE51bGwtdGVybWluYXRlZCBBU0NJSSBzdHJpbmcNCj4+Pj4+ IC0gIHNwZWNpZmllZCBieSBCdWZmZXIgY29udGFpbmluZyBhdCBtb3N0IFdpZHRoIGNoYXJhY3Rl cnMuIE5vIHBhZGRpbmcgb2Ygc3BhY2VzDQo+Pj4+PiAtICBpcyBldmVyIHBlcmZvcm1lZC4NCj4+ Pj4+IC0gIElmIFdpZHRoIGlzIDAgdGhlbiBhIHdpZHRoIG9mICBNQVhJTVVNX1ZBTFVFX0NIQVJB Q1RFUlMgaXMgYXNzdW1lZC4NCj4+Pj4+IC0gIFRoZSBudW1iZXIgb2YgQVNDSUkgY2hhcmFjdGVy cyBpbiBCdWZmZXIgaXMgcmV0dXJuZWQsIG5vdCBpbmNsdWRpbmcgdGhlIE51bGwtdGVybWluYXRv ci4NCj4+Pj4+IC0gIElmIHRoZSBjb252ZXJzaW9uIGNvbnRhaW5zIG1vcmUgdGhhbiBXaWR0aCBj aGFyYWN0ZXJzLCB0aGVuIG9ubHkgdGhlIGZpcnN0IFdpZHRoDQo+Pj4+PiAtICBjaGFyYWN0ZXJz IGFyZSByZXR1cm5lZCwgYW5kIHRoZSB0b3RhbCBudW1iZXIgb2YgY2hhcmFjdGVycyByZXF1aXJl ZCB0byBwZXJmb3JtDQo+Pj4+PiAtICB0aGUgY29udmVyc2lvbiBpcyByZXR1cm5lZC4NCj4+Pj4+ IC0gIEFkZGl0aW9uYWwgY29udmVyc2lvbiBwYXJhbWV0ZXJzIGFyZSBzcGVjaWZpZWQgaW4gRmxh Z3MuDQo+Pj4+PiAtICBUaGUgRmxhZ3MgYml0IExFRlRfSlVTVElGWSBpcyBhbHdheXMgaWdub3Jl ZC4NCj4+Pj4+IC0gIEFsbCBjb252ZXJzaW9ucyBhcmUgbGVmdCBqdXN0aWZpZWQgaW4gQnVmZmVy Lg0KPj4+Pj4gLSAgSWYgV2lkdGggaXMgMCwgUFJFRklYX1pFUk8gaXMgaWdub3JlZCBpbiBGbGFn cy4NCj4+Pj4+IC0gIElmIENPTU1BX1RZUEUgaXMgc2V0IGluIEZsYWdzLCB0aGVuIFBSRUZJWF9a RVJPIGlzIGlnbm9yZWQgaW4gRmxhZ3MsIGFuZCBjb21tYXMNCj4+Pj4+IC0gIGFyZSBpbnNlcnRl ZCBldmVyeSAzcmQgZGlnaXQgc3RhcnRpbmcgZnJvbSB0aGUgcmlnaHQuDQo+Pj4+PiAtICBJZiBS QURJWF9IRVggaXMgc2V0IGluIEZsYWdzLCB0aGVuIHRoZSBvdXRwdXQgYnVmZmVyIHdpbGwgYmUN Cj4+Pj4+IC0gIGZvcm1hdHRlZCBpbiBoZXhhZGVjaW1hbCBmb3JtYXQuDQo+Pj4+PiAtICBJZiBW YWx1ZSBpcyA8IDAgYW5kIFJBRElYX0hFWCBpcyBub3Qgc2V0IGluIEZsYWdzLCB0aGVuIHRoZSBm aXN0IGNoYXJhY3RlciBpbiBCdWZmZXIgaXMgYSAnLScuDQo+Pj4+PiAtICBJZiBQUkVGSVhfWkVS TyBpcyBzZXQgaW4gRmxhZ3MgYW5kIFBSRUZJWF9aRVJPIGlzIG5vdCBiZWluZyBpZ25vcmVkLA0K Pj4+Pj4gLSAgdGhlbiBCdWZmZXIgaXMgcGFkZGVkIHdpdGggJzAnIGNoYXJhY3RlcnMgc28gdGhl IGNvbWJpbmF0aW9uIG9mIHRoZSBvcHRpb25hbCAnLScNCj4+Pj4+IC0gIHNpZ24gY2hhcmFjdGVy LCAnMCcgY2hhcmFjdGVycywgZGlnaXQgY2hhcmFjdGVycyBmb3IgVmFsdWUsIGFuZCB0aGUgTnVs bC10ZXJtaW5hdG9yDQo+Pj4+PiAtICBhZGQgdXAgdG8gV2lkdGggY2hhcmFjdGVycy4NCj4+Pj4+ IC0NCj4+Pj4+IC0gIElmIEJ1ZmZlciBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAg SWYgdW5zdXBwb3J0ZWQgYml0cyBhcmUgc2V0IGluIEZsYWdzLCB0aGVuIEFTU0VSVCgpLg0KPj4+ Pj4gLSAgSWYgYm90aCBDT01NQV9UWVBFIGFuZCBSQURJWF9IRVggYXJlIHNldCBpbiBGbGFncywg dGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0gIElmIFdpZHRoID49IE1BWElNVU1fVkFMVUVfQ0hBUkFD VEVSUywgdGhlbiBBU1NFUlQoKQ0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHBhcmFtICBCdWZmZXIgIEEg cG9pbnRlciB0byB0aGUgb3V0cHV0IGJ1ZmZlciBmb3IgdGhlIHByb2R1Y2VkIE51bGwtdGVybWlu YXRlZA0KPj4+Pj4gLSAgICAgICAgICAgICAgICAgIEFTQ0lJIHN0cmluZy4NCj4+Pj4+IC0gIEBw YXJhbSAgRmxhZ3MgICBUaGUgYml0bWFzayBvZiBmbGFncyB0aGF0IHNwZWNpZnkgbGVmdCBqdXN0 aWZpY2F0aW9uLCB6ZXJvIHBhZCwgYW5kIGNvbW1hcy4NCj4+Pj4+IC0gIEBwYXJhbSAgVmFsdWUg ICBUaGUgNjQtYml0IHNpZ25lZCB2YWx1ZSB0byBjb252ZXJ0IHRvIGEgc3RyaW5nLg0KPj4+Pj4g LSAgQHBhcmFtICBXaWR0aCAgIFRoZSBtYXhpbXVtIG51bWJlciBvZiBBU0NJSSBjaGFyYWN0ZXJz IHRvIHBsYWNlIGluIEJ1ZmZlciwgbm90IGluY2x1ZGluZw0KPj4+Pj4gLSAgICAgICAgICAgICAg ICAgIHRoZSBOdWxsLXRlcm1pbmF0b3IuDQo+Pj4+PiAtDQo+Pj4+PiAtICBAcmV0dXJuIFRoZSBu dW1iZXIgb2YgQVNDSUkgY2hhcmFjdGVycyBpbiBCdWZmZXIsIG5vdCBpbmNsdWRpbmcgdGhlIE51 bGwtdGVybWluYXRvci4NCj4+Pj4+IC0NCj4+Pj4+IC0qKi8NCj4+Pj4+IC1VSU5UTg0KPj4+Pj4g LUVGSUFQSQ0KPj4+Pj4gLUFzY2lpVmFsdWVUb1N0cmluZyAoDQo+Pj4+PiAtICBPVVQgQ0hBUjgg ICAgICAqQnVmZmVyLA0KPj4+Pj4gLSAgSU4gIFVJTlROICAgICAgRmxhZ3MsDQo+Pj4+PiAtICBJ TiAgSU5UNjQgICAgICBWYWx1ZSwNCj4+Pj4+IC0gIElOICBVSU5UTiAgICAgIFdpZHRoDQo+Pj4+ PiAtICApOw0KPj4+Pj4gLQ0KPj4+Pj4gLSNlbmRpZg0KPj4+Pj4NCj4+Pj4+ICAgLyoqDQo+Pj4+ PiAgICAgQ29udmVydHMgYSBkZWNpbWFsIHZhbHVlIHRvIGEgTnVsbC10ZXJtaW5hdGVkIEFzY2lp IHN0cmluZy4NCj4+Pj4+IGRpZmYgLS1naXQgYS9NZGVQa2cvSW5jbHVkZS9MaWJyYXJ5L1VlZmlM aWIuaCBiL01kZVBrZy9JbmNsdWRlL0xpYnJhcnkvVWVmaUxpYi5oDQo+Pj4+PiBpbmRleCAwYWJi NDBkNmVjYmQuLmY1NmZmZGUxMjMwZSAxMDA2NDQNCj4+Pj4+IC0tLSBhL01kZVBrZy9JbmNsdWRl L0xpYnJhcnkvVWVmaUxpYi5oDQo+Pj4+PiArKysgYi9NZGVQa2cvSW5jbHVkZS9MaWJyYXJ5L1Vl ZmlMaWIuaA0KPj4+Pj4gQEAgLTY4MCw1OSArNjgwLDYgQEAgRnJlZVVuaWNvZGVTdHJpbmdUYWJs ZSAoDQo+Pj4+PiAgICAgSU4gRUZJX1VOSUNPREVfU1RSSU5HX1RBQkxFICAqVW5pY29kZVN0cmlu Z1RhYmxlDQo+Pj4+PiAgICAgKTsNCj4+Pj4+DQo+Pj4+PiAtI2lmbmRlZiBESVNBQkxFX05FV19E RVBSRUNBVEVEX0lOVEVSRkFDRVMNCj4+Pj4+IC0NCj4+Pj4+IC0vKioNCj4+Pj4+IC0gIFtBVFRF TlRJT05dIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSBkZXByZWNhdGVkIGZvciBzZWN1cml0eSByZWFz b24uDQo+Pj4+PiAtDQo+Pj4+PiAtICBSZXR1cm5zIGEgcG9pbnRlciB0byBhbiBhbGxvY2F0ZWQg YnVmZmVyIHRoYXQgY29udGFpbnMgdGhlIGNvbnRlbnRzIG9mIGENCj4+Pj4+IC0gIHZhcmlhYmxl IHJldHJpZXZlZCB0aHJvdWdoIHRoZSBVRUZJIFJ1bnRpbWUgU2VydmljZSBHZXRWYXJpYWJsZSgp LiAgVGhlDQo+Pj4+PiAtICByZXR1cm5lZCBidWZmZXIgaXMgYWxsb2NhdGVkIHVzaW5nIEFsbG9j YXRlUG9vbCgpLiAgVGhlIGNhbGxlciBpcyByZXNwb25zaWJsZQ0KPj4+Pj4gLSAgZm9yIGZyZWVp bmcgdGhpcyBidWZmZXIgd2l0aCBGcmVlUG9vbCgpLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgSWYgTmFt ZSBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLg0KPj4+Pj4gLSAgSWYgR3VpZCBpcyBOVUxMLCB0aGVu IEFTU0VSVCgpLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHBhcmFtW2luXSAgTmFtZSAgVGhlIHBvaW50 ZXIgdG8gYSBOdWxsLXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcuDQo+Pj4+PiAtICBAcGFyYW1b aW5dICBHdWlkICBUaGUgcG9pbnRlciB0byBhbiBFRklfR1VJRCBzdHJ1Y3R1cmUuDQo+Pj4+PiAt DQo+Pj4+PiAtICBAcmV0dmFsIE5VTEwgICBUaGUgdmFyaWFibGUgY291bGQgbm90IGJlIHJldHJp ZXZlZC4NCj4+Pj4+IC0gIEByZXR2YWwgTlVMTCAgIFRoZXJlIGFyZSBub3QgZW5vdWdoIHJlc291 cmNlcyBhdmFpbGFibGUgZm9yIHRoZSB2YXJpYWJsZSBjb250ZW50cy4NCj4+Pj4+IC0gIEByZXR2 YWwgT3RoZXIgIEEgcG9pbnRlciB0byBhbGxvY2F0ZWQgYnVmZmVyIGNvbnRhaW5pbmcgdGhlIHZh cmlhYmxlIGNvbnRlbnRzLg0KPj4+Pj4gLQ0KPj4+Pj4gLSoqLw0KPj4+Pj4gLVZPSUQgKg0KPj4+ Pj4gLUVGSUFQSQ0KPj4+Pj4gLUdldFZhcmlhYmxlICgNCj4+Pj4+IC0gIElOIENPTlNUIENIQVIx NiAgICAqTmFtZSwNCj4+Pj4+IC0gIElOIENPTlNUIEVGSV9HVUlEICAqR3VpZA0KPj4+Pj4gLSAg KTsNCj4+Pj4+IC0NCj4+Pj4+IC0vKioNCj4+Pj4+IC0gIFtBVFRFTlRJT05dIFRoaXMgZnVuY3Rp b24gd2lsbCBiZSBkZXByZWNhdGVkIGZvciBzZWN1cml0eSByZWFzb24uDQo+Pj4+PiAtDQo+Pj4+ PiAtICBSZXR1cm5zIGEgcG9pbnRlciB0byBhbiBhbGxvY2F0ZWQgYnVmZmVyIHRoYXQgY29udGFp bnMgdGhlIGNvbnRlbnRzIG9mIGENCj4+Pj4+IC0gIHZhcmlhYmxlIHJldHJpZXZlZCB0aHJvdWdo IHRoZSBVRUZJIFJ1bnRpbWUgU2VydmljZSBHZXRWYXJpYWJsZSgpLiAgVGhpcw0KPj4+Pj4gLSAg ZnVuY3Rpb24gYWx3YXlzIHVzZXMgdGhlIEVGSV9HTE9CQUxfVkFSSUFCTEUgR1VJRCB0byByZXRy aWV2ZSB2YXJpYWJsZXMuDQo+Pj4+PiAtICBUaGUgcmV0dXJuZWQgYnVmZmVyIGlzIGFsbG9jYXRl ZCB1c2luZyBBbGxvY2F0ZVBvb2woKS4gIFRoZSBjYWxsZXIgaXMNCj4+Pj4+IC0gIHJlc3BvbnNp YmxlIGZvciBmcmVlaW5nIHRoaXMgYnVmZmVyIHdpdGggRnJlZVBvb2woKS4NCj4+Pj4+IC0NCj4+ Pj4+IC0gIElmIE5hbWUgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4+Pj4+IC0NCj4+Pj4+IC0g IEBwYXJhbVtpbl0gIE5hbWUgIFRoZSBwb2ludGVyIHRvIGEgTnVsbC10ZXJtaW5hdGVkIFVuaWNv ZGUgc3RyaW5nLg0KPj4+Pj4gLQ0KPj4+Pj4gLSAgQHJldHZhbCBOVUxMICAgVGhlIHZhcmlhYmxl IGNvdWxkIG5vdCBiZSByZXRyaWV2ZWQuDQo+Pj4+PiAtICBAcmV0dmFsIE5VTEwgICBUaGVyZSBh cmUgbm90IGVub3VnaCByZXNvdXJjZXMgYXZhaWxhYmxlIGZvciB0aGUgdmFyaWFibGUgY29udGVu dHMuDQo+Pj4+PiAtICBAcmV0dmFsIE90aGVyICBBIHBvaW50ZXIgdG8gYWxsb2NhdGVkIGJ1ZmZl ciBjb250YWluaW5nIHRoZSB2YXJpYWJsZSBjb250ZW50cy4NCj4+Pj4+IC0NCj4+Pj4+IC0qKi8N Cj4+Pj4+IC1WT0lEICoNCj4+Pj4+IC1FRklBUEkNCj4+Pj4+IC1HZXRFZmlHbG9iYWxWYXJpYWJs ZSAoDQo+Pj4+PiAtICBJTiBDT05TVCBDSEFSMTYgICpOYW1lDQo+Pj4+PiAtICApOw0KPj4+Pj4g LSNlbmRpZg0KPj4+Pj4gLQ0KPj4+Pj4NCj4+Pj4+ICAgLyoqDQo+Pj4+PiAgICAgUmV0dXJucyB0 aGUgc3RhdHVzIHdoZXRoZXIgZ2V0IHRoZSB2YXJpYWJsZSBzdWNjZXNzLiBUaGUgZnVuY3Rpb24g cmV0cmlldmVzDQo+Pj4+PiBkaWZmIC0tZ2l0IGEvTWRlUGtnL01kZVBrZy5kc2MgYi9NZGVQa2cv TWRlUGtnLmRzYw0KPj4+Pj4gaW5kZXggNmNkMzhlN2VjM2M5Li4wNDc3ZTAyMDUxODggMTAwNjQ0 DQo+Pj4+PiAtLS0gYS9NZGVQa2cvTWRlUGtnLmRzYw0KPj4+Pj4gKysrIGIvTWRlUGtnL01kZVBr Zy5kc2MNCj4+Pj4+IEBAIC0xNzIsNCArMTcyLDMgQEAgW0NvbXBvbmVudHMuQVJNLCBDb21wb25l bnRzLkFBUkNINjRdDQo+Pj4+PiAgICAgTWRlUGtnL0xpYnJhcnkvQmFzZVN0YWNrQ2hlY2tMaWIv QmFzZVN0YWNrQ2hlY2tMaWIuaW5mDQo+Pj4+Pg0KPj4+Pj4gICBbQnVpbGRPcHRpb25zXQ0KPj4+ Pj4gLSAgKl8qXypfQ0NfRkxBR1MgPSAtRCBESVNBQkxFX05FV19ERVBSRUNBVEVEX0lOVEVSRkFD RVMNCj4+Pj4+IC0tDQo+Pj4+PiAyLjE4LjAud2luZG93cy4xDQo+Pj4+DQo+Pj4+DQo+Pj4+DQo+ Pj4+DQo+DQo+DQo+DQo+DQo+IA0KPg0KDQpJTVBPUlRBTlQgTk9USUNFOiBUaGUgY29udGVudHMg b2YgdGhpcyBlbWFpbCBhbmQgYW55IGF0dGFjaG1lbnRzIGFyZSBjb25maWRlbnRpYWwgYW5kIG1h eSBhbHNvIGJlIHByaXZpbGVnZWQuIElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRlZCByZWNpcGll bnQsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBpbW1lZGlhdGVseSBhbmQgZG8gbm90IGRpc2Ns b3NlIHRoZSBjb250ZW50cyB0byBhbnkgb3RoZXIgcGVyc29uLCB1c2UgaXQgZm9yIGFueSBwdXJw b3NlLCBvciBzdG9yZSBvciBjb3B5IHRoZSBpbmZvcm1hdGlvbiBpbiBhbnkgbWVkaXVtLiBUaGFu ayB5b3UuDQo= --_000_DB7PR08MB3772E39C3A457CB00E3C701F884E0DB7PR08MB3772eurp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5Pg0KVGhlIHJlYXNvbiBQ Y2RTZXQjIyB3YXMgZGVwcmVjYXRlZCBpbiB0aGUgZmlyc3QgcGxhY2Ugd2FzIGJlY2F1c2UgaXQg Y2Fubm90IHNpZ25hbCBmYWlsdXJlLCB3aGVyZWFzIFBjZFNldCMjUyBjYW4uDQo8ZGl2Pg0KPGRp dj48YnI+DQo8L2Rpdj4NCjxkaXY+U28gcGxlYXNlIGZpeCB0aGUgYWZmZWN0ZWQgcGxhdGZvcm1z IGJ5IGNhcHR1cmluZyB0aGUgcmV0dXJuZWQgc3RhdHVzIHZhbHVlLCBhbmQgYXQgdGhlIHZlcnkg bGVhc3QsIHVzZSBBU1NFUlRfRUZJX0VSUk9SKCkgb24gaXQgc28gd2UgY2FuIHNwb3QgYW55IGZh aWx1cmVzIGluIERFQlVHIGJ1aWxkcy4gSnVzdCBzd2FwcGluZyBvdXQgb25lIGZvciB0aGUgb3Ro ZXIga2luZCBvZiBkZWZlYXRzIHRoZSBwdXJwb3NlLjwvZGl2Pg0KPGRpdj48YnI+DQo8L2Rpdj4N CjwvZGl2Pg0KPGhyIHN0eWxlPSJkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDo5OCUiIHRhYmlu ZGV4PSItMSI+DQo8ZGl2IGlkPSJkaXZScGx5RndkTXNnIiBkaXI9Imx0ciI+PGZvbnQgZmFjZT0i Q2FsaWJyaSwgc2Fucy1zZXJpZiIgc3R5bGU9ImZvbnQtc2l6ZToxMXB0IiBjb2xvcj0iIzAwMDAw MCI+PGI+RnJvbTo8L2I+IFBldGUgQmF0YXJkICZsdDtwZXRlQGFrZW8uaWUmZ3Q7PGJyPg0KPGI+ U2VudDo8L2I+IEZyaWRheSwgSnVseSAzMSwgMjAyMCAwOTo1Mzxicj4NCjxiPlRvOjwvYj4gZGV2 ZWxAZWRrMi5ncm91cHMuaW8gJmx0O2RldmVsQGVkazIuZ3JvdXBzLmlvJmd0OzsgbGltaW5nLmdh b0BpbnRlbC5jb20gJmx0O2xpbWluZy5nYW9AaW50ZWwuY29tJmd0OzsgbXdAc2VtaWhhbGYuY29t ICZsdDttd0BzZW1paGFsZi5jb20mZ3Q7OyBMZWlmIExpbmRob2xtICZsdDtsZWlmQG51dmlhaW5j LmNvbSZndDs8YnI+DQo8Yj5DYzo8L2I+IFpoYW5nLCBTaGVuZ2xlaSAmbHQ7c2hlbmdsZWkuemhh bmdAaW50ZWwuY29tJmd0OzsgQXJkIEJpZXNoZXV2ZWwgJmx0O0FyZC5CaWVzaGV1dmVsQGFybS5j b20mZ3Q7OyBLaW5uZXksIE1pY2hhZWwgRCAmbHQ7bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20m Z3Q7OyBNaW5nIEh1YW5nICZsdDtodWFuZ21pbmcyM0BodWF3ZWkuY29tJmd0Ozxicj4NCjxiPlN1 YmplY3Q6PC9iPiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSF0gTWRlUGtnOiBSZW1vdmUgY29kZSB3 cmFwcGVkIGJ5IERJU0FCTEVfTkVXX0RFUFJFQ0FURURfSU5URVJGQUNFUzwvZm9udD4NCjxkaXY+ Jm5ic3A7PC9kaXY+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9IkJvZHlGcmFnbWVudCI+PGZvbnQgc2l6 ZT0iMiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB0OyI+DQo8ZGl2IGNsYXNzPSJQbGFpblRl eHQiPkFsbCw8YnI+DQo8YnI+DQpGaXggZm9yIFJhc3BiZXJyeSBQaSBwbGF0Zm9ybXMgc3VibWl0 dGVkIGF0Ojxicj4NCjxhIGhyZWY9Imh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9tZXNz YWdlLzYzNTU0Ij5odHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS82MzU1NDwv YT48YnI+DQo8YnI+DQpSZWdhcmRzLDxicj4NCjxicj4NCi9QZXRlPGJyPg0KPGJyPg0KT24gMjAy MC4wNy4zMSAwMjo1NSwgTGltaW5nIEdhbyB3cm90ZTo8YnI+DQomZ3Q7IFRoYW5rcyBNYXJjaW4u PGJyPg0KJmd0OyA8YnI+DQomZ3Q7IExlaWY6PGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyBJ cyB0aGVyZSB0aGUgd2F5IHRvIGdldCB0aGUgZml4IHBsYW4gZnJvbSB0aGUgcGxhdGZvcm0gb3du ZXI/IElmIHNvLCBJIGNhbiB3b3JrIHRoZSBwbGFuIHRvIG1lcmdlIHRoaXMgY2hhbmdlLjxicj4N CiZndDsgPGJyPg0KJmd0OyBUaGFua3M8YnI+DQomZ3Q7IExpbWluZzxicj4NCiZndDsgLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS08YnI+DQomZ3Q7IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlv ICZsdDtkZXZlbEBlZGsyLmdyb3Vwcy5pbyZndDsgT24gQmVoYWxmIE9mIE1hcmNpbiBXb2p0YXM8 YnI+DQomZ3Q7IFNlbnQ6IDIwMjDlubQ35pyIMzHml6UgMDowOTxicj4NCiZndDsgVG86IExlaWYg TGluZGhvbG0gJmx0O2xlaWZAbnV2aWFpbmMuY29tJmd0Ozxicj4NCiZndDsgQ2M6IEdhbywgTGlt aW5nICZsdDtsaW1pbmcuZ2FvQGludGVsLmNvbSZndDs7IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBa aGFuZywgU2hlbmdsZWkgJmx0O3NoZW5nbGVpLnpoYW5nQGludGVsLmNvbSZndDs7IEFyZCBCaWVz aGV1dmVsICZsdDthcmQuYmllc2hldXZlbEBhcm0uY29tJmd0OzsgS2lubmV5LCBNaWNoYWVsIEQg Jmx0O21pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tJmd0OzsgTWluZyBIdWFuZyAmbHQ7aHVhbmdt aW5nMjNAaHVhd2VpLmNvbSZndDs7IFBldGUgQmF0YXJkICZsdDtwZXRlQGFrZW8uaWUmZ3Q7PGJy Pg0KJmd0OyBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSF0gTWRlUGtnOiBSZW1vdmUg Y29kZSB3cmFwcGVkIGJ5IERJU0FCTEVfTkVXX0RFUFJFQ0FURURfSU5URVJGQUNFUzxicj4NCiZn dDsgPGJyPg0KJmd0OyBIaSBMZWlmLDxicj4NCiZndDsgPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IMWb ci4sIDI5IGxpcCAyMDIwIG8gMTU6MzUgTGVpZiBMaW5kaG9sbSAmbHQ7bGVpZkBudXZpYWluYy5j b20mZ3Q7IG5hcGlzYcWCKGEpOjxicj4NCiZndDsmZ3Q7PGJyPg0KJmd0OyZndDsgUmlnaHQsIHNv IHRoZSBmb2xsb3dpbmcgcGxhdGZvcm1zIGJyZWFrIG9uY2UgdGhpcyBwYXRjaCBpcyBtZXJnZWQ6 PGJyPg0KJmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyAtIEFNRCBPdmVyZHJpdmUsIE92ZXJkcml2ZSAx MDAwLCBDZWxsbzxicj4NCiZndDsmZ3Q7IC0gSGlzaWxpY29uIEQwMywgRDA1LCBEMDYgKHNvbWUg b2YgdGhlc2UgZHVlIHRvIGJpbmFyeSBkcml2ZXJzIGluPGJyPg0KJmd0OyZndDsmbmJzcDsmbmJz cDsmbmJzcDsgZWRrMi1ub24tb3NpKTxicj4NCiZndDsmZ3Q7IC0gTWFydmVsbCBBcm1hZGEgNzh4 MC84MHgwLCBNYWNjaGlhdG9CSU48YnI+DQomZ3Q7IDxicj4NCiZndDsgRml4IGZvciBNYXJ2ZWxs IHBsYXRmb3JtcyBzdWJtaXR0ZWQ6PGJyPg0KJmd0OyA8YSBocmVmPSJodHRwczovL2VkazIuZ3Jv dXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS82MzQ3MiI+aHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2Rl dmVsL21lc3NhZ2UvNjM0NzI8L2E+PGJyPg0KJmd0OyA8YnI+DQomZ3Q7IEJlc3QgcmVnYXJkcyw8 YnI+DQomZ3Q7IE1hcmNpbjxicj4NCiZndDsgPGJyPg0KJmd0OyZndDsgLSBSYXNwYmVycnkgUGkg My80PGJyPg0KJmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyBJIHRoaW5rIHRoaXMgcHJvdmlkZXMgZW5v dWdoIGFyZ3VtZW50IHRvIHB1c2ggdGhpcyBwYXRjaCBhdCBsZWFzdDxicj4NCiZndDsmZ3Q7IHVu dGlsIGFmdGVyIEF1Z3VzdCBzdGFibGUgdGFnLjxicj4NCiZndDsmZ3Q7PGJyPg0KJmd0OyZndDsg QXMgZmFyIGFzIEkgY2FuIHRlbGwsIGFsbCBvZiB0aGVzZSBhcmUgZHVlIHRvIHRoZSBQY2RTZXQg QW5kPGJyPg0KJmd0OyZndDsgVW5pY29kZVN0clRvQXNjaWlTdHIgZnVuY3Rpb25zL21hY3JvcyBk aXNhcHBlYXJpbmcuIFByZXN1bWFibHkgdGhlc2U8YnI+DQomZ3Q7Jmd0OyBzaG91bGQgYmUgcmVw bGFjZWQgd2l0aCB0aGVpciBTLXN1ZmZpeGVkIGNvdW50ZXJwYXJ0cy48YnI+DQomZ3Q7Jmd0Ozxi cj4NCiZndDsmZ3Q7IE1haW50YWluZXJzL3Jldmlld2VycyBvbiBjYy4gSSdkIGFwcHJlY2lhdGUg aWYgeW91IGNvdWxkIHVwZGF0ZSBhbmQ8YnI+DQomZ3Q7Jmd0OyBzYW5pdHkgY2hlY2sgeW91ciBw bGF0Zm9ybXMgYW5kIHNlbmQgb3V0IHBhdGNoZXMuPGJyPg0KJmd0OyZndDs8YnI+DQomZ3Q7Jmd0 OyBCZXN0IFJlZ2FyZHMsPGJyPg0KJmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyBMZWlmPGJyPg0KJmd0 OyZndDs8YnI+DQomZ3Q7Jmd0OyBPbiBXZWQsIEp1bCAyOSwgMjAyMCBhdCAxMzoyNDoxNSArMDEw MCwgTGVpZiBMaW5kaG9sbSB3cm90ZTo8YnI+DQomZ3Q7Jmd0OyZndDsgVGhhbmtzIExpbWluZyw8 YnI+DQomZ3Q7Jmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyZndDsgWWVzLCB0aGlzIGRvZXMgYWZmZWN0 IHNldmVyYWwgQVJNIHBsYXRmb3Jtcy4gQ3VycmVudGx5IHJ1bm5pbmcgYSBidWlsZDxicj4NCiZn dDsmZ3Q7Jmd0OyB0ZXN0IHRvIGRldGVybWluZSBqdXN0IGhvdyBtYW55LiBNeSBwcmVmZXJlbmNl IHdvdWxkIGJlIGZvciBhIGNoYW5nZTxicj4NCiZndDsmZ3Q7Jmd0OyBvZiB0aGlzIG1hZ25pdHVk ZSB0byBnbyBpbiBqdXN0IGFmdGVyIGEgc3RhYmxlIHRhZyAtIHdoYXQsIGlmIGFueSwgYXJlPGJy Pg0KJmd0OyZndDsmZ3Q7IHRoZSBwbGFucyBmb3IgdGhpcyBwYXRjaD88YnI+DQomZ3Q7Jmd0OyZn dDs8YnI+DQomZ3Q7Jmd0OyZndDsgQmVzdCBSZWdhcmRzLDxicj4NCiZndDsmZ3Q7Jmd0Ozxicj4N CiZndDsmZ3Q7Jmd0OyBMZWlmPGJyPg0KJmd0OyZndDsmZ3Q7PGJyPg0KJmd0OyZndDsmZ3Q7IE9u IFdlZCwgSnVsIDI5LCAyMDIwIGF0IDA3OjU1OjA5ICswMDAwLCBHYW8sIExpbWluZyB3cm90ZTo8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7IEluY2x1ZGUgTGVpZiBhbmQgQXJkLiBUaGlzIGNoYW5nZSBt YXkgaW1wYWN0IEFSTSBwbGF0Zm9ybS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7PGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyBUaGFua3M8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7IExpbWluZzxicj4NCiZndDsm Z3Q7Jmd0OyZndDsgLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS08YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvICZsdDtkZXZlbEBlZGsyLmdyb3Vwcy5pbyZn dDsgT24gQmVoYWxmIE9mIExpbWluZyBHYW88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7IFNlbnQ6IDIw MjDlubQ25pyIOeaXpSAyMTowODxicj4NCiZndDsmZ3Q7Jmd0OyZndDsgVG86IFpoYW5nLCBTaGVu Z2xlaSAmbHQ7c2hlbmdsZWkuemhhbmdAaW50ZWwuY29tJmd0OzsgZGV2ZWxAZWRrMi5ncm91cHMu aW88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7IENjOiBLaW5uZXksIE1pY2hhZWwgRCAmbHQ7bWljaGFl bC5kLmtpbm5leUBpbnRlbC5jb20mZ3Q7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyBTdWJqZWN0OiBS ZTogW2VkazItZGV2ZWxdIFtQQVRDSF0gTWRlUGtnOiBSZW1vdmUgY29kZSB3cmFwcGVkIGJ5IERJ U0FCTEVfTkVXX0RFUFJFQ0FURURfSU5URVJGQUNFUzxicj4NCiZndDsmZ3Q7Jmd0OyZndDs8YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7IFNoZW5nbGVpOjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmbmJzcDsm bmJzcDsmbmJzcDsgUGxlYXNlIGFsc28gcmVtb3ZlIHRoZSBkZXByZWNhdGVkIGNvZGUgaW4gTWRl TW9kdWxlUGtnLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7IFRo YW5rczxicj4NCiZndDsmZ3Q7Jmd0OyZndDsgTGltaW5nPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyBG cm9tOiBaaGFuZywgU2hlbmdsZWkgJmx0O3NoZW5nbGVpLnpoYW5nQGludGVsLmNvbSZndDs8YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyBTZW50OiBGcmlkYXksIEp1bmUgNSwgMjAyMCA0OjEzIFBN PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgQ2M6IEtpbm5leSwgTWljaGFlbCBEICZsdDttaWNoYWVsLmQu a2lubmV5QGludGVsLmNvbSZndDs7IEdhbywgTGltaW5nICZsdDtsaW1pbmcuZ2FvQGludGVsLmNv bSZndDs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyBTdWJqZWN0OiBbUEFUQ0hdIE1kZVBrZzog UmVtb3ZlIGNvZGUgd3JhcHBlZCBieSBESVNBQkxFX05FV19ERVBSRUNBVEVEX0lOVEVSRkFDRVM8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0Ozxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IFJFRjog PGEgaHJlZj0iaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0y Nzc3Ij5odHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTI3Nzc8 L2E+PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgQ29kZSB3cmFwcGVkIGJ5IERJU0FCTEVfTkVX X0RFUFJFQ0FURURfSU5URVJGQUNFUyBpcyBkZXByZWNhdGVkLjxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IFNvIHJlbW92ZSBpdC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0Ozxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IENjOiBNaWNoYWVsIEQgS2lubmV5ICZsdDttaWNoYWVsLmQua2lubmV5 QGludGVsLmNvbSZndDs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyBDYzogTGltaW5nIEdhbyAm bHQ7bGltaW5nLmdhb0BpbnRlbC5jb20mZ3Q7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgU2ln bmVkLW9mZi1ieTogU2hlbmdsZWkgWmhhbmcgJmx0O3NoZW5nbGVpLnpoYW5nQGludGVsLmNvbSZn dDs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtLS08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyZuYnNwOyZuYnNwOyBNZGVQa2cvTGlicmFyeS9CYXNlTGliL1N0cmluZy5jJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwgNjI2IC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyBNZGVQa2cvTGlicmFy eS9CYXNlUGNkTGliTnVsbC9QY2RMaWIuYyB8IDM2MSAtLS0tLS0tLS0tLS0tLTxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7Jm5ic3A7Jm5ic3A7IE1kZVBrZy9MaWJyYXJ5L0Jhc2VQcmludExpYi9Q cmludExpYi5jIHwgMTE4IC0tLS0tPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsmbmJzcDsmbmJz cDsgTWRlUGtnL0xpYnJhcnkvRHhlUGNkTGliL0R4ZVBjZExpYi5jJm5ic3A7Jm5ic3A7IHwgMzk5 IC0tLS0tLS0tLS0tLS0tLS08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyBN ZGVQa2cvTGlicmFyeS9QZWlQY2RMaWIvUGVpUGNkTGliLmMmbmJzcDsmbmJzcDsgfCAzOTcgLS0t LS0tLS0tLS0tLS0tLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7Jm5ic3A7Jm5ic3A7IE1kZVBr Zy9MaWJyYXJ5L1VlZmlMaWIvVWVmaUxpYi5jJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IHwmbmJzcDsgOTIgLS0tLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7Jm5ic3A7Jm5i c3A7IE1kZVBrZy9JbmNsdWRlL0xpYnJhcnkvQmFzZUxpYi5oJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7IHwgNDA5IC0tLS0tLS0tLS0tLS0tLS08YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyZuYnNwOyZuYnNwOyBNZGVQa2cvSW5jbHVkZS9MaWJyYXJ5L1BjZExpYi5oJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwgNTIwIC0tLS0tLS0tLS0tLS0t LS0tLS0tPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsmbmJzcDsmbmJzcDsgTWRlUGtnL0luY2x1 ZGUvTGlicmFyeS9QcmludExpYi5oJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwgMTEw IC0tLS0tPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsmbmJzcDsmbmJzcDsgTWRlUGtnL0luY2x1 ZGUvTGlicmFyeS9VZWZpTGliLmgmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg fCZuYnNwOyA1MyAtLS08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyBNZGVQ a2cvTWRlUGtnLmRzYyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7IDEgLTxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7Jm5ic3A7Jm5ic3A7IDExIGZpbGVzIGNoYW5nZWQsIDMwODYgZGVsZXRpb25z KC0pPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyBk aWZmIC0tZ2l0IGEvTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9TdHJpbmcuYyBiL01kZVBrZy9MaWJy YXJ5L0Jhc2VMaWIvU3RyaW5nLmM8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyBpbmRleCA0NTE5 ODM3M2YyNWMuLmY0ODU0ZjM1N2UzYSAxMDA2NDQ8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt LS0gYS9NZGVQa2cvTGlicmFyeS9CYXNlTGliL1N0cmluZy5jPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgKysrIGIvTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9TdHJpbmcuYzxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IEBAIC04LDEzNSArOCw2IEBAPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDs8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyAjaW5jbHVkZSAmcXVvdDtCYXNl TGliSW50ZXJuYWxzLmgmcXVvdDs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0Ozxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC0jaWZuZGVmIERJU0FCTEVfTkVXX0RFUFJFQ0FURURfSU5URVJGQUNF Uzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt LyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBbQVRURU5USU9OXSBUaGlzIGZ1 bmN0aW9uIHdpbGwgYmUgZGVwcmVjYXRlZCBmb3Igc2VjdXJpdHkgcmVhc29uLjxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IENvcGll cyBvbmUgTnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nIHRvIGFub3RoZXIgTnVsbC10ZXJt aW5hdGVkIFVuaWNvZGU8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHN0cmluZyBh bmQgcmV0dXJucyB0aGUgbmV3IFVuaWNvZGUgc3RyaW5nLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFRoaXMgZnVuY3Rpb24gY29w aWVzIHRoZSBjb250ZW50cyBvZiB0aGUgVW5pY29kZSBzdHJpbmcgU291cmNlIHRvIHRoZSBVbmlj b2RlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBzdHJpbmcgRGVzdGluYXRpb24s IGFuZCByZXR1cm5zIERlc3RpbmF0aW9uLiBJZiBTb3VyY2UgYW5kIERlc3RpbmF0aW9uPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBvdmVybGFwLCB0aGVuIHRoZSByZXN1bHRzIGFy ZSB1bmRlZmluZWQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgSWYgRGVzdGluYXRpb24gaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIERlc3RpbmF0aW9uIGlzIG5vdCBh bGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgU291cmNlIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBTb3VyY2UgaXMgbm90IGFsaWduZWQg b24gYSAxNi1iaXQgYm91bmRhcnksIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyBJZiBTb3VyY2UgYW5kIERlc3RpbmF0aW9uIG92ZXJsYXAsIHRoZW4gQVNT RVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBQY2RNYXhpbXVtVW5p Y29kZVN0cmluZ0xlbmd0aCBpcyBub3QgemVybywgYW5kIFNvdXJjZSBjb250YWlucyBtb3JlIHRo YW48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFBjZE1heGltdW1Vbmljb2RlU3Ry aW5nTGVuZ3RoIFVuaWNvZGUgY2hhcmFjdGVycywgbm90IGluY2x1ZGluZyB0aGU8YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IE51bGwtdGVybWluYXRvciwgdGhlbiBBU1NFUlQoKS48 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBAcGFyYW0mbmJzcDsgRGVzdGluYXRpb24gQSBwb2ludGVyIHRvIGEgTnVsbC10ZXJtaW5h dGVkIFVuaWNvZGUgc3RyaW5nLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBh cmFtJm5ic3A7IFNvdXJjZSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBBIHBvaW50ZXIg dG8gYSBOdWxsLXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHJldHVybiBEZXN0aW5h dGlvbi48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSoqLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1DSEFSMTYgKjxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC1FRklBUEk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtU3RyQ3B5ICg8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IE9VVCZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyBDSEFSMTYmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgKkRlc3RpbmF0aW9uLDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgSU4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgQ09OU1QgQ0hBUjE2Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7ICpTb3VyY2U8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7ICk8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtezxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsgQ0hBUjE2Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7ICpSZXR1cm5WYWx1ZTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyAvLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgLy8gRGVzdGluYXRpb24gY2Fubm90IGJlIE5VTEw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IC8vPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBBU1NFUlQgKERl c3RpbmF0aW9uICE9IE5VTEwpOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQVNT RVJUICgoKFVJTlROKSBEZXN0aW5hdGlvbiAmYW1wOyBCSVQwKSA9PSAwKTs8YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyAvLzxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgLy8gRGVzdGluYXRpb24gYW5kIHNvdXJjZSBj YW5ub3Qgb3ZlcmxhcDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgLy88YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEFTU0VSVCAoKFVJTlROKShEZXN0aW5hdGlvbiAt IFNvdXJjZSkgJmd0OyBTdHJMZW4gKFNvdXJjZSkpOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsgQVNTRVJUICgoVUlOVE4pKFNvdXJjZSAtIERlc3RpbmF0aW9uKSAmZ3Q7IFN0ckxl biAoU291cmNlKSk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgUmV0dXJuVmFsdWUgPSBEZXN0aW5hdGlvbjs8YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHdoaWxlICgqU291cmNlICE9IDApIHs8YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7ICooRGVzdGluYXRpb24rKykgPSAqKFNv dXJjZSsrKTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IH08YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7ICpEZXN0aW5hdGlvbiA9IDA7PGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSZuYnNwOyByZXR1cm4gUmV0dXJuVmFsdWU7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLX08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLS8qKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgW0FUVEVOVElPTl0g VGhpcyBmdW5jdGlvbiB3aWxsIGJlIGRlcHJlY2F0ZWQgZm9yIHNlY3VyaXR5IHJlYXNvbi48YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyBDb3BpZXMgdXAgdG8gYSBzcGVjaWZpZWQgbGVuZ3RoIGZyb20gb25lIE51bGwtdGVybWluYXRl ZCBVbmljb2RlIHN0cmluZyZuYnNwOyB0bzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgYW5vdGhlciBOdWxsLXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcgYW5kIHJldHVybnMgdGhl IG5ldyBVbmljb2RlIHN0cmluZy48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBUaGlzIGZ1bmN0aW9uIGNvcGllcyB0aGUgY29udGVu dHMgb2YgdGhlIFVuaWNvZGUgc3RyaW5nIFNvdXJjZSB0byB0aGUgVW5pY29kZTxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgc3RyaW5nIERlc3RpbmF0aW9uLCBhbmQgcmV0dXJucyBE ZXN0aW5hdGlvbi4gQXQgbW9zdCwgTGVuZ3RoIFVuaWNvZGU8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IGNoYXJhY3RlcnMgYXJlIGNvcGllZCBmcm9tIFNvdXJjZSB0byBEZXN0aW5h dGlvbi4gSWYgTGVuZ3RoIGlzIDAsIHRoZW48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5i c3A7IERlc3RpbmF0aW9uIGlzIHJldHVybmVkIHVubW9kaWZpZWQuIElmIExlbmd0aCBpcyBncmVh dGVyIHRoYXQgdGhlIG51bWJlciBvZjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg VW5pY29kZSBjaGFyYWN0ZXJzIGluIFNvdXJjZSwgdGhlbiBEZXN0aW5hdGlvbiBpcyBwYWRkZWQg d2l0aCBOdWxsIFVuaWNvZGU8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IGNoYXJh Y3RlcnMuIElmIFNvdXJjZSBhbmQgRGVzdGluYXRpb24gb3ZlcmxhcCwgdGhlbiB0aGUgcmVzdWx0 cyBhcmU8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHVuZGVmaW5lZC48YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJ ZiBMZW5ndGggJmd0OyAwIGFuZCBEZXN0aW5hdGlvbiBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLjxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgTGVuZ3RoICZndDsgMCBhbmQgRGVz dGluYXRpb24gaXMgbm90IGFsaWduZWQgb24gYSAxNi1iaXQgYm91bmRhcnksIHRoZW4gQVNTRVJU KCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBMZW5ndGggJmd0OyAwIGFu ZCBTb3VyY2UgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IElmIExlbmd0aCAmZ3Q7IDAgYW5kIFNvdXJjZSBpcyBub3QgYWxpZ25lZCBvbiBh IDE2LWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IElmIFNvdXJjZSBhbmQgRGVzdGluYXRpb24gb3ZlcmxhcCwgdGhlbiBBU1NFUlQo KS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFBjZE1heGltdW1Vbmljb2Rl U3RyaW5nTGVuZ3RoIGlzIG5vdCB6ZXJvLCBhbmQgTGVuZ3RoIGlzIGdyZWF0ZXIgdGhhbjxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5n dGgsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBQ Y2RNYXhpbXVtVW5pY29kZVN0cmluZ0xlbmd0aCBpcyBub3QgemVybywgYW5kIFNvdXJjZSBjb250 YWlucyBtb3JlIHRoYW48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFBjZE1heGlt dW1Vbmljb2RlU3RyaW5nTGVuZ3RoIFVuaWNvZGUgY2hhcmFjdGVycywgbm90IGluY2x1ZGluZyB0 aGUgTnVsbC10ZXJtaW5hdG9yLDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgdGhl biBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW0mbmJzcDsgRGVzdGluYXRpb24gQSBwb2ludGVyIHRvIGEg TnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsgQHBhcmFtJm5ic3A7IFNvdXJjZSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBBIHBvaW50ZXIgdG8gYSBOdWxsLXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcuPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW0mbmJzcDsgTGVuZ3RoJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSBtYXhpbXVtIG51bWJlciBvZiBVbmljb2RlIGNoYXJhY3Rl cnMgdG8gY29weS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSZuYnNwOyBAcmV0dXJuIERlc3RpbmF0aW9uLjxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtKiovPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLUNIQVIxNiAqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUVGSUFQSTxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1TdHJuQ3B5ICg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IE9VVCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBDSEFSMTYmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKkRlc3RpbmF0aW9u LDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4mbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgQ09OU1QgQ0hBUjE2Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICpTb3VyY2UsPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyBVSU5UTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyBMZW5ndGg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5i c3A7ICk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtezxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgQ0hBUjE2Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7ICpSZXR1cm5WYWx1ZTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBpZiAoTGVuZ3RoID09IDApIHs8YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybiBEZXN0aW5hdGlvbjs8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyAvLzxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgLy8gRGVzdGluYXRpb24gY2Fubm90IGJlIE5VTEwgaWYgTGVu Z3RoIGlzIG5vdCB6ZXJvPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyAvLzxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQVNTRVJUIChEZXN0aW5hdGlvbiAhPSBOVUxM KTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEFTU0VSVCAoKChVSU5UTikgRGVz dGluYXRpb24gJmFtcDsgQklUMCkgPT0gMCk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgLy88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IC8vIERlc3RpbmF0aW9uIGFuZCBzb3VyY2UgY2Fubm90IG92ZXJsYXA8YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IC8vPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyBBU1NFUlQgKChVSU5UTikoRGVzdGluYXRpb24gLSBTb3VyY2UpICZndDsgU3Ry TGVuIChTb3VyY2UpKTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEFTU0VSVCAo KFVJTlROKShTb3VyY2UgLSBEZXN0aW5hdGlvbikgJmd0Oz0gTGVuZ3RoKTs8YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBpZiAoUGNk R2V0MzIgKFBjZE1heGltdW1Vbmljb2RlU3RyaW5nTGVuZ3RoKSAhPSAwKSB7PGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyBBU1NFUlQgKExlbmd0aCAmbHQ7PSBQ Y2RHZXQzMiAoUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGgpKTs8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBSZXR1cm5WYWx1ZSA9IERlc3RpbmF0aW9uOzxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 IHdoaWxlICgoKlNvdXJjZSAhPSBMJ1wwJykgJmFtcDsmYW1wOyAoTGVuZ3RoICZndDsgMCkpIHs8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7ICooRGVzdGluYXRp b24rKykgPSAqKFNvdXJjZSsrKTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7Jm5i c3A7Jm5ic3A7IExlbmd0aC0tOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgfTxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5i c3A7IFplcm9NZW0gKERlc3RpbmF0aW9uLCBMZW5ndGggKiBzaXplb2YgKCpEZXN0aW5hdGlvbikp Ozxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgcmV0dXJuIFJldHVyblZhbHVlOzxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC19PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSNl bmRpZjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsm bmJzcDsmbmJzcDsgLyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgUmV0dXJucyB0aGUgbGVuZ3RoIG9mIGEgTnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUg c3RyaW5nLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IEBAIC0zMjAsMTIxICsxOTEsNiBAQCBT dHJuQ21wICg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyByZXR1cm4gKkZpcnN0U3RyaW5nIC0gKlNlY29uZFN0cmluZzs8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyZuYnNwOyZuYnNwOyB9PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDs8YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtI2lmbmRlZiBESVNBQkxFX05FV19ERVBSRUNBVEVEX0lOVEVSRkFD RVM8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LS8qKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgW0FUVEVOVElPTl0gVGhpcyBm dW5jdGlvbiB3aWxsIGJlIGRlcHJlY2F0ZWQgZm9yIHNlY3VyaXR5IHJlYXNvbi48YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBDb25j YXRlbmF0ZXMgb25lIE51bGwtdGVybWluYXRlZCBVbmljb2RlIHN0cmluZyB0byBhbm90aGVyIE51 bGwtdGVybWluYXRlZDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVW5pY29kZSBz dHJpbmcsIGFuZCByZXR1cm5zIHRoZSBjb25jYXRlbmF0ZWQgVW5pY29kZSBzdHJpbmcuPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg VGhpcyBmdW5jdGlvbiBjb25jYXRlbmF0ZXMgdHdvIE51bGwtdGVybWluYXRlZCBVbmljb2RlIHN0 cmluZ3MuIFRoZSBjb250ZW50czxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgb2Yg TnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nIFNvdXJjZSBhcmUgY29uY2F0ZW5hdGVkIHRv IHRoZSBlbmQgb2Y8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IE51bGwtdGVybWlu YXRlZCBVbmljb2RlIHN0cmluZyBEZXN0aW5hdGlvbi4gVGhlIE51bGwtdGVybWluYXRlZCBjb25j YXRlbmF0ZWQ8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFVuaWNvZGUgU3RyaW5n IGlzIHJldHVybmVkLiBJZiBTb3VyY2UgYW5kIERlc3RpbmF0aW9uIG92ZXJsYXAsIHRoZW4gdGhl PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyByZXN1bHRzIGFyZSB1bmRlZmluZWQu PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsgSWYgRGVzdGluYXRpb24gaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIERlc3RpbmF0aW9uIGlzIG5vdCBhbGlnbmVkIG9uIGEg MTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsgSWYgU291cmNlIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBTb3VyY2UgaXMgbm90IGFsaWduZWQgb24gYSAxNi1iaXQg Ym91bmRhcnksIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyBJZiBTb3VyY2UgYW5kIERlc3RpbmF0aW9uIG92ZXJsYXAsIHRoZW4gQVNTRVJUKCkuPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBQY2RNYXhpbXVtVW5pY29kZVN0cmluZ0xl bmd0aCBpcyBub3QgemVybywgYW5kIERlc3RpbmF0aW9uIGNvbnRhaW5zIG1vcmU8YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHRoYW4gUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5n dGggVW5pY29kZSBjaGFyYWN0ZXJzLCBub3QgaW5jbHVkaW5nIHRoZTxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgTnVsbC10ZXJtaW5hdG9yLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5n dGggaXMgbm90IHplcm8sIGFuZCBTb3VyY2UgY29udGFpbnMgbW9yZSB0aGFuPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBQY2RNYXhpbXVtVW5pY29kZVN0cmluZ0xlbmd0aCBVbmlj b2RlIGNoYXJhY3RlcnMsIG5vdCBpbmNsdWRpbmcgdGhlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyBOdWxsLXRlcm1pbmF0b3IsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBQY2RNYXhpbXVtVW5pY29kZVN0cmluZ0xlbmd0aCBpcyBu b3QgemVybywgYW5kIGNvbmNhdGVuYXRpbmcgRGVzdGluYXRpb248YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IGFuZCBTb3VyY2UgcmVzdWx0cyBpbiBhIFVuaWNvZGUgc3RyaW5nIHdp dGggbW9yZSB0aGFuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBQY2RNYXhpbXVt VW5pY29kZVN0cmluZ0xlbmd0aCBVbmljb2RlIGNoYXJhY3RlcnMsIG5vdCBpbmNsdWRpbmcgdGhl PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBOdWxsLXRlcm1pbmF0b3IsIHRoZW4g QVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgQHBhcmFtJm5ic3A7IERlc3RpbmF0aW9uIEEgcG9pbnRlciB0byBhIE51 bGwtdGVybWluYXRlZCBVbmljb2RlIHN0cmluZy48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IEBwYXJhbSZuYnNwOyBTb3VyY2UmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg QSBwb2ludGVyIHRvIGEgTnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nLjxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEByZXR1 cm4gRGVzdGluYXRpb24uPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0qKi88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtQ0hBUjE2ICo8YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtRUZJQVBJPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LVN0ckNhdCAoPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBPVVQmbmJzcDsg Q0hBUjE2Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7ICpEZXN0aW5hdGlvbiw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElO Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IENPTlNUIENIQVIxNiZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyAqU291cmNlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyApPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLXs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 IFN0ckNweSAoRGVzdGluYXRpb24gKyBTdHJMZW4gKERlc3RpbmF0aW9uKSwgU291cmNlKTs8YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyAvLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgLy8gU2l6ZSBvZiB0aGUgcmVz dWx0aW5nIHN0cmluZyBzaG91bGQgbmV2ZXIgYmUgemVyby48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IC8vIFBjZE1heGltdW1Vbmljb2RlU3RyaW5nTGVuZ3RoIGlzIHRlc3RlZCBp bnNpZGUgU3RyTGVuKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyAvLzxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQVNTRVJUIChTdHJTaXplIChEZXN0aW5hdGlv bikgIT0gMCk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyByZXR1cm4gRGVzdGlu YXRpb247PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLX08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLS8qKjxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgW0FUVEVOVElPTl0gVGhpcyBmdW5jdGlvbiB3aWxsIGJlIGRlcHJlY2F0 ZWQgZm9yIHNlY3VyaXR5IHJlYXNvbi48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBDb25jYXRlbmF0ZXMgdXAgdG8gYSBzcGVjaWZp ZWQgbGVuZ3RoIG9uZSBOdWxsLXRlcm1pbmF0ZWQgVW5pY29kZSB0byB0aGUgZW5kPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBvZiBhbm90aGVyIE51bGwtdGVybWluYXRlZCBVbmlj b2RlIHN0cmluZywgYW5kIHJldHVybnMgdGhlIGNvbmNhdGVuYXRlZDxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgVW5pY29kZSBzdHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVGhpcyBmdW5jdGlvbiBjb25j YXRlbmF0ZXMgdHdvIE51bGwtdGVybWluYXRlZCBVbmljb2RlIHN0cmluZ3MuIFRoZSBjb250ZW50 czxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgb2YgTnVsbC10ZXJtaW5hdGVkIFVu aWNvZGUgc3RyaW5nIFNvdXJjZSBhcmUgY29uY2F0ZW5hdGVkIHRvIHRoZSBlbmQgb2Y8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IE51bGwtdGVybWluYXRlZCBVbmljb2RlIHN0cmlu ZyBEZXN0aW5hdGlvbiwgYW5kIERlc3RpbmF0aW9uIGlzIHJldHVybmVkLiBBdDxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgbW9zdCwgTGVuZ3RoIFVuaWNvZGUgY2hhcmFjdGVycyBh cmUgY29uY2F0ZW5hdGVkIGZyb20gU291cmNlIHRvIHRoZSBlbmQgb2Y8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IERlc3RpbmF0aW9uLCBhbmQgRGVzdGluYXRpb24gaXMgYWx3YXlz IE51bGwtdGVybWluYXRlZC4gSWYgTGVuZ3RoIGlzIDAsIHRoZW48YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IERlc3RpbmF0aW9uIGlzIHJldHVybmVkIHVubW9kaWZpZWQuIElmIFNv dXJjZSBhbmQgRGVzdGluYXRpb24gb3ZlcmxhcCwgdGhlbjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgdGhlIHJlc3VsdHMgYXJlIHVuZGVmaW5lZC48YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBEZXN0aW5hdGlv biBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgSWYgTGVuZ3RoICZndDsgMCBhbmQgRGVzdGluYXRpb24gaXMgbm90IGFsaWduZWQgb24gYSAx Ni1iaXQgYm91bmRhcnksIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBJZiBMZW5ndGggJmd0OyAwIGFuZCBTb3VyY2UgaXMgTlVMTCwgdGhlbiBBU1NFUlQo KS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIExlbmd0aCAmZ3Q7IDAgYW5k IFNvdXJjZSBpcyBub3QgYWxpZ25lZCBvbiBhIDE2LWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQo KS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFNvdXJjZSBhbmQgRGVzdGlu YXRpb24gb3ZlcmxhcCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IElmIFBjZE1heGltdW1Vbmljb2RlU3RyaW5nTGVuZ3RoIGlzIG5vdCB6ZXJvLCBhbmQg TGVuZ3RoIGlzIGdyZWF0ZXIgdGhhbjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg UGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGgsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBQY2RNYXhpbXVtVW5pY29kZVN0cmluZ0xlbmd0aCBp cyBub3QgemVybywgYW5kIERlc3RpbmF0aW9uIGNvbnRhaW5zIG1vcmU8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IHRoYW4gUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGggVW5p Y29kZSBjaGFyYWN0ZXJzLCBub3QgaW5jbHVkaW5nIHRoZTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgTnVsbC10ZXJtaW5hdG9yLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGggaXMg bm90IHplcm8sIGFuZCBTb3VyY2UgY29udGFpbnMgbW9yZSB0aGFuPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSZuYnNwOyBQY2RNYXhpbXVtVW5pY29kZVN0cmluZ0xlbmd0aCBVbmljb2RlIGNo YXJhY3RlcnMsIG5vdCBpbmNsdWRpbmcgdGhlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBOdWxsLXRlcm1pbmF0b3IsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyBJZiBQY2RNYXhpbXVtVW5pY29kZVN0cmluZ0xlbmd0aCBpcyBub3QgemVy bywgYW5kIGNvbmNhdGVuYXRpbmcgRGVzdGluYXRpb248YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IGFuZCBTb3VyY2UgcmVzdWx0cyBpbiBhIFVuaWNvZGUgc3RyaW5nIHdpdGggbW9y ZSB0aGFuIFBjZE1heGltdW1Vbmljb2RlU3RyaW5nTGVuZ3RoPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyBVbmljb2RlIGNoYXJhY3RlcnMsIG5vdCBpbmNsdWRpbmcgdGhlIE51bGwt dGVybWluYXRvciwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW0mbmJzcDsgRGVzdGluYXRpb24g QSBwb2ludGVyIHRvIGEgTnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nLjxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtJm5ic3A7IFNvdXJjZSZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBBIHBvaW50ZXIgdG8gYSBOdWxsLXRlcm1pbmF0ZWQgVW5pY29kZSBz dHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW0mbmJzcDsgTGVu Z3RoJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSBtYXhpbXVtIG51bWJlciBvZiBV bmljb2RlIGNoYXJhY3RlcnMgdG8gY29uY2F0ZW5hdGUgZnJvbTxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgU291cmNlLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEByZXR1cm4gRGVzdGluYXRpb24uPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0qKi88 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtQ0hBUjE2ICo8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtRUZJQVBJPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLVN0cm5DYXQgKDxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gT1VUJm5ic3A7IENIQVIxNiZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqRGVzdGluYXRp b24sPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyBDT05TVCBDSEFSMTYmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKlNvdXJjZSw8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7IFVJTlROJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IExlbmd0aDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsgKTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC17PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyBVSU5UTiZuYnNwOyZuYnNwOyBEZXN0aW5hdGlvbkxlbjs8YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBEZXN0 aW5hdGlvbkxlbiA9IFN0ckxlbiAoRGVzdGluYXRpb24pOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgU3RybkNweSAoRGVzdGluYXRpb24gKyBEZXN0aW5hdGlvbkxlbiwgU291cmNl LCBMZW5ndGgpOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgRGVzdGluYXRpb25b RGVzdGluYXRpb25MZW4gKyBMZW5ndGhdID0gTCdcMCc7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgLy88YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IC8vIFNpemUgb2YgdGhlIHJlc3VsdGluZyBzdHJpbmcgc2hvdWxk IG5ldmVyIGJlIHplcm8uPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyAvLyBQY2RN YXhpbXVtVW5pY29kZVN0cmluZ0xlbmd0aCBpcyB0ZXN0ZWQgaW5zaWRlIFN0ckxlbigpLjxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgLy88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IEFTU0VSVCAoU3RyU2l6ZSAoRGVzdGluYXRpb24pICE9IDApOzxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgcmV0dXJuIERlc3RpbmF0aW9uOzxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC19PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSNlbmRpZjxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsmbmJzcDsmbmJzcDsg LyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgUmV0 dXJucyB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiBhIE51bGwtdGVybWluYXRlZCBVbmljb2RlIHN1 Yi1zdHJpbmc8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyBAQCAtODQ1LDIwOCArNjAxLDYgQEAg SW50ZXJuYWxBc2NpaUlzSGV4YURlY2ltYWxEaWdpdENoYXJhY3RlciAoPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKENoYXIgJmd0 Oz0gJ2EnICZhbXA7JmFtcDsgQ2hhciAmbHQ7PSAnZicpKTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyZuYnNwOyZuYnNwOyB9PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDs8YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtI2lmbmRlZiBESVNBQkxFX05FV19ERVBSRUNBVEVEX0lOVEVSRkFDRVM8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLS8q Kjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgW0FUVEVOVElPTl0gVGhpcyBmdW5j dGlvbiBpcyBkZXByZWNhdGVkIGZvciBzZWN1cml0eSByZWFzb24uPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQ29udmVydCBhIE51 bGwtdGVybWluYXRlZCBVbmljb2RlIHN0cmluZyB0byBhIE51bGwtdGVybWluYXRlZDxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQVNDSUkgc3RyaW5nIGFuZCByZXR1cm5zIHRoZSBB U0NJSSBzdHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgVGhpcyBmdW5jdGlvbiBjb252ZXJ0cyB0aGUgY29udGVudCBvZiB0 aGUgVW5pY29kZSBzdHJpbmcgU291cmNlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyB0byB0aGUgQVNDSUkgc3RyaW5nIERlc3RpbmF0aW9uIGJ5IGNvcHlpbmcgdGhlIGxvd2VyIDgg Yml0cyBvZjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgZWFjaCBVbmljb2RlIGNo YXJhY3Rlci4gSXQgcmV0dXJucyBEZXN0aW5hdGlvbi48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBUaGUgY2FsbGVyIGlzIHJlc3Bv bnNpYmxlIHRvIG1ha2Ugc3VyZSBEZXN0aW5hdGlvbiBwb2ludHMgdG8gYSBidWZmZXIgd2l0aCBz aXplPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBlcXVhbCBvciBncmVhdGVyIHRo YW4gKChTdHJMZW4gKFNvdXJjZSkgKyAxKSAqIHNpemVvZiAoQ0hBUjgpKSBpbiBieXRlcy48YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyBJZiBhbnkgVW5pY29kZSBjaGFyYWN0ZXJzIGluIFNvdXJjZSBjb250YWluIG5vbi16ZXJvIHZh bHVlIGluPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyB0aGUgdXBwZXIgOCBiaXRz LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIERlc3RpbmF0aW9uIGlzIE5VTEwsIHRoZW4gQVNTRVJU KCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBTb3VyY2UgaXMgTlVMTCwg dGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFNvdXJj ZSBpcyBub3QgYWxpZ25lZCBvbiBhIDE2LWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS48YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFNvdXJjZSBhbmQgRGVzdGluYXRpb24g b3ZlcmxhcCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBQY2RNYXhpbXVtVW5pY29kZVN0cmluZ0xl bmd0aCBpcyBub3QgemVybywgYW5kIFNvdXJjZSBjb250YWluczxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgbW9yZSB0aGFuIFBjZE1heGltdW1Vbmljb2RlU3RyaW5nTGVuZ3RoIFVu aWNvZGUgY2hhcmFjdGVycywgbm90IGluY2x1ZGluZzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsgdGhlIE51bGwtdGVybWluYXRvciwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBQY2RN YXhpbXVtQXNjaWlTdHJpbmdMZW5ndGggaXMgbm90IHplcm8sIGFuZCBTb3VyY2UgY29udGFpbnMg bW9yZTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgdGhhbiBQY2RNYXhpbXVtQXNj aWlTdHJpbmdMZW5ndGggVW5pY29kZSBjaGFyYWN0ZXJzLCBub3QgaW5jbHVkaW5nIHRoZTxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgTnVsbC10ZXJtaW5hdG9yLCB0aGVuIEFTU0VS VCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IEBwYXJhbSZuYnNwOyBTb3VyY2UmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgQSBwb2ludGVyIHRvIGEgTnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3Ry aW5nLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtJm5ic3A7IERlc3Rp bmF0aW9uJm5ic3A7Jm5ic3A7IEEgcG9pbnRlciB0byBhIE51bGwtdGVybWluYXRlZCBBU0NJSSBz dHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgQHJldHVybiBEZXN0aW5hdGlvbi48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSoqLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC1DSEFSOCAqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUVGSUFQSTxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC1Vbmljb2RlU3RyVG9Bc2NpaVN0ciAoPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSZuYnNwOyBJTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBDT05TVCBD SEFSMTYmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKlNvdXJjZSw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IE9VVCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBDSEFSOCZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqRGVz dGluYXRpb248YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7ICk8YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtezxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQ0hBUjgm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgKlJldHVyblZhbHVlOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEFTU0VSVCAoRGVzdGluYXRpb24gIT0gTlVMTCk7 PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsgLy88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IC8vIEFTU0VSVCBpZiBT b3VyY2UgaXMgbG9uZyB0aGFuIFBjZE1heGltdW1Vbmljb2RlU3RyaW5nTGVuZ3RoLjxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgLy8gTGVuZ3RoIHRlc3RzIGFyZSBwZXJmb3JtZWQg aW5zaWRlIFN0ckxlbigpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgLy88YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEFTU0VSVCAoU3RyU2l6ZSAoU291cmNlKSAh PSAwKTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyAvLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgLy8gU291cmNl IGFuZCBEZXN0aW5hdGlvbiBzaG91bGQgbm90IG92ZXJsYXA8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IC8vPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBBU1NFUlQg KChVSU5UTikgKERlc3RpbmF0aW9uIC0gKENIQVI4ICopIFNvdXJjZSkgJmd0Oz0gU3RyU2l6ZSAo U291cmNlKSk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBBU1NFUlQgKChVSU5U TikgKChDSEFSOCAqKSBTb3VyY2UgLSBEZXN0aW5hdGlvbikgJmd0OyBTdHJMZW4gKFNvdXJjZSkp Ozxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBSZXR1cm5WYWx1ZSA9IERlc3RpbmF0 aW9uOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgd2hpbGUgKCpTb3VyY2UgIT0g J1wwJykgezxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsgLy88 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7IC8vIElmIGFueSBV bmljb2RlIGNoYXJhY3RlcnMgaW4gU291cmNlIGNvbnRhaW48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7IC8vIG5vbi16ZXJvIHZhbHVlIGluIHRoZSB1cHBlciA4 IGJpdHMsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyZu YnNwOyZuYnNwOyAvLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJz cDsgQVNTRVJUICgqU291cmNlICZsdDsgMHgxMDApOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsmbmJzcDsmbmJzcDsgKihEZXN0aW5hdGlvbisrKSA9IChDSEFSOCkgKihTb3VyY2Ur Kyk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyB9PGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgKkRlc3RpbmF0aW9u ID0gJ1wwJzs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyAvLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgLy8gQVNT RVJUIE9yaWdpbmFsIERlc3RpbmF0aW9uIGlzIGxlc3MgbG9uZyB0aGFuIFBjZE1heGltdW1Bc2Np aVN0cmluZ0xlbmd0aC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IC8vIExlbmd0 aCB0ZXN0cyBhcmUgcGVyZm9ybWVkIGluc2lkZSBBc2NpaVN0ckxlbigpLjxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgLy88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 IEFTU0VSVCAoQXNjaWlTdHJTaXplIChSZXR1cm5WYWx1ZSkgIT0gMCk7PGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgcmV0dXJuIFJl dHVyblZhbHVlOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC19PGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0vKio8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IFtBVFRFTlRJT05dIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSBkZXBy ZWNhdGVkIGZvciBzZWN1cml0eSByZWFzb24uPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQ29waWVzIG9uZSBOdWxsLXRlcm1pbmF0 ZWQgQVNDSUkgc3RyaW5nIHRvIGFub3RoZXIgTnVsbC10ZXJtaW5hdGVkIEFTQ0lJPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBzdHJpbmcgYW5kIHJldHVybnMgdGhlIG5ldyBBU0NJ SSBzdHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgVGhpcyBmdW5jdGlvbiBjb3BpZXMgdGhlIGNvbnRlbnRzIG9mIHRoZSBB U0NJSSBzdHJpbmcgU291cmNlIHRvIHRoZSBBU0NJSTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsgc3RyaW5nIERlc3RpbmF0aW9uLCBhbmQgcmV0dXJucyBEZXN0aW5hdGlvbi4gSWYg U291cmNlIGFuZCBEZXN0aW5hdGlvbjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg b3ZlcmxhcCwgdGhlbiB0aGUgcmVzdWx0cyBhcmUgdW5kZWZpbmVkLjxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIERlc3RpbmF0 aW9uIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBJZiBTb3VyY2UgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IElmIFNvdXJjZSBhbmQgRGVzdGluYXRpb24gb3ZlcmxhcCwgdGhlbiBB U1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFBjZE1heGltdW1B c2NpaVN0cmluZ0xlbmd0aCBpcyBub3QgemVybyBhbmQgU291cmNlIGNvbnRhaW5zIG1vcmUgdGhh bjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgUGNkTWF4aW11bUFzY2lpU3RyaW5n TGVuZ3RoIEFTQ0lJIGNoYXJhY3RlcnMsIG5vdCBpbmNsdWRpbmcgdGhlIE51bGwtdGVybWluYXRv ciw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHRoZW4gQVNTRVJUKCkuPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg QHBhcmFtJm5ic3A7IERlc3RpbmF0aW9uIEEgcG9pbnRlciB0byBhIE51bGwtdGVybWluYXRlZCBB U0NJSSBzdHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW0mbmJz cDsgU291cmNlJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IEEgcG9pbnRlciB0byBhIE51 bGwtdGVybWluYXRlZCBBU0NJSSBzdHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHJldHVybiBEZXN0aW5hdGlvbjxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtKiovPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUNIQVI4ICo8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtRUZJQVBJPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUFzY2lpU3RyQ3B5ICg8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IE9VVCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBD SEFSOCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyAqRGVzdGluYXRpb24sPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyBJTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBDT05TVCBDSEFSOCZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyAqU291cmNlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyApPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLXs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IENIQVI4Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7ICpSZXR1cm5WYWx1ZTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyAvLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgLy8gRGVzdGluYXRpb24gY2Fubm90IGJlIE5VTEw8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IC8vPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBB U1NFUlQgKERlc3RpbmF0aW9uICE9IE5VTEwpOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IC8vPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyAvLyBEZXN0aW5hdGlvbiBhbmQgc291cmNlIGNhbm5vdCBvdmVybGFwPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyAvLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgQVNTRVJUICgoVUlOVE4pKERlc3RpbmF0aW9uIC0gU291cmNlKSAmZ3Q7IEFz Y2lpU3RyTGVuIChTb3VyY2UpKTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEFT U0VSVCAoKFVJTlROKShTb3VyY2UgLSBEZXN0aW5hdGlvbikgJmd0OyBBc2NpaVN0ckxlbiAoU291 cmNlKSk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgUmV0dXJuVmFsdWUgPSBEZXN0aW5hdGlvbjs8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IHdoaWxlICgqU291cmNlICE9IDApIHs8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7ICooRGVzdGluYXRpb24rKykgPSAqKFNvdXJjZSsr KTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7ICpEZXN0aW5hdGlvbiA9IDA7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyByZXR1cm4gUmV0dXJuVmFsdWU7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LX08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LS8qKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgW0FUVEVOVElPTl0gVGhpcyBm dW5jdGlvbiB3aWxsIGJlIGRlcHJlY2F0ZWQgZm9yIHNlY3VyaXR5IHJlYXNvbi48YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBDb3Bp ZXMgdXAgdG8gYSBzcGVjaWZpZWQgbGVuZ3RoIG9uZSBOdWxsLXRlcm1pbmF0ZWQgQVNDSUkgc3Ry aW5nIHRvIGFub3RoZXI8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IE51bGwtdGVy bWluYXRlZCBBU0NJSSBzdHJpbmcgYW5kIHJldHVybnMgdGhlIG5ldyBBU0NJSSBzdHJpbmcuPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgVGhpcyBmdW5jdGlvbiBjb3BpZXMgdGhlIGNvbnRlbnRzIG9mIHRoZSBBU0NJSSBzdHJpbmcg U291cmNlIHRvIHRoZSBBU0NJSTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgc3Ry aW5nIERlc3RpbmF0aW9uLCBhbmQgcmV0dXJucyBEZXN0aW5hdGlvbi4gQXQgbW9zdCwgTGVuZ3Ro IEFTQ0lJIGNoYXJhY3RlcnM8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IGFyZSBj b3BpZWQgZnJvbSBTb3VyY2UgdG8gRGVzdGluYXRpb24uIElmIExlbmd0aCBpcyAwLCB0aGVuIERl c3RpbmF0aW9uIGlzPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyByZXR1cm5lZCB1 bm1vZGlmaWVkLiBJZiBMZW5ndGggaXMgZ3JlYXRlciB0aGF0IHRoZSBudW1iZXIgb2YgQVNDSUkg Y2hhcmFjdGVyczxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgaW4gU291cmNlLCB0 aGVuIERlc3RpbmF0aW9uIGlzIHBhZGRlZCB3aXRoIE51bGwgQVNDSUkgY2hhcmFjdGVycy4gSWYg U291cmNlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBhbmQgRGVzdGluYXRpb24g b3ZlcmxhcCwgdGhlbiB0aGUgcmVzdWx0cyBhcmUgdW5kZWZpbmVkLjxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIERlc3RpbmF0 aW9uIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBJZiBTb3VyY2UgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IElmIFNvdXJjZSBhbmQgRGVzdGluYXRpb24gb3ZlcmxhcCwgdGhlbiBB U1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFBjZE1heGltdW1B c2NpaVN0cmluZ0xlbmd0aCBpcyBub3QgemVybywgYW5kIExlbmd0aCBpcyBncmVhdGVyIHRoYW48 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFBjZE1heGltdW1Bc2NpaVN0cmluZ0xl bmd0aCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElm IFBjZE1heGltdW1Bc2NpaVN0cmluZ0xlbmd0aCBpcyBub3QgemVybywgYW5kIFNvdXJjZSBjb250 YWlucyBtb3JlIHRoYW48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFBjZE1heGlt dW1Bc2NpaVN0cmluZ0xlbmd0aCBBU0NJSSBjaGFyYWN0ZXJzLCBub3QgaW5jbHVkaW5nIHRoZSBO dWxsLXRlcm1pbmF0b3IsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyB0aGVuIEFT U0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IEBwYXJhbSZuYnNwOyBEZXN0aW5hdGlvbiBBIHBvaW50ZXIgdG8gYSBOdWxs LXRlcm1pbmF0ZWQgQVNDSUkgc3RyaW5nLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgQHBhcmFtJm5ic3A7IFNvdXJjZSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBBIHBv aW50ZXIgdG8gYSBOdWxsLXRlcm1pbmF0ZWQgQVNDSUkgc3RyaW5nLjxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtJm5ic3A7IExlbmd0aCZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyBUaGUgbWF4aW11bSBudW1iZXIgb2YgQVNDSUkgY2hhcmFjdGVycyB0byBjb3B5 Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IEByZXR1cm4gRGVzdGluYXRpb248YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSoqLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1D SEFSOCAqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUVGSUFQSTxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC1Bc2NpaVN0cm5DcHkgKDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgT1VUJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IENIQVI4Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICpEZXN0aW5hdGlvbiw8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7IENPTlNUIENIQVI4Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICpTb3VyY2Us PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyBVSU5UTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBMZW5ndGg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7ICk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtezxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgQ0hBUjgmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgKlJldHVyblZhbHVlOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IGlmIChMZW5ndGggPT0gMCkgezxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsgcmV0dXJuIERlc3Rp bmF0aW9uOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgfTxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IC8vPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyAvLyBEZXN0aW5hdGlvbiBjYW5ub3QgYmUgTlVM TDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgLy88YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IEFTU0VSVCAoRGVzdGluYXRpb24gIT0gTlVMTCk7PGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgLy88YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IC8vIERlc3RpbmF0aW9uIGFuZCBzb3VyY2Ug Y2Fubm90IG92ZXJsYXA8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IC8vPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBBU1NFUlQgKChVSU5UTikoRGVzdGluYXRpb24g LSBTb3VyY2UpICZndDsgQXNjaWlTdHJMZW4gKFNvdXJjZSkpOzxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgQVNTRVJUICgoVUlOVE4pKFNvdXJjZSAtIERlc3RpbmF0aW9uKSAmZ3Q7 PSBMZW5ndGgpOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IGlmIChQY2RHZXQzMiAoUGNkTWF4aW11bUFzY2lpU3RyaW5nTGVuZ3Ro KSAhPSAwKSB7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyBB U1NFUlQgKExlbmd0aCAmbHQ7PSBQY2RHZXQzMiAoUGNkTWF4aW11bUFzY2lpU3RyaW5nTGVuZ3Ro KSk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyB9PGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgUmV0dXJuVmFsdWUg PSBEZXN0aW5hdGlvbjs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLSZuYnNwOyB3aGlsZSAoKlNvdXJjZSAhPSAwICZhbXA7JmFtcDsgTGVuZ3Ro ICZndDsgMCkgezxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsg KihEZXN0aW5hdGlvbisrKSA9ICooU291cmNlKyspOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsmbmJzcDsmbmJzcDsgTGVuZ3RoLS07PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyB9PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgWmVyb01lbSAoRGVzdGluYXRpb24sIExlbmd0aCAqIHNpemVvZiAoKkRl c3RpbmF0aW9uKSk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyByZXR1cm4gUmV0 dXJuVmFsdWU7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLX08YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtI2VuZGlmPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyAvKio8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyBSZXR1cm5zIHRoZSBsZW5ndGggb2YgYSBOdWxsLXRlcm1pbmF0 ZWQgQVNDSUkgc3RyaW5nLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IEBAIC0xMzI5LDExNCAr ODgzLDYgQEAgQXNjaWlTdHJuQ21wICg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyByZXR1cm4gKkZpcnN0U3RyaW5nIC0gKlNlY29uZFN0cmluZzs8YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyB9PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtI2lmbmRlZiBESVNBQkxFX05FV19ERVBS RUNBVEVEX0lOVEVSRkFDRVM8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLS8qKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgW0FU VEVOVElPTl0gVGhpcyBmdW5jdGlvbiB3aWxsIGJlIGRlcHJlY2F0ZWQgZm9yIHNlY3VyaXR5IHJl YXNvbi48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyBDb25jYXRlbmF0ZXMgb25lIE51bGwtdGVybWluYXRlZCBBU0NJSSBzdHJpbmcg dG8gYW5vdGhlciBOdWxsLXRlcm1pbmF0ZWQ8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5i c3A7IEFTQ0lJIHN0cmluZywgYW5kIHJldHVybnMgdGhlIGNvbmNhdGVuYXRlZCBBU0NJSSBzdHJp bmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsgVGhpcyBmdW5jdGlvbiBjb25jYXRlbmF0ZXMgdHdvIE51bGwtdGVybWluYXRlZCBB U0NJSSBzdHJpbmdzLiBUaGUgY29udGVudHMgb2Y8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IE51bGwtdGVybWluYXRlZCBBU0NJSSBzdHJpbmcgU291cmNlIGFyZSBjb25jYXRlbmF0 ZWQgdG8gdGhlIGVuZCBvZiBOdWxsLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg dGVybWluYXRlZCBBU0NJSSBzdHJpbmcgRGVzdGluYXRpb24uIFRoZSBOdWxsLXRlcm1pbmF0ZWQg Y29uY2F0ZW5hdGVkIEFTQ0lJPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBTdHJp bmcgaXMgcmV0dXJuZWQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgRGVzdGluYXRpb24gaXMgTlVMTCwgdGhlbiBBU1NFUlQo KS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFNvdXJjZSBpcyBOVUxMLCB0 aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgUGNkTWF4 aW11bUFzY2lpU3RyaW5nTGVuZ3RoIGlzIG5vdCB6ZXJvIGFuZCBEZXN0aW5hdGlvbiBjb250YWlu cyBtb3JlIHRoYW48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFBjZE1heGltdW1B c2NpaVN0cmluZ0xlbmd0aCBBU0NJSSBjaGFyYWN0ZXJzLCBub3QgaW5jbHVkaW5nIHRoZSBOdWxs LXRlcm1pbmF0b3IsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyB0aGVuIEFTU0VS VCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgUGNkTWF4aW11bUFzY2lp U3RyaW5nTGVuZ3RoIGlzIG5vdCB6ZXJvIGFuZCBTb3VyY2UgY29udGFpbnMgbW9yZSB0aGFuPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBQY2RNYXhpbXVtQXNjaWlTdHJpbmdMZW5n dGggQVNDSUkgY2hhcmFjdGVycywgbm90IGluY2x1ZGluZyB0aGUgTnVsbC10ZXJtaW5hdG9yLDxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFBjZE1heGltdW1Bc2NpaVN0cmluZ0xlbmd0aCBp cyBub3QgemVybyBhbmQgY29uY2F0ZW5hdGluZyBEZXN0aW5hdGlvbiBhbmQ8YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFNvdXJjZSByZXN1bHRzIGluIGEgQVNDSUkgc3RyaW5nIHdp dGggbW9yZSB0aGFuIFBjZE1heGltdW1Bc2NpaVN0cmluZ0xlbmd0aDxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgQVNDSUkgY2hhcmFjdGVycywgdGhlbiBBU1NFUlQoKS48YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBA cGFyYW0mbmJzcDsgRGVzdGluYXRpb24gQSBwb2ludGVyIHRvIGEgTnVsbC10ZXJtaW5hdGVkIEFT Q0lJIHN0cmluZy48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbSZuYnNw OyBTb3VyY2UmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgQSBwb2ludGVyIHRvIGEgTnVs bC10ZXJtaW5hdGVkIEFTQ0lJIHN0cmluZy48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcmV0dXJuIERlc3RpbmF0aW9uPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0qKi88YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtQ0hBUjggKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC1FRklBUEk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtQXNjaWlTdHJDYXQgKDxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gT1VUIENIQVI4Jm5ic3A7Jm5ic3A7Jm5ic3A7 ICpEZXN0aW5hdGlvbiw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIENPTlNU IENIQVI4Jm5ic3A7ICpTb3VyY2U8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7ICk8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtezxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsgQXNjaWlTdHJDcHkgKERlc3RpbmF0aW9uICsgQXNjaWlTdHJMZW4gKERlc3RpbmF0aW9u KSwgU291cmNlKTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSZuYnNwOyAvLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgLy8g U2l6ZSBvZiB0aGUgcmVzdWx0aW5nIHN0cmluZyBzaG91bGQgbmV2ZXIgYmUgemVyby48YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IC8vIFBjZE1heGltdW1Vbmljb2RlU3RyaW5nTGVu Z3RoIGlzIHRlc3RlZCBpbnNpZGUgU3RyTGVuKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyAvLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQVNTRVJUIChBc2Np aVN0clNpemUgKERlc3RpbmF0aW9uKSAhPSAwKTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IHJldHVybiBEZXN0aW5hdGlvbjs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtfTxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtLyoq PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBbQVRURU5USU9OXSBUaGlzIGZ1bmN0 aW9uIHdpbGwgYmUgZGVwcmVjYXRlZCBmb3Igc2VjdXJpdHkgcmVhc29uLjxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IENvbmNhdGVu YXRlcyB1cCB0byBhIHNwZWNpZmllZCBsZW5ndGggb25lIE51bGwtdGVybWluYXRlZCBBU0NJSSBz dHJpbmcgdG88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHRoZSBlbmQgb2YgYW5v dGhlciBOdWxsLXRlcm1pbmF0ZWQgQVNDSUkgc3RyaW5nLCBhbmQgcmV0dXJucyB0aGU8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IGNvbmNhdGVuYXRlZCBBU0NJSSBzdHJpbmcuPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgVGhpcyBmdW5jdGlvbiBjb25jYXRlbmF0ZXMgdHdvIE51bGwtdGVybWluYXRlZCBBU0NJSSBz dHJpbmdzLiBUaGUgY29udGVudHM8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IG9m IE51bGwtdGVybWluYXRlZCBBU0NJSSBzdHJpbmcgU291cmNlIGFyZSBjb25jYXRlbmF0ZWQgdG8g dGhlIGVuZCBvZiBOdWxsLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgdGVybWlu YXRlZCBBU0NJSSBzdHJpbmcgRGVzdGluYXRpb24sIGFuZCBEZXN0aW5hdGlvbiBpcyByZXR1cm5l ZC4gQXQgbW9zdCw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IExlbmd0aCBBU0NJ SSBjaGFyYWN0ZXJzIGFyZSBjb25jYXRlbmF0ZWQgZnJvbSBTb3VyY2UgdG8gdGhlIGVuZCBvZjxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgRGVzdGluYXRpb24sIGFuZCBEZXN0aW5h dGlvbiBpcyBhbHdheXMgTnVsbC10ZXJtaW5hdGVkLiBJZiBMZW5ndGggaXMgMCwgdGhlbjxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgRGVzdGluYXRpb24gaXMgcmV0dXJuZWQgdW5t b2RpZmllZC4gSWYgU291cmNlIGFuZCBEZXN0aW5hdGlvbiBvdmVybGFwLCB0aGVuPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyB0aGUgcmVzdWx0cyBhcmUgdW5kZWZpbmVkLjxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 IElmIExlbmd0aCAmZ3Q7IDAgYW5kIERlc3RpbmF0aW9uIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCku PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBMZW5ndGggJmd0OyAwIGFuZCBT b3VyY2UgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IElmIFNvdXJjZSBhbmQgRGVzdGluYXRpb24gb3ZlcmxhcCwgdGhlbiBBU1NFUlQoKS48 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFBjZE1heGltdW1Bc2NpaVN0cmlu Z0xlbmd0aCBpcyBub3QgemVybywgYW5kIExlbmd0aCBpcyBncmVhdGVyIHRoYW48YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFBjZE1heGltdW1Bc2NpaVN0cmluZ0xlbmd0aCwgdGhl biBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFBjZE1heGlt dW1Bc2NpaVN0cmluZ0xlbmd0aCBpcyBub3QgemVybywgYW5kIERlc3RpbmF0aW9uIGNvbnRhaW5z IG1vcmUgdGhhbjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgUGNkTWF4aW11bUFz Y2lpU3RyaW5nTGVuZ3RoIEFTQ0lJIGNoYXJhY3RlcnMsIG5vdCBpbmNsdWRpbmcgdGhlIE51bGwt dGVybWluYXRvciw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHRoZW4gQVNTRVJU KCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBQY2RNYXhpbXVtQXNjaWlT dHJpbmdMZW5ndGggaXMgbm90IHplcm8sIGFuZCBTb3VyY2UgY29udGFpbnMgbW9yZSB0aGFuPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBQY2RNYXhpbXVtQXNjaWlTdHJpbmdMZW5n dGggQVNDSUkgY2hhcmFjdGVycywgbm90IGluY2x1ZGluZyB0aGUgTnVsbC10ZXJtaW5hdG9yLDxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFBjZE1heGltdW1Bc2NpaVN0cmluZ0xlbmd0aCBp cyBub3QgemVybywgYW5kIGNvbmNhdGVuYXRpbmcgRGVzdGluYXRpb24gYW5kPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBTb3VyY2UgcmVzdWx0cyBpbiBhIEFTQ0lJIHN0cmluZyB3 aXRoIG1vcmUgdGhhbiBQY2RNYXhpbXVtQXNjaWlTdHJpbmdMZW5ndGg8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IEFTQ0lJIGNoYXJhY3RlcnMsIG5vdCBpbmNsdWRpbmcgdGhlIE51 bGwtdGVybWluYXRvciwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW0mbmJzcDsgRGVzdGluYXRp b24gQSBwb2ludGVyIHRvIGEgTnVsbC10ZXJtaW5hdGVkIEFTQ0lJIHN0cmluZy48YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbSZuYnNwOyBTb3VyY2UmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgQSBwb2ludGVyIHRvIGEgTnVsbC10ZXJtaW5hdGVkIEFTQ0lJIHN0 cmluZy48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbSZuYnNwOyBMZW5n dGgmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVGhlIG1heGltdW0gbnVtYmVyIG9mIEFT Q0lJIGNoYXJhY3RlcnMgdG8gY29uY2F0ZW5hdGUgZnJvbTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgU291cmNlLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEByZXR1cm4gRGVzdGluYXRpb248YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSoqLzxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1DSEFSOCAqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LUVGSUFQSTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1Bc2NpaVN0cm5DYXQgKDxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gT1VUJm5ic3A7IENIQVI4Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICpEZXN0 aW5hdGlvbiw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IENPTlNUIENIQVI4Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 ICpTb3VyY2UsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyBVSU5UTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBMZW5ndGg8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7ICk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtezxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVUlOVE4mbmJzcDsmbmJzcDsgRGVzdGluYXRpb25MZW47 PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsgRGVzdGluYXRpb25MZW4gPSBBc2NpaVN0ckxlbiAoRGVzdGluYXRpb24pOzxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQXNjaWlTdHJuQ3B5IChEZXN0aW5hdGlvbiArIERl c3RpbmF0aW9uTGVuLCBTb3VyY2UsIExlbmd0aCk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBEZXN0aW5hdGlvbltEZXN0aW5hdGlvbkxlbiArIExlbmd0aF0gPSAnXDAnOzxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 IC8vPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyAvLyBTaXplIG9mIHRoZSByZXN1 bHRpbmcgc3RyaW5nIHNob3VsZCBuZXZlciBiZSB6ZXJvLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgLy8gUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGggaXMgdGVzdGVkIGlu c2lkZSBTdHJMZW4oKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IC8vPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBBU1NFUlQgKEFzY2lpU3RyU2l6ZSAoRGVzdGlu YXRpb24pICE9IDApOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgcmV0dXJuIERl c3RpbmF0aW9uOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC19PGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSNlbmRpZjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7PGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsmbmJzcDsmbmJzcDsgLyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgUmV0dXJucyB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiBhIE51 bGwtdGVybWluYXRlZCBBU0NJSSBzdWItc3RyaW5nPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg QEAgLTE2ODQsNzggKzExMzAsNiBAQCBBc2NpaVN0ckhleFRvVWludDY0ICg8YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXR1cm4gUmVzdWx0Ozxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7Jm5ic3A7Jm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0Ozxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0jaWZuZGVmIERJU0FCTEVfTkVXX0RFUFJF Q0FURURfSU5URVJGQUNFUzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtLyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBbQVRU RU5USU9OXSBUaGlzIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgZm9yIHNlY3VyaXR5IHJlYXNvbi48 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBDb252ZXJ0IG9uZSBOdWxsLXRlcm1pbmF0ZWQgQVNDSUkgc3RyaW5nIHRvIGEgTnVsbC10 ZXJtaW5hdGVkPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBVbmljb2RlIHN0cmlu ZyBhbmQgcmV0dXJucyB0aGUgVW5pY29kZSBzdHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVGhpcyBmdW5jdGlvbiBjb252 ZXJ0cyB0aGUgY29udGVudHMgb2YgdGhlIEFTQ0lJIHN0cmluZyBTb3VyY2UgdG8gdGhlIFVuaWNv ZGU8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHN0cmluZyBEZXN0aW5hdGlvbiwg YW5kIHJldHVybnMgRGVzdGluYXRpb24uJm5ic3A7IFRoZSBmdW5jdGlvbiB0ZXJtaW5hdGVzIHRo ZTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVW5pY29kZSBzdHJpbmcgRGVzdGlu YXRpb24gYnkgYXBwZW5kaW5nIGEgTnVsbC10ZXJtaW5hdG9yIGNoYXJhY3RlciBhdCB0aGUgZW5k Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVGhlIGNhbGxlciBpcyByZXNwb25z aWJsZSB0byBtYWtlIHN1cmUgRGVzdGluYXRpb24gcG9pbnRzIHRvIGEgYnVmZmVyIHdpdGggc2l6 ZTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgZXF1YWwgb3IgZ3JlYXRlciB0aGFu ICgoQXNjaWlTdHJMZW4gKFNvdXJjZSkgKyAxKSAqIHNpemVvZiAoQ0hBUjE2KSkgaW4gYnl0ZXMu PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsgSWYgRGVzdGluYXRpb24gaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIERlc3RpbmF0aW9uIGlzIG5vdCBhbGlnbmVkIG9uIGEg MTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsgSWYgU291cmNlIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBTb3VyY2UgYW5kIERlc3RpbmF0aW9uIG92ZXJsYXAsIHRo ZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBQY2RNYXhp bXVtQXNjaWlTdHJpbmdMZW5ndGggaXMgbm90IHplcm8sIGFuZCBTb3VyY2UgY29udGFpbnMgbW9y ZSB0aGFuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBQY2RNYXhpbXVtQXNjaWlT dHJpbmdMZW5ndGggQVNDSUkgY2hhcmFjdGVycyBub3QgaW5jbHVkaW5nIHRoZSBOdWxsLXRlcm1p bmF0b3IsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyB0aGVuIEFTU0VSVCgpLjxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgUGNkTWF4aW11bVVuaWNvZGVTdHJp bmdMZW5ndGggaXMgbm90IHplcm8sIGFuZCBTb3VyY2UgY29udGFpbnMgbW9yZSB0aGFuPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBQY2RNYXhpbXVtVW5pY29kZVN0cmluZ0xlbmd0 aCBBU0NJSSBjaGFyYWN0ZXJzIG5vdCBpbmNsdWRpbmcgdGhlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyBOdWxsLXRlcm1pbmF0b3IsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFt Jm5ic3A7IFNvdXJjZSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBB IHBvaW50ZXIgdG8gYSBOdWxsLXRlcm1pbmF0ZWQgQVNDSUkgc3RyaW5nLjxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtJm5ic3A7IERlc3RpbmF0aW9uJm5ic3A7Jm5ic3A7 IEEgcG9pbnRlciB0byBhIE51bGwtdGVybWluYXRlZCBVbmljb2RlIHN0cmluZy48YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcmV0 dXJuIERlc3RpbmF0aW9uLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtKiovPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUNIQVIxNiAqPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUVGSUFQSTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC1Bc2NpaVN0clRvVW5pY29kZVN0ciAoPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyBJTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBDT05TVCBDSEFSOCZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyAqU291cmNlLDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgT1VUJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IENIQVIxNiZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqRGVzdGluYXRpb248YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7ICk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt ezxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQ0hBUjE2Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICpSZXR1cm5WYWx1ZTs8YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBBU1NF UlQgKERlc3RpbmF0aW9uICE9IE5VTEwpOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IC8vPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyAvLyBBU1NFUlQgU291cmNlIGlzIGxlc3MgbG9uZyB0aGFuIFBjZE1heGltdW1B c2NpaVN0cmluZ0xlbmd0aDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgLy88YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEFTU0VSVCAoQXNjaWlTdHJTaXplIChTb3Vy Y2UpICE9IDApOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IC8vPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyAvLyBT b3VyY2UgYW5kIERlc3RpbmF0aW9uIHNob3VsZCBub3Qgb3ZlcmxhcDxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgLy88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEFT U0VSVCAoKFVJTlROKSAoKENIQVI4ICopIERlc3RpbmF0aW9uIC0gU291cmNlKSAmZ3Q7IEFzY2lp U3RyTGVuIChTb3VyY2UpKTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEFTU0VS VCAoKFVJTlROKSAoU291cmNlIC0gKENIQVI4ICopIERlc3RpbmF0aW9uKSAmZ3Q7PSAoQXNjaWlT dHJTaXplIChTb3VyY2UpICogc2l6ZW9mIChDSEFSMTYpKSk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IFJldHVyblZhbHVlID0gRGVzdGluYXRpb247PGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSZuYnNwOyB3aGlsZSAoKlNvdXJjZSAhPSAnXDAnKSB7PGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyAqKERlc3RpbmF0aW9uKyspID0gKENIQVIx NikoVUlOVDgpICooU291cmNlKyspOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg fTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgLy88YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IC8vIEVuZCB0aGUgRGVzdGluYXRpb24gd2l0aCBhIE5VTEwuPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyAvLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsgKkRlc3RpbmF0aW9uID0gJ1wwJzs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyAvLzxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgLy8gQVNTRVJUIE9yaWdpbmFsIERlc3RpbmF0aW9uIGlzIGxlc3MgbG9u ZyB0aGFuIFBjZE1heGltdW1Vbmljb2RlU3RyaW5nTGVuZ3RoPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyAvLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQVNTRVJU IChTdHJTaXplIChSZXR1cm5WYWx1ZSkgIT0gMCk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgcmV0dXJuIFJldHVyblZhbHVlOzxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC19PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0jZW5kaWY8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 Ozxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7Jm5ic3A7Jm5ic3A7IFNUQVRJQyBDSEFSOCBFbmNv ZGluZ1RhYmxlW10gPSAmcXVvdDtBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiZxdW90Ozxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZx dW90O2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6JnF1b3Q7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgZGlmZiAtLWdpdCBhL01kZVBrZy9MaWJyYXJ5L0Jhc2VQY2RMaWJOdWxsL1BjZExpYi5j IGIvTWRlUGtnL0xpYnJhcnkvQmFzZVBjZExpYk51bGwvUGNkTGliLmM8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyBpbmRleCA0OTQ0Nzg4MGFlOGIuLjI2NWZhZTVkNzM2OCAxMDA2NDQ8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtLS0gYS9NZGVQa2cvTGlicmFyeS9CYXNlUGNkTGliTnVsbC9Q Y2RMaWIuYzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7ICsrKyBiL01kZVBrZy9MaWJyYXJ5L0Jh c2VQY2RMaWJOdWxsL1BjZExpYi5jPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgQEAgLTM4Niwz NjcgKzM4Niw2IEBAIExpYlBjZEdldEV4U2l6ZSAoPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsm bmJzcDsmbmJzcDsgfTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7PGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSNpZm5kZWYgRElTQUJMRV9ORVdfREVQUkVDQVRFRF9JTlRFUkZBQ0VTPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLS8qKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg VGhpcyBmdW5jdGlvbiBwcm92aWRlcyBhIG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVlIGZv ciBhIGdpdmVuIFBDRCB0b2tlbi48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBTZXRzIHRoZSA4LWJpdCB2YWx1ZSBmb3IgdGhlIHRv a2VuIHNwZWNpZmllZCBieSBUb2tlbk51bWJlcjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsgdG8gdGhlIHZhbHVlIHNwZWNpZmllZCBieSBWYWx1ZS4mbmJzcDsgVmFsdWUgaXMgcmV0 dXJuZWQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgQHBhcmFtW2luXSZuYnNwOyBUb2tlbk51bWJlciZuYnNwOyZuYnNwOyBUaGUg UENEIHRva2VuIG51bWJlciB0byBzZXQgYSBjdXJyZW50IHZhbHVlIGZvci48YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbVtpbl0mbmJzcDsgVmFsdWUmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVGhlIDgtYml0IHZhbHVlIHRvIHNl dC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBAcmV0dXJuIFJldHVybiB0aGUgdmFsdWUgdGhhdCB3YXMgc2V0Ljxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtKiovPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLVVJTlQ4PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUVGSUFQ STxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1MaWJQY2RTZXQ4ICg8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIFVJTlROJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRva2VuTnVtYmVyLDxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gVUlOVDgmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg VmFsdWU8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7ICk8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtezxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQVNTRVJUIChG QUxTRSk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgcmV0dXJuIDA7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLX08YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtLyoqPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBUaGlzIGZ1bmN0aW9uIHByb3ZpZGVzIGEgbWVh bnMgYnkgd2hpY2ggdG8gc2V0IGEgdmFsdWUgZm9yIGEgZ2l2ZW4gUENEIHRva2VuLjxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFNl dHMgdGhlIDE2LWJpdCB2YWx1ZSBmb3IgdGhlIHRva2VuIHNwZWNpZmllZCBieSBUb2tlbk51bWJl cjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgdG8gdGhlIHZhbHVlIHNwZWNpZmll ZCBieSBWYWx1ZS4mbmJzcDsgVmFsdWUgaXMgcmV0dXJuZWQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtW2luXSZuYnNw OyBUb2tlbk51bWJlciZuYnNwOyZuYnNwOyBUaGUgUENEIHRva2VuIG51bWJlciB0byBzZXQgYSBj dXJyZW50IHZhbHVlIGZvci48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJh bVtpbl0mbmJzcDsgVmFsdWUmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgVGhlIDE2LWJpdCB2YWx1ZSB0byBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHJldHVybiBSZXR1cm4gdGhl IHZhbHVlIHRoYXQgd2FzIHNldC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSoqLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1VSU5UMTY8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtRUZJQVBJPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLUxpYlBjZFNldDE2ICg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIFVJ TlROJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRva2VuTnVtYmVyLDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsgSU4gVUlOVDE2Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFZhbHVlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyApPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLXs8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IEFTU0VSVCAoRkFMU0UpOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHJldHVybiAwOzxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC19PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLS8qKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg VGhpcyBmdW5jdGlvbiBwcm92aWRlcyBhIG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVlIGZv ciBhIGdpdmVuIFBDRCB0b2tlbi48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBTZXRzIHRoZSAzMi1iaXQgdmFsdWUgZm9yIHRoZSB0 b2tlbiBzcGVjaWZpZWQgYnkgVG9rZW5OdW1iZXI8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgVmFsdWUuJm5ic3A7IFZhbHVlIGlzIHJl dHVybmVkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IEBwYXJhbVtpbl0mbmJzcDsgVG9rZW5OdW1iZXImbmJzcDsmbmJzcDsgVGhl IFBDRCB0b2tlbiBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1ZSBmb3IuPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IFZhbHVlJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSAzMi1iaXQgdmFsdWUgdG8g c2V0Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IEByZXR1cm4gUmV0dXJuIHRoZSB2YWx1ZSB0aGF0IHdhcyBzZXQuPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0qKi88YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtVUlOVDMyPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUVG SUFQSTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1MaWJQY2RTZXQzMiAoPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBVSU5UTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUb2tlbk51bWJl ciw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIFVJTlQzMiZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBW YWx1ZTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgKTxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC17PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBBU1NFUlQgKEZB TFNFKTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyByZXR1cm4gMDs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtfTxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0vKio8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgYSBtZWFu cyBieSB3aGljaCB0byBzZXQgYSB2YWx1ZSBmb3IgYSBnaXZlbiBQQ0QgdG9rZW4uPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgU2V0 cyB0aGUgNjQtYml0IHZhbHVlIGZvciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IFRva2VuTnVtYmVy PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyB0byB0aGUgdmFsdWUgc3BlY2lmaWVk IGJ5IFZhbHVlLiZuYnNwOyBWYWx1ZSBpcyByZXR1cm5lZC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7 IFRva2VuTnVtYmVyJm5ic3A7Jm5ic3A7IFRoZSBQQ0QgdG9rZW4gbnVtYmVyIHRvIHNldCBhIGN1 cnJlbnQgdmFsdWUgZm9yLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFt W2luXSZuYnNwOyBWYWx1ZSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyBUaGUgNjQtYml0IHZhbHVlIHRvIHNldC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcmV0dXJuIFJldHVybiB0aGUg dmFsdWUgdGhhdCB3YXMgc2V0Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtKiovPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLVVJTlQ2NDxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1FRklBUEk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtTGliUGNkU2V0NjQgKDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gVUlO VE4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgVG9rZW5OdW1iZXIsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBJTiBVSU5UNjQmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVmFsdWU8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7ICk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtezxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgQVNTRVJUIChGQUxTRSk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgcmV0dXJuIDA7PGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLX08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtLyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBU aGlzIGZ1bmN0aW9uIHByb3ZpZGVzIGEgbWVhbnMgYnkgd2hpY2ggdG8gc2V0IGEgdmFsdWUgZm9y IGEgZ2l2ZW4gUENEIHRva2VuLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFNldHMgYSBidWZmZXIgZm9yIHRoZSB0b2tlbiBzcGVj aWZpZWQgYnkgVG9rZW5OdW1iZXIgdG8gdGhlIHZhbHVlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyBzcGVjaWZpZWQgYnkgQnVmZmVyIGFuZCBTaXplT2ZCdWZmZXIuJm5ic3A7IEJ1 ZmZlciBpcyByZXR1cm5lZC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFNp emVPZkJ1ZmZlciBpcyBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gc2l6ZSBzdXBwb3J0IGJ5IFRv a2VuTnVtYmVyLDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgdGhlbiBzZXQgU2l6 ZU9mQnVmZmVyIHRvIHRoZSBtYXhpbXVtIHNpemUgc3VwcG9ydGVkIGJ5IFRva2VuTnVtYmVyIGFu ZDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgcmV0dXJuIE5VTEwgdG8gaW5kaWNh dGUgdGhhdCB0aGUgc2V0IG9wZXJhdGlvbiB3YXMgbm90IGFjdHVhbGx5IHBlcmZvcm1lZC48YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyBJZiBTaXplT2ZCdWZmZXIgaXMgc2V0IHRvIE1BWF9BRERSRVNTLCB0aGVuIFNpemVPZkJ1ZmZl ciBtdXN0IGJlIHNldCB0byB0aGU8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IG1h eGltdW0gc2l6ZSBzdXBwb3J0ZWQgYnkgVG9rZW5OYW1lIGFuZCBOVUxMIG11c3QgYmUgcmV0dXJu ZWQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsgSWYgU2l6ZU9mQnVmZmVyIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBTaXplT2ZCdWZmZXIgJmd0OyAwIGFuZCBCdWZm ZXIgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7IFRva2VuTnVtYmVyJm5ic3A7Jm5ic3A7IFRoZSBQQ0QgdG9rZW4gbnVt YmVyIHRvIHNldCBhIGN1cnJlbnQgdmFsdWUgZm9yLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsgQHBhcmFtW2luLCBvdXRdIFNpemVPZkJ1ZmZlciZuYnNwOyBUaGUgc2l6ZSwgaW4g Ynl0ZXMsIG9mIEJ1ZmZlci48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJh bVtpbl0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgQnVmZmVyJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IEEgcG9pbnRlciB0byB0aGUgYnVmZmVyIHRvIHNl dC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBAcmV0dXJuIFJldHVybiB0aGUgcG9pbnRlciBmb3IgdGhlIGJ1ZmZlciBiZWVuIHNl dC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSoqLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1WT0lEICo8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtRUZJQVBJPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUxpYlBjZFNldFB0ciAo PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBVSU5UTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUb2tlbk51bWJlciw8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIE9VVCZuYnNwOyZuYnNwOyZuYnNw OyBVSU5UTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqU2l6ZU9mQnVmZmVyLDxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgSU4gQ09OU1QmbmJzcDsgVk9JRCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAq QnVmZmVyPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyApPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLXs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEFTU0VSVCAo RkFMU0UpOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IHJldHVybiBOVUxMOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC19PGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLS8qKjxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVGhpcyBmdW5jdGlvbiBwcm92aWRlcyBh IG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVlIGZvciBhIGdpdmVuIFBDRCB0b2tlbi48YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyBTZXRzIHRoZSBCb29sZWFuIHZhbHVlIGZvciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IFRva2Vu TnVtYmVyPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyB0byB0aGUgdmFsdWUgc3Bl Y2lmaWVkIGJ5IFZhbHVlLiZuYnNwOyBWYWx1ZSBpcyByZXR1cm5lZC48YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5d Jm5ic3A7IFRva2VuTnVtYmVyJm5ic3A7Jm5ic3A7IFRoZSBQQ0QgdG9rZW4gbnVtYmVyIHRvIHNl dCBhIGN1cnJlbnQgdmFsdWUgZm9yLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg QHBhcmFtW2luXSZuYnNwOyBWYWx1ZSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyBUaGUgYm9vbGVhbiB2YWx1ZSB0byBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHJldHVybiBSZXR1 cm4gdGhlIHZhbHVlIHRoYXQgd2FzIHNldC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSoqLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1C T09MRUFOPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUVGSUFQSTxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC1MaWJQY2RTZXRCb29sICg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5i c3A7IElOIFVJTlROJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRva2VuTnVtYmVyLDxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgSU4gQk9PTEVBTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBWYWx1ZTxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgKTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC17PGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBBU1NFUlQgKEZBTFNFKTs8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyByZXR1cm4gRkFMU0U7 PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLX08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtLyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBUaGlzIGZ1bmN0aW9uIHByb3ZpZGVzIGEgbWVhbnMgYnkgd2hpY2ggdG8gc2V0IGEg dmFsdWUgZm9yIGEgZ2l2ZW4gUENEIHRva2VuLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFNldHMgdGhlIDgtYml0IHZhbHVlIGZv ciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IFRva2VuTnVtYmVyIGFuZDxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgR3VpZCB0byB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IFZhbHVlLiBW YWx1ZSBpcyByZXR1cm5lZC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBHdWlkIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgQHBhcmFtW2luXSZuYnNwOyBHdWlkJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSBwb2ludGVyIHRvIGEgMTI4LWJpdCB1bmlxdWUgdmFs dWUgdGhhdDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZGVzaWduYXRlcyB3aGljaCBuYW1lc3BhY2UgdG8g c2V0IGEgdmFsdWUgZnJvbS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJh bVtpbl0mbmJzcDsgVG9rZW5OdW1iZXImbmJzcDsmbmJzcDsgVGhlIFBDRCB0b2tlbiBudW1iZXIg dG8gc2V0IGEgY3VycmVudCB2YWx1ZSBmb3IuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBAcGFyYW1baW5dJm5ic3A7IFZhbHVlJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSA4LWJpdCB2YWx1ZSB0byBzZXQuPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHJldHVybiBS ZXR1cm4gdGhlIHZhbHVlIHRoYXQgd2FzIHNldC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSoqLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC1VSU5UODxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1FRklBUEk8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtTGliUGNkU2V0RXg4ICg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5i c3A7IElOIENPTlNUIEdVSUQmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgKkd1aWQsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBVSU5UTiZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyBUb2tlbk51bWJlciw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 IElOIFVJTlQ4Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFZhbHVlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyApPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLXs8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IEFTU0VSVCAoRkFMU0UpOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHJldHVybiAwOzxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC19PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLS8qKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVGhp cyBmdW5jdGlvbiBwcm92aWRlcyBhIG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVlIGZvciBh IGdpdmVuIFBDRCB0b2tlbi48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBTZXRzIHRoZSAxNi1iaXQgdmFsdWUgZm9yIHRoZSB0b2tl biBzcGVjaWZpZWQgYnkgVG9rZW5OdW1iZXIgYW5kPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBHdWlkIHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgVmFsdWUuIFZhbHVlIGlzIHJl dHVybmVkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IElmIEd1aWQgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1b aW5dJm5ic3A7IEd1aWQmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgVGhlIHBvaW50ZXIgdG8gYSAxMjgtYml0IHVuaXF1ZSB2YWx1ZSB0aGF0PGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBkZXNpZ25hdGVzIHdoaWNoIG5hbWVzcGFjZSB0byBzZXQgYSB2YWx1 ZSBmcm9tLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtW2luXSZuYnNw OyBUb2tlbk51bWJlciZuYnNwOyZuYnNwOyBUaGUgUENEIHRva2VuIG51bWJlciB0byBzZXQgYSBj dXJyZW50IHZhbHVlIGZvci48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJh bVtpbl0mbmJzcDsgVmFsdWUmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgVGhlIDE2LWJpdCB2YWx1ZSB0byBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHJldHVybiBSZXR1cm4gdGhl IHZhbHVlIHRoYXQgd2FzIHNldC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSoqLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1VSU5UMTY8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtRUZJQVBJPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLUxpYlBjZFNldEV4MTYgKDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4g Q09OU1QgR1VJRCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqR3Vp ZCw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIFVJTlROJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IFRva2VuTnVtYmVyLDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gVUlO VDE2Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IFZhbHVlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyApPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLXs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5i c3A7IEFTU0VSVCAoRkFMU0UpOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHJldHVybiAwOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC19PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLS8qKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVGhpcyBmdW5jdGlvbiBw cm92aWRlcyBhIG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVlIGZvciBhIGdpdmVuIFBDRCB0 b2tlbi48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyBTZXRzIHRoZSAzMi1iaXQgdmFsdWUgZm9yIHRoZSB0b2tlbiBzcGVjaWZpZWQg YnkgVG9rZW5OdW1iZXIgYW5kPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBHdWlk IHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgVmFsdWUuIFZhbHVlIGlzIHJldHVybmVkLjxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 IElmIEd1aWQgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IEd1 aWQmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg VGhlIHBvaW50ZXIgdG8gYSAxMjgtYml0IHVuaXF1ZSB2YWx1ZSB0aGF0PGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyBkZXNpZ25hdGVzIHdoaWNoIG5hbWVzcGFjZSB0byBzZXQgYSB2YWx1ZSBmcm9tLjxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtW2luXSZuYnNwOyBUb2tlbk51bWJl ciZuYnNwOyZuYnNwOyBUaGUgUENEIHRva2VuIG51bWJlciB0byBzZXQgYSBjdXJyZW50IHZhbHVl IGZvci48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbVtpbl0mbmJzcDsg VmFsdWUmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVGhl IDMyLWJpdCB2YWx1ZSB0byBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHJldHVybiBSZXR1cm4gdGhlIHZhbHVlIHRoYXQg d2FzIHNldC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSoqLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1VSU5UMzI8YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtRUZJQVBJPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUxpYlBjZFNl dEV4MzIgKDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gQ09OU1QgR1VJRCZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqR3VpZCw8YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIFVJTlROJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRva2VuTnVt YmVyLDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gVUlOVDMyJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 IFZhbHVlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyApPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLXs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEFTU0VSVCAo RkFMU0UpOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IHJldHVybiAwOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC19PGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLS8qKjxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVGhpcyBmdW5jdGlvbiBwcm92aWRlcyBhIG1l YW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVlIGZvciBhIGdpdmVuIFBDRCB0b2tlbi48YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBT ZXRzIHRoZSA2NC1iaXQgdmFsdWUgZm9yIHRoZSB0b2tlbiBzcGVjaWZpZWQgYnkgVG9rZW5OdW1i ZXIgYW5kPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBHdWlkIHRvIHRoZSB2YWx1 ZSBzcGVjaWZpZWQgYnkgVmFsdWUuIFZhbHVlIGlzIHJldHVybmVkLjxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIEd1aWQgaXMg TlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IEd1aWQmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVGhlIHBvaW50ZXIg dG8gYSAxMjgtYml0IHVuaXF1ZSB2YWx1ZSB0aGF0PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBkZXNpZ25h dGVzIHdoaWNoIG5hbWVzcGFjZSB0byBzZXQgYSB2YWx1ZSBmcm9tLjxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtW2luXSZuYnNwOyBUb2tlbk51bWJlciZuYnNwOyZuYnNw OyBUaGUgUENEIHRva2VuIG51bWJlciB0byBzZXQgYSBjdXJyZW50IHZhbHVlIGZvci48YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbVtpbl0mbmJzcDsgVmFsdWUmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVGhlIDY0LWJpdCB2YWx1 ZSB0byBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgQHJldHVybiBSZXR1cm4gdGhlIHZhbHVlIHRoYXQgd2FzIHNldC48YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSoqLzxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1VSU5UNjQ8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtRUZJQVBJPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUxpYlBjZFNldEV4NjQgKDxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gQ09OU1QgR1VJRCZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqR3VpZCw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IElOIFVJTlROJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRva2VuTnVtYmVyLDxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gVUlOVDY0Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFZhbHVlPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyApPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LXs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEFTU0VSVCAoRkFMU0UpOzxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 IHJldHVybiAwOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC19PGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLS8qKjxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgVGhpcyBmdW5jdGlvbiBwcm92aWRlcyBhIG1lYW5zIGJ5IHdoaWNo IHRvIHNldCBhIHZhbHVlIGZvciBhIGdpdmVuIFBDRCB0b2tlbi48YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBTZXRzIGEgYnVmZmVy IGZvciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IFRva2VuTnVtYmVyIHRvIHRoZSB2YWx1ZSBzcGVj aWZpZWQgYnk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEJ1ZmZlciBhbmQgU2l6 ZU9mQnVmZmVyLiZuYnNwOyBCdWZmZXIgaXMgcmV0dXJuZWQuJm5ic3A7IElmIFNpemVPZkJ1ZmZl ciBpcyBncmVhdGVyIHRoYW48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHRoZSBt YXhpbXVtIHNpemUgc3VwcG9ydCBieSBUb2tlbk51bWJlciwgdGhlbiBzZXQgU2l6ZU9mQnVmZmVy IHRvIHRoZSBtYXhpbXVtIHNpemU8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHN1 cHBvcnRlZCBieSBUb2tlbk51bWJlciBhbmQgcmV0dXJuIE5VTEwgdG8gaW5kaWNhdGUgdGhhdCB0 aGUgc2V0IG9wZXJhdGlvbjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgd2FzIG5v dCBhY3R1YWxseSBwZXJmb3JtZWQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgR3VpZCBpcyBOVUxMLCB0aGVuIEFTU0VSVCgp Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgU2l6ZU9mQnVmZmVyIGlzIE5V TEwsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBT aXplT2ZCdWZmZXIgJmd0OyAwIGFuZCBCdWZmZXIgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyBAcGFyYW1baW5dJm5ic3A7IEd1aWQmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVGhlIHBvaW50ZXIg dG8gYSAxMjgtYml0IHVuaXF1ZSB2YWx1ZSB0aGF0PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBkZXNpZ25hdGVzIHdoaWNoIG5hbWVzcGFjZSB0byBzZXQgYSB2YWx1 ZSBmcm9tLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtW2luXSZuYnNw OyBUb2tlbk51bWJlciZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUaGUgUENE IHRva2VuIG51bWJlciB0byBzZXQgYSBjdXJyZW50IHZhbHVlIGZvci48YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbVtpbiwgb3V0XSBTaXplT2ZCdWZmZXImbmJzcDsgVGhl IHNpemUsIGluIGJ5dGVzLCBvZiBCdWZmZXIuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBAcGFyYW1baW5dJm5ic3A7IEJ1ZmZlciZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBBIHBvaW50ZXIgdG8gdGhlIGJ1 ZmZlciB0byBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgQHJldHVybiBSZXR1cm4gdGhlIHBpbnRlciB0byB0aGUgYnVmZmVy IGJlZW4gc2V0Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtKiovPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLVZPSUQgKjxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC1FRklBUEk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtTGliUGNk U2V0RXhQdHIgKDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4mbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgQ09OU1QgR1VJRCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyAqR3VpZCw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 IElOJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFVJTlROJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRv a2VuTnVtYmVyLDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gT1VUJm5ic3A7 IFVJTlROJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICpTaXplT2ZCdWZmZXIsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyBJTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBWT0lEJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7ICpCdWZmZXI8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 ICk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtezxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsgQVNTRVJUIChGQUxTRSk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgcmV0dXJuIE5VTEw7PGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLX08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtLyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBUaGlzIGZ1 bmN0aW9uIHByb3ZpZGVzIGEgbWVhbnMgYnkgd2hpY2ggdG8gc2V0IGEgdmFsdWUgZm9yIGEgZ2l2 ZW4gUENEIHRva2VuLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IFNldHMgdGhlIEJvb2xlYW4gdmFsdWUgZm9yIHRoZSB0b2tlbiBz cGVjaWZpZWQgYnkgVG9rZW5OdW1iZXIgYW5kPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBHdWlkIHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgVmFsdWUuIFZhbHVlIGlzIHJldHVy bmVkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IElmIEd1aWQgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5d Jm5ic3A7IEd1aWQmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgVGhlIHBvaW50ZXIgdG8gYSAxMjgtYml0IHVuaXF1ZSB2YWx1ZSB0aGF0PGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyBkZXNpZ25hdGVzIHdoaWNoIG5hbWVzcGFjZSB0byBzZXQgYSB2YWx1ZSBm cm9tLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtW2luXSZuYnNwOyBU b2tlbk51bWJlciZuYnNwOyZuYnNwOyBUaGUgUENEIHRva2VuIG51bWJlciB0byBzZXQgYSBjdXJy ZW50IHZhbHVlIGZvci48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbVtp bl0mbmJzcDsgVmFsdWUmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgVGhlIEJvb2xlYW4gdmFsdWUgdG8gc2V0Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEByZXR1cm4gUmV0dXJuIHRoZSB2 YWx1ZSB0aGF0IHdhcyBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC0qKi88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtQk9PTEVBTjxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1FRklBUEk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtTGliUGNkU2V0RXhCb29sICg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElO IENPTlNUIEdVSUQmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKkd1 aWQsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBVSU5UTiZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyBUb2tlbk51bWJlciw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIEJP T0xFQU4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgVmFsdWU8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7ICk8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtezxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg QVNTRVJUIChGQUxTRSk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgcmV0dXJuIEZBTFNFOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC19PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSNlbmRpZjxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyAvKio8YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUaGlzIGZ1bmN0 aW9uIHByb3ZpZGVzIGEgbWVhbnMgYnkgd2hpY2ggdG8gc2V0IGEgdmFsdWUgZm9yIGEgZ2l2ZW4g UENEIHRva2VuLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgZGlmZiAtLWdpdCBhL01kZVBrZy9MaWJyYXJ5L0Jhc2VQcmludExpYi9QcmludExpYi5j IGIvTWRlUGtnL0xpYnJhcnkvQmFzZVByaW50TGliL1ByaW50TGliLmM8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyBpbmRleCBhZjc3MTY1MmU0YjAuLjhiZmJhYjA1ZjU4YyAxMDA2NDQ8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtLS0gYS9NZGVQa2cvTGlicmFyeS9CYXNlUHJpbnRMaWIvUHJp bnRMaWIuYzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7ICsrKyBiL01kZVBrZy9MaWJyYXJ5L0Jh c2VQcmludExpYi9QcmludExpYi5jPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgQEAgLTM0Myw2 NSArMzQzLDYgQEAgVW5pY29kZVNQcmludEFzY2lpRm9ybWF0ICg8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXR1cm4gTnVtYmVyT2ZQcmludGVkOzxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7Jm5ic3A7Jm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0Ozxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0jaWZuZGVmIERJU0FCTEVfTkVXX0RF UFJFQ0FURURfSU5URVJGQUNFUzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtLyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBb QVRURU5USU9OXSBUaGlzIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgZm9yIHNlY3VyaXR5IHJlYXNv bi48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBDb252ZXJ0cyBhIGRlY2ltYWwgdmFsdWUgdG8gYSBOdWxsLXRlcm1pbmF0ZWQgVW5p Y29kZSBzdHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgQ29udmVydHMgdGhlIGRlY2ltYWwgbnVtYmVyIHNwZWNpZmllZCBi eSBWYWx1ZSB0byBhIE51bGwtdGVybWluYXRlZCBVbmljb2RlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyBzdHJpbmcgc3BlY2lmaWVkIGJ5IEJ1ZmZlciBjb250YWluaW5nIGF0IG1v c3QgV2lkdGggY2hhcmFjdGVycy4gTm8gcGFkZGluZyBvZiBzcGFjZXM8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IGlzIGV2ZXIgcGVyZm9ybWVkLiBJZiBXaWR0aCBpcyAwIHRoZW4g YSB3aWR0aCBvZiBNQVhJTVVNX1ZBTFVFX0NIQVJBQ1RFUlMgaXMgYXNzdW1lZC48YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFRoZSBudW1iZXIgb2YgVW5pY29kZSBjaGFyYWN0ZXJz IGluIEJ1ZmZlciBpcyByZXR1cm5lZCBub3QgaW5jbHVkaW5nIHRoZSBOdWxsLXRlcm1pbmF0b3Iu PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiB0aGUgY29udmVyc2lvbiBjb250 YWlucyBtb3JlIHRoYW4gV2lkdGggY2hhcmFjdGVycywgdGhlbiBvbmx5IHRoZSBmaXJzdDxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgV2lkdGggY2hhcmFjdGVycyBhcmUgcmV0dXJu ZWQsIGFuZCB0aGUgdG90YWwgbnVtYmVyIG9mIGNoYXJhY3RlcnM8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IHJlcXVpcmVkIHRvIHBlcmZvcm0gdGhlIGNvbnZlcnNpb24gaXMgcmV0 dXJuZWQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBBZGRpdGlvbmFsIGNvbnZl cnNpb24gcGFyYW1ldGVycyBhcmUgc3BlY2lmaWVkIGluIEZsYWdzLjxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFRoZSBGbGFncyBi aXQgTEVGVF9KVVNUSUZZIGlzIGFsd2F5cyBpZ25vcmVkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgQWxsIGNvbnZlcnNpb25zIGFyZSBsZWZ0IGp1c3RpZmllZCBpbiBCdWZmZXIu PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBXaWR0aCBpcyAwLCBQUkVGSVhf WkVSTyBpcyBpZ25vcmVkIGluIEZsYWdzLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgSWYgQ09NTUFfVFlQRSBpcyBzZXQgaW4gRmxhZ3MsIHRoZW4gUFJFRklYX1pFUk8gaXMgaWdu b3JlZCBpbiBGbGFncywgYW5kIGNvbW1hczxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgYXJlIGluc2VydGVkIGV2ZXJ5IDNyZCBkaWdpdCBzdGFydGluZyBmcm9tIHRoZSByaWdodC48 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFJBRElYX0hFWCBpcyBzZXQgaW4g RmxhZ3MsIHRoZW4gdGhlIG91dHB1dCBidWZmZXIgd2lsbCBiZTxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgZm9ybWF0dGVkIGluIGhleGFkZWNpbWFsIGZvcm1hdC48YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFZhbHVlIGlzICZsdDsgMCBhbmQgUkFESVhfSEVY IGlzIG5vdCBzZXQgaW4gRmxhZ3MsIHRoZW4gdGhlIGZpc3QgY2hhcmFjdGVyIGluIEJ1ZmZlciBp cyBhICctJy48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFBSRUZJWF9aRVJP IGlzIHNldCBpbiBGbGFncyBhbmQgUFJFRklYX1pFUk8gaXMgbm90IGJlaW5nIGlnbm9yZWQsPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyB0aGVuIEJ1ZmZlciBpcyBwYWRkZWQgd2l0 aCAnMCcgY2hhcmFjdGVycyBzbyB0aGUgY29tYmluYXRpb24gb2YgdGhlIG9wdGlvbmFsICctJzxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgc2lnbiBjaGFyYWN0ZXIsICcwJyBjaGFy YWN0ZXJzLCBkaWdpdCBjaGFyYWN0ZXJzIGZvciBWYWx1ZSwgYW5kIHRoZSBOdWxsLXRlcm1pbmF0 b3I8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IGFkZCB1cCB0byBXaWR0aCBjaGFy YWN0ZXJzLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgYm90aCBDT01NQV9U WVBFIGFuZCBSQURJWF9IRVggYXJlIHNldCBpbiBGbGFncywgdGhlbiBBU1NFUlQoKS48YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIEJ1ZmZlciBpcyBOVUxMLCB0aGVuIEFTU0VS VCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgQnVmZmVyIGlzIG5vdCBh bGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgdW5zdXBwb3J0ZWQgYml0cyBhcmUgc2V0IGluIEZsYWdz LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgYm90 aCBDT01NQV9UWVBFIGFuZCBSQURJWF9IRVggYXJlIHNldCBpbiBGbGFncywgdGhlbiBBU1NFUlQo KS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFdpZHRoICZndDs9IE1BWElN VU1fVkFMVUVfQ0hBUkFDVEVSUywgdGhlbiBBU1NFUlQoKTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbSZuYnNwOyBCdWZm ZXImbmJzcDsgVGhlIHBvaW50ZXIgdG8gdGhlIG91dHB1dCBidWZmZXIgZm9yIHRoZSBwcm9kdWNl ZCBOdWxsLXRlcm1pbmF0ZWQ8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFVuaWNvZGUgc3RyaW5nLjxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtJm5ic3A7IEZsYWdzJm5ic3A7Jm5ic3A7 IFRoZSBiaXRtYXNrIG9mIGZsYWdzIHRoYXQgc3BlY2lmeSBsZWZ0IGp1c3RpZmljYXRpb24sIHpl cm8gcGFkLCBhbmQgY29tbWFzLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBh cmFtJm5ic3A7IFZhbHVlJm5ic3A7Jm5ic3A7IFRoZSA2NC1iaXQgc2lnbmVkIHZhbHVlIHRvIGNv bnZlcnQgdG8gYSBzdHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFy YW0mbmJzcDsgV2lkdGgmbmJzcDsmbmJzcDsgVGhlIG1heGltdW0gbnVtYmVyIG9mIFVuaWNvZGUg Y2hhcmFjdGVycyB0byBwbGFjZSBpbiBCdWZmZXIsIG5vdCBpbmNsdWRpbmc8YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IHRoZSBOdWxsLXRlcm1pbmF0b3IuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHJldHVybiBUaGUgbnVtYmVyIG9mIFVuaWNv ZGUgY2hhcmFjdGVycyBpbiBCdWZmZXIgbm90IGluY2x1ZGluZyB0aGUgTnVsbC10ZXJtaW5hdG9y Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt KiovPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLVVJTlROPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLUVGSUFQSTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1Vbmljb2RlVmFsdWVUb1N0 cmluZyAoPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBPVVQgQ0hBUjE2Jm5i c3A7ICpCdWZmZXIsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBVSU5UTiZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBGbGFncyw8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIElOVDY0Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IFZhbHVlLDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gVUlOVE4m bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgV2lkdGg8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7ICk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtezxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQVNTRVJUX1VOSUNPREVfQlVGRkVSKEJ1ZmZlcik7 PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyByZXR1cm4gQmFzZVByaW50TGliQ29u dmVydFZhbHVlVG9TdHJpbmcgKChDSEFSOCAqKUJ1ZmZlciwgRmxhZ3MsIFZhbHVlLCBXaWR0aCwg Mik7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLX08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSNlbmRpZjxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsmbmJzcDsmbmJzcDsgLyoqPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgQ29udmVydHMgYSBkZWNp bWFsIHZhbHVlIHRvIGEgTnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nLjxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IEBAIC03ODAsNjUgKzcyMSw2IEBAIEFzY2lpU1ByaW50VW5pY29kZUZv cm1hdCAoPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg cmV0dXJuIE51bWJlck9mUHJpbnRlZDs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNwOyZu YnNwOyB9PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSNpZm5kZWYgRElTQUJMRV9ORVdfREVQUkVD QVRFRF9JTlRFUkZBQ0VTPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0vKio8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFtBVFRF TlRJT05dIFRoaXMgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBmb3Igc2VjdXJpdHkgcmVhc29uLjxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5i c3A7IENvbnZlcnRzIGEgZGVjaW1hbCB2YWx1ZSB0byBhIE51bGwtdGVybWluYXRlZCBBU0NJSSBz dHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgQ29udmVydHMgdGhlIGRlY2ltYWwgbnVtYmVyIHNwZWNpZmllZCBieSBWYWx1 ZSB0byBhIE51bGwtdGVybWluYXRlZCBBU0NJSSBzdHJpbmc8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IHNwZWNpZmllZCBieSBCdWZmZXIgY29udGFpbmluZyBhdCBtb3N0IFdpZHRo IGNoYXJhY3RlcnMuIE5vIHBhZGRpbmcgb2Ygc3BhY2VzPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyBpcyBldmVyIHBlcmZvcm1lZC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IElmIFdpZHRoIGlzIDAgdGhlbiBhIHdpZHRoIG9mJm5ic3A7IE1BWElNVU1fVkFMVUVf Q0hBUkFDVEVSUyBpcyBhc3N1bWVkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg VGhlIG51bWJlciBvZiBBU0NJSSBjaGFyYWN0ZXJzIGluIEJ1ZmZlciBpcyByZXR1cm5lZCBub3Qg aW5jbHVkaW5nIHRoZSBOdWxsLXRlcm1pbmF0b3IuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBJZiB0aGUgY29udmVyc2lvbiBjb250YWlucyBtb3JlIHRoYW4gV2lkdGggY2hhcmFj dGVycywgdGhlbiBvbmx5IHRoZSBmaXJzdCBXaWR0aDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsgY2hhcmFjdGVycyBhcmUgcmV0dXJuZWQsIGFuZCB0aGUgdG90YWwgbnVtYmVyIG9m IGNoYXJhY3RlcnMgcmVxdWlyZWQgdG8gcGVyZm9ybTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsgdGhlIGNvbnZlcnNpb24gaXMgcmV0dXJuZWQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyBBZGRpdGlvbmFsIGNvbnZlcnNpb24gcGFyYW1ldGVycyBhcmUgc3BlY2lm aWVkIGluIEZsYWdzLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVGhlIEZsYWdz IGJpdCBMRUZUX0pVU1RJRlkgaXMgYWx3YXlzIGlnbm9yZWQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyBBbGwgY29udmVyc2lvbnMgYXJlIGxlZnQganVzdGlmaWVkIGluIEJ1ZmZl ci48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFdpZHRoIGlzIDAsIFBSRUZJ WF9aRVJPIGlzIGlnbm9yZWQgaW4gRmxhZ3MuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBJZiBDT01NQV9UWVBFIGlzIHNldCBpbiBGbGFncywgdGhlbiBQUkVGSVhfWkVSTyBpcyBp Z25vcmVkIGluIEZsYWdzLCBhbmQgY29tbWFzPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBhcmUgaW5zZXJ0ZWQgZXZlcnkgM3JkIGRpZ2l0IHN0YXJ0aW5nIGZyb20gdGhlIHJpZ2h0 Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgUkFESVhfSEVYIGlzIHNldCBp biBGbGFncywgdGhlbiB0aGUgb3V0cHV0IGJ1ZmZlciB3aWxsIGJlPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSZuYnNwOyBmb3JtYXR0ZWQgaW4gaGV4YWRlY2ltYWwgZm9ybWF0Ljxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgVmFsdWUgaXMgJmx0OyAwIGFuZCBSQURJWF9I RVggaXMgbm90IHNldCBpbiBGbGFncywgdGhlbiB0aGUgZmlzdCBjaGFyYWN0ZXIgaW4gQnVmZmVy IGlzIGEgJy0nLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgUFJFRklYX1pF Uk8gaXMgc2V0IGluIEZsYWdzIGFuZCBQUkVGSVhfWkVSTyBpcyBub3QgYmVpbmcgaWdub3JlZCw8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHRoZW4gQnVmZmVyIGlzIHBhZGRlZCB3 aXRoICcwJyBjaGFyYWN0ZXJzIHNvIHRoZSBjb21iaW5hdGlvbiBvZiB0aGUgb3B0aW9uYWwgJy0n PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBzaWduIGNoYXJhY3RlciwgJzAnIGNo YXJhY3RlcnMsIGRpZ2l0IGNoYXJhY3RlcnMgZm9yIFZhbHVlLCBhbmQgdGhlIE51bGwtdGVybWlu YXRvcjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgYWRkIHVwIHRvIFdpZHRoIGNo YXJhY3RlcnMuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgSWYgQnVmZmVyIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiB1bnN1cHBvcnRlZCBiaXRzIGFyZSBzZXQgaW4g RmxhZ3MsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJ ZiBib3RoIENPTU1BX1RZUEUgYW5kIFJBRElYX0hFWCBhcmUgc2V0IGluIEZsYWdzLCB0aGVuIEFT U0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgV2lkdGggJmd0Oz0g TUFYSU1VTV9WQUxVRV9DSEFSQUNURVJTLCB0aGVuIEFTU0VSVCgpPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtJm5ic3A7 IEJ1ZmZlciZuYnNwOyBUaGUgcG9pbnRlciB0byB0aGUgb3V0cHV0IGJ1ZmZlciBmb3IgdGhlIHBy b2R1Y2VkIE51bGwtdGVybWluYXRlZDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgQVNDSUkgc3RyaW5nLjxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtJm5ic3A7IEZsYWdzJm5ic3A7Jm5i c3A7IFRoZSBiaXRtYXNrIG9mIGZsYWdzIHRoYXQgc3BlY2lmeSBsZWZ0IGp1c3RpZmljYXRpb24s IHplcm8gcGFkLCBhbmQgY29tbWFzLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg QHBhcmFtJm5ic3A7IFZhbHVlJm5ic3A7Jm5ic3A7IFRoZSA2NC1iaXQgc2lnbmVkIHZhbHVlIHRv IGNvbnZlcnQgdG8gYSBzdHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBA cGFyYW0mbmJzcDsgV2lkdGgmbmJzcDsmbmJzcDsgVGhlIG1heGltdW0gbnVtYmVyIG9mIEFTQ0lJ IGNoYXJhY3RlcnMgdG8gcGxhY2UgaW4gQnVmZmVyLCBub3QgaW5jbHVkaW5nPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyB0aGUgTnVsbC10ZXJtaW5hdG9yLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEByZXR1cm4gVGhlIG51bWJlciBvZiBBU0NJ SSBjaGFyYWN0ZXJzIGluIEJ1ZmZlciBub3QgaW5jbHVkaW5nIHRoZSBOdWxsLXRlcm1pbmF0b3Iu PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0q Ki88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtVUlOVE48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtRUZJQVBJPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUFzY2lpVmFsdWVUb1N0cmlu ZyAoPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBPVVQgQ0hBUjgmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgKkJ1ZmZlciw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IElOJm5ic3A7IFVJTlROJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IEZsYWdz LDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4mbmJzcDsgSU5UNjQmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVmFsdWUsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBJTiZuYnNwOyBVSU5UTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBXaWR0 aDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgKTxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC17PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyByZXR1cm4gQmFzZVBy aW50TGliQ29udmVydFZhbHVlVG9TdHJpbmcgKEJ1ZmZlciwgRmxhZ3MsIFZhbHVlLCBXaWR0aCwg MSk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLX08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSNlbmRpZjxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyAvKio8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBDb252ZXJ0cyBhIGRl Y2ltYWwgdmFsdWUgdG8gYSBOdWxsLXRlcm1pbmF0ZWQgQXNjaWkgc3RyaW5nLjxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgZGlmZiAtLWdpdCBhL01k ZVBrZy9MaWJyYXJ5L0R4ZVBjZExpYi9EeGVQY2RMaWIuYyBiL01kZVBrZy9MaWJyYXJ5L0R4ZVBj ZExpYi9EeGVQY2RMaWIuYzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IGluZGV4IDZlM2U0ZTcw Njk3Zi4uMmFjY2FlZGEyY2Q2IDEwMDY0NDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0tLSBh L01kZVBrZy9MaWJyYXJ5L0R4ZVBjZExpYi9EeGVQY2RMaWIuYzxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7ICsrKyBiL01kZVBrZy9MaWJyYXJ5L0R4ZVBjZExpYi9EeGVQY2RMaWIuYzxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IEBAIC00NzQsNDA1ICs0NzQsNiBAQCBMaWJQY2RHZXRFeFNpemUg KDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7Jm5ic3A7Jm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0Ozxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0jaWZuZGVmIERJU0FCTEVfTkVXX0RF UFJFQ0FURURfSU5URVJGQUNFUzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0vKio8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgYSBtZWFu cyBieSB3aGljaCB0byBzZXQgYSB2YWx1ZSBmb3IgYSBnaXZlbiBQQ0QgdG9rZW4uPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgU2V0 cyB0aGUgOC1iaXQgdmFsdWUgZm9yIHRoZSB0b2tlbiBzcGVjaWZpZWQgYnkgVG9rZW5OdW1iZXI8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQg YnkgVmFsdWUuJm5ic3A7IFZhbHVlIGlzIHJldHVybmVkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbVtpbl0mbmJzcDsg VG9rZW5OdW1iZXImbmJzcDsmbmJzcDsgVGhlIFBDRCB0b2tlbiBudW1iZXIgdG8gc2V0IGEgY3Vy cmVudCB2YWx1ZSBmb3IuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1b aW5dJm5ic3A7IFZhbHVlJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IFRoZSA4LWJpdCB2YWx1ZSB0byBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHJldHVybiBSZXR1cm4gdGhlIHZh bHVlIHRoYXQgd2FzIHNldC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSoqLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1VSU5UODxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1FRklBUEk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt TGliUGNkU2V0OCAoPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBVSU5UTiZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyBUb2tlbk51bWJlciw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5i c3A7IElOIFVJTlQ4Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFZhbHVlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyApPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLXs8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IEdldFBjZFByb3RvY29sKCktJmd0O1NldDggKFRva2VuTnVtYmVy LCBWYWx1ZSk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgcmV0dXJuIFZhbHVlOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC19 PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLS8q Kjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVGhpcyBmdW5jdGlvbiBwcm92aWRl cyBhIG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVlIGZvciBhIGdpdmVuIFBDRCB0b2tlbi48 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBTZXRzIHRoZSAxNi1iaXQgdmFsdWUgZm9yIHRoZSB0b2tlbiBzcGVjaWZpZWQgYnkgVG9r ZW5OdW1iZXI8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHRvIHRoZSB2YWx1ZSBz cGVjaWZpZWQgYnkgVmFsdWUuJm5ic3A7IFZhbHVlIGlzIHJldHVybmVkLjxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbVtp bl0mbmJzcDsgVG9rZW5OdW1iZXImbmJzcDsmbmJzcDsgVGhlIFBDRCB0b2tlbiBudW1iZXIgdG8g c2V0IGEgY3VycmVudCB2YWx1ZSBmb3IuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyBAcGFyYW1baW5dJm5ic3A7IFZhbHVlJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7IFRoZSAxNi1iaXQgdmFsdWUgdG8gc2V0Ljxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEByZXR1cm4gUmV0 dXJuIHRoZSB2YWx1ZSB0aGF0IHdhcyBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0qKi88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt VUlOVDE2PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUVGSUFQSTxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC1MaWJQY2RTZXQxNiAoPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyBJTiBVSU5UTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUb2tlbk51bWJlciw8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IElOIFVJTlQxNiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBWYWx1ZTxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgKTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC17PGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBHZXRQY2RQcm90b2NvbCgpLSZndDtTZXQxNiAoVG9r ZW5OdW1iZXIsIFZhbHVlKTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyByZXR1cm4gVmFsdWU7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLX08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtLyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBUaGlzIGZ1bmN0aW9u IHByb3ZpZGVzIGEgbWVhbnMgYnkgd2hpY2ggdG8gc2V0IGEgdmFsdWUgZm9yIGEgZ2l2ZW4gUENE IHRva2VuLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IFNldHMgdGhlIDMyLWJpdCB2YWx1ZSBmb3IgdGhlIHRva2VuIHNwZWNpZmll ZCBieSBUb2tlbk51bWJlcjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgdG8gdGhl IHZhbHVlIHNwZWNpZmllZCBieSBWYWx1ZS4mbmJzcDsgVmFsdWUgaXMgcmV0dXJuZWQuPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg QHBhcmFtW2luXSZuYnNwOyBUb2tlbk51bWJlciZuYnNwOyZuYnNwOyBUaGUgUENEIHRva2VuIG51 bWJlciB0byBzZXQgYSBjdXJyZW50IHZhbHVlIGZvci48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IEBwYXJhbVtpbl0mbmJzcDsgVmFsdWUmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVGhlIDMyLWJpdCB2YWx1ZSB0byBzZXQuPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHJl dHVybiBSZXR1cm4gdGhlIHZhbHVlIHRoYXQgd2FzIHNldC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSoqLzxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC1VSU5UMzI8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtRUZJQVBJPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLUxpYlBjZFNldDMyICg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IElOIFVJTlROJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRva2VuTnVtYmVyLDxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gVUlOVDMyJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFZhbHVlPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyApPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLXs8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEdldFBjZFByb3RvY29sKCktJmd0O1Nl dDMyIChUb2tlbk51bWJlciwgVmFsdWUpOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHJldHVybiBWYWx1ZTs8YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtfTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0vKio8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFRoaXMg ZnVuY3Rpb24gcHJvdmlkZXMgYSBtZWFucyBieSB3aGljaCB0byBzZXQgYSB2YWx1ZSBmb3IgYSBn aXZlbiBQQ0QgdG9rZW4uPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgU2V0cyB0aGUgNjQtYml0IHZhbHVlIGZvciB0aGUgdG9rZW4g c3BlY2lmaWVkIGJ5IFRva2VuTnVtYmVyPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyB0byB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IFZhbHVlLiZuYnNwOyBWYWx1ZSBpcyByZXR1cm5l ZC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IFRva2VuTnVtYmVyJm5ic3A7Jm5ic3A7IFRoZSBQQ0Qg dG9rZW4gbnVtYmVyIHRvIHNldCBhIGN1cnJlbnQgdmFsdWUgZm9yLjxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtW2luXSZuYnNwOyBWYWx1ZSZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUaGUgNjQtYml0IHZhbHVlIHRvIHNldC48 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBAcmV0dXJuIFJldHVybiB0aGUgdmFsdWUgdGhhdCB3YXMgc2V0Ljxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtKiovPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLVVJTlQ2NDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1FRklBUEk8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtTGliUGNkU2V0NjQgKDxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgSU4gVUlOVE4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVG9rZW5OdW1iZXIsPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBVSU5UNjQmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVmFsdWU8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7ICk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtezxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgR2V0UGNkUHJvdG9jb2wo KS0mZ3Q7U2V0NjQgKFRva2VuTnVtYmVyLCBWYWx1ZSk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgcmV0dXJuIFZhbHVlOzxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC19PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLS8qKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgVGhpcyBmdW5jdGlvbiBwcm92aWRlcyBhIG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVl IGZvciBhIGdpdmVuIFBDRCB0b2tlbi48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBTZXRzIGEgYnVmZmVyIGZvciB0aGUgdG9rZW4g c3BlY2lmaWVkIGJ5IFRva2VuTnVtYmVyIHRvIHRoZSB2YWx1ZTxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgc3BlY2lmaWVkIGJ5IEJ1ZmZlciBhbmQgU2l6ZU9mQnVmZmVyLiZuYnNw OyBCdWZmZXIgaXMgcmV0dXJuZWQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJ ZiBTaXplT2ZCdWZmZXIgaXMgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtIHNpemUgc3VwcG9ydCBi eSBUb2tlbk51bWJlciw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHRoZW4gc2V0 IFNpemVPZkJ1ZmZlciB0byB0aGUgbWF4aW11bSBzaXplIHN1cHBvcnRlZCBieSBUb2tlbk51bWJl ciBhbmQ8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHJldHVybiBOVUxMIHRvIGlu ZGljYXRlIHRoYXQgdGhlIHNldCBvcGVyYXRpb24gd2FzIG5vdCBhY3R1YWxseSBwZXJmb3JtZWQu PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsgSWYgU2l6ZU9mQnVmZmVyIGlzIHNldCB0byBNQVhfQUREUkVTUywgdGhlbiBTaXplT2ZC dWZmZXIgbXVzdCBiZSBzZXQgdG8gdGhlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyBtYXhpbXVtIHNpemUgc3VwcG9ydGVkIGJ5IFRva2VuTmFtZSBhbmQgTlVMTCBtdXN0IGJlIHJl dHVybmVkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IElmIFNpemVPZkJ1ZmZlciBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLjxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgU2l6ZU9mQnVmZmVyICZndDsgMCBhbmQg QnVmZmVyIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtW2luXSZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyBUb2tlbk51bWJlciZuYnNwOyZuYnNwOyBUaGUgUENEIHRva2Vu IG51bWJlciB0byBzZXQgYSBjdXJyZW50IHZhbHVlIGZvci48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IEBwYXJhbVtpbiwgb3V0XSBTaXplT2ZCdWZmZXImbmJzcDsgVGhlIHNpemUs IGluIGJ5dGVzLCBvZiBCdWZmZXIuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBA cGFyYW1baW5dJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IEJ1ZmZlciZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBBIHBvaW50ZXIgdG8gdGhlIGJ1ZmZlciB0 byBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgQHJldHVybiBSZXR1cm4gdGhlIHBvaW50ZXIgZm9yIHRoZSBidWZmZXIgYmVl biBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0qKi88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtVk9JRCAqPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLUVGSUFQSTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1MaWJQY2RTZXRQ dHIgKDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4mbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVUlOVE4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVG9rZW5OdW1i ZXIsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBPVVQmbmJzcDsmbmJzcDsm bmJzcDsgVUlOVE4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKlNpemVPZkJ1ZmZlciw8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIENPTlNUJm5ic3A7IFZPSUQmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgKkJ1ZmZlcjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgKTxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC17PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBFRklf U1RBVFVTIFN0YXR1czs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFVJTlROJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IElucHV0U2l6ZU9mQnVmZmVyOzxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEFTU0VS VCAoU2l6ZU9mQnVmZmVyICE9IE5VTEwpOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IGlmICgqU2l6ZU9mQnVmZmVyICZndDsgMCkg ezxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsgQVNTRVJUIChC dWZmZXIgIT0gTlVMTCk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyB9PGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg SW5wdXRTaXplT2ZCdWZmZXIgPSAqU2l6ZU9mQnVmZmVyOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgU3RhdHVzID0gR2V0UGNkUHJvdG9jb2woKS0mZ3Q7U2V0UHRyIChUb2tlbk51 bWJlciwgU2l6ZU9mQnVmZmVyLCAoVk9JRCAqKSBCdWZmZXIpOzxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSAmYW1wOyZhbXA7ICgqU2l6ZU9m QnVmZmVyICZsdDsgSW5wdXRTaXplT2ZCdWZmZXIpKSB7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyZuYnNwOyZuYnNwOyByZXR1cm4gTlVMTDs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLSZuYnNwOyByZXR1cm4gKFZPSUQgKilCdWZmZXI7PGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLX08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtLyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBUaGlzIGZ1 bmN0aW9uIHByb3ZpZGVzIGEgbWVhbnMgYnkgd2hpY2ggdG8gc2V0IGEgdmFsdWUgZm9yIGEgZ2l2 ZW4gUENEIHRva2VuLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IFNldHMgdGhlIEJvb2xlYW4gdmFsdWUgZm9yIHRoZSB0b2tlbiBz cGVjaWZpZWQgYnkgVG9rZW5OdW1iZXI8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 IHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgVmFsdWUuJm5ic3A7IFZhbHVlIGlzIHJldHVybmVk Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IEBwYXJhbVtpbl0mbmJzcDsgVG9rZW5OdW1iZXImbmJzcDsmbmJzcDsgVGhlIFBDRCB0 b2tlbiBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1ZSBmb3IuPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IFZhbHVlJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSBib29sZWFuIHZhbHVlIHRvIHNldC48 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBAcmV0dXJuIFJldHVybiB0aGUgdmFsdWUgdGhhdCB3YXMgc2V0Ljxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtKiovPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLUJPT0xFQU48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtRUZJQVBJ PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUxpYlBjZFNldEJvb2wgKDxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gVUlOVE4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVG9rZW5OdW1iZXIs PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBCT09MRUFOJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFZhbHVlPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyApPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLXs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEdldFBjZFByb3RvY29sKCkt Jmd0O1NldEJvb2wgKFRva2VuTnVtYmVyLCBWYWx1ZSk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgcmV0dXJuIFZhbHVlOzxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC19PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLS8qKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgVGhpcyBmdW5jdGlvbiBwcm92aWRlcyBhIG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVl IGZvciBhIGdpdmVuIFBDRCB0b2tlbi48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBTZXRzIHRoZSA4LWJpdCB2YWx1ZSBmb3IgdGhl IHRva2VuIHNwZWNpZmllZCBieSBUb2tlbk51bWJlciBhbmQ8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IEd1aWQgdG8gdGhlIHZhbHVlIHNwZWNpZmllZCBieSBWYWx1ZS4gVmFsdWUg aXMgcmV0dXJuZWQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgSWYgR3VpZCBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBw YXJhbVtpbl0mbmJzcDsgR3VpZCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBUaGUgcG9pbnRlciB0byBhIDEyOC1iaXQgdW5pcXVlIHZhbHVlIHRo YXQ8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRlc2lnbmF0ZXMgd2hpY2ggbmFtZXNwYWNlIHRvIHNldCBh IHZhbHVlIGZyb20uPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5d Jm5ic3A7IFRva2VuTnVtYmVyJm5ic3A7Jm5ic3A7IFRoZSBQQ0QgdG9rZW4gbnVtYmVyIHRvIHNl dCBhIGN1cnJlbnQgdmFsdWUgZm9yLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg QHBhcmFtW2luXSZuYnNwOyBWYWx1ZSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyBUaGUgOC1iaXQgdmFsdWUgdG8gc2V0Ljxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEByZXR1cm4gUmV0dXJu IHRoZSB2YWx1ZSB0aGF0IHdhcyBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0qKi88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtVUlO VDg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtRUZJQVBJPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLUxpYlBjZFNldEV4OCAoPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJ TiBDT05TVCBHVUlEJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICpH dWlkLDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gVUlOVE4mbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgVG9rZW5OdW1iZXIsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBV SU5UOCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyBWYWx1ZTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgKTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC17PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyBBU1NFUlQgKEd1aWQgIT0gTlVMTCk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgR2V0UGlQY2RQcm90b2NvbCgp LSZndDtTZXQ4IChHdWlkLCBUb2tlbk51bWJlciwgVmFsdWUpOzxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHJldHVybiBWYWx1ZTs8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtfTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0vKio8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgYSBtZWFucyBieSB3aGljaCB0byBzZXQgYSB2 YWx1ZSBmb3IgYSBnaXZlbiBQQ0QgdG9rZW4uPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgU2V0cyB0aGUgMTYtYml0IHZhbHVlIGZv ciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IFRva2VuTnVtYmVyIGFuZDxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgR3VpZCB0byB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IFZhbHVlLiBW YWx1ZSBpcyByZXR1cm5lZC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBHdWlkIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgQHBhcmFtW2luXSZuYnNwOyBHdWlkJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSBwb2ludGVyIHRvIGEgMTI4LWJpdCB1bmlxdWUgdmFs dWUgdGhhdDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZGVzaWduYXRlcyB3aGljaCBuYW1lc3BhY2UgdG8g c2V0IGEgdmFsdWUgZnJvbS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJh bVtpbl0mbmJzcDsgVG9rZW5OdW1iZXImbmJzcDsmbmJzcDsgVGhlIFBDRCB0b2tlbiBudW1iZXIg dG8gc2V0IGEgY3VycmVudCB2YWx1ZSBmb3IuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBAcGFyYW1baW5dJm5ic3A7IFZhbHVlJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSAxNi1iaXQgdmFsdWUgdG8gc2V0Ljxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEByZXR1cm4g UmV0dXJuIHRoZSB2YWx1ZSB0aGF0IHdhcyBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0qKi88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtVUlOVDE2PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUVGSUFQSTxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC1MaWJQY2RTZXRFeDE2ICg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IElOIENPTlNUIEdVSUQmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgKkd1aWQsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBVSU5UTiZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyBUb2tlbk51bWJlciw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5i c3A7IElOIFVJTlQxNiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBWYWx1ZTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsgKTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC17PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyBBU1NFUlQgKEd1aWQgIT0gTlVMTCk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgR2V0UGlQY2RQcm90b2Nv bCgpLSZndDtTZXQxNiAoR3VpZCwgVG9rZW5OdW1iZXIsIFZhbHVlKTs8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyByZXR1cm4gVmFs dWU7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLX08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtLyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyBUaGlzIGZ1bmN0aW9uIHByb3ZpZGVzIGEgbWVhbnMgYnkgd2hpY2ggdG8gc2V0 IGEgdmFsdWUgZm9yIGEgZ2l2ZW4gUENEIHRva2VuLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFNldHMgdGhlIDMyLWJpdCB2YWx1 ZSBmb3IgdGhlIHRva2VuIHNwZWNpZmllZCBieSBUb2tlbk51bWJlciBhbmQ8YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEd1aWQgdG8gdGhlIHZhbHVlIHNwZWNpZmllZCBieSBWYWx1 ZS4gVmFsdWUgaXMgcmV0dXJuZWQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgR3VpZCBpcyBOVUxMLCB0aGVuIEFTU0VSVCgp Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IEBwYXJhbVtpbl0mbmJzcDsgR3VpZCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUaGUgcG9pbnRlciB0byBhIDEyOC1iaXQgdW5pcXVl IHZhbHVlIHRoYXQ8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRlc2lnbmF0ZXMgd2hpY2ggbmFtZXNwYWNl IHRvIHNldCBhIHZhbHVlIGZyb20uPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBA cGFyYW1baW5dJm5ic3A7IFRva2VuTnVtYmVyJm5ic3A7Jm5ic3A7IFRoZSBQQ0QgdG9rZW4gbnVt YmVyIHRvIHNldCBhIGN1cnJlbnQgdmFsdWUgZm9yLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsgQHBhcmFtW2luXSZuYnNwOyBWYWx1ZSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUaGUgMzItYml0IHZhbHVlIHRvIHNldC48YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcmV0 dXJuIFJldHVybiB0aGUgdmFsdWUgdGhhdCB3YXMgc2V0Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtKiovPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLVVJTlQzMjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1FRklBUEk8YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtTGliUGNkU2V0RXgzMiAoPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyBJTiBDT05TVCBHVUlEJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7ICpHdWlkLDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gVUlO VE4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgVG9rZW5OdW1iZXIsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBJTiBVSU5UMzImbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVmFsdWU8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7ICk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtezxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgQVNTRVJUIChHdWlkICE9IE5VTEwpOzxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEdldFBpUGNkUHJv dG9jb2woKS0mZ3Q7U2V0MzIgKEd1aWQsIFRva2VuTnVtYmVyLCBWYWx1ZSk7PGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgcmV0dXJu IFZhbHVlOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC19PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLS8qKjxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgVGhpcyBmdW5jdGlvbiBwcm92aWRlcyBhIG1lYW5zIGJ5IHdoaWNoIHRv IHNldCBhIHZhbHVlIGZvciBhIGdpdmVuIFBDRCB0b2tlbi48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBTZXRzIHRoZSA2NC1iaXQg dmFsdWUgZm9yIHRoZSB0b2tlbiBzcGVjaWZpZWQgYnkgVG9rZW5OdW1iZXIgYW5kPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBHdWlkIHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkg VmFsdWUuIFZhbHVlIGlzIHJldHVybmVkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIEd1aWQgaXMgTlVMTCwgdGhlbiBBU1NF UlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IEd1aWQmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVGhlIHBvaW50ZXIgdG8gYSAxMjgtYml0IHVu aXF1ZSB2YWx1ZSB0aGF0PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBkZXNpZ25hdGVzIHdoaWNoIG5hbWVz cGFjZSB0byBzZXQgYSB2YWx1ZSBmcm9tLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgQHBhcmFtW2luXSZuYnNwOyBUb2tlbk51bWJlciZuYnNwOyZuYnNwOyBUaGUgUENEIHRva2Vu IG51bWJlciB0byBzZXQgYSBjdXJyZW50IHZhbHVlIGZvci48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IEBwYXJhbVtpbl0mbmJzcDsgVmFsdWUmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVGhlIDY0LWJpdCB2YWx1ZSB0byBzZXQuPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg QHJldHVybiBSZXR1cm4gdGhlIHZhbHVlIHRoYXQgd2FzIHNldC48YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSoqLzxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC1VSU5UNjQ8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtRUZJQVBJPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUxpYlBjZFNldEV4NjQgKDxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgSU4gQ09OU1QgR1VJRCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyAqR3VpZCw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElO IFVJTlROJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRva2VuTnVtYmVyLDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgSU4gVUlOVDY0Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFZhbHVlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyApPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLXs8YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEFTU0VSVCAoR3VpZCAhPSBOVUxMKTs8YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBHZXRQaVBj ZFByb3RvY29sKCktJmd0O1NldDY0IChHdWlkLCBUb2tlbk51bWJlciwgVmFsdWUpOzxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHJl dHVybiBWYWx1ZTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtfTxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0vKio8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgYSBtZWFucyBieSB3aGlj aCB0byBzZXQgYSB2YWx1ZSBmb3IgYSBnaXZlbiBQQ0QgdG9rZW4uPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgU2V0cyBhIGJ1ZmZl ciBmb3IgdGhlIHRva2VuIHNwZWNpZmllZCBieSBUb2tlbk51bWJlciB0byB0aGUgdmFsdWUgc3Bl Y2lmaWVkIGJ5PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBCdWZmZXIgYW5kIFNp emVPZkJ1ZmZlci4mbmJzcDsgQnVmZmVyIGlzIHJldHVybmVkLiZuYnNwOyBJZiBTaXplT2ZCdWZm ZXIgaXMgZ3JlYXRlciB0aGFuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyB0aGUg bWF4aW11bSBzaXplIHN1cHBvcnQgYnkgVG9rZW5OdW1iZXIsIHRoZW4gc2V0IFNpemVPZkJ1ZmZl ciB0byB0aGUgbWF4aW11bSBzaXplPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBz dXBwb3J0ZWQgYnkgVG9rZW5OdW1iZXIgYW5kIHJldHVybiBOVUxMIHRvIGluZGljYXRlIHRoYXQg dGhlIHNldCBvcGVyYXRpb248YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHdhcyBu b3QgYWN0dWFsbHkgcGVyZm9ybWVkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIEd1aWQgaXMgTlVMTCwgdGhlbiBBU1NFUlQo KS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFNpemVPZkJ1ZmZlciBpcyBO VUxMLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYg U2l6ZU9mQnVmZmVyICZndDsgMCBhbmQgQnVmZmVyIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgQHBhcmFtW2luXSZuYnNwOyBHdWlkJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSBwb2ludGVy IHRvIGEgMTI4LWJpdCB1bmlxdWUgdmFsdWUgdGhhdDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgZGVzaWduYXRlcyB3aGljaCBuYW1lc3BhY2UgdG8gc2V0IGEgdmFs dWUgZnJvbS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbVtpbl0mbmJz cDsgVG9rZW5OdW1iZXImbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVGhlIFBD RCB0b2tlbiBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1ZSBmb3IuPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW4sIG91dF0gU2l6ZU9mQnVmZmVyJm5ic3A7IFRo ZSBzaXplLCBpbiBieXRlcywgb2YgQnVmZmVyLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsgQHBhcmFtW2luXSZuYnNwOyBCdWZmZXImbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgQSBwb2ludGVyIHRvIHRoZSBi dWZmZXIgdG8gc2V0Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IEByZXR1cm4gUmV0dXJuIHRoZSBwb2ludGVyIHRvIHRoZSBidWZm ZXIgYmVlbiBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0qKi88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtVk9JRCAqPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLUVGSUFQSTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1MaWJQ Y2RTZXRFeFB0ciAoPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBDT05TVCBHVUlEJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7ICpHdWlkLDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgSU4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVUlOVE4mbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg VG9rZW5OdW1iZXIsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBPVVQmbmJz cDsgVUlOVE4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKlNpemVPZkJ1ZmZlciw8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IElOJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFZPSUQmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgKkJ1ZmZlcjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgKTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC17PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyBFRklfU1RBVFVTJm5ic3A7IFN0YXR1czs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IFVJTlROJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IElu cHV0U2l6ZU9mQnVmZmVyOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEFTU0VSVCAoR3VpZCAhPSBOVUxMKTs8YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBBU1NFUlQg KFNpemVPZkJ1ZmZlciAhPSBOVUxMKTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBpZiAoKlNpemVPZkJ1ZmZlciAmZ3Q7IDApIHs8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7IEFTU0VSVCAoQnVm ZmVyICE9IE5VTEwpOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgfTxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElu cHV0U2l6ZU9mQnVmZmVyID0gKlNpemVPZkJ1ZmZlcjs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IFN0YXR1cyA9IEdldFBpUGNkUHJvdG9jb2woKS0mZ3Q7U2V0UHRyIChHdWlkLCBU b2tlbk51bWJlciwgU2l6ZU9mQnVmZmVyLCBCdWZmZXIpOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSAmYW1wOyZhbXA7ICgqU2l6ZU9mQnVm ZmVyICZsdDsgSW5wdXRTaXplT2ZCdWZmZXIpKSB7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyZuYnNwOyZuYnNwOyByZXR1cm4gTlVMTDs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSZuYnNwOyByZXR1cm4gQnVmZmVyOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC19PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LS8qKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVGhpcyBmdW5jdGlvbiBwcm92 aWRlcyBhIG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVlIGZvciBhIGdpdmVuIFBDRCB0b2tl bi48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBTZXRzIHRoZSBCb29sZWFuIHZhbHVlIGZvciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5 IFRva2VuTnVtYmVyIGFuZDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgR3VpZCB0 byB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IFZhbHVlLiBWYWx1ZSBpcyByZXR1cm5lZC48YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJ ZiBHdWlkIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtW2luXSZuYnNwOyBHdWlk Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRo ZSBwb2ludGVyIHRvIGEgMTI4LWJpdCB1bmlxdWUgdmFsdWUgdGhhdDxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgZGVzaWduYXRlcyB3aGljaCBuYW1lc3BhY2UgdG8gc2V0IGEgdmFsdWUgZnJvbS48YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbVtpbl0mbmJzcDsgVG9rZW5OdW1iZXIm bmJzcDsmbmJzcDsgVGhlIFBDRCB0b2tlbiBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1ZSBm b3IuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IFZh bHVlJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSBC b29sZWFuIHZhbHVlIHRvIHNldC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcmV0dXJuIFJldHVybiB0aGUgdmFsdWUgdGhhdCB3 YXMgc2V0Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtKiovPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUJPT0xFQU48YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtRUZJQVBJPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUxpYlBjZFNl dEV4Qm9vbCAoPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBDT05TVCBHVUlE Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICpHdWlkLDxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gVUlOVE4mbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVG9rZW5O dW1iZXIsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBCT09MRUFOJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFZh bHVlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyApPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLXs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEFTU0VSVCAoR3Vp ZCAhPSBOVUxMKTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSZuYnNwOyBHZXRQaVBjZFByb3RvY29sKCktJmd0O1NldEJvb2wgKEd1aWQsIFRv a2VuTnVtYmVyLCBWYWx1ZSk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgcmV0dXJuIFZhbHVlOzxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC19PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSNlbmRpZjxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyAvKio8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUaGlzIGZ1 bmN0aW9uIHByb3ZpZGVzIGEgbWVhbnMgYnkgd2hpY2ggdG8gc2V0IGEgdmFsdWUgZm9yIGEgZ2l2 ZW4gUENEIHRva2VuLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7PGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgZGlmZiAtLWdpdCBhL01kZVBrZy9MaWJyYXJ5L1BlaVBjZExpYi9QZWlQY2RMaWIu YyBiL01kZVBrZy9MaWJyYXJ5L1BlaVBjZExpYi9QZWlQY2RMaWIuYzxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IGluZGV4IDkxNmEyYzA4NDRlYi4uZDk3OWIyOGNjOGRkIDEwMDY0NDxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0tLSBhL01kZVBrZy9MaWJyYXJ5L1BlaVBjZExpYi9QZWlQY2RM aWIuYzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7ICsrKyBiL01kZVBrZy9MaWJyYXJ5L1BlaVBj ZExpYi9QZWlQY2RMaWIuYzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IEBAIC00NzQsNDAzICs0 NzQsNiBAQCBMaWJQY2RHZXRFeFNpemUgKDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7Jm5ic3A7 Jm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0Ozxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0jaWZuZGVmIERJU0FCTEVfTkVXX0RFUFJFQ0FURURfSU5URVJGQUNFUzxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0vKio8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFRoaXMg ZnVuY3Rpb24gcHJvdmlkZXMgYSBtZWFucyBieSB3aGljaCB0byBzZXQgYSB2YWx1ZSBmb3IgYSBn aXZlbiBQQ0QgdG9rZW4uPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgU2V0cyB0aGUgOC1iaXQgdmFsdWUgZm9yIHRoZSB0b2tlbiBz cGVjaWZpZWQgYnkgVG9rZW5OdW1iZXI8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 IHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgVmFsdWUuJm5ic3A7IFZhbHVlIGlzIHJldHVybmVk Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IEBwYXJhbVtpbl0mbmJzcDsgVG9rZW5OdW1iZXImbmJzcDsmbmJzcDsgVGhlIFBDRCB0 b2tlbiBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1ZSBmb3IuPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IFZhbHVlJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSA4LWJpdCB2YWx1ZSB0byBzZXQuPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgQHJldHVybiBSZXR1cm4gdGhlIHZhbHVlIHRoYXQgd2FzIHNldC48YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSoqLzxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC1VSU5UODxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1FRklBUEk8YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtTGliUGNkU2V0OCAoPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyBJTiBVSU5UTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUb2tlbk51bWJlciw8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIFVJTlQ4Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFZhbHVl PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyApPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLXs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IChHZXRQY2RQcGlQb2lu dGVyICgpKS0mZ3Q7U2V0OCAoVG9rZW5OdW1iZXIsIFZhbHVlKTs8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyByZXR1cm4gVmFsdWU7 PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLX08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtLyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBUaGlzIGZ1bmN0aW9uIHByb3ZpZGVzIGEgbWVhbnMgYnkgd2hpY2ggdG8gc2V0IGEg dmFsdWUgZm9yIGEgZ2l2ZW4gUENEIHRva2VuLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFNldHMgdGhlIDE2LWJpdCB2YWx1ZSBm b3IgdGhlIHRva2VuIHNwZWNpZmllZCBieSBUb2tlbk51bWJlcjxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgdG8gdGhlIHZhbHVlIHNwZWNpZmllZCBieSBWYWx1ZS4mbmJzcDsgVmFs dWUgaXMgcmV0dXJuZWQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtW2luXSZuYnNwOyBUb2tlbk51bWJlciZuYnNwOyZu YnNwOyBUaGUgUENEIHRva2VuIG51bWJlciB0byBzZXQgYSBjdXJyZW50IHZhbHVlIGZvci48YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbVtpbl0mbmJzcDsgVmFsdWUmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVGhlIDE2LWJpdCB2 YWx1ZSB0byBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgQHJldHVybiBSZXR1cm4gdGhlIHZhbHVlIHRoYXQgd2FzIHNldC48 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSoq Lzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1VSU5UMTY8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtRUZJQVBJPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUxpYlBjZFNldDE2ICg8YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIFVJTlROJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRv a2VuTnVtYmVyLDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gVUlOVDE2Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IFZhbHVlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyApPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLXs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IChH ZXRQY2RQcGlQb2ludGVyICgpKS0mZ3Q7U2V0MTYgKFRva2VuTnVtYmVyLCBWYWx1ZSk7PGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg cmV0dXJuIFZhbHVlOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC19PGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLS8qKjxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVGhpcyBmdW5jdGlvbiBwcm92aWRlcyBhIG1lYW5zIGJ5IHdo aWNoIHRvIHNldCBhIHZhbHVlIGZvciBhIGdpdmVuIFBDRCB0b2tlbi48YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBTZXRzIHRoZSAz Mi1iaXQgdmFsdWUgZm9yIHRoZSB0b2tlbiBzcGVjaWZpZWQgYnkgVG9rZW5OdW1iZXI8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgVmFs dWUuJm5ic3A7IFZhbHVlIGlzIHJldHVybmVkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbVtpbl0mbmJzcDsgVG9rZW5O dW1iZXImbmJzcDsmbmJzcDsgVGhlIFBDRCB0b2tlbiBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2 YWx1ZSBmb3IuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5dJm5i c3A7IFZhbHVlJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 IFRoZSAzMi1iaXQgdmFsdWUgdG8gc2V0Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEByZXR1cm4gUmV0dXJuIHRoZSB2YWx1ZSB0 aGF0IHdhcyBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0qKi88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtVUlOVDMyPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLUVGSUFQSTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1MaWJQ Y2RTZXQzMiAoPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBVSU5UTiZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyBUb2tlbk51bWJlciw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 IElOIFVJTlQzMiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyBWYWx1ZTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgKTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC17PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyAoR2V0UGNkUHBpUG9pbnRlciAoKSktJmd0O1NldDMyIChUb2tlbk51bWJlciwg VmFsdWUpOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IHJldHVybiBWYWx1ZTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtfTxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0vKio8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMg YSBtZWFucyBieSB3aGljaCB0byBzZXQgYSB2YWx1ZSBmb3IgYSBnaXZlbiBQQ0QgdG9rZW4uPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgU2V0cyB0aGUgNjQtYml0IHZhbHVlIGZvciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IFRva2Vu TnVtYmVyPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyB0byB0aGUgdmFsdWUgc3Bl Y2lmaWVkIGJ5IFZhbHVlLiZuYnNwOyBWYWx1ZSBpcyByZXR1cm5lZC48YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5d Jm5ic3A7IFRva2VuTnVtYmVyJm5ic3A7Jm5ic3A7IFRoZSBQQ0QgdG9rZW4gbnVtYmVyIHRvIHNl dCBhIGN1cnJlbnQgdmFsdWUgZm9yLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg QHBhcmFtW2luXSZuYnNwOyBWYWx1ZSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyBUaGUgNjQtYml0IHZhbHVlIHRvIHNldC48YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcmV0dXJuIFJldHVy biB0aGUgdmFsdWUgdGhhdCB3YXMgc2V0Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtKiovPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLVVJ TlQ2NDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1FRklBUEk8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtTGliUGNkU2V0NjQgKDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg SU4gVUlOVE4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVG9rZW5OdW1iZXIsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyBJTiBVSU5UNjQmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVmFsdWU8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7ICk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtezxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgKEdldFBjZFBwaVBvaW50ZXIgKCkpLSZndDtTZXQ2NCAo VG9rZW5OdW1iZXIsIFZhbHVlKTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyByZXR1cm4gVmFsdWU7PGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLX08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtLyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBUaGlzIGZ1bmN0 aW9uIHByb3ZpZGVzIGEgbWVhbnMgYnkgd2hpY2ggdG8gc2V0IGEgdmFsdWUgZm9yIGEgZ2l2ZW4g UENEIHRva2VuLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IFNldHMgYSBidWZmZXIgZm9yIHRoZSB0b2tlbiBzcGVjaWZpZWQgYnkg VG9rZW5OdW1iZXIgdG8gdGhlIHZhbHVlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyBzcGVjaWZpZWQgYnkgQnVmZmVyIGFuZCBTaXplT2ZCdWZmZXIuJm5ic3A7IEJ1ZmZlciBpcyBy ZXR1cm5lZC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFNpemVPZkJ1ZmZl ciBpcyBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gc2l6ZSBzdXBwb3J0IGJ5IFRva2VuTnVtYmVy LDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgdGhlbiBzZXQgU2l6ZU9mQnVmZmVy IHRvIHRoZSBtYXhpbXVtIHNpemUgc3VwcG9ydGVkIGJ5IFRva2VuTnVtYmVyIGFuZDxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgcmV0dXJuIE5VTEwgdG8gaW5kaWNhdGUgdGhhdCB0 aGUgc2V0IG9wZXJhdGlvbiB3YXMgbm90IGFjdHVhbGx5IHBlcmZvcm1lZC48YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBTaXpl T2ZCdWZmZXIgaXMgc2V0IHRvIE1BWF9BRERSRVNTLCB0aGVuIFNpemVPZkJ1ZmZlciBtdXN0IGJl IHNldCB0byB0aGU8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IG1heGltdW0gc2l6 ZSBzdXBwb3J0ZWQgYnkgVG9rZW5OYW1lIGFuZCBOVUxMIG11c3QgYmUgcmV0dXJuZWQuPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg SWYgU2l6ZU9mQnVmZmVyIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSZuYnNwOyBJZiBTaXplT2ZCdWZmZXIgJmd0OyAwIGFuZCBCdWZmZXIgaXMgTlVM TCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IFRva2VuTnVtYmVyJm5ic3A7Jm5ic3A7IFRoZSBQQ0QgdG9rZW4gbnVtYmVyIHRvIHNl dCBhIGN1cnJlbnQgdmFsdWUgZm9yLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg QHBhcmFtW2luLCBvdXRdIFNpemVPZkJ1ZmZlciZuYnNwOyBUaGUgc2l6ZSwgaW4gYnl0ZXMsIG9m IEJ1ZmZlci48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbVtpbl0mbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgQnVmZmVyJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IEEgcG9pbnRlciB0byB0aGUgYnVmZmVyIHRvIHNldC48YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBA cmV0dXJuIFJldHVybiB0aGUgcG9pbnRlciBmb3IgdGhlIGJ1ZmZlciBiZWVuIHNldC48YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSoqLzxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1WT0lEICo8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt RUZJQVBJPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUxpYlBjZFNldFB0ciAoPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyBVSU5UTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUb2tlbk51bWJlciw8YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIE9VVCZuYnNwOyZuYnNwOyZuYnNwOyBVSU5UTiZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyAqU2l6ZU9mQnVmZmVyLDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsgSU4gQ09OU1QmbmJzcDsgVk9JRCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqQnVmZmVyPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyApPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLXs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEVGSV9TVEFUVVMgU3RhdHVz Ozxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVUlOVE4mbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgSW5wdXRTaXplT2ZCdWZmZXI7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQVNTRVJUIChTaXplT2ZCdWZm ZXIgIT0gTlVMTCk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgaWYgKCpTaXplT2ZCdWZmZXIgJmd0OyAwKSB7PGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyBBU1NFUlQgKEJ1ZmZlciAhPSBOVUxM KTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJbnB1dFNpemVPZkJ1 ZmZlciA9ICpTaXplT2ZCdWZmZXI7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBT dGF0dXMgPSAoR2V0UGNkUHBpUG9pbnRlciAoKSktJmd0O1NldFB0ciAoVG9rZW5OdW1iZXIsIFNp emVPZkJ1ZmZlciwgKFZPSUQgKikgQnVmZmVyKTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IGlmIChFRklfRVJST1IgKFN0YXR1cykgJmFtcDsmYW1wOyAoKlNpemVPZkJ1ZmZlciAm bHQ7IElucHV0U2l6ZU9mQnVmZmVyKSkgezxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsmbmJzcDsmbmJzcDsgcmV0dXJuIE5VTEw7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyB9PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgcmV0dXJuIChWT0lEICopIEJ1ZmZlcjs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtfTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0vKio8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFRoaXMgZnVuY3Rpb24g cHJvdmlkZXMgYSBtZWFucyBieSB3aGljaCB0byBzZXQgYSB2YWx1ZSBmb3IgYSBnaXZlbiBQQ0Qg dG9rZW4uPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgU2V0cyB0aGUgQm9vbGVhbiB2YWx1ZSBmb3IgdGhlIHRva2VuIHNwZWNpZmll ZCBieSBUb2tlbk51bWJlcjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgdG8gdGhl IHZhbHVlIHNwZWNpZmllZCBieSBWYWx1ZS4mbmJzcDsgVmFsdWUgaXMgcmV0dXJuZWQuPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg QHBhcmFtW2luXSZuYnNwOyBUb2tlbk51bWJlciZuYnNwOyZuYnNwOyBUaGUgUENEIHRva2VuIG51 bWJlciB0byBzZXQgYSBjdXJyZW50IHZhbHVlIGZvci48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IEBwYXJhbVtpbl0mbmJzcDsgVmFsdWUmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVGhlIGJvb2xlYW4gdmFsdWUgdG8gc2V0Ljxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBy ZXR1cm4gUmV0dXJuIHRoZSB2YWx1ZSB0aGF0IHdhcyBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0qKi88YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtQk9PTEVBTjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1FRklBUEk8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtTGliUGNkU2V0Qm9vbCAoPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyBJTiBVSU5UTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUb2tlbk51bWJlciw8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIEJPT0xFQU4mbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVmFsdWU8YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7ICk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtezxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgKEdldFBjZFBwaVBvaW50ZXIgKCkpLSZn dDtTZXRCb29sIChUb2tlbk51bWJlciwgVmFsdWUpOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHJldHVybiBWYWx1ZTs8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtfTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0vKio8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 IFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgYSBtZWFucyBieSB3aGljaCB0byBzZXQgYSB2YWx1ZSBm b3IgYSBnaXZlbiBQQ0QgdG9rZW4uPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgU2V0cyB0aGUgOC1iaXQgdmFsdWUgZm9yIHRoZSB0 b2tlbiBzcGVjaWZpZWQgYnkgVG9rZW5OdW1iZXIgYW5kPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyBHdWlkIHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgVmFsdWUuIFZhbHVlIGlz IHJldHVybmVkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IElmIEd1aWQgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFy YW1baW5dJm5ic3A7IEd1aWQmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgVGhlIHBvaW50ZXIgdG8gYSAxMjgtYml0IHVuaXF1ZSB2YWx1ZSB0aGF0 PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyBkZXNpZ25hdGVzIHdoaWNoIG5hbWVzcGFjZSB0byBzZXQgYSB2 YWx1ZSBmcm9tLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtW2luXSZu YnNwOyBUb2tlbk51bWJlciZuYnNwOyZuYnNwOyBUaGUgUENEIHRva2VuIG51bWJlciB0byBzZXQg YSBjdXJyZW50IHZhbHVlIGZvci48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBw YXJhbVtpbl0mbmJzcDsgVmFsdWUmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgVGhlIDgtYml0IHZhbHVlIHRvIHNldC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcmV0dXJuIFJldHVybiB0 aGUgdmFsdWUgdGhhdCB3YXMgc2V0Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtKiovPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLVVJTlQ4 PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUVGSUFQSTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC1MaWJQY2RTZXRFeDggKDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4g Q09OU1QgR1VJRCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqR3Vp ZCw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIFVJTlROJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IFRva2VuTnVtYmVyLDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gVUlO VDgmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgVmFsdWU8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 ICk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtezxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsgQVNTRVJUIChHdWlkICE9IE5VTEwpOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IChHZXRQaVBjZFBwaVBvaW50ZXIg KCkpLSZndDtTZXQ4IChHdWlkLCBUb2tlbk51bWJlciwgVmFsdWUpOzxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHJldHVybiBWYWx1 ZTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtfTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0vKio8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgYSBtZWFucyBieSB3aGljaCB0byBzZXQg YSB2YWx1ZSBmb3IgYSBnaXZlbiBQQ0QgdG9rZW4uPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgU2V0cyB0aGUgMTYtYml0IHZhbHVl IGZvciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IFRva2VuTnVtYmVyIGFuZDxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgR3VpZCB0byB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IFZhbHVl LiBWYWx1ZSBpcyByZXR1cm5lZC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBHdWlkIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCku PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsgQHBhcmFtW2luXSZuYnNwOyBHdWlkJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSBwb2ludGVyIHRvIGEgMTI4LWJpdCB1bmlxdWUg dmFsdWUgdGhhdDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZGVzaWduYXRlcyB3aGljaCBuYW1lc3BhY2Ug dG8gc2V0IGEgdmFsdWUgZnJvbS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBw YXJhbVtpbl0mbmJzcDsgVG9rZW5OdW1iZXImbmJzcDsmbmJzcDsgVGhlIFBDRCB0b2tlbiBudW1i ZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1ZSBmb3IuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IFZhbHVlJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSAxNi1iaXQgdmFsdWUgdG8gc2V0Ljxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEByZXR1 cm4gUmV0dXJuIHRoZSB2YWx1ZSB0aGF0IHdhcyBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0qKi88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtVUlOVDE2PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUVGSUFQSTxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC1MaWJQY2RTZXRFeDE2ICg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IElOIENPTlNUIEdVSUQmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgKkd1aWQsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBVSU5U TiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBUb2tlbk51bWJlciw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IElOIFVJTlQxNiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBWYWx1ZTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsgKTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC17PGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSZuYnNwOyBBU1NFUlQgKEd1aWQgIT0gTlVMTCk7PGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgKEdldFBpUGNkUHBp UG9pbnRlciAoKSktJmd0O1NldDE2IChHdWlkLCBUb2tlbk51bWJlciwgVmFsdWUpOzxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHJl dHVybiBWYWx1ZTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtfTxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0vKio8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgYSBtZWFucyBieSB3aGlj aCB0byBzZXQgYSB2YWx1ZSBmb3IgYSBnaXZlbiBQQ0QgdG9rZW4uPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgU2V0cyB0aGUgMzIt Yml0IHZhbHVlIGZvciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IFRva2VuTnVtYmVyIGFuZDxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgR3VpZCB0byB0aGUgdmFsdWUgc3BlY2lmaWVk IGJ5IFZhbHVlLiBWYWx1ZSBpcyByZXR1cm5lZC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBHdWlkIGlzIE5VTEwsIHRoZW4g QVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgQHBhcmFtW2luXSZuYnNwOyBHdWlkJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSBwb2ludGVyIHRvIGEgMTI4LWJp dCB1bmlxdWUgdmFsdWUgdGhhdDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZGVzaWduYXRlcyB3aGljaCBu YW1lc3BhY2UgdG8gc2V0IGEgdmFsdWUgZnJvbS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IEBwYXJhbVtpbl0mbmJzcDsgVG9rZW5OdW1iZXImbmJzcDsmbmJzcDsgVGhlIFBDRCB0 b2tlbiBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1ZSBmb3IuPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IFZhbHVlJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSAzMi1iaXQgdmFsdWUgdG8gc2V0Ljxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5i c3A7IEByZXR1cm4gUmV0dXJuIHRoZSB2YWx1ZSB0aGF0IHdhcyBzZXQuPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0qKi88YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtVUlOVDMyPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUVGSUFQSTxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1MaWJQY2RTZXRFeDMyICg8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIENPTlNUIEdVSUQmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgKkd1aWQsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyBJTiBVSU5UTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUb2tlbk51bWJlciw8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IElOIFVJTlQzMiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBWYWx1ZTxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgKTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC17PGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBBU1NFUlQgKEd1aWQgIT0gTlVMTCk7PGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgKEdl dFBpUGNkUHBpUG9pbnRlciAoKSktJmd0O1NldDMyIChHdWlkLCBUb2tlbk51bWJlciwgVmFsdWUp Ozxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IHJldHVybiBWYWx1ZTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtfTxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0vKio8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgYSBtZWFu cyBieSB3aGljaCB0byBzZXQgYSB2YWx1ZSBmb3IgYSBnaXZlbiBQQ0QgdG9rZW4uPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgU2V0 cyB0aGUgNjQtYml0IHZhbHVlIGZvciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IFRva2VuTnVtYmVy IGFuZDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgR3VpZCB0byB0aGUgdmFsdWUg c3BlY2lmaWVkIGJ5IFZhbHVlLiBWYWx1ZSBpcyByZXR1cm5lZC48YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBHdWlkIGlzIE5V TEwsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtW2luXSZuYnNwOyBHdWlkJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSBwb2ludGVyIHRv IGEgMTI4LWJpdCB1bmlxdWUgdmFsdWUgdGhhdDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZGVzaWduYXRl cyB3aGljaCBuYW1lc3BhY2UgdG8gc2V0IGEgdmFsdWUgZnJvbS48YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbVtpbl0mbmJzcDsgVG9rZW5OdW1iZXImbmJzcDsmbmJzcDsg VGhlIFBDRCB0b2tlbiBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1ZSBmb3IuPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IFZhbHVlJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSA2NC1iaXQgdmFsdWUg dG8gc2V0Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IEByZXR1cm4gUmV0dXJuIHRoZSB2YWx1ZSB0aGF0IHdhcyBzZXQuPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0qKi88YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtVUlOVDY0PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LUVGSUFQSTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1MaWJQY2RTZXRFeDY0ICg8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIENPTlNUIEdVSUQmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKkd1aWQsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyBJTiBVSU5UTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUb2tlbk51bWJlciw8YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIFVJTlQ2NCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBWYWx1ZTxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgKTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC17 PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBBU1NFUlQgKEd1aWQgIT0gTlVMTCk7 PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsgKEdldFBpUGNkUHBpUG9pbnRlciAoKSktJmd0O1NldDY0IChHdWlkLCBUb2tlbk51bWJl ciwgVmFsdWUpOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IHJldHVybiBWYWx1ZTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt fTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0v Kio8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFRoaXMgZnVuY3Rpb24gcHJvdmlk ZXMgYSBtZWFucyBieSB3aGljaCB0byBzZXQgYSB2YWx1ZSBmb3IgYSBnaXZlbiBQQ0QgdG9rZW4u PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsgU2V0cyBhIGJ1ZmZlciBmb3IgdGhlIHRva2VuIHNwZWNpZmllZCBieSBUb2tlbk51bWJl ciB0byB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBCdWZmZXIgYW5kIFNpemVPZkJ1ZmZlci4mbmJzcDsgQnVmZmVyIGlzIHJldHVybmVkLiZu YnNwOyBJZiBTaXplT2ZCdWZmZXIgaXMgZ3JlYXRlciB0aGFuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyB0aGUgbWF4aW11bSBzaXplIHN1cHBvcnQgYnkgVG9rZW5OdW1iZXIsIHRo ZW4gc2V0IFNpemVPZkJ1ZmZlciB0byB0aGUgbWF4aW11bSBzaXplPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSZuYnNwOyBzdXBwb3J0ZWQgYnkgVG9rZW5OdW1iZXIgYW5kIHJldHVybiBOVUxM IHRvIGluZGljYXRlIHRoYXQgdGhlIHNldCBvcGVyYXRpb248YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IHdhcyBub3QgYWN0dWFsbHkgcGVyZm9ybWVkLjxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIEd1aWQgaXMg TlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElm IFNpemVPZkJ1ZmZlciBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgSWYgU2l6ZU9mQnVmZmVyICZndDsgMCBhbmQgQnVmZmVyIGlzIE5VTEws IHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtW2luXSZuYnNwOyBHdWlkJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IFRoZSBwb2ludGVyIHRvIGEgMTI4LWJpdCB1bmlxdWUgdmFsdWUgdGhhdDxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZGVzaWduYXRlcyB3aGljaCBuYW1l c3BhY2UgdG8gc2V0IGEgdmFsdWUgZnJvbS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5i c3A7IEBwYXJhbVtpbl0mbmJzcDsgVG9rZW5OdW1iZXImbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgVGhlIFBDRCB0b2tlbiBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1ZSBm b3IuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW4sIG91dF0gU2l6 ZU9mQnVmZmVyJm5ic3A7IFRoZSBzaXplLCBpbiBieXRlcywgb2YgQnVmZmVyLjxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtW2luXSZuYnNwOyBCdWZmZXImbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg QSBwb2ludGVyIHRvIHRoZSBidWZmZXIgdG8gc2V0Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEByZXR1cm4gUmV0dXJuIHRoZSBw aW50ZXIgdG8gdGhlIGJ1ZmZlciBiZWVuIHNldC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSoqLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC1WT0lEICo8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtRUZJQVBJPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLUxpYlBjZFNldEV4UHRyICg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IElOJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IENPTlNUIEdVSUQmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKkd1aWQsPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBVSU5U TiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBUb2tlbk51bWJlciw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IElOIE9VVCZuYnNwOyBVSU5UTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqU2l6ZU9mQnVmZmVyLDxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4mbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgVk9JRCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqQnVmZmVyPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLSZuYnNwOyApPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLXs8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEVGSV9TVEFUVVMmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgU3RhdHVzOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVUlO VE4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgSW5wdXRTaXplT2ZCdWZmZXI7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQVNTRVJUIChTaXplT2ZCdWZmZXIgIT0gTlVM TCk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBpZiAoKlNpemVPZkJ1ZmZlciAm Z3Q7IDApIHs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7IEFT U0VSVCAoQnVmZmVyICE9IE5VTEwpOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg fTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQVNTRVJUIChHdWlkICE9IE5VTEwp Ozxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IElucHV0U2l6ZU9mQnVmZmVyID0gKlNpemVPZkJ1ZmZlcjs8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IFN0YXR1cyA9IChHZXRQaVBjZFBwaVBvaW50ZXIgKCkpLSZndDtT ZXRQdHIgKEd1aWQsIFRva2VuTnVtYmVyLCBTaXplT2ZCdWZmZXIsIEJ1ZmZlcik7PGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBpZiAoRUZJX0VSUk9SIChTdGF0dXMpICZhbXA7JmFt cDsgKCpTaXplT2ZCdWZmZXIgJmx0OyBJbnB1dFNpemVPZkJ1ZmZlcikpIHs8YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybiBOVUxMOzxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgfTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHJldHVybiBCdWZmZXI7PGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLX08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtLyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBUaGlz IGZ1bmN0aW9uIHByb3ZpZGVzIGEgbWVhbnMgYnkgd2hpY2ggdG8gc2V0IGEgdmFsdWUgZm9yIGEg Z2l2ZW4gUENEIHRva2VuLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFNldHMgdGhlIEJvb2xlYW4gdmFsdWUgZm9yIHRoZSB0b2tl biBzcGVjaWZpZWQgYnkgVG9rZW5OdW1iZXIgYW5kPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBHdWlkIHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgVmFsdWUuIFZhbHVlIGlzIHJl dHVybmVkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IElmIEd1aWQgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1b aW5dJm5ic3A7IEd1aWQmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgVGhlIHBvaW50ZXIgdG8gYSAxMjgtYml0IHVuaXF1ZSB2YWx1ZSB0aGF0PGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBkZXNpZ25hdGVzIHdoaWNoIG5hbWVzcGFjZSB0byBzZXQgYSB2YWx1 ZSBmcm9tLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtW2luXSZuYnNw OyBUb2tlbk51bWJlciZuYnNwOyZuYnNwOyBUaGUgUENEIHRva2VuIG51bWJlciB0byBzZXQgYSBj dXJyZW50IHZhbHVlIGZvci48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJh bVtpbl0mbmJzcDsgVmFsdWUmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgVGhlIEJvb2xlYW4gdmFsdWUgdG8gc2V0Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEByZXR1cm4gUmV0dXJuIHRo ZSB2YWx1ZSB0aGF0IHdhcyBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0qKi88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtQk9PTEVB Tjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1FRklBUEk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtTGliUGNkU2V0RXhCb29sICg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 IElOIENPTlNUIEdVSUQmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg Kkd1aWQsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBVSU5UTiZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyBUb2tlbk51bWJlciw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElO IEJPT0xFQU4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgVmFsdWU8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7ICk8YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtezxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgQVNTRVJUIChHdWlkICE9IE5VTEwpOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IChHZXRQaVBjZFBwaVBvaW50ZXIgKCkpLSZn dDtTZXRCb29sIChHdWlkLCBUb2tlbk51bWJlciwgVmFsdWUpOzxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHJldHVybiBWYWx1ZTs8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtfTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0j ZW5kaWY8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsmbmJzcDsmbmJzcDsgLyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgVGhpcyBmdW5jdGlvbiBwcm92aWRlcyBhIG1lYW5zIGJ5IHdoaWNoIHRvIHNl dCBhIHZhbHVlIGZvciBhIGdpdmVuIFBDRCB0b2tlbi48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 Ozxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IGRpZmYgLS1naXQgYS9NZGVQa2cvTGlicmFyeS9V ZWZpTGliL1VlZmlMaWIuYyBiL01kZVBrZy9MaWJyYXJ5L1VlZmlMaWIvVWVmaUxpYi5jPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgaW5kZXggMDdjNDVkMWU5MWZmLi44MzUyMThmOTgyNGYgMTAw NjQ0PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLS0tIGEvTWRlUGtnL0xpYnJhcnkvVWVmaUxp Yi9VZWZpTGliLmM8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyArKysgYi9NZGVQa2cvTGlicmFy eS9VZWZpTGliL1VlZmlMaWIuYzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IEBAIC0xMjg1LDk4 ICsxMjg1LDYgQEAgRnJlZVVuaWNvZGVTdHJpbmdUYWJsZSAoPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcmV0dXJuIEVGSV9TVUNDRVNTOzxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7Jm5ic3A7Jm5ic3A7IH08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 Ozxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0jaWZuZGVmIERJU0FCTEVfTkVXX0RFUFJFQ0FU RURfSU5URVJGQUNFUzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtLyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBbQVRURU5U SU9OXSBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgZGVwcmVjYXRlZCBmb3Igc2VjdXJpdHkgcmVhc29u Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IFJldHVybnMgYSBwb2ludGVyIHRvIGFuIGFsbG9jYXRlZCBidWZmZXIgdGhhdCBjb250 YWlucyB0aGUgY29udGVudHMgb2YgYTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg dmFyaWFibGUgcmV0cmlldmVkIHRocm91Z2ggdGhlIFVFRkkgUnVudGltZSBTZXJ2aWNlIEdldFZh cmlhYmxlKCkuJm5ic3A7IFRoZTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgcmV0 dXJuZWQgYnVmZmVyIGlzIGFsbG9jYXRlZCB1c2luZyBBbGxvY2F0ZVBvb2woKS4mbmJzcDsgVGhl IGNhbGxlciBpcyByZXNwb25zaWJsZTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg Zm9yIGZyZWVpbmcgdGhpcyBidWZmZXIgd2l0aCBGcmVlUG9vbCgpLjxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIE5hbWUgaXMg TlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElm IEd1aWQgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IE5hbWUm bmJzcDsgVGhlIHBvaW50ZXIgdG8gYSBOdWxsLXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcuPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IEd1aWQmbmJz cDsgVGhlIHBvaW50ZXIgdG8gYW4gRUZJX0dVSUQgc3RydWN0dXJlPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHJldHZhbCBOVUxM Jm5ic3A7Jm5ic3A7IFRoZSB2YXJpYWJsZSBjb3VsZCBub3QgYmUgcmV0cmlldmVkLjxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHJldHZhbCBOVUxMJm5ic3A7Jm5ic3A7IFRoZXJl IGFyZSBub3QgZW5vdWdoIHJlc291cmNlcyBhdmFpbGFibGUgZm9yIHRoZSB2YXJpYWJsZSBjb250 ZW50cy48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEByZXR2YWwgT3RoZXImbmJz cDsgQSBwb2ludGVyIHRvIGFsbG9jYXRlZCBidWZmZXIgY29udGFpbmluZyB0aGUgdmFyaWFibGUg Y29udGVudHMuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0qKi88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtVk9JRCAqPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLUVGSUFQSTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1HZXRWYXJp YWJsZSAoPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBDT05TVCBDSEFSMTYm bmJzcDsmbmJzcDsmbmJzcDsgKk5hbWUsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyBJTiBDT05TVCBFRklfR1VJRCZuYnNwOyAqR3VpZDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsgKTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC17PGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSZuYnNwOyBFRklfU1RBVFVTJm5ic3A7IFN0YXR1czs8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IFVJTlROJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IFNpemU7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBWT0lEJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICpWYWx1ZTs8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBBU1NFUlQgKE5h bWUgIT0gTlVMTCk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBBU1NFUlQgKEd1 aWQgIT0gTlVMTCk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgLy88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IC8v IFRyeSB0byBnZXQgdGhlIHZhcmlhYmxlIHNpemUuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyAvLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVmFsdWUgPSBOVUxM Ozxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgU2l6ZSA9IDA7PGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBTdGF0dXMgPSBnUlQtJmd0O0dldFZhcmlhYmxlICgoQ0hB UjE2ICopIE5hbWUsIChFRklfR1VJRCAqKSBHdWlkLCBOVUxMLCAmYW1wO1NpemUsIFZhbHVlKTs8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IGlmIChTdGF0dXMgIT0gRUZJX0JVRkZF Ul9UT09fU01BTEwpIHs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5i c3A7IHJldHVybiBOVUxMOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgfTxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 IC8vPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyAvLyBBbGxvY2F0ZSBidWZmZXIg dG8gZ2V0IHRoZSB2YXJpYWJsZS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IC8v PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBWYWx1ZSA9IEFsbG9jYXRlUG9vbCAo U2l6ZSk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBpZiAoVmFsdWUgPT0gTlVM TCkgezxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsgcmV0dXJu IE5VTEw7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyB9PGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgLy88YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IC8vIEdldCB0aGUgdmFyaWFibGUgZGF0YS48YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IC8vPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyBTdGF0dXMgPSBnUlQtJmd0O0dldFZhcmlhYmxlICgoQ0hBUjE2ICopIE5hbWUs IChFRklfR1VJRCAqKSBHdWlkLCBOVUxMLCAmYW1wO1NpemUsIFZhbHVlKTs8YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IGlmIChFRklfRVJST1IgKFN0YXR1cykpIHs8YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7IEZyZWVQb29sKFZhbHVlKTs8YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybiBOVUxMOzxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgfTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHJldHVybiBWYWx1ZTs8YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtfTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtLyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBbQVRURU5USU9OXSBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgZGVwcmVjYXRlZCBmb3Igc2Vj dXJpdHkgcmVhc29uLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IFJldHVybnMgYSBwb2ludGVyIHRvIGFuIGFsbG9jYXRlZCBidWZm ZXIgdGhhdCBjb250YWlucyB0aGUgY29udGVudHMgb2YgYTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgdmFyaWFibGUgcmV0cmlldmVkIHRocm91Z2ggdGhlIFVFRkkgUnVudGltZSBT ZXJ2aWNlIEdldFZhcmlhYmxlKCkuJm5ic3A7IFRoaXM8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IGZ1bmN0aW9uIGFsd2F5cyB1c2VzIHRoZSBFRklfR0xPQkFMX1ZBUklBQkxFIEdV SUQgdG8gcmV0cmlldmUgdmFyaWFibGVzLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgVGhlIHJldHVybmVkIGJ1ZmZlciBpcyBhbGxvY2F0ZWQgdXNpbmcgQWxsb2NhdGVQb29sKCku Jm5ic3A7IFRoZSBjYWxsZXIgaXM8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHJl c3BvbnNpYmxlIGZvciBmcmVlaW5nIHRoaXMgYnVmZmVyIHdpdGggRnJlZVBvb2woKS48YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJ ZiBOYW1lIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtW2luXSZuYnNwOyBOYW1l Jm5ic3A7IFRoZSBwb2ludGVyIHRvIGEgTnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nLjxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5i c3A7IEByZXR2YWwgTlVMTCZuYnNwOyZuYnNwOyBUaGUgdmFyaWFibGUgY291bGQgbm90IGJlIHJl dHJpZXZlZC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEByZXR2YWwgTlVMTCZu YnNwOyZuYnNwOyBUaGVyZSBhcmUgbm90IGVub3VnaCByZXNvdXJjZXMgYXZhaWxhYmxlIGZvciB0 aGUgdmFyaWFibGUgY29udGVudHMuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBA cmV0dmFsIE90aGVyJm5ic3A7IEEgcG9pbnRlciB0byBhbGxvY2F0ZWQgYnVmZmVyIGNvbnRhaW5p bmcgdGhlIHZhcmlhYmxlIGNvbnRlbnRzLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtKiovPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLVZP SUQgKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1FRklBUEk8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtR2V0RWZpR2xvYmFsVmFyaWFibGUgKDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsgSU4gQ09OU1QgQ0hBUjE2Jm5ic3A7ICpOYW1lPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyApPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLXs8YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHJldHVybiBHZXRWYXJpYWJsZSAoTmFtZSwgJmFtcDtnRWZp R2xvYmFsVmFyaWFibGVHdWlkKTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtfTxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0jZW5kaWY8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0Ozxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7Jm5ic3A7Jm5ic3A7IC8qKjxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFJldHVybnMgdGhlIHN0YXR1cyB3aGV0aGVy IGdldCB0aGUgdmFyaWFibGUgc3VjY2Vzcy4gVGhlIGZ1bmN0aW9uIHJldHJpZXZlczxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IGRpZmYgLS1naXQgYS9NZGVQa2cvSW5jbHVkZS9MaWJyYXJ5L0Jh c2VMaWIuaCBiL01kZVBrZy9JbmNsdWRlL0xpYnJhcnkvQmFzZUxpYi5oPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgaW5kZXggOGU3Yjg3Y2JkYTRlLi5iOTJhMWEzYTQwMjggMTAwNjQ0PGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLS0tIGEvTWRlUGtnL0luY2x1ZGUvTGlicmFyeS9CYXNlTGli Lmg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyArKysgYi9NZGVQa2cvSW5jbHVkZS9MaWJyYXJ5 L0Jhc2VMaWIuaDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IEBAIC05NjIsODIgKzk2Miw2IEBA IEFzY2lpU3RySGV4VG9VaW50NjRTICg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyApOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7PGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtI2lmbmRlZiBESVNBQkxF X05FV19ERVBSRUNBVEVEX0lOVEVSRkFDRVM8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLS8qKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsgW0FUVEVOVElPTl0gVGhpcyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGZvciBzZWN1cml0 eSByZWFzb24uPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgQ29waWVzIG9uZSBOdWxsLXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcg dG8gYW5vdGhlciBOdWxsLXRlcm1pbmF0ZWQgVW5pY29kZTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgc3RyaW5nIGFuZCByZXR1cm5zIHRoZSBuZXcgVW5pY29kZSBzdHJpbmcuPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgVGhpcyBmdW5jdGlvbiBjb3BpZXMgdGhlIGNvbnRlbnRzIG9mIHRoZSBVbmljb2RlIHN0cmlu ZyBTb3VyY2UgdG8gdGhlIFVuaWNvZGU8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 IHN0cmluZyBEZXN0aW5hdGlvbiwgYW5kIHJldHVybnMgRGVzdGluYXRpb24uIElmIFNvdXJjZSBh bmQgRGVzdGluYXRpb248YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IG92ZXJsYXAs IHRoZW4gdGhlIHJlc3VsdHMgYXJlIHVuZGVmaW5lZC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBEZXN0aW5hdGlvbiBpcyBO VUxMLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYg RGVzdGluYXRpb24gaXMgbm90IGFsaWduZWQgb24gYSAxNi1iaXQgYm91bmRhcnksIHRoZW4gQVNT RVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBTb3VyY2UgaXMgTlVM TCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFNv dXJjZSBpcyBub3QgYWxpZ25lZCBvbiBhIDE2LWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS48 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFNvdXJjZSBhbmQgRGVzdGluYXRp b24gb3ZlcmxhcCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5i c3A7IElmIFBjZE1heGltdW1Vbmljb2RlU3RyaW5nTGVuZ3RoIGlzIG5vdCB6ZXJvLCBhbmQgU291 cmNlIGNvbnRhaW5zIG1vcmUgdGhhbjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg UGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGggVW5pY29kZSBjaGFyYWN0ZXJzIG5vdCBpbmNs dWRpbmcgdGhlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBOdWxsLXRlcm1pbmF0 b3IsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtJm5ic3A7IERlc3RpbmF0aW9uIFRoZSBwb2lu dGVyIHRvIGEgTnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nLjxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtJm5ic3A7IFNvdXJjZSZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyBUaGUgcG9pbnRlciB0byBhIE51bGwtdGVybWluYXRlZCBVbmljb2RlIHN0cmlu Zy48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBAcmV0dXJuIERlc3RpbmF0aW9uLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtKiovPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LUNIQVIxNiAqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUVGSUFQSTxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC1TdHJDcHkgKDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg T1VUJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IENIQVIxNiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqRGVzdGluYXRpb24sPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBDT05TVCBDSEFSMTYmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKlNvdXJjZTxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgKTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0vKio8YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFtBVFRFTlRJT05dIFRoaXMgZnVuY3Rpb24g aXMgZGVwcmVjYXRlZCBmb3Igc2VjdXJpdHkgcmVhc29uLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IENvcGllcyB1cCB0byBhIHNw ZWNpZmllZCBsZW5ndGggZnJvbSBvbmUgTnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nIHRv PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBhbm90aGVyIE51bGwtdGVybWluYXRl ZCBVbmljb2RlIHN0cmluZyBhbmQgcmV0dXJucyB0aGUgbmV3IFVuaWNvZGUgc3RyaW5nLjxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 IFRoaXMgZnVuY3Rpb24gY29waWVzIHRoZSBjb250ZW50cyBvZiB0aGUgVW5pY29kZSBzdHJpbmcg U291cmNlIHRvIHRoZSBVbmljb2RlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBz dHJpbmcgRGVzdGluYXRpb24sIGFuZCByZXR1cm5zIERlc3RpbmF0aW9uLiBBdCBtb3N0LCBMZW5n dGggVW5pY29kZTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgY2hhcmFjdGVycyBh cmUgY29waWVkIGZyb20gU291cmNlIHRvIERlc3RpbmF0aW9uLiBJZiBMZW5ndGggaXMgMCwgdGhl bjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgRGVzdGluYXRpb24gaXMgcmV0dXJu ZWQgdW5tb2RpZmllZC4gSWYgTGVuZ3RoIGlzIGdyZWF0ZXIgdGhhdCB0aGUgbnVtYmVyIG9mPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBVbmljb2RlIGNoYXJhY3RlcnMgaW4gU291 cmNlLCB0aGVuIERlc3RpbmF0aW9uIGlzIHBhZGRlZCB3aXRoIE51bGwgVW5pY29kZTxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgY2hhcmFjdGVycy4gSWYgU291cmNlIGFuZCBEZXN0 aW5hdGlvbiBvdmVybGFwLCB0aGVuIHRoZSByZXN1bHRzIGFyZTxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgdW5kZWZpbmVkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIExlbmd0aCAmZ3Q7IDAgYW5kIERlc3Rp bmF0aW9uIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBJZiBMZW5ndGggJmd0OyAwIGFuZCBEZXN0aW5hdGlvbiBpcyBub3QgYWxpZ25lZCBv biBhIDE2LWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IElmIExlbmd0aCAmZ3Q7IDAgYW5kIFNvdXJjZSBpcyBOVUxMLCB0aGVuIEFT U0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgTGVuZ3RoICZndDsg MCBhbmQgU291cmNlIGlzIG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFT U0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgU291cmNlIGFuZCBE ZXN0aW5hdGlvbiBvdmVybGFwLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgSWYgUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGggaXMgbm90IHplcm8s IGFuZCBMZW5ndGggaXMgZ3JlYXRlciB0aGFuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBQY2RNYXhpbXVtVW5pY29kZVN0cmluZ0xlbmd0aCwgdGhlbiBBU1NFUlQoKS48YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFBjZE1heGltdW1Vbmljb2RlU3RyaW5nTGVu Z3RoIGlzIG5vdCB6ZXJvLCBhbmQgU291cmNlIGNvbnRhaW5zIG1vcmUgdGhhbjxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGggVW5p Y29kZSBjaGFyYWN0ZXJzLCBub3QgaW5jbHVkaW5nIHRoZSBOdWxsLXRlcm1pbmF0b3IsPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbSZu YnNwOyBEZXN0aW5hdGlvbiBUaGUgcG9pbnRlciB0byBhIE51bGwtdGVybWluYXRlZCBVbmljb2Rl IHN0cmluZy48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbSZuYnNwOyBT b3VyY2UmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVGhlIHBvaW50ZXIgdG8gYSBOdWxs LXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBAcGFyYW0mbmJzcDsgTGVuZ3RoJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRo ZSBtYXhpbXVtIG51bWJlciBvZiBVbmljb2RlIGNoYXJhY3RlcnMgdG8gY29weS48YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcmV0 dXJuIERlc3RpbmF0aW9uLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtKiovPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUNIQVIxNiAqPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUVGSUFQSTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC1TdHJuQ3B5ICg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IE9VVCZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBDSEFSMTYmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKkRlc3RpbmF0aW9uLDxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgSU4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgQ09OU1QgQ0hB UjE2Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICpTb3VyY2UsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyBJTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBVSU5UTiZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBM ZW5ndGg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7ICk7PGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLSNlbmRpZiAvLyAhZGVmaW5lZCAoRElTQUJMRV9ORVdfREVQUkVDQVRFRF9J TlRFUkZBQ0VTKTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyZuYnNwOyZuYnNwOyAvKio8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBSZXR1cm5zIHRoZSBsZW5ndGggb2YgYSBOdWxsLXRlcm1pbmF0ZWQg VW5pY29kZSBzdHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyBAQCAtMTE2NCw5OSArMTA4OCw2IEBAIFN0cm5DbXAgKDxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICk7PGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0Ozxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0jaWZuZGVmIERJU0FCTEVfTkVXX0RFUFJFQ0FURURfSU5URVJGQUNFUzxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtLyoqPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBbQVRURU5USU9OXSBUaGlzIGZ1bmN0aW9uIGlzIGRl cHJlY2F0ZWQgZm9yIHNlY3VyaXR5IHJlYXNvbi48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBDb25jYXRlbmF0ZXMgb25lIE51bGwt dGVybWluYXRlZCBVbmljb2RlIHN0cmluZyB0byBhbm90aGVyIE51bGwtdGVybWluYXRlZDxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVW5pY29kZSBzdHJpbmcsIGFuZCByZXR1cm5z IHRoZSBjb25jYXRlbmF0ZWQgVW5pY29kZSBzdHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVGhpcyBmdW5jdGlvbiBjb25j YXRlbmF0ZXMgdHdvIE51bGwtdGVybWluYXRlZCBVbmljb2RlIHN0cmluZ3MuIFRoZSBjb250ZW50 czxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgb2YgTnVsbC10ZXJtaW5hdGVkIFVu aWNvZGUgc3RyaW5nIFNvdXJjZSBhcmUgY29uY2F0ZW5hdGVkIHRvIHRoZSBlbmQgb2Y8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IE51bGwtdGVybWluYXRlZCBVbmljb2RlIHN0cmlu ZyBEZXN0aW5hdGlvbi4gVGhlIE51bGwtdGVybWluYXRlZCBjb25jYXRlbmF0ZWQ8YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFVuaWNvZGUgU3RyaW5nIGlzIHJldHVybmVkLiBJZiBT b3VyY2UgYW5kIERlc3RpbmF0aW9uIG92ZXJsYXAsIHRoZW4gdGhlPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSZuYnNwOyByZXN1bHRzIGFyZSB1bmRlZmluZWQuPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgRGVzdGluYXRp b24gaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5i c3A7IElmIERlc3RpbmF0aW9uIGlzIG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0 aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgU291cmNl IGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyBJZiBTb3VyY2UgaXMgbm90IGFsaWduZWQgb24gYSAxNi1iaXQgYm91bmRhcnksIHRoZW4gQVNT RVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBTb3VyY2UgYW5kIERl c3RpbmF0aW9uIG92ZXJsYXAsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyBJZiBQY2RNYXhpbXVtVW5pY29kZVN0cmluZ0xlbmd0aCBpcyBub3QgemVybywg YW5kIERlc3RpbmF0aW9uIGNvbnRhaW5zIG1vcmU8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IHRoYW4gUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGggVW5pY29kZSBjaGFyYWN0 ZXJzLCBub3QgaW5jbHVkaW5nIHRoZTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg TnVsbC10ZXJtaW5hdG9yLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsgSWYgUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGggaXMgbm90IHplcm8sIGFu ZCBTb3VyY2UgY29udGFpbnMgbW9yZSB0aGFuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBQY2RNYXhpbXVtVW5pY29kZVN0cmluZ0xlbmd0aCBVbmljb2RlIGNoYXJhY3RlcnMsIG5v dCBpbmNsdWRpbmcgdGhlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBOdWxsLXRl cm1pbmF0b3IsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyBJZiBQY2RNYXhpbXVtVW5pY29kZVN0cmluZ0xlbmd0aCBpcyBub3QgemVybywgYW5kIGNvbmNh dGVuYXRpbmcgRGVzdGluYXRpb248YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IGFu ZCBTb3VyY2UgcmVzdWx0cyBpbiBhIFVuaWNvZGUgc3RyaW5nIHdpdGggbW9yZSB0aGFuPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBQY2RNYXhpbXVtVW5pY29kZVN0cmluZ0xlbmd0 aCBVbmljb2RlIGNoYXJhY3RlcnMsIG5vdCBpbmNsdWRpbmcgdGhlPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSZuYnNwOyBOdWxsLXRlcm1pbmF0b3IsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBh cmFtJm5ic3A7IERlc3RpbmF0aW9uIFRoZSBwb2ludGVyIHRvIGEgTnVsbC10ZXJtaW5hdGVkIFVu aWNvZGUgc3RyaW5nLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtJm5i c3A7IFNvdXJjZSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUaGUgcG9pbnRlciB0byBh IE51bGwtdGVybWluYXRlZCBVbmljb2RlIHN0cmluZy48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcmV0dXJuIERlc3RpbmF0aW9u Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt KiovPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUNIQVIxNiAqPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLUVGSUFQSTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1TdHJDYXQgKDxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gT1VUJm5ic3A7IENIQVIxNiZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqRGVzdGlu YXRpb24sPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBDT05TVCBDSEFSMTYmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKlNvdXJj ZTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgKTs8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0vKio8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFtBVFRFTlRJT05d IFRoaXMgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBmb3Igc2VjdXJpdHkgcmVhc29uLjxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IENv bmNhdGVuYXRlcyB1cCB0byBhIHNwZWNpZmllZCBsZW5ndGggb25lIE51bGwtdGVybWluYXRlZCBV bmljb2RlIHRvIHRoZSBlbmQ8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IG9mIGFu b3RoZXIgTnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nLCBhbmQgcmV0dXJucyB0aGUgY29u Y2F0ZW5hdGVkPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBVbmljb2RlIHN0cmlu Zy48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBUaGlzIGZ1bmN0aW9uIGNvbmNhdGVuYXRlcyB0d28gTnVsbC10ZXJtaW5hdGVkIFVu aWNvZGUgc3RyaW5ncy4gVGhlIGNvbnRlbnRzPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBvZiBOdWxsLXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcgU291cmNlIGFyZSBjb25jYXRl bmF0ZWQgdG8gdGhlIGVuZCBvZjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgTnVs bC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nIERlc3RpbmF0aW9uLCBhbmQgRGVzdGluYXRpb24g aXMgcmV0dXJuZWQuIEF0PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBtb3N0LCBM ZW5ndGggVW5pY29kZSBjaGFyYWN0ZXJzIGFyZSBjb25jYXRlbmF0ZWQgZnJvbSBTb3VyY2UgdG8g dGhlIGVuZCBvZjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgRGVzdGluYXRpb24s IGFuZCBEZXN0aW5hdGlvbiBpcyBhbHdheXMgTnVsbC10ZXJtaW5hdGVkLiBJZiBMZW5ndGggaXMg MCwgdGhlbjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgRGVzdGluYXRpb24gaXMg cmV0dXJuZWQgdW5tb2RpZmllZC4gSWYgU291cmNlIGFuZCBEZXN0aW5hdGlvbiBvdmVybGFwLCB0 aGVuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyB0aGUgcmVzdWx0cyBhcmUgdW5k ZWZpbmVkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IElmIERlc3RpbmF0aW9uIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBMZW5ndGggJmd0OyAwIGFuZCBEZXN0aW5h dGlvbiBpcyBub3QgYWxpZ25lZCBvbiBhIDE2LWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS48 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIExlbmd0aCAmZ3Q7IDAgYW5kIFNv dXJjZSBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsgSWYgTGVuZ3RoICZndDsgMCBhbmQgU291cmNlIGlzIG5vdCBhbGlnbmVkIG9uIGEgMTYt Yml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsgSWYgU291cmNlIGFuZCBEZXN0aW5hdGlvbiBvdmVybGFwLCB0aGVuIEFTU0VSVCgpLjxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgUGNkTWF4aW11bVVuaWNvZGVTdHJp bmdMZW5ndGggaXMgbm90IHplcm8sIGFuZCBMZW5ndGggaXMgZ3JlYXRlciB0aGFuPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBQY2RNYXhpbXVtVW5pY29kZVN0cmluZ0xlbmd0aCwg dGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFBjZE1h eGltdW1Vbmljb2RlU3RyaW5nTGVuZ3RoIGlzIG5vdCB6ZXJvLCBhbmQgRGVzdGluYXRpb24gY29u dGFpbnMgbW9yZTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgdGhhbiBQY2RNYXhp bXVtVW5pY29kZVN0cmluZ0xlbmd0aCBVbmljb2RlIGNoYXJhY3RlcnMsIG5vdCBpbmNsdWRpbmcg dGhlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBOdWxsLXRlcm1pbmF0b3IsIHRo ZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBQY2RNYXhp bXVtVW5pY29kZVN0cmluZ0xlbmd0aCBpcyBub3QgemVybywgYW5kIFNvdXJjZSBjb250YWlucyBt b3JlIHRoYW48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFBjZE1heGltdW1Vbmlj b2RlU3RyaW5nTGVuZ3RoIFVuaWNvZGUgY2hhcmFjdGVycywgbm90IGluY2x1ZGluZyB0aGU8YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IE51bGwtdGVybWluYXRvciwgdGhlbiBBU1NF UlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFBjZE1heGltdW1Vbmlj b2RlU3RyaW5nTGVuZ3RoIGlzIG5vdCB6ZXJvLCBhbmQgY29uY2F0ZW5hdGluZyBEZXN0aW5hdGlv bjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgYW5kIFNvdXJjZSByZXN1bHRzIGlu IGEgVW5pY29kZSBzdHJpbmcgd2l0aCBtb3JlIHRoYW4gUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdM ZW5ndGg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFVuaWNvZGUgY2hhcmFjdGVy cywgbm90IGluY2x1ZGluZyB0aGUgTnVsbC10ZXJtaW5hdG9yLCB0aGVuIEFTU0VSVCgpLjxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 IEBwYXJhbSZuYnNwOyBEZXN0aW5hdGlvbiBUaGUgcG9pbnRlciB0byBhIE51bGwtdGVybWluYXRl ZCBVbmljb2RlIHN0cmluZy48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJh bSZuYnNwOyBTb3VyY2UmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVGhlIHBvaW50ZXIg dG8gYSBOdWxsLXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyBAcGFyYW0mbmJzcDsgTGVuZ3RoJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IFRoZSBtYXhpbXVtIG51bWJlciBvZiBVbmljb2RlIGNoYXJhY3RlcnMgdG8gY29uY2F0 ZW5hdGUgZnJvbTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgU291cmNl Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IEByZXR1cm4gRGVzdGluYXRpb24uPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0qKi88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Q0hBUjE2ICo8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtRUZJQVBJPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLVN0cm5DYXQgKDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg SU4gT1VUJm5ic3A7IENIQVIxNiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyAqRGVzdGluYXRpb24sPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyBJTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBDT05TVCBDSEFSMTYm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgKlNvdXJjZSw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IElOJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFVJTlROJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IExlbmd0 aDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgKTs8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtI2VuZGlmIC8vICFkZWZpbmVkIChESVNBQkxFX05FV19ERVBSRUNBVEVEX0lOVEVS RkFDRVMpPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7Jm5ic3A7Jm5ic3A7IC8qKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IFJldHVybnMgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgYSBOdWxsLXRlcm1p bmF0ZWQgVW5pY29kZSBzdWItc3RyaW5nPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgaW4gYSBOdWxsLXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcuPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgQEAgLTE2NTUsNTEgKzE0ODYsNiBAQCBTdHJIZXhUb0J5 dGVzICg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBJ TiZuYnNwOyBVSU5UTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBNYXhCdWZmZXJTaXplPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKTs8YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0Ozxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0jaWZuZGVmIERJU0FCTEVf TkVXX0RFUFJFQ0FURURfSU5URVJGQUNFUzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtLyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBbQVRURU5USU9OXSBUaGlzIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgZm9yIHNlY3VyaXR5 IHJlYXNvbi48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyBDb252ZXJ0IGEgTnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nIHRv IGEgTnVsbC10ZXJtaW5hdGVkPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBBU0NJ SSBzdHJpbmcgYW5kIHJldHVybnMgdGhlIEFTQ0lJIHN0cmluZy48YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBUaGlzIGZ1bmN0aW9u IGNvbnZlcnRzIHRoZSBjb250ZW50IG9mIHRoZSBVbmljb2RlIHN0cmluZyBTb3VyY2U8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHRvIHRoZSBBU0NJSSBzdHJpbmcgRGVzdGluYXRp b24gYnkgY29weWluZyB0aGUgbG93ZXIgOCBiaXRzIG9mPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyBlYWNoIFVuaWNvZGUgY2hhcmFjdGVyLiBJdCByZXR1cm5zIERlc3RpbmF0aW9u Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IFRoZSBjYWxsZXIgaXMgcmVzcG9uc2libGUgdG8gbWFrZSBzdXJlIERlc3RpbmF0aW9u IHBvaW50cyB0byBhIGJ1ZmZlciB3aXRoIHNpemU8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IGVxdWFsIG9yIGdyZWF0ZXIgdGhhbiAoKFN0ckxlbiAoU291cmNlKSArIDEpICogc2l6 ZW9mIChDSEFSOCkpIGluIGJ5dGVzLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIGFueSBVbmljb2RlIGNoYXJhY3RlcnMgaW4g U291cmNlIGNvbnRhaW4gbm9uLXplcm8gdmFsdWUgaW48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IHRoZSB1cHBlciA4IGJpdHMsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgRGVzdGlu YXRpb24gaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IElmIFNvdXJjZSBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgSWYgU291cmNlIGlzIG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJv dW5kYXJ5LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg SWYgU291cmNlIGFuZCBEZXN0aW5hdGlvbiBvdmVybGFwLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElm IFBjZE1heGltdW1Vbmljb2RlU3RyaW5nTGVuZ3RoIGlzIG5vdCB6ZXJvLCBhbmQgU291cmNlIGNv bnRhaW5zPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBtb3JlIHRoYW4gUGNkTWF4 aW11bVVuaWNvZGVTdHJpbmdMZW5ndGggVW5pY29kZSBjaGFyYWN0ZXJzIG5vdCBpbmNsdWRpbmc8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHRoZSBOdWxsLXRlcm1pbmF0b3IsIHRo ZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgSWYgUGNkTWF4aW11bUFzY2lpU3RyaW5nTGVuZ3RoIGlzIG5vdCB6 ZXJvLCBhbmQgU291cmNlIGNvbnRhaW5zIG1vcmU8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IHRoYW4gUGNkTWF4aW11bUFzY2lpU3RyaW5nTGVuZ3RoIFVuaWNvZGUgY2hhcmFjdGVy cyBub3QgaW5jbHVkaW5nIHRoZTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgTnVs bC10ZXJtaW5hdG9yLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbSZuYnNwOyBTb3VyY2UmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVGhlIHBvaW50ZXIgdG8gYSBO dWxsLXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBAcGFyYW0mbmJzcDsgRGVzdGluYXRpb24mbmJzcDsmbmJzcDsgVGhlIHBvaW50ZXIg dG8gYSBOdWxsLXRlcm1pbmF0ZWQgQVNDSUkgc3RyaW5nLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEByZXR1cm4gRGVzdGluYXRp b24uPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0qKi88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtQ0hBUjggKjxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC1FRklBUEk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtVW5pY29kZVN0clRv QXNjaWlTdHIgKDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4mbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgQ09OU1QgQ0hBUjE2Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICpT b3VyY2UsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBPVVQmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgQ0hBUjgmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKkRlc3RpbmF0aW9uPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyApOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtI2VuZGlmIC8vICFkZWZpbmVkIChESVNBQkxFX05FV19ERVBSRUNBVEVE X0lOVEVSRkFDRVMpPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyZuYnNwOyZuYnNwOyAvKio8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBDb252ZXJ0IGEgTnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5n IHRvIGEgTnVsbC10ZXJtaW5hdGVkPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgQEAgLTE4MDIs NzYgKzE1ODgsNiBAQCBVbmljb2RlU3RyblRvQXNjaWlTdHJTICg8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBPVVQmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgVUlOVE4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgKkRlc3RpbmF0aW9uTGVuZ3RoPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0Ozxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0jaWZuZGVmIERJU0FCTEVfTkVXX0RFUFJFQ0FURURf SU5URVJGQUNFUzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtLyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBbQVRURU5USU9O XSBUaGlzIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgZm9yIHNlY3VyaXR5IHJlYXNvbi48YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBD b3BpZXMgb25lIE51bGwtdGVybWluYXRlZCBBU0NJSSBzdHJpbmcgdG8gYW5vdGhlciBOdWxsLXRl cm1pbmF0ZWQgQVNDSUk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHN0cmluZyBh bmQgcmV0dXJucyB0aGUgbmV3IEFTQ0lJIHN0cmluZy48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBUaGlzIGZ1bmN0aW9uIGNvcGll cyB0aGUgY29udGVudHMgb2YgdGhlIEFTQ0lJIHN0cmluZyBTb3VyY2UgdG8gdGhlIEFTQ0lJPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBzdHJpbmcgRGVzdGluYXRpb24sIGFuZCBy ZXR1cm5zIERlc3RpbmF0aW9uLiBJZiBTb3VyY2UgYW5kIERlc3RpbmF0aW9uPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBvdmVybGFwLCB0aGVuIHRoZSByZXN1bHRzIGFyZSB1bmRl ZmluZWQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgSWYgRGVzdGluYXRpb24gaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFNvdXJjZSBpcyBOVUxMLCB0aGVuIEFTU0VS VCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgU291cmNlIGFuZCBEZXN0 aW5hdGlvbiBvdmVybGFwLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsgSWYgUGNkTWF4aW11bUFzY2lpU3RyaW5nTGVuZ3RoIGlzIG5vdCB6ZXJvIGFuZCBT b3VyY2UgY29udGFpbnMgbW9yZSB0aGFuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyBQY2RNYXhpbXVtQXNjaWlTdHJpbmdMZW5ndGggQVNDSUkgY2hhcmFjdGVycyBub3QgaW5jbHVk aW5nIHRoZSBOdWxsLXRlcm1pbmF0b3IsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbSZuYnNwOyBEZXN0aW5hdGlvbiBUaGUgcG9pbnRl ciB0byBhIE51bGwtdGVybWluYXRlZCBBU0NJSSBzdHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyBAcGFyYW0mbmJzcDsgU291cmNlJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IFRoZSBwb2ludGVyIHRvIGEgTnVsbC10ZXJtaW5hdGVkIEFTQ0lJIHN0cmluZy48YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyBAcmV0dXJuIERlc3RpbmF0aW9uPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0qKi88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtQ0hBUjgg Kjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1FRklBUEk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtQXNjaWlTdHJDcHkgKDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgT1VU Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IENIQVI4Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICpEZXN0aW5hdGlvbiw8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IENPTlNUIENIQVI4Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICpTb3VyY2U8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7ICk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt LyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBbQVRURU5USU9OXSBUaGlzIGZ1 bmN0aW9uIGlzIGRlcHJlY2F0ZWQgZm9yIHNlY3VyaXR5IHJlYXNvbi48YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBDb3BpZXMgdXAg dG8gYSBzcGVjaWZpZWQgbGVuZ3RoIG9uZSBOdWxsLXRlcm1pbmF0ZWQgQVNDSUkgc3RyaW5nIHRv IGFub3RoZXI8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IE51bGwtdGVybWluYXRl ZCBBU0NJSSBzdHJpbmcgYW5kIHJldHVybnMgdGhlIG5ldyBBU0NJSSBzdHJpbmcuPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVGhp cyBmdW5jdGlvbiBjb3BpZXMgdGhlIGNvbnRlbnRzIG9mIHRoZSBBU0NJSSBzdHJpbmcgU291cmNl IHRvIHRoZSBBU0NJSTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgc3RyaW5nIERl c3RpbmF0aW9uLCBhbmQgcmV0dXJucyBEZXN0aW5hdGlvbi4gQXQgbW9zdCwgTGVuZ3RoIEFTQ0lJ IGNoYXJhY3RlcnM8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IGFyZSBjb3BpZWQg ZnJvbSBTb3VyY2UgdG8gRGVzdGluYXRpb24uIElmIExlbmd0aCBpcyAwLCB0aGVuIERlc3RpbmF0 aW9uIGlzPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyByZXR1cm5lZCB1bm1vZGlm aWVkLiBJZiBMZW5ndGggaXMgZ3JlYXRlciB0aGF0IHRoZSBudW1iZXIgb2YgQVNDSUkgY2hhcmFj dGVyczxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgaW4gU291cmNlLCB0aGVuIERl c3RpbmF0aW9uIGlzIHBhZGRlZCB3aXRoIE51bGwgQVNDSUkgY2hhcmFjdGVycy4gSWYgU291cmNl PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBhbmQgRGVzdGluYXRpb24gb3Zlcmxh cCwgdGhlbiB0aGUgcmVzdWx0cyBhcmUgdW5kZWZpbmVkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIERlc3RpbmF0aW9uIGlz IE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJ ZiBTb3VyY2UgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IElmIFNvdXJjZSBhbmQgRGVzdGluYXRpb24gb3ZlcmxhcCwgdGhlbiBBU1NFUlQo KS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFBjZE1heGltdW1Bc2NpaVN0 cmluZ0xlbmd0aCBpcyBub3QgemVybywgYW5kIExlbmd0aCBpcyBncmVhdGVyIHRoYW48YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFBjZE1heGltdW1Bc2NpaVN0cmluZ0xlbmd0aCwg dGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFBjZE1h eGltdW1Bc2NpaVN0cmluZ0xlbmd0aCBpcyBub3QgemVybywgYW5kIFNvdXJjZSBjb250YWlucyBt b3JlIHRoYW48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFBjZE1heGltdW1Bc2Np aVN0cmluZ0xlbmd0aCBBU0NJSSBjaGFyYWN0ZXJzLCBub3QgaW5jbHVkaW5nIHRoZSBOdWxsLXRl cm1pbmF0b3IsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyB0aGVuIEFTU0VSVCgp Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IEBwYXJhbSZuYnNwOyBEZXN0aW5hdGlvbiBUaGUgcG9pbnRlciB0byBhIE51bGwtdGVy bWluYXRlZCBBU0NJSSBzdHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBA cGFyYW0mbmJzcDsgU291cmNlJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSBwb2lu dGVyIHRvIGEgTnVsbC10ZXJtaW5hdGVkIEFTQ0lJIHN0cmluZy48YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbSZuYnNwOyBMZW5ndGgmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgVGhlIG1heGltdW0gbnVtYmVyIG9mIEFTQ0lJIGNoYXJhY3RlcnMgdG8gY29weS48 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBAcmV0dXJuIERlc3RpbmF0aW9uPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0qKi88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtQ0hB UjggKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1FRklBUEk8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtQXNjaWlTdHJuQ3B5ICg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 IE9VVCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBDSEFSOCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqRGVzdGluYXRpb24sPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyBDT05TVCBDSEFSOCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqU291cmNlLDxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4mbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgVUlOVE4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgTGVuZ3RoPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyApOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0jZW5kaWYgLy8gIWRlZmluZWQgKERJ U0FCTEVfTkVXX0RFUFJFQ0FURURfSU5URVJGQUNFUyk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 Ozxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7Jm5ic3A7Jm5ic3A7IC8qKjxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFJldHVybnMgdGhlIGxlbmd0aCBv ZiBhIE51bGwtdGVybWluYXRlZCBBU0NJSSBzdHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgQEAgLTIwMzEsOTIgKzE3NDcsNiBAQCBBc2NpaVN0cm5DbXAgKDxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0Ozxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0jaWZuZGVmIERJU0FCTEVfTkVXX0RFUFJFQ0FURURfSU5URVJGQUNFUzxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtLyoqPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBbQVRURU5USU9OXSBUaGlzIGZ1bmN0aW9uIGlzIGRlcHJl Y2F0ZWQgZm9yIHNlY3VyaXR5IHJlYXNvbi48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBDb25jYXRlbmF0ZXMgb25lIE51bGwtdGVy bWluYXRlZCBBU0NJSSBzdHJpbmcgdG8gYW5vdGhlciBOdWxsLXRlcm1pbmF0ZWQ8YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEFTQ0lJIHN0cmluZywgYW5kIHJldHVybnMgdGhlIGNv bmNhdGVuYXRlZCBBU0NJSSBzdHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVGhpcyBmdW5jdGlvbiBjb25jYXRlbmF0ZXMg dHdvIE51bGwtdGVybWluYXRlZCBBU0NJSSBzdHJpbmdzLiBUaGUgY29udGVudHMgb2Y8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IE51bGwtdGVybWluYXRlZCBBU0NJSSBzdHJpbmcg U291cmNlIGFyZSBjb25jYXRlbmF0ZWQgdG8gdGhlIGVuZCBvZiBOdWxsLTxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgdGVybWluYXRlZCBBU0NJSSBzdHJpbmcgRGVzdGluYXRpb24u IFRoZSBOdWxsLXRlcm1pbmF0ZWQgY29uY2F0ZW5hdGVkIEFTQ0lJPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSZuYnNwOyBTdHJpbmcgaXMgcmV0dXJuZWQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgRGVzdGluYXRpb24g aXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 IElmIFNvdXJjZSBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgSWYgUGNkTWF4aW11bUFzY2lpU3RyaW5nTGVuZ3RoIGlzIG5vdCB6ZXJvIGFu ZCBEZXN0aW5hdGlvbiBjb250YWlucyBtb3JlIHRoYW48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IFBjZE1heGltdW1Bc2NpaVN0cmluZ0xlbmd0aCBBU0NJSSBjaGFyYWN0ZXJzIG5v dCBpbmNsdWRpbmcgdGhlIE51bGwtdGVybWluYXRvciw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyBJZiBQY2RNYXhpbXVtQXNjaWlTdHJpbmdMZW5ndGggaXMgbm90IHplcm8gYW5kIFNvdXJjZSBj b250YWlucyBtb3JlIHRoYW48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFBjZE1h eGltdW1Bc2NpaVN0cmluZ0xlbmd0aCBBU0NJSSBjaGFyYWN0ZXJzIG5vdCBpbmNsdWRpbmcgdGhl IE51bGwtdGVybWluYXRvciw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHRoZW4g QVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBQY2RNYXhpbXVt QXNjaWlTdHJpbmdMZW5ndGggaXMgbm90IHplcm8gYW5kIGNvbmNhdGVuYXRpbmcgRGVzdGluYXRp b24gYW5kPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBTb3VyY2UgcmVzdWx0cyBp biBhIEFTQ0lJIHN0cmluZyB3aXRoIG1vcmUgdGhhbiBQY2RNYXhpbXVtQXNjaWlTdHJpbmdMZW5n dGg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEFTQ0lJIGNoYXJhY3RlcnMsIHRo ZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtJm5ic3A7IERlc3RpbmF0aW9uIFRoZSBwb2ludGVyIHRv IGEgTnVsbC10ZXJtaW5hdGVkIEFTQ0lJIHN0cmluZy48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IEBwYXJhbSZuYnNwOyBTb3VyY2UmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgVGhlIHBvaW50ZXIgdG8gYSBOdWxsLXRlcm1pbmF0ZWQgQVNDSUkgc3RyaW5nLjxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBy ZXR1cm4gRGVzdGluYXRpb248YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSoqLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1DSEFSOCAqPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUVGSUFQSTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC1Bc2NpaVN0ckNhdCAoPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBPVVQg Q0hBUjgmbmJzcDsmbmJzcDsmbmJzcDsgKkRlc3RpbmF0aW9uLDxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgSU4gQ09OU1QgQ0hBUjgmbmJzcDsgKlNvdXJjZTxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgKTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0vKio8YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFtBVFRFTlRJT05dIFRoaXMgZnVuY3Rpb24g aXMgZGVwcmVjYXRlZCBmb3Igc2VjdXJpdHkgcmVhc29uLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IENvbmNhdGVuYXRlcyB1cCB0 byBhIHNwZWNpZmllZCBsZW5ndGggb25lIE51bGwtdGVybWluYXRlZCBBU0NJSSBzdHJpbmcgdG88 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHRoZSBlbmQgb2YgYW5vdGhlciBOdWxs LXRlcm1pbmF0ZWQgQVNDSUkgc3RyaW5nLCBhbmQgcmV0dXJucyB0aGU8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IGNvbmNhdGVuYXRlZCBBU0NJSSBzdHJpbmcuPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVGhpcyBm dW5jdGlvbiBjb25jYXRlbmF0ZXMgdHdvIE51bGwtdGVybWluYXRlZCBBU0NJSSBzdHJpbmdzLiBU aGUgY29udGVudHM8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IG9mIE51bGwtdGVy bWluYXRlZCBBU0NJSSBzdHJpbmcgU291cmNlIGFyZSBjb25jYXRlbmF0ZWQgdG8gdGhlIGVuZCBv ZiBOdWxsLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgdGVybWluYXRlZCBBU0NJ SSBzdHJpbmcgRGVzdGluYXRpb24sIGFuZCBEZXN0aW5hdGlvbiBpcyByZXR1cm5lZC4gQXQgbW9z dCw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IExlbmd0aCBBU0NJSSBjaGFyYWN0 ZXJzIGFyZSBjb25jYXRlbmF0ZWQgZnJvbSBTb3VyY2UgdG8gdGhlIGVuZCBvZjxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgRGVzdGluYXRpb24sIGFuZCBEZXN0aW5hdGlvbiBpcyBh bHdheXMgTnVsbC10ZXJtaW5hdGVkLiBJZiBMZW5ndGggaXMgMCwgdGhlbjxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgRGVzdGluYXRpb24gaXMgcmV0dXJuZWQgdW5tb2RpZmllZC4g SWYgU291cmNlIGFuZCBEZXN0aW5hdGlvbiBvdmVybGFwLCB0aGVuPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSZuYnNwOyB0aGUgcmVzdWx0cyBhcmUgdW5kZWZpbmVkLjxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIExlbmd0 aCAmZ3Q7IDAgYW5kIERlc3RpbmF0aW9uIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBMZW5ndGggJmd0OyAwIGFuZCBTb3VyY2UgaXMg TlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElm IFNvdXJjZSBhbmQgRGVzdGluYXRpb24gb3ZlcmxhcCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFBjZE1heGltdW1Bc2NpaVN0cmluZ0xlbmd0aCBp cyBub3QgemVybywgYW5kIExlbmd0aCBpcyBncmVhdGVyIHRoYW48YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IFBjZE1heGltdW1Bc2NpaVN0cmluZ0xlbmd0aCwgdGhlbiBBU1NFUlQo KS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFBjZE1heGltdW1Bc2NpaVN0 cmluZ0xlbmd0aCBpcyBub3QgemVybywgYW5kIERlc3RpbmF0aW9uIGNvbnRhaW5zIG1vcmUgdGhh bjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgUGNkTWF4aW11bUFzY2lpU3RyaW5n TGVuZ3RoIEFTQ0lJIGNoYXJhY3RlcnMsIG5vdCBpbmNsdWRpbmcgdGhlIE51bGwtdGVybWluYXRv ciw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHRoZW4gQVNTRVJUKCkuPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBQY2RNYXhpbXVtQXNjaWlTdHJpbmdMZW5n dGggaXMgbm90IHplcm8sIGFuZCBTb3VyY2UgY29udGFpbnMgbW9yZSB0aGFuPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBQY2RNYXhpbXVtQXNjaWlTdHJpbmdMZW5ndGggQVNDSUkg Y2hhcmFjdGVycywgbm90IGluY2x1ZGluZyB0aGUgTnVsbC10ZXJtaW5hdG9yLDxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IElmIFBjZE1heGltdW1Bc2NpaVN0cmluZ0xlbmd0aCBpcyBub3QgemVy bywgYW5kIGNvbmNhdGVuYXRpbmcgRGVzdGluYXRpb24gYW5kPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyBTb3VyY2UgcmVzdWx0cyBpbiBhIEFTQ0lJIHN0cmluZyB3aXRoIG1vcmUg dGhhbiBQY2RNYXhpbXVtQXNjaWlTdHJpbmdMZW5ndGg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IEFTQ0lJIGNoYXJhY3RlcnMsIG5vdCBpbmNsdWRpbmcgdGhlIE51bGwtdGVybWlu YXRvciwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW0mbmJzcDsgRGVzdGluYXRpb24gVGhlIHBv aW50ZXIgdG8gYSBOdWxsLXRlcm1pbmF0ZWQgQVNDSUkgc3RyaW5nLjxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtJm5ic3A7IFNvdXJjZSZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyBUaGUgcG9pbnRlciB0byBhIE51bGwtdGVybWluYXRlZCBBU0NJSSBzdHJpbmcu PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW0mbmJzcDsgTGVuZ3RoJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSBtYXhpbXVtIG51bWJlciBvZiBBU0NJSSBj aGFyYWN0ZXJzIHRvIGNvbmNhdGVuYXRlIGZyb208YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IFNvdXJjZS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcmV0dXJuIERlc3RpbmF0aW9uPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0qKi88YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtQ0hBUjggKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1FRklB UEk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtQXNjaWlTdHJuQ2F0ICg8YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIE9VVCZuYnNwOyBDSEFSOCZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqRGVzdGluYXRp b24sPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyBDT05TVCBDSEFSOCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqU291 cmNlLDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4mbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgVUlOVE4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgTGVuZ3RoPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyApOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0jZW5kaWYgLy8gIWRlZmlu ZWQgKERJU0FCTEVfTkVXX0RFUFJFQ0FURURfSU5URVJGQUNFUyk8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsmbmJzcDsmbmJzcDsgLyoqPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgUmV0dXJucyB0aGUg Zmlyc3Qgb2NjdXJyZW5jZSBvZiBhIE51bGwtdGVybWluYXRlZCBBU0NJSSBzdWItc3RyaW5nPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaW4gYSBOdWxs LXRlcm1pbmF0ZWQgQVNDSUkgc3RyaW5nLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IEBAIC0y NDk2LDQ1ICsyMTI2LDYgQEAgQXNjaWlTdHJIZXhUb0J5dGVzICg8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBJTiZuYnNwOyBVSU5UTiZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyBNYXhCdWZmZXJTaXplPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgKTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0Ozxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC0jaWZuZGVmIERJU0FCTEVfTkVXX0RFUFJFQ0FURURfSU5URVJGQUNF Uzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt LyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBbQVRURU5USU9OXSBUaGlzIGZ1 bmN0aW9uIGlzIGRlcHJlY2F0ZWQgZm9yIHNlY3VyaXR5IHJlYXNvbi48YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBDb252ZXJ0IG9u ZSBOdWxsLXRlcm1pbmF0ZWQgQVNDSUkgc3RyaW5nIHRvIGEgTnVsbC10ZXJtaW5hdGVkPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBVbmljb2RlIHN0cmluZyBhbmQgcmV0dXJucyB0 aGUgVW5pY29kZSBzdHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVGhpcyBmdW5jdGlvbiBjb252ZXJ0cyB0aGUgY29udGVu dHMgb2YgdGhlIEFTQ0lJIHN0cmluZyBTb3VyY2UgdG8gdGhlIFVuaWNvZGU8YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHN0cmluZyBEZXN0aW5hdGlvbiwgYW5kIHJldHVybnMgRGVz dGluYXRpb24uJm5ic3A7IFRoZSBmdW5jdGlvbiB0ZXJtaW5hdGVzIHRoZTxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVW5pY29kZSBzdHJpbmcgRGVzdGluYXRpb24gYnkgYXBwZW5k aW5nIGEgTnVsbC10ZXJtaW5hdG9yIGNoYXJhY3RlciBhdCB0aGUgZW5kLjxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVGhlIGNhbGxlciBpcyByZXNwb25zaWJsZSB0byBtYWtlIHN1 cmUgRGVzdGluYXRpb24gcG9pbnRzIHRvIGEgYnVmZmVyIHdpdGggc2l6ZTxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgZXF1YWwgb3IgZ3JlYXRlciB0aGFuICgoQXNjaWlTdHJMZW4g KFNvdXJjZSkgKyAxKSAqIHNpemVvZiAoQ0hBUjE2KSkgaW4gYnl0ZXMuPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgRGVzdGlu YXRpb24gaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IElmIERlc3RpbmF0aW9uIGlzIG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5 LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgU291 cmNlIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBJZiBTb3VyY2UgYW5kIERlc3RpbmF0aW9uIG92ZXJsYXAsIHRoZW4gQVNTRVJUKCkuPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBQY2RNYXhpbXVtQXNjaWlTdHJpbmdM ZW5ndGggaXMgbm90IHplcm8sIGFuZCBTb3VyY2UgY29udGFpbnMgbW9yZSB0aGFuPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBQY2RNYXhpbXVtQXNjaWlTdHJpbmdMZW5ndGggQVND SUkgY2hhcmFjdGVycyBub3QgaW5jbHVkaW5nIHRoZSBOdWxsLXRlcm1pbmF0b3IsPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgSWYgUGNkTWF4aW11bVVuaWNvZGVTdHJpbmdMZW5ndGggaXMgbm90 IHplcm8sIGFuZCBTb3VyY2UgY29udGFpbnMgbW9yZSB0aGFuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyBQY2RNYXhpbXVtVW5pY29kZVN0cmluZ0xlbmd0aCBBU0NJSSBjaGFyYWN0 ZXJzIG5vdCBpbmNsdWRpbmcgdGhlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBO dWxsLXRlcm1pbmF0b3IsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtJm5ic3A7IFNvdXJjZSZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUaGUgcG9pbnRlciB0byBh IE51bGwtdGVybWluYXRlZCBBU0NJSSBzdHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBAcGFyYW0mbmJzcDsgRGVzdGluYXRpb24mbmJzcDsmbmJzcDsgVGhlIHBvaW50ZXIg dG8gYSBOdWxsLXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHJldHVybiBEZXN0aW5h dGlvbi48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSoqLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1DSEFSMTYgKjxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC1FRklBUEk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtQXNjaWlTdHJU b1VuaWNvZGVTdHIgKDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4mbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgQ09OU1QgQ0hBUjgmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgKlNvdXJjZSw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IE9VVCZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyBDSEFSMTYmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKkRlc3RpbmF0aW9uPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSZuYnNwOyApOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtI2VuZGlmIC8vICFkZWZpbmVkIChESVNBQkxFX05FV19ERVBSRUNB VEVEX0lOVEVSRkFDRVMpPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyAvKio8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyBDb252ZXJ0IG9uZSBOdWxsLXRlcm1pbmF0ZWQgQVNDSUkgc3Ry aW5nIHRvIGEgTnVsbC10ZXJtaW5hdGVkPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgZGlmZiAt LWdpdCBhL01kZVBrZy9JbmNsdWRlL0xpYnJhcnkvUGNkTGliLmggYi9NZGVQa2cvSW5jbHVkZS9M aWJyYXJ5L1BjZExpYi5oPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgaW5kZXggZjA5MDUzZTNj Yjg2Li43MTczODg1N2FkMTkgMTAwNjQ0PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLS0tIGEv TWRlUGtnL0luY2x1ZGUvTGlicmFyeS9QY2RMaWIuaDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 ICsrKyBiL01kZVBrZy9JbmNsdWRlL0xpYnJhcnkvUGNkTGliLmg8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyBAQCAtNDgxLDEwNiArNDgxLDYgQEAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJT RC0yLUNsYXVzZS1QYXRlbnQ8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyAq Ki88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyAjZGVmaW5lIFBjZEdldEV4 U2l6ZShHdWlkLCBUb2tlbk5hbWUpIExpYlBjZEdldEV4U2l6ZSAoKEd1aWQpLCBQY2RUb2tlbkV4 KEd1aWQsVG9rZW5OYW1lKSk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0Ozxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0jaWZuZGVmIERJU0FCTEVfTkVXX0RFUFJFQ0FURURfSU5URVJGQUNFUzxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0vKio8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IFNldHMgYW4gOC1iaXQgUENEIHRva2VuIHZhbHVlIGJhc2VkIG9uIGEgdG9rZW4gbmFt ZS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBTZXRzIHRoZSA4LWJpdCB2YWx1ZSBmb3IgdGhlIHRva2VuIHNwZWNpZmllZCBieSBU b2tlbk5hbWUuIFZhbHVlIGlzIHJldHVybmVkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsgSWYgVG9rZW5OYW1lIGlzIG5vdCBhIHZhbGlkIHRva2VuIGluIHRoZSB0b2tlbiBzcGFj ZSwgdGhlbiB0aGUgbW9kdWxlIHdpbGwgbm90IGJ1aWxkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbSZuYnNwOyZuYnNw OyBUb2tlbk5hbWUmbmJzcDsgVGhlIG5hbWUgb2YgdGhlIFBDRCB0b2tlbiB0byByZXRyaWV2ZSBh IGN1cnJlbnQgdmFsdWUgZm9yLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBh cmFtJm5ic3A7Jm5ic3A7IFZhbHVlJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSA4 LWJpdCB2YWx1ZSB0byBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHJldHVybiBSZXR1cm4gdGhlIFZhbHVlIHRoYXQgd2Fz IHNldC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSoqLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0jZGVmaW5lIFBjZFNldDgoVG9rZW5O YW1lLCBWYWx1ZSkmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgX1BDRF9TRVRfTU9ERV84XyMjVG9rZW5OYW1lJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7ICgoVmFsdWUpKTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLS8qKjxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgU2V0cyBhIDE2LWJpdCBQQ0QgdG9rZW4gdmFsdWUg YmFzZWQgb24gYSB0b2tlbiBuYW1lLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFNldHMgdGhlIDE2LWJpdCB2YWx1ZSBmb3IgdGhl IHRva2VuIHNwZWNpZmllZCBieSBUb2tlbk5hbWUuIFZhbHVlIGlzIHJldHVybmVkLjxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgVG9rZW5OYW1lIGlzIG5vdCBhIHZhbGlkIHRv a2VuIGluIHRoZSB0b2tlbiBzcGFjZSwgdGhlbiB0aGUgbW9kdWxlIHdpbGwgbm90IGJ1aWxkLjxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5i c3A7IEBwYXJhbSZuYnNwOyZuYnNwOyBUb2tlbk5hbWUmbmJzcDsgVGhlIG5hbWUgb2YgdGhlIFBD RCB0b2tlbiB0byByZXRyaWV2ZSBhIGN1cnJlbnQgdmFsdWUgZm9yLjxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtJm5ic3A7Jm5ic3A7IFZhbHVlJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7IFRoZSAxNi1iaXQgdmFsdWUgdG8gc2V0Ljxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEByZXR1cm4gUmV0 dXJuIHRoZSBWYWx1ZSB0aGF0IHdhcyBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0qKi88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt I2RlZmluZSBQY2RTZXQxNihUb2tlbk5hbWUsIFZhbHVlKSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBfUENEX1NFVF9NT0RFXzE2XyMjVG9rZW5O YW1lJm5ic3A7Jm5ic3A7Jm5ic3A7ICgoVmFsdWUpKTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LS8qKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgU2V0cyBhIDMyLWJpdCBQQ0Qg dG9rZW4gdmFsdWUgYmFzZWQgb24gYSB0b2tlbiBuYW1lLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFNldHMgdGhlIDMyLWJpdCB2 YWx1ZSBmb3IgdGhlIHRva2VuIHNwZWNpZmllZCBieSBUb2tlbk5hbWUuIFZhbHVlIGlzIHJldHVy bmVkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgVG9rZW5OYW1lIGlzIG5v dCBhIHZhbGlkIHRva2VuIGluIHRoZSB0b2tlbiBzcGFjZSwgdGhlbiB0aGUgbW9kdWxlIHdpbGwg bm90IGJ1aWxkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbSZuYnNwOyZuYnNwOyBUb2tlbk5hbWUmbmJzcDsgVGhlIG5h bWUgb2YgdGhlIFBDRCB0b2tlbiB0byByZXRyaWV2ZSBhIGN1cnJlbnQgdmFsdWUgZm9yLjxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtJm5ic3A7Jm5ic3A7IFZhbHVlJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSAzMi1iaXQgdmFsdWUgdG8gc2V0Ljxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 IEByZXR1cm4gUmV0dXJuIHRoZSBWYWx1ZSB0aGF0IHdhcyBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0qKi88YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtI2RlZmluZSBQY2RTZXQzMihUb2tlbk5hbWUsIFZhbHVlKSZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBfUENEX1NFVF9NT0RF XzMyXyMjVG9rZW5OYW1lJm5ic3A7Jm5ic3A7Jm5ic3A7ICgoVmFsdWUpKTxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLS8qKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgU2V0cyBh IDY0LWJpdCBQQ0QgdG9rZW4gdmFsdWUgYmFzZWQgb24gYSB0b2tlbiBuYW1lLjxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFNldHMg dGhlIDY0LWJpdCB2YWx1ZSBmb3IgdGhlIHRva2VuIHNwZWNpZmllZCBieSBUb2tlbk5hbWUuIFZh bHVlIGlzIHJldHVybmVkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgVG9r ZW5OYW1lIGlzIG5vdCBhIHZhbGlkIHRva2VuIGluIHRoZSB0b2tlbiBzcGFjZSwgdGhlbiB0aGUg bW9kdWxlIHdpbGwgbm90IGJ1aWxkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbSZuYnNwOyZuYnNwOyBUb2tlbk5hbWUm bmJzcDsgVGhlIG5hbWUgb2YgdGhlIFBDRCB0b2tlbiB0byByZXRyaWV2ZSBhIGN1cnJlbnQgdmFs dWUgZm9yLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtJm5ic3A7Jm5i c3A7IFZhbHVlJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSA2NC1iaXQgdmFsdWUg dG8gc2V0Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IEByZXR1cm4gUmV0dXJuIHRoZSBWYWx1ZSB0aGF0IHdhcyBzZXQuPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0qKi88YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtI2RlZmluZSBQY2RTZXQ2NChUb2tlbk5hbWUsIFZhbHVl KSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBf UENEX1NFVF9NT0RFXzY0XyMjVG9rZW5OYW1lJm5ic3A7Jm5ic3A7Jm5ic3A7ICgoVmFsdWUpKTxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLS8qKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsgU2V0cyBhIHBvaW50ZXIgdG8gYSBQQ0QgdG9rZW4gYnVmZmVyIGJhc2VkIG9uIGEgdG9r ZW4gbmFtZS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyBTZXRzIHRoZSBidWZmZXIgZm9yIHRoZSB0b2tlbiBzcGVjaWZpZWQgYnkg VG9rZW5OYW1lLiBCdWZmZXIgaXMgcmV0dXJuZWQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBJZiBTaXplT2ZCdWZmZXIgaXMgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtIHNpemUg c3VwcG9ydGVkIGJ5IFRva2VuTmFtZSw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 IHRoZW4gc2V0IFNpemVPZkJ1ZmZlciB0byB0aGUgbWF4aW11bSBzaXplIHN1cHBvcnRlZCBieSBU b2tlbk5hbWUgYW5kIHJldHVybiBOVUxMPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyB0byBpbmRpY2F0ZSB0aGF0IHRoZSBzZXQgb3BlcmF0aW9uIHdhcyBub3QgYWN0dWFsbHkgcGVy Zm9ybWVkLiZuYnNwOyBJZiBTaXplT2ZCdWZmZXI8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IGlzIHNldCB0byBNQVhfQUREUkVTUywgdGhlbiBTaXplT2ZCdWZmZXIgbXVzdCBiZSBz ZXQgdG8gdGhlIG1heGltdW0gc2l6ZSBzdXBwb3J0ZWQ8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IGJ5IFRva2VuTmFtZSBhbmQgTlVMTCBtdXN0IGJlIHJldHVybmVkLjxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgVG9rZW5OYW1lIGlzIG5vdCBhIHZhbGlkIHRv a2VuIGluIHRoZSB0b2tlbiBzcGFjZSwgdGhlbiB0aGUgbW9kdWxlIHdpbGwgbm90IGJ1aWxkLjxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5i c3A7IElmIFNpemVPZkJ1ZmZlciBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgU2l6ZU9mQnVmZmVyICZndDsgMCBhbmQgQnVmZmVyIGlz IE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtJm5ic3A7Jm5ic3A7IFRva2VuTmFtZSZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUaGUgbmFtZSBvZiB0aGUgUENEIHRva2VuIHRv IHNldCB0aGUgY3VycmVudCB2YWx1ZSBmb3IuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBAcGFyYW0mbmJzcDsmbmJzcDsgU2l6ZU9mQnVmZmVyJm5ic3A7Jm5ic3A7IEEgcG9pbnRl ciB0byB0aGUgc2l6ZSwgaW4gYnl0ZXMsIG9mIEJ1ZmZlci48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IEBwYXJhbSZuYnNwOyZuYnNwOyBCdWZmZXImbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgQSBwb2ludGVyIHRvIHRoZSBidWZmZXIgdG8g c2V0Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IEByZXR1cm4gUmV0dXJuIHRoZSBwb2ludGVyIHRvIHRoZSBCdWZmZXIgdGhhdCB3 YXMgc2V0Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtKiovPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSNkZWZpbmUgUGNkU2V0UHRyKFRv a2VuTmFtZSwgU2l6ZU9mQnVmZmVyLCBCdWZmZXIpIFw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IF9QQ0RfU0VUX01PREVfUFRSXyMjVG9r ZW5OYW1lJm5ic3A7Jm5ic3A7ICgoU2l6ZU9mQnVmZmVyKSwgKEJ1ZmZlcikpPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0vKio8YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFNldHMgYSBCb29sZWFuIFBDRCB0b2tlbiB2YWx1ZSBi YXNlZCBvbiBhIHRva2VuIG5hbWUuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgU2V0cyB0aGUgQm9vbGVhbiB2YWx1ZSBmb3IgdGhl IHRva2VuIHNwZWNpZmllZCBieSBUb2tlbk5hbWUuIFZhbHVlIGlzIHJldHVybmVkLjxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgVG9rZW5OYW1lIGlzIG5vdCBhIHZhbGlkIHRv a2VuIGluIHRoZSB0b2tlbiBzcGFjZSwgdGhlbiB0aGUgbW9kdWxlIHdpbGwgbm90IGJ1aWxkLjxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5i c3A7IEBwYXJhbSZuYnNwOyZuYnNwOyBUb2tlbk5hbWUmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgVGhlIG5hbWUgb2YgdGhlIFBDRCB0b2tlbiB0byBzZXQgdGhlIGN1cnJlbnQgdmFsdWUg Zm9yLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtJm5ic3A7Jm5ic3A7 IEJ1ZmZlciZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBU aGUgQm9vbGVhbiB2YWx1ZSB0byBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHJldHVybiBSZXR1cm4gdGhlIFZhbHVlIHRo YXQgd2FzIHNldC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSoqLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0jZGVmaW5lIFBjZFNldEJv b2woVG9rZW5OYW1lLCBWYWx1ZSkmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgX1BDRF9TRVRfTU9ERV9CT09MXyMjVG9rZW5OYW1lJm5ic3A7ICgoVmFsdWUpKTxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0jZW5kaWY8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsmbmJzcDsmbmJzcDsgLyoqPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgU2V0cyBhIDgtYml0IFBDRCB0b2tl biB2YWx1ZSBiYXNlZCBvbiBhIHRva2VuIG5hbWUuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDs8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyBAQCAtODA2LDEzNyArNzA2LDYgQEAgU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQ8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0Ozxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDs8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtI2lmbmRlZiBESVNBQkxFX05FV19ERVBSRUNBVEVE X0lOVEVSRkFDRVM8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtLyoqPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLSZuYnNwOyBTZXRzIGFuIDgtYml0IFBDRCB0b2tlbiB2YWx1ZSBiYXNlZCBv biBhIEdVSUQgYW5kIGEgdG9rZW4gbmFtZS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBTZXRzIHRoZSA4LWJpdCB2YWx1ZSBmb3Ig dGhlIHRva2VuIHNwZWNpZmllZCBieSBHdWlkIGFuZCBUb2tlbk5hbWUuIFZhbHVlIGlzIHJldHVy bmVkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgVG9rZW5OYW1lIGlzIG5v dCBhIHZhbGlkIHRva2VuIGluIHRoZSB0b2tlbiBzcGFjZSBzcGVjaWZpZWQgYnkgR3VpZCw8YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHRoZW4gdGhlIG1vZHVsZSB3aWxsIG5vdCBi dWlsZC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyBJZiBHdWlkIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtJm5i c3A7Jm5ic3A7IEd1aWQmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg UG9pbnRlciB0byBhIDEyOC1iaXQgdW5pcXVlIHZhbHVlIHRoYXQgZGVzaWduYXRlczxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgd2hpY2ggbmFtZXNwYWNlIHRv IHJldHJpZXZlIGEgdmFsdWUgZnJvbS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 IEBwYXJhbSZuYnNwOyZuYnNwOyBUb2tlbk5hbWUmbmJzcDsmbmJzcDsgVGhlIG5hbWUgb2YgdGhl IFBDRCB0b2tlbiB0byBzZXQgdGhlIGN1cnJlbnQgdmFsdWUgZm9yLjxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtJm5ic3A7Jm5ic3A7IFZhbHVlJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSA4LWJpdCB2YWx1ZSB0byBzZXQuPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHJldHVy biBSZXR1cm4gdGhlIFZhbHVlIHRoYXQgd2FzIHNldC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSoqLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0jZGVmaW5lIFBjZFNldEV4OChHdWlkLCBUb2tlbk5hbWUsIFZhbHVlKSZuYnNwOyZuYnNw OyBMaWJQY2RTZXRFeDgmbmJzcDsmbmJzcDsgKChHdWlkKSwgUGNkVG9rZW5FeChHdWlkLFRva2Vu TmFtZSksIChWYWx1ZSkpPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtLyoqPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBTZXRzIGEgMTYtYml0IFBDRCB0b2tlbiB2YWx1ZSBiYXNl ZCBvbiBhIEdVSUQgYW5kIGEgdG9rZW4gbmFtZS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBTZXRzIHRoZSAxNi1iaXQgdmFsdWUg Zm9yIHRoZSB0b2tlbiBzcGVjaWZpZWQgYnkgR3VpZCBhbmQgVG9rZW5OYW1lLiBWYWx1ZSBpcyBy ZXR1cm5lZC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFRva2VuTmFtZSBp cyBub3QgYSB2YWxpZCB0b2tlbiBpbiB0aGUgdG9rZW4gc3BhY2Ugc3BlY2lmaWVkIGJ5IEd1aWQs PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyB0aGVuIHRoZSBtb2R1bGUgd2lsbCBu b3QgYnVpbGQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgSWYgR3VpZCBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJh bSZuYnNwOyZuYnNwOyBHdWlkJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IFBvaW50ZXIgdG8gYSAxMjgtYml0IHVuaXF1ZSB2YWx1ZSB0aGF0IGRlc2lnbmF0ZXM8YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHdoaWNoIG5hbWVzcGFj ZSB0byByZXRyaWV2ZSBhIHZhbHVlIGZyb20uPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBAcGFyYW0mbmJzcDsmbmJzcDsgVG9rZW5OYW1lJm5ic3A7Jm5ic3A7IFRoZSBuYW1lIG9m IHRoZSBQQ0QgdG9rZW4gdG8gc2V0IHRoZSBjdXJyZW50IHZhbHVlIGZvci48YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbSZuYnNwOyZuYnNwOyBWYWx1ZSZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUaGUgMTYtYml0IHZhbHVlIHRvIHNldC48YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBA cmV0dXJuIFJldHVybiB0aGUgVmFsdWUgdGhhdCB3YXMgc2V0Ljxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtKiovPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSNkZWZpbmUgUGNkU2V0RXgxNihHdWlkLCBUb2tlbk5hbWUsIFZhbHVlKSZuYnNw OyBMaWJQY2RTZXRFeDE2Jm5ic3A7ICgoR3VpZCksIFBjZFRva2VuRXgoR3VpZCxUb2tlbk5hbWUp LCAoVmFsdWUpKTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLS8qKjxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgU2V0cyBhIDMyLWJpdCBQQ0QgdG9rZW4gdmFsdWUgYmFzZWQgb24g YSBHVUlEIGFuZCBhIHRva2VuIG5hbWUuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgU2V0cyB0aGUgMzItYml0IHZhbHVlIGZvciB0 aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IEd1aWQgYW5kIFRva2VuTmFtZS4gVmFsdWUgaXMgcmV0dXJu ZWQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBUb2tlbk5hbWUgaXMgbm90 IGEgdmFsaWQgdG9rZW4gaW4gdGhlIHRva2VuIHNwYWNlIHNwZWNpZmllZCBieSBHdWlkLDxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgdGhlbiB0aGUgbW9kdWxlIHdpbGwgbm90IGJ1 aWxkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IElmIEd1aWQgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW0mbmJz cDsmbmJzcDsgR3VpZCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBQ b2ludGVyIHRvIGEgMTI4LWJpdCB1bmlxdWUgdmFsdWUgdGhhdCBkZXNpZ25hdGVzPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB3aGljaCBuYW1lc3BhY2UgdG8g cmV0cmlldmUgYSB2YWx1ZSBmcm9tLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg QHBhcmFtJm5ic3A7Jm5ic3A7IFRva2VuTmFtZSZuYnNwOyZuYnNwOyBUaGUgbmFtZSBvZiB0aGUg UENEIHRva2VuIHRvIHNldCB0aGUgY3VycmVudCB2YWx1ZSBmb3IuPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW0mbmJzcDsmbmJzcDsgVmFsdWUmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgVGhlIDMyLWJpdCB2YWx1ZSB0byBzZXQuPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHJldHVy biBSZXR1cm4gdGhlIFZhbHVlIHRoYXQgd2FzIHNldC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSoqLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0jZGVmaW5lIFBjZFNldEV4MzIoR3VpZCwgVG9rZW5OYW1lLCBWYWx1ZSkmbmJzcDsgTGli UGNkU2V0RXgzMiZuYnNwOyAoKEd1aWQpLCBQY2RUb2tlbkV4KEd1aWQsVG9rZW5OYW1lKSwgKFZh bHVlKSk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0vKio8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IFNldHMgYSA2NC1iaXQgUENEIHRva2VuIHZhbHVlIGJhc2VkIG9uIGEgR1VJ RCBhbmQgYSB0b2tlbiBuYW1lLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFNldHMgdGhlIDY0LWJpdCB2YWx1ZSBmb3IgdGhlIHRv a2VuIHNwZWNpZmllZCBieSBHdWlkIGFuZCBUb2tlbk5hbWUuIFZhbHVlIGlzIHJldHVybmVkLjxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgVG9rZW5OYW1lIGlzIG5vdCBhIHZh bGlkIHRva2VuIGluIHRoZSB0b2tlbiBzcGFjZSBzcGVjaWZpZWQgYnkgR3VpZCw8YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHRoZW4gdGhlIG1vZHVsZSB3aWxsIG5vdCBidWlsZC48 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBJZiBHdWlkIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtJm5ic3A7Jm5i c3A7IEd1aWQmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgUG9pbnRl ciB0byBhIDEyOC1iaXQgdW5pcXVlIHZhbHVlIHRoYXQgZGVzaWduYXRlczxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgd2hpY2ggbmFtZXNwYWNlIHRvIHJldHJpZXZlIGEgdmFsdWUg ZnJvbS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbSZuYnNwOyZuYnNw OyBUb2tlbk5hbWUmbmJzcDsmbmJzcDsgVGhlIG5hbWUgb2YgdGhlIFBDRCB0b2tlbiB0byBzZXQg dGhlIGN1cnJlbnQgdmFsdWUgZm9yLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg QHBhcmFtJm5ic3A7Jm5ic3A7IFZhbHVlJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IFRoZSA2NC1iaXQgdmFsdWUgdG8gc2V0Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEByZXR1cm4gUmV0dXJuIHRoZSBWYWx1 ZSB0aGF0IHdhcyBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0qKi88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtI2RlZmluZSBQY2RT ZXRFeDY0KEd1aWQsIFRva2VuTmFtZSwgVmFsdWUpJm5ic3A7IExpYlBjZFNldEV4NjQmbmJzcDsg KChHdWlkKSwgUGNkVG9rZW5FeChHdWlkLFRva2VuTmFtZSksIChWYWx1ZSkpPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtLyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBTZXRz IGEgcG9pbnRlciB0byBhIFBDRCB0b2tlbiBidWZmZXIgYmFzZWQgb24gYSBHVUlEIGFuZCBhIHRv a2VuIG5hbWUuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgU2V0cyB0aGUgYnVmZmVyIGZvciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5 IEd1aWQgYW5kIFRva2VuTmFtZS4gQnVmZmVyIGlzIHJldHVybmVkLjxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgSWYgU2l6ZU9mQnVmZmVyIGlzIGdyZWF0ZXIgdGhhbiB0aGUgbWF4 aW11bSBzaXplIHN1cHBvcnRlZCBieSBHdWlkIGFuZCBUb2tlbk5hbWUsPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLSZuYnNwOyB0aGVuIHNldCBTaXplT2ZCdWZmZXIgdG8gdGhlIG1heGltdW0g c2l6ZSBzdXBwb3J0ZWQgYnkgR3VpZCBhbmQgVG9rZW5OYW1lIGFuZCByZXR1cm48YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IE5VTEwgdG8gaW5kaWNhdGUgdGhhdCB0aGUgc2V0IG9w ZXJhdGlvbiB3YXMgbm90IGFjdHVhbGx5IHBlcmZvcm1lZC4gSWYgU2l6ZU9mQnVmZmVyPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBpcyBzZXQgdG8gTUFYX0FERFJFU1MsIHRoZW4g U2l6ZU9mQnVmZmVyIG11c3QgYmUgc2V0IHRvIHRoZSBtYXhpbXVtIHNpemUgc3VwcG9ydGVkIGJ5 PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBHdWlkIGFuZCBUb2tlbk5hbWUgYW5k IE5VTEwgbXVzdCBiZSByZXR1cm5lZC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 IElmIFRva2VuTmFtZSBpcyBub3QgYSB2YWxpZCB0b2tlbiBpbiB0aGUgdG9rZW4gc3BhY2Ugc3Bl Y2lmaWVkIGJ5IEd1aWQsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyB0aGVuIHRo ZSBtb2R1bGUgd2lsbCBub3QgYnVpbGQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgR3VpZCBpcyBOVUxMLCB0aGVuIEFTU0VS VCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgU2l6ZU9mQnVmZmVyIGlz IE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJ ZiBTaXplT2ZCdWZmZXIgJmd0OyAwIGFuZCBCdWZmZXIgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBAcGFyYW0mbmJzcDsmbmJzcDsgR3VpZCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBQb2ludGVyIHRvIGEgMTI4LWJpdCB1bmlx dWUgdmFsdWUgdGhhdCBkZXNpZ25hdGVzPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB3aGljaCBuYW1lc3BhY2UgdG8gcmV0cmll dmUgYSB2YWx1ZSBmcm9tLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFt Jm5ic3A7Jm5ic3A7IFRva2VuTmFtZSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUaGUg bmFtZSBvZiB0aGUgUENEIHRva2VuIHRvIHNldCB0aGUgY3VycmVudCB2YWx1ZSBmb3IuPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW0mbmJzcDsmbmJzcDsgU2l6ZU9mQnVm ZmVyJm5ic3A7Jm5ic3A7IEEgcG9pbnRlciB0byB0aGUgc2l6ZSwgaW4gYnl0ZXMsIG9mIEJ1ZmZl ci48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbSZuYnNwOyZuYnNwOyBC dWZmZXImbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgUG9p bnRlciB0byB0aGUgYnVmZmVyIHRvIHNldC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcmV0dXJuIFJldHVybiB0aGUgcG9pbnRl ciB0byB0aGUgQnVmZmVyIHRoYXQgd2FzIHNldC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSoqLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0jZGVmaW5lIFBjZFNldEV4UHRyKEd1aWQsIFRva2VuTmFtZSwgU2l6ZU9mQnVmZmVyLCBCdWZm ZXIpIFw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IExpYlBjZFNldEV4UHRyICgoR3VpZCksIFBjZFRva2VuRXgoR3VpZCxUb2tlbk5hbWUp LCAoU2l6ZU9mQnVmZmVyKSwgKEJ1ZmZlcikpPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtLyoq PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBTZXRzIGEgQm9vbGVhbiBQQ0QgdG9r ZW4gdmFsdWUgYmFzZWQgb24gYSBHVUlEIGFuZCBhIHRva2VuIG5hbWUuPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgU2V0cyB0aGUg Qm9vbGVhbiB2YWx1ZSBmb3IgdGhlIHRva2VuIHNwZWNpZmllZCBieSBHdWlkIGFuZCBUb2tlbk5h bWUuIFZhbHVlIGlzIHJldHVybmVkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg SWYgVG9rZW5OYW1lIGlzIG5vdCBhIHZhbGlkIHRva2VuIGluIHRoZSB0b2tlbiBzcGFjZSBzcGVj aWZpZWQgYnkgR3VpZCw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHRoZW4gdGhl IG1vZHVsZSB3aWxsIG5vdCBidWlsZC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBHdWlkIGlzIE5VTEwsIHRoZW4gQVNTRVJU KCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsgQHBhcmFtJm5ic3A7Jm5ic3A7IEd1aWQmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgUG9pbnRlciB0byBhIDEyOC1iaXQg dW5pcXVlIHZhbHVlIHRoYXQgZGVzaWduYXRlczxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgd2hpY2ggbmFtZXNwYWNlIHRvIHJl dHJpZXZlIGEgdmFsdWUgZnJvbS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBw YXJhbSZuYnNwOyZuYnNwOyBUb2tlbk5hbWUmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg VGhlIG5hbWUgb2YgdGhlIFBDRCB0b2tlbiB0byBzZXQgdGhlIGN1cnJlbnQgdmFsdWUgZm9yLjxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtJm5ic3A7Jm5ic3A7IFZhbHVl Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRo ZSBCb29sZWFuIHZhbHVlIHRvIHNldC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcmV0dXJuIFJldHVybiB0aGUgVmFsdWUgdGhh dCB3YXMgc2V0Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtKiovPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSNkZWZpbmUgUGNkU2V0RXhC b29sKEd1aWQsIFRva2VuTmFtZSwgVmFsdWUpIFw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IExpYlBjZFNldEV4Qm9vbCgoR3VpZCksIFBj ZFRva2VuRXgoR3VpZCxUb2tlbk5hbWUpLCAoVmFsdWUpKTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0jZW5kaWY8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsmbmJzcDsmbmJzcDsgLyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgU2V0cyBhbiA4LWJpdCBQQ0QgdG9rZW4gdmFsdWUgYmFzZWQgb24g YSBHVUlEIGFuZCBhIHRva2VuIG5hbWUuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDs8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyBAQCAtMTM0OCwyOTUgKzExMTcsNiBAQCBMaWJQY2RHZXRFeFNp emUgKDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICk7 PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0Ozxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0jaWZuZGVmIERJU0FCTEVfTkVXX0RFUFJFQ0FURURfSU5U RVJGQUNFUzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0vKio8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgYSBtZWFucyBieSB3aGljaCB0 byBzZXQgYSB2YWx1ZSBmb3IgYSBnaXZlbiBQQ0QgdG9rZW4uPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgU2V0cyB0aGUgOC1iaXQg dmFsdWUgZm9yIHRoZSB0b2tlbiBzcGVjaWZpZWQgYnkgVG9rZW5OdW1iZXI8YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgVmFsdWUuJm5i c3A7IFZhbHVlIGlzIHJldHVybmVkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbVtpbl0mbmJzcDsgVG9rZW5OdW1iZXIm bmJzcDsmbmJzcDsgVGhlIFBDRCB0b2tlbiBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1ZSBm b3IuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IFZh bHVlJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSA4 LWJpdCB2YWx1ZSB0byBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHJldHVybiBSZXR1cm4gdGhlIFZhbHVlIHRoYXQgd2Fz IHNldC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSoqLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1VSU5UODxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC1FRklBUEk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtTGliUGNkU2V0OCAo PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBVSU5UTiZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBUb2tlbk51bWJlciw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIFVJTlQ4 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7IFZhbHVlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyAp Ozxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLS8qKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsgVGhpcyBmdW5jdGlvbiBwcm92aWRlcyBhIG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBh IHZhbHVlIGZvciBhIGdpdmVuIFBDRCB0b2tlbi48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBTZXRzIHRoZSAxNi1iaXQgdmFsdWUg Zm9yIHRoZSB0b2tlbiBzcGVjaWZpZWQgYnkgVG9rZW5OdW1iZXI8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgVmFsdWUuJm5ic3A7IFZh bHVlIGlzIHJldHVybmVkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbVtpbl0mbmJzcDsgVG9rZW5OdW1iZXImbmJzcDsm bmJzcDsgVGhlIFBDRCB0b2tlbiBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1ZSBmb3IuPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IFZhbHVlJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSAxNi1iaXQg dmFsdWUgdG8gc2V0Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IEByZXR1cm4gUmV0dXJuIHRoZSBWYWx1ZSB0aGF0IHdhcyBzZXQu PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0q Ki88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtVUlOVDE2PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLUVGSUFQSTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1MaWJQY2RTZXQxNiAoPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBVSU5UTiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBU b2tlbk51bWJlciw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIFVJTlQxNiZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyBWYWx1ZTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgKTs8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0vKio8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7 IFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgYSBtZWFucyBieSB3aGljaCB0byBzZXQgYSB2YWx1ZSBm b3IgYSBnaXZlbiBQQ0QgdG9rZW4uPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgU2V0cyB0aGUgMzItYml0IHZhbHVlIGZvciB0aGUg dG9rZW4gc3BlY2lmaWVkIGJ5IFRva2VuTnVtYmVyPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyB0byB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IFZhbHVlLiZuYnNwOyBWYWx1ZSBpcyBy ZXR1cm5lZC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IFRva2VuTnVtYmVyJm5ic3A7Jm5ic3A7IFRo ZSBQQ0QgdG9rZW4gbnVtYmVyIHRvIHNldCBhIGN1cnJlbnQgdmFsdWUgZm9yLjxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtW2luXSZuYnNwOyBWYWx1ZSZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUaGUgMzItYml0IHZhbHVlIHRv IHNldC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyBAcmV0dXJuIFJldHVybiB0aGUgVmFsdWUgdGhhdCB3YXMgc2V0Ljxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtKiovPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLVVJTlQzMjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1F RklBUEk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtTGliUGNkU2V0MzIgKDxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gVUlOVE4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVG9rZW5OdW1i ZXIsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBVSU5UMzImbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg VmFsdWU8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7ICk7PGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtLyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBUaGlzIGZ1 bmN0aW9uIHByb3ZpZGVzIGEgbWVhbnMgYnkgd2hpY2ggdG8gc2V0IGEgdmFsdWUgZm9yIGEgZ2l2 ZW4gUENEIHRva2VuLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IFNldHMgdGhlIDY0LWJpdCB2YWx1ZSBmb3IgdGhlIHRva2VuIHNw ZWNpZmllZCBieSBUb2tlbk51bWJlcjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg dG8gdGhlIHZhbHVlIHNwZWNpZmllZCBieSBWYWx1ZS4mbmJzcDsgVmFsdWUgaXMgcmV0dXJuZWQu PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsgQHBhcmFtW2luXSZuYnNwOyBUb2tlbk51bWJlciZuYnNwOyZuYnNwOyBUaGUgUENEIHRv a2VuIG51bWJlciB0byBzZXQgYSBjdXJyZW50IHZhbHVlIGZvci48YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbVtpbl0mbmJzcDsgVmFsdWUmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVGhlIDY0LWJpdCB2YWx1ZSB0byBzZXQuPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgQHJldHVybiBSZXR1cm4gdGhlIFZhbHVlIHRoYXQgd2FzIHNldC48YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSoqLzxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC1VSU5UNjQ8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtRUZJQVBJPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUxpYlBjZFNldDY0ICg8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IElOIFVJTlROJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRva2VuTnVtYmVyLDxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gVUlOVDY0Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFZhbHVlPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyApOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLS8qKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVGhpcyBmdW5jdGlvbiBw cm92aWRlcyBhIG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVlIGZvciBhIGdpdmVuIFBDRCB0 b2tlbi48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyBTZXRzIGEgYnVmZmVyIGZvciB0aGUgdG9rZW4gc3BlY2lmaWVkIGJ5IFRva2Vu TnVtYmVyIHRvIHRoZSB2YWx1ZTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgc3Bl Y2lmaWVkIGJ5IEJ1ZmZlciBhbmQgU2l6ZU9mQnVmZmVyLiZuYnNwOyBCdWZmZXIgaXMgcmV0dXJu ZWQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBTaXplT2ZCdWZmZXIgaXMg Z3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtIHNpemUgc3VwcG9ydCBieSBUb2tlbk51bWJlciw8YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHRoZW4gc2V0IFNpemVPZkJ1ZmZlciB0byB0 aGUgbWF4aW11bSBzaXplIHN1cHBvcnRlZCBieSBUb2tlbk51bWJlciBhbmQ8YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHJldHVybiBOVUxMIHRvIGluZGljYXRlIHRoYXQgdGhlIHNl dCBvcGVyYXRpb24gd2FzIG5vdCBhY3R1YWxseSBwZXJmb3JtZWQuPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgU2l6ZU9mQnVm ZmVyIGlzIHNldCB0byBNQVhfQUREUkVTUywgdGhlbiBTaXplT2ZCdWZmZXIgbXVzdCBiZSBzZXQg dG8gdGhlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBtYXhpbXVtIHNpemUgc3Vw cG9ydGVkIGJ5IFRva2VuTmFtZSBhbmQgTlVMTCBtdXN0IGJlIHJldHVybmVkLjxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFNp emVPZkJ1ZmZlciBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgSWYgU2l6ZU9mQnVmZmVyICZndDsgMCBhbmQgQnVmZmVyIGlzIE5VTEwsIHRo ZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtW2luXSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBUb2tlbk51bWJlciZuYnNwOyZuYnNwOyBUaGUgUENEIHRva2VuIG51bWJlciB0byBzZXQgYSBj dXJyZW50IHZhbHVlIGZvci48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJh bVtpbiwgb3V0XSBTaXplT2ZCdWZmZXImbmJzcDsgVGhlIHNpemUsIGluIGJ5dGVzLCBvZiBCdWZm ZXIuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IEJ1ZmZlciZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyBBIHBvaW50ZXIgdG8gdGhlIGJ1ZmZlciB0byBzZXQuPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHJldHVy biBSZXR1cm4gdGhlIHBvaW50ZXIgZm9yIHRoZSBCdWZmZXIgdGhhdCB3YXMgc2V0Ljxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtKiovPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLVZPSUQgKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1F RklBUEk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtTGliUGNkU2V0UHRyICg8YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IFVJTlROJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRva2VuTnVtYmVyLDxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gT1VUJm5ic3A7Jm5ic3A7Jm5ic3A7IFVJTlROJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7ICpTaXplT2ZCdWZmZXIsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBJTiBDT05TVCZuYnNwOyBWT0lEJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICpCdWZmZXI8YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7ICk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtLyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBUaGlzIGZ1bmN0aW9uIHBy b3ZpZGVzIGEgbWVhbnMgYnkgd2hpY2ggdG8gc2V0IGEgdmFsdWUgZm9yIGEgZ2l2ZW4gUENEIHRv a2VuLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IFNldHMgdGhlIEJvb2xlYW4gdmFsdWUgZm9yIHRoZSB0b2tlbiBzcGVjaWZpZWQg YnkgVG9rZW5OdW1iZXI8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHRvIHRoZSB2 YWx1ZSBzcGVjaWZpZWQgYnkgVmFsdWUuJm5ic3A7IFZhbHVlIGlzIHJldHVybmVkLjxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBw YXJhbVtpbl0mbmJzcDsgVG9rZW5OdW1iZXImbmJzcDsmbmJzcDsgVGhlIFBDRCB0b2tlbiBudW1i ZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1ZSBmb3IuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IFZhbHVlJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSBib29sZWFuIHZhbHVlIHRvIHNldC48YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcmV0 dXJuIFJldHVybiB0aGUgVmFsdWUgdGhhdCB3YXMgc2V0Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtKiovPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLUJPT0xFQU48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtRUZJQVBJPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLUxpYlBjZFNldEJvb2wgKDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgSU4gVUlOVE4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVG9rZW5OdW1iZXIsPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBCT09MRUFOJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFZhbHVlPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyApOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLS8qKjxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVGhpcyBmdW5jdGlvbiBwcm92aWRlcyBh IG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVlIGZvciBhIGdpdmVuIFBDRCB0b2tlbi48YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyBTZXRzIHRoZSA4LWJpdCB2YWx1ZSBmb3IgdGhlIHRva2VuIHNwZWNpZmllZCBieSBUb2tlbk51 bWJlciBhbmQ8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEd1aWQgdG8gdGhlIHZh bHVlIHNwZWNpZmllZCBieSBWYWx1ZS4gVmFsdWUgaXMgcmV0dXJuZWQuPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgR3VpZCBp cyBOVUxMLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbVtpbl0mbmJzcDsgR3VpZCZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBQb2ludGVyIHRv IGEgMTI4LWJpdCB1bmlxdWUgdmFsdWUgdGhhdDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZGVzaWduYXRl cyB3aGljaCBuYW1lc3BhY2UgdG8gc2V0IGEgdmFsdWUgZnJvbS48YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbVtpbl0mbmJzcDsgVG9rZW5OdW1iZXImbmJzcDsmbmJzcDsg VGhlIFBDRCB0b2tlbiBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1ZSBmb3IuPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IFZhbHVlJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSA4LWJpdCB2YWx1ZSB0 byBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgQHJldHVybiBSZXR1cm4gdGhlIFZhbHVlIHRoYXQgd2FzIHNldC48YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSoqLzxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1VSU5UODxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1F RklBUEk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtTGliUGNkU2V0RXg4ICg8YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIENPTlNUIEdVSUQmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKkd1aWQsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBJTiBVSU5UTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUb2tlbk51bWJlciw8YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIFVJTlQ4Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFZhbHVlPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyApOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LS8qKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVGhpcyBmdW5jdGlvbiBwcm92 aWRlcyBhIG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVlIGZvciBhIGdpdmVuIFBDRCB0b2tl bi48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBTZXRzIHRoZSAxNi1iaXQgdmFsdWUgZm9yIHRoZSB0b2tlbiBzcGVjaWZpZWQgYnkg VG9rZW5OdW1iZXIgYW5kPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBHdWlkIHRv IHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgVmFsdWUuIFZhbHVlIGlzIHJldHVybmVkLjxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElm IEd1aWQgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IEd1aWQm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgUG9p bnRlciB0byBhIDEyOC1iaXQgdW5pcXVlIHZhbHVlIHRoYXQ8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRl c2lnbmF0ZXMgd2hpY2ggbmFtZXNwYWNlIHRvIHNldCBhIHZhbHVlIGZyb20uPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IFRva2VuTnVtYmVyJm5ic3A7 Jm5ic3A7IFRoZSBQQ0QgdG9rZW4gbnVtYmVyIHRvIHNldCBhIGN1cnJlbnQgdmFsdWUgZm9yLjxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtW2luXSZuYnNwOyBWYWx1ZSZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUaGUgMTYtYml0 IHZhbHVlIHRvIHNldC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLSZuYnNwOyBAcmV0dXJuIFJldHVybiB0aGUgVmFsdWUgdGhhdCB3YXMgc2V0 Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt KiovPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLVVJTlQxNjxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC1FRklBUEk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtTGliUGNkU2V0RXgxNiAo PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBDT05TVCBHVUlEJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICpHdWlkLDxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgSU4gVUlOVE4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVG9rZW5OdW1iZXIsPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBVSU5UMTYmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVmFsdWU8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7ICk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtLyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBUaGlzIGZ1bmN0aW9u IHByb3ZpZGVzIGEgbWVhbnMgYnkgd2hpY2ggdG8gc2V0IGEgdmFsdWUgZm9yIGEgZ2l2ZW4gUENE IHRva2VuLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtJm5ic3A7IFNldHMgdGhlIDMyLWJpdCB2YWx1ZSBmb3IgdGhlIHRva2VuIHNwZWNpZmll ZCBieSBUb2tlbk51bWJlciBhbmQ8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEd1 aWQgdG8gdGhlIHZhbHVlIHNwZWNpZmllZCBieSBWYWx1ZS4gVmFsdWUgaXMgcmV0dXJuZWQuPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgSWYgR3VpZCBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbVtpbl0mbmJzcDsg R3VpZCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBQb2ludGVyIHRvIGEgMTI4LWJpdCB1bmlxdWUgdmFsdWUgdGhhdDxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgZGVzaWduYXRlcyB3aGljaCBuYW1lc3BhY2UgdG8gc2V0IGEgdmFsdWUgZnJvbS48YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbVtpbl0mbmJzcDsgVG9rZW5OdW1iZXIm bmJzcDsmbmJzcDsgVGhlIFBDRCB0b2tlbiBudW1iZXIgdG8gc2V0IGEgY3VycmVudCB2YWx1ZSBm b3IuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IFZh bHVlJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSAz Mi1iaXQgdmFsdWUgdG8gc2V0Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEByZXR1cm4gUmV0dXJuIHRoZSBWYWx1ZSB0aGF0IHdh cyBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0qKi88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtVUlOVDMyPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLUVGSUFQSTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1MaWJQY2RTZXRF eDMyICg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIENPTlNUIEdVSUQmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKkd1aWQsPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBVSU5UTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUb2tlbk51bWJl ciw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIFVJTlQzMiZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBW YWx1ZTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgKTs8YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0vKio8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFRoaXMgZnVu Y3Rpb24gcHJvdmlkZXMgYSBtZWFucyBieSB3aGljaCB0byBzZXQgYSB2YWx1ZSBmb3IgYSBnaXZl biBQQ0QgdG9rZW4uPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgU2V0cyB0aGUgNjQtYml0IHZhbHVlIGZvciB0aGUgdG9rZW4gc3Bl Y2lmaWVkIGJ5IFRva2VuTnVtYmVyIGFuZDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgR3VpZCB0byB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IFZhbHVlLiBWYWx1ZSBpcyByZXR1cm5l ZC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBJZiBHdWlkIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtW2luXSZu YnNwOyBHdWlkJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IFBvaW50ZXIgdG8gYSAxMjgtYml0IHVuaXF1ZSB2YWx1ZSB0aGF0PGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyBkZXNpZ25hdGVzIHdoaWNoIG5hbWVzcGFjZSB0byBzZXQgYSB2YWx1ZSBmcm9tLjxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtW2luXSZuYnNwOyBUb2tlbk51 bWJlciZuYnNwOyZuYnNwOyBUaGUgUENEIHRva2VuIG51bWJlciB0byBzZXQgYSBjdXJyZW50IHZh bHVlIGZvci48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbVtpbl0mbmJz cDsgVmFsdWUmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg VGhlIDY0LWJpdCB2YWx1ZSB0byBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHJldHVybiBSZXR1cm4gdGhlIFZhbHVlIHRo YXQgd2FzIHNldC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSoqLzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1VSU5UNjQ8YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtRUZJQVBJPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUxpYlBj ZFNldEV4NjQgKDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gQ09OU1QgR1VJ RCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqR3VpZCw8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIFVJTlROJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRva2Vu TnVtYmVyLDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gVUlOVDY0Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IFZhbHVlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyApOzxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLS8qKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVGhp cyBmdW5jdGlvbiBwcm92aWRlcyBhIG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVlIGZvciBh IGdpdmVuIFBDRCB0b2tlbi48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBTZXRzIGEgYnVmZmVyIGZvciB0aGUgdG9rZW4gc3BlY2lm aWVkIGJ5IFRva2VuTnVtYmVyIHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnk8YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEJ1ZmZlciBhbmQgU2l6ZU9mQnVmZmVyLiZuYnNwOyBCdWZm ZXIgaXMgcmV0dXJuZWQuJm5ic3A7IElmIFNpemVPZkJ1ZmZlciBpcyBncmVhdGVyIHRoYW48YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHRoZSBtYXhpbXVtIHNpemUgc3VwcG9ydCBi eSBUb2tlbk51bWJlciwgdGhlbiBzZXQgU2l6ZU9mQnVmZmVyIHRvIHRoZSBtYXhpbXVtIHNpemU8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHN1cHBvcnRlZCBieSBUb2tlbk51bWJl ciBhbmQgcmV0dXJuIE5VTEwgdG8gaW5kaWNhdGUgdGhhdCB0aGUgc2V0IG9wZXJhdGlvbjxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgd2FzIG5vdCBhY3R1YWxseSBwZXJmb3JtZWQu PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsgSWYgR3VpZCBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC0mbmJzcDsgSWYgU2l6ZU9mQnVmZmVyIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBTaXplT2ZCdWZmZXIgJmd0OyAwIGFu ZCBCdWZmZXIgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IEd1 aWQmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgUG9pbnRlciB0byBhIDEyOC1iaXQgdW5pcXVlIHZhbHVl IHRoYXQ8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRlc2lnbmF0 ZXMgd2hpY2ggbmFtZXNwYWNlIHRvIHNldCBhIHZhbHVlIGZyb20uPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IFRva2VuTnVtYmVyJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZSBQQ0QgdG9rZW4gbnVtYmVyIHRvIHNldCBhIGN1 cnJlbnQgdmFsdWUgZm9yLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFt W2luLCBvdXRdIFNpemVPZkJ1ZmZlciZuYnNwOyBUaGUgc2l6ZSwgaW4gYnl0ZXMsIG9mIEJ1ZmZl ci48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbVtpbl0mbmJzcDsgQnVm ZmVyJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IEEgcG9pbnRlciB0byB0aGUgYnVmZmVyIHRvIHNldC48YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcmV0dXJu IFJldHVybiB0aGUgcG9pbnRlciB0byB0aGUgQnVmZmVyIHRoYXQgd2FzIHNldC48YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSoqLzxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1WT0lEICo8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtRUZJ QVBJPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUxpYlBjZFNldEV4UHRyICg8YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 IENPTlNUIEdVSUQmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKkd1 aWQsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyBVSU5UTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUb2tlbk51bWJlciw8YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIE9VVCZuYnNwOyBVSU5UTiZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyAqU2l6ZU9mQnVmZmVyLDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4mbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgVk9JRCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqQnVm ZmVyPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyApOzxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLS8qKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVGhpcyBmdW5j dGlvbiBwcm92aWRlcyBhIG1lYW5zIGJ5IHdoaWNoIHRvIHNldCBhIHZhbHVlIGZvciBhIGdpdmVu IFBDRCB0b2tlbi48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSZuYnNwOyBTZXRzIHRoZSBCb29sZWFuIHZhbHVlIGZvciB0aGUgdG9rZW4gc3Bl Y2lmaWVkIGJ5IFRva2VuTnVtYmVyIGFuZDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgR3VpZCB0byB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IFZhbHVlLiBWYWx1ZSBpcyByZXR1cm5l ZC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBJZiBHdWlkIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtW2luXSZu YnNwOyBHdWlkJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IFBvaW50ZXIgdG8gYSAxMjgtYml0IHVuaXF1ZSB2YWx1ZSB0aGF0PGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyBkZXNpZ25hdGVzIHdoaWNoIG5hbWVzcGFjZSB0byBzZXQgYSB2YWx1ZSBmcm9tLjxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtW2luXSZuYnNwOyBUb2tlbk51 bWJlciZuYnNwOyZuYnNwOyBUaGUgUENEIHRva2VuIG51bWJlciB0byBzZXQgYSBjdXJyZW50IHZh bHVlIGZvci48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbVtpbl0mbmJz cDsgVmFsdWUmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg VGhlIEJvb2xlYW4gdmFsdWUgdG8gc2V0Ljxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEByZXR1cm4gUmV0dXJuIHRoZSBWYWx1ZSB0 aGF0IHdhcyBzZXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0qKi88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtQk9PTEVBTjxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1FRklBUEk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtTGli UGNkU2V0RXhCb29sICg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIENPTlNU IEdVSUQmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKkd1aWQsPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBVSU5UTiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBU b2tlbk51bWJlciw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElOIEJPT0xFQU4m bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgVmFsdWU8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7ICk7PGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSNlbmRpZjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyAvKio8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBUaGlzIGZ1bmN0aW9uIHByb3ZpZGVzIGEgbWVh bnMgYnkgd2hpY2ggdG8gc2V0IGEgdmFsdWUgZm9yIGEgZ2l2ZW4gUENEIHRva2VuLjxicj4NCiZn dDsmZ3Q7Jmd0OyZndDsmZ3Q7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgZGlmZiAtLWdpdCBh L01kZVBrZy9JbmNsdWRlL0xpYnJhcnkvUHJpbnRMaWIuaCBiL01kZVBrZy9JbmNsdWRlL0xpYnJh cnkvUHJpbnRMaWIuaDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IGluZGV4IGRmYmNkMWIzNDBi ZS4uMGIzOGRhNjA4NGUxIDEwMDY0NDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0tLSBhL01k ZVBrZy9JbmNsdWRlL0xpYnJhcnkvUHJpbnRMaWIuaDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 ICsrKyBiL01kZVBrZy9JbmNsdWRlL0xpYnJhcnkvUHJpbnRMaWIuaDxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IEBAIC00ODUsNjIgKzQ4NSw2IEBAIFVuaWNvZGVTUHJpbnRBc2NpaUZvcm1hdCAo PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgLi4uPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKTs8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0Ozxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0jaWZuZGVmIERJ U0FCTEVfTkVXX0RFUFJFQ0FURURfSU5URVJGQUNFUzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtLyoqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyBbQVRURU5USU9OXSBUaGlzIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgZm9yIHNl Y3VyaXR5IHJlYXNvbi48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsm Z3Q7Jmd0OyZndDsgLSZuYnNwOyBDb252ZXJ0cyBhIGRlY2ltYWwgdmFsdWUgdG8gYSBOdWxsLXRl cm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQ29udmVydHMgdGhlIGRlY2ltYWwgbnVtYmVy IHNwZWNpZmllZCBieSBWYWx1ZSB0byBhIE51bGwtdGVybWluYXRlZCBVbmljb2RlPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBzdHJpbmcgc3BlY2lmaWVkIGJ5IEJ1ZmZlciBjb250 YWluaW5nIGF0IG1vc3QgV2lkdGggY2hhcmFjdGVycy4gTm8gcGFkZGluZyBvZiBzcGFjZXM8YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IGlzIGV2ZXIgcGVyZm9ybWVkLiBJZiBXaWR0 aCBpcyAwIHRoZW4gYSB3aWR0aCBvZiBNQVhJTVVNX1ZBTFVFX0NIQVJBQ1RFUlMgaXMgYXNzdW1l ZC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFRoZSBudW1iZXIgb2YgVW5pY29k ZSBjaGFyYWN0ZXJzIGluIEJ1ZmZlciBpcyByZXR1cm5lZCwgbm90IGluY2x1ZGluZyB0aGUgTnVs bC10ZXJtaW5hdG9yLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgdGhlIGNv bnZlcnNpb24gY29udGFpbnMgbW9yZSB0aGFuIFdpZHRoIGNoYXJhY3RlcnMsIHRoZW4gb25seSB0 aGUgZmlyc3Q8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFdpZHRoIGNoYXJhY3Rl cnMgYXJlIHJldHVybmVkLCBhbmQgdGhlIHRvdGFsIG51bWJlciBvZiBjaGFyYWN0ZXJzPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyByZXF1aXJlZCB0byBwZXJmb3JtIHRoZSBjb252 ZXJzaW9uIGlzIHJldHVybmVkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQWRk aXRpb25hbCBjb252ZXJzaW9uIHBhcmFtZXRlcnMgYXJlIHNwZWNpZmllZCBpbiBGbGFncy48YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyBUaGUgRmxhZ3MgYml0IExFRlRfSlVTVElGWSBpcyBhbHdheXMgaWdub3JlZC48YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEFsbCBjb252ZXJzaW9ucyBhcmUgbGVmdCBqdXN0aWZp ZWQgaW4gQnVmZmVyLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgV2lkdGgg aXMgMCwgUFJFRklYX1pFUk8gaXMgaWdub3JlZCBpbiBGbGFncy48YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IElmIENPTU1BX1RZUEUgaXMgc2V0IGluIEZsYWdzLCB0aGVuIFBSRUZJ WF9aRVJPIGlzIGlnbm9yZWQgaW4gRmxhZ3MsIGFuZCBjb21tYXM8YnI+DQomZ3Q7Jmd0OyZndDsm Z3Q7Jmd0OyAtJm5ic3A7IGFyZSBpbnNlcnRlZCBldmVyeSAzcmQgZGlnaXQgc3RhcnRpbmcgZnJv bSB0aGUgcmlnaHQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBSQURJWF9I RVggaXMgc2V0IGluIEZsYWdzLCB0aGVuIHRoZSBvdXRwdXQgYnVmZmVyIHdpbGwgYmU8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IGZvcm1hdHRlZCBpbiBoZXhhZGVjaW1hbCBmb3Jt YXQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBWYWx1ZSBpcyAmbHQ7IDAg YW5kIFJBRElYX0hFWCBpcyBub3Qgc2V0IGluIEZsYWdzLCB0aGVuIHRoZSBmaXN0IGNoYXJhY3Rl ciBpbiBCdWZmZXIgaXMgYSAnLScuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJ ZiBQUkVGSVhfWkVSTyBpcyBzZXQgaW4gRmxhZ3MgYW5kIFBSRUZJWF9aRVJPIGlzIG5vdCBiZWlu ZyBpZ25vcmVkLDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgdGhlbiBCdWZmZXIg aXMgcGFkZGVkIHdpdGggJzAnIGNoYXJhY3RlcnMgc28gdGhlIGNvbWJpbmF0aW9uIG9mIHRoZSBv cHRpb25hbCAnLSc8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHNpZ24gY2hhcmFj dGVyLCAnMCcgY2hhcmFjdGVycywgZGlnaXQgY2hhcmFjdGVycyBmb3IgVmFsdWUsIGFuZCB0aGUg TnVsbC10ZXJtaW5hdG9yPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBhZGQgdXAg dG8gV2lkdGggY2hhcmFjdGVycy48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElm IGJvdGggQ09NTUFfVFlQRSBhbmQgUkFESVhfSEVYIGFyZSBzZXQgaW4gRmxhZ3MsIHRoZW4gQVNT RVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBCdWZmZXIgaXMgTlVM TCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIEJ1 ZmZlciBpcyBub3QgYWxpZ25lZCBvbiBhIDE2LWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS48 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIHVuc3VwcG9ydGVkIGJpdHMgYXJl IHNldCBpbiBGbGFncywgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IElmIGJvdGggQ09NTUFfVFlQRSBhbmQgUkFESVhfSEVYIGFyZSBzZXQgaW4gRmxhZ3Ms IHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBXaWR0 aCAmZ3Q7PSBNQVhJTVVNX1ZBTFVFX0NIQVJBQ1RFUlMsIHRoZW4gQVNTRVJUKCk8YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcGFy YW0mbmJzcDsgQnVmZmVyJm5ic3A7IFRoZSBwb2ludGVyIHRvIHRoZSBvdXRwdXQgYnVmZmVyIGZv ciB0aGUgcHJvZHVjZWQgTnVsbC10ZXJtaW5hdGVkPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBVbmljb2RlIHN0 cmluZy48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbSZuYnNwOyBGbGFn cyZuYnNwOyZuYnNwOyBUaGUgYml0bWFzayBvZiBmbGFncyB0aGF0IHNwZWNpZnkgbGVmdCBqdXN0 aWZpY2F0aW9uLCB6ZXJvIHBhZCwgYW5kIGNvbW1hcy48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0 OyAtJm5ic3A7IEBwYXJhbSZuYnNwOyBWYWx1ZSZuYnNwOyZuYnNwOyBUaGUgNjQtYml0IHNpZ25l ZCB2YWx1ZSB0byBjb252ZXJ0IHRvIGEgc3RyaW5nLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsgQHBhcmFtJm5ic3A7IFdpZHRoJm5ic3A7Jm5ic3A7IFRoZSBtYXhpbXVtIG51bWJl ciBvZiBVbmljb2RlIGNoYXJhY3RlcnMgdG8gcGxhY2UgaW4gQnVmZmVyLCBub3QgaW5jbHVkaW5n PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyB0aGUgTnVsbC10ZXJtaW5hdG9yLjxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEByZXR1cm4gVGhlIG51 bWJlciBvZiBVbmljb2RlIGNoYXJhY3RlcnMgaW4gQnVmZmVyLCBub3QgaW5jbHVkaW5nIHRoZSBO dWxsLXRlcm1pbmF0b3IuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC0qKi88YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtVUlOVE48YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtRUZJQVBJPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLVVu aWNvZGVWYWx1ZVRvU3RyaW5nICg8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElO IE9VVCBDSEFSMTYmbmJzcDsgKkJ1ZmZlciw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5i c3A7IElOIFVJTlROJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IEZsYWdzLDxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gSU5UNjQmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgVmFsdWUsPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBJTiBVSU5UTiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBXaWR0aDxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgKTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSNlbmRpZjxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyAvKio8YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBDb252ZXJ0cyBh IGRlY2ltYWwgdmFsdWUgdG8gYSBOdWxsLXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcuPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyBAQCAtODgyLDYw ICs4MjYsNiBAQCBBc2NpaVNQcmludFVuaWNvZGVGb3JtYXQgKDxicj4NCiZndDsmZ3Q7Jmd0OyZn dDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC4uLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDs8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtI2lmbmRlZiBESVNBQkxFX05FV19ERVBSRUNBVEVE X0lOVEVSRkFDRVM8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLS8qKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgW0FUVEVOVElP Tl0gVGhpcyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGZvciBzZWN1cml0eSByZWFzb24uPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsg Q29udmVydHMgYSBkZWNpbWFsIHZhbHVlIHRvIGEgTnVsbC10ZXJtaW5hdGVkIEFTQ0lJIHN0cmlu Zy48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBDb252ZXJ0cyB0aGUgZGVjaW1hbCBudW1iZXIgc3BlY2lmaWVkIGJ5IFZhbHVlIHRv IGEgTnVsbC10ZXJtaW5hdGVkIEFTQ0lJIHN0cmluZzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC0mbmJzcDsgc3BlY2lmaWVkIGJ5IEJ1ZmZlciBjb250YWluaW5nIGF0IG1vc3QgV2lkdGggY2hh cmFjdGVycy4gTm8gcGFkZGluZyBvZiBzcGFjZXM8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAt Jm5ic3A7IGlzIGV2ZXIgcGVyZm9ybWVkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgSWYgV2lkdGggaXMgMCB0aGVuIGEgd2lkdGggb2YmbmJzcDsgTUFYSU1VTV9WQUxVRV9DSEFS QUNURVJTIGlzIGFzc3VtZWQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBUaGUg bnVtYmVyIG9mIEFTQ0lJIGNoYXJhY3RlcnMgaW4gQnVmZmVyIGlzIHJldHVybmVkLCBub3QgaW5j bHVkaW5nIHRoZSBOdWxsLXRlcm1pbmF0b3IuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZu YnNwOyBJZiB0aGUgY29udmVyc2lvbiBjb250YWlucyBtb3JlIHRoYW4gV2lkdGggY2hhcmFjdGVy cywgdGhlbiBvbmx5IHRoZSBmaXJzdCBXaWR0aDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsgY2hhcmFjdGVycyBhcmUgcmV0dXJuZWQsIGFuZCB0aGUgdG90YWwgbnVtYmVyIG9mIGNo YXJhY3RlcnMgcmVxdWlyZWQgdG8gcGVyZm9ybTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsgdGhlIGNvbnZlcnNpb24gaXMgcmV0dXJuZWQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyBBZGRpdGlvbmFsIGNvbnZlcnNpb24gcGFyYW1ldGVycyBhcmUgc3BlY2lmaWVk IGluIEZsYWdzLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgVGhlIEZsYWdzIGJp dCBMRUZUX0pVU1RJRlkgaXMgYWx3YXlzIGlnbm9yZWQuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyBBbGwgY29udmVyc2lvbnMgYXJlIGxlZnQganVzdGlmaWVkIGluIEJ1ZmZlci48 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIFdpZHRoIGlzIDAsIFBSRUZJWF9a RVJPIGlzIGlnbm9yZWQgaW4gRmxhZ3MuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyBJZiBDT01NQV9UWVBFIGlzIHNldCBpbiBGbGFncywgdGhlbiBQUkVGSVhfWkVSTyBpcyBpZ25v cmVkIGluIEZsYWdzLCBhbmQgY29tbWFzPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNw OyBhcmUgaW5zZXJ0ZWQgZXZlcnkgM3JkIGRpZ2l0IHN0YXJ0aW5nIGZyb20gdGhlIHJpZ2h0Ljxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgUkFESVhfSEVYIGlzIHNldCBpbiBG bGFncywgdGhlbiB0aGUgb3V0cHV0IGJ1ZmZlciB3aWxsIGJlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSZuYnNwOyBmb3JtYXR0ZWQgaW4gaGV4YWRlY2ltYWwgZm9ybWF0Ljxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgVmFsdWUgaXMgJmx0OyAwIGFuZCBSQURJWF9IRVgg aXMgbm90IHNldCBpbiBGbGFncywgdGhlbiB0aGUgZmlzdCBjaGFyYWN0ZXIgaW4gQnVmZmVyIGlz IGEgJy0nLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgUFJFRklYX1pFUk8g aXMgc2V0IGluIEZsYWdzIGFuZCBQUkVGSVhfWkVSTyBpcyBub3QgYmVpbmcgaWdub3JlZCw8YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IHRoZW4gQnVmZmVyIGlzIHBhZGRlZCB3aXRo ICcwJyBjaGFyYWN0ZXJzIHNvIHRoZSBjb21iaW5hdGlvbiBvZiB0aGUgb3B0aW9uYWwgJy0nPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBzaWduIGNoYXJhY3RlciwgJzAnIGNoYXJh Y3RlcnMsIGRpZ2l0IGNoYXJhY3RlcnMgZm9yIFZhbHVlLCBhbmQgdGhlIE51bGwtdGVybWluYXRv cjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgYWRkIHVwIHRvIFdpZHRoIGNoYXJh Y3RlcnMuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0mbmJzcDsgSWYgQnVmZmVyIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiB1bnN1cHBvcnRlZCBiaXRzIGFyZSBzZXQgaW4gRmxh Z3MsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJZiBi b3RoIENPTU1BX1RZUEUgYW5kIFJBRElYX0hFWCBhcmUgc2V0IGluIEZsYWdzLCB0aGVuIEFTU0VS VCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSWYgV2lkdGggJmd0Oz0gTUFY SU1VTV9WQUxVRV9DSEFSQUNURVJTLCB0aGVuIEFTU0VSVCgpPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFtJm5ic3A7IEJ1 ZmZlciZuYnNwOyBBIHBvaW50ZXIgdG8gdGhlIG91dHB1dCBidWZmZXIgZm9yIHRoZSBwcm9kdWNl ZCBOdWxsLXRlcm1pbmF0ZWQ8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IEFTQ0lJIHN0cmluZy48YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJhbSZuYnNwOyBGbGFncyZuYnNwOyZuYnNwOyBU aGUgYml0bWFzayBvZiBmbGFncyB0aGF0IHNwZWNpZnkgbGVmdCBqdXN0aWZpY2F0aW9uLCB6ZXJv IHBhZCwgYW5kIGNvbW1hcy48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEBwYXJh bSZuYnNwOyBWYWx1ZSZuYnNwOyZuYnNwOyBUaGUgNjQtYml0IHNpZ25lZCB2YWx1ZSB0byBjb252 ZXJ0IHRvIGEgc3RyaW5nLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHBhcmFt Jm5ic3A7IFdpZHRoJm5ic3A7Jm5ic3A7IFRoZSBtYXhpbXVtIG51bWJlciBvZiBBU0NJSSBjaGFy YWN0ZXJzIHRvIHBsYWNlIGluIEJ1ZmZlciwgbm90IGluY2x1ZGluZzxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg dGhlIE51bGwtdGVybWluYXRvci48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBAcmV0dXJuIFRoZSBudW1iZXIgb2YgQVNDSUkgY2hh cmFjdGVycyBpbiBCdWZmZXIsIG5vdCBpbmNsdWRpbmcgdGhlIE51bGwtdGVybWluYXRvci48YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSoqLzxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1VSU5UTjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7 IC1FRklBUEk8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtQXNjaWlWYWx1ZVRvU3RyaW5nICg8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IE9VVCBDSEFSOCZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyAqQnVmZmVyLDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJz cDsgSU4mbmJzcDsgVUlOVE4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgRmxhZ3MsPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiZuYnNwOyBJTlQ2NCZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyBWYWx1ZSw8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5i c3A7IElOJm5ic3A7IFVJTlROJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFdpZHRoPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyApOzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtI2VuZGlmPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyAvKio8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBDb252ZXJ0cyBhIGRl Y2ltYWwgdmFsdWUgdG8gYSBOdWxsLXRlcm1pbmF0ZWQgQXNjaWkgc3RyaW5nLjxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IGRpZmYgLS1naXQgYS9NZGVQa2cvSW5jbHVkZS9MaWJyYXJ5L1VlZmlM aWIuaCBiL01kZVBrZy9JbmNsdWRlL0xpYnJhcnkvVWVmaUxpYi5oPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgaW5kZXggMGFiYjQwZDZlY2JkLi5mNTZmZmRlMTIzMGUgMTAwNjQ0PGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLS0tIGEvTWRlUGtnL0luY2x1ZGUvTGlicmFyeS9VZWZpTGliLmg8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyArKysgYi9NZGVQa2cvSW5jbHVkZS9MaWJyYXJ5L1Vl ZmlMaWIuaDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IEBAIC02ODAsNTkgKzY4MCw2IEBAIEZy ZWVVbmljb2RlU3RyaW5nVGFibGUgKDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7IElOIEVGSV9VTklDT0RFX1NUUklOR19UQUJMRSZuYnNwOyAqVW5pY29k ZVN0cmluZ1RhYmxlPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgKTs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0Ozxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC0jaWZuZGVmIERJU0FCTEVfTkVXX0RFUFJFQ0FURURfSU5URVJGQUNFUzxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtLyoqPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBbQVRURU5USU9OXSBUaGlzIGZ1bmN0aW9uIHdpbGwg YmUgZGVwcmVjYXRlZCBmb3Igc2VjdXJpdHkgcmVhc29uLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsm Z3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFJldHVybnMgYSBwb2ludGVy IHRvIGFuIGFsbG9jYXRlZCBidWZmZXIgdGhhdCBjb250YWlucyB0aGUgY29udGVudHMgb2YgYTxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgdmFyaWFibGUgcmV0cmlldmVkIHRocm91 Z2ggdGhlIFVFRkkgUnVudGltZSBTZXJ2aWNlIEdldFZhcmlhYmxlKCkuJm5ic3A7IFRoZTxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgcmV0dXJuZWQgYnVmZmVyIGlzIGFsbG9jYXRl ZCB1c2luZyBBbGxvY2F0ZVBvb2woKS4mbmJzcDsgVGhlIGNhbGxlciBpcyByZXNwb25zaWJsZTxi cj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgZm9yIGZyZWVpbmcgdGhpcyBidWZmZXIg d2l0aCBGcmVlUG9vbCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIE5hbWUgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+ DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIEd1aWQgaXMgTlVMTCwgdGhlbiBBU1NF UlQoKS48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IE5hbWUmbmJzcDsgVGhlIHBvaW50ZXIgdG8gYSBO dWxsLXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsg LSZuYnNwOyBAcGFyYW1baW5dJm5ic3A7IEd1aWQmbmJzcDsgVGhlIHBvaW50ZXIgdG8gYW4gRUZJ X0dVSUQgc3RydWN0dXJlLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0 OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IEByZXR2YWwgTlVMTCZuYnNwOyZuYnNwOyBUaGUgdmFyaWFi bGUgY291bGQgbm90IGJlIHJldHJpZXZlZC48YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5i c3A7IEByZXR2YWwgTlVMTCZuYnNwOyZuYnNwOyBUaGVyZSBhcmUgbm90IGVub3VnaCByZXNvdXJj ZXMgYXZhaWxhYmxlIGZvciB0aGUgdmFyaWFibGUgY29udGVudHMuPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDsgLSZuYnNwOyBAcmV0dmFsIE90aGVyJm5ic3A7IEEgcG9pbnRlciB0byBhbGxvY2F0 ZWQgYnVmZmVyIGNvbnRhaW5pbmcgdGhlIHZhcmlhYmxlIGNvbnRlbnRzLjxicj4NCiZndDsmZ3Q7 Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtKiovPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLVZPSUQgKjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1FRklBUEk8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtR2V0VmFyaWFibGUgKDxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgSU4gQ09OU1QgQ0hBUjE2Jm5ic3A7Jm5ic3A7Jm5ic3A7ICpOYW1l LDxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgSU4gQ09OU1QgRUZJX0dVSUQmbmJz cDsgKkd1aWQ8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7ICk7PGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0vKio8YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7IFtBVFRFTlRJT05dIFRoaXMgZnVuY3Rpb24gd2lsbCBi ZSBkZXByZWNhdGVkIGZvciBzZWN1cml0eSByZWFzb24uPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZn dDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgUmV0dXJucyBhIHBvaW50ZXIg dG8gYW4gYWxsb2NhdGVkIGJ1ZmZlciB0aGF0IGNvbnRhaW5zIHRoZSBjb250ZW50cyBvZiBhPGJy Pg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyB2YXJpYWJsZSByZXRyaWV2ZWQgdGhyb3Vn aCB0aGUgVUVGSSBSdW50aW1lIFNlcnZpY2UgR2V0VmFyaWFibGUoKS4mbmJzcDsgVGhpczxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgZnVuY3Rpb24gYWx3YXlzIHVzZXMgdGhlIEVG SV9HTE9CQUxfVkFSSUFCTEUgR1VJRCB0byByZXRyaWV2ZSB2YXJpYWJsZXMuPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBUaGUgcmV0dXJuZWQgYnVmZmVyIGlzIGFsbG9jYXRlZCB1 c2luZyBBbGxvY2F0ZVBvb2woKS4mbmJzcDsgVGhlIGNhbGxlciBpczxicj4NCiZndDsmZ3Q7Jmd0 OyZndDsmZ3Q7IC0mbmJzcDsgcmVzcG9uc2libGUgZm9yIGZyZWVpbmcgdGhpcyBidWZmZXIgd2l0 aCBGcmVlUG9vbCgpLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IElmIE5hbWUgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBA cGFyYW1baW5dJm5ic3A7IE5hbWUmbmJzcDsgVGhlIHBvaW50ZXIgdG8gYSBOdWxsLXRlcm1pbmF0 ZWQgVW5pY29kZSBzdHJpbmcuPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsm Z3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgQHJldHZhbCBOVUxMJm5ic3A7Jm5ic3A7IFRoZSB2YXJp YWJsZSBjb3VsZCBub3QgYmUgcmV0cmlldmVkLjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0m bmJzcDsgQHJldHZhbCBOVUxMJm5ic3A7Jm5ic3A7IFRoZXJlIGFyZSBub3QgZW5vdWdoIHJlc291 cmNlcyBhdmFpbGFibGUgZm9yIHRoZSB2YXJpYWJsZSBjb250ZW50cy48YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0OyAtJm5ic3A7IEByZXR2YWwgT3RoZXImbmJzcDsgQSBwb2ludGVyIHRvIGFsbG9j YXRlZCBidWZmZXIgY29udGFpbmluZyB0aGUgdmFyaWFibGUgY29udGVudHMuPGJyPg0KJmd0OyZn dDsmZ3Q7Jmd0OyZndDsgLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0qKi88YnI+DQomZ3Q7 Jmd0OyZndDsmZ3Q7Jmd0OyAtVk9JRCAqPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgLUVGSUFQ STxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC1HZXRFZmlHbG9iYWxWYXJpYWJsZSAoPGJyPg0K Jmd0OyZndDsmZ3Q7Jmd0OyZndDsgLSZuYnNwOyBJTiBDT05TVCBDSEFSMTYmbmJzcDsgKk5hbWU8 YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAtJm5ic3A7ICk7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLSNlbmRpZjxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC08YnI+DQomZ3Q7Jmd0OyZn dDsmZ3Q7Jmd0Ozxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7Jm5ic3A7Jm5ic3A7IC8qKjxicj4N CiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFJldHVybnMgdGhl IHN0YXR1cyB3aGV0aGVyIGdldCB0aGUgdmFyaWFibGUgc3VjY2Vzcy4gVGhlIGZ1bmN0aW9uIHJl dHJpZXZlczxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IGRpZmYgLS1naXQgYS9NZGVQa2cvTWRl UGtnLmRzYyBiL01kZVBrZy9NZGVQa2cuZHNjPGJyPg0KJmd0OyZndDsmZ3Q7Jmd0OyZndDsgaW5k ZXggNmNkMzhlN2VjM2M5Li4wNDc3ZTAyMDUxODggMTAwNjQ0PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0 OyZndDsgLS0tIGEvTWRlUGtnL01kZVBrZy5kc2M8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyAr KysgYi9NZGVQa2cvTWRlUGtnLmRzYzxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IEBAIC0xNzIs NCArMTcyLDMgQEAgW0NvbXBvbmVudHMuQVJNLCBDb21wb25lbnRzLkFBUkNINjRdPGJyPg0KJmd0 OyZndDsmZ3Q7Jmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgTWRlUGtnL0xpYnJhcnkv QmFzZVN0YWNrQ2hlY2tMaWIvQmFzZVN0YWNrQ2hlY2tMaWIuaW5mPGJyPg0KJmd0OyZndDsmZ3Q7 Jmd0OyZndDs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyBbQnVpbGRPcHRp b25zXTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IC0mbmJzcDsgKl8qXypfQ0NfRkxBR1MgPSAt RCBESVNBQkxFX05FV19ERVBSRUNBVEVEX0lOVEVSRkFDRVM8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7 Jmd0OyAtLTxicj4NCiZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IDIuMTguMC53aW5kb3dzLjE8YnI+DQom Z3Q7Jmd0OyZndDsmZ3Q7PGJyPg0KJmd0OyZndDsmZ3Q7Jmd0Ozxicj4NCiZndDsmZ3Q7Jmd0OyZn dDs8YnI+DQomZ3Q7Jmd0OyZndDsmZ3Q7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7IDxicj4NCiZndDsg PGJyPg0KJmd0OyA8YnI+DQomZ3Q7IDxicj4NCiZndDsgPGJyPg0KPGJyPg0KPC9kaXY+DQo8L3Nw YW4+PC9mb250PjwvZGl2Pg0KSU1QT1JUQU5UIE5PVElDRTogVGhlIGNvbnRlbnRzIG9mIHRoaXMg ZW1haWwgYW5kIGFueSBhdHRhY2htZW50cyBhcmUgY29uZmlkZW50aWFsIGFuZCBtYXkgYWxzbyBi ZSBwcml2aWxlZ2VkLiBJZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQgcmVjaXBpZW50LCBwbGVh c2Ugbm90aWZ5IHRoZSBzZW5kZXIgaW1tZWRpYXRlbHkgYW5kIGRvIG5vdCBkaXNjbG9zZSB0aGUg Y29udGVudHMgdG8gYW55IG90aGVyIHBlcnNvbiwgdXNlIGl0IGZvciBhbnkgcHVycG9zZSwNCiBv ciBzdG9yZSBvciBjb3B5IHRoZSBpbmZvcm1hdGlvbiBpbiBhbnkgbWVkaXVtLiBUaGFuayB5b3Uu DQo8L2JvZHk+DQo8L2h0bWw+DQo= --_000_DB7PR08MB3772E39C3A457CB00E3C701F884E0DB7PR08MB3772eurp_--